JP4605911B2 - パケット送出装置 - Google Patents
パケット送出装置 Download PDFInfo
- Publication number
- JP4605911B2 JP4605911B2 JP2001015615A JP2001015615A JP4605911B2 JP 4605911 B2 JP4605911 B2 JP 4605911B2 JP 2001015615 A JP2001015615 A JP 2001015615A JP 2001015615 A JP2001015615 A JP 2001015615A JP 4605911 B2 JP4605911 B2 JP 4605911B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- queue
- transmission
- packet transmission
- unit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/623—Weighted service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置に係わり、特に、可変長パケットのスイッチングを行うIPルータ装置、 Ethernetスイッチ装置などのパケット送出装置に関する。
【0002】
【従来の技術】
IPネットワーク(インターネット)が登場した頃、ネットワーク内では差別化処理などはなく、ある特定のフローに帯域を優先して割り当てるなどの処理は無かった。この初期のインターネット形態では、帯域の割り当ては「早い者勝ち」の世界であり、多くデータを送れば送るほどネットワークの帯域を占有するというもので、スケジューリング論理も単純なFiFo(First In First Out)であった。
しかし、時代は次第にIPネットワークに、電子ファイル・データ、e-mail、静止画像だけではなく、動画、音声というマルチメディア情報を送れる事を期待しはじめた。動画、音声というマルチメディア情報は、いわゆる"リアルタイム・トラフィック"と呼ばれるように、送信元から送信先に対して、「ある一定帯域、一定周期で、データの損失無し」で、通信される事が期待されているトラフィックである。なお、これまでのリアルタイム・トラフィックは、送信元から送信先への固定的な帯域を確保してから通信する、いわゆる電話網にてやり取りされていたトラフィックであった。
【0003】
また、急激に増加したインターネット・ユーザからの膨大なパケット・データは、ネットワーク内でパケットの混雑状態を招き、多くのパケットがネットワーク内で処理できず廃棄され始めた。そうすると、多くのユーザにおいて、目に見て分かるくらいのthroughputの低下が感じられるようになった。ここに、「私は人より多くお金を払うので、throughputを上げてくれ」という要望が生まれる。これはよく、車の一般道と高速道路に例えられる。固定的な帯域を保証してもらうのは高速道路、いろんなトラフィックが帯域の奪い合いをやっているのが一般道、という事だが、注意が必要なのは、IPネットワークの場合、高速道路のトラフィックを保証すればするだけ、ネットワークとしてのリソース(帯域)を一般道から奪っているので、一般道はさらに混在する、という点である。
【0004】
上記の背景は、もともと「統計多重による帯域の有効活用」を旨とするIPネットワークに、帯域制御、優先度制御の必要性を生んだ。インターネットにおける差別化思想は、QoS(Quality of Service)、Diffserve、Intserveなどにより、サービス・ポリシーとして定義、確立されようとしている。差別化思想、サービスポリシーでは、パケット・フロー識別規定(classification)、入力トラフィック特性規定、パケット廃棄優先度規定、帯域保証規定などにより、各々のパケット・フローに対するサービスを管理する。
帯域制御方式の代表的な例として、ストリクト・キューイング(Strict Queuing)と、重み付けキューイング(WFQ:Weighted Fair Queuing)がある。
ストリクト・キューイングは、優先度が高く設定されたパケットがあれば、必ず優先的に先に送出する単純優先度方式である。図8は単純優先度方式の説明図であり、11〜14はクライアント、2はルータ、3はアプリケーションサーバであり、各クライアント11〜14がルータ2を介してサーバ3にパケットを送信する場合であり、Pは優先度を表し、値が大きいほど優先度が高くなっている。ルータ2は同時に各クライアント11〜14からパケット▲1▼〜▲4▼が各ポートに入力すると優先度が高い順に、図3では▲3▼→▲2▼→▲4▼→▲1▼の順にサーバ3に送出する。
【0005】
図8は単純な場合であるが、一般的に優先度制御を行うと、純粋なFiFo(First In First Out)の順序でパケットは送出されなくなる。図9では、▲1▼のパケットが▲5▼のパケットより先に到着しているにも関わらず、▲5▼が先に送出されている事がわかる。以上のように、ストリクト・キューイングでは、優先度の高いパケットが連続して到着した場合、優先度の低いパケットは、優先度の高いパケットが送出し終わるまで、送出されることはない。このため、優先度の低いパケットはキューイング・メモリにて滞留する可能性が高く、スレッショルドを超えて入力があった場合パケット廃棄となる。
ストリクト・キューイング方式の特徴としては、非常に厳格な優先度制御が行われ、スケジューリング処理も簡単、単純であるが、各フロー間に自由度のある帯域設定、優先度設定を行うことができない。
【0006】
重み付けキューイング方式は、優先度順位をアナログ的なパラメータにて、優先比率(重み付け:weight)を決め、決められた比率に従ってパケットを送出する方式である。図10及び図11は重み付けキューイング方式の説明図であり、サーバ3への一つの出力ポートに対して、クライアント11=12.5%、クライアント12=12.5%、クライアント13=25%、クライアント14=50%、という優先比率が割り当てらている。重み付けキューイング方式では、ストリクト・キューイングのように特定の優先度に厳格に偏ることはなく、この比率に従った帯域割り当て処理が行われる(図11参照)。
しかし、重み付けキューイング方式は可変長パケットにおける優先比率制御であり、パケット転送数で重み付け制御すると、最小パケットと最大パケットのサイズの違いが認識されない。Ethernetフレームを例にとると最小64バイト、最大1522バイトなので、ルータ2において図12に示すようにクライアント11,12からのパケットを交互にサーバ3に送出するものとすると、優先比率の誤差が最大24倍近い開きが生じてしまう。この解決方法としては、図13に示すように可変長パケットを固定長サイズにに分割して、固定長データの転送数にて制御する方法がある。
【0007】
しかし、この方式では、ルータ2の図示しないルーチング部あるいはスイッチ部の前段にsegument処理部(分割処理部)、後段にre-assembly処理部(組立て処理部)が必要となる問題がある。特に、後段での組立て処理部において同時に複数のパケットが組み立て中となる事を想定しなければならず、その各々のパケット毎に論理的、もしくは物理的に個別な組立てバッファを用意し、制御する必要が生じる問題がある。図14はルータのパケット送出制御説明図であり、2aはパケットスイッチ部、2bはスケジューラ、2c1〜2c4は各クライアントからのパケットを組み立てる組立てバッファ、2dは各バッファからパケットを読み出して送出するパケット読み出部である。
【0008】
【発明が解決しようとする課題】
(1) 第1の課題
重み付けキューイング(Weighted Fair Queueing)方式はパケット単位に Virtual Clockという概念を導入する。このVirtual Clockとは、パケットが装置から出力されるまでの時間、すなわち、装置内にパケットが存在する時間である。Virtual Clock情報は、装置内の個々のパケット毎に個別に管理しなければならず、その生成、管理は膨大な処理となる。換言すれば、重み付けキューイング方式におけるスケジューラは、装置内部に存在する全パケットに対して大量かつ複雑な制御情報を生成、管理しなければならず、スケジューリング処理が複雑になり、しかも処理時間が長くなる問題がある。
【0009】
(2) 第2の課題
可変長パケットをATMセルのような固定長データに分割し、スケジューラも固定長データ単位にスケジュール管理を行うように作り込むと、スケジューラの制御は比較的簡単にはなる。しかし、そのためには、ルーチング部、スイッチ部の前段に可変長パケットの分割処理が必要となり、かつスイッチ部の後段では組み立て処理が必要となる。そうなると、後段での可変長パケット・組み立てバッファでは、同時に複数のパケットが組み立て中になる事を想定しなければならず、その各々のパケット毎に論理的、もしくは物理的に個別な組み立てバッファを用意する必要があり、装置規模が大きくなる問題がある。
【0010】
(3) 第3の課題
物理帯域を100%有効に使用できることが望ましい。このため、出力先に可変長パケットを無駄な空き帯域無しに、しかも時間的に隙間なくパケット・データを詰めて出力する必要がある。しかし、従来のように複雑なスケジューラ構成では、1回のスケジューリング処理時間が長くなり、出力先へ隙間なくパケット・データを出力することができない。
【0011】
(4) 第4の課題
従来のスケジューラは、スケジューリング対象となる待ち行列(Queue)を1段階で処理しており、優先度設定も全ての行列構成要素(例えばパケット)を対象として設定されている。この従来方式では、転送許可(grant)を各行列構成要素間にて巡回させるためにRound-Robin方式を採用している。Round-Robin方式は、ある待ち行列構成要素が転送許可(grant)を獲得したら、次回のスケジューリング処理において該待ち行列構成要素の優先度を最も低くくする方式である。Round-Robin方式は公正(fair)なスケジューリングには向いているが、非線形な帯域割り当て制御(つまり、差別化サービス)にはそのままでは採用できない。例えば、帯域を高めに設定されている行列構成要素に対しては、転送許可の巡回頻度を上げる必要があるが従来のRound-Robin方式のスケジューラはかかるスケジューリング制御ができない。
【0012】
(5) 第5の課題
可変長パケットを取り扱う物理帯域保証型スケジューラは、大きく2種類に分類される。一つは可変長パケット・データを固定長データに分割して行う方法、もう一つは可変長パケット・データのまま行う方法である。本発明では、可変長パケット・データのままで行う方法を採用する。かかる方法において、スケジューラからの転送許可(grant)は、パケット単位で出力されるのが一般的である。この場合、1回の転送許可において転送されるパケット・データ長は一定ではない。つまり、各行列構成要素において等しく1回の転送許可を巡回したとしても、同じだけの物理帯域を占有したことにはならない。これが数十回、数百回となると、最悪同じ回数だけ転送許可を巡回させているにも関わらず、行列構成要素への割り当て帯域に不公平(unfair)が生じていしまう。これが、可変長パケットを扱うスケジューラにおいて、帯域保証制御を難しくしている原因である。
【0013】
(6) 第6の課題
上記の第5の課題は、1回の転送許可における伝送保証帯域を規定する事により、可変長パケット伝送における不公平感を無くせる。この場合、伝送保証帯域に達する前に送出すべきパケットが存在しなくなった場合の処理を規定する必要がある。かかる処理方式としては、パケットが来るまで待つ方式がある。これは、伝送保証帯域に達するまで、対象行列構成要素に連続して転送許可(grant)を与え続ける方式であるが、物理帯域の100%利用は不可能であり、無駄な空き帯域が生じる問題がある。
【0014】
(7) 第7の課題
前述しているとおり、可変長パケット・スケジューラは、公平な帯域割り当て制御を実現するためにパケット転送個数情報を使用することはできない。なぜならば、同じ10個のパケット・データでも一方の行列構成要素からは最小サイズのパケットが多く、もう一方の行列構成要素からは最大サイズのパケットが多い場合、同じ帯域設定としているのに不公平(unfair)が生じるからである。従って、可変長パケットであっても厳密な帯域制御が行えるようにする必要がある。
【0015】
以上より、本発明の目的はストリクトキューイング方式及び重み付けキューイング方式を併用して可変長パケットを分割することなく帯域制御を可能にし、スケジューラ回路規模の縮小化、高速処理化を図ることである。
本発明の別の目的は、入力ポートと該ポートより入力するパケットに付加される品質クラスとの組み合わせを待ち行列構成要素とし、パケット単位でなくこの待ち行列構成要素単位で帯域制御、優先度制御することによりスケジューラ回路規模の縮小化、高速処理化を図ることである。
本発明の別の目的は、ルーチング部やスイッチ前段のパケット分割処理や後段のパケット組立て処理を不要にすることである。
本発明の別の目的は、1回のスケジューリング処理時間が短くなるように、すなわち、スケジューリング処理時間が最小パケットの伝送時間以内で収まるようにすることである。
【0016】
本発明の別の目的は、待ち行列構成要素を数段階の絶対優先度グループにグルーピングし、グループ内でRound-Robin方式により各待ち行列構成要素に順番にパケット送出権を与え、これにより、単純なRound-Robin方式であっても、優先度の高い特定の行列要素に対して転送許可の巡回頻度を上げれるようにすることである。
本発明の別の目的は、優先度グループを単純な絶対優先度方式により選択することにより、シンプルなハードウェアで高速スケジューリング処理を可能にすることである。
本発明の別の目的は、各優先度グループに属する行列構成要素を任意に設定でき、また、その数に制限を設けないようにでき、しかも、優先度の高いグループの流量と、優先度の低いグループの流量の比率が偏っていても、帯域制御を可能にすることである。
【0017】
本発明の別の目的は、各行列構成要素に対する1回の転送許可による伝送保証帯域を設定して各行列構成要素に割り当てる帯域の制御を行えるようにすることである。
本発明の別の目的は、連続して送出するパケットが存在しなくなれば、直ちにその行列構成要素に対する転送許可を解除し、他の行列構成要素に転送許可を渡し、共有している物理帯域において無駄な空き帯域をなくし、帯域を100%利用できるようにすることである。
本発明の別の目的は、各入力ポートの品質クラス(行列構成要素)毎に所定時間当りに送出するパケットのデータ送出流量(帯域)を設定することにより厳密な帯域制御を実現することである。
【0018】
【課題を解決するための手段】
本発明の第1は、優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置であり、グループ毎に待ち行列を生成し、各待ち行列を構成する要素に順番にパケット送出権を与える待ち行列制御部、少なくとも1つの待ち行列構成要素に応じたパケットが送出待ちになっているグループのうち、優先度が最大のグループをパケット送出グループとして決定するパケット送出グループ決定部を備え、前記待ち行列制御部は前記決定されたパケット送出グループの待ち行列においてパケット送出権のある行列構成要素に応じたパケットを送出するパケット送出装置である。このパケット送出装置は、行列構成要素毎に1回のパケット送出権で保証するデータ送出量を設定する保証データ量設定部、パケット送出権を与えられた行列構成要素に応じたパケットの実際の送出量を監視する監視部、実際のデータ送出量が前記保証データ量と等しくなったとき、送出権を次の行列構成要素に渡すための制御信号を行列構成要素がなくなるまで出力する制御信号発生部、を備え、前記待ち行列制御部は前記制御信号に基づいてパケット送出権を次の行列構成要素に付与する。
【0019】
本発明の第2は、優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置であり、グループ毎に待ち行列を生成し、各待ち行列を構成する要素に順番にパケット送出権を与える待ち行列制御部、少なくとも1つの待ち行列構成要素に応じたパケットが送出待ちになっているグループのうち、優先度が最大のグループをパケット送出グループとして決定するパケット送出グループ決定部を備え、前記待ち行列制御部は前記決定されたパケット送出グループの待ち行列においてパケット送出権のある行列構成要素に応じたパケットを送出するパケット送出装置である。このパケット送出装置は、待ち行列構成要素毎に設定時間当りに送出するパケットのデータ送出流量を設定するデータ送出流量設定部、待ち行列構成要素毎に前記設定時間当りのパケットの実際のデータ送出流量を監視する手段、待ち行列構成要素毎にパケットの実際のデータ送出流量を監視し、該データ送出流量が前記設定データ送出流量に等しくなった時、前記設定時間が経過するまで該待ち行列構成要素に応じたパケットの送出を禁止する送出禁止信号を発生するパケット送出禁止手段を備えている。
【0023】
上記本発明のパケット送出装置は、どの優先度グループに転送許可(grant)を出すかという処理と、その優先度グループに属するどの行列構成要素に転送許可(grant)を出力するかという処理との2段構成でパケットを送出するため、パケット送出制御を簡単な構成で行うことができる。
又、本発明のパケット送出装置は、可変長パケットデータを固定長に分割することなく、可変長のままでスケジューリング処理を行い、各行列構成要素毎に、すなわち、各入力ポートの品質クラス毎に正確かつ、自由に帯域割り当て制御を実現できる。
【0024】
又、本発明のパケット送出装置は、パケット単位でなく、各入力ポートの品質クラス単位でスケジューラ部へ転送要求信号(request)を生成することにより、大幅な回路規模の縮小化、高速化が可能である。
又、本発明のパケット送出装置は、固定長に分割されたデータ単位に対して転送許可(grant)するのではなく、あくまで可変長パケット・データ単位に転送許可するため、パケット・データ自体を分割すること無く転送でき、可変長パケットの分割処理(segment処理)、組立て処理(re-assembly処理)を必要としない。
又、本発明のパケット送出装置は、スケジューラをハードウェアで構成しているため、高速のスケジューリング判定を可能とし、1回のスケジューラ判定時間を最小パケット長の物理的な伝送時間以内に押えることが可能となる。これにより、スケジューラ処理によるディレイを少なくし、最小パケット・サイズが連続して入力された場合でも、無駄な物理的空き帯域を無くして連続的にパケットの送出が可能である。
【0025】
又、本発明のパケット送出装置は、優先度グループを自由に設定できるようにしたから、優先度の高い行列構成要素数と低い優先度の行列構成要素数の比率が偏っていても対応可能である。
又、本発明のパケット送出装置は、転送許可された行列構成要素に応じたパケットは伝送保証帯域を超えるまで転送許可されるため、packet-by-packet単位の装置であるにも関わらず、一回の転送許可において物理的な帯域保証(byte/sec、もしくはbit/sec)が可能である。又、実際の帯域が伝送保証帯域となる前にすべてのパケットの送出が完了すれば直ちに転送許可を解除することにより、無駄な物理的空き帯域が発生するのを防止できる。
又、本発明のパケット送出装置は、基本的に単純優先度制御のRound-Robinスケジューラであるが、パケット毎の流量情報をフィードバックする構成を採用するこにより、ハードウェアによる高速スケジューリング処理が可能となり、しかも、byte/sec、もしくはbit/secという単位で絶対物理帯域の割り当て制御が可能となる。
【0026】
【発明の実施の形態】
(A)第1実施例
(a)パケット送出装置の全体の構成
図1は本発明のパケット送出装置の構成図である。このパケット送出装置は、パケットを伝送路に送出する際、該パケットが到来した入力ポートP0〜Pnとその品質クラスとに基づいて所定のスケジューリングに従って送出するものである図1において、10はn個の入力ポートと1個の出力ポート有するパケット送出装置、110〜11nは入力伝送路、12は出力伝送路、P0〜P1は入力ポートである。パケット送出装置10は入力ポートP0〜Pnと該入力ポートから入力するパケットの品質クラス(サービスクラス)との組み合わせに基づいて優先制御及び帯域制御を行いながらパケットを出力伝送路に送出する。
【0027】
パケット送出装置10は、SONETの場合であれば各伝送路から入力する伝送路信号を光電変換すると共に、SONET終端処理、パケット分離処理などのインタフェース制御を行う入力側IF部210〜21n、入力側IF部から入力するパケットに装置内ヘッダの付加などの処理を施して出力するフォワーディング部220〜22n、フォワーディング部から入力するパケットをQoS毎に振り分けてキューイングするingress側キューイング部231〜23n、スケジュール制御に基づいてキューイング部230〜23nの各キューイングバッファに記憶されているパケットを送出するスケジューリング部24、スケジューリング部から出力するパケットをキューイングして順番に出力するegress側キューイング部25、電光変換、装置内ヘッダの削除、SONETフレーム信号の生成等を行って出力伝送路に送出する出力IF部26を備えている。
【0028】
フォワーディング部220〜22nは図2に示すようにIPパケットPKTに装置内ヘッダFIH(Frame Information Header)を付加して出力するもので、装置内ヘッダFIHは、たとえば、▲1▼ルーチングフラグ/マルチキャストフラグ/廃棄フラグ、▲2▼受信ポート番号、▲3▼出力ポート番号、▲4▼QoS(Quority of Service)、▲5▼パケット長、▲6▼マルチキャストの出力ポート等を含んでいる。このうちQoSには例えば以下の4つのサービスクラス(品質クラス)、
▲1▼iGS(Guranteed Serviceクラス)、
▲2▼iCLS(Controlled Load Serviceクラス)、
▲3▼iBE(Best Effortクラス)、
▲4▼iSpare(予備クラス)、
がある。iGSは要求された帯域を保証するサービスクラス、iCLSは所定の最低帯域を保証するサービスクラス、iBEは品質規定がないサービスクラス、iSpareは予備クラスである。各フォワーディング部220〜22nは、IPアドレス(発信元アドレス/宛先アドレス)、受信ポート番号、レイヤ 4プロトコル(TCP/UDP)、サービス種別(WEB/FTP/TELNET)のいずれか、あるいはこれらの組み合わせに基づいてサービスクラスを決定してパケットに付加する。
【0029】
ingress側キューイング部230〜23nはそれぞれサービスクラス毎に総計4つのキューイングバッファQBFi1〜QBFi4(i=0〜n)を備え、対応するフォワーディング部220〜22nから入力するパケットのQoSを参照し、サービスクラス毎にパケットをキューイングバッファQBFi1〜QBFi4に記憶する。又、ingress側キューイング部は、スケジューリング部24からの転送許可により順番にパケットを送出する。
【0030】
(b)スケジューリング部
スケジューリング部24はキューイング部230〜23nの各キューイングバッファQBF01〜QBF04..QBF71〜QBF74にキューイングされているパケットをスケジュール制御により順番に送出するもので、図3、図4に示す構成を備えている。尚、図3にはingress側キューイング部のキューイングバッファQBF01〜QBF04..QBF71〜QBF74を含めて示している。
図3、図4は図1におけるとスケジューリング部24の構成図であり、二分した一方を図3に、他方を図4に示している。スケジューリング部24は大別すると、ポート対応部310〜317(n=7)、スケジューラ32、パケット合成部33を有し、各ポート対応部310〜317は同一の構成を備えている。
【0031】
(b-1) ポート対応部
ポート対応部310は、ポートP0から入力するパケットをサービスクラス(品質クラス)毎に振り分けてキューイングし、スケジューラ32からの転送許可に基づいてパケットを送出する部分で、GS用バッファQBF01、CLS用バッファQBF02、BE用バッファQBF03、Spare用バッファQBF04を備えている。同様に、ポート対応部31i(i=1〜7)はポートPi(i=1〜7)から入力するパケットをサービスクラス毎に振り分けてキューイングし、スケジューラ32からの転送許可に基づいてパケットを送出する部分であり、GS用バッファQBFi1、CLS用バッファQBFi2、BE用バッファQBFi3、Spare用バッファQBFi4を備えている。
各ポート対応部31i(i=0〜7)は上記構成に加えて、リクエスト信号発生部31a、リクエスト禁止部31b、転送許可部(Grant部)31c、連続転送許可部31d、伝送保証帯域記憶部31e1〜31e4、レジスタ31f、設定値ロード部31g、オクテットカウンタ31h、比較部31i、合成部31jを有している。
【0032】
リクエスト信号発生部31aは、各キューイングバッファQBF01〜QBF04にそれぞれ転送待ちパケットが存在するとき、転送許可を要求するリクエスト信号(Request)R11〜R14を発生する。リクエスト禁止部31bは、所定サービスクラスのパケットを設定時間内に設定量以上送出したとき、該サービスクラスのパケットの送出を禁止するためにリクエスト信号をマスクし、リクエスト信号がスケジューラ32に入力するのを禁止する。転送許可部(Grant部)31cはスケジューラ32から入力する転送許可信号(Grant)に基づいてキューイングバッファ QBF01〜QBF04にパケットの転送を許可する。連続転送許可部31dは連続してパケットの転送を許可信号を送出すると共に、所定の条件が成立したとき次の行列構成要素にパケット送出権を与えるようスケジューラ32に巡回信号(Rotate)を入力する。所定の条件とは、▲1▼1回の転送許可により送出可能なデータ量(伝送保証データ量)を送出したとき、▲2▼実際の送出データ量が1回の転送許可により送出可能な伝送保証データ量に等しくなる前にパケットがバッファからすべて送出されたときであり、いずれかの条件が成立すると、転送許可信号(Grant)の出力を停止すると共に、巡回信号(Rotate)を出力する。
【0033】
伝送保証データ量記憶部31e1〜31e4は1回の転送許可により送出可能な伝送保証データ量(byte/sec)TH1〜TH4をサービスクラス毎に記憶し、設定値ロード部31gは転送許可された入力ポートのサービスクラスに応じた設定データ量THiをレジスタ31fにロードする。オクテットカウンタ31hは実際に送出されるパケットデータのオクテット数をカウントし、比較部31iは実際に送出されるパケットのオクテット数とレジスタ31fに設定された伝送保証データ量 THiを比較し、一致したときStop信号を出力すると共に、オクテットカウンタ31hをリセットする。合成部31jは各キューイングバッファQBF01〜QBF04から出力するパケットを合成してパケット合成部33を介してegress側キューイング部25に送出する。
【0034】
(b-2) スケジューラ
スケジューラ32において、レジスタ32a01〜32a74には入力ポートP0〜P7のサービスクラス(iGS, iCLS, iBE, iSpare)毎に一定時間内に送出可能な最大データ量THi1〜THi4(byte/sec)(i=0〜7)が設定される。カウンタ32b01〜32b74は各入力ポートP0〜P7のサービスクラス(iGS, iCLS, iBE, iSpare)毎に設定時間内に実際に送出したパケットデータ量をカウントするものである。フロー識別部32cはパケットに付加された装置内ヘッダFIHを参照して送出パケットの入力ポート番号及びサービスクラスを識別し、識別した入力ポート番号/サービスクラスに応じたカウンタ32b01〜32b74により送出データ量をカウントさせる。比較部32e01〜32e74は、各入力ポートの品質クラス毎のパケットデータ送出量が設定最大データ量THi1〜THi4と等しくなった時、すなわち、カウンタ32b01〜32b74の計数値が設定最大データ量THi1〜THi4に等しくなったとき、設定時間が経過するまで該パケットの送出を禁止する送出禁止信号 INHを発生する。リセット部32fは設定時間毎に各カウンタの計数値をリセットする。
【0035】
リクエスト集積部32gはポート対応部310〜317から出力する32個のリクエスト信号を集積して、順番に並べて出力し、グループ設定部32hは、第1〜第4優先グループを設定すると共に、入力ポートと該ポートより入力するパケットのサービスクラスとの組み合わせを待ち行列構成要素とし、これら各行列構成要素が属するグループを設定する。図5(A)の例では、
(1) 各入力ポートP0〜P7におけるサービスクラスGSを第1優先度グループの行列構成要素P0-GS〜P7-GSとし、
(2) 各入力ポートP0〜P7におけるサービスクラスCLSを第2優先度グループの行列構成要素P0-CLS〜P7-CLSとし、
(3) 各入力ポートP0〜P7におけるサービスクラスBEを第3優先度グループの行列構成要素P0-BE〜P7-BEとし、
(4) 各入力ポートP0〜P7におけるサービスクラスSpareを第4優先度グループの行列構成要素P0-Spare〜P7-Spareとする。
【0036】
図5(B)は、
(1) 各入力ポートP0〜P6におけるサービスクラスGSを第1優先度グループの行列構成要素P0-GS〜P6-GSとし、
(2) 各入力ポートP0〜P7におけるサービスクラスCLS、入力ポートP7のサービスクラスGS、入力ポートP0のサービスクラス BEをそれぞれ第2優先度グループの行列構成要素P7-GS,P0-CLS〜P7-CLS,P0-BEとし、
(3) 各入力ポートP1〜P7におけるサービスクラスBEを第3優先度グループの行列構成要素P1-BE〜P7-BEとし、
(4) 各入力ポートP0〜P7におけるサービスクラスSpareを第4優先度グループの行列構成要素P0-Spare〜P7-Spareとする。
以上のように、各優先度グループには適宜必要な行列構成要素を含ませることができる。
【0037】
優先度マッピング部32iは32個のリクエスト信号を優先度グループ毎に仕分けして出力する。すなわち、優先度マッピング部32iは32個のリクエスト信号を、(1) 第1優先度グループに属する入力ポート/QoS(行列構成要素)に応じたリクエスト信号、(2) 第2優先度ループに属する行列構成要素に応じたリクエスト信号、(3) 第3優先度グループに属する行列構成要素に応じたリクエスト信号、(4) 第4優先度ループに属する行列構成要素に応じたリクエスト信号のそれぞれに分類して出力する。
絶対優先度判定部32jは絶対優先度判定処理を行い、所属する少なくとも1つの行列構成要素から転送要求のリクエスト信号(Request)発生しているグループのうち優先度が最大のグループをパケット送出グループとして決定し、該グループにenable信号(有効信号を)を出力する。すなわち、第1優先グループに所属する行列構成要素からリクエスト信号が発生していれば、該第1優先グループにイネーブル信号を入力する。しかし、第1優先グループに所属する行列構成要素からリクエスト信号が発生せず、第2優先グループに所属する行列構成要素からリクエスト信号が発生していれば、該第2優先グループにイネーブル信号を入力する。
【0038】
各優先グループ毎に設けられたランドロビン回路33ki(i=1〜4)は第i優先度グループの各行列構成要素で待ち行列を生成し、各待ち行列構成要素にラウンドロビン方式で順番に転送許可(パケット送出権)を与える。Round-Robin方式は、基本的な巡回方向に順番に、かつ、均等に転送許可(パケット送出権)を行列構成要素に与え、かつ、前回転送許可した行列構成要素を今回では最低優先度となるようにするルールで転送許可を与える方式である。基本的な巡回方向は、優先度グループ設定時に固定的に設定される。ここで注意する事は、転送許可は、あくまで送出待ちパケットが存在する待ち行列構成要素(リクエスト信号を出力している待ち行列構成要素)に対して出力される事である。
【0039】
図6はRound-Robin方式の説明図であり、図5(A)の第1優先グループの待ち行列を示している。斜線で示す位置が行列先頭で、優先度が最も高く、以下順に時計方向に優先度が低くなっており、図6(A)では、行列構成要素P0-GSの優先度が最高で、行列構成要素P7-GSの優先度が最低になっている。
Round-Robin方式では、P0-GS→ P1-GS→ P2-GS→ P3-GS→ P4-GS→ P5-GS→ P6-GS→ P7-GS→P0-GS→・・・の順番に、かつ、均等に各行列構成要素に転送許可(パケット送出権)を与える。すなわち、第1優先グループが図6(A)に示す状態にあるとき、この第1優先グループに転送許可が出されると(enable="1")、先頭の行列構成要素P0-GSにパケット送出権を与え(Grant)、該行列構成要素P0-GSに応じた送出待ちパケットを一定量送出させる。又、送出完了により巡回信号(Rotate)が発生すると、図6(B)に示すように、各行列構成要素の位置を反時計方向に1づつシフトし、次のP1-GSを先頭の行列構成要素とし、P0-GSを最低優先度の行列構成要素とする。そして、再び第1優先グループに転送許可が出されると、先頭の行列構成要素P1-GSにパケット送出権を与え、該行列構成要素P1-GSに応じたパケットを一定量送出させる。以後、同様に順番に、かつ、均等に各行列構成要素に転送許可(送出権)を与える。ただし、先頭の第1優先度の行列構成要素に応じた送出待ちパケットが存在しなければ、すなわち、該行列構成要素から転送要求のリクエスト信号(Request)が発生していなければ、第2優先度の行列構成要素(図6(A)ではP1-GS)にパケット送出権を与える。又、第2優先度の行列構成要素P1-GSに応じた送出待ちパケットが存在しなければ、第3優先度の行列構成要素P2-GSにパケット送出権を与え、以下同様に送出待ちパケットが存在する行列構成要素にパケット送出権を与える。
【0040】
以上より、絶対優先度判定部32jからイネーブル信号(有効信号)が発生すると、該イネーブル信号が入力したランドロビン回路33kiは、自身の待ち行列の先頭行列構成要素からリクエスト信号(Request)が入力されているか調べ、入力されていれば対応するキューイングバッファに対してパケットの転送許可 (Grant)を出力する。又、設定されている伝送保証データ量のパケットデータの転送が完了し、あるいは、全待ちパケットの送出が完了し、連続転送許可部31dから巡回信号(Rotate)が入力すれば、先頭の行列要素を末尾に移動させ、残りの行列構成要素を1づつ前進させ、これにより、次の行列構成要素を先頭に位置させる。
【0041】
(c)全体の動作
以上より、図3,図4には8ポート(P0〜P7)のスケジューリング部が示され、サービスクラス単位に待ち行列要素Queue-iGS,Queue-iCLS,Queue-iBE,Queue-iSpareが構成され、各待ち行列構成要素に応じたキューイングバッファQBFi1〜 QBFi4が設けられている。スケジューリング部24はこの待ち行列要素に対して帯域制御を行う。
各待ち行列要素に応じた送出待ちパケットがキューイングバッファに存在するとき、リクエスト信号発生部31aは転送要求のリクエスト信号(Request)を発生してスケジューラ32に入力する。絶対優先度判定部32jは所属する行列構成要素のリクエスト信号(Request)が少なくとも1つ入力されているグループのうち優先度が最大のグループをパケット送出グループとして決定し、該グループにenable信号(有効信号)を出力する。
【0042】
各優先度グループには、個別のRound-Robin回路33k1〜33k4が用意されておりenable信号が与えられたグループのRound-Robin回路33kiが有効となる。このRound-Robin回路33kiは、リクエスト信号(Request)を出力している行列構成要素の中から最も優先度の高い行列構成要素(P0-GSとする)を求め、該行列構成要素P0-GSに対して転送許可信号(Grant)を出力する。転送許可信号(Grant)は、行列構成要素P0-GSに応じた入力ポートP0の該当するキューイングバッファQBF01にGrant回路31cを介して伝えられる。これにより、キューイングバッファQBF01は記憶するパケットの転送を開始する。
この時、行列構成要素P0-GSに対して予め設定されている伝送保証帯域値(伝送保証データ量byte/sec)TH1をレジスタ31fにロードする。これは、行列構成要素P0-GSに対して一回の転送許可において許されている物理帯域を守るためである。基本的に行列構成要素P0-GSに応じたキューイングバッファQBF01からのパケット読み出しは、実際の送出データ量が伝送保証データ量TH1と等しくなるまで連続して行われる。すなわち、比較部31iにより実際の送出データ量が保証データ量に達したことが検出されると、連続Grant回路31dは巡回信号(Rotate)をスケジューラ部32へ出力する。又、連続Grant回路31dは、実際の送出データ量が伝送保証データ量に達しなくても、待ちパケットをすべて送出してバッファが空になったことを検出すると転送許可状態(Grant状態)を放棄し、巡回信号(Rotate)をスケジューラ部32へ出力する。
【0043】
キューイングバッファQBF01から読み出されたパケットはフロー識別部32cにより入力ポート番号/サービスクラスが識別され、行列構成要素はP0-GSのパケットフローであると識別される。これにより、スケジューラ部32における行列構成要素P0-GSに応じたカウンタ32b01はパケットの流量をカウントする。各カウンタ32b01〜32b74は同様にパケットデータの流量をカウントし、設定時間内における対応する行列構成要素に応じたパケットの流量を計測し、該設定時間がくれば自動的にクリアされる。各行列構成要素には予め設定時間における最大帯域(最大送出データ量byte/sec)が設定されており、この時間内にカウンタ32b01〜32b74の計数値が設定値と等しくなると、比較部32e01〜 32e74は送出禁止信号INHを出力し、リクエスト禁止部31bはこの送出禁止信号により対応する行列構成要素に応じたリクエスト信号(Request)をマスクする。この結果、いくら行列構成要素に応じた送出待ちパケットが存在していても、スケジューラ部32からの転送許可は出力されなくなる。
【0044】
本発明では優先度グループの選択論理を単純な絶対優先度方式としている。単純な絶対優先度方式で良い理由を説明する。ここでいう単純な絶対優先度方式とは、「あるスケジューリング処理において、その瞬間の最も優先度の高いグループが必ず選択される」というものである。つまり、高優先度グループにある程度パケットが存在している場合、転送許可(Grant)はその高優先度グループに属する行列構成要素間にて巡回し、それより低優先度グループへ転送許可が渡される事はない。従って、この絶対優先度方式だけでは、最悪のケースの場合、低優先度グループの行列構成要素にパケット送出権が与えられない可能性が出てくる。しかし、本発明では、各行列構成要素単位に流量カウンタ32b01〜32b74が用意されており、常に設定流量と実際の流量との比較処理を行っており、実際の流量が設定流量を超えた事が検出されると、その行列構成要素からの転送要求のリクエスト信号(Request)をマスクする。このため、設定流量に達した行列構成要素に対して以後設定時間内にスケジューラから転送許可(Grant)が出力されろことはない。これにより、本発明によれば、各行列構成要素毎に実際の流量を監視して不当な帯域割り当てを防止できる。
【0045】
本発明では、1回の転送許可による伝送保証データ量に実際の送出データ量が達しなくても、待ちパケットをすべて送出してバッファが空になったことを検出すると転送許可状態を解除し、他の行列構成要素に対して転送許可(パケット送出権)を渡すようにしている。このようにすれば、共有している物理帯域において無駄な空き帯域なくなり、帯域を100%利用する事が可能となる。しかし、この方式は、伝送保証帯域に達しないにも関わらず、転送許可状態を解除することを許した事になり、各行列構成要素に割り当てた帯域保証が守られるのかという疑問が生まれる。しかし、本発明では設定時間毎に前述のマスク制御により帯域を制御するため何らの問題は生じない。
【0046】
(B)第2実施例
図7は本発明の第2実施例であるn組の入出力ポートを有するパケットスイッチ装置の全体構成図である。このパケットスイッチ装置は、パケットを所定の伝送路に送出する際、ポート部毎に該パケットが到来した入力ポートとパケットのサービスクラスとに基づいて所定のスケジューリングを行って伝送路に送出する。
図7において、510〜51nは1組の入出力ポートに対応して設けられたポート部、52は各入力ポートから到来するパケットを所定の出力ポートにスイッチングするポート接続部(スイッチ部)であり、各ポート部510〜51nは同一の構成を備えている。
各ポート部510〜51nは、パケット入力方向に関して、入力側IF部(図示せず)から入力するパケットに所定の処理を施して出力するフォワーディング部61、フォワーディング部から入力するパケットを待ち行列(キュー)に接続して順番に出力するingress側キューイング部62を備え、出力方向に関してegress側キューイング部63、所定のスケジューリングに従ってパケットを出力側IF部から伝送路に送出するスケジューリング部64を備えている。
【0047】
フォワーディング部61は第1実施例のフォワーディング部220〜22nと同様にIPパケットに装置内ヘッダFIH(Frame Information Header)を付加して出力する。
ingress側キューイング部62はフォワーディング部から入力するパケットを待ち行列(キュー)に接続して順番に出力するもので、例えば1個のキューイングバッファを備えFIFO形式でパケットを蓄積/出力するもの、あるいは、QoSのサービスクラス毎にキューイングバッファを備え、各バッファにサービスクラス対応のパケットを蓄積し、優先度の高いサービスクラスのパケットから出力するもの等がある。
スイッチ部52はn入力、n出力のスイッチであり、各ポート部510〜517(n=7)から入力するパケットをスイッチングして所定のポート部に出力する。
egress側キューイング部63は多数のキューイングバッファを備え、スイッチ部52から出力するパケットを該パケットの入力ポート毎に仕分けると共にQoSのサービスクラス毎に仕分けしてそれぞれを各キューイングバッファに記憶する。入力ポート数を8、QoSのサービスクラス数を4(iGS,iCLS,iBE,iSpare)とすれば、egress側キューイング部63は各入力ポート毎に4個づつ総計32個のキューイングバッファQBF01、QBF02,...QBF74を備え、それぞれにパケットを記憶する。
【0048】
スケジューリング部64はegress側キューイング部63の各バッファQBF01〜 QBF74にキューイングされているパケットを所定のスケジュールに従って送出する。すなわち、スケジューリング部64は、各バッファに蓄積されたパケットに対して、帯域を管理しながらパケット単位に転送許可(grant)を出力し、パケットを出力側IF部を介して伝送路に送出する。スケジューリング部64は第1実施例と同様に図3、図4に示す構成を備えている。ただし、キューイングバッファQBF01〜QBF74を含めて示している。
ここで注意すべき点は、入力ポートP0から入力したパケットはサービスクラス(iGS,iCLS,iBE,iSpare)毎に仕分けされてキューイングバッファQBF01〜QBF04にキューイングされ、入力ポートP1から入力したパケットはサービスクラス(iGS,iCLS,iBE,iSpare)毎に仕分けされてキューイングバッファQBF11〜QBF14にキューイングされ、以下同様に入力ポートP7から入力したパケットはサービスクラス(iGS,iCLS,iBE,iSpare)毎に仕分けされてキューイングバッファQBF71〜QBF74にキューイングされる点である。スケジューリング部64の動作は第1実施例と同じである。
以上では、本発明をパケットスイッチング装置に適用した場合について説明したが、パケットルーチング装置にも本発明を適用することができる。
【0049】
・付記
(付記1)優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置において、
グループ毎に待ち行列を生成し、各待ち行列を構成する要素に順番にパケット送出権を与える待ち行列制御部、
少なくとも1つの待ち行列構成要素に応じたパケットが送出待ちになっているグループのうち、優先度が最大のグループをパケット送出グループとして決定するパケット送出グループ決定部、
を備え、待ち行列制御部は前記決定されたパケット送出グループの待ち行列においてパケット送出権のある行列構成要素に応じたパケットを送出することを特徴とするパケット送出装置。
【0050】
(付記2)前記待ち行列制御部は、パケット送出権のある行列構成要素に応じたパケットが送出待ちになっていなければ次の順位の行列構成要素に応じた送出待ちパケットを送出する、
ことを特徴とする付記1記載のパケット送出装置。
(付記3)入力ポートと該ポートより入力するパケットに付加する各品質クラスの組み合わせを待ち行列構成要素とし、それぞれの待ち行列構成要素が属するグループを設定するグループ設定部、
を備え、前記待ち行列制御部は、
待ち行列毎に各待ち行列構成要素にラウンドロビン形式で順番に、かつ、均等にパケット送出権を与える、
ことを特徴とする付記1記載のパケット送出装置。
【0051】
(付記4)待ち行列構成要素毎に送出待ちのパケットを記憶するバッファ部、送出待ちパケットが記憶されているバッファ部に応じた待ち行列構成要素毎に送出要求のリクエスト信号を発生するリクエスト発生部、
を備え、前記送出グループ決定部は、各グループに属する待ち行列構成要素からのリクエスト信号の有無に基づいて送出待ちパケットが存在するグループを識別し、これらグループのうち優先度が最大のグループをパケット送出グループとして決定する、
ことを特徴とする付記1記載のパケット送出装置。
【0052】
(付記5)行列構成要素毎に1回のパケット送出権で保証するデータ送出量を設定する保証データ量設定部、
パケット送出権を与えられた行列構成要素に応じたパケットの実際の送出量を監視する監視部、
実際のデータ送出量が前記保証データ量と等しくなったとき、送出権を次の行列構成要素に渡すための制御信号を出力する制御信号発生部、
を備え、前記待ち行列制御部は、該制御信号に基づいてパケット送出権を次の行列構成要素に付与する、
ことを特徴とする付記1または3記載のパケット送出装置。
(付記6)前記制御信号発生部は、実際の帯域が保証帯域を越える前にパケットがバッファからすべて送出されたことを検出したとき、前記制御信号を出力する、
ことを特徴とする付記5記載のパケット送出装置。
【0053】
(付記7)待ち行列構成要素毎に設定時間当りに送出するパケットのデータ送出流量を設定するデータ送出流量設定部、
待ち行列構成要素毎に前記設定時間当りのパケットの実際のデータ送出流量を監視する手段、
待ち行列構成要素毎にパケットの実際のデータ送出流量を監視し、該データ送出流量が前記設定データ送出流量に等しくなった時、前記設定時間が経過するまで該待ち行列構成要素に応じたパケットの送出を禁止する送出禁止信号を発生するパケット送出禁止手段、
を備えたことを特徴とする付記1又は3記載のパケット送出装置。
【0054】
(付記8)パケット送出禁止手段は、前記設定時間毎に実際のデータ送出流量を零にクリアして送出禁止を解除すること、
を特徴とする付記7記載のパケット送出装置。
(付記9)前記リクエスト発生部は、所定の待ち行列構成要素に対して送出禁止信号が発生したとき、該待ち行列構成要素に応じた送出待ちパケットが存在してもリクエスト信号を発生しない、
ことを特徴とする付記8記載のパケット送出装置。
【0055】
【発明の効果】
以上本発明によれば、ストリクトキューイング方式及び重み付けキューイング方式を併用して可変長パケットを分割することなく帯域制御を可能にし、スケジューラの回路規模の縮小化、高速処理化を図ることができる。
又、本発明によれば、入力ポートと該入力ポートより入力するパケットの品質クラスの組み合わせを待ち行列構成要素とし、パケット単位でなくこの待ち行列構成要素単位で帯域制御、優先度制御するようにしたから、スケジューラの回路規模の縮小化、高速処理化を図ることができ。
又、本発明によれば、パケット分割処理やパケット組立て処理を不要にすることができる。
【0056】
又、本発明によれば、1回のスケジューリング処理時間が短くなるように、すなわち、スケジューリング処理時間が最小パケットの伝送時間以内で収まるように構成できる。このため、たとえ最小パケットを連続して出力する状況においても、空き帯域なくパケット・データを連続して出力することができる。
又、本発明によれば、待ち行列構成要素を数段階の絶対優先度グループにグルーピングし、グループ内でRound-Robin方式により各待ち行列構成要素に順番にパケット送出権を与えるようにしたから、単純なRound-Robin方式であっても、優先度の高い特定の行列要素に対して、転送許可の巡回頻度を上げることが可能となる。
又、本発明によれば、優先度グループを単純な絶対優先度方式により選択することにより、簡単なハードウェアによる高速スケジューリング処理ができる。
【0057】
又、本発明によれば、各優先度グループに属する行列構成要素を任意に設定でき、また、その数に制限を設けないようにできる。しかも、優先度の高いグループの流量と、優先度の低いグループの流量の比率が偏っていても、帯域制御が可能である。
又、本発明によれば、行列構成要素毎に1回の転送許可による伝送保証帯域を設定するようにしたから、各行列構成要素に割り当てる帯域の制御及び帯域の管理が可能となる。
又、本発明によれば、送出する待ちパケットが存在しなくなれば、直ちにその行列構成要素に対する転送許可を解除し、他の行列構成要素に転送許可を渡すようにしたから、共有している物理帯域において無駄な空き帯域をなくすことができる。
【0058】
又、本発明によれば、各行列構成要素毎に所定時間当りに送出するパケットのデータ送出流量(帯域)を設定し、各行列構成要素毎にパケットのデータ送出流量を監視し、該データ送出流量が設定データ送出流量を越えた時、所定時間が経過するまで行列構成要素に応じたパケットの送出を禁止するようにしたから、厳密な帯域制御を実現できる。
【図面の簡単な説明】
【図1】本発明のパケット送出装置の構成図である。
【図2】装置内ヘッダの構成図である。
【図3】スケジューリング部の詳細構成図(その1)である。
【図4】スケジューリング部の詳細構成図(その2)である。
【図5】優先度グループの例である。
【図6】ラウンドロビン方式の説明図である。
【図7】本発明のパケットスイッチ装置の全体構成図である。
【図8】単純優先度方式の説明図である。
【図9】単純優先度方式の別の説明図である。
【図10】重み付けキューイング方式の説明図である。
【図11】重み付けキューイング方式の別の説明図である。
【図12】重み付けキューイング方式の問題点説明図である。
【図13】重み付けキューイング方式の問題点解決手法の説明図である。
【図14】重み付けキューイング方式の解決手法の問題点説明図である。
【符号の説明】
10・・パケット送出装置
110〜11n・・入力伝送路
12・・出力伝送路
211〜21n・・入力側IF部
221〜22n・・フォワーディング部
230〜23n・・ingress側キューイング部
24・・スケジューリング部
25・・egress側キューイング部
26・・出力IF部
P0〜Pn・・入力ポート
QBFi1〜QBFi4(i=0〜n)・・キューイングバッファ
Claims (2)
- 優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置であり、グループ毎に待ち行列を生成し、各待ち行列を構成する要素に順番にパケット送出権を与える待ち行列制御部、少なくとも1つの待ち行列構成要素に応じたパケットが送出待ちになっているグループのうち、優先度が最大のグループをパケット送出グループとして決定するパケット送出グループ決定部を備え、前記待ち行列制御部は前記決定されたパケット送出グループの待ち行列においてパケット送出権のある行列構成要素に応じたパケットを送出するパケット送出装置において、
行列構成要素毎に1回のパケット送出権で保証するデータ送出量を設定する保証データ量設定部、
パケット送出権を与えられた行列構成要素に応じたパケットの実際の送出量を監視する監視部、
実際のデータ送出量が前記保証データ量と等しくなったとき、送出権を次の行列構成要素に渡すための制御信号を行列構成要素がなくなるまで出力する制御信号発生部、
を備え、前記待ち行列制御部は前記制御信号に基づいてパケット送出権を次の行列構成要素に付与する、
ことを特徴とするパケット送出装置。 - 優先度がそれぞれ異なる複数のグループに属するパケットを順に送出するパケット送出装置であり、グループ毎に待ち行列を生成し、各待ち行列を構成する要素に順番にパケット送出権を与える待ち行列制御部、少なくとも1つの待ち行列構成要素に応じたパケットが送出待ちになっているグループのうち、優先度が最大のグループをパケット送出グループとして決定するパケット送出グループ決定部を備え、前記待ち行列制御部は前記決定されたパケット送出グループの待ち行列においてパケット送出権のある行列構成要素に応じたパケットを送出するパケット送出装置において、
待ち行列構成要素毎に設定時間当りに送出するパケットのデータ送出流量を設定するデータ送出流量設定部、
待ち行列構成要素毎に前記設定時間当りのパケットの実際のデータ送出流量を監視する手段、
待ち行列構成要素毎にパケットの実際のデータ送出流量を監視し、該データ送出流量が前記設定データ送出流量に等しくなった時、前記設定時間が経過するまで該待ち行列構成要素に応じたパケットの送出を禁止する送出禁止信号を発生するパケット送出禁止手段、
を備えたことを特徴とするパケット送出装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001015615A JP4605911B2 (ja) | 2001-01-24 | 2001-01-24 | パケット送出装置 |
US09/864,995 US6993041B2 (en) | 2001-01-24 | 2001-05-24 | Packet transmitting apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001015615A JP4605911B2 (ja) | 2001-01-24 | 2001-01-24 | パケット送出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002217961A JP2002217961A (ja) | 2002-08-02 |
JP4605911B2 true JP4605911B2 (ja) | 2011-01-05 |
Family
ID=18882138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001015615A Expired - Fee Related JP4605911B2 (ja) | 2001-01-24 | 2001-01-24 | パケット送出装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6993041B2 (ja) |
JP (1) | JP4605911B2 (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002281063A (ja) * | 2001-03-21 | 2002-09-27 | Nec Corp | パケットスイッチ及びそれに用いるパケットメモリアクセス方法 |
US7248593B2 (en) * | 2001-09-25 | 2007-07-24 | Intel Corporation | Method and apparatus for minimizing spinlocks and retaining packet order in systems utilizing multiple transmit queues |
US7039061B2 (en) * | 2001-09-25 | 2006-05-02 | Intel Corporation | Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues |
US7362751B2 (en) * | 2001-10-03 | 2008-04-22 | Topside Research, Llc | Variable length switch fabric |
US7073005B1 (en) * | 2002-01-17 | 2006-07-04 | Juniper Networks, Inc. | Multiple concurrent dequeue arbiters |
US20030147349A1 (en) * | 2002-02-01 | 2003-08-07 | Burns Daniel J. | Communications systems and methods utilizing a device that performs per-service queuing |
EP1511236A1 (en) * | 2002-05-30 | 2005-03-02 | Matsushita Electric Industrial Co., Ltd. | Packet transfer circuit and packet transfer method |
EP1553735A1 (en) | 2002-10-17 | 2005-07-13 | Matsushita Electric Industrial Co., Ltd. | Packet transmission/reception device |
JP4004389B2 (ja) * | 2002-11-27 | 2007-11-07 | 富士通株式会社 | バッファメモリ管理方法及びシステム |
WO2004107185A1 (en) * | 2003-05-27 | 2004-12-09 | Macdonald, Dettwiler And Associates Ltd. | Satellite communications system for providing global, high quality movement of very large data files |
US7551557B2 (en) * | 2003-06-19 | 2009-06-23 | International Business Machines Corporation | Method and system for ensuring arbitration fairness in bus ring topology |
DE10337067B4 (de) * | 2003-08-12 | 2008-04-17 | Infineon Technologies Ag | Optimierung des Datendurchsatzes einer Mobilfunk-Verbindung über effiziente Pakettypwechsel |
JP4580871B2 (ja) * | 2003-12-11 | 2010-11-17 | パナソニック株式会社 | パケット送信装置 |
US8009563B2 (en) | 2003-12-19 | 2011-08-30 | Broadcom Corporation | Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation |
US7623524B2 (en) * | 2003-12-22 | 2009-11-24 | Intel Corporation | Scheduling system utilizing pointer perturbation mechanism to improve efficiency |
US7570654B2 (en) * | 2003-12-22 | 2009-08-04 | Intel Corporation | Switching device utilizing requests indicating cumulative amount of data |
JP4499042B2 (ja) * | 2004-02-18 | 2010-07-07 | 三菱電機株式会社 | スイッチ装置 |
US20050207436A1 (en) * | 2004-03-18 | 2005-09-22 | Anujan Varma | Switching device based on aggregation of packets |
US8149833B2 (en) * | 2004-05-25 | 2012-04-03 | Cisco Technology, Inc. | Wideband cable downstream protocol |
US8102854B2 (en) * | 2004-05-25 | 2012-01-24 | Cisco Technology, Inc. | Neighbor discovery proxy with distributed packet inspection scheme |
US7539208B2 (en) | 2004-05-25 | 2009-05-26 | Cisco Technology, Inc. | Timing system for modular cable modem termination system |
US7532627B2 (en) * | 2004-05-25 | 2009-05-12 | Cisco Technology, Inc. | Wideband upstream protocol |
US7646786B2 (en) * | 2004-05-25 | 2010-01-12 | Cisco Technology, Inc. | Neighbor discovery in cable networks |
JP5090175B2 (ja) * | 2004-11-11 | 2012-12-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データパケットを多重化する方法及び装置 |
US7570634B2 (en) * | 2005-08-30 | 2009-08-04 | Freescale Semiconductor, Inc. | Priority queuing of frames in a TDMA network |
JP4207940B2 (ja) | 2005-08-31 | 2009-01-14 | ヤマハ株式会社 | 通信装置 |
JP4701152B2 (ja) * | 2006-10-20 | 2011-06-15 | 富士通株式会社 | データ中継装置、データ中継方法およびデータ中継プログラム |
US20080159145A1 (en) * | 2006-12-29 | 2008-07-03 | Raman Muthukrishnan | Weighted bandwidth switching device |
JP4586183B2 (ja) * | 2007-02-15 | 2010-11-24 | 日本電信電話株式会社 | 通信網における帯域管理方法、帯域管理装置、およびそのためのプログラム |
US8391354B2 (en) * | 2007-05-14 | 2013-03-05 | Broadcom Corporation | Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions |
US7801069B2 (en) * | 2008-07-02 | 2010-09-21 | Hewlett-Packard Development Company, L.P. | Distribution of packets among a plurality of nodes |
JP2010028654A (ja) * | 2008-07-23 | 2010-02-04 | Fujitsu Ltd | 通信装置及びoamフレーム送信方法 |
EP2487698A1 (en) * | 2009-10-09 | 2012-08-15 | Panasonic Corporation | Electrode foil and capacitor employing same |
EP2330514B1 (en) | 2009-12-07 | 2018-12-05 | STMicroelectronics (Research & Development) Limited | An integrated circuit package |
EP2333673B1 (en) * | 2009-12-07 | 2014-04-16 | STMicroelectronics (Research & Development) Limited | Signal sampling and transfer |
EP2339475A1 (en) * | 2009-12-07 | 2011-06-29 | STMicroelectronics (Research & Development) Limited | Inter-chip communication interface for a multi-chip package |
EP2333830B1 (en) * | 2009-12-07 | 2014-09-03 | STMicroelectronics (Research & Development) Limited | a package comprising a first and a second die coupled by a multiplexed bus |
EP2339476B1 (en) * | 2009-12-07 | 2012-08-15 | STMicroelectronics (Research & Development) Limited | Interface connecting dies in an IC package |
EP2339795B1 (en) * | 2009-12-07 | 2013-08-14 | STMicroelectronics (Research & Development) Limited | Inter-chip communication interface for a multi-chip package |
US8693470B1 (en) * | 2010-05-03 | 2014-04-08 | Cisco Technology, Inc. | Distributed routing with centralized quality of service |
US8521937B2 (en) | 2011-02-16 | 2013-08-27 | Stmicroelectronics (Grenoble 2) Sas | Method and apparatus for interfacing multiple dies with mapping to modify source identity |
US9806907B2 (en) * | 2014-04-30 | 2017-10-31 | Ixia | Methods and apparatuses for implementing network packet brokers and taps |
US10469404B1 (en) * | 2014-05-12 | 2019-11-05 | Google Llc | Network multi-level rate limiter |
US10116527B2 (en) | 2014-09-02 | 2018-10-30 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Methods and apparatuses for validating network packet brokers |
JP6569374B2 (ja) * | 2015-08-10 | 2019-09-04 | 富士通株式会社 | スイッチ装置及びスイッチ装置の制御方法 |
US20200059437A1 (en) * | 2018-08-20 | 2020-02-20 | Advanced Micro Devices, Inc. | Link layer data packing and packet flow control scheme |
US11349584B2 (en) * | 2019-11-21 | 2022-05-31 | Westwood One, Llc | System and method of providing content to a broadcast network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH088970A (ja) * | 1994-06-20 | 1996-01-12 | Fujitsu Ltd | 送信スループット制御装置及び方法 |
JPH11346246A (ja) * | 1998-04-01 | 1999-12-14 | Hitachi Ltd | 可変長パケット交換機および交換方法 |
JP2000324123A (ja) * | 1999-05-12 | 2000-11-24 | Kyushu Nippon Denki Tsushin System Kk | 競合優先制御回路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08251192A (ja) | 1995-03-13 | 1996-09-27 | Toshiba Corp | 動画像通信方式 |
EP0748087A1 (en) * | 1995-06-09 | 1996-12-11 | International Business Machines Corporation | Access control system for a shared buffer |
JP3027369B2 (ja) | 1998-01-23 | 2000-04-04 | 松下電器産業株式会社 | ネットワークシステム、帯域管理装置、送信装置およびネットワーク伝送方法、帯域管理方法、送信方法 |
US6667984B1 (en) * | 1998-05-15 | 2003-12-23 | Polytechnic University | Methods and apparatus for arbitrating output port contention in a switch having virtual output queuing |
JP3246457B2 (ja) * | 1998-11-13 | 2002-01-15 | 日本電気株式会社 | 優先予約スケジューリング方式およびその方法 |
US6519225B1 (en) * | 1999-05-14 | 2003-02-11 | Nortel Networks Limited | Backpressure mechanism for a network device |
JP3389913B2 (ja) * | 1999-11-10 | 2003-03-24 | 日本電気株式会社 | グループ化パイプライン・スケジューリング方式及びその方法 |
US20020110086A1 (en) * | 2000-12-18 | 2002-08-15 | Shlomo Reches | Multiport switch and a method for forwarding variable length packets across a multiport switch |
-
2001
- 2001-01-24 JP JP2001015615A patent/JP4605911B2/ja not_active Expired - Fee Related
- 2001-05-24 US US09/864,995 patent/US6993041B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH088970A (ja) * | 1994-06-20 | 1996-01-12 | Fujitsu Ltd | 送信スループット制御装置及び方法 |
JPH11346246A (ja) * | 1998-04-01 | 1999-12-14 | Hitachi Ltd | 可変長パケット交換機および交換方法 |
JP2000324123A (ja) * | 1999-05-12 | 2000-11-24 | Kyushu Nippon Denki Tsushin System Kk | 競合優先制御回路 |
Also Published As
Publication number | Publication date |
---|---|
US20020097733A1 (en) | 2002-07-25 |
US6993041B2 (en) | 2006-01-31 |
JP2002217961A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4605911B2 (ja) | パケット送出装置 | |
Semeria | Supporting differentiated service classes: queue scheduling disciplines | |
EP1093266B1 (en) | Telecommunications switch and method | |
US6859438B2 (en) | Policy based quality of service | |
US7016366B2 (en) | Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues | |
US7983287B2 (en) | Backpressure mechanism for switching fabric | |
US7006440B2 (en) | Aggregate fair queuing technique in a communications system using a class based queuing architecture | |
EP1010279B1 (en) | Policy based quality of service | |
US7457313B2 (en) | Hierarchical prioritized round robin (HPRR) scheduling | |
US7953002B2 (en) | Buffer management and flow control mechanism including packet-based dynamic thresholding | |
US7936770B1 (en) | Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces | |
US7894344B2 (en) | System and method for aggregated shaping of multiple prioritized classes of service flows | |
US20070237074A1 (en) | Configuration of congestion thresholds for a network traffic management system | |
US20020110134A1 (en) | Apparatus and methods for scheduling packets in a broadband data stream | |
Homg et al. | An adaptive approach to weighted fair queue with QoS enhanced on IP network | |
Kortebi et al. | Implicit service differentiation using deficit round robin | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
WO2002091757A1 (fr) | Procede de repartition permettant d'assurer une qualite de service de routeur dans un service integre | |
Szilágyi et al. | A review of congestion management algorithms on cisco routers | |
US7623456B1 (en) | Apparatus and method for implementing comprehensive QoS independent of the fabric system | |
KR100475783B1 (ko) | 계층적 우선 순위화 라운드 로빈 스케쥴링 | |
JP3903840B2 (ja) | パケット転送システム | |
Oladeji et al. | CWRR: A Scheduling Algorithm for Maximizing the Performance of Quality of Service Network Router | |
Xu | A DiffServ model for video stream | |
Hou et al. | Service disciplines for guaranteed performance service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100805 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |