(57)【要約】【課題】ドメイン名とＩＰアドレスとの対応付け情報をＤＮＳサーバ間で同期させる処理をできるだけ迅速に行うことを課題とする。【解決手段】マスターサーバ１００は、更新前のデータ集合に含まれる対応付け情報と更新後のデータ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する。そして、マスターサーバ１００は、データ集合の更新があった場合に、当該更新により発生した差分データと、既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズが所定のサイズよりも大きい場合には、新たなデータブロックを生成して、更新により発生した差分データを格納する一方で、合計サイズが所定のサイズ以下である場合には、既存のデータブロックの中で最新のデータブロックに、更新により発生した差分データを格納する。【選択図】図１
2013109552.tif 000002
【特許請求の範囲】
【請求項１】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理する第１のデータ管理装置と、前記データ集合の複製を管理する第２のデータ管理装置とを有するデータ管理システムであって、
前記第１のデータ管理装置は、
更新前の前記データ集合に含まれる対応付け情報と更新後の前記データ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する記憶部と、
前記データ集合の更新があった場合に、当該更新により発生した差分データと、前記記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定部と、
前記判定部により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定部により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理部と、
前記第２のデータ管理装置に対して、前記データ集合の更新があった旨の通知を送信する送信部と、
前記第２のデータ管理装置から前記通知に応じた転送要求を受信した場合に、前記第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送部と
を有することを特徴とするデータ管理システム。
【請求項２】
前記データ管理部は、前記記憶部の最新のデータブロックに記録された複数の差分データの中で、同一のドメイン名を有する差分データについては、時系列が新しい差分データによって打ち消される古い差分データを削除することにより、前記最新のデータブロックに記録されたデータ量を圧縮することを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置であって、
更新前の前記データ集合に含まれる対応付け情報と更新後の前記データ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する記憶部と、
前記データ集合の更新があった場合に、当該更新により発生した差分データと、前記記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定部と、
前記判定部により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定部により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理部と、
前記データ集合の複製を管理するデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送部と
を有することを特徴とするデータ管理装置。
【請求項４】
前記データ管理部は、前記記憶部の最新のデータブロックに記録された複数の差分データの中で、同一のドメイン名を有する差分データについては、時系列が新しい差分データによって打ち消される古い差分データを削除することにより、前記最新のデータブロックに記録されたデータ量を圧縮することを特徴とする請求項３に記載のデータ管理装置。
【請求項５】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理する第１のデータ管理装置と、前記データ集合の複製を管理する第２のデータ管理装置とを有するデータ管理システムで実行されるデータ管理方法であって、
前記第１のデータ管理装置が、前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定工程と、
前記第１のデータ管理装置が、前記判定工程により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定工程により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理工程と、
前記第１のデータ管理装置が、前記第２のデータ管理装置に対して、前記データ集合の更新があった旨の通知を送信する送信工程と、
前記第１のデータ管理装置が、前記第２のデータ管理装置から前記通知に応じた転送要求を受信した場合に、前記第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送工程と
を含むことを特徴とするデータ管理方法。
【請求項６】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置が実行するデータ管理方法であって、
前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定工程と、
前記判定工程により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定工程により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理工程と、
前記データ集合の複製を管理する第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送工程と
を含むことを特徴とするデータ管理方法。
【請求項７】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置に実行させるためのデータ管理プログラムであって、
前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定手順と、
前記判定手順により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定手順により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理手順と、
前記データ集合の複製を管理する第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送手順と
を実行させることを特徴とするデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理システム、データ管理装置、データ管理方法およびデータ管理プログラムに関する。
【背景技術】
【０００２】
従来、ＤＮＳ（Domain  Name  System）サーバでは、ドメイン名と、このドメイン名に割り当てられたＩＰ（Internet  Protocol）アドレスとの対応付け情報を自動更新する技術であるＤＤＮＳ（Dynamic  DNS）が利用される。ＤＤＮＳは、インターネットへの接続ごとに、対応付け情報を自動更新することにより、常時接続環境を利用するユーザに対して一意なホスト名の提供を可能とする。
【０００３】
また、上述の対応付け情報の原本を管理するＤＮＳサーバであるマスターサーバと、この対応付け情報の複製を管理するＤＮＳサーバであるスレーブサーバとを用意し、マスターサーバとスレーブサーバの間で、ＤＤＮＳにより自動更新された対応付け情報を同期させる仕組みがある。この仕組みでは、ドメインの管理範囲であるゾーンごとに、上述の対応付け情報を１つ以上含んだデータ集合を管理し、データ集合に対して、それぞれ一意なシリアル番号を付与することにより時系列で整理している。また、この仕組みでは、ＤＤＮＳによりゾーンデータの動的な更新があると、更新より発生したゾーンデータを、マスターサーバからスレーブサーバに対して送信し、マスターサーバとスレーブサーバとの間で同期させて管理する（非特許文献１、２参照）。
【０００４】
以下、図１０および図１１を用いて、マスターサーバとスレーブサーバとの間でゾーンデータの差分を同期させて管理する方法（差分ゾーンデータを用いた同期管理方法）の一例を具体的に説明する。図１０および図１１は、差分ゾーンデータを用いた同期管理方法の一例を示す図である。
【０００５】
図１０に示すように、ＤＤＮＳクライアントから動的な更新があると、マスターサーバは、更新により発生したゾーンデータの差分である差分データを蓄積する（図１０の（１）参照）。なお、マスターサーバは、更新があるたびに、差分データに一意なシリアル番号を付与して蓄積して時系列で管理する。続いて、マスターサーバは、スレーブサーバに対して、更新があったことを通知する（図１０の（２）参照）。マスターサーバは、スレーブサーバから差分データの転送要求を受信すると、差分データをスレーブサーバへ送信する（図１０の（３）参照）。例えば、マスターサーバは、シリアル番号が「ｓｅｒｉａｌ＝１１」と「ｓｅｒｉａｌ＝１」の差分データ、言い換えれば、シリアル番号が「ｓｅｒｉａｌ＝１〜１１」までの差分データ（シリアル番号が「ｓｅｒｉａｌ＝１」のゾーンデータと「ｓｅｒｉａｌ＝２」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝２」のゾーンデータと「ｓｅｒｉａｌ＝３」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝３」のゾーンデータと「ｓｅｒｉａｌ＝４」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝４」のゾーンデータと「ｓｅｒｉａｌ＝５」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝５」のゾーンデータと「ｓｅｒｉａｌ＝６」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝６」のゾーンデータと「ｓｅｒｉａｌ＝７」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝７」のゾーンデータと「ｓｅｒｉａｌ＝８」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝８」のゾーンデータと「ｓｅｒｉａｌ＝９」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝９」のゾーンデータと「ｓｅｒｉａｌ＝１０」のゾーンデータの差分データ、シリアル番号が「ｓｅｒｉａｌ＝１０」のゾーンデータと「ｓｅｒｉａｌ＝１１」のゾーンデータの差分データ）をスレーブサーバへ送信する。
【０００６】
また、図１１を用いて、図１０に示す差分ゾーンデータを用いた同期方法において、差分データを要約する場合の一例を説明する。図１１に示すように、ＤＤＮＳクライアントによりゾーンデータ動的な更新があるたびに、マスターサーバは差分データを蓄積するが、必要に応じて差分データを要約しておく（図１１の（１）参照）。ここで、要約とは、時系列順に整理された差分データにおいて、先に発生した差分データ（更新部分）が、後に発生した差分データにより取り消しになるなど、先に発生した差分データが不要となった場合に、その差分データを削除する処理のことである。例えば、図１１に示すように、マスターサーバは、先に発生した差分データである、シリアル番号が「ｓｅｒｉａｌ＝３」でホスト名「BBBB．TEST．AD．JP」の差分データが、後に発生した差分データである、シリアル番号が「ｓｅｒｉａｌ＝４」のホスト名「BBBB．TEST．AD．JP」に関する差分データにより、不要なデータとなった場合には、先に発生した差分データである、シリアル番号が「ｓｅｒｉａｌ＝３」でホスト名「BBBB．TEST．AD．JP」の差分データを削除する。続いて、マスターサーバは、図１０と同様に、スレーブサーバに対して、更新があったことを通知し、スレーブサーバから差分データの転送要求を受信すると、要約した差分データをスレーブサーバへ送信する（図１１の（２）参照）。スレーブサーバは、マスターサーバから、要約された差分データを受信するので、不要な差分データを反映させる必要がない（図１１の（３）参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】RFC1995，「Incremental  Zone  Transfer  in  DNS」，M．Ohta，Tokyo  Institute  of  Technology，August  1996
【非特許文献１】RFC1996，「A  Mechanism  for  Prompt  Notification  of  Zone  Changes」，P  Vixie，ISC，August  1996
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１２に、図１０に示す差分ゾーンデータを用いた同期方法における問題点を示す。図１２は、図１０に示す差分ゾーンデータを用いた同期方法における問題点を示す図である。図１０に示す差分ゾーンデータを用いた同期方法では、差分データを転送することができるデータのサイズに上限があるので、差分データが、この上限を超えてしまった場合には、図１２に示すように、差分データを転送できないという問題がある。なお、差分データを転送できない場合には、図１２に示すように、マスターサーバからスレーブサーバに対して全てのゾーンデータをまとめて転送する完全ゾーン転送を実行することになるので、転送されるゾーンデータのサイズが大きい場合、スレーブサーバ側での同期に時間を要する。この結果、ＤＮＳクライアントが最新のゾーンデータを参照するまでに時間がかかってしまうという事態に陥る可能性もある。
【０００９】
図１３に、図１１に示す差分ゾーンデータを用いた同期方法における問題点を示す。図１３は、図１１に示す差分ゾーンデータを用いた同期方法における問題点を示す図である。図１１に示す差分ゾーンデータを用いた同期方法では、マスターサーバに蓄積されている差分データの数が膨大となると、マスターサーバにおいて、差分データの要約を行うためのデータの検出や照合の処理に時間を要するので、ＤＤＮＳの更新処理のスループットに影響を及ぼすという問題がある（図１３の（１）、（２）参照）。また、差分データの要約を行うためのデータの検出や照合の処理に時間を要する結果、マスターサーバからスレーブサーバへの更新通知の送信が遅れたり、スレーブサーバからの差分データの転送要求に対するマスターサーバの応答性能が低下したり、といった事態に陥る可能性もある（図１３の（３）参照）。
【００１０】
本発明は、上記に鑑みてなされたものであって、ドメイン名とＩＰアドレスとの対応付け情報をＤＮＳサーバ間で同期させる処理をできるだけ迅速に行うことが可能なデータ管理システム、データ管理装置、データ管理方法およびデータ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理する第１のデータ管理装置と、前記データ集合の複製を管理する第２のデータ管理装置とを有するデータ管理システムであって、前記第１のデータ管理装置は、更新前の前記データ集合に含まれる対応付け情報と更新後の前記データ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する記憶部と、前記データ集合の更新があった場合に、当該更新により発生した差分データと、前記記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定部と、前記判定部により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定部により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理部と、前記第２のデータ管理装置に対して、前記データ集合の更新があった旨の通知を送信する送信部と、前記第２のデータ管理装置から前記通知に応じた転送要求を受信した場合に、前記第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送部とを有することを特徴とする。
【００１２】
また、本発明は、ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置であって、更新前の前記データ集合に含まれる対応付け情報と更新後の前記データ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する記憶部と、前記データ集合の更新があった場合に、当該更新により発生した差分データと、前記記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定部と、前記判定部により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定部により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理部と、前記データ集合の複製を管理するデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送部とを有することを特徴とする。
【００１３】
また、本発明は、ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理する第１のデータ管理装置と、前記データ集合の複製を管理する第２のデータ管理装置とを有するデータ管理システムで実行されるデータ管理方法であって、前記第１のデータ管理装置が、前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定工程と、前記第１のデータ管理装置が、前記判定工程により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定工程により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理工程と、前記第１のデータ管理装置が、前記第２のデータ管理装置に対して、前記データ集合の更新があった旨の通知を送信する送信工程と、前記第１のデータ管理装置が、前記第２のデータ管理装置から前記通知に応じた転送要求を受信した場合に、前記第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送工程とを含むことを特徴とする。
【００１４】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置が実行するデータ管理方法であって、前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定工程と、前記判定工程により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定工程により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理工程と、前記データ集合の複製を管理する第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送工程とを含むことを特徴とする。
【００１５】
ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理するデータ管理装置に実行させるためのデータ管理プログラムであって、前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定手順と、前記判定手順により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定手順により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理手順と、前記データ集合の複製を管理する第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送手順とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ドメイン情報とアドレス情報との対応付け情報をＤＮＳサーバ間で同期させる処理をできるだけ迅速に行うことができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１に係るデータ管理システムの構成例を示す図である。
【図２】図２は、実施例１に係るデータ管理システムの処理の概要を示す図である。
【図３】図３は、実施例１に係るデータ管理システムの処理の概要を示す図である。
【図４】図４は、実施例１に係るデータ管理システムの処理の概要を示す図である。
【図５】図５は、実施例１に係るデータ管理システムにおけるマスターサーバによる処理の流れを示す図である。
【図６】図６は、実施例１に係るデータ管理システムにおけるマスターサーバによる処理の流れを示す図である。
【図７】図７は、実施例１に係る効果を説明するための図である。
【図８】図８は、実施例１に係る効果を説明するための図である。
【図９】図９は、実施例で説明した処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
【図１０】図１０は、差分ゾーンデータを用いた同期管理方法の一例を示す図である。
【図１１】図１１は、差分ゾーンデータを用いた同期管理方法の一例を示す図である。
【図１２】図１２は、図１０に示す差分ゾーンデータを用いた同期方法における問題点を示す図である。
【図１３】図１３は、図１１に示す差分ゾーンデータを用いた同期方法における問題点を示す図である。
【発明を実施するための形態】
【００１８】
以下に、図面を参照しつつ、本願にかかるデータ管理システム、データ管理装置、データ管理方法およびデータ管理プログラムの実施例を説明する。後述する各実施例は一実施形態にすぎず、本願にかかるデータ管理システム、データ管理装置、データ管理方法およびデータ管理プログラムの実施形態を限定するものではない。また、後述する各実施例は処理内容に矛盾を生じさせない範囲で適宜組み合わせることもできる。
【実施例１】
【００１９】
［データ管理システムの概要および特徴（実施例１）］
実施例１に係るデータ管理システムの概要および特徴を説明する。実施例１に係るデータ管理システムは、ドメイン名とＩＰアドレスとの対応付け情報を含むゾーンデータの原本を管理する第１のデータ管理装置と、前記ゾーンデータの複製を管理する第２のデータ管理装置とを有する。そして、実施例１に係るデータ管理システムは、ドメイン情報とアドレス情報との対応付け情報をＤＮＳサーバ間で同期させる処理をできるだけ迅速に行うことができる点に主たる特徴がある。
【００２０】
すなわち、第１のデータ管理装置は、更新前のデータ集合（ドメイン管理ゾーンごとに集約されたドメイン名とＩＰアドレスとの対応付け情報の集合）に含まれる対応付け情報と更新後のデータ集合に含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する記憶部を有し、データ集合の更新があった場合に、当該更新により発生した差分データと、記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する。続いて、第１のデータ管理装置は、合計サイズが所定のサイズよりも大きいものと判定された場合には、記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに、更新により発生した差分データを格納する。一方で、第１のデータ管理装置は、合計サイズが所定のサイズ以下であると判定された場合には、記憶部に既存のデータブロックの中で最新のデータブロックに、更新により発生した差分データを格納する。そして、第１のデータ管理装置は、第２のデータ管理装置に対してデータ集合の更新があった旨の通知を送信し、第２のデータ管理装置から通知に応じた転送要求を受信した場合に、第２のデータ管理装置に対して、記憶部に記憶されている差分データをデータブロック単位で転送する。
【００２１】
このようなことから、実施例１に係るデータ管理装置は、ゾーンデータの更新より発生する対応付け情報の差分データを、所定のサイズのデータブロック単位で記録管理するので、差分データが転送できないという事態が発生することを防止しつつ、転送可能な範囲で最大限に記録された差分データの転送が可能であり、ドメイン名とＩＰアドレスとの対応付け情報を同期させる処理をできるだけ迅速に行うことができる。
【００２２】
［データ管理システムの構成（実施例１）］
以下の実施例１では、ドメイン名と、このドメイン名に割り当てられたＩＰ（Internet  Protocol）アドレスとの対応付け情報を含むゾーンデータを管理するＤＮＳ（Domain  Name  System）サーバを、実施例１に係るデータ管理システムに実装される第１および第２のデータ管理装置として説明する。
【００２３】
図１は、実施例１に係るデータ管理システムの構成例を示す図である。図１に示すように、実施例１に係るデータ管理システムは、ＤＤＮＳ（Dynamic  DNS）クライアント１０と、ＤＮＳクライアント２０と、マスターサーバ１００と、スレーブサーバ２００とを有する。そして、このデータ管理システムでは、ネットワーク１を介して、ＤＤＮＳクライアント１０とマスターサーバ１００とが相互に通信可能であり、マスターサーバ１００とスレーブサーバ２００とが相互に通信可能であり、スレーブサーバ２００とＤＮＳクライアント２０とが相互に通信可能である。
【００２４】
ＤＤＮＳクライアント１０は、上述の対応付け情報を自動更新する機能部（ソフトウェア）であり、ユーザ端末などに搭載される。ＤＤＮＳクライアント１０は、自己が搭載される装置の接続ＩＰアドレスを一定間隔で監視し、ＩＰアドレスが変更されるたびに、マスターサーバ１００に登録されている、ホスト名とＩＰアドレスとの対応付け情報を動的に更新する処理を実行することで、常時接続環境を利用するユーザが一意なホスト名を利用することを可能とする。例えば、ＤＤＮＳクライアント１０は、上述の対応付け情報の更新があると、更新された対応付け情報をマスターサーバ１００に送信する。
【００２５】
ＤＮＳクライアント２０は、スレーブサーバ２００に登録されている上述の対応付け情報を利用して、ドメイン名に対応するＩＰアドレスを解決する機能部（ソフトウェア）であり、ユーザ端末などに搭載される。例えば、ＤＮＳクライアント２０は、スレーブサーバ２００に対し、クエリとしてドメイン名を送信し、このドメイン名に対応するＩＰアドレスをＤＮＳクライアント２０から受信する。
【００２６】
マスターサーバ１００は、上述の対応付け情報を少なくとも１つ以上含むデータ集合であるゾーンデータの原本を管理するＤＮＳサーバである。また、マスターサーバ１００は、更新前のゾーンデータに含まれる対応付け情報と更新後のゾーンデータに含まれる対応付け情報との差分である差分データを管理する。なお、差分データには、更新前のゾーンデータには含まれていない、新規に追加された対応付け情報や変更された対応付け情報、削除された対応付け情報など、対応付け情報に関する更新の履歴が列挙された状態にある。
【００２７】
ここで、マスターサーバ１００におけるゾーンデータの管理方法について説明する。マスターサーバ１００は、各ユーザ端末などに搭載されたＤＤＮＳクライアント１０から、対応付け情報の更新（更新されたドメイン名とＩＰアドレスの対が列挙された変更履歴データ）を受信すると、所定のリフレッシュタイミングでドメインの管理範囲であるゾーンごとに集約し、更新されたゾーンデータとして管理する。また、マスターサーバ１００には、ゾーンデータに対して一意なシリアル番号（例えば、自然数）を付与して時系列で管理する。例えば、シリアル番号として数字を用いた場合には、シリアル番号が大きいほど、時系列の新しい世代の情報となる。また、ゾーンデータの中に複数の対応付け情報が含まれる場合には、ゾーンデータに付与されたシリアル番号は、ゾーンデータの中に格納されている全ての対応付け情報（ドメイン名とＩＰアドレスとの対のそれぞれ）についても有効な値となる。なお、差分データ記憶部１１０は、シリアル番号の代わりに、例えば、対応付け情報の受信時刻を対応付け情報に関連付けて記憶するようにしてもよい。
【００２８】
図１に示すように、マスターサーバ１００は、差分データ記憶部１１０と、差分データ管理部１２０と、差分データ転送部１３０とを有する。
【００２９】
差分データ記憶部１１０は、更新前のゾーンデータに含まれる対応付け情報と更新後のゾーンデータに含まれる対応付け情報との差分である差分データを、所定のサイズを有するデータブロックごとに記憶する。データブロックのサイズは、例えば、ＵＤＰ（User  Datagram  Protocol）パケットのデータサイズを適用し、データブロック単位での差分データの転送に寄与する。
【００３０】
差分データ管理部１２０は、データブロックのサイズの上限を超えない範囲で、更新前のゾーンデータに含まれる対応付け情報と更新後のゾーンデータに含まれる対応付け情報との差分である差分データを格納する。具体的に説明すると、差分データ管理部１２０は、ゾーンデータの更新に応じて発生した差分データを抽出し、抽出した差分データと、差分データ記憶部１１０に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが、データブロックに適用された所定のサイズよりも大きいか否かを判定する。判定の結果、所定のサイズよりも大きいものと判定された場合には、差分データ記憶部１１０に新たなデータブロックを生成し、生成した新たなデータブロックに、ゾーンデータの更新に応じて新たに抽出した差分データを格納する。一方、差分データ管理部１２０は、所定のサイズ以下であると判定された場合には、差分データ記憶部１１０に既存のデータブロックの中で最新のデータブロックに、ゾーンデータの更新に応じて新たに抽出した差分データを格納する。ここで、既存のデータブロックとは、ゾーンデータの更新に応じて新たに抽出した差分データを格納するために、差分データ記憶部１１０に既に生成された状態にあるデータブロックである。また、最新のデータブロックとは、差分データ記憶部１１０に既に生成された状態にあるデータブロックの中で、ゾーンデータの更新に応じて抽出した最新の差分データ（シリアル番号が最大である差分データ）が格納されているデータブロックである。
【００３１】
また、差分データ管理部１２０は、差分データ記憶部１１０の最新のデータブロックに記録された差分データの中で、同一のドメイン名を有する差分データについては、時系列が新しい差分データによって打ち消される古い差分データを削除することにより、同一のドメイン名を有する差分データを要約する（同一のドメイン名を有する差分データのデータ量を圧縮する）。例えば、差分データの中に、「BBBB．TEST．AD．JP（ドメイン名）：100．100．100．33（ＩＰアドレス）：serial＝33（シリアル番号）」と、「BBBB．TEST．AD．JP（ドメイン名）：134．134．134．34（ＩＰアドレス）：serial＝34（シリアル番号）」が含まれているとする。この場合、差分データ管理部１２０は、シリアル番号が大きい方のデータを時系列が新しいデータと判定して、シリアル番号が「３４」である「BBBB．TEST．AD．JP：134．134．134．34：serial＝34」を時系列が最新のデータとして残し、シリアル番号が「３３」である「BBBB．TEST．AD．JP：100．100．100．33：serial＝33」を削除することにより、同一のドメイン名を有する差分データを要約する。なお、差分データ管理部１２０は、差分データ記憶部１１０において、シリアル番号の代わりに、例えば、対応付け情報の更新を受信した受信時刻、または対応付け情報の更新を集約したリフレッシュタイミングに対応する時刻などが記憶される場合には、これらの時刻に基づいて、時系列が最新のデータを判定する。
【００３２】
差分データ転送部１３０は、上述の差分データをスレーブサーバ２００に転送する。例えば、差分データ転送部１３０は、上述の差分データを格納した後、対応付け情報の更新があった旨の通知をスレーブサーバ２００に送信する。そして、差分データ転送部１３０は、スレーブサーバ２００から転送要求を受信すると、差分データ記憶部１１０の最新のデータブロックに記録されている差分データを、データブロック単位でスレーブサーバ２００に転送する。
【００３３】
スレーブサーバ２００は、上述のゾーンデータの複製を管理するＤＮＳサーバであり、差分データ記憶部２１０と、差分データ取得部２２０と、データ提供部２３０とを有する。
【００３４】
差分データ記憶部２１０は、マスターサーバ１００から受信した差分データをデータブロックごとに記憶する。
【００３５】
差分データ取得部２２０は、マスターサーバ１００から更新通知を受信すると、差分データの転送要求をマスターサーバ１００に送信する。そして、差分データ取得部２２０は、マスターサーバ１００から差分データを受信すると、マスターサーバ１００の差分データ記憶部１１０に設けられたものと同一のサイズのデータブロックに差分データを格納する。なお、差分データ取得部２２０は、差分データ格納後、差分データ記憶部２２０の最新のデータブロックに記録されている差分データを、ゾーンデータに直ちに反映する。
【００３６】
データ提供部２３０は、ＤＮＳクライアント２０から、ドメイン名を含む検索クエリを受信すると、このドメイン名に対応するＩＰアドレスをゾーンデータの中から取得し、ＤＮＳクライアント２０に返信する。
【００３７】
［実施例１に係るデータ管理システムの処理の概要］
図２〜４を用いて、実施例１に係るデータ管理システムの処理の概要を説明する。図２〜図４は、実施例１に係るデータ管理システムの処理の概要を示す図である。
【００３８】
図２に、マスターサーバ１００による差分データの記録管理方法を示す。差分データ管理部１２０は、図２に示すように、更新前のゾーンデータに含まれる対応付け情報と更新後のゾーンデータに含まれる対応付け情報との差分である差分データを、データブロックのサイズを超えない範囲内で、データブロックごとに管理する。例えば、差分データ管理部１２０は、差分データブロック１に、serial＝1〜serial＝11までの差分データを管理し、差分データブロック２に、serial＝11〜serial＝21までの差分データを管理し、差分データブロック３に、serial＝21〜serial＝31までの差分データを管理し、差分データブロック４に、serial＝31〜serial＝41までの差分データを管理する。なお、差分データとは、シリアル番号「１」が付与されたゾーンデータに含まれる対応付け情報と、シリアル番号「２」が付与されたゾーンデータに含まれる対応付け情報との差分、すなわち、対応付け情報が新規に追加、変更、削除などが行われ、シリアル番号「２」のゾーンデータに新たに含まれることとなった対応付け情報に該当する。よって、serial＝1〜serial＝11までの差分データとは、serial＝1のゾーンデータとserial＝2のゾーンデータとの差分データ、serial＝2のゾーンデータとserial＝3のゾーンデータとの差分データ、serial＝3のゾーンデータとserial＝4のゾーンデータとの差分データ、serial＝4のゾーンデータとserial＝5のゾーンデータとの差分データ、serial＝5のゾーンデータとserial＝6のゾーンデータとの差分データ、serial＝6のゾーンデータとserial＝7のゾーンデータとの差分データ、serial＝7のゾーンデータとserial＝8のゾーンデータとの差分データ、serial＝8のゾーンデータとserial＝9のゾーンデータとの差分データ、serial＝9のゾーンデータとserial＝10のゾーンデータとの差分データ、serial＝10のゾーンデータとserial＝11のゾーンデータとの差分データ、のデータ集合である。なお、serial＝11〜serial＝21までの差分データ、serial＝21〜serial＝31までの差分データ、serial＝31〜serial＝41までの差分データも、同様のデータ集合である。また、マスターサーバ１００は、差分データを最新データブロックに追加した場合、データブロックのサイズを超えてしまう場合には、新規にデータブロックを生成し、このデータブロック差分データを格納する。
【００３９】
図３に、例えば、マスターサーバ１００からスレーブサーバ２００への完全ゾーンデータ転送中に、ゾーンデータの更新（差分データの記録）があった場合の差分データの転送方法を示す。差分データ転送部１３０は、図３に示すように、完全ゾーンデータ転送の完了後、更新通知をスレーブサーバ２００に送信する。そして、差分データ転送部１３０は、スレーブサーバ２００から転送要求を受信すると、完全ゾーンデータ転送中に、差分データ記憶部１１０に格納された差分データを、データブロック単位でスレーブサーバ２００に順次転送する。例えば、完全ゾーンデータ転送中に、serial＝1〜serial＝11の差分データ、serial＝11〜serial＝21の差分データ、serial＝21〜serial＝31の差分データ、serial＝31〜serial＝41の差分データが、差分データブロック１〜４にそれぞれ記録された場合には、マスターサーバ１００は、差分データブロック１の差分データ、差分データブロック２の差分データ、差分データブロック３の差分データ、差分データブロック４の差分データを、スレーブサーバ２００に順次転送する。
【００４０】
図４に、マスターサーバ１００における差分データの要約方法を示す。例えば、差分データ管理部１２０は、差分データ記憶部１１０の最新のデータブロックに記録された同一のドメイン名を有する差分データについては、時系列が最新のデータのみを残して他のデータを削除することにより、同一のドメイン名を有する差分データを要約する。例えば、差分データ管理部１２０は、図４に示すように、最新のデータブロックである差分データブロック４に記録された差分データとして、「AAAA．TEST．AD．JP（ドメイン名）：100．100．100．32（ＩＰアドレス）：serial＝32（シリアル番号）」、「BBBB．TEST．AD．JP（ドメイン名）：100．100．100．33（ＩＰアドレス）：serial＝33（シリアル番号）」、「BBBB．TEST．AD．JP（ドメイン名）：134．134．134．34（ＩＰアドレス）：serial＝34（シリアル番号）」の３つのデータが含まれているとする。なお、差分データの１つである「AAAA．TEST．AD．JP：100．100．100．32：serial＝32」は、シリアル番号「３１」が付与されたゾーンデータとシリアル番号「３２」が付与されたゾーンデータとの差分であり、「BBBB．TEST．AD．JP：100．100．100．33：serial＝33」は、シリアル番号「３２」が付与されたゾーンデータとシリアル番号「３３」が付与されたゾーンデータとの差分であり、「BBBB．TEST．AD．JP：134．134．134．34：serial＝34」は、シリアル番号「３３」が付与されたゾーンデータとシリアル番号「３４」が付与されたゾーンデータとの差分である。差分データ管理部１２０は、図４に示す差分データのうち、シリアル番号が「３３」と「３４」の対応付け情報の含まれるドメイン名が「BBBB．TEST．AD．JP」で同一であるので、差分データ管理部１２０は、シリアル番号が「３４」である「BBBB．TEST．AD．JP：134．134．134．34：serial＝34」を時系列が最新のデータとして残し、シリアル番号が「３３」である「BBBB．TEST．AD．JP：100．100．100．33：serial＝33」を削除することにより、同一のドメイン名を有する差分データを要約する（同一のドメイン名を有する差分データのデータ量を圧縮する）。
【００４１】
［マスターサーバ１００による処理の流れ］
次に、図５および図６を用いて、実施例１に係るデータ管理システムにおけるマスターサーバ１００による処理の流れを説明する。図５および図６は、実施例１に係るデータ管理システムにおけるマスターサーバによる処理の流れを示す図である。
【００４２】
まず、図５を用いて、マスターサーバ１００による差分データ転送処理の流れを説明する。図５に示すように、マスターサーバ１００は、ゾーンデータの更新判定を実行する（Ｓ１０１）。マスターサーバ１００は、「ゾーンデータに更新あり」の判定結果が導出されるまで（Ｓ１０１、Ｎｏ）、ステップＳ１０１の判定を繰り返す。
【００４３】
そして、マスターサーバ１００は、「ゾーンデータに更新あり」の判定結果を導出した場合には（Ｓ１０１、Ｙｅｓ）、所定のリフレッシュタイミングで、ゾーンごとに、更新情報（更新された対応付け情報）を集約し（Ｓ１０２）、差分データ追加処理を実行する（Ｓ１０３）。なお、マスターサーバ１００は、ＤＤＮＳクライアント１０から更新に係る対応付け情報を受信した場合には、「ゾーンデータに更新あり」の判定結果を導出する。
【００４４】
続いて、マスターサーバ１００は、スレーブサーバ２００に、ゾーンデータに更新があった旨の通知（更新通知）を送信する（Ｓ１０４）。続いて、マスターサーバ１００は、スレーブサーバ２００からの転送要求に応じて、データブロック単位で差分データをスレーブサーバ２００に送信し（Ｓ１０５）、未送信の差分データ（データブロック）があるかどうかを判定する（Ｓ１０６）。
【００４５】
判定の結果、未送信の差分データがある場合には（Ｓ１０６、Ｙｅｓ）、マスターサーバ１００は、上述したステップＳ１０４に戻り、スレーブサーバ２００に更新通知を送信し、未送信の差分データの送信を実行する。一方、判定の結果、未送信の差分データがない場合には（Ｓ１０６、Ｎｏ）、マスターサーバ１００は、処理を終了する。
【００４６】
次に、図６を用いて、マスターサーバ１００による差分データ追加処理（図５のステップＳ１０３）の流れを説明する。図６に示すように、マスターサーバ１００は、ゾーンデータの更新により発生した差分データを抽出する（Ｓ２０１）。
【００４７】
続いて、マスターサーバ１００は、抽出した差分データを最新のデータブロックに追加した場合の最新のデータブロック内のデータの合計サイズを計算する（Ｓ２０２）。続いて、マスターサーバ１００は、算出した合計サイズが、上限値であるデータブロックのサイズよりも大きいか否かを判定する（Ｓ２０３）。
【００４８】
判定の結果、合計サイズが上限値以下であるものと判定された場合には（Ｓ２０３、Ｎｏ）、マスターサーバ１００は、最新のデータブロックに差分データを追加する（Ｓ２０４）。一方、判定の結果、合計サイズが上限値よりも大きいものと判定された場合には（Ｓ２０３、Ｙｅｓ）、マスターサーバ１００は、現在の最新データブロックを凍結して新たなデータブロックを生成し、生成した新規のデータブロックに差分データを追加する（Ｓ２０５）。
【００４９】
続いて、マスターサーバ１００は、最新のデータブロック内のデータを要約可能であるか否かを判定する（Ｓ２０６）。例えば、マスターサーバ１００は、最新のデータブロックに追加された対応付け情報の中に、ドメイン名が同一の対応付け情報がある場合には、要約可能である旨の判定結果を導出する。
【００５０】
判定の結果、最新のデータブロック内のデータが要約可能であるものと判定された場合には（Ｓ２０６、Ｙｅｓ）、マスターサーバ１００は、最新データブロック内のデータを要約し（Ｓ２０７）、図６の処理を終了し、図５のステップＳ１０４の処理に移る。一方、判定の結果、最新のデータブロック内のデータが要約不可能であるものと判定された場合には（Ｓ２０６、Ｎｏ）、マスターサーバ１００は、そのまま図６の処理を終了し、図５のステップＳ１０４の処理に移る。
【００５１】
［実施例１による効果］
上述してきたように、実施例１に係るデータ管理システムでは、マスターサーバ１００が、ゾーンデータの更新により発生する差分データ（ドメイン名とＩＰアドレスとの対応付け情報）を、スレーブサーバ２００へ転送可能なサイズのデータブロックごとに記録して管理する。したがって、実施例１に係るデータ管理システムでは、差分データが転送できないという事態が発生することを防止しつつ、転送可能な範囲で最大限に記録された差分データを転送でき、メイン情報とアドレス情報との対応付け情報を同期させる処理をできるだけ迅速に行うことができる。
【００５２】
また、図７に示すように、スレーブサーバ２００の再起動などにより、マスターサーバ１００からスレーブサーバ２００に対して全ゾーンデータを転送する完全ゾーン転送の実行中に、マスターサーバ１００に蓄積された差分データが転送可能なサイズを超えてしまった場合には、完全ゾーン転送後に差分データのみ転送することができないので、再び、完全ゾーン転送を実行する必要があった。これに対して、実施例１に係るデータ管理システムでは、図８に示すように、マスターサーバ１００が、ゾーンデータの更新により発生する差分データを、スレーブサーバ２００へ転送可能なサイズのデータブロックごとに記録して管理するので、完全ゾーン転送後に差分データのみ転送することが可能となる。この結果、スレーブサーバ２００の再起動などにより、マスターサーバ１００からスレーブサーバ２００に対する完全ゾーン転送の実行中にゾーンデータの更新があった場合であっても、ドメイン名とＩＰアドレスとの対応付け情報をＤＮＳサーバ間で迅速に同期させることができる。なお、図７および図８は、実施例１に係る効果を説明するための図である。
【００５３】
また、実施例１に係るデータ管理システムでは、マスターサーバ１００が、最新のデータブロックに記録された差分データを要約するので、要約処理に要する負荷や時間をできるだけ抑えることができ、ＤＤＮＳクライアント１０による更新処理（ゾーンデータの更新）のスループットに悪影響を与えることがなく、結果として、ドメイン名とＩＰアドレスとの対応付け情報をＤＮＳサーバ間で迅速に同期させることができる。
【００５４】
なお、上述した実施例１において、差分データ記憶部１１０のデータブロックを、差分データをスレーブサーバ２００側に転送済みのものから順に削除することにより、差分データ記憶部１１０の記憶領域を圧迫することを防止することもできる。また、上述した実施例１において、差分データ記憶部１１０のデータブロックの中から、差分データのレコードのみを削除してデータブロックを再利用することもできる。
【実施例２】
【００５５】
以下、本発明にかかるデータ管理システム、データ管理装置、データ管理方法およびデータ管理プログラムのその他の実施形態として実施例２を説明する。
【００５６】
（１）装置構成等
実施例１に係るデータ管理システムの構成、例えば、図１に示すマスターサーバ１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００５７】
例えば、図１に示すマスターサーバ１００の差分データ管理部１２０と差分データ転送部１３０とを、機能的または物理的に統合した構成としてもよい。このように、図１に示すデータ管理システムの各構成要素の分散または統合の具体的形態は、図１に示すものに限られず、各構成要素の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００５８】
（２）データ管理方法
実施例１に係るデータ管理システムにより、以下のようなデータ管理方法が実現される。例えば、ドメイン名とＩＰアドレスとの対応付け情報を含むデータ集合の原本を管理する第１のデータ管理装置と、前記データ集合の複製を管理する第２のデータ管理装置とを有するデータ管理システムで実行されるデータ管理方法であって、前記第１のデータ管理装置が、前記データ集合の更新があった場合に、当該更新により発生した差分データと、当該更新前の前記データ集合に含まれる対応付け情報と当該更新後の前記データ集合に含まれる対応付け情報との差分である差分データを所定のサイズを有するデータブロックごとに記憶する記憶部に既存のデータブロックの中で最新のデータブロック内に格納済みである差分データとの合計サイズを算出し、算出した合計サイズが前記所定のサイズよりも大きいか否かを判定する判定工程と（例えば、図６のステップＳ２０３など参照）、前記第１のデータ管理装置が、前記判定工程により前記合計サイズが前記所定のサイズよりも大きいものと判定された場合には、前記記憶部に新たなデータブロックを生成し、生成した新たなデータブロックに前記更新により発生した差分データを格納する一方で、前記判定工程により前記合計サイズが前記所定のサイズ以下であると判定された場合には、前記記憶部に既存のデータブロックの中で最新のデータブロックに前記更新により発生した差分データを格納するデータ管理工程と（例えば、図６のステップＳ２０４およびステップＳ２０５など参照）、前記第１のデータ管理装置が、前記第２のデータ管理装置に対して、前記データ集合の更新があった旨の通知を送信する送信工程と（例えば、図５のステップＳ１０４など参照）、前記第１のデータ管理装置が、前記第２のデータ管理装置から前記通知に応じた転送要求を受信した場合に、前記第２のデータ管理装置に対して、前記記憶部に記憶されている差分データをデータブロック単位で転送する転送工程と（例えば、図５のステップＳ１０５など参照）、を含むデータ管理方法が実現される。
【００５９】
（３）マスターサーバに所定の手順を実行させるプログラム
また、上述の実施例で説明した各種の処理（例えば、図５、６など）は、実施例１に係るデータ管理システムにマスターサーバ１００として実装される、パーソナルコンピュータやワークステーションなどのコンピュータに、上述の実施例で説明した各種の処理と同様の処理機能を実現するための手順（プロセス）を実行させるためのプログラムをインストールすることにより実現することもできる。
【００６０】
そこで、以下では、図９を用いて、上述の実施例で説明した各種の処理（例えば、図５、６など）と同様の機能を実現するコンピュータの一例を説明する。図９は、上述の実施例で説明した処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
【００６１】
図９に示すように、マスターサーバ１００として実装されるコンピュータ３００は、例えば、メモリ３０１と、ＣＰＵ（Central  Processing  Unit）３０２を有する。また、コンピュータ３００は、図９に示すように、ハードディスクドライブインタフェース３０３と、光ディスクドライブインタフェース３０４を有する。また、コンピュータ３００は、図９に示すように、シリアルポートインタフェース３０５と、ビデオアダプタ３０６と、ネットワークインタフェース３０７を有する。そして、コンピュータ３００は、これらの各部３０１〜３０７をバス３０８によって接続する。
【００６２】
メモリ３０１は、図９に示すように、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース３０３は、図９に示すように、ハードディスクドライブ３０９に接続される。光ディスクドライブインタフェース３０４は、図９に示すように、光ディスクドライブ３１０に接続される。例えば、光ディスクドライブ３１０には、光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース３０５は、図９に示すように、例えば、マウス４００およびキーボード５００に接続される。ビデオアダプタ３０６は、図９に示すように、例えば、ディスプレイ６００に接続される。
【００６３】
ここで、図９に示すように、ハードディスクドライブ３０９は、例えば、ＯＳ（Operating  System）、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。
【００６４】
すなわち、上述したマスターサーバ１００により実行される処理と同様の機能を実現するための所定の手順をコンピュータに実行させるプログラムは、コンピュータ３００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ３０９に記憶される。つまり、上述の実施例で説明した各種の処理（例えば、図５、６など）と同様の処理機能をマスターサーバ１００としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールが、ハードディスクドライブ３０９に記憶される。このプログラムモジュールは、例えば、図１に示すマスターサーバ１００の差分データ管理部１２０や差分データ転送部１３０などにより実行される手順（プロセス）に対応する。
【００６５】
また、上述の実施例で説明した各種の処理（例えば、図５、６など）と同様の処理機能をマスターサーバ１００としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールにより用いられるデータは、プログラムデータとして、例えばハードディスクドライブ３０９に記憶される。例えば、このプログラムデータは、例えば、図１に示すマスターサーバ１００の差分データ記憶部１１０に記憶された各種データに対応する。
【００６６】
そして、ＣＰＵ３０２が、ハードディスクドライブ３０９に記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、上述の実施例で説明した各種の処理（例えば、図６など）を実現するための手順を実行する。
【００６７】
なお、上述の実施例で説明した各種の処理（例えば、図５、６など）と同様の処理をマスターサーバ１００としてのコンピュータ３００に実現させるために、コンピュータ３００に実行させる手順が記述されたプログラムモジュールやプログラムデータは、ハードディスクドライブ３０９に記憶される場合に限られるものではなく、例えば、着脱可能な記憶媒体である光ディスクドライブ３１０等に記憶されていてもよい。この場合には、ＣＰＵ３０２が、光ディスクドライブ３１０を介して、マスターサーバ１００と同様の機能を有するプログラムモジュールやプログラムデータを読み出す。
【００６８】
あるいは、上述の実施例で説明した各種の処理（例えば、図５、６など）と同様の処理機能をマスターサーバ１００としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）など）を介して接続された他のコンピュータに記憶されていてもよい。この場合には、ＣＰＵ３０２が、ネットワークインタフェース３０７を介して、マスターサーバ１００と同様の機能を有するプログラムモジュールやプログラムデータを他のコンピュータから読み出す。
【００６９】
なお、プログラムによりＣＰＵ３０２が動作して各種処理を行う代わりに、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ(Field  Programmable  Gate  Array)などの電子回路を用いて処理を行うこともできる。また、メモリ３０１として、フラッシュメモリ(flash  memory)などを用いることもできる。
【符号の説明】
【００７０】
１０  ＤＤＮＳクライアント
２０  ＤＮＳクライアント
１００  マスターサーバ
１１０  差分データ記憶部
１２０  差分データ管理部
１３０  差分データ転送部
２００  スレーブサーバ
２１０  差分データ記憶部
２２０  差分データ取得部
２３０  データ提供部
３００  コンピュータ
３０１  メモリ
３０２  ＣＰＵ
３０３  ハードディスクドライブインタフェース
３０４  光ディスクドライブインタフェース
３０５  シリアルポートインタフェース
３０６  ビデオアダプタ
３０７  ネットワークインタフェース
３０８  バス
３０９  ハードディスクドライブ
３１０  光ディスクドライブ
４００  マウス
５００  キーボード
６００  ディスプレイ
【図１】
2013109552.tif 000003
【図２】
2013109552.tif 000004
【図３】
2013109552.tif 000005
【図４】
2013109552.tif 000006
【図５】
2013109552.tif 000007
【図６】
2013109552.tif 000008
【図７】
2013109552.tif 000009
【図８】
2013109552.tif 000010
【図９】
2013109552.tif 000011
【図１０】
2013109552.tif 000012
【図１１】
2013109552.tif 000013
【図１２】
2013109552.tif 000014
【図１３】
2013109552.tif 000015