Abstract
Mobile agent has shown its promise as a powerful means to complement and enhance existing technology in various application areas. In particular, existing work has demonstrated that MA can simplify the development and improve the performance of certain classes of distributed applications, especially for those running on a wide-area, heterogeneous, and dynamic networking environment like the Internet. In our previous work, we extended the application of MA to the design of distributed control functions, which require the maintenance of logical relationship among and/or coordination of processing entities in a distributed system. A novel framework is presented for structuring and building distributed systems, which use cooperating mobile agents as an aid to carry out coordination and cooperation tasks in distributed systems. The framework has been used for designing various distributed control functions such as load balancing and mutual exclusion in our previous work. In this paper, we use the framework to propose a novel approach to detecting deadlocks in distributed system by using mobile agents, which demonstrates the advantage of being adaptive and flexible of mobile agents. We first describe the MAEDD (Mobile Agent Enabled Deadlock Detection) scheme, in which mobile agents are dispatched to collect and analyze deadlock information distributed across the network sites and, based on the analysis, to detect and resolve deadlocks. Then the design of an adaptive hybrid algorithm derived from the framework is presented. The algorithm can dynamically adapt itself to the changes in system state by using different deadlock detection strategies. The performance of the proposed algorithm has been evaluated using simulations. The results show that the algorithm can outperform existing algorithms that use a fixed deadlock detection strategy.
Similar content being viewed by others
References
Lange D B, Oshima M. Seven good reasons for mobile agents. Communication of the ACM, 1999, 42(3): 88–89
Pham V A, Karmouch A. Mobile software agents: An overview. IEEE Communications, 1998, 36(7): 26–37
Funfrocken S. Integrating Java-based mobile agents into web servers under security concerns. In: Proceedings of 31st Hawaii International Conference on System Sciences (HICSS31), 1998, 34–43
Cao J N, Chan G H, Jia W, et al. Checkpointing and rollback of wide-area distributed applications using mobile agents, In Proceedings of 15th International Parallel and Distributed Processing Symposium, 2001, 1–6
Cao J N, Sun Y, Wang X, et al. Scalable load balancing on distributed web servers using mobile agents. Journal of Parallel and Distributed Computing (Elsevier Science), 2003, 63(10): 996–1005
Cao J N, Wang X B, Wu J. A mobile agent enabled fully distributed mutual exclusion algorithm. In: Proceedings of 6th IEEE International Conference on Mobile Agents (MA’02), Barcelona, LNCS, 2002, 2535: 138–153
Singhal M. Deadlock detection in distributed systems. IEEE Computer, 1989, 22(11): 37–48
Knapp E. Deadlock detection in distributed databases. ACM Computing Surveys, 1987, 19(4): 303–328
Bracha G, Toueg S. A distributed algorithm for generalized deadlock detection. Tech Rep TR, Cornell University, Ithaca, N.Y., 1983. 83–558
Chandy K M, Misra J, Haas L M. Distributed deadlock detection. ACM Transaction on Computer Systems, 1983, 1(2): 144–156
Chen S G, Deng Y, Attie P, et al. Optimal deadlock detection in distributed systems based on locally constructed wait-for graphs. In: Proceedings of the 16th International Conference on Distributed Computing Systems, 1996. 613–619
Elmagarmid A K, Soundararajan N, Liu M T. A distributed deadlock detection and resolution algorithm and its correctness proof. IEEE Transactions on Software Engineering, 1988, 14(10): 1443–1452
Krivokapic N, Kemper A, Gudes E. Deadlock detection in distributed database systems: A new algorithm and a comparative performance analysis. The VLDB Journal, 1999, 8(2): 79–100
Kshemkalyani A D, Singhal M. Efficient detection and resolution of generalized distributed deadlocks. IEEE Transactions on Software Engineering, 1994, 20(1): 43–54
Lee S, Kim J L. An efficient distributed deadlock detection algorithm. In: Proceedings of the 15th International Conference on Distributed Computing Systems, 1995. 169–178
Mayo J, Kearns P. Distributed deadlock detection and resolution based on hardware clocks. In: Proceedings of 19th IEEE International Conference on Distributed Computing Systems, 1999, 208–215
Mitchell D P, Merritt M J. A distributed algorithm for deadlock detection and resolution. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, New York, USA, 1984. 282–284
Obermarck R. Distributed deadlock detection algorithm. ACM Transactions on Database Systems, 1982, 7(2): 187–208
Rubio J M M, Lopez P, Duato J. FC3D: flow control-based distributed deadlock detection mechanism for true fully adaptive routing in wormhole networks. IEEE Transactions on Parallel and Distributed Systems, 2003, 14(8): 765–779
Young M K, Ten H L, Soudarajan N. Efficient distributed deadlock detection and resolution using probes, tokens, and barriers. In: Proceedings of 1999 International Conference on Parallel and Distributed Systems, 1997. 584–591
Lee S, Kim J L. Performance analysis of distributed deadlock detection algorithms. IEEE Transaction on Knowledge and Data Engineering, 2001, 13(4): 623–636
Min K O, Belford G G. Workload analysis for performance study of distributed deadlock detection algorithms. In: Proceedings of the Eighth Symposium on Reliable Distributed Systems, 1989. 104–111
Bukhres O. Performance comparison of distributed deadlock detection algorithms. In: Proceedings of Eighth IEEE International Conference on Data Engineering, 1992. 210–217
Shyu S C, Li V O K. Performance analysis of static locking in distributed database systems. IEEE Transaction on Computers, 1990, 39(6): 741–751
Choudhary A N. Cost of distributed deadlock detection: A performance study. In: Proceedings the 6th International Conference on Data Engineering, 1990. 174–181
Baldeschwidler J, Blumofe R, Brewer E. Atlas: An infrastructure for global computing. In: Proceedings of the 7th ACMSIGOPS European Workshop: Systems Support for Worldwide Applications, 1996
Brecht T, Sandhu H, Shan M, et al. ParaWeb: Towards worldwide supercomputing. In: Proceedings of the 7th ACMSIGOPS European Workshop: Systems Support for Worldwide Applications, 1996. 181–188
Christiansen B, et al. Javalin: Internet-based parallel computing using Java, Concurrency. Practice and Experience, 1997, 9(11): 1139–1160
Nisan N, London S, Regev O, et al. Globally distributed computation over the Internet — The Popcorn project. In: Proceedings of the 18th Intern Conf on Distributed Computing Systems, 1998. 592–601
Xu C Z, Wims B. A mobile agent based push methodology for global parallel computing. Practice and Experience, 2000
Badrinath B R, Acharya A, Imielinski T. Impact of mobility on distributed computations. Technical Report, Department of Computer Science, Rutgers University, 1995
Fukuda M, Bic L F, Dillencourt M B, et al. Messengers: distributed computing using mobile autonomous objects. Inform Sci, 1997
Wu J. Distributed System Design. USA: CRC Press, 1999
Knapp E. Deadlock detection in distributed databases. ACM Comput Sur, 1987, 19(4): 303–328
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cao, J., Zhou, J., Zhu, W. et al. Mobile agent-enabled framework for structuring and building distributed systems on the internet. SCI CHINA SER F 49, 885–905 (2006). https://doi.org/10.1007/s11432-006-2032-4
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/s11432-006-2032-4