Runtime support for changing communication model in large scale applications

Building systems that scale across networks and adaptthemselves to changing environments represents an importantrequirement for the modern software systems. Distributedsystems, at the time of Internet, face a changing,evolving and various quality communication environmentdue to mobility, large scale deployment, new and unpredictableuser behaviours. The inherent heterogeneity ofthe execution and communication environments that a largescale application has to deal with, imposes adaptive mechanismsable to assure a proper response to those challenges.As the programming of such systems becomes more complex,new programming models have been used for creatingapplications. Communication between different systemcomponents is based on two main communication models:communication by messages and communication by remotemethod invocations. The choice of synchronous communicationvia remote method invocations or of message-basedasynchronous communication still remains an early decisionmade at the time of the application design. In this articlewe propose an adaptive mechanism for dynamic andtransparent switching of the communication model used betweenthe components of a distributed system. This mechanism,aimed especially at large scale applications and mobilesystems, offers the possibility to adapt the communicationmodel to the execution context of an application andthe changes in its communication environment.