JP6102383B2 - 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法 - Google Patents

情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP6102383B2
JP6102383B2 JP2013055649A JP2013055649A JP6102383B2 JP 6102383 B2 JP6102383 B2 JP 6102383B2 JP 2013055649 A JP2013055649 A JP 2013055649A JP 2013055649 A JP2013055649 A JP 2013055649A JP 6102383 B2 JP6102383 B2 JP 6102383B2
Authority
JP
Japan
Prior art keywords
packet
link
unit
time
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013055649A
Other languages
English (en)
Other versions
JP2014183401A (ja
Inventor
雅明 長塚
雅明 長塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013055649A priority Critical patent/JP6102383B2/ja
Priority to US14/168,536 priority patent/US9479410B2/en
Priority to CN201410057908.6A priority patent/CN104065569A/zh
Publication of JP2014183401A publication Critical patent/JP2014183401A/ja
Application granted granted Critical
Publication of JP6102383B2 publication Critical patent/JP6102383B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法に関する。
一般に、データ転送を行うネットワークを介して複数の情報処理装置を有する情報処理システムでは、各情報処理装置上で実行されるアプリケーションなどの上位ソフトからデータ転送の要求がなされた場合、要求されたデータは複数のパケットに分割されて転送される。
そして、複数のパケットに分割されたデータの転送においては、最終パケットが宛先ノードに到達すると、宛先ノードは、最終パケットに含まれる付加情報からデータの転送の完了を認識する。その後、宛先ノードは、上位ソフトに一つのデータ転送が完了したことを通知する。
さらに、スーパーコンピュータ等の並列計算機を代表とする大規模な情報処理システムにおいては、RDMA(Remote Direct Memory Access)が採用されることが多い。RDMAとは、2つのネットワークコントローラ間で、ある計算ノード上のメモリデータを別の計算ノード上のメモリに直接転送する機能である。RDMAを用いることで、高スループット且つ低レンテンシの通信が行えるようになる。特に近年では、TCP/IP(Transmission Control Protocol/Internet Protocol)に用いるネットワークであるイーサネット(登録商標)を利用してRDMAのプロトコル通信を行うことができるようになってきている。そのため、RDMAを採用するシステムが増加してきている。
RDMAを採用した場合、パケットの送達保証方式として、ネットワークのリンクレベルで再送を行う方式が用いられることが多い。この場合、ネットワーク部分でパケットの送達保証が行われるため、例えば、パケットの送受信を行うノード間において、ビットエラーなどで破棄されたパケットを検出し再送する手段が無い。
ネットワークのリンクレベルの送達保証の例外として、ハードウェアの故障によりリンクダウンが発生した場合がある。一般的に、リンクダウンは、ハードウェアの故障により発生し、復旧するまでの時間保証が無い。そのため、リンクダウンをした場合、情報処理システムは、ネットワークにパケットが滞留することを防止するため、リンクダウンが発生した箇所を通過しようとするパケットを破棄する。このようなリンクダウンのエラーは、情報処理システムの外部の装置監視系によりネットワークのハードウェアエラーとして検出される。
ところで、ハードウェアの一時的な故障によりリンクダウンが発生するものの、その後直ぐにリンクアップが可能となる場合がある。一連のパケットを転送するデータ転送の前半や途中でこのような事象が発生した場合、前半や途中のパケットは破棄されているのに、最終パケットを含む後半の部分が宛先ノードに送達されてしまうおそれがある。この場合、宛先ノードは、最終パケットを受信したことにより上位ソフトに対してデータ転送が完了したことを通知してしまう。これにより、データ転送における事実上のデータ化けが発生してしまう。そして、その後処理が進むと、ファイルシステムの内容変更のコミットなどがなされてしまい、後戻りができなくなり、以降の処理に副作用のある操作がコミットされてしまうおそれがある。
このような、データ転送におけるパケットの抜けを防止するため、従来は以下のようなシーケンスが実行されていた。そのシーケンスとしては、まず、一度リンクダウンが発生するとリンクダウンしたままにする。そして、外部の装置監視系がリンクダウンエラーを検出すると、情報処理システムは、運用管理ソフトにリンクダウンエラーの発生を通知し、リンクダウン箇所を使用する可能性のある、アプリケーションを全てエラー終了させる。そして、情報処理システムは、装置監視系経由でリンクダウン箇所を再度リンクアップさせる。その後、情報処理システムは、リンクダウンした箇所を使用するアプリケーションを再実行する。
また、パケットを用いた通信技術として、パケットにシーケンス番号を振り、シーケンス番号の抜けを見つけることでパケットロスの検出を行う従来技術がある(例えば、特許文献1参照)。
特開2007−208635号公報
しかしながら、アプリケーションを全て止めた後にリンクダウン箇所をリンクアップさせる従来技術では、本来独立して動く装置監視系と運用管理ソフトとを連携させることになり、情報処理システムの構成が複雑になってしまう。
また、シーケンス番号を用いる従来技術を利用することも考えられるが、スーパーコンピュータやクラウドシステムなどのノード間データ転送では、ノードが非常に多いためシーケンス番号の必要数が莫大となりコンテクスト管理が困難となるため実現困難である。
開示の技術は、上記に鑑みてなされたものであって、単純な構成でリンクダウンによるパケットロスに起因する障害の発生を回避する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法を提供することを目的とする。
本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法は、一つの態様において、データ転送装置を介して互いに接続された複数の情報処理装置を有する。前記情報処理装置は、主記憶部と、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備える。前記データ転送装置は、前記送信部が送信したパケットを受信する受信部と、前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部とを備える。
本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法の一つの態様によれば、リンクダウンによるパケットロスに起因する障害の発生を回避することができるという効果を奏する。
図1は、情報処理システムの一例を示すシステム構成図である。 図2は、実施例1に係る情報処理システムのブロック図である。 図3は、最終パケットの一例を示す図である。 図4Aは、開始パケット送信時のサーバの動作を説明するための図である。 図4Bは、中間パケット送信時のサーバの動作を説明するための図である。 図4Cは、最終パケット送信時のサーバの動作を説明するための図である。 図5Aは、リンクアップ発生時のスイッチの動作を説明するための図である。 図5Bは、最終パケット転送時のスイッチの動作を説明するための図である。 図6は、スイッチによるパケットの転送中にリンクアップが発生した場合のパケットの出力について説明するための図である。 図7は、スイッチによるパケットの転送前にリンクアップが発生した場合のパケットの出力について説明するための図である。 図8は、スイッチによるパケットの転送中にリンクダウンが発生しパケットの転送中にはリンクアップしなかった場合のパケットの出力について説明するための図である。 図9は、サーバによるパケットの送信処理のフローチャートである。 図10は、スイッチによるパケットの転送処理のフローチャートである。 図11は、サーバによるパケットの受信処理のフローチャートである。 図12は、実施例2に係る情報処理システムのブロック図である。 図13は、実施例3に係る情報処理システムのブロック図である。 図14は、サーバのハードウェア構成図である。 図15は、スイッチのハードウェア構成図である。
以下に、本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法が限定されるものではない。
図1は、情報処理システムの一例を示すシステム構成図である。図1に示すように、本実施例に係る情報処理システムは、サーバ101及び102、並びに、スイッチ201〜203を有する。
サーバ101とサーバ102とは、スイッチ201〜203を介して相互に接続されている。そして、サーバ101、スイッチ201〜203及びサーバ102を繋ぐネットワークはRDMA通信を行うプロトコルに対応している。例えば、サーバ101及び102のネットワークインタフェースカード、並びにスイッチ201〜203がTCP/IPに通信で用いるネットワークに対応するRDMA技術を採用する場合、各機器を繋ぐネットワークとしてイーサネット(登録商標)を用いることができる。
ここで、図1では、説明の便宜上、2台のサーバ101及び102、並びに、3台のスイッチ201〜203を記載しているが、本実施例に係る情報処理システムでは他のサーバやスイッチが配置されていてもよい。また、スイッチ201〜203には、他のサーバが接続されていてもよい。さらに、サーバ101及び102間を接続するスイッチの台数は1台以上であれば3台でなくてもよい。
図2は、実施例1に係る情報処理システムのブロック図である。ここでは、サーバ101からサーバ102へRDMAによるデータ転送を行う場合を例に説明する。そのため、図2では、サーバ101にはデータの送信を行うための機能ブロックのみを記載し、サーバ102にはデータの受信を行うための機能ブロックのみを記載している。ただし、実際にはサーバ101及びサーバ102ともにデータの送受信が可能であるので、サーバ101もデータの受信を行うための機能を有し、サーバ102もデータの送信を行うための機能を有する。また、スイッチ201〜203は、いずれも同様の構成を有するため、以下の説明では、スイッチ201を例に説明する。そこで、図2では、スイッチ201の機能ブロックのみを記載している。ただし、スイッチ202及び203もスイッチ201と同様の構成を有する。
サーバ101は、時計111、時刻埋込部112、主記憶部114及びRDMA送信部115を有する。
時計111は、現在時刻を通知する時計である。
主記憶部114は、メモリなどである。サーバ101はアプリケーションを実行し、主記憶部114は、アプリケーションの実行による処理結果などのデータを格納する。
RDMA送信部115は、主記憶部114に格納されたデータを分割する分割位置を算出する。そして、RDMA送信部115は、算出した分割位置で、主記憶部114に格納されたデータを分割し、パケットを生成する。
RDMA送信部115は、生成したパケットのサーバ102の主記憶部121への送信を開始する。以下では、RDMA送信部115が送信する最初のパケットを「開始パケット」という。また、RDMA送信部115が送信する最後のパケットを「最終パケット」という。さらにRDMA送信部115により送信される開始パケットと最終パケットとの間のパケットを「中間パケット」という。
RDMA送信部115は、開始パケットをスイッチ201へ送信する。この時、RDMA送信部115は、開始パケットの送信を時刻埋込部112へ通知する。RDMA送信部115は、開始パケットを送信した後、中間パケットを順次送信していく。そして、RDMA送信部115は、後述する時刻埋込部112により開始パケットを送信した時刻(以下では、「送信開始時刻」という。)が埋め込まれた最終パケットを最後に送信する。
時刻埋込部112は、送信開始時刻レジスタ113を有する。
時刻埋込部112は、開始パケットの送信の通知をRDMA送信部115から受ける。時刻埋込部112は、開始パケットの送信の通知を受信した時刻を時計111から取得する。以下では、時刻埋込部112が取得した時刻を「送信開始時刻」という。時刻埋込部112は、送信開始時刻を送信開始時刻レジスタ113に格納する。
そして、時刻埋込部112は、RDMA送信部115が生成したパケットのヘッダを確認し、RDMA送信部115が送信しようとするパケットが最終パケットか否かを判定する。RDMA送信部115が送信しようとするパケットが最終パケットであれば、最終パケットをRDMA送信部115から取得し、最終パケットのヘッダに送信開始時刻レジスタ113に格納してある送信開始時刻を埋め込む。そして、時刻埋込部112は、送信開始時刻をヘッダに埋め込んだ最終パケットをRDMA送信部115へ送信する。
図3は、最終パケットの一例を示す図である。図3に示すように、最終パケット300は、ヘッダ301及びペイロード310を有する。ヘッダ301は、データの送信先の識別情報やペイロード310のサイズが格納される。特に、最終パケット300のヘッダ301には、RDMAライト先頭アドレスやRDMAライト全体アドレスが格納される。これに対して、RDMAライト先頭アドレスやRDMAライト全体アドレスは、開始パケットや中間パケットのヘッダには格納されていない。また、最終パケット300のヘッダ301には、送信開始時刻302が格納される。ペイロード310は、メモリに格納されていたデータを分割したデータである。
さらに、図4A〜図4Cを参照して、各パケットを送信する場合のサーバ101の各部の動作をまとめて説明する。図4Aは、開始パケットの送信時のサーバの動作を説明するための図である。図4Bは、中間パケットの送信時のサーバの動作を説明するための図である。図4Cは、最終パケットの送信時のサーバの動作を説明するための図である。
開始パケット送信時、図4Aに示すように、RDMA送信部115は、開始パケット501を生成する。そして、RDMA送信部115は、生成した開始パケット501をスイッチ201へ送信する。この時、RDMA送信部115は、開始パケット501の送信を時刻埋込部112へ通知する。
時刻埋込部112は、開始パケット501の送信の通知をRDMA送信部115から受ける。そして、時刻埋込部112は、開始パケット501の送信の通知を受け取った時刻(送信開始時刻)を時計111から取得する。次に、時刻埋込部112は、取得した送信開始時刻を送信開始時刻レジスタ113に格納する。
中間パケット送信時、図4Bに示すように、RDMA送信部115は、中間パケット502を生成する。そして、RDMA送信部115は、生成した中間パケット502をスイッチ201へ送信する。RDMA送信部115が中間パケット502を送信したら、時刻埋込部112は、RDMA送信部115によって生成されたパケットのヘッダを確認することで、送信したパケットが中間パケット502であることを把握する。そして、この間、時刻埋込部112は、送信開始時刻を送信開始時刻レジスタ113の中に保持し続ける。図4Bにおける送信開始時刻レジスタ113から出て戻ってくる破線矢印は、送信開始時刻レジスタ113が送信開始時刻を保持中であることを表している。
最終パケット送信時、図4Cに示すように、RDMA送信部115は、最終パケット503を生成する。この時、時刻埋込部112は、RDMA送信部115が作成したパケットのヘッダを確認し、そのパケットが最終パケット503であることを特定する。そして、時刻埋込部112は、送信開始時刻レジスタ113に格納された送信開始時刻を最終パケット503へ埋め込む。その後、RDMA送信部115は、最終パケット503をスイッチ201へ送信する。
図2に戻って説明を続ける。スイッチ201は、時計211、リンクアップ時刻取得部212、受信部213、転送部214及び送信完了防止部215を有する。
受信部213は、開始パケット、中間パケット及び最終パケットを順次RDMA送信部115から受信する。受信部213は、受信した開始パケット、中間パケット及び最終パケットを転送部214へ順次送信する。さらに、受信部213は、受信した開始パケット、中間パケット及び最終パケットのヘッダそれぞれを送信完了防止部215へ順次送信する。
時計211は、現在時刻を通知する時計である。時計211と時計111とは同期が実施されており時刻が一致する。例えば、時計111及び時計211の同期には、NTP(Network Time Protocol)を用いてソフトにより同期を行う方法や、ハードウェアによる専用の同期プロトコルを用いて同期を行う方法などがある。
リンクアップ時刻取得部212は、転送部214のパケットの出力などを監視することで、スイッチ201とスイッチ202との間の接続状態を監視する。例えば、リンクアップ時刻取得部212は、転送部214のパケットの出力が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、転送部214のパケットの出力が開始された場合、リンクアップ時刻取得部212は、リンクアップと判定する。
リンクアップ時刻取得部212は、リンクアップが発生したと判定した場合、時計211から時刻を取得する。以下では、リンクアップ時刻取得部212が取得した時刻をリンクアップ時刻という。そして、リンクアップ時刻取得部212は、取得したリンクアップ時刻を送信完了防止部215へ出力する。
送信完了防止部215は、記憶装置であるリンクアップ時刻レジスタ216を有する。送信完了防止部215は、リンクアップ時刻をリンクアップ時刻取得部212から受信する。そして、送信完了防止部215は、受信したリンクアップ時刻をリンクアップ時刻レジスタ216へ格納する。リンクアップ時刻レジスタ216に既にリンクアップ時刻が格納される場合には、送信完了防止部215は、リンクアップ時刻レジスタ216が格納するリンクアップ時刻を、新たに取得したリンクアップ時刻で上書きし更新する。すなわち、送信完了防止部215は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ216に保持する。
また、送信完了防止部215は、開始パケット、中間パケット及び最終パケットのヘッダを受信部213から順次取得していく。そして、送信完了防止部215は、ヘッダを参照して受信部213が受信し転送部214に送信したパケットが最終パケットか否かを判定する。例えば、送信完了防止部215は、ヘッダの中にRDMAライト先頭アドレスやRDMAライト全体アドレスが格納するか否かにより、そのヘッダを有するパケットが最終パケットか否かを判定できる。
最終パケットであれば、送信完了防止部215は、リンクアップ時刻レジスタ216に格納するリンクアップ時刻と、最終パケットに格納された送信開始時刻を比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部215は、リンクダウンに起因するパケットロスが発生したと判定する。そして、送信完了防止部215は、転送部214に最終パケットの破棄を指示する。
転送部214は、開始パケット、中間パケット及び最終パケットを受信部213から順次受信する。そして、転送部214は、受信した開始パケット及び中間パケットを順次スイッチ202へ出力する。また、転送部214は、受信部213から最終パケットを受信した場合、送信完了防止部215から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、転送部214は、最終パケットを破棄し、スイッチ202への最終パケットの出力は行わない。これに対して、最終パケット破棄の指示がない場合、転送部214は、最終パケットをスイッチ202へ出力する。
ここで、図5A及び図5Bを参照して、リンクアップ発生時のスイッチ201の動作及び最終パケット転送時の動作をまとめて説明する。図5Aは、リンクアップ発生時のスイッチの動作を説明するための図である。図5Bは、最終パケット転送時のスイッチの動作を説明するための図である。本実施例に係るスイッチ201は、例えば、図5A及び図5Bに示すように8個のポートを有する。図5A及び図5Bでは、スイッチ201の各ポートをポート220A〜220Hとして表している。ポート220A〜ポート220Hは、パケットの受信及び送信の機能を有しており、図2における受信部213及び転送部214の双方の機能を有する。また、ポート220A〜220Hそれぞれが有するリンクアップ時刻レジスタをリンクアップ時刻レジスタ216A〜216Hとして表す。また、図1に示した各部の内説明に不要なものは図5A及び図5Bでは省略している。
図5A及び図5Bでは、ポート220Cの接続においてリンクダウンが発生しその後リンクアップが発生し、その他のポート220A及び220B〜220Hでは、リンクダウンが発生していない場合で説明する。ポート220Cの接続においてリンクアップが発生すると、リンクアップ時刻取得部212が取得した時刻がリンクアップ時刻レジスタ216Cに格納される。また、ポート220A及び220B〜220Hではリンクダウンが発生しておらずそれに伴うリンクアップも発生していない。そこで、リンクアップ時刻レジスタ216A及び216B〜216Gでは、リンクアップ時刻が保持される。図5Aのリンクアップ時刻レジスタ216A及び216B〜216Gにおける破線矢印は、リンクアップ時刻の保持を表している。
次に、図5Bの破線矢印231のように、最終パケット504が、ポート220Fから入力されポート220Cから出力されるようにポート220Cへ転送される。この時、ポート220Cは、最終パケット504に埋め込まれた送信開始時刻とリンクアップ時刻レジスタ224Cに格納されたリンクアップ時刻を比較する。リンクアップ時刻が送信開始時刻よりも後であれば、破線矢印232のように、ポート220Cは、最終パケット504を破棄する。これに対して、リンクアップ時刻が送信開始時刻以前であれば、破線矢印233のように、ポート220Cは、最終パケットを出力する。
スイッチ202は、開始パケット及び中間パケットをスイッチ201の転送部214から順次受信する。そして、スイッチ202は、受信した開始パケット及び中間パケットをスイッチ203へ出力する。さらに、スイッチ201による最終パケットの破棄が行われていなければ、スイッチ202は、最終パケットをスイッチ201から受信する。そして、スイッチ202は、スイッチ201と同様に最終パケットに格納された送信開始時刻とリンクアップ時刻との比較を行い、リンクアップ時刻が送信開始時刻より後であれば最終パケットを破棄する。リンクアップ時刻が送信開始時刻より後でなければ、スイッチ202は、最終パケットをスイッチ203へ出力する。
スイッチ203は、開始パケット及び中間パケットをスイッチ202から順次受信する。そして、スイッチ203は、受信した開始パケット及び中間パケットをサーバ102へ出力する。さらに、スイッチ201及び202による最終パケットの破棄が行われていなければ、スイッチ203は、最終パケットをスイッチ202から受信する。そして、スイッチ203は、スイッチ202と同様に最終パケットに格納された送信開始時刻とリンクアップ時刻との比較を行い、リンクアップ時刻が送信開始時刻より後であれば最終パケットを破棄する。リンクアップ時刻が送信開始時刻より後でなければ、スイッチ203は、最終パケットをサーバ102へ出力する。
サーバ102は、主記憶部121及びRDMA受信部122を有する。
主記憶部121は、メモリなどである。主記憶部121に格納されたデータは、サーバ102が実行するアプリケーションなどによって用いられる。
RDMA受信部122は、スイッチ203から出力されたパケットを順次受信する。そして、RDMA受信部122は、受信したパケットのヘッダを確認していき、最終パケットを受信すると通信完了と判定する。
通信完了と判定した場合、RDMA受信部122は、受信したパケットを結合しデータを再構築する。その後、RDMA受信部122は、再構築したデータを主記憶部121へ格納する。
一方、最終パケットを受信できなかった場合、RDMA受信部122は、通信が完了せずデータの送信が失敗したと判定する。
このように、最終パケットがRDMA受信部122へ届かない場合には、RDMA受信部122は、主記憶部121へデータを格納することは無い。そのため、最終パケットが届かなければ、サーバ102は、RDMA機能により主記憶部121へ格納されたデータを用いて処理を行わないので、破損したデータを用いて処理を行うことを回避できる。
これに対して、最終パケットが届いてしまうと、たとえ開始パケットや中間パケットなどが届いていなくても、RDMA受信部122は通信完了と判断して、データを主記憶部121へ格納してしまう。この場合、開始パケットや中間パケットなどが失われた壊れたデータが主記憶部121へ格納される。そのため、サーバ102は、主記憶部121へ格納された壊れたデータを用いて処理を実行してしまい、間違った処理が行われてしまう。この点、本実施例に係る情報処理システムは、リンクダウンにより開始パケットや中間パケットなどが破棄された場合には、最終パケットがサーバ102へ届かない。そのため、本実施例に係る情報処理システムによれば、リンクダウンの場合に、壊れたデータがサーバ102の主記憶部121に格納されることを回避できる。
ここで、図6〜図8を参照して、リンクダウン発生のタイミング毎のスイッチ201によるパケットの出力について説明する。図6は、スイッチによるパケットの転送中にリンクアップが発生した場合のパケットの出力について説明するための図である。図7は、スイッチによるパケットの転送前にリンクアップが発生した場合のパケットの出力について説明するための図である。図8は、スイッチによるパケットの転送中にリンクダウンが発生しパケットの転送中にはリンクアップしなかった場合のパケットの出力について説明するための図である。図6〜図8は、いずれも横軸により時間の経過を表している。すなわち、横軸の右に進むにしたがって後に発生した事象を表している。以下の説明では、「リンクアップ」、「リンクダウン」といった場合、スイッチ201とスイッチ202との間のリンクアップやリンクダウンを表している。また、データを分割して生成された一連のパケットのうち、開始パケットをパケット0とし、以下転送される順番でパケットを連番で表す。また、スイッチ201とスイッチ202との間の接続以外の接続では、リンクダウンが発生していない場合で説明する。
図6では、パケットの送信が開始される前にリンクダウンが発生し、その後、スイッチ201がパケットの転送を行っている間にリンクアップが発生している。具体的には、時刻t1で、リンクダウンが発生する。その後、時刻t2で、サーバ101が開始パケットを送信する。すなわち、時刻t2が最終パケットに埋め込まれる送信開始時刻となる。その後、時刻t3及びt4で、スイッチ201は、パケット0及びパケット1を転送しようとするが、時間T1ではリンクダウン中なので転送できない。そこで、スイッチ201は、パケット0及びパケット1を破棄する。その後、時刻t5で、リンクアップが発生する。そして、時刻t5以降、スイッチ201は、スイッチ202に対してパケットを転送できる。例えば、時刻t6では、スイッチ201は、パケット2をスイッチ202へ出力する。その後、スイッチ201は、最終パケットに格納された送信開始時刻である時刻t2とリンクアップ時刻である時刻t5を比較する。そして、時刻t5は、時刻t2より後であるので、スイッチ201は、時刻t7において最終パケットを破棄する。この場合、パケット0、パケット1及び最終パケットは、破棄されて、スイッチ202へ送られないので、最終的にサーバ102にも送られない。したがって、本実施例に係る情報処理システムであれば、図6のように、最終パケット以外のパケットの一部がリンクダウンにより破棄された場合には、サーバ102は、通信が完了せずデータの送信が失敗したと判定できる。そのため、サーバ102は、不良のデータを用いた処理の実行を回避できる。
これに対して、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットが転送可能であれば全て転送する場合、パケット0及びパケット1はスイッチ202へ送られないが、最終パケットはスイッチ202へ送られてしまう。そして、最終パケットが、サーバ102に届いてしまう。したがって、最終パケット以外のパケットの一部がリンクダウンにより破棄された場合にも、サーバ102は、通信が完了したと判定してしまう。そのため、サーバ102は、不良のデータを用いて処理を行ってしまう。
ここで、図6では、開始パケットを含むいくつかのパケットが破棄された場合で説明したが、いくつかの途中パケットが破棄された場合も、本実施例に係る情報処理装置では、最終パケットは破棄され、サーバ102に届かない。したがって、そのような場合にも、本実施例に係る情報処理装置では、不良のデータを用いた処理の実行を回避できる。一方、いくつかの途中パケットが破棄された場合も、従来の送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットが転送可能であれば全て転送する方法では、最終パケットはサーバ102に届いてしまう。そのため、サーバ102は、不良のデータを用いて処理を行ってしまう。
図7では、パケットの送信が開始される前にリンクダウンが発生し、その後、スイッチ201がパケットの転送を行う前にリンクアップが発生している。具体的には、時刻t11で、リンクダウンが発生する。その後、時刻t12で、リンクアップが発生する。この間の時間T2では、スイッチ201は、スイッチ202へパケットの転送ができない。しかし、この間は、スイッチ201は、パケットの送信を行わないので、パケットの破棄は行われない。その後、時刻t13で、サーバ101が開始パケットを送信する。すなわち、時刻t13が、最終パケットに埋め込まれる送信開始時刻となる。そして、時刻t12以降、スイッチ201は、スイッチ202に対してパケットを転送できる。時刻t14〜t16は、時刻t12以降であるので、スイッチ201は、パケット0〜2をスイッチ202へ出力する。その後、スイッチ201は、最終パケットに格納された送信開始時刻である時刻t13とリンクアップ時刻である時刻t12を比較する。そして、時刻t12は、時刻t13より前であるので、スイッチ201は、時刻t17で最終パケットをスイッチ201へ転送する。この場合、全てのパケットがスイッチ202へ転送される。したがって、本実施例に係る情報処理システムであれば、図7のように、パケットの送信開始以前にリンクアップが発生した場合には、サーバ102は、通信が完了したと判定する。その後、サーバ102は、正常なデータを用いて処理を実行する。
図7のような場合、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送するとしても、本実施例と同様に全てのパケットがスイッチ202へ送られ、最終的にサーバ102へ全てのパケットが届く。したがって、従来の方法でも、サーバ102は、通信が完了したと判定する。その後、サーバ102は、正常なデータを用いて処理を実行する。
図8では、パケットの送信中にリンクダウンが発生し、その後、スイッチ201が最終パケットの転送を行うタイミングより後にリンクアップが発生している。具体的には、時刻t21で、サーバ101が開始パケットを送信する。すなわち、時刻t21が、最終パケットに埋め込まれる送信開始時刻となる。そして、時刻t21以降、時刻t24まで、スイッチ201は、スイッチ202に対してパケットを転送できる。時刻t22及び時刻t23は、時刻t21と時刻t24との間であるので、スイッチ201は、パケット0及びパケット1をスイッチ202へ出力する。そして、時刻t24でリンクダウンが発生する。その後、時刻t27で、リンクアップが発生する。この間の時間T3では、スイッチ201は、スイッチ202へパケットの転送ができない。そのため、スイッチ201は、T3の間の時刻t25〜時刻t26において転送しようとするパケット2から最終パケットまでのパケットを破棄する。したがって、スイッチ201は、パケット2から最終パケットまでのパケットをスイッチ202へ転送しない。そのため、サーバ102へ、最終パケットは届かない。したがって、本実施例に係る情報処理システムであれば、図8のように、スイッチ201においてパケットの送信中にリンクダウンが発生し、その後最終パケットの転送を行うタイミングより後にリンクアップが発生した場合には、サーバ102は、通信が完了せずデータの送信が失敗したと判定する。したがって、サーバ102は、不良のデータを用いた処理の実行を回避できる。
図8のような場合、従来のように、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送するとしても、本実施例と同様に最終パケットは破棄され、最終的にサーバ102へ届かない。そして、サーバ102は、通信が完了せずデータの送信が失敗したと判定する。したがって、サーバ102は、不良のデータを用いた処理の実行を回避できる。
このように、図7や図8の場合には、本実施例に係る情報処理システムでも、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送する方法でも、サーバ102は、不良のデータを用いた処理の実行を回避できる。
これに対して、図6のように、最終パケット以外のパケットの一部がリンクダウンにより、破棄された場合には、本実施例に係る情報処理システムであれば、サーバ102は、不良のデータを用いた処理の実行を回避できる。これに対して、送信開始時刻とリンクアップ時刻の比較を行わずに、受信したパケットを転送可能であれば全て転送する方法では、サーバ102は、不良のデータを用いて処理を実行してしまう。
次に、図9を参照して、サーバ101によるパケットの送信処理について説明する。図9は、サーバによるパケットの送信処理のフローチャートである。
RDMA送信部115は、操作者から入力されたパケットの転送指示を受信する(ステップS101)。
そして、RDMA送信部115は、受信した転送指示から主記憶部114に格納されたデータをパケットに分割してDMA(Direct Memory Access)を実行することを確認する(ステップS102)。
RDMA送信部115は、主記憶部114に格納されたデータをパケットに分割して、DMAデータを取得する(ステップS103)。
RDMA送信部115は、送信するDMAデータのパケットヘッダを生成する(ステップS104)。
RDMA送信部115は、送信しようとするDMAデータが最終パケットであるか否かを判定する(ステップS105)。最終パケットでない場合(ステップS105:否定)、RDMA送信部115は、取得したDMAデータに生成したパケットヘッダを付加した後、パケットをスイッチ201へ送信する(ステップS106)。
そして、RDMA送信部115は、送信したパケットが開始パケットか否かを判定する(ステップS107)。送信したパケットが開始パケットの場合(ステップS107:肯定)、RDMA送信部115は、開始パケットの送信を時刻埋込部112に通知する。時刻埋込部112は、時計111から送信開始時刻を取得し、取得した送信開始時刻を送信開始時刻レジスタ113へ格納する(ステップS108)。その後、RDMA送信部115は、ステップS102へ戻る。
これに対して、送信したパケットが開始パケットでない場合(ステップS107:否定)、RDMA送信部115は、ステップS102へ戻る。
一方、取得したDMAデータが最終パケットの場合(ステップS105:肯定)、時刻埋込部112は、RDMA送信部115が生成したパケットヘッダに送信開始時刻を埋め込む(ステップS109)。
そして、RDMA送信部115は、送信開始時刻が埋め込まれたパケットヘッダをDMAデータに付加した後、パケットをスイッチ201へ送信する(ステップS110)。
次に、図10を参照して、スイッチ201によるパケットの転送処理について説明する。図10は、スイッチによるパケットの転送処理のフローチャートである。図10のフローチャートでは、リンクアップ時刻レジスタ216に既にリンクアップ時刻が格納された場合で説明する。また、図10のフローチャートは、1つのパケットに対する処理の流れを示しており、実際には、RDMAで送られる全てのパケットに対して、図10のフローチャートで表される処理が施される。
受信部213は、サーバ101からパケットを受信する(ステップS201)。
受信部213は、受信したパケットからヘッダ情報を取得する(ステップS202)。さらに、受信部213は、取得したヘッダ情報を送信完了防止部215へ送信する。
受信部213は、ヘッダ情報に格納された送信先が接続されている転送先のポートへパケットを送信する(ステップS203)。転送部214は、転送するパケットを受信部213から受信する。
送信完了防止部215は、受信したパケットのヘッダ情報から転送するパケットが最終パケットか否かを判定する(ステップS204)。最終パケットでない場合(ステップS204:否定)、転送部214は、パケットを転送する(ステップS205)。
これに対して、転送するパケットが最終パケットの場合(ステップS204:肯定)、送信完了防止部215は、最終パケットに埋め込まれた送信開始時刻を取得する。さらに、送信完了防止部215は、リンクアップ時刻レジスタ216からリンクアップ時刻を取得する。そして、送信完了防止部215は、リンクアップ時刻が送信開始時刻よりも後か否かを判定する(ステップS206)。リンクアップ時刻が送信開始時刻以前の場合(ステップS206:否定)、転送部214は、ステップS205へ進み、パケットを転送する。
これに対して、リンクアップ時刻が送信開始時刻より後の場合(ステップS206:肯定)、送信完了防止部215は、転送部214にパケットの破棄を指示する。そして、転送部214は、最終パケットである転送しようとするパケットを破棄する(ステップS207)。
次に、図11を参照して、サーバ102によるパケットの受信処理について説明する。図11は、サーバによるパケットの受信処理のフローチャートである。
RDMA受信部122は、スイッチ203からパケットを受信する(ステップS301)。
そして、RDMA受信部122は、最終パケットか否かを判定する(ステップS302)。最終パケットでない場合(ステップS302:否定)、RDMA受信部122は、ステップS301へ戻る。
これに対して、最終パケットの場合(ステップS302:肯定)、RDMA受信部122は、通信完了通知を発行し(ステップS303)、主記憶部121にデータを書き込む。
以上に説明したように、本実施例に係る情報処理システムは、RDMAを行うときに、リンクダウンによりパケットの破棄、すなわちパケットロスが発生した場合、最終パケットを破棄し、受信側のサーバに最終パケットが届かないようにする。これにより、受信側のサーバは、リンクダウンによりパケットロスが発生した場合に、通信の完了が確認できないので、RDMAのデータ転送が失敗したと判断することになる。そのため、受信側のサーバは、壊れたデータを用いて処理を実行することが回避でき、リンクダウンによるパケットロスに起因する障害の発生を回避することができるという効果を奏する。
また、本実施例に係る情報処理システムでは、最終パケットに送信開始時刻を埋め込み、その送信開始時刻とリンクアップ発生時刻を比較することで、パケットロスが発生したか否かを判断できるので、単純な構成で上記機能を実現することができる。
(変形例1)
次に、実施例1の変形例1について説明する。上述した実施例1では、スイッチは、パケットロスが発生した場合に最終パケットを破棄していたが、本変形例におけるスイッチはエラーを受信側のサーバに通知する。そこで、以下では、スイッチによるエラーの通知、及びエラー通知を受信したサーバの動作について主に説明する。
送信完了防止部215は、受信部213から受信したパケットのヘッダ情報から最終パケットを特定する。そして、送信完了防止部215は、最終パケットから送信開始時刻を取得し、リンクアップ時刻レジスタ216に格納されたリンクアップ時刻と比較する。
リンクアップ時刻が送信開始時刻より後の場合、送信完了防止部215は、最終パケットのヘッダへエラーフラグを埋め込む。例えば、送信完了防止部215は、最終パケットのヘッダにおける予め決められた位置のビットを、エラーを表す値(例えば「1」)にすることでエラーフラグの埋め込みを行う。
転送部214は、エラーフラグが埋め込まれたヘッダを有する最終パケットをスイッチ202へ転送する。
サーバ102のRDMA受信部122は、エラーフラグが埋め込まれたヘッダを有する最終パケットを受信する。そして、RDMA受信部122は、最終パケットのヘッダのエラーフラグを確認し、エラーの発生、すなわちパケットロスの発生を確認する。そして、RDMA受信部122は、通信完了通知を行わずに、RDMAにより転送されたデータを使用する上位ソフトへエラーの発生を通知する。これにより、エラーの発生が通知された上位ソフトは、RDMAにより転送されたデータを使用した処理を回避する。
以上に説明したように、本変形例に係る情報処理システムでは、リンクダウンによるパケットロスが発生した場合に、受信側サーバは、エラーフラグが埋め込まれた最終パケットを受信する。これにより、受信側サーバは、パケットロスの発生を把握することができ、リンクダウンによるパケットロスに起因する障害の発生を回避することができる。
(変形例2)
さらに、実施例1の他の変形例として変形例2について説明する。上述した実施例1では、スイッチは、リンクアップ時刻が送信開始時刻よりも後であれば最終パケットを破棄していた。これに対して、本変形例のスイッチは、時計の誤差を含めてパケットロス発生の判定を行う。そこで、以下では、スイッチによるパケットロスの判定の処理について主に説明する。
送信完了防止部215は、サーバ101、スイッチ201〜203のそれぞれが有する時計111及び時計211の間で発生する最大誤差時間を予め記憶する。送信完了防止部215は、例えば、NTPなどを用いた場合の最大誤差時間として1秒を記憶する。
送信完了防止部215は、受信部213から受信したパケットのヘッダ情報から最終パケットを特定する。そして、送信完了防止部215は、リンクアップ時刻レジスタ216に格納されたリンクアップ時刻を取得し、さらにリンクアップ時刻に最大誤差時間を加算する。
そして、送信完了防止部215は、最終パケットから送信開始時刻を取得し、リンクアップ時刻に最大誤差時間を加算した時刻と比較する。
リンクアップ時刻に最大誤差時間を加算した時刻が送信開始時刻より後の場合、送信完了防止部215は、最終パケットの破棄を転送部214へ通知する。
このように、最大誤差時間をパケットロス発生の判定に含めることで、より確実にパケットロスの発生を検出することができ、リンクダウンによるパケットロスに起因する障害の発生を回避することができる。
図12は、実施例2に係る情報処理システムのブロック図である。本実施例に係る情報処理システムは、スイッチの受信部側でもリンクダウンしたあとのリンクアップの発生を検出して、リンクアップ時刻と送信開始時刻を比較することが実施例1と異なる。図12において、図2と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。
リンクアップ時刻取得部212は、実施例1と同様に、転送部214のパケットの出力などを監視することで、スイッチ201とスイッチ202との間の接続状態を監視し、リンクアップの発生を検出する。
本実施例ではさらに、リンクアップ時刻取得部212が、受信部213におけるパケットの受信状態などを監視することで、サーバ101とスイッチ201との間の接続状態を監視する。例えば、リンクアップ時刻取得部212は、受信部213のパケットの受信が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、受信部213におけるパケットの受信が再開された場合、リンクアップ時刻取得部212は、リンクアップと判定する。以下では、サーバ101とスイッチ201との間の接続のリンクアップ及びリンクダウンを「受信側リンクアップ」及び「受信側リンクダウン」と言う。また、スイッチ201とスイッチ202との間の接続のリンクアップ及びリンクダウンを「転送側リンクアップ」及び「転送側リンクダウン」と言う。
リンクアップ時刻取得部212は、転送側リンクアップが発生したと判定した場合、時計211から時刻を取得する。以下では、リンクアップ時刻取得部212が取得した転送側リンクアップが発生した時刻を「転送側リンクアップ時刻」という。リンクアップ時刻取得部212は、取得した転送側リンクアップ時刻を送信完了防止部215へ出力する。
また、リンクアップ時刻取得部212は、受信側リンクアップが発生したと判定した場合、時計211から時刻を取得する。以下では、リンクアップ時刻取得部212が取得した受信側リンクアップが発生した時刻を「受信側リンクアップ時刻」という。リンクアップ時刻取得部212は、取得した受信側リンクアップ時刻を送信完了防止部215へ出力する。
送信完了防止部215は、記憶装置であるリンクアップ時刻レジスタ216を有する。転送側リンクアップが発生した場合、送信完了防止部215は、転送側リンクアップ時刻をリンクアップ時刻取得部212から受信する。そして、送信完了防止部215は、受信した転送側リンクアップ時刻をリンクアップ時刻レジスタ216へ格納する。リンクアップ時刻レジスタ216に既に転送側リンクアップ時刻が格納された場合には、送信完了防止部215は、リンクアップ時刻レジスタ216が格納した転送側リンクアップ時刻を、新たに取得した転送側リンクアップ時刻で上書きし更新する。
また、受信側リンクアップが発生した場合、送信完了防止部215は、受信側リンクアップ時刻をリンクアップ時刻取得部212から受信する。そして、送信完了防止部215は、受信した受信側リンクアップ時刻をリンクアップ時刻レジスタ216へ格納する。リンクアップ時刻レジスタ216に既に受信側リンクアップ時刻が格納された場合には、送信完了防止部215は、リンクアップ時刻レジスタ216が格納している受信側リンクアップ時刻を、新たに取得した受信側リンクアップ時刻で上書きし更新する。
すなわち、送信完了防止部215は、常に最新の転送側リンクアップ時刻及び受信側リンクアップ時刻をリンクアップ時刻レジスタ216に保持する。
また、送信完了防止部215は、受信部213から取得したパケットのヘッダ情報を参照して受信部213が受信し転送部214に送信したパケットが最終パケットか否かを判定する。
最終パケットであれば、送信完了防止部215は、リンクアップ時刻レジスタ216に格納された転送側リンクアップ時刻及び受信側リンクアップ時刻と、最終パケットに格納された送信開始時刻とを比較する。転送側リンクアップ時刻又は受信側リンクアップ時刻のいずれかが送信開始時刻より後であれば、送信完了防止部215は、転送部214に最終パケットの破棄を指示する。
転送部214は、受信部213から最終パケットを受信した場合、送信完了防止部215から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、転送部214は、最終パケットを破棄し、スイッチ202への最終パケットの出力は行わない。
以上では、スイッチ201について説明したが、本実施例に係るスイッチ202及びスイッチ203などの他のスイッチも同様の機能を有する。
ここで、実施例1の方法では、サーバ101とスイッチ201との間の接続のリンクダウンの発生が把握できないが、本実施例の情報処理システムによれば、サーバ101とサーバ102との間の全ての接続のリンクダウンを検出することができる。
以上に説明したように、本実施例に係るスイッチは、受信側の接続及び転送側の接続の両方の接続状態を監視し、両方の接続におけるリンクアップの発生を検出している。そして、本実施例に係るスイッチは、送信開始時刻がいずれかの接続においてリンクアップが発生した時刻よりも後であれば、パケットロスが発生したと判定し、最終パケットの破棄を行う。これにより、スイッチの受信側及び送信側のいずれにおいてもリンクダウンによるパケットロスが発生したことが検出できる。したがって、受信側のサーバは、パケットロスにより不良になったデータを用いた処理を回避することがより確実に行える。
図13は、実施例3に係る情報処理システムのブロック図である。本実施例に係る情報処理システムは、サーバの送信側でもリンクダウンしたあとのリンクアップの発生を検出して、リンクアップ時刻と送信開始時刻を比較することが実施例1と異なる。図13において、図2と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。
本実施例では、サーバ101は、実施例1の構成に加えて、送信完了防止部117及びリンクアップ時刻取得部116を有する。
リンクアップ時刻取得部116は、RDMA送信部115におけるパケットの送信状態などを監視することで、サーバ102とスイッチ201との間の接続状態を監視する。例えば、リンクアップ時刻取得部116は、RDMA送信部115からのパケットの送信が所定期間停止した場合、リンクダウンと判定する。そして、リンクダウンと判定後、RDMA送信部115からのパケットの送信が再開された場合、リンクアップ時刻取得部116は、リンクアップと判定する。以下では、サーバ102とスイッチ201との間の接続のリンクアップ及びリンクダウンを単に「リンクアップ」及び「リンクダウン」と言う。
リンクアップ時刻取得部116は、リンクアップが発生したと判定した場合、時計111から時刻を取得する。以下では、リンクアップ時刻取得部116が取得した時刻を「リンクアップ時刻」という。リンクアップ時刻取得部116は、取得したリンクアップ時刻を送信完了防止部117へ出力する。
送信完了防止部117は、記憶装置であるリンクアップ時刻レジスタ118を有する。リンクアップが発生した場合、送信完了防止部117は、リンクアップ時刻をリンクアップ時刻取得部116から受信する。そして、送信完了防止部117は、受信したリンクアップ時刻をリンクアップ時刻レジスタ118へ格納する。リンクアップ時刻レジスタ118に既にリンクアップ時刻が格納された場合には、送信完了防止部117は、リンクアップ時刻レジスタ118が格納している転送側リンクアップ時刻を、新たに取得した転送側リンクアップ時刻で上書きし更新する。すなわち、送信完了防止部117は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ118に保持する。
また、送信完了防止部117は、RDMA送信部115が送信するパケットのヘッダ情報を参照してRDMA送信部115が送信するパケットが最終パケットか否かを判定する。
最終パケットであれば、送信完了防止部117は、リンクアップ時刻レジスタ118に格納されたリンクアップ時刻と最終パケットに格納された送信開始時刻とを比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部117は、RDMA送信部115に最終パケットの破棄を指示する。
ここで、本実施例では、スイッチ201の送信完了防止部215と同様の動作を送信完了防止部117に行わせるが、送信開始時刻とリンクアップ時刻の比較を行う方法は他の方法でもよい。例えば、送信完了防止部117は、リンクアップ発生時刻を取得したタイミングで、送信開始時刻レジスタ113に格納された送信開始時刻を確認し、送信開始時刻とリンクアップ時刻の比較を行ってもよい。この場合も、リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部117は、RDMA送信部115に最終パケットの破棄を指示すればよい。
RDMA送信部115は、最終パケットを送信する場合、送信完了防止部117から最終パケット破棄の指示があるか否かを確認する。最終パケット破棄の指示がある場合、RDMA送信部115は、最終パケットを破棄し、スイッチ201への最終パケットの出力は行わない。
ここで、実施例1の方法では、サーバ101とスイッチ201との間の接続のリンクダウンの発生が把握できないが、本実施例の情報処理システムによれば、サーバ101とサーバ102との間の全ての接続のリンクダウンを検出することができる。
以上に説明したように、本実施例に係る情報処理装置は、送信側のサーバにおいてもリンクアップの発生を検出する。そして、本実施例に係る送信側のサーバは、送信開始時刻がいずれかの接続においてリンクアップが発生した時刻よりも後であれば、パケットロスが発生したと判定し、最終パケットの破棄を行う。これにより、送信側のサーバにおいてもリンクダウンによるパケットロスが発生したことが検出できる。したがって、受信側のサーバは、パケットロスにより不良になったデータを用いた処理を回避することがより確実に行える。
さらに、本実施例では、送信側のサーバにのみリンクアップの発生の検出及び最終パケットを破棄する機能を設けたが、受信側のサーバに同様の機能を設けてもよい。例えば、受信側のサーバで、パケットの受信側の接続のリンクアップを検出し、受信した最終パケットに格納された送信開始時刻とリンクアップ発生時刻とを比較してパケットロスを検出してもよい。例えば、スイッチの受信側及び受信側のサーバにリンクアップの発生の検出及び最終パケットを破棄する機能を設けることで、送信側のサーバと受信側のサーバとの間の全ての接続のリンクダウンを検出することができる。
次に、実施例4に係る情報処理システムについて説明する。本実施例に係る情報処理システムは、中間パケットにも送信開始時刻を埋め込み、最終パケットだけではなく中間パケットも用いてパケットロスの発生を検出することが実施例1と異なる。本実施例に係る情報処理システムも、図2のブロック図で表される。
サーバ101側の動作を説明する。時刻埋込部112は、開始パケットの送信の通知をRDMA送信部115から受ける。時刻埋込部112は、開始パケットの送信の通知を受信した時刻を時計111から取得する。以下では、時刻埋込部112が取得した時刻を「送信開始時刻」という。時刻埋込部112は、送信開始時刻を送信開始時刻レジスタ113に格納する。
そして、時刻埋込部112は、RDMA送信部115が送信しようとしているパケットをRDMA送信部115から取得し、取得したパケットのヘッダに送信開始時刻レジスタ113に格納してある送信開始時刻を埋め込む。ここで、送信開始時刻は開始パケット送信のタイミングで取得されるので、送信開始時刻は、中間パケット及び最終パケットに埋め込まれることになる。そして、時刻埋込部112は、送信開始時刻をヘッダに埋め込んだパケットをRDMA送信部115へ送信する。
RDMA送信部115は、開始パケットはそのままスイッチ201へ送信する。そして、中間パケット及び最終パケットについては、送信開始時刻が埋め込まれたパケットを時刻埋込部112から受信する。そして、RDMA送信部115は、送信開始時刻が埋め込まれた中間パケット及び最終パケットをスイッチ201へ順次送信する。
次に、スイッチ201の動作を説明する。送信完了防止部215は、リンクアップ時刻をリンクアップ時刻取得部212から受信する。そして、送信完了防止部215は、受信したリンクアップ時刻をリンクアップ時刻レジスタ216へ格納する。リンクアップ時刻レジスタ216に既にリンクアップ時刻が格納された場合には、送信完了防止部215は、リンクアップ時刻レジスタ216が格納したリンクアップ時刻を、新たに取得したリンクアップ時刻で上書きし更新する。すなわち、送信完了防止部215は、常に最新のリンクアップ時刻をリンクアップ時刻レジスタ216に保持する。
また、送信完了防止部215は、開始パケット、中間パケット及び最終パケットのヘッダを受信部213から順次取得していく。そして、送信完了防止部215は、ヘッダを参照して受信部213が受信し転送部214に送信したパケットが中間パケット又は最終パケットのいずれかであるかを判定する。
中間パケット又は最終パケットであれば、送信完了防止部215は、リンクアップ時刻レジスタ216に格納したリンクアップ時刻と、転送部214が転送しようとするパケットに格納された送信開始時刻を比較する。リンクアップ時刻が送信開始時刻より後であれば、送信完了防止部215は、転送部214に転送しようとしているパケットのヘッダにエラーフラグを埋め込む。
転送部214は、開始パケット、中間パケット及び最終パケットを受信部213から順次受信する。そして、転送部214は、受信した開始パケット及び中間パケットを順次スイッチ202へ出力する。そして、送信完了防止部215によりエラーフラグの埋め込みが行われた場合、転送部214は、エラーフラグが埋め込まれたパケットをスイッチ202へ出力する。また、送信完了防止部215によるエラーフラグの埋め込みが行われていなければ、転送部214は、エラーフラグが埋め込まれていないパケットをスイッチ202へ出力する。
以上に説明したように、本実施例に係る情報処理装置において、送り側のサーバは中間パケット及び最終パケットに送信開始時刻を埋め込み、スイッチは、リンクアップ時刻が埋め込まれた送信開始時刻より後であれば、エラーを受信側サーバに通知する。これにより、リンクダウンによるパケットロスが発生した直ぐ後にパケットロスを受信側のサーバに通知することができ、エラーの発生を迅速に検出することができる。
そして、例えば、エラーの発生を受信側のサーバが受信した場合、受信側のサーバがデータの転送の中止を送信側のサーバや各スイッチに通知することで、無駄なデータ転送を省くことができ、情報処理システムの処理負荷やネットワークの負荷を軽減できる。
(ハードウェア構成)
次に、図14及び図15を参照して各実施例に係るサーバ101及びスイッチ201のハードウェア構成について説明する。図14は、サーバのハードウェア構成図である。また、図15は、スイッチのハードウェア構成図である。図14及び図15における破線は制御信号の経路を表し、実線はパケットなどのデータの経路を表している。
図14に示すように、サーバ101は、CPU(Central Processing Unit)801、メモリ802、NIC(Network Interface Card)803及びチップセット804を有する。
CPU801は、演算処理装置である。メモリは、主記憶部114を実現する。CPU801、メモリ802、NIC803及びチップセット804は、バスで接続されている。
NIC803は、DMAC(Direct Memory Access Controller) TX(送信用DMAC)831、CNTL TX(送信制御装置)832、PKT XMIT(パケット送信装置)833及びパケットバッファ834を有する。また、NIC803は、DMAC RX(受信用DMAC)836、CNTL RX(受信制御装置)837、PKT RECV(パケット受信装置)838及びパケットバッファ839を有する。さらに、NIC803は、CLOCK835を有する。
DMAC TX831は、ダイレクトメモリアクセスによるデータ送信の制御を行う。CNTL TX832は、データ送信の統括制御を行う。例えば、CNTL TX832は、DMAC TX831に対してDMACによるデータ転送の指示などを行う。また、CNTL TX832は、PKT XMIT833に対してパケットの送信や送信開始時刻の取得及び埋め込みなどの指示を行う。PKT XMIT833は、DMAC TX831から受信したパケットをパケットバッファ834に蓄積し、蓄積したパケットの送信を行う。また、PKT XMIT833は、CLOCK835から取得した送信開始時刻のパケットへの埋め込みを行う。
CLOCK835は、例えば、時計111の機能を実現する。DMAC TX831及びPKT XMIT833は、例えば、RDMA送信部115及び時刻埋込部112の機能を実現する。
DMAC RX836は、ダイレクトメモリアクセスによるデータ受信の制御を行う。CNTL RX837は、データ受信の統括制御を行う。例えば、CNTL RX837は、DMAC RX836に対してDMACによるデータ受信の指示などを行う。また、CNTL RX837は、PKT RECV838に対してパケットの送信や送信開始時刻の取得及び埋め込みなどの指示を行う。PKT RECV838は、受信したパケットをパケットバッファ839に蓄積し、蓄積したパケットをDMAC RX836へ出力する。
サーバ102も図14のサーバ101と同様の構成を有し、DMAC RX836、
CNTL RX837、PKT RECV838及びパケットバッファ839は、例えば、RDMA受信部122の機能を実現する。この場合、メモリ802は、例えば、主記憶部121の機能を実現する。
次に、図15に示すように、例えば、スイッチ201は、ポート904−1〜904―NまでのN個のポートを有する。さらに、スイッチ201は、CLOCK901、アービター(arbiter)902及びパケットクロスバ903を有する。
ポート904−1は、PKT RECV(パケット受信装置)905、PKT XMIT(パケット受信装置)906を有する。PKT RECV905は、パケットバッファ950を有する。PKT XMIT906は、パケットバッファ960を有する。ポート904−Nは、PKT RECV907、PKT XMIT908を有する。PKT RECV907は、パケットバッファ970を有する。PKT XMIT908は、パケットバッファ980を有する。ここで、他のポートも同様の構成を有する。
CLOCK901は、例えば、時計211の機能を実現する。
アービター902は、パケット転送の統括制御を行う。例えば、アービター902は、パケットの入出力構成の計算などの出力アービトレーションを行う。また、アービター902は、PKT RECV905などが受信したパケットのヘッダ情報を確認し、パケットクロスバ903及びPKT XMIT908などに転送指示を行う。
パケットクロスバ903は、ポート904−1〜ポート904−Nの間の接続の切替えを行う。例えば、パケットクロスバ903は、パケットが入力されたポート904−1と転送先のポート904−Nとを接続し、ポート904−1へ入力されたパケットをポート904−Nへ転送させる。
PKT RECV905は、入力されたパケットを受信し、パケットバッファ950へ受信したパケットを蓄積し、パケットクロスバ903によって接続された転送先のポートへパケットバッファ950に蓄積したパケットを転送する。PKT RECV907なども、PKT RECV905と同様に動作する。
PKT XMIT906は、他のポートから転送されたパケットをパケットバッファ960へ蓄積し、蓄積したパケットをスイッチ202などの接続先の機器へ出力する。また、PKT XMIT906は、CLOK901からリンクアップ時刻を取得し、送信開始時刻とリンクアップ時刻との比較を行い、パケットの破棄を行う。PKT XMIT908なども、PKT XMIT906と同様に動作する。
アービター902、パケットクロスバ903及びポート904−1〜ポート904−N
は、例えば、リンクアップ時刻取得部212、受信部213、転送部214及び送信完了防止部215の機能を実現する。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムであって、
前記情報処理装置は、
主記憶部と、
前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備え、
前記データ転送装置は、
前記送信部が送信したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とする情報処理システム。
(付記2)前記送信部は、オペレーティングシステムに依存せずに、前記主記憶部に格納されたデータを他の情報処理装置の主記憶部へ送信することを特徴とする付記1に記載の情報処理システム。
(付記3)前記時刻付加部は、データの最終パケットに前記送信開始時刻を付加し、
前記送信完了防止部は、前記情報処理装置が送信したデータの最終パケットを前記受信部が受信した場合、前記送信開始時刻と前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させないことを特徴とする付記1又は付記2に記載の情報処理システム。
(付記4)前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、最終パケットを破棄することを特徴とする付記1〜3のいずれか一つに記載の情報処理システム。
(付記5)前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記受信部が受信したパケットにエラー情報を付加し前記転送部に転送させて、転送先の前記情報処理装置へ前記データの送信失敗を通知することを特徴とする付記1〜3のいずれか一つに記載の情報処理システム。
(付記6)前記送信完了防止部は、前記送信開始時刻より所定時間前の時刻よりも前記リンクアップ発生時刻が後の場合、前記データの送信を完了させないことを特徴とする付記1〜5のいずれか一つに記載の情報処理システム。
(付記7)前記情報処理装置は、
前記パケットの送信先に繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得する送信側リンクアップ時刻取得部と、
前記送信部が転送するパケットに付加されている前記送信開始時刻と、前記送信側リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信の完了を防止する送信側送信完了防止部と
をさらに備えたことを特徴とする付記1〜6のいずれか一つに記載の情報処理システム。
(付記8)前記情報処理装置は、
他の情報処理装置から送信されたパケットを受信する受信部と、
前記パケットの受信元に繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得する受信側リンクアップ時刻取得部と、
前記受信部が受信したパケットに付加されている前記送信開始時刻と、前記受信側リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信の完了を防止する受信側送信完了防止部と
をさらに備えたことを特徴とする付記1〜7のいずれか一つに記載の情報処理システム。
(付記9)主記憶部と、
パケットを受信する受信部、前記受信部が受信した前記パケットを宛先の前記情報処理装置に向けて転送する転送部、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部、及び前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部を有するデータ転送装置を介して、前記主記憶部に格納されたデータを複数のパケットに分割して前記宛先の情報処理装置に送信する送信部と、
前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備えたことを特徴とする情報処理装置。
(付記10)主記憶部、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の前記情報処理装置に送信する送信部、及び前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部を有する情報処理装置が送出したパケットを受信する受信部と、
前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
を備えたことを特徴とするデータ転送装置。
(付記11)データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムの制御方法であって、
前記情報処理装置に、主記憶部に格納されたデータを複数のパケットに分割させ、
前記情報処理装置に、前記パケットに前記データの送信開始時刻を付加させ、
前記情報処理装置に、前記パケットを宛先の情報処理装置に向けて送信させ、
前記データ転送装置に、前記情報処理装置が送出したパケットを受信させ、
前記データ転送装置に、前記パケットの受信元の接続又は前記パケットの転送先の接続のいずれかに接続されている接続のリンクアップを検出させ、
前記データ転送装置に、受信したパケットに付加された前記送信開始時刻と、リンクダウンを検出したリンクダウン発生時刻とを比較し、前記リンクダウン発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない
ことを特徴とする情報処理システムの制御方法。
101,102 サーバ
111 時計
112 時刻埋込部
113 送信開始時刻レジスタ
114 主記憶部
115 RDMA送信部
116 リンクアップ時刻取得部
117 送信完了防止部
118 リンクアップ時刻レジスタ
121 主記憶部
122 RDMA受信部
201,202,203 スイッチ
211 時計
212 リンクアップ時刻取得部
213 受信部
214 転送部
215 送信完了防止部
216 リンクアップ時刻レジスタ

Claims (9)

  1. データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムであって、
    前記情報処理装置は、
    主記憶部と、
    前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部と、
    前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備え、
    前記データ転送装置は、
    前記送信部が送信したパケットを受信する受信部と、
    前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
    前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
    前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
    を備えたことを特徴とする情報処理システム。
  2. 前記送信部は、オペレーティングシステムに依存せずに、前記主記憶部に格納されたデータを他の情報処理装置の主記憶部へ送信することを特徴とする請求項1に記載の情報処理システム。
  3. 前記時刻付加部は、データの最終パケットに前記送信開始時刻を付加し、
    前記送信完了防止部は、前記情報処理装置が送信したデータの最終パケットを前記受信部が受信した場合、前記送信開始時刻と前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させないことを特徴とする請求項1又は請求項2に記載の情報処理システム。
  4. 前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、最終パケットを破棄することを特徴とする請求項1〜3のいずれか一つに記載の情報処理システム。
  5. 前記送信完了防止部は、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記受信部が受信したパケットにエラー情報を付加し前記転送部に転送させて、転送先の前記情報処理装置へ前記データの送信失敗を通知することを特徴とする請求項1〜3のいずれか一つに記載の情報処理システム。
  6. 前記送信完了防止部は、前記送信開始時刻より所定時間前の時刻よりも前記リンクアップ発生時刻が後の場合、前記データの送信を完了させないことを特徴とする請求項1〜5のいずれか一つに記載の情報処理システム。
  7. 主記憶部と、
    パケットを受信する受信部、前記受信部が受信した前記パケットを宛先の情報処理装置に向けて転送する転送部、前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部、及び前記受信部が受信したパケットに付加された送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、データの送信を完了させない送信完了防止部を有するデータ転送装置を介して、前記主記憶部に格納されたデータを複数のパケットに分割して前記宛先の情報処理装置に送信する送信部と、
    前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部とを備えたことを特徴とする情報処理装置。
  8. 主記憶部、前記主記憶部に格納されたデータを複数のパケットに分割して宛先の情報処理装置に送信する送信部、及び前記データの送信開始時刻を前記送信部が送信するパケットに付加する時刻付加部を有する情報処理装置が送出したパケットを受信する受信部と、
    前記受信部が受信した前記パケットを前記宛先の前記情報処理装置に向けて転送する転送部と、
    前記受信部又は前記転送部のいずれかに繋がる接続のリンクアップを検出し、最後にリンクアップが発生したリンクアップ発生時刻を取得するリンクアップ時刻取得部と、
    前記受信部が受信したパケットに付加された前記送信開始時刻と、前記リンクアップ時刻取得部が取得した前記リンクアップ発生時刻とを比較し、前記リンクアップ発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない送信完了防止部と
    を備えたことを特徴とするデータ転送装置。
  9. データ転送装置を介して互いに接続された複数の情報処理装置を有する情報処理システムの制御方法であって、
    前記情報処理装置に、主記憶部に格納されたデータを複数のパケットに分割させ、
    前記情報処理装置に、前記パケットに前記データの送信開始時刻を付加させ、
    前記情報処理装置に、前記パケットを宛先の情報処理装置に向けて送信させ、
    前記データ転送装置に、前記情報処理装置が送出したパケットを受信させ、
    前記データ転送装置に、前記パケットの受信元の接続又は前記パケットの転送先の接続のいずれかに接続されている接続のリンクアップを検出させ、
    前記データ転送装置に、受信したパケットに付加された前記送信開始時刻と、リンクダウンを検出したリンクダウン発生時刻とを比較し、前記リンクダウン発生時刻が前記送信開始時刻よりも後の場合、前記データの送信を完了させない
    ことを特徴とする情報処理システムの制御方法。
JP2013055649A 2013-03-18 2013-03-18 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法 Active JP6102383B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013055649A JP6102383B2 (ja) 2013-03-18 2013-03-18 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法
US14/168,536 US9479410B2 (en) 2013-03-18 2014-01-30 Information processing system, information processing device, data transfer device, and information processing system control method
CN201410057908.6A CN104065569A (zh) 2013-03-18 2014-02-20 信息处理系统和设备及其控制方法以及数据传输设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013055649A JP6102383B2 (ja) 2013-03-18 2013-03-18 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2014183401A JP2014183401A (ja) 2014-09-29
JP6102383B2 true JP6102383B2 (ja) 2017-03-29

Family

ID=51526650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013055649A Active JP6102383B2 (ja) 2013-03-18 2013-03-18 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法

Country Status (3)

Country Link
US (1) US9479410B2 (ja)
JP (1) JP6102383B2 (ja)
CN (1) CN104065569A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6388436B2 (ja) * 2014-08-29 2018-09-12 アライドテレシスホールディングス株式会社 ネットワーク機器、通信方法、プログラム、記録媒体
EP3185455A1 (en) * 2015-12-21 2017-06-28 Thomson Licensing Method and apparatus for detecting packet loss in staggercasting
CN105868131B (zh) 2016-04-20 2019-10-15 京东方科技集团股份有限公司 延时控制设备、延时控制方法及电子装置
CN110830283B (zh) * 2018-08-10 2021-10-15 华为技术有限公司 故障检测方法、装置、设备和系统
CN110445848B (zh) * 2019-07-22 2023-02-24 创新先进技术有限公司 用于事务处理的方法和装置
CN115398967A (zh) * 2020-04-08 2022-11-25 苹果公司 Sl单播中的安全性改进
CN113868172B (zh) * 2021-09-28 2024-06-18 上海兆芯集成电路股份有限公司 互连接口

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001094562A (ja) 1999-09-24 2001-04-06 Fujitsu Ltd Atmセル転送システム
CN1200368C (zh) * 2000-08-18 2005-05-04 清华大学 一种将tcp用于不可靠传输网络的局域重传方法
JP2003163913A (ja) 2001-11-22 2003-06-06 Telecommunication Advancement Organization Of Japan ケーブルテレビ網における通信制御システム及び応答情報収集方法
US7894381B2 (en) * 2003-03-04 2011-02-22 Samsung Electronics Co., Ltd. System and method of reliably broadcasting data packet under ad-hoc network environment
JP2004364156A (ja) * 2003-06-06 2004-12-24 Mitsubishi Electric Corp パケット伝送装置
KR100631201B1 (ko) * 2004-02-11 2006-10-04 삼성전자주식회사 백오프 기법을 사용하는 비용 기반의 라우팅방법
US20060013210A1 (en) * 2004-06-18 2006-01-19 Bordogna Mark A Method and apparatus for per-service fault protection and restoration in a packet network
JP2007208635A (ja) 2006-02-01 2007-08-16 Matsushita Electric Ind Co Ltd ノード、パケット通信方法、及びパケット通信システム
JP4629593B2 (ja) * 2006-02-15 2011-02-09 富士通株式会社 パケット送信装置及びパケット伝送システム
JP4643499B2 (ja) * 2006-06-09 2011-03-02 アラクサラネットワークス株式会社 情報処理装置
JP5242301B2 (ja) * 2008-09-01 2013-07-24 株式会社東芝 メッセージを転送する装置、出力方法および出力プログラム
JP2012162022A (ja) * 2011-02-08 2012-08-30 Canon Inc 情報処理装置、その制御方法、および制御プログラム
CN102984059B (zh) * 2012-11-22 2015-08-19 中国电子科技集团公司第三十二研究所 千兆以太网冗余网卡及其链路切换条件判定结果控制方法

Also Published As

Publication number Publication date
US20140269343A1 (en) 2014-09-18
CN104065569A (zh) 2014-09-24
JP2014183401A (ja) 2014-09-29
US9479410B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
JP6102383B2 (ja) 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法
US11863370B2 (en) High availability using multiple network elements
US8717871B2 (en) Packet retransmission control system, method and program
WO2016033948A1 (zh) 一种发送窗口流量控制方法和终端
KR101453182B1 (ko) 프레임 전송의 적어도 부분적인 중단
US8976671B2 (en) Information processing apparatus, congestion control method, and computer-readable recording medium
US10326681B2 (en) System and method to analyze route information in a network
WO2016192402A1 (zh) 一种调整IPv6隧道最大传输单元的方法和装置
JP2006229399A (ja) 通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラム
US8516150B2 (en) Systems and methods for multiple computer dataloading using a standard dataloader
EP1901497A1 (en) Apparatus for low latency communications through an alternate path
WO2019187202A1 (ja) 制御装置、車両内通信システム、監視方法及びプログラム
CN112653610B (zh) 多层虚拟交换机升级方法、装置、电子设备及存储介质
US20170118072A1 (en) Communication control method, network system, and communication control device
JP4901777B2 (ja) ネットワーク中継装置およびネットワーク中継方法
US20120072520A1 (en) System and Method for Establishing Reliable Communication in a Connection-Less Environment
CN114070495A (zh) 数据传输方法、装置、电子装置和存储介质
US11757799B2 (en) Line monitor device and network switch
JP4586902B2 (ja) ブリッジ、システム、ブリッジ制御方法、及びプログラム
JP4577670B2 (ja) 通信装置およびデータ送信制御方法
JP2007013510A (ja) パケット通信システムおよびパケット通信装置
CN118743210A (zh) 基于连接状态的传送协议选择
JP2012170155A (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
WO2017219786A1 (zh) 一种应用连接的构建方法、装置及终端
Birmingham et al. Essential SpaceWire Hardware Capabilities for a Robust Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6102383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150