distributed collaborations using network mobile agents anand tripathi, tanvir ahmed, vineet kakani...
Post on 22-Dec-2015
217 views
TRANSCRIPT
Distributed Collaborations Using Network Mobile Agents
• Anand Tripathi, Tanvir Ahmed, Vineet Kakani
• and Shremattie Jaman
• Department of computer science • University of Minnesota, Minneaplis MN 55455
Anand Tripathi
Professor
Department of Computer Science & Engineering
University of MinnesotaMinneapolis MN 55455
Program Chair for IEEE 20th Symposium on Reliable Distributed Systems (SRDS 2001) October 2001
Content
• Introduction
• Overview of the Approach
• Description of a Collaboration Plan
• Collaboration Using Network Agents
• Related Work
• Conclusion
• Feature Work
Introduction
Focus On: Building Distributed Collaborations Using Mobile Agent
Distributed Collaborations:
*a number of physically distributed users
*cooperate on some common tasks
*share an environment composed of objects
Mobile Agents:
*an object capable of migrating autonomously
*perform tasks on behalf of a user
Introduction
Motivations:*ensure members participate only by using prescribed
protocols
*can execute remote coordination operations
*be shared objects in workflow system
*migrating the user’s agent instead of moving the user physically
Introduction
Contributions:*develop a methodology for building a distributed collaboration
environment with
*specifying a collaboration plan using XML then
*interfacing such a specification with a mobile agent based middleware
Important features:*designers need to specify only the XML plan without
*being concerned about the management of the mobile coordination agents and
*the security issues
Approach
Design Steps
First Step:
*using DTD for defining roles, shared objects, and operations associated with a
collaborative task
*providing rules for associating privileges with roles, and coordination actions with operations
Elements
Participant Roles: a set of responsibilities and tasks for a participant towards the goal of the collaborative activity.
Shared Objects: a collaborative activity whose operations are executed by the participants based on their roles.
Privileges: the security policies in a collaboration that are based on the participants’ roles.
Coordination Operations: actions to be executed when a certain task is required in the collaboration.
Approach
Design Steps
Second Step:
*using XML for specifying the collaboration plan, in conformance with the rules given by the DTD.
*the convener is responsible for preparing this specification.
Approach
Design Steps
Third Step:
* realizing a distributed collaboration using mobile agents.
Approach
Design Steps
Third Step:
realizing a distributed collaboration using mobile agents.
UCI: User Coordination Interface
• UCI is constructed as a collection of mobile agents obtained from the convener.
• When a certain task is executed, UCI dispatches agents to other UCIs, also it receives and executes agents come from other UCIs.
Approach
Design Steps
Third Step:
* realizing a distributed collaboration using mobile agents.
Example: A Collaborative Authoring System
1. Task: writing, reviewing, and editing different parts of the document
2. Three roles: author, editor, and reviewer
3. Shared objects: the chapter’s contents, the reviewer’s comment and the editor’s comment.
4. Coordination operations:
5. At chapter level
6. At reviewer level
7. At editor level
*XML is a project of the World Wide Web Consortium (W3C), and the development of the specification is being supervised by their XML Working Group. A Special Interest Group of co-operation contributors and experts from various fields contributed comments and reviews by email.
*XML is a public format: it is not a proprietary development of any company. The v1.0 specification was accepted by the W3C as Recommendation on Feb 10, 1998.
About XML (eXtensible Markup Language)
Features of XML
• XML is– Extensible
• introduce your own tags
– Portable• DTD (Document Type Definition)
– Structured• Need to follow the grammar specified in DTD
– Descriptive. The elements are free to describe the
meaning of what they contain
About DTD (Document Type Descriptor)
• DTD is a set of rules that defines what tags appear in a XML document
• DTDs are used to describe the structure of XML document.
• a DTD can be considered as a database schema (schema of object-oriented or object-relational databases) if a XML document is considered as a database.
Some Symbol in DTD
<!DOCTYPE : declaration of the document type
[ : marks the start of the DTD
<!ELEMENT : define tag and its relation with other tags (elements)
<!ATTLIST : attribute of a element
+, *, ?, | : symbols represent the elements allowed
+, elements must be used one or more times
*, elements is optional and can be used multiple times
?, optional but if use, only use once
| , use either elements but not both
#PCDATA : insert text
]> : end of DTD
Description of a Collaboration plan
An Example of Collaboration Plan Specification
An Example of Collaboration Plan Specification
About Ajanta
• Ajanta is a Java-based system for programming mobile agents in distributed system.
• The Ajanta system provides facilities to build customizable servers to host mobile agents, and a set of primitives for the creation and management of agents.
• Support for security is an integral part of the Ajanta system.
About Ajanta--Main Component
• Agent
• Agent-server
• Name-registry
Ajanta’s Main Component--Agent
• It implements the generic functionality of a mobile agent.
• It can request various from its local host.
• It can request migration to another host.
• It supports the concept of itineraries.
Ajanta’s Main Component--AgentServer
• It provides the generic functionality to host agents.
• It creates protected domains for their execution .• It transfers agents from one server to another.• It respond to various agent control functions.
Ajanta’s Main Component--Name Registry
The server maintains a domain registry, which is a simple database that keeps track of the agents currently executing on it.
Implementation of the Collaborative Authoring System
• Each user performs his tasks in the collaboration through the UCI
• In this paper the approach is to implement a UCI by extending Ajanta’ AgentServer class.
• Programmers can extend AgentServer class by writing a subclass of AgentServer
Implementation of the Collaborative Authoring System
• Each user performs his tasks in the collaboration through the UCI
• In this paper the approach is to implement a UCI by extending Ajanta’ AgentServer class.
• Programmers can extend AgentServer class by writing a subclass of AgentServer
Implementation of the Collaborative Authoring System
The Structure of a UCI:A document manager object:It reads the XML plan;It maintains the shared object space;Its interface enables the user and the visiting agents to
process any part of a document User interface object:It is implemented as a collection of mobile agents;Through the user interface, operation of the document
manager are executed
Implementation of the Collaborative Authoring System
Related Work
• Mobile agent system
• Computer-supported collaborative work
• Coordination specification
• Workflow management
• Role-based security
Conclusion
• The main contribution of this paper is in developing a methodology for building a distributed collaboration system using a high level specification in XML, and then interfacing this specification with a mobile agent based middleware to realize the desired system.
Future Work
• Developing a general application level exception handling model
• Developing a more general collaboration specification in XML
Thanks