(57)【要約】【課題】同期元の現用系モジュールと被同期モジュールとの間でアプリケーションのデータを同期させるために要する時間を低減すること。【解決手段】ネットワーク装置１において、搭載された現用系モジュール１００は、アプリケーションが送信する同期パケットを通信ケーブル３００で予備系モジュール２００に送信する送信手段１０２と、同期制御手段１０１と、を備え、同期制御手段１０１は、同期パケットにアプリケーションの識別番号を付与する識別番号付与手段１１１と、同期パケットにシーケンス番号を付与するシーケンス番号付与手段１１２と、送信手段１０２に格納された同期パケットのシーケンス番号を登録する送信済シーケンス番号登録手段１２０と、予備系モジュール２００に到達した同期パケットのシーケンス番号を受信して到達シーケンス番号と送信済シーケンス番号とを照合して同期パケットの到達を確認する番号照合手段１３０とを備える。【選択図】図１
2015201687.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、前記現用系モジュールが保持している情報を前記搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させる前記ネットワーク装置であって、
同期元の前記現用系モジュールは、
当該モジュール内で同期させる必要のある複数のアプリケーションのデータを集約すると共に前記各アプリケーションからデータの同期のために送信された同期パケットを受信して当該同期パケットに同期のための情報を付与して前記同期パケットを前記被同期モジュールに転送させる制御を行う同期制御手段と、
前記同期のための情報が付与された同期パケットを通信ケーブルを介して前記被同期モジュールへ転送する送信手段と、を備え、
前記同期制御手段は、
アプリケーション毎の予め定められた順番で前記同期パケットを処理するためのアプリケーション固有の識別番号を前記同期パケットに付与する識別番号付与手段と、
前記同期パケットに付与された前記アプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与手段と、
前記送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号として前記アプリケーションの識別番号ごとに登録する送信済シーケンス番号登録手段と、
前記被同期モジュールから、到達した同期パケットのシーケンス番号が通知されたときに、前記通知されたシーケンス番号と前記送信済シーケンス番号とを前記アプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合手段と、を有し、
前記被同期モジュールは、
前記同期元の現用系モジュールから受信した前記同期パケットに付与されているシーケンス番号を前記アプリケーションの識別番号ごとに取得するシーケンス番号取得手段と、
前記受信した同期パケットから取得されたシーケンス番号を到達済シーケンス番号として前記アプリケーションの識別番号ごとに登録する到達済シーケンス番号登録手段と、
前記アプリケーションの識別番号ごとに前記到達済シーケンス番号を前記現用系モジュールに通知する到達番号通知手段と、を有する、
ことを特徴とするネットワーク装置。
【請求項２】
前記同期制御手段は、
前記アプリケーションの識別番号と当該アプリケーションの優先度とが対応付けられて予め登録された優先度テーブルに基づいて、前記同期パケットに付与された前記アプリケーションの識別番号を基に当該同期パケットの優先度を決定する優先度決定手段を備え、
前記識別番号付与手段は、前記集約された複数のアプリケーションからなるアプリケーション群を単位として、前記アプリケーション群に属する前記アプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、
前記同期制御手段は、前記同期パケットを送信する機会を前記アプリケーション群単位で均等に割り当て、前記アプリケーション群に属するアプリケーションの前記同期パケットを送信する際に前記優先度の高いパケットを優先的に転送させる制御を行うことを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記番号照合手段は、前記同期元の現用系モジュールと前記被同期モジュールとの間の通信セッションの切断後に通信セッションが再確立したときに前記被同期モジュールに前記到達済シーケンス番号を照会し、前記照会によって通知されたシーケンス番号と前記送信済シーケンス番号との間に差分がある場合、当該アプリケーションの識別番号に該当するアプリケーションに対して、送信が必要な全てのデータを要求し、
前記同期制御手段は、当該アプリケーションから受信する全てのデータの各同期パケットに前記アプリケーションの識別番号及び前記シーケンス番号を再度付与して前記同期パケットを再送させる制御を行うことを特徴とする請求項１または請求項２に記載のネットワーク装置。
【請求項４】
前記同期制御手段は、前記同期パケットについての前記アプリケーションの識別番号及び前記シーケンス番号を含む当該同期パケットのパケットデータを一時的に記憶するキャッシュ手段をさらに備え、
前記番号照合手段は、前記同期元の現用系モジュールと前記被同期モジュールとの間の通信セッションの切断後に通信セッションが再確立したときに前記被同期モジュールに前記到達済シーケンス番号を照会し、前記照会によって通知された到達済シーケンス番号と前記送信済シーケンス番号との間に差分がある場合、前記同期元の現用系モジュールで送信済として登録されており且つ前記被同期モジュールで到達済として登録されていないシーケンス番号を抽出し、
前記同期制御手段は、該当するアプリケーションの識別番号と前記抽出したシーケンス番号とに基づいて、前記キャッシュ手段から該当するパケットデータを選択し、当該選択したパケットデータを有した同期パケットを再送させる制御を行うことを特徴とする請求項１または請求項２に記載のネットワーク装置。
【請求項５】
前記ネットワーク装置は、前記通信ケーブルとして現用の通信ケーブルと予備の通信ケーブルとを備え、
前記同期制御手段は、
前記同期元の現用系モジュールと前記被同期モジュールとの間に、前記現用の通信ケーブルを用いる同期経路とは別に、前記予備の通信ケーブルを用いる予備同期経路を予め確立し、
通常は前記同期経路にて前記同期パケットに付与された前記シーケンス番号を含むセッション情報を用いた通信セッションを行うことで前記同期パケットを転送させる制御を行い、
前記同期経路の切断を検出した場合、前記同期経路にて用いていた前記セッション情報を引き継ぎ、前記予備同期経路にて当該セッション情報を用いた通信セッションを行うことで前記同期パケットを転送させる制御を行う、
ことを特徴とする請求項１または請求項２に記載のネットワーク装置。
【請求項６】
ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、前記現用系モジュールが保持している情報を前記搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させる前記ネットワーク装置における同期制御方法であって、
同期元の前記現用系モジュールにおいて、
前記アプリケーションがデータの同期のために送信した同期パケットを、アプリケーション毎の予め定められた順番で処理するためのアプリケーション固有の識別番号を前記同期パケットに付与する識別番号付与ステップと、
前記同期パケットに付与された前記アプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与ステップと、
前記同期パケットを送信手段に格納する格納ステップと、
前記送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号として前記アプリケーションの識別番号ごとに登録する送信済シーケンス番号登録ステップと、
前記送信手段に格納された同期パケットを通信ケーブルを介して前記被同期モジュールへ送信する送信ステップと、を有し、
前記被同期モジュールにおいて、
前記同期元の現用系モジュールから前記同期パケットを受信する受信ステップと、
前記受信した同期パケットに付与されている前記アプリケーションの識別番号を基に当該同期パケットを該当のアプリケーションへ転送する転送ステップと、
前記受信した同期パケットに付与されているシーケンス番号を到達済シーケンス番号として前記アプリケーションの識別番号ごとに登録する到達済シーケンス番号登録ステップと、
前記アプリケーションの識別番号ごとに前記到達済シーケンス番号を前記現用系モジュールに通知する到達番号通知ステップと、を有し、
前記同期元の現用系モジュールにおいて、
前記被同期モジュールから通知されたシーケンス番号と前記送信済シーケンス番号とを前記アプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合ステップを有する、
ことを特徴とする同期制御方法。
【請求項７】
前記識別番号付与ステップは、前記同期元の現用系モジュール内で集約された複数のアプリケーションからなるアプリケーション群を単位として、前記アプリケーション群に属する前記アプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、
前記識別番号付与ステップの前に、前記アプリケーションの識別番号に対する優先順位を当該アプリケーションの優先度として優先度テーブルに予め登録する登録ステップを有し、
前記同期元の現用系モジュールにおいて、
前記シーケンス番号付与ステップの後であって前記格納ステップの前に、前記優先度テーブルに基づいて、前記同期パケットに付与された前記アプリケーションの識別番号を基に当該同期パケットの優先度を決定し、当該優先度の高いパケットを優先的に転送させる優先度決定ステップを有し、
前記格納ステップは、前記同期パケットを送信する機会を前記アプリケーション群単位で均等に割り当て、前記アプリケーション群に属するアプリケーションの前記同期パケットを送信する際に前記優先度の高いパケットを優先的に送信キューに格納する、
ことを特徴とする請求項６に記載の同期制御方法。
【請求項８】
前記同期元の現用系モジュールと前記被同期モジュールとの間の前記通信ケーブルを用いる同期経路の通信セッションが切断した場合、通信セッションが再確立したときに前記被同期モジュールに照会する前記到達シーケンス番号に基づいて少なくとも差分に該当する同期パケットを前記同期元の現用系モジュールから再送するか、又は、前記同期元の現用系モジュールと前記被同期モジュールとの間に予め確立した予備同期経路を用いて当該同期元の現用系モジュールからの前記同期パケットの送信を続行する、
ことを特徴とする請求項６又は請求項７に記載の同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置に係り、特に、ネットワーク装置のモジュールを現用系と予備系に分けて当該装置に複数搭載しておき現用系が故障したときに備えて現用系モジュールが保持する情報を予備系モジュールに同期するための同期制御方法、および、２台のネットワーク装置を現用系と予備系に分けて設置しておき現用系のネットワーク装置に搭載された現用系モジュールが保持する情報を予備系のネットワーク装置に搭載された現用系モジュールに同期するための同期制御方法に関する。
【背景技術】
【０００２】
従来、ルーターやＬＡＮ（Local Area Network）スイッチ等のネットワーク装置は、例えば、パケット転送を担うハードウェアであるフォワーディング・エンジンと、このフォワーディング・エンジンをコントロールするソフトウエアを搭載するコントロール・エンジンと、電源等で構成されている。そして、フォワーディング・エンジンやコントロール・エンジンをモジュール化し、現用系モジュールと予備系モジュールとを搭載して冗長化したネットワーク装置が知られている（非特許文献１参照）。
【０００３】
非特許文献１に記載の技術では、冗長化したネットワーク装置内の２モジュール間において、フォワーディング・エンジンをコントロールするソフトウエア（以下、アプリケーションケーションという）のデータを個別に同期させ、障害時等の切り替えに備えている。この方法では、ネットワーク装置において、切り替えに備えて、現用系モジュールが保持する情報を、装置内の例えばイーサネット（登録商標）の通信ケーブルで予備系モジュールに送信する。これにより、予備系モジュールで保持するアプリケーションのデータを現用系モジュールで保持するアプリケーションのデータに同期させている。ここで、予備系モジュールは、データが更新される側なので現用系モジュールにとって被同期モジュールに当たる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】林剛久、野崎信司、“ルーター開発の最前線 第7回 ルーターの装置内2重化対策［1］処理性能を保ったまま情報を同期させる”、2008年6月3日、［online］、［平成25年7月26日検索］、インターネット<URL: http://itpro.nikkeibp.co.jp/article/COLUMN/20080529/305018/?ST=network>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＰネットワークにおいてサービスに応じて低遅延が求められるアプリケーションや多少の遅延を許容するアプリケーションが存在している。ネットワーク装置の２モジュール間で例えば複数アプリケーションのデータを同時期に同期させる場合がある。これに対して、従来技術では、同期元の現用系モジュールにおいて、各アプリケーションは、それぞれの同期データ（同期パケット）を個別に同期させる処理を行い、複数のアプリケーションが単一の経路を共有するので、低遅延が求められるアプリケーションであっても他のアプリケーションより優先されることはなく、そのデータを同期させるために時間を要していた。
【０００６】
また、同期させるべき２モジュール間の通信経路（同期経路）が切断されると、２モジュール間の同期データに差分が生じてしまう。これに対して、従来技術では、アプリケーションの同期がどこまで完了したか分からなかったため、同期元の現用系モジュールの同期すべき全アプリケーションの全同期データを被同期モジュールに送信する必要があった。したがって、セッション復旧時の同期データ送信を高速化することができず、復旧に時間を要していた。
【０００７】
このような背景に鑑みて本発明がなされたのであり、本発明は、同期元の現用系モジュールと被同期モジュールとの間でアプリケーションのデータを同期させるために要する時間を低減するネットワーク装置を提供することを課題とする。
また、同期元の現用系モジュールと被同期モジュールとの間でアプリケーションのデータを同期させるために要する時間を低減する同期制御方法を提供することを他の課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、本発明に係るネットワーク装置は、ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、現用系モジュールが保持している情報を搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させるネットワーク装置であって、同期元の現用系モジュールが、当該モジュール内で同期させる必要のある複数のアプリケーションのデータを集約すると共に各アプリケーションからデータの同期のために送信された同期パケットを受信して当該同期パケットに同期のための情報を付与して同期パケットを被同期モジュールに転送させる制御を行う同期制御手段と、同期のための情報が付与された同期パケットを通信ケーブルを介して被同期モジュールへ転送する送信手段と、を備え、同期制御手段が、アプリケーション毎の予め定められた順番で同期パケットを処理するためのアプリケーション固有の識別番号を同期パケットに付与する識別番号付与手段と、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与手段と、送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録する送信済シーケンス番号登録手段と、被同期モジュールから、到達した同期パケットのシーケンス番号が通知されたときに、通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合手段と、を有し、被同期モジュールが、同期元の現用系モジュールから受信した同期パケットに付与されているシーケンス番号をアプリケーションの識別番号ごとに取得するシーケンス番号取得手段と、受信した同期パケットから取得されたシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録する到達済シーケンス番号登録手段と、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュールに通知する到達番号通知手段と、を有する、ことを特徴とする。
【０００９】
かかる構成によれば、ネットワーク装置は、同期元の現用系モジュール内で同期させる必要のある複数のアプリケーションのデータを集約して、アプリケーション固有の識別番号を同期パケットに付与するので、低遅延が求められるアプリケーションを優先的に同期させることができる。また、ネットワーク装置は、アプリケーション固有の識別番号が付与された同期パケットにシーケンス番号を付与して同期元の現用系モジュールから被同期モジュールに送信するので、同期経路の通信セッションが切断した場合に、到達済シーケンス番号から、どこまで同期できたかを確認することができる。
【００１０】
また、前記した課題を解決するため、本発明に係る同期制御方法は、ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、現用系モジュールが保持している情報を搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させるネットワーク装置における同期制御方法であって、同期元の現用系モジュールにおいて、アプリケーションがデータの同期のために送信した同期パケットを、アプリケーション毎の予め定められた順番で処理するためのアプリケーション固有の識別番号を同期パケットに付与する識別番号付与ステップと、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与ステップと、同期パケットを送信手段に格納する格納ステップと、送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録する送信済シーケンス番号登録ステップと、送信手段に格納された同期パケットを通信ケーブルを介して被同期モジュールへ送信する送信ステップと、を有し、被同期モジュールにおいて、同期元の現用系モジュールから同期パケットを受信する受信ステップと、受信した同期パケットに付与されているアプリケーションの識別番号を基に当該同期パケットを該当のアプリケーションへ転送する転送ステップと、受信した同期パケットに付与されているシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録する到達済シーケンス番号登録ステップと、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュールに通知する到達番号通知ステップと、を有し、同期元の現用系モジュールにおいて、被同期モジュールから通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合ステップを有する、ことを特徴とする。
【００１１】
かかる手順によれば、同期制御方法は、ネットワーク装置の同期元の現用系モジュールにおいてアプリケーション固有の識別番号を同期パケットに付与するので、低遅延が求められるアプリケーションを優先的に同期させることができる。また、同期制御方法は、アプリケーション固有の識別番号が付与された同期パケットにシーケンス番号を付与して同期元の現用系モジュールから被同期モジュールに送信手段によって送信するので、同期経路の通信セッションが切断した場合に、到達済シーケンス番号から、どこまで同期できたかを確認することができる。
【発明の効果】
【００１２】
本発明によれば、同期元の現用系モジュールと被同期モジュールとの間でアプリケーションのデータを同期させるために要する時間を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係るネットワーク装置を模式的に示すブロック図である。
【図２】本発明の第１実施形態に係るネットワーク装置における同期処理を模式的に示すシーケンス図である。
【図３】本発明の第１実施形態に係るネットワーク装置の具体例を模式的に示すブロック図である。
【図４】図３の現用系モジュールによる同期処理を模式的に示すシーケンス図である。
【図５】本発明の第２実施形態に係るネットワーク装置を模式的に示すブロック図である。
【図６】本発明の第２実施形態に係るネットワーク装置における同期処理を模式的に示すシーケンス図である。
【図７】本発明の第３実施形態に係るネットワーク装置を模式的に示すブロック図である。
【図８】本発明の第３実施形態に係るネットワーク装置における同期処理を模式的に示すシーケンス図である。
【図９】本発明の第４実施形態に係るネットワーク装置を模式的に示すブロック図である。
【図１０】本発明の第４実施形態に係るネットワーク装置における同期処理を模式的に示すシーケンス図である。
【図１１】本発明に係る冗長構成のネットワーク装置を模式的に示すブロック図である。
【図１２】従来のネットワーク装置を模式的に示すブロック図である。
【発明を実施するための形態】
【００１４】
本発明に係るネットワーク装置は、モジュールを現用系と予備系に分けて当該装置に複数搭載しておき、現用系モジュールが保持する情報を予備系モジュールに同期すると共に、２台のネットワーク装置を現用系と予備系に分けて設置しておき現用系のネットワーク装置に搭載された現用系モジュールが保持する情報を予備系のネットワーク装置に搭載された現用系モジュールに同期するものである。つまり、同期元の現用系モジュールに対して保持情報を同期させる被同期モジュールとしては、同期元のネットワーク装置内に搭載された予備系モジュールと、他のネットワーク装置に搭載された現用系モジュールとが存在する。ただし、説明を簡単にするため、以下の各実施形態では、データが更新される側のモジュールを示す被同期モジュールが、同期元のネットワーク装置内に搭載された予備系モジュールであるものとする。以下、本発明のネットワーク装置及び同期制御方法について図面を参照して詳細に説明する。
（第１実施形態）
図１に示すネットワーク装置１は、例えはルーターやＬＡＮスイッチ等である。ネットワーク装置１には、現用系モジュール１００及び予備系モジュール（被同期モジュール）２００が搭載されている。ネットワーク装置１は、現用系モジュール１００が保持している情報を装置内の通信ケーブル３００を介して予備系モジュール２００に対して同期させるものである。
【００１５】
現用系モジュール１００では、複数のアプリケーション１０４が動作する。ここでは、現用系モジュール１００は、ある所定のサービス（以下、サービスＡという）を提供するために、互いに関連した２つのアプリケーション１０４（アプリケーション名：Ａ−１，Ａ−２）を備えている。また、現用系モジュール１００は、別のサービス（以下、サービスＢという）を提供するために、互いに関連した２つのアプリケーション１０４（アプリケーション名：Ｂ−１，Ｂ−２）を備えている。
【００１６】
予備系モジュール２００は、現用系モジュール１００で動作するものと同様の複数のアプリケーション２０４を備え、現用系モジュール１００の故障等による切り替え時に、各アプリケーション２０４が動作する。
【００１７】
ネットワーク装置１において、アプリケーションの同期処理に係る構成要素以外は従来技術と同様なので、以下では説明及び図示を適宜省略する。なお、ネットワーク装置１が例えはレイヤー３スイッチの場合、非特許文献１に示すように、パケット転送を担うハードウェアであるフォワーディング・エンジンと、このフォワーディング・エンジンをコントロールするソフトウエアを搭載するコントロール・エンジンと、電源等で構成される。ここで、例えば２つのコントロール・エンジンが図１に示す現用系モジュール１００及び予備系モジュール２００に相当する。コントロール・エンジンの場合、同期させる情報として、例えばコンフィグレーションテーブル、ＡＲＰ（Address Resolution Protocol）／ＮＤＰ（Neighbor Discovery Protocol）テーブル、各種プロトコル情報、ハードウェア制御情報とを格納している。
【００１８】
図１に示すように、現用系モジュール１００は、予備系モジュール２００に同期データを送信するための構成として、同期制御手段１０１と、送信手段１０２とを備えている。
同期制御手段１０１は、現用系モジュール１００内で同期させる必要のある複数のアプリケーション１０４のデータを集約すると共に各アプリケーション１０４からデータの同期のために送信されたパケット（同期パケット）を受信して当該同期パケットに同期のための情報を付与して同期パケットを転送させる制御を行うものである。
【００１９】
この例では、同期制御手段１０１は、サービスＡを提供する２つのアプリケーション１０４を集約してアプリケーション群１０３（アプリケーション群名：Ａ）として取り扱い、サービスＢを提供する２つのアプリケーション１０４を集約してアプリケーション群１０３（アプリケーション群名：Ｂ）として取り扱う。なお、予備系モジュール２００では、現用系モジュール１００で動作するものと同様の複数のアプリケーション群２０３を備え、現用系モジュール１００の故障等による切り替え時に、各アプリケーション群２０３が動作する。
【００２０】
本実施形態では、同期制御手段１０１は、パケット転送制御手段１１０と、送信済シーケンス番号登録手段１２０と、番号照合手段１３０と、を備えている。
パケット転送制御手段１１０は、識別番号付与手段１１１と、シーケンス番号付与手段１１２と、を備えている。
識別番号付与手段１１１は、アプリケーション毎の予め定められた順番で同期パケットを処理するためのアプリケーション固有の識別番号を同期パケットに付与するものである。識別番号付与手段１１１は、現用系モジュール１００の各アプリケーション１０４が送信する同期パケット内に、アプリケーションの識別番号を付与する。
【００２１】
シーケンス番号付与手段１１２は、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するものである。アプリケーションの識別番号及びシーケンス番号が付与された同期パケットのパケットデータは、送信手段１０２に格納される。送信手段１０２にパケットデータが格納された同期パケットについては、シーケンス番号付与手段１１２で当該同期パケットに付与されたシーケンス番号の情報がアプリケーションの識別番号の情報と共に送信済シーケンス番号登録手段１２０に出力される。
【００２２】
送信済シーケンス番号登録手段１２０は、送信手段１０２に格納された同期パケットのシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録するものである。
【００２３】
番号照合手段１３０は、予備系モジュール２００から、到達した同期パケットのシーケンス番号が通知されたときに、通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認するものである。
【００２４】
送信手段１０２は、アプリケーションの識別番号及びシーケンス番号（同期のための情報）が付与された同期パケットを通信ケーブル３００を介して予備系モジュール２００へ転送するものである。送信手段１０２は、所定の送信インタフェースから構成され、送信キューに格納された同期パケットを通信ケーブル３００に出力する。送信手段１０２は、送信キューに先入れ先出しのリスト構造で保持されたパケットデータを順次出力する。
【００２５】
予備系モジュール２００は、現用系モジュール１００から同期データを受信するための構成として、同期制御手段２０１を備えている。
同期制御手段２０１は、シーケンス番号取得手段２１０と、到達済シーケンス番号登録手段２２０と、到達番号通知手段２３０と、を備えている。
【００２６】
シーケンス番号取得手段２１０は、現用系モジュール１００から受信した同期パケットに付与されているシーケンス番号をアプリケーションの識別番号ごとに取得するものである。取得されたシーケンス番号はアプリケーションの識別番号と共に到達済シーケンス番号登録手段２２０に出力される。このシーケンス番号取得手段２１０は、現用系モジュール１００から受信した同期パケットに付与されているアプリケーションの識別番号を基に当該同期パケットを該当のアプリケーション２０４へ転送する。
【００２７】
到達済シーケンス番号登録手段２２０は、受信した同期パケットから取得されたシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録するものである。
到達番号通知手段２３０は、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュール１００に通知するものである。なお、到達番号通知手段２３０は、到達済シーケンス番号登録手段２２０に登録されたシーケンス番号を通知する。
【００２８】
本発明の第１実施形態に係るネットワーク装置１及び同期制御方法における処理の流れについて図２を参照（適宜図１参照）して説明する。まず、現用系モジュール１００において、識別番号付与手段１１１は、アプリケーション１０４が送信した同期パケットにアプリケーションの識別番号を付与する（ステップＳ１０１：識別番号付与ステップ）。そして、シーケンス番号付与手段１１２は、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与し、（ステップＳ１０２：シーケンス番号付与ステップ）、同期パケットを送信手段１０２の送信キューに格納する（ステップＳ１０３：格納ステップ）。そして、送信済シーケンス番号登録手段１２０は、送信キューに格納された同期パケットに付与されているシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録する（ステップＳ１０４：送信済シーケンス番号登録ステップ）。そして、送信手段１０２は、送信キューに格納された同期パケットを通信ケーブル３００を介して予備系モジュール２００へ送信する（ステップＳ１０５：送信ステップ）。
【００２９】
続いて、予備系モジュール２００において、シーケンス番号取得手段２１０は、現用系モジュール１００から同期パケットを受信する（ステップＳ１０６：受信ステップ）と、受信した同期パケットに付与されているアプリケーションの識別番号を基に当該同期パケットを該当のアプリケーション２０４へ転送する（ステップＳ１０７：転送ステップ）。そして、シーケンス番号取得手段２１０は、受信した同期パケットに付与されているシーケンス番号をアプリケーションの識別番号ごとに取得する。これにより、到達済シーケンス番号登録手段２２０は、受信した同期パケットに付与されているシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録する（ステップＳ１０８：到達済シーケンス番号登録ステップ）。そして、到達番号通知手段２３０は、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュール１００に通知する（ステップＳ１０９：到達番号通知ステップ）。
【００３０】
続いて、現用系モジュール１００において、番号照合手段１３０は、予備系モジュール２００から通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する（ステップＳ１１０：番号照合ステップ）。所定のアプリケーションの識別番号において、到達済シーケンス番号と送信済シーケンス番号とが一致すれば、当該シーケンス番号及びアプリケーションの識別番号が付与された同期パケットが、現用系モジュール１００から予備系モジュール２００へ間違いなく送達されたことになる。番号照合手段１３０は、一致を確認後、到達済シーケンス番号と同じ値を有した送信済シーケンス番号を削除する。
【００３１】
本実施形態のネットワーク装置１は、図１２に示す従来のネットワーク装置９０１よりも以下に示す優れた効果を奏する。従来のネットワーク装置９０１は、現用系モジュール９０２や予備系モジュール９０３に、同期制御手段１０１，２０１（図１参照）を備えておらず、現用系モジュール９０２において、各アプリケーション１０４は、それぞれの同期データ（同期パケット）を個別に同期させる処理を行っていたため、低遅延が求められるアプリケーションであっても他のアプリケーションより優先されることはなかった。一方、本実施形態のネットワーク装置１は、現用系モジュール１００内で同期させる必要のある複数のアプリケーション１０４のデータを集約して、アプリケーション群１０３として取り扱い、アプリケーション固有の識別番号を同期パケットに付与するので、低遅延が求められるアプリケーションを優先的に同期させることができる。
【００３２】
また、従来のネットワーク装置９０１は、現用系モジュール９０２と予備系モジュール９０３との間の通信経路（同期経路）が切断されると、復旧時にはアプリケーションの同期がどこまで完了したか分からなかったため、現用系モジュール９０２の同期すべき全アプリケーションの全同期データを送信する必要があった。一方、本実施形態のネットワーク装置１は、アプリケーション固有の識別番号が付与された同期パケットにシーケンス番号を付与して現用系モジュール１００から予備系モジュール２００に送信するので、通信セッションの復旧時に、到達済シーケンス番号から、どこまで同期できたかを確認することができる。
【００３３】
（優先転送の具体例）
第１実施形態において、低遅延が求められる優先度の高いアプリケーションの優先転送について図３を参照して説明する。図３に示すネットワーク装置１Ａにおいて、図１に示す構成要素と同じ構成要素については同じ符号を付して説明を適宜省略する。
【００３４】
ネットワーク装置１Ａには、現用系モジュール１００Ａ及び予備系モジュール２００が搭載されている。現用系モジュール１００Ａは、同期制御手段１０１Ａを備えている。同期制御手段１０１Ａは、パケット転送制御手段１１０Ａを備えている。
パケット転送制御手段１１０Ａは、優先度の高いパケットを優先的に転送させる制御を行うものであり、識別番号付与手段１１１Ａと、シーケンス番号付与手段１１２と、優先度決定手段１１３とを備えている。
【００３５】
優先度決定手段１１３は、予め登録された優先度テーブル１１３ａ，１１３ｂに基づいて、同期パケットに付与されたアプリケーションの識別番号を基に当該同期パケットの優先度を決定するものである。優先度テーブル１１３ａ，１１３ｂには、アプリケーションの識別番号と当該アプリケーションの優先度とが対応付けられている。本実施形態では、サービス毎に個別に優先度テーブル１１３ａ，１１３ｂを備えることとした。サービスＡ用の優先度テーブル１１３ａの一例を以下の表１に示し、サービスＢ用の優先度テーブル１１３ｂの一例を以下の表２に示す。
【００３６】
【表１】
2015201687.tif 000003
【表２】
2015201687.tif 000004
【００３７】
表１に示す例では、サービスＡを実現するためのアプリケーション群Ａにおいて、アプリケーション名がＡ−１であるアプリケーション（以下、単にアプリケーションＡ−１という）は、優先順位が１であり、アプリケーション名がＡ−２であるアプリケーション（アプリケーションＡ−２）に比べて低遅延を求められる、優先度の高いアプリケーションである。なお、優先順位の値がより小さいほど優先度はより高い。同様に、表２に示す例では、アプリケーション群Ｂにおいて、アプリケーションＢ−１は、アプリケーションＢ−２に比べて優先度の高いアプリケーションである。この例では、送信手段１０２の送信キューとして、優先度が高いパケット用のキューと、優先度が低いパケット用のキューとが用意されている。
【００３８】
識別番号付与手段１１１Ａは、現用系モジュール１００の各アプリケーション１０４から受信する同期パケットに識別番号を付与する際に、アプリケーション群１０３を単位として、アプリケーション群１０３に属するアプリケーション１０４の同期パケット内に当該アプリケーションの識別番号を付与する。
【００３９】
例えば、アプリケーション群Ａにおいて、アプリケーションＡ−１の同期パケット内に識別番号０ｘ０１が付与され、アプリケーションＡ−２の同期パケット内に識別番号０ｘ０２が付与される。また、アプリケーション群Ｂにおいて、アプリケーションＢ−１の同期パケット内に識別番号０ｘ０１が付与され、アプリケーションＢ−２の同期パケット内に識別番号０ｘ０２が付与される。
【００４０】
同期制御手段１０１Ａにおいてパケット転送制御手段１１０Ａは、同期パケットを送信する機会をアプリケーション群１０３単位で均等に割り当て、アプリケーション群１０３に属するアプリケーション１０４の同期パケットを送信する際に優先度の高いパケットを優先的に転送させる制御を行う。ここで均等に割り当てるとは、例えば、アプリケーション群Ａに属するアプリケーションＡ−１の同期パケットを転送させた後には、アプリケーション群Ｂに属するアプリケーションＢ−１の同期パケットを転送させるといった順番で交互に処理することを意味し、また、その際に、アプリケーションＡ−２，Ｂ−２よりもアプリケーションＡ−１，Ｂ−１を優先することを意味する。
【００４１】
ネットワーク装置１Ａの現用系モジュール１００Ａにおける処理の流れについて図４を参照（適宜図３参照）して説明する。現用系モジュール１００Ａの同期制御手段１０１Ａでは、アプリケーションの識別番号に対する優先順位を当該アプリケーションの優先度として優先度テーブル１１３ａ，１１３ｂに予め登録しておくことを前提とする（ステップＳ１１１：登録ステップ）。なお、アプリケーション固有の識別番号及び優先度の設定は、例えば、システム管理者が、ネットワーク装置１Ａの初期設定時やメンテナンス時において設定することができる。
【００４２】
そして、同期制御手段１０１Ａにおいて、識別番号付与手段１１１Ａは、現用系モジュール１００内で集約されたアプリケーション群１０３を単位として、アプリケーション群１０３に属するアプリケーション１０４の同期パケット内に当該アプリケーションの識別番号を付与する（ステップＳ１１２：識別番号付与ステップ）。そして、シーケンス番号付与手段１１２は、当該同期パケットに対してシーケンス番号を付与する（ステップＳ１１３：シーケンス番号付与ステップ）。
【００４３】
そして、同期制御手段１０１Ａにおいて、優先度決定手段１１３は、優先度テーブル１１３ａ，１１３ｂに基づいて、同期パケットに付与されたアプリケーションの識別番号を基に当該同期パケットの優先度を決定し、当該優先度の高いパケットを優先的に転送させる（ステップＳ１１４：優先度決定ステップ）。つまり、現用系モジュール１００Ａでは、アプリケーション単位で事前に登録された優先順位にしたがって、その優先順位に基づきパケットをどのキューに格納するかを決定する。
【００４４】
そして、同期制御手段１０１Ａは、同期パケットを送信する機会をアプリケーション群１０３単位で均等に割り当て、アプリケーション群１０３に属するアプリケーション１０４の同期パケットを送信する際に優先度の高いパケットを優先的に送信キューに格納する（ステップＳ１１５：格納ステップ）。以降のステップＳ１１６〜Ｓ１１９の処理は、図２に示すステップＳ１０４、Ｓ１０５，Ｓ１０９，Ｓ１１０と同様の処理なので説明を省略する。このうちステップＳ１１７の処理では、同期パケットを優先順位毎に送信する。
【００４５】
具体的には、表１及び表２に記載したように、サービス（又はアプリケーション群）に関わらずパケットに付与された識別番号が０ｘ０１ならば優先順位１位、パケットに付与された識別番号が０ｘ０２ならば優先順位２位であるものとして優先順位が登録されているものとする。このときに、例えばアプリケーションＡ−１，Ａ−２，Ｂ−１，Ｂ−２の合計４種類の同期パケットを処理する場合、アプリケーションＡ−１（優先順位１位）の同期パケットとアプリケーションＢ−１（優先順位１位）の同期パケットとを交互に転送させる。そして、例えば転送中のアプリケーションＡ−１，Ｂ−１のうち、アプリケーションＡ−１の同期データの転送が完了した場合、残っているアプリケーションＡ−２（優先順位２位）の同期パケットと、転送途中のアプリケーションＢ−１の同期パケットとを交互に転送させる。さらにアプリケーションＢ−１の同期データの転送が完了した場合、残りのアプリケーションＡ−２の同期パケットと、転送途中のアプリケーションＢ−２（優先順位２位）の同期パケットとを交互に転送させる。
【００４６】
ネットワーク装置１Ａによれば、優先度決定手段１１３を備え、サービス（又はアプリケーション群１０３）において各アプリケーション１０４から送られる同期パケットの優先度を決定してから送信手段１０２の送信キューに格納するので、低遅延が求められる優先度の高いアプリケーションのデータの同期パケットを、他のアプリケーションよりも優先して同期させることができる。また、同期が必要なアプリケーションについての同期パケットを送信する機会を、特定のサービス（又はアプリケーション群１０３）に偏らずに、サービス（又はアプリケーション群１０３）に対して公平に割り当てることができる。
【００４７】
（第２実施形態）
第２実施形態に係るネットワーク装置について図５を参照して説明する。図５に示すネットワーク装置１Ｂにおいて、図１に示す構成要素と同じ構成要素については同じ符号を付して説明を適宜省略する。
【００４８】
ネットワーク装置１Ｂには、現用系モジュール１００Ｂ及び予備系モジュール２００Ｂが搭載されている。現用系モジュール１００Ｂは、同期制御手段１０１Ｂを備えている。同期制御手段１０１Ｂは、番号照合手段１３０Ｂが図１に示す番号照合手段１３０の機能に加えて、現用系モジュール１００Ｂと予備系モジュール２００Ｂとの間の通信セッションの切断後に通信セッションが再確立したときに予備系モジュール２００Ｂに到達済シーケンス番号を照会する機能を有している。
【００４９】
通信セッションの再確立時に、番号照合手段１３０Ｂは、照会によって通知されたシーケンス番号と送信済シーケンス番号との間に差分がある場合、当該アプリケーションの識別番号に該当するアプリケーション１０４に対して、送信が必要な全ての同期データを要求する。図５では、番号照合手段１３０Ｂが一例としてアプリケーションＡ−２に対して同期データを要求する場合を破線で模式的に示した。
【００５０】
通信セッションの再確立時に、同期制御手段１０１Ｂのパケット転送制御手段１１０は、番号照合手段１３０Ｂから全ての同期データを要求された当該アプリケーション１０４から受信する全てのデータの各同期パケットにアプリケーションの識別番号及びシーケンス番号を再度付与して同期パケットを再送させる制御を行う。
【００５１】
予備系モジュール２００Ｂは、同期制御手段２０１Ｂを備えている。同期制御手段２０１Ｂは、到達番号通知手段２３０Ｂが図１に示す到達番号通知手段２３０の機能に加えて、通信セッションが再確立したときに現用系モジュール１００Ｂからの照会を受け付けて到達済シーケンス番号を通知する機能を有している。
【００５２】
ネットワーク装置１Ｂにおいて現用系モジュール１００Ｂと予備系モジュール２００Ｂとの間の通信セッションの切断時の処理の流れについて図６を参照（適宜図５参照）して説明する。まず、現用系モジュール１００Ｂと予備系モジュール２００Ｂとの間に同期経路のＴＣＰセッション等の通信セッションを確立する（ステップＳ１２１：通信セッション確立）。そして、通信セッションがKeepAliveのタイムアウトや状態異常を検知したことで切断されたとする（ステップＳ１２２：通信セッション断）。この場合、現用系モジュール１００Ｂと予備系モジュール２００Ｂとの間に同期経路の通信セッションを再確立する（ステップＳ１２３：通信セッション再確立）。
【００５３】
上記の前提の下で、現用系モジュール１００Ｂ及び予備系モジュール２００Ｂは、以下のやり取りを行う。すなわち、まず、現用系モジュール１００Ｂにおいて、番号照合手段１３０Ｂは、予備系モジュール２００Ｂに対して、各アプリケーションの到達済シーケンス番号を照会する（ステップＳ１２４）。これにより、予備系モジュール２００Ｂにおいて、到達番号通知手段２３０Ｂは、現用系モジュール１００Ｂに対して到達済シーケンス番号を通知する（ステップＳ１２５）。
【００５４】
そして、現用系モジュール１００Ｂにおいて、番号照合手段１３０Ｂは、送信済のシーケンス番号と到達済シーケンス番号との差分があるアプリケーションの識別番号を抽出する（ステップＳ１２６）。番号照合手段１３０Ｂは、ステップＳ１２６で差分があった当該アプリケーション１０４に対して、同期データのすべての同期パケット（全ての同期データ）の送信を要求する（ステップＳ１２７）。これにより、同期制御手段１０１Ｂのパケット転送制御手段１１０は、当該アプリケーション１０４から受信する同期パケットに対して、アプリケーションの識別番号及びシーケンス番号を付与して再送を指示し、送信手段１０２は、予備系モジュール２００Ｂに対して同期パケットを再送信する（ステップＳ１２８）。
【００５５】
ネットワーク装置１Ｂによれば、２モジュール間の同期経路の通信セッションが切断した場合、通信セッションが再確立したときに、現用系モジュール１００Ｂと予備系モジュール２００Ｂとの間で生じた同期データの差分に該当するアプリケーション１０４についてのすべての同期データを現用系モジュール１００Ｂから再送する。したがって、通信セッション断に伴うパケットロスを救済すると共に、全アプリケーションではなく特定の同期データに差分があるアプリケーションのみ同期データを送信するように同期する範囲を指定することで、同期データの復旧にかかる時間を従来よりも短縮することができる。
【００５６】
（第３実施形態）
第３実施形態に係るネットワーク装置について図７を参照して説明する。図７に示すネットワーク装置１Ｃにおいて、図１に示す構成要素と同じ構成要素については同じ符号を付して説明を適宜省略する。
【００５７】
ネットワーク装置１Ｃには、現用系モジュール１００Ｃ及び予備系モジュール２００Ｃが搭載されている。現用系モジュール１００Ｃは、同期制御手段１０１Ｃを備えている。同期制御手段１０１Ｃは、パケット転送制御手段１１０Ｃと、送信済シーケンス番号登録手段１２０と、番号照合手段１３０Ｃと、キャッシュ手段１５０とを備えている。
【００５８】
キャッシュ手段１５０は、同期パケットについてのアプリケーションの識別番号及びシーケンス番号を含む当該同期パケットのパケットデータを一時的に記憶するものである。
本実施形態では、現用系モジュール１００Ｃが同期データを送信する際、シーケンス番号を付与した送信済のパケットを、アプリケーションの識別番号別にキャッシュすることとした。例えばアプリケーションＡ−１，Ａ−２，Ｂ−１，Ｂ−２の合計４種類の同期パケットを処理する場合、キャッシュ手段１５０は、Ａ−１用キャッシュ手段１５１と、Ａ−２用キャッシュ手段１５２と、Ｂ−１用キャッシュ手段１５３と、Ｂ−２用キャッシュ手段１５４とを備える。
【００５９】
番号照合手段１３０Ｃは、図１に示す番号照合手段１３０の機能に加えて、現用系モジュール１００Ｃと予備系モジュール２００Ｃとの間の通信セッションの切断後に通信セッションが再確立したときに予備系モジュール２００Ｃに到達済シーケンス番号を照会する機能を有している。この番号照合手段１３０Ｃは、照会によって通知されたシーケンス番号と送信済シーケンス番号との間に差分がある場合、現用系モジュール１００Ｃで送信済として登録されており且つ予備系モジュール２００Ｃで到達済として登録されていないシーケンス番号を抽出する。抽出されたシーケンス番号は、アプリケーションの識別番号と共にパケット転送制御手段１１０Ｃに出力される。
【００６０】
パケット転送制御手段１１０Ｃは、通常処理では、各アプリケーション１０４から送られた同期パケットにアプリケーションの識別番号とシーケンス番号とを付与した後、同期パケットを転送させる際に、そのパケットデータをキャッシュ手段１５０にキャッシュする。また、パケット転送制御手段１１０Ｃは、切断後に通信セッションが再確立したときに、番号照合手段１３０Ｃで抽出されたシーケンス番号と該当するアプリケーションの識別番号とに基づいて、キャッシュ手段１５０から該当するパケットデータを選択し、当該選択したパケットデータを有した同期パケットを再送させる制御を行う。
【００６１】
予備系モジュール２００Ｃは、同期制御手段２０１Ｃを備えている。同期制御手段２０１Ｃは、到達番号通知手段２３０Ｃが図１に示す到達番号通知手段２３０の機能に加えて、通信セッションが再確立したときに現用系モジュール１００Ｃからの照会を受け付けて到達済シーケンス番号を通知する機能を有している。
【００６２】
ネットワーク装置１Ｃにおいて現用系モジュール１００Ｃと予備系モジュール２００Ｃとの間の通信セッションの切断時の処理の流れについて図８を参照（適宜図７参照）して説明する。なお、図８に示す処理において、図６に示す処理と同じ手順については同じ符号を付して説明を適宜省略する。ステップＳ１２１，Ｓ１２２，Ｓ１２３は、図６に示す処理と同様の前提である。ただし、ステップＳ１２２（通信セッション断）の前に、現用系モジュール１００Ｃにおいて、パケット転送制御手段１１０Ｃは、通常の処理として、アプリケーション毎にシーケンス番号を付与した送信済の同期パケットをキャッシュ手段１５０にキャッシュしておく（ステップＳ１３１）。
【００６３】
上記の前提の下で、現用系モジュール１００Ｃ及び予備系モジュール２００Ｃは、以下のやり取りを行う。すなわち、まず、現用系モジュール１００Ｃにおいて、番号照合手段１３０Ｃは、予備系モジュール２００Ｃに対して、各アプリケーションの到達済シーケンス番号を照会する（ステップＳ１２４）。これにより、予備系モジュール２００Ｃにおいて、到達番号通知手段２３０Ｃは、現用系モジュール１００Ｃに対して到達済シーケンス番号を通知する（ステップＳ１２５）。
【００６４】
そして、現用系モジュール１００Ｃにおいて、番号照合手段１３０Ｃは、送信済のシーケンス番号と到達済シーケンス番号との差分があるアプリケーションの識別番号を抽出する（ステップＳ１２６）。そして、パケット転送制御手段１１０Ｃは、ステップＳ１２６で差分があった当該アプリケーションの識別番号において、送信済シーケンス番号のあるパケットのうち、到達済シーケンス番号には無い同期パケットをキャッシュ手段１５０から選択する（ステップＳ１３２）。ここで、送信済シーケンス番号のパケットのうち、到達済シーケンス番号に記載がないパケットは、予備系モジュール２００Ｃに到達していないパケットである。そして、パケット転送制御手段１１０Ｃは、選択した同期パケットを送信キューに格納し、送信手段１０２は、この選択した同期パケットを再送信する（ステップＳ１３３）。
【００６５】
ネットワーク装置１Ｃによれば、２モジュール間の同期経路の通信セッションが切断した場合、通信セッションが再確立したときに、現用系モジュール１００Ｃと予備系モジュール２００Ｃとの間で生じた同期データの差分に該当する差分データとして、アプリケーション単位で全ての同期データを送信するのでなく、同期データのパケット単位の差分のみを送信するように同期する範囲を指定する。したがって、アプリケーション単位で全ての同期データを送信する場合よりも、同期データの復旧にかかる時間を短縮することができる。
【００６６】
（第４実施形態）
第４実施形態に係るネットワーク装置について図９を参照して説明する。図９に示すネットワーク装置１Ｄにおいて、図１に示す構成要素と同じ構成要素については同じ符号を付して説明を適宜省略する。
【００６７】
ネットワーク装置１Ｄには、現用系モジュール１００Ｄ及び予備系モジュール２００が搭載されている。ネットワーク装置１Ｄは、現用の通信ケーブル３００と、予備の通信ケーブル３１０と、を備えている。
【００６８】
現用系モジュール１００Ｄは、同期制御手段１０１Ｄを備えている。この同期制御手段１０１Ｄは、現用系モジュール１００Ｄと予備系モジュール２００との間に、現用の通信ケーブル３００を用いる同期経路とは別に、予備の通信ケーブル３１０を用いる予備同期経路を予め確立する。
【００６９】
また、同期制御手段１０１Ｄは、パケット転送制御手段１１０Ｄと、送信済シーケンス番号登録手段１２０と、番号照合手段１３０Ｄと、を備えている。
パケット転送制御手段１１０Ｄは、通常は同期経路にて同期パケットに付与されたシーケンス番号を含むセッション情報を用いた通信セッションを行うことで同期パケットを転送させる制御を行う。このパケット転送制御手段１１０Ｄは、通常の同期経路の切断を検出した場合、同期経路にて用いていたセッション情報を引き継ぎ、予備同期経路にて当該セッション情報を用いた通信セッションを行うことで同期パケットを転送させる制御を行う。
【００７０】
番号照合手段１３０Ｄは、図１に示す番号照合手段１３０の機能に加えて、例えば、KeepAliveのタイムアウトや状態異常等により通信セッションの切断を検知する機能を有し、通信セッションの切断を検知した場合、パケット転送制御手段１１０Ｄに通知する。なお、番号照合手段１３０Ｄは、例えば予め定められた時間が経過しても予備系モジュール２００からシーケンス番号を受信しない場合、通信セッションの切断を検知することとしてもよい。
【００７１】
ネットワーク装置１Ｄにおいて現用系モジュール１００Ｄと予備系モジュール２００との間の通信セッションの切断時の処理の流れについて図１０を参照（適宜図９参照）して説明する。まず、現用系モジュール１００Ｄと予備系モジュール２００との間の通信ケーブル３００を用いる通常の同期経路で通信セッションを確立する（ステップＳ１４１：通信セッション確立）。また、予め現用系モジュール１００Ｄと予備系モジュール２００との間の通信ケーブル３１０を用いる予備の同期経路で通信セッションを確立する（ステップＳ１４２：通信セッション確立）。
【００７２】
そして、通信セッションがKeepAliveのタイムアウトや状態異常を検知したことで切断されたとする（ステップＳ１４３：通信セッション断）。この場合、番号照合手段１３０Ｄが、通常の同期経路のセッションの切断を検知する（ステップＳ１４４）。これにより、パケット転送制御手段１１０Ｄは、アプリケーションの識別番号及びＴＣＰのシーケンス番号を引き継いで、予備の同期経路を用いて同期パケットの送信を再開する（ステップＳ１４５）。
【００７３】
ネットワーク装置１Ｄによれば、現用系モジュール１００Ｄと予備系モジュール２００との間の通信セッションを多重化したので、通常の同期経路の通信セッション断に伴うパケットロスを予備の同期経路を用いて救済することができる。つまり、通常の同期経路に通信断が発生した際、通信セッションの再確立を待って同期データを再送するのではなく、各パケットのシーケンス番号等のセッション情報を現用の同期経路から引き継いで予備の同期経路を用いて同期データの通信を継続することで復旧時間を短縮することができる。
【００７４】
以上、本発明の各実施形態について説明したが、本発明はこれらに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、各実施形態では、被同期モジュールが、同期元のネットワーク装置１内に搭載された予備系モジュール２００であることとして説明したが、本発明は、これに限らず、被同期モジュールが、他のネットワーク装置に搭載された現用系モジュール１００であってもよい。この場合、同期データを受信する側の現用系モジュール１００は、同期制御手段１０１と、送信手段１０２とに加えて、同期データを受信するための同期制御手段２０１（図1参照）の機能をさらに備えている。
【００７５】
すなわち、前記各実施形態では、現用系モジュール１００が予備系モジュール２００に同期データを送信するための構成として、同期制御手段１０１と、送信手段１０２とを備え、一方、予備系モジュール２００は、現用系モジュール１００から同期データを受信するための構成として、同期制御手段２０１を備えることとして説明したが、本発明はこれに限らず、１つのモジュールの中に、同期制御手段１０１と、送信手段１０２と、同期制御手段２０１（例えばシーケンス番号取得手段２１０、到達済シーケンス番号登録手段２２０及び到達番号通知手段２３０）とを備えるようにしてもよい。このように構成したモジュールは、現用系及び予備系に共通に使用することができる。
【００７６】
上記のように１つのモジュールの中に、同期制御手段１０１と、送信手段１０２と、同期制御手段２０１とを備えたモジュールを、現用系モジュール及び予備系モジュールにそれぞれ割り当てたネットワーク装置を含む冗長構成のネットワークシステムを図１１に示す。図１１に示す冗長構成のネットワークシステムは、現用系のネットワーク装置１ａと、予備系のネットワーク装置１ｓとを備えている。ここで、現用系のネットワーク装置１ａは、現用系モジュール１００ａが保持している情報を装置内の通信ケーブル３００ａを介して予備系モジュール（被同期モジュール）２００ａに対して同期させるものであり、図１に示すネットワーク装置１に相当する。同様に、予備系のネットワーク装置１ｓは、現用系モジュール１００ｓが保持している情報を装置内の通信ケーブル３００ｓを介して予備系モジュール（被同期モジュール）２００ｓに対して同期させるものであり、図１に示すネットワーク装置１に相当する。現用系のネットワーク装置１ａは、現用系モジュール１００ａが保持している情報を装置外の通信ケーブル３００ｅを介して、予備系のネットワーク装置１ｓの現用系モジュール（被同期モジュール）１００ｓに送信することができる。この場合、現用系モジュール１００ｓは、現用系モジュール１００ａに対しては予備系モジュール２００ａと同様の振る舞いをすることができる。したがって、前記各実施形態と同様にして、現用系のネットワーク装置１ａに搭載された現用系モジュール１００ａが保持する情報を、予備系のネットワーク装置１ｓに搭載された現用系モジュール１００ｓに同期することができる。
【符号の説明】
【００７７】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ，１ａ，１ｓ  ネットワーク装置
１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００ａ  現用系モジュール
１００ｓ  現用系モジュール（被同期モジュール）
１０１，１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄ  同期制御手段
１０２  送信手段
１０３  アプリケーション群
１０４  アプリケーション
１１０，１１０Ａ，１１０Ｃ，１１０Ｄ  パケット転送制御手段
１１１，１１１Ａ  識別番号付与手段
１１２  シーケンス番号付与手段
１２０  送信済シーケンス番号登録手段
１３０，１３０Ｂ，１３０Ｃ，１３０Ｄ  番号照合手段
１１３  優先度決定手段
１１３ａ，１１３ｂ  優先度テーブル
１５０  キャッシュ手段
２００，２００Ｂ，２００Ｃ，２００ａ，２００ｓ  予備系モジュール（被同期モジュール）
２０１，２０１Ｂ，２０１Ｃ  同期制御手段
２０３  アプリケーション群
２０４  アプリケーション
２１０  シーケンス番号取得手段
２２０  到達済シーケンス番号登録手段
２３０，２３０Ｂ，２３０Ｃ  到達番号通知手段
３００，３００ａ，３００ｅ，３００ｓ  通信ケーブル
【図１】
2015201687.tif 000005
【図２】
2015201687.tif 000006
【図３】
2015201687.tif 000007
【図４】
2015201687.tif 000008
【図５】
2015201687.tif 000009
【図６】
2015201687.tif 000010
【図７】
2015201687.tif 000011
【図８】
2015201687.tif 000012
【図９】
2015201687.tif 000013
【図１０】
2015201687.tif 000014
【図１１】
2015201687.tif 000015
【図１２】
2015201687.tif 000016
【手続補正書】
【提出日】平成27年6月4日(2015.6.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、前記現用系モジュールが保持している情報を前記搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させる前記ネットワーク装置であって、
同期元の前記現用系モジュールは、
当該モジュール内で同期させる必要のある複数のアプリケーションのデータを集約すると共に前記各アプリケーションからデータの同期のために送信された同期パケットを受信して当該同期パケットに同期のための情報を付与して前記同期パケットを前記被同期モジュールに転送させる制御を行う同期制御手段と、
前記同期のための情報が付与された同期パケットを通信ケーブルを介して前記被同期モジュールへ転送する送信手段と、を備え、
前記同期制御手段は、
アプリケーション毎の予め定められた順番で前記同期パケットを処理するためのアプリケーション固有の識別番号を前記同期パケットに付与する識別番号付与手段と、
前記同期パケットに付与された前記アプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与手段と、
前記アプリケーションの識別番号と当該アプリケーションの優先度とが対応付けられて予め登録された優先度テーブルに基づいて、前記同期パケットに付与された前記アプリケーションの識別番号を基に当該同期パケットの優先度を決定する優先度決定手段と、
前記送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号として前記アプリケーションの識別番号ごとに登録する送信済シーケンス番号登録手段と、
前記被同期モジュールから、到達した同期パケットのシーケンス番号が通知されたときに、前記通知されたシーケンス番号と前記送信済シーケンス番号とを前記アプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合手段と、を有し、
前記被同期モジュールは、
前記同期元の現用系モジュールから受信した前記同期パケットに付与されているシーケンス番号を前記アプリケーションの識別番号ごとに取得するシーケンス番号取得手段と、
前記受信した同期パケットから取得されたシーケンス番号を到達済シーケンス番号として前記アプリケーションの識別番号ごとに登録する到達済シーケンス番号登録手段と、
前記アプリケーションの識別番号ごとに前記到達済シーケンス番号を前記現用系モジュールに通知する到達番号通知手段と、を有し、
前記識別番号付与手段は、前記集約された複数のアプリケーションからなるアプリケーション群を単位として、前記アプリケーション群に属する前記アプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、
前記同期制御手段は、前記同期パケットを送信する機会を前記アプリケーション群単位で均等に割り当て、前記アプリケーション群に属するアプリケーションの前記同期パケットを送信する際に前記優先度の高いパケットを優先的に転送させる制御を行う、
ことを特徴とするネットワーク装置。
【請求項２】
前記番号照合手段は、前記同期元の現用系モジュールと前記被同期モジュールとの間の通信セッションの切断後に通信セッションが再確立したときに前記被同期モジュールに前記到達済シーケンス番号を照会し、前記照会によって通知されたシーケンス番号と前記送信済シーケンス番号との間に差分がある場合、当該アプリケーションの識別番号に該当するアプリケーションに対して、送信が必要な全てのデータを要求し、
前記同期制御手段は、当該アプリケーションから受信する全てのデータの各同期パケットに前記アプリケーションの識別番号及び前記シーケンス番号を再度付与して前記同期パケットを再送させる制御を行うことを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記同期制御手段は、前記同期パケットについての前記アプリケーションの識別番号及び前記シーケンス番号を含む当該同期パケットのパケットデータを一時的に記憶するキャッシュ手段をさらに備え、
前記番号照合手段は、前記同期元の現用系モジュールと前記被同期モジュールとの間の通信セッションの切断後に通信セッションが再確立したときに前記被同期モジュールに前記到達済シーケンス番号を照会し、前記照会によって通知された到達済シーケンス番号と前記送信済シーケンス番号との間に差分がある場合、前記同期元の現用系モジュールで送信済として登録されており且つ前記被同期モジュールで到達済として登録されていないシーケンス番号を抽出し、
前記同期制御手段は、該当するアプリケーションの識別番号と前記抽出したシーケンス番号とに基づいて、前記キャッシュ手段から該当するパケットデータを選択し、当該選択したパケットデータを有した同期パケットを再送させる制御を行うことを特徴とする請求項１に記載のネットワーク装置。
【請求項４】
前記ネットワーク装置は、前記通信ケーブルとして現用の通信ケーブルと予備の通信ケーブルとを備え、
前記同期制御手段は、
前記同期元の現用系モジュールと前記被同期モジュールとの間に、前記現用の通信ケーブルを用いる同期経路とは別に、前記予備の通信ケーブルを用いる予備同期経路を予め確立し、
通常は前記同期経路にて前記同期パケットに付与された前記シーケンス番号を含むセッション情報を用いた通信セッションを行うことで前記同期パケットを転送させる制御を行い、
前記同期経路の切断を検出した場合、前記同期経路にて用いていた前記セッション情報を引き継ぎ、前記予備同期経路にて当該セッション情報を用いた通信セッションを行うことで前記同期パケットを転送させる制御を行う、
ことを特徴とする請求項１に記載のネットワーク装置。
【請求項５】
ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、前記現用系モジュールが保持している情報を前記搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させる前記ネットワーク装置における同期制御方法であって、
同期元の前記現用系モジュールにおいて、
前記アプリケーションがデータの同期のために送信した同期パケットを、アプリケーション毎の予め定められた順番で処理するためのアプリケーション固有の識別番号を前記同期パケットに付与する識別番号付与ステップと、
前記同期パケットに付与された前記アプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与ステップと、
前記同期パケットを送信手段に格納する格納ステップと、
前記送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号として前記アプリケーションの識別番号ごとに登録する送信済シーケンス番号登録ステップと、
前記送信手段に格納された同期パケットを通信ケーブルを介して前記被同期モジュールへ送信する送信ステップと、を有し、
前記被同期モジュールにおいて、
前記同期元の現用系モジュールから前記同期パケットを受信する受信ステップと、
前記受信した同期パケットに付与されている前記アプリケーションの識別番号を基に当該同期パケットを該当のアプリケーションへ転送する転送ステップと、
前記受信した同期パケットに付与されているシーケンス番号を到達済シーケンス番号として前記アプリケーションの識別番号ごとに登録する到達済シーケンス番号登録ステップと、
前記アプリケーションの識別番号ごとに前記到達済シーケンス番号を前記現用系モジュールに通知する到達番号通知ステップと、を有し、
前記同期元の現用系モジュールにおいて、
前記被同期モジュールから通知されたシーケンス番号と前記送信済シーケンス番号とを前記アプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合ステップを有し、
前記識別番号付与ステップは、前記同期元の現用系モジュール内で集約された複数のアプリケーションからなるアプリケーション群を単位として、前記アプリケーション群に属する前記アプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、
前記識別番号付与ステップの前に、前記アプリケーションの識別番号に対する優先順位を当該アプリケーションの優先度として優先度テーブルに予め登録する登録ステップを有し、
前記同期元の現用系モジュールにおいて、
前記シーケンス番号付与ステップの後であって前記格納ステップの前に、前記優先度テーブルに基づいて、前記同期パケットに付与された前記アプリケーションの識別番号を基に当該同期パケットの優先度を決定し、当該優先度の高いパケットを優先的に転送させる優先度決定ステップを有し、
前記格納ステップは、前記同期パケットを送信する機会を前記アプリケーション群単位で均等に割り当て、前記アプリケーション群に属するアプリケーションの前記同期パケットを送信する際に前記優先度の高いパケットを優先的に送信キューに格納する、
ことを特徴とする同期制御方法。
【請求項６】
前記同期元の現用系モジュールと前記被同期モジュールとの間の前記通信ケーブルを用いる同期経路の通信セッションが切断した場合、通信セッションが再確立したときに前記被同期モジュールに照会する前記到達シーケンス番号に基づいて少なくとも差分に該当する同期パケットを前記同期元の現用系モジュールから再送するか、又は、前記同期元の現用系モジュールと前記被同期モジュールとの間に予め確立した予備同期経路を用いて当該同期元の現用系モジュールからの前記同期パケットの送信を続行する、
ことを特徴とする請求項５に記載の同期制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
前記した課題を解決するため、本発明に係るネットワーク装置は、ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、現用系モジュールが保持している情報を搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させるネットワーク装置であって、同期元の現用系モジュールが、当該モジュール内で同期させる必要のある複数のアプリケーションのデータを集約すると共に各アプリケーションからデータの同期のために送信された同期パケットを受信して当該同期パケットに同期のための情報を付与して同期パケットを被同期モジュールに転送させる制御を行う同期制御手段と、同期のための情報が付与された同期パケットを通信ケーブルを介して被同期モジュールへ転送する送信手段と、を備え、同期制御手段が、アプリケーション毎の予め定められた順番で同期パケットを処理するためのアプリケーション固有の識別番号を同期パケットに付与する識別番号付与手段と、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与手段と、アプリケーションの識別番号と当該アプリケーションの優先度とが対応付けられて予め登録された優先度テーブルに基づいて、同期パケットに付与されたアプリケーションの識別番号を基に当該同期パケットの優先度を決定する優先度決定手段と、送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録する送信済シーケンス番号登録手段と、被同期モジュールから、到達した同期パケットのシーケンス番号が通知されたときに、通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合手段と、を有し、被同期モジュールが、同期元の現用系モジュールから受信した同期パケットに付与されているシーケンス番号をアプリケーションの識別番号ごとに取得するシーケンス番号取得手段と、受信した同期パケットから取得されたシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録する到達済シーケンス番号登録手段と、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュールに通知する到達番号通知手段と、を有し、識別番号付与手段が、集約された複数のアプリケーションからなるアプリケーション群を単位として、アプリケーション群に属するアプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、同期制御手段が、同期パケットを送信する機会をアプリケーション群単位で均等に割り当て、アプリケーション群に属するアプリケーションの同期パケットを送信する際に優先度の高いパケットを優先的に転送させる制御を行う、ことを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、前記した課題を解決するため、本発明に係る同期制御方法は、ＩＰネットワークにおいて複数のアプリケーションが動作する現用系モジュール及び予備系モジュールが搭載されたネットワーク装置であり、現用系モジュールが保持している情報を搭載された予備系モジュール及び他のネットワーク装置に搭載された現用系モジュールをそれぞれ表す被同期モジュールに対して同期させるネットワーク装置における同期制御方法であって、同期元の現用系モジュールにおいて、アプリケーションがデータの同期のために送信した同期パケットを、アプリケーション毎の予め定められた順番で処理するためのアプリケーション固有の識別番号を同期パケットに付与する識別番号付与ステップと、同期パケットに付与されたアプリケーションの識別番号ごとに、当該同期パケットに対してシーケンス番号を付与するシーケンス番号付与ステップと、同期パケットを送信手段に格納する格納ステップと、送信手段に格納された同期パケットのシーケンス番号を送信済シーケンス番号としてアプリケーションの識別番号ごとに登録する送信済シーケンス番号登録ステップと、送信手段に格納された同期パケットを通信ケーブルを介して被同期モジュールへ送信する送信ステップと、を有し、被同期モジュールにおいて、同期元の現用系モジュールから同期パケットを受信する受信ステップと、受信した同期パケットに付与されているアプリケーションの識別番号を基に当該同期パケットを該当のアプリケーションへ転送する転送ステップと、受信した同期パケットに付与されているシーケンス番号を到達済シーケンス番号としてアプリケーションの識別番号ごとに登録する到達済シーケンス番号登録ステップと、アプリケーションの識別番号ごとに到達済シーケンス番号を現用系モジュールに通知する到達番号通知ステップと、を有し、同期元の現用系モジュールにおいて、被同期モジュールから通知されたシーケンス番号と送信済シーケンス番号とをアプリケーションの識別番号ごとに照合して当該同期パケットの到達を確認する番号照合ステップを有し、識別番号付与ステップが、同期元の現用系モジュール内で集約された複数のアプリケーションからなるアプリケーション群を単位として、アプリケーション群に属するアプリケーションの同期パケット内に当該アプリケーションの識別番号を付与し、識別番号付与ステップの前に、アプリケーションの識別番号に対する優先順位を当該アプリケーションの優先度として優先度テーブルに予め登録する登録ステップを有し、同期元の現用系モジュールにおいて、シーケンス番号付与ステップの後であって格納ステップの前に、優先度テーブルに基づいて、同期パケットに付与されたアプリケーションの識別番号を基に当該同期パケットの優先度を決定し、当該優先度の高いパケットを優先的に転送させる優先度決定ステップを有し、格納ステップが、同期パケットを送信する機会をアプリケーション群単位で均等に割り当て、アプリケーション群に属するアプリケーションの同期パケットを送信する際に優先度の高いパケットを優先的に送信キューに格納する、ことを特徴とする。