Archive for April, 2008

Making Networked Systems Robust

We’ve been building high-performance protocols and networked systems for more than twenty years now. We did this very well– the Internet and other networked systems play a key role in our daily lives and there continues to be a phenomenal growth in data transferred. The problem, though, is that networked systems suffer from faults ranging from infrequent yet crippling distributed denial-of-service attacks to niggling yet frequent performance problems in edge networks~(e.g., Enterprise and University networks). Making networked systems robust to such faults is difficult, I believe, for two reasons. First, the fundamental value of some systems, such as web-sites, is tied to their being openly accessible. This means there is little control on requests and traffic and so these systems have to maintain good performance despite unpredictable or malicious inputs. Second, systems that one can control, such as campus networks where an administrator has full control, are beset with scale and complexity issues. Software, hardware and applications from many vendors, with complex inter-dependencies have to work together. When users see poor performance, we need a model of what affects the user’s action and in what ways to identify the causes of the problem. But, such models don’t exist today. In this talk, I will present two examples of robust networked systems that address each of the above two problems. For faults due to uncontrollable external factors such as a denial-of-service attack, Kill-Bots, a web-server protection mechanism reacts quickly, re-apportions server resources to maintain good performance despite ongoing attack, and eventually mitigates the attack by detecting the attackers. Kill-Bots is the first system to address a novel kind of DDoS attacks that mimic legitimate users and has lead to significant follow-on work. For faults due to complex inter-dependencies within an enterprise, Sherlock learns the underlying functional dependencies between these components, encodes the dependencies in a probabilistic inference graph and then uses the graph to quickly identify the causes of performance problems. We deployed Sherlock in a portion of the Microsoft Enterprise Network and demonstrated its practical use.

      — Srikanth Kandula

Leave a Comment

Developing, Optimizing and Hosting Data Driven Web Application

How to develop the thousands of web applications in very simple/efficient way. More and More Data driven web application are shown now. Maybe we need a more powerful language to help us to develop those applications, LINQ, Hilda is on this way.

Leave a Comment