(57)【要約】【課題】通信負荷を削減しつつ最新のデータを早期に同期させることを課題とする。【解決手段】二重化システム１は、現用装置３と待機装置５とを有するとともに、現用装置３及び待機装置５の間でデータが同期される。現用装置３は、保持されたデータの保持期限情報を生成する生成部３ａと、データと保持期限情報とを待機装置５に通知する通知部３ｂとを有する。また、待機装置５は、現用装置３から通知されたデータと保持期限情報とを対応付けて記憶部５ａに格納する格納部５ｂと、保持期限情報が示す保持期限が到来した場合に、当該保持期限に対応付けられたデータを削除する削除部５ｃとを有する。【選択図】図１
2011193401.tif 000002
【特許請求の範囲】
【請求項１】
現用装置と待機装置とを有する二重化システムであって、
前記現用装置が、
保持されたデータの保持期限情報を生成する生成部と、
前記データと前記保持期限情報とを前記待機装置に通知する通知部と、
を備え、
前記待機装置が、
前記現用装置から通知されたデータと保持期限情報とを対応付けて記憶部に格納する格納部と、
前記保持期限情報が示す保持期限が到来した場合に、当該保持期限に対応付けられたデータを削除する削除部と
を備えたことを特徴とする二重化システム。
【請求項２】
前記生成部は、前記データの内容に応じて前記保持期限情報が示す保持期限を決定することを特徴とする請求項１に記載の二重化システム。
【請求項３】
前記現用装置が、
前記保持期限情報が示す保持期限が到来する前に削除されたデータが格納されていた格納先を、新規に生成されたデータの格納先として決定する格納先決定部をさらに備え、
前記通知部は、前記新規に生成されたデータと該新規に生成されたデータの保持期限情報と該新規に生成されたデータの格納先を示す格納先情報とを前記待機装置に通知し、
前記格納部は、通知された格納先情報に対応する前記記憶部の格納先に、前記新規に生成されたデータと該新規に生成されたデータの保持期限情報とを対応付けて上書きすることを特徴とする請求項１または２に記載の二重化システム。
【請求項４】
待機装置とともに二重化される現用装置であって、
保持されたデータの保持期限情報を生成する生成部と、
前記データと前記保持期限情報とを前記待機装置に通知する通知部と
を備えたことを特徴とする現用装置。
【請求項５】
現用装置とともに二重化される待機装置であって、
前記現用装置からの通知として、データとともに該データに付与された保持期限情報を受け付ける通知受付部と、
前記通知を受け付けたデータと保持期限情報とを対応付けて記憶部に格納する格納部と、
前記保持期限情報が示す保持期限が到来した場合に当該保持期限に対応付けられたデータを削除する削除部と
を備えたことを特徴とする待機装置。
【請求項６】
待機装置とともに二重化される現用装置において実行される同期制御プログラムであって、
前記現用装置に、
保持されたデータの保持期限情報を生成する生成手順と、
前記データと前記保持期限情報とを前記待機装置に通知する通知手順と
を実行させることを特徴とする同期制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二重化システム、現用装置、待機装置及び同期制御プログラムに関する。
【背景技術】
【０００２】
同じ構成の装置を二重化し、一方を現用装置として動作させるとともに他方を待機装置として待機させ、必要に応じて待機装置を現用化することにより、システム（system）の信頼性を向上させるホットスタンバイ（hot  standby）という手法が知られている。このホットスタンバイを採用する場合には、現用装置の障害発生時に待機装置が現用装置に代わって動作できるように、現用装置が自装置で実行したデータ操作の内容を待機装置へ通知することにより、現用装置及び待機装置の間でデータ（data）の同期がなされる。
【０００３】
このようなデータの同期を行う技術の一例としては、逐次転送方式と定期転送方式とが挙げられる。例えば、逐次転送方式は、現用装置でデータの生成、更新や削除などのデータ操作が実行される度にデータ操作の内容を待機装置へ通知する転送方式を指す。また、定期転送方式は、現用装置で一定期間の間になされたデータ操作をまとめて待機装置へ通知する転送方式を指す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の逐次転送方式及び定期転送方式は、以下に説明するように、いずれの転送方式にも一長一短がある。
【０００６】
例えば、逐次転送方式を採用した場合には、現用装置におけるデータ操作を直ちに待機装置へ反映できる。その反面で、現用装置がデータ操作の内容を待機装置へ通知する間隔が短くなるので、通信頻度が高まる結果、通信負荷が増大してしまう。
【０００７】
また、定期転送方式を採用した場合には、逐次転送方式に比較してデータ操作の内容を待機装置へ通知する間隔を長くできるので、通信負荷を抑えることはできる。その代わりに、現用装置におけるデータ操作が直ちに待機装置へ反映されず、最新のデータを損失するリスクがある。このため、現用装置が故障しても待機装置を現用化できず、システムの信頼性が低下してしまう。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、通信負荷を削減しつつ最新のデータを早期に同期させることができる二重化システム、現用装置、待機装置及び同期制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する二重化システムは、現用装置と待機装置とを有する二重化システムである。前記現用装置が、保持されたデータの保持期限情報を生成する生成部と、前記データと前記保持期限情報とを前記待機装置に通知する通知部とを備える。前記待機装置が、前記現用装置から通知されたデータと保持期限情報とを対応付けて記憶部に格納する格納部と、前記保持期限情報が示す保持期限が到来した場合に、当該保持期限に対応付けられたデータを削除する削除部とを備える。
【発明の効果】
【００１０】
本願の開示する二重化システムの一つの態様によれば、通信負荷を削減しつつ最新のデータを早期に同期させることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る二重化システムに含まれる各装置の構成を示すブロック図である。
【図２】図２は、実施例２に係る二重化システムのシステム構成を示す図である。
【図３】図３は、実施例２に係る現用系のルータ及び待機系のルータの構成を示すブロック図である。
【図４】図４は、各同期対象テーブルで共通して記憶される同期用情報の一例を示す図である。
【図５Ａ】図５Ａは、固有データの一例を示す図である。
【図５Ｂ】図５Ｂは、固有データの一例を示す図である。
【図５Ｃ】図５Ｃは、固有データの一例を示す図である。
【図５Ｄ】図５Ｄは、固有データの一例を示す図である。
【図６】図６は、エントリ生成通知に含まれる情報の一例を示す図である。
【図７】図７は、各被同期対象テーブルで共通して記憶される同期用情報の一例を示す図である。
【図８】図８は、実施例２に係るエントリ生成処理の手順を示すフローチャートである。
【図９】図９は、実施例２に係るエントリ更新処理の手順を示すフローチャートである。
【図１０】図１０は、実施例２に係る現用系の保持期限監視処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係る受信処理の手順を示すフローチャートである。
【図１２】図１２は、実施例２に係る待機系の保持期限監視処理の手順を示すフローチャートである。
【図１３】図１３は、実施例３に係る同期制御プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する二重化システム、現用装置、待機装置及び同期制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００１３】
図１は、実施例１に係る二重化システムに含まれる各装置の構成を示すブロック図である。図１に示す二重化システム１は、現用装置３と待機装置５とが二重化されるとともに、現用装置３及び待機装置５の間でデータが同期される。
【００１４】
このうち、現用装置３は、保持されたデータの保持期限情報を生成する生成部３ａと、データと保持期限情報とを待機装置５に通知する通知部３ｂとを有する。また、待機装置５は、現用装置３から通知されたデータと保持期限情報とを対応付けて記憶部５ａに格納する格納部５ｂと、保持期限情報が示す保持期限が到来した場合に、当該保持期限に対応付けられたデータを削除する削除部５ｃとを有する。
【００１５】
このように、本実施例に係る二重化システム１は、現用装置３が保持されたデータとともに保持期限情報を待機装置５へ通知するので、待機装置５では保持期限が経過したデータを削除することができる。このため、本実施例に係る二重化システム１では、現用装置３がデータの削除を待機装置５へ改めて通知することを不要化することができ、通信頻度を低減できる。また、本実施例に係る二重化システム１では、保持されたデータは直ちに待機装置５へ通知されるので、保持されたデータが待機装置５に反映されるのが遅延することもない。したがって、本実施例に係る二重化システム１によれば、通信負荷を削減しつつ最新のデータを早期に同期させることが可能になる。
【実施例２】
【００１６】
［システム構成］
続いて、実施例２に係る二重化システムについて説明する。図２は、実施例２に係る二重化システムのシステム構成を示す図である。図２に示すように、二重化システム１０は、現用系のルータ３０と、待機系のルータ５０とを有する。なお、ここでは、ルータ３０が現に使用される現用装置として動作し、ルータ５０が将来の現用化を待機する待機装置として動作する場合を想定して以下の説明を行うこととする。
【００１７】
これらルータ３０及びルータ５０は、クライアント端末２０Ａ〜２０Ｃと、サーバ装置６０Ａ〜６０Ｃとの間でデータを中継する中継装置である。このようにホットスタンバイ構成を採用する場合には、ルータ３０の障害発生時にルータ５０が代わって動作できるように、ルータ３０が自装置で実行したデータ操作の内容をルータ５０へ通知することによりルータ３０及び５０の間でデータの同期がなされる。
【００１８】
ルータ３０及びルータ５０は、ネットワーク（network）４０を介して、クライアント端末２０Ａ〜クライアント端末２０Ｃと接続される。また、ルータ３０及びルータ５０は、サーバ装置６０Ａ〜サーバ装置６０Ｃと接続される。なお、ネットワーク４０には、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１９】
クライアント端末２０Ａ、クライアント端末２０Ｂ、クライアント端末２０Ｃは、クライアント（client）によって使用されるパーソナルコンピュータ（ＰＣ：Personal  Computer）などのコンピュータ端末である。クライアント（client）は、ブラウザ（browser）などを通じてサーバ装置６０により提供される機能やデータを利用することができる。
【００２０】
サーバ装置６０Ａ、サーバ装置６０Ｂ、サーバ装置６０Ｃは、クライアント端末２０Ａ〜２０Ｃに対し、自身が有する機能やデータを提供するコンピュータ（Computer）である。図２に示す例では、１つのサーバ装置に負荷が集中するのを防止する観点から、同様のサービスを提供するサーバ装置６０が３つ設置される場合を示している。
【００２１】
このように複数のサーバ及びクライアント間を中継するルータ３０及びルータ５０には、ルーティング（routing）機能及び帯域制御機能の他、サーバ負荷分散機能が搭載され得る。さらに、ネットワーク４０にＶＰＮが採用されている場合には、ルータ３０及びルータ５０には、ＶＰＮ機能が搭載され得る。なお、図２の例では、サーバ及びクライアント間を中継する場合を例示したが、サーバ及びクライアント間に限られるものではなく、ルータ３０またはルータ５０は任意のネットワーク間を中継することができる。
【００２２】
［現用系のルータの構成］
続いて、本実施例に係る現用系のルータの構成について説明する。図３は、実施例２に係る現用系のルータ及び待機系のルータの構成を示すブロック図である。図３に示すように、現用系のルータ３０は、ルータ機能部３１と、同期データ送信部３２と、同期対象テーブル３３と、テーブル管理部３４とを有する。
【００２３】
ルータ機能部３１ａ〜ルータ機能部３１ｎは、ルータ３０が搭載する機能を実行する処理部である。一例としては、ルータ３０がルーティング機能、サーバ負荷分散機能、ＶＰＮ機能及び帯域制御機能を搭載する場合を想定する。この場合には、ルータ機能部３１ａが中継制御部として機能する。さらに、ルータ機能部３１ｂがサーバ負荷分散制御部として機能する。さらに、ルータ機能部３１ｃがＶＰＮ制御部として機能する。さらに、ルータ３１ｄが帯域制御部として機能する。
【００２４】
同期データ送信部３２は、後述のテーブル管理部３４の指示に基づき、待機系のルータ５０が有する被同期対象テーブル５３を自装置の同期対象テーブル３３と同期させるための同期データを送信する処理部である。
【００２５】
同期対象テーブル３３ａ〜同期対象テーブル３３ｎは、待機系のルータ５０が有する被同期対象テーブル５３との間でデータを同期させる対象とするテーブルであり、ルータ３０が搭載する機能ごとに別々のテーブルが保持される。ここで、各同期対象テーブル３３は、ルータ３０が搭載する機能ごとに異なる固有データを有するが、待機系のルータ５０の被同期対象テーブル５３との間で同期をとるために使用する同期用情報は各テーブルの間で共通して記憶される。
【００２６】
図４は、各同期対象テーブルで共通して記憶される同期用情報の一例を示す図である。図４に示すように、同期対象テーブル３３は、エントリ番号ごとに保持期限、前回転送時刻、有効フラグ、更新フラグ及び固有データを記憶したテーブルである。
【００２７】
ここで言う「エントリ番号」とは、エントリ（データが書き込まれる領域）を一意に特定するための識別番号を指す。また、「保持期限」とは、エントリを保持する期限を指し、この保持期限を経過したエントリは後述の保持期限監視部３８により有効フラグがＯＦＦに設定される。ここでは、データの保持を許容する保持期間が切れる終点のみを保持期限として保持することとしたが、データが登録または更新された始点と上記の保持期限とにより特定される保持期間を保持することとしてもよい。また、「前回転送時刻」とは、前回にエントリの情報が待機系のルータ５０へ通知された時刻を指す。また、「有効フラグ」とは、エントリ内の情報が有効であるか否かを示すフラグである。例えば、有効フラグがＯＮである場合にはルータ機能部３１が使用する有効エントリであることを表し、有効フラグＯＦＦである場合にはルータ機能部３１に使用されない無効エントリであることを表す。また、「未通知フラグ」は、前回転送時刻以降にエントリが更新されているか否かを示すフラグである。例えば、更新フラグがＯＮである場合には、前回転送時刻以降にエントリが更新されたことを表し、更新フラグがＯＦＦである場合には、前回転送時刻以降にエントリが更新されていないことを表す。なお、「固有データ」は、ルータ３０が搭載する機能別に記憶される固有のデータを指す。
【００２８】
図４の示す例では、エントリ番号「１」のエントリは、ルータ機能部３１が使用する有効エントリであり、保持期限が１０時１２分３４秒であることを示す。さらに、エントリ番号「１」のエントリの情報は、１０時１０分１２秒に前回の通知が行われているものの、ルータ５０へ未だ通知されていないエントリの更新情報が存在することを示す。また、エントリ番号「２」のエントリは、ルータ機能部３１が使用する有効エントリであり、保持期限が１０時１２分４５秒であることを示す。さらに、エントリ番号「２」のエントリの情報は、１０時１０分３４秒に前回の通知が行われており、ルータ５０へ未だ通知されていないエントリの更新情報は存在しないことを示す。また、エントリ番号「３」のエントリは、ルータ機能部３１に使用されない無効エントリであり、保持期限である１０時１０分００秒を経過したことを示す。さらに、エントリ番号「３」のエントリの情報は、１０時０９分３０秒に前回の通知が行われており、ルータ５０へ未だ通知されていないエントリの更新情報は存在しないことを示す。
【００２９】
次に、各同期対象テーブル３３に記憶される固有データについて説明する。例えば、ルータ機能部３１ａが中継制御部として機能する場合には、図５Ａに示すＡＲＰ（Address  Resolution  Protocol）学習テーブルが固有データとして同期対象テーブル３３ａに記憶される。図５Ａは、固有データの一例を示す図である。図５Ａに示す例では、ＬＡＮ（Local  Area  Network）ポート番号、ＩＰアドレス（IP  address）及びＭＡＣアドレス（Media  Access  Control  address）などの項目が固有データとして記憶される。すなわち、図５Ａの例では、ＬＡＮポート番号が「1」であり、ＩＰアドレスが「192.168.0.2」であり、また、ＭＡＣアドレスが「00:00:00:11:22:33」であることを示す。これら３つの項目はエントリが１度生成されると更新されることは基本としてなく、エントリの生存中には変化しない。
【００３０】
また、ルータ機能部３１ｂがサーバ負荷分散制御部として機能する場合には、図５Ｂに示すセッション情報が固有データとして同期対象テーブル３３ｂに記憶される。図５Ｂは、固有データの一例を示す図である。図５Ｂに示す例では、クライアントＩＰアドレス、プロトコル（Protocol）種別、ポート（port）番号、セッションＩＤ（session  identifier）、振分先サーバ番号などの項目が固有データとして記憶される。すなわち、図５Ｂの例では、クライアントＩＰアドレスが「192.168.0.123」であり、プロトコル種別が「ＨＴＴＰ」であり、ポート番号が「5001」であり、セッションＩＤが「11223344」であり、振分先サーバ番号が「7」であることを示す。これら５つの項目はエントリが１度生成されると更新されることは基本としてなく、エントリの生存中には変化しない。なお、プロトコルによってはエントリの生存中にシーケンス（sequence）番号の更新が行われる場合もある。
【００３１】
また、ルータ機能部３１ｃがＶＰＮ制御部として機能する場合には、図５Ｃに示すＶＰＮトンネル情報が固有データとして同期対象テーブル３３ｃに記憶される。図５Ｃは、固有データの一例を示す図である。図５Ｃに示す例では、自装置側ＩＰアドレス、相手装置側ＩＰアドレス、ＳＰＩ（Security  Parameter  Index）、暗号化鍵、シーケンス番号、受信パケット数、送信パケット数などの項目が固有データとして記憶される。すなわち、図５Ｃの例では、自装置側ＩＰアドレスが「192.168.0.1」であり、相手装置側ＩＰアドレスが「192.168.0.100」であることを示す。さらに、ＳＰＩ（ポリシーＩＤ）が「100」であり、暗号化鍵が「aabbccdd…」であり、シーケンス番号が「123456」であり、受信パケット数が「1122」であり、また、送信パケット数が「3344」であることを示す。
【００３２】
これら７つの項目のうち自装置側ＩＰアドレス、相手装置側ＩＰアドレス、ＳＰＩ及び暗号化鍵はエントリが１度生成されると更新されることは基本としてなく、エントリの生存中には変化しない。一方、上記の７つの項目のうち残りのシーケンス番号、受信パケット数、送信パケット数などの項目は、クライアント端末２０及びサーバ装置６０間のパケットの授受に応答してＶＰＮ制御部により随時更新される。なお、ルータ３０が多数のＶＰＮトンネルの終端とされるノードとなる場合には、ＶＰＮトンネルの接続または切断を繰り返すこととなり、エントリの生成及び削除が多発する。また、ルータ機能部３１ｃがＶＰＮ制御部として機能する場合には、ＶＰＮ１つのパケットを送受信するごとにシーケンス番号の更新が後述のエントリ更新部３７へ指示される。
【００３３】
また、ルータ機能部３１ｄが帯域制御部として機能する場合には、図５Ｄに示す帯域情報が固有データとして同期対象テーブル３３ｄに記憶される。図５Ｄは、固有データの一例を示す図である。図５Ｄに示す例では、トラフィック（traffic）識別ＩＤ、通信方向、ＬＡＮポート番号、現在帯域（ｂｐｓ）、最大帯域（ｂｐｓ）などの項目が固有データとして記憶される。すなわち、図５Ｄの例では、トラフィック識別ＩＤが「1」であり、通信方向が「ＩＮ（クライアント端末からサーバ装置へ）」であり、ＬＡＮポート番号が「2」であり、現在帯域が「876,543bps」であり、最大帯域が「1,000,000bps」であることを示す。
【００３４】
これら５つの項目のうちトラフィック識別ＩＤ、通信方向及びＬＡＮポート番号は、エントリが１度生成されると更新されることは基本としてなく、エントリの生存中には変化しない。一方、上記の５つの項目のうち残りの現在帯域及び最大帯域などの項目は、クライアント端末２０及びサーバ装置６０間のパケットの授受に応答して帯域制御部により随時更新される。
【００３５】
図３に戻り、テーブル管理部３４は、同期対象テーブル３３ａ〜３３ｎを管理する処理部である。このテーブル管理部３４は、図３に示すように、エントリ生成部３５と、エントリ削除部３６と、エントリ更新部３７と、保持期限監視部３８と、保持期限設定部３９とを有する。
【００３６】
このうち、エントリ生成部３５は、ルータ機能部３１により新規に固有データが生成された場合に、同期対象テーブル３３にエントリを生成する処理部である。このようにエントリが生成される契機の一例としては、中継制御部として機能するルータ機能部３１ａが新たなルーティング経路を学習した場合やサーバ負荷分散制御部として機能するルータ機能部３１ｂが新たなセッションを確立した場合などが挙げられる。また、他の一例としては、ＶＰＮ制御部として機能するルータ機能部３１ｃが新たなＶＰＮトンネルを接続した場合や帯域制御部として機能するルータ機能部３１ｄが新たなトラフィックを検出した場合などが挙げられる。なお、エントリ生成部３５は、ルータ機能部３１のいずれかによって新規に固有データが生成された場合にそのルータ機能部３１に対応する同期対象テーブル３３を対象にエントリの生成を実行する。
【００３７】
このエントリの生成を説明すると、エントリ生成部３５は、ルータ機能部３１によって新規に固有データが生成された場合に、同期対象テーブル３３内に有効フラグがＯＦＦに設定された無効エントリが存在するか否かを判定する。このとき、有効フラグがＯＦＦに設定された無効エントリが存在する場合には、エントリ生成部３５は、新規に生成された新規生成データの書込み先として無効エントリを割り当てる。なお、有効フラグがＯＦＦに設定された無効エントリが存在しない場合には、エントリ生成部３５は、新規生成データの格納先として新たにエントリ番号を採番して生成した新規エントリを割り当てる。
【００３８】
そして、エントリ生成部３５は、先に割り当てたエントリへ新規生成データを書き込む。例えば、無効エントリが割り当てられた場合には、エントリ生成部３５は、その無効エントリのエントリ番号に対応する固有データの書込み領域に新規生成データを上書きすることになる。この場合には、無効エントリに残された前のエントリの情報を削除するために、前回転送時刻を削除したり、有効フラグをＯＮに設定したり、更新フラグをＯＮに設定したりすることにより、同期用情報を初期化する。また、新規エントリが割り当てられた場合には、エントリ生成部３５は、新規エントリのエントリ番号に対応する固有データの書込み領域に新規生成データを書き込む。この場合には、同期用情報は初期状態にあるので、改めて初期化する必要はない。
【００３９】
このようにして新規生成データを書き込んだ後には、後述の保持期限設定部３９により本エントリの保持期限が書き込まれる。この保持期限には、新規生成データの固有データの種別に応じた期限が設定される。
【００４０】
その後、エントリ生成部３５は、同期データ送信部３２を介して、新規生成データ及び保持期限が書き込まれたエントリに関する情報をエントリ生成通知として待機系のルータ５０へ送信する。このエントリ生成通知を行った後に、エントリ生成部３５は、エントリ生成通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定する。
【００４１】
図６は、エントリ生成通知に含まれる情報の一例を示す図である。図６の例で言えば、図４で示したエントリ番号「３」の無効エントリを新規生成データで上書きするために、エントリ番号「３」、エントリの種別「新規」、保持期限「10:13:00」及び固有データ「・・・」が待機系のルータ５０へ通知される。なお、エントリの更新がなされる場合には、エントリ種別に「更新」が書き込まれたエントリ更新通知が送信される。
【００４２】
このように新規生成データに無効エントリを割り当てるのは、現用系のルータ３０で保持期限が経過する前に無効とされたエントリで待機系のルータ５０では無効とされずに保持されているエントリを新規生成データで上書きするためである。これによって、エントリの生成を待機系のルータ５０へ通知するだけで、既に現用系のルータ３０で無効となったエントリの削除を併せて通知することができる。このような無効エントリの割り当てを実現するために、本実施例では、ルータ機能部３１により削除が指示されたエントリを直ちに削除するのではなく有効フラグをＯＦＦにするにとどめ、エントリの削除は上書きを通じて行うこととしている。
【００４３】
エントリ削除部３６は、ルータ機能部３１により固有データの削除が指示された場合に、同期対象テーブル３３のエントリを削除扱いにする処理部である。このようにエントリが削除される契機の一例としては、サーバ負荷分散制御部として機能するルータ機能部３１ｂがセッションを切断した場合などが挙げられる。他の一例としては、ＶＰＮ制御部として機能するルータ機能部３１ｃがＶＰＮトンネルを接続した場合や帯域制御部として機能するルータ機能部３１ｄがトラフィックを検出しなくなった場合などが挙げられる。なお、エントリ削除部３６は、ルータ機能部３１のいずれかによって固有データの削除が指示された場合にそのルータ機能部３１に対応する同期対象テーブル３３を対象にエントリの削除を実行する。
【００４４】
このエントリ削除部３６は、同期対象テーブル３３に記憶されたエントリのうちルータ機能部３１により固有データの削除が指示されたエントリの有効フラグをＯＦＦに設定することにより、本エントリを無効エントリとし、削除されたものとして取り扱う。
【００４５】
エントリ更新部３７は、ルータ機能部３１により固有データの更新が指示された場合に、そのエントリに対応する固有データを更新する処理部である。このようにエントリが更新される契機としては、クライアント端末２０及びサーバ装置６０の間でパケットの授受がなされた場合が挙げられる。一例としては、ＶＰＮ制御部として機能するルータ機能部３１ｃがシーケンス番号、受信パケット数や送信パケット数の更新を指示する場合が挙げられる。他の一例としては、帯域制御部として機能するルータ機能部３１ｄが現在帯域や最大帯域の更新を指示する場合が挙げられる。なお、エントリ更新部３７は、ルータ機能部３１のいずれかによって固有データの更新が指示された場合にそのルータ機能部３１に対応する同期対象テーブル３３を対象にエントリの更新を実行する。
【００４６】
このエントリの更新を説明すると、エントリ更新部３７は、固有データの更新が指示された場合に、そのエントリに対応する固有データのうち更新対象とされる項目のデータを更新する。このとき、後述の保持期限設定部３９により本エントリの保持期限も併せて更新される。なお、保持期限には、固有データの種別に応じた期限が再設定される。このようにして、パケットの送受信が行われる限りは保持期限が更新され続ける。
【００４７】
そして、エントリ更新部３７は、固有データを更新したエントリの前回転送時刻から所定の期間が経過したか否かを判定する。ここで、前回転送時刻からの経過時間と比較する所定の期間には、保持期限よりも短い期間を使用するものとする。本実施例では、所定期間が１秒であるものとして以下の説明を行う。
【００４８】
このとき、前回転送時刻から所定の期間を経過している場合には、エントリ更新部３７は、同期データ送信部３２を介して、更新後の固有データ及び保持期限が書き込まれたエントリに関する情報をエントリ更新通知として待機系のルータ５０へ送信する。続いて、エントリ更新部３７は、エントリ更新通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定する。
【００４９】
一方、前回転送時刻から所定の期間を経過していない場合には、エントリ更新部３７は、更新後の固有データ及び保持期限が書き込まれたエントリに対応する更新フラグをＯＮに設定する。
【００５０】
このように、前回転送時刻から所定の期間が経過することを条件にエントリ更新通知を行うことで、ルータ３０が提供する機能に致命的な支障をきたすことなく、待機系のルータ５０へ通知するエントリ更新通知を間引くことができる。すなわち、エントリには、エントリ生存中には値が変化しない固定の項目と、パケットの授受により値が変化する可変の項目とが存在する。このうち、可変の項目は、ＶＰＮ機能を提供する場合にはシーケンス番号、受信パケット数、送信パケット数、帯域制御機能を提供する場合には現在帯域及び最大帯域といった統計情報である。このような統計情報がなくともエントリ生成時に書き込まれる固定の項目さえ残されていれば、仮に現用系と待機系との切り替えが行われたとしてもＶＰＮ制御や帯域制御を現用化された系で引き継ぐことができる。このため、現用系のルータ３０では、エントリ生成の場合には待機系のルータ５０へ逐次通知を行い、エントリ更新の場合には待機系のルータ５０へ定期通知を行う。
【００５１】
保持期限監視部３８は、同期対象テーブル３３に記憶された保持期限を監視する処理部である。この保持期限監視部３８は、上記のエントリ削除部３６に比較して、ルータ機能部３１の指示とは無関係に、保持期限が超過したエントリの有効フラグをＯＦＦに設定する点が異なる。
【００５２】
これを説明すると、保持期限監視部３８は、同期対象テーブル３３内に保持期限を超過したエントリが存在するか否かを判定する。このとき、保持期限を超過したエントリが存在する場合には、保持期限監視部３８は、保持期限を超過したエントリの有効フラグをＯＦＦに設定する。このような保持期限の監視により、例えばルータ３０がルーティング機能を提供する場合には、ＡＲＰ学習テーブルに記憶されたエントリに既存のルータでなされる残存時間の設定を不要化できる。
【００５３】
その後、有効フラグがＯＦＦであるにもかかわらず、更新フラグがＯＮであるエントリが同期対象テーブル３３内に存在する場合に、保持期限監視部３８は、そのエントリに関する情報をエントリ更新通知として待機系のルータ５０へ送信する。このエントリ更新通知を行った後に、保持期限監視部３８は、エントリ更新通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定する。かかる保持期限監視部３８が行うエントリ更新通知は、エントリ更新部３７で固有データの更新がなされてから所定の期間が経過する前にパケットの送受信が途絶え、そのまま保持期限が経過したエントリの固有データを通知するためになされる。
【００５４】
保持期限設定部３９は、エントリが生成された場合またはエントリが更新された場合に、同期対象テーブル３３に記憶される同期用情報の保持期限を設定または再設定する処理部である。
【００５５】
この保持期限設定部３９は、固有データの種別に応じて保持期限を設定する。例えば、中継制御部として機能するルータ機能部３１ａが使用する同期対象テーブル３３ａに保持期限を設定または再設定する場合には、保持期限設定部３９は、一例として１２０秒を保持期限として設定する。このような保持期限を設定するのは、ＡＲＰ学習テーブルに記憶されたエントリに既存のルータで設定される残存時間とほぼ同様の期間を設定するためである。
【００５６】
また、サーバ負荷分散制御部として機能するルータ機能部３１ｂが使用する同期対象テーブル３３ｂに保持期限を設定または再設定する場合には、保持期限設定部３９は、一例として３０秒を保持期限として設定する。このような保持期限を設定するのは、サーバ負荷分散制御を行う場合に確立されるセッションの存在期間が数ミリ秒〜数秒と短く、高頻度でエントリの生成及び削除が発生するからである。
【００５７】
また、ＶＰＮ制御部として機能するルータ機能部３１ｃが使用する同期対象テーブル３３ｃに保持期限を設定または再設定する場合には、保持期限設定部３９は、一例として３６００秒を保持期限として設定する。このような保持期限を設定するのは、ＶＰＮトンネルの存在期間が数分〜数時間と長いからである。
【００５８】
また、帯域制御部として機能するルータ機能部３１ｄが使用する同期対象テーブル３３ｄに保持期限を設定または再設定する場合には、保持期限設定部３９は、一例として６０秒を保持期限として設定する。このような保持期限を設定するのは、レイヤー４（ＴＣＰまたはＵＤＰ）やレイヤー７（ＨＴＴＰなど）のトラフィックを識別して動的に帯域を割り当てる帯域制御を行う場合には、エントリの存在期間が数ミリ秒〜数十秒と短いからである。また、特定の拠点間や特定の通信内容に対して帯域を割り当てる帯域制御を行う場合には、エントリの存在期間は長くなるので、拠点間または通信内容により６０秒よりも長い保持期限を別途設定することもできる。なお、この場合には、割り当て中の帯域や通過データ量などのデータ更新は頻繁に発生するので、エントリ更新部３７で前回転送時刻からの経過時間との比較値として使用される所定の期間を先に述べた１秒よりも短くすることもできる。
【００５９】
なお、ここでは、同期対象テーブル３３ｃに設定または再設定する保持期限を同じ期間とする場合を説明したが、異なる期間を再設定することもできる。例えば、固有データの更新頻度が短いほど再設定する保持期限を短くしたり、また、固有データの更新頻度が長いほど再設定する保持期限を長くしたりすることもできる。
【００６０】
また、ルータ機能部３１及びテーブル管理部３４などの機能部には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００６１】
また、同期対象テーブル３３には、例えばＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子が使用される。なお、同期対象テーブル３３には、ハードディスク、光ディスクなどの記憶装置を採用することとしてもよい。
【００６２】
［待機系のルータの構成］
次に、本実施例に係る待機系のルータの構成について説明する。図３に示すように、待機系のルータ５０は、ルータ機能部５１と、同期データ受信部５２と、被同期対象テーブル５３と、テーブル管理部５４とを有する。
【００６３】
ルータ機能部５１ａ〜ルータ機能部５１ｎは、現用系のルータ３０のルータ機能部３１ａ〜ルータ機能部３１ｎと同様の機能を発揮する処理部であるが、現用系と待機系との系の切り替えが行われるまでは動作しない。なお、かかる現用系と待機系との系の切り替えは、待機系のルータ５０がルータ３０の障害を検知した場合や外部のコントロール端末から現用化指示を受け付けた場合に実行される。
【００６４】
同期データ受信部５２は、自装置の被同期対象テーブル５３が保持するデータを現用系のルータ３０が有する同期対象テーブル５３と同期させるための同期データを受信する処理部である。
【００６５】
被同期対象テーブル５３ａ〜被同期対象テーブル５３ｎは、現用系のルータ３０が有する同期対象テーブル３３との間でデータを同期される対象とするテーブルであり、ルータ５０が搭載する機能ごとに別々のテーブルが保持される。ここで、各被同期対象テーブル５３は、ルータ５０が搭載する機能ごとに異なる固有データを有するが、現用系のルータ３０の同期対象テーブル３３との間で同期をとるために使用する同期用情報は各テーブルの間で共通して記憶される。
【００６６】
図７は、各被同期対象テーブルで共通して記憶される同期用情報の一例を示す図である。図７に示すように、被同期対象テーブル５３は、エントリ番号ごとに保持期限及び固有データを記憶したテーブルである。図７の示す例では、エントリ番号「１」のエントリは、保持期限が１０時１２分３４秒であることを示す。また、エントリ番号「２」のエントリは、保持期限が１０時１２分４５秒であることを示す。さらに、エントリ番号「３」のエントリは、保持期限が１０時１２分５６秒であることを示す。なお、待機系のルータ５０では、エントリ生成通知やエントリ更新通知を行わないので、被同期対象テーブル５３では前回転送時刻、有効フラグ及び更新フラグなどの情報は保持されない。
【００６７】
図３に戻り、テーブル管理部５４は、被同期対象テーブル５３ａ〜５３ｎを管理する処理部である。このテーブル管理部５４は、エントリ生成／更新部５５と、保持期限監視部５６とを有する。
【００６８】
このうち、エントリ生成／更新部５５は、同期データ受信部５２を介して、エントリ生成通知またはエントリ更新通知を受け付けた場合に、被同期対象テーブル５３ａ〜５３ｎに対し、エントリの生成または更新を行う処理部である。
【００６９】
これを説明すると、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知に含まれるエントリ番号に該当するエントリ番号が被同期対象テーブル５３に存在するか否かを判定する。このとき、被同期対象テーブル５３に該当するエントリ番号が存在する場合には、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知を受け付けた固有データを該当のエントリ番号の固有データの書込み領域へ上書きする。また、被同期対象テーブル５３に該当するエントリ番号が存在しない場合には、エントリ生成／更新部５５は、エントリ生成通知を受け付けたエントリ番号のエントリを新たに作成した上でその新規エントリの固有データの書込み領域へ固有データを書き込む。その後、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知を受け付けた保持期限を該当のエントリ番号の保持期限の書込み領域へさらに書き込む。
【００７０】
また保持期限監視部５６は、被同期対象テーブル５３に記憶された保持期限を監視する処理部である。これを説明すると、保持期限監視部５６は、被同期対象テーブル５３内に保持期限を超過したエントリが存在するか否かを判定する。このとき、保持期限を超過したエントリが存在する場合には、保持期限監視部５６は、保持期限を超過したエントリを削除する。このように、待機系のルータ５０の保持期限監視部５６では、現用系のルータ３０のように有効フラグをＯＦＦに設定するのではなく、保持期限が超過したエントリを実際に削除する。
【００７１】
また、ルータ機能部５１及びテーブル管理部５４などの機能部には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００７２】
また、被同期対象テーブル５３には、例えばＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子が使用される。なお、被同期対象テーブル５３には、ハードディスク、光ディスクなどの記憶装置を採用することとしてもよい。
【００７３】
［処理の流れ］
次に、本実施例に係る二重化システムの処理の流れを説明する。なお、ここでは、現用系のルータ３０によって実行される（１）エントリ生成処理、（２）エントリ更新処理、（３）保持期限監視処理を説明する。その後に、待機系のルータ５０によって実行される（４）受信処理、（５）保持期限監視処理を説明することとする。
【００７４】
（１）エントリ生成処理
図８は、実施例２に係るエントリ生成処理の手順を示すフローチャートである。このエントリ生成処理は、ルータ機能部３１により新規に固有データが生成された場合に起動する。
【００７５】
図８に示すように、まず、エントリ生成部３５は、同期対象テーブル３３内に有効フラグがＯＦＦに設定された無効エントリが存在するか否かを判定する（ステップＳ１０１）。このとき、有効フラグがＯＦＦに設定された無効エントリが存在する場合（ステップＳ１０１肯定）には、エントリ生成部３５は、新規生成データの書込み先として無効エントリを割り当てる（ステップＳ１０２）。
【００７６】
一方、有効フラグがＯＦＦに設定された無効エントリが存在しない場合（ステップＳ１０１否定）には、エントリ生成部３５は、新規生成データの格納先として新たにエントリ番号を採番して生成した新規エントリを割り当てる（ステップＳ１０３）。
【００７７】
そして、エントリ生成部３５は、先のステップＳ１０２またはステップＳ１０３で割り当てたエントリへ新規生成データを書き込む（ステップＳ１０４）。続いて、保持期限設定部３９は、本エントリの同期用情報の書込み領域に固有データの種別に応じた保持期限を書き込む（ステップＳ１０５）。
【００７８】
その後、エントリ生成部３５は、同期データ送信部３２を介して、新規生成データ及び保持期限が書き込まれたエントリに関する情報をエントリ生成通知として待機系のルータ５０へ送信する（ステップＳ１０６）。
【００７９】
このエントリ生成通知を行った後に、エントリ生成部３５は、エントリ生成通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定し（ステップＳ１０７及びステップＳ１０８）、処理を終了する。
【００８０】
（２）エントリ更新処理
図９は、実施例２に係るエントリ更新処理の手順を示すフローチャートである。このエントリ更新処理は、ルータ機能部３１により固有データの更新が指示された場合に起動する。
【００８１】
図９に示すように、エントリ更新部３７は、固有データの更新が指示されたエントリに対応する固有データのうち更新対象とされる項目のデータを更新する（ステップＳ２０１）。そして、保持期限設定部３９は、固有データの更新が指示されたエントリの保持期限を更新する（ステップＳ２０２）。そして、エントリ更新部３７は、固有データを更新したエントリの前回転送時刻から所定の期間が経過したか否かを判定する（ステップＳ２０３）。
【００８２】
ここで、前回転送時刻から所定の期間を経過している場合（ステップＳ２０３肯定）には、エントリ更新部３７は、次のような処理を行う。すなわち、エントリ更新部３７は、同期データ送信部３２を介して、更新後の固有データ及び保持期限が書き込まれたエントリに関する情報をエントリ更新通知として待機系のルータ５０へ送信する（ステップＳ２０４）。続いて、エントリ更新部３７は、エントリ更新通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定し（ステップＳ２０５及びステップＳ２０６）、処理を終了する。
【００８３】
一方、前回転送時刻から所定の期間を経過していない場合（ステップＳ２０３否定）には、エントリ更新部３７は、更新後の固有データ及び保持期限が書き込まれたエントリに対応する更新フラグをＯＮに設定し（ステップＳ２０７）、処理を終了する。
【００８４】
（３）現用系の保持期限監視処理
図１０は、実施例２に係る現用系の保持期限監視処理の手順を示すフローチャートである。この現用系の保持期限監視処理は、所定の周期、例えば１秒おきに繰り返し起動する。なお、ここでは、一定間隔で行う場合を例示したが、予め定めた時刻になった時点で処理をきどうすることとしてもよい。
【００８５】
図１０に示すように、保持期限監視部３８は、同期対象テーブル３３内に保持期限を超過したエントリが存在するか否かを判定する（ステップＳ３０１）。このとき、保持期限を超過したエントリが存在する場合（ステップＳ３０１肯定）には、保持期限監視部３８は、保持期限を超過したエントリの有効フラグをＯＦＦに設定する（ステップＳ３０２）。一方、保持期限が超過したエントリが存在しない場合（ステップＳ３０１否定）には、有効フラグの更新を行うことなく、ステップＳ３０３へ移行する。
【００８６】
その後、保持期限監視部３８は、有効フラグがＯＦＦであるにもかかわらず、更新フラグがＯＮであるエントリが同期対象テーブル３３内に存在するか否かを判定する（ステップＳ３０３）。
【００８７】
ここで、有効フラグがＯＦＦであり、かつ更新フラグがＯＮであるエントリが存在する場合（ステップＳ３０３肯定）には、保持期限監視部３８は、そのエントリに関する情報をエントリ更新通知として待機系のルータ５０へ送信する（ステップＳ３０４）。このエントリ更新通知を行った後に、保持期限監視部３８は、エントリ更新通知を送信した時刻を本エントリの前回転送時刻のフィールドへ書き込むとともに更新フラグをＯＦＦに設定し（ステップＳ３０５及びステップＳ３０６）、処理を終了する。
【００８８】
なお、有効フラグがＯＦＦであり、かつ更新フラグがＯＮであるエントリが存在しない場合（ステップＳ３０３否定）には、そのまま処理を終了する。
【００８９】
（４）受信処理
図１１は、実施例２に係る受信処理の手順を示すフローチャートである。この受信処理は、エントリ生成通知またはエントリ更新通知を受信した場合に起動する。
【００９０】
図１１に示すように、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知に含まれるエントリ番号に該当するエントリ番号が被同期対象テーブル５３に存在するか否かを判定する（ステップＳ４０１）。
【００９１】
ここで、被同期対象テーブル５３に該当するエントリ番号が存在する場合（ステップＳ４０１肯定）には、エントリ生成／更新部５５は、次のような処理を行う。すなわち、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知を受け付けた固有データを該当のエントリ番号の固有データの書込み領域へ上書きする（ステップＳ４０２）。
【００９２】
一方、被同期対象テーブル５３に該当するエントリ番号が存在しない場合（ステップＳ４０１否定）には、エントリ生成／更新部５５は、次のような処理を行う。すなわち、エントリ生成／更新部５５は、エントリ生成通知を受け付けたエントリ番号のエントリを新たに作成した上でその新規エントリの固有データの書込み領域へ固有データを書き込む（ステップＳ４０３）。
【００９３】
その後、エントリ生成／更新部５５は、エントリ生成通知またはエントリ更新通知を受け付けた保持期限を該当のエントリ番号の保持期限の書込み領域へさらに書き込み（ステップＳ４０４）、処理を終了する。
【００９４】
（５）待機系の保持期限監視処理
図１２は、実施例２に係る待機系の保持期限監視処理の手順を示すフローチャートである。この待機系の保持期限監視処理は、所定の周期、例えば１秒おきに繰り返し起動する。なお、ここでは、一定間隔で行う場合を例示したが、予め定めた時刻になった時点で処理をきどうすることとしてもよい。
【００９５】
図１２に示すように、被同期対象テーブル５３内に保持期限を超過したエントリが存在するか否かを判定する（ステップＳ５０１）。このとき、保持期限を超過したエントリが存在する場合（ステップＳ５０１肯定）には、保持期限監視部５６は、保持期限を超過したエントリを削除し（ステップＳ５０２）、処理を終了する。なお、保持期限を超過したエントリが存在しない場合（ステップＳ５０１否定）には、そのまま処理を終了する。
【００９６】
［実施例２の効果］
上述してきたように、本実施例に係る二重化システム１０は、現用系のルータ３０が新規生成データとともに保持期限情報を待機系のルータ５０へ通知するので、待機系のルータ５０では保持期限が経過したデータを削除することができる。このため、本実施例に係る二重化システム１０では、現用系のルータ３０がデータの削除を待機系のルータ５０へ改めて通知することを不要化することができ、通信頻度を低減できる。また、本実施例に係る二重化システム１０では、新規生成データは直ちに待機系のルータ５０へ通知されるので、新規生成データが待機系のルータ５０に反映されるのが遅延することもない。したがって、本実施例に係る二重化システム１０、現用系のルータ３０及び待機系のルータ５０によれば、通信負荷を削減しつつ最新のデータを早期に同期させることが可能である。
【００９７】
また、本実施例に係る二重化システム１０は、現用系のルータ３０が同期対象テーブル３３の固有データの種別に応じて保持期限の長さを決定する。このため、本実施例に係る二重化システム１０では、二重化されるルータ３０及びルータ５０が搭載する機能、例えばルーティング機能、サーバ負荷分散機能、ＶＰＮ機能や帯域制御機能に合った保持期限を多面的に定めることが可能である。
【００９８】
さらに、本実施例に係る二重化システム１０において、現用系のルータ３０は、自装置で保持期限が経過する前に削除された場合に、削除されたデータのエントリを新規生成データの格納先と決定する。そして、現用系のルータ３０は、データ及び保持期限とともにそのデータの格納先を待機系のルータ５０へ通知する。一方、待機系のルータ５０は、通知を受け付けた格納先のエントリにデータと保持期限とを対応付けて上書きすることにより被同期対象テーブル５３への格納を行う。これによって、本実施例に係る二重化システム１０によれば、エントリの生成を待機系のルータ５０へ通知するだけで、既に現用系のルータ３０で無効となったエントリの削除を併せて通知することが可能になる。
【実施例３】
【００９９】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１００】
例えば、上記の実施例２では、二重化されるルータ３０及びルータ５０がルーティング機能、サーバ負荷分散機能、ＶＰＮ機能及び帯域制御機能を搭載する場合を説明したが、４つの機能を全て搭載する場合に実施例を限定するものではない。これらの４つの機能のうち少なくともいずれか１つを搭載していればよく、二重化される現用装置及び待機装置が必ずしもルータである必要はない。また、上記の４つの機能以外の機能を搭載する場合にも同様に適用できる。
【０１０１】
また、上記の実施例２では、二重化される現用装置及び待機装置の例として中継装置を例示したが、これに限定されるものではなく、サーバ装置を二重化する場合にも同様に適用することができる。
【０１０２】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、エントリ生成部３５、エントリ削除部３６、エントリ更新部３７、保持期限監視部３８または保持期限設定部３９の一部を現用系のルータ３０の外部装置としてネットワーク経由で接続するようにしてもよい。例えば、エントリ生成／更新部５５または保持期限監視部５６の一部を待機系のルータ５０の外部装置としてネットワーク経由で接続するようにしてもよい。また、エントリ生成部３５、エントリ削除部３６、エントリ更新部３７、保持期限監視部３８または保持期限設定部３９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の現用系のルータ３０の機能を実現するようにしてもよい。また、エントリ生成／更新部５５または保持期限監視部５６を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の待機系のルータ５０の機能を実現するようにしてもよい。また、同期対象テーブル３３の全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の現用系のルータ３０の機能を実現するようにしてもかまわない。また、被同期対象テーブル５３の全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の待機系のルータ５０の機能を実現するようにしてもかまわない。
【０１０３】
［同期制御プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例２に係る現用系のルータ３０と同様の機能を有する同期制御プログラムを実行するコンピュータの一例について説明する。なお、図１３は、実施例３に係る同期制御プログラムを実行するコンピュータの一例について説明するための図である。また、ここでは、現用系のルータ３０と同様の機能を有する同期制御プログラムを実行するコンピュータの例を説明したが、待機系のルータ５０と同様の機能を有する同期制御プログラムを実行する場合も同様である。
【０１０４】
図１３に示すように、実施例３におけるコンピュータ１００は、操作部１１０ａと、マイク１１０ｂと、スピーカ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ（Hard  Disk  Drive）１７０と、ＲＡＭ（Random  Access  Memory）１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１０５】
ＲＯＭ１６０には、上記の実施例２で示したエントリ生成部３５と、エントリ削除部３６と、エントリ更新部３７と、保持期限監視部３８と、保持期限設定部３９と同様の機能を発揮する制御プログラムが予め記憶される。つまり、ＲＯＭ１６０には、図１３に示すように、エントリ生成プログラム１６０ａと、エントリ削除プログラム１６０ｂと、エントリ更新プログラム１６０ｃとが記憶される。さらに、ＲＯＭ１６０には、図１３に示す保持期限監視プログラム１６０ｄと、保持期限設定プログラム１６０ｅとが記憶される。なお、これらのプログラム１６０ａ〜１６０ｅについては、図３に示したルータ３０の各構成要素と同様、適宜統合又は分離しても良い。
【０１０６】
そして、ＣＰＵ１５０が、これらのプログラム１６０ａ〜１６０ｅをＲＯＭ１６０から読み出して実行する。これによって、ＣＰＵ１５０は、図１３に示すように、各プログラム１６０ａ〜１６０ｅについては、エントリ生成プロセス１５０ａ、エントリ削除プロセス１５０ｂ及びエントリ更新プロセス１５０ｃとして機能するようになる。さらに、ＣＰＵ１５０は、保持期限監視プロセス１５０ｄ及び保持期限設定プロセス１５０ｅとして機能するようになる。なお、各プロセス１５０ａ〜１５０ｅは、図３に示した、エントリ生成部３５と、エントリ削除部３６と、エントリ更新部３７と、保持期限監視部３８と、保持期限設定部３９とにそれぞれ対応する。
【０１０７】
そして、ＨＤＤ１７０には、同期対象テーブル１７０ａが設けられる。なお、同期対象テーブル１７０ａは、図３に示した同期対象テーブル３３に対応する。
【０１０８】
そして、ＣＰＵ１５０は、同期対象テーブル１７０ａを読み出してＲＡＭ１８０に格納する。さらに、ＣＰＵ１５０は、ＲＡＭ１８０に格納された同期対象データ１８０ａを用いて、同期制御プログラムを実行する。
【０１０９】
なお、上記した同期制御プログラムについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【０１１０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１１】
（付記１）現用装置と待機装置とを有する二重化システムであって、
前記現用装置が、
保持されたデータの保持期限情報を生成する生成部と、
前記データと前記保持期限情報とを前記待機装置に通知する通知部と、
を備え、
前記待機装置が、
前記現用装置から通知されたデータと保持期限情報とを対応付けて記憶部に格納する格納部と、
前記保持期限情報が示す保持期限が到来した場合に、当該保持期限に対応付けられたデータを削除する削除部と
を備えたことを特徴とする二重化システム。
【０１１２】
（付記２）前記生成部は、前記データの内容に応じて前記保持期限情報が示す保持期限を決定することを特徴とする付記１に記載の二重化システム。
【０１１３】
（付記３）前記現用装置が、
前記保持期限情報が示す保持期限が到来する前に削除されたデータが格納されていた格納先を、新規に生成されたデータの格納先として決定する格納先決定部をさらに備え、
前記通知部は、前記新規に生成されたデータと該新規に生成されたデータの保持期限情報と該新規に生成されたデータの格納先を示す格納先情報とを前記待機装置に通知し、
前記格納部は、通知された格納先情報に対応する前記記憶部の格納先に、前記新規に生成されたデータと該新規に生成されたデータの保持期限情報とを対応付けて上書きすることを特徴とする付記１または２に記載の二重化システム。
【０１１４】
（付記４）待機装置とともに二重化される現用装置であって、
保持されたデータの保持期限情報を生成する生成部と、
前記データと前記保持期限情報とを前記待機装置に通知する通知部と
を備えたことを特徴とする現用装置。
【０１１５】
（付記５）現用装置とともに二重化される待機装置であって、
前記現用装置からの通知として、データとともに該データに付与された保持期限情報を受け付ける通知受付部と、
前記通知を受け付けたデータと保持期限情報とを対応付けて記憶部に格納する格納部と、
前記保持期限情報が示す保持期限が到来した場合に当該保持期限に対応付けられたデータを削除する削除部と
を備えたことを特徴とする待機装置。
【０１１６】
（付記６）待機装置とともに二重化される現用装置において実行される同期制御プログラムであって、
前記現用装置に、
保持されたデータの保持期限情報を生成する生成手順と、
前記データと前記保持期限情報とを前記待機装置に通知する通知手順と
を実行させることを特徴とする同期制御プログラム。
【０１１７】
（付記７）現用装置とともに二重化される待機装置において実行される同期制御プログラムであって、
前記待機装置に、
前記現用装置からの通知として、データとともに該データに付与された保持期限情報を受け付ける通知受付手順と、
前記通知を受け付けたデータと保持期限情報とを対応付けて記憶部に格納する格納手順と、
前記保持期限情報が示す保持期限が到来した場合に当該保持期限に対応付けられたデータを削除する削除手順と
を実行させることを特徴とする同期制御プログラム。
【符号の説明】
【０１１８】
１    二重化システム
３    現用装置
３ａ  生成部
３ｂ  通知部
５    待機装置
５ａ  記憶部
５ｂ  格納部
５ｃ  削除部
１０    二重化システム
２０Ａ，２０Ｂ，２０Ｃ    クライアント端末
３０    現用系のルータ
３１ａ〜３１ｎ    ルータ機能部
３２    同期データ送信部
３３ａ〜３１ｎ    同期対象テーブル
３４    テーブル管理部
３５    エントリ生成部
３６    エントリ削除部
３７    エントリ更新部
３８    保持期限監視部
３９    保持期限設定部
４０    ネットワーク
５０    待機系のルータ
５１ａ〜５１ｎ    ルータ機能部
５２    同期データ受信部
５３ａ〜５３ｎ    被同期対象テーブル
５４    テーブル管理部
５５    エントリ生成／更新部
５６    保持期限監視部
６０Ａ，６０Ｂ，６０Ｃ    サーバ装置
【図１】
2011193401.tif 000003
【図２】
2011193401.tif 000004
【図３】
2011193401.tif 000005
【図４】
2011193401.tif 000006
【図５Ａ】
2011193401.tif 000007
【図５Ｂ】
2011193401.tif 000008
【図５Ｃ】
2011193401.tif 000009
【図５Ｄ】
2011193401.tif 000010
【図６】
2011193401.tif 000011
【図７】
2011193401.tif 000012
【図８】
2011193401.tif 000013
【図９】
2011193401.tif 000014
【図１０】
2011193401.tif 000015
【図１１】
2011193401.tif 000016
【図１２】
2011193401.tif 000017
【図１３】
2011193401.tif 000018