Results 1 - 10
of
46
WebOS: Operating System Services for Wide Area Applications
"... In this paper, we demonstrate the power of providing a common set of Operating System services to wide-area applications, including mechanisms for naming, persistent storage, remote process execution, resource management, authentication, and security. On a single machine, application developers can ..."
Abstract
-
Cited by 106 (16 self)
- Add to MetaCart
In this paper, we demonstrate the power of providing a common set of Operating System services to wide-area applications, including mechanisms for naming, persistent storage, remote process execution, resource management, authentication, and security. On a single machine, application developers can rely on the local operating system to provide these abstractions. In the wide area, however, application developers are forced to build these abstractions themselves or to do without. This ad-hoc approach often results in individual programmers implementing non-optimal solutions, wasting both programmer effort and system resources. To address these problems, we are building a system, WebOS, that provides basic operating systems services needed to build applications that are geographically distributed, highly available, incrementally scalable, and dynamically reconfigurable. Experience with a number of applications developed under WebOS indicates that it simplifies system development and improves resource utilization. In particular, we use WebOS to implement Rent-A-Server to provide dynamic replication of overloaded Web services across the wide area in response to client demands.
Algorithmic Design of the Globe Wide-Area Location Service
- The Computer Journal
, 1998
"... this paper, we use the term mobile object to collectively refer to any component - implemented in hardware, software, or a combination thereof- that is capable of changing locations. We assume that a mobile object can be distributed or replicated across multiple locations, meaning that there may be ..."
Abstract
-
Cited by 34 (17 self)
- Add to MetaCart
this paper, we use the term mobile object to collectively refer to any component - implemented in hardware, software, or a combination thereof- that is capable of changing locations. We assume that a mobile object can be distributed or replicated across multiple locations, meaning that there may be several locations where the object resides at the same time. This can be the case, for example, with a whiteboard application shared between a number of mobile users. The existence of (worldwide) mobile objects introduces a location problem: The need for a scalable facility that maintains a binding (i.e., a mapping) between an object's permanent name and its current address(es). Such facilities are normally offered by wide-area naming systems such as the Internet's Domain Name System (DNS) [9], DEC's Global Name Service (GNS) [10], and the X.500 Directory Ser- vice [11]
A Scalable Middleware Solution for Advanced Wide-Area Web Services
- DISTRIBUTED SYSTEMS ENGINEERING
, 1999
"... To alleviate scalability problems in the Web, many researchers concentrate on how to incorporate advanced caching and replication techniques. Many solutions incorporate object-based techniques. In particular, Web resources are considered as distributed objects offering a well-defined interface. We ..."
Abstract
-
Cited by 28 (9 self)
- Add to MetaCart
To alleviate scalability problems in the Web, many researchers concentrate on how to incorporate advanced caching and replication techniques. Many solutions incorporate object-based techniques. In particular, Web resources are considered as distributed objects offering a well-defined interface. We argue that most proposals ignore two important aspects. First, there is little discussion on what kind of coherence should be provided. Proposing specific caching or replication solutions makes sense only if we know what coherence model they should implement. Second, most proposals treat all Web resources alike. Such a one-size-fits-all approach will never work in a wide-area system. We propose a solution in which Web resources are encapsulated in physically distributed shared objects. Each object should encapsulate not only state and operations, but also the policy by which its state is distributed, cached, replicated, migrated, etc.
2K: A Reflective, Component-Based Operating System for Rapidly Changing Environments (Extended Abstract)
"... Modern computing environments face both low-frequency infrastructural changes, such as software and hardware upgrades, and frequent changes, such as fluctuations in the network bandwidth and CPU load. However, existing operating systems are not designed to cope with rapidly changing environments. Th ..."
Abstract
-
Cited by 27 (4 self)
- Add to MetaCart
Modern computing environments face both low-frequency infrastructural changes, such as software and hardware upgrades, and frequent changes, such as fluctuations in the network bandwidth and CPU load. However, existing operating systems are not designed to cope with rapidly changing environments. They provide no mechanism to permit the insertion of self-adapting components that can optimize system performance according to diversity, software and hardware changes, and variations in the environment. They are not designed to accommodate dynamic updates of software, or to deal with component inter-dependence. This pa...
Khazana: An Infrastructure for Building Distributed Services
- IN INTL. CONF. ON DISTRIBUTED COMPUTING SYSTEMS
, 1998
"... Essentially all distributed systems, applications, and services at some level boil down to the problem of managing distributed shared state. Unfortunately, while the problem of managing distributed shared state is shared by many applications, there is no common means of managing the data -- every ap ..."
Abstract
-
Cited by 27 (2 self)
- Add to MetaCart
Essentially all distributed systems, applications, and services at some level boil down to the problem of managing distributed shared state. Unfortunately, while the problem of managing distributed shared state is shared by many applications, there is no common means of managing the data -- every application devises its own solution. We have developed Khazana, a distributed service exporting the abstraction of a distributed persistent globally shared store that applications can use to store their shared state. Khazana is responsible for performing many of the common operations needed by distributed applications, including replication, consistency management, fault recovery, access control, and location management. Using Khazana as a form of middleware, distributed applications can be quickly developed from corresponding uniprocessor applications through the insertion of Khazana data access and synchronization operations.
Architectural Support for Extensibility and Autonomy in Wide-Area Distributed Object Systems
- Department of Computer Science, University of Virginia
, 1998
"... The Legion system defines a software architecture designed to support metacomputing, the use of large collections of heterogeneous computing resources distributed across local- and wide-area networks as a single, seamless virtual machine. Metasystems software must be extensible because no single sys ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
The Legion system defines a software architecture designed to support metacomputing, the use of large collections of heterogeneous computing resources distributed across local- and wide-area networks as a single, seamless virtual machine. Metasystems software must be extensible because no single system can meet all of the diverse, often conflicting, requirements of the entire present and future user community, nor can a system constructed today take best advantage of unanticipated future hardware advances. Metasystems software must also support complete site autonomy, as resource owners will not turn control of their resources (hosts, databases, devices, etc.) over to a dictatorial system. Legion is a metasystem designed to meet the challenges of managing and exploiting wide-area systems. The Legion virtual machine provides secure shared object and shared name spaces, application adjustable fault-tolerance, improved response time, and greater throughput. Legion tackles problems not sol...
On the Design of a Demand-Based Network-Computing System: The Purdue University Network-Computing Hubs
- In Proceedings of the 7th IEEE International Symposium on High Performance Distributed Computing (HPDC'98
, 1998
"... Many of the systems that currently allow computing on the web target specific tools. Such solutions tend to be non-reusable in spite of the fact that they involve a significant amount of duplicated effort. This paper describes the issues involved in the design of a demandbased network-computing syst ..."
Abstract
-
Cited by 22 (10 self)
- Add to MetaCart
Many of the systems that currently allow computing on the web target specific tools. Such solutions tend to be non-reusable in spite of the fact that they involve a significant amount of duplicated effort. This paper describes the issues involved in the design of a demandbased network-computing system, and presents an operational prototype (the Purdue University NetworkComputing Hubs, or PUNCH) that allows users to access and run existing software tools via standard worldwide web browsers. The tools do not have to be written in any particular language, and access to sourcecode is not required. The PUNCH infrastructure can be distributed in a manner that allows tools to be (usertransparently) executed wherever they reside. Currently, PUNCH contains over thirty tools from eight universities and four vendors, and serves more than 500 users. During the past three years, PUNCH users have logged more than 860,000 hits and have performed over 54,000 simulations. 1. Introduction There is inc...
Transparent information dissemination
- In Proc. Middleware
, 2004
"... Abstract. This paper describes Transparent Replication through Invalidation and Prefetching (TRIP), a self tuning data replication middleware system that enables transparent replication of large-scale information dissemination services. The TRIP middleware is a key building block for constructing in ..."
Abstract
-
Cited by 21 (11 self)
- Add to MetaCart
Abstract. This paper describes Transparent Replication through Invalidation and Prefetching (TRIP), a self tuning data replication middleware system that enables transparent replication of large-scale information dissemination services. The TRIP middleware is a key building block for constructing information dissemination services, a class of services where updates occur at an origin server and reads occur at a number of replicas; examples information dissemination services include content distribution networks such as Akamai [1] and IBM’s Sport and Event replication system [2]. Furthermore, the TRIP middleware can be used to build key parts of general applications that distribute content such as file systems, distributed databases, and publish-subscribe systems. Our data replication middleware supports transparent replication by providing two crucial properties: (1) sequential consistency to avoid introducing anomalous behavior to increasingly complex services and (2) selftuning transmission of updates to maximize performance and availability given available system resources. Our analysis of simulations and our evaluation of a prototype support the hypothesis that it is feasible to provide transparent replication for dissemination services. For example, in simulations, our system’s performance is a factor of three to four faster than a demand-based middleware system for a wide range of configurations. 1
ACT: An adaptive CORBA template to support unanticipated adaptation
, 2003
"... This paper proposes an Adaptive CORBA Template (ACT), which enables run-time improvements to CORBA applications in response to unanticipated changes in either their functional requirements or their execution environments. ACT enhances CORBA applications by transparently weaving adaptive code into th ..."
Abstract
-
Cited by 19 (11 self)
- Add to MetaCart
This paper proposes an Adaptive CORBA Template (ACT), which enables run-time improvements to CORBA applications in response to unanticipated changes in either their functional requirements or their execution environments. ACT enhances CORBA applications by transparently weaving adaptive code into their object request brokers (ORBs) at run time. The woven code intercepts and adapts the requests, replies, and exceptions that pass through the ORBs. Specifically, ACT can be used to develop an object-oriented framework in any language that supports dynamic loading of code and can be applied to any CORBA ORB that supports portable interceptors. Moreover, ACT can be used to support interoperation among otherwise incompatible adaptive CORBA frameworks. To evaluate the performance and functionality of ACT, we implemented a prototype in Java. Our experimental results show that the overhead introduced by the ACT infrastructure is negligible, while the adaptations offered are highly flexible. 1.
Dynamically Negotiated Resource Management for Data Intensive Application Suites
- IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
"... In contemporary computers, and networks of computers, various application domains are making increasing demands on the system to move data from one place to another, particularly under some form of soft real-time constraint. A brute force technique for implementing applications in this type of domai ..."
Abstract
-
Cited by 16 (5 self)
- Add to MetaCart
In contemporary computers, and networks of computers, various application domains are making increasing demands on the system to move data from one place to another, particularly under some form of soft real-time constraint. A brute force technique for implementing applications in this type of domain demands excessive system resources, even though the actual requirements by different parts of the application vary according to the way it is being used at the moment. A more sophisticated approach is to provide applications with the ability to dynamically adjust resource requirements according to their precise needs as well as the availability of system resources. This paper describes a set of principles for designing systems to provide support for soft real-time applications using dynamic negotiation. Next, the execution level abstraction is introduced as a specific mechanism for implementing the principles. The utility of the principles and the execution level abstraction is then shown ...

