There are tens of billions of processors in the world today, with billions more being added every year. An increasing number of those processors are able to communicate with each other via wired and wireless communications. Many of these processors are in embedded and real-time systems that need to be invisible to the people using them.

Hardware platforms, software APIs, and communications protocols are evolving at a rate that requires frequent system upgrades. When system capabilities can change by a factor of 10,000 in a decade, even basic assumptions about how systems and networks are designed must evolve.

The dramatic increase in the amount and complexity of interconnected systems dictates that they be self-organizing; it is no longer feasible to require extensive human involvement to update or fine-tune hardware and software systems.

The security and reliability of systems becomes crucial as we come to rely on computers for many of our day-to-day activities. This is especially true of self-organizing systems, where interactions among electronic agents and devices operating in different domains take place at high speed. Problems can spread widely before any human being has been notified.

Related research is also conducted at Microsoft Research's other research labs.

Projects

Farsite: We are exploring an architecture for a serverless, distributed file system that does not assume mutual trust among the client computers. The system provides security, availability, and reliability by distributing multiple encrypted replicas of each file among symbiotically cooperating client machines.

Herald: The Herald project is building a publish/subscribe event notification service deployed as a self-configuring federation of peers designed to scale to Internet size and to provide timely delivery of notifications.

Shield: By far, large scale worm attacks, such as MSBlast, Slammer, and CodeRed, all take advantage of known vulnerabilities on unpatched machines. The onsets of many such attacks occur as late as six months after the patch release. In the Shield project, we address the window of vulnerability between the vulnerability disclosure and patch application. We envision a first-line worm defense in the network, where a "shielding" process precedes the final software patching. The shielding process places vulnerability-specific, exploit-generic network filters or rate limiters, which we call "shields", at either end hosts or edge routers.

Asirra: A human interactive proof that allows users to prove they are human by identifying photos of cats and dogs, as an alternative to the commonly used challenges that display distorted text.

MapCruncher: Seamlessly integrate your own maps into Microsoft's Virtual Earth mapping platform. Register your own maps, and help buildo a distributed, composable database of geographic data on the web, all georeferenced to a common coordinate system.

Previous Projects

Aladdin: We are building and deploying a self-managing home networking system that allows you to connect to your home at any time, from any place, and on any device.

Consumer Real-Time: This project's goal is to make it possible to develop independent real-time applications independently, while enabling their predictable concurrent execution, both with each other and with non-real-time applications. This research began with Rialto system and has continued with the Rialto/NT system Windows NT instead of the Microsoft Interactive TV kernel.

IPv6: We built and deployed an implementation of IP version 6 (the next generation Internet Protocol) in cooperation with the Windows networking group.

MCoM: This project explored new ways of enabling and exploiting wireless connectivity. In particular, we investigated issues in location-transparent and location-aware wireless networking over power constrained devices. As part of this project we built systems that enabled HPCs and PDAs to form both managed and ad-hoc multimedia wireless networks while dealing with continuous and sporadic connectivity.

Millennium: The Microsoft Research Millennium Project was an effort to build self-organizing, self-tuning distributed systems providing high-level abstractions to programmers. Millennium actually consisted of a number of prototypes including Borg, a distributed Java VM; Coign, a system for producing client-server applications from non-distributed COM programs; Continuum, a distributed COM 2.0 runtime; and Millennium Falcon, a DCOM implementation for gigabit networks.

MMLite is an object architecture that stresses adaptability, minimalism, and reusability. Components that are typically designed-into an operating system, such as virtual memory management and interprocess communication, will be loadable in this system. We explore object mutation for interposition, dynamic software upgrades, runtime code generation, code specialization, and object mobility. An initial version is used in some DirectX accelerator boards.

RADAR: We are building a system to locate and track users within buildings using an off-the-shelf radio-frequency wireless LAN. RADAR enables deployment of location-aware applications and services without the cost or hassle of deploying specialized hardware infrastructure specifically for this purpose.

Rialto: Rialto's goal was to make it possible to develop independent real-time applications independently, while enabling their predictable concurrent execution, both with each other and with non-real-time applications. Towards this end, we built a small real-time operating system designed to support advanced consumer multimedia applications, and used it as a test-bed to experiment with CPU scheduling and resource negotiation abstractions.

Tiger: We built a scalable, fault-tolerant multimedia file system using commodity hardware.

Tiger and Rialto were used in Microsoft's Interactive TV trial with NTT in Yokosuka, Japan.

Former Group Members

Recruiting

We are always looking for full-time researchers. We also hire summer interns and host occasional research visits by leading researchers from academia and industry.

Each summer theSystems and Networking areahas many outstanding students from top schools join the group for research internships. Many of the research projects they have pursued have resulted in refereed research publications, including those winning best paper awards.

Please see Microsoft Research's recruiting page for more information or contact a member of the group.

Michael B. Jones and Stefan Saroiu. Predictability Requirements of a Soft Modem. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Cambridge, MA, June 2001.

Michael B. Jones and John Regehr. The Problems You're Having May Not Be the Problems You Think You're Having: Results from a Latency Study of Windows NT. In Proceedings of the Seventh Workshop on Hot Topics in Operating Systems (HotOS-VII), Rio Rico, AZ. IEEE Computer Society, March 1999.