Flow scheduling for network application
First Claim
1. A method for scheduling data flows among processors, comprising, receiving a request for processing, identifying a processor group to process the request, the processor group including at least one processor;
- consulting a flow schedule associated with the identified processor group, and, transferring the request to at least one processor in the identified processor group based on the associated flow schedule.
12 Assignments
0 Petitions
Accused Products
Abstract
A method and system for distributing flows between a multiple processors. The flows can be received from an external source such as a network, by a front-end processor that recognizes the flow and the associated request, and identifies at least one internal applications processor to process the request/flow. The front-end processor utilizes a flow scheduling vector related to the identified applications processor(s), and the flow scheduling vector can be based on intrinsic data from the applications processor(s) that can include CPU utilization, memory utilization, packet loss, and queue length or buffer occupation. In some embodiments, applications processors can be understood to belong to a group, wherein applications processors within a group can be configured identically. A flow schedule vector can be computed for the different applications processor groups. In some embodiments, a control processor can collect the intrinsic applications processor data, compute the flow scheduling vectors, and transfer the flow scheduling vectors to the front-end processor.
-
Citations
37 Claims
-
1. A method for scheduling data flows among processors, comprising,
receiving a request for processing, identifying a processor group to process the request, the processor group including at least one processor; -
consulting a flow schedule associated with the identified processor group, and, transferring the request to at least one processor in the identified processor group based on the associated flow schedule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus to process a data flow on a network, comprising,
at least one flow processor module having at least one processor, at least one network processor module having at least one processor, at least one interface to receive the data flow from the network, and instructions to cause the at least one processor to forward the data flow to at least one flow processor module capable of processing the data flow, and, at least one control processor module in communication with the at least one flow processor module, and having at least one processor and instructions for causing the at least one processor to receive intrinsic data from the at least one flow processor module.
-
28. An apparatus for scheduling data flows on a network, comprising
a front-end processor to receive data flows from the network, at least one applications processor group to process the flows, at least one flow schedule associated with the at least one applications processor group, and, instructions to cause the front-end processor to identify at least one applications processor group to process the flow, select at least one processor within the identified processor group, and transfer the flow to the selected processor.
- 35. A method for scheduling data flows among at least two processors, comprising computing a flow schedule based on historic performance data from the at least two processors.
Specification