distributed system: the overall architecture. previously… internet---topology and reliability...

48
Distributed System: The Overall Architecture

Upload: claire-jordan

Post on 26-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Distributed System:The Overall Architecture

Previously…Internet---Topology and

Reliability Internet is a scale-free network A small number of nodes have a large number of

links while the majority of nodes only have a small number of links

Internet is robust to random failures, but vulnerable to targeted attacks

Previously…IT Architecture VS. IT

Infrastructure An IT architecture is a blueprint showing how the parts will interact and interrelate. System, information, departments... Multiplicity of structures and views

An IT infrastructure is the implementation of an architecture. processors, software, databases, electronic links, data

centers, standards, skills, electronic processes... We now tend to divide computing into applications and

infrastructures

1111

2222 The Importance of the IT Infrastructure

Distributed Computing

Host-Based Hierarchy

Master-slave relationship A hierarchy in which

the host is in control Workload is shared

among different levels of processors

Terminals are only access device

Data storage

Decentralized Stand-Alone Systems (1)

Decentralized Stand-Alone Systems (2) They are decentralized, not distributed

Islands of computation problems for stand-alone systems Ad hoc data flow to the corporate host ERP

Peer-to-Peer LAN-Based Systems (1)

Peer-to-Peer LAN-Based Systems (2) No hierarchy Peer-to-peer communications

Interconnecting LANs rather than hierarchical communications through a central hub

No superior computer

Hybrid Enterprise-wide Systems (1)

Hybrid Enterprise-wide Systems (2) The structure of choice for many years

Allows company to link "information islands" and automate business processes

Systems integration

Client-Server Systems (1)

Arose to take advantage of the processing capabilities of both host machines and PCs in the same system The computational flow of pure client-server systems

is asymmetric. Constraints on the use of the client-server style

Limit the number of clients that can be connected to a server

Impose a restriction that servers cannot interact with other servers.

N-tiered client-server model DB, application, presentation

Client-Server Systems (2)---Distribution of Processing

DataManagement

ApplicationFunction

Presentation

Presentation

DistributedPresentation

DataManagement

ApplicationFunction

Presentation

RemotePresentation

DataManagement

ApplicationFunction

ApplicationFunction

Presentation

DistributedFunction

DataManagement

ApplicationFunction

Presentation

Remote DataManagement

DataManagement

DataManagement

ApplicationFunction

Presentation

DistributedDatabase

Server

Client

Network

Client-Server Systems (3)

Most of the Web-based content systems today DB sitting at the back Web server(s) provide

contents Browsers display contents

Traditional GIS Spatial data in DB GIS server processing data

and rendering image Clients display maps

DataManagement

ApplicationFunction

Presentation

RemotePresentation

Server

Client

Network

Client-Server Systems (4)

Traditional C/S DB applications (fat client) DBMS stores and retrieves

data Client applications process

and display data

Client maintenance may be challenging

DataManagement

ApplicationFunction

Presentation

Remote DataManagement

Server

Client

Network

Client-Server Systems (5)

Some new Web-GIS systems Image rendering moved to the

client Reduce network flow Load balancing

Most of the online-gaming systems

DataManagement

ApplicationFunction

ApplicationFunction

Presentation

DistributedFunction

Server

Client

Network

Client-Server Systems (6)

Mobile computing Less dynamic data stored locally

(e.g. product category) Data sysc. when connected

Some applications in retail chains Local data copy to improve

service availability E.g. Microsoft access and SQL

Server

DataManagement

DataManagement

ApplicationFunction

Presentation

DistributedDatabase

Server

Client

Network

Client-Server Systems (7)---Three-tier Client-Server Style

Server (usually DB server) connected to the network via one or more servers, and sometimes directly as well

Multiple specialized servers, some possibly dedicated to middleware (application servers)

Internet or LANs

Clients, some of which may be portable

Client-Server Systems (8)---Benefits and Drawbacks

Better access to information Shift the focus of computing to user and empower employees Increases organizational flexibility:

Allows new technology to be added more easily without affecting rest of system

Streamlines work flow between functional areas Encourages people to work together via networks Supports new organizational structures via its connectivity

Drawbacks Not lower in cost Easier for users, far more complex for IS What looked like simple connections have turned into large, often fragile,

complex systems

Internet-Based Computing (1) In the late 1990s, the client-server trend was

augmented by the Internet The tenets of client-server remain

With Internet sitting at the heart Ubiquitous computing

Various computing platforms: servers, PCs, handhelds A new computing environment

Irregular request arrival patterns Unpredictable user numbers

Thin client and fat client Network computers & Java

Internet-Based Computing (2)

---Server-based Computing Some services are by nature centralized Web search Corporate info query

Handheld device

Services reside on corporate servers Applications can be securely accessed by any

device, they can be updated directly on the server, and they do not have to be tailored to run on specific machines

P2P Computing---Definition (1) Peer-to-peer systems are distributed systems

consisting of interconnected nodes able to self-organize into network topologies with the purpose of sharing resources such as content, CPU cycles, storage and bandwidth, capable of adapting to failures and accommodating transient populations of nodes while maintaining acceptable connectivity and performance, without requiring the intermediation or support of a globally centralized server or authority.

Androutsellis-Theotokis S,Spinellis D. A Survey of Peer-to-Peer Content Distribution Technologies, [J].ACM Computing Surveys,2004,36(4):335-371.

Peer-to-Peer Computing (2)

Components directly interact as peers by exchanging services. Request/reply interaction May involve complex bidirectional protocols of interactions Two-way communication existing between two or more p2p

components P2P VS. C/S

Load distribution

The topology of the system changes at runtime as users enter the system or change their connections

Peer-to-Peer Computing (3)--- P2P Applications

Communication and Collaboration Chat/Irc, Instant Messaging (MSN, Yahoo! Messenger), Chat/IRC

Distributed Computation Seti@home [Sullivan III et al. 1997;SetiAtHome 2003] genome@home [Larson et al. 2003; GenomeAtHome 2003]

Internet Service Support Peer-to-peer multicast systems [VanRenesse et al. 2003],

Internet indirection infrastructures [Stoica et al. 2002] Database Systems

LRM [Bernstein et al. 2002] Content Distribution

Sharing of digital media and other data between users; Napster, Gnutella, BitTorrent, eMule... P2P Video: PPLive, TVAnts

P2P Computing--- Content Distribution (4) Creating a distributed storage medium that

allows for the publishing, searching, and retrieval of files by members of its network.

May also include nonfunctional features like Provisions for security, anonymity, fairness Increased scalability and performance Resource management and organization

capabilities

Web Services (1)

Software modules invoked via URLs permit widespread computer-to-computer use of the

Internet. One computer program or Web Service makes a request of another Web Service to perform its task (or set of tasks) and pass back the answer

Hot topic about Web service Next generation of distributed systems Allows the building of large, complex systems by

linking and integrating various modules Makes the Internet the hub of computing

Web Services (2)

Permits flexible systems not possible before Dynamic binding of Web services at execution time

Releases companies from building and maintaining systems in house

Will draw on existing systems Wrapping – encapsulate functionality from an existing

application in an XML envelope Exposing – for use by others

Web Services (3)

WSDL Service description,

metadata describing the service

e.g. interface, location etc. SOAP

A standard for XML-based information exchange between distributed applications

UDDI A specification for distributed

registries of web servicesBind

PublishFind

Web Services (4)

WebService

Consumer

UDDI

WebService

Find a Servicehttp://www.uddi.org

Link to WSDL document

How do we talk? (WSDL)http://yourserviice.com//?WSDL

XML with service descriptions

Let me talk to you (SOAP)http://yourservice.com/svc1

XML/SOAP BODY

Web Services (5)

Foundations for Web Services

Service directory: UDDI

Service description: WSDL

Service interaction: SOAP

Format description: XML Schema

Data format: XML

Communication Protocol: HTTP

Communication Network: Internet

Web Services (6)

Significance of Web Services Web Services offers an IT architecture based on

the openness of the Internet. This modularity permits handling a huge variety of

possibilities by mixing and matching, and allows easier cross-company system linking

Companies thus only pay for the functionality they use when they use it, which reduces the number of IT assets companies need to house and maintain

Service-Oriented Architecture (1) Move component interactions from hard-coded to

dynamically discovered and invoked By exposing the data and functions in a way that other systems

can easily use

Service-Oriented Architecture (SOA) An architecture is a formal description of a system, defining its

components, their interrelationships, and the principles and guidelines governing their design and evolution over time

A service is a software component that can be accessed via a network to provide functionality to a service requester

SOA is a style of building reliable distributed systems that deliver functionality as services, with the additional emphasis on loose coupling between interacting services

Service-Oriented Architecture (2) SOA refers to the design of a system, not to its

implementation. Service interaction in a service-oriented environment

RegistryRegistry

ClientClient

ServiceService

Advertise①

④ Interact

②Discover

Service-Oriented Architecture (3) SOA features

Loosely-coupled Coarse-grained Standards-based

SOA benefits Greater interoperability

Integration of legacy systems Increased reuse More agile business processes Reduced maintenance costs

Service-Oriented Architecture (4) Loose-coupling

The interacting software components minimize their in-built knowledge of each other For example, having learned about a service’s existence, a

client can discover its capabilities, its policies, its location, its interfaces and its supported protocols

The benefits of loose coupling include: Flexibility Scalability Replaceability Fault tolerance

Service-Oriented Architecture (5) Achieving loose coupling between services

Web Service protocols Publish-and-subscribe

Components interact via announced events Messaging-oriented middleware (MOM)

Asynchronous message-passing with ability to store, route or transform messages in the process of delivery

Grid Computing (1)

A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities

Grid is a generalized network computing system that is supposed to scale to Internet levels and handle data and computation seamlessly

Grid Computing (2)

Grid Computing (3)

Resource management in Grid systems involves managing the basic elements

Grid elements Processing elements

Compute servers (double each 18 months) Handhelds File servers Networks (double each 9 months) Playstations, cell phones etc…

Storage elements Network elements

Grid Computing (4)

Grid systems can be classified depending on their usage:

ComputationalGrid

Grid Systems

Collaborative

Data Grid

ServiceGrid

High Throughput

On Demand

Multimedia

Distributed Supercomputing

Grid Computing (5)

Computational Grid: Denotes a system that has a higher aggregate

capacity than any of its constituent machine Data Grid:

Systems that provide an infrastructure for synthesizing new information from data repositories such as digital libraries or data warehouses

Applications for these systems would be special purpose data mining that correlates information from multiple different high volume data sources

Service Grid: Systems that provide services that are not provided by

any single machine

Grid Computing (6)

Grid Computing Benefits Exploit Underutilized resources

CPU Scavenging, Hotspot leveling Resource Balancing Virtualize resources across an enterprise

Data Grids, Compute Grids Enable collaboration for virtual organizations

1111

2222 The Importance of the IT Infrastructure

Distributed Computing

IT Infrastructure---An Overview The shared and reliable services that provide

the foundation for the enterprise IT portfolio Enabling business applications sitting above Difficult to cost-justify

Technologists and business people have different views of infrastructure Peter Weill et al presented a model that meshes

different views together Gives technologists and business users a common language

The Structure of IT Infrastructures (1)

The Structure of IT Infrastructures (2) Four layers of IT infrastructure

IT components Technology components, such as computers, DBMS

packages, OS etc. Generally not understood by business people

Human IT infrastructure Translation of the IT components layer into services Experts' knowledge, skills, experience and standards

Shared IT services The infrastructure as a set of services that users can draw

upon and share to conduct business. Shared and standard applications

Stable applications such as accounting and HR

Public Infrastructure

Weill’s model in turn sits on top of the public infrastructure E.g. the Internet, vendors, telecomm companies.

Similarity between IT infrastructure and public infrastructure such as roads, hospital, schools etc. Everyone wants but no-one wants to pay Provided by a "central authority"

Government or IT Department Delicate and "difficult" investment balance

Three Views of Infrastructure Economies of scale (Utility):

Infrastructure cost as an administrative expense Minimize expense Outsourcing may be viewed favorably because the IT

infrastructure is not seen as strategic Support for business programs (Dependent):

Infrastructure treated as business expense Measured by short-term business benefits Infrastructure planning in current business plan

Flexibility to meet changes in the marketplace (Enabling): Primary benefit long-term flexibility Intended to provide the foundation for changing direction in the

future IT cost seen as business investment