(57)【要約】  クラウドコンピューティングのためのシステム、方法、およびコンピュータプログラムは、クラウドリンクモジュールまたはプログラムを有し、通信ネットワークに接続されたクラウドサーバと、デバイスリンクモジュールまたはプログラムを有し、前記通信ネットワークを介して前記クラウドサーバに接続されたクライアントデバイスと、カードリンクモジュールまたはプログラムを有し、前記クライアントデバイスに接続されたメモリカードとを備えており、前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムが、コンテンツ配信時における前記クラウドサーバと前記クライアントデバイスとの間の通信帯域幅の使用が最小となるように、前記クラウドサーバ、クライアントデバイス、およびメモリカード間のコンテンツの処理を配分するように構成されている。【選択図】図１
2013511775.tif 000002
【特許請求の範囲】
【請求項１】
クラウドコンピューティングのためのシステムであって、
クラウドリンクモジュールまたはプログラムを有し、通信ネットワークに接続されたクラウドサーバと、
デバイスリンクモジュールまたはプログラムを有し、前記通信ネットワークを介して前記クラウドサーバに接続されたクライアントデバイスと、
カードリンクモジュールまたはプログラムを有し、前記クライアントデバイスに接続されたメモリカードとを備え、
前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムが、コンテンツ配信時における前記クラウドサーバと前記クライアントデバイスとの間の通信帯域幅の使用が最小となるように、前記クラウドサーバ、クライアントデバイス、およびメモリカード間のコンテンツの処理を配分するように構成されている、システム。
【請求項２】
前記クラウドサーバが、多数であるか、または、クラウドサーバ群または仮想化コンピュータ群を有する、請求項１に記載のシステム。
【請求項３】
前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムによる前記配分に基づいて、前記クラウドサーバが、前記コンテンツを高圧縮にトランスコーディングするように構成され、前記メモリカードが、前記クライアントデバイスに利用可能となるように前記高圧縮されたコンテンツを低圧縮にトランスコーディングするように構成され、前記クライアントデバイスが、前記トランスコードされたコンテンツを解凍するように構成されている、請求項１に記載のシステム。
【請求項４】
前記コンテンツが、ビデオおよびオーディオファイルの少なくとも一つを有する、請求項１に記載のシステム。
【請求項５】
前記メモリカードが、標準的なメモリインタフェースを有する、請求項１に記載のシステム。
【請求項６】
前記メモリカードが、前記カードリンクモジュールまたはプログラムを実行するマイクロコントローラ、マイクロプロセッサ、アプリケーションプロセッサ、およびプログラマブルプロセッサの少なくとも一つを有する、請求項１に記載のシステム。
【請求項７】
クラウドコンピューティングのための方法であって、
通信ネットワークに接続されたクラウドサーバにおいてクラウドリンクモジュールまたはプログラムを提供し、
前記通信ネットワークを介して前記クラウドサーバに接続されたクライアントデバイスにおいてデバイスリンクモジュールまたはプログラムを提供し、
前記クライアントデバイスに接続されたメモリカードにおいてカードリンクモジュールまたはプログラムを提供し、
コンテンツ配信時における前記クラウドサーバと前記クライアントデバイスとの間の通信帯域幅の使用が最小となるように、前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムを介して前記クラウドサーバ、クライアントデバイス、およびメモリカード間のコンテンツの処理を配分する、方法。
【請求項８】
前記クラウドサーバが、多数であるか、または、クラウドサーバ群または仮想化コンピュータ群を有する、請求項７に記載の方法。
【請求項９】
前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムによる前記配分に基づいて、前記クラウドサーバが、前記コンテンツを高圧縮にトランスコーディングし、前記メモリカードが、前記クライアントデバイスに利用可能となるように前記高圧縮されたコンテンツを低圧縮にトランスコーディングし、前記クライアントデバイスが、前記トランスコードされたコンテンツを解凍する、請求項７に記載の方法。
【請求項１０】
前記コンテンツが、ビデオおよびオーディオファイルの少なくとも一つを有する、請求項７に記載の方法。
【請求項１１】
前記メモリカードが、標準的なメモリインタフェースを有する、請求項７に記載の方法。
【請求項１２】
前記メモリカードが、前記カードリンクモジュールまたはプログラムを実行するマイクロコントローラ、マイクロプロセッサ、アプリケーションプロセッサ、およびプログラマブルプロセッサの少なくとも一つを有する、請求項７に記載の方法。
【請求項１３】
一または複数のコンピュータ読み取り可能命令がコンピュータ読み取り可能媒体に記録された、クラウドコンピューティングのためのコンピュータプログラムであって、
通信ネットワークに接続されたクラウドサーバにおいてクラウドリンクモジュールまたはプログラムを提供し、
前記通信ネットワークを介して前記クラウドサーバに接続されたクライアントデバイスにおいてデバイスリンクモジュールまたはプログラムを提供し、
前記クライアントデバイスに接続されたメモリカードにおいてカードリンクモジュールまたはプログラムを提供し、
コンテンツ配信時における前記クラウドサーバと前記クライアントデバイスとの間の通信帯域幅の使用が最小となるように、前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムを介して前記クラウドサーバ、クライアントデバイス、およびメモリカード間のコンテンツの処理を配分するように、一または複数のコンピュータプロセッサを機能させる、コンピュータプログラム。
【請求項１４】
前記クラウドサーバが、多数であるか、または、クラウドサーバ群または仮想化コンピュータ群を有する、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムによる前記配分に基づいて、前記クラウドサーバが、前記コンテンツを高圧縮にトランスコーディングし、前記メモリカードが、前記クライアントデバイスに利用可能となるように前記高圧縮されたコンテンツを低圧縮にトランスコーディングし、前記クライアントデバイスが、前記トランスコードされたコンテンツを解凍する、請求項１３に記載のコンピュータプログラム。
【請求項１６】
前記コンテンツが、ビデオおよびオーディオファイルの少なくとも一つを有する、請求項１３に記載のコンピュータプログラム。
【請求項１７】
前記メモリカードが、標準的なメモリインタフェースを有する、請求項１３に記載のコンピュータプログラム。
【請求項１８】
前記メモリカードが、前記カードリンクモジュールまたはプログラムを実行するマイクロコントローラ、マイクロプロセッサ、アプリケーションプロセッサ、およびプログラマブルプロセッサの少なくとも一つを有する、請求項１３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連文献の参照
本発明の特許請求の範囲は２００９年９月１８日出願の"CLOUD SERVICES CARD SIDELOADING CLIENT DEVICES"と題するアミール・マサウド・ザルケシュの米国仮特許出願第６１／２６２，５２０号明細書の利益を享受し、その全内容がここに参考文献として援用される。
【０００２】
本発明は、概してクラウドコンピューティングまたは仮想化サーバに係るシステムおよび方法に関し、特に、メモリカードなどを有するクライアントデバイス用のクラウドコンピューティングサービスに係るシステムおよび方法に関する。
【背景技術】
【０００３】
近年、クラウドコンピューティングシステムおよび方法は、インターネットなどのデータ通信ネットワークを介してサービスとして割り当てることができ、動的に拡張可能でしばしば仮想化されるコンピューティングリソースのプロビジョニングに用いられつつある。そのようなクラウドコンピューティングシステムおよび方法は、ＳａａＳ（Software as a Service）、ＰａａＳ（Platform as a Service）、ＩａａＳ（Infrastructure as a Service）といったクラウドコンピューティングの傘下のソフトウェアで構成することができる。
【０００４】
しかし、そのようなクラウドコンピューティングシステムおよび方法であっても、そのようなクラウドコンピューティングシステムおよび方法に頑健性および効率をもたらすために、メモリカードを有するクライアントデバイスで利用可能なクラウドコンピューティングサービスがなおも必要である。
【発明の概要】
【０００５】
したがって、クラウドコンピューティングシステムおよび方法に係る上記および他の問題を解決するための方法およびシステムが必要である。本発明の具体例は、上記および他の要求に応えるものであり、メモリカードを有するクライアントデバイス用のクラウドコンピューティングサービスなどに係る新しいシステムおよび方法を提供する。
【０００６】
すなわち、一つの例示的な局面に従うと、クラウドコンピューティングのためのシステム、方法、およびコンピュータプログラムは、クラウドリンクモジュールまたはプログラムを有し、通信ネットワークに接続されたクラウドサーバと、デバイスリンクモジュールまたはプログラムを有し、前記通信ネットワークを介して前記クラウドサーバに接続されたクライアントデバイスと、カードリンクモジュールまたはプログラムを有し、前記クライアントデバイスに接続されたメモリカードとを備えており、前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムが、コンテンツ配信時における前記クラウドサーバと前記クライアントデバイスとの間の通信帯域幅の使用が最小となるように、前記クラウドサーバ、クライアントデバイス、およびメモリカード間のコンテンツの処理を配分するように構成されている。
【０００７】
前記クラウドサーバが、多数であるか、または、クラウドサーバ群または仮想化コンピュータ群を有していてもよい。
【０００８】
前記クラウドリンク、クライアントリンク、およびカードリンクモジュールまたはプログラムによる前記配分に基づいて、前記クラウドサーバが、前記コンテンツを高圧縮にトランスコーディングし、前記メモリカードが、前記クライアントデバイスに利用可能となるように前記高圧縮されたコンテンツを低圧縮にトランスコーディングし、前記クライアントデバイスが、前記トランスコードされたコンテンツを解凍してもよい。
【０００９】
前記コンテンツが、ビデオおよび／またはオーディオファイルを有していてもよい。
【００１０】
前記メモリカードが、標準的なメモリインタフェースを有していてもよい。
【００１１】
前記メモリカードが、前記カードリンクモジュールまたはプログラムを実行するマイクロコントローラ、マイクロプロセッサ、アプリケーションプロセッサ、およびプログラマブルプロセッサの少なくとも一つを有していてもよい。
【００１２】
本発明のさらに別の局面、特徴、および有利な点は、以下に詳細に記述した本発明を実施するための最良の形態を含む多数の具体例および実施例の説明を見てすぐに理解できる。また、本発明は、別の異なる形態で実現可能であり、各詳細部分は本発明の精神と範囲から逸脱することなくさまざまな面で改変可能である。したがって、図面および詳細な説明は単なる例示であり、本発明はこれに限定されるものではない。
【００１３】
添付の図面には限定目的ではなく例示目的で本発明の具体例が描かれている。なお、図において類似の要素には同様の参照符号を付している。
【図面の簡単な説明】
【００１４】
【図１】メモリカードを有するクライアントデバイス用のクラウドサービスカードに係る例示的なシステムおよび方法を示す図である。
【図２】図１の例示的なシステムにおけるホストデバイスで動作するデバイスリンクモジュールまたはプログラムの例示的なフローチャートである。
【発明を実施するための形態】
【００１５】
本発明は、クラウドコンピューティングによって、ソフトウェアおよびデータを一または複数のクラウドサーバに保存しつつクライアントデバイスのウェブブラウザからオンラインアクセスされるビジネスおよびパーソナルアプリケーションがしばしば提供される可能性があり、現に提供されているという認識を含む。クラウドサーバは一または複数の地理的位置に接続および分配され、「クラウド（雲）」と称され得る。クラウドはしばしば、同一のサーバで動作可能な多くの単独コンピュータのように見える仮想化コンピュータで多くのアプリケーションを動作可能にする仮想化ソフトウェアにおいて動作する。仮想化ソフトウェアは必ずしもクラウドで使用されなくてもよいが、それはまさにクラウドサーバのコンピューティング、通信、およびストレージリソースの最適な利用を表している。
【００１６】
消費者には、インターネット接続された家庭用電子デバイス上のサービスとしてソフトウェアアプリケーションを動作させる能力が大いに望まれる。クライアントデバイスの各アプリケーションは、クラウドコンピューティングサービスシステムにおけるそのクライアントをターゲットとしたアプリケーションをダウンロードし、その一部または全部を実行するために、（１）インターネット接続帯域幅、（２）プロセッサ計算能力、および（３）ローカルメモリおよび／またはストレージを使用することができる。
【００１７】
上記クライアントデバイスのパラメータ値の変動によって、クラウドソフトウェアアプリケーションおよび／またはサービスを実行しているユーザの体験が影響を受け、アプリケーションまたはサービスの待ち時間となって現れる。クライアントの待ち時間は、クライアントデバイスで動作しているアプリケーションまたはサービスのプロセスにおける任意の２つの重要なイベント間の遅延または時間（例えば、アプリケーションのダウンロードを開始してアプリケーションの冒頭部分のダウンロードが実行されるまで時間、クライアントデバイスでアプリケーションの開始とアプリケーションの最初の処理、表示、また検出結果との間の時間など）として特徴付けられる。同様に、各アプリケーションまたはサービスには、ユーザ体験品質の許容レベルに関連したそれぞれの最大待ち時間がある。もしアプリケーションまたはサービスを実行中のこれらクライアントデバイス待ち時間の一または複数が許容レベルを超えると、ユーザ体験の品質が低下し、許容できないものとなる。
【００１８】
シャノンの定理として知られる通信システム技術のバックボーンたる情報理論の基本定理によって、ノイズ障害によって通信チャンネルの品質が低下するかもしれないが、デジタルデータ（例えば、コンテンツ、情報、データなど）はチャンネルの所定の最大レート近くまでほとんどエラーなしで通信することができることが確立されている。特定のノイズレベルに対するチャンネルの情報転送レートの論理最大値は、通信チャンネルの容量とみなされ、例えば、適当なソースおよびチャンネルのエンコーディングおよびデコーディングによって到達可能である。本発明は、シャノンの定理の直接的な結果により、クラウドサーバ側でどれだけ処理能力およびストレージが使用できようとも、クライアントデバイス側でもそれに見合った（例えば、理想の）または最小の（例えば、実用的な）レベルの処理およびストレージが使用できなければ、これらサーバは効果的にサービスおよびアプリケーションを提供することができなくなるという認識を含む。すなわち、クライアントデバイス側のクラウドアプリケーション用に一定の最小レベルの処理およびストレージが使用できるようにされまたは予約されるといったように、もしサービスおよびアプリケーションの処理およびストレージの配分ができれば、有利なことには、比較的リッチな一連のクラウドサービスおよびアプリケーションがクラウドサーバを通じてクライアントデバイスに提供される。すべてまたはほとんどのアプリケーションおよび／またはサービスがクラウドで動作すると大量の通信帯域幅が消費される結果となり、通信がクラウドシステムで最もコストがかかる部分となり得るからである。本発明は、クライアントデバイス側でのそのような最小の処理およびストレージ能力が使用できれば、ソフトウェアアプリケーションおよびサービスはクラウドサーバとクライアントデバイスとの間で配分することができ、クラウドサーバとクライアントデバイスとの間の通信チャンネルの帯域幅がたとえ制限されていてもクラウドアプリケーションまたはサービスの待ち時間および／またはクラウドとクライアントとの間の通信のコストがユーザに許容され得るという認識を含む。
【００１９】
クライアントデバイス側の相当の最小処理を使用する通信システムにおいて上記の基本定理のアプリケーションには、ビデオ／オーディオ配信、インターネットブラウジングなどが含まれる。ビデオおよびオーディオ配信の場合、エンコードされていない信号がクラウドサーバからクライアントデバイスに送信されると、クライアントデバイス側において比較的ごく僅かなローカル処理を使用する必要がある。しかし、これはエンコードされていないビデオおよびオーディオを転送する相当の帯域幅を必要とし、実際に制限された通信チャンネルの帯域幅および比較的高いその利用コストのせいで現実的ではない。したがって、クライアントデバイス側にデコーダを設けて通信チャンネルを通じてエンコードされたビデオおよびオーディオを送信する方がより安価である。別の例はインターネットブラウジングであり、これはビデオおよびオーディオ配信などを含む多くのデバイスにおけるアプリケーションのインタフェースの主たる場であることが判明している。特にさまざまなプラグイン類、相当の処理のコストでユーザ体験を相当に拡張し得るデバイスがあるため（例えば、Adobe Flash Playerなど）、クラウドサーバ側のブラウジングタスクを管理することには利点がある。繰り返すが、すべてのインターネットブラウジングタスクをクラウドサーバで行い、完全にレンダリングされた画像をクライアントデバイスに送信することでクライアントデバイス側の処理およびストレージ要件は緩和されるが、通信チャンネルの利用に関して高コスト化する、またはチャンネル帯域幅の制限によって、完全にレンダリングされた画像を十分に速いペースでクライアントデバイスに提供するときの比較的多い待ち時間のせいでユーザ体験が比較的低品質化してしまう。ウェブブラウザよりもむしろクライアントデバイスのアプリケーションでマルチメディアファイルを再生する場合にも同じ問題が発生し得る。
【００２０】
データまたは音声ネットワークなどに接続されたパーソナルコンピュータ（ＰＣ）、ノート型ＰＣなどの場合、広く受け入れられた中央処理ユニット（ＣＰＵ）および関連アーキテクチャのセット（例えば、広く利用される例としてIntel（登録商標）アーキテクチャに基づくプロセッサが挙げられる）はそう多くない。同時に、そのようなクライアントデバイスは、アプリケーションがクラウドからダウンロードされてクライアントで全体が実行されても、あるいはアプリケーションの一部がクライアントで実行され一部がクラウドによって提供されてもよいように、幅広いアプリケーションをサポート可能な相当量のストレージ（例えば、比較的大容量のハードディスク）、メモリ（例えば、ＲＡＭ）、および信頼性のある帯域幅（例えば、ケーブル経由またはＤＳＬなど）を有する。
【００２１】
しかし、本発明は、家庭用電子デバイスの新たなカテゴリでは、市場の大半を占める標準的なプロセッサおよび関連アーキテクチャが存在しないという認識を含む。一例として、携帯電話機のカテゴリが挙げられる。当該カテゴリでは、一の営利企業（例えば、Nokia（登録商標）、Motorola（登録商標）など）によって製造される携帯電話機がモデルごとにしばしば異なるプロセッサおよびソフトウェアオペレーティングシステムを利用し、非常にさまざまな特徴および特性を持つ。また、本発明は、さまざまなタイプおよびバージョンのオペレーティングシステムが存在し、さまざまな量のストレージがさまざまな携帯電話機およびさまざまな携帯電話機のモデルで利用可能であるという認識を含む。結果として、各アプリケーションは、スタンドアロンであれ、クラウドで動作するものであれ、さまざまな携帯電話機で動作するためにさまざまなプロセッサに移植される必要がある。また、多くの携帯電話機は、ネイティブで利用可能な計算パワーよりも高い計算パワーを必要とするアプリケーションを動作させる能力を備えていないかもしれない。それゆえ、携帯電話機や携帯端末といった多くの家庭用電子デバイスが次第に高速インターネット接続できるようになったとしても、それらのすべてが、利用可能なアプリケーションを十分に実行できるとは限らない。たとえそれらデバイスが十分な能力を有していても、それらのプロセッサおよびアーキテクチャに適合したさまざまな移植されたバイナリ（例えば、コンパイルされたソースコード）が必要である。本発明は、携帯電話機、携帯端末などの家庭用電子デバイスにおけるそのようなプロセッサ、アーキテクチャ、オペレーティングシステム、利用可能なストレージ、インターネット接続用の信頼性のある帯域幅などが重度に「断片化」していることで、コンテンツまたはソフトウェア／サービスのプロバイダに相当なコスト負担となり、ソフトウェアアプリケーションおよびサービスの平均的な消費者およびプロバイダにとって非常に不利な事態になるという認識を含む。上記課題を解決するための一つの方法は、クラウドで多くのアプリケーションを実行させることである。しかし、この解決策は、クラウドサーバとクライアントデバイスとの間の通信が比較的大量になるため、コストが増大し比較的多い待ち時間が発生するといった問題を引き起こす。
【００２２】
本発明は、上述の問題によって携帯電話機および家庭用電子デバイス用のアプリケーションおよびサービス配信のエコシステムにおける多くのエンティティが非効率になるという認識を含む。例えば、エンティティには、相当の市場の部分／部門を占めようとして広範なデバイス用のさまざまなプロセッサへのアプリケーションの移植に係る高コストを負うアプリケーションデベロッパ；市場の一部の利用可能なアプリケーションおよびサービス、例えば、特定のデバイスで動作するアプリケーションおよびサービス（例えば、Apple（登録商標）iPhone（登録商標）プラットフォームでのみ動作するアプリケーションまたはapps）にのみアクセスが制限された消費者；および必要最小限の要件を有し、サービスおよびアプリケーションが移植された市場の一部のデバイスにのみアクセスするクラウドサービスおよびコンテンツプロバイダが含まれる。
【００２３】
上述の断片化した家庭用電子デバイスのカテゴリにおいて、消費者への実際的かつ成功した唯一の提案はこれまでのところ縦に「統合された」解決策であり、業界では「囲い込み」（例えば、閉鎖的なまたは独占的な一連のユーザ向け情報サービス）と呼ばれる。そのような縦の解決策は、通常、（ａ）現実の家庭用電子デバイス（例えば、特別のプロセッサ付き）、（ｂ）そのような特別のプロセッサで動作が許可されたアプリケーション、および（ｃ）（ａ）の特別なタイプの家庭用電子デバイスの消費者が新たなアプリケーションをダウンロードするインターネットサイトまたは排他的オンライン配信機構、を提供する一企業および一連の取引先が関与する。例えば、携帯電話市場では、AppleがiPhoneおよびApple App Storeを提供することでそのような解決策を提供している。Googleなどの別の企業は別のオペレーティングシステムAndroidの社内開発を進め、Androidが動作している電話機で動作するアプリケーションをダウンロードするサイトを提供している。Googleによるそのような縦の提案はAndroidが対応するプロセッサで動作する電話機のみに限定され、アプリケーションの配布およびダウンロードのための単一のソースを提供する。
【００２４】
有利なことには、本発明が利用する、携帯電話機、家庭用電子デバイス、パーソナルコンピュータ、ノート型ＰＣ、ネットブックなどの大半に共通する外部メモリ規格はあまり多くない。例えば、そのようなデバイスは、ＳＤ、ＵＳＢなどのメモリ規格によって外部ストレージデバイスに接続する一または複数のスロットやインタフェースを有する。そのようなカードは、コンパクトフラッシュカード、スマートメディアカード、ＳＤ（Secure Digital）カード、ミニＳＤカード、マイクロＳＤカード、ＳＤＨＣカード、ミニＳＤＨＣカード、メモリスティック、ＵＳＢスティックまたはフラッシュドライブ、ｘＤカード、処理およびストレージの両要素を有するカードなどを含み得る。
【００２５】
概して、本発明は、標準的なメモリインタフェースを備えるとともに少なくともいくつかのメモリおよび少なくとも一つのプロセッサを含むアクセサリメモリカード使用し、標準的なメモリインタフェースを通じてスレーブとしてさまざまなホストデバイスに接続する例示的な方法およびシステムの例を含み得る。ここで、ホストデバイスは、インターネット、他のデータネットワークなどを介して少なくとも短時間でクラウドのクラウドサーバなどの中央アプリケーションおよび／またはサービスに接続し、クラウドの管理に置かれてクラウドサービス、アプリケーションなどの受信および処理が可能にされる。
【００２６】
例示的な方法およびシステムは、クラウドのクラウドサーバで動作するコンピュータプログラムまたはモジュール（例えば、いわゆるクラウドリンクプログラムまたはモジュール）、ホストデバイスで動作するコンピュータプログラムまたはモジュール（例えば、いわゆるデバイスリンクプログラムまたはモジュール）、およびアクセサリメモリカードで動作するコンピュータプログラムまたはモジュール（例えば、サイドロードメモリカード、いわゆるカードリンクプログラムまたはモジュール）を含み得る。有利なことには、例示的な方法およびシステムは、アクセサリカードの処理およびストレージにクラウドサーバのキャッシュの役割をさせることができる。なぜなら、アクセサリカードおよびホストデバイスは比較的多い頻度で互いに接続され、また、それらの間の通信リンクはクラウドサーバとホストデバイスとの間の通信リンクよりも比較的高いデータレートを有するからである。それゆえ、クラウドアプリケーションおよび／またはサービスは、そのようなアプリケーションおよび／またはサービスを部分的にメモリカードで実行し、部分的にクラウドサーバで実行することで動作することができる。有利なことには、多くの場合、メモリカードおよびクラウドサーバはいずれもマスターとして動作するホストデバイスに対してスレーブとして動作する（例えば、ホストデバイスとクラウドサーバとの間、およびメモリカードとホストデバイスとの間の通信はホストデバイスによって起動され得る）という事実を考慮に入れると、本発明によって、クラウドアプリケーションおよび／またはサービスをクラウドサーバからメモリカードに拡張することができる。
【００２７】
有利なことには、例示的な方法およびシステムによると、各デバイスリンクプログラムまたはモジュールは、クラウドサーバ、メモリカード、およびホストデバイスのリクエストキューを管理し、クライアントホストデバイスへのアプリケーションおよび／またはサービスの配信が可能となる。メモリカードの処理およびストレージは、比較的低いコストおよび一定の方法で比較的高い品質のクラウドサービスおよび／またはアプリケーション配信を提供するために、クライアントデバイス側で利用されるリソースの管理をするように構成することができる。有利なことには、そのようなローカル処理およびストレージリソースによると、クラウドサービスおよび／またはアプリケーションは、クラウドサーバ、ホストデバイス、およびアクセサリメモリカードの間で配分することができる。アクセサリメモリカードで動作し得るタスクの有利な例は、ビデオおよび／またはオーディオデコーディング、トランスコーディング、画像レンダリング、圧縮、暗号化、復号化などを含み得る。
【００２８】
さて図面を参照する。図１は、クライアントデバイス用のクラウドサービスカードの例示的なシステムおよび方法である。図１において、システムおよび方法１００は、マイクロプロセッサ１０Ａ（例えば、携帯電話機、家庭用電子デバイスなど）を有する電子クライアントホストデバイス１０、および接続機構またはリンク１２によって（例えば、インターネットまたは他のデータネットワークなどを通じて）、クライアントホストデバイス１０にサービス提供するクラウドリンクプログラム１９を実行する一または複数のマイクロプロセッサ１１Ａを有するクラウドサーバまたはサーバ群１１を含み得る。クライアントホストデバイス１０は、クラウドサーバ１１で有用なほどの処理および／またはストレージを有さなくてもよい。例えば、クライアントホストデバイス１０は、携帯電話機、パーソナルデジタルアシスタント、テレビ、セットトップボックス、デジタルビデオレコーダ、ホームエンターテイメントシステム、アプライアンス、パーソナルコンピュータ、ノート型ＰＣ、ネットブック、他の家庭用電子デバイスなどを含み得る。一または複数のマイクロプロセッサおよび／またはマイクロコントローラ１３Ａを有するメモリカード１３（例えば、サイドロードメモリカード）は、インタフェース１４（例えば、標準的なメモリインタフェース）を通じてホストデバイス１０に接続され、利用される処理および／またはストレージをロードするのに、有利なことには、そのようなローカル処理およびホストデバイス１０にローカルのストレージを使用する対応クラウドサービスを可能にするのに用いられる。例えば、メモリカード１３は、コンパクトフラッシュカード、スマートメディアカード、マルチメディアカード、ＳＤ（Secure Digital）カード、マイクロＳＤカード、ミニＳＤカード、ＳＤＨＣカード、ミニＳＤＨＣカード、メモリスティック、ＵＳＢスティックまたはフラッシュドライブ、ｘＤカード、さらなる処理能力を有する他の同様の標準的なまたは非標準的なメモリカードなどを含み得る。メモリカード１３は、ハードウェア抽象レイヤ、オペレーティングシステム、ドライバ群などのプログラム１５を実行することができる。したがって、メモリカード１３は、メモリカード１３、ホストデバイス１０、およびクラウドサーバ１１の間の通信を可能にするカードリンクプログラム１６を実行することができる。また、メモリカード１３は、一または複数のアプリケーション１７および１８および他の同様のアプリケーションおよび／またはサービスを同時にまたは異なる時間に実行することができる。クラウドサーバ１１は、通常、デバイス間で大きく異なり断片化された処理およびストレージを有する多くのさまざまなタイプのホストデバイス１０と協動しようとする。したがって、標準的なインタフェース１４を介してさまざまなホストデバイス１０に接続された統一メモリカード１３を使用することで、クラウドサーバ１１がさまざまなホストデバイス１０にローカルの統一処理および／またはストレージにアクセスできるようになる。
【００２９】
具体例において、インタフェース１４の接続速度は、インタフェースまたはリンク１２よりも高速であり、これにより、ホストデバイス１０は、クラウドサーバ１１の処理および／またはストレージに関連する処理および／またはストレージをメモリカード１３にキャッシュするという恩恵を受けることができる。クラウドサーバ１１とホストデバイス１０のローカル処理との間でアプリケーションおよび／またはサービスが適当に配分されれば、接続１２の待ち時間が比較的多くても、クラウドサーバ１１によって提供されるアプリケーションおよび／またはサービスを、許容し得る待ち時間でホストデバイス１０に配信することができる。しかし、さまざまなホストデバイス１０において統一処理および／またはストレージが利用できなければ、有利なことには、高速インタフェース１４を通じて、ローカルの統一処理および／またはストレージを、そのような統一処理および／またはストレージ、一または複数のプロセッサ１３Ａ、およびその中の一または複数のメモリおよび／またはストレージ要素を有するメモリカード１３に提供することができる。したがって、メモリカード１３およびクラウドサーバ１１は、マスターとして動作するホストデバイス１０と通信するスレーブとして構成することができ、ホストデバイス１０が起動することでインタフェース１２およびインタフェース１４を通じた通信が可能となる。したがって、ホストデバイス１０で動作するデバイスリンクコンピュータプログラムまたはモジュール２０によって、クラウドリンクコンピュータプログラムまたはモジュール１９を実行するクラウドサーバ１１とカードリンクコンピュータプログラムまたはモジュール１６を実行するメモリカード１３との間の通信が可能となる。また、例えば、クラウドリンクリクエストキュー２２、カードリンクリクエストキュー２３、デバイスリンクリクエストキュー２１、および全体リンクリクエストキュー２４を含むリクエストキューを使用して、クラウドサーバ１１、ホストデバイス１０、およびメモリカード１３の間のリクエストを処理することができる。クラウドリンクプログラムまたはモジュール１９は、クラウドサーバ１１で動作する他のプログラムの一部であり得る。同様に、デバイスリンクプログラムまたはモジュール２０は、ホストデバイス１０で動作する他のプログラムの一部であり得る。同様に、カードリンクプログラムまたはモジュール１６は、メモリカード１３で動作する他のプログラムの一部であり得る。デバイスリンクコンピュータプログラムまたはモジュール２０は、カードリンクプログラムまたはモジュール１６とともに、クラウドリンクコンピュータプログラムまたはモジュール１９がデバイス１０およびメモリカード１３の両方の所定機能のマスターとして有効に動作できるように、記述することができる。
【００３０】
クラウドリンクリクエストキュー２２は、クラウドリンクプログラム１９および／またはクラウドサーバ１１で動作する他のプログラムおよび／またはサービスのある決まった優先度に基づいてクラウドサーバ１１のリクエストで満たされ得る。同様に、デバイスリンクリクエストキュー２１は、デバイスリンクプログラム２０および／またはホストデバイス１０で動作する他のプログラムおよび／またはサービスのある決まった優先度に基づいてホストデバイス１０のリクエストで満たされ得る。デバイスリンクリクエストキュー２１におけるリクエストは、ユーザからのリクエストや、ホストデバイス１０の各インタフェースから集められてホストデバイス１０がインタラクトする他のエージェントまたはデバイスのリクエストなどを含み得る。同様に、カードリンクリクエストキュー２３は、カードリンクプログラム１６および／またはメモリカード１３で動作する他のプログラムおよび／またはサービスのある決まった優先度に基づいてメモリカード１３のリクエストで満たされ得る。全体リンクリクエストキュー２４は、デバイスリンクプログラム２０および／またはホストデバイス１０で動作する他のプログラムおよび／またはサービスのある決まった優先度に基づいてホストデバイス１０のリクエストで満たされ得る。
【００３１】
デバイスリンクプログラム２０は、ホストデバイス１０の状態およびホストデバイス１０の入出力デバイスのすべての適当な信号を使用して、デバイスリンクリクエストキュー２１に送るべき適当な優先度を持つ適当なリクエストを決定することができる。同様に、カードリンクプログラム１６は、メモリカード１３の状態およびメモリカード１３の入出力デバイスのすべての適当な信号を使用して、カードリンクリクエストキュー２３に送るべき適当な優先度を持つ適当なリクエストを決定することができる。同様に、クラウドリンクプログラム１９は、クラウドサーバ１１の状態およびクラウドサーバ１１の入出力デバイスのすべての適当な信号を使用して、クラウドリンクリクエストキュー２２に送るべき適当な優先度を持つ適当なリクエストを決定することができる。
【００３２】
図２は、図１の例示的なシステムのホストデバイスで動作する例示的なデバイスリンクプログラムの例示的なフローチャートである。図２において、ホストデバイス１０のデバイスリンクプログラムまたはモジュール２０は、クラウドサーバ１１、メモリカード１３、およびホストデバイス１０の間の通信を可能にする。例えば、ステップ３０において、すべての適当な値およびパラメータが初期化され、そしてステップ３１でデバイスリンクキュー２１からのリクエストがチェックおよびスケジュールされ、適当なリクエストが全体リンクリクエストキュー２４に移動される。ステップ３２でクラウドリンクキュー２２からのリクエストがチェックおよびスケジュールされ、適当なリクエストが全体リンクリクエストキュー２４に移動される。ステップ３３でカードリンクキュー２３からのリクエストがチェックおよびスケジュールされ、適当なリクエストが全体リンクリクエストキュー２４に移動される。ステップ３４で、全体リンクリクエストキュー２４が空になるまで全体リンクリクエストキュー２４におけるリクエストが優先度順に処理される。停止または他の適当な条件が実行されるまで、ステップ３１〜３４の処理を繰り返し継続することができる。
【００３３】
全体リンクリクエストキュー２４におけるリクエストは、ホストデバイス１０の任意の適当なインタフェースとのインタラクションを含み得る。ステップ３１〜３４の順序は適当に変更可能である。例えば、ステップ３１〜３４を部分的におよびさまざまな順序で実行して、ステップ３１〜３４をすべて完了することができる。キュー２１、２２、および２３の優先順位付けは、任意の適当な優先方式に基づいて変更および決定可能である。また、各キューのデータサイズは非常にさまざまであり得る。例えば、多くの場合、通信チャンネル１２に対して通信チャンネル１４の帯域幅が広いため、ホストデバイス１０とメモリカード１３との間で通信されるリクエストのデータサイズは、ホストデバイス１０とクラウドサーバ１１との間で通信されるリクエストのデータサイズよりもはるかに大きいことがあり得る。リクエストキューはリクエストされたデータを複製する必要がなく、例えば、リクエストされたデータへのポインタなどを使用してストレージ帯域幅を減らすことができる。各リクエストに係るデータの選択、それらをストアする具体的な方法、およびリクエストキューの処理のための具体的な優先順位付けは、アプリケーションに依存するとともに任意の適当な方式から選択され得る。図２のフローチャートは、クラウドサーバ１１が、クラウドサーバ１１およびメモリカード１３でそれぞれ図２のフローチャートに基づいて動作する適当なクラウドリンクおよびカードリンクプログラムまたはモジュール１９および１６によってホストデバイス１０のためのスレーブメモリカード１３の処理およびストレージリソースに繋がって制御可能にするために使用することができる。
【００３４】
有利なことには、処理および／またはストレージを有するメモリカード１３は、例えば、インターネットを介してクラウドサーバ１１に接続されたホストデバイス１０に対して、ホストデバイス１０で動作するデバイスリンクプログラム２０に基づいてクラウドサーバ１１によって制御されるようなスレーブとして構成される。これは、コンパクトでより小型化、より低消費電力化、およびより低能力化され、メモリカード１３として構成され、クライアントホストデバイス１０に接続された、クラウドサーバ１１のコンピュータラックの一つを持つようなものである。したがって、ホストデバイスリンクプログラムまたはモジュール２０を介してクラウドサーバ１１に予測可能で制御可能なハードウェアプラットフォームが提供される。ホストデバイスリンクプログラムまたはモジュール２０は、ホストデバイス１０の製造者によってホストデバイス１０に提供、インストールおよび実行さ得るか、または、ホストデバイス１０に提供され得る。
【００３５】
有利なことには、クラウドサーバ１１のアプリケーションおよび／またはサービスのための計算能力の一部は、メモリカード１３を用いて、インタフェース１２を介したホストデバイス１０とクラウドサーバ１１との間の比較的大量および／または微粒レベルの通信の使用を避け、代わりにインタフェース１４を介したホストデバイス１０とメモリカード１３との間の比較的大量および／または粗粒レベルの通信を用いて、ホストデバイス１０によるローカルの計算に向けられ得る。例えば、メモリカード１３は、デコーディング、トランスコーディングなど、クラウドサーバからのコンテンツをホストデバイス１０にコンバートする機能および／またはメモリカード１３にレンダリングエンジンを提供しアプリケーションの残りをクラウドサーバ１１に移動する機能を実行するように構成され得る。メモリカード１３によって実行されるローカルコンテンツのデコーディングおよび／またはレンダリングは、クラウドサーバ１１に対して何度も往復する通信を必要とせずに高品質のユーザ体験を提供することができる。有利なことには、ホストデバイス１０に理解可能な簡素化フォーマットへのコンテンツのデコーディングおよび／またはトランスコーディング、およびホストデバイス１０のインタフェースに適したレンダリングは、メモリカード１３において実行可能である。有利なことには、これにより、メモリカード１３を介して、さまざまなビルドパラメータおよび目的を有するさまざまなクライアントデバイスに多くのリッチなクラウドアプリケーションおよび／またはサービスを提供することができる。
【００３６】
有利なことには、例示的なシステムおよび方法によって、ホストデバイス１０が処理できるよりもより圧縮されメモリカード１３の処理能力およびストレージによって可能になる圧縮フォーマットでクラウドサーバ１１からホストデバイス１０におよびその逆に通信されるコンテンツのエンコーディングが可能になる。したがって、サービスプロバイダは、後処理工程によってコンテンツをより圧縮されたフォーマットにトランスコードして通信チャンネル１２を通じて比較的低いビットレートで圧縮コンテンツを送信することができる。そして、デバイスリンクプログラムまたはモジュール２０は、圧縮コンテンツをメモリカード１３に渡すことができる。メモリカード１３は、圧縮コンテンツを処理して圧縮コンテンツを高圧縮からホストデバイス１０で処理可能な低圧縮フォーマットにトランスコードしてホストデバイス１０にトランスコードしたコンテンツを送信することができる。同様に、すでに圧縮されているかもしれないホストデバイス１０のコンテンツは解凍のためにメモリカード１３に送信され得る。一または複数のプロセッサ１３Ａおよびストレージリソースに基づくメモリカード１３は、圧縮コンテンツを高圧縮フォーマットにトランスコードして、ホストデバイス１０方向のメモリカード１３のインタフェース１４および通信チャンネル１２を通じて高圧縮コンテンツをクラウドサーバ１１に送信することができる。有利なことには、圧縮コンテンツは、通信チャンネル１２を通じて比較的低いビットレートで通信することができる。そのような帯域幅の最適化によって、通信事業者および／またはサービスプロバイダにとってより少ない帯域幅の使用による有利なコスト削減の契機がもたらされる。また、これにより、通信チャンネル１２を通じて同じビットレートで比較的高品質の圧縮でコンテンツを送信することができる。コンテンツおよび／またはデバイスに高圧縮規格が採用されるには長い時間を要するため、かかる特徴は有利である。また、たとえホストデバイス１０、および通信チャンネル１２を通じて送信されるコンテンツに最新の高データ圧縮フォーマットが採用されていなくとも、かかる特徴によって比較的高い圧縮が利用可能となる。
【００３７】
有利なことには、比較的高い計算力の多くのタスクを比較的低電力のメモリカード１３のプロセッサに分配することで、そのような分配されたタスクを実行する場合においてメモリカード１３の電力消費がクラウドサーバ１１の電力消費よりも低い場合には、クラウドアプリケーションおよび／またはサービスの配信のためのよりエネルギー効率に優れた機構が提供される。また、これによりクラウドサーバ１１側の計算および消費電力コストを低減することができる。なぜならばクライアントデバイス１０がメモリカード１３のおかげでクライアントデバイス１０側のそのようなコストを埋め合わせるからである。計算エネルギーコストが急速に増加するに連れ、そのような計算のオフロードまたはクラウドサーバ１１とメモリカード１３の処理およびストレージとの間のロードバランスはクラウドサービスおよび／またはアプリケーションプロバイダにとって有利になり得る。
【００３８】
上述の図１〜２の具体例に係るデバイスおよびサブシステムは、例えば、図１〜２の具体例に係る処理を実行可能な、任意の適当なサーバ、ワークステーション、ＰＣ、ノート型ＰＣ、ＰＤＡ、インターネットアプリケーション、携帯デバイス、携帯電話機、無線デバイス、他の電子デバイスなどを含み得る。図１〜２の具体例に係るデバイスおよびサブシステムは、任意の適当なプロトコルを用いて互いに通信することができ、一または複数のプログラムされたコンピュータシステムまたはデバイスを用いて実施可能である。
【００３９】
一または複数のインタフェース機構は、図１〜２の具体例に利用することができ、例えば、インターネットアクセス、任意の適当なフォーマット（例えば、音声、モデムなど）の電気通信、無線通信メディアなどを含む。例えば、利用される通信ネットワークまたはリンクは、一または複数の無線通信ネットワーク、携帯電話通信ネットワーク、有線通信ネットワーク、衛星通信ネットワーク、Ｇ３通信ネットワーク、ＰＳＴＮ（Public Switched Telephone Network）、ＰＤＮ（Packet Data Network）、インターネット、ＷｉＭａｘネットワーク、それらの組み合わせなどを含み得る。
【００４０】
図１〜２の具体例は例示目的であると理解すべきであり、当業者であれば  具体例に利用される具体的なハードウェアおよび／またはソフトウェアの多くの変形が可能であることが理解できるであろう。例えば、図１〜２の具体例に係る一または複数のデバイスおよびサブシステムの機能性は、一または複数のプログラムされたコンピュータシステムまたはデバイスによって実施可能である。
【００４１】
そのような変形および他の変形を実施するために、図１〜２の具体例に係る一または複数のデバイスおよびサブシステムの専用機能を実行するように単一のコンピュータシステムをプログラムすることができる。一方、図１〜２の具体例に係る任意の一つのデバイスおよびサブシステムを２以上のプログラムされたコンピュータシステムまたはデバイスで代用することができる。したがって、冗長性、レプリケーションなどの分散処理の原理および利点も実施して、図１〜２の具体例に係るデバイスおよびサブシステムの頑健性および性能を要望通りに向上することができる。
【００４２】
図１〜２の具体例に係るデバイスおよびサブシステムは、ここに記載したさまざまな処理に関する情報を格納することができる。この情報は、ハードディスク、光ディスク、光磁気ディスク、ＲＡＭなどの、図１〜２の具体例に係るデバイスおよびサブシステムの一または複数のメモリに格納可能である。図１〜２の具体例に係るデバイスおよびサブシステムの一または複数のデータベースは、本発明の具体例を実施するための情報を格納することができる。データベースは、ここに挙げた一または複数のメモリまたはストレージデバイスに含まれるデータ構造（例えば、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リストなど）を用いて構成可能である。図１〜２の具体例に関して述べた処理は、図１〜２の具体例に係るデバイスおよびサブシステムの処理によって収集および／または生成されるデータをそれの一または複数のデータベースに格納するための適当なデータ構造を含み得る。
【００４３】
図１〜２の具体例に係るデバイスおよびサブシステムの全部または一部が、本発明の具体例の教示に従ってプログラムされた、一または複数の汎用コンピュータシステム、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、アプリケーションプロセッサ、領域特化型プロセッサ、アプリケーション特化型シグナルプロセッサなどを用いて都合よく実施可能であることは、コンピュータおよびソフトウェア技術の当業者であれば理解できるであろう。適当なソフトウェアが当業者プログラマによって具体例の教示に基づいて容易に作成できることは、ソフトウェア技術の当業者であれば容易に理解できるであろう。また、図１〜２の具体例に係るデバイスおよびサブシステムが、特定用途向け集積回路を作成することによって、または従来の部品回路の適当なネットワークを相互接続することによって実施可能であることは、電子技術の当業者であれば容易に理解できるであろう。したがって、具体例はハードウェア回路および／またはソフトウェアの特定の組み合わせに限定されない。
【００４４】
コンピュータ読み取り可能媒体の任意の一つまたは組み合わせに格納されることにより、本発明の具体例は、図１〜２の具体例に係るデバイスおよびサブシステムを制御し、図１〜２の具体例に係るデバイスおよびサブシステムを駆動し、図１〜２の具体例に係るデバイスおよびサブシステムを人間ユーザとやり取り可能にするなどのソフトウェアを含み得る。そのようなソフトウェアは、デバイスドライバ、ファームウェア、オペレーティングシステム、開発ツール、アプリケーションソフトウェアなどを含み得るがこれらに限定されない。そのようなコンピュータ読み取り可能媒体は、さらに図１〜２の具体例を実施する際に実行される処理の全部または一部（処理が分散される場合）を実行する、本発明の具体例に係るコンピュータプログラムを含み得る。本発明の具体例に係るコンピュータコードデバイスは、インタープリタブルプログラム、ＤＬＬ（Dynamic Link Libraries）、Ｊａｖａクラスおよびアプレット、完全実行可能プログラム、ＣＯＲＢＡ（Common Object Request Broker Architecture）オブジェクトなどの任意の適当な解釈または実行可能なコードマシンを含み得るがこれらスクリプトに限定されない。また、本発明の具体例に係る処理の一部は、よりよい性能、信頼性、コストなどのために分散することができる。
【００４５】
上述したように、図１〜２の具体例に係るデバイスおよびサブシステムは、本発明の教示に従ってプログラムされた命令を保持するとともにデータ構造、テーブル、レコード、および／またはここで述べた他のデータを保持するコンピュータ読み取り可能媒体またはメモリを含み得る。コンピュータ読み取り可能媒体は、プロセッサへの実行すべき命令の供給に関わる任意の適当な媒体を含み得る。そのような媒体は、不揮発性媒体、揮発性媒体、伝達媒体などのさまざまな形態を取り得るがこれらに限定されない。不揮発性媒体は、例えば、光または磁気ディスク、光磁気ディスクなどを含み得る。揮発性媒体は、ダイナミックメモリなどを含み得る。伝達媒体は、同軸ケーブル、銅線、光ファイバなどを含み得る。伝達媒体はまた、ＲＦ（Radio Frequency）通信、ＩＲ（Infrared）データ通信などの音響的、光学的、電磁気的な波動などを含み得る。コンピュータ読み取り可能媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の適当な任意の磁気媒体、ＣＤ−ＲＯＭ、ＣＤＲＷ、ＤＶＤ、他の適当な任意の光媒体、パンチカード、紙テープ、光マークシート、穴または他の光学的に認識可能な印を持つ他の適当な任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の適当な任意のメモリチップまたはカートリッジ、伝送波、コンピュータが読み取ることができる他の適当な任意の媒体を含み得る。
【００４６】
いくつかの具体例および実施例に関して本発明を説明したが、本発明はそれに限定されずに、別記の請求項の技術的範囲に属するさまざまな変更および均等な翻案に及ぶ。
【図１】
2013511775.tif 000003
【図２】
2013511775.tif 000004
【国際調査報告】
2013511775.tif 000005
2013511775.tif 000006