w2 1 Characterization of Distributed Systems
w2 1 Characterization of Distributed Systems
Systems
Source:
George Colouris, Jean Dollimore, Tim
Kinderberg & Gordon Blair (2012). Distributed
Systems: Concepts & Design (5th Ed.). Essex:
Addison-Wesley
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
2.1 Introduction
Networks?
Everywhere
E.g. : Internet, mobile phone networks, corporate
networks, factory networks, campus networks,
home networks, in-car networks, etc.
What are the differences and similarities of these
networks?
2.1 Introduction
What are distributed systems?
Systems that have hardware or software
components located at networked computers
Communication and coordination of actions are
done by passing messages
Networked computers may separated by any
distance
Separate continents, buildings, rooms
OR may be in the same room
2.1 Introduction
Features of distributed systems:
Concurrency
Concurrent program execution
No global clock
Coordination of actions
Independent failures
Failure in a machine would not known by other
machines
2.1 Introduction
Motivation for distributed systems:
Resource sharing
E.g. hardware components, software entity
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
2.2 Examples of distributed systems
2.2 Examples of distributed systems
Web search engine
An important tool for Internet users
Index the www contents (web pages, multimedia
sources, e-books, etc.
How many pages of pages do the web contain?
Over 63 billion
1 trillion unique web addresses
2.2 Examples of distributed systems
Massively multiplayer online games (MMOGs)
Large number of users interact through the
Internet
E.g. Sony Ever Quest II, EVE online
Fast response time, real-time propagation of event
2.2 Examples of distributed systems
Financial trading
Real-time access to a wide range of information
access (e.g. current share prices and trends,
economic and political development)
Example, Reuters & Financial Information
eXchange (FIX) events
2.2 Examples of distributed systems
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
Cloud computing
2.3 Trends in distributed systems
Cloud are implemented on cluster computers
to provide the appropriate scale and
performance required by such services
A cluster computer: a set of interconnected
computers that cooperate closely to provide a
single integrated high-performance computing
capability
A blade server: a computer server that has been
designed to minimize the use of physical space
and energy
2.3 Trends in distributed systems
Grid Computing
Is a form of cloud computing
Authorized users share processing power, memory
and data storage
Use to support scientific applications
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
2.4 Focus on resource sharing
Sharing of high-level resources
Disks and processors
Sharing of search engines, tools which servers
host these applications?
Computer-supported cooperative working
(CSCW)
A group of users who cooperate directly share
resources such as documents in a small closed
group.
2.4 Focus on resource sharing
Service: a distinct part of a computer system
that manages a collection of related resources
and presents their functionality to users and
applications.
E.g. File service, printing service, payment service
Service restricts resource access. A program is
required to handle resource access for effective
sharing .
2.4 Focus on resource sharing
Client-server computing:
Server: A running program (a process) that accepts
requests from programs running on other
computers
Client: The requesting process
Client invokes an operation client send a request
for an operation to be performed
Remote invocation complete interaction
between a client and a server
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
2.5 Challenges
As distributed systems are getting complex,
developers face a number of challenges:
Heterogeneity
Openness
Security
Scalability
Failure handling
Concurrency
Transparency
Quality of service
2.5 Challenges
Heterogeneity
Users access services and run applications on a
heterogeneous collection of computers and
networks in the Internet
Heterogeneity in the context of networks;
computer hardware, OS, programming languages,
implementations by different developers
Internet protocols are used by these different
entities to communicate to each other
2.5 Challenges
Heterogeneity
A standard that allows different entities to
communicate efficiently
Middleware : a software layer that provides a
programming abstraction and masking the
heterogeneity of the underlying networks,
hardware, OS and programming languages. E.g.
CORBA, RMI
Mobile code : a program code that can be
transferred from one computer to another and
run at the destination. E.g. Java Applet, Javascript
2.5 Challenges
Openness
Openness- can the system be extended and re-
implemented in different ways?
Key to openness availability of software
specification and documentation
Examples of specifications Request for Comment
(RFC) provides technical specification and
documentation about the systems
Open distributed systems distributed systems
that support resource sharing and extensible
2.5 Challenges
Security
The security components of information
resources
Confidentiality protection against disclosure to
unauthorized individuals
Integrity protection against alteration or corruption
Availability - protection against interference with the
means to access the resources
Examples of security challenges:
Denial of service attacks
Security of mobile code
2.5 Challenges
Scalability
How effective the system works when there is an
increase number of users or increase number of
resource access
The challenges of designing scalable distributed
systems:
Controlling the cost of physical resources
Controlling the performance loss
Preventing software resources running out
Avoiding performance bottleneck
2.5 Challenges
Date Computers Web servers Percentage
http://www.google.comlsearch?q=obama
www.google.com
www.cdk5.net Internet
http://www.cdk5.net/
www.w3c.org
File system of
www.w3c.org standards
faq.html
Contents
2.1 Introduction
2.2 Examples of distributed systems
2.3 Trends in distributed systems
2.4 Focus on resource sharing
2.5 Challenges
2.6 Case Study: The World Wide Web
2.7 Summary
2.7 Summary
Important points we have discussed:
Resource sharing
Challenges in developing distributed systems
www
Group discussion
Select TWO(2) popular web search engines
Compare how many web pages and documents
are indexed by the selected search engines.
How long it takes to search for the following
phrases and how many related web documents
are found?
Distributed systems
Distributed systems projects
distributed systems projects and assignments
What is your conclusion?
Further information
Top 15 Most Popular Search Engines in March
2014
http://www.ebizmba.com/articles/search-engines
Google Platform & how it works
http://en.wikipedia.org/wiki/Google_platform
http://computer.howstuffworks.com/internet/basi
cs/google1.htm
http://www.datacenterknowledge.com/archives/2
011/08/01/report-google-uses-about-900000-
servers/
Thank you