Method and system for real-time synchronization across a distributed services communication network
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for progressively synchronizing stored copies of indexed media transmitted between nodes on a network. The system includes a transmitter at the sending node configured to progressively transmit available indexed media to a receiving node with a packet size and packetization interval sufficient to enable the near real-time rendering of the indexed media, wherein the near real-time rendering of the indexed media provides a recipient with an experience of reviewing the transmitted media live. The system also includes a receiver at the receiving node that progressively receives the transmitted indexed media and continually notes any indexed media that is not already locally stored at the receiving node. The receiver also continually generates and transmits to the sending node requests as needed for the noted indexed media. In response, the transmitter at the sending node transmits the noted indexed media to the receiving node. Both the sending node and the receiving node have storage elements configured to store the indexed media respectively. As a result, both the sending node and the receiving node each have synchronized copies of the indexed media.
225 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. Computer readable code embedded in a non-transient computer readable medium and intended to run on a client communication device, 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; a render control module configured to selectively render the voice media of the received messages on the client communication device in both, (a) a real-time mode as the voice media is received from the remote client communication device, and (b) a time-shifted mode by retrieving and rendering the received voice media from persistent storage, and a transmit module configured to progressively transmit the voice media of a select message from the client communication device to the remote client communication device by; (i) defining a transmission loop; (ii) determining the voice media of the select message available for transmission during the defined transmission loop; (iii) ascertaining bandwidth on a network coupling the client communication device and the remote client communication device during the transmission loop; (iv) comparing the ascertained bandwidth on the network with the bandwidth necessary to transmit the available voice media; and (v) transmitting the available voice media if the ascertained bandwidth is sufficient during the transmission loop. - View Dependent Claims (17, 18, 19)
-
Specification