Introduction - Distributed Systems

  • Definitions
    • Collection of autonomous computers linked by a Communication network and equipped with distributed system software
    • Image Not Found
    • 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
      • Image Not Found
    • Distributed Memory (Loosely Coupled System)
      • Image Not Found
  • 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
          • Image Not Found
        • Grid Computing
          • Every computer has a common goal and working on only one task at a time
          • Works with heterogeneous infrastructure
          • Image Not Found
    • 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
      • Image Not Found
      • 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
      • Image Not Found
      • Example => Home System
  • Open System Interconnection (OSI) Reference Model
    • Image Not Found
    • 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
Share: