Characterization of Distributed Systems

advertisement
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
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 entertainment
online gaming, music and film in the home, usergenerated 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
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/2
013/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 reimplemented 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
1993, July
1995, July
1997, July
1999, July
2001, July
2003, July
2005, July
Computers
Web servers
Percentage
1,776,000
130
0.008
6,642,000
19,540,000
56,218,000
125,888,197
23,500
1,203,096
6,598,697
31,299,592
0.4
6
12
25
~200,000,000
42,298,371
21
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
Browsers
Web servers
http://www.google.comlsearch?q=obama
www.google.com
Internet
www.cdk5.net
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-900000servers/
Thank you…
Download