×

System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks

  • US 8,170,023 B2
  • Filed: 02/20/2007
  • Issued: 05/01/2012
  • Est. Priority Date: 02/20/2007
  • Status: Expired due to Fees
First Claim
Patent Images

1. 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.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×