Mobile Agent Community Service Place Jeff Schott CS590L Spring 2004
Mobile Agents Autonomous, Mobile Software Processes Seek out resources to carry out a task Based on current state, can plan future actions
Mobile Agent Standards Foundation for Intelligent Physical Agents (FIPA) –Agents –Directory Services –Messages Object Management Group (OMG) Mobile Agent System Interoperability Facilities (MASIF) –Agents –Agent Systems (Made up of Places) –Communication Infrastructure
Hybrid Community Agents Directory Services Service Places Messages Agent Communication?
Why Follow Standards? They’re Standard Narrow Scope
A Potential Problem - Starvation Focused Overload or “Flash Crowd” –Incorrect Service Advertisement –Correct but Popular Service Advertisement General Congestion
Potential Solutions for Starvation OS-Type Priority Mechanism –Escalating Priority Based on Age –Preemption Move to Another Node –Decision Based On: Conditions in Current Node Other Available Services “Eat” Other Agents
Who Facilitates the Solutions? Service Place
Service Place Architecture Extendible –New services can be added Modular –Services can be “plugged in to” base Service Place Modifiable –Service can be changed –Service can be completely removed
Example Services Docking Queuing and Task Execution Next Hop Determination Undocking
Some Considerations Where is the queue data structure kept? How can it be accessed? Starvation control mechanism may depend on data structure How do modules communicate with each other? Do they need to? Should there be a base service place? Maybe just a queue and queue management system A Go/No Go module could be added as a secondary starvation control mechanism
Example Architecture Queue Management System Docking Task Execution Next Hop Resolution Undocking
Architectural Components Docking - listen at incoming port. Store arriving agents in data structure. Pass to QMS. QMS - holds queue data structure. Enqueue agents. Dequeue agents for service. Handle priority mechanism. Task Execution - service next agent from QMS. Send to next hop resolution if done. Send to QMS if not. Next Hop Resolution - working in concert with directory services, helps agent to determine next destination. Send to undocking. Undocking - Place agent on outgoing port to next destination.