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/ | +----------------------------------+