Patent ID: 8170023

Claim:
A method of sending media data through a network from a first computing device to a second computing device, the computing devices 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 an acknowledgement packet from the second computing device; passing the received acknowledgement packet to a receive hook; defining, via a central processing unit of the first computing device, based on the received acknowledgement packet, a packet header template for packets sent during the session, the template having a plurality of static fields filled with static values valid for packets sent during the session and variable fields that can acquire packet-dependent values for different packets sent during a session; storing the packet header template in a memory location of a memory device of the first computing device; creating, in a kernel space of the first computing device, based on a signal from the receive hook, a packet header based on the stored header template by updating, via the central processing unit of the first computing device, at least one packet-dependent value of a variable field of the template and combining the variable field values with the static values for the static fields from the stored header template; receiving payload data in a user space buffer of the first computing device via a direct memory access (DMA) engine; pre-pending the packet header to payload data to form a packet; transmitting, via an Ethernet DMA without passing through a network protocol stack, the packet that includes the packet header and the payload from the user space buffer of the first computing device to a network interface of the first computing device; and sending the packet that includes a copy of the updated packet header from the network interface to the second computing device.