Methods, systems, and computer program products for processing a packet

US9860175B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9860175-B2
Application numberUS-201113994416-A
CountryUS
Kind codeB2
Filing dateDec 22, 2011
Priority dateDec 22, 2011
Publication dateJan 2, 2018
Grant dateJan 2, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system for processing a packet may include, for each of a network interface controller and a central processing unit, a measurement of the processing time, a determination of the amount of energy consumed to process a unit of information in the packet, and a measurement of the load. A user may provide the system with signals to perform networking processes for the packet in a manner to reduce the processing time of the system or in a manner to reduce the amount of energy consumed by the system for processing the packet. A portion of the system may receive at least one of the measurements, determinations, and signals and may cause one of the network interface controller and the central processing unit to perform networking processes for the packet. The networking processes may include establishing a connection to a network.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, from a network interface controller (NIC) of a computer system through a network socket, data indicative of packet processing times or packet processing energy consumption for the NIC; selecting one of a central processor of the computer system and the NIC of the computer system as a default processor to process a first network connection based on a comparison of one or more of the packet processing times and packet processing energy consumption of the central processor and the NIC, and selecting the other one of the central processor and the NIC as a secondary processor; causing the selected default processor to process the first network connection, including to establish the first network connection and to extract content from packets of the first network connection, if one of a load of the default processor is below a full load and a packet processing time of the default processor is below a predetermined maximum packet processing time, and otherwise causing the selected secondary processor to process the first network connection. 2. The method of claim 1 , wherein: the selecting includes selecting one of the central processor and the NIC as a default processor to process the first network connection based on a comparison of packet processing energy consumption of the central processor and the NIC; and the causing includes causing the default processor to process the first network connection if the packet processing load of the default processor is below the full load. 3. The method of claim 2 , further including: switching the default processor to the other one of the central processor and the NIC to process the first network connection if the packet processing time of the default processor is equal to or greater than a predetermined maximum packet processing time. 4. The method of claim 1 , further including: causing the default processor to process a second network connection if the packet processing time of the default processor is below the predetermined maximum processing time at a start of the second connection. 5. The method of claim 1 , wherein the selecting includes selecting the central processor as the default processor and selecting the NIC as the secondary processor, the method further including: reassigning unprocessed packets of the first network connection from the central processor to the NIC if the packet processing load of the NIC falls below the maximum packet processing load. 6. The method of claim 1 , further including: selecting one of the central processor and the NIC as a default processor to process a second network connection based on a user-selectable preference regarding packet processing times and packet processing energy consumption. 7. A non-transitory computer-readable medium encoded with a computer program that includes instructions to cause an off-load engine to: receive, from a network interface controller (NIC) of a computer system through a network socket, data indicative of packet processing times or packet processing energy consumption for the NIC; select one of a central processor of the computer system and the NIC of the computer system as a default processor to process a first network connection based on a comparison of one or more of the packet processing times and energy consumption of the central processor and the NIC, and select the other one of the central processor and the NIC as a secondary processor; cause the selected default processor to process the first network connection, including to establish the first network connection and to extract content from packets of the first network connection, if one of a load of the default processor is below a predetermined maximum packet processing time, and otherwise cause the selected secondary processor to process the first network connection. 8. The non-transitory computer-readable medium of claim 7 , further including instructions to cause the off-load engine to: select one of the central processor and the NIC as the default processor to process the first network connection based on a comparison of packet processing energy consumption of the central processor and the NIC; and cause the default processor to process the first network connection if the packet processing load of the default processor is below the full load. 9. The non-transitory computer-readable medium of claim 8 , further including instructions to cause the off-load engine to: switch the default processor to the other one of the central processor and the NIC to process the first network connection if the packet processing time of the default processor is equal to or greater than a predetermined maximum packet processing time. 10. The non-transitory computer-readable medium of claim 7 , further including instructions to cause the off-load engine to: cause the default processor to process a second network connection if the packet processing time of the default processor is below the predetermined maximum packet processing time at a start of the second connection. 11. The non-transitory computer-readable medium of claim 7 , further including instructions to cause the off-load engine to: select the central processor as the default processor and select the NIC as the secondary processor; and re-assign unprocessed packets of the first network connection from the central processor to the NIC if the packet processing load of the NIC falls below the maximum packet processing load. 12. The non-transitory computer-readable medium of claim 7 , further including instructions to cause the off-load engine to: select one of the central processor and the NIC as a default processor to process a second network connection based on a user-selectable preference regarding packet processing times and packet processing energy consumption. 13. An apparatus, comprising an off-load engine configured to: receive, from a network interface controller (NIC) of a computer system through a network socket, data indicative of packet processing times or packet processing energy consumption for the NIC; select one of a central processor of the computer system and the NIC of the computer system as a default processor to process a first network connection based on a comparison of one or more of the packet processing times and energy consumption of the central processor and the NIC, and select the other one of the central processor and the NIC as a secondary processor; and cause the selected default processor to process the first network connection, including to establish the first network connection and to extract content from packets of the first network connection, if one of a load of the default processor is below a full load and a packet processing time of the default processor is below a predetermined maximum packet processing time, and otherwise cause the selected secondary processor to process the first network connection. 14. The apparatus of claim 13 , wherein the off-load engine is further configured to: select one of the central processor and the NIC as the default processor to process the first network connection based on a comparison of packet processing energy consumption of the central processor and the NIC; and cause the default processor to process the first network connection if the packet processing load of the default processor is below the full load. 15. The apparatus of claim 14 , wherein the off-load engine is further configured to: switch the default processor to the other one of the central processor and the NIC to process the first network connection if the packet processing time of

Assignees

Inventors

Classifications

  • H04L47/125Primary

    by balancing the load, e.g. traffic engineering · CPC title

  • based on a hash applied to IP addresses or costs · CPC title

  • H04L69/18Primary

    Multiprotocol handlers, e.g. single devices capable of handling multiple protocols · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9860175B2 cover?
A system for processing a packet may include, for each of a network interface controller and a central processing unit, a measurement of the processing time, a determination of the amount of energy consumed to process a unit of information in the packet, and a measurement of the load. A user may provide the system with signals to perform networking processes for the packet in a manner to reduce…
Who is the assignee on this patent?
Wang Ren, Rungta Sanjay, Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).