One concept that ICE makes use of is to have two different confirmations:
1) Confirmation of delivery of the message. This means that the message
was physically received, and was parsed. This allows detection of
transmission errors.
2) The message was processed, and the processing was successful. This
includes retrieving values transmitted by references. This means that, in
ICE terms, the receiver has completely transitioned from its old state to
the new state. If the processing confirmation fails, in ICE that means
that the receiver remains in its original state. In more generic terms,
the receiver's behavior is atomic; it either successfully performs all of
the work that it should do in response to the message or none. This makes
reliable distributed systems much, much easier to implement.
Both confirmations are under the control of the sender. For example, a
syndicator may send out time-sensitive information such as stock ticker
values, where neither confirmation is useful since a new value will be
transmitted shortly, so there's no reason for the overhead of transmitting
and processing confirmations. On the other hand, another syndicator may
send inventory updates that are business-critical, with confirmations of
delivery and processing so that it can retransmit to any subscriber for
error recovery.
On Thu, 25 Jan 2001, Ray Denenberg wrote:
> Yin Leng Husband wrote:
>
> > DS5 A sender wishes to reliably exchange data with a receiver.
> > It wishes to be notified of the disposition of the data
> > delivery to the receiver, i.e.
> > either 1) that data has been successfully delivered to
> > the receiver,
> > or 2) of any failure or possible failure of delivery to
> > the receiver.
>
> How about changing "i.e. either" to "for example", thus:
>
> DS5 A sender wishes to reliably exchange data with a receiver.
> It wishes to be notified of the disposition of the data
> delivery to the receiver, for example,
> 1) that data has been successfully delivered to
> the receiver,
> or 2) of any failure or possible failure of delivery to
> the receiver.
>
>
>
> --
> Ray Denenberg
> Library of Congress
> rden@loc.gov
> 202-707-5795
>
>