US 7,596,086 B2
Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
Xiaolin Wang, 126 N. Ranch Rd., Concord, Mass. 01742 (US); Ajay C. Mahagaokar, 18 Adams St., Westboro, Mass. 01581 (US); Ray Rajib, 62 Essex Heights, Weymouth, Mass. 02188 (US); and Michael T. Wright, 298 New Boston Rd., Sturbridge, Mass. 01566 (US)
Filed on Nov. 05, 2003, as Appl. No. 10/702,152.
Prior Publication US 2005/0094643 A1, May 05, 2005
Int. Cl. H04L 12/56 (2006.01); H04J 1/16 (2006.01)
U.S. Cl. 370—230  [370/252; 370/412; 370/419] 8 Claims
OG exemplary drawing
 
1. In a switch/router that routes variable length data packets in a converged network environment, a method comprising:
receiving a plurality of data packet flows, each received data packet flow of the plurality having respective customer-assigned service requirements, including definition of service, priority, delay, jitter and bandwidth characteristics;
directing the received data packet flows to corresponding egress queues;
allocating amounts of bandwidth to each data packet traffic flow of the plurality of data packet flows in accordance with the respective customer-assigned service requirements by:
selecting amounts of bandwidth assigned to each of the egress queues and determining an amount of data to be released from each egress queue;
monitoring an occupancy of each egress queue to determine an amount of unused bandwidth that is allocated to but not used in any given egress queue;
managing the unused bandwidth in a repository for unused bandwidth, so as to be available for allocation to other egress queues that can utilize the unused bandwidth; and
making at least a portion of the unused bandwidth available from the repository for use by another egress queue that has more data to send than the allocated bandwidth will permit; and
scheduling a departure order of the each of the plurality of data packet traffic flows from the switch/router to a common communication link based upon and adapted to the respective customer-assigned service requirements, by selecting, independently of bandwidth allocation, at least one of an order and a priority of data packet release from the egress queues to the common communication link,
whereby the switch/router provides differentiated services for the plurality of data packet traffic flows, while simultaneously substantially filling a total data packet flow capacity utilization of the common communication link.