(57)【要約】【課題】通信システムの性能の低下を抑制しつつ、タイムアウトの検出時間の短縮を図ることが可能なパケット転送制御装置を提供する。【解決手段】パケット転送制御装置１４ａは、パケット管理テーブル２４に関連づけて格納してあるパケット番号と識別番号とを含むリクエストパケットを送信先へ送出する。送信先は、受信したリクエストパケットと同一のパケット番号および識別番号を含むプライパケットをパケット転送制御装置１４ａへ返却する。パケット転送制御装置１４ａはタイムアウトを検出した場合、パケット管理テーブル２４中の識別番号を変更する。比較器２５は、パケット管理テーブル２４において、受信したリプライパケットが含むパケット番号に関連づけられている識別番号と、受信したリプライパケットが含む識別番号とが一致しているか否かを判定する。【選択図】      図２
2005020394.tif 000002
【特許請求の範囲】
【請求項１】
タイムアウト識別情報とパケット識別情報とを関連づけて格納している格納部と、
前記タイムアウト識別情報と、前記パケット識別情報と、転送データとを含むリクエストパケットを生成するリクエストパケット生成部と、
前記リクエストパケット生成部が生成したリクエストパケットを受信装置に送信する送信部と、
前記格納部に格納されているタイムアウト識別情報を、タイムアウト時間に応じた所定のタイミングで変更するタイムアウト識別情報変更部と、
前記受信装置が前記リクエストパケットを受信した際に送信する、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを受信する受信部と、
前記受信部が受信したリプライパケットに含まれるパケット識別情報に関連づけられて前記格納部に格納されているタイムアウト識別情報と、前記受信部が受信したリプライパケットに含まれるタイムアウト識別情報とが一致しているか否かを判定する判定部と
を含むことを特徴とするパケット転送制御装置。
【請求項２】
請求項１に記載のパケット転送制御装置において、
前記リクエストパケット生成部は、前記タイムアウト識別情報変更部により変更されたタイムアウト識別情報と、前記タイムアウト識別情報と関連づけられているパケット識別情報と、転送データとを含むリクエストパケットを生成することを特徴とするパケット転送制御装置。
【請求項３】
請求項１または２に記載のパケット転送制御装置と、転送データを格納する転送データ格納部と、前記転送データ格納部に格納された転送データを読み出す転送データ読出し部とを含み、
前記パケット転送制御装置は、前記転送データ読出し部が読み出した転送データを、前記リクエストパケットに含まれる転送データとすることを特徴とする送信装置。
【請求項４】
請求項３に記載の送信装置と、前記送信処置が送信するリクエストパケットを受信した際に、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを生成し、生成したリプライパケットを前記送信装置に送信する受信装置とを含むことを特徴とする通信システム。
【請求項５】
転送データと、格納部に互いに関連づけて格納されているタイムアウト識別情報とパケット識別情報とを含むリクエストパケットを生成するリクエストパケット生成ステップと、
前記リクエストパケット生成ステップで生成したリクエストパケットを受信装置に送信する送信ステップと、
前記格納部に格納されているタイムアウト識別情報を、タイムアウト時間に応じた所定のタイミングで変更するタイムアウト識別情報変更ステップと、
前記受信装置が前記リクエストパケットを受信した際に送信する、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを受信する受信ステップと、
前記受信ステップで受信したリプライパケットに含まれるパケット識別情報に関連づけられて前記格納部に格納されているタイムアウト識別情報と、前記受信ステップで受信したリプライパケットに含まれるタイムアウト識別情報とが、一致しているか否かを判定する判定ステップと
を含むことを特徴とするパケット転送制御方法。
【請求項６】
請求項５に記載のパケット転送制御方法において、前記リクエストパケット生成ステップは、前記タイムアウト識別情報変更ステップで変更したタイムアウト識別情報と、前記タイムアウト識別情報と関連づけられているパケット識別情報と、転送データとを含むリクエストパケットを生成することを特徴とするパケット転送制御方法。
【請求項７】
請求項５または６に記載のパケット転送制御方法において、
転送データを格納している転送データ格納部から該転送データを読み出す転送データ読出しステップをさらに含み、
前記リクエストパケット生成ステップは、前記転送データ読出しステップで読み出した転送データを、前記リクエストパケットに含まれる転送データとすることを特徴とするパケット転送制御方法。
【請求項８】
請求項５ないし７のいずれかに記載のパケット転送制御方法において、
前記送信ステップで送信したリクエストパケットを受信装置が受信した際に、該受信装置が、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを生成し、生成したリプライパケットを送信するリプライパケット送信ステップをさらに含む
ことを特徴とするパケット転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット転送制御装置、送信装置、通信システムおよびパケット転送制御方法に関する。
【０００２】
【従来の技術】
従来、転送元が転送先へパケット番号を含むリクエストパケットを送信し、そのリクエストパケットを受け取った転送先が、そのリクエストパケットが有するパケット番号を含むリプライパケットを転送元へ返送するパケット通信方式がある。
【０００３】
このようなパケット通信方式において、転送元がリクエストパケットを送信してから転送元がそのリクエストパケットのリプライパケットを受け取るまでの時間をカウントし、この時間が所定時間（タイムアウト時間）を超えた際、すなわちタイムアウト検出時に、リプライパケットが戻ってこないリクエストパケットと同じパケット番号を含み、かつ該リクエストパケットが含む転送データと異なる転送データを含むリクエストパケットを送信するパケット通信方式がある。
【０００４】
しかしながら、従来のパケット通信方式では、タイムアウト検出前に発行されたパケットとタイムアウト検出後に発行されたパケットとの識別を行うことができない。
【０００５】
したがって、タイムアウト検出前に発行されたリクエストパケットのリプライパケットがタイムアウト検出後に転送元に転送されてきた場合、転送元は、タイムアウト検出前に発行されたリクエストパケットのリプライパケットを、タイムアウト検出後に発行されたリクエストパケットのリプライパケットと誤認してしまう可能性がある。この誤認が生じると、転送元は、データの整合性をとることができなくなる。
【０００６】
そのため、タイムアウト検出前に発行されたリクエストパケットのリプライパケットが転送元に確実に転送されてこないことが保証された後に、該リクエストパケットと同じパケット番号を含むリクエストパケットの転送を行わなけばならない。
【０００７】
この理由により、従来のパケット通信方式では、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間を算出し、その算出時間をタイムアウトの検出時間として設定している（特許文献１（特開平１１−２８４６８７号公報）、特許文献２（特表２００２−５４１７２７号公報）および特許文献３（特開２００１−１４８７１０号公報）参照。）。
【０００８】
また、特許文献４（特開２００２−２９０４４２号公報）には、ＴＣＰ／ＩＰプロトコルを用いて通信を行う通信装置において、タイムアウト時間よりも短い所定時間以内に所望のパケットが受信されていない場合、当該パケットの識別情報を含む導通確認データを当該パケットの送信元へ向けて複数回送信し、受信されていない当該パケットの再送を促す通信装置が記載されている。
【０００９】
特許文献４に記載の通信装置の場合、タイムアウト時間が経過する前に、受信されていないパケットの再送を促すので、受信されていないパケットをタイムアウト時間が経過する前に受信することが可能となる。
【００１０】
【特許文献１】
特開平１１−２８４６８７号公報
【特許文献２】
特表２００２−５４１７２７号公報
【特許文献３】
特開２００１−１４８７１０号公報
【特許文献４】
特開２００２−２９０４４２号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、特許文献１と特許文献２および特許文献３に記載されたタイムアウト時間の設定方法を採用したパケット通信方式では、次のような問題があった。
【００１２】
例えば、転送元と転送先の間に多数のクロスバスイッチのようなバス接続装置が介在しているような大規模なシステムの場合は、障害発生時にシステムの性能が大きく低下してしまうという問題である。
【００１３】
その理由は、転送元と転送先の間に多数のクロスバスイッチのようなバス接続装置が介在しているため、パケットの最大転送時間が非常に大きな値となり、タイムアウト時間を大きな値に設定しなければならないためである。
【００１４】
タイムアウト時間を大きな値に設定すると、障害等によるパケット消失時に、転送用パケットを管理するためのパケット管理テーブルのエントリ（転送用パケット管理領域）が長時間占有されてしまい、パケットの同時発行数が制限されてしまい、障害発生時に通信システムの性能が大きく低下してしまう。
【００１５】
なお、タイムアウト時間を大きな値に設定しなければならないという問題は、大規模なシステムに限るものではなく、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間を算出し、その算出時間をタイムアウトの検出時間として設定している場合にも生じる問題である。
【００１６】
また、特許文献４に記載された通信装置の場合、所定時間経過後に受信できなかったと判断した所望のパケットが受信され、その後、再送を促したことにより該所望のパケットが再度受信されるという事態が生じる可能性があり、この事態が生じた場合、データの整合性をとることができなくなる可能性が生じ、通信システムの性能が低下してしまう。
【００１７】
また、特許文献１と特許文献２と特許文献３および特許文献４に記載された通信方式では、転送元から転送先への経路が長距離になる大規模システムの場合、通信障害の発生確率が上昇し、通信システムの性能が低下してしまうという問題が生じる。
【００１８】
その理由は、パケット中のデータの破損の原因となる、パケットの転送距離、および、クロスバスイッチによるパケットの授受回数が多くなり、破損したデータを有するパケットが多く発生する可能性が高くなり、破損したデータを有するパケットを正常のパケットとして処理してしまう可能性が高くなるためである。
【００１９】
本発明は、通信システムの性能の低下を抑制しつつ、タイムアウトの検出時間の短縮を図ることが可能なパケット転送制御装置、送信装置、通信システムおよびパケット転送制御方法を提供することである。
【００２０】
【課題を解決するための手段】
上記課題を解決するため、本発明のパケット転送制御装置は、タイムアウト識別情報とパケット識別情報とを関連づけて格納している格納部と、前記タイムアウト識別情報と、前記パケット識別情報と、転送データとを含むリクエストパケットを生成するリクエストパケット生成部と、前記リクエストパケット生成部が生成したリクエストパケットを受信装置に送信する送信部と、前記格納部に格納されているタイムアウト識別情報を、タイムアウト時間に応じた所定のタイミングで変更するタイムアウト識別情報変更部と、前記受信装置が前記リクエストパケットを受信した際に送信する、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを受信する受信部と、前記受信部が受信したリプライパケットに含まれるパケット識別情報に関連づけられて前記格納部に格納されているタイムアウト識別情報と、前記受信部が受信したリプライパケットに含まれるタイムアウト識別情報とが一致しているか否かを判定する判定部とを含むことを特徴とする。
【００２１】
上記の発明によれば、受信部が受信したリプライパケットに含まれるパケット識別情報に関連づけられて格納部に格納されているタイムアウト識別情報と、受信部が受信したリプライパケットに含まれるタイムアウト識別情報とが一致しているか否かを判定するので、受信したリプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか否かを判定可能となる。
【００２２】
よって、タイムアウト時間を短縮することができ、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【００２３】
また、通信障害によってリプライパケットに含まれるタイムアウト識別番号が不正になった場合、判定部により、受信したリプライパケットが、不正なものであるか否かを識別することが可能となるので、パケットの耐障害性を向上することが可能となり、障害により不正になったパケットによるシステムダウンを防止可能となる。
【００２４】
また、本発明のパケット転送制御装置は、前記リクエストパケット生成部が、前記タイムアウト識別情報変更部により変更されたタイムアウト識別情報と、前記タイムアウト識別情報と関連づけられているパケット識別情報と、転送データとを含むリクエストパケットを生成することを特徴とする。
【００２５】
上記の発明によれば、上記と同様の効果を奏するとともに、リプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか、またはタイムアウト後に生成されたリクエストパケットに応じたものであるかを判定可能となる。
【００２６】
よって、タイムアウト時間を短縮することができ、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【００２７】
また、本発明の送信装置は、前記パケット転送制御装置と、転送データを格納する転送データ格納部と、前記転送データ格納部に格納された転送データを読み出す転送データ読出し部とを含み、前記パケット転送制御装置が、前記転送データ読出し部が読み出した転送データを、前記リクエストパケットに含まれる転送データとすることを特徴とする。
【００２８】
上記の発明によれば、上記と同様の効果を奏する送信装置を提供可能となる。
【００２９】
また、本発明の通信システムは、前記送信装置と、前記送信処置が送信するリクエストパケットを受信した際に、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを生成し、生成したリプライパケットを前記送信装置に送信する受信装置とを含むことを特徴とする。
【００３０】
上記の発明によれば、上記と同様の効果を奏する通信システムを提供可能となる。
【００３１】
また、本発明のパケット転送制御方法は、転送データと、格納部に互いに関連づけて格納されているタイムアウト識別情報とパケット識別情報とを含むリクエストパケットを生成するリクエストパケット生成ステップと、前記リクエストパケット生成ステップで生成したリクエストパケットを受信装置に送信する送信ステップと、前記格納部に格納されているタイムアウト識別情報を、タイムアウト時間に応じた所定のタイミングで変更するタイムアウト識別情報変更ステップと、前記受信装置が前記リクエストパケットを受信した際に送信する、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを受信する受信ステップと、前記受信ステップで受信したリプライパケットに含まれるパケット識別情報に関連づけられて前記格納部に格納されているタイムアウト識別情報と、前記受信ステップで受信したリプライパケットに含まれるタイムアウト識別情報とが、一致しているか否かを判定する判定ステップとを含むことを特徴とする。
【００３２】
上記の発明によれば、受信ステップで受信したリプライパケットに含まれるパケット識別情報に関連づけられて格納部に格納されているタイムアウト識別情報と、受信ステップで受信したリプライパケットに含まれるタイムアウト識別情報とが、一致しているか否かを判定するので、受信したリプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか否かを判定可能となる。
【００３３】
よって、タイムアウト時間を短縮することができ、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【００３４】
また、通信障害によってリプライパケットに含まれるタイムアウト識別番号が不正になった場合、判定部により、受信したリプライパケットが、不正なものであるか否かを識別することが可能となるので、パケットの耐障害性を向上することが可能となり、障害により不正になったパケットによるシステムダウンを防止可能となる。
【００３５】
また、本発明のパケット転送制御方法は、前記リクエストパケット生成ステップが、前記タイムアウト識別情報変更ステップで変更したタイムアウト識別情報と、前記タイムアウト識別情報と関連づけられているパケット識別情報と、転送データとを含むリクエストパケットを生成することを特徴とする。
【００３６】
上記の発明によれば、上記と同様の効果を奏するとともに、リプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか、またはタイムアウト後に生成されたリクエストパケットに応じたものであるかを判定可能となる。
【００３７】
よって、タイムアウト時間を短縮することができ、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【００３８】
また、本発明のパケット転送制御方法は、転送データを格納する転送データ格納部から該転送データを読み出す転送データ読出しステップをさらに含み、前記リクエストパケット生成ステップは、前記転送データ読出しステップで読み出した転送データを、前記リクエストパケットに含まれる転送データとすることを特徴とする。
【００３９】
上記の発明によれば、送信装置が行うパケット転送制御方法において、上記と同様の効果を奏することが可能となる。
【００４０】
また、本発明のパケット転送制御方法は、前記送信ステップで送信したリクエストパケットを受信装置が受信した際に、該受信装置が、該リクエストパケットに含まれるタイムアウト識別情報と該リクエストパケットに含まれるパケット識別情報とを含むリプライパケットを生成し、生成したリプライパケットを送信するリプライパケット送信ステップをさらに含むことを特徴とする。
【００４１】
上記の発明によれば、通信システムが行うパケット転送制御方法において、上記と同様の効果を奏することが可能となる。
【００４２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に示す一実施例に基づき説明する。
【００４３】
図１は、本発明の一実施例の通信システムとしてのコンピュータシステムを示したブロック図である。
【００４４】
図１において、コンピュータシステムは、送受信装置１ａと、送受信装置１ｂと、送受信装置１ｃと、送受信装置１ｄと、クロスバスイッチ１５ａと、クロスバスイッチ１５ｂとを含む。
【００４５】
送信装置および受信装置としての送受信装置１ａは、セル１０ａとパケット転送制御装置１４ａとを含む。送信装置および受信装置としての送受信装置１ｂは、セル１０ｂとパケット転送制御装置１４ｂとを含む。送信装置および受信装置としての送受信装置１ｃは、セル１０ｃとパケット転送制御装置１４ｃとを含む。送信装置および受信装置としての送受信装置１ｄは、セル１０ｄとパケット転送制御装置１４ｄとを含む。
【００４６】
セル１０ａと、セル１０ｂと、セル１０ｃと、セル１０ｄとは、同様の構成なので、以下では、セル１０ａのみを説明し、セル１０ｂと、セル１０ｃと、セル１０ｄとの説明を割愛する。
【００４７】
転送制御部としてのセル１０ａは、プロセッサ１１と、メモリ１２と、メモリコントローラ１３とを含む。
【００４８】
プロセッサ１１は、セル１０ａの動作を制御する。転送データ格納部としてのメモリ１２は、転送データを格納する。転送データ読出し部としてのメモリコントローラ１３は、メモリ１２を制御する。例えば、メモリコントローラ１３は、メモリ１２に格納された転送データの読み出したり、メモリ１２に転送データを格納したりする。
【００４９】
パケット転送制御装置１４ａとパケット転送制御装置１４ｂとは、クロスバスイッチ１５ａと接続されている。また、パケット転送制御装置１４ｃとパケット転送制御装置１４ｄとは、クロスバスイッチ１５ｂと接続されている。また、クロスバスイッチ１５ａは、クロスバスイッチ１５ｂと接続されている。
【００５０】
各パケット転送制御装置１４は、任意のパケット転送制御装置１４とクロスバスイッチ１５を１回または２回経由することで通信を行うことができる。
【００５１】
パケット転送制御装置１４ａと、パケット転送制御装置１４ｂと、パケット転送制御装置１４ｃと、パケット転送制御装置１４ｄとは、同様の構成なので、以下では、パケット転送制御装置１４ａのみを説明し、パケット転送制御装置１４ｂと、パケット転送制御装置１４ｃと、パケット転送制御装置１４ｄとの説明を割愛する。
【００５２】
パケット転送制御装置１４ａは、メモリコントローラ１３と接続されており、メモリコントローラ１３は、プロセッサ１１、および、メモリ１２と接続されている。
【００５３】
パケット転送制御装置１４ａは、メモリコントローラ１３を経由してメモリ１２へアクセスを行うことができる。また、パケット転送制御装置１４ａは、プロセッサ１１からのアクセスをメモリコントローラ１３経由で受けることができる。
【００５４】
なお、本発明の通信システムは、図１に示したネットワーク形態のコンピュータシステムに限るものではなく、図１と異なるネットワーク形態のコンピュータシステムでもよく、適宜変更可能である。
【００５５】
図２は、パケット転送制御装置１４間で送受信されるパケットの構成例を示した説明図である。具体的には、図２（ａ）がリクエストパケットの一例を示し、図２（ｂ）がリプライパケットの一例を示している。
【００５６】
本実施例では、リクエストパケットとリプライパケットとの識別を、パケットの先頭ビットで行う。具体的には、リクエストパケットの先頭ビット１０１を“０”とし、リプライパケットの先頭ビット３０１を“１”として、リクエストパケットとリプライパケットとの識別を行っている。
【００５７】
リクエストパケットは、図２（ａ）に示すように、ヘッダ部１００とデータ部２００とを含む。
【００５８】
リクエストパケットのヘッダ部１００は、先頭ビット１０１と、転送先セル番号１０２と、転送先アドレス１０３と、転送元セル番号１０４と、パケット識別情報としてのパケット番号１０５と、タイムアウト識別情報としての識別番号１０６とを含む。
【００５９】
リクエストパケットのデータ部２００は、転送元セルから転送先セルに転送される転送データ２０１を含む。
【００６０】
リプライパケットは、図２（ｂ）に示すように、ヘッダ部３００のみを含む。
【００６１】
リプライパケットのヘッダ部３００は、先頭ビット３０１と、転送元セル番号３０２と、パケット識別情報としてのパケット番号３０３と、タイムアウト識別情報としての識別番号３０４とを含む。
【００６２】
図３は、パケット転送制御装置１４の一例を示したブロック図である。図３において、図１と同一構成のものには同一符号を附してある。
【００６３】
なお、図３では、パケット転送制御装置１４ａのみを示したが、パケット転送制御装置１４ａと、パケット転送制御装置１４ｂと、パケット転送制御装置１４ｃと、パケット転送制御装置１４ｄとは、同様の構成なので、パケット転送制御装置１４ｂとパケット転送制御装置１４ｃとパケット転送制御装置１４ｄとは、図３と同様の構成を有する。
【００６４】
図３において、パケット転送制御装置１４ａは、パケット制御部２０と、パケット管理テーブル２４と、比較器２５と、パケット受信部２６と、パケット送信部２７と、タイムアウト識別情報変更部２８とを含む。
【００６５】
タイムアウト識別情報変更部２８は、タイマー２１と、アドレス制御部２２と、加算器２３とを含む。
【００６６】
パケット制御部２０は、セル１０ａに含まれるプロセッサ１１またはパケット受信部２６からの要求により、セル１０ａに含まれるメモリ１２に対して、データの読み込み、または、書き込みを行い、必要に応じてパケット送信部２７にパケット送信要求を出す。
【００６７】
格納部としてのパケット管理テーブル２４は、タイムアウト識別情報としての識別番号と、パケット識別情報としてのパケット番号とを関連づけて格納している。
【００６８】
図４は、パケット管理テーブル２４の一例を示した説明図である。
【００６９】
パケット管理テーブル２４には、完了通知アドレス２４２と、タイムアウト識別情報としての識別番号２４３と、カウンター値２４４と、使用中フラグ２４５とが、パケット識別情報としてのパケット番号２４１に関連づけられて格納されている。
【００７０】
具体的には、図４において、パケット番号２４１と、完了通知アドレス２４２と、識別番号２４３と、カウンター値２４４と、使用中フラグ２４５との中で、同じ行に存在するもの同士が関連づけられている。
【００７１】
なお、パケット管理テーブル２４は、パケット番号２４１と、完了通知アドレス２４２と、識別番号２４３と、カウンター値２４４と、使用中フラグ２４５とをデータとして格納している。
【００７２】
パケット管理テーブル２４のエントリ数（図４においては、行数）は任意の値を取ることができるが、このエントリ数により１個のパケット転送制御装置から同時に送出することができるパケットの最大個数が決定する。
【００７３】
図３に戻って、リクエストパケット生成部および送信部としてのパケット送信部２７は、パケット制御部２０からパケット送信要求を受信すると、パケット管理テーブル２４に関連づけて格納されている識別番号２４３とパケット番号２４１とを読み出し、少なくとも、読み出した識別番号２４３およびパケット番号２４１と、受信したパケット送信要求が示す転送データとを含むリクエストパケットを生成し、生成したリクエストパケットを他の送受信装置へ送信する。
【００７４】
パケット送信部２７が生成するリクエストパケットは、具体的には、図２（ａ）に示した形式のリクエストパケットである。
【００７５】
パケット送信部２７が送信したリクエストパケットを受けた送受信装置は、該リクエストパケットに含まれる識別番号１０６と該リクエストパケットに含まれる番号１０５とを含むリプライパケットを生成し、生成したリプライパケットを、リクエストパケットを送信した送受信装置１ａに送信する、。
【００７６】
リクエストパケットを受けた送受信装置が生成するリプライパケットは、具体的には、図２（ｂ）に示した形式のリプライパケットである。
【００７７】
図３に戻って、タイムアウト識別情報変更部２８は、パケット管理テーブル２４に格納されている識別番号２４３を、タイムアウト時間に応じた所定のタイミングで変更する。
【００７８】
具体的には、以下の通りである。
【００７９】
タイマー２１は、一定間隔でアドレス制御部２２に対してパケット管理テーブル２４のカウンター値２４４の加算を指示するカウンター加算指示を出す。
【００８０】
アドレス制御部２２は、パケット番号を保持している。
【００８１】
アドレス制御部２２は、カウンター加算指示を受信すると、アドレス制御部２２が保持しているパケット番号に関連づけられているデータを、パケット管理テーブル２４から読み出す。
【００８２】
アドレス制御部２２は、パケット管理テーブル２４からのデータの読出しが終了すると、アドレス制御部２２が保持しているアドレスに“１”を加算する。
【００８３】
アドレス制御部２２は、読み出したデータの中の使用中フラグ２４５が“１”である場合は、読み出したデータの中のカウンター値２４４に対して“１”を加算器２３によって加算し、加算したカウンター値２４４を、読み出したカウンター値２４４が格納されているパケット管理テーブル２４の領域に書き込み、パケット管理テーブル２４のカウンター値２４４を更新する。
【００８４】
このとき、加算後のカウンター値がある一定の値（タイムアウト時間）を超えてしまった場合は、アドレス制御部２２は、該当パケット番号を含んでいるリクエストパケットは障害により消失したものと判断し、該リクエストパケットはタイムアウトしたと判定する。
【００８５】
タイムアウトしたとの判定に伴い、アドレス制御部２２は、読み出したデータの中の識別番号２４３に“１”を加算し、加算した識別番号２４３を、読み出した識別番号２４３が格納されているパケット管理テーブル２４の領域に書き込み、パケット管理テーブル２４の識別番号２４３を更新する。
【００８６】
受信部としてのパケット受信部２６は、受信したパケットがリプライパケットである場合は、パケット管理テーブル２４をアクセスして、受信したリプライパケットに含まれているパケット番号３０３に関連づけられているデータを読み出し、読み出したデータを比較器２５に出力させる。
【００８７】
判定部としての比較器２５は、パケット管理テーブル２４から入力されるデータに含まれる識別番号２４３と、受信したリプライパケットに含まれる識別番号３０４とが一致しているか否かを判定する。
【００８８】
比較器２５は、パケット管理テーブル２４から入力される識別番号２４３と、受信したリプライパケットに含まれる識別番号３０４とが不一致した場合は、パケット受信部２６に対して、パケット破棄の要求を出す。パケット受信部２６は、パケット破棄の要求に基づき、受信したパケットの破棄を行う。
【００８９】
比較器２５は、パケット管理テーブル２４から入力される識別番号２４３と、受信したリプライパケットに含まれる識別番号３０４とが一致した場合は、パケット受信部２６に対して、完了通知の書き込み要求を出す。パケット受信部２６は、完了通知の書き込み要求に基づき、受信したリプライパケットに含まれている情報をセル１０ａに送信する。
【００９０】
次に、動作の概要を説明する。
【００９１】
本実施例のパケット転送制御方式は、パケット番号と、そのパケット番号に関連づけられたタイムアウト検出用の識別番号とを含むパケットを通信に用いることにより、タイムアウトの検出時間を、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間よりも短縮することができ、かつ、ハードウェア資源を効率よく使用することができるようにするものである。
【００９２】
例えば、パケット転送制御装置１４ａが送信元となり、パケット転送制御装置１４ｃが送信先となる場合の動作の概要を説明する。なお、送信元はパケット転送制御装置１４ａに限るものではなく、送信先もパケット転送制御装置１４ｃに限るものではない。
【００９３】
送信元のパケット転送制御装置１４ａがリクエストパケットを送出する際に、パケット管理テーブル２４に関連づけて格納してあるパケット番号と識別番号とを含むリクエストパケットを生成し、生成したリクエストパケットを、送信先のパケット転送制御装置１４ｃへ送出する。
【００９４】
リクエストパケットを受信した送信先のパケット転送制御装置１４ｃからリプライパケットを送出する際には、受信したリクエストパケットに含まれるパケット番号と識別番号とを含むリプライパケットを生成し、生成したリプライパケットを送信元のパケット転送制御装置１４ａへ返却する。
【００９５】
送信元のパケット転送制御装置１４ａにリプライパケットが戻ってくる前に、送信元のパケット転送制御装置１４ａが、送出したリクエストパケットのタイムアウトを検出した場合は、パケット管理テーブル２４に格納されている、タイムアウトとなったリクエストパケットに含まれている識別番号を変更する。
【００９６】
なお、パケット転送制御装置１４ａが次のリクエストパケットを送出する場合は、変更された識別番号とこの識別番号と関連づけられているパケット番号と転送データとを用いて、次のリクエストパケットを作成し、作成したリクエストパケットを送信先へ送出する。
【００９７】
この場合、タイムアウト検出前に発行されたリクエストパケットに対するリプライパケットと、タイムアウト検出後に発行されたリクエストパケットに対するリプライパケットとの２つのリプライパケットが、送信元のパケット転送制御装置１４ａに返却される可能性がある。
【００９８】
本実施例では、送信元のパケット管理テーブル２４の識別番号と後者のリプライパケットの識別番号は一致するのに対して、送信元のパケット管理テーブル２４の識別番号と前者のリプライパケットの識別番号は不一致するため、すでにタイムアウトとなっている不要な前者のリプライパケットのみを破棄することが可能となる。
【００９９】
次に、動作を具体的に説明する。
【０１００】
なお、以下の説明では、セル１０ａに含まれるプロセッサ１１が、セル１０ａに含まれるメモリ１２からセル１０ｃに含まれるメモリ１２にデータ（転送データ）を転送する場合について説明する。
【０１０１】
ソフトウェアに基づき動作するプロセッサ１１は、メモリコントローラ１３を制御して、メモリ１２の特定の領域に、転送元アドレスと、転送先セル番号と、転送先アドレスと、完了通知アドレスと、転送長とを書き込む。
【０１０２】
続いて、ソフトウェアに基づき動作するプロセッサ１１は、メモリコントローラ１３を制御して、メモリ１２に設定した完了通知アドレスに“０”を書き込む。なお、メモリ１２の完了通知アドレスが“０”であることは、その完了通知アドレスが関連するデータの通信の通信結果が得られていないことを意味する。
【０１０３】
続いて、プロセッサ１１は、メモリコントローラ１３を経由して、メモリ１２から、転送元アドレスと、転送先セル番号と、転送先アドレスと、完了通知アドレスと、転送長とを読み込み、パケット転送制御装置１４ａ内のパケット制御部２０に、読み込んだ転送元アドレスおよび転送先セル番号および転送先アドレスおよび完了通知アドレスおよび転送長とを転送する。
【０１０４】
パケット制御部２０は、転送された転送元アドレスおよび転送長とに基づき、メモリコントローラ１３へ、転送元アドレスが指示するメモリ１２のアドレスから転送長分のデータ（転送データ）を読み出す指示を出力する。
【０１０５】
メモリコントローラ１３は、パケット制御部２０からの指示に基づき、メモリ１２の指定された転送元アドレスから指定された転送長分のデータ（転送データ）を読み出す。メモリ１２は、読み出されたデータ（転送データ）をメモリコントローラ１３へ転送し、メモリコントローラ１３は、転送されたデータ（転送データ）をパケット制御部２０へ転送する。
【０１０６】
パケット制御部２０は、転送された完了通知アドレスおよび転送先セル番号および転送先アドレスおよびメモリ１２から読み出されたデータ（転送データ）とをパケット送信部２７へ転送する。
【０１０７】
パケット送信部２７は、パケット管理テーブル２４の未使用エントリを検索する。なお、未使用のエントリとは、パケット管理テーブル２４において使用フラグ２４５が“０”となっている行（エントリ）のことである。
【０１０８】
パケット管理テーブル２４に未使用エントリが存在しない場合、パケット送信部２７は、パケット管理テーブル２４に未使用エントリができるまで待機する。
【０１０９】
パケット管理テーブル２４に未使用エントリが存在する場合、パケット送信部２７は、未使用エントリの識別番号２４３およびパケット番号２４１とをパケット管理テーブル２４から読み出す。
【０１１０】
パケット送信部２７は、その未使用エントリの使用中フラグ２４５を“１”とし、その未使用エントリのカウンター値２４４を“０”とする。
【０１１１】
パケット送信部２７は、その未使用エントリの完了通知アドレス２４２に、パケット制御部２０から転送されてきた完了通知アドレス“０”を書き込む。
【０１１２】
パケット送信部２７は、パケット制御部２０からの情報と、使用中フラグ２４５を“１”としたパケット管理テーブル２４のエントリのパケット番号２４１および識別番号２４３とを用いて、図２（ａ）に示すようなリクエストパケットを生成し、生成したリクエストパケットをクロスバスイッチ１５ａへ送信する。
【０１１３】
パケット転送制御装置１４中のタイマー２１は、一定間隔でアドレス制御部２２に対して、パケット管理テーブル２４中のカウンター値２４４の加算を指示するカウンター加算指示を出力する。
【０１１４】
アドレス制御部２２は、カウンター加算指示を受信すると、アドレス制御部２２が保持しているパケット番号に関連づけられているデータを、パケット管理テーブル２４から読み出す。
【０１１５】
アドレス制御部２２は、パケット管理テーブル２４からのデータの読み出しが終了すると、アドレス制御部２２が保持しているアドレスに“１”を加算する。
【０１１６】
アドレス制御部２２は、読み出したデータの中の使用中フラグ２４５が“１”である場合は、読み出したデータの中のカウンター値２４４に対して“１”を加算器２３で加算し、加算したカウンター値２４４を、読み出したカウンター値２４４が格納されているパケット管理テーブル２４の領域に書き込み、パケット管理テーブル２４のカウンター値２４４を更新する。
【０１１７】
このとき、加算後のカウンター値２４４が所定の値（タイムアウト時間）を超えてしまった場合は、アドレス制御部２２は、カウンター値２４４と関連づけられているパケット番号を含んでいるリクエストパケットは障害により消失したものと判断し、該リクエストパケットはタイムアウトしたと判定する。
【０１１８】
タイムアウトしたとの判定に伴い、アドレス制御部２２は、読み出したデータに含まれる識別番号２４３に“１”を加算し、加算した識別番号２４３を、読み出した識別番号２４３が格納されているパケット管理テーブル２４の領域に書き込み、パケット管理テーブル２４の識別番号２４３を更新する。
【０１１９】
また、アドレス制御部２２は、タイムアウトしたとの判定に伴い、読み出したデータに含まれている使用中フラグ２４５を“０”とし、“０”とした使用中フラグ２４５を、読み出した使用フラグ２４５が格納されているパケット管理テーブル２４の領域に書き込み、パケット管理テーブル２４の使用フラグ２４５を更新する。
【０１２０】
使用中フラグ２４５が“０”となることにより、パケット送信部２７は、パケット管理テーブル２４のこのエントリを使用して後続のリクエストパケットの生成を行うことが可能となる。具体的には、パケット送信部２７は、タイムアウト識別情報変更部２８により変更された、パケット管理テーブル２４に含まれる識別番号２４３と、この識別番号２４３と関連づけられているパケット番号２４１と、セル１０ａが有する転送データとを含むリクエストパケットを生成する。
【０１２１】
この場合、、タイムアウト後に発行するリクエストパケットの識別番号と、このタイムアウト後に発行するリクエストパケットと同じパケット番号を有する、タイムアウトしたリクエストパケットの識別番号は、異なる値が割り当てられる。
【０１２２】
また、アドレス制御部２２は、読み出したデータに含まれる完了通知アドレス２４２をパケット受信部２６に転送する。なお、パケット受信部２６に転送される完了通知アドレス２４２は“０”である。
【０１２３】
パケット受信部２６は、転送された完了通知アドレス２４２である“０”をパケット制御部２０に転送する。
【０１２４】
パケット制御部２０は、完了通知アドレス２４２である“０”を受けると、セル１０ａに含まれるメモリコントローラ１３へ、メモリ１２に設けてある完了通知アドレスに“−１”を書き込むように指示を出し、メモリコントローラ１３は、メモリ１２に設けてある完了通知アドレスに“−１”を書き込む。
【０１２５】
クロスバスイッチ１５ａは、パケット転送制御装置１４ａからリクエストパケットを受信すると、受信したリクエストパケット中の転送先セル番号１０２に基づき、適当な転送先を決定する。本例の場合は、クロスバスイッチ１５ａは、クロスバスイッチ１５ｂへ、リクエストパケットを送信する。
【０１２６】
クロスバスイッチ１５ｂは、リクエストパケットを受信すると、受信したリクエストパケット中の転送先セル番号１０２に基づき、パケット転送制御装置１４ｃ内のパケット受信部２６へ、受信したリクエストパケットを送信する。
【０１２７】
パケット転送制御装置１４ｃ内のパケット受信部２６は、リクエストパケットを受信すると、パケット転送制御装置１４ｃ内のパケット制御部２０へ、受信したリクエストパケットが含む転送先アドレス１０３および転送元セル番号１０４およびパケット番号１０５および識別番号１０６および転送データ２０１とを転送する。
【０１２８】
パケット転送制御装置１４ｃ内のパケット制御部２０は、セル１０ｃに含まれるメモリコントローラ１３へ、転送先アドレス１０３が示すアドレスに転送データ２０１を書き込むように指示を出す。セル１０ｃに含まれるメモリコントローラ１３は、パケット転送制御装置１４ｃ内のパケット制御部２０からの指示に基づき、転送先アドレス１０３が示すセル１０ｃ内のメモリ１２のアドレスに、転送データ２０１を書き込む。
【０１２９】
パケット転送制御装置１４ｃ内のパケット制御部２０は、パケット転送制御装置１４ｃ内のパケット受信部２６から転送された転送元セル番号１０４およびパケット番号１０５および識別番号１０６とを、パケット転送制御装置１４ｃ内のパケット送信部２７へ転送する。
【０１３０】
パケット転送制御装置１４ｃ内のパケット送信部２７は、転送されたこれらの情報に基づき、図２（ｂ）に示す形式のリプライパケットを生成し、生成したリプライパケットをクロスバスイッチ１５ｂへ送信する。
【０１３１】
クロスバスイッチ１５ｂは、リクエストパケットと同様に、受信したリプライパケット中の転送先セル番号３０２に基づき、リプライパケットも適当な転送先を決定する。本例では、クロスバスイッチ１５ｂは、受信したリプライパケットに含まれる転送先セル番号３０２に基づき、リプライパケットをクロスバスイッチ１５ａへ送信する。
【０１３２】
クロスバスイッチ１５ａは、受信したリプライパケットに含まれる転送先セル番号３０２に基づき、受信したリプライパケットをパケット転送制御装置１４ａ内のパケット受信部２６へ送信する。
【０１３３】
パケット転送制御装置１４ａ内のパケット受信部２６は、リプライパケットを受信すると、受信したリプライパケットに含まれているパケット番号３０３に関連づけられているデータをパケット転送制御装置１４ａ内のパケット管理テーブル２４から読み出し、読み出したデータをパケット転送制御装置１４ａ内のパケット管理テーブル２４からパケット転送制御装置１４ａ内の比較器２５へ出力させる。
【０１３４】
さらに、パケット転送制御装置１４ａ内のパケット受信部２６は、リプライパケットが含むデータをパケット転送制御装置１４ａ内の比較器２５へ出力する。
【０１３５】
パケット転送制御装置１４ａ内の比較器２５は、リプライパケットが含む情報の中の識別番号３０４とパケット転送制御装置１４ａ内のパケット管理テーブル２４から読み出したデータの中の識別番号２４３との比較を行う。
【０１３６】
正常動作している場合、パケット転送制御装置１４ａ内の比較器２５による比較結果は一致となる。
【０１３７】
しかしながら、リプライパケットに応じたリクエストパケットがすでにタイムアウトしていた場合、または障害によりリプライパケットの識別番号が不正になっている場合は、パケット転送制御装置１４ａ内の比較器２５による比較結果は不一致となる。
【０１３８】
パケット転送制御装置１４ａ内の比較器２５による比較結果が不一致の場合は、受信したリプライパケットがすでにタイムアウトとなってしまっているため、または受信したリプライパケットが障害により不正となってしまっているため、パケット転送制御装置１４ａ内の比較器２５は、パケット転送制御装置１４ａ内のパケット受信部２６に対してパケット破棄の要求を出す。パケット転送制御装置１４ａ内のパケット受信部２６は、パケット破棄の要求に基づき、受信したリプライパケットを破棄する。
【０１３９】
識別番号が一致し、かつ、パケット転送制御装置１４ａ内のパケット管理テーブル２４から読み出した情報の中の使用中フラグが“１”の場合、パケット転送制御装置１４ａ内の比較器２５は、パケット転送制御装置１４ａ内のパケット受信部２６に完了通知の書き込み要求を出す。
【０１４０】
パケット転送制御装置１４ａ内のパケット受信部２６は、パケット転送制御装置１４ａ内の比較器２５から出力される完了通知の書き込み要求に基づき、受信したリプライパケットが含むパケット番号３０３を有するパケット管理テーブル２４のエントリ内の使用中フラグ２４５を“０”とし、該エントリ内の完了通知アドレス２４２を“１”とし、“１”とした完了通知アドレス２４２を、パケット転送制御装置１４ａ内のパケット制御部２０へ転送する。
【０１４１】
パケット転送制御装置１４ａ内のパケット制御部２０は、“１”の完了通知アドレス２４２を受信すると、セル１０ａに含まれるメモリコントローラ１３へ、セル１０ａ内のメモリ１２に設けてある完了通知アドレスに“１”を書き込むように指示を出し、セル１０ａ内のメモリコントローラ１３は、この指示に基づいて、セル１０ａ内のメモリ１２の完了通知アドレスに“１”を書き込む。
【０１４２】
セル１０ａ内のプロセッサ１１は、最初のデータ転送の指示をした後は、セル１０ａ内のメモリ１２に設けてある完了通知アドレスのポーリングを行うことにより、データ転送が完了したか否かを知ることができ、完了通知アドレスが“１”の場合はデータ転送が正常に終了したと判断してデータ転送の継続処理を行い、完了通知アドレスが“−１”の場合はデータ転送が異常な状態で終了したと判断して異常状態に応じた適当な例外処理を行う。
【０１４３】
本実施例は、パケット受信部２６が受信したリプライパケットに含まれるパケット番号に関連づけられてパケット管理テーブル２４に格納されている識別番号と、パケット受信部２６が受信したリプライパケットに含まれる識別番号とが一致しているか否かを判定するので、受信したリプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか否かを判定可能となる。
【０１４４】
よって、タイムアウト時間を、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間よりも短縮することができ、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【０１４５】
また、通信障害によってリプライパケットに含まれるタイムアウト識別番号が不正になった場合、比較器２５により、受信したリプライパケットが、不正なものであるか否かを識別することが可能となるので、パケットの耐障害性を向上することが可能となり、障害により不正になったパケットによるシステムダウンを防止可能となる。
【０１４６】
また、パケット送信部２７が、タイムアウト識別情報変更部２８により変更されたパケット管理テーブル２４に含まれる識別番号２４３と、この識別番号２４３と関連づけられているパケット番号２４１と、セル１０ａが有する転送データとを含むリクエストパケットを生成するので、リプライパケットが、タイムアウト前に生成されたリクエストパケットに応じたものであるか、またはタイムアウト後に生成されたリクエストパケットに応じたものであるかを判定可能となる。
【０１４７】
よって、タイムアウト時間を、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間よりも短縮することが可能となり、ハードウェア資源を効率よく使用可能となり、障害発生時の通信システムの性能低下を低減することが可能となる。
【０１４８】
なお、本実施例では、４つの送受信装置を用いたが、送受信装置の数は４に限るものではなく、適宜変更可能である。
【０１４９】
また、本実施例では、２つのクロスバスイッチを用いたが、クロスバスイッチの数は２に限るものではなく、適宜変更可能である。
【０１５０】
また、本実施例では、クロスバスイッチを介して送受信装置間を接続しているが、送受信装置間の接続はクロスバスイッチに限るものではなく、適宜変更可能である。
【０１５１】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０１５２】
【発明の効果】
本発明によれは、以下の効果を奏する。
【０１５３】
第１の効果は、タイムアウトの検出時間を短縮することができるということである。そのため、ハードウェア資源を効率よく使用でき、障害発生時のシステムの性能低下を低減することができる。
【０１５４】
その理由は、タイムアウト前に発行されたパケットとタイムアウト後に発行されたパケットを識別することができるため、従来のように、タイムアウト検出時間を、転送元がリクエストパケットを発行してからリプライパケットを受け取るまでの最大転送時間とする必要がなく、この最大転送時間だけ待機する必要がないからである。
【０１５５】
第２の効果は、パケットの耐障害性を向上することができるということである。そのため、障害パケットによるシステムダウンを防止することができる。
【０１５６】
その理由は、障害によりパケットの識別番号が不正になった場合は、識別番号が不一致するため、不正になったパケットを検出できるためである。
【図面の簡単な説明】
【図１】本発明の一実施例の通信システムを示したブロック図である。
【図２】図１に示した通信システムで用いるリクエストパケットおよびリプライパケットとを示した説明図である。
【図３】図１に示したパケット転送制御装置１４の一例を示したブロック図である。
【図４】図３に示したパケット管理テーブル２４が格納する情報の一例を示した説明図である。
【符号の説明】
１ａ      送受信装置
１ｂ      送受信装置
１ｃ      送受信装置
１ｄ      送受信装置
１０ａ    セル
１０ｂ    セル
１０ｃ    セル
１０ｄ    セル
１１      プロセッサ
１２      メモリ
１３      メモリコントローラ
１４ａ    パケット転送制御装置
１４ｂ    パケット転送制御装置
１４ｃ    パケット転送制御装置
１４ｄ    パケット転送制御装置
１５ａ    クロスバスイッチ
１５ｂ    クロスバスイッチ
２０      パケット制御部
２１      タイマー
２２      アドレス制御部
２３      加算器
２４      パケット管理テーブル
２５      比較器
２６      パケット受信部
２７      パケット送信部
２８      タイムアウト識別情報変更部
【図１】
2005020394.tif 000003
【図２】
2005020394.tif 000004
【図３】
2005020394.tif 000005
【図４】
2005020394.tif 000006