Developing large-scale distributed applications

Assignment Help Other Subject
Reference no: EM133131094

DDE602 Distributed Development

Implement a Large-Scale Distributed System

Learning Outcome 1: Prioritise and distinguish the core elements of distributed system technologies and trends in the industry;

Learning Outcome 2: Work independently with a distributed system-based problem and demonstrate knowledge of the core concepts of distributed development;

Learning Outcome 3: Reflect on research findings and demonstrate ability in developing large-scale distributed applications.

Learning Outcome 4: Critically evaluate distributed system development considering realistic planning.

Learning Outcome 5: Research and analyse various types of distributed system development projects considering scalability and fault tolerance.

Learning Outcome 6: Create and analyse a design strategy informing the development of distributed applications.

Task Summary

In this assignment, you will be implementing a peer-to-peer (P2P) application. The system will have a master and slaves and will be responsible for basic file sharing between peers.

The master in the system will implement a centralised index and be responsible for discovering new slaves, monitoring them, keeping track of what files they have and finally, redirecting peers to them to download the file.

In summary, you will

• Demonstrate an understanding of P2P computing concepts;
• Apply P2P concepts in code; and
• Produce scalable, fault tolerant and robust systems.

Context

Master

The master will listen on a well-known port for slaves to join the network. A slave will connect to the master when it wishes to advertise files available for download. The master will make note of that slave and periodically test its responsiveness. In the event that the slave cannot be reached, the master will remove the slave from its memory and no longer advertise it or its services to other peers.

Once joined, a slave will advertise to the master what files it has available for download. In this network, the names of the objects are mutually exclusive; that is, no other slave can advertise the same file name.

Slaves

In this network, slaves can either advertise files that can be downloaded by peers or they can search and download a specified file from a peer once it has been discovered by the master.

When a slave wishes to advertise files available for download, it contacts the master and advertises the file is available for download. Similarly, a slave may revoke a file being downloaded at any time. When this occurs, the master updates its central index of what is available on what peer.

When a slave wishes to download a file, it contacts the master and performs a search. If the file is found in the centralised index, the master returns the address of the slave and the requesting slave attempts to download the object from its peer.

Architecture and Behaviour

As the developer of this system you have complete design authority over how it will be implemented. In developing the system, you should take reasonable steps to ensure its robustness and best performance.

Task Instructions

To complete this assignment, follow these steps:

Step 1: Implement a P2P environment with one master instance and multiple slave instances, all listening to different ports. This can be implemented in a single computer or over multiple computers. Then, write programs for all the instances to connect with each other using necessary protocols.

Step 2: Implement your P2P system, such that if the master fails, peers can continue to discover and download files from one another.

Step 3: Implement the following:

o A protocol is implemented in the master to accept registrations from peers.
o The master implements an algorithm to monitor peers and manage the registrations of failures to connect to peers.
o The master is able to accept registrations of a file from peers and enforce mutual exclusion constraints.
o Peers implement a protocol to register availability and the files to the master.
o Slaves implement threads to act as both peers and slaves as outlined above. Both peers and slaves have the ability to identify and download objects using sockets.
o The master and slaves should be able to do all of the above in a scalable fashion with a growing number of activities between them.

Step 4: You can use the programming language of your choice. However, Python is recommended for this type of project. The code must be well formatted and conform to Python naming conventions. You also need to provide sufficient comments in the code.

Referencing

It is essential that you use appropriate APA style for citing and referencing research.

Attachment:- Distributed Development.rar

Reference no: EM133131094

Questions Cloud

What is the importance of different type of energy : What is the importance of different type of energy to economy in saudi ? and the reason behind the variation on consumption of energy sources?
Why the abolition of sweatshops in developing countries : Topic 1: What do you think, why the abolition of "sweatshops" in developing countries would make those countries and their citizens worse off?
Restaurant employee slipped on spilled soup and fell : Suggest some ways the restaurant owner might address this dilemma. What aspects of human resource management are involved?
How much profit could the restaurant earn today : Today there was a party at nearby office so the demand for pizza went up to 215.00 slices. How much profit could the restaurant earn today
Developing large-scale distributed applications : Reflect on research findings and demonstrate ability in developing large-scale distributed applications - Critically evaluate distributed system development
What icd-10-pcs code should be assigned : A patient had a total laparoscopic hysterectomy. What ICD-10-PCS code should be assigned?
Experiment that involves asking a person two questions : Consider the following experiment that involves asking a person two questions.
Explain the concept of break-even point : Explain the concept of break-even point. Why is it important? (Provide example). What are the methods that deal with uncertainty and risk? (Provide example)
Depth of insight into Global HRM and change management : Demonstrate your breadth and depth of insight into global HRM and change management.

Reviews

Write a Review

Other Subject Questions & Answers

  Discuss how you will report the results to families

One of the most important responsibilities you have as a leader in early childhood education is making sure that families understand their child's growth.

  Identify pertinent information from a first time patient

Identify pertinent information from a first time patient including demographic and insurance information.

  Write an essay about adaptive physical education

Write an essay about Adaptive physical education. At least one aspect of the annotated bibliography project that concerns you or one aspect of the annotated bibliography project that excites you.

  Explain whether a person can ever be rid of superstitions

Interview a family member or friend to discover a superstition that he or she believes in. Explain the nature of the event that led to the formation of this superstition. Does this information fit with your understanding of how the operant conditi..

  Discuss the impact of production relocation to cycle

7108IBA - Supply Chain Modelling - Griffith University - Discuss the impact of production relocation to cycle and safety stocks, try to pick appropriate

  What are the major challenges australia faces

BUECO 1509 - Federation University Australia - Comment on its growth rates over the period of last ten years about 300 words

  What police procedures are used during arrests

What police procedures are used during arrests, and how do these procedures lead people to feel confused, fearful, and dehumanized?

  How would you handle a work-related situation

How would you handle a work-related situation or directive that conflicts with your morals and beliefs? Would your answer to either question above be different.

  Attempting to overthrow the pro-communist sandanista

The Reagan White House funded the Contras, Nicaraguan rebels who were attempting to overthrow the pro-Communist Sandanista government

  Explain the process in which primary lenders make loans

Explain the process in which primary lenders make loans and then get the money back to re-loan.

  Write essay on medicare in brief

Write 6 pages essay on medicare using the following points:1. Introduction, 2. History of Medicare?, 3. Funding of Medicare?

  Range of methods and tools

Independently Research chosen technologies - evaluate and present findings on two of the technologies

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