クラウドレットは、インターネットのエッジに位置する、モビリティを強化した小規模なクラウドデータセンターです。クラウドレットの主な目的は、低遅延で強力なコンピューティングリソースをモバイルデバイスに提供することで、リソース集約型でインタラクティブなモバイルアプリケーションをサポートすることです。これは、今日のクラウドコンピューティングインフラストラクチャを拡張する新しいアーキテクチャ要素です。モバイルデバイス - クラウドレット - クラウドの 3 層階層の中間層を表します 。クラウドレットは、クラウドをより身近にすることを目標とするボックス内のデータセンターと見なすことができます。クラウドレットという用語は、 M. Satyanarayanan、Victor Bahl、Ramón Cáceres、および Nigel Daviesによって最初に造語され[ 1 ]、プロトタイプ実装は、研究プロジェクトとしてカーネギーメロン大学によって開発されました[ 2 ] 。クラウドレットの概念は、フォローミークラウド[ 3 ]やモバイルマイクロクラウド[ 4 ]としても知られています。
多くのモバイルサービスは、従来のクライアント/サーバーモデルに従い、アプリケーションをフロントエンドのクライアントプログラムとバックエンドのサーバープログラムに分割しています。フロントエンドのモバイルアプリケーションは、処理速度の向上など様々な理由から、その機能をバックエンドサーバーにオフロードします。クラウドコンピューティングの登場により、バックエンドサーバーは通常、クラウドデータセンターでホストされるようになりました。クラウドデータセンターの利用は、拡張性や柔軟性など様々なメリットをもたらしますが、その統合と集中化により、モバイルデバイスとそれに関連するデータセンターとの間に大きな隔たりが生じます。その結果、エンドツーエンドの通信には多くのネットワークホップが必要となり、レイテンシが高く帯域幅が低くなります。
レイテンシの問題から、一部の新しいモバイルアプリケーションでは、応答時間を短縮するためにクラウドオフロードインフラストラクチャをモバイルデバイスの近くに配置する必要があります。[ 5 ]理想的な場合は、無線ホップ1つ分の距離です。たとえば、オフロードインフラストラクチャはセルラー基地局に設置することも、一連のWi-Fi基地局にLAN接続することもできます。このオフロードインフラストラクチャの個々の要素はクラウドレットと呼ばれます。
クラウドレットは、リソース集約型かつインタラクティブなモバイルアプリケーションをサポートすることを目的としています。ヘッドトラッキングシステムを使用する拡張現実アプリケーションでは、エンドツーエンドのレイテンシが 16 ms 未満である必要があります。 [ 6 ]リモートレンダリングを使用するクラウドゲームでも、低レイテンシと高帯域幅が必要です。[ 7 ]ウェアラブル認知支援システムは、Google Glassなどのデバイスとクラウドベースの処理を組み合わせて、複雑なタスクをユーザーに案内します。この未来的なジャンルのアプリケーションは、2013 年の NSF ワイヤレスネットワークの将来の方向性に関するワークショップのレポートで「驚くほど革新的」と特徴付けられています。[ 8 ]これらのアプリケーションは、リアルタイムのユーザーインタラクションのクリティカルパスでクラウド リソースを使用します。したがって、数十ミリ秒を超えるエンドツーエンドの操作レイテンシを許容することはできません。クラウドで計算集約型の音声認識を実行するApple SiriとGoogle Nowは、この新興分野のさらなる例です。
クラウドとクラウドレットの要件には大きな重複があります。どちらのレベルでも、次の要件が求められます。(a) 信頼できないユーザーレベルの計算間の強力な分離、(b) 認証、アクセス制御、およびメータリングのメカニズム、(c) ユーザーレベルの計算に対する動的なリソース割り当て、(d) プロセス構造、プログラミング言語、またはオペレーティングシステムに対する制限を最小限に抑えつつ、非常に幅広いユーザーレベルの計算をサポートする能力。クラウドデータセンターでは、これらの要件は現在、仮想マシン(VM) の抽象化を使用して満たされています。クラウドコンピューティングで使用されているのと同じ理由で、VM はクラウドレットの抽象化としても使用されます。一方、クラウドとクラウドレットには、いくつか重要な違いがあります。
ストレージ層で既存の VM イメージを起動するように最適化されているクラウド データ センターとは異なり、クラウド レットはプロビジョニングにおいてはるかに俊敏である必要があります。クラウド レットとモバイル デバイスとの関連性は非常に動的で、ユーザーの移動によりかなりの変動があります。遠方のユーザーが予期せずクラウド レットに現れ (たとえば、国際線から降りたばかりの場合)、パーソナライズされた言語翻訳などのアプリケーションを使用しようとする可能性があります。そのユーザーにとって、アプリケーションを使用できるようになるまでのプロビジョニングの遅延はユーザビリティに影響します。[ 9 ]
モバイルデバイスユーザーが現在使用しているクラウドレットから離れると、論理ネットワーク距離が増加するにつれてインタラクティブな応答が低下します。このユーザー移動の影響に対処するため、最初のクラウドレットでオフロードされたサービスをエンドツーエンドのネットワーク品質を維持しながら2番目のクラウドレットに転送する必要があります。[ 10 ]これはクラウドコンピューティングのライブマイグレーションに似ていますが、VMのハンドオフが広域ネットワーク(WAN)で行われるという点で大きく異なります。
クラウドレット モデルではハードウェア/ソフトウェアの再構成または追加の展開が必要となるため、展開を促進する体系的な方法を提供することが重要です。しかし、古典的なブートストラップ問題に直面する可能性があります。クラウドレットには、クラウドレット展開を促進するための実用的なアプリケーションが必要です。しかし、開発者はクラウドレット インフラストラクチャが広く展開されるまで、それに大きく依存することはできません。この行き詰まりを打破し、クラウドレット展開をブートストラップするために、カーネギー メロン大学の研究者は、オープン エコシステムを活用するためにOpenStackを拡張する OpenStack++ を提案しました。 [ 2 ] OpenStack++ は、OpenStack 拡張機能としてクラウドレット固有の API のセットを提供します。[ 11 ]
2015年までにクラウドレットベースのアプリケーションが商用利用可能になった。[ 12 ]
2017年に米国国立標準技術研究所はフォグコンピューティングの標準規格案を発表し、その中でクラウドレットはフォグアーキテクチャ上のノードとして定義された。[ 13 ]