CHAPTER 1Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client – Server ModelSunita mahajan and Seema Shah“Distributed Computing”1
What is a Distributed System?Tanenbaum’s definition of a distributed system:“A distributed system is a collection ofindependent computers that appear to the usersof the system as a single coherent system.”Sunita mahajan and Seema Shah“Distributed Computing”2
An Example of a Distributed System Nationalized Bank with multiple Branch OfficesSunita mahajan and Seema Shah“Distributed Computing”3
Requirements of DistributedSystems Security and reliability Consistency of replicated data Concurrent transactions (operations which involve accountsin different banks; simultaneous access from several users,etc.) Fault toleranceSunita mahajan and Seema Shah“Distributed Computing”4
Architectures for DistributedSystems Shared memory architectures / Tightly coupled systems easier to program Distributed memory architectures / Loosely coupledsystems offer a superior price performance ratio and arescalableSunita mahajan and Seema Shah“Distributed Computing”5
Architectures for DistributedSystemsSunita mahajan and Seema Shah“Distributed Computing”6
Distributed ComputingModels Workstation model Workstation–server model Processor-pool modelSunita mahajan and Seema Shah“Distributed Computing”7
Workstation Model Consists of network of personal computers Each one with its own hard disk and local file system Interconnected over the networkSunita mahajan and Seema Shah“Distributed Computing”8
Workstation-server Model Consists of multiple workstations coupled with powerfulservers with extra hardware to store the file systems andother software like databasesSunita mahajan and Seema Shah“Distributed Computing”9
Processor-pool Model Consists of multiple processors: a pool of processors and agroup of workstationsSunita mahajan and Seema Shah“Distributed Computing”10
Advantages of DistributedSystems Inherently distributed applications Information sharing amonggeographically distributed users Resource Sharing Better price performance ratio Shorter response time & higherthroughput Higher reliability and availabilityagainst component failures Extensibility and Incremental Growth Better FlexibilitySunita mahajan and Seema Shah“Distributed Computing”11
Disadvantages of DistributedSystems Relevant software does not exist currently Security poses a problem due to easy access toall data Networking saturation may cause a hurdle indata transferSunita mahajan and Seema Shah“Distributed Computing”12
Software Concepts Network Operating System (NOS) Distributed Operating System (DOS) Multiprocessor Time Sharing SystemSunita mahajan and Seema Shah“Distributed Computing”13
Network Operating System(NOS) Build using a distributed system from a network ofworkstations connected by high speed network. Each workstation is an independent computer with its ownoperating system, memory and other resources like harddisks, file system and databasesSunita mahajan and Seema Shah“Distributed Computing”14
Distributed Operating System(DOS) Enables a distributed system to behave like a virtualuniprocessor even though the system operates on acollection of machines. Characteristics enabling Inter process communication Uniform process management mechanism Uniform and visible file system Identical kernel implementation Local control of machines handling scheduling issuesSunita mahajan and Seema Shah“Distributed Computing”15
Multiprocessor Time SharingSystem Combination of tightly coupled software and tightlycoupled hardware with multiple CPUs projecting auniprocessor image. Tasks are queued in shared memory and are scheduledto be executed in time shared mode on availableprocessors.Sunita mahajan and Seema Shah“Distributed Computing”16
Comparison of DifferentOperating SystemsSoftware ConceptsSunita mahajan and Seema Shah“Distributed Computing”17
Issues in Designing DistributedSystems Transparency Flexibility Reliability Performance Scalability SecuritySunita mahajan and Seema Shah“Distributed Computing”18
TransparencyTransparencies required for Distributed SystemsSunita mahajan and Seema Shah“Distributed Computing”19
Replication TransparencyLocating Replicated File stored on any serverSunita mahajan and Seema Shah“Distributed Computing”20
Flexibility Monolithic kernel approach Here kernel does all functions and provides facilities at localmachine There is over Burdon on kernel Microkernel approach It takeout as much functionality as possible from kernel Andretain only essential functions. Provides only few functions in the kernel while uses processserver to manage IPC,pager fro MM and fs management. Its easy to port maintainextendSunitaandmahajanand Seema Shah21“Distributed Computing”
flexiblity In initial stages there may be need formodification of platform The best way to achieve flexibility is totake a decision where to use monolithic ormicrokernel on each machine. Kernel is the central controller whichprovides basic system facilities.Sunita mahajan and Seema Shah“Distributed Computing”22
Monolithic KernelApproachUses the minimalist, modular approach with accessibilityto other services as neededSunita mahajan and Seema Shah“Distributed Computing”23
Microkernel Approach Uses the kernel does it all approach with allfunctionalities provided by the kernel irrespectivewhether all machines use it or notSunita mahajan and Seema Shah“Distributed Computing”24
Monolithic versus MicrokernelApproachSunita mahajan and Seema Shah“Distributed Computing”25
Reliability Availability in case of Hardware failure Data recovery in case of Data failure Maintain consistency in case of replicated dataSunita mahajan and Seema Shah“Distributed Computing”26
PerformanceMetrics are– Response time– Throughput– System utilization– Amount of network capacity usedSunita mahajan and Seema Shah“Distributed Computing”27
Scalability Techniques to handle scalability issues hide communication latencies hide distribution hide replicationSunita mahajan and Seema Shah“Distributed Computing”28
Hide CommunicationLatenciesSunita mahajan and Seema Shah“Distributed Computing”29
Hide DistributionSunita mahajan and Seema Shah“Distributed Computing”30
Security Confidentiality means protection against unauthorizedaccess Integrity implies protection of data against corruption Availability means protection against failure alwaysaccessibleSunita mahajan and Seema Shah“Distributed Computing”31
Client-Server ModelSunita mahajan and Seema Shah“Distributed Computing”32
Client-Server AddressingTechniques Machine addressing Process addressing Name server addressingSunita mahajan and Seema Shah“Distributed Computing”33
Client-Server AddressingTechniquesSunita mahajan and Seema Shah“Distributed Computing”34
Client-Server ImplementationMessages for client server interaction– Request, Reply, Acknowledge, Are you Alive, I am AliveSunita mahajan and Seema Shah“Distributed Computing”35
Differentiation between theClient and the Server Userinterfacelevel Processing level Data levelSunita mahajan and Seema Shah“Distributed Computing”36
Client-Server ArchitectureSunita mahajan and Seema Shah“Distributed Computing”37
Client-Server ArchitectureSunita mahajan and Seema Shah“Distributed Computing”38
Thank youSunita mahajan and Seema Shah“Distributed Computing”39
PROCEDURAL PROGRAMMINGProcedural programming is by far the most common form ofprogramming. A program is a series of instructions which operate onvariables. It is also known as imperative programming Examples of procedural programming languages includeFORTRAN, ALGOL, Pascal, C, MODULA2, Ada, BASIC. Despitetheir differences they all share the common characteristics ofprocedural programmingAdvantages of procedural programming include its relative simplicity, and ease ofimplementation of compilers and interpreters.Disadvantages of procedural programming include the difficulties of reasoningabout programs and to some degree difficulty of parallelization. Proceduralprogramming tends to be relatively low level compared to some otherparadigms, and as a result can be very much less productive.Sunita mahajan and Seema Shah“Distributed Computing”40
OBJECT ORIENTED PROGRAMMINGObject oriented programming is characterized by the defining of classesof objects, and their properties. Inheritance of properties is one way ofreducing the amount of programming, and provision of class libraries inthe programming environment can also reduce the effort required.The most widely used object oriented language is C which providesobject extensions to C, but this is rapidly being overtaken by Java.Features Of Object-Oriented ProgrammingData Abstraction and EncapsulationOperations on the data are considered to be part of the data typeWe can understand and use a data type without knowing all of itsimplementation details Neither how the data is represented nor how theoperations are implementedWe just need to know the interface (or method headers) – how to“communicate” with the object Compare to functional abstractionwith methodsSunita mahajan and Seema Shah“Distributed Computing”41
OBJECT ORIENTED PROGRAMMINGInheritanceProperties of a data type can be passed down to a sub-type – we can buildnew types from old ones We can build class hierarchies with many levelsof inheritancePolymorphismOperations used with a variable are based on the class of the object beingaccessed, not the class of the variableParent type and sub-type objects can be accessed in a consistent wayOOP’s worldClass{Objects} Procedural Language worldstructure{structure variables}Sunita mahajan and Seema Shah“Distributed Computing”42
Distributed System andMiddleware ConceptsSunita mahajan and Seema Shah“Distributed Computing”43
DISTRIBUTED SYSTEMA distributed system is a collection of independent computers that appears toits users as a single coherent systemImportant characteristics of distributed systems- Differences between the various computers and the ways in which they communicateare hidden from users- Users and applications can interact with a distributed system in a consistent and uniformway, regardless of where and when interaction takes placeGoals of Distributed System4 important goals that should be met to make building a distributed system worththe effort they are1) Easily connect Users to resources, hide the fact that resources are distributedacross a network, open, scalableSunita mahajan and Seema Shah“Distributed Computing”44
2) TransparencyA distributed system that is able to present itself to users and applications as if itwere only a single computer system is said to be transparent. Which hideswhether a Implementation i.e. software resource is in main memory or diskForms of Transparency in a Distributed SystemTransparencyDescriptionAccessHide differences in data representation and how aresource is accessedLocationHide where a resource is locatedMigrationHide that a resource may move to another locationRelocationHide that a resource may be moved to another locationwhile in useReplicationHide that a resource may be shared by severalcompetitive usersConcurrencyHide that a resource may be shared by severalcompetitive usersFailureHide the failure and recovery of a resourcePersistenceHide whether a (software) resource is in memory or ondiskSunita mahajan and Seema Shah“Distributed Computing”45
3) OpennessAn open distributed system is a system that offers services according to standard rules.4) ScalabilityScalability of a system can be measured along at Least three differentdimensions-First, a system can be scalable with respect to its size, we can easily addmore users and resources to the system.-Second, a geographically scalable system users and resources may lie farapart.-Third, a system can be administratively scalable; it can still be easy tomanage even if it spans many independent administrative organizations.Sunita mahajan and Seema Shah“Distributed Computing”46
ReferenceSunita Mahajan and Seema Shah“Distributed Computing”Sunita mahajan and Seema Shah “Distributed Computing”47
ANY QUESTIONSunita mahajan and Seema Shah“Distributed Computing”48
THANKYOUSunita mahajan and Seema Shah “Distributed Computing”49
Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client – Server Model 1 . . “A distributed system is a collection of independent computers that appear to the users
Part One: Heir of Ash Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 Chapter 24 Chapter 25 Chapter 26 Chapter 27 Chapter 28 Chapter 29 Chapter 30 .
TO KILL A MOCKINGBIRD. Contents Dedication Epigraph Part One Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Part Two Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18. Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 Chapter 24 Chapter 25 Chapter 26
DEDICATION PART ONE Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 PART TWO Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 .
Distributed Database Design Distributed Directory/Catalogue Mgmt Distributed Query Processing and Optimization Distributed Transaction Mgmt -Distributed Concurreny Control -Distributed Deadlock Mgmt -Distributed Recovery Mgmt influences query processing directory management distributed DB design reliability (log) concurrency control (lock)
About the husband’s secret. Dedication Epigraph Pandora Monday Chapter One Chapter Two Chapter Three Chapter Four Chapter Five Tuesday Chapter Six Chapter Seven. Chapter Eight Chapter Nine Chapter Ten Chapter Eleven Chapter Twelve Chapter Thirteen Chapter Fourteen Chapter Fifteen Chapter Sixteen Chapter Seventeen Chapter Eighteen
18.4 35 18.5 35 I Solutions to Applying the Concepts Questions II Answers to End-of-chapter Conceptual Questions Chapter 1 37 Chapter 2 38 Chapter 3 39 Chapter 4 40 Chapter 5 43 Chapter 6 45 Chapter 7 46 Chapter 8 47 Chapter 9 50 Chapter 10 52 Chapter 11 55 Chapter 12 56 Chapter 13 57 Chapter 14 61 Chapter 15 62 Chapter 16 63 Chapter 17 65 .
HUNTER. Special thanks to Kate Cary. Contents Cover Title Page Prologue Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 . Within was a room as familiar to her as her home back in Oparium. A large desk was situated i