System and method for a software-based TCP/IP offload engine for digital media renderers
First Claim
1. A method of receiving data transferred from a first computing device to a second computing device through a network, the transfer of data adhering to a packet-based network protocol the method comprising:
- establishing a connection between the first computing device and the second computing device for a session according to the network protocol;
receiving a data packet from the first computing device at the second computing device, wherein the data packet includes payload data and a header;
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 variable fields that can acquire packet-dependent values;
storing the header template in a memory location of a memory device of the second computing device;
updating the packet-dependent values of the variable fields of the template stored in the memory device; and
sending an ACK packet that includes the a copy of the updated packet header from the first computing device to the second computing device to acknowledge the receipt of the packet.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of receiving data from a first computing device to a second computing device through a network is disclosed. The transfer adheres to a packet-based network protocol. A connection between the first and second computing devices is established according to the protocol. A data packet is received from the first device at the second device, where the data packet includes payload data and a header. A packet header template is defined for acknowledging receipt of the data packet, and the template has static fields filled with static values and variable fields that can acquire packet-dependent values. The header template is stored in a memory device of the second device. Packet-dependent values of the variable fields of the template are updated. An ACK packet that includes a copy of the updated packet header is sent from the first computing device to the second computing device to acknowledge the receipt of the packet.
53 Citations
20 Claims
-
1. A method of receiving data transferred from a first computing device to a second computing device through a network, the transfer of data adhering to a packet-based network protocol the method comprising:
-
establishing a connection between the first computing device and the second computing device for a session according to the network protocol; receiving a data packet from the first computing device at the second computing device, wherein the data packet includes payload data and a header; 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 variable fields that can acquire packet-dependent values; storing the header template in a memory location of a memory device of the second computing device; updating the packet-dependent values of the variable fields of the template stored in the memory device; and sending an ACK packet that includes the a copy of the updated packet header from the first computing device to the second computing device to acknowledge the receipt of the packet. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of receiving data transferred from a first computing device to a second computing device through a network, the transfer of data adhering to a TCP/IP protocol, the method comprising:
-
establishing a connection between the first computing device and the second computing device for a session according to the TCP/IP protocol; receiving a data packet from the first computing device at the second computing device, wherein the data packet includes payload data and a header; 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 variable fields that can acquire packet-dependent values; storing the header template in a memory location; assigning a sequence number value with a central processing unit of the second computing device to the sequence number field of the header template; assigning an acknowledgement number value with the central processing unit to the acknowledgement number field of the header template; and
thensending an ACK packet that includes a copy of the packet header template, including the assigned acknowledgement and sequence numbers, from the second computing device to the first computing device to acknowledge the receipt of the packet. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A playback computing-device for receiving data transferred from a streaming computing through a network, the transfer of data adhering to a TCP/IP protocol, the playback computing-device comprising:
-
a central processing unit; a random access memory; a network interface device; and a memory for storing computer-executable instructions, that when executed; cause the network interface device to establish a connection with the playback computing device for a session according to the TCP/IP protocol; cause the central processing unit to define a packet header template and store the header template in the random access memory, the template having a plurality of static fields filled with static values and variable fields that can acquire packet-dependent values, wherein the variable fields include a sequence number field and an acknowledgement number; cause the central processing unit to assign sequence number values to the sequence number fields of the header template for each of the plurality of packets; cause the central processing unit to assign acknowledgement number values to the acknowledgement number fields of the header template for each of the plurality of packets; and cause the network interface device to send ACK packets to the streaming computing device to acknowledge the receipt of a data packets, wherein the ACK packets include a copy of the packet header template, including the assigned acknowledgement and sequence numbers. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification