US20080130671A1 - Packet distributing apparatus and packet distributing method - Google Patents
Packet distributing apparatus and packet distributing method Download PDFInfo
- Publication number
- US20080130671A1 US20080130671A1 US12/018,278 US1827808A US2008130671A1 US 20080130671 A1 US20080130671 A1 US 20080130671A1 US 1827808 A US1827808 A US 1827808A US 2008130671 A1 US2008130671 A1 US 2008130671A1
- Authority
- US
- United States
- Prior art keywords
- packet
- transfer
- port
- admissible
- ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Definitions
- the present invention relates to a packet distributing apparatus and a packet distributing method for determining routes to which packets are to be distributed, and more particularly to a packet distributing apparatus and a packet distributing method for making possible effective utilization of communication links.
- a packet sent by its sender reaches its destined recipient by successively going through a number of packet transfer apparatuses.
- the packet transfer apparatuses would be what are commonly known as routers, switches or hubs.
- the method of selecting the route over which a packet is to be sent is called routing.
- a packet transfer apparatus references information periodically exchanged among nodes in the network, the required number of hops, transfer time, the presence or absence of trouble on the route and other information, and selects a single route that can provide each individual node with the shortest or the least expensive path.
- FIG. 11 illustrates by way of example a network of a network service provider and first through fourth networks connected to it. It is supposed that first through fourth networks 101 through 104 are connected to a network 101 of the network service provider.
- the first and third networks 101 and 103 are connected to a first router 111
- the second and fourth networks 102 and 104 are connected to a second router 112 .
- the first router 111 and the second router 112 can be directly connected to each other by a link 114 .
- the first router and the second router 112 can as well be connected to each other via a third router 113 using links 115 and 116 .
- the first network 101 and the second network 102 are connected to each other via the network 101 of the network service provider. If the routing is to be determined accorded to the number of hops, the route using the link 114 directly linking the first router 111 and the second router 112 will be set. Where routing is set between the first network 101 and the second network 102 in this manner, the set routing will never be changed unless network trouble such as a node failure arises, the network configuration is altered or the operator of any network changes the setting for itself.
- link a communication link between the third network 103 and the fourth network 104
- the aforementioned contract will prevent this user from using the link 114 , and only the link 115 for linking the first router 111 and the third router 113 or the link 116 for linking the second router 112 and the third router 113 can be set for the user B.
- this link 114 cannot be used by the user B.
- An object of the present invention is to provide a packet distributing apparatus and a packet distributing method which, in a situation in which a link can be allocated to a specific user or a specific traffic with priority, permit effective utilization of any unoccupied capacity that may arise on that link.
- a packet distributing apparatus is provided with a plurality each of input ports and output ports, prepared for inputting and outputting of packets and each linked to a different node;
- transfer destination ports each to be selected with priority as an output port, on the basis of information inputted from the plurality of input ports, when the packet is to be sent to its destination;
- a port information searching unit for searching for information regarding a transfer-admissible port as an output to which a transfer is possible as judged from the usage of the link;
- packet storage buffers for temporarily storing the packet inputted from the plurality of input ports until it is outputted from the plurality of output ports, and one prepared on each of the plurality of output ports;
- a transfer-admissible port loaded state judging unit for judging from the usage of the matching one of the packet storage buffers whether or not there is a less loaded transfer-admissible port, on which the load of packet output is less than a prescribed value, among the transfer-admissible ports;
- a packet sending unit for sending, when the transfer-admissible port loaded state judging unit has judged that there is a less loaded transfer-admissible port among the transfer-admissible ports, a packet stored in the packet storage buffer to the less loaded transfer-admissible port.
- the port information searching unit searches for two kinds of information including information on output ports each to be selected with priority according to information written in that packet (transfer destination ports) and output ports to which transferring is possible as judged from the link usage (transfer-admissible ports).
- the usage of each of the packet storage buffers prepared on the side of the plurality of output ports is checked, and if there is an output port bearing a less load of packet output than a prescribed value among the transfer-admissible ports (less loaded transfer-admissible port), the packet is distributed to this less loaded transfer-admissible port, thereby making possible packet sending control matching the port load level from time to time and effective utilization of any unoccupied capacity on the link.
- FIG. 1 is a block diagram showing the configuration of a router as a packet distributing apparatus, which is a first preferred embodiment of the invention
- FIG. 2 shows an example of contents set in a user identification table in FIG. 1 ;
- FIG. 3 shows the contents of a transfer destination port table for all users in the first preferred embodiment of the invention
- FIG. 4 shows the contents of identifiers in the transfer destination port table in FIG. 3 ;
- FIG. 5 shows an example of contents set in a load detection setting table in FIG. 1 ;
- FIG. 6 is a flow chart showing the processing by a distributing circuit in the first embodiment of the invention.
- FIG. 7 is a block diagram showing the configuration of a router in a second preferred embodiment of the invention.
- FIG. 8 is a flow chart showing the processing by a distributing circuit in the second embodiment of the invention.
- FIG. 9 is a block diagram showing the configuration of a router in a third preferred embodiment of the invention.
- FIG. 10 is a flow chart showing the processing by a distributing circuit in the third embodiment of the invention.
- FIG. 11 shows a network configured of a network, consisting of a router which may be any of the embodiments of the invention, of a network service provider and first through fourth networks connected to this network.
- FIG. 1 shows the configuration of a router as a packet distributing apparatus, which is a first preferred embodiment of the invention.
- a first router 111 is provided with first through Nth ports P 1 through P N to be connected to match first through Nth nodes not shown.
- the first through Nth ports P 1 through P N are connected to first through output interface circuits (IF) 202 1 through 202 N and first through Nth input interface circuits (IF) 203 1 through 203 N provided to match the respective ports.
- IF output interface circuits
- IF input interface circuits
- the first through Nth input interface circuits 203 1 through 203 N convert physical signals, such as electrical signals or optical signals inputted from respectively matching first through Nth ports P 1 through P N into logical signals of Internet Protocol (IP) packet data or frame data (hereinafter collectively referred to as packet data). Signals converted by the input interface circuits 203 1 through 203 N into packet data are transferred to an input buffer 204 .
- IP Internet Protocol
- the input buffer 204 is a circuit for temporarily storing packet data until the port of transfer destination is determined.
- the input buffer 204 is connected to a transfer destination searching unit 205 and a distributing circuit 206 .
- the transfer destination searching unit 205 searches header information and the like contained in a packet for user identifying information and a transfer destination port, and instructs the input buffer 204 to transfer the retrieved information.
- To the transfer destination searching unit 205 are connected a user identification table 207 and a transfer destination port table 208 .
- the user identification table 207 is a table for finding from header information and the like contained in a packet a user identifier by which a user can be unequivocally identified.
- the transfer destination port table 208 is a table holding user identifying information, transfer destination ports matching destination addresses, and information on transfer-admissible ports.
- the distributing circuit 206 receives from the input buffer 204 , after the transfer destination port is determined, packet data and the transfer destination port number. On the output side of the distributing circuit 206 are provided first through Nth output buffer units 209 1 through 209 N and first through Nth usage detecting units 211 1 through 211 N provided to match these output buffer units.
- the first through Nth usage detecting units 211 1 through 211 N read the usage (quantity of buffered packet data) of the matching one of the first through Nth output buffer units 209 1 through 209 N , and notifies the distributing circuit 206 as to whether or not that value is above a preset value in the load detection setting table 212 .
- Packets stored in the first through Nth output buffer units 209 1 through 209 N are outputted to the respectively matching ones of first through Nth output interface circuits 202 1 through 202 N .
- the first through Nth output interface circuits 202 1 through 202 N convert logical signals, such as packet data, into physical signals, such as electrical signals or optical signals, and output converted signals.
- FIG. 2 shows an example of contents set in the user identification table 207 explained with reference to FIG. 1 .
- the user identification table 207 is intended for finding a user identifier by which a user can be unequivocally identified.
- any field of packet data e.g. the header information part
- TCP transmission control protocol
- Entries “any” in the user identification table 207 mean that whatever value in that field would specify a user identifier. Therefore, in the user identification table 207 of FIG. 2 , the user identifier is specified by the sender address alone.
- FIG. 3 shows the contents of a transfer destination port table 208 for all users.
- This transfer destination port table 208 holds information for the transfer destination searching unit 205 shown in FIG. 1 to find a transfer destination port and transfer-admissible port from a user identifier and a destination address.
- the user identifier here can be found from the user identification table 207 shown in FIG. 2 .
- the destination address is information indicating the destination node of transferred packet data. This corresponds to the “DESTINATION ADDRESS” field in the Internet Protocol prescribed in the request for comments (RFC) 791 put together by the (Internet Engineering Task Force (IETF), the standardization body for Internet-related technology.
- RRC request for comments
- the transfer destination port table 208 In the column of the “transfer destination port” in the transfer destination port table 208 shown in FIG. 3 , one route determined according to the routing protocol used by the Internet is indicated as is the conventional practice.
- the conventional router differing from this embodiment of the invention, packets are transferred solely according to information shown in this “transfer destination port” column.
- the transfer destination port table 208 in this embodiment has, in addition to this “transfer destination port”, columns of a “first transfer-admissible port” through a “t-th transfer-admissible port”. These “transfer-admissible ports” cannot be used for transferring when traffics having priority in their use are using these transfer-admissible ports. However, when no traffic having priority is using any of them, these transfer-admissible ports can be used for transferring. In the transfer destination port table 208 , these available ports are also listed.
- FIG. 4 shows a part where the user identifier is “UID-1”, extracted from the transfer destination port table shown in FIG. 3 .
- packet whose “destination address” is “10.1.x.x” can use the port “P 2 ” as the usual transfer destination port.
- P 1 is set in the column of the first transfer-admissible port.
- x in the transfer destination port table 208 of FIG. 4 can be any numerical value. Therefore, for instance “10.2.x.x” means that any address beginning with “10.2.” can fit in.
- FIG. 5 shows an example of configuration of the load detection setting table in FIG. 1 .
- the threshold of usage (the maximum number of buffered packets) is set for each of the first through Nth output buffer units 209 1 through 209 N .
- the threshold for the first output buffer unit 209 1 is “100”.
- the operation of the router 111 as the packet distributing apparatus configured as described will be explained in detail below.
- the same network configuration as what is shown in FIG. 11 is supposed to be used.
- the second and third routers 112 and 113 are supposed to have the same internal configuration as that of the first router 111 .
- the aforementioned first port P 1 of the first router 111 is supposed to be connected to the link 114 , and the second port P 2 , connected to the link 115 . Further, the third port P 3 is supposed to be connected to a link 221 , the fourth port P 4 , to a link 222 .
- the user identifier of the user belonging to the first network 101 and the second network 102 is supposed to be “UID-2”, and that of the user belonging to the third network 103 and the fourth network 104 , to be “UID-1”.
- the user of the first network 101 is supposed to have an address beginning with “10.11” as shown in FIG. 3
- the user of the second network 102 an address beginning with “10.10”.
- the user of third network 103 is supposed to have an address beginning with “10.2”
- the user of the fourth network 104 an address beginning with “10.1”.
- the first router 111 on a normal occasion can transfer a packet to the second port P 2 using the user identifier “UID-1”. It is shown that, when the first port P 1 is not used by the user having the user identifier “UID-2”, the user having the user identifier “UID-1” can also use the first port P 1 as the first transfer-admissible port.
- the user of the third network 103 transfers a packet to the user of the fourth network 104 .
- the address of the user of the third network 103 is supposed to begin with “10.2”. Therefore, the sender address may be, for instance, “10.2.100.100”.
- the destination, as it is the user of the fourth network 104 will be “10.1.50.50” for instance.
- the packet transmitted from the third network 103 arrives at the fourth port P 4 of the first router 111 .
- the data having arrived at the fourth port P 4 are converted by a fourth input interface circuit 203 4 from physical signals into signals consisting of logical packet data.
- the converted data are transferred to the input buffer 204 .
- the input buffer 204 hands over to the transfer destination searching unit 205 the field of the packet data required by the transfer destination searching unit 205 .
- the information part having a sender address of “10.2.100.100” and a destination address of “10.1.50.50” is handed over to the transfer destination searching unit 205 .
- the input buffer 204 holds the packet data and waits until search processing by the transfer destination searching unit 205 is completed.
- the transfer destination searching unit 205 searches for a setting identical with the sender address, the sender port number, the destination address and the destination port number notified from the input buffer 204 . Searching for the sender port number and the destination port number are set to fit any values as shown in the user identification table 207 of FIG. 2 . Therefore, description of the operation to search for the sender port number and the destination port number will be dispensed with.
- the sender address is “10.2.100.100”, it fits the setting on the second row of the user identification table 207 in FIG. 2 . Accordingly, it is identified to be the user having the user identifier “UID-1”.
- the transfer destination searching unit 205 hands over to the input buffer 204 the information thereby obtained.
- the input buffer 204 which has held the packet data and waited transfers, using the information from the transfer destination searching unit 205 , information indicating that the transfer destination port of the packet data is the second port P 2 and that the transfer-admissible port is the first port P 1 to the distributing circuit 206 .
- FIG. 6 is a flow chart showing the processing by the distributing circuit 206 shown in FIG. 1 .
- the first router 111 is provided with a central processing unit (CPU) though not shown, and performs prescribed control of the distributing circuit 206 by executing a program stored on a recording medium such as a Read Only Memory (ROM) not shown either.
- CPU central processing unit
- ROM Read Only Memory
- the distributing circuit 206 first receives from the input buffer 204 the packet data and information on the transfer destination port and the first through t-th transfer-admissible ports (step S 241 ). In the instance described above, the distributing circuit 206 receives information indicating that the transfer destination port is the second port P 2 and that the transfer-admissible port is the first port P 1 .
- step S 242 it is judged whether or not the transfer destination port is stated to have “no load” (step S 242 ). If it has “no load”, the transfer destination port regarding which information was received at step S 241 is determined to be the transfer destination (step S 244 ). Then, the packet data are transferred to the output buffer unit 209 (one of the first through Nth output buffer units 209 1 through 209 N ) connected to this determined transfer destination port (step S 245 ) to end the processing (END).
- the distributing circuit 206 searches for a port in a state of “no load” out of the first through t-th transfer-admissible ports (step S 243 ). Then it judges whether or not there is any port stated to have “no load” among the transfer-admissible ports (step S 246 ).
- step S 244 If every transfer-admissible port is loaded (“N” at S 246 ), even if the transfer destination port is loaded, the transfer destination port is determined as the transfer destination (step S 244 ). The sequence proceeds to step S 245 to transfer the packet data to the output buffer unit 209 connected to that transfer destination port.
- step S 247 the total number of transfer-admissible ports selected as admitting a transfer. If, for instance, the total number of transfer-admissible ports is m, one of these transfer-admissible ports is selected at step S 247 at a probability of 1/m each time.
- step S 247 the sequence proceeds to step S 245 , and the packet data are transferred to, out of the output buffer units 209 (one of the first through Nth output buffer units 209 1 through 209 N ), what is connected to the transfer-admissible port is selected at the aforementioned probability.
- the packet data are transferred to the first output buffer unit 209 1 connected only to the first port P 1 .
- FIG. 7 shows the configuration of a first router 111 A in the second preferred embodiment of the invention.
- the same constituent elements as in the first embodiment shown in FIG. 1 are assigned respectively the same reference signs, and their description will be dispensed with.
- first through Nth usage checking units 301 1 through 301 N are arranged in place of the first through Nth usage detecting units 211 1 through 211 N in the first embodiment.
- the ratio of load using a function (f(x) to be explained afterwards) is also notified to the distributing circuit 206 .
- the buffered quantity held by the buffer memories of the first through Nth output buffer units 209 1 through 209 N matching the first through Nth usage checking units 301 1 through 301 N is represented by “x”, and a function varies by this buffered quantity “x” is represented by a function f(x).
- This function f(x) shows the ratio of loads among the first through Nth output buffer units 209 1 through 209 N .
- transfer-admissible ports are determined according to whether or not the threshold set in the load detection setting table 212 shown in FIG. 1 is surpassed, and selected each at the same probability (the reciprocal of the total number of transfer-admissible ports). Therefore, unlike in the second embodiment, it is impossible to vary the ratio of port selection according to the ratio of loads.
- the ratio of loads at the first port P 1 is represented by f(x 1 ).
- Equation (2) the probability R 1 of selecting the first port P 1 is calculated by the following Equation (2):
- R 1 f ′( x 1 )/ ⁇ f ′( x 1 )+ f ′( x 2 )+ f ′( x 3 ) ⁇ (2)
- the probability R 2 of selecting the second port P 2 and the probability R 3 of selecting the third port P 3 are calculated by the following Equations (3) and (4), respectively:
- R 2 f ′( x 2 )/ ⁇ f ′( x 1 )+ f ′( x 2 )+ f ′( x 3 ) ⁇ (3)
- R 3 f ′( x 3 )/ ⁇ f ′( x 1 )+ f ′( x 2 )+ f ′( x 3 ) ⁇ (4)
- sign “x” represents the buffer usage of the first output buffer unit 2091 matching the first port P 1 .
- sign “x 2 ” or “x 3 ” represents the buffer usage of the second or third output buffer unit 209 2 or 209 3 matching the second port P 2 or the third port P 3 , respectively.
- FIG. 8 is a flow chart showing the processing by the distributing circuit in the second embodiment of the invention.
- the same parts as in FIG. 6 are assigned respectively the same reference signs.
- the distributing circuit 206 first receives from the input buffer 204 packet data and information regarding the transfer destination port and the first through t-th transfer-admissible ports (step S 241 ). In the second embodiment, as in the first embodiment, the distributing circuit 206 receives information indicating that the transfer destination port is the second port P 2 and the transfer-admissible port is the first port P 1 .
- step S 242 it is judged whether or not the transfer destination port is stated to have “no load” (step S 242 ). If it is, the transfer destination port regarding which information was received at step S 241 is determined as the transfer destination (step S 244 ). Then the packet data are transferred to the output buffer unit 209 (one of the first through Nth output buffer units 2091 through 209 N) connected to this determined transfer destination port (step S 245 ) to end the processing (END).
- the distributing circuit 206 searches for a port in a state of “no load” out of the first through t-th transfer-admissible ports (step S 243 A). Then it judges whether or not there is any port stated to have “no load” among the transfer-admissible ports (step S 246 ).
- step S 244 If every transfer-admissible port is loaded (“N” at S 246 ), even if the transfer destination port is loaded, the transfer destination port is determined as the transfer destination (step S 244 ). The sequence proceeds to step S 245 to transfer the packet data to the output buffer unit 209 connected to that transfer destination port.
- step S 247 A if the transfer destination port itself is not stated to have “no load” and there is any transfer-admissible port stated to have “no load” (“Y” at S 246 ), one of these transfer-admissible ports is selected according to a calculated probability (step S 247 A).
- step S 247 A the sequence proceeds to step S 245 , and the packet data are transferred to the output buffer unit 209 connected to the transfer-admissible port selected at the aforementioned probability (one of the first through Nth output buffer units 209 1 through 209 N ).
- Equation (5) the reciprocal of the load ratio can be represented by the following Equation (5), where f(x) is the load ratio of a port x:
- the probability of selecting the first port P 1 will be as represented by the following formula (7):
- FIG. 9 showing the configuration of a first router 111 B in the third preferred embodiment of the invention.
- the same constituent elements as in the first embodiment shown in FIG. 1 are assigned respectively the same reference signs, and their description will be dispensed with.
- Each of first through Nth output buffer units 209 1 through 209 N of the router 111 B in this second embodiment consists of a high priority buffer H and a low priority buffer L. While the high priority buffer H and the low priority buffer L can store packets at the same time, when packets are stored at the same time, a packet is always taken out first from the high priority buffer H, and outputted to the matching one of the first through Nth output interface circuits 202 1 through 202 N .
- the low priority buffer L outputs packet stored therein to the matching one of the first through Nth output interface circuits 202 1 through 202 N only when there is no packet in the high priority buffer H.
- the first through Nth usage detecting units 211 1 through 211 N read the usage (the quantity of buffered packet data) of the high priority buffer H and that of the low priority buffer L for each of the first through Nth output buffer units 209 1 through 209 N .
- the first through Nth usage detecting units 211 1 through 211 N notify the distributing circuit 206 whether or not the usage of the high priority buffer H and that of the low priority buffer L have surpassed the value set in the load detection setting table 212 .
- the first through Nth output interface circuits 202 1 through 202 N convert logical signals, such as packet data, into physical signals, such as electrical signals or optical signals, and output converted signals.
- the user's packet which should be transferred in its own right in the router 111 B of this third embodiment is transferred to the high priority buffer H of the matching one of first through Nth output buffer units 2091 through 209 N.
- a packet transferred to a port selected as a transfer-admissible port is stored in the low priority buffer L of the matching one of the first through Nth output buffer units 209 1 through 209 N .
- Managing the first through Nth output buffer units 209 1 through 209 N with discrimination between the high priority buffer H and the low priority buffer L in such a manner makes possible efficient transferring of packets without affecting the user's packet which should be transferred in its own right.
- the first through Nth usage detecting units 211 1 through 211 N notify the distributing circuit 206 of information as to whether or not the usage of the high priority buffer H (fh(x)) has surpassed the threshold set in the load detection setting table 212 .
- the first through Nth usage detecting units 211 1 through 211 N also notify the distributing circuit 206 of the load ratio of the low priority buffer L (fl(x)).
- FIG. 10 is a flow chart showing the processing by the distributing circuit in the third embodiment of the invention.
- the same parts as in FIG. 6 and FIG. 8 are assigned respectively the same reference signs.
- the distributing circuit 206 first receives from the input buffer 204 packet data and information regarding the transfer destination port and the first through t-th transfer-admissible ports (step S 241 ).
- step S 242 it is judged whether or not the transfer destination port is stated to have “no load” (step S 242 ). If it is, the transfer destination port regarding which information was received at step S 241 is determined as the transfer destination (step S 244 ). Then the packet data are transferred to the output buffer unit 209 (one of the first through Nth output buffer units 209 1 through 209 N ) connected to this determined transfer destination port (step S 245 ) to end the processing (END).
- the distributing circuit 206 according to the information regarding the load on the high priority buffer H of each port notified from the first through Nth usage detecting units 211 1 through 211 N searches for a port of which the high priority buffer H has “no load” out of the first through t-th transfer-admissible ports (step S 243 B). Then it judges whether or not there is a port of which the high priority buffer H is stated to have “no load” out of the transfer-admissible ports (step S 246 ).
- step S 244 If there is a load on the high priority buffer H of every transfer-admissible port (“N” at S 246 ), even if there is a load on the transfer destination port, the transfer destination port is determined as the transfer destination (step S 244 ). The sequence proceeds to step S 245 , and the packet data are transferred to the output buffer unit 209 connected to that transfer destination port.
- step S 247 B the sequence proceeds to step S 245 , and the packet data are transferred to the output buffer unit 209 connected to the transfer-admissible port selected at the aforementioned probability (one of the first through Nth output buffer units 209 1 through 209 N ).
- two kinds of table including the user identification table 207 and the transfer destination port table 208 , are used, but they can as well be combined into a single table, which may be searched for the same purpose.
- Similar searching can be done using an associative memory, such as a contents address memory (CAM).
- an associative memory such as a contents address memory (CAM).
- the present invention can provide the following advantages. First, when two kinds of information are read from what is written in a packet, including information on output ports selectable with priority (transfer destination ports) and output ports to which transferring is possible as judged from the link usage (transfer-admissible ports), if there is no load on any transfer-admissible port, the packet is distributed to that transfer-admissible port. It is thereby made possible to possible to positively utilize unoccupied links and to use network resources more effectively.
- a judging unit for the loaded state of transfer-admissible ports determines the presence of a plurality of transfer-admissible ports bearing less loads than a prescribed level with respect to the sending of packets, a packet is distributed to one of these transfer-admissible ports. Therefore, loads can be more dispersed than where they are distributed to one specific transfer-admissible port.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In a packet distributing apparatus and a packet distributing method which, in a situation in which a link can be allocated to a specific user or a specific traffic with priority, can effectively utilize any unoccupied link, a packet inputted via first through Nth the input interface circuits 203 1 through 203 N is provided by a transfer destination searching unit 205 with a transfer destination port and a transfer-admissible port. Usage detecting units 211 1 through 211 N check the usage of a transfer-admissible port matching the pertinent one of first through Nth output buffer units 209 1 through 209 N, and distribute the packet to a transfer-admissible port bearing a less load than a prescribed level (less loaded transfer-admissible port). If there is no less-loaded transfer-admissible port, the packet is distributed to the transfer destination port for which it is destined in its own right.
Description
- 1. Field of the Invention
- The present invention relates to a packet distributing apparatus and a packet distributing method for determining routes to which packets are to be distributed, and more particularly to a packet distributing apparatus and a packet distributing method for making possible effective utilization of communication links.
- 2. Description of the Related Art
- In a network, such as the Internet, a packet sent by its sender reaches its destined recipient by successively going through a number of packet transfer apparatuses. The packet transfer apparatuses would be what are commonly known as routers, switches or hubs. The method of selecting the route over which a packet is to be sent is called routing.
- A packet transfer apparatus references information periodically exchanged among nodes in the network, the required number of hops, transfer time, the presence or absence of trouble on the route and other information, and selects a single route that can provide each individual node with the shortest or the least expensive path.
-
FIG. 11 illustrates by way of example a network of a network service provider and first through fourth networks connected to it. It is supposed that first throughfourth networks 101 through 104 are connected to anetwork 101 of the network service provider. Here, the first andthird networks first router 111, and the second andfourth networks second router 112. Thefirst router 111 and thesecond router 112 can be directly connected to each other by alink 114. The first router and thesecond router 112 can as well be connected to each other via athird router 113 usinglinks - Now it is supposed that the
first network 101 and thesecond network 102 are connected to each other via thenetwork 101 of the network service provider. If the routing is to be determined accorded to the number of hops, the route using thelink 114 directly linking thefirst router 111 and thesecond router 112 will be set. Where routing is set between thefirst network 101 and thesecond network 102 in this manner, the set routing will never be changed unless network trouble such as a node failure arises, the network configuration is altered or the operator of any network changes the setting for itself. Therefore, supposing that a user (not shown) of the first andsecond networks link 114 with the network service provider of thenetwork 100, even if the user A uses thelink 114 with a load of far less than 100%, no other user B (not shown) can use thelink 114. - If the user B intends to establish a communication link (hereinafter referred to as simply “link”) between the
third network 103 and thefourth network 104, the aforementioned contract will prevent this user from using thelink 114, and only thelink 115 for linking thefirst router 111 and thethird router 113 or thelink 116 for linking thesecond router 112 and thethird router 113 can be set for the user B. Thus, even when thelink 114 is not used by the first andsecond networks link 114 cannot be used by the user B. - As described above, the conventional method by which each user selects only one route and sends out packets on this route prevents the whole network from efficient utilization.
- In view of this problem, there is proposed an idea of distributing loads in the whole network. For instance, to reduce the load on the node bearing the heaviest load in the network, the traffic can be distributed among a plurality of routes. This idea presupposes that all the users or traffics using the network are to be equal. If any inequality arises, loads on a plurality of links will be distributed in a calculated ratio.
- By this proposed method, however, the ratio of load distribution among the plurality of links is fixed. Therefore, where a link is allocated exclusively or with priority to a specific user or a specific traffic, if there happens to arise a situation in which that link is not used, it will result in the same problem as with the prior art that the network cannot be effectively utilized.
- An object of the present invention, therefore, is to provide a packet distributing apparatus and a packet distributing method which, in a situation in which a link can be allocated to a specific user or a specific traffic with priority, permit effective utilization of any unoccupied capacity that may arise on that link.
- A packet distributing apparatus according to the invention is provided with a plurality each of input ports and output ports, prepared for inputting and outputting of packets and each linked to a different node;
- transfer destination ports each to be selected with priority as an output port, on the basis of information inputted from the plurality of input ports, when the packet is to be sent to its destination;
- a port information searching unit for searching for information regarding a transfer-admissible port as an output to which a transfer is possible as judged from the usage of the link;
- packet storage buffers for temporarily storing the packet inputted from the plurality of input ports until it is outputted from the plurality of output ports, and one prepared on each of the plurality of output ports;
- a transfer-admissible port loaded state judging unit for judging from the usage of the matching one of the packet storage buffers whether or not there is a less loaded transfer-admissible port, on which the load of packet output is less than a prescribed value, among the transfer-admissible ports; and
- a packet sending unit for sending, when the transfer-admissible port loaded state judging unit has judged that there is a less loaded transfer-admissible port among the transfer-admissible ports, a packet stored in the packet storage buffer to the less loaded transfer-admissible port.
- In this configuration, when a packet is inputted from an input port, the port information searching unit searches for two kinds of information including information on output ports each to be selected with priority according to information written in that packet (transfer destination ports) and output ports to which transferring is possible as judged from the link usage (transfer-admissible ports). The usage of each of the packet storage buffers prepared on the side of the plurality of output ports is checked, and if there is an output port bearing a less load of packet output than a prescribed value among the transfer-admissible ports (less loaded transfer-admissible port), the packet is distributed to this less loaded transfer-admissible port, thereby making possible packet sending control matching the port load level from time to time and effective utilization of any unoccupied capacity on the link.
- The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, wherein:
-
FIG. 1 is a block diagram showing the configuration of a router as a packet distributing apparatus, which is a first preferred embodiment of the invention; -
FIG. 2 shows an example of contents set in a user identification table inFIG. 1 ; -
FIG. 3 shows the contents of a transfer destination port table for all users in the first preferred embodiment of the invention; -
FIG. 4 shows the contents of identifiers in the transfer destination port table inFIG. 3 ; -
FIG. 5 shows an example of contents set in a load detection setting table inFIG. 1 ; -
FIG. 6 is a flow chart showing the processing by a distributing circuit in the first embodiment of the invention; -
FIG. 7 is a block diagram showing the configuration of a router in a second preferred embodiment of the invention; -
FIG. 8 is a flow chart showing the processing by a distributing circuit in the second embodiment of the invention; -
FIG. 9 is a block diagram showing the configuration of a router in a third preferred embodiment of the invention; -
FIG. 10 is a flow chart showing the processing by a distributing circuit in the third embodiment of the invention; and -
FIG. 11 shows a network configured of a network, consisting of a router which may be any of the embodiments of the invention, of a network service provider and first through fourth networks connected to this network. - Modes of implementing the present invention in packet distributing apparatuses and packet distributing methods will be described below with reference to
FIG. 1 throughFIG. 11 . -
FIG. 1 shows the configuration of a router as a packet distributing apparatus, which is a first preferred embodiment of the invention. Afirst router 111 is provided with first through Nth ports P1 through PN to be connected to match first through Nth nodes not shown. The first through Nth ports P1 through PN are connected to first through output interface circuits (IF) 202 1 through 202 N and first through Nth input interface circuits (IF) 203 1 through 203 N provided to match the respective ports. - The first through Nth input interface circuits 203 1 through 203 N convert physical signals, such as electrical signals or optical signals inputted from respectively matching first through Nth ports P1 through PN into logical signals of Internet Protocol (IP) packet data or frame data (hereinafter collectively referred to as packet data). Signals converted by the input interface circuits 203 1 through 203 N into packet data are transferred to an
input buffer 204. - The
input buffer 204 is a circuit for temporarily storing packet data until the port of transfer destination is determined. Theinput buffer 204 is connected to a transferdestination searching unit 205 and a distributingcircuit 206. - The transfer
destination searching unit 205 searches header information and the like contained in a packet for user identifying information and a transfer destination port, and instructs theinput buffer 204 to transfer the retrieved information. To the transferdestination searching unit 205 are connected a user identification table 207 and a transfer destination port table 208. - The user identification table 207 is a table for finding from header information and the like contained in a packet a user identifier by which a user can be unequivocally identified.
- The transfer destination port table 208 is a table holding user identifying information, transfer destination ports matching destination addresses, and information on transfer-admissible ports.
- The distributing
circuit 206 receives from theinput buffer 204, after the transfer destination port is determined, packet data and the transfer destination port number. On the output side of the distributingcircuit 206 are provided first through Nth output buffer units 209 1 through 209 N and first through Nth usage detecting units 211 1 through 211 N provided to match these output buffer units. - To the first through Nth usage detecting units 211 1 through 211 N is connected a load detection setting table 212. The first through Nth usage detecting units 211 1 through 211 N read the usage (quantity of buffered packet data) of the matching one of the first through Nth output buffer units 209 1 through 209 N, and notifies the distributing
circuit 206 as to whether or not that value is above a preset value in the load detection setting table 212. - Packets stored in the first through Nth output buffer units 209 1 through 209 N are outputted to the respectively matching ones of first through Nth output interface circuits 202 1 through 202 N.
- The first through Nth output interface circuits 202 1 through 202 N convert logical signals, such as packet data, into physical signals, such as electrical signals or optical signals, and output converted signals.
-
FIG. 2 shows an example of contents set in the user identification table 207 explained with reference toFIG. 1 . The user identification table 207, as described above, is intended for finding a user identifier by which a user can be unequivocally identified. As information for identifying a user, any field of packet data (e.g. the header information part) can be used if applicable. In this case, a sender address required for identifying one connection in the transmission control protocol (TCP) as a protocol used for communication between Internet hosts, a sender, a destination address and a destination port number are shown by way of example. Entries “any” in the user identification table 207 mean that whatever value in that field would specify a user identifier. Therefore, in the user identification table 207 ofFIG. 2 , the user identifier is specified by the sender address alone. -
FIG. 3 shows the contents of a transfer destination port table 208 for all users. This transfer destination port table 208 holds information for the transferdestination searching unit 205 shown inFIG. 1 to find a transfer destination port and transfer-admissible port from a user identifier and a destination address. The user identifier here can be found from the user identification table 207 shown inFIG. 2 . - The destination address is information indicating the destination node of transferred packet data. This corresponds to the “DESTINATION ADDRESS” field in the Internet Protocol prescribed in the request for comments (RFC) 791 put together by the (Internet Engineering Task Force (IETF), the standardization body for Internet-related technology.
- In the column of the “transfer destination port” in the transfer destination port table 208 shown in
FIG. 3 , one route determined according to the routing protocol used by the Internet is indicated as is the conventional practice. By the conventional router differing from this embodiment of the invention, packets are transferred solely according to information shown in this “transfer destination port” column. Unlike that, the transfer destination port table 208 in this embodiment has, in addition to this “transfer destination port”, columns of a “first transfer-admissible port” through a “t-th transfer-admissible port”. These “transfer-admissible ports” cannot be used for transferring when traffics having priority in their use are using these transfer-admissible ports. However, when no traffic having priority is using any of them, these transfer-admissible ports can be used for transferring. In the transfer destination port table 208, these available ports are also listed. -
FIG. 4 shows a part where the user identifier is “UID-1”, extracted from the transfer destination port table shown inFIG. 3 . As shown inFIG. 4 , packet whose “destination address” is “10.1.x.x” can use the port “P2” as the usual transfer destination port. Also, to make the port “P1” also available as a transfer destination when this port “P1” is not used, “P1” is set in the column of the first transfer-admissible port. - To add, “x” in the transfer destination port table 208 of
FIG. 4 can be any numerical value. Therefore, for instance “10.2.x.x” means that any address beginning with “10.2.” can fit in. -
FIG. 5 shows an example of configuration of the load detection setting table inFIG. 1 . In the load detection setting table 212, the threshold of usage (the maximum number of buffered packets) is set for each of the first through Nth output buffer units 209 1 through 209 N. In the example shown inFIG. 5 , the threshold for the first output buffer unit 209 1 is “100”. - The operation of the
router 111 as the packet distributing apparatus configured as described will be explained in detail below. In this embodiment, too, the same network configuration as what is shown inFIG. 11 is supposed to be used. Further, the second andthird routers first router 111. - As shown in
FIG. 11 , the aforementioned first port P1 of thefirst router 111 is supposed to be connected to thelink 114, and the second port P2, connected to thelink 115. Further, the third port P3 is supposed to be connected to alink 221, the fourth port P4, to alink 222. The user identifier of the user belonging to thefirst network 101 and thesecond network 102 is supposed to be “UID-2”, and that of the user belonging to thethird network 103 and thefourth network 104, to be “UID-1”. - In this case, the user of the
first network 101 is supposed to have an address beginning with “10.11” as shown inFIG. 3 , and the user of thesecond network 102, an address beginning with “10.10”. The user ofthird network 103 is supposed to have an address beginning with “10.2”, and the user of thefourth network 104, an address beginning with “10.1”. - To look at the setting of the destination address “10.1x.x” as shown in
FIG. 3 , thefirst router 111 on a normal occasion can transfer a packet to the second port P2 using the user identifier “UID-1”. It is shown that, when the first port P1 is not used by the user having the user identifier “UID-2”, the user having the user identifier “UID-1” can also use the first port P1 as the first transfer-admissible port. - Next will be described in specific terms, by way of example, the operation that takes place when the user of the
third network 103 inFIG. 11 transfers a packet to thefirst router 111. - It is supposed that the user of the
third network 103 transfers a packet to the user of thefourth network 104. The address of the user of thethird network 103 is supposed to begin with “10.2”. Therefore, the sender address may be, for instance, “10.2.100.100”. The destination, as it is the user of thefourth network 104, will be “10.1.50.50” for instance. - The packet transmitted from the
third network 103 arrives at the fourth port P4 of thefirst router 111. The data having arrived at the fourth port P4 are converted by a fourth input interface circuit 203 4 from physical signals into signals consisting of logical packet data. The converted data are transferred to theinput buffer 204. Theinput buffer 204 hands over to the transferdestination searching unit 205 the field of the packet data required by the transferdestination searching unit 205. In this example, the information part having a sender address of “10.2.100.100” and a destination address of “10.1.50.50” is handed over to the transferdestination searching unit 205. Theinput buffer 204 holds the packet data and waits until search processing by the transferdestination searching unit 205 is completed. - The transfer
destination searching unit 205 searches for a setting identical with the sender address, the sender port number, the destination address and the destination port number notified from theinput buffer 204. Searching for the sender port number and the destination port number are set to fit any values as shown in the user identification table 207 ofFIG. 2 . Therefore, description of the operation to search for the sender port number and the destination port number will be dispensed with. - Further, as the sender address is “10.2.100.100”, it fits the setting on the second row of the user identification table 207 in
FIG. 2 . Accordingly, it is identified to be the user having the user identifier “UID-1”. - Next, a setting that fits these user identifier “UID-1” and destination address “10.1.50.50” are searched for in the transfer destination port table 208 shown in
FIG. 1 andFIG. 4 . As a result of this search, the contents of the first row of the transfer destination port table 208 are found identical because the destination address is set to be “10.1.x.x” there. Therefore, the transfer destination port is found to be the second port P2, and the transfer-admissible port, the first port P1. - The transfer
destination searching unit 205 hands over to theinput buffer 204 the information thereby obtained. Theinput buffer 204 which has held the packet data and waited transfers, using the information from the transferdestination searching unit 205, information indicating that the transfer destination port of the packet data is the second port P2 and that the transfer-admissible port is the first port P1 to the distributingcircuit 206. -
FIG. 6 is a flow chart showing the processing by the distributingcircuit 206 shown inFIG. 1 . Thefirst router 111 is provided with a central processing unit (CPU) though not shown, and performs prescribed control of the distributingcircuit 206 by executing a program stored on a recording medium such as a Read Only Memory (ROM) not shown either. - The distributing
circuit 206 first receives from theinput buffer 204 the packet data and information on the transfer destination port and the first through t-th transfer-admissible ports (step S241). In the instance described above, the distributingcircuit 206 receives information indicating that the transfer destination port is the second port P2 and that the transfer-admissible port is the first port P1. - Next, it is judged whether or not the transfer destination port is stated to have “no load” (step S242). If it has “no load”, the transfer destination port regarding which information was received at step S241 is determined to be the transfer destination (step S244). Then, the packet data are transferred to the output buffer unit 209 (one of the first through Nth output buffer units 209 1 through 209 N) connected to this determined transfer destination port (step S245) to end the processing (END).
- Or if the transfer destination port is not stated to have “no load” at step S242 (“N” at S242), the following processing will take place. First, the distributing
circuit 206, according to the information on the presence or absence of load on each port notified from the first through Nth usage detecting units 211 1 through 211 N, searches for a port in a state of “no load” out of the first through t-th transfer-admissible ports (step S243). Then it judges whether or not there is any port stated to have “no load” among the transfer-admissible ports (step S246). If every transfer-admissible port is loaded (“N” at S246), even if the transfer destination port is loaded, the transfer destination port is determined as the transfer destination (step S244). The sequence proceeds to step S245 to transfer the packet data to the output buffer unit 209 connected to that transfer destination port. - On the other hand, if the transfer destination port itself is not stated to have “no load” and there is any transfer-admissible port stated to have “no load” (“Y” at S246), one of these transfer-admissible ports is selected in a probability equal to the reciprocal of the total number of the transfer-admissible ports selected as admitting a transfer (step S247). If, for instance, the total number of transfer-admissible ports is m, one of these transfer-admissible ports is selected at step S247 at a probability of 1/m each time.
- If this processing at step S247 is done, the sequence proceeds to step S245, and the packet data are transferred to, out of the output buffer units 209 (one of the first through Nth output buffer units 209 1 through 209 N), what is connected to the transfer-admissible port is selected at the aforementioned probability.
- To add, in this embodiment of the invention, only the first port P1 is the transfer-admissible port as shown in
FIG. 4 . Therefore, at step S246, the packet data are transferred to the first output buffer unit 209 1 connected only to the first port P1. - Next will be described the operation of a second preferred embodiment of the present invention.
-
FIG. 7 shows the configuration of afirst router 111A in the second preferred embodiment of the invention. The same constituent elements as in the first embodiment shown inFIG. 1 are assigned respectively the same reference signs, and their description will be dispensed with. In thefirst router 111 A in the second embodiment, first through Nth usage checking units 301 1 through 301 N are arranged in place of the first through Nth usage detecting units 211 1 through 211 N in the first embodiment. In these usage checking units 301 1 through 301 N, in addition to the comparison of setpoints and buffered quantities in the load detection setting table 212 used in the first embodiment, the ratio of load using a function (f(x) to be explained afterwards) is also notified to the distributingcircuit 206. - For instance, the buffered quantity held by the buffer memories of the first through Nth output buffer units 209 1 through 209 N matching the first through Nth usage checking units 301 1 through 301 N is represented by “x”, and a function varies by this buffered quantity “x” is represented by a function f(x). This function f(x) shows the ratio of loads among the first through Nth output buffer units 209 1 through 209 N.
- Incidentally, in the first embodiment, transfer-admissible ports are determined according to whether or not the threshold set in the load detection setting table 212 shown in
FIG. 1 is surpassed, and selected each at the same probability (the reciprocal of the total number of transfer-admissible ports). Therefore, unlike in the second embodiment, it is impossible to vary the ratio of port selection according to the ratio of loads. - Now, possible functions f(x) representing loads include the following example. The maximum buffer length that can be held by each of the first through Nth output buffer units 209 1 through 209 N is represented by “M”. Then, the function representing loads can be represented by the following Equations (1):
-
If x≦M, f(x)=x/M -
If x>M, f(x)=1. (1) - where “x” is the quantity of packet data held by each of the first through Nth output buffer units 209 1 through 209 N.
- Next will be described an instance in which the probability of port selection is varied with the ratio of loads. The ratio of loads at the first port P1 is represented by f(x1). The ratio of loads at the second port P2 is represented by f(x2), and that at the third port P3, by f(x3). Further, it is supposed that f′(x)=1/f(x).
- Then, the probability R1 of selecting the first port P1 is calculated by the following Equation (2):
-
R 1 =f′(x 1)/{f′(x 1)+f′(x 2)+f′(x 3)} (2) - The probability R2 of selecting the second port P2 and the probability R3 of selecting the third port P3 are calculated by the following Equations (3) and (4), respectively:
-
R 2 =f′(x 2)/{f′(x 1)+f′(x 2)+f′(x 3)} (3) -
R 3 =f′(x 3)/{f′(x 1)+f′(x 2)+f′(x 3)} (4) - where the sign “x” represents the buffer usage of the first
output buffer unit 2091 matching the first port P1. Similarly, the sign “x2” or “x3” represents the buffer usage of the second or third output buffer unit 209 2 or 209 3 matching the second port P2 or the third port P3, respectively. -
FIG. 8 is a flow chart showing the processing by the distributing circuit in the second embodiment of the invention. In thisFIG. 8 , the same parts as inFIG. 6 are assigned respectively the same reference signs. - The distributing
circuit 206 first receives from theinput buffer 204 packet data and information regarding the transfer destination port and the first through t-th transfer-admissible ports (step S241). In the second embodiment, as in the first embodiment, the distributingcircuit 206 receives information indicating that the transfer destination port is the second port P2 and the transfer-admissible port is the first port P1. - Next, it is judged whether or not the transfer destination port is stated to have “no load” (step S242). If it is, the transfer destination port regarding which information was received at step S241 is determined as the transfer destination (step S244). Then the packet data are transferred to the output buffer unit 209 (one of the first through Nth
output buffer units 2091 through 209N) connected to this determined transfer destination port (step S245) to end the processing (END). - Or if the transfer destination port is not stated to have “no load” at step S242 (“N” at S242), the following processing will take place. First, the distributing
circuit 206, according to the information on the presence or absence of load on each port notified from the first through t-th usage detecting units 301 1 through 301 N, searches for a port in a state of “no load” out of the first through t-th transfer-admissible ports (step S243A). Then it judges whether or not there is any port stated to have “no load” among the transfer-admissible ports (step S246). If every transfer-admissible port is loaded (“N” at S246), even if the transfer destination port is loaded, the transfer destination port is determined as the transfer destination (step S244). The sequence proceeds to step S245 to transfer the packet data to the output buffer unit 209 connected to that transfer destination port. - On the other hand, if the transfer destination port itself is not stated to have “no load” and there is any transfer-admissible port stated to have “no load” (“Y” at S246), one of these transfer-admissible ports is selected according to a calculated probability (step S247A).
- If this processing at step S247A is done, the sequence proceeds to step S245, and the packet data are transferred to the output buffer unit 209 connected to the transfer-admissible port selected at the aforementioned probability (one of the first through Nth output buffer units 209 1 through 209 N).
- Incidentally, the reciprocal of the load ratio can be represented by the following Equation (5), where f(x) is the load ratio of a port x:
-
f′(x)=1/f(x) (5) - In this case, the probability of selecting a port Pi (i=1, 2, . . . m) can be represented by the following formula (6):
-
f′(pi′)/{f′(p1′)+f′(p2′)+ . . . +f′(pm′)} (6) -
f′(p1′)/{f′(p1′)+f′(p2′)+ . . . +f′(pm′)} (7) - Next will be described the operation of a third preferred embodiment of the present invention.
-
FIG. 9 showing the configuration of afirst router 111B in the third preferred embodiment of the invention. For therouter 111B in this third embodiment, the same constituent elements as in the first embodiment shown inFIG. 1 are assigned respectively the same reference signs, and their description will be dispensed with. Each of first through Nth output buffer units 209 1 through 209 N of therouter 111B in this second embodiment consists of a high priority buffer H and a low priority buffer L. While the high priority buffer H and the low priority buffer L can store packets at the same time, when packets are stored at the same time, a packet is always taken out first from the high priority buffer H, and outputted to the matching one of the first through Nth output interface circuits 202 1 through 202 N. The low priority buffer L outputs packet stored therein to the matching one of the first through Nth output interface circuits 202 1 through 202 N only when there is no packet in the high priority buffer H. - The first through Nth usage detecting units 211 1 through 211 N read the usage (the quantity of buffered packet data) of the high priority buffer H and that of the low priority buffer L for each of the first through Nth output buffer units 209 1 through 209 N. The first through Nth usage detecting units 211 1 through 211 N notify the distributing
circuit 206 whether or not the usage of the high priority buffer H and that of the low priority buffer L have surpassed the value set in the load detection setting table 212. The first through Nth output interface circuits 202 1 through 202 N convert logical signals, such as packet data, into physical signals, such as electrical signals or optical signals, and output converted signals. - The user's packet which should be transferred in its own right in the
router 111B of this third embodiment is transferred to the high priority buffer H of the matching one of first through Nthoutput buffer units 2091 through 209N. On the other hand, a packet transferred to a port selected as a transfer-admissible port is stored in the low priority buffer L of the matching one of the first through Nth output buffer units 209 1 through 209 N. Managing the first through Nth output buffer units 209 1 through 209 N with discrimination between the high priority buffer H and the low priority buffer L in such a manner makes possible efficient transferring of packets without affecting the user's packet which should be transferred in its own right. - In this third embodiment, the first through Nth usage detecting units 211 1 through 211 N notify the distributing
circuit 206 of information as to whether or not the usage of the high priority buffer H (fh(x)) has surpassed the threshold set in the load detection setting table 212. The first through Nth usage detecting units 211 1 through 211 N also notify the distributingcircuit 206 of the load ratio of the low priority buffer L (fl(x)). -
FIG. 10 is a flow chart showing the processing by the distributing circuit in the third embodiment of the invention. In thisFIG. 10 , the same parts as inFIG. 6 andFIG. 8 are assigned respectively the same reference signs. - The distributing
circuit 206 first receives from theinput buffer 204 packet data and information regarding the transfer destination port and the first through t-th transfer-admissible ports (step S241). - Next, it is judged whether or not the transfer destination port is stated to have “no load” (step S242). If it is, the transfer destination port regarding which information was received at step S241 is determined as the transfer destination (step S244). Then the packet data are transferred to the output buffer unit 209 (one of the first through Nth output buffer units 209 1 through 209 N) connected to this determined transfer destination port (step S245) to end the processing (END).
- Or if the transfer destination port is not stated to have “no load” at step S242 (“N” at S242), the following processing will take place. First, the distributing
circuit 206, according to the information regarding the load on the high priority buffer H of each port notified from the first through Nth usage detecting units 211 1 through 211 N searches for a port of which the high priority buffer H has “no load” out of the first through t-th transfer-admissible ports (step S243B). Then it judges whether or not there is a port of which the high priority buffer H is stated to have “no load” out of the transfer-admissible ports (step S246). If there is a load on the high priority buffer H of every transfer-admissible port (“N” at S246), even if there is a load on the transfer destination port, the transfer destination port is determined as the transfer destination (step S244). The sequence proceeds to step S245, and the packet data are transferred to the output buffer unit 209 connected to that transfer destination port. - On the other hand, if the transfer destination port itself is not stated to have “no load” and there is any transfer-admissible port stated to have “no load” (“Y” at S246), one out of all these transfer-admissible ports is selected according to a probability calculated on the basis of the load on the low priority buffer L of each transfer-admissible port (step S247B). As the numerical expressions for calculating this probability here are the same as those presented for the second embodiment except for the use of low priority buffers L, their description is dispensed with.
- If this processing at step S247B is done, the sequence proceeds to step S245, and the packet data are transferred to the output buffer unit 209 connected to the transfer-admissible port selected at the aforementioned probability (one of the first through Nth output buffer units 209 1 through 209 N).
- Although in the first through third embodiments, two kinds of table, including the user identification table 207 and the transfer destination port table 208, are used, but they can as well be combined into a single table, which may be searched for the same purpose.
- While the invention has been described with reference to tables as such, but they may as well be structured as lists.
- Also, similar searching can be done using an associative memory, such as a contents address memory (CAM).
- Although no particular explanation was made with reference to the first through third embodiments, it is also conceivable to require users higher in the order of priority, for instance, to pay a higher charge to the network manager than other users to secure a band and/or to be guaranteed against a delay, and the invention can be applied to privilege such user. It is further possible to apply the invention not only to such arrangements but also to all traffics higher in the order of priority in accordance with some network policy or another.
- The present invention can provide the following advantages. First, when two kinds of information are read from what is written in a packet, including information on output ports selectable with priority (transfer destination ports) and output ports to which transferring is possible as judged from the link usage (transfer-admissible ports), if there is no load on any transfer-admissible port, the packet is distributed to that transfer-admissible port. It is thereby made possible to possible to positively utilize unoccupied links and to use network resources more effectively.
- Moreover, if a judging unit for the loaded state of transfer-admissible ports determines the presence of a plurality of transfer-admissible ports bearing less loads than a prescribed level with respect to the sending of packets, a packet is distributed to one of these transfer-admissible ports. Therefore, loads can be more dispersed than where they are distributed to one specific transfer-admissible port.
- Furthermore, by classifying packet storage buffers into two kinds including low priority buffers and high priority buffers, read-out from which is given priority over the low priority buffers, and distributing packets to low priority buffers as well, it is made possible to reduce impacts on users who are given priority in using ports matching low priority buffers.
- While this invention has been described with reference to certain preferred embodiments thereof, it is to be understood that the subject matter encompassed by this invention is not limited to those specific embodiments. Instead, it is intended for the subject matter of the invention to include all such alternatives, modifications and equivalents as can be included within the spirit and scope of the following claims.
Claims (8)
1. A packet distributing apparatus for distributing each of packets inputted from a plurality of input ports to one of a plurality of output ports, comprising:
a port information searching unit for searching, on the basis of information written in said packet, for a transfer destination output port to be selected with priority as an output port and for transfer-admissible output ports;
packet storage buffers for temporarily storing said packet;
a transfer-admissible port loaded state judging unit for searching for a less loaded one of said transfer-admissible output ports in which the quantity of buffered packet data is less than a prescribed value, on the basis of the usage of the matching one of said packet storage buffers; and
a packet sending unit for sending, when the load on said transfer destination port is heavy, said packet stored in said packet storage buffer to said less loaded one of said transfer-admissible output ports which has been detected.
2. The packet distributing apparatus as claimed in claim 1 , wherein:
said packet storage buffers include low priority buffers and high priority buffers, from which read-out is given priority over the low priority buffers.
3. A router comprising the packet distributing apparatus claimed in claim 1 .
4. A network comprising a plurality of routers connected to one another, wherein each of said routers comprises the packet distributing apparatus claimed in claim 1 .
5. A packet distributing apparatus for distributing each of packets inputted from a plurality of input ports to one of a plurality of output ports, comprising:
a port information searching unit for searching, on the basis of information written in said packet, for a transfer destination output port to be selected with priority as an output port and for transfer-admissible output ports;
packet storage buffers for temporarily storing said packet;
a transfer-admissible port loaded state judging unit for searching for a less loaded one of said transfer-admissible output ports in which the quantity of buffered packet data is less than a prescribed value, on the basis of the usage of the matching one of said packet storage buffers; and
a packet sending unit for distributing, if said less loaded one of said transfer-admissible output ports is detected, the packet stored in said packet storage buffers to said less loaded one of said transfer-admissible output ports or, if said less loaded one of said transfer-admissible output ports is not detected, the packet stored in said packet storage buffers to said transfer destination port.
6. The packet distributing apparatus as claimed in claim 5 , wherein:
said packet storage buffers include low priority buffers and high priority buffers, from which read-out is given priority over the low priority buffers.
7. A packet distributing method for distributing each of packets inputted from a plurality of input ports to one of a plurality of output ports, comprising:
a port information searching step of searching, on the basis of information written in said packet, for a transfer destination output port to be selected with priority as an output port and for transfer-admissible output ports;
a transfer-admissible output port loaded state judging step of searching for a less loaded one of said transfer-admissible output ports in which the quantity of buffered packet data in packet storage buffers each provided on said output port side for temporarily storing said packet is less than a prescribed value, on the basis of the usage of the matching one of said packet storage buffers; and
a packet sending step of sending, when the load on said transfer destination port is heavy, the packet stored in said packet storage buffer to said less loaded transfer-admissible output port which has been detected.
8. A packet distributing method for distributing each of packets inputted from a plurality of input ports to one of a plurality of output ports, comprising:
a port information searching step of searching, on the basis of information written in said packet, for a transfer destination output port to be selected with priority as an output port and for transfer-admissible output ports;
a transfer-admissible output port loaded state judging step of searching for a less loaded one of said transfer-admissible output ports in which the quantity of buffered packet data in packet storage buffers each provided on said output port side for temporarily storing said packet is less than a prescribed value, on the basis of the usage of the matching one of said packet storage buffers; and
a packet sending step of distributing, if said less loaded transfer-admissible output port is detected, the packet stored in said packet storage buffers to said less loaded transfer-admissible output port or, if said less loaded transfer-admissible output port is not detected, the packet stored in said packet storage buffers to said transfer destination port.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/018,278 US20080130671A1 (en) | 2001-07-18 | 2008-01-23 | Packet distributing apparatus and packet distributing method |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001218640A JP3591492B2 (en) | 2001-07-18 | 2001-07-18 | Packet distribution device and packet distribution program |
JP2001-218640 | 2001-07-18 | ||
US10/195,371 US7379468B2 (en) | 2001-07-18 | 2002-07-16 | Packet distributing apparatus and packet distributing method |
US12/018,278 US20080130671A1 (en) | 2001-07-18 | 2008-01-23 | Packet distributing apparatus and packet distributing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/195,371 Continuation US7379468B2 (en) | 2001-07-18 | 2002-07-16 | Packet distributing apparatus and packet distributing method |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080130671A1 true US20080130671A1 (en) | 2008-06-05 |
Family
ID=19052797
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/195,371 Active 2025-11-21 US7379468B2 (en) | 2001-07-18 | 2002-07-16 | Packet distributing apparatus and packet distributing method |
US12/018,278 Abandoned US20080130671A1 (en) | 2001-07-18 | 2008-01-23 | Packet distributing apparatus and packet distributing method |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/195,371 Active 2025-11-21 US7379468B2 (en) | 2001-07-18 | 2002-07-16 | Packet distributing apparatus and packet distributing method |
Country Status (2)
Country | Link |
---|---|
US (2) | US7379468B2 (en) |
JP (1) | JP3591492B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017147851A1 (en) * | 2016-03-03 | 2017-09-08 | 华为技术有限公司 | Configuration device and method |
US10050830B2 (en) | 2013-09-04 | 2018-08-14 | Hewlett Packard Enterprise Development Lp | Work mode negotiation |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4428184B2 (en) * | 2004-10-04 | 2010-03-10 | 株式会社日立製作所 | Search table fast switching method and packet transfer device |
JP2006287286A (en) * | 2005-03-31 | 2006-10-19 | Saxa Inc | Ip communication method and ip communication apparatus |
US20080240168A1 (en) * | 2007-03-31 | 2008-10-02 | Hoffman Jeffrey D | Processing wireless and broadband signals using resource sharing |
US9943517B2 (en) * | 2012-11-13 | 2018-04-17 | Nusirt Sciences, Inc. | Compositions and methods for increasing energy metabolism |
US9565114B1 (en) | 2014-03-08 | 2017-02-07 | Google Inc. | Weighted load balancing using scaled parallel hashing |
CN110167076B (en) * | 2019-06-20 | 2022-06-28 | 杭州迪普信息技术有限公司 | Flow distribution method, device and equipment of 4G network |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542507B1 (en) * | 1996-07-11 | 2003-04-01 | Alcatel | Input buffering/output control for a digital traffic switch |
US6563837B2 (en) * | 1998-02-10 | 2003-05-13 | Enterasys Networks, Inc. | Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size |
US6614756B1 (en) * | 1999-08-20 | 2003-09-02 | 3Com Corporation | Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network |
US6643294B1 (en) * | 1999-12-09 | 2003-11-04 | Verizon Laboratories Inc. | Distributed control merged buffer ATM switch |
US6778546B1 (en) * | 2000-02-14 | 2004-08-17 | Cisco Technology, Inc. | High-speed hardware implementation of MDRR algorithm over a large number of queues |
US6788697B1 (en) * | 1999-12-06 | 2004-09-07 | Nortel Networks Limited | Buffer management scheme employing dynamic thresholds |
US6963576B1 (en) * | 2000-09-28 | 2005-11-08 | Force10 Networks, Inc. | Scheduling and arbitration scheme for network processing device |
US7072295B1 (en) * | 1999-09-15 | 2006-07-04 | Tellabs Operations, Inc. | Allocating network bandwidth |
-
2001
- 2001-07-18 JP JP2001218640A patent/JP3591492B2/en not_active Expired - Lifetime
-
2002
- 2002-07-16 US US10/195,371 patent/US7379468B2/en active Active
-
2008
- 2008-01-23 US US12/018,278 patent/US20080130671A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542507B1 (en) * | 1996-07-11 | 2003-04-01 | Alcatel | Input buffering/output control for a digital traffic switch |
US6563837B2 (en) * | 1998-02-10 | 2003-05-13 | Enterasys Networks, Inc. | Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size |
US6614756B1 (en) * | 1999-08-20 | 2003-09-02 | 3Com Corporation | Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network |
US7072295B1 (en) * | 1999-09-15 | 2006-07-04 | Tellabs Operations, Inc. | Allocating network bandwidth |
US6788697B1 (en) * | 1999-12-06 | 2004-09-07 | Nortel Networks Limited | Buffer management scheme employing dynamic thresholds |
US6643294B1 (en) * | 1999-12-09 | 2003-11-04 | Verizon Laboratories Inc. | Distributed control merged buffer ATM switch |
US6778546B1 (en) * | 2000-02-14 | 2004-08-17 | Cisco Technology, Inc. | High-speed hardware implementation of MDRR algorithm over a large number of queues |
US6963576B1 (en) * | 2000-09-28 | 2005-11-08 | Force10 Networks, Inc. | Scheduling and arbitration scheme for network processing device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10050830B2 (en) | 2013-09-04 | 2018-08-14 | Hewlett Packard Enterprise Development Lp | Work mode negotiation |
WO2017147851A1 (en) * | 2016-03-03 | 2017-09-08 | 华为技术有限公司 | Configuration device and method |
Also Published As
Publication number | Publication date |
---|---|
US7379468B2 (en) | 2008-05-27 |
JP2003032291A (en) | 2003-01-31 |
US20030016666A1 (en) | 2003-01-23 |
JP3591492B2 (en) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6970470B2 (en) | Packet communication system with QoS control function | |
US20080130671A1 (en) | Packet distributing apparatus and packet distributing method | |
KR100333250B1 (en) | Packet forwarding apparatus with a flow detection table | |
US6389023B1 (en) | Router device and frame transfer method using datalink layer frame switching | |
US6738352B1 (en) | Transfer destination determining process apparatus | |
US7146478B2 (en) | Cache entry selection method and apparatus | |
US6909713B2 (en) | Hash-based data frame distribution for web switches | |
US5600794A (en) | Method and apparatus for managing exchange of metrics in a computer network by exchanging only metrics used by a node in the network | |
US7558268B2 (en) | Apparatus and method for combining forwarding tables in a distributed architecture router | |
US20040225725A1 (en) | Network system, learning bridge node, learning method and its program | |
US20060233175A1 (en) | Traffic balancing apparatus and method, and network forwarding apparatus and method using the same | |
JP2002507366A (en) | System and method for quality of service in a multilayer network element | |
US7277386B1 (en) | Distribution of label switched packets | |
US7864776B2 (en) | Method and equipment for making a routing decision dependent on a quality-of-service class | |
US9118592B2 (en) | Switch and/or router node advertising | |
US6950429B2 (en) | IP data transmission network using a route selection based on level 4/5 protocol information | |
US20040062266A1 (en) | Systems and methods for providing data packet flow control | |
US20080002705A1 (en) | Communication device, address learning method, and address learning program | |
JP2002368787A (en) | Explicit path designation relay device | |
JP4623317B2 (en) | Communication apparatus, routing method and program | |
US8184652B2 (en) | System and method for linking list transmit queue management | |
KR100576724B1 (en) | The forwarding search method and the search tree guaranteeing MPLS-L3VPN protocol and high speed data transfer. | |
US20030161336A1 (en) | Network management system for designating a communications gateway between domains | |
WO2023026402A1 (en) | Communication system, communication method, and communication program | |
JP4536139B2 (en) | Packet routing apparatus and packet routing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OKAMOTO, TSUGIO;REEL/FRAME:020402/0954 Effective date: 20020711 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |