[第1の実施形態]
図1は、第1の実施形態の情報処理装置の一例を説明するための図である。情報処理装置10は、記憶部11と、処理部12とを含んで構成される。
記憶部11は、例えば情報処理装置10が有するHDD(Hard Disk Drive)等の不揮発性記憶装置として実現される。
処理部12は、例えば情報処理装置10が有するCPU(Central Processing Unit)等のプロセッサとして実現される。なお、処理部12は、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等を含み得る。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
処理部12は、ファイル管理処理を実行する。処理部12は、ファイル管理処理では、ファイル管理処理の原ファイル1(管理下のファイルの原ファイル1ともいう)を復号可能(復元可能ともいう)に第1分散ファイル2と第2分散ファイル3とに分散(分割ともいう)する(P1)。原ファイル1は、原データ、原本ファイル、原本データまたは原本ともいう。処理部12は、例えば秘密分散法の暗号化方式を用いて原ファイル1を第1分散ファイル2と第2分散ファイル3とに分散する。原ファイル1を分散させて生成しているため、第1分散ファイル2及び第2分散ファイル3のサイズは、原ファイル1のサイズよりも小さいサイズである。
処理部12は、第1分散ファイル2を記憶部11に記憶させ(P2)、原ファイル1と第2分散ファイル3を外部記憶装置20に記憶させる(P3)。このようにして処理部12は、情報処理装置10だけでは原ファイル1を取得できないようにした状態での原ファイル1の管理を実現する。
処理部12は、原ファイル1の取得要求を受け付けると、外部記憶装置20との間の通信能力(回線能力、通信速度、回線速度、リンク速度ともいう)を特定する。例えば、処理部12は、既知の技術(例えば、OS(Operating System)が備えるコマンド)を用いることで外部記憶装置20との間の通信能力を特定できる。
処理部12は、特定した通信能力が第1の通信能力であった場合には外部記憶装置20から原ファイル1を取得する(P4)。
処理部12は、特定した通信能力が第1の通信能力よりも低い第2の通信能力であった場合には、外部記憶装置20が記憶する第2分散ファイル3を取得し(P5)、取得した第2分散ファイル3と記憶部11が記憶する第1分散ファイル2とから原ファイル1を復号して取得する(P6)。すなわち、処理部12は、特定した通信能力が第2の通信能力であった場合には、通信量(ダウンロード量ともいう)が少なくて済む方法、すなわち、通信環境に影響を受けにくい取得方法により原ファイル1を取得する。
このようにして処理部12は、管理下のファイルの原ファイル1を情報処理装置10で操作可能にするとともに、情報処理装置10だけでは原ファイル1を取得できないように管理する。
このような情報処理装置10によれば、取得要求を受け付けた場合に、原ファイル1を取得し情報処理装置10内で操作可能にするようにしているため、原ファイル1の流出を防止できる。これにより、情報処理装置10は、原ファイル1の流出による情報漏洩の発生を防止できる。
また、情報処理装置10によれば、通信能力が第1の通信能力である場合、すなわち、通信能力が高く(通信環境が良好ともいう)、ダウンロード時間が過大になり難い環境である場合、原ファイル1を直接取得する。このように通信環境が良好である場合に直接原ファイル1を取得することで、情報処理装置10は、復号処理が原因となる不具合が発生することを抑止できる。
また、情報処理装置10によれば、通信能力が第2の通信能力である場合、すなわち、通信能力が低く(通信環境が不良ともいう)、ダウンロード時間が過大になり易い環境である場合、第2分散ファイル3を取得して復号により原ファイル1を取得する。このように通信環境が不良である場合にサイズの小さい第2分散ファイル3を取得することで、情報処理装置10は、ダウンロード時間を短縮させ、ダウンロード時間が過大になることによって不具合が発生することを抑止できる。
すなわち、情報処理装置10は、復号処理が原因となる不具合が発生することを抑止するとともに、ダウンロード時間が過大になることによって不具合が発生することも抑止できる。
[第2の実施形態]
次により具体的な実施形態としてファイル管理システムについて説明する。図2は、第2の実施形態のファイル管理システムの全体概要の一例を示す図である。
ファイル管理システム50は、ファイル管理処理により管理下のファイル(管理対象のファイルともいう)を管理するシステムである。ファイル管理システム50は、情報処理装置200と外部記憶装置を連携させることで管理下のファイルの原ファイルを情報処理装置200で操作可能にしつつも、情報処理装置200だけでは原ファイルを取得できない状態にして管理下のファイルを管理する。これによりファイル管理システム50は、原ファイルの漏洩の防止を図っている。例えば、ファイル管理システム50は、企業等に導入される。なお、以下では、企業に導入されたファイル管理システム50を例として用いて説明する。
ファイル管理システム50は、情報処理装置200と、情報処理装置200と社内ネットワーク60を介して接続するサーバ100と、情報処理装置200と無線通信(例えばBluetooth(登録商標))70を介して接続する可搬型端末300とを備える。社内ネットワーク60は、無線ネットワーク(無線ともいう)と有線ネットワーク(有線ともいう)とを含む。ファイル管理システム50では、情報処理装置200とサーバ100との間の通信能力(回線能力、通信速度、回線速度、リンク速度ともいう)は、接続の仕方(具体的には、有線で接続するか無線で接続するか)によって大きく変化が生じ得る。
サーバ100は、社内(具体的には、社内ネットワーク60)からアクセス可能(言い換えれば、限られた環境下でのみアクセス可能)な不揮発性の外部記憶装置である。サーバ100は、例えば、社内やデータセンタ等の厳重な防犯対策やセキュリティ対策が施された環境下で管理されている。サーバ100は、第1の実施形態の外部記憶装置20の一実施態様である。
情報処理装置200は、管理下のファイルの原ファイルのファイル操作を、操作者(具体的には企業の従業員)が行う装置である。情報処理装置200は、社外(すなわち、社内ネットワークと接続不可能な環境)に持ち出して利用され得る可搬型の装置である。情報処理装置200は、例えば、ノート型PCである。なお、情報処理装置200は、ファイル操作が可能であればよく、例えば、スマートフォンやタブレット型PC等であってもよい。情報処理装置200は、第1の実施形態の情報処理装置10の一実施態様である。
可搬型端末300は、社外でもアクセス可能な不揮発性の外部記憶装置である。可搬型端末300は、例えば、スマートフォンである。なお、可搬型端末300は、記憶装置を備える端末であればよく、例えば、端末の形態としてはタブレット型PCやデジタルカメラやスマートウォッチや携帯音楽プレーヤーやマウスやペンやヘッドフォンやカード型の記録媒体(例えば、IC(integrated circuit)カード)やUSB(Universal Serial Bus)メモリ等であってもよい。
次に情報処理装置200のハードウェア構成について説明する。図3は、第2の実施形態の情報処理システムのハードウェア構成の一例を示す図である。
情報処理装置200は、プロセッサ201によって装置全体が制御されている。プロセッサ201には、バス209を介してメモリ202と複数の周辺機器が接続されている。プロセッサ201は、マルチプロセッサであってもよい。
プロセッサ201は、例えばCPU、MPU、またはDSPである。プロセッサ201の機能の少なくとも一部を、ASIC、FPGA、PLD等の電子回路で実現してもよい。プロセッサ201は、第1の実施形態の処理部12の一実施態様である。
メモリ202は、情報処理装置200の主記憶装置として使用される。メモリ202には、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ202には、プロセッサ201による処理に必要な各種データが格納される。メモリ202としては、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。なお以下では、メモリ202は、RAMであるものとして説明する。
バス209に接続されている周辺機器としては、HDD203、グラフィック処理装置204、入力インタフェース205、光学ドライブ装置206、機器接続インタフェース207及びネットワークインタフェース208がある。
HDD203は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD203は、情報処理装置200の補助記憶装置として使用される。HDD203には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお補助記憶装置としては、フラッシュメモリ等の不揮発性の半導体記憶装置を使用することもできる。HDD203は、第1の実施形態の記憶部11の一実施態様である。
グラフィック処理装置204には、モニタ204aが接続されている。グラフィック処理装置204は、プロセッサ201からの命令に従って、画像をモニタ204aの画面に表示させる。モニタ204aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
入力インタフェース205には、キーボード205aとマウス205bとが接続されている。入力インタフェース205は、キーボード205aやマウス205bから送られてくる信号をプロセッサ201に送信する。
なお、マウス205bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
光学ドライブ装置206は、レーザ光等を利用して、光ディスク206aに記録されたデータの読み取りを行う。光ディスク206aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク206aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Re Writable)等がある。
機器接続インタフェース207は、情報処理装置200に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース207には、メモリ装置207aやメモリリーダライタ207bを接続することができる。
メモリ装置207aは、機器接続インタフェース207との通信機能を搭載した記録媒体である。メモリリーダライタ207bは、メモリカード207cへのデータの書き込み、またはメモリカード207cからのデータの読み出しを行う装置である。メモリカード207cは、カード型の記録媒体である。
ネットワークインタフェース208は、ネットワークに接続されている。ネットワークインタフェース208は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本発明の処理機能を実現することができる。なお、サーバ100や可搬型端末300も、図3に示した情報処理装置200と同様のハードウェアにより実現することができる。また、第1の実施形態の情報処理装置10も、図3に示した情報処理装置200と同様のハードウェアにより実現することができる。
情報処理装置200は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。情報処理装置200に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
例えば、情報処理装置200に実行させるプログラムをHDD203に格納しておくことができる。プロセッサ201は、HDD203内のプログラムの少なくとも一部をRAM202にロードし、プログラムを実行する。また情報処理装置200に実行させるプログラムを、光ディスク206a、メモリ装置207a、メモリカード207c等の可搬型記録媒体に記録しておくこともできる。
可搬型記録媒体に格納されたプログラムは、例えばプロセッサ201からの制御により、HDD203にインストールされた後、実行可能となる。またプロセッサ201が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次にファイル管理システム50を構成する各装置の機能について説明する。図4は、第2の実施形態のサーバと情報処理装置と可搬型端末の機能構成の一例を示す図である。
情報処理装置200は、ファイル管理処理部210と、第1記憶部220と、第2記憶部230とを有する。
ファイル管理処理部210は、ファイル管理処理に関する各種処理を行う。ファイル管理処理は、情報処理装置200のOSの起動に伴い開始され、OSの稼働中においては継続して実行され、OSの停止に伴い終了する。OSの起動としては、例えばOSのシャットダウン状態からの起動、OSのスリープ状態からの復帰、OSの休止状態からの復帰等がある。OSの停止としては、例えばOSのシャットダウン状態、OSのスリープ状態、OSの休止状態等がある。
ファイル管理処理部210は、外部記憶装置との連携により管理下のファイルの原ファイル400をファイル操作可能としつつ、情報処理装置200だけでは原ファイル400を取得できないようにした状態で管理下のファイルを管理する。
具体的には、ファイル管理処理部210は、管理下のファイルの原ファイル400を復号可能に2つの分散ファイル(管理下のファイルの分散ファイルともいう)に分散させる。2つの分散ファイルは、それぞれサイズが異なる。なお、2つの分散ファイルは、原ファイル400を分散して生成されるため、原ファイル400よりも小さいサイズとなる。なお、ファイル管理処理部210は、例えば、秘密分散法による暗号化方式を用いることで原ファイル400を復号可能に、サイズが異なる2つの分散ファイルに分散させることができる。
そして、ファイル管理処理部210は、2つの分散ファイルのうち大きいサイズの分散ファイル401を、第1記憶部220に記憶させる。また、ファイル管理処理部210は、2つの分散ファイルのうち小さいサイズの分散ファイル402と、原ファイル400とをサーバ100の記憶部110に記憶させる。
また、ファイル管理処理部210は、分散ファイル402を必要に応じて可搬型端末300の記憶部310にも記憶させる。具体的には、ファイル管理処理部210は、操作者が社外で使用(操作ともいう)する予定の原ファイル400に対応する分散ファイル402を、情報処理装置200を経由して可搬型端末300の記憶部310に記憶させる。すなわち、可搬型端末300の記憶部310は、サーバ100の記憶部110に記憶されている複数の分散ファイル402のうち操作者が社外で操作する予定の原ファイル400に対応する分散ファイル402だけを記憶する。このようにしてファイル管理処理部210は、情報処理装置200だけでは原ファイル400を取得できないようにした状態で管理下のファイルを管理する。
そして、ファイル管理処理部210は、管理下のファイルの原ファイル400のファイル操作の要求(取得要求ともいう)に応じてサーバ100または可搬型端末300と連携して原ファイル400を取得し、揮発性の記憶部である第2記憶部230に記憶させる。このようにしてファイル管理処理部210は、管理下のファイルの原ファイル400を情報処理装置200で操作可能にするとともに、継続して存在しないように管理(すなわち、電源OFFで情報処理装置200内から消失するように管理)する。ファイル管理処理部210による外部記憶装置との連携による原ファイル400の取得方法の概要については、後で図5を用いて詳細に説明する。
第1記憶部220は、不揮発性の記憶部である。第1記憶部220は、HDD203によって実現される。第1記憶部220は、不揮発性の記憶部であるため電源がOFFになっても記憶している情報を保持する。第1記憶部220は、分散ファイル401に加えて、ファイル管理処理に用いる各種設定情報を記憶する。例えば、第1記憶部220は、ファイル管理処理に用いる設定情報として、ファイル管理処理の管理下のファイルに関連する関連ファイルの詳細が登録された管理下ファイル情報を記憶する。なお、管理下ファイル情報については後で図11を用いて詳細に説明する。
第2記憶部230は、揮発性の記憶部である。第2記憶部230は、メモリ202によって実現される。第2記憶部230は、揮発性の記憶部であるため電源がOFF(すなわち、給電がなくなると)になると記憶していた情報を消失する。第2記憶部230は、作業領域231と、保存領域232とを有する。
作業領域231は、データ処理等において一時的に使用される記憶領域である。作業領域231は、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される領域である。また、作業領域231は、プロセッサ201による処理に必要な各種データが格納される領域である。作業領域231は、原ファイル400のファイル操作を行う場合に用いられる。
保存領域232は、仮想的なディスクドライブとして用いられる領域であり、RAMディスクともいう。RAMディスクは、ハードディスクに比べてデータのやり取りを高速に実行可能である。RAMディスクは、電源を切ると、保存されていたデータを消失する。
サーバ100は、記憶部110を有する。記憶部110は、不揮発性の記憶部である。記憶部110は、ファイル管理処理部210から送信された原ファイル400と分散ファイル402を記憶する。
可搬型端末300は、記憶部310を有する。記憶部310は、不揮発性の記憶部である。記憶部310は、操作者が社外で操作する予定の原ファイル400に対応する分散ファイル402を記憶する。
次にファイル管理処理部210による原ファイル400を取得する処理の概要について図5を用いて説明する。図5は、第2の実施形態のファイル管理処理部による原ファイルを取得する処理の概要を説明するための図である。なお、以下では、情報処理装置200の電源OFF(電力の供給が継続されない状態ともいう)によっても消失しないファイルについては実線で示し、情報処理装置200の電源OFFによって消失するファイルについては破線で示すこととする。
図5(a)は、情報処理装置200が社内(すなわち、連携先がサーバ100である場合)において管理下のファイルの原ファイル400の表示要求を受け付けた場合の処理の概要を示す。なお、表示要求は、ファイル操作の一例である。
ファイル管理処理部210は、記憶部110から原ファイル400を取得して作業領域231に読み出し(P11)、読み出した原ファイル400を表示する(P12)。
なお、ファイル管理処理部210は、原ファイル400を直接作業領域231に読み出すことに限らない。例えば、ファイル管理処理部210は、原ファイル400を一旦保存領域232に記憶させた後、保存領域232に記憶させた原ファイル400を作業領域231に読み出すようにしてもよい。
図5(b)は、情報処理装置200が社内において管理下のファイルの原ファイル400の表示要求を受け付けた場合の処理の概要を示す。
ファイル管理処理部210は、記憶部110から分散ファイル402を取得して保存領域232に記憶させる(P21)。ファイル管理処理部210は、第1記憶部220が記憶する分散ファイル401と、保存領域232に記憶させた分散ファイル402とに基づいて原ファイル400を保存領域232内に復号する(P22)。ファイル管理処理部210は、保存領域232内に復号した原ファイル400を作業領域231に読み出し(P23)、読み出した原ファイル400を表示する(P24)。
このようにファイル管理処理部210は、連携先がサーバ100である場合、原ファイル400を直接取得する方法と、分散ファイル402を取得して原ファイル400を復号して取得する方法により原ファイル400を取得することができる。なお、本実施形態では、ファイル管理処理部210は、情報処理装置200とサーバ100との間の通信能力に応じて図5(a)に示した処理と図5(b)に示した処理のうちいずれの処理を行うか決定する。図5(a)に示した処理と図5(b)に示した処理のうちいずれの処理を行うか決定する具体的な方法については後で図12を用いて詳細に説明する。
図5(c)は、情報処理装置200が社外(すなわち、連携先が可搬型端末300である場合)において管理下のファイルの原ファイル400の表示要求を受け付けた場合の処理の概要を示す。
ファイル管理処理部210は、記憶部310から分散ファイル402を取得して保存領域232に記憶させる(P31)。ファイル管理処理部210は、第1記憶部220が記憶する分散ファイル401と、保存領域232に記憶させた分散ファイル402とに基づいて原ファイル400を保存領域232内に復号する(P32)。ファイル管理処理部210は、保存領域232内に復号した原ファイル400を作業領域231に読み出し(P33)、読み出した原ファイル400を表示する(P34)。
以上が、原ファイル400の表示要求(管理下のファイルの表示要求ともいう)を受け付けた場合の処理の概要である。このようにファイル管理処理部210は、原ファイル400を第2記憶部230に記憶させてファイル操作可能とすることで、原ファイル400が情報処理装置200内に継続して存在したままにならないようにできる。これにより、情報処理装置200は、原ファイル400の流出による情報漏洩を防止できる。
次に管理下のファイルの原ファイル400が更新された場合に各装置が記憶する管理下のファイルに関連する関連ファイルを更新する処理の概要について図6−8を用いて説明する。
図6は、第2の実施形態の管理下のファイルの原ファイルが更新された場合に各装置が記憶する管理下のファイルに関連する関連ファイルを更新する処理の概要を説明するための図(その1)である。図7は、第2の実施形態の管理下のファイルの原ファイルが更新された場合に各装置が記憶する管理下のファイルに関連する関連ファイルを更新する処理の概要を説明するための図(その2)である。図8は、第2の実施形態の管理下のファイルの原ファイルが更新された場合に各装置が記憶する管理下のファイルに関連する関連ファイルを更新する処理の概要を説明するための図(その3)である。なお、ここでは、最新の状態のファイルについては黒塗りで示し、最新の状態でないファイルについては白塗りで示すこととする。
図6は、情報処理装置200を社内で操作中に管理下のファイルの原ファイル400の更新が行われた場合の処理の概要を示す。なお、ここでは、管理下のファイルの原ファイル400を作業領域231に直接読み出して操作した状態(具体的には図5(a)の状態)において更新が行われた場合を示している。
ファイル管理処理部210は、作業領域231において操作されている原ファイル400の更新要求を受け付けると(P41)、原ファイル400を保存領域232に記憶させる(P42)。ファイル管理処理部210は、保存領域232に記憶させた原ファイル400を分散ファイル401と、分散ファイル402とに分散する。そして、ファイル管理処理部210は、第1記憶部220が記憶する分散ファイル401を最新の状態に更新し、分散ファイル402を保存領域232に新たに記憶させる(P43)。ファイル管理処理部210は、サーバ100の記憶部110が記憶する分散ファイル402及び原ファイル400を最新の状態に更新する(P44)。なお、ファイル管理処理部210は、サーバ100の記憶部110が記憶する分散ファイル402及び原ファイル400を同時に更新してもよいし、順番に更新してもよい。
図7は、情報処理装置200を社内で操作中に管理下のファイルの原ファイル400の更新が行われた場合の処理の概要を示す。なお、ここでは、管理下のファイルの原ファイル400を作業領域231に直接読み出して操作した状態(具体的には図5(a)の状態)において更新が行われた場合を示している。
ファイル管理処理部210は、作業領域231において操作されている原ファイル400の更新要求を受け付けると(P51)、作業領域231の原ファイル400を保存領域232に記憶させる(P52)。ファイル管理処理部210は、保存領域232に記憶させた原ファイル400を分散ファイル401と、分散ファイル402とに分散する。そして、ファイル管理処理部210は、第1記憶部220が記憶する分散ファイル401を最新の状態に更新し、保存領域232に分散ファイル402を新たに記憶させる(P53)。ファイル管理処理部210は、サーバ100の記憶部110の分散ファイル402だけを最新の状態に更新し(P54)、その後、現在(P54)の状況よりも通信能力がよくなった後に原ファイル400を最新の状態に更新する(P55)。
このようにファイル管理処理部210は、分散ファイル402と原ファイル400を同じタイミング(同じ通信環境ともいう)でアップロードして更新する方法と、先に分散ファイル402だけをアップロードして更新する方法により更新することができる。なお、原ファイル400を通信能力が良くなるまでアップロードしない場合(図7)であっても分散ファイル402は先にアップロードされるため、少なくとも復号により最新の状態の原ファイル400を取得可能な状態とすることができる。なお、本実施形態では、ファイル管理処理部210は、情報処理装置200とサーバ100との間の通信能力に応じて図6に示した処理と図7に示した処理のうちいずれの処理を行うか決定する。図6に示した処理と図7に示した処理のうちいずれの処理を行うか決定する具体的な方法については後で図13を用いて詳細に説明する。
図8は、情報処理装置200を社外で操作中に管理下のファイルの原ファイル400の更新が行われた場合の処理の概要を示す。ファイル管理処理部210は、作業領域231において操作されている原ファイル400の更新要求を受け付けると(P61)、保存領域232が記憶する原ファイル400を最新の状態に更新する(P62)。ファイル管理処理部210は、保存領域232に記憶させた原ファイル400を分散ファイル401と、分散ファイル402とに分散する。そして、ファイル管理処理部210は、第1記憶部220が記憶する分散ファイル401を最新の状態に更新し、保存領域232が記憶する分散ファイル402を最新の状態に更新する(P63)。ファイル管理処理部210は、可搬型端末300の記憶部310が記憶する分散ファイル402を最新の状態に更新する(P64)。
その後、ファイル管理処理部210は、社外での操作を終了し、情報処理装置200を社内で操作開始する際に、可搬型端末300との接続を要求し、可搬型端末300の記憶部310が記憶する分散ファイル402を、保存領域232に記憶させる(P65)。ファイル管理処理部210は、保存領域232が記憶する分散ファイル402と、第1記憶部220が記憶する分散ファイル401とに基づいて原ファイル400を保存領域232内に復号する(P66)。そして、ファイル管理処理部210は、サーバ100の記憶部110が記憶する分散ファイル402及び原ファイル400を最新の状態に更新する(P67)。
なお、図8においては、サーバ100が記憶する関連ファイルをアップロードして更新する処理(P65以降の処理)として、分散ファイル402と原ファイル400を同じタイミングでアップロードして更新する方法を例として用いて説明したがこれに限らない。社外で操作中に原ファイル400が更新された場合に、サーバ100が記憶する関連ファイルをアップロードして更新する処理(P65以降の処理)として、図7に示した処理の様に先に分散ファイル402だけアップロードして更新する方法を用いることもできる。なお、本実施形態では、ファイル管理処理部210は、情報処理装置200とサーバ100との間の通信能力に応じてサーバ100の関連ファイルをアップロードして更新する処理(P65以降の処理)としていずれの処理を行うか決定する。社外で原ファイル400が更新された場合に、サーバ100の関連ファイルをアップロードして更新する処理(P65以降の処理)としていずれの処理を行うか決定する具体的な方法については後で図13を用いて詳細に説明する。
以上が、原ファイル400が更新された場合の処理の概要である。このようにファイル管理処理部210は、管理下のファイルの原ファイル400の更新に伴って、各装置が記憶する管理下のファイルに関連する関連ファイルを次々にアップロードして更新することで、関連ファイルを最新の状態に保つことができる。
次に新規に作成されたファイルをファイル管理処理の管理下に新たに追加する処理の概要について図9,10を用いて説明する。図9は、第2の実施形態の新規に作成されたファイルをファイル管理処理の管理下に新たに追加する処理の概要を説明するための図(その1)である。図10は、第2の実施形態の新規に作成されたファイルをファイル管理処理の管理下に新たに追加する処理の概要を説明するための図(その2)である。
なお、ファイル管理処理部210は、ファイル管理処理の管理下では操作者が第2記憶部230に新規のファイルを作成するように制御し、第2記憶部230に作成された新規ファイルをファイル管理処理の管理下に追加する。
例えば、ファイル管理処理部210は、仮想化技術により、仮想フォルダを作成し、ファイル管理処理の実行管理下においては操作者が当該作成された仮想フォルダにのみアクセス可能とする。そのうえで、ファイル管理処理部210は、仮想フォルダ内に新規のファイルを作成した場合の記憶先を保存領域232と予め設定することで、ファイル管理処理部210の実行管理下においては保存領域232に新規のファイルが作成されるように制限する。これにより、ファイル管理処理部210は、ファイル管理処理の実行管理下においては操作者が新規のファイルを第1記憶部220に作成困難に制御している。
仮想フォルダは、実際の保存場所(記憶場所ともいう)に関係なく、ファイルをまとめて管理できるフォルダである。仮想フォルダは、関連するファイルが複数のフォルダやドライブに分散していても、あたかも1つのフォルダ内に存在しているかの如くあつかうことができるものである。なお、以下では、ファイル管理処理部210は、ファイル管理処理の実行管理下においては操作者が仮想フォルダにのみアクセス可能にしているものとして説明する。
図9は、社内で操作中に新規に作成されたファイルをファイル管理処理の管理下に新たに追加する処理の概要を示す。
ファイル管理処理部210は、保存領域232に新規の原ファイル400(ファイル管理処理において新規に管理下におくファイルの原ファイル400ともいう)が作成されると(P71)、新規の原ファイル400を分散ファイル401と、分散ファイル402とに分散する。そして、ファイル管理処理部210は、分散ファイル401を第1記憶部220に新たに記憶させ、分散ファイル402を保存領域232に新たに記憶させる(P72)。ファイル管理処理部210は、サーバ100の記憶部110に分散ファイル402及び新規の原ファイル400を新たに記憶させる(P73)。
なお、図9においては、サーバ100に関連ファイルをアップロードして記憶させる処理(P73)として、分散ファイル402と原ファイル400を同じタイミングでアップロードして記憶させる方法を例として用いて説明したがこれに限らない。社内で操作中に新規に原ファイルが作成された場合に、サーバ100に関連ファイルをアップロードして記憶させる処理(P73以降の処理)として、図7に示した処理の様に先に分散ファイル402だけをアップロードして記憶させる方法を用いることもできる。なお、本実施形態では、ファイル管理処理部210は、情報処理装置200とサーバ100との間の通信能力に応じてサーバ100に関連ファイルをアップロードして記憶させる処理(P73以降の処理)としていずれの処理を行うか決定する。社内で操作中に新規に原ファイルが作成された場合に、サーバ100に関連ファイルをアップロードして記憶させる処理としていずれの処理(P73以降の処理)を行うかを決定する具体的な方法については後で図13を用いて詳細に説明する。
図10は、社外で操作中に新規に作成されたファイルをファイル管理処理の管理下に新たに追加する処理の概要を示す。
ファイル管理処理部210は、保存領域232に新規の原ファイル400が作成されると(P81)、新規の原ファイル400を分散ファイル401と、分散ファイル402とに分散する。そして、ファイル管理処理部210は、分散ファイル401を第1記憶部220に新たに記憶させ、分散ファイル402を保存領域232に新たに記憶させる(P82)。ファイル管理処理部210は、可搬型端末300の記憶部310に分散ファイル402を新たに記憶させる(P83)。
その後、ファイル管理処理部210は、社外での操作を終了し、情報処理装置200を社内で操作開始する際に、可搬型端末300との接続を要求し、可搬型端末300の記憶部310が記憶する分散ファイル402を、保存領域232に記憶させる(P84)。ファイル管理処理部210は、保存領域232が記憶する分散ファイル402と、第1記憶部220が記憶する分散ファイル401とに基づいて新規の原ファイル400を保存領域232内に復号する(P85)。そして、ファイル管理処理部210は、サーバ100の記憶部110に分散ファイル402及び新規の原ファイル400を同時に新たに記憶させる(P86)。
なお、図10においては、サーバ100に関連ファイルをアップロードして記憶させる処理(P84以降の処理)として、分散ファイル402と原ファイル400を同じタイミングでアップロードして記憶させる方法を例として用いて説明したがこれに限らない。社外で操作中に新規に原ファイルが作成された場合に、サーバ100に関連ファイルをアップロードして記憶させる処理(P84以降の処理)として、図7に示した処理の様に先に分散ファイル402だけアップロードして記憶させる方法を用いることもできる。なお、本実施形態では、ファイル管理処理部210は、情報処理装置200とサーバ100との間の通信能力に応じてサーバ100に関連ファイルをアップロードして記憶させる処理(P84以降の処理)としていずれの処理を行うか決定する。社外で操作中に新規に原ファイルが作成された場合に、サーバ100に関連ファイルをアップロードして記憶させる処理としていずれの処理(P84以降の処理)を行うかを決定する具体的な処理については後で図13を用いて詳細に説明する。
以上が新規に作成されたファイルをファイル管理処理の管理下に追加する処理の概要である。このようにファイル管理処理部210は、新規に管理下におくファイルの原ファイルの作成に伴って、関連ファイルを各装置に記憶させることで情報処理装置200だけでは原ファイル400を取得できない状態として新規の管理下のファイルを管理する。
次に管理下ファイル情報について図11を用いて説明する。図11は、第2の実施形態の管理下ファイル情報の一例を示す図である。なお、管理下ファイル情報においては、パソコンは、情報処理装置200を指し、サーバはサーバ100を指し、スマホは可搬型端末300を指すものとする。また、パソコンのcドライブは第1記憶部220に対応し、dドライブはRAMディスク(保存領域232ともいう)に対応するものとする。管理下ファイル情報は、新規の原ファイルの作成や、原ファイルの更新等に伴ってファイル管理処理部210によって最新の情報に更新される。
管理下ファイル情報は、ファイル管理処理の管理下のファイルに関連する関連ファイルの詳細が登録された情報である。管理下ファイル情報には、管理下のファイルごとのレコードが登録されている。
管理下ファイル情報は、見かけ上のファイルの項目と、原ファイルの項目と、分散ファイル(小)の項目と、分散ファイル(大)の項目と、持ち出し中の分散ファイル(小)の項目と、一時記憶中の分散ファイル(小)の項目と、一時記憶中の原ファイルの項目とを含む。
見かけ上のファイルは、ファイル管理処理の実行管理下において操作者に対して情報処理装置200内に存在しているかのようにファイル管理処理部210がアプリケーションを用いて表示する仮想のファイルであり、実際には実在しないものである。ファイル管理処理部210は、ファイル管理処理の実行中に仮想フォルダ内に当該ファイルが存在しているように表示する。
ファイル管理処理では、原ファイル400を情報処理装置200内に取得するまでの間、原ファイル400が情報処理装置200内に存在しない。そのためファイル管理処理部210は、実際には存在しない原ファイル400を見かけ上存在するかのように仮想フォルダ内に表示することで操作者に原ファイル400が操作可能であることを把握可能にしている。
見かけ上のファイルの項目は、ファイル管理処理部210が存在しているように表示するファイルの詳細が登録される項目である。見かけ上のファイルの項目は、ファイルの項目と、デバイスの項目と、パスの項目とを含む。
見かけ上のファイルのファイルの項目は、ファイル管理処理部210が表示する見かけ上のファイルの名称が登録される項目である。見かけ上のファイルのデバイスの項目は、ファイル管理処理部210が表示する見かけ上のファイルの記憶場所(所在ともいう)として表示するデバイスの名称が登録される項目である。見かけ上のファイルのパスの項目は、ファイル管理処理部210が表示する見かけ上のファイルのデバイス内における記憶場所として表示する場所を示す情報が登録される項目である。
原ファイルの項目は、サーバ100の記憶部110に記憶されている原ファイル400の詳細が登録される項目である。原ファイルの項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。
原ファイルのファイルの項目は、原ファイル400のファイル名が登録される項目である。原ファイルのデバイスの項目は、原ファイル400が記憶されたデバイスの名称が登録される項目である。原ファイルのパスの項目は、原ファイル400のデバイス内における記憶場所を示す情報が登録される項目である。同期は、最新の状態に保たれているか否か(最新の状態と同期しているか否かともいう)を示す情報である。原ファイルの同期の項目は、原ファイル400が最新の状態に保たれている場合には「ON」が登録され、原ファイル400が最新の状態に保たれていない場合には「OFF」が登録される項目である。原ファイルのサイズの項目は、原ファイル400のサイズが登録される項目である。
分散ファイル(小)の項目は、サーバ100の記憶部110に記憶されている分散ファイル402の詳細が登録される項目である。分散ファイル(小)の項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。
分散ファイル(小)のファイルの項目は、分散ファイル402のファイル名が登録される項目である。分散ファイル(小)のデバイスの項目は、分散ファイル402が記憶されたデバイスの名称が登録される項目である。分散ファイル(小)のパスの項目は、分散ファイル402のデバイス内における記憶場所を示す情報が登録される項目である。分散ファイル(小)の同期の項目は、分散ファイル402が最新の状態に保たれている場合には「ON」が登録され、分散ファイル402が最新の状態に保たれていない場合には「OFF」が登録される項目である。分散ファイル(小)のサイズの項目は、分散ファイル402のサイズが登録される項目である。
分散ファイル(大)の項目は、情報処理装置200の第1記憶部220に記憶されている分散ファイル401の詳細が登録される項目である。分散ファイル(大)の項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。
分散ファイル(大)のファイルの項目は、分散ファイル401のファイル名が登録される項目である。分散ファイル(大)のデバイスの項目は、分散ファイル401が記憶されたデバイスの名称が登録される項目である。分散ファイル(大)のパスの項目は、分散ファイル401のデバイス内における記憶場所を示す情報が登録される項目である。分散ファイル(大)の同期の項目は、分散ファイル401が最新の状態に保たれている場合には「ON」が登録され、分散ファイル401が最新の状態に保たれていない場合には「OFF」が登録される項目である。分散ファイル(大)のサイズの項目は、分散ファイル401のサイズが登録される項目である。
持ち出し中の分散ファイル(小)の項目は、可搬型端末300の記憶部310に記憶されている分散ファイル402(社外で操作するために持ち出している分散ファイル402ともいう)の詳細が登録される項目である。持ち出し中の分散ファイル(小)の項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。なお、分散ファイル402を持ち出していない場合には当該持ち出し中の分散ファイル(小)の各項目は空欄となる。
持ち出し中の分散ファイル(小)のファイルの項目は、持ち出し中の分散ファイル402のファイル名が登録される項目である。持ち出し中の分散ファイル(小)のデバイスの項目は、持ち出し中の分散ファイル402が記憶されたデバイスの名称が登録される項目である。持ち出し中の分散ファイル(小)のパスの項目は、持ち出し中の分散ファイル402のデバイス内における記憶場所を示す情報が登録される項目である。持ち出し中の分散ファイル(小)の同期の項目は、持ち出し中の分散ファイル402が最新の状態に保たれている場合には「ON」が登録され、持ち出し中の分散ファイル402が最新の状態に保たれていない場合には「OFF」が登録される項目である。持ち出し中の分散ファイル(小)のサイズの項目は、持ち出し中の分散ファイル402のサイズが登録される項目である。
一時記憶中の分散ファイル(小)の項目は、ファイル管理処理によって情報処理装置200の保存領域232内(RAMディスク内ともいう)に一時的に記憶されている分散ファイル402の詳細が登録される項目である。一時記憶中の分散ファイル(小)の項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。なお、ファイル管理処理によって情報処理装置200の保存領域232内に分散ファイル402が記憶されていない場合には当該一時記憶中の分散ファイル(小)の各項目は空欄となる。
一時記憶中の分散ファイル(小)のファイルの項目は、一時記憶中の分散ファイル402のファイル名が登録される項目である。一時記憶中の分散ファイル(小)のデバイスの項目は、一時記憶中の分散ファイル402が記憶されたデバイスの名称が登録される項目である。一時記憶中の分散ファイル(小)のパスの項目は、デバイス内における一時記憶中の分散ファイル402の記憶場所を示す情報が登録される項目である。一時記憶中の分散ファイル(小)の同期の項目は、一時記憶中の分散ファイル402が最新の状態に保たれている場合には「ON」が登録され、一時記憶中の分散ファイル402が最新の状態に保たれていない場合には「OFF」が登録される項目である。一時記憶中の分散ファイル(小)のサイズの項目は、一時記憶中の分散ファイル402のサイズが登録される項目である。
一時記憶中の原ファイルの項目は、ファイル管理処理によって情報処理装置200の保存領域232内に一時的に記憶されている原ファイル400の詳細が登録される項目である。一時記憶中の原ファイルの項目は、ファイルの項目と、デバイスの項目と、パスの項目と、同期の項目と、サイズの項目とを含む。なお、ファイル管理処理によって情報処理装置200の保存領域232内に原ファイル400が記憶されていない場合には当該一時記憶中の原ファイルの各項目は空欄となる。
一時記憶中の原ファイルのファイルの項目は、一時記憶中の原ファイルのファイル名が登録される項目である。一時記憶中の原ファイルのデバイスの項目は、一時記憶中の原ファイル400が記憶されたデバイスの名称が登録される項目である。一時記憶中の原ファイルのパスの項目は、デバイス内における一時記憶中の原ファイル400の記憶場所を示す情報が登録される項目である。一時記憶中の原ファイルの同期の項目は、一時記憶中の原ファイル400が最新の状態に保たれている場合には「ON」が登録され、一時記憶中の原ファイル400が最新の状態に保たれていない場合には「OFF」が登録される項目である。一時記憶中の原ファイルのサイズの項目は、一時記憶中の原ファイル400のサイズが登録される項目である。
このような管理下ファイル情報を備えることで、情報処理装置200は、各装置が記憶している管理下のファイルに関連する関連ファイルの状態を把握可能としている。
次にサーバ100からダウンロードするダウンロード対象(取得対象)を決定する処理(以下、ダウンロード対象決定処理)について図12を用いて説明する。図12は、第2の実施形態のダウンロード対象決定処理のフローチャートを示す図である。なお、以下では通信能力として回線速度を例として用いて説明する。
ダウンロード対象決定処理は、情報処理装置200を社内で操作中に行われる処理である。ダウンロード対象決定処理は、原ファイル400の取得要求(一時記憶中でない原ファイル400のファイル操作の要求ともいう)があった場合に行われる。ダウンロード対象決定処理では、サーバ100からダウンロードするファイルを決定する処理である、すなわち、図5(a)の処理を行うか図5(b)の処理を行うかを決定する処理である。
[ステップS1]ファイル管理処理部210は、サーバ100の原ファイル400が同期状態であるか否か、すなわち最新の状態の原ファイル400をサーバ100から取得可能であるか否かを判定する。ファイル管理処理部210は、管理下ファイル情報を参照することでサーバ100が記憶する原ファイル400が同期状態であるか否かを判定する。例えば、原ファイル400が更新された場合において、ファイル管理処理部210が分散ファイル402だけ先にアップロードして更新した場合等に、サーバ100の原ファイル400が非同期状態となっている。
ファイル管理処理部210は、サーバ100の原ファイル400が同期状態であると判定した場合にステップS2に進み、同期状態でないと判定した場合にステップS7に進む。
[ステップS2]ファイル管理処理部210は、サーバ100と情報処理装置200との間の回線速度を測定する。ファイル管理処理部210は、既知の技術を用いることで回線速度を測定できる。例えば、ファイル管理処理部210は、OSが備えるコマンド(例えば、Linkコマンド)によってサーバ100と情報処理装置200との間の回線速度を測定する。
[ステップS3]ファイル管理処理部210は、取得要求を受け付けた原ファイル400のサイズを特定する。ファイル管理処理部210は、管理下ファイル情報を参照することで原ファイル400のサイズを特定する。なお、ファイル管理処理部210は、サーバ100が記憶する原ファイル400を参照してサイズを特定してもよい。
[ステップS4]ファイル管理処理部210は、回線速度と、原ファイル400のサイズとから、原ファイル400をサーバ100からダウンロードする場合に要すると推定される推定ダウンロード時間(推定取得時間、または推定受信時間ともいう)を特定する。ファイル管理処理部210は、例えば、「原ファイル400のサイズ÷回線速度」によって推定ダウンロード時間を特定する。
[ステップS5]ファイル管理処理部210は、推定ダウンロード時間が閾値ダウンロード時間以下であるか否かを判定する。
閾値ダウンロード時間は、サーバ100から原ファイル400を情報処理装置200に直接取得するか、サーバ100から分散ファイル402を取得して復号することで原ファイル400を情報処理装置200に取得するかの判定に用いられる時間である。
ファイル管理処理部210は、推定ダウンロード時間が閾値ダウンロード時間以下であると判定した場合にステップS6に進み、推定ダウンロード時間が閾値ダウンロード時間以下でないと判定した場合にステップS7に進む。
例えば、閾値ダウンロード時間は、予め満たすべき性能要求(条件または基準ともいう)として設定されたダウンロードの制限時間(例えば、60秒)である。例えば、ダウンロードの制限時間は、ダウンロード時間に応じた通信不具合の発生頻度等に応じて予め設定される。この場合、ファイル管理処理部210は、制限時間内に原ファイル400をダウンロードできる場合に原ファイル400をダウンロード対象とし、制限時間内に原ファイル400をダウンロードできない場合に分散ファイル402をダウンロード対象とすることとなる。すなわち、ファイル管理処理部210は、ダウンロード時間が過度にならない範囲では原ファイル400を直接取得し、ダウンロード時間が過度になり得る範囲では原ファイルを復号して取得することとなる。これにより、ファイル管理処理部210は、復号処理が原因となる不具合が発生することを抑止するとともに、ダウンロード時間が過度になることによって不具合が発生することも抑止できる。
また、例えば、閾値取得時間は、原ファイル400の復号に要すると推定される推定復号時間であってもよい。この場合、ファイル管理処理部210は、推定ダウンロード時間が推定復号時間以下である場合、すなわち、原ファイル400を直接取得したほうが早く取得できる場合には原ファイル400をダウンロード対象とする。また、ファイル管理処理部210は、推定ダウンロード時間が推定復号時間以下でない場合(ダウンロード時間が過度になる虞がある場合)、すなわち、復号して取得したほうが早く取得でき得る場合には分散ファイル402をダウンロード対象とする。これによればファイル管理処理部210は、復号して原ファイル400を取得する方法だけで原ファイル400を取得する場合よりも、原ファイル400の取得に要する時間が短くなるようにダウンロード対象を決定することができる。これにより、ファイル管理処理部210は、原ファイル400の取得に付随した負荷(具体的には、通信による負荷や復号処理による負荷)が発生する時間を短縮でき、不具合が発生するのを抑止できる。
なお、復号時間は、一般にファイルサイズに応じた値となる。そのため、例えば、ファイルサイズ毎に復号時間を複数回測定した結果に基づいたファイルサイズ毎の推定復号時間を設定情報として第1記憶部220に準備しておくことで、ファイル管理処理部210は、原ファイル400の推定復号時間の特定を実現する。
また、例えば、閾値取得時間は、分散ファイル402の推定ダウンロード時間と、推定復号時間とを合計した合計時間(原ファイル400を復号により取得するまでに要すると推定される時間ともいう)であってもよい。この場合、ファイル管理処理部210は、推定ダウンロード時間が合計時間以下である場合、すなわち、原ファイル400を直接取得したほうが早く取得できる場合には原ファイル400をダウンロード対象とする。また、ファイル管理処理部210は、推定ダウンロード時間が合計時間以下でない場合(ダウンロード時間が過度になる虞がある場合)、すなわち、復号して取得したほうが早く取得でき得る場合には分散ファイル402をダウンロード対象とする。これによればファイル管理処理部210は、復号して原ファイル400を取得する方法だけで原ファイル400を取得する場合よりも、原ファイル400の取得に要する時間が短くなるようにダウンロード対象を決定することができる。これにより、ファイル管理処理部210は、原ファイル400の取得に付随した負荷(具体的には、通信による負荷や復号処理による負荷)が発生する時間を短縮でき、不具合が発生するのを抑止できる。
[ステップS6]ファイル管理処理部210は、サーバ100からのダウンロード対象を原ファイル400に決定し、ダウンロード対象決定処理を終了する。
[ステップS7]ファイル管理処理部210は、サーバ100からのダウンロード対象を分散ファイル402に決定し、ダウンロード対象決定処理を終了する。
なお、ファイル管理処理部210は、推定ダウンロード時間と閾値ダウンロード時間との比較により原ファイル400をダウンロード対象とするか否かを決定することに限らない。例えば、ファイル管理処理部210は、測定した回線速度と、予め満たすべき性能要求として設定された閾値回線速度(直接ダウンロードする場合に要求される回線速度ともいう)との比較に基づいて原ファイル400をダウンロード対象にするか否かを決定してもよい。この場合、ファイル管理処理部210は、閾値回線速度よりも回線速度が速い場合、すなわち、回線速度が高速であり、ダウンロード時間が過大になり難い環境である場合には原ファイル400をダウンロード対象とすることとなる。また、ファイル管理処理部210は、閾値回線速度よりも回線速度が遅い場合、すなわち、回線速度が低速であり、ダウンロード時間が過大になり易い環境である場合には分散ファイル402をダウンロード対象とすることとなる。これによりファイル管理処理部210は、復号処理が原因となる不具合が発生することを抑止するとともに、ダウンロード時間が過度になることによって不具合が発生することも抑止できる。
次にサーバ100に対してアップロードするアップロード対象(記憶対象または更新対象ともいう)を決定する処理(以下、アップロード対象決定処理)について図13を用いて説明する。図13は、第2の実施形態のアップロード対象決定処理のフローチャートを示す図である。
アップロード対象決定処理は、情報処理装置200を社内で操作中に行われる処理である。アップロード対象決定処理は、アップロード候補(具体的にはサーバ100の非同期状態のファイル)のうちから実際にサーバ100にアップロードするファイルを決定する処理である、すなわち、図6の処理を行うか図7の処理を行うかを決定する処理である。
アップロード対象決定処理は、社内で操作中に原ファイルが更新された場合(図6,7)や、原ファイル400が新規に作成された場合(図9)、社内で操作開始する際(図8,10)等に行われる処理である。なお、アップロード対象決定処理は、操作者からの指示に応じて行われてもよいし、所定周期毎に行われてもよい。
なお、アップロード候補としては、原ファイル400だけがアップロード候補である場合と、原ファイル400及び分散ファイル402がアップロード候補である場合がある。原ファイル400だけがアップロード候補である状態は、原ファイル400の更新や新規作成に伴うサーバ100へのアップロード時に原ファイル400がアップロード対象にならなった場合(図7)に生じ得る。
[ステップS11]ファイル管理処理部210は、サーバ100と情報処理装置200との間の回線速度を測定する。
[ステップS12]ファイル管理処理部210は、サーバ100の分散ファイル402が同期状態(アップロード候補ともいう)であるか否かを判定する。ファイル管理処理部210は、管理下ファイル情報を参照することでサーバ100の分散ファイル402が同期状態であるか否かを判定する。
ファイル管理処理部210は、サーバ100の分散ファイル402が同期状態であると判定した場合にステップS14に進み、同期状態でないと判定した場合にステップS13に進む。
[ステップS13]ファイル管理処理部210は、分散ファイル402をアップロード対象に決定する。
[ステップS14]ファイル管理処理部210は、最新の状態の原ファイル400のサイズを特定する。例えば、ファイル管理処理部210は、同期状態(最新の状態ともいう)の原ファイル400を第2記憶部230に一時記憶中である場合には管理下ファイル情報を参照することで最新の状態の原ファイル400のサイズを特定する。なお、ファイル管理処理部210は、第2記憶部230が記憶する原ファイル400を参照して直接サイズを特定してもよい。
また、ファイル管理処理部210は、同期状態の原ファイル400を一時記憶中でない場合には、管理下ファイル情報を参照して同期状態の分散ファイル401と分散ファイル402とに基づいて推定することで原ファイル400のサイズを特定する。例えば、ファイル管理処理部210は、同期状態の分散ファイル401と分散ファイル402との合計サイズを原ファイル400のサイズとして特定(推定ともいう)する。なお、ファイル管理処理部210は、管理下ファイル情報に最新の状態の原ファイル400のサイズの項目を別途設けることで、一時記憶中でない場合でも管理下ファイル情報から取得できるようにすることもできる。
[ステップS15]ファイル管理処理部210は、回線速度と、原ファイル400のサイズとから、原ファイル400をサーバ100にアップロードした場合に要すると推定される推定アップロード時間(推定送信時間ともいう)を特定する。ファイル管理処理部210は、「原ファイル400のサイズ÷回線速度」によって推定アップロード時間を特定する。
[ステップS16]ファイル管理処理部210は、推定アップロード時間が閾値アップロード時間以上であるか否かを判定する。
閾値アップロード時間は、原ファイル400を情報処理装置200へのアップロード対象とするか否かを判定するために用いられる時間である。
ファイル管理処理部210は、推定アップロード時間が閾値アップロード時間以上であると判定した場合にステップS18に進み、推定アップロード時間が閾値アップロード時間以上でないと判定した場合にステップS17に進む。
例えば、閾値アップロード時間は、予め満たすべき性能要求(条件または基準ともいう)として設定されたアップロードの制限時間(例えば、60秒)である。この場合にはファイル管理処理部210は、原ファイル400を制限時間内にアップロードできる場合にはアップロード対象とすると判定し、原ファイル400を制限時間内にアップロードできないと判定した場合にアップロードの対象外とすると判定する。これによれば、ファイル管理処理部210は、アップロード時間が過度になることによって不具合が発生することを抑止できる。
[ステップS17]ファイル管理処理部210は、原ファイル400をアップロード対象に決定し、アップロード対象決定処理を終了する。
[ステップS18]ファイル管理処理部210は、原ファイル400をアップロード対象外に決定し、アップロード対象決定処理を終了する。
アップロード対象決定処理を終了すると、ファイル管理処理部210は、アップロード対象と決定した関連ファイルを準備(例えば、一時記憶中でない場合には復号や可搬型端末300から取得等)してサーバ100へのアップロードを行う。
なお、ファイル管理処理部210は、推定アップロード時間と閾値アップロード時間との比較により原ファイル400をアップロード対象とするか否かを決定することに限らない。例えば、ファイル管理処理部210は、測定した回線速度と、予め満たすべき性能要求として設定された閾値回線速度との比較に基づいて原ファイル400をアップロード対象にするか否かを決定してもよい。この場合、ファイル管理処理部210は、閾値回線速度よりも回線速度が速い場合、すなわち、回線速度が高速であり、アップロード時間が過大になり難い環境である場合には原ファイル400をアップロード対象とすることとなる。また、ファイル管理処理部210は、閾値回線速度よりも回線速度が遅い場合、すなわち、回線速度が低速であり、アップロード時間が過大になり易い環境である場合には原ファイル400をアップロード対象外とすることとなる。これによりファイル管理処理部210は、アップロード時間が過度になることによって不具合が発生することも抑止できる。
なお、ファイル管理処理部210は、推定アップロード時間と閾値アップロード時間との比較に加えて、回線速度と閾値回線速度との比較をすることによって原ファイル400をアップロード対象にするか否かを決定してもよい。例えば、ファイル管理処理部210は、回線速度が閾値回線速度以上である場合においては推定アップロード時間に関わらず原ファイル400をアップロード対象とする。そして、ファイル管理処理部210は、回線速度が閾値回線速度以上でない場合には、推定アップロード時間と閾値アップロード時間との比較により原ファイル400をアップロード対象とするか否かを決定する。これによれば、ファイル管理処理部210は、高速通信ができる状態では、推定アップロード時間に関わらず原ファイル400がアップロードされることとなるので、大きいサイズの原ファイル400が更新されないままになることを抑止できる。
なお、分散ファイルが同時にアップロードされる場合に、分散ファイル402についての推定アップロード時間についても算出し、分散ファイル402と原ファイル400のアップロード時間の合計時間をステップS14における判定に利用してもよい。これによれば、ファイル管理処理部210は、アップロード時間が過度になることによって不具合が発生することをより抑止できる。
なお、ファイル管理処理部210は、原ファイル400がアップロード対象にならなかった場合に、サーバ100の原ファイル400が非同期状態(アップロード候補ともいう)であることを操作者が把握可能に表示してもよい。例えば、ファイル管理処理部210は、仮想フォルダに表示される当該原ファイルに対応するアイコンを同期状態の原ファイルに対応するアイコンと異なる態様とすることで操作者が非同期状態であることを把握可能にする。このように操作者が把握可能にすることで、ファイル管理処理部210は、例えば、手透きの時間等において操作者がアップロードの実施(具体的にはアップロード対象決定処理)を指示することを可能にする。
なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上記課題を解決するために、ファイル管理システムが提供される。ファイル管理システムは、情報処理装置と、外部記憶装置とを含む。外部記憶装置は、第1記憶部を備える。情報処理装置は、第2記憶部と、原ファイルを復元可能に第1分散ファイルと第2分散ファイルとに分割し、第1分散ファイルを第2記憶部に記憶させ、原ファイルと第2分散ファイルを第1記憶部に記憶させ、原ファイルの取得要求を受け付けると、外部記憶装置との間の通信能力を特定し、特定した通信能力が閾値通信能力以上である第1の通信能力であった場合には第1記憶部が記憶する原ファイルを取得し、特定した通信能力が閾値通信能力未満である第2の通信能力であった場合には第1記憶部が記憶する第2分散ファイルを取得し、取得した第2分散ファイルと第2記憶部が記憶する第1分散ファイルとを結合することにより原ファイルを取得する処理部と、を備える。