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

Application area of artificial intelligence, 1. The State of the Art: What ...

1. The State of the Art: What can AI do today? A concise answer is difficult because there are so many activities in so many subfields. Here we sample a few applications other

Define relocation bits utilized by relocating loader, Relocation bits used ...

Relocation bits used by relocating loader are specified by? Ans. Relocation bits utilized by relocating loader are identified by Assembler or Translator.

Ring, Ring This is a easy linear array where the end nodes are connecte...

Ring This is a easy linear array where the end nodes are connected.  It is equivalent to a engage with wrap around connections. The data transmit in a ring is normally one dire

What is rdram, Direct Rambus DRAM or DRDRAM (sometimes just known as Rambus...

Direct Rambus DRAM or DRDRAM (sometimes just known as Rambus DRAM or RDRAM) is a type of synchronous dynamic RAM. RDRAM was formed by Rambus inc., in the mid-1990s as a replacement

What is a turing machine, What is a Turing Machine?  Turing machine is...

What is a Turing Machine?  Turing machine is a simple mathematical model of a computer. TM has unlimited an unrestricted memory and is a much more accurate model of a general

Webforms application and to an mvc application, What is the difference amon...

What is the difference among adding routes, to a webforms application and to an mvc application? Ans) To add routes to a webforms application, we use MapPageRoute() process of

Why we use addressing schemes, Q Why we use addressing schemes? An ope...

Q Why we use addressing schemes? An operation code of an instruction tells the operation to be performed. This operation is executed on some data stored in memory or register.

Explain host function, Explain Host function Host function: accepts nam...

Explain Host function Host function: accepts name of floating-point guest function with single floating-point argument as its first argument, evaluates this function at x (the

What is the function of alu, What is the function of ALU? Most of the c...

What is the function of ALU? Most of the computer operations (arithmetic and logic) are performed in ALU. The data needed for the operation is brought by the processor and the

List the steps needed to perform page replacement, List the steps needed to...

List the steps needed to perform page replacement. The steps required to perform page replacement are: 1. Find out which page is to be removed from the memory. 2. Perfor

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