Download Message Passing Tools for Software Integration

Transcript
trols window. The controller may then point his or her mouse on the displayed image and
press the mouse button. While the mouse button is held down, a fixed pointer will appear
at the same location on each participants' viewgraph window. When the mouse button is
released, the pointer will disappear from all participants windows. The controller may
freely load any images and point on them as desired.
The final state, from the point of view of a participant, is that where another participant owns control of the viewgraph. At this point the three buttons Take Control, Give Up
Control, and Load Image buttons will all be disabled. The name of the current controller
along with the name of the currently displayed image will appear in all participants' controls windows. When in this state, the participant may contentedly watch the presentation
and wait for the controller to give up control. Of course, the participant may also submit
images or quit from the session at any time.
2.3 Viewgraph Server
It is clear that there must be a high level of coordination amongst all participating viewgraph programs within a session. It is the job of the viewgraph server program to handle
this coordination. The idea is that when a new viewgraph session is desired, the viewgraph
server program is started and runs for the duration of the entire session. Then each participant starts-up their local viewgraph client, which will connect to the viewgraph server.
Clients may join in or leave a session at any time. Each client has the ability to communicate with the server by exchanging messages with it. Some messages will contain images
and be very large. When the server is busy handling such messages, busy will appear next
to Server in each clients' controls window, otherwise idle will appear. This status indication is to simply let the participants know that the server is busy working and may be sluggish at the moment in responding to other messages.
2.4 Defining the Messages
When designing integrated software, such as the viewgraph application, it is helpful to
define the messages which will be used in the communication. Since the viewgraph application consists of two programs, a client and a server, it is useful to think about which
messages will be received and sent by the server, and which messages will be received and
sent by the client. Complicating this process is the fact that a server and multiple clients
Page 28