0% found this document useful (0 votes)
10 views4 pages

Introduction to Distributed Systems

The document provides an introduction to parallel and distributed systems, outlining key concepts such as request forwarding in distributed systems, peer-to-peer computing, and client-server architecture. It also discusses byte ordering, various forms of transparency in distributed systems, and differentiates between functional and non-functional properties of a system. Examples are provided to illustrate these concepts, including the use of Skype for P2P and Google Drive for access transparency.

Uploaded by

chamnanton44
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views4 pages

Introduction to Distributed Systems

The document provides an introduction to parallel and distributed systems, outlining key concepts such as request forwarding in distributed systems, peer-to-peer computing, and client-server architecture. It also discusses byte ordering, various forms of transparency in distributed systems, and differentiates between functional and non-functional properties of a system. Examples are provided to illustrate these concepts, including the use of Skype for P2P and Google Drive for access transparency.

Uploaded by

chamnanton44
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ព្រះរាជាណាចក្រកម្ពុជា

ជាតិ សាសនា ព្រះមហាក្សត្រ

INTRODUCTION TO PARALLEL
AND DISTRIBUTED SYSTEMS
TP: 1
GROUP: I4-AMS(D3)

Name of Students ​ ID of Students ​ Score


1. Ton Chamnan e20210845 ​ ……….
2. Veng Mengsoklin ​ e20210095 ​……….
3. Vey Sreypich ​ ​ e20210708 ​ ​ ……….

Lecturer: Mr. KHEM Thay (Course and TP)

Academic Year 2024-2025


Answer

1.​ In a distributed system, servers work together over a network. When a request is
forwarded from one server to another, it usually happens through a process called "request
forwarding" or "proxying." This occurs when the first server (Server A) cannot handle the
request directly, so it passes it to another server (Server B) that can process it. Here’s how it
works:
o​ The client sends a request to Server A.
o​ Server A checks and sees it cannot handle it—maybe it doesn’t have the file or it’s too
busy.
o​ Server A sends the request to Server B, which has the resource or power to help.
o​ Server B processes it and sends the answer back, either through Server A or directly to
the client.

2.​ Peer-to-peer computing is a way for computers (peers) to share resources—like files,
processing power, or storage—directly with each other over a network, without needing a
central server to control everything. Each peer can act as both a client (asking for something)
and a server (giving something).

Characteristics of P2P Networks:

●​ Decentralized: No single point of control.


●​ Resource Sharing: Peers act as both clients and servers.
●​ Distributed Processing: Workload is spread across all peers.

❖​ Here's an Example:
Skype: Skype used P2P in its early days for voice and video calls and it worked by When I
called my friend, my computer connected directly to hers to send voice and video data. Other
users’ computers (peers) helped route the call if needed, instead of everything going through a
central Skype server. So, Peers shared the work of connecting calls, making it cheaper and more
scalable.

3.​ In a client-server program, the client asks for something, and the server provides it.
Between a web browser and web server:
●​ The client is your browser (like Chrome). It sends requests, like “Show me this
webpage.”
●​ The server is the web server (a computer online). It listens, finds what’s asked for, and
sends it back. It’s like HTTP and it’s work by:
o​ You type “[Link]” in Chrome.
o​ Chrome sends a request to Google’s web server.
o​ The server sends back the Google homepage, and Chrome shows it.
❖​ Example: When I go to Netflix, my browser (client) asks Netflix’s server for a movie
list. The server sends it, and I see it on my screen.
4.​ Byte ordering is how computers store numbers (integers) in memory. There Are two
ways: Big-Endian and Little-Endian.
●​ Big-endian (BE): Stores the most significant byte (the “big end”) first. This means that
the first byte (at the lowest memory address) is the largest, which makes the most sense to
people who read left to right. For instance, a 32-bit integer 0x12345678 would be stored in
memory as follows in a big-endian system:
Address: 00 01 02 03
Data: 12 34 56 78
​ Easy way to think: Like reading “1234” normally—big part (12) first.
●​ Little-endian means the smallest part of a number (the least significant byte) is stored
first, at the lowest memory address. It’s like writing a number backward, starting with the least
important digit. For the same 32-bit integer 0x12345678, a little-endian system would store it
as:
Address: 00 01 02 03
Data: 78 56 34 12
​ Easy way to think: Like flipping “1234” to “4321”—small part (78) first.

5.​ Here’s 8 forms of transparency are :


●​ Access Transparency: Allows user to access local and remote resources using the same
operation, hiding whether the resource is local or on a remote server
Example: Using Google Drive to open a file. It feels like opening a file on your own computer,
even though it’s stored on a remote server.
●​ Location Transparency: User can access recourse without knowing their physical or
network location
Example: DNS – Users enter [Link], but the IP address changes dynamically.
●​ Migration Transparency: Resources or processes can move between locations in the
system without affecting how the user or application interacts with them.
Example: Virtual Machine Migration – VMs shift between physical servers without downtime.
●​ Replication Transparency: Multiple copies (replicas) of a resource exist, but users see
only one consistent version, unaware of replication.
Example: CDN (Content Delivery Network) – Users fetch the nearest copy of a website.
●​ Concurrency Transparency: Multiple users or process can access shared resources
simultaneously without interference, and the system manage conflicts invisibly
Example: Online banking – Multiple users transfer money at the same time without conflicts.
●​ Failure Transparency: The system hides failures and recovers automatically, so user isn’t
disrupted
Example: RAID (Redundant Array of Independent Disks) – If one disk fails, data remains
accessible.
●​ Performance Transparency: The system adjusts to varying loads or conditions to
maintain consistent performance, without the user noticing the effort.
Example: Cloud platforms like AWS, Azure, and Google Cloud automatically adjust computing
power to keep websites running fast even when many users visit at once.
●​ Scaling Transparency: The system can grow in size or capacity without requiring
changes to how the user or application interacts with it.
Example: In Microservices Architecture, when a website gets a lot of visitors, the system
automatically adds more servers to handle the load. When traffic decreases, it removes extra
servers to save costs.

6.​ Find functional and nonfunctional properties of a system with EX (QoS):


➢​ Functional Properties (what the system does):
●​ Functionality: The specific capabilities a system provides
Example: An email system's ability to send, receive, and store messages
●​ Behavior: How the system responds to specific inputs
Example: An online banking system that transfers funds when a transfer request is made
●​ Specification Compliance: Meeting defined requirements
Example: A payment gateway implementing the required security protocols
➢​ Non-Functional Properties (how the system performs):
❖​ Examples:
●​ Reliability: The system should be available 99.9% of the time.
●​ Performance: The system should respond to user queries within 2 seconds.
●​ Security: The system should protect user data and ensure secure transactions.
●​ Scalability: The system should handle increasing numbers of users without performance
degradation.
●​ Adaptability: The system should adapt to changes in the environment, such as resource
availability or system configuration.

Common questions

Powered by AI

Security as a non-functional property impacts the functionality and user trust of an online banking system by ensuring secure access and transactions, protecting sensitive user data against unauthorized breaches. Strong security measures, like encryption and multi-factor authentication, maintain the integrity and confidentiality of user information, thus enhancing user trust. Security lapses can compromise system credibility and functionality, risking financial losses and damage to user trust .

Peer-to-peer computing enables direct data transmission among users without a central server, often improving scalability and reducing costs, as seen in Skype's early implementation. However, it can lead to security concerns and variable performance due to reliance on individual peers' capabilities. Centralized server-based methods offer more consistent performance and control but at the cost of higher infrastructure costs. The effectiveness of each system depends on the specific requirements and constraints, such as user demand and security needs .

Peer-to-peer computing is characterized by its decentralized nature, where no single server controls the system, and resource sharing is done among equal-status peers. Peers act as both clients and servers, sharing resources like files or computing power directly. Distributed processing spreads workload across all peers, increasing system scalability. An example is Skype in its early days, where users' computers connected directly to transmit voice and video data without a central server, enabling cost-effective scalability .

In a client-server interaction, when a user enters 'www.google.com' into a web browser like Chrome, the browser acts as the client and sends a request to Google's web server. The server, which functions as the provider, processes the request by locating the necessary data or resource, in this case, the Google homepage, which it then sends back to the client. The browser subsequently displays the homepage to the user, completing the interaction .

Migration transparency ensures that resources or processes can move across the distributed system's various locations without impacting how users or applications interact with them. An example is Virtual Machine (VM) Migration, where VMs can be transferred between physical servers to balance load or to maintain service during maintenance operations. Users continue their operations without interruption, oblivious to the underlying migrations, thus enhancing system robustness and flexibility .

Big-endian byte ordering stores the most significant byte first at the lowest memory address, reading data in the order humans typically read. For example, a 32-bit integer 0x12345678 is stored as 12 34 56 78 in big-endian systems. Little-endian byte ordering stores the least significant byte first, effectively reversing the order, storing the same integer as 78 56 34 12, which is akin to reversing the digits in a number .

Location transparency in distributed systems allows users to access resources without needing to know their physical or network locations. This abstraction simplifies user interaction by permitting seamless access regardless of geographical or network-based resource distribution. An example is a DNS service where users input a domain name, while the underlying IP address resolution is handled dynamically, enabling ease of access without manual configuration or awareness of the underlying location changes .

Non-functional properties crucial for determining a system's performance include reliability, performance, security, scalability, and adaptability. Reliability ensures system uptime; a performance benchmark is set for response times (e.g., 2 seconds for queries); security involves protecting user data and transactions; scalability is the ability to handle user growth without performance lapse; adaptability allows the system to adjust to environmental changes like varying loads. These properties collectively influence user satisfaction and system efficiency .

In a distributed system, request forwarding occurs when a client sends a request to a server that cannot handle it directly. Server A, upon realizing it cannot process the request due to limitations like lacking the necessary file or being too busy, forwards the request to Server B. Server B then processes the request as it has the required resources or power. The response can be sent back to the client either through Server A or directly from Server B .

Replication transparency hides the complexity of maintaining multiple copies of resources across a network, showing users only one consistent version. This is significant because it enhances data reliability and access speed while simplifying user interaction. An application example is a Content Delivery Network (CDN), which serves users the nearest copy of web content to reduce latency, providing a seamless user experience despite the complexities of underlying data replication and distribution .

You might also like