Claims
- 1. A method, comprising:
transmitting a data stream to each of a plurality of clients via a multicast communication session, said data stream comprising a plurality of data packets arranged in a predefined sequence, each of said plurality of data packets having associated with it a sequence identifier for identifying a respective sequence position; receiving a client request for retransmission of a previously transmitted data packet; and retransmitting said requested data packet to said requesting client via at least one of a unicast communications channel and said multicast communication session.
- 2. The method of claim 1, wherein said multicast communication session uses a user datagram protocol (UDP) and said unicast communications channel uses a transmission control protocol (TCP).
- 3. The method of claim 1, wherein each of said plurality of data packets forming said data stream further includes an extension length field.
- 4. The method of claim 1, wherein said client request includes information pertaining to at least one of said sequence identifiers.
- 5. The method of claim 1, wherein said plurality of data packets forming said data stream are comprised of real-time transport protocol (RTP) packets adapted for delivery using a user datagram protocol (UDP) via an Internet Protocol (IP) network.
- 6. The method of claim 5, wherein each of said plurality of data packets includes a header, said header normally including IP, UDP and RTP header information, said normally included IP, UDP and RTP header information being replaced by a sequence identifier field and a length of extension field.
- 7. The method of claim 1, wherein:
each of said sequence identifiers being associated with corresponding ones of said plurality of data packets; and said step of retransmitting said requested data packet comprises retransmitting each of said plurality of data packets corresponding to each of said sequence identifiers being associated with said corresponding ones of said plurality of data packets.
- 8. The method of claim 7, wherein said sequence identifier is generated every Nth packet, said sequence identifier being associated with each of a sequence of packets including said Nth packet.
- 9. The method of claim 1, wherein data packets corresponding to said client request for retransmission is retransmitted via said unicast communications channel only.
- 10. A method, comprising:
receiving a data stream via a multicast communications session, said data stream comprising a plurality of data packets ordered in a predefined sequence, each of said plurality of data packets including a sequence identifier for identifying a corresponding respective sequence position; determining, using said sequence identifiers, whether ones of said plurality of data packets are missing from said data stream; and receiving missing ones of said plurality of data packets via a unicast communications channel.
- 11. The method of claim 10, further comprising:
requesting retransmission of said missing ones of said plurality of data packets after at least one of:
a threshold time expiration, and a reception count reaching a threshold level.
- 12. The method of claim 11, wherein said step of requesting retransmission is launched via a transmission control protocol (TCP) connection.
- 13. The method of claim 12, wherein said step of requesting retransmission utilizes a user datagram protocol (UDP) packet addressed to a transmitting server.
- 14. The method of claim 12, wherein said step of requesting retransmission utilizes a user datagram protocol (UDP) packet addressed to a multicast group address monitored by a transmitting server.
- 15. The method of claim 12, wherein said step of requesting retransmission is a request for retransmission of at least one missing data packet associated with at least one corresponding sequence identifier.
- 16. A data structure, comprising:
a plurality of Real-Time Transport Protocol (RTP) packets having respective header (H) and payload (P) portions, each of said RTP packets including a sequence identifier (RTPHSI) within a respective header portion for identifying a respective location within an information stream.
- 17. The data structure of claim 16, wherein said header portion comprises an RTP-compliant header portion extended to include a first additional field (RTPHSI) for storing said sequence identifier, and a second additional field (RTPHLP) for storing an extension length parameter, said extension length parameter indicative of the length of the extension to the header portion.
- 18. A apparatus comprising:
means for transmitting a data stream to each of a plurality of clients via a multicast communication session, said data stream comprising a plurality of data packets arranged in a predefined sequence, each of said plurality of data packets having associated with it a sequence identifier for identifying a respective sequence position; means for receiving a client request for retransmission of a previously transmitted data packet; and means for retransmitting said requested data packet to said requesting client via at least one of a unicast communications channel and said multicast communication session.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims the benefit of U.S. Provisional Application serial No. 60/377,912, filed May 3, 2002, which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377912 |
May 2002 |
US |