Distributed Objects Binding a Client to an Objectistoica/classes/cs194/05/notes/3-ObjMsg.pdf · 1...

Post on 27-Mar-2020

1 views 0 download

Transcript of Distributed Objects Binding a Client to an Objectistoica/classes/cs194/05/notes/3-ObjMsg.pdf · 1...

1

EECS122 - UCB 1

CS 194:Distributed Systems

Remote Object Invocation, Message-Oriented Communications

(Based on textbook slides)

Computer Science DivisionDepartment of Electrical Engineering and Computer Sciences

University of California, BerkeleyBerkeley, CA 94720-1776

Outline�

Remote Object Invocation

• Message Oriented Communication

• Stream-Oriented Communications

Distributed Objects

• Common organization of a remote object with client-side proxy.

2-16

like client stublike server stub

Binding a Client to an Object

a) An example with implicit binding using only global references

b) An example with explicit binding using global and local references

��� � � � ��� � ���� ���� � ��� ��� � � � ������ ��� ����� � � � ������� ������ � ������ ��� ��� �� !� ��� � ��� ���#"%$&� � �(' �� � � ��� � ) �*� +��� ��� ��� �� � �,� �����-� � � � � �.�� ������ � ������ � ��� ��� / 01������ ������� +�� 2-3 4 � � �(' ��5�� � ��� � � ���� �6�� �7� �8 ��9 ���*����� +���

3 ��4��� � � � ��� � ������� � :� ��� � � � ������ ��� ����� � � � ������� ������ � ������ ��� ��� �� !� �; �� ��� ���� � ���� ���� � ��5�� � � � � ������ ��� ���65���� �� ���<� �*� �� ����� � ����� ��� � ��� ���#"%$&� � � ' �� � � ��� � ) �6� +��� ��� ��� �� � �*� ������� � � � � .�� ��*�� � ������� � ��5�� �("=�� ��3 �� � ��� ��� 4 � � � > ?�5�� � ��� � � ���� �6�� �6���� ��� ,�*5��� �� ���<� �6� +�*� �� ���5�� ��? ��� � ��5�� �</ 01������� ���,��� +�� �2�3 4 � � � ' 8 ��9 ���*�,��� +���6�� 6� +�*� �� ����5�� ��? �

3 �4

Parameter Passing• The situation when passing an object by reference or by value

– Copy local object

– Send only reference to remote object

2-18

The DCE Distributed-Object Modela) Distributed dynamic objects in DCE.b) Distributed named objects

2

Outline

• Remote Object Invocation�

Message Oriented Communication

• Stream-Oriented Communications

Persistence and Synchronicity in Communication (1)

• General organization of a communication system in which hosts are connected through a network

2-20

Persistence and Synchronicity in Communication (2)

• Persistence– Message is stored in the network or at the receiving

machine as long as it takes to be delivered

– E.g., mail system

• Synchronicity– Sender blocks until the receiver gets the message

Persistence and Synchronicity in Communication (3)

• Persistent communication of letters back in the days of the PonyExpress.

Persistence and Synchronicity in Communication (4)

a) Persistent asynchronous communicationb) Persistent synchronous communication

2-22.1

Persistence and Synchronicity in Communication (5)

c) Transient asynchronous communicationd) Receipt-based transient synchronous communication

2-22.2

3

Persistence and Synchronicity in Communication (6)

e) Delivery-based transient synchronous communication at message delivery

f) Response-based transient synchronous communication

Outline

• Remote Object Invocation�

Message-Oriented Communication�

Message-Oriented Transient Communication� Message-Oriented Persistent Communication

• Stream-Oriented Communications

Berkeley Sockets (1)

• Socket primitives for TCP/IP.

����� ���� �6� +��� �� � ����� � �� ��� �� ������ ��� 8 ��� ����������� ���8 ���<� +��� �� � ����� � �� ��� ��� 8 ���� ��6� ����������� ����8 ���<� +��� �� � ����� � �� ��� ������ � 8 ��� ����� � ����5�� � ����� � ���� � � +���� �� ����� � �� ���� � �����-� ����9&� ��� � ��� .� �� � ���� �� � ����� � �� �� ����.��� ����� � � 8 ������ � ��5��� � ��.� � ��� � � � � 2� ��� � � ���� � ��5���� �� � ����� � �� �; � � � �� � � � ���+���� ��� ���������� �� ��� ����� ����9 ������ ���� ����� ���, �� � ������.� �� � ��� � �� ,�� ��5���� �������9 ���� ����� ������ � ��� � � ��

Berkeley Sockets (2)

• Connection-oriented communication pattern using sockets.

The Message-Passing Interface (MPI)

• Some of the most intuitive message-passing primitives of MPI.

��+����9�� ��� +���� ��� �(�� �� � ����� !2 ���� � ��2�� ���.��-���6 ���� �� ���9�(:' ��� � ��� 8����� ��� 8 ���*����� � ��2���� �� ����9�� � � +��� ����� �� �� ��(:' ��� ��� 8:!�� ��� ��� ��� �� � ��� ����.�� 2���� 2 ���� � ��2�� ���� ���&��� ��.� �� � ��� �� ��� 5���� � ��� � ��(:' ��� � � �� �:!�� ��� ��� ��� �� � ��� ����.�� 2���� 2 ���� � ��2�� ���� ��� �� �� � �.��(:' ��� � �� ���� ��6������� � ��2����� ���&��� � � ��� � ��5� ��(:' �� �� �-� ��� 8��� ��6������� � ��2����� ���&��� ��.� �� � ��� �� ��� 5���� � ��� � ��(:' �� � �� ���� ��6������� � ��2����� ���&��� ��.� �� � � � ��5�� �� � �*� �� ���!���<� ������� �*�.�� � ����(:' �� �� �� 5�5�� �����.�� 2���� 2*����� � ��2��*� ���*� �� ���� �� �*�.�� � ����(:' ��� �� ��� ����� ������ � ��� � � ��

Outline

• Remote Object Invocation�

Message-Oriented Communication• Message-Oriented Transient Communication�

Message-Oriented Persistent Communication

• Stream-Oriented Communications

4

Message-Queuing Model (1)

• Four combinations for loosely-coupled communications using queues.

2-26

Message-Queuing Model (2)

• Basic interface to a queue in a message-queuing system.

' � � ��� ��*+�� ��� ��� � �*��� ��� � ������+�� ��*�,��� � �2��6� �(5�.�� � �� �*� +��� 5����� � � ���-.��.��������� � � ���+����9&��� 5����� � � �� ��.���.�,� ���<����� � �2���� ���� �*� ������8 �6� +�*� � � � � ���-��8 ���<�� ���9��: ��� ���� ����9�.� �� � �� +���� 5��� � � � ��� ��.��.�*� � �� �����5�� ������ � � ������8 �6� +�*� � � � � ���� � ��2�������� 5�5��� ���*���� � ��2��*� ����� 5��� � � � ��� ��.��.�:�.�� ����� ������ � ��� � � ��

General Architecture of a Message-Queuing System (1)

• The relationship between queue-level addressing and network-level addressing.

General Architecture of a Message-Queuing System (2)

• The general organization of a message-queuing system with routers.

2-29

Message Brokers

• The general organization of a message broker in a message-queuing system.

2-30

Example: IBM MQSeries

• General organization of IBM's MQSeries message-queuing system.

2-31

5

Channels

• Some attributes associated with message channel agents.

� ��?�� ��.�� � � ���� � � �*��� � ��� � ��� �*5�.���� ��� ��� 8 ���*�,��� � �2��6� �� � ��.��.������ � 8 ��� ��� ��� � � �����5���� � � ��(����?�� ��.�� �.�� ��� ����� ��� � � ����� ��� � ��� � .5*� +��� ������� � � � ������ .�5�� ��� � �

� ��.� ��

� ��?�� ��.�� � �� 2-� +�������� � !2-� �6����� � �2��� ��� � ��2��*� �� 2�� +' �-� � ��� ��� � +��������� � �2����(��� �*� �*������� � 8 ��� ���7� 6� +������ ����� � +�� ��� ��� �� ��� ' ��� ����� � 8 ��� ������ ��� ��� ����� +��6� � �� �� 5��� � 5�� ��� �� ����� �*�*.� ���-� �� � 5��� � � ��5�� ���� � � �� � ��� � � � � �� ��

Message Transfer (1)

• The general organization of an MQSeries queuing network using routing tables and aliases.

Message Transfer (2)

• Primitives available in an IBM MQSeries MQI

����������������������� � !�"��#�$ �%��!$ &('!)*�!)��+�,(�����

-�)��.�/�0���������1�32 4�� ��!45 !67�!4���89'!)��!)7�+�,:6�)��

;�$ ����9��'!)��!)��+�,(%1$ ����

<:6��!45��# 6� ����12 =�$ >�� �!�0 �� ��&('!)���)��+�,( !6��!4

?(@�A�B!C�D E�F1D G�HI.C�D JKD F1D L�@

Outline

• Remote Object Invocation

• Message-Oriented CommunicationM

Stream-Oriented Communications

Data Stream (1)

• Setting up a stream between two processes across a network.

Data Stream (2)

• Setting up a stream directly between two devices.

2-35.2

6

Data Stream (3)

• An example of multicasting a stream to several receivers.

Specifying QoS (1)

• A flow specification.

� ��������������� � �� ��� ���� ������ ��������� � �� ������� µ �������� ����� �� �� � ����������� � �� ��� ! �� ������ ���� "#� �� $%��$&! �� ���'��� � ����!%� µ ��� ���� "(��)� $%��$&!��� ���#���� � �� � �%� µ ��� ���� *����� � ����+-,���� �� ���

� $#��) � $%� $&!��� �'� �� -��� .��%� ���� � ���� /0�1��2������13�� -� �� �������� � ��4��������� /0�1��'� ����13�� 0��� .��%� ���� ������ "(��)� $%��$5 � ����$%� ����� �%� �� ������� ����4��������

6�@ C L�D B�@'7.@�8-9�D C @:;�<�=�C =�B�F�@ C�D A7F1D B�A0G�>�F�<�@�?�H�E09�F

Specifying QoS (2)

• The principle of a token bucket algorithm.

Setting Up a Stream

• The basic organization of RSVP for resource reservation in a distributed system.

Synchronization Mechanisms (1)

• The principle of explicit synchronization on the application level data units.

Synchronization Mechanisms (2)

• The principle of synchronization as supported by high-level interfaces.

2-41