Bhavish Aggarwal, Ranjita Bhagwan, Venkata N. Padmanabhan, and Geoffrey Voelker
Networks and networked applications depend on several pieces of configuration information to operate correctly. Such information resides in routers, firewalls, and end hosts, among other places. Incorrect information, or misconfiguration, could interfere with the running of networked applications. This problem is particularly acute in consumer settings such as home networks, where there is a huge diversity of network elements and applications coupled with the absence of network administrators. To address this problem, we present NetPrints, a system that leverages shared knowledge in a population of users to diagnose and resolve misconfigurations. Basically, if one user has figured out the fix for a problem, we would like this knowledge made available to another user experiencing the same problem. NetPrints records and aggregates configuration information from a large population of clients, annotates it with compact network problem signatures, looks up the appropriate information when a new client experiences a similar problem, and suggests configuration changes to resolve the problem. NetPrints performs all of these steps automatically, with little human involvement. We evaluate NetPrints in the context of several home networking problems actually reported by users, and find that it is effective in sifting through large volumes of shared configuration data to identify the relevant fix.