(57)【要約】【課題】分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させる。【解決手段】ネットワークを介して、ストレージ装置に接続可能な情報処理装置であって、ファイルまたはフォルダの元データを２つ以上の分割データに分割する分割処理部と、２つ以上の分割データの保存先を、ストレージ装置または情報処理装置のうちいずれかに選定する保存先選定部と、を備える。分割処理部は、各々の前記保存先に応じて、予め定められた分割上限数を超えずに、ファイルまたはフォルダの元データの分割数（ａ＋ｂ）および分割比（ａ：ｂ）を判定する。保存先選定部は、判定された分割数（ａ＋ｂ）および分割比（ａ：ｂ）を基に、分割数（ａ＋ｂ）に対応する全ての分割データのうち、一部のａまたはｂ個の分割データの保存先を情報処理装置と判定し、更に残りのｂまたはａ個の分割データの保存先をストレージ装置と判定する。【選択図】図２
2013131060.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、ストレージ装置に接続可能な情報処理装置であって、
ファイルまたはフォルダの元データを２つ以上の分割データに分割する分割処理部と、
前記２つ以上の分割データの保存先を、前記ストレージ装置または前記情報処理装置のうちいずれかに選定する保存先選定部と、を備え、
前記分割処理部は、
各々の前記保存先に応じて、予め定められた分割上限数を超えずに、前記ファイルまたはフォルダの元データの分割数（ａ＋ｂ）および分割比（ａ：ｂ）を判定し、
前記保存先選定部は、
前記判定された分割数（ａ＋ｂ）および分割比（ａ：ｂ）を基に分割された各分割データに応じて、前記分割数（ａ＋ｂ）に対応する全ての前記分割データのうち、一部のａまたはｂ個の分割データの保存先を前記情報処理装置と判定し、更に残りのｂまたはａ個の分割データの保存先を前記ストレージ装置と判定する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記分割処理部は、
前記判定された分割比が約分可能である場合に、前記ファイルまたはフォルダの元データの分割比を、約分後の分割比と判定する情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記保存先に対するデータの読込速度または書込速度を測定する速度測定部と、を更に備え、
前記分割処理部は、
前記保存先に対するデータの読込速度または書込速度を基に、前記ファイルまたはフォルダの元データの分割数および分割比を判定する情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記速度測定部は、
前記保存先毎にＤＭＡ転送を用いて所定のデータを各々の前記保存先に書き込み、前記所定のデータの読込時間または書込時間を基に、前記保存先に対するデータの読込速度または書込速度を測定する情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記速度測定部は、
前記保存先に対するデータの読込速度または書込速度を、前記読込速度または前記書込速度の最大値、最小値、平均値および最新値のうちいずれかを前記分割処理部に通知する情報処理装置。
【請求項６】
請求項３〜５のうちいずれか一項に記載の情報処理装置であって、
前記分割処理部は、
前記保存先に前記ストレージ装置が含まれる場合に、前記ストレージ装置に対応する前記分割数を小さくするように前記分割比を調整する情報処理装置。
【請求項７】
請求項１〜６のうちいずれか一項に記載の情報処理装置であって、
前記分割処理部は、
前記分割データの保存先に応じた分割比が固定値として予め定められている場合、前記固定値を前記ファイルまたはフォルダの元データの分割比と判定する情報処理装置。
【請求項８】
請求項１〜７のうちいずれか一項に記載の情報処理装置であって、
前記分割処理部は、
前記分割データのヘッダに、前記元データの識別情報および前記分割データの保存先毎の分割数を少なくとも書き込む情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機密情報を管理する情報処理装置に関する。
【背景技術】
【０００２】
近年、情報セキュリティの観点から、機密性の高い機密情報のデータファイルを複数の異なるデータファイルに分割し、各分割データファイルを複数の異なる保存先に保存することが企業等において実務的に行われている。これにより、例えば企業の従業員が１つの分割データファイルを保存したＰＣ（Personal Computer）を外出中に仮に紛失したとしても、元データファイルの漏洩を防ぐことが可能となる。
【０００３】
この様な分割データファイルの保存先には、利用者機器（例えばノートＰＣ等）のハードディスクまたはＳＤカード若しくはＵＳＢ（Universal Serial Bus）メモリ等の外部記憶媒体を含むローカルな保存先だけでなく、利用者機器とネットワークを介して接続されているオンラインストレージが挙げられる。しかし、利用者機器において、オンラインストレージに保存されている分割データファイルを読み込む時間は、ローカルな保存先に保存されている分割データファイルを読み込む時間に比べて長い。同様に、利用者機器において、分割データファイルをオンラインストレージに書き込む時間は、ローカルな保存先に分割データファイルを書き込む時間に比べて長い。
【０００４】
また、ローカルな保存先としてのハードディスク、ＵＳＢメモリまたはＳＤカードでは、分割データファイルの読込速度および書込速度は、各メディアの種類に応じて異なるが、同一のメディアに対しては一定となる。しかし、オンラインストレージに対する分割データファイルの読込速度および書込速度は、ネットワークの輻輳度合いおよび通信回線の種類（例えば、有線または無線等）に応じて一定とならずに動的に変化する。
【０００５】
元データファイルを複数の異なる分割データファイルに分割して、各分割データファイルを複数の異なる保存先に保存する先行技術として、例えば特許文献１が知られている。特許文献１では、リモートサイトのサーバが原ファイルをサイズの異なる複数のファイルに分割し、サイズの大きい第１のファイルと、サイズの小さい第２のファイルとを生成し、第１および第２の各ファイルを関連付けて記憶する。サーバは、クライアントからの第１の取得要求に応じて第１のファイルをクライアントに送信し、クライアントからの第１の取得要求とは時間的に異なる第２の取得要求に応じて第２のファイルをクライアントに送信する。クライアントは、第１および第２の各ファイルを統合化処理して原ファイルを復元する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０３９７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、上述した分割データファイルに相当する第１または第２の各ファイルの保存先に対する読込速度または書込速度に応じて、第１または第２の各ファイルをどのように分割して保存させるかということは言及されていない。
【０００８】
特に、ハードディスクおよびオンラインストレージにそれぞれ分散して保存された各分割データファイルを用いて、元データファイルを復元する場合を想定する。この場合、ハードディスクからの分割データファイルの読込時間は一定である。
【０００９】
しかし、オンラインストレージからの分割データファイルの読込時間は、読込速度がネットワークの輻輳度合いおよび通信回線の種類に応じて動的に変化するため、ハードディスクからの分割データファイルの読込時間に比べて遅くなることが多い。従って、オンラインストレージからの分割データファイルの読み込みが完了するまで元データファイルの復元ができず、快適な操作性をユーザに享受させることが困難であった。
【００１０】
本発明は、上述した従来の事情に鑑みてなされたもので、分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、ネットワークを介して、ストレージ装置に接続可能な情報処理装置であって、ファイルまたはフォルダの元データを２つ以上の分割データに分割する分割処理部と、前記２つ以上の分割データの保存先を、前記ストレージ装置または前記情報処理装置のうちいずれかに選定する保存先選定部と、を備え、前記分割処理部は、各々の前記保存先に応じて、予め定められた分割上限数を超えずに、前記ファイルまたはフォルダの元データの分割数（ａ＋ｂ）および分割比（ａ：ｂ）を判定し、前記保存先選定部は、前記判定された分割数（ａ＋ｂ）および分割比（ａ：ｂ）を基に、前記分割数（ａ＋ｂ）に対応する全ての前記分割データのうち、一部のａまたはｂ個の分割データの保存先を前記情報処理装置と判定し、更に残りのｂまたはａ個の分割データの保存先を前記ストレージ装置と判定する。
【発明の効果】
【００１２】
本発明によれば、分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の情報処理システムのシステム構成図
【図２】利用者機器の内部構成を示すブロック図
【図３】サーバの内部構成を示すブロック図
【図４】利用者機器の記憶部に保存されているマップテーブルの構成図
【図５】（ａ）分割データファイルのヘッダ構造の説明図、（ｂ）元データファイルの構造の説明図、（ｃ）分割データファイル１の構造の説明図、（ｄ）分割データファイル２の構造の説明図
【図６】速度測定部の読込速度Ｓ（ｔ）または書込速度Ｕ（ｔ）の測定タイミングを時系列に説明する説明図
【図７】速度測定部のトレーニング処理を説明するフローチャート
【図８】元データファイルを分割して各分割データファイルを保存する場合の秘密分散処理部の動作を説明するフローチャート
【図９】分割比を判定する場合の秘密分散処理部の動作を説明するフローチャート
【図１０】分割比を判定する場合の秘密分散処理部の動作を説明するフローチャート
【図１１】分割処理および復元処理の分割数に対する処理負荷を表すグラフ
【図１２】元データファイルを復元する場合の秘密分散処理部の動作を説明するフローチャート
【図１３】元データファイルを復元する場合の秘密分散処理部の動作を説明するフローチャート
【図１４】分割比を判定する場合の秘密分散処理部の他の動作を説明するフローチャート
【発明を実施するための形態】
【００１４】
本発明に係る情報処理装置の実施形態について、図面を参照して説明する。本発明に係る情報処理装置として、ノートＰＣを例示して説明する。但し、本発明に係る情報処理装置は、ノートＰＣに限定されず、例えばスマートフォン、ＰＤＡ（Personal Digital Assistant）、または電子書籍端末でもよい。
【００１５】
本発明は、情報処理装置とする以外に、情報処理装置を含む情報処理システム（詳細は後述参照）、情報処理装置をコンピュータとして動作させるためのプログラムとすることが可能である。更に、本発明は、情報処理装置により実行される処理（ステップ）を含む方法としてもよい。
【００１６】
本実施形態の情報処理装置を含む情報処理システム１００について、図１を参照して説明する。図１は、本実施形態の情報処理システム１００のシステム構成図である。図１に示す情報処理システム１００は、情報処理装置としての利用者機器１０、サーバ３０、外部記憶媒体４０、および複数のストレージ装置としてのオンラインストレージ５０−１，…，５０−ｍ，６０−１，…，６０−ｐを含む構成である（ｍ，ｐ：自然数）。
【００１７】
利用者機器１０とサーバ３０とオンラインストレージ５０−１，…，５０−ｍとは、ネットワークＮＷ１を介して接続されている。ネットワークＮＷ１は、例えば企業内の社内ポータルサイト等のイントラネット若しくは外部のインターネット等の有線ネットワーク、または無線ＬＡＮ（local area network）等の無線ネットワークである。
【００１８】
サーバ３０とオンラインストレージ６０−１，…，６０−ｐとは、ネットワークＮＷ２を介して接続されている。ネットワークＮＷ２は、例えば企業内の社内ポータルサイト等のイントラネット若しくは外部のインターネット等の有線ネットワーク、または無線ＬＡＮ等の無線ネットワークである。
【００１９】
利用者機器１０は、利用者（以下「ユーザ」という）の操作部ＯＰの操作に応じて、各種の情報処理を行う。利用者機器１０は、外部記憶媒体４０と接続可能であり、外部記憶媒体４０にデータを書き込み、または外部記憶媒体４０からデータを読み出す。なお、操作部ＯＰは、例えば利用者機器１０に接続可能なキーボードまたはマウス等であるが、例えばタッチパネルまたはテンキーにより構成されている場合には利用者機器１０の中に含まれる構成としてもよい。また、外部記憶媒体４０は、例えばＵＳＢメモリ、ＳＤカードまたは外付けＨＤＤ等である。
【００２０】
（利用者機器：図２）
次に、利用者機器１０の構成および動作を、図２を参照して詳細に説明する。図２は、利用者機器の内部構成を示すブロック図である。
【００２１】
図２に示す利用者機器１０は、内部時計ＣＬＫ１、アプリケーション１１、アクセス制御部１２、分割処理部としての秘密分散処理部１３、保存先選定部としてのセレクタ１４、ファイルシステム管理部１５、サーバ通信部１６、速度測定部１７、記憶部１８およびＲＡＭ１９を含む構成である。
【００２２】
内部時計ＣＬＫ１は、例えば利用者機器１０をコンピュータとして動作させるＯＳ（operating system）の機能の一つであり、利用者機器１０のシステムクロック（時計）である。内部時計ＣＬＫ１の出力信号、即ち利用者機器１０の時計情報は、図２には速度測定部１７には入力されるように図示しているが、実際には利用者機器１０の各部に入力される。
【００２３】
アプリケーション１１は、利用者機器１０に予めインストールされることによって使用可能とされ、ユーザの操作部ＯＰの操作に応じた操作内容をアクセス制御部１２に指示する。ユーザの操作部ＯＰの操作に応じた操作内容は、例えば１つの元データファイルを基に複数の分割データファイルに分割する分割指示、または複数の分割データファイルを基に１つの元データファイルを復元する復元指示である。
【００２４】
更に、以下の説明では、特別な例示を説明しない限り、１つの元データファイルのデータを分割して複数（例えば２つ）の分割データファイルのデータを生成し、更に複数（同様に例えば２つ）の分割データファイルのデータを基に１つの元データファイルのデータに復元する例を説明する。同様に、複数のファイルを格納するデータフォルダのデータを分割して複数（例えば２つ）の分割データフォルダのデータを生成し、更に複数（同様に例えば２つ）の分割データフォルダのデータを基に１つのデータフォルダのデータに復元する場合にも同様に適用可能である。
【００２５】
アプリケーション１１は、ユーザの操作部ＯＰの操作に応じて、分割指示または復元指示の対象となる元データファイル識別情報（例えば元データファイルの名称，ＩＤ（Identification）等）をアクセス制御部１２に通知する。
【００２６】
アクセス制御部１２は、アプリケーション１１からの通知情報を入力する。アクセス制御部１２は、アプリケーション１１からの通知情報に応じて、記憶部１８に保存されているマップテーブルＭＴ（図４参照）をＲＡＭ１９に展開するようにファイルシステム管理部１５に指示する。ファイルシステム管理部１５は、アクセス制御部１２からの指示を基に、マップテーブルＭＴを記憶部１８から読み出してＲＡＭ１９に一時的に展開する。なお、マップテーブルＭＴについては図４を参照して後述する。本実施形態では、ファイルシステム管理部１５は、マップテーブルＭＴの全ての内容をＲＡＭ１９に展開しているが、アクセス制御部１２から指示された元データファイル識別情報に対応するマップテーブルＭＴの内容だけを一時的に展開してもよい。
【００２７】
アクセス制御部１２は、アプリケーション１１からの通知情報に応じて、分割指示または復元指示の対象となる元データファイル識別情報に対応するマップテーブルＭＴのレコードを特定し、特定されたレコードの情報を秘密分散処理部１３に通知する。
【００２８】
なお、分割指示または復元指示の対象となる元データファイルのレコードがマップテーブルＭＴに存在しない場合、アクセス制御部１２は、存在しない旨をアプリケーション１１に通知する。アプリケーション１１は、アクセス制御部１２からの通知情報を不図示の表示装置に表示し、例えば分割指示または復元指示の対象となる元データファイルのレコードの作成を促すようにユーザに通知する。
【００２９】
なお、レコードの作成を促す際、ユーザに対してマップテーブルＭＴに必要なすべての項目を入力させるようにしてもよいし、一部の項目を入力させて、残りの項目はアクセス制御部１２が自動で決めて入力してもよい。
【００３０】
レコードの作成を促す旨の通知に対応したユーザの操作部ＯＰの操作により、分割指示または復元指示の対象となる元データファイルのレコードを追加する旨の操作信号がアプリケーション１１に入力されたとする。この操作信号には、追加の対象となるレコードに必要な各種情報が含まれている。アプリケーション１１は、ユーザの操作部ＯＰの操作に応じて、分割指示または復元指示の対象となる元データファイルのレコードをマップテーブルＭＴに追加する旨をアクセス制御部１２に出力する。
【００３１】
アクセス制御部１２は、ＲＡＭ１９に展開されたマップテーブルＭＴに、分割指示または復元指示の対象となる元データファイルのレコードを追加する。これにより、マップテーブルＭＴが更新される。
【００３２】
分割処理部としての秘密分散処理部１３は、元データファイルのデータを２つ以上の分割データファイルのデータに分割し、例えば分割指示の対象となる１つの元データファイルのデータを２つの分割データファイルのデータに分割する。この場合、分割比は１：１となり、分割数は２となる。
【００３３】
本実施形態では、分割処理の一例として秘密分散処理を挙げているが、分割処理は秘密分散処理に限定されない。なお、秘密分散処理部１３における秘密分散処理のアルゴリズムは特に限定されず、以下の説明では例えば下記参考非特許文献１に記載されている公知の（ｋ，ｎ）しきい値秘密分散法を用いるとする。パラメータｎは分割数である。
【００３４】
（参考非特許文献１）Ａ．Ｓｈａｍｉｒ：“Ｈｏｗ  ｔｏ  ｓｈａｒｅ  ａ  ｓｅｃｒｅｔ”，  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ，  ２２，  １１，  ｐｐ．６１２−６１３（１９７９）
【００３５】
秘密分散処理部１３は、分割データファイルの保存先に応じて、秘密分散処理部１３の動作において予め規定された分割上限数ＤＭＡＸ（例えばＤＭＡＸ＝１０）を超えずに、元データファイルの分割比（ＤＡ：ＤＢ）および分割数（ＤＡ＋ＤＢ）を判定する。パラメータＤＡ，ＤＢは自然数である。秘密分散処理部１３は、この判定された分割比（ＤＡ：ＤＢ）および分割数（ＤＡ＋ＤＢ）を基に、１つの元データファイルのデータを分割数個の分割データファイルのデータに分割する。
【００３６】
秘密分散処理部１３は、１つの元データファイルのデータを分割する際、判定された分割比（ＤＡ：ＤＢ）が約分可能である場合に、約分処理を行った分割比（ＤＡ’：ＤＢ’）を用いて分割する。この場合、分割数は、約分前の分割数（ＤＡ＋ＤＢ）ではなく、約分後の分割数（ＤＡ’＋ＤＢ’）となる。例えば、判定された分割比が「２：４」である場合には、秘密分散処理部１３は、分割比を「１：２」と判定し、１つの元データファイルのデータを、６つの分割データファイルのデータに分割せずに３つの分割データファイルのデータに分割する。
【００３７】
秘密分散処理部１３は、速度測定部１７により測定された保存先毎の読込速度Ｓ（ｔ）または書込速度Ｕ（ｔ）（後述参照）を基に、元データファイルのデータの分割比および分割数を判定する。例えば、保存先数が２つ（保存先Ａ，保存先Ｂ）である場合に、秘密分散処理部１３は、保存先Ａに対する読込速度ＳＡ（ｔ）または書込速度ＵＡ（ｔ）と、保存先Ｂに対する読込速度ＳＢ（ｔ）または書込速度ＵＢ（ｔ）とを速度測定部１７から入力する。
【００３８】
なお、秘密分散処理部１３において、分割比および分割数の判定は、保存先Ａに対する読込速度ＳＡ（ｔ）と、保存先Ｂに対する読込速度ＳＢ（ｔ）とを利用することが好ましい。
【００３９】
一般に、書き込まれたデータファイルは、保存先Ａ、Ｂより書き込み速度が速い利用者機器１０内部のバッファ（ＲＡＭ１９など）に保存され、その後、保存先Ａ、Ｂに保存される。このため、ユーザの感じる待ち時間としては、データファイルがバッファに書き込まれる（保存される）時間となる。つまり、ユーザの感じる待ち時間としては、保存先毎の書き込み速度に影響されず、保存先に書き込む時間、又は、保存先から読み込む時間より短い時間となる。しかし、データファイルの読み込みは当該データファイルの読み込みが完了するまでユーザは次の操作を行えず、保存先毎の読込速度自体が、ユーザの待ち時間に直結する。このため、秘密分散処理部１３は、保存先に対する書き込み速度より読み込み速度を優先して用いる。
【００４０】
秘密分散処理部１３は、保存先Ａに対する読込速度ＳＡ（ｔ）または書込速度ＵＡ（ｔ）と、保存先Ｂに対する読込速度ＳＢ（ｔ）または書込速度ＵＢ（ｔ）とを基に、保存先Ａと保存先Ｂとにそれぞれ分割データファイルを保存させる個数の割合を表す保存比ＨＡ：ＨＢを算出する。秘密分散処理部１３は、算出された保存比ＨＡ：ＨＢを基に、元データファイルのデータの分割比（ＤＡ：ＤＢ）および分割数（ＤＡ＋ＤＢ）を判定する。本実施形態では、パラメータＤＡに対応するＤＡ個の分割データファイルが保存先Ａに保存され、パラメータＤＢに対応するＤＢ個の分割データファイルが保存先Ｂに保存される。更に、パラメータＤＡと、パラメータＤＢと、パラメータＤＭＡＸとの間には、ＤＡ＋ＤＢ≦ＤＭＡＸの関係が成り立つ。
【００４１】
秘密分散処理部１３は、分割データファイルの保存先に応じた分割比がマップテーブルＭＴにおいて固定値（固定比）として予め定められている場合に、当該固定比を分割比として優先的に用いて分割する。この固定比は、例えばユーザの操作部ＯＰの所望操作（所望設定）により、後述するマップテーブルＭＴ（図４参照）にて規定される。なお、この固定比は、マップテーブルＭＴに規定されることに限定されず、例えば分割データファイルの保存先の識別情報と固定比とが定められた別表（不図示）により規定されてもよい。
【００４２】
例えば保存先が２つ（利用者機器１０，オンラインストレージ５０−１）である場合に、保存先Ａが利用者機器１０であって、保存先Ｂがオンラインストレージ５０−１であって、マップテーブルＭＴのレコードでは特定の元データファイルに対して各保存先に予め定められた分割比ＤＡ：ＤＢが「３：１」とする。秘密分散処理部１３は、１つの元データファイルのデータを、分割数４個の分割データファイルのデータに分割する。分割数４個のうち３個の分割データファイルは利用者機器１０に保存され、残りの１個の分割データファイルはオンラインストレージ５０−１に保存される。
【００４３】
秘密分散処理部１３は、元データファイルのデータを分割した後、各分割データファイルのデータ領域と、分割された分割データファイルのデータに対して所定の情報を書き込んだヘッダ情報のヘッダ領域とを用いて分割データファイルを生成する。詳細は後述するが、所定の情報は、元データファイル識別情報２０６、分割データファイル番号情報２０４および保存先情報２０５である（図５（ａ）参照）。秘密分散処理部１３は、ヘッダ領域とデータ領域とを含む各分割データファイルを、セレクタ１４に出力する。
【００４４】
ここで、利用者機器１０の記憶部１８に保存されているマップテーブルＭＴについて、図４を参照して説明する。図４は、利用者機器１０の記憶部１８に保存されているマップテーブルＭＴの構成図である。
【００４５】
図４に示すマップテーブルＭＴは、フォルダ／ファイル名１０１、分割データファイル第１保存先１０２、分割データファイル第２保存先１０３および固定比１０４の各項目を含む構成である。図４に示すマップテーブルＭＴには、説明を簡単にするために、秘密分散処理部１３により生成された分割データファイルの保存先数が２つである例を示している。但し、本実施形態では分割データファイルの保存先数は２に限定されず、例えばユーザの操作部ＯＰを用いた操作により保存先数が更に追加または削除されてもよい。
【００４６】
分割データ第１保存先１０２は、２つの保存先数のうち第１番目の保存先が記憶部１８、外部記憶媒体４０、複数のオンラインストレージ５０−１，…，５０−ｍおよびサーバ３０のうちいずれであるかを示す識別情報である。同様に、分割データ第２保存先１０３は、２つの保存先数のうち第２番目の保存先が記憶部１８、外部記憶媒体４０、複数のオンラインストレージ５０−１，…，５０−ｍおよび複数のオンラインストレージ６０−１，…，６０−ｐのうちいずれであるかを示す識別情報である。
【００４７】
なお、情報処理システム１００において、利用者機器１０は複数のオンラインストレージ６０−１，…，６０−ｐの存在を認識できない。このため、利用者機器１０において、サーバ３０本体に保存されても、オンラインストレージ６０−１，…，６０−ｐに保存されても、サーバ３０にデータを保存したと判断し、マップテーブルの保存先にはサーバ３０と表される。そして、サーバ３０、オンラインストレージ６０−１，…，６０−ｐのいずれかに保存されたかがサーバ３０のマップテーブルに保存される。
【００４８】
例えば図４に示すマップテーブルＭＴでは、分割データファイル第１保存先１０２および分割データファイル第２保存先１０３を、複数のパラメータ（Ｄ，Ｍ，Ｓ１，Ｓ２）を用いて表している。パラメータＤは記憶部１８を表す。パラメータＭは外部記憶媒体４０を表す。パラメータＳ１はオンラインストレージ５０−１を表す。パラメータＳ２はオンラインストレージ６０−１を表す。なお、保存先を表すパラメータは、上述したものに限定されない。
【００４９】
例えば、ファイル名「ａｂｃ．ｃ」の元データファイルは、全ての分割数個のうち一部の個数の分割データファイルが記憶部１８に保存され、残りの個数の分割データファイルがオンラインストレージ５０−１に保存される。なお、マップテーブルＭＴの分割データファイル第１保存先１０２または分割データファイル第２保存先１０３のパラメータは、ユーザの操作部ＯＰを用いた操作により変更されてもよい。
【００５０】
固定比１０４は、元データファイルの分割比が固定値として予め定められている比である。マップテーブルＭＴの固定比１０４がユーザの操作部ＯＰを用いた操作により予め入力されている場合に、秘密分散処理部１３は、秘密分散処理の対象となる元データファイルに対し、マップテーブルＭＴのレコードを参照し、固定比１０４において規定された固定比を分割比として優先的に秘密分散する。例えば、秘密分散処理部１３は、ファイル名「ｘｙｚ．ｔｘｔ」の元データファイルのデータを、固定比「３：１」の分割比で秘密分散し、分割数４個の分割データファイルを生成する。分割数４個のうち３個の分割データファイルは記憶部１８に保存され、残りの１個の分割データファイルはオンラインストレージ６０−１に保存される。
【００５１】
また、図４に示すマップテーブルＭＴには含まれていないが、マップテーブルＭＴは、秘密分散処理部１３が判定した分割データファイルの分割数および分割比の項目を更に含む構成でもよい。
【００５２】
ここで、分割データファイルのヘッダ情報、並びに元データファイルおよび分割データファイルのデータ構造について、図５（ａ）〜（ｄ）を参照して説明する。図５（ａ）は、分割データファイルのヘッダ構造の説明図である。図５（ｂ）は、元データファイルの構造の説明図である。図５（ｃ）は、分割データファイル１の構造の説明図である。図５（ｄ）は、分割データファイル２の構造の説明図である。
【００５３】
図５（ａ）に示す分割データファイルのヘッダは、元データファイル識別情報２０６、分割データファイル番号情報２０４および保存先情報２０５を含む構成である。元データファイル識別情報２０６は、元データファイルの識別情報を表す。分割データファイル番号情報２０４は、秘密分散処理部１３により判定された分割数、および当該分割数のうち何番目の分割データファイルであるかを表す情報である。保存先情報２０５は、秘密分散処理部１３がマップテーブルＭＴを基に書き込んだ分割データファイル毎の保存先情報である。
【００５４】
図５（ｂ）に示す分割データファイル１の構造は、ヘッダ領域２０１とデータ領域５０１とを含む構成である。データ領域５０１は、元データファイルのデータ領域５００が秘密分散処理部１３により秘密分散されて生成されたデータ領域である。ヘッダ領域２０１は、図５（ａ）に示すヘッダ領域である。
【００５５】
同様に、図５（ｃ）に示す分割データファイル２の構造は、ヘッダ領域２０２とデータ領域５０２とを含む構成である。データ領域５０２は、元データファイルのデータ領域５００が秘密分散処理部１３により秘密分散されて生成されたデータ領域である。ヘッダ領域２０２は、図５（ａ）に示すヘッダ領域である。
【００５６】
また、分割データファイルの保存方法として、複数の分割データファイルの各分割データの中身が１つの分割データファイルに統合された分割データファイルが保存されてもよい。このような分割データファイルの構造は、図５（ｄ）に示すように、ヘッダ領域２０３と、データ長情報５０３ａ及びデータ領域５０３と、データ長情報５０４ａ及びデータ領域５０４とを含む構成である。データ長情報５０３ａは、秘密分散処理部１３により生成された分割データのデータ領域５０３のデータ長を表す。同様に、データ長情報５０４ａは、秘密分散処理部１３により生成された分割データのデータ領域５０４のデータ長を表す。
【００５７】
保存先選定部としてのセレクタ１４は、秘密分散処理部１３から出力された各分割データファイルを入力する。セレクタ１４は、分割数及び分割比を基に秘密分散処理部１３により分割された各分割データファイルのヘッダ領域の保存先情報２０５を基に、各分割データファイルの保存先を選定する。例えば、セレクタ１４は、分割データファイルＺのヘッダ領域の保存先情報２０５に「記憶部１８」を示す識別情報が書き込まれている場合に、分割データファイルＺの保存先を「記憶部１８」と選定する。
【００５８】
セレクタ１４は、選定された各分割データファイルの保存先に応じて、各分割データファイルをファイルシステム管理部１５またはサーバ通信部１６に、各分割データファイルの書込指示を出力する。
【００５９】
ファイルシステム管理部１５は、アクセス制御部１２からマップテーブルＭＴの読込指示があると、記憶部１８からマップテーブルＭＴを読み出し、ＲＡＭ１９に展開する。なお、図２では、ファイルシステム管理部１５からＲＡＭ１９へのマップテーブルＭＴの展開制御に関する矢印を省略している。
【００６０】
ファイルシステム管理部１５は、セレクタ１４から出力された分割データファイルの読込指示または書込指示に応じて、分割データファイルを記憶部１８の所定のフォルダから読み出すまたは所定のフォルダに書き込む。なお、所定のフォルダは、ユーザの操作部ＯＰの操作に応じて、適宜変更可能である。
【００６１】
ファイルシステム管理部１５は、サーバ通信部１６が分割データファイルまたは分割データファイルでない通常のデータファイルを、ネットワークを介した保存先に書き込んだり読み込んだりした場合には、その都度、サーバ通信部１６からの書込速度または読込速度の通知を受ける。本実施形態では、ネットワークを介した保存先には、オンラインストレージ５０−１，…，５０−ｍ，サーバ３０，オンラインストレージ６０−１，…，６０−ｐが含まれる。ファイルシステム管理部１５は、入力された書込速度または読込速度を速度測定部１７に通知する。書込速度または読込速度は、書き込んだ対象のデータまたは読み込んだ対象のデータの容量（サイズ）を、書き込みまたは読み込みに要した時間で除することにより算出可能である。
【００６２】
サーバ通信部１６は、サーバ３０またはオンラインストレージ５０−１，…，５０−ｍのうちいずれかと通信するためのインターフェースとして機能する。サーバ通信部１６は、セレクタ１４から出力された分割データファイルの書込指示を基に、分割データファイルを、サーバ３０またはオンラインストレージ５０−１，…，５０−ｍのうちいずれかに送信する。
【００６３】
サーバ通信部１６は、オンラインストレージ５０−１，…，５０−ｍ、サーバ３０およびオンラインストレージ６０−１，…，６０−ｐのうちいずれかの保存先に分割データファイルまたは分割データファイルでない通常のデータファイルを書き込んだり読み込んだりした場合に、書込速度または読込速度をファイルシステム管理部１５に通知する。
【００６４】
速度測定部１７は、分割データファイルの保存先に対するデータの読込速度または書込速度を測定し、測定された読込速度または書込速度を、ＲＡＭ１９または速度測定部１７内部のメモリ等に保存する。
【００６５】
速度測定部１７は、所定の容量（サイズ）のデータを用いたトレーニング処理によって、分割データファイルの保存先に対するデータの読込速度または書込速度を測定する。トレーニング処理は、所定の容量のデータを各保存先に書き込んだり読み込んだりすることにより、各保存先への書き込みまたは読み込みに要した時間（書込時間，読込時間）を基に、各保存先に対するデータの読込速度または書込速度を測定する処理である。
【００６６】
本実施形態では、速度測定部１７は、例えば保存先Ａとしての記憶部１８に対し、ＤＭＡ転送チャネルＣＨ１を用いたＤＭＡ転送によって、秘密分散処理部１３、セレクタ１４およびファイルシステム管理部１５の動作とは独立してトレーニング処理する。同様に、速度測定部１７は、例えば保存先Ｂとしてのオンラインストレージ５０−１に対し、ＤＭＡ転送チャネルＣＨ２を用いたＤＭＡ転送によって、秘密分散処理部１３、セレクタ１４およびファイルシステム管理部１５の動作とは独立してトレーニング処理する。
【００６７】
速度測定部１７は、ネットワークを介した接続先ではない保存先Ａとしての記憶部１８に対する読込速度または書込速度については、トレーニング処理によって測定した読込速度または書込速度を秘密分散処理部１３に通知する。
【００６８】
速度測定部１７は、ネットワークを介して接続されている保存先Ｂとしてのオンラインストレージ５０−１に対する読込速度または書込速度については、トレーニング処理によって測定した読込速度または書込速度と、ファイルシステム管理部１５から通知された読込速度または書込速度とのうちで最大値、最小値、平均値および最新値のうちいずれかを秘密分散処理部１３に通知する。
【００６９】
最大値は、利用者機器１０の電源がＯＮとなって起動してからの読込速度または書込速度の中で最大となる読込速度または書込速度であり、ネットワークの輻輳度合いが最小である場合の最大速度を表す。最小値は、同様に利用者機器１０の電源がＯＮとなって起動してからの読込速度または書込速度の中で最小となる読込速度または書込速度であり、例えばオンラインストレージ５０−１に対する読込速度または書込速度の最低限保証可能な速度である。平均値は、例えば１時間毎に当該１時間の間における読込速度または書込速度の平均の読込速度または書込速度である。最新値は、例えば直近の１０分間における読込速度または書込速度を表し、測定された読込速度または書込速度が複数ある場合には当該複数の読込速度または書込速度の平均値でもよい。
【００７０】
速度測定部１７が最大値、最小値、平均値および最新値のうちいずれの読込速度または書込速度を秘密分散処理部１３に通知するかは、ユーザの操作部ＯＰを用いた所望操作（所望設定）に応じて変更されてもよい。
【００７１】
なお、速度測定部１７にて最大値を用いる場合には、ネットワークの輻輳度合いが小さいとき、効率よく読込、書込が行うことができ、最小値を用いる場合には、ネットワークの輻輳度合いが大きいとき、効率よく読込、書込が行うことができ、平均値を用いる場合には、安定した通信速度をもつネットワークのとき、効率よく読込、書込が行うことができる。
【００７２】
ここで、速度測定部１７がトレーニング処理を実行するタイミングについて、図６を参照して説明する。図６は、速度測定部の読込速度Ｓ（ｔ）または書込速度Ｕ（ｔ）の測定タイミングを時系列に説明する説明図である。
【００７３】
本実施形態では、速度測定部１７は、利用者機器１０の電源ＯＮ時（即ち起動時）、３０分後、６０分後、９０分後、…と３０分経過毎にトレーニング処理を実行し、読込速度Ｓ（ｔ）または書込速度Ｕ（ｔ）を測定する。但し、速度測定部１７の電源ＯＮ時から３０分経過後の定期的なトレーニング処理は必須でなくてもよいが、電源ＯＮ時（即ち起動時）にはトレーニング処理を実行することが好ましい。更に、トレーニング処理の実行周期の設定は、ユーザの操作部ＯＰを用いた操作により変更されてもよい。
【００７４】
図６に示すように、ファイルシステム管理部１５から通知される読込速度Ｓ（ｔ）または書込速度Ｕ（ｔ）は、サーバ通信部１６の動作が定期的に分割データファイルを含むデータファイルを保存先に書き込んだり保存先から読み込んだりするとは限らないため、不定期に速度測定部１７に入力される。
【００７５】
記憶部１８は、データファイルの読み書きが自由な記憶装置であり、アプリケーション１１、アクセス制御部１２、秘密分散処理部１３、セレクタ１１４およびファイルシステム管理部１５により実行される各プログラム、および当該各プログラムで利用される種々のデータを記憶する。また、記憶部１８は、マップテーブルＭＴを記憶している。
【００７６】
なお、アプリケーション１１、アクセス制御部１２、秘密分散処理部１３、セレクタ１４およびファイルシステム管理部１５は、ハードウェアまたはソフトウェアで構成することが可能である。特に、これらの各部がソフトウェアにより構成される場合、利用者機器１０に内蔵されているＣＰＵ（central processing unit）が各部の各動作が予め規定された各プログラムを記憶部１８から読み出すことにより、各部が動作可能となる。
【００７７】
ＲＡＭ１９は、利用者機器１０の各部の各動作におけるワークメモリに利用され、例えばアクセス制御部１２からの通知情報に応じてファイルシステム管理部１５が記憶部１８から読み出したマップテーブルＭＴが一時的に展開されて保存される。
【００７８】
（サーバ：図３）
なお、上述した利用者機器１０の内部構成と同様の内部構成をサーバ３０が備えてもよい。この場合、サーバ３０の内部構成のブロック図を図３に示す。図３は、サーバ３０の内部構成を示すブロック図である。図３に示すサーバ３０は、内部時計ＣＬＫ２、サーバ通信部１６に対応する利用者機器通信部３１、アクセス制御部３２、分割処理部としての秘密分散処理部３３、保存先選定部としてのセレクタ３４、ファイルシステム管理部１５に対応するオンラインストレージ管理部３５、速度測定部３６、記憶部３７およびＲＡＭ３８を含む構成である。
【００７９】
以下では、サーバ３０の動作の説明は、利用者機器１０の各部の構成と対応するサーバ３０の各部の動作と同様であるため省略するが、異なる内容について説明する。
【００８０】
利用者機器通信部３１は、利用者機器１０と通信するためのインターフェースとして機能し、サーバ通信部１６から送信された分割データファイルおよび分割データファイルの書込指示、または分割データファイルの読込指示を受信する。利用者機器通信部３１は、受信された分割データファイルおよび分割データファイルの書込指示、または分割データファイルの読込指示をアクセス制御部３２に通知する。
【００８１】
オンラインストレージ管理部３５は、セレクタ３４から出力された分割データファイルの読込指示または書込指示に応じて、分割データファイルを記憶部３７またはオンラインストレージ６０−１，…，６０−ｐの所定のフォルダから読み出すまたは所定のフォルダに書き込む。
【００８２】
なお、アクセス制御部３２、秘密分散処理部３３、セレクタ３４およびオンラインストレージ管理部３５は、ハードウェアまたはソフトウェアで構成することが可能である。特に、これらの各部がソフトウェアにより構成される場合、サーバ３０に内蔵されているＣＰＵが各部の各動作が予め規定された各プログラムを記憶部３７から読み込むことにより、各部が動作可能となる。
【００８３】
ＲＡＭ３９は、サーバ３０の各部の各動作におけるワークメモリに利用される。
【００８４】
次に、速度測定部１７のトレーニング処理時における動作について、図７を参照して説明する。図７は、速度測定部１７のトレーニング処理を説明するフローチャートである。図７では利用者機器１０の速度測定部１７におけるトレーニング処理を説明するが、同様な動作はサーバ３０の速度測定部３６におけるトレーニング処理についても適用可能である。図７の説明の前提として、利用者機器１０は電源ＯＮ時の直後、即ち起動直後の状態であるとする。また、図７では測定（算出）対象として読込速度とするが、書込速度としてもよい。
【００８５】
図７において、速度測定部１７は、利用者機器１０におけるデータファイルの保存先情報をファイルシステム管理部１５に問い合わせる。ファイルシステム管理部１５は、速度測定部１７からの問い合わせを基に、利用者機器１０におけるデータファイルの保存先情報を速度測定部１７に応答する。これにより、速度測定部１７は、利用者機器１０におけるデータファイルの保存先情報を判定する（Ｓ１１）。
【００８６】
図７のステップＳ１２からＳ１５までの処理全体が速度測定部１７のトレーニング処理に対応し、ステップＳ１２からＳ１５までのトレーニング処理がステップＳ１１で判定された保存先毎に実行される。以下の説明では、説明を簡単にするために、利用者機器１０におけるデータファイルの保存先情報として、２つの保存先があり、第１の保存先Ａが記憶部１８であって、第２の保存先Ｂがオンラインストレージ５０−１であるとする。速度測定部１７は、第１の保存先Ａに対するトレーニング処理を実行する。
【００８７】
速度測定部１７は、ＤＭＡ転送チャネルＣＨ１を介して、Ｍｋバイトの固定データを記憶部１８に書き込む（Ｓ１２）。速度測定部１７は、ＤＭＡ転送チャネルＣＨ１を介して、Ｍｋバイトの固定データを記憶部１８から読み込み、固定データの容量（Ｍｋバイト）と読込時間とを基に読込速度Ｓ（ｔ）を算出する（Ｓ１３）。速度測定部１７は、ＤＭＡ転送チャネルＣＨ１を介して、記憶部１８に書き込まれた固定データを削除する（Ｓ１４）。速度測定部１７は、第１の保存先Ａとしての記憶部１８に対する読込速度Ｓ（ｔ）の最大値、最小値、平均値および最新値のうちいずれかの読込速度をＲＡＭ１９に保存する（Ｓ１５）。上述したように、最大値、最小値、平均値および最新値のうちいずれかの読込速度が速度測定部１７により選定されるかは、速度測定部１７の動作において予め規定されている。
【００８８】
全ての保存先毎にトレーニング処理が終了していない場合には（Ｓ１６、ＮＯ）、速度測定部１７は、他の保存先に対するトレーニング処理を実行する。例えば、第２の保存先Ｂとしてのオンラインストレージ５０−１に対するトレーニング処理が実行されていない場合には、速度測定部１７は、ステップＳ１２からＳ１５までのトレーニング処理を、オンラインストレージ５０−１に対して実行する。
【００８９】
具体的には、速度測定部１７は、ＤＭＡ転送チャネルＣＨ２を介して、サーバ通信部１６に、Ｍｋバイトの固定データをオンラインストレージ５０−１に書き込ませる（Ｓ１２）。速度測定部１７は、ＤＭＡ転送チャネルＣＨ２を介して、サーバ通信部１６に、Ｍｋバイトの固定データをオンラインストレージ５０−１から読み込ませ、サーバ通信部１６から読込時間を入力する。速度測定部１７は、固定データの容量（Ｍｋバイト）と読込時間とを基に読込速度Ｓ（ｔ）を算出する（Ｓ１３）。速度測定部１７は、ＤＭＡ転送チャネルＣＨ２を介して、サーバ通信部１６に、オンラインストレージ５０−１に書き込まれた固定データを削除させる（Ｓ１４）。速度測定部１７は、第２の保存先Ｂとしてのオンラインストレージ５０−１に対する読込速度Ｓ（ｔ）の最大値、最小値、平均値および最新値のうちいずれかの読込速度をＲＡＭ１９に保存する（Ｓ１５）。
【００９０】
全ての保存先毎にトレーニング処理が終了した場合に（Ｓ１６、ＹＥＳ）、速度測定部１７が、図６に示すように全ての保存先毎のトレーニング処理を定期的に実行するように設定されていないとする（Ｓ１７、ＮＯ）。この場合、速度測定部１７の動作はステップＳ２０に進む。
【００９１】
一方、全ての保存先毎にトレーニング処理が終了した場合に（Ｓ１６、ＹＥＳ）、速度測定部１７が、図６に示すように全ての保存先毎のトレーニング処理を定期的に実行するように設定されているとする（Ｓ１７、ＹＥＳ）。この場合、速度測定部１７は、内部時計ＣＬＫ１からの時計情報を基に、現在時刻とトレーニング処理の実行周期に対応する次のトレーニング処理の実行時刻までの間、待機する（Ｓ１８）。速度測定部１７は、ステップＳ１８の待機後、トレーニング処理の実行周期に対応する実行時間になると、ステップＳ１２からＳ１５までと同様のトレーニング処理を実行する（Ｓ１９）。
【００９２】
なお、ステップＳ１７からＳ１９までの複数回のトレーニング処理は、保存先がネットワークを介した保存先、即ち第２の保存先としてのオンラインストレージ５０−１に対して実行されることが好ましい。記憶部１８に対する読込速度または書込速度は一定であるため、例えば利用者機器１０の電源ＯＮ時（即ち起動時）に一度測定すれば良い。しかし、オンラインストレージ５０−１に対する読込速度または書込速度は、ネットワークＮＷ１の輻輳度合いに応じて動的に変化するため、複数回のトレーニング処理の実行が好ましい。
【００９３】
利用者機器１０が電源ＯＦＦ時になると（Ｓ２０、ＹＥＳ）、速度測定部１７の動作は終了する。しかし、利用者機器１０が電源ＯＦＦ時にならなければ（Ｓ２０、ＮＯ）、速度測定部１７の動作はステップＳ２１に進む。読込速度Ｓ（ｔ）がファイルシステム管理部１５から通知された場合には（Ｓ２１、ＹＥＳ）、速度測定部１７は、当該通知された読込速度Ｓ（ｔ）をＲＡＭ１９に一時的に保存する（Ｓ２２）。読込速度Ｓ（ｔ）がファイルシステム管理部１５から通知されない場合には（Ｓ２１、ＹＥＳ）、速度測定部１７の動作はステップＳ１７に戻る。
【００９４】
次に、元データファイルを分割して各分割データファイルを保存先に保存する場合の秘密分散処理部の動作について、図８〜図１１を参照して説明する。図８は、元データファイルを分割して各分割データファイルを保存する場合の秘密分散処理部１３の動作を説明するフローチャートである。図９は、分割比を判定する場合の秘密分散処理部１３の動作を説明するフローチャートである。図１０は、分割比を判定する場合の秘密分散処理部１３の動作を説明するフローチャートである。図１１は、分割処理および復元処理の分割数に対する処理負荷を表すグラフである。
【００９５】
図８〜図１０では利用者機器１０の秘密分散処理部１３における動作を説明するが、同様な動作はサーバ３０の秘密分散処理部３３における動作についても適用可能である。
【００９６】
図８において、秘密分散処理部１３は、利用者機器１０におけるデータファイルの保存先情報をファイルシステム管理部１５に問い合わせる。ファイルシステム管理部１５は、秘密分散処理部１３からの問い合わせを基に、利用者機器１０におけるデータファイルの保存先情報を秘密分散処理部１３に応答する。これにより、秘密分散処理部１３は、利用者機器１０におけるデータファイルの保存先情報を判定する（Ｓ３１）。なお、秘密分散処理部１３は、利用者機器１０におけるデータファイルの保存先情報を速度測定部１７に問い合わせ、速度測定部１７からの応答情報を基に、利用者機器１０におけるデータファイルの保存先情報を判定してもよい。
【００９７】
秘密分散処理部１３は、アクセス制御部１２から通知された分割対象となる元データファイルのマップテーブルＭＴにおけるレコードの情報を入力する。秘密分散処理部１３は、入力された情報に、元データファイルの分割データファイルの保存先に応じた固定比が予め設定されているか否かを判定する（Ｓ３２）。
【００９８】
入力された情報に元データファイルの分割データファイルの保存先に応じた固定比が予め設定されていると判定された場合（Ｓ３２、ＹＥＳ）、秘密分散処理部１３は、当該固定比を分割比とし、更に分割対象となる元データファイルのデータを、分割比に対応する分割数個の分割データファイルのデータに分割する（Ｓ３３）。ステップＳ３３の後、秘密分散処理部１３の動作はステップＳ３６へ進む。
【００９９】
入力された情報に元データファイルの分割データファイルの保存先に応じた固定比が予め設定されていないと判定された場合（Ｓ３２、ＮＯ）、秘密分散処理部１３は、分割指示の対象となる元データファイルの分割データファイルの保存先毎の各読込速度Ｓ（ｔ）を速度測定部１７に問い合わせる（Ｓ３４）。なお、ステップＳ３４では、秘密分散処理部１３は、読込速度Ｓ（ｔ）の代わりに、書込速度Ｕ（ｔ）を速度測定部１７に問い合わせてもよい。以下の説明では、ステップＳ３４において読込速度Ｓ（ｔ）の問い合わせがなされるとする。
【０１００】
秘密分散処理部１３は、速度測定部１７から応答のあった保存先毎の各読込速度Ｓ（ｔ）を基に、分割指示の対象となる元データファイルの分割比および分割数を判定する（Ｓ３５）。ステップＳ３５の分割比および分割数の判定処理については、図９および図１０を参照して詳述する。ステップＳ３５の後、秘密分散処理部１３の動作はステップＳ３６へ進む。なお、秘密分散処理部１３は、ステップＳ３５において判定された分割比および分割数を、分割指示の対象となる元データファイルのマップテーブルＭＴにおけるレコードに書き込むことが好ましい。
【０１０１】
秘密分散処理部１３は、ステップＳ３３またはＳ３５において判定された分割比および分割数を基に、分割指示の対象となる元データファイルを分割（秘密分散）する（Ｓ３６）。秘密分散処理部１３は、分割処理によって生成された複数の各分割データファイルのヘッダ領域に、元データファイル識別情報２０６、分割データファイル番号情報２０４および保存先情報２０５を書き込む（Ｓ３７）。秘密分散処理部１３は、ヘッダ領域とデータ領域とにより構成される複数の各分割データファイルをセレクタ１４に出力する（Ｓ３８）。
【０１０２】
次に、分割比を判定する場合の秘密分散処理部１３の動作について、図９および図１０を参照して説明する。図９および図１０の説明では、保存先数が２つ（保存先Ａ，保存先Ｂ）であるとする。
【０１０３】
図９において、秘密分散処理部１３は、ステップＳ３４において速度測定部１７からの応答としての保存先Ａに対する読込速度ＳＡ（ｔ）および保存先Ｂに対する読込速度ＳＢ（ｔ）を基に、保存先Ａと保存先Ｂとにそれぞれ分割データファイルを保存させる個数を表す保存比ＨＡ：ＨＢを算出する（Ｓ４１）。ステップＳ４１では、ＨＡは保存先Ａに対する読込速度ＳＡ（ｔ）とし（ＨＡ＝ＳＡ（ｔ））、ＨＢは保存先Ｂに対する読込速度ＳＢ（ｔ）とし（ＨＢ＝ＳＢ（ｔ））とする。
【０１０４】
また、保存比ＨＡ：ＨＢのパラメータＨＡ，ＨＢは、数式（１）および数式（２）によりそれぞれ算出されてもよい。数式（１）において、パラメータＳＡは保存先Ａ（例えば記憶部１８）に対する読込速度，パラメータＳＢは保存先Ｂ（例えばオンラインストレージ５０−１）に対する読込速度、パラメータＤＭＡＸは秘密分散処理部１３の動作において予め規定された分割上限数を表す。なお、数式（１）および数式（２）が成立する場合には、後述する数式（３）も成立する。
【０１０５】
【数１】
2013131060.tif 000003
【０１０６】
【数２】
2013131060.tif 000004
【０１０７】
秘密分散処理部１３は、ステップＳ４１において算出された保存比ＨＡ：ＨＢを基に、数式（３）が成立するか否かを判定する（Ｓ４２）。
【０１０８】
【数３】
2013131060.tif 000005
【０１０９】
数式（３）が成立すると判定された場合には（Ｓ４２、ＹＥＳ）、秘密分散処理部１３は、ＨＡとＨＢとが約分できるか、即ちＨＡとＨＢとの間に１以外の最大公約数Ｇが存在するか否かを判定する（Ｓ４３）。なお、最大公約数Ｇは整数に限定されず、例えば２．５のような実数であればよい。
【０１１０】
ＨＡとＨＢとが約分できると判定された場合（Ｓ４３、ＹＥＳ）、秘密分散処理部１３は、最大公約数Ｇを用いて約分した後の保存比ＨＡ’：ＨＢ’を、分割比ＤＡ：ＤＢと判定する（Ｓ４４）。更に、秘密分散処理部１３は、分割比ＤＡ：ＤＢを基に、分割数を（ＤＡ＋ＤＢ）と判定する。この場合、例えばＨＡ：ＨＢ＝４：２である場合には、秘密分散処理部１３は、分割比を「４：２」ではなく最大公約数２を用いて約分した後の「２：１」と判定し、分割数を「４＋２＝６」ではなく「２＋１＝３」と判定する。
【０１１１】
ＨＡとＨＢとが約分できないと判定された場合（Ｓ４３、ＮＯ）、秘密分散処理部１３は、ステップＳ４１において算出された保存比ＨＡ：ＨＢを、分割比ＤＡ：ＤＢと判定する（Ｓ４５）。更に、秘密分散処理部１３は、分割比ＤＡ：ＤＢを基に、分割数を（ＤＡ＋ＤＢ）（＝ＨＡ＋ＨＢ）と判定する。この場合、例えばＨＡ：ＨＢ＝５：２である場合には、秘密分散処理部１３は、分割比を「５：２」と判定し、分割数を「５＋２＝７」と判定する。
【０１１２】
パラメータＨＡとパラメータＨＢとの間に１以外の最大公約数が存在する場合に秘密分散処理部１３が約分した後の保存比ＨＡ’：ＨＢ’を分割比ＤＡ：ＤＢと判定するのは、図１１に示すように、秘密分散処理を含む分割処理または復元処理においては、分割数が多くなればなるほど利用者機器１０の分割処理または復元処理における処理負荷が増すためである。従って、秘密分散処理部１３は、パラメータＨＡとパラメータＨＢとの間に１以外の最大公約数が存在する場合に、最大公約数Ｇを用いて約分した後の保存比ＨＡ’：ＨＢ’を分割比ＤＡ：ＤＢと判定することによって、利用者機器１０における処理負荷を低減することができる。
【０１１３】
一方、数式（３）が成立しないと判定された場合には（Ｓ４２、ＮＯ）、秘密分散処理部１３は、ステップＳ４２の条件式、即ち数式（３）が成立するように、パラメータＨＡ，ＨＢを調整する（Ｓ４６）。ステップＳ４６の調整の動作について、図１０を参照して説明する。
【０１１４】
図１０において、秘密分散処理部１３は、ステップＳ３１において判定された保存先情報を基に、２つの保存先Ａ，Ｂのうちどちらかにオンラインストレージが含まれるか否かを判定する（Ｓ５１）。２つの保存先Ａ，Ｂのうちどちらかにオンラインストレージが含まれると判定された場合には（Ｓ５１、ＹＥＳ）、秘密分散処理部１３は、２つの保存先Ａ，Ｂのうちどちらもオンラインストレージであるか否かを判定する（Ｓ５２）。
【０１１５】
２つの保存先Ａ，Ｂのうちどちらもオンラインストレージでないと判定された場合（Ｓ５２、ＮＯ）、秘密分散処理部１３は、オンラインストレージでない保存先におけるパラメータＨＡとの間で約分ができるように、オンラインストレージのパラメータＨＢを小さい値に調整する（Ｓ５３）。秘密分散処理部１３は、パラメータＨＡとステップＳ５３によって調整されたパラメータＨＢとを、１以外の最大公約数Ｇを用いて約分する（Ｓ５４）。
【０１１６】
例えば、ステップＳ４１において算出された保存比ＨＡ：ＨＢが「１３：７」である場合には、秘密分散処理部１３は、ステップＳ５３においてＨＡ（１３）と約分ができるようにＨＢを小さい値（６．５）に調整することによって「１３：６．５」と判定し、ステップＳ５４において最大公約数Ｇ＝６．５を用いて「２：１」に約分する。ステップＳ５４の次の秘密分散処理部１３の動作は、ステップＳ４２に進む。
【０１１７】
２つの保存先Ａ，Ｂのうちどちらもオンラインストレージであると判定された場合（Ｓ５２、ＹＥＳ）、秘密分散処理部１３は、２つのオンラインストレージにおける各パラメータＨＡとＨＢとの間で約分ができるように、パラメータＨＡとＨＢのうち値が小さいパラメータ（例えばＨＢ）を小さく調整する（Ｓ５５）。秘密分散処理部１３は、パラメータＨＡとステップＳ５５によって調整されたパラメータＨＢとを、１以外の最大公約数Ｇを用いて約分する（Ｓ５４）。
【０１１８】
例えば、ステップＳ４１において算出された保存比ＨＡ：ＨＢが「３．６：２．６」である場合には、秘密分散処理部１３は、ステップＳ５５においてＨＡ（３．６）と約分ができるようにＨＢを小さい値（２．４）に調整することによって「３．６：２．４」と判定し、ステップＳ５４において最大公約数Ｇ＝１．２を用いて「３：２」に約分する。ステップＳ５４の次の秘密分散処理部１３の動作は、ステップＳ４２に進む。
【０１１９】
２つの保存先Ａ，Ｂにオンラインストレージがいずれも含まれないと判定された場合には（Ｓ５１、ＮＯ）、秘密分散処理部１３は、２つの保存先（例えば記憶部１８と外部記憶媒体４０）における各パラメータＨＡとＨＢとの間で約分ができるように、パラメータＨＡとＨＢのうち値が小さいパラメータ（例えばＨＢ）を小さく調整する（Ｓ５５）。秘密分散処理部１３は、パラメータＨＡとステップＳ５５によって調整されたパラメータＨＢとを、１以外の最大公約数Ｇを用いて約分する（Ｓ５４）。
【０１２０】
次に、複数の分割データファイルを用いて元データファイルを復元する場合の秘密分散処理部１３の動作について、図１２および図１３を参照して説明する。図１２は、元データファイルを復元する場合の秘密分散処理部１３の動作を説明するフローチャートである。図１３は、元データファイルを復元する場合の秘密分散処理部１３の動作を説明するフローチャートである。
【０１２１】
図１２において、秘密分散処理部１３は、復元指示の対象となる元データファイルの復元指示をアクセス制御部１２から受ける（Ｓ６１）。具体的には、秘密分散処理部１３は、アクセス制御部１２から通知された復元対象となる元データファイルのマップテーブルＭＴにおけるレコードの情報を入力する。
【０１２２】
秘密分散処理部１３は、ステップＳ３５において判定された分割比および分割数の書き込まれたマップテーブルＭＴのレコードを基に、復元指示の対象となる元データファイルの分割時における分割比および分割数、更に各分割データファイルの各保存先を判定する（Ｓ６２）。
【０１２３】
秘密分散処理部１３は、保存先数ｓ、およびｓ番目の保存先に保存されている分割データファイルの数ｔを初期化し（Ｓ６３）、ｓ番目の保存先におけるｔ番目の分割データファイルのヘッダを読み出す（Ｓ６４）。秘密分散処理部１３は、ｓ番目の保存先における全ての分割データファイルのヘッダを読み出したか否かを判定する（Ｓ６５）。
【０１２４】
ｓ番目の保存先における全ての分割データファイルのヘッダを読み出していないと判定された場合には（Ｓ６５、ＮＯ）、秘密分散処理部１３は、パラメータｔをインクリメントする（Ｓ６６）。ステップＳ６６の後の秘密分散処理部１３の動作は、ステップＳ６４に進む。従って、ｓ番目の保存先における全ての分割データファイルのヘッダを読み出されるまで、ステップＳ６４〜Ｓ６６までの動作が繰り返される。
【０１２５】
ｓ番目の保存先における全ての分割データファイルのヘッダを読み出したと判定された場合には（Ｓ６５、ＹＥＳ）、秘密分散処理部１３は、ステップＳ６２において判定されたパラメータｓが最大値であるか否かを判定する（Ｓ６７）。ステップＳ６２において判定されたパラメータｓが最大値ではないと判定された場合には（Ｓ６７、ＮＯ）、秘密分散処理部１３は、パラメータｓをインクリメントする（Ｓ６８）。ステップＳ６８の後の秘密分散処理部１３の動作は、ステップＳ６４に進む。従って、全ての保存先における全ての分割データファイルのヘッダを読み出されるまで、ステップＳ６４〜Ｓ６８までの動作が繰り返される。
【０１２６】
ステップＳ６２において判定されたパラメータｓが最大値である、即ち、全ての保存先における全ての分割データファイルのヘッダが読み出されたと判定されたとする。この場合（Ｓ６７、ＹＥＳ）、秘密分散処理部１３は、保存先数ｓ、およびｓ番目の保存先に保存されている分割データファイルの数ｔを初期化し（Ｓ６９）、ｓ番目の保存先におけるｔ番目の分割データファイルを読み出す（Ｓ７０）。更に、秘密分散処理部１３は、分割データファイルを読み出したときの読込速度Ｓ（ｔ）をＲＡＭ１９に一時的に保存する（Ｓ７０）。秘密分散処理部１３は、ｓ番目の保存先における全ての分割データファイルを読み出したか否かを判定する（Ｓ７１）。
【０１２７】
ｓ番目の保存先における全ての分割データファイルを読み出していないと判定された場合には（Ｓ７１、ＮＯ）、秘密分散処理部１３は、パラメータｔをインクリメントする（Ｓ７２）。ステップＳ７２の後の秘密分散処理部１３の動作は、ステップＳ７０に進む。従って、ｓ番目の保存先における全ての分割データファイルを読み出されるまで、ステップＳ７０〜Ｓ７２までの動作が繰り返される。
【０１２８】
ｓ番目の保存先における全ての分割データファイルを読み出したと判定された場合には（Ｓ７１、ＹＥＳ）、秘密分散処理部１３は、ステップＳ６２において判定されたパラメータｓが最大値であるか否かを判定する（Ｓ７３）。ステップＳ６２において判定されたパラメータｓが最大値ではないと判定された場合には（Ｓ７３、ＮＯ）、秘密分散処理部１３は、パラメータｓをインクリメントする（Ｓ７４）。ステップＳ７４の後の秘密分散処理部１３の動作は、ステップＳ７０に進む。従って、全ての保存先における全ての分割データファイルのヘッダを読み出されるまで、ステップＳ７０〜Ｓ７４までの動作が繰り返される。
【０１２９】
ステップＳ６２において判定されたパラメータｓが最大値である、即ち、全ての保存先における全ての分割データファイルが読み出されたと判定されたとする。この場合（Ｓ７３、ＹＥＳ）、秘密分散処理部１３は、読み込まれた各分割データファイルを基に、元データファイルを復元する（Ｓ７５）。秘密分散処理部１３は、各分割データファイルを読み込んだ場合にＲＡＭ１９に一時的に保存した各読込速度を速度測定部１７に通知する（Ｓ７６）。
【０１３０】
以上により、本実施形態の情報処理装置としての利用者機器１０は、分割データファイルの保存先に対する読込速度または書込速度を基に分割データファイルの分割比および分割数を判定する。このため、利用者機器１０は、読込速度が大きい保存先には分割データファイルを多く保存し、読込速度が小さい保存先には分割データファイルを少なく保存する。これにより、利用者機器１０は、分割データファイルの保存数を効率的に判定することができるため、分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させることができる。
【０１３１】
なお、秘密分散処理部１３は、図９に示す動作の代わりに、図１４に示すように動作してもよい。図１４は、分割比を判定する場合の秘密分散処理部の他の動作を説明するフローチャートである。図１４の説明では、図９の説明と同一内容の説明を省略し、異なる内容について以下のとおり説明する。なお、ここでは、ＳＡ（又はＨＡ）は記憶部１８の読込速度、ＳＢ（又はＨＢ）はオンラインストレージ５０−１の読込速度とする。
【０１３２】
図１４のステップＳ４１では、保存比ＨＡ：ＨＢは、整数比として算出される。例えば、保存比ＨＡ：ＨＢが７３：１８であるとする。同図において、数式（３）が成立しないと判定された場合には（Ｓ４２、ＮＯ）、秘密分散処理部１３は、パラメータＨＡが奇数である場合に、当該パラメータＨＡに１を加える（Ｓ８１）。例えば、保存比ＨＡ：ＨＢは７４：１８となる。なお、ステップＳ８１では、秘密分散処理部１３は、パラメータＨＡが偶数である場合には当該パラメータＨＡに１を加えない。
【０１３３】
続けて、秘密分散処理部１３は、パラメータＨＢが奇数である場合に、当該パラメータＨＢから１を減ずる（Ｓ８２）。なお、ステップＳ８２では、秘密分散処理部１３は、パラメータＨＢが偶数である場合には当該パラメータＨＢから１を減じない。従って、ステップＳ８１およびＳ８２によって、パラメータＨＡ：ＨＢは偶数：偶数（例えば７４：１８）となる。
【０１３４】
続けて、秘密分散処理部１３は、パラメータＨＡ：ＨＢを２で除算する（Ｓ８３）。例えば、保存比ＨＡ：ＨＢは３７：９となる。ステップＳ８３の結果、パラメータＨＡまたはＨＢのいずれも１でない場合には（Ｓ８４、ＮＯ）、パラメータＨＡまたはＨＢのいずれかが１となるまでステップＳ８１〜Ｓ８３の処理が繰り返される。
【０１３５】
例えば、保存比ＨＡ：ＨＢは、３７：９からＨＡが１加えられてＨＢが１減じられて３８：８となり、２で除算されることで１９：４となる。更に、同様にして保存比ＨＡ：ＨＢは２０：４となり、１０：２となって最終的に５：１となる。
【０１３６】
パラメータＨＡまたはＨＢのいずれかが１である場合には（Ｓ８４、ＹＥＳ）、秘密分散処理部１３の動作はステップＳ４５となる。
【０１３７】
ここで、図１４は、一例であり、Ｓ８１、Ｓ８２において、オンラインストレージ以外（利用者機器１０からネットワークを介しないでアクセスできるストレージ：記憶部１８や外部記憶媒体等）であって奇数のとき１を加算し、オンラインストレージ（サーバ３０の記憶部３７も含む）であって奇数のとき１を減算することが好ましい。
【０１３８】
なお、両方ともオンラインストレージ、または、両方ともオンラインストレージ以外のときは、上記のようにしても良いし、ともに１を加算、または１を減算してもよい。
【０１３９】
また、図１４では、奇数に着目して１を加算、減算するようにしたが、奇数という条件に関わらず約分できるようにするのであれば、１以外の数を加算、減算してもよい。
【０１４０】
以下、上述した様な本発明に係る情報処理装置の構成、作用および効果を説明する。
【０１４１】
本発明に係る第１の発明は、ネットワークを介して、ストレージ装置に接続可能な情報処理装置であって、ファイルまたはフォルダの元データを２つ以上の分割データに分割する分割処理部と、前記２つ以上の分割データの保存先を、前記ストレージ装置または前記情報処理装置のうちいずれかに選定する保存先選定部と、を備え、前記分割処理部は、各々の前記保存先に応じて、予め定められた分割上限数を超えずに、前記ファイルまたはフォルダの元データの分割数（ａ＋ｂ）および分割比（ａ：ｂ）を判定し、前記保存先選定部は、前記判定された分割数（ａ＋ｂ）および分割比（ａ：ｂ）を基に分割された各分割データに応じて、前記分割数（ａ＋ｂ）に対応する全ての前記分割データのうち、一部のａまたはｂ個の分割データの保存先を前記情報処理装置と判定し、更に残りのｂまたはａ個の分割データの保存先を前記ストレージ装置と判定する。
【０１４２】
本発明に係る第１の発明によれば、分割データファイルの保存数を効率的に判定することができるため、分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させることができる。
【０１４３】
また、本発明に係る第２の発明は、第１の発明に係る情報処理装置であって、前記分割処理部が、前記判定された分割比が約分可能である場合に、前記ファイルまたはフォルダの元データの分割比を、約分後の分割比と判定する。
【０１４４】
本発明に係る第２の発明によれば、判定された分割比を約分することによって、ファイルまたはフォルダの元データの分割数を低減することができ、利用者機器１０の処理負荷を低減することができる。
【０１４５】
また、本発明に係る第３の発明は、第１または第２の発明に係る情報処理装置であって、前記保存先に対するデータの読込速度または書込速度を測定する速度測定部と、を更に備え、前記分割処理部が、前記保存先に対するデータの読込速度または書込速度を基に、前記ファイルまたはフォルダの元データの分割数および分割比を判定する。
【０１４６】
本発明に係る第３の発明によれば、速度測定部によって測定された保存先毎の読込速度または書込速度に応じて、ネットワークの輻輳度合いを考慮してファイルまたはフォルダの元データの分割比および分割数を効率的に判定することができる。
【０１４７】
また、本発明に係る第４の発明は、第３の発明に係る情報処理装置であって、前記速度測定部は、前記保存先毎にＤＭＡ転送を用いて所定のデータを各々の前記保存先に書き込み、前記所定のデータの読込時間または書込時間を基に、前記保存先に対するデータの読込速度または書込速度を測定する。
【０１４８】
本発明に係る第４の発明によれば、速度測定部がＤＭＡ転送を用いることによって、ファイルシステム管理部の動作と独立して、ファイルシステム管理部の動作の終了を待たずして保存先毎の読込速度または書込速度を高速に測定することができる。
【０１４９】
また、本発明に係る第５の発明は、第４の発明に係る情報処理装置であって、前記速度測定部が、前記保存先に対するデータの読込速度または書込速度を、前記読込速度または前記書込速度の最大値、最小値、平均値および最新値のうちいずれかを前記分割処理部に通知する。
【０１５０】
本発明に係る第５の発明によれば、ユーザの所望設定に応じて、読込速度または書込速度の最大値、最小値、平均値および最新値のうちいずれかを分割処理部としての秘密分散処理部に出力することができる。
【０１５１】
また、本発明に係る第６の発明は、第３〜第５の発明のうちいずれかの発明に係る情報処理装置であって、前記分割処理部が、前記保存先に前記ストレージ装置が含まれる場合に、前記ストレージ装置に対応する前記分割数を小さくするように前記分割比を調整する。
【０１５２】
本発明に係る第６の発明によれば、ネットワークを介して接続されているオンラインストレージにおける保存数を小さくするようにできるため、分割処理後の分割データファイルを再び読み出して復元する場合の読込時間を低減でき、ユーザに苛立ちを覚えさせずに快適な操作性を享受させることができる。
【０１５３】
また、本発明に係る第７の発明は、第１〜第６の発明のうちいずれかの発明に係る情報処理装置であって、前記分割処理部が、前記分割データの保存先に応じた分割比が固定値として予め定められている場合、前記固定値を前記ファイルまたはフォルダの元データの分割比と判定する。
【０１５４】
本発明に係る第７の発明によれば、ユーザの所望設定に応じて、分割指示の対象となる元データの分割比を用いて分割することができる。
【０１５５】
また、本発明に係る第８の発明は、第１〜第７の発明のうちいずれかの発明に係る情報処理装置であって、前記分割処理部が、前記分割データのヘッダに、前記元データの識別情報および前記分割データの保存先毎の分割数を少なくとも書き込む。
【０１５６】
本発明に係る第８の発明によれば、分割データファイルのヘッダを確認することによって、復元指示の対象となる元データファイルの分割データファイルを適切に確認することができ、更に分割数のうち何番目の分割データファイルであるかも確認することができる。
【０１５７】
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種実施形態の変更例または修正例、更に各種実施形態の組み合わせ例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１５８】
なお、上述した実施の形態においては、分割処理の一例として、秘密分散処理を用いて説明したが、これらに限定されない。例えば、共通鍵暗号化処理または公開鍵暗号化処理を用いても良い。更に、秘密分散処理の方法も、（２，２）しきい値秘密分散法に限定されず、他の秘密分散処理の方法も適用可能である。
【産業上の利用可能性】
【０１５９】
本発明は、分割データファイルの保存先に対する各分割データファイルの読み込みまたは書き込みに要する時間を低減し、快適な操作性をユーザに享受させることが可能な情報処理装置として有用である。
【符号の説明】
【０１６０】
１０  利用者機器
１１  アプリケーション
１２  アクセス制御部
１３  秘密分散処理部
１４  セレクタ
１５  ファイルシステム管理部
１６  サーバ通信部
１７  速度測定部
１８  記憶部
１９、３９  ＲＡＭ
４０  外部記憶媒体
ＯＰ  操作部
【図１】
2013131060.tif 000006
【図２】
2013131060.tif 000007
【図３】
2013131060.tif 000008
【図４】
2013131060.tif 000009
【図５】
2013131060.tif 000010
【図６】
2013131060.tif 000011
【図７】
2013131060.tif 000012
【図８】
2013131060.tif 000013
【図９】
2013131060.tif 000014
【図１０】
2013131060.tif 000015
【図１１】
2013131060.tif 000016
【図１２】
2013131060.tif 000017
【図１３】
2013131060.tif 000018
【図１４】
2013131060.tif 000019