+91-9519066910
USA: +1(585)6662225, IN: +91-7503070001, IN:+91-9519066910

Assignment

Computing Skills Assignment Help

Matlab Assignment Help

COMP3331/9331 Computer Networks

Rating:
COMP3331/9331 Computer Networks

COMP3331/9331 Computer Networks

2. Goal and learning objectives

 

For this assignment, you will be asked to implement a part of the peer-to-peer (P2P) protocol  Circular  DHT  which  is  described  in  Section  2.6  of  the  text  Computer Networking (6th ed) and would be discussed in the lecture. A primary requirement for a P2P application is that the peers form a connected network at all time. A complication that a P2P network must be able to deal with is that peers can join and leave the network at any time. For example, if a peer leaves the network suddenly (because it has crashed), then the remaining peers must try to keep a connected network without this peer. It is therefore necessary to design P2P networks so that they can deal with these complications. One such method has been described in Section 2.6 of the text, under the heading of Peer Churn for circular DHT. You will also learn how to implement reliable data transmission over UDP.

 

2.1. Learning Objectives

 

On completing this assignment, you will gain sufficient expertise in the following

skills:

 

1.  Understanding of routing mechanism and connectivity maintenance in peer- to-peer systems, and Circular DHT in particular.

2.  Socket programming for both UDP and TCP transport protocols.

3.  Protocol and message design for applications.

4.  Basic understanding of creating a reliable connection.

 

3. Background


The following is extracted from the Peer Churn section of the text:

“In P2P systems, a peer can come or go without warning. Thus, when designing a

DHT, we also must be concerned about maintaining the DHT overlay in the presence of  such  peer  churn.  To  get  a  big-picture  understanding  of  how  this  could  be

accomplished, let’s once again consider the DHT in Figure 2.27(a) [Reproduced here

as Figure 1]. To handle peer churn, we will now require each peer to track (that is, know the IP address of) its first and second successor; for example, peer 4 now tracks both peer 5 and peer 8. We also require each peer to periodically verify that its two

successors are alive (for example, by periodically sending ping messages to them and asking  for  responses).  Let’s  now  consider  how  DHT  is  maintained  when  a  peer abruptly  leaves.  For  example,  suppose  peer  5  in  Figure  2.27(a)[Figure  1  in  this assignment spec] abruptly leaves. In this case, the two peers preceding the departed peer (4 and 3) learn that 5 has departed, since it no longer responds to ping messages.

Peers 4 and 3 thus need to update their successor state information. Let’s consider

how peer 4 updates its state: 

1.  Peer 4 replaces its first successor (peer 5) with its second successor (peer 8).

2.  Peer  4  then  asks  its  new  first  successor  (peer  8)  for  the  identifier  and  IP

addresses of its immediate successor (peer 10). Peer 4 then makes peer 10 its second successor. 

 

  •         assignment help auckland
  •         assignment help uk
  • assignment help london
  • assignment helper
  • assignment help experts
  • assignment help pros
  • assignment help australia
  • assignment help reviews
  • assignment help lytchett
  • assignment help app
  • assignment help accounting
  • assignment help auckland
  • assignment help aus
  • assignment help australia free
  • assignment help brisbane
  • assignment help blog
  • assignment help business management
  • assignment help bangladesh
  • assignment help birmingham
  • assignment help best
  • assignment help business
  • assignment help best price
  • ignou assignment help book
  • assignment help canada
  • assignment help cheap
  • assignment help center
  • assignment help computer science
  • assignment help cost
  • assignment help.com reviews
  • assignment help c++
  • assignment help contact
  • assignment help cape town
  • cheap assignment help
  • c programming assignment help
  • c language assignment help
  • assignment help delhi
  • assignment help deakin
  • assignment help durban
  • assignment help dublin
  • assignment help dubai
  • assignment help desk
  • mba assignment help dubai
  • assignment satisfaction key help desk
  • assignment help in abu dhabi
  • assignment help early childhood
  • assignment help engineering
  • assignment help economics
  • assignment help ecu
  • assignment help england
  • assignment essay help
  • assignment editing help
  • assignment easy help
  • assignment help - essay help singapore
  • assignment help firm
  • assignment help for nursing
  • assignment help from india
  • assignment help free online
  • assignment help for students
  • assignment help finance
  • assignment help for it
  • assignment help forum
  • assignment help griffith
  • assignment help gold coast
  • assignment help gumtree melbourne
  • assignment help gumtree perth
  • assignment help gumtree sydney
  • assignment help ghana
  • assignment help gif
  • assignment help hyderabad
  • assignment help hub
  • assignment help hub review
  • assignment homework help
  • assignment help help
  • assignment help in uk
  • assignment help ireland
  • assignment help in sri lanka
  • assignment help images
  • assignment help in canada
  • assignment help in melbourne
  • assignment help in singapore
  • assignment help in malaysia
  • assignment help it
  • i need assignment help
  • assignment help jobs
  • assignment help jobs in india
  • assignment help java
  • assignment help johannesburg
  • online assignment help jobs in india
  • student assignment help jobs
  • online physics assignment help jobs
  • java assignment help india
  • javascript assignment help
  • assignment help kijiji
  • assignment help kenya
  • assignment help kolkata
  • kaplan assignment help
  • assignment help live chat
  • assignment help law
  • assignment help legit
  • my assignment help login
  • assignment help sri lanka
  • instant assignment help login
  • australian assignment help login
  • assignment help melbourne
  • assignment help malaysia
  • assignment help maldives
  • assignment help melbourne gumtree
  • assignment help melbourne vic
  • assignment help melbourne australia
  • assignment help matlab
  • assignment help mba
  • assignment help me
  • my assignment help
  • my assignment help reviews
  • my assignment help trustpilot
  • my assignment help samples
  • my assignment help melbourne
  • assignment help nepal
  • assignment help needed
  • assignment help now
  • assignment help nsw
  • assignment help nottingham
  • my assignment help nz
  • mba assignment help nmims
  • assignment help ottawa
  • assignment help online free
  • assignment help online malaysia
  • assignment help online reviews
  • assignment help online canada
  • assignment help online india
  • assignment help oman
  • assignment help on gumtree
  • assignment help pakistan
  • assignment help provider
  • assignment help programming
  • assignment help philippines
  • assignment help perth gumtree
  • assignment help perth australia
  • assignment help punjab
  • assignment help quora
  • assignment help qut
  • quick assignment help
  • quality assignment help
  • quantitative assignment help
  • assignment help rmit
  • assignment help required
  • assignment help reflective account
  • assignment research help
  • instant assignment help reviews
  • all assignment help review
  • uk assignment help reviews
  • r programming assignment help
  • rstudio assignment help
  • assignment help singapore forum
  • assignment help sites
  • assignment help statistics
  • assignment help sydney gumtree
  • assignment help services australia
  • assignment help sg
  • assignment help tutors
  • assignment help toronto
  • assignment help tafe
  • assignment help tutors review
  • assignment help tips
  • assignment help template
  • assignment help in the uk
  • assignment help uae
  • assignment help uts
  • assignment help uk review
  • assignment help university
  • assignment help urgent
  • assignment help uni
  • assignment help video
  • assignment help vortex essay
  • nursing assignment help victoria australia
  • vu assignment help
  • vhdl assignment help
  • vba assignment help
  • vlsi assignment help
  • assignment help websites
  • assignment help writing services
  • assignment help website review
  • assignment help writing
  • assignment help wiki
  • assignment writing help australia
  • assignment writing help us
  • assignment writing help in dubai
  • xero assignment help
  • assignment 04.01 help your friends
  • assignment help 4 you
  • assignment 05.05 can you help me
  • y assignment help
  • your assignment help
  • assignment help nz
  • assignment help new zealand
  • zoology assignment help
  • tefl assignment 1 help
  • tefl academy assignment 1 help
  • no 1 assignment help
  • assignment help 24/7
  • tefl assignment 2 help
  • tefl academy assignment 2 help
  • 24x7 assignment help
  • 247 assignment help
  • tefl academy assignment 3 help
  • cache level 3 assignment help
  • ilm level 3 assignment help
  • cert 3 childcare assignment help
  • assignment help 4 me reviews
  • assignment help 4 u
  • assignment 4 help
  • my assignment help 4 me
  • help 4 assignment reviews
  • assignment help 4 me review
  • 4 p's of marketing assignment help
  • 5chr assignment help
  • en1150 week 5 assignment helper
  • national 5 chemistry assignment help
  • assignment help 7

 

Having briefly addressed what has to be done when a peer leaves, let’s now consider what happens when a peer wants to join the DHT. Let’s say a peer with identifier 13 wants to join the DHT, and at the time of joining, it only knows about peer 1’s existence in the DHT. Peer 13 would first send peer 1 a message, saying ”what will be peer 13’s predecessor and successor?” This message gets forwarded through the DHT until it reaches  peer  12,  who  realises  it  will  be  peer  13’s  predecessor  and  its  current successor, peer 15, will become its successor. Next, peer 12 sends this predecessor and successor information to peer 13. Peer 13 can now join the DHT by making peer

15 its successor and by notifying peer 12 that it should be its immediate successor to peer 13. 

4. Assignment description 

For this assignment, you are asked to write a Java, C, or Python program which can handle query/response and peer churn (leaving only) for circular DHT as described in Section 3. However, there are a few important points that you need to note:


1.  You will be running each peer in an xterm on one machine. Therefore, tracking a peer no longer means knowing the IP address but in your case, it  means knowing the port numbers (we will further elaborate on this point later).

2.  You will not be able to use built in ping in OS  to determine whether the two successors of a peer are still alive. You will need to implement your own ping mechanism.

 

 

Please make sure that your P2P program is working in the CSE laboratory as we will test (and mark) your assignment using CSE machines.

 

If  your  program  does  not  work  on  CSE  machine,  you  will  get  ‘0’  mark  for

assignment as we cannot accept running the code on your own machine.

 

In the following description, we will continue to use the example in Figure 1, but a very important point that you need to note is that: you should not make any assumption regarding the number of peers and their identities in your program. The number of peers and their identities to be used for the evaluation can change from student to student. You should therefore make sure that you test that your program can deal with the general situation. You can assume that there would be no more than 10 peers and the peer identities is within the range of 0-255.

 

There are a number of mandatory requirements:

 

1.  You must name your program cdht.c, cdht.java, or cdht.py.

2.  This program uses 5 input arguments. The first three input arguments are all integers in the range of [0,255]. The fourth input is an integer value. And the final input is a value in the range of [0,1].  They are used to initialise the network as discussed in section 4.1 (initialization step).

3.  For python programs, please indicate the version of python you used clearly in the first lines of your report.

4.  For c programs, please include makefile with your submission and explain the process for making the file  in  your report.  You  must also show this on  your demo.



 DOWNLOAD SAMPLE ANSWER

Details

  • Number of views:
    105
  • PRICE :
    AU$ 140.00

Submit Works

Urgent Assignment Help

Our Top Experts


Karen Betty

Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...

55 - Completed Orders


Daphne Lip

Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...

52 - Completed Orders


Mr Roberto Tuzii

Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...

102 - Completed Orders


Harsh Gupta

To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...

109 - Completed Orders


ARNAB BANERJEE

JOB OBJECTIVE Seeking entry level assignments in Marketing & Business Development with an organization...

202 - Completed Orders


KARAN BHANDARI

Current work profile Project manager- The Researchers Hub (2nd Jan 2016 to presently working) Researc...

20 - Completed Orders


Tan Kumar Ali

Sales Assistant, Mito Marina Assigned to the Stationery dept – assisted in merchandising, stock taking...

100 - Completed Orders


Wesenu Irko

Personal Profile Dedicated and highly experienced private chauffeur. High energy, hardworking, punctua...

200 - Completed Orders


Lizzy Darley

I'm Lizzy, full time education specialist in English, Essay Writing, Economics and Maths. Having Assi...

109 - Completed Orders


CRYSTAL

HSC PREPARATION I specialise in English coaching programs for HSC students. My personalised and results-...

202 - Completed Orders