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

Post on 22-Dec-2015

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related