(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザブローカーモジュールは、前記少なくとも1つの遠隔端末の通知されたリソース容量を受け取り、前記通知されたリソース容量が前記少なくとも1つの遠隔端末の前記要求セットの少なくとも1つの要求を満足するかどうか決定することによって前記少なくとも1つの遠隔端末を識別するように構成される、
請求項1に記載の装置。
前記アプリケーションモジュールの前記要求セットは、ターゲットアプリケーション、特定のハードウェアの利用可能性、およびオペレーティングシステムから成るグループから選択される少なくとも1つのパラメータを備える、
請求項1に記載の装置。
少なくとも1つのパラメータを指定する前記サービス合意は、保証されたデータ記憶容量の最小量、計算帯域幅の最小量、ネットワークトラフィック帯域幅の最小量、およびサポートされるオペレーティングシステムから成るグループから選択される、
請求項1に記載の装置。
前記ユーザブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも1つの遠隔端末のリースブローカーモジュールと通信することによって前記少なくとも1つの遠隔端末を識別するように構成される、
請求項1に記載の装置。
前記ユーザブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも1つの遠隔端末のリースブローカーモジュールと通信することによって前記少なくとも1つの遠隔端末を識別するように構成される、
請求項1に記載の装置。
前記リソースは、サポートされるターゲットアプリケーション、特定ハードウェアモジュール、サポートされるオペレーティングシステム、から成るグループから選択されるリソースを備える、
請求項16に記載の装置。
前記サービス合意は、保証されたデータ記憶容量の最小量、計算帯域幅の最小量、およびネットワークトラフィック帯域幅の最小量から成るグループから選択されるものを特定する、
請求項16に記載の装置。
前記サービス合意は、サポートされるターゲットアプリケーション、特定のハードウェアモジュール、およびサポートされるオペレーティングシステムから成るグループからのパラメータを指定する、
請求項16に記載の装置。
前記リースブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも1つの遠隔端末のユーザブローカーモジュールと通信することによって通知するように構成される、
請求項16に記載の装置。
前記リースブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも1つの遠隔端末のユーザブローカーモジュールと通信することによって通知するように構成される、
請求項16に記載の装置。
前記要求セットは、データ記憶容量の要求量、計算帯域幅の要求量、ネットワークトラフィック帯域幅の要求量、前記リソースが使用されうるタイムスケジュール、サポートされるターゲットアプリケーション、特定ハードウェアの利用可能性、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも1つのパラメータを備える、
請求項30に記載の方法。
リソースが少なくとも1つの遠隔端末によって使用されることができる条件を決定することと、前記リソースは、リースされたオペレーティングシステム(OS)上でアプリケーションを実行する能力を備える、
前記少なくとも1つの遠隔端末に前記条件を通知することと、
前記リソースを使用する前記少なくとも1つの遠隔端末とサービス合意を取り決めることと、前記サービス合意を取り決めることは、第1のタイムスケジュールに従う前記リソースを使用するための第1のサービスレベル合意(SLA)を第2のタイムスケジュールに従う前記リソースの使用のための第2のSLAと交換することと、前記第1のSLAの価値と前記第2のSLAの価値を考慮して追加の支払いを受けることとを備える、
前記少なくとも1つの遠隔端末が前記リソースを使用できるようにすることと、前記使用できるようにすることは、前記リースされたOS上でターゲットアプリケーションを実行することを備える、
前記リソースの前記使用に基づいて補償を受け取ることと
を備える、方法。
前記リソースは、データ記憶容量、計算帯域幅、ネットワークトラフィック帯域幅、サポートされるアプリケーション、特定ハードウェアの利用可能性、サポートされるオペレーティングシステム、から成るグループから選択される少なくとも1つのメンバーを備える、
請求項34に記載の方法。
リソースが少なくとも1つの遠隔端末によって使用されることができる条件を決定するための手段と、前記リソースは、リースされたオペレーティングシステム(OS)上でアプリケーションを実行する能力を備える、
前記少なくとも1つの遠隔端末に前記条件を通知するための手段と、
前記リソースを使用する前記少なくとも1つの遠隔端末とサービス合意を取り決めるための手段と、前記サービス合意を取り決めるための手段は、第1のタイムスケジュールに従う前記リソースを使用するための第1のサービスレベル合意(SLA)を第2のタイムスケジュールに従う前記リソースの使用のための第2のSLAと交換するための手段と、前記第1のSLAの価値と前記第2のSLAの価値を考慮して追加の支払いを受けるための手段とを備える、
前記少なくとも1つの遠隔端末がリソースを使用できるようにするための手段と、前記使用できるようにすることは、前記リースされたOS上でターゲットアプリケーションを実行することを備える、
前記リソースの前記使用に基づいて補償を受け取る手段と
を備える、装置。
【発明を実施するための形態】
【0010】
添付図面に関連した下記の詳細の説明は、本発明の例示的な実施形態の説明として意図されており、本発明が実施されることができる唯一つの例示的な実施形態を表わすことを意図していない。本明細書の全体にわたって使用されている用語「例示的な(exemplary)」は、「例(example)、インスタンス(instance)、又は例証(illustration)として機能している」を意味しており、他の例示的な実施形態よりも好ましいまたは有利であるとして、必ずしも解釈されるべきではない。詳細な説明は、本発明の例示的な実施形態の完全な理解を提供する目的で具体的な詳細を含む。本発明の例示的な実施形態はこれらの具体的な詳細なしに実践されうるということは当業者にとって明らかであろう。他の例では、よく知られた構造及びデバイスは、ここにおいて提示された例示的な実施形態の新規性を不明瞭にすることを回避するために、ブロック図の形で示されている。
【0011】
図1は、本開示の原理に従って動作するシステムの例示的な実施例100を説明する。システム100が説明の目的のみのために示され、本開示の範囲を任意の特定番号または示された端末のタイプに限定する目的ではないことに注意されたい。
【0012】
図1において、複数の端末120A、120B、120C、120Dは、ネットワーク110に接続されて示されている。端末は、パーソナルコンピュータ120A、120Bと、携帯電話120Cと、メインフレームコンピュータ120Dとを含む。ネットワーク110は、様々な端末120が互いに通信し、ネットワークに接続された他の端末(図示せず)と通信することができる通信プラットフォームを提供する。例示的な実施例において、ネットワーク110は、インターネットであり、端末から端末への情報転送は、例えば、TCP/IPを使用して遂行されうる。代替として、ネットワーク110は、ブルートゥースネットワーク、イーサネットベースのローカルエリアネットワーク(LAN)等でありうる。端末は、当該技術分野において既知の任意のネットワーク接続技術を使用して接続され、例えば、イーサネットネットワーキングまたはモデム接続のようなワイヤード接続、および/またはW−CDMA、cdma2000、ブルートゥースなどのようなワイヤレス標準によってサポートされるようなワイヤレス接続を含みうる。
【0013】
ネットワーク110は、
図1の任意の2つの端末の間にはさまれて示されているが、代替の例示的な実施形態において、任意の2つの端末は、さらに「ネットワーク」を必ず横断せずに互いに直接通信しうることが認識されるだろう。例えば、2つの端末が、ブルートゥース、あるいは直接ワイヤード接続またはワイヤレス接続の他のタイプを使用して、互いにワイヤレスで通信する、あるいは、そのような2つの端末は、本開示のリソースをリースする技術を実装しうる。そのような代替の例示的な実施形態は、本開示の範囲内のために考えられる。
【0014】
端末120A、120B、120C、120Dの各々は、その計算タスクおよび/または処理タスクを実行するために利用可能なローカルリソースのある量を典型的に所有することを諒解されたい。例えば、パーソナルコンピュータ120Aは、パーソナルコンピュータ120A内にローカルに提供される1つまたは複数のCPUを使用するデータを処理しうる。または、パーソナルコンピュータ120Bは、パーソナルコンピュータ120B内に提供されるローカルハードディスク記憶媒体を使用してデータを記憶しうる。さらなる例示として、携帯電話120Cは、携帯電話120C内にローカルに設置された1つまたは複数の処理エンジンを使用して、例えば、ビデオの圧縮あるいは解凍を実行しうる。そのようなアプリケーションにおいて、各端末の処理および記憶能力は、端末で利用可能なローカルリソースの量によって典型的に制限される。
【0015】
いくつかのアプリケーションにおいて、端末でローカルに利用可能であることを越えた、追加の処理能力または記憶能力に端末がアクセスすることは有益でありうる。例えば、計算量の集中するアプリケーションを起動している間、パーソナルコンピュータ120A(「ユーザ端末」)は、それ自身の計算リソースを使い果たす一方で、アイドル中であるパーソナルコンピュータ120B(「オーナ端末」)は、パーソナルコンピュータ120Aによって必要とされる追加の計算リソースを有しうる。端末間のリソースを共有するスキームは当該技術分野で既知であるが、そのような共有は、共有されるべき利用可能なリソースを識別する一般的でフレキシブルなスキームおよび異なる端末間のリソース使用量を公平に分割するためのシステムの欠落によりしばしば非実用的である。前の例示において、パーソナルコンピュータ120Aは、パーソナルコンピュータ120Bの計算リソースの使用によって恩恵を受けるにもかかわらず、パーソナルコンピュータ120Aは、パーソナルコンピュータ120Bがその利用可能リソースを通知しないので、パーソナルコンピュータ120Bがそれらのリソースを有することを知らない。更に、パーソナルコンピュータ120Aがパーソナルコンピュータ120Bのリソースを利用できることを知っていたとしても、2つのコンピュータが2つの無関係な実在者によって所有されうるので、パーソナルコンピュータ120Bは、パーソナルコンピュータ120Aにそのリソースを貸す意思がなく、ひいては、コンピュータ120Aにそのリソースを貸すことによるコンピュータ120Bのオーナへの利益を何ら認識できない。
【0016】
オーナ端末が利益のためにユーザ端末とそのローカルリソースを共有し通知することを生じさせ、ユーザ端末がそのリソースの使用または「リース」のためにオーナ端末に支払いの意思を通知し識別しうるフレキシブルでユニバーサルな技術を提供することが望まれている。
【0017】
図2は、本開示に従ってネットワークリソースをリースするためのシステムの例示的な実施例200を説明する。
図2において、オーナ端末210は、ユーザ端末220にオーナ端末210のリソースをリースするためにネットワーク110を介してユーザ端末220と通信する。
【0018】
図2において、オーナ端末210は、ネットワーク110上の他のユーザと共有できるローカルリソース216を所有する。リースブローカー212は、ローカルリソース216とデータ214を交換し、さらにネットワーク110上の他の端末と通信する。リースブローカー212は、リソースのタイプ、共有されるべきリソースの量、およびリソースが共有されることに従うタイムスケジュールのような、共有されることになるローカルリソース216に関連するパラメータを決定することに対して関与する。そのようなタイムスケジュールは、例えば、リソースが利用可能である開始時間および停止時間を指定しうる。
【0019】
例えば、ローカルリソース216がCPU処理能力である例示的な実施例において、ブローカー212は、例えば、ローカルリソース216の2MIPS(または100万命令毎秒)が開始時間から停止時間までリース開始のために利用可能であることを決定する。リースブローカー212は、ネットワーク110上の他の端末にこれらのパラメータを通知し、ローカルリソース216が他の端末にリースされる条件を取り決めうる。
【0020】
本開示に従って、ローカルリソース216は、CPU能力、記憶容量、インターネット帯域幅、電力などを含むがこれらに限定されない。これらの例示が説明の目的のみのために与えられ、他のユーザと共有できる任意のリソースも本開示の範囲内であることを意図されることに注意されたい。
【0021】
図2において、ユーザ端末220で、ローカルアプリケーション226が実行されている。アプリケーション226は、ユーザ端末220でローカルに利用可能なものを越えた追加リソースを使用するように要求しうる。アプリケーション226は、データ転送器224を介してユーザブローカー222にその追加のリソース要求を伝える。ユーザブローカー222は、アプリケーション226のリソース要求に関連するパラメータを決定することと、リース可能なリソースを有するネットワーク110上の潜在的なオーナ端末を識別することと、ユーザ端末220がオーナ端末または複数のオーナ端末からリソース、例えば、オーナ端末210からローカルリソース216をリースすることが受け入れ可能な条件を取り決めることとに関与する。
【0022】
そのローカルリソース216のリースに対する補償として、リースブローカー212は、支払いを要求しうる。本開示に従って、そのような支払いは、通貨(monetary currency)、リソース交換、償還可能なクレジットなどを含むがこれらに限定されない。支払いのこれらの例示は、説明の目的のみのために与えられ、任意の価値交換の形式が本開示の範囲内にあることを意図することに注意されたい。
【0023】
図2において、リソース216は、リースブローカー212が利用可能な同じデバイスでローカルに利用可能であるとして示されている(つまり、リソース216は「ローカルリソース」である)が、リソース216およびリースブローカー212は、一般に単一デバイス上に配置される必要がないことを注意すべきである。例えば、リースブローカー212は、デバイス210と離れている別のデバイス(図示せず)上で実装され、デバイス210のためのリソース216のリースを例えば、ネットワーク110を通じて、リモートで扱いうる。そのような代替の例示的な実施形態は本開示の範囲内のために意図される。
【0024】
図3は、
図2に示されるオーナ端末210でリースブローカー212によって実行されるプロシージャの例示的な実施例300を説明する。
図3は、説明の目的のみのために示され、示された任意の特定のプロシージャに本開示の範囲を限定するのが目的でないことに注意されたい。
【0025】
図3において、ブロック310で、リースブローカー212は、オーナ端末210で利用可能なリソースを検索する。例示的な実施例において、リースブローカー212は、オーナ端末210であらかじめ識別されたリソースのリストにアクセスするように構成され、そのようなリソースがリースするために現在利用可能かどうか決定するためにオーナ端末210でソフトウェア制御器またはハードウェア制御器にクエリしうる。そのようなリソースは、上述したように、例えば、利用可能なCPU計算帯域幅、ネットワークトラフィック帯域幅、データ記憶などを含みうる。
【0026】
ブロック320で、リースブローカー212は、ローカルに利用可能なリソースがローカル端末210に最小限の影響でネットワーク上の他の端末と共有されるかどうか識別しうる。例えば、オーナ端末210がブロック310で決定されるようにローカルに利用可能なデータ記憶リソースを有している場合でさえ、オーナ端末のデータ記憶リソースを共有することは、例えば、オーナ端末がバッテリー電源が不足しているデバイスである場合に、適切になりえない。
【0027】
ブロック330では、リースブローカー212は、提供することができるサービスレベルを確立する。サービスレベルパラメータは、リースされるリソースの量、リソースのタイプなどを含みうる。例えば、オーナ端末210は、その利用可能なリソースを与えることを決定し、あるタイムスケジュールに従ってネットワークトラフィックの100キロビット/秒までサポートする、トラフィックルータとしてサービスしうる。オーナ端末210は、さらに、特定のスケジュールされた時刻の間2MIPSまでの処理をサポートする、分散型設計のための計算ノードとして同時にサービスすることを決定しうる。サービスレベルパラメータは、利用可能性、優先順位などのようなパラメータをさらに指定しうる。
【0028】
例示的な実施例において、ブロック330で確立されたサービスレベルパラメータに基づく、サービスレベル合意(SLA)(または「サービス合意」)は、例えば、後で
図5および
図6に関連して記述されるプロシージャに従って、オーナ端末とユーザ端末との間で形成されうる。SLAは、ユーザ端末に提供されるリソースに従って特定のサービスレベルパラメータを指定し、例えば、提供されるリソースのタイプ、リソースの量、保証される待ち時間などを指定しうる。例示的な実施例において、SLAは、提供されるリソースに従って特定のタイムスケジュールをさらに指定しうる。代替の例示的な実施例において、SLAは、提供されるリソースに従って特定のタイムスケジュールを指定する必要がなく、そのようなタイムスケジュールは、SLAの範囲外で指定されうる。
【0029】
ブロック340では、リースブローカー212は、提供されるサービスレベルに対応する価格レベルを確立する。例えば、リースブローカー212は、例えば、kbps毎の使用量等、に基づいた価格で、その利用可能なネットワークトラフィック帯域幅の使用に対する金銭上の補償を要求しうる。
【0030】
ブロック350で、リースブローカー212は、ネットワーク110を通じてそのローカルリソース216の利用可能性を通知しうる。情報は、例えば、ネットワーク上のそのピアにブロードキャストまたはユニキャストによって送られうる。代替あるいは併用として、リースブローカー212は、ユーザブローカー222から受信された能力メッセージに対する要求に応答しうる。
【0031】
ブロック360で、リースブローカー212は、ユーザ端末からの入札を受信するために待機する。
【0032】
図4は、
図2に示されるユーザ端末220で、ユーザブローカー222によって実行されるプロシージャの例示的な実施例400を説明する。
図4が説明の目的のみのために示され、本開示の範囲を示された任意の特定のプロシージャに限定することが目的ではないことに注意するべきである。
【0033】
図4において、ブロック410で、ユーザブローカー222は、ユーザ端末220のリソース要求を決定する。リソース要求は、ユーザ端末220で実行する、アプリケーション226のような、1つまたは複数のアプリケーションから生じうる。リソース要求は、例えば追加の所望のネットワークトラフィック帯域幅、追加の計算帯域幅、追加の記憶容量などを含みうる。
【0034】
ブロック420で、ユーザブローカー222は、ユーザ端末220のユーザが別の端末からそれらの追加リソースをリースするために支払う意思のある通貨タイプ(currency type)および値幅を決定する。例えば、通貨タイプは、貨幣であり、ユーザは、所望のリソースをリースするために5ドルまで支払う意思がありうる。代替として、通貨タイプは、貨幣である必要がなく、ユーザ端末220のユーザは、他の端末のリソースの使用と引き換えに自身のリソースの使用を提供する意思がありうる。例えば、ユーザ端末220は、過剰な記憶容量を有し、追加のネットワークトラフィック帯域幅と引き換えに別の端末による使用のためにそのローカル記憶装置容量の一定のメガバイトを提供することを決定しうる。
【0035】
代替として、オーナ端末とユーザ端末との間のサービスレベル合意(SLA)は、通貨として交換され、異なる価格は、同じリソースに対するサービスレベル合意に割り当てられうる。例示的な実施例において、ユーザ端末は、第1のタイムスケジュールに従う特定のリソースを使用するために第1のSLAを所有しうる。ユーザ端末は、第2のタイムスケジュールに従う同じリソースの使用のための第2のSLAと第1のSLAを交換しうる。第2のタイムスケジュールの間のリソースの使用は、第1のタイムスケジュールの間のリソースの使用より価値がありうる。従って、第2のSLAと第1のSLAを交換するために、ユーザ端末は、第2のSLAが第1のSLAより価値があるという事実を考慮して、追加の支払いを提供するように要求されうる。代替として、第1のSLAが第2のSLAより価値のある場合、ユーザ端末は、第2のSLAと第1のSLAを交換するための支払いが提供されうる。そのような代替の例示的な実施形態は、本開示の範囲内として意図される。
【0036】
ユーザブローカー222によって提供された通貨タイプ/値幅/補償は、本明細書に明示的に列挙する必要がないし、任意のタイプの報酬でありうることが認識されるだろう。そのような代替の例示的な実施形態は、本開示の範囲内として意図される。
【0037】
ブロック430で、ユーザブローカー222は、ネットワーク110上の他の端末によって通知されるような利用可能なリソースを検索しうる。例えば、ユーザブローカー222は、
図3のブロック350でリースブローカー212によってブロードキャストまたはユニキャストされる情報を取得しうる。
【0038】
ブロック440で、ユーザブローカー222は、ユーザ端末210のリソース要求とオーナ端末のリースブローカー212によって通知されるようなオーナ端末210の利用可能リソースとの間の適合をチェックしうる。適合していない場合、ユーザブローカー222は、ブロック430に戻り検索し続けうる。適合が取得された場合、ユーザブローカー222は、ブロック450に進みうる。
【0039】
ブロック450で、ユーザブローカー222は、リソースのための入札を開始しうる。
【0040】
図4のユーザブローカー222によって実行されたプロシージャが説明の目的のみのために示され、本開示の範囲を限定するのが目的ではないことに注意するべきである。代替の例示的な実施例において、ユーザブローカー222は、それがブロック420で支払う意思のある通貨タイプおよび値幅を決定する必要はない。むしろ、ユーザブローカー222は、特定のリソースが提供されている価格に関するリースブローカー212からの情報を受信するために待機しうる。その後、ユーザブローカー222は、提供される価格でユーザ端末のユーザ(図示せず)を促し、ユーザ承認のために待機しうる。そのような代替の例示的な実施形態は、本開示の範囲内として意図されうる。
【0041】
図5は、入札処理の間にリースブローカー212とユーザブローカー222との間のインタラクションの例示的な実施例500を説明する。
【0042】
図5において、ブロック510Aで、リースブローカー212は、オーナ端末210でローカルリソース216を使用するユーザ端末から入札するために待機する。ブロック510Aは、例えば、
図3に関連して記述されたブロック360に対応しうる。ブロック510Bで、ユーザブローカー222は、リースブローカー212に入札を提出することによって入札を開始する。
【0043】
その後、ブロック520Aおよび520Bで、リースブローカー212およびユーザブローカー222は、交渉(negotiation)に入り、ローカルリソース216がユーザ端末220にリースされることになる価格および他の条件に関して合意に達しするように努める。例示的な実施例において、ブロック520Aおよび520Bは、2つのパーティ間の典型的な交渉などの場合、提示、対案などのいくつかの交換を含みうる。ブロック520Aおよび520Bで実行される特定動作のさらなる記述は、
図6および7に関して以下で与えられる。
【0044】
ブロック520Aおよび520Bに従って、オーナ端末210は、ブロック530Aでユーザ端末220とそのリソースを共有し始める。同様に、ブロック530Bで、ユーザ端末220は、オーナ端末210によって提供されるリソースを使用し始める。
【0045】
図6は、
図5に示される入札交渉ブロック520Aおよび520B並びにリソース使用ブロック530Aおよび530Bの間にリースブローカーによって実行されうる特定動作の例示的な実施例600を説明する。
図6が説明の目的のみのために示され本開示の範囲を入札交渉またはリソース使用の間に実行される任意の特定の動作に限定することが目的ではないことに注意されたい。
【0046】
ブロック610で、サービスレベル合意(SLA)は、リースブローカー212とユーザブローカー222との間で取り決められる。前に記述されるように、サービスレベル合意は、リースブローカーによって提供されることが保証された最低のリソース帯域幅、レイテンシ保証などのようなパラメータを指定しうる。単一リソースに対して、異なるサービスレベル合意は、そのリソースの使用のための異なるタイムスケジュールに従って提供されうることに注意されたい。
【0047】
ブロック620で、合意されたサービスレベルのための価格は、リースブローカー212とユーザブローカー222との間で取り決められる。
【0048】
ブロック630で、支払形式が取り決められる。例えば、支払いが貨幣の場合、クレジットカード払いまたは銀行預金口座振替が指定されうる。代替として、支払いが他のリソースの形式である場合、支払いリソースのサービスレベルがさらに指定されうる。
【0049】
ブロック640で、リースブローカー212は、支払いがユーザブローカー222によって行なわれたことを確認する。
【0050】
ブロック650で、リースブローカー212は、ブロック610で合意されるようなサービスレベルに従ってローカルリソース216にアクセスを許可する。
【0051】
ブロック660で、リースブローカー212は、ユーザ端末216によるそのローカルリソース216の使用をモニタする。
図2に示されるように、リースブローカー212は、リソース216の使用が合意されたサービスレベルを超過するかどうかモニタしうる。
【0052】
ブロック670で、リースブローカー212は、ユーザ端末216によって使用されるリソースの実際の量を評価しうる。リースブローカー212は、実際の使用量に応じてユーザ端末216から要求される支払いを調整しうる。
【0053】
図7は、オーナ端末210のリソース216をリースするためにリースブローカー212およびユーザブローカー222によって実行される支払合意を確立するためのスキームの代替の例示的な実施例を説明する。
【0054】
ブロック710Bで、ユーザブローカー222は、リソースをリースすることができる十分な資金を有することを確認するチェックしうる。
【0055】
ブロック720Bで、ユーザブローカー222は、実際にリースブローカー212に支払わない、そのような支払い金のための資金を取って置きうる。
【0056】
ブロック730Bで、ユーザブローカー222は、取って置いた資金をリースブローカー212に告知しうる。
【0057】
ブロック730Aで、リースブローカー212は、ユーザブローカー222によって支払うための取って置かれた資金が正しいか確認しうる。
【0058】
ブロック740Aで、リースブローカー212は、ブロック730Aで実行された確認に応じてユーザ端末220によるリソース216へのアクセスを許可しうる。
【0059】
ブロック740Bで、ユーザ端末220は、リソース216にアクセスできるようにする。
【0060】
ブロック750Bで、ユーザ端末220は、リソース216を使用し始めうる。
【0061】
ブロック760Bで、ユーザ端末220はリソース216を使用し終える。
【0062】
ブロック770Bで、ユーザブローカー222は、実際のリソースの使用量に基づいてサービス品質を測定しうる。これは、リースブローカー212による実際の支払いを決定するために使用されうる。
【0063】
ブロック770Aで、リースブローカー212は、さらにパフォーマンスを確認し、ブロック780Aで実際のリソースの使用量に対する支払いを要求しうる。
【0064】
ブロック790Bで、ユーザブローカー222は、実際のリソースの使用量に対して支払うべき金額を支払う。
【0065】
ブロック790Aで、リースブローカー790Bは、支払いを受け取る。
【0066】
図7は、サービスが実行された後に支払いが行なわれることをブロック790Bで説明しているが、
図7で示されているスキームは、例えば、サービスが実行される前に支払いを受け入れるように容易に修正されうることが認識されることになる。そのような代替の例示的な実施形態は、本開示の範囲内のために意図される。
【0067】
単一端末とネットワーク110との間の利用可能な通信帯域幅を条件として、一つの端末が同時にあるリソースのためのオーナ端末および他のリソースのためのユーザ端末の両方として同時に動作するように本願明細書に記述された技術を採用しうることが認識されることになる。例えば、第1の端末は、ネットワーク上の第2の端末から記憶媒体をリースし、その一方で同時に、第1の端末のネットワーク帯域幅は、ネットワーク上の第3の端末にリースされうる。更に、単一端末は、複数のオーナ端末からリソースを同時にリースし、同様に、さらに複数ユーザ端末に同時にリソースをリースしうる。そのような例示的な実施形態は、本開示の範囲内のために意図され。
【0068】
以上で記述された技術に対する様々な修正は、本開示の範囲内で当業者のうちの1人によって容易に導き出されることをさらに認識することになる。例えば、代替の例示的な実施例(図示せず)において、リソースのための入札および交渉が行なわれた後、SLAおよび対応する補償条件は、動的に修正されうる。そのような修正はオーナ端末またはユーザ端末のいずれかによって開始されうる。例えば、オーナ端末が、例えばリソースのためのローカル需要が増加したために、帯域幅または記憶装置の所与のレベルにもはやアクセスを提供することができないことを決定した場合、オーナ端末は、取り決められたSLAを修正することを望むとユーザ端末に警告しうる。SLAの修正は、予定されていた支払の調整、および/またはユーザ端末によってすでに行われた支払いの返還を含みうる。SLAの修正は、どのリソースが提供されるかに従って新しい条件を指定しうる。さらなる例示として、ユーザ端末がもはやオーナ端末のリソースを使用する必要がないと決定した場合、低減されたニーズを反映するためにオーナ端末でSLAの修正を要求しうる。例示的な実施例において、SLAのそのような修正は、例えばパーティによって最初に合意済みであるようなSLAを修正する任意の状況に従いうる。
【0069】
図8は、アービタ820が提供されるシステムの例示的な実施例800を説明する。アービタ820は、オーナ端末810およびユーザ端末820から独立した端末であり、合意済みのサービスレベルが維持されているか否かモニタしうる。アービタ820は、実際のサービスを提供された実際のサービスを評価することと、それに応じて支払いを調整することとにさらに責任を負いうる。アービタ820は、後の基準のためにサービス使用量のヒストリカルデータのトラックをさらに保持しうる。例示的な実施例において、アービタは、オーナ端末とユーザ端末との間で行なわれた取り引きを監視するサードパーティエンティティでありうる。アービタは、例えば、提供されるサービスレベルと比較される引き渡されるサービスレベルに基づいて支払をセットするブローカーとして動作しうる。
【0070】
さらに、本開示の技術の特有のアプリケーションが以下に記述される。アプリケーションが説明の目的のみのために与えられ任意の方法において本開示の範囲を限定するのが目的ではないことに注意されたい。
【0072】
図9は、本開示に従う仮想データセンタの例示的な実施例900を説明する。
図9において、第1のデバイス910は、第1のデバイス内に設置されたローカル記憶媒体920上にファイル#1 912およびファイル#2 914を記憶し検索しうる。さらに、デバイス930、940、および950がネットワーク901を通じて第1のデバイス910と通信している。以上に記述されたリソース通知、入札、および使用の技術を通じて、第1のデバイス910は、第1のデバイス910でローカル使用するためのデバイス930、940、および950内の記憶空間をリースするようにアレンジしうる。
【0073】
仮想データセンタの第1の例示的な実施例において、ユーザ端末は、ネットワークを通じてアクセス可能な1つまたは複数のオーナ端末上の1つまたは複数のファイルを記憶しアクセスしうる。例えば、第1のデバイス910は、デバイス950の記憶媒体951上にファイル#3 952を記憶する。ここにおいて、ファイル#3は、デバイス910の記憶媒体920上にローカルに記憶されない。ユーザ端末は、例えば、ファイルをローカルに記憶する容量を有していない、あるいは遠隔でファイルを記憶するほうがコスト効率がよいなどの任意の数の理由によってそのようにしうる。
【0074】
仮想データセンタの第2の例示的実施形態において、ユーザ端末は、ユーザ端末が記憶空間をリースする1つまたは複数のオーナ端末上にファイルのバックアップバージョンを格納しうる。例えば、第1のデバイス910は、デバイス940の記憶媒体941上にファイル#1 942としてローカルファイル#1 912のバックアップバージョンにアクセスしうる。
【0075】
例示的な実施例(図示せず)において、第1のデバイス910に属する1つまたは複数のファイルのバックアップコピーは、ネットワークを通じて複数のオーナ端末上に複製され、個別に格納されうる。これは、第1のデバイス910がいつでもそのバックアップファイルにアクセスすることができる確率を有利に増加させうる。例えば、第1のデバイス910のバックアップファイルを記憶する1つまたは複数のオーナ端末が、現在第1のデバイス910に対して利用可能でない場合、第1のデバイス910は、そのバックアップファイルを記憶する任意の他のオーナ端末からそのバックアップファイルに代わりにアクセスしうる。
【0076】
第3の例示的な実施例において、ユーザ端末に属する単一ファイルは、個別のサブファイルに分解され、異なるオーナ端末上に別々に記憶されうる。例えば、
図9において、第1のデバイス910は、デバイス930の記憶媒体931上にファイル#2 914の部分ファイル#2a 932をバックアップし、デバイス940の記憶媒体941上に別の部分ファイル#2b 943をバックアップしうる。例示的な実施例において、分解は、ユーザ端末によって実行される、あるいは、例えば、直接あるいはネットワークを通じて、ユーザ端末に接続した別個のエンティティによって実行されうる。
【0077】
例示的な実施例において、以上で別々に記述された仮想データセンタの任意の態様は、さらに単一システム内の組み合わせで提供されうる。そのような例示的な実施形態は本開示の範囲内のために意図されうる。
【0078】
一旦リソースのリースについての合意が適当な位置にあるとすれば、ネットワーク上の実際のファイル位置をユーザが知る必要がないことは仮想データセンタの以上の記述から理解されることになる。
【0079】
例示的な実施例において、それぞれの記憶空間の使用のためのデバイス930、940、および950に対する補償は、リースされた記憶空間の量、および/または、記憶空間がリースされた時間の量の関数として請求される金銭的な補償を含みうる。例示的な実施例において、ネットワーク901は、インターネットでありうる。デバイス930、940、および950がパーソナルコンピュータである、あるいは利用可能な記憶リソースを有する他の機器である一方、第1のデバイス910は、限られたローカル記憶リソースを有しうる。リースするデバイスがネットワークに接続される利用可能な記憶空間を備える任意のデバイスを一般に含み、本開示の技術に従ってそのリソースをリースするためのプラットフォームをサポートすることに注意されたい。
【0081】
図10は、本開示に従ってネットワークトラフィック帯域幅をリースするスキームの例示的な実施例1000を説明する。
図10において、携帯電話1010は、インターネット1001を備えた第1の接続1005を確立する。例示的な実施例において、携帯電話1010は、例えば、W−CDMA、cdma2000、または当該技術分野で既知の他のワイヤレス通信プロトコルのような、ワイヤレスデータ接続を利用しうる。第1の接続1005は、最大データ転送レートBW1をサポートしうる。BW1以上のデータ転送レートで転送するために、携帯電話1010は、他の端末からネットワークトラフィック帯域幅をリースしうる。
【0082】
例えば、携帯電話1010は、さらにブルートゥースネットワーク1020にアクセスし、ブルートゥースプロトコルを使用して、接続1015、1025、1035を通じて他のデバイス1030、1040、1050と通信しうる。本開示の技術によって、携帯電話1010は、デバイス1030および1040がキロバイト単位でインターネットトラフィック帯域幅をリースしていることを見出しうる。帯域幅に対する入札に首尾よく成功した後、携帯電話1010は、インターネットにアクセスするためにそれぞれBW2およびBW3のレートで第2の接続1015および第3の接続1025を利用する。
【0083】
例示的な実施例において、デバイス1030および1040は、W−CDMA、cdma2000、または別のワイヤレス通信プロトコルを使用してデータネットワークにアクセスする他の携帯電話でありうる。代替として、デバイス1030、1040のうちのいずれかまたはすべては、イーサネット接続を介してインターネットにアクセスするパーソナルコンピュータでありうる。
【0085】
図11は、本開示に従う分散計算スキームの例示的な実施例1100を説明する。
図11において、メインの計算端末1110は、計算タスクを行なうことを任されている。計算タスクは、メインの計算端末1110のローカルのCPU1115のリソースを超過する大きな計算帯域幅を要求しうる。メインの計算端末1110は、計算リソースをリースするために通知しているネットワーク1101に接続された他の端末を検索しうる。
図11において、携帯電話1120、メインフレームコンピュータ1130、および別のパーソナルコンピュータ1140は、リースするために利用可能な計算リソースCPU2 1125、CPU3 1135、およびCPU4 1145を有する。利用可能な計算帯域幅を決定し、リソースのための入札に首尾よく成功した後に、メイン計算端末1110は、様々な端末1120、1130、および1140に計算タスクを分散しうる。
【0086】
例示的な実施例において、リースする端末の構成は、時間とともに変化しうる。例えば、携帯電話1120は、ネットワーク1101から離れる一方別の形態電話(図示せず)がネットワーク1101に入っていうる。この場合、メイン計算端末1110は、携帯電話1120とそのリースを終了し、新しく存在する携帯電話のCPUに対して新しいリースを確立しうる。このように、本開示のリース技術は、利用可能になる計算リソースとして複数の端末を通じて、メイン計算端末1110の計算タスクが動的に分散することを可能にする。
【0087】
例示的な実施例において、ユーザ端末は、計算リソースに加えて、複数のオーナ端末からのディスク記憶装置空間およびインターネット帯域幅アクセスをさらにリースしうる。これは多機能のアプリケーションを有効にすることができうる。ここで、例えば、ユーザ端末は、インターネットから選択されたデータをダウンロードし、ダウンロードされたデータを解析し、解析結果を記憶し、ユーザ端末に解析レポートを提供するようにオーナ端末に指示しうる。複数のリソースが同時にリースされ利用されるような例示的な実施形態は、本開示の範囲内のために意図される。
【0088】
D.オペレーティングシステムまたはアプリケーションをリースすること
【0089】
図12は、本開示に従うアプリケーション/OSをリースするスキームの例示的な実施例1200を説明する。
図12において、第1の携帯電話1210は、例えば、Google Inc.(登録商標)によって開発された携帯電話のためのアンドロイド(登録商標)オペレーティングシステム(OS)である、第1のOS1212上でアプリケーションを実行する。第2の携帯電話1220は、例えばApple Inc.(登録商標)によって開発されたiPhone(登録商標)のためのiPhoneOSあるいは「OS X」である、第2のOS1222上でアプリケーションを実行しうる。
【0090】
第1の携帯電話1210がその本来のOS 1212にサポートされないターゲットアプリケーションを実行するように求められる状況が生じうる。この場合、第1の携帯電話1210は、ターゲットアプリケーション、例えば、第2の携帯電話1220をサポートするOSを実行している別の端末を探索しうる。簡潔さのために、第1の携帯電話1210および第2の形態電話1220があるネットワークへの接続は、
図12で省略されていることに注意されたい。
【0091】
本開示の技術に従って、第1の携帯電話1210は、ターゲットアプリケーションを実行し、第2の携帯電話1220から実行されたターゲットアプリケーションの結果を検索するために第2の携帯電話1220のOS1222の使用をリースしうる。例えば、第2の携帯電話1220がターゲットアプリケーションをローカルに利用可能にしていない場合、第2の携帯電話1220は、第1の携帯電話1210からアプリケーションをダウンロードする、またはターゲットアプリケーションがダウンロードされる位置を示すことを第1の携帯電話1220に要求しうる。第2の携帯電話1220は、第2の携帯電話1220のリソースを使用してターゲットアプリケーションを実行し、第1の携帯電話1210にアプリケーションの実行結果を提供しうる。第2の携帯電話1220は、本開示の技術に従って、例えば、記憶装置、帯域幅、および/またはCPU要求を指定するサービスレベル合意に従って第1の携帯電話1210のためにそのようなサービスを実行しうる。
【0092】
代替の例示的な実施例で、第2の携帯電話1220が既にローカルに利用可能なターゲットアプリケーションを有する場合、第1の携帯電話1210は、アプリケーションを実行することを第2の携帯電話1220に単に要求しうる。この場合、第2の携帯電話上のアプリケーションモジュールは、第2の電話機上でターゲットアプリケーションにアクセスするための第1の携帯電話1210に遠隔インターフェースとしての機能を果たすことが理解されることになる。
【0093】
例示的な実施例において、遠隔装置、例えば第2の電話機、上のアプリケーションは、ネットワーク上の他のデバイスにそのアプリケーションプログラミングインターフェース(API)を見えるようにし、その結果として、第1の電話機のアプリケーションがネットワークを通じて第2の電話機のアプリケーションを直接利用することを可能にしうる。代替の例示的な実施例において、中間のアプリケーションは、例えば、サードパーティによって、開発されうる。それは、ネ第2の電話機のアプリケーションに対するインターフェースが例えば、第1の電話機のアプリケーションによってネットワークを通じてそれにアクセスを可能にすることを提供する。当該技術分野の当業者のうちの1人は、ローカルアプリケーションと遠隔のアプリケーションとの間の通信インターフェースが、例えば、シンプルオブジェクトアクセスプロトコル(SOAP)、遠隔プロシージャプロトコル(RPC)、アドビフレックス(Adobe Flex)、当該技術分野において既知の他の標準プロトコルに基づき得ることを理解することになる。
【0094】
例示的な実施例において、第1の携帯電話1210がウェブサーチを実行する必要がある場合、第1の携帯電話1210は、第2の携帯電話1220に対して第2の検索ウェブサイトにアクセスして検索を同時にオフロードする一方で、第1の検索ウェブサイトにアクセスすることによって検索をローカルに実行する。検索が完了した後、第2の携帯電話1220は、第1の携帯電話1210に検索結果を返しうる。両方の検索からの結果は、それ自身のリソースを使用して第1の携帯電話1210によって行なわれた単一の検索より広範囲になることが認識されることになる。
【0095】
図13は、
図2に記述されたオーナ端末210またはユーザ端末220のいずれかの実装に対する装置250の例示的な実施例を説明する。装置が説明の目的のみのために示され本開示の範囲を示された任意の特定の例示的な実施形態に限定するのが目的ではないことに注意するべきである。
【0096】
図13において、プロセッサ251はメモリ252に接続して示される。装置250がユーザ端末220として構成される例示的な実施例において、メモリ252は、プロセッサ251に、アプリケーションおよびユーザブローカーモジュールを実行するように構成されたアプリケーションモジュールを実施させるための命令を格納しうる。ユーザブローカーモジュールは、アプリケーションモジュールの要求セットを決定し;アプリケーションモジュールの要求セットを少なくとも部分的に満たすリソースを有する少なくとも1つの遠隔端末を識別し;サービス合意に従って少なくとも1つの遠隔端末のリソースを使用するアプリケーションモジュールを使用可能にし:リソースの使用に基づいて補償されるように少なくとも1つの遠隔端末をアレンジするように構成されうる。
【0097】
装置250がオーナ端末210として構成される例示的な実施例において、メモリ252は、プロセッサ251に、リソースが少なくとも1つの遠隔端末によって使用されることが可能な条件を決定し;少なくとも1つの遠隔端末に対する条件を通知し;リソースを使用するために少なくとも1つの遠隔端末とサービス合意を取り決め;少なくとも1つの遠隔端末がリソースを使用することを可能にし;リソースの使用に基づいて少なくとも1つの遠隔端末によって補償されようにアレンジするように構成されたリースブローカーモジュールを実施させるように記憶された命令を記憶する。
【0098】
技術の当業者のうちの1人は、簡潔さのために、例えば、電気回路、および/または電源、装置がネットワークなどと通信することを可能にする通信トランシーバなどをサポートする、
図13に説明された実装から様々なエレメントが省略されたことを諒解することになる。そのようなエレメントのプロビジョンは、本開示に照らして当業者のうちの1人によって容易に導き出せる。
【0099】
本明細書及び特許請求の範囲においては、エレメントが別のエレメントに対して「接続されている(connected to)」または「結合されている(coupled to)」ものとして参照され、そして、それは、他のエレメントに対して、直接接続されるまたは結合されている、または、介在エレメントが存在しうる、ということは理解されるであろう。対照的に、エレメントが別のエレメントに対して「直接接続されている(directly connected)」、または、「直接結合されている(directly coupled)」と言及されるときには、介在エレメントはない。
【0100】
当業者であれば、情報および信号は、さまざまな異なる技術および技法のうちの何れかを用いて表されうることを理解するであろう。例えば、上記説明を通じて参照されうるデータ、命令群、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、あるいはこれらの任意の組み合わせによって表現されうる。
【0101】
当業者であれば、さらに、本明細書で開示された典型的な実施形態に関連して記載されたさまざまな例示的な論理ブロック、モジュール、回路、およびアルゴリズム・ステップが、電子ハードウェア、コンピュータ・ソフトウェア、あるいはこれらの組み合わせとして実現されることを理解するであろう。ハードウェアとソフトウェアとの相互置換性を明確に説明するために、さまざまな例示的な構成要素、ブロック、モジュール、回路、およびステップが、それらの機能の観点から一般的に記載された。それら機能がハードウェアとしてまたはソフトウェアとして実現されるかは、特定のアプリケーションおよびシステム全体に課せられている設計制約に依存する。当業者は、各特定のアプリケーションについての様々な方法で、説明された機能性を実施することができるが、そのような実施の決定は、本発明の例示的な実施形態の範囲からの逸脱を生じさせるものとして解釈されるべきでない。
【0102】
ここでの例示的な開示に関連して説明された様々な説明のための論理、論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他のプログラマブル論理回路、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは、ここに説明された機能を実行するように設計されたそれらのいずれの組み合わせ、で実施される、あるいは実行されることができる。汎用プロセッサは、マイクロプロセッサでありうるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは順序回路を用いることも可能である。プロセッサは、例えばDSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携する1または複数のマイクロプロセッサ、またはその他任意のこのような構成であるコンピューティングデバイスの組み合わせとして実現されうる。
【0103】
本明細書で開示された典型的な実施形態に関連して記述された方法やアルゴリズムのステップは、ハードウェアによって直接的に、プロセッサによって実行されるソフトウェアモジュールによって、または、これらの組み合わせによって具体化される。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)メモリ、フラッシュメモリ、読み取り専用メモリ(ROM、電子的にプログラム可能なROM(EPROM)、電子的に消去可能なプログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMあるいは当技術分野において知られている記憶媒体のいずれの他の形態、において常駐する(reside)ことができる。典型的な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。あるいは、この記憶媒体は、プロセッサに統合されうる。このプロセッサと記憶媒体とは、ASIC内に存在しうる。ASICは、ユーザ端末内に存在しうる。あるいは、プロセッサおよび記憶媒体は、ユーザ端末内のディスクリート部品として存在しうる。
【0104】
1または複数の典型的な実施形態では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせによって実現されうる。ソフトウェアで実現される場合、これら機能は、コンピュータ読取可能媒体上に格納されるか、あるいは、コンピュータ読取可能媒体上の1または複数の命令群またはコードとして送信されうる。コンピュータ読取可能媒体は、コンピュータ記憶媒体と通信媒体との両方を含む。これらは、コンピュータ・プログラムのある場所から別の場所への転送を容易にする任意の媒体を含む。記憶媒体は、コンピュータによってアクセスされうる利用可能な任意の媒体である。例として、限定することなく、このようなコンピュータ読取可能媒体は、RAM、ROM、EEPROM、CD−ROMまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは、所望のプログラム・コード手段を命令群またはデータ構造の形式で搬送または格納するために使用され、しかも、コンピュータによってアクセスされうるその他任意の媒体を備えうる。さらに、いかなる接続も、コンピュータ読取可能媒体と適切に称される。同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線(DSL)、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術を使用して、ウェブサイト、サーバ、あるいはその他の遠隔ソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、DSL、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術が、媒体の定義に含まれる。本明細書で使用されるディスク(diskおよびdisc)は、コンパクト・ディスク(CD)、レーザ・ディスク、光ディスク、デジタル・バーサタイル・ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルー・レイ・ディスクを含む。これらdiscは、レーザを用いてデータを光学的に再生する。それに対して、diskは、通常、データを磁気的に再生する。上記の組み合わせもまた、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【0105】
開示された典型的な実施形態の上記記載は、当業者をして、本発明の製造または利用を可能とするように提供される。これら典型的な実施形態に対するさまざまな変形例もまた、当業者には明らかであって、本明細書で定義された一般的な原理は、本発明の主旨または範囲から逸脱することなくその他の実施形態にも適用されうる。したがって、本発明は、本明細書で示された典型的な実施形態に限定されるものではなく、本明細書で開示された原理および新規な特徴に一致した最も広い範囲に相当することが意図されている。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
プロセッサと、
前記プロセッサに接続された少なくとも1つのメモリとを備え、前記少なくとも1つのメモリは、プロセッサに、アプリケーションを実行するように構成されたアプリケーションモジュールと、ユーザモジュールを実施させるための命令を格納し、前記ユーザモジュールは、
前記アプリケーションモジュールの要求セットを決定し、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも1つの遠隔端末を識別し、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも1つの遠隔端末の前記リソースを使用できるようにし、
前記リソースの前記使用に基づいて補償されるように前記少なくとも1つの遠隔端末をアレンジする
ように構成される、装置。
[C2]
前記ユーザブローカーモジュールは、前記少なくとも1つの遠隔端末の通知されたリソース容量を受け取り、前記通知されたリソース容量が前記少なくとも1つの遠隔端末の前記要求セットを少なくとも部分的に満足するかどうか決定することによって前記少なくとも1つの遠隔端末を識別するように構成される、
C1に記載の装置。
[C3]
前記アプリケーションモジュールの前記要求セットは、データ記憶容量の要求量を備える、
C1に記載の装置。
[C4]
前記アプリケーションモジュールの前記要求セットは、計算帯域幅の要求量を備える、
C1に記載の装置。
[C5]
前記アプリケーションモジュールの前記要求セットは、ネットワークトラフィック帯域幅の要求量を備える、
C1に記載の装置。
[C6]
前記アプリケーションモジュールの前記要求セットは、前記リソースが使用されうるタイムスケジュールを備える、
C1に記載の装置。
[C7]
前記アプリケーションモジュールの前記要求セットは、サポートされるターゲットアプリケーション、特定のハードウェアの利用可能性、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも1つのパラメータを備える、
C1に記載の装置。
[C8]
前記ユーザブローカーモジュールは、前記少なくとも1つの端末が通貨を支払うことによって補償されるように前記少なくとも1つの遠隔端末をアレンジするように構成される、
C1に記載の装置。
[C9]
少なくとも1つのパラメータを指定する前記サービス合意は、保証されたデータ記憶容量の最小量、計算帯域幅の最小量、ネットワークトラフィック帯域幅の最小量、およびサポートされるオペレーティングシステムから成るグループから選択される、
C1に記載の装置。
[C10]
前記サービス合意は、前記少なくとも1つの遠隔端末の前記リソースが使用されうるタイムスケジュールを指定する、
C1に記載の装置。
[C11]
前記装置は、携帯電話を備え、前記アプリケーションは、ウェブブラウザを備え、前記要求セットは、インターネットにアクセスするための最小帯域幅を備える、
C1に記載の装置。
[C12]
前記アプリケーションは、プロセッサに、計算タスクを処理させるように構成され、前記要求セットは、前記計算タスクの少なくとも一部を処理するための最小計算帯域幅を備える、
C1に記載の装置。
[C13]
前記装置は、第1のオペレーティングシステム(OS)を実行するための第1のハードウェアを備え、前記要求セットは、第2のOSのためのターゲットアプリケーションを実行することを備え、前記少なくとも1つの遠隔端末は、前記第2のOSを実行するための第2のハードウェアを備え、前記ユーザブローカーモジュールは、前記アプリケーションモジュールが前記第2のハードウェアを使用する前記第2のOS上で前記ターゲットアプリケーションを実行することによって前記少なくとも1つの遠隔端末の前記リソースを使用できるように構成される、
C1に記載の装置。
[C14]
前記ユーザブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも1つの遠隔端末のリースブローカーモジュールと通信することによって前記少なくとも1つの遠隔端末を識別するように構成される、
C1に記載の装置。
[C15]
前記ユーザブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも1つの遠隔端末のリースブローカーと通信することによって前記少なくとも1つの遠隔端末を識別するように構成される、
C1に記載の装置。
[C16]
プロセッサと、
前記プロセッサに接続された少なくとも1つのメモリとを備え、前記メモリは、前記プロセッサに、リースブローカーモジュールを実施させるための命令を格納し、前記リースブローカーモジュールは、
リソースが少なくとも1つの遠隔端末によって使用されることができる条件を決定し、
前記少なくとも1つの遠隔端末に前記条件を通知し、
前記リソースを使用する前記少なくとも1つの遠隔端末とサービス合意を取り決め、
前記少なくとも1つの遠隔端末がリソースを使用できるようにし、
前記リソースの前記使用に基づいて前記少なくとも1つの遠隔端末によって補償されるようにアレンジする
ように構成される、装置。
[C17]
前記リソースは、データ記憶容量を備える、
C16に記載の装置。
[C18]
前記リソースは、計算帯域幅を備える、
C16に記載の装置。
[C19]
前記リソースは、ネットワークトラフィック帯域幅を備える、
C16に記載の装置。
[C20]
前記リソースは、サポートされるターゲットアプリケーション、特定ハードウェアモジュール、サポートされるオペレーティングシステム、から成るグループから選択される、
C16に記載の装置。
[C21]
前記リースブローカーモジュールは、前記少なくとも1つの遠隔端末から通貨を受け取ることによって補償されるようにアレンジされるように構成される、
C16に記載の装置。
[C22]
前記サービス合意は、前記保証されたデータ記憶容量の最小量、計算帯域幅の最小量、およびネットワークトラフィック帯域幅の最小量から成るグループから選択される、
C16に記載の装置。
[C23]
前記サービス合意は、前記リソースが使用されうるタイムスケジュールを指定する、
C16に記載の装置。
[C24]
前記サービス合意は、サポートされるターゲットアプリケーション、特定のハードウェア、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも1つのパラメータを指定する、
C16に記載の装置。
[C25]
前記装置は、携帯電話を備え、前記少なくとも1つの遠隔端末は、携帯電話を備え、前記サービス合意は、インターネットにアクセスするための最小帯域幅を備える、
C16に記載の装置。
[C26]
前記装置は、第1のオペレーティングシステム(OS)を実行するための第1のハードウェアを備え、前記サービス合意は、前記第1のOSのためのターゲットアプリケーションを実行することを備え、前記リースブローカーモジュールは、前記少なくとも1つの遠隔端末が前記第1のハードウェアを使用する前記第1のOS上で前記ターゲットアプリケーションを実行することによって前記リソースを使用できるように構成される、
C16に記載の装置。
[C27]
前記リースブローカーモジュールは、ワイヤレス通信リンクを使用して前記少なくとも1つの遠隔端末のユーザブローカーモジュールと通信することによって通知するように構成される、
C1に記載の装置。
[C28]
前記リースブローカーモジュールは、ワイヤード通信リンクを使用して前記少なくとも1つの遠隔端末のユーザブローカーと通信することによって通知するように構成される、
C16に記載の装置。
[C29]
前記リソースは、前記装置上でローカルに利用できるリソースである、
C16に記載の装置。
[C30]
前記リソースは、前記装置から離れて配置される、
C16に記載の装置。
[C31]
前記アプリケーションモジュールの要求セットを決定することと、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも1つの遠隔端末を識別することと、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも1つの遠隔端末の前記リソースを使用できるようにすることと、
前記リソースの前記使用に基づいて補償されるように前記少なくとも1つの遠隔端末をアレンジすることと
を備える、方法。
[C32]
前記アレンジすることは、前記少なくとも1つの端末が通貨を支払うことを備える
C31に記載の方法。
[C33]
前記要求セットは、データ記憶容量の要求量、計算帯域幅の要求量、ネットワークトラフィック帯域幅の要求量、前記リソースが使用されうるタイムスケジュール、サポートされるターゲットアプリケーション、特定ハードウェアの利用可能性、およびサポートされるオペレーティングシステムから成るグループから選択される少なくとも1つのパラメータを備える、
C31に記載の方法。
[C34]
前記少なくとも1つの遠隔端末を識別することは、前記少なくとも1つの遠隔端末のリースブローカーモジュールと通信することを備える、
C31に記載の方法。
[C35]
リソースが少なくとも1つの遠隔端末によって使用されることができる条件を決定することと、
前記少なくとも1つの遠隔端末に前記条件を通知することと、
前記リソースを使用する前記少なくとも1つの遠隔端末とサービス合意を取り決めることと、
前記少なくとも1つの遠隔端末がリソースを使用できるようにすることと、
前記リソースの前記使用に基づいて前記少なくとも1つの遠隔端末によって補償されるようにアレンジすることと
を備える、方法。
[C36]
前記通知することは、能力メッセージの要求を受信することに応答して前記少なくとも1つの遠隔端末に前記条件を送ることを備える、
C35に記載の方法。
[C37]
前記リソースは、データ記憶容量、計算帯域幅、ネットワークトラフィック帯域幅、サポートされるアプリケーション、特定ハードウェアの利用可能性、サポートされるオペレーティングシステム、から成るグループから選択される少なくとも1つのメンバーを備える、
C35に記載の方法。
[C38]
前記取り決めることは、前記少なくとも1つの遠隔端末上のユーザブローカーモジュールと通信することを備える、
C35に記載の方法。
[C39]
アプリケーションモジュールの要求セットを決定するための手段と、
前記アプリケーションモジュールの前記要求セットを少なくとも部分的に満足するリソースを有する少なくとも1つの遠隔端末を識別するための手段と、
前記アプリケーションモジュールがサービス合意に従って前記少なくとも1つの遠隔端末の前記リソースを使用できるようにするための手段と、
前記リソースの前記使用に基づいて補償されるように前記少なくとも1つの遠隔端末をアレンジするための手段と
を備える、装置。
[C40]
リソースが少なくとも1つの遠隔端末によって使用されることができる条件を決定するための手段と、
前記少なくとも1つの遠隔端末に前記条件を通知するための手段と、
前記リソースを使用する前記少なくとも1つの遠隔端末とサービス合意を取り決めるための手段と、
前記少なくとも1つの遠隔端末がリソースを使用できるようにするための手段と、
前記リソースの前記使用に基づいて前記少なくとも1つの遠隔端末によって補償されるようにアレンジするための手段と
を備える、装置。