The present invention extends to methods, systems, and computer program
products for reliable messaging using clocks with synchronized rates.
Embodiments of the present invention insure at-most-once delivery of
messages. A source and a destination utilize clocks with synchronized
rates. Messages are assigned Time-To-Live ("TTL") values such that state
information is updated the source and removed at the destination when a
corresponding message timer based on a TTL value expires. Accordingly,
resources consumed to maintain state information at the destination can
be freed up in a shorter period of time. The source can retransmit state
information to the message destination if relevant state information has
been removed. Message processor instance IDs insure at-most-once delivery
when a message destination suffers an involuntary memory loss.
Embodiments of the present invention can also be used for
exactly-once-delivery, for example, when TTL values are infinite and
instance IDs are not used.