Results 1 - 10
of
23
Extending the Operating System at the User Level: the Ufo Global File System
, 1997
"... In this paper we show how to extend the functionality of standard operating systems completely at the user level. Our approach works by intercepting selected system calls at the user level, using tracing facilities such as the /proc file system provided by many Unix operating systems. The behavior o ..."
Abstract
-
Cited by 73 (3 self)
- Add to MetaCart
In this paper we show how to extend the functionality of standard operating systems completely at the user level. Our approach works by intercepting selected system calls at the user level, using tracing facilities such as the /proc file system provided by many Unix operating systems. The behavior of some intercepted system calls is then modified to implement new functionality. This approach does not require any re-linking or recompilation of existing applications. In fact, the extensions can even be dynamically "installed" into already running processes. The extensions work completely at the user level and install without system administrator assistance. We used this approach to implement a global file system, called Ufo, which allows users to treat remote files exactly as if they were local. Currently, Ufo supports file access through the FTP and HTTP protocols and allows new protocols to be plugged in. While several other projects have implemented global file system abstractions, th...
Ufo: A Personal Global File System Based on User-Level Extensions to the Operating System
- ACM Transactions on Computer Systems
, 1998
"... In this article we show how to extend a wide range of functionality of standard operating systems completely at the user level. Our approach works by intercepting selected system calls at the user level, using tracing facilities such as the /proc file system provided by many Unix operating systems. ..."
Abstract
-
Cited by 50 (0 self)
- Add to MetaCart
In this article we show how to extend a wide range of functionality of standard operating systems completely at the user level. Our approach works by intercepting selected system calls at the user level, using tracing facilities such as the /proc file system provided by many Unix operating systems. The behavior of some intercepted system calls is then modified to implement new functionality. This approach does not require any relinking or recompilation of existing applications. In fact, the extensions can even be dynamically "installed" into already running processes. The extensions work completely at the user level and install without system administrator assistance. Individual users can choose what extensions to run, in effect creating a personalized operating system view for themselves. We used this approach to implement a global file system, called Ufo, which allows users to treat remote files exactly as if they were local. Currently, Ufo supports file access through the FTP and HTTP protocols and allows new protocols to be plugged in. While several other projects have implemented global file system abstractions, they all require either changes to the operating system or modifications to standard libraries. The article gives a detailed performance analysis of our approach to extending the OS and establishes that Ufo introduces acceptable overhead for common applications even though intercepting individual system calls incurs a high cost.
The Prospero File System: A Global File System Based on the Virtual System Model
, 1992
"... Distributed file systems have come into widespread use in recent years. Many allow files to be accessed over large geographic areas and across organizational boundaries. However, few systems to date have given much thought to how information should be organized in such a global environment. This pap ..."
Abstract
-
Cited by 45 (6 self)
- Add to MetaCart
Distributed file systems have come into widespread use in recent years. Many allow files to be accessed over large geographic areas and across organizational boundaries. However, few systems to date have given much thought to how information should be organized in such a global environment. This paper describes the Prospero File System, a file system based on the Virtual System Model, a model for building large systems within which users construct their own virtual systems by selecting and organizing the objects and services of interest. This customized view of a globaJ file system makes it easier for users to keep track of files that they have identified as being of interest. The use of multiple name spaces can cause confusion. Such confusion is eliminated by support for closure: ever) ' object has an associated name space, and names specified by the object are resolved in that name space. Tools are provided to allow views to be kept up-to-date, and to allow views to be defined as functions of other (possibly changing) views. These tools promote sharing and enable the organization of files in ways that make it easier to identify information of interest than it is in existing systems. The prototype implementation has been used to organize information available from Internet archive sites; its directory service has been used from more than 7,500 systems in 29 countries. This paper discusses the goals of the Prospero File System, describes the prototype implementation, and discusses experience with the use of the system to date.
Supporting Software Development in Virtual Enterprises
, 1999
"... This paper presents recent developments in a distributed semantic hypertext framework called DHT that supports software development projects within virtual enterprises. We show how hypertext functionality embodied in DHT solves the practical problems of project coordination. These include collaborat ..."
Abstract
-
Cited by 44 (31 self)
- Add to MetaCart
This paper presents recent developments in a distributed semantic hypertext framework called DHT that supports software development projects within virtual enterprises. We show how hypertext functionality embodied in DHT solves the practical problems of project coordination. These include collaborative data sharing in a virtual enterprise of distributed teams, integrating existing tools and environments, and enacting software processes to coordinate development activities for teams across wide-area networks.In particular, we describe how software process enactment can be achieved within a virtual enterprise without centralized mechanisms. This is when the process description is represented as a usernavigable hypertext graph the nodes of which associate process steps, staff roles and associated tools with designated software products. Overall, these capabilities provide support for coordinating software development projects across a virtual enterprise of teams connected via the Internet.
Consh: Confined Execution Environment for Internet Computations
, 1999
"... The recent rapid growth of the Internet made a vast pool of resources available globally and enabled new kinds of applications raising the need for transparent remote access and for protected computing. Currently users need specialized software such as web browsers or FTP clients to access global re ..."
Abstract
-
Cited by 35 (0 self)
- Add to MetaCart
The recent rapid growth of the Internet made a vast pool of resources available globally and enabled new kinds of applications raising the need for transparent remote access and for protected computing. Currently users need specialized software such as web browsers or FTP clients to access global resources. It is desirable to instead provide OS support for transparent access to these resources so that they can be accessed through standard applications such as text editors or command shells. The new applications made possible by the expanding Internet require provisions for safe and protected computing. For example, global computing projects harness the power of thousands of idle machines to solve complex problems and, similarly, and highly-flexible servers allow users to upload and execute their code on the server to perform otherwise difficult tasks. In both cases, users or servers need to execute applications which they cannot trust completely. Such untrusted applications could poten...
An Architecture for A Scalable Wide Area Distributed System
- In Proc. Seventh SIGOPS European Workshop
, 1996
"... Current wide area distributed systems fail to hide implementation aspects related to the distribution of information. Unfortunately, the solutions developed for local systems do not scale, so a different approach is needed. In this paper we present an architecture for distributed systems that scales ..."
Abstract
-
Cited by 21 (11 self)
- Add to MetaCart
Current wide area distributed systems fail to hide implementation aspects related to the distribution of information. Unfortunately, the solutions developed for local systems do not scale, so a different approach is needed. In this paper we present an architecture for distributed systems that scales to support a large number of users and objects. The architecture is based on the concept of distributed shared objects, which are used for sharing and exchanging information over wide area networks. Our architecture provides location and replication transparency, and offers the flexibility needed to cope with the heterogeneity inherent in wide area systems.
A File System for Information Management
, 1994
"... Nebula is a file system that explicitly supports information management. It differs from traditional systems in three important ways. First, Nebula implements files as sets of attributes. Each attribute describes some property of the file such as owner, protection, functions defined, sections specif ..."
Abstract
-
Cited by 20 (1 self)
- Add to MetaCart
Nebula is a file system that explicitly supports information management. It differs from traditional systems in three important ways. First, Nebula implements files as sets of attributes. Each attribute describes some property of the file such as owner, protection, functions defined, sections specified, project, or file type. The content of the file is represented by a special text attribute. Second, Nebula supports associative access of files within a scoped index. A scoped index restricts associative access to a subset of the files in one or more file systems. Finally, Nebula replaces traditional directories with database views. A directory implements a naming closure; i.e. the name of a file is assigned by the directories in which it resides. A view is a query that selects file objects from a scoped index. Thus, the name of a file is a property of the file, not the view. Like directories, views can be named and included in other views. When a file (or view) is created, it is placed ...
Wayfinder: Navigating and Sharing Information in a decentralized world
- In Proceedings of Databases, Information Systems and Peer-to-Peer Computing (DBISP2P
, 2004
"... Social networks offering unprecedented content sharing are rapidly developing over the Internet. Unfortunately, it is often difficult to both locate and manage content in these networks, particularly when they are implemented on current peer-to-peer technologies. In this paper, we describe Wayfinder ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
Social networks offering unprecedented content sharing are rapidly developing over the Internet. Unfortunately, it is often difficult to both locate and manage content in these networks, particularly when they are implemented on current peer-to-peer technologies. In this paper, we describe Wayfinder, a peer-to-peer file system that targets the needs of medium-sized content sharing communities. Wayfinder seeks to advance the state-of-the-art by providing three synergistic abstractions: a global namespace that is uniformly accessible across connected and disconnected operation, content-based queries that can be persistently embedded into the global namespace, and automatic availability management. Interestingly, Wayfinder achieves much of its functionality through the use of a peer-to-peer indexed data storage system called PlanetP: essentially, Wayfinder constructs the global namespace, locates specific files, and performs content searches by posing appropriate queries to PlanetP. We describe this query-based design and present preliminary performance measurements of a prototype implementation.
Supporting Distributed Configuration Management in Virtual Enterprises
- in Software Configuration Management, edited by R. Conradi, Lecture Notes in Computer Science
, 1997
"... . This paper presents a semantic hypertext-based framework called DHT that supports distributed software configuration management, provides transparent access to heterogeneous, autonomous software repositories, and enables an implementation strategy with low cost and effort. We show how DHT solves t ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
. This paper presents a semantic hypertext-based framework called DHT that supports distributed software configuration management, provides transparent access to heterogeneous, autonomous software repositories, and enables an implementation strategy with low cost and effort. We show how DHT solves the practical problems of sharing and updating heterogenous multi-version software in a virtual enterprise of distributed teams, integrating existing CM tools and environments, executing CM processes to coordinate development activities across wide-area networks. This is when the process model is represented as a user navigable hypertext graph whose nodes associate process steps, user roles, and associated tools with designated software product versions and configurations. Furthermore, we show that this can require the support for alternative policy models for the commitment of software updates into local CM repositories. Overall, these capabilities provide support for product-centered enactm...
Fault-tolerance in the network storage stack
- In IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems, Ft. Lauderdale, FL
, 2002
"... This paper addresses the issue of fault-tolerance in applications that make use of network storage. A network storage abstraction called the Network Storage Stack is presented, along with its constituent parts. In particular, a data type called the exNode is detailed, along with tools that allow it ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
This paper addresses the issue of fault-tolerance in applications that make use of network storage. A network storage abstraction called the Network Storage Stack is presented, along with its constituent parts. In particular, a data type called the exNode is detailed, along with tools that allow it to be used to implement a wide-area, striped and replicated file. Using these tools, we evaluate the fault-tolerance of several exNode “files, ” composed of variable-size blocks stored on 14 different machines at five locations throughout the United States. The results demonstrate that while failures in using network storage occur frequently, the tools built on the Network Storage Stack tolerate them gracefully, and with good performance. 1

