(57)【要約】【課題】  クラウドストレージを提供するクライアント、仲介サーバ及び方法を提供する。【解決手段】  クラウドインフラの資源を効率的に提供するためのシステムが開示される。本発明の一実施形態によるシステムは、ユーザが保有した端末でローカルストレージ及び多様な異種のストレージを区分して認知せずとも、さまざまな要求によって動的にストレージを拡張して利用するエラスティックストレージプロビジョン技法を提供する。クライアントは、アプリケーションからファイルアクセス要求が受信されれば、ファイルアクセス要求をローカルストレージに対するローカルファイルアクセス要求として処理するか、インターネットを通じて接続されたクラウドストレージに対するクラウドファイルアクセス要求として処理するかを決定する。仲介サーバは、クラウドファイルアクセス要求を受信して、クライアントがクラウドサーバを利用するように支援する。【選択図】      図１
2011003187.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのアプリケーションを実行するアプリケーション実行部と、
前記アプリケーションからファイルアクセス要求が受信されると、前記ファイルアクセス要求をクライアントのローカルストレージに対するローカルファイルアクセス要求として処理するか、インターネットを通じて接続されたクラウドストレージに対するクラウドファイルアクセス要求として処理するかを決定するクライアントストレージマネージャーと、
を含むことを特徴とするクライアント。
【請求項２】
前記クラウドストレージに格納された前記クライアントのファイルリストを保存するキャッシュ、
をさらに含むことを特徴とする請求項１に記載のクライアント。
【請求項３】
前記クラウドストレージに格納されたファイルリストは、
少なくとも一つのクライアントストレージを仲介する仲介サーバから受信されて更新される、
ことを特徴とする請求項２に記載のクライアント。
【請求項４】
前記クライアントストレージマネージャーは、
前記クラウドストレージに格納されたファイルリスト及び前記ローカルストレージに格納されたファイルリストを統合し、前記統合されたファイルリストを前記アプリケーション実行部に提供する、
ことを特徴とする請求項２に記載のクライアント。
【請求項５】
前記ファイルアクセス要求が、ファイル読み取り要求である場合、前記クライアントストレージマネージャーは、前記クラウドストレージに存在するファイルリストを用いて、前記ファイル読み取り要求が、前記ローカルストレージに対するファイル読み取り要求であるか、前記クラウドストレージに対するファイル読み取り要求であるかを判断する、
ことを特徴とする請求項２に記載のクライアント。
【請求項６】
前記ファイルアクセス要求が、前記クラウドファイルアクセス要求として処理されるべきであると決定される場合、複数のクラウドストレージのうちから前記クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定し、前記クラウドファイルアクセス要求を処理するのに適したクラウドストレージと前記クライアントストレージマネージャーとの間の仲介を行う仲介部、
を含むことを特徴とする請求項１に記載のクライアント。
【請求項７】
前記クライアントストレージマネージャーは、
あらかじめ設定されたポリシー、ローカルストレージの現在の状態、デバイス環境、コンテンツの種類及び特性、コンピューティングデバイスとの近接性及びファイルサイズのうち少なくとも一つを用いて、前記ファイルアクセス要求をローカルファイルアクセス要求として処理するか、クラウドファイルアクセス要求として処理するかを決定する、
ことを特徴とする請求項１に記載のクライアント。
【請求項８】
クライアントがクラウドストレージを利用するのを支援する仲介サーバであって、
前記クライアントからクラウドストレージにアクセスするためのクラウドファイルアクセス要求を受信するサブストレージマネージャーと、
複数のクラウドストレージのうちから前記クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定するストレージブローカーと、
を含み、
前記仲介サーバは、前記決定された少なくとも一つのクラウドストレージと前記クライアントとの間の仲介を行う、
ことを特徴とする仲介サーバ。
【請求項９】
前記仲介サーバは、
前記クラウドストレージのファイル情報を含むメタデータを管理するメタデータマネージャーと、
前記クライアントから受信されたファイルアクセス要求を前記クラウドストレージのファイル操作に変換し、ファイル操作の実行結果を前記クライアントで利用可能なデータ形式に変換するインターフェースアダプタと、
を含み、
前記サーバストレージマネージャーは、ファイルアクセス要求の処理結果を前記クライアントに転送する、
ことを特徴とする請求項８に記載の仲介サーバ。
【請求項１０】
前記メタデータは、
前記クライアントまたは前記クライアントのユーザ別に管理され、前記クラウドストレージを利用するクライアントのキャッシュに転送される、
ことを特徴とする請求項９に記載の仲介サーバ。
【請求項１１】
前記メタデータマネージャーは、
前記クライアントから前記クラウドストレージにファイル書き込みが行われる場合、前記ファイルの書き込みと関連したファイル情報をメタデータとして保存して管理する、
ことを特徴とする請求項９に記載の仲介サーバ。
【請求項１２】
前記ストレージブローカーは、
前記クラウドストレージを監視し、該監視の結果、ファイルアクセス要求に含まれる少なくとも１つのデータ属性及び前記メタデータを用いて、前記クライアントのクラウドストレージの使用コスト及び性能が最適な前記クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定する、
ことを特徴とする請求項９に記載の仲介サーバ。
【請求項１３】
前記インターフェースアダプタは、
ファイル操作を一対一にマッピングすることにより、及び該マッピングの結果に従ってファイル操作パラメータを変更することにより、クライアントからのファイルアクセス要求を、アクセスされるクラウドストレージへのファイル処理要求に変換するインターフェース調整を行い、
前記インターフェース調整が不可能である場合、前記アクセスされるクラウドストレージの基本ＡＰＩを用いて、前記クライアントのファイル処理要求に対する仮想ファイル操作機能を構成することによって、前記クライアントのファイルアクセス要求を前記アクセスされるクラウドストレージのファイル処理要求に変換する、
ことを特徴とする請求項９に記載の仲介サーバ。
【請求項１４】
前記仲介サーバは、クライアントまたはクラウドサーバに含まれるように構成される、
ことを特徴とする請求項８に記載の仲介サーバ。
【請求項１５】
クライアントからクラウドストレージに対するクラウドファイルアクセス要求を受信する段階と、
複数のクラウドストレージのうちから前記クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定する段階と、
前記クラウドファイルアクセス要求に適したクラウドストレージと前記クライアントとの間の仲介を行う段階と、
を含むことを特徴とするクラウドストレージの提供方法。
【請求項１６】
前記クライアントのアプリケーションからファイルアクセス要求が受信されれば、ファイルアクセス要求をローカルストレージに対するローカルファイルアクセス要求として処理するか、遠隔のクラウドストレージに対するクラウドファイルアクセス要求として処理するかを決定する段階と、
前記ファイルアクセス要求が、前記クラウドファイルアクセス要求として処理されるものと決定される場合、前記クラウドファイルアクセス要求を前記クライアント及び前記クラウドストレージの間でクラウドストレージの提供を仲介する仲介サーバに転送する段階と、
をさらに含むことを特徴とする請求項１５に記載のクラウドストレージの提供方法。
【請求項１７】
前記ファイルアクセス要求が、ファイル読み取り要求である場合、前記クライアントのキャッシュに保存された前記クラウドストレージに格納されたファイルのリストを用いて、前記ファイル読み取り要求が、前記ローカルストレージに対するファイル読み取り要求であるか、前記クラウドストレージに対するファイル読み取り要求であるかを判断する、
ことを特徴とする請求項１６に記載のクラウドストレージの提供方法。
【請求項１８】
前記ファイルアクセス要求をローカルファイルアクセス要求として処理するか、遠隔のクラウドファイルアクセス要求として処理するかを決定する段階は、あらかじめ設定されたポリシー、ローカルストレージの現在の状態、デバイス環境、コンテンツの種類及び特性、コンピューティングデバイスとの近接性及びファイルサイズのうち少なくとも一つを用いて決定する段階を有する、
ことを特徴とする請求項１６に記載のクラウドストレージの提供方法。
【請求項１９】
前記複数のクラウドストレージのうちから前記クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定する段階は、前記クライアントのクラウドストレージの使用コスト及び性能が最適な少なくとも一つのクラウドストレージを決定する段階を有する、
ことを特徴とする請求項１５に記載のクラウドストレージの提供方法。
【請求項２０】
前記クライアントは、
前記クラウドストレージに格納されたファイルのリスト及び前記ローカルストレージに格納されたファイルのリストを統合する段階と、
前記統合されたファイルのリストを前記ファイルアクセス要求を生成したアプリケーションに提供する段階と、
をさらに含むことを特徴とする請求項１５に記載のクラウドストレージの提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングシステムに係り、より詳細には、クラウドインフラの資源を効率的に提供するためのシステムに関する。
【背景技術】
【０００２】
クラウドコンピューティングは、インターネット基盤のコンピューティング技術を意味する。コンピュータネットワーク構成で、インターネットは、隠された複雑なインフラ構造を意味する雲（クラウド）により表現される。クラウドコンピューティングは、ＩＴと関連した機能がネットワークを介して送信されるサービスの形式で提供されるコンピューティングスタイルである。クラウドコンピューティングでは、ユーザは、クラウドコンピューティングにより支援される技術インフラストラクチャーについての専門知識がないか、または制御方法が分からなくても、インターネットからサービスを容易に利用することができる。すなわち、ユーザは、クラウドコンピューティングを用いてインターネットを通じていつでもどこでも所望のコンピューティング資源を提供されうる。通常、コンピューティング資源は、データセンターのような資源提供者によって管理され、例えばＣＰＵ能力、メモリ若しくはストレージのようなハードウェア資源、又は開発プラットホーム、応用プログラムなどを有してよい。コンピューティング能力を端末で利用するために資源提供者が提供するサービスを、クラウドコンピューティングサービスと言う。
【０００３】
一般的なシステムでは、クライアントが遠隔ストレージにアクセスするためには、特定遠隔ストレージを明示したアクセス要求を生成しなければならず、当該遠隔ストレージを利用するために、遠隔ストレージごとに専用のブラウジングアプリケーションをインストールしなければならない。すなわち、クライアントは、静的に取り付けられた特定のストレージにしかアクセスできない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、ユーザ端末でローカルストレージと異種のクラウドストレージとを区分して認知せずとも、さまざまな要求事項によって動的にストレージを拡張して利用するエラスティックストレージの提供技法を提供することである。
【課題を解決するための手段】
【０００５】
本発明の一態様によると、クライアントは、アプリケーション実行部と、クライアントストレージマネージャーと、を含む。アプリケーション実行部は、少なくとも一つのアプリケーションを実行する。クライアントストレージマネージャーは、アプリケーションからファイルアクセス要求が受信されれば、ファイルアクセス要求をクライアントのローカルストレージに対するローカルファイルアクセス要求として処理するか、インターネットを通じて接続されたクラウドストレージに対するクラウドファイルアクセス要求として処理するかを決定する。
【０００６】
クライアントは、クラウドストレージに格納されたファイルのリストを保存するキャッシュをさらに有してよい。クラウドストレージに格納されたファイルのリストは、クライアントと少なくとも一つのクラウドストレージとの間を仲介する仲介サーバから受信され、仲介サーバから受信された情報に従って更新されうる。クライアントストレージマネージャーは、クラウドストレージに格納されたファイルのリスト及びローカルストレージに格納されたファイルのリストを統合し、該統合されたファイルのリストをアプリケーション実行部に提供することができる。
【０００７】
ファイルアクセス要求が、ファイル読み取り要求である場合、クライアントストレージマネージャーは、クラウドストレージに格納されたファイルのリストを用いて、該ファイル読み取り要求を、ローカルストレージに対するファイル読み取り要求として処理するか、クラウドストレージに対するファイル読み取り要求として処理するかを判断することができる。
【０００８】
クライアントはブローカーを更に有してよい。該ブローカーは、クラウドストレージマネージャーが、ファイルアクセス要求をクラウドストレージへのアクセスのためのクラウドファイルアクセス要求として処理すると決定した場合、ネットワークを通じて接続された複数のクラウドストレージのうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定し、該クラウドストレージとクライアントストレージマネージャーとの間の仲介を支援する。
【０００９】
クライアントストレージマネージャーは、あらかじめ設定されたポリシー、ローカルストレージの現在の状態、デバイスの環境、コンテンツの種類及び特性、コンピューティングデバイスとの近接性及びファイルサイズ並びにこれらの任意の組み合わせのうち少なくとも一つを用いて、ファイルアクセス要求をローカルファイルアクセス要求として処理するか、クラウドファイルアクセス要求として処理するかを決定することができる。
【００１０】
本発明の他の態様によると、クライアントがクラウドストレージに接続するのを支援する仲介サーバが提供される。仲介サーバは、クライアントからクラウドストレージにアクセスするためのクラウドファイルアクセス要求を受信するサブストレージマネージャーと、ネットワークを通じて接続された複数のクラウドストレージのうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを選択するストレージブローカーと、を含む。仲介サーバは、選択された少なくとも一つのクラウドストレージとクライアントとの間の仲介を支援する。
【００１１】
仲介サーバは、クラウドストレージに格納されたファイルに関するを含むメタデータを管理するメタデータマネージャーと、クライアントから受信されたファイルアクセス要求をクラウドストレージのファイル操作に変換し、ファイル操作の実行結果をクライアントが解釈可能なデータ形式に変換するインターフェースアダプタと、を有してよい。サーバストレージマネージャーは、ファイルアクセス要求の処理結果をクライアントに転送することができる。
【００１２】
メタデータは、個々のクライアントまたは個々のクライアントのユーザに応じて管理され、クラウドストレージを利用するクライアントのキャッシュに転送されてよい。メタデータマネージャーは、クライアントからクラウドストレージへのファイル書き込みに応答して、書き込み動作に関する情報を保存及び管理することができる。
【００１３】
ストレージブローカーは、クラウドストレージを監視し、ファイルアクセス要求に含まれる少なくとも一つのデータ属性及びメタデータに関して、クライアントのクラウドストレージの使用コスト及び性能に従って、クラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを選択することができる。
【００１４】
インターフェースアダプタは、ファイル操作の一対一のマッピングと該マッピングの結果に従ってファイル操作パラメータを変更することにより、クライアントからのクラウドファイルアクセス要求を、クラウドストレージへのファイル処理要求に変換する。ここで障害が生じた場合、インターフェースアダプタは、クラウドストレージにインストールされた基本ＡＰＩ（アプリケーション・プログラミング・インターフェース）を用いてクライアントのファイル処理要求に対する仮想ファイル操作機能を構成することによって、クライアントのファイルアクセス要求をアクセスされるクラウドストレージのファイル処理要求に変換する。
【００１５】
仲介サーバは、クライアントまたはクラウドサーバに含まれてもよい。
【００１６】
本発明のさらに他の態様によると、クラウドストレージの提供方法が提供される。当該方法は、クライアントからクラウドストレージに対するクラウドファイルアクセス要求を受信する段階と、複数のクラウドストレージのうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを選択する段階と、選択されたクラウドストレージとクライアントとの間の仲介を支援する段階と、を含む。
【００１７】
クラウドストレージの提供方法は、クライアントのアプリケーションからファイルアクセス要求が受信されれば、ファイルアクセス要求をローカルストレージへのアクセスのためのローカルファイルアクセス要求として処理するか、クラウドストレージへのアクセスのためのクラウドファイルアクセス要求として処理するかを決定する段階と、ファイルアクセス要求が、クラウドファイルアクセス要求として処理されると決定された場合、クライアント及びクラウドストレージの間でクラウドストレージの提供を仲介する仲介サーバにクラウドファイルアクセス要求を転送する段階と、をさらに有してよい。
【００１８】
クラウドストレージの提供方法は、ファイルアクセス要求が、ファイル読み取り要求である場合、クラウドストレージに存在するファイルのリストを用いて、ファイル読み取り要求をローカルストレージに対するファイル読み取り要求として処理するか、クラウドストレージに対するファイル読み取り要求として処理するかを決定する段階をさらに有してよい。クラウドストレージに格納されたファイルのリストは、クライアントのキャッシュに保存される。
【００１９】
ファイルアクセス要求をローカルファイルアクセス要求として処理するか、クラウドファイルアクセス要求として処理するかを決定する段階は、あらかじめ設定されたポリシー、ローカルストレージの現在の状態、デバイスの環境、コンテンツの種類及び特性、コンピューティングデバイスとの近接性及びファイルサイズ並びにこれらの任意の組み合わせのうち少なくとも一つを用いて決定する段階をさらに有してよい。
【００２０】
複数のクラウドストレージのうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定する段階は、クライアントのクラウドストレージの使用コスト及び性能に関して、複数のクラウドストレージの中から最適化された少なくとも一つのクラウドストレージを選択する段階を有してよい。
【００２１】
クラウドストレージの提供方法は、クライアントにおいて、クラウドストレージに格納されたファイルのリスト及びローカルストレージに格納されたファイルのリストを統合する段階と、ファイルアクセス要求を生成したアプリケーションに統合されたファイルのリストを提供する段階と、をさらに有してよい。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態によるクラウドストレージの提供のためのシステム構成を示す図である。
【図２】本発明の一実施形態によるクラウドストレージの提供のためのクライアント及び仲介サーバの構成を示す図である。
【図３】本発明の一実施形態によるクラウドストレージを提供する方法を示す図である。
【図４】クライアントからのファイルアクセス要求がファイル読み取り要求である場合のシステム動作の一例を示す図である。
【図５】クライアントからのファイルアクセス要求がファイル書き込み要求である場合のシステム動作の一例を示す図である。
【図６】クライアントからのファイルアクセス要求がファイルリスト要求である場合のシステム動作の一例を示す図である。
【図７】キャッシュに保存されたクラウドストレージのファイルのリストが有効ではない場合のクラウドストレージのファイルのリストを更新する動作の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、添付した図面を参照して、本発明の一実施形態を詳しく説明する。本発明を説明するに当たって、関連した公知機能または構成についての具体的な説明が、本発明の要旨を不明にする恐れがあると判断される場合には、その詳細な説明を省略する。また、後述する用語は、本発明での機能を考慮して定義された用語であって、これは、ユーザ、運用者の意図または慣例などによって変わりうる。したがって、その定義は、本明細書全般に亘った内容に基づいて定められなければならない。
【００２４】
図１は、本発明の一実施形態によるクラウドストレージの提供のためのシステム構成を示す図である。
【００２５】
本発明の一実施形態によるクラウドストレージの提供のためのシステムは、クライアント１１０、仲介サーバ１２０及びクラウドインフラ１３０がインターネット１０で連結された構造を有する。クライアント１１０は、携帯電話、デジタルテレビ、セットトップボックス、デジタル音楽プレーヤー、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｅｄｉａ  Ｐｌａｙｅｒ、携帯型メディアプレーヤー）、ノート型パソコンなど各種電子装置であってよい。
【００２６】
クライアント１１０は、クラウドコンピューティングサービスを提供されるためにインターネット１０を通じて仲介サーバ１２０に接続する。仲介サーバ１２０は、多種のクラウドコンピューティングサービスを管理し、クライアント１１０の要求によって適切なクラウドコンピューティングサービスを選択する。仲介サーバ１２０は、クラウドコンピューティングサービスをクライアント１１０に接続し、インターネット１０を通じて適切なクラウドインフラ１３０にアクセスして、クライアント１１０にストレージを提供する。仲介サーバ１２０は、クライアント１１０及びクラウドインフラ１３０との両者とインターネット１０を介して接続して、クライアント１１０がクラウドインフラ１３０を利用できるように支援する。
【００２７】
クライアント１１０がファイルアクセス要求を発行すると、仲介サーバ１２０は、該ファイルアクセス要求に応答して、クラウドインフラ１３０のうちからクライアント１１０のファイルアクセス要求に適した少なくとも一つのクラウドストレージを選択する。仲介サーバ１２０は選択されたクラウドストレージとクライアントとの間の仲介の支援も行う。仲介サーバ１２０は、図１に示されたように、インターネットを介してクライアント１１０及びクラウドインフラ１３０の両者に接続されるコンピューティングデバイスとして設けられてもよいが、仲介サーバ１２０の機能のうち一部または全部はクライアント１１０またはクラウドインフラ１３０の一部の構成要素と統合されうる。
【００２８】
図１に示されたように、クラウドインフラ１３０は、クラウドストレージ１３２、１３４及びクラウドコンピューティングデバイス１３６を含む。クラウドインフラ１３０に含まれるクラウドストレージ１３２、１３４及びクラウドコンピューティングデバイス１３６の種類及び個数は図１に示された例に限定されない。クラウドインフラ１３０は種々の数のクラウドストレージ及びクラウドコンピューティングデバイスを有してもよい。
【００２９】
クラウドストレージ１３２、１３４のそれぞれは、インターネットを通じたデータ送受信のためのウェブサービス方式のネットワークインターフェース及びデータ記録媒体を有してよい。クラウドストレージ１３２、１３４は、異種のストレージであり得る。例えば、クラウドストレージ１３２、１３４は、相異なるクラウドストレージ提供業者から提供され、それぞれ相異なるファイルシステムによってアクセス可能にデータが保存される構成であり得る。
【００３０】
図２は、本発明の一実施形態によるクラウドストレージ１３２、１３４の提供のためのクライアント１１０及び仲介サーバ１２０の構成を示す図である。
【００３１】
クライアント１１０は、ユーザがクラウドコンピューティングサービスを受けるための端末であって、主に処理能力の低いＣＥ向けモバイルデバイスが該当する。クライアント１１０は、アプリケーション実行部１１１、クライアントストレージマネージャー１１２、キャッシュ１１３、ファイルシステムスタブ１１４、ローカルファイルシステム１１５、及びローカルストレージ１１６を有してよい。
【００３２】
クライアント１１０のアプリケーション実行部１１１は、アプリケーションを実行するために所望のファイルにアクセスしようと試みる。アプリケーション実行部１１１により実行されるアプリケーションは、特定のファイルへのアクセスを要求する。特定のファイルは、プログラムが要求する応用プログラムであってもよい。また、本明細書でファイルアクセス要求は、アプリケーションのファイルと関連したあらゆる操作実行要求を意味し、ストレージに保存されたファイルの読み取りを要求するファイル読み取り要求、ストレージへのファイル書き込みを要求するファイル書き込み要求及びストレージに保存されたファイルのファイル情報に関するファイルリストを受信するためのファイルリスト要求などになりうる。ファイルアクセス要求は、当該ファイルに関する各種パラメータ及びコマンドを有してよい。
【００３３】
クライアントストレージマネージャー１１２は、クライアント１１０のユーザにストレージの柔軟性（ｅｌａｓｔｉｃｉｔｙ）を提供するので、エラスティックストレージマネージャークライアントとも表される。
【００３４】
キャッシュ１１３は、クラウドストレージ１３２、１３４に保存されたファイルのリストを管理し、ファイル読み取り要求又はファイルリスト要求を受信した場合、当該ファイルがクラウドストレージ１３２、１３４に存在するかを迅速に判断するために利用される。キャッシュ１１３に保存されたクラウドストレージ１３２、１３４のファイルのリストは、クラウドストレージ１３２、１３４に変化（例えば、ファイルの生成、削除、属性変更など）が発生した場合、仲介サーバ１２０から受信して最新のファイルリストが維持されるように更新されうる。
【００３５】
ファイルシステムスタブ１１４は、実際にストレージへのアクセスを試みているファイルシステムの種類に無関係に、アプリケーション実行部１１１により実行されるアプリケーションのために標準化されたファイルシステムインターフェースを提供する。ファイルシステムスタブ１１４により使用されるファイルシステムの一例は、例えば、Ｌｉｎｕｘの仮想ファイルシステムであり得る。
【００３６】
ローカルファイルシステム１１５は、ローカルストレージ１１６を制御するためのファイルシステムである。ローカルストレージ１１６は、クライアント１１０に直接取り付けられる内臓ストレージ及び外付けストレージを含む。
【００３７】
一般的に、或るシステムでアプリケーションがファイルアクセス要求を発行する場合、アプリケーションは、ファイルアクセス要求で、特定のストレージにアクセスするための情報を提供し、ファイルシステムスタブ１１４に直接アクセスする。しかしながら、本例では、クライアント１１０のアプリケーションがファイルアクセス要求を発行すると、該ファイルアクセス要求はクライアントストレージマネージャー１１２に転送される。すなわち、クライアントストレージマネージャー１１２は、アプリケーションのファイルアクセス要求がファイルシステムスタブ１１４に転送される前に横取りして処理する。
【００３８】
アプリケーションからファイルアクセス要求が受信されれば、クライアントストレージマネージャー１１２は、ファイルアクセス要求をローカルストレージ１１６へのアクセスを伴うローカルファイルアクセス要求として処理するか、クラウドインフラ１３０に含まれたクラウドストレージ１３２、１３４へのアクセスを伴うクラウドファイルアクセス要求として処理するかを判断する。クライアントストレージマネージャー１１２は、あらかじめ設定されたポリシー、ローカルストレージの現在の状態、デバイスの環境、コンテンツの種類及び特性、コンピューティングデバイスとの近接性及びファイルサイズ等のうち少なくとも一つを用いてファイルアクセス要求をローカルストレージ１１６に対するローカルファイルアクセス要求として処理するか、クラウドストレージ１３２、１３４に対するクラウドファイルアクセス要求として処理するかを決定することができる。
【００３９】
例えば、クライアントストレージマネージャー１１２は、ファイルアクセス要求がファイル書き込み要求である場合、ローカルストレージ１１６の余裕空間が十分な場合には、ファイルアクセスがローカルストレージ１１６へのアクセスを提供し、そうではない場合、ファイル書き込み要求を処理のためにクラウドストレージ１３２、１３４へ直接送信してよい。また、ファイル書き込み要求に従って書き込まれるべきファイルが動画データやマルチメディアデータのような大容量データである場合には、クライアントストレージマネージャー１１２は、ファイル書き込み要求をクラウドストレージ１３２、１３４へ直接送信することができる。また、コンピューティングモジュールとの近接性を考慮して、アプリケーションがクライアント１１０で実行される場合は、ファイルアクセス要求を、ローカルストレージ１１６へのアクセス要求として処理してよい。アプリケーションがクラウドインフラ１３０に含まれたクラウドコンピューティングデバイス１３６（図１）で実行される場合、クライアントストレージマネージャー１１２は、ファイルアクセス要求を、クラウドコンピューティングデバイス１３６に近接したクラウドストレージ、例えばクラウドストレージ１３４（図１）へのアクセス要求として処理してもよい。
【００４０】
また、アプリケーションがファイルを読み取り要求を発行すれば、クライアントストレージマネージャー１１２は、ファイル読み取り動作を感知して当該命令を横取りする。その後、クライアントストレージマネージャー１１２は、当該ファイルがローカルストレージ１１６に格納されているのか遠隔のクラウドストレージに格納されているのかを、キャッシュ１１３に保存されたファイルリストに基づき判断する。
【００４１】
当該ファイルのアクセスがローカルストレージ１１６に格納されていると決定された場合、クライアントストレージマネージャー１１２は、ファイルシステムスタブ１１４を通じてローカルファイルシステム１１５にアクセスする。ローカルファイルシステム１１５は、ローカルストレージ１１６にアクセスし、要求されたファイルの処理を行う。ローカルファイルアクセス要求は、ファイルシステムスタブ１１４、ローカルファイルシステム１１５及びローカルストレージ１１６に転送され、要求されたローカルファイルアクセスはクライアント１１０で処理される。処理結果はローカルファイルシステム１１５、ファイルシステムスタブ１１４、クライアントストレージマネージャー１１２を通じてアプリケーション実行部１１１のアプリケーションに転送される。
【００４２】
ファイルがクラウドストレージ１３２、１３４に格納されていると決定された場合、クライアントストレージマネージャー１１２は、クラウドストレージ１３２、１３４へのアクセスを提供する仲介サーバ１２０にファイルアクセス要求の処理を要求する。クライアントストレージマネージャー１１２は、インターネット１０を通じて仲介サーバ１２０に転送するためにファイルアクセス要求をパケット化し、インターネット１０を通じて受信されたパケットのパケット化を解除する。
【００４３】
ファイルアクセス要求がファイルリスト要求である場合、クライアントストレージマネージャー１１２は、クラウドストレージ１３２、１３４に格納されたクライアント１００所有のファイルのリストをキャッシュ１１３から取得し、ローカルストレージ１１６に格納されたファイルリストをローカルファイルシステム１１５から取得する。クライアントストレージマネージャー１１２は、クラウドストレージ１３２、１３４に格納されたファイルのリスト及びローカルストレージ１１６に格納されたファイルのリストを統合し、該統合されたファイルリストをアプリケーションに提供することができる。
【００４４】
一方、図２では、クライアントストレージマネージャー１１２はファイルシステムスタブ１１４の上段に位置しているが、クライアントストレージマネージャー１１２は、ファイルシステムスタブ１１４とローカルファイルシステム１１５との間に位置されることもある。クライアントストレージマネージャー１１２の位置は、クライアント１１０のオペレーティングシステム（ＯＳ）の構造に従って適切に配置されうる。クライアントストレージマネージャー１１２は、実際の位置によってクライアント１１０内部の他の構成要素とのデータ送受信のためのインターフェースを支援するように構成される。
【００４５】
次いで、仲介サーバ１２０の構成及び動作について説明する。
【００４６】
仲介サーバ１２０は、サーバストレージマネージャー１２１、メタデータマネージャー１２２、インターフェースアダプタ１２３及びストレージブローカー１２４を含む。サーバストレージマネージャー１２１、メタデータマネージャー１２２、インターフェースアダプタ１２３及びストレージブローカー１２４は、相互間でデータ送受信が可能になるように構成することができる。
【００４７】
サーバストレージマネージャー１２１は、クラウドファイルアクセス要求を受信すれば、クラウドストレージ１３２、１３４のうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージを決定する。以下、クライアント１１０のクラウドファイルアクセス要求に適したクラウドストレージがクラウドストレージ＃２（１３４）と決定されるものと仮定して説明する。
【００４８】
メタデータマネージャー１２２は、クラウドストレージ１３２、１３４に格納されたファイルについてのメタデータ情報を管理する。メタデータ情報は、ファイル所有者情報（例えば、サービス加入情報など）、クライアントデバイス情報、セキュリティキー情報、ファイルＩＤ、ファイル名、ファイル属性（例えば、ファイルの大きさや種類）、ファイルが保存されたクラウドストレージの位置、各クラウドストレージ情報（現在状態情報またはＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）情報）、ユーザグループや一般人との共有のための権限設定情報、使容量情報などを有してよい。
【００４９】
メタデータマネージャー１２２は、ファイルを所有したクライアント別またはクライアントユーザ別にファイルリストを管理することができる。メタデータマネージャー１２２は、定期的に又はクライアントストレージマネージャー１１２の要求に応答して、サーバストレージマネージャー１２１を通じてクライアントストレージマネージャー１１２にファイルリストを提供してよい。このようにして、キャッシュ１１３は最新のファイルリストを維持する。また、サーバストレージマネージャー１２１は、特定のファイルの所有者ではないクライアントから該特定のファイルへのアクセスのためのアクセス要求を受信すると、メタデータマネージャー１２２により管理されるファイル情報の権限設定情報に基づき、該クライアントが該ファイルへのアクセス権限を有するクライアントであると決定された場合に、該要求されたファイルを該クライアントに提供するように構成することができる。
【００５０】
一方、本発明の一実施形態によれば、特定のストレージへの動的アクセスを可能にするために、ストレージブローカー１２４はクライアント１１０からのクラウドファイルアクセス要求を処理するのに適した、クライアント１１０にとってコスト及び性能面で優れた適切なクラウドストレージを選択することができる。また、ストレージブローカー１２４は、クラウドストレージの状態を監視し続ける。ストレージブローカー１２４は、監視の結果、システム状態、ファイルアクセス要求で要求されるデータ特性及び当該ファイルのメタデータ、システムの設定情報などを用いて、クライアント１１０のクラウドストレージの使用コスト及び性能に関して最適なクラウドストレージを選択する。
【００５１】
適切なクラウドストレージ（例えば１３４）が決定されると、インターフェースアダプタ１２３は、クライアント１１０がクラウドストレージ１３４にアクセスできるように、クライアント１１０のクライアントストレージマネージャー１１２から転送されたファイルアクセス要求のファイル操作をクラウドストレージ１３４のインターフェースに適したファイル操作に調整する。この際、インターフェースアダプタ１２３は、クライアント１１０により送信されたファイルアクセス要求のファイル操作をクラウドストレージ１３４へ送信されるべきファイル処理要求のファイル操作に一対一でマッピングすることにより、及び該マッピングの結果に従ってファイル操作パラメータを変更することにより、インターフェース調整を行うことができる。しかし、ファイル操作の一対一マッピングとファイル操作パラメータの変更に失敗した場合、インターフェースアダプタ１２３は、ファイルアクセス要求を処理するためにクラウドストレージ１３４にインストールされた基本ＡＰＩを用いて、ファイル処理要求に対する仮想ファイル操作機能を構成して、ファイルアクセス要求を処理することができる。また、ファイルアクセス要求の処理結果も、クライアント１１０に適するようにインターフェースアダプタ１２３を通じてクライアント１１０で理解できる命令またはデータ形式に変換し、該変換された結果がサーバストレージマネージャー１２１を通じてクライアントストレージマネージャー１１２に転送される。
【００５２】
転送されたファイルアクセス要求の処理結果は、クライアント１１０でアプリケーションを通じてユーザに転送される。また、通常の静的なネットワークストレージの場合と異なり、転送された処理結果は、ローカルストレージ１１６とクラウドストレージ１３２、１３４との区分なしにオーバーレイされてクライアント端末の所定の位置にマッピングされる。処理結果は、ローカルストレージ１１６又はクラウドストレージ１３２若しくは１３４向けかを識別することなく、ブラウジングのために維持されてよい。
【００５３】
前述したように、仲介サーバ１２０は、インターネット１０を介してクライアント１１０に接続し、クライアント１１０からのファイルアクセス要求を処理することができる。しかし、仲介サーバ１２０の機能の一部または全部は、クライアント１１０の一部の構成要素、例えば、仲介部と統合されてクライアント１１０に含まれるか、クラウドインフラ１３０のクラウドストレージ１３２、１３４またはクラウドコンピューティングデバイス１３６に含まれうる。
【００５４】
図３は、本発明の一実施形態によるクラウドストレージを提供する方法を示す図である。
【００５５】
図１〜図３を参照する。クライアント１１０のアプリケーションからファイルアクセス要求があれば（３１０）、クライアント１１０は、ファイルアクセス要求をローカルファイルアクセス要求として処理するか、クラウドファイルアクセス要求として処理するかを決定する（３２０）。
【００５６】
ファイルアクセス要求が、クラウドファイルアクセス要求として処理されるものと決定される場合（３３０）、クライアント１１０は、クラウドファイルアクセス要求をクライアント１１０及びクラウドストレージ１３２、１３４の間でクラウドストレージの提供を仲介する仲介サーバ１２０に転送する（３４０）。
【００５７】
仲介サーバ１２０は、クラウドインフラ１３０に含まれた複数のクラウドストレージ１３２、１３４のうちからクラウドファイルアクセス要求を処理するのに適した少なくとも一つのクラウドストレージ（例えば図１のクラウドストレージ１３４）を選択する（３５０）。その後、仲介サーバ１２０は、選択された少なくとも一つのクラウドストレージ１３４とクライアント１１０との間を仲介する（３６０）。
【００５８】
一方、ファイルアクセス要求がローカルファイルアクセス要求である場合（つまり、クラウドファイルアクセス要求ではない場合）（３３０）、クライアント１１０は、ローカルファイルアクセス要求を処理する（３７０）。
【００５９】
図４は、クライアントのファイルアクセス要求がファイル読み取り要求である場合のシステム動作の一例を示す図である。
【００６０】
クライアント１１０のアプリケーションがファイル読み取り要求を発行した場合（４１０）、クライアントストレージマネージャー１１２は、対応するファイル位置を検索する（４１２）。クライアントストレージマネージャー１１２は、キャッシュ１１３に保存されたクラウドストレージのファイルリストを用いて、要求されたファイルがローカルストレージ１１６に位置するか、クラウドストレージ（例えば図１のクラウドストレージ１３２又は１３４）に位置するかを判断することができる。キャッシュ１１３に保存されたファイルリストを利用する時には、クライアントストレージマネージャー１１２は、クラウドストレージのファイルリストが有効であるか否かを決定し、有効ではない場合、仲介サーバ１２０から最新のファイルリストを受信してファイルリストを更新できる。ファイルリスト更新処理は、図７を参照して説明する。
【００６１】
ファイルがクラウドストレージに位置するものと決定されれば（４１４）、サーバストレージマネージャー１２１は、クライアントストレージマネージャー１１２からクラウドストレージのファイル読み取り要求を受信する（４１６）。クラウドストレージのファイル読み取り要求は、メタデータマネージャー１２２に転送され、メタデータマネージャー１２２は、ファイル読み取り要求のメタデータを検索してファイルが位置するクラウドストレージ、ファイル保存位置などを確認する（４１８）。ストレージブローカー１２４は、当該ファイルがあるクラウドストレージへのアクセスが可能であるかを確認する（４２０）。ストレージブローカー１２４は、該ファイルを格納しているクライアントストレージへのアクセスが許可されているか否かを決定する（４２０）。
【００６２】
該ファイルがあるクラウドストレージにアクセスが許可されている場合、インターフェースアダプタ１２３は、当該クラウドストレージからのファイル読み取り動作を処理するためにインターフェース調整を行う（４２２）。インターフェース調整は、クライアントから受け入れたファイル読み取り要求をクラウドストレージが理解しうる形式に変換する過程を含む。クラウドストレージからファイル読み取りが行われ（４２４）。インターフェースアダプタ１２３は、クラウドストレージからファイルを受信し、クライアントが理解しうる形態に変換する（４２６）。該変換された形式のファイルは、サーバストレージマネージャー１２１に転送され、サーバストレージマネージャー１１２は、クライアント１１０のクライアントストレージマネージャー１１２に要求されたファイルを返し、該返されたファイルは、ファイル読み出し要求を発行したアプリケーションに転送される（４２８）。
【００６３】
一方、ファイルがローカルストレージ１１６に位置するものと決定されれば（４１４）、クライアントストレージマネージャー１１２は、ローカルシステムスタブ１１４を通じてローカルファイルシステム１１５に該ファイル要求を転送する（４３０）。ローカルファイルシステム１１５は、ローカルストレージ１１６から要求したファイルを読み取る（４３２）。ローカルファイルシステム１１５が行ったファイル読み取り処理の結果、獲得されたファイルはアプリケーションに返される（４３４）。
【００６４】
図５は、クライアントのファイルアクセス要求がファイル書き込み要求である場合のシステム動作の一例を示す図である。
【００６５】
アプリケーションがファイル書き込み要求を発行すれば（５１２）、クライアントストレージマネージャー１１２は、ファイル書き込み動作を感知して該命令を横取りし、ファイルをローカルストレージに保存するか、遠隔のクラウドストレージに保存するかを判断する（５１４）。クライアントストレージマネージャー１１２は、ファイルの保存位置をクライアントストレージマネージャー１１２が有するポリシーまたはユーザが定義したポリシーによって判断することができる。
【００６６】
クライアントストレージマネージャー１１２がファイルをクラウドストレージに保存すると判断した場合（５１６）、ファイル書き込み要求を仲介サーバ１２０のサーバストレージマネージャー１２１に転送する（５１８）。次に、ストレージブローカー１２４は、サーバストレージマネージャー１２１のポリシーまたはユーザが要求したポリシーによってクライアント１１０のユーザにとってコスト及び性能面でファイル保存に最適であるクラウドストレージを検索する（５２０）。
【００６７】
ファイルを保存するのに適したクラウドストレージが見付かった場合、メタデータマネージャー１２２は、該ファイルについてのファイル情報、例えば、ファイルが保存されるクラウドストレージ上の位置、ファイル属性についての情報などをメタデータとして記録する（５２２）。
【００６８】
インターフェースアダプタ１２３は、検索されたクラウドストレージへのファイル書き込み要求に対するファイル操作のためにインターフェース調整を行い（５２４）、書き込み要求されたファイルを当該クラウドストレージに保存する（５２６）。また、インターフェースアダプタ１２３は、ファイル書き込み結果に対してインターフェース調整を行い（５２８）、クライアント１１０が理解しうる形式に書き込み結果を変換する。変換結果は、サーバストレージマネージャー１２１を通じてクライアントストレージマネージャー１１２に返される（５３０）。
【００６９】
ファイルがクラウドストレージではなくローカルストレージ１１６に格納されるべきであると決定された場合（５１６）、クライアントストレージマネージャー１１２は、ローカルシステムスタブ１１４を通じてローカルファイルシステム１１５にファイル書き込み要求を転送する（５３２）。ローカルファイルシステム１１５は、ローカルストレージ１１６にファイル書き込みを処理し（５３４）、ファイル書き込み処理結果は、アプリケーションに返される（５３６）。
【００７０】
図６は、クライアントのファイルアクセス要求がファイルリスト要求である場合のシステム動作の一例を示す図である。
【００７１】
図２及び図６を参照する。アプリケーションは、ディレクトリーまたはパーティションのような論理的な構造のファイルリストにアクセスするために、ファイルリスト要求を発行する（６１０）。クライアントストレージマネージャー１１２は、ファイルリスト要求を検出してローカルストレージ１１６に格納されたファイルのリスト及びクラウドストレージに格納されたファイルのリストを探索する（６１２）。詳細には、ローカルストレージファイルリスト要求がローカルファイルシステム１１５に転送され、ローカルファイルシステム１１５は、ローカルストレージ１１６を探索し、自身に格納されているファイルのリストを生成し、生成されたファイルリストはクライアントストレージマネージャー１１２に転送される。クライアントストレージマネージャー１１２は、クラウドストレージに格納されたファイルのリスト（つまり、クラウドストレージファイルリスト）をキャッシュ１１３から取得する。この場合、クライアントストレージマネージャー１１２は、キャッシュ１１３に保存されたクラウドストレージファイルリストが有効であるかを判断し、有効ではないと決定される場合、仲介サーバ１２０から最新の更新されたファイルリストを受信する。
【００７２】
クライアントストレージマネージャー１１２は、ローカルストレージファイルリスト及びクラウドストレージファイルリストを統合し（６１４）、アプリケーションに統合されたファイルリストを転送することができる（６１６）。ユーザは、利用中のアプリケーションを通じて自身のローカルストレージに保存されたファイルのリスト及びクラウドストレージに保存されたファイルのリスト両者を受信する。したがって、ユーザは、所望のファイルがローカルストレージに保存されているか、クラウドストレージに保存されているかを考慮せずに、クライアント１１０により実行されるアプリケーションのＵＩによる所望のファイルに容易にアクセスして利用できる。
【００７３】
図７は、キャッシュ１１３に保存されたクラウドストレージファイルリストが有効ではない場合のクラウドストレージファイルリストの更新動作の一例を示す図である。
【００７４】
キャッシュ１１３に保存されたクラウドストレージファイルリストが有効でないと決定された場合、例えばクラウドストレージファイルリストが所定の有効期間内に更新されていない場合（７１２）、クライアントストレージマネージャー１１２は、サーバストレージマネージャー１２１に自身のクラウドストレージファイルリスト要求を転送して、サーバストレージマネージャー１２１は、クラウドストレージファイルリスト要求を受信する（７１４）。
【００７５】
これにより、メタデータマネージャー１２２は、クライアント別に使うクラウドストレージに格納されたファイル情報を管理しているので、ファイルリスト要求が受信されれば、クラウドストレージへアクセスすることなく、管理しているクライアント１１０が利用するクラウドストレージファイルリストを探索して抽出する（７１６）。メタデータマネージャー１２２は、抽出されたファイルリストをサーバストレージマネージャー１２１に転送する（７１８）。
【００７６】
サーバストレージマネージャー１２１は、ファイルリストをクライアントストレージマネージャー１１２に返す（７２０）。クライアントストレージマネージャー１１２は、キャッシュ１１３に返されたクライアント１１０のクラウドファイルリストを格納し、クラウドファイルリストを更新する（７２２）。
【００７７】
本発明の一態様は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現可能である。前記プログラムを具現するコード及びコードセグメントは、当該分野のコンピュータプログラマーによって容易に推論されうる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光ディスクなどがある。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散型コンピュータで読み取り可能なコードに保存されて実行可能である。
【００７８】
本発明の一実施形態によれば、インターネットコネクションが可能なＣＥ端末は、ローカルストレージに係る制限をネットワークインフラとクラウドストレージ資源とを用いて克服し、装置のユーザの立場では、既存と同一のＵＩを通じて容易にクラウドストレージを利用することができる。
【００７９】
また、クラウドストレージは、ＣＥ端末のローカルストレージより他の装置からの容易にアクセスされ、機器間またはユーザ間のコンテンツの共有などにも利用され、ローカルストレージよりさらに安全性が高いために、コンテンツをより安全に保管することができる。
【００８０】
また、専用クラウドストレージを使わずに仲介サーバのストレージブローカレージ機能を利用することによって、コンテンツ別にユーザが所望する価格や性能のような要求条件を充足させることができる。
【００８１】
以上、本発明の一実施形態に過ぎず、当業者ならば、本発明の本質的特性から逸脱しない範囲で変形された形態として具現することができる。したがって、本発明の範囲は、前述した実施形態に限定されず、特許請求の範囲に記載の内容と同等な範囲内にある多様な実施形態が含まれると解釈されなければならない。
【産業上の利用可能性】
【００８２】
本発明は、クラウドストレージを提供するクライアント、仲介サーバ及び関連する方法の技術分野に適用可能である。
【図１】
2011003187.tif 000003
【図２】
2011003187.tif 000004
【図３】
2011003187.tif 000005
【図４】
2011003187.tif 000006
【図５】
2011003187.tif 000007
【図６】
2011003187.tif 000008
【図７】
2011003187.tif 000009