Method and apparatus for traffic probing
US-2024430168-A1 · Dec 26, 2024 · US
US9923997B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9923997-B2 |
| Application number | US-201314136950-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 20, 2013 |
| Priority date | Dec 21, 2012 |
| Publication date | Mar 20, 2018 |
| Grant date | Mar 20, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for packet classification. In some embodiments, the method includes instantiating a first machine; allocating a first SC to the first machine, the first SC being configured to classify a packet based on information contained in a field of a header included in the packet; instantiating a second machine; allocating a second SC to the second machine, the second SC being configured to classify a packet based on information contained in a field of a header included in the packet; monitoring the first machine to detect if the first machine is in an overload state; and in response to detecting that the first machine is in an overload state, instantiating a third machine and allocating a third SC to the third machine, the third SC being configured to classify a packet based on information contained in a field of a header included in the packet.
Opening claim text (preview).
The invention claimed is: 1. A method for packet classification, the method comprising: instantiating a first machine for executing instructions, wherein the first machine is operable to provide a first amount of computing power for use by one or more software elements that require computing power and the first machine comprises a first packet buffer for storing packets; allocating to the first machine a first sub-classifier (SC) comprising a first set of instructions, wherein the first machine is configured to execute the first set of instructions, the first set of instructions being configured to cause the first machine to classify a packet based on information contained in a field of a header included in the packet, and the first SC being configured to require not more than a second amount of computing power, wherein the second amount of computing power is not greater than the first amount of computing power; instantiating a second machine for executing instructions, wherein the second machine is operable to provide a third amount of computing power for use by one or more software elements that require computing power and the second machine comprises a second packet buffer for storing packets; installing on the second machine a second SC comprising a second set of instructions for execution by the second machine, the second set of instructions being configured to cause the second machine to classify a packet based on information contained in a field of a header included in the packet; detecting that the first machine is in an overload state; and as a direct result of detecting that the first machine is in an overload state, instantiating a third machine comprising a third packet buffer for storing packets and a third SC, the third SC being configured to cause the third machine to classify a packet based on information contained in a field of a header included in the packet, wherein detecting that the first machine is in an overload state comprises at least one of: i) detecting that the first machine is dropping packets and ii) detecting that the number of packets stored in the first packet buffer within the first machine has reached a threshold, the method further comprises instantiating a traffic load balancer in response to detecting that the first machine is in an overload state, the traffic load balancer is configured such that, in response to receiving a network packet, the traffic load balancer i) uses a load balancing method to select one of the first machine and the third machine and ii) forward the network packet to the selected machine, thereby balancing network traffic between the first machine and the third machine, and the third SC allocated to the third machine is a copy of the first SC. 2. The method of claim 1 , further comprising: the first machine receiving a packet; the first SC processing the packet, wherein the processing comprises classifying the packet and decorating the packet to create a decorated packet; and the first SC providing the decorated packet to the second SC, wherein decorating the packet to create a decorated packet comprises adding to the packet meta-data comprising information identifying a protocol to which a header of the packet conforms. 3. The method of claim 1 , wherein the third SC allocated to the third machine is a copy of the first SC. 4. The method of claim 1 , wherein the first SC comprises a fourth SC and a fifth SC, the third SC allocated to the third machine is a copy of the fifth SC, and the method further comprises de-allocating the fifth SC from the first machine in response to detecting that the first machine is in an overload state. 5. The method of claim 1 , wherein the first machine separate and distinct from the second machine, the first machine is a first virtual machine, the second machine is a second virtual machine, and the third machine is a third virtual machine that is separate and distinct from the first and second virtual machines. 6. The method of claim 1 , wherein the first machine is separate and distinct from the second machine, the first machine is one of a switch, router, and general purpose computer, and the second machine is one of a switch, router, and general purpose computer. 7. The method of claim 1 , further comprising, in response to detecting that the first machine is in an overload state, updating configuration data used by an upstream SC that is upstream with respect to the first SC, wherein the configuration data is used by the upstream SC for routing packets to downstream SCs. 8. A controller for packet classification, the controller being adapted to: instantiate a first machine for executing instructions, wherein the first machine is operable to provide a first amount of computing power for use by one or more software elements that require computing power, and wherein the first machine comprises a first packet buffer for storing packets and a first sub-classifier (SC) comprising a first set of instructions for execution by the first machine, the first set of instructions being configured to cause the first machine to classify a packet based on information contained in a field of a header included in the packet, and the first SC being configured to require not more than a second amount of computing power, wherein the second amount of computing power is not greater than the first amount of computing power; instantiate a second machine for executing instructions, wherein the second machine is operable to provide a third amount of computing power for use by one or more software elements that require computing power, and wherein the second machine comprises a second packet buffer for storing packets and a second sub-classifier (SC) comprising a second set of instructions for execution by the second machine, the second set of instructions being configured to cause the second machine to classify a packet based on information contained in a field of a header included in the packet, and the second SC being configured to require not more than a fourth amount of computing power, wherein the fourth amount of computing power is not greater than the third amount of computing power; and detect whether the first machine is in an overload state, wherein the first SC comprises a fourth SC and a fifth SC, the controller is further configured such that, as a direct result of detecting that the first machine is an overload state, the controller instantiates a third machine comprising a third packet buffer for storing packets and allocate a third SC to the third machine, wherein the third SC is configured to classify a packet based on information contained in a field of a header included in the packet and the third SC allocated to the third machine is a copy of the fifth SC, the controller is configured to detect that the first machine is in an overload state by performing one or both of: i) detecting that the first machine is dropping packets and ii) detecting that the number of packets stored in the first packet buffer within the first machine has reached a threshold, the controller is further configured such that, as a direct result of detecting that the first machine is an overload state, the controller reconfigures the first SC by removing the fifth SC from the first SC so that the first SC comprises the fourth SC but does not comprise the fifth SC. 9. The controller of claim 8 , wherein: the first machine is adapted to receive a packet; the first SC is adapted to classify the packet and decorate the packet to create a decorated packet; and the first SC is further adapted to provide the decorated packet to the second SC, wherein decorating the packet to create a decorated packet comprises adding to the packet meta-data com
Avoiding congestion; Recovering from congestion · CPC title
Parsing or analysis of headers · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests · CPC title
by filtering · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.