Download presentation
Presentation is loading. Please wait.
Published byMargaretMargaret Lucas Modified over 9 years ago
1
Chapter 8-3 : Distributed Systems Distributed systems Distributed systems Document-based middleware Document-based middleware Coordination-based middleware Coordination-based middleware Jini Jini Grids Grids 1
2
2 Distributed Systems Figure 8-29. Comparison of three kinds of multiple CPU systems.
3
3 Middleware Figure 8-30. Positioning of middleware in a distributed system. Middleware layer provides certain data structures and operations that allow processes and users on far-flung machines to interoperate in a consistent way Middleware layer provides certain data structures and operations that allow processes and users on far-flung machines to interoperate in a consistent way In a sense, middleware is like the operating system of a distributed system In a sense, middleware is like the operating system of a distributed system
4
4 Document-Based Middleware (1) Figure 8-35. The Web is a big directed graph of documents. The web is a distributed system which looks like a giant collection of hyperlinked documents The web is a distributed system which looks like a giant collection of hyperlinked documents It is fundamently a client-server system It is fundamently a client-server system
5
5 Document-Based Middleware (2) When the browser gets the page http://www.minix3.org/doc/faq.html. 1. The browser asks DNS for the IP address of www.minix3.org. 2. DNS replies with 130.37.20.20. 3. The browser makes a TCP connection to port 80 on 130.37.20.20. 4. It then sends a request asking for the file doc/faq.html. 5. The www.acm.org server sends the file doc/faq.html. 6. The TCP connection is released. 7. The browser displays all the text in doc/faq.html. 8. The browser fetches and displays all images in doc/faq.html.
6
6 Coordination-Based Middleware (1) Linda A system for communication and synchronization A system for communication and synchronization Independent processes communicate via an abstract tuple space Independent processes communicate via an abstract tuple space A tuple is a structure of one or more fields, each of which is a value of some type supported by the base language A tuple is a structure of one or more fields, each of which is a value of some type supported by the base language Figure 8-40. Three Linda tuples.
7
7 Matching Tuples A match occurs if the following three conditions are all met: 1. The template and the tuple have the same number of fields. 2. The types of the corresponding fields are equal. 3. Each constant or variable in the template matches its tuple field.
8
8 Implementing a General Semaphore in Linda Post k notes as the initial value of a semaphore Post k notes as the initial value of a semaphore do K times postnote(‘s’) Removenote is equivalent to wait and postnote to signal Removenote is equivalent to wait and postnote to signal
9
9 Jini Jini clients and services communicate and synchronize using JavaSpaces which are modeled on the Linda tuple space. Methods defined in a JavaSpace: 1. Write: put a new entry into the JavaSpace. 2. Read: copy an entry that matches a template out of the JavaSpace. 3. Take: copy and remove an entry that matches a template. 4. Notify: notify the caller when a matching entry is written.
10
Grids A grid is a large, geographically dispersed, and usually heterogeneous collection of machines connected by a private network or the internet, and which offers a set of services to its users A grid is a large, geographically dispersed, and usually heterogeneous collection of machines connected by a private network or the internet, and which offers a set of services to its users The motivation for building a grid is that when an organization did not need all of its computing power another organization could use the excess power for its needs and vice versa The motivation for building a grid is that when an organization did not need all of its computing power another organization could use the excess power for its needs and vice versa A popular middleware in the grid world is the Globus toolkit which provides a framework for users to share computers, files, and other resources for building distributed applications A popular middleware in the grid world is the Globus toolkit which provides a framework for users to share computers, files, and other resources for building distributed applications 10
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.