Next: Creating and Destroying Endpoints
Up: What Can GAT Do?
Previous: Reserve a Resource Using
  Contents
Up to this point the only manner in which GAT facilitates interprocess communication is through the AdvertService.
If this were the only means of interprocess communication GAT offered, GAT would be hobbled
at the knees and should be put down. GAT, however, offers more then this.
Talking on the phone with someone is something everyone is familiar with. (``Hey, Joe. What's up?'' ``Nothin' Ed.'' ``Joe,
you got any of them real clean white shirts?'' ) You obtain a phone connection from the phone company, and,
if you want them to, they list your phone number in the phone book. Other people interested in calling you can look up
you phone number in the phone book and call you. If you are home when they call, the two of you can talk. ( <flame>
In this world of far to many mobile phones, this occurs far to often and always at the wrong time.</flame> )
This simple model of a phone call also extends to the model of interprocess communication used by GAT.
A process, if it wishes to be contacted by other processes, creates an Endpoint and places this Endpoint in an
AdvertService. ( This Endpoint is the analog of a phone number and the AdvertService is the analog of the phone
book. ) This process then ``waits by the phone'' ``listening'' for any ``incoming calls.'' If a second process wishes
to contact this first process, it looks up the first process' Endpoint in the AdvertService, removes it, and uses it to
try and open a channel of communication between the two process. If the first process was ``waiting by the
phone'' when the second process ``calls,'' it receives the ``call'' and a communication channel is established
through which the two processes can exchange data. The model is relatively straight forward. Lets look in a bit
more detail at the various abstractions involved.
Subsections
Next: Creating and Destroying Endpoints
Up: What Can GAT Do?
Previous: Reserve a Resource Using
  Contents
Andre Merzky
2004-05-13
|