(57)【要約】【課題】データを分割し、それぞれを異なる複数の記憶サーバに格納するネットワークを利用したデータ管理システムにおいて、セキュリティ性とユーザの利便性を高める。【解決手段】複数の各記憶サーバが、サブデータを特定するためのサブＩＤ及びサブデータの格納先情報が記載されたパケット、セル又はフレームのいずれかを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、前記パケット、セル又はフレームのいずれかに記載されているサブデータを特定するためのサブＩＤ及びサブデータの格納先情報を更新する格納先情報更新部とを備えた構成とする。【選択図】図１
2008146342.tif 000002
【特許請求の範囲】
【請求項１】
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成され、
親データを複数のサブデータに分割し、該各サブデータを前記所定の複数の記憶サーバのうち複数の異なる記憶サーバに格納しておき、
親データの取出要求を受けると、該親データに対応するサブデータのＩＤ（サブＩＤ）及びサブデータの格納先情報に基づいて、該サブデータが格納されている複数の記憶サーバから各サブデータを回収し、該回収した複数のサブデータから親データを復元するデータ管理システムにおいて、
前記各記憶サーバが、
サブＩＤとサブＩＤに対応するサブデータの格納先とから成る格納先情報が含まれたパケット、セル又はフレームを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、
前記パケット、セル又はフレームに含まれている前記格納先情報を更新する格納先情報更新部と、
を備えることを特徴とするデータ管理システム。
【請求項２】
前記格納先情報保持部によって転送される前記パケット、セル又はフレームが、ＴＣＰ／ＩＰに則って、又はＯＳＩ参照モデルのネットワーク層及び／又はトランスポート層のプロトコルに則って送受信される
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成されるデータ管理システムであって、
前記管理サーバが、
親データを複数のサブデータに分割するデータ分割部と、
前記親データのＩＤ（親ＩＤ）及び各サブデータのＩＤ（サブＩＤ）を生成するＩＤ生成部と、
サブＩＤが付与された前記各サブデータを前記複数の記憶サーバのうち異なる記憶サーバに格納する分散配置部と、
親データのファイル名及び親ＩＤを関連付けて記憶するファイル名管理部と、
親ＩＤ及び各サブＩＤを関連付けて記憶するＩＤ管理部と、
親データのファイル名を含むデータ取出要求の入力を受けると、前記ファイル名管理部を参照することにより該ファイル名に対応する親ＩＤを取り出し、前記ＩＤ管理部を参照することにより該親ＩＤに対応する複数のサブＩＤを取り出し、該各サブＩＤに対応するサブデータの格納先を前記記憶サーバの一つに問い合わせるデータ回収命令部と、
前記記憶サーバより通知された前記各サブデータの格納先から各サブデータを回収し、該回収した複数のサブデータから親データを復元する親データ復元部と、
を備え、
前記各記憶サーバが、
サブデータを保存するサブデータ保存部と、
サブＩＤとサブＩＤに対応するサブデータの格納先とから成る格納先情報が含まれたパケット、セル又はフレームを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、
前記パケット、セル又はフレームに含まれている前記格納先情報を更新する格納先情報更新部と、
前記管理サーバからサブＩＤの格納先の問合せを受けると、前記パケット、セル又はフレームの格納先情報を参照することにより、該サブＩＤに対応するサブデータの格納先を前記管理サーバに通知する格納先照合部と、
を備える
ことを特徴とするデータ管理システム。
【請求項４】
前記ＩＤ生成部が生成する前記親ＩＤ及び／又はサブＩＤが、前記親データ及び／又は前記サブデータに基づいて算出されるハッシュ値であることを特徴とする請求項３に記載のデータ管理システム。
【請求項５】
前記親データ復元部が、前記記憶サーバより通知された前記各サブデータの格納先から各サブデータを回収した後、該各サブデータのハッシュ値を算出し、該算出したサブデータのハッシュ値と、予め各サブデータに付与されたサブＩＤ又は前記ＩＤ管理部に記憶されているサブＩＤとが一致する場合にのみ該回収した複数のサブデータから親データを復元する
ことを特徴とする請求項４に記載のデータ管理システム。
【請求項６】
前記親データ復元部が、更に、復元した親データのハッシュ値を算出し、該算出した親データのハッシュ値と、前記ファイル名管理部又は前記ＩＤ管理部に記憶されている親ＩＤとが一致する場合にのみ、該復元した親データを利用可能にする
ことを特徴とする請求項４又は５に記載のデータ管理システム。
【請求項７】
前記格納先情報保持部によって転送される前記パケット、セル又はフレームが、ＴＣＰ／ＩＰに則って、又はＯＳＩ参照モデルのネットワーク層及び／又はトランスポート層のプロトコルに則って送受信される
ことを特徴とする請求項３〜６のいずれかに記載のデータ管理システム。
【請求項８】
前記管理サーバが更に、親データ及び／又はサブデータを暗号化及び複合化するデータ暗号化部を備えることを特徴とする請求項３〜７のいずれかに記載のデータ管理システム。
【請求項９】
前記各記憶サーバが、更に、前記パケット、セル又はフレームに含まれる格納先情報を暗号化及び復号化する格納先情報暗号化部を備えている
ことを特徴とする請求項３〜８のいずれかに記載のデータ管理システム。
【請求項１０】
前記各記憶サーバの前記格納先照合部が、前記管理サーバからサブＩＤの格納先の問合せを受けると、前記パケット、セル又はフレームの格納先情報を参照することにより該サブＩＤに対応するサブデータの格納先を特定し、該格納先である記憶サーバに対して前記管理サーバへサブデータを送信する命令であるサブデータ回収命令を送信し、
前記管理サーバの前記親データ復元部が、各記憶サーバより送信されてきた複数のサブデータから親データを復元する
ことを特徴とする請求項３〜９のいずれかに記載のデータ管理システム。
【請求項１１】
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成され、
親データを複数のサブデータに分割し、該各サブデータを前記所定の複数の記憶サーバのうち複数の異なる記憶サーバに格納しておき、
親データの取出要求を受けると、該親データに対応するサブデータのＩＤ（サブＩＤ）及びサブデータの格納先情報に基づいて、該サブデータが格納されている複数の記憶サーバから各サブデータを回収し、該回収した複数のサブデータから親データを復元するデータ管理システムにおいて使用されるプログラムであって、
親データのファイル名及び親ＩＤを関連付けて記憶するファイル名管理部及び親ＩＤ及び各サブＩＤを関連付けて記憶するＩＤ管理部を具備する前記管理サーバを、
親データを複数のサブデータに分割するデータ分割部と、
前記親データのＩＤ（親ＩＤ）及び各サブデータのＩＤ（サブＩＤ）を生成するＩＤ生成部と、
サブＩＤが付与された前記各サブデータを前記複数の記憶サーバのうち異なる記憶サーバに格納する分散配置部と、
親データのファイル名を含むデータ取出要求の入力を受けると、前記ファイル名管理部を参照することにより該ファイル名に対応する親ＩＤを取り出し、前記ＩＤ管理部を参照することにより該親ＩＤに対応する複数のサブＩＤを取り出し、該各サブＩＤに対応するサブデータの格納先を前記記憶サーバの一つに問い合わせるデータ回収命令部と、
前記記憶サーバから各サブデータを回収し、該回収した複数のサブデータから親データを復元する親データ復元部と、
して機能させることを特徴とするデータ管理システムの管理サーバ用プログラム。
【請求項１２】
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成され、
親データを複数のサブデータに分割し、該各サブデータを前記所定の複数の記憶サーバのうち複数の異なる記憶サーバに格納しておき、
親データの取出要求を受けると、該親データに対応するサブデータのＩＤ（サブＩＤ）及びサブデータの格納先情報に基づいて、該サブデータが格納されている複数の記憶サーバから各サブデータを回収し、該回収した複数のサブデータから親データを復元するデータ管理システムにおいて使用されるプログラムであって、
前記記憶サーバを、少なくとも、
サブＩＤとサブＩＤに対応するサブデータの格納先とから成る格納先情報が含まれたパケット、セル又はフレームを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、
前記パケット、セル又はフレームに含まれている前記格納先情報を更新する格納先情報更新部と、
して機能させることを特徴とするデータ管理システムの記憶サーバ用プログラム。
【請求項１３】
前記記憶サーバを、更に、
前記管理サーバからサブＩＤの格納先の問合せを受けると、前記パケット、セル又はフレームの格納先情報を参照することにより、該サブＩＤに対応するサブデータの格納先を前記管理サーバに通知する格納先照合部、又は、
前記管理サーバからサブＩＤの格納先の問合せを受けると、前記パケット、セル又はフレームの格納先情報を参照することにより該サブＩＤに対応するサブデータの格納先を特定し、該格納先である記憶サーバに対して前記管理サーバへサブデータを送信する命令であるサブデータ回収命令を送信する格納先照合部と、
して機能させることを特徴とする請求項１２に記載のデータ管理システムの記憶サーバ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータを管理するシステムに関する。
【背景技術】
【０００２】
従来、データの保存はローカルに用意したハードディスク等の記憶装置を用いて行うのが一般的であったが、昨今のインターネット等のデータ通信ネットワークの発展に伴い、ネットワーク上に設けられたファイルサーバなどの記憶領域にデータを格納することが多くなってきた。これには、ローカル側に十分な容量を有する記憶媒体が無いような場合でも容量について心配しなくても良いという利点や、ネットワークに接続さえできれば、どのような場所からでもデータをアップロードしたりダウンロードしたりできるという利便性がある。
【０００３】
しかし、ネットワーク上にデータを保管しておくことには、何らかの過失によって、又は悪意を有する者による攻撃等によってデータが漏洩してしまうというリスクが常に存在する。また、実際にデータが記憶されているサーバ自体が盗難されてしまい、データが漏洩する可能性も否定できない。データの漏洩を防止するためには、当然、種々の対策を講じてセキュリティを強固にする必要があるが、その一方で、セキュリティ性を高めようとすればするほど、それに要するコストが嵩むという問題が発生する。
【０００４】
上記のような問題を解決するための一技術として、データへのアクセスが許可された特定の者だけが預け入れたデータに任意の場所から安全にアクセスでき、データを保管するサーバ側に特別な装置やソフトウェアの用意を必要としないデータアーカイブシステムが特許文献１において開示されている。これによれば、保管対象データファイルを分割・暗号化部によって分割暗号化し、個々の分割ファイルを複数のデータサーバに分散して保管する。
保管対象データを取り出す際には、保管時に記録されたデータ保管場所情報及びデータ保管手順情報に従って、ネットワーク上の複数のサーバに分散して保管されている保管対象データを取り出して、これを合成して元のファイルに復元するというものである。
【０００５】
【特許文献１】特開2006-12192号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１にて開示されているように、データを分割し、更にそれぞれを暗号化して複数のサーバに分散して保管することにより、仮に第三者が分割されたデータを取得したとしても、その内容を知ることは事実上不可能となる。
【０００７】
特許文献１に記載されているシステムでは、データがどこに格納されているかが記載されたデータ保管場所情報が携帯可能記録媒体に保存されている。これによって、携帯可能記録媒体を有する、データを預けた本人やデータのアクセスを許可された者だけがデータを取り出すことが可能となる。しかし、この構成では、この携帯可能記録媒体を携帯していなかったり紛失したりした場合にはデータを取り出すことが出来ず、非常に不便であるという問題があった。
【課題を解決するための手段】
【０００８】
上記課題を解決するために成された本発明に係るデータ管理システムは、
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成され、
親データを複数のサブデータに分割し、該各サブデータを前記所定の複数の記憶サーバのうち複数の異なる記憶サーバに格納しておき、
親データの取出要求を受けると、該親データに対応するサブデータのＩＤ（サブＩＤ）及びサブデータの格納先情報に基づいて、該サブデータが格納されている複数の記憶サーバから各サブデータを回収し、該回収した複数のサブデータから親データを復元するデータ管理システムにおいて、
前記各記憶サーバが、
サブＩＤとサブＩＤに対応するサブデータの格納先とから成る格納先情報が含まれたパケット、セル又はフレームを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、
前記パケット、セル又はフレームに含まれている前記格納先情報を更新する格納先情報更新部と、
を備えることを特徴とする。
【０００９】
上記データ管理システムは、好適には、
前記格納先情報保持部によって転送される前記パケット、セル又はフレームが、ＴＣＰ／ＩＰに則って、又はＯＳＩ参照モデルのネットワーク層及び／又はトランスポート層のプロトコルに則って送受信されるのが好適である。
【００１０】
また、本発明に係るデータ管理システムは他の好適な形態として、
データ通信ネットワークによって互いに接続された所定の複数の記憶サーバと、管理サーバとから構成されるデータ管理システムであって、
前記管理サーバが、
親データを複数のサブデータに分割するデータ分割部と、
前記親データのＩＤ（親ＩＤ）及び各サブデータのＩＤ（サブＩＤ）を生成するＩＤ生成部と、
サブＩＤが付与された前記各サブデータを前記複数の記憶サーバのうち異なる記憶サーバに格納する分散配置部と、
親データのファイル名及び親ＩＤを関連付けて記憶するファイル名管理部と、
親ＩＤ及び各サブＩＤを関連付けて記憶するＩＤ管理部と、
親データのファイル名を含むデータ取出要求の入力を受けると、前記ファイル名管理部を参照することにより該ファイル名に対応する親ＩＤを取り出し、前記ＩＤ管理部を参照することにより該親ＩＤに対応する複数のサブＩＤを取り出し、該各サブＩＤに対応するサブデータの格納先を前記記憶サーバの一つに問い合わせるデータ回収命令部と、
前記記憶サーバより通知された前記各サブデータの格納先から各サブデータを回収し、該回収した複数のサブデータから親データを復元する親データ復元部と、
を備え、
前記各記憶サーバが、
サブデータを保存するサブデータ保存部と、
サブＩＤとサブＩＤに対応するサブデータの格納先とから成る格納先情報が含まれたパケット、セル又はフレームを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、
前記パケット、セル又はフレームに含まれている前記格納先情報を更新する格納先情報更新部と、
前記管理サーバからサブＩＤの格納先の問合せを受けると、前記パケット、セル又はフレームの格納先情報を参照することにより、該サブＩＤに対応するサブデータの格納先を前記管理サーバに通知する格納先照合部と、
を備えることを特徴とすることもできる。
【００１１】
上記データ管理システムは、好適には、前記ＩＤ生成部が生成する前記親ＩＤ及び／又はサブＩＤが、前記親データ及び／又は前記サブデータに基づいて算出されるハッシュ値であることが望ましい。
【発明の効果】
【００１２】
本発明に係るデータ管理システムでは、各記憶サーバが、サブデータを特定するためのサブＩＤ及びサブデータの格納先情報が含まれたパケット、セル又はフレームのいずれかを、前記所定の複数の記憶サーバによって構成される対象ネットワーク内で停止させることなく転送する格納先情報保持部と、前記パケット、セル又はフレームに含まれている納先情報を更新する格納先情報更新部と、を備えており、親データを復元するために必要な、サブデータがどこに格納されているのかという情報がパケット、セル又はフレームに記載されており、そのパケット等が、管理サーバによって構成される対象ネットワーク内で次々と転送される。格納先情報に変更が生じた場合には、格納先情報更新部によってその情報が更新されるから、サブデータの格納先情報は常に最新性が保たれる。
また、ある記憶サーバに不具合が生じたり、対象ネットワークの一部に障害が発生して通信不能となったりしても、格納先情報が記載されたパケットは、障害があって接続できない箇所を迂回して停止することなく転送されるから、サブデータの格納先情報が失われることなく、最新の情報が保持され続ける。
【００１３】
管理サーバから格納先情報を問い合わせる際には、どの記憶サーバに問い合わせても構わないため、記憶サーバや対象ネットワークの一部に障害が発生したとしても、格納先情報を確実に取り出すことができる。
本発明に係るデータ管理システムでは、管理サーバが、親データを復元するために必要な全ての情報（例えば、親データの名称、その親データに対応するサブデータのＩＤとその格納先）を保持するのではない。従って、管理サーバに含まれている情報が過失や攻撃等により流出してしまったとしても、親データが復元されてしまい、データが漏洩してしまう可能性はほぼ無い。そして、格納先情報をユーザが携帯する必要がないから、ユーザはいつでもどこからでも本発明に係るデータ管理システムを利用することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係るデータ管理システムの一実施形態に関し、図面を参照しつつ具体的に説明する。
【００１５】
図１は管理サーバ１の構成を示す模式図である。図１に示すように、管理サーバ１はＣＰＵ２、メモリ３、ハードディスクやフラッシュメモリ等の大容量記憶装置から成る記憶部４、外部ネットワークに接続するためのネットワークインターフェース５がバスによって互いに接続されて構成されている。記憶部４には、図示せぬＯＳ（Operating System）のほか、ファイル名管理テーブル４１、ＩＤ管理テーブル４２、管理サーバ用プログラム４３が含まれる。この管理サーバ用プログラム４３は、図示せぬＣＤ−ＲＯＭドライブやＤＶＤ−ＲＯＭドライブ、外部ネットワーク等を介して外部の記憶媒体よりインストールされたものである。
また、ＣＰＵ２が管理サーバ用プログラム４３を実行することによってソフトウェア的に実現される、管理サーバ１の他の構成を図１の破線吹出内に示す。すなわち、管理サーバ１は、データ分割部１１、ＩＤ生成部１２、ファイル名管理部１３、ＩＤ管理部１４、分散配置部１５、データ回収命令部１６、親データ復元部１７、データ暗号化部１８も備えている。
【００１６】
図２は、記憶サーバ６の構成を示す模式図である。図２に示すように、記憶サーバ６はＣＰＵ（記憶サーバＣＰＵ）６０、メモリ６１、外部ネットワークに接続するためのネットワークインターフェース６２、ハードディスクやフラッシュメモリ等の大容量記憶装置から成る記憶部６３がバスによって互いに接続されて構成されている。記憶部６３には、図示せぬＯＳの他、サブデータ保存部６４、記憶サーバ用プログラム６５が保存されている。記憶サーバ用プログラム６５は、図示せぬＣＤ−ＲＯＭドライブやＤＶＤ−ＲＯＭドライブ、外部ネットワーク等を介して外部の記憶媒体よりインストールされたものである。
記憶サーバ６のＣＰＵである記憶サーバＣＰＵ６０が記憶サーバ用プログラム６５を実行することによってソフトウェア的に実現される、記憶サーバ６の他の構成を図２の破線吹出内に示す。すなわち、記憶サーバ６は、格納先情報保持部６６、格納先情報更新部６７、格納先情報暗号化部６８、格納先照合部６９、も備えている。
【００１７】
図３は、本発明に係るデータ管理システムの全体構成を示す模式図である。管理サーバ１と、複数台の記憶サーバ６（６ａ〜６ｆ）、ユーザ端末７、とから構成されており、これらが相互にインターネット等のデータ通信ネットワークＮＷを介して通信可能に接続されている。
本発明に係るデータ管理システムでは、前もって定められた複数の記憶サーバ６に対して予め記憶サーバ用プログラム６５がインストールされている。各記憶サーバ６では記憶サーバ用プログラム６５が記憶サーバＣＰＵ６０によって常時実行される。
記憶サーバ６は、本発明のデータ管理システム専用に設けられたサーバやコンピュータに限定される必要はなく、例えばインターネットに接続可能な一般ユーザのコンピュータに記憶サーバ用プログラム６５をインストールしてそれをバックグラウンドで実行させることにより、記憶サーバ６として利用することも可能である。なお、図３では記憶サーバ６として６ａ〜６ｆの６台を描いているが、当然もっと多数の記憶サーバ６を接続しても構わない。
また、通常の形態では、サーバ１、ユーザ端末７、及び複数の記憶サーバ６は、それぞれがインターネットによって接続されている。すなわち、サーバ１、ユーザ端末７、複数の記憶サーバ６は、専用のネットワークによって繋がれている必要はない。
本発明では、複数の記憶サーバ６によって構成される（仮想的な）ネットワークのことを「対象ネットワーク」と称する。
【００１８】
図３ではユーザ端末７と管理サーバ１とが別個に描かれているが、ユーザが直接管理サーバ１を操作することにより、本発明のデータ管理システムを利用してももちろん構わない。
【００１９】
[データの保管]
データを保管する方法について、図４に示すフローチャートを参照しつつ説明する。図４は、管理サーバ１のＣＰＵ２が管理サーバ用プログラム４３を実行することにより行われるデータ保管処理のフローを示している。
まず、ユーザがユーザ端末７を適宜に操作する（例えば所定のプログラムを起動する）ことによって管理サーバ１に接続する。このとき、管理サーバ１のＣＰＵ２（ユーザ認証部１９）は、該ユーザが、このデータ管理システムを利用する権限を有しているか否かを確認するために、所定のユーザＩＤやパスワード等の入力を求める。ユーザ端末７より受信したユーザＩＤやパスワードが適切なものでない場合、ユーザ認証部１９はユーザ端末７に対して、処理を続行できない旨のメッセージを返す。
【００２０】
ユーザ端末７より受信したユーザＩＤやパスワードが適切なものである場合には、ＣＰＵ２は処理の続行を許可する。ユーザは次いでユーザ端末７の入力ブを操作することにより、保存を行いたいデータ（親データ）をそのファイル名と共に管理サーバ１に送信する（開始）。本例では、ユーザ端末７より送信され、本発明のデータ管理システムによって保存されるデータのファイル名が「MAIN」であるものとする。
【００２１】
親データ「MAIN」を受信した管理サーバ１のＣＰＵ２（ＩＤ生成部１２）は、MAINのＩＤである親ＩＤを生成する。ここでは「001x」がMAINの親ＩＤであるものとする。この親ＩＤは、親データの識別子としての役割を担うため、他の親データに付される親ＩＤと重ならないようにする必要がある。このようなＩＤを生成するためには、所定の乱数等を利用することもできるし、ハッシュ関数（例えばＭＤ５、ＭＤ４、ＳＨＡ、ＨＡＶＡＬ等）を用いても構わない。
さらにＣＰＵ２（ファイル名管理部１３）は、記憶部４のファイル名管理テーブル４１に、親ファイル名「MAIN」に対応する親ＩＤが「001x」である旨を記録する（ステップＳ１）。このファイル名管理テーブル４１は、必ずしも表形式のようなテーブル構造である必要はなく、親ファイル名と親ＩＤとが関連づけられていれば良い。
【００２２】
次に、ＣＰＵ２（データ分割部１１）は、図４に示すように親データ「MAIN」を複数のサブデータに分割する（ステップＳ２）。分割する方法やサブデータの数等については何の制限もないが、各サブデータのデータ量を予め定めておくこともできる。この場合には、親データのデータ量が多くなると、分割後のサブデータの数も多くなる。本例では、親データ「MAIN」が「A」、「B」、「C」の三つのサブデータに分割されたものとする。
【００２３】
ＣＰＵ２（データ暗号化部１８）は、サブデータ「A」、「B」、「C」のそれぞれを暗号化する（ステップＳ３）。暗号化の方法については特に問わない。このように暗号化を行うことにより、サブデータが万一漏洩したとしても、そのデータの内容の解読を防ぐことができる。
【００２４】
次に、ＣＰＵ２（ＩＤ生成部１２）は、上記ステップＳ３において暗号化されたサブデータ「A」、「B」、「C」のそれぞれのＩＤであるサブＩＤを生成する。ここでは、サブデータ「A」、「B」、「C」のそれぞれのサブＩＤが「00Ax」、「00Bx」、「00Cx」のように生成されたものとする。
また、ＣＰＵ２（ＩＤ管理部１４）は、親データの親ＩＤと、その親データが分割されて生成されたサブデータのサブＩＤと、を互いに関連づけてＩＤ管理テーブル４２に保存する（ステップＳ４）。すなわち本例では、親ＩＤ「001x」と、サブＩＤ「00Ax」、「00Bx」、「00Cx」とが関連づけられてＩＤ管理テーブル４２に保存される。
なお、このＩＤ管理テーブル４２もまた、上記のファイル名管理テーブル４１と同様に、必ずしも表形式のようなテーブル構造である必要はない。
【００２５】
次に、ＣＰＵ２（分散配置部１５）は、暗号化されたサブデータ「A」、「B」、「C」にそれぞれのサブＩＤ「00Ax」、「00Bx」、「00Cx」を付与（ラベル付け）し、その各々を対象ネットワークに含まれる記憶サーバのうち、それぞれ異なる記憶サーバ（記憶サーバ６のサブデータ保存部６４）に格納する（ステップＳ５）。サブデータの格納先となる記憶サーバは、そのサブデータ保存部６４に十分な空き容量がある限り、ＣＰＵ２が任意に選択すればよい。また、冗長性を持たせるために、同一のサブデータを複数の記憶サーバに格納してももちろん構わない。ここでは、サブデータ「A」が記憶サーバ６ｂ、サブデータ「B」が記憶サーバ６ｄ、サブデータ「C」が記憶サーバ６ｅにそれぞれ格納されたものとする。
【００２６】
以上のようにして、本実形態では、親データが複数の記憶サーバに安全に格納される。なお、セキュリティ性を一層高めるために、親データがユーザ端末７より送られてきた時点で、つまり親データの分割を行う前にＣＰＵ２（データ暗号化部１８）がその親データを暗号化しても構わない。
【００２７】
[データ格納先の管理]
上記のように、管理サーバ１には親ファイル名及び親ＩＤの関係を示すファイル名管理テーブル４１と、親ＩＤとサブＩＤとの関係を示すＩＤ管理テーブル４２が設けられる。通常は、ファイル名管理テーブル４１及びＩＤ管理テーブル４２は重要な情報であるから、管理サーバ１において暗号化又は隠蔽化され、所定のユーザ以外は見ることができないように構成しておく。
【００２８】
しかし、ファイル名管理テーブル４１及びＩＤ管理テーブル４２の情報だけではサブファイルがどの記憶サーバに保存されているかが不明である。本発明に係るデータ管理システムでは、サブファイルの格納先を、複数の記憶サーバ６で構成される対象ネットワーク間で転送される所定のパケット、セル又はフレーム（以下、適宜単に「パケット」と称する）に保存することによって管理する。
以下、各記憶サーバ６のＣＰＵ６０が記憶サーバ用プログラム６５を実行することにより行われる格納先情報保持処理について、その概念図である図６を参照しつつ説明する。
【００２９】
パケットには、サブＩＤと、サブＩＤに対応するサブデータの格納先とから成る格納先情報が記憶される。このパケットは最初（すなわち、格納先情報が何も含まれていないパケット）、管理サーバ１が生成してもよいし、ある記憶サーバ６が生成しても構わない。
パケットが他の記憶サーバ６より転送されてくると、ＣＰＵ６０（格納先情報暗号化部６８）はパケットに含まれている格納先情報の暗号化を解除する。ＣＰＵ６０（格納先情報更新部６７）は、自身のサブデータ保存部６４に保存されているサブデータのＩＤと、その格納先（自身のアドレス等）とをパケットに書き込むことにより、情報の更新を行う。既に書き込まれている場合には、書き込みを行わない、若しくは上書きする。
サブデータの取り出しが行われ、サブデータ保存部６４に最早サブデータが格納されなくなった場合には、格納先情報に含まれている、サブデータのＩＤと、自身のアドレス先とを消去する。
【００３０】
次いで、格納先情報暗号化部６８が格納先情報の暗号化を行った後、格納先情報保持部６６が、そのパケットを対象ネットワーク内の次の記憶サーバ６（例えば対象ネットワーク内で直近にある記憶サーバ）に対して転送する。
自身のサブデータ保存部６４に保存されているサブデータに変化が無い場合、若しくは引き続きサブデータ保存部６４には何も保存されていない状態である場合には、ＣＰＵ６０は転送されてきたパケットの暗号化を解除することなく、パケットを次の記憶サーバ６に対して転送してもよい。
【００３１】
パケットの転送先は適宜に設定しておき、パケットが対象ネットワークを構成する全ての記憶サーバを経由するようにする。また、ある記憶サーバ６との通信が行えない場合には、格納先情報保持部６６は、通信可能な他の記憶サーバ６へパケットを転送することにより、転送が停止しないようにする。
【００３２】
上記の処理を各記憶サーバ６が行うことにより、対象ネットワーク内を転送されるパケットには、最新の格納先情報が記憶されることになる。対象ネットワークを構成する記憶サーバの数を適宜に設定しておく（例：254台以下）ことにより、パケットがネットワークを一周回するのに要する時間を極めて短時間とすることができる。
【００３３】
パケット、セル又はフレームは、ＴＣＰ／ＩＰに則って、又はＯＳＩ参照モデルのネットワーク層及び／又はトランスポート層のプロトコルに則って送受信されるようにするのが好適である。
これにより、スリーウェイハンドシェイク型の呼応に情報を付与して送信できるので、転送相手先となる記憶サーバを確実に認識してから送受信することが可能となる。相手先記憶サーバが存在しない場合には、隣接している相手先サーバに対して情報を送信できることになり、ネットワーク遅延の所以であるあて先不明通信を無くすことにより正確な送受信が可能となる。
また、そもそも、パケット、セル又はフレーム内部に情報を含めるという事は、これらの通信体の空きエリアに情報を搭載することに他ならない。従ってこれは既存のネットワーク技術をそのまま流用することになり、データ通信による通信劣化を防ぐことが可能となる。
従って、パケットの転送速度が高速化される。
【００３４】
[データの取り出し]
親データを取り出す処理について、図７のフローチャートを参照しつつ説明する。図７は、管理サーバ１のＣＰＵ２が管理サーバ用プログラム４３を実行することにより行われる、及び、記憶サーバ６のＣＰＵ６０が記憶サーバ用プログラム６５を実行することにより行われるデータ取出処理のフローを示している。
【００３５】
まず、ユーザがユーザ端末７を操作することによって、管理サーバ１のユーザ認証部１９によるユーザ認証を経た後に、親データの取り出しを要求する命令であるデータ取出要求を管理サーバ１に対して送信する（開始）。このデータ取出要求には、親データのファイル名が含まれる。データ取出要求に含まれる親データのファイル名は、本例では「MAIN」であるものとする。
【００３６】
管理サーバ１のＣＰＵ２（データ回収命令部１６）は、データ取出要求の入力を受けると、ファイル名管理部を参照する（すなわち、ファイル名管理テーブル４１を参照する）ことによりファイル名「MAIN」に対応する親ＩＤ「001x」を取り出す（ステップＳ１１）。
次いでデータ回収命令部１６は、ＩＤ管理部１４を参照する（すなわち、ＩＤ管理テーブル４２を参照する）ことにより、親ＩＤ「001x」に対応する複数のサブＩＤである「00Ax」、「00Bx」、「00Cx」を取り出す（ステップＳ１２）。
さらに、データ回収命令部１６は、記憶サーバ６の任意の一つ（例えばネットワーク的に最も近い位置にある記憶サーバ６）にサブＩＤがそれぞれ「00Ax」、「00Bx」、「00Cx」であるサブデータの格納先を問い合わせる命令を送信する（ステップＳ１３）。
【００３７】
一方、上記ステップＳ１３で生成されたサブデータの格納先の問い合わせ命令を受信した記憶サーバ６のＣＰＵ６０（格納先照合部６９）は、対象ネットワークを転送されて来るパケット、セル又はフレームを受信すると、それに含まれる格納先情報を参照することにより、サブＩＤ「00Ax」、「00Bx」、「00Cx」のそれぞれに対応するサブデータ「A」、「B」、「C」の格納先が、サーバ６ｂ、サーバ６ｄ、サーバ６ｅである旨を管理サーバ１に通知する（ステップＳ２１）。
【００３８】
管理サーバ１のＣＰＵ２（親データ復元部１７）は、上記ステップＳ２１において記憶サーバ６から通知された各サブデータの格納先からサブデータ「A」、「B」、「C」を回収する（ステップＳ１４）。次いでＣＰＵ２はサブデータを復号化（ステップＳ１５）した後、各サブデータから親データ「MAIN」を復元する（ステップＳ１６：図８の概念図参照）。その後ＣＰＵ２はステップＳ１７において、復元が完了した親データ「MAIN」をユーザ端末１７に送信する。
【００３９】
以上、本発明に係るデータ管理システムについて具体例を挙げつつ説明を行ったが、上記の説明は一例に過ぎないことは明らかであり、適宜に改良や変更が可能であることは言うまでもない。以下に変形例を幾つか挙げる。
【００４０】
[ハッシュ値によるデータ欠損・改竄検出]
ＩＤ生成部１２が生成する親ＩＤやサブＩＤが、ハッシュ関数を用いて算出されるハッシュ値である場合には、そのハッシュ値を利用して、回収したサブデータや、復元後の親データに欠損が生じていたり、改竄されていたりしないかどうかを確認することが可能である。
この場合、管理サーバ１の親データ復元部１７が、記憶サーバ６より通知された各サブデータの格納先から各サブデータを回収した後、該各サブデータのハッシュ値を算出する。そして、算出したサブデータのハッシュ値と、予め各サブデータに付与されているサブＩＤとが一致するかどうかを見る。もちろん、算出したサブデータのハッシュ値とＩＤ管理部１４（ＩＤ管理テーブル４２）に記憶されているサブＩＤとが一致するか否かを確認してもよい。そして、両者が一致する場合にのみ該回収した複数のサブデータから親データを復元する。
【００４１】
サブデータのハッシュ値を確認するだけでなく、親データに関しても同様に、ハッシュ値を確認することによって、データの欠損・改竄検出の効果を高めることもできる。この場合は、親データ復元部１７が、各サブデータから親データを復元した後、復元された親データのハッシュ値を算出する。この算出されたハッシュ値と、ファイル名管理部１３（ファイル名管理テーブル４１）に記憶されている親ＩＤとが一致するか否かを確認する。算出されたハッシュ値と、ＩＤ管理部１４（ＩＤ管理テーブル４２）に記憶されている親ＩＤとが一致するか否かを確認してももちろん構わない。そして、親データ復元部１７は、両者が一致する場合にのみ復元された親データを利用可能にする。
【００４２】
なお、ハッシュ値によってデータの欠損・改竄の確認を行う場合には、各ハッシュ値は同一のハッシュ関数によって算出されねばならないことは言うまでもない。
【００４３】
[サブデータの復元]
先に述べた実施形態では、親データを復元するために管理サーバ１が所定の記憶サーバ６に対してデータ取出要求を送信すると、記憶サーバ６の格納先照合部６９は、管理サーバ１に対してサブデータの格納先を通知する。
この変形例では、データ取出要求を受けると、記憶サーバ６の格納先照合部６９が、パケットの格納先情報を参照することによって、データ取出要求に含まれる複数のサブＩＤに対応するサブデータの格納先を特定し、格納先である複数の記憶サーバに対して、管理サーバ１へサブデータを送信する命令であるサブデータ回収命令を送信する構成としてもよい。このサブデータ回収命令は、格納先情報を有するパケットに含めておいても良いし、このパケットとは別に直接、格納先である各記憶サーバに対して送信しても良い。
一方、管理サーバ１の親データ復元部１７は、各記憶サーバより送信されてきた複数のサブデータから親データを復元する。
【図面の簡単な説明】
【００４４】
【図１】管理サーバの構成を示す模式図。
【図２】記憶サーバの構成を示す模式図。
【図３】本発明に係るデータ管理システムの全体構成を示す模式図。
【図４】管理サーバが実行するデータ保管処理のフローチャート。
【図５】親データが分割される処理の概念図。
【図６】格納先情報保持処理の概念図。
【図７】管理サーバ及び記憶サーバが実行するデータ取出処理のフローチャート。
【図８】サブデータから親データを復元する処理の概念図。
【符号の説明】
【００４５】
１…管理サーバ
２…ＣＰＵ
３…メモリ
４…記憶部
４１…ファイル名管理テーブル
４２…ＩＤ管理テーブル
４３…管理サーバ用プログラム
１１…データ分割部
１２…ＩＤ生成部
１３…ファイル名管理部
１４…ＩＤ管理部
１５…分散配置部
１６…データ回収命令部
１７…ユーザ端末
１７…親データ復元部
１８…データ暗号化部
１９…ユーザ認証部
５…ネットワークインターフェース
６…記憶サーバ
６０…記憶サーバＣＰＵ
６１…記憶サーバメモリ
６２…記憶サーバネットワークインターフェース
６３…記憶サーバ記憶部
６４…サブデータ保存部
６５…記憶サーバ用プログラム
６６…格納先情報保持部
６７…格納先情報更新部
６８…格納先情報暗号化部
６９…格納先照合部
７…ユーザ端末
【図１】
2008146342.tif 000003
【図２】
2008146342.tif 000004
【図３】
2008146342.tif 000005
【図４】
2008146342.tif 000006
【図５】
2008146342.tif 000007
【図６】
2008146342.tif 000008
【図７】
2008146342.tif 000009
【図８】
2008146342.tif 000010