(57)【要約】【課題】データファイルを公平に複数の装置間で分割管理することが可能な情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システムを提供する。【解決手段】本発明に係る情報処理装置では、自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持するデータファイルの分割を行うブロック化部と、保持ブロック情報により特定されるデータファイルのブロックが、データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される記憶部と、を設けた。【選択図】図９
2010134630.tif 000002
【特許請求の範囲】
【請求項１】
自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うブロック化部と、
前記保持ブロック情報により特定される前記データファイルのブロックが、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される記憶部と、
を備える、情報処理装置。
【請求項２】
前記情報処理装置は、
自装置が保持するデータファイルについて、当該データファイルを保持する他の情報処理装置間での分割状況を表すデータファイル分割状況情報を、所定のデータファイル分割状況データベースから取得するデータファイル分割状況情報取得部と、
前記複数のブロックのうち自装置が保持していない前記ブロックのデータファイルを前記他の情報処理装置から取得する未保持ブロック取得部と、
前記未保持ブロック取得部が取得した未保持ブロックに対応するデータファイルと、自装置が保持するブロックに対応するデータファイルと、を用いてデータファイルを復元するデータファイル復元部と、
を更に備え、
前記データファイル分割状況情報取得部は、復元を行うデータファイルに関する前記データファイル分割状況情報を前記データファイル分割状況データベースから取得し、
前記未保持ブロック取得部は、前記復元を行うデータファイルに関するデータファイル分割状況情報に基づいて、前記他の情報処理装置から未保持ブロックを取得する、請求項１に記載の情報処理装置。
【請求項３】
前記複数のブロックは、冗長性を持たせて自装置および前記他の情報処理装置で保持される、請求項１に記載の情報処理装置。
【請求項４】
自装置が保持する前記ブロックのデータサイズＤＣＸは、以下の式１に基づいて算出される大きさである、請求項３に記載の情報処理装置。
【数１】
2010134630.tif 000015
・・・（式１）
ここで、上記式１において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【請求項５】
自装置が保持する前記ブロックのデータサイズＤＣＸは、以下の式２に基づいて算出される大きさである、請求項３に記載の情報処理装置。
【数２】
2010134630.tif 000016
・・・（式２）
2010134630.tif 000017
・・・（式３）
ここで、上記式２において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、αＸは、自装置におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【請求項６】
前記データファイル分割状況データベースは、自装置および前記他の情報処理装置が接続可能な分割管理サーバが保持する、請求項２に記載の情報処理装置。
【請求項７】
前記データファイル分割状況データベースは、自装置および前記他の情報処理装置により分割して保持されている、請求項２に記載の情報処理装置。
【請求項８】
前記データファイル分割状況データベースは、分散ハッシュテーブルを用いて、自装置および前記他の情報処理装置に分割して保持されている、請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、
自装置および前記他の情報処理装置がそれぞれ保持している前記データファイル分割状況データベースに関する経路表を保持しており、
前記復元を行うデータファイルのデータファイル識別情報と、自装置および前記他の情報処理装置に予め割り当てられている一意な識別子と、を用いて、前記未保持ブロックを保持する前記他の情報処理装置を特定する、請求項８に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、自装置が保持する前記ブロックの取得要請が前記他の情報処理装置から伝送された場合に、前記他の情報処理装置が前記データファイルを適式に保持しているか否かに基づいて当該他の情報処理装置の認証を行う認証部を更に備え、
前記認証部は、前記保持ブロック情報を用いたダイジェスト認証により、前記他の情報処理装置の認証を行う、請求項２に記載の情報処理装置。
【請求項１１】
前記認証部は、
無作為にパラメータＲを決定するとともに、自装置が保持しており、かつ、前記ブロックの取得要請を送信した他の情報処理装置が保持しているべきブロックに対応するデータファイルの少なくとも一部を特定する情報と、前記パラメータＲと、を前記ブロックの取得要請を送信した他の情報処理装置へ伝送し、
前記ブロックの取得要請を送信した他の情報処理装置が、伝送された前記データファイルの少なくとも一部を特定する情報および前記パラメータＲを用いて算出したハッシュ値と、伝送した前記データファイルの少なくとも一部を特定する情報および前記パラメータＲを用いて自装置が算出したハッシュ値と、を比較する、請求項１０に記載の情報処理装置。
【請求項１２】
前記認証部は、
前記ブロックの取得要請を送信した他の情報処理装置が保持しているべき前記ブロックに関する保持ブロック情報と、当該他の情報処理装置が保持しているべきブロックを保持している第３の情報処理装置に関する情報とを、前記データファイル分割状況データベースから取得し、
無作為に決定したパラメータＲを、前記他の情報処理装置および前記第３の情報処理装置に対して送信するとともに、前記パラメータＲと、前記他の情報処理装置および前記第３の情報処理装置がそれぞれ保持している前記ブロックの少なくとも一部と、を用いたハッシュ値の算出を要請し、
前記他の情報処理装置から伝送された前記ハッシュ値と、前記第３の情報処理装置から伝送された前記ハッシュ値と、を比較する、請求項１０に記載の情報処理装置。
【請求項１３】
前記データファイル識別情報は、前記データファイルのハッシュ値である、請求項１に記載の情報処理装置。
【請求項１４】
前記情報処理装置は、データファイルの管理を行うストレージデバイスである、請求項１に記載の情報処理装置。
【請求項１５】
前記情報処理装置は、自装置が保持する全てのデータファイルについて、自動的にデータファイルのブロック化処理を行う、請求項１４に記載の情報処理装置。
【請求項１６】
複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースが記録された記憶部と、
一の前記情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新する分割状況変更部と、
変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送する保持ブロック情報伝送部と、
を備える、分割管理サーバ。
【請求項１７】
前記データファイル分割状況データベースは、分割管理されているデータファイルを識別するための情報であるデータファイル識別情報と、前記データファイルを保持している前記情報処理装置を特定する情報と、前記データファイルを保持している情報処理装置それぞれが保持している前記ブロックを特定する情報と、を少なくとも含む、請求項１６に記載の分割管理サーバ。
【請求項１８】
前記分割状況変更部は、予め設定されている冗長度に応じて、前記複数の情報処理装置それぞれが保持すべき前記ブロックを変更する、請求項１６に記載の分割管理サーバ。
【請求項１９】
前記分割状況変更部は、前記複数の情報処理装置それぞれが保持する前記ブロックのデータサイズＤＣＸを、以下の式１に基づいて算出される大きさに設定する、請求項１６に記載の分割管理サーバ。
【数３】
2010134630.tif 000018
・・・（式１）
ここで、上記式１において、ＤＣＸは、各情報処理装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【請求項２０】
前記分割状況変更部は、前記複数の情報処理装置それぞれが保持する前記ブロックのデータサイズＤＣＸを、以下の式２に基づいて算出される大きさに設定する、請求項１６に記載の分割管理サーバ。
【数４】
2010134630.tif 000019
・・・（式２）
2010134630.tif 000020
・・・（式３）
ここで、上記式２において、ＤＣＸは、各情報処理装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置の台数であり、αＸは、情報処理装置におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【請求項２１】
前記分割管理サーバは、前記情報処理装置から、データファイルの分割状況を表す情報であるデータファイル分割状況情報の取得要求が伝送された場合に、該当する前記データファイル分割状況情報を前記情報処理装置へ伝送する、データファイル分割状況情報伝送部を更に備える、請求項１６に記載の分割管理サーバ。
【請求項２２】
自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うステップと、
前記保持ブロック情報により特定される前記データファイルのブロックを、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記憶するステップと、
を含む、情報処理方法。
【請求項２３】
一の情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースを参照し、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新するステップと、
変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送するステップと、
を含む、分割管理方法。
【請求項２４】
他の情報処理装置と通信可能なコンピュータに、
自装置を除く前記他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うブロック化機能と、
前記保持ブロック情報により特定される前記データファイルのブロックを、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録する記録機能と、
を実現させるためのプログラム。
【請求項２５】
複数の情報処理装置と通信可能なコンピュータに、
前記複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースを管理する管理機能と、
一の前記情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新する分割状況変更機能と、
変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送する保持ブロック情報伝送機能と、
を実現させるためのプログラム。
【請求項２６】
自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うブロック化部と、
前記保持ブロック情報により特定される前記データファイルのブロックが、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される記憶部と、
を備える情報処理装置と、
複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースが記録された記憶部と、
一の前記情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新する分割状況変更部と、
変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送する保持ブロック情報伝送部と、
を備える分割管理サーバと、
を含む、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
近年、Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ（Ｐ２Ｐ）ネットワークを用いてデータを分散させ、ネットワーク接続の情報処理装置にデータを配置し、データのバックアップや保全を図ることが行われている（例えば、特許文献１および２を参照。）。これら特許文献１および特許文献２に記載の方法は、複数のノードデバイス間で協調して一つのストレージを構築する技術である。
【０００３】
【特許文献１】特開２００４−１２６７１６号公報
【特許文献２】特開２００７−７３００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１および特許文献２に記載の方法では、データファイルにオーナーの概念があったとしても、オーナーのノードがどのノードであるかに関わらず分散配置されてしまうという問題があった。例えば、全てのデータファイルについてオーナーがあるようなシステムを考える。この場合に、多くのデータファイルがオーナーであるノードのストレージと、少ないデータファイルのオーナーであるノードのストレージが一様に使用されるのは、ノードの管理者が同一ではない場合を鑑みると不公平である。
【０００５】
また、システムによっては、複数のノードがそれぞれ同じ内容のデータファイルを保持している場合があるが、同じ内容のデータファイルを複数のノードがそれぞれ分散配置することは、無駄が多くなる可能性が高い。
【０００６】
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、データファイルを公平に複数の装置間で分割管理することが可能な、新規かつ改良された情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うブロック化部と、前記保持ブロック情報により特定される前記データファイルのブロックが、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される記憶部と、を備える情報処理装置が提供される。
【０００８】
かかる構成によれば、ブロック化部は、自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持するデータファイルの分割を行う。また、記憶部には、保持ブロック情報により特定される前記データファイルのブロックが、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される。
【０００９】
前記情報処理装置は、自装置が保持するデータファイルについて、当該データファイルを保持する他の情報処理装置間での分割状況を表すデータファイル分割状況情報を、所定のデータファイル分割状況データベースから取得するデータファイル分割状況情報取得部と、前記複数のブロックのうち自装置が保持していない前記ブロックのデータファイルを前記他の情報処理装置から取得する未保持ブロック取得部と、前記未保持ブロック取得部が取得した未保持ブロックに対応するデータファイルと、自装置が保持するブロックに対応するデータファイルと、を用いてデータファイルを復元するデータファイル復元部と、を更に備え、前記データファイル分割状況情報取得部は、復元を行うデータファイルに関する前記データファイル分割状況情報を前記データファイル分割状況データベースから取得し、前記未保持ブロック取得部は、前記復元を行うデータファイルに関するデータファイル分割状況情報に基づいて、前記他の情報処理装置から未保持ブロックを取得することが好ましい。
【００１０】
前記複数のブロックは、冗長性を持たせて自装置および前記他の情報処理装置で保持されることが好ましい。
【００１１】
自装置が保持する前記ブロックのデータサイズＤＣＸは、以下の式１に基づいて算出される大きさであってもよい。
【００１２】
【数１】
2010134630.tif 000003
・・・（式１）
【００１３】
ここで、上記式１において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【００１４】
また、自装置が保持する前記ブロックのデータサイズＤＣＸは、以下の式２に基づいて算出される大きさであってもよい。
【００１５】
【数２】
2010134630.tif 000004
・・・（式２）
2010134630.tif 000005
・・・（式３）
【００１６】
ここで、上記式２において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、αＸは、自装置におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【００１７】
前記データファイル分割状況データベースは、自装置および前記他の情報処理装置が接続可能な分割管理サーバが保持してもよい。
【００１８】
前記データファイル分割状況データベースは、自装置および前記他の情報処理装置により分割して保持されていてもよい。
【００１９】
前記データファイル分割状況データベースは、分散ハッシュテーブルを用いて、自装置および前記他の情報処理装置に分割して保持されていてもよい。
【００２０】
前記情報処理装置は、自装置および前記他の情報処理装置がそれぞれ保持している前記データファイル分割状況データベースに関する経路表を保持しており、前記復元を行うデータファイルのデータファイル識別情報と、自装置および前記他の情報処理装置に予め割り当てられている一意な識別子と、を用いて、前記未保持ブロックを保持する前記他の情報処理装置を特定することが好ましい。
【００２１】
前記情報処理装置は、自装置が保持する前記ブロックの取得要請が前記他の情報処理装置から伝送された場合に、前記他の情報処理装置が前記データファイルを適式に保持しているか否かに基づいて当該他の情報処理装置の認証を行う認証部を更に備え、前記認証部は、前記保持ブロック情報を用いたダイジェスト認証により、前記他の情報処理装置の認証を行ってもよい。
【００２２】
前記認証部は、無作為にパラメータＲを決定するとともに、自装置が保持しており、かつ、前記ブロックの取得要請を送信した他の情報処理装置が保持しているべきブロックに対応するデータファイルの少なくとも一部を特定する情報と、前記パラメータＲと、を前記ブロックの取得要請を送信した他の情報処理装置へ伝送し、前記ブロックの取得要請を送信した他の情報処理装置が、伝送された前記データファイルの少なくとも一部を特定する情報および前記パラメータＲを用いて算出したハッシュ値と、伝送した前記データファイルの少なくとも一部を特定する情報および前記パラメータＲを用いて自装置が算出したハッシュ値と、を比較してもよい。
【００２３】
前記認証部は、前記ブロックの取得要請を送信した他の情報処理装置が保持しているべき前記ブロックに関する保持ブロック情報と、当該他の情報処理装置が保持しているべきブロックを保持している第３の情報処理装置に関する情報とを、前記データファイル分割状況データベースから取得し、無作為に決定したパラメータＲを、前記他の情報処理装置および前記第３の情報処理装置に対して送信するとともに、前記パラメータＲと、前記他の情報処理装置および前記第３の情報処理装置がそれぞれ保持している前記ブロックの少なくとも一部を特定する情報と、を用いたハッシュ値の算出を要請し、前記他の情報処理装置から伝送された前記ハッシュ値と、前記第３の情報処理装置から伝送された前記ハッシュ値と、を比較してもよい。
【００２４】
前記データファイル識別情報は、前記データファイルのハッシュ値であってもよい。
【００２５】
前記情報処理装置は、データファイルの管理を行うストレージデバイスであってもよい。
【００２６】
前記情報処理装置は、自装置が保持する全てのデータファイルについて、自動的にデータファイルのブロック化処理を行ってもよい。
【００２７】
上記課題を解決するために、本発明の別の観点によれば、複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースが記録された記憶部と、一の前記情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新する分割状況変更部と、変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送する保持ブロック情報伝送部と、を備える分割管理サーバが提供される。
【００２８】
前記データファイル分割状況データベースは、分割管理されているデータファイルを識別するための情報であるデータファイル識別情報と、前記データファイルを保持している前記情報処理装置を特定する情報と、前記データファイルを保持している情報処理装置それぞれが保持している前記ブロックを特定する情報と、を少なくとも含むことが好ましい。
【００２９】
前記分割状況変更部は、予め設定されている冗長度に応じて、前記複数の情報処理装置それぞれが保持すべき前記ブロックを変更することが好ましい。
【００３０】
前記分割状況変更部は、前記複数の情報処理装置それぞれが保持する前記ブロックのデータサイズＤＣＸを、以下の式１に基づいて算出される大きさに設定してもよい。
【００３１】
【数３】
2010134630.tif 000006
・・・（式１）
【００３２】
ここで、上記式１において、ＤＣＸは、各情報処理装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【００３３】
前記分割状況変更部は、前記複数の情報処理装置それぞれが保持する前記ブロックのデータサイズＤＣＸを、以下の式２に基づいて算出される大きさに設定してもよい。
【００３４】
【数４】
2010134630.tif 000007
・・・（式２）
2010134630.tif 000008
・・・（式３）
【００３５】
ここで、上記式２において、ＤＣＸは、各情報処理装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置の台数であり、αＸは、情報処理装置におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【００３６】
前記分割管理サーバは、前記情報処理装置から、データファイルの分割状況を表す情報であるデータファイル分割状況情報の取得要求が伝送された場合に、該当する前記データファイル分割状況情報を前記情報処理装置へ伝送する、データファイル分割状況情報伝送部を更に備えることが好ましい。
【００３７】
上記課題を解決するために、本発明の更に別の観点によれば、自装置を除く他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うステップと、前記保持ブロック情報により特定される前記データファイルのブロックを、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記憶するステップと、を含む情報処理方法が提供される。
【００３８】
上記課題を解決するために、本発明の更に別の観点によれば、一の情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースを参照し、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新するステップと、変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送するステップと、を含む分割管理方法が提供される。
【００３９】
上記課題を解決するために、本発明の更に別の観点によれば、他の情報処理装置と通信可能なコンピュータに、自装置を除く前記他の情報処理装置間で複数のブロックに区分されて分割管理されており、かつ、自装置が保持するデータファイルについて、自装置が保持すべきブロックに関する情報である保持ブロック情報を取得し、当該保持ブロック情報に基づいて、自装置が保持する前記データファイルの分割を行うブロック化機能と、前記保持ブロック情報により特定される前記データファイルのブロックを、前記データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録する記録機能と、を実現させるためのプログラムが提供される。
【００４０】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の情報処理装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００４１】
上記課題を解決するために、本発明の更に別の観点によれば、複数の情報処理装置と通信可能なコンピュータに、前記複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースを管理する管理機能と、一の前記情報処理装置からデータファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されている当該データファイルの分割状況を変更し、前記データファイル分割状況データベースを更新する分割状況変更機能と、変更後の前記データファイルの分割状況に基づいて、分割状況が変更となった前記情報処理装置に対して、保持すべき前記ブロックに関する情報である保持ブロック情報を伝送する保持ブロック情報伝送機能と、を実現させるためのプログラムが提供される。
【００４２】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の分割管理サーバとして機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００４３】
上記課題を解決するために、本発明の更に別の観点によれば、上記情報処理装置と、上記分割管理サーバと、を含む情報処理システムが提供される。
【発明の効果】
【００４４】
本発明によれば、データファイルを公平に複数の装置間で分割管理することが可能である。
【発明を実施するための最良の形態】
【００４５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００４６】
なお、説明は、以下の順序で行うものとする。
（１）第１の実施形態
（１−１）情報処理システムの概要について
（１−２）情報処理システムについて
（１−３）情報処理装置の構成について
（１−４）分割管理サーバの構成について
（１−５）情報処理方法および分割管理方法について
（１−６）第１変形例について
（２）本発明の各実施形態に係るコメント管理サーバおよびデータ処理装置のハードウェア構成について
（３）まとめ
【００４７】
（第１の実施形態）
＜情報処理システムの概要について＞
まず、図１〜図８を参照しながら、本発明の第１の実施形態に係る情報処理システムの概要について、詳細に説明する。図１〜図８は、本実施形態に係る情報処理システムの概要を説明するための説明図である。
【００４８】
例えば図１に示したように、複数の情報処理装置１００Ａ〜１００Ｄそれぞれが、同一のデータファイル（図１では、Ｆｉｌｅ−１）を個別に保持しているような状況は、多く存在しうる。同じ内容のデータファイルを所有する複数の情報処理装置が存在する場合には、図１のように個々の装置がデータファイルを保持するよりも、例えば図２に示すように、複数の装置間で分担して保持した方が、ハードディスク等の記憶装置の占有度は低くなる。
【００４９】
例えば図２に示した例では、データファイル（以下、単にファイルとも称する。）を５つのブロックＡ〜Ｅに分割し、同一のファイルを保持する装置間で、１つのファイルを分担して保持している。すなわち、図２に示した情報処理装置Ａは、５つのブロックのうち、ブロックＡ、ブロックＢおよびブロックＣのみを保持しており、情報処理装置Ｂは、ブロックＣ、ブロックＤおよびブロックＥのみを保持している。同様に、図２に示した情報処理装置Ｃは、ブロックＢおよびブロックＤのみを保持しており、情報処理装置Ｄは、ブロックＡおよびブロックＥのみを保持している。これにより、情報処理装置Ａおよび情報処理装置Ｂでは、保持しているファイルサイズが従来の６０％となり、情報処理装置Ｃおよび情報処理装置Ｄでは、保持しているファイルサイズが従来の４０％となる。その結果、このような分担保持を行うことで、ファイル圧縮と同様の効果を得ることが可能となる。
【００５０】
また、一部のみしか保持していないファイルを使用したい場合には、自装置が保持していないブロック（以下、未保持ブロックと称する。）を保持している情報処理装置から未保持ブロックを取得して、元のファイルを復元すればよい。例えば図３に示した例において、ブロックＡ、ブロックＢおよびブロックＣを保持している情報処理装置Ａが、Ｆｉｌｅ−１を実行する場合を考える。この場合、情報処理装置Ａは、自身が保持していないブロックＤおよびブロックＥに対応するデータファイルを、これらのブロックを保持している情報処理装置から取得すればよい。例えば図３では、情報処理装置Ａは、情報処理装置ＢからブロックＤを取得し、情報処理装置ＤからブロックＥを取得することが可能である。これにより、情報処理装置Ａは、ブロックＡ〜ブロックＥの全てのブロックを保持することとなり、元のデータファイル（Ｆｉｌｅ−１）を復元することが可能となる。
【００５１】
次に、図４〜図６を参照しながら、同一のファイルを分担保持しているグループに、新たに同一のファイルを保持している情報処理装置Ｅが参加する場合について、その概略を説明する。
【００５２】
まず、ファイルの分割管理を希望する情報処理装置Ｅは、例えば図４に示したように、ファイルの分割状況を管理している分割管理サーバ２００に対して、分割管理への参加要請を行う。分割管理への参加要請の際に、参加を希望するデータファイルを特定するための情報として、ファイルの内容から生成されるデータファイル識別情報が添付される。このデータファイル識別情報は、例えば、ＳＨＡ−１ハッシュ関数等の各種のハッシュ関数を利用して生成することが可能である。ここで、図４において、Ｈ（ｘ）という表記は、ハッシュ関数を用いて「ｘ」という内容を処理した結果得られるハッシュ値を意味している。
【００５３】
次に、参加要請を受信した分割管理サーバ２００は、データファイル識別情報を用いて、参加要請のあったファイルと同じ内容のファイルを共有している情報処理装置のグループが存在しているか否かを判断する。このようなグループの有無の判断は、分割管理サーバ２００が保持している、ファイルの分割状況について記載されているデータベースを参照することで行われる。該当するファイルを分割保持している情報処理装置のグループが存在する場合には、分割管理サーバ２００は、ブロックの再割り当てを行う。具体的には、検出されたグループに所属する情報処理装置が保持していたブロックのいくつかを、参加要請のあった情報処理装置Ｅに分担させるようにする。
【００５４】
例えば、図５に示した例の場合、分割管理サーバ２００は、データベースを参照することにより、同一のファイルを分割保持している、情報処理装置Ａ〜情報処理装置Ｄからなるグループを検出する。分割管理サーバ２００は、Ｆｉｌｅ−１におけるブロックの再割り当てを行い、新たにグループへの参加を希望した情報処理装置Ｅに対して、例えば、ブロックＣおよびブロックＥを保持させる旨を決定する。分割管理サーバ２００は、データベースの内容を更新するとともに、分担の減った情報処理装置Ａおよび情報処理装置Ｂと、新たに分担が割り当てられた情報処理装置Ｅに対して、保持すべきブロックに関する情報を伝送する。保持すべきブロックに関する情報は、例えば図５に示したように、データファイルを特定するためのデータファイル識別情報と、保持すべきブロックを特定する情報と、を含む。
【００５５】
保持すべきブロックに関する情報を受信した情報処理装置Ａおよび情報処理装置Ｂは、分担の減ったブロックを、自装置の記憶装置（例えば、ハードディスク等）から削除する。また、情報処理装置Ｅは、保持しているファイル（Ｆｉｌｅ−１）をブロックに分割して、指定されたブロック以外を、自装置の記憶装置から削除する。また、各情報処理装置は、データファイル識別情報は、削除せずに記憶しておく。データファイル識別情報を削除せずに保持することで、情報処理装置は、ブロック化して一部のみを保持しているデータファイルが、ブロック化前のどのデータファイルに対応しているのかを、把握することが可能となる。
【００５６】
このような処理が行われることで、例えば図６に示したように、情報処理装置Ｅは、データファイルの分割管理に参加できたこととなり、保持していたファイル（Ｆｉｌｅ−１）のデータサイズを削減することが可能となる。
【００５７】
以上概略を説明したような、複数の装置間でのデータファイルの分担保持技術を、Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ（Ｐ２Ｐ）圧縮と呼ぶ。
【００５８】
このようなＰ２Ｐ圧縮は、情報処理装置が有する個々のデータファイルに対して行うことが可能である。例えば図７に示したように、分割管理サーバ２００に接続可能な情報処理装置が３台存在している場合を考える。この場合に、情報処理装置Ａは、Ｆｉｌｅ  Ａ、ＦｉｌｅＢ、Ｆｉｌｅ  Ｃの３つのファイルを保持しており、情報処理装置Ｂは、Ｆｉｌｅ  Ａ、Ｆｉｌｅ  Ｂ、Ｆｉｌｅ  Ｄを保持しているものとする。また、情報処理装置Ｃは、Ｆｉｌｅ  Ａ、Ｆｉｌｅ  Ｃ、Ｆｉｌｅ  Ｅを保持しているものとする。冗長度を考慮しない場合には、図７に示した場合では、Ｆｉｌｅ  Ａは３台の情報処理装置が保持しているため、各情報処理装置１００は、１／３ずつデータを保持することとなる。同様に、Ｆｉｌｅ  Ｂ、Ｆｉｌｅ  Ｃは、それぞれ２台の情報処理装置が保持しているため、これらのファイルを保持している情報処理装置１００は、１／２ずつデータを保持することとなる。
【００５９】
また、情報処理装置Ａ〜情報処理装置Ｃは、自装置が保持しているファイル全てについて、上述のようなＰ２Ｐ圧縮を、情報処理装置のユーザの指示なく自動的に行うことも可能である。これにより、例えば、情報処理装置がストレージデバイスである場合に、自装置が保持しているファイル全てについて自動的にＰ２Ｐ圧縮を行い、ストレージの空き容量を増やすことが可能な、自動Ｐ２Ｐ圧縮機能ストレージ装置を実現することが可能となる。
【００６０】
次に、図８を参照しながら、一部のブロックのみを保持しているデータファイルを復元する処理の概略について、説明する。
【００６１】
例えば図８に示したように、情報処理装置Ａは、Ｆｉｌｅ  Ａ、ＦｉｌｅＢ、Ｆｉｌｅ  Ｃの３つのファイルを保持しており、情報処理装置Ｂは、Ｆｉｌｅ  Ａ、Ｆｉｌｅ  Ｂ、Ｆｉｌｅ  Ｄを保持しているものとする。また、情報処理装置Ｃは、Ｆｉｌｅ  Ａ、Ｆｉｌｅ  Ｃ、Ｆｉｌｅ  Ｅを保持しているものとする。ここで、情報処理装置ＡがＦｉｌｅ  Ａを復元する場合について、以下に説明する。
【００６２】
まず、情報処理装置Ａは、Ｆｉｌｅ  Ａの分割状況を把握し、情報処理装置Ａの未保持ブロックをどの情報処理装置が保持しているかを知るために、データファイル分割状況情報の取得要求を分割管理サーバ２００に伝送する（１）。この際、Ｆｉｌｅ  Ａに関する分割状況であることを特定するために、情報処理装置Ａは、Ｆｉｌｅ  Ａのデータファイル識別情報（例えば、Ｆｉｌｅ  Ａの内容を用いて生成されたハッシュ値）を、分割管理サーバ２００に伝送する。
【００６３】
分割管理サーバ２００は、伝送されたデータファイル識別情報に基づいて、自装置が保持するデータベースを参照して、未保持ブロックを保持している情報処理装置を検出する。次に、分割管理サーバ２００は、検出した情報処理装置に関する情報を、Ｆｉｌｅ  Ａに関するデータファイル分割状況情報として、情報処理装置Ａに伝送する（２）。
【００６４】
データファイル分割状況情報を取得した情報処理装置Ａは、データファイル分割状況情報を参照することで、未保持ブロックを保持している情報処理装置が、情報処理装置Ｂおよび情報処理装置Ｃであることを知る。その結果、情報処理装置Ａは、情報処理装置Ｂおよび情報処理装置Ｃに対して、各装置が保持しているブロックの取得要求を伝送する（３）。
【００６５】
ブロックの取得要求を受信した情報処理装置Ｂおよび情報処理装置Ｃは、情報処理装置ＡがＦｉｌｅ  Ａの正規の所有者であるか否かを、所定の方法により認証する。情報処理装置Ｂは、認証が成功すると、自身が保持するブロックを情報処理装置Ａに伝送する（４）。同様に、情報処理装置Ｃは、認証が成功すると、自身が保持するブロックを情報処理装置Ａに伝送する（５）。
【００６６】
情報処理装置Ａは、全ての未保持ブロックを取得すると、取得したブロックと、予め自身が保持しているブロックとを用いて、Ｆｉｌｅ  Ａの復元を行う。これにより、情報処理装置Ａは、ブロック化される前のＦｉｌｅ  Ａを得ることができる。
【００６７】
以上概略を説明したような、Ｐ２Ｐ圧縮済みのデータファイルを元の状態に戻すための処理を、Ｐ２Ｐ解凍と呼ぶ。
【００６８】
以上、図１〜図８を参照しながら、上述のようなＰ２Ｐ圧縮およびＰ２Ｐ解凍を可能とする本実施形態に係る情報処理システムの概略について説明した。以下では、図９〜図１５を参照しながら、本実施形態に係る情報処理システムについて、詳細に説明する。
【００６９】
＜情報処理システムについて＞
まず、図９を参照しながら、本実施形態に係る情報処理システムの構成について説明する。図９は、本実施形態に係る情報処理システム１を説明するための説明図である。
【００７０】
例えば図９に示したように、本実施形態に係る情報処理システム１は、複数台の情報処理装置１００Ａ，１００Ｂ，１００Ｃ・・・と、分割管理サーバ２００と、を含む。また、情報処理装置１００Ａ、１００Ｂ，１００Ｃ・・・と分割管理サーバ２００とは、通信網３により相互に接続されている。
【００７１】
通信網３は、情報処理装置１００および分割管理サーバ２００を双方向通信又は一方向通信可能に接続する通信回線網である。この通信網３は、公衆回線網で構成されていてもよく、専用回線網で構成されていてもよい。また、この通信網３は、有線／無線を問わない。公衆回線網の一例として、例えば、インターネット、ＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）網、電話回線網、衛星通信網、同報通信路等がある。また、専用回線網の一例として、例えば、ＷＡＮ、ＬＡＮ、ＩＰ−ＶＰＮ、Ｅｔｈｅｒｎｅｔ（登録商標）、ワイヤレスＬＡＮ等がある。
【００７２】
情報処理装置１００Ａ，１００Ｂ，１００Ｃ・・・（以下、情報処理装置１００とも称する。）は、各種のデータファイルを保持可能な記憶装置を備える装置である。情報処理装置１００は、自装置が保持するデータファイルに関して、同一のデータファイルを有する他の情報処理装置１００との間で、上述のようなＰ２Ｐ圧縮処理およびＰ２Ｐ解凍処理を行うことが可能である。
【００７３】
この情報処理装置１００の機能は、例えば、携帯情報端末、携帯電話、携帯ゲーム機、携帯ミュージックプレーヤ、放送機器、パーソナルコンピュータ、ストレージデバイス、または、情報家電等により実現される。
【００７４】
なお、この情報処理装置１００については、以下で改めて詳細に説明する。
【００７５】
分割管理サーバ２００は、複数の情報処理装置１００間におけるデータファイルの分割状況が記載されているデータファイル分割状況データベースを保持する。また、分割管理サーバ２００は、ある情報処理装置１００からデータファイルの分割管理への参加要請が伝送された場合には、必要に応じてデータファイルの分割状況の変更を決定し、該当する情報処理装置へと通知する。この分割管理サーバ２００については、以下で改めて詳細に説明する。
【００７６】
＜情報処理装置の構成について＞
次に、図１０を参照しながら、本実施形態に係る情報処理装置の構成について、詳細に説明する。図１０は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【００７７】
本実施形態に係る情報処理装置１００は、例えば図１０に示したように、分割管理要求部１０１と、ブロック化部１０３と、データファイル分割状況情報取得部１０５と、未保持ブロック取得部１０７と、データファイル復元部１０９と、認証部１１１と、を備える。さらに、本実施形態に係る情報処理装置１００は、通信制御部１１３と、記憶部１１５と、を備える。
【００７８】
分割管理要請部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されている。分割管理要請部１０１は、情報処理装置１００が保持するデータファイルにファイルの分割管理を実行する場合に、分割管理サーバ２００に対して、データファイルの分割管理への参加要請を伝送する。分割管理への参加要求を表す情報には、データファイルを識別するための情報であるデータファイル識別情報が添付される。このデータファイル識別情報が分割管理への参加要請に添付されることで、分割管理サーバ２００は、どのデータファイルについて情報処理装置１００が分割管理を希望しているのかを把握することが可能となる。データファイル識別情報は、例えば、分割管理を希望するデータファイルの内容を用いて生成されたハッシュ値である。ハッシュ値を生成する際に用いられるハッシュ関数は、特定の関数に限定されるわけではないが、例えば、ＳＨＡ−１等の任意のビット数のハッシュ関数を利用することが可能である。分割管理要請部１０１は、生成したハッシュ値を、後述する記憶部１１５等に記録する。
【００７９】
ブロック化部１０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。ブロック化部１０３は、自装置が保持すべきブロックに関する情報である保持ブロック情報を分割管理サーバ２００等から取得する。また、ブロック化部１０３は、取得した保持ブロック情報に基づいて、自装置が保持するデータファイルの分割を行い、複数のブロックを生成する。また、ブロック化部１０３は、生成した複数のブロックのうち保持ブロック情報により特定されるブロックを、後述する記憶部１１５等に、データファイル識別情報と関連付けて記録する。保持ブロック情報は、自装置が保持すべきブロックに関する情報である。保持ブロック情報には、例えば、「データファイルの先頭から数えてｘ番目の位置からｙ番目の位置までの間のデータを、ブロックｉとして記録する」等といった内容の情報が記載されている。
【００８０】
情報処理装置１００が保持するブロックの総データサイズは、例えば分割管理サーバ２００から伝送される保持ブロック情報に基づいて決定される。保持するブロックの総データサイズは、任意の値に設定することが可能であるが、例えば、以下の式１０１に基づいて算出される大きさであってもよい。
【００８１】
【数５】
2010134630.tif 000009
・・・（式１０１）
【００８２】
ここで、上記式１０１において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【００８３】
上記パラメータのうち、冗長性係数βは、１つのブロックを何台の情報処理装置が保持しているかを表す係数であり、冗長性係数βがＮである場合には、１つのブロックをＮ台の情報処理装置が保持していることを表す。冗長性係数を１超過とすることで、１つのブロックが複数の情報処理装置によって保持されることとなる。そのため、ある情報処理装置においてブロックのデータが失われてしまった場合であっても、ブロックのデータがシステム全体から失われてしまうことを防止することができる。
【００８４】
また、保持するブロックの総データサイズは、例えば、以下の式１０２に基づいて算出される大きさであってもよい。
【００８５】
【数６】
2010134630.tif 000010
・・・（式１０２）
2010134630.tif 000011
・・・（式１０３）
【００８６】
ここで、上記式１０２において、ＤＣＸは、自装置が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する自装置を含めた情報処理装置の台数であり、αＸは、自装置におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式１０３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【００８７】
式１０３から明らかなように、式１０２における冗長性係数βＮは、データファイルＣを保持する情報処理装置の台数によって動的に変化する。また、情報処理装置が保持するブロックの総データサイズは、該当するデータファイルの利用頻度によっても変化する。よって、充分な数の情報処理装置が存在しＮｃが大きい場合であり、かつ、利用頻度が少ない（すなわちαｘ＝０）場合、Ｄｃｘ＝β×（Ｄｃ／Ｎｃ）となる。つまり、総データサイズは、元々のデータサイズを情報処理装置の台数で割ったものに、冗長度を積算したものに等しい。また、充分な数の情報処理装置が存在し、かつ、頻繁に利用される（すなわちαｘ＝１）の場合、Ｄｃｘ＝Ｄｃとなる。これは、総データサイズは、元のデータサイズに等しい、つまりＰ２Ｐ圧縮を実行しない場合に相当する。
【００８８】
上述のように、利用頻度に応じて総データサイズを変更することで、Ｐ２Ｐ解凍時におけるファイルアクセス時間を調整することが可能となり、ユーザビリティの低下を防ぐことが可能となる。
【００８９】
データファイル分割状況情報取得部１０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。データファイル分割状況情報取得部１０５は、自装置が保持するデータファイルについて、データファイルを保持する他の情報処理装置間での分割状況を表すデータファイル分割状況情報を、分割管理サーバ２００から取得する。より詳細には、データファイル分割状況情報取得部１０５は、分割状況を知りたいデータファイルのデータファイル識別情報を分割管理サーバ２００に伝送する。データファイル分割状況情報は、例えばＰ２Ｐ解凍処理時に必要となる情報であり、情報処理装置１００にＰ２Ｐ解凍処理を実行する旨の操作が入力された際などに、データファイル分割状況情報取得部１０５が分割管理サーバ２００から取得する。
【００９０】
分割管理サーバ２００では、例えば図１１に示すようなデータファイルの分割状況が記載されているデータファイル分割状況データベースを保持している。このデータベースは、図１１に示したように、データファイル識別情報と、データファイルを保持している情報処理装置と、情報処理装置が保持しているブロックに関する情報と、が互いに関連付けられて記録されている。分割管理サーバ２００は、伝送されたデータファイル識別情報に基づいてデータベースを検索し、データファイルを保持している情報処理装置の識別番号（ノードＩＤ）や、各情報処理装置が保持しているブロックに関する情報を得る。続いて、分割管理サーバ２００は、検索の結果得られた情報を、データファイル分割状況情報として情報処理装置１００に伝送する。
【００９１】
データファイル分割状況情報取得部１０５は、分割管理サーバ２００から伝送されたデータファイル分割状況情報を、後述する未保持ブロック取得部１０７に伝送する。また、データファイル分割状況情報取得部１０５は、得られたデータファイル分割状況情報を、後述する記憶部１１５等に記録してもよい。
【００９２】
未保持ブロック取得部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。未保持ブロック取得部１０７は、データファイル分割状況情報取得部１０５から伝送されたデータファイル分割状況情報と、記憶部１１５等に記録されている保持ブロックとに基づいて、未保持ブロックを保持している他の情報処理装置１００を判別する。更に、未保持ブロック取得部１０７は、未保持ブロックを保持している他の情報処理装置１００に対して、未保持ブロックの取得要求を伝送し、未保持ブロックを保持している他の情報処理装置１００から未保持ブロックに対応するデータファイルを取得する。
【００９３】
また、本実施形態に係る情報処理システム１では、未保持ブロックを保持している他の情報処理装置１００は、該当するブロックの送信に先立ち、取得要求の伝送元である情報処理装置１００に対して、認証処理を行う。そのため、未保持ブロック取得部１０７は、他の情報処理装置１００から伝送されたデータや、自装置に記録されている各種データ等を用いて他の情報処理装置１００から要求された各種のデータを生成し、該当する他の情報処理装置１００に対して送信する。
【００９４】
また、未保持ブロック取得部１０７は、取得した未保持ブロックに対応するデータファイルを、後述するデータファイル復元部１０９に伝送する。
【００９５】
データファイル復元部１０９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。データファイル復元部１０９は、未保持ブロック取得部１０７から伝送された未保持ブロックに対応するデータファイルと、記憶部１１５等に記録されている保持ブロックに対応するデータファイルとに基づいて、データファイルの復元処理を行う。
【００９６】
認証部１１１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。認証部１１１は、自装置が保持するブロックの取得要請が他の情報処理装置１００から伝送された場合に、他の情報処理装置１００がデータファイルを適式に保持しているか否かに基づいて他の情報処理装置１００の認証を行う。
【００９７】
他の情報処理装置１００から、自装置が保持するブロックの取得要請が伝送された際に認証処理を行わない場合には、分担どおりのブロックを保持していない装置でも、複数の情報処理装置から全てのブロックを取得することが可能となってしまう。そのため、以下で説明するような認証処理を実行することで、不正行為を防止することが可能となる。
【００９８】
認証部１１１が行う認証処理として、例えば、保持ブロック情報を用いたダイジェスト認証を挙げることが可能である。認証部１１１は、他の情報処理装置１００のブロックの保持状況に応じて、例えば、以下に示す二種類のダイジェスト認証処理を行うことが可能である。
【００９９】
まず、認証部１１１は、ブロックの取得要請に添付されている、他の情報処理装置１００を特定するための識別情報およびデータファイル識別情報を用いて、分割管理サーバ２００に他の情報処理装置１００が保持しているべきブロックに関する問い合わせを行う。分割管理サーバ２００は、当該サーバが保持しているデータファイル分割状況データベースを参照することで、他の情報処理装置１００が保持しているべきブロックを特定することが可能である。認証部１１１は、分割管理サーバ２００からの回答を参照することで、取得要請のあった情報処理装置１００が保持しているべきブロックに関する情報を知ることができる。
【０１００】
取得要請のあった情報処理装置１００が、自装置が保持しているブロックと同一のブロックを保持していると考えられる場合には、認証部１１１は、以下のようなダイジェスト認証処理を行う。
【０１０１】
認証部１１１は、まず、パラメータＲを無作為に決定する。次に、認証部１１１は、取得要請のあった情報処理装置１００が保持しているべきブロックに対応するデータファイルの少なくとも一部を特定する情報とパラメータＲとを、取得要請のあった情報処理装置１００へ伝送する。ここで、保持しているべきブロックに対応するデータファイルの少なくとも一部を特定する情報として、例えば、保持しているべきブロックの中の一部を指定する情報であるブロック内のアドレス範囲（以下、バイトレンジとも称する。）を挙げることができる。また、認証部１１１は、これらの情報とパラメータＲとを伝送する際に、これらの値を用いてハッシュ値を生成するように要請する。
【０１０２】
上述の情報を受信した情報処理装置１００の未保持ブロック取得部１０７は、指定されたブロックの指定されたバイトレンジのデータ内容を切り出し、切り出した内容と伝送された値Ｒとを連結したデータのハッシュ値を算出する。ハッシュ値の算出が終了した情報処理装置１００の未保持ブロック取得部１０７は、算出したハッシュ値を、送り返す。
【０１０３】
他方、認証部１１１は、要請のあった情報処理装置１００に対して通知したブロックの指定されたバイトレンジのデータ内容を切り出し、切り出した内容と決定した値Ｒとを連結したデータのハッシュ値を予め算出しておく。ハッシュ値を受信した認証部１１１は、予め算出しておいたハッシュ値と、要請のあった情報処理装置１００から伝送されたハッシュ値とを比較する。
【０１０４】
認証部１１１は、比較結果が一致した場合には、要請のあった情報処理装置１００は、正しいノード（すなわち、適式にデータファイル、ひいてはブロックを保持している情報処理装置）と判断し、認証は成功したと判断する。逆に、認証部１１１は、比較結果が一致しなかった場合には、要請のあった情報処理装置１００は不正なノードであるとして、認証は失敗したと判断する。
【０１０５】
また、取得要請のあった情報処理装置１００が、自装置が保持しているブロックと同一のブロックを保持していない場合には、認証部１１１は、以下のようなダイジェスト認証処理を行う。
【０１０６】
まず、認証部１１１は、取得要請のあった情報処理装置１００が保持しているべきブロックを同様に保持している、第３の情報処理装置１００が存在するか否かを、分割管理サーバ２００に問い合わせる。分割管理サーバ２００は、データファイル分割状況データベースを参照して、第３の情報処理装置の有無について検索を行い、検索結果を認証部１１１に伝送する。
【０１０７】
上述のような第３の情報処理装置１００が存在しない場合には、認証部１１１は、認証は失敗したと判断する。
【０１０８】
また、第３の情報処理装置１００が存在し、取得要請があった情報処理装置および第３の情報処理装置が共通して保持しているブロックである共通ブロックが存在する場合には、認証部１１１は、ダイジェスト認証に用いられるパラメータＲを無作為に決定する。次に、認証部１１１は、共通ブロックに対応するデータファイルの少なくとも一部を特定する情報とパラメータＲとを、取得要請があった情報処理装置および第３の情報処理装置の双方に伝送する。
【０１０９】
上述の情報を受信したそれぞれの情報処理装置１００の未保持ブロック取得部１０７は、指定されたブロックの指定されたバイトレンジのデータ内容を切り出し、切り出した内容と伝送された値Ｒとを連結したデータのハッシュ値を算出する。ハッシュ値の算出が終了したそれぞれの情報処理装置１００の未保持ブロック取得部１０７は、算出したハッシュ値を、送り返す。
【０１１０】
取得要請のあった情報処理装置および第３の情報処理装置の双方からハッシュ値を受信した認証部１１１は、受信した２つのハッシュ値の比較を行う。受信した２つのハッシュ値が同じ値であった場合には、認証部１１１は、要請のあった情報処理装置１００は、正しいノードであると判断し、認証は成功したと判断する。受信した２つのハッシュ値の値が異なる場合には、取得要請のあった情報処理装置または第３の情報処理装置の少なくとも何れか一方が不正なノードである場合が考えられる。そのため、認証部１１１は、取得要請のあった情報処理装置が保持している別のブロックを保持している第４の情報処理装置が存在するか否かを分割管理サーバ２００に問い合わせ、同様の処理を繰り返す。再びハッシュ値が一致しなかった場合には、認証部１１１は、取得要請のあった情報処理装置１００は不正なノードであると判断し、認証は失敗したと判断する。また、ハッシュ値が一致した場合には、認証部１１１は、取得要請のあった情報処理装置は正しいノードであると判断し、認証は成功したと判断する。なお、この例では、認証部１１１は、ハッシュ値が一致するか否かを異なる２つの情報処理装置（第３および第４の情報処理装置）を利用して判断しているが、上述の例に限定されるわけではない。
【０１１１】
このように、本実施形態に係る情報処理装置１００では、自装置が保持していない未保持ブロックの取得処理が実行される際には、未保持ブロックを保持している情報処理装置１００によって認証処理が行われる。情報処理装置１００は、適式にデータファイルを保持していないと未保持ブロックを取得することができないため、誰でも全てのファイルにアクセスができるファイル共有システムが構築されることがない。そのため、データファイルが著作権等の権利に守られたものである場合であっても、著作者の想定外の処理が実施されることがない。また、この認証処理により、データファイルのライセンスと同様の効果を得ることができる。
【０１１２】
通信制御部１１３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等から構成されている。通信制御部１１３は、情報処理装置１００と分割管理サーバ２００との間、および、複数の情報処理装置１００間で送受信される各種データの通信制御を行う。より詳細には、通信制御部１１３は、本実施形態に係る情報処理装置１００が備える各処理部からの要請を受け、各種のデータや信号を、分割管理サーバ２００や他の情報処理装置１００へと送信する。また、通信制御部１１３は、分割管理サーバ２００や他の情報処理装置１００から送信された各種のデータや信号を受信し、本実施形態に係る情報処理装置１００が備える各処理部へと伝送する。
【０１１３】
また、通信制御部１１３は、後述する記憶部１１５を、送受信用のバッファとして利用することが可能である。
【０１１４】
記憶部１１５には、本実施形態に係る情報処理装置１００が保持すべきデータファイルのブロックが、データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される。これにより、他の情報処理装置１００との間でデータファイルが分割管理されているデータファイルについては、自装置が保持すべきブロックに対応するデータファイルのみが記憶部１１５に記録されることとなる。また、記憶部１１５には、ブロック化されて保持されているデータファイルの利用履歴等が記録されていてもよい。
【０１１５】
また、記憶部１１５には、本実施形態に係る情報処理装置１００が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録されてもよい。この記憶部１１５は、分割管理要請部１０１、ブロック化部１０３、データファイル分割状況情報取得部１０５、未保持ブロック取得部１０７、データファイル復元部１０９、認証部１１１、通信制御部１１３等が、自由に読み書きを行うことが可能である。
【０１１６】
以上、本実施形態に係る情報処理装置１００の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１１７】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０１１８】
＜分割管理サーバの構成について＞
続いて、図１２を参照しながら、本実施形態に係る分割管理サーバ２００の構成について、詳細に説明する。図１２は、本実施形態に係る分割管理サーバ２００の構成を説明するためのブロック図である。
【０１１９】
本実施形態に係る分割管理サーバ２００は、例えば図１２に示したように、分割状況変更部２０１と、保持ブロック情報伝送部２０３と、データファイル分割状況情報伝送部２０５と、通信制御部２０７と、記憶部２０９と、を主に備える。
【０１２０】
分割状況変更部２０１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。分割状況変更部２０１は、情報処理装置１００から、データファイルの分割管理への参加要請が伝送された場合に、参加要請のあったデータファイルについて、複数のブロックに分割されて管理されているデータファイルの分割状況を変更する。
【０１２１】
まず、分割状況変更部２０１は、後述する記憶部２０９に格納されているデータファイル分割状況データベースを参照して、参加要請のあったデータファイルの分割状況を把握する。データファイル分割状況データベースは、例えば図１１に示したように、データファイル識別情報と、データファイルを保持している情報処理装置を特定する情報と、情報処理装置それぞれが保持しているブロックを特定する情報と、を少なくとも含む。分割状況変更部２０１は、分割管理への参加要請に記載されているデータファイル識別情報に基づいてデータベースを検索し、データファイルを保持している情報処理装置と、各情報処理装置１００が保持しているブロックと、を把握することが可能である。次に、分割状況変更部２０１は、所定の方法を用いて、データファイルの分割状況を変更する。また、データファイルの分割状況の変更が終了すると、分割状況変更部２０１は、データファイル分割状況データベースの内容を更新する。また、分割状況変更部２０１は、変更後の分割状況を、後述する保持ブロック情報伝送部２０３に伝送する。
【０１２２】
ここで、分割状況変更部２０１は、分割管理サーバ２００において予め設定されている冗長度に応じて、複数の情報処理装置それぞれが保持すべきブロックを変更することが好ましい。
【０１２３】
分割状況変更部２０１は、データファイルの分割状況の変更に際して、複数の情報処理装置１００それぞれが保持するブロックのデータサイズＤＣＸを、以下の式２０１に基づいて算出される大きさに変更することが可能である。
【０１２４】
【数７】
2010134630.tif 000012
・・・（式２０１）
【０１２５】
ここで、上記式２０１において、ＤＣＸは、各情報処理装置１００が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置１００の台数であり、βは、冗長性係数（β＞１）であり、ＤＣは、データファイルＣのデータサイズである。
【０１２６】
また、分割状況変更部２０１は、情報処理装置１００から要請のあった場合などに、式２０１の代わりに、以下の式２０２に基づいて複数の情報処理装置１００それぞれが保持するブロックのデータサイズＤＣＸを変更してもよい。
【０１２７】
【数８】
2010134630.tif 000013
・・・（式２０２）
2010134630.tif 000014
・・・（式２０３）
【０１２８】
ここで、上記式２０２において、ＤＣＸは、各情報処理装置１００が保持するブロックのデータサイズであり、ＮＣは、データファイルＣを保持する情報処理装置１００の台数である。また、αＸは、情報処理装置１００におけるデータファイルＣの利用頻度（０≦αＸ≦１）であり、βＮは、冗長性係数β（β＞１）を用いて式２０３により算出される冗長性係数であり、コンテンツＤＣは、データファイルＣのデータサイズである。
【０１２９】
なお、上記式２０２に基づいてデータファイルのデータサイズを変更する場合には、情報処理装置１００における利用頻度が必要となるが、この利用頻度は、例えば以下のようにして得ることが可能である。すなわち、上述のように本実施形態に係る情報処理システムでは、情報処理装置が保持していない未保持ブロックの取得に際して、情報処理装置１００は、分割管理サーバ２００に対してデータファイル分割状況情報の取得要求を行う。そのため、分割管理サーバ２００では、このデータファイル分割状況情報の取得要求が伝送された日時や回数等を履歴として記録することにより、各情報処理装置１００におけるデータファイルの利用頻度を得ることが可能となる。
【０１３０】
また、分割状況変更部２０１は、各情報処理装置１００が保持すべき保持ブロックについて、各情報処理装置１００間で分散状況が公平となるように変更を行う。
【０１３１】
保持ブロック情報伝送部２０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。保持ブロック情報伝送部２０３は、分割状況変更部２０１から伝送された変更後のデータファイルの分割状況に基づいて、分割状況が変更となった情報処理装置１００に対して、保持すべきブロックに関する情報である保持ブロック情報を伝送する。
【０１３２】
データファイル分割状況情報伝送部２０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。データファイル分割状況情報伝送部２０５は、情報処理装置１００からデータファイルの分割状況を表す情報であるデータファイル分割状況情報の取得要求が伝送された場合に、該当するデータファイル分割状況情報を要請のあった情報処理装置１００へ伝送する。より詳細には、データファイル分割状況情報伝送部２０５は、伝送されたデータファイル分割状況情報の取得要求に記載されているデータファイル識別情報に基づいてデータファイル分割状況データベースを参照し、該当するデータファイルの分割状況を検索する。データベースには、例えば図１１に示したような情報が記載されているため、データファイル分割状況情報伝送部２０５は、要請のあったデータファイルの分割状況を把握することが可能となる。データファイル分割状況情報伝送部２０５は、検索の結果得られた分割状況を、データファイル分割状況情報として要請のあった情報処理装置１００に伝送する。
【０１３３】
通信制御部２０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等から構成されている。通信制御部２０７は、分割管理サーバ２００と情報処理装置１００との間で送受信される各種データの通信制御を行う。より詳細には、通信制御部２０７は、本実施形態に係る分割管理サーバ２００が備える各処理部からの要請を受け、各種のデータや信号を、情報処理装置１００へと送信する。また、通信制御部２０７は、情報処理装置１００から送信された各種のデータや信号を受信し、本実施形態に係る分割管理サーバ２００が備える各処理部へと伝送する。
【０１３４】
また、通信制御部２０７は、後述する記憶部２０９を、送受信用のバッファとして利用することが可能である。
【０１３５】
記憶部２０９には、複数の情報処理装置間で分割管理されるデータファイルの分割状況に関するデータファイル分割状況データベースが記録される。このデータファイル分割状況データベースは、例えば図１１に示したような項目の情報が記録されており、分割管理サーバ２００の各処理部は、任意の項目に基づいてデータベースに記録されている内容の検索を行うことが可能である。例えば、各処理部は、データファイル識別情報（ファイルＩＤ）に基づいてデータベースの内容を検索し、該当するファイルＩＤのデータファイルを保持しているノードである情報処理装置のノードＩＤや保持している担当ブロック等を知ることが可能である。
【０１３６】
また、記憶部２０９には、本実施形態に係る分割管理サーバ２００が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録されてもよい。この記憶部２０９は、分割状況変更部２０１、保持ブロック情報伝送部２０３、データファイル分割状況情報伝送部２０５、通信制御部２０７等が、自由に読み書きを行うことが可能である。
【０１３７】
以上、本実施形態に係る分割管理サーバ２００の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１３８】
なお、上述のような本実施形態に係る分割管理サーバの各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０１３９】
＜情報処理方法および分割管理方法について＞
続いて、図１３〜図１５を参照しながら、本実施形態に係る情報処理装置１００で実施される情報処理方法、および、本実施形態に係る分割管理サーバ２００で実施される分割管理方法について、詳細に説明する。図１３および図１４は、本実施形態に係る情報処理方法および分割管理方法を説明するための流れ図である。図１５は、本実施形態に係る情報処理方法を説明するための流れ図である。
【０１４０】
［分割管理への参加要請があった際の流れ］
まず、図１３を参照しながら、ある情報処理装置１００からデータファイルの分割管理への参加要請がなされた場合における情報処理方法および分割管理方法について、詳細に説明する。なお、以下の説明では、情報処理装置Ａが予めデータファイルの分割管理に参加しており、情報処理装置Ｂが新たに分割管理への参加要請を行ったとする。また、図１３では、予め分割管理に参加している情報処理装置１００として情報処理装置Ａのみしか図示していないが、実際には、複数の情報処理装置が存在していることは言うまでもない。
【０１４１】
まず、データファイルの分割管理への参加を希望する情報処理装置Ｂの分割管理要請部１０１は、分割管理サーバ２００に対して、データファイルの分割管理への参加要請を伝送する（ステップＳ１０１）。詳細には、分割管理要請部１０１は、分割管理への参加を希望するデータファイルの内容と、情報処理システムにおいて予め決定されているハッシュ関数とを用いて、分割管理への参加を希望するデータファイルを特定するためのデータファイル識別情報を生成する。続いて、分割管理要請部１０１は、生成したデータファイル識別情報を添付して、分割管理への参加要請を分割管理サーバ２００へと伝送する。
【０１４２】
分割管理への参加要請を受信した分割管理サーバ２００の分割状況変更部２０１は、分割管理への参加要請に含まれるデータファイル識別情報に基づいてデータファイル分割状況データベースを参照して、参加要請のあったデータファイルの分割状況等を確認する。続いて、分割状況変更部２０１は、情報処理装置間での分担が公平となるように分割状況の変更を行う（ステップＳ１０３）。これにより、分割状況変更部２０１は、各情報処理装置１００が保持すべきブロックと、保持すべきブロックのデータサイズとを決定する。
【０１４３】
続いて、分割状況変更部２０１は、該当するデータファイルに関するデータファイル分割状況データベースの内容を、変更した分割状況に基づいて更新する（ステップＳ１０５）。また、分割状況変更部２０１は、変更後の分割状況を、保持ブロック情報伝送部２０３へと伝送する。
【０１４４】
次に、保持ブロック情報伝送部２０３は、変更後の分割状況に基づいて、参加要請のあった情報処理装置Ｂと、保持すべきブロックに変更の生じた情報処理装置Ａとに、新たな保持ブロック情報を伝送する（ステップＳ１０７）。
【０１４５】
保持ブロック情報を受信した情報処理装置Ａのブロック化部１０３は、受信した保持ブロック情報に記載されている内容に基づいて、自装置が保持していた保持ブロックを変更する（ステップＳ１０９）。
【０１４６】
また、保持ブロック情報を受信した情報処理装置Ｂのブロック化部１０３は、受信した保持ブロック情報に記載されている内容に基づいて、参加要請を行ったデータファイルをブロック化する（ステップＳ１１１）。次に、ブロック化部１０３は、保持ブロック情報に記載されている内容に基づいて、自装置が保持すべきブロックを、保持ブロックとして記録する（ステップＳ１１３）。
【０１４７】
このような手順で処理が行われることにより、各情報処理装置１００は、データファイルを分割して管理することが可能となり、自装置が保持するデータファイルの容量を削減することが可能となる。また、かかる手順で処理を行うことで、分割管理サーバ２００は、分割管理が行われているデータファイルの分割状況を管理することが可能となる。
【０１４８】
［未保持ブロックの取得に関する流れ］
次に、図１４を参照しながら、ある情報処理装置１００が未保持ブロックの取得を行う場合における情報処理方法および分割管理方法について、詳細に説明する。なお、以下の説明では、情報処理装置Ｂが未保持ブロックの取得を行うものとする。また、図１４では、分割管理に参加している情報処理装置１００として情報処理装置Ａおよび情報処理装置Ｂのみしか図示していないが、実際には、複数の情報処理装置が存在していることは言うまでもない。
【０１４９】
分割管理を行っているデータファイルの復元を行う場合には、情報処理装置Ｂは、自装置が保持していないブロック（未保持ブロック）を、自装置以外の情報処理装置から取得する必要がある。まず、情報処理装置Ｂの未保持ブロック取得部１０７は、分割管理サーバ２００に対して、復元を行うデータファイルのデータファイル分割状況情報の取得要請を行う（ステップＳ２０１）。より詳細には、未保持ブロック取得部１０７は、記憶部１１５等に格納されている復元を希望するデータファイルのデータファイル識別情報を添付して、分割管理サーバ２００にデータファイル分割状況情報の送信を要請する。
【０１５０】
データファイル分割状況情報の取得要請を受信した分割管理サーバ２００のデータファイル分割状況情報伝送部２０５は、取得要請に添付されるデータファイル識別情報に基づいて、データファイル分割状況データベースを参照する（ステップＳ２０３）。データファイル識別情報に基づいてデータベースを検索することで、データファイル分割状況情報伝送部２０５は、該当するデータファイルの分割状況（すなわち、どの情報処理装置がどのブロックを保持しているか）を把握することが可能となる。
【０１５１】
続いて、データファイル分割状況情報伝送部２０５は、データベースを参照することにより得られた該当するデータファイルの分割状況情報を、要請のあった情報処理装置Ｂへと伝送する（ステップＳ２０５）。
【０１５２】
データファイル分割状況情報を分割管理サーバ２００から受信した未保持ブロック取得部１０７は、データファイル分割状況情報を参照して、自装置が保持していない未保持ブロックを保持している情報処理装置１００を特定する。続いて、未保持ブロック取得部１０７は、未保持ブロックを保持している情報処理装置１００それぞれに対して、未保持ブロックの取得要請を伝送する（ステップＳ２０７）。
【０１５３】
未保持ブロックの取得要請を受信した情報処理装置Ａの認証部１１１は、取得要請を送信した情報処理装置Ｂが保持しているべきブロックを適式に保持しているか否かを、ダイジェスト認証により認証する（ステップＳ２０９）。このダイジェスト認証処理については、図１５を参照しながら、改めて詳細に説明する。
【０１５４】
情報処理装置Ａの認証部１１１は、情報処理装置Ｂの認証に成功すると、情報処理装置Ｂが保持しているべきブロックを適式に保持していると判断し、指定されたデータファイルのブロックを、情報処理装置Ｂに伝送する（ステップＳ２１１）。また、情報処理装置Ａの認証部１１１は、情報処理装置Ｂの認証に失敗すると、情報処理装置Ｂは正規のノードではないと判断し、指定されたデータファイルのブロックの伝送を行わない。
【０１５５】
情報処理装置Ａから当該装置が保持しているブロックに対応したデータファイルが伝送されると、情報処理装置Ｂの未保持ブロック取得部１０７は、伝送されたブロックに対応したデータファイルを受信する。続いて、未保持ブロック取得部１０７は、取得した未保持ブロックに対応するデータファイルを、データファイル復元部１０９に伝送する。
【０１５６】
なお、図１４において、情報処理装置Ｂは、未保持ブロックの取得要請を情報処理装置Ａにのみ伝送しているが、未保持ブロックを保持している情報処理装置が他にも存在する場合には、情報処理装置Ｂは、同様の方法で処理を行い、未保持ブロックを全て取得する。
【０１５７】
データファイル復元部１０９は、未保持ブロックが全て伝送されると、情報処理装置Ｂが保持している保持ブロックに対応するデータファイルを記憶部１１５から取得して、ファイルの復元処理を行う（ステップＳ２１３）。
【０１５８】
このような処理を行うことで、情報処理装置は、分割管理を行っているデータファイルの復元を行うことが可能となる。
【０１５９】
［ダイジェスト認証処理に関する流れ］
次に、図１５を参照しながら、未保持ブロックの取得要請を受信した情報処理装置１００の認証部１１１が行うダイジェスト認証処理について、詳細に説明する。なお、以下の説明では、便宜上、未保持ブロックの取得要請を受信した情報処理装置を情報処理装置Ａとし、取得要請を送信した情報処理装置を情報処理装置Ｂとする。
【０１６０】
未保持ブロックの取得要請を受信した情報処理装置Ａの認証部１１１は、まず、要請のあった情報処理装置Ｂが保持しているブロックについて、分割管理サーバ２００に照会する（ステップＳ３０１）。より詳細には、認証部１１１は、要請のあったブロックに対応するデータファイル識別情報と情報処理装置Ｂを特定する情報とを分割管理サーバ２００に伝送し、情報処理装置Ｂの保持ブロックに関する情報を、データファイル分割状況情報として取得する。
【０１６１】
分割管理サーバ２００からデータファイル分割状況情報を取得した認証部１１１は、データファイル分割状況情報を参照して、取得要請のあった情報処理装置Ｂが、自装置（情報処理装置Ａ）と同じブロックを保持しているか否かを判断する（ステップＳ３０３）。
【０１６２】
情報処理装置Ｂが情報処理装置Ａと同じブロックを保持している場合には、情報処理装置Ａの認証部１１１は、自装置（情報処理装置Ａ）と、要請のあった情報処理装置Ｂとの間で、以下に説明するようなダイジェスト認証処理を行う（ステップＳ３０５）。
【０１６３】
まず、情報処理装置Ａの認証部１１１は、情報処理装置Ｂに対して、情報処理装置Ｂと共通するブロック（以下、共通ブロックとも称する。）を指定し、さらに、共通ブロックの一部を指定するバイトレンジと、即時生成した乱数であるパラメータＲとを送信する。
【０１６４】
情報処理装置Ｂの未保持ブロック取得部１０７は、指定されたブロックの指定されたバイトレンジに対応する内容を記憶部１１５から取得し、取得したデータ内容と指定された乱数Ｒとを連結したデータのハッシュ値を生成する。次に、未保持ブロック取得部１０７は、生成したハッシュ値を、情報処理装置Ａに返信する。
【０１６５】
情報処理装置Ａの認証部１１１は、情報処理装置Ｂに送信したバイトレンジと、乱数Ｒとを用いて、予めハッシュ値を算出しておく。情報処理装置Ｂからハッシュ値が返信されてくると、情報処理装置Ａの認証部１１１は、自装置で算出したハッシュ値と、情報処理装置Ｂから伝送されたハッシュ値の比較を行う（ステップＳ３０７）。
【０１６６】
自装置で算出したハッシュ値と、情報処理装置Ｂから伝送されたハッシュ値が一致した場合には、情報処理装置Ａの認証部１１１は、ダイジェスト認証が成功したと判断する（ステップＳ３０９）。また、自装置で算出したハッシュ値と、情報処理装置Ｂから伝送されたハッシュ値が一致しなかった場合には、情報処理装置Ａの認証部１１１は、ダイジェスト認証が失敗したと判断する（ステップＳ３２３）。
【０１６７】
他方、情報処理装置Ｂが自装置と同じブロックを保持していない場合には、情報処理装置Ａの認証部１１１は、情報処理装置Ｂと、情報処理装置ＡおよびＢのいずれとも異なる第３の情報処理装置とに対して、ダイジェスト認証処理を行う（ステップＳ３１１）。
【０１６８】
この場合、情報処理装置Ａの認証部１１１は、まず、分割管理サーバ２００に対して、情報処理装置Ｂと共通するブロックを保持している第３の情報処理装置（以下、情報処理装置Ｃと称する。）の有無を問い合わせる。情報処理装置Ｂと共通のブロックを保持している情報処理装置Ｃが存在しない場合には、情報処理装置Ａの認証部１１１は、認証は失敗したと判断する。また、情報処理装置Ｃが存在する場合には、情報処理装置Ａの認証部１１１は、情報処理装置ＢおよびＣに対して、両者に共通する共通ブロックを指定し、さらに、共通ブロックの一部を指定するバイトレンジと、即時生成した乱数であるパラメータＲとを送信する。情報処理装置ＢおよびＣそれぞれは、指定されたブロックの指定されたバイトレンジに対応する内容を記憶部１１５から取得し、取得したデータ内容と指定された乱数Ｒとを連結したデータのハッシュ値を生成する。次に、情報処理装置ＢおよびＣそれぞれは、生成したハッシュ値を、情報処理装置Ａに返信する。
【０１６９】
情報処理装置Ａの認証部１１１は、情報処理装置Ｂおよび情報処理装置Ｃから伝送されたハッシュ値が一致しているか否かを判断する（ステップＳ３１３）。ハッシュ値が一致していた場合には、情報処理装置Ａの認証部１１１は、認証は成功したと判断する（ステップＳ３１５）。また、情報処理装置Ｂおよび情報処理装置Ｃから伝送されたハッシュ値が一致しなかった場合には、情報処理装置Ａの認証部１１１は、情報処理装置Ｂおよび情報処理装置Ｃの少なくとも何れかが不正なノードであると判断する。そのため、情報処理装置Ａの認証部１１１は、情報処理装置Ｂが保持している別のブロックを保持している第４の情報処理装置（以下、情報処理装置Ｄと称する。）の有無を確認する。その後、情報処理装置Ａの認証部１１１は、情報処理装置Ｂと情報処理装置Ｄとに対し、ステップＳ３１１と同様のダイジェスト認証処理を行い（ステップＳ３１７）、ハッシュ値の比較を行う（ステップＳ３１９）。
【０１７０】
情報処理装置Ｂおよび情報処理装置Ｄから送信されたハッシュ値が一致した場合には、情報処理装置Ａの認証部１１１は、認証は成功したと判断する（ステップＳ３２１）。また、ハッシュ値が一致しなかった場合には、情報処理装置Ａの認証部１１１は、情報処理装置Ｂは不正なノードであると判断し、認証は失敗したと判断する（ステップＳ３２３）。
【０１７１】
このような処理を行うことで、情報処理装置１００は、未保持ブロックの取得要請を送信した情報処理装置が正規のノードであるか否かを判断することが可能となる。
【０１７２】
＜第１変形例＞
上述の実施形態では、各情報処理装置１００におけるデータファイルの分割状況を管理する分割管理サーバ２００を配置して、データファイルの分割管理を行う場合について説明した。しかしながら、例えば図１６に示したように、分割管理サーバ２００が有するデータファイル分割状況データベース自体を分散管理し、各情報処理装置１００が分割管理サーバ２００の機能を保持することで、サーバレスの情報処理システムを実現可能である。
【０１７３】
例えば図１６に示したように、データベース自体を分散管理する方法には、様々な方法があり、情報処理システムが必要とする諸条件に応じて任意の方法を用いることが可能である。以下では、サーバレスの情報処理システムとして、分散ハッシュテーブルを用いた場合を例に挙げて、詳細に説明する。
【０１７４】
分散ハッシュテーブルには、円状スキップリストを利用するＣｈｏｒｄと呼ばれる方法や、Ｎ次元トーラスを用いる方法や、２分木を用いる方法など、様々な方法が存在するが、以下では、Ｃｈｏｒｄを例にとって説明を行う。
【０１７５】
Ｃｈｏｒｄと呼ばれる方法を用いる場合には、情報処理装置１００それぞれに対して、一意な識別番号（ＩＤ）が付与されている必要がある。この識別番号は、ＭＡＣアドレス等を利用して、自動的に生成することが可能である。また、この識別番号は、充分大きなアドレス空間を持ち、このアドレス空間は、データファイル識別情報等の生成やダイジェスト認証処理に用いられるハッシュ関数の出力値のアドレス空間と等しいことが好ましい。
【０１７６】
この場合に、各情報処理装置１００は、データファイル分割状況データベースに記録されている内容（以下、レコードとも称する。）のうち、データファイル識別情報のハッシュ値が自装置に付与されている識別番号の値に一番近いものを管理する。また、データベースの内容を必要とする情報処理装置１００は、データファイル識別情報のハッシュ値と一番近い識別番号を有する情報処理装置に対して、データベースの内容の問い合わせを行う。従って、以下に説明する例では、各情報処理装置１００は、円形スキップリストで表される経路表を予め保持している。また、各情報処理装置１００は、データファイル識別情報と、検索したいブロックの番号とに基づいて該当する情報処理装置１００に問い合わせを行い、目的とするブロックを保持している情報処理装置１００の識別番号を取得する。
【０１７７】
［本変形例における情報処理装置の構成について］
以下では、図１７を参照しながら、本変形例における情報処理装置の構成について、詳細に説明する。図１７は、本変形例に係る情報処理装置の構成を説明するためのブロック図である。
【０１７８】
本変形例に係る情報処理装置１００は、例えば図１７に示したように、ブロック化部１０３と、未保持ブロック取得部１０７と、データファイル復元部１０９と、認証部１１１と、通信制御部１１３と、記憶部１１５と、を備える。また、本変形例に係る情報処理装置１００は、更に、データベース検索部１５１と、分割状況変更部１５３と、保持ブロック情報伝送部１５５と、を備える。
【０１７９】
まず、本変形例に係るブロック化部１０３、未保持ブロック取得部１０７、データファイル復元部１０９および認証部１１１について説明する。これらの処理部は、必要に応じて、後述するデータベース検索部１５１により取得された情報を用いる以外は、上述の実施形態における情報処理装置１００の各処理部と同様の機能を有し、同様の効果を奏する。従って、本変形例においては、詳細な説明は省略する。
【０１８０】
また、本変形例における通信制御部１１３は、本実施形態に係る情報処理装置１００が有する通信制御部１１３と同様の機能を有し、同様の効果を奏する。従って、本変形例においては、詳細な説明は省略する。
【０１８１】
記憶部１１５は、本変形例に係る情報処理装置１００が保持すべきデータファイルのブロックが、データファイルを識別するための情報であるデータファイル識別情報と関連付けて記録される。これにより、他の情報処理装置１００との間でデータファイルが分割管理されているデータファイルについては、自装置が保持すべきブロックに対応するデータファイルのみが記憶部１１５に記録されることとなる。また、記憶部１１５には、自装置に対して一意に割り当てられた識別番号（ＩＤ）と、分散ハッシュテーブルにおいて利用される経路表が更に記録される。また、記憶部１１５には、ブロック化されて保持されているデータファイルの利用履歴等が記録されていてもよい。
【０１８２】
また、記憶部１１５には、本変形例に係る情報処理装置１００が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録されてもよい。この記憶部１１５は、ブロック化部１０３、未保持ブロック取得部１０７、データファイル復元部１０９、認証部１１１、通信制御部１１３、データベース検索部１５１、分割状況変更部１５３、保持ブロック情報伝送部１５５等が、自由に読み書き可能である。
【０１８３】
データベース検索部１５１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。データベース検索部１５１は、本変形例に係る情報処理装置１００の各処理部から、データファイル分割状況データベースの内容に関する取得要請が伝送された場合に、複数の情報処理装置１００間で分散管理されているデータベースの検索を行う。
【０１８４】
分散管理されているデータベースの検索に際して、データベース検索部１５１には、検索を希望するデータファイルの識別情報が伝送される。データベース検索部１５１は、データファイルの識別情報に一番近い識別番号（ノードＩＤ）を有する情報処理装置１００を、記憶部１１５等に記録されている経路表に基づいて特定する。データベース検索部１５１は、データファイル識別情報に一番近い識別番号を有する情報処理装置１００が特定されると、この情報処理装置１００に対して、データファイル識別情報や、ブロックに関する情報等を伝送し、データベースの内容を問い合わせる。これにより、データベース検索部１５１は、例えば、取得を希望する未保持ブロックを保持している情報処理装置１００の識別番号（ノードＩＤ）等を把握することが可能となる。データベース検索部１５１は、取得した情報を、データベースの内容に関する取得要請を送信した処理部に対して、伝送する。
【０１８５】
続いて、分割状況変更部１５３および保持ブロック情報伝送部１５５について説明する。これらの処理部は、必要に応じて、データベース検索部１５１により取得された情報を用いる以外は、上述の実施形態における分割管理サーバ２００の分割状況変更部２０１および保持ブロック情報伝送部２０３と同様の機能を有し、同様の効果を奏する。従って、本変形例においては、詳細な説明は省略する。
【０１８６】
以上、本変形例に係る情報処理装置１００の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本変形例を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１８７】
なお、上述のような本変形例に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０１８８】
＜ハードウェア構成について＞
次に、図１８を参照しながら、本発明の各実施形態に係る情報処理装置１００のハードウェア構成について、詳細に説明する。図１８は、本発明の各実施形態に係る情報処理装置１００のハードウェア構成を説明するためのブロック図である。
【０１８９】
情報処理装置１００は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１０は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０１９０】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【０１９１】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１９２】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１００の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１００のユーザは、この入力装置９１５を操作することにより、情報処理装置１００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１９３】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１００が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０１９４】
ストレージ装置９１９は、情報処理装置１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１９５】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置１００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、メモリースティック、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【０１９６】
接続ポート９２３は、機器を情報処理装置１００に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ｉ．Ｌｉｎｋ等のＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置１００は、外部接続機器９２９から直接各種のデータを取得したり、外部接続機器９２９に各種のデータを提供したりする。
【０１９７】
通信装置９２５は、例えば、通信網９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【０１９８】
以上、本発明の各実施形態に係る情報処理装置１００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１９９】
＜まとめ＞
以上説明したように、本発明の各実施形態に係る情報処理システムによれば、同じ内容のデータファイルを多くの情報処理装置１００が保持しているとき、一つの情報処理装置が保持すべきデータファイルのサイズ（容量）を減らすことができる。このような情報処理システムは、例えば、種類が少なく容量の大きなコンテンツデータを保持する装置に対して有効である。このような種類が少なく容量の大きなコンテンツデータの一例として、例えば、ＶｏＤ（Ｖｉｄｅｏ  ｏｎ  Ｄｅｍａｎｄ）済み・配信済みのコンテンツデータや、録画されたコンテンツのデータや、ゲーム等のデータ等を挙げることができる。また、本発明の各実施形態に係る情報処理システムは、保持している装置の多い、いわゆるメジャータイトルのコンテンツであるほど、データファイルの圧縮率が高くなるという利点がある。
【０２００】
また、本発明の各実施形態に係る情報処理システムでは、未保持ブロックの送信に際して上述のようなダイジェスト認証処理が行われるため、オリジナルのデータファイルを有していないと、データファイルの分割管理には参加できない。
【０２０１】
また、データファイルの分割管理を行う際に、所定の冗長度を確保することが可能であるため、ある情報処理装置において一部のデータのデータロスト等が生じたとしても、データファイルの復旧を容易に行うことができる。そのため、本発明の各実施形態に係る情報処理システムでは、ＲＡＩＤのような使い勝手をユーザに提供することが可能となる。
【０２０２】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０２０３】
【図１】本発明の第１の実施形態に係る情報処理システムの概略を説明するための説明図である。
【図２】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図３】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図４】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図５】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図６】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図７】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図８】同実施形態に係る情報処理システムの概略を説明するための説明図である。
【図９】同実施形態に係る情報処理システムを説明するための説明図である。
【図１０】同実施形態に係る情報処理装置の機能を説明するためのブロック図である。
【図１１】データファイル分割状況データベースの一例を説明するための説明図である。
【図１２】同実施形態に係る分割管理サーバの機能を説明するためのブロック図である。
【図１３】同実施形態に係る情報処理方法および分割管理方法を説明するための流れ図である。
【図１４】同実施形態に係る情報処理方法および分割管理方法を説明するための流れ図である。
【図１５】同実施形態に係る情報処理方法を説明するための流れ図である。
【図１６】同実施形態に係る情報処理システムの第１変形例について説明するための説明図である。
【図１７】同変形例に係る情報処理装置の機能を説明するためのブロック図である。
【図１８】本発明の各実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【符号の説明】
【０２０４】
１    情報処理システム
３    通信網
１００    情報処理装置
１０１    分割管理要請部
１０３    ブロック化部
１０５    データファイル分割状況情報取得部
１０７    未保持ブロック取得部
１０９    データファイル復元部
１１１    認証部
１１３    通信制御部
１１５    記憶部
１５１    データベース検索部
１５３    分割状況変更部
１５５    保持ブロック情報伝送部
２００    分割管理サーバ
２０１    分割状況変更部
２０３    保持ブロック情報伝送部
２０５    データファイル分割状況情報伝送部
２０７    通信制御部
２０９    記憶部
【図１】
2010134630.tif 000021
【図２】
2010134630.tif 000022
【図３】
2010134630.tif 000023
【図４】
2010134630.tif 000024
【図５】
2010134630.tif 000025
【図６】
2010134630.tif 000026
【図７】
2010134630.tif 000027
【図８】
2010134630.tif 000028
【図９】
2010134630.tif 000029
【図１０】
2010134630.tif 000030
【図１１】
2010134630.tif 000031
【図１２】
2010134630.tif 000032
【図１３】
2010134630.tif 000033
【図１４】
2010134630.tif 000034
【図１５】
2010134630.tif 000035
【図１６】
2010134630.tif 000036
【図１７】
2010134630.tif 000037
【図１８】
2010134630.tif 000038