Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Implementing Remote Evaluation
IEEE Transactions on Software Engineering
Reducing cross domain call overhead using batched futures
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A language with distributed scope
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Software Engineering
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
A Survey of Distributed Garbage Collection Techniques
IWMM '95 Proceedings of the International Workshop on Memory Management
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
Communication Primitives for Ubiquitous Systems or RPC Considered Harmful
ICDCSW '01 Proceedings of the 21st International Conference on Distributed Computing Systems
A Note on Distributed Computing
A Note on Distributed Computing
A Symmetric Modal Lambda Calculus for Distributed Computing
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Portable and efficient distributed threads for Java
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
Adapting Java RMI for grid computing
Future Generation Computer Systems - Special issue: Parallel computing technologies
IEEE Internet Computing
A distributed object model for the javaTM system
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
Optimising Java RMI programs by communication restructuring
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Hi-index | 0.00 |
The fundamental ideas of distributed objects have changed little in the last 20 years. Existing languages are retrofitted with transparent distribution mechanisms based on proxies. Experiments with mobile code demonstrate its power but have little impact on practice. The problems with transparency and mobile code have been well known since at least 1994. But in the absence of any fundamental new ideas, the same problematic approaches are used, for example in the design of Java RMI. In this essay we discuss a new programming construct called Remote Batch Invocation (RBI). A batch is a code block that combines remote and local execution over fine-grained object interfaces, but is executed by partitioning and remote evaluation. Remote Batch Invocation effectively addresses the shortcomings of transparent distribution with a controlled form of mobile code. Our experience leads us to believe that distribution cannot be implemented as a library, but requires specific language support. Viewing distribution as a language design problem represents a revolutionary step in the development of distributed objects.