以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
図1は、第1の実施の形態に係る情報処理システムの一例を示す図である。図1の例では、情報処理装置10がユーザによる選択操作に応じて原本ファイルを生成する。情報処理装置10は、原本ファイル生成の処理手順が記述されたプログラムを実行することにより、原本ファイル生成処理を実施することができる。
情報処理装置10には、サーバ1と記憶装置2とが接続されている。サーバ1は、例えばネットワークを介して情報処理装置10に接続する。サーバ1は、ファイル名が「a.ppt」である原本ファイル4と原本ファイル4を分割した複数の分散片ファイルの一部である第1のデータとを記憶する。ここで複数の分散片ファイルは、例えば原本ファイル4が秘密分散法によって分割されることで生成される。
秘密分散法では、ファイルが暗号化され、複数に分割される。また、複数に分割されたファイルを結合することで元のファイルが復元される。ここでは一例として、原本ファイル4がファイル名「a.001」である分散片ファイル4aと、ファイル名が「a.002」である分散片ファイル4bとに2分割される場合を考える。分散片ファイル4a,4bの大きさは同じでもよいし異なってもよい。サーバ1は、第1のデータとして分散片ファイル4aを記憶する。
記憶装置2は、情報処理装置10に接続されたデバイスであってもよいし、情報処理装置10が有するストレージ装置であってもよい。記憶装置2は、原本ファイル4を分割した複数の分散片ファイルのうち、第1のデータを除いた第2のデータを記憶する。記憶装置2は、第2のデータとして分散片ファイル4bを記憶する。
情報処理装置10は不揮発性記憶部11と揮発性記憶部12と処理部13とを有する。不揮発性記憶部11は、例えば情報処理装置10が有するストレージ装置である。揮発性記憶部12は、例えば情報処理装置10が有するメモリである。処理部13は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
不揮発性記憶部11は、管理情報11aを記憶する。管理情報11aは、原本ファイル4の識別子に対応付けて、原本ファイル4を分割して複数の記憶装置に分散格納された分散片ファイル4a,4bそれぞれの識別子と、分散片ファイル4a,4bそれぞれの格納場所を示すパスとを記録する。原本ファイル4の識別子は、例えば原本ファイル4のファイル名である。また、分散片ファイル4a,4bそれぞれの識別子は、例えば分散片ファイル4a,4bそれぞれのファイル名である。
管理情報11aでは、識別子「a.ppt」に対して、識別子「a.001」と識別子「a.002」とが対応付けられている。また識別子「a.001」には、サーバ1の分散片ファイル4aの格納場所を示すパス「a1pass」が対応付けられている。また識別子「a.002」には、記憶装置2の分散片ファイル4bの格納場所を示すパス「a2pass」が対応付けられている。
揮発性記憶部12は、仮想ストレージ装置12aを有する。仮想ストレージ装置12aは、揮発性記憶部12の一部の記憶領域であり、処理部13によって仮想的なストレージ装置として使用される。
処理部13は、管理情報11aを参照し、原本ファイル4の識別子を表示する。例えば処理部13は、表示画面3に、原本ファイル4のファイル名である「a.ppt」を原本ファイル4の識別子として表示する。処理部13は、原本ファイル4の識別子に対して選択操作が行われた場合、分散片ファイル4a,4bそれぞれの識別子とパスとに基づいて原本ファイル4に対応する分散片ファイル4a,4bを取得する。
例えば処理部13は、原本ファイル4の識別子「a.ppt」が選択されると、管理情報11aを参照し、識別子「a.ppt」に対応する識別子「a.001」と識別子「a.002」とを特定する。そして処理部13は、分散片ファイル「a.001」を、分散片ファイル「a.001」に対応するパス「a1pass」から取得する。つまり処理部13は、サーバ1から分散片ファイル4aを取得する。また処理部13は、分散片ファイル「a.002」を、分散片ファイル「a.002」に対応するパス「a2pass」から取得する。つまり処理部13は、記憶装置2から分散片ファイル4bを取得する。
処理部13は、取得した分散片ファイル4a,4bを結合して、原本ファイル4を生成する。そして処理部13は、生成した原本ファイル4を揮発性記憶部12内の仮想ストレージ装置12aに格納する。
このような情報処理装置10によれば、原本ファイル4の識別子を表示し、表示された識別子が選択されてから原本ファイル4を生成する。原本ファイル4の識別子が表示されることにより、情報処理装置10で原本ファイル4を使用できることをユーザが把握できる。また識別子が選択されてから原本ファイル4が生成されることで、まだ使用されていない原本ファイルが情報処理装置10に保持されなくなる。よって情報処理装置10が盗難されても、使用していない原本ファイルは漏洩しない。これにより、セキュリティが向上する。また、使用していない原本ファイルが記憶されないことで、記憶容量の消費が削減される。
また処理部13は、原本ファイル4を閉じる指示を取得すると、原本ファイル4を仮想ストレージ装置12aから削除してもよい。これにより、原本ファイル4の使用が終わると、原本ファイル4が情報処理装置10に保持されなくなり、セキュリティが向上する。
また処理部13は、原本ファイル4が仮想ストレージ装置12aに記憶されていない場合に、原本ファイル4を生成してもよい。これにより、原本ファイル4が重複して仮想ストレージ装置12aに生成されなくなる。
また処理部13は、原本ファイル4が更新された更新ファイルを分割した複数の更新後分散片ファイルを生成してもよい。そして処理部13は、複数の記憶装置に分散格納された分散片ファイル4a,4bを、複数の更新分散片ファイルに置き換えてもよい。これにより、原本ファイル4に対する更新が分散片ファイルに反映される。
また管理情報11aには、原本ファイル4の識別子に対応するフォルダの識別子が記録されていてもよい。そして処理部13は、原本ファイル4の識別子を、原本ファイル4の識別子に対応するフォルダに含まれるファイルの識別子として表示してもよい。これによりフォルダごとに識別子が表示され、識別子の視認性が向上する。またユーザは、通常のファイルを開くときと同様の操作で原本ファイル4を開くことができるため、ユーザビリティが向上する。
なお、上記の例のサーバ1に代えて、分散片ファイル4aが記憶された他の記憶装置が用いられてもよい。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ユーザの選択操作に応じて、秘密分散法によって分割された原本ファイルを復元させるものである。
秘密分散法では、例えば暗号化された原本ファイルが複数の分散片ファイルに分割される。また、複数の分散片ファイルを結合することで原本ファイルが生成される。つまり、一部の分散片ファイルからは原本ファイルを生成できないため、複数の分散片ファイルを別々に保管することで、セキュリティが向上する。
ユーザは、複数の分散片ファイルがユーザ端末上で結合されることで、原本ファイルを使用できる。ここで、原本ファイルを記憶しているユーザ端末が盗難にあうと、原本ファイルが漏洩してしまう。そのためユーザ端末は、使用していない原本ファイルを記憶していないことが好ましい。そこで第2の実施の形態では、原本ファイルを、使用するときにだけユーザ端末に記憶させる情報処理システムが提供される。
図2は、第2の実施の形態のシステム構成の一例を示す図である。ユーザ端末100は、ネットワーク20を介してサーバ200に接続されている。ここで、原本ファイルを秘密分散法によって2分割してできた片方の分散片ファイルがユーザ端末100に記憶され、もう片方の分散片ファイルと原本ファイルとがサーバ200に記憶される。
ユーザ端末100は、サーバ200から分散片ファイルを取得し、取得した分散片ファイルとユーザ端末100が記憶する分散片ファイルとを結合して原本ファイルを生成する。またユーザ端末100は、サーバ200が記憶する分散片ファイルをスマートフォン300にコピーする。そうすることでユーザ端末100は、ネットワーク20に接続できない場合、スマートフォン300から無線通信によって分散片ファイルを取得し、原本ファイルを生成する。
なお、ネットワーク20や無線通信を介して送信するデータのサイズを小さくするため、ユーザ端末100は、2分割された分散片ファイルのうち、サイズが大きい分散片ファイルを記憶する。またサーバ200およびスマートフォン300は、2分割された分散片ファイルのうち、サイズが小さい分散片ファイルを記憶する。
図3は、ユーザ端末のハードウェアの一構成例を示す図である。ユーザ端末100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス110を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、ユーザ端末100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス110に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107、ネットワークインタフェース108および無線インタフェース109がある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、ユーザ端末100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
無線インタフェース109は、近距離の無線通信により、スマートフォン300と通信を行う。無線インタフェース109が用いる通信規格としては、例えばBluetooth(登録商標)などがある。
ユーザ端末100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図3に示したユーザ端末100と同様のハードウェアにより実現することができる。またサーバ200もユーザ端末100と同様のハードウェアにより実現することができる。ただしサーバ200は、無線インタフェース109を有しなくてもよい。またプロセッサ101は、第1の実施の形態に示した処理部13の一例である。またメモリ102は、第1の実施の形態に示した揮発性記憶部12の一例である。またストレージ装置103は、第1の実施の形態に示した記憶装置2および不揮発性記憶部11の一例である。
ユーザ端末100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ユーザ端末100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ユーザ端末100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またユーザ端末100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、分散片ファイルを記憶するために用いられるスマートフォン300のハードウェア構成について説明する。スマートフォン300は、第1の実施の形態に示した、サーバ1に代えて用いられる記憶装置の一例である。
図4は、スマートフォンのハードウェアの一構成例を示す図である。スマートフォン300は、プロセッサ301によって装置全体が制御されている。プロセッサ301には、バス309を介してメモリ302と複数の周辺機器が接続されている。プロセッサ301は、マルチプロセッサであってもよい。プロセッサ301は、例えばCPU、MPU、またはDSPである。プロセッサ301がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
メモリ302は、スマートフォン300の主記憶装置として使用される。メモリ302には、プロセッサ301に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ302には、プロセッサ301による処理に利用する各種データが格納される。メモリ302としては、例えばRAMなどの揮発性の半導体記憶装置が使用される。
バス309に接続されている周辺機器としては、ストレージ装置303、ディスプレイ装置304、タッチパネル305、機器接続インタフェース306、無線通信部307および無線インタフェース308がある。
ストレージ装置303は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置303は、コンピュータの補助記憶装置として使用される。ストレージ装置303には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置303としては、例えばフラッシュメモリなどを使用することができる。
ディスプレイ装置304は、プロセッサ301からの命令に従って、画像を表示する。ディスプレイ装置304としては、有機ELを用いた表示装置や液晶表示装置などがある。
タッチパネル305は、ディスプレイ装置304の画面の前面に配置されており、画面上の押された位置を検知して、その位置を示す信号をプロセッサ301に送信する。
機器接続インタフェース306は、スマートフォン300に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース306には、メモリカード31を接続することができる。メモリカード31は、機器接続インタフェース306との通信機能を搭載した、カード型の記録媒体である。
無線通信部307は、無線通信によるネットワークインタフェースである。無線通信部307は、ネットワーク30に接続されている。無線通信部307は、ネットワーク30を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
無線インタフェース308は、近距離の無線通信により、ユーザ端末100と通信を行う。無線インタフェース308は、ユーザ端末100の無線インタフェース109と同様の通信規格を用いる。
次に、ユーザ端末100の機能について詳細に説明する。
図5は、ユーザ端末の機能例を示すブロック図である。ユーザ端末100のメモリ102には、RAMディスク102aが設けられている。RAMディスク102aは、メモリ102の一部の記憶領域とソフトウェアで補助記憶装置を再現したものである。RAMディスク102aには、ファイル管理部140によって生成される原本ファイルが格納される。
またユーザ端末100のストレージ装置103は、管理情報121と分散片ファイル122−1,122−2,122−3,・・・とが記憶されている。管理情報121は、サーバ200に記憶された原本ファイル221−1,221−2,221−3,・・・に関する情報が記録される。原本ファイル221−1,221−2,221−3,・・・それぞれが秘密分散法によって分割されると、分散片ファイル122−1,122−2,122−3,・・・と分散片ファイル222−1,222−2,222−3,・・・とが生成される。なお、分散片ファイル122−1,122−2,122−3,・・・のサイズは、分散片ファイル222−1,222−2,222−3,・・・のサイズよりも大きい。
管理情報121では、原本ファイルの識別子と、原本ファイルを分割して生成される分散片ファイルの識別子と、分散片ファイルそれぞれの格納場所を示すパスと、原本ファイルの識別子に対応するフォルダの識別子とが対応付けられる。例えば管理情報121では、原本ファイル221−1の識別子と分散片ファイル122−1の識別子と分散片ファイル222−1の識別子とが対応付けられる。また例えば管理情報121では、原本ファイル221−1の識別子と、分散片ファイル122−1,222−1それぞれの格納場所を示すパスとが対応付けられる。また例えば管理情報121では、原本ファイル221−1と所定のフォルダの識別子とが対応付けられる。なお原本ファイル221−1、分散片ファイル122−1,222−1それぞれの識別子は、例えばそれぞれのファイルのファイル名である。またフォルダの識別子は、例えばフォルダの格納場所を示すパスである。
またユーザ端末100は、プロセッサ101がプログラムを実行することによって実現できる機能として、サーバ通信部120、デバイス通信部130、ファイル管理部140およびUI(User Interface)部150を有する。
サーバ通信部120は、サーバ200との間でデータの送受信を行う。サーバ通信部120は、サーバ200に記憶された分散片ファイル(例えば分散片ファイル222−1)の格納場所を示すパスを管理情報121を参照して特定する。そしてサーバ通信部120は、特定したパスから分散片ファイル222−1を取得する。
またサーバ通信部120は、ファイル管理部140によって原本ファイル(例えば原本ファイル221−1)が更新された場合、サーバ200に記憶された原本ファイル221−1と分散片ファイル222−1とを更新する。サーバ通信部120は、サーバ200に記憶された原本ファイル221−1を更新ファイルに置き換える。またサーバ通信部120は、サーバ200に記憶された分散片ファイル222−1を、更新ファイルを2分割した分散片ファイルのうち、ファイルサイズが小さいほうの分散片ファイルに置き換える。
デバイス通信部130は、スマートフォン300との間でデータの送受信を行う。例えばデバイス通信部130は、サーバ通信部120がサーバ200から取得した分散片ファイル222−1,222−2,222−3,・・・を、スマートフォン300に送信する。
またデバイス通信部130は、スマートフォン300に記憶された分散片ファイル(例えば分散片ファイル222−1)の格納場所を示すパスを管理情報121を参照して特定する。そしてデバイス通信部130は、特定したパスから分散片ファイル222−1を取得する。
またデバイス通信部130は、ファイル管理部140によって原本ファイル(例えば原本ファイル221−1)が更新された場合、スマートフォン300に記憶された分散片ファイル222−1を更新する。デバイス通信部130は、スマートフォン300に記憶された分散片ファイル222−1を、更新ファイルを2分割した分散片ファイルのうち、ファイルサイズが小さいほうの分散片ファイルに置き換える。
ファイル管理部140は、原本ファイルの生成や分割を行う。例えばファイル管理部140は、サーバ通信部120またはデバイス通信部130が取得した分散片ファイルとストレージ装置103に記憶された分散片ファイルとを結合することで原本ファイルを生成する。ファイル管理部140は、生成した原本ファイルをRAMディスク102aに記憶させる。
ファイル管理部140は、原本ファイル(例えば原本ファイル221−1)が閉じられると、RAMディスク102aから原本ファイル221−1を削除する。ファイル管理部140は、閉じられる原本ファイル221−1が更新されていた場合、更新ファイルを分割して2つの分散片ファイルを生成する。ファイル管理部140は、ストレージ装置103に記憶された分散片ファイル122−1を、更新ファイルを2分割した分散片ファイルのうち、ファイルサイズが大きいほうの分散片ファイルに置き換える。またファイル管理部140は、サーバ通信部120に、サーバ200に記憶された分散片ファイル222−1を、更新ファイルを2分割した分散片ファイルのうち、ファイルサイズが小さいほうの分散片ファイルに置き換えさせる。またファイル管理部140は、デバイス通信部130に、スマートフォン300に記憶された分散片ファイル222−1を、更新ファイルを2分割した分散片ファイルのうち、ファイルサイズが小さいほうの分散片ファイルに置き換えさせる。またファイル管理部140は、サーバ通信部120に、サーバ200に記憶された原本ファイル221−1を、更新ファイルに置き換えさせる。
またファイル管理部140は、管理情報121に記録された情報の更新を行う。例えばファイル管理部140は、新しい原本ファイルが生成された場合、生成された原本ファイルのレコードを管理情報121に記録する。また例えばファイル管理部140は、原本ファイルや分散片ファイルが更新された場合、管理情報121の原本ファイルや分散片ファイルの情報を更新する。
UI部150は、原本ファイル221−1,221−2,221−3,・・・の識別子の表示とユーザからの選択操作の受け付けを行う。例えばUI部150は、選択されたフォルダに対応する原本ファイルを管理情報121から検索する。UI部150は、検索された原本ファイルの識別子を、対応するフォルダに含まれるファイルの識別子として表示する。UI部150は、識別子に対する選択操作(例えば原本ファイル221―1の識別子に対する選択操作)を受け付けると、原本ファイル221−1をファイル管理部140に生成させる。
サーバ200は、原本ファイル221−1,221−2,221−3,・・・および分散片ファイル222−1,222−2,222−3,・・・をストレージ装置などに記憶する。スマートフォン300は、デバイス通信部130から取得した分散片ファイル222−1,222−2,222−3,・・・を、ストレージ装置303やメモリカード31などに記憶する。
なお、RAMディスク102aは、第1の実施の形態に示した仮想ストレージ装置12aの一例である。また分散片ファイル222−1,222−2,222−3,・・・は、第1の実施の形態に示した第1のデータの一例であり、分散片ファイル122−1,122−2,122−3,・・・は、第1の実施の形態に示した第2のデータの一例である。
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、ストレージ装置103に記憶された管理情報121について説明する。
図6は、管理情報の一例を示す図である。管理情報121には、「識別子」、「分散片ファイル(ユーザ端末)」、「分散片ファイル(デバイス)」、「原本ファイル」および「分散片ファイル(サーバ)」の欄が設けられている。
「識別子」の欄には、対応する原本ファイルの識別子の情報が記録されている。「識別子」の欄は、「名称」および「パス」の項目を含む。「識別子」の欄に含まれる「名称」の項目には、識別子の名称が設定される。識別子の名称は、例えば対応する原本ファイルのファイル名である。「識別子」の欄に含まれる「パス」の項目には、識別子に対応するフォルダを示すパスが設定される。なお識別子に対応するフォルダは、パスで指定された領域に実体のない、仮想フォルダであってもよい。
「分散片ファイル(ユーザ端末)」の欄には、ユーザ端末100のストレージ装置103に記憶された分散片ファイル122−1,122−2,122−3,・・・の情報が記録されている。「分散片ファイル(ユーザ端末)」の欄は、「名称」および「パス」の項目を含む。「分散片ファイル(ユーザ端末)」の欄に含まれる「名称」の項目には、分散片ファイル122−1,122−2,122−3,・・・のファイル名が設定される。「分散片ファイル(ユーザ端末)」の欄に含まれる「パス」の項目には、分散片ファイル122−1,122−2,122−3,・・・の格納場所を示すパスが設定される。
「分散片ファイル(デバイス)」の欄には、デバイス(スマートフォン300)に記憶された分散片ファイル222−1,222−2,222−3,・・・の情報が記録されている。「分散片ファイル(デバイス)」の欄は、「名称」、「デバイス」および「パス」の項目を含む。「分散片ファイル(デバイス)」の欄に含まれる「名称」の項目には、分散片ファイル222−1,222−2,222−3,・・・のファイル名が設定される。「分散片ファイル(デバイス)の欄」の「デバイス」の項目には、分散片ファイル222−1,222−2,222−3,・・・を記憶するデバイスの種類が設定される。「分散片ファイル(デバイス)」の欄に含まれる「パス」の項目には、スマートフォン300に記憶された分散片ファイル222−1,222−2,222−3,・・・の格納場所を示すパスが設定される。
「原本ファイル」の欄には、サーバ200に記憶された原本ファイル221−1,221−2,221−3,・・・の情報が記録されている。「原本ファイル」の欄は、「名称」および「パス」の項目を含む。「原本ファイル」の欄に含まれる「名称」の項目には、原本ファイル221−1,221−2,221−3,・・・のファイル名が設定される。「原本ファイル」の欄に含まれる「パス」の項目には、原本ファイル221−1,221−2,221−3,・・・の格納場所を示すパスが設定される。
「分散片ファイル(サーバ)」の欄には、サーバ200に記憶された分散片ファイル222−1,222−2,222−3,・・・の情報が記録されている。「分散片ファイル(サーバ)の欄」は、「名称」および「パス」の項目を含む。「分散片ファイル(サーバ)」の欄に含まれる「名称」の項目には、分散片ファイル222−1,222−2,222−3,・・・のファイル名が設定される。「分散片ファイル(サーバ)」の欄に含まれる「パス」の項目には、サーバ200に記憶された分散片ファイル222−1,222−2,222−3,・・・の格納場所を示すパスが設定される。
次に、UI部150による画面表示について説明する。
図7は、表示画面の一例を示す図である。UI部150は、以下に示すような表示画面をモニタ21に表示し、開く原本ファイルをユーザに選択させる。
UI部150は、表示画面61をモニタ21に表示する。表示画面61には、管理情報121の「識別子」の欄に含まれる「パス」の項目に設定されたフォルダ名が含まれる。一例として、表示画面61には「フォルダA」および「フォルダB」が含まれる。UI部150は、表示画面61に含まれるフォルダ名に対する選択操作を受け付ける。
例えばUI部150は、表示画面61において「フォルダA」が選択された場合、表示画面62をモニタ21に表示する。表示画面62では、「フォルダA」に含まれるファイルの識別子が表示される。表示画面62に表示される識別子には、管理情報121の「識別子」の欄に含まれる「パス」の項目に「フォルダA」のパスが設定された原本ファイルの識別子が含まれる。一例として、表示画面62には「a.ppt」および「b.ppt」が含まれる。UI部150は、表示画面62に含まれる識別子に対する選択操作を受け付ける。例えばUI部150は、表示画面62に含まれる「a.ppt」が選択されると、ファイル管理部140に、「a.ppt」を開かせる。
また例えばUI部150は、表示画面61において「フォルダB」が選択された場合、表示画面63をモニタ21に表示する。表示画面63では、「フォルダB」に含まれるファイルの識別子が表示される。表示画面63に表示される識別子には、管理情報121の「識別子」の欄に含まれる「パス」の項目に「フォルダB」のパスが設定された原本ファイルの識別子が含まれる。一例として、表示画面62には「c.ppt」が含まれる。例えばUI部150は、表示画面63に含まれる「c.ppt」が選択されると、ファイル管理部140に、「c.ppt」を開かせる。
次に、ユーザ端末100で原本ファイルを使用する方法について説明する。
図8は、原本ファイルの開閉方法の一例を示す図である。以下の例では、分散片ファイル41a,41bに分割された原本ファイル41がユーザ端末100で開かれる。なお分散片ファイル41aのファイルサイズは、分散片ファイル41bのファイルサイズより小さい。
ユーザ端末100のメモリ102には、RAMディスク102aとメモリ領域102bとが含まれる。メモリ領域102bに格納されたファイルは、ユーザ端末100が実行するプログラムによって閲覧、編集などの操作をされる。つまり、ファイルをメモリ領域102bに格納することはファイルを開くことを示し、ファイルをメモリ領域102bから削除することはファイルを閉じることを示す。ユーザ端末100のストレージ装置103には分散片ファイル41bが記憶されている。サーバ200には、原本ファイル41と分散片ファイル41aとが記憶される。
ここで、ファイル管理部140は、サーバ通信部120に、分散片ファイル41aをサーバ200から取得させる。ファイル管理部140は、分散片ファイル41aと分散片ファイル41bとを結合することによって原本ファイル41を生成し、生成した原本ファイル41をRAMディスク102aに格納する。そしてファイル管理部140は、原本ファイル41をメモリ領域102bに格納する(原本ファイル41を開く)。
ファイル管理部140は、原本ファイル41を閉じる指示を取得すると、メモリ領域102bに格納された原本ファイル41を削除する。さらにファイル管理部140は、RAMディスク102aに記憶された原本ファイル41を削除する。なお、RAMディスク102aに記憶された原本ファイル41は、原本ファイル41が開かれたとき(原本ファイル41がメモリ領域102bに格納されたとき)に削除されてもよい。
このようにして、原本ファイル41がユーザ端末100で開かれる。また原本ファイル41が閉じられると原本ファイル41は、RAMディスク102aおよびメモリ領域102bから削除される。よって原本ファイル41は、使用が終了するとユーザ端末100に残らない。
図9は、原本ファイルの更新方法の一例を示す図である。以下の例では、ユーザ端末100で開かれていた原本ファイル41が、更新ファイル51に更新された場合に、ユーザ端末100やサーバ200に記憶された、原本ファイルおよび分散片ファイルが更新される。
図9に示す例では、図8に示した例と同様に、ストレージ装置103には分散片ファイル41bが記憶され、サーバ200には原本ファイル41と分散片ファイル41aとが記憶されている。また図9に示す例では、RAMディスク102aには原本ファイル41が格納され、メモリ領域102bには、原本ファイル41が更新された更新ファイル51が格納されている。なお、RAMディスク102aに格納されている原本ファイル41も更新ファイル51に更新されていてもよい。
ここで、ファイル管理部140は、更新ファイル51を閉じる指示を取得すると、更新ファイル51を分散片ファイル51a,51bに分割する。なお分散片ファイル51aのファイルサイズは、分散片ファイル51bのファイルサイズより小さい。そしてファイル管理部140は、ストレージ装置103に記憶された分散片ファイル41bを分散片ファイル51bに置き換える。またファイル管理部140は、サーバ通信部120に、サーバ200に記憶された原本ファイル41と分散片ファイル41aとを、更新ファイル51と分散片ファイル51aとに置き換えさせる。またファイル管理部140は、原本ファイル41をRAMディスク102aから削除する。
このようにして、ユーザ端末100で開かれていた原本ファイルに対する更新が、ユーザ端末100やサーバ200に記憶された、原本ファイルおよび分散片ファイルに反映される。なお分散片ファイル51a,51bは、第1の実施の形態に示した更新後分散片ファイルの一例である。
図10は、分散片ファイルをスマートフォンにコピーする方法の一例を示す図である。以下の例では、サーバ200に記憶された分散片ファイル41aがスマートフォン300にコピーされる。
サーバ通信部120は、分散片ファイル41aをサーバ200から取得する。デバイス通信部130は、分散片ファイル41aをスマートフォン300に送信する。なお分散片ファイル41aは、ユーザ端末100から削除される。
こうすることで、図8に示した例においてサーバ通信部120がサーバ200から分散片ファイル41aを取得したのに代えて、デバイス通信部130がスマートフォン300から分散片ファイル41aを取得できる。
スマートフォン300から取得された分散片ファイル41aを用いて開かれた原本ファイル41が更新ファイル51に更新された場合、デバイス通信部130は、スマートフォン300に記憶された分散片ファイル41aを分散片ファイル51aに更新する。またファイル管理部140は、ストレージ装置103に記憶された分散片ファイル41bを、分散片ファイル51bに更新する。ここで、スマートフォン300に記憶された分散片ファイル51aとストレージ装置103に記憶された分散片ファイル51bとを用いて、サーバ200に記憶された原本ファイル41と分散片ファイル41aとが、次のようにして更新される。
ファイル管理部140は、デバイス通信部130に、分散片ファイル51aをスマートフォン300から取得させる。ファイル管理部140は、分散片ファイル51aと分散片ファイル51bとを結合することによって更新ファイル51を生成し、生成した更新ファイル51をRAMディスク102aに格納する。そしてファイル管理部140は、サーバ通信部120に、サーバ200に記憶された原本ファイル41と分散片ファイル41aとを、更新ファイル51と分散片ファイル51aとに置き換えさせる。またファイル管理部140は、更新ファイル51をRAMディスク102aから削除する。なおファイル管理部140は、デバイス通信部130に、分散片ファイル51aをスマートフォン300から削除させてもよい。
このように、ユーザ端末100がサーバ200と通信できない状態(例えばオフライン状態)でも、原本ファイルがユーザ端末100で開かれる。またユーザ端末100で開かれた原本ファイルが更新された場合でも、ユーザ端末100がサーバ200と通信できるようになってから、サーバ200に記憶された原本ファイルおよび分散片ファイルに更新を反映できる。
以下、ユーザ端末100による処理の手順について、詳細に説明する。
図11は、管理情報登録の手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS101]ファイル管理部140は、新しいファイル(例えば、原本ファイル41)を生成する。ファイル管理部140は、生成した原本ファイル41をRAMディスク102aに格納する。
[ステップS102]ファイル管理部140は、ステップS101で生成された原本ファイル41の保存指示を取得する。
[ステップS103]ファイル管理部140は、管理情報121にステップS101で生成された原本ファイル41についてのレコードを生成する。ファイル管理部140は、生成されたレコードの「識別子」の欄に含まれる「名称」の項目に原本ファイル41のファイル名を設定する。またファイル管理部140は、「識別子」の欄に含まれる「パス」の項目に原本ファイル41に対応するフォルダのパスを設定する。
[ステップS104]ファイル管理部140は、ステップS101で生成された原本ファイル41を分割し分散片ファイル41a,41bを生成する。ファイル管理部140は、生成した分散片ファイル41bをストレージ装置103に格納する。
[ステップS105]ファイル管理部140は、ステップS104で生成された分散片ファイル41bの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(ユーザ端末)」の欄に含まれる「名称」の項目に、分散片ファイル41bのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(ユーザ端末)」の欄に含まれる「パス」の項目に、分散片ファイル41bの格納場所を示すパスを設定する。
[ステップS106]サーバ通信部120は、サーバ200に接続可能であるか否かを判定する。サーバ通信部120は、サーバ200に接続可能であると判定した場合、処理をステップS107に進める。またサーバ通信部120は、サーバ200に接続不可能と判定した場合、処理をステップS109に進める。
[ステップS107]サーバ通信部120は、ステップS101で生成された原本ファイル41と、ステップS104で生成された分散片ファイル41aとをサーバ200に送信する。
[ステップS108]ファイル管理部140は、ステップS107で送信された原本ファイル41および分散片ファイル41aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「原本ファイル」の欄に含まれる「名称」の項目に、原本ファイル41のファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「原本ファイル」の欄に含まれる「パス」の項目に、原本ファイル41の格納場所を示すパスを設定する。
またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「名称」の項目に、分散片ファイル41aのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「パス」の項目に、分散片ファイル41aの格納場所を示すパスを設定する。そして処理がステップS111に進む。
[ステップS109]デバイス通信部130は、ステップS104で生成された分散片ファイル41aをスマートフォン300に送信する。
[ステップS110]ファイル管理部140は、ステップS109で送信された分散片ファイル41aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「名称」の項目に、分散片ファイル41aのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「デバイス」の項目を、「スマートフォン」に設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「パス」の項目に、分散片ファイル41aの格納場所を示すパスを設定する。
[ステップS111]ファイル管理部140は、ステップS101で生成された原本ファイル41をRAMディスク102aから削除する。
このようにして、ユーザ端末100で新しく作成されたファイルが管理情報121に登録される。
図12は、分散片ファイルコピーの手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS121]サーバ通信部120は、スマートフォン300にコピーする分散片ファイル(例えば分散片ファイル41a)をサーバ200から取得する。例えばサーバ通信部120は、サーバ200に記憶された分散片ファイル41aの格納場所を示すパスを管理情報121を参照して特定する。そしてサーバ通信部120は、特定したパスから分散片ファイル41aを取得する。
[ステップS122]デバイス通信部130は、ステップS121でサーバ200から取得した分散片ファイル41aをスマートフォン300に送信する。
[ステップS123]ファイル管理部140は、ステップS122で送信された分散片ファイル41aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121の分散片ファイル41aに対応するレコードの「分散片ファイル(デバイス)」の欄に含まれる「名称」の項目に、分散片ファイル41aのファイル名を設定する。またファイル管理部140は、管理情報121の分散片ファイル41aに対応するレコードの「分散片ファイル(デバイス)」の欄に含まれる「パス」の項目に、分散片ファイル41aの格納場所を示すパスを設定する。
[ステップS124]ファイル管理部140は、ステップS121で取得した分散片ファイル41aを削除する。
このように、サーバ200に記憶された分散片ファイルが、スマートフォン300にコピーされる。これによりオフライン状態であっても、ユーザ端末100で原本ファイルが開けるようになる。
図13は、サーバファイル更新の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS131]デバイス通信部130は、サーバ200に保存する分散片ファイル(例えば分散片ファイル51a)をスマートフォン300から取得する。例えばデバイス通信部130は、スマートフォン300に記憶された分散片ファイル51aの格納場所を示すパスを管理情報121を参照して特定する。そしてデバイス通信部130は、特定したパスから分散片ファイル51aを取得する。
[ステップS132]ファイル管理部140は、ステップS131で取得した分散片ファイル51aとストレージ装置103に記憶された分散片ファイル51bとを結合し、更新ファイル51を生成する。ファイル管理部140は、生成した更新ファイル51をRAMディスク102aに格納する。
[ステップS133]サーバ通信部120は、ステップS132で生成された更新ファイル51と、ステップS131でスマートフォン300から取得された分散片ファイル51aとをサーバ200に送信する。
[ステップS134]ファイル管理部140は、ステップS133で送信された更新ファイル51および分散片ファイル51aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された更新ファイル51についてのレコードの「原本ファイル」の欄に含まれる「名称」の項目に、更新ファイル51のファイル名を設定する。またファイル管理部140は、管理情報121に記録された更新ファイル51についてのレコードの「原本ファイル」の欄に含まれる「パス」の項目に、更新ファイル51の格納場所を示すパスを設定する。
またファイル管理部140は、管理情報121に記録された更新ファイル51についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「名称」の項目に、分散片ファイル51aのファイル名を設定する。またファイル管理部140は、管理情報121に記録された更新ファイル51についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「パス」の項目に、分散片ファイル51aの格納場所を示すパスを設定する。
[ステップS135]ファイル管理部140は、ステップS132で生成された更新ファイル51をRAMディスク102aから削除する。
このように、サーバ200に記憶された原本ファイルがストレージ装置103に記憶された分散片ファイルとスマートフォン300に記憶された分散片ファイルを結合してできるファイルに置き換えられる。またサーバ200に記憶された分散片ファイルがスマートフォン300に記憶された分散片ファイルに置き換えられる。これにより、オフライン状態で編集した原本ファイルに対する更新が、サーバ200に記憶された原本ファイルおよび分散片ファイルに反映される。
図14は、ファイル操作の手順の一例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS141]UI部150は、選択されたフォルダのファイルを管理情報121から検索する。例えばUI部150は、表示画面61に含まれるフォルダ名に対する選択操作を受け付ける。そしてUI部150は、管理情報121のレコードのうち、「識別子」の欄に含まれる「パス」の項目に、選択されたフォルダのパスが設定されたレコードを検索する。
[ステップS142]UI部150は、ステップS141で検索されたファイルの識別子を、選択されたフォルダのファイルの識別子として表示する。例えばUI部150は、ステップS141で検索されたレコードの「識別子」の欄に含まれる「名称」の項目に設定された識別子の名称を表示する。
[ステップS143]UI部150は、表示した識別子に対して選択操作があるか否かを判定する。UI部150は、表示した識別子に対して選択操作があると判定した場合、処理をステップS144に進める。またUI部150は、表示した識別子に対して選択操作がないと判定した場合、処理をステップS143に進める。すなわちUI部150は、表示した識別子に対する選択操作があるまで待機する。
[ステップS144]ファイル管理部140は、ステップS143で選択された識別子に対応する原本ファイル(例えば原本ファイル41)が、RAMディスク102aにあるか否かを判定する。ファイル管理部140は、原本ファイル41がRAMディスク102aにあると判定した場合、処理をステップS143に進める。またファイル管理部140は、原本ファイル41がRAMディスク102aにないと判定した場合、処理をステップS145に進める。
[ステップS145]サーバ通信部120は、サーバ200に接続可能であるか否かを判定する。サーバ通信部120は、サーバ200に接続可能であると判定した場合、処理をステップS146に進める。またサーバ通信部120は、サーバ200に接続不可能と判定した場合、処理をステップS147に進める。
[ステップS146]サーバ通信部120は、原本ファイル41に対応する分散片ファイル(分散片ファイル41a)をサーバ200から取得する。例えばサーバ通信部120は、サーバ200に記憶された分散片ファイル41aの格納場所を示すパスを管理情報121を参照して特定する。そしてサーバ通信部120は、特定したパスから分散片ファイル41aを取得する。そして処理がステップS148に進む。
[ステップS147]デバイス通信部130は、原本ファイル41に対応する分散片ファイル(分散片ファイル41a)をスマートフォン300から取得する。例えばデバイス通信部130は、サーバ200に記憶された分散片ファイル41aの格納場所を示すパスを管理情報121を参照して特定する。そしてデバイス通信部130は、特定したパスから分散片ファイル41aを取得する。
[ステップS148]ファイル管理部140は、ステップS146またはステップS147で取得した分散片ファイル41aとストレージ装置103に記憶された分散片ファイル41bとを結合し、原本ファイル41を生成する。ファイル管理部140は、生成した原本ファイル41をRAMディスク102aに格納する。
[ステップS149]ファイル管理部140は、ステップS148で生成した原本ファイル41を開く。例えばファイル管理部140は、原本ファイル41をメモリ領域102bに格納する。
このように、原本ファイルの識別子が表示され、表示された識別子が選択されると原本ファイルが生成される。原本ファイルの識別子が表示されることにより、ユーザ端末100が原本ファイルを記憶していなくても、使用できる原本ファイルをユーザが把握できる。また識別子がフォルダごとに表示されることにより、識別子の視認性が向上する。またユーザは、通常のファイルを開くときと同様の操作で原本ファイルを開くことができるため、ユーザビリティが向上する。
また識別子が選択されてから原本ファイルが生成されるため、使用されていない原本ファイルがユーザ端末100に保持されない。よって原本ファイルが漏洩するリスクが低下し、セキュリティが向上する。
また原本ファイルがすでにRAMディスク102aに記憶されている場合、原本ファイルは生成されない。これにより、原本ファイルが重複して生成されなくなる。
なお、使用する原本ファイルをユーザに選択させる他の方法として、ユーザ端末100で使用できるすべての原本ファイルをRAMディスク102aに生成しておき、RAMディスク102aに記憶された原本ファイルの識別子を表示する方法が考えられる。しかしこの方法では、ユーザ端末100で使用できる原本ファイルの合計のサイズがRAMディスク102aの容量に制限される。一方第2の実施の形態では、ユーザに選択された原本ファイルのみが生成され、RAMディスク102aに格納される。よって記憶容量の消費が削減され、ユーザ端末100で使用できる原本ファイルの合計のサイズが増える。
図15は、ファイル保存の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS151]ファイル管理部140は、メモリ領域102bに格納されたファイルを閉じる指示を取得する。
[ステップS152]ファイル管理部140は閉じるファイルが更新されたか否かを判定する。ファイル管理部140は、閉じるファイルが更新された(例えば原本ファイル41が更新ファイル51に更新された)と判定した場合、処理をステップS153に進める。またファイル管理部140は、閉じるファイルが更新されていないと判定した場合、処理をステップS160に進める。
[ステップS153]ファイル管理部140は、更新ファイル51を分割し分散片ファイル51a,51bを生成する。ファイル管理部140は、ストレージ装置103に記憶された分散片ファイル41bを、生成した分散片ファイル51bに置き換える。
[ステップS154]ファイル管理部140は、ステップS153で生成された分散片ファイル51bの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(ユーザ端末)」の欄に含まれる「名称」の項目に、分散片ファイル51bのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(ユーザ端末)」の欄に含まれる「パス」の項目に、分散片ファイル51bの格納場所を示すパスを設定する。
[ステップS155]サーバ通信部120は、サーバ200に接続可能であるか否かを判定する。サーバ通信部120は、サーバ200に接続可能であると判定した場合、処理をステップS156に進める。またサーバ通信部120は、サーバ200に接続不可能と判定した場合、処理をステップS158に進める。
[ステップS156]サーバ通信部120は、更新ファイル51と、ステップS153で生成された分散片ファイル51aとをサーバ200に送信する。
[ステップS157]ファイル管理部140は、ステップS156で送信された更新ファイル51および分散片ファイル51aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「原本ファイル」の欄に含まれる「名称」の項目に、更新ファイル51のファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「原本ファイル」の欄に含まれる「パス」の項目に、更新ファイル51の格納場所を示すパスを設定する。
またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「名称」の項目に、分散片ファイル51aのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(サーバ)」の欄に含まれる「パス」の項目に、分散片ファイル51aの格納場所を示すパスを設定する。そして処理がステップS160に進む。
[ステップS158]デバイス通信部130は、ステップS153で生成された分散片ファイル51aをスマートフォン300に送信する。
[ステップS159]ファイル管理部140は、ステップS158で送信された分散片ファイル51aの情報を管理情報121に設定する。ファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「名称」の項目に、分散片ファイル51aのファイル名を設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「デバイス」の項目を、「スマートフォン」に設定する。またファイル管理部140は、管理情報121に記録された原本ファイル41についてのレコードの「分散片ファイル(デバイス)」の欄に含まれる「パス」の項目に、分散片ファイル51aの格納場所を示すパスを設定する。
[ステップS160]ファイル管理部140は、メモリ領域102bに格納されたファイルを閉じる。例えばファイル管理部140は、メモリ領域102bに格納されたファイルを削除する。
[ステップS161]ファイル管理部140は、ステップS160で削除されたファイルに対応する原本ファイルをRAMディスク102aから削除する。
このように、原本ファイルが閉じられる場合、閉じられる原本ファイルはRAMディスク102aから削除される。これにより、使用が終わった原本ファイルがユーザ端末100に保持されない。よって原本ファイルが漏洩するリスクが低下し、セキュリティが向上する。
また、閉じられる原本ファイルが更新されていた場合、サーバ200に記憶された原本ファイルが更新ファイルに置き換えられる。またストレージ装置103に記憶された分散片ファイルおよびサーバ200に記憶された分散片ファイルも更新ファイルを分割した複数の分散片ファイルに置き換えられる。これにより、原本ファイルに対する更新がストレージ装置103に記憶された分散片ファイルおよびサーバ200に記憶された分散片ファイルに反映される。
〔その他の実施の形態〕
第2の実施の形態では、サーバ200に記憶された分散片ファイルがスマートフォン300にコピーされたが、サーバ200に記憶された分散片ファイルはスマートフォン以外のデバイスにコピーされてもよい。
例えば、サーバ200に記憶された分散片ファイルは光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体にコピーされてもよい。また例えばサーバ200に記憶された分散片ファイルは、スマートウォッチや携帯音楽プレーヤーにコピーされてもよい。また例えばサーバ200に記憶された分散片ファイルは、ストレージを内蔵するマウスやストレージを内蔵するヘッドフォンなどにコピーされてもよい。また例えば、サーバ200に記憶された分散片ファイルは、IC(Integrated Circuit)カードにコピーされてもよい。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。