Patent ID: 8885646

Claim:
A distributed packet processing apparatus comprising: a plurality of processing engines each configured to process allocated packets; a first tag generating unit configured to allocate an input packet to a processing engine, which has a processing engine index corresponding to a tag index for the input packet, among the plurality of processing engines; a second tag generating unit configured to calculate a tag index for an output packet; an index conversion unit configured to convert the tag index for the output packet to one processing engine index among a plurality of processing indexes for the plurality of the processing engines and allocates the output packet to a processing engine having the one processing engine index such that loads are distributed among the plurality of processing engines; and a processing engine information table comprising input packet processing load information and output packet processing load information for each of the plurality of processing engines, wherein the input packet and the output packet have different transmission directions and the input packet and the output packet are identified by their transmission directions, wherein the index conversion unit calculates index conversion mapping information about mapping the tag index for the output packet to the processing engine index such that the loads are distributed among the plurality of processing engines by referring to the processing engine information table, and converts the tag index for the output packet to one of the plurality of processing engine indexes for the plurality of the processing engines by use of the calculated index conversion mapping information, wherein the input packet is inputted from a network through an input port of the distributed packet processing apparatus, and the output packet is processed through the plurality of processing engines before outputting to the network through an output port of the distributed packet processing apparatus.