(57)【要約】  データの分散元である情報処理装置に分散管理情報を有さず、分散データがいずれのサーバ等に保管されているかに影響を受けずにデータの分散保管を行うことを可能とするデータ分散管理システムである。本発明の代表的な実施の形態は、元データと１つ以上の分散データとの対応付けに係る処理を行う分散データ処理部と、元データを識別して特定可能とする識別情報を生成し、元データに対応する識別情報を含むポインタファイルを生成するポインタファイル処理部と、元データに対応する識別情報がそれぞれ付加された元データに対応する各分散データをそれぞれ異なる情報処理装置に送信する分散処理部とを有するデータ分散装置と、データ分散装置から送信された分散データを記憶装置に格納する分散保管部を有する情報処理装置からなる。
2013065544.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を有する複数の情報処理装置と、前記各情報処理装置とネットワークを介して接続され、元データに対応して一括して取り扱われる１つ以上の分散データを前記情報処理装置の前記記憶装置にそれぞれ分散保管するデータ分散装置とを有するデータ分散管理システムであって、
前記データ分散装置は、
前記元データと１つ以上の前記分散データとの対応付けに係る処理を行う分散データ処理部と、
前記元データを識別して特定可能とする識別情報を生成し、前記元データに対応する、前記識別情報を含むポインタファイルを生成するポインタファイル処理部と、
前記元データに対応する前記識別情報がそれぞれ付加された、前記元データに対応する前記各分散データを、それぞれ異なる前記情報処理装置に送信する分散処理部とを有し、
前記各情報処理装置は、
前記データ分散装置から送信された前記分散データを、前記記憶装置に格納する分散保管部を有することを特徴とするデータ分散管理システム。
【請求項２】
請求項１に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記ポインタファイルが有する前記識別情報の全部または一部を指定して、前記各情報処理装置に対して、前記識別情報の指定された部分に対応する前記分散データを保持しているか否かを問い合わせる第１のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第１のメッセージに指定された前記識別情報の指定された部分に合致する前記識別情報を含む前記分散データが自身の前記記憶装置に保管されているかを検索し、保管されている場合は該当する前記分散データを前記データ分散装置に送信し、
前記データ分散装置の前記分散データ処理部は、
前記各情報処理装置から送信された前記分散データに基づいて対応する前記元データを取得することを特徴とするデータ分散管理システム。
【請求項３】
請求項２に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記識別情報の全部または一部の値を指定して、前記各情報処理装置に対して、対応する前記分散データの使用を制限する旨の第２のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第２のメッセージに指定された前記識別情報の指定された部分の情報をロックリストに登録し、さらに、前記第１のメッセージに指定された前記識別情報の指定された部分に合致する前記識別情報を含む前記分散データを検索する際に、前記分散データに含まれる前記識別情報が前記ロックリストに登録された内容を含む場合には、該当する前記分散データの使用を制限することを特徴とするデータ分散管理システム。
【請求項４】
請求項１〜３のいずれか１項に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記識別情報のうちの前記ユーザを特定する値を指定して、前記各情報処理装置に対して、対応する前記識別情報を保持しているか否かを問い合わせる第３のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第３のメッセージに指定された前記ユーザを特定する値に合致する前記識別情報を含む前記分散データが自身の前記記憶装置に保管されているかを検索し、保管されている場合は、該当する前記分散データに含まれる前記識別情報を前記データ分散装置に送信し、
前記データ分散装置の前記ポインタファイル処理部は、
前記各情報処理装置から送信された前記識別情報に基づいて対応する前記ポインタファイルを復元することを特徴とするデータ分散管理システム。
【請求項５】
請求項１〜４のいずれか１項に記載のデータ分散管理システムにおいて、
前記識別情報は、前記元データ全体を識別するＩＤ情報と、前記元データが編集された際のバージョン毎の前記元データを識別するＩＤ情報と、前記元データの作成もしくは編集を行ったユーザを識別するＩＤ情報とを含むことを特徴とするデータ分散管理システム。
【請求項６】
請求項１〜５のいずれか１項に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散データ処理部は、
前記元データから秘密分散法により複数の前記分散データを生成し、また、複数の前記分散データから前記秘密分散法により前記元データを復元することを特徴とするデータ分散管理システム。
【請求項７】
請求項１〜６のいずれか１項に記載のデータ分散管理システムにおいて、
前記各情報処理装置の前記分散保管部は、
前記データ分散装置から送信された、前記元データに対応する前記分散データを前記記憶装置に格納する際に、前記元データに対応する過去の前記分散データが存在する場合は、過去の前記分散データを残した上で格納することを特徴とするデータ分散管理システム。
【請求項８】
請求項７に記載のデータ分散管理システムにおいて、
前記各情報処理装置の前記分散保管部は、
所定のタイミングで、所定の世代数よりも過去の前記元データに対応する前記分散データを削除することを特徴とするデータ分散管理システム。
【請求項９】
請求項８に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された保存対象のバージョンの前記元データを特定する情報を指定して、前記各情報処理装置に対して、該当する前記元データに対応する前記分散データの削除を制限する旨の第４のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第４のメッセージに指定されたバージョンの前記元データを特定する情報をリストに登録し、さらに、所定の世代数よりも過去の前記元データに対応する前記分散データを削除する際に、前記分散データに含まれる前記識別情報が前記リストに登録された前記元データを特定する情報を含む場合には、該当する前記分散データの削除を制限することを特徴とするデータ分散管理システム。
【請求項１０】
請求項１〜９のいずれか１項に記載のデータ分散管理システムにおいて、
前記データ分散装置は、
複数のファイルサーバもしくは複数の仮想ファイルサーバにより構成されることを特徴とするデータ分散管理システム。
【請求項１１】
請求項１〜１０のいずれか１項に記載のデータ分散管理システムにおいて、
前記識別情報は、さらに、前記元データについての属性情報を含み、
前記データ分散装置の前記分散処理部は、
前記各情報処理装置に対して設定されたアクセス権の情報と、前記分散データに付加された前記識別情報のうちの前記属性情報とに基づいて、前記分散データを保管することができる前記情報処理装置を選択することを特徴とするデータ分散管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの保管技術に関し、特に、１つ以上のデータを異なるサーバ等に分散保管するデータ分散管理システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
近年では、情報セキュリティの観点から、ユーザが利用するＰＣ（Personal Computer）等の情報処理装置において保持や処理されるファイル等のデータの取り扱いが重要視されている。特に、ノート型ＰＣに加えて、ビジネス上での利用が拡がりつつあるいわゆるスマートフォンやタブレット型ＰＣなどの携帯型端末では、これらの端末自体の盗難や紛失等に伴う情報漏洩のリスクを考慮する必要がある。【０００３】
これに対して、端末内の重要データを含むデータを、セキュリティ対策が施された外部のデータセンターやサーバ等に保管するようないわゆるシンクライアント化等により、端末の紛失等に伴う情報漏洩のリスクを低減することが考えられる。このとき、重要データをそのまま外部のサーバ等に保管するのではなく、例えば、非特許文献１等に記載されているようないわゆる秘密分散の技術を利用して、重要データをそれだけでは意味のない（重要データを復元・推測できない）非重要データに分割し、これら非重要データを外部の複数のサーバ等に分散保管するようにすることも提案されている。これにより、例えば、クラウドコンピューティング環境における仮想データセンターや仮想サーバなどに保管するような場合においても情報漏洩のリスクを低減させることが可能である。【０００４】
また、秘密分散の技術により重要データを複数のデータに分割した場合、分割データの一部が滅失した場合でも、所定の個数以上の分割データを集めることができれば元の重要データを復元できることから、データの可用性を向上させることもできる。例えば、いわゆる（ｋ，ｎ）閾値型の秘密分散により、重要データからｎ個の分割データを生成した場合、ｋ個以上の分割データを集めることができれば重要データを復元することができる。換言すれば、（ｎ−ｋ）個までの分割データの滅失には耐えることが可能である。このような可用性の高さを利用して、分割データを遠隔地の複数の拠点に分散保管することで元の重要データのバックアップとして利用するということも検討されている。【０００５】
このように、例えば秘密分散によって生成された分割データなど、一括して取り扱われる複数のデータを他の複数のサーバ等にセキュリティの観点やバックアップの観点等から分散保管する場合、通常は、データの分散元である各ユーザの情報処理装置や、ファイルサーバなどの特定の管理サーバなどが、どのデータをどのサーバ等に保管したかという所在の情報を含む管理情報（以下では「分散管理情報」と記載する場合がある）を保持する。各サーバ等に分散保管された分散データを収集する際には、この分散管理情報を参照することで、必要な分散データがどのサーバ等に保管されているかを特定し、直接対象のサーバ等にアクセスして必要な分散データを収集する。【０００６】
例えば、特開２００７−２１３４０５号公報（特許文献１）には、情報管理コンピュータで、割符ファイルを納める割符フォルダＡ、Ｂ、・・と、復元ファイルを納める復元先フォルダと、割符オブジェクトファイルを納める割符オブジェクトフォルダと、復元エンジンプログラムと分割エンジンプログラムを納めた割符エンジンフォルダを備え、割符アプリケーションにそれが読込める範囲であるデコード境界の情報を含む割符パラメータを、割符オブジェクトファイルＡ、Ｂ、・・に割符ファイル名称・格納位置と復元先フォルダのオブジェクト情報を納め、割符ファイルの格納位置とデコード境界に基づいて割符ファイルを直接収集して復元ファイルを生成し、復元先フォルダに格納してオープンすることで、秘密分散法による分散ファイルを効率的に探し出して元データを復元する分散情報ファイル管理手段が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２１３４０５号公報
【非特許文献】
【０００８】
【非特許文献１】A.Shamir、"How to Share a Secret"、Communications of the ACM、vol.22 no.11 pp.612-613、1979.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１などに記載されたような、従来のデータの分散保管の手法では、データの分散元の情報処理装置や、ファイルサーバ等の特定の管理サーバなどが、重要データ（具体的には、重要データに関連する１つ以上の分散データ）に係る分散管理情報を保持することから、セキュリティの観点で課題を有する。すなわち、例えばデータの分散元である携帯型端末等が、重要データに係る分散管理情報を保持している状態で盗難や紛失等にあった場合、第三者に分散管理情報が閲覧されてしまうことで、重要データに関連する分散データの所在に関する情報（分散データを保管する各サーバ等のホスト名やネットワークアドレス、ＵＲＬ（Uniform Resource Locator）等、分散データにアクセスするための情報）を得られてしまうリスクを有する。【００１０】
また、データの分散元の情報処理装置において分散管理情報を保持する場合、例えば、分散保管する先のサーバ等が障害で使用不可になった等の理由で分散先のサーバ等を変更することが必要となった場合に、データの分散元の各情報処理装置において、新たな保管先のサーバ等の情報により、個別に分散管理情報の内容をそれぞれ書き換える必要が生じる。例えば、分散先のサーバ等を、クラウドコンピューティングサービスによる仮想サーバとするような場合には、仮想サーバがいつ停止されるか不明な状態で運用せざるを得ず、分散先の仮想サーバを変更する都度、分散元の各情報処理端末において分散管理情報の内容を書き換えることは運用負荷が高くなってしまう。【００１１】
また、例えばデータの分散元である携帯型端末等をユーザが紛失等したために、他の情報処理装置を利用して分散データ（分散データに対する元の重要データ）にアクセスしようとする場合や、ユーザが別な事業所や出張先などで通常とは異なる情報処理装置から分散データにアクセスしようとする場合などでは、ユーザの情報処理装置上には対象の重要データ（重要データに対する分散データ）に係る分散管理情報がないことになる。このため、各分散データがどのサーバ等に分散保管されているかを把握することができず、分散データにアクセスすることができなくなってしまい、柔軟性を欠く。【００１２】
そこで本発明の目的は、データの分散元である情報処理装置に分散管理情報を有さず、また、分散データがいずれのサーバ等に保管されているかに影響を受けずにデータの分散保管を行うことを可能とするデータ分散管理システムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。【００１４】
本発明の代表的な実施の形態によるデータ分散管理システムは、記憶装置を有する複数の情報処理装置と、前記各情報処理装置とネットワークを介して接続され、元データに対応して一括して取り扱われる１つ以上の分散データを前記情報処理装置の前記記憶装置にそれぞれ分散保管するデータ分散装置とを有するデータ分散管理システムであって、以下の特徴を有するものである。【００１５】
すなわち、前記データ分散装置は、前記元データと１つ以上の前記分散データとの対応付けに係る処理を行う分散データ処理部と、前記元データを識別して特定可能とする識別情報を生成し、前記元データに対応する、前記識別情報を含むポインタファイルを生成するポインタファイル処理部と、前記元データに対応する前記識別情報がそれぞれ付加された、前記元データに対応する前記各分散データを、それぞれ異なる前記情報処理装置に送信する分散処理部とを有することを特徴とする。また、前記各情報処理装置は、前記データ分散装置から送信された前記分散データを、前記記憶装置に格納する分散保管部を有することを特徴とする。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００１７】
本発明の代表的な実施の形態によれば、データの分散元である情報処理装置に分散管理情報を有さず、また、分散データがいずれのサーバ等に保管されているかに影響を受けずにデータの分散保管を行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１であるデータ分散管理システムの構成例について概要を示した図である。
【図２】本発明の実施の形態１におけるポインタファイルおよび分散データに付加される識別情報の内容について例を示した図である。
【図３】本発明の実施の形態１における元データと複数の分散データを対応付けしてこれらを分散保管する際の処理の例について概要を示した図である。
【図４】本発明の実施の形態１における複数の分散データを収集して、これらから元データを得る際の処理の例について概要を示した図である。
【図５】本発明の実施の形態１における分散データの使用をロックして元データおよび対応する分散データの取得を制限する際の処理の例について概要を示した図である。
【図６】本発明の実施の形態１におけるデータ分散装置上にポインタファイルを有さない場合にこれを復元する際の処理の例について概要を示した図である。
【図７】本発明の実施の形態２であるデータ分散管理システムの構成例について概要を示した図である。
【図８】本発明の実施の形態３であるデータ分散管理システムの構成例について概要を示した図である。
【図９】本発明の実施の形態３におけるポインタファイルおよび分散データに付加される識別情報の内容について例を示した図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２０】
＜実施の形態１＞
本発明の実施の形態１であるデータ分散管理システムは、重要データなどの元データに対応して一括して取り扱われる複数の分散データを他のデータセンターやサーバ等の記憶装置に分散保管するシステムであり、各分散データがいずれのデータセンターやサーバ等に保管されているかという所在に係る情報を含む分散管理情報を有さないものである。本実施の形態では、上記のような分散管理情報の代わりに、データの分散保管を行うデータ分散装置が、各元データを識別する識別情報を生成して保持するとともに、各分散データのヘッダ情報に当該識別情報を付加することで、各分散データが保管されているデータセンターやサーバ等の所在に係る情報を要さずに、必要な分散データの収集を可能とするものである。
【００２１】
ここで、元データに対応して一括して取り扱われる１つ以上の分散データとは、対象の元データに対するユーザからの一回の保存や閲覧・参照等の処理要求に対して、まとめて取得や保存、表示などの処理が行われる１つ以上のデータを指す。本実施の形態では、例えば、元データである重要データから秘密分散処理によって生成された複数の分割データをそれぞれ分散データとする場合の例を示しているが、これに限るものではない。
【００２２】
例えば、業務アプリケーション等において、ユーザにより作成されたプロジェクトや案件等の管理データに対し、当該業務アプリケーションにより生成された一連の関連ファイル群や、ユーザにより指定された一連の作業ファイル群等を、それぞれ分散データとしてサーバ等に分散保管するようなものであってもよい。なお、元データに対する分散データが１つ（例えば対象の元データそのもの）であってもよい（リモートコピーやバックアップとしての利用形態）。
【００２３】
データ分散装置が各データセンターやサーバ等から必要な分散データを収集する際は、データ分散装置は、元データに係る識別情報の全部もしくは一部を指定して、各データセンターやサーバ等に対して、当該元データに対応する分散データを保持しているか否かを問い合わせるメッセージをブロードキャスト（もしくはマルチキャスト）する。当該メッセージに対して、対象の分散データを保持しているデータセンターやサーバ等が、対象の分散データをデータ分散装置に応答することで、データ分散装置は、各分散データの保管場所に係る分散管理情報を要さずに必要な分散データを収集することができる。
【００２４】
これにより、データ分散装置が携帯型端末であるような場合は特に、データ分散装置が盗難や紛失等にあった場合に、分散管理情報が第三者に取得されてしまうことによって、各分散データの保管場所に係る情報が知られてしまい、分散データにアクセス可能となってしまうリスクを回避することができる。また、各分散データがいずれのデータセンターやサーバ等に保管されているかという点に依存せず、容易に各分散データの保管場所を変更することができるため、システムの可用性・柔軟性を向上させることが可能となる。
【００２５】
また、本実施の形態では、データ分散装置上に識別情報を有していなくても、データ分散装置は、各データの識別情報を復元することができる。例えば、ユーザＩＤ等のユーザを識別する情報がユーザにより与えられると、データ分散装置は、当該ユーザに係る識別情報を問い合わせるメッセージをブロードキャスト（もしくはマルチキャスト）する。対象の識別情報を有する分散データを有しているデータセンターやサーバ等が、対象の識別情報をデータ分散装置に応答することで、データ分散装置は、当該ユーザが使用可能な各データに対応する識別情報を取得・復元することができ、この識別情報に基づいて、対応する分散データを収集することが可能となる。
【００２６】
これにより、データ分散装置が盗難や紛失等にあった場合や、出張等で他の端末を利用する場合など、当初のデータ分散装置とは異なる情報処理装置を新たにデータ分散装置として利用する場合であっても、容易に識別情報を復元して分散データにアクセスし、業務を継続することが可能となる。
【００２７】
［システム構成］
図１は、本発明の実施の形態１であるデータ分散管理システムの構成例について概要を示した図である。データ分散管理システム１は、データ分散装置１００と、１つ以上のサーバ２００とがインターネット等のネットワーク３００を介して互いに接続され通信可能な構成を有する。データ分散装置１００を複数有する構成であってもよい。
【００２８】
データ分散装置１００は、ＰＣや携帯型端末等の情報処理装置によって構成され、例えば、図示しないＯＳ（Operating System）上で動作するソフトウェアプログラムによって実装される分散データ処理部１１０、ポインタファイル処理部１２０、分散処理部１３０、およびインタフェース部１４０などの各部を有する。また、データ分散装置１００もしくはデータ分散管理システム１によるデータの分散管理サービスを利用することができるユーザに係る情報（例えばアカウント情報）を保持するデータベースやファイル、レジストリ等のデータであるユーザ情報１６０を有する。また、複数の元データ４００にそれぞれ対応して、各サーバ２００に保管されている分散データ４１０を指し示すポインタとしての機能を有するポインタファイル１５０を有する。
【００２９】
分散データ処理部１１０は、元データ４００と、これに対応して一括して取り扱われる１つ以上の分散データ４１０との対応付けに係る処理を行う。本実施の形態では、例えば、指定された元データ４００に対して、（ｋ，ｎ）閾値秘密分散法により、分散データ４１０となるｎ個の分割データを生成し、また逆に、指定されたｋ個以上の分散データ４１０を分割データとして、これらから（ｋ，ｎ）閾値秘密分散法により元データ４００を復元する公知の秘密分散ライブラリなどである。
【００３０】
なお、上述したように、分散データ４１０は、本実施の形態のように元データ４００から生成される、もしくは元データ４００に基づいて生成されるデータに限らず、元データ４００に関連付けられる既存の複数のデータであってもよい。また、分散データ４１０は１つ（例えば元データ４００そのもの）であってもよい。
【００３１】
ポインタファイル処理部１２０は、複数の元データ４００にそれぞれ対応して、これに対する分散データ４１０を指し示すポインタとしての機能を有するポインタファイル１５０を生成する。また、後述するインタフェース部１４０を介した、ポインタファイル１５０に対するユーザからの指示に基づいて、元データ４００（もしくは対応する分散データ４１０）に対する処理を行う。
【００３２】
このポインタファイル１５０は、元データ４００（ひいては対応する分散データ４１０）を指し示す機能を有するが、元データ４００の実体は有しておらず、その内容として、後述するような、元データ４００（ひいては対応する分散データ４１０）を識別して特定可能とする識別情報を有している。すなわち、ポインタファイル１５０は、元データ４００（および対応する分散データ４１０）に対するいわゆるショートカットやシンボリックリンク、エイリアスなどに類似するものである。なお、この識別情報は、分散データ処理部１１０によって生成された各分散データ４１０に対しても、ヘッダ情報等として付加する。
【００３３】
ポインタファイル処理部１２０は、この識別情報を生成するため、さらに、識別情報生成部１２１を有する。また、識別情報に含まれる各種ＩＤの値を生成するため、ＩＤ生成部１２２を有する。このＩＤ生成部１２２は、異なる複数のデータ分散装置１００との間でも重複しないユニークなＩＤ（ユニバーサルＩＤ）を生成することができる公知の機能を有するライブラリ等からなる。
【００３４】
分散処理部１３０は、分散データ処理部１１０により元データ４００と対応付けられた分散データ４１０に識別情報を付加し、所定のルールに基づいて各サーバ２００に分散保管する分散部１３１、および元データ４００に対応付けられ分散データ４１０を各サーバ２００から収集する収集部１３２を有する。また、分散データ４１０の保管先となり得るサーバ２００のリストからなるサーバリスト１３３を有していてもよい。
【００３５】
本実施の形態では、分散部１３１は、例えば、分散データ処理部１１０によって（ｋ，ｎ）閾値秘密分散法により生成され、さらにポインタファイル処理部１２０によって識別情報が付加されたｎ個の分散データ４１０を、サーバリスト１３３から選択したｎ個の異なるサーバ２００に分散保管する。サーバ２００の数がｎ個よりも多い場合は、これらの中から分散データ４１０を保管するｎ個のサーバ２００を、例えばローテーションやランダム抽出などにより選択する。
【００３６】
一方、収集部１３２は、各サーバ２００に対して、元データ４００に対応付けられた分散データ４１０を有しているか否かを問い合わせ、有しているサーバ２００から送信された分散データ４１０収集する。本実施の形態では、例えば、分散データ処理部１１０によって（ｋ，ｎ）閾値秘密分散法により元データ４００を復元するために必要となるｋ個以上の分散データ４１０を収集する。
【００３７】
各サーバ２００への問い合わせに際しては、対象の元データ４００に対応するポインタファイル１５０に含まれる識別情報の全部または一部を含むメッセージを、全てのサーバ２００に対してブロードキャスト（もしくはサーバリスト１３３にリストされている各サーバ２００に対してマルチキャスト）する。なお、ブロードキャスト（マルチキャスト）のプロトコルとしては、公知の技術を適宜利用することができる。
【００３８】
インタフェース部１４０は、データ分散装置１００における画面表示等のユーザインタフェースなどの入出力機能を有する。ユーザは、例えば、一般的なＯＳが有するファイル管理用の画面やアプリケーション等を利用して、データ分散管理システム１の機能を利用することができる。
【００３９】
例えば、ファイル管理用のアプリケーションにおいて元データ４００を特定のフォルダ等にドラッグ＆ドロップなどの簡易な操作により移動する。これをトリガとして、分散データ処理部１１０により分散データ４１０を生成し、これを分散処理部１３０によって各サーバ２００に分散保管する。さらに、ポインタファイル処理部１２０により、当該元データ４００に対応するポインタファイル１５０を生成し、特定のフォルダ等の元データ４００と置き換える。その後は、ユーザからの元データ４００に対する参照等のアクセスは、特定のフォルダ等に配置されたポインタファイル１５０に対して行われる。
【００４０】
ユーザが、特定のフォルダ等においてポインタファイル１５０に対して参照等の指示を行うと、ポインタファイル処理部１２０により、当該ポインタファイル１５０によって特定される元データ４００に対応付けられた分散データ４１０を、分散処理部１３０によって各サーバ２００から収集する。さらに、本実施の形態のように必要な場合には、収集した分散データ４１０から分散データ処理部１１０により元データ４００を復元する。その後、元データ４００もしくは分散データ４１０を関連するアプリケーションプログラム等により表示等する。これにより、ユーザに対して、あたかも元データ４００に対して保存・参照等の処理を行っているのと同等のインタフェースを提供し、分散データ４１０に係る処理を隠蔽することができる。
【００４１】
サーバ２００は、データ分散装置１００から送信された分散データ４１０を格納することができる図示しないＨＤＤ（Hard Disk Drive）等の記憶装置を有する情報処理装置であり、例えば、ファイルサーバや、ストレージサーバなどにより構成される。また、これらの情報処理装置を有するデータセンターであってもよい。また、クラウドコンピューティングサービスによる仮想サーバや仮想データセンター等であってもよい。
【００４２】
サーバ２００は、例えば、図示しないＯＳ上で動作するソフトウェアプログラムによって実装される分散保管部２１０を有する。分散保管部２１０は、データ分散装置１００から送信された分散データ４１０を記憶装置に格納する。また、データ分散装置１００からのブロードキャスト（もしくはマルチキャスト）メッセージに対して、メッセージに含まれる識別情報に合致する識別情報をヘッダ等に含む分散データ４１０を検索し、該当する分散データ４１０を有する場合は、当該分散データ４１０もしくはそのヘッダ等に含まれる識別情報をデータ分散装置１００に応答する。
【００４３】
図２は、ポインタファイル処理部１２０の識別情報生成部１２１により生成され、ポインタファイル１５０および分散データ４１０に付加される識別情報の内容について例を示した図である。識別情報１７０は、例えば、オリジナルファイルＩＤ（ＦＩＤ）１７１、カレントファイルＩＤ（ＦＩＤ）１７２、およびユーザＩＤ１７３などの情報を有する。オリジナルＦＩＤ１７１は、各バージョン（世代）を含む元データ４００（元データ４００からなるファイル）全体を一意に識別するＩＤである。このオリジナルＦＩＤ１７１は、元データ４００を最初に分散保管する際、すなわち、元データ４００から最初に分散データ４１０を生成等して、各分散データ４１０を各サーバ２００に分散保管する際に、当該元データ４００およびこれに対応する分散データ４１０を識別するために割り当てられる。
【００４４】
カレントＦＩＤ１７２は、各バージョン（世代）の元データ４００（元データ４００からなるファイル）をそれぞれ一意に識別するＩＤである。このカレントＦＩＤ１７２は、元データ４００を最初に分散保管して以降、当該元データに対して編集や更新を行った際に、最新のバージョン（世代）の元データ４００に対して割り当てられるＩＤである。すなわち、当初はカレントＦＩＤ１７２の値はオリジナルＦＩＤ１７１の値と同じであり、その後、元データ４００を編集等するために必要な分散データ４１０を収集し、編集後の最新の元データ４００に対して再度分散データ４１０を対応付けして、各分散データ４１０を各サーバ２００に分散保管する毎に割り当てられるＩＤである。なお、オリジナルＦＩＤ１７１の値は、最初に割り当てられた値のまま更新されないものとする。
【００４５】
従って、カレントＦＩＤ１７２は、最新の元データ４００および対応する分散データ４１０を特定するためのＩＤであるだけでなく、当該元データ４００のバージョン情報としての役割を有する。すなわち、各サーバ２００の分散保管部２１０において、編集後の最新の元データ４００に対する分散データ４１０を格納する際に、当該元データ４００の以前のバージョンに対する分散データ４１０（最新のものとはヘッダ等に含まれる識別情報１７０のカレントＦＩＤ１７２が異なる）を履歴として残しておく。これにより、各サーバ２００において複数バージョンの元データ４００に対する分散データ４１０をそれぞれ保管することになるため、ユーザに指定されたバージョンの元データ４００および対応する分散データ４１０を得ることが可能となる。
【００４６】
なお、カレントＦＩＤ１７２は異なるがオリジナルＦＩＤ１７１が同じである複数の分散データ４１０は、それぞれ、同一の元データ４００の異なるバージョンのものであると判断することができる。
【００４７】
ユーザＩＤ１７３は、当該識別情報１７０に対応するユーザ、すなわち、当該識別情報１７０に対応する元データ４００を作成・編集等したユーザを特定するＩＤである。このＩＤの情報は、例えば、ユーザ情報１６０に登録されている各ユーザのＩＤの情報と対応させることができる。
【００４８】
なお、識別情報１７０の各ＩＤは、それぞれ、データ分散管理システム１内で重複しないユニークなＩＤである必要がある。従って、これらのＩＤは、例えば、ポインタファイル処理部１２０のＩＤ生成部１２２によって生成されたＩＤ（ユニバーサルＩＤ）とすることができる。なお、ユーザＩＤ１７３については、例えば、ユーザ情報１６０に格納された各ユーザのアカウント情報におけるユーザのＩＤを利用してもよいし、これに、部署や企業等のユーザが属する組織やグループ、データ分散管理システム１によって提供されるデータ管理サービスの契約単位などを識別する情報を付加することで、データ分散管理システム１内でユニークなＩＤとなるようにしてもよい。
【００４９】
［処理フロー（分散保管）］
図３は、元データ４００と複数の分散データ４１０を対応付けしてこれらを分散保管する際の処理の例について概要を示した図である。データ分散装置１００において、インタフェース部１４０を介してユーザから元データ４００の保存の指示を受けると、まず、分散データ処理部１１０によって、元データ４００から１つ以上の分散データ４１０を生成する（Ｓ０１）。本実施の形態では、上述したように例えば、元データ４００から（ｋ，ｎ）閾値秘密分散法により、ｋ個以上集めなければ元データ４００を復元することができないｎ個の分散データ４１０を生成する。これにより、元データ４００とｎ個の分散データ４１０が対応付けられることになる。
【００５０】
次に、ポインタファイル処理部１２０によって、当該元データ４００に対する識別情報１７０を生成し（Ｓ０２）、さらに当該識別情報１７０を含むポインタファイル１５０を生成する（Ｓ０３）。ここでは、上述したように例えばＩＤ生成部１２２等によって、識別情報１７０における各ＩＤの情報を生成し、識別情報生成部１２１によって、これら各ＩＤからなる識別情報１７０を生成する。さらに、ポインタファイル処理部１２０が、当該識別情報１７０の内容を含むポインタファイル１５０を生成する。このとき例えば、ポインタファイル１５０のファイル名（拡張子除く）を元データ４００と同じファイル名とする等により、ユーザが元データ４００に対応するポインタファイル１５０を容易に識別できるようにする。
【００５１】
なお、当該元データ４００が過去に既に分散保管されており、対応するポインタファイル１５０および識別情報１７０を既に有しているものである場合（すなわち、当該元データ４００に対して編集を行った後に再度分散保管を行う場合）には、ステップＳ０２において既存の識別情報１７０内のカレントＦＩＤ１７２のみを新たに生成して更新する（オリジナルＦＩＤ１７１は更新せずにそのままとする）ようにしてもよい。このとき、更新した最新のカレントＦＩＤ１７２の内容と合わせて、既存のカレントＦＩＤ１７２の内容を、過去のバージョン履歴として残すようにしてもよい。
【００５２】
次に、ステップＳ０１で生成した各分散データ４１０のヘッダ等に、ステップＳ０２で生成もしくは更新した識別情報１７０の内容を付加もしくは更新した上で、分散処理部１３０の分散部１３１により、各分散データ４１０をそれぞれ異なる複数のサーバ２００（図３の例ではサーバＡ（２００ａ）とサーバＢ（２００ｂ））に分散保管のため送信する（Ｓ０４）。複数のサーバ２００の選択は、上述したように、例えば、サーバリスト１３３に登録されたサーバ２００からローテーションやランダム抽出などにより選択する。本実施の形態では、分散データ処理部１１０によって生成されたｎ個の分散データ４１０を保管するｎ個のサーバ２００を選択する。このとき、各サーバ２００に対して分散データ４１０の保管が可能か否かを問い合わせる処理を行ってもよい。
【００５３】
分散データ４１０を受信した各サーバ２００では、それぞれ、分散保管部２１０により記憶装置に分散データ４１０を格納する（Ｓ０５）。このとき、過去のバージョンの元データ４００に対応する分散データ４１０が存在する場合は、これを残した上で格納するようにしてもよい。この場合、さらに、過去のバージョンの元データ４００に対応する分散データ４１０を削除して整理し（Ｓ０６）、一連の処理結果をデータ分散装置１００に応答する。
【００５４】
ステップＳ０６では、例えば、分散保管部２１０により、新たに格納する最新の分散データ４１０のヘッダ等に含まれる識別情報１７０のオリジナルＦＩＤ１７１と同じオリジナルＦＩＤ１７１を含む識別情報１７０を有する分散データ４１０（すなわち、同一の元データ４００の異なるバージョンに対応する分散データ４１０）を検索する。検索された分散データ４１０の数が所定の数（保管可能な世代数）よりも多い場合は、最古の分散データ４１０から順に所定の世代数になるまで削除する。なお、分散データ４１０の新旧は、例えば、分散データ４１０からなるファイルに付されたタイムスタンプ等により把握することができる。
【００５５】
ステップＳ０６での古い分散データ４１０の削除処理は、上述したように、ステップＳ０５での分散データ４１０の格納の都度行うようにしてもよいし、各サーバ２００において所定の時刻に定期的に起動されるバッチプログラム等により、全ての分散データ４１０に対して一括して行うようにしてもよい。なお、後述するＩＤのロックの手順と同様の手順により、分散データ４１０の特定のバージョン（すなわち、特定のカレントＦＩＤ１７２を含む識別情報１７０を有する分散データ４１０）については、削除されないようロックすることも可能である。
【００５６】
各サーバ２００での分散保管が完了すると、データ分散装置１００は、分散部１３１により、分散保管処理が正常に完了したか否かを判定する（Ｓ０７）。例えば、本実施の形態では、ｎ個の分散データ４１０をｎ個のサーバ２００に正常に保管できたか否かを判定する。正常に保管できなかった分散データ４１０がある場合は、別なサーバ２００を選択して全ての分散データ４１０が保管できるまでステップＳ０４〜Ｓ０６の処理を再試行するようにしてもよい。また、保管が可能なサーバ２００がもはや存在しなくなった場合は、分散保管処理をエラーとして終了させるようにしてもよい。なお、このとき、既に行った処理をロールバックするようにしてもよい。
【００５７】
分散保管処理が正常に完了すると、データ分散装置１００は、データ分散装置１００上に保持する元データ４００および生成された分散データ４１０を削除し（Ｓ０８）、処理を終了する。データ分散装置１００上のこれらのデータを削除することで、データ分散装置１００自体の盗難や紛失等に対して、元データ４００（および対応する分散データ４１０）が漏洩することを回避することが可能となる。
【００５８】
また、データ分散装置１００上に保持するポインタファイル１５０には、元データ４００（および対応する分散データ４１０）を識別するファイルＩＤの情報しか有さず、データの内容自体に係る情報や、データが実際に保管されているサーバ２００に係る情報を有していない。従って、ポインタファイル１５０の内容を第三者が知った場合でも、分散データ４１０を収集することはできず、元データ４００を復元する（元データ４００に係る情報を得る）ことはできない。
【００５９】
なお、本実施の形態では、上記のようなセキュリティの観点を考慮して元データ４００および分散データ４１０をデータ分散装置１００から削除するものとしているが、データ分散装置１００上の元データ４００に対するバックアップとして当該分散保管サービスを利用する場合は、元データ４００を削除せずに残しておいてもよい。
【００６０】
［処理フロー（元データ取得）］
図４は、複数の分散データ４１０を収集して、これらから元データ４００を得る際の処理の例について概要を示した図である。データ分散装置１００において、インタフェース部１４０を介したユーザによるポインタファイル１５０への操作によって、元データ４００の参照（編集のための参照含む）の指示を受けると、まず、ポインタファイル処理部１２０により、当該ポインタファイル１５０に含まれる識別情報１７０の内容を取得する（Ｓ１１）。次に、識別情報１７０内のカレントＦＩＤ１７２の情報に基づいて、分散処理部１３０の収集部１３２により、各サーバ２００に対して対応する分散データ４１０を保持しているかを問い合わせる（Ｓ１２）。
【００６１】
具体的には、上述したように、例えば、カレントＦＩＤ１７２の情報を含む分散データ４１０の問い合わせメッセージを各サーバ２００に対してブロードキャストする。サーバ２００の数が多い場合は、サーバリスト１３３にリストされているサーバ２００に対してマルチキャストするようにして、ネットワーク３００に対する負荷を低減するようにしてもよい。
【００６２】
問い合わせのブロードキャストメッセージを受信した各サーバ２００では、分散保管部２１０により、メッセージに含まれるカレントＦＩＤ１７２の情報を取得し、当該カレントＦＩＤ１７２に対応する分散データ４１０を検索する（Ｓ１３）。具体的には、メッセージに含まれるカレントＦＩＤ１７２と合致するカレントＦＩＤ１７２を含む識別情報１７０をヘッダ等に有する分散データ４１０を検索する。該当する分散データ４１０を保管していない場合（例えば、図４のサーバＢ（２００ｂ））は、その旨をデータ分散装置１００に応答する。
【００６３】
一方、該当する分散データ４１０を保管している場合（例えば、図４のサーバＡ（２００ａ））は、当該分散データ４１０のヘッダ等に含まれる識別情報１７０がロックされているか否かを確認する（Ｓ１４）。具体的には、対象の識別情報１７０内の各ＩＤ（オリジナルＦＩＤ１７１、カレントＦＩＤ１７２もしくはユーザＩＤ１７３）の値が、サーバ２００に保持する図示しないロックリストに登録されているか否かを確認する。登録されている場合には、対象の分散データ４１０については使用がロックされていることから、その旨をデータ分散装置１００に応答する。登録されていない場合は、対象の分散データ４１０をデータ分散装置１００に対して送信する（Ｓ１５）。なお、ロックリストへのＩＤの登録については後述する。
【００６４】
各サーバ２００でのブロードキャストメッセージに対する処理が完了すると、データ分散装置１００は、収集部１３２により、収集した分散データ４１０（各サーバ２００から送信された分散データ４１０）により元データ４００の取得が可能であるか否かを判定する（Ｓ１６）。例えば、本実施の形態では、元データ４００を復元可能なｋ個以上の分散データ４１０を収集することができたか否かを判定する。元データ４００を取得（復元）できない場合、すなわち、本実施の形態では収集できた分散データ４１０がｋ個未満であった場合は、元データ４００の取得処理をエラーとして終了させるようにしてもよい。
【００６５】
ステップＳ１６で元データ４００の取得が可能であると判定した場合は、収集した分散データ４１０から分散データ処理部１１０によって元データ４００を取得（復元）し（Ｓ１７）、処理を終了する。本実施の形態では、収集したｋ個以上の分散データ４１０から（ｋ，ｎ）閾値秘密分散法により元データ４００を復元する。なおこのとき、復元した元データ４００の種別に応じて、これに関連付けられたアプリケーションプログラムを起動し、復元した元データ４００を表示させるようにしてもよい。
【００６６】
このように、ユーザは、インタフェース部１４０を介してポインタファイル１５０に対して元データ４００に対するものと同様の処理を行うことで、データ分散装置１００が必要な分散データ４１０を収集して元データ４００を取得（復元）した上で表示等することができるため、分散データ４１０が複数のサーバ２００に分散保管されていることを意識することなく、シームレスに元データ４００（もしくは対応する分散データ４１０）に対するアクセスを行うことが可能である。また、データ分散装置１００にとっても、各分散データ４１０がどのサーバ２００に保管されているかという情報を保持することなく、必要な分散データ４１０を収集することができる。
【００６７】
なお、上記の図４の例では、識別情報１７０内のカレントＦＩＤ１７２の情報に基づいて、各サーバ２００に対して分散データ４１０を保持しているかを問い合わせているが、識別情報１７０内の他のＩＤ情報を用いて問い合わせを行うようにしてもよい。例えば、ユーザの指示に基づいて、オリジナルＦＩＤ１７１を指定して問い合わせることで、異なるバージョン（カレントＦＩＤ１７２）の複数の元データ４００に対応する分散データ４１０を収集することができる。また、ユーザＩＤ１７３を指定して問い合わせることで、対応するユーザが作成・編集した元データ４００に対応する分散データ４１０を全て収集することができる。
【００６８】
［処理フロー（ＩＤロック）］
本実施の形態では、例えば、データ分散装置１００である携帯型端末の盗難や紛失等などに際して、上述したように、データ分散装置１００に元データ４００を保持せず、また、各分散データ４１０の保管場所（サーバ２００）に係る情報を含む分散管理情報も有さないことから、元データ４００の漏洩のリスクを低減することができる。
【００６９】
しかしながら、元データ４００（および対応する分散データ４１０）についてのファイルＩＤや、ユーザＩＤの情報を含む識別情報１７０を有するポインタファイル１５０はデータ分散装置１００上に存在するため、第三者に参照され得る。そこで、本実施の形態では、データ分散装置１００の盗難や紛失等の際に、第三者によって識別情報１７０に含まれる各ＩＤの情報に基づいて各サーバ２００から分散データ４１０が取得されるリスクを極力低減させるため、識別情報１７０内の各ＩＤをロックすることで対応する分散データ４１０の使用を制限することを可能とする。
【００７０】
図５は、分散データ４１０の使用をロックして元データ４００および対応する分散データ４１０の取得を制限する際の処理の例について概要を示した図である。まず、データ分散装置１００において、ユーザは、インタフェース部１４０を介してロックする対象となるＩＤの値を指定する（Ｓ２１）。具体的には、識別情報１７０内のオリジナルＦＩＤ１７１、カレントＦＩＤ１７２もしくはユーザＩＤ１７３のうち少なくとも１つ以上について値を指定する。次に、指定されたＩＤの情報に基づいて、分散処理部１３０の分散部１３１により、各サーバ２００に対してＩＤのロックの指示を行う（Ｓ２２）。具体的には、ロック対象のＩＤの値を含むロック指示のメッセージを各サーバ２００に対してブロードキャスト（もしくはマルチキャスト）する。
【００７１】
ロック指示のブロードキャストメッセージを受信した各サーバ２００では、メッセージに含まれるＩＤの情報を、ロックリスト（図示しない）等に登録する（Ｓ２３）。その後、登録の成否をデータ分散装置１００に応答する。各サーバ２００でのロックリストへのＩＤの登録が完了すると、データ分散装置１００は、対象の全てのサーバ２００において正常にロックリストへのＩＤの登録が完了したか否かを判定する（Ｓ２４）。登録が失敗したサーバ２００や、タイムアウトで応答を受信できなかったサーバ２００がある場合は、ＩＤのロック処理をエラーとして終了させるようにしてもよい。なお、このとき、既に行った処理をロールバックするようにしてもよい。
【００７２】
対象の全てのサーバ２００において正常にロックリストへのＩＤの登録が完了した場合、ＩＤのロック処理を終了する。なお、ＩＤのロックの解除についても上記と同様の処理により、各サーバ２００においてロックリストから対象のＩＤの登録を削除することで実現することができる。
【００７３】
［処理フロー（ポインタファイル復元）］
図６は、データ分散装置１００上にポインタファイル１５０を有さない場合にこれを復元する際の処理の例について概要を示した図である。本実施の形態では、データ分散装置１００が盗難や紛失等にあった場合や、出張等で他の端末を利用する場合など、当初のデータ分散装置１００（元データ４００に対応するポインタファイル１５０を有するデータ分散装置１００）とは異なる情報処理装置を新たにデータ分散装置１００として利用する場合に、ポインタファイル１５０（およびこれに含まれる識別情報１７０）を復元して元データ４００もしくは対応する分散データ４１０へのアクセスを可能とする。
【００７４】
まず、データ分散装置１００において、ユーザは、インタフェース部１４０を介して、ポインタファイル１５０を復元するためのキー情報となる、識別情報１７０におけるユーザＩＤ１７３の情報を指定する（Ｓ３１）。次に、指定されたユーザＩＤ１７３の情報に基づいて、分散処理部１３０の分散部１３１により、各サーバ２００に対して識別情報１７０の問い合わせを行う（Ｓ３２）。具体的には、指定された値のユーザＩＤ１７３を含む識別情報１７０の問い合わせのメッセージを各サーバ２００に対してブロードキャスト（もしくはマルチキャスト）する。
【００７５】
識別情報１７０の問い合わせのブロードキャストメッセージを受信した各サーバ２００では、メッセージに含まれるユーザＩＤ１７３の情報を取得し、当該ユーザＩＤ１７３に合致する識別情報１７０を検索する（Ｓ３３）。具体的には、メッセージに含まれるユーザＩＤ１７３の値と合致するユーザＩＤ１７３を含む識別情報１７０を、保管している各分散データ４１０のヘッダ等から検索する。該当する識別情報１７０（これをヘッダ等に有する分散データ４１０）がない場合（例えば、図６のサーバＡ（２００ａ））は、その旨をデータ分散装置１００に応答する。
【００７６】
一方、該当する識別情報１７０（これをヘッダ等に有する分散データ４１０）を有する場合（例えば、図６のサーバＢ（２００ｂ））は、当該識別情報１７０について、それぞれロックされているか否かを確認する（Ｓ３４）。具体的には、該当する各識別情報１７０内の各ＩＤ（オリジナルＦＩＤ１７１、カレントＦＩＤ１７２およびユーザＩＤ１７３）の値が、サーバ２００のロックリストに登録されているか否かを確認する。該当の識別情報１７０のうちロックされていないものが１つ以上存在する場合は、これをデータ分散装置１００に送信する一方、全ての識別情報１７０がロックされている場合は、該当する識別情報１７０がない旨をデータ分散装置１００に応答する（Ｓ３５）。
【００７７】
各サーバ２００でのブロードキャストメッセージに対する処理が完了すると、データ分散装置１００は、収集部１３２により、収集した識別情報１７０に基づいて、これを含むポインタファイル１５０を復元し（Ｓ３６）、処理を終了する。なお、複数のサーバ２００から同じ元データ４００に対応する同一内容の識別情報１７０が複数送信される場合があり得るが、この場合は、重複するものを排除して１つの識別情報１７０にまとめる。
【００７８】
また、図２に示したような識別情報１７０の内容からは、ＩＤの情報しか得られないため、ポインタファイル１５０を復元する際に、元データ４００のファイル名と同じファイル名を設定することができない。従って、ダミーのファイル名を自動設定するか、識別情報１７０に、図２に示したようなＩＤの情報だけでなく、カレントＦＩＤ１７２毎に元データ４００のファイル名の情報も合わせて保持するようにし、この情報に基づいてポインタファイル１５０のファイル名を設定するようにしてもよい。
【００７９】
以上に説明したように、本発明の実施の形態１であるデータ分散管理システム１によれば、データ分散装置１００上に分散データ４１０の保管先に係る情報を含む分散管理情報を有さず、また、分散データ４１０がいずれのサーバ２００に保管されているかに影響を受けずに元データ４００の分散保管を行うことが可能となる。
【００８０】
すなわち、データ分散装置１００が各サーバ２００から必要な分散データ４１０を収集する際は、データ分散装置１００は、元データ４００に係る識別情報１７０の全部もしくは一部を指定して、各サーバ２００に対して、当該元データ４００に係る分散データ４１０を保持しているか否かを問い合わせるメッセージをブロードキャスト等する。当該メッセージに対して、対象の分散データ４１０を保持しているサーバ２００が、対象の分散データ４１０をデータ分散装置１００に応答することで、データ分散装置１００は、各分散データ４１０の保管場所に係る分散管理情報を要さずに必要な分散データ４１０を収集することが可能となる。
【００８１】
これにより、データ分散装置１００が携帯型端末であるような場合は特に、分散管理情報が第三者に取得されてしまうことによって、各分散データ４１０の保管場所に係る情報が知られてしまい、分散データ４１０にアクセス可能となってしまうリスクを回避することが可能となる。また、各分散データ４１０がいずれのサーバ２００に保管されているかという点に依存せず、容易に各分散データ４１０を保管するサーバ２００を変更することが可能となる。
【００８２】
また、データ分散装置１００上に識別情報１７０およびこれを有するポインタファイル１５０を有していなくても、データ分散装置１００は、各元データ４００に対応する識別情報１７０およびこれを有するポインタファイル１５０を復元することが可能となる。例えば、ユーザＩＤ１７３の情報がユーザにより与えられると、データ分散装置１００は、当該ユーザＩＤ１７３を含む識別情報１７０を有するか否かを問い合わせるメッセージをブロードキャスト等する。対象の識別情報１７０をヘッダ等に含む分散データ４１０を有しているサーバ２００が、対象の識別情報１７０をデータ分散装置１００に応答することで、データ分散装置１００は、当該ユーザが使用可能な元データ４００に対応する識別情報１７０およびこれを含むポインタファイル１５０を取得・復元することが可能となる。
【００８３】
これにより、データ分散装置１００が盗難や紛失等にあった場合や、出張等で他の端末を利用する場合など、当初のデータ分散装置１００とは異なる情報処理装置を新たにデータ分散装置１００として利用する場合にも容易にポインタファイル１５０を復元して元データ４００もしくは対応する分散データ４１０にアクセスし、業務を継続することが可能となる。
【００８４】
＜実施の形態２＞
図１に示したような上述の実施の形態１の構成では、元データ４００に対応する分散データ４１０を保管するｎ個のサーバ２００のうち、ｋ個以上が正常に稼働しており、これらの各サーバ２００からｋ個以上の分散データ４１０を収集することができれば、元データ４００を復元することができる。すなわち、障害等により分散データ４１０を取得することができないサーバ２００が（ｎ−ｋ）個以下であれば正常に元データ４００を復元することができるという点で、高い可用性を有する。
【００８５】
しかしながら、たとえサーバ２００側がこのように高い可用性を有していても、図１の例のような構成では、データ分散装置１００がシングルポイントとなっていることから、データ分散装置１００が障害となった場合には元データ４００を復元することができなくなってしまう。
【００８６】
そこで、本実施の形態では、例えば、図１に示したものと同様の構成のデータ分散装置１００をファイルサーバとして構成する。図７は、本発明の実施の形態２であるデータ分散管理システム１の構成例について概要を示した図である。図７の例では、ファイルサーバとして構成されたデータ分散装置１００に対して、複数のクライアント端末５００が接続する構成を有する。さらに、ファイルサーバとしてのデータ分散装置１００を複数のサーバにより冗長化して構成する。
【００８７】
これにより、データ分散装置１００がシングルポイントとならないように構成することができ、データ分散装置１００を構成する１つのサーバが障害その他で停止した場合であっても、他のサーバにテイクオーバーして処理を継続することで可用性を向上させることができる。このとき、例えば、データ分散装置１００を構成する複数のサーバを、図７に示すように１つ以上の物理サーバ１０１上に複数構成した仮想サーバにより構成することで、より簡易かつ低コストで実装することができる。
【００８８】
なお、このとき例えば、図１に示すデータ分散装置１００の構成と同様に、ファイルサーバとしてのデータ分散装置１００上にポインタファイル１５０およびインタフェース部１４０を有し、クライアント端末５００からは、データ分散装置１００上のポインタファイル１５０に対してネットワーク３００を介してアクセスすることで、対応する元データ４００をデータ分散装置１００上で復元して、クライアント端末５００のローカル上に送信する構成とすることができる。
【００８９】
このとき、複数ユーザからのデータ分散装置１００（ファイルサーバ）上の同一の元データ４００（対応するポインタファイル１５０）へのアクセスに対しては、例えば、識別情報１７０のユーザＩＤ１７３の情報に基づいて対応するユーザのみがアクセス可能としたり（もしくは他のユーザも参照可能としつつ、更新については対応するユーザのみ可能とする）、ポインタファイル１５０を各ユーザが排他的にアクセスするよう制御したりすることで、複数のユーザが同一の元データ４００に対して重複して更新を行うことによる不整合を防止する。ポインタファイル１５０およびインタフェース部１４０に係る部分など、データ分散装置１００の機能の一部を各クライアント端末５００上に有する構成とすることも可能である。
【００９０】
＜実施の形態３＞
上述の実施の形態１では、データ分散装置１００の分散処理部１３０は、分散データ処理部１１０によって元データ４００から生成されたｎ個の分散データ４１０をそれぞれ保管するｎ個のサーバ２００を選択する。このサーバ２００の選択は、上述したように、例えば、サーバリスト１３３に登録されたサーバ２００からローテーションやランダム抽出などにより選択する。このとき、各サーバ２００に対して分散データ４１０の保管が可能か否か（すなわちサーバ２００の稼動状況）を問い合わせる処理を行ってもよい。
【００９１】
ここで、サーバリスト１３３に登録された各サーバ２００（分散データ４１０の保管先となり得る各サーバ２００）は、例えば、スペックや、セキュリティ等を含む運用体制、設置場所（国や地域などのロケーションや、地形的特性など）等の属性などがそれぞれ異なる場合があり得る。すなわち、各サーバ２００における分散データ４１０の保管能力には差異があり得る。従って、このような差異を考慮しない一律のローテーションやその他の選択手法では、分散データ４１０の内容や属性等に応じた適切なサーバ２００の選択を行うことができないことも考えられる。
【００９２】
そこで、本実施の形態では、分散データ４１０を保管する対象となり得る各サーバ２００について、分散データ４１０の保管能力等に応じてアクセス権を設定し、当該アクセス権と、分散データ４１０の属性とに基づいて分散データ４１０を保管するサーバ２００を決定することが可能となるようにする。
【００９３】
図８は、本発明の実施の形態３であるデータ分散管理システム１の構成例について概要を示した図である。図８の例では、データ分散装置１００が分散データ４１０を保管する対象となり得る各サーバ２００に対して、アクセス権を設定するためのアクセス権管理サーバ２２０を有する。アクセス権管理サーバ２２０は、各サーバ２００のスペックや、セキュリティ等を含む運用体制、設置場所等の属性の情報に基づいて、所定の基準により、手動もしくは自動で各サーバ２００に対してアクセス権を設定する。なお、図８の例ではアクセス権設定サーバ２２０を独立したサーバとして構成しているが、データ分散装置１００と同一の筐体上で構成してもよい。
【００９４】
図９は、本実施の形態におけるポインタファイル１５０および分散データ４１０に付加される識別情報１７０の内容について例を示した図である。図９の例では、図２に示した実施の形態１における識別情報１７０に対して、さらに属性情報１７４が加えられている。属性情報１７４は、フォーマット等は特に限定されないが、対応する元データ４００（元データ４００からなるファイル）についての重要度やファイルの種別等を識別する情報を含む。
【００９５】
データ分散装置１００の分散処理部１３０は、元データ４００から生成された分散データ４１０を保管する対象となるサーバ２００を選択する際に、例えば、各サーバ２００に対して、アクセス権の情報を問い合わせて取得し、これと分散データ４１０に付加されている識別情報１７０の属性情報１７４とに基づいて、分散データ４１０を保管することが許可されるか否かを判定し、保管が許可される場合には当該サーバ２００に対して分散データ４１０を保管する。これにより、単純なローテーション等によるサーバ２００の選択ではなく、サーバ２００の保管能力（アクセス権）に応じて対象の分散データ４１０を保管すべきサーバ２００を選択することが可能となる。
【００９６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９７】
本発明は、１つ以上のデータを異なるサーバ等に分散保管するデータ分散管理システムに利用可能である。
【符号の説明】
【００９８】
１…データ分散管理システム、
１００…データ分散装置、１１０…分散データ処理部、１２０…ポインタファイル処理部、１２１…識別情報生成部、１２２…ＩＤ生成部、１３０…分散処理部、１３１…分散部、１３２…収集部、１３３…サーバリスト、１４０…インタフェース部、１５０…ポインタファイル、１６０…ユーザ情報、１７０…識別情報、１７１…オリジナルファイルＩＤ（ＦＩＤ）、１７２…トレントファイルＩＤ（ＦＩＤ）、１７３…ユーザＩＤ、
２００、２００ａ、ｂ…サーバ、２１０…分散保管部、
３００…ネットワーク、
４００…元データ、４１０…分散データ。
【図１】
2013065544.tif 000003
【図２】
2013065544.tif 000004
【図３】
2013065544.tif 000005
【図４】
2013065544.tif 000006
【図５】
2013065544.tif 000007
【図６】
2013065544.tif 000008
【図７】
2013065544.tif 000009
【図８】
2013065544.tif 000010
【図９】
2013065544.tif 000011
【手続補正書】
【提出日】平成26年11月12日(2014.11.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶装置を有する複数の情報処理装置と、前記各情報処理装置とネットワークを介して接続され、元データに対応して一括して取り扱われる１つ以上の分散データを前記情報処理装置の前記記憶装置にそれぞれ分散保管するデータ分散装置とを有するデータ分散管理システムであって、
前記データ分散装置は、
前記元データと１つ以上の前記分散データとの対応付けに係る処理を行う分散データ処理部と、
前記元データを識別して特定可能とする識別情報を生成し、前記元データに対応する、前記識別情報を含むポインタファイルを生成するポインタファイル処理部と、
前記元データに対応する前記識別情報がそれぞれ付加された、前記元データに対応する前記各分散データを、それぞれ異なる前記情報処理装置に送信する分散処理部とを有し、
前記各情報処理装置は、
前記データ分散装置から送信された前記分散データを、前記記憶装置に格納する分散保管部を有し、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記ポインタファイルが有する前記識別情報の全部または一部を指定して、前記各情報処理装置に対して、前記識別情報の指定された部分に対応する前記分散データを保持しているか否かを問い合わせる第１のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第１のメッセージに指定された前記識別情報の指定された部分に合致する前記識別情報を含む前記分散データが自身の前記記憶装置に保管されているかを検索し、保管されている場合は該当する前記分散データを前記データ分散装置に送信し、
前記データ分散装置の前記分散データ処理部は、
前記各情報処理装置から送信された前記分散データに基づいて対応する前記元データを取得し、
また、前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記識別情報の全部または一部の値を指定して、前記各情報処理装置に対して、対応する前記分散データの使用を制限する旨の第２のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第２のメッセージに指定された前記識別情報の指定された部分の情報をロックリストに登録し、さらに、前記第１のメッセージに指定された前記識別情報の指定された部分に合致する前記識別情報を含む前記分散データを検索する際に、前記分散データに含まれる前記識別情報が前記ロックリストに登録された内容を含む場合には、該当する前記分散データの使用を制限することを特徴とするデータ分散管理システム。
【請求項２】
請求項１に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された前記識別情報のうちの前記ユーザを特定する値を指定して、前記各情報処理装置に対して、対応する前記識別情報を保持しているか否かを問い合わせる第３のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第３のメッセージに指定された前記ユーザを特定する値に合致する前記識別情報を含む前記分散データが自身の前記記憶装置に保管されているかを検索し、保管されている場合は、該当する前記分散データに含まれる前記識別情報を前記データ分散装置に送信し、
前記データ分散装置の前記ポインタファイル処理部は、
前記各情報処理装置から送信された前記識別情報に基づいて対応する前記ポインタファイルを復元することを特徴とするデータ分散管理システム。
【請求項３】
請求項１または２に記載のデータ分散管理システムにおいて、
前記識別情報は、前記元データ全体を識別するＩＤ情報と、前記元データが編集された際のバージョン毎の前記元データを識別するＩＤ情報と、前記元データの作成もしくは編集を行ったユーザを識別するＩＤ情報とを含むことを特徴とするデータ分散管理システム。
【請求項４】
請求項１〜３のいずれか１項に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散データ処理部は、
前記元データから秘密分散法により複数の前記分散データを生成し、また、複数の前記分散データから前記秘密分散法により前記元データを復元することを特徴とするデータ分散管理システム。
【請求項５】
請求項１〜４のいずれか１項に記載のデータ分散管理システムにおいて、
前記各情報処理装置の前記分散保管部は、
前記データ分散装置から送信された、前記元データに対応する前記分散データを前記記憶装置に格納する際に、前記元データに対応する過去の前記分散データが存在する場合は、過去の前記分散データを残した上で格納することを特徴とするデータ分散管理システム。
【請求項６】
請求項５に記載のデータ分散管理システムにおいて、
前記各情報処理装置の前記分散保管部は、
所定のタイミングで、所定の世代数よりも過去の前記元データに対応する前記分散データを削除することを特徴とするデータ分散管理システム。
【請求項７】
請求項６に記載のデータ分散管理システムにおいて、
前記データ分散装置の前記分散処理部は、
ユーザにより指定された保存対象のバージョンの前記元データを特定する情報を指定して、前記各情報処理装置に対して、該当する前記元データに対応する前記分散データの削除を制限する旨の第４のメッセージをブロードキャストし、
前記各情報処理装置の前記分散保管部は、
前記第４のメッセージに指定されたバージョンの前記元データを特定する情報をリストに登録し、さらに、所定の世代数よりも過去の前記元データに対応する前記分散データを削除する際に、前記分散データに含まれる前記識別情報が前記リストに登録された前記元データを特定する情報を含む場合には、該当する前記分散データの削除を制限することを特徴とするデータ分散管理システム。
【請求項８】
請求項１〜７のいずれか１項に記載のデータ分散管理システムにおいて、
前記データ分散装置は、
複数のファイルサーバもしくは複数の仮想ファイルサーバにより構成されることを特徴とするデータ分散管理システム。
【請求項９】
請求項１〜８のいずれか１項に記載のデータ分散管理システムにおいて、
前記識別情報は、さらに、前記元データについての属性情報を含み、
前記データ分散装置の前記分散処理部は、
前記各情報処理装置に対して設定されたアクセス権の情報と、前記分散データに付加された前記識別情報のうちの前記属性情報とに基づいて、前記分散データを保管することができる前記情報処理装置を選択することを特徴とするデータ分散管理システム。
【国際調査報告】
2013065544.tif 000012
2013065544.tif 000013
2013065544.tif 000014
2013065544.tif 000015