Synchronization, Monitoring, and Communication for Distributed Agents
Complex distributed applications can use event abstraction to provide simplicity to the programmer and system designer by reducing the amount of information to be handled. However, it is necessary to retain a fine degree of control over the synchronization conditions in the computation. This research investigates a framework to provide the necessary control on synchronization and communication among the distributed agents by addressing the following. First, various forms of synchronization between distributed agents whose actions can be viewed at different levels of abstraction are defined. Second, mechanisms to specify and enforce the desired forms of synchronization, to detect the forms of synchronization that occur, and to monitor the computation nonintrusively are designed. Third, algorithms for efficient communication among the synchronizing agents are designed and evaluated. The research is expected to impact the ease with which the increasingly complex distributed applications can be synchronized, controlled, and monitored while maintaining a fine degree of control over the synchronization involved. This has the potential to simplify the design of the rapidly increasing number of large distributed applications.