(57)【要約】【課題】クラウドストレージサービスに保存されているファイルの保存先を見直す時のユーザの負担が大きいこと。【解決手段】情報処理装置は、複数のクラウドストレージサービスのそれぞれについてクラウドストレージサービスを利用するための料金情報とクラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、記憶部に接続された演算部とを備える。演算部は、ファイルについて、複数のクラウドストレージサービス毎に、料金情報とアクセス履歴とに基づいてスコアを計算し、複数のクラウドストレージサービス毎のスコアに基づいて、ファイルの保存先であるクラウドストレージサービスを決定するように構成されている。【選択図】図１５
2019164705.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備え、
前記演算部は、前記ファイルについて、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定するように構成されている
情報処理装置。
【請求項２】
前記演算部は、前記ファイルに対するクライアントからのアクセス要求を検出したときに前記決定を行うように構成されている
請求項１に記載の情報処理装置。
【請求項３】
前記演算部は、前記ファイルに対するクライアントからのアクセス要求を一定時間にわたって検出しなかったときに前記決定を行うように構成されている
請求項１または２に記載の情報処理装置。
【請求項４】
前記ファイルの部分領域毎に前記アクセス履歴を有する
請求項１乃至３の何れかに記載の情報処理装置。
【請求項５】
前記演算部は、前記ファイルの部分領域毎かつ前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいて前記スコアを計算し、前記ファイルの部分領域毎かつ前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの部分領域毎の保存先である前記クラウドストレージサービスを決定するように構成されている
請求項４に記載の情報処理装置。
【請求項６】
前記演算部は、前記ファイルが現在保存されている前記クラウドストレージサービス以外の前記クラウドストレージサービスについては、前記ファイルのマイグレーションを考慮して前記スコアを計算するように構成されている
請求項１乃至５の何れかに記載の情報処理装置。
【請求項７】
前記演算部は、前記ファイルに対するクライアントからのアクセス要求に応じて前記アクセス履歴を更新するように構成されている
請求項１乃至６の何れかに記載の情報処理装置。
【請求項８】
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置が実行するファイル保存先決定方法であって、
前記演算部が、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する
ファイル保存先決定方法。
【請求項９】
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置に、
前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算する処理と、
前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する処理と
を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ファイル保存先決定方法、およびプログラムに関する。
【背景技術】
【０００２】
クラウドストレージサービスは、サービス毎にファイルの転送単価・容量単価が異なるため、利用者やファイルごとに利用コストが最小となる、クラウドストレージサービスが異なることが知られている。そのため、ファイルごとに適切なクラウドストレージサービスを選択することで、利用コストを小さくすることが可能である。
【０００３】
一方で、利用コストが最小となるクラウドストレージサービスを選択するのは、しばしば困難が伴う。手動でストレージサービスを分けて保存するのは、あまりにも手間がかかり現実的ではないので自動化が必要である。
【０００４】
自動的に複数のストレージを利用する方法としては、特許文献１に記載された方法（以下、関連技術と称す）があげられる。
【０００５】
関連技術では、ファイルの新規保存時、複数のクラウドストレージサービス毎に、保管料金（利用料金）、上り（通信）料金、下り（通信）料金、ファイルサイズ、ファイルの利用頻度に基づいて、比較値を計算し、複数のクラウドストレージサービス毎の上記比較値に基づいて、ファイルの保存先であるクラウドストレージサービスを決定する。ここで、関連技術では、ファイルの利用頻度を、利用頻度設定画面を通じてユーザから入力させるようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１９７９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
関連技術では、ファイルの新規保存時、ユーザから入力された利用頻度に基づいて、ファイルの保存先であるクラウドストレージサービスを決定し、この決定したクラウドストレージサービスにファイルを保存している。しかし、或るクラウドストレージサービスに保存されたファイルが当初予想された利用頻度で利用され続ける保証はない。そのため、ファイルの新規保存時に決定したクラウドストレージサービスにファイルを保存し続けることは、ユーザにとって必ずしも適切であるとは言えない。そこで、当初の予想された頻度でファイルが利用されていない場合などに、保存先を見直す必要がある。しかし、保存先の見直し時に関連技術と同様に利用頻度をユーザに入力させると、ユーザの負担がきわめて大きくなってしまう。
【０００８】
本発明の目的は、上述した課題、すなわち、クラウドストレージサービスに保存されているファイルの保存先を見直す時のユーザの負担が大きい、という課題を解決する情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態に係る情報処理装置は、
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備え、
前記演算部は、前記ファイルについて、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定するように構成されている。
【００１０】
また本発明の他の形態に係るファイル保存先決定方法は、
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置が実行するファイル保存先決定方法であって、
前記演算部が、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する。
【００１１】
また本発明の他の形態に係るプログラムは、
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置に、
前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算する処理と、
前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する処理と
を行わせる。
【発明の効果】
【００１２】
本発明は上述した構成を有することにより、クラウドストレージサービスに保存されているファイルの保存先の見直しをユーザに負担をかけずに実施することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の全体構成の一例を示す図である。
【図２】本発明の第１の実施形態に係るファイルサーバの構成の一例を表した図である。
【図３】本発明の第１の実施形態においてファイル読み出しと書き込みとを行う時の動作説明図である。
【図４】本発明の第１の実施形態において利用するクラウドストレージサービスのコスト表の例を示す図である。
【図５】本発明の第１の実施形態におけるクラウドストレージサービスのコスト計算例を示す図である。
【図６】本発明の第１の実施形態においてファイル読み出し後にファイルの書き込みが行われなかった時の動作説明図である。
【図７】本発明の第１の実施形態におけるクラウドストレージサービスのコスト計算例を示す図である。
【図８】本発明の第１の実施形態におけるファイルのマイグレーション時の動作説明図である。
【図９】本発明の第１の実施形態におけるクラウドストレージサービスのコスト計算例を示す図である。
【図１０】本発明の第１の実施形態におけるクラウドストレージサービスのコスト計算例を示す図である。
【図１１】本発明の第１の実施形態におけるクラウドストレージサービスのコスト計算例を示す図である。
【図１２】本発明の第２の実施形態の全体構成の一例を示す図である。
【図１３】本発明の第３の実施形態の全体構成の一例を示す図である。
【図１４】本発明の第３の実施形態の動作説明図である。
【図１５】本発明の第４の実施形態のブロック図である。
【発明を実施するための形態】
【００１４】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
[第１の実施形態]
＜本実施形態の特徴＞
本実施形態は、複数のクラウドストレージサービスに対し、予測されるアクセス頻度とクラウドストレージサービスの利用単価（容量単価・転送料金）を考慮し、最も低コストと予測されるファイルの保存先であるクラウドストレージサービスを選択することを特徴とする。
【００１６】
ファイルサーバは、各クラウドストレージサービスの利用単価テーブルと各ファイルの予測アクセス頻度を元に、同一のアクセス頻度が続いたと仮定した場合の、各クラウドストレージサービスの保存コストを計算する。また、ファイルサーバは、既存のファイルが保存されているクラウドストレージサービスと、保存コストが一番小さくなると見込まれるクラウドストレージサービスが異なる場合、ファイルのマイグレーションに伴うファイルの取り出し、書き込みに必要なコストを加算した、一定期間の保存コストを計算する。ファイルサーバは、上記情報を元に、保存先となるクラウドストレージサービスを決定する。
【００１７】
＜本実施形態が解決しようとする課題＞
クラウドストレージサービスは、サービスによりファイルの転送単価・容量単価が異なる。このため、複数のクラウドストレージサービスを利用する方法が用いられることがある。しかしながら、複数のクラウドストレージサービスを利用する手法は、容量固定の各ストレージ階層の効率的な利用法は実現されているが、可変容量であるストレージを用いた方法や転送コストを考慮した、低コストで利用できるクラウドストレージサービスの利用方法が実現されていない。
【００１８】
またクラウド自体の低コストで利用できる利用法の実現はされているが、クラウドストレージサービスに特化した方法は実現されていない。さらに、ファイルの移動コストを考慮したクラウドストレージサービスを低コストで利用できる利用方法も実現されていない。
【００１９】
＜本実施形態による解決手段＞
本実施形態では、複数のクラウドストレージサービスを比較し、最も低コストと予測されるクラウドストレージサービスを推測しファイルを保存することで、全体として最も低コストでファイルを保存することができるクラウドストレージサービスを決定する。
【００２０】
また本実施形態では、コストが最も低くなると予測されるクラウドストレージサービスの選択を、ファイルのアクセス頻度などの情報とクラウドストレージサービスごとのコスト表を参照し計算することで実現する。
【００２１】
また本実施形態では、ファイルへのアクセスがあった場合に加え、一定時間アクセスがなかったファイルに対しても、保存先のクラウドストレージサービスを再評価することで、ファイルが保存された当初の最適な保存先であるクラウドストレージサービスと、現在の状況において最適な保存先であるクラウドストレージサービスが異なった場合に、適切な保存先にマイグレーションを行うことができるようにする。
【００２２】
また本実施形態では、ファイルに対して、次にアクセスされる時間を予測し、マイグレーションコストを加えた一定時間の保存コストを計算することで、ファイル保管コストが最も低くなると予測される保存先である、クラウドストレージサービスを選択することができるようにする。
【００２３】
＜本実施形態の構成＞
図１は本発明の第１の実施形態の全体構成の一例を示す図であり、各クラウドストレージサービス１−２とファイルサーバ１−１とがネットワーク１−４を通じて接続され、またファイルサーバ１−１とクライアント１−３とが接続された情報処理システムを示す。ファイルサーバは、情報処理装置とも呼ぶ。各クラウドストレージサービスは、ファイルをストレージに保管するサービスを提供する情報処理装置である。
【００２４】
本実施形態では、各クラウドストレージサービス１−２とファイルサーバ１−１がネットワーク１−４で接続されており、またファイルサーバ１−１と各クライアント１−３が接続されている。なお、ファイルサーバ１−１は、本実施形態においては説明を容易にするため１つの物理的なファイルサーバ（物理計算機）とするが、物理的なファイルサーバとは限らず、仮想的なもの（仮想計算機）でもよい。またファイルサーバ１−１の機能を複数のサーバやクライアントに分散してもよく、ファイルごとに担当されるファイルサーバが一意に決定されるなら本発明は実現可能である。また本実施形態において、クライアント１−３はＰＣと仮定するが、ネットワークを通じてファイルを読み書きできるものであればクライアントの種類は問わない。例えばクライアントは、スマートフォン等でもよい。またクライアントの台数の増減は本発明の実施に影響しない。
【００２５】
図２はファイルサーバ１−１の機能構成の一例を表した図である。図２を参照すると、ファイルサーバ１−１は、クライアント１−３とのインターフェース２−１と、クラウドストレージサービスとのインターフェース２−２と、仮想的なファイルシステム２−３と、コスト計算部２−４と、各クラウドストレージサービスのコスト表２−５とを有している。仮想的なファイルシステム２−３は、メタ情報２−６を有している。
【００２６】
ファイルサーバ１−１は、以下の機能を持っているものとする。ファイルサーバ１−１は、各クライアント１−３からの通常のファイルアクセス要求を各クラウドストレージサービス１−２のものに変換する機能、各クラウドストレージサービス１−２へのアクセス結果をクライアント１−３が受け取ることができる形式に変換する機能を持つ。またファイルサーバ１−１は、メタ情報２−６などを保管する仮想的なファイルシステム２−３を有する。なお、ファイルサーバ１−１がキャッシュ機能など他の機能を保持していても本実施形態の実現に支障はないが、本実施形態の説明を容易にするため、ファイルサーバにほかの機能はないものとする。
【００２７】
ファイルサーバの仮想的なファイルシステム２−３は、ファイルのアクセス履歴など、ファイルのアクセス頻度（読み書き頻度）などを算出できる情報をメタ情報２−６として保管する。また、ファイルの実体の保存先の情報も保管している。ファイルの実体の保存先の情報は、例えば、ファイルのクラウドストレージ上の保存パスである。
【００２８】
ファイルサーバ１−１は、必要に応じてファイルのメタ情報２−６と各クラウドストレージサービスのコスト表２−５を用い、コスト計算を行う機能、即ちコスト計算部２−４を持つ。コスト計算部２−４は、メタ情報２−６に存在するファイルのアクセス頻度及び、各クラウドストレージサービスのコスト表２−５を用いて、コストを計算する。具体的なコスト計算方法は後述する。コストは、スコアとも呼ぶ。
【００２９】
＜本実施形態の動作＞
本実施形態に係るファイルサーバ１−１は、管理している各ファイルの読み込み・保存頻度を元に、ある一定期間の転送単価・容量単価（転送は送受信双方を考慮する）を計算し、最も予測される運用コストが低いクラウドストレージサービスを選択し自動で保存する方式である。
【００３０】
加えて、ファイルサーバ１−１は、ファイルのアクセス頻度を考慮し、必要に応じてファイルのマイグレーションを行う。ファイルサーバ１−１は、ファイルの保存先をマイグレーションした場合の予測コストが、既存のクラウドストレージサービスにデータを保管し続けた場合より小さい場合、保存先のクラウドストレージサービスの変更を行う。具体的には、ファイルサーバ１−１は、既存のクラウドストレージサービスのファイルを削除し、保存コストが最小と推測されるクラウドストレージファイルに当該ファイルを保存する。
【００３１】
これにより、全体として最も安価となるクラウドストレージサービスにファイルを保存することができ、運用コストが改善する。
【００３２】
まず、ファイルサーバ１−１でのアクセス頻度の保管方法について述べる。ファイルサーバ１−１の仮想的なファイルシステム２−３は、ファイルごと（ファイル識別情報ごと）にメタ情報２−６を持つ。このメタ情報２−６は、読み書きそれぞれのアクセス頻度を算出できる情報およびファイルの保管先の情報が格納されていれば、他にどのような情報が記録されていてもよい。また、メタ情報２−６は、ファイルを複数に分割した個々の分割領域（ファイルの部分領域）ごとに、読み書きそれぞれのアクセス頻度を算出できる情報および部分領域の保管先の情報が格納されていてもよい。
【００３３】
ファイルサーバ１−１の仮想的なファイルシステム２−３は、ファイルの読み出し、書き込みや保存先の変更ごとに、メタ情報２−６を更新する。即ち、仮想的なファイルシステム２−３は、メタ情報２−６に含まれるファイルのアクセス頻度を算出できる情報およびファイルの保管先を示す情報を更新する。
【００３４】
次に具体的な動作について記す。本実施形態におけるファイルサーバ１−１の具体的な動作はファイルの保存・読み出し・書き込みの状況によって異なる。
【００３５】
本実施形態を説明するために、以下の４つの場合の動作を記す。具体的には、ファイルの新規保存時、読み込み後の書き込み時、読み込みのみ時（読み込み後に書き込みが行われなかった時）、一定期間以上にわたってアクセスがないファイルの評価時である。なお、既存のファイルを読み込みせずに書き込みを行う場合は、ファイルの新規保存時または読み込み後の書き込み時の、どちらかの動作を準用してよい。また、ファイルの削除要求時はファイル保存先のクラウドストレージサービスからファイルを削除するとともに、メタ情報を変更または削除すればよい。
【００３６】
先ず、ファイルの新規保存時の動作について述べる。
【００３７】
ファイルサーバ１−１へ新規保存されるファイルがある場合、仮想的なファイルシステム２−３は、あらかじめ定めた方法で、クラウドストレージサービスを選択しファイルを保存する。これは新規保存されるファイルの場合、アクセス履歴が存在しないことから、アクセス頻度が予測できないためである。新規保存の場合のクラウドストレージサービス選択方法は、常に同一の保存先に保存する、容量やファイルの種類などで保存先を変える方式、ユーザからの指定された保存先に保存する、などが考えられるが、どの方式を用いても本発明の実施に影響はない
【００３８】
次に、ファイルの読み出しが行われた際の動作について解説する。
【００３９】
仮想的なファイルシステム２−３は、ファイルを図３の３−１〜３−５および図６の６−１〜６−５に示す手順で読み出す。
【００４０】
手順３−１（６−１）で示した通り、クライアントはファイルサーバ１−１にファイル読み込み要求を発行する。すると、仮想的なファイルシステム２−３は、手順３−２（６−２）でファイルサーバ上のメタ情報２−６を更新する（ファイルのアクセス頻度などを更新する）。次に、手順３−３・３−４（６−３・６−４）で仮想的なファイルシステム２−３は、保存されているクラウドストレージサービスよりファイルを読み込み、手順３−５（６−５）でクライアントにファイルを渡す。
【００４１】
その後、仮想的なファイルシステム２−３は、ファイルのアクセスが終了するまでにファイルに書き込みが行われたか、書き込みが行われなかったかを判定する。ファイルのアクセスが終了するまでに書き込みがあったか、書き込みがなかったかによって仮想的なファイルシステム２−３の動作が異なる。
【００４２】
読み出し後、図３の手順３−６のようにクライアントからファイルの書き込み要求があった場合、仮想的なファイルシステム２−３は、以下の動作を行う。
【００４３】
仮想的なファイルシステム２−３は、手順３−７において、メタ情報２−６に基づくファイルのアクセス頻度を元に、現時点で最も保存コストが低いと予測される保存先となるクラウドストレージサービスを選択する。仮想的なファイルシステム２−３は、コスト計算部２−４を使用して、保存先決定のための一定時間当たりの予測コスト（以下標準ファイル保管コストとする）を計算する。コスト計算部２−４は、一例として以下のようにして標準ファイル保管コストを計算する。すなわち、コスト計算部２−４は、メタ情報２−６に保管されたファイルごとの過去の一定期間あたりの書き込み回数・読み出し回数と、各クラウドストレージサービスのコスト表２−５に記載されたクラウドストレージサービスごとの、読み出し転送課金（読み込みコスト）・書き込み転送課金（書き込みコスト）および一定容量当たりの保管コストを用いて、標準ファイル保管コストを計算する。
【００４４】
図４は、各クラウドストレージサービスのコスト表２−５の一例を示す。この例のコスト表２−５は、クラウドストレージサービス毎のエントリを有し、各エントリに、書き込みコスト、読み込みコスト、保管コストが記載されている。
【００４５】
期間を一定にした場合、標準ファイル保管コストは、一例として以下の式で計算することができる。
標準ファイル保管コスト＝（ファイルの予測読み出し回数＊ファイルの読み出しコスト＋ファイルの予測書き込み回数＊ファイルの書き込みコスト＋一定時間当たりの保管コスト）・・・（１）
【００４６】
このように標準ファイル保管コストを計算することにより、予測コストが最も小さくなるファイルの保存先となるクラウドストレージサービスを選択することができる。
【００４７】
図５は標準ファイル保管コストの計算例を示す。なお、コスト計算対象ファイルについては、ファイルの一定期間あたりの読み出し回数は３回、書き込み回数は１回と予測されているものとする。またコスト表は図４に示したものを使用している。図５を参照すると、この例では、当該ファイルは、Ｂ社のクラウドストレージサービスに保存するときが予測コスト最小であることがわかる。
【００４８】
最後に仮想的なファイルシステム２−３は、決定した保存先に基づいて、手順３−８のように、予測コストが最小のクラウドストレージサービスに対してファイル保存を行う。このときに、仮想的なファイルシステム２−３は、保存先の情報を記憶するため、保存先の情報をメタ情報２−６に書き込む。その後、上記例のようにファイルの保存先が変更された場合、仮想的なファイルシステム２−３は、手順３−９のようにそれまで保存先となっていたクラウドストレージサービスから当該ファイルを消去する。
【００４９】
次に、読み出し後にファイルの書き込みが行われなかった場合について述べる。
【００５０】
読み出し後にファイルの書き込みが行われなかった場合、仮想的なファイルシステム２−３は、図６の手順６−６において、コスト計算・マイグレーション判断を行う。具体的には以下の方法を用い、ファイルのマイグレーションを行うか否か決定する。また、ファイルのマイグレーションを行う場合、マイグレーション後のファイルの保存先を決定する。
【００５１】
最初に、仮想的なファイルシステム２−３は、メタ情報２−６の書き込みアクセス履歴に基づいて、次の書き込みタイミングを予測する。次の書き込みタイミングの予測方法は複数存在するが、一例として、次式を用いて次の書き込みタイミングを計算することができる。ここで、式２における「時間」は例えば直近の一定時間としてよく、「書き込み回数」はその一定期間での書き込み回数としてよい。
次の書き込みタイミング＝（時間／書き込み回数）＋最終書き込み時刻    ・・・（２）
【００５２】
その後、仮想的なファイルシステム２−３は、コスト計算部２−４を使用して、次の書き込みタイミングまでのクラウドストレージサービスごとの予測コストを計算する。この際、現時点でファイルが保管されているクラウドストレージサービスは、標準ファイル保管コストをそのまま用い、そのほかのクラウドストレージサービスは現時点でファイルをマイグレーションした時のコストを加算した、予測コストを用いる。次の書き込みタイミングまでの予測コストを用いる理由は、書き込みが行われるタイミングが、最も低コストでマイグレーションを行えるタイミングであるためである。
【００５３】
コスト計算部２−４は、一例として次の書き込みタイミングまでの予測コストを、次式を用いて計算することができる。
次の書き込みタイミングまでの予測コスト＝標準ファイル保管コスト／時間＊（次の書き込みタイミング−評価現在の時間）＋マイグレーションコスト    ・・・（３）
マイグレーションコストは、保存先が従来と同一の場合は０、保存先が従来と異なる場合はコスト表２−５に記載される書き込みコスト（図４参照）とする。
【００５４】
図７は次の書き込みタイミングまでの予測コストの計算例を示す。コスト計算対象ファイルの条件は図５と同じである。この計算例では、Ｂ社のクラウドストレージサービスの合計コストが最小となっている。その結果、仮想的なファイルシステム２−３は、予測コストを最小にするために、Ａ社に保管されているファイルをＢ社に保管されるように移動させることを決定する。
【００５５】
最後に、仮想的なファイルシステム２−３は、次の書き込みタイミングまでの予測結果に基づき、ファイルのメタ情報２−６にある保存先の情報を書き換えたうえで、手順６−７のように新しい保存先にファイルを保存する。その後、仮想的なファイルシステム２−３は、手順６−８のように従来の保存先の情報を消去する。新しい保存先が従来と同一の場合は何も行わない。これにより、ファイル保存のための予測コストが最小となる、クラウドストレージサービスにファイルをマイグレーションできる。
【００５６】
なお、上記手段を実施する前に（例えば手順６−６の前に）、現時点で最適な保存先を、上記の読み書きが行われた場合と同様に計算してもよい。この時に現時点で最適な保存先が既存の保存先と同一であれば、その後のファイル移動の検討をしなくてもよい。またマイグレーションコストを考慮したファイルの予測コストの適切な計算方法が、他に存在するならば、それを利用しても構わない
【００５７】
次に、一定期間アクセスされないファイルの処理について述べる。
【００５８】
ファイルが一定期間アクセスされない場合、そのファイルの予測コストが最小となる保存先が保存当時と変化している可能性がある。たとえば容量単価が大きく転送単価が小さいクラウドストレージサービスに保存されているファイルは、一定期間アクセスされない場合、最適な保存先ではない保存先に保存されている可能性が高い。そのため、一定期間アクセスされないファイルに対しては、最適な保存先の再評価が必要である。仮想的なファイルシステム２−３は、ファイルのメタ情報２−６に存在するアクセス履歴を調査して、一定期間以上アクセスされないファイルを検出する。そして、仮想的なファイルシステム２−３は、検出したファイルに対して、ファイルのマイグレーションを行うか否かを評価し、かつファイルのマイグレーションを行う場合は、その保存先を決定する。以下、この点について説明する。
【００５９】
最初に、仮想的なファイルシステム２−３は、次の読み込みタイミングと書き込みタイミングを予測する。書き込みタイミングの予測方法の一例は、上記読み込みが行われた場合で示した通りである。読み込みタイミングも、一例として書き込みタイミングと同様の方式で予測することができる。即ち、仮想的なファイルシステム２−３は、次式により次の読み込みタイミングを予測することができる。ここで、式４における「時間」は例えば直近の一定時間としてよく、「読み込み回数」はその一定期間での読み込み回数としてよい。
次の読み込みタイミング＝（時間／読み込み回数）＋最終読み込み時刻    ・・・（４）
【００６０】
次に、仮想的なファイルシステム２−３は、コスト計算部２−４を使用して、ファイルが書き込みされるまでの予測コストを算出する。予測コストの計算の一例として、以下の手法を示す。
【００６１】
予測コストを導出するために、コスト計算部２−４は、以下の３つのコスト、即ち第１のコスト、第２のコスト、第３のコストを、それぞれ計算する。
【００６２】
第１のコストは、既存のファイルが保存されているクラウドストレージサービスに、次のファイルの予測書き込みタイミングまでファイルが保存されている場合の、予測コストである。第２のコストは、現時点で保存先をほかのクラウドストレージサービスに変更した場合の、予測コストである。第３のコストは、次の読み込みタイミングまで、既存のファイルが存在するクラウドストレージサービスにファイルを保存し続け、次の読み込みタイミングで別のクラウドストレージサービスにファイルを移動した場合の、予測コストである。詳しい計算方法は下に記す。
【００６３】
第１のコスト、即ち既存のファイルが保存されているクラウドストレージサービスに、次のファイルの予測書き込みタイミングまでファイルが保存されている場合の予測コストは、標準ファイル保管コストと同一であるため、同一の計算式を用いることができる。
【００６４】
第２のコスト、即ち現時点で保存先をほかのクラウドストレージサービスに、マイグレーションした場合の予測コストは、一例として以下の式で計算ができる。
予測コスト＝標準ファイル保管コスト／時間＊（次の書き込みタイミングまでの時間−評価現在の時間）＋マイグレーションコスト（既存の保存先からの読み出しコストと、新しい保存先への書き込みコスト）    ・・・（５）
【００６５】
第３のコスト、即ち次の読み込みタイミングまで、既存のファイルが存在するクラウドストレージサービスにファイルを保存し続け、次の読み込みタイミングで別のクラウドストレージサービスにファイルを移動した場合の予測コストは、一例として以下の式で計算できる。
予測コスト＝現在保存されているクラウドストレージサービスの保管コスト／時間＊（次の読み込みタイミングまでの時間−評価現在の時間）＋既存の保存先クラウドストレージサービスの読み込みコスト＋マイグレーションコスト（新しい保存先への書き込みコスト）＋新しい保存先の標準ファイル保管コスト／時間＊（次の書き込みタイミングまでの時間−次の読み込みタイミングまでの時間）    ・・・（６）
【００６６】
仮想的なファイルシステム２−３は、コスト計算部２−４が計算した第１乃至第３のコストの計算結果に基づいて、最も予測コストが小さい保存先を選択する。第１のコストおよび第３のコストの何れかが最も小さい場合、仮想的なファイルシステム２−３は、現時点ではファイルを移動しない。第２のコストが最も小さい場合、仮想的なファイルシステム２−３は、図８に示すように、手順８−２、８−３で既存の保存先よりファイルを読み出し、手順８−４で新しいクラウドストレージサービスに保存する。その後、仮想的なファイルシステム２−３は、手順８−５で元のクラウドストレージサービスからファイルを削除する。
【００６７】
図９に第１のコストの計算例を、図１０に第２のコストの計算例を、図１１に第３のコストの計算例を、それぞれ示す。コスト計算の対象となるファイルについては、次の読み込みタイミングは１日後、次の書き込みタイミングは７日後と予測され、７日間での読み出し回数は３回と予測されたものとしている。また当該ファイルは、現在Ａ社のクラウドストレージサービスに保管されている。図９乃至図１１を参照すると、図１１に示す第３のコスト、即ち、次の読み込みタイミングまで、既存のファイルが存在するクラウドストレージサービス（Ａ社）にファイルを保存し続け、次の読み込みタイミングで別のクラウドストレージサービス（Ｂ社）に、ファイルを移動した場合のコストが最小になるので、仮想的なファイルシステム２−３は、現時点では既存の保存先のクラウドストレージサービスからファイルを移動しないと決定する。
【００６８】
＜本実施形態の効果の説明＞
このように、本実施形態に係るファイルサーバ１−１は、各ファイルに対してファイルのアクセス状況や、アクセスされる種類を勘案しながら、予測コストが最小となる保存先を検討することで、より低コストにクラウドストレージサービスを利用することができる。
【００６９】
即ち、本実施形態は以下に記載する効果がある。
【００７０】
第一として、各クラウドストレージサービスのうち、最も低コストと予測されるクラウドストレージサービスへファイルを保存できることから、全体として、クラウドストレージサービス利用のコストが低減することである。
【００７１】
さらに、ファイルの読み出し、書き込み時に保存先を変更すると効率的に移動できることを考慮し、ファイルの各クラウドストレージサービス間のマイグレーションを行うことで、マイグレーションコストを含んだクラウドストレージサービスの利用コストを低減できる。
【００７２】
[第２の実施形態]
次に本発明の第２の実施形態について説明する。
【００７３】
本実施形態では、ファイルサーバ１−１は、１つのファイル内においてもヘッダ等利用頻度がブロックごとに異なる部分があることを考慮し、ファイル内のブロックごとなどに応じて保存するクラウドストレージサービスを変えることで、さらに低コストで効率的な利用を図る。即ち、本実施形態では、ファイル内の部分ごとにアクセス頻度が異なる場合（ヘッダと本体のアクセス頻度が異なるなど）、仮想的なファイルシステム２−３は、各ファイルを任意長で分割し、分割したファイルごとに第１の実施形態と同様の計算を行い、ファイル保存コストが最も低くなると予測される保存先を選択する。本実施形態では、仮想的なファイルシステム２−３は、ファイルを分割して、分割単位ごとに保存先を決定する。そのため、本実施形態では、メタ情報２−６は、ファイルを複数に分割した個々の分割領域（ファイルの部分領域）ごとに、読み書きそれぞれのアクセス頻度を算出できる情報および部分領域の保管先の情報が格納されている。
【００７４】
図１２は本実施形態の全体構成図である。図１２に示すように、ファイルサーバ１−１の仮想的なファイルシステム２−３は、ファイルを分割（分割は固定長でも可変長でもよい）し、上記の書き込み頻度の計算、コストの計算を分割単位ごとに行い、各分割単位に対して保存先を決定する。ファイルを必要に応じて複数のクラウドに分散することで、最もコストが低い構成を実現することができる。
【００７５】
これによりファイルの分割片ごとにコストが最小となる保存先にファイルを保存できるため、ファイルを分割しない場合に比べ、コスト効率が高い保存先を選択することができる。ファイルの分割方法はいくつか考えられるが、最も効果的な方法は、ファイル内でよくアクセスされる部分と、アクセスされない部分とに分割することである。しかしながら、固定長での分割など、他の手法での分割を行っても、本実施形態の実施に支障はない。
【００７６】
上記方式は、複数のファイルが保管された仮想的なボリュームや、バーチャルハードディスクファイル等を、一定の法則で分割したものでも実現可能である。この場合、仮想的なファイルシステムを分割したものに対して、上記と同一の方式で保存先を求める。
【００７７】
本実施形態は、ファイル内の部分ごとにアクセス頻度が異なる場合（ヘッダと本体のアクセス頻度が異なるなど）に有効である。そのため、本実施形態は、第１の実施形態と以下のように組み合わせるようにしてもよい。
【００７８】
例えば、仮想的なファイルシステム２−３は、ファイルについて保存先を決定する処理を開始する前に、当該ファイル内の部分ごとにアクセス頻度が異なるか否かを調べ、異ならない場合、第１の実施形態と同様にして保存先を決定するようにし、異なる場合、本実施形態における保存先の決定処理を実施するようにしてもよい。
【００７９】
また例えば、仮想的なファイルシステム２−３は、本実施形態で説明した方法でファイルの部分領域毎かつ複数のクラウドストレージサービス毎に料金情報とアクセス履歴とに基づいてコストを計算すると共に、第１の実施形態で説明した方法でファイルの全体毎かつ複数のクラウドストレージサービス毎に料金情報とアクセス履歴とに基づいてコストを計算する。そして、仮想的なファイルシステム２−３は、ファイルの部分領域毎かつ複数のクラウドストレージサービス毎のコスト、および、ファイルの全体毎かつ複数のクラウドストレージサービス毎のコストに基づいて、ファイルを部分領域毎に分割して保存するか否かを決定するようにしてもよい。即ち、仮想的なファイルシステム２−３は、最小コストがファイルを部分領域毎に分割して保存するものであれば、ファイルを部分領域に分割して保存するように決定し、一方、最小コストがファイル全体を同じクラウドストレージサービスに保存するものであれば、第１の実施形態と同様にファイルを分割せずに保存するように決定する。
【００８０】
[第３の実施形態]
次に本発明の第３の実施形態について説明する。
【００８１】
上述した実施形態ではファイルサーバ１−１は１台として説明したが、本実施形態では、ファイルサーバを複数持つ場合やファイルサーバ機能を分散する場合について説明する。
【００８２】
図１３に示すように、本発明は、ファイルサーバ１−１を複数台にし、ネットワーク１３−１を通じて接続された各クライアント１−３に対してファイルサーバ機能を割り付けて分散処理を行っても構わない。実現方式としては複数考えられる。以下に２通りを例示する。
【００８３】
第１の方式は、各ファイルサーバ１−１が配下とするファイルをあらかじめ定め、各クライアント１−３がファイルごとにアクセスするファイルサーバ１−１を変更する方式である。
【００８４】
第１の方式では、各ファイルサーバ１−１に配下とするファイルを定める。配下とするファイルはファイル名のハッシュ、もしくはファイル格納先データベースなど、あらかじめ定められた方法で各ファイルと各ファイルサーバ１−１を紐づける。ファイルへのアクセス時は、クライアントが上記の方法でファイルを配下としているファイルサーバ１−１を同定し、アクセスする。それ以外の処理は上記第１および第２の実施形態と同一である。
【００８５】
第２の方式は、各ファイルサーバ１−１が配下とするファイルをあらかじめ定めるが、クライアント１−３は任意のファイルサーバ１−１にアクセスすることができる方式である。
【００８６】
第２の方式では、第１の方式と同様に、各ファイルサーバ１−１がどのファイルを保持しているかを定める。但し、図１４に示すように、各ファイルサーバ１−１は、手順１４−１のようにクライアント１−３からのファイルアクセス要求を受け取った際、手順１４−２のようにその要求先のファイルを管理しているファイルサーバ１−１を上記の方法等、あらかじめ定めた方式で計算し、ファイルのアクセス要求を転送する。ファイルを管理しているファイルサーバ１−１がファイルのアクセス要求を受け取ったサーバなら、そのまま処理する。
【００８７】
転送されたファイルのアクセス要求を受け取ったファイルサーバ１−１は、手順１４−３・１４−４のように上記第１および第２の実施形態と同様にファイル要求を処理したのちに、手順１４−５のようにファイルのアクセス結果を転送元のファイルサーバ１−１に返す。ファイルのアクセス要求を最初に受け取ったファイルサーバ１−１は、手順１４−６のようにクライアントにアクセス結果を返す。
【００８８】
[第４の実施形態]
本実施形態では、本発明の概要を説明する。
【００８９】
図１５は、本実施形態に係る情報処理装置の構成例を示すブロック図である。図１５を参照すると、情報処理装置１５−１は、記憶部１５−４と演算部１５−５とを含んで構成され、１以上のクライアント１５−３と複数のクラウドストレージサービス１５−２とに接続されている。
【００９０】
記憶部１５−４は、料金情報１５−６とアクセス履歴１５−７とを記憶するように構成されている。記憶部１５−４は、情報処理装置のローカルな記憶部であってもよいし、ネットワークを通じて接続された記憶部であってもよい。
【００９１】
料金情報１５−６は、クラウドストレージサービス１５−２を利用するための料金に関する情報である。料金情報１５−６は、ファイルをクラウドストレージサービスから読み出す場合の料金とクラウドストレージサービスに書き込む場合の料金とに関する情報が含まれていてよい。
【００９２】
アクセス履歴１５−７は、クラウドストレージサービス１５−２に保存されているファイルのアクセス履歴である。アクセス履歴１５−７は、ファイルの読み出し履歴と書き込み履歴とが含まれていてよい。またアクセス履歴１５−７は、ファイルの部分領域毎のアクセス履歴が含まれていてよい。またファイルの部分領域毎のアクセス履歴は、読み出し履歴と書き込み履歴とが含まれていてよい。
【００９３】
演算部１５−５は、複数のクラウドストレージサービス１５−２毎に、料金情報１５−６とアクセス履歴１５−７とに基づいてスコアを計算するように構成されている。料金情報１５−６がファイルをクラウドストレージサービス１５−２から読み出す場合の料金とクラウドストレージサービス１５−２に書き込む場合の料金とに関する情報を含み、アクセス履歴１５−７がファイルの読み出し履歴と書き込み履歴とを含む場合、演算部１５−５は、読み出す場合の料金、書き込む場合の料金、読み出し履歴、および書き込み履歴に基づいて、スコアを計算するように構成されていてよい。また、アクセス履歴１５−７がファイルの部分領域毎のアクセス履歴を含む場合、演算部１５−５は、ファイルの部分領域毎かつ複数のクラウドストレージサービス１５−２毎に、スコアを計算するように構成されていてよい。
【００９４】
また演算部１５−５は、複数のクラウドストレージサービス１５−２毎のスコアに基づいて、ファイルの保存先であるクラウドストレージサービス１５−２を決定するように構成されている。演算部１５−５は、ファイル単位でスコアを計算する場合、ファイル単位でファイルの保存先であるクラウドストレージサービス１５−２を決定する。また演算部１５−５は、ファイルの部分領域毎かつ複数のクラウドストレージサービス毎にスコアを計算する場合、ファイルの部分領域毎の保存先であるクラウドストレージサービス１５−２を決定するように構成されていてよい。
【００９５】
また演算部１５−５は、ファイルが現在保存されているクラウドストレージサービス１５−２以外のクラウドストレージサービス１５−２についてスコアを計算する場合、ファイルのマイグレーションを考慮してスコアを計算するように構成されていてよい。
【００９６】
また演算部１５−５は、クライアント１５−３からの要求に従って、クラウドストレージサービスに保存されたファイルをアクセスする場合、そのアクセスに応じてアクセス履歴１５−７を更新するように構成されていてよい。
【００９７】
演算部１５−５は、物理的な１または複数の演算処理部によって実現してよい。或いは演算部１５−５は、仮想的な１または複数の演算処理部によって実現してよい。仮想的な演算処理部として、仮想計算機の演算処理部を使用してよい。
【００９８】
このように構成された本実施形態に係る情報処理装置１５−１は、以下のように動作する。即ち、情報処理装置１５−１は、クライアント１５−３からのファイルに対する読み出し要求時や書き込み要求時などの所定のタイミングで、クラウドストレージサービス１５−２に保存されているファイルについて、複数のクラウドストレージサービス毎に、料金情報１５−６とアクセス履歴１５−７とに基づいてスコアを計算し、複数のクラウドストレージサービス１５−２毎のスコアに基づいて、ファイルの保存先であるクラウドストレージサービス１５−２を決定する。
【００９９】
このように本実施形態に係る情報処理装置１５−１は、クラウドストレージサービス１５−２に保存されているファイルの保存先の見直しをユーザに負担をかけずに実施できる。その理由は、情報処理装置１５−１は、複数のクラウドストレージサービス１５−２毎に、料金情報１５−６とアクセス履歴１５−７とに基づいてスコアを計算し、複数のクラウドストレージサービス毎のスコアに基づいて、ファイルの保存先であるクラウドストレージサービス１５−２を決定するためである。
【０１００】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【０１０１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備え、
前記演算部は、前記ファイルについて、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定するように構成されている
情報処理装置。
［付記２］
前記演算部は、前記ファイルに対するクライアントからのアクセス要求を検出したときに前記決定を行うように構成されている
付記１に記載の情報処理装置。
［付記３］
前記演算部は、前記ファイルに対するクライアントからのアクセス要求を一定時間にわたって検出しなかったときに前記決定を行うように構成されている
付記１または２に記載の情報処理装置。
［付記４］
前記ファイルの部分領域毎に前記アクセス履歴を有する
付記１乃至３の何れかに記載の情報処理装置。
［付記５］
前記演算部は、前記ファイルの部分領域毎かつ前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記ファイルの部分領域毎かつ複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの部分領域毎の保存先である前記クラウドストレージサービスを決定するように構成されている
付記４に記載の情報処理装置。
［付記６］
前記演算部は、前記ファイルの部分領域毎かつ前記複数のクラウドストレージサービス毎、および、前記ファイルの全体毎かつ前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記ファイルの部分領域毎かつ複数のクラウドストレージサービス毎の前記スコア、および、前記ファイルの全体毎かつ前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルを前記部分領域毎に分割して保存するか否かを決定するように構成されている
付記５に記載の情報処理装置。
［付記７］
前記演算部は、前記ファイルが現在保存されている前記クラウドストレージサービス以外の前記クラウドストレージサービスについては、前記ファイルのマイグレーションを考慮して前記スコアを計算するように構成されている
付記１乃至６の何れかに記載の情報処理装置。
［付記８］
前記アクセス履歴は、前記ファイルの読み出し履歴と書き込み履歴とを有する
付記１乃至７の何れかに記載の情報処理装置。
［付記９］
前記演算部は、前記読み出し履歴、および前記書き込み履歴に基づいて、前記スコアを計算するように構成されている
付記８に記載の情報処理装置。
［付記１０］
前記料金情報は、前記ファイルを前記クラウドストレージサービスから読み出す場合の読み出し料金と前記クラウドストレージサービスに書き込む場合の書き込み料金と前記ファイルを前記クラウドストレージサービスに保管しておくための保管料金とに関する情報を有する
付記１乃至９の何れかに記載の情報処理装置。
［付記１１］
前記演算部は、前記読み出し料金、前記書き込み料金、前記保管料金に基づいて、前記スコアを計算するように構成されている
付記１０に記載の情報処理装置。
［付記１２］
前記演算部は、前記ファイルに対するクライアントからのアクセス要求に応じて前記アクセス履歴を更新するように構成されている
付記１乃至１１の何れかに記載の情報処理装置。
［付記１３］
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置が実行するファイル保存先決定方法であって、
前記演算部が、前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算し、前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する
ファイル保存先決定方法。
［付記１４］
複数のクラウドストレージサービスのそれぞれについて前記クラウドストレージサービスを利用するための料金情報と前記クラウドストレージサービスに保存されているファイルのアクセス履歴とを記憶する記憶部と、前記記憶部に接続された演算部とを備えた情報処理装置に、
前記複数のクラウドストレージサービス毎に、前記料金情報と前記アクセス履歴とに基づいてスコアを計算する処理と、
前記複数のクラウドストレージサービス毎の前記スコアに基づいて、前記ファイルの保存先である前記クラウドストレージサービスを決定する処理と
を行わせるためのプログラム。
【符号の説明】
【０１０２】
１−１…ファイルサーバ
１−２…クラウドストレージサービス
１−３…クライアント
１−４…ネットワーク
２−１…クライアントインターフェース
２−２…クラウドストレージサービスインターフェース
２−３…仮想的なファイルシステム
２−４…コスト計算部
２−５…各ストレージサービスのコスト表
２−６…メタ情報
１３−１…ネットワーク
１５−１…情報処理装置
１５−２…クラウドストレージサービス
１５−３…クライアント
１５−４…記憶部
１５−５…演算部
１５−６…料金情報
１５−７…アクセス履歴
【図１】
2019164705.tif 000003
【図２】
2019164705.tif 000004
【図３】
2019164705.tif 000005
【図４】
2019164705.tif 000006
【図５】
2019164705.tif 000007
【図６】
2019164705.tif 000008
【図７】
2019164705.tif 000009
【図８】
2019164705.tif 000010
【図９】
2019164705.tif 000011
【図１０】
2019164705.tif 000012
【図１１】
2019164705.tif 000013
【図１２】
2019164705.tif 000014
【図１３】
2019164705.tif 000015
【図１４】
2019164705.tif 000016
【図１５】
2019164705.tif 000017