Professional Documents
Culture Documents
Outline
Outline
1
1. DISTRIBUTED SYSTEM TYPES
Fully
Control Distributed
ta
Da
Autonomous
fully cooperative
Local data,
Autonomous local directory
transaction based Not fully replicated
master directory
Master-slave Fully replicated
Homog. Homog.
special general Processors
purpose purpose
Heterog. Heterog.
special general 2
purpose purpose
1. WHAT IS A DISTRIBUTED SYSTEM?
Concurrency of components
Lack of a global ‘clock’
3
1.1 CENTRALIZED SYSTEM
CHARACTERISTICS
One component with non-autonomous parts
Component shared by users all the time
All resources accessible
Software runs in a single process
Single point of control
Single point of failure
4
1.2 DISTRIBUTED SYSTEM CHARACTERISTICS
5
2. EXAMPLES OF DISTRIBUTED SYSTEMS
6
2.1 LOCAL AREA NETWORK
email server Desktop
computers
print and other servers
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
7
2.2 DATABASE MANAGEMENT SYSTEM
8
2.3 AUTOMATIC TELLER MACHINE
NETWORK
9
2.4 INTERNET
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
10
2.4.1 WORLD-WIDE-WEB
11
2.4.2 WEB SERVERS AND WEB BROWSERS
http://www.google.comlsearch?q=lyu
www.google.com
Browsers
Web servers
www.uu.se Internet
http://www.uu.se/
www.w3c.org
Activity.html
12
3. COMMON CHARACTERISTICS
13
3.1 HETEROGENEITY
Variety and differences in
Networks
Computer hardware
Operating systems
Programming languages
Implementations by different developers
Middleware as software layers to provide a programming abstraction as
well as masking the heterogeneity of the underlying networks, hardware,
OS, and programming languages (e.g., CORBA).
14
3.2 OPENNESS
Openness is concerned with extensions and improvements of
distributed systems.
Detailed interfaces of components need to be published.
15
3.3 SECURITY
In a distributed system, clients send requests to access data
managed by servers, resources in the networks:
Doctors requesting records from hospitals
Users purchase products through electronic commerce
Security is required for:
Concealing the contents of messages: security and privacy
Identifying a remote user or other agent correctly (authentication)
New challenges:
Denial of service attack
16
3.4 SCALABILITY
Adaptation of distributed systems to
accommodate more users
respond faster (this is the hard one)
17
3.5 FAILURE HANDLING (FAULT
TOLERANCE)
18
3.6 CONCURRENCY
Components in distributed systems are executed in concurrent
processes.
Components access and update shared resources (e.g.
variables, databases, device drivers).
Integrity of the system may be violated if concurrent updates
are not coordinated.
Lostupdates
Inconsistent analysis
19
3.7 TRANSPARENCY
Distributed systems should be perceived by users and
application programmers as a whole rather than as a
collection of cooperating components.
Transparency has different aspects.
These represent various properties that distributed systems
should have.
20
WHAT IS CLOUD COMPUTING?
Generally speaking, cloud computing can be
thought of as anything that involves delivering
hosted services over the Internet.
According to NIST Cloud computing is a
model for enabling ubiquitous,
convenient, on-demand network access to
a shared pool of configurable computing
resources (e.g., networks, servers, storage,
applications, and services) that can be
rapidly provisioned and released with
minimal management effort or service
provider interaction. (Special Publication
800-145)
29
29
WHAT IT PROVIDES
Cloud computing provides shared services as opposed to local
servers or storage resources
Enables access to information from most web-enabled
hardware
Allows for cost savings – reduced facility, hardware/software
investments, support
30
30
ESSENTIAL CHARACTERISTICS
On-demand self-service
A consumer can unilaterally provision computing capabilities, such as
server time and network storage, as needed automatically without
requiring human interaction with each service provider.
Broad network access
Capabilities are available over the network and accessed through
standard mechanisms that promote use by heterogeneous thin or thick
client platforms (e.g., mobile phones, tablets, laptops, and
workstations).
Resource pooling
The provider’s computing resources are pooled to serve multiple
consumers
Resources can be dynamically assigned and reassigned according to
customer demand
Customer generally may not care where the resources are physically 31
located but should be aware of risks if they are located offshore
31
SERVICE MODELS
Software/
Application
Platform
Infrastructure
32
32
SERVICE MODELS
Infrastructure-as-a-Service (IaaS)
A service model that involves outsourcing the basic
infrastructure used to support operations--including
storage, hardware, servers, and networking
components.
33
33
SERVICE MODELS
Platform-as-a-Service (PaaS)
A service model that involves outsourcing the
basic infrastructure and platform (Windows,
Unix)
34
34
SERVICE MODELS
Software-as-a-Service (SaaS)
Also referred to as “software on demand,”
this service model involves outsourcing the
infrastructure, platform, and
software/applications.
35
35
WHERE IS MY DATA?
36
36
VIRTUALIZATION AND CLOUD
COMPUTING
DEFINITION
Virtualization is the ability to run multiple operating systems on a
single physical system and share the underlying hardware resources*
It is the process by which one computer hosts the appearance of
many computers.
Virtualization is used to improve IT throughput and costs by using
physical resources as a pool from which virtual resources can be
allocated.
VIRTUALIZATION ARCHITECTURE
• A Virtual machine (VM) is an isolated runtime
environment (guest OS and applications)
• Multiple virtual systems (VMs) can run on a single
physical system
HYPERVISOR
A hypervisor, a virtual machine manager/monitor (VMM), or
virtualization manager, is a program that allows multiple operating
systems to share a single hardware host.
Each guest operating system appears to have the host's processor,
memory, and other resources all to itself. However, the hypervisor is
actually controlling the host processor and resources, allocating what
is needed to each operating system in turn and making sure that the
guest operating systems (called virtual machines) cannot disrupt
each other.
BENEFITS OF VIRTUALIZATION
Sharing of resources helps cost reduction
Isolation: Virtual machines are isolated from each other as if they are
physically separated
Encapsulation: Virtual machines encapsulate a complete computing
environment
Hardware Independence: Virtual machines run independently of
underlying hardware
Portability: Virtual machines can be migrated between different
hosts.
VIRTUALIZATION IN CLOUD COMPUTING
Cloud computing takes virtualization one step further:
You don’t need to own the hardware
Design considerations
Choiceof name space for each resource type
Name service to resolve resource names to comm. id.
44
4.2 COMMUNICATION
Separated components communicate with sending processes and
receiving processes for data transfer and synchronization.
Message passing: send and receive primitives
synchronous or blocking
asynchronous or non-blocking
Abstractions defined: channels, sockets, ports.
45
4.3 SOFTWARE STRUCTURE
Layers in centralized computer systems:
Applications
Middleware
Operating system
Computer and Network Hardware
46
4.3 SOFTWARE STRUCTURE
Layers and dependencies in distributed systems:
Applications
Open
Distributed programming services
support
Network computers
48
4.4.1 CLIENTS INVOKE INDIVIDUAL
SERVERS
result result
Server
Client
Key:
Process: Computer:
49
4.4.2 PEER-TO-PEER SYSTEMS
Peer 2
Peer 1
Application
Application
Sharable Peer 3
objects
Application
Peer 4
Application
Peers 5 .... N
50
4.4.3 A SERVICE BY MULTIPLE SERVERS
Service
Server
Client
Server
Client
Server
51
4.4.4 WEB PROXY SERVER
Client Web
server
Proxy
server
Client Web
server
52
4.4.5 WEB APPLETS
a) client request results in the downloading of applet code
Client Web
Applet code server
Web
Client Applet server
53
4.4.6 THIN CLIENTS AND COMPUTE
SERVERS
Compute server
Network computer or PC
54
5. SUMMARY
Definitions of distributed systems and comparisons to centralized
systems.
The characteristics of distributed systems.
55