Methods and systems for the order serialization of information in a network processing environment
First Claim
Patent Images
1. A network processing system comprising:
- a network processor having a plurality of processing cores, the processing cores operable to process information in a substantially parallel manner; and
a processor value associated with each of the processing cores, the processor value operable to identify each processing core for communicating the information.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-processor network processing environment is provided in which parallel processing may occur. In one embodiment, a network processor having multiple processor cores may be utilized. Parallel processing at the front end of the network processor is encouraged while still maintaining ordered serialization between the input and the output of the network processor. The disclosed order serialization techniques obtain the benefits of parallel processing at the front end of the system while minimizing blocking times at the output.
275 Citations
107 Claims
-
1. A network processing system comprising:
-
a network processor having a plurality of processing cores, the processing cores operable to process information in a substantially parallel manner; and
a processor value associated with each of the processing cores, the processor value operable to identify each processing core for communicating the information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20)
-
-
13. A method for processing information in a network environment comprising:
-
processing information using a network processor having a plurality of processing cores;
determining a valid processor value operably associated with communicating the information; and
communicating the processed information from the network processor in response to determining the valid processor value.
-
-
21. A parallel network processing system comprising:
-
a plurality of processing cores operable to process information in a substantially parallel manner;
a processor value associated with each of the processing cores, the processor value identifying each processing core;
a processing token operably associated with the processing cores, the processing token operable to identify a processing core to communicate information;
wherein the processing token is operable to be updated by a valid processing core; and
output memory coupled to the plurality of processing cores, the output memory operable to store the information based on the valid processing core.
-
-
22. A method of operating a network processor comprising
providing a plurality of processor cores within the network processor; -
receiving multiple incoming data packets within the network processor;
performing parallel processing on at least a portion of the data packets with the multiple processor cores, the processing times for a plurality of the incoming data packets varying;
providing processor core processing output results which are to be forwarded for additional processing; and
maintaining order serialization of the processor core output results with respect to the order of the multiple incoming data packets, wherein the order serialization is maintained even though the processing times vary. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
38. A method of operating a network endpoint system, comprising:
-
providing a processor engine, the processor engine comprising a plurality of processor cores;
receiving an incoming data stream from a network connection;
assigning portions of the incoming data stream to the plurality of processor cores for processing;
processing the portions of the incoming data stream within the processor cores to provide output data which is to further processed by other resources of the network endpoint system; and
providing the output data from the processor cores in an order serialized manner which corresponds order of the incoming data streams.
-
-
55. A method of operating a network processor comprising:
-
receiving input data by the network processor in the form of a plurality of data packets to be processed at least in part by the network processor, the network processor providing output data to be subject to additional processing;
assigning the data packets to multiple processor cores within the network processor so that parallel processing of the data packets may be performed;
processing the data packets at least in part with the processor cores;
determining if output results of an individual processor core may be provided for further processing, the determining being based upon an output sequence; and
providing the output results of the individual processor core based upon the determining step, wherein the output results of a plurality of the processor cores are provided in an output order corresponding to the order of the input data. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63)
-
-
64. A method of operating a network processor comprising:
-
receiving incoming data packets in an incoming data order;
processing incoming data packets in a parallel processing manner with a plurality of processor cores within the network processor;
generating processing results with the processor cores, the processor results for a plurality of the incoming data packets being generated in a time order that varies from the incoming data order; and
order serializing the output results provided from the plurality of processor cores, the order serialization being with respect to the incoming data order; and
forwarded the output results so that additional processing may be performed upon the output results. - View Dependent Claims (65, 66, 67, 68, 69, 70)
-
-
71. A method of configuring an endpoint system, comprising:
-
providing a network interface processing engine to receive an incoming data stream from a network;
providing a plurality of processor cores with the network interface processing engine;
providing at least one system processing engine to perform endpoint functions in response to the incoming data stream;
providing an interconnection coupling the network interface processing engine and the at least one system processing engine;
processing the incoming data stream with the plurality of processor cores in a parallel manner;
generating processor results from the incoming data stream in the plurality of processor cores in a time sequence that does not correspond to an input sequence of the incoming data stream; and
ordering an output sequence of the processor results from the plurality of processor cores such that a network interface processing engine output data stream is order serialized with respect to the input sequence of the incoming data stream. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. A network processor, comprising:
-
an input, the input provided to receive an input data stream;
a plurality of processor cores, the processor cores be configured to process data packets and then forward the data packets for additional processing, the processor cores coupled to the input; and
a processor output token coupled to the plurality of processor cores so that the plurality of processor cores utilize the processor output token to determine an output sequence for the processor cores, wherein the output sequence of the processor cores is order serialized with respect to the input data stream. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94)
-
-
95. A network connectable computing system, the system being configured to be connected on at least one end to a network, the system comprising:
-
a network interface engine comprising at least one network processor having a plurality of processor cores, the network interface engine coupling an input data stream from the network to the computing system;
at least one system processor engine providing system functionality processing; and
a distributed interconnection between the at least one system processor engine and the network interface engine, wherein processor results from the plurality of processor cores are provided in a time sequence that is different from an input sequence of the incoming data stream; and
order serialization is applied within the network interface engine such that a network interface processing engine output data stream is order serialized with respect to the input sequence of the incoming data stream. - View Dependent Claims (96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107)
-
Specification