Вы находитесь на странице: 1из 16

SRI KRISHNA ENGINEERING COLLEGE Panapakkam, Chennai-601 301 Department of Information Technology CS 2056: Distributed Systems

UNIT 1 1. Characterization of Distributed Systems 1.1. Introduction 1.1.1Examples of distributed systems 1.1.1.1. The internet 1.1.1.2 .Intranet 1.1.1.3. Mobile and ubiquitous 1.1.2. Concurrency 1.1.3. No global clock 1.1.4. Independent failures 1.2. Examples of distributed systems 1.2.1. The internet 1.2.2. Intranet 1.2.3. Mobile and ubiquitous 1.3. Resource sharing and the web 1.3.1. The World Wide Web 1.3.1.1. HTML 1.3.1.2. URLs 1.3.1.3. HTTP 1.3.1.4. Dynamic Pages 1.3.1.5. Web Services 1.3.1.6. Discussion of the Web 1.4. Challenges 1.4.1. Heterogeneity 1.4.1.1. Middleware 1.4.1.2. Heterogeneity and mobile code 1.4.2. Openness 1.4.3. Security 1.4.4. Scalability 1.4.5 .Failure Handling 1.4.6. Concurrency 1.4.7. Transparency

2. System Models 2.1. Introduction 2.2. Architectural models 1. Software layers 2. Platform 3. Middleware 2.2.1. System architectures 1. Client-server 2. Peer Peer 2.2.2. Variations 1. Services provided by multiple servers 2. Proxy servers and caches 3. Mobile code 4 Mobile agents 5. Network computers 6. Thin Clients 7. Mobile devices and spontaneous interoperations 2.2.3. Interfaces and Objects 2.2.4. Design requirements for distributed architects 1. Performances 2. Quality of service 3. Use of caching and replication 4. Dependability issues 1. Fault tolerance 2. Security 2.3. Fundamental models 2.3.1. Interaction 2.3.2. Failure 2.3.3. Security 2. 3.1. Interaction Model 1. Performance of communication channels 2. Computer clocks and timing events 3. Two variations of the Interaction model 2.3.2. Failure Model 1. Omission Failures 2. Arbitrary Failures 3. Timing Failures 4. Masking Failures 5. Reliability of One-to-one communication 2.3.3. Security model 1. Protecting objects 2. Securing Processes and their interactions 3. The enemy

1. Threats to processes 2. Servers 3 Clients 4. Threats to communication channels 4. Defecting Security threats 1. Cryptography and Shared secrets 2. Authentication 3. Secure Channels 5. Other possible threats from an enemy 1. Denial of service 2. Mobile code 6. The uses of security models 4. Interprocess Communication 4.1. Introduction 4.2. The API for the internet protocols 1. The Characteristics of interprocess communication 1. Synchronous and asynchronous communication 2. Message destinations 3. Reliability 2. Sockets 1. Java API for internet address 3. UDP datagram communication 1. Message Size 2. Blocking 3. Receive from any 3.1. Failure model 1. Omission failure 2. ordering 3.2. Use of UDP 3.3. Java API for UDP datagrams 1. Datagram Socket 2. Datagram Packet 4. TCP stream Communication 1. Message sizes 2. Lost messages 3. Flow control 4. Message duplication and ordering 5. Message destinations 4.1. Failure model 4.2. Use of TCP 1.HTTP 2.FTP 3.Telnet

4.SMTP 4.3. Java API for TCP Streams 1.Server Socket 2.Socket 4.3. External data representation and marshalling 4.3.1. CORBAs common Data Representation 1. Primitive types 2. Constructed types 3. Marshalling in CORBA 4.3.2. Java Object Serialization 1. The Use of reflection 4.3.3. Extensible markup Language (XML) 1. XML elements and attributes 1. elements 2. Attributes 3. Names 4. Binary data 2. Parsing and well-formed documents 3. XML namespaces 4. XML schemas 5. APIs for accessing XML 4.3.4. Remote Object references. 4.4. Client-Server Communication 1. The request-reply protocol 2. Message Identifiers 3. Failure model of the request-reply protocol 4. Timeouts 5. Discarding duplicate request messages 6. Lost reply messages 7. History 8. RPC exchange protocols 9. Use of TCP streams to implement the request-reply protocol 10. HTTP: an example of a request-reply protocol. 11. HTTP methods 1. GET 2. HEAD 3. POST 4. PUT 5. DELETE 6. OPTIONS 7. TRACE 12. Message contents 4.5. Group communication

4.5.1. IP multicast- an implementation of group communication 1. IP multicast 2. Failure model for multicast datagrams 3. Java API to IP multicast 4.5.2. Reliability and ordering of multicast Some examples of the effects of reliability and ordering 1. Fault tolerance based on replicated services 2. Finding the discovery servers in spontaneous networking 3. Better performance through replicated data 4. Propagation of event notifications 4.6. Case Study: Interprocess communication in UNIX. 1. Datagram communication 2. Stream communication.

UNIT II 1. Distributed Objects and Remote invocation 1.1. Introduction Middleware 1. Location Transparency 2. Communication Protocols 3. Computer Hardware 4. Operating Systems 5. Use of Several Programming language 1.1.1. Interfaces 1. Interfaces in distributed systems 1. Service interfaces 2. Remote interfaces 2. Interface definition languages 1.2. Communication between distributed Objects 1. The Object model 2. Distributed Objects 3. The distributed Object model 4. Design issues 5. Implementation 1.2.1. The Object model 1. Object references 2. Interfaces 3. Actions 4. Exceptions 5. Garbage collection 1.2.2. Distributed Objects

1.2.3. The Distributed Object model 1. Remote object references 2. Remote interfaces 3. Actions in a distributed Object system 4. Garbage collection in distributed Object systems 5. Exceptions 1.2.4. Design issues for RMI 1. RMI invocation semantics 1. Retry request message 2. Duplicate filtering 3. Retransmission of results 2. Maybe invocation semantics 3. At-least once invocation semantics 4. At-Most invocation Semantics 5. Transparency 1.2.5. Implementation of RMI 1. Communication module 2. Remote reference module 3. Servants 4. The RMI 1. Proxy 2. Dispatcher 3. Skeleton 5. Generation of the classes for proxies 6. Dispatcher and skeletons 7. Dynamic invocation 1. An alternative to proxies 1. Dynamic skeletons 8. Server and client programs 1. Factory methods 9. The binder 10. Server threads 11. Activation of remote objects 12. Persistent Object stores 13. Object location. 1.2.6. Distributed garbage collection 1. Leases in jinni 1.3. Remote procedure call 1. Case Study: Sun RPC 1. Interface definition language 2. Binding 3. Authentication 4. Client and Server programs 1.4. Events and notifications

1. Heterogeneous 2. Asynchronous 3. Simple dealing room systems 4. Event types 1.4.1. The Participants in distributed event notification 1. The Object of interest 2. Event 3. Notification 4. Subscriber 5. Publisher 6. Delivery Semantics 7. Roles for Observers 1. Forwarding 2. Filtering of notifications 3. Patterns of events 4. Notification mailboxes. 1.4.2. Case Study: Java RMI 1. Remote interfaces in java RMI 2. Parameter and result parsing 1. Passing remote objects 2. Passing non-remote objects 3. Downloading of classes 4. RMI registry 1.4.2.1. Building client and server programs 1. Server Program 2. Client Program 3. Callbacks 1.4.2.2 .Design and Implementation of Java RMI 1. Use of reflection 2. Java classes supporting RMI 2. Operating System Support 2.1. Introduction 1. Middleware and network operating system 2.2. The Operating System layer 1. Encapsulation 2. Protection 3. Concurrent Processing 4. Communication 5. Scheduling 6. Process manager 7. Thread manager 8. Communication manager

9. Memory Manager 10. Supervisor 2.3. Protection 1. Kernels and Protection 2.4. Processes and threads 1. Address spaces 2. Creation of new process 1. Choice of process host 2. Creation of a new execution environment 2.5 Threads 1. Architectures for multi-threaded servers 2. Threads within clients 3. Threads versus multiple processes 4. Thread programming 5. Thread lifetimes 6. Thread Synchronization 7. Thread scheduling 8. Threads Implementation 2.6. Communication and invocation 1. Communication primitives 2. Protocols and openness 2.6.1. Invocation performance 1. Invocation costs 2. Invocation over the network 3. Memory Sharing 4. Choice of protocol 5. Invocation within a computer 6. Discussion of LRPC 2.6.2. Asynchronous Operation 1. Making invocations concurrently 2. Asynchronous invocation 3. Persistent asynchronous invocations 2.7. Operating System architecture 1. Monolithic kernels and microkernels operations 2. Comparison 3. Some Hybrid approaches

UNIT III 1. Distributed File Systems 1.1. Introduction 1.1.1. Characteristics of file systems 1. File System Operations 1.1.2. Distributed file system requirements 1. Transparency 1. Access transparency 2. Location transparency 3. Mobility transparency 4. Performance transparency 5. Scaling transparency 2. Concurrent file updates 3. File replication 4. Hardware and Operating System Heterogeneity 5. Fault tolerance 6. Consistency 7. Security 8. Efficiency 1.1.3. Case Studies 1. File service architecture 2. Sun NFS 3. Andrew File System 1.2. File service architecture 1. Flat File service 2. Directory service 3. Client module 4. Flat file service interface 5. Access control 6. Directory service interface 7. Hierarchies file system 8. File Groups 1.3. Case Study: Sun Network File System 1. Virtual file system 2. Client integration 3. Access control and authentication 4. NFS Server interface 5. Mount Service 6. Path name translation 7. Automounter 8. Server caching

9. Client Caching 10. Other Optimizations 11. Securing NFS with Kerberos 12. Performance 13. NFS Summary 1. Access transparency 2. Location transparency 3. Mobility transparency 4. Scalability 5. File Replication 6. Hardware and operating system Heterogeneity 7. Fault tolerance 8. Consistency 9. Security 10. Efficiency 1.4. Enhancement and Further developments 1. NFS enhancements 2. AFS enhancements 3. Improvements in storage organizations 4. New Design Approaches 2. Name Services 2.1. Introduction 1. Names, address and other attributes 1. Names and services 2. Uniform Resource identifiers 2.2. Name Services and the Domain Name System 1. Unification 2. Integeration 3. General name Service requirements 4. Long Lifetime 5. High Availability 6. Fault isolation 7. Tolerance of mistrust 2.2.1. Name Spaces 1. Aliases 2. Naming domains 3. Combing and customizing name spaces 1. Merging 2. Heterogeneity 3. Customization 2.2.2. Name resolution 1. Name servers and Navigation

2. Caching 2.2.3. The Domain name System 1. Domain names 2. DNS queries 1. Host name resolution 2. Mail host location 3. Reverse resolution 4. Host information 5. Well known services 3. DNS name Servers 4. Navigation and query processing 5. Resource records 6. The BIND Implementation of the DNS 7. Discussion of the DNS 2.3. Directory Services 2.4 Case Study of the Global name Service 1. Accommodating Change 2. Discussion of DNS UNIT IV 1.Time and Global states 1.1. Introduction 1.2. Clocks events and Process states 1. Clocks 2. Clock skew and clock drift 3. Coordinated universal 1.3. Synchronizing Physical Clocks 1. External Synchronization 2. Internal Synchronization 1.3.1. Synchronous method for synchronizing clocks 1.3.2. Critians method for synchronizing clocks 1. Discussion of critians algorithm 1.3.3. The Berkeley algorithm 1.3.4. The Network time protocol 1.4. Logical time and logical clocks 1.4.1. Logical clocks 1.4.2. Totally ordered logical clocks 1.4.3. Vector clocks

1.5. Global States 1. Distributed garbage collection 2. Distributed deadlock detection 3. Distributed termination detection 4. Distributed debugging 1.5.1. Global states and consistent cuts 1.5.2. Global state predicates, stability, safety and liveness 1.5.3. The Snapshot algorithm of chandy and lamport 1. Termination of the snapshot algorithm 2. Characterizing the observed state 3. Stability and the reachability of the observed state 1.6. Distributed debugging 1. Observing consistent global states 2. Evaluating possibly 3. Evaluating definitely 4. Evaluating and definitely in Synchronous System 2. Coordination and agreement 2.1. Introduction 1. Failure assumptions and failure detectors 2.2. Distributed mutual exclusion 2.2.1. Algorithms for mutual exclusion 1. The central server algorithm 2. A ring-based algorithm 3. An algorithm using multicast and logical clocks 4. Meekawas voting algorithm 5. Fault tolerance 2.3. Elections 2.3.1. A ring based election algorithm 2.3. 2. The bully algorithm 2.4. Multicast communication 1. Efficiency 2. Delivery guarantees 3. System Model 2.4.1. Basic multicast 2.4.2. Reliable multicast 1. Integrity 2. Validity 3. Agreement 4. Implementing reliable multicast over B-Multicast

5. Uniform Properties 2.4.3. Ordered multicast 1. FIFO Ordering 2. Casual Ordering 3. Total Ordering 4. The example of the bulletin board 5. Implementing FIFO ordering 6. Implementing total ordering 7. Implementing casual ordering 8. Overlapping groups 1. Global FIFO Ordering 2. Global Casual ordering 3. Pairwise total Ordering 4. Global total ordering 9. Multicast in synchronous and Asynchronous Systems 2.5. Conesus and related problems 2.5.1. System model and problem definitions 1. Definition of the consensus problem 2. Termination 3. Agreement 4. Integrity 5. The Byzantime generals problem 6. Interative consistency 7. Relating consensus to other problems 2.5.2. Conesus in a synchronous system 2.5.3. The byzantine generals problem in a synchronous system 1. Impossibility in asynchronous system 2. Impossibility with N<=3f 3. Solution with one faulty process 2.5.4. Impossibilty in asynchronous systems 1. Masking faults 2. Consensus using failure detectors 3. Consensus using randomization

UNIT V 1. Distributed Shared Memory 1.1. Introduction 1.1.1 Message passing versus DSM 1. Programming model 2. Efficiency 1.1.2 Implementation approaches to DSM

1. Hardware 2. Paged Virtual memory 3. Middleware 1.2. Design and Implementation issues 1.2.1. Structure 1. Byte oriented 2. Object oriented 3. Immutable data 1.2.2. Synchronization model 1.2.3. Consistency model 1. Sequential consistency 2. Coherence 3. Weak Consistency 1.2.4. Update options 1. Write-Update 2. Write-invalidate 1.2.5. Granularity 1.2.6. Thrashing 1.3. Sequential consistency and lvy case study 1.3.1. The system model 1. Problem of Write update 1.3.2. Write invalidation 1.3.3. Invalidation protocols 1. Using multicast to locate the owner 1.3.4. A dynamic distributed manager algorithm 1.3.5. Thrashing 1.4. Release consistency and munin case study 1.4.1. Memory accesses 1. Types of memory access 2. Performing asynchronous operations 1.4.2. Release consistency 1.4.3. Munin 1. Read-only 2. Migratory 3. Write-shared 4. Producer-consumer 5. Reduction 6. Result 7. Conventional 1.4.4. Other consistency models 1. Casual Consistency 2. Processor Consistency 3. Entry Consistency

4. Pipelined RAM 5. Scope Consistency 6. Weak Consistency

2. CORBA Case Study 2.1. Introduction 2.2. CORBA RMI 1. CORBAs object model 2. CORBA IDL 1. Parameters and results in CORBA IDL 2. Passing CORBA Objects 3. Passing CORBA Primitive and Constructed types 4. Type Object 5. Invocation Semantics 6. The CORBA Naming Service 7. CORBA Pseudo objects 2.2.1. CORBA client and server example 1. Server Program 2. Client Program 3. Callback 2.2.2. The Architecture of CORBA 1. ORB core 2. Object adapter 3. Portable Object adapter 4. Skeletons 5. Client stubs/Proxies 6. Implementation repository 7. Dynamic invocation interface 8. Dynamic Skeletons 9. Legacy code 2.2.3. CORBA interface Definition Language 1. IDL modules 2. IDL interfaces 3. IDL methods 4. IDL types 5. Attributes 6. Inheritance 7. IDL type Identifiers 8. Extensions to CORBA 2.2.4. CORBA remote Object references 1. Transient IORs 2. Persistent IORs 2.2.5. CORBA language mappings 2.2.6. Integration of CORBA and web Services

2.3. CORBA Services 1. Naming service 2. Security service 3. Trading service 4. Notification service 5. Transaction service 6. Concurrency control service 7. Persistent service 8. Life Cycle Service 2.3.1. CORBA Naming Service 2.3.2. CORBA Event Service 2.3.3. CORBA Notifications Service 2.3.4. CORBA Security

Вам также может понравиться