Introduction - Distributed Systems
- Definitions
- Collection of autonomous computers linked by a Communication network and equipped with distributed system software
- Enables computers to coordinate their activities
- Example => Internet, Intranet
- Characteristics
- Resource Sharing
- Capability to use resources like hardware, software and data anywhere in the system
- Heterogeneity
- Working with different types of OS
- Openness
- Concerned with extensions and improvements
- Concurrency
- Separate activities between users, independence of resources and location of server
- Scalability
- Increase the scale of system
- Fault Tolerance
- Cares about reliability of the system
- Transparency
- Hides the complexity of the distributed system to the users and application programs
- Application
- Finance & Commerce => E-commerce
- Information Society => Search engine, Social networking
- Creative industries and Entertainment => Online gaming, Music
- Healthcare => Patient records
- Education
- Transport and Logistics => GPS
- Science
- Environment Management => Sensors
- Architecture
- Shared Memory (Tightly Coupled System)
- Easier to program
- Distributed Memory (Loosely Coupled System)
- Advantages
- Better price performance ratio
- Shorter response time and higher throughput
- High reliability against component failures
- Extensibility & incremental growth
- Disadvantages
- Relevant software does not exist currently
- Security problem due to easy access to data
- Networking saturation may cause hurdle in data transfer
- Issues in Designing DS
- Transparency
- Flexibility
- Reliability
- Performance
- Scalability
- Security
- Types of DS
- Distributed Computing System
- Uses group of computers that shares a common computational problem among them so as to generate an efficient results in short time span
- Types
- Cluster Computing
- Group of computers are linked together in a network to perform a single task and act like a single entity
- High availability
- Load balancing
- Only supports homogeneous infrastructure
- Grid Computing
- Every computer has a common goal and working on only one task at a time
- Works with heterogeneous infrastructure
- Distributed Information System
- Used to keep track of information about application running over the network which are distributed among various entities
- Used for management and integration of business info
- Example => Transaction processing system, Enterprise app integration
- Distributed Pervasive System
- Used with mobile and embedded devices
- Characterized by small battery powered device having only wireless connection, it is related to system that has lack of human control
- Example => Home System
- Open System Interconnection (OSI) Reference Model
- Trick => A Pokemon Sucked The Nectar Directly & Physically
- Physical Layer
- Activate, Maintain and Deactivates physical connections
- Define voltage and data rates needed for transmission
- Digital data bits => Electrical signal
- Decide transmission
- Simplex
- Half Duplex
- Full Duplex
- Does not perform Detection or correction of errors
- DataLink Layer
- Synchronization and error control for the info which is to be transmitted over physical layer
- Enable error detection
- Adds error detection bits to the data which is to be transmitted
- Encoded data is passed to the physical layer
- Error detection bits are used by DDL on other side to detect & correct errors
- Network Layer
- Mainly deals with routing
- Routes the signals through various channels to the other end
- Divides outgoing messages into Packets and vice versa
- Transport Layer
- Guarantees transmission of data from one end to the other
- Does multiplexing, splitting or segmentation of data
- Decides if data transmission placed on Parallel or Single path
- Data groups into smaller units
- Session Layer
- Manages and synchronizes conversation between two different applications
- User will establish system to system connections
- Controls authentication, bulling and session management
- Avoids dataloss
- Presentation Layer
- Converts/Translates forms/syntax between sender & receiver and vice versa
- Application Layer
- Provides manipulation of info in various ways
- Retransferring the files on info
- Distributing the result
- Login/Password checking
- Code Migration
- Consistency and Replication
- Types of Replica
- Permanent Replica
- Server-initiated Replica
- Client-initiated Replica
- Models
- Master-Slave
- Client-Server
- Peer-to-Peer
- Fault Tolerance
- Failure in DS means when a service cannot be fully provided
- System faliure may be partial
- Failure Escalation: Single failure may affect other parts of a system
- Types of Failure
- Omission Failure: Server fails to respond to incoming messages
- Receive Omission: Server fails to receive incoming messages
- Send Omission: Server fails to send messages
- Timing Failure: Server response lies outside the specified time interval
- Arbitrary Failure: Server produces arbitrary responses at arbitrary times
- Distributed File System
- Files are available on several computers, which can be shared
- Supports
- Remote Information Sharing
- User Mobility
- Diskless Workstations
- Availability
- Services Provided
- Storage
- Truefile: Supports operation like Creating, Deleting, Modifying, ... a file
- Name
- Features
- Transparency: Structural, Access, Naming, Replication
- User Mobility
- Performance
- Simplicity
- Scalability
- High Availability & Reliability
- Data Integrity
- Security
- Heterogeneity