説明

スイッチ装置およびスイッチ方法

【課題】複数のクラスのパケットを中継する中継装置に含まれる複数のスイッチ回路を同期させる。
【解決手段】第1および第2のスイッチ回路は、入力されるパケットを格納し、パケットの出力先を複数の出力先から選択する。入力部は、優先的に読み出される高優先クラスのパケットと優先度が低い低優先クラスのパケットを、第1および第2のスイッチ回路に入力する。制御部は、第1のスイッチ回路からの低優先クラスのパケットが、第2のスイッチ回路からの低優先クラスのパケットよりも後に入力されている場合、第1のスイッチ回路で低優先クラスのパケットを読み出す時間を制御する。高優先クラスのパケットで送受信されるデータの量が多いほど、読み出しの停止時間が長くなる。パケット出力部は、第1または第2のスイッチ回路から出力されたパケットを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットのスイッチ装置とパケットのスイッチ方法に関する。
【背景技術】
【0002】
パケットの送信元の装置から宛先の装置までの間が、スイッチにより中継されることがある。図1に中継装置1の例を示す。図1に示す中継装置1は、管理モジュール2、インタフェースカード3(3a〜3c)、および、スイッチ回路4(4a、4b)を備えている。インタフェースカード3は、ユーザデータの入力と出力を行う。スイッチ回路4は、インタフェースカード3から入力されたパケットの宛先に応じて、スイッチングを行う。すなわち、スイッチ回路4は、入力されたパケットの宛先に応じて、出力するインタフェースカード3を選択し、選択したインタフェースカード3にパケットを出力する。管理モジュール2は、中継装置1の状態を管理し、スイッチ回路4やインタフェースカード3に制御情報を出力する。
【0003】
図1に示す中継装置1では、故障の発生や計画的な装置交換に対応できるように、スイッチ回路4を2枚備えている。このように複数のスイッチ回路4を用いて冗長化している中継装置1では、障害が発生した場合などに切り替えを行うために、スイッチ回路4同士で同期を取っている。しかし、様々な要因により、スイッチ回路4の間で同期がとれなくなることがある。例えば、個々のスイッチ回路4がクロックを持っている場合、各クロックに同一の周波数が設定されていても、クロック間の偏差が原因となって、スイッチ回路4の間で動作する周波数に差が出てしまう。
【0004】
図2(a)と図2(b)は、スイッチ回路4aとスイッチ回路4bの間で同期が取れていないときの動作の例を説明する図である。図2(a)と図2(b)のいずれの場合も、スイッチ回路4aのクロック周波数の方がスイッチ回路4bのクロック周波数よりも高いものとする。なお、図2(a)と図2(b)において、インタフェースカード3a〜3cを、説明のため入力(Ingress)側と出力(Egress)側に分けて記載している。しかし、図2(a)や図2(b)の記載は図を見やすくするためのものであり、同一の符号が付されたインタフェースカード3は、物理的に1枚のインタフェースカード3であるものとする。例えば、インタフェースカード3aは、入力側と出力側の両方に1枚ずつ記載されているが、物理的には、1枚のインタフェースカード3aである。また、説明し易くするために、図2(a)および図2(b)では、パケットが中継装置1に受信された順序を用いてパケットを図示している。番号が同じパケットは同一のパケットである。
【0005】
インタフェースカード3aは、受信したパケットをコピーして2つのパケットにした上で、一方のパケットをスイッチ回路4aに出力し、残りのパケットをスイッチ回路4bに出力する。輻輳が発生していない間は、スイッチ回路4bでの処理がスイッチ回路4aでの処理よりも遅れても、次に処理対象とするパケットがスイッチ回路4bに入力される前に遅れた分の処理が終了する。このため、スイッチ回路4aとスイッチ回路4bのいずれも、図2(a)に示すように、処理対象のパケットは同じパケットである。
【0006】
しかし、輻輳が発生すると、スイッチ回路4bでの処理の遅れが解消される前に、スイッチ回路4aでは次のパケットの処理が開始される。このため、輻輳状態が継続すると次第にクロックが速いスイッチ回路4aの読出しがスイッチ回路4bよりも先行し、スイッチ回路4aとスイッチ回路4bでは、処理対象のパケットが異なってしまうことがある。図2(b)の例では、スイッチ回路4aが16番目のパケットをインタフェースカード3aに出力しているのに対し、スイッチ回路4bは14番目のパケットをインタフェースカード3aに出力している。この様な非同期状態において、現用のスイッチ回路4を切り替えてしまうと、パケットの重複や欠落が発生してしまう。例えば、図2(b)において、スイッチ回路4aが現用であり、スイッチ回路4bへ切り替えられたとすると、宛先の通信装置は14番目と15番目のパケットをスイッチ回路4bから受信する。しかし、宛先の通信装置では既にスイッチ回路4aでスイッチングされた14番目と15番目のパケットを受信してしまっている。このため、宛先の通信装置は、14番目と15番目のパケットを重複して受信することになる。一方、スイッチ回路4bが現用であり、スイッチ回路4aへ切り替えたとする。この場合、14番目と15番目のパケットは既にスイッチ回路4aからの出力が終わっている。このため、スイッチ回路4aは、現用に設定された後に14番目と15番目のパケットを宛先に転送しないが、宛先の通信装置は、スイッチ回路4bから14番目と15番目のパケットを受信していない。そこで、スイッチを切り替えたことにより、宛先の通信装置ではパケットの欠落が発生する。
【0007】
このようなデータの重複や欠落を防ぐために、試験セルを用いて2重化スイッチのセルフローを同期化することができるAsynchronous Transfer Mode(ATM)交換機が考案されている。このATM交換機は、スイッチを切り替える際に、入力されるセルを監視し、空きセルの変わりに試験セルを挿入する。ATM交換機は、スイッチから出力されるセルから試験セルを抽出し、試験セルの出力時刻を取得する。試験セルの出力時刻がスイッチによって異なる場合、ATM交換機は、セルの出力時刻が早い方のスイッチに対して、セルの出力を遅らせる制御を行い、スイッチの同期が取れると、スイッチを切り替える。
【0008】
さらに、関連する技術として、優先度の高いセルを予備運用系のスイッチに備えられたバッファに入力しておくことにより、障害発生時にスイッチが切り替えられても、優先度の高いセルの脱落を防ぐ方法が考案されている。さらに、現用系スイッチのバッファ部に蓄積されている蓄積セル数分だけキュー選択を行うことにより、現用系スイッチ部と予備系スイッチ部のセル蓄積状態とキュー選択状態を一致させる方法が提案されている。また、音声処理ブレード同士が音声処理の基準タイミングと時刻情報を共有し、基準タイミングに合わせて同期した音声処理を実施して同期化パケットを供給し、時刻情報に則って系切り替えを実施する方法も提案されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平5−56065号公報
【特許文献2】特開平3−135135号公報
【特許文献3】特開2009−212724号公報
【特許文献4】特開2010−74629号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
近年普及している中継装置では、複数のクラスに分類されたパケットの送受信が可能である。しかし、試験セルを用いて2重化スイッチのセルフローを同期化する方法、蓄積セル数分だけキュー選択を行う方法、音声処理の基準タイミングと時刻情報を共有する方法のいずれも、複数のクラスに分類されたデータの送受信を考慮していない。従って、これらの技術は、複数のクラスに分類されたパケットの送受信を行う中継装置に適用しても、非同期状態になっている複数のスイッチ回路を同期させることができない場合がある。
【0011】
例えば、時刻T1にスイッチ回路4aが出力する優先度の低いパケットは、同じ時刻にスイッチ回路4bが出力する優先度の低いパケットよりも1パケット分遅れていたとする。この場合、スイッチ回路4aが1つのパケットを出力する時間の間、スイッチ回路4bの動作を停止させたとする。しかし、スイッチ回路4bが停止している間に、スイッチ回路4aに優先度の高いパケットが入力されると、スイッチ回路4aは優先度の低いパケットの処理を行わずに優先度の高いパケットを1つ出力してしまう。このため、非同期状態は解消されない。
【0012】
また、優先度の高いセルを予備運用系のスイッチに備えられたバッファに入力しておく方法を適用しても、非同期状態を解消することはできない。
【0013】
本発明は、複数のクラスに分類されたパケットを送受信する中継装置において、その中継装置に含まれている複数のスイッチ回路を同期させることを目的とする。
【課題を解決するための手段】
【0014】
中継装置は、第1のスイッチ回路、第2のスイッチ回路、入力部、制御部、パケット出力部を備える。第1のスイッチ回路は、入力されるパケットを第1のバッファに格納するとともに、入力されたパケットの出力先を複数の出力先から選択する。第2のスイッチ回路は、入力されるパケットを第2のバッファに格納するとともに、入力されたパケットの出力先を前記複数の出力先から選択する。入力部は、前記第1および第2のバッファから優先的に読み出される高優先クラスに分類されるパケット、および、前記高優先クラスよりも優先度が低い低優先クラスに分類されるパケットを受信し、前記第1および第2のスイッチ回路に入力する。制御部は、前記第1のスイッチ回路から出力される低優先クラスのパケットが、前記第2のスイッチ回路から出力される低優先クラスのパケットよりも後に入力されたパケットである場合、前記第1のスイッチ回路で読み出し処理が行われる時間を制御する。このとき、前記高優先クラスのパケットで送受信されるデータの量が多いほど、前記第1のスイッチ回路で前記低優先クラスのパケットの読み出し処理を停止する時間が長くなるように、制御が行われる。パケット出力部は、前記第1または第2のスイッチ回路から出力されたパケットを選択された出力先に出力する。
【発明の効果】
【0015】
複数のクラスに分類されたパケットを送受信する中継装置において、その中継装置に含まれている複数のスイッチ回路が同期される。
【図面の簡単な説明】
【0016】
【図1】中継装置の例を示す図である。
【図2】複数のスイッチ回路の間で同期が取れていないときの動作の例を説明する図である。
【図3】中継装置の構成の例を示す図である。
【図4】シーケンス番号を加えられたパケットのフォーマットの例を示す図である。
【図5】中継装置のハードウェア構成の例を示す図である。
【図6】中継装置によりパケットが中継される場合の例を示す図である。
【図7】比較部が保持するテーブルの例を示す図である。
【図8】補正強度決定部が備えるテーブルの例を示す図である。
【図9】同期の確立のための処理の例を示すシーケンス図である。
【図10】比較部の処理の例を説明するフローチャートである。
【図11】制御部の処理の例を説明するフローチャートである。
【図12】第2の実施形態で補正強度決定部が備えるテーブルの例を示す図である。
【図13】第2の実施形態での比較部の処理の例を説明するフローチャートである。
【発明を実施するための形態】
【0017】
<装置構成>
図3は、中継装置10の構成の例を示す図である。中継装置10は、QoS(Quality of Service)の複数のクラスに分類されたパケットを中継することができるものとする。例えば、第1のクラスに分類されるパケットと第2のクラスに分類されるパケットを中継するとき、第1のクラスの方が第2のクラスよりも優先度が高いとする。この場合、中継装置10は、第1のクラスのパケットを第2のクラスのパケットに比べて優先的に中継する。以下の例では、高優先クラスと低優先クラスにパケットが分類されている場合について説明するが、パケットが分類されるクラスの数は実装に応じて変更されることがある。また、以下の例では、スイッチ回路30が2枚の場合について説明しているが、実装に応じて、スイッチ回路30の数が変更されることがある。
【0018】
中継装置10は、入力部20、スイッチ回路30(30a、30b)、出力部40を備える。以下の説明では、単に図を見やすくするために入力部20と出力部40を異なるブロックとして図示するが、入力部20と出力部40は物理的に同一のインタフェースカードに含まれているものとする。
【0019】
入力部20は、パケット入力部21とシーケンス番号付加部22を備える。中継装置10が受信したパケットは、パケット入力部21に入力される。パケット入力部21は、入力されたパケットをシーケンス番号付加部22に出力する。シーケンス番号付加部22は、入力されたパケットのクラス別に、パケットの入力順序を示すシーケンス番号をパケットに付加する。
【0020】
図4は、シーケンス番号を加えられたパケットのフォーマットの例を示す。図4に示すパケットは、パケットペイロード51、パケットヘッダ52、クラス情報53、装置内ヘッダ54を含む。ここで、装置内ヘッダ54は、シーケンス番号付加部22によって付加される。シーケンス番号付加部22は、装置内ヘッダ54に含まれる情報要素と個々の情報要素の値を記憶することができる。シーケンス番号(SN)フィールド55は、装置内ヘッダ54の情報要素の1つであり、シーケンス番号付加部22によって生成される。シーケンス番号付加部22は、パケットが分類されるクラスを特定し、クラスごとに受信したパケットの通し番号をシーケンス番号とする。シーケンス番号付加部22は、パケットヘッダ52に含まれているクラス情報53を用いて送受信されるデータの優先度を確認することができるものとする。クラス情報53は、例えば、Internet Protocol(IP)ヘッダに含まれているサービスタイプ(Type Of Service、TOS)フィールドもしくはTraffic Classフィールドの値とすることができる。なお、装置内ヘッダ54は、中継装置10の内部で使用されるヘッダであり、中継装置10から他の通信装置にパケットが出力されるときには、パケットから除去される。
【0021】
シーケンス番号付加部22は、装置内ヘッダ54を付したパケットを複製して、一方をスイッチ回路30aへ出力し、他方のパケットをスイッチ回路30bへ出力する。
【0022】
スイッチ回路30は、パケットバッファ31、クロック34、スイッチング部35を備える。パケットバッファ31は、高優先パケットバッファ32と低優先パケットバッファ33を有する。シーケンス番号付加部22から入力されたパケットのうち優先度が高いパケットは高優先パケットバッファ32に格納され、優先度が低いパケットは低優先パケットバッファ33に格納される。クロック34は、スイッチ回路30が動作するためのクロックを生成する。スイッチング部35は、高優先パケットバッファ32および低優先パケットバッファ33に格納されているパケットを、転送先に応じてスイッチングする。このとき、スイッチング部35は、高優先パケットバッファ32に格納されているパケットを優先的に処理する。スイッチング部35は、パケットを宛先に転送するために、出力部40に出力する。
【0023】
出力部40は、比較部41、パケット合流部42、レート監視部43、補正強度決定部44、制御部45、および、パケット出力部46を有する。比較部41は、クラスごとに、スイッチ回路30aと30bから出力されてきたパケットのシーケンス番号を比較する。例えば、比較部41は、スイッチング部35aから出力された高優先クラスのパケットのシーケンス番号と、スイッチング部35bから出力された高優先クラスのパケットのシーケンス番号を比較する。このとき、比較部41は、スイッチング部35aから出力された高優先クラスのパケットのシーケンス番号と、スイッチング部35bから出力された高優先クラスのパケットのシーケンス番号の差分を求める。さらに、比較部41は、得られた差分を閾値と比較し、差分が閾値よりも大きい場合、高優先クラスのパケットの処理がスイッチ回路30aと30bで同期していないと判断する。同期が取れていないと判断すると、比較部41は、同期が取れていないクラスを特定する情報と共に、同期が取れていないことを、制御部45と補正強度決定部44に通知する。また、比較部41は、スイッチ回路30aと30bのいずれでの処理が先行しているかを示す情報も、制御部45に通知する。
【0024】
比較部41は、低優先クラスのパケットについても同様の処理を行う。比較部41の処理については、後で詳しく説明する。なお、比較部41では、スイッチ回路30aから出力されたパケットとスイッチ回路30bから出力されたパケットは、混合されない。このため、比較部41では、図3に示すように、スイッチ回路30aから出力されたパケットが流れる配線とスイッチ回路30bから出力されたパケットが流れる配線は、互いに接続されていないものとする。
【0025】
比較部41は、スイッチ回路30aと30bから入力されたパケットをパケット合流部42に出力する。パケット合流部42では、スイッチ回路30aと30bの各々でスイッチングされたパケットのうち、パケットの中継に使用しているスイッチ回路30でスイッチングされたパケットをパケット出力部46に出力する。パケット出力部46に出力されないパケットは、パケット合流部42により廃棄される。例えば、スイッチ回路30aが現用のスイッチである場合、パケット合流部42は、スイッチ回路30aから出力されたパケットをパケット出力部46に出力し、スイッチ回路30bから出力されたパケットを廃棄する。パケット出力部46は、パケット合流部42から入力されたパケットを送信する際に、シーケンス番号付加部22によって付された装置内ヘッダ54を除去するものとする。
【0026】
レート監視部43は、パケット合流部42からパケット出力部46に出力されるパケットに含まれているデータの量を、パケットのクラスごとに計数することにより、所定の時間に中継されるデータ量に占める各クラスのデータの量の割合を算出する。データ量は、例えば、中継されるデータのバイト数、中継されるパケット数など、実装に応じた任意の単位を用いて計数されるものとする。レート監視部43は、各クラスのデータの割合を、補正強度決定部44に出力する。補正強度決定部44は、比較部41から同期が取れていないことと、同期が取れていないクラスが通知されると補正強度を決定する。補正強度の決定方法については後述する。補正強度決定部44は、決定した補正強度を制御部45に通知する。
【0027】
制御部45は、処理が進んでいる方のスイッチ回路30において、同期が取れていないことが検出されたクラスのパケットのスイッチングが行われる時間を、通知された補正強度に応じて短くする。例えば、制御部45は、ONタイマとOFFタイマを備えることができる。制御部45は、ONタイマがセットされてからタイムアップするまでの間、処理が進んでいる方のスイッチ回路30にバックプレッシャをかける。以下の説明で、「バックプレッシャ」は、処理が進んでいる方のスイッチ回路30において、同期が取れていないことが検出されたクラスのパケットのスイッチングを停止させることを指すものとする。例えば、制御部45は、同期が取れていないことが検出されたクラスのパケットが格納されているバッファからの読み出しを停止することにより、バックプレッシャをかけることができる。その後、制御部45は、OFFタイマをセットし、OFFタイマがタイムアップするまでの間は、バックプレッシャを停止する。従って、OFFタイマがセットされてからOFFタイマがタイムアップするまでの間は、処理が進んでいる方のスイッチング部35でも、同期が取れていないクラスのパケットのスイッチングが行われる。
【0028】
制御部45は、ONタイマとOFFタイマの各々に設定する時間の長さを、補正強度決定部44から通知された補正強度に応じて決定する。例えば、ONタイマにセットされる時間とOFFタイマにセットされる時間の合計値を基準としたときに、ONタイマにセットされる時間の割合が補正強度になるように、制御部45は、各タイマにセットする時間を計算する。制御部45の動作については、後で詳しく説明する。
【0029】
図5に中継装置10のハードウェア構成の例を示す。中継装置10は、インタフェース70とスイッチ回路30a、30bを備える。なお、インタフェース70は、入力部20および出力部40として動作する。インタフェース70は、制御回路71とネットワーク接続装置72を備える。ネットワーク接続装置72は、パケット入力部21およびパケット出力部46として動作する。シーケンス番号付加部22、比較部41、パケット合流部42、レート監視部43、補正強度決定部44、制御部45は、制御回路71により実現される。制御回路71は、例えば、FPGA(Field-Programmable Gate Array)やLSI(Large Scale Integration)などとすることができる。スイッチ回路30は、メモリ61(61a、61b)、スケジューラ回路62(62a、62b)、クロック34a、34bを備えている。ここで、メモリ61は、パケットバッファ31として動作する。スケジューラ回路62は、スイッチング部35として動作する。さらに、クロックは、クロック34として動作する。なお、インタフェース70、スイッチ回路30a、30bの一部又は全部がCPU(Central Processing Unit)等のプロセッサを備え、比較部41、パケット合流部42、レート監視部43、補正強度決定部44、制御部45、スイッチング部35等がCPUによって実現されてもかまわない。
【0030】
<第1の実施形態>
図6は、中継装置10によりパケットが中継される場合の例を示す。ここでは、スイッチ回路30aがパケットのスイッチングに使用されていて、スイッチ回路30bは予備とされているものとする。つまり、スイッチ回路30aでスイッチングされたパケットがパケット出力部46から出力されるものとする。
【0031】
以下の説明では、クロック34aの方がクロック34bよりも僅かに周波数が高いものとする。このため、スイッチ回路30aはスイッチ回路30bよりも速いクロックで動作し、スイッチ回路30bよりも処理が進むものとする。また、以下の説明や図面では、スイッチ回路30aを「SW#0」、スイッチ回路30bを「SW#1」と表すことがある。
【0032】
(1)パケット入力部21は、受信したパケットをシーケンス番号付加部22に入力する。
【0033】
(2)シーケンス番号付加部22は、入力されたパケットに装置内ヘッダ54を付加する。シーケンス番号付加部22は、パケット入力部21から入力されたパケットのクラス情報53を確認して、入力されたパケットが高優先クラスと低優先クラスのいずれに属しているかを確認する。入力されたパケットが高優先パケットである場合、シーケンス番号付加部22は、入力されたパケットが高優先クラスのパケットのうちで何番目に入力されたパケットであるかを示すシーケンス番号をシーケンス番号フィールド55に記録する。一方、入力されたパケットが低優先パケットである場合、シーケンス番号付加部22は、入力されたパケットが低優先クラスのパケットのうちで何番目に入力されたパケットであるかを示すシーケンス番号をシーケンス番号フィールド55に記録する。シーケンス番号付加部22は、シーケンス番号フィールド55にシーケンス番号を格納したパケットを複製し、スイッチ回路30aとスイッチ回路30bに出力する。
【0034】
(3)スイッチ回路30aは、シーケンス番号付加部22から入力されたパケットのクラス情報53を確認する。クラス情報53が高優先クラスを示す情報である場合、スイッチ回路30aは、入力されたパケットを高優先パケットバッファ32aに格納する。一方、クラス情報53が低優先クラスを示す情報である場合、スイッチ回路30aは、入力されたパケットを低優先パケットバッファ33aに格納する。スイッチ回路30bも同様の動作を行う。
【0035】
図6は、スイッチ回路30aと30bに、8番目の高優先パケットが入力されたときの様子を示す。スイッチ回路30aは、8番目の高優先パケットを、高優先パケットバッファ32aに格納する。また、スイッチ回路30bも、同様に、8番目の高優先パケットを、高優先パケットバッファ32bに格納する。
【0036】
図6の例では、中継装置10は、低優先パケットを22個受信しており、8番目の高優先パケットが高優先パケットバッファ32aに格納される前に、スイッチング部35aは、20番目の低優先パケットのスイッチングを行ったものとする。従って、スイッチ回路30aの低優先パケットバッファ33aには、21番目と22番目の低優先パケットが格納されている。一方、8番目の高優先パケットが高優先パケットバッファ32bに格納される前に、スイッチング部35bでは、17番目の低優先パケットのスイッチングが行われたものとする。従って、スイッチ回路30bの低優先パケットバッファ33bには、18〜22番目の低優先パケットが格納されている。
【0037】
(4)比較部41は、スイッチ回路30aと30bから入力されたパケットのシーケンス番号とクラス情報53を確認する。比較部41は、クラスごとに最後に入力されたパケットのシーケンス番号を、クラス情報53と対応付けて記憶する。図7は、比較部41が保持するテーブルの例を示す。図7は、手順(3)でスイッチングされたパケットを比較部41が処理したときのテーブルの例である。比較部41は、スイッチ回路30a(SW#0)から20番目の低優先パケットが入力されたことを認識する。すると、比較部41は、低優先クラスに対応付けられたSW#0の最新のシーケンス番号を図7に示すように、20に更新する。また、比較部41は、スイッチ回路30b(SW#1)から17番目の低優先パケットが入力されたことを認識し、低優先クラスに対応付けられたSW#1の最新のシーケンス番号を17に更新する。図7の例では、高優先クラスについては、これまでにスイッチ回路30a、30bのいずれからも、7番目までの高優先パケットのスイッチングが終了している。
【0038】
(5)比較部41は、クラスごとに、スイッチ回路30aから入力された最新のパケットのシーケンス番号と、スイッチ回路30bから入力された最新のパケットのシーケンス番号の差分を求める。さらに、予め記憶している閾値と差分を比較し、差分が閾値を超えると、閾値を越えていることが確認されたクラスで同期が取れていないと判断する。以下の説明では、比較部41が記憶している閾値は2であるとする。なお、閾値の値は実装に応じて任意の整数に変更されることがある。
【0039】
図7の例では、高優先クラスでは、スイッチ回路30aから最後に入力されたパケットのシーケンス番号と、スイッチ回路30bから最後に入力されたパケットのシーケンス番号のいずれも7である。従って、高優先クラスについての差分は0である。そこで、比較部41は、高優先クラスでは、スイッチ回路30aと30bの間で同期が取れていると判断する。
【0040】
一方、低優先クラスでは、スイッチ回路30aから最後に入力されたパケットのシーケンス番号が20で、スイッチ回路30bから最後に入力されたパケットのシーケンス番号は17である。従って、低優先クラスについての差分は20−17=3であり、閾値を超えている。そこで、比較部41は、低優先クラスでは、スイッチ回路30aと30bの間で同期が取れていないと判断する。
【0041】
(6)比較部41は、シーケンス番号の比較が終了したパケットをパケット合流部42に出力する。例えば、図6では、スイッチ回路30aでスイッチングされた19番目の低優先クラスのパケットが比較部41から出力されている。また、比較部41は、スイッチ回路30bでスイッチングされた16番目の低優先クラスのパケットもパケット合流部42に出力する。
【0042】
(7)パケット合流部42は、比較部41から出力されたパケットのうち、現用のスイッチ回路30でスイッチングされたパケットをパケット出力部46に出力する。比較部41は、予備のスイッチ回路30でスイッチングされたパケットを廃棄する。例えば、スイッチ回路30aでスイッチングされた18番目の低優先クラスのパケットと、スイッチ回路30bでスイッチングされた15番目の低優先クラスのパケットがパケット合流部42に入力されたとする。ここでは、スイッチ回路30aが現用であるので、パケット合流部42は、スイッチ回路30aでスイッチングされた18番目の低優先クラスのパケットをパケット出力部46に出力する。パケット出力部46は、パケット合流部42から入力されたパケットを宛先に向けて送信する。
【0043】
(8)次に、中継装置10で行われる同期の確立について説明する。比較部41は、手順(5)の処理により、非同期状態となっているクラスがあることを検出している。同期が確立していないクラスは、制御部45により同期を確立する処理の対象とされるので、以下の説明では、「制御クラス」と記載することがある。比較部41は、制御クラスを補正強度決定部44と制御部45に通知する。さらに比較部41は、スイッチ回路30aと30bのいずれの処理が進んでいるかも制御部45に通知する。
【0044】
図7の例では、比較部41は、低優先クラスのパケットについて、スイッチ回路30aとスイッチ回路30bが非同期状態であることを検出している。そこで、比較部41は、低優先クラスが制御クラスであることを、補正強度決定部44に通知する。また、比較部41は、制御部45に対して、制御クラスが低優先クラスであることと、スイッチ回路30aの処理がスイッチ回路30bの処理よりも進んでいることを通知する。なお、以下の説明では、同期を確立しようとする2つのスイッチ回路30のうちで制御クラスのパケットの処理が進んでいるスイッチ回路30を「対象スイッチ」と記載することがある。対象スイッチは、後述するように、制御部45による制御の対象となるスイッチ回路30である。図7の例では、対象スイッチは、スイッチ回路30aである。
【0045】
(9)補正強度決定部44は、比較部41から非同期状態であることが通知されると、制御クラスのデータ量が送受信されている全データに占める割合をレート監視部43に問い合わせる。レート監視部43は、パケット合流部42から一定時間に出力される全てのデータをクラス別に分類し、一定時間に出力されたデータに占める各クラスのデータの割合を求める。このとき、レート監視部43は、周期的な観測によって得られたデータの割合を用いて、移動平均を求めることができる。以下の説明では、制御クラスのデータの割合の移動平均を、「平均レート」と記載することがある。平均レートを用いることにより、短期間のデータの割合の変動による影響を小さくすることができる。レート監視部43は、次の式を用いて得られた平均レートを、n番目の平均レートとして補正強度決定部44に通知することができる。
【0046】
n番目の平均レート = (n−1)番目の平均レート×Wq + 観測レート×(1 − Wq)
ここで、観測レートは、レート監視部43が平均レートの計算が行われる前の最後の周期の間に観測して得られたデータの割合である。Wqは重み係数で、0≦Wq<1を満たす値である。また、nは2以上の任意の整数である。なお、レート監視部43で行われる計算は、実装に応じて任意に変更されることがある。
【0047】
(10)補正強度決定部44は、制御クラスのデータが送受信されているデータ全体に占める割合に応じて、補正強度を決定する。例えば、制御クラスの受信レートが高い場合、制御クラスよりも優先度が高いクラスのトラヒックは比較的少ない。この場合、図2(b)に示したように、1種類のクラスのパケットがスイッチングされている状態に近く、スイッチ回路30にかけた補正(バックプレッシャ)の効果が比較的現れやすい状態にある。従って、制御クラスの割合が高い場合、バックプレッシャ時間が短い補正、すなわち、比較的弱い補正でも、効果的に作用する確率が高い。そこで、補正強度決定部44は、補正強度の値を小さくして、弱い補正を実施することを決定する。
【0048】
一方、制御クラスの受信レートが低い場合、制御クラスよりも優先度が高いクラスのトラヒックが比較的多く、制御クラスのパケットの処理は優先度が高いパケットの処理により圧迫されている。この場合は、対象スイッチにバックプレッシャがかけられている間に、対象スイッチよりも処理が遅れているスイッチ回路30において、制御クラスよりも優先度が高いクラスのパケットが処理される可能性が高い。対象スイッチよりも処理が遅れているスイッチ回路30は、対象スイッチにバックプレッシャがかけられている間に、制御クラスのパケットを処理しないと、制御クラスのパケットの処理が対象スイッチに追いつかない。つまり、対象スイッチにバックプレッシャがかけられている間に、対象スイッチよりも処理が遅れているスイッチが制御クラスのパケットを処理できないと、同期が確立できない。このように、制御クラスのパケットの割合が低い場合は、スイッチ回路30にかけられた補正が比較的効きにくい状態にあるといえる。そこで、補正強度決定部44は、制御クラスの割合が低い場合、補正強度の値を大きくして、対象スイッチにバックプレッシャをかける時間を長くする。また、制御クラスよりも優先度の高いクラスのトラフィックが多い場合、補正強度決定部44は、補正強度の値を大きくしているともいえる。
【0049】
図8は、補正強度決定部44が備えるテーブルの例を示す。図8に示すようなテーブルを備えている場合、補正強度決定部44は、テーブルから補正強度を選択する。例えば、低優先クラスのデータが75%未満であるとする。この場合、全データの25%以上が高優先クラスのデータである。そのため、スイッチ回路30aにバックプレッシャをかけたときに、スイッチ回路30bで高優先クラスのパケットが処理される可能性がある。そこで、補正強度決定部44は、スイッチ回路30aにバックプレッシャがかけられているときに、スイッチ回路30bで低優先クラスのパケットが処理される可能性を大きくするために、補正強度を強くする。ここでは、補正強度決定部44は、補正強度を60%に決定するものとする。補正強度決定部44は、決定した補正強度を、制御クラスを識別する情報と対にして制御部45に通知する。
【0050】
(11)制御部45は、手順(8)において、比較部41から制御クラスが低優先クラスであることと、対象スイッチがスイッチ回路30aであることを通知されている。そこで、制御部45は、補正強度決定部44から補正強度が通知されると、対象スイッチにおいて、制御クラスのパケットの処理を停止させる時間を求める。すなわち、制御部45は、
補正強度=ONタイマの設定時間/(ONタイマの設定時間+OFFタイマの設定時間)
を満たすように、ONタイマとOFFタイマの設定時間を決定する。
【0051】
制御部45は、ONタイマに設定された時間の間、対象スイッチでの制御クラスのパケットの読み出し処理を停止させる。このため、ONタイマの設定時間の間は、対象スイッチでは制御クラスのパケットのスイッチングが行われない。ONタイマがタイムアウトすると、制御部45は、OFFタイマに設定された時間の間、対象スイッチでの制御クラスのパケットの読み出し処理を再開させる。従って、OFFタイマの設定時間の間は、対象スイッチでも制御クラスのパケットのスイッチングが行われる。制御部45は、補正強度決定部44もしくは比較部41から新たな通知を受け取るまで、決定した設定時間を用いて、対象スイッチで制御クラスのパケットの処理が行われる時間を制限する。ここで、1度の制御で同期が確立できない場合、制御部45は、対象スイッチでの制御クラスのパケットの読み出しを制限する処理を繰り返す。
【0052】
例えば、手順(10)により、補正強度が60%であることが補正強度決定部44から通知された場合、制御部45は、ONタイマの設定時間を6スロット時間、OFFタイマの設定時間を4スロット時間に決定できる。ここでは、対象スイッチがスイッチ回路30aで制御クラスが低優先クラスであるので、制御部45は、6スロット時間の間、スイッチ回路30aでの低優先パケットバッファ33aからの読み出し動作を停止させる。その後、制御部45は、4スロット時間の間、低優先パケットバッファ33aからの読み出しを再開させる。
【0053】
ここで、スイッチング部35aが低優先パケットバッファ33aから制御クラスのパケットを読み出していない間も、スイッチング部35bでは制御クラスのパケットのスイッチングが行われる。言い換えると、スイッチング部35bは、ONタイマの設定時間とOFFタイマの設定時間の和と同じ時間の間、動作している。従って、スイッチング部35bが動作を行っている時間を基準としたときの、低優先パケットバッファ33aからの読み出しが行われる時間の割合は、補正強度に一致する。つまり、制御部45は、対象スイッチで制御クラスのパケットの読み出しを停止させる時間を、対象スイッチではない方のスイッチ回路30でスイッチングを行う時間と補正強度の積としているといえる。例えば、補正強度が60%であれば、対象スイッチではないスイッチ回路30でスイッチングが行われている時間の60%の期間、対象スイッチで制御クラスのパケットの読み出しが停止される。従って、対象スイッチでは、対象スイッチではないスイッチ回路30でスイッチングが行われている時間の60%の期間、制御クラスのパケットのスイッチングが停止される。
【0054】
(12)手順(11)の処理が行われている間も、比較部41、パケット合流部42、レート監視部43は動作を継続している。従って、手順(11)の処理が行われている間も、レート監視部43は、パケットのクラスごとに、中継装置10が中継するデータ量に占める割合を求め、得られた値を補正強度決定部44に通知する。補正強度決定部44は、レート監視部43から通知された値に応じて補正強度を変更する際、制御部45に新たな補正強度を通知する。
【0055】
例えば、制御部45が手順(11)の処理を行っている間に、中継装置10で中継される低優先クラスのデータ量が増加した結果、低優先クラスのデータの割合が80%になったとする。この場合、手順(10)で補正強度が決定されたときに比べて低優先クラスのデータの割合が大きくなっているため、補正強度を変更しないと補正が強すぎてスイッチ回路30aの処理がスイッチ回路30bよりも遅れる恐れがある。そこで、補正強度決定部44は、図8に示すテーブルを用いて、補正強度を20%に変更する。補正強度決定部44は、変更後の補正強度を、制御クラスと対にして制御部45に通知する。
【0056】
(13)制御部45は、補正強度決定部44から補正強度の通知を受けると、手順(11)と同様の計算により、ONタイマとOFFタイマの設定時間を決定する。ここでは、制御部45は、ONタイマの設定時間を2スロット時間、OFFタイマの設定時間を8スロット時間に決定したものとする。設定時間を決定すると、制御部45は次回のバックプレッシャから、ONタイマとOFFタイマの設定時間を変更する。すなわち、制御部45は、2スロット時間の間、低優先パケットバッファ33aからの読み出しを停止させた後、8スロット時間の間、低優先パケットバッファ33aからの読み出しを再開させる。
【0057】
(14)手順(11)〜(13)の処理が行われている間も、比較部41は、スイッチ回路30aと30bの各々から出力されたパケットに付されたシーケンス番号をクラスごとに比較する。同期が確立したことを確認すると、比較部41は、同期が確立したことと、同期が確立したクラスを制御部45と補正強度決定部44に通知する。制御部45は、比較部41からの通知を受けると、同期が確立したことを通知されたクラスについての処理を終了する。一方、補正強度決定部44は、比較部41から通知を受けると、同期が確立されたことが通知されたクラスの処理に用いる補正強度の決定を中止する。
【0058】
例えば、低優先パケットバッファ33aから出力されたパケットのシーケンス番号と、低優先パケットバッファ33bから出力されたパケットのシーケンス番号の差分が閾値よりも小さいことを比較部41が検出したとする。この場合、比較部41は、スイッチ回路30aと30bの間で、低優先クラスのパケットの処理について同期がとれていると判断する。そこで、比較部41は、補正強度決定部44と制御部45に、低優先クラスのパケットの処理についてはスイッチ回路30aと30bの間で同期が確立したことを通知する。すると、制御部45は、低優先パケットバッファ33aからの読み出しを制限する処理を終了する。また、補正強度決定部44は、低優先クラスのパケットの処理に用いる補正強度の計算を終了する。
【0059】
(15)比較部41は、手順(14)が終了した後も、スイッチ回路30aと30bから出力されるパケットのシーケンス番号をクラスごとに比較し、スイッチ回路30aと30bで同期が取れているかを監視し続ける。スイッチ回路30aと30bで同期が取れなくなると、手順(5)以降で説明した処理が繰り返される。
【0060】
以上の手順により、クロック34aと34bの周波数が異なる場合に、非同期となったスイッチ回路30aと30bの間で同期が確立される。スイッチ回路30aと30bは動作する周波数が異なるので、同期を確立しても、再度、非同期となることがあるが、非同期であることが比較部41で検出されるたびに、同期が確立される。なお、前述の(1)〜(15)は処理の例であり、手順は様々に変形されることがある。
【0061】
図9は、同期の確立のための処理の例を示すシーケンス図である。図9中の数字は、前述の手順の番号である。図9に示すように、比較部41で非同期が検出される前から、レート監視部43が定期的に各クラスの平均レートを、補正強度決定部44に通知することもできる。この場合、比較部41から非同期であることが通知されると、補正強度決定部44は制御クラスについて、最後にレート監視部43から通知されたレートを用いて補正強度を決定することができる。補正強度決定部44は、補正強度を決定すると、制御部45に補正強度を通知し、前述の(11)のように制御が行われる。図9において、期間A〜Dの間は、低優先パケットバッファ33aからの読み出し処理が停止される。このため、期間A〜Dの間は、低優先パケットバッファ33bに蓄積されたパケットがスイッチングされる可能性があるが、低優先パケットバッファ33aに蓄積されたパケットはスイッチングされない。そこで、低優先パケットバッファ33bに蓄積されたパケットのシーケンス番号の最小値と、低優先パケットバッファ33aに蓄積されたパケットのシーケンス番号の最小値の差分は小さくなる可能性がある。このシーケンス番号の差分が比較部41に記憶されている閾値よりも小さくなると、比較部41により、スイッチ回路30aと30bで同期が確立されたと判定される。すると、手順(14)に対応付けて示す矢印のように、同期が確立したことが、比較部41から、補正強度決定部44および制御部45に通知される。
【0062】
また、平均レートに応じて、補正強度決定部44が補正強度を変更すると、(12)の矢印で示すように、新たな補正強度が制御部45に通知される。制御部45は、最新の補正強度を用いて、ONタイマとOFFタイマに設定する時間を求め、(13)の矢印で示すように制御を行う。
【0063】
図10は、比較部41の処理の例を説明するフローチャートである。図10の例では、比較部41は、クラス別に、前回の判定結果を記憶しているものとする。すなわち、前回の処理で同期が確立していると判定された場合、比較部41は判定を行ったクラスについて同期状態であることを記憶する。一方、前回の処理で同期が確立していないと判定された場合、比較部41は判定を行ったクラスについて非同期状態であることを記憶する。なお、初めて判定を行う場合、比較部41は、前回の判定結果が同期状態である場合と同様に扱うものとする。また、比較部41は、同期が確立しているかを判定する閾値Th1と、非同期が解消されたかを判定する閾値Th2の2つの閾値を用いるものとする。閾値Th1は、閾値Th2よりも1つ大きい整数である。
【0064】
比較部41は、シーケンス番号の差分を求めるクラスを決定し、そのクラスについて、前回の判定結果が同期状態と非同期状態のいずれであったかを判定する(ステップS1)。前回の判定結果が非同期状態であった場合、比較部41は、シーケンス番号の差分を求めて、閾値Th2と比較する(ステップS1でYes、ステップS2)。シーケンス番号の差分が閾値Th2以下であれば、比較部41は、制御部45の処理により、スイッチ回路30aと30bの間で同期が確立されたと判断する(ステップS2でYes)。そこで、比較部41は、制御部45と補正強度決定部44に、制御クラスについて同期が確立したこと(非同期解除)を通知する。さらに、比較部41は、今回の判定結果が同期状態であることを記憶して処理を終了する(ステップS3)。一方、シーケンス番号の差分が閾値Th2より大きい場合、比較部41は、制御クラスの非同期状態が継続していると判断し、ステップS3の処理を行わずに処理を終了する(ステップS2でNo)。
【0065】
一方、前回の判定結果が同期状態であった場合か、初めてシーケンス番号の差分を算出する場合、比較部41は、シーケンス番号の差分を閾値Th1と比較する(ステップS1でNo、ステップS4)。シーケンス番号の差分が閾値Th1以上であれば、比較部41は、判定を行っているクラスのパケットについて、スイッチ回路30aと30bの間で同期が取れなくなったと判断する(ステップS4でYes)。そこで、比較部41は、制御部45と補正強度決定部44に、スイッチ回路30の間の同期が取れていないこと(非同期検出)を通知する。さらに、比較部41は、今回の判定結果が非同期状態であることを記憶して処理を終了する(ステップS5)。一方、シーケンス番号の差分が閾値Th1より小さい場合、比較部41は、同期状態が継続していると判断し、ステップS5の処理を行わずに処理を終了する(ステップS4でNo)。
【0066】
図11は、制御部45の処理の例を説明するフローチャートである。なお、制御部45もクラスごとに処理を行う。制御部45は、処理対象のクラスについて、比較部41から非同期状態であることと、対象スイッチを通知されたかを確認する(ステップS11)。非同期状態である場合、制御部45は、補正強度決定部44から通知された補正強度に基づいてONタイマの設定値を計算し、ONタイマを設定する(ステップS12)。さらに、制御部45は、対象スイッチにバックプレッシャをかけることにより、対象スイッチでの制御クラスのパケットの読み出し処理を停止させる(ステップS13)。制御部45は、ONタイマがタイムアップするまでの間に、比較部41から非同期解除を受信するかを確認する(ステップS14でNo、ステップS15)。非同期解除を受信していない場合、ONタイマがタイムアップするまで待機する(ステップS15でNo)。ONタイマがタイムアップすると、制御部45は、補正強度決定部44から通知された補正強度に基づいてOFFタイマの設定値を計算し、OFFタイマを設定する(ステップS14でYes、ステップS16)。さらに、制御部45は、対象スイッチにかけられていたバックプレッシャを解除することにより、対象スイッチでの制御クラスのパケットの読み出し処理を再開させる(ステップS17)。制御部45は、OFFタイマがタイムアップするまでの間に、比較部41から非同期解除を受信するかを確認する(ステップS18でNo、ステップS19)。非同期解除を受信していない場合、OFFタイマがタイムアップするまで待機する(ステップS19でNo)。OFFタイマがタイムアップすると、制御部45は、ステップS11に戻って、非同期状態が継続しているかを確認する(ステップS18でYes、ステップS11)。非同期状態の解除が比較部41から通知されていない場合、制御部45は非同期状態が継続していると判断し、ステップS12〜S19の処理を繰り返す。
【0067】
ONタイマがタイムアップする前に制御部45が非同期解除を受信した場合は、制御部45での処理中に同期が確立されている(ステップS15でYes)。また、OFFタイマがタイムアップする前に制御部45が非同期解除を受信した場合も、制御部45での処理中に同期が確立されている(ステップS19でYes)。このように、制御部45の処理中に同期が確立されると、制御部45は、ONタイマがセット中であるかを確認する(ステップS20)。ONタイマがセット中である場合、制御部45は、ONタイマをリセットし、対象スイッチにかけられていたバックプレッシャを解除する(ステップS20でYes、ステップS21、S22)。ステップS22の処理により、制御部45は、対象スイッチでの制御クラスのパケットの読み出し処理を再開させる。一方、ONタイマがセット中ではない場合、制御部45は、OFFタイマをリセットしてステップS11に戻る(ステップS20でNo、ステップS23)。
【0068】
一方、比較部41から非同期状態であることを一度も通知されたことが無いときと、同期が確立されたことが通知された後に非同期状態であることを通知されていないときは、制御部45は非同期状態ではないと判断する(ステップS11でNo)。すると、制御部45は、ステップS20〜S23の処理を行う。
【0069】
このように、中継装置10は、パケットのクラス別に、中継されているデータ量を算出し、平均レートに応じた補正強度を用いてバックプレッシャをかける。このため、中継装置10は、複数のクラスのうちの優先度の低いクラスのスイッチングが同期されていない場合であっても、効率的に同期を確立することができる。従って、中継装置10において、障害等が発生したときに瞬断しないようにスイッチ回路30を切り替えた場合でも、中継先でのパケットの欠落や重複を防ぐことができる。
【0070】
<第2の実施形態>
第2の実施形態では、補正強度の決定に、シーケンス番号の差分の大きさを用いる。比較部41は、同期が取れていないことを補正強度決定部44に通知する際に、制御クラスとシーケンス番号の差分を通知する。補正強度決定部44は、制御クラスのデータの平均レートと、シーケンス番号の差分の大きさを用いて補正強度を決定する。
【0071】
補正強度決定部44は、シーケンス番号の差分が大きいほど、補正強度が強くなるように、補正強度を決定する。また、補正強度決定部44は、中継されているデータの量に対する制御クラスのデータの割合が小さいほど、補正強度が大きくなるように、補正強度を決定する。
【0072】
図12は、第2の実施形態で補正強度決定部44が備えるテーブルの例を示す。図12はテーブルの一例であり、補正強度を決定する際に閾値として用いる差分値の大きさや、制御クラスのレートの値は、実装に応じて任意に変更されることがある。
【0073】
次に、図12に示すテーブルを用いて補正強度決定部44が補正強度を決定する方法について述べる。補正強度決定部44は、比較部41から通知されたシーケンス番号の差分に対応する欄に記録されている値を補正強度の候補とする。さらに、補正強度決定部44は、レート監視部43に制御クラスの平均レートを問い合わせる。補正強度決定部44は、補正強度の候補とした値から、レート監視部43によって通知された平均レートに対応付けられた補正強度を、制御に用いる値に決定する。例えば、制御クラスが低優先クラスであって、シーケンス番号の差分が3であると、補正強度決定部44は、図12のテーブルを参照し、シーケンス番号番号の差分が6以下の場合の補正強度を候補とする。すなわち、補正強度決定部44は、補正強度を10%補正か50%補正にする可能性が有ると認識する。次に、レート監視部43から低優先クラスのデータが中継されているデータ全体の80%であることが通知されると、補正強度決定部44は補正強度を10%に決定する。
【0074】
すなわち、補正強度決定部44は、シーケンス番号の差分と、制御クラスのデータが占める割合をキーとして特定できた値を、補正強度に決定する。補正強度決定部44は、決定した補正強度を制御部45に通知する。その後に行われる処理は、第1の実施形態と同様である。
【0075】
図13は、第2の実施形態での比較部の処理の例を説明するフローチャートである。ステップS31〜S35は、図10を参照しながら説明したステップS1〜S5と同様である。比較部41は、ステップS33の処理が終わった後に、シーケンス番号の差分を補正強度決定部44に通知する(ステップS36)。ステップS35の処理が行われた後もステップS36の処理が行われる。また、ステップS32でシーケンス番号の差分が閾値Th2以下であると判定された場合と、ステップS32でシーケンス番号の差分が閾値Th1以上であると判定された場合も、比較部41は、補正強度決定部44にシーケンス番号の差分を通知する。
【0076】
なお、図13は、比較部41の動作の一例である。例えば、同期が確立されたことを比較部41が確認した場合、比較部41は、シーケンス番号の差分を補正強度決定部44に通知しなくても良い。この場合、ステップS33の処理が終わった後では、比較部41は、シーケンス番号の差分を補正強度決定部44に通知しない。また、ステップS34でシーケンス番号の差分が閾値Th1未満である(ステップS34でNo)と判定された場合も、比較部41は、シーケンス番号の差分を補正強度決定部44に通知しない。
【0077】
このように、制御クラスのデータの割合に加えて、シーケンス番号の差分を用いて補正強度を決定することにより、補正強度を第1の実施形態よりも詳細に設定することができる。従って、第1の実施形態で設定される補正強度よりも適切な補正強度により、同期の再確立を開始でき、迅速に同期を確立することができる。
【0078】
<その他>
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【0079】
図8や図12は、補正強度決定部44が備えるテーブルの例であり、補正強度を決定する際に閾値として用いられる数値は、実装に応じて任意に変更されることがある。また、図8と図12では、一例として、各パラメータについて1つの閾値を用いて補正強度を決定したが、1つのパラメータについて複数の閾値を用いることもできる。例えば、制御クラスのデータの割合について、50%、75%、90%の3つを閾値として用い、
制御クラスのデータの割合が50%未満 :70%補正
制御クラスのデータの割合が50%以上で75%未満:40%補正
制御クラスのデータの割合が75%以上で90%未満:20%補正
制御クラスのデータの割合が90%以上 :10%補正
等のように、補正強度を決定することもできる。シーケンス番号の差分についても、同様に、複数の閾値に応じて補正強度を決定することもできる。
【0080】
また、補正強度は、経験則に基づいて決定された計算式により求められることもある。この場合、補正強度決定部44は、予め、計算式を記憶しているものとする。
【0081】
比較部41でスイッチ回路30aから出力されたパケットとスイッチ回路30bから出力されたパケットが混合されるように変形することもできる。この場合、各スイッチ回路30は、スイッチングの際に、装置内ヘッダ54にスイッチングしたスイッチ回路30を特定する情報を書き込むことができる。パケット合流部42は、予備のスイッチ回路30でスイッチングされたパケットを、装置内ヘッダ54を用いて特定した上で削除する。
【0082】
なお、優先度が最も高いクラスのパケットで、スイッチ回路30aと30bが非同期状態になる場合は、制御クラスのデータが中継されているデータに占める割合はほぼ100%である。従って、優先度が最も高いクラスが制御クラスとなった場合は、制御クラスのデータの割合によらずに、シーケンス番号の差分によって補正強度を決定するように、補正強度決定部44の動作が変形される場合がある。
【0083】
さらに、以上の説明では、ONタイマとOFFタイマの設定は、スロット時間の倍数として設定する場合を例としたが、これらのタイマへの設定の最小単位は、実装に応じて任意に選択される。例えば、制御部45は、補正強度が10%のときに、ONタイマに1μS、OFFタイマに9μSを設定することもできる。
【0084】
以上の説明では、レート監視部43は、所定の時間に中継されるデータ量に占める各クラスのデータ量の割合を算出し、補正強度決定部44は、データ量の割合を用いて補正強度を求めているが、これは一例である。輻輳が発生した状況においては、パケット合流部42からパケット出力部46に出力されるデータ量は、最大量になっている。従って、輻輳が起こっている場合に、高優先クラスのパケットにより送受信されるデータの割合が大きいことは、高優先クラスのパケットにより送受信されるデータ量が多いことを意味する。従って、補正強度決定部44は、高優先クラスのパケットにより送受信されるデータ量に応じて、補正強度を決定することができる。すなわち、高優先クラスのパケットにより送受信されるデータ量が多いほど、補正強度が大きくなる。なお、この場合、レート監視部43は、各クラスのパケットにより送受信されるデータ量を計測して補正強度決定部44に通知する。
【0085】
さらに、輻輳が起こっている場合に、高優先クラスのパケットにより送受信されるデータの割合が大きいことは、一定時間に高優先クラスのパケットにより送受信されるデータ量(転送レート)が多いことを意味する。従って、補正強度決定部44は、高優先クラスのパケットの転送レートに応じて、補正強度を決定することもできる。すなわち、高優先クラスのパケットの転送レートが高いほど、補正強度が大きくなる。なお、この場合、レート監視部43は、クラスごとに転送レートを計測して補正強度決定部44に通知する。
【符号の説明】
【0086】
1、10 中継装置
2 管理モジュール
3 インタフェースカード
4 スイッチ回路
20 入力部
21 パケット入力部
22 シーケンス番号付加部
30 スイッチ回路
31 パケットバッファ
32 高優先パケットバッファ
33 低優先パケットバッファ
34 クロック
35 スイッチング部
40 出力部
41 比較部
42 パケット合流部
43 レート監視部
44 補正強度決定部
45 制御部
46 パケット出力部
51 パケットペイロード
52 パケットヘッダ
53 クラス情報
54 装置内ヘッダ
55 シーケンス番号フィールド
61 メモリ
62 スケジューラ回路
70 インタフェース
71 制御回路
72 ネットワーク接続装置

【特許請求の範囲】
【請求項1】
入力されるパケットを第1のバッファに格納するとともに、入力されたパケットの出力先を複数の出力先から選択する第1のスイッチ回路と、
入力されるパケットを第2のバッファに格納するとともに、入力されたパケットの出力先を前記複数の出力先から選択する第2のスイッチ回路と、
前記第1および第2のバッファから優先的に読み出される高優先クラスに分類されるパケット、および、前記高優先クラスよりも優先度が低い低優先クラスに分類されるパケットを受信し、前記第1および第2のスイッチ回路に入力する入力部と、
前記第1のスイッチ回路から出力される低優先クラスのパケットが、前記第2のスイッチ回路から出力される低優先クラスのパケットよりも後に前記入力部に入力されたパケットである場合、前記高優先クラスのパケットで送受信されるデータの量が多いほど、前記第1のスイッチ回路で前記低優先クラスのパケットの読み出し処理を停止する時間が長くなるように、前記読み出し処理が行われる時間を制御する制御部と、
前記第1または第2のスイッチ回路から出力されたパケットを選択された出力先に出力するパケット出力部
を備えることを特徴とするスイッチ装置。
【請求項2】
前記読み出し処理を停止する時間の計算に用いられる補正強度を、前記高優先クラスのパケットを用いて送受信されているデータの量が多いほど、大きくなるように決定する補正強度決定部をさらに備え、
前記制御部は、前記第1のスイッチ回路で前記読み出し処理が停止される時間を、前記第2のスイッチ回路で中継処理が行われる時間と前記補正強度の積とする
ことを特徴とする請求項1に記載のスイッチ装置。
【請求項3】
前記第1のスイッチ回路から出力されたパケットと前記第2のスイッチ回路から出力されたパケットをクラスごとに比較する比較部と、
前記クラスごとに、受信された順序を表すシーケンス番号を受信されたパケットに付加するシーケンス番号付加部をさらに備え、
前記入力部は、前記シーケンス番号が付加されたパケットを、前記第1および第2のスイッチ回路に出力し、
前記比較部は、
前記クラスごとに、前記第1のスイッチ回路から出力されたパケットに付加されている第1のシーケンス番号と、前記第1のシーケンス番号が付加されたパケットが出力されたときに、前記第2のスイッチ回路から出力されたパケットに付されている第2のシーケンス番号の差分を求め、
前記差分が閾値よりも大きい場合に、前記第1および第2のスイッチ回路が同期していないと判定する
ことを特徴とする請求項1もしくは2に記載のスイッチ装置。
【請求項4】
前記比較部は、前記差分と前記低優先クラスで第1および第2のスイッチ回路が同期していないことを、前記補正強度決定部に通知し、
前記補正強度決定部は、前記差分が大きいほど、前記補正強度が大きくなるように、前記補正強度を決定する
ことを特徴とする請求項3に記載のスイッチ装置。
【請求項5】
入力されるパケットを第1のバッファに格納するとともに、入力されたパケットの出力先を複数の出力先から選択する第1のスイッチ回路と、入力されるパケットを第2のバッファに格納するとともに、入力されたパケットの出力先を前記複数の出力先から選択する第2のスイッチ回路を備えるスイッチ装置において、
前記第1および第2のバッファから優先的に読み出される高優先クラスに分類されるパケット、および、前記高優先クラスよりも優先度が低い低優先クラスに分類されるパケットを受信し、
受信したパケットを、前記第1および第2のスイッチ回路に入力し、
前記第1のスイッチ回路から出力された低優先クラスのパケットが、前記第2のスイッチ回路から出力された低優先クラスのパケットよりも後に前記入力部に入力されたパケットである場合、前記高優先クラスのパケットで送受信されているデータの量が多いほど、前記第1のスイッチ回路で前記低優先クラスのパケットの読み出し処理を停止する時間が長くなるように、前記読み出し処理が行われる時間を制御し、
前記第1もしくは第2のスイッチ回路から出力されたパケットを出力する
ことを特徴とするパケットのスイッチ方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−74514(P2013−74514A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212915(P2011−212915)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】