WALLAGA UNIVERSITY
COLLEGE OF CET
SCHOOL OF INFORMATICS
DEPARTMENT OF INFORMATION TECHNOLOGY
ASSINGMENT OF DISTRIBUTED SYSTEMS
GROUP NAME………………………..……………………………ID_No
1, Amanuel Gurara………………….……………………………..1601159
2, Wakjira Kenea………………………………………….………1600726
3, Alula Wakjira………………………………………….………..1702376
4, Sagni Samuel…………………………………………….……..1600608
5, Talile Tesfaye …………………………………………..………1600684
6 , Megarse Gemeda………………………………………..……......1600460
Applications of Distributed Systems
Definition of Distributed Systems
A distributed system is a collection of independent computers that work together as a single system to achieve a
common goal. These computers communicate and coordinate their actions by passing messages, allowing them
to share resources and process tasks efficiently.
Distributed systems are widely used in modern technology because they provide scalability, reliability, and high
performance.
1. Internet and Web Services
The internet is a global system of interconnected computer networks that communicate using standardized
protocols. It is the largest example of a distributed system.
It enables users around the world to access information, communicate, and share data seamlessly.
Components
Web Servers:
These are systems that store websites and respond to user requests.
Content Delivery Networks (CDNs):
CDNs distribute content across multiple geographically distributed servers to reduce delay and improve
performance.
Peer-to-Peer Networks:
These networks allow users to share data directly without relying on a central server.
Example
Wikipedia uses distributed servers across different continents. When a user requests a page, the system directs
the request to the nearest server. This reduces latency, balances traffic, and allows millions of users to access
content at the same time.
1
2. Cloud Computing
Cloud computing is a model that delivers computing services such as storage, processing power, and
networking over the internet using distributed systems.
Major Providers
Amazon Web Services (AWS)
Microsoft Azure
Google Cloud Platform (GCP)
Advantages
Scalability: Easily increase or decrease resources as needed.
Fault Tolerance: System continues working even if some components fail.
Cost Efficiency: Users pay only for what they use.
Global Accessibility: Services can be accessed from anywhere.
Example
Amazon S3 stores data by copying it across multiple servers and data centers. If one server fails, another copy is
instantly available, ensuring high reliability and availability.
3. Social Media Platforms
Social media platforms are online systems that allow users to create, share, and interact with content in real time
using distributed infrastructure.
Technologies Used
Distributed Databases: Store large volumes of user data and posts.
Caching Systems: Improve speed by storing frequently accessed data.
Messaging Systems: Enable real-time communication and updates.
Example
Facebook uses distributed systems to store and replicate posts. When a user likes or comments, the update is
instantly shared across servers so other users can see it in real time.
4. Financial Systems
Financial systems are digital platforms used for managing financial transactions such as payments, trading, and
banking, often relying on distributed systems for speed and security.
2
Applications
Stock exchanges
Online banking
Payment processing systems
Challenges
Handling large volumes of transactions
Ensuring security and preventing fraud
Maintaining real-time synchronization
Example
NASDAQ uses distributed databases to process high-frequency trades. Data is replicated across servers to
ensure fast and accurate transaction processing.
5. Online Marketplaces
Online marketplaces are e-commerce platforms where buyers and sellers interact, supported by distributed
systems to manage large-scale operations.
Functions
Product catalog management
Inventory tracking
Payment processing
Technologies Used
Distributed databases
Caching systems
Recommendation engines
Example
Amazon manages millions of products using distributed databases. When a user searches for a product, the
system quickly retrieves accurate results, even during peak shopping times.
When shopping on Amazon:
The user interface allows browsing and placing orders.
APIs handle payments and inventory updates.
Middleware ensures the order is sent to the correct warehouse.
3
6. Emerging Applications
Emerging applications are new and rapidly developing areas where distributed systems are being applied to
solve complex problems.
Key Areas
Blockchain:
A decentralized system that records transactions securely without a central authority.
Internet of Things (IoT):
A network of interconnected devices that collect and exchange data.
Artificial Intelligence (AI):
Uses distributed computing to train and run machine learning models efficiently.
Example
Bitcoin uses blockchain technology to record transactions in a secure and transparent way without relying on a
central authority.
Computer Networks vs Distributed Systems
1. Computer Networks
A computer network is a structured system that connects multiple computers and digital devices, allowing them
to share data, resources, and communication channels efficiently. Through networking, devices can exchange
information seamlessly, regardless of their physical or geographical location. This creates a unified environment
that supports collaboration, communication, and easy access to shared resources.
Types of Networks
Local Area Network (LAN):
A LAN connects computers within a limited area such as an office, school, or laboratory.
Wide Area Network (WAN):
A WAN spans large geographic areas, connecting cities, countries, or even continents.
Metropolitan Area Network (MAN):
A MAN covers a city or metropolitan region and connects multiple LANs together.
Personal Area Network (PAN):
A PAN is a small-scale network used for personal devices such as smartphones, laptops, and tablets.
Components of a Computer Network
Routers:
Devices that direct data traffic between different networks.
Switches:
Used within a LAN to ensure data is sent to the correct destination device.
Hubs:
Basic networking devices that broadcast data to all connected devices.
4
Modems:
Devices that convert signals between digital and analog formats, enabling internet connectivity.
Protocols
TCP/IP (Transmission Control Protocol/Internet Protocol):
The fundamental protocol that governs how data is transmitted across networks.
HTTP/HTTPS:
Protocols used for web communication, with HTTPS providing secure communication.
FTP (File Transfer Protocol):
Used to transfer files between computers over a network.
Connectivity Media
Wired Media:
Includes Ethernet cables, coaxial cables, and optical fiber.
Wireless Media:
Includes Wi-Fi, Bluetooth, infrared, and cellular networks.
Functionality
The main purpose of a computer network is resource sharing. This includes sharing files, printers, applications,
and internet access. Networks improve productivity, reduce operational costs, and enable real-time
collaboration among users.
2. Distributed Systems
A distributed system is a collection of independent computers that work together to perform complex tasks.
Even though processing is distributed across multiple machines, the system appears to users as a single unified
system. This design allows distributed systems to handle large-scale operations efficiently while maintaining
reliability and performance.
Key Elements of Distributed Systems
Transparency:
The system hides its complexity and presents itself as a single, unified entity to users.
Scalability:
The system can grow easily by adding more machines without interrupting its operation.
Fault Tolerance:
The system continues to function even when some components fail, often by redistributing tasks or replicating
data.
Resource Sharing:
Processing power, storage, and data are shared across multiple machines to improve efficiency.
Decentralization:
There is no single central control point; decision-making is distributed across different nodes, enhancing
flexibility and security.
5
Examples of Distributed Systems
Cloud Computing Platforms:
Services like Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) provide
scalable computing resources over the internet.
Social Media Platforms:
Platforms such as Facebook and Twitter rely on distributed systems to manage millions or billions of users and
real-time interactions.
Financial Systems:
Systems like NASDAQ use distributed architectures to handle high-speed financial transactions.
Blockchain Systems:
Technologies like Bitcoin use decentralized networks to maintain secure and transparent transaction records.
Challenges for Computer Networks and Distributed Systems
Both computer networks and distributed systems face a variety of challenges that can impact their efficiency,
security, and scalability. Addressing these challenges is essential to ensure that systems remain reliable, robust,
and capable of meeting user demands.
1. Security Risks
Computer networks and distributed systems are highly vulnerable to cyber threats such as hacking, malware,
and data breaches. Protecting these systems requires strong security measures, including encryption, firewalls,
and continuous monitoring to prevent unauthorized access and attacks.
2. Complex Configuration
Setting up and maintaining networks and distributed systems can be complicated. Administrators must manage
hardware, software, and communication protocols, making the process time-consuming and prone to errors.
Proper configuration and regular maintenance are necessary to ensure smooth operation.
3. Scalability Issues
Although these systems are designed to scale, rapid growth in demand can put pressure on resources. Networks
may face bandwidth limitations, while distributed systems may struggle to balance workloads effectively across
multiple nodes.
4. Interoperability
Ensuring that different devices, platforms, and components work together seamlessly is a major challenge.
Compatibility issues between hardware, software, and protocols can disrupt communication and reduce system
efficiency.
6
5. Performance Bottlenecks
High traffic volumes or uneven distribution of tasks can overload system resources. This can result in delays,
reduced throughput, and a poor user experience if not properly managed.
6. Cost
Expanding and upgrading network infrastructure requires significant financial investment. Large-scale systems,
especially global networks and distributed environments, can be expensive to implement and maintain over time