Patent ID: 8090241

Claim:
A method of playing back a television program on a playback device connected to a local area network while simultaneously storing the television program on a storage device connected to the network, the method comprising: receiving a television broadcast at a first settop box, wherein the television broadcast comprises at least one program; storing a first program on a permanent storage device of a network storage server connected through a network to the first settop box, wherein storing the at least one of the programs on the network storage server comprises: establishing a connection between the settop box and the network storage server for a session according to a TCP/IP protocol; receiving data packets corresponding to the first program from the settop box in a kernel space buffer of the network storage server, wherein the data packets include payload data and headers; stripping the headers from the packets and routing the payload data directly from the kernel space buffer through memory-to-memory direct memory access circuitry (DMA), without processing through a TCP/IP stack, to a user space buffer of the network storage server; writing the payload data in the user space buffer of the network through a hard disk DMA to a permanent storage medium of the network storage server defining a packet header template for acknowledging the receipt of the data packet, the template having a plurality of static fields filled with static values and a variable field adapted for carrying the value of a sequence number identifying the ACK packet within a sequence of a plurality of ACK packets sent from the network storage server to the network receiving during the session; storing the header template in a memory location of a memory device of the network storage server; updating, within the kernel space of the network storage server, packet-dependent values of the variable fields of the template stored in the memory device; and sending an ACK packet that includes a copy of the updated packet header from the network storage server to the settop box to acknowledge the receipt of the packet; and while receiving the television broadcast and while storing the first program, rendering a program on a digital media rendering device connected through the network to the first settop box.