The Migration Process of Mobile Agents Implementation, Classification, and Optimization
Total Page:16
File Type:pdf, Size:1020Kb
The Migration Process of Mobile Agents Implementation, Classification, and Optimization Dissertation zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.), vorgelegt dem Rat der Fakult¨atf¨ur Mathematik und Informatik der Friedrich-Schiller-Universit¨atJena von Diplom-Informatiker Peter Braun, geboren am 22. Juni 1970 in Neuss. Gutachter 1. Prof. Dr. Wilhelm R. Rossak, Friedrich-Schiller-Universit¨atJena 2. Dr. Bill Buchanan, Napier University, Edinburgh, Scotland Tag der letzten Pr¨ufung des Rigorosums: 30. April 2003 Tag der ¨offentlichen Verteidigung: 13. Mai 2003 Abstract Mobile agents provide a new and fascinating design paradigm for the architecture and programming of distributed systems. A mobile agent is a software entity that is launched by its owner with a user-given task at a specific network node. It can decide to migrate to other nodes in the network during runtime. For a migration the agent carries its current data, its program code, and its execution state with it. Therefore, it is possible to continue agent execution at the destination platform exactly where it was interrupted before. The reason for a migration is mainly to use resources that are only available at remote servers in the network. This thesis focuses on the migration process of mobile agents, which is to our knowl- edge not considered in literature so far, although the performance of a mobile agent based application strongly depends on the performance of the migration process. We propose a general framework an an innovative set of notions to describe and specify the migration process. By introducing the concept of a migration model, we offer a classification scheme to describe migration issues in existing mobile agent systems. As an example, the migration feature of two well-known mobile agent systems, Aglets and Grasshopper, are characterized. A detailed analysis of network load of mobile agents as compared to client-server approaches in several typical application scenar- ios shows the potential benefits of mobile agents. However, the analysis also shows drawbacks of the simple migration techniques that are used in today’s mobile agent systems. The main drawback of these simple techniques is the lack of adaptability, which causes the superfluous transmission of code and data. We present a new migration model named Kalong, which overcomes these draw- backs. It provides the agent resp. the agent programmer with a very flexible way to migrate an agent. Using Kalong, a migration is no longer a monolithic transmission of code and data. It is possible to send only those pieces of code and data that are used at the next destination platform with high probability. The agent can of course dynamically load missing code or data items from appropriate servers. The Kalong migration model was implemented in the Java programming language and can be used as an independent software component. It should be usable in almost all existing mobile agent systems. This Kalong software component is extendable, which is shown by implementing basic security solutions. We conducted experiments to show the performance of our new Kalong model in real network environments. The result of our experiments is that Kalong’s new i features increase the performance of mobile agents as compared to all other existing migration techniques. Measurements also point to the influence of many parame- ters on the performance of mobile agents, as for example network quality, code size, transmission protocol, and security enhancements. ii Zusammenfassung Mobile Agenten stellen ein neues faszinierendes Design-Paradigma fur¨ den Aufbau und die Programmierung von verteilten Systemen dar. Ein mobiler Agent ist eine Software-Entit¨at, die von ihrem Besitzer mit einem Auftrag auf einem Knoten eines verteilten Systems gestartet wird und dann zur Laufzeit auf andere Knoten des Netzw- erkes migriert. Bei einer Migration nimmt der Agent seine derzeitigen Daten, seinen Programmcode und seinen aktuellen Ausfuhrungszustand¨ mit, so dass auf dem Ziel- knoten die Ausfuhrung¨ genau an der Stelle fortgesetzt werden kann, an der sie auf dem letzten Knoten unterbrochen wurde. Der Grund fur¨ eine Migration liegt bei mo- bilen Agenten vornehmlich darin, Ressourcen zu nutzen, die nur auf anderen Knoten im Netzwerk angeboten werden. Diese Arbeit konzentriert sich auf den Migrationsprozess fur¨ mobile Agenten, dem in der Literatur bisher wenig Aufmerksamkeit geschenkt wurde, obwohl er die Ausfuh-¨ rungsgeschwindigkeit eines Agenten entscheidend beeinflusst. Es wird ein allgemeines Rahmenwerk fur¨ den Ablauf einer Migration vorgestellt und erstmals einheitliche Begriffe zur Beschreibung des Migrationsprozesses definiert. Unter dem Begriff des Migrationsmodells wird ein Klassifikationssystem zur Beschreibung der Migration- seigenschaften eines mobilen Agentensystems vorgestellt und die beiden am weitesten entwickelten Systeme Aglets und Grasshopper in diesem Schema beschrieben. Eine detaillierte Analyse der Netzbelastung von mobilen Agenten im Vergleich zum tradi- tionellen Client-Server Ansatz in mehreren typischen Anwendungsszenarien zeigt das Potential von mobilen Agenten zur Verringerung von Verarbeitungszeiten. Allerdings zeigt die Analyse ebenso die Nachteile der in heutigen Agentensystemen verwenden- ten sehr einfachen Migrationstechniken. Der Hauptnachteil dieser Techniken ist die fehlende Anpassbarkeit, wodurch vielfach Programmcode und Daten des Agenten uberfl¨ ussig¨ ubertragen¨ werden. Es wird ein neues Migrationsmodell mit Namen Kalong vorgestellt, das diese Nachteile beseitigt und dem Programmierer eines mobilen Agenten eine sehr flexi- ble Technik fur¨ die Migration zur Verfugung¨ stellt. Mit Kalong kann getrennt von der Gesch¨aftslogik des Agenten die Migration im Detail beschrieben werden. Bei Kalong wird die Ubertragung¨ von Code und Daten im Gegensatz zu anderen Mi- grationsmodellen nicht mehr als untrennbare Einheit gesehen. So ist es m¨oglich, bei einer Migration nur solche Codefragmente zu ubertragen,¨ die mit hoher Wahrschein- lichkeit auch auf der Zielplattform gebraucht werden. Ahnlich¨ k¨onnen die Daten eines iii Agenten getrennt ubertragen¨ werden, so dass einzelne Daten nicht zu solchen Plattfor- men mitgenommen werden mussen,¨ auf denen sie mit hoher Wahrscheinlichkeit nicht gebraucht werden. Der Agent kann jederzeit fehlenden Code oder Daten von dafur¨ geeigneten Server-Plattformen nachladen. Kalong wurde als Software-Komponente implementiert und kann in nahezu allen derzeitigen Agentensystemen verwendet wer- den. Die Komponente ist erweiterbar und an konkrete Anforderungen des Agentensys- tems anpassbar. Die Erg¨anzung der Komponente um grundlegende Sicherheitstech- niken wird am Beispiel gezeigt. Zahlreiche Messungen in realen Netzwerken zeigen die Vorteile des neuen Migra- tionsmodells. Er stellt sich heraus, dass durch die neuen Funktionen von Kalong die Ausfuhrungsgeschwindigkeit¨ von mobilen Agenten gegenuber¨ bisherigen Migra- tionsmodellen gesteigert werden kann. Die Messungen zeigen außerdem den Einfluss verschiedener Parameter, wie beispielsweise Netzwerkqualit¨at, Gr¨oße des Agenten, Ubertragungsprotokoll¨ und verwendete Sicherheitstechniken. iv Acknowledgments First, I would like to thank my adviser, Prof. Dr. Wilhelm Rossak, for his wonderful way of supervising my thesis. Working with him was a great pleasure. He gave me the chance to choose a fascinating new research topic and to initiate a new project for it. He always motivated me to try out new things and gave invaluable advice, if some of these activities got slightly off course. I esteem his capability and feeling for the situation, when he restrained me in the right moment, if I, not for the first time, took more than I could handle. Many thanks for all the faith, the useful discussions, and for all the support. I think, I’ve learned a lot. Thanks to Dr. Bill Buchanan from Napier University, Edinburgh, Scotland, for being second reviewer of this thesis and the first external user and tester. Many thanks for his positive feedback and comments reassured us in our work and pointed out many important aspects. This thesis is the first one published by a member of the Tracy project. Since I have started to work on this topic, several students could be raved for mobile agents – and became new colleagues later on. Without their help, it would have been clearly impossible to set up a project like Tracy. I thank my colleagues Christian Erfurth, Jan Eismann, and Sven Geisenhainer for their work, for interesting and very helpful discussions over the last years, and for helping to get Tracy a useful mobile agent system. I owe a great deal of thanks to former students Chris Fensch, Volkmar Schau, and Ingo M¨uller who helped by implementing parts of Tracy. I thank the University of Jena, namely Dr. Karl Brosche and Dipl.-Ing. Elke Pohle, to gave us the opportunity of presenting the Tracy project at the CeBIT fair twice in the years 2001 and 2002. Thanks to my colleagues Uli Pinsdorf from Fraunhofer Soci- ety Darmstadt, Corinna Fl¨usfrom University of Essen, and several other colleagues from the Special Interest Group on Mobile Agents which is part of the AgentLink European network of excellence in agent-based research, for useful discussions and meetings. Finally, I would like to thank my friends from the agent factory team, where we are currently planning a university spin-off company: Susann Wipper, Ingo M¨uller, Sven Geisenhainer, J¨urgenFrotscher, Volkmar Schau, and Alex Pauls. Last but not least, I would like to express my warm thanks