GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



next up previous contents
Next: Creating and Destroying Endpoints Up: What Can GAT Do? Previous: Reserve a Resource Using   Contents

Interprocess Communication

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 up previous contents
Next: Creating and Destroying Endpoints Up: What Can GAT Do? Previous: Reserve a Resource Using   Contents
Andre Merzky 2004-05-13