Efficient packet forwarding using cyber-security aware policies

US9798588B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9798588-B1
Application numberUS-201313870814-A
CountryUS
Kind codeB1
Filing dateApr 25, 2013
Priority dateApr 25, 2012
Publication dateOct 24, 2017
Grant dateOct 24, 2017

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.

For balancing load, a forwarder can selectively direct data from the forwarder to a processor according to a loading parameter. The selective direction includes forwarding the data to the processor for processing, transforming and/or forwarding the data to another node, and dropping the data. The forwarder can also adjust the loading parameter based on, at least in part, feedback received from the processor. One or more processing elements can store values associated with one or more flows into a structure without locking the structure. The stored values can be used to determine how to direct the flows, e.g., whether to process a flow or to drop it. The structure can be used within an information channel providing feedback to a processor.

First claim

Opening claim text (preview).

Accordingly, we claim: 1. A cell for load balancing, the cell comprising: a processor; a forwarder; a data channel; and an information channel for receiving feedback at the forwarder from the processor, the forwarder being adapted to: (i) (A) forward data to the processor via the data channel, (B) transform the data and forward transformed data to a node different from the processor, and (C) drop the data, according to a loading parameter of the cell, (ii) selectively direct the data from the forwarder by choosing between directly forwarding the data to the processor, transforming modified data to the node different from the processor, and dropping the data, and (iii) adjust the loading parameter based on, at least in part, the received feedback. 2. The cell of claim 1 , wherein the forwarder is adapted to adjust the loading parameter by at least one of: (i) decreasing the loading parameter to cause reduction in congestion at the processor, and (ii) increasing the loading parameter to cause increase in an amount of information processed at the processor. 3. The cell of claim 1 , wherein the forwarder is adapted to: receive a flow, the flow comprising a sequence of N data units indexed from [0, N−1], each data unit comprising an amount of information, at least one data unit d[i] comprising a greater amount of information than a data unit d[j] such that index i is smaller than index j; and adjust the loading parameter such that the data unit d[i] is forwarded to the processor and the data unit d[j] is not forwarded to the processor. 4. The cell of claim 3 wherein: each data unit d[l] comprises a greater amount of information than a data unit d[m] if index l is smaller than index m; and the forwarder is adapted to adjust the loading parameter such that data units d[0] through d[k−1] are forwarded to the processor and the data units d[k] through d[N−1] are dropped. 5. The cell of claim 1 , wherein the processor comprises a plurality of sub-processors. 6. The cell of claim 1 , wherein the data channel comprises memory configured as a queue. 7. The cell of claim 1 , wherein the information channel comprises memory configured as a hash table. 8. A system comprising a plurality of levels, each level comprising: a plurality of processors; a plurality of forwarders; a plurality of data channels, each data channel being adapted for forwarding data from a corresponding forwarder within the plurality of forwarders to a corresponding processor within the plurality of processors; and a plurality of information channels, each information channel being adapted for providing feedback to a corresponding forwarder from one or more processors at any level, wherein each forwarder is adapted for: (i) selectively directing data to the corresponding processor according to a loading parameter associated with the forwarder, (ii) receiving feedback from a corresponding processor, and (iii) adjusting the associated loading parameter based on, at least in part, the received feedback, wherein at least one processor within the plurality of processors at a first level comprises a parameter that is lacking in or has a different value than at least one processor within the plurality of processors at a second level. 9. The system of claim 8 , wherein: the plurality of levels comprises four levels; at least one processor at the first level comprises a core; at least one processor at the second level comprises a central processing unit (CPU); at least one processor at a third level comprises a host; and at least one processor at a fourth level comprises a local network. 10. A method of balancing a cell, the method comprising the steps of: at a forwarder adapted to, according to a loading parameter of the cell: (A) forward data to a processor via a data channel, (B) transform the data and forward transformed data to a node different from the processor, and (C) drop the data, selectively directing the data to a processor via the data channel, the selective directing being based on, at least in part, a loading parameter of the cell, and comprises selecting from: (A) forwarding the data to the processor, (B) transforming the data and forwarding transformed data to a node different than the processor, and (C) dropping the data; analyzing at the forwarder feedback from the processor, the feedback being received via an information channel; and adjusting at the forwarder the loading parameter, based on, at least in part, the received feedback. 11. The method of claim 10 , wherein the adjusting step comprises at least one of: (i) decreasing the loading parameter to cause reduction in congestion at the processor, and (ii) increasing the loading parameter to cause increase in an amount of information processed at the processor. 12. The method of claim 10 , further comprising: receiving a flow at the forwarder, the flow comprising a sequence of N data units indexed from [0, N−1], each data unit comprising an amount of information, at least one data unit d[i] comprising a greater amount of information than a data unit d[j] such that index i is smaller than index j; wherein the loading parameter is adjusted such that the data unit d[i] is forwarded to the processor and the data unit d[j] is not forwarded to the processor. 13. The method of claim 12 wherein: each data unit d[l] comprises a greater amount of information than a data unit d[m] if index l is smaller than index m; and the loading parameter is adjusted such that data units d[0] through d[k−1] are forwarded to the processor and the data units d[k] through d[N−1] are dropped. 14. The method of claim 10 , wherein the processor comprises a plurality of sub-processors. 15. The method of claim 10 , wherein the data channel comprises memory configured as a queue. 16. The method of claim 10 , wherein the information channel comprises memory configured as a hash table. 17. A method of balancing cells at a plurality of levels, each level comprising: (i) a plurality of processors, (ii) a plurality of forwarders, (iii) a plurality of data channels, each data channel being adapted for forwarding data from a corresponding forwarder within the plurality of forwarders to a corresponding processor within the plurality of processors, and (iv) a plurality of information channels, each information channel being adapted for providing feedback to a corresponding forwarder from one or more processors at any level, the method comprising, at each level, at each forwarder: selectively directing data to the corresponding processor according to a loading parameter associated with the forwarder; receiving feedback from a corresponding processor; and adjusting the associated loading parameter based on, at least in part, the received feedback, at least one processor within the plurality of processors at a first level comprising a parameter that is lacking in or has a different value than at least one processor within the plurality of processors at a second level. 18. The method of claim 17 , wherein: the plurality of levels comprises four levels; at least one processor at the first level comprises a core; at least one processor at the second level comprises a central processing unit (CPU); at least one processor at a third level comprises a host; and at least one processor at a fourth level comprises a local network. 19. An article of manufacture, comprising a non-transitory machine-readable medium storing instructions that, when executed by a machine, configure: a first processing element as a processor;

Assignees

Inventors

Classifications

  • G06F9/5083Primary

    Techniques for rebalancing the load in a distributed system · CPC title

  • Interprocessor communication · CPC title

  • by monitoring network traffic (monitoring network traffic per se H04L43/00) · CPC title

  • using directory or table look-up (use of a directory or look-up table in file systems G06F16/13) · CPC title

  • Network arrangements or protocols for supporting network services or applications (user-to-user messaging H04L51/00; network arrangements, protocols or services for supporting real-time applications in data packet communications networks H04L65/00) · 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 US9798588B1 cover?
For balancing load, a forwarder can selectively direct data from the forwarder to a processor according to a loading parameter. The selective direction includes forwarding the data to the processor for processing, transforming and/or forwarding the data to another node, and dropping the data. The forwarder can also adjust the loading parameter based on, at least in part, feedback received from …
Who is the assignee on this patent?
Reservoir Labs Inc, Significs And Elements Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5083. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).