Phoenix Presence establishes a synthetic clock (tracking which sets of
data incorporate other ones) and a truth maintenence system. So, it can
used to maintain a "mostly correct" concensus on arbitrary data items
across a distributed network of processing nodes.
This changes the rules (at least somewhat) on message reliavbility. As
I understand it, Erlang makes no strong guarantees about delivery time,
order, etc. However, Presence supplies a partial solution.
It will be interesting to see what folks use it for. The authors have
already proposed using it for user and session tracking and resource
discovery. Other use cases seem likely, as developers find ways to
solve problems using this approach.
There may be some other low-hanging fruit that could be added in this
area. For example, see the following extract from RFC 3453.
-r
The Use of Forward Error Correction (FEC) in Reliable Multicast
...
This memo describes the use of Forward Error Correction (FEC)
codes to efficiently provide and/or augment reliability for
one-to-many reliable data transport using IP multicast. One of
the key properties of FEC codes in this context is the ability
to use the same packets containing FEC data to simultaneously
repair different packet loss patterns at multiple receivers.
...
--
https://www.ietf.org/rfc/rfc3453.txt
...
--
http://www.cfcl.com/rdm Rich Morin
r...@cfcl.com
http://www.cfcl.com/rdm/resume San Bruno, CA, USA
+1 650-873-7841
Software system design, development, and documentation