You are on page 1of 45

Distributed Systems: Concepts and Design UNIT-I

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

CONTENTS:Distributed System covers


Most Interrelated Topics Distributed System and its Characteristics System Models Distributed objects and remote invocation Time and global state Distributed shared memory Distributed database systems Processes and processor in distributed systems Distributed file systems

05/04/2012

Prof. S.K.Lenka/MITS
Prof. Dr. S.K.Lenka/University/Rajasthan-332311 Deptartment of CSE/ MITS, Lakshmangarh, Rajsthan

Books
Books: Distributed systems by A.S.Tanenbaum, and Maarten Van Steen, LPE, Pearson Education Asia, 2002. Distributed systems by G. Coulouris , J. Dollimore, T. Kindberg, IE, Pearson Education Asia. Distributed Operating System by Sivratri, MGH. Distributed systems by B. Dietel, Pearson Education Asia. Usefulness of the distributed systems and applications. Complete over view of the all the above chapters.

All the best/ Good luck Prof. Dr. S.K.Lenak/ MITS-Deemed University, Rajasthan
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 3

Most Interrelated Topics


Out of so many computing systems these two are most interrelated topics. Multiprocessor Systems Distributed Systems What is a distributed system? Each system of the distributed systems is completely autonomous independent system, connected to others on the network. There are several levels of distribution, such as loosely coupled, closely coupled and tightly coupled. Earliest systems used simple network programs: FTP (File transfer programs) Telnet (rlogin): remote login Mail Remote job entry: run jobs remotely
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 4

Introduction to DSYS
What are different commonly available distributed systems? All most all the systems used now days are distributed systems, such as: Emails Access files over the network Access printers over the network Backed up over the network Share other physical and logical resources Cooperate with other people on the other machines Receive audio, video, image and picture

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

Introduction to DSYS
Why to use distributed systems? Now days distributed systems are widely used.
Economic (small computers very much cost effective)

Resource sharing
Sharing and printing files at remote sites Processing information in distributed database Using remote specialized hardware devices

Many applications are natured distributed


ATM (automatic teller machine) Airtrip reservation System Ticket purchasing Shopping

Computation Speedup (Performance) using parallel programming. Using many cooperating machines and PCs can solve largest, complicated, complex and data intensive problems. Reliability
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 6

Introduction to DSYS
A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. Ubiquitous Network: Internet Mobile phone networks Corporation networks Factory networks Campus networks Home networks

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

Introduction to DSYS
Three Examples: The Internet An intranet, which is a portion of the Internet managed by an organization. Mobile and ubiquitous computing

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

Introduction to DSYS
Internet:
The Internet is a very large distributed system. The largest network of networks in the world. Uses TCP/IP protocols and packet switching. Runs on any communications substrate. The implementation of the Internet and the services that it suports has entailed the development of practical solutions to many distributed system issues.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

Introduction to DSYS
Internet:
A network of networks, joining many government, university and private computers together and providing an infrastructure for the use of E-mail, bulletin boards, file archives, hypertext documents, databases and other computational resources
The vast collection of computer networks which form and act as a single huge network for transport of data and messages across distances which can be anywhere from the same office to anywhere in the world.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

10

Introduction to DSYS
Internet:

Fig. Typical Internet

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

11

Introduction to DSYS
Intranets
An intranet is a portion of the Internet that is separately administered and has a boundary that can be configured to enforce local security policies. The main issues arising in the design of components for use in intranets are: file services, firewalls, and cost.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

12

Introduction to DSYS
Intranets

Fig. Typical Intranet


05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 13

Introduction to DSYS
Mobile and ubiquitous computing

Mobile devices Laptop computers Handheld devices e.g.PDA, mobile phone, pager, video camera, digital camera Wearable devices e.g. smart watches, digital glasses

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

14

Introduction to DSYS
Smart watches
A wristwatch that retrieves weather, messages, reminders and stock quotes from Microsoft's MSN Direct wireless service, which transmits over an unused portion of the FM radio band. Introduced in 2004, the Smart Watch is part of Microsoft's Smart Personal Objects Technology (SPOT) initiative. Manufacturers such as Fossil, Tissot and Swatch make the watches, and users require an MSN Direct subscription to download data and a Web browser to set up and customize their accounts.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

15

Introduction to DSYS
Network appliances e.g. washing machines, hi-fi systems, cars and refrigerators Mobile computing (nomadic computing) Access resources while on the move or in an unusual environment Location-aware computing: utilize resources that are conveniently nearby Ubiquitous computing (pervasive computing): Calm technologies and the technology of virtually invisible. The harnessing of many small, cheap computational devices

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

16

Introduction to DSYS

Fig. Portable and handheld devices in a distributed system

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

17

Introduction to DSYS
The portability of the devices, such as laptop computers, PDA, mobil phone, refrigerators, togather with their ability to connect conveniently to networks in different places, makes mobile computing possible. Ubiquitous computing is the harnessing of many small cheap computational devices that are present in users physical environments, including the home, office and elsewhere.

Mobile and ubiquitous computing raise significant system issues presents an architecture for mobile compuing and outlines the issues that arise from it, including how to support the discovery of resources in a host environment; eliminating the need for users to reconfigure their mobile devices as they move around; helping users to cope with limited connectivity as they travel; and providing privacy and other security guarantees to users and the environments that the visit.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

18

Introduction to DSYS
Issues in the design of components for the use in Mobile and ubiquitous computing: Discovery of resources Eliminating the need for users to reconfigure their mobile devices To cope with limited connectivity as they travel Provide privacy and other security guarantees Definitions of UbiComp: Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user. Generic Features: 1. 2. 3. Transparent Interfaces Awareness of Context(s) Capture Experience

Example: eclass

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

19

Introduction to DSYS
Significant Consequences of DS / Characteristics of Distributed System
Concurrency: The capacity of the system to handle shared resources can be increased by adding more resources to the network.

No global clock: The only communication is by sending messages through a network.


Independent failures: The programs may not be able to detect whether the network has failed or has become unusually slow.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

20

Introduction to DSYS
Resource
The term resource is a rather abstract one, but it best characterizes the range of things that can usefully be shared in a networked computer system. It extends from hardware components such as disks and printers to software-defined entities such as files, databases and data objects of all kinds.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

21

Introduction to DSYS
Resource sharing: Is the primary motivation of distributed computing Resources types Hardware, e.g. printer, scanner, camera Data, e.g. file, database, web page More specific functionality, e.g. search engine, file

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

22

Introduction to DSYS
Important Terms of Web
Services A distinct part of a computer system that manages a collection of related resources and presents their functionality to users and applications. http, telnet, pop3... Server A running program (a process) on a networked computer that accepts requests from programs running on other computers to perform a service, and responds apppropriately. IIS, Apache... Client The requesting processes. Remote invocation A complete interaction between client and server, from the point when the client sends its request to when it receives the servers response
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 23

Introduction to DSYS
The World Wide Web: The WWW is an evolving system for publishing and accessing resources and services across the Internet. The Web is an open system: it can be extended and implemented in new ways without disturbing its existing functionality. Its operation is based on communication standards and document standards tht are freely published and widely implemented. The Web is one with respect to the types of resource that can be published and shared on.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

24

Introduction to DSYS
The main standard components of Web: HyperText Markup Language(HTML) A language for specifying the contents and layout of pages HTML text is stored in a file of a web server. A browser retrieves the contents of this file from a web server. -The browser interprets the HTML text -The server can infer the content type from the filename extension. Uniform Resource Locators (URL) Identify documents and other resources A client-server architecture with HTTP with browsers and other clients fetch documents and other resources from web servers HyperText Transfer Protocol (HTTP) HTTP is a request-reply protocol.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

25

Introduction to DSYS
HTTP URLs are the most widely used An HTTP URL has two main jobs to do: To identify which web server maintains the resource To identify which of the resources at that server Scheme: scheme-specific-location e.g: mailto:joe@anISP.net ftp://ftp.downloadIt.com/software/aProg.exe http://net.pku.cn/

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

26

Introduction to DSYS

HTTP URLs:

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

27

Introduction to DSYS
More Challenges

Following are the challenges:


Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

28

Introduction to DSYS
Heterogeneity: Networks Ethernet, token ring, etc Computer hardware big endian / little endian Operating systems different API of Unix and Windows Programming languages different representations for data structures Implementations from different developers no application standards

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

29

Introduction to DSYS
Heterogeneity
Middleware applies to a software layer that provides a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, OSs and programming languages Mobile code is used to refer to code that can be sent from one computer to another and run at the destination

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

30

Introduction to DSYS
Heterogeneity
Different networks, hardware, operating systems, programming languages, developers. We set up protocols to solve these heterogeneities. Middleware: a software layer that provides a programming abstraction as well as masking the heterogeneity. Mobile code: code that can be sent from one computer to another and run at the destination.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

31

Introduction to DSYS
Openness
Openness of a computer system -- is the characteristic that determines whether the system can be extended and re-implemented in various way. e.g. Unix Openness of distributed systems -- is determined by the degree to which new resource sharing services can be added and be made available for use by A variety of client programs. e.g. Web How to deal with openness? -- key interfaces are published, e.g. RFC

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

32

Introduction to DSYS
Openness
The openness of DS is determined primarily by the degree to which new resource-sharing services can be added and be made available for use by a variety of client programs. Open systems are characterized by the fact that their key interfaces are published. Open DS are based on the provision of a uniform communication mechanism and published interfaces for access to shared resources. Open DS can be constrcted from heterogeneous hardware and software.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

33

Introduction to DSYS
Security
Confidentiality protection against disclosure to unauthorized individuals, e.g. ACL in Unix File System (Access Control Lists) Integrity protection against alteration or corruption, e.g. checksum Availability protection against interference with the means to access the resources, e.g. Denial of service

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

34

Introduction to DSYS
Security
Security for information resources has three components: Confidentiality: protection against disclosure to unauthorized individuals. Integrity: protection against alteration or corruption. Availability: protection against interference with the means to access the resources. Two new security challenges: Denial of service attacks (DoS). Security of mobile code.
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 35

Introduction to DSYS
Scalability
A system is described as scalable if will remain effective when there is a significant increase in the number of resources and the number of users A scalable example system: the Internet design challenges The cost of physical resources The performance loss Prevent software resources running out, e.g., IP address Avoid performance bottlenecks, e.g., partitioning name table of DNS, cache and replication

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

36

Introduction to DSYS
Scalability

A system is described as scalable if it remains effective when there is a significant increase in the number of resources and the number of users. Challenges: Controlling the cost of resources or money. Controlling the performance loss. Preventing software resources from running out Avoiding preformance bottlenecks.
05/04/2012 Prof. S.K.Lenka/MITS University/Rajasthan-332311 37

Introduction to DSYS
Failure handling
Failure handling: Detecting e.g. checksum for corrupted data Sometimes impossible so suspect, e.g. a remote crashed server in the Internet Masking e.g. Retransmit message, standby server Tolerating e.g. a web browser cannot contact a web server Recovery e.g. Roll back Redundancy e.g. IP route, replicated name table of DNS

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

38

Introduction to DSYS
Failure handling
When faults occur in hardware or software, programs may produce incorrect results or they may stop before they have completed the intended computation.
Techniques for dealing with failures: Detecting failures Masking failures Tolerating failures Recovering form failures Redundancy

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

39

Introduction to DSYS
Concurrency
There is a possibility that several clients will attempt to access a shared resource at the same time.
Any object that represents a shared resource in a distributed system must be responsible for ensuring that operates correctly in a concurrent environment. Correctness ensure the operations on shared resource correct in a concurrent environment e.g. records bids for an auction Performance Ensure the high performance of concurrent operations

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

40

Introduction to DSYS
Transparency
Transparency is defined as the concealment from the user and the application programmer of the separation of components in a distributed system, so that the system is perceived as a whole rather than as a collection of independent components. Eight forms of transparency: Access transparency Location transparency Concurrency transparency Replication transparency Failure transparency Mobility transparency Performance transparency Scaling transparency

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

41

Introduction to DSYS
Transparency
Access transparency using identical operations to access local and remote resources, e.g. a graphical user interface with folders Location transparency resources to be accessed without knowledge of their location, e.g. URL Concurrency transparency several processed operate concurrently using shared resources without interference with between them Replication transparency multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers, e.g. realcourse(http://vod.yf.pku.edu.cn/)

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

42

Introduction to DSYS
Transparency
Failure transparency users and applications to complete their tasks despite the failure of hardware and software components, e.g., email Mobility transparency movement of resources and clients within a system without affecting the operation of users and programs, e.g., mobile phone Performance transparency allows the system to be reconfigured to improve performance as loads vary Scaling transparency allows the system and applications to expand in scale without change to the system structure or the application algorithms

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

43

Introduction to DSYS
Summary
Distributed systems are everywhere Internet, intranet, wireless networks. Resource sharing is the main motivating factor for constructing distributed systems. The constrcution of distributed systems produces many challenges.

05/04/2012

Prof. S.K.Lenka/MITS University/Rajasthan-332311

44

Distributed Systems/ Time & Global State/ UNIT-IV

05/04/2012

Prof. S.K.Lenka/MITS
Prof. Dr. S.K.Lenka/University/Rajasthan-332311 Deptartment of CSE/ MITS, Lakshmangarh, Rajsthan

45