WO1997004554A1 - Method and system for controlling network service parameters in a cell based communications network - Google Patents

Method and system for controlling network service parameters in a cell based communications network Download PDF

Info

Publication number
WO1997004554A1
WO1997004554A1 PCT/US1996/011931 US9611931W WO9704554A1 WO 1997004554 A1 WO1997004554 A1 WO 1997004554A1 US 9611931 W US9611931 W US 9611931W WO 9704554 A1 WO9704554 A1 WO 9704554A1
Authority
WO
WIPO (PCT)
Prior art keywords
bandwidth
queue
virtual connection
queues
assigning
Prior art date
Application number
PCT/US1996/011931
Other languages
French (fr)
Inventor
Robert B. Mcclure
Stephen A. Caldara
Stephen A. Hauser
Thomas A. Manning
Original Assignee
Fujitsu Network Communications, Inc.
Fujitsu Limited
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 Fujitsu Network Communications, Inc., Fujitsu Limited filed Critical Fujitsu Network Communications, Inc.
Priority to PCT/US1996/011931 priority Critical patent/WO1997004554A1/en
Priority to JP9506872A priority patent/JPH11510005A/en
Priority to AU65016/96A priority patent/AU6501696A/en
Publication of WO1997004554A1 publication Critical patent/WO1997004554A1/en

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
    • H04L47/18End to end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4608LAN interconnection over ATM networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/106ATM switching elements using space switching, e.g. crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/107ATM switching elements using shared medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/153ATM switching fabrics having parallel switch planes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1576Crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/45Arrangements for providing or supporting expansion
    • H04L49/455Provisions for supporting expansion in ATM switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • H04L2012/5627Fault tolerance and recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5628Testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5634In-call negotiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5642Multicast/broadcast/point-multipoint, e.g. VOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5643Concast/multipoint-to-point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5685Addressing issues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/046Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence

Definitions

  • This invention relates generally to communications networks and more particularly to a method and system for controlling network service parameters in cell based communications networks.
  • ATM networks such as asynchronous transfer (“ATM”) networks are used to transfer audio, video, and data.
  • ATM networks transfer data by routing data units such as ATM cells from a source to a destination through switches. Switches include input/output ports through which ATM cells are received and transmitted.
  • Existing ATM switches can be divided into several classes.
  • One type of switch uses one large queue as a buffer and controls the access of individual virtual connections to bandwidth on a statistical basis.
  • each virtual connection through this type of switch shares one large buffer and each virtual connection statistically shares the available bandwidth of the switch and/or on an output link connected to the switch.
  • This approach suffers from several disadvantages.
  • parameters that may be desirably controlled by an ATM network include a connection's delay variation, its end-to- end delay, its maximum data loss, its access to guaranteed bandwidth, its access and priority of access to shared bandwidth, and its delivery priority.
  • ATM switches employing the above approach cannot create quality of service guarantees on a per connection basis or even provide quality of service (QOS) guarantees on a per traffic type basis. Instead, quality of service guarantees can only be statistical in nature.
  • head of line blocking in this approach can block connections behind the blocked connection.
  • a second approach employs a plurality of queues in each switch and allocates switch bandwidth statistically. Further refinements of this approach may assign particular connections to a particular queue based upon a characteristic of the connection such as the traffic type of the connection or the group from which the connection originated. In general, this approach is characterized by sharing each of a plurality of queues by a plurality of connections and sharing the switch bandwidth and/or output link bandwidth among all connections. This approach also has several disadvantages. Quality of service based upon the above parameters can only be guaranteed on a per queue basis and the guarantees that can be made for low priority traffic are not strong guarantees. In addition, the quality of service guarantees for multiple queues can only be made on a statistical basis rather than on a per connection basis.
  • a third approach uses a plurality of queues and assigns a plurality of connections to each queue and allocates either switch bandwidth and/or link bandwidth on a per queue basis. This approach also suffers from several disadvantages. Again, the quality of network service can only be guaranteed on a per queue basis rather than on a per connection basis. Also, unused allocated switch bandwidth and/or link bandwidth cannot be used by another queue. Accordingly, this bandwidth remains unused, resulting in an inefficient use of system resources.
  • the invention comprises a method and system for controlling network service parameters in a cell based communications network.
  • a plurality of input signals are received on input ports of a communications device wherein at least one input signal comprises at least one virtual connection.
  • the communications device is part of a cell based communications network wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion.
  • a first virtual connection is assigned to a first queue.
  • the first queue is associated with a first buffer space wherein the first buffer space is dedicated to the first queue.
  • the first queue is also associated with a second buffer space wherein the second buffer space is shared between the first queue and other queues. Data associated with the first virtual connection is queued in the first queue.
  • the invention allows quality of service guarantees based upon network service parameters to be made on a per connection basis.
  • the invention can be used for efficiently transporting disparate types of traffic across a cell based communications network. For constant bit rate
  • the invention allows delay variation, end- to-end delay and bandwidth to be guaranteed on a per virtual connection basis.
  • the invention allows the guarantee of "no cell loss” for a constant bit rate traffic other than link bit errors.
  • no cell loss refers to preventing cell loss caused by network congestion due to buffer overflow.
  • variable bit rate services For variable bit rate services, a portion of switch and link resources may be allocated to a variable bit rate
  • VBR virtual connection and other switch and link resources may be dynamically shared among that particular virtual connection and other traffic on the network.
  • the delay variation, end-to-end delay, bandwidth, and maximum data loss can be guaranteed for a variable bit rate virtual connection.
  • maximum data loss can be guaranteed on a statistical basis.
  • priority access to dynamic bandwidth and delivery priority can be guaranteed for a particular variable bit rate virtual connection.
  • the invention can guarantee no cell loss and priority access to dynamic bandwidth either in a switch, on a link, or both.
  • ABR available bit rate
  • a portion of switch and/or link resources may be allocated to an available bit rate virtual connection while other resources may be shared with other virtual connections.
  • the bandwidth of that connection can be guaranteed.
  • the invention allows a guarantee of priority access to dynamic bandwidth and of delivery priority.
  • the invention allows quality of service guarantees to be made for disparate types of traffic that may be transported using a communications network employing the present invention.
  • the invention avoids the shortcomings of the prior art by applying queuing and bandwidth management mechanisms to individual connections as well as to a group of connections. Without the per virtual connection queuing mechanism of the invention, resources may not be precisely allocated to individual flows so that quality of service guarantees are enduring for the life of a connection.
  • the invention allows quality of service guarantees to be maintained regardless of how many other virtual connections are added or deleted during the duration of the connection.
  • a communications network constructed in accordance with the invention may also achieve 100% network occupancy rates on a link-by-link basis while maintaining constant bit rate bandwidth and delay guarantees and available bit rate quality of service guarantees in an integrated services environment.
  • the invention thus allows efficient use of network resources by devices connected to the communications network, that have varying traffic patterns and quality of service needs.
  • FIGURE 1 illustrates a communications network constructed in accordance with the teachings of the invention.
  • FIGURE 2 illustrates a first embodiment of a communications device constructed in accordance with the teachings of the invention.
  • FIGURES 1 and 2 of the drawings like numerals being used for like and corresponding parts of the various drawings.
  • FIGURE 1 illustrates a communications network 10 constructed in accordance with the teachings of the invention.
  • Communications network 10 is a cell based network and in this embodiment comprises an asynchronous transfer mode (ATM) network.
  • Communications network 10 could be another type of network without departing from the scope of the invention.
  • Communications network 10 comprises a series of communications devices 12 (also referred to as nodes) connected by a series of communications links 14.
  • each communications device 12 comprises an ATM switch. Other types of switches could be used without departing from the scope of the invention.
  • Each communications link 14 may comprise any type of communications link, such as a SONET link.
  • a number of communications devices and networks may be connected to communications network 10.
  • communications network 10 is connected to local area network 16, wide area network 18, telephone access network 20, first computer 22, second computer 24, Internet server 26 and video server 28.
  • Other types of communications devices (or networks) could also be connected to communications network 10 and some or all of the illustrated devices (or networks) could be omitted without departing from the scope of the invention.
  • Each of these communications devices (or networks) communicates with communications network 10 using ATM cells.
  • These devices (or networks) may use a communications protocol other than ATM for internal communications.
  • a mechanism is provided to translate the communications protocol to ATM and from ATM to the communications protocol for the particular device or network. This mechanism may be provided either inside of one of the communications devices 12 or inside the particular device or network connected to communications network 10.
  • a first device connected to communications network 10 desires to communicate with a second device connected to communications network 10, it sends data over communications network 10.
  • the data is sent from the first device over one or more communication links 14 and through one or more communications devices 12 to the second device, thus forming a virtual connection between the first device and the second device.
  • a communications device 12 switches numerous virtual connections through communications device 12 and each communications link 14 carries numerous virtual connections between two communications devices 12.
  • Communications network 10 is an integrated services network. Thus, communications network 10 can be used to transport varying types of ATM services. Examples of ATM services that may be transported through communications network 10 include constant bit rate services, variable bit rate services, available bit rate services, and unspecified bit rate services. The invention allows efficient transport of each of these traffic types and allows a certain quality of service guarantees to be made regarding each traffic type or virtual connection.
  • a unique queue is assigned to each virtual connection passing through a communications device 12.
  • per virtual connection queuing will be described in connection with FIGURE 2 below.
  • both an input queue and an output queue are associated with each virtual connection. These queues are uniquely assigned to a particular virtual connection. Thus, queues are not shared among virtual connections.
  • Some switches may employ only an input queue, only an output queue, or queues in addition to an input and output queue.
  • the teachings of the invention can be applied to any queue associated with a communications device 12 by assigning queues on a per connection basis.
  • per virtual connection queuing allows queuing and bandwidth management mechanisms to be applied to individual connections rather than a group of connections. Queuing management mechanisms include control over buffering of virtual connections. Per virtual connection queuing allows precise allocation of network resources to individual virtual connections so that quality of service guarantees are enduring for the life of the virtual connection. These guarantees may be maintained regardless of how many other connections are added or deleted.
  • a plurality of input signals are received on input ports of communications device 12 wherein at least one input signal includes at least one virtual connection.
  • a unique input queue and a unique output queue are associated with each virtual connection.
  • Queues in this embodiment are logical structures implemented using a linked list of pointers. Each queue may be associated with one or more buffer pools. In this embodiment, each queue may be associated with two buffer pools--a shared buffer pool and a dedicated buffer pool. Data associated with the first virtual connection is queued in the unique input queue for transport through a switching fabric connected with the input port. Data that is passed through the switching fabric is queued in the unique output queue associated with the virtual connection for transport over an output communications link.
  • another aspect of the invention is the method of implementing per virtual connection queuing.
  • a second aspect of the invention involves the use of communications network 10 in emulating a circuit type connection.
  • Devices using a constant bit rate mode of communication frequently need to be treated as if there was a physical connection between the devices.
  • ATM networks sometimes include resources to aid in emulating circuit connections so as to provide adequate service between devices communicating using a constant bit rate service.
  • Communications network 10 of the present invention may be used in the emulation of circuit connections while guaranteeing certain network quality of service parameters. For each constant bit rate virtual connection, the present invention allows quality of service to be guaranteed for delay variation and end-to-end delay on a per virtual connection basis. In addition, bandwidth can be guaranteed for a constant bit rate virtual connection. Also, constant bit rate services may be transported through communications network 10 with no cell loss.
  • first computer 22 of FIGURE 1 may desire to communicate using a constant bit rate service with second computer 24.
  • queues and bandwidth through each communications device 12 through which the virtual connection between computer 22 and computer 24 passes are allocated to the virtual connection for the duration of the communication signal between first computer 22 and second computer 24.
  • the queue that is allocated has access to an allocated amount of buffer space for the duration of the connection.
  • allocated buffer space is implemented by assigning a counter limit to the queue.
  • This counter limit represents the number of cell locations in a buffer pool that may be used by the particular queue at any one time. All queues that have allocated buffer space may use any available physical location in the shared pool up to the counter limit. In addition, an amount of output link bandwidth is allocated to the communications signal over each communications link 14 of communications network 10 over which the virtual connection travels between first computer 22 and second computer 24. By allocating network resources and dedicating those resources to a particular virtual connection, a circuit connection may be emulated through communications network 10 with quality of service guarantees on a per connection basis.
  • communications device 12 has both an input queue and an output queue assigned to a constant bit rate virtual connection. These queues are created when a new virtual connection is established. In the current embodiment, 16,000 connections per input port or output port may be processed.
  • FIGURE 2 illustrates a first embodiment of a communications device 12 constructed in accordance with the teachings of the invention.
  • FIGURE 2 comprises a plurality of input ports 30 coupled to a switching fabric 32 which is, in turn, coupled to a plurality of output ports 34.
  • the term "coupled” refers to a logical connection between the input ports 30, switching fabric 32 and output ports 34.
  • Various additional circuitry may appear between these elements, but they are still logically coupled to one another. A larger or smaller number of input ports 30 and/or output ports 34 could be used without departing from the scope of the invention.
  • Each input port 30 is connected to one or more input links 36.
  • Each input link 36 in turn comprises one or more virtual connections 38.
  • Each output port 34 is connected to one or more output links 40.
  • Each output link 40 in turn comprises one or more virtual connections 38.
  • Each input port 30 comprises one or more demultiplexers 42, one or more queues 44, and a multiplexer 50.
  • Demultiplexers 42 and multiplexer 50 are not physical devices. Instead, the switching of traffic through input port 30 functionally implements demultiplexing and multiplexing functions.
  • a virtual connection 38 When a virtual connection 38 is received over an input link 36 the cells associated with virtual connection 38 are demultiplexed through a demultiplexer 42 to one of the queues 44.
  • a unique queue 44 is assigned to each virtual connection 38.
  • queue 44 contains the cells of one and only one input link 38.
  • queue 44 comprises a linked list of pointers. These pointers point to the location in a buffer where a cell associated with a particular queue pointer is stored.
  • a third aspect of the invention is the queuing mechanism used for queues 44.
  • Each queue 44 may be associated with multiple buffer pools.
  • queue 44 is associated with a particular virtual connection 38 and may be assigned dedicated buffer pool space, shared buffer pool space, or a combination of dedicated and shared buffer pool space depending upon the traffic type of the connection.
  • one of the input queues 44 has been assigned space in shared buffer 46 and dedicated buffer 48.
  • Space in dedicated buffer 48 is uniquely dedicated to a particular queue 44.
  • space in dedicated buffer 48 associated with a queue 44 may be used by that queue 44 and only that queue 44.
  • Space in shared buffer 46 is shared among several queues 44.
  • a constant bit rate virtual connection 38 will only be assigned space in a dedicated buffer 48, while a variable bit rate virtual connection 38 and available bit rate virtual connection 38, or an unspecified bit rate virtual connection 38 may be assigned dedicated space in a dedicated buffer 48 and shared space in a shared buffer 46.
  • a particular virtual connection 38 is uniquely assigned a queue 44
  • space in a dedicated buffer 48 and/or in a shared buffer 46 may be assigned specifically to a virtual connection.
  • space in dedicated buffer 48 and/or shared buffer 46 may be assigned to the queue 44 as a whole.
  • Dedicated buffer 48 comprises a plurality of buffer locations 60 wherein each buffer location 60 holds one ATM cell.
  • the size of dedicated buffer 48 may be dynamically adjusted depending upon the number of virtual connections accessing dedicated buffer 48.
  • the queue 44 is assigned a fixed number of buffer locations 60 that the queue 44 may have access to at any one time.
  • the specific physical position of those buffer locations 60 are not assigned to any specific queue 44.
  • dedicated buffer 48 acts as a pool of buffer space. Any queue 44 that is assigned space in dedicated buffer 48 may use any otherwise unused physical location within it, as long as that queue 44 does not use more than the fixed number of buffer locations 60 that it is assigned.
  • the queue 44 is guaranteed to have access to the fixed number of buffer locations 60 assigned to it at all times.
  • shared buffer 46 acts as a pool of buffer space that can be shared in a similar manner to dedicated buffer 48.
  • Each queue 44 is associated with a limit specifying the maximum number of locations in shared buffer 46 that the queue 44 may use at any one time.
  • each queue 44 is not guaranteed to have access to any fixed number of buffer locations 60. Instead, all queues 44 assigned space in shared buffer 46 share all buffer locations 60.
  • the size of shared buffer 46 may also be adjusted dynamically. A connection could be assigned to multiple shared buffers 46 or connections could be assigned to different shared buffers 46 based upon their traffic types.
  • Each of the queues 44 are connected to multiplexer 50.
  • Multiplexer 50 controls the flow of cells between each input port 30 and switching fabric 32.
  • multiplexer 50 is not a physical element, but is functionally implemented by the operation of input port 30.
  • multiplexer 50 is used to assign bandwidth through switching fabric 32 to each of the queues 44 connected to multiplexer 50.
  • This embodiment of the invention employs a unique bandwidth assignment method. A portion of the bandwidth through switching fabric 32 may be uniquely allocated to a particular queue 44 such that a fixed amount of bandwidth through switching fabric 32 is guaranteed to that queue 44. In addition, an amount of bandwidth through switching fabric 32 may be dynamically shared between two or more queues 44. Thus, an amount of uniquely allocated bandwidth through switching fabric 32 may be assigned to a particular queue 44.
  • that particular queue 44 may or may not share in the available shared dynamic bandwidth through the switching fabric 32.
  • a bandwidth assignment is equivalent to assigning an amount of uniquely allocated bandwidth to a particular virtual connection.
  • the same virtual connection may or may not share dynamic bandwidth.
  • This aspect of the invention could also be used in a communications device 12 that assigned multiple virtual connections to a single queue 44.
  • uniquely allocated bandwidth and/or shared dynamic bandwidth could be used by a queue 44.
  • Space in shared buffer 46 and/or dynamically shared bandwidth through switching fabric 32 may be shared by all queues 44 or may be divided into a series of pools shared by specific groups of the queues 44. For example, dynamic buffer space and/or bandwidth could be divided into pools associated with particular traffic types.
  • Variable bit rate virtual connections, available bit rate virtual connections, and/or unspecified bit rate virtual connections could share buffer space and/or dynamic bandwidth in a pooled manner. A mechanism for achieving this type of sharing will be described more fully below.
  • switching fabric 32 comprises a switching matrix
  • bandwidth and/or buffers in switching fabric 32 could be shared using the mechanisms described above wherein bandwidth and buffers may be either allocated or shared.
  • Each output port 34 comprises a demultiplexer 52, one or more queues 54, and one or more multiplexers 61. Each output port 34 is connected to one or more output links 40 and each output link 40 comprises one or more virtual connections 38. As was the case with input port 30, demultiplexer 52 and multiplexer 61 are not physical elements of output port 34, but are functionally implemented therein.
  • Demultiplexer 52 sends cells received from switching fabric 32 to the appropriate output queue 54.
  • each output queue 54 is associated with a unique virtual connection.
  • each output queue 54 is used to queue the cells associated with one and only one virtual connection 38.
  • the queues 54 are similar to the queues 4 .
  • Each queue 54 may be associated with multiple buffer pools.
  • queues 54 of output port 34 comprise a linked list of pointers. Each pointer points to a cell location 60 in either a shared buffer 56 or dedicated buffer 58.
  • Each queue 54 may be assigned an amount of uniquely dedicated space in a dedicated buffer 58 and/or an amount of shared space in a shared buffer 56. Accordingly, output queues 54 employ a buffering mechanism similar to that of input queues 44.
  • Each multiplexer 61 is connected to each of the output queues 54. As was the case with the multiplexer 50 and input port 30, the multiplexer 61 of output 34 are not physical elements of output 34 , but output port 34 implements a multiplexing function. Each multiplexer 61 controls the access of the output queues 54 to bandwidth on its associated output link 40. Bandwidth on each output link 40 may be allocated as described above in connection with input port 30 for the input queues 44. Thus, each output queue 54 may be assigned an amount of uniquely allocated bandwidth which that particular output queue 54 is guaranteed to have access to if needed. That output queue 54 may also be assigned an amount of dynamically shared bandwidth that is shared among multiple output queues- 54.
  • Each output queue 54 may be assigned an amount of dynamic bandwidth, an amount of shared bandwidth, or a combination of both on a particular output link 40. In this embodiment, because each output queue 54 is only associated with a single virtual connection 38, this means that bandwidth may be allocated uniquely and/or dynamically shared on a per virtual connection basis. In an embodiment where an output queue 54 is shared among multiple virtual connections 38, bandwidth may be uniquely allocated or dynamically shared on a per queue basis using this mechanism.
  • space in a shared buffer 56 and/or dynamically shared bandwidth on an output link 40 may be shared among all virtual connections 30 or divided up and shared in pools corresponding to particular group of virtual connections such as traffic types. Again, this mechanism will be described more fully below.
  • a particular virtual connection 38 will be allocated more bandwidth through the switching fabric 32 than is needed by that virtual connection.
  • the amount of allocated bandwidth through the switching fabric 32 may be uniquely allocated to a virtual connection having a bandwidth smaller than the amount of allocated bandwidth. Allocating additional bandwidth reduces delay through communications device 12.
  • bandwidth that is allocated to a particular virtual connection 38 through the switching fabric 32 that is unused by that particular virtual connection 38 becomes part of the switch's dynamic bandwidth. This dynamic bandwidth is shared between virtual connections using dynamic bandwidth services. This feature of the invention allows more efficient use of the resources of communications network 10.
  • Access to shared buffer space may also be prioritized.
  • Each virtual connection may have a priority assigned to it.
  • Each buffer pool has priority thresholds. As the available buffers in the buffer pool decrease below the thresholds, virtual connections with corresponding priorities are denied further access to the buffer pool.
  • connections can have access to shared buffers and bandwidth.
  • Levels of control can be added to manage both the order and the amount of the shared resources that connections can use.
  • the highest level of control is to ensure that traffic types receive a guaranteed minimum assignment of the shared resource. This is accomplished at the output link by measuring bandwidth usage per traffic type, and granting each traffic type bandwidth until it has received the desired minimum amount. For buffers, this is accomplished by having a buffer pool per traffic type.
  • the order in which the traffic types receive bandwidth could be a programmable policy. In this embodiment, the order is fixed. Quality of service levels can be determined for connections sharing the minimum bandwidth and buffer guarantee for a traffic type, assuming that the connections' input characteristics can be accurately described.
  • connections of the same traffic type are multiplexed together using a linked list data structure at both bandwidth contention points--i.e. the switch port and link.
  • This multiplexing point is given the minimum bandwidth guarantee.
  • An identifier in the connection's queue descriptor(s) is used to associate the connections with a multiplexing point.
  • Access to the traffic type's shared resources is also ordered. That is, connections within a traffic type get access to bandwidth and buffers using a priority mechanism. Again, this prioritization occurs at the resource contention points, so that there are traffic type priorities at both the input port processor and the output port processor.
  • Input buffer pools have one or more thresholds, above which certain connections within a traffic type are denied buffers.
  • An identifier in the connection's queue descriptor(s) is used to associate the connections with a priority.
  • Bandwidth is distributed to the multiple sources of a single multipoint-to-point connection by the use of two additional multiplexers: (1) a list of queues at the input port that distributes the bandwidth between multiple sources merging at the input port, and (2) an arbitration mechanism in the switch fabric that distributes bandwidth between sources on multiple input ports.

Abstract

The invention comprises a method and apparatus for controlling network service parameters in a cell based communications network. In accordance with the method of the invention, a plurality of input signals (36) are received on input ports (30) of a communications device (12) wherein at least one input signal (36) comprises at least one virtual connection (38). The communications device (12) is part of a cell based communications network and each virtual connection (38) comprises a series of data cells. A first virtual connection (38) is assigned to a first queue (44) associated with a first buffer space (48) which is dedicated to the first queue (44). The first queue (44) is also associated with a second buffer and other queues. Data associated with the first virtual connection (38) is queued in the first queue (44).

Description

METHOD AND SYSTEM FOR CONTROLLING NETWORK SERVICE PARAMETERS IN A CELL BASED COMMUNICATIONS NETWORK
RELATED APPLICATIONS
This application claims the benefit of United States Provisional Application Serial No. 60/001,498, filed July 19, 1995.
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to communications networks and more particularly to a method and system for controlling network service parameters in cell based communications networks.
BACKGROUND OF THE INVENTION
Cell based communications networks such as asynchronous transfer ("ATM") networks are used to transfer audio, video, and data. ATM networks transfer data by routing data units such as ATM cells from a source to a destination through switches. Switches include input/output ports through which ATM cells are received and transmitted.
Existing ATM switches can be divided into several classes. One type of switch uses one large queue as a buffer and controls the access of individual virtual connections to bandwidth on a statistical basis. As a general matter, each virtual connection through this type of switch shares one large buffer and each virtual connection statistically shares the available bandwidth of the switch and/or on an output link connected to the switch. This approach suffers from several disadvantages. Depending upon the type of traffic traveling through an ATM network, one may want to control certain network service parameters associated with that traffic type. Examples of parameters that may be desirably controlled by an ATM network include a connection's delay variation, its end-to- end delay, its maximum data loss, its access to guaranteed bandwidth, its access and priority of access to shared bandwidth, and its delivery priority. Unfortunately, ATM switches employing the above approach cannot create quality of service guarantees on a per connection basis or even provide quality of service (QOS) guarantees on a per traffic type basis. Instead, quality of service guarantees can only be statistical in nature. In addition, head of line blocking in this approach can block connections behind the blocked connection.
A second approach employs a plurality of queues in each switch and allocates switch bandwidth statistically. Further refinements of this approach may assign particular connections to a particular queue based upon a characteristic of the connection such as the traffic type of the connection or the group from which the connection originated. In general, this approach is characterized by sharing each of a plurality of queues by a plurality of connections and sharing the switch bandwidth and/or output link bandwidth among all connections. This approach also has several disadvantages. Quality of service based upon the above parameters can only be guaranteed on a per queue basis and the guarantees that can be made for low priority traffic are not strong guarantees. In addition, the quality of service guarantees for multiple queues can only be made on a statistical basis rather than on a per connection basis. This approach also suffers from head of line blocking in each individual queue. Thus, certain connections may block other connections behind it. A third approach uses a plurality of queues and assigns a plurality of connections to each queue and allocates either switch bandwidth and/or link bandwidth on a per queue basis. This approach also suffers from several disadvantages. Again, the quality of network service can only be guaranteed on a per queue basis rather than on a per connection basis. Also, unused allocated switch bandwidth and/or link bandwidth cannot be used by another queue. Accordingly, this bandwidth remains unused, resulting in an inefficient use of system resources.
SUMMARY OF THE INVENTION
The invention comprises a method and system for controlling network service parameters in a cell based communications network. In accordance with a method of the invention, a plurality of input signals are received on input ports of a communications device wherein at least one input signal comprises at least one virtual connection. The communications device is part of a cell based communications network wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion. A first virtual connection is assigned to a first queue. The first queue is associated with a first buffer space wherein the first buffer space is dedicated to the first queue. The first queue is also associated with a second buffer space wherein the second buffer space is shared between the first queue and other queues. Data associated with the first virtual connection is queued in the first queue.
The invention allows quality of service guarantees based upon network service parameters to be made on a per connection basis. Thus, the invention can be used for efficiently transporting disparate types of traffic across a cell based communications network. For constant bit rate
(CBR) services, the invention allows delay variation, end- to-end delay and bandwidth to be guaranteed on a per virtual connection basis. In addition, the invention allows the guarantee of "no cell loss" for a constant bit rate traffic other than link bit errors. The term "no cell loss" refers to preventing cell loss caused by network congestion due to buffer overflow.
For variable bit rate services, a portion of switch and link resources may be allocated to a variable bit rate
(VBR) virtual connection and other switch and link resources may be dynamically shared among that particular virtual connection and other traffic on the network. For the portion of services that are allocated, the delay variation, end-to-end delay, bandwidth, and maximum data loss can be guaranteed for a variable bit rate virtual connection. For bandwidth above the allocated portion, maximum data loss can be guaranteed on a statistical basis. In addition, priority access to dynamic bandwidth and delivery priority can be guaranteed for a particular variable bit rate virtual connection.
For an available bit rate (ABR) virtual connection, the invention can guarantee no cell loss and priority access to dynamic bandwidth either in a switch, on a link, or both. Like variable bit rate services, a portion of switch and/or link resources may be allocated to an available bit rate virtual connection while other resources may be shared with other virtual connections. For the allocated portion of a virtual connection, the bandwidth of that connection can be guaranteed. For unspecified bit rate services, the invention allows a guarantee of priority access to dynamic bandwidth and of delivery priority.
Accordingly, the invention allows quality of service guarantees to be made for disparate types of traffic that may be transported using a communications network employing the present invention. The invention avoids the shortcomings of the prior art by applying queuing and bandwidth management mechanisms to individual connections as well as to a group of connections. Without the per virtual connection queuing mechanism of the invention, resources may not be precisely allocated to individual flows so that quality of service guarantees are enduring for the life of a connection. The invention allows quality of service guarantees to be maintained regardless of how many other virtual connections are added or deleted during the duration of the connection.
A communications network constructed in accordance with the invention may also achieve 100% network occupancy rates on a link-by-link basis while maintaining constant bit rate bandwidth and delay guarantees and available bit rate quality of service guarantees in an integrated services environment. The invention thus allows efficient use of network resources by devices connected to the communications network, that have varying traffic patterns and quality of service needs. BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings in which:
FIGURE 1 illustrates a communications network constructed in accordance with the teachings of the invention; and
FIGURE 2 illustrates a first embodiment of a communications device constructed in accordance with the teachings of the invention.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiment of the present invention and its advantages are best understood by referring to FIGURES 1 and 2 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
FIGURE 1 illustrates a communications network 10 constructed in accordance with the teachings of the invention. Communications network 10 is a cell based network and in this embodiment comprises an asynchronous transfer mode (ATM) network. Communications network 10 could be another type of network without departing from the scope of the invention. Communications network 10 comprises a series of communications devices 12 (also referred to as nodes) connected by a series of communications links 14. In this embodiment, each communications device 12 comprises an ATM switch. Other types of switches could be used without departing from the scope of the invention. Each communications link 14 may comprise any type of communications link, such as a SONET link.
A number of communications devices and networks may be connected to communications network 10. In this embodiment, communications network 10 is connected to local area network 16, wide area network 18, telephone access network 20, first computer 22, second computer 24, Internet server 26 and video server 28. Other types of communications devices (or networks) could also be connected to communications network 10 and some or all of the illustrated devices (or networks) could be omitted without departing from the scope of the invention. Each of these communications devices (or networks) communicates with communications network 10 using ATM cells. These devices (or networks) may use a communications protocol other than ATM for internal communications. For such devices, a mechanism is provided to translate the communications protocol to ATM and from ATM to the communications protocol for the particular device or network. This mechanism may be provided either inside of one of the communications devices 12 or inside the particular device or network connected to communications network 10. When a first device connected to communications network 10 desires to communicate with a second device connected to communications network 10, it sends data over communications network 10. The data is sent from the first device over one or more communication links 14 and through one or more communications devices 12 to the second device, thus forming a virtual connection between the first device and the second device. A communications device 12 switches numerous virtual connections through communications device 12 and each communications link 14 carries numerous virtual connections between two communications devices 12.
Communications network 10 is an integrated services network. Thus, communications network 10 can be used to transport varying types of ATM services. Examples of ATM services that may be transported through communications network 10 include constant bit rate services, variable bit rate services, available bit rate services, and unspecified bit rate services. The invention allows efficient transport of each of these traffic types and allows a certain quality of service guarantees to be made regarding each traffic type or virtual connection.
In accordance with one aspect of the invention, a unique queue is assigned to each virtual connection passing through a communications device 12. A specific embodiment of per virtual connection queuing will be described in connection with FIGURE 2 below. In the embodiment illustrated in FIGURE 2, both an input queue and an output queue are associated with each virtual connection. These queues are uniquely assigned to a particular virtual connection. Thus, queues are not shared among virtual connections. Some switches may employ only an input queue, only an output queue, or queues in addition to an input and output queue. The teachings of the invention can be applied to any queue associated with a communications device 12 by assigning queues on a per connection basis. As will be discussed more fully below, per virtual connection queuing allows queuing and bandwidth management mechanisms to be applied to individual connections rather than a group of connections. Queuing management mechanisms include control over buffering of virtual connections. Per virtual connection queuing allows precise allocation of network resources to individual virtual connections so that quality of service guarantees are enduring for the life of the virtual connection. These guarantees may be maintained regardless of how many other connections are added or deleted.
In operation, a plurality of input signals are received on input ports of communications device 12 wherein at least one input signal includes at least one virtual connection. In this embodiment, a unique input queue and a unique output queue are associated with each virtual connection. Queues in this embodiment are logical structures implemented using a linked list of pointers. Each queue may be associated with one or more buffer pools. In this embodiment, each queue may be associated with two buffer pools--a shared buffer pool and a dedicated buffer pool. Data associated with the first virtual connection is queued in the unique input queue for transport through a switching fabric connected with the input port. Data that is passed through the switching fabric is queued in the unique output queue associated with the virtual connection for transport over an output communications link. As will be described more fully below, another aspect of the invention is the method of implementing per virtual connection queuing.
A second aspect of the invention involves the use of communications network 10 in emulating a circuit type connection. Devices using a constant bit rate mode of communication frequently need to be treated as if there was a physical connection between the devices. Accordingly, ATM networks sometimes include resources to aid in emulating circuit connections so as to provide adequate service between devices communicating using a constant bit rate service. Communications network 10 of the present invention may be used in the emulation of circuit connections while guaranteeing certain network quality of service parameters. For each constant bit rate virtual connection, the present invention allows quality of service to be guaranteed for delay variation and end-to-end delay on a per virtual connection basis. In addition, bandwidth can be guaranteed for a constant bit rate virtual connection. Also, constant bit rate services may be transported through communications network 10 with no cell loss.
Although a more specific mechanism for implementing circuit connection emulation will be described in connection with FIGURE 2 below, the above-described per virtual connection queuing mechanism may be used to emulate a circuit connection. For example, first computer 22 of FIGURE 1 may desire to communicate using a constant bit rate service with second computer 24. To achieve circuit connection emulation, queues and bandwidth through each communications device 12 through which the virtual connection between computer 22 and computer 24 passes are allocated to the virtual connection for the duration of the communication signal between first computer 22 and second computer 24. The queue that is allocated has access to an allocated amount of buffer space for the duration of the connection. In this embodiment, allocated buffer space is implemented by assigning a counter limit to the queue. This counter limit represents the number of cell locations in a buffer pool that may be used by the particular queue at any one time. All queues that have allocated buffer space may use any available physical location in the shared pool up to the counter limit. In addition, an amount of output link bandwidth is allocated to the communications signal over each communications link 14 of communications network 10 over which the virtual connection travels between first computer 22 and second computer 24. By allocating network resources and dedicating those resources to a particular virtual connection, a circuit connection may be emulated through communications network 10 with quality of service guarantees on a per connection basis. In this specific embodiment, communications device 12 has both an input queue and an output queue assigned to a constant bit rate virtual connection. These queues are created when a new virtual connection is established. In the current embodiment, 16,000 connections per input port or output port may be processed. In addition, bandwidth through the switching fabric of communications device 12 and bandwidth on the output link of communications device 12 are allocated to the constant bit rate virtual connection. Where communications device 12 is configured differently, circuit connections may be emulated by allocating any queuing and bandwidth resources on a per virtual connection basis in accordance with the invention. FIGURE 2 illustrates a first embodiment of a communications device 12 constructed in accordance with the teachings of the invention. FIGURE 2 comprises a plurality of input ports 30 coupled to a switching fabric 32 which is, in turn, coupled to a plurality of output ports 34. The term "coupled" refers to a logical connection between the input ports 30, switching fabric 32 and output ports 34. Various additional circuitry may appear between these elements, but they are still logically coupled to one another. A larger or smaller number of input ports 30 and/or output ports 34 could be used without departing from the scope of the invention.
Each input port 30 is connected to one or more input links 36. Each input link 36 in turn comprises one or more virtual connections 38. Each output port 34 is connected to one or more output links 40. Each output link 40 in turn comprises one or more virtual connections 38.
Each input port 30 comprises one or more demultiplexers 42, one or more queues 44, and a multiplexer 50. Demultiplexers 42 and multiplexer 50 are not physical devices. Instead, the switching of traffic through input port 30 functionally implements demultiplexing and multiplexing functions.
When a virtual connection 38 is received over an input link 36 the cells associated with virtual connection 38 are demultiplexed through a demultiplexer 42 to one of the queues 44. In this embodiment, a unique queue 44 is assigned to each virtual connection 38. In other words, queue 44 contains the cells of one and only one input link 38. Although this embodiment employs per virtual connection queuing, the buffer and bandwidth mechanisms of the invention may be used in communications devices 12 that assign multiple virtual connections to a single queue 44.
In this embodiment, queue 44 comprises a linked list of pointers. These pointers point to the location in a buffer where a cell associated with a particular queue pointer is stored. A third aspect of the invention is the queuing mechanism used for queues 44. Each queue 44 may be associated with multiple buffer pools. In accordance with the queuing mechanism of this embodiment, queue 44 is associated with a particular virtual connection 38 and may be assigned dedicated buffer pool space, shared buffer pool space, or a combination of dedicated and shared buffer pool space depending upon the traffic type of the connection.
Referring to FIGURE 2, one of the input queues 44 has been assigned space in shared buffer 46 and dedicated buffer 48. Space in dedicated buffer 48 is uniquely dedicated to a particular queue 44. Thus, space in dedicated buffer 48 associated with a queue 44 may be used by that queue 44 and only that queue 44. Space in shared buffer 46 is shared among several queues 44. Ordinarily, a constant bit rate virtual connection 38 will only be assigned space in a dedicated buffer 48, while a variable bit rate virtual connection 38 and available bit rate virtual connection 38, or an unspecified bit rate virtual connection 38 may be assigned dedicated space in a dedicated buffer 48 and shared space in a shared buffer 46. In this embodiment, because a particular virtual connection 38 is uniquely assigned a queue 44, space in a dedicated buffer 48 and/or in a shared buffer 46 may be assigned specifically to a virtual connection. In an embodiment where queue 44 is shared among several virtual connections 38, space in dedicated buffer 48 and/or shared buffer 46 may be assigned to the queue 44 as a whole.
Dedicated buffer 48 comprises a plurality of buffer locations 60 wherein each buffer location 60 holds one ATM cell. The size of dedicated buffer 48 may be dynamically adjusted depending upon the number of virtual connections accessing dedicated buffer 48. When a queue 44 is assigned space in dedicated buffer 48, the queue 44 is assigned a fixed number of buffer locations 60 that the queue 44 may have access to at any one time. The specific physical position of those buffer locations 60 are not assigned to any specific queue 44. Rather, dedicated buffer 48 acts as a pool of buffer space. Any queue 44 that is assigned space in dedicated buffer 48 may use any otherwise unused physical location within it, as long as that queue 44 does not use more than the fixed number of buffer locations 60 that it is assigned. The queue 44 is guaranteed to have access to the fixed number of buffer locations 60 assigned to it at all times.
Similarly, shared buffer 46 acts as a pool of buffer space that can be shared in a similar manner to dedicated buffer 48. Each queue 44 is associated with a limit specifying the maximum number of locations in shared buffer 46 that the queue 44 may use at any one time. Here, however, each queue 44 is not guaranteed to have access to any fixed number of buffer locations 60. Instead, all queues 44 assigned space in shared buffer 46 share all buffer locations 60. When all of the buffer locations 60 in shared buffer 46 are in use, a queue 44 may not have access to another buffer location 60 even if it is not using the maximum number of buffer locations 60 that could be assigned to it. The size of shared buffer 46 may also be adjusted dynamically. A connection could be assigned to multiple shared buffers 46 or connections could be assigned to different shared buffers 46 based upon their traffic types.
Each of the queues 44 are connected to multiplexer 50. Multiplexer 50 controls the flow of cells between each input port 30 and switching fabric 32. As discussed above, multiplexer 50 is not a physical element, but is functionally implemented by the operation of input port 30. In this embodiment, multiplexer 50 is used to assign bandwidth through switching fabric 32 to each of the queues 44 connected to multiplexer 50. This embodiment of the invention employs a unique bandwidth assignment method. A portion of the bandwidth through switching fabric 32 may be uniquely allocated to a particular queue 44 such that a fixed amount of bandwidth through switching fabric 32 is guaranteed to that queue 44. In addition, an amount of bandwidth through switching fabric 32 may be dynamically shared between two or more queues 44. Thus, an amount of uniquely allocated bandwidth through switching fabric 32 may be assigned to a particular queue 44. In addition, that particular queue 44 may or may not share in the available shared dynamic bandwidth through the switching fabric 32. In this embodiment, because queue 44 is associated with only one virtual connection, a bandwidth assignment is equivalent to assigning an amount of uniquely allocated bandwidth to a particular virtual connection. The same virtual connection may or may not share dynamic bandwidth. This aspect of the invention could also be used in a communications device 12 that assigned multiple virtual connections to a single queue 44. In such an embodiment, uniquely allocated bandwidth and/or shared dynamic bandwidth could be used by a queue 44. Space in shared buffer 46 and/or dynamically shared bandwidth through switching fabric 32 may be shared by all queues 44 or may be divided into a series of pools shared by specific groups of the queues 44. For example, dynamic buffer space and/or bandwidth could be divided into pools associated with particular traffic types. Variable bit rate virtual connections, available bit rate virtual connections, and/or unspecified bit rate virtual connections could share buffer space and/or dynamic bandwidth in a pooled manner. A mechanism for achieving this type of sharing will be described more fully below.
If switching fabric 32 comprises a switching matrix, bandwidth and/or buffers in switching fabric 32 could be shared using the mechanisms described above wherein bandwidth and buffers may be either allocated or shared.
Each output port 34 comprises a demultiplexer 52, one or more queues 54, and one or more multiplexers 61. Each output port 34 is connected to one or more output links 40 and each output link 40 comprises one or more virtual connections 38. As was the case with input port 30, demultiplexer 52 and multiplexer 61 are not physical elements of output port 34, but are functionally implemented therein.
Demultiplexer 52 sends cells received from switching fabric 32 to the appropriate output queue 54. In this embodiment, each output queue 54 is associated with a unique virtual connection. In other words, each output queue 54 is used to queue the cells associated with one and only one virtual connection 38.
The queues 54 are similar to the queues 4 . Each queue 54 may be associated with multiple buffer pools. As was the case with the queues 44 of input port 30, queues 54 of output port 34 comprise a linked list of pointers. Each pointer points to a cell location 60 in either a shared buffer 56 or dedicated buffer 58. Each queue 54 may be assigned an amount of uniquely dedicated space in a dedicated buffer 58 and/or an amount of shared space in a shared buffer 56. Accordingly, output queues 54 employ a buffering mechanism similar to that of input queues 44.
Each multiplexer 61 is connected to each of the output queues 54. As was the case with the multiplexer 50 and input port 30, the multiplexer 61 of output 34 are not physical elements of output 34 , but output port 34 implements a multiplexing function. Each multiplexer 61 controls the access of the output queues 54 to bandwidth on its associated output link 40. Bandwidth on each output link 40 may be allocated as described above in connection with input port 30 for the input queues 44. Thus, each output queue 54 may be assigned an amount of uniquely allocated bandwidth which that particular output queue 54 is guaranteed to have access to if needed. That output queue 54 may also be assigned an amount of dynamically shared bandwidth that is shared among multiple output queues- 54. Each output queue 54 may be assigned an amount of dynamic bandwidth, an amount of shared bandwidth, or a combination of both on a particular output link 40. In this embodiment, because each output queue 54 is only associated with a single virtual connection 38, this means that bandwidth may be allocated uniquely and/or dynamically shared on a per virtual connection basis. In an embodiment where an output queue 54 is shared among multiple virtual connections 38, bandwidth may be uniquely allocated or dynamically shared on a per queue basis using this mechanism.
As described above in connection with input port 30, space in a shared buffer 56 and/or dynamically shared bandwidth on an output link 40 may be shared among all virtual connections 30 or divided up and shared in pools corresponding to particular group of virtual connections such as traffic types. Again, this mechanism will be described more fully below.
Sometimes, a particular virtual connection 38 will be allocated more bandwidth through the switching fabric 32 than is needed by that virtual connection. In other words, the amount of allocated bandwidth through the switching fabric 32 may be uniquely allocated to a virtual connection having a bandwidth smaller than the amount of allocated bandwidth. Allocating additional bandwidth reduces delay through communications device 12. In the present invention, bandwidth that is allocated to a particular virtual connection 38 through the switching fabric 32 that is unused by that particular virtual connection 38 becomes part of the switch's dynamic bandwidth. This dynamic bandwidth is shared between virtual connections using dynamic bandwidth services. This feature of the invention allows more efficient use of the resources of communications network 10.
Access to shared buffer space may also be prioritized. Each virtual connection may have a priority assigned to it. Each buffer pool has priority thresholds. As the available buffers in the buffer pool decrease below the thresholds, virtual connections with corresponding priorities are denied further access to the buffer pool.
As described above, connections can have access to shared buffers and bandwidth. Levels of control can be added to manage both the order and the amount of the shared resources that connections can use. The highest level of control is to ensure that traffic types receive a guaranteed minimum assignment of the shared resource. This is accomplished at the output link by measuring bandwidth usage per traffic type, and granting each traffic type bandwidth until it has received the desired minimum amount. For buffers, this is accomplished by having a buffer pool per traffic type. The order in which the traffic types receive bandwidth could be a programmable policy. In this embodiment, the order is fixed. Quality of service levels can be determined for connections sharing the minimum bandwidth and buffer guarantee for a traffic type, assuming that the connections' input characteristics can be accurately described. In this embodiment, the connections of the same traffic type are multiplexed together using a linked list data structure at both bandwidth contention points--i.e. the switch port and link. This multiplexing point is given the minimum bandwidth guarantee. An identifier in the connection's queue descriptor(s) is used to associate the connections with a multiplexing point.
Access to the traffic type's shared resources is also ordered. That is, connections within a traffic type get access to bandwidth and buffers using a priority mechanism. Again, this prioritization occurs at the resource contention points, so that there are traffic type priorities at both the input port processor and the output port processor. Input buffer pools have one or more thresholds, above which certain connections within a traffic type are denied buffers. There are one or more multiplexers, i.e. lists, per traffic type, where the multiplexers are assigned, in priority order, bandwidth granted to the traffic type at the output port. This means that low priority connections get bandwidth only after the high priority connections do not have any data to transmit. An identifier in the connection's queue descriptor(s) is used to associate the connections with a priority. Note that more levels of access control to shared resources can be added in the switch. For example, the lowest level of control occurs on a multipoint-to-point connection. Bandwidth is distributed to the multiple sources of a single multipoint-to-point connection by the use of two additional multiplexers: (1) a list of queues at the input port that distributes the bandwidth between multiple sources merging at the input port, and (2) an arbitration mechanism in the switch fabric that distributes bandwidth between sources on multiple input ports.
Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS;
1. A method for controlling network service parameters in a cell based communications network, comprising: receiving a plurality of input signals on input ports of a communications device, at least one input signal comprising at least one virtual connection, wherein the communications device is part of the cell based communications network and wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion; assigning a first virtual connection to a first queue; associating the first queue with a first buffer space, wherein the first buffer space is dedicated to the first queue; associating the first queue with a second buffer space, wherein the second buffer space is shared between the first queue and other queues; queueing data associated with the first virtual connection in the first queue.
2. The method of Claim 1, wherein the data cells comprise asynchronous transfer mode cells.
3. The method of Claim 1 wherein the first queue comprises an input queue.
4. The method of Claim 1 wherein the first queue comprises an output queue.
5. The method of Claim 3, further comprising: assigning the first virtual connection to a second queue; associating the second queue with a third buffer space, wherein the third buffer space is dedicated to the second queue; associating the second queue with a fourth buffer space, wherein the fourth buffer space is shared between the second queue and other queues; queueing data associated with the first virtual connection in the second queue wherein the second queue comprises an output queue.
6. The method of Claim 5, further comprising: controlling the flow of the first virtual connection from an input port of the communications device to a switching fabric associated with the communications device by utilizing the first queue associated with the first virtual connection.
7. The method of Claim 5, further comprising: controlling the flow of the first virtual connection from a switching fabric associated with the communications device to an output port of the communications device by utilizing the second queue associated with the first virtual connection.
8. The method of Claim 6, further comprising: controlling the flow of the first virtual connection from a switching fabric associated with the communications device to an output port of the communications device by utilizing the second queue associated with the first virtual connection; and wherein the first queue is uniquely associated with the first virtual connection and wherein the second queue is uniquely associated with the first virtual connection.
9. The method of Claim 8, wherein the data cells comprise asynchronous transfer mode cells.
10. The method of Claim 8, further comprising: assigning a first quantity of bandwidth through the switching fabric to the first queue, wherein the first quantity of bandwidth is allocated to the first queue; assigning a second quantity of bandwidth through the switching fabric to the first queue, wherein the second quantity of bandwidth is dynamically shared between the first queue and other queues; and passing cells associated with the first virtual connection through the switching fabric using the first quantity of bandwidth and at least a part of the second quantity of bandwidth.
11. The method of Claim 8, further comprising: assigning a third quantity of bandwidth on an output link of the communications device to the second queue, wherein the third quantity of bandwidth is allocated to the second queue; assigning a fourth quantity of bandwidth on the output link to the second queue, wherein the fourth quantity of bandwidth is dynamically shared between the second queue and other queues; and passing cells associated with the first virtual connection to the output link using the third quantity of bandwidth and at least a part of the fourth quantity of bandwidth.
12. The method of Claim 11, further comprising: assigning a first quantity of bandwidth through the switching fabric to the first queue, wherein the first quantity of bandwidth is allocated to the first queue; assigning a second quantity of bandwidth through the switching fabric to the first queue, wherein the second quantity of bandwidth is dynamically shared between the first queue and other queues; passing cells associated with the first virtual connection through the switching fabric using the first quantity of bandwidth and at least a part of the second quantity of bandwidth; and wherein the data cells comprise asynchronous transfer mode cells.
13. The method of Claim 12, further comprising: creating a first list of queues to prioritize access to dynamically shared bandwidth through the switching fabric; and creating a second list of queues to prioritize access to dynamically shared bandwidth on the output link.
14. The method of Claim 12, further comprising: creating a plurality of prioritized lists of queues to prioritize access to dynamically shared bandwidth on the output link wherein each prioritized list corresponds to the type of traffic associated with the queues in the list; creating a list of the plurality of prioritized lists of queues to further prioritize access to dynamically shared bandwidth on the output link.
15. The method of Claim 6, further comprising: controlling the flow of the first virtual connection from a switching fabric associated with the communications device to an output port of the communications device by utilizing the second queue associated with the first virtual connection; and wherein the first queue is associated with a plurality of virtual connections and wherein the second queue is associated with a plurality of virtual connections.
16. The method of Claim 15, wherein the data cells comprise asynchronous transfer mode cells.
17. The method of Claim 15, further comprising: assigning a first quantity of bandwidth through the switching fabric to the first queue, wherein the first quantity of bandwidth is allocated to the first queue; assigning a second quantity of bandwidth through the switching fabric to the first queue, wherein the second quantity of bandwidth is dynamically shared between the first queue and other queues; and passing cells associated with the first virtual connection through the switching fabric using the first quantity of bandwidth and at least a part of the second quantity of bandwidth.
18. The method of Claim 15, further comprising: assigning a third quantity of bandwidth on an output link of the communications device to the second queue, wherein the third quantity of bandwidth is allocated to the second queue; assigning a fourth quantity of bandwidth on the output link to the second queue, wherein the fourth quantity of bandwidth is dynamically shared between the second queue and other queues; and passing cells associated with the first virtual connection to the output link using the third quantity of bandwidth and at least a part of the fourth quantity of bandwidth.
19. The method of Claim 18, further comprising: assigning a first quantity of bandwidth through the switching fabric to the first queue, wherein the first quantity of bandwidth is allocated to the first queue; assigning a second quantity of bandwidth through the switching fabric to the first queue, wherein the second quantity of bandwidth is dynamically shared between the first queue and other queues; passing cells associated with the first virtual connection through the switching fabric using the first quantity of bandwidth and at least a part of the second quantity of bandwidth; and wherein the data cells comprise asynchronous transfer mode cells.
20. The method of Claim 19, further comprising: creating a first list of queues to prioritize access to dynamically shared bandwidth through the switching fabric; and creating a second list of queues to prioritize access to dynamically shared bandwidth on the output link.
21. The method of Claim 19, further comprising: creating a plurality of prioritized lists of queues to prioritize access to dynamically shared bandwidth on the output link wherein each prioritized list corresponds to the type of traffic associated with the queues in the list; creating a list of the plurality of prioritized lists of queues to further prioritize access to dynamically shared bandwidth on the output link.
22. A method for controlling network service parameters in a cell based communications network, comprising: receiving a plurality of input signals on input ports of a communications device, at least one input signal comprising at least one virtual connection, wherein a first virtual connection is associated with a first input port, wherein the communications device is part of the cell based communications network and wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion; assigning a first quantity of bandwidth through a switching fabric of the communications device to the first virtual connection, wherein the first quantity of bandwidth is allocated to the first virtual connection; assigning a second quantity of bandwidth through the switching fabric to the first virtual connection, wherein the second quantity of bandwidth is dynamically shared between the first virtual connection and other virtual connections; and passing cells associated with the first virtual connection through the switching fabric using the first quantity of bandwidth and at least a part of the second quantity of bandwidth.
23. The method of Claim 22, wherein the data cells comprise asynchronous transfer mode cells.
24. The method of Claim 22, further comprising: assigning a third quantity of bandwidth on an output link of the communications device to the first virtual connection, wherein the third quantity of bandwidth is allocated to the first virtual connection; assigning a fourth quantity of bandwidth on the output link to the first virtual connection, wherein the fourth quantity of bandwidth is dynamically shared between the first virtual connection and other virtual connections; and passing cells associated with the first virtual connection to the output link using the third quantity of bandwidth and at least a part of the fourth quantity of bandwidth.
25. The method of Claim 23, further comprising: assigning a third quantity of bandwidth on an output link of the communications device to the first virtual connection, wherein the third quantity of bandwidth is allocated to the first virtual connection; assigning a fourth quantity of bandwidth on the output link to the first virtual connection, wherein the fourth quantity of bandwidth is dynamically shared between the first virtual connection and other virtual connections; and passing cells associated with the first virtual connection to the output link using the third quantity of bandwidth and at least a part of the fourth quantity of bandwidth.
26. A method for controlling network service parameters in a cell based communications network, comprising: receiving a plurality of input signals on input ports of a communications device, at least one input signal comprising at least one virtual connection, wherein a first virtual connection is associated with a first output link, wherein the communications device is part of the cell based communications network and wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion; assigning a first quantity of bandwidth on the first output link to the first virtual connection, wherein the first quantity of bandwidth is allocated to the first virtual connection; assigning a second quantity of bandwidth on the first output link to the first virtual connection, wherein the second quantity of bandwidth is dynamically shared between the first virtual connection and other virtual connections; and passing cells associated with the first virtual connection to the output link using the first quantity of bandwidth and at least a part of the second quantity of bandwidth.
PCT/US1996/011931 1995-07-19 1996-07-18 Method and system for controlling network service parameters in a cell based communications network WO1997004554A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/US1996/011931 WO1997004554A1 (en) 1995-07-19 1996-07-18 Method and system for controlling network service parameters in a cell based communications network
JP9506872A JPH11510005A (en) 1995-07-19 1996-07-18 Method and system for controlling network service parameters in cell-based communication network
AU65016/96A AU6501696A (en) 1995-07-19 1996-07-18 Method and system for controlling network service parameters in a cell based communications network

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US149895P 1995-07-19 1995-07-19
US60/001,498 1995-07-19
PCT/US1996/011931 WO1997004554A1 (en) 1995-07-19 1996-07-18 Method and system for controlling network service parameters in a cell based communications network

Publications (1)

Publication Number Publication Date
WO1997004554A1 true WO1997004554A1 (en) 1997-02-06

Family

ID=38659680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/011931 WO1997004554A1 (en) 1995-07-19 1996-07-18 Method and system for controlling network service parameters in a cell based communications network

Country Status (3)

Country Link
JP (1) JPH11510005A (en)
AU (1) AU6501696A (en)
WO (1) WO1997004554A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150358A (en) * 1990-08-23 1992-09-22 At&T Bell Laboratories Serving constant bit rate traffic in a broadband data switch
US5533009A (en) * 1995-02-03 1996-07-02 Bell Communications Research, Inc. Bandwidth management and access control for an ATM network
US5544168A (en) * 1991-08-02 1996-08-06 Gpt Limited ATM switching arrangement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150358A (en) * 1990-08-23 1992-09-22 At&T Bell Laboratories Serving constant bit rate traffic in a broadband data switch
US5544168A (en) * 1991-08-02 1996-08-06 Gpt Limited ATM switching arrangement
US5533009A (en) * 1995-02-03 1996-07-02 Bell Communications Research, Inc. Bandwidth management and access control for an ATM network

Also Published As

Publication number Publication date
JPH11510005A (en) 1999-08-31
AU6501696A (en) 1997-02-18

Similar Documents

Publication Publication Date Title
US5867663A (en) Method and system for controlling network service parameters in a cell based communications network
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
US6205118B1 (en) Adaptive time slot scheduling apparatus and method for end-points in an ATM network
US6810031B1 (en) Method and device for distributing bandwidth
US5629928A (en) Dynamic fair queuing to support best effort traffic in an ATM network
KR100326789B1 (en) Dynamic queue length thresholds in a shared memory atm switch
US6130878A (en) Method and apparatus for rate-based scheduling using a relative error approach
US7606262B1 (en) Universal edge node
US6941380B2 (en) Bandwidth allocation in ethernet networks
US5193090A (en) Access protection and priority control in distributed queueing
AU3988999A (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
EP1102516A1 (en) A telecommunication network and a method for controlling such network
US6249819B1 (en) Method for flow controlling ATM traffic
US8228797B1 (en) System and method for providing optimum bandwidth utilization
EP2134037B1 (en) Method and apparatus for scheduling data packet flows
EP0481447B1 (en) Method of controlling communication network incorporating virtual channels exchange nodes and virtual paths exchange nodes, and the said communication network
KR19990010421A (en) Adaptive Cell Scheduling Method and Switching System Using Queue Occupancy Information
JP3859721B2 (en) Method for assigning priority to cell information in a system for transferring information in asynchronous transfer ATM mode
US5818841A (en) System and process for providing user level multiplexing of two or more application channels to one virtual channel in asynchronous transfer mode network
Chiussi et al. Providing QoS guarantees in packet switches
WO1997004555A1 (en) Method and apparatus for queuing data in a communications device
WO1997004554A1 (en) Method and system for controlling network service parameters in a cell based communications network
WO1997004571A1 (en) Method and apparatus for emulating a circuit connection in a cell based communications network
US7450510B1 (en) System and method for distributing guaranteed bandwidth among service groups in a network node
US7130267B1 (en) System and method for allocating bandwidth in a network node

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 1997 506872

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA