350 likes | 494 Views
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
E N D
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 Minnesota Minneapolis 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 • Task: writing, reviewing, and editing different parts of the document • Three roles: author, editor, and reviewer • Shared objects: the chapter’s contents, the reviewer’s comment and the editor’s comment. • Coordination operations: • At chapter level • At reviewer level • At editor level
About XML (eXtensible Markup Language) *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.
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
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 servermaintains a domain registry, which is a simple database that keeps track ofthe 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
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