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

Write program to simulate conversation with an old and deaf, You are going ...

You are going to write a program to simulate a conversation with an old, deaf relative. You can type your statements, and whatever you say, the relative will reply randomly with on

What are vectored interrupts, What are vectored interrupts? To decrease...

What are vectored interrupts? To decrease the time involved in the polling process, a device requesting an interrupt may recognize itself directly to the processor. Then the pr

Explain the fixed logic versus programmable logic, Explain the Fixed Logic ...

Explain the Fixed Logic Versus Programmable Logic? The Logic devices can be classified into two broad categories - fixed and programmable. The same as the name suggests, the ci

Define micro routine and microinstruction, Define micro routine and microin...

Define micro routine and microinstruction. A sequence of control words corresponding to the control sequence of a machine instruction represents the micro routine for that ins

Origin of RISC, Q. Origin of RISC? In the 1980s a new philosophy develo...

Q. Origin of RISC? In the 1980s a new philosophy developed having optimizing compilers which could be used to compile 'normal' programming languages down to instructions which

Explain compiler, What is compiler? A system software program known as ...

What is compiler? A system software program known as a compiler translates the high-level language program into a suitable machine language program having instruction such as t

Find minimum number of resource so that no deadlock arise, An operating sys...

An operating system contains 3 user processes each requiring 2 units of resource R. The minimum number of units of R such that no deadlocks will ever arise is? Ans. The minimum

And-introduction rule, And-Introduction: In generally English says tha...

And-Introduction: In generally English says that "if we know that a lot of things are true, so we know that the conjunction of all of them is true", then we can introduce conj

Target - data phase, Target abort -computer architecture: Usually, a t...

Target abort -computer architecture: Usually, a target holds DEVSEL# asserted through the final data phase. However, if a target desserts DEVSEL# before disconnecting without

Gantt chart, The Gantt chart shows the several activities of each processor...

The Gantt chart shows the several activities of each processor with respect to progress in time in idle-overhead -busy modes with respect to each processor. Kiviat diagram:  Th

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