The invention is a system and method for establishing a communication
connection between two programs, each running on multiple processors of a
distributed or shared memory parallel computer, or on multiple computers
in a cluster of workstations or a set of network connected workstations.
The invention includes all protocols that require one of the two programs
that wish to communicate to actively initiate the communication session,
while the other program passively accepts such direct communication
session initiations. No task of the active program of the connection will
attempt to communicate with tasks of the passive program until after it
has been notified that all passive program tasks are prepared to receive
messages, and that all other active program tasks are prepare to receive
messages from the passive programs tasks, and vice versa. Further, the
tasks of the passive program are free running during establishment of the
connection; while the active program tasks are free to run provided that
they do not attempt to communicate with the second program. Another aspect
of the invention provides a secondary indirect communication channel
mediated by as resource manager separate from the active and passive
programs.
Η εφεύρεση είναι ένα σύστημα και μια μέθοδος για μια σύνδεση επικοινωνίας μεταξύ δύο προγραμμάτων, κάθε μια που τρέχει στους πολλαπλάσιους επεξεργαστές ενός διανεμημένου ή κοινού παράλληλου υπολογιστή μνήμης, ή στους πολλαπλάσιους υπολογιστές σε μια συστάδα των τερματικών σταθμών ή ένα σύνολο συνδεδεμένων δίκτυο τερματικών σταθμών. Η εφεύρεση περιλαμβάνει όλα τα πρωτόκολλα που απαιτούν ενός από τα δύο προγράμματα που επιθυμούν να επικοινωνήσουν για να αρχίσουν ενεργά τη σύνοδο επικοινωνίας, ενώ το άλλο πρόγραμμα δέχεται παθητικά τέτοιες άμεσες ενάρξεις συνόδου επικοινωνίας. Κανένας στόχος του ενεργού προγράμματος της σύνδεσης δεν θα προσπαθήσει να επικοινωνήσει με τους στόχους του ενεργητικού προγράμματος μέχρι έχει δηλωθεί ότι όλοι οι ενεργητικοί στόχοι προγράμματος προετοιμάζονται για να λάβουν τα μηνύματα, και ότι όλοι οι άλλοι ενεργοί στόχοι προγράμματος είναι προετοιμάζονται να λάβουν τα μηνύματα από τους ενεργητικούς στόχους προγραμμάτων, και αντίστροφα. Περαιτέρω, οι στόχοι του παθητικού προγράμματος είναι ελεύθερο τρέξιμο κατά τη διάρκεια της καθιέρωσης της σύνδεσης ενώ οι ενεργοί στόχοι προγράμματος είναι ελεύθεροι να τρέξουν υπό τον όρο ότι δεν προσπαθούν να επικοινωνήσουν με το δεύτερο πρόγραμμα. Μια άλλη πτυχή της εφεύρεσης παρέχει ένα δευτεροβάθμιο έμμεσο κανάλι επικοινωνίας που μεσολαβούν κοντά ως διευθυντής των πόρων χωριστός από τα ενεργά και ενεργητικά προγράμματα.