You are on page 1of 53

Characterization of Distributed

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

An example of financial trading systems


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.3 Trends in distributed systems
Top Technology Trends for 2014
http://www.computer.org/portal/web/membershi
p/Top-10-Tech-Trends-in-2014
2.3 Trends in distributed systems
The Fruits of Innovation: Top 10 IT Trends in
2014
http://www.datacenterknowledge.com/archives/20
13/12/30/the-fruits-of-innovation-trends-2014/
2.3 Trends in distributed systems
Significant changes in current distributed
systems:
The emergence of pervasive technology
The emergence of ubiquitous & mobile computing
The increasing demand of multimedia technology
The view of distributed systems as a utility
2.3 Trends in distributed systems
Pervasive technology
Modern Internet Collection of internetworked
devices- wired & wireless
Pervasive resources and devices can be connected
at any time and in any place
2.3 Trends in distributed systems

intranet

ISP

backbone

satellite link

desktop computer:
server:
network link:

A typical portion of the Internet


2.3 Trends in distributed systems
Mobile & ubiquitous computing
Small and portable devices are possible to be used
within distributed systems
E.g. laptop computers, handheld devices, wearable
devices, devices embedded in appliances
Mobile computing: portability of the devices and
the ability to connect to networks in different
places
Ubiquitous computing: small computing devices
that available everywhere and are easily attached
to networks
2.3 Trends in distributed systems

Portable & handheld devices in a distributed system


2.3 Trends in distributed systems
Distributed multimedia systems
The use of multimedia contents in distributed
systems
Multimedia support
Major benefits of multimedia support
Distributed multimedia computing can be accessed
through desktop or mobile devices. E.g. live tv
broadcast, video-on-demand, IP telephony, webcasting,
etc.
2.3 Trends in distributed systems
Distributed computing as a utility
distributed resources as commodity or utility in
similar as water and power.
Physical and logical service resources are rented
rather than owned by the end users.
Physical resources: e.g. : storage and processing
Logical services: e.g. email, calendars
Cloud computing: distributed computing utility. A
cloud is a set of internet-based application,
storage and computing services sufficient to
support most users needs
2.3 Trends in distributed systems

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

1993, July 1,776,000 130 0.008


1995, July 6,642,000 23,500 0.4
1997, July 19,540,000 1,203,096 6
1999, July 56,218,000 6,598,697 12
2001, July 125,888,197 31,299,592 25
2003, July ~200,000,000 42,298,371 21
2005, July 353,284,187 67,571,581 19

Growth of the Internet (computers and web servers)


2.5 Challenges
http://news.netcraft.com/archives/2014/01/0
3/january-2014-web-server-survey.html
Number of Websites:
630 million web sites in January 2013
861 million in January 2014 (+37%)
2.5 Challenges
Failure handling
Distributed system failures are partial- some parts fail while
others not
Dealing with failures in distributed systems:
Detecting failures known/unknown failures
Masking failures hide the failure from become severe.
E.g. retransmit messages, backup of file data
Tolerating failures clients can be designed to tolerate
failures e.g. inform users of failure and ask them to try
later
Recovery from failures - recover and rollback data after a
server has crashed
Redundancy- the way to tolerate failures replication of
services and data in multiple servers
2.5 Challenges
Concurrency
Access to a single service
simultaneously/concurrently by multiple clients
services and applications must be designed to
support concurrent access and work consistently
2.5 Challenges
Transparency
Concealment of services and applications, so that
they can be seen as a whole system rather than a
collection of independent objects or components
8 forms of transparency:
Access transparency access to local an remote
resources using identical operations
Location transparency access to resources without
knowing the physical location of the machine
2.5 Challenges
8 forms of transparency:
Concurrency transparency several processes operate
concurrently without interfering each other
Replication transparency replication of resources in
multiple servers. Users are not aware of the replication
Failure transparency concealment of faults, allows users to
complete their tasks without knowing of the failures
Mobility transparency movement of resources and clients
within a system without affecting users operations
Performance transparency systems can be reconfigured to
improve performance by considering their loads
Scaling transparency systems and applications can be
expanded without changing the structure or the application
algorithms
2.5 Challenges
Access and location transparency are the two most
important also known as network transparency
Web resource names or URLs are location-transparent.
The names refer to a computer name (web server) in a
domain rather than to Internet addresses. However,
they are not mobility transparent. Web pages can be
moved to other server in the domain. Links are points
to the original page.
2.5 Challenges
Quality of service
The main nonfunctional properties of distributed
systems that affect the quality of service
experienced by users or clients are: reliability,
security, performance, adaptability.
Reliability?
Security?
Performance ?
Adaptability?
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.6 Case Study: The World Wide Web
History & background
www (web) & the Internet
CERN (European Center for Nuclear Research),
Switzerland
Document exchange
Technological components of web:
HTML
URL
HTTP
Advances in web dynamic pages, web services
2.6 Case Study: The World Wide Web
Web servers Browsers

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

You might also like