Live stream archiving method and apparatus
First Claim
1. A method for recording streaming media in a cache, comprising:
- requesting a live transmission of the streaming media from a server, the streaming media including chronologically ordered packets, a first set of said packets being chronologically earlier than a second set of said packets;
receiving, from the server and in response to the request for the live transmission, the second set of packets of the streaming media and designating at least a first packet of the second set of packets as an initial data packet;
providing the second set of packets of the streaming media to a client;
storing the second set of packets in the cache;
requesting a rebroadcast of the streaming media from the server;
receiving, from the server and in response to the request for the rebroadcast, the first set of packets of the streaming media;
determining whether at least a first data packet from the first set of data packets is the same as the initial data packet from the second set of data packets and, if so, terminating the request for the rebroadcast of the streaming media, otherwise storing the first set of data packets in the cache until a data packet from the first set of data packets is the same as the initial data packet from the second set of data packets, and terminating the request for rebroadcast of the streaming media, wherein P<
N+M<
2*P, where N represents a number of data packets in the second set of data packets;
M represents a number of data packets in the first set of data packets; and
P represents a number of data packets in a third set of data packets.
13 Assignments
0 Petitions
Accused Products
Abstract
A method for recording a complete stream of live data packets from a server in a media cache with reduced server-cache bandwidth includes utilizing a first amount of server-cache bandwidth to receive only a portion of the complete stream of live data packets from the server, determining when the stream of live data packets from the server finishes, thereafter utilizing a second amount of server-cache bandwidth to receive missing portions of the complete stream of live data packets, and combining the portion of the complete stream of live data packets and the missing portions of the complete stream of live data packets to form the complete stream of live data packets in the memory.
109 Citations
12 Claims
-
1. A method for recording streaming media in a cache, comprising:
-
requesting a live transmission of the streaming media from a server, the streaming media including chronologically ordered packets, a first set of said packets being chronologically earlier than a second set of said packets; receiving, from the server and in response to the request for the live transmission, the second set of packets of the streaming media and designating at least a first packet of the second set of packets as an initial data packet; providing the second set of packets of the streaming media to a client; storing the second set of packets in the cache; requesting a rebroadcast of the streaming media from the server; receiving, from the server and in response to the request for the rebroadcast, the first set of packets of the streaming media; determining whether at least a first data packet from the first set of data packets is the same as the initial data packet from the second set of data packets and, if so, terminating the request for the rebroadcast of the streaming media, otherwise storing the first set of data packets in the cache until a data packet from the first set of data packets is the same as the initial data packet from the second set of data packets, and terminating the request for rebroadcast of the streaming media, wherein P<
N+M<
2*P, where N represents a number of data packets in the second set of data packets;
M represents a number of data packets in the first set of data packets; and
P represents a number of data packets in a third set of data packets. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A streaming media cache, comprising:
a processor coupled to a computer-readable storage device that stores computer-readable instructions for execution by the processor, which instructions, when implemented by the processor, cause the processor to perform; a first process configured to request a live transmission of data packets of a data stream from a server, the live transmission beginning with a currently available data packet of the data stream; a second process configured to receive a first set of data packets of the data stream from the server, the first set of data packets including the currently available data packet; a third process configured to store the first set of data packets in a memory; wherein the first process is also configured to request, from the server and after the first set of data packets is received, a rebroadcast of the data packets of the data stream, the rebroadcast beginning with a first data packet of the data stream, the first data packet having a presentation time chronologically earlier than a presentation time of the currently available data packet; wherein the second process is also configured to receive a second set of data packets of the data stream from the server, the second set of data packets including the first data packet; wherein the third process is also configured to store the second set of data packets in the memory by determining when a data packet from the second set of data packets is the same as the currently available data packet from the first set of data packets and terminating the request for the rebroadcast of the data packets of the data stream and to combine the first set of data packets and the second set of data packets to form a third set of data packets, the third set of data packets representing the data stream in the memory; and wherein P<
N+M<
2*P, where N represents a number of data packets in the first set of data packets;
M represents a number of data packets in the second set of data packets; and
P represents a number of data packets in a third set of data packets.- View Dependent Claims (8, 9)
-
10. A method for reducing a complete stream of data packets of a live transmission from a server in a media cache with reduced server-cache bandwidth, comprising:
-
utilizing a first amount of server-cache bandwidth to receive a first portion of the complete stream of data packets of the live transmission from the server, the first portion of data packets being less than the complete stream of data packets of the live transmission and including an initial data packet as a first chronological data packet of the first portion of the complete stream of data packets; determining when the stream of data packets from the server finishes;
thereafterutilizing a second amount of server-cache bandwidth to receive missing portions of the complete stream of data packets, the missing portions including at least some data packets having presentation times chronologically earlier than data packets of the first portion of the complete stream, until a data packet from the missing portions of the complete stream is the same as the initial data packet from the first portion of the complete stream of data packets and thereafter stopping reception of the missing portions of the complete stream of data packets; and combining the data packets of the first portion of the complete stream of data packets and the data packets of the missing portions of the complete stream of data packets to form a stored copy of the complete stream of data packets in the memory, wherein P=<
N+M<
2*P, where P represents an amount of server-cache bandwidth required to provide the complete stream of data packets of the live transmission, M represents the first amount of server cache bandwidth, and N represents the second amount of server-cache bandwidth. - View Dependent Claims (11, 12)
-
Specification