Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol
Abstract
A method and apparatus for transmitting voice media over a network where the voice media may be consumed either in a real-time mode or a time-shifted mode. The method comprising transmitting the voice media over the network using a network efficient protocol when either (i) the media is not being consumed in the real-time mode or (ii) the condition on the network is good enough to support the real-time transmission and consumption of the voice media in the real-time mode. Alternatively, the voice media is transmitted using a loss tolerant transmission protocol when the media is being consumed in the real-time mode and the condition on the network is sufficiently poor to prevent the real-time consumption of the voice media in real-time using the network efficient protocol. The apparatus, which may be a communication device or a server, implements the above-described method.
Claims
exact text as granted — not AI-modified1 - 17 . (canceled)
18 . A method for transmitting media from a node to one or more recipients over a network using either a network efficient protocol or a loss tolerant protocol, the method comprising:
(a) ascertaining if media available for transmission is or will be consumed in real-time by any of the one or more recipients; and either: (b) transmitting the media from the node over the network to the one or more recipients using the loss tolerant protocol when:
(i) at least one of the one or more recipients is or will be consuming the media in real-time; and
(ii) the available bandwidth on the network is not good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol; or
(c) transmitting the media from the node over the network to the one or more recipients using the network efficient protocol when:
(iii) none of the one or more recipients is or will be consuming the media in real-time; or
(iv) one or more of the recipients is or will be reviewing the media in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol.
19 . The method of claim 18 , wherein the network efficient protocol is TCP.
20 . The method of claim 18 , wherein the network efficient protocol guarantees the delivery of a complete copy of the media transmitted to the one or more recipients.
21 . The method of claim 18 , wherein the loss tolerant protocol is UDP.
22 . The method of claim 18 , wherein the loss tolerant protocol is tolerant of the loss of packets containing bits representative of the media during transmission.
23 . The method of claim 18 , further comprising:
identifying the media transmitted using the loss tolerant protocol; and re-transmitting at least a portion of the identified media using the network efficient protocol.
24 . The method of claim 23 , wherein re-transmitting the at least a portion of the identified media comprises one of the following:
(i) re-transmitting the identified media in full; or (ii) re-transmitting just the defective or media lost when transmitting using the loss tolerant protocol.
25 . The method of claim 23 , wherein the identified media is re-transmitted when bandwidth on the network in excess of what is needed for real-time communication is available on the network.
26 . The method of claim 18 , further comprising repeatedly defining transmission loops and performing (a) and either (b) or (c) for the media available for transmission during each transmission loop respectively.
27 . The method of claim 18 , further comprising determining from presence information associated with each of the one or more recipients if the media available for transmission is or will be consumed by any of the one or more recipients in real-time.
28 . The method of claim 18 , wherein the media is time-based media that changes over time.
29 . The method of claim 18 , wherein the consumption of the media in real-time further comprises one of the following:
(i) the rendering of the media “live” as the media is created and transmitted; or (ii) the rendering of previously created and stored media streamed from storage.
30 . The method of claim 18 , further comprising:
defining the network efficient protocol as a default protocol when initially transmitting the media; and switching the transmission of the media from the network efficient protocol to the loss tolerant protocol when:
the media is or will be consumed in real-time; and
the available bandwidth on the network is not good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol.
31 . The method of claim 18 , further comprising:
defining the loss tolerant protocol as a default protocol when initially transmitting the media; and switching the transmission of the media from the loss tolerant protocol to the network efficient protocol when either:
(i) the media is not being consumed in real-time; or
(ii) the media is being consumed in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol
32 . The method of claim 18 , further comprising ascertaining the bandwidth condition on the network by determining when a transmission buffer used for buffering the media for transmission at the node backs-up beyond a predetermined threshold or overflows during the transmission of the media.
33 . The method of claim 18 , wherein the media comprises one of the following: voice, video, sensor data, GPS data, text, pictures, or any combination thereof.
34 . A communication application embedded in a non-transient computer readable medium and intended to run on a communication device, the application comprising:
a transmission module, the transmission module configured to: (a) ascertain if media available for transmission is or will be consumed in real-time by any of one or more recipients; and either: (b) transmit the media over a network to the one or more recipients using the loss tolerant protocol when:
(i) at least one of the one or more recipients is or will be consuming the media in real-time; and
(ii) the available bandwidth on the network is not good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol; or
(c) transmit the media over the network to the one or more recipients using the network efficient protocol when:
(iii) none of the one or more recipients is or will be consuming the media in real-time; or
(iv) one or more of the recipients is or will be reviewing the media in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol.
35 . The application of claim 34 , wherein the network efficient protocol is TCP.
36 . The application of claim 34 , wherein the network efficient protocol guarantees the delivery of a complete copy of the media transmitted to the one or more recipients.
37 . The application of claim 34 , wherein the loss tolerant protocol is UDP.
38 . The application of claim 34 , wherein the loss tolerant protocol is tolerant of the loss of packets containing bits representative of the media during transmission.
39 . The application of claim 34 , wherein the transmission module is further configured to:
identify the media transmitted using the loss tolerant protocol; and re-transmit at least a portion of the identified media using the network efficient protocol.
40 . The application of claim 39 , wherein the transmission module is further configured to re-transmit by performing one of the following:
(i) re-transmitting the identified media in full; or (ii) re-transmitting just media lost when transmitting using the loss tolerant protocol.
41 . The application of claim 39 , wherein the transmission module is further configured to re-transmit when bandwidth on the network in excess of what is needed for real-time communication is available on the network.
42 . The application of claim 34 , wherein the transmission module is further configured to repeatedly define transmission loops and perform (a) and either (b) or (c) for the media available for transmission during each transmission loop respectively.
43 . The application of claim 34 , wherein the transmission module is further configured to determine from presence information associated with each of the one or more recipients if the media available for transmission is or will be consumed by any of the one or more recipients in real-time.
44 . The application of claim 34 , wherein the media is time-based media that changes over time.
45 . The application of claim 34 , wherein the consumption of the media in real-time comprises one of the following:
(i) the rendering of the media “live” as the media is created and transmitted; or (ii) the rendering of previously created and stored media streamed from storage.
46 . The application of claim 34 , wherein the transmission module is further configured to:
define the network efficient protocol as a default protocol when initially transmitting the media; and switch the transmission of the media from the network efficient protocol to the loss tolerant protocol when:
the media is or will be consumed in real-time; and
the available bandwidth on the network is not good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol.
47 . The application of claim 34 , wherein the transmission module is further configured to:
define the loss tolerant protocol as a default protocol when initially transmitting the media; and switch the transmission of the media from the loss tolerant protocol to the network efficient protocol when either:
(i) the media is not being consumed in real-time; or
(ii) the media is being consumed in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol
48 . The application of claim 34 , wherein the transmission module is further configured to ascertain a bandwidth condition on the network by determining when a transmission buffer used for buffering the media for transmission backs-up beyond a predetermined threshold or overflows during the transmission of the media.
49 . The application of claim 34 , wherein the media comprises one of the following:
voice, video, sensor data, GPS data, text, pictures, or any combination thereof.
50 . A communication device, comprising:
a transmission element, the transmission element configured to: (a) ascertain if media available for transmission is or will be consumed in real-time by any of one or more recipients; and either: (b) transmit the media over a network to the one or more recipients using the loss tolerant protocol when:
(i) at least one of the one or more recipients is or will be consuming the media in real-time; and
(ii) the available bandwidth on the network is not good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol; or
(c) transmit the media over the network to the one or more recipients using the network efficient protocol when:
(iii) none of the one or more recipients is or will be consuming the media in real-time; or
(iv) one or more of the recipients is or will be reviewing the media in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate sufficient for real-time consumption using the network efficient protocol.
51 . The device of claim 50 , wherein the network efficient protocol is TCP.
52 . The device of claim 50 , wherein the network efficient protocol guarantees the delivery of a complete copy of the media transmitted to the one or more recipients.
53 . The device of claim 50 , wherein the loss tolerant protocol is UDP.
54 . The device of claim 50 , wherein the loss tolerant protocol is tolerant of the loss of packets containing bits representative of the media during transmission.
55 . The device of claim 50 , wherein the transmission element is further configured to:
identify the media transmitted using the loss tolerant protocol; and re-transmit at least a portion of the identified media using the network efficient protocol.
56 . The device of claim 55 , wherein the transmission element is further configured to re-transmit by performing one of the following:
(i) re-transmitting the identified media in full; or (ii) re-transmitting just media lost when transmitting using the loss tolerant protocol.
57 . The device of claim 55 , wherein the transmission element is further configured to re-transmit when bandwidth on the network in excess of what is needed for real-time communication is available on the network.
58 . The device of claim 50 , wherein the transmission element is further configured to repeatedly define transmission loops and perform (a) and either (b) or (c) for the media available for transmission during each transmission loop respectively.
59 . The device of claim 50 , wherein the transmission element is further configured to determine from presence information associated with each of the one or more recipients if the media available for transmission is or will be consumed by any of the one or more recipients in real-time.
60 . The device of claim 50 , wherein the media is time-based media that changes over time.
61 . The device of claim 50 , wherein the consumption of the media in real-time comprises one of the following:
(i) the rendering of the media “live” as the media is created and transmitted; or (ii) the rendering of previously created and stored media streamed from storage.
62 . The device of claim 50 , wherein the transmission element is further configured to:
define the network efficient protocol as a default protocol when initially transmitting the media; and switch the transmission of the media from the network efficient protocol to the loss tolerant protocol when:
the media is or will be consumed in real-time; and
the available bandwidth on the network is not good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol.
63 . The device of claim 50 , wherein the transmission element is further configured to:
define the loss tolerant protocol as a default protocol when initially transmitting the media; and switch the transmission of the media from the loss tolerant protocol to the network efficient protocol when either:
(i) the media is not being consumed in real-time; or
(ii) the media is being consumed in real-time and the available bandwidth on the network is good enough to support the transmission of the media at a rate suitable for consumption in real-time using the network efficient protocol
64 . The device of claim 50 , wherein the transmission element is further configured to ascertain a bandwidth condition on the network by determining when a transmission buffer used for buffering the media for transmission backs-up beyond a predetermined threshold or overflows during the transmission of the media.
65 . The device of claim 50 , wherein the media comprises one of the following: voice, video, sensor data, GPS data, text, pictures, or any combination thereof.
66 . The apparatus of claim 50 , wherein the communication device comprises one of the following: a cellular phone, a mobile phone, a land-line phone, a PTT radio, a satellite radio, a desktop computer, a mobile computer, a wired communication device, a wireless communication device or a server.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.