Sunteți pe pagina 1din 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 is 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
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-
entertainment generated 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
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
sources (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
• 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

An example of a cluster computing system.


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
Pitfalls when Developing
Distributed Systems
• False assumptions made by first time developer:
• The network is reliable.
• The network is secure.
• The network is homogeneous.
• The topology does not change.
• Latency is zero.
• Bandwidth is infinite.
• Transport cost is zero.
• There is one administrator.
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

The middleware layer extends over multiple machines, and offers


each application the same interface.
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

Examples of scalability limitations.


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
• 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:
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
2.6 Case Study: The World Wide Web

The overall organization of a traditional Web


site.
2.6 Case Study: The World Wide Web

The simplified organization of an Internet search


engine into three different layers.
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?


Thank you…

S-ar putea să vă placă și