Results 1 - 10
of
20
Implementing remote procedure calls
- ACM Transactions on Computer Systems
, 1984
"... Remote procedure calls (RPC) appear to be a useful paradig m for providing communication across a network between programs written in a high-level language. This paper describes a package providing a remote procedure call facility, the options that face the designer of such a package, and the decisi ..."
Abstract
-
Cited by 890 (6 self)
- Add to MetaCart
Remote procedure calls (RPC) appear to be a useful paradig m for providing communication across a network between programs written in a high-level language. This paper describes a package providing a remote procedure call facility, the options that face the designer of such a package, and the decisions ~we made. We describe the overall structure of our RPC mechanism, our facilities for binding RPC clients, the transport level communication protocol, and some performance measurements. We include descriptioro ~ of some optimizations used to achieve high performance and to minimize the load on server machines that have many clients.
An Architecture Based Approach to Specifying Distributed Systems in LOTOS and Z
- University of Stirling, Department of Computer Science and Mathematics
, 1997
"... Specification is difficult. It is often the case that the most difficult aspect of specifying is the structuring of the specification to begin with. Adopting an architectural approach can help to alleviate this structuring problem. We have investigated how the formal languages LOTOS and Z can be use ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Specification is difficult. It is often the case that the most difficult aspect of specifying is the structuring of the specification to begin with. Adopting an architectural approach can help to alleviate this structuring problem. We have investigated how the formal languages LOTOS and Z can be used to develop specification templates suitable for architecting specifications of distributed systems. The immediate question that arises is: where do the architectural concepts come from? We have focused primarily on the work of the current standardisation activity of Open Distributed Processing (ODP). The approach taken there is to provide an object-oriented set of concepts and to use these as the basis for developing a multi-viewpoint approach. A viewpoint may be regarded as an abstraction of the system focusing on some particular aspect, the intention being to help reduce the complexity of the system as a whole. ODP identifies five viewpoints: the enterprise, information, computational, ...
A Decentralized Software Bus based on IP Multicasting
- Proceedings of Third Workshop on Enabling Technologies: Infrastructure For Collaborative Enterprises
, 1994
"... We describe a decentralized reconfigurable implementation of a conference management system based on the low-level Internet Protocol (IP) multicasting protocol. IP multicasting allows low-cost, world-wide, two-way transmission of data between large numbers of conferencing participants through the Mu ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
We describe a decentralized reconfigurable implementation of a conference management system based on the low-level Internet Protocol (IP) multicasting protocol. IP multicasting allows low-cost, world-wide, two-way transmission of data between large numbers of conferencing participants through the Multicasting Backbone (MBone). Each conference is structured as a software bus --- a messaging system that provides a run-time interconnection model that acts as a separate agent (i.e., the bus) for routing, queuing, and delivering messages between distributed programs. Unlike the clientserver interconnection model, the software bus model provides a level of indirection that enhances the flexibility and reconfigurability of a distributed system. Current software bus implementations like POLYLITH [1], however, rely on a centralized bus process and point-to-point protocols (i.e., TCP/IP) to route, queue, and deliver messages. We implement a software bus called the MULTIBUS that relies on a separ...
Using Multicast Communications to Distribute Code and Data in Wide Area Networks
- in Wide Area Networks; Software-Practice and Experience, Vol.25, No.5
, 1995
"... This paper describes the implementation and use of a prototype multicast late-binding RPC (LbRPC) system. The system provides a mechanism for exporting arbitrary code and data across a wide area internetwork to multiple hosts for evaluation. This mechanism provides a means to ensure that the total e ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
This paper describes the implementation and use of a prototype multicast late-binding RPC (LbRPC) system. The system provides a mechanism for exporting arbitrary code and data across a wide area internetwork to multiple hosts for evaluation. This mechanism provides a means to ensure that the total execution time for the application is as small as possible without requiring continual monitoring and estimation of the state of the hosts and the intervening network. The impact of sending the same code and data to a group of remote hosts is minimized by using multicast Internet protocol (IP) communications for the outward leg of the transaction. This prototype implementation demonstrates the feasibility of using multicasting for process placement and some performance measurements are included to show how it stands up to usage on the Internet. The paper concludes with a discussion of outstanding issues raised by this research
More Efficient Serialization and RMI for Java
, 2000
"... In current Java implementations, Remote Method Invocation (RMI) is too slow, especially for high performance computing. RMI is designed for wide-area and high-latency networks, it is based on a slow object serialization, and it does not support high-performance communication networks. ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
In current Java implementations, Remote Method Invocation (RMI) is too slow, especially for high performance computing. RMI is designed for wide-area and high-latency networks, it is based on a slow object serialization, and it does not support high-performance communication networks.
Middleware Architecture with Patterns and Frameworks
, 2007
"... In a distributed computing system, middleware is defined as the software layer that lies between the operating system and the applications on each site of the system. Its role is to make application development easier, by providing common programming abstractions, by masking the heterogeneity and th ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In a distributed computing system, middleware is defined as the software layer that lies between the operating system and the applications on each site of the system. Its role is to make application development easier, by providing common programming abstractions, by masking the heterogeneity and the distribution of the underlying hardware and operating systems, and by hiding low-level programming details.
Stimulated by the growth of network-based applications, middleware technologies are taking an increasing importance. They cover a wide range of software systems, including distributed objects and components, message-oriented communication, and mobile application support. Although new acronyms seem to appear almost every month in the area of middleware, these software systems are based on a few principles and paradigms that have been identified over the years, refined through experience, and embodied in working code.
The aim of this book is to contribute to the elaboration and transmission of this body of knowledge for the benefit of designers and developers of future middleware systems. We
believe that design patterns and software frameworks are adequate vehicles for achieving this goal.
ABSTRACT From Sockets and RMI to Web Services
"... Traditional coverage of network programming techniques in a computer networking course addresses sockets, remote procedure call, and object-oriented remote procedure call. We propose two innovations to that coverage. The first is to emphasize the historical development of those techniques as a seque ..."
Abstract
- Add to MetaCart
Traditional coverage of network programming techniques in a computer networking course addresses sockets, remote procedure call, and object-oriented remote procedure call. We propose two innovations to that coverage. The first is to emphasize the historical development of those techniques as a sequence with each technique evolving from the previous one. The second innovation is to extend the historical development and the techniques to the important current technique of web services. Categories and Subject Descriptors C.2.4 [Computer-Communication Networks]: Distributed Systems – client-server, distributed applications, distributed
Scotland
, 2005
"... Middleware augments operating systems and network infrastructure to assist in the creation of distributed applications in a heterogeneous environment. Current middleware systems exhibit some or all of the following five main problems: 1. Decisions must be made early in the design process. 2. Applica ..."
Abstract
- Add to MetaCart
Middleware augments operating systems and network infrastructure to assist in the creation of distributed applications in a heterogeneous environment. Current middleware systems exhibit some or all of the following five main problems: 1. Decisions must be made early in the design process. 2. Applications are inflexible to dynamic changes in their distribution. 3. Application development is complex and error-prone. 4. Existing systems force an unnatural encoding of application-level semantics. 5. Approaches to the specification of distribution policy are limited. This thesis defines a taxonomy of existing middleware systems and describes their limitations. The requirements that must be met by a third generation middleware system are defined and implemented by a system called the RAFDA Run-Time (RRT). The RRT allows control over the extent to which inter-address-space communication is exposed to programmers, aiding the creation, maintenance and evolution of distributed applications. The RRT permits the introduction of distribution into applications quickly and with minimal programmer effort, allowing for quick application prototyping. Programmers can conceal or expose the distributed nature of applications as required. The RRT allows instances of arbitrary application classes to be exposed to remote access as Web Services, provides control over the parameter-passing semantics applied to remote method calls and permits the creation of flexible distribution policies. The design of the RRT is described and evaluated qualitatively in the context of a case study based around the implementation of a peer-to-peer overlay network. A prototype implementation of the RRT is examined and evaluated quantitatively. Programmers determine the trade off between flexibility and simplicity offered by the RRT on a per-application basis, by concealing or exposing inter-address-space communication. The RRT is a middleware system that adapts to the needs of applications, rather than forcing distributed applications to adapt to the needs of the middleware system. i Acknowledgements I’d like to thank the following people because this thesis would not have been possible without them:
Using an Architectural Approach to Integrate Heterogeneous, Distributed Software Components
, 1994
"... Many computer programs cannot be easily integrated because their components are distributed and heterogeneous, i.e., they are implemented in diverse programming languages, use different data representation formats, or their runtime environments are incompatible. In many cases, programs are integrate ..."
Abstract
- Add to MetaCart
Many computer programs cannot be easily integrated because their components are distributed and heterogeneous, i.e., they are implemented in diverse programming languages, use different data representation formats, or their runtime environments are incompatible. In many cases, programs are integrated by modifying their components or interposing mechanisms that handle communication and conversion tasks. For example, remote procedure call (RPC) helps integrate heterogeneous, distributed programs. When configuring such programs, however, mechanisms like RPC must be used explicitly by software developers in order to integrate collections of diverse components. Each collection may require a unique integration solution. This paper describes improvements to the concepts of software packaging [1] and some of our experiences in constructing complex software systems from a wide variety of components in different execution environments. Software packaging is a process that automatically determine...

