(57)【要約】【課題】クラウドストレージと端末を含むデータ同期システムの端末間において、ファイルに設定される優先度を共有可能とするデータ同期システムを提供する。【解決手段】データを保持するネットワークストレージと、ネットワークストレージに保持されているデータと同期したデータを保持する端末とを含むデータ同期システムにおいて、ネットワークストレージもしくは端末に保持されたデータへのアクセスに基づき、当該アクセスの対象とされたデータの優先度を決定してネットワークストレージで保持する。端末は、ネットワークストレージで同期し保持されるデータに関して決定された優先度を、ネットワークストレージから取得する。取得された優先度に基づいて、端末で保持するデータのうち削除対象のデータを判定する。【選択図】図３
2018032271.tif 000002
【特許請求の範囲】
【請求項１】
データを保持するネットワークストレージと、前記ネットワークストレージに保持されているデータと同期したデータを保持する端末とを含むデータ同期システムであって、
前記システムは、
前記ネットワークストレージもしくは前記端末に保持されたデータへのアクセスに基づき、当該アクセスの対象とされたデータの優先度を決定して前記ネットワークストレージで保持する決定手段、を備え、
前記端末は、
前記端末で保持するデータと同期し前記ネットワークストレージで保持されるデータに関して前記決定手段により決定された前記優先度を、前記ネットワークストレージから取得する取得手段と、
前記取得手段により取得された前記優先度に基づいて、前記端末で保持するデータのうち削除対象のデータを判定する判定手段と、を備える、
ことを特徴とするデータ同期システム。
【請求項２】
前記端末は、前記決定手段を備え、
前記決定手段により決定された前記優先度は、データの同期とともに、前記端末と前記ネットワークストレージの間で同期される、ことを特徴とする請求項１に記載のデータ同期システム。
【請求項３】
前記優先度は、前記ネットワークストレージで保持されるデータのメタデータに設定されることを特徴とする請求項２に記載のデータ同期システム。
【請求項４】
前記優先度は、前回アクセスが行われた時間からの経過時間に基づいて算出されることを特徴とする請求項１乃至３のいずれか１項に記載のデータ同期システム。
【請求項５】
前記優先度は、前記アクセスの方法がユーザ操作を介するか否かに基づいて算出されることを特徴とする請求項４に記載のデータ同期システム。
【請求項６】
前記優先度は、前記ネットワークストレージと前記端末の間の通信環境に基づいて算出されることを特徴とする請求項４又は５に記載のデータ同期システム。
【請求項７】
前記特定手段は、前記優先度が所定の値より低い場合、当該優先度に対応するデータを削除対象のデータと判定することを特徴とする請求項１乃至６のいずれか１項に記載のデータ同期システム。
【請求項８】
前記所定の値は、前記端末の性能に基づいて設定されることを特徴とする請求項７に記載のデータ同期システム。
【請求項９】
前記端末の性能は、前記端末の記憶部の記憶容量を含むことを特徴とする請求項８に記載のデータ同期システム。
【請求項１０】
前記端末の記憶部の空き容量が閾値より低くなった場合、前記判定手段による削除対象のデータの判定が行われることを特徴とする請求項１乃至９のいずれか１項に記載のデータ同期システム。
【請求項１１】
前記端末は、
前記取得手段により取得された前記優先度に基づいてデータのソートを行うソート手段、をさらに備え、
前記判定手段は、前記ソート手段によりソートされた結果、削除が必要な容量を満たすまで、前記優先度が低いデータから順に判定する、
ことを特徴とする請求項１乃至１０のいずれか１項に記載のデータ同期システム。
【請求項１２】
前記端末は、
前記判定手段により判定されたデータを削除する削除手段、をさらに備えることを特徴とする請求項１乃至１１のいずれか１項に記載のデータ同期システム。
【請求項１３】
データを保持するネットワークストレージと通信可能であり、前記ネットワークストレージに保持されているデータと同期したデータを保持する端末であって、
前記端末で保持するデータと同期し前記ネットワークストレージで保持されるデータに関して決定されたデータ間の優先順位を表す優先度を、前記ネットワークストレージから取得する取得手段と、
前記取得手段により取得された前記優先度に基づいて、前記端末で保持するデータのうち削除対象のデータを判定する判定手段と、
を備えることを特徴とする端末。
【請求項１４】
前記ネットワークストレージもしくは前記端末に保持されたデータへのアクセスがあった場合に、当該アクセスの対象とされたデータの優先度を決定して前記ネットワークストレージに保持させる決定手段、
をさらに備えることを特徴とする請求項１３に記載の端末。
【請求項１５】
データを保持するネットワークストレージと、前記ネットワークストレージに保持されているデータと同期したデータを保持する端末とを含むデータ同期システムにおいて実行される方法であって、
前記ネットワークストレージもしくは前記端末に保持されたデータへのアクセスに基づき、当該アクセスの対象とされたデータの優先度を決定して前記ネットワークストレージで保持する決定工程と、
前記端末に、前記端末で保持するデータと同期し前記ネットワークストレージで保持されるデータに関して前記決定工程において決定された前記優先度を、前記ネットワークストレージから取得させる取得工程と、
前記端末に、前記取得工程において取得された前記優先度に基づいて、前記端末で保持するデータのうち削除対象のデータを判定させる判定工程と、
を有することを特徴とする方法。
【請求項１６】
データを保持するネットワークストレージと通信可能であり、前記ネットワークストレージに保持されているデータと同期したデータを保持する端末において実行される方法であって、
前記端末で保持するデータと同期し前記ネットワークストレージで保持されるデータに関して決定されたデータ間の優先順位を表す優先度を、前記ネットワークストレージから取得する取得工程と、
前記取得工程において取得された前記優先度に基づいて、前記端末で保持するデータのうち削除対象のデータを判定する判定工程と、
を有することを特徴とする方法。
【請求項１７】
前記ネットワークストレージもしくは前記端末に保持されたデータへのアクセスに基づき、当該アクセスの対象とされたデータの優先度を決定して前記ネットワークストレージに保持させる決定工程、
をさらに有することを特徴とする請求項１６に記載の方法。
【請求項１８】
請求項１６又は１７に記載の方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを同期するデータ同期システム、端末、方法、およびプログラムに関する。
【背景技術】
【０００２】
クラウドストレージに対して複数の端末からアクセスを行い、クラウドストレージ上にあるデータを端末間で同期しつつ扱うサービスが存在する。クラウドストレージに対応した端末上では、クラウドストレージ上に存在するデータのメタデータを端末上にて保持する。それにより、あたかも端末上にそのデータが存在するかのようにふるまうことができ、端末から実際にデータにアクセスする際、端末内に対応するデータが存在しなければ、クラウドストレージからデータをダウンロードする。クラウドストレージの容量は、端末に比べて大きいことが多いため、例えば携帯端末からクラウドストレージを利用する場合、携帯端末で記憶できない容量のデータがクラウドストレージに記憶されている場合がある。そのため、クラウドストレージに存在するデータを全て携帯端末上にダウンロードすると、携帯端末上の記憶領域を圧迫してしまう場合がある。
【０００３】
上記のようなシステムにおいて、記憶領域の状況に応じて、クラウドストレージからダウンロードしたデータの優先度を用いてデータの削除を行うことがある。例えば、端末内で前回のアクセスからより時間が経過した優先度の低い古いデータから削除を行うというキャッシュ管理方法が存在する（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１７５００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、複数の異なる端末から同一のクラウドストレージにアクセスした場合、複数の端末間で、各端末内の同一のファイルに設定される優先度が異なってしまうことが考えられる。ここで、クラウドストレージにアクセスする端末が異なっている場合でも、利用しているユーザ又はユーザ群が同一の場合には、どの端末からアクセスしても、ユーザ又はユーザ群に対して同じストレージの状態（キャッシュ状態）としてふるまうことが望ましい。
【０００６】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、クラウドストレージと端末を含むデータ同期システムの端末間において、データに対して決定される優先度を共有可能とするデータ同期システム、端末、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係るデータ同期システムは、データを保持するネットワークストレージと、前記ネットワークストレージに保持されているデータと同期したデータを保持する端末とを含むデータ同期システムであって、前記システムは、前記ネットワークストレージもしくは前記端末に保持されたデータへのアクセスに基づき、当該アクセスの対象とされたデータの優先度を決定して前記ネットワークストレージで保持する決定手段、を備え、前記端末は、前記端末で保持するデータと同期し前記ネットワークストレージで保持されるデータに関して前記決定手段により決定された前記優先度を、前記ネットワークストレージから取得する取得手段と、前記取得手段により取得された前記優先度に基づいて、前記端末で保持するデータのうち削除対象のデータを判定する判定手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、クラウドストレージと端末を含むデータ同期システムの端末間において、データに対して決定される優先度を共有可能とすることができる。
【図面の簡単な説明】
【０００９】
【図１】クラウドストレージサービスの構成を示す図である。
【図２】クラウドストレージサービスの構成を示す図である。
【図３】ファイル削除処理を示すフローチャートである。
【図４】クラウドストレージサービスの構成を示す図である。
【図５】ファイル削除処理を示すフローチャートである。
【図６】クラウドストレージサービスの構成を示す図である。
【図７】ファイル削除処理を示すフローチャートである。
【図８】情報処理装置の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１１】
［第１の実施形態］
図１は、本実施形態におけるクラウドストレージサービスのシステム構成を示す図である。図１に示すように、本システムは、情報処理装置１００、１０１が、有線媒体や無線媒体であるネットワーク１０２を介して相互に通信可能に接続されている。図１では、クラウドストレージに対応する情報処理装置を情報処理装置１００として示している。情報処理装置１００は、ネットワーク上のストレージ（ネットワークストレージ）として機能する。また、クラウドストレージにアクセス可能な複数の情報処理装置を情報処理装置１０１として示している。また、情報処理装置１０１は、特に着目する情報処理装置１０６と、それ以外の情報処理装置１０７を含んでいる。
【００１２】
図８（ａ）は、情報処理装置１００の構成を示す図である。情報処理装置１００は、制御部８１０によりその動作が制御されている。制御部８１０のＣＰＵ８０１は、ＲＯＭ８０３のプログラム用ＲＯＭに記憶された処理プログラム等に基づいて、例えば、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。ＣＰＵ８０１は、システムバス８０４に接続される各デバイスを総括的に制御する。また、ＲＯＭ８０３のプログラム用ＲＯＭには、ＣＰＵ３０１の制御プログラム等が記憶されており、ＲＯＭ８０３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデ−タ等が記憶されている。またＲＯＭ８０３のデ−タ用ＲＯＭは上記文書処理等を行う際に使用する各種デ−タを記憶する。
【００１３】
ＲＡＭ８０２は、ＣＰＵ８０１の主メモリ、ワークエリア等を提供しており、各種データを一時保存するのに使用される。キーボードコントローラ（ＫＢＣ）８０５は、キーボード８１１や不図示のポインティングデバイスからのキー入力を制御する。表示制御部８０６は、表示部８１２への表示を制御する。メモリコントローラ（ＭＣ）８０７は、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤＤ）等の記憶部８１３とのアクセスを制御する。
【００１４】
この記憶部８１３には、後述するフローチャートで示されるようなプログラムも記憶されており、ＣＰＵ８０１によって実行される。ネットワークコントローラ（ＮＥＴＷＣ）８０８は、ネットワーク通信モジュール８１４を制御し、ネットワークを経由して他のデバイスとの通信制御処理を実行する。尚、ＣＰＵ８０１は、例えばＲＡＭ８０２上に設定された表示用ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行する。またＣＰＵ８０１は、表示部８１２の画面上で不図示のカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００１５】
図８（ｂ）は、情報処理装置１０１の構成を示す図である。本実施形態では、例えば、情報処理装置１０１は、印刷機能、スキャン機能、送信機能等の多機能が一体化された複合機（ＭＦＰ）である。もしくは、情報処理装置１０１は、携帯型端末のように構成された装置の場合もある。クラウドストレージサービスを実行し、クラウドストレージである情報処理装置１００で保持されるデータと端末で保持されるデータとが同期されるデータ同期システムにおいて用いられる装置であれば、その構成は特に図８の構成に限られない。
【００１６】
情報処理装置１００は、制御部８２０により制御されている。制御部８２０のＣＰＵ８２１は、ＲＯＭ８２３のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてシステムバス８２４に接続される各種のデバイスとのアクセスを総括的に制御する。そして、デバイスインタフェース８２５を介して接続されるデバイスエンジン８２６とのデータ入出力が行われる。デバイスエンジン８２６は、例えば、印刷機構部（プリンタエンジン）や読取機構部（スキャナエンジン）である。
【００１７】
ＲＯＭ８２３には、後述するフローチャートで示されるようなプログラムも記憶されており、ＣＰＵ８２１によって実行される。ＲＡＭ８２２は、ＣＰＵ８２１の主メモリ、ワークエリア等として機能しており、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができる。尚、ＲＡＭ８２２は、ホストコンピュータより受信した画像データを格納しておくための描画メモリ、ビデオ信号ＯＮ／ＯＦＦ情報格納領域、その他のワーク領域等に用いられる。
【００１８】
操作パネル８２７は、各種機能の実行を指示するためのキーや情報処理装置１０１の状態を表示する表示部やＬＥＤなどを備えている。メモリコントローラ（ＭＣ）８２８は、ホストコンピュータから受信した印刷データ等を記憶するハードディスク（ＨＤＤ）等の記憶部８２９などの不揮発性メモリへのアクセスを制御する。ネットワークコントローラ（ＮＥＴＷＣ）８３０は、ネットワーク通信モジュール８３１を制御し、ネットワーク１０２に接続されている各種デバイスとネットワーク１０２を介した通信を可能にしている。またＢＬＥコントローラ（ＢＬＥＣ）８３２は、ＢＬＥモジュール８３３を制御して、ＢＬＥ通信（近距離無線通信）を可能にしている。以上説明した各デバイスはシステムバス８２４に接続されている。
【００１９】
図１のクラウドストレージサービスのシステムにおいては、情報処理装置１０１は、クラウドストレージである情報処理装置１００上にあるファイルのメタデータだけを自装置内に保持する。以下、情報処理装置１００を、他の情報処理装置と区別するために、クラウドストレージ１００という。そして、情報処理装置１０１は、自装置上でファイルの実データの利用が必要となった場合に、クラウドストレージ１００から実データをダウンロードして自装置上で利用する。実データをダウンロードしないファイルについては、メタデータのみが情報処理装置１０１に保持されるが、ファイル一覧上等では、あたかも実データが存在しているかのようにふるまう。
【００２０】
図１では、クラウドストレージ１００はファイル１１７を保持し、情報処理装置１０６はファイル１０８を保持し、情報処理装置１０７はファイル１０５を保持している。そして、ファイル１０５、１０８、１１７はそれぞれ、メタデータ１０４と実データ１０３を含む。ここで、実データ１０３は、各対応するファイルの実体に相当する。メタデータ１０４は、各対応するファイルの情報を示すデータであり、ファイル名やファイルの更新日時等の情報を含み、各ファイルに設定されている、実データ１０３以外の情報である。情報処理装置１０６は、ファイル１０８を、クラウドストレージ１００のファイル１１７と同期することで、クラウドストレージ１００にアクセスする他の情報処理装置１０７のファイル１０５とも同期することが可能となる。図１では、ファイル１０５、１０８、１１７は、１つずつしか示されていないが、各装置において複数保持される場合もある。
【００２１】
クラウドストレージ１００の処理部１１１は、図８の処理部８１０に対応する。また、クラウドストレージ１００の記憶部１１０は、図８の記憶部８１３に対応する。また、クラウドストレージ１００の通信部１０９は、図８のネットワーク通信モジュール８１４に対応する。処理部１１１は、通信部１０９を介して取得した情報と、記憶部１１０に記憶されている情報との比較を行い、記憶部１１０に記憶されている情報の書き換えや、通信部１０９を介して送信する情報の選択を行う。
【００２２】
情報処理装置１０６の処理部１１２は、図８の処理部８２０に対応する。また、情報処理装置１０６の記憶部１１３は、図８の記憶部８２９に対応する。また、情報処理装置１０６の表示部１１４は、図８の操作パネル８２７に対応する。また、情報処理装置１０６の通信部１１５は、図８のネットワーク通信モジュール８３１及びＢＬＥモジュール８３３に対応する。
【００２３】
情報処理装置１０６のファイル操作部１１６は、図８の処理部８２０で実現され、情報処理装置１０６内のファイル１０８に対しファイルの一部、又は全てを削除する等のファイル操作を行う。また、ファイル操作部１１６は、通信部１１５を介してクラウドストレージ１００からファイル１１７の一部、又は全てを取得し、情報処理装置１０６の記憶部１１３への保存を行う。
【００２４】
図１において、情報処理装置１０７は、情報処理装置１０６と同じ構成を有する。また、図８においては、クラウドストレージ１００と情報処理装置１０１とで異なる構成として示されているが、ともに図８（ａ）のような同じ構成であっても良い。また、以下、情報処理装置１０６の動作を説明する場合には、特に断らない限り、情報処理装置１０７でもその動作が実行可能であるものとする。
【００２５】
情報処理装置１０６の記憶部１１３での記憶容量の空きを確保する必要がある場合、情報処理装置１０６内にダウンロードされたファイル１０８の実データ１０３のみを削除することで空き容量を確保する。また、情報処理装置１０６内でクラウドストレージ１００と同期されているファイル１０８に変更が行われた場合、変更内容は、クラウドストレージ１００内の対応するファイル１１７へ反映される。そして、必要に応じて、クラウドストレージ１００からの要求もしくは情報処理装置１０７からのアクセスにより、他の情報処理装置１０７内のファイル１０５への反映も行われる。その結果、情報処理装置１０６、１０７、クラウドストレージ１００との間でファイルの内容が同期される。
【００２６】
本実施形態では、情報処理装置１０６は、記憶部１１３の空き容量の状況に応じて、クラウドストレージ１００からダウンロードした実データ１０３を削除する際には、ファイル優先度を用いる。
【００２７】
図２は、本実施形態におけるクラウドストレージサービスのシステム構成を示す図である。図２に示すように、情報処理装置１０６は、図１の構成に加えて、優先度算出部２０１、容量監視部２０２を有する。優先度算出部２０１、容量監視部２０２は、処理部８２０で実現される。ファイル優先度は、メタデータ１０４に付与されており、記憶部１１３の空き容量が閾値よりも少ないと判定され実データ１０３の削除を実行する場合、その削除対象となるファイルを決定する際に用いられる。
【００２８】
情報処理装置１０６から自装置内もしくはクラウドストレージ１００に対するファイルアクセスがあった場合、優先度算出部２０１は、アクセスしたファイルについてファイル優先度を算出する。そして、ファイル優先度が算出もしくは更新された場合、情報処理装置１０６は、クラウドストレージ１００へその旨とファイル優先度を通知する。その後、クラウドストレージ１００の対応するファイル１１７のメタデータ１０４へそのファイル優先度が設定される。つまり、情報処理装置１０６とクラウドストレージ１００との間では、ファイルと同様、ファイル優先度についても同期される。  
【００２９】
情報処理装置１０６の容量監視部２０２は、記憶部１１３の空き容量を監視し、規定値を下回った場合、図３に示す処理により、ファイル操作部１１６によりクラウドストレージ１００と同期し且つ不要なファイル１０５の実データ１０３の削除を実行する。図３では、ユーザ操作を介さずに実データ１０３の削除が行われるが、特定された削除対象となる実データ１０３の一覧を表示することにより、ユーザによって手動で選択的に削除を行わせるようにしても良い。
【００３０】
ここで、情報処理装置１０６からクラウドストレージ１００のファイル１１７へのアクセスが生じたとする。その場合、情報処理装置１０６の優先度算出部２０１は、アクセスの生じたファイル１１７に対して、ファイル優先度Ｕを算出する。算出方法は、式（１）で表される。
【００３１】
Ｕ  ＝  Ａ＋（Ｃ／Ｔｐ）  ・・・（１）
式（１）において、Ａは、アクセス元（情報処理装置１０６）に応じて変化する定数であり、情報処理装置１０６から生じたファイル１１７へのアクセスがユーザ操作による場合は、より高い値となる。一方、ＯＳ又はアプリケーションの動作によりファイル１１７へのアクセスが自動で生じた場合は、より低い値となる。Ｃは定数であり、Ｔｐはファイル１１７への前回アクセスが行われた時からの経過時間である。式（１）の結果として、ユーザ操作によってアクセスされたファイル、又は頻繁にアクセスされるファイルには、より高いファイル優先度が設定される。一方、自動的な処理によりアクセスされたファイル、または前回のアクセスから経過時間の長いファイルには、より低いファイル優先度が設定される。このように、本実施形態では、ファイル優先度は、ファイル間、もしくは、ファイルに対応するデータ間における優先順位を表すものであり、ファイル優先度が低いファイルがファイル優先度が高いファイルより先に削除される。
【００３２】
情報処理装置１０６は、優先度算出部２０１によりファイル１１７のファイル優先度を算出すると、その算出されたファイル優先度をクラウドストレージ１００へ通知する。そして、クラウドストレージ１００は、情報処理装置１０６からのアクセスが生じたファイル１１７のメタデータ１０４に、通知されたファイル優先度を設定する。情報処理装置１０６からのアクセスの内容がファイル１１７のダウンロードである場合、情報処理装置１００は、情報処理装置１０６へファイル１１７を送信する。
【００３３】
以下、情報処理装置１０６がファイル１１７へアクセスしてファイル優先度を算出し、そのファイル優先度がクラウドストレージ１００のメタデータ１０４に設定されるとする。そして、その後、情報処理装置１０７が、記憶部１１３の空き容量の低下により、自装置内の不要なファイルの実データ１０３の削除を行うとする。
【００３４】
情報処理装置１０７において記憶部１１３の空き容量が規定値を下回った場合、情報処理装置１０７の容量監視部２０２は、ファイル操作部１１６により記憶部１１３に記憶されクラウドストレージ１００と同期しているファイル１０５の一覧を取得する。そして、容量監視部２０２は、各ファイル１０５に関しクラウドストレージ１００に保持されているファイル優先度を、クラウドストレージ１００から取得する。そして、情報処理装置１０７は、取得したファイル優先度によりファイル１０５のメタデータ１０４を更新し、ファイル優先度が規定値に満たないファイル１０５の実データ１０３を削除することで、記憶部１１３の必要な容量を確保する。この時、情報処理装置１０７が何らかの原因により情報処理装置１００と通信が行えない場合には、クラウドストレージ１００からのファイル優先度の取得は行われない。以下、図３を参照しながら、上記の処理を説明する。
【００３５】
図３は、不要なファイルを削除する処理を示すフローチャートである。図３の処理は、例えば、ＣＰＵ８２１がＲＯＭ８２３に記憶されたプログラムをＲＡＭ８２２に読み出して実行することにより実現される。以下の説明では、情報処理装置１０６からクラウドストレージ１００へのファイルアクセスが行われた後、情報処理装置１０７で、図３の不要なファイル１０５の実データの削除の処理が実行されるとする。図３の処理は、例えば、容量監視部２０２の記憶部１１３の記憶容量の空き領域が閾値以下となった場合に実行される。
【００３６】
Ｓ３０１において、ＣＰＵ８２１は、記憶部１１３からクラウドストレージ１００と同期しているファイルの検索を行い、そのファイルの一覧を取得する。Ｓ３０２において、ＣＰＵ８２１は、一覧から取得した一つの該当ファイル１０５のメタデータ１０４を読み込み、Ｓ３０３において、情報処理装置１０７がクラウドストレージ１００と通信可能な状態であるか否かを判定する。この判定は、例えば、コマンドをクラウドストレージ１００に送信し応答の有無に応じて判定するような形態で行われても良い。
【００３７】
Ｓ３０３でクラウドストレージ１００と通信可能な状態であると判定された場合、Ｓ３０４でＣＰＵ８２１は、クラウドストレージ１００から、同期しているファイル１１７のメタデータ１０４を取得して該当ファイル１０５のメタデータ１０４を更新する。そして、ＣＰＵ８２１は、ファイル操作部１１６により、該当ファイル１０５のメタデータ１０４からファイル優先度を取得する。その後、Ｓ３０５に進む。Ｓ３０３でクラウドストレージ１００と通信可能な状態でないと判定された場合、Ｓ３０４の処理は行われずにＳ３０５に進む。
【００３８】
Ｓ３０５において、ＣＰＵ８２１は、該当ファイル１０５の実データ１０３が情報処理装置１０７内にあるか否かを判定する。ここで、あると判定された場合、Ｓ３０６において、ＣＰＵ８２１は、該当ファイル１０５の実データ１０３が有効なデータであるか否かを判定する。
【００３９】
Ｓ３０６では、該当ファイル１０５について取得されたファイル優先度が規定値より低いのであれば、有効なデータでなく削除可能と判定する。Ｓ３０６で該当ファイル１０５の実データ１０３が有効なデータでなく削除可能と判定された場合、ＣＰＵ８２１は、該当ファイル１０５の実データ１０３を削除対象と判定し、Ｓ３０７に処理が進む。Ｓ３０７において、ＣＰＵ８２１は、該当ファイル１０５の実データ１０３を削除して、Ｓ３０８に進む。一方、Ｓ３０５で該当ファイル１０５の実データ１０３がないと判定された場合、もしくは、Ｓ３０６で該当ファイル１０５の実データ１０３が有効なデータであると判定された場合、実データの削除は行われずにＳ３０８に進む。
【００４０】
Ｓ３０８において、ＣＰＵ８２１は、Ｓ３０１で取得したファイルの一覧から、次に着目する該当ファイル１０５があるか否かを判定する。ここで、次に着目する該当ファイル１０５があると判定された場合、Ｓ３０２からの処理を繰り返す。一方、次に着目する該当ファイル１０５がないと判定された場合、図３の処理を終了する。
【００４１】
以上では、クラウドストレージ１００上のファイル１１７へアクセスした情報処理装置１０６と、実データ１０３の削除を行う情報処理装置１０７とのように、両装置が別装置である場合を説明した。しかしながら、両装置が同一の装置であっても良い。例えば、情報処理装置１０６がファイル１１７を情報処理装置１００からダウンロードする場合がある。その場合には、情報処理装置１０６の優先度算出部２０１がダウンロードしたファイル１１７（即ちファイル１０８）についてファイル優先度を算出してクラウドストレージ１００に通知する。そして、情報処理装置１０６が自装置内の不要な実データ１０３の削除処理（図３）を、クラウドストレージ１００から取得したファイル優先度に基づいて実行する。なお、式（１）において、ファイル優先度を算出する際に、Ｔｐが「０」となる場合には、ファイル優先度Ｕが所定の最大値をとるようにしても良い。
【００４２】
以上のように、本実施形態によると、例えば、情報処理装置１０６内の対応するファイル１０８のファイル優先度が１から２へ更新された場合でも、更新されたファイル優先度２がクラウドストレージ１００のファイル１１７のメタデータ１０４に反映される。一方、情報処理装置１０７の記憶部１１３の残容量が低下して不要な実データの削除を行う場合、ファイル１０５に同期したファイル１１７のファイル優先度２をクラウドストレージ１００から取得する。そして、そのファイル優先度２に基づいて、不要な実データの削除が行われる。
【００４３】
つまり、情報処理装置１０６により算出／更新されたファイル優先度が、異なる情報処理装置１０７に反映され、異なる装置間において、ファイル優先度が共有可能となる。そして、アクセス頻度に応じた実データの情報が装置間で共有され、さらに、各装置におけるファイル優先度を用いた実データの削除が行われる。その結果、例えば、同じユーザが情報処理装置１０６を使用しても、また情報処理装置１０７を使用しても、不要な実データの削除は、共有されたファイル優先度に基づいて行われる。その結果、装置間でストレージ状態を比較的近い状態に保つことができ、ユーザビリティを向上させることができる。
【００４４】
［第２の実施形態］
第１の実施形態では、情報処理装置１０７は、ファイル優先度を一律の規定値に従い、ファイルの実データの削除を実行していた。以下、ユーザが所持する情報処理装置１０１間においてストレージ等の性能が異なる場合について、第１の実施形態と異なる点について説明する。
【００４５】
図４は、本実施形態におけるクラウドストレージシステムの構成を示す図である。図４に示すように、図２の情報処理装置１０６側にファイル判定部４０１がさらに構成されている。ファイル判定部４０１は、図８の処理部８２０で実現される。ファイル判定部４０１は、ファイル１０８のファイル優先度を用いて、実データ１０３を削除するか否かの判定を行う。本実施形態では、ファイル判定部４０１は、情報処理装置１０６の記憶部１１３の記憶可能容量等、装置の環境情報を用いて判定を行う。また、装置の環境情報の他、ユーザにより指定された基準が用いられても良い。
【００４６】
図５は、本実施形態における実データの削除処理を示すフローチャートである。以下、実データの削除を行う装置を情報処理装置１０６として説明する。図５の処理は、例えば、ＣＰＵ８２１がＲＯＭ８２３に記憶されたプログラムをＲＡＭ８２２に読み出して実行することにより実現される。
【００４７】
Ｓ５０１は、図３のＳ３０１と同じであるのでその説明を省略する。Ｓ５０２において、ＣＰＵ８２１は、情報処理装置１０６の環境情報に基づいて、ファイル優先度の閾値を決定する。
【００４８】
Ｓ５０３、Ｓ５０４、Ｓ５０５はそれぞれ、Ｓ３０２、Ｓ３０４、Ｓ３０５と同じであるのでその説明を省略する。
【００４９】
Ｓ５０５で該当ファイル１０８の実データ１０３が情報処理装置１０６内にあると判定された場合、Ｓ５０６において、ＣＰＵ８２１は、Ｓ５０２で決定された閾値に基づいて、該当ファイル１０８の実データ１０３が有効なデータであるか否かを判定する。有効なデータであるか否かの判定基準は、第１の実施形態における説明と同じである。つまり、該当ファイル１０８のファイル優先度がＳ５０２で決定された閾値より低いのであれば、有効なデータでなく削除可能と判定され、Ｓ５０６に進む。
【００５０】
Ｓ５０６、Ｓ５０７はそれぞれ、Ｓ３０７、Ｓ３０８と同じであるのでその説明を省略する。
【００５１】
以上のように、本実施形態によると、ストレージ性能に差のある端末間であっても、ファイル優先度の高いファイルの実データを可能な限り削除せずに残すことができる。その結果、情報処理装置１０１間のストレージの残容量の状態を比較的等しい状態に保つことができる。その結果、ユーザの操作感を情報処理装置１０１間で近付けることができ、ユーザビリティを向上させることができる。
【００５２】
［第３の実施形態］
第１の実施形態では、ファイル優先度は情報処理装置１０１側において算出され、クラウドストレージ１００に対して通知されて同期がとられていた。本実施形態では、ファイル優先度は、クラウドストレージ１００側において算出される。クラウドストレージ１００から情報処理装置１０１に実データ１０５がダウンロードされるトリガーとしては、ユーザからの利用要求の他に、ＯＳなどによりユーザ操作を介することなく自動でキャッシュとしてダウンロードされる場合がある。本実施形態では、ダウンロードのトリガーの種類に応じてファイル優先度が設定される。以下、上記各実施形態と異なる点について説明する。
【００５３】
図６は、本実施形態におけるクラウドストレージシステムの構成を示す図である。図６に示すように、図２のクラウドストレージ１００側に優先度算出部６０１がさらに構成されている。優先度算出部６０１は、図８の制御部８２０で実現される。また、情報処理装置１０６側にファイル判定部６０２がさらに構成されている。ファイル判定部６０２は、図８の制御部８２０で実現される。
【００５４】
本実施形態において、優先度算出部６０１は、情報処理装置１０１からのアクセスがあると、クラウドストレージ１００上のファイル１１７に対してファイル優先度を設定する。
【００５５】
情報処理装置１０１がクラウドストレージ１００から実データ１０５をダウンロードする際、情報処理装置１０１は、ダウンロードのトリガーの種類をクラウドストレージ１００に送信する。クラウドストレージ１００の優先度算出部６０１は、クラウドストレージ１００内のファイル１１７のメタデータ１０４に対してファイル優先度を設定する。ファイル優先度の設定については、第１の実施形態における説明と同じである。ここで、優先度算出部６０１は、ファイル１１７のメタデータ１０４の内容や、実データ１０３を用いてファイル優先度を算出するようにしても良い。
【００５６】
一方、情報処理装置１０１において、実データ１０５を削除する際は、削除しようとしているファイルに同期したクラウドストレージ１００上のファイルのファイル優先度をクラウドストレージ１００から取得して参照する。以降の情報処理装置１０１における不要な実データの削除については第１の実施形態における説明と同じである。
【００５７】
以上のように、本実施形態によると、情報処理装置１０１に実データ１０３をダウンロードする際のトリガーの種類によって、ファイル優先度をクラウドストレージ１００側において算出することができる。
【００５８】
［第４の実施形態］
情報処理装置１０６の優先度算出部２０１によるファイル優先度の算出方法は、アクセス頻度以外を指標として算出されても良い。本実施形態では、式（１）で説明したパラメータ以外のパラメータを用いてファイル優先度を算出する。以下、上記各実施形態と異なる点について説明する。
【００５９】
実データ１０３の容量によっては、クラウドストレージ１００からの取得に時間がかかる場合がある。従って、本実施形態では、ファイル１０８へのアクセス頻度とは別に、メタデータ１０４の一つであるファイルサイズを用いる。つまり、ファイルサイズがより大きいファイル１０８のファイル優先度をより高く設定する。また、ファイルサイズのより小さいファイル１０８のファイル優先度をより低く設定する。また、ファイル優先度の算出の際に、情報処理装置１０６の通信環境を考慮し、ＷｉＦｉインフラストラクチャー等の高速回線に接続されている場合は、ファイルサイズによるファイル優先度の設定への影響を低く設定する。また、３Ｇ・ＬＴＥ回線等に接続されている場合は、ファイルサイズによるファイル優先度の設定への影響を高く設定する。以上のような設定は、例えば、式（１）により算出されたファイル優先度を、上記のファイルサイズや通信環境を用いて補正するようにしても良い。
【００６０】
以上のように、本実施形態によると、ファイルの取得に時間がかからないファイル１０８については、ファイル優先度がより低く設定される。また、ファイルの取得に時間がかかるファイル１０８については、ファイル優先度がより高く設定される。その結果、ファイルの取得に時間がかかるファイルについては、削除される可能性を低くし、再度のクラウドストレージ１００からの取得による煩わしさを軽減させることができる。
【００６１】
［第５の実施形態］
第１の実施形態では、図３の処理により、不要なファイルの実データ１０３の削除を行っていた。本実施形態では、ファイル１０８に対して算出されたファイル優先度と閾値の値によっては全てのファイル１０５の実データが削除非対象と判定されてファイルの削除が行われない場合に、ファイル１０５のソートを行う。以下、上記各実施形態と異なる点について説明する。
【００６２】
図７は、本実施形態における実データの削除処理を示すフローチャートである。図７の処理は、例えば、ＣＰＵ８２１がＲＯＭ８２３に記憶されたプログラムをＲＡＭ８２２に読み出して実行することにより実現される。以下の説明では、図３と同様に、情報処理装置１０７で不要なファイル１０５の実データ１０３の削除が行われるとする。
【００６３】
Ｓ７０１において、ＣＰＵ８２１は、情報処理装置１０７の端末環境に基づいて、削除を要するファイル容量を算出する。Ｓ７０２において、ＣＰＵ８２１は、記憶部１１３から、クラウドストレージ１００と同期しているファイル１０５の一覧を取得する。Ｓ７０３において、取得したファイル１０５の一覧の各ファイル１０５について、ファイル優先度を取得する。ファイル優先度は、情報処理装置１０７の優先度算出部２０１により算出されても良いし、クラウドストレージ１００の優先度算出部６０１により算出されたものを取得するようにしても良い。
【００６４】
Ｓ７０４において、ＣＰＵ８２１は、Ｓ７０２で取得されたクラウドストレージ１００と同期しているファイルの一覧をファイル優先度順にソートする。Ｓ７０５において、ＣＰＵ８２１は、ファイル優先度が最も低いファイル１０５の実データ１０４を削除可能と判定して削除を実行する。ここで、同一のファイル優先度が割り当てられたファイル１０５が複数存在する場合は、それぞれのファイル１０５が有するメタデータ１０４に記述されている項目の値を用いてさらにソートを行うようにしても良い。
【００６５】
Ｓ７０６において、ＣＰＵ８２１は、Ｓ７０２で取得したファイル１０５の一覧から、次に着目する該当ファイル１０５があるか否かを判定する。ここで、次に着目する該当ファイル１０５があると判定された場合、Ｓ７０７に進む。次に着目する該当ファイル１０５がないと判定された場合、図７の処理を終了する。
【００６６】
Ｓ７０７において、ＣＰＵ８２１は、現時点までで削除した実データ１０３の容量合計と、Ｓ７０１で算出された削除すべきファイル容量とを比較し、現時点までで削除したファイル容量が、削除すべきファイル容量に達したか否かを判定する。ここで、現時点までで削除したファイル容量が、削除すべきファイル容量に達したと判定された場合は、図７の処理を終了する。一方、達していないと判定された場合は、Ｓ７０５からの処理を繰り返す。Ｓ７０７で現時点までで削除したファイル容量が、削除すべきファイル容量に達していないと判定され、且つ、Ｓ７０６で次に着目する該当ファイル１０５がないと判定された場合は、ファイルの削除をその時点で終了とする。これは、情報処理装置１０１内に、クラウドストレージ１００のファイル１０８と同期するファイル１０５がないからである。
【００６７】
以上のように、本実施形態によると、削除すべきファイル容量分、確実に実データ１０８を削除することができる。
【００６８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００  クラウドストレージ：  １０１、１０６、１０７  情報処理装置：
【図１】
2018032271.tif 000003
【図２】
2018032271.tif 000004
【図３】
2018032271.tif 000005
【図４】
2018032271.tif 000006
【図５】
2018032271.tif 000007
【図６】
2018032271.tif 000008
【図７】
2018032271.tif 000009
【図８】
2018032271.tif 000010