JP2002281080A - パケットスイッチ装置およびマルチキャスト送出方法 - Google Patents

パケットスイッチ装置およびマルチキャスト送出方法

Info

Publication number
JP2002281080A
JP2002281080A JP2001078639A JP2001078639A JP2002281080A JP 2002281080 A JP2002281080 A JP 2002281080A JP 2001078639 A JP2001078639 A JP 2001078639A JP 2001078639 A JP2001078639 A JP 2001078639A JP 2002281080 A JP2002281080 A JP 2002281080A
Authority
JP
Japan
Prior art keywords
packet
queue
pointer
shared memory
route
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
JP2001078639A
Other languages
English (en)
Inventor
Hiroaki Tamai
宏明 玉井
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
Priority to JP2001078639A priority Critical patent/JP2002281080A/ja
Priority to US09/902,839 priority patent/US20020131419A1/en
Publication of JP2002281080A publication Critical patent/JP2002281080A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • 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/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • 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/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • 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/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches 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)

Abstract

(57)【要約】 【課題】 共有メモリの利用効率を落とすことなく、異
なる出力速度を持つ方路に対して出力速度に応じた送信
が可能なパケットスイッチ装置を提供する。 【解決手段】 格納手段2は、パケットを共有メモリ1
の未使用の領域に格納する。エンキュー手段4は、パケ
ットを送出予定の各方路に対応するキューに、そのパケ
ットを示すポインタをエンキューする。送出手段5は、
各方路に対応するキュー毎に、エンキューされたポイン
タをデキューする。そして、送出手段5は、デキューし
たポインタで示されたパケットを、キューに対応する方
路に、方路毎の所定の速度で送出する。廃棄手段6は、
各方路に対応するキュー毎に、エンキューされたポイン
タの量が所定量を超えた場合には、各キューの先頭から
順に、ポインタを廃棄する。これにより、各方路毎に個
別の速度でパケットを送出でき、且つ、共有メモリの使
用可能領域の枯渇を防ぐことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパケットスイッチ装
置およびマルチキャスト送出方法に関し、特にLAN(L
ocal Area Network)、WAN(Wide Area Network)など
伝送路速度の異なるインタフェースが混在するパケット
スイッチ装置およびマルチキャスト送出方法に関する。
【0002】
【従来の技術】様々な伝送路で伝送されるパケットを中
継する装置として、パケットスイッチ装置がある。パケ
ットの伝送路には、LAN,WANなどがあり、それぞ
れ異なる伝送路速度を有している。これらの伝送路のパ
ケットを中継するために、パケットスイッチ装置は、そ
れぞれの伝送路に応じたインタフェースを有している。
【0003】また、通信回線のサービス会社と顧客との
契約内容によって、サービス会社と顧客との間の仮想伝
送路における出力速度に制限が設けられる場合がある。
このようなサービス形態に対応するために、パケットス
イッチ装置では、仮想伝送路に対して指定された任意の
帯域を保証する機能が用意されている。仮想伝送路に
は、保証された帯域に応じた伝送速度でパケットが送出
される。
【0004】さらに、パケットスイッチ装置では、マル
チキャストでパケットを伝送することができる。マルチ
キャストでパケットを伝送する場合、パケットスイッチ
装置は、入力されたパケットを共有メモリに格納する。
そして、パケットスイッチ装置は、共有メモリに格納し
たパケットを、複数の方路(パケットを出力する伝送
路、仮想伝送路も含む)に対して送出する。送出すべき
全ての方路に対するパケットの送出が終了したら、パケ
ットスイッチ装置は、共有メモリ内のそのパケットが格
納された領域を開放する。開放された領域は、未使用の
領域と解釈され、他のパケットの格納が許される。
【0005】各方路においてパケットの送出タイミング
の制御は、方路毎のマルチキャストキューを用いて行わ
れる。マルチキャストキューには、送出予定のパケット
を示すアドレスポインタがエンキューされる。そのポイ
ンタを順次デキューすることで、パケットの送出タイミ
ングが制御される。また、マルチキャストキューに所定
量以上のアドレスポインタがエンキューされた場合に
は、一定期間、アドレスポインタキューへのエンキュー
が停止される。エンキューが停止された場合、マルチキ
ャストキューの後尾から、アドレスポインタが廃棄され
る。
【0006】パケットスイッチ装置によるマルチキャス
ト通信は、マルチキャスト制御回路部で行われる。以下
に、従来のマルチキャスト制御回路部の機能について説
明する。
【0007】図12は、従来のマルチキャスト制御回路
部の機能を示すブロック図である。マルチキャスト制御
回路部900は、アドレスポインタ管理部910、マル
チキャストキュー部920およびパケット書き込み管理
部930を有している。
【0008】アドレスポインタ管理部910は、共有メ
モリの空きアドレスを管理する。アドレスポインタ管理
部910は、アドレスポインタ返却チェックレジスタ部
911、未使用アドレス管理FIFO(First In First
Out)部912、および返却チェック情報管理FIFO部
913を有している。アドレスポインタ返却チェックレ
ジスタ部911は、アドレスポインタチェックレジスタ
を有しており、アドレスポインタチェックレジスタを用
いて各方路に対する送出が完了したパケットのアドレス
を判断する。未使用アドレス管理FIFO部912は、
共有メモリの未使用領域のアドレスを管理する。返却チ
ェック情報管理FIFO部913は、アドレスポインタ
返却チェックレジスタ部911における比較対象とする
アドレスポインタの受け渡しを管理する。
【0009】マルチキャストキュー部920は、複数の
マルチキャストキュー921〜924と、共通スケジュ
ーラ925を有している。マルチキャストキュー921
〜924は、方路毎に設けられている。マルチキャスト
キュー921〜924それぞれには、各方路に送出され
るパケットを指し示すアドレスポインタがエンキューさ
れる。共通スケジューラ925は、マルチキャストキュ
ー921〜924にエンキューされたパケットの送出タ
イミングを管理する。
【0010】パケット書き込み管理部930は、アドレ
スポインタ管理部910からの通知を受けて、入力され
たパケットの共有メモリへの書き込み指示を行う。この
ような構成のマルチキャスト制御回路部900を有する
パケットスイッチ装置において、マルチキャストで送出
すべきパケットが入力されると、そのパケットの方路等
の情報が、アドレスポインタ管理部910に通知され
る。すると、未使用アドレス管理FIFO部912が、
共有メモリに書き込むべきアドレスをパケット書き込み
管理部930に通知する。同時に、未使用アドレス管理
FIFO部912は、方路に対応するマルチキャストキ
ューに、アドレスポインタをエンキューする。
【0011】また、未使用アドレス管理FIFO部91
2は、アドレスポインタをどのマルチキャストキューに
エンキューしたかを示す情報を、返却チェック情報管理
FIFO部913に通知する。各マルチキャストキュー
921〜924は、共通スケジューラ925が指定する
タイミングに合わせて、先頭のアドレスポインタをデキ
ューし、そのアドレスポインタで示されたパケットの送
出を指示する。アドレスポインタがデキューされたこと
が、各マルチキャストキュー部920からアドレスポイ
ンタ返却チェックレジスタ部911に通知される。
【0012】返却チェック情報管理FIFO部913
は、未使用アドレス管理FIFO部912から通知され
た情報を、アドレスポインタチェックレジスタに順番に
渡す。情報を渡すタイミングは、アドレスポインタ返却
チェックレジスタ部911から未使用アドレス管理FI
FO部912に、アドレスポインタの返却が行われたタ
イミングである。
【0013】未使用アドレス管理FIFO部912から
マルチキャストキュー921〜924にアドレスポイン
タをエンキューする際に、エンキューされているアドレ
スポインタの数が過大となり、エンキュー出来ない場合
がある。その場合には、マルチキャストキュー部920
はアドレスポインタを廃棄し、そのアドレスポインタが
廃棄されたことを、アドレスポインタ返却チェックレジ
スタ部911に通知する。
【0014】アドレスポインタ返却チェックレジスタ部
911は、返却チェック情報管理FIFO部913から
通知された情報と、マルチキャストキュー部920から
通知された情報とを比較する。比較した結果が一致した
場合には、アドレスポインタ返却チェックレジスタ部9
11は、未使用アドレス管理FIFO部912にアドレ
スポインタを返却する。未使用アドレス管理FIFO部
912は、返却されたアドレスポインタを未使用のアド
レスポインタとして格納する。格納されたアドレスポイ
ンタは、パケットが共有メモリに書き込まれる場合に、
パケット書き込み管理部930とマルチキャストキュー
部920とに通知される。
【0015】このようにして、共有メモリの未使用領域
のアドレスポインタや、パケットの送出タイミングが管
理される。図13は、従来のマルチキャスト制御方式の
マルチキャストキュー部を示す図である。図13に示す
マルチキャストキュー部920は、エンキューされたア
ドレスポインタの数が過大となった際にキューの後尾か
ら廃棄する仕組みを持つ。
【0016】またマルチキャストキュー部920は、ア
ドレスポインタの廃棄をさけるため、前段へバックプレ
ッシャーを送出する仕組みも持っている。バックプレッ
シャーとは、前段の処理部へ、パケットの送出停止を通
知する機能である。バックプレッシャーは、パケットの
受け取りが可能になるまで行われる。
【0017】図13に示す様に、マルチキャストキュー
部920の各マルチキャストキュー921〜924に
は、アドレスポインタ931が順次エンキューされる。
それぞれのマルチキャストキュー921〜924は、対
応するデータの送出速度が異なる。共通スケジューラ9
25は、キューイングされたアドレスポインタを所定の
スケジュールに従ってデキューする。デキューされたア
ドレスポインタで示された領域に格納されたパケット
は、アドレスポインタをデキューしたマルチキャストキ
ューに対応する方路(出力ポート)へ送出される。
【0018】ここで、アドレスポインタのデキューの頻
度よりもエンキューの頻度の方が高いと、マルチキャス
トキューにアドレスポインタが溜まっていく。そして、
マルチキャストキューに蓄積されたアドレスポインタの
数が、前段へのバックプレッシャーアサート閾値α0を
超えると、前段である未使用アドレスFIFO管理部9
12(図12に示す)にバックプレッシャーが送出され
る。バックプレッシャーによりアドレスポインタのエン
キューが停止される。すると、徐々にマルチキャストキ
ューに蓄積されたアドレスポインタの量が減少する。マ
ルチキャストキューに蓄積されたアドレスポインタの量
が前段へのバックプレッシャーネゲート閾値β0以下に
なると、前段へのバックプレッシャーの送出が停止され
る。
【0019】また、パケット送出のリアルタイム性を要
求する場合、バックプレッシャーではなく、パケットの
廃棄が行われる。たとえば、マルチキャストキューに蓄
積されたアドレスポインタの量がキュー漏れ廃棄開始閾
値γ0を超えると、それ以降送られるアドレスポインタ
は、エンキューされずに廃棄される。アドレスポインタ
がエンキューされなければ、そのアドレスポインタで示
されるパケットの送出は行われない。
【0020】このようにして、伝送速度の異なる複数の
方路に対するパケットの送出管理が、マルチキャストキ
ューを用いて行われる。
【0021】
【発明が解決しようとする課題】しかし、従来の技術で
は、伝送路に速度差が存在する場合、あるパケットに関
して全ての方路への出力完了後に次のパケットが送出さ
れる。そのため、最も遅い出力速度を持つ方路に、他の
方路の出力速度を合わせてパケットが送出される。
【0022】なお、出力速度の速い方路が出力速度の遅
い方路の出力を待たずに、次のパケットを送出するよう
に改善することも可能である。しかし、この場合、共有
メモリ方式を用いていると、全ての方路においてアドレ
スポインタがデキューされるまで、アドレスポインタを
再利用することができない。すなわち、共有メモリのパ
ケットを格納した領域が開放されない。そのため、1つ
でも入力パケットの帯域よりも遅い伝送路速度を持つ出
力方路が存在するとアドレスポインタ枯渇が発生する。
使用可能なアドレスポインタが枯渇した場合、入力され
たパケットを廃棄せざるを得ない。従って、入力パケッ
トの帯域よりも速い伝送速度を持つ出力方路に対しても
廃棄が生じてしまう。
【0023】また、出力速度が遅いほどキュー溢れ廃棄
開始閾値を小さくすることにより、ポインタアドレス枯
渇を発生しにくくすることは可能である。ただし、この
場合、出力速度が遅い方路に送出される情報の品質の劣
化を招くと共に、共有メモリの利用効率が悪化するとい
う弊害がある。
【0024】本発明はこのような点に鑑みてなされたも
のであり、共有メモリの利用効率を落とすことなく、異
なる出力速度を持つ方路に対して出力速度に応じた送信
が可能なパケットスイッチ装置を提供することを目的と
する。
【0025】
【課題を解決するための手段】本発明では上記課題を解
決するために、図1に示すようなパケットスイッチ装置
および方法が提供される。図1に示すパケットスイッチ
装置の共有メモリ1は、マルチキャストで送出すべきパ
ケットを格納する記録媒体である。格納手段2は、少な
くとも1つの方路に送出すべきパケットを、共有メモリ
1の未使用の領域に格納する。複数のキュー3は、パケ
ットへのポインタをエンキュー可能であり、送出可能な
各方路に対応して設けられている。エンキュー手段4
は、格納手段2で格納されたパケットを送出予定の各方
路に対応するキューに、そのパケットを示すポインタを
エンキューする。送出手段5は、各方路に対応するキュ
ー毎に、エンキュー手段4でエンキューされたポインタ
をデキューする。そして、送出手段5は、デキューした
ポインタで示されたパケットを、キューに対応する方路
に、方路毎の所定の速度で送出する。廃棄手段6は、各
方路に対応するキュー毎に、エンキュー手段4でエンキ
ューされたポインタの量が所定量を超えた場合には、各
キューの先頭から順にポインタを廃棄する。未使用アド
レス管理手段7は、格納手段2がパケットを格納した共
有メモリの領域を使用中とする。また、未使用アドレス
管理手段7は、パケットを送出予定の方路に対応するキ
ューの全てから、パケットを示すポインタがデキューも
しくは廃棄されると、パケットが格納された共有メモリ
の領域を未使用とする。
【0026】このような構成のパケットスイッチ装置に
よれば、共有メモリ1に格納されたパケットが、方路毎
の所定の速度で、各方路に送出される。また、キュー内
のポインタ量が過大となれば、キューの先頭からポイン
タが廃棄される。これにより、出力速度の速いキューが
出力速度の遅いキューの出力を待たずに次のパケットを
送出することが可能なり、且つ、出力速度の遅いキュー
がアドレスポインタを解放しないことによる、使用可能
なメモリアドレスの枯渇を防止することができる。
【0027】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。本発明に係るパケットスイッチ装置は、共有メモリ
1、格納手段2、複数のキュー3、エンキュー手段4、
送出手段5、廃棄手段6、および未使用アドレス管理手
段7を有している。
【0028】共有メモリ1は、マルチキャストで送出す
べきパケットを格納する記録媒体である。格納手段2
は、少なくとも1つの方路に送出すべきパケットを、共
有メモリ1の未使用の領域に格納する。複数のキュー3
は、パケットへのポインタをエンキュー可能であり、送
出可能な各方路に対応して設けられている。エンキュー
手段4は、格納手段2で格納されたパケットを送出予定
の各方路に対応するキューに対し、そのパケットを示す
ポインタをエンキューする。また、キューはユニキャス
ト用とマルチキャスト用に別々に設けられている。別々
にする理由は、マルチキャストは複数の方路に送出する
ため、特定の方路の異常が他の方路に対して影響するた
めである。他方路のユニキャストに影響を与えないよう
にキューを別々にしている。送出手段5は、各方路に対
応するキュー毎に、エンキュー手段4でエンキューされ
たポインタをデキューする。そして、送出手段5は、デ
キューしたポインタで示されたパケットを、キューに対
応する方路に、方路毎の所定の速度で送出する。
【0029】廃棄手段6は、各方路に対応するキュー毎
に、エンキュー手段4でエンキューされたポインタの量
が所定量を超えたかどうかを判断する。キューにエンキ
ューされたポインタの量が所定量を超えていれば、その
キューの先頭から順にポインタを廃棄する。未使用アド
レス管理手段7は、格納手段2がパケットを格納した共
有メモリの領域を使用中とする。また、未使用アドレス
管理手段7は、パケットを送出予定の方路に対応するキ
ューの全てから、パケットを示すポインタがデキューも
しくは廃棄されると、パケットが格納された共有メモリ
1の領域を未使用とする。
【0030】このような構成のパケットスイッチ装置に
よれば、マルチキャスト通信を行うべきパケットが入力
されると、格納手段2により、入力されたパケットが、
共有メモリ1の未使用の領域に格納される。すると、エ
ンキュー手段4により、入力されたパケットの送出予定
の方路に対応するキューに対して、そのパケットを示す
ポインタがエンキューされる。エンキューされたポイン
タは、送出手段5によりキューからデキューされ、デキ
ューしたポインタで示されたパケットが、デキュー対象
となったキューに対応する方路へ、方路毎の所定の速度
で送出される。
【0031】また、キューにエンキューされたポインタ
の量が所定量を超えると、廃棄手段6により、キューの
先頭からポインタが廃棄される。あるパケットを示すポ
インタの全てが、各キューからデキューまたは廃棄され
たら、未使用アドレス管理手段7により、そのパケット
の格納されたアドレスが未使用に変更される。
【0032】これにより、共有メモリ1に格納されたパ
ケットが、方路毎の所定の速度で各方路に送出されると
共に、キュー内のポインタ量が過大となれば、キューの
先頭からポインタが廃棄される。この結果、出力速度の
速いキューが出力速度の遅いキューの出力を待たずに次
のパケットを送出することが可能なる。さらに、出力速
度の遅いキューがアドレスポインタを解放しないことに
よる、使用可能なメモリアドレス枯渇の発生を回避する
ことができる。
【0033】以下に、本発明の実施の形態を具体的に説
明する。なお、以下の説明では、パケットスイッチ装置
におけるマルチキャスト通信の機能についてのみ説明す
るものとする。また、以下の説明における出力ポート
は、全てマルチキャストパケットを送出する方路である
ものとする。
【0034】図2は、本実施の形態に係るパケットスイ
ッチ装置の機能を示すブロック図である。パケットスイ
ッチ装置100は、共有メモリスイッチ110、入力イ
ンタフェース部120、出力インタフェース部130、
マルチキャスト制御回路部140および帯域制御回路部
150を有している。
【0035】共有メモリスイッチ110は、共有メモリ
を有している。共有メモリスイッチ110は、複数の入
力ポートから入力されたパケットを共有メモリに格納す
る。そして、共有メモリスイッチ110は、マルチキャ
スト制御回路部140からの指令に応じて、格納したパ
ケットを出力ポートに送出する。また、共有メモリスイ
ッチ110は、帯域制御回路部150からの指令に応じ
て、出力ポートへのパケットの送出速度を制御する。
【0036】入力インタフェース部120は、複数の入
力ポートを有しており、入力ポートからパケットが送ら
れると、受け取ったパケットを格納するアドレスの取得
要求をマルチキャスト制御回路部140に送る。アドレ
スの取得要求には、パケットを送出する予定の出力ポー
トに対応するキュー識別子(出力ポートのポート番号に
対応する)が含まれる。そして、入力インタフェース部
120は、マルチキャスト制御回路部140からアドレ
スポインタが送られると、そのアドレスポインタで示さ
れる共有メモリ内の領域にパケットを格納する。
【0037】出力インタフェース部130は、マルチキ
ャスト制御回路部140からの通知に応じて、共有メモ
リスイッチ110内の共有メモリからパケットを取り出
し、所定の出力ポートに送出する。図2の例では、仮想
伝送路も含めN個(Nは自然数)の出力ポートがある。
【0038】マルチキャスト制御回路部140は、共有
メモリスイッチ110内の共有メモリの使用状況を管理
している。そして、マルチキャスト制御回路部140
は、アドレスポインタの取得要求が入力インタフェース
部120から送られると、その情報に応じて、共有メモ
リの使用可能領域のアドレスポインタを入力インタフェ
ース部120に返す。また、マルチキャスト制御回路部
140は、出力ポート毎のマルチキャストキューを用い
て、パケットの送出タイミングを制御している。共有メ
モリに格納されたパケットの出力タイミングとなった
ら、マルチキャスト制御回路部140は、そのパケット
を送出すべきキュー識別子とパケットのアドレスポイン
タとを共有メモリスイッチ110に渡す。
【0039】帯域制御回路部150は、通信サービス会
社と顧客との間の契約に応じた帯域を、出力ポート毎に
管理している。そして、各出力ポートに対する帯域の情
報を、共有メモリスイッチに通知し、所定の速度でパケ
ットを送出させる。
【0040】以下に、共有メモリスイッチ110とマル
チキャスト制御回路部140とのそれぞれの詳細構成を
説明する。図3は、共有メモリスイッチの構成を示す図
である。共有メモリスイッチ110には、入出力ポート
切り替え制御部111と共有メモリ112とが含まれ
る。
【0041】入出力ポート切り替え制御部111は、入
力インタフェース部120からアドレスポインタとパケ
ットとの組を受け取ると、アドレスポインタで示された
共有メモリ112のアドレスにパケットを格納する。ま
た、マルチキャスト制御回路部140より、アドレスポ
インタとキュー識別子との組を受け取ると、アドレスポ
インタで示された共有メモリ112内のアドレスからパ
ケットを取り出し、キュー識別子に対応する出力ポート
にパケットを送出する。パケットを送出する際には、帯
域制御回路部150により定められた帯域が用いられ
る。
【0042】共有メモリ112は、RAM等のコンピュ
ータ読み取り可能な記録媒体である。共有メモリ112
には、入力インタフェース部120を介して入力された
パケットが格納される。複数の入力ポートから入力され
た各パケットは、未使用の領域に順次格納される。
【0043】図4は、マルチキャスト制御回路部の機能
ブロック図である。マルチキャスト制御回路部140
は、アドレスポインタ管理部141、マルチキャストキ
ュー部142およびパケット書き込み管理部143を有
している。
【0044】アドレスポインタ管理部141は、共有メ
モリ112内の未使用アドレスを管理する。アドレスポ
インタ管理部141は、アドレスポインタ返却管理部1
41aと未使用アドレス管理FIFO部141bとを有
している。
【0045】アドレスポインタ返却管理部141aは、
アドレスポインタ返却チェックテーブル141cを有し
ており、アドレスポインタ返却チェックテーブル141
cを用いて、共有メモリ112における未使用領域のア
ドレス(未使用アドレス)検出を行う。すなわち、アド
レスポインタ返却管理部141aは、マルチキャストキ
ュー部142と未使用アドレス管理FIFO部141b
とから送られる情報を元に、各出力ポート毎のアドレス
ポインタ返却状況をアドレスポインタ返却チェックテー
ブル141cに設定する。そして、アドレスポインタ返
却管理部141aは、全ての出力ポートに対応するアド
レスポインタが返却されると、そのアドレスポインタの
示す領域を未使用と判断する。アドレスポインタ返却管
理部141aは、未使用のアドレスポインタを、未使用
アドレス管理FIFO部141bに渡す。
【0046】未使用アドレス管理FIFO部141b
は、未使用アドレスポインタバッファ141dを有して
おり、未使用アドレスポインタバッファ141dを用い
て共有メモリ112内の未使用領域のアドレスを管理す
る。すなわち、未使用アドレス管理FIFO部141b
は、アドレスポインタ返却管理部141aより渡された
アドレスポインタを、逐次、未使用アドレスポインタバ
ッファ141dに格納する。また、未使用アドレス管理
FIFO部141bは、入力インタフェース部120か
ら、パケットを格納するためのアドレス取得要求を受け
取ると、未使用アドレスポインタバッファ141dから
先入れ先出し方式(FIFO)により、アドレスポイン
タを取り出す。そして、未使用アドレス管理FIFO部
141bは、取り出したアドレスポインタを、パケット
書き込み管理部143に渡す。また、未使用アドレス管
理FIFO部141bは、パケットを送出する予定の出
力ポートに対応するマルチキャストキューに、取り出し
たアドレスポインタをエンキューする。
【0047】マルチキャストキュー部142は、複数の
マルチキャストキュー142a,142b,142c,
142dを有している。各マルチキャストキュー142
a,142b,142c,142dは、伝送路の出力ポ
ートにそれぞれ対応付けられている。たとえば、マルチ
キャストキュー142aは、1番の出力ポートに対応付
けられている。マルチキャストキュー142bは、2番
の出力ポートに対応付けられている。マルチキャストキ
ュー142cは、3番の出力ポートに対応付けられてい
る。マルチキャストキュー142dは、N番の出力ポー
トに対応付けられている。各マルチキャストキュー14
2a,142b,142c,142dには、対応する出
力ポートへ送出すべきパケットのアドレスポインタが、
エンキューされる。
【0048】スケジューラ群144は、各マルチキャス
トキュー142a,142b,142c,142dに対
応するスケジューラを有している。各スケジューラは、
出力インタフェース部130の送信状況に応じて、対応
するマルチキャストキューのアドレスポインタの送出タ
イミングを管理する。スケジューラによって送出タイミ
ングと判断されたアドレスポインタは、マルチキャスト
キューからデキューされ、キュー識別子と共に共有メモ
リスイッチ110に渡される。
【0049】パケット書き込み管理部143は、未使用
アドレス管理FIFO部141bからアドレスポインタ
を受け取ると、そのアドレスポインタを入力インタフェ
ース部120に渡し、パケットの共有メモリへの書き込
みを指示する。
【0050】図5は、アドレスポインタ返却チェックテ
ーブルの例を示す図である。この例では、アドレスポイ
ンタ返却チェックテーブル141cは、アドレスポイン
タ値をオフセットとし、マルチキャストキューと等しい
ビット幅の配列を持つ。各ビットが、アドレスポインタ
の返却の有無を示すフラグである。図5の例では、アド
レスポインタ返却チェックテーブル141cの縦方向に
共有メモリのアドレスポインタ値が割り振られており、
横方向にキュー識別子が割り振られている。ここで、1
つのアドレスポインタ値のフラグの並びを返却判断要素
と呼ぶこととする。
【0051】アドレスポインタ返却チェックテーブル1
41cに設定されているフラグは、アドレスポインタの
返却情報を示している。たとえば、フラグの値が「1」
であればアドレスポインタが返却されたことを表してお
り、フラグの値が「0」であればアドレスポインタが未
返却であることを表している。
【0052】返却判断要素の各フラグの値が「1」とな
ることで、その返却判断要素に対応するアドレスポイン
タが、全ての出力ポートから返却されたことがわかる。
図6は、マルチキャストキュー部の機能を説明する図で
ある。マルチキャストキュー部142の複数のマルチキ
ャストキュー142a,142b,142c,142d
のそれぞれに対応して、スケジューラ144a,144
b,144c,144dが設けられている。各スケジュ
ーラ144a,144b,144c,144dは、対応
するマルチキャストキュー142a,142b,142
c,142dのアドレスポインタのデキューのタイミン
グを制御する。具体的には、マルチキャストキューに対
応する出力ポートでの前のパケットの送出が終了したこ
とを検知すると、そのマルチキャストキューの先頭のア
ドレスポインタがデキューされる。なお、図示していな
いが、同じ出力ポートにマルチキャストとユニキャスト
と通信が重なる場合には、ユニキャストの通信が優先さ
れる場合がある。このような場合には、スケジューラ1
44a,144b,144c,144dは、ユニキャス
トの送信が終わるまでマルチキャストのパケット送信を
待機させる等の制御を行う。
【0053】また、マルチキャストキュー142a,1
42b,142c,142dには、先頭からの廃棄開始
閾値αと、先頭からの廃棄終了閾値βとがあらかじめ設
定されている。マルチキャストキュー142a,142
b,142c,142dに蓄積されたアドレスポインタ
の数が、先頭からの廃棄開始閾値αを超えると、そのマ
ルチキャストキューの先頭から順に、アドレスポインタ
が廃棄される。そして、マルチキャストキューに蓄積さ
れたアドレスポインタの数が、先頭からの廃棄終了閾値
以下になると、アドレスポインタの廃棄処理が終了す
る。
【0054】以上の図2〜図6に示した構成のパケット
スイッチ装置100における処理を説明する。初期状態
において、パケットスイッチ装置100はパケット到着
待ちの状態にある。そして、入力ポートに接続された他
の機器からパケットが送られてくることで、以下の処理
が実行される。
【0055】入力ポートに入力されたパケットを入力イ
ンタフェース部120が受け取ると、入力インタフェー
ス部120からマルチキャスト制御回路部140へ、ア
ドレスの取得要求が送られる。アドレスの取得要求に
は、受信したパケットを送出する予定の出力ポートのキ
ュー識別子が含まれる。
【0056】アドレスの取得要求は、マルチキャスト制
御回路部140のアドレスポインタ管理部141内に設
けられた未使用アドレス管理FIFO部141bが受け
取る。未使用アドレス管理FIFO部141bは、未使
用アドレスポインタバッファ141dの先頭に格納され
ているアドレスポインタを取り出す。そして、未使用ア
ドレス管理FIFO部141bは、パケット書き込み管
理部143に取り出したアドレスポインタを通知する。
また、未使用アドレス管理FIFO部141bは、送信
する予定の出力ポートに対応するキュー識別子とアドレ
スポインタとの組を、マルチキャストキュー部142と
アドレスポインタ返却チェックテーブル141cとに通
知する。
【0057】パケット書き込み管理部143は、入力イ
ンタフェース部120に対してアドレスポインタを通知
する。入力インタフェース部120は、共有メモリ11
2の通知されたアドレスポインタの領域に、受け取った
パケットを格納する。マルチキャストキュー部142
は、パケットを同時に送信予定の出力ポートに対応する
各マルチキャストキューに、未使用アドレス管理FIF
O部141bから受け取ったアドレスポインタをエンキ
ューする。アドレスポインタ返却チェックテーブル14
1cは、未使用アドレス管理FIFO部141bから受
け取ったアドレスポインタに対応する返却判断要素の各
フラグのうち、アドレスポインタと共に渡されたキュー
識別子に該当するフラグの値を「1」に設定する。
【0058】マルチキャストキューにエンキューされた
アドレスポインタは、マルチキャストキュー毎に存在す
るスケジューラにより、出力ポートの出力速度に見合っ
たタイミングでデキューされる。デキューされたアドレ
スポインタは、マルチキャストキュー部142により、
キュー識別子と共に共有メモリスイッチ110に通知さ
れる。アドレスポインタを受け取った共有メモリスイッ
チ110はそのアドレスポインタで示された共有メモリ
内の領域に格納されたパケットを取り出し、キュー識別
子で示された出力ポートにパケットを送信する。
【0059】デキューされたアドレスポインタは、マル
チキャストキュー部142によりアドレスポインタ返却
管理部141aに送られる。アドレスポインタ返却管理
部141aは、通知されたアドレスポインタをオフセッ
トとして返却判断要素を特定し、その返却判断要素のキ
ュー識別子に対応するビット位置を返却済(フラグを
「1」)と記入する。
【0060】また、マルチキャストキューにアドレスポ
インタが溜まり、アドレスポインタの量が廃棄開始閾値
αを超えると、マルチキャストキュー部142により、
先頭から順にアドレスポインタが廃棄される。ただし、
スケジューラからのデキュー指示は、廃棄処理よりも優
先される。廃棄されたアドレスポインタは、キュー識別
子と共に、アドレスポインタ返却管理部141aに通知
される。アドレスポインタ返却管理部141aは、廃棄
に伴って通知されたアドレスポインタをオフセットとし
て返却判断要素を特定し、その返却判断要素のキュー識
別子に対応するビット位置を返却済(フラグを「1」)
と記入する。
【0061】アドレスポインタ返却管理部141aは、
返却判断要素の全てのビットが返却済となった場合に、
未使用アドレス管理FIFO部141bにアドレスポイ
ンタを返却する。
【0062】以上の動作により、出力速度の速いキュー
が出力速度の遅いキューの出力を待たずに次のパケット
が送出可能となる。また、マルチキャストキューにエン
キューされたアドレスポインタ数が廃棄開始閾値αを超
えた場合、アドレスポインタ数が廃棄終了閾値βを下回
るまで、先頭からの読み出し廃棄を実施する。以上の動
作により、出力速度の遅いキューがアドレスポインタを
解放しないことによる、メモリアドレス枯渇の発生を回
避することが可能となる。
【0063】次に、アドレスポインタ返却チェック処
理、未使用アドレスFIFO処理、マルチキャストキュ
ー制御処理を詳細に説明する。図7は、アドレスポイン
タ返却チェック処理手順を示すフローチャートである。
以下に、図7に示した処理をステップ番号に沿って説明
する。
【0064】[ステップS11]アドレスポインタ返却
管理部141aは、アドレスポインタ返却チェックテー
ブル141cの初期化を行う。具体的には、アドレスポ
インタ返却チェックテーブル141cの全てのフラグを
「0」にする。
【0065】[ステップS12]アドレスポインタ返却
管理部141aは、アドレスポインタ値とキュー識別子
との通知があったか否かを判断する。たとえば、いずれ
かのマルチキャストキューからアドレスポインタがデキ
ューされると、そのマルチキャストキューに対応するキ
ュー識別子と、デキューされたアドレスポインタとの組
が通知される。なお、このときのキュー識別子は、パケ
ットスイッチ装置100の出力ポート数(マルチキャス
トキューの数に等しい)分のビット情報である。キュー
識別子の各ビットはマルチキャストキューに対応付けら
れており、1つのビットのみ「1」の値が設定されてい
る。他のビットの値は「0」である。キュー識別子の
「1」の値のビットに対応するマルチキャストキュー
が、そのキュー識別子で示されるマルチキャストキュー
である。
【0066】アドレスポインタ値とキュー識別子との通
知があった場合には、処理がステップS13に進められ
る。アドレスポインタ値とキュー識別子との通知がない
場合には、ステップS12の処理が繰り返される。
【0067】[ステップS13]アドレスポインタ返却
管理部141aは、通知されたアドレスポインタ値とキ
ュー識別子とに基づいて、アドレスポインタ返却チェッ
クテーブル141cを更新する。具体的には、アドレス
ポインタ返却管理部141aは、通知されたアドレスポ
インタ値をオフセットとした場合の返却判断要素を読み
込む。アドレスポインタ返却管理部141aは、読み込
んだ返却判断要素とキュー識別子とのor(論理和)を
取る。そして、アドレスポインタ返却管理部141a
は、論理和により得られた結果を、新たな返却判断要素
として元の位置に書き込む。
【0068】[ステップS14]アドレスポインタ返却
管理部141aは、ステップS13で書き込んだ返却判
断要素の全てのフラグの値が「1」か否かを判断する。
すべてのフラグが「1」であれば、処理をステップS1
5に進める。1つでも「0」の値のフラグが存在すれ
ば、処理をステップS12に進める。
【0069】[ステップS15]アドレスポインタ返却
管理部141aは、全てのフラグの値が「1」となった
返却判断要素に対応するアドレスポインタを開放アドレ
スとして、アドレスポインタを未使用アドレス管理FI
FO部141bに通知する。
【0070】[ステップS16]アドレスポインタ返却
管理部141aは、ステップS15で開放したアドレス
の返却判断要素の全てのフラグの値を「0」にする。そ
の後、処理がステップS12に進められる。
【0071】このように、ビットマップ形式のアドレス
ポインタ返却チェックテーブルを用いて、アドレスポイ
ンタの返却の有無を出力ポート毎に管理することができ
る。そして、全ての出力ポートからアドレスポインタが
返却された場合には、対応するアドレスが開放され、ア
ドレスポインタが未使用アドレス管理FIFO部141
bに通知される。
【0072】図8は、未使用アドレスFIFO処理手順
を示すフローチャートである。以下に、図8に示す処理
をステップ番号に沿って説明する。 [ステップS21]未使用アドレス管理FIFO部14
1bは、未使用アドレスポインタバッファ141dの初
期化を行う。具体的には、共有メモリ112の全ての領
域を未使用とみなして、全てのアドレスポインタを未使
用アドレスポインタバッファ141dに登録する。
【0073】[ステップS22]未使用アドレス管理F
IFO部141bは、入力インタフェース部120より
アドレスの取得要求が出されたか否かを判断する。アド
レスの取得要求があれば、処理がステップS23に進め
られる。アドレスの取得要求がなければ、ステップS2
2の処理が繰り返される。
【0074】[ステップS23]未使用アドレス管理F
IFO部141bは、未使用アドレスポインタバッファ
141dの先頭からアドレスポインタを取り出す。 [ステップS24]未使用アドレス管理FIFO部14
1bは、パケット書き込み管理部143にアドレスポイ
ンタを通知し、マルチキャストキュー部142に宛先の
キュー識別子とアドレスポインタとの組を通知する。
【0075】[ステップS25]未使用アドレス管理F
IFO部141bは、アドレスポインタ返却管理部14
1aに、宛先でない(非宛先)出力ポートのキュー識別
子とアドレスポインタとを通知する。
【0076】[ステップS26]未使用アドレス管理F
IFO部141bは、アドレスポインタ返却管理部14
1aよりアドレスポインタが返却されたか否かを判断す
る。アドレスポインタが返却されれば、処理がステップ
S27に進められる。アドレスポインタが返却されてい
なければ、処理がステップS22に進められる。
【0077】[ステップS27]未使用アドレス管理F
IFO部141bは、アドレスポインタ返却管理部14
1aから返却されたアドレスポインタを、未使用アドレ
スポインタバッファの最後尾に追加格納する。その後、
処理がステップS22に進められる。
【0078】このようにして、パケットスイッチ装置1
00にパケットが到着すると、先入れ先出し方式(FI
FO)により取り出されたアドレスポインタが、パケッ
トの格納先として、各種要素に通知される。また、開放
されたアドレスポインタがあれば、そのアドレスポイン
タが未使用アドレスポインタバッファ141dに格納さ
れる。
【0079】図9は、エンキュー処理を示すフローチャ
ートである。なお、図9に示したエンキュー処理は、各
マルチキャストキューに対して個別に行われる処理であ
る。以下、図9の処理をステップ番号に沿って説明す
る。
【0080】[ステップS31]マルチキャストキュー
部142は、未使用アドレス管理FIFO部141bか
らアドレスポインタと宛先のキュー識別子とが通知され
たか否かを判断する。アドレスポインタとキュー識別子
との組が通知された場合には、処理がステップS32に
進められる。アドレスポインタとキュー識別子との組が
通知されていない場合には、ステップS31の処理が繰
り返される。
【0081】[ステップS32]マルチキャストキュー
部142は、キュー識別子で指定されているマルチキャ
ストキューに、アドレスポインタをエンキューする。 [ステップS33]マルチキャストキュー部142は、
アドレスポインタをエンキューしたマルチキャストキュ
ーにおいて、廃棄開始閾値を超えているか否かを判断す
る。廃棄開始閾値を超えていれば、処理がステップS3
4に進められる。廃棄開始閾値を超えていなければ、処
理がステップS31に進められる。
【0082】[ステップS34]マルチキャストキュー
部142は、廃棄開始閾値を超えたマルチキャストキュ
ーの先頭のアドレスポインタを廃棄する。 [ステップS35]マルチキャストキュー部142は、
アドレスポインタ返却管理部141aに、廃棄したアド
レスポインタ値と、廃棄元となったマルチキャストキュ
ーに対応するキュー識別子とを通知する。
【0083】[ステップS36]マルチキャストキュー
部142は、マルチキャストキューのアドレスポインタ
数が廃棄終了閾値を超えているか否かを判断する。廃棄
終了閾値を超えていれば、処理がステップS37に進め
られる。廃棄終了閾値を超えていなければ、処理がステ
ップS31に進められる。
【0084】[ステップS37]マルチキャストキュー
部142は、未使用アドレス管理FIFO部141bか
らアドレスポインタと宛先のキュー識別子とが通知され
たか否かを判断する。アドレスポインタとキュー識別子
との組が通知された場合には、処理がステップS38に
進められる。アドレスポインタとキュー識別子との組が
通知されていない場合には、処理がステップS34に進
められる。
【0085】[ステップS38]マルチキャストキュー
部142は、キュー識別子で指定されているマルチキャ
ストキューに、アドレスポインタをエンキューする。そ
の後、処理がステップS34に進められる。
【0086】このようにして、アドレスポインタのエン
キュー処理が行われる。その際、マルチキャストキュー
に登録されたアドレスポインタ数が多くなりすぎると、
マルチキャストキューの先頭からアドレスポインタが廃
棄される。
【0087】図10は、デキュー処理を示すフローチャ
ートである。以下、図10の処理をステップ番号に沿っ
て説明する。 [ステップS41]マルチキャストキュー部142の各
スケジューラは、対応する出力ポートがパケットの送信
中か否かを判断する。パケットの送出中でなければ処理
がステップS42に進められる。パケットの送出中であ
ればステップS41の処理が繰り返される。
【0088】[ステップS42]スケジューラは、対応
するマルチキャストキューに、送出すべきパケットのア
ドレスポインタがあるか否かを判断する。マルチキャス
トキューにアドレスポインタがある場合には、処理がス
テップS43に進められる。マルチキャストキューにア
ドレスポインタがない場合には、処理がステップS41
に進められる。
【0089】[ステップS43]スケジューラは、マル
チキャストキューの先頭に登録されているアドレスポイ
ンタをデキューする。 [ステップS44]スケジューラは、デキューしたアド
レスポインタと、デキュー元のマルチキャストキューに
対応するキュー識別子とを、共有メモリスイッチ110
に通知する。その後、処理がステップS41に進められ
る。
【0090】これにより、マルチキャストキューに登録
されたアドレスポインタが、順次デキューされる。デキ
ューされたアドレスポインタが共有メモリスイッチ11
0に送られることで、そのアドレスポインタで示される
領域に格納されているパケットが出力ポートへ送出され
る。
【0091】次に、具体的例を用いて、本実施の形態に
係るパケットスイッチ装置のデータ転送状況について説
明する。図11は、本発明の実施形態に係るパケットス
イッチ装置の一例を示す図である。図11に示すパケッ
トスイッチ装置100aは、8つの入力ポート161〜
168と8つの出力ポート171〜178との、それぞ
れのインタフェースを持っている。パケットスイッチ装
置100aの共有メモリスイッチ110a、入力インタ
フェース部120a、出力インタフェース部130a、
マルチキャスト制御回路部140a、および帯域制御回
路部150aは、それぞれ、図2に示した共有メモリス
イッチ110、入力インタフェース部120、出力イン
タフェース部1130、マルチキャスト制御回路部14
0、および帯域制御回路部150と同様の機能を有して
いる。
【0092】この例では、入力ポート163には、10
Mbpsで通信可能なLANが接続されている。8つの
出力ポート171〜178には、それぞれ1Gbpsで
通信可能なLAN、100Mbpsで通信可能なLA
N、10Mbpsで通信可能なLAN、300Mbps
で通信可能な契約網、50Mbpsで通信可能な契約
網、5Mbpsで通信可能な契約網、1Mbpsで通信
可能な契約網、および100Kbpsで通信可能な契約
網が接続されている。なお、契約網は、任意の速度で契
約可能なWANポートであり、通信速度は、帯域制御回
路部150aによって制御されている。
【0093】ここで、10MbpsのLANの入力ポー
ト163から、3Mbpsのマルチキャストパケットフ
ローが入力され、全出力ポートにマルチキャストで出力
される場合を考える。
【0094】入力ポート163から3Mbpsの速度で
パケットが送られてくると、マルチキャスト制御回路部
140aにおいて、共有メモリ内の利用可能なアドレス
が決定される。そして、パケットが共有メモリスイッチ
110a内の共有メモリに格納される。
【0095】マルチキャスト制御回路部140a内のマ
ルチキャストキュー毎に独立したスケジューラによっ
て、出力ポート171〜178のパケット出力が、個別
にスケジュールされる。出力ポート171〜176は伝
送路帯域が3Mbps以上ある。そのため、出力ポート
171〜176はへの3Mbpsのマルチキャストパケ
ットフローは、パケットの廃棄が発生することなく中継
される。
【0096】出力ポート177は伝送路帯域が1Mbp
sである。そのため、出力ポート177への3Mbps
のマルチキャストパケットフローの入力が継続すると、
アドレスポインタ数が先頭からの廃棄開始閾値αを超
え、先頭からの読み出し廃棄が開始される。また、出力
ポート178は、伝送路帯域が100Kbpsである。
そのため、出力ポート178への3Mbpsのマルチキ
ャストパケットフローの入力が継続すると、アドレスポ
インタ数が先頭からの廃棄開始閾値αを超え、先頭から
の読み出し廃棄を開始する。
【0097】出力ポート177,178に関して先頭か
らの読み出し廃棄が行われることにより、アドレスポイ
ンタを迅速に再利用に回すことができる。そのため、出
力ポート171〜176は、アドレスポインタの枯渇が
発生することなく、3Mbpsでの通信が可能となる。
すなわち、共有メモリの利用効率が向上する。
【0098】ここで、マルチキャストキューに登録され
たアドレスポインタを、後方から廃棄する場合と、本実
施の形態に示すように先頭から廃棄する場合との違いに
ついて説明する。
【0099】エンキューされたアドレスポインタの数が
廃棄開始閾値を超えた場合に、アドレスポインタを後方
から廃棄すると、廃棄開始閾値を超えていないマルチキ
ャストキューに対しては、同じアドレスポインタが正し
くエンキューされる。この場合、アドレスポインタがエ
ンキューされたマルチキャストキューにおいて、そのア
ドレスポインタがデキューされるまで、アドレスポイン
タが開放されない。そのため、共有メモリの枯渇を有効
に防ぐことができない。
【0100】一方、エンキューされたアドレスポインタ
の数が廃棄開始閾値を超えた場合に、アドレスポインタ
を前方から廃棄すれば、速度が速い出力ポートにおいて
は既にそのアドレスポインタがデキューされているた
め、すぐにそのアドレスポインタが返却される。従っ
て、アドレスポインタの開放(未使用状態への変更)が
迅速に行われ、共有メモリの記憶領域の利用効率が向上
する。その結果、共有メモリの枯渇防止効果が得られ
る。
【0101】以上のように、本発明の実施の形態によれ
ば、同一のマルチキャストパケットフローであっても、
各出力ポートに対して、それぞれ個別の出力速度で送出
される。すなわち、出力速度の速い出力ポートが、出力
速度の遅い出力ポートの出力速度に、送出速度を合わせ
る必要がなくなる。その結果、各出力ポートの出力速度
に見合った品質のマルチキャスト通信を実現することが
できる。
【0102】しかも、アドレスポインタ数が廃棄開始閾
値を超えた場合には、マルチキャストキューの先頭から
アドレスポインタを廃棄するようにしたため、共有メモ
リの枯渇を防止することもできる。
【0103】また、アドレスポインタの返却チェック
を、ビットマップ形式のテーブルを用いて行うようにし
たため、各アドレスポインタに対して、方路毎のフラグ
のオン、オフによって、各方路からのアドレスポインタ
の返却の有無を管理することができる。これにより、簡
易な処理で、アドレスポインタに対応する記憶領域を開
放可能かどうかを判断できる。
【0104】なお、上記の処理機能は、コンピュータに
よって実現することができる。その場合、パケットスイ
ッチ装置が有すべき機能の処理内容は、コンピュータで
読み取り可能な記録媒体に記録されたプログラムに記述
されており、このプログラムをコンピュータで実行する
ことにより、上記処理がコンピュータで実現される。コ
ンピュータで読み取り可能な記録媒体としては、磁気記
録装置や半導体メモリ等がある。市場へ流通させる場合
には、CD−ROM(Compact Disk Read OnlyMemory)や
フロッピー(登録商標)ディスク等の可搬型記録媒体に
プログラムを格納して流通させることができる。また、
ネットワークを介して接続されたコンピュータの記憶装
置にプログラムを格納しておき、ネットワークを介して
接続された他のコンピュータにプログラムを転送するこ
ともできる。コンピュータで実行する際には、コンピュ
ータ内のハードディスク装置等にプログラムを格納して
おき、メインメモリにロードして実行することができ
る。
【0105】(付記1) 共有メモリに格納したパケッ
トを、伝送速度の異なる複数の方路へマルチキャストで
送出するパケットスイッチ装置において、少なくとも1
つの方路に送出すべきパケットを、前記共有メモリの未
使用の領域に格納する格納手段と、前記共有メモリに格
納された前記パケットを示すポインタを、前記パケット
を送出予定の各方路に対応するキューにエンキューする
エンキュー手段と、前記各方路に対応するキュー毎に、
前記エンキュー手段でエンキューされたポインタをデキ
ューし、デキューしたポインタで示された前記パケット
を、前記キューに対応する方路に、方路毎の所定の速度
で送出する送出手段と、前記各方路に対応するキュー毎
に、前記エンキュー手段でエンキューされたポインタの
量が所定量を超えた場合には、各キューの先頭から順
に、ポインタを廃棄する廃棄手段と、前記格納手段で前
記パケットを格納した前記共有メモリの領域を使用中と
し、前記パケットを送出予定の方路に対応するキューの
全てから、前記パケットを示すポインタがデキューもし
くは廃棄されると、前記パケットが格納された前記共有
メモリの領域を未使用とする未使用アドレス管理手段
と、を有することを特徴とするパケットスイッチ装置。
【0106】(付記2) 前記送出手段は、前記方路毎
に設けられたスケジューラに従って、前記方路毎のポイ
ンタのデキューを行うことを特徴とする付記1記載のパ
ケットスイッチ装置。
【0107】(付記3) 前記方路には、帯域保証設定
されることにより任意の出力速度が指定された仮想方路
を含むことを特徴とする付記1記載のパケットスイッチ
装置。
【0108】(付記4) 前記廃棄手段は、各キューに
対して、任意の廃棄開始閾値を設定し、前記各キューに
エンキューされたポインタの数が前記廃棄開始閾値を超
えた場合には、ポインタの廃棄を開始することを特徴と
する付記1記載のパケットスイッチ装置。
【0109】(付記5) 前記廃棄手段は、各キューに
対して、任意の廃棄終了閾値を設定し、ポインタの廃棄
を開始した際には、前記各キューにエンキューされたポ
インタの数が前記廃棄終了閾値以下になるまで、ポイン
タの廃棄を継続することを特徴とする付記4記載のパケ
ットスイッチ装置。
【0110】(付記6) 前記未使用アドレス管理手段
は、前記共有メモリのアドレス毎に、前記各方路に対応
するフラグを用いて、方路毎のポインタのデキューおよ
び廃棄の状況を管理することを特徴とする付記1記載の
パケットスイッチ装置。
【0111】(付記7) 前記未使用アドレス管理手段
は、前記共有メモリのアドレス毎の前記各方路に対応す
るフラグのうち、前記共有メモリに格納されたパケット
の送信予定ではない方路のフラグ、前記パケットの送信
が行われた方路のフラグ、および前記パケットを指すポ
インタが廃棄された方路のフラグを立て、全てのフラグ
が立てられたときに、前記アドレスを未使用とすること
を特徴とする付記6記載のパケットスイッチ装置。
【0112】(付記8) 共有メモリに格納したパケッ
トを、伝送速度の異なる複数の方路へマルチキャストで
送出するマルチキャスト送出方法において、少なくとも
1つの方路に送出すべきパケットを、前記共有メモリの
未使用の領域に格納し、前記共有メモリに格納された前
記パケットを示すポインタを、前記パケットを送出予定
の各方路に対応するキューにエンキューし、前記各方路
に対応するキュー毎に、エンキューされたポインタをデ
キューし、デキューしたポインタで示された前記パケッ
トを、前記キューに対応する方路に、方路毎の所定の速
度で送出し、前記各方路に対応するキュー毎に、エンキ
ューされたポインタの量が所定量を超えた場合には、各
キューの先頭から順に、ポインタを廃棄し、前記パケッ
トを格納した前記共有メモリの領域を使用中とし、前記
パケットを送出予定の方路に対応するキューの全てか
ら、前記パケットを示すポインタがデキューもしくは廃
棄されると、前記パケットが格納された前記共有メモリ
の領域を未使用とする、ことを特徴とするマルチキャス
ト送出方法。
【0113】(付記9) 前記方路毎に設けられたスケ
ジューラに従って、前記方路毎のポインタのデキューを
行うことを特徴とする付記8記載のマルチキャスト送出
方法。
【0114】(付記10) 前記方路には、帯域保証設
定されることにより任意の出力速度が指定された仮想方
路を含むことを特徴とする付記8記載のマルチキャスト
送出方法。
【0115】(付記11) 各キューに対して任意の廃
棄開始閾値を設定し、前記各キューにエンキューされた
ポインタの数が前記廃棄開始閾値を超えた場合に、ポイ
ンタの廃棄を開始することを特徴とする付記8記載のマ
ルチキャスト送出方法。
【0116】(付記12) 前記各キューに対して任意
の廃棄終了閾値を設定し、ポインタの廃棄を開始した際
には、前記各キューにエンキューされたポインタの数が
前記廃棄終了閾値以下になるまで、ポインタの廃棄を継
続することを特徴とする付記11記載のマルチキャスト
送出方法。
【0117】(付記13) 前記共有メモリのアドレス
毎に、前記各方路に対応するフラグを用いて、方路毎の
ポインタのデキューおよび廃棄の状況を管理することを
特徴とする付記8記載のマルチキャスト送出方法。
【0118】(付記14) 前記共有メモリのアドレス
毎の前記各方路に対応するフラグのうち、前記共有メモ
リに格納されたパケットの送信予定ではない方路のフラ
グ、前記パケットの送信が行われた方路のフラグ、およ
び前記パケットを指すポインタが廃棄された方路のフラ
グを立て、全てのフラグが立てられたときに、前記アド
レスを未使用とすることを特徴とする付記13記載のマ
ルチキャスト送出方法。
【0119】
【発明の効果】以上説明したように本発明では、共有メ
モリに格納されたパケットが、方路毎の所定の速度で、
各方路に送出される。また、キュー内のポインタ量が過
大となれば、キューの先頭からポインタが廃棄される。
これにより、出力速度の速いキューが出力速度の遅いキ
ューの出力を待たずに次のパケットを送出することが可
能なり、且つ、出力速度の遅いキューがアドレスポイン
タを解放しないことによる、使用可能なメモリアドレス
枯渇の発生を回避することができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本実施の形態に係るパケットスイッチ装置の機
能を示すブロック図である。
【図3】共有メモリスイッチの構成を示す図である。
【図4】マルチキャスト制御回路部の機能ブロック図で
ある。
【図5】アドレスポインタ返却チェックテーブルの例を
示す図である。
【図6】マルチキャストキュー部の機能を説明する図で
ある。
【図7】アドレスポインタ返却チェック処理手順を示す
フローチャートである。
【図8】未使用アドレスFIFO処理手順を示すフロー
チャートである。
【図9】エンキュー処理を示すフローチャートである。
【図10】デキュー処理を示すフローチャートである。
【図11】本発明の実施形態に係るパケットスイッチ装
置の一例を示す図である。
【図12】従来のマルチキャスト制御回路部の機能を示
すブロック図である。
【図13】従来のマルチキャスト制御方式のマルチキャ
ストキュー部を示す図である。
【符号の説明】
1 共有メモリ 2 格納手段 3 キュー 4 エンキュー手段 5 送出手段 6 廃棄手段 7 未使用アドレス管理手段 100 パケットスイッチ装置 110 共有メモリスイッチ 120 入力インタフェース部 130 出力インタフェース部 140 マルチキャスト制御回路部 150 帯域制御回路部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 共有メモリに格納したパケットを、伝送
    速度の異なる複数の方路へマルチキャストで送出するパ
    ケットスイッチ装置において、 少なくとも1つの方路に送出すべきパケットを、前記共
    有メモリの未使用の領域に格納する格納手段と、 前記共有メモリに格納された前記パケットを示すポイン
    タを、前記パケットを送出予定の各方路に対応するキュ
    ーにエンキューするエンキュー手段と、 前記各方路に対応するキュー毎に、前記エンキュー手段
    でエンキューされたポインタをデキューし、デキューし
    たポインタで示された前記パケットを、前記キューに対
    応する方路に、方路毎の所定の速度で送出する送出手段
    と、 前記エンキュー手段でエンキューされたポインタの量が
    所定量を超えたキューのポインタを、先頭から順に廃棄
    する廃棄手段と、 前記格納手段で前記パケットを格納した前記共有メモリ
    の領域を使用中とし、前記パケットを送出予定の方路に
    対応するキューの全てから、前記パケットを示すポイン
    タがデキューもしくは廃棄されると、前記パケットが格
    納された前記共有メモリの領域を未使用とする未使用ア
    ドレス管理手段と、 を有することを特徴とするパケットスイッチ装置。
  2. 【請求項2】 前記廃棄手段は、各キューに対して、任
    意の廃棄開始閾値を設定し、前記各キューにエンキュー
    されたポインタの数が前記廃棄開始閾値を超えた場合に
    は、ポインタの廃棄を開始することを特徴とする請求項
    1記載のパケットスイッチ装置。
  3. 【請求項3】 前記廃棄手段は、各キューに対して、任
    意の廃棄終了閾値を設定し、ポインタの廃棄を開始した
    際には、前記各キューにエンキューされたポインタの数
    が前記廃棄終了閾値以下になるまで、ポインタの廃棄を
    継続することを特徴とする請求項2記載のパケットスイ
    ッチ装置。
  4. 【請求項4】 前記未使用アドレス管理手段は、前記共
    有メモリのアドレス毎に、前記各方路に対応するフラグ
    を用いて、方路毎のポインタのデキューおよび廃棄の状
    況を管理することを特徴とする請求項1記載のパケット
    スイッチ装置。
  5. 【請求項5】 共有メモリに格納したパケットを、伝送
    速度の異なる複数の方路へマルチキャストで送出するマ
    ルチキャスト送出方法において、 少なくとも1つの方路に送出すべきパケットを、前記共
    有メモリの未使用の領域に格納し、 前記共有メモリに格納された前記パケットを示すポイン
    タを、前記パケットを送出予定の各方路に対応するキュ
    ーにエンキューし、 前記各方路に対応するキュー毎に、エンキューされたポ
    インタをデキューし、デキューしたポインタで示された
    前記パケットを、各キューに対応する方路に、方路毎の
    所定の速度で送出し、 前記エンキュー手段でエンキューされたポインタの量が
    所定量を超えたキューのポインタを、先頭から順に廃棄
    し、 前記パケットを格納した前記共有メモリの領域を使用中
    とし、前記パケットを送出予定の方路に対応するキュー
    の全てから、前記パケットを示すポインタがデキューも
    しくは廃棄されると、前記パケットが格納された前記共
    有メモリの領域を未使用とする、 ことを特徴とするマルチキャスト送出方法。
JP2001078639A 2001-03-19 2001-03-19 パケットスイッチ装置およびマルチキャスト送出方法 Pending JP2002281080A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001078639A JP2002281080A (ja) 2001-03-19 2001-03-19 パケットスイッチ装置およびマルチキャスト送出方法
US09/902,839 US20020131419A1 (en) 2001-03-19 2001-07-11 Packet switch apparatus and multicasting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001078639A JP2002281080A (ja) 2001-03-19 2001-03-19 パケットスイッチ装置およびマルチキャスト送出方法

Publications (1)

Publication Number Publication Date
JP2002281080A true JP2002281080A (ja) 2002-09-27

Family

ID=18935228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001078639A Pending JP2002281080A (ja) 2001-03-19 2001-03-19 パケットスイッチ装置およびマルチキャスト送出方法

Country Status (2)

Country Link
US (1) US20020131419A1 (ja)
JP (1) JP2002281080A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021872A (ja) * 2007-07-12 2009-01-29 Fujitsu Ltd パケット伝送方法及び装置
JP2015511790A (ja) * 2012-10-12 2015-04-20 中▲興▼通▲訊▼股▲フン▼有限公司 メッセージ処理方法及び装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688736B1 (en) 2003-05-05 2010-03-30 Marvell International Ltd Network switch with quality of service flow control
JP4394988B2 (ja) * 2004-03-19 2010-01-06 富士通株式会社 パケット読出し制御方法及び装置
US7669190B2 (en) * 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US20060064531A1 (en) * 2004-09-23 2006-03-23 Alston Jerald K Method and system for optimizing data transfer in networks
CN100449504C (zh) * 2005-01-05 2009-01-07 华为技术有限公司 一种基于bitmap表的缓存管理方法
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
US7685250B2 (en) * 2005-03-09 2010-03-23 Intel Corporation Techniques for providing packet rate pacing
US20070147404A1 (en) * 2005-12-27 2007-06-28 Lucent Technologies, Inc. Method and apparatus for policing connections using a leaky bucket algorithm with token bucket queuing
US20090016222A1 (en) * 2007-07-12 2009-01-15 Viasat, Inc. Methods and systems for implementing time-slice flow control
US8549099B2 (en) * 2007-07-12 2013-10-01 Viasat, Inc. Methods and systems for javascript parsing
US20100146415A1 (en) * 2007-07-12 2010-06-10 Viasat, Inc. Dns prefetch
US8171135B2 (en) * 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
WO2009045963A1 (en) 2007-10-01 2009-04-09 Viasat, Inc. Methods and systems for secure data transmission between a client and a server via a proxy
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US20100180005A1 (en) * 2009-01-12 2010-07-15 Viasat, Inc. Cache cycling
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
CN108243088A (zh) * 2016-12-26 2018-07-03 北京云中融信网络科技有限公司 一种管理通讯信息的方法和装置
US11134021B2 (en) * 2016-12-29 2021-09-28 Intel Corporation Techniques for processor queue management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04257145A (ja) * 1991-02-12 1992-09-11 Hitachi Ltd パケット流量制御方法およびパケット交換システム
US5521916A (en) * 1994-12-02 1996-05-28 At&T Corp. Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch
US5699361A (en) * 1995-07-18 1997-12-16 Industrial Technology Research Institute Multimedia channel formulation mechanism
US6324165B1 (en) * 1997-09-05 2001-11-27 Nec Usa, Inc. Large capacity, multiclass core ATM switch architecture
TW463092B (en) * 1998-03-20 2001-11-11 Accton Technology Corp Quasi-pushout method with upper layer packet discarding discipline and packet communication system implementing the method
US6310875B1 (en) * 1998-03-30 2001-10-30 Nortel Networks Limited Method and apparatus for port memory multicast common memory switches
US6426943B1 (en) * 1998-04-10 2002-07-30 Top Layer Networks, Inc. Application-level data communication switching system and process for automatic detection of and quality of service adjustment for bulk data transfers
AU771091B2 (en) * 1998-06-19 2004-03-11 Juniper Networks, Inc. Device for performing IP forwarding and ATM switching
US6526062B1 (en) * 1998-10-13 2003-02-25 Verizon Corporate Services Group Inc. System and method for scheduling and rescheduling the transmission of cell objects of different traffic types
US6625121B1 (en) * 1999-04-28 2003-09-23 Cisco Technology, Inc. Dynamically delisting and relisting multicast destinations in a network switching node
US6687247B1 (en) * 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6754216B1 (en) * 2000-05-08 2004-06-22 Nortel Networks Limited Method and apparatus for detecting congestion and controlling the transmission of cells across a data packet switch

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021872A (ja) * 2007-07-12 2009-01-29 Fujitsu Ltd パケット伝送方法及び装置
JP2015511790A (ja) * 2012-10-12 2015-04-20 中▲興▼通▲訊▼股▲フン▼有限公司 メッセージ処理方法及び装置

Also Published As

Publication number Publication date
US20020131419A1 (en) 2002-09-19

Similar Documents

Publication Publication Date Title
JP2002281080A (ja) パケットスイッチ装置およびマルチキャスト送出方法
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
TWI482460B (zh) 網路處理器單元及其相關方法
EP1779607B1 (en) Network interconnect crosspoint switching architecture and method
US7620054B2 (en) Network switching device and network switching method
US6542502B1 (en) Multicasting using a wormhole routing switching element
JP4070610B2 (ja) データ・ストリーム・プロセッサにおけるデータ・ストリームの操作
US9094327B2 (en) Prioritization and preemption of data frames over a switching fabric
CA2310909C (en) Packet switching apparatus and method in data network
US9083655B2 (en) Internal cut-through for distributed switches
US8432908B2 (en) Efficient packet replication
JPH09512683A (ja) Atmアーキテクチャ及びスイッチング要素
US7110405B2 (en) Multicast cell buffer for network switch
US20050138238A1 (en) Flow control interface
US20050147034A1 (en) Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US20030231590A1 (en) Method of performing deficit round-robin scheduling and structure for implementing same
CN114531488B (zh) 一种面向以太网交换器的高效缓存管理***
US7068672B1 (en) Asynchronous receive and transmit packet crosspoint
US7586911B2 (en) Method and apparatus for packet transmit queue control
US8879578B2 (en) Reducing store and forward delay in distributed systems
US6584517B1 (en) Circuit and method for supporting multicast/broadcast operations in multi-queue storage devices
US7394822B2 (en) Using reassembly queue sets for packet reassembly
KR101266556B1 (ko) 데피싯 라운드 로빈 방식 데이터 패킷 스케줄링의 인스턴트서비스 방법
JP2002033749A (ja) バッファ装置およびスイッチング装置
US20190036832A1 (en) Packet Switching Device Modifying Paths of Flows of Packets Taken Within While Outputting Packets in Received Intra-Flow Order but Not Necessarily Inter-Flow Order

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060314