JP5381109B2 - 通信装置及びその制御プログラム - Google Patents

通信装置及びその制御プログラム Download PDF

Info

Publication number
JP5381109B2
JP5381109B2 JP2009005703A JP2009005703A JP5381109B2 JP 5381109 B2 JP5381109 B2 JP 5381109B2 JP 2009005703 A JP2009005703 A JP 2009005703A JP 2009005703 A JP2009005703 A JP 2009005703A JP 5381109 B2 JP5381109 B2 JP 5381109B2
Authority
JP
Japan
Prior art keywords
data
sequence number
received
network
nic
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
JP2009005703A
Other languages
English (en)
Other versions
JP2010165105A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009005703A priority Critical patent/JP5381109B2/ja
Publication of JP2010165105A publication Critical patent/JP2010165105A/ja
Application granted granted Critical
Publication of JP5381109B2 publication Critical patent/JP5381109B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信装置及びその制御プログラムに関し、特に多重化されたネットワークからデータを並列に受信して処理する通信装置及びその制御プログラムに関する。
例えば特許文献1及び2に、2重化されたネットワークに接続された通信装置同士間におけるデータ通信方式が記載されている。このデータ通信方式においては、送信側の通信装置が、同一のシーケンス番号を付加したデータを2つのネットワークに並列に送信する。一方、受信側の通信装置は、シーケンス番号をチェックすることにより、一方のネットワークから先に受信したデータを採用して所望の処理を実行する。
このデータ通信方式には、通常時に一方のネットワークを使用し、障害時に他方のネットワークに切り替えてデータを伝送する一般的なデータ通信方式に比べ、障害時の復旧処理におけるデータの再送が不要であり、以て短時間且つ簡易に障害を復旧できるというメリットがある。
特開平1−208050号公報 特開2002−335251号公報
しかしながら、上記の特許文献1及び2に記載のデータ通信方式には、受信側の通信装置において、プロセッサ資源が浪費されてしまうという課題があった。これは、大略、通信装置を構成する一のネットワークカード(例えば、Ethernet(登録商標)用のPCI拡張カード)が、プロセッサに対して他のネットワークカードより遅れて受信した不要なデータの処理を要求する割込みを発生し、以てプロセッサに無駄な割込み処理を実行させてしまうためである。
この課題を、図11を参照してより具体的に説明する。図示の例では、通信装置1xを構成する2つのNIC(Network Interface Card)10_1及び10_2が、同一のシーケンス番号SNが付加されたデータDTを並列に受信する場合を扱っている。
今、図示の如くデータDTがNIC10_1で受信されたとすると(ステップS1001)、NIC10_1は、データDTの処理を要求する割込み信号INTを生成し、内部バスBUSを介してCPU(Central Processing Unit)20に与える(ステップS1002)。割込み信号INTを受けたCPU20は、NIC10_1からデータDTを取得すると共に、データDTに応じた処理を実行する(ステップS1003)。
この後、NIC10_2は、NIC10_1より遅れてデータDTを受信し(ステップS1004)、NIC10_1と同様にして、割込み信号INTをCPU20に与える(ステップS1005)。割込み信号INTを受けたCPU20は、NIC10_2からデータDTを取得する(ステップS1006)。この時、CPU20は、データDTに付加されたシーケンス番号SNを確認する。NIC10_2から取得したデータDTには、NIC10_1から既に取得済みのデータと同一のシーケンス番号SNが付加されているため、CPU20は、データDTに対する処理が不要と判断して、データDTを廃棄する(ステップS1007)。
このように、不要なデータに対するシーケンス番号の確認処理及び廃棄処理がオーバヘッドとなり、CPU資源が浪費されてしまう。また、これらの割込み処理は、データ受信の度に実行され且つ最も優先度の高い処理であるため、本来CPUが注力すべきデータの処理(アプリケーションの実行)が妨げられてしまう。
従って、本発明は、プロセッサ資源を有効利用することが可能な通信装置及びその制御プログラムを提供することを目的とする。
上記の目的を達成するため、本発明の一態様に係る通信装置は、互いに異なるネットワークを介して、同一のシーケンス番号が付加されたデータを並列に受信する複数のネットワークカードと、前記データを処理するプロセッサとを備え、各ネットワークカードが、一のデータを他のネットワークカードに先んじて受信したか否かを、前記一のデータに付加されたシーケンス番号と、前記他のネットワークカードで受信済みのデータに付加されたシーケンス番号とを比較することにより判定し、前記一のデータを前記他のネットワークカードに先んじて受信したと判定した場合にのみ、前記プロセッサに対して前記一のデータの処理を要求する割込みを発生する。
また、本発明の一態様に係る制御プログラムは、互いに異なるネットワークを介して、同一のシーケンス番号が付加されたデータを並列に受信する複数のネットワークカード各々に、一のデータを他のネットワークカードに先んじて受信したか否かを、前記一のデータに付加されたシーケンス番号と、前記他のネットワークカードで受信済みのデータに付加されたシーケンス番号とを比較することにより判定する処理と、前記一のデータを前記他のネットワークカードに先んじて受信したと判定した場合にのみ、プロセッサに対して前記一のデータの処理を要求する割込みを発生する処理と、を実行させる。
本発明では、多重化されたネットワークから並列に受信したデータの内、最先の有効なデータのみについての割込みが発生するため、プロセッサにおける無駄な割込み処理の実行を回避でき、以てプロセッサ資源を有効利用することが可能である。
本発明に係る通信装置の実施の形態1の概略的な構成例を示したブロック図である。 本発明に係る通信装置の実施の形態1の概略的な動作例を示したブロック図である。 本発明に係る通信装置の実施の形態1の詳細な構成例を示したブロック図である。 本発明に係る通信装置の実施の形態1に用いるNICの構成例を示したブロック図である。 本発明に係る通信装置の実施の形態1におけるデータ送信動作例を示したシーケンス図である。 本発明に係る通信装置の実施の形態1に用いるNICのデータ受信時における動作例を示したシーケンス図である。 本発明に係る通信装置の実施の形態1に用いるCPUのデータ受信時における動作例を示したシーケンス図である。 本発明に係る通信装置の実施の形態2に用いるNICの構成例を示したブロック図である。 本発明に係る通信装置の実施の形態2に用いるNICのデータ受信時における動作例を示したフローチャート図である。 本発明に係る通信装置の実施の形態2に用いるCPUのデータ受信時における動作例を示したシーケンス図である。 従来のデータ通信方式の課題を説明するためのブロック図である。
以下、本発明に係る通信装置及びその制御プログラムの実施の形態1及び2を、図1〜図10を参照して説明する。なお、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
[実施の形態1]
まず、本実施の形態に係る通信装置の概略的な構成例及び動作例を、図1及び図2をそれぞれ参照して説明する。
図1に示す本実施の形態に係る通信装置1は、一例として2重化されたネットワークNW1及びNW2を介して、同一のシーケンス番号が付加されたデータを並列に受信する2つのNIC10_1及び10_2(以下、符号10で総称することがある)と、これらのNIC10_1及び10_2の一方で受信されたデータを処理するCPU20と、メモリ30とを備えている。また、NIC10、CPU20、及びメモリ30は、内部バスBUSを介して相互接続されている。
ここで、メモリ30には、NIC10_1及び10_2がそれぞれ最後に受信したデータに付加されたシーケンス番号(以下、受信済みシーケンス番号と呼称する)を記憶するための領域(以下、受信済みシーケンス番号記憶領域と呼称する)31_1及び31_2を形成し、以て各NICが、他のNICにおける受信済みシーケンス番号を参照できるようにしている。但し、メモリを用いて受信済みシーケンス番号を参照することは必須では無い。例えば、受信済みシーケンス番号をNIC同士間で通知するようにしても良い。この場合も、各NICは、他のNICにおける受信済みシーケンス番号を把握することができる。なお、以降の説明においては、受信済みシーケンス番号記憶領域31_1及び31_2を、符号31で総称することがある。
以下、通信装置1の概略的な動作を、図2に示す如く受信済みシーケンス番号記憶領域31_1及び31_2に記憶された受信済みシーケンス番号SN_R1及びSN_R2が共に"14"であり、且つNIC10_1及び10_2が同一のシーケンス番号SN="15"が付加されたデータDTを並列に受信する場合を例に取って説明する。なお、以降の説明においては、受信済みシーケンス番号SN_R1及びSN_R2を、符号SN_Rで総称することがある。
今、図示の如くデータDTが、NIC10_2より先にNIC10_1で受信されたとする(ステップS1)。この場合、NIC10_1は、自NICに対応する領域31_1内の受信済みシーケンス番号SN_R1を"15"(シーケンス番号SN)に更新する(ステップS2)と共に、他のNIC10_2に対応する領域31_2から受信済みシーケンス番号SN_R2="14"を読み出す(ステップS3)。
そして、NIC10_1は、シーケンス番号SN(="15")と受信済みシーケンス番号SN_R2(="14")とを比較する。SN>SN_R2が成立するため、NIC10_1は、データDTをNIC10_2より先に受信したと判断すると共に、データDTの処理を要求する割込み信号(以下、データ処理要求割込み信号と呼称する)INT1を生成し、内部バスBUSを介してCPU20に与える(ステップS4)。データ処理要求割込み信号INT1を受けたCPU20は、NIC10_1からデータDTを取得すると共に、データDTに応じた処理を実行する(ステップS5)。
一方、NIC10_2は、NIC10_1より遅れてデータDTを受信する(ステップS6)。NIC10_2は、NIC10_1と同様、自NICに対応する領域31_2内の受信済みシーケンス番号SN_R2を"15"(シーケンス番号SN)に更新する(ステップS7)と共に、他のNIC10_1に対応する領域31_1から受信済みシーケンス番号SN_R1="15"を読み出す(ステップS8)。
そして、NIC10_2は、シーケンス番号SN(="15")と受信済みシーケンス番号SN_R1(="15")とを比較する。SN=SN_R1が成立するため、NIC10_2は、データDTをNIC10_1より遅れて受信した(すなわち、データDTがCPU20により既に処理された不要なデータである)と判断し、データ処理要求割込み信号INT1を発生すること無くデータDTを廃棄する(ステップS9)。
このように、CPUに対しては、2重化されたネットワークから並列に受信したデータの内、最先の有効なデータのみについての割込みが発生する。従って、CPUは無駄な割込み処理を実行する必要が無く、実行中のアプリケーション等の動作が不必要に妨げられることも無い。
また、メモリ内に受信済みシーケンス番号記憶領域を形成する簡易な構成により、各NICは、他のNICにおける受信済みシーケンス番号を把握することができる。さらに、シーケンス番号記憶領域には、数ビット程度の小さな領域を割り当てれば十分である。
なお、ネットワークは3重以上に多重化しても良い。この場合、一のネットワークに接続されたNICが、受信したデータに付加されたシーケンス番号と、他のネットワークに接続された全てのNICにおける受信済みシーケンス番号とを順次比較して、当該データの先後着を判断する。
次に、上記の動作を実現する通信装置の詳細な構成例及び動作例を、図3〜図7を参照して説明する。
図3に示す通信装置1_1及び1_2は、図1に示した通信装置1と同様、ネットワークNW1に接続されたNIC10_1と、ネットワークNW2に接続されたNIC10_2と、CPU20と、メモリ30とを備え、以て通信装置1_1−1_2間でデータを送受信できるようにしている。
また、CPU20上では、ユーザの業務プログラムや通信装置の上位機能等を実現するアプリケーション21と、NIC10を制御するデバイスドライバ22が動作する。
さらに、メモリ30には、図1に示した受信済みシーケンス番号記憶領域31に加えて、送信バッファ32、受信バッファ33、及び送信シーケンス番号記憶領域34が形成されている。送信バッファ32は、ネットワークNWを介して対向する通信装置に対して送信するデータを格納する領域である。この送信バッファ32への書込はデバイスドライバ22によって行われ、読出はNIC10_1及び10_2によって行われる。受信バッファ33は、NIC10_1及び10_2のいずれか一方で受信されたデータを格納する領域である。この受信バッファ33への書込はNIC10_1又は10_2によって行われ、読出はデバイスドライバ22によって行われる。送信シーケンス番号記憶領域34は、データ送信時に付加するシーケンス番号を記憶する領域であり、データ送信の度に当該シーケンス番号がインクリメントされる。
ここで、受信済みシーケンス番号記憶領域31及び送信シーケンス番号記憶領域34内の値は、通信装置1_1−1_2間でデータを送受信できるよう適切に初期化される。通信装置1_1及び1_2の起動時、例えば、送信シーケンス番号記憶領域34には"1"を記憶し、受信済みシーケンス番号記憶領域31には"0"を記憶する。
また、NIC10は、図4に示す如く、トランシーバ11と、受信バッファ12と、DMA(Direct Memory Access)コントローラ13と、割込みコントローラ14と、これらの構成要素11〜14を制御するファームウェア15とを備えている。トランシーバ11は、ネットワークNWを介したデータDTの送受信を行う。受信バッファ12は、トランシーバ11で受信されたデータDTを一時的に格納する領域である。DMAコントローラ13は、CPU20を介すること無くメモリ30へ直接アクセスし、以てデータDT及びシーケンス番号SNの書込、並びに受信シーケンス番号SN_Rの読出を行う。割込みコントローラ14は、CPU20に対するデータ処理要求割込み信号INT1を生成する。
さらに、ファームウェア15は、データ受信に際しての制御プログラム151を有する。制御プログラム151は、下記(A)〜(D)の処理を含む。
(A)受信バッファ12からのデータDTの読出処理。
(B)DMAコントローラ13に対するメモリアクセス指示INS1の発行処理。ここで、メモリアクセス指示INS1は、DMAコントローラ13に対して、メモリ30への受信バッファ12から読み出したデータDT及びこれに付加されたシーケンス番号SNの書込、並びにメモリ30からの受信済シーケンス番号SN_Rの読出を指示するものである。
(C)シーケンス番号SNと受信済シーケンス番号SN_Rの比較によるデータDTの先後着判断処理。
(D)割込みコントローラ14に対する割込み発生指示INS2の発行処理。
なお、図示を省略するが、ファームウェア15は、データ送信に際しての制御プログラム、及びNIC10起動時の初期化プログラム等も有する。
次に通信装置1_1及び1_2の動作を説明するが、まずデータ送信動作例を、図5を参照して説明する。そして、データ受信動作例を、図6及び図7を参照して説明する。
[データ送信動作例]
図5に示すように、CPU20上で実行されているアプリケーション21は、その処理過程において対向する通信装置へのデータDTの送信が必要になると、デバイスドライバ22へデータDTの送信を指示する(ステップS101)。この時、CPU20は、アプリケーション21の実行を停止し、デバイスドライバ22を起動する。
デバイスドライバ22は、アプリケーション21より受け取ったデータDTを送信バッファ32へ格納する(ステップS201)。次いで、デバイスドライバ22は、送信シーケンス番号記憶領域34からシーケンス番号SNを読み出し(ステップS202)、送信バッファ32内のデータDTに付加する(ステップS203)。この時、デバイスドライバ22は、次のデータ送信に備えて、送信シーケンス番号記憶領域34内のシーケンス番号SNを"1"だけインクリメントする(ステップS204)。そして、デバイスドライバ22は、NIC10_1及び10_2に対して、送信バッファ32内のデータDTを送信するよう指示する(ステップS205)。
この指示を受けたNIC10_1及び10_2(内の各トランシーバ11)は、送信バッファ32内のデータDTをネットワークNW1及びNW2へそれぞれ送出する(ステップS301_1及びS301_2)。これにより、同一のシーケンス番号SNが付加されたデータDTが、ネットワークNW1及びNW2へ並列に送信されることとなる。
また、CPU20は、上記のステップS205の後にデバイスドライバ22の実行を停止し、アプリケーション21を再起動する。アプリケーション21は、他の処理を継続する(ステップS102)。
[データ受信動作例]
図6に示すように、NIC10内のトランシーバ11は、ネットワークNWからデータDTを受信し(ステップS401)、受信バッファ12へ格納する(ステップS402)。
これを検知したファームウェア15内の制御プログラム151は、受信バッファ12からデータDTを読み出すと共に、DMAコントローラ13に対して、自NICに対応する受信済みシーケンス番号SN_Riを、データDTに付加されたシーケンス番号SNで更新するよう指示する(ステップS501)。ここで、SN_Riは、NIC10_1であれば図2に示した受信済みシーケンス番号SN_R1に相当し、NIC10_2であれば受信済みシーケンス番号SN_R2に相当する。
上記の指示を受けたDMAコントローラ13は、自NICに対応する受信済みシーケンス番号記憶領域31_iをシーケンス番号SNで上書きする(ステップS601)。ここで、31_iは、NIC10_1であれば図3に示した受信済みシーケンス番号記憶領域31_1に相当し、NIC10_2であれば受信済みシーケンス番号記憶領域31_2に相当する。
そして、制御プログラム151は、DMAコントローラ13に対して、他のNICに対応する受信済みシーケンス番号SN_Roの読出をさらに指示する(ステップS502)。ここで、SN_Roは、NIC10_1であれば図2に示した受信済みシーケンス番号SN_R2に相当し、NIC10_2であれば受信済みシーケンス番号SN_R1に相当する。
上記の指示を受けたDMAコントローラ13は、他のNICに対応する受信済みシーケンス番号記憶領域31_oから受信済みシーケンス番号SN_Roを読み出し、制御プログラム151に与える(ステップS602)。ここで、31_oは、NIC10_1であれば図3に示した受信済みシーケンス番号記憶領域31_2に相当し、NIC10_2であれば受信済みシーケンス番号記憶領域31_1に相当する。
そして、制御プログラム151は、シーケンス番号SNと受信済みシーケンス番号SN_Roとを比較する(ステップS503)。この結果、SN≦SN_Roが成立すると(ステップS504)、制御プログラム151は、自NICが他のNICより遅れてデータDTを受信したと判断してデータDTを廃棄し、処理を終了する(ステップS505)。
一方、上記のステップS504でSN≦SN_Roが成立しなかった場合、制御プログラム151は、自NICが他のNICより先にデータDTを受信したと判断し、DMAコントローラ13に対して、データDTをメモリ30内の受信バッファ33へ格納するよう指示する(ステップS506)。この指示を受けたDMAコントローラ13は、データDTを受信バッファ33へ格納する(ステップS603)。
この後、制御プログラム151は、割込みコントローラ14に対して、CPU20へのデータ処理要求割込みを発生するよう指示する(ステップS507)。この指示を受けた割込みコントローラ14は、データ処理要求割込み信号INT1を内部バスBUS(図3参照)へ送出する(ステップS701)。
図7に示すように、CPU20内のデバイスドライバ22は、割込みコントローラ14から送出されたデータ処理要求割込み信号INT1を受信する(ステップS801)。この時、デバイスドライバ22は、受信バッファ33からデータDTを読み出す(ステップS802)と共に、データDTからシーケンス番号SNを削除してアプリケーション21へ渡す(ステップS803)。
アプリケーション21は、データDTに応じた処理を実行し(ステップS901)、その後、他の処理を継続する(ステップS902)。
このように、本実施の形態においては、遅れてデータを受信したNICがCPUに対する割込みを発生しないため、CPUにおける無駄な割込み処理の実行が不要となる。このため、アプリケーションの実行に、CPU資源をより多く割り当てることができる。また、データの先後着判断処理を、CPUよりも高速に動作するNIC内のファームウェアで実行するため、通信装置全体の性能を向上させることができる。
[実施の形態2]
本実施の形態に係る通信装置は、NIC10が、図8に示すように、図4に示した割込みコントローラ14及び制御プログラム151に代えて、割込みコントローラ14a及び制御プログラム151aを有している点が上記の実施の形態1と異なる。
ここで、制御プログラム151aは、上記(A)〜(D)の処理に加えて、下記(E)の処理を含む。
(E)自NICにおけるシーケンス番号SNの連続性を監視することにより、ネットワークNWからデータDTを正常に受信しているか否かを判定する処理。
また、割込みコントローラ14aは、上記(E)の処理によりデータDTの受信障害が検出された場合、CPU20に対して障害処理の実行を要求する割込み信号(以下、障害処理要求割込み信号と呼称する)INT2を生成する。ここで、障害処理とは、NICの再初期化処理や切り離し(使用停止)処理等である。
これにより、データDTを遅れて受信した、データ処理要求割込みを発生しないNICに受信障害が発生した場合であっても、CPU20は当該受信障害を検知できる。
以下、本実施の形態の動作を、図9及び図10を参照して説明する。
図9に示すように、制御プログラム151aは、図6に示したステップS501〜S507(制御プログラム151の処理)に加えて、上記(E)の処理に相当するステップS508〜S511を実行する。
より具体的には、データDTの受信を検知した制御プログラム151aは、まず、DMAコントローラ13に対して、自NICに対応する受信済みシーケンス番号SN_Riの読出を指示する(ステップS508)。この指示を受けたDMAコントローラ13は、自NICに対応する領域31_iから受信済みシーケンス番号SN_Riを読み出し、制御プログラム151aに与える。
そして、制御プログラム151aは、受信済みシーケンス番号SN_RiとデータDTに付加されたシーケンス番号SNとを比較する(ステップS509)。この結果、SN=SN_Ri+1が成立した場合(すなわち、シーケンス番号SNの連続性が保たれている場合)(ステップS510)、制御プログラム151aは、上記の実施の形態1と同様の処理(ステップS501〜S507)を実行する。
一方、上記のステップS510でシーケンス番号SNの連続性が保たれていない場合には、制御プログラム151aは、受信データの欠落や誤りがあると判断し、割込みコントローラ14aに対して、CPU20への障害処理要求割込みを発生するよう指示する(ステップS511)。この指示を受けた割込みコントローラ14aは、障害処理要求割込み信号INT2を内部バスBUS(図3参照)へ送出する。
図10に示すように、CPU20内のデバイスドライバ22は、割込みコントローラ14aから送出された障害処理要求割込み信号INT2を受信する(ステップS804)。この時、デバイスドライバ22は、所定の障害処理を実行する(ステップ805)。
また、CPU20は、上記のステップS805の後にデバイスドライバ22の実行を停止し、アプリケーション21を再起動する。アプリケーション21は、他の処理を継続する(ステップS902)。
なお、本実施の形態においては、シーケンス番号の連続性を監視することにより受信データの正常性を確認したが、周知の誤り検出技術(チェックサムやパリティ等)を併用して受信データの欠落や誤りを判断するようにしても良い。
なお、上記の実施の形態によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
1, 1_1, 1_2 通信装置
10, 10_1, 10_2 NIC
11 トランシーバ
12, 33 受信バッファ
13 DMAコントローラ
14, 14a 割込みコントローラ
15 ファームウェア
20 CPU
21 アプリケーション
22 デバイスドライバ
30 メモリ
31_1, 31_2, 31_i, 31_o 受信済みシーケンス番号記憶領域
32 送信バッファ
34 送信シーケンス番号記憶領域
151, 151a 制御プログラム
NW, NW1, NW2 ネットワーク
DT データ
SN シーケンス番号
SN_R, SN_R1, SN_R2, SN_Ri, SN_Ro 受信済みシーケンス番号
INT1 データ処理要求割込み信号
INT2 障害処理要求割込み信号
INS1 メモリアクセス指示
INS2 割込み発生指示
BUS 内部バス

Claims (2)

  1. 互いに異なるネットワークを介して、同一のシーケンス番号が付加されたデータを並列に受信する複数のネットワークカードと、
    前記データを処理するプロセッサと、を備え、
    各ネットワークカードが、
    各ネットワークを介してデータを受信する度に、当該データに付加されたシーケンス番号を他のネットワークカードに通知し、
    組み込まれたファームウェアにより、一のデータを他のネットワークカードに先んじて受信したか否かを、前記一のデータに付加されたシーケンス番号と、前記他のネットワークカードから通知された、該他のネットワークカードで受信済みのデータに付加されたシーケンス番号とを比較することにより判定し、前記一のデータを前記他のネットワークカードに先んじて受信したと判定した場合にのみ、前記プロセッサに対して前記一のデータの処理を要求する割込みを発生し、
    さらに、
    各ネットワークから正常にデータを受信しているか否かを、前記一のデータに付加されたシーケンス番号と、各ネットワークカードで受信済みのデータに付加されたシーケンス番号との連続性を監視することにより判定し、正常にデータを受信していないと判定した場合、前記プロセッサに対して障害処理の実行を要求する割込みを発生することを特徴とする通信装置。
  2. 互いに異なるネットワークを介して、同一のシーケンス番号が付加されたデータを並列に受信する複数のネットワークカード各々に、
    各ネットワークを介してデータを受信する度に、当該データに付加されたシーケンス番号を他のネットワークカードに通知する処理と、
    一のデータを他のネットワークカードに先んじて受信したか否かを、前記一のデータに付加されたシーケンス番号と、前記他のネットワークカードから通知された、該他のネットワークカードで受信済みのデータに付加されたシーケンス番号とを比較することにより判定する処理と、
    前記一のデータを前記他のネットワークカードに先んじて受信したと判定した場合にのみ、プロセッサに対して前記一のデータの処理を要求する割込みを発生する処理と、
    各ネットワークから正常にデータを受信しているか否かを、前記一のデータに付加されたシーケンス番号と、各ネットワークカードで受信済みのデータに付加されたシーケンス番号との連続性を監視することにより判定する処理と、
    正常にデータを受信していないと判定した場合、前記プロセッサに対して障害処理の実行を要求する割込みを発生する処理と、
    実行させるための制御プログラム。
JP2009005703A 2009-01-14 2009-01-14 通信装置及びその制御プログラム Active JP5381109B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009005703A JP5381109B2 (ja) 2009-01-14 2009-01-14 通信装置及びその制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009005703A JP5381109B2 (ja) 2009-01-14 2009-01-14 通信装置及びその制御プログラム

Publications (2)

Publication Number Publication Date
JP2010165105A JP2010165105A (ja) 2010-07-29
JP5381109B2 true JP5381109B2 (ja) 2014-01-08

Family

ID=42581225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009005703A Active JP5381109B2 (ja) 2009-01-14 2009-01-14 通信装置及びその制御プログラム

Country Status (1)

Country Link
JP (1) JP5381109B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070077A (ja) * 2010-09-21 2012-04-05 Nec Infrontia Corp 通信システム、情報処理装置および情報処理方法
JP5917103B2 (ja) * 2011-11-18 2016-05-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP7271080B2 (ja) * 2017-10-11 2023-05-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信システム、通信方法、及びプログラム
JP6874999B2 (ja) * 2018-06-01 2021-05-19 Necプラットフォームズ株式会社 データ通信回路、データ通信方法および通信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05110600A (ja) * 1991-10-16 1993-04-30 Nippon Telegr & Teleph Corp <Ntt> 受信パケツトの順序制御方法
JPH0621925A (ja) * 1992-07-02 1994-01-28 Hitachi Ltd 多重化伝送路通信制御方式
JPH0973420A (ja) * 1995-09-07 1997-03-18 Fujitsu Ltd データフレーム転送方法

Also Published As

Publication number Publication date
JP2010165105A (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
US9286171B2 (en) Priming failover of stateful offload adapters
US7747897B2 (en) Method and apparatus for lockstep processing on a fixed-latency interconnect
JP4658122B2 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US8132048B2 (en) Systems and methods to efficiently schedule commands at a memory controller
US20120297107A1 (en) Storage controller system with data synchronization and method of operation thereof
US10503415B2 (en) Snapshot processing method and related device
CN111201521B (zh) 具有应用控制的早期写确认支持的存储器访问代理系统
JP5381109B2 (ja) 通信装置及びその制御プログラム
JP4168403B2 (ja) フォールトトレラントシステム、これで用いる制御装置、アクセス制御方法、及び制御プログラム
WO2015098589A1 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体
WO2012169456A1 (ja) 車両制御装置、車両制御システム
US9697152B1 (en) I/O processing system including dynamic missing interrupt and input/output detection
JP2010050742A (ja) 伝送システム、伝送装置および伝送方法
WO2016135919A1 (ja) ストレージ装置
JP2010044553A (ja) データ処理方法、クラスタシステム、及びデータ処理プログラム
WO2019119269A1 (zh) 一种网络故障探测方法及控制中心设备
JP2010092336A (ja) ストレージシステム及び通信方法
WO2007099584A1 (ja) エラー検出装置
US20160080111A1 (en) Receiver, transmitter and data transmission system
JP5879982B2 (ja) ストレージ装置、ストレージ制御プログラムおよびストレージ制御方法
US9594651B2 (en) Parallel computer system and control method for parallel computer system
US8650433B2 (en) Shared ethernet adapter (SEA) load sharing and SEA fail-over configuration as set by a user interface
JP2018182688A (ja) 情報処理装置、情報処理システムおよび情報処理システムの制御方法
WO2016095340A1 (zh) 数据发送成功的确认方法及装置
US10855610B2 (en) Information processing apparatus, information processing system, information processing method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130305

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5381109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150