distributed collaborations using network mobile agents anand tripathi, tanvir ahmed, vineet kakani...

35
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

Post on 22-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 2: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science
Page 3: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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               

Page 4: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Content

• Introduction

• Overview of the Approach

• Description of a Collaboration Plan

• Collaboration Using Network Agents

• Related Work

• Conclusion

• Feature Work

Page 5: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 6: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 7: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 8: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 9: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 10: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 11: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Approach

Design Steps

Third Step:

* realizing a distributed collaboration using mobile agents.

Page 12: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 13: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Approach

Design Steps

Third Step:

* realizing a distributed collaboration using mobile agents.

Page 14: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 15: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

*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)

Page 16: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 17: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 18: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 19: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Description of a Collaboration plan

Page 20: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

An Example of Collaboration Plan Specification

Page 21: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

An Example of Collaboration Plan Specification

Page 22: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 23: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

About Ajanta--Main Component

• Agent

• Agent-server

• Name-registry

Page 24: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 25: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 26: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science
Page 27: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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. 

Page 28: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 29: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 30: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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

Page 31: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Implementation of the Collaborative Authoring System

Page 32: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Related Work

• Mobile agent system

• Computer-supported collaborative work

• Coordination specification

• Workflow management

• Role-based security

Page 33: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

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.

Page 34: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Future Work

• Developing a general application level exception handling model

• Developing a more general collaboration specification in XML

Page 35: Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science

Thanks