Host cache agents, Computer Engineering

Assignment Help:

Your task is to program software agents able to send and receive messages according to the two Gnutella protocols above.

Your solution should have two types of agents: 

  •  Agents to simulate host caches - host caches supply information about which servent(s) are available. 
  •  Agents to simulate servents - servents come and go; when they go, they must let the host caches know about it. The fist time a servent connects to the network, they interact with the host cache agents as below, then they interact with other servents.

Host Cache Agents

You should program a host cache agent to behave as follows: 

1.  The first time a servent enters the network, it interacts with the host cache to "introduce" itself. The host cache should keep a record of all servents, and their status (online or offline). The host cache should be able to detect when a servent is returning or if it is its first time connecting to the network 

2.  After the registration is finished (if it is the first time the servent joins the network) or after updating the status of the servent (if a returning servent), the host cache supplies the servent with another servent id; these two servents interact as explained below.  The number of host caches is fixed; you are free to choose how many, but it should be more than one. Notice that the host caches are exactly the same, that is, they behave in the same and they only differ in their ids and the servents they have in their records. 

Servent Agents

You should program a servent agent to behave as follows:

1.  The servent initially interacts with the host cache agents to obtain one (1) servent it can "ping". If this is its first time joining the network, the host cache "registers" the new servent. 

2.  In possession of one servent id, the servent agent uses the "ping-pong" protocol to find out at most 4 (four) other servents (this number includes the servent whose if the host cache provided). This step should ensure each servent ends up with 4 neighbours

3.  When a servent agent receives a ping from another agent, it replies with a pong, but also forwards the "ping" message to one of its neighbours, as explained in our lectures. This forwarding of "ping" messages should go on for 3 "hops", guaranteeing that the servent that initiates the protocol ends up with 4 neighbours. 

4.  After the servent agent gets to "know" other servents, then it should search for a number of files. 

5.  The search should have a "TTL" (time-to-live) of n hops, where n is a parameter of the system (that is, it should not be hardcoded). The search should follow the peer-to-peer "flooded request" search algorithm, studied in our lectures.


Related Discussions:- Host cache agents

Define elimination of common sub expression, Explain Elimination of common ...

Explain Elimination of common sub expression during code optimization An optimizing transformation is a regulation for rewriting a segment of a program to enhance its execution

Address phase - computer architecture, Address phase: A PCI bus transa...

Address phase: A PCI bus transaction starts having an address phase. The initiator,  after seeing that it has GNT# and the bus is inactive, drives the target address onto the

What is directory, What is Directory?   The device directory or simply ...

What is Directory?   The device directory or simply called as directory records information-such as name, location, size, and type for all files on that certain partition. The

Write the game using writing functions, The year is 2199. For many generati...

The year is 2199. For many generations, the robotic Cyleth have faithfully served humanity. However, under the direction of the computerized superintelligence Skyweb, they have tur

Explain step by step switching system with neat diagram, With the help of a...

With the help of a neat diagram explain a step by step switching system. Configuration of a step by step switching system: A step by step switching system may be constr

What are the event key words in interactive reporting, What are the event k...

What are the event key words in interactive reporting? Event Keyword                                                 Event AT LINE-SELECTION         Moment at which the u

Difference between the fork -join and begin-end, Difference between the for...

Difference between the fork -join and begin-end. The fork - join keywords: Groups several statements together.Cause statements to be evaluated in parallel (all at the same

Calculate the complexity of sorting algorithms, How do you calculate the co...

How do you calculate the complexity of sorting algorithms? Find the complexity of Insertion sort and Bubble Sort.                 The difficulty of sorting algorithms depends o

The number of control lines for a 8 – to – 1 multiplexer, What is the numbe...

What is the number of control lines for a 8 - to - 1 multiplexer ? Ans. There are 3 control lines, for an 8 to 1 Multiplexer. The control signals are utilized to steer any one

What is a container class, What are the types of container classes in C++? ...

What are the types of container classes in C++?  Ans) A container class is a class that is used to hold objects in memory/external storage. A container class behaves as a ge

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd