Exploring advanced and speculative systems and networks and systems-related problems.
The Systems and Networking research area in Redmond explores problems related to advanced and speculative systems and networks. We build real systems and networks to test and evaluate our ideas.
The Systems and Networking area includes several constituent groups; please see these web pages for further information:
- Computer Architecture
- Distributed Systems
- Networked Embedded Computing
- Operating Systems
To get a flavor of the kinds of problems we work on, consider:
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.
- 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.
- Strider: Persistent state analysis for configuration auditing and troubleshooting, update impact analysis, spyware management, rootkit detection, and exploit detection.
- 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.
- 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
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.
- Venkata N. Padmanabhan, Helen J. Wang, and Philip A. Chou. Resilient Peer-to-Peer Streaming. In Proceedings of Eleventh IEEE International Conference on Network Protocols (ICNP). Atlanta, GA, November 2003.
- Yi-Min Wang, Chad Verbowski, John Dunagan, Yu Chen, Yuan Chun, Helen J. Wang, and Zheng Zhang, STRIDER: A Black-box, State-based Approach to Change and Configuration Management and Support, in Proceedings of 2003 USENIX Large Installation Systems Administration (LISA) Conference, pp. 159-172, San Diego, CA, October 2003. Received Best Paper Award.
- Kamal Jain, Jitendra Padhye, Venkata N. Padmanabhan, and Lili Qiu. Impact of Interference on Multi-hop Wireless Network Performance. In Proceedings of Ninth Annual International Conference on Mobile Computing and Networking (MobiCom 2003), San Diego, CA, September 2003.
- Lili Qiu, Yang Richard Yang, Yin Zhang, and Scott Shenker. On Selfish Routing in Internet-Like Environments. In Proceedings of ACM SIGCOMM 2003, Karlsruhe, Germany, August 2003.
- Atul Adya, Victor Bahl, Jitu Padhye, Alec Wolman, and Lidong Zhou. A Multi-Radio Unification Protocol for IEEE 802.11 Wireless Networks, Microsoft Technical Report MSR-TR-2003-41, June 2003.
- Miguel Castro, Michael B. Jones, Anne-Marie Kermarrec, Antony Rowstron, Marvin Theimer, Helen Wang, and Alec Wolman. An Evaluation of Scalable Application-Level Multicast Built Using Peer-To-Peer Overlays. In Proceedings of IEEE Infocom 2003, San Francisco, CA, April 2003.
- Venkata N. Padmanabhan, Lili Qiu, and Helen Wang. Server-based Inference of Internet Performance. In Proceedings of IEEE Infocom 2003, San Francisco, CA, April 2003.
- Nicholas J. A. Harvey, Michael B. Jones, Stefan Saroiu, Marvin Theimer, and Alec Wolman. SkipNet: A Scalable Overlay Network with Practical Locality Properties. In Proceedings of Fourth USENIX Symposium on Internet Technologies and Systems (USITS '03), March 2003. Received Best Paper Award.
- Atul Adya, William J. Bolosky, Miguel Castro, Gerald Cermak, Ronnie Chaiken, John R. Douceur, Jon Howell, Jacob R. Lorch, Marvin Theimer, and Roger P. Wattenhofer. FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment. In Proceedings of Fifth Symposium on Operating Systems Design and Implementation, Boston, MA, December 2002.
- Venkata N. Padmanabhan and Kunwadee Sripanidkulchai. The Case for Cooperative Networking. In Proceedings of First International Workshop on Peer-to-Peer Systems, Cambridge, MA, March 2002.
- John R. Douceur. The Sybil Attack. In Proceedings of First International Workshop on Peer-to-Peer Systems, Cambridge, MA, March 2002.
- Luis Felipe Cabrera, Michael B. Jones, and Marvin Theimer. Herald: Achieving a Global Event Notification Service. In Proceedings of the Eighth Workshop on Hot Topics in Operating Systems (HotOS-VIII), Elmau, Germany. IEEE Computer Society, May 2001.
- 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.
- William J. Bolosky, John R. Douceur, David Ely, and Marvin Theimer. Feasibility of a Serverless Distributed File System Deployed on an Existing Set of Desktop PCs. In Proceedings of ACM SIGMETRICS 2000, Santa Clara, CA, June 2000.
- Paramvir Bahl and Venkata N. Padmanabhan. User Location and Tracking in an In-Building Radio Network. In Proceedings of IEEE Infocom 2000, Tel-Aviv, Israel, March 2000.
- John R. Douceur and William J. Bolosky. Progress-based regulation of low-importance processes. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP'99), Kiawah Island, SC, pp. 247-260. December 1999.
- Galen Hunt and Doug Brubacher. Detours: Binary Interception of Win32 Functions. In Proceedings of the 3rd USENIX Windows NT Symposium. Seattle, WA, July 1999.
- 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.
- Richard P. Draves, Christopher King, Srinivasan Venkatachary, and Brian D. Zill. Constructing Optimal IP Routing Tables. In Proceedings of the Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE INFOCOM '99). New York, New York, March 1999.
- Galen Hunt and Michael Scott. The Coign Automatic Distributed Partitioning System. In Proceedings of the Third USENIX Symposium on Operating System Design and Implementation (OSDI '99), New Orleans, LA, pp. 187-200, February 1999.
- Venkata N. Padmanabhan and Randy H. Katz. TCP Fast Start: A Technique for Speeding Up Web Transfers. In Proceedings of the IEEE Globecom '98 Internet Mini-Conference, Sydney, Australia, November 1998.
- Jichiang Tsai, Sy-Yen Kuo, and Yi-Min Wang. Theoretical Analysis for Communication-Induced Checkpointing Protocols with Rollback-Dependency Trackability. In IEEE Transactions on Parallel and Distributed Systems, Vol. 9, No. 10, pp. 963-971, October 1998.
- Johannes Helander and Alessandro Forin. MMLite: A Highly Componentized System Architecture. In Proceedings of the 8th ACM SIGOPS European Workshop, September 1998, Sintra, Portugal.
- Richard P. Draves, Allison Mankin, Brian D. Zill. Implementing IPv6 for Windows NT. In Proceedings of the Second USENIX Windows NT Symposium, Seattle, WA, August 1998.
- Tong Liu, Paramvir Bahl, and Imrich Chlamtac. Mobility Modeling, Location Tracking and Trajectory Prediction in Wireless Networks. In the IEEE Journal on Special Areas in Communications, Vol. 16, No. 6 (August 1998), pp. 922-936.
- William J. Bolosky, Robert P. Fitzgerald, and John R. Douceur. Distributed Schedule Management in the Tiger Video Fileserver. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. St. Malo, France, October, 1997.
- Michael B. Jones, Daniela Rosu, Marcel-Catalin Rosu. CPU Reservations and Time Constraints: Efficient, Predictable Scheduling of Independent Activities. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. Saint-Malo, France, pages 198-211, October, 1997.
- William J. Bolosky, Joseph S. Barrera, III, Richard P. Draves, Robert P. Fitzgerald, Garth A. Gibson, Michael B. Jones, Steven P. Levi, Nathan P. Myhrvold, Richard F. Rashid. The Tiger Video Fileserver. In Proceedings of the Sixth International Workshop on Network and Operating System Support for Digital Audio and Video. IEEE Computer Society, Zushi, Japan, April, 1996.