Toward Secure Services from Untrusted Developers (2007)
Brodsky, Micah, Efstathopoulos, Petros, Kaashoek, Frans, Kohler, Eddie, Krohn, Maxwell, Mazieres, David, ...
We present a secure service prototype built from untrusted,contributed code.The service manages private data for a variety of different users, anduser programs frequently require access to other...
Toward Secure Services from Untrusted Developers (2007)
Brodsky, Micah, Efstathopoulos, Petros, Kaashoek, Frans, Kohler, Eddie, Krohn, Maxwell, Mazieres, David, ...
We present a secure service prototype built from untrusted,contributed code.The service manages private data for a variety of different users, anduser programs frequently require access to other...
User-Relative Names for Globally Connected Personal Devices (2006)
Ford, Bryan, Strauss, Jacob, Lesniewski-Laas, Chris, Rhea, Sean, Kaashoek, Frans, Morris, Robert
Nontechnical users who own increasingly ubiquitous network-enabled personal devices such as laptops, digital cameras, and smart phones need a simple, intuitive, and secure way to share information...
Vivaldi: A Decentralized Network Coordinate System (2004)
Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris
Large-scale Internet applications can benefit from an ability to predict round-trip times to other hosts without having to contact them first. Explicit measurements are often unattractive because the...
Vivaldi: A Decentralized Network Coordinate System (2004)
Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris
Large-scale Internet applications can benefit from an ability to predict round-trip times to other hosts without having to contact them first. Explicit measurements are often unattractive because the...
Vivaldi: A Decentralized Network Coordinate System (2004)
Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris
Large-scale Internet applications can benefit from an ability to predict round-trip times to other hosts without having to contact them first. Explicit measurements are often unattractive because the...
Event-driven Programming for Robust Software (2003)
Frank Dabek, Nickolai Zeldovich, Frans Kaashoek, David Mazieres, Robert Morris
Events are a better means of managing I/O concurrency in server software than threads: events help avoid bugs caused by the unnecessary CPU concurrency introduced by threads. Event-based programs...
Practical, Distributed Network Coordinates (2003)
Russ Cox, Frank Dabek, Frans Kaashoek, Jinyang Li, Robert Morris
Vivaldi is a distributed algorithm that assigns synthetic coordinates to Internet hosts, so that the Euclidean distance between two hosts' coordinates predicts the network latency between them. Each...
Practical, Distributed Network Coordinates (2003)
Russ Cox, Frank Dabek, Frans Kaashoek, Jinyang Li, Robert Morris
Vivaldi is a distributed algorithm that assigns synthetic coordinates to Internet hosts, so that the Euclidean distance between two hosts' coordinates predicts the network latency between them. Each...
Multiprocessor Support for Event-Driven Programs (2003)
Nickolai Zeldovich, Er Yip, Frank Dabek, Robert T. Morris, David Mazieres, Frans Kaashoek
This paper presents a new asynchronous programming library (libasync-smp) that allows event-driven applications to take advantage of multiprocessors by running code for event handlers in parallel. To...
A Measurement Study of Available Bandwidth Estimation Tools (2003)
Jacob Strauss, Dina Katabi, Frans Kaashoek
Available bandwidth estimation is useful for route selection in overlay networks, QoS verification, and tra#c engineering. Recent years have seen a surge in interest in available bandwidth...
Many applications wish to predict what bandwidth TCP can achieve on a path between Internet hosts without performing extensive measurements. More precisely, they would like to know the bulk transfer...
Robust and Efficient Data Management for a Distributed Hash Table (2003)
This thesis presents a new design and implementation of the DHash distributed hash table based on erasure encoding. This design is both more robust and more efficient than the previous...
Multiprocessor Support for Event-Driven Programs (2003)
Nickolai Zeldovich, Er Yip, Frank Dabek, Robert T. Morris, David Mazieres, Frans Kaashoek
This paper presents a new asynchronous programming library (libasync-smp) that allows event-driven applications to take advantage of multiprocessors by running code for event handlers in parallel. To...
Role Classification of Hosts within Enterprise Networks Based on Connection Patterns (2003)
Godfrey Tan, Massimiliano Poletto, John Guttag, Frans Kaashoek
Role classification involves grouping hosts into related roles. It exposes the logical structure of a network, simplifies network management tasks such as policy checking and network segmentation,...
Resilient Overlay Networks (2003)
David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris
A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds,...
Resilient Overlay Networks (2002)
David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris
A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds,...
Network Layer Support for Overlay Networks (2002)
Overlay networks are virtual networks formed by cooperating nodes that share an underlying physical network. They represent a flexible and deployable approach for applications to obtain new network...
FUGU: Implementing Translation and Protection (2002)
Kenneth Mackenzie, John Kubiatowicz, Anant Agarwal, Frans Kaashoek
Multimodel multiprocessors provide both shared memory and message passing primitives to the user for efficient communication. In a multiuser machine, translation permits machine resources to be...
Barbara H. Liskov, Frans Kaashoek
Object-oriented databases store many small objects on disks. Disks perform poorly when reading and writing individual small objects. This thesis presents a new storage management architecture that...
Network Layer Support for Overlay Networks (2002)
Overlay networks represent a flexible and deployable approach for applications to obtain new network semantics, but they su#er from some e#ciency concerns. To support overlay networks e#ciently, two...
Event-driven Programming for Robust Software (2002)
Frank Dabek, Nickolai Zeldovich, Frans Kaashoek, David Mazi Eres, Robert Morris
Events are a better means of managing I/O concurrency in server software than threads: events help avoid bugs caused by the unnecessary CPU concurrency introduced by threads. Event-based programs...
Resilient Overlay Networks (2001)
David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris
A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds,...
Resilient Overlay Networks (2001)
David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris
A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds,...
Flexible and Efficient Sharing of Protected Abstractions (2001)
Traditional operating systems are overly restrictive and do not allow user-level applications to modify operating system abstractions. The exokernel operating system architecture safely gives...
Self-certifying File System (2000)
No secure network file system has ever grown to span the Internet. Existing systems all lack adequate key management for security at a global scale. Given the diversity of the Internet, any...
Asynchronous Generic Key/Value Database (2000)
B-Trees are ideal structures for building databases with fixed-size keys, and have been successfully extended in a variety of ways to accomodate specific key distributions; however, in the general...
MULTOPS: a data structure for denial-of-service attack detection (2000)
Frans Kaashoek, S. Tanenbaum, Thomer M. Gil
A denial-of-service (DoS) attack is an attempt by a single person or a group of people to disrupt an online service. In a bandwidth attack, attackers clog links or routers by generating a traffic...
CarNet: A Scalable Ad Hoc Wireless Network System (2000)
Robert Morris, John Jannotti, Frans Kaashoek, Jinyang Li, Douglas Decouto
CarNet is an application for a large ad hoc mobile network system that scales well without requiring a xed network infrastructure to route messages. CarNet places radio nodes in cars, which...
Applying Exokernel Principles to Conventional Operating Systems (2000)
The exokernel approach to operating system design has demonstrated the potential for excellent performance gains through enhanced application flexibility in three experimental systems. However, each...
Self-certifying File System (2000)
No secure network file system has ever grown to span the Internet. Existing systems all lack adequate key management for security at a global scale. Given the diversity of the Internet, any...
An x86 Protected Mode Virtual Machine Monitor for the MIT Exokernel (1999)
This thesis presents the design and implementation of an x86 virtual machine monitor that allows multiple operating systems to run concurrently under xok, MIT's x86-based exokernel. The monitor and...
Storage Alternatives for Mobile Computers (1998)
Fred Douglis, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Asbestos: Securing Untrusted Software with Interposition (1998)
Mazieres, David, Kohler, Eddie, Kaashoek, Frans, Morris, Robert
The main goal of the Asbestos effort was to build an operating system that allows users to control applications using encapsulation, without having to understand the application security properties....
Flexible and Efficient Sharing of Protected Abstractions (1998)
Frans Kaashoek, George M. Candea
Traditional operating systems are overly restrictive and do not allow user-level applications to modify operating system abstractions. The exokernel operating system architecture safely gives...
Panda: A Portable Platform to Support Parallel Programming Languages (1998)
Raoul Bhoedjang, Tim Ruhl, Rutger Hofman, Koen Langendoen, Henri Bal, Frans Kaashoek
Current parallel programming languages require advanced run-time support to implement communication and data consistency. As such runtime systems are usually layered on top of a specific operating...
Applying Exokernel Principles to Conventional Operating Systems (1998)
The exokernel approach to operating system design has demonstrated the potential for excellent performance gains through enhanced application flexibility in three experimental systems. However, each...
Storage Alternatives for Mobile Computers (1998)
Fred Douglis, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Path Splitting: A Technique for Improving Data Flow Analysis (1997)
Massimiliano Antonio Poletto, Frans Kaashoek
Path splitting is a new technique for improving the amount of data flow information statically available to the compiler about a fragment of code. Path splitting replicates code in order to provide...
Storage Alternatives for Mobile Computers (1996)
Fred Douglis, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Storage Alternatives for Mobile Computers (1996)
Fred Douglis, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Panda: A Portable Platform to Support Parallel Programming Languages (1995)
Raoul Bhoedjang, Tim Ruhl, Rutger Hofman, Koen Langendoen, Henri Bal, Frans Kaashoek
Current parallel programming languages require advanced run-time support to implement communication and data consistency. As such run-time systems are usually layered on top of a specific operating...
Disconnected Operation in the Thor Object-Oriented Database System (1995)
Robert Gruber, Frans Kaashoek, Barbara Liskov, Liuba Shrira
This paper discusses issues raised by providing disconnected operation in the Thor object-oriented database system. Disconnected operation in such a system poses new challenges because of the small...
Storage Alternatives for Mobile Computers (1994)
Fred Douglis, Ramon Caceres, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Disconnected Operation in the Thor Object-Oriented Database System (1994)
Robert Gruber, Frans Kaashoek, Barbara Liskov, Liuba Shrira
This paper discusses issues raised by providing disconnected operation in the Thor object-oriented database system. Disconnected operation in such a system poses new challenges because of the small...
FUGU: Implementing Translation and Protection in a Multiuser, Multimodel Multiprocessor (1994)
Kenneth Mackenzie, John Kubiatowicz, Anant Agarwal, Frans Kaashoek
Multimodel multiprocessors provide both shared memory and message passing primitives to the user for efficient communication. In a multiuser machine, translation permits machine resources to be...
Storage Alternatives for Mobile Computers (1994)
Fred Douglis, Ramon Caceres, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Storage Alternatives for Mobile Computers (1994)
Fred Douglis, Frans Kaashoek, Kai Li, Brian Marsh, Joshua A. Tauber
Mobile computers such as notebooks, subnotebooks, and palmtops require low weight, low power consumption, and good interactive performance. These requirements impose many challenges on architectures...
Panda: A Portable Platform to Support Parallel Programming Languages (1994)
Raoul Bhoedjang, Tim Ruhl, Rutger Hofman, Koen Langendoen, Henri Bal, Frans Kaashoek
Current parallel programming languages require advanced run-time support to implement communication and data consistency. As such runtime systems are usually layered on top of a specific operating...
Panda: A Portable Platform to Support Parallel Programming Languages (1994)
Raoul Bhoedjang, Tim Ruhl, Rutger Hofman, Koen Langendoen, Henri Bal, Frans Kaashoek
Current parallel programming languages require advanced run-time support to implement communication and data consistency. As such runtime systems are usually layered on top of a specific operating...
Amoeba on a Multiprocessor (1990)
Van Moergestel, Henri E. Bal, Frans Kaashoek, Robbert Van Renesse, Gregory J. Sharp, Hans Van Staveren, ...
Amoeba was originally designed for a loosely-coupled network of machines. In this paper we describe some preliminary results about bus contention in a multiprocessor implemententation of Amoeba....
Amoeba on a Multiprocessor (1990)
Henri E. Bal, Frans Kaashoek, Robbert Van Renesse, Gregory J. Sharp, Hans Van Staveren, ...
Amoeba was originally designed for a loosely-coupled network of machines. In this paper we describe some preliminary results about bus contention in a multiprocessor implemententation of Amoeba....