CA2351395A1 - Providing admission control and network quality of service with a distributed bandwidth broker - Google Patents

Providing admission control and network quality of service with a distributed bandwidth broker Download PDF

Info

Publication number
CA2351395A1
CA2351395A1 CA002351395A CA2351395A CA2351395A1 CA 2351395 A1 CA2351395 A1 CA 2351395A1 CA 002351395 A CA002351395 A CA 002351395A CA 2351395 A CA2351395 A CA 2351395A CA 2351395 A1 CA2351395 A1 CA 2351395A1
Authority
CA
Canada
Prior art keywords
state
request
premium
link
output link
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
Application number
CA002351395A
Other languages
French (fr)
Inventor
Shenze Chen
Norival R. Figueira
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Limited
Shenze Chen
Norival R. Figueira
Bay Networks, Inc.
Nortel Networks Na Inc.
Nortel Networks Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nortel Networks Limited, Shenze Chen, Norival R. Figueira, Bay Networks, Inc., Nortel Networks Na Inc., Nortel Networks Corporation filed Critical Nortel Networks Limited
Publication of CA2351395A1 publication Critical patent/CA2351395A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management

Abstract

A method and apparatus are provided for making admission decisions in a packet switched network, such as a Differentiated Services (DiffServ) Packet Network.
According to one aspect of the present invention, admission control decisions are based upon local information. An average premiums service bandwidth utilized on an output link of a network device during a predetermined window of time is calculated. A determination regarding whether to accept or reject a request for a premium service flow involving the output link is made based upon the request, a total premium service bandwidth available on the output link, the average premium service bandwidth, and bandwidth request information associated with one or more flows that have been admitted within a predetermined holding time interval. According to another aspect of the present invention, multicast flows are supported. A measure of utilized premium service bandwidth is calculated for each of the output links of a multicast-capable network device. A request for premium service bandwidth for a multicast session is forwarded onto those of the output links specified by a multicast routing protocol which have sufficient premium service bandwidth available to accommodate the request based upon the total premium service bandwidth available on the output link, the measure of utilized premium service bandwidth on the output link, and the request. For each of the output links associated with the multicast session, a link state is maintained. The link state indicates the current state of a state machine that determines the behavior of the multicast-capable network device for the corresponding output link of the multicast session. Multicast packets that are subsequently received are forwarded according to the link states associated with the output links.

Description

WO 00/30295 PCT/US99/273$0 PROVIDING ADMISSION CONTROL AND NETWORK QUALITY OF SERVICE WITH
A DISTRIBUTED BANDWIDTH BROKER
COPYRIGHT NOTICE
Contained herein is material that is subject to copyright protection.
The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
The invention relates generally to the field of computer networking devices. More particularly, the invention relates to a method and apparatus for providing admission control and network Quality of Service (QoS).
DESCRIPTION OF THE RELATED ART
The Intexnet and Enterprise networks, such as Intranets and Extranets, are expected to support diverse types of traffic including voice, file transfer data, interactive multimedia , real-time video, and rich graphic images. Additionally, despite exponential growth in the number of Internet users and the corresponding increase in demand for network bandwidth, expectations about the quality and timely presentation of information received from networks are higher than ever.
It has long been recognized that increased network speed and bandwidth alone will not satisfy the high demands of today's networks.
-2-Rather, distinguished qualities of service for various applications need to be provided. The Integrated Services (IntServ) architecture and Resource Reservation Protocol (RSVP) were developed to foster growth of Quality of Service (QoS) enabled networks. RSVP is .an Internet Protocol- (IP) based protocol that allows applications running on end-stations, such as desktop computers, to communicate per-flow requirements by signaling the network.
Referring now to Figure 1, an RSVP resource reservation setup for a data flow is briefly described. For further information on IntServ and RSVP see Braden, R., Clark, D. and Shenker, S., "Integrated Services in the Internet Architecture: an Overview", Internet: RFC 2633, June 1994 and Braden, R., Zhang, L., Berson, S., FIerzog, S. amd Jamin, S., "Resource Reservation Protocol {RSVP) Version 1 Functional Specification", RFC
2205, Proposed Standard, September 1997, respectively. In this example, an IntServ network cloud 100 includes core devices 121-125, an ingress edge device 150, and an egress edge device 160. Th.e source of a data stream, such as sender 130, transmits a Path message downstream toward potential recipients of the data stream. The Path message causes path state information, such as information regarding t:he reverse path to the sender 130, to be stored in each node along the way. Subsequently, end-stations that are interested in receiving the data stream may request a specific QoS
for the data stream. In this example, receiver 140 initiates resource reservation setup by communicating its requirements to an adjacent router, e.g., edge device 160. The receiver's requirements are communicated by transmitting a reservation request {Resv) message upstream toward sender 130. The receiver's requirements, e.g., desired QoS and a description of the data flow, are passed back to all intervening routers, e.g., core devices 121, 123, and 124, between the receiver 140 and
-3-the sender 130 and finally to the sender 130 itself. The Resv message causes each of the core devices 121, 123, and 1:24 along the path the data packets to create and maintain reservation state information. In this example, the reservation state information and the path state information are together referred to as flow state informatiion 180. Flow state information 180 is stored in each core device on the path between the sender 130 and the receiver 140. RSVP's reliance on per-flow state information and per-flow processing raises scalability concerns in large networks. As a result, only a small number of hosts actually generate RSVP signaling.
The scalability concerns raised by the combination of RSVP and IntServ led to the development of the Differentiated Services (DiffServ) Architecture. DiffServ allows distinct levels of network service to be provided to different traffic. However, rather than storing per-flow state information on each intermediate node in the network between the sender and the receiver(s), routers within a DiffServ network handle packets on different traffic flows by applying different per-hop behaviors (PHBs) based upon the setting of bits in the TOS field of each packet's IP
header. In this manner, many traffic flows m~~y be aggregated into one of a small number of predefined PHBs, thereby allowing a reduction in the amount of processing and storage associated with packet classification and forwarding. While solving the scalability issues raised by the RSVP/IntServ combination, DiffServ fails to provide adequate guidance with regard to implementation of an admission control policy:
An allocation method suggested by the DiffServ framework will now briefly be described with reference to Figures 2A and 2B. One approach for performing admission control suggested by the DiffServ framework involves using a centralized bandwidth broker 210. The
-4-centralized bandwidth broker 210 has control over the entire domain and centrally handles bandwidth allocation requests. In this example, a DiffServ network cloud 200 includes core devices 221-225, an ingress edge device 250, and an egress edge device 260. A sender 230 wishing to establish a particular level of service for a data. flow between it and a receiver 240 transmits an indication of its requirements to the ingress edge device 250. The ingress edge device 250 communicates the requirements to the centralized bandwidth broker 210. The centralized bandwidth broker 210 validates the request against policif~s, compares the request against the current allocation of bandwidth for accepted traffic, and configures the edge devices 250 and 260 with information needed to mark and shape (or police) incoming packets for the flow. Subsequently, as packets that are part of the established data flow traverse the DiffServ network cloud 200, the intermediate core devices 221-225 apply a PHB that corresponds to the DiffServ service level indicated in the packet header.
While conceptually simple, the implementation of a useful centralized bandwidth broker may be very complex. In addition, the practicality of a centralized bandwidth broker its questionable at best. For example, a centralized bandwidth broker has l.im;ited capability to handle bandwidth requests for multicast sessions. Also, one obstacle in implementing a centralized bandwidth broker is supplying complete information to the centralized bandwidth broker regarding the network topology and information regarding current allocation of bandwidth for individual paths traversing the network. In order to avoid the complexity of such a full-topology scheme, the centralized bandwidth broker 210 may conceptually view the DiffServ network cloud 200 as having a logical bottleneck equal to the weakest link 270 in the domain for any ingress/egress edge device pair. For example, because the centralized
5 PCT/US99/27380 bandwidth broker 210 may not have knowledge of the network topology, it may simply condense the network topology of its entire domain of authority into a single imaginary logical link 2.80 that has a capacity equivalent to the weakest link 270 in the domain. A network manager may manually configure the centralized band~rvidth broker 210 with this information, for example. As a result of this simplification, the network topology of Figure 2A will be condensed to the single imaginary logical link 280 shown in Figure 2B. While this simplification reduces the centralized bandwidth broker's admission control decision to a comparison of the new request against the current allocation of bandwidth for the imaginary logical link 280, one limitation of this scheme is that it can result in a network that is over provisionE~d or under utilized.
In light of the foregoing, what is needed is a more intelligent mechanism For implementing admission control policy in a DiffServ network. In particular, it is desirable to increase the bandwidth utilization for premium service beyond that provided by the weakest link.
BRIEF SUMMARY OF THE INVENTION
A method and apparatus are described for making admission decisions in a packet switched network. According to one aspect of the present invention, admission control decisions are based upon local information. An average premium service bandwidth utilized on an output link of a network device during a predetermined window of time is calculated. A determination regarding whether to accept or reject a request for a premium service flow involving the output link is made based upon the request, a total premium service bandwidth available on the output link, the average premium service bandwidth, and bandwidth
-6-request information associated with one or me>re flows that have been admitted within a predetermined holding time interval.
According to another aspect of the present invention, multicast flows are supported.
A measure of utilized premium service bandwidth is calculated for each of the output links of a multicast-capable network device. A request for premium service bandwidth for a multicast se;~sion is forwarded onto those of the output links specified by a multicast routing protocol which have sufficient premium service bandwidth available to accommodate the request based upon the total premium service bandwidth available on the output link, the measure of utilized premium service bandwidth on the output link, and the request. For each output :link associated with the multicast session, a link state is maintained. T'he link state indicates the current state of a state machine that determines the behavior of the multicast-capable network device for the corresponding output link of the multicast session. Multicast packets that are subsequently received are forwarded according to the link states associated with the output links.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Figure 1 illustrates resource reservation setup for a data flow using a prior RSVP/IntServ model.

Figures 2A and 2B illustrate a centrali<:ed bandwidth allocation method suggested by the DiffServ framework.
Figure 3A illustrates the interaction of various functional units of an exemplary network device according to one embodiment of the present invention.
Figure 3B is a simplified block diagram of an exemplary network device according to one embodiment of the 'present invention.
Figure 4 is a flow diagram illustrating high level bandwidth reservation processing according to one embodiment of the present invention.
Figure 5 is a flow diagram illustrating .control packet processing according to one embodiment of the present invention.
Figure 6 is a flow diagram illustrating background processing according to one embodiment of the present invention.
Figure 7 is a state diagram illustrating state transitions for links associated with a multicast session according to one embodiment of the present invention.
Figure 8 illustrates an exemplary routing table format according to one embodiment of the present invention.
Figure 9 is a flow diagram illustrating data packet processing according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
A method and apparatus are described for making admission decisions in a packet switched network based on local information. Using the teachings of the present invention, a distributed bandwidth broker may allocate premium service in a DiffServ network without keeping any permanent or soft state for accepted unicast premium service flows in core WO 00!30295 PCTIUS99/27384 _$_ network devices. Additionally, according to one aspect of the present invention, per-flow state information is greatly reduced for multicast premium service flows by limiting per-flow storage usage to a single Iink state variable that can be represented with as little as two bits. According to one embodiment of the present invention, a plurality of QoS-capable network devices each include a Iocal bandwidth broker that employs local information, such as output link bandwidth and a measure of premium service traffic utilization, to make admission decisions. Advantageously, in this manner, premium service bandwidth utilization may be increased significantly over the weakest link approach employed by a centralized bandwidth broker.
In the following description, for the purposes of explanation;
numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form:
The present invention includes various steps, which will be described below. The steps of the present invention may be performed by hardware components or may be embodied in. machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware and software.
The present invention may be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer {or other electronic devices) to perform a process according to the present WO 00/30295 PCT/US99/273&0 invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CDR-ROMs; and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnet or optical cards, or other type of media / machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer {e.g., a server) to a requesting computer (e.g., a client) by way of data signal!.s embodied in a carrier wave or other propagation medium via a communication link {e.g., a modem or network connection).
Importantly, while embodiments of the present invention will be described with reference to the DiffServ framework, the method and apparatus described herein are equally applicable to other packet switched network architectures that may perform traffic flow aggregation by means other than packet marking and PHBs. Furthermore, for convenience, embodiments of the present invention are dE~scribed with respect to QoS-capable network devices that support two service levels: (2) best-effort, and (2) premium service; however, the method a:nd apparatus described herein are equally applicable to QoS-capable network devices that implement othex service levels and/or additional service levels.
EXEMPLARY NETWORK DEVICE ARCHITECTURE
Figure 3A illustrates the interaction oiE various functional units of an exemplary network device 300, such as a muter, a routing switch, or the Iike, according to one embodiment of the present invention. The network device 300 is representative of an edge devicE~ that serves as an entry point into a DiffServ network cloud or a core device that resides within a DiffServ network cloud. In this example, the network device 300, includes a plurality of incoming interfaces 305 (also referred to as input links or uplinks), a forwarding engine 310, a local bandwidth broker 330, and a plurality of outgoing interfaces 360 {also referred to as output links or downlinks). In practice, additional functional units will be present in networking devices. For purposes of this example, however, only those functional units useful for providing context or fox understanding the present admission control and measurement mechanisms axe shown.
Data and control packets received at they incoming interfaces 305 are passed to the forwarding engine 310 and/or the local bandwidth broker 330 for processing. While, for purposes of this example, interfaces have been labeled as incoming or outgoing, the same intExface may act in both the incoming and outgoing roles for different data. flows in the same session.
Local bandwidth brokers 330 communicate with each other and facilitate flow establishment between senders and receivers by, among other things, generating and/or forwarding various control packets.
Throughout this application, three generic types of control packets will be referred to: a REQUEST message, an ACCEPT message, and a REJECT
message. REQUEST messages request the establishment of a flow by specifying the desired level of service (typically in terms of the worst-case behavior of the flow) that the sender application would like to receive in terms of a bandwidth or a token bucket filter, for example. REJECT
messages indicate a device's inability to provid'~e the requested level of service and may be sent by any node along the path between the sender and the receiver. A REJECT message may also be transmitted by the egress edge device if the receiver application (or host) does not subscribe to the flow identified by the REQUEST message. ACCEPT messages are sent by egress edge devices to indicate all devices along the path can accommodate the requested level of service. Subsequently, each of the devices will forward packets that are part of the flow with a PHB corresponding to the requested level of service. As will be described further below, repeated REQUEST messages may be used to accomodate for certain changes that may occur in a network, such as topology changes, link failures, and route changes, for example.
According to this embodiment, the for~nrarding engine 310 includes a forwarding process 315 and a packet scheduler 320: The forwarding process 315 may perform lookups based upon information iri a packet's IP
header. For example, the forwarding process ;315 may determine the address of the next hop or the output link upon which the packet is to be forwarded by accessing a routing table or forwarding database (not shown).
In ingress edge devices, the forwarding process 315 may additionally perform classification, marking, and shaping of premium service flows.
The packet scheduler 320 determines the appropriate PHB for received packets with reference to markings contained in the TOS field of the packet header and buffers the packets for transmission on the outgoing interface 360 specified by the forwarding process 315. As will be described further below, with regard to multicast traffic, lthe appropriate PHB may be determined based upon link state information stored in a modified routing table format. Two proposed PHBs are Default {DE) and Expedited Forwarding (EF). The Default PHB is designed to closely approximate the best-effort behavior of existing routers. According to the Default PHB, an incoming packet is queued at the tail of a FIFO and is serviced when the output link is free. In contrast, EF-marked packets are queued on a FIFO
that is expected to be relatively short and which always gets the next opportunity to send a packet. Thus, the EF PHIB may be useful for implementing services that require low delay wind low fitter. For convenience, reference is made to only two service levels, e.g., premium service and best-effort. Importantly, however, the admission control and measurement mechanisms described herein are also applicable when multiple service levels are provided.
The collection of local bandwidth brokE~rs 330 running on network devices throughout a network can be viewed as a single distributed bandwidth broker whose functionality has been divided among several devices. The local bandwidth brokers 330 of a network each independently make admission decisions regarding a particular flow based upon information local to the network device upon which they axe running. In this regard, the local bandwidth brokers can be said to be peers. According to the embodiment depicted; the local bandwidth broker 330 is coupled to the forwarding engine 310 arid the outgoing interfaces 360. The local bandwidth broker 330 may receive information retrieved from routing tables and/or the forwarding database from the forwarding engine 310 for use in performing its admission control processing.
According to one embodiment, the local band~Nidth broker 330 may update link state information in the routing tables and/or forwarding database as described further below. The local bandwidth broker 330 may also receive various statistics from the outgoing interfaces 360, such as the number of packets forwarded at a particular service level for each output link during a particular time interval. In the embodiment depicted, the local bandwidth broker 330 includes a signaling protocol process 335, an admission control process 340, an optional policy management process 345, and a measurement process 350. The signaling protocol pracess 335 may implement various timers and routines for handling and generating the various types of control messages. Those of ordinary skill in the art will appreciate that it may be advantageous to include an RSVP interface in the signaling protocol process 335 of edge dEwices in order to allow RSVP messages to trigger specific actions from the edge devices.
The measurement process 350, interfaces with the output links 360 and may perform bandwidth measurements a:nd accumulate other statistics useful for making admission decisions. According to one embodiment, the measurement process 350 evaluates an average bandwidth utilization measurement for each output link. The average bandwidth utilization measurements may be Evaluated periodically according to a predetermined evaluation interval or on demand at the request of the admission control process 340, for example.
The admission control process 340, interfaces with the signaling protocol 335 to process control messages. The admission control process 340 is responsible for verifying whether or not enough resources are available to accept new premium service bandwidth requests. As will be described further below, upon receiving flow requests, the admission control process 340 evaluates one or more admission criteria and accepts or rejects the flow. According to one embodiment, the admission control process 340 makes admission decisions based upon local information, such as output link bandwidth and a novel measure of premium service traffic utilization.
The policy management process 345 is typically included only in edge devices. The policy management process 345 interfaces with the admission control process 340 to validate requests against one or more policies. For example, scheduled requests (i.e., those for a date or time in the future) may be given preference over real-time requests (i.e., those that request the allocation of bandwidth starting immediately at the time of the request) and vice versa. Depending on the implementation, the policy management process 345 may either make polLicy management decisions locally or access a remote policy server for policy management decisions.
The current state of the multicast state machine 355 defines the forwarding behavior of an output link with respect to a multicast session.
The current state of the multicast state machine 355 is in turn determined as a result of events, typically the receipt of control messages and/or the expiration of various timers, as will be described further below.
Importantly, the present invention is not limited to a particular implementation of these functional units. The functional units described above may be implemented with one or more logic circuits, Application Specific Integrated Circuits (ASICs}, other programmable or hardcoded logic, such as FPGAs or TTL logic, a processor or other components of a programmed computer that perform a series of operations dictated by software or firmware, or a combination thereof:
Figure 3B is a simplified block diagram of network device 300 according to one embodiment of the present i~lvention. In the embodiment depicted, the network device 300 comprises a backplane 395, such as a conventional shared backplane, switched backplane or other communication means for communicating information, and a processing means such as processor 365 coupled with the lbackplane 395 for processing information. The network device 300 further comprises a random access memory (RAM) or other dynamic storage device 370, referred to as main memory, coupled to backplane 395 for storing information and instructions to be executed by processor 365. Main memory 370 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 365. The network device 300 also comprises a read only memory (ROM) and/or other static storage -i5-device 375 coupled to backplane 395 for storing static information and instructions for processor 365. A secondary storage device 3$0, such as flash memory or a magnetic or optical disk and corresponding drive, may also be coupled to backplane 395 for storing information and instructions.
The network device 300 also includes a plurality of ports 390 for communicating with other devices in a network. Typically, the ports 390 are coupled to the backplane 395 through interfaces such as I/O interfaces 385. The I/O interfaces 385 may contain a local processor, memory, and other logic (not shown) for performing segmentation and reassembly of packets, intracard forwarding and other processing. In alternative embodiments, the ports 390 may be coupled directly to backplane 395 and both intra and intercard forwarding may be provided by backplane 395.
The forwarding engine 310 and local bandwidth broker 330 processing may be performed by processor 365, by I/O processors within the I/O interfaces 385, or the forwarding and bandwidth broker functions may be distributed among the I/O interfaces 385 and processor 365.
Importantly, the present invention is not limited to any particular architectural implementation of network device 300. The simplified block diagram of Figure 3B is intended only to illustrate one of many potential architectures in which the present invention may be employed.
BANDWIDTH RESERVATION PROCESSING OVERVIEW FOR UNICAST AND
MULTICAST
Figure 4 is a flow diagram illustrating high level bandwidth reservation processing according to one embodiment of the present invention. Briefly, in the DiffServ framework, in order to establish a premium service flow, a request fox premium ,service {e.g., a REQUEST
message) needs to traverse the entire path of t:he reservation from the ingress edge device to the egress edge device. Additionally, an affirmative admission decision {e.g., an ACCEPT message) needs to be received by the ingress edge device within a predetermined timeout interval (greater than or equal to one round trip delay. Once the flow has been established, the ingress edge device may canfigure itself to handle the classification, marking, and shaping of the new premium service flow.
At step 410, a sender application comFnunicates its premium service bandwidth requirements to the network. The sender application may transmit a message specifying a desired level of service in terms of bandwidth or a token bucket filter, for example, to an ingress edge device.
Because flow behavior is not always static, it is common to specify the worst-case behavior of the flow.
Assuming the ingress edge device can accommodate the request, the ingress edge device sends a REQUEST message at step 420. According to one embodiment, the REQUEST message is addressed to the final destination of the premium service traffic (e.;~., the host or end-station upon which the receiver application resides) rather than the egress edge device. In this manner, the egress edge device is dynamically determined by regular IP routing protocols.
At step 430, as the REQUEST message traverses the path between the ingress edge device and the egress edge device, the local bandwidth brokers running in the intermediate nodes along the path evaluate one or more admission criteria for the data flow specified by the REQUEST
message and reject or accept the request.
At step 440, it is determined whether or not the one or more admission criteria have been satisfied. According to one embodiment, the admission criteria may involve evaluating a number of factors including, the total premium service bandwidth available on the output link, a _ 17_ measure of premium service bandwidth utilization on the output Iink, and the amount of bandwidth requested for i:he current flow. If the admission criteria are satisfied, the processing continues with step 460;
otherwise processing continues at step 450.
At step 450, the requested flow is rejected. The request may be denied by any of the intermediate nodes by simply dropping the REQUEST
message, thereby preventing the egress edge device from generating an ACCEPT message for this flow and causing the flow to timeout at the ingress edge device. Alternatively, a REJECT message may be sent upstream to the ingress edge device to indicate the node's inability to provide the requested level of service.
At step 460, the requested flow is accepted. According to one embodiment, a local bandwidth broker accepta a REQUEST message by simply forwarding the message to the next hop.
At step 470, the REQUEST message is received by the egress edge device. According to one embodiment, the egress edge device executes the same admission control procedures as are exE~cuted on the core network devices and the ingress edge device, except that the egress edge device does not forward the REQUEST message to the next hop. Assuming the request is accepted, the egress edge device sends an ACCEPT message back to the source of the REQUEST message (i.e., t:he ingress edge device).
Thus, a REQUEST message is considered accepted only if all the local bandwidth brokers in the path of the messages accept the request. In alternative embodiments, RSVP signaling may also be supported at the ingress and egress edge devices as will be described further below.
While in this example, requests are described as being received from an end user application, requests for premium service may be received from other sources as well. For example, a request for premium service bandwidth may be received from an :intervening system, such as a service manager.
CONTROL PACKET PROCESSING FOR UNICAST SESSIONS
According to one embodiment of the present invention, three basic control packets are used for flow configuration and maintenance. Figure 5 is a flow diagram illustrating control packet processing according to one embodiment of the present invention. In one embodiment, the steps described below may be performed under the control of a programmed processor. In alternative embodiments, the sf:eps may be fully or partially implemented by programmable or hardcoded logic. According to the embodiment depicted, at step 505, the packet type of a received control packet is determined. If the packet is a REQI:fEST message, then processing continues with step 510. Note that repeated REQUEST
messages rnay be periodically generated once per repeat interval by the ingress edge device for rejected unicast flows. In this manner, a flow that was initially rejected may still have a chance to be accepted. As will become clear below, to assure that a network device ~~ill not temporarily save multiple copies of bandwidth request information for the same session, the interval of time between two consecutive (repeated) REQUEST messages should be greater than one timeout interval for REQUEST messages plus one holding time interval. The holding time interval should be greater than one round trip delay plus the interval of time that a core device takes to update its estiimate of premium service bandwidth utilization. At any rate, if the pac~;et is an ACCEPT message, then processing continues with step 550. If the packet is a REJECT
message, then processing continues with step 560.

WO 00130295 PCTNS99/273$0 At step 510, the Iocal bandwidth bxoker 330 retrieves information from the forwarding engine 310 regarding the output link. According to one embodiment, the local bandwidth broker 330 may query the forwarding engine 310 to determine an identifier associated with the output Iink corresponding to the next hop of the path of the reservation.
The output link identifier may then be used, for example; to index into various statistics and measurements that are maintained for each output link.
At step 515, one or more admission criteria are evaluated. For example, a determination is made whether the requested bandwidth is Iess than or equal to a measure of remaining premium service bandwidth for the output link. According to one embodiment, the following expression is evaluated:
req _ premium + used _ premium S lx x total _ premium where, req_ premium is the amount of premium service bandwidth specified in the request;
used_ premium is the current average premium service bandwidth utilization for the output link during the predetermined window of time plus the sum of the one or more bandwidth requests that are held by the holding time interval (these bandwidth requests are associated with flows that have been admitted but may not yet have started to inject premium packets onto the output link);

_20_ total_ premium is the total amount of premium service bandwidth that is available for the output link;
and Cx is a utilization parameter having a value greater than 0 and less than or equal to 1. This parameter rnay be used to control how conservative the adrnission policy is. For example, it may be adjusted to balance the trade-off between premium service bandwidth utilization and the risk of over subscription.
if the admission test is satisfied, processiing continues with step 525;
otherwise processing continues with step 520. .At step 520, the data flow is rejected by dropping the REQUEST message, i.e., not forwarding it, and by sending a REJECT message upstream to the ingress edge device.
At step 525, committed bandwidth for the output link is tracked for use in the above utilization calculation by temporarily storing bandwidth request information (e.g., bandwidth values) associated with recently admitted flows. For example, all or part of a Rl?QUEST message or a bandwidth value associated with a REQUEST message may be saved for a predetermined holding time interval or until a~ downstream node rejects the flow. Advantageously, by accounting for these newly accepted flows that cannot be instantaneously recognized in the average premium service measurements (because they have not yret started to inject premium packets onto the output link), the local bandwidth broker 330 can avoid over-admission due to the near simultaneous arrival of REQUEST messages. Trnportantly, REQUEST rr~essages are stored at most for the predetermined holding time before they are discarded. Therefore, unlike RSVP, no permanent or soft state is kept in non-edge devices for unicast premium service sessions.
At step 530, it is determined whether or not this is the last hop. If it is the last hop, i.e., this network device is the egress edge device; then processing continues with step 540. Otherwise, if this network device is a core device, then processing continues with sty?p 535. At step 540, an ACCEPT message is sent upstream to the ingress edge device. At step 535, the REQUEST message is forwarded downstream to the next hop via the output Iink.
At step 550, when an ACCEPT message is received, it is forwarded upstream to the ingress edge device.
At step 560, when a REJECT message is received, it is forwarded upstream to the ingress edge device. At step 565, the REQUEST message saved for this data flow may be discarded. Aliternatively, the REQUEST
message may be disposed of at the expiration of the holding time interval Importantly, many of the steps described above need not be executed in the order shown and/or discussed. For example, step 525 may be performed on the "no" branch of step 530 before or after step 535 and additionally on the "yes" branch of step 530 be:Eore or after step 540.
Additionally, the order of steps 560 and 565 may be reversed in alternative embodiments.
MEASUREMENT PROCESSING
Figure 6 is a flow diagram illustrating background measurement processing according to one embodiment of flue present invention. At step 610, it is determined whether or not the holding time interval has elapsed for any held bandwidth request inforr~tation. If so, those of the committed bandwidth values that are expired are discarded (step 620). If the holding time interval has not elapsed or ;after expired bandwidth values have been discarded, at step 630, a determination is made whether or not an evaluation interval has elapsed. T'he evaluation interval is typically less than or equal to the time window over which the average bandwidth is calculated. At any rate, if the evaluation interval has elapsed, then processing continues with step 640; otherwise processing continues with step 620.
At step 640, the average premium bandwidth used during a predetermined time window is calculated for' each link. Advantageously, the present invention's use of measured values rather than peak reservations for flows allows unicast premium service sessions to avoid maintaining permanent and/or soft state information.
Importantly, this time window measurement may be replaced with any number of other approaches. For example, in an alternative embodiment, the average bandwidth utilization measurement may be calculated as necessary upon receiving a REQUEST message. According to another alternative embodiment, the utilizatiion measure (e.g.;
used_ premium) may be calculated periodically at step 640 and updated when new flows are admitted. While the flow diagram gives the impression that the steps above are performed in a polling loop of some sort, it should be appreciated that the bandwidth measurement update and the discarding of expired bandwidth values may be triggered by the expiration of a timer or interrupt driven, for example.
MULTICAST PROCESSING OVERVIEW
In contrast with prior techniques for providing admission control, as a result of various features of the present invention, premium IP flows may use IP multicast. In general, admission control processing for WO 00!30295 PCT/US99/27380 multicast sessions is as described above for uruicast sessions except that it is executed separately for each output link that participates in the multicast session and a very small amount of link state information is maintained for each flow. Other variations will be pointed out below.
Briefly, the goal of admission control processing for multicast sessions is to forward premium service multicast packets as premium service traffic as long as at least one branch of .a downlink sub-tree has accepted the corresponding premium service flow. Consequently, REJECT
messages do not provide meaningful informaition for decision making in connection with multicast flows and may be dropped.
AN EXEMPLARY MULTI~,AST STATE DIAGRAM
Figure 7 is a state diagram illustrating state transitions and actions for each link associated with a multicast session according to one embodiment of the present invention. Accordiing to the embodiment depicted, a multicast state machine includes four states: an initial state 700, a flow pending state 701, a flow established staf:e 702, and a flow refresh state 703. All new multicast flows are initialized to the initial state 700 and link states of modified routing table entries are cleared {set to the initial state 700).
As will be discussed further below, if an output link associated with a multicast session is in the flow established state 702 or the flow refresh state 703, premium service packets are forwarded onto the output link as premium service traffic; however if the output link is in the initial state 700 or the flow pending state 701, premium service packets are forwarded onto the output link as best-effort traffic and remarked as best-effort.

WO 00/30295 PCT/US99/273$0 Initial State 700 The initial state 700 represents a state in which the link has not accepted the particular multicast flow or in which an ACCEPT message was not timely received from the downlink sob-tree. Upon receiving a REQUEST message, the node performs the admission test described above for the output link. The REQUEST message is forwarded to the output link if the one or more admission criteria are satisfied. Additionally, bandwidth request information is saved for cme holding time interval and the state machine transitions to the flow pending state 701. If the one or more admission criteria are not satisfied, the REQUEST message is dropped and the state machine remains in the initial state 700.
Flow Pending State 701 The flow pending state 701 represents a. state in which the link is waiting to receive an ACCEPT message for a multicast flow that the link has recently admitted, for example. In the flow pending state 701, upon receiving an ACCEPT message it is forwarded upstream to the ingress edge device and the state machine transitions to thE~ flow established state 702.
Upon expiration of the holding time interval, the state machine returns to the initial state 700 because no ACCEPT message was received. Since new receivers may be added to the multicast tree b;y the multicast routing protocol, REQUEST messages may periodically be generated by the ingress edge device for multicast flows periodically upon the expiration of the repeat interval. In this manner, links that have recently become associated with a particular multicast session have a chance to execute the admission control process and update their link state thereby allowing a new downlink sub-tree the to receive premium service traffic. This periodic refresh mechanism (e.g., the generation of repeated REQUEST

messages) is also useful in case ACCEPT messages are lost in the network.
In any event, upon receiving a REQUEST message it is forwarded to the output link.
Flow Established State 702 The flow established state 702 represents a state in which the link has admitted the particular multicast flow and at least one ACCEPT
message has been received from the downlink sub-tree. In the flow established state 702, all subsequent ACCEPT messages are dropped.
Therefore, each node forwards anly one ACCf?PT message to the uplink for each downlink of a muiticast session. In this manner, ACCEPT
messages are effectively aggregated for the ingress edge device. Upon receiving a repeated REQUEST message, the REQUEST message is forwarded to the output link, a timer is set to .a refresh interval, and the state machine transitions to the flow refresh state 703.
Flow Refresh State 703 The flow refresh state 703 represents a state in which the link has previously established a flow for the particular multicast session and subsequently received a repeated REQUEST message. In the flow refresh state 703, all REQUEST messages are forwarded onto the output link.
Upon receiving an ACCEPT message, the ACCEPT message is forwarded onto the uplink and the state machine returns to the flow established state 702. Upon expiration of the refresh interval, the timer is set to a second chance refresh interval and the state machine falls back to the flow pending state 701. When an ACCEPT message is not received during the refresh interval this typically means one of two things, either the sub-tree is not subscribing to premium service any more or all the ACCEPT

-z6-messages were lost. In either case, the flow is downgraded to best-effort by dropping back to the flow pending state 701.
As mentioned above, REJECT messages are not useful in the context of a multicast session since the acceptance of the multicast flow by even a single node underneath a downlink causes the node to forward premium service packets as premium service traffic on that output link.
While REJECT messages are not necessary in the multicast context, they may still be received as a result of non-multic:ast nodes in the path between two adjacent multicast-capable nodes. Therefore, in any of the above states, when a REJECT message is receiived in connection with a multicast sessiow it may be silently dropped by multicast-capable network devices.
AN EXEMPLARY MODIFIED ROUTING TABLE FOIftMAT
Depending upon the implementation, ahe current state of the multicast state machine for a given output link-flow pair may be stored in the local bandwidth broker 330 or in the forwarding engine 310. Figure 8 illustrates an exemplary multicast routing table format 800 that may be used to store per-flow link state information for output links that are associated with, a muiticast session according to one embodiment of the present invention. According to. this example,, each entry 801, 802 and 803 of the modified multicast routing table 800 includes information commonly found in regular multicast routing tables, such as a multicast group address 805, an output interface 815 associated with the multicast session, and a next hop IP addresses 810 for the output interface 815. In addition, a single variable, premium state 820, is attached to each entry 801, 802 and 803. Importantly, to represent the current state of the four-state multicast state machine of Figure 7, the storage requirement for a regular multicast routing table is only increased by two bits per entry. For example, a premium state value of zero (i.e., CIOb) may indicate the current state of the corresponding output interface is state 700, one (i.e., 01b) may indicate the current state of the corresponding output interface is state 701, two (i.e., 10b) may indicate the current state of the corresponding output interface is state 702, and three (i.e., 11b} may indicate the current state of the corresponding output interface is state 703. Advantageously, the combination of the novel multicast state machine depicted in Figure 7 and the modified routing table format 800 facilitate admission control and forwarding decisions for premium IP flows using IP multicast.
DATA PACKET PROCESSING
Figure 9 is a flow diagram illustrating data packet processing according to one embodiment of the present invention. The data packet processing generally breaks down into unicast forwarding processing and multicast forwarding processing. The unicast :Forwarding processing is represented by steps 920-940 and the multicast forwarding processing is represented by steps 950-990. Briefly, after classifying the data packet as either part of a unicast flow or a multicast flo~n~, the appropriate line of processing is performed. IJnicast packets are forwarded according to a service level indication in the packet header, e.,g.; the TOS field. Since premium multicast packets may be received when only one of several output links associated with the multicast session has admitted the multicast flow, forv~arding of a multicast packet additionally includes testing the link state, e.g., premium state 820, for each of the one or more output links associated with the multicast group address specified by the multicast packet.

After receiving a data packet; at step 910, a determination is made with regard to the packet's type. If the data packet is a unicast packet, unicast forwarding processing is performed beginning at step 920. If the data packet is a multicast packet, muiticast forwarding processing is performed beginning at step 950.
According to the embodiment depicted, unicast packet processing begins with step 920. At step 920, the TOS field of the unicast data packet's IP header is examined to determine the service level. At step 930, the output link upon which to forward the data packet is determined.
Typically, this is accomplished by way of a rousting table lookup by the forwarding engine 310, for example. Finally, at step 940, the data packet is queued for transmission at the output link according to the service level identified in step 920.
In this example, multicast packet processing starts with step 950. At step 950, a determination is made regarding the output links) associated with the multicast packet. For example, the mialticast group address identified in the multicast packet's header may be used to access a multicast routing table. At step 960, the link state is determined for each of the output links identified in step 950. According to one embodiment, the link state may identify one of the states described with reference to Figure 7. In alternative embodiment, more or less states may be employed. In any event, if the link state is a si:ate in which premium service packets may be forwarded processing continues with step 970;
otherwise, processing continues with step 980. At step 970, if the multicast packet is marked indicating it is to be forwarded as premium service traffic, then it is queued for transmission at they output link at that service level. However, if the multicast packet is not so marked, then it is queued for transmission at the output link as best effort; traffic. At step 980, the multicast packet is queued for transmission ai: the output link as best effort traffic regardless of the service level indicated in the TOS field of the packet's IP header. Additionally, the TOS field is set to best-effort.
According to the embodiment depicted, after the multicast packet has been queued for transmission on the appropriate output queue of the output link, it is determined at step 990 whether or n.ot the current output link is the last output link associated with the multicast group address. If it is the last output link, then processing is complete; otherwise, processing continues with step 960 for the next output link associated with the multicast group address.
Importantly, while data packet processing of unicast and multicast packets has been illustrated and described in a particular order, there is no requirement that the steps be performed in that order. Steps that do not depend on results of other steps may be performed before, after or concurrently with one or more of those other :>teps. For example, the order of steps 920 and 930 may be swapped or t:he steps may be performed concurrently. Additionally, while the queuingv of multicast packets for transmission at each of the output links associated with the multicast flow is conceptually illustrated as a Ioop, the queuing for each of the output links may be performed in parallel rather than. sequentially.
In the foregoing specification, the invenition has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (24)

-30- What is claimed is:
1. A method of making admission control decisions in a packet switched network, the method comprising the steps of:
calculating an average premium service bandwidth used during a predetermined window of time on an output link of a network device; and determining whether to accept or reject a request for a premium service flow involving the output link based upon the request, a total premium service bandwidth available on the output link, the average premium service bandwidth, and bandwidth request information associated with one or more flows that have been admitted within a predetermined holding time interval.
2. The method of claim 1, wherein the step of determining whether to accepting or reject the request comprises evaluating the following expression:
req_premium + used_premium ~ .alpha. x total_premium;
where, req_premium is the amount of premium service bandwidth specified in the request;
used_premium is the current average premium service bandwidth utilization for the output link during the predetermined window of time plus the sum of the one or more bandwidth requests associated with flows that have been admitted but may not yet have started to inject premium packets onto the output link;
total_premium is the total amount of premium service bandwidth that is available for the output link; and .alpha. is a utilization parameter having a value greater than 0 and less than or equal to 1.
3. The method of claim 1, wherein the step of determining whether to accepting or reject the request comprises accepting the request when the following expression is true and rejecting the request when it is false:
req_premium + used_premium ~ .alpha. x total_premium;
where, req_premium is the amount of premium service bandwidth specified in the request;
used_premium is the current average premium service bandwidth utilization for the output link during the predetermined window of time plus the sum of the one or more bandwidth requests associated with flows that have been admitted but may not yet have started to inject premium packets onto the output link;
total_premium is the total amount of premium service bandwidth that is available for the output link; and .alpha. is a utilization parameter having a value greater than 0 and less than or equal to 1.
4. The method of claim 1, wherein the network device is a multicast-capable network device and includes a plurality of output links, the method further comprising the steps of:

receiving a second request, the second request for premium service bandwidth for a multicast session;
forwarding the second request onto one or more of the plurality of output links that are associated with the multicast session as determined by a multicast routing protocol and which have sufficient premium service bandwidth available to accommodate the second request based upon a total premium service bandwidth available on the output link, a measure of utilized premium service bandwidth on the output link, and the second request;
maintaining a link state for each of the one or more output links that are associated with the multicast session, the link state indicating a current state of a state machine that determines the behavior of the multicast-capable network device for the corresponding output link of the multicast session; and forwarding packets that are part of the multicast session according to the link states associated with the one or more output links.
5. The method of claim 4, further comprising the steps of:
forwarding data packets that are part of the multicast session as best-effort traffic over those of the one or more output links having link states associated with a first state of the state machine, the first state representing a state in which the corresponding output link is waiting for an admission decision for the second request from a branch of its downlink sub-tree; and forwarding data packets that are part of the multicast session as premium service traffic over those of the one or more output links having link states associated with a second state of the state machine, the second state representing a state in which the corresponding output link has received an indication that a branch of its downlink sub-tree has accepted the second request.
6. A method of making admission control decisions in a Differentiated Services Packet Network, the method comprising the steps of:
determining a measure of utilized premium service bandwidth on an output link of a network device by periodically calculating an average premium service bandwidth used during a predetermined window of time, and adding to the average premium service bandwidth a bandwidth associated with a flow that has been admitted but that has not yet started to inject premium packets onto the output link; and determining whether to accepting or reject a request for a premium service flow involving the output link based upon a total premium service bandwidth available on the output link, the measure of utilized premium service bandwidth on the output link, and the request.
7. The method of claim 6, wherein the step of determining whether to accepting or reject the request comprises accepting the request when the following expression is true and rejecting the request when it is false:
req_premium + used_premium ~ .alpha. x total_premium;

where, req_premium is the amount of premium service bandwidth specified in the request;
used_premium is the current average premium service bandwidth utilization for the output link during the predetermined window of time plus the sum of the one or more bandwidth requests associated with flows that have been admitted but have not yet started to inject premium packets onto the output link;
total_premium is the total amount of premium service bandwidth that is available for the output link; and .alpha. is a utilization parameter having a value greater than 0 and less than or equal to 1.
8. A method of making admission control decisions regarding premium unicast flows in a packet switched network without maintaining permanent per-flow state information for accepted unicast flows, the method comprising the steps of:
temporarily storing bandwidth request information associated with admitted unicast flows that have been admitted within a predetermined holding time interval;
calculating an average premium service bandwidth used during a predetermined window of time on an output link of a network device;
determining whether to accept or reject a request for a premium service flow involving the output link based upon the request, a total premium service bandwidth available on the output link, the average premium service bandwidth, and the bandwidth request information.
9. A method of making admission control decisions in a Differentiated Services Packet Network, the method comprising the steps of:
periodically determining a measure of utilized premium service bandwidth on an output link of a network device based upon an average premium service bandwidth used during a predetermined window of time and requested bandwidth associated with at least one flow that has been admitted but that has not yet started to inject premium packets onto the output link;
receiving a request for premium service bandwidth over the output link; and determining whether to accepting or reject the request based upon a total premium service bandwidth available on the output link, the measure of utilized premium service bandwidth on the output link, and the request.
10. A method of managing multicast flows in a packet switched network, the method comprising the steps of:
calculating a measure of utilized premium service bandwidth for a plurality of output links of a multicast-capable network device;
receiving a request for premium service bandwidth for a multicast session;
forwarding the request onto one or more of the plurality of output links that are associated with the multicast session as determined by a multicast routing protocol and which have sufficient premium service bandwidth available to accommodate the request based upon a total premium service bandwidth available on the output link, the measure of utilized premium service bandwidth on the output link, and the request;
maintaining a link state for each of the one or more output links, the link state indicating a current state of a state machine that determines the behavior of the multicast-capable network device for the corresponding output link of the multicast session; and forwarding packets that are part of the multicast session according to the link states associated with the one or more output links.
11. The method of claim 10, further comprising the steps of:
forwarding data packets that are part of the multicast session as best-effort traffic over those of the one or more output links having a link state associated with a first state of the state machine, the first state representing a state in which the corresponding output link is waiting for an admission decision for the request from a branch of its downlink sub-tree; and forwarding data packets that are part of the multicast session as premium service traffic over those of the one or more output links having a link state associated with a second state of the state machine, the second state representing a state in which the corresponding output link has received an indication that a branch of its downlink sub-tree has accepted the request.
12. The method of claim 11, further comprising the step of forwarding data packets that are part of the multicast session as premium service traffic over those of the one or more output links having a link state associated with a third state of the state machine, the third state representing a refresh state in which the corresponding output link has forwarded a repeated request and it waiting for an admission decision for the repeated request from a branch of its downlink sub-tree.
13. The method of claim 10, wherein the step of maintaining a link state for each of the one or more output links upon which the request was forwarded includes storing the link state in a routing table.
14. A method of managing multicast flows in a Differentiated Services Packet Network, the method comprising the steps of:
receiving a request for premium service bandwidth for a multicast flow;
identifying one or more output links of a multicast-capable network device that are part of the multicast flow;
forwarding the request onto those of the one or more output links that satisfy an admission criterion, the admission criterion based upon a total premium service bandwidth available on the output link, a measure of utilized premium service bandwidth on the output link, and the request;

maintaining a link state for the multicast flow for each of the one or more output links, the link state indicating a current state of a state machine that determines the behavior of the multicast-capable network device; and forwarding packets that are part of the multicast flow according to the link states associated with tile one or more output links.
15. The method of claim 14, wherein the state machine has an initial state to which all new multicast flows are initialized, a flow pending state in which the associated output link has satisfied the admission criterion and is waiting for an admission decision for the request from a branch of its downlink sub-tree, a flow established state in which the associated output link has received an indication that a branch of its downlink sub-tree has accepted the request, and a flow refresh state in which the associated output link has forwarded a repeated request and is waiting for an admission decision for the repeated request from a branch of its downlink sub-tree, and wherein the method further comprises the steps of:
forwarding data packets as best-effort traffic over those of the one or more output links having a link state associated with the initial state or the flow pending state; and forwarding data packets as premium service traffic over those of the one or more output links having a link state associated with the flow established state or the flow refresh state.
16. The method of claim 15, wherein the step of maintaining a link state for each of the one or more output links comprises the steps of:

transitioning from the initial state to the flow pending state after determining that the output link satisfies the admission criterion;
transitioning from the flow pending state to the flow established state after receiving an admission decision on the output link;
transitioning from the flow established state to the flow refresh state after receiving a repeated request for the multicast flow;
17. The method of claim 16, wherein the step of maintaining a link state for each of the one or more output links further comprises the steps of:
transitioning from the refresh state to the flow established state after receiving an admission decision an the output link;
transitioning from the refresh state to the flow pending state after receiving no admission decision on the output link for a first predetermined time interval;
transitioning from the flow pending state to the initial state after receiving no admission decision on the output link for a second predetermined time interval.
18. The method of claim 17, wherein the step of maintaining a link state for each of the one or more output links further comprises the steps of:
remaining in the initial state after determining that the output link does not satisfy the admission criterion;
remaining in the flow pending state after receiving subsequent requests;

remaining in the flow established state after receiving subsequent admission decisions on the output link; and remaining in the flow refresh state after receiving subsequent requests.
19. The method of claim 16, further comprising the steps of:
in the initial state, after determining that the output link satisfies the admission criterion, forwarding the request on the output link and transitioning to the flow pending state;
in the flow pending state, after receiving an admission decision on the output link, forwarding the ;admission decision upstream and transitioning to the flow established state;
in the flow established state, after receiving a repeated request for the multicast flow, forwarding the repeated request onto each of the one or more output links and transitioning to the flow refresh state.
The method of claim 19; further comprising the steps of:
in the refresh state, after receiving an admission decision on the output link, forwarding the admission decision upstream and transitioning to the flow established state;
in the refresh state, after receiving no admission decision on the output link for a first predetermined time interval, transitioning to the flow pending state;
in the flow pending state, after receiving no admission decision on the output link far a second predetermined time interval, transitioning to the initial state.
21. The method of claim 20, wherein the step of maintaining a link state for each of the one or more output links further comprises the steps of:
in the initial state, after determining that the output link does not satisfy the admission criterion, remaining in the initial state;
in the flow pending state, after receiving subsequent requests, forwarding the subsequent requests on the output link and remaining in the flow pending state;
in the flow established state, after receiving subsequent admission decisions on the output link, dropping the subsequent admission decisions and remaining in the flow established state; and in the flow refresh state, after receiving subsequent requests, forwarding the subsequent requests on the output link and remaining in the flow refresh state.
22. The method of claim 14, wherein the measure of utilized premium service bandwidth on the output link comprises an average premium service bandwidth utilization for the output link during a predetermined window of time plus the sum of the one or more bandwidth requests associated with flows that have been admitted but that have not yet started to inject premium packets onto the output link.
23. The method of claim 14, wherein the admission criterion comprises the following expression:
req_premium+used_premium~.alpha.xtotal_premium;
where, req_premium is the amount of premium service bandwidth specified in the request;
used_premium is the current average premium service bandwidth utilization for a particular output link during the predetermined window of time plus the sum of the one or more bandwidth requests associated with flows that have been admitted but may not yet have started to inject premium packets onto the particular output link;
total_premium is the total amount of premium service bandwidth that is available for the particular output link; and .alpha. is a utilization parameter having a value greater than 0 and less than or equal to 1.
24. A network device comprising:
a storage device having stored therein one or more routines for implementing admission control policy based on local information;
a processor coupled to the storage device for executing the one or more routines to make an admission decision regarding a request for establishment of a flow, where:
an average premium service bandwidth utilized during a predetermined window of time is determined for an output link through which the flow will pass;
bandwidth request information associated with one or more flows that have been admitted within a predetermined time interval is temporarily stored; and an admission criterion is evaluated that is based upon a total premium service bandwidth that is available for the output link, the amount of bandwidth associated with the request, the average premium service bandwidth utilized, and the bandwidth request information.
CA002351395A 1998-11-18 1999-11-17 Providing admission control and network quality of service with a distributed bandwidth broker Abandoned CA2351395A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/195,348 US6487170B1 (en) 1998-11-18 1998-11-18 Providing admission control and network quality of service with a distributed bandwidth broker
US09/195,348 1998-11-18
PCT/US1999/027380 WO2000030295A2 (en) 1998-11-18 1999-11-17 Providing admission control with a distributed bandwidth broker

Publications (1)

Publication Number Publication Date
CA2351395A1 true CA2351395A1 (en) 2000-05-25

Family

ID=22721081

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002351395A Abandoned CA2351395A1 (en) 1998-11-18 1999-11-17 Providing admission control and network quality of service with a distributed bandwidth broker

Country Status (5)

Country Link
US (1) US6487170B1 (en)
EP (1) EP1138138A2 (en)
AU (1) AU1525500A (en)
CA (1) CA2351395A1 (en)
WO (1) WO2000030295A2 (en)

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260060B1 (en) * 1997-06-07 2007-08-21 Nortel Networks Limited Call admission control
NL1007702C2 (en) * 1997-12-05 1999-06-08 Koninkl Kpn Nv Method and structure for communication.
US7301964B1 (en) * 1998-12-16 2007-11-27 At&T Corp. Method for bandwidth management by resizing pipes
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6959006B1 (en) * 1999-06-29 2005-10-25 Adc Telecommunications, Inc. Service delivery unit for an enterprise network
US6990103B1 (en) * 1999-07-13 2006-01-24 Alcatel Canada Inc. Method and apparatus for providing distributed communication routing
US7068661B1 (en) 1999-07-13 2006-06-27 Alcatel Canada Inc. Method and apparatus for providing control information in a system using distributed communication routing
US7161945B1 (en) * 1999-08-30 2007-01-09 Broadcom Corporation Cable modem termination system
CA2387507A1 (en) * 1999-08-31 2001-03-08 Siemens Aktiengesellschaft Communications system
US6728365B1 (en) * 1999-09-13 2004-04-27 Nortel Networks Limited Method and system for providing quality-of-service on packet-based wireless connections
US6647419B1 (en) * 1999-09-22 2003-11-11 Hewlett-Packard Development Company, L.P. System and method for allocating server output bandwidth
US7106756B1 (en) 1999-10-12 2006-09-12 Mci, Inc. Customer resources policy control for IP traffic delivery
US6785245B1 (en) * 1999-10-20 2004-08-31 Nortel Networks Limited Method and apparatus for controlling fanout of a multicast tree
US6963572B1 (en) * 1999-10-22 2005-11-08 Alcatel Canada Inc. Method and apparatus for segmentation and reassembly of data packets in a communication switch
US6970930B1 (en) * 1999-11-05 2005-11-29 Mci, Inc. Method and system of providing differentiated services
US6606325B1 (en) * 1999-12-10 2003-08-12 Nortel Networks Limited Fast path forwarding of link state advertisements using multicast addressing
JP3386117B2 (en) * 2000-01-11 2003-03-17 日本電気株式会社 Multilayer class identification communication device and communication device
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US7127526B1 (en) * 2000-03-20 2006-10-24 Nortel Networks Limited Method and apparatus for dynamically loading and managing software services on a network device
JP3617406B2 (en) * 2000-03-30 2005-02-02 日本電気株式会社 Quality assurance type communication service providing method and service providing method corresponding to multi-domain and service mediating apparatus
US7277384B1 (en) 2000-04-06 2007-10-02 Cisco Technology, Inc. Program and method for preventing overload in a packet telephony gateway
US6865150B1 (en) * 2000-04-06 2005-03-08 Cisco Technology, Inc. System and method for controlling admission of voice communications in a packet network
KR100696003B1 (en) * 2000-04-13 2007-03-15 오페락스 아베 Network optimisation method
US6862623B1 (en) * 2000-04-14 2005-03-01 Microsoft Corporation Capacity planning for server resources
US6574195B2 (en) * 2000-04-19 2003-06-03 Caspian Networks, Inc. Micro-flow management
GB0016185D0 (en) 2000-06-30 2000-08-23 Nokia Networks Oy Dynamic DSCP availability request method
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6839321B1 (en) * 2000-07-18 2005-01-04 Alcatel Domain based congestion management
US7219158B2 (en) * 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
JP3639792B2 (en) * 2000-07-25 2005-04-20 株式会社日立製作所 Network system and communication bandwidth control method thereof
US6826147B1 (en) * 2000-07-25 2004-11-30 Nortel Networks Limited Method and apparatus for aggregate flow control in a differentiated services network
US20020087699A1 (en) * 2000-07-31 2002-07-04 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic QoS management in differentiated services using bandwidth brokers, RSVP aggregation and load control protocols
US6658512B1 (en) * 2000-09-28 2003-12-02 Intel Corporation Admission control method for data communications over peripheral buses
US6804196B1 (en) * 2000-11-20 2004-10-12 Nortel Networks Limited Determining traffic information in a communications network
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US7657628B1 (en) 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
US8185615B1 (en) * 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface for a distributed network access system
US8180870B1 (en) 2000-11-28 2012-05-15 Verizon Business Global Llc Programmable access device for a distributed network access system
US7047536B1 (en) * 2000-12-29 2006-05-16 Nortel Networks Ltd Method and apparatus for classifying remote procedure call transport traffic
US7237012B1 (en) * 2000-12-29 2007-06-26 Nortel Networks Limited Method and apparatus for classifying Java remote method invocation transport traffic
US7984147B2 (en) * 2000-12-29 2011-07-19 Hewlett-Packard Development Company, L.P. Apparatus and method for identifying a requested level of service for a transaction
US20020167950A1 (en) * 2001-01-12 2002-11-14 Zarlink Semiconductor V.N. Inc. Fast data path protocol for network switching
US7143154B2 (en) * 2001-01-26 2006-11-28 Lucent Technologies Inc. Internet protocol security framework utilizing predictive security association re-negotiation
US7286532B1 (en) * 2001-02-22 2007-10-23 Cisco Technology, Inc. High performance interface logic architecture of an intermediate network node
US7664877B1 (en) * 2001-03-19 2010-02-16 Juniper Networks, Inc. Methods and apparatus for using both LDP and RSVP in a communications systems
US7069337B2 (en) * 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers in a data network
US7209439B2 (en) 2001-03-20 2007-04-24 Mci, Llc Pool-based resource management in a data network
US7796608B2 (en) * 2001-03-20 2010-09-14 Verizon Business Global Llc Edge-based per-flow QoS admission control in a data network
JP2002290433A (en) * 2001-03-27 2002-10-04 Fujitsu Ltd Data repeater system provided with band control function, and band management device
GB2375256A (en) * 2001-04-30 2002-11-06 Nokia Corp Determining service level identification to data transmitted between a device and a network
JP3693932B2 (en) * 2001-05-16 2005-09-14 三菱電機株式会社 Optical communication system
US7339903B2 (en) 2001-06-14 2008-03-04 Qualcomm Incorporated Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
US7474650B2 (en) 2001-06-26 2009-01-06 Qualcomm Incorporated Methods and apparatus for controlling resource allocation where tunneling and access link packet aggregation are used in combination
US7027400B2 (en) * 2001-06-26 2006-04-11 Flarion Technologies, Inc. Messages and control methods for controlling resource allocation and flow admission control in a mobile communications system
US8000241B2 (en) 2001-06-26 2011-08-16 Qualcomm Incorporated Methods and apparatus for controlling access link packet flow aggregation and resource allocation in a mobile communications system
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
US20030014532A1 (en) * 2001-07-16 2003-01-16 Shean-Guang Chang Method and apparatus for multicast support
US7257632B2 (en) * 2001-07-30 2007-08-14 Fujitsu Limited Method and apparatus for a bandwidth broker in a packet network
US20030074452A1 (en) * 2001-10-11 2003-04-17 Nokia Corporation System and method of determining QoS establishment mode
FR2831742B1 (en) * 2001-10-25 2004-02-27 Cit Alcatel METHOD FOR TRANSMITTING PACKETS VIA A TELECOMMUNICATIONS NETWORK USING THE IP PROTOCOL
FR2832889B1 (en) * 2001-11-29 2004-02-27 Cit Alcatel DATA NETWORK ADMISSION CONTROL FOR QUALITY OF SERVICE ASSURANCE
US7489632B2 (en) * 2002-03-22 2009-02-10 Nokia Corporation Simple admission control for IP based networks
WO2003084157A1 (en) * 2002-03-28 2003-10-09 Operax Ab Method and system for reserving resources within an ip-network
US7356020B2 (en) 2002-04-08 2008-04-08 Qualcomm Incorporated Support of disparate addressing plans and dynamic HA address allocation in mobile IP
US7327675B1 (en) * 2002-08-01 2008-02-05 At&T Corp. Fairness of capacity allocation for an MPLS-based VPN
WO2004021647A2 (en) * 2002-08-14 2004-03-11 Siemens Aktiengesellschaft Access control for packet-oriented networks
EP1398907B1 (en) * 2002-09-10 2010-12-08 Siemens Aktiengesellschaft Method of control of transmission resource in a packetized network when topology changes occur
US7869803B2 (en) 2002-10-15 2011-01-11 Qualcomm Incorporated Profile modification for roaming in a communications environment
US7882346B2 (en) 2002-10-15 2011-02-01 Qualcomm Incorporated Method and apparatus for providing authentication, authorization and accounting to roaming nodes
KR100542401B1 (en) 2002-10-23 2006-01-11 한국전자통신연구원 An Admission Control Method in Differentiated Service Networks
KR100510820B1 (en) * 2002-12-13 2005-08-31 주식회사 케이티 Admission control method using the link and path level information in differentiated service network
AU2003301115A1 (en) * 2002-12-18 2004-07-14 Flarion Technologies, Inc. Messages and control methods for controlling resource allocation and flow admission control in a mobile communications system
US7827284B2 (en) * 2002-12-20 2010-11-02 Netsocket, Inc. Method and arrangement in a communication system
JP2006517077A (en) * 2003-01-24 2006-07-13 ココ・コミュニケーションズ・コーポレーション Method and apparatus for secure communication and resource sharing between anonymous untrusted parties without centralized management
US7623452B2 (en) * 2003-08-01 2009-11-24 Hewlett-Packard Development Company, L.P. User configurable functions for adjusting service differentiation meters
US8554860B1 (en) * 2003-09-05 2013-10-08 Sprint Communications Company L.P. Traffic segmentation
KR100563656B1 (en) * 2003-10-17 2006-03-23 한국전자통신연구원 Adaptive Call Admission Control Scheme in DiffServ Network
US20050129017A1 (en) * 2003-12-11 2005-06-16 Alcatel Multicast flow accounting
US7697501B2 (en) 2004-02-06 2010-04-13 Qualcomm Incorporated Methods and apparatus for separating home agent functionality
US20050180426A1 (en) * 2004-02-18 2005-08-18 Yoshifumi Sakata Network resource-reserving apparatus and method
US20050235364A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Authentication mechanism permitting access to data stored in a data processing device
US7681007B2 (en) 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US20050262322A1 (en) * 2004-05-21 2005-11-24 Kenneth Ma System and method of replacing a data storage drive
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US7555613B2 (en) * 2004-05-11 2009-06-30 Broadcom Corporation Storage access prioritization using a data storage device
US20050235336A1 (en) * 2004-04-15 2005-10-20 Kenneth Ma Data storage system and method that supports personal video recorder functionality
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US7466653B1 (en) * 2004-06-30 2008-12-16 Marvell International Ltd. Quality of service for a stackable network switch
US20060036520A1 (en) * 2004-08-13 2006-02-16 O'neill Alan Methods and apparatus for resource utilization tracking, accounting and/or billing
US7616746B2 (en) * 2004-08-13 2009-11-10 Qualcomm Incorporated Methods and apparatus for tracking and charging for communications resource reallocation
US7610225B2 (en) * 2004-08-13 2009-10-27 Qualcomm Incorporated Methods and apparatus for performing resource tracking and accounting at a mobile node
CN100426815C (en) * 2004-09-08 2008-10-15 华为技术有限公司 Resource and admission control subsystem and method in NGN
US20070086352A1 (en) * 2004-10-20 2007-04-19 France Telecom Method of monitoring multimedia stream exchange session initialization messages and a server and an installation for carrying out said method
US20080004027A1 (en) * 2004-11-23 2008-01-03 Zte Corporation Method and System for Delaminatly Ensuring the Network Service Quality
US7936762B2 (en) * 2004-12-09 2011-05-03 The Boeing Company QOS provisioning in a network having dynamic link states
US9306831B2 (en) * 2005-02-14 2016-04-05 Cisco Technology, Inc. Technique for efficient load balancing of TE-LSPs
IL167059A (en) * 2005-02-23 2010-11-30 Tejas Israel Ltd Network edge device and telecommunications network
US20060203773A1 (en) * 2005-03-09 2006-09-14 Melissa Georges Method and mechanism for managing packet data links in a packet data switched network
US20060230136A1 (en) * 2005-04-12 2006-10-12 Kenneth Ma Intelligent auto-archiving
EP1761091B1 (en) * 2005-08-30 2012-11-07 LG Electronics, Inc. Method for performing admission control in a cellular network
US9066344B2 (en) 2005-09-19 2015-06-23 Qualcomm Incorporated State synchronization of access routers
KR100734846B1 (en) * 2005-11-21 2007-07-03 한국전자통신연구원 Method of network resource provisioning for bandwidth guarantee per flow
US7983158B2 (en) * 2005-11-30 2011-07-19 Motorola Solutions, Inc. Routing topology bandwidth management methods and system
CN101309158A (en) * 2007-05-15 2008-11-19 华为技术有限公司 Method and apparatus realizing access control of multicast connection
CN101321073B (en) * 2007-06-04 2010-09-08 华为技术有限公司 Multicast business authorization control method and device
JP2009111747A (en) * 2007-10-30 2009-05-21 Sony Corp Relay device and method, and program
US8472315B2 (en) 2008-02-07 2013-06-25 Belair Networks Inc. Method and system for controlling link saturation of synchronous data across packet networks
WO2011056103A1 (en) * 2009-11-05 2011-05-12 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for network resource management
US8174974B2 (en) * 2009-11-12 2012-05-08 Yahoo! Inc. Voluntary admission control for traffic yield management
US8514707B2 (en) * 2009-12-28 2013-08-20 Tti Inventions D Llc Non-blocking admission control
US9167004B2 (en) 2011-02-17 2015-10-20 Sable Networks, Inc. Methods and systems for detecting and mitigating a high-rate distributed denial of service (DDoS) attack
US8868709B2 (en) 2011-05-03 2014-10-21 International Business Machines Corporation Programmatically selecting a service provider based on assured quality of service attributes
US9100305B2 (en) * 2011-07-12 2015-08-04 Cisco Technology, Inc. Efficient admission control for low power and lossy networks
EP2611067A1 (en) 2011-12-30 2013-07-03 Thomson Licensing System and method for combining multiple communication links
KR20150013800A (en) 2012-05-14 2015-02-05 세이블 네트웍스 인코포레이티드 System and method for ensuring subscriber fairness using outlier detection
US9660836B2 (en) 2014-05-06 2017-05-23 Lattice Semiconductor Corporation Network topology discovery
US9590825B2 (en) 2014-05-09 2017-03-07 Lattice Semiconductor Corporation Stream creation with limited topology information
CN114070777B (en) * 2020-07-29 2023-07-04 中国电信股份有限公司 Multicast tree construction method, multicast data transmission method, controller and storage medium
CN113194037B (en) * 2021-03-31 2022-05-24 新华三大数据技术有限公司 Traffic scheduling method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776301B2 (en) * 1994-08-30 1998-07-16 日本電気株式会社 Line reservation apparatus and method, line reservation receiving apparatus and method
EP0714192A1 (en) * 1994-11-24 1996-05-29 International Business Machines Corporation Method for preempting connections in high speed packet switching networks
US6175870B1 (en) * 1995-11-30 2001-01-16 Lucent Technologies Inc. Method of admission control and routing of virtual circuits
US5884037A (en) * 1996-10-21 1999-03-16 International Business Machines Corporation System for allocation of network resources using an autoregressive integrated moving average method
US6081522A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
GB2331659A (en) 1997-11-21 1999-05-26 Ericsson Telefon Ab L M Resource reservation

Also Published As

Publication number Publication date
WO2000030295A3 (en) 2000-11-30
WO2000030295A2 (en) 2000-05-25
US6487170B1 (en) 2002-11-26
AU1525500A (en) 2000-06-05
EP1138138A2 (en) 2001-10-04

Similar Documents

Publication Publication Date Title
US6487170B1 (en) Providing admission control and network quality of service with a distributed bandwidth broker
US6839767B1 (en) Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
US7020143B2 (en) System for and method of differentiated queuing in a routing system
Carpenter et al. Differentiated services in the Internet
US7636781B2 (en) System and method for realizing the resource distribution in the communication network
Metz IP QoS: Traveling in first class on the Internet
JP2006506845A (en) How to select a logical link for a packet in a router
Fgee et al. Comparison of QoS performance between IPv6 QoS management model and IntServ and DiffServ QoS models
US7280560B2 (en) Differentiated services with multiple tagging levels
Fgee et al. Implementing an IPv6 QoS management scheme using flow label & class of service fields
Chaudhuri et al. Validation of a DiffServ based QoS model implementation for real-time traffic in a test bed
Wang USD: Scalable bandwidth allocation for the Internet
Cisco QC: Quality of Service Overview
CN100341300C (en) Multidomain access control of data flows associated with quality of service criteria
Moh et al. Extending BGMP for QoS-based inter-domain multicasting over the Internet
Yang et al. DiffServ‐Aware Multicasting
Metz Differentiated services
Gbaguidi et al. A Survey of Differentiated Services Proposals for the Internet
Cobb et al. Maintaining flow isolation in work-conserving flow aggregation
Reid et al. Internet QoS: Past, Present, and Future
Kumar et al. Validation of a DiffServ Based QoS Model Implementation for Real-Time Traffic in a Test Bed
Ray Quality of Service in data networks: Products
Kuhns et al. Lightweight flow setup for wirespeed resource reservation
Kim et al. Construction and performance measurement of the RSVP local network
Radivojević et al. Quality of Service Implementation

Legal Events

Date Code Title Description
FZDE Discontinued