Distributed VERTICAL Syllabus

download Distributed VERTICAL Syllabus

of 16

Transcript of Distributed VERTICAL Syllabus

  • 8/3/2019 Distributed VERTICAL Syllabus

    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. Introduction1.1.1Examples of distributed systems

    1.1.1.1. The internet

    1.1.1.2 .Intranet

    1.1.1.3. Mobile and ubiquitous1.1.2. Concurrency

    1.1.3. No global clock1.1.4. Independent failures

    1.2. Examples of distributed systems1.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 Web1.3.1.1. HTML

    1.3.1.2. URLs

    1.3.1.3. HTTP

    1.3.1.4. Dynamic Pages1.3.1.5. Web Services

    1.3.1.6. Discussion of the Web

    1.4. Challenges1.4.1. Heterogeneity

    1.4.1.1. Middleware1.4.1.2. Heterogeneity and mobile code

    1.4.2. Openness

    1.4.3. Security1.4.4. Scalability

    1.4.5 .Failure Handling

    1.4.6. Concurrency1.4.7. Transparency

  • 8/3/2019 Distributed VERTICAL Syllabus

    2/16

    2. System Models

    2.1. Introduction

    2.2. Architectural models

    1. Software layers2. Platform

    3. Middleware

    2.2.1. System architectures1. Client-server

    2. Peer Peer

    2.2.2. Variations1. Services provided by multiple servers

    2. Proxy servers and caches

    3. Mobile code

    4 Mobile agents

    5. Network computers6. Thin Clients

    7. Mobile devices and spontaneous interoperations2.2.3. Interfaces and Objects

    2.2.4. Design requirements for distributed architects

    1. Performances2. Quality of service

    3. Use of caching and replication

    4. Dependability issues1. Fault tolerance

    2. Security

    2.3. Fundamental models2.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 events3. Two variations of the Interaction model

    2.3.2. Failure Model

    1. Omission Failures2. Arbitrary Failures

    3. Timing Failures

    4. Masking Failures5. Reliability of One-to-one communication

    2.3.3. Security model

    1. Protecting objects2. Securing Processes and their interactions

    3. The enemy

  • 8/3/2019 Distributed VERTICAL Syllabus

    3/16

    1. Threats to processes

    2. Servers

    3 Clients4. Threats to communication channels

    4. Defecting Security threats

    1. Cryptography and Shared secrets2. Authentication

    3. Secure Channels

    5. Other possible threats from an enemy1. 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 communication1. Synchronous and asynchronous communication

    2. Message destinations

    3. Reliability2. Sockets

    1. Java API for internet address

    3. UDP datagram communication1. Message Size

    2. Blocking

    3. Receive from any3.1. Failure model

    1. Omission failure

    2. ordering

    3.2. Use of UDP3.3. Java API for UDP datagrams

    1. Datagram Socket

    2. Datagram Packet4. TCP stream Communication

    1. Message sizes

    2. Lost messages3. Flow control

    4. Message duplication and ordering

    5. Message destinations4.1. Failure model

    4.2. Use of TCP

    1.HTTP2.FTP

    3.Telnet

  • 8/3/2019 Distributed VERTICAL Syllabus

    4/16

    4.SMTP

    4.3. Java API for TCP Streams

    1.Server Socket2.Socket

    4.3. External data representation and marshalling4.3.1. CORBAs common Data Representation

    1. Primitive types

    2. Constructed types3. Marshalling in CORBA

    4.3.2. Java Object Serialization

    1. The Use of reflection4.3.3. Extensible markup Language (XML)

    1. XML elements and attributes

    1. elements

    2. Attributes

    3. Names4. Binary data

    2. Parsing and well-formed documents3. XML namespaces

    4. XML schemas

    5. APIs for accessing XML4.3.4. Remote Object references.

    4.4. Client-Server Communication1. The request-reply protocol

    2. Message Identifiers

    3. Failure model of the request-reply protocol4. Timeouts

    5. Discarding duplicate request messages

    6. Lost reply messages

    7. History8. 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. HEAD3. POST

    4. PUT

    5. DELETE6. OPTIONS

    7. TRACE

    12. Message contents

    4.5. Group communication

  • 8/3/2019 Distributed VERTICAL Syllabus

    5/16

    4.5.1. IP multicast- an implementation of group communication

    1. IP multicast

    2. Failure model for multicast datagrams3. Java API to IP multicast

    4.5.2. Reliability and ordering of multicast

    Some examples of the effects of reliability and ordering1. Fault tolerance based on replicated services

    2. Finding the discovery servers in spontaneous networking

    3. Better performance through replicated data4. 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

    Middleware1. Location Transparency

    2. Communication Protocols

    3. Computer Hardware4. Operating Systems

    5. Use of Several Programming language

    1.1.1. Interfaces1. Interfaces in distributed systems

    1. Service interfaces

    2. Remote interfaces

    2. Interface definition languages

    1.2. Communication between distributed Objects

    1. The Object model2. Distributed Objects

    3. The distributed Object model

    4. Design issues5. Implementation

    1.2.1. The Object model

    1. Object references2. Interfaces

    3. Actions

    4. Exceptions5. Garbage collection

    1.2.2. Distributed Objects

  • 8/3/2019 Distributed VERTICAL Syllabus

    6/16

    1.2.3. The Distributed Object model

    1. Remote object references

    2. Remote interfaces3. Actions in a distributed Object system

    4. Garbage collection in distributed Object systems

    5. Exceptions1.2.4. Design issues for RMI

    1. RMI invocation semantics

    1. Retry request message2. Duplicate filtering

    3. Retransmission of results

    2. Maybe invocation semantics3. At-least once invocation semantics

    4. At-Most invocation Semantics

    5. Transparency

    1.2.5. Implementation of RMI

    1. Communication module2. Remote reference module

    3. Servants4. The RMI

    1. Proxy

    2. Dispatcher3. Skeleton

    5. Generation of the classes for proxies

    6. Dispatcher and skeletons7. Dynamic invocation

    1. An alternative to proxies

    1. Dynamic skeletons8. Server and client programs

    1. Factory methods

    9. The binder

    10. Server threads11. 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 call1. Case Study: Sun RPC

    1. Interface definition language2. Binding

    3. Authentication

    4. Client and Server programs

    1.4. Events and notifications

  • 8/3/2019 Distributed VERTICAL Syllabus

    7/16

    1. Heterogeneous

    2. Asynchronous

    3. Simple dealing room systems4. Event types

    1.4.1. The Participants in distributed event notification

    1. The Object of interest2. Event

    3. Notification

    4. Subscriber5. Publisher

    6. Delivery Semantics

    7. Roles for Observers1. Forwarding

    2. Filtering of notifications

    3. Patterns of events

    4. Notification mailboxes.

    1.4.2. Case Study: Java RMI

    1. Remote interfaces in java RMI2. Parameter and result parsing

    1. Passing remote objects

    2. Passing non-remote objects3. Downloading of classes

    4. RMI registry

    1.4.2.1. Building client and server programs1. Server Program

    2. Client Program

    3. Callbacks1.4.2.2 .Design and Implementation of Java RMI

    1. Use of reflection

    2. Java classes supporting RMI

    2. Operating System Support

    2.1. Introduction1. Middleware and network operating system

    2.2. The Operating System layer1. Encapsulation

    2. Protection

    3. Concurrent Processing4. Communication

    5. Scheduling

    6. Process manager7. Thread manager

    8. Communication manager

  • 8/3/2019 Distributed VERTICAL Syllabus

    8/16

    9. Memory Manager

    10. Supervisor

    2.3. Protection1. Kernels and Protection

    2.4. Processes and threads1. Address spaces

    2. Creation of new process1. Choice of process host

    2. Creation of a new execution environment

    2.5 Threads1. Architectures for multi-threaded servers

    2. Threads within clients

    3. Threads versus multiple processes

    4. Thread programming5. Thread lifetimes

    6. Thread Synchronization7. Thread scheduling

    8. Threads Implementation

    2.6. Communication and invocation1. Communication primitives

    2. Protocols and openness2.6.1. Invocation performance

    1. Invocation costs

    2. Invocation over the network3. Memory Sharing

    4. Choice of protocol

    5. Invocation within a computer

    6. Discussion of LRPC2.6.2. Asynchronous Operation

    1. Making invocations concurrently

    2. Asynchronous invocation3. Persistent asynchronous invocations

    2.7. Operating System architecture1. Monolithic kernels and microkernels operations

    2. Comparison

    3. Some Hybrid approaches

  • 8/3/2019 Distributed VERTICAL Syllabus

    9/16

    UNIT III

    1. Distributed File Systems

    1.1. Introduction1.1.1. Characteristics of file systems

    1. File System Operations

    1.1.2. Distributed file system requirements1. Transparency

    1. Access transparency

    2. Location transparency3. Mobility transparency

    4. Performance transparency

    5. Scaling transparency

    2. Concurrent file updates

    3. File replication4. Hardware and Operating System Heterogeneity

    5. Fault tolerance6. Consistency

    7. Security

    8. Efficiency1.1.3. Case Studies

    1. File service architecture

    2. Sun NFS3. Andrew File System

    1.2. File service architecture1. Flat File service

    2. Directory service

    3. Client module

    4. Flat file service interface5. Access control

    6. Directory service interface

    7. Hierarchies file system8. File Groups

    1.3. Case Study: Sun Network File System1. Virtual file system

    2. Client integration

    3. Access control and authentication4. NFS Server interface

    5. Mount Service

    6. Path name translation7. Automounter

    8. Server caching

  • 8/3/2019 Distributed VERTICAL Syllabus

    10/16

    9. Client Caching

    10. Other Optimizations

    11. Securing NFS with Kerberos12. Performance

    13. NFS Summary

    1. Access transparency2. Location transparency

    3. Mobility transparency

    4. Scalability5. File Replication

    6. Hardware and operating system Heterogeneity

    7. Fault tolerance8. Consistency

    9. Security

    10. Efficiency

    1.4. Enhancement and Further developments1. NFS enhancements

    2. AFS enhancements3. Improvements in storage organizations

    4. New Design Approaches

    2. Name Services

    2.1. Introduction1. 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. Integeration3. General name Service requirements

    4. Long Lifetime

    5. High Availability6. Fault isolation

    7. Tolerance of mistrust

    2.2.1. Name Spaces1. Aliases

    2. Naming domains

    3. Combing and customizing name spaces1. Merging

    2. Heterogeneity

    3. Customization2.2.2. Name resolution

    1. Name servers and Navigation

  • 8/3/2019 Distributed VERTICAL Syllabus

    11/16

    2. Caching

    2.2.3. The Domain name System

    1. Domain names2. DNS queries

    1. Host name resolution

    2. Mail host location3. Reverse resolution

    4. Host information

    5. Well known services3. DNS name Servers

    4. Navigation and query processing

    5. Resource records6. 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 Change2. Discussion of DNS

    UNIT IV

    1.Time and Global states

    1.1. Introduction

    1.2. Clocks events and Process states1. Clocks

    2. Clock skew and clock drift

    3. Coordinated universal

    1.3. Synchronizing Physical Clocks

    1. External Synchronization

    2. Internal Synchronization1.3.1. Synchronous method for synchronizing clocks

    1.3.2. Critians method for synchronizing clocks

    1. Discussion of critians algorithm1.3.3. The Berkeley algorithm

    1.3.4. The Network time protocol

    1.4. Logical time and logical clocks1.4.1. Logical clocks

    1.4.2. Totally ordered logical clocks1.4.3. Vector clocks

  • 8/3/2019 Distributed VERTICAL Syllabus

    12/16

    1.5. Global States

    1. Distributed garbage collection

    2. Distributed deadlock detection3. Distributed termination detection

    4. Distributed debugging

    1.5.1. Global states and consistent cuts1.5.2. Global state predicates, stability, safety and liveness

    1.5.3. The Snapshot algorithm of chandy and lamport

    1. Termination of the snapshot algorithm2. Characterizing the observed state

    3. Stability and the reachability of the observed state

    1.6. Distributed debugging1. 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 exclusion2.2.1. Algorithms for mutual exclusion

    1. The central server algorithm

    2. A ring-based algorithm3. 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. Efficiency2. Delivery guarantees

    3. System Model

    2.4.1. Basic multicast2.4.2. Reliable multicast

    1. Integrity

    2. Validity3. Agreement

    4. Implementing reliable multicast over B-Multicast

  • 8/3/2019 Distributed VERTICAL Syllabus

    13/16

    5. Uniform Properties

    2.4.3. Ordered multicast

    1. FIFO Ordering2. Casual Ordering

    3. Total Ordering

    4. The example of the bulletin board5. Implementing FIFO ordering

    6. Implementing total ordering

    7. Implementing casual ordering8. Overlapping groups

    1. Global FIFO Ordering

    2. Global Casual ordering3. Pairwise total Ordering

    4. Global total ordering

    9. Multicast in synchronous and Asynchronous Systems

    2.5. Conesus and related problems2.5.1. System model and problem definitions

    1. Definition of the consensus problem2. Termination

    3. Agreement

    4. Integrity5. The Byzantime generals problem

    6. Interative consistency

    7. Relating consensus to other problems2.5.2. Conesus in a synchronous system

    2.5.3. The byzantine generals problem in a synchronous system

    1. Impossibility in asynchronous system2. Impossibility with N

  • 8/3/2019 Distributed VERTICAL Syllabus

    14/16

    1. Hardware

    2. Paged Virtual memory

    3. Middleware

    1.2. Design and Implementation issues

    1.2.1. Structure1. Byte oriented

    2. Object oriented

    3. Immutable data1.2.2. Synchronization model

    1.2.3. Consistency model

    1. Sequential consistency2. Coherence

    3. Weak Consistency

    1.2.4. Update options

    1. Write-Update

    2. Write-invalidate1.2.5. Granularity

    1.2.6. Thrashing

    1.3. Sequential consistency and lvy case study

    1.3.1. The system model1. Problem of Write update

    1.3.2. Write invalidation

    1.3.3. Invalidation protocols1. 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 access2. Performing asynchronous operations

    1.4.2. Release consistency

    1.4.3. Munin1. Read-only

    2. Migratory

    3. Write-shared4. Producer-consumer

    5. Reduction

    6. Result7. Conventional

    1.4.4. Other consistency models

    1. Casual Consistency2. Processor Consistency

    3. Entry Consistency

  • 8/3/2019 Distributed VERTICAL Syllabus

    15/16

    4. Pipelined RAM

    5. Scope Consistency

    6. Weak Consistency

    2. CORBA Case Study2.1. Introduction

    2.2. CORBA RMI1. CORBAs object model

    2. CORBA IDL

    1. Parameters and results in CORBA IDL2. Passing CORBA Objects

    3. Passing CORBA Primitive and Constructed types

    4. Type Object

    5. Invocation Semantics

    6. The CORBA Naming Service7. CORBA Pseudo objects

    2.2.1. CORBA client and server example1. Server Program

    2. Client Program

    3. Callback2.2.2. The Architecture of CORBA

    1. ORB core

    2. Object adapter3. Portable Object adapter

    4. Skeletons

    5. Client stubs/Proxies6. Implementation repository

    7. Dynamic invocation interface

    8. Dynamic Skeletons

    9. Legacy code2.2.3. CORBA interface Definition Language

    1. IDL modules

    2. IDL interfaces3. IDL methods

    4. IDL types

    5. Attributes6. Inheritance

    7. IDL type Identifiers

    8. Extensions to CORBA2.2.4. CORBA remote Object references

    1. Transient IORs

    2. Persistent IORs2.2.5. CORBA language mappings

    2.2.6. Integration of CORBA and web Services

  • 8/3/2019 Distributed VERTICAL Syllabus

    16/16

    2.3. CORBA Services

    1. Naming service2. Security service

    3. Trading service

    4. Notification service5. Transaction service

    6. Concurrency control service

    7. Persistent service8. Life Cycle Service

    2.3.1. CORBA Naming Service

    2.3.2. CORBA Event Service2.3.3. CORBA Notifications Service

    2.3.4. CORBA Security