Claims
- 1. A flow control apparatus having a network of switching hubs each having a plurality of ports, each port formed of an input section which receives data packets from a data communication link and an output section which transmits data packets to said data communication link, with said switching hubs interconnected in a hierarchy for controlling transfer of data packets between respective terminals within each of a plurality of terminal groups, each said data packet including a group identifier, and each of said switching hubs having at least one group-multiplexing port which is configured to operate on data packets of said plurality of terminal groups based upon use of said group identifiers; wherein each switching hub comprises
congestion judgement means for detecting occurrence of a congestion status at an output section of one of said ports, with said judgement being performed respectively separately for each of said terminal groups, and for determining specific one of said terminal groups as having caused said congestion status, and congestion notification packet outputting means for outputting a congestion notification packet which contains pause time information and is directed to said specific terminal group.
- 2. The flow control apparatus according to claim 1, wherein said congestion status is judged as being one of a first degree and a second degree of congestion, and wherein said congestion notification packet outputting means of said switching hub
generates a congestion notification packet which is transmitted from a single port of said switching hub, when said first degree of congestion is detected, and generates congestion notification packets which are respectively transmitted from each of said ports of said switching hub that are connected to said specific terminal group, other than said port which is in said congestion status, when said second degree of congestion is detected.
- 3. The flow control apparatus according to claim 2, wherein when a data packet is received at a first port of said switching hub and said first degree of congestion occurs when said data packet is internally transferred to a second port of said switching hub to be transmitted therefrom, said congestion judgement means assigns a source terminal of said received data packet as being the origin of said congestion, and said congestion notification packet outputting means generates and transmits from said first port a congestion notification packet which is directed to said congestion origin terminal.
- 4. The flow control apparatus according to claim 3, wherein said congestion notification packet which is transmitted upon occurrence of said first degree of congestion is an individual congestion notification packet containing destination address information identifying said congestion origin terminal.
- 5. The flow control apparatus according to claim 2, wherein when a data packet is received at a first port of said switching hub and said second degree of congestion occurs when said data packet is internally transferred to a second port of said switching hub to be transmitted therefrom, said congestion judgement means assigns a terminal group corresponding to the source terminal of said received data packet as being the origin of said second degree of congestion, and said congestion notification packet outputting means generates and transmits from each of said ports of the switching hub, other than said congestion status port, respective congestion notification packets directed to said congestion origin terminal group.
- 6. The flow control apparatus according to claim 5, wherein each said congestion notification packet which is transmitted upon occurrence of said second degree of congestion is a group-specific congestion notification packet containing group identifier information identifying said congestion origin terminal group.
- 7. The flow control apparatus according to claim 6, wherein said group-specific congestion notification packet contains a broadcast address as a destination address of said packet.
- 8. The flow control apparatus according to claim 6, wherein said pause time information that is inserted in an internally generated individual congestion notification packet is a calculated pause time value which is derived by modifying a fixedly predetermined reference pause time value in accordance with a relationship between a data transfer rate of a data communication link of said port from which said congestion notification packet is to be transmitted and a fixedly predetermined reference data transfer rate.
- 9. The flow control apparatus according to claim 8, wherein said calculated pause time value is derived by multiplying said reference pause time value by the ratio of said data transfer rate of said data communication link to said reference data transfer rate.
- 10. The flow control apparatus according to claim 6, wherein said pause time information that is inserted in an internally generated group-specific congestion notification packet is a pause time value which is derived by
modifying a fixedly predetermined reference pause time value in accordance with a relationship between a data transfer rate of a data communication link of said port from which said packet is transmitted and a fixedly predetermined reference data transfer rate, to obtain a calculated pause time value, and adding to said calculated pause time value a randomly determined positive value.
- 11. The flow control apparatus according to claim 10, wherein said calculated pause time value is derived by multiplying said reference pause time value by the ratio of said data transfer rate of said data communication link to said reference data transfer rate.
- 12. The flow control apparatus according to claim 11, wherein each said switching hub comprises means functioning when a congestion notification packet is received at a first port thereof, to
determine a second port thereof as a transfer port for said congestion notification packet, use information contained in said received congestion notification to generate a corresponding congestion notification packet containing a new pause time value, to be transmitted from said transfer port, when said transfer port is a group-multiplexing port which receives data packets from a plurality of terminal groups, and use information contained in said congestion notification packet to generate a pause packet, containing a new pause time value, to be transmitted from said transfer port, when said transfer port is other than a group-multiplexing port.
- 13. The flow control apparatus according to claim 12, wherein when said corresponding congestion notification packet is an individual congestion notification packet or when a pause packet is generated, said new pause time value is derived by modifying said pause time value contained in said received congestion notification packet in accordance with a relationship between a data transfer rate of a data communication link of said first port and a data transfer rate of a data communication link of said transfer port
- 14. The flow control apparatus according to claim 13, wherein said new pause time value is derived by multiplying said pause time value contained in said received congestion notification packet by the ratio of said data transfer rate of the data communication link of said transfer port to said data transfer rate of the data communication link of said first port.
- 15. The flow control apparatus according to claim 12, wherein when said corresponding congestion notification packet is a group-specific congestion notification packet, said new pause time value is derived by modifying said pause time value contained in said received congestion notification packet in accordance with a relationship between a data transfer rate of a data communication link of said first port and a data transfer rate of a data communication link of said transfer port, and randomizing a resultant value.
- 16. The flow control apparatus according to claim 15, wherein said new pause time value is derived by
multiplying said pause time value contained in said received congestion notification packet by the ratio of said data transfer rate of the data communication link of said transfer port to said data transfer rate of the data communication link of said first port, and adding a randomly determined positive value to a result obtained thereby.
- 17. The flow control apparatus according to claim 1, wherein said output section of a group-multiplexing port comprises a plurality of data output buffers separately assigned to respective ones of said terminal groups, and wherein said congestion judgement means judges said data output buffers respectively separately, based upon a respective values of utilization level of said data output buffers.
- 18. The flow control apparatus according to claim 2, wherein said first and second degrees of congestion are detected for a data output buffer based on first and second predetermined threshold values of utilization level, respectively, being exceeded for said data output buffer.
- 19. The flow control apparatus according to claim 1, wherein said output section of a group-multiplexing port of a switching hub comprises a single data output buffer used in common for data packets of all of said terminal groups, said switching hub comprises means for calculating respective rates of data flow from said terminal groups into said data output buffer, and wherein said congestion status is judged respectively separately for each of said terminal groups based on said rates of data flow.
- 20. The flow control apparatus according to claim 2, wherein said output section of each port of a switching hub comprises a single data output buffer used in common for data packets of all of said terminal groups, said switching hub comprises means for calculating respective rates of data flow from said terminal groups into said data output buffer, and wherein
said first-degree congestion status is judged as having been reached when a rate of data flow from any one of said groups exceeds a specified threshold value, and said second-degree congestion status is judged as having been reached when a value of utilization factor of said data output buffer exceeds a predetermined threshold value.
- 21. The flow control apparatus according to claim 20, wherein said specified threshold value is obtained by dividing a predetermined maximum rate of data flow into said data output buffer by a total number of terminal groups which are currently utilizing said data output buffer.
- 22. The flow control apparatus according to claim 21, wherein said switching hub comprises means functioning when said second-degree congestion status is judged to be reached, for executing processing to transmit congestion notification packets to all of said terminal groups which have a possibility of transmitting data packets that would be transferred within said switching hub to said data output buffer that has reached said second-degree congestion status.
- 23. The flow control apparatus according to claim 1, wherein when a packet received at a port of a switching hub is a broadcast data packet or a multicast data packet and a transfer port for said received packet is in said congestion status with respect to a terminal group identified in said received packet, no information contained in the received packet is transferred to said transfer port, and no transmission processing relating to said received packet is executed at said transfer port.
- 24. The flow control apparatus according to claim 4, wherein said switching hub comprises timer means for measuring a time interval beginning from the point of transmitting said group-specific congestion notification packet and means functioning, when said port is judged to be in a congestion status after said time interval has elapsed, to retransmit said group-specific congestion notification packet.
- 25. The flow control apparatus according to claim 24, wherein said switching hub comprises means for determining a pause time which is specified in said group-specific congestion notification packet, by adding a non-zero value to a reference time value, and wherein said time interval of said timer means is determined based on said reference time value.
- 26. The flow control apparatus according to claim 25, wherein said non-zero value is a random number.
- 27. The flow control apparatus according to claim 1, wherein each of said switching hubs comprises means responsive to reception of a congestion notification packet at a port of said switching hub for halting transmission of data packets corresponding to a terminal group identified in said received congestion notification packet during a time interval which is determined based on said pause time information contained in said received congestion notification packet.
- 28. A flow control method for a network system which performs data packet communication within each of a plurality of respectively separate groups of terminals with said groups having respective group identifiers preassigned thereto, said network system formed of a plurality of switching hubs interconnected by data communication links, each switching hub having a plurality of ports with each port having an input section and an output section and with a part of said ports being group-multiplexing ports each operating on data packets of a plurality of said groups based on use of said group identifiers, the method comprising
for each of said ports, in each of said switching hubs, executing judgement to detect when a congestion status of an output section of said each switching hub has been reached, when said congestion condition is detected, determining one of said terminal groups as being a congestion origin terminal group, for which congestion is occurring, and transmitting congestion notification information in accordance with said determination.
- 29. The method according to claim 28, wherein said judgement is executed to detect one of a plurality of degrees of congestion.
- 30. The method according to claim 29, wherein
when a first degree of congestion is judged to be occurring at a port of a switching hub, a specific data packet is determined as being the immediate cause of said congestion status occurring, and said congestion notification information is transmitted from a port which was the receiving port for said specific data packet, and when a second degree of congestion is judged to be occurring at a port of a switching hub, a specific data packet is determined as being the immediate cause of said congestion status occurring, and congestion notification information is transmitted from all of respective ports of said switching hub that are connected to terminals of the group to which said specific data packet belongs.
- 31. The method according to claim 29, wherein when it is detected that a first one of said plurality of degrees of congestion has been reached at an output section of a port, a specific data packet is determined as being the immediate cause of said congestion status occurring, and congestion notification information is transmitted to a terminal which was the transmission origin of said specific data packet.
- 32. The method according to claim 29, wherein when it is detected that a second one of said plurality of degrees of congestion has been reached at an output section of a port of a switching hub, one of said terminal groups is determined as causing said congestion, and group-specific congestion notification information is transmitted only to said terminal group.
- 33. The method according to claim 28, wherein when congestion notification information is received at an input section of a port of a switching hub, transmitted from another one of said switching hubs, a halt is applied to transmission from said output section of said port of data packets of a terminal group which is specified in said congestion notification information as the destination thereof.
- 34. The method according to claim 28, wherein when congestion notification information is received at an input section of a port of a switching hub, transmitted from another one of said switching hubs, a transfer port within said switching hub, for outputting said information, is determined based upon identification of a terminal group which is specified in said congestion notification information as the destination thereof, and said received congestion notification information is transferred to said transfer port.
- 35. The method according to claim 28, wherein each said output section of each of said ports comprises a plurality of data output buffers each assigned to data packets of a predetermined corresponding one of said terminal groups, and wherein said step of congestion judgement is executed at a port separately for each of said terminal groups, based upon a utilization factor of the corresponding one of said data output buffers.
- 36. The method according to claim 35, wherein in said judgement step, a first congestion condition is judged to have been reached at a port, for a specific terminal group, when said utilization factor of the corresponding data output buffer exceeds a first predetermined threshold value, and wherein a second congestion condition is judged to have been reached for said terminal group when said utilization factor of the corresponding data output buffer exceeds a second predetermined threshold value, which is higher than said first threshold value.
Priority Claims (2)
Number |
Date |
Country |
Kind |
2000-358378 |
Nov 2000 |
JP |
|
2001-339427 |
Nov 2001 |
JP |
|
RELATED APPLICATION
[0001] This is a continuation-in-part application of Ser. No. 09/991843 filed Nov. 26, 2001, now abandoned.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09991843 |
Nov 2001 |
US |
Child |
10140174 |
May 2002 |
US |