[Pipet Devel] node-to-node communication: you can have it 3 ways!

J.W. Bizzaro bizzaro at geoserve.net
Sat Mar 18 09:47:44 EST 2000


Loci was called a 'connectivity broker' for a good reason: It wasn't going to
dictate the protocol to be used between nodes.  So, a way for Overflow to
communicate with other Overflows running across the Internet, is to let
Overflow establish its own line of communication.  Here is a flowchart
illustrating that:


                           +--------+
                  (HOST A) |  Loci  |
                           +--------+
                              | /|\
                              |  |
                        LOCAL |  | LOCAL
                              |  |
                             \|/ |
                           +--------+
                  (HOST A) |  GMS   |
                           +--------+
                              | /|\
                              |  |
                              |  |
                             /    \
                            /      \
                           /        \
               INTERNET   /          \   INTERNET
                         /            \
                        |              |
                        |              |
                       \|/             |
                  +--------+        +--------+
        (HOST B)  |  GMS   |        |  GMS   |  (HOST C)
                  +--------+        +--------+
                    |                     /|\
             LOCAL  |                      |   LOCAL
                    |                      |
                   /                        \
  +----------+/___/                          \____+----------+
  |          |\                                   |          |
  | Overflow |                                    | Overflow |
  |          |___________________________________\|          |
  +----------+        OVERFLOW'S PROTOCOL        /+----------+
    (HOST B)                                        (HOST C)


Now if Overflow wraps foreign applications, Overflow can directly control
node-to-node communication while GMS 'brokers' (one broker; 1st approach to
node-to-node communication):


                           +--------+
                  (HOST A) |  Loci  |
                           +--------+
                              | /|\
                              |  |
                        LOCAL |  | LOCAL
                              |  |
                             \|/ |
                           +--------+
                  (HOST A) |  GMS   |
                           +--------+
                              | /|\
                              |  |
                              |  |
                             /    \
                            /      \
                           /        \
               INTERNET   /          \   INTERNET
                         /            \
                        |              |
                        |              |
                       \|/             |
                  +--------+        +--------+
        (HOST B)  |  GMS   |        |  GMS   |  (HOST C)
                  +--------+        +--------+
                    |                     /|\
             LOCAL  |                      |   LOCAL
                    |                      |
    (HOST B)       /                        \       (HOST C)
  +----------+/___/                          \____+----------+
  |          |\                                   |          |
  | Overflow |                                    | Overflow |
  |          |___________________________________\|          |
  +----------+        OVERFLOW'S PROTOCOL        /+----------+
      | /|\                                           | /|\
      |  |   LOCAL                             LOCAL  |  |
     \|/ |                                           \|/ |
  +----------+                                    +----------+
  |   App.   |                                    |   App.   |
  +----------+                                    +----------+
    (HOST B)                                        (HOST C)


But in some circumstances (e.g., when the foreign app has its own protocol),
both Overflow and GMS can 'broker' (not directly control) node-to-node
communication (two brokers; 2nd approach):


                           +--------+
                  (HOST A) |  Loci  |
                           +--------+
                              | /|\
                              |  |
                        LOCAL |  | LOCAL
                              |  |
                             \|/ |
                           +--------+
                  (HOST A) |  GMS   |
                           +--------+
                              | /|\
                              |  |
                              |  |
                             /    \
                            /      \
                           /        \
               INTERNET   /          \   INTERNET
                         /            \
                        |              |
                        |              |
                       \|/             |
                  +--------+        +--------+
        (HOST B)  |  GMS   |        |  GMS   |  (HOST C)
                  +--------+        +--------+
                    |                     /|\
             LOCAL  |                      |   LOCAL
                    |                      |
    (HOST B)       /                        \       (HOST C)
  +----------+/___/                          \____+----------+
  |          |\                                   |          |
  | Overflow |                                    | Overflow |
  |          |                                    |          |
  +----------+                                    +----------+
      |                                                 /|\
      |  LOCAL                                    LOCAL  |
     \|/                                                 |
  +----------+                                    +----------+
  |   App.   |___________________________________\|   App.   |
  +----------+           ANY PROTOCOL            /+----------+
    (HOST B)                                        (HOST C)


And in other circumstances, GMS may directly control node-to-node
communication (no brokers; 3rd approach):


                           +--------+
                  (HOST A) |  Loci  |
                           +--------+
                              | /|\
                              |  |
                        LOCAL |  | LOCAL
                              |  |
                             \|/ |
                           +--------+
                  (HOST A) |  GMS   |
                           +--------+
                              | /|\
                              |  |
                              |  |
                             /    \
                            /      \
                           /        \
               INTERNET   /          \   INTERNET
                         /            \
                        |              |
                        |              |
                       \|/             |
                  +--------+        +--------+
        (HOST B)  |  GMS   |_______\|  GMS   |  (HOST C)
                  +--------+       /+--------+
                    |  /|\             |  /|\
             LOCAL  |   |              |   |   LOCAL
                    |   |              |   |
    (HOST B)       /   /               \    \       (HOST C)
  +----------+/___/   /                 \    \____+----------+
  |          |\      /                   \        |          |
  | Overflow |______/                     \______\| Overflow |
  |          |                                   /|          |
  +----------+                                    +----------+
      | /|\                                           | /|\
      |  |   LOCAL                             LOCAL  |  |
     \|/ |                                           \|/ |
  +----------+                                    +----------+
  |   App.   |                                    |   App.   |
  +----------+                                    +----------+
    (HOST B)                                        (HOST C)


I think we can make use of all 3 approaches and choose between none, one and
two brokers, depending on the circumstances.

Comments please.

Cheers.
Jeff
-- 
                      +----------------------------------+
                      |           J.W. Bizzaro           |
                      |                                  |
                      | http://bioinformatics.org/~jeff/ |
                      |                                  |
                      |        BIOINFORMATICS.ORG        |
                      |           The Open Lab           |
                      |                                  |
                      |    http://bioinformatics.org/    |
                      +----------------------------------+




More information about the Pipet-Devel mailing list