0% found this document useful (0 votes)
5 views30 pages

Introduction

The document provides an overview of distributed systems, highlighting their characteristics, application domains, and design challenges. It discusses the importance of concurrency, security, scalability, and failure handling in such systems, while also detailing technologies like cloud computing and the World Wide Web. Additionally, it emphasizes the need for interoperability among heterogeneous components and the significance of transparency in user interactions.

Uploaded by

Yashwant Sahoo
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)
5 views30 pages

Introduction

The document provides an overview of distributed systems, highlighting their characteristics, application domains, and design challenges. It discusses the importance of concurrency, security, scalability, and failure handling in such systems, while also detailing technologies like cloud computing and the World Wide Web. Additionally, it emphasizes the need for interoperability among heterogeneous components and the significance of transparency in user interactions.

Uploaded by

Yashwant Sahoo
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

• A distributed system is one in which hardware or software


components located at networked computers communicate and
coordinate their actions only by message passing.

• Our definition of distributed systems has the following significant


consequences:

➢ Concurrency

➢ No Global Clock

➢ Independent Failures
Selected application domains and associated networked applications

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and
trading
The information society Web information and search engines, ebooks, Wikipedia; social
networking: Facebook and MySpace.
Creative industries and online gaming, music and film in the home, user-generated
entertainment content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps,
Google Earth
Science The Grid as an enabling technology for collaboration between
scientists
Environmental management sensor technology to monitor earthquakes, floods or tsunamis
Financial Trading System
• Trading systems receive data from multiple heterogeneous sources,
such as:
➢ Reuters market data events
➢ FIX protocol events (Financial Information eXchange)
• These sources use different formats and event technologies, creating a
heterogeneity challenge in distributed systems.
• Adapters are used to translate all incoming heterogeneous event formats
into a common internal format.
• Trading platforms must handle many event streams arriving at high
speeds.
• Automation is achieved through Complex Event Processing (CEP).
• CEP allows the system to compose multiple events into:
➢ logical patterns
➢ temporal patterns
➢ spatial patterns
• CEP helps identify meaningful trends or opportunities within fast-
moving event streams.
The Internet

• It is a vast interconnected collection of computer networks of

many different types.

• Multimedia services are available on the Internet enabling users to

access audio and video data including music, radio, TV channels,

phone, and video conferencing.


A typical portion of the Internet

intranet

ISP

backbone

satellite link

desktop computer:

server:
network link:
Intranet

An intranet is a portion of the Internet that is separately

administered and has a boundary that can be configured to

enforce local security policies.


A typical Intranet
email server Desk to p
co mp uters
print and other servers

Local area
Web server network

email server
print
File server
other servers
the rest of
the Internet
router/firewall
Mobile Networks
➢ Technological advances in device miniaturization and wireless
networking have led increasingly to the integration of small and
portable computing devices into distributed systems.

➢ These devices include:

❖Laptop computers

❖Handheld devices

❖Wearable devices

❖Devices embedded in appliances


Portable and Handheld Devices in a Distributed System
Cluster
• A type of parallel or distributed processing system, which
consists of a collection of interconnected stand-alone
computers cooperatively working together as a single, integrated
computing resource. The computers may be standard per
uniprocessor or multiprocessor.

• A cluster can be used for providing highly scalable services such as


search engines provide for users all over the Internet.
Grid
• A type of parallel and distributed system that enables the sharing,
selection, and aggregation of geographically distributed
autonomous resources dynamically at runtime depending on their
availability, capability, performance, cost, and users' quality-of-
service requirements.

The World Wide Web


• It is an evolving system for publishing and accessing resources and
services across the Internet.
The Web is built on three main standard technologies:
1. HTML (HyperText Markup Language)
• Defines the content, structure, and layout of web pages.
• Interpreted and rendered by web browsers.
2. URLs/URIs (Uniform Resource Locators / Identifiers)
• Provide a unique address for documents and resources on the Web.
• Enable browsers to locate and access web resources.
3. Client–Server Architecture using HTTP (HyperText Transfer Protocol)
• Browsers act as clients sending requests to web servers.
• Servers return documents and other resources.
Web Servers and Web Browsers

Web servers Browsers


[Link]
[Link]

Internet
[Link]
[Link]

[Link]

File system of [Link]


[Link] standards

[Link]
Cloud Computing
Design Challenges of Distributed Systems

Designers of distributed systems need to take the following challenges


into account:

1. Heterogeneity
❖ Heterogeneous components must be able to interoperate.

2. Openness
❖ Interfaces should allow components to be added or replaced.

3. Security
❖ The system should only be used in the way intended.
4. Scalability
❖ System should work efficiently with an increasing number of users.

❖ System performance should increase with inclusion of additional resources.

5. Failure handling
❖ Failure of a component (partial failure) should not result in failure of the
whole system.

6. Transparency
❖ Distribution should be hidden from the user as much as possible.
1. Heterogeneity

▪ Heterogeneous components that must be able to


interoperate, apply to all of the following:
➢ Networks

➢ Hardware architectures

➢ Operating systems

➢ Programming languages
▪ Examples that mask differences in network, operating
systems, hardware and software to provide heterogeneity are

➢ Middleware

➢ Internet protocols

➢ Mobile code
➢ Middleware
• It applies to a software layer and provides a programming abstraction.

• It masks the heterogeneity of the underlying networks, hardware,


operating systems and programming languages.

• Example: Common Object Request Broker (CORBA)

➢ Mobile Code
• It is the code that can be sent from one computer to another and run
at the destination. Example: Java Applets
2. Openness

▪ Distributed systems must be extensible.

▪ Openness is the characteristic that determines whether the system can

be extended and re-implemented in various ways.

▪ The first step in openness is publishing the documentation of

software components and interfaces of the components to make

them available to software developers.


3. Security
▪ Security for information resources has three components:

➢ Confidentiality
❖ Protection against disclosure to unauthorized individual.

➢ Integrity
❖Protection against alteration or corruption.

➢ Availability
❖Protection against interference with the means to access
the resources.
▪ Security Mechanisms are Encryption, Authentication,
Authorization

Security Challenges

▪ Denial of Service attacks


➢ It is an attempt to make a computer resource unavailable to its
intended users.

▪ Security of mobile code


➢ Mobile code needs to be handled with care.
4. Scalability

Challenges of designing scalable distributed systems are:

➢Controlling the cost of physical resources

➢Controlling the performance loss

➢Preventing software resources running out

➢Avoiding performance bottlenecks


5. Failure Handling
Techniques for dealing with failures:
• Detecting failures – Example: Checksums
• Masking failures –
Example: Retransmission of corrupt messages, File redundancy
• Tolerating failures
Example: Exception handling, Timeouts
• Recovery from Failure - Example: Rollback mechanisms
• Redundancy - Example: Redundant components
6. Transparency
• Access Transparency
It enables local and remote resources to be accessed using identical
operations.

• Location Transparency
It enables resources to be accessed without knowledge of their
physical or network location (Example: which building or IP address).

• Concurrency Transparency
It enables several processes to operate concurrently using shared
resources without interference between them.
• Replication Transparency
It enables multiple instances of resources to be used to increase
reliability and performance without knowledge of the replicas by users
or application programmers.

• Failure Transparency
It enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or
software components.
• Mobility Transparency
It allows the movement of resources and clients within a system
without affecting the operation of users or programs.

• Performance Transparency
It allows the system to be reconfigured to improve performance
as loads vary.

• Scaling Transparency
It allows the system and applications to expand in scale without
change to the system structure or the application algorithms.

You might also like