DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

37
DISTRIBUTED COMPUTING PARADIGMS

Transcript of DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Page 1: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

DISTRIBUTED COMPUTING PARADIGMS

Page 2: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Paradigm?

A MODEL

2for notes http://bhaskar22.ucoz.com/

Page 3: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Distributed Computing Paradigms and

their level of abstraction

3for notes http://bhaskar22.ucoz.com/

Page 4: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Paradigms for Distributed Appl’nsMessage passing ParadigmClient-Server ParadigmPeer-to-Peer ParadigmMessage System ParadigmRemote Procedure call Paradigm

4for notes http://bhaskar22.ucoz.com/

Page 5: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message Passing ParadigmThe basic approach to interprocess

communications is message passing.

The data representing messages are exchanged between two processes, a sender and a receiver.

A Process sends a message representing a request. The message is delivered to a receiver, which processes the request and sends a message in response.

5for notes http://bhaskar22.ucoz.com/

Page 6: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message Passing ParadigmThe basic operations required to support the

message-passing paradigm are send and receive.The abstraction provided by this model, the

interconnected processes perform input and output to each other, in a manner similar to file input and output.

As with file I/O, the operations serve to encapsulate the detail of network communication at the operating system level, so that a programmer may make use of the operations to send and receive message without having to deal with underlying detail.

6for notes http://bhaskar22.ucoz.com/

Page 7: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message Passing Paradigm

7for notes http://bhaskar22.ucoz.com/

Page 8: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Client-Server ParadigmThe best known paradigm for network

applications, the client-server model.

One process, the server, plays the role of service provider, waiting passively for the arrival of requests.

The Other process, the client issues specific requests to the server and awaits the server’s response.

8for notes http://bhaskar22.ucoz.com/

Page 9: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Client-Server ParadigmThe client-server model provides an efficient

abstraction for the delivery of network services.

Operations required include those for a server process to listen and to accept requests, and for a client process to issue requests and accepts responses.

9for notes http://bhaskar22.ucoz.com/

Page 10: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Client-Server Paradigm

10for notes http://bhaskar22.ucoz.com/

Page 11: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Peer-to-peer ParadigmThe client – server paradigm has the role for

server fixed to be a listener, it cannot initiate any action.

The peer-to-peer paradigm, the participating processes play equal roles, with equivalent capabilities and responsibilities.

Each participant may issue a request to another participant and receive a response..

11for notes http://bhaskar22.ucoz.com/

Page 12: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

PEER-TO-PEER

12for notes http://bhaskar22.ucoz.com/

Page 13: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message System Paradigm(MOM)Also called as Message-Oriented

Middleware(MOM) paradigm.

In this paradigm a message system serves as an intermediary among separate, independent processes.

The message system acts as a switch for messages through which processes exchange messages asynchronously, in a decoupled manner.

13for notes http://bhaskar22.ucoz.com/

Page 14: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message System ParadigmA sender deposits a message with the

message system, which forwards it to a message queue associated with each receiver.

Once a message sent, the sender is free to move on to other tasks.

14for notes http://bhaskar22.ucoz.com/

Page 15: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message System Paradigm

15for notes http://bhaskar22.ucoz.com/

Page 16: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Point-to-Point Message ModelIn this paradigm, a message system forwards

a message from the sender to the receiver’s message queue.

Unlike the basic message-passing model, the middleware provides a message repository and allows the sending and receiving to decoupled. Via the middleware, a sender deposits a message in the message queue of the receiving process.

16for notes http://bhaskar22.ucoz.com/

Page 17: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Point-to-Point Message ModelA receiving process extracts the messages

from its message queue and handles each message accordingly.

Compared to the basic message-passing model, the point-to-point message paradigm provides an additional abstraction for asynchronous operations.

17for notes http://bhaskar22.ucoz.com/

Page 18: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Publish/subscribe Message ModelIn this model, each message is associated

with a specific topic or event.

Applications interested in the occurrence of a specific event may subscribe to messages for that event.

When the awaited event occurs, the process publishes a message announcing the event or topic.

18for notes http://bhaskar22.ucoz.com/

Page 19: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Publish/subscribe Message ModelThe publish/subscribe message model offers

a powerful abstraction for multicasting or group communcation.

The publish operation allows a process to multicast to a group of processes, and the subscribe operation allows a process to listen for such a multicast.

19for notes http://bhaskar22.ucoz.com/

Page 20: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RPC ModelThe message passsing model works well for basic

network protocols and for basic network applications.

As applications grew increasingly complex, it became necessary for further abstractions to be provided for network programming.

In particular, it was desirable to have a paradigm that allows distributed software to be programmed in a manner similar to convetional applications that run on a single processor.

20for notes http://bhaskar22.ucoz.com/

Page 21: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RPC ModelThe Remote Procedure Call(RPC) provides

such an asbstraction.

In this model, communication between two processes is carried out using a concept similar to that for a local procedure call, which is familiar to application programmers.

21for notes http://bhaskar22.ucoz.com/

Page 22: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RPC ModelA remote procedure call involves two

independent processes, which may reside on separate machines.

A process A, wishing to make a request to another process B, issues a procedure call to B, passing with the call a list of argument values.

A remote procedure call triggers a predefined action in a procedure provided by process B.

22for notes http://bhaskar22.ucoz.com/

Page 23: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RPC ModelAt the completion of the procedure, process

B returns a value to process A.

RPC allows programmers to build network applications using a programming construct similar to the local procedure call, providing a convenient abstraction for both interprocess communications and event synchronization.

23for notes http://bhaskar22.ucoz.com/

Page 24: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RPC Model

24for notes http://bhaskar22.ucoz.com/

Page 25: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Distributed Objects ParadigmsRMIORBThe Object space ParadigmThe Mobile Agent ParadigmThe Network services ParadigmThe Groupware Paradigm

25for notes http://bhaskar22.ucoz.com/

Page 26: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

RMIRemote Method Invocation is the Object

Oriented Equivalent of RPC.

In this model, a process invokes the methods in an object, which may reside on the remote host.

26for notes http://bhaskar22.ucoz.com/

Page 27: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

ORBObject Request Broker Paradigm

A Process issues request to an appropriate object that provides the desired service.

The paradigm closely resembles the RMI model in its support for remote objects.

27for notes http://bhaskar22.ucoz.com/

Page 28: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

ORBThe difference is that the object request

broker in this paradigm functions as middleware, allowing an application, as an object requestor, to potentially access multiple remote objects.

The request broker may also function as a mediator for heterogenous objects

28for notes http://bhaskar22.ucoz.com/

Page 29: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Object Space ParadigmThe object space paradigm assumes the

existence of logical entities known as object spaces.

The participants of an application converge in a common object space.

A provider places objects as entries into an object space, and requestor who subscribe to the space may access the entries.

29for notes http://bhaskar22.ucoz.com/

Page 30: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Mobile Agent ParadigmMobile Agent is a transportable program or

object.

An agent is launched from an originating host.

The agent then travels autonomously from host to host according to an itinerary that it carries.

The paradigm offers the abstraction for a transportable program or object.

30for notes http://bhaskar22.ucoz.com/

Page 31: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Mobile Agent ParadigmIn lieu of message exchanges, data is carried

by the program/object as the program is itself transported among the participants.

31for notes http://bhaskar22.ucoz.com/

Page 32: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Network Services ParadigmService providers register themselves with

directory servers on a network.

A process desiring a particular service contacts the directory server at runtime, and, if the service is available, the process will be provided a reference to the service.

Using this reference the process interacts with the service.

32for notes http://bhaskar22.ucoz.com/

Page 33: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Network Services ParadigmThis paradigm is essentially an extension of

the Remote Method Invocation paradigm.

The difference is that service objects are registered with a global directory service.

33for notes http://bhaskar22.ucoz.com/

Page 34: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Collaborative Application ModelIn this model for computer-supported

cooperative work,Processes participate in a collaborative

session as a group.The two categories of the groupware models

are:Message Based Group wareWhite Based Group ware

34for notes http://bhaskar22.ucoz.com/

Page 35: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Message based groupwareOne participant initiates a group, to be joined

and all the interested participants join in it.

Message is multicasted among all the participants.

35for notes http://bhaskar22.ucoz.com/

Page 36: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Whiteboard based groupwareAll the participants share a virtual white

board.

One person writes a message on it.

All other participants can view that message and responds to it.

36for notes http://bhaskar22.ucoz.com/

Page 37: DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes

Choosing a Paradigm

37for notes http://bhaskar22.ucoz.com/