IP Library Granted Patent US 7,420,917
Granted Patent B2
US 7,420,917 · App. 10/874,549 · Granted Sep 2, 2008

Bandwidth policing method and packet transfer apparatus with bandwidth policing function

Assignee: Hitachi, Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,420,917
App. No.
10/874,549
Granted
Sep 2, 2008
Kind
B2
Abstract

In a bandwidth policing apparatus which accommodates a large number of user groups, bandwidth policing for each user group is performed at high speed. When there is any extra bandwidth in bandwidth for a user group, the contracted committed information rate for each user is guaranteed invariably while using this effectively. The bandwidth policing apparatus accumulates packets of a plurality of user groups under bandwidth policing in the same packet accumulate FIFO. Also, for a packet which does not exceed the contracted bandwidth for each user, the contracted bandwidth for each user is guaranteed by deciding that the packet does not exceed the contracted bandwidth for each user group.

Claims (32)

1. A bandwidth policing method, for policing a packet which flows into a network that polices whether the packet exceeds a contracted bandwidth of a source of the packet, if the packet does not exceed the contracted bandwidth, transmitting the packet as a high priority packet, and if the bandwidth of the packet exceeds the contracted bandwidth, transmitting the packet as a low priority packet, the method comprising the steps of:

performing the bandwidth policing for a first flow, to which a first packet belongs, based upon whether the first packet exceeds a contracted bandwidth for the first flow;

performing the bandwidth policing for a flow group which consists of a plurality of flows, including the first flow and a second flow, based up on whether packets of the flows exceed a contracted bandwidth for the flow group;

if the first packet keeps the bandwidth policing performed for the first flow, even when the first packet violates the bandwidth policing performed for the flow group, transmitting the first packet as a high priority packet;

storing information of an excess bandwidth of the flow group in an amount of the first packet which exceeded the contracted bandwidth for the flow group; and

if a second packet belonging to the second flow exceeds a contracted bandwidth for the second flow, performing the bandwidth policing for the flow group after subtracting the stored excess bandwidth from the contracted bandwidth for the flow group.

2. A bandwidth policing method according to claim 1 , wherein a committed information rate guaranteed for each flow is used as the contracted bandwidth for flow, and a value equal to or greater than a total sum of the committed information rates guaranteed for flows which belong to the flow group is used as the contracted bandwidth for each flow group.

3. A bandwidth policing method according to claim 1 , wherein a committed information rate guaranteed for flow is used as the contracted bandwidth for flow, and a peak information rate for the flow group is used as the contracted bandwidth for flow group.

4. A bandwidth policing method according to claim 3 , wherein when a packet violates the committed information rate for flow and the peak information rate for flow group, the packet is discarded.

5. A bandwidth policing method according to claim 1 , wherein a leaky bucket algorithm is used as an algorithm for bandwidth policing.

6. A bandwidth policing method according to claim 5 , wherein in the bandwidth policing for each flow, if a packet is decided to keep the contracted bandwidth for flow, regardless of the depth of a bucket of the leaky bucket algorithm in the bandwidth policing for flow group, the packet is decided to keep the contracted bandwidth for each flow group and is accumulated in the bucket, with water accumulated in the bucket being the excess bandwidth information.

7. A packet transfer apparatus which includes a plurality of packet receive circuits which accommodate a plurality of input circuits, a plurality of packet transmit circuits which accommodate a plurality of output circuits, a routing unit which decides to which of the plurality of output circuits a packet received at the packet receive circuit is to be transmitted, a plurality of bandwidth policing units which are provided on packet transmit paths between the routing unit and the plurality of packet transmit circuits, discard controllers, and packet switching means which switches the packet which passed the routing unit to either of the plurality of bandwidth policing units, wherein the bandwidth policing unit comprises:

a flow detect unit which detects a first flow to which the a first packet belongs;

a flow group detection unit which detects a flow group to which the first flow and a second flow belong;

a bandwidth policing unit for flow to police a contracted bandwidth for each of the detected flows;

a bandwidth policing unit for flow group to police a contracted bandwidth for each detected flow group; and

a policing result synthetic decision unit which discriminates a received packet as a high priority packet or a low priority packet based on policing results from the bandwidth policing unit for flow and the bandwidth policing unit for flow group;

wherein the policing result synthetic decision unit, if the first packet keeps the bandwidth policing for the first flow by not exceeding a contracted bandwidth for the first flow, and even when the first packet violates the bandwidth policing for the flow group by exceeding a contracted bandwidth for the flow group, transmits the first packet to the packet transmit circuit as a high priority packets,

the policing result synthetic decision unit stores information of an excess bandwidth of the flow group in an amount of the first packet which exceeded the contracted bandwidth for the flow group, and

if a second packet belonging to the second flow exceeds a contracted bandwidth for the second flow, the bandwidth policing unit for flow group performs the bandwidth policing for the flow group after subtracting the stored excess bandwidth from the contracted bandwidth for the flow group.

8. A packet transfer apparatus according to claim 7 ,

wherein both of the bandwidth policing unit for flow and the bandwidth policing unit for flow group use a leaky bucket algorithm,

the bandwidth policing unit for flow includes a flow bandwidth policing table, a flow bandwidth policing table controller which reads out a flow bandwidth policing entry corresponding to a flow to which an input packet belongs from the flow bandwidth policing table, a policing result decision unit for flow which decides keep or violate of the contracted bandwidth for flow of the input packet based on control information for the bandwidth policing for flow and the value of a timer which indicates the current time,

the bandwidth policing unit for flow group includes a flow group bandwidth policing table, a flow group bandwidth policing table controller which reads out a flow group bandwidth policing entry corresponding to a flow group to which the input packet belongs from the flow group bandwidth policing table, a policing result decision unit for flow group which decides keep or violate of the contracted bandwidth for flow group of the input packet based on control information for the bandwidth policing for flow group and the value of a timer which indicates the current time,

the flow bandwidth policing table includes a flow bandwidth policing entry including the contracted bandwidth for flow, flow bandwidth policing control information including the depth of a bucket for flow, an amount of water in the bucket for flow, and flow bandwidth policing time of the last time, and flow sanction information which indicates discard, rewrite of network priority, or no sanction as a sanction to be given to a packet which violates the contracted bandwidth for flow, and

the flow group bandwidth policing table includes a flow group bandwidth policing entry which includes the contracted bandwidth for flow group, flow group bandwidth policing control information including the depth of a bucket for flow group, an amount of water in the bucket for flow group, and flow group bandwidth policing time of the last time, and flow group sanction information which indicates discard, rewrite of network priority, or no sanction as a sanction to be given to a packet which violates the contracted bandwidth for flow group.

9. A packet transfer apparatus according to claim 8 , wherein for a packet which keeps the contracted bandwidth for flow no sanction is given, for a packet which violates the contracted bandwidth for flow and keeps the contracted bandwidth for flow group a sanction indicated by the flow sanction information is given, for a packet which violates both of the contracted bandwidth for flow and the contracted bandwidth for flow group a sanction indicated by the flow sanction information or a sanction indicated by the flow group sanction information is given.

10. A packet transfer apparatus according to claim 7 , further comprising a packet accumulate FIFO which accumulates packets, a counter which counts the number of packets accumulated in the packet accumulate FIFO, a discard control unit which decides accumulation of packet to the packet accumulate FIFO or discard of packet,

wherein packets of a plurality of flow groups are accumulated in the same packet accumulate FIFO.

11. A packet transfer apparatus according to claim 10 , wherein the flow sanction information and the flow group sanction information include rewrite of queuing priority for the packet accumulate FIFO respectively;

the discard control unit retains a threshold referenced on deciding the accumulation of packet to the packet accumulate FIFO or the discard of packet for each queuing priority.

12. A bandwidth policing method according to claim 3 , wherein when a packet violates the committed information rate for flow but follows the peak information rate for flow group, the packet is transmitted as a low priority packet.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: HITACHI, LTD.
To: ALAXALA NETWORKS CORPORATION
Reel/Frame 047037/0849 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2004
From: ISHIKAWA, YUICHI; YAZAKI, TAKEKI; AIMOTO, TAKESHI
To: HITACHI, LTD.
Reel/Frame 015773/0595 →
Priority Claims (1)
JP 2003-198184 · Jul 17, 2003 · national
Continuity (1)
Related Publication 20050025158A1 · Feb 3, 2005