(57)【特許請求の範囲】
【請求項１】
ターゲットデバイスのターゲットデバイスリソースを、プロセッサを有するホストデバイスのホストコンピューティング環境に統合する方法であって、
前記プロセッサで、前記ホストデバイスに、
前記ターゲットデバイスを通じて前記ターゲットデバイスリソースの利用可能性を検出することと、
ホストデバイスユーザからの、前記ターゲットデバイスリソースを前記ホストコンピューティング環境で使用するために借用する要求の受け取りに応じて、
前記ターゲットデバイスに、前記ターゲットデバイスリソースを前記ホストコンピューティング環境で使用するために借用する要求を送信することと、
前記ターゲットデバイスからの前記要求の受諾の受け取りに応じて、
前記ターゲットデバイスリソースを前記ホストコンピューティング環境のホストデバイスリソースと統合することと、
前記ターゲットデバイスリソースを前記ホストコンピューティング環境内で前記ホストデバイスユーザに提示することと、
前記ターゲットデバイスに前記ホストコンピューティング環境の少なくとも一部を送信することと、
前記ターゲットデバイスでの前記ホストデバイスからの前記ホストコンピューティング環境の前記少なくとも一部の受け取りに応じて、
前記ホストコンピューティング環境の前記少なくとも一部を、前記ターゲットデバイスのターゲット提示コンポーネントを通じて提示することと、
前記ターゲット提示コンポーネントを通じて前記ホストコンピューティング環境を提示する間に、前記ターゲットデバイスでのターゲットコンピューティング環境の提示を一時停止することと、
を実行させる命令を実行することを含む方法。
【請求項２】
前記命令を実行することが、前記ホストデバイスに、前記ターゲットデバイスを通じた前記ターゲットデバイスリソースの前記利用可能性の検出に応じて、前記ホストコンピューティング環境との統合のために前記ターゲットデバイスリソースの前記利用可能性を前記ホストデバイスユーザに通知することをさらに実行させる、請求項１に記載の方法。
【請求項３】
前記ターゲットデバイスが、前記ターゲットデバイスを通じて、少なくとも２つのターゲットデバイスハードウェアリソースの利用可能性を告知し、
前記ホストデバイスユーザからの前記要求が、前記ホストコンピューティング環境と統合される選択された１または複数のターゲットデバイスハードウェアリソースを指定し、
前記要求を前記ターゲットデバイスに送信することが、前記ターゲットデバイスに、前記選択された１または複数のターゲットデバイスハードウェアリソースのみを前記ホストコンピューティング環境で使用するために借用する要求を送信することをさらに含む、請求項１に記載の方法。
【請求項４】
前記１または複数のターゲットデバイスハードウェアリソースを選択することは、
前記ホストデバイスおよび前記ターゲットデバイスが、前記ホストデバイスのために前記選択された１または複数のターゲットデバイスハードウェアリソースの予約をスケジューリングすることに参加する、請求項３に記載の方法。
【請求項５】
ホストデバイスのプロセッサで実行されると、
ターゲットデバイスを通じてターゲットデバイスリソースの利用可能性を検出することと、
ホストデバイスユーザからの、前記ターゲットデバイスリソースをホストコンピューティング環境で使用するために借用する要求の受け取りに応じて、
前記ターゲットデバイスに、前記ターゲットデバイスリソースを前記ホストコンピューティング環境で使用するために借用する要求を送信することと、
前記ターゲットデバイスからの前記要求の受諾の受け取りに応じて、
前記ターゲットデバイスリソースを前記ホストコンピューティング環境のホストデバイスリソースと統合することと、
前記ターゲットデバイスリソースを前記ホストコンピューティング環境内で前記ホストデバイスユーザに提示することと
によって、前記ホストデバイスに、前記ターゲットデバイスの前記ターゲットデバイスリソースを前記ホストデバイスの前記ホストコンピューティング環境に統合させる命令を格納するメモリデバイスであって、
前記ホストデバイスは、選択されたアプリケーションに限定される、キュレートされたコンピューティング環境をさらに備え、
前記命令は、前記ホストデバイスに、
前記ホストコンピューティング環境の代わりに前記キュレートされたコンピューティング環境を前記ホストデバイスで提示することと、
前記キュレートされたコンピューティング環境を前記ホストデバイスで提示しながら、前記ターゲットデバイスの前記ターゲットデバイスリソースを通じて前記ホストコンピューティング環境を提示することと
をさらに実行させる、メモリデバイス。
【請求項６】
前記ホストデバイスユーザからの前記要求が、前記ターゲットデバイスリソースを使用して提示されるコンテンツ項目を指定し、
前記要求を前記ターゲットデバイスに送信することが、前記ターゲットデバイスに、前記ターゲットデバイスリソースを通じて提示される前記コンテンツ項目の記述を送信することをさらに含む、請求項５に記載のメモリデバイス。
【請求項７】
ホストデバイスのプロセッサ上で実行されたときに、請求項１乃至４のうち何れかの方法を実行することによって、前記ホストデバイスに、ターゲットデバイスのターゲットデバイスリソースを前記ホストデバイスの前記ホストコンピューティング環境に統合させる命令を格納するメモリデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  コンピューティングの分野では、多くのシナリオで、第１のデバイスのユーザが、第２のデバイスとも対話することを望む。第１のそのような例では、ユーザは、リモートデバイスで端末サービスセッションを開始することを望む場合がある。ユーザは、ネットワーク上でローカルデバイスをリモートデバイスに接続し、ローカルデバイスを通じてリモートデバイスのユーザアカウントにログインし、リモートデバイスで端末サービスセッションを開始することができる。リモートデバイスによりローカルデバイスに対して提供される端末サービスセッションが提示されたところで、ユーザは、ローカルデバイスを介して入力を提供し、出力を受け取ることにより、第２のリモートデバイスと対話することができる。第２のそのような例として、ユーザは、ホストデバイスのディスプレイを、プロジェクタ等の提示デバイスにミラーリングすることを要求することができ、ホストデバイスのホストコンピューティング環境の同じ表示が、ホストデバイスのディスプレイとプロジェクタとの両方に表示され得る。第３のそのような例として、ユーザは、第１のデバイスのユーザ入力（キーボード、マウス等）を第２のデバイスと共有するように、第１のデバイスを構成することができる。たとえば、第１のデバイスは、第１のデバイスの第１のコンピューティング環境内でユーザ入力を受け取り、ユーザ入力の一部を第２のデバイスに送信することができる。これらおよび他の方法で、さまざまなデバイスのユーザは、デバイスリソースを共有するために、デバイスの相互運用を実現することができる。
【発明の概要】
【０００２】
[0002]  本概要は、以下の詳細な説明でさらに詳しく説明する概念の選択を、簡単な形式で紹介するために設けられている。本概要は、請求項に記載された主題の主要な要素または必須の特徴を特定することを意図しておらず、請求項に記載された主題の範囲を限定するために使用されることも意図していない。
【０００３】
[0003]  デバイス間でリソースを共有するための利用可能な技法は、何らかの欠点を呈し得る。第１のそのような例として、そのような技法は、ユーザによる各デバイスの管理構成に依存する可能性がある。たとえば、ユーザは、ユーザによる端末サービスセッションの開始を許可するように事前に構成されていないリモートデバイスとの端末サービスセッションを、典型的には開始することができず、またキーボードおよびマウスの共有は、各デバイスによる入力共有サーバおよびクライアントとしての構成を含む可能性がある。ユーザがユーザのデバイスを、管理者特権を持たず、第１のデバイスと相互運用するように事前に構成されていない第２のデバイスと結び付けることは、さらに難しい可能性がある。第２のそのような例として、これらの技法は、第１のデバイスのリソースを第２のデバイスと共有することを可能にし得るが、共有リソースが第２のデバイスの他のリソースと等価の態様で第２のデバイスのリソースとして表されないというような、アドホックな態様で共有される可能性がある。第３のそのような例として、これらのモデルは、第１のデバイスが第２のデバイスのリソースを利用するために対話を開始するという「プル」対話モデルに基づき得る。たとえば、端末サービスセッションでは、端末サービスクライアントが端末サービスサーバ内の端末セッションを受け取る要求を開始し、端末サービスサーバがコンピューティング環境をユーザに提供する。しかし、そのような「プル」モデルは、第１のデバイスが要求を開始するために第２のデバイスを発見できることにしばしば依存しており、シナリオによっては、そのような発見を実現することが難しい場合がある。第４のそのような例として、さまざまなリソース共有モデルでは、どのリソースが第１のデバイスによって第２のデバイスと共有されるかを細かく制御できない場合があり、よって第２のデバイスのユーザのユーザ設定およびセキュリティ問題についてのアフォーダンスが限定される可能性がある。
【０００４】
[0004]  本明細書では、ターゲットデバイスのターゲットデバイスリソース、たとえばディスプレイ、キーボード、マウス、スピーカ、ネットワーク接続などを、ホストデバイスのホストコンピューティング環境と統合することを可能にする技法を提示する。これらの技法に応じて、ターゲットデバイスは、ターゲットデバイスリソースの利用可能性を、他のデバイスによる使用のために告知（advertise）することができる。ホストコンピューティング環境を有するホストコンピュータは、ターゲットデバイスを通じてターゲットデバイスリソースの利用可能性を検出し、ターゲットデバイスリソースをホストコンピューティング環境内で利用する要求をホストデバイスユーザから受け取ることができる。よってホストデバイスは、ターゲットデバイスリソースをホストコンピューティング環境で使用するために借用する要求をターゲットデバイスに送信することができる。要求を受信および受諾した後、ターゲットデバイスは、ターゲットデバイスリソースをホストコンピューティング環境用に予約することができ、ホストコンピューティング環境は、ターゲットデバイスリソースをホストコンピューティング環境のホストデバイスリソースと統合することができる。この態様で、ホストデバイスは、本明細書で提示される技法に応じて、ホストデバイスユーザに代わって、ターゲットデバイスリソースをホストコンピューティング環境と統合することができる。
【０００５】
[0005]  本明細書で提示される技法により、デバイスのユーザは、リソース共有を比較的略式な態様で実現することが可能になり得る。たとえば、ユーザは、ターゲットデバイスの選択されたターゲットリソースをホストデバイス用に単純に借用し、ターゲットデバイスからのマウス入力をホストコンピューティング環境に一時的にリダイレクトさせることができる。そのようなリソースの借用および貸与は、比較的単純かつ略式な態様で実現され得る。たとえば、端末サービスと異なり、ホストデバイスのユーザは、そのようなリソース借用についてネゴシエートするために、ターゲットデバイスでユーザアカウントを保持している必要はなく、ターゲットデバイスに知られていなくてもよい。一部の実施形態では、ホストデバイスユーザは、ターゲットデバイスのターゲットコンピューティング環境にアクセスする権限を持たない可能性があり、ターゲットデバイスのローカルユーザインターフェイスが完全にロックされ、ターゲットデバイスユーザ以外は誰もアクセスできないようになっている可能性がある。にもかかわらず、ターゲットデバイスは、そのキーボード、マウス、ビデオ、ネットワーク接続、またはその他のターゲットデバイスリソースをホストデバイスが「借用」する要求を実現させることができる。そのような借用および貸与は、ホストデバイスをターゲットデバイスのターゲットコンピューティング環境に対して認めることなく実現され得る。すなわち、ターゲットコンピューティング環境は、分離され、一時停止（suspend）され、またはリソースの借用および貸与の対話を通じたホストデバイスによる無許可のアクセスから保護され得る。
【０００６】
[0006]  本明細書で提示される技法は、ホストデバイスがターゲットデバイスをホストコンピューティング環境へのポータルとして利用することも可能にし得る。たとえば、ターゲットデバイスは、そのネイティブコンピューティング環境の大半またはすべてを一時停止し、ホストデバイスにより送信されたホストコンピューティング環境の提示にコンピューティングリソースを再割り当てすることができる。一部のシナリオでは、ホストデバイスによるターゲットデバイスのリソースの借用と、ホストデバイスの比較的堅牢なハードウェアによるホストコンピューティング環境の提示とは、ターゲットデバイスがそのネイティブコンピューティング環境で実現できるよりも高品質なユーザ体験を提示することを可能にし得る。よって、当初の役割を終えたターゲットデバイスを、本明細書で提示される技法の使用を通じて、ホストデバイスのホストコンピューティング環境へのポータルとして再利用することができる。
【０００７】
[0007]  上述および関連する結果を達成するために、以下の説明および添付の図面は、いくつかの例示的な側面および実装を提示する。これらは、１つまたは複数の側面が利用され得るさまざまな方法のごく一部を示している。本開示の他の側面、利点、および新規の特徴は、以下の詳細な説明を添付の図面と組み合わせて検討することで明らかとなる。
【図面の簡単な説明】
【０００８】
【図１】[0008]第１のデバイスのリソースを第２のデバイスと共有する例示的モデルを示す例示的シナリオの図である。
【図２】[0009]本明細書で提示される技法に応じた、ホストデバイスのホストコンピューティング環境とのターゲットデバイスリソースの統合を示す例示的シナリオの図である。
【図３】[0010]本明細書で提示される技法に応じた、ホストデバイスがターゲットデバイスのターゲットデバイスリソースをホストコンピューティング環境と統合できるようにする例示的方法の流れ図である。
【図４】[0011]本明細書で提示される技法に応じた、ホストデバイスおよびターゲットデバイスがターゲットデバイスのターゲットデバイスリソースをホストデバイスのホストコンピューティング環境と統合できるようにする例示的システムのコンポーネントブロック図である。
【図５】[0012]本明細書で示される規定の１つまたは複数を実施するように構成されたプロセッサ実行可能命令を含む例示的コンピュータ可読メディアの図である。
【図６】[0013]本明細書で提示される技法に応じた、ホストデバイスおよびターゲットデバイスがホストデバイスユーザおよびターゲットデバイスユーザに代わってターゲットデバイスリソースを共有する対話を示す例示的シナリオの図である。
【図７】[0014]本明細書で提示される技法に応じた、キュレートされたコンピューティング環境のホストデバイスでの提示とホストコンピューティング環境のターゲットデバイスでの提示とを示す例示的シナリオの図である。
【図８】[0015]本明細書で提示される技法に応じた、ホストコンピューティング環境のディスプレイレイアウトでのターゲットディスプレイの統合を示す例示的シナリオの図である。
【図９】[0016]本明細書で提示される技法に応じた、ターゲットデバイスのターゲットコンピューティング環境の提示をプリエンプトしながらホストコンピューティング環境を提示するターゲットデバイスを示す例示的シナリオの図である。
【図１０】[0017]本明細書で提示される技法に応じた、ターゲットコンピューティング環境をホストコンピューティング環境から分離しながらのホストコンピューティング環境とターゲットコンピューティング環境との間でのターゲットデバイスリソースの共有を示す例示的シナリオの図である。
【図１１】[0018]本明細書で示される１つまたは複数の規定が実装され得る例示的コンピューティング環境を示す図である。
【発明を実施するための形態】
【０００９】
[0019]  請求項に記載された主題について、図面を参照しながら以下に説明する。全体を通じて、同様の要素を示すために同様の参照番号を使用する。以下の説明では、請求項に記載された主題の完全な理解を促すために、説明の都合上、多数の具体的な詳細事項を示す。ただし、これらの具体的な詳細事項を伴わずに、請求項に記載された主題が実践される可能性があることは明らかであり得る。その他の部分では、請求項に記載された主題についての説明を簡素化するために、構造およびデバイスがブロック図の形式で示される。
【００１０】
Ａ．序論
[0020]  コンピューティングの分野内では、さまざまな技法が、ビデオ、サウンド、キーボード、マウス入力、ストレージ、ネットワーク接続、およびプリンタ等の周辺コンポーネントを提示するというような、第１のデバイスによる第２のデバイスとのリソース共有を実現するために利用され得る。さまざまなモデルにより、複雑さ、承諾、セキュリティ、構成可能性、使いやすさなど、そのようなリソース共有を求めるユーザの多様な関心事を満足させることができる。
【００１１】
[0021]  図１は、デバイス間でのリソース共有を実現する３つのそのようなモデルを示す例示的シナリオの図である。
【００１２】
[0022]  図１の第１の例示的シナリオ１００は、ホストデバイス１０４のホストコンピューティング環境１０６と対話することを望むユーザ１０２がターゲットデバイス１０８を通じて端末サービスセッションを確立することができる、端末サービス共有技法を示す。たとえば、ユーザ１０２は、ターゲットデバイス１０８のターゲットコンピューティング環境１１０を通じて、ホストデバイス１０４のユーザ１０２のアカウントにログイン資格情報を提供すること等により、ホストデバイス１０４との接続を確立し、端末サービス要求１１２を開始することができる。ホストコンピューティング環境１０６のユーザ１０２のローカルアカウントでログイン資格情報を検証した後、ホストデバイス１０４は、端末サービスセッション１１４を開始することができる。これにより、ターゲットデバイス１０８のターゲットコンピューティング環境表示１１６内でホストコンピューティング環境表示が提示される（たとえば、ホストコンピューティング環境１０６のデスクトップ環境が、ターゲットコンピューティング環境１１０で提示されるウィンドウ内に現れる）。ユーザ１０２は、たとえば、ターゲットデバイス１０８の入力デバイスを使用して、ホストコンピューティング環境１０６およびホストコンピューティング環境内で提供されるアプリケーションに適用する入力をホストデバイス１０４に送ることにより、あたかもユーザ１０２がホストデバイス１０４に物理的にアクセスしているかのようにホストコンピューティング環境表示１１８と対話することができる。同様のモデルが、テルネットおよび／またはセキュアシェル（SSH）セッションによって提供される。この場合、ホストコンピューティング環境１０６内のユーザ１０２のユーザアカウントが、ターゲットデバイス１０８のコンソール表示内で提示され得る。
【００１３】
[0023]  図１の第２の例示的シナリオ１２０は、ホストデバイス１０４のユーザ１０２がプロジェクタ等のターゲットデバイス１０８のディスプレイでホストコンピューティング環境１０６のディスプレイをミラーリングすることを要求する、ワイヤレスディスプレイ（Wi-Di）モデル等のディスプレイミラーリングモデルを示す。ホストデバイス１０４は、ディスプレイをターゲットデバイス１０８にミラーリングする提案１２２を開始することができ、提案１２２の受諾１２４に応じて、ホストデバイス１０４は、ホストコンピューティング環境１０６のディスプレイをターゲットデバイス１０８でミラーリングする１２６ことができる。
【００１４】
[0024]  図１の第３の例示的シナリオ１２８は、２つのデバイスのユーザ１０２がデバイス間で共有される入力および／または出力を構成することができる、入力共有モデルを示す。たとえば、ユーザ１０２は、一部のユーザ入力１３４（たとえば、キーボードを介したテキスト入力１３６や、マウスを介したポインティング入力１３８）を第１のコンピューティング環境１３２内で利用するように第１のデバイス１３０を構成することができるが、ユーザ入力１３４を第２のコンピューティング環境１４４内で処理するために第２のデバイス１４２に送信する１４０ように第１のデバイス１３０を切り替えることもできる。ユーザ１０２は、第１のデバイス１３０からユーザ入力１３４を受け取り、第２のデバイス１４２の第２のコンピューティング環境１４４内でユーザ入力を適用するように、第２のデバイス１４２を構成することもできる。そのように第１のデバイス１３０および第２のデバイス１４２を構成し、それらの間の接続を確立することで、ユーザ１０２は、デバイス間でのユーザ入力１３４の共有を実現することができる。
【００１５】
[0025]  図１の例示的シナリオで提示される各技法は、デバイス間でのリソース共有のためのさまざまなモデルを可能にする。これらのモデルのいくつかは、一部のシナリオでは、他のモデルに比べて高機能であり、使いやすく、および／または満足度が高い。しかし、各モデルは、それらのモデルの特定のシナリオに対する適用性および適合性を損なう何らかの欠点を呈し得る。
【００１６】
[0026]  第１の例として、リソース共有のための多数のモデルは、そのようなリソース共有を実現するためのユーザ１０２によるデバイスの事前構成に依存する。たとえば、ホストデバイス１０４は、任意のユーザ１０２がホストデバイス１０４との端末サービスセッション１１４を確立することを一般的には許可せず、ホストコンピューティング環境１０６内にユーザアカウントを持っているユーザ１０２のみがそのようなセッションを開始することを許可する。なぜなら、任意のユーザ１０２が端末サービスセッション１１４を開始することを許可すると、セキュリティ上の脆弱性が生じる可能性があるからである。同様に、入力共有１２８の構成は、第１のデバイス１３０がユーザ入力１３４を送信することを許可し、第２のデバイス１４２がユーザ入力１３４を受け取って受諾することを許可するための、ユーザ１０２による構成を一般的に含む。なぜなら、不明なユーザ１０２が各デバイス１３０のコンピューティング環境に入力を送信および／または受信することを許可すると、セキュリティ上のリスクが生じる可能性があるからである。逆に、プロジェクタシナリオ等では、デバイスは任意のユーザによる要求に応じてリソースを提供し得るが、リソース共有デバイスのユーザは、不明および／または未認証の個人がデバイスのリソースに任意にアクセスすることを望まない場合がある。なぜなら、それによって受け入れ難いセキュリティ上のリスクおよび／またはリソース共有デバイスのリソースの枯渇が生じる可能性があるからである。
【００１７】
[0027]  第２の例として、リソースを共有するための多くのモデルは、特定の種類のリソースの共有に制約される。第１のそのような例として、端末サービスモデルは、一般的にはホストデバイス１０４のユーザ１０２が利用できる完全なリソースセットをターゲットデバイス１０８に拡張する端末サービスセッション１１４の共有を可能にする。しかし、ユーザ１０２がホストデバイス１０４のホストコンピューティング環境１０６の選択されたホストデバイスリソースのみを利用することを望んでいるのに、端末サービスセッション１１４を特定のホストデバイスリソースに限定することができない場合がある。同様に、ワイヤレスディスプレイはディスプレイのミラーリングを可能にし、入力共有はユーザ入力１３４の共有を可能にするが、そのような共有モデルをサウンド、ネットワーク接続やスキャン機器やファックス機器などの周辺機器、通信セッションといった他の種類のリソースを含むように拡張するのは難しい場合がある。むしろ、各モデルは特定の種類のリソース共有のために提供され得、そのような共有のみに限定され得る。
【００１８】
[0028]  第３の例として、第１のデバイスのリソースの第２のデバイスとの共有は、第２のデバイスのコンピューティング環境とうまく統合されないことが多く、アドホックな態様で受け取られて適用される可能性がある。たとえば、端末サービスモデルでは、ホストデバイス１０４のリソースはホストコンピューティング環境１０６のホストコンピューティング環境表示１１８内に包含され、ターゲットデバイス１０８のターゲットリソースとは異なる態様でターゲットデバイス１０８によって扱われる。同様に、ワイヤレスディスプレイモデルでは、ユーザ１０２は、ディスプレイの写しをプロジェクタで表示することができるが、プロジェクタのリソースを利用してホストコンピューティング環境１０６と対話することはできない場合がある。たとえば、プロジェクタは、仮に当該プロジェクタが１つまたは複数の入力デバイスを備えるターゲットデバイス１０８であっても、ホストデバイス１０４により送信されたホストコンピューティング環境１０６の非対話的な態様でのミラーリングに限定される場合がある。第３のそのような例として、第１のデバイス１３０によるユーザ入力１３４の共有は、第２のデバイス１４２に送信されるユーザ入力命令のストリームとして実装され得るが、第２のデバイス１４２は、第１のデバイス１３０のユーザ入力デバイスを第２のコンピューティング環境１１４内の独立したリソース（たとえば、ユーザ入力デバイス）として表さない場合がある。たとえば、第２のデバイス１４２は、第１のデバイス１３０のユーザ入力デバイスと対話する（たとえば、それらのデバイスに、キーボードの大文字ロックまたは数値ロックなどの入力デバイス属性を問い合わせ、および／または第１のデバイス１３０のマウスをポインタアクセラレーション等の特徴を調整するように構成する）ことができない場合がある。むしろ、第２のデバイス１４２の入力共有サーバは、第１のデバイス１３０から受け取られたユーザ入力１３４をアドホックな態様で適用するだけであり得、第１のデバイス１３０で提供されるユーザ入力デバイスの種類（たとえば、ポインティング入力がマウス、スタイラス、トラックボール、タッチ感応デバイス、ジェスチャデバイス、視線追跡デバイスのいずれを通じて受け取られているか）も通知されない場合がある。実際、第２のデバイス１４２のユーザ１０２にとっては、ユーザ入力１３４のソースを判断することも難しい場合がある。たとえば、第２のデバイス１４２に登録された入力デバイスのいずれもが、第２のデバイス１４２により受け取られて処理されているユーザ入力１３４を呈さない場合がある。これらおよび他の欠点は、図１の例示的シナリオで示したものを含む、多くのリソース共有モデルで生じる可能性があり、それらの技法の多様なシナリオおよび関心事に対する適用性および使いやすさを低下させる。
【００１９】
[0029]  Ｂ．提示される技法
[0030]  本明細書では、ターゲットデバイス１０８の特定のリソースをホストデバイス１０４のホストコンピューティング環境１０６と統合することができる態様で、デバイス間でリソースを借用および貸与する技法を提示する。そのような技法に応じて、ターゲットデバイス１０８は、ターゲットデバイスのターゲットデバイスリソースの利用可能性を、ホストデバイス１０４のホストコンピューティング環境１０６との統合のために告知することができる。ホストデバイス１０４は、そのような利用可能性を検出することができ、ホストデバイスユーザ１０２からの、ターゲットデバイスリソースをホストコンピューティング環境１０６と統合する要求の受け取りに応じて、ターゲットデバイス１０８に、ターゲットデバイスリソースをホストコンピューティング環境１０６で使用するために借用する要求を送信することができる。ターゲットデバイス１０８は、提案を受諾し、ターゲットデバイスリソースをホストコンピューティング環境１０６用に予約することができる（たとえば、入力コンポーネントをホストコンピューティング環境１０６に排他的または非排他的に結び付け、および／またはホストデバイス１０４のホストコンピューティング環境１０６の少なくとも一部をレンダリングするために提示デバイスの一部またはすべてを予約する）。ターゲットデバイス１０８からの要求の受諾の受け取りに応じて、ホストデバイス１０４は、ターゲットデバイスリソースをホストデバイスリソースと並行してホストコンピューティング環境１０６に統合し（たとえば、ターゲットデバイス１０８のユーザ入力デバイスを、ホストデバイス１０４に物理的および／またはワイヤレスで直接に接続された他のユーザ入力デバイスと同等に、最上級の入力デバイスとして表す）、ターゲットデバイスリソースをホストコンピューティング環境１０６内でホストデバイスユーザ１０２に提示することができる。これでユーザ１０２は、ホストデバイス１０４と対話しながら、ターゲットデバイス１０８のリソースを利用することができる。たとえば、ホストデバイス１０４のホストコンピューティング環境１０６内で入力を提供するために、ターゲットデバイス１０８に物理的に接続されたマウスを「借用する」ことができる。
【００２０】
[0031]  図２は、本明細書で提示される技法に応じた、ホストデバイス１０４によるターゲットデバイス１０８のターゲットデバイスリソース２１０の借用を示す例示的シナリオ２００の図である。この例示的シナリオ２００では、第１の時刻２０２で、ホストデバイス１０４のユーザ１０２が、ターゲットデバイス１０８のディスプレイやマウスなど、ターゲットデバイス１０８の特定のターゲットデバイスリソース２１０をホストデバイス１０４で使用するために借用する要求を開始することができる。ホストデバイス１０４は、ターゲットデバイス１０８のユーザ１０２に提示され得るリソース要求２０４をターゲットデバイス１０８に送信することができる（ただし、他のシナリオでは、リソース要求２０４はターゲットデバイス１０８により自律的に評価され得る）。ターゲットデバイス１０８のユーザ１０２は、リソース要求２０４を受け取って検討し、ホストデバイス１０４で使用するためのターゲットデバイスリソース２１０の借用を許可することができる。よって、ターゲットデバイス１０８は、リソース要求２０４の受諾２０６をホストデバイス１０４に送信することができる。
【００２１】
[0032]  第２の時刻２０８で、ホストデバイス１０４およびターゲットデバイス１０８は、ターゲットデバイスリソース２１０のホストデバイス１０４での使用のための借用を実現させることができる。ターゲットデバイス１０８は、ターゲットデバイスリソース２１０をホストデバイス１０４による使用のために予約することができ（たとえば、ターゲットコンピューティング環境１１０とホストデバイス１０４との間でのターゲットデバイスリソース２１０の借用を開始し、および／またはターゲットデバイスリソース２１０をホストデバイス１０４に貸与している間にターゲットコンピューティング環境１１０から引き離す）。ホストデバイス１０４は、ターゲットデバイスリソース２１０をホストコンピューティング環境リソースセット２１２に統合することもできる。たとえば、ホストデバイス１０４に直接取り付けられたホストデバイスリソース２１４と並行して、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６内に最上級のデバイスとして追加する２１６。たとえば、ターゲットデバイス１０８がホストデバイス１０４に貸与されたターゲットデバイスリソース２１０を通じてターゲットユーザ入力１３４を受け取る場合、ターゲットデバイス１０８は、ターゲットユーザ入力１３４をホストデバイス１０４に送信することができ、ホストデバイス１０４は、ホストデバイス１０４に直接接続されたキーボード等のホストデバイス入力リソースを通じて受け取られるホストユーザ入力２１８と並行して、ターゲットユーザ入力１３４をホストコンピューティング環境１０６に適用することができる。また、ホストコンピューティング環境１０６は、ホストデバイス１０４のホストデバイスディスプレイと、ホストデバイス１０４に貸与されたターゲットデバイス１０８のターゲットデバイスディスプレイとの両方で提示され得る。加えて、ターゲットコンピューティング環境１１０は、たとえば、ターゲットデバイスリソース２１０が貸与されホストコンピューティング環境１０６と統合されている間にターゲットコンピューティング環境１１０をロックし２２０、および／または一時停止することにより、ホストコンピューティング環境１０６から保護され得る。この態様で、ホストデバイス１０４およびターゲットデバイス１０８は相互運用して、本明細書で提示される技法に応じてターゲットデバイスリソース２１０をホストデバイス１０４で使用するための借用を実現することができる。
【００２２】
[0033]  Ｃ．技術的効果
[0034]  本明細書で提示される技法を使用してターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４で使用するために借用することにより、ホストデバイス１０４および／またはターゲットデバイス１０８のためのさまざまな技術的効果が得られ得る。
【００２３】
[0035]  本明細書で提示される技法により実現され得る技術的効果の第１の例として、ホストデバイス１０４およびターゲットデバイス１０８は、端末サービス等の他の共有技法よりも簡単かつ略式な態様で、ターゲットデバイスリソース２１０を共有することができる。端末サービスセッション（たとえば、図１の第１の例示的シナリオ１００に示されているもの）は、複数の条件に依存する。第１に、ユーザ１０２は、端末サービスが有効化されたホストデバイス１０４でユーザアカウントを所有していなければならない。第２に、ユーザ１０２は、ターゲットデバイス１０８のターゲットコンピューティング環境１１０にアクセスして端末サービス要求１１２を開始することができなければならない。第３に、ターゲットデバイス１０８は、ホストデバイス１０４を発見し、接触を開始することができなければならない。第４に、ユーザ１０２は、たとえばログイン資格情報を提供することにより、ホストデバイス１０４に対して自らを認証しなければならない。これらの条件のいずれかが失敗すると、端末サービスセッション１１４を開始することができない可能性がある。たとえば、ユーザ１０２がホストデバイス１０４のアドレスを覚えていないか、またはターゲットデバイス１０８がファイアウォール等によりホストデバイス１０４に接触できない場合、端末サービスセッション１１４を実現することはできない。一方、図２の例示的シナリオ２００に示す技法では、ホストデバイス１０４のユーザ１０２は、ターゲットデバイス１０８でユーザアカウントを所有している必要はなく、ターゲットデバイス１０８にアクセスする必要はない。ターゲットデバイス１０８は、借用要求の自律的受諾２０６および／またはターゲットデバイス１０８のユーザ１０２による受諾を通じて、リソース要求２０４を実現させることができる。よって、ターゲットデバイスリソースのそのような借用および貸与２０４は、比較的容易かつ略式な態様で実現され得る。
【００２４】
[0036]  本明細書で提示される技法により実現され得る技術的効果の第２の例として、ターゲットデバイスリソース２１０の略式の借用および貸与により、他のモデルでは実現できないリソース共有シナリオを実現することが可能になり得る。第１のそのような例として、ターゲットデバイス１０８は、他の方法ではターゲットデバイス１０８を利用することが許可されないユーザ１０２および／またはホストデバイス１０４によるターゲットデバイスリソースの借用２０４を許可することができる。たとえば、ターゲットデバイス１０８は、ユーザ１０２がターゲットデバイス１０８にログインすること、またはターゲットコンピューティング環境１１０と対話することを禁止することができ、ターゲットコンピューティング環境１１０をユーザ１０２から能動的に分離することができる（たとえば、ターゲットデバイス１０８をターゲットデバイス１０８のユーザ１０２以外のユーザに対してロックする）が、にもかかわらず、マウスまたはディスプレイをホストコンピューティング環境１０６と統合するためにホストデバイス１０４が借用することを許可することができる。第２のそのような例として、ホストデバイス１０４のホストデバイスリソース２１４と並行してターゲットデバイスリソース２１０を統合することにより、ホストデバイス１０４のユーザ１０２と、ターゲットデバイス１０８のユーザ１０２とが、共にホストコンピューティング環境１０６と対話することが可能になり得る。たとえば、ホストデバイスユーザ１０２は、ホストデバイス１０４に直接接続された入力デバイスおよびディスプレイを通じてホストユーザ入力２１８を提供することができ、ターゲットデバイスユーザ１０２は、ホストコンピューティング環境１０６に貸与されたターゲットデバイス１０８の入力デバイスおよびディスプレイを通じてターゲットユーザ入力１３４を提供することができ、ホストコンピューティング環境１０６は、両方の入力ソースおよび両方のディスプレイを同時に反映することができる。そのような同時利用は、他のリソース共有モデルを通じて実現することはできない。たとえば、ユーザ１０２がターゲットデバイス１０８から端末サービスセッション１１４を開始する場合、ホストデバイス１０４は、端末サービスセッション１１４の継続中に、ホストデバイス１０４および／または同じユーザアカウントへのローカルアクセスをしばしばロックアウトする。
【００２５】
[0037]  本明細書で提示される技法により実現され得る技術的効果の第３の例として、本明細書で提供されるターゲットデバイスリソース２１０の共有により、他のリソース共有モデルを通じて実現されるよりも詳細な借用および貸与を実現することが可能になり得る。たとえば、ホストデバイス１０４のユーザ１０２が端末サービスセッション１１４を開始する場合、ホストコンピューティング環境１０６の全体がターゲットデバイス１０８にさらされる可能性がある。しかし、これはユーザ１０２が意図していることではない可能性がある。むしろユーザ１０２は、ホストコンピューティング環境１０６のコンテンツをターゲットデバイス１０８に表示することなくターゲットデバイス１０８のマウスのみをホストデバイス１０４で利用したいか、または、ユーザ入力をターゲットデバイス１０８からホストデバイス１０４にリダイレクトさせることなくホストデバイス１０４の一部のコンテンツのみをターゲットデバイス１０８で表示したい可能性がある。同様に、ターゲットデバイス１０８のユーザ１０２は、マウスなど、特定のターゲットデバイスリソースのみをホストデバイス１０４に貸与したいが、そのような選択的なリソース共有は端末サービスセッション１１４のコンテキストでは実現できない可能性がある。図２の例示的シナリオ２００は、本明細書で提示される技法に応じて実現可能なターゲットデバイスリソースの選択的な貸与および借用を示している。
【００２６】
[0038]  本明細書で提示される技法の使用を通じて実現され得る技術的効果の第４の例として、ターゲットデバイスリソース２１０のホストコンピューティング環境１０６との統合は、そのようなターゲットデバイスリソース２１０のアドホックなリソース共有モデルよりも堅牢な表現を提示することができる。たとえば、図１の第３の例示的シナリオ１２８では、ユーザ入力共有アーキテクチャにより、第１のデバイス１３０がユーザ入力１３４を第２のデバイス１４２にプッシュすることが可能になる。たとえば、第１のデバイス１３０は、第１のデバイス１３０を通じて受け取られたユーザ入力１３４の入力デバイスの種類を示すことなく、テキスト入力やポインタ移動などの抽象的なユーザ入力命令を第２のデバイス１４２に単純に提示することができる。しかし、第２のデバイス１４２は、（たとえば、マウスデバイスのマウスアクセラレーションもしくはボタンクリック効果またはタッチ感応ディスプレイもしくはタッチパッドのタッチ感応性もしくは被認識ジェスチャを調節するために）第１のデバイス１３０の入力コンポーネントと対話する機能を持っていない可能性がある。第１のデバイス１３０の入力デバイスは第２のコンピューティング環境１４４に現れず、第２のデバイス１４２上のアプリケーションがユーザ入力のソースを判断するのも難しい場合がある。これらのユーザ入力は、第２のコンピューティング環境１１４で表される入力デバイスのいずれからも生じていない可能性がある。一方、本明細書で提示される技法では、借用されたターゲットデバイスリソース２１０をホストコンピューティング環境１０６と統合することで、より一貫性のある堅牢なリソース共有モデルが実現される。
【００２７】
[0039]  本明細書で提示される技法により実現され得る技術的効果の第５の例として、ターゲットデバイスリソース２１０の借用および貸与により、ホストデバイス１０４がターゲットデバイス１０８を通じて堅牢なコンピューティング環境体験を駆動することが可能になり得る。たとえば、ホストデバイス１０４が、ターゲットデバイス１０８のビデオおよびサウンド出力に加えて、ターゲットデバイス１０８のキーボードおよびマウス入力を借用する場合、ホストデバイス１０４は、ターゲットデバイス１０８上でホストコンピューティング環境１０６の完全な体験を提示することができる。またターゲットデバイス１０８は、ターゲットデバイス１０８のターゲットコンピューティング環境１１０を一時停止しながら、ホストコンピューティング環境１０６を提示することができる。これにより、ターゲットデバイス１０８は、他の方法ではコンピューティング環境間で分割される可能性がある計算リソースを、ホストコンピューティング環境１０６の提示に割り当てることができる（たとえば、プロセッサ、メモリ、入力、ネットワーク接続、およびターゲットデバイス１０８のその他のリソースが端末サービスセッション１１４とターゲットコンピューティング環境１１０との間でしばしば分割される端末サービスモデルの場合とは対照的である）。よってターゲットデバイス１０８は、計算リソースの大半をホストコンピューティング環境１０６の提示に割り当てることにより、比較的高品質な体験をホストデバイス１０４から提示することができる。一部のシナリオでは、グラフィックプロセッサを備えていない汎用タブレットなど、計算ハードウェアが比較的制限されているかおよび／または旧式であるターゲットデバイス１０８は、比較的洗練されたハードウェアを備えるホストデバイス１０４によりレンダリングされたホストコンピューティング環境１０６を提示することができる。この場合、ホストコンピューティング環境１０６の提示は、ターゲットデバイス１０８のネイティブなターゲットコンピューティング環境１１０の堅牢性、グラフィック品質、および／または応答性を超えるものとなり得る。よって、本明細書で提示される技法は、比較的旧式なハードウェアデバイスの再利用を促進することができる（たとえば、ターゲットデバイス１０８のユーザ１０２は、ターゲットデバイス１０８のネイティブなターゲットコンピューティング環境１１０を十分に使用できない可能性があるが、ターゲットデバイス１０８をホストコンピューティング環境１０６のポータルとして使用することで、機能を再利用できる場合がある）。
【００２８】
[0040]  本明細書で提示される技法の使用を通じて実現され得る技術的効果の第６の例として、ターゲットデバイスリソース２１０の借用により、ホストデバイス１０４で、ターゲットデバイス１０８がネイティブに使用することができないリソースおよびコンテンツをターゲットデバイス１０８に提示することが可能になり得る。第１のそのような例として、ユーザ１０２は、ターゲットコンピューティング環境１１０と互換性がないアプリケーションをターゲットデバイス１０８で提示したい場合がある（たとえば、アプリケーションは、ターゲットコンピューティング環境１１０がサポートしない命令セットおよび／またはアーキテクチャに対してコンパイルされている可能性がある）。代わりに、ユーザ１０２は、アプリケーションをホストデバイス１０４で実行し、ターゲットデバイス１０８のターゲットデバイスリソース２１０を使用してホストコンピューティング環境１０６を提示することができる。第２のそのような例として、ホストデバイス１０４は、ホストデバイス１０４は使用するためのライセンスを有しているが、ターゲットデバイス１０８は使用するためのライセンスを有していないアプリケーションまたはコンテンツを保持している場合がある。そのようなターゲットデバイス１０８で使用できないリソースをターゲットデバイス１０８に送信する代わりに、ホストデバイス１０４は、ローカルにアプリケーションを実行するかまたはコンテンツをレンダリングし、ターゲットデバイス１０８のターゲットデバイスリソース２１０を借用してアプリケーションまたはコンテンツの一部またはすべてをターゲットデバイス１０８経由で提示することができる。これらおよび他の技術的効果は、本明細書で提示される技法のさまざまな実装を通じて実現され得る。
【００２９】
[0041]  Ｄ．例示的実施形態
[0042]  図３は、ターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合するようにホストデバイス１０４を構成する例示的方法３００として示された、本明細書で提示される技法の第１の例示的実施形態を示す。例示的方法３００は、たとえば、メモリ回路、ハードディスクドライブのプラター、ソリッドステートストレージデバイス、磁気または光学ディスクなどのホストデバイス１０４のメモリコンポーネントに格納され、デバイスのプロセッサで実行されたときにホストデバイス１０４を本明細書で提示された技法に応じて動作させるように編成された、一群の命令として実装され得る。
【００３０】
[0043]  例示的方法３００は、３０２から始まり、命令をホストデバイス１０４のプロセッサで実行すること３０４を含む。具体的には、命令をプロセッサで実行すること３０４により、ホストデバイス１０４がターゲットデバイス１０８を通じてターゲットデバイスリソース２１０の利用可能性を検出する３０６。命令をプロセッサで実行すること３０４により、ホストデバイス１０４は、ホストデバイスユーザ１０２からの、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６で使用するために借用する要求の受け取りに応じて３０８、ターゲットデバイス１０８に、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６で使用するために借用する要求２０４を送信する３１０。命令をプロセッサで実行すること３０４により、ホストデバイス１０４は、ターゲットデバイス１０８からの要求２０４の受諾２０６の受け取りに応じて３１２、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６のホストデバイスリソース２１４と統合し３１４、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６内でホストデバイスユーザ１０２に提示する３１６。この態様で、命令は、本明細書で提示される技法に応じてホストデバイス１０４にターゲットデバイス１０８のターゲットデバイスリソース２１０をホストコンピューティング環境１０６と統合させ、よって例示的方法が３１８で終了する。
【００３１】
[0044]  本明細書で提示される技法の第２の例示的実施形態（図示せず）は、ターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６で使用するためにターゲットコンピューティング環境１１０から貸与するようにターゲットデバイス１０８を構成する例示的方法を含む。そのような例示的方法は、たとえば、ターゲットデバイス１０８のプロセッサで、ターゲットデバイス１０８にターゲットデバイスリソース２１０の利用可能性を告知させる命令を実行することと、ターゲットデバイスリソースをホストコンピューティング環境で使用するために借用する要求２０４の受け取りに応じて、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６用に予約することと、要求２０４の受諾をホストデバイス１０４に送信すること２０６とを含み得る。この態様で、命令は、本明細書で提示される技法に応じて、ターゲットデバイス１０８にターゲットデバイスリソース２１０をホストコンピューティング環境１０６で使用するためにターゲットコンピューティング環境１１０から貸与させ、よって例示的方法が終了する。
【００３２】
[0045]  図４は、本明細書で提示される技法の少なくとも一部をそれぞれ実装する例示的ホストデバイス４０２および例示的ターゲットデバイス４０４でそれぞれ実装される例示的システムとして図示された、本明細書で提示される技法のさらなる例示的実施形態を示す。例示的ホストデバイス４０２は、例示的ホストデバイス４０２に直接接続されたデバイス（たとえば、ユーザインターフェイス、アプリケーション、フォントやカラースキームなどの視覚的特徴、データ、アプリケーション構成、連絡先リスト、およびユーザアカウントと資格情報）の表現等の１つまたは複数のホストデバイスリソース２１４を備えるホストコンピューティング環境１０６をホストおよび／または管理し、例示的ターゲットデバイス４０４は、ターゲットデバイスリソース２１０を備えるターゲットコンピューティング環境１１０をホストする。この例示的シナリオ４００では、例示的ホストデバイス４０２および例示的ターゲットデバイス４０４のそれぞれが、プロセッサ４０６と、本明細書で提示される技法の少なくとも一部を実装する例示的システムを各デバイスで実装するプロセッサ実行可能命令を格納するメモリ４０８とを備える。各例示的システムは、たとえば、それぞれが各例示的デバイスのメモリ４０８に格納された一群の命令を含む一群のコンポーネントとして実装され得、各コンポーネントの命令は、プロセッサ４０６で実行されたときに、例示的デバイスを本明細書で提示される技法に応じて動作させる。代替で、各コンポーネントは、本明細書で提示される技法に応じて動作する独立した回路もしくはハードウェアデバイス、またはそれらの組合せとして実装され得る。
【００３３】
[0046]  例示的ホストデバイス４０２は、例示的ターゲットデバイス４０４を通じてターゲットデバイスリソース２１０の利用可能性４２２を検出するターゲットデバイスリソース要求器４１２を備える第１の例示的システム４１０を含み、ホストデバイスユーザ１０２からの、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６と統合する要求２０２の受け取りに応じて、例示的ターゲットデバイス４０４に、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６で使用するために借用する要求２０２を送信する。第１の例示的システム４１０は、例示的ターゲットデバイス４０４から要求２０２の受諾２０４を受け取ったことに応じて、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６のホストデバイスリソース２１４と統合し、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６内でホストデバイスユーザ１０２に提示する、ターゲットデバイスリソース統合器４１４をさらに備える。
【００３４】
[0047]  例示的ターゲットデバイス４０４は、ターゲットデバイスリソース２１０の利用可能性４２２の告知を（たとえば、ブロードキャストで、マルチキャストで、またはクエリに応じて）送信するターゲットデバイスリソースアドバタイザ４１８を備える第２の例示的システム４１６を含む。例示的ターゲットデバイス４０４は、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６で使用するために借用する要求２０２の受け取りに応じて、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６用に予約し４２４、要求２０２の受諾２０４をホストデバイス４０２に送信する、デバイスリソース貸与器４２０をさらに備える。そのような例示的システムを利用する例示的ホストデバイス４０２と例示的ターゲットデバイス４０４の相互運用により、 本明細書で提示される技法に応じて、例示的ターゲットデバイス４０４のターゲットデバイスリソース２１０を、例示的ホストデバイス４０２のホストコンピューティング環境１０６内で協同的に統合することが可能になり得る。
【００３５】
[0048]  さらに別の実施形態は、本明細書で提示される技法を適用するように構成されたプロセッサ実行可能命令を含むコンピュータ可読メディアを備える。そのようなコンピュータ可読メディアは、さまざまな物理的現象（たとえば、電磁信号、音波信号、または光学信号）を通じて、さまざまなワイヤードシナリオ（たとえば、イーサネット（登録商標）または光ファイバケーブル経由）および／またはワイヤレスシナリオ（たとえば、WiFi（登録商標）等のワイヤレスローカルエリアネットワーク（WLAN）、Bluetooth（登録商標）等のパーソナルエリアネットワーク（PAN）、またはセルラーもしくは無線ネットワーク）で伝搬され得、デバイスのプロセッサにより実行されたときに本明細書で提示される技法をデバイスに実装させる一群のコンピュータ可読命令をエンコードする信号等の、さまざまな種類の通信メディアを含み得る。そのようなコンピュータ可読メディアは、（通信メディアを除く部類の技術として）メモリ半導体（たとえば、静的ランダムアクセスメモリ（SRAM）、動的ランダムアクセスメモリ（DRAM）、および／または同期式動的ランダムアクセスメモリ（SDRAM）技術を利用する半導体）、ハードディスクドライブのプラター、フラッシュメモリデバイス、磁気または光学ディスク（CD-R、DVD-R、フロッピーディスク等）等のコンピュータ可読メモリデバイスをさらに備え得、デバイスのプロセッサにより実行されたときに本明細書で提示される技法をデバイスに実装させる一群のコンピュータ可読命令をエンコードする。
【００３６】
[0049]  これらの方法で考案され得る例示的コンピュータ可読メディアを図５に示す。ここで、実装５００は、エンコードされたコンピュータ可読データ５０４が存在するコンピュータ可読メモリデバイス５０２（たとえば、CD-R、DVD-R、またはハードディスクドライブのプラター）を含む。このコンピュータ可読データ５０４は、デバイス５１０のプロセッサ４０６で実行されたときにデバイス５１０を本明細書で示された原則に応じて動作させる一群のコンピュータ命令５０６を含む。第１のそのような実施形態では、プロセッサ実行可能命令５０６は、図３の例示的方法３００のように、ホストデバイス１０４にターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合させることができる。第２のそのような実施形態では、プロセッサ実行可能命令５０６は、図４の例示的シナリオ４００で提示される例示的システムのように、ホストデバイス１０４および／またはターゲットデバイス１０８にターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合させるシステムを実装させることができる。そのようなコンピュータ可読メディアの多くは、当業者により、本明細書で提示される技法に応じて動作するように構成されたものとして考案され得る。
【００３７】
[0050]  Ｅ．変形
[0051]  本明細書で説明する技法は、多くの側面について変形して考案され得、一部の変形は、これらおよび他の技法の他の変形に比べて、追加の利点を提示し、および／または欠点を低減し得る。さらに、一部の変形は組合せで実装され得、一部の組合せは、相乗的連携を通じて追加の利点を備え、および／または欠点を低減し得る。これらの変形をさまざまな実施形態（たとえば、図３の例示的方法３００、図４の例示的システム、および図５の例示的メモリデバイス５０２）に組み込んで、それらの実施形態に個別および／または相乗的な利点を与えることができる。
【００３８】
[0052]  Ｅ１．シナリオ
[0053]  これらの技法の実施形態間で変形する可能性がある第１の側面は、それらの技法が利用されるシナリオに関する。
【００３９】
[0054]  この第１の側面の第１の変形として、本明細書で提示される技術は、ワークステーション、ラップトップ、タブレット、携帯電話、ゲーム機、携帯型ゲームデバイス、携帯型または非携帯型のメディアプレーヤ、テレビ等のメディア表示装置、アプライアンス、ホームオートメーションデバイス、接眼レンズや腕時計などのウェアラブルデバイスに統合されたコンピューティングコンポーネント、監視制御およびデータ収集（SCADA）デバイスなど、さまざまなホストデバイス１０４および／またはターゲットデバイス１０８の構成を実現するために利用され得る。
【００４０】
[0055]  この第１の側面の第２の変形として、ターゲットデバイスリソース２１０およびホストデバイスリソース２１４は、出力デバイス（たとえば、ディスプレイ、スピーカ、および振動機構等の触覚出力デバイス）、入力デバイス（たとえば、キーボード、マウス、スタイラス、タッチ感応ディスプレイおよびタッチパッド、ジェスチャおよび視線追跡デバイス、ならびに生体入力デバイス）、周辺機器（たとえば、プリンタ、スキャナ、カメラ、およびロボットコンポーネント）、通信リソース（たとえば、ネットワーク接続、インターフェイス、およびデバイス）、基本計算リソース（たとえば、処理容量およびストレージ容量）など、さまざまなリソースタイプを含み得る。
【００４１】
[0056]  この第１の側面の第３の変形として、本明細書で提示される技法は、さまざまなアーキテクチャおよび／またはホストデバイス１０４とターゲットデバイス１０８との関係で利用され得る。第１のそのような例として、各デバイスは、ワイヤードディスプレイ、スピーカ、ヘッドフォンなど、デバイスに直接および物理的に接続されたコンポーネントを利用することができる。第２のそのような例として、各デバイスは、無線周波などのワイヤレス接続を通じてアクセスすることができる１つまたは複数のコンポーネントを利用することができる。第３のそのような例として、各デバイスは、本明細書で提示される技法に応じて相互運用するために、パーソナルエリアネットワーク、ローカルエリアネットワーク、および／またはワイドエリアネットワーク上で通信することができる。第４のそのような例として、各デバイスは、クライアント／サーバアーキテクチャやピアツーピアアーキテクチャなどで、デバイスコレクションの第３のデバイスを通じてアクセス可能な１つまたは複数のコンポーネントを利用することができる。さらに、ホストデバイス１０４およびターゲットデバイス１０８のそれぞれは、１人のユーザ１０２もしくはユーザ１０２のグループにより利用される可能性があり、ならびに／または少なくとも１人の第２のユーザ１０２の代わりに少なくとも１人の第１のユーザ１０２により制御される可能性がある。これらおよび他のシナリオは、本明細書で提示される技法に応じてターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合するのに適している可能性がある。
【００４２】
[0057]  Ｅ２．ターゲットデバイスリソース貸与の確立
[0058]  本明細書で提示される技法の実施形態間で変化する可能性がある第２の側面は、ターゲットデバイス１０８からホストデバイス１０４へのターゲットデバイスリソース２１０の貸与を確立する態様を含む。
【００４３】
[0059]  この第２の側面の第１の変形として、ホストデバイス１０４は、ターゲットデバイスリソース２１０の利用可能性４２２をさまざまな方法で発見することができる。第１のそのような例として、ターゲットデバイス１０８は、たとえば、利用可能なリソースを短距離ネットワーク、ローカルエリアネットワーク、またはワイドエリアネットワークでブロードキャストすることにより、または、さまざまなターゲットデバイス１０８を通じて利用可能なターゲットデバイスリソースの利用可能性カタログでターゲットデバイスリソース２１０をリストすることにより、ターゲットデバイスリソース２１０の利用可能性４２２を告知することができる。次にホストデバイス１０４は、（たとえば、そのようなブロードキャストを受け取るか、または利用可能性カタログでターゲットデバイスリソース２１０を見つけることにより）ターゲットデバイスリソース２１０のそのような利用可能性４２２の告知を受け取ることができる。第２のそのような例として、ホストデバイス１０４は、利用可能なターゲットデバイスリソース２１０についての問い合わせをブロードキャストすることができる。この問い合わせでは、任意選択により、ホストデバイス１０４がホストコンピューティング環境１０６内で提示することを望む特定の種類のターゲットデバイスリソース２１０を指定することができる。ターゲットデバイス１０８は、ターゲットデバイス１０８を通じて少なくとも１つのターゲットデバイスリソース２１０の利用可能性４２２をホストデバイス１０４に通知することにより、応答することができる。第３のそのような例として、ホストデバイス１０４およびターゲットデバイス１０８は、ターゲットデバイスリソース２１０の利用可能性４２２をホストデバイス１０４に告知するための基盤を提供する特定の接続を開始することができる。たとえば、ホストデバイス１０４およびターゲットデバイス１０８の物理的近接が物理的近接しきい値内であることを検出することで（たとえば、ユーザ１０２は、携帯型のホストデバイス１０４を、ユーザ１０２がターゲットデバイスリソース２１０の借用を望むターゲットデバイス１０８の上または１メートル以内に置く可能性がある）、ターゲットデバイスリソース２１０の利用可能性４２２のホストデバイス１０４への告知を開始することができる。
【００４４】
[0060]  この第２の側面の第２の変形として、ホストデバイス１０４およびターゲットデバイス１０８はホストデバイス１０４に対するターゲットデバイスリソース２１０の利用可能性４２２についてネゴシエートすることができる。第１のそのような例として、ホストデバイス１０４およびターゲットデバイス１０８は、スケジューリングに参加する（たとえば、ホストデバイス１０４に対してターゲットデバイスリソース２１０を予約する一定の時間を特定する）ことができる。第２のそのような例として、ホストデバイス１０４およびターゲットデバイス１０８は、負荷分散を利用する（たとえば、利用可能な一群のターゲットデバイス１０８およびターゲットデバイスリソース２１０の中で、アイドル状態であるか、またはホストデバイス１０４の状況に適している、選択されたターゲットデバイス１０８およびターゲットデバイスリソース２１０を特定する）ことができる。第３のそのような例として、ホストデバイス１０４およびターゲットデバイス１０８は、交渉に参加する（たとえば、ターゲットデバイスリソース２１０をホストデバイス１０４用に予約するためのコストについてネゴシエートし、合意する）ことができる。第４のそのような例として、ターゲットデバイス１０８は、特定のホストデバイス１０４のみとのリソース貸与に参加することができる。第１のそのような例として、ホストデバイス１０４に対するターゲットデバイスリソース２１０の利用可能性４２２は、アクセス資格情報（たとえば、パスワードまたは証明書）により制約され得る。ホストデバイス１０４は、アクセス資格情報を要求と共に提出することができ、ターゲットデバイス１０８は、アクセス資格情報が検証された場合に限り、ターゲットデバイスリソース２１０をホストデバイス１０４用に予約することができる。代替または追加で、ターゲットデバイス１０８およびホストデバイス１０４が信頼関係にある場合、ターゲットデバイス１０８は、ホストデバイス１０４の接続および承認後に、ターゲットデバイスリソース２１０の貸与を自動的に許可または開始することもできる。
【００４５】
[0061]  この第２の側面の第３の変形として、ホストデバイス１０４および／またはターゲットデバイス１０８は、ターゲットデバイスリソース２１０の借用および貸与に自律的に参加することができる（たとえば、ターゲットデバイス１０８は、ターゲットデバイス１０８がアイドル状態であるか、ロックされているか、一時停止しているか、電源が切れているか、またはその他の理由でユーザ１０２により使用されていない場合でも、ターゲットデバイスリソース２１０を貸与することに自律的に同意することができる）。代替で、ホストデバイス１０４および／またはターゲットデバイス１０８は、ユーザ１０２の認証に基づいて、そのような対話を調整することができる。第１のそのような例として、ターゲットデバイス１０８を通じてターゲットデバイスリソース２１０の利用可能性４２２を検出した後、ホストデバイス１０４は、ホストコンピューティング環境１０６との統合のためのターゲットデバイスリソース２１０の利用可能性４２２をホストデバイスユーザ１０２に通知し、ユーザ１０２からの要求２０２を待機してからリソース貸与を開始することができる。第２のそのような例として、ターゲットデバイスユーザ１０２により操作されるターゲットデバイス１０８ は、ターゲットデバイスリソース２１０をホストデバイス１０４で使用するために借用する要求２０２の受け取りに応じて、要求２０２をターゲットデバイスユーザ１０２に提示し、要求２０２の受諾をターゲットデバイスユーザ１０２から受け取った場合に限り受諾２０４を送信することができる。
【００４６】
[0062]  この第２の側面の第４の変形として、ターゲットデバイスリソース２１０の借用および貸与を、ターゲットデバイスリソースセット２１０の特定のターゲットデバイスリソース２１０に限定することができる。第１のそのような例として、ターゲットデバイス１０８は、選択されたターゲットデバイスリソース２１０のみの利用可能性４２２を告知し（たとえば、ディスプレイの利用可能性４２２を、そのディスプレイがターゲットデバイスユーザ１０２により使用されていないときに限り告知する）、他のターゲットデバイスリソース２１０を利用不可にすることを検討することができる。第２のそのような例として、ターゲットデバイス１０８が少なくとも２つのターゲットデバイスリソース２１０の利用可能性４２２を告知する一方、ホストデバイス１０４は、選択されたターゲットデバイスリソースのみの借用を要求する（たとえば、マウスの借用を要求し、キーボードの借用を要求しない）ことができる。よって、ホストデバイスユーザ１０２からの要求２０２で、ホストコンピューティング環境１０６と統合される選択されたターゲットデバイスリソース２１０を指定することができ、ホストデバイス１０４は、選択されたターゲットデバイスリソース２１０のみをホストコンピューティング環境１０６で使用するために借用する要求２０２をターゲットデバイス１０８に送信することができる。ターゲットデバイス１０８は、ユーザの選択を簡素化するために、ホストデバイス１０４が要求した選択されたターゲットデバイスリソース２１０をターゲットデバイスユーザ１０２に通知することができる。
【００４７】
[0063]  この第２の側面の第５の変形として、ターゲットデバイスリソース２１０を借用するホストデバイス１０４の要求２０２は、ターゲットデバイスリソース２１０の意図された用途をターゲットデバイス１０８に通知することもできる。たとえば、ターゲットデバイスリソース２１０は、ターゲット提示コンポーネント（たとえば、ディスプレイまたはスピーカ）をさらに含み、ホストデバイスユーザ１０２からの要求２０２は、ターゲットデバイス１０８のターゲット提示コンポーネントを通じて提示される特定のコンテンツ項目（たとえば、ユーザ１０２がターゲットデバイス１０８を通じて提示することを望む特定の画像、ビデオ、録音、文書、またはウェブページ）を指定することができる。よって要求２０２は、ターゲットデバイス１０８の提示コンポーネントを通じて提示されるコンテンツ項目の記述（たとえば、テキスト記述、サマリ、または画像のサムネイルなどのプレビュー）を含むことができ、ターゲットデバイス１０８は、この記述をターゲットデバイスユーザ１０２に提示してユーザの選択を支援することができる。さらなる変形として、ターゲットデバイス１０８は、指定されたコンテンツ項目の提示期間に限りターゲットデバイスリソース２１０の貸与に参加し、その後ホストデバイス１０４に対するターゲットデバイスリソース２１０の貸与を自動的に終了し、予約を自動的に終了して解除する（たとえば、貸与が許可されたビデオが終了したときに、ディスプレイの貸与を終了する）ことができる。
【００４８】
[0064]  図６は、ターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４に貸与するためのホストデバイス１０４およびターゲットデバイス１０８の対話を示す例示的シナリオ６００を示す。この例示的シナリオ６００で、ホストデバイス１０４のホストデバイスユーザ１０２は、コンテンツ項目６０２（具体的には、録音された歌）を再生することを望んでいるが、ホストデバイス１０４に適切な機器が存在しない可能性がある（たとえば、携帯電話は、低出力かつ低品質なスピーカしか備えていない可能性がある）。ターゲットデバイス１０８は、ディスプレイ、マウス、スピーカなどのさまざまなターゲットデバイスリソース２１０の利用可能性４２２を告知することができる。ホストデバイス１０４は、そのような利用可能性４２２をホストデバイスユーザ１０２に通知することができ、ユーザ１０２は、コンテンツ項目６０２をターゲットデバイス１０８のスピーカで提示する要求を開始することができる。ホストデバイス１０４は、ホストデバイス１０４で使用するために、詳細にはコンテンツ項目６０２をレンダリングするタスクのために、ターゲットデバイスリソース２１０を借用する要求２０２をターゲットデバイス１０８に送ることができる。ターゲットデバイス１０８は、要求２０２をターゲットデバイスユーザ１０２に提示し、ターゲットデバイスユーザ１０２は、要求２０２の受諾２０４により応答することができる。よって、ターゲットデバイス１０８は、ターゲットデバイスリソース２１０をホストデバイス１０４用に予約し（たとえば、ターゲットコンピューティング環境１１０のスピーカを通じたサウンド再生をフェードアウトまたは停止する）、受諾２０４をホストデバイス１０４に送信することができる。ホストデバイス１０４は、ホストコンピューティング環境１０６にスピーカを統合し、ホストコンピューティング環境１０６内でコンテンツ項目６０２のレンダリングを開始することができる（たとえば、ホストコンピューティング環境１０６内で全体的に制御および利用されるレンダリングストリームを開始するが、オーディオストリームもまたはスピーカを通じた提示のためにターゲットデバイス１０８に送信される）。よってターゲットデバイス１０８は、要求２０２を実現させ、コンテンツ項目６０２をレンダリングする。レンダリングの完了時に、ターゲットデバイス１０８はターゲットデバイスリソース２１０の貸与を自動的に終了し、ターゲットデバイスリソース２１０をターゲットコンピューティング環境１１０に解放し（たとえば、ターゲットコンピューティング環境１１０を通じたサウンド再生をフェードインする）、「貸与完了」通知６０４をホストデバイス１０４に送信することができる。ホストデバイス１０４は、ターゲットデバイスリソース２１０のホストコンピューティング環境１０６との統合を元に戻すことができる。
【００４９】
[0065]  図７は、ホストデバイス１０４によるターゲットデバイス１０８のリソースの借用の別の変形を示す例示的シナリオ７００を示す。ここで、ターゲットデバイス１０８のリソースのホストデバイス１０４による使用のための借用は、第２のユーザ１０２によるホストデバイス１０４の借用を増進する。この例示的シナリオ７００では、ホストコンピューティング環境７０２にアクセスしている第１のユーザ１０２が、第１のユーザのホストコンピューティング環境７０２との対話を中断することなく、第２のユーザ１０２によるホストデバイス１０４の借用およびアクセスを許可したいと考えている。よって、第１のユーザ１０２は、ターゲットデバイス１０８のリソースを借用し、ホストコンピューティング環境をターゲットデバイス１０８に送信することができる。加えて、ホストデバイス１０４は、第２のユーザ１０２に、キュレートされたコンピューティング環境７０４（たとえば、分離されたウェブブラウザ、特定のコンテンツ項目のみの提示、またはホストデバイス１０４での特定のアプリケーションのみの実行など、第２のユーザ１０２がホストデバイス１０４の使用を要求した用途に限定されたコンピューティング環境）を提示することができる。よって第２のユーザ１０２は、第１のユーザ１０２がターゲットデバイス１０８を通じたホストコンピューティング環境１０６へのアクセスを継続する一方で、ホストデバイス１０４上のキュレートされたコンピューティング環境７０４と対話することができる。ホストデバイス１０４およびターゲットデバイス１０８は、本明細書で提示される技法に応じてターゲットデバイスリソース２１０をホストデバイス１０４に貸与する際に、これらの多数の変形を利用することができる。
【００５０】
[0066]  Ｅ３．ターゲットデバイスリソースのホストコンピューティング環境との統合
[0067]  本明細書で提示される技法の実施形態間で変化する可能性がある第３の側面は、ターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合する態様を含む。
【００５１】
[0068]  この第３の側面の第１の変形として、ターゲットデバイス１０８は、ターゲットデバイスリソース２１０をホストデバイス１０４用に排他的に予約することができ、ターゲットデバイスリソース２１０をターゲットコンピューティング環境１１０から除去するか、またはターゲットデバイスリソース２１０をターゲットコンピューティング環境１１０内で利用不可としてマークすることができる。代替で、ターゲットデバイス１０８は、たとえばターゲットデバイスリソース２１０をホストデバイス１０４とターゲットデバイス１０８との間で共有することにより、ターゲットデバイスリソース２１０を非排他的に予約することができる。１つのそのような例として、ターゲットデバイス１０８は、ターゲットデバイスリソース２１０をホストデバイス１０４と共有するための共有条件を確立することができる。たとえば、ある状況ではターゲットユーザ入力１３４をターゲットコンピューティング環境１１０に送り、別の状況ではホストコンピューティング環境１０６に送ることができる。さらに別の代替として、ターゲットコンピューティング環境１１０は、ターゲットデバイスリソース２１０をホストデバイス１０４およびターゲットコンピューティング環境１１０に同一に公開することができる。たとえば、両コンピューティング環境で入力および／出力をミラーリングすることができる。
【００５２】
[0069]  図８は、この第３の側面の第２の変形を示す。ここで、ターゲットデバイスリソース２１０は、ターゲット提示コンポーネントをさらに含み、ホストデバイス１０４は、提示コンポーネントレイアウト内でターゲット提示コンポーネントを１つまたは複数のホスト提示コンポーネントに対して相対的に配置することにより、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６と統合する。この例示的シナリオ８００では、ターゲットデバイス１０８がターゲットディスプレイ８０６およびターゲットユーザ入力１３４をホストデバイス１０４に貸与し、ホストデバイス１０４がターゲットディスプレイ８０６およびターゲットユーザ入力１３４の両方をホストコンピューティング環境１０６と統合する。具体的には、ホストコンピューティング環境１０６は、拡張デスクトップ等のディスプレイレイアウト８０２内で、ホストデバイス１０４に直接接続されたホストディスプレイ８０４に対して相対的にターゲットディスプレイ８０６を配置する。ターゲットデバイス１０８により提供されるターゲットユーザ入力１３４は、ディスプレイレイアウト８０２の表示にも及び得る。たとえば、ターゲットデバイス１０８がターゲットユーザ入力１３４をホストデバイス１０４に送信し、ホストデバイス１０４がホストコンピューティング環境１０６内でターゲットユーザ入力１３４を適用することができる。その後、ホストデバイス１０４がディスプレイコンテンツ８０８をターゲットデバイス１０８に送信し、ターゲットデバイス１０８がディスプレイコンテンツ８０８をターゲットディスプレイ８０６に表示することができる。この態様で、ターゲットディスプレイ８０６をホストコンピューティング環境１０６のディスプレイレイアウト８０２内でホストデバイス１０４のホストディスプレイ８０４と統合することができる。別のそのような例として、スピーカレイアウトは、オーディオ環境内でスピーカに割り当てられた配置および／または役割（たとえば、左チャネルスピーカ、右チャネルスピーカ、および中央チャネルスピーカ）を含む可能性があり、ホストコンピューティング環境１０６は、オーディオ環境内でターゲットデバイス１０８のスピーカをホストデバイス１０４の他のスピーカに対して相対的に配置することができる。
【００５３】
[0070]  この第３の側面の第３の変形として、ホストデバイス１０４は、ターゲットデバイス１０８のターゲットデバイスリソース２１０をホストデバイス１０４のホストコンピューティング環境１０６と統合するコンテキストで、一部のホストデバイスリソースをターゲットデバイス１０８と本質的に共有することができる。第１のそのような例として、ターゲットデバイスリソース２１０は、ホストデバイス１０４がネットワークを介してアクセス可能なコンテンツ項目のレンダリングを試みるターゲット提示コンポーネントをさらに含み得る。一部のそのようなシナリオでは、ホストデバイス１０４は、提示用のコンテンツ項目をネットワークから取得することをターゲットデバイス１０８に要求することができるが、この要求は、ターゲットデバイス１０８のターゲットネットワークリソースを利用する可能性がある。本明細書で提示される技法では、ホストデバイス１０４は、代わりに、ホストネットワークリソースを介してコンテンツ項目を取得し、それをターゲット提示コンポーネントを通じた提示のためにターゲットデバイス１０８に送信することができる。この例は、ホストデバイス１０４がターゲットデバイス１０８のターゲットネットワークリソースの使用を要求する代わりにホストネットワークリソースを利用してターゲットデバイス１０８との対話を簡素化する、「リバースインターネット接続共有」に類似し得る。
【００５４】
[0071]  この第３の側面の第４の変形として、ターゲットデバイスリソース２１０はターゲット提示コンポーネントをさらに含み、ホストデバイス１０４は、ホストコンピューティング環境１０６の少なくとも一部をターゲット提示コンポーネントを通じた提示のためにターゲットデバイス１０８に送信することにより、ターゲット提示コンポーネントを統合することができる。たとえば、ホストデバイス１０４は、ホストコンピューティング環境１０６の完全なレンダリングを送信するか、またはその一部、たとえばコンテンツ項目が表示されている特定のアプリケーションのウィンドウまたはホストディスプレイの領域を送信することができる。ターゲットデバイス１０８のシステムは、ホスト環境提示器をさらに含み得る。ホスト環境提示器は、ホストデバイス１０４からのホストコンピューティング環境１０６の少なくとも一部の受け取りに応じて、ターゲット提示コンポーネントを通じてホストコンピューティング環境１０６を提供する。
【００５５】
[0072]  この第３の側面のさらなる変形は、ターゲットデバイス１０８がホストコンピューティング環境１０６の少なくとも一部を提示しながらターゲットコンピューティング環境１１０を改変する態様を含む。
【００５６】
[0073]  図９は、この第３の側面の第５の変形を示す例示的シナリオ９００を示す。ここで、ターゲットデバイス１０８は、ホストコンピューティング環境１０６を提示する間に、ターゲットデバイス１０８でのターゲットコンピューティング環境１１０の提示を一時停止する。この例示的シナリオ９００では、第１の時刻９０８で、ターゲットデバイス１０８はターゲット提示コンポーネントを通じて実行状態９０２のターゲットコンピューティング環境１１０を提示している。第２の時刻９１０で、ターゲットデバイス１０８は、ホストデバイス１０４から、ホストコンピューティング環境１０６を提示するためにターゲット提示コンポーネントをホストデバイス１０４による使用のために借用する要求２０２を受け取る可能性がある。よってターゲットデバイス１０８は、ターゲット提示コンポーネントでのターゲットコンピューティング環境１１０の一時停止１０６を開始し、ターゲット提示コンポーネントをホストコンピューティング環境１０６の提示用に予約することができる。第３の時刻９１２で、ホストコンピューティング環境１０６での提示の完了（たとえば、ホストデバイス１０４のターゲットデバイス１０８からの接続解除）を検出した後、ターゲットデバイス１０８は、ターゲット提示コンポーネントでのターゲットコンピューティング環境１１０の再開９０６を実行することができる。このようにホストコンピューティング環境１０６を提示している間にターゲットコンピューティング環境１１０を一時停止することは、たとえば、セキュリティ機能としてターゲットコンピューティング環境１１０をホストコンピューティング環境１０６から分離するために有利であり得、ターゲットデバイス１０８でのホストコンピューティング環境１０６の提示のパフォーマンスも促進する。１つのそのような例として、ターゲットデバイス１０８が、低出力のモバイル向けプロセッサや限られた容量のメモリなど、限られた計算リソースを備えている場合、ターゲットコンピューティング環境１１０を一時停止することで、ターゲットデバイス１０８がホストコンピューティング環境１０６を提示するための計算リソースの割り当てを最大化して、応答性に優れた低遅延のユーザ体験を提供することが可能になり得る。
【００５７】
[0074]  図１０は、この第３の側面の第６の変形を示す例示的シナリオ１０００を示す。ここで、ターゲットデバイス１０８は、ターゲットコンピューティング環境１１０を一時停止せず、ターゲットコンピューティング環境１１０の提示をホストコンピューティング環境１０６と同時に継続する。この例示的シナリオ１０００では、ホストデバイス１０４は、ターゲットディスプレイ８０６をホストコンピューティング環境１０６の提示のために借用すること、およびターゲットデバイス１０８の入力コンポーネントを通じて提供されたターゲットユーザ入力１３４を送信することを、ターゲットデバイス１０８に要求する。よって、ターゲットデバイス１０８は、第１のターゲットディスプレイ８０６および入力コンポーネントをターゲットユーザ入力１３４用に予約し、ターゲットユーザ入力１３４をホストデバイス１０４に送信することができる。ホストデバイス１０４は、ターゲットユーザ入力１３４をホストユーザ入力２１８と共にホストコンピューティング環境１０６に適用することができる。次に、ホストデバイス１０４は、第１のターゲットディスプレイ８０６用のディスプレイコンテンツ１００２をターゲットデバイス１０８に送信することができ、ターゲットデバイス１０８は、ディスプレイコンテンツ１００２をターゲットディスプレイ８０６で提示することができる。この態様で、ホストデバイス１０４は、ターゲットユーザ入力１３４および第１のターゲットディスプレイ８０６のホストコンピューティング環境１０６での統合を実現し、ターゲットデバイスユーザおよびホストデバイスユーザが異なるデバイスを通じてユーザ入力を提供することによりホストコンピューティング環境１０６を共に使用することを可能にする。ただし、ターゲットデバイス１０８は、第１のターゲットディスプレイ８０６でのホストコンピューティング環境１０６の提示と共に第２のターゲットディスプレイ８０６でのターゲットコンピューティング環境１１０の提示を継続し、ターゲットデバイス入力１３４の一部がターゲットコンピューティング環境１１０に適用されて第２のターゲットディスプレイ８０６に表示されるようにし、ターゲットデバイスリソース２１０をホストコンピューティング環境１０６とターゲットコンピューティング環境１１０との間で共有することを可能にする。この例示的シナリオ１０００では、ホストデバイス１０４がホストユーザ入力２１８をホストコンピューティング環境１０６のディスプレイコンテンツ１００２内で表されるものとしてターゲットデバイス１０８に暗黙的に返送する一方、モデルにより、ホストユーザ入力２１８の適用がターゲットコンピューティング環境１１０に組み込まれることが制限される１００６。この態様で、モデルは、ホストユーザ入力２１８からのターゲットコンピューティング環境１１０の分離１００４を強制しながら、第１のターゲットディスプレイ８０６でのターゲットコンピューティング環境１１０およびホストコンピューティング環境１０６の提示の同時実行を実現する。多くのそのようなシナリオにより、本明細書で提示される技法に応じてターゲットデバイス１０８のターゲットデバイスリソース２１０をホストコンピューティン���環境１０６と統合することが可能になり得る。
【００５８】
[0075]  Ｆ．コンピューティング環境
[0076]  図１１および以下の説明は、本明細書で示される１つまたは複数の規定の実施形態を実装するのに適したコンピューティング環境を簡潔かつ全体的に示す。図１１の動作環境は、適切な動作環境の一例に過ぎず、動作環境の使用または機能の範囲について何らかの限定を示唆することを意図したものではない。例示的コンピューティングデバイスは、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、携帯デバイス（たとえば、携帯電話、個人用デジタル補助装置（PDA）、メディアプレーヤ等）、マルチプロセッサシステム、家電製品、ミニコンピュータ、メインフレームコンピュータ、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含むが、それらに限定されない。
【００５９】
[0077]  必須ではないが、実施形態は、１つまたは複数のコンピューティングデバイスにより実行される「コンピュータ可読命令」の一般的なコンテキストで説明される。コンピュータ可読命令は、コンピュータ可読メディア（以下で説明）を通じて配布され得る。コンピュータ可読命令は、関数、オブジェクト、アプリケーションプログラミングインターフェイス（API）、データ構造などの、特定のタスクを実行するかまたは特定の抽象データ型を実装するプログラムモジュールとして実装され得る。一般的には、コンピュータ可読命令の機能は、さまざまな環境で必要に応じて結合または分散され得る。
【００６０】
[0078]  図１１は、本明細書で提示される１つまたは複数の実施形態を実装するように構成されたコンピューティングデバイス１１０２を備えるシステム１１００の例を示す。一構成では、コンピューティングデバイス１１０２は、少なくとも１つの処理装置１１０６と、メモリ１１０８とを備える。実際の構成およびコンピューティングデバイスの種類に応じて、メモリ１１０８は、揮発性（たとえば、RAM等）、不揮発性（たとえば、ROM、フラッシュメモリ等）、またはそれら２つの何らかの組合せであり得る。この構成は、図１１で破線１１０４により示されている。
【００６１】
[0079]  他の実施形態では、デバイス１１０２は、追加の特徴および／または機能を備え得る。たとえば、デバイス１１０２は、磁気ストレージ、光学ストレージ等を含むがそれらに限定されない追加のストレージ（たとえば、リムーバブルおよび／または非リムーバブル）をさらに備える可能性がある。そのような追加のストレージは、図１１でストレージ１１１０により示されている。一実施形態では、本明細書で提示される１つまたは複数の実施形態を実装するコンピュータ可読命令は、ストレージ１１１０に含まれる可能性がある。ストレージ１１１０は、オペレーティングシステムやアプリケーションプログラムなどを実装する他のコンピュータ可読命令をさらに格納する可能性がある。コンピュータ可読命令は、たとえば、処理装置１１０６による実行のために、メモリ１１０８に読み込まれ得る。
【００６２】
[0080]  本明細書で使用される「コンピュータ可読メディア」という用語は、信号等の通信メディアを含む他の形式のコンピュータ可読メディアを除く、コンピュータ可読メモリデバイスを含む。そのようなコンピュータ可読メモリデバイスは、揮発性および／または不揮発性であり得、リムーバブルおよび／または非リムーバブルであり得、コンピュータ可読命令または他のデータを格納するさまざまな種類の物理デバイスを含み得る。メモリ１１０８およびストレージ１１１０は、コンピュータストレージメディアの例である。コンピュータストレージデバイスは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、CDーＲＯＭ、デジタル多用途ディスク（DVD）または他の光学ストレージ、磁気カセット、磁気テープ、および磁気ディスクストレージまたは他の磁気ストレージデバイスを含むが、それらに限定されない。
【００６３】
[0081]  デバイス１１０２は、デバイス１１０２が他のデバイスと通信することを可能にする通信接続１１１６をさらに備える。通信接続１１１６は、モデム、ネットワークインターフェイスカード（NIC）、統合型ネットワークインターフェイス、無線周波送信器／受信器、赤外線ポート、ＵＳＢ接続、またはコンピューティングデバイス１１０２を他のコンピューティングデバイスに接続する他のインターフェイスを含み得るが、それらに限定されない。通信接続１１１６は、ワイヤード接続またはワイヤレス接続を含み得る。通信接続１１１６は、通信メディアを送信および／または受信することができる。
【００６４】
[0082]  「コンピュータ可読メディア」という用語は、通信メディアを含み得る。通信メディアは、一般的には、コンピュータ可読命令または他のデータを搬送波や他の搬送機構などの「変調データ信号」で具体化し、任意の情報配信メディアを含む。「変調データ信号」という用語は、その特性の１つまたは複数が当該信号で情報をエンコードする態様で設定または変更された信号を含み得る。
【００６５】
[0083]  デバイス１１０２は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、および／または他の入力デバイスなどの入力デバイス１１１４を含み得る。１つまたは複数のディスプレイ、スピーカ、プリンタ、および／または任意の他の出力デバイスなどの出力デバイス１１１２も、デバイス１１０２に含まれる可能性がある。入力デバイス１１１４および出力デバイス１１１２は、ワイヤード接続、ワイヤレス接続、またはそれらの任意の組合せを通じて、デバイス１１０２に接続され得る。一実施形態では、別のコンピューティングデバイスの入力デバイスまたは出力デバイスが、コンピューティングデバイス１１０２の入力デバイス１１１４または出力デバイス１１１２として使用される可能性がある。
【００６６】
[0084]  コンピューティングデバイス１１０２のコンポーネントは、バスなどのさまざまな相互接続により接続され得る。そのような相互接続は、ＰＣＩエクスプレス等の周辺コンポーネント相互接続（PCI）、ユニバーサルシリアルバス（USB）、Ｆｉｒｅｗｉｒｅ（IEEE 1394）、光学バス構造などを含み得る。別の実施形態では、コンピューティングデバイス１１０２のコンポーネントは、ネットワークにより相互接続される。たとえば、メモリ１１０８は、異なる物理位置に配置されネットワークにより相互接続された複数の物理メモリユニットで構成され得る。
【００６７】
[0085]  当業者は、コンピュータ可読命令を格納するために利用されるストレージデバイスをネットワークに分散させることができることを認識する。たとえば、ネットワーク１１１８を介してアクセス可能なコンピューティングデバイス１１２０は、本明細書で提示される１つまたは複数の実施形態を実装するコンピュータ可読命令を格納することができる。コンピューティングデバイス１１０２は、コンピューティングデバイス１１２０にアクセスし、コンピュータ可読命令の一部またはすべてを実行のためにダウンロードすることができる。代替で、コンピューティングデバイス１１０２は、必要に応じて、コンピュータ可読命令の断片をダウンロードすることができ、または、一部の命令をコンピューティングデバイス１１０２で実行して一部の命令をコンピューティングデバイス１１２０で実行することができる。
【００６８】
[0086]  Ｇ．用語の使用
[0087]  主題について構造的特徴および／または方法論的行為に固有の言語で説明してきたが、添付の請求項で定義される主題は上述した特定の機能または行為に必ずしも限定されないことが理解される。むしろ、上述した特定の特徴および行為は、請求項を実装する例示的形式として開示されている。
【００６９】
[0088]  本願で使用されている、「コンポーネント」、「モジュール」、「システム」、「インターフェイス」等の用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを示すものとして一般的に意図されている。たとえば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピュータであり得るが、それらに限定されない。例として、コントローラで実行中のアプリケーションと、コントローラとは、いずれもコンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行のスレッド内に存在する可能性があり、コンポーネントは、１つのコンピュータに局地化され、および／または２つ以上のコンピュータ間に分散される可能性がある。
【００７０】
[0089]  さらに、請求項に記載された主題は、開示された主題を実装するコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを作成する標準のプログラミングおよび／またはエンジニアリング技法を使用して、方法、装置、または製造品として実装され得る。本明細書で使用される「製造品」という用語は、任意のコンピュータ可読デバイス、キャリア、またはメディアからアクセス可能なコンピュータプログラムを包含するものとして意図されている。もちろん、当業者は、請求項に記載された主題の範囲または精神から逸脱することなく、この構成に多数の変更を加えることができることを認識する。
【００７１】
[0090]  本明細書では、実施形態のさまざまな動作が提供される。一実施形態では、説明される１つまたは複数の動作は、１つまたは複数のコンピュータ可読メディアに格納され、コンピューティングデバイスにより実行された場合に当該コンピューティングデバイスに説明される動作を実行させるコンピュータ可読命令を構成し得る。一部またはすべての動作が説明される順序は、それらの動作が必然的に順序に依存することを暗示するものとして理解されるべきではない。この説明の利点を踏まえて、当業者により、代替の順序が認識される。さらに、すべての動作が本明細書で提示される各実施形態に必ずしも存在するわけではないことが理解される。
【００７２】
[0091]  本明細書で「例」として説明される任意の側面または設計は、必ずしも他の側面または設計よりも有利なものとして解釈されない。むしろ、「例」という単語の使用は、本明細書で提示される技法に関連し得る１つの考えられる側面および／または実装を提示することを意図している。そのような例は、そうした技法を必ずしも限定するものではなく、限定を意図するものでもない。そうした技法のさまざまな実施形態は、そうした例を単独または他の特徴との組合せで含み得、ならびに／または図示された例を変形および／もしくは除外し得る。
【００７３】
[0092]  本願で使用される「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味することを意図している。つまり、別途明記されない限り、またはコンテキストから明確でない限り、「ＸはＡまたはＢを用いる」は、自然な包含的置き換えのすべてを意味することを意図している。つまり、ＸがＡを用いるか、ＸがＢを用いるか、またはＸがＡとＢの両方を用いる場合、「ＸはＡまたはＢを用いる」は、これらの事例のいずれでも満たされる。加えて、本願および添付の請求項で使用される冠詞「ａ」および「ａｎ」は、単数であることが別途明記されるかまたはコンテキストから明確である場合を除き、「１つまたは複数の」を意味するものとして一般的に解釈され得る。
【００７４】
[0093]  また、本開示は１つまたは複数の実装に関して提示および説明されているが、本明細書および添付の図面の読み込みおよび理解に基づき、等価の代替物および変形が当業者に思い浮かぶ。本開示は、そのような変形および代替物のすべてを含み、添付の請求項の範囲によってのみ限定される。上述したコンポーネント（たとえば、要素、リソース等）により実行されるさまざまな機能に特に関連して、そのようなコンポーネントを説明するために使用される用語は、別途明記されない限り、たとえ本開示の図示された例示的実施形態の機能を実行する開示された構造と構造的に等価でなくても、説明されるコンポーネントの指定された機能を実行する任意のコンポーネント（たとえば、機能的に等価であるもの）に対応することが意図されている。加えて、本開示の特定の特徴は、複数の実装のうちの１つのみに関連して開示されている可能性があるが、そのような特徴は、任意の特定のアプリケーションにとって要望されかつ有利であり得るために、他の実装の１つまたは複数の他の特徴と組み合わされることがある。さらに、「具備する」、「含む」、「有する」、「伴う」、またはそれらの用語の変形が詳細な説明または請求項で使用されていることに関し、そのような用語は、「備える」という用語と同様の態様で包含的であることを意図したものである。
【図１】
0006676039.tif 000002
【図２】
0006676039.tif 000003
【図３】
0006676039.tif 000004
【図４】
0006676039.tif 000005
【図５】
0006676039.tif 000006
【図６】
0006676039.tif 000007
【図７】
0006676039.tif 000008
【図８】
0006676039.tif 000009
【図９】
0006676039.tif 000010
【図１０】
0006676039.tif 000011
【図１１】
0006676039.tif 000012