Distributed Computing Systems (CSCI 4780/6780) – Project 4

Distributed Computing Systems

Consistent Hashing-based Naming Service

Introduction

In this project, you are going to implement a consistent hashing (CH)-based flat naming system. As we studied in the class, consistent hashing provides a lookup service for key-value pairs. The CH system stores (key, value) pairs on a distributed set of servers. These servers collaboratively provide lookup service along with insertion and deletion. In this project, you will implement the CH name servers and a boot-strap CH server, which is a special CH server with certain extra functionalities. In order to simplify the implementation, several assumptions are made as follows.

  1. The keys are assumed to be numbers in the range [0, 1023] (both inclusive). This mitigates the need for an extra hash-function. You can use the key value itself as the hash-value.
  2. Values are assumed to be alphanumeric strings (no special characters).
  3. The CH name server IDs are also numbers in [0, 1023] range.
  4. The Bootstrap name server has the ID 0. This will be a permanent node in the system. In other words, the system starts up by having only this bootstrap name server in the system (i.e., starting up this Bootstrap name server starts up the system). The Boot strap name server does not exit the system (when it closes down the DHT system is assumed to have closed down).
  5. The lookup, insertion and deletion operations are executed only at the Bootstrap name server. It provides a thread to interact with users and accepts lookup, insertion and deletion commands (see below for more details).
  6. The name servers (including the bootstrap name server) interact with one another using sockets primitive.
  7. Please note that you are implementing consistent hashing, which means that each name server only knows about it predecessor and successor name servers.
  8. It is assumed that the bootstrap name server is known to all other name servers (i.e., it is provided at startup).
  9. The entry and exit processes of name servers always start at the bootstrap nameserver.
  10. Entry, lookup, insertion and deletion traverse the servers in clockwise direction (i.e., by following successors).
  11. You can assume that there will not be any race conditions in the system (i.e., simultaneous lookups, insertions, deletions, entries and exits).

Bootstrap Name Server

As mentioned above the bootstrap name server is a permanent name server. Its startup signals the creation of the CH system and its close-down brings the entire system down. It is assumed that the Bootstrap name server is the first node in the system. In other words, at startup it is responsible for the entire [0, 1023] range.

The Bootstrap name server (bnserver) takes a single command line parameter – the name of the bootstrap name server configuration file (bnConfigFile). The bnConfigFile has the following format:

ID of the server (which is 0, as it is the Bootstrap name server)

Port number on which the Bootstrap server will wait for connections from other servers.

A series of initial key value pairs. One pair per line (key and value delimited by blank space).

An example bnConfigFile is available here.

Upon startup the Bootstrap name server will manage the entire [0, 1023] range until other servers join the system. The Bootstrap name server will also provide a user interaction thread. The user interaction thread will support the following commands.

lookup key à retrieves the value corresponding to the given key (if the key is in the system). If the given key is not in the system, “Key not found” should be printed. In addition to the value, this commands should also printout the sequence of server IDs that were contacted and the ID of the server from which the final response was obtained.

Insert key value à should insert the key value pair into the system. The command should print out the ID of the server into which the key value pair was inserted and the sequence of server IDS that were contacted.

delete key à should delete the key value pair corresponding to the given key. If successfully deleted, “Successful deletion” should be printed. If key was not in the system “Key not found” should be printed. In addition, the sequence of server IDs that were contacted in the deletion process should be printed.

Name Server

These are non-permanent servers in the system. Each name server has an ID (specified in the configuration file). Each name server is responsible for maintaining the key, value pairs for a specific range of keys as specified in the consistent hashing algorithm. Each name server knows its predecessor and successor name servers (i.e., it maintains the IP address and port number of its predecessor and successor name servers).

The Name server (nameserver) takes a single command line parameter – the name of the name server configuration file (nsConfigFile). The nsConfigFile has the following format:

ID of this name server (number in [1, 1023] range)

Port number on which this server will wait for connections from other servers.

IP address and port number of the Bootstrap server (delimited by space).

An example nsConfigFile is available here

Each name server will also provide a user interaction thread. The user interaction thread will support the following commands.

enter à the name server will enter into the system. This process is initiated by first contacting the Bootstrap server. It will figure out the range of the keys that it should maintain by following the consistent hashing protocol (i.e., traversing the existing name servers in clock- wise direction). It will acquire the key value pairs corresponding to its range from the name server that will become its successor name server. Once the entire entry procedure is complete, “successful entry” message is printed out. In addition, the following information is printed out:

  • The range of keys that will be managed by this server; (2) the ID of the predecessor and successor name servers; (3) the IDs of the servers that were traversed during the entry process.

exit à the name server will gracefully exit the system. The name server will inform its successor and predecessor name servers. It will hand over the key value pairs that it was maintaining to the successor. Upon successful exit, the server will print “Successful exit” message. It will also print out the ID of the successor and the key range that was handed over.

Points to Note:

  1. Several design decisions (such as messaging formats between name servers and data structures to be used in servers etc.) have been deliberately omitted. Coming up with a good design is a very important part of the project.
    1. You are allowed to make reasonable assumptions (if need be). However, those additional assumptions should not be contrary to the original CH protocol (for example, you should NOT assume that every name server knows about every other name server in the system). It is a good idea to talk to the instructor before making additional assumptions. The assumptions should also be mentioned in the readme file.
    1. Evaluation will be done through demos. What to submit:
  2. Your code for the entire system.
  3. A readme file containing (a) names of the students in the project group; (b) any additional assumptions, special compilation or execution instructions; and (c) the following statement – if it is true – “This project was done in its

entirety by <Project group member names>. We hereby state that we have not received unauthorized help of any form”. If this statement is not true, you should talk to the instructor before submission.

  • All submission will be done via ELC.
Order Now

Get expert help for Distributed Computing Systems and many more. 24X7 help, plag free solution. Order online now!

Universal Assignment (April 10, 2026) Distributed Computing Systems (CSCI 4780/6780) – Project 4. Retrieved from https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/.
"Distributed Computing Systems (CSCI 4780/6780) – Project 4." Universal Assignment - April 10, 2026, https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/
Universal Assignment May 6, 2023 Distributed Computing Systems (CSCI 4780/6780) – Project 4., viewed April 10, 2026,<https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/>
Universal Assignment - Distributed Computing Systems (CSCI 4780/6780) – Project 4. [Internet]. [Accessed April 10, 2026]. Available from: https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/
"Distributed Computing Systems (CSCI 4780/6780) – Project 4." Universal Assignment - Accessed April 10, 2026. https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/
"Distributed Computing Systems (CSCI 4780/6780) – Project 4." Universal Assignment [Online]. Available: https://universalassignment.com/distributed-computing-systems-csci-4780-6780-project-4-2/. [Accessed: April 10, 2026]

Please note along with our service, we will provide you with the following deliverables:

Please do not hesitate to put forward any queries regarding the service provision.

We look forward to having you on board with us.

Categories

Get 90%* Discount on Assignment Help

Most Frequent Questions & Answers

Universal Assignment Services is the best place to get help in your all kind of assignment help. We have 172+ experts available, who can help you to get HD+ grades. We also provide Free Plag report, Free Revisions,Best Price in the industry guaranteed.

We provide all kinds of assignmednt help, Report writing, Essay Writing, Dissertations, Thesis writing, Research Proposal, Research Report, Home work help, Question Answers help, Case studies, mathematical and Statistical tasks, Website development, Android application, Resume/CV writing, SOP(Statement of Purpose) Writing, Blog/Article, Poster making and so on.

We are available round the clock, 24X7, 365 days. You can appach us to our Whatsapp number +1 (613)778 8542 or email to info@universalassignment.com . We provide Free revision policy, if you need and revisions to be done on the task, we will do the same for you as soon as possible.

We provide services mainly to all major institutes and Universities in Australia, Canada, China, Malaysia, India, South Africa, New Zealand, Singapore, the United Arab Emirates, the United Kingdom, and the United States.

We provide lucrative discounts from 28% to 70% as per the wordcount, Technicality, Deadline and the number of your previous assignments done with us.

After your assignment request our team will check and update you the best suitable service for you alongwith the charges for the task. After confirmation and payment team will start the work and provide the task as per the deadline.

Yes, we will provide Plagirism free task and a free turnitin report along with the task without any extra cost.

No, if the main requirement is same, you don’t have to pay any additional amount. But it there is a additional requirement, then you have to pay the balance amount in order to get the revised solution.

The Fees are as minimum as $10 per page(1 page=250 words) and in case of a big task, we provide huge discounts.

We accept all the major Credit and Debit Cards for the payment. We do accept Paypal also.

Popular Assignments

Professional Nursing Assignment Help for Students: Achieve Academic Excellence with Expert Support

Introduction Nursing is a demanding field that combines theoretical knowledge with practical skills. Students pursuing nursing courses often face challenges in completing assignments that require accuracy, critical thinking, and real-world application. This is where nursing assignment help becomes an essential academic support system. With increasing academic pressure and clinical responsibilities,

Read More »

Economics Assignment Help: A Complete Guide for Students

Introduction Economics is a fundamental subject that helps students understand how markets, governments, and individuals make decisions regarding resources. While it is highly relevant in today’s world, many students find economics assignments challenging due to complex theories, graphs, and data analysis. This is where economics assignment help becomes extremely useful.

Read More »

Law Assignment Help: A Complete Guide for Students

Introduction Law is a complex and intellectually demanding field that requires critical thinking, analytical skills, and a deep understanding of legal principles. Students pursuing law often face challenges in completing assignments due to extensive research requirements and intricate case analysis. This is where law assignment help becomes highly beneficial. With

Read More »

Nursing Assignment Help: A Complete Guide for Students

Introduction Nursing is a highly respected and demanding field that requires a strong understanding of medical concepts, patient care, and clinical practices. Students pursuing nursing often face intense academic pressure due to complex assignments, practical responsibilities, and tight deadlines. This is where nursing assignment help becomes essential. With expert assistance,

Read More »

Finance Assignment Help: A Complete Guide for Students

Introduction Finance is a core subject in business and management studies, covering areas like investment analysis, financial management, and risk assessment. While it offers excellent career opportunities, many students find finance assignments challenging due to complex calculations and analytical concepts. This is where finance assignment help becomes essential. With expert

Read More »

Computer Science Assignment Help: A Complete Guide for Students

Introduction Computer Science is one of the most popular and dynamic fields of study, offering vast career opportunities in software development, data analysis, cybersecurity, and more. However, students often face difficulties in completing assignments due to the technical complexity and time constraints. This is where computer science assignment help becomes

Read More »

Digital Marketing Assignment Help: A Complete Guide for Students

Introduction Digital marketing has become a vital part of modern business strategies, making it a popular subject among students worldwide. From social media campaigns to search engine optimization, the field is dynamic and constantly evolving. However, completing assignments in this subject can be challenging due to its practical and analytical

Read More »

Cloud Computing Assignment Help: A Complete Guide for Students

Introduction Cloud computing has become a fundamental part of modern technology, powering everything from mobile apps to enterprise systems. As universities increasingly include this subject in their curriculum, students often find it challenging to keep up with assignments and projects. This is where cloud computing assignment help becomes essential. With

Read More »

Blockchain Assignment Help: A Complete Guide for Students

Introduction Blockchain technology has rapidly gained popularity across industries such as finance, healthcare, and supply chain management. As a result, it has become an important subject in academic programs worldwide. However, students often struggle with its technical concepts and practical applications. This is where blockchain assignment help becomes highly valuable.

Read More »

Data Science Assignment Help: A Complete Guide for Students

Introduction Data Science has become one of the most in-demand fields in today’s digital era, combining statistics, programming, and analytical thinking. However, many students find it difficult to keep up with the complexity of assignments and projects in this subject. This is where data science assignment help plays a crucial

Read More »

Artificial Intelligence Assignment Help: A Complete Guide for Students

Introduction Artificial Intelligence (AI) is transforming industries across the globe, making it one of the most sought-after academic subjects today. However, mastering AI concepts and completing assignments can be challenging for many students. This is where artificial intelligence assignment help becomes essential. With expert guidance, students can better understand complex

Read More »

Assignment Writing Services: A Complete Guide for Students

Introduction Assignments are a crucial part of academic life, helping students develop knowledge, research skills, and critical thinking. However, managing multiple assignments along with exams and personal responsibilities can be overwhelming. This is where assignment writing services become highly beneficial. These services provide expert assistance, helping students complete their assignments

Read More »

Blockchain Assignment Help: A Complete Guide for Students

Introduction Blockchain technology has emerged as one of the most revolutionary innovations in recent years. From cryptocurrencies to secure data management, blockchain is transforming industries like finance, healthcare, and supply chain. Students studying blockchain often face challenges due to its technical concepts and real-world applications. This is where blockchain assignment

Read More »

Assignment Writing Services: A Complete Guide for Students

Introduction Assignments are a crucial part of academic life, helping students develop knowledge, research skills, and critical thinking. However, managing multiple assignments along with exams and personal responsibilities can be overwhelming. This is where assignment writing services become highly beneficial. These services provide expert assistance, helping students complete their assignments

Read More »

Academic Writing Services: A Complete Guide for Students

Introduction Academic writing is a fundamental part of education, requiring students to produce essays, research papers, case studies, and dissertations. It demands strong writing skills, proper structure, and in-depth research. However, many students struggle with academic writing due to time constraints and lack of expertise. This is where academic writing

Read More »

Online Homework Help Services: A Complete Guide for Students

Introduction Homework is an essential part of a student’s learning process, helping reinforce classroom knowledge and improve understanding. However, with increasing academic pressure and multiple responsibilities, students often struggle to complete their homework on time. This is where online homework help services become highly beneficial. They provide expert guidance, save

Read More »

Thesis Writing Help: A Complete Guide for Students

Introduction A thesis is one of the most important academic documents a student will write during their educational journey. It requires in-depth research, critical analysis, and a clear presentation of ideas. However, many students find thesis writing overwhelming due to its complexity and time-consuming nature. This is where thesis writing

Read More »

Essay Writing Help: A Complete Guide for Students

Introduction Essay writing is a fundamental part of academic life, helping students express their ideas, analyze topics, and develop critical thinking skills. Whether it’s argumentative, descriptive, or analytical, writing a high-quality essay requires proper structure, research, and clarity. However, many students struggle with essay writing due to time constraints and

Read More »

Content Writing Assignment Help: A Complete Guide for Students

Introduction Content writing has become a crucial skill in the digital era, playing a key role in blogging, marketing, and online communication. From academic essays to website content, strong writing skills are essential for students across all fields. However, many students struggle with structuring content, maintaining clarity, and optimizing for

Read More »

Digital Marketing Assignment Help: A Complete Guide for Students

Introduction Digital marketing has become one of the most important skills in today’s online-driven world. From social media marketing to search engine optimization (SEO), businesses rely heavily on digital strategies to reach their audience. Students studying digital marketing often face challenges in understanding strategies, tools, and real-world applications. This is

Read More »

UI/UX Design Assignment Help: A Complete Guide for Students

Introduction UI/UX design is a crucial aspect of modern digital products, focusing on creating visually appealing and user-friendly interfaces. From websites to mobile apps, good design enhances user experience and engagement. Students studying UI/UX design often face challenges in creativity, tools, and usability principles. This is where UI/UX design assignment

Read More »

Can't Find Your Assignment?