(57)【要約】【課題】単純な構成でリンクダウンによるパケットロスに起因する障害の発生を回避する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法を提供する。【解決手段】サーバ１０１は、主記憶部１１４に格納されたデータを複数のパケットに分割して送信するＲＤＭＡ送信部１１５と、送信開始時刻をパケットに付加する時刻埋込部１１２とを備える。スイッチ２０１は、パケットを受信する受信部２１３と、受信部２１３が受信したパケットを転送する転送部２１４と、受信部２１３又は転送部２１４のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部２１２と、送信開始時刻と、リンクアップ発生時刻とを比較し、リンクアップ発生時刻が送信開始時刻よりも後の場合、データの送信の完了を防止する送信完了防止部２１５とを備える。【選択図】図２
2014183401.tif 000002
【特許請求の範囲】
【請求項１】
データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムであって、
前記情報処理装置は、
主記憶部と、
前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備え、
前記データ転送装置は、
前記送信部が送信したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とする情報処理システム。
【請求項２】
前記送信部は、オペレーティングシステムに依存せずに、前記主記憶部に格納されたデータを他の情報処理装置の主記憶部へ送信することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記時刻付加部は、データの最終パケットに前記送信開始時刻を付加し、
前記送信完了防止部は、前記情報処理装置が送信したデータの最終パケットを前記受信部が受信した場合、前記送信開始時刻と前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させないことを特徴とする請求項１又は請求項２に記載の情報処理システム。
【請求項４】
前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、最終パケットを破棄することを特徴とする請求項１〜３のいずれか一つに記載の情報処理システム。
【請求項５】
前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記受信部が受信したパケットにエラー情報を付加し前記転送部に転送させて、転送先の前記情報処理装置へ前記データの送信失敗を通知することを特徴とする請求項１〜３のいずれか一つに記載の情報処理システム。
【請求項６】
前記送信完了防止部は、前記送信開始時刻より所定時間前の時刻よりも前記リンクアップ発生時刻が後の場合、前記データの送信を完了させないことを特徴とする請求項１〜５のいずれか一つに記載の情報処理システム。
【請求項７】
主記憶部と、
パケットを受信する受信部、前記受信部が受信した前記パケットを宛先の前記情報処理装置に向けて転送する転送部、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部、及び前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部を有するデータ転送装置を介して、前記主記憶部に格納されたデータを複数のパケットに分割して前記宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備えたことを特徴とする情報処理装置。
【請求項８】
主記憶部、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の前記情報処理装置に送信する送信部、及び前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部を有する情報処理装置が送出したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とするデータ転送装置。
【請求項９】
データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムの制御方法であって、
前記情報処理装置に、主記憶部に格納されたデータを複数のパケットに分割させ、
前記情報処理装置に、前記パケットに前記データの送信開始時刻を付加させ、
前記情報処理装置に、前記パケットを宛先の情報処理装置に向けて送信させ、
前記データ転送装置に、前記情報処理装置が送出したパケットを受信させ、
前記データ転送装置に、前記パケットの受信元の接続又は前記パケットの転送先の接続のいずれかに接続されている接続のリンクアップを検出させ、
前記データ転送装置に、受信したパケットに付加された前記送信開始時刻と、リンクダウンを検出したリンクダウン発生時刻とを比較し、前記リンクダウン発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない
ことを特徴とする情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法に関する。
【背景技術】
【０００２】
一般に、データ転送を行うネットワークを介して複数の情報処理装置を有する情報処理システムでは、各情報処理装置上で実行されるアプリケーションなどの上位ソフトからデータ転送の要求がなされた場合、要求されたデータは複数のパケットに分割されて転送される。
【０００３】
そして、複数のパケットに分割されたデータの転送においては、最終パケットが宛先ノードに到達すると、宛先ノードは、最終パケットに含まれる付加情報からデータの転送の完了を認識する。その後、宛先ノードは、上位ソフトに一つのデータ転送が完了したことを通知する。
【０００４】
さらに、スーパーコンピュータ等の並列計算機を代表とする大規模な情報処理システムにおいては、ＲＤＭＡ（Remote  Direct  Memory  Access）が採用されることが多い。ＲＤＭＡとは、２つのネットワークコントローラ間で、ある計算ノード上のメモリデータを別の計算ノード上のメモリに直接転送する機能である。ＲＤＭＡを用いることで、高スループット且つ低レンテンシの通信が行えるようになる。特に近年では、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）に用いるネットワークであるイーサネット（登録商標）を利用してＲＤＭＡのプロトコル通信を行うことができるようになってきている。そのため、ＲＤＭＡを採用するシステムが増加してきている。
【０００５】
ＲＤＭＡを採用した場合、パケットの送達保証方式として、ネットワークのリンクレベルで再送を行う方式が用いられることが多い。この場合、ネットワーク部分でパケットの送達保証が行われるため、例えば、パケットの送受信を行うノード間において、ビットエラーなどで破棄されたパケットを検出し再送する手段が無い。
【０００６】
ネットワークのリンクレベルの送達保証の例外として、ハードウェアの故障によりリンクダウンが発生した場合がある。一般的に、リンクダウンは、ハードウェアの故障により発生し、復旧するまでの時間保証が無い。そのため、リンクダウンをした場合、情報処理システムは、ネットワークにパケットが滞留することを防止するため、リンクダウンが発生した箇所を通過しようとするパケットを破棄する。このようなリンクダウンのエラーは、情報処理システムの外部の装置監視系によりネットワークのハードウェアエラーとして検出される。
【０００７】
ところで、ハードウェアの一時的な故障によりリンクダウンが発生するものの、その後直ぐにリンクアップが可能となる場合がある。一連のパケットを転送するデータ転送の前半や途中でこのような事象が発生した場合、前半や途中のパケットは破棄されているのに、最終パケットを含む後半の部分が宛先ノードに送達されてしまうおそれがある。この場合、宛先ノードは、最終パケットを受信したことにより上位ソフトに対してデータ転送が完了したことを通知してしまう。これにより、データ転送における事実上のデータ化けが発生してしまう。そして、その後処理が進むと、ファイルシステムの内容変更のコミットなどがなされてしまい、後戻りができなくなり、以降の処理に副作用のある操作がコミットされてしまうおそれがある。
【０００８】
このような、データ転送におけるパケットの抜けを防止するため、従来は以下のようなシーケンスが実行されていた。そのシーケンスとしては、まず、一度リンクダウンが発生するとリンクダウンしたままにする。そして、外部の装置監視系がリンクダウンエラーを検出すると、情報処理システムは、運用管理ソフトにリンクダウンエラーの発生を通知し、リンクダウン箇所を使用する可能性のある、アプリケーションを全てエラー終了させる。そして、情報処理システムは、装置監視系経由でリンクダウン箇所を再度リンクアップさせる。その後、情報処理システムは、リンクダウンした箇所を使用するアプリケーションを再実行する。
【０００９】
また、パケットを用いた通信技術として、パケットにシーケンス番号を振り、シーケンス番号の抜けを見つけることでパケットロスの検出を行う従来技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２０８６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、アプリケーションを全て止めた後にリンクダウン箇所をリンクアップさせる従来技術では、本来独立して動く装置監視系と運用管理ソフトとを連携させることになり、情報処理システムの構成が複雑になってしまう。
【００１２】
また、シーケンス番号を用いる従来技術を利用することも考えられるが、スーパーコンピュータやクラウドシステムなどのノード間データ転送では、ノードが非常に多いためシーケンス番号の必要数が莫大となりコンテクスト管理が困難となるため実現困難である。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、単純な構成でリンクダウンによるパケットロスに起因する障害の発生を回避する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法は、一つの態様において、データ転送装置を介して互いに接続された複数の情報処理装置を有する。前記情報処理装置は、主記憶部と、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備える。前記データ転送装置は、前記送信部が送信したパケットを受信する受信部と、前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部とを備える。
【発明の効果】
【００１５】
本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法の一つの態様によれば、リンクダウンによるパケットロスに起因する障害の発生を回避することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、情報処理システムの一例を示すシステム構成図である。
【図２】図２は、実施例１に係る情報処理システムのブロック図である。
【図３】図３は、最終パケットの一例を示す図である。
【図４Ａ】図４Ａは、開始パケット送信時のサーバの動作を説明するための図である。
【図４Ｂ】図４Ｂは、中間パケット送信時のサーバの動作を説明するための図である。
【図４Ｃ】図４Ｃは、最終パケット送信時のサーバの動作を説明するための図である。
【図５Ａ】図５Ａは、リンクアップ発生時のスイッチの動作を説明するための図である。
【図５Ｂ】図５Ｂは、最終パケット転送時のスイッチの動作を説明するための図である。
【図６】図６は、スイッチによるパケットの転送中にリンクアップが発生した場合のパケットの出力について説明するための図である。
【図７】図７は、スイッチによるパケットの転送前にリンクアップが発生した場合のパケットの出力について説明するための図である。
【図８】図８は、スイッチによるパケットの転送中にリンクダウンが発生しパケットの転送中にはリンクアップしなかった場合のパケットの出力について説明するための図である。
【図９】図９は、サーバによるパケットの送信処理のフローチャートである。
【図１０】図１０は、スイッチによるパケットの転送処理のフローチャートである。
【図１１】図１１は、サーバによるパケットの受信処理のフローチャートである。
【図１２】図１２は、実施例２に係る情報処理システムのブロック図である。
【図１３】図１３は、実施例３に係る情報処理システムのブロック図である。
【図１４】図１４は、サーバのハードウェア構成図である。
【図１５】図１５は、スイッチのハードウェア構成図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法が限定されるものではない。
【実施例１】
【００１８】
図１は、情報処理システムの一例を示すシステム構成図である。図１に示すように、本実施例に係る情報処理システムは、サーバ１０１及び１０２、並びに、スイッチ２０１〜２０３を有する。
【００１９】
サーバ１０１とサーバ１０２とは、スイッチ２０１〜２０３を介して相互に接続されている。そして、サーバ１０１、スイッチ２０１〜２０３及びサーバ１０２を繋ぐネットワークはＲＤＭＡ通信を行うプロトコルに対応している。例えば、サーバ１０１及び１０２のネットワークインタフェースカード、並びにスイッチ２０１〜２０３がＴＣＰ／ＩＰに通信で用いるネットワークに対応するＲＤＭＡ技術を採用する場合、各機器を繋ぐネットワークとしてイーサネット（登録商標）を用いることができる。
【００２０】
ここで、図１では、説明の便宜上、２台のサーバ１０１及び１０２、並びに、３台のスイッチ２０１〜２０３を記載しているが、本実施例に係る情報処理システムでは他のサーバやスイッチが配置されていてもよい。また、スイッチ２０１〜２０３には、他のサーバが接続されていてもよい。さらに、サーバ１０１及び１０２間を接続するスイッチの台数は１台以上であれば３台でなくてもよい。
【００２１】
図２は、実施例１に係る情報処理システムのブロック図である。ここでは、サーバ１０１からサーバ１０２へＲＤＭＡによるデータ転送を行う場合を例に説明する。そのため、図２では、サーバ１０１にはデータの送信を行うための機能ブロックのみを記載し、サーバ１０２にはデータの受信を行うための機能ブロックのみを記載している。ただし、実際にはサーバ１０１及びサーバ１０２ともにデータの送受信が可能であるので、サーバ１０１もデータの受信を行うための機能を有し、サーバ１０２もデータの送信を行うための機能を有する。また、スイッチ２０１〜２０３は、いずれも同様の構成を有するため、以下の説明では、スイッチ２０１を例に説明する。そこで、図２では、スイッチ２０１の機能ブロックのみを記載している。ただし、スイッチ２０２及び２０３もスイッチ２０１と同様の構成を有する。
【００２２】
サーバ１０１は、時計１１１、時刻埋込部１１２、主記憶部１１４及びＲＤＭＡ送信部１１５を有する。
【００２３】
時計１１１は、現在時刻を通知する時計である。
【００２４】
主記憶部１１４は、メモリなどである。サーバ１０１はアプリケーションを実行し、主記憶部１１４は、アプリケーションの実行による処理結果などのデータを格納する。
【００２５】
ＲＤＭＡ送信部１１５は、主記憶部１１４に格納されたデータを分割する分割位置を算出する。そして、ＲＤＭＡ送信部１１５は、算出した分割位置で、主記憶部１１４に格納されたデータを分割し、パケットを生成する。
【００２６】
ＲＤＭＡ送信部１１５は、生成したパケットのサーバ１０２の主記憶部１２１への送信を開始する。以下では、ＲＤＭＡ送信部１１５が送信する最初のパケットを「開始パケット」という。また、ＲＤＭＡ送信部１１５が送信する最後のパケットを「最終パケット」という。さらにＲＤＭＡ送信部１１５により送信される開始パケットと最終パケットとの間のパケットを「中間パケット」という。
【００２７】
ＲＤＭＡ送信部１１５は、開始パケットをスイッチ２０１へ送信する。この時、ＲＤＭＡ送信部１１５は、開始パケットの送信を時刻埋込部１１２へ通知する。ＲＤＭＡ送信部１１５は、開始パケットを送信した後、中間パケットを順次送信していく。そして、ＲＤＭＡ送信部１１５は、後述する時刻埋込部１１２により開始パケットを送信した時刻（以下では、「送信開始時刻」という。）が埋め込まれた最終パケットを最後に送信する。
【００２８】
時刻埋込部１１２は、送信開始時刻レジスタ１１３を有する。
【００２９】
時刻埋込部１１２は、開始パケットの送信の通知をＲＤＭＡ送信部１１５から受ける。時刻埋込部１１２は、開始パケットの送信の通知を受信した時刻を時計１１１から取得する。以下では、時刻埋込部１１２が取得した時刻を「送信開始時刻」という。時刻埋込部１１２は、送信開始時刻を送信開始時刻レジスタ１１３に格納する。
【００３０】
そして、時刻埋込部１１２は、ＲＤＭＡ送信部１１５が生成したパケットのヘッダを確認し、ＲＤＭＡ送信部１１５が送信しようとするパケットが最終パケットか否かを判定する。ＲＤＭＡ送信部１１５が送信しようとするパケットが最終パケットであれば、最終パケットをＲＤＭＡ送信部１１５から取得し、最終パケットのヘッダに送信開始時刻レジスタ１１３に格納してある送信開始時刻を埋め込む。そして、時刻埋込部１１２は、送信開始時刻をヘッダに埋め込んだ最終パケットをＲＤＭＡ送信部１１５へ送信する。
【００３１】
図３は、最終パケットの一例を示す図である。図３に示すように、最終パケット３００は、ヘッダ３０１及びペイロード３１０を有する。ヘッダ３０１は、データの送信先の識別情報やペイロード３１０のサイズが格納される。特に、最終パケット３００のヘッダ３０１には、ＲＤＭＡライト先頭アドレスやＲＤＭＡライト全体アドレスが格納される。これに対して、ＲＤＭＡライト先頭アドレスやＲＤＭＡライト全体アドレスは、開始パケットや中間パケットのヘッダには格納されていない。また、最終パケット３００のヘッダ３０１には、送信開始時刻３０２が格納される。ペイロード３１０は、メモリに格納されていたデータを分割したデータである。
【００３２】
さらに、図４Ａ〜図４Ｃを参照して、各パケットを送信する場合のサーバ１０１の各部の動作をまとめて説明する。図４Ａは、開始パケットの送信時のサーバの動作を説明するための図である。図４Ｂは、中間パケットの送信時のサーバの動作を説明するための図である。図４Ｃは、最終パケットの送信時のサーバの動作を説明するための図である。
【００３３】
開始パケット送信時、図４Ａに示すように、ＲＤＭＡ送信部１１５は、開始パケット５０１を生成する。そして、ＲＤＭＡ送信部１１５は、生成した開始パケット５０１をスイッチ２０１へ送信する。この時、ＲＤＭＡ送信部１１５は、開始パケット５０１の送信を時刻埋込部１１２へ通知する。
【００３４】
時刻埋込部１１２は、開始パケット５０１の送信の通知をＲＤＭＡ送信部１１５から受ける。そして、時刻埋込部１１２は、開始パケット５０１の送信の通知を受け取った時刻（送信開始時刻）を時計１１１から取得する。次に、時刻埋込部１１２は、取得した送信開始時刻を送信開始時刻レジスタ１１３に格納する。
【００３５】
中間パケット送信時、図４Ｂに示すように、ＲＤＭＡ送信部１１５は、中間パケット５０２を生成する。そして、ＲＤＭＡ送信部１１５は、生成した中間パケット５０２をスイッチ２０１へ送信する。ＲＤＭＡ送信部１１５が中間パケット５０２を送信したら、時刻埋込部１１２は、ＲＤＭＡ送信部１１５によって生成されたパケットのヘッダを確認することで、送信したパケットが中間パケット５０２であることを把握する。そして、この間、時刻埋込部１１２は、送信開始時刻を送信開始時刻レジスタ１１３の中に保持し続ける。図４Ｂにおける送信開始時刻レジスタ１１３から出て戻ってくる破線矢印は、送信開始時刻レジスタ１１３が送信開始時刻を保持中であることを表している。
【００３６】
最終パケット送信時、図４Ｃに示すように、ＲＤＭＡ送信部１１５は、最終パケット５０３を生成する。この時、時刻埋込部１１２は、ＲＤＭＡ送信部１１５が作成したパケットのヘッダを確認し、そのパケットが最終パケット５０３であることを特定する。そして、時刻埋込部１１２は、送信開始時刻レジスタ１１３に格納された送信開始時刻を最終パケット５０３へ埋め込む。その後、ＲＤＭＡ送信部１１５は、最終パケット５０３をスイッチ２０１へ送信する。
【００３７】
図２に戻って説明を続ける。スイッチ２０１は、時計２１１、リンクアップ時刻取得部２１２、受信部２１３、転送部２１４及び送信完了防止部２１５を有する。
【００３８】
受信部２１３は、開始パケット、中間パケット及び最終パケットを順次ＲＤＭＡ送信部１１５から受信する。受信部２１３は、受信した開始パケット、中間パケット及び最終パケットを転送部２１４へ順次送信する。さらに、受信部２１３は、受信した開始パケット、中間パケット及び最終パケットのヘッダそれぞれを送信完了防止部２１５へ順次送信する。
【００３９】
時計２１１は、現在時刻を通知する時計である。時計２１１と時計１１１とは同期が実施されており時刻が一致する。例えば、時計１１１及び時計２１１の同期には、ＮＴＰ（Network  Time  Protocol）を用いてソフトにより同期を行う方法や、ハードウェアによる専用の同期プロトコルを用いて同期を行う方法などがある。
【００４０】
リンクアップ時刻取得部２１２は、転送部２１４のパケットの出力などを監視することで、スイッチ２０１とスイッチ２０２との間の接続状態を監視する。例えば、リンクアップ時刻取得部２１２は、転送部２１４のパケットの出力が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、転送部２１４のパケットの出力が開始された場合、リンクアップ時刻取得部２１２は、リンクアップと判定する。
【００４１】
リンクアップ時刻取得部２１２は、リンクアップが発生したと判定した場合、時計２１１から時刻を取得する。以下では、リンクアップ時刻取得部２１２が取得した時刻をリンクアップ時刻という。そして、リンクアップ時刻取得部２１２は、取得したリンクアップ時刻を送信完了防止部２１５へ出力する。
【００４２】
送信完了防止部２１５は、記憶装置であるリンクアップ時刻レジスタ２１６を有する。送信完了防止部２１５は、リンクアップ時刻をリンクアップ時刻取得部２１２から受信する。そして、送信完了防止部２１５は、受信したリンクアップ時刻をリンクアップ時刻レジスタ２１６へ格納する。リンクアップ時刻レジスタ２１６に既にリンクアップ時刻が格納される場合には、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６が格納するリンクアップ時刻を、新たに取得したリンクアップ時刻で上書きし更新する。すなわち、送信完了防止部２１５は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ２１６に保持する。
【００４３】
また、送信完了防止部２１５は、開始パケット、中間パケット及び最終パケットのヘッダを受信部２１３から順次取得していく。そして、送信完了防止部２１５は、ヘッダを参照して受信部２１３が受信し転送部２１４に送信したパケットが最終パケットか否かを判定する。例えば、送信完了防止部２１５は、ヘッダの中にＲＤＭＡライト先頭アドレスやＲＤＭＡライト全体アドレスが格納するか否かにより、そのヘッダを有するパケットが最終パケットか否かを判定できる。
【００４４】
最終パケットであれば、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６に格納するリンクアップ時刻と、最終パケットに格納された送信開始時刻を比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部２１５は、リンクダウンに起因するパケットロスが発生したと判定する。そして、送信完了防止部２１５は、転送部２１４に最終パケットの破棄を指示する。
【００４５】
転送部２１４は、開始パケット、中間パケット及び最終パケットを受信部２１３から順次受信する。そして、転送部２１４は、受信した開始パケット及び中間パケットを順次スイッチ２０２へ出力する。また、転送部２１４は、受信部２１３から最終パケットを受信した場合、送信完了防止部２１５から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、転送部２１４は、最終パケットを破棄し、スイッチ２０２への最終パケットの出力は行わない。これに対して、最終パケット破棄の指示がない場合、転送部２１４は、最終パケットをスイッチ２０２へ出力する。
【００４６】
ここで、図５Ａ及び図５Ｂを参照して、リンクアップ発生時のスイッチ２０１の動作及び最終パケット転送時の動作をまとめて説明する。図５Ａは、リンクアップ発生時のスイッチの動作を説明するための図である。図５Ｂは、最終パケット転送時のスイッチの動作を説明するための図である。本実施例に係るスイッチ２０１は、例えば、図５Ａ及び図５Ｂに示すように８個のポートを有する。図５Ａ及び図５Ｂでは、スイッチ２０１の各ポートをポート２２０Ａ〜２２０Ｈとして表している。ポート２２０Ａ〜ポート２２０Ｈは、パケットの受信及び送信の機能を有しており、図２における受信部２１３及び転送部２１４の双方の機能を有する。また、ポート２２０Ａ〜２２０Ｈそれぞれが有するリンクアップ時刻レジスタをリンクアップ時刻レジスタ２１６Ａ〜２１６Ｈとして表す。また、図１に示した各部の内説明に不要なものは図５Ａ及び図５Ｂでは省略している。
【００４７】
図５Ａ及び図５Ｂでは、ポート２２０Ｃの接続においてリンクダウンが発生しその後リンクアップが発生し、その他のポート２２０Ａ及び２２０Ｂ〜２２０Ｈでは、リンクダウンが発生していない場合で説明する。ポート２２０Ｃの接続においてリンクアップが発生すると、リンクアップ時刻取得部２１２が取得した時刻がリンクアップ時刻レジスタ２１６Ｃに格納される。また、ポート２２０Ａ及び２２０Ｂ〜２２０Ｈではリンクダウンが発生しておらずそれに伴うリンクアップも発生していない。そこで、リンクアップ時刻レジスタ２１６Ａ及び２１６Ｂ〜２１６Ｇでは、リンクアップ時刻が保持される。図５Ａのリンクアップ時刻レジスタ２１６Ａ及び２１６Ｂ〜２１６Ｇにおける破線矢印は、リンクアップ時刻の保持を表している。
【００４８】
次に、図５Ｂの破線矢印２３１のように、最終パケット５０４が、ポート２２０Ｆから入力されポート２２０Ｃから出力されるようにポート２２０Ｃへ転送される。この時、ポート２２０Ｃは、最終パケット５０４に埋め込まれた送信開始時刻とリンクアップ時刻レジスタ２２４Ｃに格納されたリンクアップ時刻を比較する。リンクアップ時刻が送信開始時刻よりも後であれば、破線矢印２３２のように、ポート２２０Ｃは、最終パケット５０４を破棄する。これに対して、リンクアップ時刻が送信開始時刻以前であれば、破線矢印２３３のように、ポート２２０Ｃは、最終パケットを出力する。
【００４９】
スイッチ２０２は、開始パケット及び中間パケットをスイッチ２０１の転送部２１４から順次受信する。そして、スイッチ２０２は、受信した開始パケット及び中間パケットをスイッチ２０３へ出力する。さらに、スイッチ２０１による最終パケットの破棄が行われていなければ、スイッチ２０２は、最終パケットをスイッチ２０１から受信する。そして、スイッチ２０２は、スイッチ２０１と同様に最終パケットに格納された送信開始時刻とリンクアップ時刻との比較を行い、リンクアップ時刻が送信開始時刻より後であれば最終パケットを破棄する。リンクアップ時刻が送信開始時刻より後でなければ、スイッチ２０２は、最終パケットをスイッチ２０３へ出力する。
【００５０】
スイッチ２０３は、開始パケット及び中間パケットをスイッチ２０２から順次受信する。そして、スイッチ２０３は、受信した開始パケット及び中間パケットをサーバ１０２へ出力する。さらに、スイッチ２０１及び２０２による最終パケットの破棄が行われていなければ、スイッチ２０３は、最終パケットをスイッチ２０２から受信する。そして、スイッチ２０３は、スイッチ２０２と同様に最終パケットに格納された送信開始時刻とリンクアップ時刻との比較を行い、リンクアップ時刻が送信開始時刻より後であれば最終パケットを破棄する。リンクアップ時刻が送信開始時刻より後でなければ、スイッチ２０３は、最終パケットをサーバ１０２へ出力する。
【００５１】
サーバ１０２は、主記憶部１２１及びＲＤＭＡ受信部１２２を有する。
【００５２】
主記憶部１２１は、メモリなどである。主記憶部１２１に格納されたデータは、サーバ１０２が実行するアプリケーションなどによって用いられる。
【００５３】
ＲＤＭＡ受信部１２２は、スイッチ２０３から出力されたパケットを順次受信する。そして、ＲＤＭＡ受信部１２２は、受信したパケットのヘッダを確認していき、最終パケットを受信すると通信完了と判定する。
【００５４】
通信完了と判定した場合、ＲＤＭＡ受信部１２２は、受信したパケットを結合しデータを再構築する。その後、ＲＤＭＡ受信部１２２は、再構築したデータを主記憶部１２１へ格納する。
【００５５】
一方、最終パケットを受信できなかった場合、ＲＤＭＡ受信部１２２は、通信が完了せずデータの送信が失敗したと判定する。
【００５６】
このように、最終パケットがＲＤＭＡ受信部１２２へ届かない場合には、ＲＤＭＡ受信部１２２は、主記憶部１２１へデータを格納することは無い。そのため、最終パケットが届かなければ、サーバ１０２は、ＲＤＭＡ機能により主記憶部１２１へ格納されたデータを用いて処理を行わないので、破損したデータを用いて処理を行うことを回避できる。
【００５７】
これに対して、最終パケットが届いてしまうと、たとえ開始パケットや中間パケットなどが届いていなくても、ＲＤＭＡ受信部１２２は通信完了と判断して、データを主記憶部１２１へ格納してしまう。この場合、開始パケットや中間パケットなどが失われた壊れたデータが主記憶部１２１へ格納される。そのため、サーバ１０２は、主記憶部１２１へ格納された壊れたデータを用いて処理を実行してしまい、間違った処理が行われてしまう。この点、本実施例に係る情報処理システムは、リンクダウンにより開始パケットや中間パケットなどが破棄された場合には、最終パケットがサーバ１０２へ届かない。そのため、本実施例に係る情報処理システムによれば、リンクダウンの場合に、壊れたデータがサーバ１０２の主記憶部１２１に格納されることを回避できる。
【００５８】
ここで、図６〜図８を参照して、リンクダウン発生のタイミング毎のスイッチ２０１によるパケットの出力について説明する。図６は、スイッチによるパケットの転送中にリンクアップが発生した場合のパケットの出力について説明するための図である。図７は、スイッチによるパケットの転送前にリンクアップが発生した場合のパケットの出力について説明するための図である。図８は、スイッチによるパケットの転送中にリンクダウンが発生しパケットの転送中にはリンクアップしなかった場合のパケットの出力について説明するための図である。図６〜図８は、いずれも横軸により時間の経過を表している。すなわち、横軸の右に進むにしたがって後に発生した事象を表している。以下の説明では、「リンクアップ」、「リンクダウン」といった場合、スイッチ２０１とスイッチ２０２との間のリンクアップやリンクダウンを表している。また、データを分割して生成された一連のパケットのうち、開始パケットをパケット０とし、以下転送される順番でパケットを連番で表す。また、スイッチ２０１とスイッチ２０２との間の接続以外の接続では、リンクダウンが発生していない場合で説明する。
【００５９】
図６では、パケットの送信が開始される前にリンクダウンが発生し、その後、スイッチ２０１がパケットの転送を行っている間にリンクアップが発生している。具体的には、時刻ｔ１で、リンクダウンが発生する。その後、時刻ｔ２で、サーバ１０１が開始パケットを送信する。すなわち、時刻ｔ２が最終パケットに埋め込まれる送信開始時刻となる。その後、時刻ｔ３及びｔ４で、スイッチ２０１は、パケット０及びパケット１を転送しようとするが、時間Ｔ１ではリンクダウン中なので転送できない。そこで、スイッチ２０１は、パケット０及びパケット１を破棄する。その後、時刻ｔ５で、リンクアップが発生する。そして、時刻ｔ５以降、スイッチ２０１は、スイッチ２０２に対してパケットを転送できる。例えば、時刻ｔ６では、スイッチ２０１は、パケット２をスイッチ２０２へ出力する。その後、スイッチ２０１は、最終パケットに格納された送信開始時刻である時刻ｔ２とリンクアップ時刻である時刻ｔ５を比較する。そして、時刻ｔ５は、時刻ｔ２より後であるので、スイッチ２０１は、時刻ｔ７において最終パケットを破棄する。この場合、パケット０、パケット１及び最終パケットは、破棄されて、スイッチ２０２へ送られないので、最終的にサーバ１０２にも送られない。したがって、本実施例に係る情報処理システムであれば、図６のように、最終パケット以外のパケットの一部がリンクダウンにより破棄された場合には、サーバ１０２は、通信が完了せずデータの送信が失敗したと判定できる。そのため、サーバ１０２は、不良のデータを用いた処理の実行を回避できる。
【００６０】
これに対して、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットが転送可能であれば全て転送する場合、パケット０及びパケット１はスイッチ２０２へ送られないが、最終パケットはスイッチ２０２へ送られてしまう。そして、最終パケットが、サーバ１０２に届いてしまう。したがって、最終パケット以外のパケットの一部がリンクダウンにより破棄された場合にも、サーバ１０２は、通信が完了したと判定してしまう。そのため、サーバ１０２は、不良のデータを用いて処理を行ってしまう。
【００６１】
ここで、図６では、開始パケットを含むいくつかのパケットが破棄された場合で説明したが、いくつかの途中パケットが破棄された場合も、本実施例に係る情報処理装置では、最終パケットは破棄され、サーバ１０２に届かない。したがって、そのような場合にも、本実施例に係る情報処理装置では、不良のデータを用いた処理の実行を回避できる。一方、いくつかの途中パケットが破棄された場合も、従来の送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットが転送可能であれば全て転送する方法では、最終パケットはサーバ１０２に届いてしまう。そのため、サーバ１０２は、不良のデータを用いて処理を行ってしまう。
【００６２】
図７では、パケットの送信が開始される前にリンクダウンが発生し、その後、スイッチ２０１がパケットの転送を行う前にリンクアップが発生している。具体的には、時刻ｔ１１で、リンクダウンが発生する。その後、時刻ｔ１２で、リンクアップが発生する。この間の時間Ｔ２では、スイッチ２０１は、スイッチ２０２へパケットの転送ができない。しかし、この間は、スイッチ２０１は、パケットの送信を行わないので、パケットの破棄は行われない。その後、時刻ｔ１３で、サーバ１０１が開始パケットを送信する。すなわち、時刻ｔ１３が、最終パケットに埋め込まれる送信開始時刻となる。そして、時刻ｔ１２以降、スイッチ２０１は、スイッチ２０２に対してパケットを転送できる。時刻ｔ１４〜ｔ１６は、時刻ｔ１２以降であるので、スイッチ２０１は、パケット０〜２をスイッチ２０２へ出力する。その後、スイッチ２０１は、最終パケットに格納された送信開始時刻である時刻ｔ１３とリンクアップ時刻である時刻ｔ１２を比較する。そして、時刻ｔ１２は、時刻ｔ１３より前であるので、スイッチ２０１は、時刻ｔ１７で最終パケットをスイッチ２０１へ転送する。この場合、全てのパケットがスイッチ２０２へ転送される。したがって、本実施例に係る情報処理システムであれば、図７のように、パケットの送信開始以前にリンクアップが発生した場合には、サーバ１０２は、通信が完了したと判定する。その後、サーバ１０２は、正常なデータを用いて処理を実行する。
【００６３】
図７のような場合、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送するとしても、本実施例と同様に全てのパケットがスイッチ２０２へ送られ、最終的にサーバ１０２へ全てのパケットが届く。したがって、従来の方法でも、サーバ１０２は、通信が完了したと判定する。その後、サーバ１０２は、正常なデータを用いて処理を実行する。
【００６４】
図８では、パケットの送信中にリンクダウンが発生し、その後、スイッチ２０１が最終パケットの転送を行うタイミングより後にリンクアップが発生している。具体的には、時刻ｔ２１で、サーバ１０１が開始パケットを送信する。すなわち、時刻ｔ２１が、最終パケットに埋め込まれる送信開始時刻となる。そして、時刻ｔ２１以降、時刻ｔ２４まで、スイッチ２０１は、スイッチ２０２に対してパケットを転送できる。時刻ｔ２２及び時刻ｔ２３は、時刻ｔ２１と時刻ｔ２４との間であるので、スイッチ２０１は、パケット０及びパケット１をスイッチ２０２へ出力する。そして、時刻ｔ２４でリンクダウンが発生する。その後、時刻ｔ２７で、リンクアップが発生する。この間の時間Ｔ３では、スイッチ２０１は、スイッチ２０２へパケットの転送ができない。そのため、スイッチ２０１は、Ｔ３の間の時刻ｔ２５〜時刻ｔ２６において転送しようとするパケット２から最終パケットまでのパケットを破棄する。したがって、スイッチ２０１は、パケット２から最終パケットまでのパケットをスイッチ２０２へ転送しない。そのため、サーバ１０２へ、最終パケットは届かない。したがって、本実施例に係る情報処理システムであれば、図８のように、スイッチ２０１においてパケットの送信中にリンクダウンが発生し、その後最終パケットの転送を行うタイミングより後にリンクアップが発生した場合には、サーバ１０２は、通信が完了せずデータの送信が失敗したと判定する。したがって、サーバ１０２は、不良のデータを用いた処理の実行を回避できる。
【００６５】
図８のような場合、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送するとしても、本実施例と同様に最終パケットは破棄され、最終的にサーバ１０２へ届かない。そして、サーバ１０２は、通信が完了せずデータの送信が失敗したと判定する。したがって、サーバ１０２は、不良のデータを用いた処理の実行を回避できる。
【００６６】
このように、図７や図８の場合には、本実施例に係る情報処理システムでも、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送する方法でも、サーバ１０２は、不良のデータを用いた処理の実行を回避できる。
【００６７】
これに対して、図６のように、最終パケット以外のパケットの一部がリンクダウンにより、破棄された場合には、本実施例に係る情報処理システムであれば、サーバ１０２は、不良のデータを用いた処理の実行を回避できる。これに対して、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送する方法では、サーバ１０２は、不良のデータを用いて処理を実行してしまう。
【００６８】
次に、図９を参照して、サーバ１０１によるパケットの送信処理について説明する。図９は、サーバによるパケットの送信処理のフローチャートである。
【００６９】
ＲＤＭＡ送信部１１５は、操作者から入力されたパケットの転送指示を受信する（ステップＳ１０１）。
【００７０】
そして、ＲＤＭＡ送信部１１５は、受信した転送指示から主記憶部１１４に格納されたデータをパケットに分割してＤＭＡ（Direct  Memory  Access）を実行することを確認する（ステップＳ１０２）。
【００７１】
ＲＤＭＡ送信部１１５は、主記憶部１１４に格納されたデータをパケットに分割して、ＤＭＡデータを取得する（ステップＳ１０３）。
【００７２】
ＲＤＭＡ送信部１１５は、送信するＤＭＡデータのパケットヘッダを生成する（ステップＳ１０４）。
【００７３】
ＲＤＭＡ送信部１１５は、送信しようとするＤＭＡデータが最終パケットであるか否かを判定する（ステップＳ１０５）。最終パケットでない場合（ステップＳ１０５：否定）、ＲＤＭＡ送信部１１５は、取得したＤＭＡデータに生成したパケットヘッダを付加した後、パケットをスイッチ２０１へ送信する（ステップＳ１０６）。
【００７４】
そして、ＲＤＭＡ送信部１１５は、送信したパケットが開始パケットか否かを判定する（ステップＳ１０７）。送信したパケットが開始パケットの場合（ステップＳ１０７：肯定）、ＲＤＭＡ送信部１１５は、開始パケットの送信を時刻埋込部１１２に通知する。時刻埋込部１１２は、時計１１１から送信開始時刻を取得し、取得した送信開始時刻を送信開始時刻レジスタ１１３へ格納する（ステップＳ１０８）。その後、ＲＤＭＡ送信部１１５は、ステップＳ１０２へ戻る。
【００７５】
これに対して、送信したパケットが開始パケットでない場合（ステップＳ１０７：否定）、ＲＤＭＡ送信部１１５は、ステップＳ１０２へ戻る。
【００７６】
一方、取得したＤＭＡデータが最終パケットの場合（ステップＳ１０５：肯定）、時刻埋込部１１２は、ＲＤＭＡ送信部１１５が生成したパケットヘッダに送信開始時刻を埋め込む（ステップＳ１０９）。
【００７７】
そして、ＲＤＭＡ送信部１１５は、送信開始時刻が埋め込まれたパケットヘッダをＤＭＡデータに付加した後、パケットをスイッチ２０１へ送信する（ステップＳ１１０）。
【００７８】
次に、図１０を参照して、スイッチ２０１によるパケットの転送処理について説明する。図１０は、スイッチによるパケットの転送処理のフローチャートである。図１０のフローチャートでは、リンクアップ時刻レジスタ２１６に既にリンクアップ時刻が格納された場合で説明する。また、図１０のフローチャートは、１つのパケットに対する処理の流れを示しており、実際には、ＲＤＭＡで送られる全てのパケットに対して、図１０のフローチャートで表される処理が施される。
【００７９】
受信部２１３は、サーバ１０１からパケットを受信する（ステップＳ２０１）。
【００８０】
受信部２１３は、受信したパケットからヘッダ情報を取得する（ステップＳ２０２）。さらに、受信部２１３は、取得したヘッダ情報を送信完了防止部２１５へ送信する。
【００８１】
受信部２１３は、ヘッダ情報に格納された送信先が接続されている転送先のポートへパケットを送信する（ステップＳ２０３）。転送部２１４は、転送するパケットを受信部２１３から受信する。
【００８２】
送信完了防止部２１５は、受信したパケットのヘッダ情報から転送するパケットが最終パケットか否かを判定する（ステップＳ２０４）。最終パケットでない場合（ステップＳ２０４：否定）、転送部２１４は、パケットを転送する（ステップＳ２０５）。
【００８３】
これに対して、転送するパケットが最終パケットの場合（ステップＳ２０４：肯定）、送信完了防止部２１５は、最終パケットに埋め込まれた送信開始時刻を取得する。さらに、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６からリンクアップ時刻を取得する。そして、送信完了防止部２１５は、リンクアップ時刻が送信開始時刻よりも後か否かを判定する（ステップＳ２０６）。リンクアップ時刻が送信開始時刻以前の場合（ステップＳ２０６：否定）、転送部２１４は、ステップＳ２０５へ進み、パケットを転送する。
【００８４】
これに対して、リンクアップ時刻が送信開始時刻より後の場合（ステップＳ２０６：肯定）、送信完了防止部２１５は、転送部２１４にパケットの破棄を指示する。そして、転送部２１４は、最終パケットである転送しようとするパケットを破棄する（ステップＳ２０７）。
【００８５】
次に、図１１を参照して、サーバ１０２によるパケットの受信処理について説明する。図１１は、サーバによるパケットの受信処理のフローチャートである。
【００８６】
ＲＤＭＡ受信部１２２は、スイッチ２０３からパケットを受信する（ステップＳ３０１）。
【００８７】
そして、ＲＤＭＡ受信部１２２は、最終パケットか否かを判定する（ステップＳ３０２）。最終パケットでない場合（ステップＳ３０２：否定）、ＲＤＭＡ受信部１２２は、ステップＳ３０１へ戻る。
【００８８】
これに対して、最終パケットの場合（ステップＳ３０２：肯定）、ＲＤＭＡ受信部１２２は、通信完了通知を発行し（ステップＳ３０３）、主記憶部１２１にデータを書き込む。
【００８９】
以上に説明したように、本実施例に係る情報処理システムは、ＲＤＭＡを行うときに、リンクダウンによりパケットの破棄、すなわちパケットロスが発生した場合、最終パケットを破棄し、受信側のサーバに最終パケットが届かないようにする。これにより、受信側のサーバは、リンクダウンによりパケットロスが発生した場合に、通信の完了が確認できないので、ＲＤＭＡのデータ転送が失敗したと判断することになる。そのため、受信側のサーバは、壊れたデータを用いて処理を実行することが回避でき、リンクダウンによるパケットロスに起因する障害の発生を回避することができるという効果を奏する。
【００９０】
また、本実施例に係る情報処理システムでは、最終パケットに送信開始時刻を埋め込み、その送信開始時刻とリンクアップ発生時刻を比較することで、パケットロスが発生したか否かを判断できるので、単純な構成で上記機能を実現することができる。
【００９１】
（変形例１）
次に、実施例１の変形例１について説明する。上述した実施例１では、スイッチは、パケットロスが発生した場合に最終パケットを破棄していたが、本変形例におけるスイッチはエラーを受信側のサーバに通知する。そこで、以下では、スイッチによるエラーの通知、及びエラー通知を受信したサーバの動作について主に説明する。
【００９２】
送信完了防止部２１５は、受信部２１３から受信したパケットのヘッダ情報から最終パケットを特定する。そして、送信完了防止部２１５は、最終パケットから送信開始時刻を取得し、リンクアップ時刻レジスタ２１６に格納されたリンクアップ時刻と比較する。
【００９３】
リンクアップ時刻が送信開始時刻より後の場合、送信完了防止部２１５は、最終パケットのヘッダへエラーフラグを埋め込む。例えば、送信完了防止部２１５は、最終パケットのヘッダにおける予め決められた位置のビットを、エラーを表す値（例えば「１」）にすることでエラーフラグの埋め込みを行う。
【００９４】
転送部２１４は、エラーフラグが埋め込まれたヘッダを有する最終パケットをスイッチ２０２へ転送する。
【００９５】
サーバ１０２のＲＤＭＡ受信部１２２は、エラーフラグが埋め込まれたヘッダを有する最終パケットを受信する。そして、ＲＤＭＡ受信部１２２は、最終パケットのヘッダのエラーフラグを確認し、エラーの発生、すなわちパケットロスの発生を確認する。そして、ＲＤＭＡ受信部１２２は、通信完了通知を行わずに、ＲＤＭＡにより転送されたデータを使用する上位ソフトへエラーの発生を通知する。これにより、エラーの発生が通知された上位ソフトは、ＲＤＭＡにより転送されたデータを使用した処理を回避する。
【００９６】
以上に説明したように、本変形例に係る情報処理システムでは、リンクダウンによるパケットロスが発生した場合に、受信側サーバは、エラーフラグが埋め込まれた最終パケットを受信する。これにより、受信側サーバは、パケットロスの発生を把握することができ、リンクダウンによるパケットロスに起因する障害の発生を回避することができる。
【００９７】
（変形例２）
さらに、実施例１の他の変形例として変形例２について説明する。上述した実施例１では、スイッチは、リンクアップ時刻が送信開始時刻よりも後であれば最終パケットを破棄していた。これに対して、本変形例のスイッチは、時計の誤差を含めてパケットロス発生の判定を行う。そこで、以下では、スイッチによるパケットロスの判定の処理について主に説明する。
【００９８】
送信完了防止部２１５は、サーバ１０１、スイッチ２０１〜２０３のそれぞれが有する時計１１１及び時計２１１の間で発生する最大誤差時間を予め記憶する。送信完了防止部２１５は、例えば、ＮＴＰなどを用いた場合の最大誤差時間として１秒を記憶する。
【００９９】
送信完了防止部２１５は、受信部２１３から受信したパケットのヘッダ情報から最終パケットを特定する。そして、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６に格納されたリンクアップ時刻を取得し、さらにリンクアップ時刻に最大誤差時間を加算する。
【０１００】
そして、送信完了防止部２１５は、最終パケットから送信開始時刻を取得し、リンクアップ時刻に最大誤差時間を加算した時刻と比較する。
【０１０１】
リンクアップ時刻に最大誤差時間を加算した時刻が送信開始時刻より後の場合、送信完了防止部２１５は、最終パケットの破棄を転送部２１４へ通知する。
【０１０２】
このように、最大誤差時間をパケットロス発生の判定に含めることで、より確実にパケットロスの発生を検出することができ、リンクダウンによるパケットロスに起因する障害の発生を回避することができる。
【実施例２】
【０１０３】
図１２は、実施例２に係る情報処理システムのブロック図である。本実施例に係る情報処理システムは、スイッチの受信部側でもリンクダウンしたあとのリンクアップの発生を検出して、リンクアップ時刻と送信開始時刻を比較することが実施例１と異なる。図１２において、図２と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。
【０１０４】
リンクアップ時刻取得部２１２は、実施例１と同様に、転送部２１４のパケットの出力などを監視することで、スイッチ２０１とスイッチ２０２との間の接続状態を監視し、リンクアップの発生を検出する。
【０１０５】
本実施例ではさらに、リンクアップ時刻取得部２１２が、受信部２１３におけるパケットの受信状態などを監視することで、サーバ１０１とスイッチ２０１との間の接続状態を監視する。例えば、リンクアップ時刻取得部２１２は、受信部２１３のパケットの受信が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、受信部２１３におけるパケットの受信が再開された場合、リンクアップ時刻取得部２１２は、リンクアップと判定する。以下では、サーバ１０１とスイッチ２０１との間の接続のリンクアップ及びリンクダウンを「受信側リンクアップ」及び「受信側リンクダウン」と言う。また、スイッチ２０１とスイッチ２０２との間の接続のリンクアップ及びリンクダウンを「転送側リンクアップ」及び「転送側リンクダウン」と言う。
【０１０６】
リンクアップ時刻取得部２１２は、転送側リンクアップが発生したと判定した場合、時計２１１から時刻を取得する。以下では、リンクアップ時刻取得部２１２が取得した転送側リンクアップが発生した時刻を「転送側リンクアップ時刻」という。リンクアップ時刻取得部２１２は、取得した転送側リンクアップ時刻を送信完了防止部２１５へ出力する。
【０１０７】
また、リンクアップ時刻取得部２１２は、受信側リンクアップが発生したと判定した場合、時計２１１から時刻を取得する。以下では、リンクアップ時刻取得部２１２が取得した受信側リンクアップが発生した時刻を「受信側リンクアップ時刻」という。リンクアップ時刻取得部２１２は、取得した受信側リンクアップ時刻を送信完了防止部２１５へ出力する。
【０１０８】
送信完了防止部２１５は、記憶装置であるリンクアップ時刻レジスタ２１６を有する。転送側リンクアップが発生した場合、送信完了防止部２１５は、転送側リンクアップ時刻をリンクアップ時刻取得部２１２から受信する。そして、送信完了防止部２１５は、受信した転送側リンクアップ時刻をリンクアップ時刻レジスタ２１６へ格納する。リンクアップ時刻レジスタ２１６に既に転送側リンクアップ時刻が格納された場合には、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６が格納した転送側リンクアップ時刻を、新たに取得した転送側リンクアップ時刻で上書きし更新する。
【０１０９】
また、受信側リンクアップが発生した場合、送信完了防止部２１５は、受信側リンクアップ時刻をリンクアップ時刻取得部２１２から受信する。そして、送信完了防止部２１５は、受信した受信側リンクアップ時刻をリンクアップ時刻レジスタ２１６へ格納する。リンクアップ時刻レジスタ２１６に既に受信側リンクアップ時刻が格納された場合には、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６が格納している受信側リンクアップ時刻を、新たに取得した受信側リンクアップ時刻で上書きし更新する。
【０１１０】
すなわち、送信完了防止部２１５は、常に最新の転送側リンクアップ時刻及び受信側リンクアップ時刻をリンクアップ時刻レジスタ２１６に保持する。
【０１１１】
また、送信完了防止部２１５は、受信部２１３から取得したパケットのヘッダ情報を参照して受信部２１３が受信し転送部２１４に送信したパケットが最終パケットか否かを判定する。
【０１１２】
最終パケットであれば、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６に格納された転送側リンクアップ時刻及び受信側リンクアップ時刻と、最終パケットに格納された送信開始時刻とを比較する。転送側リンクアップ時刻又は受信側リンクアップ時刻のいずれかが送信開始時刻より後であれば、送信完了防止部２１５は、転送部２１４に最終パケットの破棄を指示する。
【０１１３】
転送部２１４は、受信部２１３から最終パケットを受信した場合、送信完了防止部２１５から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、転送部２１４は、最終パケットを破棄し、スイッチ２０２への最終パケットの出力は行わない。
【０１１４】
以上では、スイッチ２０１について説明したが、本実施例に係るスイッチ２０２及びスイッチ２０３などの他のスイッチも同様の機能を有する。
【０１１５】
ここで、実施例１の方法では、サーバ１０１とスイッチ２０１との間の接続のリンクダウンの発生が把握できないが、本実施例の情報処理システムによれば、サーバ１０１とサーバ１０２との間の全ての接続のリンクダウンを検出することができる。
【０１１６】
以上に説明したように、本実施例に係るスイッチは、受信側の接続及び転送側の接続の両方の接続状態を監視し、両方の接続におけるリンクアップの発生を検出している。そして、本実施例に係るスイッチは、送信開始時刻がいずれかの接続においてリンクアップが発生した時刻よりも後であれば、パケットロスが発生したと判定し、最終パケットの破棄を行う。これにより、スイッチの受信側及び送信側のいずれにおいてもリンクダウンによるパケットロスが発生したことが検出できる。したがって、受信側のサーバは、パケットロスにより不良になったデータを用いた処理を回避することがより確実に行える。
【実施例３】
【０１１７】
図１３は、実施例３に係る情報処理システムのブロック図である。本実施例に係る情報処理システムは、サーバの送信側でもリンクダウンしたあとのリンクアップの発生を検出して、リンクアップ時刻と送信開始時刻を比較することが実施例１と異なる。図１３において、図２と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。
【０１１８】
本実施例では、サーバ１０１は、実施例１の構成に加えて、送信完了防止部１１７及びリンクアップ時刻取得部１１６を有する。
【０１１９】
リンクアップ時刻取得部１１６は、ＲＤＭＡ送信部１１５におけるパケットの送信状態などを監視することで、サーバ１０２とスイッチ２０１との間の接続状態を監視する。例えば、リンクアップ時刻取得部１１６は、ＲＤＭＡ送信部１１５からのパケットの送信が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、ＲＤＭＡ送信部１１５からのパケットの送信が再開された場合、リンクアップ時刻取得部１１６は、リンクアップと判定する。以下では、サーバ１０２とスイッチ２０１との間の接続のリンクアップ及びリンクダウンを単に「リンクアップ」及び「リンクダウン」と言う。
【０１２０】
リンクアップ時刻取得部１１６は、リンクアップが発生したと判定した場合、時計１１１から時刻を取得する。以下では、リンクアップ時刻取得部１１６が取得した時刻を「リンクアップ時刻」という。リンクアップ時刻取得部１１６は、取得したリンクアップ時刻を送信完了防止部１１７へ出力する。
【０１２１】
送信完了防止部１１７は、記憶装置であるリンクアップ時刻レジスタ１１８を有する。リンクアップが発生した場合、送信完了防止部１１７は、リンクアップ時刻をリンクアップ時刻取得部１１６から受信する。そして、送信完了防止部１１７は、受信したリンクアップ時刻をリンクアップ時刻レジスタ１１８へ格納する。リンクアップ時刻レジスタ１１８に既にリンクアップ時刻が格納された場合には、送信完了防止部１１７は、リンクアップ時刻レジスタ１１８が格納している転送側リンクアップ時刻を、新たに取得した転送側リンクアップ時刻で上書きし更新する。すなわち、送信完了防止部１１７は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ１１８に保持する。
【０１２２】
また、送信完了防止部１１７は、ＲＤＭＡ送信部１１５が送信するパケットのヘッダ情報を参照してＲＤＭＡ送信部１１５が送信するパケットが最終パケットか否かを判定する。
【０１２３】
最終パケットであれば、送信完了防止部１１７は、リンクアップ時刻レジスタ１１８に格納されたリンクアップ時刻と最終パケットに格納された送信開始時刻とを比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部１１７は、ＲＤＭＡ送信部１１５に最終パケットの破棄を指示する。
【０１２４】
ここで、本実施例では、スイッチ２０１の送信完了防止部２１５と同様の動作を送信完了防止部１１７に行わせるが、送信開始時刻とリンクアップ時刻の比較を行う方法は他の方法でもよい。例えば、送信完了防止部１１７は、リンクアップ発生時刻を取得したタイミングで、送信開始時刻レジスタ１１３に格納された送信開始時刻を確認し、送信開始時刻とリンクアップ時刻の比較を行ってもよい。この場合も、リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部１１７は、ＲＤＭＡ送信部１１５に最終パケットの破棄を指示すればよい。
【０１２５】
ＲＤＭＡ送信部１１５は、最終パケットを送信する場合、送信完了防止部１１７から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、ＲＤＭＡ送信部１１５は、最終パケットを破棄し、スイッチ２０１への最終パケットの出力は行わない。
【０１２６】
ここで、実施例１の方法では、サーバ１０１とスイッチ２０１との間の接続のリンクダウンの発生が把握できないが、本実施例の情報処理システムによれば、サーバ１０１とサーバ１０２との間の全ての接続のリンクダウンを検出することができる。
【０１２７】
以上に説明したように、本実施例に係る情報処理装置は、送信側のサーバにおいてもリンクアップの発生を検出する。そして、本実施例に係る送信側のサーバは、送信開始時刻がいずれかの接続においてリンクアップが発生した時刻よりも後であれば、パケットロスが発生したと判定し、最終パケットの破棄を行う。これにより、送信側のサーバにおいてもリンクダウンによるパケットロスが発生したことが検出できる。したがって、受信側のサーバは、パケットロスにより不良になったデータを用いた処理を回避することがより確実に行える。
【０１２８】
さらに、本実施例では、送信側のサーバにのみリンクアップの発生の検出及び最終パケットを破棄する機能を設けたが、受信側のサーバに同様の機能を設けてもよい。例えば、受信側のサーバで、パケットの受信側の接続のリンクアップを検出し、受信した最終パケットに格納された送信開始時刻とリンクアップ発生時刻とを比較してパケットロスを検出してもよい。例えば、スイッチの受信側及び受信側のサーバにリンクアップの発生の検出及び最終パケットを破棄する機能を設けることで、送信側のサーバと受信側のサーバとの間の全ての接続のリンクダウンを検出することができる。
【実施例４】
【０１２９】
次に、実施例４に係る情報処理システムについて説明する。本実施例に係る情報処理システムは、中間パケットにも送信開始時刻を埋め込み、最終パケットだけではなく中間パケットも用いてパケットロスの発生を検出することが実施例１と異なる。本実施例に係る情報処理システムも、図２のブロック図で表される。
【０１３０】
サーバ１０１側の動作を説明する。時刻埋込部１１２は、開始パケットの送信の通知をＲＤＭＡ送信部１１５から受ける。時刻埋込部１１２は、開始パケットの送信の通知を受信した時刻を時計１１１から取得する。以下では、時刻埋込部１１２が取得した時刻を「送信開始時刻」という。時刻埋込部１１２は、送信開始時刻を送信開始時刻レジスタ１１３に格納する。
【０１３１】
そして、時刻埋込部１１２は、ＲＤＭＡ送信部１１５が送信しようとしているパケットをＲＤＭＡ送信部１１５から取得し、取得したパケットのヘッダに送信開始時刻レジスタ１１３に格納してある送信開始時刻を埋め込む。ここで、送信開始時刻は開始パケット送信のタイミングで取得されるので、送信開始時刻は、中間パケット及び最終パケットに埋め込まれることになる。そして、時刻埋込部１１２は、送信開始時刻をヘッダに埋め込んだパケットをＲＤＭＡ送信部１１５へ送信する。
【０１３２】
ＲＤＭＡ送信部１１５は、開始パケットはそのままスイッチ２０１へ送信する。そして、中間パケット及び最終パケットについては、送信開始時刻が埋め込まれたパケットを時刻埋込部１１２から受信する。そして、ＲＤＭＡ送信部１１５は、送信開始時刻が埋め込まれた中間パケット及び最終パケットをスイッチ２０１へ順次送信する。
【０１３３】
次に、スイッチ２０１の動作を説明する。送信完了防止部２１５は、リンクアップ時刻をリンクアップ時刻取得部２１２から受信する。そして、送信完了防止部２１５は、受信したリンクアップ時刻をリンクアップ時刻レジスタ２１６へ格納する。リンクアップ時刻レジスタ２１６に既にリンクアップ時刻が格納された場合には、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６が格納したリンクアップ時刻を、新たに取得したリンクアップ時刻で上書きし更新する。すなわち、送信完了防止部２１５は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ２１６に保持する。
【０１３４】
また、送信完了防止部２１５は、開始パケット、中間パケット及び最終パケットのヘッダを受信部２１３から順次取得していく。そして、送信完了防止部２１５は、ヘッダを参照して受信部２１３が受信し転送部２１４に送信したパケットが中間パケット又は最終パケットのいずれかであるかを判定する。
【０１３５】
中間パケット又は最終パケットであれば、送信完了防止部２１５は、リンクアップ時刻レジスタ２１６に格納したリンクアップ時刻と、転送部２１４が転送しようとするパケットに格納された送信開始時刻を比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部２１５は、転送部２１４に転送しようとしているパケットのヘッダにエラーフラグを埋め込む。
【０１３６】
転送部２１４は、開始パケット、中間パケット及び最終パケットを受信部２１３から順次受信する。そして、転送部２１４は、受信した開始パケット及び中間パケットを順次スイッチ２０２へ出力する。そして、送信完了防止部２１５によりエラーフラグの埋め込みが行われた場合、転送部２１４は、エラーフラグが埋め込まれたパケットをスイッチ２０２へ出力する。また、送信完了防止部２１５によるエラーフラグの埋め込みが行われていなければ、転送部２１４は、エラーフラグが埋め込まれていないパケットをスイッチ２０２へ出力する。
【０１３７】
以上に説明したように、本実施例に係る情報処理装置において、送り側のサーバは中間パケット及び最終パケットに送信開始時刻を埋め込み、スイッチは、リンクアップ時刻が埋め込まれた送信開始時刻より後であれば、エラーを受信側サーバに通知する。これにより、リンクダウンによるパケットロスが発生した直ぐ後にパケットロスを受信側のサーバに通知することができ、エラーの発生を迅速に検出することができる。
【０１３８】
そして、例えば、エラーの発生を受信側のサーバが受信した場合、受信側のサーバがデータの転送の中止を送信側のサーバや各スイッチに通知することで、無駄なデータ転送を省くことができ、情報処理システムの処理負荷やネットワークの負荷を軽減できる。
【０１３９】
（ハードウェア構成）
次に、図１４及び図１５を参照して各実施例に係るサーバ１０１及びスイッチ２０１のハードウェア構成について説明する。図１４は、サーバのハードウェア構成図である。また、図１５は、スイッチのハードウェア構成図である。図１４及び図１５における破線は制御信号の経路を表し、実線はパケットなどのデータの経路を表している。
【０１４０】
図１４に示すように、サーバ１０１は、ＣＰＵ（Central  Processing  Unit）８０１、メモリ８０２、ＮＩＣ（Network  Interface  Card）８０３及びチップセット８０４を有する。
【０１４１】
ＣＰＵ８０１は、演算処理装置である。メモリは、主記憶部１１４を実現する。ＣＰＵ８０１、メモリ８０２、ＮＩＣ８０３及びチップセット８０４は、バスで接続されている。
【０１４２】
ＮＩＣ８０３は、ＤＭＡＣ（Direct  Memory  Access  Controller）  ＴＸ（送信用ＤＭＡＣ）８３１、ＣＮＴＬ  ＴＸ（送信制御装置）８３２、ＰＫＴ  ＸＭＩＴ（パケット送信装置）８３３及びパケットバッファ８３４を有する。また、ＮＩＣ８０３は、ＤＭＡＣ  ＲＸ（受信用ＤＭＡＣ）８３６、ＣＮＴＬ  ＲＸ（受信制御装置）８３７、ＰＫＴ  ＲＥＣＶ（パケット受信装置）８３８及びパケットバッファ８３９を有する。さらに、ＮＩＣ８０３は、ＣＬＯＣＫ８３５を有する。
【０１４３】
ＤＭＡＣ  ＴＸ８３１は、ダイレクトメモリアクセスによるデータ送信の制御を行う。ＣＮＴＬ  ＴＸ８３２は、データ送信の統括制御を行う。例えば、ＣＮＴＬ  ＴＸ８３２は、ＤＭＡＣ  ＴＸ８３１に対してＤＭＡＣによるデータ転送の指示などを行う。また、ＣＮＴＬ  ＴＸ８３２は、ＰＫＴ  ＸＭＩＴ８３３に対してパケットの送信や送信開始時刻の取得及び埋め込みなどの指示を行う。ＰＫＴ  ＸＭＩＴ８３３は、ＤＭＡＣ  ＴＸ８３１から受信したパケットをパケットバッファ８３４に蓄積し、蓄積したパケットの送信を行う。また、ＰＫＴ  ＸＭＩＴ８３３は、ＣＬＯＣＫ８３５から取得した送信開始時刻のパケットへの埋め込みを行う。
【０１４４】
ＣＬＯＣＫ８３５は、例えば、時計１１１の機能を実現する。ＤＭＡＣ  ＴＸ８３１及びＰＫＴ  ＸＭＩＴ８３３は、例えば、ＲＤＭＡ送信部１１５及び時刻埋込部１１２の機能を実現する。
【０１４５】
ＤＭＡＣ  ＲＸ８３６は、ダイレクトメモリアクセスによるデータ受信の制御を行う。ＣＮＴＬ  ＲＸ８３７は、データ受信の統括制御を行う。例えば、ＣＮＴＬ  ＲＸ８３７は、ＤＭＡＣ  ＲＸ８３６に対してＤＭＡＣによるデータ受信の指示などを行う。また、ＣＮＴＬ  ＲＸ８３７は、ＰＫＴ  ＲＥＣＶ８３８に対してパケットの送信や送信開始時刻の取得及び埋め込みなどの指示を行う。ＰＫＴ  ＲＥＣＶ８３８は、受信したパケットをパケットバッファ８３９に蓄積し、蓄積したパケットをＤＭＡＣ  ＲＸ８３６へ出力する。
【０１４６】
サーバ１０２も図１４のサーバ１０１と同様の構成を有し、ＤＭＡＣ  ＲＸ８３６、
ＣＮＴＬ  ＲＸ８３７、ＰＫＴ  ＲＥＣＶ８３８及びパケットバッファ８３９は、例えば、ＲＤＭＡ受信部１２２の機能を実現する。この場合、メモリ８０２は、例えば、主記憶部１２１の機能を実現する。
【０１４７】
次に、図１５に示すように、例えば、スイッチ２０１は、ポート９０４−１〜９０４―ＮまでのＮ個のポートを有する。さらに、スイッチ２０１は、ＣＬＯＣＫ９０１、アービター（arbiter）９０２及びパケットクロスバ９０３を有する。
【０１４８】
ポート９０４−１は、ＰＫＴ  ＲＥＣＶ（パケット受信装置）９０５、ＰＫＴ  ＸＭＩＴ（パケット受信装置）９０６を有する。ＰＫＴ  ＲＥＣＶ９０５は、パケットバッファ９５０を有する。ＰＫＴ  ＸＭＩＴ９０６は、パケットバッファ９６０を有する。ポート９０４−Ｎは、ＰＫＴ  ＲＥＣＶ９０７、ＰＫＴ  ＸＭＩＴ９０８を有する。ＰＫＴ  ＲＥＣＶ９０７は、パケットバッファ９７０を有する。ＰＫＴ  ＸＭＩＴ９０８は、パケットバッファ９８０を有する。ここで、他のポートも同様の構成を有する。
【０１４９】
ＣＬＯＣＫ９０１は、例えば、時計２１１の機能を実現する。
【０１５０】
アービター９０２は、パケット転送の統括制御を行う。例えば、アービター９０２は、パケットの入出力構成の計算などの出力アービトレーションを行う。また、アービター９０２は、ＰＫＴ  ＲＥＣＶ９０５などが受信したパケットのヘッダ情報を確認し、パケットクロスバ９０３及びＰＫＴ  ＸＭＩＴ９０８などに転送指示を行う。
【０１５１】
パケットクロスバ９０３は、ポート９０４−１〜ポート９０４−Ｎの間の接続の切替えを行う。例えば、パケットクロスバ９０３は、パケットが入力されたポート９０４−１と転送先のポート９０４−Ｎとを接続し、ポート９０４−１へ入力されたパケットをポート９０４−Ｎへ転送させる。
【０１５２】
ＰＫＴ  ＲＥＣＶ９０５は、入力されたパケットを受信し、パケットバッファ９５０へ受信したパケットを蓄積し、パケットクロスバ９０３によって接続された転送先のポートへパケットバッファ９５０に蓄積したパケットを転送する。ＰＫＴ  ＲＥＣＶ９０７なども、ＰＫＴ  ＲＥＣＶ９０５と同様に動作する。
【０１５３】
ＰＫＴ  ＸＭＩＴ９０６は、他のポートから転送されたパケットをパケットバッファ９６０へ蓄積し、蓄積したパケットをスイッチ２０２などの接続先の機器へ出力する。また、ＰＫＴ  ＸＭＩＴ９０６は、ＣＬＯＫ９０１からリンクアップ時刻を取得し、送信開始時刻とリンクアップ時刻との比較を行い、パケットの破棄を行う。ＰＫＴ  ＸＭＩＴ９０８なども、ＰＫＴ  ＸＭＩＴ９０６と同様に動作する。
【０１５４】
アービター９０２、パケットクロスバ９０３及びポート９０４−１〜ポート９０４−Ｎ
は、例えば、リンクアップ時刻取得部２１２、受信部２１３、転送部２１４及び送信完了防止部２１５の機能を実現する。
【０１５５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５６】
（付記１）データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムであって、
前記情報処理装置は、
主記憶部と、
前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備え、
前記データ転送装置は、
前記送信部が送信したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とする情報処理システム。
【０１５７】
（付記２）前記送信部は、オペレーティングシステムに依存せずに、前記主記憶部に格納されたデータを他の情報処理装置の主記憶部へ送信することを特徴とする付記１に記載の情報処理システム。
【０１５８】
（付記３）前記時刻付加部は、データの最終パケットに前記送信開始時刻を付加し、
前記送信完了防止部は、前記情報処理装置が送信したデータの最終パケットを前記受信部が受信した場合、前記送信開始時刻と前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させないことを特徴とする付記１又は付記２に記載の情報処理システム。
【０１５９】
（付記４）前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、最終パケットを破棄することを特徴とする付記１〜３のいずれか一つに記載の情報処理システム。
【０１６０】
（付記５）前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記受信部が受信したパケットにエラー情報を付加し前記転送部に転送させて、転送先の前記情報処理装置へ前記データの送信失敗を通知することを特徴とする付記１〜３のいずれか一つに記載の情報処理システム。
【０１６１】
（付記６）前記送信完了防止部は、前記送信開始時刻より所定時間前の時刻よりも前記リンクアップ発生時刻が後の場合、前記データの送信を完了させないことを特徴とする付記１〜５のいずれか一つに記載の情報処理システム。
【０１６２】
（付記７）前記情報処理装置は、
前記パケットの送信先に繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得する送信側リンクアップ時刻取得部と、
前記送信部が転送するパケットに付加されている前記送信開始時刻と、前記送信側リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信の完了を防止する送信側送信完了防止部と
をさらに備えたことを特徴とする付記１〜６のいずれか一つに記載の情報処理システム。
【０１６３】
（付記８）前記情報処理装置は、
他の情報処理装置から送信されたパケットを受信する受信部と、
前記パケットの受信元に繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得する受信側リンクアップ時刻取得部と、
前記受信部が受信したパケットに付加されている前記送信開始時刻と、前記受信側リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信の完了を防止する受信側送信完了防止部と
をさらに備えたことを特徴とする付記１〜７のいずれか一つに記載の情報処理システム。
【０１６４】
（付記９）主記憶部と、
パケットを受信する受信部、前記受信部が受信した前記パケットを宛先の前記情報処理装置に向けて転送する転送部、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部、及び前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部を有するデータ転送装置を介して、前記主記憶部に格納されたデータを複数のパケットに分割して前記宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備えたことを特徴とする情報処理装置。
【０１６５】
（付記１０）主記憶部、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の前記情報処理装置に送信する送信部、及び前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部を有する情報処理装置が送出したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とするデータ転送装置。
【０１６６】
（付記１１）データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムの制御方法であって、
前記情報処理装置に、主記憶部に格納されたデータを複数のパケットに分割させ、
前記情報処理装置に、前記パケットに前記データの送信開始時刻を付加させ、
前記情報処理装置に、前記パケットを宛先の情報処理装置に向けて送信させ、
前記データ転送装置に、前記情報処理装置が送出したパケットを受信させ、
前記データ転送装置に、前記パケットの受信元の接続又は前記パケットの転送先の接続のいずれかに接続されている接続のリンクアップを検出させ、
前記データ転送装置に、受信したパケットに付加された前記送信開始時刻と、リンクダウンを検出したリンクダウン発生時刻とを比較し、前記リンクダウン発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない
ことを特徴とする情報処理システムの制御方法。
【符号の説明】
【０１６７】
１０１，１０２  サーバ
１１１  時計
１１２  時刻埋込部
１１３  送信開始時刻レジスタ
１１４  主記憶部
１１５  ＲＤＭＡ送信部
１１６  リンクアップ時刻取得部
１１７  送信完了防止部
１１８  リンクアップ時刻レジスタ
１２１  主記憶部
１２２  ＲＤＭＡ受信部
２０１，２０２，２０３  スイッチ
２１１  時計
２１２  リンクアップ時刻取得部
２１３  受信部
２１４  転送部
２１５  送信完了防止部
２１６  リンクアップ時刻レジスタ
【図１】
2014183401.tif 000003
【図２】
2014183401.tif 000004
【図３】
2014183401.tif 000005
【図４Ａ】
2014183401.tif 000006
【図４Ｂ】
2014183401.tif 000007
【図４Ｃ】
2014183401.tif 000008
【図５Ａ】
2014183401.tif 000009
【図５Ｂ】
2014183401.tif 000010
【図６】
2014183401.tif 000011
【図７】
2014183401.tif 000012
【図８】
2014183401.tif 000013
【図９】
2014183401.tif 000014
【図１０】
2014183401.tif 000015
【図１１】
2014183401.tif 000016
【図１２】
2014183401.tif 000017
【図１３】
2014183401.tif 000018
【図１４】
2014183401.tif 000019
【図１５】
2014183401.tif 000020