JP2001519973A - Prioritized access to shared buffers - Google Patents

Prioritized access to shared buffers

Info

Publication number
JP2001519973A
JP2001519973A JP50686597A JP50686597A JP2001519973A JP 2001519973 A JP2001519973 A JP 2001519973A JP 50686597 A JP50686597 A JP 50686597A JP 50686597 A JP50686597 A JP 50686597A JP 2001519973 A JP2001519973 A JP 2001519973A
Authority
JP
Japan
Prior art keywords
buffer
priority
counter
link
transmitter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP50686597A
Other languages
Japanese (ja)
Inventor
エイ ハウザー,スティーヴン
エイ カルダラ,スティーヴン
エイ マニング,トマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Ltd filed Critical Fujitsu Ltd
Publication of JP2001519973A publication Critical patent/JP2001519973A/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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/18End to end
    • 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
    • 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
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 リンクレベルフロー制御システムにおいて、複数のコネクションにより共用されるバッファリソースを少なくとも1つのスレッシヨルドを用いて優先度付きバッファサブセットに区画する機能を有する方法及び装置が提供される。これにより、遅延限度についての種々のカテゴリーのサービスレベルが可能となる。開示されるリンクレベルフロー制御システムは、無セル損を実現する。共用バッファリソースは、N−1個のスレッシヨルドレベルにより画定されたN個の優先度プールに分割される。各優先度プールは、各サービスカテゴリーに帰属可能である。送信要素に配置されたリンクレベルカウンタ及びレジスタが、各コネクションに対応付けられた優先度レベル標識と共に、共用バッファリソースを実現するのに用いられる。 (57) [Summary] In a link-level flow control system, there is provided a method and apparatus having a function of partitioning a buffer resource shared by a plurality of connections into a priority buffer subset using at least one threshold. This allows for different categories of service levels for delay limits. The disclosed link level flow control system achieves cell-free. The shared buffer resource is divided into N priority pools defined by N-1 threshold levels. Each priority pool can be assigned to each service category. Link level counters and registers located at the transmitting element, along with priority level indicators associated with each connection, are used to implement shared buffer resources.

Description

【発明の詳細な説明】 共用バッファへの優先度付きアクセス 発明の分野 本出願は、分散交換機アーキテクチャにおける通信方法及び装置に係り、特に 、フロー制御バーチャルコネクションにおける共用バッファリソースへの優先度 付きアクセスを行う方法及び装置に関する。 発明の背景 分散型交換機アーキテクチャで用いられるフロー制御バーチャルコネクション (FCVC)プロトコルは当該技術分野で現在公知であり、図1を参照して後述 する。本プロトコルは、「無セル損」保証を提供するため、上流側及び下流側の 網要素間での、バーチャルチャネルコネクションやバーチャルパスコネクション 等のコネクションごとの状態(バッファアロケーション及び現在状態)の通信を 必要とする。セルは伝送されるべきデータのユニットである。各セルは格納され るべきバッファを必要とする。 現在公知のフロー制御機構は、受信器の共用バッファプールへの均等なアクセ ス権をそれぞれ有する複数のコネクション間のコネクションレベルのフロー制御 にも適用できる。1又は2以上のデータセルシーケンスの時間感度にかかわらず 、サービスカテゴリー内でバッファアロケーションは区別されない。 発明の概要 リンクレベルフロー制御システムにおいて、複数のコネクションにより共用さ れるバッファリソースを、少なくとも1つのスレッシヨルドにより画定された複 数の優先度付きバッファサブセットに区 画する機能が提供される。従って、遅延限度の点で異なるカテゴリーのサービス レベルが可能となる。本発明に係るリンクレベルフロー制御システムは、受信器 要素からのフィードバック情報により更新される送信器素子内のリンクレベルカ ウンタ及びレジスタに基づいて、送信器要素から受信器要素へのセルフローを絞 ることにより、無セル損を実現する。リンクは、物理的リンクとして定義するこ とができ、又は、論理コネクションからなる論理群として定義することもできる 。 区画化バッファサブセットへのアクセスは、各サブセットに割当てられた優先 度、及び、バッファされるべきセルを有する各コネクションに対応付けられた優 先度に基づいて行われる。バッファサブセットは、少なくとも1つのスレッシヨ ルドにより画定されている。一実施例において、このスレッシヨルドは動的に調 整可能である。 送信器要素内のリンクレベルカウンタ及びレジスタはスレッシヨルドレベルを 保持し、受信器要素のバッファプール利用状態を監視して、送信器要素から受信 器要素へのセルトラヒックを制御する。リンクレベルフロー制御の場合と同様に 、共用バッファリソースの現在状態を反映する受信器要素からのフィードバック が行われる。 図面の簡単な説明 上記した、及び更なる利点は、以下の説明及び添付の図面を参照することによ ってより完全に理解される。 図1は、当該技術分野で公知のコネクションレベルフロー制御装置のブロック 図である。 図2は、本発明に係るリンクレベルフロー制御装置のブロック図である。 図3A及び図3Bは、本発明に係るフロー制御方法におけるセル伝送のための カウンタ初期化及び準備を表すフロー図である。 図4は、本発明に係るフロー制御方法におけるセル伝送を表すフ ロー図である。 図5A及び図5Bは、本発明に係るフロー制御方法における更新セルの準備及 び伝送を表すフロー図である。 図6A及び図6Bは、図5A及び図5Bの更新セルの準備及び伝送とは別の実 施例を表すフロー図である。 図7A及び図7Bは、本発明に係るフロー制御方法における更新セルの受信を 表すフロー図である。 図8A、図8B、及び図8Cは、本発明に係るフロー制御方法における検査セ ルの準備、伝送、及び受信を表すフロー図である。 図9A、図9B、及び図9Cは、図8A、図8B、及び図8Cの検査セルの準 備、伝送、及び受信とは別の実施例を表すフロー図である。 図10は、本発明に係るセルバッファプールを上流側要素から見た状態を示す 。 図11は、本発明に係る下流側要素の共用バッファリソースへの優先度付きア クセスを提供する上流側要素のリンクレベルフロー制御装置のブロック図である 。 図12A及び図12Bは、本発明に係る優先度付きアクセス方法における、セ ル伝送のためのカウンタ初期化及び準備を表すフロー図である。 図13A及び図13Bは、本発明に係るセルバッファプールの別の実施例を上 流側要素から見た状態を示す。 図14は、本発明に係る保証最小帯域幅及び下流側要素の共用バッファリソー スへの優先度付きアクセスを提供する上流側要素のフロー制御装置のブロック図 である。 図15A及び図15Bは、本発明に係る優先度付きアクセスを用いた保証最小 帯域幅機構における、セル伝送のためのカウンタ初期化及び準備を表すフロー図 である。 図16は、開示されるジョイントフロー制御機構が実現された送 信器、データリンク、及び受信器を表すブロック図である。 図17は、図16の受信器のキューに対応付けられたデータ構造を示す。 詳細な説明 図1には、コネクションレベルフロー制御に要求されるリソースが示されてい る。上述の如く、図1に示す構成は、当該技術分野で現在公知である。しかし、 コネクションレベルフロー制御構成について簡単に説明することにより、本願で 開示されるリンクレベルフロー制御方法及び装置の説明が容易となるであろう。 図示するごとく、1つのリンク10が、UPサブシステムとしても知られる上 流側送信器要素12と、DPサブシステムとしても知られる下流側受信器要素1 4との間のインターフェースとなっている。各要素12、14は、他の網要素と の間の交換機として動作することができる。例えば、図1の上流側要素12はP C(図示せず)からデータを受信することができる。このデータは、リンク10 を通して下流側要素14へ通信される。下流側要素14は、そのデータをプリン タ(図示せず)等の装置へ送出する。あるいは、図示する網要素12、14自身 が網端末ノードであってもよい。 本願で開示される構成の重要な機能は、データセルを、上流側要素12からリ ンク10内のコネクション20を経由して下流側要素14へ転送し、下流側要素 14においてデータセルをセルバッファ28に一時的に保持することである。セ ルフォーマットは公知であり、「量子フロー制御」(第1.5.1版、1995 年6月27日発行)及び、その後フロー制御コンソーシアムにより発刊された新 版に記載されている。図1において、セルバッファ28と印されたブロックは、 各コネクション20に割振られたセルバッファの集合を表している。データセル は、下流側要素14を越えた別のリンクへの送出により、又は、下流側要素14 内でのセル利用により、 バッファ28から解放される。下流側要素14がワークステーション等の端末ノ ードであるならば、下流側要素14内でのセル利用は、個々のデータセルからの データフレームの構築を含むことができる。 上流側要素12及び下流側要素14の各々は、UP(上流側プロセッサ)16 及びDP(下流側プロセッサ)18で示される各プロセッサにより制御される。 プロセッサ16、18の各々には、コネクションレベルフロー制御を実現するバ ッファカウンタの集合が対応付けられている。これらのバッファカウンタは、そ れぞれ、リソース使用状態の変化を容易とするように設定される上昇カウンタ/ 制限レジスタ集合として実装されている。以下詳細に説明する図1のカウンタは 、第1実施例において、UP内部RAMに実装されている。従来技術について説 明し図示するカウンタ名の一部には、本願で開示されるフロー制御方法及び装置 に関して用いられる同一のカウンタ名を用いている。このことは、単に、新たに 開示されるカウンタやレジスタ等の要素と同様の機能又は要素が従来技術に存在 することを示すに過ぎない。 第1実施例においては銅製伝導体であるリンク10の内部には、複数のバーチ ャルコネクション20が設けられている。別の実施例において、リンク10は複 数のバーチャルコネクション20の論理的群である。リンク10内部に実現され るコネクション20の数は、コネクション当たりに要求される帯域幅と共に各網 要素12、14の要求に依存する。図1では、簡単のため、1つのコネクション 20及びこれに対応するカウンタのみを示している。 先ず、図1の上流側要素12に関して、2つのバッファ状態制御器、すなわち 、BSカウンタBS_Counter22及びBSリミットBS_Limit2 4が設けられている。第1実施例において、各々は、14ビットカウンタ/レジ スタとして実装され、16,383個のバッファへの接続を可能としている。こ の数は、例えば、139Mbps、10,000kmの往復サービスをサポート する。 バッファ状態カウンタ22、24は、対応するコネクション20のフロー制御が 許可された場合にのみ使用される。すなわち、UP16の各コネクション記述子 すなわちキュー記述子の1つのビットが、コネクション20のフロー制御が許可 されたことを示すようにセットされる。 BSカウンタBS_Counter22は、データセルが上流側要素12から 対応すコネクション20を通して転送されるごとに、UP16によりインクリメ ントされる。後述する如く、このカウンタ22は、下流側要素14から受信した 情報に基づく更新処理の間に周期的に調整される。従って、BSカウンタBS_ Counter22は、上流側要素12と下流側要素14との間のコネクション 20を現在伝送中であるか、又は、下流側要素14のバッファ28から未だ解放 されていないデータセルの数を示すことになる。 BSリミットBS_Limit24は、コネクション設立時間に、このコネク ション20に対する受信器14内で使用可能なバッファ28の数を反映するよう に設定される。例えば、このコネクション20に対するBSカウンタBS_Co unter22が20個のデータセルが伝送されたことを示し、BSリミットB S_Limit24がこのコネクション20は20個の受信器バッファ28に制 限されていることを示すならば、UP16は、下流側要素14から更なるバッフ ァ空間28がコネクション20に対して使用可能である旨の通知を受けるまで、 上流側素子12からの更なる伝送を禁止することになる。 送信カウンタTx_Counter26は、このコネクション20を通してU P16により送信されたデータセルの総数をカウントするのに用いられる。第1 実施例において、このカウンタは、0xFFFFFFFで循環する28ビットカ ウンタである。後述する如く、送信カウンタTx_Counter26は、検査 イベントの際に、このコネクション20についての誤りセルを考慮するのに用い られる。 下流側要素14において、DP18もまた、各コネクション20に対してカウ ンタ集合を管理する。バッファリミットレジスタBuffer_Limit30 は、下流側要素14において、不正な送信器から保護するための管理機能を実行 する。具体的には、バッファリミットレジスタBuffer_Limit30は 、このコネクション20が使用できる受信器14内のセルバッファ28の最大数 を示す。ほとんどの場合、BSリミットBS_Limit24は、バッファリミ ットレジスタBuffer_Limit30に等しい。しかしながら、このコネ クション20に対するセルバッファ28の最大数を増加側又は減少側に調整しな ければならない場合がある。この機能は、網管理ソフトウェアにより調整される 。伝送中のデータの「脱落」を防止するため、コネクション当たりのバッファの 増加は、BSリミットBS_Limit24の前に先ずバッファリミットレジス タBuffer_Limit30に反映される。逆に、コネクション当たりの受 信器バッファの数の減少は、先ずBSリミットBS_Limit24に反映され 、その後、バッファリミットレジスタBuffer_Limit30に反映され る。 バッファカウンタBuffer_Counter32は、下流側要素14内の 、データセルの格納に現在使用中のバッファ28の数を示す。以下に説明するよ うに、この値は、上流側要素12に対して、下流側要素14におけるバッファ利 用可能性をより正確に知らせるのに用いられる。第1実施例において、バッファ リミットレジスタBuffer_Limit30及びバッファカウンタBuff er_Counter32は共に14ビット幅である。 N2リミットN2_Limit34は、上流側送信器12へのコネクションフ ローレート通信の頻度を決定する。かかるフローレート情報を収容するセルは、 受信器要素14がN2リミットN2_Limit34に等しい数のセルを受信器 要素14から送出する都度 上流側へ送られる。この更新動作について以下、更に説明する。第1実施例にお いて、N2リミットN2_Limit34は6ビット幅である。 DP18はN2カウンタN2_Counter36を用いて、N2リミットN 2_Limit30に最後に達した後に受信器要素14から送出されたセルの数 を追跡する。第1実施例において、N2カウンタN2_Counter36は6 ビット幅である。 第1実施例において、DP18は、送出力ウンタFwd_Counter38 を保持し、受信器要素14を通して送出されたセルの総数の現在カウント値を保 持する。これは、端末ノードでのデータフレーム構築のためにデータセルが使用 された際に解放されるバッファを含んでいる。このカウンタ38の最大カウント 値に達すると、カウンタ値はゼロに戻ってカウントを続ける。受信器要素14に より受信されたセルの総数は、バッファカウンタBuffer_Counter 32を送出力ウンタFwd_Counter38に加えることにより得ることが できる。後述する如く、送出力ウンタFwd_Counter38は、検査イベ ントの際、送信器要素12の誤りセルについての訂正に用いられる。第1実施例 において、送出力ウンタFwd_Counter38は28ビット幅である。 第2実施例において、DP18は受信カウンタRx_Counter40を保 持している。受信カウンタRx_Counter40は、下流側要素14に対応 するコネクション20を通してデータセルを受信する都度インクリメントされる カウンタである。このカウンタ40の値は、検査セルに応じて、及び、更新セル の生成において、直接使用することができる。これらの双方について更に後述す る。第2実施例において、受信カウンタRx_Counter40は、送出力ウ ンタFwd_Counter38と同様に28ビット幅である。 コネクションレベルフロー制御プロトコルには、定常状態条件に 加えて2つのイベントが存在する。すなわち、更新及び検査である。定常状態で は、データセルが送信器要素12から受信器要素14へ伝送される。更新モード では、送信器要素12のカウンタ値を訂正するため、受信器要素14によりバッ ファ占有情報が上流側へ返される。検査モードは、上流側送信器要素12と下流 側受信器要素14との間の伝送エラーに起因するセル損又はセル混入を検査する のに用いられる。 添付の図面において、コネクションレベルカウンタに「[i]」を付すことに より、存在する可能性かある複数のコネクションのうちの1つのコネクション[ i]との対応を示している。 図3に示す如く、全ての動作の前に、上流側要素12及び下流側要素14のカ ウンタは初期化される。初期化には、カウンタ値をゼロにすること、及び、Li nk_BS_Limit及びLink_Buffer_Limit等のリミット レジスタに初期値を付与することが含まれる。図3Aにおいて、Buffer_ Limit[i]は、(RTT*BW)+N2に初期化されている。この値は、 往復時間とバーチャルコネクション帯域幅との積に更新セルの処理における遅延 に適合するための値を加えたものである。Link_N2_Limitについて 、「X」はリンクに対するバッファ状態更新頻度を表しており、また、N2_L imit[i]について、「Y」は各コネクションに対するバッファ状態更新頻 度を表している。 定常状態動作において、送信器要素12のUP16は、どのバーチャルコネク ション(VC)20が、非ゼロセルカウント値を有しているか(すなわち、伝送 準備がなされたセルを有しているか)、BS_Limitよりも小さなBS_C ounter値を有しているか、及び、そのVCが次に送られるべきものである 旨の標識を有しているかを判定する(図3A及び図3B)。 UP16は、フロー制御が許可されている場合、データセルを各 コネクション20上に送信すると必ずBSカウンタBS_Counter22及 び送信カウンタTx_Counter26をインクリメントする(図4)。DP 18は、データセルを受信すると、バッファカウンタBuffer_Count er32がバッファリミットレジスタBuffer_Limit30以上である か否かを検査する。これは、データセルの受信に使用可能なバッファが存在する か否かの識別情報となる。Buffer_Counter≧Buffer_Li mitが成立するならば、データセルは廃棄される(図3B)。そうでなければ 、図4に示す如く、DP18はバッファカウンタBuffer_Counter 32及び受信カウンタ40をインクリメントし、データセルはバッファセル28 に置かれる。送信カウンタTx_Counter26及び受信カウンタRx_C ounter40はその最大値に達するとゼロに戻る。 フロー制御が許可されていなければ、開示する機能は実現されない。リンク上 のフロー制御を使用しないコネクションは、リンクフロー制御を使用するコネク ションと共存することができない。フロー制御されないコネクションからセルが 送信され、受信される場合には、フロー制御アカウンティングは用いられない。 このフロー制御アカウンティングは、コネクションレベルアカウンティング及び リンクレベルアカウンティングの双方を含む。これにより、フロー制御コネクシ ョンと非フロー制御コネクションとが同時に機能することができる。 データセルが受信器要素14から送出される際、バッファカウンタBuffe r_Counter32はデクリメントされる。コネクションレベルフロー制御 プロトコルが許可されているならば、BSリミットBS_Limit24が減少 されており、受信器要素14がバッファカウンタBuffer_Counter 32をバッファリミットレジスタBuffer_Limit30未満にするのに 十分な数の送出すべきセルを有している場合を除いて、バッファ カウンタBuffer_Counter32はバッファリミットレジスタBuf fer_Limit30を上回ってはならない。 バッファ状態更新は、受信器要素14がN2リミットN2_Limit34に 等しい数のデータセルを送出した場合に行われる。DP18が送出力ウンタFw d_Counter38を保持する第1実施例では、図6Aに示す如く、更新が 行われる場合、送出カウンタFwd_Counter38は更新セルにより受信 器要素14から送信器要素12へ返送される。下流側要素14に受信カウンタ4 0を用いる実施例では、図5Aに示す如く、受信カウンタRx_Counter 40の値からバッファカウンタBuffer_Counter32の値を減じた 値が更新セルに伝達される。2つの実施例に関して図7Aに示す如く、更新セル は送信器12において、BSカウンタBS_Counter22の値を更新する のに用いられる。BSカウンタBS_Counter22はバッファ割付け情報 とは独立なので、コネクションレベルフロー制御の上記側面の性能に影響を与え ることなく、バッファ割付けを変更することができる。 更新セルは限度付き遅延を保証するため割付け型帯域幅を要求する。この遅延 は、往復時間の構成部分として、各コネクションに対するバッファ割付けを決定 するために考慮されなければならない。 更新セルに割付けられた帯域幅の量は、対応する下流側送信器要素(図示せず )の最大更新カウンタ(図示せず)の関数である。このカウンタは更新セル及び 検査セルのスケジューリングを強制する。これについては、以下に説明する。最 大更新カウンタに対応して、下流側送信器要素には、更新セル間の空間を制御す る最小更新間隔カウンタ(図示せず)が存在する。通常のセルは、セル当たり7 つのレコードを有しており、最小更新間隔カウンタも同様に7に設定される。U P16は、セル時間当たり1つの更新レコードしか処理できないので、UP16 にて受信された満杯の更新セルについては、幾つかのレコードが脱落することに なる。 更新イベントは以下のように行われる(図1、図5A、及び図5Bを参照)。 下流側要素14がセルを送出(解放)すると、バッファカウンタBuffer_ Counter32はデクリメントされ、N2カウンタN2_Counter3 6及び送出力ウンタFwd_Counter38はインクリメントされる。N2 カウンタN2_Counter36がN2リミットN2_Limit34に等し い場合、DP18は、上流側要素12へ返送される更新セルを準備し、N2カウ ンタN2_Counter36はゼロにセットされる。上流側要素12はセルを 送出した下流側要素14から、コネクション識別情報を受信して、どのコネクシ ョン20が更新されるべきかを識別する。第1実施例において、DP18は送出 力ウンタFwd_Counter38値を更新レコードペイロードに挿入させる (図6A)。第2実施例において、DP18は、受信カウンタRx_Count er40値からバッファカウンタBuffer_Counter32値を減じた 値を更新レコードペイロードに挿入させる(図5A)。更新セルにレコードが満 杯に詰め込まれると、又は、最小帯域幅ペーシングインターバルに達すると、更 新セルは上流側要素12へ送信される。 上流側で受信されると、UP16は更新レコードからコネクション識別情報を 受け取って送信器コネクションを識別し、更新レコードから送出力ウンタFwd _Counter38値、又は、受信カウンタRx_Counter40値から バッファカウンタBuffer_Counter32値を減じた値を抽出する。 BSカウンタBS_Counter22は、送信カウンタ26から更新レコード 値を減じた値にリセットされる(図7A)。BSカウンタBS_Counter 22がBSリミットBS_Limit24以上であるためにこのコネクションが 送信を禁止されていたならば、この状態は反転される。この場合、コネクション は再び送信を許可される。 まとめると、更新イベントは、送信要素12に対して、送信要素 12から元々送信されたセルのうち幾つが受信要素14内のバッファから解放さ れたかの識別情報を付与し、これにより、送信要素12に対して、そのコネクシ ョン20に関する受信器要素14バッファ28の使用可能性を示すより正確な識 別情報を付与する。 バッファ状態検査イベントは2つの目的を果たす。すなわち、1)伝送エラーに 起因するセル損又はセル混入を計算し補償する機構を提供し、2)更新セルが失わ れた場合、又は、十分なデータセルが失われてN2リミットN2_Limit3 4に到達しない場合のフローの開始(又は再開)機構を提供する。 UPサブシステム16の1つのタイマー(図示せず)が全てのコネクションを 担当する。コネクションは、コネクションごとに、検査セルを上流側送信器要素 12から下流側受信器素子14へ送るべきか否かについて許可又は禁止されてい る。送信器要素12における検査プロセスは、全てのコネクション記述子を探索 して、検査が許可されたものを見出すことを含む(図8A及び図9Aを参照)。 最小ペーシングインターバル(検査インターバル)が経過すると、検査セルは受 信器要素14へ送出され、次の検査許可コネクションが識別される。同一のコネ クションに対する検査セルの間隔は、起動中のフロー制御コネクションの数と、 全てのコネクションについて指定されたセル間隔との積の関数である。検査セル は更新セルよりも高い優先度を有している。 検査イベントは以下のように行われる(図8Aから図8C及び図9Aから図9 Cを参照)。各送信要素12コネクション20は、計時された検査インターバル に達した後に検査される。コネクションのフロー制御が許可され、かつ、そのコ ネクションが有効ならば、検査イベントは受信器要素14への送信のためスケジ ュールされる。バッファ状態検査セルは、検査セルペイロード内の、そのコネク ション20に対する送信カウンタ26値を用いて生成され、対応するコネクショ ン記述子からのコネクション識別情報を用いて送信さ れる(図8A及び図9A)。 第1実施例において、誤りセルの計算は、受信器要素14において、送出力ウ ンタFwd_Counter38とバッファカウンタBuffer_Count er32との和をとり、その値を送信された検査セルレコードの内容、すなわち 、送信カウンタTx_Counter26の値から減じることにより行われる( 図9B)。送出力ウンタFwd_Counter38の値は、誤りセルカウント 値だけ増加される。そして、送出力ウンタFwd_Counter38の新たな 値を有する更新レコードが生成される。この更新された送出力ウンタFwd_C ounter38値は、続いて、送信器要素12のBSカウンタBS_Coun ter22値を更新する。 図8Bに示す第2実施例では、同じ機能は、受信カウンタRx_Counte r40値を検査セルペイロード値(送信カウンタTx_Counter26)に 等しい値にリセットすることにより実現される。続く更新レコードは、受信カウ ンタRx_Counter40とバッファカウンタBuffer_Counte r32との値の差を用いて確立される。 このように、検査イベントは、送信器要素12からコネクション20を通して 送信されたが、脱落し又は受信器要素14によって受信されないセルのアカウン ティングを可能とする。 送信器要素12は、データセルの受信に使用可能な受信器要素14のバッファ 数の最新アカウントを有しており、また、下流側での使用可能バッファ28の欠 乏によりデータセル伝送が何時停止されるべきかの識別情報を有しているので、 「無セル損」補償は、コネクションレベルにおけるバッファ状態アカウンティン グを用いて可能とされる。 上記したプロトコルに受信器要素バッファ共用機構を強化するため、リンクレ ベルバッファ状態アカウンティングとしても知られるリンクレベルフロー制御が コネクションレベルフロー制御に追加さ れる。かかるリンクレベルフロー制御を、コネクションレベルフロー制御を伴う ことなく実現することも可能である。しかしながら、コネクションレベルフロー 制御が無ければ、単一のコネクションが消費し得るバッファ数に制限がなくなる ので、これら2つを組み合わせることが好ましい。 以下の理由により、バッファ状態アカウンティングを、コネクションレベルに 加えてリンクレベルで実行することが望ましい。リンクレベルフロー制御は、コ ネクションレベルフロー制御により提供される「無セル損」補償を維持しつつ、 受信器要素におけるセルバッファ共用を可能とする。バッファ共用により、限ら れた数のバッファを最高の効率で使用することができる。全てのコネクションが 常に全てのバッファを要求するわけではないため、各コネクションに対して帯域 幅のRTT倍に等しい数のバッファが提供されるのではなく、より少数のバッフ ァが受信器要素14で利用可能とされる。 リンクレベルバッファ状態アカウンティングの更なる利点は、各コネクション に対して増加された反転帯域幅を必要とすることなく、下流側バッファの使用可 能性についてのより正確な表示が各コネクションに付与されることである。 リンクレベルフロー制御について、以下、図2を参照して説明する。なお、図 2において、図1と同様の要素には、同一の参照番号にダッシュを付して示して いる。図2においても、リンク10’には1つのバーチャルコネクション20’ のみが示されている。ただし、通常は、リンク10’は複数のバーチャルコネク ション20’を受け入れる。また、第1実施例では、リンク10’は物理的リン クであり、第2実施例では、複数のバーチャルコネクションの論理的群である。 上流側送信器要素12’(FSPPサブシステム)は、部分的には、交換機発 信側ポートプロセッサ(From Switch Port Processo r;FSPP)16’で示されるプロセッサを一部に含んでいる。FSPPプロセ ッサ16’は、2つのバッファ状態カウンタ、すなわち、BSカウンタBS_C ounter22’、及び、BSリミットBS_Limit24’を備えている 。これらのカウンタは、それぞれ、図1を参照して説明したコネクションごとの 機能と同一の機能を有している。 図2の実施例は、更に、上流側要素12’及び下流側要素14’に付加され、 リンクレベルバッファアカウンティングを可能とするリソースの集合を含んでい る。これらのリソースは、コネクションごとに用いられるものと同様の機能を有 しているが、リンクレベルで動作する。 例えば、リンクBSカウンタLink_BS_Counter50は、受信器 12’と送信器14’との間で伝送中のセルや受信器14’バッファ28’内に 格納されたセルを含む、FSPP16’と受信器要素14’の下流側の要素との 間を走行するセルを追跡する。コネクションレベルのバッファアカウンティング に関して説明した更新イベントの場合と同様に、リンクBSカウンタLink_ BS_Counter50はリンク更新イベントの間に、リンク送出力ウンタL ink_Fwd_Counter68値、又は、リンク受信カウンタLink_ Rx_Counter70とリンクバッフアカウンタLink_Buffer_ Counter62との差を、リンク送信カウンタLink_Tx_Count er54値から減じることにより変更される。第1実施例において、リンクレベ ルカウンタは、FSPP16’に対応付けられた外部RAMに実装されている。 リンクBSリミットLink_BS_Limit52は、フロー制御が許可さ れた全てのコネクション20間で共用されるべき、受信器要素14’の共用下流 側セルバッファ28’の数を制限する。第1実施例において、リンクBSカウン タLink_BS_Cou nter50及びリンクBSリミットLink_BS_Limit52は共に2 0ビット幅である。 リンク送信カウンタLink_Tx_Counter54は、リンク10’へ 送信される全てのセルを追跡する。このカウンタは、リンクレベル更新イベント の間に、リンクBSカウンタLink_BS_Counter50の新たな値を 計算するのに用いられる。第1実施例において、リンク送信カウンタLink_ Tx_Counter54は28ビット幅である。 下流側要素14’において、交換機着信側ポートプロセッサ(To Switch Port Processor;TSPP)18’もまた、図1及び図2に共通に示されるカウンタ と同様に、各リンク10’に対するカウンタの集合を管理している。TSPP1 8’は、更に、リンクバッファリミットレジスタBuffer_Limit60 を含んでいる。リンクバッファリミットレジスタBuffer_Limit60 は、下流側要素14’において、全てのコネクション10’が使用可能な受信器 14’のセルバッファ28’の最大数を示すことにより、上流側要素12’のリ ンクBSリミットLink_BS_Limit52と同様の機能を実行する。ほ とんどの場合、リンクBSリミットLink_BS_Limit52は、リンク バッファリミットレジスタBuffer_Limit60に等しい。使用可能な バッファ28’の数をリンク幅に基づいて上下に調整することの効果は、特定の コネクション20により使用可能なバッファ数28を調整することに関して上述 した効果と同じである。第1実施例において、リンクバッファリミットレジスタ Link_Buffer_Limit60は20ビット幅である。 リンクバッファカウンタLink_Buffer_Counter62は、全 てのコネクションによりデータセルの格納のため現在使用されている下流側要素 14’のバッファ数を示す。この値は、検査イベントにおいて、リンク送出力ウ ンタLink_Fwd_C ounter68(以下に説明する)を訂正するのに用いられる。 第1実施例において、リンクバッファカウンタLink_Buffer_Cou nter62は20ビット幅である。 第1実施例においてそれぞれ8ビット幅であるリンクN2リミットLink_ N2_Limit64及びリンクN2カウンタLink_N2_Counter 66は、リンク更新レコードを生成するのに用いられる。このリンク更新レコー ドは、コネクションレベル更新レコードと混合される。リンクN2リミットLi nk_N2_Limit64は、リンクレベル更新レコードの生成を起動するス レッシヨルド数を確立するのに用いられ(図5B及び図6B)、リンクN2カウ ンタLink_N2_Counter66及びリンク送出力ウンタLink_F wd_Counter68は、セルが受信器要素14’のバッファセルから解放 される都度インクリメントされる。第1実施例において、N2リミットN2_L imit34’及びリンクN2リミットLink_N2_Limit64は共に 、一度だけ初期設定される静的変数である。 しかしながら、本発明の更なる実施例において、各変数は、測定された帯域幅 に基づいて動的に調整可能である。例えば、前方リンク帯域幅が比較的高ければ 、リンクN2リミットLink_N2_Limit64は、リンクレベル更新レ コード伝送がより頻繁に行われるよう減少側に調整される。前方帯域幅への影響 は最小であると考えられる。前方帯域幅が比較的低ければ、下流側要素14’の バッファ28’の未知の使用可能性は重大ではなくなるので、リンクN2リミッ トLink_N2_Limit64を上昇させることができる。 リンク送出力ウンタLink_Fwd_Counter68は、対応するリン ク10’から到来して受信器要素14’のバッファセル28’から解放された全 てのセルを追跡する。第1実施例において、このカウンタは28ビット幅であり 、更新イベントにおいてリ ンクBSカウンタLink_BS_Counter50を再計算するのに用いら れる。 別の実施例において、リンク送出力ウンタLink_Fwd_Counter 68に代えてリンク受信カウンタLink_Rx_Counter70が用いら れる。この実施例において、リンク送出力ウンタLink_Fwd_Count er68もまた28ビット幅であり、リンク10’の全てのコネクション20’ を渡って受信されたセルの数を追跡する。 図2以降を参照して、受信器要素バッファ共用方法について説明する。図3B に示す如く、上流側要素12’内のFSPPによる下流側要素14’への通常の データ転送は、リンクBSカウンタLink_BS_Counter50がリン クBSリミットLink_BS_Limit52以下である限り、リンク10’ の全てのコネクション20’を介して行うことができる。この判別により、FS PP16’が、下流側要素14’で使用可能と判断されるデータセルよりも多量 のデータセルを送信することが防止される。この判断の正確さは、次に述べる更 新及び検査イベントにより維持される。 コネクションレベル及びリンクレベルの何れのバッファリミットレジスタBu ffer_Limit30をも越えていなければ、下流側要素14’においてデ ータセルが受信される(図3B)。リミット値を越えていれば、セルは廃棄され る。 図5B及び図6Bに示す如く、リンクレベルでの更新イベントにおいて、リン クN2カウンタLink_N2_Counter66の値がリンクN2リミット Link_N2_Limit64の値に達すると(等しくなるか又は上回ると) 、リンク更新レコードが生成される。第1実施例において、リンクN2リミット Link_N2_Limit64は40にセットされる。 図6Bの実施例ではリンク送出力ウンタLink_Fwd_Counter6 8から得られるリンク更新レコードは、FSPP1 6’に転送された更新セルにおいて、コネクションごとの更新レコード(送出力 ウンタFwd_Counter38’の値)と混合される。図5Bの実施例では 、リンク受信カウンタLink_Rx_Counter70の値からリンクバッ ファカウンタLink_Buffer_Counter62の値を減じた値が、 コネクションごとの更新レコードと混合される。上流側要素12’がリンク更新 レコードを有する更新セルを受信すると、上流側要素12’はリンクBSカウン タLink_BS_Counter50を、リンク送信カウンタLink_Tx _Counter54の値から更新レコードの値を減じた値にセットする(図7 B)。そして、上流側要素12’のリンクBSカウンタLink_BS_Cou nter50は、上流側要素12’により送信されたが下流側要素14において 未だ解放されていないデータセルの数を反映するようにリセットされる。 第1実施例において、更新レコードの転送は、各TSPPサブシステム14’ について対応するFSPPプロセッサ(図示せず)を設け、各FSPPサブシス テム12’について対応するTSPPプロセッサ(図示せず)を設けることによ り実現される。従って、サブシステム14’により上流側FSPPサブシステム 12’へ返送されるべき更新レコードが準備されると、TSPP18’は更新レ コードを対応するFSPP(図示せず)へ伝達する。セルは、対応するFSPP から、上流側FSPPサブシステム12’に対応するTSPP(図示せず)へ伝 達される。対応するTSPPは、受信した更新セルから更新レコードを取り出し 、そのレコードを上流側FSPPサブシステム12’へ伝達する。 リンクレベルの検査イベントでは、リンク送信カウンタLink_Tx_Co unter54値を有する検査セルが、FSPP16により、W個の検査セルご とに伝送される。第1実施例において、Wは4に等しい。図9Cの実施例では、 受信器要素14’において TSPP18’は、リンク送出力ウンタLink_Fwd_Counter68 値を、検査レコード値すなわちリンク送信カウンタLink_Tx_Count er54からリンクバッファカウンタLink_Buffer_Counter 62とリンク送出カウンタLink_Fwd_Counter68との和を減じ た値だけ増加させると共に、上述したコネクションレベルでの検査機能を実行す る。図8Cの実施例では、リンク受信カウンタLink_Rx_Counter 70は、検査レコードの内容(リンク送信カウンタLink_Tx_Count er54)に等しい値に変更される。これは、誤りセルをリンク幅に基づいて考 慮していることになる。そして、更新されたリンク送出力ウンタLink_Fw d_Counter68値又はリンク受信カウンタLink_Rx_Count er70値から得られた値を有する更新レコードが生成される(図8C及び図9 C)。 大きな伝送リンク故障が生じた場合に、リンク送出力ウンタLink_Fwd _Counter68値(図9C)又はリンク受信カウンタLink_Rx_C ounter70値(図8C)の値を迅速に再調整するため、コネクションレベ ルに加えてリンクレベルでの検査イベントを実行することが必要である。 再び図2に関して、1つのリンク上に100のコネクションを有する実施例に おける説明したカウンタの初期値の例を以下に示す。 BS_Limit (24’)=20 Buffer_Limit (30’)=20 N2_Limit (34’)=3 Link_BS_Limit (52)=1000 Link_Buffer_Limit(60)=1000 Link_N2_Counter (66)=40 コネクション及びリンクの双方について、BS_Limit値は Buffer_Limit値に等しい。BS_Limit24’及びBufff er_Limit30’は共に20に等しいが、Link_BS_Limit5 2及びLink_Buffer_Limit60に反映されているように、下流 側要素には1000個のバッファ28’しかない。これは、リンクレベルのフィ ードバックによりバッファプール共用が可能とされたためである。 必要ならば、Link_BS_Counter;Link_N2_Count er;及びLink_Buffer_Counterのインクリメントを中止し 、リンクレベル検査セル転送を禁止することにより、リンクレベルフロー制御を 禁止することができる。この場合、更新は行われない。 開示する発明を、更に、N2リミットN2_Limit34及びリンクN2リ ミットLink_N2_Limit64に関して上述したような動的バッファ割 付けスキームにより強化することができる。このスキームは、N2リミットN2 _Limit34及びリンクN2リミットLink_N2_Limit64に加 えて、BSリミットBS_Limit24、リンクBSリミットLink_BS _Limit52、バッファリミットBuffer_Limit30、及びリン クバッファリミットLink_Buffer_Limit60等のリミットパラ メータを動的に調整する機能を含んでいる。かかる調整は、一実施例では、個々 のコネクション又はリンク全体の測定された特性に応じて行われ、別の実施例で は、決定された優先度スキームに従って確立される。従って、動的バッファ割付 けによれば、制限されたバッファリソースが与えられた場合に、1又は2以上の コネクション又はリンクに優先度付けを行うことが可能となる。 リンクN2リミットLink_N2_Limitはバッファアカウンティング の所望の精度に応じて設定される。リンク幅に基づく場合、正確なバッファアカ ウンティングにより多数のコネクション 間でのより大きなバッファ共用が可能となるため、リンク内のコネクション数が 増加するにつれて、リンクN2リミットLink_N2_Limitを減少させ ることが望ましい。逆に、リンク内のコネクション数が減少すれば、比較的少数 のコネクション間での制限されたリソースの共用の重大性が減少するので、リン クN2リミットLink_N2_Limitを増加してもよい。 コネクションに対してして維持される最大帯域幅を変更するため、リンクごと の制限を調整するのに加えて、コネクションごとに制限を調整することが望まし い。 本願で開示される動的割付けスキームは、上述した性能目標に基づいて、リン ク操作の間に実行される。 本発明の第1実施例において、カウンタをインクリメントするロジックは全て FSPPプロセッサ16’内に配置されている。これに関して、ゼロにリセット され、リミット値までカウントアップするものとして説明したカウンタは、更な る実施例において、リミット値からスタートし、ゼロまでカウントダウンするも のとして実現されてもよい。送信器プロセッサ及び受信器プロセッサは、リミッ ト値を、各カウンタのスタート点であると解釈し、適当な事象が検出されるとデ クリメントする。例えば、バッファカウンタ(又はリンクバッファカウンタ)が デクリメントカウンタとして実現されるならば、データセルが受信器内のバッフ ァに割付けられる都度、カウンタはデクリメントされる。データセルがバッファ から解放されると、カウンタはデクリメントされる。このようにして、ゼロに達 したカウンタは、使用可能な全てのバッファが割付けられたことを表示する役割 を果たす。動的帯域幅割付けでは、リミット値の動的調整が非ゼロカウント値に おいて考慮されなければならないので、かかる実現方法を用いることは比較的困 難となる。 上記した無セル損、リンクレベルフロー制御手法の更なる改善には、下流側要 素14''に複数の共用セルバッファ28''を設けるこ とが含まれる。この場合、セルバッファ28''は、N−1個のスレッシヨルドレ ベル(スレッシヨルド(1)102、スレッシヨルド(2)104、スレッシヨ ルド(3)106)により、N個の優先度付きセルバッファサブセット(優先度 0 108a、優先度1 108b、優先度2 108c、及び優先度3 10 8d)に分割される。図10に、かかるセルバッファプール28''が示されてい る。図10には、優先度0から優先度4で示す4つの優先度が、スレッシヨルド (1)からスレッシヨルド(3)で示す3つのスレッシヨルドにより画定された 状態が示されている。この優先度付きバッファプールにより、低優先度のコネク ションを「餓え」させ、又は、リンク輻轢の期間中にセルを下流側に送信するの を防止しつつ、高優先度のコネクションに送信させることが可能となる。セル優 先度はコネクションごとに識別される。スレッシヨルドを確立する方針は、第1 の実施例ではセルトラヒックの予測モデルに従って決定され、別の実施例では動 的に調整される。かかる動的調整は、上流側送信要素において観察されたセルト ラヒックに応じて行われてもよく、あるいは、下流側要素の優先度付きバッファ プールにおいて観察された経験的セルトラヒックデータに従って行われてもよい 。例えば、動的スレッシヨルド調整を用いる一実施例において、かなり多量の優 先度0のトラヒックが検出された場合には、優先度0未満の優先度を有するデー タセルに対して使用可能なバッファ数を減少させ、又は、逆に、スレッシヨルド (3)を越えるバッファの数を増加させることか望ましい。 図10に示すセルバッファプール28''は、上記したリンクレベルフロー制御 上流側要素12’の変更バージョン12''に鑑みて得られたものである。プール 28''は対応する下流側要素14''内に存在している。図11に示す変更された 上流側要素12''は、上記の如く、リンクBSカウンタLink_BS_Cou nter50''及びリンクBSリミットLink_BS_Limit52''と 対応付けてして確立された少なくとも1つのリンクBSスレッシヨルド(n)1 00、102、104を有しており、下流側要素14''のセルバッファブール2 8''を特徴付けている。これらリンクBSスレッシヨルド102、104、10 6は、所与の優先度のセルへ割付け可能なプール28''内のセルバッファ数を画 定している。ここで、優先度は、各コネクション20''について、BSカウンタ BS_Counter22''及びBSリミットBS_Limit24''レジスタ に対応付けられたレジスタ108により識別される。図11に示す優先度108 a、108b、108、108dは、最高の優先度0から優先度3として識別さ れる。輻輳が存在しない場合、このことはリンクBSカウンタLink_BS_ Counter50''が図10及び図11のリンクBSスレッシヨルド(1)未 満となることにより反映され、任意の優先度のフロー制御コネクションを送信す ることができる。輻輳が生じた場合、このことは、リンクBSカウンタLink _BSCounter50''の値の増加により示され、低い優先度のコネクショ ンの下流側バッファへのアクセスが拒否され、事実上それらのセルの送信は禁止 される。重度の輻輳の場合には、最高優先度のセルのみが送信を許可される。例 えば、再び図10に関して、リンクレベルBSスレッシヨルド(3)106が下 流側に達しているならば、優先度0 108aのセルのみが上流側要素12''か ら下流側要素14''への送信を許可される。従って、高い優先度のコネクション ほど、共用下流側バッファプールへ優先的にアクセスできるので、網の状態の影 響を受け難い。ただし、コネクションレベルのフロー制御は、そのコネクション が意図されたパスが重度に輻輳しているならば、高優先度コネクションの送信を 禁止し得ることに留意されたい。 上述の如く、リンクBSカウンタLink_BS_Counter50''は、 下流側要素14''から上流側要素12''へ送信されたリンクレベル更新レコード 内に収容された値に基づいて周期的に更 新される。この周期的更新は、本発明の優先度付きバッファアクセスの正確な機 能を保証するために必要とされる。スレッシヨルドレベル102、104、10 6が動的に変更される本発明の一実施例において、FSPP16''は、上流側送 信器要素で受信されたセルに対応付けられた優先度を追跡する結果として、又は 、下流側受信器要素のバッファの観察された使用量に基づいて、セルバッファ2 8''の状態の正確な記録を有していなければならない。 複数の優先度レベルにより、単一のサービス品質内で、遅延限度の面で種々の カテゴリーのサービスを提供することが可能となる。各サービス品質内で、共用 バッファへの最高優先度は、典型的にはコネクション/網管理トラヒックに与え られる。コネクション/網管理トラヒックであることはセルヘッダにより識別さ れる。2番目に高い優先度は、低帯域幅、小バーストのコネクションに与えられ 、3番目に高い優先度は、バースト的なトラヒックに与えられる。上述の如く割 付けられた優先度付けによれば、サービスカテゴリーのうち任意のカテゴリー内 における輻輳によって、コネクション/管理トラヒックが最低のセル遅延を有す ることが妨げられることはない。 図11に示す上流側要素12''の初期化処理が図12Aに示されている。重要 なのは、図3Aに示す上流側要素12''と同一のカウンタ及びレジスタは、リン クBSスレッシヨルド102、104、106値がそれぞれのバッファ値Tに初 期化される点を除いて、共用バッファリソースへの優先度付きアクセスを許可し ないように設定されることである。上述の如く、これらのスレッシヨルドバッフ ァ値を予め設定して静的にすることができ、あるいは、経験的バッファ利用状態 に基づいて動的に調整することもできる。 図12Bは、セルを上流側要素12''から下流側要素14''へ送出する前に行 われる、図3Bに示す処理と同じ多数の判別処理を示す。ただし、共用バッファ リソースへの優先度付きアクセスを提供 するための判別処理が付加されている点で図3Bの場合とは異なっている。FS PP16''は、転送されるべきセルに対応付けられた優先度値108を用いて、 セルの下流側要素14''への転送が禁止されるスレッシヨルド値102、104 、106の値を決定する。そして、リンクBSカウンタLink_BS_Cou nter50''値が適当なスレッシヨルド値102、104、106以上である か否かが判別される。肯定判別されれば、データセルは送信されない。否定判別 されれば、上述の如く、セルは送信され、コネクションレベルの輻轢判別が実行 される。 別の実施例では、4より多くの又は少ない優先度が、適当な数のスレッシヨル ドにより実現される。ただし、優先度の最小数は2であり、これに対応するスレ ッシヨルドの最小数は1である。一般に、N優先度に対して、N−1のスレッシ ヨルドが存在する。 更に別の実施例では、フロー制御はリンクレベルにおいてのみ行われ、コネク ションレベルでは行われない。ただし、各コネクションについて、図11に示す 優先度フィールド108に類似した何らかの形の優先度標識を設けることか必要 である。 更に別の実施例では、上記したリンクレベルフロー制御プロトコルを、無セル 損と共にコネクションごとの保証最小セルレートが可能となるように、更に強化 することができる。この最小セルレートを、保証帯域幅とも称する。この最小割 付けレート未満でのコネクションのフロー制御を、そのコネクションに対応付け られた受信器要素によってのみではあるが行うことができる。従って、1つのコ ネクションの最小レートが他のコネクション内での輻輳によって影響されること はない。 FSPP116に対応する上流側要素に存在するセルが、上流側要素から割付 け型帯域幅を用いて送信されるべきか、又は、動的帯域幅を用いて送信されるべ きかにより識別されることは、開示する機構の要求である。例えば、割付け型帯 域幅を要求するセルを示す のに、セルを「優先」と名付けられたリストに対応するキューに設けてもよい。 同様に、動的帯域輻を要求するセルを示すのに、セルを「動的」と名付けられた リストに対応するキューに設けてもよい。 フレームリレー設定において、本機構は動的及び割付け型帯域幅の双方の監視 及び制限を行うのに用いられる。インターネットトラヒックのみを伴う設定では 、機構の動的部分のみが意味を持つ。CBRフローのみを伴う設定では、機構の 割付け部分のみが用いられる。従って、開示する方法及び装置によれば、全ての 割付け型帯域幅を要求するコネクションから全ての動的帯域幅を要求するコネク ションまで、及びその中間のコネクションを含む混合されたスケジューリングコ ネクションの使用の最大化が可能となる。 本機構において、図2のプール28’に類似の下流側セルバッファプール12 8は、割付け部分300と動的部分301とに論理的に分割されている。これに より、割付け型帯域幅を受け取るべきと識別されたセルは、割付け部分300に バッファされ、動的帯域幅を受け取るべきと識別されたセルは動的部分301に バッファされる。図13Aには、2つの部分300、301が別個の存在として 示されているが、割付け部分は物理的に別個のメモリブロックではなく、プール 128の何処かに配置されたセルバッファの数を表している。 更なる実施例において、開示する最小帯域幅を保証する機構は、図10及び図 11に関連して説明したように、下流側バッファへの優先度付きアクセスを提供 する機構に適用可能である。図13Bに関して、下流側バッファプール228は 割付け部分302と動的部分208とに論理的に分割されている。動的部分20 8は、スレッシヨルドレベル22、204、206により優先度付きセルバッフ ァサブセット208a〜dに論理的に部分分割されている。図13Aの場合と同 様に、バッファプール228の分割は論理的な分割であって物理的な分割ではな い。 この保証最小帯域幅機構を実現するのに必要とされる要素が図14に示されて いる。図14において、図2及び図11と同様の要素には同じ参照番号に100 又は200を加えた番号を付している。下流側要素に新たな構成要素は追加され ていないことに留意されたい。すなわち、この最小帯域保証機構は下流側要素に とって透明である。 フロープロトコルの新たな側面が、コネクション及びリンクの両レベルで見ら れる。先ず、コネクションレベルの追加及び変更に関して、D_BSカウンタD _BS_Counter122は、受信器114へ下流側に送信された動的帯域 幅を用いてスケジュールされたセルの数を追跡することにより、リソース消費を 明示する。このカウンタは、基本的には、図2のBSカウンタBS_Count er22’と同一の機能を有している。ただし、BS_カウンタ22では、割付 け型及び動的スケジュール化セルトラヒックは区別されていなかった。同様に、 送信器112からのセルを格納するのに使用可能な下流側バッファの数を制限す るのに用いられるD_BSリミットD_BS_Limit124は、図2のBS リミットBS_Limit24’に対応する機能を有している。リンクレベルフ ロー制御に関して上述したように、動的帯域幅を静的に共用することができる。 動的セルトラヒックにより使用可能なバッファの実際の数を過剰に割付けること ができる。コネクションに付与されるバッファの量「D」はRTTと動的帯域幅 との積にN2を加えた値に等しい。 A_BSカウンタA_BS_Counter222及びA_BSリミットA_ BS_Limit224もまた、送信された数と使用可能なバッファのリミット 値とを比較することにより、コネクションが送信し得るセルの数をそれぞれ追跡 及び制限する。しかしながら、これらの値は、割付け型セルにのみ適用される。 割付け型セルは、送信のために割付け型帯域幅(保証最小帯域幅)を要求するも のと識別されたセルである。リミット情報はコネクション初期化時間に設定され 、保証最小帯域幅の変化に応じて増加又は減少され得る。コネクションが割付け 構成部分を有していないならば、A_BSリミットA_BS_Limit224 はゼロになる。A_BSカウンタA_BS_Counter222、及び、A_ BSリミットA_BS_Limit224は、上記したD_BSカウンタD_B S_Counter122、及び、D_BSリミットD_BS_Limit12 4に追加して設けられる。コネクションに割振られるバッファの量「A」はRT Tと動的帯域幅との積にN2を加えた値に等しい。割付け型トラヒックに割振ら れる実際のバッファ数を過剰に割付けることはできない。これにより、他のコネ クションでの輻轢が保証最小帯域幅に影響しないことが保証される。 コネクションがセルにエンキューされたが、A_BSカウンタBS_Coun ter222及びA_BSカウンタBS_Counter224によりA個のバ ッファを有していないことが示されると、そのコネクションは、対応する上流側 交換機により割付けられた帯域幅を失い又は帯域幅が不足する。コネクションが その割付けレート未満でフロー制御されるならば、そのコネクションは、輻輳状 態が緩和するまで、交換機内で割付け領域の一部を失うことになる。これは、同 一コネクション上の最小保証レートをそれぞれ有する複数のソースが、ソースレ ートの和よりも小さな単一の出口点で合流するマルチポイントツーマルチポイン ト(M2P)交換機の場合に生ずる。送信器要素が交換機フロー制御機能を有す る交換機の一部である開示する機構の一実施例において、更なるA個のバッファ 状態を有しない状態になると、そのコネクションの更なる割付け型セルトラヒッ クの交換機内伝送が禁止される。 コネクションごとのバッファの返還方針は、先ず、A_BSカウンタBS_C ounter222がゼロに等しくなるまでバッファを割付けプールに返すとい うものである。次に、D_BSカウンタ D_BS_Counter122を減少させながら、バッファを動的プールに返 す。 コネクションレベルフロー制御及び優先度付きアクセスに関して上述したよう に、送信カウンタ126及び優先度208が設けられる。 リンクレベルでは、コネクションごとに保証最小セルレートを可能とするため 、以下の要素が追加される。リンクA_BSカウンタLink_A_BS_Co unter250がFSPP116に追加される。このカウンタは、割付け型帯 域幅を要求するものと識別された、TSPP118セルバッファ128、228 内のセルを含めてFSPP116と下流側交換機本体との間を「走行する」全て のセルを追跡する。コネクションレベル更新機能(続いて説明する)が実行され ると、カウンタ250は各コネクションについてA_BSカウンタと同じ量だけ 減少される。 リンクBSリミットLink_BS_Limit152は、割付け型バッファ を含まない動的セルのみが使用可能なバッファ総数を反映する。しかし、リンク BSカウンタLink_BS_Counter150は送信された割付け型及び 動的セルの総数を反映する。従って、リンクBSカウンタLink_BS_Co unter150(バッファされ又は下流側交換機本体内にある全ての走行中の セル)がリンクBSリミットLink_BS_Limit152(使用可能な動 的バッファの最大数)よりも大きい場合、コネクションはその動的帯域幅を使用 することはできない。このことは、輻輳が割付け型帯域幅に影響しないことを保 証するために必要である。一実施例において、コネクションレベルの更新が古く なる(すなわち頻度が低下する)可能性を排除するため、各A_BSリミットA −BS_Limit224値の和、すなわち、コネクションごとに割り付けられ たセルバッファ空間300、302の総和は、実際に割振られる割付け型セルよ りも少ない。 開示する割付け/動的フロー制御機構においても更新及び検査イベントが実現 される。下流側要素114は、優先リスト及びVBR優先度0リストが空になり 、更新キューが満杯になった場合、又は、最大更新インターバル(図示せず)に 達した場合に、コネクションレベル更新セルを送信する。 上流側端末112において、適切なキューを特定するため更新セルが分析され る。FSPP116は、そのキューに対するA_BSカウンタA_BS_Cou nter222、及び、D_BSカウンタD_BS_Counter122を調 整する。この場合、FSPP116は割付け型及び動的バッファを区別できない ので、上述の如く、セルバッファを先ずA個まで返し、次いでD個まで返す。各 コネクションに返されたバッファの数AはリンクA_BSカウンタLink_A _BS_Counter250から減じられる。 リンクレベルフロー制御において上述したのと同様の機能を有するリンク送信 カウンタ154等の他のリンクレベル要素が、最小保証帯域幅機構に関連して用 いられる。また、上述の如く、本機構の更なる実施例は、スレッシヨルド202 、204、206を用いた下流側バッファリソース228への優先度付きアクセ スを導入したリンクレベルフロー制御と共に機能する。これらの要素の機能は上 述した。 以下、本発明に係るフロー制御リンクでの典型的な初期化の一例を示す。 下流側要素は3000個のバッファを有し; リンクは短経路であり、従ってRTT*帯域幅は1つのセルに等しく; 100個の割付けコネクションがそれぞれ7(A)個のバッファを要求して計 700個のバッファを消費し; 3000−700=2300(D)個のバッファが512個のコネクションで 共用され; リンクBSリミット=2300である。 D_BS_Counter≧D_BS_Counterならば、キューが、送 信準備がなされたセルを有する旨を示すことが防止される。上流側要素が複合帯 域幅を有する交換機である上記の実施例において、かかる状況は、キューが動的 リストから除去され、 キューが動的帯域幅を用いて送信されることが防止されることにより生ずる。 割付け型セルについては、各セルがエンキューされた際に、そのセルと、他の エンキューされたセルと、A_BS_Counterとの和がA_BS_Lim itより大きな数であるか否かが判別される。否定判別されたならば、セルはエ ンキューされ、そのキューは優先リストに加えられる。肯定判別されたならば、 コネクションが上流側要素12交換機本体を通して更なるセルを送信することが 禁止される。 図15Aは、図14に示す上流側要素112の初期化処理を示す。基本的には 、図3Aの上流側要素12’(共用バッファリソースへの優先度付きアクセスが 許可されない場合)及び図12Aの上流側要素12''(優先度付きアクセスが許 可された場合)のカウンタ及びレジスタセットと同じである。ただし、リンクA _BSカウンタLink_A_BS_Counter250がゼロに初期化され ;コネクションレベル割付け型及び動的BSカウンタ122、222がゼロにセ ットされ;コネクションレベル割付け型及び動的BS_リミット124、224 がそれぞれNA及びNBにセットされる点が例外である。同様に、コネクションレ ベルでの下流側端末において、割付け型及び動的バッファリミットBuffer _Limit及びバッファカウンタBuffer_Counterは、バッファ リミットBuffer_Limitが、各トラヒックタイプの帯域幅値を有する ように設定される(すなわち、BWA=割付け型セル帯域幅、BWD=動的セル帯 域幅とされる)ようにセットされる。。 更に、送信されるべき各セルは、交換機本体から受信される際に、割付け型セル 又は動的帯域幅を要求するものとして識別される。 図15Bは、セルを上流側要素112から下流側要素114へ伝送する前に行 われる、図3B及び図12Bに示す判別処理と同じ多数の判別処理を示す。ただ し、コネクションごとのバッファ状態の過剰割付けは動的トラヒックについての み検査され、Link_A_BS_CounterをLink_BS_Coun terから減じて、その結果をLink_BS_Limitと比較することによ り行われる点で相違している。リンク幅ベースの過剰割付けは、Link_BS _Counter(割付け型及び動的セルトラヒックの双方を追跡する)及びL ink_A_BS_Counterの和と、Link_BS_Limitとの比 較により計算される。同様に、下流側要素における過剰割付けは、コネクション レベルで、割付け型及び動的トラヒックの双方について検査される。上述の如く 、保証最小帯域幅を提供する機構は、優先度付きアクセス機構と共に用いること もでき、あるいは、優先度付きアクセス機構を伴わずに用いることもできるが、 図15A及び図15Bには、完全のため、後者の側面を示している。 上述の如く、当該技術分野で公知のコネクションレベルフロー制御は、個々の コネクションについての別個の制御に依存している。特に、送信要素及び受信要 素等の網要素間において、制御は送信器キューから受信器キューへ向けて行われ る。このため、送信器要素の単一のキューQAが、単一の受信器プロセッサに対 応付けられた4つのキューQW、QX、QY、及びQZに対するデータセルのソース である図16に示す状況においてさえ、従来の技術は、かかる状況を取り扱う機 構を提供しない。 図16において、送信器要素10は、対応付けられたFSPP11を有するF SPP要素内に設けられている。受信器要素12は、対応付けられたTSPP1 3を有するTSPP要素内に設けられて いる。図16で用いられるFSPP11及びTSPP13は、コネクションレベ ルフロー制御機構に加えて、リンクレベルフロー制御、共用下流側バッファへの 優先度付きアクセス、及びコネクションレベルでの保証最小セルレートなど上記 した機能と同一のプログラム可能な機能を選択的に提供する。これらの強化機能 の1又は2以上がコネクションレベルフロー制御と共に用いられるか否かは、シ ステム設計者の選択に任される。 本発明に係るFSPP及びTSPPにより提供される更に別の機能は、コネク ションレベルフロー制御のために受信器キューの群を統一的に取り扱う機能であ る。図16では、4つの並列コネクションを用いるかわりに、本発明の機構はリ ンク14内の1つのコネクション16を用いる。コネクション16は4つのキュ ーQW、QX、QY、及びQZで末端となるが、コネクションレベルフロー制御のた め、これら4つのキューは本質的に単一の結合体として取り扱われる。このこと は、N2が10又はそれ以下の小さな値に設定された場合、一部の網要素がフロ ー制御サービスの使用を必要とするが更新セル処理帯域幅を扱うことができない ために必要とされる(コネクションレベルフロー制御についての上記説明を参照 )。多数のコネクションに対してN2を30等の大きな値に設定すると、多量の 下流側バッファが必要となる。これは、低頻度の更新イベントのために、バッフ ァが使用中でないのに上流側には使用中と見なされるバッファ遺棄(buffer orp haning)によるものである。この機構は、また、フロー制御をバーチャルパスコ ネクション(VPC)に適用する場合に、VPC内のバーチャルチャネルコネク ション(VCC)を終了させるのにも有用である。 受信器キューをグループ化するこの機能は、各受信器キューQW、QX、QY、 及びQZに対応付けられたキュー記述子を操作することにより得られる。図17 を参照するに、受信器のキューに対するキュー記述子が示されている。図示する 如く、キューQW、QX、 及びQYに対する記述子は左側に設けられており、ほぼ同一の特性を有している 。本開示に係る第1のフィールドの1つは符号Jが付されたビットである。この ビットは、セットされると、対応付けられたキューが受信器のジョイントコネク ションの一部として扱われることを示す。群内の各キューの各キュー記述子に全 てのコネクションレベルフロー制御情報を保持する代わりに、特定のフロー制御 要素を、群のキュー記述子の1つにのみ保持している。図示する場合において、 この1つのキューはキューQZである。 キューQW、QX、及びQYに対する記述子の各々において、「ジョイント数」 フィールドは、キューQZに対する記述子内のフロー制御要素の集合へのオフセ ットすなわちポインタとなる。このポインタフィールドは、Jビットがセットさ れていない場合には、別の機能を果たしてもよい。バッファリミットレジスタ( 図17に符号Buff_Limitを付して示す)及びN2リミットN2_Li mitは、各記述子内に局所的に保持される。また、群内の全てのキューに対す るジョイントバッファカウンタ(Jt_Buff_cntr)、ジョイントN2 カウンタ(Jt_N2_Cntr)、及び、ジョイント送出力ウンタ(Jt_F wd_Cntr)は、キューQZに対する記述子内に保持される。キューQW、QX 、及びQYに対する記述子内の同じカウンタは使用されない。ジョイントカウン タは、図2に示すコネクションレベルでの機能等、個々のカウンタと同一の機能 を実行するが、個々のキューに対応して行われる動作により適宜インクリメント 又はデクリメントされる。従って、例えば、キュー群の何れかのキューに対応す るバッファセルがデータセルを受信し、又はデータセルを解放すると、ジョイン トバッファカウンタは更新される。同様のことが、ジョイントN2カウンタ及び ジョイント送出カウンタについてもあてはまる。上述したフロー制御機構の別の 実施例では、各送出カウンタは受信カウンタに置き換えられる。同様に、本開示 の機構の別の実施例では、 キュー群が何処に保持されるかに応じて、ジョイント送出カウンタはジョイント 受信カウンタに置き換えられる。送出カウンタ及びジョイント送出カウンタを含 む実施例のみが例示されている。 キューごとの全ての記述子要素が、共通記述子の機能によって取って代わられ るわけではない。バッファリミット(図17に符号Buff_Limitを付し て示す)はセットされ、キューごとに参照される。従って、ジョイントバッファ カウンタは各キューのバッファリミットレジスタと比較される。また、バッファ リミットをジョイントバッファリミットとして、個々のリミット値を保持する代 わりに共通のリミット値を保持するものとすることもできる。 方針は、単一のジョイントバッファカウンタに対応付けられた全てのTSPPキ ューに同一のバッファリミットを設定することである。 上述の如く、更新イベントは、ジョイントN2カウンタがキューレベルN2リ ミットに達した際に起動される。方針は、単一のジョイントフロー制御コネクシ ョンに対応付けられた全てのキューに対する全てのN2リミットを同一の値にセ ットすることである。 コネクションの検査セルが受信されると、受信キューに対応付けられた受信カ ウンタの変更を試みる結果、ジョイント受信カウンタが変更される。従って、ジ ョイント数により得られる間接レベルはデータセル及び検査セルの双方に適用可 能である。 送信器要素10において、1組の上流側フロー制御要素のみが保持される。コ ネクション設立時間において、上流側要素に関する限り、ジョイントコネクショ ンは単一ポイントツーポイントコネクションとして設立される。従って、図16 の実施例において、上流側要素の4つの組を保持する代わりに、本開示の機構は 要素の1つの組(上述した機能をそれぞれ有する送信カウンタ、BSカウンタ、 BSリミット)を必要とするのみである。 ジョイントフロー制御体が確立されると、付加的なコネクションに対する他の TSPPキューが追加される。これを行うため、新た なキューの各々は同一のN2リミット値及びバッファリミット値を有していなけ ればならない。付加的コネクションに対するキューは共通のジョイントN2カウ ンタ、及び、ジョイント送出カウンタ又はジョイント受信カウンタの何れかを参 照することになる。 上述の如く、J=1の場合、ジョイント番号(Joint Number)フ ィールドは群記述子へのオフセットとして用いられる。キューQZに対する記述 子に関して図17に示す如く、群記述子のジョイント番号は自分自身を指してい る。このことは、ポイントツーポイントコネクション(図16に示す如く、VP CツーVCCではなくVCCツーVCC)の場合にも当てはまる。この場合、各 ジョイント番号は自分自身の記述子を指す。このように、ポイントツーポイント 及び説明したポイントツーマルチポイントコネクションの実現は簡単化されてい る。 本発明の好ましい実施例について説明したが、当業者には本概念を用いた他の 実施例が明らかであろう。上記した本発明の例は単なる例示であって、本発明の 実際の範囲は以下の請求の範囲によって定められるべきである。DETAILED DESCRIPTION OF THE INVENTION Prioritized access to shared buffers Field of the invention The present application relates to a communication method and apparatus in a distributed switching architecture, and more particularly to a method and apparatus for performing prioritized access to a shared buffer resource in a flow control virtual connection. Background of the Invention Flow control virtual connection (FCVC) protocols used in a distributed switching architecture are currently known in the art and are described below with reference to FIG. This protocol communicates the state (buffer allocation and current state) of each connection, such as virtual channel connection and virtual path connection, between upstream and downstream network elements in order to provide "cell-free" guarantee. I need. A cell is a unit of data to be transmitted. Each cell needs a buffer to be stored. Currently known flow control mechanisms can also be applied to connection-level flow control between a plurality of connections each having equal access to the shared buffer pool of the receiver. Regardless of the time sensitivity of one or more data cell sequences, no buffer allocation is distinguished within a service category. Summary of the Invention In a link-level flow control system, a function is provided for partitioning buffer resources shared by a plurality of connections into a plurality of priority buffer subsets defined by at least one threshold. Thus, different categories of service levels are possible in terms of delay limits. The link level flow control system according to the present invention reduces a cell flow from a transmitter element to a receiver element based on a link level counter and a register in a transmitter element updated by feedback information from the receiver element. , Realizes no cell loss. A link can be defined as a physical link or as a logical group of logical connections. Access to the partitioned buffer subsets is based on the priority assigned to each subset and the priority associated with each connection having cells to be buffered. The buffer subset is defined by at least one threshold. In one embodiment, the threshold is dynamically adjustable. Link level counters and registers in the transmitter element maintain threshold levels, monitor buffer pool utilization of the receiver element, and control cell traffic from the transmitter element to the receiver element. As in the case of link level flow control, feedback is provided from the receiver element reflecting the current state of the shared buffer resource. BRIEF DESCRIPTION OF THE FIGURES The above and further advantages will be more fully understood with reference to the following description and the accompanying drawings. FIG. 1 is a block diagram of a connection level flow control device known in the art. FIG. 2 is a block diagram of the link level flow control device according to the present invention. 3A and 3B are flowcharts illustrating counter initialization and preparation for cell transmission in the flow control method according to the present invention. FIG. 4 is a flowchart showing cell transmission in the flow control method according to the present invention. 5A and 5B are flowcharts illustrating preparation and transmission of an update cell in the flow control method according to the present invention. 6A and 6B are flowcharts illustrating another embodiment different from the preparation and transmission of the update cell in FIGS. 5A and 5B. 7A and 7B are flowcharts showing reception of an updated cell in the flow control method according to the present invention. 8A, 8B, and 8C are flowcharts illustrating the preparation, transmission, and reception of a test cell in the flow control method according to the present invention. 9A, 9B, and 9C are flow diagrams illustrating another embodiment of the preparation, transmission, and reception of the test cells of FIGS. 8A, 8B, and 8C. FIG. 10 shows a state in which the cell buffer pool according to the present invention is viewed from an upstream element. FIG. 11 is a block diagram of a link level flow control device of an upstream element that provides prioritized access to a shared buffer resource of a downstream element according to the present invention. FIGS. 12A and 12B are flowcharts showing initialization and preparation of a counter for cell transmission in the priority access method according to the present invention. 13A and 13B show another embodiment of the cell buffer pool according to the present invention as viewed from an upstream element. FIG. 14 is a block diagram of an upstream element flow control device that provides guaranteed minimum bandwidth and prioritized access to shared buffer resources for downstream elements according to the present invention. 15A and 15B are flowcharts illustrating counter initialization and preparation for cell transmission in the guaranteed minimum bandwidth mechanism using priority access according to the present invention. FIG. 16 is a block diagram illustrating a transmitter, a data link, and a receiver in which the disclosed joint flow control mechanism is implemented. FIG. 17 shows a data structure associated with the queue of the receiver of FIG. Detailed description FIG. 1 shows resources required for connection level flow control. As mentioned above, the configuration shown in FIG. 1 is currently known in the art. However, a brief description of the connection level flow control configuration will facilitate the description of the link level flow control method and apparatus disclosed herein. As shown, one link 10 provides an interface between an upstream transmitter element 12, also known as an UP subsystem, and a downstream receiver element 14, also known as a DP subsystem. Each element 12, 14 can operate as a switch between other network elements. For example, the upstream element 12 of FIG. 1 can receive data from a PC (not shown). This data is communicated via link 10 to downstream element 14. The downstream element 14 sends the data to a device such as a printer (not shown). Alternatively, the illustrated network elements 12, 14 themselves may be network terminal nodes. An important function of the arrangement disclosed herein is to transfer data cells from the upstream element 12 via the connection 20 in the link 10 to the downstream element 14 where the data cells are transferred to the cell buffer 28. Is to keep it temporarily. The cell format is known, and is referred to as “quantum flow control” (1st. 5. 1 edition, Issued June 27, 1995), and It is subsequently described in a new edition published by the Flow Control Consortium. In FIG. The block marked cell buffer 28 It represents a set of cell buffers allocated to each connection 20. The data cell is By sending to another link beyond the downstream element 14, Or With the use of cells in the downstream element 14, It is released from the buffer 28. If the downstream element 14 is a terminal node such as a workstation, Cell utilization in the downstream element 14 This may include building a data frame from individual data cells. Each of the upstream element 12 and the downstream element 14 The processor is controlled by UP (upstream processor) 16 and DP (downstream processor) 18. Processor 16, In each of the 18 A set of buffer counters for realizing connection level flow control is associated. These buffer counters Respectively, It is implemented as a rising counter / limit register set that is set to facilitate changes in resource usage. The counter of FIG. 1 described in detail below In the first embodiment, It is implemented in the UP internal RAM. Some of the counter names described and illustrated for the prior art include: The same counter names used for the flow control method and apparatus disclosed in this application are used. This means simply, It merely indicates that there is a similar function or element in the prior art to the newly disclosed elements such as counters and registers. In the first embodiment, inside the link 10 which is a copper conductor, A plurality of virtual connections 20 are provided. In another embodiment, The link 10 is a logical group of a plurality of virtual connections 20. The number of connections 20 realized inside the link 10 is Each network element 12, together with the bandwidth required per connection, Depends on 14 requirements. In FIG. For simplicity, Only one connection 20 and the corresponding counter are shown. First, With respect to the upstream element 12 of FIG. Two buffer state controllers, That is, A BS counter BS_Counter22 and a BS limit BS_Limit24 are provided. In the first embodiment, Each is Implemented as a 14-bit counter / register, 16, Connection to 383 buffers is possible. This number is For example, 139Mbps, 10, It supports 000km round trip service. Buffer status counter 22, 24 is It is used only when the flow control of the corresponding connection 20 is permitted. That is, One bit of each connection descriptor or queue descriptor of UP16 is This is set to indicate that the flow control of the connection 20 has been permitted. The BS counter BS_Counter22 is Each time a data cell is transferred from the upstream element 12 through the corresponding connection 20, Incremented by UP16. As described below, This counter 22 It is adjusted periodically during the updating process based on the information received from the downstream element 14. Therefore, The BS counter BS_Counter22 is Whether the connection 20 between the upstream element 12 and the downstream element 14 is currently being transmitted, Or It will indicate the number of data cells that have not yet been released from the buffer 28 of the downstream element 14. BS limit BS_Limit24 is At connection establishment time, The setting is made to reflect the number of buffers 28 available in the receiver 14 for this connection 20. For example, A BS counter BS_Counter 22 for this connection 20 indicates that 20 data cells have been transmitted, If the BS limit BS_Limit 24 indicates that this connection 20 is limited to 20 receiver buffers 28, UP16 is Until further buffer space 28 is notified by downstream element 14 that connection 20 is available for connection 20 Further transmission from the upstream element 12 will be prohibited. The transmission counter Tx_Counter 26 is It is used to count the total number of data cells transmitted by UP 16 through this connection 20. In the first embodiment, This counter is It is a 28-bit counter that circulates at 0xFFFFFFFF. As described below, The transmission counter Tx_Counter 26 is At the time of the inspection event, It is used to consider the error cell for this connection 20. In the downstream element 14, DP18 also A counter set is managed for each connection 20. The buffer limit register Buffer_Limit30 is In the downstream element 14, Perform administrative functions to protect against unauthorized transmitters. In particular, The buffer limit register Buffer_Limit30 is The maximum number of cell buffers 28 in the receiver 14 that can be used by this connection 20 is shown. In most cases, BS limit BS_Limit24 is It is equal to the buffer limit register Buffer_Limit30. However, It may be necessary to adjust the maximum number of cell buffers 28 for this connection 20 to the increasing side or the decreasing side. This feature Coordinated by network management software. In order to prevent "dropout" of data during transmission, The increase in buffers per connection is Before the BS limit BS_Limit 24, the data is first reflected in the buffer limit register Buffer_Limit 30. vice versa, The reduction in the number of receiver buffers per connection is First, it is reflected in BS limit BS_Limit24, afterwards, This is reflected in the buffer limit register Buffer_Limit30. The buffer counter Buffer_Counter32 is In the downstream element 14, Shows the number of buffers 28 currently in use for storing data cells. As explained below, This value is For the upstream element 12, Used to more accurately signal buffer availability at the downstream element 14. In the first embodiment, Both the buffer limit register Buffer_Limit 30 and the buffer counter Buffer_Counter 32 are 14 bits wide. The N2 limit N2_Limit34 is The frequency of connection flow rate communication to the upstream transmitter 12 is determined. A cell containing such flow rate information is Each time the receiver element 14 sends out a number of cells equal to the N2 limit N2_Limit 34 from the receiver element 14, it is sent upstream. About this update operation, Further explanation will be given. In the first embodiment, The N2 limit N2_Limit 34 is 6 bits wide. DP18 uses N2 counter N2_Counter36, Track the number of cells transmitted from the receiver element 14 since the N2 limit N2_Limit 30 was last reached. In the first embodiment, The N2 counter N2_Counter 36 is 6 bits wide. In the first embodiment, DP18 is Holding the transmission output counter Fwd_Counter38, Holds the current count of the total number of cells transmitted through the receiver element 14. this is, It includes a buffer that is released when a data cell is used for data frame construction at a terminal node. When the maximum count value of the counter 38 is reached, The counter value returns to zero and continues counting. The total number of cells received by the receiver element 14 is It can be obtained by adding the buffer counter Buffer_Counter 32 to the transmission output counter Fwd_Counter 38. As described below, The transmission output counter Fwd_Counter 38 is During the inspection event, Used for correcting the error cell of the transmitter element 12. In the first embodiment, The transmission output counter Fwd_Counter 38 is 28 bits wide. In the second embodiment, The DP 18 holds a reception counter Rx_Counter40. The reception counter Rx_Counter40 is The counter is incremented each time a data cell is received through the connection 20 corresponding to the downstream element 14. The value of this counter 40 is Depending on the test cell, as well as, In generating an update cell, Can be used directly. Both of these will be further described below. In the second embodiment, The reception counter Rx_Counter40 is It has a 28-bit width similarly to the transmission output counter Fwd_Counter38. Connection-level flow control protocols include: There are two events in addition to the steady state condition. That is, Renewal and inspection. In steady state, Data cells are transmitted from the transmitter element 12 to the receiver element 14. In update mode, To correct the counter value of the transmitter element 12, Buffer occupancy information is returned by the receiver element 14 to the upstream side. Inspection mode is It is used to check for cell loss or cell contamination due to transmission errors between the upstream transmitter element 12 and the downstream receiver element 14. In the attached drawings, By attaching "[i]" to the connection level counter, It shows the correspondence with one connection [i] of a plurality of connections that may exist. As shown in FIG. Before every action, The counters of the upstream element 12 and the downstream element 14 are initialized. For initialization, Zeroing the counter value, as well as, This includes assigning initial values to limit registers such as Link_BS_Limit and Link_Buffer_Limit. In FIG. 3A, Buffer_Limit [i] is It has been initialized to (RTT * BW) + N2. This value is It is the product of the round trip time and the virtual connection bandwidth plus a value to accommodate the delay in processing the updated cell. About Link_N2_Limit, "X" represents the buffer status update frequency for the link, Also, For N2_Limit [i], “Y” indicates the buffer status update frequency for each connection. In steady state operation, The UP 16 of the transmitter element 12 is Which virtual connection (VC) 20 Has a non-zero cell count value (ie, Have cells ready for transmission), Has a BS_Counter value smaller than BS_Limit, as well as, It is determined whether the VC has an indicator that it is to be sent next (FIGS. 3A and 3B). UP16 is If flow control is allowed, When the data cell is transmitted on each connection 20, the BS counter BS_Counter22 and the transmission counter Tx_Counter26 are always incremented (FIG. 4). DP 18 When receiving a data cell, It is checked whether the buffer counter Buffer_Counter32 is equal to or larger than the buffer limit register Buffer_Limit30. this is, This is identification information as to whether or not there is a buffer that can be used for receiving data cells. If Buffer_Counter ≧ Buffer_Limit holds, The data cell is discarded (FIG. 3B). Otherwise, As shown in FIG. The DP 18 increments a buffer counter Buffer_Counter 32 and a reception counter 40, The data cells are placed in buffer cells 28. When the transmission counter Tx_Counter 26 and the reception counter Rx_Counter 40 reach their maximum values, they return to zero. If flow control is not allowed, The disclosed function is not implemented. Connections that do not use flow control on the link Cannot coexist with connections using link flow control. Cells are sent from connections that are not flow controlled, If received, No flow control accounting is used. This flow control accounting is Includes both connection level accounting and link level accounting. This allows A flow control connection and a non-flow control connection can function simultaneously. When a data cell is transmitted from the receiver element 14, The buffer counter Buffer_Counter 32 is decremented. If the connection level flow control protocol is allowed, BS limit BS_Limit24 has been reduced, Unless the receiver element 14 has a sufficient number of cells to send to make the buffer counter Buffer_Counter 32 less than the buffer limit register Buffer_Limit30, The buffer counter Buffer_Counter32 must not exceed the buffer limit register Buffer_Limit30. Buffer status update This is performed when the receiver element 14 has transmitted a number of data cells equal to the N2 limit N2_Limit34. In the first embodiment in which the DP 18 holds the transmission output counter Fwd_Counter 38, As shown in FIG. 6A, If an update occurs, The transmission counter Fwd_Counter 38 is returned from the receiver element 14 to the transmitter element 12 by an update cell. In the embodiment using the reception counter 40 for the downstream element 14, As shown in FIG. 5A, A value obtained by subtracting the value of the buffer counter Buffer_Counter 32 from the value of the reception counter Rx_Counter 40 is transmitted to the update cell. As shown in FIG. 7A for two embodiments, The updated cell is transmitted at the transmitter 12 It is used to update the value of the BS counter BS_Counter22. Since the BS counter BS_Counter22 is independent of the buffer allocation information, Without affecting the performance of the above aspects of connection level flow control, Buffer allocation can be changed. Update cells require allocated bandwidth to guarantee a limited delay. This delay is As a component of the round trip time, It must be considered to determine the buffer allocation for each connection. The amount of bandwidth allocated to the update cell is It is a function of the maximum update counter (not shown) of the corresponding downstream transmitter element (not shown). This counter forces the scheduling of update cells and test cells. For this, This will be described below. Corresponding to the maximum update counter, Downstream transmitter elements include: There is a minimum update interval counter (not shown) that controls the space between update cells. Normal cells are Has seven records per cell, The minimum update interval counter is also set to 7. UP16 is Since we can only process one update record per cell time, For a full update cell received at UP16, Some records will be dropped. The update event is performed as follows (FIG. 1, FIG. 5A, And FIG. 5B). When the downstream element 14 sends (releases) the cell, The buffer counter Buffer_Counter32 is decremented, The N2 counter N2_Counter36 and the transmission output counter Fwd_Counter38 are incremented. If the N2 counter N2_Counter36 is equal to the N2 limit N2_Limit34, DP18 is Prepare an update cell to be returned to the upstream element 12, The N2 counter N2_Counter 36 is set to zero. The upstream element 12 receives from the downstream element 14 that sent the cell, Receiving the connection identification information, Identify which connection 20 should be updated. In the first embodiment, The DP 18 causes the value of the transmission output counter Fwd_Counter 38 to be inserted into the update record payload (FIG. 6A). In the second embodiment, DP18 is A value obtained by subtracting the value of the buffer counter Buffer_Counter32 from the value of the reception counter Rx_Counter40 is inserted into the update record payload (FIG. 5A). When the update cell is full of records, Or When the minimum bandwidth pacing interval is reached, The update cell is transmitted to the upstream element 12. When received on the upstream side, UP 16 receives the connection identification information from the update record, identifies the transmitter connection, From the update record, send / output counter Fwd_Counter 38 value, Or The value obtained by subtracting the value of the buffer counter Buffer_Counter32 from the value of the reception counter Rx_Counter40 is extracted. The BS counter BS_Counter22 is It is reset to a value obtained by subtracting the updated record value from the transmission counter 26 (FIG. 7A). If this connection has been prohibited from transmission because the BS counter BS_Counter 22 is greater than or equal to the BS limit BS_Limit 24, This state is reversed. in this case, The connection is allowed to send again. Summary, Update events are: For the sending element 12, Providing identification information on how many of the cells originally transmitted from the transmitting element 12 have been released from the buffer in the receiving element 14; This allows For the sending element 12, It provides more accurate identification information indicating the availability of the receiver element 14 buffer 28 for that connection 20. The check buffer status event serves two purposes. That is, 1) Provide a mechanism to calculate and compensate for cell loss or cell contamination due to transmission errors, 2) If the update cell is lost, Or Provides a mechanism to start (or restart) the flow if enough data cells are lost and the N2 limit N2_Limit34 is not reached. One timer (not shown) of the UP subsystem 16 is responsible for all connections. The connection is For each connection, Whether test cells should be sent from the upstream transmitter element 12 to the downstream receiver element 14 is allowed or prohibited. The inspection process at the transmitter element 12 includes: Search all connection descriptors, Inspection involves finding what was authorized (see FIGS. 8A and 9A). After the minimum pacing interval (inspection interval) has elapsed, The test cell is sent to the receiver element 14, The next test-permitted connection is identified. The test cell interval for the same connection is The number of active flow control connections, It is a function of the product of the specified cell spacing for all connections. The test cell has a higher priority than the update cell. The inspection event is performed as follows (see FIGS. 8A to 8C and FIGS. 9A to 9C). Each transmission element 12 connection 20 Inspection is performed after the timed inspection interval is reached. Connection flow control is allowed, And, If the connection is valid, The test event is scheduled for transmission to the receiver element 14. The buffer status check cell is In the test cell payload, Generated using the value of the transmission counter 26 for the connection 20, It is transmitted using the connection identification information from the corresponding connection descriptor (FIGS. 8A and 9A). In the first embodiment, The calculation of the error cell is At the receiver element 14, The sum of the transmission output counter Fwd_Counter 38 and the buffer counter Buffer_Counter 32 is calculated, The contents of the test cell record whose value was sent, That is, This is performed by subtracting from the value of the transmission counter Tx_Counter 26 (FIG. 9B). The value of the transmission output counter Fwd_Counter 38 is It is incremented by the error cell count value. And An update record having a new value of the transmission output counter Fwd_Counter 38 is generated. The updated send / output counter Fwd_Counter 38 value is: continue, Update the BS counter BS_Counter22 value of the transmitter element 12. In the second embodiment shown in FIG. 8B, The same function is This is realized by resetting the value of the reception counter Rx_Counter r40 to a value equal to the inspection cell payload value (transmission counter Tx_Counter26). The following update record It is established using the difference between the values of the reception counter Rx_Counter 40 and the buffer counter Buffer_Counter r32. in this way, Inspection events are Sent from the transmitter element 12 through the connection 20, It allows accounting for cells that are dropped or not received by the receiver element 14. The transmitter element 12 Have an up-to-date account of the number of buffers in the receiver element 14 available for receiving data cells; Also, Having the identification of when data cell transmission should be stopped due to the lack of available buffer 28 on the downstream side, “Cell-free” compensation is Enabled using buffer state accounting at the connection level. To enhance the receiver element buffer sharing mechanism in the above protocol, Link level flow control, also known as link level buffer state accounting, is added to connection level flow control. Such link level flow control, It can also be realized without connection level flow control. However, Without connection level flow control, Since there is no limit on the number of buffers that a single connection can consume, It is preferable to combine these two. For the following reasons: Buffer state accounting, It is desirable to execute at the link level in addition to the connection level. Link-level flow control While maintaining the “cell-free” compensation provided by connection-level flow control, Enables cell buffer sharing in receiver elements. By sharing the buffer, A limited number of buffers can be used with maximum efficiency. Since not all connections always require all buffers, Rather than providing a number of buffers equal to RTT times the bandwidth for each connection, Fewer buffers are made available at the receiver element 14. A further advantage of link-level buffer state accounting is that Without the need for increased inversion bandwidth for each connection A more accurate indication of the availability of the downstream buffer is given to each connection. About link level flow control Less than, This will be described with reference to FIG. In addition, In FIG. Elements similar to FIG. 1 include: The same reference numbers are indicated with dashes. Also in FIG. Only one virtual connection 20 'is shown on link 10'. However, Normally, Link 10 'accepts multiple virtual connections 20'. Also, In the first embodiment, Link 10 'is a physical link, In the second embodiment, A logical group of a plurality of virtual connections. The upstream transmitter element 12 '(FSPP subsystem) In part, Switch originating port processor (From Switch Port Processor; FSPP) 16 '. The FSPP processor 16 ' Two buffer status counters, That is, BS counter BS_Counter22 ', as well as, A BS limit BS_Limit 24 'is provided. These counters Respectively, It has the same function as the function for each connection described with reference to FIG. The embodiment of FIG. Furthermore, Added to the upstream element 12 'and the downstream element 14', Contains a set of resources that enable link-level buffer accounting. These resources are It has the same functions as those used for each connection, Works at link level. For example, The link BS counter Link_BS_Counter50 is Including cells being transmitted between receiver 12 'and transmitter 14' and cells stored in receiver 14 'buffer 28', Track cells traveling between the FSPP 16 'and elements downstream of the receiver element 14'. As with the update event described for connection-level buffer accounting, The link BS counter Link_BS_Counter 50 indicates during the link update event Link transmission output counter Link_Fwd_Counter 68 value, Or The difference between the link reception counter Link_Rx_Counter 70 and the link buffer counter Link_Buffer_Counter 62 is It is changed by subtracting from the link transmission counter Link_Tx_Counter 54 value. In the first embodiment, The link level counter is It is mounted on an external RAM associated with the FSPP 16 '. The link BS limit Link_BS_Limit 52 is Should be shared between all connections 20 for which flow control is allowed, Limit the number of shared downstream cell buffers 28 'of the receiver element 14'. In the first embodiment, The link BS counter Link_BS_Counter 50 and the link BS limit Link_BS_Limit 52 are both 20 bits wide. The link transmission counter Link_Tx_Counter 54 is Keep track of all cells transmitted on link 10 '. This counter is During the link level update event, It is used to calculate a new value of the link BS counter Link_BS_Counter50. In the first embodiment, The link transmission counter Link_Tx_Counter 54 is 28 bits wide. In the downstream element 14 ', To Switch Port Processor; TSPP) 18 'also As with the counters commonly shown in FIGS. 1 and 2, It manages a set of counters for each link 10 '. TSPP18 ' Furthermore, A link buffer limit register Buffer_Limit60 is included. The link buffer limit register Buffer_Limit60 is In the downstream element 14 ', By indicating the maximum number of cell buffers 28 'of the receiver 14' that all connections 10 'can use, The same function as the link BS limit Link_BS_Limit 52 of the upstream element 12 'is executed. In most cases, The link BS limit Link_BS_Limit 52 is It is equal to the link buffer limit register Buffer_Limit60. The effect of adjusting the number of available buffers 28 'up or down based on the link width is: This is the same as the effect described above with respect to adjusting the number of buffers 28 that can be used by a specific connection 20. In the first embodiment, The link buffer limit register Link_Buffer_Limit 60 is 20 bits wide. The link buffer counter Link_Buffer_Counter62 is Shows the number of buffers in the downstream element 14 'currently used for storing data cells by all connections. This value is In the inspection event, It is used to correct the link send / output counter Link_Fwd_Counter 68 (described below). In the first embodiment, The link buffer counter Link_Buffer_Counter 62 is 20 bits wide. In the first embodiment, the link N2 limit Link_N2_Limit 64 and the link N2 counter Link_N2_Counter 66 each having an 8-bit width are: Used to generate link update records. This link update record Mixed with connection level update record. The link N2 limit Link_N2_Limit64 is Used to establish the threshold number that triggers the generation of link level update records (FIGS. 5B and 6B); The link N2 counter Link_N2_Counter 66 and the link transmission output counter Link_F wd_Counter 68 are: Incremented each time a cell is released from a buffer cell in receiver element 14 '. In the first embodiment, The N2 limit N2_Limit34 'and the link N2 limit Link_N2_Limit64 are both A static variable that is initialized only once. However, In a further embodiment of the present invention, Each variable is It can be dynamically adjusted based on the measured bandwidth. For example, If the forward link bandwidth is relatively high, The link N2 limit Link_N2_Limit64 is The link level update record transmission is adjusted in a decreasing manner so that transmission occurs more frequently. The impact on forward bandwidth is considered to be minimal. If the forward bandwidth is relatively low, Since the unknown availability of the buffer 28 'of the downstream element 14' becomes less significant, The link N2 limit Link_N2_Limit64 can be raised. The link transmission output counter Link_Fwd_Counter 68 is It keeps track of all cells coming from the corresponding link 10 'and released from the buffer cells 28' of the receiver element 14 '. In the first embodiment, This counter is 28 bits wide, Used to recalculate the link BS counter Link_BS_Counter50 in the update event. In another embodiment, Instead of the link transmission output counter Link_Fwd_Counter 68, a link reception counter Link_Rx_Counter 70 is used. In this example, The link transmission output counter Link_Fwd_Counter 68 is also 28 bits wide, Track the number of cells received across all connections 20 'of link 10'. Referring to FIG. 2 and subsequent figures, The receiver element buffer sharing method will be described. As shown in FIG. 3B, Normal data transfer to the downstream element 14 'by the FSPP in the upstream element 12' As long as the link BS counter Link_BS_Counter50 is less than or equal to the link BS limit Link_BS_Limit52, This can be done via all connections 20 'of link 10'. By this determination, FS PP16 ' Transmission of a larger number of data cells than data cells determined to be usable by the downstream element 14 'is prevented. The accuracy of this decision is It is maintained by the update and inspection events described below. If neither buffer limit register Buffer_Limit 30 at the connection level nor the link level is exceeded, A data cell is received at the downstream element 14 '(FIG. 3B). If the limit is exceeded, The cell is discarded. As shown in FIGS. 5B and 6B, In the update event at the link level, When the value of the link N2 counter Link_N2_Counter 66 reaches (is equal to or exceeds) the value of the link N2 limit Link_N2_Limit64, A link update record is generated. In the first embodiment, The link N2 limit Link_N2_Limit64 is set to 40. In the embodiment of FIG. 6B, the link update record obtained from the link transmission output counter Link_Fwd_Counter 68 is: In the updated cell transferred to FSPP1 6 ', It is mixed with the update record for each connection (the value of the transmission output counter Fwd_Counter 38 '). In the embodiment of FIG. 5B, The value obtained by subtracting the value of the link buffer counter Link_Buffer_Counter 62 from the value of the link reception counter Link_Rx_Counter 70 is Mixed with update records per connection. When the upstream element 12 'receives an update cell with a link update record, The upstream element 12 ′ stores a link BS counter Link_BS_Counter 50, It is set to a value obtained by subtracting the value of the update record from the value of the link transmission counter Link_Tx_Counter 54 (FIG. 7B). And The link BS counter Link_BS_Counter 50 of the upstream element 12 ′ is: It is reset to reflect the number of data cells transmitted by the upstream element 12 'but not yet released in the downstream element 14. In the first embodiment, Transferring update records Provide a corresponding FSPP processor (not shown) for each TSPP subsystem 14 ' This is achieved by providing a corresponding TSPP processor (not shown) for each FSPP subsystem 12 '. Therefore, When an update record to be returned by the subsystem 14 'to the upstream FSPP subsystem 12' is prepared, TSPP 18 'communicates the updated record to the corresponding FSPP (not shown). The cell is From the corresponding FSPP, It is transmitted to a TSPP (not shown) corresponding to the upstream FSPP subsystem 12 '. The corresponding TSPP is: Extract the update record from the received update cell, The record is transmitted to the upstream FSPP subsystem 12 '. For link-level inspection events, A test cell having a link transmission counter Link_Tx_Counter 54 value is: By FSPP16, It is transmitted for every W test cells. In the first embodiment, W is equal to four. In the embodiment of FIG. 9C, At the receiver element 14 ', the TSPP 18' Link transmission output counter Link_Fwd_Counter68 The inspection record value, that is, the link transmission counter Link_Tx_Counter 54 is increased by a value obtained by subtracting the sum of the link buffer counter Link_Buffer_Counter 62 and the link transmission counter Link_Fwd_Counter 68 from the link transmission counter Link_Tx_Counter 54, The inspection function at the connection level described above is executed. In the embodiment of FIG. 8C, The link reception counter Link_Rx_Counter 70 is The value is changed to a value equal to the content of the inspection record (link transmission counter Link_Tx_Counter 54). this is, The error cell is considered based on the link width. And An update record having a value obtained from the updated link transmission output counter Link_Fwd_Counter 68 value or the link reception counter Link_Rx_Counter 70 value is generated (FIGS. 8C and 9C). In the event of a major transmission link failure, In order to quickly readjust the value of the link transmission output counter Link_Fwd_Counter 68 (FIG. 9C) or the value of the link reception counter Link_Rx_Counter 70 (FIG. 8C), It is necessary to perform inspection events at the link level in addition to the connection level. Referring again to FIG. An example of the initial value of the described counter in the embodiment having 100 connections on one link is shown below. BS_Limit (24 ') = 20 Buffer_Limit (30') = 20 N2_Limit (34 ') = 3 Link_BS_Limit (52) = 1000 Link_Buffer_Limit (60) = 1000 Link_N2_Counter (66) = 40 Both of connection and link The BS_Limit value is equal to the Buffer_Limit value. BS_Limit 24 'and Buffer_Limit 30' are both equal to 20, As reflected in Link_BS_Limit52 and Link_Buffer_Limit60, There are only 1000 buffers 28 'in the downstream element. this is, This is because buffer pool sharing is enabled by link level feedback. if needed, Link_BS_Counter; Link_N2_Counter; And incrementing Link_Buffer_Counter, By prohibiting link level test cell transfer, Link level flow control can be prohibited. in this case, No updates are made. The disclosed invention, Furthermore, This can be enhanced by the dynamic buffer allocation scheme as described above for N2 limit N2_Limit 34 and link N2 limit Link_N2_Limit64. This scheme is In addition to the N2 limit N2_Limit34 and the link N2 limit Link_N2_Limit64, BS limit BS_Limit24, Link BS limit Link_BS_Limit52, Buffer limit Buffer_Limit30, And a function of dynamically adjusting limit parameters such as a link buffer limit Link_Buffer_Limit60. Such adjustments In one embodiment, Done according to the measured characteristics of the individual connection or of the entire link, In another embodiment, Established according to the determined priority scheme. Therefore, According to dynamic buffer allocation, Given limited buffer resources, It is possible to prioritize one or more connections or links. The link N2 limit Link_N2_Limit is set according to the desired accuracy of the buffer accounting. If based on link width, Since accurate buffer accounting allows for greater buffer sharing between multiple connections, As the number of connections in a link increases, It is desirable to reduce the link N2 limit Link_N2_Limit. vice versa, If the number of connections in the link decreases, Since the importance of sharing limited resources between a relatively small number of connections is reduced, The link N2 limit Link_N2_Limit may be increased. To change the maximum bandwidth maintained for a connection, In addition to adjusting per-link limits, It is desirable to adjust the limit for each connection. The dynamic allocation scheme disclosed in this application is: Based on the performance goals described above, Executed during link operation. In the first embodiment of the present invention, All the logic for incrementing the counter is located in the FSPP processor 16 '. In this regard, Reset to zero, The counter described as counting up to the limit value, In a further embodiment, Starting from the limit value, It may be implemented as counting down to zero. The transmitter processor and the receiver processor Limit value, Interpreted as the starting point of each counter, Decrements when an appropriate event is detected. For example, If the buffer counter (or link buffer counter) is implemented as a decrement counter, Each time a data cell is allocated to a buffer in the receiver, The counter is decremented. When the data cell is released from the buffer, The counter is decremented. In this way, When the counter reaches zero, Serves to indicate that all available buffers have been allocated. With dynamic bandwidth allocation, Since dynamic adjustment of limit values must be considered at non-zero count values, It is relatively difficult to use such an implementation. Cell-free loss as described above, To further improve the link level flow control method, This includes providing a plurality of shared cell buffers 28 '' in the downstream element 14 ''. in this case, The cell buffer 28 '' N-1 threshold levels (threshold (1) 102, Threshold (2) 104, Threshold (3) 106) N priority cell buffer subsets (priority 0 108a, Priority 1 108b, Priority 2 108c, And priority 3 108d). In FIG. Such a cell buffer pool 28 '' is shown. In FIG. The four priorities indicated by priority 0 to priority 4 are: The state defined by three thresholds indicated by threshold (1) to threshold (3) is shown. With this priority buffer pool, "Hunger" low priority connections, Or While preventing cells from being transmitted downstream during link conflicts, It becomes possible to make a connection of a high priority transmit. The cell priority is identified for each connection. The policy to establish a threshold is In the first embodiment, it is determined according to a cell traffic prediction model, In another embodiment, it is adjusted dynamically. Such dynamic adjustments May be performed in response to cell traffic observed in the upstream transmitting element, Or, This may be done according to empirical cell traffic data observed in the prioritized buffer pool of the downstream element. For example, In one embodiment using dynamic threshold adjustment, If a fair amount of priority 0 traffic is detected, Reducing the number of buffers available for data cells having a priority less than priority 0, Or vice versa, It would be desirable to increase the number of buffers above threshold (3). The cell buffer pool 28 '' shown in FIG. This is obtained in view of the above-described modified version 12 ″ of the link-level flow control upstream element 12 ′. A pool 28 '' resides in the corresponding downstream element 14 ''. The modified upstream element 12 '' shown in FIG. As mentioned above, At least one link BS threshold (n) 100 established in association with a link BS counter Link_BS_Counter 50 ″ and a link BS limit Link_BS_Limit 52 ″; 102, 104, The cell buffer boule 28 '' of the downstream element 14 '' is characterized. These link BS thresholds 102, 104, 106 is It defines the number of cell buffers in the pool 28 '' that can be allocated to cells of a given priority. here, The priority is For each connection 20 '', It is identified by a register 108 associated with a BS counter BS_Counter 22 ″ and a BS limit BS_Limit 24 ″ register. The priority 108 a shown in FIG. 108b, 108, 108d is The highest priority 0 to priority 3 are identified. If there is no congestion, This is reflected by the fact that the link BS counter Link_BS_Counter 50 ″ becomes less than the link BS threshold (1) in FIGS. 10 and 11, and An arbitrary priority flow control connection can be transmitted. If congestion occurs, This means Indicated by an increase in the value of the link BS counter Link_BSCounter50 '', Access to downstream buffers of lower priority connections is denied, In effect, transmission of those cells is prohibited. In case of severe congestion, Only the highest priority cells are allowed to transmit. For example, Referring again to FIG. If the link level BS threshold (3) 106 has reached the downstream side, Only cells with priority 0 108a are allowed to transmit from upstream element 12 '' to downstream element 14 ''. Therefore, The higher the priority connection, Since the shared downstream buffer pool can be accessed preferentially, Hardly affected by the condition of the net. However, Connection-level flow control If the path for which the connection was intended is severely congested, Note that transmission of high priority connections may be prohibited. As mentioned above, The link BS counter Link_BS_Counter50 '' is It is updated periodically based on the value contained in the link level update record transmitted from the downstream element 14 ″ to the upstream element 12 ″. This periodic update Required to guarantee the correct functioning of the prioritized buffer access of the present invention. Threshold level 102, 104, In one embodiment of the present invention where 106 is dynamically changed, FSPP16 '' As a result of tracking the priority associated with the cell received at the upstream transmitter element, Or Based on the observed usage of the buffer of the downstream receiver element, Must have an accurate record of the state of cell buffer 28 ''. With multiple priority levels, Within a single quality of service, Various categories of services can be provided in terms of delay limits. Within each quality of service, The highest priority for shared buffers is Typically provided for connection / network management traffic. The connection / network management traffic is identified by the cell header. The second highest priority is Low bandwidth, Given to small burst connections, The third highest priority is Given to bursty traffic. According to the prioritization assigned as described above, Due to congestion in any of the service categories, It does not prevent the connection / management traffic from having the lowest cell delay. FIG. 12A shows the initialization process of the upstream element 12 ″ shown in FIG. The important thing is The same counters and registers as the upstream element 12 '' shown in FIG. Link BS Threshold 102, 104, Except that the 106 values are initialized to their respective buffer values T That is, it is set so as not to permit the prioritized access to the shared buffer resource. As mentioned above, These threshold buffer values can be preset and static, Or, It can also be adjusted dynamically based on empirical buffer utilization. FIG. Performed before sending the cell from the upstream element 12 '' to the downstream element 14 '', FIG. 4 shows a number of determination processes that are the same as the processes shown in FIG. 3B. However, 3B is different from the case of FIG. 3B in that a determination process for providing a priority access to the shared buffer resource is added. FS PP16 '' Using the priority value 108 associated with the cell to be transferred, A threshold value 102 at which transfer to the downstream element 14 '' of the cell is prohibited, 104, Determine the value of 106. And The link BS counter Link_BS_Counter50 ″ value is an appropriate threshold value 102, 104, It is determined whether it is equal to or greater than 106. If a positive determination is made, No data cells are transmitted. If a negative determination is made, As mentioned above, The cell is transmitted, Connection level collision determination is performed. In another embodiment, More or less than four priorities This is achieved with an appropriate number of thresholds. However, The minimum number of priorities is 2, The corresponding minimum number of thresholds is one. In general, For N priorities, There are N-1 thresholds. In yet another embodiment, Flow control is only performed at link level, Not performed at the connection level. However, For each connection, It is necessary to provide some form of priority indicator similar to the priority field 108 shown in FIG. In yet another embodiment, The link level flow control protocol described above is To ensure a guaranteed minimum cell rate per connection with no cell loss, Can be further enhanced. This minimum cell rate is Also referred to as guaranteed bandwidth. Flow control of connections below this minimum allocation rate This can be done only by the receiver element associated with the connection. Therefore, The minimum rate of one connection is not affected by congestion in other connections. The cell existing in the upstream element corresponding to FSPP116 is Should be transmitted using the allocated bandwidth from the upstream element, Or What is identified by whether it should be transmitted using dynamic bandwidth is This is a requirement of the disclosed mechanism. For example, To indicate which cells require allocated bandwidth, Cells may be provided in queues corresponding to a list named "priority". Similarly, To indicate a cell that requires dynamic bandwidth emission, The cells may be provided in queues corresponding to a list named "dynamic". In the frame relay configuration, The mechanism is used to monitor and limit both dynamic and allocated bandwidth. In settings involving only Internet traffic, Only the dynamic part of the mechanism is significant. In settings with only CBR flows, Only the allocated part of the mechanism is used. Therefore, According to the disclosed method and apparatus, From connections that require all allocated bandwidth to connections that require all dynamic bandwidth, And the use of mixed scheduling connections, including those in between. In this mechanism, A downstream cell buffer pool 128 similar to pool 28 'of FIG. It is logically divided into an allocation part 300 and a dynamic part 301. This allows Cells identified as receiving allocated bandwidth should be Buffered in the allocation part 300, Cells identified as receiving dynamic bandwidth are buffered in dynamic portion 301. In FIG. 13A, Two parts 300, Although 301 is shown as a separate entity, The allocated part is not a physically separate memory block, It represents the number of cell buffers located somewhere in the pool 128. In a further embodiment, The mechanism to guarantee the minimum bandwidth to be disclosed is As described with reference to FIGS. 10 and 11, It is applicable to mechanisms that provide prioritized access to downstream buffers. Referring to FIG. 13B, The downstream buffer pool 228 is logically divided into an allocation part 302 and a dynamic part 208. The dynamic part 208 is Threshold level 22, 204, 206 logically subdivides into cell buffer subsets 208 a-d with priority. As in the case of FIG. 13A, The division of the buffer pool 228 is a logical division, not a physical division. The elements required to implement this guaranteed minimum bandwidth mechanism are shown in FIG. In FIG. Elements similar to those in FIGS. 2 and 11 are given the same reference numbers plus 100 or 200. Note that no new components have been added to the downstream element. That is, This minimum bandwidth guarantee is transparent to downstream elements. A new aspect of the flow protocol is Seen at both the connection and link levels. First, Regarding addition and change of connection level, The D_BS counter D_BS_Counter 122 is By tracking the number of cells scheduled using the dynamic bandwidth transmitted downstream to the receiver 114, Specify resource consumption. This counter is Basically, It has the same function as the BS counter BS_Counter 22 'in FIG. However, In the BS_counter 22, Allocated and dynamically scheduled cell traffic were not distinguished. Similarly, The D_BS limit D_BS_Limit 124 used to limit the number of downstream buffers available to store cells from the transmitter 112 is: It has a function corresponding to the BS limit BS_Limit 24 'in FIG. As described above for link level flow control, Dynamic bandwidth can be statically shared. Dynamic cell traffic can over-allocate the actual number of available buffers. The amount of buffer "D" given to the connection is equal to the product of RTT and dynamic bandwidth plus N2. A_BS counter A_BS_Counter 222 and A_BS limit A_BS_Limit 224 are also By comparing the number sent and the available buffer limit, Track and limit the number of cells that a connection can transmit, respectively. However, These values are Applies only to layout-type cells. Assignable cells are: Cells identified as requiring allocated bandwidth (guaranteed minimum bandwidth) for transmission. The limit information is set in the connection initialization time, It may be increased or decreased depending on the change of the guaranteed minimum bandwidth. If the connection has no allocated components, The A_BS limit A_BS_Limit 224 becomes zero. A_BS counter A_BS_Counter 222, as well as, A_BS limit A_BS_Limit 224 is D_BS counter D_BS_Counter 122 described above, as well as, D_BS limit D_BS_Limit 124 is additionally provided. The amount of buffer "A" allocated to the connection is equal to the product of RTT and dynamic bandwidth plus N2. The actual number of buffers allocated to allocatable traffic cannot be over-allocated. This allows It is guaranteed that the collision on other connections does not affect the guaranteed minimum bandwidth. The connection has been enqueued to the cell, When the A_BS counter BS_Counter 222 and the A_BS counter BS_Counter 224 indicate that there are no A buffers, The connection is Loss or runs out of bandwidth allocated by the corresponding upstream switch. If the connection is flow controlled below its allotted rate, The connection is Until congestion eases, Part of the allocated area in the exchange will be lost. this is, Multiple sources, each with a minimum guaranteed rate on the same connection, This occurs in the case of multipoint-to-multipoint (M2P) switches merging at a single exit point that is less than the sum of the source rates. In one embodiment of the disclosed mechanism, wherein the transmitter element is part of a switch having a switch flow control function, When there are no more A buffer states, Further transmission of the connection-type cell traffic in the exchange is prohibited. The buffer return policy for each connection is First, Return the buffer to the allocation pool until the A_BS counter BS_Counter 222 equals zero. next, While decreasing the D_BS counter D_BS_Counter 122, Returns a buffer to the dynamic pool. As described above for connection level flow control and priority access, A transmission counter 126 and a priority 208 are provided. At the link level, To enable a guaranteed minimum cell rate for each connection, The following elements are added: A link A_BS counter Link_A_BS_Counter 250 is added to the FSPP 116. This counter is Identified as requiring allocated bandwidth, TSPP118 cell buffer 128, All cells "running" between the FSPP 116 and the downstream switch body, including the cells in 228, are tracked. When the connection level update function (described below) is executed, The counter 250 is decremented for each connection by the same amount as the A_BS counter. The link BS limit Link_BS_Limit 152 is Reflects the total number of buffers available only to dynamic cells that do not include allocated buffers. But, A link BS counter Link_BS_Counter 150 reflects the total number of allocated and dynamic cells transmitted. Therefore, If the link BS counter Link_BS_Counter 150 (all running cells buffered or in the downstream switch body) is greater than the link BS limit Link_BS_Limit 152 (the maximum number of available dynamic buffers), The connection cannot use its dynamic bandwidth. This means Necessary to ensure that congestion does not affect the allocated bandwidth. In one embodiment, To eliminate the possibility of outdated (ie, less frequent) connection level updates, Sum of each A_BS limit A-BS_Limit 224 value, That is, Cell buffer space 300 allocated for each connection, The sum of 302 is Less than the allocated cells that are actually allocated. Update and check events are also implemented in the disclosed allocation / dynamic flow control mechanism. The downstream element 114 is The priority list and the VBR priority 0 list become empty, If the update queue is full, Or When the maximum update interval (not shown) is reached, Send the connection level update cell. In the upstream terminal 112, The update cells are analyzed to identify the appropriate queue. The FSPP 116 A_BS counter A_BS_Counter 222 for the queue, as well as, Adjust the D_BS counter D_BS_Counter 122. in this case, Since FSPP 116 cannot distinguish between allocated and dynamic buffers, As mentioned above, Return up to A cell buffers first, Then return up to D items. The number A of buffers returned for each connection is subtracted from the link A_BS counter Link_A_BS_Counter250. Other link-level elements, such as link transmission counter 154, having similar functions as described above in link-level flow control, Used in connection with the minimum guaranteed bandwidth mechanism. Also, As mentioned above, A further embodiment of the mechanism is Threshold 202, 204, It works with link-level flow control that introduces prioritized access to downstream buffer resources 228 using 206. The function of these elements has been described above. Less than, 4 shows an example of a typical initialization in a flow control link according to the present invention. The downstream element has 3000 buffers; Links are short paths, Thus the RTT * bandwidth is equal to one cell; 100 allocated connections each requiring 7 (A) buffers, consuming a total of 700 buffers; 3000-700 = 2300 (D) buffers are shared by 512 connections; Link BS limit = 2300. If D_BS_Counter ≧ D_BS_Counter, The queue is Indicating that there is a cell ready for transmission is prevented. In the above embodiment, wherein the upstream element is a switch having a composite bandwidth, Such a situation The queue is removed from the dynamic list, This is caused by preventing queues from being transmitted using dynamic bandwidth. For layout cells, As each cell is enqueued, With that cell, With other enqueued cells, It is determined whether the sum with A_BS_Counter is a number greater than A_BS_Limit. If a negative decision is made, The cell is enqueued, The queue is added to the priority list. If a positive determination is made, Connections are prohibited from transmitting further cells through the upstream element 12 switch body. FIG. 15 shows an initialization process of the upstream element 112 shown in FIG. Basically, The counter and register set of the upstream element 12 ′ in FIG. 3A (when priority access to the shared buffer resource is not permitted) and the upstream element 12 ″ (when priority access is permitted) in FIG. 12A Is the same. However, Link A_BS counter Link_A_BS_Counter 250 is initialized to zero; Connection level allocation type and dynamic BS counter 122, 222 is set to zero; Connection level allocation type and dynamic BS_limit 124, 224 is N A And N B The exception is that it is set to Similarly, at the downstream terminal at the connection level, the allocation and dynamic buffer limit Buffer_Limit and the buffer counter Buffer_Counter are set such that the buffer limit Buffer_Limit has the bandwidth value for each traffic type (ie, BW A = Allocated cell bandwidth, BW D = Dynamic cell bandwidth). . Further, each cell to be transmitted, when received from the switch body, is identified as an allocatable cell or one that requires dynamic bandwidth. FIG. 15B shows a number of the same discrimination processes as those shown in FIGS. 3B and 12B performed before transmitting a cell from the upstream element 112 to the downstream element 114. However, the difference is that the over-allocation of the buffer state for each connection is checked only for dynamic traffic, performed by subtracting Link_A_BS_Counter from Link_BS_Counter and comparing the result with Link_BS_Limit. Link width based over-allocation is calculated by comparing Link_BS_Limit (which tracks both allocated and dynamic cell traffic) and Link_A_BS_Counter with Link_BS_Limit. Similarly, over-allocation in downstream elements is checked at the connection level for both allocated and dynamic traffic. As mentioned above, the mechanism that provides the guaranteed minimum bandwidth can be used with or without the prioritized access mechanism, but FIGS. 15A and 15B show that The latter aspect is shown for completeness. As mentioned above, connection level flow control known in the art relies on separate controls for individual connections. In particular, between network elements, such as a transmitting element and a receiving element, control is from the transmitter queue to the receiver queue. Thus, a single queue Q at the transmitter element A Are the four queues Q associated with a single receiver processor W , Q X , Q Y , And Q Z Even in the situation shown in FIG. 16, which is the source of the data cells for, the prior art does not provide a mechanism to handle such situations. In FIG. 16, the transmitter element 10 is provided in an FSPP element having an associated FSPP 11. The receiver element 12 is provided in a TSPP element having an associated TSPP13. The FSPP 11 and TSPP 13 used in FIG. 16 have the same functions as those described above, such as link-level flow control, priority access to the shared downstream buffer, and the guaranteed minimum cell rate at the connection level, in addition to the connection-level flow control mechanism. Selectively provide programmable features. Whether one or more of these enhancements is used with connection-level flow control is at the discretion of the system designer. Yet another function provided by the FSPP and TSPP according to the present invention is a function of uniformly handling a group of receiver queues for connection level flow control. In FIG. 16, instead of using four parallel connections, the mechanism of the present invention uses one connection 16 in link 14. Connection 16 has four queues Q W , Q X , Q Y , And Q Z , But for connection level flow control, these four queues are essentially treated as a single union. This is required because if N2 is set to a small value of 10 or less, some network elements require the use of flow control services but cannot handle the updated cell processing bandwidth. (See above for connection level flow control). If N2 is set to a large value such as 30 for a large number of connections, a large amount of downstream buffers is required. This is due to buffer or phaning, where the buffer is not busy but is considered to be busy upstream due to infrequent update events. This mechanism is also useful for terminating a virtual channel connection (VCC) within a VPC when applying flow control to a virtual path connection (VPC). This function of grouping the receiver queues W , Q X , Q Y , And Q Z By manipulating the queue descriptor associated with. Referring to FIG. 17, a queue descriptor for the receiver queue is shown. As shown, the queue Q W , Q X , And Q Y Is provided on the left side and has almost the same characteristics. One of the first fields according to the present disclosure is a bit denoted by a symbol J. This bit, when set, indicates that the associated queue is treated as part of the receiver's joint connection. Instead of holding all connection level flow control information in each queue descriptor of each queue in the group, a particular flow control element is held in only one of the group's queue descriptors. In the case shown, this one queue is queue Q Z It is. Queue Q W , Q X , And Q Y In each of the descriptors for Z Is the offset or pointer to the set of flow control elements in the descriptor for This pointer field may serve another function if the J bit is not set. The buffer limit register (indicated by reference numeral Buff_Limit in FIG. 17) and the N2 limit N2_Limit are locally held in each descriptor. The joint buffer counter (Jt_Buff_cntr), the joint N2 counter (Jt_N2_Cntr), and the joint transmission output counter (Jt_Fwd_Cntr) for all the queues in the group include the queue Q Z Is kept in the descriptor for Queue Q W , Q X , And Q Y The same counter in the descriptor for is not used. The joint counter performs the same function as each counter, such as the function at the connection level shown in FIG. 2, but is incremented or decremented as appropriate by the operation performed for each queue. Thus, for example, when a buffer cell corresponding to any one of the queues receives a data cell or releases a data cell, the joint buffer counter is updated. The same is true for the joint N2 counter and the joint delivery counter. In another embodiment of the flow control mechanism described above, each send counter is replaced by a receive counter. Similarly, in another embodiment of the mechanism of the present disclosure, the joint send counter is replaced by a joint receive counter, depending on where the queues are held. Only embodiments that include a delivery counter and a joint delivery counter are illustrated. Not all descriptor elements per queue are superseded by the common descriptor function. A buffer limit (indicated by reference numeral Buff_Limit in FIG. 17) is set and referred to for each queue. Therefore, the joint buffer counter is compared with the buffer limit register of each queue. Further, the buffer limit may be set as a joint buffer limit and a common limit value may be held instead of holding individual limit values. The strategy is to set the same buffer limit for all TSPP queues associated with a single joint buffer counter. As described above, the update event is triggered when the joint N2 counter reaches the queue level N2 limit. The policy is to set all N2 limits for all queues associated with a single joint flow control connection to the same value. When the test cell of the connection is received, an attempt to change the reception counter associated with the reception queue results in a change in the joint reception counter. Therefore, the indirect level obtained by the number of joints is applicable to both data cells and test cells. At the transmitter element 10, only one set of upstream flow control elements is retained. At connection establishment time, as far as the upstream element is concerned, the joint connection is established as a single point-to-point connection. Thus, in the embodiment of FIG. 16, instead of keeping four sets of upstream elements, the mechanism of the present disclosure requires one set of elements (transmit counter, BS counter, BS limit each having the functions described above). It is only. Once the joint flow control is established, another TSPP queue for additional connections is added. To do this, each new queue must have the same N2 limit and buffer limit. The queue for the additional connection will refer to the common joint N2 counter and either the joint send counter or the joint receive counter. As described above, when J = 1, the joint number (Joint Number) field is used as an offset into the group descriptor. Queue Q Z 17, the joint number of the group descriptor indicates itself. This is also true for point-to-point connections (VCC-to-VCC instead of VPC-to-VCC as shown in FIG. 16). In this case, each joint number points to its own descriptor. Thus, the implementation of point-to-point and the point-to-multipoint connection described is simplified. While the preferred embodiment of the invention has been described, other embodiments using this concept will be apparent to those skilled in the art. The above examples of the present invention are merely illustrative, and the actual scope of the present invention should be determined by the following claims.

【手続補正書】特許法第184条の8第1項 【提出日】平成9年2月7日(1997.2.7) 【補正内容】 更に、送信されるべき各セルは、交換機本体から受信される際に、割付けセル又 は動的帯域幅を要求するものとして識別される。 図15Bは、セルを上流側要素112から下流側要素114へ伝送する前に行 われる、図3B及び図12Bに示す判別処理と同じ多数の判別処理を示す。ただ し、リンク幅に基づくバッファ状態の過剰割付けは動的トラヒックについてのみ 検査され、Link_A_BS_CounterをLink_BS_Count erから減じて、その結果をLink_BS_Limitと比較することにより 行われる点で相違している。コネクションごとの過剰割付けは、D_BS_Co unterをD_BS_Limitと比較し、A_BS_CounterとA_ BS_Limitとの比較によりコネクションごとにプログラミング故障又は他 の故障を検査することにより計算される。同様に、下流側要素における過剰割付 けは、コネクションレベルで、割付け型及び動的トラヒックの双方について検査 される。上述の如く、保証最小帯域幅を提供する機構は、優先度付きアクセス機 構と共に用いることもでき、あるいは、優先度付きアクセス機構を伴わずに用い ることもできるが、図15A及び図15Bには、完全のため、後者の側面を示し ている。 上述の如く、当該技術分野で公知のコネクションレベルフロー制御は、個々の コネクションについての別個の制御に依存している。特に、送信要素及び受信要 素等の網要素間において、制御は送信器キューから受信器キューへ向けて行われ る。このため、送信器要素の単一のキューQAが、単一の受信器プロセッサに対 応付けられた4つのキューQW、QX、QY、及びQZに対するデータセルのソース である図16に示す状況においてさえ、従来の技術は、かかる状況を取り扱う機 構を提供しない。 図16において、送信器要素10は、対応付けられたFSPP11を有するF SPP要素内に設けられている。受信器要素12は、対応付けられたTSPP1 3を有するTSPP要素内に設けられて 【図15】 【手続補正書】特許法第184条の8第1項 【提出日】平成9年9月15日(1997.9.15) 【補正内容】 請求の範囲 1. 送信器装置からリンクを渡って受信器装置に送信されるデータセルによる 、受信器装置の共用バッファリソースへの優先度付きアクセスを提供する方法で あって、 送信されるべきデータセルの優先度レベルを前記送信器装置により決定し、 前記共用バッファリソースへの格納のため前記リンクを渡って前記受信器装置 に送信されるデータセル数を示す第1のカウントを前記送信器装置において生成 し、 各優先度レベルのデータセルに割付け可能な最大バッファ数となる少なくとも 1つのバッファスレッシヨルドを前記送信器装置において格納し、 前記少なくとも1つのバッファスレッシヨルドが、存在するならば、前記第1 のカウント以下あるか否かを前記送信器装置により識別し、 前記送信されるべきデータセルの前記優先度レベルに対応する前記少なくとも 1つのバッファスレッシヨルドが前記第1のカウント以下である場合に、前記送 信されるべきデータの送信を前記送信器装置により禁止する、各段階よりなる方 法。 2. 前記優先度レベルを決定する段階は、更に、前記送信されるべきデータセ ルの前記優先度レベルを前記データセルのコネクションに基づいて決定する段階 よりなる請求項1記載の方法。 3. N−1個のバッファスレッシヨルドを、決定したN個の優先度レベルごと に格納する請求項1記載の方法。 4. データセルを前記送信器装置により前記リンクを渡って前記 受信器装置に送信した際に、前記第1のカウントを修正する段階を更に備える請 求項4記載の方法。 5. 前記第1のカウントを修正する段階は、更に、前記送信器装置において前 記受信器装置から、前記共用バッファリソース内のデータセルに割り付けられた バッファ数を示す値を受信し、その値に応じて前記第1のカウントを修正する段 階よりなる請求項1記載の方法。 6. 前記少なくとも1つのバッファスレッシヨルドを格納する段階は、更に、 前記送信器装置により送信されるべきデータセルの経験的分析に応じて、前記少 なくとも1つのバッファスレッシヨルドを動的に調整する段階よりなる請求項1 記載の方法。 7. 前記少なくとも1つのバッファスレッシヨルドを動的に調整する段階は、 更に、前記送信器装置により送信されるべきデータセルの優先度の前記送信器装 置における経験的分析に応じて、前記少なくとも1つのバッファスレッシヨルド を動的に調整する段階よりなる請求項6記載の方法。 8. 前記少なくとも1つのバッファスレッシヨルドを格納する段階は、前記少 なくとも1つのバッファスレッシヨルドを、前記共用バッファリソースの利用状 態の前記送信器装置による経験的分析に応じて動的に調整する段階よりなる請求 項1記載の方法。 9. 前記受信器装置内の前記共用バッファリソースに格納可能なデータセルの 最大数を前記送信機装置において確立する段階を更に備える請求項1記載の方法 。 10. 前記送信を禁止する段階は、更に、前記第1のカウントが前記格納可能 なデータセルの最大数以上である場合に、前記データセルの送信を禁止する段階 よりなる請求項9記載の方法。 11. 前記データセルはATMセルである請求項1記載の方法。 12. 前記データセルは所定の固定長である請求項1記載の方法。 13. 対応するメモリリソースを有する送信器要素のデータセルによる、受信 器要素の共用バッファリソースへの通信リソースを介する優先度付きアクセスを 提供する方法であって、 前記送信器要素により、前記共用バッファリソースにおいて使用可能な優先度 割付けバッファの最大数を複数のデータセル優先度の各々に対して決定して、該 最大数の各々を前記メモリリソースに格納し、 前記送信器要素により前記共用バッファリソースへの格納のため前記通信リソ ースを介して前記受信器要素へ送信されたデータセルの数を示す値を前記メモリ リソースに格納し、 データセルが前記共用バッファリソースに送信された際に前記値を修正し、 前記送信器要素において、第1のデータセルに割当てられた優先度を識別し、 前記値が優先度割付けバッファの各最大数より小さい場合に、前記第1のデー タセルを前記共用バッファリソースへの格納のため前記送信器要素により前記通 信リソースを介して前記受信器要素に送信する、各段階よりなる方法。 14. 前記優先度割付けバッファの最大数を、前記送信器要素により送信され るべきデータセルの経験的分析に応じて動的に調整す る段階を更に備える請求項13記載の方法。 15. 前記優先度割付けバッファの最大数を動的に調整する前記段階は、更に 、前記優先度割付けバッファの最大数を、前記送信器要素の前記データセルの優 先度の前記送信器要素における経験的分析に応じて動的に調整する段階よりなる 請求項14記載の方法。 16. 前記優先度割付けバッファの最大数を、前記共用バッファリソースの利 用状態の前記送信器要素における経験的分析に応じて動的に調整する段階を更に 備える請求項13記載の方法。 17. 前記優先度を識別する段階は、更に、前記第1のデータセルに割当てら れた前記優先度を、前記第1のデータセルのコネクションに基づいて識別する段 階よりなる請求項13記載の方法。 18. 前記最大数を画定する段階は、N個のデータセル優先度に対して、更に 、 バッファリソース容量と等価な優先度割付けデータセルの1個の最大数を画定 し、 データセル優先度スレッシヨルドと等価な優先度割付けセルのN−1個の最大 数を画定する、各段階よりなる方法。 19. 前記値を修正する段階は、更に、前記送信器要素において前記受信器要 素から、前記共用バッファリソース内でデータセルに割付けられたバッファ数を 示す値を受信し、この受信値に応じて前記値を修正する段階よりなる請求項13 記載の方法。 20. 前記データセルはATMセルである請求項13記載の方法。 21. 前記データセルは所定の固定長である請求項13記載の方法。 22. 送信器端末と受信器端末とを有する通信媒体と、 前記通信媒体の前記送信器端末に設けられ、データセルを出力ポートから前記 通信媒体へ送信する送信器網要素と、 前記通信媒体の前記通信機端末に設けられ、前記データセルを格納する対応付 けられた優先度付き共用バッファリソースを有する、前記データセルを入力ポー トにおいて受信する受信器網要素とを備え、 前記送信器網要素は前記データセルを分析して、そのデータセルに対応付けら れた優先度を決定し、 前記送信器網要素は、前記共用バッファリソースのバッファが同じ優先度のデ ータセルの格納に使用可能である場合に、前記データセルを、前記共用バッファ リソースへの格納のため、前記通信媒体を介して前記受信器網要素へ送信する優 先度付きバッファ共用装置。 23. 送信器端末と受信器端末とを有する通信媒体と、 前記通信媒体の前記送信器端末に設けられ、データセルを前記通信媒体を渡っ て送信する送信器と、 前記通信媒体の前記通信機端末に設けられ、前記データセルを格納する対応付 けられた優先度付き共用バッファリソースを有する、前記データセルを受信する 受信器とを備え、 前記送信器は前記データセルを分析して、そのデータセルに対応付けられた優 先度を決定し、 前記送信器は、前記共用バッファリソースのバッファが同じ優先度のデータセ ルの格納に使用可能である場合に、前記データセルを、前記共用バッファリソー スへの格納のため、前記通信媒体を介して前記受信器に送信し、 前記送信器は、更に、処理要素とメモリ要素とを備え、該メモリ要素には該処 理要素により、 前記優先度付き共用バッファリソースに格納可能なデータセルの最大数を表す 第1の値と、 前記優先度付き共用バッファリソースヘ、そこでの格納のため送信されるバッ ファの数を表す第2の値と、 前記優先度付き共用バッファリソースに格納可能な各優先度のデータセルの最 大数をそれぞれ表す少なくとも1つのスレッシヨルド値とが保持される優先度付 きバッファ共用装置。 24. 前記処理要素は、前記第2の値が前記第1の値よりも小さくない場合に 、前記データセルの前記送信器から前記受信器への送信を禁止する請求項23記 載の優先度付きバッファ共用装置。 25. 前記処理要素は、前記第2の値が前記データセルの優先度に対する各ス レッシヨルド値よりも小さくない場合に、前記データセルの送信を禁止する請求 項23記載の優先度付きバッファ共用装置。 26. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース へ送信されるべきデータセルの経験的分析に基づいて、前記処理要素により動的 に調整可能である請求項23記載の優先度付きバッファ共用装置。 27. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース へ送信されるべきデータセルの前記送信器における経験的分析に基づいて、前記 処理要素により動的に調整可能である請求項26記載の優先度付きバッファ共用 装置。 28. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース の利用状態の経験的分析に基づいて、前記処理要素により動的に調整可能である 請求項23記載の優先度付きバッファ共用装置。 29. N個の取り得るデータセル優先度とN−1個のスレッシヨルド値とが存 在する請求項23記載の優先度付きバッファ共用装置。 30. 前記第2の値は、前記送信器において前記受信器から受信された、前記 共用バッファソース内に現在格納されているデータセルの数を反映するデータに 応じて前記処理要素により更新される請求項23記載の優先度付きバッファ共用 装置。 31. 前記データセルはATMセルである請求項22記載の優先度付きバッフ ァ共用装置。 32. 前記データセルは所定の固定長である請求項22記載の優先度付きバッ ファ共用装置。[Procedure amendment] Article 184-8, Paragraph 1 of the Patent Act [Date of submission] February 7, 1997 (1997.2.7) [Content of amendment] Furthermore, each cell to be transmitted must be transmitted from the exchange itself When received, it is identified as requiring allocated cells or dynamic bandwidth. FIG. 15B shows a number of the same discrimination processes as those shown in FIGS. 3B and 12B performed before transmitting a cell from the upstream element 112 to the downstream element 114. However, the difference is that the buffer state over-allocation based on link width is checked only for dynamic traffic, done by subtracting Link_A_BS_Counter from Link_BS_Counter and comparing the result with Link_BS_Limit. The per-connection over-allocation is calculated by comparing D_BS_Counter with D_BS_Limit and checking for programming or other faults per connection by comparing A_BS_Counter with A_BS_Limit. Similarly, over-allocation in downstream elements is checked at the connection level for both allocated and dynamic traffic. As mentioned above, the mechanism that provides the guaranteed minimum bandwidth can be used with or without the prioritized access mechanism, but FIGS. 15A and 15B show that The latter aspect is shown for completeness. As mentioned above, connection level flow control known in the art relies on separate controls for individual connections. In particular, between network elements, such as a transmitting element and a receiving element, control is from the transmitter queue to the receiver queue. Thus, a single queue Q A of the transmitter element is the source of data cells for the four queues Q W , Q X , Q Y , and Q Z associated with a single receiver processor, FIG. Even in the situations shown in Figure 1, the prior art does not provide a mechanism to handle such situations. In FIG. 16, the transmitter element 10 is provided in an FSPP element having an associated FSPP 11. The receiver element 12 is provided in a TSPP element with an associated TSPP 13 [FIG. [Procedure of Amendment] Article 184-8, Paragraph 1 of the Patent Act [Date of Submission] September 15, 1997 (September 15, 1997) [Details of Amendment] Claims 1. A method for providing prioritized access to shared buffer resources of a receiver device by data cells transmitted from a transmitter device to a receiver device across a link, the method comprising: Determining at the transmitter device a first count indicating the number of data cells transmitted to the receiver device across the link for storage in the shared buffer resource; Storing at the transmitter device at least one buffer threshold that is the maximum number of buffers that can be allocated to data cells of a priority level, wherein the at least one buffer threshold, if present, The transmitter device identifies whether there is less than or equal to a count, and If the at least one buffer threshold thresholding to respond is less than the first count, prohibits the transmission of the data to be the transmission by the transmitter device, the method consisting of the steps. 2. The method of claim 1, wherein determining the priority level further comprises determining the priority level of the data cell to be transmitted based on a connection of the data cell. 3. The method of claim 1, wherein N-1 buffer thresholds are stored for each of the determined N priority levels. 4. The method of claim 4, further comprising modifying the first count when a data cell is transmitted by the transmitter device across the link to the receiver device. 5. Modifying the first count further comprises receiving a value from the receiver device at the transmitter device indicating a number of buffers allocated to data cells in the shared buffer resource, and responsive to the value. 2. The method of claim 1, comprising modifying the first count. 6. Storing the at least one buffer threshold further comprises dynamically adjusting the at least one buffer threshold in response to an empirical analysis of data cells to be transmitted by the transmitter device. The method of claim 1, comprising: 7. Dynamically adjusting the at least one buffer threshold further comprises: responsive to an empirical analysis at the transmitter device of a priority of a data cell to be transmitted by the transmitter device. 7. The method of claim 6, comprising dynamically adjusting the buffer threshold. 8. Storing the at least one buffer threshold comprises dynamically adjusting the at least one buffer threshold in response to an empirical analysis by the transmitter device of the utilization of the shared buffer resource. The method of claim 1 comprising: 9. The method of claim 1, further comprising establishing at the transmitter device a maximum number of data cells that can be stored in the shared buffer resource in the receiver device. 10. The method of claim 9, wherein the step of inhibiting transmission further comprises the step of inhibiting transmission of the data cells when the first count is greater than or equal to the maximum number of storable data cells. 11. The method of claim 1, wherein said data cells are ATM cells. 12. The method of claim 1, wherein said data cells are of a predetermined fixed length. 13. A method for providing prioritized access via a communication resource to a shared buffer resource of a receiver element by a data cell of a transmitter element having a corresponding memory resource, the method comprising: Determining a maximum number of available priority allocation buffers for each of the plurality of data cell priorities and storing each of the maximum numbers in the memory resource; Storing in the memory resource a value indicating the number of data cells transmitted to the receiver element via the communication resource for storage, and modifying the value when the data cell is transmitted to the shared buffer resource. Identifying, in said transmitter element, a priority assigned to a first data cell, wherein said value is a priority assignment buffer; Transmitting the first data cell to the receiver element via the communication resource by the transmitter element for storage in the shared buffer resource if less than a respective maximum number of fas. . 14. 14. The method of claim 13, further comprising dynamically adjusting a maximum number of the priority allocation buffers in response to empirical analysis of data cells to be transmitted by the transmitter element. 15. The step of dynamically adjusting the maximum number of the priority allocation buffers further comprises: an empirical analysis at the transmitter element of the priority of the data cells of the transmitter element. 15. The method according to claim 14, comprising the step of dynamically adjusting according to: 16. 14. The method of claim 13, further comprising dynamically adjusting a maximum number of the priority allocation buffers in response to empirical analysis at the transmitter element of usage of the shared buffer resources. 17. 14. The method of claim 13, wherein identifying the priority further comprises identifying the priority assigned to the first data cell based on a connection of the first data cell. 18. The step of defining the maximum number includes, for the N data cell priorities, further defining a maximum number of one of the priority assignment data cells equivalent to the buffer resource capacity, and equivalent to the data cell priority threshold. A method comprising the steps of defining a maximum number of N-1 priority priority cells. 19. Modifying the value further comprises receiving, at the transmitter element, from the receiver element, a value indicating a number of buffers allocated to data cells in the shared buffer resource, and responsive to the received value, 14. The method of claim 13 comprising modifying. 20. 14. The method of claim 13, wherein said data cells are ATM cells. 21. 14. The method of claim 13, wherein said data cells are of a predetermined fixed length. 22. A communication medium having a transmitter terminal and a receiver terminal; a transmitter network element provided at the transmitter terminal of the communication medium for transmitting a data cell from an output port to the communication medium; and the communication of the communication medium. And a receiver network element for receiving the data cell at an input port, the receiver network element having an associated priority shared buffer resource for storing the data cell, the transmitter network element being provided with the data cell. Analyzing the cell to determine a priority associated with the data cell, wherein the transmitter network element, when a buffer of the shared buffer resource is available for storing data cells of the same priority, A prioritized buffer sharing device for transmitting the data cell to the receiver network element via the communication medium for storage in the shared buffer resource. 23. A communication medium having a transmitter terminal and a receiver terminal; a transmitter provided at the transmitter terminal of the communication medium, for transmitting a data cell across the communication medium; and a communication terminal of the communication medium. And a receiver for receiving the data cell, the receiver having an associated priority shared buffer resource for storing the data cell, wherein the transmitter analyzes the data cell, and Determining an associated priority, wherein the transmitter stores the data cell in the shared buffer resource when a buffer of the shared buffer resource is available for storing a data cell of the same priority. Transmitting to the receiver via the communication medium, the transmitter further comprising a processing element and a memory element, wherein the memory element includes A first value indicating the maximum number of data cells that can be stored in the shared buffer resource with priority; and a second value indicating the number of buffers transmitted to the shared buffer resource with priority for storage there. A priority-shared buffer device that retains at least one threshold value that indicates a maximum number of data cells of each priority that can be stored in the shared buffer resource with priority. 24. 24. The shared buffer with priority according to claim 23, wherein the processing element prohibits transmission of the data cell from the transmitter to the receiver when the second value is not smaller than the first value. apparatus. 25. 24. The priority-shared buffer sharing device according to claim 23, wherein the processing element inhibits transmission of the data cell when the second value is not smaller than each threshold value for the priority of the data cell. 26. 24. The prioritized buffer sharing device of claim 23, wherein the at least one threshold value is dynamically adjustable by the processing element based on empirical analysis of data cells to be transmitted to the shared buffer resource. 27. 27. The prioritized system of claim 26, wherein the at least one threshold value is dynamically adjustable by the processing element based on empirical analysis at the transmitter of data cells to be transmitted to the shared buffer resource. Buffer sharing device. 28. 24. The prioritized buffer sharing device of claim 23, wherein the at least one threshold value is dynamically adjustable by the processing element based on empirical analysis of the state of use of the shared buffer resource. 29. 24. The buffer sharing apparatus with priority according to claim 23, wherein there are N possible data cell priorities and N-1 threshold values. 30. The second value is updated by the processing element in response to data received at the transmitter from the receiver that reflects a number of data cells currently stored in the shared buffer source. 23. The buffer sharing device with priority according to 23. 31. 23. The shared buffer with priority according to claim 22, wherein the data cell is an ATM cell. 32. 23. The shared buffer with priority according to claim 22, wherein the data cell has a predetermined fixed length.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),EA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AU,AZ ,BB,BG,BR,BY,CA,CH,CN,CZ, DE,DK,EE,ES,FI,GB,GE,HU,I L,IS,JP,KE,KG,KP,KR,KZ,LK ,LR,LS,LT,LU,LV,MD,MG,MK, MN,MW,MX,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,TJ,TM,TR ,TT,UA,UG,US,UZ,VN (72)発明者 カルダラ,スティーヴン エイ アメリカ合衆国,マサチューセッツ州 01776,サッドベリ,ホースポンド・ロー ド 220番 (72)発明者 マニング,トマス エイ アメリカ合衆国,マサチューセッツ州 01532,ノースボロ,サマー・ストリート 26番────────────────────────────────────────────────── ─── Continuation of front page    (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, L U, MC, NL, PT, SE), OA (BF, BJ, CF) , CG, CI, CM, GA, GN, ML, MR, NE, SN, TD, TG), AP (KE, LS, MW, SD, S Z, UG), EA (AM, AZ, BY, KG, KZ, MD , RU, TJ, TM), AL, AM, AT, AU, AZ , BB, BG, BR, BY, CA, CH, CN, CZ, DE, DK, EE, ES, FI, GB, GE, HU, I L, IS, JP, KE, KG, KP, KR, KZ, LK , LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, R U, SD, SE, SG, SI, SK, TJ, TM, TR , TT, UA, UG, US, UZ, VN (72) Inventor Caldara, Stephen A             Massachusetts, United States             01776, Sudbury, Horse Pond Low             C 220 (72) Inventors Manning, Thomas A             Massachusetts, United States             01532, Northborough, Summer Street               26th

Claims (1)

【特許請求の範囲】 1. 送信器装置からリンクを渡って受信器装置に伝送されるデータセルによる 、受信器装置の共用バッファリソースへの優先度付きアクセスを提供する方法で あって、 伝送されるべきデータセルの優先度レベルを前記送信器装置により決定し、 前記共用バッファリソースへの格納のため前記リンクを渡って前記受信器装置 に伝送されるデータセル数を示す第1のカウントを前記送信器装置において生成 し、 各優先度レベルのデータセルに割付け可能な最大バッファ数となる少なくとも 1つのバッファスレッシヨルドを前記送信器装置において格納し、 前記少なくとも1つのバッファスレッシヨルドが、存在するならば、前記第1 のカウント以下あるか否かを前記送信器装置により識別し、 前記伝送されるべきデータセルの前記優先度レベルに対応する前記少なくとも 1つのバッファスレッシヨルドが前記第1のカウント以下である場合に、前記送 信されるべきデータの伝送を前記送信器装置により禁止する、各段階よりなる方 法。 2. 前記優先度レベルを決定する段階は、更に、前記伝送されるべきデータセ ルの前記優先度レベルを前記データセルのコネクションに基づいて決定する段階 よりなる請求項1記載の方法。 3. N−1個のバッファスレッシヨルドを、決定したN個の優先度レベルごと に格納する請求項1記載の方法。 4. データセルを前記送信器装置により前記リンクを渡って前記 受信器装置に伝送した際に、前記第1のカウントを修正する段階を更に備える請 求項4記載の方法。 5. 前記第1のカウントを修正する段階は、更に、前記送信器装置において前 記受信器装置から、前記共用バッファリソース内のデータセルに割り付けられた バッファ数を示す値を受信し、その値に応じて前記第1のカウントを修正する段 階よりなる請求項1記載の方法。 6. 前記少なくとも1つのバッファスレッシヨルドを格納する段階は、更に、 前記送信器装置により伝送されるべきデータセルの経験的分析に応じて、前記少 なくとも1つのバッファスレッシヨルドを動的に調整する段階よりなる請求項1 記載の方法。 7. 前記少なくとも1つのバッファスレッシヨルドを動的に調整する段階は、 更に、前記送信器装置により伝送されるべきデータセルの優先度の前記送信器装 置における経験的分析に応じて、前記少なくとも1つのバッファスレッシヨルド を動的に調整する段階よりなる請求項6記載の方法。 8. 前記少なくとも1つのバッファスレッシヨルドを格納する段階は、前記少 なくとも1つのバッファスレッシヨルドを、前記共用バッファリソースの利用状 態の前記送信器装置による経験的分析に応じて動的に調整する段階よりなる請求 項1記載の方法。 9. 前記受信器装置内の前記共用バッファリソースに格納可能なデータセルの 最大数を前記送信機装置において確立する段階を更に備える請求項1記載の方法 。 10. 前記伝送を禁止する段階は、更に、前記第1のカウントが前記格納可能 なデータセルの最大数以上である場合に、前記データセルの伝送を禁止する段階 よりなる請求項9記載の方法。 11. 前記データセルはATMセルである請求項1記載の方法。 12. 前記データセルは所定の固定長である請求項1記載の方法。 13. 対応するメモリリソースを有する送信器要素のデータセルによる、受信 器要素の共用バッファリソースへの通信リソースを介する優先度付きアクセスを 提供する方法であって、 前記送信器要素により、前記共用バッファリソースにおいて使用可能な優先度 割付けバッファの最大数を複数のデータセル優先度の各々に対して決定して、該 最大数の各々を前記メモリリソースに格納し、 前記送信器要素により前記共用バッファリソースへの格納のため前記通信リソ ースを介して前記受信器要素へ伝送されたデータセルの数を示す値を前記メモリ リソースに格納し、 データセルが前記共用バッファリソースに伝送された際に前記値を修正し、 前記送信器要素において、第1のデータセルに割当てられた優先度を識別し、 前記値が優先度割付けバッファの各最大数より小さい場合に、前記第1のデー タセルを前記共用バッファリソースへの格納のため前記送信器要素により前記通 信リソースを介して前記受信器要素に伝送する、各段階よりなる方法。 14. 前記優先度割付けバッファの最大数を、前記送信器要素により伝送され るべきデータセルの経験的分析に応じて動的に調整す る段階を更に備える請求項13記載の方法。 15. 前記優先度割付けバッファの最大数を動的に調整する前記段階は、更に 、前記優先度割付けバッファの最大数を、前記送信器要素の前記データセルの優 先度の前記送信器要素における経験的分析に応じて動的に調整する段階よりなる 請求項14記載の方法。 16. 前記優先度割付けバッファの最大数を、前記共用バッファリソースの利 用状態の前記送信器要素における経験的分析に応じて動的に調整する段階を更に 備える請求項13記載の方法。 17. 前記優先度を識別する段階は、更に、前記第1のデータセルに割当てら れた前記優先度を、前記第1のデータセルのコネクションに基づいて識別する段 階よりなる請求項13記載の方法。 18. 前記最大数を画定する段階は、N個のデータセル優先度に対して、更に 、 バッファリソース容量と等価な優先度割付けデータセルの1個の最大数を画定 し、 データセル優先度スレッシヨルドと等価な優先度割付けセルのN−1個の最大 数を画定する、各段階よりなる方法。 19. 前記値を修正する段階は、更に、前記送信器要素において前記受信器要 素から、前記共用バッファリソース内でデータセルに割付けられたバッファ数を 示す値を受信し、この受信値に応じて前記値を修正する段階よりなる請求項13 記載の方法。 20. 前記データセルはATMセルである請求項13記載の方法。 21. 前記データセルは所定の固定長である請求項13記載の方法。 22. 送信器端末と受信器端末とを有する通信媒体と、 前記通信媒体の前記送信器端末に設けられ、データセルを前記通信媒体を渡っ て伝送する送信器と、 前記通信媒体の前記通信機端末に設けられ、前記データセルを格納する対応付 けられた優先度付き共用バッファリソースを有する受信器とを備え、 前記送信器は前記データセルを分析して、そのデータセルに対応付けられた優 先度を決定し、 前記送信器は、前記共用バッファリソースのバッファが同じ優先度のデータセ ルの格納に使用可能である場合に、前記データセルを、前記共用バッファリソー スへの格納のため、前記通信媒体を介して前記受信器に伝送する優先度付きバッ ファ共用装置。 23. 前記送信器は、更に、処理要素とメモリ要素とを備え、該メモリ要素に は該処理要素により、 前記優先度付き共用バッファリソースに格納可能なデータセルの最大数を表す 第1の値と、 前記優先度付き共用バッファリソースへ、そこでの格納のため伝送されるバッ ファの数を表す第2の値と、 前記優先度付き共用バッファリソースに格納可能な各優先度のデータセルの最 大数をそれぞれ表す少なくとも1つのスレッシヨルド値とが保持される請求項2 2記載の優先度付きバッファ共用装置。 24. 前記処理要素は、前記第2の値が前記第1の値よりも小さくない場合に 、前記データセルの前記送信器から前記受信器への伝送を禁止する請求項23記 載の優先度付きバッファ共用装置。 25. 前記処理要素は、前記第2の値が前記データセルの優先度に対する各ス レッシヨルド値よりも小さくない場合に、前記データセルの伝送を禁止する請求 項23記載の優先度付きバッファ共用装置。 26. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース へ伝送されるべきデータセルの経験的分析に基づいて、前記処理要素により動的 に調整可能である請求項23記載の優先度付きバッファ共用装置。 27. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース へ伝送されるべきデータセルの前記送信器における経験的分析に基づいて、前記 処理要素により動的に調整可能である請求項26記載の優先度付きバッファ共用 装置。 28. 前記少なくとも1つのスレッシヨルド値は、前記共用バッファリソース の利用状態の経験的分析に基づいて、前記処理要素により動的に調整可能である 請求項23記載の優先度付きバッファ共用装置。 29. N個の取り得るデータセル優先度とN−1個のスレッシヨルド値とが存 在する請求項23記載の優先度付きバッファ共用装置。 30. 前記第2の値は、前記送信器において前記受信器から受信された、前記 共用バッファソース内に現在格納されているデータセルの数を反映するデータに 応じて前記処理要素により更新される請求項23記載の優先度付きバッファ共用 装置。 31. 前記データセルはATMセルである請求項22記載の優先度付きバッフ ァ共用装置。 32. 前記データセルは所定の固定長である請求項22記載の優先度付きバッ ファ共用装置。[Claims] 1. By data cells transmitted from the transmitter device to the receiver device across the link , Method for providing prioritized access to a shared buffer resource of a receiver device So,   Determining the priority level of the data cells to be transmitted by the transmitter device;   The receiver device across the link for storage in the shared buffer resource Generating a first count at the transmitter device indicating the number of data cells transmitted to And   At least the maximum number of buffers that can be allocated to data cells of each priority level Storing one buffer threshold in said transmitter device;   If the at least one buffer threshold is present, the first Whether or not there is less than the count by the transmitter device,   The at least corresponding to the priority level of the data cell to be transmitted If one buffer threshold is less than or equal to the first count, the The transmission of data to be transmitted is prohibited by the transmitter device, the method comprising: Law. 2. The step of determining the priority level further comprises the step of transmitting the data set to be transmitted. Determining the priority level of the data cell based on the connection of the data cell The method of claim 1 comprising: 3. N-1 buffer thresholds for each of the N determined priority levels A method according to claim 1, wherein 4. Data cells across the link by the transmitter device Modifying the first count upon transmission to a receiver device. The method of claim 4. 5. Modifying the first count may further comprise modifying the first count at the transmitter device. Allocated from the receiver device to a data cell in the shared buffer resource. Receiving a value indicating the number of buffers and modifying the first count according to the value; The method of claim 1, comprising floors. 6. Storing the at least one buffer threshold further comprises: Depending on an empirical analysis of the data cells to be transmitted by the transmitter device, 2. The method of claim 1, further comprising the step of dynamically adjusting at least one buffer threshold. The described method. 7. The step of dynamically adjusting the at least one buffer threshold comprises: Further, the transmitter device has a priority of a data cell to be transmitted by the transmitter device. At least one buffer threshold depending on empirical analysis in the 7. The method of claim 6, further comprising the step of: dynamically adjusting. 8. Storing the at least one buffer threshold comprises: storing the at least one buffer threshold. At least one buffer threshold is used for the shared buffer resource Dynamically adjusting according to an empirical analysis by the transmitter device of the state Item 7. The method according to Item 1. 9. Data cells that can be stored in the shared buffer resource in the receiver device. The method of claim 1, further comprising establishing a maximum number at the transmitter device. . 10. The step of prohibiting the transmission further comprises the step of storing the first count in the storage state. Prohibiting the transmission of the data cells when the number of data cells is equal to or greater than the maximum number. 10. The method of claim 9, comprising: 11. The method of claim 1, wherein said data cells are ATM cells. 12. The method of claim 1, wherein said data cells are of a predetermined fixed length. 13. Reception by data cells of the transmitter element with corresponding memory resources Access to the shared buffer resources of the A method of providing,   Priority available in the shared buffer resource by the transmitter element Determining a maximum number of allocated buffers for each of the plurality of data cell priorities; Storing each of the maximum number in said memory resource;   The communication resource for storage in the shared buffer resource by the transmitter element. A value indicating the number of data cells transmitted to the receiver element via the Stored in resources,   Modifying the value when a data cell is transmitted to the shared buffer resource,   At the transmitter element, identifying a priority assigned to the first data cell;   If the value is less than the respective maximum number of priority allocation buffers, the first data The cell is stored by the transmitter element for storage in the shared buffer resource. Transmitting to the receiver element via a communication resource. 14. The maximum number of the priority allocation buffers is transmitted by the transmitter element. Dynamically adjust according to empirical analysis of data cells to be 14. The method of claim 13, further comprising the step of: 15. The step of dynamically adjusting the maximum number of the priority allocation buffers further comprises: , The maximum number of priority allocation buffers is determined by the priority of the data cells of the transmitter element. Dynamically adjusting according to previous empirical analysis at said transmitter element The method according to claim 14. 16. The maximum number of the priority allocation buffers is determined by the Dynamically adjusting responsive to empirical analysis at the transmitter element for use. 14. The method of claim 13, comprising providing. 17. Identifying the priority may further comprise assigning the priority to the first data cell. Identifying the determined priority based on the connection of the first data cell. 14. The method of claim 13, comprising floors. 18. The step of defining the maximum number further comprises, for the N data cell priorities, ,   Defines the maximum number of one priority-assigned data cell equivalent to buffer resource capacity And   N-1 maximum of priority assigned cells equivalent to data cell priority threshold A method consisting of steps, defining a number. 19. Modifying the value may further comprise modifying the receiver element at the transmitter element. The number of buffers allocated to data cells in the shared buffer resource 14. The method of claim 13, further comprising the step of receiving the indicated value and modifying said value according to said received value. The described method. 20. 14. The method of claim 13, wherein said data cells are ATM cells. 21. 14. The method of claim 13, wherein said data cells are of a predetermined fixed length. 22. A communication medium having a transmitter terminal and a receiver terminal;   A data cell is provided at the transmitter terminal of the communication medium for passing data cells across the communication medium. A transmitter for transmitting   An association provided in the communication terminal of the communication medium for storing the data cell A receiver having a shared buffer resource with priority   The transmitter analyzes the data cell and determines the superior associated with the data cell. Determine your priorities,   The transmitter is configured so that the buffer of the shared buffer resource has the same priority The data cell, if available for storage of the shared buffer resource. Priority buffer to be transmitted to the receiver via the communication medium for storage in the storage medium. Sharing device. 23. The transmitter further comprises a processing element and a memory element, wherein the memory element Is the processing element   Indicates the maximum number of data cells that can be stored in the shared buffer resource with priority A first value;   The buffer transmitted to the prioritized shared buffer resource for storage there. A second value representing the number of fas;   The maximum number of data cells of each priority that can be stored in the shared buffer resource with priority 3. The method of claim 2, wherein at least one threshold value each representing a large number is held. 2. The buffer sharing device with priority according to 2. 24. The processing element may determine if the second value is not less than the first value. 24. Prohibiting transmission of said data cells from said transmitter to said receiver. Priority-based buffer sharing device. 25. The processing element may determine that the second value is a different value for the priority of the data cell. A request to prohibit transmission of the data cell if the value is not smaller than a threshold value. Item 24. The buffer sharing device with priority according to Item 23. 26. The at least one threshold value is the shared buffer resource Based on the empirical analysis of the data cells to be transmitted to the 24. The buffer sharing apparatus with priority according to claim 23, wherein the apparatus is adjustable. 27. The at least one threshold value is the shared buffer resource Based on empirical analysis at the transmitter of data cells to be transmitted to the 27. The prioritized buffer sharing of claim 26, wherein the buffering is dynamically adjustable by processing elements. apparatus. 28. The at least one threshold value is the shared buffer resource Can be dynamically adjusted by the processing element based on empirical analysis of usage of A buffer sharing device with priority according to claim 23. 29. There are N possible data cell priorities and N-1 threshold values. 24. The shared buffer with priority according to claim 23, wherein 30. The second value received at the transmitter from the receiver; For data that reflects the number of data cells currently stored in the shared buffer source 24. The shared buffer with priority according to claim 23, which is updated by the processing element in response to the request. apparatus. 31. 23. The priority buffer according to claim 22, wherein the data cells are ATM cells. Key sharing device. 32. 23. The priority buffer according to claim 22, wherein the data cell has a predetermined fixed length. Sharing device.
JP50686597A 1995-07-19 1996-07-18 Prioritized access to shared buffers Pending JP2001519973A (en)

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/011920 WO1997003549A2 (en) 1995-07-19 1996-07-18 Prioritized access to shared buffers

Publications (1)

Publication Number Publication Date
JP2001519973A true JP2001519973A (en) 2001-10-23

Family

ID=38659668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50686597A Pending JP2001519973A (en) 1995-07-19 1996-07-18 Prioritized access to shared buffers

Country Status (3)

Country Link
JP (1) JP2001519973A (en)
AU (1) AU6501096A (en)
WO (1) WO1997003549A2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI104603B (en) 1997-11-04 2000-02-29 Nokia Networks Oy Control of buffer
US6189035B1 (en) * 1998-05-08 2001-02-13 Motorola Method for protecting a network from data packet overload
US6377546B1 (en) 1998-05-12 2002-04-23 International Business Machines Corporation Rate guarantees through buffer management
DE19825541A1 (en) * 1998-06-08 1999-12-09 Bosch Gmbh Robert Device and method for mapping object addresses
WO2000011841A1 (en) * 1998-08-18 2000-03-02 Madge Networks Limited Method and system for prioritised congestion control in a switching hub
WO2001022689A1 (en) * 1999-09-21 2001-03-29 Touch Technologies, Inc. Method and apparatus for receive or transmit data ordering
US7007071B1 (en) * 2000-07-24 2006-02-28 Mosaid Technologies, Inc. Method and apparatus for reducing pool starvation in a shared memory switch
JP2002374251A (en) * 2001-06-14 2002-12-26 Nec Corp Network monitoring system, data amount count method used for the same, and program thereof
US6513122B1 (en) 2001-06-29 2003-01-28 Networks Associates Technology, Inc. Secure gateway for analyzing textual content to identify a harmful impact on computer systems with known vulnerabilities
US7221678B1 (en) 2001-10-01 2007-05-22 Advanced Micro Devices, Inc. Method and apparatus for routing packets
US7295563B2 (en) 2001-10-01 2007-11-13 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have ordering requirements
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
US20030223442A1 (en) * 2002-05-29 2003-12-04 Huang Anguo T. Buffer memory reservation
US7593409B2 (en) 2005-12-29 2009-09-22 Honeywell International Inc. Apparatus and methods for monitoring network traffic
US8325194B1 (en) 2009-06-10 2012-12-04 Nvidia Corporation Mitigating main crossbar load using dedicated connections for certain traffic types
US8065465B1 (en) * 2009-06-10 2011-11-22 Nvidia Corporation Mitigating main crossbar load using dedicated connections for certain traffic types
US9367487B1 (en) 2009-06-10 2016-06-14 Nvidia Corporation Mitigating main crossbar load using dedicated connections for certain traffic types
EP2696536A1 (en) * 2012-08-07 2014-02-12 Broadcom Corporation Buffer statistics tracking
US9450916B2 (en) 2014-08-22 2016-09-20 Honeywell International Inc. Hardware assist for redundant ethernet network
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
CN113010173A (en) 2019-12-19 2021-06-22 超威半导体(上海)有限公司 Method for matrix data broadcasting in parallel processing
CN113094099A (en) 2019-12-23 2021-07-09 超威半导体(上海)有限公司 Matrix data broadcast architecture
US11403221B2 (en) 2020-09-24 2022-08-02 Advanced Micro Devices, Inc. Memory access response merging in a memory hierarchy

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727537A (en) * 1985-12-24 1988-02-23 American Telephone And Telegraph Company Flow control arrangement for the transmission of data packets to a communication network
JP2736092B2 (en) * 1989-01-10 1998-04-02 株式会社東芝 Buffer device
US5515359A (en) * 1994-08-26 1996-05-07 Mitsubishi Electric Research Laboratories, Inc. Credit enhanced proportional rate control system
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5528591A (en) * 1995-01-31 1996-06-18 Mitsubishi Electric Research Laboratories, Inc. End-to-end credit-based flow control system in a digital communication network

Also Published As

Publication number Publication date
WO1997003549A3 (en) 1997-04-03
AU6501096A (en) 1997-02-18
WO1997003549A2 (en) 1997-02-06

Similar Documents

Publication Publication Date Title
JP2001519973A (en) Prioritized access to shared buffers
US6115748A (en) Prioritized access to shared buffers
US6556578B1 (en) Early fair drop buffer management method
JP2693267B2 (en) Window size determination method and data cell congestion control method
US8169906B2 (en) Controlling ATM traffic using bandwidth allocation technology
US6256315B1 (en) Network to network priority frame dequeuing
US6785236B1 (en) Packet transmission scheduling with threshold based backpressure mechanism
JP2693266B2 (en) Data cell congestion control method in communication network
US6721796B1 (en) Hierarchical dynamic buffer management system and method
US7646715B2 (en) Method and a device for implicit differentiation of quality of service in a network
EP3955550A1 (en) Flow-based management of shared buffer resources
US20050147032A1 (en) Apportionment of traffic management functions between devices in packet-based communication networks
US20040008625A1 (en) Method for monitoring traffic in packet switched network
US6249819B1 (en) Method for flow controlling ATM traffic
US7190699B2 (en) Method and apparatus for implementing multiple credit levels over multiple queues
US7239612B1 (en) Method and apparatus for discarding a prioritized fair share of traffic of network connections
JPH11510008A (en) Minimum guaranteed cell rate method and apparatus
JPH11511303A (en) Method and apparatus for sharing link buffer
JPH11510007A (en) Telecommunications network joint flow control mechanism
EP1665663B1 (en) A scalable approach to large scale queuing through dynamic resource allocation
JPH11168470A (en) Cell buffer device and method for selectively abandoning atm cell
JP2003023450A (en) Rate controller