Patent ID: 8559319

Claim:
Computer readable code embedded in a non-transient computer readable medium and intended to run on a client communication device having a transmission module arranged to create, persistently store and transmit outgoing voice messages and a reception module arranged to receive and persistently store incoming voice messages, the code comprising: a synchronization module configured to synchronize copies of persistently stored transmitted and received voice messages exchanged between the client communication device running the code and a remote client communication device, the synchronization module performing the synchronization until both the client communication device and the remote client communication device have persistently stored complete copies of both the voice messages transmitted by the client communication device to the remote client communication device and the voice messages received by the client communication device from the remote client communication device, wherein the synchronization may occur and complete after it is no longer possible to render at least one of the transmitted and received voice messages in real-time; and a render control module configured to selectively render the voice media of the received messages on the client communication device in both: (i) a real-time mode that progressively renders the voice media as a stream containing the voice media is received from the remote client communication device; and (ii) a time-shifted mode by retrieving and rendering the received voice media from persistent storage.