Title: ?1? ???????
1?1? ??????? 1.1 ????????1.2 ???????1.3
?????????
21.1 ????????
- A distributed system is
- A collection of independent computers that
- Appears to its users as a single coherent system.
3???????
Figure 1-1. A distributed system organized as
middleware. The middleware layer extends over
multiple machines, and offers each application
the same interface.
4??????????
- Making resources accessible
- Distribution transparency
- Openness
- Scalability
5Making Resources Accessible
- Making it easy for users and applications to
access remote resources - Share remote resources in a controlled and
efficient manner - Benefits
- Better economics by sharing expensive resources
- Easier to collaborate and exchange information
- Create virtual organizations where geographically
dispersed people can work together using
groupware - Enables electronic commerce
- Problems
- Eavesdropping or intrusion on communication
- Tracking of communication to build a profile
6Transparency in a Distributed System
Figure 1-2. Different forms of transparency in a
distributed system (ISO, 1995).
Transparency is NOT always good! Cost in
performance!
7Openness
- In form of services
- Services are described via interfaces
- Interface Definition Language (IDL)
- Interoperability, Portability, Extensibility
8Scalability
- Scalability can be measured against three
dimensions - Size be able to easily add more users and
resources to a system - Geography be able to handle users and resources
that are far apart - Administrative be able to manage even if it
spans independent administrative organizations
9Centralized versus distributed
- Centralized approach
- Distributed approach
- No global clock
- No complete/global information
- Decisions based only on local information
- Failure locality
10Scaling Techniques
- Hiding communication latency
- Code at client e.g. Javascript to check a form
- Distributing components
- Divide a component into smaller parts
- E.g. dividing the DNS name space into zones
- Replicating components
- Caching is a special form of replication
111.2 ???????
- Distributed Computing Systems
- Cluster Computing Systems
- Grid Computing Systems
- Cloud Computing Systems
- Distributed Information Systems
- Transaction Processing Systems
- Enterprise Application Integration
- Distributed Pervasive Systems
- Home Systems
- Electronic Health Care Systems
- Sensor Networks
12Cluster Computing Systems
- Figure 1-6. An example of a cluster computing
system.
13Grid Computing Systems
- Figure 1-7. A layered architecture for grid
computing systems.
14Cloud Computing Systems
15Transaction Processing Systems
- Figure 1-9. A nested transaction.
16Transaction Processing Systems
- Figure 1-10. The role of a TP monitor in
distributed systems.
17Enterprise Application Integration
- Figure 1-11. Middleware as a communication
facilitator in enterprise application
integration. RPC, RMI and MOM are examples.
18Distributed Pervasive Systems
- Embrace contextual changes.
- Encourage ad hoc composition.
- Recognize sharing as the default.
19Electronic Health Care Systems
- Figure 1-12. Monitoring a person in a pervasive
electronic health care system, using - (a) a local hub or (b) a continuous wireless
connection.
20Wireless Sensor Networks
- Centralized storage and process.
- Distributed storage and process.
211.3 ?????????
- Software architectures
- how various software components are organized and
how they interact - System architecture
- An instance of a software architecture after
deciding on the software components, their
interaction and their placement.
22Architectural Styles
Object-based architectures
Layered architectures
Event-based architectures
Data-shared architectures
23System Architecture
- Centralized architectures
- Application layering
- Multitiered architectures
- Decentralized architectures
- Structured peer-to-peer
- Unstructured peer-to-peer
- Hybrid architectures
- Edge-server systems
- Collaborative distributed systems
24Centralized Architectures
25Application Layering
- Figure 2-4. The simplified organization of an
Internet search engine
26Application Layering
- Figure 2-5. Alternative client-server
organizations (a)(e).
27Multitiered Architectures
- Figure 2-6. An example of a server acting as
client.
28Decentralized Architecture
- Structured peer-to-peer
- Distributed Hash Table
- Content-Addressable Network
- Unstructured peer-to-peer
29Structured Peer-to-Peer Architectures
Data mapping in Chord and CAN.
30Unstructured Peer-to-Peer Architectures
- The overlay network resembles a random graph.
Each node maintains a list of c neighbors, where,
ideally, each of theses neighbors represents a
randomly chosen live node from the current set of
nodes. The list of neighbors is referred to as a
partial view. - How to maintain a partial view?
- Nodes are in push or pull mode. Using only one
mode leads to isolated sub-networks so most nodes
will do both (exchange mode) - To add to the group, simply contact any node. To
leave, simply leave.
31Topology Management of Overlay Networks
A two-layered approach for constructing and
maintaining specific overlay topologies
32Network with Superpeers
33Hybrid Architectures edge-server systems
Figure 2-13. Viewing the Internet as consisting
of a collection of edge servers.
34Hybrid Architectures collaborative sys.
- Figure 2-14. The principal working of BitTorrent
35Summary
- ???????
- ????????
- Making resources accessible
- Distribution transparency
- Openness
- Scalability
- ????????
- Distributed computing system
- Distributed information system
- Distributed pervasive system
- ?????????
- Centralized
- Decentralized
- Hybrid
36Homework Questions