(57)【要約】【課題】ビデオゲームタスクを委任する。【解決手段】ビデオゲームタスクは、共有サービスを用いて委任される。第１のコンピューティングデバイスは、ゲームアプリケーションを実行するように構成される。第１のコンピューティングデバイスは、ゲームアプリケーションの再生を委任する第１のユーザから第２のユーザへの要求を受信することができ、それにより第２のユーザが第２のユーザと関連付けられた第２のコンピューティングデバイスからゲームアプリケーションを制御することによって第１のユーザの代理としてゲームタスクを完了することを試みることができるようになる。ゲームアプリケーションの制御は、第１のコンピューティングデバイス及び第２のコンピューティングデバイスが接続される共有サービスによって作成及び管理される共有セッションを介して、第２のコンピューティングデバイスから第１のコンピューティングデバイスに利用可能にされ得る。【選択図】図１
2020058857.tif 000002
【特許請求の範囲】
【請求項１】
ゲームタスクを委任するための方法であって、
第１のコンピューティングデバイスによって、ゲームアプリケーションを実行することと、
前記第１のコンピューティングデバイスによって、ゲームタスクを完了するために前記ゲームアプリケーションの再生を委任する第１のユーザからの委任要求を受信することと、
前記委任要求に応答して、前記第１のコンピューティングデバイスによって、前記第１のユーザの代理として前記ゲームタスクを完了する招待を生成することと、
前記第１のコンピューティングデバイスによって、承諾のために前記招待を利用可能にさせることと、
前記第１のコンピューティングデバイスによって、前記招待が承諾されたことを前記第１のユーザに示す承諾の通知を受信することと、
前記第１のコンピューティングデバイスによって、前記ゲームアプリケーションの制御を第２のコンピューティングデバイスに移すことであって、それにより前記第２のコンピューティングデバイスが前記第１のユーザの代理として前記ゲームタスクを完了する試みで利用され得るようになる、移すことと、を含む、方法。
【請求項２】
前記コンピューティングデバイスによって、前記ゲームタスクの完了成功の通知を受信することをさらに含む、請求項１に記載の方法。
【請求項３】
前記ゲームタスクの完了成功の通知に応答して、前記第１のユーザから前記ゲームタスクを完了した第２のユーザに報奨の委譲を開始することをさらに含む、請求項２に記載の方法。
【請求項４】
前記第１のコンピューティングデバイスによって、承諾のために前記招待を利用可能にさせることは、前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスと関連付けられた第２のユーザによる承諾のために前記招待を前記第２のコンピューティングデバイスに送信することを含む、請求項１に記載の方法。
【請求項５】
前記第１のコンピューティングデバイスによって、承諾のために前記招待を利用可能にさせることは、前記第１のコンピューティングデバイスによって、前記ゲームタスクを完了することに関して第２のユーザからの支援を要請するように前記第１のユーザの代理として前記招待を提示するように構成されるゲーミングサービスに、前記招待を送信することを含み、前記第２のユーザは、前記ゲーミングサービスと関連付けられた複数のユーザのうちの１人である、請求項１に記載の方法。
【請求項６】
前記招待は、前記第１のユーザが前記ゲームタスクを完了するのを支援することに入札するために前記複数のユーザのうちの少なくとも一部によって使用されるように構成されたオークションと関連付けられる、請求項５に記載の方法。
【請求項７】
前記第１のコンピューティングデバイスによって、前記オークションからの落札の選択を受信することであって、前記落札が前記第２のユーザと関連付けられる、受信することと、前記第１のコンピューティングデバイスによって、前記落札の前記選択の通知を前記第２のユーザに送信することとをさらに含み、前記第１のコンピューティングデバイスによって、承諾の前記通知を受信することは、前記第１のコンピューティングデバイスによって、前記落札の前記選択の前記通知を前記第２のユーザに送信することに応答して、承諾の前記通知を受信することを含む、請求項６に記載の方法。
【請求項８】
前記第１のコンピューティングデバイスによって、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間に共有セッションの確立を開始することをさらに含み、前記第１のコンピューティングデバイスによって、前記ゲームアプリケーションの制御を前記第２のコンピューティングデバイスに移すことは、前記コンピューティングデバイスによって、前記共有セッション中に前記ゲームアプリケーションの前記制御を前記第２のコンピューティングデバイスに移すことを含み、それにより前記第１のユーザが前記第１のコンピューティングデバイスを介して、前記第１のユーザの代理として前記ゲームタスクを完了する試みで前記ゲームアプリケーションを再生する第２のユーザを観察することができるようになる、請求項１に記載の方法。
【請求項９】
前記第１のコンピューティングデバイスによって、前記共有セッションの確立を開始することは、共有サービスで前記共有セッションの確立を開始するように構成された共有サービスアプリケーションプログラミングインターフェースを呼び出す前記ゲームアプリケーションを含む、請求項８に記載の方法。
【請求項１０】
前記第１のコンピューティングデバイスによって、前記ゲームアプリケーションの前記制御を前記第１のコンピューティングデバイスに戻す要求を受信することと、
前記第１のコンピューティングデバイスによって、前記ゲームアプリケーションの前記制御を前記第１のコンピューティングデバイスに戻す前記要求を前記共有サービスに送信することと、
前記ゲームアプリケーションの前記制御を前記第１のコンピューティングデバイスに戻す前記要求を送信することに応答して、前記第１のコンピューティングデバイスによって、前記共有セッション中に前記ゲームアプリケーションの前記制御を前記第２のコンピューティングデバイスから受信することと、をさらに含む、請求項９に記載の方法。
【請求項１１】
前記ゲームタスクは、
前記ゲームアプリケーションの開発者によって定義された開発者定義タスク、
前記第１のユーザによって定義されたユーザ定義タスク、
前記ゲームアプリケーションの少なくとも１つのレベルの完了、
前記ゲームアプリケーションの達成度をロック解除すること、または
前記ゲームアプリケーションと関連付けられたリーダーボード上に順位を得ることを含む、請求項１に記載の方法。
【請求項１２】
コンピュータ可読記憶媒体であって、第１のコンピューティングデバイスによって実行されるとき、前記第１のコンピューティングデバイスに、
ゲームアプリケーション内の動作を制御するためのゲーム制御データであって、前記第１のコンピューティングデバイスと関連付けられた第１のユーザによって第２のコンピューティングデバイスと関連付けられた第２のユーザに委任されたゲームタスクの完了のために前記第２のコンピューティングデバイスによって受信された、ゲーム制御入力と関連付けられる、ゲーム制御データを受信することと、
前記ゲーム制御データを利用して前記動作を実施することと、を含む操作を実施させる、コンピュータ実行可能な命令を含む、コンピュータ可読記憶媒体。
【請求項１３】
前記第１のコンピューティングデバイスによって実行されるとき、共有サービスによって提供された共有セッションに接続することを含むさらなる操作を前記第１のコンピューティングデバイスに実施させるコンピュータ実行可能な命令をさらに含み、前記ゲームアプリケーション内の動作を制御するための前記ゲーム制御データを受信することは、前記共有サービスによって提供された、前記共有セッションを介して前記ゲームアプリケーション内の動作を制御するための前記ゲーム制御データを受信することを含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記第１のコンピューティングデバイスによって実行されるとき、前記第１のコンピューティングデバイスに、
前記動作を中断する要求を前記第１のユーザから受信することと、
前記動作を中断する要求に応答して、
前記共有セッションを中止する要求を生成することと、
前記共有セッションを中止する前記要求を前記共有サービスに送信することと、
前記ゲームアプリケーションの制御を前記第１のユーザに返すことと、を含むさらなる操作を実施させる、コンピュータ実行可能な命令をさらに含む、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
装置であって、
少なくとも１つのプロセッサと、
コンピュータ可読記憶媒体であって、前記少なくとも１つのプロセッサ上で実行されるとき、前記装置に、
ゲームアプリケーションを実行することと、
第１のユーザからの委任要求を受信して、前記ゲームアプリケーションの再生を第２のユーザに委任することであって、それにより前記第２のユーザが前記第１のユーザの代理としてゲームタスクを完了することを試みることができるようになる、受信することと、
前記装置と前記第２のユーザと関連付けられた第２の装置との間で共有セッションを開始することと、
前記共有セッションを介して、前記ゲームアプリケーションの制御を前記第２の装置に移すことであって、それにより前記第２のユーザが前記第２の装置を用いて前記第１のユーザの代理として前記ゲームタスクを完了することを試みることができるようになる、移すことと、を含む操作を実施させる、その上に記憶されたコンピュータ実行可能な命令を有する、コンピュータ可読記憶媒体と、を備える、装置。
【発明の詳細な説明】
【背景技術】
【０００１】
近年、スマートフォン、タブレット、及び電子書籍リーダー（「イーリーダー」）等のコンピューティングデバイスを採用することにより、ビデオゲームに触れる機会が多くの人々に与えられている。この一部は、これらのデバイスによって提供されたネットワーク接続性、ならびに、これらのデバイスへのビデオゲーム及び他のアプリケーションのダウンロードをサポートするロバストなアプリケーションエコシステムによるものである。結果として、ビデオゲームは、多くの人々にとって人気の娯楽になっている。
【０００２】
ビデオゲームは、最も経験豊富なプレーヤーにとっても難しい場合がある。ワールドワイドウェブは、多くのフォーラム、ブログ、及び他の情報源にアクセスできるようにし、その情報源は、プレーヤーがビデオゲームにおいて有利な立場を得るか、またはあるレベルを完了すること、もしくはボスキャラクタを打ち負かすことなど、ある特定のゲームタスクを完了する方法を学ぶために使用することができる。しかしながら、プレーヤーがゲームタスクを完了する能力を欠く場面が依然として存在している。これは、プレーヤーを落胆させる場合があり、プレーヤーが乗り越えられないゲームタスクを超えて進むことを心底望む場合であっても、プレーヤーが断念する結果になり得る。
【０００３】
本明細書の開示により提示されるのは、これら及び他の考察に関するものである。
【図面の簡単な説明】
【０００４】
【図１】本明細書に開示される様々な実施形態のための例示的な動作環境を示す系統図である。
【図２】例示的な一実施形態に従って、コンピューティングデバイスによって実行される共有画面データ及び１つ以上のアプリケーションと関連付けられたアプリケーションデータのための共有コンポーネントの態様を示すブロック図である。
【図３】例示的な一実施形態に従って、共有サービスの態様を示すブロック図である。
【図４】例示的な一実施形態に従って、ゲームタスクを委任するための方法の態様を示すフロー図である。
【図５】例示的な別の実施形態に従って、ゲームタスクの委任を承諾するための方法の態様を示すフロー図である。
【図６】例示的な一実施形態に従って、ゲーム制御データを共有するための方法の態様を示すフロー図である。
【図７】例示的な一実施形態に従って、第１のユーザによって第２のユーザに委任されたゲーム制御を中断するための方法の態様を示すフロー図である。
【図８】例示的な一実施形態に従って、画面データを共有するための方法の態様を示すフロー図である。
【図９】例示的な一実施形態に従って、共有サービスを使用せずにゲーム制御データを提供するための方法の態様を示すフロー図である。
【図１０】例示的な一実施形態に従って、ゲーム状態データを共有するための方法の態様を示すフロー図である。
【図１１】例示的な一実施形態に従って、共有サービスのアプリケーションプログラミングインターフェース（「ＡＰＩ」）を公開するための方法の態様を示すフロー図である。
【図１２】一実施形態において本明細書に開示される概念及び技術を実装するように構成されたコンピューティングデバイスで使用するための、１つの例示的なコンピュータハードウェアアーキテクチャを示すコンピュータアーキテクチャ図である。
【発明を実施するための形態】
【０００５】
以下の詳細な説明は、共有サービスを介してビデオゲームタスクを委任することを対象とする。本明細書に開示される一態様によれば、第１のコンピューティングデバイスは、ゲームアプリケーションを実行するように構成される。第１のコンピューティングデバイスは、ゲームアプリケーションの再生を委任する第１のユーザから第２のユーザへの要求を受信することができ、それにより第２のユーザが第２のユーザと関連付けられた第２のコンピューティングデバイスからゲームアプリケーションを制御することによって第１のユーザの代理としてゲームタスクを完了することを試みることができるようになる。ゲームアプリケーションの制御は、第１のコンピューティングデバイス及び第２のコンピューティングデバイスが接続される共有サービスによって作成及び管理される共有セッションを介して、第２のコンピューティングデバイスから第１のコンピューティングデバイスに利用可能にされ得る。
【０００６】
以下の詳細な説明は、共有サービスのためのアプリケーションプログラミングインターフェース（「ＡＰＩ」）を対象とする。本明細書に開示される一態様によれば、コンピューティングデバイスは、共有サービスＡＰＩを呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成する。アプリケーションは、共有サービスＡＰＩを呼び出して、共有サービスに接続する共有サービスＡＰＩによって公開され、かつ共有セッションの作成を開始された１つ以上の方法を利用することができる。コンピューティングデバイスは、１つ以上の他のコンピューティングデバイスと共有セッションに加わることができる。コンピューティングデバイスは、他のコンピューティングデバイスのうちの１つ以上から共有セッションを介してデータを受信することができる。データは、画面データ及び／またはアプリケーションデータを含むことができる。
【０００７】
本明細書に提示される主題は、コンピュータプロセス、コンピュータ制御装置、コンピューティングシステム、またはコンピュータ可読記憶媒体等の製造物品として実装され得ることも理解されるべきである。これらの特徴及び様々な他の特徴は、以下の開示を読むこと、かつ関連図面を再検討することによって明らかになるであろう。
【０００８】
本明細書に記載される主題は、１つ以上のコンピューティングデバイス上で実行するプログラムモジュールの一般的文脈で提示されるが、当業者であれば、他の実装形態が他のタイプのプログラムモジュールと組み合わせて実施され得ることを認識するであろう。一般に、プログラムモジュールとしては、ルーチン、プログラム、コンポーネント、データ構造、及び特定のタスクを実施するか、または特定の抽象データ型を実装する他のタイプの構造が挙げられる。
【０００９】
当業者であれば、本明細書に記載される主題がマルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電子機器、ミニコンピュータ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、タブレットコンピュータ、電子書籍リーダー、無線電話デバイス、特殊用途ハードウェアデバイス、ネットワーク電気器具などを含む後述される構成を超えて他のコンピュータシステム構成上またはそれとともに実践され得ることを理解するであろう。本明細書に記載される実施形態はまた、タスクが通信ネットワークを通じて結び付けられるリモート処理デバイスによって実施される分散型コンピューティング環境で実践され得る。分散型コンピューティング環境では、プログラムモジュールは、ローカル及びリモートメモリストレージデバイスの両方に位置し得る。
【００１０】
以下の詳細な説明では、本明細書の一部を構成し、かつ例証として、特定の実施形態または実施例を示す添付の図面を参照する。本明細書の図面は、一定の比率の縮尺で描かれていない。同様の参照番号は、いくつかの図にわたって同様の要素を表す。
【００１１】
次に図１を参照すると、本明細書に提示される様々な実施形態のための１つの動作環境１００の態様が記載される。図１に示される動作環境１００は、コンピューティングデバイスＡ１０２Ａと、コンピューティングデバイスＢ１０２Ｂとを含み、各々が通信ネットワーク（「ネットワーク」）１０４の一部として、及び／またはそれと通信して動作する。いくつかの実施形態によれば、コンピューティングデバイスＡ１０２Ａ及びコンピューティングデバイスＢ１０２Ｂは各々、タブレットコンピューティングデバイス、パーソナルコンピュータ（「ＰＣ」）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、携帯電話またはスマートフォン、他のモバイルコンピューティングデバイス、携帯情報端末（「ＰＤＡ」）、ビデオゲームシステム、セットトップボックス、スマートテレビなど、ユーザのコンピューティングデバイスを含むことができる。
【００１２】
いくつかの他の実施形態によれば、コンピューティングデバイスＡ１０２Ａ及び／またはコンピューティングデバイスＢ１０２Ｂの機能性は、１つ以上のアプリケーションサーバ、ウェブサーバ、データストレージシステム、ネットワーク電気器具、専用ハードウェアデバイス、及び／または他のサーバコンピュータもしくはコンピューティングデバイスによって提供され得るクラウドベースのコンピューティングプラットフォームによって提供され得る。これらの実施形態では、コンピューティングデバイスＡ１０２Ａ及び／またはコンピューティングデバイスＢ１０２Ｂは、ネットワーク１０４を介してクラウドベースのコンピューティングプラットフォームへの接続のための最小のハードウェアを含むことができる。本明細書に開示される概念及び技術を図解及び説明するために、コンピューティングデバイスＡ１０２Ａ及びコンピューティングデバイスＢ１０２Ｂの機能性は、ユーザのコンピューティングデバイスによって提供されるものとして本明細書に記載される。上述されるコンピューティングデバイスＡ１０２Ａ及びコンピューティングデバイスＢ１０２Ｂの代替の実施形態に照らすと、この実施例は、例示であることが理解されるべきであり、何ら限定的であると解釈されるべきではない。
【００１３】
コンピューティングデバイスＡ１０２Ａ及びコンピューティングデバイスＢ１０２Ｂは、ネットワーク１０４を介して通信して、本明細書に記載される様々なサービスにアクセスすることができる。例えば、コンピューティングデバイスＡ１０２Ａ及びコンピューティングデバイスＢ１０２Ｂは、共有サービス１０６及び／またはゲーミングサービス１０８にアクセスすることができる。共有サービス１０６及びゲーミングサービス１０８の機能性は、１つ以上のアプリケーションサーバ、ウェブサーバ、データストレージシステム、ネットワーク電気器具、専用ハードウェアデバイス、及び／または他のサーバコンピュータもしくはコンピューティングデバイスによって提供され得る。
【００１４】
共有サービス１０６は、コンピューティングデバイスＡ１０２Ａがネットワーク１０４上のコンピューティングデバイスＢ１０２ＢでディスプレイＡ１１６Ａ等の１つ以上のディスプレイを介してコンピューティングデバイスＡ１０２Ａによってローカルに提示される画面Ａ１１４Ａの全体または特定の部分を共有することができる間、１つ以上の共有セッション１１２を作成及び管理するために１つ以上の共有アプリケーション１１０を実行するように構成され得る。同様に、共有セッション１１２の間、コンピューティングデバイスＢ１０２Ｂは、ネットワーク１０４上のコンピューティングデバイスＡ１０２Ａでディスプレイ１１６Ｂ等の１つ以上のディスプレイを介してコンピューティングデバイスＢ１０２Ｂによってローカルに提示される画面Ｂ１１４Ｂの全体または特定の部分を共有することができる。２つのコンピューティングデバイスのみが示されるが、共有サービス１０６によって作成された共有セッション１１２は、様々なコンピューティングデバイスを利用する１人以上のユーザがデータを互いに共有することができるように、任意の数のコンピューティングデバイスへの接続をサポートしてもよい。したがって、図解される例は、単に例示であり、何ら限定的であると解釈されるべきではない。
【００１５】
共有セッション１１２は、指定されたソースデバイスがデータを１つ以上の指定された宛先デバイスに送信することができる片方向通信をサポートするように構成され得るが、１つ以上の指定された宛先デバイスは、データを指定されたソースデバイスに送信することができない。あるいは、共有セッション１１２は、２つ以上のコンピューティングデバイスがデータを互いに送信し、かつデータを互いから受信することができる双方向通信をサポートするように構成され得る。したがって、共有セッション１１２は、協調的または共有のみの目的に使用され得る。
【００１６】
いくつかの実施形態では、ユーザは、別のユーザに、これらに限定されないがユーザ名及びパスワードなど、ユーザのセキュリティ証明書を供給することができる。例えば、第１のユーザは、第２のユーザが共有サービス１０６を介して第１のユーザと関連付けられたデバイス上で実行する１つ以上のアプリケーションを制御し、かつ／または第１のユーザの代理としてゲーミングサービス１０８等の他のサービスへのアクセスを得ることができるように、ユーザのセキュリティ証明書を提供することができる。セキュリティ証明書は、任意の単一因子または多因子認証方式を利用し得ることが企図される。
【００１７】
本明細書で使用されるとき、「画面」は、ビジュアルコンテンツを指し、そのコンテンツの配置は、１つ以上のディスプレイ上での表示のためにコンピューティングデバイスによって出力される。換言すれば、「画面」は、コンピューティングデバイスに接続されるか、またはその他の方法でそれと通信している１つ以上のディスプレイ上に表示されるものである。画面は、特定の時間の過程で１つ以上のディスプレイ上に表示されるもののスナップショットを含むことができる。加えてまたはあるいは、画面は、経時的に１つ以上のディスプレイ上に表示されるもののデータストリームを含むことができる。後者の場合の画面は、「画面ストリーム」と本明細書で称されることもある。
【００１８】
画面共有に加えて、共有サービス１０６は、アプリケーションデータ共有を提供することができ、それによりコンピューティングデバイスによって実行されている１つ以上のアプリケーションと関連付けられたデータが共有セッション１１２に接続される１つ以上の他のコンピューティングデバイスと共有され得る。アプリケーションデータとしては、これらに限定されないが、コンピューティングデバイスによって実行されるアプリケーションへのユーザ入力から生じるデータ、及びその入力に応答してアプリケーションによって出力された他のデータが挙げられ得る。アプリケーションデータは、離散的またはアプリケーションデータのストリームとして共有され得る。いくつかの実施形態では、アプリケーションデータは、以下により詳細に記載されるように、ゲームアプリケーションを制御するように受信された入力と関連付けられたゲーム制御データを含む。
【００１９】
共有サービス１０６は、コンピューティングデバイスＡ１０２Ａがデータ（共有データＡ１１８Ａと図示）をコンピューティングデバイスＢ１０２Ｂと共有することができるように共有セッション１１２を作成することができる。同様に、共有サービス１０６は、コンピューティングデバイスＢ１０２Ｂがデータ（共有データＢ１１８Ｂと図示）をコンピューティングデバイスＢ１０２Ｂと共有することができるように共有セッション１１２を作成することができる。しかしながら、上述されるように、図解される例は、単に例示であり、何ら限定的であると解釈されるべきではない。
【００２０】
ゲーミングサービス１０８は、ゲーミングサービス１０８によって実行される１つ以上のゲーミングサービスアプリケーション１２０とのユーザ対話を容易にするように構成され得る。ゲーミングサービスアプリケーション（複数可）１２０は、これらに限定されないが、オンライン協調的多人数参加型ゲーミング、オンライン競争的多人数参加型ゲーミング、チャット機能、メッセージング機能、オンラインリーダーボード、達成度追跡機能、広告機能、市場機能、及び友達リスト機能などの機能を提供することができる。加えてまたはあるいは、ゲーミングサービスアプリケーション（複数可）１２０は、以下により詳細に記載されるように、ゲームタスク委任機能を提供するか、またはそれを提供するのを支援することができる。
【００２１】
コンピューティングデバイス１０２Ａは、オペレーティングシステム１２２、及び１つ以上のアプリケーションプログラム、例えば、ゲームアプリケーション１２４、ゲーミングサービスアプリケーションプログラミングインターフェース（「ＡＰＩ」）１２６、共有サービスＡＰＩ１２８、共有コンポーネント１３０、他のアプリケーション１３１、及び／または他のアプリケーションプログラムもしくはコンポーネントなどを実行するように構成され得る。オペレーティングシステム１２２は、コンピューティングデバイスＡ１０２Ａの操作を制御するためのコンピュータプログラムである。アプリケーションプログラムは、本明細書に記載される様々な機能性を提供するためにオペレーティングシステム１２２の上で実行するように構成された実行可能なプログラムである。コンピューティングデバイスＢ１０２Ｂは、コンピューティングデバイスＡ１０２Ａと同じ構成で示されないが、コンピューティングデバイスＢ１０２Ｂは、同様に構成されてもよく、またはコンピューティングデバイスＡ１０２Ａに図解されるよりも多いまたは少ないアプリケーションプログラム及び／またはコンポーネントを有し得ることが理解されるべきである。
【００２２】
ゲームアプリケーション１２４は、１人以上のプレーヤーがディスプレイ上に提示されるビジュアルコンテンツを制御するか、またはその他の方法でそれと対話することができる対話型ビデオゲーミング体験を提供するように構成され得る。ビジュアルコンテンツとしては、これらに限定されないが、キャラクタ、レベル、地図、地域、段階、世界、空間、形状、及び物体が挙げられ得る。ビジュアルコンテンツは、２次元、３次元、またはこれらの組合せであり得る。ゲームアプリケーション１２４はまた、これらに限定されないが、音楽、音声、及び音響効果などの聴覚コンテンツを提供することができる。ゲームアプリケーション１２４はまた、振動フィードバック等の触覚フィードバックを提供することができる。
【００２３】
ゲームアプリケーション１２４は、プレーヤー（複数可）が完了することができる１つ以上のゲームタスクを有するように設計され得る。ゲームタスクは概して、１人以上のプレーヤーがゲームアプリケーション１２４によって提供されたビジュアルコンテンツと対話することによって行うことができるものは何でも含むことができる。単純な例として、ゲームタスクは、プレーヤーがレベルを完了または「クリアする」ために所定の開始点から終点までのレベルを横断するようにビジュアルキャラクタを制御することであり得る。この例を用いたさらなるゲームタスクは、ある特定の物体またはキャラクタ（例えば、敵）との接触を避けながら、レベルを横断するようにビジュアルキャラクタを制御することであってもよい。これらの例は例示であることが理解されるべきであり、何ら限定的であると解釈されるべきではない。
【００２４】
ゲームアプリケーション１２４はまた、プレーヤー（複数可）によって完了され得る１つ以上の目標を有するように設計され得る。目標は、ゲームアプリケーション１２４の開発者によって定義されるゲームタスクである。換言すれば、目標は、ゲームアプリケーション１２４の目的（ｇｏａｌ）または目的（ｐｕｒｐｏｓｅ）である。ゲームアプリケーション１２４は、複数の目標を有してもよい。目標は、それが別の目標に何ら結び付いていないという点で個別であり得る。あるいは、目標は、１つ以上の他の目標と結び付いているか、またはそれらと組み合わせられ得る。
【００２５】
いくつかの実施形態では、ゲームアプリケーション１２４は、プレーヤー（複数可）が彼ら自身のゲームタスクを作成することができるサンドボックスを提供し、これは、プレーヤー（複数可）にとって進行中または一瞬であり得る。サンドボックスは、確立された目標に加えて、またはその代わりに提供されてもよい。
【００２６】
ゲームアプリケーション１２４は、１つ以上の達成度を有するように設計され得る。達成度は、ゲームアプリケーション１２４との特定の対話を認識するようにプレーヤーまたはプレーヤーの集団に提供される栄誉である。達成度は、初めて（またはいくつかの他の回数）ゲームアプリケーション１２４を開始すること、ゲームアプリケーション１２４によって提供されたある特定の機能と対話すること（例えば、ある特定のメニューを入力すること、または「ひどく」難しいレベル等のある特定のメニューオプションを選択すること）、または１つ以上の目標を完了することと同じくらい単純であり得る。プレーヤーが達成度と結び付けられる特定の対話を実施すると、達成度は、「ロック解除」になる。ゲームアプリケーション１２４は、達成度警告を提示することによって「ロック解除」達成度をプレーヤー（複数可）に通知してもよい。達成度警告は、視覚、聴覚、及び／または触覚様式で提示され得る。達成度をロック解除する行為がゲームタスクであってもよい。達成度をロック解除することにより、追加の達成度をロック解除する能力が可能になる。
【００２７】
達成度は、ゲームアプリケーション１２４の開発者（複数可）によって、ゲーミングサービス１０８によって、または例えば、プレーヤーを含むいくつかの他の実体によって定義され得る。いくつかの実施形態では、達成度は、コンピューティングデバイスＡ１０２Ａによって、例えば、ゲームアプリケーション１２４によって、オペレーティングシステム１２２によって、またはコンピューティングデバイスＡ１０２Ａによって実行されるいくつかの他のアプリケーションプログラムによってローカルで管理される。いくつかの他の実施形態では、達成度は、ゲーミングサービス１０８によってクラウドベースの構成でリモートから管理される。これらの実施形態では、プレーヤーは、ゲーミングサービス１０８でアカウントを設定することができる。アカウントは、アカウントのセキュリティを維持するユーザ識別情報及び１つ以上のセキュリティ証明書を含むことができる。プレーヤーによって得られた達成度は、例えば、プレーヤーが異なるコンピューティングデバイスに変更する場合、プレーヤーが依然として自身の達成度にアクセスすることができ、異なるコンピューティングデバイス上で新しい達成度を得ることができるように、ゲーミングサービス１０８を用いて自身のアカウントと関連付けられ得る。
【００２８】
ゲームアプリケーション１２４は、１つ以上のリーダーボードを有するように設計され得る。リーダーボードは、プレーヤー間の目標の完了をランク付けするように目標の完了を追跡することができる。例えば、目標は、限られた時間量で、または限られた命の数を用いて最高得点を得ることであってもよく、この目標と関連付けられたリーダーボードは、降順にランク付けされた得点のリスト等の特定の順序で得点のランク付けを含むことができる。いくつかの実施形態では、リーダーボードは、コンピューティングデバイスＡ１０２Ａによって、例えば、ゲームアプリケーション１２４によって、オペレーティングシステム１２２によって、またはコンピューティングデバイスＡ１０２Ａによって実行されるいくつかの他のアプリケーションプログラムによってローカルで管理される。いくつかの他の実施形態では、リーダーボードは、ゲーミングサービス１０８によってクラウドベースの構成でリモートから管理される。これらの実施形態では、プレーヤーは、アップロードすることを選択することができ、またはゲームアプリケーション１２４は、プレーヤーによって獲得された得点をゲーミングサービス１０８に自動的にアップロードすることができる。ゲーミングサービス１０８は、得点をアップロードすることを選択したプレーヤーによって選択されたプレーヤーの集団などによって、一般閲覧及び／または個人的閲覧のためのリーダーボードを提示してもよい。プレーヤーによって得られた得点は、プレーヤーが異なるコンピューティングデバイスに変更する場合、プレーヤーが依然として、同じユーザ識別情報を用いてリーダーボード上の自身の高得点を打ち負かすことを試みることができるように、ゲーミングサービス１０８を用いて自身のアカウントと関連付けられ得る。
【００２９】
ゲームアプリケーション１２４への入力は、コンピューティングデバイスＡ１０２Ａに接続されるか、またはその他の方法でそれと通信する１つ以上の入力デバイスを介して提供され得る。ゲームアプリケーション１２４への入力は、例えば、キャラクタを制御すること、メニューをナビゲートすること、１つ以上のゲームタスクの完了の目的に向かう制御など、ゲームアプリケーション１２４の態様を制御するために使用され得る。入力デバイスとしては、これらに限定されないが、キーボード、マウス、ジョイスティック、ゲームパッド、タッチパッド、抵抗性タッチスクリーン、容量性タッチスクリーン、マルチタッチ対応タッチスクリーン、スチルカメラ、ビデオカメラ、マイクロホン、赤外線カメラ、運動制御デバイス、全地球測位システム（「ＧＰＳ」）センサ、近接センサ、運動センサ（例えば、加速度計）、周囲光センサ、水分センサ、ジャイロスコープ、ダンスパッド、ハンドル、フライトヨーク、ペダル、楽器、おもちゃの楽器、及びスポーツ用品が挙げられる。いくつかの実施形態では、１つ以上の入力デバイスは、マルチタッチ対応タッチスクリーンを備えたタブレットのコンピューティングデバイスなどの、コンピューティングデバイスＡ１０２Ａに内蔵される。いくつかの他の実施形態では、１つ以上の入力デバイスは、有線及び／または無線接続を用いてコンピューティングデバイスＡ１０２Ａに接続される。入力デバイスとコンピューティングデバイスＡ１０２Ａとの間の１つ以上の接続を確立及び維持するために利用された物理的コンポーネント及び／またはプロトコルは、標準ベース、非標準ベース、または専有であり得る。
【００３０】
コンピューティングデバイスＡ１０２Ａは、ディスプレイＡ１１６Ａ等のコンピューティングデバイスＡ１０２Ａに内蔵されるか、またはその外部であり、かつそれと通信する１つ以上の表示デバイス上のゲームアプリケーション１２４によって提供されたビジュアルコンテンツを提示するように構成され得る。ディスプレイＡ１１６Ａは、視覚形態で情報を提示するように構成された出力デバイスである。具体的に、ディスプレイＡ１１６Ａは、ゲームアプリケーション１２４によって提供されたビジュアルコンテンツ、グラフィカルユーザインターフェース（「ＧＵＩ」）要素、テキスト、画像、映像、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットコンテンツ、デバイス状態、時刻、日付、カレンダーデータ、選好、地図情報、位置情報、及び視覚形態で提示されることができる任意の他の情報を提示してもよい。いくつかの実施形態では、ディスプレイＡ１１６Ａは、任意のアクティブまたはパッシブマトリクス技術及び任意のバックライト技術（使用される場合）を利用する液晶ディスプレイ（「ＬＣＤ」）である。いくつかの実施形態では、ディスプレイＡ１１６Ａは、有機発光ダイオード（「ＯＬＥＤ」）ディスプレイである。他のディスプレイタイプが企図される。加えて、ディスプレイＡ１１６Ａは、タッチスクリーンまたはマルチタッチ対応タッチスクリーン等の入力デバイスを含むことができる。ディスプレイＢ１１６Ｂは、同様に構成され得る。
【００３１】
ゲームアプリケーション１２４は、ゲーミングサービス１０８によって提供された機能のうちの１つ以上を活用するために、ネットワーク１０４を介してゲーミングサービス１０８にアクセスするゲーミングサービスＡＰＩ１２６によって公開されたもう１つの方法を呼び出すように構成され得る。ゲームアプリケーション１２４はまた、ネットワーク１０４を介して共有サービス１０６にアクセスする共有サービスＡＰＩ１２８によって公開された１つ以上の方法を呼び出すように構成され得る。共有サービスＡＰＩ１２８は、データを共有サービス１０６に提供し、かつ共有セッション中に共有サービス１０６からデータを受信するように共有コンポーネント１３０にアクセスすることができる。共有コンポーネント１３０は、図２を参照してより詳細に図解及び記載される。
【００３２】
上述されるように、ゲームアプリケーション１２４は、１人以上のプレーヤーによって完了され得る１つ以上のゲームタスクを提供することができる。どのような理由であっても、プレーヤーは、ゲームタスクを完了することができない場合がある。例えば、ゲームタスクは、プレーヤーには難し過ぎて完了することができない場合があり、プレーヤーは、ゲームタスクに関心を持たなくなるが、後続のゲームタスクに興味がある場合があり、プレーヤーには、ゲームタスクを完了するのに必要とされる時間が欠けているか、またはあらゆる他の理由のためである。解決策として、プレーヤーは、ゲームタスクを別のプレーヤーに委任することを選択することができ、それにより他のプレーヤーがゲームタスクを委任したプレーヤーの代理としてタスクを完了することができるようになる。
【００３３】
図解される例では、コンピューティングデバイスＡ１０２Ａ上でゲームアプリケーション１２４を再生しているプレーヤーＡ１３２Ａは、ゲームタスクをコンピューティングデバイスＢ１０２Ｂと関連付けられたプレーヤーＢ１３２Ｂに委任することを選択することができる。プレーヤーＢ１３２Ｂは、ゲームタスクを承諾または拒否することができる。プレーヤーＢ１３２Ｂがゲームタスクを承諾する場合、プレーヤーＢ１３２Ｂは、コンピューティングデバイスＢ１０２Ｂを利用してプレーヤーＡ１３２Ａの代理としてゲームタスクを完了することを試みることができる。
【００３４】
いくつかの実施形態では、コンピューティングデバイスＡ１０２Ａは、共有サービス１０６と通信して、共有データＡ１１８Ａを共有する共有セッション１１２を作成し、共有データＡ１１８Ａは、コンピューティングデバイスＡ１０２Ａによって実行されるゲームアプリケーション１２４の画面ストリームを含む。これらの実施形態では、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２ＡによってプレーヤーＢ１３２Ｂに委任されたゲームタスクを完了しようと努力して、ゲームアプリケーション１２４を再生するコンピューティングデバイスＢ１０２Ｂに接続されるか、またはその他の方法でそれと通信する１つ以上の入力デバイスを介してコンピューティングデバイスＢ１０２Ｂへの入力を提供することができる。このように、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａがゲームタスクを完了することを支援することができ、その後、共有セッション１１２は引き裂かれ、プレーヤーＡ１３２Ａは、ゲームタスクがプレーヤーＢ１３２Ｂによって自身のために完了された後、ゲームアプリケーション１２４を再生することを再開することができる。
【００３５】
いくつかの他の実施形態では、コンピューティングデバイスＡ１０２Ａは、共有サービス１０６と通信して、共有データＡ１１８Ａを共有する共有セッション１１２を作成し、共有データＡ１１８Ａは、委任されたゲームタスクが完了する前のゲームアプリケーション１２４のゲーム状態を含む。これらの実施形態では、コンピューティングデバイスＢ１０２Ｂは、共有セッション１１２を介してゲーム状態を受信し、コンピューティングデバイスＢ１０２Ｂ上に同じゲームアプリケーションを起動して、ゲーム状態をロードする。ゲーム状態がロードされ、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａによって委任されたゲームタスクを完了しようと努力して、ゲームアプリケーションを再生するコンピューティングデバイスＢ１０２Ｂに接続されるか、またはその他の方法でそれと通信する１つ以上の入力デバイスを介してコンピューティングデバイスＢ１０２Ｂへの入力を提供することができる。ゲームタスクが完了した後、コンピューティングデバイスＢ１０２Ｂは、ゲームアプリケーション１２４の新しいゲーム状態を保存することができ、共有セッション１１２上で共有データＢ１１８Ｂの一部として新しいゲーム状態をコンピューティングデバイスＡ１０２Ａに送信することができる。このように、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａがゲームタスクを完了することを支援することができ、その後、コンピューティングデバイスＡ１０２Ａは、新しいゲーム状態をロードすることができ、プレーヤーＡ１３２Ａは、完了したゲームタスクを含む状態からゲームアプリケーション１２４を再生することを再開することができる。
【００３６】
いくつかの実施形態では、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａのユーザ識別情報を用いてプレーヤーＡ１３２Ａの代理としてゲームアプリケーション１２４を再生するようにセットアップされる。したがって、ゲームタスクの完了と関連付けられた達成度、リーダーボード、及び他の名誉がプレーヤーＢ１３２ＢではなくプレーヤーＡ１３２Ａに帰され得るが、プレーヤーＡ１３２Ａ及びプレーヤーＢ１３２Ｂの双方が、ゲームタスクの完了に対して認められ得ることが企図される。加えてまたはあるいは、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａがゲームタスクを完了するのを支援することに対してプレーヤーＡ１３２Ａに利用可能ではない達成度、リーダーボード順位、及び／または他の信用を得てもよい。
【００３７】
いくつかの実施形態では、プレーヤーＢ１３２Ｂは、ゲームタスクを完了するまでの限られた時間量を与えられる。いくつかの他の実施形態では、プレーヤーＢ１３２Ｂは、ゲームタスクを完了するまでの限られていない時間量を与えられる。
【００３８】
いくつかの実施形態では、プレーヤーＢ１３２Ｂは、ゲームタスクを完了することに対して報奨される。ゲームタスクを完了することに対する報奨としては、これらに限定されないが、現実の通貨、仮想通貨、ゲームアプリケーション１２４のための１つ以上のゲーム内アイテム、別のゲームアプリケーションのための１つ以上のゲーム内アイテム、オンライン商人からの現実または仮想製品の購入のための信用が挙げられ得る。
【００３９】
仮想通貨は、これらに限定されないが、「コイン」、「ポイント」、「仮想ドル」などの単位によって表され得る。仮想通貨の「単位」は、コイン、ポイント、仮想ドル、または他の単位にかかわらず、米国ドルなどの現実の通貨に結び付けられる価値を有し得る。「コイン」は、例えば、ゲーミングサービス１０８内で米国ドルの１／１００または１米国セントを表してもよく、それにより米国ドル及びセントで＄２．９９かかるアイテムが代替的に、２９９コインかかるようになる。仮想通貨の価値は、結び付けられる現実の通貨の価値の変化に対応するために、またはゲーミングサービス１０８を提供する実体に特有のものなど、あらゆる他の理由のために時折変更され得ることが理解されるべきである。アイテムが支払方法として仮想通貨、現実の通貨、またはこれらの組合せを用いてゲーミングサービス１０８を介して購入のために利用可能にされ得ることが理解されるべきである。
【００４０】
いくつかの実施形態では、ゲーミングサービス１０８は、プレーヤーが例えば、アプリケーション、ゲームアプリケーション、ゲームアドオン、ゲーム内アイテム、音楽、電子書籍、映画などのコンテンツを購入することができる市場を提供する。ゲームタスクを完了することに対する報奨として交換された仮想通貨は、市場からそのようなコンテンツを購入するために使用され得る。
【００４１】
いくつかの実施形態では、プレーヤーＡ１３２Ａは、プレーヤーＡ１３２Ａがオークションで同定されたゲームタスクを完了することを支援する別のプレーヤーの支援を要請するようにオークションを設定することができる。オークション機能は、ゲーミングサービス１０８によってホスティングされ得る。ゲーミングサービス１０８のユーザは、オークションに入札することができ、プレーヤーＡ１３２Ａは、落札としてオークションを選択することができる。オークションは、ゲームタスクを完了することに対する報奨額を含むことができる。オークションはまた、ゲームタスクが完了される期限を含むことができる。このように、プレーヤーＡ１３２Ａは、ゲームタスクを完了することに関して自身の必要性に基づいて落札を選択することができる。
【００４２】
いくつかの実施形態では、プレーヤーＡ１３２Ａは、ゲームタスクを２人以上のプレーヤーに委任することができる。ゲームタスクを完了する２人以上のプレーヤーのうちの第１のプレーヤーが報奨され得る。あるいは、すべてのプレーヤーが報奨されるが、ゲームタスクを完了する第１のプレーヤーが最高額を報奨される、第２のプレーヤーがより低い額を報奨される、などである。
【００４３】
図解される例では、コンピューティングデバイスＡ１０２Ａは、招待（「招待１３４」）を生成し、招待１３４をゲーミングサービス１０８に送信する。招待１３４は、プレーヤー１３２Ｂにアドレス指定され得る。例えば、プレーヤーＡ１３２Ａ及びプレーヤーＢ１３２Ｂは、ゲーミングサービス１０８内で友好であってもよく、この友好関係により、プレーヤーＡ１３２Ａはゲーミングサービス１０８によって提供されたメッセージング機能を介してプレーヤーＢ１３２Ｂに直接、招待１３４を送信することができる。ゲーミングサービス１０８における友好関係は、ゲーミングサービス１０８によって促進された２人のユーザ間の関係であり、このサービスによりユーザは多人数参加型ゲーム、チャットを再生するために接続し、例えば、招待１３４等の招待を含むメッセージを互いに送信することができる。次に、プレーヤーＢ１３２Ｂは、招待１３４を承諾または拒否することを選択することができる。図解される例では、プレーヤーＢ１３２Ｂは、招待１３４を承諾し、それに応答して、コンピューティングデバイスＢ１０２Ｂは、招待承諾通知（「招待１３６の承諾」）を生成し、招待１３６の承諾をゲーミングサービス１０８に送信する。招待１３４が承諾されると、ゲームアプリケーション１２４は、共有セッション１１２を確立する共有サービスＡＰＩ１２８を呼び出して、プレーヤーＢ１３２Ｂが上述される方法のうちの１つを用いてゲームタスクを完了することを試みることを可能にする。
【００４４】
他のアプリケーション１３１は、１つ以上のウェブブラウザアプリケーション、１つ以上の生産性アプリケーション（例えば、文書処理、表計算、及び／またはプレゼンテーションアプリケーション）、１つ以上の設計アプリケーション、または任意の他のアプリケーションを含むことができる。いくつかの実施形態では、他のアプリケーション（複数可）１３１は、共有機能をユーザに提供する共有サービスＡＰＩ１２８を呼び出すように構成され得る。例えば、共有データＡ１１８Ａは、他のアプリケーション１３１によって共有されたデータであり得、共有データＢ１１８Ｂは、他のアプリケーション１３１によって使用可能なコンピューティングデバイスＢ１０２Ｂによって共有されたデータであり得る。
【００４５】
図１は、１つのネットワーク１０４、１つの共有サービス１０６、１つのゲーミングサービス１０８、１つのゲームアプリケーション１２４、１つのゲーミングサービスＡＰＩ１２６、１つの共有サービスＡＰＩ１２８、１つの共有コンポーネント１３０、１つの他のアプリケーション１３１、及び１つのオペレーティングシステム１２２を図解する。しかしながら、動作環境１００の様々な実装形態は、複数のネットワーク１０４、共有サービス１０６、ゲーミングサービス１０８、ゲームアプリケーション１２４、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、共有コンポーネント１３０、他のアプリケーション１３１、及び／またはオペレーティングシステム１２２を含むと理解されるべきである。したがって、図解される実施形態は例示的であると理解されるべきであり、何ら限定的であると解釈されるべきではない。
【００４６】
次に図２を参照すると、共有コンポーネント１３０のさらなる態様が例示的な実施形態に従って記載される。いくつかの実施形態では、共有コンポーネント１３０は、共有サービス１０６にアクセスするためのクライアント側の機能性としての一部として提供される。いくつかの実施形態では、共有コンポーネント１３０は、オペレーティングシステム１２２（図１に図示）の一部として提供される。いくつかの実施形態では、共有コンポーネント１３０は、共有データＡ１１８Ａ（図１に図示）の一部として共有サービス１０６にストリーミング配信される画面及び／またはアプリケーションデータのバッファを効果的に検出及び圧縮するレンダリングパイプラインなどの、オペレーティングシステム１２２の機能にアクセスする許可を与えられる。
【００４７】
図解される共有コンポーネント１３０は、画面共有モジュール２０２と、アプリケーションデータ共有モジュール２０４とを含む。画面共有モジュール２０２は、画面データ差分エンジン２０６と、画面データ送信器２０８と、画面データ受信器２１０とを含む。画面データ差分エンジン２０６は、画面データが現在表示しているものと、画面データが既に共有サービス１０６に送信されたものとの間の差異を計算するように構成される。画面データ差分エンジン２０６はまた、この差異を共有サービス１０６に送信するように構成され、それによりネットワーク及び他のリソースを節約する。しかしながら、共有コンポーネント１３０は、コンピューティングデバイスによって出力されたすべての画面データを共有し得ることが企図される。
【００４８】
画面データ送信器２０８は、画面データを共有セッション１１２に送信する共有サービス１０６と通信するように構成される。画面データ受信器２１０は、共有セッション１１２から画面データを受信する共有サービス１０６と通信するように構成される。
【００４９】
アプリケーションデータ共有モジュール２０４は、データ圧縮エンジン２１２と、アプリケーションデータ送信器２１４と、アプリケーションデータ受信器２１６とを含む。データ圧縮エンジン２１２は、共有サービス１０６に送信するためのアプリケーションデータを圧縮するように構成される。アプリケーションデータ送信器２１４は、アプリケーションデータを共有セッション１１２に送信する共有サービス１０６と通信するように構成される。アプリケーションデータ受信器２１４は、共有セッション１１２からアプリケーションデータを受信する共有サービス１０６と通信するように構成される。
【００５０】
次に図３を参照すると、共有サービス１０６のさらなる態様が記載される。図３では、共有サービス１０６は、複数のコンピューティングデバイス（図示せず）から画面データ３０２Ａ〜３０２Ｎ及びアプリケーションデータ３０４Ａ〜３０４Ｎを受信する。共有サービス１０６は、画面データ３０２Ａ〜３０２Ｎを画面ストリームマルチプレクサ３０６に提供する。画面ストリームマルチプレクサ３０６は、画面データ３０２Ａ〜３０２Ｎを受信し、かつ画面データ３０２Ａ〜３０２Ｎを多重化して、多重化された画面データ３０８を生成するように構成され、次にストリーム圧縮器３１０に提供される。ストリーム圧縮器３１０は、共有セッション中に１つ以上のコンピューティングデバイスへの送達のために、多重化された画面データ３０８を圧縮するように構成される。ストリーム圧縮器３１０によって利用される圧縮技術は、共有セッションを介して特定のサービスの品質を提供するように共有サービス１０６の必要性に基づいて選択され得る。したがって、圧縮レベルは、ネットワークリソースを節約するように増加されるか、または共有セッションをサポートするネットワークリソースの可用性に基づいてネットワークリソースを消費するように減少され得る。
【００５１】
共有サービス１０６は、アプリケーションデータ３０４Ａ〜３０４Ｎをアプリケーションデータストリームマルチプレクサ３１２に提供する。アプリケーションデータマルチプレクサ３１２は、アプリケーションデータ３０４Ａ〜３０４Ｎを受信し、かつアプリケーションデータ３０４Ａ〜３０４Ｎを多重化して、多重化されたアプリケーションデータ３１４を生成するように構成され、次に圧縮のためにストリーム圧縮器３１０に提供される。
【００５２】
次に図４を参照すると、ゲームタスクを委任するための方法４００の態様が例示的な実施形態に従って詳細に記載される。本明細書に開示される方法の操作は、必ずしも任意の特定の順序で提示されず、代替的順序（複数可）で操作のうちのいくつかまたはすべての性能が可能であり、企図されることが理解されるべきである。操作は、説明及び図解を容易にするために実証された順序で提示された。操作は、本明細書に開示される概念及び技術の範囲から逸脱することなく、追加され、省略され、及び／または同時に実施され得る。
【００５３】
本明細書に開示される方法は、どの時点でも終了させることができ、その全体が実施される必要はないことが理解されるべきである。方法のうちのいくつかまたはすべての操作及び／または実質的に同等の操作は、本明細書に定義されるように、コンピュータ記憶媒体に含まれたコンピュータ可読命令の実行によって実施され得る。本明細書で使用されるとき、用語「コンピュータ可読命令」及びその変形は、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズムなどを含むために広く使用される。コンピュータ可読命令は、シングルプロセッサまたはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピュータデバイス、マイクロプロセッサベース、プログラマブル家庭用電子機器、これらの組合せなどを含む様々なシステム構成に実装され得る。
【００５４】
したがって、本明細書に記載される論理演算は、（１）コンピューティングシステム上で動作する一連のコンピュータ実装行為またはプログラムモジュールとして、かつ／または（２）コンピューティングシステム内の相互接続した機械論理回路もしくは回路モジュールとして実装されることが理解されるべきである。この実装は、コンピューティングシステムの性能及び他の要件に応じた選択の問題である。したがって、本明細書に記載される論理演算は、状態、操作、構造デバイス、行為、またはモジュールと様々に称される。これらの状態、操作、構造デバイス、行為、及びモジュールは、ソフトウェア内、ファームウェア内、特殊用途デジタル論理、及びこれらの任意の組合せで実装され得る。
【００５５】
方法４００は、例えば、ゲームアプリケーション１２４、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、及び／または共有コンポーネント１３０等の１つ以上のソフトウェアモジュールの実行を介して、コンピューティングデバイスＡ１０２Ａ等の第１のコンピューティングデバイスによって実施されると記載される。追加及び／もしくは代替デバイスならびに／またはネットワークノードは、これらに限定されないが、ゲームアプリケーション１２４、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、及び／または共有コンポーネント１３０を含む１つ以上のモジュール、アプリケーション、及び／または他のソフトウェアの実行を介して本明細書に記載される機能性を提供することができることが理解されるべきである。したがって、図解される実施形態は例示であり、何ら限定的であると見なされるべきではない。
【００５６】
方法４００は、コンピューティングデバイスＡ１０２Ａがゲームアプリケーション１２４を実行する操作４０２から開始する。操作４０２から、方法４００は、コンピューティングデバイスＡ１０２ＡがプレーヤーＡ１３２Ａ等の第１のユーザからの入力を受信する操作４０４に進む。この入力は、コンピューティングデバイスＡ１０２Ａに接続されるか、またはその他の方法でそれと通信する１つ以上の入力デバイスを介して受信され得る。この入力は、ゲームタスクの完了の目的に向かう第１のユーザによって提供される。
【００５７】
操作４０４から、方法４００は、コンピューティングデバイスＡ１０２Ａがゲームタスクの完了のためにゲームアプリケーション１２４の再生を委任する第１のユーザからプレーヤーＢ１３２Ｂ等の第２のユーザへの委任要求を受信する操作４０６に進む。いくつかの実施形態では、委任要求オプションがゲームアプリケーション１２４の一部として提供され、第１のユーザがゲームタスクを完了するように支援を必要とする場合、第１のユーザによって選択され得る。いくつかの実施形態では、委任要求オプションは、ゲームタスク完了において第１のユーザによる所定の数の試みの失敗の後に「ポップアップ」する。所定の数は、ゲームアプリケーション１２４の開発者によって設定され得る。いくつかの実施形態では、委任要求オプションは、ゲーミングサービスＡＰＩ１２６または共有サービスＡＰＩ１２８によって公開される１つ以上の方法によってゲームアプリケーション１２４に利用可能にされる。
【００５８】
操作４０６から、方法４００は、コンピューティングデバイスＡ１０２Ａが委任要求に応答してゲームタスクを完了することを試みる第２のユーザに招待を生成する操作４０８に進む。いくつかの実施形態では、招待は、ゲームアプリケーション１２４によって生成される。いくつかの実施形態では、招待は、ゲーミングサービスＡＰＩ１２６または共有サービスＡＰＩ１２８によって公開される１つ以上の方法によってゲームアプリケーション１２４に利用可能にされる。
【００５９】
操作４０８から、方法４００は、コンピューティングデバイスＡ１０２Ａが招待を第２のユーザに利用可能にさせる操作４１０に進む。操作４１０から、方法４００は、コンピューティングデバイスＡ１０２Ａが招待の承諾の通知を受信する操作４１２に進む。
【００６０】
操作４１２から、方法４００は、コンピューティングデバイスＡ１０２Ａが共有サービス１０６を介して共有セッションの確立を開始する操作４１４に進む。操作４１４から、方法４００は、コンピューティングデバイスＡ１０２Ａが共有セッションを介してプレーヤーＢ１３２Ｂ等の第２のユーザと関連付けられたコンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスにゲームアプリケーション１２４の制御を移す操作４１６に進む。このように、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２Ａを支援して、ゲームタスクを完了することができ、その後、共有セッションは引き裂かれ、プレーヤーＡ１３２Ａは、ゲームアプリケーション１２４を再生することを再開することができる。
【００６１】
操作４１６から、方法４００は、操作４１８に進む。方法４００は、操作４１８で終了する。
【００６２】
次に図５を参照すると、ゲームタスクの委任を承諾するための方法５００の態様が例示的な実施形態に従って詳細に記載される。方法５００は、例えば、ゲームアプリケーション１２４、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、及び／または共有コンポーネント１３０などの１つ以上のソフトウェアモジュールの実行を介して、コンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスによって実施されると記載される。追加及び／もしくは代替のデバイスならびに／またはネットワークノードは、これらに限定されないが、ゲームアプリケーション１２４、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、及び／または共有コンポーネント１３０を含む１つ以上のモジュール、アプリケーション、及び／または他のソフトウェアの実行を介して本明細書に記載される機能性を提供することができることが理解されるべきである。したがって、図解される実施形態は例示であり、何ら限定的であると見なされるべきではない。
【００６３】
方法５００は、コンピューティングデバイスＢ１０２Ｂが招待を承諾する入力を受信して、ゲームタスクを完了することを試みる操作５０２から開始する。操作５０２から、方法５００は、コンピューティングデバイスＢ１０２Ｂがゲームタスクを完了する招待の承諾の通知を生成する操作５０４に進む。操作５０４から、方法５００は、コンピューティングデバイスＢ１０２Ｂがこの通知をコンピューティングデバイスＡ１０２Ａ等の第１のコンピューティングデバイスに送信する操作５０６に進む。
【００６４】
操作５０６から、方法５００は、コンピューティングデバイスＢ１０２Ｂが共有サービス１０６によって提供された共有セッションに接続する操作５０８に進む。共有セッションは、招待の承諾の通知に応答して第１のコンピューティングデバイスによって開始され得る。
【００６５】
操作５０８から、方法５００は、コンピューティングデバイスＢ１０２Ｂが共有セッションを介してゲームアプリケーション１２４の制御を受信する操作５１０に進む。操作５１０から、方法５００は、コンピューティングデバイスＢ１０２Ｂがゲームアプリケーションを制御する入力を受信して、ゲームタスクを完了する操作５１２に進む。操作５１２から、方法５００は、コンピューティングデバイスＢ１０２Ｂが共有セッションを介してゲームアプリケーション１２４を制御する入力を第１のコンピューティングデバイス１０２に送信する操作５１４に進む。
【００６６】
操作５１４から、方法５００は、操作５１６に進む。方法５００は、操作５１６で終了する。
【００６７】
次に図６を参照すると、共有サービス１０６を用いてゲーム制御データを共有するための方法６００の態様が例示的な実施形態に従って詳細に記載される。方法６００は、コンピューティングデバイスＡ１０２Ａ等の第１のコンピューティングデバイス及びコンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスが両方とも共有サービス１０６によって提供された共有セッション１１２に接続する操作６０２から開始する。
【００６８】
操作６０２から、方法６００は、コンピューティングデバイスＢ１０２Ｂがゲーム制御入力を受信する操作６０４に進む。例えば、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２ＡによってプレーヤーＢ１３２Ｂに委任された１つ以上のゲームタスクを完了する試みで１つ以上の入力デバイスを用いてコンピューティングデバイスＢ１０２Ｂにゲーム制御入力を提供してもよい。
【００６９】
操作６０４から、本方法は、コンピューティングデバイスＢ１０２ＢがコンピューティングデバイスＡ１０２Ａへの送達のための共有セッション１１２介して共有サービス１０６にゲーム制御入力と関連付けられたゲーム制御データを送信する操作６０６に進む。ゲーム制御データは、これに限定されないが、１つ以上の動作を実施するゲームアプリケーション１２４等のゲームアプリケーションによって使用可能な命令を含むことができる。
【００７０】
操作６０６から、方法６００は、コンピューティングデバイスＡ１０２Ａが共有サービス１０６からゲーム制御データを受信し、かつゲーム制御データをコンピューティングデバイスＡ１０２Ａ上で実行しているゲームアプリケーション１２４に提供する操作６０８に進む。操作６０８から、方法６００は、ゲームアプリケーション１２４がゲーム制御データを利用して１つ以上の動作を実施する操作６１０に進む。操作６１０から、方法６００は、ゲームアプリケーション１２４がディスプレイＡ１１６Ａを介して１つ以上の動作を提示する操作６１２に進む。いくつかの実施形態では、ゲームアプリケーション１２４は、ゲーム制御データに含まれた命令によって定義された１つ以上の動作を再生し、それによりプレーヤーＡ１３２Ａは、プレーヤーＢ１３２ＢがいかにプレーヤーＡ１３２ＡによってプレーヤーＢ１３２Ｂに委任された１つ以上のゲームタスクを完了することを試みているかを観察することができるようになる。このように、プレーヤーＡ１３２Ａは、プレーヤーＢ１３２ＢがプレーヤーＡ１３２Ａにとって許容可能な方法で実施しているか否かを決定することができ、許容できない場合、プレーヤーＡ１３２Ａは、図７を参照してより詳細に後述されるように、その再生を中断することができる。
【００７１】
操作６１２から、方法６００は、操作６１４に進む。方法６００は、操作６１４で終了する。
【００７２】
次に図７を参照すると、第１のユーザによって第２のユーザに委任されたゲーム制御を中断するための方法７００の態様が例示的な実施形態に従って詳細に記載される。方法７００は、ゲームアプリケーション１２４が共有セッション１１２を介してコンピューティングデバイスＢ１０２Ｂから受信されたゲーム制御データを利用して１つ以上の動作を実施する操作７０２から開始する。操作７０２から、方法７００は、ゲームアプリケーション１２４が、中断が受信されたかを決定する操作７０４に進む。ゲーム制御データを利用すると、ゲームアプリケーション１２４は、コンピューティングデバイスＡ１０２Ａ上でプレーヤーＢ１３２Ｂによって提供されたゲーム制御入力を再生することができ、それによりプレーヤーＡ１３２Ａは、プレーヤーＢ１３２Ｂがいかに実施しているかを観察することができるようになる。プレーヤーＡ１３２Ａが満足していない場合、プレーヤーＡ１３２Ａは、再生を中断することを決定することができる。いくつかの実施形態では、再生は、ゲームアプリケーション１２４にいくつかの入力を提供することによってプレーヤーＡ１３２Ａによって中断され得る。例えば、ゲームアプリケーション１２４は、プレーヤーＡ１３２Ａによって選択され得るアイコンを提供するか、またはプレーヤーＡ１３２Ａがゲーム制御データに応答して実施する動作を停止することを望む場合に使用されるいくつかの他の入力を指定することができる。
【００７３】
操作７０４でゲームアプリケーション１２４が中断を受信する場合、方法７００は、操作７０６に進む。操作７０６では、ゲームアプリケーション１２４は、中止要求を生成し、中止要求を共有サービス１０６に送信する。操作７０６から、方法７００は、共有サービス１０６が中止要求を受信し、共有セッション１１２を終了し、それによりコンピューティングデバイスＢ１０２Ｂがゲーム制御データをコンピューティングデバイスＡ１０２Ａにもはや提供することができないようになる操作７０８に進む。このように、プレーヤーＡ１３２Ａは、１つ以上のゲームタスクがいかに処理されているかを監視し、プレーヤーが間違った振る舞いをしているか、またはその他期待通りの成果を出せていない場合、自身が１つ以上のゲームタスクを指定したそのプレーヤーとの接続を切ることができる。操作７０８から、方法７００は、ゲームアプリケーション１２４がプレーヤーＡ１３２Ａに制御を返す操作７１０に進む。操作７１０から、方法７００は、操作７１２に進む。方法７００は、操作７１２で終了する。
【００７４】
操作７０４でゲームアプリケーション１２４が中断を受信しない場合、方法７００は、操作７１４に進む。操作７１４では、ゲームアプリケーション１２４は、１つ以上の動作が完了されたかを決定する。例えば、ゲームアプリケーション１２４は、共有セッション１１２を介してゲーム制御データをもはや受信していない。完了していない場合、方法７００は、操作７１４から操作７０２に進む。完了している場合、方法７００は、ゲームアプリケーション１２４がプレーヤーＡ１３２Ａに制御を返す操作７１０に進む。操作７１０から、方法７００は、操作７１２に進む。方法７００は、操作７１２で終了する。
【００７５】
次に図８を参照すると、画面データを共有するための方法８００の態様が例示的な実施形態に従って詳細に記載される。方法８００は開始し、コンピューティングデバイスＡ１０２Ａ等の第１のコンピューティングデバイス及びコンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスが両方とも共有サービス１０８によって提供された共有セッション１１２に接続する操作８０２に進む。
【００７６】
操作８０２から、方法８００は、コンピューティングデバイスＢ１０２Ｂがゲーム制御入力を受信する操作８０４に進む。例えば、プレーヤーＢ１３２Ｂは、プレーヤーＡ１３２ＡによってプレーヤーＢ１３２Ｂに委任された１つ以上のゲームタスクを完了する試みで１つ以上の入力デバイスを用いてコンピューティングデバイスＢ１０２Ｂにゲーム制御入力を提供してもよい。
【００７７】
操作８０４から、方法８００は、コンピューティングデバイスＢ１０２Ｂが操作８０４で受信されたゲーム制御入力に少なくとも一部基づいて画面データを生成する操作８０６に進む。いくつかの実施形態では、画面データは、ゲーム制御入力に応答してコンピューティングデバイスＢ１０２Ｂによって実行されたゲームアプリケーションによって提供された視覚出力の画面ストリームを含む。例えば、プレーヤーＢ１３２Ｂがコントローラまたは他の入力デバイスを介して入力を提供するとき、ゲームアプリケーションは、レベルを横断すること、敵と戦うこと、またはいくつかの他の動作を実施することなどのゲーム制御入力に応答するキャラクタを示すデータをディスプレイに出力してもよい。
【００７８】
操作８０６から、本方法は、コンピューティングデバイスＢ１０２ＢがコンピューティングデバイスＡ１０２Ａへの送達のために共有セッション１１２を介して画面データを共有サービス１０６に送信する操作８０８に進む。コンピューティングデバイスＢ１０２Ｂは、コンピューティングデバイスＡ１０２Ａが共有セッション１１２を介して画面データにアクセスすることができるように画面データを共有サービス１０６に提供することができる。このように、プレーヤーＡ１３２Ａは、プレーヤーＢ１３２ＢがプレーヤーＡ１３２ＡによってプレーヤーＢ１３２Ｂに委任された１つ以上のゲームタスクを完了することの目的に向かって何をしているかを観察することができる。
【００７９】
操作８０８から、方法８００は、コンピューティングデバイスＡ１０２Ａが画面データを共有サービス１０８から受信する操作８１０に進む。操作８１０から、方法８００は、コンピューティングデバイスＡ１０２ＡがディスプレイＡ１１６Ａ等のディスプレイ上に画面データを提示する操作８１２に進む。
【００８０】
操作８１２から、方法８００は、操作８１４に進む。方法８００は、操作８１４で終了する。
【００８１】
いくつかの実施形態では、プレーヤーＡ１３２Ａは、画面セッション１１２を中断し、何らかの理由でプレーヤーＢ１３２Ｂが間違った振る舞いをしているか、またはその他期待通りの成果を出せていないことを自身が決定する場合、画面共有セッションを終了させることができる場合がある。いくつかの実施形態では、方法６００及び方法８００は、ゲーム制御データ及び画面データの両方を共有するように組み合わせられ得る。
【００８２】
次に図９を参照すると、共有サービスを使用せずにゲーム制御データを共有するための方法９００の態様が例示的な実施形態に従って詳細に記載される。図４〜８を参照して上述される方法は、共有サービス１０６等の共有サービスを利用して、ゲーム制御データ等の画面データ及び／またはアプリケーションデータを共有する。方法９００により、プレーヤーは、共有サービスを使用せずにゲーム制御データを共有することができる。方法９００は、ネットワーク接続性が待ち時間の問題、帯域の問題、信頼性の問題、または他の問題により、共有サービスをサポートできない状況に有用であり得る。
【００８３】
方法９００は、コンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスがゲーム制御入力を受信する操作９０２から開始する。ゲーム制御入力は、プレーヤーＡ１０２Ａ等の別のプレーヤーの代理として１つ以上のゲームタスクを完了する招待を承諾するコンピューティングデバイスＢ１０２Ｂと関連付けられたプレーヤーＢ１３２Ｂ等の第２のコンピューティングデバイスと関連付けられたプレーヤーに応答して受信される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス１０８などを介してプレーヤーＢ１３２Ｂに直接委任される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス１０８を介して複数のプレーヤーに利用可能にされ、プレーヤーＢ１３２Ｂは、ゲームタスクを選択する。
【００８４】
操作９０２から、方法９００は、コンピューティングデバイスＢ１０２Ｂがネットワーク１０４を介してゲーム制御入力と関連付けられたゲーム制御データをコンピューティングデバイスＡ１０２Ａに送信する操作９０４に進む。ゲーム制御データは、ネットワーク１０４上でコンピューティングデバイスＡ１０２ＡとコンピューティングデバイスＢ１０２Ｂとの間に確立されたピアツーピア接続を介して送信され得る。あるいは、ゲーム制御データは、ゲーム制御データの送達をサポートするように構成された１つ以上のサーバに送信されてもよい。１つ以上のサーバは、ゲーミングサービス１０８の少なくとも部分的サポートで動作してもよく、またはしなくてもよい。
【００８５】
操作９０４から、方法９００は、コンピューティングデバイスＡ１０２Ａがゲーム制御データを受信し、ゲーム制御データをゲームアプリケーション１２４に提供する操作９０６に進む。操作９０６から、方法９００は、ゲームアプリケーション１２４がゲーム制御データを利用して１つ以上の動作を実施する操作９０８に進む。
【００８６】
操作９０８から、方法９００は、中断が受信されるかゲームアプリケーション１２４が決定する操作９１０に進む。ゲーム制御データを利用すると、ゲームアプリケーション１２４は、コンピューティングデバイスＡ１０２Ａ上でプレーヤーＢ１３２Ｂによって提供されたゲーム制御入力を再生することができ、それによりプレーヤーＡ１３２Ａは、プレーヤーＢ１３２Ｂがどのように実施しているのかを観察することができるようになる。プレーヤーＡ１３２Ａが満足していない場合、プレーヤーは、再生を中断することを決定することができる。いくつかの実施形態では、再生は、ゲームアプリケーション１２４にいくつかの入力を提供することによってプレーヤーＡ１３２Ａによって中断され得る。例えば、ゲームアプリケーション１２４は、プレーヤーＡ１３２Ａによって選択され得るアイコン、またはプレーヤーＡ１３２Ａがゲーム制御データに応答して実施された動作を停止することを望む場合に使用され得る他の入力を提供することができる。
【００８７】
操作９１０でゲームアプリケーション１２４が中断を受信する場合、方法９００は、操作９１２に進む。操作９１２では、ゲームアプリケーション１２４は、プレーヤーＡ１３２Ａに制御を返す。操作９１２から、方法９００は、操作９１４に進む。方法９００は、操作９１４で終了する。
【００８８】
操作９１０でゲームアプリケーション１２４が中断を受信しない場合、方法９００は、操作９１６に進む。操作９１６では、ゲームアプリケーション１２４は、１つ以上の動作が完了されたかを決定する。例えば、ゲームアプリケーション１２４は、ネットワーク１０４を介してゲーム制御データをもはや受信していない。完了していない場合、方法９００は、操作９１６から操作９０８に進む。完了している場合、方法９００は、ゲームアプリケーション１２４がプレーヤーＡ１３２Ａに制御を返す操作９１２に進む。操作９１２から、方法９００は、操作９１４に進む。方法９００は、操作９１４で終了する。
【００８９】
次に図１０を参照すると、ゲーム状態データを共有するための方法１０００の態様が例示的な実施形態に従って詳細に記載される。方法１０００は開始し、コンピューティングデバイスＢ１０２Ｂ等の第２のコンピューティングデバイスがゲームタスクを完了する招待を受信する操作１００２に進む。いくつかの実施形態ではゲームタスクは、ゲーミングサービス１０８などを介してプレーヤーＢ１３２Ｂに直接委任される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス１０８を介して複数のプレーヤーに利用可能にされ、プレーヤーＢ１３２Ｂは、ゲーミングサービス１０８を介してゲームタスクを選択し、招待を効果的に承諾する。
【００９０】
操作１００２から、方法１０００は、ゲーム状態が受信されたかをコンピューティングデバイスＢ１０２Ｂが決定する操作１００４に進む。ゲーム状態は、委任されたゲームタスクが完了される前のゲームアプリケーションの状態を含むことができる。いくつかの実施形態では、ゲームタスクを委任するプレーヤーは、ゲーム状態を提供することを選択することができ、それによりゲームタスクを委任されるプレーヤーがゲームタスクを委任するプレーヤーによって達成されたゲームの特定の状態でゲームタスクを完了するプレーヤーの試みを開始することができるようになる。このように、ゲームタスクを委任されるプレーヤーは、ゲームアプリケーションの開始状態以外の状態、または特定の時間量内もしくはいくつかの他の制約の下で委任されたゲームタスクを完了することができることにつながり得ない他の状態から委任されたゲームタスクを完了するプレーヤーの試みを開始することができる。例えば、ゲームアプリケーションがロールプレイングゲームである場合、ゲームタスクを委任するプレーヤーは、プレーヤーのキャラクタを開発し、かつロールプレイングゲームによって提供された話の筋を通じて進展させることで数十またはさらには数百時間を費やし得る。この例では、ゲームタスクを委任するプレーヤーは、キャラクタの進行過程及び話の筋の中の場所を捉えるゲーム状態を提供することができ、それによりゲームタスクを委任されるプレーヤーは、ある特定の様式及び話の筋での特定の時点で進行されたキャラクタを用いて、ゲームタスクを完了する試みでキャラクタの制御を引き受けることができるようになる。ゲーム状態の概念が図４〜９に図解される方法の説明で言及されないが、ゲーム状態の概念は、例えば、開始するべきゲーム状態を、ゲームタスクを委任されたプレーヤーに提供するそれらの方法で利用され得る。
【００９１】
操作１００４で、ゲーム状態が受信されたとコンピューティングデバイス１０２Ｂが決定する場合、方法１０００は、コンピューティングデバイスＢ１０２Ｂがゲーム状態をゲームアプリケーション１２４のコピー等のゲームアプリケーションにロードし、それによりプレーヤーＢ１３２Ｂは開始状態（例えば、新しいゲーム開始）以外の状態、またはプレーヤーＢ１３２Ｂによる前の再生と関連して保存されたゲーム状態から委任されたゲームタスクを完了する自身の試みを開始することが可能になる操作１００６に進む。
【００９２】
操作１００６から、方法１０００は、操作１００８に進む。同様に、操作１００４でゲーム状態が受信されていないとコンピューティングデバイス１０２Ｂが決定する場合、方法１０００は、操作１００８に進む。操作１００８では、コンピューティングデバイスＢ１０２Ｂは、プレーヤーＢ１０２Ｂによって提供されたゲーム制御入力を受信して、ゲームタスクを完了する。操作１００８から、方法１０００は、コンピューティングデバイスＢ１０２Ｂが完了したゲームタスクを含む新しいゲーム状態を生成する操作１０１０に進む。操作１０１０から、方法１０００は、コンピューティングデバイスＢ１０２Ｂが次に新しいゲーム状態をコンピューティングデバイスＡ１０２Ａに送信する操作１０１２に進む。コンピューティングデバイスＡ１０２Ａは、新しいゲーム状態をゲームアプリケーション１２４にロードし、ゲームタスクがそのプレーヤーの代理として完了された後の状態でゲームアプリケーション１２４の再生を再開することができる。
【００９３】
操作１０１２から、方法１０００は、操作１０１４に進む。方法１０００は、操作１０１４で終了する。
【００９４】
いくつかの実施形態では、１つ以上の完了したゲームタスクを含むゲーム状態がゲーミングサービス１０８に提供され得る。ゲーミングサービス１０８は、ゲーム状態を作成した１人のユーザまたは複数のユーザの代理としてゲーム状態を提供することができる。このように、特に優れたプレーヤーまたはプレーヤーの集団は、一般に難しく、それ故に他のプレーヤーの興味を引きつけ得る１つ以上のゲームタスクを完了するゲーム状態を作成することができる。ゲーム状態は、無料で、または本明細書に上述される様々な報奨のうちの１つ以上などの何らかの報奨で提供されてもよい。
【００９５】
次に図１１を参照すると、共有サービスＡＰＩ１２８等の共有サービスＡＰＩを公開するための方法１１００の態様が例示的な実施形態に従って詳細に記載される。方法１１００は、コンピューティングデバイスＡ１０２Ａ等のコンピューティングデバイスが共有サービスＡＰＩ１２８を公開し、それによりゲームアプリケーション１２４及び／または他のアプリケーション１３１等の１つ以上のアプリケーションが共有サービスＡＰＩ１２８を呼び出して、共有サービス１０６にアクセスすることができるようになる操作１１０２から開始する。
【００９６】
操作１１０２から、方法１１００は、コンピューティングデバイスＡ１０２Ａが共有サービスＡＰＩ１２８によって公開された方法への呼び出しを受信して、共有セッション１１２等の共有セッションの作成を要求する操作１１０４に進む。操作１１０４から、方法１１００は、呼び出しに応答して、コンピューティングデバイスＡ１０２Ａが共有サービス１０６に接続することによって共有セッション１１２の作成を開始する操作１１０６に進む。操作１１０６から、方法１１００は、コンピューティングデバイスＡ１０２Ａが共有サービス１０６によって作成された共有セッション１１２に加わる操作１１０８に進む。コンピューティングデバイスＢ１０２Ｂ等の１つ以上の他のコンピューティングデバイスは次に、共有セッション１１２に接続して、共有データＢ１１８Ｂ等のデータを共有することができる。
【００９７】
操作１１０８から、方法１１００は、操作１１１０に進む。方法１１００は、操作１１１０で終了する。
【００９８】
図１２は、上記に提示される様式で共有サービスを介してビデオゲームタスクを委任するために本明細書に記載されるソフトウェアコンポーネントを実行することができるコンピュータ１２００のための例示的なコンピュータアーキテクチャを示す。図１２に示されるコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップコンピュータ、ラップトップ、電子書籍リーダー、デジタル無線電話、タブレットコンピュータ、ネットワーク電気器具、セットトップボックス、または他のコンピューティングデバイスを図解する。図１２に示されるコンピュータアーキテクチャは、コンピューティングデバイスＡ１０２Ａ、コンピューティングデバイスＢ１０２Ｂ、共有サービス１０６、ゲーミングサービス１０８、または任意の他のコンピューティングプラットフォーム上で実行すると記載される本明細書に提示されるソフトウェアコンポーネントの任意の態様を実行するために利用され得る。
【００９９】
コンピュータ１２００は、ベースボードまたは「マザーボード」を含み、これは、多数のコンポーネントまたはデバイスがシステムバスまたは他の電気通信経路を経て接続され得るプリント回路基板である。例示的な一実施形態では、１つ以上の中央処理装置（「ＣＰＵ」）１２０２は、チップセット１２０４とともに動作する。ＣＰＵ１２０２は、コンピュータ１２００の操作に必要な算術及び論理演算を実施する標準プログラマブルプロセッサである。
【０１００】
ＣＰＵ１２０２は、これらの状態を区別し、かつそれらを変化させるスイッチング素子の操作によって１つの個別の物理的状態から次の状態に遷移することによって操作を実施する。スイッチング素子は概して、フリップフロップ等の２つの二進状態のうちの１つを維持する電子回路、及び論理ゲート等の１つ以上の他のスイッチング素子の状態の論理的組合せに基づいて出力状態を提供する電子回路を含み得る。これらの基本的スイッチング素子は、レジスタ、加減算器、算術論理演算ユニット、浮動小数点演算ユニットなどを含むより複雑な論理回路を作成するように組み合わせられ得る。
【０１０１】
チップセット１２０４は、ＣＰＵ１２０２間のインターフェース、ならびにベースボード上のコンポーネント及びデバイスの残りを提供する。チップセット１２０４は、コンピュータ１２００内のメインメモリとして使用されるランダムアクセスメモリ（「ＲＡＭ」）１２０６へのインターフェースを提供する。チップセット１２０４はさらに、コンピュータ１２００を始動させ、かつ様々なコンポーネントとデバイス間で情報を転送するのを支援する基本的なルーチンを記憶するために、読み取り専用メモリ（「ＲＯＭ」）１２０８または不揮発性ＲＡＭ（「ＮＶＲＡＭ」）等のコンピュータ可読記憶媒体へのインターフェースを提供することができる。ＲＯＭ１２０８またはＮＶＲＡＭはまた、本明細書に記載される実施形態に従ってコンピュータ１２００の操作に必要な他のソフトウェアコンポーネントを記憶することができる。
【０１０２】
様々な実施形態によれば、コンピュータ１２００は、ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、インターネット、ネットワーク１０４、またはコンピュータ１２００をリモートコンピュータに接続する当該技術分野において既知の任意の他のネットワーキングトポロジなどのネットワークを通じて、リモートコンピューティングデバイス及びコンピュータシステムへの論理接続を用いるネットワーク型環境で動作することができる。チップセット１２０４は、ギガビットイーサネットアダプタ等のネットワークインターフェースコントローラ（「ＮＩＣ」）１２１２によるネットワーク接続性を提供するための機能性を含む。
【０１０３】
例えば、ＮＩＣ１２１０は、図１に関して上述されるネットワーク１０４上で、コンピューティングデバイスＡ１０２Ａ、コンピューティングデバイスＢ１０２Ｂ、共有サービス１０６、ゲーミングサービス１０８、データストレージシステムなどの他のコンピューティングデバイスにコンピュータ１２００を接続することができてもよい。複数のＮＩＣ１２１０がコンピュータを他のタイプのネットワーク及びリモートコンピュータシステムに接続するコンピュータ１２００内に存在し得ることが理解されるべきである。
【０１０４】
コンピュータ１２００は、コンピュータに不揮発性ストレージを提供する大容量記憶装置１２１２に接続され得る。大容量記憶装置１２１２は、本明細書により詳細に記載されたシステムプログラム、アプリケーションプログラム、他のプログラムモジュール、及びデータを記憶することができる。大容量記憶装置１２１２は、チップセット１２０４に接続されたストレージコントローラ１２１４を通じてコンピュータ１２００に接続され得る。大容量記憶装置１２１２は、１つ以上の物理的ストレージユニットからなり得る。ストレージコントローラ１２１４は、シリアルアタッチドＳＣＳＩ（「ＳＡＳ」）インターフェース、シリアルアドバンストテクノロジーアタッチメント（「ＳＡＴＡ」）インターフェース、ファイバチャネル（「ＦＣ」）インターフェース、またはコンピュータと物理的ストレージデバイスとの間で物理的に接続し、かつデータを転送するための他の標準インターフェースを通じて物理的ストレージユニットとインターフェース接続することができる。
【０１０５】
コンピュータ１２００は、物理的ストレージユニットの物理的状態を変換して、記憶される情報を反映することによって大容量記憶装置１２１２上にデータを記憶することができる。特定の物理的状態の変換は、この説明の異なる実装形態での様々な要因に依存し得る。そのような要因の例としては、これらに限定されないが、大容量記憶装置１２１２が一次または二次ストレージなどと特徴付けられるかにかかわらず、物理的ストレージユニットを実装するために使用される技術が挙げられ得る。
【０１０６】
例えば、コンピュータ１２００は、ストレージコントローラ１２１４を通じて発令して、磁気ディスクドライブユニット内の特定の位置の磁気特性、光ストレージユニット内の特定の位置の反射もしくは屈折特性、またはソリッドステートストレージユニット内の特定のコンデンサ、トランジスタ、もしくは他のディスクリートコンポーネントの電気特性を変化させることによって大容量記憶装置１２１２に情報を記憶することができる。他の物理的媒体の変換は、本説明の範囲及び趣旨から逸脱することなく可能であり、前述の例が単に、本説明を容易にするように提供される。コンピュータ１２００はさらに、物理的ストレージユニット内の１つ以上の特定の位置の物理的状態または特性を検出することによって大容量記憶装置１２１２から情報を読み取ることができる。
【０１０７】
上述される大容量記憶装置１２１２に加えて、コンピュータ１２００は、プログラムモジュール、データ構造、または他のデータ等の情報を記憶し、取り出すために他のコンピュータ可読媒体にアクセスすることができる。コンピュータ可読媒体は、コンピュータ可読記憶媒体及び通信媒体を含むコンピュータ１２００によってアクセスされ得る任意の利用可能な媒体であり得ることが当業者によって理解されるべきである。通信媒体としては、一時的な信号が挙げられる。コンピュータ可読記憶媒体としては、任意の方法または技術で実装された揮発性及び不揮発性、取り外し可能及び取り外し可能ではない記憶媒体が挙げられる。例えば、コンピュータ可読記憶媒体としては、これらに限定されないが、ＲＡＭ、ＲＯＭ、消去可能プログラマブルＲＯＭ（「ＥＰＲＯＭ」）、電気的消去可能プログラマブルＲＯＭ（「ＥＥＰＲＯＭ」）、フラッシュメモリもしくは他のソリッドステートメモリ技術、コンパクトディスクＲＯＭ（「ＣＤ−ＲＯＭ」）、デジタル多用途ディスク（「ＤＶＤ」）、高解像度ＤＶＤ（「ＨＤ−ＤＶＤ」）、ＢＬＵ−ＲＡＹ（登録商標）、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用され得る任意の他の媒体が挙げられる。コンピュータ可読記憶媒体は、一時的な信号を含まない。
【０１０８】
大容量記憶装置１２１２は、コンピュータ１２００の操作を制御するために利用されるオペレーティングシステム１２２等のオペレーティングシステム１２１６を記憶することができる。一実施形態によれば、オペレーティングシステムは、ＬＩＮＵＸオペレーティングシステムを含む。別の実装形態によれば、オペレーティングシステムは、Ｒｅｄｍｏｎｄ，ＷａｓｈｉｎｇｔｏｎのＭＩＣＲＯＳＯＦＴ  ＣｏｒｐｏｒａｔｉｏｎからのＷＩＮＤＯＷＳ（登録商標）ＳＥＲＶＥＲオペレーティングシステムを含む。さらなる実施形態によれば、オペレーティングシステムは、ＵＮＩＸ（登録商標）またはＳＯＬＡＲＩＳオペレーティングシステムを含むことができる。他のオペレーティングシステムも利用され得ることが理解されるべきである。大容量記憶装置１２１２は、コンピュータ１２００によって利用される他のシステムまたはアプリケーションプログラム及びデータを記憶することができる。例えば、コンピューティングデバイスＡ１０２Ａを実装するために利用されるとき、大容量記憶装置１２１２は、ゲーミングサービスＡＰＩ１２６、共有サービスＡＰＩ１２８、共有コンポーネント１３０、ゲームアプリケーション１２４、及び／または他のアプリケーション１３１を記憶することができる。共有サービス１０６を実装するために利用されるとき、大容量記憶装置１２１２は、共有サービスアプリケーション（複数可）１１０を記憶することができる。ゲーミングサービスを実装するために利用されるとき、大容量記憶装置１２１２は、ゲーミングサービスアプリケーション（複数可）１２０を記憶することができる。
【０１０９】
一実施形態では、大容量記憶装置１２１２または他のコンピュータ可読記憶媒体は、コンピュータ１２００にロードされるとき、汎用コンピューティングシステムからコンピュータを本明細書に記載される実施形態を実装することができる特殊用途コンピュータに変換するコンピュータ実行可能な命令で符号化され得る。これらのコンピュータ実行可能な命令は、上述されるように、ＣＰＵ１２０２がいかに状態間で遷移するかを指定することによってコンピュータ１２００を変換する。一実施形態によれば、コンピュータ１２００は、コンピュータによって実行されるとき、本明細書に記載される様々なルーチン及び操作を実施するコンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体にアクセスすることができる。
【０１１０】
コンピュータ１２００はまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、または他のタイプの入力デバイス等のいくつかの入力デバイスからの入力を受信及び処理するために入力／出力コントローラ１２１８を含むことができる。同様に、入力／出力コントローラ１２１８は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、または他のタイプの出力デバイス等の表示デバイスに出力をもたらすことができる。コンピュータ１２００は、図１２に示されるコンポーネントのすべてを含まなくてもよく、図１２に明示的に示されない他のコンポーネントを含んでもよく、あるいは図１２に示されるものとは完全に異なるアーキテクチャを利用してもよいことが理解されるよう。
【０１１１】
前述は、以下の付記を考慮してより良く理解され得る。  
１．ゲームタスクを委任するための方法であって、
第１のコンピューティングデバイスによって、ゲームアプリケーションを実行することと、
第１のコンピューティングデバイスによって、ゲームタスクを完了するためにゲームアプリケーションの再生を委任する第１のユーザからの委任要求を受信することと、
委任要求に応答して、第１のコンピューティングデバイスによって、第１のユーザの代理としてゲームタスクを完了する招待を生成することと、
第１のコンピューティングデバイスによって、承諾のために招待を利用可能にさせることと、
第１のコンピューティングデバイスによって、招待が承諾されたことを第１のユーザに示す承諾の通知を受信することと、
第１のコンピューティングデバイスによって、ゲームアプリケーションの制御を第２のコンピューティングデバイスに移すことであって、それにより第２のコンピューティングデバイスが第１のユーザの代理としてゲームタスクを完了する試みで利用され得るようになる、移すことと、を含む、方法。  
２．コンピューティングデバイスによって、ゲームタスクの完了成功の通知を受信することをさらに含む、付記１に記載の方法。  
３．ゲームタスクの完了成功の通知に応答して、第１のユーザからゲームタスクを完了した第２のユーザに報奨の委譲を開始することをさらに含む、付記２に記載の方法。  
４．報奨は、通貨、仮想通貨、ゲームアプリケーションのための１つ以上のゲーム内アイテム、別のゲームアプリケーションのための１つ以上のゲーム内アイテム、またはオンライン商人からの現実もしくは仮想製品の購入のための信用を含む、付記３に記載の方法。  
５．第１のコンピューティングデバイスによって、承諾のために招待を利用可能にさせることは、第１のコンピューティングデバイスによって、第２のコンピューティングデバイスと関連付けられた第２のユーザによる承諾のために招待を第２のコンピューティングデバイスに送信することを含む、付記１に記載の方法。  
６．第１のユーザ及び第２のユーザは、ゲーミングサービスによって促進された友好関係である、付記５に記載の方法。  
７．第１のコンピューティングデバイスによって、招待を承諾のために利用可能にさせることは、第１のコンピューティングデバイスによって、ゲームタスクを完了することに関して第２のユーザからの支援を要請するように第１のユーザの代理として招待を提示するように構成されるゲーミングサービスに、招待を送信することを含み、第２のユーザは、ゲーミングサービスと関連付けられた複数のユーザのうちの１人である、付記１に記載の方法。  
８．招待は、第１のユーザがゲームタスクを完了することを支援することに入札するために複数のユーザのうちの少なくとも一部によって使用されるように構成されたオークションと関連付けられる、付記７に記載の方法。  
９．第１のコンピューティングデバイスによって、オークションからの落札の選択を受信することであって、落札が第２のユーザと関連付けられる、受信することと、第１のコンピューティングデバイスによって、落札の選択の通知を第２のユーザに送信することとをさらに含み、第１のコンピューティングデバイスによって、承諾の通知を受信することは、第１のコンピューティングデバイスによって、落札の選択の通知を第２のユーザに送信することに応答して、承諾の通知を受信することを含む、付記８に記載の方法。  
１０．第１のコンピューティングデバイスによって、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間に共有セッションの確立を開始することをさらに含み、第１のコンピューティングデバイスによって、ゲームアプリケーションの制御を第２のコンピューティングデバイスに移すことは、コンピューティングデバイスによって、共有セッション中にゲームアプリケーションの制御を第２のコンピューティングデバイスに移すことを含み、それにより第１のユーザが第１のコンピューティングデバイスを介して、第１のユーザの代理としてゲームタスクを完了する試みでゲームアプリケーションを再生する第２のユーザを観察することができるようになる、付記１に記載の方法。
１１．第１のコンピューティングデバイスによって、共有セッションの確立を開始することは、共有サービスで共有セッションの確立を開始するように構成された共有サービスアプリケーションプログラミングインターフェースを呼び出すゲームアプリケーションを含む、付記１０に記載の方法。  
１２．第１のコンピューティングデバイスによって、ゲームアプリケーションの制御を第１のコンピューティングデバイスに戻す要求を受信することと、
第１のコンピューティングデバイスによって、ゲームアプリケーションの制御を第１のコンピューティングデバイスに戻す要求を共有サービスに送信することと、
ゲームアプリケーションの制御を第１のコンピューティングデバイスに戻す要求を送信することに応答して、第１のコンピューティングデバイスによって、共有セッション中にゲームアプリケーションの制御を第２のコンピューティングデバイスから受信することと、をさらに含む、付記１１に記載の方法。  
１３．ゲームタスクは、
ゲームアプリケーションの開発者によって定義された開発者定義タスク、
第１のユーザによって定義されたユーザ定義タスク、
ゲームアプリケーションの少なくとも１つのレベルの完了、
ゲームアプリケーションの達成度をロック解除すること、または
ゲームアプリケーションと関連付けられたリーダーボード上に順位を得ることを含む、付記１に記載の方法。  
１４．コンピュータ可読記憶媒体であって、第１のコンピューティングデバイスによって実行されるとき、第１のコンピューティングデバイスに、
ゲームアプリケーション内の動作を制御するためのゲーム制御データであって、第１のコンピューティングデバイスと関連付けられた第１のユーザによって第２のコンピューティングデバイスと関連付けられた第２のユーザに委任されたゲームタスクの完了のために第２のコンピューティングデバイスによって受信された、ゲーム制御入力と関連付けられる、ゲーム制御データを受信することと、
ゲーム制御データを利用して動作を実施することと、を含む操作を実施させる、コンピュータ実行可能な命令を含む、コンピュータ可読記憶媒体。  
１５．第１のコンピューティングデバイスによって実行されるとき、共有サービスによって提供された共有セッションに接続することを含むさらなる操作を第１のコンピューティングデバイスに実施させるコンピュータ実行可能な命令をさらに含み、ゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することは、共有サービスによって提供された共有セッションを介してゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することを含む、付記１４に記載のコンピュータ可読記憶媒体。  
１６．第１のコンピューティングデバイスによって実行されるとき、第１のコンピューティングデバイスに、
動作を中断する要求を第１のユーザから受信することと、
動作を中断する要求に応答して、
共有セッションを中止する要求を生成することと、
共有セッションを中止する要求を共有サービスに送信することと、
ゲームアプリケーションの制御を第１のユーザに返すことと、を含むさらなる操作を実施させる、コンピュータ実行可能な命令をさらに含む、付記１５に記載のコンピュータ可読記憶媒体。  
１７．ゲーム制御データを利用して動作を実施することは、第１のコンピューティングデバイスを介して動作を再生することを含み、それにより第１のユーザが動作を観察することができるようになる、付記１４に記載のコンピュータ可読記憶媒体。  
１８．第１のコンピューティングデバイスによって実行されるとき、第１のコンピューティングデバイスに、
動作の再生を中断する要求を受信することと、
動作の再生を中断する要求に応答して、ゲームアプリケーションの制御を第１のユーザに返すことと、を含むさらなる操作を実施させる、コンピュータ実行可能な命令をさらに含む、付記１７に記載のコンピュータ可読記憶媒体。  
１９．ゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することは、ゲーム状態を受信すること含み、ゲーム制御データを利用して動作を実施することは、ゲーム状態をゲームアプリケーションにロードすることを含み、ゲーム状態は、動作が完了した後のゲームアプリケーションの状態を含む、付記１４に記載のコンピュータ可読記憶媒体。  
２０．装置であって、
少なくとも１つのプロセッサと、
コンピュータ可読記憶媒体であって、少なくとも１つのプロセッサ上で実行されるとき、装置に、
ゲームアプリケーションを実行することと、
第１のユーザからの委任要求を受信して、ゲームアプリケーションの再生を第２のユーザに委任することであって、それにより第２のユーザが第１のユーザの代理としてゲームタスクを完了することを試みることができるようになる、受信することと、
装置と第２のユーザと関連付けられた第２の装置との間で共有セッションを開始することと、
共有セッションを介して、ゲームアプリケーションの制御を第２の装置に移すことであって、それにより第２のユーザが第２の装置を用いて第１のユーザの代理としてゲームタスクを完了することを試みることができるようになる、移すことと、を含む操作を実施させる、その上に記憶されたコンピュータ実行可能な命令を有する、コンピュータ可読記憶媒体と、を備える、装置。  
前述は、以下の追加の付記の組を考慮してより良く理解され得る。  
１．共有セッションを作成するためのコンピュータ実装方法であって、
共有サービスアプリケーションプログラミングインターフェース（「ＡＰＩ」）を呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成することと、
アプリケーションから共有サービスＡＰＩによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有サービスＡＰＩによって公開された方法への呼び出しを受信することに応答して、
共有サービスに接続することと、
共有サービスを介して共有セッションの作成を開始することと、
共有セッションに加わることと、
共有セッションを介してデータを受信することと、を行う操作を実施するようにコンピューティングデバイス内の命令を実行することを含む、コンピュータ実装方法。  
２．共有セッションを介してデータを受信することは、共有セッションを介して画面データを受信することを含み、画面データは、共有セッションに接続される少なくとも第２のコンピューティングデバイスの画面出力と関連付けられたデータを含む、付記１に記載のコンピュータ実装方法。  
３．共有セッションを介してデータを受信することは、共有セッションを介してアプリケーションデータを受信することをさらに含み、アプリケーションデータは、共有セッションに接続される少なくとも第２のコンピューティングデバイスに提供された入力と関連付けられたデータを含む、付記２に記載のコンピュータ実装方法。  
４．共有セッションを介してデータを受信することは、共有セッションを介してアプリケーションデータを受信することを含み、アプリケーションデータは、共有セッションに接続される少なくとも第２のコンピューティングデバイスに提供された入力と関連付けられたデータを含む、付記１に記載のコンピュータ実装方法。  
５．アプリケーションを制御する入力を受信することと、
その入力と関連付けられたアプリケーションデータを共有セッションに送信することと、をさらに含む、付記１に記載のコンピュータ実装方法。  
６．コンピューティングデバイスの画面出力と関連付けられた画面データを共有セッションに送信することをさらに含む、付記２に記載のコンピュータ実装方法。  
７．コンピューティングデバイスの画面出力と関連付けられた画面データを共有セッションに送信することをさらに含む、付記１に記載のコンピュータ実装方法。  
８．アプリケーションはゲームアプリケーションであり、共有セッションを介してデータを受信することは、ゲームアプリケーションを制御するゲーム制御データを受信することを含む、付記１に記載のコンピュータ実装方法。  
９．共有セッションを作成するためのコンピュータ実装方法であって、
共有セッションを作成するために共有アプリケーションプログラミングインターフェース（ＡＰＩ）を公開することと、
共有ＡＰＩによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有ＡＰＩによって公開された方法への呼び出しを受信することに応答して、共有セッションを作成及び管理するように構成される共有サービスに接続することによって共有セッションの作成を開始することと、共有セッションに加わることと、を行う操作を実施するようにコンピューティングデバイス内の命令を実行することを含む、コンピュータ実装方法。  
１０．共有ＡＰＩによって公開された呼び出しを受信して、少なくとも１つの他のコンピューティングデバイスに送信される画面データを要求することと、
共有ＡＰＩによって公開された呼び出しを受信して、少なくとも１つの他のコンピューティングデバイスに送信される画面データを要求することに応答して、少なくとも１つの他のコンピューティングデバイスへの送達のために共有セッションを介して画面データを共有サービスに送信することと、をさらに含む、付記９に記載のコンピュータ実装方法。  
１１．共有セッションを介して少なくとも１つの他のコンピュータシステムから画面データを受信することと、
少なくとも１つの他のコンピュータシステムからの画面データをディスプレイ上に提示することと、をさらに含む、付記１０に記載のコンピュータ実装方法。  
１２．現在の画面データを決定することと、
現在の画面データと共有サービスに送信された画面データとの間の変化を決定することと、
その変化を共有サービスに送信することと、をさらに含む、付記１０に記載のコンピュータ実装方法。  
１３．共有ＡＰＩによって公開された呼び出しを受信して、少なくとも１つの他のコンピューティングデバイスに送信されるアプリケーションデータを要求することと、
共有ＡＰＩによって公開された呼び出しを受信して、少なくとも１つの他のコンピューティングデバイスに送信されるアプリケーションデータを要求することに応答して、少なくとも１つの他のコンピューティングデバイスへの送達のためにアプリケーションデータを共有サービスに送信することと、をさらに含む、付記１０に記載のコンピュータ実装方法。  
１４．共有セッションの作成を要求する呼び出しを受信することは、共有セッションの作成を要求する呼び出しをゲームアプリケーションから受信することを含み、共有セッションは委任されたゲーム体験を少なくとも一部促進するために利用され、委任されたゲーム体験は、第１のユーザから共有セッションに接続される少なくとも１つの他のコンピューティングデバイスへの要求に応答して、ゲームアプリケーションと関連付けられた画面データを提供することを含み、それにより少なくとも１つの他のコンピューティングデバイスと関連付けられた少なくとも第２のユーザが第１のユーザの代理としてゲームアプリケーション内のゲームタスクを完了することを試みることができるようになる、付記９に記載のコンピュータ実装方法。  
１５．装置であって、
少なくとも１つのプロセッサと、
コンピュータ可読記憶媒体であって、少なくとも１つのプロセッサ上で実行されるとき、装置に、
共有サービスアプリケーションプログラミングインターフェース（「ＡＰＩ」）を呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成することと、
アプリケーションから共有サービスＡＰＩによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有サービスＡＰＩによって公開された方法への呼び出しを受信することに応答して、
共有サービスに接続することと、
共有サービスを介して共有セッションの作成を開始することと、
共有セッションに加わることと、を含む操作を実施させる、その上に記憶されたコンピュータ実行可能な命令を有する、コンピュータ可読記憶媒体と、を備える、装置。  
１６．コンピュータ実行可能な命令は、少なくとも１つのプロセッサ上で実行されるとき、装置に、共有セッションに接続される第２の装置からデータを受信することを含むさらなる操作を実施させる、付記１５に記載の装置。  
１７．ディスプレイをさらに備え、第２の装置からデータを受信することは、第２の装置の画面出力と関連付けられた画面データを受信することを含み、コンピュータ実行可能な命令は、少なくとも１つのプロセッサ上で実行されるとき、装置に画面データをディスプレイ上に提示することを含むさらなる操作を実施させる、付記１６に記載の装置。  
１８．コンピュータ実行可能な命令は、少なくとも１つのプロセッサ上で実行されるとき、装置に、
装置の画面出力と関連付けられた画面データを受信することと、
第２の装置への送達のために共有サービスを介して装置の画面出力と関連付けられた画面データを共有セッションに送信することと、を含むさらなる操作を実施させる、付記１７に記載の装置。  
１９．第２の装置からデータを受信することは、第２の装置に提供された入力と関連付けられたアプリケーションデータを受信することを含む、付記１８に記載の装置。  
２０．コンピュータ実行可能な命令は、少なくとも１つのプロセッサ上で実行されるとき、装置に、
装置の入力と関連付けられたアプリケーションデータを受信することと、
第２の装置への送達のために共有サービスを介して装置の画面出力と関連付けられた画面データを共有セッションに送信することと、を含むさらなる操作を実施させる、付記１９に記載の装置。
【０１１２】
前述に基づいて、共有サービスを介してビデオゲームタスクを委任するための技術が本明細書に提示されたことが理解されるべきである。本明細書に提示される主題は、コンピュータ構造的特徴、方法論的行為、及びコンピュータ可読媒体に特有の言語で記載されたが、添付の特許請求の範囲に定義される本発明は、本明細書に記載される特有の機能、行為、または媒体に必ずしも限定されないことが理解されるべきである。それよりむしろ、特有の機能、行為、及び媒体は、特許請求の範囲を実装する例示的な形態として開示される。
【０１１３】
前述に基づいて、共有サービスのＡＰＩのための技術が本明細書に提示されたことが理解されるべきである。本明細書に提示される主題は、コンピュータ構造的特徴、方法論的行為、及びコンピュータ可読媒体に特有の言語で記載されたが、添付の特許請求の範囲に定義される本発明は、本明細書に記載される特有の機能、行為、または媒体に必ずしも限定されないことが理解されるべきである。それよりむしろ、特有の機能、行為、及び媒体は、特許請求の範囲を実装する例示的な形態として開示される。
【０１１４】
上述される主題は、単に例証として提供され、限定的と解釈されるべきではない。さらに、特許請求される主題は、本開示のあらゆる部分に記されるいくらかまたはすべての不利益を解決する実装形態に限定されない。図解及び記載される例示的な実施形態及び用途に従うことなく、かつ以下の特許請求の範囲に示される本発明の趣旨及び範囲から逸脱することなく、様々な修正及び変更が本明細書に記載された主題に行われてもよい。
【図１】
2020058857.tif 000003
【図２】
2020058857.tif 000004
【図３】
2020058857.tif 000005
【図４】
2020058857.tif 000006
【図５】
2020058857.tif 000007
【図６】
2020058857.tif 000008
【図７】
2020058857.tif 000009
【図８】
2020058857.tif 000010
【図９】
2020058857.tif 000011
【図１０】
2020058857.tif 000012
【図１１】
2020058857.tif 000013
【図１２】
2020058857.tif 000014
【手続補正書】
【提出日】令和2年1月27日(2020.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のコンピューティングデバイスによって、ゲームアプリケーションの第１のインスタンスを実行することと、
前記第１のコンピューティングデバイスによって、ゲームタスクを完了するために前記ゲームアプリケーションのプレーを委任する委任要求を受信することと、
前記第１のコンピューティングデバイスによって、前記ゲームアプリケーションの制御を前記第１のコンピューティングデバイスから第２のコンピューティングデバイスへ移して、前記第２のコンピューティングデバイスがある時間の間に前記ゲームアプリケーションを制御するようにすることであって、前記移すことは前記ゲームアプリケーションのゲーム状態データを前記第１のコンピューティングデバイスから前記第２のコンピューティングデバイスへ送ることを含む、ことと、
前記時間の間に前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスが前記ゲームアプリケーションを制御する前記時間の間に前記第２のコンピューティングデバイスによって生成されたゲーム制御データを受信することと、
前記ゲーム制御データを前記ゲームアプリケーションの前記第１のインスタンスに提供して前記ゲームタスクの少なくとも一部を実行することと
を含む、方法。
【請求項２】
前記第１のコンピューティングデバイスによって、前記ゲームタスクを完了するための招待を生成することと、
前記招待に関連付けられた第１のデータを前記第２のコンピューティングデバイスに送信することと、
前記第１のコンピューティングデバイスによって、前記招待が承諾されたことを示す第２のデータを受信することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第２のコンピューティングデバイスに、当該第２のコンピューティングデバイス上で前記ゲームアプリケーションのインスタンスを実行させることをさらに含む、請求項１に記載の方法。
【請求項４】
前記ゲーム制御データは、前記第２のコンピューティングデバイスのユーザから制御入力を受け取ることに応答して生成される、請求項１に記載の方法。
【請求項５】
前記第１のコンピューティングデバイスによって前記時間の間に、前記第２のコンピューティングデバイスからストリーミングされた画面データを受信することであって、前記画面データは、前記第２のコンピューティングデバイスが前記制御入力を受け取り当該制御入力を使用して前記第２のコンピューティングデバイス上でインスタンス化された前記ゲームアプリケーションのインスタンスを実行することに少なくとも部分的に応答して、前記第２のコンピューティングデバイスによって生成される、ことをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のコンピューティングデバイスによって前記時間の間に、第１のユーザから中断を受信することであって、前記中断を受信することに少なくとも部分的に応答して前記第２のコンピューティングデバイスから前記第１のコンピューティングデバイスへの前記ゲーム制御データの送信が終了される、ことをさらに含む、請求項１に記載の方法。
【請求項７】
前記第１のコンピューティングデバイスによって、ゲームタスクを完了することに関して第２のユーザからの支援を要請するように第１のユーザの代理として招待を提示するように構成されるゲーミングサービスに、招待を送信することすることにより承諾のために招待を利用可能にさせることであって、前記第２のユーザは、前記ゲーミングサービスと関連付けられた複数のユーザのうちの１人である、ことをさらに含む、請求項１に記載の方法。
【請求項８】
１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する少なくとも１つのコンピュータ可読記憶媒体と
を備えたシステムであって、
前記コンピュータ実行可能命令は、前記１つまたは複数のプロセッサにより実行されることに応答して前記システムに、
ゲームアプリケーションの第１のインスタンスを実行することと、
前記ゲームアプリケーションの制御を前記システムから第２のシステムへ移してある時間の間に前記第２のシステムが前記ゲームアプリケーションを制御するようにすることであって、前記制御を移すことは前記ゲームアプリケーションのゲーム状態データを前記システムから前記第２のシステムへ送ることを含む、ことと、
前記時間の間に、前記第２のシステムが前記ゲームアプリケーションを制御する前記時間の間に前記第２のシステムによって生成されたゲーム制御データを受信することと、
前記ゲーム制御データの少なくとも一部を前記ゲームアプリケーションの前記第１のインスタンスに提供してゲームタスクの少なくとも一部を実行することと
を含む操作を実施させる、システム。
【請求項９】
前記コンピュータ実行可能命令は、
ゲームタスクを委任する委任要求を受信することと、
第１のユーザの代理として前記ゲームタスクを完了するための招待を生成することと、
前記招待を第２のユーザに関連付けられた前記第２のシステムに送信することと、
前記招待が承諾されたことを示す承諾の通知を受信することと
を含む操作をさらに実施させる、請求項８に記載のシステム。
【請求項１０】
前記招待を第２のユーザに関連付けられた前記第２のシステムに送信ことは、ゲームタスクを完了することに関して前記第２のユーザからの支援を要請するように前記第１のユーザの代理として前記招待を提示するように構成されるゲーミングサービスに、前記招待を送信することすることを含み、前記第２のユーザは、前記ゲーミングサービスと関連付けられた複数のユーザのうちの１人である、請求項９に記載のシステム。
【請求項１１】
前記コンピュータ実行可能命令は、前記システムに、前記第２のシステム上で前記ゲームアプリケーションの第２のインスタンスが起動されることを含む操作をさらに実施させる、請求項８に記載のシステム。
【請求項１２】
前記コンピュータ実行可能命令は、前記システムに、共有サービスにコンタクトして前記システムと前記第２のシステムとの間に共有セッションを確立することを含む操作をさらに実施させる、請求項８に記載のシステム。
【請求項１３】
前記共有サービスにコンタクトすることは、前記共有セッションの確立を開始する構成された共有サービスアプリケーションプログラミングインターフェースにデータを送信することを含む、請求項１２に記載のシステム。
【請求項１４】
前記コンピュータ実行可能命令は、前記システムに、
前記システムへ前記ゲームアプリケーションの前記制御を移し戻す要求を受信することと、
前記ゲームアプリケーションの前記制御を移し戻す要求を共有サービスおよび前記第２のシステムの１つまたは複数へ送信することと、
前記システムへ前記ゲームアプリケーションの前記制御を移し戻す要求を送信することに応答して、前記第２のシステムから前記ゲームアプリケーションの前記制御を受け取ることと
を含む操作をさらに実施させる、請求項８に記載のシステム。
【請求項１５】
コンピュータ実行可能命令を格納する非一時的コンピュータ可読記憶媒体であって、
前記コンピュータ実行可能命令は、第１のコンピューティングデバイスにより実行されることに応答して当該第１のコンピューティングデバイスに、
ゲームアプリケーションの第１のインスタンスを実行することと、
前記ゲームアプリケーションの制御を前記第１のコンピューティングデバイスから第２のコンピューティングデバイスへ移してある時間の間に前記第２のコンピューティングデバイスが前記ゲームアプリケーションを制御するようにすることであって、前記制御を移すことは前記ゲームアプリケーションのゲーム状態データを前記第１のコンピューティングデバイスから前記第２のコンピューティングデバイスへ送ることを含む、ことと、
前記第２のコンピューティングデバイスが前記ゲームアプリケーションを制御する前記時間の間に前記第２のコンピューティングデバイスによって生成されたゲーム制御データを受信することと、
前記ゲーム制御データの少なくとも一部を前記ゲームアプリケーションの前記第１のインスタンスに提供してゲームタスクの少なくとも一部を実行することと
を含む操作を実施させる、システム。