收藏一本书:分布式系统原理与范型
http://product.china-pub.com/40777
1 introduction
1.1 definition of a distributed system
1.2 goals
1.2.1 maing resources accessible
1.2.2 distribution transparency
1.2.3 openness
1.2.4 scalability
1.2.5 pitfalls
1.3 types of distributed systems
1.3.1 distributed compuhng systems
1.3.2 distributed information systems
1.3.3 distubuted pervasive systems
1.4 summary
2 architectures
2.1 architectural styles
2.2 system archctures
2.2.1 centralized architectures
2.2.2 decentralized arclitectures
2.2.3 hybnd architectures
2.3 architectures versus middleware
. 2.3.1 interceptors
2.3.2 general apptoaches to adaptive software
2.3.3 discussion
2.4 self-management in distributed systems
2.4.1 the reedbask control model
2.4.2 example systems monitoring with astrolabe
2.4.3 example differentiating repocation striltegles in globule
2.4.4 example auionlahc component repair management in jade
2.5 summary
3 processes
3.1 threads
3.1.1 introduction to thieaus
3.1.2 threads in distributed systems
3.2 virtualization
3.2.1 the role of virtualization in dlstrihutcd syslems
3.2.2 architectures of virtual machlucs
3.3 clients
3.3.1 netwoiked user interfaces
3.3.2 client-side software fordistribuutin ttansparency
3.4 servers
3.4.1 denerai design issues
3.4.2 server clusters
3.4.3 managing server clusters
3.5 coije migraiion
3.5.1 approaches to codc migration
3.5.2 mzgrahon and local resollrces
3.5.3 mlgrahon in heterogelleous systems
3.6 summary
4 communication
4.1 flindamentals
4.1.1 layered potocols
4.1.2 types of commllnicahon
4.2 remote procedure call
4.2.1 basic rad operation
4.2.2 parameter passing
4.2.3 asynchronous
4.2.4 example f dce rpc
4.3 message oriented communication
4.3.1 message oriented trallsient communication
4.3.2 message oriented peisistent communication
4.3.3 example: ibm's wehsphere message-queuing system
4.4 stream-oriented communication 157
4.4.1 support for continuous media
4.4.2 smiarns and quality of service
4.4.3 sforaln synchronizaiion
4.5 multicast communication
4.5.1 application-leve1 multicasting
4.5.2 gossip based daal dissemination
4.6 sijmmary
5 naming
5.1 names, identifiers, and addresses
5.2 flat namjng
5.2.1 simple soutions
5.2.2 home based approaches
5.2.3 distritiuted hash tables
5.2.4 hietarchical approaches
5.3 structured naming
5.3.1 name spaces
5.3.2 name resolution
5.3.3 the implementation of a name space
5.3.4 example: the domain name syrialy
5.4 attribute-basso naming
5.4.1 directory services
5.4.2 hieralchial implemcntattions: ldap
5.4.3 decentralized implementations
5.5 summary
6 synchronization
6.1 clock synchronization
6.1.1 physical clocks
6.1.2 global positioning system
6.1.3 clock synchronization algorithms
6.2 logical clocks
6.2.1 lamport's logical clocks
6.2.2 vector clocks
6.3 mutual exclusion
6.3.1 overmew 252
6.3.2 a cenlralized algorithm
6.3.3 a decentralized algorithm
6.3.4 a distributed algorithm
6.3.5 a token bang aalgorithm
6.3.6 a comparison of the four algorithm
6.4 global positioning of nodes
6.5 election algorithms
6.5.1 tladitional election algonthins
6.5.2 elections in wireless environments
6.5.3 elections in large-scale systems
6.6 summary
7 consistency and replication
7.1 introduction
7.1.1 treasons for replication
7.1.2 replication as scaling technique
7.2 data-centrjc consistency models
7.2.1 continuous collsistency
7.2.2 consistent ordering ofoperahons
7.3 client-centric consistency models
7.3.1 eventual consistency
7.3.2 monotomc reads
7.3.3 monotonic writes
7.3.4 read yoke writes
7.3.5 writes follow reads
7.4 replica management
7.4.1 replica-server placcnlent
7.4.2 content repllication and placemcnt
7.4.3 content disttibution
7.5 consistency protocols
7.5.1 continuous consistency
7.5.2 primary based protocols
7.5.3 replicated write protocols
7.5.4 cache coherence pprotocols
7.5.5 implementing client centric consisiellcy
7.6 summary
8 fault tolerance
8.1 introductjon to fault toiaxancf
8.1.1 basic concepts
8.1.2 foiiure models
8.1.3 failure masking by redundancy
8.2 process resilience
8.2.1 design issues
8.2.2 failure masking and replication
8.2.3 agreelncnt in faulty systems
8.2.4 failure detection
8.3 reliable cljent-server communication
8.3.1 point to-point communication
8.3.2 rpc selllantlcs in the presence of failllres
8.4 rruia-ble group commumcation 343
8.4.1 basic reliatrle muiticasiing scnenics
8.4.2 scalability in reliable muihcasting
8.4.3 atomic miiiticast
8.5 distributed commit
8.5.1 two-phase commit
8.5.2 thtec phase commit
8.6 kecovery
8.6.1 introduction
8.6.2 checkpointing
8.6.3 massage logging
8.6.4 recovery-onented computing
8.7 summary
9 security
9.1 introduction to security
9 1.1 security threats, policies, and mechanisms
9.1.2 design issues
9.1.3 cryptography
9.2 secure channels
9.2.1 authentication
9.2.2 message integnty and confidentiality
9.2.3 secure group cornmunlcatlon
9.2.4 example: kerbcros
9.3 access control
9.3.1 general issues in access control
9.3.2 firewalls
9.3.3 secure mobile code
9.3.4 denial of service
9.4 security management
9.4.1 key management
9.4.2 secure group management
9.4.3 allthorization management
9.5 summary
10 distributed object-based systems
10.1 architecture
10.1.1 distributed otijccts
10.1.2 example: entmprise java beaus
10.1.3 example: giotre distributed shared otijects
10.2 processes
10.2.1 object servers
10.2.2 example the ice downtime system
10.3 communication
10.3.1 binding a client to an object
10.3.2 static vcrsus dynamic remote method invocations
10.3.3 parameter passing
10.3.4 example java rmi
10.3.5 object-based messaging
10.4 naming
10.4.1 corba otiject references
10.4.2 globe otrject references
10.5 synchronization
10.6 consistency and replication
10.6.1 entry consistency
10.6.2 replicated invocations
10.7 fault tolerance
10.7.1 example: fault-tolerant corba
10.7.2 example: fault-tolerant java
10.8 security
10.8.1 example: globe
10.8.2 security for remote objects
10.9 summary
11 distributed file systems
11.1 architecture
11.1.1 client-server architectures
11.1.2 clustet-based distributed file systems
11.1.3 sylmnetnc architectures
11.2 processes
11.3 communication
11.3.1 rads in nfs
11.3.2 the rpcz subsystem
11.3.3 file-oriented communication in alang
11.4 nabing
11.4.1 naming in nfs
11.4.2 constructing a global aams space
11.5 synchronization
11.5.1 semalltics off flle sharing
11.5.2 file locking
11.5.3 sharing files in coda
11.6 consistency and replication
11.6.1 client side caching
11.6.2 server-side replication
11.6.3 replicahon in peer to pcer file systems
11.6.4 file replication in gbed systems
11.7 fault tolerance
11.7.1 handling byzantine failures
11.7.2 high availability in peer-to-peer systems
11.8 security
11.8.1 secunty in nfs
11.8.2 decentralized authentication
11.8.3 secure peer-to-peer file-shanng systems
11.9 summary
12 distributed web-based systems
12.1 architecture
12.1.1 traditional web based systems
12.1.2 web system
12.2 processes
12.2.1 clients
12.2.2 the apachc web server
12.2.3 wcb setver clusters
12.3 communication
12.3.1 hypcrtcxt trilnsfel protocol
12.3.2 simple object access protocol
12.4 naming
12.5 synchronization
12.6 consistency and replicanon
12.6.1 web proxy caching
12.6.2 replication for web hosting systems
12.6.3 replication of web anviicaiions
12.7 fault tolerance
12.8 security
12.9 summary
13 distributed coordination-based
13.1 introduction to coordination models
13.2 architectures
13.2.1 overall approach
13.2.2 traditional architestores
13.2.3 peer-to-peer architectures
13.2.4 mobility and cooruination
13.3 processes
13.4 communication
13.4.1 content-based routing
13.4.2 supporting composite subscriptions
13.5 namjng
13.5.1 describing composite evellts
13.5.2 matching events and subscriptiolls
13.6 synchronization
13.7 consistency and replication
13.7.1 static apnroachcs
13.7.2 dynunc replicanon
13.8 fat1t tolerance
13.8.1 reliable pobiish subscribe communicaiioia
13.8.2 fault tolerance in shared dataspaces
13.9 security
13.9.1 confidentiality
13.9.2 secure shared dataspaces
13.10 summary
14 suggestions for further reading and bibliography
14.1 suggestions for further reading
14.1.1 introduction and genelal works
14.1.2 architectures
14.1.3 oricesses
14.1.4 commumcatlon
14.1.5 naming
14.1.6 synchronization
14.1.7 consistency and ffepiication
14.1.8 fault tolerance
14.1.9 secllnty
14.1.1o distributed onject-based systems
14.1.11 distributed file systems
14 1 12 distributed web-based systems
14 1.13 distributed coordination based systems
14.2 alphabetical bibliography