Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
28 views
70 pages
DS Insem
Uploaded by
sahilghanwat10
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save DS_Insem For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
0 ratings
0% found this document useful (0 votes)
28 views
70 pages
DS Insem
Uploaded by
sahilghanwat10
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save DS_Insem For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save DS_Insem For Later
You are on page 1
/ 70
Search
Fullscreen
‘Chapter 1: Introduction to Distributed Systems ——— a : inivoduction : Neto operating Sytem VS Distbuted operating eytams, Charactoristcs, Design goals, chatongay 8 sytoms, Examples of Dstrbuted Systm, Tends In Olstibuted systems : Pervasive networking an! the modem ens biqutous computing, Foou on resource sharing, Distbuted Computing Models: Physica, Acitecture and Fundam meng, [case Study : WWW 1.0,2.0, 3.0 1.1 _ Introduction. 1.2 _ Network Operating System VS Distributed Operating Systems. 12.1 _ Distributed Operating Systems (DOS)... 1.2.(A) Multiprocessor Operating Systems 1.2.1(8) Multicomputer Operating Systems 1.22 Network Operating Systems (NOS) 1.2.2(A) Comparison between DOS, NOS and Middleware. 1.3 Characteristics of Distributed Systems......... 13.1 Collection of Autonomous Computing Element 132 Single Coherent System... 13.3 Middleware and Distributed Systems... 14 Design Goals. 14.1 Supporting Resource Sharing 142 — Making Distribution Transparent. 1.4.2(A) Degree of Distribution Transparency. 143 Openness 144 Scalability. nnn 15 Challenges of Distributed Systems.. 15.1 Heterogeneity... 152 Openness 153 Security. 154 Scalability. 155 Failure Handling 15.6 Concurrency eennene 157 — Quality of Service... 16wy 18 19 110 Distributed Systems Table of Contents Trends in Distributed Systems. 1-20 ST 17.1 Pervasive Networking and the Modem Intemet. 172 _ Mobile and Ubiquitous Computing Focus on Resource Sharing. Distributed Computing Models. 19.1 Physical Models... nent 1-22 een 2B 19.2 Architectural Models.... 1.9.2(A) Architectural Elements, 1.9.2(B) Architectural Patterns 19.2(C) Thin Clients 1.93 Fundamental Models... 1.9.3(A) Interaction Model. 19.3(8) Failure Model 1.9.3(C) Security Model... Case Study : WWW 1. Chapter 2: Middle 2-1t02-28 22 8 Introduction to middleware, middleware Framework, Role of middleware, Examples of Middleware, Origins of middleware, Architecture ve] * |Middioware, RMI, CORBA, General Approaches to adaptive software, Types of middleware-messages oriented middleware, inteligent middleware, content contric middleware, middleware protocol, middleware Services, Distibuted computing Environment (DCE), middleware} Issues, middleware Analyst [Case Study : XML Based middleware, Introduction to Middleware... Middleware Framework Role of Middleware... Examples of Middleware .ssesintnnnnentnnanntntnnntitennsine Origins of Middleware evvcnevinennnentennnnenmennnnnnnenuettnnmnnnnnitntntninnnmmmennin DT 2.6.1 Software Architecture. 26.2 System Architecture... 26.3 Architectures Vs. Middleware .. 2.64 Architecture Vs. Middleware Two Solutions.27 28 29 2.10 2ar 2az 233 234 24s 216 Distributed Systems iddleware Interceptors. Remote Method Invocation (RMI) nnrnernnernerennne ren 2.81 CORBAIDL... 282 The architecture of CORBA... General Approaches to Adaptive Software... Types of Middleware. Middleware Protocel.... Middleware Services... Distributed Computing Environment (DCE) ... 213.1 DCE Components.. Middleware Analyst... Case Study : XML Based middleware-XMIDDLE... 34 3s Introduction to Inter-process Communication .. Layered Protocols... 3.21 Lower Layer Protocols.. API for Internet Protocols 33.1 _ The Characteristics of Inter-process Communication... 332 Sockets 33.3. UDP Datagram Communication 334 TCP Stream Communication... IPC through Shared Memory .. External Data Representation and Marshalling ‘Chapter 3: _Inter-Process Communication 31038 PC; inveduatn, Layered protocol, AP for intemet protocols, IPC trough shared memory, extemal data representation and mas -rypes of communication, inlerprocess communication: muticast communication, message-riented commuricaion, WPL etuakization: ovetay networks Coordination: Clock synchronization, logical clocks, mutual excision, election algorthms, Gossip based coordinationIntroduction to Distributed Systems Introduction: Network operating Systom VS Distibuted operating systems, Characteristics, Design goals, challenges of Distrbuted Systems, Examples of Distibuted Systems, Trends in Distributed systems : Pervasive networking and the modem intemet, Mobile and ubiquitous computing, Focus on resource shark Computing Physical ing, Distributed Models: I ‘Architecture and Fundamental models ase Study : WWW 1.0.2.0, 30 1.1 __ Introduction + The development of powerful microprocessors and invention of the high-speed networks are the two major developments in computer technology. Many machines in the same organization can be connected together through local area network and information can be transferred between machines in a very small amount of time. ‘+ Asa result of these developments. it became easy and practicable to organize computing system comprising lorge number of machines connected by high-speed networks. Over the period of last thirty years, the price of ‘microprocessors and communications technology has constantly reduced in real terms. * Because of this, the distributed computer systems appeared as a practical substitute to uniprocessor and centralized systems. The networks of computers are present all over. Internet is composed of many networks. All these networks separately and in combination as well, share the necessary characteristics that make them applicable topics to focus under distributed system. * Today, powerful microprocessors with 32 bits and 64 bits are common with lower cost compared to early ‘machines. Now with multicore CPUs, it is challenge to develop applications that exploits parallelism. High speed local area networks (LANs) also can transfer large size information in few milliseconds. It is also possible to exchange large size information in wide area network in required time. * Smart devices with networking capability, sufficient memory and processing capabilities are now part of network Just like powerful computers. All these devices and computers are now form a distributed system. * In distributed system, components located on different computers in network communicate and coordinate by i are the characteristics ofthe distributed system. Passing messages. As per this argument, follo © Internet © _ Intranet, which is small part of internet managed by individual organization. © Mobile and ubiquitous computing.among many machines can Followings are some of the important issues that need to be considered. Issues: 1. Concurrency i i dinate by utilizing the The different cooperating applications should run in parallel and coordinate Dy the resources why available at different machines in network. 2. Global Clock not Available Cooperation among applications running on different machines in network is achieved by exchanging, messages. For cooperation, applications action at particular time is exchanged. But it is not easy to have als, machines clocks with same time. * Itis difficult to synchronize the different machines clock in network. Therefore, it is necessary to tate ig, consideration that single global dock is not available and different machines in LAN, MAN or WAN hag different clock time. 3. Independency in Failure of System Component | ‘© Any individual component failure should not affect the computation. It is obvious that, any software o hardware component of the system may fail. | * This failure should not affect the system from running and system should take appropriate action for recy Definition of Distributed System | ‘* Acomputer network is defined as a set of communicating devices that are connected together by communicator | links. These devices include computers, printers and other devices capable of sending and/or receiving informe: | from other devices on the network. These devices often called as node in the network. So, computer neta | interconnected set of autonomous computers. | Definition : A distributed system is defined as set of autonomous computers that appears to its users as a single covert system. © Users of distributed system feel that, they are working with a single system. Network contains computers ¥# different architectures (heterogeneous). * To offer the single system view of distributed system in this heterogeneous environment, a middleware ly? often placed between higher layer that comprises of user and applications and lower layer comprising ® ‘operating system and communication facilities. . a ” - a Network contains computers with diferent architectures (heterogeneous). To offer the single sytem vl! distributed system in this heterogeneous environment, a middleware layer is often placed between vine | that comprises of user and applications and lower layer comprising the operating system and communica facilities. * In Fig. 11.1 applications are running on three different machines A,B and Cin networkDisttbuted Systems Introduction to Distributed Systems Fig. 1.1.1: Distributed system organized as middleware 12__ Network Operating System VS Distributed Operating Systems Distributed systems and traditional operating systems provide the similar services such as: '* Both play the role of resource managers for the underlying hardware. * Both permit the sharing of resources like CPUs, memories, peripheral devices, the network, and data of all kinds ‘among multiple users and applications. * Distributed systems try to hide the details and heterogeneous nature of the underlying hardware by offering virtual machine on which applications can be executed without trouble. * Ina network multiple machines may have different operating system installed on it. Operating systems for distributed computers are categorized as: * Tightly coupled systems : It keeps a Single, global view of the resources it manages. Such tightly coupled operating system is called as distributed operating system (DOS). It is useful for the management of ‘multiprocessors and homogeneous multicomputer. DOS hides details of underlying hardware. This hardware can be shared by many processes and details remains hidden. * Loosely-coupled systems : In a set of computers, each has its own OS and there is coordination between Operating systems to make their own services and resources available to the others. This loosely coupled OS is _Glled as network operating system (NOS) and is used for heterogeneous multicomputer systems. > Apart from above operating systems middleware is used to provide general purpose services and itis installed on | the top of NOS. It offers distribution transparency. .2.1 Distributed Operating Systems (DOS) perating There are two types of distributed operating systems. 1. Multiprocessor Operating System : It manages resources of multiprocessor. 2. Multicomputer operating system : Its designed for homogeneous multicomputer. Distributed operating system is similar in functions to the traditional uniprocessor operating system. DOS handles the multiple processors 11-4 Introduction to Distribute 1.2.1(A) Multiprocessor Operating Systems multiprocessor operating systems offers support fo, all data structures required by the operating ma iple CPUs, are placed into shared memory. Multiple proce, needed to promise consistency. * «Unlike the uniprocessor operating systems, processors having access to a shared memory. In this c25®, deal with the hardware, together with the multi access these data. Hence protection against simultaneous access 'S «Modern operating systems are designed with the intension of handling multiple processors. The main ruttiprocessor operating systems is to achieve high performance by means of multiple CPUs. A key goal Pee the presence of number of CPUs from the application. «Such transparency can be attained and is relatively straightforward as different parts of applications commun, by using same primitives as those in multitasking uniprocessor operating systems. All the communication sag by manipulating data at shared memory locations, and itis required protect that data against concurrent a, This protection is achieved through synchronization primitives: semaphores and monitors. 1.2.1(8) Multicomputer Operating Systems «In mutticomputer operating systems data structures for systemwide resource management cannot simply shan: by keeping them in physically shared memory. In its place, the only way of communication is through mesa passing, Following is the organization of multicomputer operating systems shown in Fig 1.2.1 Machine A Machine 8 Machine C Distributed Applications x: = Distributed Operating System Services Komel Kerai_] | l Kemet] Network Fig. 1.2.1 : General structure of a multicomputer operating system Kernel on each machine manages local resources, for example memory, the local CPU, a local disk and othe: machine contains separate module for sending and receiving messages to and from other machines. « Onthe top of each local kernel there is a common software layer that implements the operating system 3 uae machine supporting parallel and concurrent execution of various tasks, This software layer offers a complete software implementation of shared memory. Further facilities co implemented in this layer are, such as, assignment of task to processor, maskin sone failures. ve transparent storage, and general interprocess communication, : ° ° Some multicomputer operating systems offers only message-passing facilities to applications and 4° ae pplicati shared memory implementation. But different system can have different semanti pat” ‘Their dissimilarities can be explained by taking into consideratic ntics of message-passing an we consideration whether or not messages are buf! should be blocking of sending or recelving process is also need to be considered as well as w vw"pL ee dSystems, 1 Introduction to Distributed Systems Busting ofthe messages can be done atthe sender's side or atthe recavars a 3 3 ide. There are four synchronization points at which a sender or receiver can possibly block. At the sender’ side, ener is blocked if butfer is full. If sender buffer is not present then three other points to block the sender are 0 Themessage has been sent by sender, 0 The message has arrived at the receiver side. (©The message has been delivered to the receiver application, + Another issue that is significant to know message-passing semantics is whether or not communication is reliable. In reliable communication, a assurance of receiving the message by receiver is given to the sender. 1.2.2 Network Operating Systems (NOS) + _ Network operating systems assumes underlying hardware as heterogeneous, Whereas DOS assumes underlying hardware as homogeneous, in heterogeneous environment, machines and operating systems installed on them ‘may be different. All these machines are connected to each other in computer network. * NOS permit users to use services available on a particular machine in the network. Remote login service provided. by NOS allows the user to log in remote machine from his/her terminal. Using command for remote copy user can copy the file from one machine to other. Machine A Machine B Machine C Distributed Applications. Network OS Network OS ‘Network OS: Services [Services Services Kemet Kernel Kemel —_L__|[ Fig. 1.2.2 : General structure of a network operating system * Information sharing can be achieved by providing a shared, global file system accessible from all the workstations. The file system is implemented by file servers. '* The file servers accept requests to read and write files from user programs running on client machines. Each Fequest of client request is executed by file server, and the reply is sent back to client. ‘* File servers usually supports hierarchical file systems, each with a root directory including subdirectories and files. Workstations can import or mount these file systems by augmenting their local file systems with those located on the servers. * Distributed operating system attempts to achieve complete transparency in order to offer a single system view to the user. Whereas achieving full transparency with network operating system is not possible. As we have seen for emote login, user has to explicitly log into remote machine. * In remote copy user knows the machine to which he/she is copying the files. The main advantage of network Operating system is that it provides scalabilityNetwork O5(NOS) Degree of transparency is very high for multiprocessor OS. Degree of transparency is multicomputer OS. high for of Degree transparency is low. Degree of transparency 2. | Same operating system is present on all nodes Operating system on Operating system ong Site, in both cases (Multiprocessor OS and | different nodes _ is | nodes is different. Multicomputer 0S). different. 3. ]L As multiple processors present in single | As multiple machines | Middleware is installed on te machine, number of multiprocessor OS is one. copies of are present multiple (0) copies of NOS are of NOS on every machine Hee multiple machines are preset 4 2. As multiple machines are present multiple | Fequired. multiple copies of OS are requing (n) copies of multicomputer OS are required, 4. |1. In multiprocessor OS basis for | In network OS, basis | In middleware based DS, bass s communication is shared memory. | for communication is | communication is model specic Processors share the memory to | files. communicate with each other. 2. In case of multicomputer OS, Many machines communicate with each other by Passing the messages. Message passing is basis for communication 5. | 1 In multiprocessor OS resource | In network OS | Resource management is per not management is global and central. Fesource management 2, In multicomputer OS resource | is per node. Hence it is management is global and distributed easy to scale the system. 6 [1 ta mtipocessor O thee sno albilly Network operating | In middleware based distév® ante, machine in which multiple | system offers the | system scalability varies. processors are presents scalability, 2. Multicomputer OS supports for moderate scalability 7 7. | Both multiprocessor OS and multicomputer OS | Network , a : are not open. These OS are developed to | system is rected Tis also open. optimize the performance. a mee ‘em operating systems are built with icrokemel design, eeDistributed Sy ww 1 Introduction to Distributed Systems Characteristics of Distributed Systems Following are the main characteristics of distributed system, © Adistributed system comprises computers with distinct architecture and data r ic and the ways all these machines communicate are hidden from users. a The manner in which distributed system is is oe organized internally is also hidden from the users of the distributed + The interaction of users and applications with distributed system is in consistent and identical way, in spite of ist is it is where and when interaction occurs. + Adistributed system should allow for scaling it ‘© Distributed system should support for availability. It should be always available to the users and applications in spite of failures. * Failure handling should be hidden from users and applications. * Apart from above characteristics, following is the brief discussion on characteristics as per definition of distributed system and middleware which is required to achieve the same. 1.3.1 Collection of Autonomous Computing Elements * In modem distributed system, nodes are very many small devices like our mobile phones. These nodes can act a reacting to all the incoming messages to them. igh-performance machines, plug-in computers like laptops and lependent to each other but capable of ‘* These nodes can exchange messages to each other which are then processed by them. The communication between nodes is through message passing, Each node will have its own notion of clock time. The availability of global clock is also not possible in all situations. {As distributed system comprises of collection of many nodes, the membership and organization of this collection is also important. Management of group membership is not easy. In an open group, any member can join the distributed system that can send message to any node in the system. In closed group, members within groups can communicate with each other and hence, requires other technique of group management. © The distributed system is often organized as overlay network which are classified as: © Structured Overlay : It is just like tree or logical ring of nodes. In this case, each node has well-defined set of neighbors with which it can exchange the information or messages. © Unstructured Overlay : In this case, each node has number of references to randomly chosen other nodes. * Inboth cases, overlay network should always be connected so that nodes can exchange the messages 1.3.2 Single Coherent System processes and control are dispersed across the to achieve a single system view. say that the system is coherent. * The users of distributed system should not notice that the data, Network. It means that, there should be a single system view. Itis also not possible The distributed system should behave as per expectations of its users. Then we can OreIntroduction to bj z in Istributed Systems . The end user should be unaware about the fag © It is also challenge to offer single coherent hee eee Wy co be unaware about the replication eg a _ line exactly sess is running. 7 machine epi Smear ‘out to improve performance. Hence, distribution transparency should be location. Replication is caf 7 by distributed system. ; i s that, a + Any individual component failure should not affect the computation. Itis ooo a ” pean hey component of the system may fail, This failure should not affect the system "ro 9 and System shay appropriate action for recovery. 3 Middleware and Distributed Systems © Network contains computers with different architectures (heterogeneous). To offer the single system vig, distributed system in this heterogeneous environment, a middleware layer is often placed between higher og that comprises of user and applications and lower: layer comprising the operating system and communica, facilities. This organization of distributed system is called as middleware is shown in following Fig. 13.1 AS show Fig.1.3.1, there are four machines A, BC and D in network and three applications 1, 2 and 3. The application 2, distributed on machine B and C. The distributed system offers mean to communicate components of san applications to each other and also different applications to each other. While achieving such communication, the distributed system provides transparency. It means that it hits underlying heterogeneous hardware and operating systems from each communicating application. Machine A Machine®_ Machine Machine D ses {I a (on all Machines | | Network Fig. 1.3.1; Distributed System organized in middleware layer offering the same interface to each application on multiple machines, 1.4 _ Design Goals Following are four important design goals that should be x fulfilled to make building distributed system wo™ Supporting resource sharing Making distribution transparent Openness Scalabilityistributed Systems, 1 1.4.1 Supporting Resource Sharing Introduction to Distributed Systems Users and applications should be able to access the remote resources in easy way. Distributed system should allow ‘sharing these remote resources in efficient and controlled manner, Resource sharing offers saving in cost. One printer can be shared among many users in office instead of having ‘one printer to each individual user. There can be more saving in cost if expensive resources are shared. The sharing peer to peer network like BitTorrent is used to share the file across Internet. © By connecting users and resources, it becomes easier to work together and exchange information. The success of the Intemet is due to its straightforward protocols for exchanging files, mail, documents, audio, and video. The worldwide spread people can work together by means of groupware. Electronic commerce permits us to purchase and sell verity of goods without going to shop or even leaving home. . © The increase in connectivity and sharing also increases the security risk and to deal with it is equally important. Presently, systems offer fewer defenses against eavesdropping or intrusion on communication. + Acommunication can be tracked to construct a favorite profile of a particular user. This clearly violates privacy, particulary if it is done without informing the user. A allied problem with increased connectivity can also cause unnecessary communication, for example electronic junk mail, called as spam. Special information filters can be used to select inward messages based on their content. 1.42. Making Distribution Transparent The second main goal of a distributed system is to hide the actuality of physical distribution of processes and reSources across several computers. A transparent distributed system offers its feel to users and applications as a single computer system. Following types of distribution transparency is present in ‘Types of Distribution Transparency 2. Location Transparency istributed system. 3. Migration Transparency 4, Relocation Transparency 5. Replication Transparency 6. Concurrency Transparency 7. Failure Transparency 8. Performance Transparency 9. Scaling Transparency Fig.1.4.2 : types of distribution transparencyIntroduction to Diy 10 trite, reseation of ferent mache ithe neta, chines use little endian format to oq, Zz Distributed Systems larities of data rel iser. Intel ma accessed by the U chines transfer high order bytes I? beginning and in case of sp, ‘ncoess Transparency : It hides the diss in which remote resources ar intel ma erating systems al plications. ‘manner i and SPARC uses big endian format, $0! itferent so have their own Fle name convertion gy, are transmitted first. Differe : order bytes dissimilarities should be hidden from users and 2P Location Transparency : Location transparency refers 10 the fact th object. This transparency hides the locati at user remains unknown about the locaton gy). te in distri . For example, fon of the resources in distributed system. ple, UR ued oe cout its location. Also name of in the distributed system. one location to other. It does not afc, t the resource remains same web server and file does not give any idea ab atthoug changes the location when moved between machine: Migration Transparency : It hides the fact that resources are moved from are accessed. Processes of files often are way in which these resources performance. All this should remain the hidden from user of the distributed system. migrated by system to improve iy 4. Relocation Transparency : If the user or application is using the resource and during use of it is if moved to othe location then it remains hidden from user. For example if user is traveling stil he of she continuously uses the laptop without getting disconnected. car and changing the location frequent, 5. Replication Transparency : It hides the fact that many copies of the resource are placed at different locations. Oter resources are replicated to achieve availability or placed its copy near to location of its access. This activity ofthe replication should be transparent to the user. 6. Concurrency Transparency : It hides the sharing of the resource by many users of the distributed system. If one usris using the resource then other should remain unknown about it. Many users can have stored their files on file serve.t is essential that each user does not become aware of the fact that other is using the same resource. This is called | ae | Feil sHthi a | allure Transparency : It hides the failure and recovery of the resource from user. User does not become aware failure of 1 failure of resource to work appropriately, and that the system then recovers from that failure. It is not possible | achieve complete failure transparency. Because for example, if network fails user can notice this fail 8. Performance Transparency : is failure. ‘machine. If many requests are comi coming from users for a particular resource th, ere! of those users. © then resource gets placed to nearest jisturbing the operati y's to pe disturbing the operations and activities of existing users of dsibutea, OG ae system, 1.4.2(A) Degree of Distribution Transparencyistributed Systems. 4 Introduction to Distributed Systems Hence, price of achieving the full transparency may be surprisingly high as it is necessary to consider distributed transparency with other issues such as performance and comprehensibility 1.4.3 Openness Openness is the important goal of the distributed system. An open distributed system provides services as per standard rules that tell the syntax and semantics of those services. As, in computer networks, standard rules state the message format, its contents and meaning of sent and received messages. All these rules are present in protocols, Similar to above, in distributed systems, services are usually specified through interfaces, which are expressed in an Interface Definition Language (IDL). The definitions of the interfaces written in an IDL almost capture only the syntax of these services. They state exactly the names of the available functions together with parameters type; return values, exceptions likely to be raised etc. The semantics of interfaces means specification of what these interfaces can perform. Actually, these specifications are specified in an informal way through natural language. Processes make use of interfaces to communicate with each other. There can be different implementation of these interfaces leading to different distributed system that function in the same manner. Appropriate specifications are complete and neutral. Complete specifications specify the whole thing that is essential to make an implementation. But, many interface definitions does not obey completeness. So that it is required for a developer to put in implementation-specific details. If specifications do not impose what ‘an implementation should look like: they should be neutral. Completeness and neutrality are significant for interoperability and portability, ‘An open distributed system should allow configuring the system out of different components from different developers. Also, it should be trouble-free to put in new components or replace existing ones without disturbing those components that stay in place. It means, an open distributed system should also be extensible. Open systems interfaces are published. Monolithic approach should be avoided for building the system. There should be separation between policy and mechanism. For example, apart from storing the documents by browser, users should be able to make a decision which documents are stored and for how much duration. User should be able to set it dynamically. User should be able to implement his own policy as a component that can be plugged into the browser. Certainly, implemented component must have an interface that the browser can recognize so that it can call procedures of that interface. Open distributed system provides uniform communication mechanism and it is also based on published interfaces in order to access the common resources. It also considers heterogeneous environment in terms of hardware and software. Separating policies from mechanism To accomplish flexibility in open distributed systems, it is necessary to organize system as a collection of relatively small and easily replaceable and adaptable components. Hence, apart from providing the definitions of high-level interfaces that is seen by user and applications, it is Necessary to offer the interfaces for internal part of systems and how they interact. Monolithic systems are not open.Introduction to Di a stride i Distributed Systems yor application then i is necessary Come for specific us + _eamponent does nat prove ant Pom 1" SPR em . distributed system, There should be separation Det re for example; how ameters of the browser, Mese 2 POW 109 ony ee ed from cache when it fils UP should be allowed t0 design come, } © User cannot influence the certain caching weil remain in cache ot which document should be reptec cect on content of the documents USEF . q bas Also caching cannot be done ancaeer that implements such policies which can be the plugged 14.4 Scalability | © I system adapt to increased service load, then ts said to be a scalable systern. There are three ways Yo my, | the scalability of the system. (i) Size Scalability (Geographical Scalability ii) Administrative Scalability, «Practically, scalable system leads to some loss of performance as the system scales up. Following are the protien related with scalability 1. Size Scalability + System easily adapts addition of more users and resources to the system. + In order to supports for the greater number of users and resources, it is necessary to deal with centre: services, data and algorithms. I centralized server is used to provide services to a greater number of users applications then server will become bottleneck. 1145 also possible to have group of collaborating servers collocated on the cluster of tightly coupled macire placed on same physical location. In this case also server can become bottleneck. ‘+ In spite of having more processing power, large storage capacity with centralized server, a greater numb? requests wil be coming to server and increased communication will restrict further growth. © Uke the centr ized services, centralized data also is not good idea, Keeping a single database would <2" saturate all the incoming and outgoing communication lines © Inthe same way above, cent" 1-13 Introduction to Distributed Systems {In synchronous communication client blocks until reply comes from server, Distributed system designed for local area networks (LANs) are based on synchronous communication due to small distances between machines. Therefore, it is hard to scale such systems, A care should be taken while designing interactive applications using synchronous communication in wide area systems as machines are far apart and time required for ‘communication is three orders magnitude slower with compare to LAN. ‘A further problem that gets in the way of geographical scalability is that communication in wide-area networks is intrinsically unreliable, and virtually always point-to-point. On the contrary, local-area networks generally offer highly reliable communication facilities based on broadcasting, which ease development of the distributed systems. If system has several centralized components, then geographical scalability will be restricted because of the performance and reliability problems resulting from wide-area communication. Use of centralized components will ead to waste of network resources. 3. Administrative Scalability Although system spans many independent administrative organizations, still its management is easy. In order to scale a distributed system across multiple, independent administrative domains, a key problem that requires to be resolved is that of conflicting policies with respect to resource usage (and payment), management and security. tributed system components residing in one domain can always be trusted by users that work within that same domain. In this scenario, system administration may have tested and authorized applications, and may have taken special measures to make sure that such components cannot be tampered with. Here, the users trust their system administrators. But, this trust does not cross domain boundaries naturally. If a distributed system crosses the domain boundaries, two forms of security measures require to be taken. First is, the distributed system on its own must protect against malicious attacks from the other new domain. Second, the other new domain on its own must protect against malicious attacks from the distributed system. Scaling Techniques Following are the three techniques for scaling : ¥ z 3 Hiding communication latencies Partitioning and Distribution Replication 1. Hiding communication latencies Geographical scalability can be achieved by hiding communication latencies. In this case, waiting by client for response from geographically remote server can be avoided by using asynchronous communication for implementation of requester’s application. In asynchronous communication instead of blocking client cary ‘out other work until response is received.Introduction to Vistring, } tse of asynciFOnOUs COMMUPKABON, yp, Istributed Systems jons make y Batch: processing systems and parallel aPPICaONS ee task is waiting for communication to fish, some me wn new thread of control can be st2 process can cary On ks can be scheduled for executing he request Even though ‘© On the other hand, 2 = waiting for the reply, other threads in © In case of interactive applications, asynch thon of minimize the communication cost, server side computa! Client-side validation of form isthe best example of this apPro7e ch, side, itis better to shift it at client side. 2. Partitioning and Distribution * Distribution is important scaling technique. In distribution and then kept those parts across the system by spreading Domain Name System (DNS). jon cannot be used effectively tn thy, the request can De MOVE 10 the chy, tead of carrying Out validation a | component of the system divided into smal pp, it, A good example of distribution isthe tare + There is hierarchical organization of DNS name space into a tree of domains. These domains are divided, non-overlapping zones. The names belonging to each zone are managed by a single name server, 3. Replication ¢ Although problems related to scalability degrade the performance, it is in general a good thought in faa, replicate components across a distributed system. Apart from increasing availability of the comporet replication also balances the load between components which result in achieving the better performance, * In WAN based system, placing a copy close to accessing location hides much of the communication later) problems described above. * Similar to replication, caching leads to make a copy of a resource in the near to the client accessing tt resource. But, contrary to replication, caching decision is taken by the client of a resource instead of owner a resource. * Caching is carried out on demand while replication is often planned in advance. The disadvantage of cacy and replication that may have negative effect on scalability * Since multiple copies of a resource exist, making changi thers. AS a result, caching and replication leads to consistency ‘one copy makes that copy different from tt problems. 1.5 Challenges of Distributed SystemsDistributed Systems A 1.5.1 Heterogeneity Introduction to Distributed Syst ‘© Heterogeneity applies to the followings : © Networks; © Computer hardware; (© Operating systems; © Programming languages; © Implementations by different developers. * We cannot have homogeneous environment in wide area network. The types of networks, architecture of the different computers in diferent networks, operating system running on different computers, programming languages used and implementation of products by different developers cannot be expected to be same. Internet enables users to access services and run applications in heterogeneous environment. * There are different implementations of internet protocols for different type of networks. If the machines architecture is different then data representation supported by architecture is also different. Hence, different computers in distributed system have different representation for integer, characters and other data items. For example, IBM mainframe uses EBCDIC character code and IBM PC uses ASCIL ‘+ Itis necessary to deal with such differences in data representation when messages need to be exchanged between applications running on such different hardware. Different programming languages also use different data ‘epresentations for data structures such as array and records. * Applications developed in different languages should be able to communicate with each other. This issue also needs to be addressed. It is also necessary that products developed by different developers should communicate with each other. This is for example for network communication and representation of primitive data items and data structures in messages. ‘* Intemet protocols have these agreed and adopted standards. In future, design of distributed system, these standards should be developed and adopted for communication among heterogeneous hardware and software components, Middleware : ‘© The middleware is a software layer that offers a programming abstraction and also masking the heterogeneity of the underlying networks, hardware, operating systems and programming languages. For example, the Common Object Request Broker (CORBA). * Some middleware such as Java Remote Method Invocation (RMI) supports only a single programming language. Several middleware is implemented over the Intemet protocols, which themselves mask the differences of the underlying networks, but all middleware deals with the differences in operating systems and hardware. ‘© Apart from solving the problems of heterogeneity, middleware offers a uniform computational model for use by the programmers of servers and distributed applications. These models are remote object invocation, remote event notification, remote SQL access and distributed transaction processing For example, CORBA offers remote object invocation, which permits an object in a program running on one computer to call a method of an object in a program running on another computer. Its implementation hides the fact that messages are passed over a network in order to send the invocation request and its reply. natesF Introduction to Distr | 1-16 wie istributed Systems mobile code Heterogeneity and from one machine © another and run at the destination - ,,,, ‘+ Mobile code is the program that migrates ‘are an example. Code suitable for running on because executable programs are normally specif not essentially suitable for running 4, * cone machine is ct, set and tothe host operating ya” ic both to the instruction e approach off le on a different host machir ee h ns of making code executable oF adi finch oe eve eee offers a meat : | hine instead of @ for a particular language creates code for a virtual macl ‘ pa a ade for a ava vital machine OM), which executes it by neg, to enable Java programs to run, Today. rograms in some web pages loaded wee ‘* For example, the Java compiler generates ¢¢ : ‘The JVM needs to be implemented once for each type of machine commonly used form of mobile code is ‘the inclusion Javascript Pf browsers. 1.5.2 Openness «The openness of distributed systems is measured mainly by the degree to which new resource-sharing sence, be added and be made available for use by a variety of client programs. It is not possible to achieve oper, unless the specification and documentation of the main software interfaces of the components of a systen » made available to software developers. © But to add services in a distributed system, the publication of interfaces is only initial stage. The challenge: designers is to tackle the complexity of distributed systems consisting of many components engineered b different people. ‘© Open distributed systems may be extended at hardware level by adding machines in network. Software lee extension can be achieved by adding new services and by the reimplementation of old ones, allowing applica programs to share resources. A further advantage that is often cited for open systems is their independence fx individual vendors. © Systems are considered as open if their key interfaces are published, -© In open distributed systems, uniform communication mechanism and Published interfaces for acces | shared resources is supported. | © Open distributed systems can be built from heterogeneous hardware a vendors. However, the conformance of each component to the and proved if then system is to work correctly. 15.3 Security nd software, perhaps from df | Published standard must be cautious tat * The information resources maintained in distributed * In this case the challenge isto send this information i in é mobile code are the challenges that have not yet secured manner. been fully met. —_——="="Distributed Systems 1:17 1.5.4 Scalability A system is said to be scalable if it will remain effective in a situation of resources and the number of users. 1. Controling the cost of physical resources! 2. Controlling the performance loss Fig.1.5.2 Following are the challeges in the design of scalable distributed system. 1. Controlling the cost of physical resources * _ Indistributed system, demand for more resources may increase as per need. In this case, it should be possible to extend the system at reasonable cost to fulfil this demand. If the number of users and computers grows in intranet then number of file accesses increases. ‘* Ifsingle file server handles all these file access requests then there may be performance bottineck at single file server. It should be possible to add another file server at reasonable cost to distribute these file accesses. ‘© Ifa single file server can support 30 users, then two such servers should be able to support 60 users. Hence, for a system with n users, the quantity of physical resources required to support them should be at most O(n) Controlling the performance loss * _Indistributed system, suppose the size data to be managed grows in propotional to the number of users or resources in the system. For example: in domain name system, algorithms that makes use of hierarchic structures scale better with compared to those that makes use of linear structures. ‘© But in case of hierarchic structures, an growth in size will result in some loss in performance. The time required to access hierarchically structured data is O(log n) for set of data having size n. For a system to be scalable, the maximum performance loss should be no worse than this. 3. Preventing software resources running out ‘© Initially it was decided to use 32 bits IP addresses for computers. As number of machines and network is growing rapidly, the supply of available Intemet addresses is running out. Therefore, a new version of the (1Pv6) protocol with 128-bit Internet addresses is being introduced, * Asa reason, changes to many software components is required. To be fair to the early designers of the Internet, there is no precise solution to this problem. It is not easy to predict the demand that will be put on a system years-ahead. Avoiding performance bottlenecks * Centralized services, centralized data also is not good idea. Keeping a single database would certainly saturate all the incoming and outgoing communication lines. Decentralized algorithms is the better choice to avoid Performance bottleneck. Hy hatterWy Discributed Systems } Introduction to Distp, 5.5 Failure Handling 1s continue to function. Therefore, the } fail while othe failures. The corrupted data iM 8 MESSaQe oy 4 a some my, with checksum. in the Internet. The mair | sete For example, a remote crashed server 19 Cate, | Some failures are difficult to detect. may be suspected. succeed in the presence of failures that cannot be detected Put Distributed system . ponents and components are constructed fom collection y Det! em cn ese be For proper masking of failures, it is necessal member by non-faulty processes. For example, suppose data is replicat provide the service. Service mask failure either by hiding itor by tra 1y and requirement to detect them. It 1S MEEGEd to det ted on several serves. In this case if one server fails then other sere sforming it in more acceptable typeof, The use of redundancy is main technique for masking the faults. Redundancy is categorized 25 infamy, redundancy, time redundancy, and physical redundancy. With information redundancy extra Bits are add recovery. For example, hamming code added at sender side in transmitted data for recovery from noise Time redundancy is particularly useful in case of transient or intermittent faults. In this, action is performed ay and again if needed with no harm. For example, aborted transaction can be redone with no harm. With physical redundancy, to tolerate the loss or malfunctioning of some components either extra hardvarey software components are added in system. 15.6 Concurrency The shared resource in distributed system must be encapsulated as an object and invocations are executed concurrent threads to increase the throughput. This shared object in a distributed system must be accountable for ensuring that it works correctly in @ concuet ‘environment. This is applicable to both servers and to objects in applications, Programmer implementing an object that is not intended for use in a distributed system must cany af implementation to make it safe in a concurrent environment, Jn 2 concurrent environment, itis necessary to synchronize the operations of an object in such a way thats remains consistent. This can be accomplished by standard techniques such as semaphores, which are used it ™ ‘operating systems. 15.7 Quality of Service ‘The main properties of systems affecting the quality of the servic security and performance, Adaptability to meet changes in s significant aspect of service quality experienced by clients and users are ret stem configurations and resource availabilty #"‘© This is not a simple task, as present estimates state that the Web comprises over 63 ¥ ” 1.19 Introduction to Distributed Systems + Applications such as multimedia applications, handle time-critical data. in this case, data processed or transferred from one process to another at a fixed rate. It is neces relationship in a stream. For continuous data stream, ‘There are many ways to state QoS requirements. buted Systems streams needs to be Nn Saty to preserve temporal timeliness, volume and reliability decides quality of service. 1.6 _Examples of + Distributed systems include many most noteworthy technological developments of recent years and hence itis important to’ consider underlying technology which is central to a knowledge of modem computing, There are wide range of applications in use today, from relatively local systems (for example, in a car) to global scale systems with millions of nodes. These application ranges from data-centric services to processor intensive tasks, from systems constructed from very small sensors to those including powerful computational elements, from embedded systems to ones that offers a sophisticated interactive user experience, and many more. ‘+ Following are specific examples of distributed systems to further illustrate the variety and indeed complexity of distributed systems provision today. ‘* There are many networked applications developed by many companies in different domains such as finance and commerce, Information society, Creative industries and entertainment, Healthcare, Education, Transport and logistics, Science and Environmental management. 1.6.1 Web Search + Inrecent yeats, it is noted that the global number of web searches are rising rapidity. Hence, is is now a major growth industry. * Web search engine index the entire contents of the World Wide Web (WWW) that includes a wide range of information styles such as web pages, multimedia sources and (scanned) books. jon pages and one trillion unique web addresses. If the most search engines analyze the whole web content and then do sophisticated processing on this huge database, this task itself represents a major challenge for distributed systems design, Currently, Google is the market leader in web search: technology. Google has designed and developed a sophisticated distributed system infrastructure to support search, Google applications and services such as Google Earth. This is one of the largest and most complex distributed systems. Hence, it is necessary and important to have its close examination. Following is some of highlights of this infrastructure. © Its underlying physical infrastructure includes very large numbers of networked computers positioned at data centres all around the world. © A distributed file system supports very large files and heavily optimized for the style of usage needed by search and other Google application. Particularly, reading from files at high and constant rates. © The infrastructure includes an allied structured distributed storage system that provides fast access to very large datasets. © The infrastructure includes a lock service offering distributed system functions such as distributed locking and agreement. wramennTr Introduction 1-20 vistributed Systems Its programming model supports the management of Very large parallel and distributed compat, © Its programmi the underlying physical infrastructure. 1.6.2. Massively Multiplayer Online Games (MMOGs) ively multiplayer onfine games. In this online gaming Users gets an immersive experience from mass! 7 : 7 ha determined virtual world. Sony's EverQuest tang gy, numbers of users interact through the Internet with @ hese from the Finnish company CCP Games are the latest examples oft arenas: for example, EVE Online consists Of @ UNITE with OF Si, | | | | games. These games include complex playing stems able to support cy, «, systems. They also include multifarious social and economic systems: These syst IPPON over 5, simultaneous online players, The MMOGs requires the fast response times to preserve the user experience of the game. Hence, 55 challenge for distributed systems technologies. Other challenges comprise the real-time propagation of e, the many players and keeping a consistent view of the shared world. This is an excellent example Of the chaie,. facing modem distributed systems designers. There are many solutions that have been proposed for the design of massively multiplayer online games ©The largest EVE Online makes use of a client-server architecture where a single copy of the state of the wr is kept on a centralized server. This copy is accessed by client programs running on players’ consoles one devices. The server consists of a cluster architecture including hundreds of computer nodes. © This architecture helps in supporting the large number of cliants and also in management of the virtual we The single copy also fies the consistency concerns. The optimized network protocols ensu te response and rapid response to incoming events. ‘© For this purpose, the load is di led by allotting individual ‘star systems’ to specific computers wih » cluster, with highly loaded star systems having their own dedicated computer and others sharing a conou# Incoming events are passed to the appropriate computers within the cluster by keeping track of moveret players between star systems. Distributed architectures are adopted by many other MMOGs where the universe is divided acs 2 large number of servers that may also be geographically distributed, A specific server is allocated to dynamically on the basis of current usage pattems and considering the network delays to the server ©The geographical proximity is also considered. EverQu lest has adopted ma extensible by adding new servers eee / Fesearchers based on peer-to-peet tech ‘where every participant contributes resources to accommodate the game.Istributed Systems 121 Introduction to Distributed Systems ation to Distributed Systems + Examples of such events include a drop in a share price, the release of the latest unemployment figures, and so on. For such systems the underlying architecture styles should be different than centralized explained above. Such systems naturally employ what are known as distributed event-based systems. 1.7 __Trends in Distributed Systems With the ever-growing technological growth of the world, distributed systems are becoming more and more widespread. Distributed systems are undergoing through a noteworthy change and this can be traced back to a number of significant trends. 1.7.1 Pervasive Networking and the Modern Internet * Now days, Intemet is a huge interconnected collection of different types of computer networks that indudes a wide range of wireless communication technologies such as WiFi, WiMAX, Bluetooth and third-generation mobile phone networks. Hence, now networking has become a pervasive resource that allows to connect devices at any time and in any place. + The Intemet is the example of the distributed system having large size. It provides users to make use of services from any place. These services are for example, the World Wide Web, email and file transfer. These services are ‘open and hence, can be extended by adding server computers and new types of service. ‘* Following figure shows a collection of intranets that are typically protected by firewalls. A firewall protects an intranet by preventing unauthorized incoming and outgoing messages. Fig. 1.7.1 : A typical portion of the Internet Firewall filters incoming and outgoing messages by source or destination, or a firewall may permit only those messages that are related to email and web access to pass into or out of the intranet that it protects. * _ Intemet Service Providers offers broadband links and other types of connection to individual users and small organizations for accessing the services at any place in the Internet. TechRaetedgeIntroduction to Dist 1.22 my, Distributed Systems rected te . intranets are connected together fh as email and web hosting: the satellite c PY bi «ISPs also offers local services such a Transmission capa employing ONnections, fg, trans Me ‘A backbone is a network link having @ hig! fc ‘cuits. Due to security reasé fon, some organizations do not link th, indwidth cir Hey, cables and other high- networks to the Internet. sharing between internal and extemy «sto services when resource * Firewalls can also deny legitimate acces ence frewalls must often be complementag required. This may impose problems in distributed systems fine-grained mechanisms and policies The implementation | of the Internet and the services that i prog, i stem issues. ’ involved the development of practical solutions to many distributed sy: 1.7.2. Mobile and Ubiquitous Computing tured with advancement in technology is now integrated into di * Many small and portable devices manufact PDAs, Mobile phones, Cameras, pagers, smart watches dp, system. Examples of these devices are Laptop, ‘embedded in appliances, cars and refrigerators etc. * As these devices are portable and easily gets connected, mobile computing became possible. Mobile uses. ‘easily use resources available in network and services available in internet. * Ubiquitous computing ties together the many small chip devices in available physical environment of home or elsewhere. In mobile computing, user location can be anywhere but can use resources available everywhere © Whereas, in ubiquitous computing users are in same physical environment and gets benefited. Mobility presers: several challenges for distributed systems including the need to handle varying connectivity and ac disconnection, and the necessity to maintain operation in the face of device mobility. * As today computers are present almost at all the places, their usefulness is when they communicate with «| other. It can be convenient for users to control their washing machine or their entertainment system tem | mobile set or a ‘universal remote controt' device in the home. Likewise, the washing machine could alert thew | via a smart badge or phone when the washing is done. * Ubiquitous and mobile computing goes together, as the mobile user can technically get advantage 1" | computers that are everywhere but generally, they are not same. Ubiquitous computing is more advantages? users while they remain in a single environment such as our home or a hospital, Similarly, mobile computng'® advantages even fit involves only conventional, discrete computers and devices such as laptops and print. 1.8 _ Focus on Resource Sharing + Hardware resources such as printers, disks are shared to reduce cost. Us : ers can also shi yn databe™ The pattern of sharing in such large environment of distributed system ea cannot be same. * All users can sare search engine for searching purpose or small group of users can sh enor soo! can share their files oF in large network can be used by ¥* | among them. The resources available at different locations applications in it. + These resources are treated as services and present its fu iNctionalit sna files can be accessed by using file service. Sharing of res 'Y f0 users and applications. For example | a ources ay vs ye system cannot be possible without communication, ‘ailable on different computers of0 {Introduction to Distributed Systems * Thus resource to be shared must be managed by some program which should provide communication interface which allows effective access and updating ofthis resource with reliability and in consistent way. + Server application provides services, Client application running on other machine, request the service of server by sending message In this scenario, we say that client is invoking an operation on server. + Server processes the request and sends back response to client, This is called remote invocation by client. * Requesting application is client and responding application is server. Server may request the service of another server also. Here, client and servers are processes and not computers. 1.9 _ Distributed Computing Model has nic ny Mote * AS various types of distributed systems share significant underlying properties, it gives rise to common design Problems. The properties and design issues of distributed systems can be captured and studied through the use of descriptive models, * Each type of model is intended to provide an abstract, basic but consistent description of related aspect of ‘Types of datributed system models] 1. Physical models distributed system design. 2. Architectural Models ‘3. Fundamental Models Fig.1.9.1 Following are three types of distributed system models. Physical models : These models capture the hardware configuration of a system in terms of the machines and devices along with their interconnecting networks. ‘Architectural Models : These models concern about placement of different components of distributed system and relationship between these components. These models describe computational and communication tasks carried out by its computational elements which are single machine or group of machines connected by interconnection network. Fundamental Models : These models concern with formal description about properties that often appears and ‘common in above architectural model. They take an abstract view in order to inspect individual aspects of a distributed system. 1.9.1 Physical Models A physical model is a illustration of the basic hardware elements of a distributed system that abstracts away from Specific details of the computer and networking technologies employed. * Baseline physical model : In a distributed system hardware or software components at the machines in the ‘network communicate and coordinate their actions only by exchanging messages. This is a minimal physical model of a distributed system as an extensible set of machines or nodes interconnected by a computer network for the required passing of messages wren: Introduction to Distrib Istributed Systems Following are three generations of distributed system: ‘ * Early distributed systems : These distributed systems emerged in the late wots and au 1980, 3 boc, networking technology Ethernet emerged during the same period. These system: a ‘ Of Nodes dete and 100 that are interconnected by a LAN, with limited Internet connectivity and supported a services jg local printers and file servers as well as email and file transfer across the Internet. Individual systems wer, hare, | homogeneous and openness was not a primary concern. Quality of service issue was started to be focysey ing, same time period. Intemet-scale distributed systems : The larger-scale distributed systems began to arise in the 1950s in "eSpeng to the fast growth of the Intemet during this time. In this type of distributed systems, the underlying ph, infrastructure consists of a physical model as illustrated Figure 5. Such systems take the benefits of. infrastructure presented by the Internet to become truly global. They include huge numbers of nodes ang cg. distributed system services for global organizations and across organizational boundaries. The degree «5 heterogeneity in these systems is significant in terms of networks, machine architecture, operating systems yu, 'anguages employed and the design and development teams involved. This emerged as an increasing emphass , Open standards and related middleware technologies for example, CORBA and more recently, web services, Contemporary distributed systems : Distributed systems discussed above, nodes were desktop computers wher are static, discrete and autonomous. The emergence of following technology led to development of diffe physical models. © Mobile computing : This led to physical models where nodes are laptops, smart phones which changes ter Physical locations in the distributed system. Hence, service discovery and spontaneous networking is neeiet in distributed system. © Ubiquitous computing : This has led to a move from discrete nodes which are not embedded in ate Physical entity to architectures where computers are embedded in everyday objects such as washing machines, refrigerators etc. ° Cloud computing and Cluster architectures : This has led to move from autonomous nodes executing? n role to pools of nodes that together offer a given service, for example, search service offered b Google. + Distributed systems of systems : The ultra -large-scale (ULS) distributed systems are now emerging today * Monitor the state of several environme? Parameters involving with respect to rivers, flood plains, tidal effects and many more. This can then be uP with systems responsible for flood prediction, by running complex simulations on, for example, duster. systems may be built to maintain and analyze historic data or to offer early warming systems to key stakerol™ phones. 1.9.2 Architectural Models These models of distributed system deal with placement of different components and how these compone” w related to each other. Client server model is one of the examples of the architectural model fe —_—_—-~-Wvodd atIntroduction to Distributed Systems + Following are the important things to understand the fundamental building blocks of distributed systems, ° ° ‘Communicating entities ‘Communication paradigm Roles and responsibilities of communicating entities ‘* _ Theirmapping on to the physical distributed infrastructure 1. Communi ing entities ‘The entities in distributed system that communicates with each other are processes. Processes communicates uses some appropriate interprocess communication paradigms. In sensor networks, operating systems does ‘ot support process abstractions. Hence, the entities that communicate in such systems are nodes. In some systems, threads communicate with each other. From a programming view, however, proposed. © Objects : Objects encapsulates data, called the state and operations on those data, called as methods. Methods are invoked through interface. Process can access or manipulate state only through object's interface. Single object may implement several interfaces. Similarly, for given interface definition, several ‘objects may provide implementation for it. We can keep object's interface on one machine and object itself on another machine. This organization is referred as distributed object. ‘not sufficient, and more problem-oriented abstractions have been © Components : As distributed objects involve several problems; the practice of component technology has arisen as a direct response to such weaknesses. Components seems similar to objects in that they support problem-oriented abstractions for building distributed systems and are also accessed through interfaces. The important difference is that components specify their interfaces in addition to assumptions they make in terms of other components/interfaces that must be present for a component to fulfil its function, Web services : Web services are the third important paradigm for building the distributed systems. Web services are closely linked to objects and components in the manner that they take approach based on encapsulation of behaviour and access through interfaces. On the contrary, however, web services are intrinsically integrated into the World Wide Web, using web standards to represent and discover services. Web services are complete services in their own right that can be combined to attain value-added services, often crossing organizational boundaries and hence attaining business to business integration. 2. Communication paradigms Following are L 2 3 1. Interprocess communication : This is relatively | systems. It includes message-passing three types of communication paradigm: Tnterprocess communication Remote invocation Indirect communic low-level support for communication between processes in distributed wunication- 1a primitives, socket programming and support for multicast commIntroduction to 126 tion, procedure or method sfully a pattern imposed On 2n underyng In this form of communication, pairwise ne sinned Systems Remote invocation : It involves calling the remote operat (_Request-reply protocols : These protocols are Succes : server communication. are exchanged between cen systems where performance is very much important factor The approach is also used in the HTTP," yported with underlying request-reply: exchanges. «in Remote Procedure Calls (RCs) model @ client-side Process a py, : in this call, parameters are transparently sent t0 the emote, It of execution then server Sent back tothe cx was executed locally. In this cay . ns, RPC and RMI both are sup} Gi) Remote Procedure Calls implemented on a remote machine. ly executed. The resul (server) where the procedure actual it appears as call Although called procedure is executed remotely, ‘ocess remains hidden from calling process. Tn tees arape tes data, led a a called as methods, Methods are invoked through interface. Process can access Or manipulate state o, through object's interface. Single object may implement several interfaces. similarly, for given intete, definition, several objects may provide implementation for it. We can keep object's interface on one matey and object itself on another machine. This organization is referred as distributed object. Implementatin object's interface is called as proxy. Its similar to client stub in RPC and remains in client address space Pry marshal client's method invocation in message and unmarshals reply messages which contains rent method invocation by client. This result, proxy then returns to client. As with RPC, the underlying details ‘communication with remote pr usually hidden from the user. 3. Indirect Communication : Several methods have emerged whereby communication is indirect, via a third ent, permitting a strong degree of decoupling between senders and receivers. In this case, senders need not be knoe ‘about receiver (space uncoupling) and senders and receivers not needed to be executing simultaneousy (tet uncoupling). @ Group communication : Reliable multicast services promise that messages are delivered to all membersit? process group. Most of the transport layers only offer point-to-point connection between two processes. Th) seldom offer reliable communication to a collection of processes. So, each process has to set up relat point-to-point connection with other process. If number of processes is large then achieving relabél through point-to-point connection is difficult. If number of processes is small then it is simple to aciet reliability through point-to-point connection. All the processes in group should receive incoming message ® that group. In other word, message sent to particular process group should be delivered to the all membes4 that group. There are some situations that need to be considered, These are: if process joins the group 4% communication, whether this newly joined process should receive the mes : crashes during communication, Bane oF oot andl» odie + Publish-subscribe systems: In information-dissemination systems such as fi of producers/publishers distribute information items of interest (events : consumers/subscribers. Publish-subscribe systems all share the key fea service that efficiently guarantees information produced by producers information. , ee =“ ancial trading, a huge wm :) to a similarly huge ube ture of providing an inter=™” routed to consumers who whDistributed Systems 1 7 Introduction to Distributed Systems + Message queues : Above publish-subscribe systems are the examples of one-to-many type of communication, The message queues support for a point-to-point service in which producer processes send ‘messages to a specified queue and consumer processes receive m the arrival of new messages in the queue. Hence, queues offer consumer processes. lessages from the queue or be notified of an indirection between the producer and Tuple spaces : Tuple spaces also provides indirect communication service by supporting a model in which Processes Put arbitrary items of structured data, called tuples, in a persistent tuple space and other processes ‘can read/remove such tuples from the tuple space by specifying patterns of interest. Distributed Shared Memory Systems (DSMs) : Programming for multicomputers is complex with compare ‘to multiprocessors. As only message passing is available with multicomputers, programming becomes dificult with multicomputers. On the other hand, multiprocessor uses semaphores and monitors to access the shared data. So programming with multiprocessors is simple. In multicomputer case buffering, blocking, and reliable ‘communication needs to be considered as well which leads to complex task of programming, Implementing the shared memory on multicomputers offers a virtual shared memory machine, running on a multicomputer. This shared memory model can be used to write the applications on multicomputers. The role of ‘multicomputer operating system is important in this case. 3. Roles and Responsibilities {in a distributed system processes communicate with each other to accomplish a useful task. For this purpose, the processes undertake given roles, and these roles are fundamental in establishing the overall architecture to be adopted. Two types of architectural styles are client server and peer-to-peer. Client Server Model * This is basic and widely employed model. In this model server and client processes are on different computers. Client processes interacts with server processes to access the shared resources or to get services. ‘© In this model, requesting process is considered as client. Server process in turn may send request to other server process on different machine. For example, web server may request local file server which manages files that contains web pages. ‘Servers can be the clients of other servers. Web servers and several other Internet services are clients of the DNS. service, which translates Internet domain names to network addresses. '* Asearch engine plays both roles as a server and a client. it gives reply to queries from browser clients and it runs web crawlers that act as clients of other web servers. Fig. 1.9.1 : Clients invoking the individual serversWistrbuted eannanEneee ae 1-28 — Peer-to-peer fate with each other to achieve a designs, and cooper i 4, eg maintains the consistency in resources whic, “* In this model, all processes are considered as equal No process is client or server and code in these process* application level. ever required. In this com, Application-level activities are also synchronized by these processes whens ed a icati +g reduced. It leads to better interactive response delay incurred in communication with server processes i oy ay eer processes than server-based architecture. Distributed Computation with three peer processes The large numbers of peer processes run on separate machines. These processes belong to the diterey applications. These processes communicate with each other as per application requirements. A large number of data objects are shared by applications. An individual machine stores only a small part ofthe application database, and the storage, processing and communication loads for access to objects are distributed across many machines and network links. Each machine contains the same objects as these objects are replicated ‘on these machines. This helps in further distribution of the load and to offer resilience in the event of disconnection of individu! ‘machines. This architecture is more complex than the client-server architecture as objects is replicated and consistency needs to be maintained. Placement Placement of objects and services iportant in order to determine the properties of the distributed system Placement of a given client or server in terms of machines and processes within machines are a matter of cautios design. Placement should consider the pattems of communication between entities, the reliability of gen mache! and their curren loading, the quality of communication between diferent machines and so on, Following acet strategies are used. . Mapping of services to multiple servers processes communicate with each other to provide the services to requesting vi det can access resource available on any particular web server. Here resou pe eed One may Ces are partitioned and kept on Objects on which service is dependent can be distributed among ma objects replicated on many computers where server processes are ry ny Reivers. In other case, oe inning. The replication improves performs” availability and fault tolerance. Consistent copies are 7 maintained at service bbe mapped onto many servers having replicated database, Tepicated Serves. For example, web |Distributed Systems 1 Introduction to Distributed Systems Proxy Servers and Caches Recently used data objects are maintained at cache. The newly received objects are added in cache by replacit existing objects there if required. Cached objects needed by client are first checked by caching service to contin i 35 up-to-date copy. If not then up-to-date copy is accessed. These caches are collocated with other each client Copies or may be fetched from proxy server shared by many clients. a Cae Web browsers always caches recently used web pages, resources and maintain at client local file system. Before displaying these pages, browser uses HTTP request to check consistency of cached pages with server copies. Prony servers can also maintain these shared caches to share among many clients, These proxy servers are maintained to reduce load on network and to improve performance. Proxy servers may also access remote web servers. Mobile code and Mobile Agent Example of mobile code is downloading the applet code from web server by browser and running it locally Sometimes server itself pushes up-to-date information to client. In this case client does not request server for the same information, Mobile agent is running program (code and data) which migrates from one machine to other in different network to perform a particular task. Mobile agent makes use of resources at machine where it is transferred, It may access database entries from database at this machine. Hence, communication cost can be reduced by avoiding the transfer of large size data from one machine to another machine. Mobile agents can be security threat at farget machine where it is transferred. The environment receiving this mobile agent should check authentication of user of the mobile agent to access a particular resource. If mobile agent does not get required resource, it may not be able to complete the execution, Hence, mobile agents have limited applicability 1.9.2(B) Architectural Patterns Although, architectural patterns do not essentially a complete solution but it helps, when combined with other patterns, lead the designer to a solution for a given problem domain. Following are main architectural patterns in distributed systems, including layering and tiered architectures and the related concept of thin clients. Layering Software architecture defines software layers in single computer or it defines services that are provided or requested by processes running locally or on remote machines. This view can be expressed in terms of service layers. Server process offers services to requesting client processes. Distributed Service can be placed on one or more servers which interact with each other and client processes by maintaining the consistent view of the service resources. In Fig. 1.93, lowest two layers are hardware and software layers which offer services to upper layers. These layers are platform for applications and distributed system, Middleware layer masks heterogeneity and offer ‘communication and programming model to programmers. Hy rataesietnsIntroduction to Distribur, Distributed Systems Fig. 1.9.3 : Service Layers in Distributed System + Middleware offers distribution transparency. It also provides services needed by a PFOGTEMS. Rang, procedure call (RPO, Remote method invocation is the examples of middleware models. Tiered architecture «Layering is related to the vertical organization of services into layers of abstraction. In tiering, functional given layer is organized and placed into appropriate servers and a secondary consideration, on to physical nog, ‘The functional decomposition of the given application can be done as: © Presentation logic : It is the logic to handle user interaction. © Application logic : The core part of the application which operates on database or file system is consider: as application logic. It is specific processing associated with application. © Data logic : In dlent-server model, this level contains programs which maintain the data on whe applications perform the operations. This data is persistent. Although application is not running, stil das remains stored at somewhere. «The above discussed three levels of logic suggest the different ways to distribute client server application acos different machines in the distributed system. The simple organization is to keep interface level on client mactie ‘and other two levels (processing and data level) on server machine. Multitiered Architectures The programs in different levels described above can be distributed among different machines to organizing Bs dlient and servers. Following are the different possibilities for two tier architecture : © Terminal dependent part of the user interface on client machine and user interface application and database server machine. «Place entire user interface on client machine and application and database on server machine. = Place entire user interface and some part of application (front end) on client machine and other part of applica and database on server machine. Validation of filled forms is done at client side. s Place entire user interface and entire application on client machine and database on server machine. In ths client contact only for operations of data to server. * Place entire user interface and entire application and some part of database (for example cached weD pages” local disk) on client machine and database on server machine. ¢ In the three-tier architecture, there is a one-to-one mapping from logical elements to physical serve e example, the application logic is placed in one place, which in tum can enhance maintainability of the soft" Each tier also given a precise role; for example, the third tier is simply a database offering a relation! can interface. ye: ‘W Distributed systems 1-31 Introduction to Distributed Systems Modem architectures * One way is vertical distribution where logically different components are placed on different machines. This is just like muttitiered architecture. This is related to vertical fragmentation concept in distributed relational databases. In this case, table columns are split and kept on many machines. In horizontal distribution, client or server is physically split up in logical parts. Here each part operates on its own share of data set to balance the load. For example, web pages are distributed among many servers and client request is forwarded to these servers in round robin fashion. 1.9.2(¢) TI Clients The term thin client is used to refer to the software layer supporting a window-based user interface which is local to the user while executing application programs or, more commonly, accessing services on a remote machine. For example, client access the compute server in network over the internet. Laptops, PDAs, digital cameras, smart watches, mobile phones, washing machines and many such devices which can be connected with wireless networking can be part of distributed system. If these devices are integrated in distributed system, then it supports for mobile computing. In this environment, user with mobile devices can access local or remote services. The advantage of thin client approach is that, potentially simple local devices can be significantly improved with a different significant networked services and capal ies. © But thin client architecture approach incurs more delays at user side when they use highly interactive graphical activities such as CAD and image processing. This happens due to network and operating system latencies. ‘* This concept helped in the emergence of virtual network computing (VNC). The concept is offers remote access to graphical user interfaces where a VNC client (or viewer) interacts with a VNC server through a VNC protocol. ©The protocol functions at a primi operation: the placement of a rectangle of pixel data at a given position on the screen, level in terms of graphics support, based on framebuffers and featuring one Other commonly occurring patterns Proxy Pattern invocation (RMI). We can keep object's interface on one machine and object itself on another machine. This organization is referred as distributed object. Implementation of object's interface is called as proxy. It is similar to client stub in RPC and remains in client address space. In this approach, a proxy is created in the local address his pattern offers location transparency in remote procedure calls (RPC) or remote method space to represent the remote object. This proxy offers exactly the same interface as the remote object, and the client program calls on this proxy object and hence does not need to be aware of the distributed nature of the interaction. «© Brokerage pattern : Using the brokerage in web services can helpfully be regarded as an architectural pattern supporting interoperability in potentially complex distributed infrastructures This pattern comprises of service provider, service requester and service broker This brokerage pattern is replicated in many areas of distributed systems, for example with the registry in Java RMI and the naming service in CORBA. * Reflection pattern : Reflection pattern is more and more being used in distributed systems as a means of supporting the dynamic discovery of properties of the system and intercession (the ability to dynamically modify structure or behaviour). onIntroduction to Distributed 5, Distributed Systems 1.9.3 Fundamental Models 5 to be more spe: ties that permit the use SPECI atgy 4 «Fundamental models are based on fundamental Prof characteristics, risk of failure and security. ction and characteris which ystem, their inter model, the main aspects focuses a ir entities of the 5) «These models mainly consider primary vy fundamental the individual or cooperative behavior of the system. interaction, failure and security. 1.9.3(A) Interaction Model i their requests. On the otf + Server processes may interact with each other to provide services 10 client de! a her hang joa peer processes may communicate with each other to achieve a common 3 «In this scenario, many messages get exchanged betwee! ae s. processes is private which cannot be accessed or updated by other proces: processes. ‘Communication Performance + Latency, bandwidth and delay affect communication performance. Latency is time elapsed between stan transmission of message by sender process and when receiver process begi «Delay incurred in accessing the network that increases when network is heavily loaded due to traffic. Delay cane due to load at operating system at sender and receiver machines. in given time. If more connections or channels use such ins the receiving of the same message. «Bandwidth of network decides transfer of informatio network then bandwidth gets divided. Jitter is variation in consecutive packet or message delivery time. Its mor related to multimedia data transfer. ‘Machine Clocks and Timing Events ‘© Different machines in the network have internal clock which is used by processes running on these machines! ‘obtain current time. Practically, these clocks drift with respect to perfect time. Some machines clock can be leading ‘or lagging with respect to perfect or standard time. Hence, processes running on different machines read diffe clock values as this machine's clock time are not same. ‘©The drift rate of different machines clock is not similar. The drift rate is defined as relative amount the macht clock differs with respect to perfect clock. Hence, although all machines clock are set at same time inital." future these clocks would differ in time. © Several algorithms are used to synchronize the clocks of computer in the network. ‘Two variants of interaction models ‘+ Its difficult to set time limit for execution of processes, delivery of messages to ing on ob race ini machine and drift rate of clocks of different machines. Following are two exam af ee to vot Co ‘model requires strong assumption about time and other requires no assumption ats —— about time. 1. Synchronous Distributed Systems ‘+ Insynchronous distributed system, following bounds are defined * Lower and upper bounds of each process for their execution of each step are ki are known in advance. —Introduction to Distributed Systems Message will be received by each process from other process running on different machine in bounded time. ‘The machine on which process is running have known bound about its local clocks drift rate with respect to. teal time clock. It is possible to model such synchronous distributed system. Practically, the above defined bounds should be guaranteed. It is necessary to give guarantee about required processor cycles and network capacity to use resources to complete tasks by processes within defines time bounds. 2. Asynchronous Distributed Systems Internet is example of asynchronous distributed system, This system does not consider timing bounds. For example, if user Is experiencing delay in receiving response from web server then web browser allows user to carry out other tasks, In this type of distributed systems, there are no bounds on : # Speed of process execution : Processes which are communicating with each other may take different times to finish the particular step. For example, requesting process step may execute in nanosecond and responding process step on other machine may take longer time (may be second, minutes and more than that). Delays in message transmission : One message from process A may take time in picoseconds to deliver to process B whereas other message from the same process may take hours. Drift rate of clock : It can be arbitrary for different clocks of different machines. Practically, asynchronous distributed system is very often. as it is necessary to share processors and communication channels in network to accomplish the designated task. Hence, in asynchronous distributed system it is possible to implement the bounds defined above for synchronous distributed system. For example, multimedia data stream can be delivered within bounded time in asynchronous distributed system. Ordering of Events . ©” Ordering of events between communicating processes is very important to achieve consistency at different sites. For example, two servers in different cities A and 8 maintains bank database. For example, customer accounts balance initially is Rs 1000. If customer deposited Rs 100 in city A and at the same time branch manager gives 1% interest on account balance in city B. These are two events related to same copy of database that is present on two cifferent servers. Lets us say these events as event A (updating account balance by adding Rs 100) and event B (updating account balance by adding 1% interest). If these events executes in different order at these databases then inconsistency in account balances would occur. In city A, if event A is executed first and then suppose event B is executed. In this case account balance in city A will be updated as: 1000 + 100 = 1100 and then adding Rs 11 interest = Rs 1111. In city B, if event B is executed first and then suppose event A is executed. In this case, account balance in city B will be updated as : 1000 + 10 and then adding Rs 100 = Rs 1110. 1010 ‘These Event A and B messages arrive at both sites A and B in order explained above due to communication delay {in network. If clocks of all machines in network show same time then ordering of messages can be done as per timestamp when message was sent. Practically, it is not possible. Lamport proposed notion of logical time to Atrange the messages at different sites in same order for execution. 1 lettcsietysintroduction to Distributed 5 stributed Systems 34. —ooereeeeere 1.9.3(B) Failure Model jy during the course of execution aj In distributed system, communication channel, processes: can fail dur ere model suggest the ways in which failures in different compo! is understanding of this failure. Prove Omission Failures : due to failure of process ‘or communication channel, 1 fails to carry out the © The omission failure refers to the faults that occur’ 7 action or task that its Suppose, * Because of this failure, process or communication channel do. Process Omission Failures : - i ion oF pr © The main omission failure of process is when it crashes and never executes its further action oF Program step, jn this case, process completely stops. When any process does not responds to requesting Process repeated), te crash. requesting process detects or concludes mmeouts. In asynchronous system, timeout can pit ‘© The detection of crash in above manner relies on use of tit ave crashed, may be executing slow oF mesige towards only that process is not responding. The process may have yet not delivered to the system. ess then this process crash is called as failstop. This fail-stop «If other process surely detects the crash of proc: to know when other process failto behaviour can be formed in synchronous system when Pi respond and delivery of messages are guaranteed. Communication Omission Failures «Sending process P executes send primitive and put: transport this message to receiving process Q's incoming this message from its incoming buffer. It then deliver the message. rocesses uses time out ¢ message in its outgoing buffer. Communication channe puffer, Process Q then executes receive primitive to tae Qsis incoming buffer then it produces omission failure. «The message may be dropped due to non-availability of buffer space at receiving side, no buffer space a intermediate machine or network error detected by checksum calculation with data in message. « Send-omission failures refer to loss of messages between sending process and its outgoing buffer. Recent omission failures refer to loss of messages between incoming buffer and the receiving process, Arbitrary Failures In this type of failure process or communication channel behaves arbitrarily. In this failure, the responding roots may retur wrong values or it may set wrong value in data item. Process may nee ‘omits intento" processing step or carry out unintentional processing step. «Arbitrary failure also occur with respect to communication channels. The examples of these failures are are : meso content may change, repeated delivery of the same messages or non-existent messa carer sivered- failures occur rarely and can be recognized by communication software. ages may be deliv wom| Wrbistributed systems . ————___tniction to Distributed Systems Timing Fallures troduction to Distributed Systems ¢ Insynchronous distributed system, limits a message ws Fe set on process execution ti rate. Hence, timing failures are applicable to this system, ™ ee ‘2 In timing failure, clock failure affects process as it nae 5 as its local clock may drift from perfect time or may exceeds bound ‘¢ Performance failur ce failure affects process if it exceeds the defined bounds on the interval between two steps. © Performance failure also affects communi mm : nication channels if transmission of message take longer time than defined Masking Failures © Distributed is system is collection of many components and components are constructed from collection of other components. Reliable services can be constructed from the components which exhibit failures. «For example, suppose data is replicated on several servers. In this case, if one server fails then other servers would provide the service. Service mask failure either by hiding it or by transforming it in more acceptable type of failure. 1.9.3(C) Security Model ©The architectural model discussed offers the basis for security model. The distributed system can be secured by providing security to processes and to the communication channels through which these processes communicate, Security also can be achieved by protecting the objects which these processes encapsulate against unauthorized access. Protecting Objects : Server keeps objects to which invocations come from clients at different machines. Invocations may be from process or user. These objects at server hold user's private data or shared data such a5 web pages. It is necessary to provide access right to users with each invocation. Server should very this authority of invocation and access rights for it. «Securing Processes and their Interactions : Processes commu! to each other. These messages are exposed against various atta other processes send them i inicates with each other by sending the messages .cks while under travel. Peer processes and server cations. Integrity should be processes expose their interfaces through, which maintained for applications which handle financial transaction or confidential data 3° laipecary + Threat may come from legitimate machine In network or fom machine which is connected in unauthorized way. Attacker may be capable of sending the messages t0 any process oF May read or copy messages while in transmission. Incoming request to process may be from unauthorized source, This source address can be forged by attacker. Server also gets invocation requests from many clients. Server cannot accept oF reject these requests without reliable knowledge of senders. is not true that, distributed system can be secured by securing commu ly. Encryption or access right techniques incur high processing and .odel by considering all attacks, its sources and by nication © Uses of Security Models thannels and by applying access rights onh management cost. This analysis can help to develop threat m minimizing the cost above.Introduction to Distrib, W Discrinuted Systems % — SS eee 1.10 Case Study : WWW 1.0, 2.0, 3. 7 ¢ The World Wide Web is 2 growing systern for publishing and accessing resources and S@TViCes 3CrO88 the pg, The Web was initially introduced at the European centre for nuclear research (CERN). Swrtrerland i 1995 ©The main objective behind its introduction was for exchanging documents between 2 COmmUnY af phy connected by the Internet Web cupports for hypertext structure among the documents" maintains whic ay. the users to organize thee knowledge © Other documents and resources mamtained in web can be accessed using hyperfinks Web "© Open system yp, allows To extend and implement in new ways without disturbing its eristing functionality Web allows t0 yy documents trom different servers which are implemented in different ways Browsers mplemented using platform can access the documents from these verver using computers of smart phones Resources on the web are web pages. media files PDF documents The new images in new image forrrat can oy Dubleshed on the web Browsers are designed to open these new format images For this new content prmerrates purpose. plug-in oF helper applications are used with browser + Apart from these simple data resources, web then started to encompass services, such as electronic purchasing + goods The basic architecture of the web still remained same The Web 1s based on three mam stander technological components © MyperText Markup Language (HTML) It is a language to specify the contents and layout of pages wre ‘are displayed by web browsers. A web page comprises structured items such as headings, paragraps, ‘sem and images HTML 1s also used to specity links and the resources associated with them. Uniform Resource Locators (URLS) : It abso called a5 Unidorm Resource identifiers (Us) URL: oer documents and other resources stored as part of the Web. HTTP protocol uses HTTP URLS ip order '0 xx the resources. HTTP URL has two main funcbons First identifies web server that maintains the resource 4 second, to identity the resources at that server © MyperText Transter Protocol-HTTP : Using HTTP protocol browsers and other cients fetch documents other resources trom web servers HTTP is @ request: reply protocol Cent sends request using URL server replies the content of the resource requested. The server puts the content type in the reply mesa” inform the browser about how to process Mt One resource per request 1s replied by server, Browser ° several requests to web server 10 access the content. In ths way, users can publish wed pages and content stored 1n files on the Web Dynamic Pages i users have to pulse an tem on Orne stove, then they fil the anne web form. Awe?” ts web page contawung information filed by user When user submits torm then browser sends HITP ee” web server Servet processes fequest as pet WNput filed by User Hence, the URL oF its inuthal component dem proprem on the server, not a fle If pul contains small set of parameters then it often sent 26 4 component of the URL using the GET method otherwise, its sent 45 ackdibonal data in the request using ™ oo methodIntroduction to Distributed Systems powniosded code : At server side, Common Gateway Interface (CGI) program executes and it have _ 2pplication specific functionality. The code written in Javascript is often downloaded with a web page eae 2 form which then executes inside the browser. It offers better-quality interaction with the a compared to HTML's standard widgets. Java Applets are also automatically downloaded by browser. Applet is an application implemented in the Java language which runs inside the browser when it fetches a corresponding web page. * Web services : Programs other than browsers can also be clients of the web. The limitation of HTML is that, itis not extensible to applications beyond information browsing. It is possible to use XML to describe products or information about users, for many different services or applications. In the HTTP protocol, XML data can be transmitted by the POST and GET operations. In AJAX it can be used to deliver data to Javascript programs in browsers. Web resources offer service-specific operations. Say, in the store, web service operations comprise one to order a book and another to check the current status of an order. Web 1.0 * Web 1.0 is earliest form of Internet. In Web 1.0, a few people were involved in creating web pages and content. They created web pages for a large group of readers, permitting them to access facts, information, and content from the sources. © Hence, Web 1.0 was specifically designed to access information. Web 1.0 is sometimes called “the read-only Web" as it lacks the necessary forms, visuals, controls, and interactivity which we experience in today's Internet. Following are a few characteristics in Web 1.0: © _Ithas supported only static pages connected to a system via hyperlinks. © Ithas HTML 3.2 elements like frames and tables. © HTML forms get sent through e-mail. 0 The content is retrieved from server's file system, and not from a relational database management system. © _ It features GIF buttons and graphics. Web 2.0 While Web 1.0 was focusing on only reading the documents, the main focus of Web 2.0 was on participating and contributing. This Internet form highlights User-Generated Content (UGC), user-friendliness, interactivity, and other systems and devices. improved compatibility Web 2.0 is all about the end user's experience. Thus, this Web form was accountable for creating communities, collaborations, dialogue, and social media. Therefore, Web 2.0 is considered to be the primary form of web interaction for mist of today's users. Web 2.0 is more enhanced version of Web 1.0, incorporating web browser technologies such as JavaScript frameworks. Mobile Internet access and the growth of social networks have contributed to a dramatic improvement in Web 2.0's growth. * The popularity of mobile devices such as Android-powered devices and growth of Web 20, Furthermore, Web 2.0's growth made it possible for apps such as TikTok, Twitter, and You iPhones have also contributed in the ‘Tube to expand and dominate the online landscape. TeIntroduction to Di Distributed Systems 1-38 it 0 el | '* Following is the some of the important characteristics of Web 2.0. information, permitting users to retrieve and classify data collectively, mation, permitting © It provides free sorting © It comprises dynamic content that responds to the user's input. © Isupports Developed Application Programming Interfaces (APD © It inspires self-usage and permits form of interaction such as : Podcasting, Social-media, Tagging, Borge, Commenting, Curating with RSS, Social networking, Web content voting Web 3.0 «Web 30, is also referred to as Web3, is developed on a basis consisting of the core ideas of decentrizas,, openness, and more excellent user utility. Web 3.0 the “read, write, execute Web” «This type of web interaction and utilization took the users away from centralized platforms like Facebook, Gongs or Twitter and moved towards decentralized, nearly anonymous platforms © WWW inventor initially called Web 3.0 the Semantic Web and envisioned an intelligent, autonomous, and com Internet that used Artificial Intelligence and Machine Learning to act as 2 “global brain” and process conte conceptually and contextually, + There were still technological limitations for this idealized version. These are like how expensive and complex ts te convert human language into the form understood by computers. Following is some of the important Web 30 choracteristics «It's 2 semantic web in which the web technology grows into a tool that allows users to create, share, and connec: content via search and analysis. It is based on comprehension of words rather than numbers and keywords. «It considers Artificial Intelligence and Machine Learning along with Natural Language Processing (NLP). This led smart computer using Web 3.0 and more responsive to user needs. © It supports for the connectivity of multiple devices and applications through the Internet of Things (lo). Ths * possible due to semantic metadata which allows all available information to be effectively leveraged. Furtherme® people can connect to the Internet anytime, anywhere, without needing a computer or smart device «It offers secunty to users and allows to interact publidy or privately without having an intermediary. uses 52 graphics such as computer games, virtual tours, and e-commerce. It eases participation without need" authorization from @ governing body It's permissionless. [review Questions] @.1 Whats distnbuted System? What are the main charactenstics of distributed system? @.2 What are the issues related to distributed system? Explain Q.3 Differentiate between Network operating system and Distributed operating system Q.4 Explain distnbuted operating system
You might also like
Chapter 1 Introduction
PDF
No ratings yet
Chapter 1 Introduction
42 pages
Distributed System
PDF
No ratings yet
Distributed System
162 pages
Distributed-Computing Book
PDF
No ratings yet
Distributed-Computing Book
149 pages
Chapter 1 Introduction
PDF
No ratings yet
Chapter 1 Introduction
53 pages
Lecture 1 - Fundamentals of Distributed System
PDF
No ratings yet
Lecture 1 - Fundamentals of Distributed System
13 pages
Chapter 1-Introduction
PDF
No ratings yet
Chapter 1-Introduction
45 pages
Ds 01
PDF
No ratings yet
Ds 01
41 pages
Chapter 1 (A) - Distribted System
PDF
No ratings yet
Chapter 1 (A) - Distribted System
40 pages
Distributed Systems: Page - 1
PDF
No ratings yet
Distributed Systems: Page - 1
9 pages
Distributed Computing Tech Knowledge
PDF
100% (1)
Distributed Computing Tech Knowledge
149 pages
Chapter One
PDF
No ratings yet
Chapter One
40 pages
Lec 1 Introduction
PDF
No ratings yet
Lec 1 Introduction
94 pages
Distributed Systems: An Introduction
PDF
No ratings yet
Distributed Systems: An Introduction
43 pages
Distributed Systems: Dr.P.Amudha Associate Professor
PDF
100% (4)
Distributed Systems: Dr.P.Amudha Associate Professor
38 pages
Unit-I Notes
PDF
No ratings yet
Unit-I Notes
40 pages
Chapter One
PDF
No ratings yet
Chapter One
42 pages
RMCS
PDF
No ratings yet
RMCS
127 pages
Introduction To Distributed Systems and Characterisation: Valerie G. Silverio
PDF
No ratings yet
Introduction To Distributed Systems and Characterisation: Valerie G. Silverio
37 pages
Chapter 2: Concepts and Architectures: CPU I/O Disk(s)
PDF
No ratings yet
Chapter 2: Concepts and Architectures: CPU I/O Disk(s)
38 pages
Distributed Systems:: Principles and Paradigms
PDF
No ratings yet
Distributed Systems:: Principles and Paradigms
31 pages
Chapter 1 Introduction
PDF
No ratings yet
Chapter 1 Introduction
60 pages
Tema 1
PDF
No ratings yet
Tema 1
59 pages
Dist Comp Intro
PDF
No ratings yet
Dist Comp Intro
41 pages
Nunit I
PDF
No ratings yet
Nunit I
119 pages
Chapter 1-Introduction To Distributed Systems
PDF
No ratings yet
Chapter 1-Introduction To Distributed Systems
59 pages
DS Unit 1
PDF
No ratings yet
DS Unit 1
34 pages
CH 1
PDF
No ratings yet
CH 1
36 pages
Distributed Systems: - CSE 380 - Lecture Note 13 - Insup Lee
PDF
No ratings yet
Distributed Systems: - CSE 380 - Lecture Note 13 - Insup Lee
24 pages
Distributed Systems
PDF
No ratings yet
Distributed Systems
29 pages
Objectives: To Learn The Concept and Characteristics of Distributed System
PDF
No ratings yet
Objectives: To Learn The Concept and Characteristics of Distributed System
23 pages
Des Tribute D
PDF
No ratings yet
Des Tribute D
8 pages
Unit One
PDF
No ratings yet
Unit One
93 pages
Distributed System Notes Midsem
PDF
No ratings yet
Distributed System Notes Midsem
183 pages
Unit1chap 01 DTU IntroBTech2020Handout
PDF
No ratings yet
Unit1chap 01 DTU IntroBTech2020Handout
59 pages
Mod 1 Part 1
PDF
No ratings yet
Mod 1 Part 1
48 pages
Distributed Comp (Intro)
PDF
No ratings yet
Distributed Comp (Intro)
39 pages
Chapter 1
PDF
No ratings yet
Chapter 1
55 pages
Distributed Systems Introduction
PDF
No ratings yet
Distributed Systems Introduction
21 pages
Chapter 1 - Introduction
PDF
No ratings yet
Chapter 1 - Introduction
44 pages
Distributed Systems Chapter 1-Introduction
PDF
No ratings yet
Distributed Systems Chapter 1-Introduction
32 pages
UNIT I Notes Final
PDF
No ratings yet
UNIT I Notes Final
88 pages
Unit 1
PDF
No ratings yet
Unit 1
90 pages
ADSU1VFTVF25
PDF
No ratings yet
ADSU1VFTVF25
118 pages
Lecture 1
PDF
No ratings yet
Lecture 1
36 pages
DC Unit 1
PDF
No ratings yet
DC Unit 1
15 pages
Module 1
PDF
No ratings yet
Module 1
118 pages
Introduction To Distributed Systems
PDF
No ratings yet
Introduction To Distributed Systems
36 pages
Distributed Systems
PDF
No ratings yet
Distributed Systems
121 pages
Distributed Systems: Chapter 1 - Introduction
PDF
100% (2)
Distributed Systems: Chapter 1 - Introduction
74 pages
196 - Cahpter 1 - Characterization of DSs
PDF
No ratings yet
196 - Cahpter 1 - Characterization of DSs
10 pages
Introduction To Distributed Systems: BY: Sunita Sahu Assistant Professor, VESIT, Mumbai
PDF
No ratings yet
Introduction To Distributed Systems: BY: Sunita Sahu Assistant Professor, VESIT, Mumbai
48 pages
Module 1
PDF
No ratings yet
Module 1
51 pages
Distributed Systems Notes
PDF
No ratings yet
Distributed Systems Notes
86 pages
Lecture 1 - Introduction
PDF
No ratings yet
Lecture 1 - Introduction
15 pages
Distributed Systems (Cosc 6003) : Chapter 1 - Introduction
PDF
No ratings yet
Distributed Systems (Cosc 6003) : Chapter 1 - Introduction
37 pages