US2007294500A1PendingUtilityA1

Methods and system to provide references associated with data streams

31
Assignee: FALCO MICHAEL APriority: Jun 16, 2006Filed: Jun 16, 2006Published: Dec 20, 2007
Est. expiryJun 16, 2026(expired)· nominal 20-yr term from priority
H04N 7/08H04N 5/93H04N 7/173H04N 5/91H04N 21/47202H04N 5/76H04N 5/783H04N 21/4402
31
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Each set of pointers inserted into a received data stream eventually includes pointer values that point to other locations (e.g., other segments) within the data stream. Initially, pointer values can be set to null values because an address or respective index to other segments or other sets of pointers in the data stream may not be known until they are either received from the live feed or inserted into the data stream. As new segments of data are received from an original data stream such as a live feed, a processing function herein backfills the null pointer values in the set of pointers with appropriate values to the newly received segments or set of pointers. Backfilling of appropriate pointer values into the data stream enables a respective user viewing the data stream to initiate navigation amongst the data stream and potentially view a live feed with little or no delay.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 allocating a first storage region to maintain a set of pointers associated with a first segment of streaming data;   after allocating the first storage region and receiving the first segment of streaming data, allocating a second storage region to maintain a set of pointers associated with a second segment of the streaming data, a location of the second storage region depending at least in part on a length associated with the first segment of streaming data; and   initiating modification to the set of pointers associated with the first storage region to reference the second storage region.   
   
   
       2 . A method as in  claim 1 , wherein initiating modification of the set of pointers associated with the first storage region includes:
 modifying the set of pointers associated with the first segment to include a pointer to an address associated with the second storage region that stores the set of pointers associated with the second segment, at least one pointer in the set of pointers associated with the first segment being dependent on the length associated with the first segment.   
   
   
       3 . A method as in  claim 1 , wherein initiating modification of the set of pointers associated with the first storage region includes:
 modifying the set of pointers associated with the first segment to include a pointer to an address associated with at least one of: i) the second storage region, ii) the set of pointers associated with the second segment, and iii) the second segment.   
   
   
       4 . A method as in  claim 1  further comprising:
 after allocating the second storage region and receiving the second segment, allocating a third storage region to maintain a set of pointers associated with a third segment of the streaming data, a location of the third storage region depending at least in part on a length associated with the second segment; and   initiating modification of pointer values in the set of pointers associated with the first storage region depending on the length associated with the second segment.   
   
   
       5 . A method as in  claim 4 , wherein initiating modification of the set of pointers associated with the first storage region depending on the length associated with the second segment includes:
 modifying the set of pointers associated with the first segment to include a pointer to an address associated with the third storage region that stores the set of pointers associated with the third segment.   
   
   
       6 . A method as in  claim 1  further comprising:
 after allocating the second storage region and receiving the second segment, allocating a third storage region to maintain a set of pointers associated with a third segment of the streaming data, a location of the third storage region depending on a length associated with the second segment; and   maintaining the first segment, the second segment, and the third segment as a respective stream of data including corresponding inserted sets of pointers, each of which includes pointers to multiple locations within the respective stream, the pointers enabling a respective user to skip to different locations in the respective stream of data based on respective input.   
   
   
       7 . A method as in  claim 1  further comprising:
 allocating a third storage region to maintain a set of pointers associated with a third segment of the streaming data;   maintaining a respective stream of data at least partially derived from the streaming data to include inserted sets of pointers, the inserted set of pointers including the first storage region, the second storage region, and the third storage region;   maintaining the first storage region to include a respective pointer to an address associated with the second storage region; and   maintaining the second storage region to include a respective pointer to an address associated with the third storage region.   
   
   
       8 . A method as in  claim 1  further comprising:
 allocating a third storage region to maintain a set of pointers associated with a third segment of the streaming data;   maintaining a respective stream of data at least partially derived from the streaming data to include inserted sets of pointers including the first storage region, the second storage region, and the third storage region; and   maintaining the second storage region to include: i) a first pointer to an address associated with the first storage region, an ii) a second pointer to an address associated with the third storage region.   
   
   
       9 . A method as in  claim 1  further comprising:
 allocating a third storage region to maintain a set of pointers associated with a third segment of the streaming data;   maintaining a respective stream of data at least partially derived from the streaming data to include inserted sets of pointers, the inserted set of pointers including the first storage region, the second storage region, and the third storage region; and   maintaining the first storage region to include: i) a first pointer to an address associated with the second storage region, and ii) a second pointer to an address associated with the third storage region, the first pointer and the second pointer enabling multiple fast forwarding speeds when the respective stream of data is played back.   
   
   
       10 . A method as in  claim 1 , wherein allocating the first storage region occurs in response to receiving the first segment of streaming data approximately in a real-time manner;
 wherein allocating the second storage region occurs in response to receiving the second segment of streaming data in a real-time manner after receiving the first segment of streaming data; and   wherein initiating modification of the set of pointers includes backfilling values associated with the set of pointers after processing the second segment.   
   
   
       11 . A method as in  claim 1  further comprising:
 receiving the streaming data as a live feed from a remote source; and   initiating the modification of the set of pointers for purposes of enabling a respective user to control a rate of viewing the streaming data approximately up to a current position of the live feed.   
   
   
       12 . A method as in  claim 1  further comprising:
 receiving the streaming data as a live feed from a remote source; and   initiating the insertion and backfilling of the set of pointers associated with the first storage region and second storage region for purposes of enabling a respective user to control a rate of viewing the streaming data approximately up to a current position of the live feed.   
   
   
       13 . A method as in  claim 1 , wherein initiating the insertion and backfilling enables the respective user to view the live feed with a delay. 
   
   
       14 . A method as in  claim 1  further comprising:
 storing the set of pointers associated with the first segment, the first segment, the set of pointers associated with the second segment, and the second segment in a contiguous manner in a same data stream.   
   
   
       15 . A method comprising:
 receiving streaming data as a live feed from a remote source;   initially assigning a null value to a given pointer associated with a first received segment of the streaming data; and   after receiving and processing a second segment of the streaming data that follows the first received segment, backfilling the given pointer with an appropriate value pointing to the second received segment.   
   
   
       16 . A method as in  claim 15  further comprising:
 initiating insertion of pointers into the streaming data at different respective intervals depending on sizes of segments associated with the streaming data, each of the pointers initially assigned a respective null value but later being backfilled with appropriate pointer values upon receipt of successive segments.   
   
   
       17 . A method as in  claim 15 , wherein backfilling the given pointer includes setting the given pointer to a value indexing an address associated with a respective future received segment of the streaming data. 
   
   
       18 . A method as in  claim 15 , wherein backfilling the given pointer enables a respective user to control a rate of viewing the streaming data approximately up to a current position of the live feed. 
   
   
       19 . A computer program product including a computer-readable medium, the computer readable medium including:
 instructions to allocate a first storage region to maintain a set of pointers associated with a first segment of streaming data;   instructions to, after allocating the first storage region, allocate a second storage region to maintain a set of pointers associated with a second segment of the streaming data, a location of the second storage region depending at least in part on a length associated with the first segment of streaming data; and   instructions to initiate modification to the set of pointers associated with the first storage region depending on the length associated with the first segment.   
   
   
       20 . An apparatus comprising:
 a data stream manager that receives streaming data as a live feed from a remote source, the data stream manager initially assigning a null value to a given pointer associated with a first received segment of the streaming data, the data stream manager backfilling the given pointer with an appropriate value pointing to the second received segment after receiving and processing a second segment of the streaming data.   
   
   
       21 . An apparatus as in  claim 20 , wherein the data stream manager initiates insertion of pointers into the streaming data at different respective intervals depending on sizes of segments associated with the streaming data, each of the pointers initially assigned a respective null value but later being backfilled with appropriate pointer values upon receipt of successive segments of the streaming data. 
   
   
       22 . An apparatus as in  claim 20 , wherein the data stream manager sets the given pointer to a value indexing an address associated with a respective future received segment of the streaming data. 
   
   
       23 . An apparatus as in  claim 20 , wherein the given pointer enables a respective user to control a rate of viewing the streaming data approximately up to a current position of the live feed.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.