Packet relay control method packet relay device and program memory medium
First Claim
1. A packet relay control method, for distributing packets to a cluster having a plurality of processing nodes, said method comprising:
- creating a distribution control table storing information to enable identification of an appropriate processing node by hashing with respect to several patterns relating to a transmission origin and a destination of the packets;
matching patterns defined in the distribution control table for packets sent from an external network to addresses within the cluster;
selecting the appropriate processing node from among the plurality of processing nodes by hashing using the distribution control table and a matching pattern for a corresponding packet; and
distributing the corresponding packet to the appropriate processing node.
2 Assignments
0 Petitions
Accused Products
Abstract
A control method and apparatus for distributing packets to nodes in a cluster, while realizing a single system image at the network address level and such as to be able to simply and dynamically change the distribution destination, conditions of distribution, and the like. A pattern matching unit in a relay device receives packets coming from a packet receiving device. The packets have an address which represents a cluster. Using a distribution control table, pattern matching is performed based on the transmission origin address, transmission origin port, destination port and the like of this packet. A hash calculation unit, from the matching result, performs a hash calculation obtaining the argument of a hash function. A destination node extraction unit sets the destination node of the packet based on the hash result, using the distribution control table.
-
Citations
20 Claims
-
1. A packet relay control method, for distributing packets to a cluster having a plurality of processing nodes, said method comprising:
-
creating a distribution control table storing information to enable identification of an appropriate processing node by hashing with respect to several patterns relating to a transmission origin and a destination of the packets;
matching patterns defined in the distribution control table for packets sent from an external network to addresses within the cluster;
selecting the appropriate processing node from among the plurality of processing nodes by hashing using the distribution control table and a matching pattern for a corresponding packet; and
distributing the corresponding packet to the appropriate processing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
wherein the patterns are formed of elements, and wherein said method further comprises: creating the distribution control table using information indicating whether to use individual elements of the patterns as hash parameters; and
extracting the individual elements of the matching pattern for use as corresponding hash parameters of the corresponding packet.
-
-
4. A packet relay control method as set forth in claim 1, further comprising:
counting and recording at least one of a number of relayed packets and a relay byte number as recorded count information, according to at least one of the matching pattern and a hash item, wherein the recorded count information can be referenced from the external network.
-
5. A packet relay control method as set forth in claim 1,
wherein correspondence between the patterns and hash outputs defined by the distribution control table are changeable. -
6. A packet relay control method as set forth in claim 5, further comprising when a processing node fails, dynamically changing the distribution control table, so that a hash output which normally points to a failed processing node points to an operating processing node.
-
7. A packet relay control method as set forth in claim 5, further comprising when changing the distribution control table during operation, setting a virtual circuit preservation pattern to preserve an existing virtual circuit.
-
8. A packet relay control method as set forth in claim 7, further comprising:
-
monitoring connection severance confirmation packets; and
automatically deleting an entry of a virtual circuit preservation pattern based on detection of a connection severance confirmation packet.
-
-
9. A packet relay control method as set forth in claim 7, further comprising:
-
while not monitoring a connection severance confirmation packet, inquiring about existing connections in a server of the processing nodes;
confirming that the existing connections have become null; and
concurrently performing delayed erasure of an entry of the virtual circuit maintenance pattern.
-
-
10. A packet relay control method as set forth in claim 1,
wherein plural addresses represent the cluster, and wherein said method further comprises relaying, to integrate in one processing node, the packets to the plural addresses. -
11. A packet relay control method as set forth in claim 1, further comprising:
-
providing to a device connecting the external network to the cluster and to at least one of the processing nodes, a copy of control information regarding the state of the distribution control table; and
when restarting after failure of the device, or when handing over processing to another device, recovering using the copy of the control information provided to the at least one of the processing nodes.
-
-
12. A packet relay control method, for distributing packets in a cluster network having a plurality of processing nodes, said method comprising:
-
creating, in a representative node within the cluster network, a distribution control table storing information used to set an appropriate processing node for receiving a packet by hashing with respect to a pattern related to a transmission origin and destination of the packet, matching the packet with the pattern;
selecting the appropriate processing node by hashing using the distribution control table and using matched information in the packet for the hashing; and
allocating the packet to the appropriate processing node.
-
-
13. A packet relay device for use with a cluster having a plurality of processing nodes, said packet relay device comprising:
-
a memory unit storing a distribution control table which indicates an appropriate processing node by hashing with respect to a pattern relating to a transmission origin and a destination of received packets;
a packet receiving unit which receives packets coming to an address representing the cluster;
a pattern matching unit, coupled to said packet receiving unit and said memory unit, which performs matching of a defined pattern, stored in said distribution control table and in received packets;
a hash calculation unit, coupled to said pattern matching unit, which performs a hash calculation using the defined pattern matched by said pattern matching unit and outputs a hash result;
a destination node extraction unit, coupled to said hash calculation unit, which selects the appropriate processing node indicated by the hash result; and
a packet signal allocation unit, coupled to said destination node extraction unit, which allocates the packet to the appropriate processing node.
-
-
14. A computer program embodied on a computer-readable medium, for controlling a computer to perform a method of distributing packets to appropriate nodes within a cluster, comprising:
-
receiving incoming packets to an address which represents a cluster;
hashing using a distribution table which sets an appropriate processing node with respect to a pattern related to a transmission origin and a destination of packets;
selecting the appropriate processing node indicated by a hash result; and
distributing the packets to the corresponding processing nodes.
-
-
15. A packet relay control method for a cluster network having a plurality of processing nodes, said method comprising:
-
creating a pattern hash table of network addresses by hashing with respect to a pattern relating to a transmission origin and a destination of a packet, matching patterns defined in the pattern hash table for packets which depart and arrive the processing nodes to and from an external network; and
changing the network addresses of the processing nodes based on a hash function.
-
-
16. A packet relay device for a cluster having a plurality of processing nodes, the packet relay device comprising:
-
storage means for storing a pattern hash table which indicates network addresses by hashing with respect to a pattern relating to a transmission origin and a destination of packets;
transmitting means for sending and receiving packets between the plurality of processing nodes and an external network;
pattern matching means for matching of the patterns defined in the pattern hash table and in the packets;
hashing means for generating hash results from hash calculations using parameters set by said pattern matching means;
extracting means for extracting network addresses of appropriate processing nodes in the pattern hash table obtained using the hash results; and
changing means for changing the network addresses of the processing nodes in packets which depart and arrive as signals.
-
-
17. A computer program embodied on a computer-readable medium for controlling a computer to perform a method of distributing packets to appropriate processing nodes in a cluster, comprising:
-
sending and receiving signals to relay the packets between processing nodes and an external network;
matching patterns defined in a pattern hash tables, using the pattern hash table to set network addresses by hashing with respect to a pattern relating to a transmission origin and a destination of the packets;
performing hash calculations using parameters indicated by the pattern;
extracting network addresses of the appropriate processing nodes using results of the hash calculations; and
changing the network addresses set by the pattern hash table for the appropriate processing nodes corresponding to the packets.
-
-
18. A method of distributing packets to individual nodes in a cluster referenced by a single virtual address, said method comprising:
-
creating a hash table which indexes hash results to the individual nodes in the cluster;
receiving a packet;
hashing using at least one characteristic of the packet, to generate a hash result;
comparing the hash result to the hash table to find a corresponding individual node in the cluster; and
distributing the packet to the corresponding individual node. - View Dependent Claims (19, 20)
-
Specification