(57)【要約】【課題】データを一時的に記憶するバッファのオーバーフローを防止する。【解決手段】書き込み制御手段１ａは、一時記憶手段１ｂにデータを書き込む処理を実行する。一時記憶手段１ｂは、受信したデータを一時的に記憶する。読み出し制御手段１ｃは、一時記憶手段１ｂに記憶されているデータを読み出す処理を実行する。読み捨て制御手段１ｄは、一時記憶手段１ｂから読み出されたデータを廃棄するデータ廃棄を行う処理を実行する。【選択図】図１
2009290297.tif 000002
【特許請求の範囲】
【請求項１】
受信したデータを出力するまでの間一時的に記憶する通信装置において、
受信した前記データを一時的に記憶する一時記憶手段と、
前記一時記憶手段に前記データを書き込む処理を実行する書き込み制御手段と、
前記一時記憶手段に記憶されている前記データを読み出す処理を実行する読み出し制御手段と、
前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する読み捨て制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記読み捨て制御手段は、前記データ廃棄において、前記一時記憶手段に記憶されているデータ量が所定のデータ量を超過する場合には、前記一時記憶手段から読み出された前記データを廃棄する処理を実行することを特徴とする請求項１記載の通信装置。
【請求項３】
前記読み捨て制御手段は、前記データ廃棄において、前記一時記憶手段に記憶されている前記データをすべて廃棄する処理を実行することを特徴とする請求項１記載の通信装置。
【請求項４】
一定の時間間隔で分割して得られるとともに、出力用スロットと廃棄用スロットとを有するタイムスロットを割り当てる処理を実行するタイムスロット割り当て手段を有し、
前記読み出し制御手段は、前記一時記憶手段に記憶されている前記データを、前記タイムスロット割り当て手段によって割り当てられた前記タイムスロットを使用して読み出す処理を実行し、
前記読み捨て制御手段は、前記データ廃棄において、前記読み出し制御手段に対して、前記一時記憶手段に記憶されている前記データを、前記廃棄用スロットを使用して読み出させることによって廃棄する処理を実行することを特徴とする請求項１記載の通信装置。
【請求項５】
前記読み出し制御手段によって読み出され、出力される前記データを一時的に記憶する出力側記憶手段と、
前記読み出し制御手段によって前記データが読み出される速度である読み出し速度と、前記読み捨て制御手段によって前記データが読み捨てられる速度である読み捨て速度と、前記出力側記憶手段に前記データが書き込まれる速度である書き込み速度とを制御する速度制御手段と、
を有し、
前記速度制御手段は、前記読み出し速度と、前記読み捨て速度と、前記書き込み速度とを、受信した前記データが前記一時記憶手段に書き込まれる速度よりも速く制御することを特徴とする請求項１記載の通信装置。
【請求項６】
受信したデータを出力するまでの間一時的に記憶する通信装置の制御方法において、
書き込み制御手段によって、受信した前記データを一時的に記憶する一時記憶手段に前記データを書き込む処理を実行し、
読み出し制御手段によって、前記一時記憶手段に記憶されている前記データを読み出す処理を実行し、
読み捨て制御手段によって、前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する、
ことを特徴とする通信装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置および通信装置の制御方法に関し、特に受信したデータを出力するまでの間、一時的に記憶する通信装置および通信装置の制御方法に関する。
【背景技術】
【０００２】
従来、端末装置から送信されたデータをそれぞれの宛て先へネットワークを介して伝送する通信装置について、輻輳を防止し、伝送効率低下を防止するために、バッファが設けられる。このバッファの蓄積容量は有限であるため、大量のパケットが到着し、バッファに空きがなくなると、次に到着したパケットは廃棄されることになる。
【０００３】
この場合、従来の構成では、入力側にポリサー部などを設けて、バッファにデータが書き込まれる前にデータの流量の監視を行って、データのパケットを廃棄することで、バッファに書き込まれるデータ量を制御していた。これにより、バッファに優先度を考慮したデータ（パケット）の書き込みを行うことができるため、優先度の低いデータでバッファが溢れてしまうという事態を防止することができるとともに、優先度に応じたスケジューリング処理や、ＣＩＲ（Committed Information Rate：ネットワークの混雑時においても最低限保証する通信速度）に応じた帯域を保証することができる（例えば、特許文献１参照）。
【０００４】
また、バッファ内のデータの待ち行列長が閾値を超過している場合に、データを廃棄する技術が知られている（例えば、特許文献２参照）。
また、通信制御装置において、論理チャネル信号対応に到着するパケットの流量を観測し、加入者申告値にもとづく第１の閾値を超えた場合は所定のマークを付加し、流量が第１の閾値よりも大きい第２の閾値を超えた場合は廃棄する技術が知られている（例えば、特許文献３参照）。
【０００５】
また、ダブルバッファの一方のバッファに第１の動作周波数のタイミングでデータの書き込みを行い、第２の動作周波数のタイミングで他方のバッファからＦＩＦＯメモリへのデータの読み出しを行う技術が知られている（例えば、特許文献４参照）。
【０００６】
また、ＤＭＡコントローラにおいて、受信パケットのバッファに対するデータの転送処理のロス時間を計測し、ロス時間が閾値を超えた場合に転送処理を中止する技術が知られている（例えば、特許文献５参照）。
【特許文献１】特開２００６−１３５７６２号公報
【特許文献２】特開２００３−１８８９１２号公報
【特許文献３】特開平４−２５７１４５号公報
【特許文献４】特開２００７−６５９４８号公報
【特許文献５】特開２００７−１３４９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ポリサーなどの帯域を制御する回路は、回路規模が大きいという問題があり、通信装置のコストが増加するという問題点がある。
一方、単純に入力側の帯域制御回路を削除すると、バッファには優先度が考慮されないでパケットが書き込まれることになるため、優先度の低いデータでバッファが溢れてしまう場合が生じてしまい、優先度について保証したＣＩＲが維持できなくなってしまうという問題点がある。
【０００８】
図３４は、従来例のパケットを廃棄する機能を持たない場合における保証したＣＩＲが維持できない場合を示す図である。
従来例におけるステーション９０は、書き込み制御部９２、パケットバッファ９３を有するが、パケット（データ）を廃棄する機能は有さない。このため、ステーション９０が受信したすべてのパケットは、パケットバッファ９３が溢れない限り、一旦パケットバッファ９３に書き込まれた後に出力される。
【０００９】
すなわち、ステーション９０に入力されたパケットがそのままパケットバッファ９３に記憶される場合には、入力パケットが制限されずに、到着順にパケットバッファ９３に記憶され、パケットバッファ９３が溢れるまで次々と廃棄されることなく記憶される。しかし、パケットバッファ９３の空き容量がなくなると、その時点以降の入力パケットは廃棄される。
【００１０】
ステーション９０における入力側のパケット伝送速度と出力側のパケット伝送速度とが同じ場合、または出力側のパケット伝送速度が入力側のパケット伝送速度より大きい場合には、原則としてパケットバッファ９３が溢れることはないが、入力側のパケット伝送速度が出力側のパケット伝送速度より大きい場合には、パケットバッファ９３のバッファ溢れが発生することにより、入力パケットの喪失が発生してしまう。
【００１１】
また、ステーション９０における入力側で、到着順にしたがって、優先度に関係なくパケットをパケットバッファ９３に記憶させていくと、出力側において優先度に応じたスケジューリング処理や、ＣＩＲに応じた帯域が保証できないなどの問題が発生する。
【００１２】
以下に、このような問題が発生する条件および問題点を記載する。
［条件１］入力伝送路帯域＞出力伝送路帯域：入力側の伝送路帯域が出力側の伝送路帯域より大きい場合、バッファにデータが記憶される。
【００１３】
［条件２］入力側にデータを廃棄する機能がない：入力側において優先度に応じて帯域を制御するポリサーのようなパケットを廃棄する機能を有さず、入力データがそのままバッファに記憶される。これにより、先着順にデータがそのままバッファに記憶されるので、バッファに記憶されているデータが、優先度の低いデータで溢れてしまい、出力側におけるバッファの読み出しの制御では、ＣＩＲの保証を維持するために優先度の高いデータを送信する動作ができない場合が発生する。
【００１４】
［問題点］
上記条件１，２の下では、例えば単一の低い優先度の低いデータ（例えば、クラスＤのパケット）にバッファが独占される場合も生じ得る。このような場合、出力側において、優先度の高いデータ（例えば、クラスＣのパケット：クラスＣのパケットはクラスＤのパケットより優先度が高いものとする）を優先的に読み出すスケジューラのような機能を有していても、バッファの中身が優先度の低いデータ（クラスＤのパケット）で占められているため、スケジューラが優先度の高いデータ（クラスＣのパケット）を十分に読み出すことができない一方、入力される優先度の高いデータ（クラスＤのパケット）がバッファから溢れて廃棄されるなど、スケジューラによるスケジューリング調整ができなかったり、これにより保証されているＣＩＲが維持できなくなるなどの問題が発生する場合がある。
【００１５】
ここで、図３４を用いて、保証したＣＩＲが維持できない場合の具体例について説明する。
［具体例］
入力側パケットは、クラスＣ,Ｄそれぞれ１００Ｍｂｐｓ、合計２００Ｍｂｐｓとする。出力側パケットは、クラスＣ,ＤそれぞれＣＩＲが１００Ｍｂｐｓ，５０Ｍｂｐｓとし、出力の伝送路帯域は１５０Ｍｂｐｓとする。クラス：パケットの優先度を意味する。優先度は、クラスＣ＞クラスＤ（クラスＣはクラスＤよりも優先度が高い）とする。
【００１６】
この具体例では、入力帯域の方が出力帯域よりも大きいため、パケットバッファ９３に記憶されているパケットの量が、次第に増加していくことになる。ここで、クラスＣのパケットは、入力帯域と出力帯域とが１００Ｍｂｐｓで一致しているため、パケットバッファに記憶されているクラスＣのパケットが増加していくことはないが、クラスＤのパケットは出力帯域に比較して入力帯域の方が大きいため、パケットバッファ９３に記憶されているクラスＤのパケットが増加していくことになる。その結果、クラスＤのパケットによってバッファが占有される状態となり、バッファのオーバーフローが発生してしまうことになる。
【００１７】
オーバーフローが発生した後は、１個のパケットを出力したときに、パケットバッファ９３に新たにフレームを記憶することができる空き領域ができる。
そのパケットバッファ９３の空き領域には、その空き領域が発生した時点においてパケットバッファ９３に入力されたパケットが記憶されることになる。
【００１８】
この例では、クラスＣのパケットおよびクラスＤのパケットは、フレーム長が同一であって、パケットバッファ９３に対する両者の入力の比率は１:１であるとする。また、クラスＣのパケットがパケットバッファ９３に記憶される確率は、平均して１／２であるとする。その場合、パケットバッファ９３には、ステーション９０に入力されたクラスＣのパケットは、１／２の確率でのみ記憶され、残りのパケットは失われてしまうため、ステーション９０から出力されるクラスＣのパケットは、失われずにパケットバッファ９３に記憶されたものについて、最大でも１/２の確率でしか出力されないことになる。
【００１９】
上記の例では、出力帯域が１５０ＭｂｐｓとするとクラスＣのパケットの出力は、１５０／２＝７５Ｍｂｐｓとなる。このため、ＣＩＲで保障された１００Ｍｂｐｓが満足できない結果となってしまう。また、ここでは出力帯域の残り７５ＭｂｐｓによってクラスＤのパケットが出力される。この結果、クラスＤがＣＩＲによる保証値を超えて出力されていることになる。
【００２０】
なお、本結果は仮定したモデルによる確率論に基づくものであり、パケット長などの具体的な条件によっても結果が変化すると考えられるため、常に上記の結果になるとは限らないが、このようにパケット長および優先度の異なるデータの発生状況によっては、ＣＩＲの保証値を満足できない場合があるといった問題が生じる。
【００２１】
本発明はこのような点に鑑みてなされたものであり、コストの増加を抑えつつ、バッファのオーバーフローを防止可能な通信装置および通信装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
この、受信したデータを出力するまでの間一時的に記憶する通信装置は、受信した前記データを一時的に記憶する一時記憶手段と、前記一時記憶手段に前記データを書き込む処理を実行する書き込み制御手段と、前記一時記憶手段に記憶されている前記データを読み出す処理を実行する読み出し制御手段と、前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する読み捨て制御手段と、を有する。
【００２３】
このような通信装置によれば、書き込み制御手段により、一時記憶手段にデータが書き込まれ、読み出し制御手段により、一時記憶手段に記憶されているデータが読み出され、読み捨て制御手段により、読み出されたデータが廃棄される。
【００２４】
また、受信したデータを出力するまでの間一時的に記憶する通信装置の制御方法は、書き込み制御手段によって、受信した前記データを一時的に記憶する一時記憶手段に前記データを書き込む処理を実行し、読み出し制御手段によって、前記一時記憶手段に記憶されている前記データを読み出す処理を実行し、読み捨て制御手段によって、前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する。
【００２５】
このような通信装置の制御方法によれば、書き込み制御手段により、一時記憶手段にデータが書き込まれ、読み出し制御手段により、一時記憶手段に記憶されているデータが読み出され、読み捨て制御手段により、読み出されたデータが廃棄される。
【発明の効果】
【００２６】
開示の通信装置および通信装置の制御方法によれば、コストの増加を抑えつつ、バッファのオーバーフローを防止できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照して説明する。
図１は、本実施の形態の概要を示す図である。図１に示したように、本実施の形態に係る通信装置１は、データを受信し、受信したデータを出力するまでの間、一時的に記憶する。
【００２８】
図１に示す通信装置１は、バッファのオーバーフローを防止するために、書き込み制御手段１ａ、一時記憶手段１ｂ、読み出し制御手段１ｃ、読み捨て制御手段１ｄを有している。
【００２９】
書き込み制御手段１ａは、一時記憶手段１ｂに対して、通信装置１が受信したデータを書き込む処理を実行する。
一時記憶手段１ｂは、書き込み制御手段１ａによって書き込まれた、通信装置１が受信したデータを一時的に記憶する。この一時記憶手段１ｂは、例えば、パケットの伝送速度に対応して高速に動作可能な特性を有するＳＲＡＭ（Static Random Access Memory）を有するバッファなどが該当する。
【００３０】
読み出し制御手段１ｃは、一時記憶手段１ｂに記憶されているデータを読み出す処理を実行する。これにより、通信装置１で受信されたデータが一時記憶手段１ｂにおいて一時的に記憶された後、通信装置１から出力される。出力されたデータは、例えば、通信装置１が接続されているネットワーク（図示省略）を介してデータの宛て先となる端末装置に転送される。
【００３１】
読み捨て制御手段１ｄは、一時記憶手段１ｂから読み出されたデータを廃棄するデータ廃棄を行う処理を実行する。これにより、一時記憶手段１ｂの空き容量を増加させることができる。
【００３２】
このような通信装置１によれば、書き込み制御手段１ａにより、一時記憶手段１ｂにデータを書き込む処理が実行される。読み出し制御手段１ｃにより、一時記憶手段１ｂに記憶されているデータが読み出される。読み捨て制御手段１ｄにより、読み出されたデータが廃棄される。
【００３３】
これにより、回路規模が大きい入力側の帯域制御回路を省くことによってコストの増加を抑えつつ、読み捨て制御手段１ｄが行うデータ廃棄によってバッファのオーバーフローを防止できる。
【００３４】
［第１の実施の形態］
図２は、通信システムの構成を示す図である。本実施の形態の通信システムは、端末装置間でデータの通信を行えるように、ステーションを始めとする複数の通信装置がデータをパケット形式で転送するものである。
【００３５】
図２に示す通信システムは、ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ、多重装置２１０ａ，２１０ｂ、分離装置２２０ａ、端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆで構成される。
【００３６】
ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅは、端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆ間で送受信されるデータのパケットを中継する通信装置である。ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅは、後述するステーション１００と同様に構成されており、同等の機能を有する。
【００３７】
多重装置２１０ａ，２１０ｂは、端末装置３００ａなどから送信されたデータを多重化してステーション１００ａなどに送信するための装置である。分離装置２２０ａは、
端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆは、ユーザが使用する端末装置である。図示する通信システムを介してこれらの端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆ間でデータの送受信が行われる。
【００３８】
図示する通信システムの構成例において、端末装置３００ａから出力されたデータは、多重装置２１０ａを経由して他の端末装置３００ｂから出力されたデータと共に多重化されて、ステーション１００ａに入力される。その後、ステーション１００ａから出力されたこのデータは、ステーション１００ｂ，１００ｃを経由して転送され、分離装置２２０ａに入力される。その後、分離装置２２０ａによって他のデータと分離された、端末装置３００ａから出力されたデータは、送信先である端末装置３００ｅに伝達される。
【００３９】
ここで、各端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆで送受信されるデータおよびデータのパケットには、それぞれ優先度としてクラスＡ，Ｂ，Ｃ，Ｄが付されているものとする。各データは、クラスＡを最高優先クラスとし、以下クラスＢ、クラスＣ、クラスＤの優先順位で各ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅにおいて優先的に処理される。
【００４０】
図３は、ステーションのハードウェア構成を示す図である。
図示するステーション１００は、光モジュール１１０ａ、ＭＡＣフレーム処理部１２０、ＦＰＧＡ（Field Programmable Gate Array）１３０、パケットバッファ１４０、ＥＯＳ（Ethernet（登録商標） Over SONET）処理部１５０、光モジュール１６０を有する。また、ＦＰＧＡ１３０は、フレーム識別部１３１、書き込み制御部１３２、読み出し制御部１３３を有する。
【００４１】
ステーション１００は、多重装置２１０ａ（図２参照）から入力されたデータを他のステーションに出力する。
多重装置２１０ａから複数のローカルエリアネットワーク（ＬＡＮ）のＭＡＣ（Media Access Control）フレームが光モジュール１１０ａ，１１０ｂ，・・・，１１０ｎに入力されると、それぞれが光モジュール１１０ａ，１１０ｂ，・・・，１１０ｎで光信号から電気信号に変換される。
【００４２】
光モジュール１１０ａ，１１０ｂ，・・・，１１０ｎによって変換された電気信号は、ＭＡＣフレーム処理部１２０においてそれぞれＭＡＣフレーム処理１２０ａ，１２０ｂ，・・・１２０ｎが行われ、ＦＰＧＡ１３０が有するフレーム識別部１３１に入力される。
【００４３】
フレーム識別部１３１は、入力されたフレーム（パケット）の識別を行い、フレームのフィールド（図４参照）に設定されている宛て先から物理ポート番号などを判定して、書き込み制御部１３２にフレームによって伝送され受信したデータを渡す。
【００４４】
書き込み制御部１３２は、フレーム識別部１３１によるパケットの識別結果にしたがって、パケットバッファ１４０に対して受信したデータの書き込みの制御を行う。
読み出し制御部１３３は、パケットバッファ１４０からデータを読み出すとともに、読み出したデータを廃棄する制御を行うとともに、ＥＯＳ処理部１５０に対して読み出したデータを引き渡す。
【００４５】
ＥＯＳ処理部１５０は、イーサフレーム（ＭＡＣフレーム）をＳＯＮＥＴフレームにマッピングし、光モジュール１６０に出力する。
光モジュール１６０は、電気信号から光信号への変換を行い、対向するステーションに対してパケット形式のデータを出力する。
【００４６】
なお、ここでは説明を省略するが、図２におけるステーション１００ｃのように、他のステーションから入力されたフレームデータを分離装置（図２における分離装置２２０ａ）に出力するステーションにおいては、図３において図示したステーション１００と逆向きの処理を行うことにより、ＳＯＮＥＴフレームから複数のローカルエリアネットワークのＭＡＣフレームに変換されて出力される。
【００４７】
また、同様に説明を省略するが、図２におけるステーション１００ｂのように、他のステーションから入力されたフレームデータを別の他のステーションに中継するステーションにおいては、他のステーションから入力されたＳＯＮＥＴフレームが送信先ごとのデータに分離され、それらのデータが送信先に向けてスイッチ処理された後、ＳＯＮＥＴフレームに編成されて次のステーションに送信される。
【００４８】
ここで、ステーション１００および図２の各ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅは、端末装置との間の両方向の通信データの転送および異なるステーション間で転送される通信データの中継を行うために、図３に示した機能、上記の逆向きの処理の機能および上記の中継の処理の機能を内部に備えている。
【００４９】
また、ここでは説明を省略するが、ステーション１００は、イーサパケットを入力してイーサパケットを出力する構成をとることもできる。
図４は、イーサパケットのデータ構造例を示す図である。図４に示すイーサパケットが、図２に示した通信システムにおいて、端末装置３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅ，３００ｆ（図２参照）で送受信される。このイーサパケットは、宛て先ＭＡＣアドレス（ＭＡＣ  ＤＡ：Media Access Control Destination Address）、送信元ＭＡＣアドレス、ＶＬＡＮプロトコルＩＤ（Virtual Local Area Network Protocol Identifier）、タグ制御情報、長さ／タイプ、ペイロード、ＦＣＳ（Frame Check Sequence）で構成される。
【００５０】
宛て先ＭＡＣアドレスは、送信先の端末装置が有する通信インタフェースを一意に識別するアドレスである。送信元ＭＡＣアドレスは、送信元の端末装置が有する通信インタフェースを一意に識別するアドレスである。ＶＬＡＮプロトコルＩＤは、当該パケットがＶＬＡＮのパケットであることなどを示す値である。タグ制御情報は、優先度、ＣＦ１、ＶＬＡＮＩＤで構成される。長さ／タイプは、パケットの長さおよびパケットの通信に使用されるプロトコルを指定するフィールドである。ペイロードは、送受信するデータ本体であり、例えば、ＩＰパケットを所定のデータ長に分割したものである。ＦＣＳは、受信したパケットの誤りを検出するために用いられる値である。
【００５１】
またタグ制御情報には、優先度、ＣＦＩ（Canonical Format Indicator）、ＶＬＡＮＩＤで構成される。
優先度は、パケットに割り当てられた優先度を示す３ビットの領域である。この優先度を示す３ビットを用いて例えば以下のように定義することができる。０／１：クラスＡ、２／３：クラスＢ、４／５：クラスＣ、６／７：クラスＤ。
【００５２】
ＣＦＩは、カノニカル形式指示子（‘０’：リトルエンディアン、‘１’：ビックエンディアン）であり、ＤｉｆｆＳｅｒｖのＤＳＣＰ値を書き込むフィールドである。ＶＬＡＮＩＤは、ＶＬＡＮ識別番号であり、１つのネットワークを複数の論理的なネットワーク（ＶＬＡＮ）に分割して運用する場合に、個々の論理的なネットワークに割り当てられる一意に定められた値である。このＶＬＡＮＩＤにより特定のユーザを認識して宛て先へルーティング処理を実施する。
【００５３】
なお、本実施の形態はＭＰＬＳフレームまたはＶＬＡＮフレーム等に限定されることはなく、他のフレームフォーマットのビットをクラス判定に用いる構成としてもよい。また、パケットのデータ構造は、ネットワークの運用形態等に応じて、種々の変形例が考えられる。
【００５４】
図５は、第１の実施の形態のステーションの機能を示すブロック図である。なお、図５ではステーション１００のモジュール構成を示しているが、上記ステーション１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅもステーション１００と同様のモジュール構成によって実現できる。
【００５５】
本実施の形態のステーション１００は、データを一時的に記憶するパケットバッファ１４０のオーバーフローを防止するために、書き込み制御部１３２、読み出し制御部１３３、アドレス管理部１３４、読み捨て制御部１３５、容量監視モニタ部１３６、パケット入力部１７０、パケット出力部１８０を有する。
【００５６】
また、アドレス管理部１３４は、アドレス制御部１３４ａ、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン（chain）管理メモリ１３４ｅを有する。パケット入力部１７０は、マルチプレクサ１７１を有する。パケット出力部１８０は、宛て先識別部１８１を有する。
【００５７】
書き込み制御部１３２は、パケットバッファ１４０に対して、ステーション１００が受信したデータを書き込む処理を実行する。書き込み制御部１３２は、パケットが入力された時、入力パケット情報（宛て先物理ポート番号、パケット長等）をアドレス制御部１３４ａに通知して、アドレス制御部１３４ａから送信された空き領域のアドレス値が示すパケットバッファ１４０のアドレスが示す領域にパケットのデータを書き込む。
【００５８】
読み出し制御部１３３は、パケットの出力時および読み捨て処理の実行時に、パケットバッファ１４０に記憶されているパケットのデータを、アドレス制御部１３４ａから送信されたパケットバッファ１４０のアドレスが示す記憶領域から読み出す処理を実行する。
【００５９】
これにより、ステーション１００で受信されたデータがパケットバッファ１４０において一時的に記憶された後、ステーション１００から出力される。出力されたデータは、例えば、ステーション１００が接続されている通信システム（図２参照）を介してデータの宛て先となる端末装置に転送される。
【００６０】
アドレス制御部１３４ａは、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅの制御を行い、データが書き込まれる記憶領域を示すアドレスおよびデータが読み出されるアドレスの管理および通知を行う。
【００６１】
先頭アドレス管理メモリ１３４ｂは、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの先頭パケットが記憶されているアドレス値を記憶するメモリである。詳しくは図１２において後述する。
【００６２】
最終アドレス管理メモリ１３４ｃは、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの最終パケットが記憶されているアドレス値を記憶するメモリである。詳しくは図１３において後述する。
【００６３】
空きアドレス管理メモリ１３４ｄは、空き領域であって使用可能な記憶領域のアドレス値を記憶するメモリである。詳しくは図１０において後述する。
アドレスチェーン管理メモリ１３４ｅは、パケットバッファ１４０に記憶されているパケットの順番の繋がりおよびパケット内のデータの繋がりを、連続する次のデータが記憶されている領域のアドレス値の繋がり（チェーン）によって、宛て先ごとおよび優先度ごとに記憶するメモリである。詳しくは図１１において後述する。
【００６４】
読み捨て制御部１３５は、容量監視モニタ部１３６から出力された容量通知により、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視して、パケットバッファ１４０に記憶されているデータ量が所定のデータ量を超過する場合には、パケットバッファ１４０から読み出されたデータを廃棄する読み捨て処理を実行する。これにより、パケットバッファ１４０の空き容量を増加させることができる。
【００６５】
読み捨て処理では、パケットバッファ１４０に記憶されているデータのパケットが実際に後段のパケット出力部１８０が有する物理ポートから出力されるのではない。読み捨て処理では、読み出し制御部１３３によってパケットバッファ１４０から廃棄されるデータが一旦読み出された後、読み出されたデータのパケットが、読み捨て制御部１３５によって、パケット出力部１８０の物理ポートから出力されることなく廃棄される。
【００６６】
ここで、ステーション１００に入力されるパケットのデータには優先度および出力される出力ポートが割り当てられている。読み捨て制御部１３５は、パケットバッファ１４０の空き容量がなく、かつ、パケットバッファ１４０に記憶されているデータの優先度がすべて同一である場合には、パケットバッファ１４０に記憶されているデータをすべて廃棄する。読み捨て制御部１３５は、パケットバッファ１４０に記憶されているデータの優先度および出力ポートが同一であるものごとにパケットバッファ１４０における記憶量を監視し、所定の記憶量を超過している場合には、優先度および出力ポートが割り当てられているデータについてデータ廃棄を行う。
【００６７】
また、読み捨て制御部１３５は、パケットバッファ１４０に記憶されているデータ量が開始閾値を超過する場合には、データ廃棄を行い、データ廃棄の結果パケットバッファ１４０に記憶されているデータ量が開始閾値よりも小さい解除閾値以下になった場合には、データ廃棄を終了する。また、読み捨て制御部１３５は、先にパケットバッファ１４０に書き込まれたデータからデータ廃棄を行う。
【００６８】
容量監視モニタ部１３６は、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視し、監視結果を示す容量通知を読み捨て制御部１３５に出力する。この容量通知に基づいて、読み捨て制御部１３５がパケットのデータの読み捨て処理を実行する。
【００６９】
パケットバッファ１４０は、入力パケットのデータを記憶し、読み出し制御部１３３にしたがってデータが読み出されるメモリである。パケットバッファ１４０は、書き込み制御部１３２によって書き込まれた、ステーション１００が受信したデータを一時的に記憶する。このパケットバッファ１４０は、例えば、パケットの伝送速度に対応して高速に動作可能な特性を有するＳＲＡＭを有するバッファなどが該当する。
【００７０】
パケット入力部１７０は、マルチプレクサ１７１を有し、物理ポート（ポート＃０〜ポート＃ｎ）からステーション１００に入力されるパケットを受け付け、受け付けたパケットを多重化する。この多重化されたパケットは、書き込み制御部１３２に送信される。
【００７１】
パケット出力部１８０は、宛て先識別部１８１を有し、パケットバッファ１４０から読み出されてから出力されるデータのパケットを分離し、宛て先識別部１８１で識別した宛て先に応じた物理ポート（ポート＃０〜ポート＃ｎ）から出力する。
【００７２】
本実施の形態のステーション１００では、入力パケットが到着するパケット入力部１７０で受け付けられた多重のパケットが、書き込み制御部１３２によってパケットバッファ１４０に書き込まれる。また、容量監視モニタ部１３６によって、常時、ステーション１００に入力され、パケットバッファ１４０に記憶されているデータ量などの、パケットバッファ１４０の記憶内容が監視されている。ここで、パケットバッファ１４０のポートおよび優先度ごとのデータの記憶量が読み捨て処理の開始閾値を超過すると、読み捨て制御部１３５によって、読み捨て処理の実行が開始される。この読み捨て処理は、以下の順序で実行される。
【００７３】
まず、読み捨て制御部１３５は、読み出し制御部１３３に、パケットバッファ１４０から廃棄するデータの読み出しを実行させる。
次に、読み出し制御部１３３は、（通常のデータの読み出し動作と同様）アドレス制御部１３４ａに対してパケットバッファ１４０から廃棄するデータが記憶されているアドレスを示すアドレス情報を要求する。
【００７４】
次に、読み出し制御部１３３は、パケットバッファ１４０から廃棄するデータのアドレス情報を受信する。
次に、読み出し制御部１３３は、パケットバッファ１４０にアドレスを送信して廃棄するデータの読み出しを行い、パケットバッファ１４０から読み出したデータを受信する。
【００７５】
次に、読み出し制御部１３３は、受信したデータを読み捨て制御部１３５に送信する。
次に、読み捨て制御部１３５は、読み出し制御部１３３から送信された、読み出されたデータのパケットを後段のパケット出力部１８０には出力せず、読み捨て制御部１３５内部で廃棄する。
【００７６】
図６は、容量監視モニタ部の機能を示すブロック図である。図６に示す容量監視モニタ部１３６は、カウンタ加算部１３６ａ、カウンタ減算部１３６ｂを有する。
また、容量監視モニタ部１３６は、パケットバッファ１４０（図３参照）に記憶されているパケットのデータの記憶量を管理するために複数のカウンタを有する。これらのカウンタは、図６に示すように、パケット出力部１８０（図５参照）の各物理ポートおよびそのポートにおける優先度に対応して設けられている。
【００７７】
具体的には、容量監視モニタ部１３６は、パケット出力部１８０の物理ポートである、ポート＃０から出力される優先度がクラスＡのパケットのデータの記憶量をカウントするカウンタであるポート＃０クラスＡカウンタ１３６ｃ１を有する。また、容量監視モニタ部１３６は、同様に、ポート＃０クラスＢカウンタ１３６ｃ２、ポート＃０クラスＣカウンタ１３６ｃ３、ポート＃０クラスＤカウンタ１３６ｃ４、・・・、ポート＃ｎクラスＡカウンタ１３６ｎ１、ポート＃ｎクラスＢカウンタ１３６ｎ２、ポート＃ｎクラスＣカウンタ１３６ｎ３、ポート＃ｎクラスＤカウンタ１３６ｎ４を有する。
【００７８】
カウンタ加算部１３６ａは、書き込み制御部１３２によってパケットバッファ１４０に書き込まれたデータを監視して、書き込まれたデータのパケットが出力される物理ポートおよびそのパケットの優先度に対応するカウンタの値を増加させる。
【００７９】
カウンタ減算部１３６ｂは、読み出し制御部１３３によってパケットバッファ１４０から読み出されたデータを監視して、読み出されたデータのパケットが出力される物理ポートおよびそのパケットの優先度に対応するカウンタの値を減算させる。また、カウンタ減算部１３６ｂは、読み捨て制御部１３５からの要求に応じて、要求された物理ポートおよび優先度のパケットのデータのパケットバッファ１４０における記憶量を、カウンタ値を参照して通知する容量通知を、読み捨て制御部１３５に対して出力する。
【００８０】
図７は、第１の実施の形態における読み捨て処理時のパケットバッファのＱｕｅ長を示す図である。
本実施の形態のステーション１００は、パケットバッファ１４０（図３参照）における、読み捨て処理を開始する開始閾値を超過すると、パケットバッファ１４０に記憶されているデータを読み出して廃棄する読み捨て処理を開始して、パケットバッファ１４０の空き領域を作成する。その後、ステーション１００は、開始閾値より小さい値であり、読み捨て処理を解除する解除閾値以下になると、読み捨て処理を停止する。
【００８１】
ここで、第１の実施の形態におけるパケット蓄積時のＱｕｅ長について図にしたがって説明する。ステーション１００において、同一の優先度（例えば、クラスＤ）の出力パケットのデータ量に比較して入力パケットのデータ量が多い状態が継続すると、パケットバッファ１４０の記憶領域に同一の優先度の入力パケットがパケットバッファ１４０に蓄積されていくことなる。また、これにしたがって、パケットバッファ１４０に記憶されているデータのＱｕｅ長が、開始閾値（例えば、１１２．５Ｍｂｉｔ）まで増加していく。
【００８２】
次に、第１の実施の形態におけるパケット読み捨て時のＱｕｅ長について図にしたがって説明する。ステーション１００において、さらに出力パケットのデータ量に比較して入力パケットのデータ量が多い状態が継続し、同一の優先度（例えばクラスＤ）のパケットのデータによって占められる量が一定量を超過した場合、具体的には開始閾値を超過した場合には、ステーション１００は、パケットバッファ１４０の記憶領域における上記の開始閾値を超過して記憶されている優先度のパケットのデータを読み出して廃棄する読み捨て処理が開始される。
【００８３】
この読み捨て処理は、パケットバッファ１４０の記憶領域に記憶されている同一の優先度のパケットによって占められている量が一定量以下になるまで、具体的には、パケットバッファ１４０の記憶領域に記憶されている同一の優先度のパケットが占めている量が解除閾値（例えば、７５Ｍｂｉｔ）以下になるまで実行される。同一の優先度のパケットが占めている量が解除閾値以下になると、パケット読み捨て処理が終了される。
【００８４】
これにより、パケットバッファ１４０の記憶領域に記憶されているデータが廃棄され、パケットバッファ１４０の空き容量を増加させることができる。このため、パケットバッファ１４０に一定の空き領域が確保できるので、パケットバッファ１４０が満たされて空き領域がなくなることによる新たな入力パケットが廃棄されて失われる事態を防止でき、常に新たな入力パケットがパケットバッファ１４０に書き込まれることになる。
【００８５】
また、同一の優先度のパケットのみでパケットバッファ１４０の記憶領域を占めるデータ量が一定量を超過する場合に読み捨て処理が実行されるので、パケットバッファ１４０の記憶領域が同一の優先度のパケットのデータによって占有されることにより優先度の高いパケットについて保証されているＣＩＲが維持できなくなることを防止することができる。
【００８６】
なお、上記の開始閾値および解除閾値は、優先度の区分の数、各優先度のパケットのデータの入力比率および出力比率などの状況に基づいて、適宜定めることができる。
また、本実施の形態では、読み捨て処理の実行中は、入力パケットの書き込みは可能である。しかし、これに限らず、読み捨て処理の実行中は、他の入力パケットの書き込みを禁止してもよい。
【００８７】
次に、ステーション１００の動作について具体例を用いて説明する。
ここで、同一の優先度（例えば、クラスＤ）の開始閾値を超える量の複数のパケットが連続して入力される状態を第１の状態とする。この第１の状態におけるステーション１００の動作について、図８から図１８を用いて説明する。なお、この第１の状態の以前にはステーション１００に対してパケットが入力されておらず、パケットバッファ１４０にもデータが記憶されていないものとする。
【００８８】
図８に、第１の状態でステーション１００に入力される入力パケットを示す。図９から図１３に、第１の状態において入力される入力パケットのデータがパケットバッファ１４０（図３参照）に書き込まれた直後のステーション１００の状態を示す。図１４から図１８に、第１の状態において入力パケットのデータが読み捨て処理が実行された直後のステーション１００の状態を示す。
【００８９】
図８は、第１の状態における入力パケットを示す図である。図８に示す入力パケット１４１ａは、第１の状態においてステーション１００に入力されるパケットである、クラスＤのパケットであるパケットＤ１〜Ｄ１２を示している。第１の状態では、パケットＤ１〜Ｄ１２は連続するパケットであり、ステーション１００に対してパケットＤ１が最初に入力され、その後パケットＤ２、パケットＤ３、パケットＤ４、・・・、パケットＤ１２の順に入力される。
【００９０】
図９は、第１の状態における入力パケットのデータが書き込まれた直後のパケットバッファの記憶内容を示す図である。ここで、図示した入力パケット１４１ａ（図８参照）の書き込み直後のパケットバッファ１４０の記憶内容４０１ａにおける“アドレス”の欄は、第１の状態の入力パケットの書き込み直後におけるパケットバッファ１４０（図３参照）のアドレスを示している。このアドレスは、ここではパケットバッファ１４０の記憶領域を、１０Ｍｂｉｔごとに区分するように設定されている。“データ”の欄は、対応するアドレスに記憶されているデータのパケットを示す。ここでは、説明の便宜上、各パケットのデータの大きさは１０Ｍｂｉｔであるものとする。
【００９１】
ステーション１００にパケットが入力されると、パケットバッファ１４０の記憶内容４０１ａに示すように、各パケットのデータが入力順に記憶される。パケットのデータが記憶されていない記憶領域は、データを記憶可能な空き領域となる。
【００９２】
第１の状態よりも前、すなわちステーション１００のパケットバッファ１４０の記憶領域がすべて空き領域である状態において、図８に示した入力パケット１４１ａのパケットＤ１〜Ｄ１２がステーション１００に入力されると、パケットバッファ１４０の記憶内容４０１ａに示すように、アドレス０からアドレス１１に、各パケットのデータが入力順に記憶される。アドレス１２以降は、データを記憶可能な空き領域となる。
【００９３】
また、このときの解除閾値は、例えば、７５Ｍｂｉｔとし、開始閾値は、１１２．５Ｍｂｉｔとする。
図１０は、第１の状態における入力パケットのデータが書き込まれた直後の空きアドレス管理メモリの記憶内容を示す図である。ここで、図示した空きアドレス管理メモリ１３４ｄ（図５参照）の記憶内容４０１ｂの“アドレス”の欄は、第１の状態の入力パケットの書き込み直後における空きアドレス管理メモリ１３４ｄのアドレスを示している。この空きアドレス管理メモリ１３４ｄのアドレスは、パケットバッファ１４０（図３参照）のアドレスと対応するように設定されている。このアドレスは、図９と同様、パケットバッファ１４０の記憶領域を、１０Ｍｂｉｔごとに区分するように設定されている。“データ”の欄は、パケットバッファ１４０の記憶領域に対応するアドレスの記憶領域が、空いておりデータを記憶可能（使用可）であるか否か（使用不可）を示す。ここでは、説明の便宜上、各パケットのデータの大きさは１０Ｍｂｉｔであるものとする。
【００９４】
ステーション１００のパケットバッファ１４０に入力パケットのデータが記憶されると、空きアドレス管理メモリ１３４ｄの記憶内容４０１ｂに示すように、パケットバッファ１４０に入力された各パケットのデータが記憶されている記憶領域のアドレスに対応するデータの欄に“使用不可”が設定される。それ以外のパケットのデータが記憶されていない空き領域のアドレスに対応するデータの欄には“使用可”が設定される。
【００９５】
ステーション１００のパケットバッファ１４０の記憶領域がすべて空き領域である第１の状態において、図８に示した入力パケット１４１ａのパケットＤ１〜Ｄ１２がステーション１００に入力されると、空きアドレス管理メモリ１３４ｄの記憶内容４０１ｂに示すように、パケットバッファ１４０の記憶領域に各パケットのデータが記憶されることにより、データが記憶されているアドレス０からアドレス１１のデータの欄は、“使用不可”となる。また、それ以外の空き領域である記憶領域は、“使用可”となる。
【００９６】
図１１は、第１の状態における入力パケットのデータが書き込まれた直後のアドレスチェーン管理メモリの記憶内容を示す図である。ここで、図示したアドレスチェーン管理メモリ１３４ｅ（図５参照）の記憶内容４０１ｃの“アドレス”の欄は、第１の状態の入力パケットの書き込み直後におけるアドレスチェーン管理メモリ１３４ｅのアドレスを示している。このアドレスチェーン管理メモリ１３４ｅのアドレスは、パケットバッファ１４０（図３参照）のアドレスと対応するように設定されている。このアドレスは、図９と同様、パケットバッファ１４０の記憶領域を、１０Ｍｂｉｔごとに区分するように設定されている。“データ”の欄は、パケットバッファ１４０の記憶領域に対応するアドレスの記憶領域のデータのパケットの繋がりを示す。ここでは、説明の便宜上、各パケットのデータの大きさは１０Ｍｂｉｔであるものとする。
【００９７】
ステーション１００のパケットバッファ１４０に入力パケットのデータが記憶されると、アドレスチェーン管理メモリ１３４ｅの記憶内容４０１ｃに示すように、パケットバッファ１４０に記憶されているデータのパケットの、次のパケットのデータが記憶されている、パケットバッファ１４０のアドレスが、“ネクストアドレス”として設定される。最後のパケットのデータが記憶されている記憶領域のアドレスに対応するデータの欄には“ネクストアドレス＝なし”が設定される。パケットのデータが記憶されていない空き領域のアドレスに対応するデータの欄には“空き”が設定される。
【００９８】
ステーション１００のパケットバッファ１４０の記憶領域がすべて空き領域である第１の状態において、図８に示した入力パケット１４１ａのパケットＤ１〜Ｄ１２がステーション１００に入力されると、アドレスチェーン管理メモリ１３４ｅの記憶内容４０１ｃに示すように、データが記憶されているアドレス０からアドレス１０のデータの欄は、次のパケットのデータが格納されているアドレスが示され、“ネクストアドレス＝１”，“ネクストアドレス＝２”，“ネクストアドレス＝３”，・・・，“ネクストアドレス＝１１”となる。アドレス１１には、最後のパケットのデータが記憶されているので、データの欄は、“ネクストアドレス＝なし”となる。また、それ以外の空き領域である記憶領域は、“空き”となる。
【００９９】
図１２は、第１の状態における入力パケットのデータが書き込まれた直後の先頭アドレス管理メモリの記憶内容を示す図である。ここで、図示した先頭アドレス管理メモリ１３４ｂ（図５参照）の記憶内容４０１ｄの“ポート”の欄は、パケットの宛て先に応じたパケット出力部１８０の物理ポートのポート番号を示している。“クラス”の欄は、各物理ポートから入力されたパケットの優先度を示している。“先頭アドレス値”の欄は、入力された連続するパケットのうちの最初のパケットのデータが記憶されている、パケットバッファ１４０（図３参照）の記憶領域のアドレスを示している。
【０１００】
ステーション１００のパケットバッファ１４０にパケットが入力されると、先頭アドレス管理メモリ１３４ｂの記憶内容４０１ｄに示すように、パケットが入力された物理ポートおよび入力されたパケットの優先度に応じた先頭アドレス値の欄に、先頭のパケットのデータが記憶されているパケットバッファ１４０のアドレスが設定される。
【０１０１】
ステーション１００のパケットバッファ１４０の記憶領域がすべて空き領域である第１の状態において、図８に示した入力パケット１４１ａの連続するパケットＤ１〜Ｄ１２がステーション１００に入力されると、記憶内容４０１ｄに示すように、先頭アドレス管理メモリ１３４ｂの入力されたパケットの宛て先に対応するポート（例えば、ポート０）および優先度（第１の状態ではクラスＤ）の先頭アドレス値は、“先頭アドレス＝０”となる。また、パケットが入力されていないポートおよび優先度の先頭アドレス値は、“初期値”のままとなる。
【０１０２】
図１３は、第１の状態における入力パケットのデータが書き込まれた直後の最終アドレス管理メモリの記憶内容を示す図である。ここで、図示した最終アドレス管理メモリ１３４ｃ（図５参照）の記憶内容４０１ｅの“ポート”の欄は、パケットの宛て先に応じたパケット出力部１８０の物理ポートのポート番号を示している。“クラス”の欄は、各物理ポートから入力されたパケットの優先度を示している。“最終アドレス値”の欄は、入力された連続するパケットのうちの最後のパケットのデータが記憶されている、パケットバッファ１４０（図３参照）の記憶領域のアドレスを示している。
【０１０３】
ステーション１００のパケットバッファ１４０にパケットが入力されると、記憶内容４０１ｅに示すように、最終アドレス管理メモリ１３４ｃのパケットが入力された物理ポートおよび入力されたパケットの優先度に応じた最終アドレス値の欄に、最後のパケットのデータが記憶されているパケットバッファ１４０のアドレスが設定される。
【０１０４】
ステーション１００のパケットバッファ１４０の記憶領域がすべて空き領域である第１の状態において、図８に示した入力パケット１４１ａの連続するパケットＤ１〜Ｄ１２がステーション１００に入力されると、最終アドレス管理メモリ１３４ｃの記憶内容４０１ｅに示すように、入力されたパケットの宛て先に対応するポート（例えば、ポート０）および優先度（第１の状態ではクラスＤ）の最終アドレス値は、“最終アドレス＝１１”となる。また、パケットが入力されていないポートおよび優先度の最終アドレス値は、“初期値”のままとなる。
【０１０５】
図１４は、第１の状態における読み捨て処理の実行直後のパケットバッファの記憶内容を示す図である。ここで、図示したパケットバッファ１４０（図３参照）の記憶内容４０２ａの“アドレス”の欄は、パケットバッファ１４０のアドレスを示している。“データ”の欄は、読み捨て処理の実行直後における対応するアドレスに記憶されているデータのパケットを示す。
【０１０６】
ステーション１００のパケットバッファ１４０に記憶された入力パケットのデータの記憶量が開始閾値を超過すると、パケットバッファ１４０の記憶内容４０２ａに示すように、各パケットのデータが入力順に読み捨て処理によって廃棄される。パケットのデータが記憶されていない記憶領域およびデータの廃棄が完了した記憶領域は、データを記憶可能な空き領域となる。
【０１０７】
ステーション１００のパケットバッファ１４０の記憶領域のアドレス０からアドレス１１に第１の状態の入力パケット１４１ａのデータが記憶されている状態において、記憶されているデータが開始閾値を超過すると、パケットバッファ１４０の記憶内容４０２ａに示すように、記憶領域に記憶されているデータが解除閾値以下になるまで、アドレス０からアドレス４に記憶されているパケットのデータが入力順に読み捨て処理によって廃棄される。この読み捨て処理によってデータが廃棄されたアドレス０からアドレス４は、再び空き領域となる。
【０１０８】
図１５は、第１の状態における読み捨て処理の実行直後の空きアドレス管理メモリの記憶内容を示す図である。ここで、図示した空きアドレス管理メモリ１３４ｄ（図５参照）の記憶内容４０２ｂの“アドレス”の欄は、空きアドレス管理メモリ１３４ｄのアドレスを示している。この空きアドレス管理メモリ１３４ｄのアドレスは、図１０と同様、パケットバッファ１４０（図３参照）のアドレスと対応するように設定されている。“データ”の欄は、読み捨て処理の実行直後におけるパケットバッファ１４０の記憶領域に対応するアドレスの記憶領域が、空いておりデータを記憶可能（使用可）であるか否か（使用不可）を示す。
【０１０９】
上記のように、空きアドレス管理メモリ１３４ｄにおいて、パケットバッファ１４０に入力された各パケットのデータが記憶されている記憶領域のアドレスに対応するデータの欄に“使用不可”が設定されている（図１０参照）。空きアドレス管理メモリ１３４ｄの記憶内容４０２ｂに示すように、通常の読み出しまたは読み捨て処理による廃棄が行われた記憶領域のアドレスに対応するデータの欄には“使用可”が設定される。
【０１１０】
第１の状態において入力パケット１４１ａが入力されたことにより、ステーション１００のパケットバッファ１４０の記憶領域のデータが開始閾値を超過して読み捨て処理が実行され、記憶領域のデータが解除閾値以下になるまでデータが廃棄されると、空きアドレス管理メモリ１３４ｄのデータが廃棄されたアドレス０からアドレス４のデータの欄は、記憶内容４０２ｂに示すように“使用可”となる。
【０１１１】
図１６は、第１の状態における読み捨て処理の実行直後のアドレスチェーン管理メモリの記憶内容を示す図である。ここで、図示したアドレスチェーン管理メモリ１３４ｅ（図５参照）の記憶内容４０２ｃの“アドレス”の欄は、アドレスチェーン管理メモリ１３４ｅのアドレスを示している。このアドレスチェーン管理メモリ１３４ｅのアドレスは、図１１と同様、パケットバッファ１４０（図３参照）のアドレスと対応するように設定されている。“データ”の欄は、読み捨て処理の実行直後におけるパケットバッファ１４０の記憶領域に対応するアドレスの記憶領域のデータのパケットの繋がりを示す。
【０１１２】
上記のように、アドレスチェーン管理メモリ１３４ｅにおいて、パケットバッファ１４０に入力された各パケットのデータが記憶されている記憶領域のアドレスに対応するデータの欄には、ネクストアドレスが設定されている（図１１参照）。アドレスチェーン管理メモリ１３４ｅの通常の読み出しまたは読み捨て処理による廃棄が行われた記憶領域のアドレスに対応するデータの欄には、記憶内容４０２ｃに示すように“空き”が設定される。
【０１１３】
第１の状態において入力パケット１４１ａが入力されたことにより、ステーション１００のパケットバッファ１４０の記憶領域のデータが開始閾値を超過して読み捨て処理が実行され、記憶領域のデータが解除閾値以下になるまでデータが廃棄されると、アドレスチェーン管理メモリ１３４ｅの記憶内容４０２ｃに示すように、データが廃棄されたアドレス０からアドレス４のデータの欄は、“空き”となる。
【０１１４】
図１７は、第１の状態における読み捨て処理の実行直後の先頭アドレス管理メモリの記憶内容を示す図である。ここで、図示した先頭アドレス管理メモリ１３４ｂ（図５参照）の記憶内容４０２ｄの“ポート”の欄は、パケットの宛て先に応じたパケット出力部１８０の物理ポートのポート番号を示している。“クラス”の欄は、各物理ポートから入力されたパケットの優先度を示している。“先頭アドレス値”の欄は、入力された連続するパケットのうちの最初のパケットのデータが記憶されている、パケットバッファ１４０（図３参照）の記憶領域のアドレスを示している。
【０１１５】
上記のように、先頭アドレス管理メモリ１３４ｂにおいて、パケットバッファ１４０に入力された各パケットの宛て先に応じた物理ポートおよび優先度（クラス）に対応する先頭アドレス値の欄には、パケットの宛て先に応じた物理ポートおよび優先度ごとに、先頭アドレス値が設定されている（図１２参照）。先頭アドレス管理メモリ１３４ｂの記憶内容４０２ｄに示すように、通常の読み出しまたは読み捨て処理による廃棄が行われた記憶領域のアドレスに対応する先頭アドレス値の欄には、読み出しまたは廃棄後の時点における入力されたパケットの先頭アドレスが設定される。
【０１１６】
第１の状態において入力パケット１４１ａが入力されたことにより、ステーション１００のパケットバッファ１４０の記憶領域のデータが開始閾値を超過して読み捨て処理が実行され、記憶領域のデータが解除閾値以下になるまでデータが廃棄されると、先頭アドレス管理メモリ１３４ｂのデータが廃棄されたポート０のクラスＤの先頭アドレス値の欄は、記憶内容４０２ｄに示すように“先頭アドレス＝５”となる。
【０１１７】
図１８は、第１の状態における読み捨て処理の実行直後の最終アドレス管理メモリの記憶内容を示す図である。ここで、図示した最終アドレス管理メモリ１３４ｃ（図５参照）の記憶内容４０２ｅの“ポート”の欄は、パケットの宛て先に応じたパケット出力部１８０の物理ポートのポート番号を示している。“クラス”の欄は、各物理ポートから入力されたパケットの優先度を示している。“最終アドレス値”の欄は、入力された連続するパケットのうちの最後のパケットのデータが記憶されている、パケットバッファ１４０（図３参照）の記憶領域のアドレスを示している。
【０１１８】
上記のように、最終アドレス管理メモリ１３４ｃにおいて、パケットバッファ１４０に入力された各パケットの宛て先に応じた物理ポートおよび優先度（クラス）に対応する最終アドレス値の欄には、パケットの宛て先に応じた物理ポートおよび優先度ごとに、最終アドレス値が設定されている（図１３参照）。最終アドレス管理メモリ１３４ｃの記憶内容４０２ｅに示すように、通常の読み出しまたは読み捨て処理による廃棄が行われた記憶領域のアドレスに対応する最終アドレス値の欄には、読み出しまたは廃棄後の時点における入力されたパケットの最終アドレスが設定される。
【０１１９】
第１の状態において入力パケット１４１ａが入力されたことにより、ステーション１００のパケットバッファ１４０の記憶領域のデータが開始閾値を超過して読み捨て処理が実行され、記憶領域のデータが解除閾値以下になるまでデータが廃棄されると、最終アドレス管理メモリ１３４ｃのデータが廃棄された宛て先に対応する物理ポートがポート０のクラスＤの最終アドレス値の欄は、記憶内容４０２ｅに示すように、図１３から変化せずに“最終アドレス＝１１”のままとなる。
【０１２０】
すなわち、図８から図１８に示した第１の状態におけるステーション１００の動作を説明すると、宛て先に対応する物理ポートがポート０であるクラスＤのパケットＤ１〜Ｄ１２がステーション１００に入力されると、パケットバッファ１４０に記憶されている優先度Ｄのパケットのデータ量は、開始閾値（１１２．５Ｍｂｉｔ）を超過しているため、優先度Ｄのパケットのデータの廃棄が実行される。これにより、読み出されたデータは、読み捨て制御部１３５によって廃棄され、パケット出力部１８０（図５参照）の物理ポートから出力されることはない。
【０１２１】
また、この例では、パケットＤ１〜Ｄ５が廃棄のために読み出されたことにより、解除閾値（７５Ｍｂｉｔ）を下まわったので、読み捨て処理は解除される。
このようにして、パケットバッファ１４０に開始閾値を超過する量のデータが記憶されている場合には、データが廃棄されるため、パケットバッファ１４０には空き領域が存在するため、ステーション１００に新たに入力された最新のパケットをパケットバッファに格納可能となる。
【０１２２】
次に、第１の状態の入力パケット（図８の入力パケット１４１ａ参照）がステーション１００に入力された後、第１の状態で入力されたパケットＤ１〜Ｄ１２と同一の優先度（例えば、クラスＤ）のパケット（例えば、図１９に示すパケットＤ１３〜Ｄ１５）および第１の状態の入力パケットよりも高い優先度（例えば、クラスＣ）のパケット（例えば、図１９に示すパケットＣ１）が入力される状態を第２の状態とする。この第２の状態におけるステーション１００の動作について、図１９から図２４を用いて説明する。なお、この第２の状態の開始時において、第１の状態で入力された入力パケット１４１ａのデータがパケットバッファ１４０に記憶されているものとする。
【０１２３】
図１９に、第２の状態でステーション１００に入力される入力パケットを示す。図２０から図２４に、第１の状態の入力パケットのデータがパケットバッファ１４０（図３参照）に書き込まれた後、さらに、第２の状態において入力される入力パケット（パケットＤ１３〜Ｄ１５，Ｃ１）のデータがパケットバッファ１４０に書き込まれた直後のステーション１００の状態を示す。
【０１２４】
図１９は、第２の状態における入力パケットを示す図である。図１９に示す入力パケット１４１ｂは、第１の状態においてステーション１００に入力されたパケットである、パケットＤ１〜Ｄ１２ならびに第１の状態のパケットに続き第２の状態でステーション１００に入力されるパケットである、優先度がクラスＤのパケットであるパケットＤ１３〜Ｄ１５および優先度がクラスＣのパケットであるパケットＣ１を示している。第１の状態の後、第２の状態では、パケットＤ１３〜Ｄ１５は第１の状態のパケットＤ１〜Ｄ１２に連続するパケットであり、パケットＣ１は、パケットＤ１５に続いて入力される単独のパケットである。これらの第２の状態のパケットは、ステーション１００に対してパケットＤ１２が入力された直後に続いて、パケットＤ１３、パケットＤ１４、パケットＤ１５、パケットＣ１の順に入力される。
【０１２５】
図２０は、第２の状態における入力パケットのデータが書き込まれた直後のパケットバッファの記憶内容を示す図である。
ステーション１００のパケットバッファ１４０の記憶領域に第１の状態の入力パケットＤ１〜Ｄ１２のデータが書き込まれ、かつパケットＤ１〜Ｄ５のデータが読み捨て処理によって廃棄され、さらに読み捨て処理が完了した後の状態（図１４参照）において、図１９に示した入力パケット１４１ｂのパケットＤ１３〜Ｄ１５およびパケットＣ１がステーション１００に入力されると、パケットバッファ１４０の記憶内容４０３ａに示すように、パケットＤ１３の直前のパケットであるパケットＤ１２のデータが記憶されている記憶領域の次の記憶領域であるアドレス１２に、パケットＤ１３のデータが記憶される。パケットＤ１４、パケットＤ１５のデータもこれに続いて記憶される。また、パケットＤ１〜Ｄ５のデータが読み捨てられた記憶領域のうちのアドレス０に、パケットＣ１のデータが記憶される。アドレス１からアドレス４は、データを記憶可能な空き領域となる。
【０１２６】
図２１は、第２の状態における入力パケットのデータが書き込まれた直後の空きアドレス管理メモリの記憶内容を示す図である。
ステーション１００のパケットバッファ１４０の記憶領域に第１の状態の入力パケットＤ１〜Ｄ１２のデータが書き込まれ、かつパケットＤ１〜Ｄ５のデータが読み捨て処理によって廃棄され、さらに読み捨て処理が完了した後の状態（図１４参照）において、図１９に示した入力パケット１４１ｂのパケットＤ１３〜Ｄ１５およびパケットＣ１がステーション１００に入力されると、空きアドレス管理メモリ１３４ｄの記憶内容４０３ｂに示すように、パケットバッファ１４０の記憶領域に各パケットのデータが記憶されることにより、データが記憶されているアドレス０およびアドレス５からアドレス１４のデータの欄は、“使用不可”となる。また、それ以外の空き領域である記憶領域は、“使用可”となる。
【０１２７】
図２２は、第２の状態における入力パケットのデータが書き込まれた直後のアドレスチェーン管理メモリの記憶内容を示す図である。
ステーション１００のパケットバッファ１４０の記憶領域に第１の状態の入力パケットＤ１〜Ｄ１２のデータが書き込まれ、かつパケットＤ１〜Ｄ５のデータが読み捨て処理によって廃棄され、さらに読み捨て処理が完了した後の状態（図１４参照）において、図１９に示した入力パケット１４１ｂのパケットＤ１３〜Ｄ１５およびパケットＣ１がステーション１００に入力されると、アドレスチェーン管理メモリ１３４ｅの記憶内容４０３ｃに示すように、パケットＣ１のデータが記憶されているアドレス０のデータの欄は、“ネクストアドレス＝なし”となる。パケットＤ６〜Ｄ１５のデータが記憶されているアドレス５からアドレス１４のデータの欄は、それぞれ“ネクストアドレス＝６”，“ネクストアドレス＝７”，“ネクストアドレス＝８”，・・・，“ネクストアドレス＝なし”となる。また、それ以外の空き領域である記憶領域は、“空き”となる。
【０１２８】
図２３は、第２の状態における入力パケットのデータが書き込まれた直後の先頭アドレス管理メモリの記憶内容を示す図である。
ステーション１００のパケットバッファ１４０の記憶領域に第１の状態の入力パケットＤ１〜Ｄ１２のデータが書き込まれ、かつパケットＤ１〜Ｄ５のデータが読み捨て処理によって廃棄され、さらに読み捨て処理が完了した後の状態（図１４参照）において、図１９に示した入力パケット１４１ｂのパケットＤ１３〜Ｄ１５およびパケットＣ１がステーション１００に入力されると、記憶内容４０３ｄに示すように、先頭アドレス管理メモリ１３４ｂのポート０のクラスＣの先頭アドレス値の欄は、“先頭アドレス値＝０”となる。また、ポート０のクラスＤの先頭アドレス値の欄は、“先頭アドレス＝５”のままである。
【０１２９】
図２４は、第２の状態における入力パケットのデータが書き込まれた直後の最終アドレス管理メモリの記憶内容を示す図である。
ステーション１００のパケットバッファ１４０の記憶領域に第１の状態の入力パケットＤ１〜Ｄ１２のデータが書き込まれ、かつパケットＤ１〜Ｄ５のデータが読み捨て処理によって廃棄され、さらに読み捨て処理が完了した後の状態（図１４参照）において、図１９に示した入力パケット１４１ｂのパケットＤ１３〜Ｄ１５およびパケットＣ１がステーション１００に入力されると、記憶内容４０３ｅに示すように、最終アドレス管理メモリ１３４ｃのデータが廃棄されたポート０のクラスＤのポート０のクラスＣの最終アドレス値の欄は、“最終アドレス値＝０”となる。また、ポート０のクラスＤの最終アドレス値の欄は、“最終アドレス＝１４”となる。
【０１３０】
すなわち、図１９から図２４に示した第２の状態におけるステーション１００の動作を説明すると、宛て先がポート０に対応するクラスＤのパケットＤ１〜Ｄ１２が入力され、続いて宛て先がポート０に対応するクラスＤのパケットＤ１３〜Ｄ１５および宛て先がポート０に対応するクラスＣのパケットＣ１がステーション１００に入力されると、パケットＤ１〜Ｄ１２が入力された時点で開始閾値を超過してパケットのデータの廃棄が行われているため、パケットＣ１のデータがパケットバッファ１４０に記憶されることになる。これにより、読み捨て処理が実行されることで、パケットバッファ１４０に常に空きが存在するので、優先度の高いパケットが後から入力された場合にも、そのパケットのデータが失われることなくパケットバッファ１４０に記憶可能になる。
【０１３１】
図２５は、第１の実施の形態の廃棄判定処理の手順を示すフローチャートである。
本実施の形態のステーション１００は、物理ポートからパケットが入力されると、入力パケットのデータをパケットバッファ１４０に書き込む。これにより入力パケットのデータがパケットバッファ１４０に記憶される。第１の実施の形態の廃棄判定処理では、ステーション１００にパケットが入力される都度呼び出され、入力されたパケットのデータが書き込まれたパケットバッファ１４０の状況を監視してデータの読み捨てによる入力パケットの廃棄の判定が行われる。
【０１３２】
［ステップＳ１１］ステーション１００は、物理ポート（図５のパケット入力部１７０のポート＃０、・・・、ポート＃ｎ）から入力されたパケットを多重化する多重処理を実行する。
【０１３３】
［ステップＳ１２］ステーション１００は、ステップＳ１１で多重化された入力パケットからデータを抽出し、抽出したデータをパケットバッファ１４０に書き込む。
［ステップＳ１３］ステーション１００は、パケットバッファ１４０の使用状況を監視して、パケットバッファ１４０に記憶されている各優先度のデータ量を取得する。
【０１３４】
［ステップＳ１４］ステーション１００は、ステップＳ１３で取得したパケットバッファ１４０の使用状況が予め定められている開始閾値を超過しているか否かを判定する。使用状況が開始閾値を超過していれば、ステーション１００は、ステップＳ１７に処理を進める。一方、使用状況が開始閾値以下であれば、ステーション１００は、ステップＳ１５に処理を進める。
【０１３５】
［ステップＳ１５］ステーション１００は、パケットバッファ１４０からパケットのデータを読み出す。
［ステップＳ１６］ステーション１００は、ステップＳ１５で読み出したデータを、パケットの宛て先と対応するパケット出力部１８０（図５参照）の物理ポートに振り分け、振り分けた物理ポートからデータのパケットを送信する。その後、処理を終了する。
【０１３６】
［ステップＳ１７］ステーション１００は、パケットバッファ１４０からパケットのデータを読み出す。このデータの読み出しは、パケットバッファ１４０に記憶されているデータ量が、解除閾値以下になるまで実行される。
【０１３７】
［ステップＳ１８］ステーション１００は、ステップＳ１７で読み出したデータを廃棄する。その後、処理を終了する。
以上に示すように、第１の実施の形態によれば、コストの増加を抑えつつ、バッファのオーバーフローを防止することができる。
【０１３８】
このため、パケットバッファ１４０に一定の空き領域が確保できるので、パケットバッファ１４０が満たされて空き領域がなくなることによる新たな入力パケットが廃棄されて失われる事態を防止でき、常に新たな入力パケットがパケットバッファ１４０に書き込まれることになる。これにより、パケットバッファ１４０の記憶領域が低い優先度のパケットのデータによって占有されることにより優先度の高いパケットについて保証されているＣＩＲが維持できなくなることを防止することができる。
【０１３９】
なお、上記の開始閾値および解除閾値は、優先度の区分の数、各優先度のパケットのデータの入力比率および出力比率などの状況に基づいて、適宜定めることができる。
＜第１の実施の形態の変形例＞
次に、第１の実施の形態の変形例について説明する。上記の第１の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いるとともに説明を省略する。本変形例は、パケットバッファ１４０の記憶領域が同一の優先度のパケットのデータの記憶量が開始閾値を超過した場合に、第１の実施の形態のステーション１００（図３参照）において行われるパケットの廃棄時に、パケットバッファ１４０の記憶領域のすべてのデータを廃棄する点で異なる。
【０１４０】
図２６は、第１の実施の形態の変形例におけるデータの廃棄時のパケットバッファのＱｕｅ長を示す図である。
本変形例のステーション１００は、同一の優先度（例えば優先度Ｄ）のパケットのデータでパケットバッファ１４０（図３参照）における開始閾値を超過すると、パケットバッファ１４０に記憶されているデータをすべて廃棄して、パケットバッファ１４０の空き領域を作成する。
【０１４１】
上記のようにパケットバッファ１４０の記憶領域が、同一の優先度のパケットで占有された場合、パケットバッファ１４０について、優先度に基づくパケットの優先処理およびＣＩＲの確保といった処理ができなくなる場合が生じ得る。
【０１４２】
このため、本変形例のパケット読み捨て制御部１３５（図５参照）は、容量監視モニタ部１３６から送信された容量通知に基づいて、パケットバッファ１４０開始閾値が超過していることを検出した場合、パケットバッファ１４０に記憶されているデータを廃棄するために、容量監視モニタ部１３６（図６参照）のカウンタのカウンタ値をクリアするとともに、先頭アドレス管理メモリ１３４ｂ（図５参照）、最終アドレス管理メモリ１３４ｃ（図５参照）、空きアドレス管理メモリ１３４ｄ（図５参照）、アドレスチェーン管理メモリ１３４ｅ（図５参照）はすべて初期状態にリセットする。
【０１４３】
このように、容量監視モニタ部１３６、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅは、パケットバッファ１４０の記憶内容を示す管理情報を記憶する管理情報記憶手段としての機能を有する。
【０１４４】
ここで、本変形例におけるパケット蓄積時のＱｕｅ長について図にしたがって説明する。本変形例のステーションにおいて、出力パケットのデータ量に比較して入力パケットのデータ量が多い状態が継続し、パケットバッファ１４０の記憶領域に入力パケットのパケットバッファ１４０に蓄積されていくと、これにしたがって、パケットバッファ１４０に記憶されているデータのＱｕｅ長が開始閾値（例えば、１１２．５Ｍｂｉｔ）まで増加していく。
【０１４５】
次に、本変形例におけるパケット読み捨て時のＱｕｅ長について図にしたがって説明する。ステーション１００において、さらに出力パケットのデータ量に比較して入力パケットのデータ量が多い状態が継続し、同一の優先度（例えばクラスＤ）のパケットのデータが記憶されている量が一定量を超過した場合、具体的には開始閾値を超過した場合には、ステーション１００は、パケットバッファ１４０の記憶領域におけるすべての優先度のパケットのデータを廃棄する。
【０１４６】
このパケットの廃棄では、パケットバッファ１４０の記憶領域に記憶されているすべての優先度のパケットのデータが廃棄される。
また、このパケットのデータの廃棄において、パケットバッファ１４０の中身はクリアする必要はない。上記の４つの管理メモリの中身を初期値に書き換えることで、パケットバッファ１４０に記憶されているデータがすべて廃棄されたことになるためである。
【０１４７】
以上に示すように、本変形例によれば、容量監視モニタ部１３６のカウンタをクリアし、上記の管理メモリをリセットするのみであるので、読み出し処理を行うことなくパケットバッファ１４０の記憶領域のデータの廃棄が可能となる。
【０１４８】
これにより、パケットバッファ１４０の記憶領域に記憶されているデータがすべて廃棄され、パケットバッファ１４０を速やかに、単純な処理で空にすることができる。このため、パケットバッファ１４０の空き領域が最大限に確保できるので、パケットバッファ１４０が満たされて空き領域がなくなることによる新たな入力パケットが廃棄されて失われる事態を防止でき、常に新たな入力パケットがパケットバッファ１４０に書き込まれることになる。
【０１４９】
また、同一の優先度のパケットのみでパケットバッファ１４０の記憶領域を占めるデータ量が一定量を超過する場合にパケットのデータが廃棄されるので、パケットバッファ１４０の記憶領域が同一の優先度のパケットのデータによって占有されることにより優先度の高いパケットについて保証されているＣＩＲが維持できなくなることを防止することができる。
【０１５０】
なお、上記の開始閾値は、優先度の区分の数、各優先度のパケットのデータの入力比率および出力比率などの状況に基づいて、適宜定めることができる。
［第２の実施の形態］
次に、第２の実施の形態について説明する。上記の第１の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いるとともに説明を省略する。
【０１５１】
第２の実施の形態は、ステーション２１００の有するタイムスロット割り当て部２１３７によって、データの読み出し用のタイムスロットとは別にデータの読み捨て用のタイムスロットが用意される。読み捨て制御部２１３５によって、この読み捨て用のタイムスロットが用いられてパケットのデータが廃棄される点で、第１の実施の形態と異なる。
【０１５２】
以下に、本実施の形態におけるステーション２１００について説明する。
図２７は、第２の実施の形態のステーションの機能を示すブロック図である。本実施の形態のステーション２１００は、データを一時的に記憶するパケットバッファ１４０のオーバーフローを防止するために、書き込み制御部１３２、アドレス管理部１３４、容量監視モニタ部１３６、パケット入力部１７０、パケット出力部１８０、読み出し制御部２１３３、読み捨て制御部２１３５、タイムスロット割り当て部２１３７を有する。
【０１５３】
また、第１の実施の形態と同様、アドレス管理部１３４は、アドレス制御部１３４ａ、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅを有する。パケット入力部１７０は、マルチプレクサ１７１を有する。パケット出力部１８０は、宛て先識別部１８１を有する。
【０１５４】
書き込み制御部１３２は、第１の実施の形態と同様、パケットバッファ１４０に対して、ステーション２１００が受信したデータを書き込む処理を実行する。書き込み制御部１３２は、パケットが入力された時、入力パケット情報（宛て先物理ポート番号、パケット長等）をアドレス制御部１３４ａに通知して、アドレス制御部１３４ａから送信された空き領域のアドレス値が示すパケットバッファ１４０のアドレスが示す領域にパケットのデータを書き込む処理を実行する。
【０１５５】
アドレス制御部１３４ａは、第１の実施の形態と同様、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅの制御を行い、データが書き込まれる記憶領域を示すアドレスおよびデータが読み出されるアドレスの管理および通知を行う。
【０１５６】
先頭アドレス管理メモリ１３４ｂは、第１の実施の形態と同様、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの先頭パケットが記憶されているアドレス値を記憶するメモリである。
【０１５７】
最終アドレス管理メモリ１３４ｃは、第１の実施の形態と同様、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの最終パケットが記憶されているアドレス値を記憶するメモリである。
【０１５８】
空きアドレス管理メモリ１３４ｄは、第１の実施の形態と同様、空き領域であって使用可能な記憶領域のアドレス値を記憶するメモリである。
アドレスチェーン管理メモリ１３４ｅは、第１の実施の形態と同様、パケットバッファ１４０に記憶されているパケットの順番の繋がりおよびパケット内のデータの繋がりを、連続する次のデータが記憶されている領域のアドレス値の繋がり（チェーン）によって、宛て先ごとおよび優先度ごとに記憶するメモリである。
【０１５９】
容量監視モニタ部１３６は、第１の実施の形態と同様、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視し、監視結果を示す容量通知を読み捨て制御部２１３５に出力する。この容量通知に基づいて、読み捨て制御部２１３５がパケットのデータの読み捨て処理を実行する。
【０１６０】
パケットバッファ１４０は、第１の実施の形態と同様、入力パケットのデータを記憶し、読み出し制御部２１３３にしたがってデータが読み出されるメモリである。パケットバッファ１４０は、第１の実施の形態と同様、書き込み制御部１３２によって書き込まれた、ステーション２１００が受信したデータを一時的に記憶する。このパケットバッファ１４０は、例えば、パケットの伝送速度に対応して高速に動作可能な特性を有するＳＲＡＭを有するバッファなどが該当する。
【０１６１】
パケット入力部１７０は、第１の実施の形態と同様、マルチプレクサ１７１を有し、物理ポート（ポート＃０〜ポート＃ｎ）からステーション２１００に入力されるパケットを受け付け、受け付けたパケットを多重化する。この多重化されたパケットは、書き込み制御部１３２に送信される。
【０１６２】
パケット出力部１８０は、第１の実施の形態と同様、宛て先識別部１８１を有し、パケットバッファ１４０から読み出されてから出力されるデータのパケットを分離し、宛て先識別部１８１で識別した宛て先に応じた物理ポート（ポート＃０〜ポート＃ｎ）から出力する。
【０１６３】
読み出し制御部２１３３は、パケットの出力時および読み捨て処理の実行時に、パケットバッファ１４０に記憶されているパケットのデータを、アドレス制御部１３４ａから送信されたパケットバッファ１４０のアドレスが示す記憶領域から読み出す処理を実行する。
【０１６４】
このとき、読み出し制御部２１３３は、パケットバッファ１４０に記憶されているデータを、タイムスロット割り当て部２１３７によって割り当てられたタイムスロットを使用して読み出す。
【０１６５】
これにより、ステーション２１００で受信されたデータがパケットバッファ１４０において一時的に記憶された後、ステーション２１００から出力される。出力されたデータは、例えば、ステーション２１００が接続されている通信システム（図２参照）を介してデータの宛て先となる端末装置に転送される。
【０１６６】
読み捨て制御部２１３５は、容量監視モニタ部１３６から出力された容量通知により、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視して、パケットバッファ１４０に記憶されているデータ量が所定のデータ量を超過する場合には、パケットバッファ１４０から読み出されたデータを廃棄する読み捨て処理を実行する。これにより、パケットバッファ１４０の空き容量を増加させることができる。
【０１６７】
このとき、読み捨て制御部２１３５は、読み出し制御部２１３３にパケットバッファ１４０に記憶されているデータのうちの廃棄するデータを、廃棄用スロットを使用して読み出させることによって廃棄する。これにより、ステーション２１００は、通常通りのパケットの出力を行いながら、パケットの廃棄を行うことができる。
【０１６８】
読み捨て処理では、読み出し制御部２１３３によって、廃棄用スロットを用いてパケットバッファ１４０から廃棄されるデータが一旦読み出された後、読み出されたデータのパケットが、読み捨て制御部２１３５によって、パケット出力部１８０の物理ポートから出力されることなく廃棄される。
【０１６９】
ここで、ステーション２１００に入力されるパケットのデータには優先度および出力される出力ポートが割り当てられている。読み捨て制御部２１３５は、パケットバッファ１４０の空き容量がなく、かつ、パケットバッファ１４０に記憶されているデータの優先度がすべて同一である場合には、パケットバッファ１４０に記憶されているデータをすべて廃棄する。読み捨て制御部２１３５は、パケットバッファ１４０に記憶されているデータの優先度および出力ポートが同一であるものごとにパケットバッファ１４０における記憶量を監視し、所定の記憶量を超過している場合には、優先度および出力ポートが割り当てられているデータについてデータ廃棄を行う。
【０１７０】
また、読み捨て制御部２１３５は、パケットバッファ１４０に記憶されているデータ量が開始閾値を超過する場合には、データ廃棄を行い、データ廃棄の結果パケットバッファ１４０に記憶されているデータ量が開始閾値よりも小さい解除閾値以下になった場合には、データ廃棄を終了する。また、読み捨て制御部２１３５は、先にパケットバッファ１４０に書き込まれたデータからデータ廃棄を行う。
【０１７１】
タイムスロット割り当て部２１３７は、一定の時間間隔で分割して得られるとともに、出力用スロットと廃棄用スロットとを有するタイムスロットを割り当てる処理を実行する。このタイムスロットは、パケット出力部１８０から出力されるデータが割り当てられる出力用スロットと、パケット出力部１８０から出力されることなく廃棄されるデータが割り当てられる廃棄用スロットとを有する。
【０１７２】
本実施の形態のステーション２１００では、第１の実施の形態のステーション１００と同様、入力パケットが到着するパケット入力部１７０で受け付けられた多重のパケットが、書き込み制御部１３２によってパケットバッファ１４０に書き込まれる。また、容量監視モニタ部１３６によって、常時、ステーション２１００に入力され、パケットバッファ１４０に記憶されているデータ量などのパケットバッファ１４０の記憶内容が監視されている。また、タイムスロット割り当て部２１３７は、常時、読み出し制御部２１３３に対して、出力用スロットおよび廃棄用スロットを有するタイムスロットを割り当てている。ここで、パケットバッファ１４０のポートおよび優先度ごとのデータの記憶量が読み捨て処理の開始閾値以上になると、読み捨て制御部２１３５によって、読み捨て処理の実行が開始される。この読み捨て処理は、以下の順序で実行される。
【０１７３】
まず、読み捨て制御部２１３５は、読み出し制御部２１３３に、パケットバッファ１４０から廃棄するデータの読み出しを実行させる。
次に、読み出し制御部２１３３は、（通常のデータの読み出し動作と同様）アドレス制御部１３４ａに対してパケットバッファ１４０から廃棄するデータが記憶されているアドレスを示すアドレス情報を要求する。
【０１７４】
次に、読み出し制御部２１３３は、パケットバッファ１４０から廃棄するデータのアドレス情報を受信する。
次に、読み出し制御部２１３３は、パケットバッファ１４０にアドレスを送信して廃棄するデータの読み出しを行い、パケットバッファ１４０からの読み出した、廃棄するデータを受信する。
【０１７５】
次に、読み出し制御部２１３３は、タイムスロット割り当て部２１３７によって割り当てられたタイムスロットの廃棄用スロットに、受信した廃棄するデータを挿入する。この廃棄用スロットのデータは、後段のパケット出力部１８０からは出力されない。
【０１７６】
図２８は、第２の実施の形態の入力伝送路帯域および出力伝送路帯域を示す図である。図示した例にしたがって、ステーション２１００の入力伝送路帯域および出力伝送路帯域について説明する。
【０１７７】
パケット入力部１７０（図２７参照）およびパケット出力部１８０（図２７参照）は、それぞれｎ個の物理ポート（ポート＃０〜ポート＃ｎ）を有するものとする。また、パケットは４種類の優先度（クラスＡ〜クラスＤ）が設定されているものとする。また、各物理ポート（ポート＃０〜ポート＃ｎ）の伝送速度（伝送路容量）は、例えばそれぞれ１Ｇｂｐｓとする。
【０１７８】
ここで、上記にしたがい、入力側伝送路帯域について説明する。パケット入力部１７０の各物理ポートの伝送速度を、４種類の各優先度に均等に割り当てた場合、クラスＡ〜クラスＤまで各優先度ごとに２５０Ｍｂｐｓが割り当てられることになる。また、パケット入力部１７０が有するすべての物理ポートにおける、すべての優先度についての伝送路容量の合計である入力伝送路帯域は、物理ポート一つ当たりの伝送速度１Ｇｂｐｓ×物理ポートの個数（ｎ＋１）個＝（ｎ＋１）Ｇｂｐｓとなる。
【０１７９】
次に、出力側伝送路帯域および読み捨てポート帯域について説明する。パケット出力部１８０が有するすべての物理ポートにおける、すべての優先度についての伝送路容量の合計である出力伝送路帯域は、同様に、物理ポート一つ当たりの伝送速度１Ｇｂｐｓ×物理ポートの個数（ｎ＋１）個＝（ｎ＋１）Ｇｂｐｓとなる。また、読み捨てポート帯域２１３８（図２９参照）の伝送速度が１Ｇｂｐｓ有するとすれば、出力伝送路帯域および読み捨てポートの帯域の合計は、（ｎ＋２）Ｇｂｐｓとなる。
【０１８０】
図２９は、第２の実施の形態の読み捨てポートの動作を示す図である。
第２の実施の形態におけるステーション２１００は、上記のように書き込み制御部１３２、パケットバッファ１４０、パケット入力部１７０、パケット出力部１８０、読み出し制御部２１３３、読み捨て制御部２１３５を有する。
【０１８１】
本実施の形態のステーション２１００では、パケットバッファ１４０に記憶されているある優先度および宛て先のポートのパケットのデータが閾値を超過すると、その優先度および宛て先のポートのパケットのデータがパケットバッファ１４０から読み出されて廃棄される。また、本実施の形態のステーション２１００では、読み捨て専用の帯域である読み捨てポート帯域２１３８、読み捨てポート帯域２１３８用のタイムスロットである廃棄用スロットを用いてデータの廃棄を行う。
【０１８２】
読み捨てポート帯域２１３８は、いずれにも接続されていない出力用の論理ポートである。データの廃棄が行われない通常時、すなわちパケット出力部１８０からパケットバッファ１４０に記憶されているすべてのデータのパケットが物理ポートから出力される場合には、読み捨てポート帯域２１３８は使用されない。この読み捨てポート帯域２１３８は、例えば１Ｇｂｐｓの伝送速度を有するものとする。
【０１８３】
上記図２８のように、パケット入力部１７０は、（ｎ＋１）個の物理ポート（ポート＃０、ポート＃１、・・・、ポート＃ｎ）を有する。例えば、各物理ポートがそれぞれ１Ｇｂｐｓの伝送速度を有する場合には、入力伝送路帯域は（ｎ＋１）Ｇｂｐｓとなる。したがって、書き込み制御部１３２によってパケットバッファ１４０に書き込まれるデータの速度は、（ｎ＋１）Ｇｂｐｓである。
【０１８４】
また、ステーション２１００の出力側の伝送路容量である出力伝送路帯域は、図示を省略するが、上記図２８のように、入力伝送路帯域と同様に、パケット出力部１８０は、（ｎ＋１）個の物理ポート（図２７参照）を有し、例えば、各物理ポートがそれぞれ１Ｇｂｐｓの伝送速度を有する場合には、出力伝送路帯域は（ｎ＋１）Ｇｂｐｓとなる。
【０１８５】
また、上記図２８のように、例えば、読み捨てポート帯域２１３８の伝送速度が１Ｇｂｐｓ有するとすれば、読み捨て制御部２１３５に基づいて読み出し制御部２１３３によってパケットバッファ１４０から読み出されるデータの速度は、（ｎ＋２）Ｇｂｐｓである。
【０１８６】
具体的には、例えば、パケット入力部１７０の物理ポートが４ポートであり、個々のポートは１Ｇｂｐｓの伝送速度を有するものとすれば、入力側で合計４Ｇｂｐｓの帯域が入力されることになる。また、パケット出力部１８０の物理ポートが４ポートであり、個々のポートは１Ｇｂｐｓの伝送速度を有するものとし、読み捨てポート帯域２１３８の伝送速度を１Ｇｂｐｓとすれば、両者を合計して５Ｇｂｐｓとなる。ここで、読み捨てポートのデータはステーション２１００内部で廃棄されるので、実際にはパケット出力部１８０の物理ポートから出力されることはない。
【０１８７】
本実施の形態のステーション２１００では、入力伝送路帯域＜（出力伝送路帯域＋読み捨てポート帯域）の関係を成立させている。これにより、単位時間当たりのデータが入力される伝送量の最大値よりも単位時間当たりのデータが出力されまたは廃棄される伝送量の方が大きくなる。本実施の形態のステーション２１００では、このようにして通常パケットの出力を行いながら、パケットの廃棄を行うことができる。
【０１８８】
以上により、例えば第１の実施の形態のような読み捨て処理を行っている間は通常の出力パケットが出力されない構成の場合であって、Ethernet（登録商標）パケットを用いるときにおいて、例として６４ｂｙｔｅ長のパケットがパケットバッファ１４０に大量に記憶されているときには、読み出し処理が１回実行されても、６４ｂｙｔｅ分のデータしか廃棄されないため、読み捨て処理に時間を要する上に、データの廃棄中には通常のパケットが出力されないことになる。
【０１８９】
このような場合においても、予め一部の帯域を読み捨てポート用として確保しておき、入力帯域＜（出力帯域＋廃棄帯域）とすることで、常にパケットを出力する帯域を確保しつつ、パケットバッファ１４０におけるデータの記憶量が増加してきた場合には、パケットバッファ１４０に記憶されているデータの廃棄を行うことができる。
【０１９０】
図３０は、第２の実施の形態の廃棄判定処理の手順を示すフローチャートである。
本実施の形態のステーション２１００は、第１の実施の形態のステーション１００（図３参照）と同様、物理ポートからパケットが入力されると、入力パケットのデータをパケットバッファ１４０に書き込む。これにより入力パケットのデータがパケットバッファ１４０に記憶される。第１の実施の形態と同様、第２の実施の形態の廃棄判定処理では、ステーション２１００にパケットが入力される都度呼び出され、入力されたパケットのデータが書き込まれたパケットバッファ１４０の状況を監視してデータの読み捨てによる入力パケットの廃棄の判定が行われる。
【０１９１】
第２の実施の形態の廃棄判定処理では、読み出し制御部２１３３に割り当てられたタイムスロットが読み捨てポートのタイムスロット（廃棄用スロット）の時のみデータの廃棄が行われ、読み出し制御部２１３３に割り当てられたタイムスロットが通常のタイムスロット（出力用スロット）のときには、データの出力のための通常の読み出しが行われる。さらに、読み出し制御部２１３３に割り当てられたタイムスロットが読み捨てポートのタイムスロットである場合であって、かつ、パケットバッファ１４０の記憶領域の記憶量が開始閾値を超過しているときにデータの廃棄が行われる。
【０１９２】
［ステップＳ２１］ステーション２１００は、入力側の物理ポート（図２７のパケット入力部１７０のポート＃０、・・・、ポート＃ｎ）から入力されたパケットを多重化する多重処理を実行する。
【０１９３】
［ステップＳ２２］ステーション２１００は、ステップＳ２１で多重化された入力パケットからデータを抽出し、抽出したデータをパケットバッファ１４０に書き込む。
［ステップＳ２３］ステーション２１００は、パケットバッファ１４０の使用状況を監視して、パケットバッファ１４０に記憶されている各優先度のデータ量を取得する。
【０１９４】
［ステップＳ２４］ステーション２１００は、その時点でタイムスロット割り当て部２１３７（図２７参照）によって読み出し制御部２１３３に割り当てられたタイムスロットが読み捨てポート帯域２１３８（図２９参照）のタイムスロット（廃棄用スロット）であるか、パケット出力部１８０から出力されるデータのタイムスロット（出力用スロット）であるかを判定する。割り当てられたタイムスロットが廃棄用スロットであれば、ステーション２１００は、ステップＳ２７に処理を進める。一方、出力用スロットであれば、ステーション２１００は、ステップＳ２５に処理を進める。
【０１９５】
［ステップＳ２５］ステーション２１００は、パケットバッファ１４０からパケットのデータを読み出す。
［ステップＳ２６］ステーション２１００は、ステップＳ２５で読み出したデータを、パケットの宛て先と対応するパケット出力部１８０（図２７参照）の物理ポートに振り分け、振り分けた物理ポートからデータのパケットを送信する。その後、処理を終了する。
【０１９６】
［ステップＳ２７］ステーション２１００は、ステップＳ２３で取得したパケットバッファ１４０の使用状況が予め定められている閾値を超過しているか否かを判定する。使用状況が閾値を超過していれば、ステーション２１００は、ステップＳ２８に処理を進める。一方、使用状況が閾値以下であれば、ステーション２１００は、ステップＳ２５に処理を進める。
【０１９７】
この閾値の判定は、各物理ポートおよび各優先度の組み合わせごとに判定される。判定の結果、閾値を超過している物理ポートおよび優先度の組み合わせに該当するパケットのデータが順に廃棄される。
【０１９８】
すなわち、例えば、ポート＃０から出力されるクラスＡのパケットのデータから順にすべての物理ポートおよび優先度の組み合わせのパケットのデータについて、パケットバッファ１４０における記憶量が閾値を超過するか否かについて判定される。
【０１９９】
そして、例えば、ポート＃０から出力されるクラスＡの組み合わせのパケットのデータの記憶量が閾値を超過していた場合には、そのポート＃０から出力されるクラスＡの組み合わせのパケットのデータが廃棄される。
【０２００】
［ステップＳ２８］ステーション２１００は、パケットバッファ１４０からパケットのデータを読み出し、廃棄用スロットに挿入する。
［ステップＳ２９］ステーション２１００は、ステップＳ２８で廃棄用スロットに挿入されたデータを廃棄する。その後、処理を終了する。
【０２０１】
以上に示すように、第２の実施の形態によれば、第１の実施の形態に加えて、常にパケットを出力しつつ、パケットバッファ１４０におけるデータの記憶量が増加してきた場合には、パケットの廃棄を行うことができる。
【０２０２】
［第３の実施の形態］
次に、第３の実施の形態について説明する。上記の第１の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いるとともに説明を省略する。
【０２０３】
第３の実施の形態は、パケット出力部３１８０に出力されるパケットのデータを一時的に記憶するバッファ（ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎ）を設けた点およびクロックレート制御部３１３９によって読み出し制御部３１３３、読み捨て制御部３１３５、パケット出力部３１８０が速く動作するように制御される点で、第１の実施の形態と異なる。
【０２０４】
以下に、本実施の形態におけるステーション３１００について説明する。
図３１は、第３の実施の形態のステーションの機能を示すブロック図である。図３２は、第３の実施の形態のパケット出力部の機能を示すブロック図である。本実施の形態のステーション３１００は、データを一時的に記憶するパケットバッファ１４０のオーバーフローを防止するために、書き込み制御部１３２、アドレス管理部１３４、容量監視モニタ部１３６、パケット入力部１７０、読み出し制御部３１３３、読み捨て制御部３１３５、クロックレート制御部３１３９、パケット出力部３１８０、を有する。
【０２０５】
また、第１の実施の形態と同様、アドレス管理部１３４は、アドレス制御部１３４ａ、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅを有する。パケット入力部１７０は、マルチプレクサ１７１を有する。パケット出力部３１８０は、宛て先識別部３１８１を有する。
【０２０６】
書き込み制御部１３２は、第１の実施の形態と同様、パケットバッファ１４０に対して、ステーション３１００が受信したデータを書き込む処理を実行する。書き込み制御部１３２は、パケットが入力された時、入力パケット情報（宛て先物理ポート番号、パケット長等）をアドレス制御部１３４ａに通知して、アドレス制御部１３４ａから送信された空き領域のアドレス値が示すパケットバッファ１４０のアドレスが示す領域にパケットのデータを書き込む処理を実行する。
【０２０７】
アドレス制御部１３４ａは、第１の実施の形態と同様、先頭アドレス管理メモリ１３４ｂ、最終アドレス管理メモリ１３４ｃ、空きアドレス管理メモリ１３４ｄ、アドレスチェーン管理メモリ１３４ｅの制御を行い、データが書き込まれる記憶領域を示すアドレスおよびデータが読み出されるアドレスの管理および通知を行う。
【０２０８】
先頭アドレス管理メモリ１３４ｂは、第１の実施の形態と同様、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの先頭パケットが記憶されているアドレス値を記憶するメモリである。
【０２０９】
最終アドレス管理メモリ１３４ｃは、第１の実施の形態と同様、パケットの宛て先の物理ポートおよび優先度ごとの連続するパケットの最終パケットが記憶されているアドレス値を記憶するメモリである。
【０２１０】
空きアドレス管理メモリ１３４ｄは、第１の実施の形態と同様、空き領域であって使用可能な記憶領域のアドレス値を記憶するメモリである。
アドレスチェーン管理メモリ１３４ｅは、第１の実施の形態と同様、パケットバッファ１４０に記憶されているパケットの順番の繋がりおよびパケット内のデータの繋がりを、連続する次のデータが記憶されている領域のアドレス値の繋がり（チェーン）によって、宛て先ごとおよび優先度ごとに記憶するメモリである。
【０２１１】
容量監視モニタ部１３６は、第１の実施の形態と同様、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視し、監視結果を示す容量通知を読み捨て制御部３１３５に出力する。この容量通知に基づいて、読み捨て制御部３１３５がパケットのデータの読み捨て処理を実行する。
【０２１２】
パケットバッファ１４０は、第１の実施の形態と同様、入力パケットのデータを記憶し、読み出し制御部３１３３にしたがってデータが読み出されるメモリである。パケットバッファ１４０は、第１の実施の形態と同様、書き込み制御部１３２によって書き込まれた、ステーション３１００が受信したデータを一時的に記憶する。このパケットバッファ１４０は、例えば、パケットの伝送速度に対応して高速に動作可能な特性を有するＳＲＡＭを有するバッファなどが該当する。
【０２１３】
パケット入力部１７０は、第１の実施の形態と同様、マルチプレクサ１７１を有し、物理ポート（ポート＃０〜ポート＃ｎ）からステーション３１００に入力されるパケットを受け付け、受け付けたパケットを多重化する。この多重化されたパケットは、書き込み制御部１３２に送信される。
【０２１４】
読み出し制御部３１３３は、パケットの出力時および読み捨て処理の実行時に、パケットバッファ１４０に記憶されているパケットのデータを、アドレス制御部１３４ａから送信されたパケットバッファ１４０のアドレスが示す記憶領域から読み出す処理を実行する。
【０２１５】
これにより、ステーション３１００で受信されたデータがパケットバッファ１４０において一時的に記憶された後、ステーション１００から出力される。出力されたデータは、例えば、ステーション３１００が接続されている通信システム（図２参照）を介してデータの宛て先となる端末装置に転送される。
【０２１６】
本実施の形態では、読み出し制御部３１３３によってパケットバッファ１４０から書き込み速度の２倍の速度で読み出されるデータは、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎに書き込まれる。
【０２１７】
読み出し制御部３１３３は、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎにおける記憶量を監視するとともに、データを出力する際に、データが出力されるパケット出力部３１８０の物理ポートに対応付けられているポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎにおける記憶量が所定の記憶量を超過している場合には、データが出力されるパケット出力部３１８０の物理ポートを変更して、対応付けられているポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎの記憶量が所定の記憶量以下である他のパケット出力部３１８０の物理ポートから出力する処理を実行する。
【０２１８】
読み捨て制御部３１３５は、容量監視モニタ部１３６から出力された容量通知により、パケットバッファ１４０に記憶されているポートおよび優先度ごとのデータの記憶量を監視して、パケットバッファ１４０に記憶されているデータ量が所定のデータ量を超過する場合には、パケットバッファ１４０に記憶されているデータを読み出し、読み出したデータを廃棄する読み捨て処理を実行する。これにより、パケットバッファ１４０の空き容量を増加させることができる。
【０２１９】
読み捨て処理では、読み出し制御部３１３３によってパケットバッファ１４０から廃棄されるデータが一旦読み出された後、読み出されたデータのパケットが、読み捨て制御部３１３５によって、パケット出力部３１８０の物理ポートから出力されることなく廃棄される。
【０２２０】
ここで、ステーション３１００に入力されるパケットのデータには優先度および出力される出力ポートが割り当てられている。読み捨て制御部３１３５は、パケットバッファ１４０の空き容量がなく、かつ、パケットバッファ１４０に記憶されているデータの優先度がすべて同一である場合には、パケットバッファ１４０に記憶されているデータをすべて廃棄する。読み捨て制御部３１３５は、パケットバッファ１４０に記憶されているデータの優先度および出力ポートが同一であるものごとにパケットバッファ１４０における記憶量を監視し、所定の記憶量を超過している場合には、優先度および出力ポートが割り当てられているデータについてデータ廃棄を行う。
【０２２１】
また、読み捨て制御部３１３５は、パケットバッファ１４０に記憶されているデータ量が開始閾値を超過する場合には、データ廃棄を行い、データ廃棄の結果パケットバッファ１４０に記憶されているデータ量が開始閾値よりも小さい解除閾値以下になった場合には、データ廃棄を終了する。また、読み捨て制御部３１３５は、先にパケットバッファ１４０に書き込まれたデータからデータ廃棄を行う。
【０２２２】
クロックレート制御部３１３９は、読み出し制御部３１３３によってデータが読み出される速度である読み出し速度と、読み捨て制御部３１３５によってデータが読み捨てられる速度である読み捨て速度と、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎにデータが書き込まれる速度である書き込み速度とを制御する。クロックレート制御部３１３９は、読み出し速度と、読み捨て速度と、書き込み速度とを、受信したデータがパケットバッファ１４０に書き込まれる速度よりも速く（例えば、受信したデータがパケットバッファ１４０に書き込まれる速度の２倍の速度）制御する。
【０２２３】
パケット出力部３１８０は、宛て先識別部３１８１、パケットのデータを出力する複数の物理ポート（ポート＃０３１８３ａ、ポート＃１３１８３ｂ、・・・、ポート＃ｎ３１８３ｎ）、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎを有する。パケット出力部３１８０は、パケットバッファ１４０から読み出されたデータのパケットを分離し、パケットのフィールドに基づいて宛て先識別部１８１で識別した宛て先に応じた物理ポート（ポート＃０〜ポート＃ｎのいずれか）から出力する。
【０２２４】
ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎは、複数設けられているとともに、それぞれのポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎが各パケット出力部３１８０の物理ポートごとに対応付けられたＦＩＦＯ（First In First Out）バッファメモリである。ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎは、読み出し制御部３１３３によってパケットバッファ１４０から読み出され、パケット出力部３１８０が有する物理ポートから出力されるデータを一時的に記憶する。
【０２２５】
以上のように、本実施の形態の読み出し制御部３１３３は、物理ポートのポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎの空き状態を監視して、空きがある場合に、パケットバッファ１４０からデータを読み出して、そのパケットを出力することで、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎの溢れを防止する。読み出し制御部３１３３は、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎに空きがない場合は、別の物理ポートの空き状態を確認して、空きがあれば、その物理ポートにデータを出力する。
【０２２６】
図３３は、第３の実施の形態の廃棄判定処理の手順を示すフローチャートである。
本実施の形態のステーション３１００は、第１の実施の形態のステーション１００（図３参照）と同様、物理ポートからパケットが入力されると、入力パケットのデータをパケットバッファ１４０に書き込む。これにより入力パケットのデータがパケットバッファ１４０に記憶される。第１の実施の形態と同様、第３の実施の形態の廃棄判定処理では、ステーション３１００にパケットが入力される都度呼び出され、入力されたパケットのデータが書き込まれたパケットバッファ１４０の状況を監視してデータの読み捨てによる入力パケットの廃棄の判定が行われる。
【０２２７】
第３の実施の形態の廃棄判定処理では、読み出し制御部３１３３は、ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎの空き状態を確認し、空きがない場合は、別の物理ポートの空き状態を確認して、空きがあれば、その物理ポートにデータを出力する。
【０２２８】
［ステップＳ３１］ステーション３１００は、物理ポート（図３１のパケット入力部１７０のポート＃０、・・・、ポート＃ｎ）から入力されたパケットを多重化する多重処理を実行する。
【０２２９】
［ステップＳ３２］ステーション３１００は、ステップＳ３１で多重化された入力パケットからデータを抽出し、抽出したデータをパケットバッファ１４０に書き込む。
［ステップＳ３３］ステーション３１００は、パケットバッファ１４０の使用状況を監視して、パケットバッファ１４０に記憶されている各優先度のデータ量を取得する。
【０２３０】
［ステップＳ３４］ステーション３１００は、ステップＳ３３で取得したパケットバッファ１４０の使用状況が予め定められている開始閾値を超過しているか否かを判定する。使用状況が開始閾値を超過していれば、ステーション３１００は、ステップＳ３８に処理を進める。一方、使用状況が開始閾値以下であれば、ステーション３１００は、ステップＳ３５に処理を進める。
【０２３１】
［ステップＳ３５］ステーション３１００は、パケット出力部３１８０（図３１参照）の物理ポートに対応して設けられたバッファ（ポート＃０バッファ３１８２ａ〜ポート＃ｎバッファ３１８２ｎ）の空き状態を確認する。ここでは、ステーション３１００は、すべての物理ポートのバッファについて空き状態を確認するものとする。
【０２３２】
［ステップＳ３６］ステーション３１００は、パケットのデータを、パケットバッファ１４０に対する書き込み速度の２倍の速度でパケットバッファ１４０から読み出す。
［ステップＳ３７］ステーション３１００は、ステップＳ３６で読み出したデータをステップＳ３５でバッファの空き容量があることを確認したパケット出力部３１８０（図３１参照）の物理ポートに振り分ける。ステーション３１００は、振り分けたパケットを、一旦、物理ポートに対応付けられたバッファに記憶させ、その後バッファから読み出して振り分けた物理ポートから送信する。その後、処理を終了する。
【０２３３】
このとき、ステーション３１００は、ステップＳ３５における空き状態の確認の結果、送信するパケットのフィールドの識別によって判定された宛て先に対応する物理ポートのバッファに十分な空きがあれば、その物理ポートにそのパケットを振り分ける。一方、宛て先に対応する物理ポートのバッファに十分な空きがなければ、ステップＳ３５における空き状態の確認の結果十分な空きがあるバッファの物理ポートにそのパケットを振り分ける。
【０２３４】
ここで、ステップＳ３６によって書き込み速度の２倍の速度という速い速度でデータが読み出されるが、物理ポートにバッファを設けることにより、出力側の伝送速度との差を吸収することができるので、データの喪失を防止することができる。
【０２３５】
［ステップＳ３８］ステーション３１００は、パケットバッファ１４０からパケットのデータを、パケットバッファ１４０に対する書き込み速度の２倍の速度で読み出す。このデータの読み出しは、パケットバッファ１４０に記憶されているデータ量が、解除閾値以下になるまで実行される。
【０２３６】
［ステップＳ３９］ステーション３１００は、ステップＳ３８で読み出したデータを廃棄する。ここで、ステップＳ３８によってデータが読み出される速度が２倍になっていることから、データの廃棄に要する時間も短縮される。その後、処理を終了する。
【０２３７】
以上に示すように、第３の実施の形態によれば、第１の実施の形態に加えて、単純な構成で実現可能なクロックレートの高速化により、パケットバッファ１４０に対する書き込み速度の２倍の速度で読み出し側の処理を行うことで、シンプルで小規模の回路で、廃棄に要する時間も短縮されることから、出力側の読み捨てをより効率的に行うことができる。これにより、コストの増加を抑えつつ、バッファのオーバーフローをより有効に防止することができる。
【０２３８】
以上、本発明の通信装置および通信装置の制御方法を、図示の実施の形態に基づいて説明したが、上記については単に本発明の原理を示すものである。本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、さらに、多数の変形、変更が当業者にとって可能であり、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされ、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されてもよい。また、本発明は上記の実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２３９】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  受信したデータを出力するまでの間一時的に記憶する通信装置において、
受信した前記データを一時的に記憶する一時記憶手段と、
前記一時記憶手段に前記データを書き込む処理を実行する書き込み制御手段と、
前記一時記憶手段に記憶されている前記データを読み出す処理を実行する読み出し制御手段と、
前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する読み捨て制御手段と、
を有することを特徴とする通信装置。
【０２４０】
（付記２）  前記読み捨て制御手段は、前記データ廃棄において、前記一時記憶手段に記憶されているデータ量が所定のデータ量を超過する場合には、前記一時記憶手段から読み出された前記データを廃棄する処理を実行することを特徴とする付記１記載の通信装置。
【０２４１】
（付記３）  前記読み捨て制御手段は、前記データ廃棄において、前記一時記憶手段に記憶されている前記データをすべて廃棄する処理を実行することを特徴とする付記１記載の通信装置。
【０２４２】
（付記４）  一定の時間間隔で分割して得られるとともに、出力用スロットと廃棄用スロットとを有するタイムスロットを割り当てる処理を実行するタイムスロット割り当て手段を有し、
前記読み出し制御手段は、前記一時記憶手段に記憶されている前記データを、前記タイムスロット割り当て手段によって割り当てられた前記タイムスロットを使用して読み出す処理を実行し、
前記読み捨て制御手段は、前記データ廃棄において、前記読み出し制御手段に対して、前記一時記憶手段に記憶されている前記データを、前記廃棄用スロットを使用して読み出させることによって廃棄する処理を実行することを特徴とする付記１記載の通信装置。
【０２４３】
（付記５）  前記読み出し制御手段によって読み出され、出力される前記データを一時的に記憶する出力側記憶手段と、
前記読み出し制御手段によって前記データが読み出される速度である読み出し速度と、前記読み捨て制御手段によって前記データが読み捨てられる速度である読み捨て速度と、前記出力側記憶手段に前記データが書き込まれる速度である書き込み速度とを制御する速度制御手段と、
を有し、
前記速度制御手段は、前記読み出し速度と、前記読み捨て速度と、前記書き込み速度とを、受信した前記データが前記一時記憶手段に書き込まれる速度よりも速く制御することを特徴とする付記１記載の通信装置。
【０２４４】
（付記６）  前記読み捨て制御手段は、前記一時記憶手段に記憶されているデータ量が第１のデータ量を超過する場合には、前記データ廃棄を行い、前記データ廃棄の結果前記一時記憶手段に記憶されているデータ量が前記第１のデータ量よりも小さい第２のデータ量以下になった場合には、前記データ廃棄を終了する処理を実行することを特徴とする付記１記載の通信装置。
【０２４５】
（付記７）  前記データには優先度および出力される出力ポートが割り当てられており、
前記読み捨て制御手段は、前記一時記憶手段に記憶されている前記データの前記優先度および前記出力ポートが同一であるものごとに前記一時記憶手段における記憶量を監視し、前記優先度および前記出力ポートが割り当てられている前記データの前記一時記憶手段における記憶量が所定の記憶量を超過している場合には、前記優先度および前記出力ポートが割り当てられている前記データについて前記データ廃棄を行う処理を実行することを特徴とする付記１記載の通信装置。
【０２４６】
（付記８）  前記読み捨て制御手段は、前記データ廃棄において、先に前記一時記憶手段に書き込まれた前記データから前記データ廃棄を行う処理を実行することを特徴とする付記１記載の通信装置。
【０２４７】
（付記９）  前記一時記憶手段の記憶内容を示す管理情報を記憶する管理情報記憶手段を有し、
前記読み捨て制御手段は、前記データ廃棄において、前記管理情報記憶手段に記憶されている前記管理情報を初期化することにより、前記一時記憶手段に記憶されている前記データをすべて廃棄する処理を実行することを特徴とする付記３記載の通信装置。
【０２４８】
（付記１０）  前記データを出力する複数の出力手段を有し、
前記出力側記憶手段は、複数設けられているとともに、それぞれの前記出力側記憶手段が各前記出力手段ごとに対応付けられており、
前記読み出し制御手段は、前記出力側記憶手段における記憶量を監視するとともに、前記データを出力する際に、前記データが出力される前記出力手段に対応付けられている前記出力側記憶手段における前記記憶量が所定の記憶量を超過している場合には、前記データが出力される前記出力手段を変更して、対応付けられている前記出力側記憶手段の前記記憶量が所定の記憶量以下である他の前記出力手段から出力する処理を実行することを特徴とする付記５記載の通信装置。
【０２４９】
（付記１１）  前記データには優先度が割り当てられており、
前記読み捨て制御手段は、前記一時記憶手段に記憶されている前記データの前記優先度が同一であるものごとに前記一時記憶手段における記憶量を監視し、所定の記憶量を超過している場合には、前記一時記憶手段に記憶されている前記データをすべて廃棄する処理を実行することを特徴とする付記３記載の通信装置。
【０２５０】
（付記１２）  受信したデータを出力するまでの間一時的に記憶する通信装置の制御方法において、
書き込み制御手段によって、受信した前記データを一時的に記憶する一時記憶手段に前記データを書き込む処理を実行し、
読み出し制御手段によって、前記一時記憶手段に記憶されている前記データを読み出す処理を実行し、
読み捨て制御手段によって、前記一時記憶手段から読み出された前記データを廃棄するデータ廃棄を行う処理を実行する、
ことを特徴とする通信装置の制御方法。
【図面の簡単な説明】
【０２５１】
【図１】本実施の形態の概要を示す図である。
【図２】通信システムの構成を示す図である。
【図３】ステーションのハードウェア構成を示す図である。
【図４】イーサパケットのデータ構造例を示す図である。
【図５】第１の実施の形態のステーションの機能を示すブロック図である。
【図６】容量監視モニタ部の機能を示すブロック図である。
【図７】第１の実施の形態における読み捨て処理時のパケットバッファのＱｕｅ長を示す図である。
【図８】第１の状態における入力パケットを示す図である。
【図９】第１の状態における入力パケットのデータが書き込まれた直後のパケットバッファの記憶内容を示す図である。
【図１０】第１の状態における入力パケットのデータが書き込まれた直後の空きアドレス管理メモリの記憶内容を示す図である。
【図１１】第１の状態における入力パケットのデータが書き込まれた直後のアドレスチェーン管理メモリの記憶内容を示す図である。
【図１２】第１の状態における入力パケットのデータが書き込まれた直後の先頭アドレス管理メモリの記憶内容を示す図である。
【図１３】第１の状態における入力パケットのデータが書き込まれた直後の最終アドレス管理メモリの記憶内容を示す図である。
【図１４】第１の状態における読み捨て処理の実行直後のパケットバッファの記憶内容を示す図である。
【図１５】第１の状態における読み捨て処理の実行直後の空きアドレス管理メモリの記憶内容を示す図である。
【図１６】第１の状態における読み捨て処理の実行直後のアドレスチェーン管理メモリの記憶内容を示す図である。
【図１７】第１の状態における読み捨て処理の実行直後の先頭アドレス管理メモリの記憶内容を示す図である。
【図１８】第１の状態における読み捨て処理の実行直後の最終アドレス管理メモリの記憶内容を示す図である。
【図１９】第２の状態における入力パケットを示す図である。
【図２０】第２の状態における入力パケットのデータが書き込まれた直後のパケットバッファの記憶内容を示す図である。
【図２１】第２の状態における入力パケットのデータが書き込まれた直後の空きアドレス管理メモリの記憶内容を示す図である。
【図２２】第２の状態における入力パケットのデータが書き込まれた直後のアドレスチェーン管理メモリの記憶内容を示す図である。
【図２３】第２の状態における入力パケットのデータが書き込まれた直後の先頭アドレス管理メモリの記憶内容を示す図である。
【図２４】第２の状態における入力パケットのデータが書き込まれた直後の最終アドレス管理メモリの記憶内容を示す図である。
【図２５】第１の実施の形態の廃棄判定処理の手順を示すフローチャートである。
【図２６】第１の実施の形態の変形例におけるデータの廃棄時のパケットバッファのＱｕｅ長を示す図である。
【図２７】第２の実施の形態のステーションの機能を示すブロック図である。
【図２８】第２の実施の形態の入力伝送路帯域および出力伝送路帯域を示す図である。
【図２９】第２の実施の形態の読み捨てポートの動作を示す図である。
【図３０】第２の実施の形態の廃棄判定処理の手順を示すフローチャートである。
【図３１】第３の実施の形態のステーションの機能を示すブロック図である。
【図３２】第３の実施の形態のパケット出力部の機能を示すブロック図である。
【図３３】第３の実施の形態の廃棄判定処理の手順を示すフローチャートである。
【図３４】従来例のパケットを廃棄する機能を持たない場合における保証したＣＩＲが維持できない場合を示す図である。
【符号の説明】
【０２５２】
１  通信装置
１ａ  書き込み制御手段
１ｂ  一時記憶手段
１ｃ  読み出し制御手段
１ｄ  読み捨て制御手段
【図１】
2009290297.tif 000003
【図２】
2009290297.tif 000004
【図３】
2009290297.tif 000005
【図４】
2009290297.tif 000006
【図５】
2009290297.tif 000007
【図６】
2009290297.tif 000008
【図７】
2009290297.tif 000009
【図８】
2009290297.tif 000010
【図９】
2009290297.tif 000011
【図１０】
2009290297.tif 000012
【図１１】
2009290297.tif 000013
【図１２】
2009290297.tif 000014
【図１３】
2009290297.tif 000015
【図１４】
2009290297.tif 000016
【図１５】
2009290297.tif 000017
【図１６】
2009290297.tif 000018
【図１７】
2009290297.tif 000019
【図１８】
2009290297.tif 000020
【図１９】
2009290297.tif 000021
【図２０】
2009290297.tif 000022
【図２１】
2009290297.tif 000023
【図２２】
2009290297.tif 000024
【図２３】
2009290297.tif 000025
【図２４】
2009290297.tif 000026
【図２５】
2009290297.tif 000027
【図２６】
2009290297.tif 000028
【図２７】
2009290297.tif 000029
【図２８】
2009290297.tif 000030
【図２９】
2009290297.tif 000031
【図３０】
2009290297.tif 000032
【図３１】
2009290297.tif 000033
【図３２】
2009290297.tif 000034
【図３３】
2009290297.tif 000035
【図３４】
2009290297.tif 000036