[Info-vax] VMS process communication
Dave Froble
davef at tsoft-inc.com
Tue Sep 13 16:59:40 EDT 2022
On 9/13/2022 4:23 PM, Bob Gezelter wrote:
> On Tuesday, September 13, 2022 at 1:52:35 PM UTC-4, Simon Clubley wrote:
>> On 2022-09-13, Bob Gezelter <geze... at rlgsc.com> wrote:
>>>
>>> My compliments. I know all too well how much effort it takes to produce such a compendium.
>>>
>>> As has been observed, mailboxes are not included.
>>>
>>> DECnet Task-to-Task would also make a useful addition. While DECnet does
>>> not include encryption, an omission that I have been quietly outraged by
>>> for decades, when tunneled over an encrypted IP tunnel OR used locally, it
>>> is quite useful. DECnet logical links are message-based, unlike
>>> stream-based TCP sockets, which does simplify programming to an extent.
>> However, encryption only protects the data while it is in transit. It does
>> nothing to stop attacks against the protocol stack in the target server
>> itself if the client has access to the target server.
>>>
>>> Both network-based techniques have a significant synchronization
>>> advantage over shared memory techniques. When either partner of a TCP
>>> socket or a DECnet logical link exits, the corresponding partner is
>>> automatically notified, allowing the appropriate steps to be taken.
>>> Detecting a failed correspondent is far more complex with shared memory
>>> techniques. Network links are also atomic. A message is sent or not, there
>>> are no partial messages. Shared memory approaches have the inherent danger
>>> that an update may be incomplete, corrupting the shared data structure.
>>>
>> The no-partial-message guarantee is only true for stream protocols if you
>> implement something on top of the stream protocol that guarantees you have
>> received a full message.
>>
>> In a stream protocol, just because the transmitter sent 4000 bytes, there's
>> no guarantee that all 4000 bytes were delivered to the receiver before
>> some connection interruption occurred.
>>
>> Simon.
>>
>> --
>> Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
>> Walking destinations on a map are further away than they appear.
> Simon,
>
> I mentioned message framing, although may phrasing may have been very soft. Of course, when using a stream connection, there is no mapping between QIO on the sender and the receive at the recipient. The only guarantee is that the bytes will be delivered in order. If the connection is severed, the results are "undefined." [If memory serves, Gene Amdahl was credited with that phrasing, which appeared in the IBM Systems/360 Principles of Operation manual.]
That's what "handshakes" are for.
Hey, I want to send some data, 4000 bytes ...
Ok, ready to receive data ...
Send the data, wait for a response ...
Ok, received 4000 bytes ...
Anything else would be considered a failure.
In addition, checksums and such could be included to insure the 4000 bytes sent
is the same 4000 bytes received.
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list