(57)【特許請求の範囲】
【請求項１】
パケットを受け付けて記憶し、該記憶したパケットを転送する複数のポートと、
前記複数のポートのうちの２つのポートの一方をパケットの入力側のポートとし、他方を当該パケットの出力側のポートとして接続する交換接続部と、
前記記憶したパケットの転送を許可することを示す転送許可情報を、前記複数のポートのうち、パケットを記憶しているポートに対してラウンドロビン方式によって順番に発行する発行部と、を有するルータであって、
前記複数のポートのそれぞれは、
パケットを受け付けると、当該パケットの送信先を決定して該送信先を示す転送先情報を前記発行部へ出力するとともに、前記転送許可情報が発行される際の優先度を定める情報として当該パケットの転送終了まで保持される優先度情報の値を所定の基準値に設定し、
前記発行部によって当該ポートに対してフラグ設定指示が出力されると、該フラグ設定指示に応じて、当該ポートの状態を示す情報として記憶しているフラグを設定し、
当該ポートに対して前記転送許可情報が発行されると、前記優先度情報の値を１つインクリメントするとともに、前記交換接続部を占有して前記記憶したパケットを転送し、
前記記憶したパケットの転送が中断した場合には、前記フラグを待機状態として前記交換接続部を解放し、
前記発行部は、
前記複数のポートのいずれかから前記転送先情報を受け取ると、該転送先情報が示す転送先のバッファの空き状態を確認し、該バッファに空きがあれば当該ポートに転送待ち状態のフラグ設定指示を出力し、前記バッファに空きがなければ当該ポートに待機状態のフラグ設定指示を出力し、その後、前記バッファに空きができれば当該ポートに転送待ち状態のフラグ設定指示を出力し、
前記記憶したパケットの転送が中断した場合には、当該転送の転送先のバッファに空きができれば当該転送の送信元のポートに対して転送待ち状態のプラグ設定指示を出力し、
前記交換接続部が解放状態のときに、前記複数のポートのうち、前記フラグが転送待ち状態であるポートの中に、前記優先度情報の値が前記基準値より大きいポートが存在するか否かを確認し、前記優先度情報の値が前記基準値より大きいポートが存在する場合には、前記優先度情報の値が最大である最優先ポートに対して前記転送許可情報を発行し、前記優先度情報の値が前記基準値より大きいポートが存在しない場合には、前記フラグが転送待ち状態であるポートに対してラウンドロビン方式によって前記転送許可情報を順番に発行する、ルータ。
【請求項２】
請求項１に記載のルータであって、
前記発行部は、前記優先度情報の値が最大である最優先ポートが複数存在する場合に、該複数の最優先ポートに対してラウンドロビン方式によって前記転送許可情報を順番に発行する、ルータ。
【請求項３】
パケットを受け付けて記憶し、該記憶したパケットを転送する複数のポートと、
前記複数のポートのうちの２つのポートの一方をパケットの入力側のポートとし、他方を当該パケットの出力側のポートとして接続する交換接続部と、
前記記憶したパケットの転送を許可することを示す転送許可情報を、前記複数のポートのうち、パケットを記憶しているポートに対してラウンドロビン方式によって順番に発行する発行部と、を有するルータにおける転送方法であって、
前記複数のポートのそれぞれが、
パケットを受け付けると、当該パケットの送信先を決定して該送信先を示す転送先情報を前記発行部へ出力するとともに、前記転送許可情報が発行される際の優先度を定める情報として当該パケットの転送完了まで保持される優先度情報の値を所定の基準値に設定する処理と、
前記発行部によって当該ポートに対してフラグ設定指示が出力されると、該フラグ設定指示に応じて、当該ポートの状態を示す情報として記憶しているフラグを設定する処理と、
当該ポートに対して前記転送許可情報が発行されると、前記優先度情報の値を１つインクリメントするとともに、前記交換接続部を占有して前記記憶したパケットを転送する処理と、
前記記憶したパケットの転送が中断した場合には、前記フラグを待機状態として前記交換接続部を解放する処理と、
を実行し、
前記発行部が、
前記複数のポートのいずれかから前記転送先情報を受け取ると、該転送先情報が示す転送先のバッファの空き状態を確認し、該バッファに空きがあれば当該ポートに転送待ち状態のフラグ設定指示を出力し、前記バッファに空きがなければ当該ポートに待機状態のフラグ設定指示を出力し、その後、前記バッファに空きができれば当該ポートに転送待ち状態のフラグ設定指示を出力する処理と、
前記記憶したパケットの転送が中断した場合には、当該転送の転送先のバッファに空きができれば当該転送の送信元のポートに対して転送待ち状態のプラグ設定指示を出力する処理と、
前記交換接続部が解放状態のときに、前記複数のポートのうち、前記フラグが転送待ち状態であるポートの中に、前記優先度情報の値が前記基準値より大きいポートが存在するか否かを確認する処理と、
前記優先度情報の値が前記基準値より大きいポートが存在する場合には、前記優先度情報の値が最大である最優先ポートに対して前記転送許可情報を発行し、前記優先度情報の値が前記基準値より大きいポートが存在しない場合には、前記フラグが転送待ち状態であるポートに対してラウンドロビン方式によって前記転送許可情報を順番に発行する優先発行処理と、
を実行する、転送方法。
【請求項４】
請求項３に記載の転送方法であって、
前記優先発行処理では、前記発行部が、前記優先度情報の値が最大である最優先ポートが複数存在する場合に、該複数の最優先ポートに対してラウンドロビン方式によって前記転送許可情報を順番に発行する、転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワームホールルーティングを行うルータおよび転送方法に関する。
【背景技術】
【０００２】
オンチップネットワークや大規模並列計算機等において、ノード（ルータ）間でデータ（パケット）を転送する方式としてワームホールルーティングと呼ばれるものがある。ワームホールルーティングを行う場合パケットは、フリットという最小転送単位に分割される。
【０００３】
図５は、複数のフリットに分割されたパケットの一例を示す図である。
【０００４】
ワームホールルーティングを行う場合、パケットは図５に示すように、複数のフリットに分割される。なお、複数のフリットのうち、パケットの転送方向に対して先頭のフリットのことをヘッダフリットといい、最後のフリットのことをテイルフリットという。なお、ヘッダフリットは、そのヘッダフリットを含むパケットの宛先を示す情報を記憶している。そして、ヘッダフリットとテイルフリットとの間のフリットのことをボディフリットという。
【０００５】
ここで、複数のポートを有し、その複数のポートのそれぞれが、パケットを受け付けて記憶するバッファを備えるルータを用いてワームホールルーティングを行う場合、その複数のポートのそれぞれに同一の長さのタイムスライスが順番に割り当てられる。
【０００６】
図６は、複数のポートのそれぞれに順番に割り当てられるタイムスライスの一例を示す図である。なお、図６では、ルータがポートＡ〜Ｅの５つのポートを備えている場合を一例として示している。
【０００７】
図６に示す例では、時刻ｔ１１にポートＡにタイムスライスが割り当てられ、時刻ｔ１２にポートＢにタイムスライスが割り当てられる。同様に、時刻ｔ１３、ｔ１４、ｔ１５のそれぞれにポートＣ、ポートＤ、ポートＥのそれぞれにタイムスライスが割り当てられ、そして、時刻ｔ１６に再びポートＡにタイムスライスが割り当てられる。
【０００８】
このように、複数のポートのそれぞれに同一の長さのタイムスライスが順番に割り当てられることにより、その複数のポートのそれぞれが備えるバッファに記憶されたパケットの転送順番が決定される。それとともに、その複数のポートのそれぞれに、パケットを転送する機会が均等に与えられることになる。
【０００９】
図６を参照しながら説明したタイムスライスの割り当てにより、ルータが有する複数のポートのうち、バッファにパケットが記憶されているポートに対してラウンドロビン方式によって転送許可情報が順番に発行されることになる。転送許可情報とは、ポートが備えるバッファに記憶されたパケットの転送を許可することを示す情報である。
【００１０】
複数のポートのそれぞれは、そのポートに対して転送許可情報が発行されると、そのポートが備えるバッファに記憶されたパケットを転送する。なお、転送許可情報が発行されたポートが備えるバッファに記憶されたパケットが転送されている間、他のポートからはパケットを転送することができない。
【００１１】
そして、転送許可情報が発行されたポートが備えるバッファに記憶されたパケットの転送が完了または中断すると、ラウンドロビン方式による転送許可情報の発行が再開される。
【００１２】
なお、ワームホールルーティングを行うルータにおいてパケットを転送する順番を調停するための技術が例えば、非特許文献１に開示されている。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】三浦ほか「ワームホールルーティングにおける仮想チャネルフロー制御」情報処理学会研究報告［ハイパフォーマンスコンピューティング］98(115),59-64,1998.12.11
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ここで、上述したラウンドロビン方式によって転送許可情報が発行されたポートが備えるバッファに記憶されたパケットの転送が中断した場合を考えてみる。なお、パケットの転送が中断する理由としては例えば、そのパケットの転送先のバッファに空きがなくなったこと等である。また、パケットの転送が中断した場合、パケットを構成する複数のフリットの一部がバッファに記憶されたままとなっている。
【００１５】
図７は、複数のポートのそれぞれに順番に割り当てられるタイムスライスの他の例を示す図である。なお、図７では図６と同様に、ルータがポートＡ〜Ｅの５つのポートを備えている場合を一例として示している。
【００１６】
図７に示す例では、時刻ｔ２１においてポートＣにタイムスライスが割り当てられ、ポートＣに対して転送許可情報が発行されてポートＣが備えるバッファに記憶されたパケットが転送される。
【００１７】
そして、時刻ｔ２２において、その転送先のバッファに空きがなくなったため、パケットの転送が中断する。そのため、ラウンドロビン方式による転送許可情報の発行が再開される。
【００１８】
その後、時刻ｔ２３においてその転送先のバッファに空きができるが、ラウンドロビン方式による転送許可情報の発行が継続している。そのため、例えば時刻ｔ２４においてポートＢにタイムスライスが割り当てられ、ポートＢに対して転送許可情報が発行されると、ポートＢが備えるバッファに記憶されたパケットが転送される。
【００１９】
これにより、ポートＣが備えるバッファに記憶されたままのフリットが転送されるまでの時間が長くなる。
【００２０】
複数のポートのそれぞれが備えるバッファは、ヘッダフリットを受け付けてからテイルフリットが転送されるまでの間、次のパケットを受け付けることができない。すなわち、複数のポートのそれぞれは、ヘッダフリットを受け付けてからテイルフリットが転送されるまでの間、そのパケットによって占有されることになる。
【００２１】
そのため、図７に示した例のように、ポートが備えるバッファに記憶されたままのフリットが転送されるまでの時間が長くなると、そのポートが１つのパケットに占有される時間が長くなる。この場合、ルータにおけるパケットの転送効率が低下してしまうという問題点がある。
【００２２】
本発明は、ワームホールルーティングを行う際のパケットの転送効率の低下を抑制することを可能にするルータおよび転送方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記目的を達成するために本発明のルータは、パケットを受け付けて記憶し、該記憶したパケットを転送する複数のポートと、前記記憶したパケットの転送を許可することを示す転送許可情報を、前記複数のポートのうち、パケットを記憶しているポートに対してラウンドロビン方式によって順番に発行する発行部とを有するルータであって、
前記複数のポートのうち、前記転送許可情報が発行されたポートは、前記記憶したパケットを転送し、
前記発行部は、前記転送許可情報が発行されたポートからのパケットの転送が中断した場合、当該ポートに対して優先的に前記転送許可情報を発行する。
【００２４】
また、上記目的を達成するために本発明の転送方法は、パケットを受け付けて記憶し、該記憶したパケットを転送する複数のポートを有し、前記記憶したパケットの転送を許可することを示す転送許可情報を、前記複数のポートのうち、パケットを記憶しているポートに対してラウンドロビン方式によって順番に発行するルータにおける転送方法であって、
前記複数のポートのうち、前記転送許可情報が発行されたポートから、前記記憶したパケットを転送する処理と、
前記転送許可情報が発行されたポートからのパケットの転送が中断した場合、当該ポートに対して優先的に前記転送許可情報を発行する優先発行処理と、を有する。
【発明の効果】
【００２５】
本発明は以上説明したように構成されているので、複数のポートのそれぞれが１つのパケットに占有される時間が長くなるのを回避することができる。
【００２６】
従って、ワームホールルーティングを行う際の転送効率の低下を抑制することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明のルータの実施の一形態の構成を示すブロック図である。
【図２】図１に示したポートの一構成例を示すブロック図である。
【図３】図１および図２に示したルータにおいて転送許可情報を発行する際の動作を説明するためのフローチャートである。
【図４】図１〜図３に示したルータにおいて複数のポートのそれぞれに順番に割り当てられるタイムスライスの一例を示す図である。
【図５】複数のフリットに分割されたパケットの一例を示す図である。
【図６】複数のポートのそれぞれに順番に割り当てられるタイムスライスの一例を示す図である。
【図７】複数のポートのそれぞれに順番に割り当てられるタイムスライスの他の例を示す図である。
【発明を実施するための形態】
【００２８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２９】
図１は、本発明のルータの実施の一形態の構成を示すブロック図である。
【００３０】
本実施形態のルータ１０は図１に示すように、ポート１１−１〜１１−ｎと、ポート１１−１〜１１−ｎのそれぞれに対して転送許可情報を発行する発行部１２と、交換接続部１３とを備えている。なお、ポート１１−１〜１１−ｎのそれぞれは、例えばルータ１０に隣接する相互に異なる複数の隣接ルータ（不図示）のそれぞれと接続されている。
【００３１】
図２は、図１に示したポート１１−１の一構成例を示すブロック図である。なお、ポート１１−２〜１１−ｎも同様の構成である。
【００３２】
ポート１１−１は図２に示すように、ルーティングロジック記憶部１１ａと、転送用情報記憶部１１ｂと、制御部１１ｃと、バッファ１１ｄとを備えている。
【００３３】
バッファ１１ｄは、隣接ルータから送信されてきたパケットを受け付けて記憶する。具体的にはバッファ１１ｄは、受け付けたパケットを構成するフリットを、ヘッダフリット、ボディフリット、テイルフリットの順番で記憶する。そして、バッファ１１ｄは、後述する制御部１１ｃからの指示に応じ、記憶しているフリットを交換接続部１３へ出力する。なお、バッファ１１ｄは、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）に従い、記憶した順番と同じ順番でフリットを出力する。
【００３４】
ルーティングロジック記憶部１１ａは、パケットの転送先を決定するためのルーティングロジックを記憶している。
【００３５】
転送用情報記憶部１１ｂは、転送許可情報が発行される際の優先度を定める情報である優先度情報を記憶している。ここでは、優先度情報は整数値であるものとし、値がより大きいほどより優先度が高いものとする。また、転送用情報記憶部１１ｂは、ポート１１−１の状態を示すフラグを記憶している。ここでは、以下に示す（１）〜（３）の３つの状態のいずれかがフラグによって示されているものとする。
【００３６】
（１）転送待ち状態（転送許可情報が発行されるのを待っている状態）
（２）転送状態（転送許可情報が発行され、バッファ１１ｄに記憶されたパケットを転送している状態）
（３）待機状態（バッファ１１ｄに記憶されたパケットの転送先のバッファに空きがないために転送許可情報が発行されていない状態）
制御部１１ｃは、バッファ１１ｄにヘッダフリットが記憶されたかどうかを確認する。制御部１１ｃは、バッファ１１ｄにヘッダフリットが記憶されたことを確認すると、転送用情報記憶部１１ｂに記憶された優先度情報を、所定の基準値である０に設定する。そして、制御部１１ｃは、記憶されたヘッダフリットに含まれる情報と、ルーティングロジック記憶部１１ａに記憶されたルーティングロジックとに基づき、バッファ１１ｄに記憶されたヘッダフリットを含むパケットの転送先を決定する。そして、制御部１１ｃは、決定した転送先を示す転送先情報を発行部１２へ出力する。また、制御部１１ｃは、発行部１２から出力されたフラグ設定指示を受け付ける。フラグ設定指示は、転送用情報記憶部１１ｂに記憶されたフラグが示す状態を、制御部１１ｃに設定させるための指示である。そして、制御部１１ｃは、転送用情報記憶部１１ｂに記憶されたフラグが示す状態を、受け付けたフラグ設定指示が示す状態に設定する。また、制御部１１ｃは、発行部１２から出力された転送許可情報を受け付ける。そして、制御部１１ｃは、転送用情報記憶部１１ｂに記憶されたフラグが示す状態を転送状態に設定する。それとともに、制御部１１ｃは、転送用情報記憶部１１ｂに記憶された優先度情報を１つインクリメントする。そして、制御部１１ｃは、バッファ１１ｄに記憶されたフリットを交換接続部１３へ出力させる。すなわち、制御部１１ｃは、バッファ１１ｄに記憶されたパケットを転送する。なお、バッファ１１ｄに記憶されたパケットの転送が中断した場合、その後、制御部１１ｃは、発行部１２から出力された転送許可情報を再度受け付けることになる。この場合、制御部１１ｃは、転送用情報記憶部１１ｂに記憶された優先度情報をさらに１つインクリメントする。
【００３７】
再度、図１を参照すると、発行部１２は、ポート１１−１〜１１−ｎのそれぞれから出力された転送先情報を受け付ける。そして、発行部１２は、受け付けた転送先情報が示す転送先のバッファの空き状態を確認する。確認の結果、受け付けた転送先情報が示す転送先のバッファに空きがない場合、発行部１２は、受け付けた転送先情報の出力元のポートに、待機状態を示すフラグ設定指示を出力する。一方、確認の結果、受け付けた転送先情報が示す転送先のバッファに空きがある場合、発行部１２は、受け付けた転送先情報の出力元のポートに、転送待ち状態を示すフラグ設定指示を出力する。また、発行部１２は、ポート１１−１〜１１−ｎのそれぞれの転送用情報記憶部１１ｂに記憶されたフラグを確認し、フラグが転送待ち状態を示すポートに対してラウンドロビン方式によって順番に転送許可情報を発行する。具体的には発行部１２は、フラグが転送待ち状態を示すポートにラウンドロビン方式によって順番に転送許可情報を出力する。但し、このとき、発行部１２は、転送用情報記憶部１１ｂに記憶されたフラグが転送待ち状態を示すポートのうち、転送用情報記憶部１１ｂに記憶された優先度情報がより大きなポートに優先的に転送許可情報を出力する。この動作の詳細については、後述する動作フローにて説明する。また、発行部１２は、転送許可情報を出力するとともに、転送許可情報の出力先のポートから受け付けた転送先情報を交換接続部１３へ出力する。そして、発行部１２は、転送許可情報の出力先のポートからのパケットの転送が完了すると、そのポートから受け付けた転送先情報を削除する。なお、転送許可情報の出力先のポートは、そのポートからのパケットの転送が完了または中断するまで、後述する交換接続部１３を占有する。そして、そのポートからのパケットの転送が完了または中断し、交換接続部１３が解放された後、発行部１２は、次の転送許可情報を出力する。
【００３８】
交換接続部１３は、ポート１１−１〜１１−ｎのそれぞれから出力されたフリットを受け付ける。また、交換接続部１３は、発行部１２から出力された転送先情報を受け付ける。そして、交換接続部１３は、受け付けたフリットを、受け付けた転送先情報が示す転送先へ向けて出力する。つまり、交換接続部１３は、ポート１１−１〜１１−ｎのうちの２つのポートの一方をパケットの入力側のポートとし、もう一方のポートをそのパケットの出力側のポートとして接続する機能を有している。なお、図１では、ポート１１−１にて受け付けられたパケットが、ポート１１−２と接続された隣接ルータを転送先として転送されている状態を太線にて表している。
【００３９】
以下に、上記のように構成されたルータ１０において転送許可情報を発行する際の動作について説明する。
【００４０】
図３は、図１および図２に示したルータ１０において転送許可情報を発行する際の動作を説明するためのフローチャートである。なお、上述したように、ポート１１−１〜１１−ｎのそれぞれの制御部１１ｃは、バッファ１１ｄにヘッダフリットが記憶されたことを確認した後、転送先情報を発行部１２へ出力する。
【００４１】
発行部１２は、受け付けた転送先情報が示す転送先のバッファの空き状態を確認する（ステップＳ１）。
【００４２】
次に、発行部１２は、確認した空き状態に応じたフラグ設定指示を、ポート１１−１〜１１−ｎのうち、受け付けた転送先情報の出力元のポートへ出力する（ステップＳ２）。
【００４３】
次に、発行部１２は、ポート１１−１〜１１−ｎのうち、転送用情報記憶部１１ｂに記憶されたフラグが転送待ち状態を示すポートが存在するかどうかを確認する（ステップＳ３）。
【００４４】
ステップＳ３における確認の結果、ポート１１−１〜１１−ｎのうち、転送用情報記憶部１１ｂに記憶されたフラグが転送待ち状態を示すポートが存在しない場合、ステップＳ１の動作へ遷移する。
【００４５】
一方、ステップＳ３における確認の結果、ポート１１−１〜１１−ｎのうち、転送用情報記憶部１１ｂに記憶されたフラグが転送待ち状態を示すポートが存在する場合、発行部１２は、そのポートのうち、転送用情報記憶部１１ｂに記憶された優先度情報が１以上のポートが存在するかどうかを確認する（ステップＳ４）。
【００４６】
ステップＳ４における確認の結果、転送用情報記憶部１１ｂに記憶された優先度情報が１以上のポートが存在しない場合、発行部１２は、フラグが転送待ち状態を示すポートにラウンドロビン方式によって順番に転送許可情報を出力する（ステップＳ５）。また、発行部１２は、転送許可情報の出力先のポートから受け付けた転送先情報を交換接続部１３へ出力する。
【００４７】
次に、発行部１２は、転送許可情報の出力先のポートのうち、パケットの転送が完了したポートがあるかどうかを確認する（ステップＳ６）。
【００４８】
ステップＳ６における確認の結果、転送許可情報の出力先のうちパケットの転送が完了したポートがある場合、発行部１２は、そのポートから受け付けた転送先情報を削除する（ステップＳ７）。そして、ステップＳ１の動作へ遷移する。
【００４９】
一方、ステップＳ６における確認の結果、転送許可情報の出力先のポートのうちパケットの転送が完了したポートがない場合、ステップＳ１の動作へ遷移する。
【００５０】
ここで、ステップＳ４における確認の結果、転送用情報記憶部１１ｂに記憶された優先度情報が１以上のポートが存在する場合、発行部１２は、転送用情報記憶部１１ｂに記憶されたフラグが転送待ち状態を示すポートの中に、優先度情報が最大である最優先ポートが複数存在するかどうかを確認する（ステップＳ８）。
【００５１】
ステップＳ８における確認の結果、最優先ポートが複数存在する場合、発行部１２は、ラウンドロビン方式によって複数の最優先ポートに順番に転送許可情報を出力する（ステップＳ９）。また、発行部１２は、転送許可情報の出力先のポートから受け付けた転送先情報を交換接続部１３へ出力する。そして、ステップＳ６の動作へ遷移する。
【００５２】
一方、ステップＳ８における確認の結果、最優先ポートが複数存在しない場合、すなわち、最優先ポートが１つだけ存在する場合、発行部１２は、その１つの最優先ポートに転送許可情報を出力する（ステップＳ１０）。また、発行部１２は、転送許可情報の出力先のポートから受け付けた転送先情報を交換接続部１３へ出力する。そして、ステップＳ６の動作へ遷移する。
【００５３】
以上が図１および図２に示したルータ１０において転送許可情報を発行する際の動作である。次に、図３に示した動作による転送許可情報の発行の具体例について説明する。
【００５４】
図４は、図１〜図３に示したルータ１０において複数のポートのそれぞれに順番に割り当てられるタイムスライスの一例を示す図である。なお、図４では、ルータ１０がポートＡ〜Ｅの５つのポートを備えている場合を一例として示している。ポートＡ〜Ｅは、例えば図１に示したポート１１−１〜１１−ｎのうちの５つである。
【００５５】
図４に示す例では、時刻ｔ１においてポートＣにタイムスライスが割り当てられ、ポートＣ対して転送許可情報が発行されてポートＣが備えるバッファに記憶されたパケットが転送される。
【００５６】
そして、時刻ｔ２において、その転送先のバッファに空きがなくなったため、パケットの転送が中断する。そのため、ラウンドロビン方式による転送許可情報の発行が再開される。
【００５７】
その後、時刻ｔ３においてその転送先のバッファに空きができると、ラウンドロビン方式による順番に従えばポートＥにタイムスライスが割り当てられるところであるが、ポートＣにタイムスライスが割り当てられ、ポートＣに対して転送許可情報が発行される。これは、ポートＣが備えるバッファに記憶されたパケットの転送が中断したことにより、ポートＣに対して転送許可情報が再度発行され、ポートＣに記憶された優先度情報が、ポートＡ、ポートＣ、ポートＤおよびポートＥのそれぞれに記憶された優先度情報よりも大きくなっていたためである。
【００５８】
このように本実施形態においてルータ１０は、パケットを受け付けて記憶し、記憶したパケットを転送するポート１１−１〜１１−ｎを有する。また、ルータ１０は、記憶したパケットの転送を許可することを示す転送許可情報を、ポート１１−１〜１１−ｎのうち、パケットを記憶しているポートに対してラウンドロビン方式によって順番に発行する発行部１２を有する。
【００５９】
ポート１１−１〜１１−ｎのうち転送許可情報が発行されたポートは、受け付けたパケットを転送する。
【００６０】
そして、発行部１２は、転送許可情報が発行されたポートからのパケットの転送が中断した場合、当該ポートに対して優先的に転送許可情報を発行する。
【００６１】
これにより、複数のポートのそれぞれが１つのパケットに占有される時間が長くなるのを回避することができる。
【００６２】
従って、ワームホールルーティングを行う際の転送効率の低下を抑制することが可能となる。
【符号の説明】
【００６３】
１０    ルータ
１１−１〜１１−ｎ    ポート
１１ａ    ルーティングロジック記憶部
１１ｂ    転送用情報記憶部
１１ｃ    制御部
１１ｄ    バッファ
１２    発行部
１３    交換接続部
【図１】
0005694064.tif 000002
【図２】
0005694064.tif 000003
【図３】
0005694064.tif 000004
【図４】
0005694064.tif 000005
【図５】
0005694064.tif 000006
【図６】
0005694064.tif 000007
【図７】
0005694064.tif 000008