CSE 552 Projects

552 Project summaries are Wednesday, March 19 from 10.30 to 12.30 in Sieg 225.

Presenters should come with a printed hardcopy of their project web page. At the top of the hardcopy should be the URL of the project page.

Teams should prepare a 15 to 20 minute talk on the work (roughly equivalent in length and depth to a conference talk).

VMTP on SPIN

Yasushi Saito.

Project description

I implemented the VMTP protocol on the SPIN operating system. VMTP is a transport protocol specifically designed for RPCs. Its basic design is same as Birrell&Nelson's RPC protocol; it ensures reliable communications without communication setup handshaking. VMTP improves Birrell&Nelson's protocol in several aspects. The biggest improvement is in the handling of large messages using selective acknowledgements. I will talk about the overview, the implementation, and the performance of VMTP.

Domain and Type Enforcement for Legacy File Systems

Robert Grimm

Project description

In the SPIN extensible operating system, we are currently exploring the use of domain and type enforcement (DTE) as a means to enforce a security policy on all operating system operations. DTE requires that all entities in the system are associated with a label representing that entity's privilege and access constraints, and it defines legal access modes based on these labels. Legacy file systems such as AFS or NFS do not provide support for DTE labels and do not enforce the access constraints expressed by DTE. At the same time, these file systems, due to their distributed nature, provide a convenient and widely used basis for storing and sharing persistent data. The challenge then is to integrate legacy file system clients with domain and type enforcement to allow for secure access to file data within SPIN. In this talk, I present a design that allows the imposition of domain and type enforcement on legacy file system clients. The two main goals of this design are to avoid changes to the legacy file systems (since they are used by other operating systems as well and changing an entire installation is impractical) and to minimize the performance penalty of DTE on file system operations. Since DTE is only imposed when using the legacy file systems within SPIN, insecure access to file data through other operating systems is still possible. This design thus limits the security guarantees that can be made, but is still useful, for example, for firewalls or secure web servers.

Mobile Java Objects

Sujay Parekh and Matthai Philipose

Project Description

Project writeup

Mo'Java: Mobile Objects In Java

We are adding mobility to objects in Java. The benefits of data and process mobility has been discussed in the literature. Due to Java's simplicity and popularity in building Internet apps, it is a good choice for building internet- and intranet-based distributed systems. However, the latest release (1.1) of Java only provides for remote method invocation (based on the Network Objects work). We discuss our approach to extending this RMI framework to allow object to be mobile. We talk about our design decisions and discuss potential web-related applications of this technology. Preliminary timing results of our implementation will also be presented.

Pitfalls in Simple Multi-Threaded Programming

Sung-Eun Choi, E Christopher Lewis

Project description: none available.

Developing correct multi-threaded codes is difficult, because threads may interact in unpredictable ways. The goal of this work is to discover common multi-threaded programming pitfalls, the knowledge of which will be useful in instructing new programmers and in developing tools to aid in multi-threaded programming. We study multi-threaded applications written by students from introductory operating systems courses. Though the applications are simple, careful inspection and Eraser (a dynamic race detector) reveal a surprising quantity of bugs. We categorize these bugs, summarize Eraser's benefits and shortcomings, and propose extensions to Eraser to provide additional multi-threaded debugging support.

On-line fault detection in TCP/IP based networks.

Govind Krishnamurthy

Project description

Project writeup

Fault management and diagnosis poses an important challenge in todays networks. With the increasing complexity of network devices and the ever growing size of networks it us necessary to have ways to locate detect and correct faults fast to achieve high performance. The Internet Protocol suite which forms the backbone of a majority of networking facilities uses the Simple Network Management Protocol(SNMP) for network management. SNMP is a request/response type protocol. The network manager polls the nodes in the network for the values of pre-specified key variables. The values thus returned by the nodes are used to determine the state of the nodes. But the data to be managed here is very large and it is difficult to do on-line analysis especially when the number of nodes becomes large. We present a new Health Check Protocol which enables the network manager to detect these faults. The protocol works within the framework of SNMP, but incorporates additional features to provide an on-line diagnosis of the networks.

Fine Grain Sharing on a Universal Cache System

Tian Lim and David Dion

project writeup

Cache segments are a new approach to file caching that give client applications low-latency access to and tight control over cached data. In an attempt to evaluate their viability as a universal cache system, we have implemented extensions to the basic cache segment interface that support distributed shared memory, while still giving the application very fine grain control over the shared data. In this presentation we will describe cache segments, our design for extending them to support distributed shared data, and the new programming model exported by the resulting system. We evaluate the new model's flexibility and usability by implementing some consistency protocols with the system and present our experiences in doing so. We conclude with proposals for further programming extensions as well as other potential applications of our system.