(57)【要約】  データの送信元装置（３）と、送信先装置（３）と、前記送信元及び送信先装置（３）間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを転送する１以上のデータ転送装置（２）と、をそなえ、前記データ転送装置（２）は、入力される転送データを自データ転送装置（２）に接続される転送先（２，３）ごとに格納する複数の格納部（６１）と、前記複数の格納部（６１）に格納された転送データを、前記複数の転送先（２，３）のいずれかへ選択的に切り替えて出力する切替部（６２）と、前記切替部（６２）から一の転送経路を経由した一の転送先（２，３）へのデータ転送の状態に応じて、前記一の転送先（２，３）に対応する格納部（６１）に格納された前記一の転送先（２，３）への転送データを、前記複数の異なる転送経路に含まれる他の転送先（２，３）へ出力するように前記切替部（６２）を制御する制御部（６３）と、を有する。
2015083212.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する複数のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、情報処理装置。
【請求項２】
前記データ転送装置は、
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項２記載の情報処理装置。
【請求項４】
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記データ転送装置は、
入力される転送データの前記複数の格納部への格納を抑止する抑止部をさらに有し、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、請求項２又は請求項３記載の情報処理装置。
【請求項５】
前記データ転送装置は、
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、請求項１〜５のいずれか１項記載の情報処理装置。
【請求項７】
前記制御部は、前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、請求項１〜６のいずれか１項記載の情報処理装置。
【請求項８】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、データ転送装置。
【請求項９】
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項８記載のデータ転送装置。
【請求項１０】
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項９記載のデータ転送装置。
【請求項１１】
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、請求項８〜１０のいずれか１項記載のデータ転送装置。
【請求項１２】
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、請求項８〜１１のいずれか１項記載のデータ転送装置。
【請求項１３】
前記制御部は、前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、請求項８〜１２のいずれか１項記載のデータ転送装置。
【請求項１４】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する１以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう
ことを特徴とする、データ転送方法。
【請求項１５】
前記一の転送先に対応する格納部に格納された転送データについて、保持部に保持された前記転送データの１以上の転送先に関する転送先情報に前記他の転送先が含まれる場合、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項１４記載のデータ転送方法。
【請求項１６】
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項１５記載のデータ転送方法。
【請求項１７】
入力される転送データの前記複数の格納部への格納を抑止し、
前記転送データの前記複数の格納部への格納が抑止されている場合に、
前記代替出力処理を行ない、
前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、請求項１５又は請求項１６記載のデータ転送方法。
【請求項１８】
前記代替出力処理において、前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部のうちの一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、請求項１４〜１７のいずれか１項記載のデータ転送方法。
【請求項１９】
前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データを対応する格納部へ順次出力し、
前記切替部から前記一の転送先へのデータ転送の状態が所定の条件を満たした場合に、前記受付格納部から出力中の転送データの出力が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止し、
前記代替出力処理が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を再開する
ことを特徴とする、請求項１４〜１８のいずれか１項記載のデータ転送方法。
【請求項２０】
前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、請求項１４〜１９のいずれか１項記載のデータ転送方法。
【請求項２１】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、を有する
ことを特徴とする、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理装置，データ転送装置，データ転送方法，および制御装置に関する。
【背景技術】
【０００２】
サーバやPersonal Computer（ＰＣ）等のコンピュータを用いた情報処理システム（情報処理装置）における装置間の通信において、１つの送信先の装置に対して複数の送信元の装置からデータが転送されることがある。ここで、装置としては、Large Scale Integration（ＬＳＩ）等の集積回路、例えば、Central Processing Unit（ＣＰＵ）等のプロセッサやメモリ、Input/Output（Ｉ／Ｏ）装置、メモリコントローラ、Ｉ／Ｏコントローラ等が挙げられる。以下、装置をＬＳＩともいう。このような情報処理システムでは、複数の装置間を相互に接続するために、転送するデータを選択し調停する機構の一例であるクロスバ等のデータ転送装置が用いられることがある。【０００３】
データ転送装置は、複数の送信元からデータを入力された際にどの送信元からのデータを転送するかを選択する制御回路と、制御回路により選択されなかったデータを先入れ先出し（First In First Out；ＦＩＦＯ）で格納するキューとをそなえることができる。
なお、関連する技術として、異なる冗長構成が可能なネットワーク転送装置が知られている（例えば、特許文献１参照）。ネットワーク転送装置は、例えば、パケット送信先に接続されたクロスバスイッチに障害が発生すると、パケット送信元からサブクロスバスイッチへのパケット送信を停止することができる。このネットワーク転送装置は、クロスバスイッチ及びサブクロスバスイッチにパケットが存在しなくなると、サブクロスバスイッチ内の出力バッファとポートとの接続を切り替えて、サブクロスバスイッチを予備系のクロスバスイッチと接続することができる。【０００４】
また、関連する他の技術として、転送先（出力ポート）ごとに１以上の入力キューをそなえるクロスバが知られている（例えば、特許文献２参照）。このクロスバは、例えば、入力ポートごとに、入力キューが多段に配設され、且つ入力キューがデータ転送先の出力ポートごとに配設された入力キュー群をそなえることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２６０３６８号公報
【特許文献２】特開２００６−３９６７７号公報
【特許文献３】国際公開第２０１０／１０３６１０号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データ転送装置は、出力ポートに対向する（接続された）対向ＬＳＩへのデータ転送において、対向ＬＳＩ又は対向ＬＳＩまでの転送路で発生する障害や混雑等により、対向ＬＳＩ（転送先）へのデータ転送に失敗する場合がある。
データの送信元から送信先への転送経路が複数存在し、データ転送装置から２以上の対向ＬＳＩのいずれにデータを転送しても送信先にデータが到達する場合には、データ転送装置は、迂回路として他の出力ポートを介してデータ転送を行なうことも考えられる。【０００７】
しかしながら、上述した転送先（出力ポート）ごとに入力キュー（バッファ）をそなえるデータ転送装置では、迂回路として他の出力ポートを介してもデータ転送を行なうことが困難な場合がある。その理由は、上述したデータ転送装置は、入力キュー及び出力ポートと１つの対向ＬＳＩとが対応付けられるため、入力キューに格納されたデータを他の対向ＬＳＩに対応する出力ポートに転送することが困難な場合があるためである。【０００８】
このように、転送先ごとに入力キュー（格納部）を有するデータ転送装置では、データの送信元から送信先への転送経路が複数存在する場合でも、障害や混雑等により、データ転送が困難になる場合があるという課題がある。
ここまで、装置がプロセッサやメモリ、各種コントローラ等のＬＳＩ（集積回路）であるものとして説明したが、上述した課題は、これらＬＳＩ（集積回路）間の通信に限られるものではない。上述した課題は、装置が、例えばＣＰＵやメモリ等をそなえるシステムボード等のコンピュータ、Ｉ／Ｏボード、ネットワークインタフェース等であり、データ転送装置がこれらの装置間でデータ転送を行なう装置であっても同様に生じ得る。【０００９】
１つの側面では、本発明は、データの転送先の故障や混雑等が発生しても、データを確実に転送することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１０】
本件のデータ転送方法は、データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、１以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法である。前記１以上のデータ転送装置は、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する。そして、本件のデータ転送方法は、入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納する。また、本件のデータ転送方法は、前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得する。さらに、本件のデータ転送方法は、取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう。
【発明の効果】
【００１１】
一実施形態によれば、データの転送先の故障や混雑等が発生しても、データを確実に転送することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る情報処理システムの一例を示す図である。
【図２】図１に示す情報処理システムの構成例を示す図である。
【図３】一実施形態に係るクロスバの対比例としてのクロスバの構成を示す図である。
【図４】一実施形態に係るクロスバの対比例としてのクロスバの構成を示す図である。
【図５】図２に示す情報処理システムの詳細な構成例を示す図である。
【図６】図５に示すクロスバが保持するルーティングテーブルのデータ構造の一例を示す図である。
【図７】図５に示す管理部が保持する管理情報のデータ構造の一例を示す図である。
【図８】図５に示す管理部のハードウェア構成例を示す図である。
【図９】図５に示すクロスバの受付ポートにおける再送処理の動作例を説明するフローチャートである。
【図１０】図５に示すクロスバの入力ポートにおける再送処理の動作例を説明するフローチャートである。
【図１１】図５に示す管理部におけるルーティングテーブルの更新処理の動作例を説明するフローチャートである。
【図１２】図５に示す受付ポートの構成の実施例を示す図である。
【図１３】図５に示す入力ポートの構成の実施例を示す図である。
【図１４】図１３に示す入力ポートにおける入力キューの制御手法の一例を説明する図である。
【図１５】図１３に示す入力ポートにおけるタイミングチャートの一例を示す図である。
【図１６】図５に示す出力ポートの構成の実施例を示す図である。
【図１７】一実施形態の第１変形例に係るルーティングテーブルのデータ構造を示す図である。
【図１８】一実施形態の第２変形例に係るルーティングテーブルのデータ構造を示す図である。
【図１９】一実施形態の第３変形例に係る再送ステートマシンの構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して実施の形態を説明する。
〔１〕一実施形態
〔１−１〕情報処理システムの構成例
はじめに、図１及び図２を参照して、一実施形態の一例としての情報処理システム１の構成例を説明する。図１は、一実施形態に係る情報処理システム１の一例を示す図であり、図２は、図１に示す情報処理システム１の構成例を示す図である。
【００１４】
図１に示すように、情報処理システム１は、クロスバ部２０、複数（図１に示す例では６つ）の装置３、及び管理部４をそなえる。
装置３は、データを送信する送信元装置、及び、送信元装置から送信されたデータを受信する送信先装置のうちの少なくとも一方の機能をそなえる。図２に示す例では、装置３Ｄ〜３Ｆは送信元装置の機能をそなえ、装置３Ａ〜３Ｃは送信先装置の機能をそなえる。
【００１５】
送信元装置としての装置３Ｄ〜３Ｆは、送信するデータをフレーム（Frame）又はパケット（Packet）（以下、これらをまとめて単にフレームという）単位に分割して送信することができる。このとき、装置３Ｄ〜３Ｆは、送信する各フレームに、送信先装置（３Ａ〜３Ｃ）を特定するための情報（宛先情報）を付加することができる。
送信先装置としての装置３Ａ〜３Ｃは、クロスバ部２０を介して送信元装置３Ｄ〜３Ｆからフレームを受信し、受信したフレームから送信元装置３Ｄ〜３Ｆが送信したデータを取得することができる。
【００１６】
装置３としては、ＬＳＩ等の集積回路、例えば、ＣＰＵ等のプロセッサや、メモリ、Ｉ／Ｏ装置、メモリコントローラ、Ｉ／Ｏコントローラ等が挙げられる。また、装置３としては、例えば、ＣＰＵやメモリ等をそなえるシステムボードや、Ｉ／Ｏコントローラやカードスロット又は記憶装置等をそなえるＩ／Ｏボード等の各種装置、又は、サーバやＰＣ、ストレージ装置等のコンピュータ等も挙げられる。
【００１７】
クロスバ部２０は、複数の装置３間に介設され、データの送信元装置３Ｄ〜３Ｆから送信されたデータを送信先装置３Ａ〜３Ｃへ転送する。クロスバ部２０は、１以上のクロスバ２（クロスバ群）をそなえることができる。以下、クロスバ部２０は、図２に例示するように９つのクロスバ２Ａ〜２Ｉ（以下の説明においてクロスバ２Ａ〜２Ｉを区別しない場合には単に符号２で示す）をそなえるものとして説明する。
【００１８】
複数のクロスバ２は、送信元装置３Ｄ〜３Ｆと送信先装置３Ａ〜３Ｃとの間に介設されるとともに、各々が他の１以上のクロスバ２と相互に通信可能に接続される。そして、複数のクロスバ２は、複数の異なる転送経路のうちのいずれかを介してデータ（フレーム）を送信元装置３Ｄ〜３Ｆから送信先装置３Ａ〜３Ｃへ転送する。
なお、以下、転送経路には、送信元装置３Ｄ〜３Ｆと送信先装置３Ａ〜３Ｃとの間の１以上のクロスバ２及び１以上のデータパス（転送路）を介した経路が含まれる。転送路としては、システムバスを含む各種バスや、Local Area Network（ＬＡＮ），ファイバチャネル（Fibre Channel），インフィニバンド（InfiniBand）等のケーブル、または無線通信路等が挙げられる。また、複数の異なる転送経路には、経由するクロスバ２及びデータパスの少なくとも１つが互いに異なる複数の経路が含まれる。さらに、以下、転送先には、クロスバ２の出力ポートに対向する対向ＬＳＩ、つまりデータパス（転送路）を介して出力ポートに接続される送信先装置３Ａ〜３Ｃ又はクロスバ２を含む対向ＬＳＩが含まれる。
【００１９】
管理部４は、複数のクロスバ２の各々と相互に通信可能に接続され、各クロスバ２がそなえるルーティングテーブルを管理する。管理部４の詳細については、後述する。
〔１−２〕クロスバの対比例
ここで、図３及び図４を参照して、図２に示すクロスバ２の説明のために、クロスバ２の対比例としてのクロスバ２００Ａ及び２００Ｂについて説明する。図３及び図４は、それぞれ一実施形態に係るクロスバ２の対比例としてのクロスバ２００Ａ及び２００Ｂの構成を示す図である。クロスバ２００Ａ及び２００Ｂは、図２に示すクロスバ２に代えて情報処理システム１に適用することができる。以下、３入力３出力のクロスバ２００Ａ及び２００Ｂ（図２に示すクロスバＡ〜Ｃ，Ｇ〜Ｉに対応）を例に挙げて説明する。
【００２０】
クロスバ２００Ａは、図３に例示するように、受付ポート５００、入力ポート６００Ａ、出力ポート８００、及び接続部９００をそれぞれ複数（図３の例ではそれぞれ３つ）そなえるとともに、１つのルーティング部７００をそなえる。
なお、図３では、図の簡略化のため、受付ポート５００、入力ポート６００Ａ、出力ポート８００、及び接続部９００の構成例をそれぞれ１つ図示するが、他の受付ポート５００、入力ポート６００Ａ、出力ポート８００、及び接続部９００についても同様である。
【００２１】
受付ポート５００は、メモリ又はレジスタ等の保持部５１０をそなえる。メモリとしては、例えばRandom Access Memory（ＲＡＭ）等の揮発性メモリが挙げられる。保持部５１０は、宛先情報と出力ポート８００の番号等の出力ポート８００を特定するための情報とが対応付けられたルーティングテーブル５２０を保持する。受付ポート５００は、ルーティングテーブル５２０を検索して、入力されるフレームに含まれる宛先情報からフレームを出力する出力ポート８００を特定し、フレームと特定した出力ポート８００の情報とを入力ポート６００Ａへ出力する。なお、ルーティングテーブル５２０は、管理部４により登録及び更新されてもよい。
【００２２】
入力ポート６００Ａは、全宛先（転送先）で共通に用いられる入力キュー６１０Ａをそなえ、受付ポート５００から入力されるデータを入力キュー６１０Ａに格納する。入力キュー６１０ＡはＦＩＦＯのデータ構造とすることができる。
ルーティング部７００は、各入力ポート６００Ａ内の入力キュー６１０Ａと、各出力ポート８００内の各出力キュー８１０との間を接続し、入力キュー６１０Ａからルーティング部７００に入力されたフレームを、対応する出力キュー８１０へ出力する。
【００２３】
出力ポート８００は、複数の送信元に対応する複数（図３の例では３つ）の出力キュー８１０とセレクタ８２０とをそなえる。出力キュー８１０は、入力キュー６１０Ａと同様にＦＩＦＯのデータ構造とすることができる。出力ポート８００は、入力キュー６１０Ａの先頭のフレームを選択し、ルーティング部７００を介して出力キュー８１０に格納する。なお、出力ポート８００により入力キュー６１０Ａの先頭のフレームが選択されない場合、当該先頭のフレームも後続のフレームも転送先の出力ポート８００に出力されない。
【００２４】
接続部９００は、配線やケーブル、ソケット等により転送先の対向ＬＳＩと接続され、出力ポート８００から出力されるフレームを転送する。
クロスバ２００Ｂは、図４に例示するように、図３に示すクロスバ２００Ａの入力ポート６００Ａとは異なる入力ポート６００Ｂをそなえる。
入力ポート６００Ｂは、宛先（転送先）ごとに入力キュー６１０Ｂをそなえ、受付ポート５００から入力されるフレームを、出力ポート８００の情報に基づき転送先ごとに入力キュー６１０Ｂに振り分けて格納する。各入力キュー６１０Ｂは、入力キュー６１０Ａと同様にＦＩＦＯのデータ構造とすることができる。なお、入力ポート６００Ｂ以外の構成はクロスバ２００Ａと同様であるため、詳細な説明を省略する。
【００２５】
上記のような構成により、クロスバ２００Ｂは、入力キュー６１０Ｂの先頭が転送先の数だけ存在することになるため、出力ポート８００でのフレームの選択を並列して行なうことができる。従って、クロスバ２００Ｂでは、先頭のフレームが選択されないことにより、他の出力ポート８００宛ての後続のフレームが待たされることがないため、図３に示すクロスバ２００Ａと比較してスループットの向上が期待できる。
【００２６】
なお、図３及び図４に示す例では、出力ポート８００は、複数の出力キュー８１０をそなえるが、これらの出力キュー８１０は省略されてもよい。また、クロスバ２００Ａ及び２００Ｂは、レイテンシ向上のため、入力ポート６００Ａ及び６００Ｂ内の入力キュー６１０Ａ及び６１０Ｂ、並びに／又は、出力ポート８００内の出力キュー８１０のエントリが空の場合には、これらのキューをバイパスさせてもよい。
【００２７】
ところで、クロスバ２００Ａ及び２００Ｂは、出力ポート８００の出力キュー８１０に、対向ＬＳＩ（転送先）へ出力したデータを保持しておくリトライ機能をそなえ、データ転送においてエラーが発生した場合にデータ転送のリトライを行なうこともできる。エラーが発生する要因としては、ＬＳＩ間の配線の切断やデータを中継する装置の故障等の継続的な故障（固定故障）、ＬＳＩへの中性子ヒット、電磁波、熱等の影響による一時的な故障（間欠故障）等が挙げられる。
【００２８】
クロスバ２００Ａ及び２００Ｂは、データ転送において間欠故障によるエラーが発生しても、リトライ機能によりデータ転送をリトライすることで、間欠故障の自然復旧後にデータ転送を成功させてエラーを回避できる場合がある。
一方、データ転送において固定故障によるエラーが発生した場合、クロスバ２００Ａ及び２００Ｂは、ＬＳＩ間でデータ転送をリトライしても、固定故障への対処がなされなければ、対向ＬＳＩへエラーや損失のないデータを転送することは困難な場合がある。また、データ転送においてビジー又はＬＳＩ間の輻輳等による混雑が生じている場合にも同様である。つまり、クロスバ２００Ａ及び２００Ｂは、データ転送において混雑が生じている対向ＬＳＩに対応する入力キュー６１０Ａ又は６１０Ｂからのデータを、空いている他の対向ＬＳＩに対応する出力ポート８００に切り替えることは難しい。
【００２９】
クロスバ２００Ａについては、固定故障及び混雑が生じている場合、以下の機能を持たせることでエラーを回避できる場合がある。例えば、クロスバ２００Ａは、入力キュー６１０Ａから出力ポート８００にフレームを送信しただけでは、当該フレームを入力キュー６１０Ａから解放しないようにすればよい。一例として、クロスバ２００Ａは、出力ポート８００の対向ＬＳＩが正しくフレームを受信したことを確認できた場合に、入力キュー６１０Ａから当該フレームを解放すればよい。なお、対向ＬＳＩは、例えば、フレームを１つ正しく受信したら受信確認信号（Acknowledge信号）を返信する等の手法により、ＬＳＩが正しくフレームを受信したか否かを、クロスバ２００Ａに通知することができる。
【００３０】
仮に、或る出力ポート８００と対向ＬＳＩとの間での接続に故障が発生し、クロスバ２００Ａが正しくフレームを送信できない場合、クロスバ２００Ａは、故障が発生した経路へのデータ転送を一時停止することができる。そして、管理部４が情報処理システム１全体を停止させることなく動的にルーティングテーブル５２０を更新し、出力ポート８００は、入力キュー６１０Ａで記憶していたフレームを迂回路へ転送すればよい。これにより、クロスバ２００Ａは、フレームを失わずに目的地へ転送することができる。
【００３１】
しかしながら、上述のように、図３に示すクロスバ２００Ａは、図４に示すクロスバ２００Ｂに比べてスループットが低い。そこで、クロスバ２００Ｂにおいても、上記のクロスバ２００Ａのように動的にルーティングテーブル５２０を更新し、迂回路へのフレームの転送を行なわせることが望ましい。しかし、クロスバ２００Ｂでは、入力ポート６００Ｂの入力キュー６１０Ｂが転送先ごとに分かれているため、各入力キュー６１０Ｂに既に格納されているフレームを迂回路へ転送することは困難である。
【００３２】
そこで、一実施形態の一例としての情報処理システム１は、図４に示すクロスバ２００Ｂのように転送先ごとに入力キューを有するスループット向上型のクロスバ２において、動的な転送経路の変更を可能とするものである。すなわち、以下に詳述するように、一実施形態の一例としての情報処理システム１は、クロスバ２を有し、データの送信元から送信先への転送経路が複数存在する場合に、データの転送先の故障や混雑等が発生しても、データを確実に転送することができる。
【００３３】
〔１−３〕情報処理システムにおける転送経路の変更手法
図２の説明に戻り、情報処理システム１における転送経路の変更手法の説明を行なう。なお、便宜上、図２に示すように、クロスバ２Ａ〜２ＩをそれぞれクロスバＡ〜Ｉと表記し、装置３Ａ〜３Ｆを装置Ａ〜Ｆと表記して説明する場合がある。
情報処理システム１は、図２に示すように、データ転送でＬＳＩを通過する転送経路が複数存在するように、ＬＳＩ間を接続することができる。例えば、複数の装置３は、それぞれ異なる１つのクロスバ２と接続され、複数のクロスバ２は、それぞれ２〜４つの他のクロスバ２と接続される。なお、ＬＳＩ間（装置３−クロスバ２間、及び２つのクロスバ２間）は、双方向に通信可能に電気的に接続されることが好ましい。つまり、一方のＬＳＩの入力ポートと他方のＬＳＩの出力ポートとが電気的に接続されるとともに、一方のＬＳＩの出力ポートと他方のＬＳＩの入力ポートとが電気的に接続されることが好ましい。
【００３４】
情報処理システム１（クロスバ２）は、例えば下記（ａ）〜（ｃ）のいずれかの場合に、該当ＬＳＩ間のデータ転送を止めて、異なる転送経路を経由してデータ転送を行なう（データ転送を継続する）。
（ａ）クロスバ２がＬＳＩ間のデータ転送を一定回数リトライしてもエラーが解消されない場合。
【００３５】
（ｂ）クロスバ２がフレームを出力したにもかかわらず、送信先ＬＳＩからフレーム受信完了通知を受信せず、タイムアウトした場合。
（ｃ）クロスバ２の出力ポートが、迂回路の出力ポートと比べて混雑している場合。
例えば、図２に示す情報処理システム１において、送信元装置３Ｄ〜３Ｆから送信先装置３Ａ〜３Ｃへの転送経路が以下の転送経路となるように、管理部４により各クロスバ２のルーティングテーブルが設定されている場合を想定する。
【００３６】
装置Ｄ−クロスバＧ−クロスバＤ−クロスバＡ−装置Ａ（最短経路）
クロスバＧ−クロスバＤ間の配線が故障した場合、情報処理システム１は、上記の最短経路を経由してデータを装置Ａまで転送することができなくなる。そこで、情報処理システム１（管理部４）は、転送経路が、経由するクロスバ２の数（ホップ数）が最短経路の次に少ない以下のいずれかとなるように変更することで、データを装置Ａまで転送することができる。なお、経由するクロスバ２の数が増加し、装置Ａまでのデータの到達時間が余計にかかるが、情報処理システム１は、以下の２つ以外の転送経路を選択してもよい。
【００３７】
装置Ｄ−クロスバＧ−クロスバＨ−クロスバＥ−クロスバＤ−クロスバＡ−装置Ａ
装置Ｄ−クロスバＧ−クロスバＨ−クロスバＥ−クロスバＢ−クロスバＡ−装置Ａ
情報処理システム１は、上述した転送経路の変更を行なうために、クロスバＧに入力する装置Ａ宛てのフレームを、クロスバＤへの転送からクロスバＨへの転送に切り替えることができればよい。クロスバＨに入力される装置Ａ宛てのフレームは、クロスバＨのルーティングテーブルの設定によってクロスバＥに転送される。クロスバＥに入力される装置Ａ宛てのフレームは、クロスバＥのルーティングテーブルの設定によってクロスバＤ又はクロスバＢのいずれかに転送される。このように、各クロスバ２は装置Ａ（送信先装置）宛てのフレームを装置Ａに向かうようにルーティングする。つまり、情報処理システム１（管理部４）は、クロスバＧ−クロスバＤ間の配線が故障しても、クロスバＧ以外のルーティングテーブルを変更しなくてよい。
【００３８】
以下に詳述する、一実施形態の一例としてクロスバ２（情報処理システム１）は、例えば少なくともクロスバＧに適用することで、クロスバＧ−クロスバＤ間の配線が故障した場合でも、装置Ｄから装置Ａへのデータの転送経路を変更可能とするものである。なお、図２に示すクロスバＡ〜Ｉは全て同様の構成をそなえることができるため、クロスバ２は、任意のクロスバＡ〜Ｉに適用されてよい。クロスバＡ〜Ｉのすべてにクロスバ２が適用されることにより、いずれのクロスバ２間が故障しても、装置３間の通信の転送経路を変更可能とすることができる。
【００３９】
〔１−４〕クロスバの構成例
以下、図５及び図６を参照して、一実施形態の一例としての情報処理システム１（特にクロスバ２）の構成例について説明する。図５は、図２に示す情報処理システム１の詳細な構成例を示す図であり、図６は、図５に示すクロスバ２におけるルーティングテーブル５３のデータ構造の一例を示す図である。なお、図５では、装置３の図示を省略する。
【００４０】
クロスバ２は、入力されるフレーム（転送データ）を転送先の対向ＬＳＩへ転送するデータ転送装置の一例である。データ転送装置としては、集積回路、例えば、ＬＳＩやApplication Specific Integrated Circuit（ＡＳＩＣ）、Field Programmable Gate Array（ＦＰＧＡ）等の、クロスバ２としての機能をそなえる電子回路が挙げられる。なお、装置３が上述したＣＰＵ、メモリ、Ｉ／Ｏ装置、各種コントローラ等の装置である場合、クロスバ２としてＬ１クロスバスイッチが用いられてもよい。以下の説明では、これまでと同様、クロスバ２の出力ポートに対向する（接続された）装置３や他のクロスバ２等をまとめてＬＳＩ又は対向ＬＳＩという。クロスバ２は、１つの集積回路であってもよいし、複数の集積回路の組み合わせであってもよい。また、クロスバ２は、ＣＰＵ等のプロセッサやメモリ、Ｉ／Ｏ装置、各種コントローラ等の集積回路に組み込まれてもよく、実装場所は特に限定されない。なお、装置３がシステムボードやＩ／Ｏボード等の装置であってもよく、この場合、クロスバ２としてＬ２クロスバスイッチが用いられてもよい。
【００４１】
以下、３入力３出力のクロスバ２（図２に示すクロスバＡ〜Ｃ，Ｇ〜Ｉ）を例に挙げて説明するが、４入力４出力のクロスバ２（図２に示すクロスバＤ〜Ｆ）についても同様の構成とすることができる。
図５に例示するように、クロスバ２は、受付ポート５、入力ポート６、出力ポート８、及び接続部９をそれぞれ複数（図５の例ではそれぞれ３つ）そなえるとともに、１つのルーティング部７をそなえる。なお、４入力４出力のクロスバ２に一実施形態に係る構成を適用する場合、受付ポート５、入力ポート６、出力ポート８、及び接続部９をそれぞれ４つ設ければよい。以下、便宜上、図５に示すように、入力ポート６を入力ポートＡ〜Ｃのいずれかで特定し、入力キュー６１を入力キューＡ〜Ｃのいずれかで特定し、出力ポート８を出力ポートＡ〜Ｃのいずれかで特定して説明する場合がある。また、図５では、図の簡略化のため、受付ポート５、入力ポート６、出力ポート８（出力ポートＡ）、及び接続部９の構成例をそれぞれ１つ図示するが、他の受付ポート５、入力ポート６、出力ポート８（出力ポートＢ、Ｃ）、及び接続部９についても同様である。
【００４２】
出力ポート８は、複数の送信元に対応する複数（図５の例では３つ）の出力キュー８１をそなえるとともに、セレクタ８２をそなえる。特に言及しない限り、出力ポート８（出力キュー８１及びセレクタ８２）の基本的な機能は図４に示す出力ポート８００（出力キュー８１０及びセレクタ８２０）と同様であるため、重複した説明を省略する。複数の出力ポート８は、転送先２，３ごとにそなえられ、フレームを当該フレームの転送先へ出力する複数の出力部の一例である。
【００４３】
また、出力キュー８１はリトライ機能をそなえることができる。出力キュー８１は、ＦＩＦＯのデータ構造とすることができる。出力キュー８１としては、例えばStatic RAM（ＳＲＡＭ）等の高速な揮発性メモリ、フリップフロップ（Flip Flop）やラッチ等の論理回路等、高速なリード／ライト動作が可能な回路が挙げられる。
出力ポート８は、ＬＳＩ間のデータ転送を一定回数リトライしてもエラーが解消されなかったり、フレームを送信したが対向ＬＳＩからAcknowledge信号が送られて来ずにタイムアウトした場合等に、対向ＬＳＩ又は配線に故障が発生したと判断することができる。また、出力ポート８は、フレームの送信頻度が規定値を超えた、又は他出力ポート８よりも高頻度である場合等に、ＬＳＩ間のデータ転送が混雑していると判断することができる。
【００４４】
出力ポート８から対向ＬＳＩへのデータ転送においてエラーを検出した場合、出力ポート８は、発生したエラーが間欠故障によるものであることを期待し、複数回のフレームの再送（リトライ）を試みる。規定回数以上再送してもエラーを検出してしまう場合、出力ポート８は、ひとまず固定故障であると判断し、自出力ポート８を閉塞することができる。なお、出力ポート８は、混雑の発生を検出した場合にも、自出力ポート８を閉塞することができる。そして、出力ポート８は、自出力ポート８を閉塞すると、全ての入力ポート６、受付ポート５、及び管理部４に対して、自ポート（出力ポート８）の閉塞を示す出力ポート閉塞信号（出力抑止信号）を出力する。すなわち、出力ポート８（出力キュー８１）は、対応する転送先へのデータ転送の状態に応じて、出力抑止信号を出力する。
【００４５】
なお、出力ポート８は、自出力ポート８を再利用するか否かを判断し、出力ポート閉塞信号に再利用の有無の情報を含ませてもよい。出力ポート８は、例えば、エラーが固定故障によるものであると判断した場合に再利用無しと判断してもよく、混雑を検出した場合に再利用有りと判断してもよい。また、エラーが固定故障によるものであっても、故障個所の動的交換によりエラーが解消される見込みがある場合には、再利用有りと判断してもよい。出力ポート８による自出力ポート８の再利用の有無の判断は、これらに限定されるものではなく、種々の条件に基づいて行なわれてよい。例えば、出力ポート８は、検出したエラーの内容や混雑の状況や、情報処理システム１の運用ルール等に基づいて、自出力ポート８の再利用の有無を判断してもよい。
【００４６】
なお、出力ポート８は、自出力ポート８の閉塞中に、同期リセットをしてもよい。また、出力ポート８は、入力ポート６から出力ポート閉塞解除信号を受信すると、自出力ポート８の再利用を行なうべく、同期リセットを解除し、再利用にそなえることができる。
接続部９は、配線やケーブル、ソケット等により転送先の対向ＬＳＩと接続され、出力ポート８から出力されるフレームを転送する。
【００４７】
受付ポート５は、受付キュー５１、保持部５２、及びフレーム送信判定回路５４をそなえる。特に言及しない限り、受付ポート５の基本的な機能は図４に示す受付ポート５００と同様であるため、重複した説明を省略する。
受付キュー５１は、複数の入力キュー６１に格納されるフレームを一括して格納するものであり、受付格納部の一例である。なお、受付キュー５１は、出力キュー８１と同様に、ＦＩＦＯのデータ構造とすることができる。受付キュー５１としては、出力キュー８１と同様、高速なリード／ライト動作が可能な回路が挙げられる。
【００４８】
保持部５２は、宛先情報と出力ポート８の番号等の出力ポート８を特定するための情報とが対応付けられたルーティングテーブル５３を保持する。保持部５２としては、メモリ又はレジスタ等の記憶装置が挙げられる。メモリとしては、例えばＲＡＭ等の揮発性メモリを用いることができる。
ここで、図６を参照して、ルーティングテーブル５３のデータ構造の一例について説明する。図６に例示するように、ルーティングテーブル５３は、データの最終的な送信先（目的地）を入力（エントリ）として、ルーティングテーブル５３を保持するクロスバ２のいずれかの出力ポート８の情報が設定されるテーブルである。
【００４９】
具体的には、ルーティングテーブル５３は、ルーティングテーブル５３のエントリの有効（例えば“0”）又は無効（例えば“1”）を示すビット，データの送信先の宛先情報，及び通常用の出力ポート８の情報を含んでよい。また、ルーティングテーブル５３は、迂回路の出力ポート８があるエントリについては、１組以上の迂回用出力ポート８の有効（例えば“0”）又は無効（例えば“1”）を示すビット並びに迂回用の出力ポート８の情報を含んでよい。例えば、送信先Ａのエントリは、通常用出力ポート８に出力ポートＡ、第１候補の迂回用出力ポート８に出力ポートＢ、第２候補の迂回用出力ポート８に出力ポートＣが、それぞれ設定される。
【００５０】
なお、ルーティングテーブル５３において、エントリの有効／無効は、例えば、送信先装置３Ａ〜３Ｃが通信可能に存在している場合に有効が設定され、故障等により送信先装置３Ａ〜３Ｃが通信不可能な場合に無効に設定される。迂回用出力ポート８の有効／無効は、対応する迂回用出力ポート８が有効であるか否かを示すものである。
迂回用出力ポート８は、第１候補、第２候補の順（優先度の高い順）で、通常用出力ポート８−対向ＬＳＩ間に故障や混雑が発生した場合に使用される。迂回用出力ポート８が第１候補、第２候補のいずれに設定されるかは、経由するＬＳＩの数等に基づく優先順位に応じて決定されてもよいし、迂回用出力ポート８が使用される場合に他の送信先の出力ポート８との関係で混雑が生じ難い順に決定されてもよい。
【００５１】
なお、ルーティングテーブル５３は、後述する管理部４によって登録及び更新される。
以上のように、図６に例示するルーティングテーブル５３は、フレームごと（送信先ごと）に、迂回路（転送先）に対応する出力ポート８が設定される。すなわち、ルーティングテーブル５３は、フレームの１以上の転送先に関する転送先情報の一例である。より具体的には、図６に例示するルーティングテーブル５３は、フレームの送信先装置３Ａ〜３Ｃに応じた１以上の転送先に関する転送先情報の一例であるといえる。
【００５２】
図５の説明に戻り、フレーム送信判定回路５４は、受付キュー５１に格納されたフレームを対応する入力キュー６１へ順次出力させる。また、フレーム送信判定回路５４は、出力ポート８から出力ポート閉塞信号を受信すると、再送ステートマシン６３からフレーム送信再開指示信号を受信するまで、受付キュー５１に格納されたフレームの複数の入力キュー６１への出力を抑止させる制御を行なう。これにより、受付ポート５は、入力キュー６１へのフレームの出力途中に出力ポート閉塞信号を受信した場合でも、データ転送の最小単位であるフレームの区切りで入力キュー６１へのフレームの出力を停止させることができる。従って、入力ポート６は、後述する転送経路の切り替えをフレームの区切りで行なうことができるため、フレームの破損等によるデータの喪失を回避することができる。
【００５３】
すなわち、フレーム送信判定回路５４は、受付キュー５１から出力中のフレームの出力が完了してから再送ステートマシン６３による再送処理が完了するまで、受付キュー５１に格納されたフレームの入力キュー６１への出力を抑止させる受付制御部の一例である。また、受付ポート５は、入力されるフレームの複数の入力キュー６１への格納を抑止する抑止部の一例である。
【００５４】
入力ポート６は、３つの入力キュー６１、セレクタ６２、再送ステートマシン６３、及び迂回用出力ポート管理回路６４をそなえる。特に言及しない限り、入力ポート６（入力キュー６１）の基本的な機能は図４に示す入力ポート６００Ｂ（入力キュー６１０Ｂ）と同様であるため、重複した説明を省略する。
入力キュー６１は、出力キュー８１と同様に、ＦＩＦＯのデータ構造とすることができる。入力キュー６１としては、出力キュー８１と同様、高速なリード／ライト動作が可能な回路が挙げられる。複数の入力キュー６１は、入力されるフレームを自クロスバ２に接続される送信先装置Ｄ〜Ｆ又はクロスバ２を含む転送先（クロスバ２又は装置３）ごとに格納する複数の格納部の一例である。
【００５５】
セレクタ６２は、入力ポート６の各入力キュー６１の出力側に設けられる。セレクタ６２は、複数の入力キュー６１に格納されたフレームを、複数の転送先（出力ポート８）のいずれかへ選択的に切り替えて出力する切替部の一例である。セレクタ６２としては、例えばバススイッチ等の回路が挙げられる。図５に示す例では、セレクタ６２は、出力ポート８ごとに設けられ、個々のセレクタが３つの入力キュー６１及び対応する出力ポート８と配線で接続される。これにより、入力キュー６１が保持するフレームの転送先が変更されても対応することができる。
【００５６】
セレクタ６２の選択論理は、フレームごとに出力ポート８を選択させるものとしてもよいが、そのためには、転送経路を変更しなければ不要であった下記の（ｉ）及び（ii）の論理回路が用いられることになる。これらの論理回路がクロスバ２に追加されると、入力ポート６の論理回路が複雑になり、回路の物量や、遅延時間、遅延の発生頻度等も増加する可能性がある。
【００５７】
（ｉ）フレームとフレームの区切りの判定を行なう論理回路。
（ii）Least Recently Used（ＬＲＵ）等のアービトレーション（Arbitration；調停）を行なう論理回路。
そこで、一実施形態では、クロスバ２に対して、上記（ｉ）及び（ii）の論理回路を追加せずに、例えばフレーム送信判定回路５４と、再送ステートマシン６３とを追加することにより、平易な論理回路によって、転送経路の変更を実現することができる。
【００５８】
再送ステートマシン６３は、出力ポート８から出力ポート閉塞信号を受信してから受付ポート５へフレーム送信再開指示信号を送信するまで、クロスバ２及び管理部４を制御する論理回路である。なお、図５では、１つの入力ポート６内に１つの再送ステートマシン６３を図示しているが、入力キュー６１ごとに再送ステートマシン６３がそなえられることが好ましい。
【００５９】
再送ステートマシン６３は、例えば、レジスタ等のビット値（レジスタ値）を用いてクロスバ２の状態を管理し、以下の（Ｉ）〜（Ｖ）の場合にレジスタ値を変化させる。再送ステートマシン６３は、クロスバ２内の各回路や管理部４にレジスタ値を参照させる、又はレジスタ値に応じた指示を行なうことで、各回路や管理部４の制御を実現する。
（Ｉ）通常のクロスバ２の動作状態（レジスタ値“3'b000”）において、再送ステートマシン６３が出力ポート８から出力ポート閉塞信号を受信する。このとき、出力ポート閉塞信号を出力した出力ポート（以下、閉塞ポートともいう）８に対応する再送ステートマシン６３のレジスタ値が“3'b001”に遷移する。
【００６０】
（II）再送ステートマシン６３が受付ポート５から入力ポート６へのフレーム送信を停止したことを示す信号を受信する。このとき、閉塞ポート８に対応する再送ステートマシン６３のレジスタ値が“3'b010”に遷移する。
（III）入力ポート６が迂回用出力ポート（以下、代替ポートともいう）８宛ての入力キュー６１内のフレームを該当出力ポート８へ送信する。代替ポート８宛ての入力キュー６１内のフレームが全て送信され対向ＬＳＩへの到達が確認されると、閉塞ポート８に対応する再送ステートマシン６３のレジスタ値が“3'b011”に遷移する。
【００６１】
（IV）入力ポート６が閉塞ポート８宛ての入力キュー６１内のフレームをセレクタ６２を制御して代替ポート８へ送信する。閉塞ポート８宛ての入力キュー６１内のフレームが全て送信され対向ＬＳＩへの到達が確認されると、閉塞ポート８に対応する再送ステートマシン６３のレジスタ値が“3'b100”に遷移する。
（Ｖ）再送ステートマシン６３が管理部４へルーティングテーブル５３の更新が可能となったことを通知する。閉塞ポート８の再利用をしない場合、管理部４がルーティングテーブル５３を更新して閉塞ポート８を代替ポート８に切り替える。一方、閉塞ポート８を再利用する場合、再送ステートマシン６３が閉塞ポート８へ閉塞状態を解除させる信号を送信する。最後に、再送ステートマシン６３が受付ポート５へフレームの送信を再開させる信号を送信すると、閉塞ポート８に対応する再送ステートマシン６３のレジスタ値が“3'b000”（通常状態）に遷移する。
【００６２】
このように、再送ステートマシン６３は、一の転送先に対応する入力キュー６１に格納された一の転送先へのフレームを、複数の異なる転送経路に含まれる他の（代替の）転送先へ出力するようにセレクタ６２を制御する代替出力処理を行なう制御部の一例である。より具体的に、再送ステートマシン６３は、代替出力処理において、一の転送先に対応する入力キュー６１に格納された一の転送先への複数のフレームを、フレームの各々の送信先装置３Ａ〜３Ｃに応じた代替の転送先へそれぞれ出力するようにセレクタ６２を制御する。この代替出力処理は、再送ステートマシン６３により、セレクタ６２（の出力側，例えば一の出力ポート８）から一の転送経路を介した一の転送先（対向ＬＳＩ）へのデータ転送の状態に応じて行なわれる。
【００６３】
以上のように、一実施形態に係る情報処理システム１（クロスバ２）によれば、データの転送先の故障や混雑等が発生しても、代替の出力ポート８へ転送路（転送先）が変更されるため、データ（フレーム）を送信先まで確実に転送することができる。また、情報処理システム１によれば、固定故障が発生した場合にフレームを送信先まで正しく転送することができる。さらに、情報処理システム１によれば、混雑している場合であっても転送路を空いている迂回路に切り替えることができ、間欠故障が発生した場合でも間欠故障が復旧するまでの間に転送路を迂回路に切り替えることができるため、データ転送の遅延を低減できる。
【００６４】
また、情報処理システム１によれば、クロスバ２の動作を継続させたまま、入力ポート６ごとにフレームの転送先を代替ポート８へ動的に切り替えることができる。従って、他の入力ポート６に滞留しているフレームが全て送信されるのを待たずに入力ポート６ごとに切り替えを完了させることができるとともに、クロスバ２全体の動作を停止させずに済むため、他の出力ポート８に与える影響を最小限に留めることができる。
【００６５】
また、上記（IV）において、閉塞ポート８宛ての入力キュー６１内のフレームには、一度閉塞ポート８へ出力されたものの、障害等により対向ＬＳＩへの到達が確認できていないフレームも含まれ得る。つまり、再送ステートマシン６３は、閉塞ポート８に対応する入力キュー６１に格納された、閉塞ポート８へ出力済みのフレームを含む１以上のフレームを、各フレームに対応する代替ポート８へ出力することができる。
【００６６】
このように、情報処理システム１によれば、閉塞ポート８に対応する入力キュー６１に格納された、転送失敗のフレームも含めて、代替ポート８へ出力されるため、転送経路に障害が発生した場合でも、データの喪失を回避することができる。
迂回用出力ポート管理回路６４は、受付キュー５１から入力キュー６１に入力されるフレームごとに、ルーティングテーブル５３内の迂回用出力ポート８の情報を保持する回路である。迂回用出力ポート管理回路６４は、例えば、上記（IV）の処理において、再送ステートマシン６３が閉塞ポート８に対応する入力キュー６１内のフレームを出力する際に、フレームごとの出力先を通常用出力ポート８から迂回用出力ポート８に変換することができる。迂回用出力ポート管理回路６４は、メモリ又はレジスタ等の記憶装置を含むことができる。メモリとしては、例えばＲＡＭ等の揮発性メモリが用いられてよい。なお、図５では、１つの入力ポート６内に１つの迂回用出力ポート管理回路６４を図示しているが、入力キュー６１ごとに迂回用出力ポート管理回路６４がそなえられることが好ましい。
【００６７】
このように、再送ステートマシン６３は、ルーティングテーブル５３から代替ポート８の情報を取得した迂回用出力ポート管理回路６４と協働して、閉塞ポート８に対応する入力キュー６１に格納されたフレームを代替ポート８へ出力することができる。換言すれば、再送ステートマシン６３は、障害等が検出された一の転送先に対応する入力キュー６１に格納されたフレームについて、ルーティングテーブル５３に代替の転送先（代替ポート８）が含まれる場合、代替出力処理を行なうものであるといえる。
【００６８】
つまり、情報処理システム１によれば、ルーティングテーブル５３の設定によって代替ポート８を任意の出力ポート８とすることができ、また、フレームごとに異なる代替ポート８、つまり異なる迂回路に転送することも可能となる。従って、代替ポート８への切り替えの自由度が上がり、耐障害性を向上させることができる。
ルーティング部７は、各入力ポート６内の各入力キュー６１と、各出力ポート８内の各出力キュー８１との間を接続し、入力キュー６１からルーティング部７に入力されたフレームを、対応する出力キュー８１へ出力する。ルーティング部７としては、例えば、入力キュー６１−出力キュー８１間をデータパス（フレーム転送路）により接続した静的網が挙げられる。なお、ルーティング部７は、入力キュー６１−出力キュー８１間の距離が長い場合には、複数のデータパスにそれぞれフリップフロップ等を介装し、フレーム間の同期をとるようにしてもよい。
【００６９】
〔１−５〕管理部の構成例
次に、図５〜図８を参照して、一実施形態の一例としての管理部４について説明する。図７は、図５に示す管理部４が保持する管理情報４２のデータ構造の一例を示す図であり、図８は、図５に示す管理部４のハードウェア構成例を示す図である。
管理部４は、保持部４１をそなえる（図５参照）。保持部４１は、図７に示すように、情報処理システム１内の全クロスバ２の全ルーティングテーブル５３（図６参照）の情報を管理情報４２として保持する。保持部４１としては、メモリ又はレジスタ等の記憶装置が挙げられる。メモリとしては、例えばＲＡＭ等の揮発性メモリを用いることができる。
【００７０】
管理部４は、管理情報４２、及び受付ポート５のルーティングテーブル５３のそれぞれについて、登録及び更新を行なうことができる。管理部４は、例えば、各クロスバ２の出力ポート８からの出力ポート閉塞信号を受信した後、又はルーティングテーブル５３を更新する前に、管理情報４２を更新することができる。また、管理部４は、例えば、管理情報４２の更新が完了すると、再送ステートマシン６３からのルーティングテーブル更新可能通知信号に応じて、管理情報４２に対してした更新と同様の内容で、ルーティングテーブル５３を更新する。そして、管理部４は、ルーティングテーブル５３を更新すると、出力ポート切り替え完了信号を再送ステートマシン６３へ送信する。つまり、管理部４は、更新要求に応じて、一の転送先（例えば閉塞ポート８に接続された転送先）に出力されるフレームが代替の転送先（例えば代替ポート８に接続された転送先）に出力されるように、ルーティングテーブル５３を更新する。
【００７１】
管理情報４２又はルーティングテーブル５３の更新において、管理部４は、閉塞ポート８が迂回用出力ポートに設定されているエントリに対し、当該閉塞ポート８の迂回用出力ポートを無効に設定し、迂回用出力ポートとして使用されないようにすることができる。また、管理部４は、閉塞ポート８が通常用出力ポートに設定されているエントリに対し、迂回用出力ポートを通常用出力ポートに上書きして元の迂回用出力ポートを無効に設定することができる。これらの設定により、管理部４は、迂回用出力ポートを通常用出力ポートに切り替えることができる。
【００７２】
なお、管理部４は、閉塞した出力ポート８を再利用する場合、ルーティングテーブル５３及び管理情報４２の更新を行なわなくてよい。閉塞中の出力ポート８を再利用するか否かの判断は、管理部４で再利用の有無を判断可能な実装とした上で、管理部４が決定することができる。管理部４による再利用の有無の判断材料としては、例えば、管理部４に再利用する場合／しない場合のいずれかに固定するモードを設けたり、出力ポート８からの出力ポート閉塞信号を再利用する場合／しない場合の２種類にすること等が挙げられる。なお、管理部４は、出力ポート切り替え完了信号を、ルーティングテーブル５３を更新した場合／していない場合の２種類にしてもよい。これにより、管理部４は、閉塞ポート８の再利用をしないと判断した場合に、ルーティングテーブル５３を更新していないことを再送ステートマシン６３へ通知することができる。
【００７３】
以上のように、管理部４は、セレクタ６２（複数の出力ポート８の各々）から複数の転送先へのデータ転送の状態に応じて、受付ポート５の保持部５２に保持されたルーティングテーブル５３を更新する更新部の一例である。
このように、管理部４によれば、クロスバ２の動作を継続させたままルーティングテーブル５３を更新することができる。また、ルーティングテーブル５３の更新後にフレームが入力キュー６１から閉塞ポート８へ出力されることを防止できる。
【００７４】
上述した管理部４の動作は、例えば情報処理システム１のファームウェア等のソフトウェアによる処理によって実現されてもよい。例えば、管理部４は、図８に示すように、ＣＰＵ４０ａ、メモリ４０ｂ、記憶部４０ｃ、インタフェース部４０ｄ、入出力部４０ｅ、記録媒体４０ｆ、及び読取部４０ｇをそなえることができる。
ＣＰＵ４０ａは、図８における対応する各ブロック４０ｂ〜４０ｇと接続され、種々の制御や演算を行なう処理装置（プロセッサ）の一例である。ＣＰＵ４０ａは、メモリ４０ｂ、記録媒体４０ｆや４０ｈ、又は図示しないRead Only Memory（ＲＯＭ）等に格納されたプログラムを実行することにより、管理部４における種々の機能を実現することができる。メモリ４０ｂは、種々のデータやプログラムを一時的に格納する記憶装置である。ＣＰＵ４０ａは、プログラムを実行する際に、メモリ４０ｂにデータやプログラムを格納し展開する。メモリ４０ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【００７５】
記憶部４０ｃは、種々のデータやプログラム等を格納するハードウェアである。記憶部４０ｃとしては、例えばHard Disk Drive（ＨＤＤ）等の磁気ディスク装置、Solid State Drive（ＳＳＤ）等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。インタフェース部４０ｄは、有線又は無線による、ネットワークや他の装置との接続及び通信の制御等を行なう。入出力部４０ｅは、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。入出力部４０ｅは、入力装置により管理部４のオペレータ（管理者）等の操作による動作命令を受け付ける一方、管理部４による動作結果を出力装置に表示（出力）することができる。
【００７６】
記録媒体４０ｆは、例えばフラッシュメモリやＲＯＭ等の記憶装置であり、種々のデータやプログラムを記録することができる。読取部４０ｇは、コンピュータ読取可能な記録媒体４０ｈに記録されたデータやプログラムを読み出す装置である。記録媒体４０ｆ及び４０ｈの少なくとも一方には、本実施形態に係る管理部４の各種機能の全部もしくは一部を実現する管理（更新）プログラムが格納されてもよい。例えば、ＣＰＵ４０ａは、記録媒体４０ｆから読み出したプログラム、又は、読取部４０ｇを介して記録媒体４０ｈから読み出したプログラムを、メモリ４０ｂ等の記憶装置に展開して実行することができる。これにより、管理部４としてのコンピュータ（ＣＰＵ４０ａ，情報処理装置，各種端末を含む）は、本実施形態に係る管理部４の機能を実現することができる。
【００７７】
なお、記録媒体４０ｈとしては、例えばフレキシブルディスク、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、ブルーレイディスク等の光ディスクや、Universal Serial Bus（ＵＳＢ）メモリ等のフラッシュメモリが挙げられる。なお、ＣＤとしては、ＣＤ−ＲＯＭ、CD-Recordable（ＣＤ−Ｒ）、CD-Rewritable（ＣＤ−ＲＷ）等が挙げられる。また、ＤＶＤとしては、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【００７８】
なお、上述した各ブロック４０ａ〜４０ｇ間はバスで相互に通信可能に接続される。また、管理部４の上述したハードウェア構成例は例示である。例えば、管理部４は、図８に示すハードウェアの少なくとも一部を情報処理システム１と共用してもよい。一例として、管理部４は、ＣＰＵ４０ａやメモリ４０ｂに代えて、情報処理システム１の装置３の一例としてのＣＰＵやメモリを用いてもよい。また、管理部４及び情報処理システム１内でのハードウェアの増減や分割、任意の組み合わせでの統合等は、適宜行なわれてもよい。
【００７９】
〔１−６〕情報処理システムの動作例
次に、図９〜図１１を参照して、一実施形態の一例としての情報処理システム１の動作例を説明する。
図９は、図５に示すクロスバ２の受付ポート５における再送処理の動作例を説明するフローチャートであり、図１０は、図５に示すクロスバ２の入力ポート６における再送処理の動作例を説明するフローチャートである。図１１は、図５に示す管理部４におけるルーティングテーブル５３の更新処理の動作例を説明するフローチャートである。
【００８０】
〔１−６−１〕受付ポートにおける再送処理の動作例
はじめに、図９を参照して、受付ポート５における再送処理について説明する。
受付ポート５により出力ポート８から入力ポート６経由で出力ポート閉塞信号が受信されると（ステップＳ１）、フレーム送信判定回路５４により、受付キュー５１から入力ポート６へフレームが出力中か否かが判断される（ステップＳ２）。フレーム出力中である場合（ステップＳ２のＹｅｓルート）、フレーム送信判定回路５４により、入力ポート６へ出力中のフレームが最後まで出力されたか否かが判断される（ステップＳ３）。出力中のフレームが最後まで出力されていない場合（ステップＳ３のＮｏルート）、フレーム送信判定回路５４により、所定クロック（例えば数クロック；所定時間）待機され（ステップＳ４）、処理がステップＳ３に移行する。
【００８１】
一方、ステップＳ２においてフレーム出力中ではない場合（ステップＳ２のＮｏルート）、又は、ステップＳ３において出力中のフレームが最後まで出力された場合（ステップＳ３のＹｅｓルート）、処理がステップＳ５に移行する。ステップＳ５では、フレーム送信判定回路５４により、入力ポート６へのフレーム送信が停止され、入力ポート６に対して、入力ポート６へのフレーム送信を停止したことを示すフレーム送信停止信号が送信される。
【００８２】
次いで、受付ポート５により入力ポート６からフレーム送信を再開することを示すフレーム送信再開指示信号が受信されると、フレーム送信判定回路５４により、受付キュー５１から入力ポート６へのフレーム送信が再開され（ステップＳ６）、処理が終了する。
〔１−６−２〕入力ポートにおける再送処理の動作例
次に、図１０を参照して、入力ポート６における再送処理について説明する。
【００８３】
なお、前提として、再送ステートマシン６３が管理する状態が、出力ポート８でエラーや混雑が検出されていない通常状態（レジスタ値“3'b000”）であるものとする。また、以下の図１０のフローチャートの制御は、複数の再送ステートマシン６３のうちの、閉塞ポート８に対応する入力キュー６１を制御する（閉塞ポート８に対応する）再送ステートマシン６３により実行されるものとする。つまり、代替ポート８宛ての入力キュー６１を制御する（代替ポート８に対応する）再送ステートマシン６３は、図１０に示すように状態を変化させなくてよい。
【００８４】
入力ポート６により出力ポート８から出力ポート閉塞信号が受信されると（ステップＳ１１）、閉塞ポート８に対応する再送ステートマシン６３の状態が、対入力ポートフレーム送信停止移行状態（レジスタ値“3'b001”）に遷移する。また、入力ポート６により、受付ポート５からフレームの送信を停止したことを示す信号が受信される（ステップＳ１２）。ステップＳ１２の処理が完了すると、閉塞ポート８に対応する再送ステートマシン６３の状態が、代替ポート宛て入力キュー内フレーム送信状態（レジスタ値“3'b010”）に遷移する。
【００８５】
次に、入力ポート６により、閉塞ポート８の代替ポート８宛ての入力キュー６１に滞留しているフレームが、当該フレームの転送先に対応する出力ポート８へ送信される（ステップＳ１３）。ステップＳ１３の処理は、代替ポート８に対応する再送ステートマシン６３によるセレクタ６２の制御により行なわれる。
なお、ステップＳ１３において、閉塞ポート８に対応する再送ステートマシン６３は、代替ポート８宛ての入力キュー６１に滞留する全フレームの送信が完了したことを検知することができる。或いは、閉塞ポート８に対応する再送ステートマシン６３は、代替ポート８に対応する再送ステートマシン６３から全フレームの送信が完了したことを通知されてもよい。ステップＳ１３の処理が完了すると、閉塞ポート８に対応する再送ステートマシン６３の状態が、閉塞ポート宛て入力キュー内フレーム送信状態（レジスタ値“3'b011”）に遷移する。なお、フレームごとに代替ポート８が設定される場合等、代替ポート８に対応する再送ステートマシン６３が複数存在する場合、全代替ポート８について全フレームの送信が完了してから、閉塞ポート８に対応する再送ステートマシン６３の状態が遷移する。
【００８６】
次いで、閉塞ポート８に対応する再送ステートマシン６３により、セレクタ６２が制御され、閉塞ポート８宛ての入力キュー６１に滞留しているフレームが迂回路（転送先）に対応する出力ポート８へ送信される（ステップＳ１４）。
なお、ステップＳ１３及びＳ１４において、再送ステートマシン６３は、フレームの喪失を防ぐため、送信する全フレームが該当出力ポート８から対向ＬＳＩへ正常に到達したことを確認してから、入力キュー６１内の送信済フレームを解放することが好ましい。
【００８７】
ステップＳ１４の処理が実行されると、閉塞ポート８に対応する再送ステートマシン６３の状態がルーティングテーブル更新可能状態（レジスタ値“3'b100”）に遷移する。
そして、再送ステートマシン６３により、ステップＳ１３及びＳ１４までの処理が完了したことが、ルーティングテーブル更新可能通知信号により管理部４へ通知される（ステップＳ１５）。管理部４では、閉塞ポート８が再利用されない場合、ルーティングテーブル５３が更新される（ステップＳ１５）。
【００８８】
また、再送ステートマシン６３により、管理部４から出力ポート切り替え完了信号が受信されると（ステップＳ１６）、再送ステートマシン６３により、新たな出力ポート８が再利用予定の閉塞中の出力ポート８であるか否かが判断される（ステップＳ１７）。新たな出力ポート８が再利用予定である場合（ステップＳ１７のＹｅｓルート）、再送ステートマシン６３により、出力ポート閉塞解除信号が閉塞中の出力ポート８へ送信されて閉塞状態が解除され（ステップＳ１８）、処理がステップＳ１９に移行する。つまり、再送ステートマシン６３は、ルーティングテーブル更新可能状態において、故障装置の動的交換や混雑解消などの理由により、閉塞ポート８を再利用する場合、出力ポート８の閉塞状態を解除する。
【００８９】
なお、再送ステートマシン６３は、出力ポート８の故障又は混雑等により転送経路を変更したい場合、ルーティングテーブル５３を更新するために、ステップＳ１５においてルーティングテーブル更新可能通知信号を送信することができる。一方、再送ステートマシン６３は、閉塞ポート８を再利用する場合、ルーティングテーブル更新可能通知信号を送信しなくてもよい（ステップＳ１５及びＳ１６を省略できる）が、管理部４に再利用の有無を判断させる場合には、当該信号を送信してもよい。
【００９０】
ステップＳ１９では、再送ステートマシン６３により、受付ポート５へフレーム送信再開指示信号が送信されて、入力キュー６１から出力ポート８へのフレーム送信（通常制御）が再開され、処理が終了する。なお、新たな出力ポート８が再利用予定ではない場合（ステップＳ１７のＮｏルート）、処理がステップＳ１９に移行する。ステップＳ１９の処理が完了すると、閉塞ポート８に対応する再送ステートマシン６３の状態が、通常状態（レジスタ値“3'b000”）に遷移する。
【００９１】
〔１−６−３〕管理部におけるルーティングテーブルの更新処理の動作例
次に、図１１を参照して、管理部４におけるルーティングテーブル５３の更新処理について説明する。
なお、前提として、図１１に例示するフローチャートの制御は、閉塞ポート８を再利用しない場合に実行されるものであり、管理部４が出力ポート閉塞信号に基づき閉塞ポート８を再利用すると判断した場合には実行されない。
【００９２】
管理部４により出力ポート８から出力ポート閉塞信号が受信されると、管理情報４２における迂回用出力ポートのうちの閉塞ポート８に対応するビットが有効から無効に更新される（ステップＳ２１）。
次いで、管理部４により、再送ステートマシン６３からルーティングテーブル更新可能通知信号が受信されると（ステップＳ２２）、管理部４により、ルーティングテーブル５３を更新可能か否かが判断される（ステップＳ２３）。例えば、管理部４は、管理情報４２を参照し、閉塞ポート８が通常用出力ポートに設定されているエントリに、迂回用出力ポートが有効に設定されているか否かを判断し、迂回用出力ポートが有効に設定されている場合に更新可能と判断することができる。
【００９３】
ステップＳ２３において、ルーティングテーブル５３を更新可能と判断された場合（ステップＳ２３のＹｅｓルート）、管理部４により、管理情報４２が更新される（ステップＳ２４）。例えば、管理部４は、管理情報４２における閉塞ポート８が通常用出力ポートに設定されているエントリの通常用出力ポートの番号を、第ｎ（ｎは１以上の整数）候補の（例えば第１候補）の迂回用出力ポートの番号で上書きする。これにより、管理部４は、管理情報４２を更新することができる。なお、管理部４は、複数の迂回用出力ポートが存在する場合、第２〜第ｎ候補の順位をそれぞれ繰り上げ（シフトさせ）、第１〜第（ｎ−１）候補に変更することができる。また、管理部４は、第ｎ候補が第（ｎ−１）候補に繰り上がるため、第ｎ候補に設定された迂回用出力ポートを無効に設定することができる。
【００９４】
そして、管理部４により、ステップＳ２１及びＳ２４で更新した管理情報４２が用いられ、クロスバ２のルーティングテーブル５３が更新される（ステップＳ２５）。また、ルーティングテーブル５３の更新が完了すると、管理部４により、再送ステートマシン６３へ出力ポート切り替え完了信号が送信され（ステップＳ２６）、処理が終了する。
一方、ステップＳ２３において、ルーティングテーブル５３を更新不可能と判断された場合（ステップＳ２３のＮｏルート）、管理部４により、クロスバ２（例えば再送ステートマシン６３）へ致命的なエラーが通知され（ステップＳ２７）、処理が終了する。なお、ルーティングテーブル５３の更新が不可能な場合としては、例えば、閉塞ポート８が通常用出力ポートに設定されているエントリに、迂回用出力ポートが設定されていない、又は無効に設定されている場合等が挙げられる。管理部４から致命的なエラーを通知されると、クロスバ２又は情報処理システム１は、システム全体の動作を停止させてもよい。
【００９５】
〔１−７〕実施例
次に、図１２〜図１６を参照して、情報処理システム１（特にクロスバ２）の実施例を説明する。
図１２は、図５に示す受付ポート５の構成の実施例を示す図であり、図１３は、図５に示す入力ポート６の構成の実施例を示す図である。図１４は、図１３に示す入力ポートにおける入力キュー６１の制御手法の一例を説明する図であり、図１５は、図１３に示す入力ポート６におけるタイミングチャートの一例を示す図である。図１６は、図５に示す出力ポート８の構成の実施例を示す図である。
【００９６】
なお、以下の説明では、受付ポート５、入力ポート６、出力ポート８、及び接続部９の構成をそれぞれ１つ図示するが、他の受付ポート５、入力ポート６、出力ポート８、及び接続部９についても同様である。
〔１−７−１〕受付ポートの実施例
はじめに、図１２を参照して、受付ポート５の実施例について説明する。
【００９７】
図１２に示すように、受付ポート５は、図５に示す受付キュー５１、保持部５２、フレーム送信判定回路５４をそなえるとともに、クレジット管理回路５５及びリード制御回路５６をそなえることができる。特に言及しない限り、受付キュー５１、保持部５２、及びフレーム送信判定回路５４の基本的な機能は図５に示すものと同様であるため、重複した説明を省略する。
【００９８】
クレジット管理回路５５は、入力ポート６の入力キュー６１に空きがあるか否か、つまり受付キュー５１から入力キュー６１へのフレームの送信が可能か否かを判定する回路である。なお、以下の説明において、クレジットは、送信先のキュー（例えば入力キュー６１）に格納されたデータが出力されてキューに空きができたことを示す信号とすることができる。クレジットの単位は、フレームごとに設定されてもよいし、フレームをいくつかのクロックで分割した単位に設定されてもよく、また、それらの併用であってもよい。
【００９９】
クレジット管理回路５５は、例えば、カウンタ等の回路をそなえ、入力ポート６から入力ポート用クレジットＡ１を受信すると当該回路のカウント値を加算（又は減算）し、受付キュー５１からフレームをリードしたらカウント値を減算（又は加算）する。クレジット管理回路５５は、カウント値が正（又は入力キュー６１がFullでない）ならば、フレームを入力ポート６へ送信することが可能であると判断することができる。そして、クレジット管理回路５５は、判断結果を、入力ポート用クレジット管理情報Ａ２としてフレーム送信判定回路５４へ伝達する。
【０１００】
フレーム送信判定回路５４は、図５に示すものと基本的に同様の機能を有する回路であり、図９に示すフローチャートの少なくとも一部を実現する。フレーム送信判定回路５４は、下記（Ａ）及び（Ｂ）の双方の条件を満たす場合に、リード制御回路５６へフレーム送信許可Ａ３を与える。
（Ａ）入力ポート用クレジット管理情報Ａ２がフレーム送信可能を示す場合。
【０１０１】
（Ｂ）接続先のいずれの出力ポート８も閉塞していない、又は、いずれかの出力ポート閉塞信号Ａ４を受信したときにフレームを入力ポート６へ出力中で当該フレームの最後尾までの送信が未完了である場合。
なお、上記（Ｂ）において、出力中のデータがフレームの最後尾であるか否かは、後述する受付キュー５１からのフレーム送信管理情報Ａ７により判断される。
【０１０２】
フレーム送信判定回路５４は、図９に示すフローチャートに従って、入力ポート６に対して入力ポート６へのフレーム送信停止信号Ａ５を送信する。入力ポート６が管理部４から出力ポート切り替え完了信号Ｂ１０（図１３参照）を受信し、この受信に応じて入力ポート６からフレーム送信再開指示信号Ａ６を受信したら、フレーム送信判定回路５４は、停止していたフレーム送信を再開する。
【０１０３】
リード制御回路５６は、フレーム送信判定回路５４からフレーム送信許可Ａ３を与えられ、且つ、受付キュー５１にフレームが格納されている場合、受付キュー５１からのリード動作を制御し、データパスを通じて入力ポート６へ出力する。
保持部５２は、ルーティングテーブル５３を保持するものであり、図５に示すものと基本的に同様の記憶装置である。ルーティングテーブル５３は、送信先ＩＤ Ａ８から送信先出力ポート（通常用出力ポート；通常用出力ポートに上書きされた迂回用出力ポートを含む）Ａ９と第１候補の迂回用出力ポートＡ１０とが導き出されるように登録されるテーブルである（図６参照）。送信先ＩＤ Ａ８は、受付キュー５１から出力されるフレームに含まれる（又はフレームとともに出力される）情報であり、データパス又は他の配線を介してルーティングテーブル５３に供給される。
【０１０４】
〔１−７−２〕入力ポートの実施例
次に、図１３〜図１５を参照して、入力ポート６の実施例について説明する。
図１３に示すように、入力ポート６は、図５に示す入力キュー６１、セレクタ６２、再送ステートマシン６３、及び迂回用出力ポート管理回路６４をそなえるとともに、以下の回路をさらにそなえることができる。つまり、入力ポート６は、制御信号生成回路６５、クレジット生成回路６６、及びエンコーダ６７をそなえるとともに、出力ポート８ごとに入力キュー制御部６０をそなえることができる。なお、便宜上、図１３に示すように、入力キュー制御部６０を入力キュー制御部Ａ〜Ｃのいずれかで特定する場合がある。特に言及しない限り、入力キュー６１、セレクタ６２、再送ステートマシン６３、及び迂回用出力ポート管理回路６４の基本的な機能は図５に示すものと同様であるため、重複した説明を省略する。
【０１０５】
制御信号生成回路６５は、フレームを入力キュー制御部６０へ振り分けるため、例えばフレーム送信制御情報Ａ１１から転送先出力ポート別のフレーム送信制御信号Ｂ１を生成する回路である。例えば、制御信号生成回路６５は、データパスを通過するフレームのvalid等をフレーム送信制御情報Ａ１１として取得する。そして、制御信号生成回路６５は、当該フレームが入力される入力キュー制御部６０に対して、フレームが入力されることを示すフレーム送信制御信号Ｂ１を出力する。
【０１０６】
クレジット生成回路６６は、いずれの出力ポート８宛てのフレームが到来しても入力キュー６１に格納できる状態になったときに、受付ポート５へ入力ポート用クレジットＡ１を送信する回路である。つまり、クレジット生成回路６６は、全ての入力キュー６１に空きができたときに、受付ポート５へ入力ポート用クレジットＡ１を送信する。クレジット生成回路６６は、例えば、カウンタ等の回路をそなえる。クレジット生成回路６６は、フレーム送信制御情報Ａ１１に基づき入力ポート６にフレームが入力されたことを検出すると当該回路のカウント値を加算（又は減算）し、入力ポート用クレジットＡ１を送信したらカウント値を減算（又は加算）する。また、クレジット生成回路６６は、当該回路のカウント値が転送先出力ポート別の各キュー再送エントリ数Ｂ２の最大値（又は最小値）より大きく（又は小さく）なった場合に、入力ポート用クレジットＡ１を送信する。
【０１０７】
入力キュー制御部６０は、フレームの転送先となる出力ポート８ごとに設けられ、各々が、上述した入力キュー６１、再送ステートマシン６３、及び迂回用出力ポート管理回路６４をそなえるとともに以下の回路６０１〜６０９をそなえることができる。
ライト制御回路６０１は、入力キュー６１へのライト制御を行なう。ライト制御回路６０１は、例えば、制御信号生成回路６５からのフレーム送信制御信号Ｂ１を入力されると、入力キュー６１における次にライトされるエントリをライトポインタで指示する。なお、ライト動作は上述のようにクレジット管理されるため、入力キュー６１がオーバーフローする可能性は低い。
【０１０８】
リード制御回路６０２は、入力キュー６１からのリード制御を行なう。リード制御回路６０２は、入力キュー６１における次にリードされるエントリをリードポインタで指示する。例えば、入力キュー６１にフレームが格納され（キュー保持エントリ数管理回路６０４の値が正）、送信先出力ポート８の出力ポート用クレジット管理情報Ｂ８がフレーム送信可能を示す場合、リード制御回路６０２はフレームをリード可能となる。送信先出力ポート８は通常用出力ポート８のほかに迂回用出力ポート８である場合もあるため、リード制御回路６０２は、実際にフレームを送信する出力ポート８に対応する出力ポート用クレジット管理情報Ｂ８を選択して、リード可能か否かを判断する。
【０１０９】
再送リードポインタ６０３は、フレームを送信した出力ポート８から入力キュー６１を解放することを示すキューフレーム解放信号Ｂ４及び解放フレーム長Ｂ５を受信すると、解放フレーム長Ｂ５の分だけポインタを加算する。再送リードポインタ６０３は、リード制御回路６０２内のリードポインタを追いかけるように更新される。また、再送リードポインタ６０３は、キューフレーム解放信号Ｂ４とともに、入力キュー制御部６０の番号を示す入力ポート制御部番号Ｂ６を受信することができる。例えば、再送リードポインタ６０３は、入力ポート制御部番号Ｂ６が自身の制御部番号と一致したら、キューフレーム解放信号Ｂ４が自身の制御部６０が送信したフレームに関する解放信号であると判断し、ポインタの更新を実行することができる。また、再送リードポインタ６０３は、出力ポート閉塞信号Ｂ７を受信すると、ポインタの値をリード制御回路６０２のリードポインタに上書きして、リード制御回路６０２を更新することができる。
【０１１０】
キュー保持エントリ数管理回路６０４は、入力キュー６１に保持されているエントリ数を管理する回路である。キュー保持エントリ数管理回路６０４は、例えば、カウンタ等の回路をそなえ、入力キュー６１にライトされたら当該回路のカウント値を加算し、入力キュー６１からリードされたらカウント値を減算することができる。
キュー再送エントリ数管理回路６０５は、入力キュー６１で未だ再送される可能性のあるエントリ数を管理する回路である。キュー再送エントリ数管理回路６０５は、当該エントリ数（キュー再送エントリ数Ｂ２）を、クレジット生成回路６６及び再送ステートマシン６３へ出力することができる。キュー再送エントリ数管理回路６０５は、例えば、カウンタ等の回路をそなえ、入力キュー６１にライトされたら当該回路のカウント値を加算することができる。また、キュー再送エントリ数管理回路６０５は、フレームを送信した出力ポート８からキューフレーム解放信号Ｂ４及び解放フレーム長Ｂ５を受信すると、解放フレーム長Ｂ５の分だけカウント値を減算することができる。
【０１１１】
キュー再送エントリ数管理回路６０５は、例えば、入力ポート制御部番号Ｂ６が自身の制御部番号と一致したら、キューフレーム解放信号Ｂ４が自身の制御部６０が送信したフレームに関する解放信号であると判断し、回路のカウント値の更新を実行する。また、キュー再送エントリ数管理回路６０５は、出力ポート閉塞信号Ｂ７を受信すると、回路のカウント値をキュー保持エントリ数管理回路６０４に上書きして、キュー保持エントリ数管理回路６０４を更新することができる。
【０１１２】
ここで、図１４を参照して、入力キュー６１の制御に用いられるライトポインタ、リードポインタ、及び再送リードポインタと、キュー保持エントリ数管理回路６０４及びキュー再送エントリ数管理回路６０５との関係について説明する。
図１４に例示するように、運用中のクロスバ２内の入力キュー６１は、空白のエントリ、データ（フレームの一部）を保持するエントリ、並びに、データを入力キュー６１から送信済み且つ対向ＬＳＩまで正常に到達したことの確認待ちであるエントリを含み得る。空白のエントリはライト制御回路６０１のライトポインタにより示され、データを保持するエントリは、リード制御回路６０２のリードポインタにより示され、データを送信済み且つ到達確認待ちのエントリは、再送リードポインタ６０３により示される。
【０１１３】
各ポインタは、基本的に入力キュー６１の先頭から末尾に向かって動き、末尾に到達すると先頭に戻る。なお、リードポインタは、入力キュー制御部６０が出力ポート閉塞信号を受信した場合等に、再送リードポインタ６０３の値に戻されることがあり、この場合、リードポインタは逆方向（末尾から先頭）に動く。
キュー保持エントリ数管理回路６０４は、入力キュー６１における、データを保持するエントリの数を保持するため、図１４に示す例では、キュー保持エントリ数管理回路６０４のカウント値は１を示す。キュー再送エントリ数管理回路６０５は、入力キュー６１における、データを保持するエントリの数と、データを送信済み且つ到達確認待ちのエントリの数との合計のエントリ数を保持する。従って、図１４に示す例では、キュー再送エントリ数管理回路６０５のカウント値は２を示す。
【０１１４】
図１３の説明に戻り、出力ポート用クレジット管理回路６０６は、出力ポート８の出力キュー８１に空きがあるか否か、つまり入力キュー６１からのフレームの送信が可能か否かを判定する回路である。出力ポート用クレジット管理回路６０６は、例えば、カウンタ等の回路をそなえ、出力ポート用クレジットＢ３を受信したら当該回路のカウント値を加算（又は減算）し、入力キュー６１からリードされたらカウント値を減算（または加算）することができる。出力ポート用クレジット管理回路６０６は、カウント値が正（又は出力キュー８１がFullでない）ならば、フレームを出力ポート８へ送信することが可能であると判断することができる。そして、出力ポート用クレジット管理回路６０６は、判断結果を、出力ポート用クレジット管理情報Ｂ８としてリード制御回路６０２へ伝達することができる。
【０１１５】
迂回用出力ポート管理回路６４は、フレームごとに迂回路を設定する場合、フレームを入力キュー６１にライトする度に、ルーティングテーブル５３からの迂回用出力ポートＡ１０の情報を保持する回路である。迂回用出力ポート管理回路６４は、フレームを送信した出力ポート８からキューフレーム解放信号Ｂ４を受信すると、格納する古い迂回用出力ポートＡ１０の情報を解放することができる。
【０１１６】
再送ステートマシン６３は、図５に示すものと基本的に同様の機能を有する回路であり、図１０に示すフローチャートの少なくとも一部を実現する。図１３に示すように、再送ステートマシン６３は、上述した出力ポート閉塞信号Ｂ７、入力ポート６へのフレーム送信停止信号Ａ５、出力ポート切り替え完了信号Ｂ１０、キュー再送エントリ数Ｂ２等を入力される。さらに、再送ステートマシン６３は、受付ポート５へフレーム送信再開指示信号Ａ６を、管理部４へルーティングテーブル更新可能通知信号Ｂ９を、出力ポート８へ出力ポート閉塞解除信号Ｂ１１を、それぞれ出力する。
【０１１７】
選択信号生成回路６０７は、再送ステートマシン６３及び迂回用出力ポート管理回路６４からの情報に基づき、出力ポート８宛てのデータパス、セレクタ６０８、及びセレクタ６０９をそれぞれ選択する選択信号を生成する回路である。ここで、セレクタ６０８は、入力キュー制御部Ａ〜Ｃ内のいずれかのキュー再送エントリ数管理回路６０５からのキュー再送エントリ数Ｂ２を選択し、再送ステートマシン６３へ出力することで再送するエントリ数を通知するセレクタである。また、セレクタ６０９は、入力キュー制御部Ａ〜Ｃ内のいずれかの出力ポート用クレジット管理回路６０６からの出力ポート用クレジット管理情報Ｂ８を選択し、リード制御回路６０２へ出力するセレクタである。
【０１１８】
なお、出力ポート８でエラーや混雑等が検出された場合、閉塞ポート８に対応する再送ステートマシン６３は、セレクタ６０８により代替ポート８に対応するキュー再送エントリ数Ｂ２を参照することができる。これにより、閉塞ポート８に対応する再送ステートマシン６３は、代替ポート８宛ての入力キュー６１に滞留する全フレームの送信が完了したこと（例えばキュー再送エントリ数Ｂ２の値が“０”になったこと）を検知することができる。
【０１１９】
選択信号生成回路６０７は、通常動作（通常状態）で接続する通常用出力ポート８以外の出力ポート８を選択する選択信号を出力する。例えば、選択信号生成回路６０７からセレクタ６２への配線は、入力ポート６に接続される出力ポート８の数より１少ない本数である。一例として、図１３に示すように入力ポート６に接続される出力ポート８が３つの場合、セレクタ６２への選択信号の配線は２本となる。選択信号生成回路６０７からの選択信号は、エンコーダ６７によりエンコードが行なわれ、出力ポート８宛てに入力ポート制御部番号Ｂ１２として送信される。ここで送信される入力ポート制御部番号Ｂ１２は、出力ポート８から入力ポート制御部番号Ｂ６として送信され、入力キュー制御部６０において、自身の制御部６０の入力キュー６１を解放するか否かの判断に使用される。
【０１２０】
なお、図１３において、セレクタ６２の入力側の白丸は、選択信号との交点を示す。セレクタ６２は、例えば、アサートされた選択信号に対応する入力側のデータパスを選択して、フレームを出力側のデータパスへ出力することができる。また、セレクタ６２は、例えばアサートされた選択信号がない場合には、選択信号と接続されていない残り１つの入力側のデータパスを選択して、フレームを出力側のデータパスへ出力することができる。
【０１２１】
〔１−７−２−１〕入力ポートの動作例
ここで、図１５を参照して、図１３に示す入力ポート６における動作例を説明する。
なお、図１５は、同一の入力ポート６内の、閉塞ポート８に対応する入力キュー制御部６０、代替ポート８のうちの１つに対応する入力キュー制御部６０における各信号のタイミングチャートの一例を示す。以下、出力ポート用クレジット管理回路６０６は、出力ポート用クレジットを受信するとカウント値を加算するものとして説明する。
【０１２２】
図１５に示すように、タイミングｔ０では、ある出力ポート（後の閉塞ポート）８に対応する再送ステートマシン６３の状態は“3'b000”である。ここで、当該出力ポート８でエラー又は混雑が検出され、出力ポート閉塞信号Ｂ７が入力ポート６に入力されたとする。このとき、閉塞ポート８に対応する再送ステートマシン６３の状態は、タイミングｔ１で“3b'001”に遷移する。また、キュー保持エントリ数管理回路６０４のカウント値“１”は、キュー再送エントリ数管理回路６０５のカウント値“２”に上書きされる。さらに、出力ポート用クレジット管理回路６０６のカウント値は、閉塞ポート８への送信を停止するために“３”から“０”にリセットされる。
【０１２３】
次いで、入力ポート６に受付ポート５からの入力ポート６へのフレーム送信停止信号Ａ５が入力されると、閉塞ポート８に対応する再送ステートマシン６３の状態は、タイミングｔ２で“3b'010”に遷移する。このとき、代替ポート８に対応する入力キュー６１内の全フレームの出力が開始され、タイミングｔ３において、代替ポート８に対応するキュー保持エントリ数管理回路６０４及び出力ポート用クレジット管理回路６０６の各カウント値が減算される。また、タイミングｔ４において、対向ＬＳＩへのフレームの到達確認のためにタイミングｔ３よりも遅れて、代替ポート８に対応するキュー再送エントリ数管理回路６０５のカウント値が減算される。
【０１２４】
代替ポート８に対応するキュー再送エントリ数管理回路６０５のカウント値が“０”になると、閉塞ポート８に対応する再送ステートマシン６３の状態は、タイミングｔ５で“3b'011”に遷移する。このとき、閉塞ポート８に対応する入力キュー６１内の全フレームの出力が開始され、タイミングｔ６において、閉塞ポート８に対応するキュー保持エントリ数管理回路６０４のカウント値が減算される。また、このとき、閉塞ポート８に対応する入力キュー６１からのフレームは、代替ポート８に出力されるため、代替ポート８に対応する出力ポート用クレジット管理回路６０６のカウント値も減算される。さらに、タイミングｔ７において、対向ＬＳＩへのフレームの到達確認のためにタイミングｔ６よりも遅れて、閉塞ポート８に対応するキュー再送エントリ数管理回路６０５のカウント値が減算される。
【０１２５】
閉塞ポート８に対応するキュー再送エントリ数管理回路６０５のカウント値が“０”になると、閉塞ポート８に対応する再送ステートマシン６３の状態は、タイミングｔ８で“3b'100”に遷移する。このとき、当該再送ステートマシン６３は、管理部４へルーティングテーブル更新可能通知信号Ｂ９を送信する。また、再送ステートマシン６３は、管理部４から出力ポート切り替え完了信号を受信すると、受付ポート５へフレーム送信再開指示信号Ａ６を送信する。そして、閉塞ポート８に対応する再送ステートマシン６３の状態はタイミングｔ９で“3b'000”に遷移し、通常状態に戻る。
【０１２６】
〔１−７−３〕出力ポートの実施例
次いで、図１６を参照して、出力ポート８の実施例について説明する。
図１６に示すように、出力ポート８は、図５に示す出力キュー８１、及びセレクタ８２をそなえるとともに、以下の回路をさらにそなえることができる。つまり、出力ポート８は、キューリードリクエスト調停回路８３、フレーム送信可否判定回路８４、フレーム到達確認管理回路８５、及び出力ポート閉塞判定回路８６をそなえるとともに、入力ポート６ごとに出力キュー制御部８０をそなえることができる。なお、便宜上、図１６に示すように、出力キュー制御部８０を出力キュー制御部Ａ〜Ｃのいずれかで特定する場合がある。特に言及しない限り、出力キュー８１及びセレクタ８２の基本的な機能は図５に示すものと同様であるため、重複した説明を省略する。
【０１２７】
出力キュー制御部８０は、フレームの転送元となる入力ポート６ごとに設けられ、各々が、上述した出力キュー８１をそなえるとともに以下の回路８０１〜８０５をそなえることができる。
ライト制御回路８０１は、出力キュー８１へのライト制御を行なう。ライト制御回路８０１は、例えば、データパスを通過するフレームに関するフレーム送信制御情報Ｃ１を入力されると、出力キュー８１における次にライトされるエントリをライトポインタで指示する。なお、ライト動作は上述のようにクレジット管理されるため、出力キュー８１がオーバーフローする可能性は低い。
【０１２８】
リード制御回路８０２は、出力キュー８１からのリード制御を行なう。リード制御回路８０２は、出力キュー８１における次にリードするエントリをリードポインタで指示する。例えば、出力キュー８１にフレームが格納され（キュー保持エントリ数管理回路８０３の値が正）、且つキューリードリクエスト調停回路８３からキューリードリクエスト獲得信号Ｃ５を受信した場合、リード制御回路８０２は、フレームをリード可能となる。
【０１２９】
キュー保持エントリ数管理回路８０３は、出力キュー８１に保持されているエントリ数を管理する回路である。キュー保持エントリ数管理回路８０３は、例えば、カウンタ等の回路をそなえ、出力キュー８１にライトされたら当該回路のカウント値を加算し、出力キュー８１からリードされたらカウント値を減算することができる。
キューリードリクエスト生成回路８０４は、出力キュー８１からフレームをリード可能であることをキューリードリクエスト調停回路８３へ伝達するためのキューリードリクエスト信号Ｃ２を生成する回路である。キューリードリクエスト生成回路８０４は、例えば、出力キュー８１にフレームが格納されており、且つ対向ＬＳＩとの接続部９へ送信するデータパスのセレクタ８２が何も選択していない場合に、キューリードリクエスト信号Ｃ２を生成することができる。なお、キューリードリクエスト生成回路８０４は、キュー保持エントリ数管理回路８０３の値が正である場合に、出力キュー８１にフレームが格納されていると判断することができる。また、キューリードリクエスト信号Ｃ２には、フレーム長Ｃ３が付加されてよく、或いは含まれてもよい。
【０１３０】
出力ポート用クレジット生成回路８０５は、出力キュー８１に空きがある状態になった場合に、入力ポート６へ出力ポート用クレジットＢ３を送信する回路である。出力ポート用クレジット生成回路８０５は、例えば、カウンタ等の回路をそなえ、出力ポート８にフレームが入力されたら当該回路のカウント値を加算（又は減算）し、出力ポート用クレジットＢ３を送信したらカウント値を減算（又は加算）することができる。
【０１３１】
キューリードリクエスト調停回路８３は、各出力キュー制御部８０からキューリードリクエストＣ２及びフレーム長Ｃ３を受信し、フレーム送信可否判定回路８４からフレーム送信許可Ｃ４が出力されると、当該リクエストを調停する。そして、キューリードリクエスト調停回路８３は、調停で勝利した制御部８０へキューリードリクエスト獲得信号Ｃ５を送信し、調停で勝利した制御部８０をデータパスのセレクタ８２に選択させる入力ポート選択信号Ｃ６を出力する回路である。入力ポート選択信号Ｃ６は、調停で勝利した制御部８０から送信フレーム長Ｃ３のデータが出力される間、セレクタ８２が勝利した制御部８０を選択し続けるように出力されることが好ましい。
【０１３２】
フレーム送信可否判定回路８４は、接続部９へのフレームの送信が可能か否かを判定し、フレームの送信が可能であると判定した場合にフレーム送信許可Ｃ４をキューリードリクエスト調停回路８３へ出力する回路である。フレーム送信可否判定回路８４は、例えば対向ＬＳＩ等のフレームの転送先の状態に関するフレーム送信可否判定条件に基づいて、判定及びフレーム送信許可の出力を行なうことができる。フレーム送信可否判定回路８４の処理は、クレジット管理や、対向ＬＳＩの負荷状況等に基づくビジー（busy）管理等、種々の手法により実現することができる。また、フレーム送信可否判定回路８４は、フレーム送信を抑止すると判定した場合、出力ポート８からのフレームの送信停止を指示できることが好ましい。
【０１３３】
フレーム到達確認管理回路８５は、出力ポート８に接続される対向ＬＳＩへのフレームが到達したか否かを確認するための回路である。フレーム到達確認管理回路８５は、例えば、キューリードリクエスト調停回路８３からのキューリードリクエスト獲得信号Ｃ５が有効（例えば“1”）のときに、出力キュー８１から送信される情報Ｃ７，Ｃ８をフレームが送信された順番に記憶することができる。情報Ｃ７，Ｃ８としては、入力ポート６の情報、リードしたフレームのフレーム長Ｃ７、及び入力ポート制御部番号Ｃ８等のフレームに関する情報とすることができる。また、フレーム到達確認管理回路８５は、対向ＬＳＩからのフレーム正常到達確認信号Ｃ９を受信すると、記憶する情報Ｃ７，Ｃ８を古い方から順に解放することができる。また、フレーム到達確認管理回路８５は、情報Ｃ７，Ｃ８に基づいて、入力ポート６宛てに、キューフレーム解放信号Ｂ４、フレーム長Ｂ５、及び入力ポート制御部番号Ｂ６を送信することができる。
【０１３４】
出力ポート閉塞判定回路８６は、出力ポート８が、出力ポート８から対向ＬＳＩまでの間に故障又は混雑が発生していることを判定して出力ポート８を閉塞する。また、出力ポート閉塞判定回路８６は、出力ポート８を閉塞すると、入力ポート６宛てに出力ポート閉塞信号Ｂ７を、管理部４宛てに出力ポート閉塞信号Ｃ１０を、それぞれ送信する回路である。出力ポート閉塞判定回路８６は、例えば対向ＬＳＩ等のフレームの転送先の状態に関する出力ポート閉塞判定条件に基づいて、判定及び出力ポート閉塞信号Ｂ７の出力を行なうことができる。つまり、出力ポート閉塞判定回路８６は、対応する転送先へのフレームの出力状況（転送状態）を監視し、出力状況が所定の条件を満たした場合に、出力ポート閉塞信号Ｂ７，Ｃ１０を出力するのである。このように、出力ポート閉塞判定回路８６は、複数の転送先へのデータ転送の状態に応じて、出力ポート閉塞信号Ｂ７，Ｃ１０を出力する通知部の一例である。
【０１３５】
なお、各出力ポート８は、セレクタ８２（自出力ポート８）から転送先へのフレームの出力状況が第１の条件を満たすか否か、例えば送信頻度が第１の閾値を超えるか否かを判断することができる。また、各出力ポート８は、セレクタ８２（自出力ポート８）から転送先へのフレームの出力状況が第２の条件を満たすか否か、例えば送信頻度が第１の閾値よりも低い第２の閾値を未満であるか否かを判断することができる。
【０１３６】
再送ステートマシン６３は、出力状況が第１の条件を満たす第１の転送先（出力ポート８）に対応する入力キュー６１に格納された当該第１の転送先へのフレームを、セレクタ６２を制御して迂回路へ出力させることができる。例えば、再送ステートマシン６３は、第１の転送先に対応する入力キュー６１に格納された当該第１の転送先へのフレームを、出力状況が第２の条件を満たす第２の転送先（代替出力ポート８）へ出力するようにセレクタ６２を制御することができる。
【０１３７】
このように、情報処理システム１によれば、閉塞ポート８を閉鎖して代替ポート８に切り替えるだけでなく、出力ポート８に接続される入力ポート６（入力キュー６１）ごとにフレームの送信頻度等が監視される。そして、再送ステートマシン６３は、特定の入力ポート６（入力キュー６１）または全入力ポート６（入力キュー６１）からのフレームを、送信頻度の低い転送先（迂回路）に迂回させることができるため、スループットを向上させることができる。
【０１３８】
出力ポート閉塞判定回路８６は、出力ポート８の閉塞中は、出力ポート８内の回路を同期リセットしてもよい。また、出力ポート閉塞判定回路８６は、故障の場合は出力ポート閉塞信号Ｂ７を全入力ポート８に一斉に送信してもよく、混雑の場合は出力ポート閉塞信号Ｂ７を特定の入力ポート８宛てにのみ送信してもよい。さらに、出力ポート閉塞判定回路８６は、閉塞した出力ポート８を再利用する場合、入力ポート８から出力ポート閉塞解除信号Ｂ１１を受信し、出力ポート８内の同期リセットを解除することができる。
【０１３９】
〔２〕変形例
〔２−１〕第１変形例
一実施形態に係るクロスバ２は、図６に示すような、フレームごと（フレームの送信先ごと）に通常用出力ポート及び迂回用出力ポートが設定されるルーティングテーブル５３を保持するものとして説明したが、これに限定されるものではない。例えば、クロスバ２は、ルーティングテーブル５３に代えて、図１７に示すような、出力ポート８ごとに通常用出力ポート及び迂回用出力ポートが設定されるルーティングテーブル５３’を保持してもよい。特に言及しない限り、情報処理システム１の各構成は、図５等に示すものと同様であるため、重複した説明を省略する。
【０１４０】
図１７は、一実施形態の第１変形例に係るルーティングテーブル５３’のデータ構造を示す図である。図１７に示すように、ルーティングテーブル５３’は、図６に示すルーティングテーブル５３と比して、送信先のカラムが省略されている。また、ルーティングテーブル５３’のエントリの数は、クロスバ２にそなえられる出力ポート８の数（例えば３つ）に対応する。このように、第１変形例に係る情報処理システム１では、ルーティングテーブル５３’により出力ポート８ごとに迂回用出力ポート８が決まる。
【０１４１】
例えば、迂回用出力ポート管理回路６４は、自身に対応する出力ポート（通常用出力ポート）８をエントリとして、ルーティングテーブル５３’内の迂回用出力ポート８の情報を保持することができる。つまり、迂回用出力ポート管理回路６４は、上記（IV）の処理において、再送ステートマシン６３が閉塞ポート８に対応する入力キュー６１内のフレームを出力する際に、全フレームの出力先を１つの迂回用出力ポート８に変換することができる。一例として、図５に示すクロスバ２において出力ポートＡが閉塞ポート８である場合、再送ステートマシン６３は、上記（IV）の処理において、入力キュー６１内の全てのフレームを、迂回用出力ポートＢ（第１候補）へ出力することができる（図１７参照）。
【０１４２】
従って、第１変形例に係る情報処理システム１によれば、一実施形態と同様の効果を奏することができるほか、閉塞ポート８及び代替ポート８に該当しない他の出力ポート８が独立して動作できるため、クロスバ２のスループットを向上させることができる。
また、ルーティングテーブル５３’のデータ構造が簡素化するため、管理部４によるルーティングテーブル５３’の更新処理にかかる負荷を低減させることもできる。
【０１４３】
なお、管理部４（保持部４１）は、情報処理システム１内の全クロスバ２の全ルーティングテーブル５３’（図１７参照）の情報を管理情報４２として保持すればよい。
〔２−２〕第２変形例
一実施形態に係るクロスバ２は、図６に示すような、迂回用出力ポート８ごとに有効／無効のカラムを持つルーティングテーブル５３を保持するものとして説明したが、これに限定されるものではない。例えば、クロスバ２は、ルーティングテーブル５３に代えて、図１８に示すような、送信先出力ポート８をビット値によって通常用出力ポート８及び迂回用出力ポート８の中から選択可能なルーティングテーブル５３”を保持してもよい。特に言及しない限り、情報処理システム１の各構成は、図５等に示すものと同様であるため、重複した説明を省略する。
【０１４４】
図１８は、一実施形態の第２変形例に係るルーティングテーブル５３”のデータ構造を示す図である。図１８に示すように、ルーティングテーブル５３”は、図６に示すルーティングテーブル５３と比して、各迂回用出力ポート８の有効／無効のカラムが省略されている代わりに、出力ポート選択ビットのカラムが追加されている。例えば、ルーティングテーブル５３”では、出力ポート選択ビットのビット値と送信先出力ポート８とを、以下のように対応付けることができる。
【０１４５】
出力ポート選択ビットのビット値“00”：通常用出力ポート８
出力ポート選択ビットのビット値“01”：第１候補の迂回用出力ポート８
出力ポート選択ビットのビット値“10”：第２候補の迂回用出力ポート８
・・・
なお、迂回用出力ポート８の候補数に応じて、出力ポート選択ビットのビット幅を適宜増減してもよい。
【０１４６】
迂回用出力ポート管理回路６４は、一実施形態と同様に、受付キュー５１から入力キュー６１に入力されるフレームごとに、ルーティングテーブル５３”内の迂回用出力ポート８の情報を保持する。ここで、ルーティングテーブル５３”では、出力ポート選択ビットのビット値が送信先出力ポート８を示すため、迂回用出力ポート管理回路６４は、出力ポート選択ビットに“1”を加算したビット値に対応する迂回用出力ポート８の情報を保持すればよい。
【０１４７】
また、管理部４は、ルーティングテーブル５３”の更新処理において、一実施形態のように通常用出力ポート８を迂回用出力ポート８で上書きして迂回用出力ポート８の有効／無効を書き換える代わりに、出力ポート選択ビットのビット値を書き換えるだけでよい。
従って、第２変形例に係る情報処理システム１によれば、一実施形態と同様の効果を奏することができるほか、管理部４によるルーティングテーブル５３”の更新処理にかかる負荷を低減させることができる。
【０１４８】
なお、管理部４（保持部４１）は、情報処理システム１内の全クロスバ２の全ルーティングテーブル５３”（図１８参照）の情報と全クロスバ２の全出力ポート８の有効／無効の情報を管理情報４２として保持すればよい。また、管理部４は、ルーティングテーブル５３”の更新処理において、再利用しない出力ポート８の出力ポート番号については削除してもよい。
【０１４９】
また、第２変形例においては、一実施形態に係るルーティングテーブル５３の変形例を説明したが、第１変形例に係るルーティングテーブル５３’に対しても、第２変形例を適用することができる。すなわち、図１７に示すルーティングテーブル５３’に対して、各迂回用出力ポート８の有効／無効のカラムを省略し、代わりに出力ポート選択ビットのカラムを追加してもよい。第１変形例と第２変形例とを組み合わることにより、第１変形例と同様の効果を奏することができるほか、管理部４によるルーティングテーブル５３”の更新処理にかかる負荷を第１変形例よりも低減させることができる。
【０１５０】
〔２−３〕第３変形例
一実施形態に係るクロスバ２は、再送ステートマシン６３を各入力ポート６の各入力キュー制御部６０内にそなえるものとして説明したが、これに限定されるものではない。
図１９は、一実施形態の第３変形例に係る再送ステートマシン６３’の構成を示す図である。例えば、クロスバ２は、図１９に示す再送ステートマシン６３’を入力キュー制御部６０の外部にそなえ、入力キュー制御部６０と再送ステートマシン６３’とを配線で接続することができるほか、ソケットやピン等により接続してもよい。
【０１５１】
図１９に示すように、第３変形例に係る再送ステートマシン６３’は、例えば、状態管理部６３１、代替出力制御部６３２、管理部制御部６３３、出力ポート制御部６３４、及び受付ポート制御部６３５をそなえることができる。
状態管理部６３１は、レジスタ等の記憶装置をそなえ、上述した（Ｉ）〜（Ｖ）の状態を管理する（図１０参照）。状態管理部６３１は、図１３に示す出力ポート閉塞信号Ｂ７、入力ポート６へのフレーム送信停止信号Ａ５、出力ポート切り替え完了信号Ｂ１０、及びキュー再送エントリ数Ｂ２をそれぞれ入力され、各信号の入力に応じてレジスタ値を変化させる。
【０１５２】
代替出力制御部６３２は、状態管理部６３１のレジスタ値が“3'b011”の場合に、代替出力処理を行なうものであり、例えば、迂回用出力ポート管理回路６４が示す代替ポート８に応じたセレクタ６２を制御させる信号Ｄ１を、選択信号生成回路６０７へ送信する。換言すれば、代替出力制御部６３２は、状態管理部６３１が管理するデータ転送の状態に応じて、一の転送先に対応する入力キュー６１に格納された一の転送先へのフレームを、代替の転送先へ出力するように、セレクタ６２を制御するものである。
【０１５３】
管理部制御部６３３は、状態管理部６３１のレジスタ値が“3'b100”の場合に、管理部４へルーティングテーブル更新可能通知信号Ｂ９を送信する。
出力ポート制御部６３４は、状態管理部６３１のレジスタ値が“3'b100”の場合、且つ管理部４によりルーティングテーブル５３が更新されなかった場合に、出力ポート８へ出力ポート閉塞解除信号Ｂ１１を送信する。
【０１５４】
受付ポート制御部６３５は、受付ポート５へフレーム送信再開指示信号Ａ６を送信する。なお、受付ポート制御部６３５は、状態管理部６３１のレジスタ値が“3'b100”の場合、且つ、ルーティングテーブル５３が更新された場合又は出力ポート制御部６３４が出力ポート閉塞解除信号Ｂ１１を送信した場合に、上記処理を行なう。
このように、第３実施例に係る再送ステートマシン６３’によれば、転送経路の変更処理を管理する機能をクロスバ２の外部に設けることができ、再送ステートマシン６３’の交換により制御態様（論理）を容易に変更することができる。これにより、情報処理システム１の運用形態や構成の変化に応じた再送ステートマシン６３’の更新を、クロスバ２全体を交換するよりも低コストに実現することができる。
【０１５５】
なお、再送ステートマシン６３’は、クロスバ２を制御する制御装置の一例である。当該制御装置には、入力ポート６内又はクロスバ２内の複数の再送ステートマシン６３’を集積させてもよく、入力キュー制御部６０における迂回用出力ポート管理回路６４や選択信号生成回路６０７等の複数の回路を含めてもよい。また、図１９に示す各機能（回路）ブロックは、図５又は図１３に示す再送ステートマシン６３にそなえられてもよい。
【０１５６】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述したクロスバ２は、受付ポート５、入力ポート６、出力ポート８、及び接続部９をそれぞれ３つそなえるものとして説明したが、これに限定されるものではなく、それぞれ２つ、又は４つ以上そなえてもよい。また、クロスバ２は、例えば少なくとも入力ポート６を１以上そなえ、出力ポート８を転送先の数だけそなえればよい。さらに、ルーティングテーブル５３，５３’，５３”は、受付ポート５ごとにそなえられなくてもよく、管理部４がそなえる管理情報４２と同様のものがクロスバ２にそなえられてもよい。また、セレクタ６２は、入力ポート６の外部にそなえられてもよい。
【０１５７】
また、クロスバ２（受付ポート５、入力ポート６、ルーティング部７、出力ポート８、及び接続部９）の各機能は、任意の組み合わせで統合又は分散してもよい。
さらに、図１０のステップＳ１３及びＳ１４の処理順序は、上述したものに限定されるものではなく、順序を入れ替えてもよい。この場合、再送ステートマシン６３のレジスタ値が示す状態も入れ替えればよい。
【０１５８】
さらに、図２に示す情報処理システム１が複数のクロスバ２をそなえるものとして説明したが、これに限定されるものではない。例えば、情報処理システム１は、１つのクロスバ２をそなえてもよい。この場合、クロスバ２と送信先装置３との間には、異なる２以上の転送経路（例えばバス，ケーブル，無線通信路等のうちの同種又は異種の２以上の組み合わせ）が存在すればよい。また、クロスバ２は、送信先装置３への複数の転送先のいずれかへフレームを出力すればよい。
【符号の説明】
【０１５９】
１    情報処理システム（情報処理装置）
２，２Ａ〜２Ｉ    クロスバ（データ転送装置）
３，３Ａ〜３Ｆ    装置
４    管理部（更新部）
５    受付ポート（抑止部）
６    入力ポート
７    ルーティング部
８    出力ポート（出力部）
９    接続部
４０ａ    ＣＰＵ
４０ｂ    メモリ
４０ｃ    記憶部
４０ｄ    インタフェース部
４０ｅ    入出力部
４０ｆ，４０ｈ    記録媒体
４０ｇ    読取部
４１，５２    保持部
４２    管理情報
５１    受付キュー（受付格納部）
５３，５３’，５３”    ルーティングテーブル（転送先情報）
５４    フレーム送信判定回路（受付制御部）
６１    入力キュー（格納部）
６２    セレクタ（切替部）
６３，６３’    再送ステートマシン（制御部，制御装置）
６４    迂回用出力ポート管理回路
８１    出力キュー
８２    セレクタ
８６    出力ポート閉塞判定回路（通知部）
【図１】
2015083212.tif 000003
【図２】
2015083212.tif 000004
【図３】
2015083212.tif 000005
【図４】
2015083212.tif 000006
【図５】
2015083212.tif 000007
【図６】
2015083212.tif 000008
【図７】
2015083212.tif 000009
【図８】
2015083212.tif 000010
【図９】
2015083212.tif 000011
【図１０】
2015083212.tif 000012
【図１１】
2015083212.tif 000013
【図１２】
2015083212.tif 000014
【図１３】
2015083212.tif 000015
【図１４】
2015083212.tif 000016
【図１５】
2015083212.tif 000017
【図１６】
2015083212.tif 000018
【図１７】
2015083212.tif 000019
【図１８】
2015083212.tif 000020
【図１９】
2015083212.tif 000021
【手続補正書】
【提出日】平成27年7月15日(2015.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する複数のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、情報処理装置。
【請求項２】
前記データ転送装置は、
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項２記載の情報処理装置。
【請求項４】
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記データ転送装置は、
入力される転送データの前記複数の格納部への格納を抑止する抑止部をさらに有し、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、請求項２又は請求項３記載の情報処理装置。
【請求項５】
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、データ転送装置。
【請求項７】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する１以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう
ことを特徴とする、データ転送方法。
【請求項８】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、を有する
ことを特徴とする、制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５８
【補正方法】変更
【補正の内容】
【０１５８】
さらに、図２に示す情報処理システム１が複数のクロスバ２をそなえるものとして説明したが、これに限定されるものではない。例えば、情報処理システム１は、１つのクロスバ２をそなえてもよい。この場合、クロスバ２と送信先装置３との間には、異なる２以上の転送経路（例えばバス，ケーブル，無線通信路等のうちの同種又は異種の２以上の組み合わせ）が存在すればよい。また、クロスバ２は、送信先装置３への複数の転送先のいずれかへフレームを出力すればよい。
〔４〕付記
以上の実施形態及び各変形例に関し、更に以下の付記を開示する。
（付記１）
データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する複数のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、情報処理装置。
（付記２）
前記データ転送装置は、
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記１記載の情報処理装置。
（付記３）
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記２記載の情報処理装置。
（付記４）
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記データ転送装置は、
入力される転送データの前記複数の格納部への格納を抑止する抑止部をさらに有し、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、付記２又は付記３記載の情報処理装置。
（付記５）
前記データ転送装置は、
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記１〜４のいずれか１項記載の情報処理装置。
（付記６）
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、付記１〜５のいずれか１項記載の情報処理装置。
（付記７）
前記制御部は、前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記１〜６のいずれか１項記載の情報処理装置。
（付記８）
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、データ転送装置。
（付記９）
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記８記載のデータ転送装置。
（付記１０）
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記９記載のデータ転送装置。
（付記１１）
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記８〜１０のいずれか１項記載のデータ転送装置。
（付記１２）
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、付記８〜１１のいずれか１項記載のデータ転送装置。
（付記１３）
前記制御部は、前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記８〜１２のいずれか１項記載のデータ転送装置。
（付記１４）
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する１以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう
ことを特徴とする、データ転送方法。
（付記１５）
前記一の転送先に対応する格納部に格納された転送データについて、保持部に保持された前記転送データの１以上の転送先に関する転送先情報に前記他の転送先が含まれる場合、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記１４記載のデータ転送方法。
（付記１６）
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記１５記載のデータ転送方法。
（付記１７）
入力される転送データの前記複数の格納部への格納を抑止し、
前記転送データの前記複数の格納部への格納が抑止されている場合に、
前記代替出力処理を行ない、
前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、付記１５又は付記１６記載のデータ転送方法。
（付記１８）
前記代替出力処理において、前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部のうちの一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む１以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記１４〜１７のいずれか１項記載のデータ転送方法。
（付記１９）
前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データを対応する格納部へ順次出力し、
前記切替部から前記一の転送先へのデータ転送の状態が所定の条件を満たした場合に、前記受付格納部から出力中の転送データの出力が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止し、
前記代替出力処理が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を再開する
ことを特徴とする、付記１４〜１８のいずれか１項記載のデータ転送方法。
（付記２０）
前記切替部から第１の転送先への転送データの出力状況が第１の条件を満たす場合であって、前記切替部から第２の転送先への転送データの出力状況が第２の条件を満たす場合、前記第１の転送先に対応する格納部に格納された前記第１の転送先への転送データを、前記第２の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記１４〜１９のいずれか１項記載のデータ転送方法。
（付記２１）
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、を有する
ことを特徴とする、制御装置。
【手続補正書】
【提出日】平成28年10月21日(2016.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する１以上のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部と、を有する
ことを特徴とする、情報処理装置。
【請求項２】
前記データ転送装置は、
前記転送データの１以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記転送先情報は、前記転送データの送信先装置に応じた１以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項２記載の情報処理装置。
【請求項４】
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、請求項２又は請求項３記載の情報処理装置。
【請求項５】
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部と、を有する
ことを特徴とする、データ転送装置。
【請求項７】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する１以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行ない、
前記複数の転送先へのデータ転送の状態に応じて、前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データの前記複数の格納部への格納を抑止する
ことを特徴とする、データ転送方法。
【請求項８】
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、
前記複数の転送先へのデータ転送の状態に応じて、前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部に対して、前記受付格納部に格納された転送データの前記複数の格納部への格納を再開させる受付格納制御部と、を有する
ことを特徴とする、制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本件の情報処理装置は、データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、１以上のデータ転送装置と、をそなえる。前記１以上のデータ転送装置は、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する。前記データ転送装置は、複数の格納部と、切替部と、制御部と、受付格納部と、抑止部とを有する。前記複数の格納部は、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する。前記切替部は、前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する。前記制御部は、前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう。前記受付格納部は、前記複数の格納部に格納される転送データを一括して格納する。前記抑止部は、前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する。
【国際調査報告】
2015083212.tif 000022
2015083212.tif 000023
2015083212.tif 000024