Network relay apparatus and packet distribution method
First Claim
1. A network relay apparatus comprising a receive queue, a packet distribution processor for taking out packets from the receive queue, a plurality of processing waiting queues, a plurality of packet processors corresponding to the processing waiting queues, and a transmit queue, the network relay apparatus further comprising:
- a statistical information collector for regularly collecting load states of the plurality of packet processors; and
a distribution information holder for holding the load states collected by the statistical information collector and a distribution information table in which hash values, packet processors and counters are associated with one another;
wherein after the packet distribution processor has transmitted a packet to one of the processing waiting queues, the packet distribution processor increments a counter associated with a hash value corresponding to the packet transmitted by the packet distribution processor, in the distribution information table,wherein after each of the packet processors has transmitted a packet stored in one of the processing waiting queues to the transmit queue, the packet processor decrements a counter associated with a hash value corresponding to the packet transmitted by the packet processor, in the distribution information table, andwherein, when a packet is acquired from the receive queue, the packet distribution processor refers to a counter associated with a hash value corresponding to the acquired packet in the distribution information table, and when the value of the referred counter is 0, the packet distribution processor specifies a packet processor having a light load and switches a packet processor currently associated with the hash value corresponding to the acquired packet, in the distribution information table to the specified packet processor.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a network relay apparatus capable of assuring the prevention of occurrence of order reversion of packets within flows and shifting a packet distribution destination according to load information. The network relay apparatus includes: a packet distribution processor for distributing input packets to thereby achieve load dispersion of packet processing; a statistical information collector for regularly collecting load conditions of respective packet processors; and a distribution information holder for retaining information for specifying the packet distribution destinations upon distribution of the packets. Information about the load conditions of the respective packet processors are compiled and distributed to the packet processor smallest in load. Timing provided to change the packet distribution destination is assumed to be given when a processing waiting queue does not include a packet corresponding to its flow.
-
Citations
5 Claims
-
1. A network relay apparatus comprising a receive queue, a packet distribution processor for taking out packets from the receive queue, a plurality of processing waiting queues, a plurality of packet processors corresponding to the processing waiting queues, and a transmit queue, the network relay apparatus further comprising:
-
a statistical information collector for regularly collecting load states of the plurality of packet processors; and a distribution information holder for holding the load states collected by the statistical information collector and a distribution information table in which hash values, packet processors and counters are associated with one another; wherein after the packet distribution processor has transmitted a packet to one of the processing waiting queues, the packet distribution processor increments a counter associated with a hash value corresponding to the packet transmitted by the packet distribution processor, in the distribution information table, wherein after each of the packet processors has transmitted a packet stored in one of the processing waiting queues to the transmit queue, the packet processor decrements a counter associated with a hash value corresponding to the packet transmitted by the packet processor, in the distribution information table, and wherein, when a packet is acquired from the receive queue, the packet distribution processor refers to a counter associated with a hash value corresponding to the acquired packet in the distribution information table, and when the value of the referred counter is 0, the packet distribution processor specifies a packet processor having a light load and switches a packet processor currently associated with the hash value corresponding to the acquired packet, in the distribution information table to the specified packet processor. - View Dependent Claims (5)
-
-
2. A network relay apparatus comprising:
-
a packet distribution processor for distributing input packets, based on hash values to thereby achieve load dispersion of packet processing; a statistical information collector for regularly collecting load states of respective packet processors used to specify packet distribution destinations; a distribution information holder for managing information for specifying the packet distribution destinations upon distribution of the packets; and a plurality of the packet processors for processing the distributed packets; wherein the distribution information holder has a distribution information table in which hash values, packet processors and counters are associated with one another, wherein after completion of the packet processing, the packet distribution processor increments a counter associated with a hash value corresponding to a packet processed by the packet distribution processor, in the distribution information table, wherein after completion of the packet processing, each of the packet processors decrements a counter associated with a hash value corresponding to a packet processed by the packet processor, in the distribution information table, and wherein, when the packet distribution processor acquires a packet from a receive queue, the packet distribution processor refers to a counter associated with a hash value corresponding to the acquired packet, in the distribution information table, and when the value of the referred counter is 0, the packet distribution processor specifies a packet processor having a light load and switches a packet processor currently associated with the hash value corresponding to the acquired packet, in the distribution information table to the specified packet processor.
-
-
3. A packet distribution method comprising the steps of:
-
taking out each packet from a receive queue; collecting load states of a plurality of packet processors for processing the packet; calculating a hash value of the packet; referring to a distribution information table, based on the hash value; confirming whether a counter value of the distribution information table is 0; in case where the counter value is 0, specifying a packet processor having a light load; distributing the packet to a processing waiting queue of the specified packet processor; incrementing the counter value; taking out the packet from the processing waiting queue; outputting the packet; and decrementing the counter value. - View Dependent Claims (4)
-
Specification