Parallel program design: a foundation
Parallel program design: a foundation
UNIX network programming
CC++: a declarative concurrent object-oriented programming notation
Research directions in concurrent object-oriented programming
Distributed operating systems
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Distributed Algorithms
The Java Language Specification
The Java Language Specification
Designing Directories in Distributed Systems: A Systematic Framework
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
Systematic Composition of Objects in Distributed Internet Applications: Processes and Sessions
HICSS '97 Proceedings of the 30th Hawaii International Conference on System Sciences: Software Technology and Architecture - Volume 1
Webs of Archived Distributed Computations for Asynchronous Collaboration
The Journal of Supercomputing - Special issue: high performance distributed computing
A tale of two directories: implementing distributed shared objects in Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Web based collaborative visualization of distributed and parallel simulation
PVGS '99 Proceedings of the 1999 IEEE symposium on Parallel visualization and graphics
ParaWeb: towards world-wide supercomputing
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
Resource access control in systems of mobile agents
Information and Computation
Cooperative environments for distributed
Supporting personal mobility for nomadic computing over the internet
ACM SIGMOBILE Mobile Computing and Communications Review
Developing Component Architectures for Distributed Scientific Problem Solving
IEEE Computational Science & Engineering
A Grid Computing Environment for Enabling Large Scale Quantum Mechanical Simulations
GRID '00 Proceedings of the First IEEE/ACM International Workshop on Grid Computing
SuperWeb: Towards a Global Web-Based Parallel Computing Infrastructure
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
A Formal Model for Reasoning about Adaptive QoS-Enabled Middleware
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
SmartPointers: personalized scientific data portals in your hand
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Error Scope on a Computational Grid: Theory and Practice
HPDC '02 Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing
Design and Implementation of a Composable Reflective Middleware Framework
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
A component-based architecture for problem solving environments
Computational science, mathematics and software
A formal model for reasoning about adaptive QoS-enabled middleware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Metacomputing with mobile agents
International Journal of Parallel Programming
Worldwide computing: Adaptive middleware and programming technology for dynamic Grid environments
Scientific Programming - Dynamic Grids and Worldwide Computing
JMAS: a java-based mobile actor system for distributed parallel computation
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Java based architecture for grid applications
VECIMS'09 Proceedings of the 2009 IEEE international conference on Virtual Environments, Human-Computer Interfaces and Measurement Systems
Jobs run-time scheduling in a Java based grid architecture
ICIC'09 Proceedings of the 5th international conference on Emerging intelligent computing technology and applications
Hi-index | 0.00 |
This paper describes the design of a distributed system built using Java that supports peer-to-peer communication among processes spread across a network. We identify the requirements of a software layer that supports distributed computing, and we propose a design that meets those requirements. Our primary concerns are (I) the identification, specification, and implementation of software components that can be composed in different ways to develop correct distributed applications; (2) reasoning about the components systematically; and (3) providing services to the components. This paper deals with the last of these concerns. Though our implementation uses Java, the fundamental ideas apply to any object-oriented language that supports messaging and threads. Alternative implementations use such languages coupled with object request brokers or remote procedure invocation mechanisms.