Synchronous/asynchronous switch for a dynamic choice of communication model in distributed systems

As the programming of distributed systems becomes more complex, new programming models have been used for creating applications. Communication between different system components is based on two main communication models: communication by messages and communication by remote method invocations. The choice of synchronous communication via remote method invocation or of message-based asynchronous communication still remains an early decision made at the time of the application design. In this article we propose a mechanism for dynamic and transparent switching of the communication model used between the components of a distributed system. This mechanism, aimed especially at large scale applications and mobile systems, offers the possibility to adapt the communication model to the execution context of an application and changes in its communication environment.