Department of Electronic & Computer Engineering 
Intelligent Systems Laboratory                           Pdi2etP TECHNICAL UNIVERSITY OF CRETE 

border graphic Main Menu border graphic
border graphic border graphic border graphic border graphic border graphic
 
- Description
- People
- Courses
- Research
- Publications
- Dissertation Topics
- Events
- Funding
- Contact
 
border graphic   border graphic

 
 
border graphic P2P-DIET Menu border graphic
border graphic border graphic border graphic border graphic border graphic
 
- General
- Architecture                 - Routing                        - Security                       - Alert Features               -Super-peer Environment - Client-peer Environment
- Screenshots
- Setup instructions
- Download
- Related Work
 
 
 

Super-peer Environment

In P2P-DIET there are many worlds. Each super-peer and each client has a different world, which means that each different computer represents a different world. All the worlds together are the P2P-DIET universe. Each world has one environment.

A world in a super-peer node has a super-peer environment, where 10 different types of agents live. A super-peer environment is shown in the following figure and in the following paragraphs we describe the agents that inhabit it.

 

 

The Data Management agent is the agent with the greatest number of responsibilities in the P2P-DIET universe. It holds and manages the local database of resource metadata and profiles. It solves the query problem: Given a database of resource metadata db and a query q, find all resource metadata r  in db that match q. Additionally, it solves the satisfiability problem, the filtering problem and the entailment problem. Moreover, it arranges rendezvous, it stores notifications and rendezvous files and it assigns unique keys to the new clients. A Data Management agent can create Notification Carriers and Messengers.

The Fault-Tolerance agent is an agent that works continuously in all super-peer environments. Each super-peer environment has one Fault-Tolerance agent. This agent is responsible for periodically checking the clients agents, that are supposed to be alive and are served by this super-peer. The agents of the neighbor super-peers are checked too, to guarantee connectivity. The Fault-Tolerance agent can create Are-You-Alive agents.

The Are-You-Alive agent is a mobile agent that is sent by the Fault-Tolerance agent to a remote client-peer environment or super-peer environment to check whether the local agents are alive or not. The Are-You-Alive agent will return to its original environment with the answer. In each super-peer environment there is an Are-You-Alive agent pool where agents wait for the local Fault-Tolerance agent to assign them a remote environment to check. All Are-You-Alive agents return to their original environment to inform the local Fault-Tolerance agent on the status of the remote environment that they checked and then they stay in the local Are-You-Alive agent pool.

The Clock agent is a scheduler for the Fault-Tolerance agent. It decides when it is the right time to send messages or to check for replies.

The Router is responsible for the correct flow of messages in the network. It holds the shortest path table and the spanning tree table of the local super-peer. Mobile agents travel around the network using information from the local Router on each super-peer environment where they arrive.

The Build-Spanning-Tree-Scheduler is a very lightweight agent that decides when it is the right time for a Router to build its routing paths when the network is in an unstable condition.

The Subscriber is a mobile agent that is responsible for subscribing a profile of a client. The Subscriber starts from a client environment. It will migrate to the super-peer environment of the access point of the client to subscribe the profile. Then, it will travel to all super-peers of the network to subscribe the profile or to find answers on resources that preexisted which matched the profile (this depends on the profile hierarchy). It destroys itself when it returns to the client-peer environment or when there is no more super-peers to visit.

The Notification Carrier is a mobile agent that is responsible for delivering a notification to a client C or its access point AP in the case that the client is not online to receive the notification. The Notification Carrier starts from a super-peer environment SP and travels along the shortest path to the super-peer environment of AP and from there migrates to the client-peer environment of C if the client is online. Note that it is not possible for the Notification Carrier to travel directly to the client environment for two reasons. First, the super-peer SP does not know the IP address of C. Second, the notification must arrive to environment AP because more than one clients may have profiles that match the notification. A Notification Carrier destroys itself after it has delivered the notification to the client or when it arrives to the access point of the client and the client is not online.

The Query-Answering agent is a mobile agent that searches for answers to a specific query of a client. A Query-Answering agent will start from a client and then will travel to all super-peers of the network to find all possible answers to the query starting from the access point of the client. It dies when it returns to the client-peer environment or when there are no more super-peers to visit.

A Messenger is a mobile agent that implements remote communication between agents in different worlds. A Messenger is a very lightweight agent that will migrate to a remote environment and deliver a message to a target agent. We need Messengers to support simple jobs i.e, just send a message to a remote agent. In this way, we do not create a new type of agent for each simple job that is carried out by our system. Messengers can be used to support new simple features that require remote communication. Each environment has a messenger pool. When a Messenger arrives at an environment, it delivers the message and stays in the pool, if there is space. In this way, when an agent wants to send a remote message, it assigns the message to a Messenger from the pool unless the pool is empty, in which case a new Messenger will be created.

Subscribers, Notification Carriers, Query-Answering agents and Messengers use information from the local Router on each
super-peer environment that they arrive in order to find the address of their next destination. They use shortest paths and minimum weight spanning trees to travel in the pure peer-to-peer network of super-peers. In this way, they may ask two types of questions to a Router:

I want to migrate to all super-peers and I started from super-peer X. The answer of the local Router to this question are the IP addresses of remote the super-peers that are children in the minimum weight spanning tree of the local super-peer.

I want to migrate to super-peer X. The answer of the local Router to this question is the IP address of the remote super-peer that is its neighbor and is in the shortest path from the local super-peer to the destination super-peer X.

 

 

border graphic Services border graphic
border graphic border graphic border graphic border graphic border graphic
 
- Recent News
- Search
- Downloads
- Useful Links
- Web Mail (restricted)
- Users (restricted)
 
border graphic   border graphic
border graphic About border graphic
border graphic border graphic border graphic border graphic border graphic
 

- Technical Univ. of Crete
- ECE Department
 
border graphic   border graphic

2003 Intelligent Systems Laboratory, TUC