0% found this document useful (1 vote)
147 views6 pages

Client-Server Computing System Design

This document provides the details of an assignment for a BTEC HND in Computing course. The assignment asks students to [1] design and implement a client-server computing system to understand related concepts and protocols. Specifically, students must analyze communication processes and differences between PPID and PID, examine application layer protocols using Wireshark, and create UDP and TCP systems in Linux. [2] The assignment is based on a scenario where students work as a junior system administrator for a Nepalese IT company. [3] Students must submit a technical report and presentation slides demonstrating their client-server design and implementation.

Uploaded by

Athl S
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
147 views6 pages

Client-Server Computing System Design

This document provides the details of an assignment for a BTEC HND in Computing course. The assignment asks students to [1] design and implement a client-server computing system to understand related concepts and protocols. Specifically, students must analyze communication processes and differences between PPID and PID, examine application layer protocols using Wireshark, and create UDP and TCP systems in Linux. [2] The assignment is based on a scenario where students work as a junior system administrator for a Nepalese IT company. [3] Students must submit a technical report and presentation slides demonstrating their client-server design and implementation.

Uploaded by

Athl S
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
  • Assignment Submission Format
  • Assignment Task
  • Scenario
  • Purpose of this Assignment
  • Evaluation Criteria
  • Plagiarism Notice

INTERNATIONAL SCHOOL OF MANAGEMENT AND TECHNOLOGY

KATHMANDU, NEPAL

Qualification Unit Number & Title


BTEC HND IN COMPUTING L/615/1680 - Unit 36: Client/Server Computing Systems
Student Name Assessor Name
Sunil Shrestha
Assignment Launch Date Due Date Completion Date
07/29/2021 09/28/2021
Session/Year Assignment Number 1/1
Assignment Title Design and Implementation of Client Server computing system

Assignment submission format

Each student has to submit their assignment as guided in the assignment brief. The students
are guided what sort of information is to produce to meet the criteria targeted. You are
required to make use of headings, paragraphs and subsections as appropriate, and all work
must be supported with research and referenced using the APA referencing system.

Learning outcomes covered

 LO1. Explore the concepts of servers, clients, and processes and the differences
between PPID and PID.

 LO2. Analyze the communication processes between clients and servers in different
application protocols with records captured from the internet.
 LO3. Create a client/server model in a Linux system with User Datagram Protocol
(UDP), Transmission Control Protocol (TCP) and Application Layer protocols.
Purpose of this assignment

The purpose of this assignment is to enable learners to understand concepts of servers, clients
and processes, and client-server computing concepts, how they work, how they operate, and the
protocols, standards, and models associated with client-server technology.

Scenario

Nepal IT solution, established under the Company Act 2053 as a public limited company on
2063/02/22). Nepal IT solution is the foremost IT service provider company established by
private investors. The promoters of the company are a group of well-known IT experts,
businessmen, and business houses of Nepal. Within the 12 years of operation, the Company has
set up an excellent business record and has a strong financial position.
To meet the growing customer needs and market demands, the company expanded its system and
network infrastructure to provide services like email service, Internet service, Domain
registration, Web hosting, and Network Management and Monitoring service, Company wants to
upgrade the system by improving IT skills of their staffs by training.
Nepal IT solution has hired you as a junior System Administrator to design and implement most
suitable system architecture solution for their business. Your major responsibilities are to plan,
manage, design, implement and optimize the system and network that fulfill the company's
current needs. Major tasks are as below:
 Explore the concepts of servers, clients, and processes and the differences between PPID
and PID.
 Analyse the communication processes between clients and servers in different application
protocols with records captured from the internet.
 Examining the different application layer protocols used in client-server computing
captured with Wireshark.
 Create the client and server model in a Linux system with UDP/TCP and any application
layer protocol.
 Attach the presentation slides that you have prepared.
 Submit the report.

The company has asked you to produce a final report of your design and implementation that
demonstrates your understanding of the principle of Client-Server computing.

Assignment Task
With reference to the scenario, prepare a report which:

PART 1

Produce Technical report which illustrate the communication processes between


servers and clients and compare parent process and child process PID and PPID.

Further to the above task you are required to recognize parent process and child process
in a communication record (such as the records obtained by Wire Shark) between servers
and clients and design a model composed of parent process and child process to realize a
simple function. It is recommended that you design a realistic model to realize a
function in real life using an Application Layer protocol.

Yu are required to examine the concepts and functions of several Application Layer
Protocols and operate wire shark software and recognize the different windows in the
wire shark interface.

Illustrate the communication processes of Application Layer protocols based on the


client/server system.

Analyze communication records captured from the internet based on Application


Layer protocols.

PART 2

Create a client/server model in a Linux system with User Datagram Protocol (UDP),
Transmission Control Protocol (TCP) and Application Layer protocols.

Build a system with DNS and illustrate it by a flowchart and do implement the created
DNS system in Linux.

You may implement the system with some advanced functions such as breakpoint
resume.
Pass Merit Distinction
LO1 Explore the concepts of servers, clients, and processes and
the differences between PPID and PID
P1 Illustrate the M1 Recognize parent process LO1 and LO2
communication processes and child process in a
between servers and clients. communication record (such as D1 Design a realistic
the records obtained by Wire model to realize a function
P2 Compare parent process shark) between servers and in real life using an
and child process, PID and clients. Application Layer
PPID. protocol.
M2 Design a model composed
of parent process and child
process to realize a simple
function.
LO2 Analyze the communication processes between clients and
servers in different application protocols with records captured
from the internet
P3 Examine the concepts and M2 Illustrate the communication
functions of several processes of Application Layer
Application Layer protocols. protocols based on the
client/server system.
P4 Operate Wireshark
software, and recognize the M4 Analyze communication
different windows in the records captured from the
Wireshark interface. internet based on Application
Layer protocols.

LO3 Create a client/server model in a Linux system with User


Datagram Protocol (UDP), Transmission Control Protocol LO3
(TCP) and Application Layer protocols D2 Implement the system
P5 Create a UDP system in M5 Build a system with DNS with some advanced
Linux. and illustrate it by a flowchart. functions such as
breakpoint resume.
P6 Create a TCP system in M6 Implement the created DNS
Linux system in Linux.

Grades Achieved
Note: Refer the unit details provided in your handbook when responding all the tasks above.
Make sure that you have understood and developed your response that matches the highlighted
key words in each task.

Plagiarism Notice

You are reminded that there exist Academic Misconduct Policy and Regulation concerning
Cheating and Plagiarism.

Extracts from the Policy:

Section 3.4.1: Allowing others to do assignments / copying others assignment is an offence


Section 3.4.2: Plagiarism, using the views, opinion or insights / paraphrasing of another person’s
original phraseology without acknowledgement
Requirements

 It should be the student’s own work – Plagiarism is unacceptable.


 Clarity of expression and structure are important features.
 Your work should be submitted as a well presented, word-processed document with
headers and footers, and headings and subheadings, both in hard and soft copies.
 You are expected to undertake research on this subject using books from the Library, and
resources available on the Internet.
 Any sources of information should be listed as references at the end of your document
and these sources should be referenced within the text of your document using APA
Referencing style
 Your report should be illustrated with screen-prints, images, tables, charts and/or
graphics.
 All assignments must be typed in Times New Roman, font size 12, 11/2 spacing.

The center policy is that you must submit your work within due date to achieve “Merit”
and “Distinction”. Late submission automatically eliminates your chance of achieving
“Merit and Distinction”. Also, 80% attendance is required to validate this assignment.

I declare that all the work submitted for this assignment is my own work and I understand that if
any part of the work submitted for this assignment is found to be plagiarised, none of the work
submitted will be allowed to count towards the assessment of the assignment.

Assignment Prepared By Signature Date


Binod Shah June 29, 2021

Brief Checked By Signature Date

Dhruba Babu Joshi July 08, 2021

Common questions

Powered by AI

Creating a client/server model in a Linux system presents several challenges, such as managing network configurations, ensuring compatibility with existing systems, handling multiple clients efficiently, and debugging potential security vulnerabilities. To address these, developers can use robust networking tools to properly configure and manage ports and IP addresses. Ensuring code compliance with standard protocols and implementing robust error handling and logging practices can enhance compatibility and security. Additionally, proper use of Linux's process management tools like fork() and exec() can help manage multiple client requests efficiently .

To compare parent and child processes in communication records acquired via Wireshark, methodologies such as process tree analysis and packet tracing can be employed. Process tree analysis helps in visualizing the relationship and hierarchy between processes using their PIDs and PPIDs. Packet tracing allows tracking of the sequence of sent and received packets, identifying the initiator (parent) and subsequent (child) communications. Additionally, timestamp analysis can decipher the temporal sequence and interaction pattern between processes. These methodologies provide insight into process dependencies, aid in identifying bottlenecks, and support robust network troubleshooting .

An assignment focusing on designing and implementing a client-server system can significantly enhance students' IT skills and competencies by providing hands-on experience with real-world computing concepts. It enables students to apply theoretical knowledge to practical scenarios, develop problem-solving skills, and gain a deeper understanding of network protocols and system architecture. By working through the process of client-server communication, protocol analysis, and system optimization, students also improve skills such as coding, debugging, and network analysis, which are essential in the IT field .

Understanding the differences in communication processes of various application layer protocols is crucial in a client-server architecture because each protocol has unique functions and characteristics tailored for specific types of data exchange. For instance, HTTP is used for web data transfer, SMTP for email communication, and DNS for domain resolution. Recognizing these differences allows for optimal protocol selection according to the application's requirements, helps in tuning performance, enhances security, and ensures efficient data handling and resource allocation within the client-server model .

Developing a DNS system in Linux enriches understanding of network infrastructure and client-server interactions by exposing students to the fundamental processes involved in translating domain names into IP addresses, an essential function for network communication. It provides practical insights into how server hierarchies work, the flow of DNS queries, and the importance of caching and recursion in DNS. This hands-on experience with configuring and managing DNS services enhances one's ability to troubleshoot network issues and optimizes domain resolution performance, strengthening the overall comprehension of network systems .

The Parent Process ID (PPID) and Process ID (PID) are crucial for process management in computing systems. The PID is a unique identifier for each running process, while the PPID is the identifier of the parent process that created it. In client-server systems, understanding these IDs is vital for resource management as they help track which processes are running as clients or servers and assist in managing their life cycles, ensuring efficient resource allocation and preventing orphan processes. This hierarchical structure allows for better process control, signal delivery management, and implementation of control mechanisms like process priority and scheduling policies .

A comprehensive client-server model implementation on a Linux system using UDP (User Datagram Protocol) and TCP (Transmission Control Protocol) involves several key elements. For TCP, it includes establishing a reliable connection that involves a three-way handshake, ensuring data integrity, and error recovery. UDP, being connectionless and faster, is used where speed is prioritized over reliability. The implementation should involve programmatically coding both client and server components, setting up sockets, handling ports, and ensuring proper resource management. Protocol-specific details such as sequence numbers, acknowledgments for TCP, and datagram management for UDP, should be managed effectively to ensure robust system performance .

Educational assignments can be structured to mitigate risks of plagiarism and encourage genuine learning by including personalized elements requiring unique solutions, such as using real-life scenarios relevant to students' environments. Encouraging exploratory tasks that promote individual research and creativity over rote learning can reduce redundancy. Implementing peer reviews and iterative submission processes can enforce continuous learning and provide opportunities for feedback. Clear guidelines on citation expectations and the introduction of technology-based plagiarism detection tools also promote originality and academic integrity .

Implementing advanced features such as breakpoint resume in a DNS system can significantly enhance its functionality and reliability. Breakpoint resume allows DNS queries or updates that were interrupted due to network failures to restart from where they left off, rather than starting over. This minimizes data redundancy and latency, improves user experience, and enhances system robustness, especially in environments prone to connectivity issues. Such features aid in maintaining consistent service delivery and reduce the risk of data corruption or loss during transmission interruptions .

Wireshark can be used to analyze the functionality and performance of application layer protocols by capturing and inspecting data packets transmitted over a network. It helps in identifying the different types of protocols being used and analyzing their communication processes. For instance, Wireshark can show how HTTP, SMTP, or DNS requests and responses are handled, allowing for evaluation of latency, packet loss, and throughput, as well as detection of anomalies like malformed packets. This insight allows for optimization of protocol interactions and enhancement of client-server system performance .

INTERNATIONAL SCHOOL OF MANAGEMENT AND TECHNOLOGY 
KATHMANDU, NEPAL
Qualification
Unit Number & Title
BTEC HND IN COMPUTING
L
Purpose of this assignment
The purpose of this assignment is to enable learners to understand concepts of servers, clients 
a
With reference to the scenario, prepare a report which:
PART 1 
Produce Technical report which illustrate the communication p
Pass
Merit
Distinction
LO1 Explore the concepts of servers, clients, and processes and 
the differences between PPID and PID
Note: Refer the unit details provided in your handbook when responding all the tasks above. 
Make sure that you have understo
Binod Shah
June 29, 2021
Brief Checked By
Dhruba Babu Joshi
Signature
Date
July 08, 2021

You might also like