|
Lead
Diagnosing home networking issues
NetPrints automatically troubleshoots home networking problems
caused by misconfiguration, writes Nivedan Prakash
Networks and networked applications depend on several pieces of configuration
information to operate correctly. Such information resides in routers, firewalls,
as well as on PCs and laptops. Incorrect information, or rather, misconfiguration,
could interfere with the running of networked applications. This problem is
particularly acute in consumer set-ups such as home networks, where there is
a huge diversity of network elements and applications coupled with an absence
of network administrators.
Home networks normally have a variety of devices, including laptops, desktops,
gaming consoles or Wi-Fi media players all of which may be connected through
either wired or wireless means. These might, in turn, connect to the Internet
through a broadband modem. This creates a rich, diverse and often difficult
to manage, home network. At the top of it, issues with connections and configurations
are common. It is understood that correct configuration parameters are vital
for a home network that functions smoothly.
Unfortunately, this is easier said than done as the task of configuring such
networks is far from easy and most home PC users are not technology-savvy to
boot. When faced with a configuration issue, they usually reach out to friends,
look up online resources or call up technical support professionals. These manual
techniques are time consuming and frustrating.
To address these issues, Microsoft Research Indias
Mobility, Networks, and Systems Group has an ongoing research project, called
NetPrints. NetPrints is a system that leverages the shared knowledge in a population
of users to diagnose and resolve misconfiguration in home networks. Basically,
if a user has a working network configuration for an application or has determined
how to rectify a problem, this knowledge is automatically made available to
other users facing the same problem. NetPrints accomplishes this task by applying
decision tree-based learning on both correct and incorrect configurations and
by using network traffic-based problem signatures to index the configuration
changes made by users to fix problems.
|
"We
have augmented our prototype to support remote diagnosis of problems.
This helps solve problems with your home network that prevent you from
connecting, say, from a coffee shop or your workplace to your home"
- Ranjita Bhagwan
Researcher at Microsoft Research India
|
On the rationale behind coming up with this kind of technology,
Ranjita Bhagwan, Researcher at Microsoft Research India, pointed out, Users
relying on advanced platforms such as Windows Vista have access to a variety
of diagnostic tools. These are adequate for resolving basic connectivity issues
resulting from a switched off modem or an unplugged cable. On the other hand,
complex problems such as an instant messaging client failing to log on to the
network at a time when the e-mail client is working demand closer attention.
These are subtle problems and are difficult to solve. NetPrints attempts to
solve these types of problems.
This technology aims to automate the search for correct configuration
parameters, which is done by using shared knowledge to resolve misconfiguration
issues in home networks. This technique, at first sight, will appear similar
to users accessing online discussion forums in their search for a solution to
their problem. The distinction is that the accumulation, indexing, and retrieval
of shared knowledge in NetPrints is automated and requires little human involvement.
Architecture and innards
NetPrints uses a client-server model. The configuration information
is gathered from the client host and from network devices (for e.g. modems).
This information is gathered by the client component of the NetPrints system
which also captures a trace of the network traffic associated with an application
run and extracts a set of features that characterize this network communication.
The local configuration information along with the network traffic features
are uploaded to the server.
Bhagwan added, In case of a failed application run, the user can click
a diagnose button to invoke NetPrints diagnostics. This is the only human intervention
required in this system and it signals the server that the configuration information
and the network traffic features just uploaded correspond to an unsuccessful
application run. In NetPrints, this combination of configuration information,
network traffic features, and the indication of whether an application run was
successful or not is termed as an anecdote.
On the server side, such anecdotes are gathered from clients and are used
to create a decision tree for every application that is run. This decision tree
is constructed using a machine learning algorithm. It represents the knowledge
of good and bad configurations, commented Bhagwan.
Additionally, the server also maintains a suggestion table where a potential
set of configuration fixes that other clients have previously reported as their
solution to a similar problem are stored. These fixes are indexed by their network
signature in the suggestion table. The suggestion table also provides hints
to solve knotty problems.
Meanwhile, when a user invokes help, the server is presented with a client request.
The server then consults the decision tree and identifies configuration changes
that might help resolve the issue. This is done using a method called configuration
mutation, an algorithm that intelligently suggests the minimal number of configuration
changes that will solve the reported problem. If the decision tree traversal
does not yield a suitable solution, the server consults the suggestion table
for any isolated configuration changes that might solve this particular problem.
In the eventuality that both the decision tree traversal
and the suggestion table lookup fail in generating a configuration fix, NetPrints
infers that the problem is not related to the clients home network configuration,
asserted Bhagwan.
Leveraging shared knowledge
As discussed above, NetPrints is an automated technique to
resolve configuration issues by leveraging configuration fixes that have solved
similar problems. When the server component receives anecdotes from a population
of clients, it creates a decision table using a machine learning algorithm.
This decision table represents knowledge of prior good and bad configurations.
This table is traversed using a decision tree algorithm.
The server also maintains a suggestion table where a potential set of configuration
fixes that other clients have previously reported as their solution to a similar
problem are stored. These fixes are indexed by their network signature in the
suggestion table. The decision tree traversal and the lookup of the suggestion
table represent two ways in which NetPrints leverages shared knowledge to diagnose
and resolve misconfiguration issues.
Additionally, NetPrints is seen as complementary to prior work on network diagnosis
in two ways. Firstly, it focuses on configuration problems that impact specific
applications rather than on broad problems that impact the network infrastructure.
Secondly, it uses a blackbox approach appropriate for arbitrary and poorly understood
configuration information, avoiding the need for the network behavior or dependencies
to be modeled explicitly.
NetPrints draws inspiration from prior work on blackbox techniques to diagnose
systems problems and index them with signatures to enable recall. However, NetPrints
goal of identifying how to mutate a broken configuration to fix a problem leads
us to use a different approach, decision tree based learning, compared to prior
work. This is primarily because of the interpretable nature of a decision tree.
Furthermore, NetPrints leverages domain-specific knowledge to construct signatures
of networking problems. The diagnosis procedure in NetPrints is both state-based
and signature-based.
Significant aspects
NetPrints technology promises to change the way in which home networking issues
are solved. There is an ever-growing population of home-networking users. Moreover,
in-home networking using media-based devices are making the home network more
complex and difficult to troubleshoot.
Highlighting the latest changes in this technology, Bhagwan commented, We
have augmented our prototype to support remote diagnosis of problems. This is
important in todays environment given that the modern computer user is
extremely mobile. This helps solve problems with your home network that prevent
you from connecting from, say, a coffee shop or your workplace to your home.
In the next few years, as the number of laptops, mobile phones and other devices
accessing home networks grows, the user base will increasingly consist of folks
who are not tech savvy in the least. They will lack the technical know-how to
resolve complex configuration issues and given the frustration and time delays
associated with manual fixes in various forms, it can be safely said that NetPrints
represents research on challenging issues that can go a long way in helping
such users configure their home networks.
nivedan.prakash@expressindia.com
|