Essay discusses Remote Batch Invocation in distributed objects, suggesting new language design for better transparency.
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.
No takes yet. Share an insight, caveat, or question.
Cook et al. (2009) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: