Mobile Agents book cover

Mobile Agents

Basic Concepts, Mobility Models, and the Tracy Toolkit

Mobile agents are software nomads that act as your personal representative, working autonomously through networks. They are able to visit network nodes directly using available computing power and are not limited by platform. This emerging field is now poised to become a cornerstone for new Web-based ubiquitous computing environments. Mobile Agents provides a practical introduction to mobile agent technology and surveys the state of the art in mobile agent research. Students and researchers can use the book as an introduction to the concepts and possibilities of this field and as an overview of ongoing research. Developers can use it to identify the capabilities of the technology to decide if mobile agents are the right solution for them. Practioners can also gain hands-on experience in programming mobile agents through exploration of the source code for a complete mobile agent environment available through the companion website.

Audience
Researchers and developers will find an introduction to mobile agent technology. Researchers can get an overview of ongoing and related research and topics. Developers can start to create their own mobile agent systems through the complete environment provided.

Hardbound, 464 Pages

Published: December 2004

Imprint: Morgan Kaufmann

ISBN: 978-1-55860-817-7

Reviews

  • "I think this book will be the first standard introductory book on mobile agents" —José M. Vidal, University of South Carolina

Contents

  • Part I Motivation for and Introduction to Mobile Agents
    1 Designing Innovative Distributed Systems
    2 From Client-Server to Mobile Agents2.1 A First Look at Mobile Agents2.1.1 The Artificial Intelligence Point of View2.1.2 The Distributed Systems Point of View2.2 A Short History of Mobile Agents2.2.1 The Early Approaches of Mobile Code2.2.2 Remote Evaluation2.2.3 Mobile Objects2.2.4 Mobile Processes2.2.5 Mobile Agents2.3 Similar but Different Concepts2.3.1 Internet Agents, Worms, and Spiders2.3.2 Java Applets2.3.3 Java Servlets2.4 Why Are Mobile Agents a Good Idea?2.5 Possible Application Domains of Mobile Agents
    Part II Mobile Agents—Concepts, Functions, and Possible Problems
    3 Mobile Agent Migration3.1 The Mobile Agent Migration Process3.1.1 Generic Framework for Agent Migration3.1.2 Migration in the Tracy Mobile Agent Toolkit3.2 Effective Migration as a Core Feature of Mobile Agent Toolkits3.2.1 Mobile Agents versus Client-Server3.2.2 Performance Analysis of Simple Mobile Agents versus Client-Server3.2.3 Discussion of Our Results and a Further Literature Review3.3 Design Issues of Agent Migration3.3.1 Mobility Models3.3.2 Examples for Mobility Models3.3.3 Related Work—Other Classification Approaches3.4 Reasoning about Improved Mobility Models3.4.1 Drawbacks of Simple Migration Techniques, and Current Implementations3.4.2 Improving the Performance of Mobile Agents3.4.3 Performance and Migration Strategies3.4.4 The Kalong Mobility Model3.4.5 Kalong’s Advantages3.4.6 Migration Optimization Techniques Proposed in the Literature
    4 Mobile Agent Communication4.1 Introduction4.2 Classification of Communication Models for Mobile Agents4.2.1 Message Passing4.2.2 Information Space4.3 Solutions to Provide Location-Transparent Communication4.3.1 Central Server and Home Agency Solutions4.3.2 Forwarding Pointers4.3.3 Broadcast-Based Approaches4.3.4 Hierarchical Approaches
    5 Mobile Agent Security5.1 Security Requirements and Cryptographic Techniques5.1.1 Authenticity5.1.2 Confidentiality5.1.3 Integrity5.1.4 Accountability5.1.5 Availability5.1.6 Anonymity5.2 Taxonomy of Possible Attacks5.2.1 Malicious Agents5.2.2 Malicious Agencies5.3 Introduction to the Proposed Solutions5.4 Organizational Solutions5.4.1 Trusted Agencies5.4.2 Agency Reputation5.4.3 Law5.5 Protecting Mobile Agents5.5.1 Preventing Attacks on Mobile Agents5.5.2 Detecting Attacks on Mobile Agents5.6 Protecting Agencies5.6.1 Introduction—Java and Security5.6.2 Agent Authentication and Authorization5.6.3 Agent Execution
    Part III The Kalong Mobility Model—Specification and Implementation
    Chapter 6 Specifications of the Kalong Mobility Model6.1 Introduction6.2 Kalong Vocabulary6.3 Agent Model6.3.1 Agents and Agent Contexts6.3.2 Agencies6.4 Application Programming Interfaces6.4.1 Interface Ikalong6.4.2 Interface IAgentManager6.4.3 Interface INetwork6.4.4 Interface IServer6.5 The SATP Migration Protocol6.5.1 Introduction6.5.2 The SATP Request and Reply Messages6.5.3 Specification of all SATP Messages
    Chapter 7 Using Kalong7.1 Introduction7.1.1 Kalong as Software Component7.1.2 Kalong as Virtual Machine7.2 Using the Kalong Component7.2.1 Starting and Configuring Kalong7.2.2 Interface IKalong7.2.3 Interface IAgentManager7.2.4 Examples to Use Interface IKalong7.2.5 Push Agent Class and Load Other Classes7.3 Extending Kalong7.3.1 The Kalong Extension Interface7.3.2 A First Example: Compression of All SATP Messages7.3.3 How to Implement Security Solutions with Kalong
    Chapter 8 Evaluation8.1 Related Work8.1.1 Performance Evaluation of Existing Mobile Agent Toolkits8.1.2 Performance Comparison of Mobile Agent Toolkits8.2 Methodology8.2.1 Experiments and Measurements8.2.2 Programming Agents for the Measurements8.2.3 Test Environment8.3 Results of the Basic Experiments8.3.1 Transmission Time with Regard to Code Size and Network Quality8.3.2 Transmission Time with Regard to Data Compression8.3.3 Transmission Time with Regard to Security8.3.4 Effect of Migration Strategies8.3.5 Effect of Caching8.3.6 Effect of Data Uploading8.3.7 Effect of Code Servers8.3.8 Effect of Mirrors
    Part IV The Tracy Mobile Agent Toolkit
    Chapter 9 Running a Tracy Agency9.1 Welcome to Tracy9.2 Installation of Tracy9.2.1 Before You Start the Installation9.2.2 Installation9.2.3 Configuration9.2.4 Configure JAAS9.3 Starting and Stopping a Tracy Agency9.4 Installation and Usage of Basic Plugins9.4.1 AgencyShell9.4.2 AgentLauncher
    Chapter 10 Programming Agents with Tracy10.1 The First Agent10.1.1 Creating a Tracy Agent10.1.2 How to Use Services10.1.3 How to Register with a Service10.2 Survival10.3 Place10.4 Messaging10.4.1 Introduction10.4.2 The Message plugin API10.5 Migration10.5.1 Introduction10.5.2 Installation10.5.3 Programming Mobile Agents10.5.4 Programming Kalong Scripts10.5.5 Programming Migration Strategies10.6 Managing Logical Agency Networks10.6.1 Introduction10.6.2 Installing the DomainManager plugin10.6.3 The DomainManager API
    Bibliography Index

Advertisement

advert image