System and method for just in time streaming of digital programs for network recording and relaying over internet protocol network
First Claim
1. A method comprising:
- receiving a television broadcast at a first settop box, wherein the television broadcast comprises at least one program;
establishing a connection between the first settop box and a network device for a session according to a network protocol;
receiving time-ordered digital media data packets encoding the at least one program into a buffer;
defining a packet header template having a plurality of static fields filled with static values valid for all packets sent from the first settop box to the network device during a relaying session and variable fields that can acquire packet-dependent values for different packets sent during the session;
storing the packet header template and the static values in a memory;
creating a packet header based on the header template by defining, in a central processing unit, at least one value of a variable field and by reusing the static values from the memory for the static fields;
adding the network header to the digital media data packets, wherein adding the network header to the digital media data packets includes pre-pending the packet header created based on the header template to payload data from the buffer to form the packets to be relayed to the network device;
relaying the digital media data packets to a network device connected to the first settop box through a network, wherein the packets are relayed substantially without latency and with a time-ordering based on the same time-ordering of the packets in the buffer;
receiving acknowledgment packets from the network device acknowledging the reception of the relayed digital media data packets; and
in response to the receiving acknowledgement packets, freeing space in the buffer that was used to buffer for the acknowledged data packets.
7 Assignments
0 Petitions
Accused Products
Abstract
A settop box for streaming a television program to a network device through a network includes a central processing unit, a network interface device, a direct memory access engine, a buffer, and a memory for storing computer-executable instructions. The stored instructions cause the direct memory access engine to route time-ordered digital media data packets encoding the television program into the buffer, cause the central processing unit to add a network header to the digital media data packets, and cause the network interface device to relay the digital media data packets to a network device through the network, wherein the packets are relayed substantially without latency and with a time-ordering based on the same time-ordering of the packets in the buffer.
-
Citations
19 Claims
-
1. A method comprising:
-
receiving a television broadcast at a first settop box, wherein the television broadcast comprises at least one program; establishing a connection between the first settop box and a network device for a session according to a network protocol; receiving time-ordered digital media data packets encoding the at least one program into a buffer; defining a packet header template having a plurality of static fields filled with static values valid for all packets sent from the first settop box to the network device during a relaying session and variable fields that can acquire packet-dependent values for different packets sent during the session; storing the packet header template and the static values in a memory; creating a packet header based on the header template by defining, in a central processing unit, at least one value of a variable field and by reusing the static values from the memory for the static fields; adding the network header to the digital media data packets, wherein adding the network header to the digital media data packets includes pre-pending the packet header created based on the header template to payload data from the buffer to form the packets to be relayed to the network device; relaying the digital media data packets to a network device connected to the first settop box through a network, wherein the packets are relayed substantially without latency and with a time-ordering based on the same time-ordering of the packets in the buffer; receiving acknowledgment packets from the network device acknowledging the reception of the relayed digital media data packets; and in response to the receiving acknowledgement packets, freeing space in the buffer that was used to buffer for the acknowledged data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A settop box for streaming a television program to a network device through a network, the settop box comprising:
-
a central processing unit; a network interface device; a direct memory access engine; a buffer; and a memory for storing computer-executable instructions for; causing the direct memory access engine to route time-ordered digital media data packets encoding the television program into the buffer; causing the central processing unit to define a network header template and store the network header template having static fields filled with static values valid for all packets sent during a session and variable fields that can acquire packet-dependent values for different packets of a plurality of data packets sent during the session; causing the central processing unit to create a network header based on the header template by defining, in the central processing unit, at least one value of a variable field and by reusing static values from the memory for the static fields; causing the central processing unit to add the network header to the digital media data packets by causing the central processing unit to pre-pend the network headers to the digital media data packets based on the network header template to payload data in the buffer to form packets to be relayed to the network device; causing the network interface device to relay the digital media data packets to the network device through the network, wherein the packets are relayed substantially without latency and with a time-ordering based on the same time-ordering of the packets in the buffer; and causing space in the buffer used to buffer the digital media packets to be freed in response to receiving acknowledgment packets from the network device acknowledging reception of the digital media data packets. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification