(57)【要約】ネットワーク端末が別のネットワーク端末からリソースをリースすることを可能にするための技術である。例示的な実施例において、オーナ端末は、他の端末と共有する（ローカルに利用可能なまたは離れてアクセス可能な）リソースの利用可能性を決定する。オーナ端末は、そのリソースを共有するためのサービスおよび価格レベル条件を確立し、他の端末にそれらの条件を通知する。ユーザ端末は、自身のリソース要求を決定し、所望のリソースを提供する１つまたは複数のオーナ端末を求めてネットワークを検索する。オーナ端末とユーザ端末は、識別されたリソースの使用のための条件を取り決め、オーナ端末はユーザ端末にリソースをリースする。アプリケーションは、ファイル記憶空間、携帯電話のようなデバイスにリースするネットワークトラフィック帯域幅、アドホック分散計算アーキテクチャ、サードパーティオペレーティングシステム（ＯＳ）サポートスキームを含む。【選択図】図２
2013527951.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサに接続された少なくとも１つのメモリとを備え、前記少なくとも１つのメモリは、プロセッサに、アプリケーションを実行するように構成されたアプリケーションモジュールと、ユーザモジュールを実施させるための命令を格納し、前記ユーザモジュールは、
前記アプリケーションモジュールの要求セットを決定し、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも１つの遠隔端末を識別し、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも１つの遠隔端末の前記リソースを使用できるようにし、
前記リソースの前記使用に基づいて補償されるように前記少なくとも１つの遠隔端末をアレンジする
ように構成される、装置。
【請求項２】
前記ユーザブローカーモジュールは、前記少なくとも１つの遠隔端末の通知されたリソース容量を受け取り、前記通知されたリソース容量が前記少なくとも１つの遠隔端末の前記要求セットを少なくとも部分的に満足するかどうか決定することによって前記少なくとも１つの遠隔端末を識別するように構成される、
請求項１に記載の装置。
【請求項３】
前記アプリケーションモジュールの前記要求セットは、データ記憶容量の要求量を備える、
請求項１に記載の装置。
【請求項４】
前記アプリケーションモジュールの前記要求セットは、計算帯域幅の要求量を備える、
請求項１に記載の装置。
【請求項５】
前記アプリケーションモジュールの前記要求セットは、ネットワークトラフィック帯域幅の要求量を備える、
請求項１に記載の装置。
【請求項６】
前記アプリケーションモジュールの前記要求セットは、前記リソースが使用されうるタイムスケジュールを備える、
請求項１に記載の装置。
【請求項７】
前記アプリケーションモジュールの前記要求セットは、サポートされるターゲットアプリケーション、特定のハードウェアの利用可能性、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも１つのパラメータを備える、
請求項１に記載の装置。
【請求項８】
前記ユーザブローカーモジュールは、前記少なくとも１つの端末が通貨を支払うことによって補償されるように前記少なくとも１つの遠隔端末をアレンジするように構成される、
請求項１に記載の装置。
【請求項９】
少なくとも１つのパラメータを指定する前記サービス合意は、保証されたデータ記憶容量の最小量、計算帯域幅の最小量、ネットワークトラフィック帯域幅の最小量、およびサポートされるオペレーティングシステムから成るグループから選択される、
請求項１に記載の装置。
【請求項１０】
前記サービス合意は、前記少なくとも１つの遠隔端末の前記リソースが使用されうるタイムスケジュールを指定する、
請求項１に記載の装置。
【請求項１１】
前記装置は、携帯電話を備え、前記アプリケーションは、ウェブブラウザを備え、前記要求セットは、インターネットにアクセスするための最小帯域幅を備える、
請求項１に記載の装置。
【請求項１２】
前記アプリケーションは、プロセッサに、計算タスクを処理させるように構成され、前記要求セットは、前記計算タスクの少なくとも一部を処理するための最小計算帯域幅を備える、
請求項１に記載の装置。
【請求項１３】
前記装置は、第１のオペレーティングシステム（ＯＳ）を実行するための第１のハードウェアを備え、前記要求セットは、第２のＯＳのためのターゲットアプリケーションを実行することを備え、前記少なくとも１つの遠隔端末は、前記第２のＯＳを実行するための第２のハードウェアを備え、前記ユーザブローカーモジュールは、前記アプリケーションモジュールが前記第２のハードウェアを使用する前記第２のＯＳ上で前記ターゲットアプリケーションを実行することによって前記少なくとも１つの遠隔端末の前記リソースを使用できるように構成される、
請求項１に記載の装置。
【請求項１４】
前記ユーザブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも１つの遠隔端末のリースブローカーモジュールと通信することによって前記少なくとも１つの遠隔端末を識別するように構成される、
請求項１に記載の装置。
【請求項１５】
前記ユーザブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも１つの遠隔端末のリースブローカーと通信することによって前記少なくとも１つの遠隔端末を識別するように構成される、
請求項１に記載の装置。
【請求項１６】
プロセッサと、
前記プロセッサに接続された少なくとも１つのメモリとを備え、前記メモリは、前記プロセッサに、リースブローカーモジュールを実施させるための命令を格納し、前記リースブローカーモジュールは、
リソースが少なくとも１つの遠隔端末によって使用されることができる条件を決定し、
前記少なくとも１つの遠隔端末に前記条件を通知し、
前記リソースを使用する前記少なくとも１つの遠隔端末とサービス合意を取り決め、
前記少なくとも１つの遠隔端末がリソースを使用できるようにし、
前記リソースの前記使用に基づいて前記少なくとも１つの遠隔端末によって補償されるようにアレンジする
ように構成される、装置。
【請求項１７】
前記リソースは、データ記憶容量を備える、
請求項１６に記載の装置。
【請求項１８】
前記リソースは、計算帯域幅を備える、
請求項１６に記載の装置。
【請求項１９】
前記リソースは、ネットワークトラフィック帯域幅を備える、
請求項１６に記載の装置。
【請求項２０】
前記リソースは、サポートされるターゲットアプリケーション、特定ハードウェアモジュール、サポートされるオペレーティングシステム、から成るグループから選択される、
請求項１６に記載の装置。
【請求項２１】
前記リースブローカーモジュールは、前記少なくとも１つの遠隔端末から通貨を受け取ることによって補償されるようにアレンジされるように構成される、
請求項１６に記載の装置。
【請求項２２】
前記サービス合意は、前記保証されたデータ記憶容量の最小量、計算帯域幅の最小量、およびネットワークトラフィック帯域幅の最小量から成るグループから選択される、
請求項１６に記載の装置。
【請求項２３】
前記サービス合意は、前記リソースが使用されうるタイムスケジュールを指定する、
請求項１６に記載の装置。
【請求項２４】
前記サービス合意は、サポートされるターゲットアプリケーション、特定のハードウェア、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも１つのパラメータを指定する、
請求項１６に記載の装置。
【請求項２５】
前記装置は、携帯電話を備え、前記少なくとも１つの遠隔端末は、携帯電話を備え、前記サービス合意は、インターネットにアクセスするための最小帯域幅を備える、
請求項１６に記載の装置。
【請求項２６】
前記装置は、第１のオペレーティングシステム（ＯＳ）を実行するための第１のハードウェアを備え、前記サービス合意は、前記第１のＯＳのためのターゲットアプリケーションを実行することを備え、前記リースブローカーモジュールは、前記少なくとも１つの遠隔端末が前記第１のハードウェアを使用する前記第１のＯＳ上で前記ターゲットアプリケーションを実行することによって前記リソースを使用できるように構成される、
請求項１６に記載の装置。
【請求項２７】
前記リースブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも１つの遠隔端末のユーザブローカーモジュールと通信することによって通知するように構成される、
請求項１に記載の装置。
【請求項２８】
前記リースブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも１つの遠隔端末のユーザブローカーと通信することによって通知するように構成される、
請求項１６に記載の装置。
【請求項２９】
前記リソースは、前記装置上でローカルに利用できるリソースである、
請求項１６に記載の装置。
【請求項３０】
前記リソースは、前記装置から離れて配置される、
請求項１６に記載の装置。
【請求項３１】
前記アプリケーションモジュールの要求セットを決定することと、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも１つの遠隔端末を識別することと、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも１つの遠隔端末の前記リソースを使用できるようにすることと、
前記リソースの前記使用に基づいて補償されるように前記少なくとも１つの遠隔端末をアレンジすることと
を備える、方法。
【請求項３２】
前記アレンジすることは、前記少なくとも１つの端末が通貨を支払うことを備える
請求項３１に記載の方法。
【請求項３３】
前記要求セットは、データ記憶容量の要求量、計算帯域幅の要求量、ネットワークトラフィック帯域幅の要求量、前記リソースが使用されうるタイムスケジュール、サポートされるターゲットアプリケーション、特定ハードウェアの利用可能性、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも１つのパラメータを備える、
請求項３１に記載の方法。
【請求項３４】
前記少なくとも１つの遠隔端末を識別することは、前記少なくとも１つの遠隔端末のリースブローカーモジュールと通信することを備える、
請求項３１に記載の方法。
【請求項３５】
リソースが少なくとも１つの遠隔端末によって使用されることができる条件を決定することと、
前記少なくとも１つの遠隔端末に前記条件を通知することと、
前記リソースを使用する前記少なくとも１つの遠隔端末とサービス合意を取り決めることと、
前記少なくとも１つの遠隔端末がリソースを使用できるようにすることと、
前記リソースの前記使用に基づいて前記少なくとも１つの遠隔端末によって補償されるようにアレンジすることと
を備える、方法。
【請求項３６】
前記通知することは、能力メッセージの要求を受信することに応答して前記少なくとも１つの遠隔端末に前記条件を送ることを備える、
請求項３５に記載の方法。
【請求項３７】
前記リソースは、データ記憶容量、計算帯域幅、ネットワークトラフィック帯域幅、サポートされるアプリケーション、特定ハードウェアの利用可能性、サポートされるオペレーティングシステム、から成るグループから選択される少なくとも１つのメンバーを備える、
請求項３５に記載の方法。
【請求項３８】
前記取り決めることは、前記少なくとも１つの遠隔端末上のユーザブローカーモジュールと通信することを備える、
請求項３５に記載の方法。
【請求項３９】
アプリケーションモジュールの要求セットを決定するための手段と、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも１つの遠隔端末を識別するための手段と、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも１つの遠隔端末の前記リソースを使用できるようにするための手段と、
前記リソースの前記使用に基づいて補償されるように前記少なくとも１つの遠隔端末をアレンジするための手段と
を備える、装置。
【請求項４０】
リソースが少なくとも１つの遠隔端末によって使用されることができる条件を決定するための手段と、
前記少なくとも１つの遠隔端末に前記条件を通知するための手段と、
前記リソースを使用する前記少なくとも１つの遠隔端末とサービス合意を取り決めるための手段と、
前記少なくとも１つの遠隔端末がリソースを使用できるようにするための手段と、
前記リソースの前記使用に基づいて前記少なくとも１つの遠隔端末によって補償されるようにアレンジするための手段と
を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークリソース共有のための技術に関し、特に、ネットワーク上のある端末から別の端末にリソースをリースするための技術に関する。
【背景技術】
【０００２】
通信ネットワークは、端末間の速いデータ通信を提供するための最先端のワイヤ線およびワイヤレス技術の到来と共に、ますますユビキタスになっている。そのようなネットワークの例示は、ＵＳＢまたはブルートゥースによって使用可能なパーソナルエリアネットワークと、イーサネット（登録商標）またはＩＥＥＥ８０２．１１によって使用可能なローカルエリアネットワークと、インターネットを含む広域ネットワークとを含む。ネットワーク上の端末は、一般に情報およびデータを別の端末と共有するように構成される。
【０００３】
ある場合において、インターネットアクセス帯域幅、計算帯域幅、および他の端末の特有の能力のようなリソースは、さらにネットワークを通じて端末間で共有されうる。しかしながら、リソースの動的割当ておよび共有は、あるチャレンジを提起する。リソースが不十分であるとき、リソースのオーナ（または「オーナ端末」）は、典型的に、オーナ端末の内部動作を混乱させないようにするために、制限のある方式でのみそのローカルリソースへのアクセスを認めなければならない。そして、ネットワーク上の端末が別個の存在によってしばしば所有され制御されるので、端末が他の端末とそのリソースを共有することから理解される利益が全くないとして、オーナ端末は、全体で共有するリソースを排除しうる。しかしながら、他の端末によって有利に利用されうるネットワーク上のアイドルリソースの相当な量があるときに、このアレンジは非効率的である。
【０００４】
オーナ端末が他の端末（あるいは「ユーザ端末」）とそのローカルリソースを通知し共有するように誘導され、ユーザ端末がそのようなリソースの使用のためにオーナ端末に支払を識別し伝達する、スキームを提供することが望まれている。
【発明の概要】
【０００５】
本開示の態様は、プロセッサと、プロセッサに接続された少なくとも１つのメモリとを備え、少なくとも１つのメモリは、プロセッサに、アプリケーションを実行するように構成されたアプリケーションモジュールと、ユーザブローカーモジュールとを実行させる実施させる命令を記憶し、ユーザブローカーモジュールは、アプリケーションモジュールの要求セットを決定し、アプリケーションモジュールの要求セットを少なくとも部分的に満たすリソースを有する少なくとも１つの遠隔端末を識別し、アプリケーションモジュールがサービス合意に従って少なくとも１つの遠隔端末のリソースを使用できるようにし、リソースの使用に基づいて補償されるように少なくとも１つの遠隔端末をアレンジするように構成される、装置を提供する。
【０００６】
本開示の別の態様は、プロセッサと、プロセッサに接続された少なくとも１つのメモリとを備え、少なくとも１つのメモリは、プロセッサに、リースブローカーモジュールを実施させる命令を記憶し、リースブローカーモジュールは、リソースが少なくとも１つの遠隔端末によって使用されることができる条件を決定し、少なくとも１つの遠隔端末に条件を通知し、リソースを使用するために少なくとも１つの遠隔端末とサービス合意を取り決め（negotiate）、少なくとも１つの遠隔端末がリソースを使用できるようにし、リソースの使用に基づいて少なくとも１つの遠隔端末によって補償されるようにアレンジするように構成される、装置を提供する。
【０００７】
さらに、本開示の別の態様は、アプリケーションモジュールの要求セットを決定することと、アプリケーションモジュールの要求セットを少なくとも部分的に満たすリソースを有する少なくとも１つの遠隔端末を識別することと、アプリケーションモジュールがサービス合意に従って少なくとも１つの遠隔端末のリソースを使用できるようにすることと、少なくとも１つの遠隔端末がリソースの使用に基づいて補償されるようにアレンジすることとを備える方法を提供する。
【０００８】
さらに、本開示の別の態様は、リソースが少なくとも１つの遠隔端末によって使用されることができる条件を決定することと少なくとも１つの遠隔端末に条件を通知することと、少なくとも１つの遠隔端末でリソースを使用するためにサービス合意を取り決めることと、少なくとも１つの遠隔端末がリソースを使用できるようにすることと、リソースの使用に基づいて少なくとも１つの遠隔端末によって補償されるようにアレンジすることとを備える方法を提供する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本開示の原理に従って動作するシステムの例示的な実施例を説明する。
【図２】図２は、本開示に従ってネットワークリソースをリースするためのシステムの例示的な実施例を説明する。
【図３】図３は、図２に示されるオーナ端末でリースブローカーによって実行されるプロシージャの例示的な実施例を説明する。
【図４】図４は、図２に示されるユーザ端末でユーザブローカーによって実行されたプロシージャの例示的な実施例を説明する。
【図５】図５は、入札処理の間にリースブローカーおよびユーザブローカーとの間のインタラクションの例示的な実施例を説明する。
【図６】図６は、図５に示される入札取り決めブロックとリソースの使用ブロックとの間にリースブローカーによって実行されるうる特定の動作の例示的な実施例を説明する。
【図７】図７は、オーナ端末のリソースをリースするためにリースブローカーおよびユーザブローカーによって実行されうる支払い後のスキームの代替の例示的な実施例を説明する。
【図８】図８は、アービタが提供されるシステムの例示的な実施例を説明する。
【図９】図９は、本開示に従う仮想データセンタの例示的な実施例を説明する。
【図１０】図１０は、本開示に従ってスキームをリースするネットワークトラフィック帯域幅の例示的な実施例を説明する。
【図１１】図１１は、本開示に従って分散計算スキームの例示的な実施例を説明する。
【図１２】図１２は、本開示に従ってアプリケーション／ＯＳをリースするスキームの例示的な実施例を説明する。
【図１３】図１３は、図２に記述されたオーナ端末２１０またはユーザ端末２２０のいずれかの実装のための装置２５０の例示的な実施例を説明する。
【発明を実施するための形態】
【００１０】
添付図面に関連した下記の詳細の説明は、本発明の例示的な実施形態の説明として意図されており、本発明が実施されることができる唯一つの例示的な実施形態を表わすことを意図していない。本明細書の全体にわたって使用されている用語「例示的な（ｅｘｅｍｐｌａｒｙ）」は、「例（ｅｘａｍｐｌｅ）、インスタンス（ｉｎｓｔａｎｃｅ）、又は例証（ｉｌｌｕｓｔｒａｔｉｏｎ）として機能している」を意味しており、他の例示的な実施形態よりも好ましいまたは有利であるとして、必ずしも解釈されるべきではない。詳細な説明は、本発明の例示的な実施形態の完全な理解を提供する目的で具体的な詳細を含む。本発明の例示的な実施形態はこれらの具体的な詳細なしに実践されうるということは当業者にとって明らかであろう。他の例では、よく知られた構造及びデバイスは、ここにおいて提示された例示的な実施形態の新規性を不明瞭にすることを回避するために、ブロック図の形で示されている。
【００１１】
図１は、本開示の原理に従って動作するシステムの例示的な実施例１００を説明する。システム１００が説明の目的のみのために示され、本開示の範囲を任意の特定番号または示された端末のタイプに限定する目的ではないことに注意されたい。
【００１２】
図１において、複数の端末１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄは、ネットワーク１１０に接続されて示されている。端末は、パーソナルコンピュータ１２０Ａ、１２０Ｂと、携帯電話１２０Ｃと、メインフレームコンピュータ１２０Ｄとを含む。ネットワーク１１０は、様々な端末１２０が互いに通信し、ネットワークに接続された他の端末（図示せず）と通信することができる通信プラットフォームを提供する。例示的な実施例において、ネットワーク１１０は、インターネットであり、端末から端末への情報転送は、例えば、ＴＣＰ／ＩＰを使用して遂行されうる。代替として、ネットワーク１１０は、ブルートゥースネットワーク、イーサネットベースのローカルエリアネットワーク（ＬＡＮ）等でありうる。端末は、当該技術分野において既知の任意のネットワーク接続技術を使用して接続され、例えば、イーサネットネットワーキングまたはモデム接続のようなワイヤード接続、および／またはＷ−ＣＤＭＡ、ｃｄｍａ２０００、ブルートゥースなどのようなワイヤレス標準によってサポートされるようなワイヤレス接続を含みうる。
【００１３】
ネットワーク１１０は、図１の任意の２つの端末の間にはさまれて示されているが、代替の例示的な実施形態において、任意の２つの端末は、さらに「ネットワーク」を必ず横断せずに互いに直接通信しうることが認識されるだろう。例えば、２つの端末が、ブルートゥース、あるいは直接ワイヤード接続またはワイヤレス接続の他のタイプを使用して、互いにワイヤレスで通信する、あるいは、そのような２つの端末は、本開示のリソースをリースする技術を実装しうる。そのような代替の例示的な実施形態は、本開示の範囲内のために考えられる。
【００１４】
端末１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄの各々は、その計算タスクおよび／または処理タスクを実行するために利用可能なローカルリソースのある量を典型的に所有することを諒解されたい。例えば、パーソナルコンピュータ１２０Ａは、パーソナルコンピュータ１２０Ａ内にローカルに提供される１つまたは複数のＣＰＵを使用するデータを処理しうる。または、パーソナルコンピュータ１２０Ｂは、パーソナルコンピュータ１２０Ｂ内に提供されるローカルハードディスク記憶媒体を使用してデータを記憶しうる。さらなる例示として、携帯電話１２０Ｃは、携帯電話１２０Ｃ内にローカルに設置された１つまたは複数の処理エンジンを使用して、例えば、ビデオの圧縮あるいは解凍を実行しうる。そのようなアプリケーションにおいて、各端末の処理および記憶能力は、端末で利用可能なローカルリソースの量によって典型的に制限される。
【００１５】
いくつかのアプリケーションにおいて、端末でローカルに利用可能であることを越えた、追加の処理能力または記憶能力に端末がアクセスすることは有益でありうる。例えば、計算量の集中するアプリケーションを起動している間、パーソナルコンピュータ１２０Ａ（「ユーザ端末」）は、それ自身の計算リソースを使い果たす一方で、アイドル中であるパーソナルコンピュータ１２０Ｂ（「オーナ端末」）は、パーソナルコンピュータ１２０Ａによって必要とされる追加の計算リソースを有しうる。端末間のリソースを共有するスキームは当該技術分野で既知であるが、そのような共有は、共有されるべき利用可能なリソースを識別する一般的でフレキシブルなスキームおよび異なる端末間のリソース使用量を公平に分割するためのシステムの欠落によりしばしば非実用的である。前の例示において、パーソナルコンピュータ１２０Ａは、パーソナルコンピュータ１２０Ｂの計算リソースの使用によって恩恵を受けるにもかかわらず、パーソナルコンピュータ１２０Ａは、パーソナルコンピュータ１２０Ｂがその利用可能リソースを通知しないので、パーソナルコンピュータ１２０Ｂがそれらのリソースを有することを知らない。更に、パーソナルコンピュータ１２０Ａがパーソナルコンピュータ１２０Ｂのリソースを利用できることを知っていたとしても、２つのコンピュータが２つの無関係な実在者によって所有されうるので、パーソナルコンピュータ１２０Ｂは、パーソナルコンピュータ１２０Ａにそのリソースを貸す意思がなく、ひいては、コンピュータ１２０Ａにそのリソースを貸すことによるコンピュータ１２０Ｂのオーナへの利益を何ら認識できない。
【００１６】
オーナ端末が利益のためにユーザ端末とそのローカルリソースを共有し通知することを生じさせ、ユーザ端末がそのリソースの使用または「リース」のためにオーナ端末に支払いの意思を通知し識別しうるフレキシブルでユニバーサルな技術を提供することが望まれている。
【００１７】
図２は、本開示に従ってネットワークリソースをリースするためのシステムの例示的な実施例２００を説明する。図２において、オーナ端末２１０は、ユーザ端末２２０にオーナ端末２１０のリソースをリースするためにネットワーク１１０を介してユーザ端末２２０と通信する。
【００１８】
図２において、オーナ端末２１０は、ネットワーク１１０上の他のユーザと共有できるローカルリソース２１６を所有する。リースブローカー２１２は、ローカルリソース２１６とデータ２１４を交換し、さらにネットワーク１１０上の他の端末と通信する。リースブローカー２１２は、リソースのタイプ、共有されるべきリソースの量、およびリソースが共有されることに従うタイムスケジュールのような、共有されることになるローカルリソース２１６に関連するパラメータを決定することに対して関与する。そのようなタイムスケジュールは、例えば、リソースが利用可能である開始時間および停止時間を指定しうる。
【００１９】
例えば、ローカルリソース２１６がＣＰＵ処理能力である例示的な実施例において、ブローカー２１２は、例えば、ローカルリソース２１６の２ＭＩＰＳ（または１００万命令毎秒）が開始時間から停止時間までリース開始のために利用可能であることを決定する。リースブローカー２１２は、ネットワーク１１０上の他の端末にこれらのパラメータを通知し、ローカルリソース２１６が他の端末にリースされる条件を取り決めうる。
【００２０】
本開示に従って、ローカルリソース２１６は、ＣＰＵ能力、記憶容量、インターネット帯域幅、電力などを含むがこれらに限定されない。これらの例示が説明の目的のみのために与えられ、他のユーザと共有できる任意のリソースも本開示の範囲内であることを意図されることに注意されたい。
【００２１】
図２において、ユーザ端末２２０で、ローカルアプリケーション２２６が実行されている。アプリケーション２２６は、ユーザ端末２２０でローカルに利用可能なものを越えた追加リソースを使用するように要求しうる。アプリケーション２２６は、データ転送器２２４を介してユーザブローカー２２２にその追加のリソース要求を伝える。ユーザブローカー２２２は、アプリケーション２２６のリソース要求に関連するパラメータを決定することと、リース可能なリソースを有するネットワーク１１０上の潜在的なオーナ端末を識別することと、ユーザ端末２２０がオーナ端末または複数のオーナ端末からリソース、例えば、オーナ端末２１０からローカルリソース２１６をリースすることが受け入れ可能な条件を取り決めることとに関与する。
【００２２】
そのローカルリソース２１６のリースに対する補償として、リースブローカー２１２は、支払いを要求しうる。本開示に従って、そのような支払いは、通貨（monetary currency）、リソース交換、償還可能なクレジットなどを含むがこれらに限定されない。支払いのこれらの例示は、説明の目的のみのために与えられ、任意の価値交換の形式が本開示の範囲内にあることを意図することに注意されたい。
【００２３】
図２において、リソース２１６は、リースブローカー２１２が利用可能な同じデバイスでローカルに利用可能であるとして示されている（つまり、リソース２１６は「ローカルリソース」である）が、リソース２１６およびリースブローカー２１２は、一般に単一デバイス上に配置される必要がないことを注意すべきである。例えば、リースブローカー２１２は、デバイス２１０と離れている別のデバイス（図示せず）上で実装され、デバイス２１０のためのリソース２１６のリースを例えば、ネットワーク１１０を通じて、リモートで扱いうる。そのような代替の例示的な実施形態は本開示の範囲内のために意図される。
【００２４】
図３は、図２に示されるオーナ端末２１０でリースブローカー２１２によって実行されるプロシージャの例示的な実施例３００を説明する。図３は、説明の目的のみのために示され、示された任意の特定のプロシージャに本開示の範囲を限定するのが目的でないことに注意されたい。
【００２５】
図３において、ブロック３１０で、リースブローカー２１２は、オーナ端末２１０で利用可能なリソースを検索する。例示的な実施例において、リースブローカー２１２は、オーナ端末２１０であらかじめ識別されたリソースのリストにアクセスするように構成され、そのようなリソースがリースするために現在利用可能かどうか決定するためにオーナ端末２１０でソフトウェア制御器またはハードウェア制御器にクエリしうる。そのようなリソースは、上述したように、例えば、利用可能なＣＰＵ計算帯域幅、ネットワークトラフィック帯域幅、データ記憶などを含みうる。
【００２６】
ブロック３２０で、リースブローカー２１２は、ローカルに利用可能なリソースがローカル端末２１０に最小限の影響でネットワーク上の他の端末と共有されるかどうか識別しうる。例えば、オーナ端末２１０がブロック３１０で決定されるようにローカルに利用可能なデータ記憶リソースを有している場合でさえ、オーナ端末のデータ記憶リソースを共有することは、例えば、オーナ端末がバッテリー電源が不足しているデバイスである場合に、適切になりえない。
【００２７】
ブロック３３０では、リースブローカー２１２は、提供することができるサービスレベルを確立する。サービスレベルパラメータは、リースされるリソースの量、リソースのタイプなどを含みうる。例えば、オーナ端末２１０は、その利用可能なリソースを与えることを決定し、あるタイムスケジュールに従ってネットワークトラフィックの１００キロビット／秒までサポートする、トラフィックルータとしてサービスしうる。オーナ端末２１０は、さらに、特定のスケジュールされた時刻の間２ＭＩＰＳまでの処理をサポートする、分散型設計のための計算ノードとして同時にサービスすることを決定しうる。サービスレベルパラメータは、利用可能性、優先順位などのようなパラメータをさらに指定しうる。
【００２８】
例示的な実施例において、ブロック３３０で確立されたサービスレベルパラメータに基づく、サービスレベル合意（ＳＬＡ）（または「サービス合意」）は、例えば、後で図５および図６に関連して記述されるプロシージャに従って、オーナ端末とユーザ端末との間で形成されうる。ＳＬＡは、ユーザ端末に提供されるリソースに従って特定のサービスレベルパラメータを指定し、例えば、提供されるリソースのタイプ、リソースの量、保証される待ち時間などを指定しうる。例示的な実施例において、ＳＬＡは、提供されるリソースに従って特定のタイムスケジュールをさらに指定しうる。代替の例示的な実施例において、ＳＬＡは、提供されるリソースに従って特定のタイムスケジュールを指定する必要がなく、そのようなタイムスケジュールは、ＳＬＡの範囲外で指定されうる。
【００２９】
ブロック３４０では、リースブローカー２１２は、提供されるサービスレベルに対応する価格レベルを確立する。例えば、リースブローカー２１２は、例えば、ｋｂｐｓ毎の使用量等、に基づいた価格で、その利用可能なネットワークトラフィック帯域幅の使用に対する金銭上の補償を要求しうる。
【００３０】
ブロック３５０で、リースブローカー２１２は、ネットワーク１１０を通じてそのローカルリソース２１６の利用可能性を通知しうる。情報は、例えば、ネットワーク上のそのピアにブロードキャストまたはユニキャストによって送られうる。代替あるいは併用として、リースブローカー２１２は、ユーザブローカー２２２から受信された能力メッセージに対する要求に応答しうる。
【００３１】
ブロック３６０で、リースブローカー２１２は、ユーザ端末からの入札を受信するために待機する。
【００３２】
図４は、図２に示されるユーザ端末２２０で、ユーザブローカー２２２によって実行されるプロシージャの例示的な実施例４００を説明する。図４が説明の目的のみのために示され、本開示の範囲を示された任意の特定のプロシージャに限定することが目的ではないことに注意するべきである。
【００３３】
図４において、ブロック４１０で、ユーザブローカー２２２は、ユーザ端末２２０のリソース要求を決定する。リソース要求は、ユーザ端末２２０で実行する、アプリケーション２２６のような、１つまたは複数のアプリケーションから生じうる。リソース要求は、例えば追加の所望のネットワークトラフィック帯域幅、追加の計算帯域幅、追加の記憶容量などを含みうる。
【００３４】
ブロック４２０で、ユーザブローカー２２２は、ユーザ端末２２０のユーザが別の端末からそれらの追加リソースをリースするために支払う意思のある通貨タイプ（currency type）および値幅を決定する。例えば、通貨タイプは、貨幣であり、ユーザは、所望のリソースをリースするために５ドルまで支払う意思がありうる。代替として、通貨タイプは、貨幣である必要がなく、ユーザ端末２２０のユーザは、他の端末のリソースの使用と引き換えに自身のリソースの使用を提供する意思がありうる。例えば、ユーザ端末２２０は、過剰な記憶容量を有し、追加のネットワークトラフィック帯域幅と引き換えに別の端末による使用のためにそのローカル記憶装置容量の一定のメガバイトを提供することを決定しうる。
【００３５】
代替として、オーナ端末とユーザ端末との間のサービスレベル合意（ＳＬＡ）は、通貨として交換され、異なる価格は、同じリソースに対するサービスレベル合意に割り当てられうる。例示的な実施例において、ユーザ端末は、第１のタイムスケジュールに従う特定のリソースを使用するために第１のＳＬＡを所有しうる。ユーザ端末は、第２のタイムスケジュールに従う同じリソースの使用のための第２のＳＬＡと第１のＳＬＡを交換しうる。第２のタイムスケジュールの間のリソースの使用は、第１のタイムスケジュールの間のリソースの使用より価値がありうる。従って、第２のＳＬＡと第１のＳＬＡを交換するために、ユーザ端末は、第２のＳＬＡが第１のＳＬＡより価値があるという事実を考慮して、追加の支払いを提供するように要求されうる。代替として、第１のＳＬＡが第２のＳＬＡより価値のある場合、ユーザ端末は、第２のＳＬＡと第１のＳＬＡを交換するための支払いが提供されうる。そのような代替の例示的な実施形態は、本開示の範囲内として意図される。
【００３６】
ユーザブローカー２２２によって提供された通貨タイプ／値幅／補償は、本明細書に明示的に列挙する必要がないし、任意のタイプの報酬でありうることが認識されるだろう。そのような代替の例示的な実施形態は、本開示の範囲内として意図される。
【００３７】
ブロック４３０で、ユーザブローカー２２２は、ネットワーク１１０上の他の端末によって通知されるような利用可能なリソースを検索しうる。例えば、ユーザブローカー２２２は、図３のブロック３５０でリースブローカー２１２によってブロードキャストまたはユニキャストされる情報を取得しうる。
【００３８】
ブロック４４０で、ユーザブローカー２２２は、ユーザ端末２１０のリソース要求とオーナ端末のリースブローカー２１２によって通知されるようなオーナ端末２１０の利用可能リソースとの間の適合をチェックしうる。適合していない場合、ユーザブローカー２２２は、ブロック４３０に戻り検索し続けうる。適合が取得された場合、ユーザブローカー２２２は、ブロック４５０に進みうる。
【００３９】
ブロック４５０で、ユーザブローカー２２２は、リソースのための入札を開始しうる。
【００４０】
図４のユーザブローカー２２２によって実行されたプロシージャが説明の目的のみのために示され、本開示の範囲を限定するのが目的ではないことに注意するべきである。代替の例示的な実施例において、ユーザブローカー２２２は、それがブロック４２０で支払う意思のある通貨タイプおよび値幅を決定する必要はない。むしろ、ユーザブローカー２２２は、特定のリソースが提供されている価格に関するリースブローカー２１２からの情報を受信するために待機しうる。その後、ユーザブローカー２２２は、提供される価格でユーザ端末のユーザ（図示せず）を促し、ユーザ承認のために待機しうる。そのような代替の例示的な実施形態は、本開示の範囲内として意図されうる。
【００４１】
図５は、入札処理の間にリースブローカー２１２とユーザブローカー２２２との間のインタラクションの例示的な実施例５００を説明する。
【００４２】
図５において、ブロック５１０Ａで、リースブローカー２１２は、オーナ端末２１０でローカルリソース２１６を使用するユーザ端末から入札するために待機する。ブロック５１０Ａは、例えば、図３に関連して記述されたブロック３６０に対応しうる。ブロック５１０Ｂで、ユーザブローカー２２２は、リースブローカー２１２に入札を提出することによって入札を開始する。
【００４３】
その後、ブロック５２０Ａおよび５２０Ｂで、リースブローカー２１２およびユーザブローカー２２２は、交渉（negotiation）に入り、ローカルリソース２１６がユーザ端末２２０にリースされることになる価格および他の条件に関して合意に達しするように努める。例示的な実施例において、ブロック５２０Ａおよび５２０Ｂは、２つのパーティ間の典型的な交渉などの場合、提示、対案などのいくつかの交換を含みうる。ブロック５２０Ａおよび５２０Ｂで実行される特定動作のさらなる記述は、図６および７に関して以下で与えられる。
【００４４】
ブロック５２０Ａおよび５２０Ｂに従って、オーナ端末２１０は、ブロック５３０Ａでユーザ端末２２０とそのリソースを共有し始める。同様に、ブロック５３０Ｂで、ユーザ端末２２０は、オーナ端末２１０によって提供されるリソースを使用し始める。
【００４５】
図６は、図５に示される入札交渉ブロック５２０Ａおよび５２０Ｂ並びにリソース使用ブロック５３０Ａおよび５３０Ｂの間にリースブローカーによって実行されうる特定動作の例示的な実施例６００を説明する。図６が説明の目的のみのために示され本開示の範囲を入札交渉またはリソース使用の間に実行される任意の特定の動作に限定することが目的ではないことに注意されたい。
【００４６】
ブロック６１０で、サービスレベル合意（ＳＬＡ）は、リースブローカー２１２とユーザブローカー２２２との間で取り決められる。前に記述されるように、サービスレベル合意は、リースブローカーによって提供されることが保証された最低のリソース帯域幅、レイテンシ保証などのようなパラメータを指定しうる。単一リソースに対して、異なるサービスレベル合意は、そのリソースの使用のための異なるタイムスケジュールに従って提供されうることに注意されたい。
【００４７】
ブロック６２０で、合意されたサービスレベルのための価格は、リースブローカー２１２とユーザブローカー２２２との間で取り決められる。
【００４８】
ブロック６３０で、支払形式が取り決められる。例えば、支払いが貨幣の場合、クレジットカード払いまたは銀行預金口座振替が指定されうる。代替として、支払いが他のリソースの形式である場合、支払いリソースのサービスレベルがさらに指定されうる。
【００４９】
ブロック６４０で、リースブローカー２１２は、支払いがユーザブローカー２２２によって行なわれたことを確認する。
【００５０】
ブロック６５０で、リースブローカー２１２は、ブロック６１０で合意されるようなサービスレベルに従ってローカルリソース２１６にアクセスを許可する。
【００５１】
ブロック６６０で、リースブローカー２１２は、ユーザ端末２１６によるそのローカルリソース２１６の使用をモニタする。図２に示されるように、リースブローカー２１２は、リソース２１６の使用が合意されたサービスレベルを超過するかどうかモニタしうる。
【００５２】
ブロック６７０で、リースブローカー２１２は、ユーザ端末２１６によって使用されるリソースの実際の量を評価しうる。リースブローカー２１２は、実際の使用量に応じてユーザ端末２１６から要求される支払いを調整しうる。
【００５３】
図７は、オーナ端末２１０のリソース２１６をリースするためにリースブローカー２１２およびユーザブローカー２２２によって実行される支払合意を確立するためのスキームの代替の例示的な実施例を説明する。
【００５４】
ブロック７１０Ｂで、ユーザブローカー２２２は、リソースをリースすることができる十分な資金を有することを確認するチェックしうる。
【００５５】
ブロック７２０Ｂで、ユーザブローカー２２２は、実際にリースブローカー２１２に支払わない、そのような支払い金のための資金を取って置きうる。
【００５６】
ブロック７３０Ｂで、ユーザブローカー２２２は、取って置いた資金をリースブローカー２１２に告知しうる。
【００５７】
ブロック７３０Ａで、リースブローカー２１２は、ユーザブローカー２２２によって支払うための取って置かれた資金が正しいか確認しうる。
【００５８】
ブロック７４０Ａで、リースブローカー２１２は、ブロック７３０Ａで実行された確認に応じてユーザ端末２２０によるリソース２１６へのアクセスを許可しうる。
【００５９】
ブロック７４０Ｂで、ユーザ端末２２０は、リソース２１６にアクセスできるようにする。
【００６０】
ブロック７５０Ｂで、ユーザ端末２２０は、リソース２１６を使用し始めうる。
【００６１】
ブロック７６０Ｂで、ユーザ端末２２０はリソース２１６を使用し終える。
【００６２】
ブロック７７０Ｂで、ユーザブローカー２２２は、実際のリソースの使用量に基づいてサービス品質を測定しうる。これは、リースブローカー２１２による実際の支払いを決定するために使用されうる。
【００６３】
ブロック７７０Ａで、リースブローカー２１２は、さらにパフォーマンスを確認し、ブロック７８０Ａで実際のリソースの使用量に対する支払いを要求しうる。
【００６４】
ブロック７９０Ｂで、ユーザブローカー２２２は、実際のリソースの使用量に対して支払うべき金額を支払う。
【００６５】
ブロック７９０Ａで、リースブローカー７９０Ｂは、支払いを受け取る。
【００６６】
図７は、サービスが実行された後に支払いが行なわれることをブロック７９０Ｂで説明しているが、図７で示されているスキームは、例えば、サービスが実行される前に支払いを受け入れるように容易に修正されうることが認識されることになる。そのような代替の例示的な実施形態は、本開示の範囲内のために意図される。
【００６７】
単一端末とネットワーク１１０との間の利用可能な通信帯域幅を条件として、一つの端末が同時にあるリソースのためのオーナ端末および他のリソースのためのユーザ端末の両方として同時に動作するように本願明細書に記述された技術を採用しうることが認識されることになる。例えば、第１の端末は、ネットワーク上の第２の端末から記憶媒体をリースし、その一方で同時に、第１の端末のネットワーク帯域幅は、ネットワーク上の第３の端末にリースされうる。更に、単一端末は、複数のオーナ端末からリソースを同時にリースし、同様に、さらに複数ユーザ端末に同時にリソースをリースしうる。そのような例示的な実施形態は、本開示の範囲内のために意図され。
【００６８】
以上で記述された技術に対する様々な修正は、本開示の範囲内で当業者のうちの１人によって容易に導き出されることをさらに認識することになる。例えば、代替の例示的な実施例（図示せず）において、リソースのための入札および交渉が行なわれた後、ＳＬＡおよび対応する補償条件は、動的に修正されうる。そのような修正はオーナ端末またはユーザ端末のいずれかによって開始されうる。例えば、オーナ端末が、例えばリソースのためのローカル需要が増加したために、帯域幅または記憶装置の所与のレベルにもはやアクセスを提供することができないことを決定した場合、オーナ端末は、取り決められたＳＬＡを修正することを望むとユーザ端末に警告しうる。ＳＬＡの修正は、予定されていた支払の調整、および／またはユーザ端末によってすでに行われた支払いの返還を含みうる。ＳＬＡの修正は、どのリソースが提供されるかに従って新しい条件を指定しうる。さらなる例示として、ユーザ端末がもはやオーナ端末のリソースを使用する必要がないと決定した場合、低減されたニーズを反映するためにオーナ端末でＳＬＡの修正を要求しうる。例示的な実施例において、ＳＬＡのそのような修正は、例えばパーティによって最初に合意済みであるようなＳＬＡを修正する任意の状況に従いうる。
【００６９】
図８は、アービタ８２０が提供されるシステムの例示的な実施例８００を説明する。アービタ８２０は、オーナ端末８１０およびユーザ端末８２０から独立した端末であり、合意済みのサービスレベルが維持されているか否かモニタしうる。アービタ８２０は、実際のサービスを提供された実際のサービスを評価することと、それに応じて支払いを調整することとにさらに責任を負いうる。アービタ８２０は、後の基準のためにサービス使用量のヒストリカルデータのトラックをさらに保持しうる。例示的な実施例において、アービタは、オーナ端末とユーザ端末との間で行なわれた取り引きを監視するサードパーティエンティティでありうる。アービタは、例えば、提供されるサービスレベルと比較される引き渡されるサービスレベルに基づいて支払をセットするブローカーとして動作しうる。
【００７０】
さらに、本開示の技術の特有のアプリケーションが以下に記述される。アプリケーションが説明の目的のみのために与えられ任意の方法において本開示の範囲を限定するのが目的ではないことに注意されたい。
【００７１】
Ａ．仮想データセンタ
【００７２】
図９は、本開示に従う仮想データセンタの例示的な実施例９００を説明する。図９において、第１のデバイス９１０は、第１のデバイス内に設置されたローカル記憶媒体９２０上にファイル＃１  ９１２およびファイル＃２  ９１４を記憶し検索しうる。さらに、デバイス９３０、９４０、および９５０がネットワーク９０１を通じて第１のデバイス９１０と通信している。以上に記述されたリソース通知、入札、および使用の技術を通じて、第１のデバイス９１０は、第１のデバイス９１０でローカル使用するためのデバイス９３０、９４０、および９５０内の記憶空間をリースするようにアレンジしうる。
【００７３】
仮想データセンタの第１の例示的な実施例において、ユーザ端末は、ネットワークを通じてアクセス可能な１つまたは複数のオーナ端末上の１つまたは複数のファイルを記憶しアクセスしうる。例えば、第１のデバイス９１０は、デバイス９５０の記憶媒体９５１上にファイル＃３  ９５２を記憶する。ここにおいて、ファイル＃３は、デバイス９１０の記憶媒体９２０上にローカルに記憶されない。ユーザ端末は、例えば、ファイルをローカルに記憶する容量を有していない、あるいは遠隔でファイルを記憶するほうがコスト効率がよいなどの任意の数の理由によってそのようにしうる。
【００７４】
仮想データセンタの第２の例示的実施形態において、ユーザ端末は、ユーザ端末が記憶空間をリースする１つまたは複数のオーナ端末上にファイルのバックアップバージョンを格納しうる。例えば、第１のデバイス９１０は、デバイス９４０の記憶媒体９４１上にファイル＃１  ９４２としてローカルファイル＃１  ９１２のバックアップバージョンにアクセスしうる。
【００７５】
例示的な実施例（図示せず）において、第１のデバイス９１０に属する１つまたは複数のファイルのバックアップコピーは、ネットワークを通じて複数のオーナ端末上に複製され、個別に格納されうる。これは、第１のデバイス９１０がいつでもそのバックアップファイルにアクセスすることができる確率を有利に増加させうる。例えば、第１のデバイス９１０のバックアップファイルを記憶する１つまたは複数のオーナ端末が、現在第１のデバイス９１０に対して利用可能でない場合、第１のデバイス９１０は、そのバックアップファイルを記憶する任意の他のオーナ端末からそのバックアップファイルに代わりにアクセスしうる。
【００７６】
第３の例示的な実施例において、ユーザ端末に属する単一ファイルは、個別のサブファイルに分解され、異なるオーナ端末上に別々に記憶されうる。例えば、図９において、第１のデバイス９１０は、デバイス９３０の記憶媒体９３１上にファイル＃２  ９１４の部分ファイル＃２ａ  ９３２をバックアップし、デバイス９４０の記憶媒体９４１上に別の部分ファイル＃２ｂ  ９４３をバックアップしうる。例示的な実施例において、分解は、ユーザ端末によって実行される、あるいは、例えば、直接あるいはネットワークを通じて、ユーザ端末に接続した別個のエンティティによって実行されうる。
【００７７】
例示的な実施例において、以上で別々に記述された仮想データセンタの任意の態様は、さらに単一システム内の組み合わせで提供されうる。そのような例示的な実施形態は本開示の範囲内のために意図されうる。
【００７８】
一旦リソースのリースについての合意が適当な位置にあるとすれば、ネットワーク上の実際のファイル位置をユーザが知る必要がないことは仮想データセンタの以上の記述から理解されることになる。
【００７９】
例示的な実施例において、それぞれの記憶空間の使用のためのデバイス９３０、９４０、および９５０に対する補償は、リースされた記憶空間の量、および／または、記憶空間がリースされた時間の量の関数として請求される金銭的な補償を含みうる。例示的な実施例において、ネットワーク９０１は、インターネットでありうる。デバイス９３０、９４０、および９５０がパーソナルコンピュータである、あるいは利用可能な記憶リソースを有する他の機器である一方、第１のデバイス９１０は、限られたローカル記憶リソースを有しうる。リースするデバイスがネットワークに接続される利用可能な記憶空間を備える任意のデバイスを一般に含み、本開示の技術に従ってそのリソースをリースするためのプラットフォームをサポートすることに注意されたい。
【００８０】
Ｂ．携帯電話帯域幅をリースすること
【００８１】
図１０は、本開示に従ってネットワークトラフィック帯域幅をリースするスキームの例示的な実施例１０００を説明する。図１０において、携帯電話１０１０は、インターネット１００１を備えた第１の接続１００５を確立する。例示的な実施例において、携帯電話１０１０は、例えば、Ｗ−ＣＤＭＡ、ｃｄｍａ２０００、または当該技術分野で既知の他のワイヤレス通信プロトコルのような、ワイヤレスデータ接続を利用しうる。第１の接続１００５は、最大データ転送レートＢＷ１をサポートしうる。ＢＷ１以上のデータ転送レートで転送するために、携帯電話１０１０は、他の端末からネットワークトラフィック帯域幅をリースしうる。
【００８２】
例えば、携帯電話１０１０は、さらにブルートゥースネットワーク１０２０にアクセスし、ブルートゥースプロトコルを使用して、接続１０１５、１０２５、１０３５を通じて他のデバイス１０３０、１０４０、１０５０と通信しうる。本開示の技術によって、携帯電話１０１０は、デバイス１０３０および１０４０がキロバイト単位でインターネットトラフィック帯域幅をリースしていることを見出しうる。帯域幅に対する入札に首尾よく成功した後、携帯電話１０１０は、インターネットにアクセスするためにそれぞれＢＷ２およびＢＷ３のレートで第２の接続１０１５および第３の接続１０２５を利用する。
【００８３】
例示的な実施例において、デバイス１０３０および１０４０は、Ｗ−ＣＤＭＡ、ｃｄｍａ２０００、または別のワイヤレス通信プロトコルを使用してデータネットワークにアクセスする他の携帯電話でありうる。代替として、デバイス１０３０、１０４０のうちのいずれかまたはすべては、イーサネット接続を介してインターネットにアクセスするパーソナルコンピュータでありうる。
【００８４】
Ｃ．動的な分散計算
【００８５】
図１１は、本開示に従う分散計算スキームの例示的な実施例１１００を説明する。図１１において、メインの計算端末１１１０は、計算タスクを行なうことを任されている。計算タスクは、メインの計算端末１１１０のローカルのＣＰＵ１１１５のリソースを超過する大きな計算帯域幅を要求しうる。メインの計算端末１１１０は、計算リソースをリースするために通知しているネットワーク１１０１に接続された他の端末を検索しうる。図１１において、携帯電話１１２０、メインフレームコンピュータ１１３０、および別のパーソナルコンピュータ１１４０は、リースするために利用可能な計算リソースＣＰＵ２  １１２５、ＣＰＵ３  １１３５、およびＣＰＵ４  １１４５を有する。利用可能な計算帯域幅を決定し、リソースのための入札に首尾よく成功した後に、メイン計算端末１１１０は、様々な端末１１２０、１１３０、および１１４０に計算タスクを分散しうる。
【００８６】
例示的な実施例において、リースする端末の構成は、時間とともに変化しうる。例えば、携帯電話１１２０は、ネットワーク１１０１から離れる一方別の形態電話（図示せず）がネットワーク１１０１に入っていうる。この場合、メイン計算端末１１１０は、携帯電話１１２０とそのリースを終了し、新しく存在する携帯電話のＣＰＵに対して新しいリースを確立しうる。このように、本開示のリース技術は、利用可能になる計算リソースとして複数の端末を通じて、メイン計算端末１１１０の計算タスクが動的に分散することを可能にする。
【００８７】
例示的な実施例において、ユーザ端末は、計算リソースに加えて、複数のオーナ端末からのディスク記憶装置空間およびインターネット帯域幅アクセスをさらにリースしうる。これは多機能のアプリケーションを有効にすることができうる。ここで、例えば、ユーザ端末は、インターネットから選択されたデータをダウンロードし、ダウンロードされたデータを解析し、解析結果を記憶し、ユーザ端末に解析レポートを提供するようにオーナ端末に指示しうる。複数のリソースが同時にリースされ利用されるような例示的な実施形態は、本開示の範囲内のために意図される。
【００８８】
Ｄ．オペレーティングシステムまたはアプリケーションをリースすること
【００８９】
図１２は、本開示に従うアプリケーション／ＯＳをリースするスキームの例示的な実施例１２００を説明する。図１２において、第１の携帯電話１２１０は、例えば、Ｇｏｏｇｌｅ  Ｉｎｃ．によって開発された携帯電話のためのアンドロイドオペレーティングシステム（ＯＳ）である、第１のＯＳ１２１２上でアプリケーションを実行する。第２の携帯電話１２２０は、例えばＡｐｐｌｅ  Ｉｎｃ．によって開発されたｉＰｈｏｎｅのためのｉＰｈｏｎｅＯＳあるいは「ＯＳ  Ｘ」である、第２のＯＳ１２２２上でアプリケーションを実行しうる。
【００９０】
第１の携帯電話１２１０がその本来のＯＳ  １２１２にサポートされないターゲットアプリケーションを実行するように求められる状況が生じうる。この場合、第１の携帯電話１２１０は、ターゲットアプリケーション、例えば、第２の携帯電話１２２０をサポートするＯＳを実行している別の端末を探索しうる。簡潔さのために、第１の携帯電話１２１０および第２の形態電話１２２０があるネットワークへの接続は、図１２で省略されていることに注意されたい。
【００９１】
本開示の技術に従って、第１の携帯電話１２１０は、ターゲットアプリケーションを実行し、第２の携帯電話１２２０から実行されたターゲットアプリケーションの結果を検索するために第２の携帯電話１２２０のＯＳ１２２２の使用をリースしうる。例えば、第２の携帯電話１２２０がターゲットアプリケーションをローカルに利用可能にしていない場合、第２の携帯電話１２２０は、第１の携帯電話１２１０からアプリケーションをダウンロードする、またはターゲットアプリケーションがダウンロードされる位置を示すことを第１の携帯電話１２２０に要求しうる。第２の携帯電話１２２０は、第２の携帯電話１２２０のリソースを使用してターゲットアプリケーションを実行し、第１の携帯電話１２１０にアプリケーションの実行結果を提供しうる。第２の携帯電話１２２０は、本開示の技術に従って、例えば、記憶装置、帯域幅、および／またはＣＰＵ要求を指定するサービスレベル合意に従って第１の携帯電話１２１０のためにそのようなサービスを実行しうる。
【００９２】
代替の例示的な実施例で、第２の携帯電話１２２０が既にローカルに利用可能なターゲットアプリケーションを有する場合、第１の携帯電話１２１０は、アプリケーションを実行することを第２の携帯電話１２２０に単に要求しうる。この場合、第２の携帯電話上のアプリケーションモジュールは、第２の電話機上でターゲットアプリケーションにアクセスするための第１の携帯電話１２１０に遠隔インターフェースとしての機能を果たすことが理解されることになる。
【００９３】
例示的な実施例において、遠隔装置、例えば第２の電話機、上のアプリケーションは、ネットワーク上の他のデバイスにそのアプリケーションプログラミングインターフェース（ＡＰＩ）を見えるようにし、その結果として、第１の電話機のアプリケーションがネットワークを通じて第２の電話機のアプリケーションを直接利用することを可能にしうる。代替の例示的な実施例において、中間のアプリケーションは、例えば、サードパーティによって、開発されうる。それは、ネ第２の電話機のアプリケーションに対するインターフェースが例えば、第１の電話機のアプリケーションによってネットワークを通じてそれにアクセスを可能にすることを提供する。当該技術分野の当業者のうちの１人は、ローカルアプリケーションと遠隔のアプリケーションとの間の通信インターフェースが、例えば、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）、遠隔プロシージャプロトコル（ＲＰＣ）、アドビフレックス（Adobe Flex）、当該技術分野において既知の他の標準プロトコルに基づき得ることを理解することになる。
【００９４】
例示的な実施例において、第１の携帯電話１２１０がウェブサーチを実行する必要がある場合、第１の携帯電話１２１０は、第２の携帯電話１２２０に対して第２の検索ウェブサイトにアクセスして検索を同時にオフロードする一方で、第１の検索ウェブサイトにアクセスすることによって検索をローカルに実行する。検索が完了した後、第２の携帯電話１２２０は、第１の携帯電話１２１０に検索結果を返しうる。両方の検索からの結果は、それ自身のリソースを使用して第１の携帯電話１２１０によって行なわれた単一の検索より広範囲になることが認識されることになる。
【００９５】
図１３は、図２に記述されたオーナ端末２１０またはユーザ端末２２０のいずれかの実装に対する装置２５０の例示的な実施例を説明する。装置が説明の目的のみのために示され本開示の範囲を示された任意の特定の例示的な実施形態に限定するのが目的ではないことに注意するべきである。
【００９６】
図１３において、プロセッサ２５１はメモリ２５２に接続して示される。装置２５０がユーザ端末２２０として構成される例示的な実施例において、メモリ２５２は、プロセッサ２５１に、アプリケーションおよびユーザブローカーモジュールを実行するように構成されたアプリケーションモジュールを実施させるための命令を格納しうる。ユーザブローカーモジュールは、アプリケーションモジュールの要求セットを決定し；アプリケーションモジュールの要求セットを少なくとも部分的に満たすリソースを有する少なくとも１つの遠隔端末を識別し；サービス合意に従って少なくとも１つの遠隔端末のリソースを使用するアプリケーションモジュールを使用可能にし：リソースの使用に基づいて補償されるように少なくとも１つの遠隔端末をアレンジするように構成されうる。
【００９７】
装置２５０がオーナ端末２１０として構成される例示的な実施例において、メモリ２５２は、プロセッサ２５１に、リソースが少なくとも１つの遠隔端末によって使用されることが可能な条件を決定し；少なくとも１つの遠隔端末に対する条件を通知し；リソースを使用するために少なくとも１つの遠隔端末とサービス合意を取り決め；少なくとも１つの遠隔端末がリソースを使用することを可能にし；リソースの使用に基づいて少なくとも１つの遠隔端末によって補償されようにアレンジするように構成されたリースブローカーモジュールを実施させるように記憶された命令を記憶する。
【００９８】
技術の当業者のうちの１人は、簡潔さのために、例えば、電気回路、および／または電源、装置がネットワークなどと通信することを可能にする通信トランシーバなどをサポートする、図１３に説明された実装から様々なエレメントが省略されたことを諒解することになる。そのようなエレメントのプロビジョンは、本開示に照らして当業者のうちの１人によって容易に導き出せる。
【００９９】
本明細書及び特許請求の範囲においては、エレメントが別のエレメントに対して「接続されている（ｃｏｎｎｅｃｔｅｄ  ｔｏ）」または「結合されている（ｃｏｕｐｌｅｄ  ｔｏ）」ものとして参照され、そして、それは、他のエレメントに対して、直接接続されるまたは結合されている、または、介在エレメントが存在しうる、ということは理解されるであろう。対照的に、エレメントが別のエレメントに対して「直接接続されている（ｄｉｒｅｃｔｌｙ  ｃｏｎｎｅｃｔｅｄ）」、または、「直接結合されている（ｄｉｒｅｃｔｌｙ  ｃｏｕｐｌｅｄ）」と言及されるときには、介在エレメントはない。
【０１００】
当業者であれば、情報および信号は、さまざまな異なる技術および技法のうちの何れかを用いて表されうることを理解するであろう。例えば、上記説明を通じて参照されうるデータ、命令群、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、あるいはこれらの任意の組み合わせによって表現されうる。
【０１０１】
当業者であれば、さらに、本明細書で開示された典型的な実施形態に関連して記載されたさまざまな例示的な論理ブロック、モジュール、回路、およびアルゴリズム・ステップが、電子ハードウェア、コンピュータ・ソフトウェア、あるいはこれらの組み合わせとして実現されることを理解するであろう。ハードウェアとソフトウェアとの相互置換性を明確に説明するために、さまざまな例示的な構成要素、ブロック、モジュール、回路、およびステップが、それらの機能の観点から一般的に記載された。それら機能がハードウェアとしてまたはソフトウェアとして実現されるかは、特定のアプリケーションおよびシステム全体に課せられている設計制約に依存する。当業者は、各特定のアプリケーションについての様々な方法で、説明された機能性を実施することができるが、そのような実施の決定は、本発明の例示的な実施形態の範囲からの逸脱を生じさせるものとして解釈されるべきでない。
【０１０２】
ここでの例示的な開示に関連して説明された様々な説明のための論理、論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他のプログラマブル論理回路、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは、ここに説明された機能を実行するように設計されたそれらのいずれの組み合わせ、で実施される、あるいは実行されることができる。汎用プロセッサは、マイクロプロセッサでありうるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは順序回路を用いることも可能である。プロセッサは、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１または複数のマイクロプロセッサ、またはその他任意のこのような構成であるコンピューティングデバイスの組み合わせとして実現されうる。
【０１０３】
本明細書で開示された典型的な実施形態に関連して記述された方法やアルゴリズムのステップは、ハードウェアによって直接的に、プロセッサによって実行されるソフトウェアモジュールによって、または、これらの組み合わせによって具体化される。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）メモリ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ、電子的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電子的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭあるいは当技術分野において知られている記憶媒体のいずれの他の形態、において常駐する（ｒｅｓｉｄｅ）ことができる。典型的な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。あるいは、この記憶媒体は、プロセッサに統合されうる。このプロセッサと記憶媒体とは、ＡＳＩＣ内に存在しうる。ＡＳＩＣは、ユーザ端末内に存在しうる。あるいは、プロセッサおよび記憶媒体は、ユーザ端末内のディスクリート部品として存在しうる。
【０１０４】
１または複数の典型的な実施形態では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせによって実現されうる。ソフトウェアで実現される場合、これら機能は、コンピュータ読取可能媒体上に格納されるか、あるいは、コンピュータ読取可能媒体上の１または複数の命令群またはコードとして送信されうる。コンピュータ読取可能媒体は、コンピュータ記憶媒体と通信媒体との両方を含む。これらは、コンピュータ・プログラムのある場所から別の場所への転送を容易にする任意の媒体を含む。記憶媒体は、コンピュータによってアクセスされうる利用可能な任意の媒体である。例として、限定することなく、このようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは、所望のプログラム・コード手段を命令群またはデータ構造の形式で搬送または格納するために使用され、しかも、コンピュータによってアクセスされうるその他任意の媒体を備えうる。さらに、いかなる接続も、コンピュータ読取可能媒体と適切に称される。同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線（ＤＳＬ）、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術を使用して、ウェブサイト、サーバ、あるいはその他の遠隔ソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術が、媒体の定義に含まれる。本明細書で使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクト・ディスク（ＣＤ）、レーザ・ディスク、光ディスク、デジタル・バーサタイル・ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルー・レイ・ディスクを含む。これらｄｉｓｃは、レーザを用いてデータを光学的に再生する。それに対して、ｄｉｓｋは、通常、データを磁気的に再生する。上記の組み合わせもまた、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【０１０５】
開示された典型的な実施形態の上記記載は、当業者をして、本発明の製造または利用を可能とするように提供される。これら典型的な実施形態に対するさまざまな変形例もまた、当業者には明らかであって、本明細書で定義された一般的な原理は、本発明の主旨または範囲から逸脱することなくその他の実施形態にも適用されうる。したがって、本発明は、本明細書で示された典型的な実施形態に限定されるものではなく、本明細書で開示された原理および新規な特徴に一致した最も広い範囲に相当することが意図されている。
【図１】
2013527951.tif 000003
【図２】
2013527951.tif 000004
【図３】
2013527951.tif 000005
【図４】
2013527951.tif 000006
【図５】
2013527951.tif 000007
【図６】
2013527951.tif 000008
【図７】
2013527951.tif 000009
【図８】
2013527951.tif 000010
【図９】
2013527951.tif 000011
【図１０】
2013527951.tif 000012
【図１１】
2013527951.tif 000013
【図１２】
2013527951.tif 000014
【図１３】
2013527951.tif 000015
【国際調査報告】
2013527951.tif 000016
2013527951.tif 000017
2013527951.tif 000018