Objektorienteret Netværkskommunikation (ITONK1)

Download Report

Transcript Objektorienteret Netværkskommunikation (ITONK1)

Objektorienteret Netværkskommunikation
Presentation 2:
Distributed Systems – A brush up, and
relations to Middleware, Heterogeneity
& Transparency
Agenda
•
•
•
•
What is a Distributed System?
Examples of Distributed Systems
Distributed System Requirements
Transparency in Distributed System
Slide 2 af 43
Ingeniørhøjskolen i Århus
What is a Distributed System
• Plenum: What is your definition?
Slide 3 af 43
Ingeniørhøjskolen i Århus
What is a Distributed System?
• “You know you have one when the crash of a
computer you’ve never heard of stops you from
getting any work done.” - Leslie Lamport, 1987
Slide 4 af 43
Ingeniørhøjskolen i Århus
What is a Distributed System?
• A collection of (perhaps) heterogeneous nodes
connected by one or more interconnection
networks which provides access to system-side
shared resources and services.
• A collection of independent computers that
appears to its users as a single coherent system.
- Angela Demke Brown
Slide 5 af 43
Ingeniørhøjskolen i Århus
What is a Distributed System?
• A distributed system is a collection of autonomous
hosts (computers) that are connected through a
computer network. Each host executes
components and operates a distribution
middleware, which enables the components to
coordinate their activities in such a way that users
perceive the system as a single, integrated
computing facility.
– Emmerich
Slide 6 af 43
Ingeniørhøjskolen i Århus
What is a Distributed System?
Component1
Componentn Applikation
API
Middleware
Network Operating System
Platform
Hardware
Component1
Componentn
Middleware
Network Operating System
Hardware
Hostn-1
Host2
Component1
Componentn
Middleware
Network Operating System
Hardware
Host1
Network
Component1
Componentn
Middleware
Network Operating System
Hardware
Hostn
System appears as one entity to the user
Slide 7 af 43
Ingeniørhøjskolen i Århus
Middleware Examples
-Transaction-oriented
-IBM CICS
-BEA Tuxedo
-IBM Encina
-Microsoft
Transaction Server
-Message-oriented
-Microsoft Message
Queue
- NCR TopEnd
-Sun Tooltalk
-Procedural
-Sun ONC
-Linux RPCs
-OSF DCE
-(SOAP)
-Object-oriented
-OMG CORBA
-Sun Java/RMI
-Microsoft COM
-Sun Enterprise Java Beans
-(SOAP)
Slide 8 af 43
Ingeniørhøjskolen i Århus
Centralised 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
How to scale?
How to integrate?
Slide 9 af 43
Ingeniørhøjskolen i Århus
Distributed System Characteristics
•
•
•
•
Multiple autonomous components
Components are not shared by all users
Resources may not be accessible
Software runs in concurrent processes on different
processors
• Multiple Points of control
• Multiple Points of failure
Slide 10 af 43
Ingeniørhøjskolen i Århus
Examples of Distributed Systems
• Case Studies from Emmerich:
–
–
–
–
Hongkong Telecom’s Video-on-demand
UBS IT Services Infrastructure
Boeing’s Aircraft Configuration Management
Managing of Football Association
• Used the principles and techniques presented
in this course.
• Will provide a motivation for this course.
• Will provide illustrative examples throughout
this course... combined with our own
Slide 11 af 43
Ingeniørhøjskolen i Århus
Hongkong Telecom Video on demand
…
• Aim: provide subscribers with facilities to
download videos from HK TK servers to low-cost
Web-TVs.
• currently 90,000 users.
• Built using distributed object-technology.
Slide 12 af 43
Ingeniørhøjskolen i Århus
Requirements
• Hardware:
– Clients: Web-TV
– Servers: RISC processor
• Operating System Heterogeneity :
– Clients: Java OS
– Servers: UNIX
• Programming Language Heterogeneity:
– Clients: Java
– Servers: C++
Slide 13 af 43
Ingeniørhøjskolen i Århus
Requirements II
• Communication across Network
– How to transmit complex data structures across the
Internet?
• Scale
– Scaling from initially several hundred to currently
90,000 users
• Security
– Secure Payment
– Authentication
Slide 14 af 43
Ingeniørhøjskolen i Århus
Why distributed object technology?
• Distributed:
– Video clients need to download/show video on
customer’s Web-TV
– Multiple servers needs to be operated by Hongkong
Telecom:
• Object Technology:
– Video clients are written in Java:
• Web-TV has Java Virtual Machine
• portability to e.g. Sony Playstation, Sega-Console...
– Video servers are written in C++:
• high performance
Slide 15 af 43
Ingeniørhøjskolen i Århus
IT Infrastructure of UBS
Customer
Information
Services
Authorisation
Services
Trading
Workstation
Product Database
Services
Marketing
Services
Host ServicesIngeniørhøjskolen i Århus
Slide 16 af 43
Requirements
• Time to market
– Development of new applications with recent
technology
– Integration of new applications increasingly difficult
• Scalability
– Management of 30,000,000 accounts
– Management of 10,000,000 customers
– Use by 2,000 concurrent users
• Reliability
Slide 17 af 43
Ingeniørhøjskolen i Århus
Requirements II
• Hardware Heterogeneity
–
–
–
–
Unisys Mainframes
IBM Mainframes
SPARC Servers
PC Workstations
• Operating System Heterogeneity
– MVS
– UNIX
– Win-NT
• Programming Language Heterogeneity
– Cobol
– C/C++
– Visual Basic
Slide 18 af 43
Ingeniørhøjskolen i Århus
Why distributed object technology?
• Uniform view of all banking services
• Appropriate level of abstraction
• Preserving investment by wrapping legacy
applications
• Exploiting advantages of object technology for
new development
• Resolving
– distribution
– heterogeneity
Slide 19 af 43
Ingeniørhøjskolen i Århus
Boeing 777 Configuration Mgmnt.
Slide 20 af 43
Ingeniørhøjskolen i Århus
Problems to be solved
• Scale
– 3,000,000 parts per aircraft
– Configuration of every aircraft is different
– CAA regulations demand that records are kept for every
single part of aircraft
– Aircraft evolve during maintenance
– Boeing produce 500 aircraft per year
– Configuration database grows by 1.5 billion parts each
year
– Projected life of each aircraft 30 years
– 45,000 engineers need on-line access to engineering
data
Slide 21 af 43
Ingeniørhøjskolen i Århus
Problems to be solved II
• Integration
– Existing IT infrastructure was no longer appropriate
– Boeing could not afford to build required IT
infrastructure from scratch
– Components were purchased from several different
specialized vendors
• relational database technology
• enterprise resource planning
• computer aided project planning
– Components needed to be integrated
Slide 22 af 43
Ingeniørhøjskolen i Århus
Problems to be solved III
• Heterogeneity
– 20 Sequent database machines as servers for the
engineering data
– 200 UNIX application servers
– NT and UNIX workstations for engineers
Slide 23 af 43
Ingeniørhøjskolen i Århus
Why distributed object technology
• Object wrapping of COTS
• Resolution of distribution at high level of
abstraction
• Resolution of heterogeneity
• Scalability
Slide 24 af 43
Ingeniørhøjskolen i Århus
Management of Football Association
• Managing soccer leagues, national team, clubs,
player transfer
• Imaginary system
• Common example that can be twisted for didactic
purposes
Slide 25 af 43
Ingeniørhøjskolen i Århus
Requirements
• Autonomy of clubs
– Every club operates its own administration,
training/game scheduling.
• Need for integration in order to
– register players with the football association.
– book players for national team games.
– agree to schedule of league games.
• Heterogeneity
– different machines
– different programming languages
Slide 26 af 43
Ingeniørhøjskolen i Århus
Distributed System Requirements
• Integration of new, legacy and components offthe-shelf
– Legacy components might not need to be reengineered
– COTS cannot be modified
• Heterogeneity of
–
–
–
–
hardware platforms
operating systems
networks
programming languages
• Construction of distributed systems
Slide 27 af 43
Ingeniørhøjskolen i Århus
Common Requirements
• What are we trying to achieve when we construct
a distributed system?
• Certain requirements are common to many
distributed systems
–
–
–
–
–
–
Resource Sharing
Openness & Heterogeneity
Concurrency
Scalability
Fault Tolerance
Transparency
Slide 28 af 43
Ingeniørhøjskolen i Århus
Resource Sharing
• Ability to use any hardware, software or data
anywhere in the system.
• Resource manager controls access, provides
naming scheme and controls concurrency.
• Resource sharing model (e.g. client/ server or
object-based) describing how
– resources are provided,
– they are used and
– provider and user interact with each other.
Slide 29 af 43
Ingeniørhøjskolen i Århus
Openness & Heterogeneity
• Openness is concerned with extensions and
improvements of distributed systems.
• Detailed interfaces of components need to be
published.
• New components have to be integrated with
existing components.
• Differences in data representation of interface
types on different processors (of different
vendors) have to be resolved.
Slide 30 af 43
Ingeniørhøjskolen i Århus
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.
– Lost updates
– Inconsistent analysis
Slide 31 af 43
Ingeniørhøjskolen i Århus
Scalability
• Adaption of distributed systems to
– accomodate more users
– respond faster
– Usually done in centralized systems by adding more
and/or faster processors.
• Components should not need to be changed
when scale of a system increases.
• Design components to be scalable!
Slide 32 af 43
Ingeniørhøjskolen i Århus
Fault Tolerance
• Hardware, software and networks fail!
• Distributed systems must maintain availability
even at low levels of hardware/software/network
reliability.
• Fault tolerance is achieved by
– recovery
– redundancy
Slide 33 af 43
Ingeniørhøjskolen i Århus
Transparency in Distributed Systems
• Distributed systems should be perceived by users
and application programmers as a whole rather
than as a collection of cooperating components.
• Transparency has different dimensions that were
identified by ANSA.
• These represent various properties that
distributed systems should have.
Slide 34 af 43
Ingeniørhøjskolen i Århus
Distribution Transparency
You need to learn this by heart ;)
Scalability
Transparency
Performance
Transparency
Failure
Transparency
Migration
Transparency
Replication
Transparency
Concurrency
Transparency
Access
Transparency
Location
Transparency
Slide 35 af 43
Ingeniørhøjskolen i Århus
Access Transparency
• Enables local and remote information objects to
be accessed using identical operations.
• Example: File system operations in NFS.
• Example: Navigation in the Web.
• Example: SQL Queries
Slide 36 af 43
Ingeniørhøjskolen i Århus
Location Transparency
• Enables information objects to be accessed
without knowledge of their location.
• Example: File system operations in NFS
• Example: Pages in the Web
• Example: Tables in distributed databases
Slide 37 af 43
Ingeniørhøjskolen i Århus
Concurrency Transparency
• Enables several processes to operate
concurrently using shared information objects
without interference between them.
• Example: NFS
• Example: Automatic teller machine network
• Example: Database management system
Slide 38 af 43
Ingeniørhøjskolen i Århus
Replication Transparency
• Enables multiple instances of information objects
to be used to increase reliability and performance
without knowledge of the replicas by users or
application programs
• Example: Distributed DBMS
• Example: Mirroring Web Pages.
Slide 39 af 43
Ingeniørhøjskolen i Århus
Failure Transparency
• Enables the concealment of faults
• Allows users and applications to complete their
tasks despite the failure of other components.
• Example: Database Management System
Slide 40 af 43
Ingeniørhøjskolen i Århus
Migration Transparency
• Allows the movement of information objects within
a system without affecting the operations of users
or application programs
• Example: NFS
• Example: Web Pages
Slide 41 af 43
Ingeniørhøjskolen i Århus
Performance Transparency
• Allows the system to be reconfigured to improve
performance as loads vary.
• Example: Distributed make.
Slide 42 af 43
Ingeniørhøjskolen i Århus
Scaling Transparency
• Allows the system and applications to expand in
scale without change to the system structure or
the application algorithms.
• Example: World-Wide-Web
• Example: Distributed Database
Slide 43 af 43
Ingeniørhøjskolen i Århus