(58)【調査した分野】(Int.Cl.,DB名)
(i)前記第2の画面出力を表す画面データおよび(ii)前記第1の画面出力と前記第2の画面出力との間の前記差異に少なくとも部分的に基づいて前記第1の画面出力を再構成することと、
前記第1のコンピューティングデバイスのディスプレイに前記再構成した第1の画面出力を表示することと、
をさらに含む、請求項2に記載の方法。
前記共有セッションを介して前記データを受信することは前記共有セッションを介してアプリケーションデータを受信することを含み、前記アプリケーションデータは少なくとも前記共有セッションに接続された前記第2のコンピューティングデバイスへ提供された入力と関連付けられたデータを含む、請求項1に記載の方法。
前記アプリケーションはゲームアプリケーションであり、前記共有セッションを介して前記データを受信することは前記ゲームアプリケーションを制御するためのゲーム制御データを受信することを含む、請求項1に記載の方法。
前記共有セッションを介して前記第1のコンピューティングデバイスへアプリケーションデータを送信することであり、前記アプリケーションデータは、前記共有セッションに接続された前記第2のコンピューティングデバイスへ提供された入力と関連付けられたデータを含む、こと、
をさらに含む、請求項9に記載の方法。
前記共有セッションの生成を要求する前記呼び出しを受信することは、ゲームアプリケーションから前記共有セッションの生成を要求する前記呼び出しを受信することを含み、前記共有セッションは委任されたゲーム体験を容易にするために少なくとも部分的に利用され、前記委任されたゲーム体験は、前記第1のユーザから前記共有セッションに接続された少なくとも1つの他のコンピューティングデバイスへの要求に応答して、前記ゲームアプリケーションに関連付けられた画面データを提供することを含み、前記少なくとも1つの他のコンピューティングデバイスに関連付けられた少なくとも前記第2のユーザが前記第1のユーザのために前記ゲームアプリケーション内のゲームタスクを完了することを試みることができる、請求項8に記載の方法。
前記第2の装置からの前記データを受信することは、前記第2の装置へ提供された入力に関連付けられた第1のアプリケーションデータを受信することをさらに含む、請求項15に記載の装置。
【発明を実施するための形態】
【0005】
以下の詳細な説明は、共有サービスを介してビデオゲームタスクを委任することを対象とする。本明細書に開示される一態様によれば、第1のコンピューティングデバイスは、ゲームアプリケーションを実行するように構成される。第1のコンピューティングデバイスは、ゲームアプリケーションの再生を委任する第1のユーザから第2のユーザへの要求を受信することができ、それにより第2のユーザが第2のユーザと関連付けられた第2のコンピューティングデバイスからゲームアプリケーションを制御することによって第1のユーザの代理としてゲームタスクを完了することを試みることができるようになる。ゲームアプリケーションの制御は、第1のコンピューティングデバイス及び第2のコンピューティングデバイスが接続される共有サービスによって作成及び管理される共有セッションを介して、第2のコンピューティングデバイスから第1のコンピューティングデバイスに利用可能にされ得る。
【0006】
以下の詳細な説明は、共有サービスのためのアプリケーションプログラミングインターフェース(「API」)を対象とする。本明細書に開示される一態様によれば、コンピューティングデバイスは、共有サービスAPIを呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成する。アプリケーションは、共有サービスAPIを呼び出して、共有サービスに接続する共有サービスAPIによって公開され、かつ共有セッションの作成を開始された1つ以上の方法を利用することができる。コンピューティングデバイスは、1つ以上の他のコンピューティングデバイスと共有セッションに加わることができる。コンピューティングデバイスは、他のコンピューティングデバイスのうちの1つ以上から共有セッションを介してデータを受信することができる。データは、画面データ及び/またはアプリケーションデータを含むことができる。
【0007】
本明細書に提示される主題は、コンピュータプロセス、コンピュータ制御装置、コンピューティングシステム、またはコンピュータ可読記憶媒体等の製造物品として実装され得ることも理解されるべきである。これらの特徴及び様々な他の特徴は、以下の開示を読むこと、かつ関連図面を再検討することによって明らかになるであろう。
【0008】
本明細書に記載される主題は、1つ以上のコンピューティングデバイス上で実行するプログラムモジュールの一般的文脈で提示されるが、当業者であれば、他の実装形態が他のタイプのプログラムモジュールと組み合わせて実施され得ることを認識するであろう。一般に、プログラムモジュールとしては、ルーチン、プログラム、コンポーネント、データ構造、及び特定のタスクを実施するか、または特定の抽象データ型を実装する他のタイプの構造が挙げられる。
【0009】
当業者であれば、本明細書に記載される主題がマルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電子機器、ミニコンピュータ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、タブレットコンピュータ、電子書籍リーダー、無線電話デバイス、特殊用途ハードウェアデバイス、ネットワーク電気器具などを含む後述される構成を超えて他のコンピュータシステム構成上またはそれとともに実践され得ることを理解するであろう。本明細書に記載される実施形態はまた、タスクが通信ネットワークを通じて結び付けられるリモート処理デバイスによって実施される分散型コンピューティング環境で実践され得る。分散型コンピューティング環境では、プログラムモジュールは、ローカル及びリモートメモリストレージデバイスの両方に位置し得る。
【0010】
以下の詳細な説明では、本明細書の一部を構成し、かつ例証として、特定の実施形態または実施例を示す添付の図面を参照する。本明細書の図面は、一定の比率の縮尺で描かれていない。同様の参照番号は、いくつかの図にわたって同様の要素を表す。
【0011】
次に
図1を参照すると、本明細書に提示される様々な実施形態のための1つの動作環境100の態様が記載される。
図1に示される動作環境100は、コンピューティングデバイスA102Aと、コンピューティングデバイスB102Bとを含み、各々が通信ネットワーク(「ネットワーク」)104の一部として、及び/またはそれと通信して動作する。いくつかの実施形態によれば、コンピューティングデバイスA102A及びコンピューティングデバイスB102Bは各々、タブレットコンピューティングデバイス、パーソナルコンピュータ(「PC」)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、携帯電話またはスマートフォン、他のモバイルコンピューティングデバイス、携帯情報端末(「PDA」)、ビデオゲームシステム、セットトップボックス、スマートテレビなど、ユーザのコンピューティングデバイスを含むことができる。
【0012】
いくつかの他の実施形態によれば、コンピューティングデバイスA102A及び/またはコンピューティングデバイスB102Bの機能性は、1つ以上のアプリケーションサーバ、ウェブサーバ、データストレージシステム、ネットワーク電気器具、専用ハードウェアデバイス、及び/または他のサーバコンピュータもしくはコンピューティングデバイスによって提供され得るクラウドベースのコンピューティングプラットフォームによって提供され得る。これらの実施形態では、コンピューティングデバイスA102A及び/またはコンピューティングデバイスB102Bは、ネットワーク104を介してクラウドベースのコンピューティングプラットフォームへの接続のための最小のハードウェアを含むことができる。本明細書に開示される概念及び技術を図解及び説明するために、コンピューティングデバイスA102A及びコンピューティングデバイスB102Bの機能性は、ユーザのコンピューティングデバイスによって提供されるものとして本明細書に記載される。上述されるコンピューティングデバイスA102A及びコンピューティングデバイスB102Bの代替の実施形態に照らすと、この実施例は、例示であることが理解されるべきであり、何ら限定的であると解釈されるべきではない。
【0013】
コンピューティングデバイスA102A及びコンピューティングデバイスB102Bは、ネットワーク104を介して通信して、本明細書に記載される様々なサービスにアクセスすることができる。例えば、コンピューティングデバイスA102A及びコンピューティングデバイスB102Bは、共有サービス106及び/またはゲーミングサービス108にアクセスすることができる。共有サービス106及びゲーミングサービス108の機能性は、1つ以上のアプリケーションサーバ、ウェブサーバ、データストレージシステム、ネットワーク電気器具、専用ハードウェアデバイス、及び/または他のサーバコンピュータもしくはコンピューティングデバイスによって提供され得る。
【0014】
共有サービス106は、コンピューティングデバイスA102Aがネットワーク104上のコンピューティングデバイスB102BでディスプレイA116A等の1つ以上のディスプレイを介してコンピューティングデバイスA102Aによってローカルに提示される画面A114Aの全体または特定の部分を共有することができる間、1つ以上の共有セッション112を作成及び管理するために1つ以上の共有アプリケーション110を実行するように構成され得る。同様に、共有セッション112の間、コンピューティングデバイスB102Bは、ネットワーク104上のコンピューティングデバイスA102Aでディスプレイ116B等の1つ以上のディスプレイを介してコンピューティングデバイスB102Bによってローカルに提示される画面B114Bの全体または特定の部分を共有することができる。2つのコンピューティングデバイスのみが示されるが、共有サービス106によって作成された共有セッション112は、様々なコンピューティングデバイスを利用する1人以上のユーザがデータを互いに共有することができるように、任意の数のコンピューティングデバイスへの接続をサポートしてもよい。したがって、図解される例は、単に例示であり、何ら限定的であると解釈されるべきではない。
【0015】
共有セッション112は、指定されたソースデバイスがデータを1つ以上の指定された宛先デバイスに送信することができる片方向通信をサポートするように構成され得るが、1つ以上の指定された宛先デバイスは、データを指定されたソースデバイスに送信することができない。あるいは、共有セッション112は、2つ以上のコンピューティングデバイスがデータを互いに送信し、かつデータを互いから受信することができる双方向通信をサポートするように構成され得る。したがって、共有セッション112は、協調的または共有のみの目的に使用され得る。
【0016】
いくつかの実施形態では、ユーザは、別のユーザに、これらに限定されないがユーザ名及びパスワードなど、ユーザのセキュリティ証明書を供給することができる。例えば、第1のユーザは、第2のユーザが共有サービス106を介して第1のユーザと関連付けられたデバイス上で実行する1つ以上のアプリケーションを制御し、かつ/または第1のユーザの代理としてゲーミングサービス108等の他のサービスへのアクセスを得ることができるように、ユーザのセキュリティ証明書を提供することができる。セキュリティ証明書は、任意の単一因子または多因子認証方式を利用し得ることが企図される。
【0017】
本明細書で使用されるとき、「画面」は、ビジュアルコンテンツを指し、そのコンテンツの配置は、1つ以上のディスプレイ上での表示のためにコンピューティングデバイスによって出力される。換言すれば、「画面」は、コンピューティングデバイスに接続されるか、またはその他の方法でそれと通信している1つ以上のディスプレイ上に表示されるものである。画面は、特定の時間の過程で1つ以上のディスプレイ上に表示されるもののスナップショットを含むことができる。加えてまたはあるいは、画面は、経時的に1つ以上のディスプレイ上に表示されるもののデータストリームを含むことができる。後者の場合の画面は、「画面ストリーム」と本明細書で称されることもある。
【0018】
画面共有に加えて、共有サービス106は、アプリケーションデータ共有を提供することができ、それによりコンピューティングデバイスによって実行されている1つ以上のアプリケーションと関連付けられたデータが共有セッション112に接続される1つ以上の他のコンピューティングデバイスと共有され得る。アプリケーションデータとしては、これらに限定されないが、コンピューティングデバイスによって実行されるアプリケーションへのユーザ入力から生じるデータ、及びその入力に応答してアプリケーションによって出力された他のデータが挙げられ得る。アプリケーションデータは、離散的またはアプリケーションデータのストリームとして共有され得る。いくつかの実施形態では、アプリケーションデータは、以下により詳細に記載されるように、ゲームアプリケーションを制御するように受信された入力と関連付けられたゲーム制御データを含む。
【0019】
共有サービス106は、コンピューティングデバイスA102Aがデータ(共有データA118Aと図示)をコンピューティングデバイスB102Bと共有することができるように共有セッション112を作成することができる。同様に、共有サービス106は、コンピューティングデバイスB102Bがデータ(共有データB118Bと図示)をコンピューティングデバイスB102Bと共有することができるように共有セッション112を作成することができる。しかしながら、上述されるように、図解される例は、単に例示であり、何ら限定的であると解釈されるべきではない。
【0020】
ゲーミングサービス108は、ゲーミングサービス108によって実行される1つ以上のゲーミングサービスアプリケーション120とのユーザ対話を容易にするように構成され得る。ゲーミングサービスアプリケーション(複数可)120は、これらに限定されないが、オンライン協調的多人数参加型ゲーミング、オンライン競争的多人数参加型ゲーミング、チャット機能、メッセージング機能、オンラインリーダーボード、達成度追跡機能、広告機能、市場機能、及び友達リスト機能などの機能を提供することができる。加えてまたはあるいは、ゲーミングサービスアプリケーション(複数可)120は、以下により詳細に記載されるように、ゲームタスク委任機能を提供するか、またはそれを提供するのを支援することができる。
【0021】
コンピューティングデバイス102Aは、オペレーティングシステム122、及び1つ以上のアプリケーションプログラム、例えば、ゲームアプリケーション124、ゲーミングサービスアプリケーションプログラミングインターフェース(「API」)126、共有サービスAPI128、共有コンポーネント130、他のアプリケーション131、及び/または他のアプリケーションプログラムもしくはコンポーネントなどを実行するように構成され得る。オペレーティングシステム122は、コンピューティングデバイスA102Aの操作を制御するためのコンピュータプログラムである。アプリケーションプログラムは、本明細書に記載される様々な機能性を提供するためにオペレーティングシステム122の上で実行するように構成された実行可能なプログラムである。コンピューティングデバイスB102Bは、コンピューティングデバイスA102Aと同じ構成で示されないが、コンピューティングデバイスB102Bは、同様に構成されてもよく、またはコンピューティングデバイスA102Aに図解されるよりも多いまたは少ないアプリケーションプログラム及び/またはコンポーネントを有し得ることが理解されるべきである。
【0022】
ゲームアプリケーション124は、1人以上のプレーヤーがディスプレイ上に提示されるビジュアルコンテンツを制御するか、またはその他の方法でそれと対話することができる対話型ビデオゲーミング体験を提供するように構成され得る。ビジュアルコンテンツとしては、これらに限定されないが、キャラクタ、レベル、地図、地域、段階、世界、空間、形状、及び物体が挙げられ得る。ビジュアルコンテンツは、2次元、3次元、またはこれらの組合せであり得る。ゲームアプリケーション124はまた、これらに限定されないが、音楽、音声、及び音響効果などの聴覚コンテンツを提供することができる。ゲームアプリケーション124はまた、振動フィードバック等の触覚フィードバックを提供することができる。
【0023】
ゲームアプリケーション124は、プレーヤー(複数可)が完了することができる1つ以上のゲームタスクを有するように設計され得る。ゲームタスクは概して、1人以上のプレーヤーがゲームアプリケーション124によって提供されたビジュアルコンテンツと対話することによって行うことができるものは何でも含むことができる。単純な例として、ゲームタスクは、プレーヤーがレベルを完了または「クリアする」ために所定の開始点から終点までのレベルを横断するようにビジュアルキャラクタを制御することであり得る。この例を用いたさらなるゲームタスクは、ある特定の物体またはキャラクタ(例えば、敵)との接触を避けながら、レベルを横断するようにビジュアルキャラクタを制御することであってもよい。これらの例は例示であることが理解されるべきであり、何ら限定的であると解釈されるべきではない。
【0024】
ゲームアプリケーション124はまた、プレーヤー(複数可)によって完了され得る1つ以上の目標を有するように設計され得る。目標は、ゲームアプリケーション124の開発者によって定義されるゲームタスクである。換言すれば、目標は、ゲームアプリケーション124の目的(goal)または目的(purpose)である。ゲームアプリケーション124は、複数の目標を有してもよい。目標は、それが別の目標に何ら結び付いていないという点で個別であり得る。あるいは、目標は、1つ以上の他の目標と結び付いているか、またはそれらと組み合わせられ得る。
【0025】
いくつかの実施形態では、ゲームアプリケーション124は、プレーヤー(複数可)が彼ら自身のゲームタスクを作成することができるサンドボックスを提供し、これは、プレーヤー(複数可)にとって進行中または一瞬であり得る。サンドボックスは、確立された目標に加えて、またはその代わりに提供されてもよい。
【0026】
ゲームアプリケーション124は、1つ以上の達成度を有するように設計され得る。達成度は、ゲームアプリケーション124との特定の対話を認識するようにプレーヤーまたはプレーヤーの集団に提供される栄誉である。達成度は、初めて(またはいくつかの他の回数)ゲームアプリケーション124を開始すること、ゲームアプリケーション124によって提供されたある特定の機能と対話すること(例えば、ある特定のメニューを入力すること、または「ひどく」難しいレベル等のある特定のメニューオプションを選択すること)、または1つ以上の目標を完了することと同じくらい単純であり得る。プレーヤーが達成度と結び付けられる特定の対話を実施すると、達成度は、「ロック解除」になる。ゲームアプリケーション124は、達成度警告を提示することによって「ロック解除」達成度をプレーヤー(複数可)に通知してもよい。達成度警告は、視覚、聴覚、及び/または触覚様式で提示され得る。達成度をロック解除する行為がゲームタスクであってもよい。達成度をロック解除することにより、追加の達成度をロック解除する能力が可能になる。
【0027】
達成度は、ゲームアプリケーション124の開発者(複数可)によって、ゲーミングサービス108によって、または例えば、プレーヤーを含むいくつかの他の実体によって定義され得る。いくつかの実施形態では、達成度は、コンピューティングデバイスA102Aによって、例えば、ゲームアプリケーション124によって、オペレーティングシステム122によって、またはコンピューティングデバイスA102Aによって実行されるいくつかの他のアプリケーションプログラムによってローカルで管理される。いくつかの他の実施形態では、達成度は、ゲーミングサービス108によってクラウドベースの構成でリモートから管理される。これらの実施形態では、プレーヤーは、ゲーミングサービス108でアカウントを設定することができる。アカウントは、アカウントのセキュリティを維持するユーザ識別情報及び1つ以上のセキュリティ証明書を含むことができる。プレーヤーによって得られた達成度は、例えば、プレーヤーが異なるコンピューティングデバイスに変更する場合、プレーヤーが依然として自身の達成度にアクセスすることができ、異なるコンピューティングデバイス上で新しい達成度を得ることができるように、ゲーミングサービス108を用いて自身のアカウントと関連付けられ得る。
【0028】
ゲームアプリケーション124は、1つ以上のリーダーボードを有するように設計され得る。リーダーボードは、プレーヤー間の目標の完了をランク付けするように目標の完了を追跡することができる。例えば、目標は、限られた時間量で、または限られた命の数を用いて最高得点を得ることであってもよく、この目標と関連付けられたリーダーボードは、降順にランク付けされた得点のリスト等の特定の順序で得点のランク付けを含むことができる。いくつかの実施形態では、リーダーボードは、コンピューティングデバイスA102Aによって、例えば、ゲームアプリケーション124によって、オペレーティングシステム122によって、またはコンピューティングデバイスA102Aによって実行されるいくつかの他のアプリケーションプログラムによってローカルで管理される。いくつかの他の実施形態では、リーダーボードは、ゲーミングサービス108によってクラウドベースの構成でリモートから管理される。これらの実施形態では、プレーヤーは、アップロードすることを選択することができ、またはゲームアプリケーション124は、プレーヤーによって獲得された得点をゲーミングサービス108に自動的にアップロードすることができる。ゲーミングサービス108は、得点をアップロードすることを選択したプレーヤーによって選択されたプレーヤーの集団などによって、一般閲覧及び/または個人的閲覧のためのリーダーボードを提示してもよい。プレーヤーによって得られた得点は、プレーヤーが異なるコンピューティングデバイスに変更する場合、プレーヤーが依然として、同じユーザ識別情報を用いてリーダーボード上の自身の高得点を打ち負かすことを試みることができるように、ゲーミングサービス108を用いて自身のアカウントと関連付けられ得る。
【0029】
ゲームアプリケーション124への入力は、コンピューティングデバイスA102Aに接続されるか、またはその他の方法でそれと通信する1つ以上の入力デバイスを介して提供され得る。ゲームアプリケーション124への入力は、例えば、キャラクタを制御すること、メニューをナビゲートすること、1つ以上のゲームタスクの完了の目的に向かう制御など、ゲームアプリケーション124の態様を制御するために使用され得る。入力デバイスとしては、これらに限定されないが、キーボード、マウス、ジョイスティック、ゲームパッド、タッチパッド、抵抗性タッチスクリーン、容量性タッチスクリーン、マルチタッチ対応タッチスクリーン、スチルカメラ、ビデオカメラ、マイクロホン、赤外線カメラ、運動制御デバイス、全地球測位システム(「GPS」)センサ、近接センサ、運動センサ(例えば、加速度計)、周囲光センサ、水分センサ、ジャイロスコープ、ダンスパッド、ハンドル、フライトヨーク、ペダル、楽器、おもちゃの楽器、及びスポーツ用品が挙げられる。いくつかの実施形態では、1つ以上の入力デバイスは、マルチタッチ対応タッチスクリーンを備えたタブレットのコンピューティングデバイスなどの、コンピューティングデバイスA102Aに内蔵される。いくつかの他の実施形態では、1つ以上の入力デバイスは、有線及び/または無線接続を用いてコンピューティングデバイスA102Aに接続される。入力デバイスとコンピューティングデバイスA102Aとの間の1つ以上の接続を確立及び維持するために利用された物理的コンポーネント及び/またはプロトコルは、標準ベース、非標準ベース、または専有であり得る。
【0030】
コンピューティングデバイスA102Aは、ディスプレイA116A等のコンピューティングデバイスA102Aに内蔵されるか、またはその外部であり、かつそれと通信する1つ以上の表示デバイス上のゲームアプリケーション124によって提供されたビジュアルコンテンツを提示するように構成され得る。ディスプレイA116Aは、視覚形態で情報を提示するように構成された出力デバイスである。具体的に、ディスプレイA116Aは、ゲームアプリケーション124によって提供されたビジュアルコンテンツ、グラフィカルユーザインターフェース(「GUI」)要素、テキスト、画像、映像、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットコンテンツ、デバイス状態、時刻、日付、カレンダーデータ、選好、地図情報、位置情報、及び視覚形態で提示されることができる任意の他の情報を提示してもよい。いくつかの実施形態では、ディスプレイA116Aは、任意のアクティブまたはパッシブマトリクス技術及び任意のバックライト技術(使用される場合)を利用する液晶ディスプレイ(「LCD」)である。いくつかの実施形態では、ディスプレイA116Aは、有機発光ダイオード(「OLED」)ディスプレイである。他のディスプレイタイプが企図される。加えて、ディスプレイA116Aは、タッチスクリーンまたはマルチタッチ対応タッチスクリーン等の入力デバイスを含むことができる。ディスプレイB116Bは、同様に構成され得る。
【0031】
ゲームアプリケーション124は、ゲーミングサービス108によって提供された機能のうちの1つ以上を活用するために、ネットワーク104を介してゲーミングサービス108にアクセスするゲーミングサービスAPI126によって公開されたもう1つの方法を呼び出すように構成され得る。ゲームアプリケーション124はまた、ネットワーク104を介して共有サービス106にアクセスする共有サービスAPI128によって公開された1つ以上の方法を呼び出すように構成され得る。共有サービスAPI128は、データを共有サービス106に提供し、かつ共有セッション中に共有サービス106からデータを受信するように共有コンポーネント130にアクセスすることができる。共有コンポーネント130は、
図2を参照してより詳細に図解及び記載される。
【0032】
上述されるように、ゲームアプリケーション124は、1人以上のプレーヤーによって完了され得る1つ以上のゲームタスクを提供することができる。どのような理由であっても、プレーヤーは、ゲームタスクを完了することができない場合がある。例えば、ゲームタスクは、プレーヤーには難し過ぎて完了することができない場合があり、プレーヤーは、ゲームタスクに関心を持たなくなるが、後続のゲームタスクに興味がある場合があり、プレーヤーには、ゲームタスクを完了するのに必要とされる時間が欠けているか、またはあらゆる他の理由のためである。解決策として、プレーヤーは、ゲームタスクを別のプレーヤーに委任することを選択することができ、それにより他のプレーヤーがゲームタスクを委任したプレーヤーの代理としてタスクを完了することができるようになる。
【0033】
図解される例では、コンピューティングデバイスA102A上でゲームアプリケーション124を再生しているプレーヤーA132Aは、ゲームタスクをコンピューティングデバイスB102Bと関連付けられたプレーヤーB132Bに委任することを選択することができる。プレーヤーB132Bは、ゲームタスクを承諾または拒否することができる。プレーヤーB132Bがゲームタスクを承諾する場合、プレーヤーB132Bは、コンピューティングデバイスB102Bを利用してプレーヤーA132Aの代理としてゲームタスクを完了することを試みることができる。
【0034】
いくつかの実施形態では、コンピューティングデバイスA102Aは、共有サービス106と通信して、共有データA118Aを共有する共有セッション112を作成し、共有データA118Aは、コンピューティングデバイスA102Aによって実行されるゲームアプリケーション124の画面ストリームを含む。これらの実施形態では、プレーヤーB132Bは、プレーヤーA132AによってプレーヤーB132Bに委任されたゲームタスクを完了しようと努力して、ゲームアプリケーション124を再生するコンピューティングデバイスB102Bに接続されるか、またはその他の方法でそれと通信する1つ以上の入力デバイスを介してコンピューティングデバイスB102Bへの入力を提供することができる。このように、プレーヤーB132Bは、プレーヤーA132Aがゲームタスクを完了することを支援することができ、その後、共有セッション112は引き裂かれ、プレーヤーA132Aは、ゲームタスクがプレーヤーB132Bによって自身のために完了された後、ゲームアプリケーション124を再生することを再開することができる。
【0035】
いくつかの他の実施形態では、コンピューティングデバイスA102Aは、共有サービス106と通信して、共有データA118Aを共有する共有セッション112を作成し、共有データA118Aは、委任されたゲームタスクが完了する前のゲームアプリケーション124のゲーム状態を含む。これらの実施形態では、コンピューティングデバイスB102Bは、共有セッション112を介してゲーム状態を受信し、コンピューティングデバイスB102B上に同じゲームアプリケーションを起動して、ゲーム状態をロードする。ゲーム状態がロードされ、プレーヤーB132Bは、プレーヤーA132Aによって委任されたゲームタスクを完了しようと努力して、ゲームアプリケーションを再生するコンピューティングデバイスB102Bに接続されるか、またはその他の方法でそれと通信する1つ以上の入力デバイスを介してコンピューティングデバイスB102Bへの入力を提供することができる。ゲームタスクが完了した後、コンピューティングデバイスB102Bは、ゲームアプリケーション124の新しいゲーム状態を保存することができ、共有セッション112上で共有データB118Bの一部として新しいゲーム状態をコンピューティングデバイスA102Aに送信することができる。このように、プレーヤーB132Bは、プレーヤーA132Aがゲームタスクを完了することを支援することができ、その後、コンピューティングデバイスA102Aは、新しいゲーム状態をロードすることができ、プレーヤーA132Aは、完了したゲームタスクを含む状態からゲームアプリケーション124を再生することを再開することができる。
【0036】
いくつかの実施形態では、プレーヤーB132Bは、プレーヤーA132Aのユーザ識別情報を用いてプレーヤーA132Aの代理としてゲームアプリケーション124を再生するようにセットアップされる。したがって、ゲームタスクの完了と関連付けられた達成度、リーダーボード、及び他の名誉がプレーヤーB132BではなくプレーヤーA132Aに帰され得るが、プレーヤーA132A及びプレーヤーB132Bの双方が、ゲームタスクの完了に対して認められ得ることが企図される。加えてまたはあるいは、プレーヤーB132Bは、プレーヤーA132Aがゲームタスクを完了するのを支援することに対してプレーヤーA132Aに利用可能ではない達成度、リーダーボード順位、及び/または他の信用を得てもよい。
【0037】
いくつかの実施形態では、プレーヤーB132Bは、ゲームタスクを完了するまでの限られた時間量を与えられる。いくつかの他の実施形態では、プレーヤーB132Bは、ゲームタスクを完了するまでの限られていない時間量を与えられる。
【0038】
いくつかの実施形態では、プレーヤーB132Bは、ゲームタスクを完了することに対して報奨される。ゲームタスクを完了することに対する報奨としては、これらに限定されないが、現実の通貨、仮想通貨、ゲームアプリケーション124のための1つ以上のゲーム内アイテム、別のゲームアプリケーションのための1つ以上のゲーム内アイテム、オンライン商人からの現実または仮想製品の購入のための信用が挙げられ得る。
【0039】
仮想通貨は、これらに限定されないが、「コイン」、「ポイント」、「仮想ドル」などの単位によって表され得る。仮想通貨の「単位」は、コイン、ポイント、仮想ドル、または他の単位にかかわらず、米国ドルなどの現実の通貨に結び付けられる価値を有し得る。「コイン」は、例えば、ゲーミングサービス108内で米国ドルの1/100または1米国セントを表してもよく、それにより米国ドル及びセントで$2.99かかるアイテムが代替的に、299コインかかるようになる。仮想通貨の価値は、結び付けられる現実の通貨の価値の変化に対応するために、またはゲーミングサービス108を提供する実体に特有のものなど、あらゆる他の理由のために時折変更され得ることが理解されるべきである。アイテムが支払方法として仮想通貨、現実の通貨、またはこれらの組合せを用いてゲーミングサービス108を介して購入のために利用可能にされ得ることが理解されるべきである。
【0040】
いくつかの実施形態では、ゲーミングサービス108は、プレーヤーが例えば、アプリケーション、ゲームアプリケーション、ゲームアドオン、ゲーム内アイテム、音楽、電子書籍、映画などのコンテンツを購入することができる市場を提供する。ゲームタスクを完了することに対する報奨として交換された仮想通貨は、市場からそのようなコンテンツを購入するために使用され得る。
【0041】
いくつかの実施形態では、プレーヤーA132Aは、プレーヤーA132Aがオークションで同定されたゲームタスクを完了することを支援する別のプレーヤーの支援を要請するようにオークションを設定することができる。オークション機能は、ゲーミングサービス108によってホスティングされ得る。ゲーミングサービス108のユーザは、オークションに入札することができ、プレーヤーA132Aは、落札としてオークションを選択することができる。オークションは、ゲームタスクを完了することに対する報奨額を含むことができる。オークションはまた、ゲームタスクが完了される期限を含むことができる。このように、プレーヤーA132Aは、ゲームタスクを完了することに関して自身の必要性に基づいて落札を選択することができる。
【0042】
いくつかの実施形態では、プレーヤーA132Aは、ゲームタスクを2人以上のプレーヤーに委任することができる。ゲームタスクを完了する2人以上のプレーヤーのうちの第1のプレーヤーが報奨され得る。あるいは、すべてのプレーヤーが報奨されるが、ゲームタスクを完了する第1のプレーヤーが最高額を報奨される、第2のプレーヤーがより低い額を報奨される、などである。
【0043】
図解される例では、コンピューティングデバイスA102Aは、招待(「招待134」)を生成し、招待134をゲーミングサービス108に送信する。招待134は、プレーヤー132Bにアドレス指定され得る。例えば、プレーヤーA132A及びプレーヤーB132Bは、ゲーミングサービス108内で友好であってもよく、この友好関係により、プレーヤーA132Aはゲーミングサービス108によって提供されたメッセージング機能を介してプレーヤーB132Bに直接、招待134を送信することができる。ゲーミングサービス108における友好関係は、ゲーミングサービス108によって促進された2人のユーザ間の関係であり、このサービスによりユーザは多人数参加型ゲーム、チャットを再生するために接続し、例えば、招待134等の招待を含むメッセージを互いに送信することができる。次に、プレーヤーB132Bは、招待134を承諾または拒否することを選択することができる。図解される例では、プレーヤーB132Bは、招待134を承諾し、それに応答して、コンピューティングデバイスB102Bは、招待承諾通知(「招待136の承諾」)を生成し、招待136の承諾をゲーミングサービス108に送信する。招待134が承諾されると、ゲームアプリケーション124は、共有セッション112を確立する共有サービスAPI128を呼び出して、プレーヤーB132Bが上述される方法のうちの1つを用いてゲームタスクを完了することを試みることを可能にする。
【0044】
他のアプリケーション131は、1つ以上のウェブブラウザアプリケーション、1つ以上の生産性アプリケーション(例えば、文書処理、表計算、及び/またはプレゼンテーションアプリケーション)、1つ以上の設計アプリケーション、または任意の他のアプリケーションを含むことができる。いくつかの実施形態では、他のアプリケーション(複数可)131は、共有機能をユーザに提供する共有サービスAPI128を呼び出すように構成され得る。例えば、共有データA118Aは、他のアプリケーション131によって共有されたデータであり得、共有データB118Bは、他のアプリケーション131によって使用可能なコンピューティングデバイスB102Bによって共有されたデータであり得る。
【0045】
図1は、1つのネットワーク104、1つの共有サービス106、1つのゲーミングサービス108、1つのゲームアプリケーション124、1つのゲーミングサービスAPI126、1つの共有サービスAPI128、1つの共有コンポーネント130、1つの他のアプリケーション131、及び1つのオペレーティングシステム122を図解する。しかしながら、動作環境100の様々な実装形態は、複数のネットワーク104、共有サービス106、ゲーミングサービス108、ゲームアプリケーション124、ゲーミングサービスAPI126、共有サービスAPI128、共有コンポーネント130、他のアプリケーション131、及び/またはオペレーティングシステム122を含むと理解されるべきである。したがって、図解される実施形態は例示的であると理解されるべきであり、何ら限定的であると解釈されるべきではない。
【0046】
次に
図2を参照すると、共有コンポーネント130のさらなる態様が例示的な実施形態に従って記載される。いくつかの実施形態では、共有コンポーネント130は、共有サービス106にアクセスするためのクライアント側の機能性としての一部として提供される。いくつかの実施形態では、共有コンポーネント130は、オペレーティングシステム122(
図1に図示)の一部として提供される。いくつかの実施形態では、共有コンポーネント130は、共有データA118A(
図1に図示)の一部として共有サービス106にストリーミング配信される画面及び/またはアプリケーションデータのバッファを効果的に検出及び圧縮するレンダリングパイプラインなどの、オペレーティングシステム122の機能にアクセスする許可を与えられる。
【0047】
図解される共有コンポーネント130は、画面共有モジュール202と、アプリケーションデータ共有モジュール204とを含む。画面共有モジュール202は、画面データ差分エンジン206と、画面データ送信器208と、画面データ受信器210とを含む。画面データ差分エンジン206は、画面データが現在表示しているものと、画面データが既に共有サービス106に送信されたものとの間の差異を計算するように構成される。画面データ差分エンジン206はまた、この差異を共有サービス106に送信するように構成され、それによりネットワーク及び他のリソースを節約する。しかしながら、共有コンポーネント130は、コンピューティングデバイスによって出力されたすべての画面データを共有し得ることが企図される。
【0048】
画面データ送信器208は、画面データを共有セッション112に送信する共有サービス106と通信するように構成される。画面データ受信器210は、共有セッション112から画面データを受信する共有サービス106と通信するように構成される。
【0049】
アプリケーションデータ共有モジュール204は、データ圧縮エンジン212と、アプリケーションデータ送信器214と、アプリケーションデータ受信器216とを含む。データ圧縮エンジン212は、共有サービス106に送信するためのアプリケーションデータを圧縮するように構成される。アプリケーションデータ送信器214は、アプリケーションデータを共有セッション112に送信する共有サービス106と通信するように構成される。アプリケーションデータ受信器214は、共有セッション112からアプリケーションデータを受信する共有サービス106と通信するように構成される。
【0050】
次に
図3を参照すると、共有サービス106のさらなる態様が記載される。
図3では、共有サービス106は、複数のコンピューティングデバイス(図示せず)から画面データ302A〜302N及びアプリケーションデータ304A〜304Nを受信する。共有サービス106は、画面データ302A〜302Nを画面ストリームマルチプレクサ306に提供する。画面ストリームマルチプレクサ306は、画面データ302A〜302Nを受信し、かつ画面データ302A〜302Nを多重化して、多重化された画面データ308を生成するように構成され、次にストリーム圧縮器310に提供される。ストリーム圧縮器310は、共有セッション中に1つ以上のコンピューティングデバイスへの送達のために、多重化された画面データ308を圧縮するように構成される。ストリーム圧縮器310によって利用される圧縮技術は、共有セッションを介して特定のサービスの品質を提供するように共有サービス106の必要性に基づいて選択され得る。したがって、圧縮レベルは、ネットワークリソースを節約するように増加されるか、または共有セッションをサポートするネットワークリソースの可用性に基づいてネットワークリソースを消費するように減少され得る。
【0051】
共有サービス106は、アプリケーションデータ304A〜304Nをアプリケーションデータストリームマルチプレクサ312に提供する。アプリケーションデータマルチプレクサ312は、アプリケーションデータ304A〜304Nを受信し、かつアプリケーションデータ304A〜304Nを多重化して、多重化されたアプリケーションデータ314を生成するように構成され、次に圧縮のためにストリーム圧縮器310に提供される。
【0052】
次に
図4を参照すると、ゲームタスクを委任するための方法400の態様が例示的な実施形態に従って詳細に記載される。本明細書に開示される方法の操作は、必ずしも任意の特定の順序で提示されず、代替的順序(複数可)で操作のうちのいくつかまたはすべての性能が可能であり、企図されることが理解されるべきである。操作は、説明及び図解を容易にするために実証された順序で提示された。操作は、本明細書に開示される概念及び技術の範囲から逸脱することなく、追加され、省略され、及び/または同時に実施され得る。
【0053】
本明細書に開示される方法は、どの時点でも終了させることができ、その全体が実施される必要はないことが理解されるべきである。方法のうちのいくつかまたはすべての操作及び/または実質的に同等の操作は、本明細書に定義されるように、コンピュータ記憶媒体に含まれたコンピュータ可読命令の実行によって実施され得る。本明細書で使用されるとき、用語「コンピュータ可読命令」及びその変形は、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズムなどを含むために広く使用される。コンピュータ可読命令は、シングルプロセッサまたはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピュータデバイス、マイクロプロセッサベース、プログラマブル家庭用電子機器、これらの組合せなどを含む様々なシステム構成に実装され得る。
【0054】
したがって、本明細書に記載される論理演算は、(1)コンピューティングシステム上で動作する一連のコンピュータ実装行為またはプログラムモジュールとして、かつ/または(2)コンピューティングシステム内の相互接続した機械論理回路もしくは回路モジュールとして実装されることが理解されるべきである。この実装は、コンピューティングシステムの性能及び他の要件に応じた選択の問題である。したがって、本明細書に記載される論理演算は、状態、操作、構造デバイス、行為、またはモジュールと様々に称される。これらの状態、操作、構造デバイス、行為、及びモジュールは、ソフトウェア内、ファームウェア内、特殊用途デジタル論理、及びこれらの任意の組合せで実装され得る。
【0055】
方法400は、例えば、ゲームアプリケーション124、ゲーミングサービスAPI126、共有サービスAPI128、及び/または共有コンポーネント130等の1つ以上のソフトウェアモジュールの実行を介して、コンピューティングデバイスA102A等の第1のコンピューティングデバイスによって実施されると記載される。追加及び/もしくは代替デバイスならびに/またはネットワークノードは、これらに限定されないが、ゲームアプリケーション124、ゲーミングサービスAPI126、共有サービスAPI128、及び/または共有コンポーネント130を含む1つ以上のモジュール、アプリケーション、及び/または他のソフトウェアの実行を介して本明細書に記載される機能性を提供することができることが理解されるべきである。したがって、図解される実施形態は例示であり、何ら限定的であると見なされるべきではない。
【0056】
方法400は、コンピューティングデバイスA102Aがゲームアプリケーション124を実行する操作402から開始する。操作402から、方法400は、コンピューティングデバイスA102AがプレーヤーA132A等の第1のユーザからの入力を受信する操作404に進む。この入力は、コンピューティングデバイスA102Aに接続されるか、またはその他の方法でそれと通信する1つ以上の入力デバイスを介して受信され得る。この入力は、ゲームタスクの完了の目的に向かう第1のユーザによって提供される。
【0057】
操作404から、方法400は、コンピューティングデバイスA102Aがゲームタスクの完了のためにゲームアプリケーション124の再生を委任する第1のユーザからプレーヤーB132B等の第2のユーザへの委任要求を受信する操作406に進む。いくつかの実施形態では、委任要求オプションがゲームアプリケーション124の一部として提供され、第1のユーザがゲームタスクを完了するように支援を必要とする場合、第1のユーザによって選択され得る。いくつかの実施形態では、委任要求オプションは、ゲームタスク完了において第1のユーザによる所定の数の試みの失敗の後に「ポップアップ」する。所定の数は、ゲームアプリケーション124の開発者によって設定され得る。いくつかの実施形態では、委任要求オプションは、ゲーミングサービスAPI126または共有サービスAPI128によって公開される1つ以上の方法によってゲームアプリケーション124に利用可能にされる。
【0058】
操作406から、方法400は、コンピューティングデバイスA102Aが委任要求に応答してゲームタスクを完了することを試みる第2のユーザに招待を生成する操作408に進む。いくつかの実施形態では、招待は、ゲームアプリケーション124によって生成される。いくつかの実施形態では、招待は、ゲーミングサービスAPI126または共有サービスAPI128によって公開される1つ以上の方法によってゲームアプリケーション124に利用可能にされる。
【0059】
操作408から、方法400は、コンピューティングデバイスA102Aが招待を第2のユーザに利用可能にさせる操作410に進む。操作410から、方法400は、コンピューティングデバイスA102Aが招待の承諾の通知を受信する操作412に進む。
【0060】
操作412から、方法400は、コンピューティングデバイスA102Aが共有サービス106を介して共有セッションの確立を開始する操作414に進む。操作414から、方法400は、コンピューティングデバイスA102Aが共有セッションを介してプレーヤーB132B等の第2のユーザと関連付けられたコンピューティングデバイスB102B等の第2のコンピューティングデバイスにゲームアプリケーション124の制御を移す操作416に進む。このように、プレーヤーB132Bは、プレーヤーA132Aを支援して、ゲームタスクを完了することができ、その後、共有セッションは引き裂かれ、プレーヤーA132Aは、ゲームアプリケーション124を再生することを再開することができる。
【0061】
操作416から、方法400は、操作418に進む。方法400は、操作418で終了する。
【0062】
次に
図5を参照すると、ゲームタスクの委任を承諾するための方法500の態様が例示的な実施形態に従って詳細に記載される。方法500は、例えば、ゲームアプリケーション124、ゲーミングサービスAPI126、共有サービスAPI128、及び/または共有コンポーネント130などの1つ以上のソフトウェアモジュールの実行を介して、コンピューティングデバイスB102B等の第2のコンピューティングデバイスによって実施されると記載される。追加及び/もしくは代替のデバイスならびに/またはネットワークノードは、これらに限定されないが、ゲームアプリケーション124、ゲーミングサービスAPI126、共有サービスAPI128、及び/または共有コンポーネント130を含む1つ以上のモジュール、アプリケーション、及び/または他のソフトウェアの実行を介して本明細書に記載される機能性を提供することができることが理解されるべきである。したがって、図解される実施形態は例示であり、何ら限定的であると見なされるべきではない。
【0063】
方法500は、コンピューティングデバイスB102Bが招待を承諾する入力を受信して、ゲームタスクを完了することを試みる操作502から開始する。操作502から、方法500は、コンピューティングデバイスB102Bがゲームタスクを完了する招待の承諾の通知を生成する操作504に進む。操作504から、方法500は、コンピューティングデバイスB102Bがこの通知をコンピューティングデバイスA102A等の第1のコンピューティングデバイスに送信する操作506に進む。
【0064】
操作506から、方法500は、コンピューティングデバイスB102Bが共有サービス106によって提供された共有セッションに接続する操作508に進む。共有セッションは、招待の承諾の通知に応答して第1のコンピューティングデバイスによって開始され得る。
【0065】
操作508から、方法500は、コンピューティングデバイスB102Bが共有セッションを介してゲームアプリケーション124の制御を受信する操作510に進む。操作510から、方法500は、コンピューティングデバイスB102Bがゲームアプリケーションを制御する入力を受信して、ゲームタスクを完了する操作512に進む。操作512から、方法500は、コンピューティングデバイスB102Bが共有セッションを介してゲームアプリケーション124を制御する入力を第1のコンピューティングデバイス102に送信する操作514に進む。
【0066】
操作514から、方法500は、操作516に進む。方法500は、操作516で終了する。
【0067】
次に
図6を参照すると、共有サービス106を用いてゲーム制御データを共有するための方法600の態様が例示的な実施形態に従って詳細に記載される。方法600は、コンピューティングデバイスA102A等の第1のコンピューティングデバイス及びコンピューティングデバイスB102B等の第2のコンピューティングデバイスが両方とも共有サービス106によって提供された共有セッション112に接続する操作602から開始する。
【0068】
操作602から、方法600は、コンピューティングデバイスB102Bがゲーム制御入力を受信する操作604に進む。例えば、プレーヤーB132Bは、プレーヤーA132AによってプレーヤーB132Bに委任された1つ以上のゲームタスクを完了する試みで1つ以上の入力デバイスを用いてコンピューティングデバイスB102Bにゲーム制御入力を提供してもよい。
【0069】
操作604から、本方法は、コンピューティングデバイスB102BがコンピューティングデバイスA102Aへの送達のための共有セッション112介して共有サービス106にゲーム制御入力と関連付けられたゲーム制御データを送信する操作606に進む。ゲーム制御データは、これに限定されないが、1つ以上の動作を実施するゲームアプリケーション124等のゲームアプリケーションによって使用可能な命令を含むことができる。
【0070】
操作606から、方法600は、コンピューティングデバイスA102Aが共有サービス106からゲーム制御データを受信し、かつゲーム制御データをコンピューティングデバイスA102A上で実行しているゲームアプリケーション124に提供する操作608に進む。操作608から、方法600は、ゲームアプリケーション124がゲーム制御データを利用して1つ以上の動作を実施する操作610に進む。操作610から、方法600は、ゲームアプリケーション124がディスプレイA116Aを介して1つ以上の動作を提示する操作612に進む。いくつかの実施形態では、ゲームアプリケーション124は、ゲーム制御データに含まれた命令によって定義された1つ以上の動作を再生し、それによりプレーヤーA132Aは、プレーヤーB132BがいかにプレーヤーA132AによってプレーヤーB132Bに委任された1つ以上のゲームタスクを完了することを試みているかを観察することができるようになる。このように、プレーヤーA132Aは、プレーヤーB132BがプレーヤーA132Aにとって許容可能な方法で実施しているか否かを決定することができ、許容できない場合、プレーヤーA132Aは、
図7を参照してより詳細に後述されるように、その再生を中断することができる。
【0071】
操作612から、方法600は、操作614に進む。方法600は、操作614で終了する。
【0072】
次に
図7を参照すると、第1のユーザによって第2のユーザに委任されたゲーム制御を中断するための方法700の態様が例示的な実施形態に従って詳細に記載される。方法700は、ゲームアプリケーション124が共有セッション112を介してコンピューティングデバイスB102Bから受信されたゲーム制御データを利用して1つ以上の動作を実施する操作702から開始する。操作702から、方法700は、ゲームアプリケーション124が、中断が受信されたかを決定する操作704に進む。ゲーム制御データを利用すると、ゲームアプリケーション124は、コンピューティングデバイスA102A上でプレーヤーB132Bによって提供されたゲーム制御入力を再生することができ、それによりプレーヤーA132Aは、プレーヤーB132Bがいかに実施しているかを観察することができるようになる。プレーヤーA132Aが満足していない場合、プレーヤーA132Aは、再生を中断することを決定することができる。いくつかの実施形態では、再生は、ゲームアプリケーション124にいくつかの入力を提供することによってプレーヤーA132Aによって中断され得る。例えば、ゲームアプリケーション124は、プレーヤーA132Aによって選択され得るアイコンを提供するか、またはプレーヤーA132Aがゲーム制御データに応答して実施する動作を停止することを望む場合に使用されるいくつかの他の入力を指定することができる。
【0073】
操作704でゲームアプリケーション124が中断を受信する場合、方法700は、操作706に進む。操作706では、ゲームアプリケーション124は、中止要求を生成し、中止要求を共有サービス106に送信する。操作706から、方法700は、共有サービス106が中止要求を受信し、共有セッション112を終了し、それによりコンピューティングデバイスB102Bがゲーム制御データをコンピューティングデバイスA102Aにもはや提供することができないようになる操作708に進む。このように、プレーヤーA132Aは、1つ以上のゲームタスクがいかに処理されているかを監視し、プレーヤーが間違った振る舞いをしているか、またはその他期待通りの成果を出せていない場合、自身が1つ以上のゲームタスクを指定したそのプレーヤーとの接続を切ることができる。操作708から、方法700は、ゲームアプリケーション124がプレーヤーA132Aに制御を返す操作710に進む。操作710から、方法700は、操作712に進む。方法700は、操作712で終了する。
【0074】
操作704でゲームアプリケーション124が中断を受信しない場合、方法700は、操作714に進む。操作714では、ゲームアプリケーション124は、1つ以上の動作が完了されたかを決定する。例えば、ゲームアプリケーション124は、共有セッション112を介してゲーム制御データをもはや受信していない。完了していない場合、方法700は、操作714から操作702に進む。完了している場合、方法700は、ゲームアプリケーション124がプレーヤーA132Aに制御を返す操作710に進む。操作710から、方法700は、操作712に進む。方法700は、操作712で終了する。
【0075】
次に
図8を参照すると、画面データを共有するための方法800の態様が例示的な実施形態に従って詳細に記載される。方法800は開始し、コンピューティングデバイスA102A等の第1のコンピューティングデバイス及びコンピューティングデバイスB102B等の第2のコンピューティングデバイスが両方とも共有サービス108によって提供された共有セッション112に接続する操作802に進む。
【0076】
操作802から、方法800は、コンピューティングデバイスB102Bがゲーム制御入力を受信する操作804に進む。例えば、プレーヤーB132Bは、プレーヤーA132AによってプレーヤーB132Bに委任された1つ以上のゲームタスクを完了する試みで1つ以上の入力デバイスを用いてコンピューティングデバイスB102Bにゲーム制御入力を提供してもよい。
【0077】
操作804から、方法800は、コンピューティングデバイスB102Bが操作804で受信されたゲーム制御入力に少なくとも一部基づいて画面データを生成する操作806に進む。いくつかの実施形態では、画面データは、ゲーム制御入力に応答してコンピューティングデバイスB102Bによって実行されたゲームアプリケーションによって提供された視覚出力の画面ストリームを含む。例えば、プレーヤーB132Bがコントローラまたは他の入力デバイスを介して入力を提供するとき、ゲームアプリケーションは、レベルを横断すること、敵と戦うこと、またはいくつかの他の動作を実施することなどのゲーム制御入力に応答するキャラクタを示すデータをディスプレイに出力してもよい。
【0078】
操作806から、本方法は、コンピューティングデバイスB102BがコンピューティングデバイスA102Aへの送達のために共有セッション112を介して画面データを共有サービス106に送信する操作808に進む。コンピューティングデバイスB102Bは、コンピューティングデバイスA102Aが共有セッション112を介して画面データにアクセスすることができるように画面データを共有サービス106に提供することができる。このように、プレーヤーA132Aは、プレーヤーB132BがプレーヤーA132AによってプレーヤーB132Bに委任された1つ以上のゲームタスクを完了することの目的に向かって何をしているかを観察することができる。
【0079】
操作808から、方法800は、コンピューティングデバイスA102Aが画面データを共有サービス108から受信する操作810に進む。操作810から、方法800は、コンピューティングデバイスA102AがディスプレイA116A等のディスプレイ上に画面データを提示する操作812に進む。
【0080】
操作812から、方法800は、操作814に進む。方法800は、操作814で終了する。
【0081】
いくつかの実施形態では、プレーヤーA132Aは、画面セッション112を中断し、何らかの理由でプレーヤーB132Bが間違った振る舞いをしているか、またはその他期待通りの成果を出せていないことを自身が決定する場合、画面共有セッションを終了させることができる場合がある。いくつかの実施形態では、方法600及び方法800は、ゲーム制御データ及び画面データの両方を共有するように組み合わせられ得る。
【0082】
次に
図9を参照すると、共有サービスを使用せずにゲーム制御データを共有するための方法900の態様が例示的な実施形態に従って詳細に記載される。
図4〜8を参照して上述される方法は、共有サービス106等の共有サービスを利用して、ゲーム制御データ等の画面データ及び/またはアプリケーションデータを共有する。方法900により、プレーヤーは、共有サービスを使用せずにゲーム制御データを共有することができる。方法900は、ネットワーク接続性が待ち時間の問題、帯域の問題、信頼性の問題、または他の問題により、共有サービスをサポートできない状況に有用であり得る。
【0083】
方法900は、コンピューティングデバイスB102B等の第2のコンピューティングデバイスがゲーム制御入力を受信する操作902から開始する。ゲーム制御入力は、プレーヤーA102A等の別のプレーヤーの代理として1つ以上のゲームタスクを完了する招待を承諾するコンピューティングデバイスB102Bと関連付けられたプレーヤーB132B等の第2のコンピューティングデバイスと関連付けられたプレーヤーに応答して受信される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス108などを介してプレーヤーB132Bに直接委任される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス108を介して複数のプレーヤーに利用可能にされ、プレーヤーB132Bは、ゲームタスクを選択する。
【0084】
操作902から、方法900は、コンピューティングデバイスB102Bがネットワーク104を介してゲーム制御入力と関連付けられたゲーム制御データをコンピューティングデバイスA102Aに送信する操作904に進む。ゲーム制御データは、ネットワーク104上でコンピューティングデバイスA102AとコンピューティングデバイスB102Bとの間に確立されたピアツーピア接続を介して送信され得る。あるいは、ゲーム制御データは、ゲーム制御データの送達をサポートするように構成された1つ以上のサーバに送信されてもよい。1つ以上のサーバは、ゲーミングサービス108の少なくとも部分的サポートで動作してもよく、またはしなくてもよい。
【0085】
操作904から、方法900は、コンピューティングデバイスA102Aがゲーム制御データを受信し、ゲーム制御データをゲームアプリケーション124に提供する操作906に進む。操作906から、方法900は、ゲームアプリケーション124がゲーム制御データを利用して1つ以上の動作を実施する操作908に進む。
【0086】
操作908から、方法900は、中断が受信されるかゲームアプリケーション124が決定する操作910に進む。ゲーム制御データを利用すると、ゲームアプリケーション124は、コンピューティングデバイスA102A上でプレーヤーB132Bによって提供されたゲーム制御入力を再生することができ、それによりプレーヤーA132Aは、プレーヤーB132Bがどのように実施しているのかを観察することができるようになる。プレーヤーA132Aが満足していない場合、プレーヤーは、再生を中断することを決定することができる。いくつかの実施形態では、再生は、ゲームアプリケーション124にいくつかの入力を提供することによってプレーヤーA132Aによって中断され得る。例えば、ゲームアプリケーション124は、プレーヤーA132Aによって選択され得るアイコン、またはプレーヤーA132Aがゲーム制御データに応答して実施された動作を停止することを望む場合に使用され得る他の入力を提供することができる。
【0087】
操作910でゲームアプリケーション124が中断を受信する場合、方法900は、操作912に進む。操作912では、ゲームアプリケーション124は、プレーヤーA132Aに制御を返す。操作912から、方法900は、操作914に進む。方法900は、操作914で終了する。
【0088】
操作910でゲームアプリケーション124が中断を受信しない場合、方法900は、操作916に進む。操作916では、ゲームアプリケーション124は、1つ以上の動作が完了されたかを決定する。例えば、ゲームアプリケーション124は、ネットワーク104を介してゲーム制御データをもはや受信していない。完了していない場合、方法900は、操作916から操作908に進む。完了している場合、方法900は、ゲームアプリケーション124がプレーヤーA132Aに制御を返す操作912に進む。操作912から、方法900は、操作914に進む。方法900は、操作914で終了する。
【0089】
次に
図10を参照すると、ゲーム状態データを共有するための方法1000の態様が例示的な実施形態に従って詳細に記載される。方法1000は開始し、コンピューティングデバイスB102B等の第2のコンピューティングデバイスがゲームタスクを完了する招待を受信する操作1002に進む。いくつかの実施形態ではゲームタスクは、ゲーミングサービス108などを介してプレーヤーB132Bに直接委任される。いくつかの実施形態では、ゲームタスクは、ゲーミングサービス108を介して複数のプレーヤーに利用可能にされ、プレーヤーB132Bは、ゲーミングサービス108を介してゲームタスクを選択し、招待を効果的に承諾する。
【0090】
操作1002から、方法1000は、ゲーム状態が受信されたかをコンピューティングデバイスB102Bが決定する操作1004に進む。ゲーム状態は、委任されたゲームタスクが完了される前のゲームアプリケーションの状態を含むことができる。いくつかの実施形態では、ゲームタスクを委任するプレーヤーは、ゲーム状態を提供することを選択することができ、それによりゲームタスクを委任されるプレーヤーがゲームタスクを委任するプレーヤーによって達成されたゲームの特定の状態でゲームタスクを完了するプレーヤーの試みを開始することができるようになる。このように、ゲームタスクを委任されるプレーヤーは、ゲームアプリケーションの開始状態以外の状態、または特定の時間量内もしくはいくつかの他の制約の下で委任されたゲームタスクを完了することができることにつながり得ない他の状態から委任されたゲームタスクを完了するプレーヤーの試みを開始することができる。例えば、ゲームアプリケーションがロールプレイングゲームである場合、ゲームタスクを委任するプレーヤーは、プレーヤーのキャラクタを開発し、かつロールプレイングゲームによって提供された話の筋を通じて進展させることで数十またはさらには数百時間を費やし得る。この例では、ゲームタスクを委任するプレーヤーは、キャラクタの進行過程及び話の筋の中の場所を捉えるゲーム状態を提供することができ、それによりゲームタスクを委任されるプレーヤーは、ある特定の様式及び話の筋での特定の時点で進行されたキャラクタを用いて、ゲームタスクを完了する試みでキャラクタの制御を引き受けることができるようになる。ゲーム状態の概念が
図4〜9に図解される方法の説明で言及されないが、ゲーム状態の概念は、例えば、開始するべきゲーム状態を、ゲームタスクを委任されたプレーヤーに提供するそれらの方法で利用され得る。
【0091】
操作1004で、ゲーム状態が受信されたとコンピューティングデバイス102Bが決定する場合、方法1000は、コンピューティングデバイスB102Bがゲーム状態をゲームアプリケーション124のコピー等のゲームアプリケーションにロードし、それによりプレーヤーB132Bは開始状態(例えば、新しいゲーム開始)以外の状態、またはプレーヤーB132Bによる前の再生と関連して保存されたゲーム状態から委任されたゲームタスクを完了する自身の試みを開始することが可能になる操作1006に進む。
【0092】
操作1006から、方法1000は、操作1008に進む。同様に、操作1004でゲーム状態が受信されていないとコンピューティングデバイス102Bが決定する場合、方法1000は、操作1008に進む。操作1008では、コンピューティングデバイスB102Bは、プレーヤーB102Bによって提供されたゲーム制御入力を受信して、ゲームタスクを完了する。操作1008から、方法1000は、コンピューティングデバイスB102Bが完了したゲームタスクを含む新しいゲーム状態を生成する操作1010に進む。操作1010から、方法1000は、コンピューティングデバイスB102Bが次に新しいゲーム状態をコンピューティングデバイスA102Aに送信する操作1012に進む。コンピューティングデバイスA102Aは、新しいゲーム状態をゲームアプリケーション124にロードし、ゲームタスクがそのプレーヤーの代理として完了された後の状態でゲームアプリケーション124の再生を再開することができる。
【0093】
操作1012から、方法1000は、操作1014に進む。方法1000は、操作1014で終了する。
【0094】
いくつかの実施形態では、1つ以上の完了したゲームタスクを含むゲーム状態がゲーミングサービス108に提供され得る。ゲーミングサービス108は、ゲーム状態を作成した1人のユーザまたは複数のユーザの代理としてゲーム状態を提供することができる。このように、特に優れたプレーヤーまたはプレーヤーの集団は、一般に難しく、それ故に他のプレーヤーの興味を引きつけ得る1つ以上のゲームタスクを完了するゲーム状態を作成することができる。ゲーム状態は、無料で、または本明細書に上述される様々な報奨のうちの1つ以上などの何らかの報奨で提供されてもよい。
【0095】
次に
図11を参照すると、共有サービスAPI128等の共有サービスAPIを公開するための方法1100の態様が例示的な実施形態に従って詳細に記載される。方法1100は、コンピューティングデバイスA102A等のコンピューティングデバイスが共有サービスAPI128を公開し、それによりゲームアプリケーション124及び/または他のアプリケーション131等の1つ以上のアプリケーションが共有サービスAPI128を呼び出して、共有サービス106にアクセスすることができるようになる操作1102から開始する。
【0096】
操作1102から、方法1100は、コンピューティングデバイスA102Aが共有サービスAPI128によって公開された方法への呼び出しを受信して、共有セッション112等の共有セッションの作成を要求する操作1104に進む。操作1104から、方法1100は、呼び出しに応答して、コンピューティングデバイスA102Aが共有サービス106に接続することによって共有セッション112の作成を開始する操作1106に進む。操作1106から、方法1100は、コンピューティングデバイスA102Aが共有サービス106によって作成された共有セッション112に加わる操作1108に進む。コンピューティングデバイスB102B等の1つ以上の他のコンピューティングデバイスは次に、共有セッション112に接続して、共有データB118B等のデータを共有することができる。
【0097】
操作1108から、方法1100は、操作1110に進む。方法1100は、操作1110で終了する。
【0098】
図12は、上記に提示される様式で共有サービスを介してビデオゲームタスクを委任するために本明細書に記載されるソフトウェアコンポーネントを実行することができるコンピュータ1200のための例示的なコンピュータアーキテクチャを示す。
図12に示されるコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップコンピュータ、ラップトップ、電子書籍リーダー、デジタル無線電話、タブレットコンピュータ、ネットワーク電気器具、セットトップボックス、または他のコンピューティングデバイスを図解する。
図12に示されるコンピュータアーキテクチャは、コンピューティングデバイスA102A、コンピューティングデバイスB102B、共有サービス106、ゲーミングサービス108、または任意の他のコンピューティングプラットフォーム上で実行すると記載される本明細書に提示されるソフトウェアコンポーネントの任意の態様を実行するために利用され得る。
【0099】
コンピュータ1200は、ベースボードまたは「マザーボード」を含み、これは、多数のコンポーネントまたはデバイスがシステムバスまたは他の電気通信経路を経て接続され得るプリント回路基板である。例示的な一実施形態では、1つ以上の中央処理装置(「CPU」)1202は、チップセット1204とともに動作する。CPU1202は、コンピュータ1200の操作に必要な算術及び論理演算を実施する標準プログラマブルプロセッサである。
【0100】
CPU1202は、これらの状態を区別し、かつそれらを変化させるスイッチング素子の操作によって1つの個別の物理的状態から次の状態に遷移することによって操作を実施する。スイッチング素子は概して、フリップフロップ等の2つの二進状態のうちの1つを維持する電子回路、及び論理ゲート等の1つ以上の他のスイッチング素子の状態の論理的組合せに基づいて出力状態を提供する電子回路を含み得る。これらの基本的スイッチング素子は、レジスタ、加減算器、算術論理演算ユニット、浮動小数点演算ユニットなどを含むより複雑な論理回路を作成するように組み合わせられ得る。
【0101】
チップセット1204は、CPU1202間のインターフェース、ならびにベースボード上のコンポーネント及びデバイスの残りを提供する。チップセット1204は、コンピュータ1200内のメインメモリとして使用されるランダムアクセスメモリ(「RAM」)1206へのインターフェースを提供する。チップセット1204はさらに、コンピュータ1200を始動させ、かつ様々なコンポーネントとデバイス間で情報を転送するのを支援する基本的なルーチンを記憶するために、読み取り専用メモリ(「ROM」)1208または不揮発性RAM(「NVRAM」)等のコンピュータ可読記憶媒体へのインターフェースを提供することができる。ROM1208またはNVRAMはまた、本明細書に記載される実施形態に従ってコンピュータ1200の操作に必要な他のソフトウェアコンポーネントを記憶することができる。
【0102】
様々な実施形態によれば、コンピュータ1200は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、インターネット、ネットワーク104、またはコンピュータ1200をリモートコンピュータに接続する当該技術分野において既知の任意の他のネットワーキングトポロジなどのネットワークを通じて、リモートコンピューティングデバイス及びコンピュータシステムへの論理接続を用いるネットワーク型環境で動作することができる。チップセット1204は、ギガビットイーサネットアダプタ等のネットワークインターフェースコントローラ(「NIC」)1212によるネットワーク接続性を提供するための機能性を含む。
【0103】
例えば、NIC1210は、
図1に関して上述されるネットワーク104上で、コンピューティングデバイスA102A、コンピューティングデバイスB102B、共有サービス106、ゲーミングサービス108、データストレージシステムなどの他のコンピューティングデバイスにコンピュータ1200を接続することができてもよい。複数のNIC1210がコンピュータを他のタイプのネットワーク及びリモートコンピュータシステムに接続するコンピュータ1200内に存在し得ることが理解されるべきである。
【0104】
コンピュータ1200は、コンピュータに不揮発性ストレージを提供する大容量記憶装置1212に接続され得る。大容量記憶装置1212は、本明細書により詳細に記載されたシステムプログラム、アプリケーションプログラム、他のプログラムモジュール、及びデータを記憶することができる。大容量記憶装置1212は、チップセット1204に接続されたストレージコントローラ1214を通じてコンピュータ1200に接続され得る。大容量記憶装置1212は、1つ以上の物理的ストレージユニットからなり得る。ストレージコントローラ1214は、シリアルアタッチドSCSI(「SAS」)インターフェース、シリアルアドバンストテクノロジーアタッチメント(「SATA」)インターフェース、ファイバチャネル(「FC」)インターフェース、またはコンピュータと物理的ストレージデバイスとの間で物理的に接続し、かつデータを転送するための他の標準インターフェースを通じて物理的ストレージユニットとインターフェース接続することができる。
【0105】
コンピュータ1200は、物理的ストレージユニットの物理的状態を変換して、記憶される情報を反映することによって大容量記憶装置1212上にデータを記憶することができる。特定の物理的状態の変換は、この説明の異なる実装形態での様々な要因に依存し得る。そのような要因の例としては、これらに限定されないが、大容量記憶装置1212が一次または二次ストレージなどと特徴付けられるかにかかわらず、物理的ストレージユニットを実装するために使用される技術が挙げられ得る。
【0106】
例えば、コンピュータ1200は、ストレージコントローラ1214を通じて発令して、磁気ディスクドライブユニット内の特定の位置の磁気特性、光ストレージユニット内の特定の位置の反射もしくは屈折特性、またはソリッドステートストレージユニット内の特定のコンデンサ、トランジスタ、もしくは他のディスクリートコンポーネントの電気特性を変化させることによって大容量記憶装置1212に情報を記憶することができる。他の物理的媒体の変換は、本説明の範囲及び趣旨から逸脱することなく可能であり、前述の例が単に、本説明を容易にするように提供される。コンピュータ1200はさらに、物理的ストレージユニット内の1つ以上の特定の位置の物理的状態または特性を検出することによって大容量記憶装置1212から情報を読み取ることができる。
【0107】
上述される大容量記憶装置1212に加えて、コンピュータ1200は、プログラムモジュール、データ構造、または他のデータ等の情報を記憶し、取り出すために他のコンピュータ可読媒体にアクセスすることができる。コンピュータ可読媒体は、コンピュータ可読記憶媒体及び通信媒体を含むコンピュータ1200によってアクセスされ得る任意の利用可能な媒体であり得ることが当業者によって理解されるべきである。通信媒体としては、一時的な信号が挙げられる。コンピュータ可読記憶媒体としては、任意の方法または技術で実装された揮発性及び不揮発性、取り外し可能及び取り外し可能ではない記憶媒体が挙げられる。例えば、コンピュータ可読記憶媒体としては、これらに限定されないが、RAM、ROM、消去可能プログラマブルROM(「EPROM」)、電気的消去可能プログラマブルROM(「EEPROM」)、フラッシュメモリもしくは他のソリッドステートメモリ技術、コンパクトディスクROM(「CD−ROM」)、デジタル多用途ディスク(「DVD」)、高解像度DVD(「HD−DVD」)、BLU−RAY(登録商標)、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用され得る任意の他の媒体が挙げられる。コンピュータ可読記憶媒体は、一時的な信号を含まない。
【0108】
大容量記憶装置1212は、コンピュータ1200の操作を制御するために利用されるオペレーティングシステム122等のオペレーティングシステム1216を記憶することができる。一実施形態によれば、オペレーティングシステムは、LINUXオペレーティングシステムを含む。別の実装形態によれば、オペレーティングシステムは、Redmond,WashingtonのMICROSOFT CorporationからのWINDOWS(登録商標)SERVERオペレーティングシステムを含む。さらなる実施形態によれば、オペレーティングシステムは、UNIX(登録商標)またはSOLARISオペレーティングシステムを含むことができる。他のオペレーティングシステムも利用され得ることが理解されるべきである。大容量記憶装置1212は、コンピュータ1200によって利用される他のシステムまたはアプリケーションプログラム及びデータを記憶することができる。例えば、コンピューティングデバイスA102Aを実装するために利用されるとき、大容量記憶装置1212は、ゲーミングサービスAPI126、共有サービスAPI128、共有コンポーネント130、ゲームアプリケーション124、及び/または他のアプリケーション131を記憶することができる。共有サービス106を実装するために利用されるとき、大容量記憶装置1212は、共有サービスアプリケーション(複数可)110を記憶することができる。ゲーミングサービスを実装するために利用されるとき、大容量記憶装置1212は、ゲーミングサービスアプリケーション(複数可)120を記憶することができる。
【0109】
一実施形態では、大容量記憶装置1212または他のコンピュータ可読記憶媒体は、コンピュータ1200にロードされるとき、汎用コンピューティングシステムからコンピュータを本明細書に記載される実施形態を実装することができる特殊用途コンピュータに変換するコンピュータ実行可能な命令で符号化され得る。これらのコンピュータ実行可能な命令は、上述されるように、CPU1202がいかに状態間で遷移するかを指定することによってコンピュータ1200を変換する。一実施形態によれば、コンピュータ1200は、コンピュータによって実行されるとき、本明細書に記載される様々なルーチン及び操作を実施するコンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体にアクセスすることができる。
【0110】
コンピュータ1200はまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、または他のタイプの入力デバイス等のいくつかの入力デバイスからの入力を受信及び処理するために入力/出力コントローラ1218を含むことができる。同様に、入力/出力コントローラ1218は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、または他のタイプの出力デバイス等の表示デバイスに出力をもたらすことができる。コンピュータ1200は、
図12に示されるコンポーネントのすべてを含まなくてもよく、
図12に明示的に示されない他のコンポーネントを含んでもよく、あるいは
図12に示されるものとは完全に異なるアーキテクチャを利用してもよいことが理解されるよう。
【0111】
前述は、以下の付記を考慮してより良く理解され得る。
1.ゲームタスクを委任するための方法であって、
第1のコンピューティングデバイスによって、ゲームアプリケーションを実行することと、
第1のコンピューティングデバイスによって、ゲームタスクを完了するためにゲームアプリケーションの再生を委任する第1のユーザからの委任要求を受信することと、
委任要求に応答して、第1のコンピューティングデバイスによって、第1のユーザの代理としてゲームタスクを完了する招待を生成することと、
第1のコンピューティングデバイスによって、承諾のために招待を利用可能にさせることと、
第1のコンピューティングデバイスによって、招待が承諾されたことを第1のユーザに示す承諾の通知を受信することと、
第1のコンピューティングデバイスによって、ゲームアプリケーションの制御を第2のコンピューティングデバイスに移すことであって、それにより第2のコンピューティングデバイスが第1のユーザの代理としてゲームタスクを完了する試みで利用され得るようになる、移すことと、を含む、方法。
2.コンピューティングデバイスによって、ゲームタスクの完了成功の通知を受信することをさらに含む、付記1に記載の方法。
3.ゲームタスクの完了成功の通知に応答して、第1のユーザからゲームタスクを完了した第2のユーザに報奨の委譲を開始することをさらに含む、付記2に記載の方法。
4.報奨は、通貨、仮想通貨、ゲームアプリケーションのための1つ以上のゲーム内アイテム、別のゲームアプリケーションのための1つ以上のゲーム内アイテム、またはオンライン商人からの現実もしくは仮想製品の購入のための信用を含む、付記3に記載の方法。
5.第1のコンピューティングデバイスによって、承諾のために招待を利用可能にさせることは、第1のコンピューティングデバイスによって、第2のコンピューティングデバイスと関連付けられた第2のユーザによる承諾のために招待を第2のコンピューティングデバイスに送信することを含む、付記1に記載の方法。
6.第1のユーザ及び第2のユーザは、ゲーミングサービスによって促進された友好関係である、付記5に記載の方法。
7.第1のコンピューティングデバイスによって、招待を承諾のために利用可能にさせることは、第1のコンピューティングデバイスによって、ゲームタスクを完了することに関して第2のユーザからの支援を要請するように第1のユーザの代理として招待を提示するように構成されるゲーミングサービスに、招待を送信することを含み、第2のユーザは、ゲーミングサービスと関連付けられた複数のユーザのうちの1人である、付記1に記載の方法。
8.招待は、第1のユーザがゲームタスクを完了することを支援することに入札するために複数のユーザのうちの少なくとも一部によって使用されるように構成されたオークションと関連付けられる、付記7に記載の方法。
9.第1のコンピューティングデバイスによって、オークションからの落札の選択を受信することであって、落札が第2のユーザと関連付けられる、受信することと、第1のコンピューティングデバイスによって、落札の選択の通知を第2のユーザに送信することとをさらに含み、第1のコンピューティングデバイスによって、承諾の通知を受信することは、第1のコンピューティングデバイスによって、落札の選択の通知を第2のユーザに送信することに応答して、承諾の通知を受信することを含む、付記8に記載の方法。
10.第1のコンピューティングデバイスによって、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間に共有セッションの確立を開始することをさらに含み、第1のコンピューティングデバイスによって、ゲームアプリケーションの制御を第2のコンピューティングデバイスに移すことは、コンピューティングデバイスによって、共有セッション中にゲームアプリケーションの制御を第2のコンピューティングデバイスに移すことを含み、それにより第1のユーザが第1のコンピューティングデバイスを介して、第1のユーザの代理としてゲームタスクを完了する試みでゲームアプリケーションを再生する第2のユーザを観察することができるようになる、付記1に記載の方法。
11.第1のコンピューティングデバイスによって、共有セッションの確立を開始することは、共有サービスで共有セッションの確立を開始するように構成された共有サービスアプリケーションプログラミングインターフェースを呼び出すゲームアプリケーションを含む、付記10に記載の方法。
12.第1のコンピューティングデバイスによって、ゲームアプリケーションの制御を第1のコンピューティングデバイスに戻す要求を受信することと、
第1のコンピューティングデバイスによって、ゲームアプリケーションの制御を第1のコンピューティングデバイスに戻す要求を共有サービスに送信することと、
ゲームアプリケーションの制御を第1のコンピューティングデバイスに戻す要求を送信することに応答して、第1のコンピューティングデバイスによって、共有セッション中にゲームアプリケーションの制御を第2のコンピューティングデバイスから受信することと、をさらに含む、付記11に記載の方法。
13.ゲームタスクは、
ゲームアプリケーションの開発者によって定義された開発者定義タスク、
第1のユーザによって定義されたユーザ定義タスク、
ゲームアプリケーションの少なくとも1つのレベルの完了、
ゲームアプリケーションの達成度をロック解除すること、または
ゲームアプリケーションと関連付けられたリーダーボード上に順位を得ることを含む、付記1に記載の方法。
14.コンピュータ可読記憶媒体であって、第1のコンピューティングデバイスによって実行されるとき、第1のコンピューティングデバイスに、
ゲームアプリケーション内の動作を制御するためのゲーム制御データであって、第1のコンピューティングデバイスと関連付けられた第1のユーザによって第2のコンピューティングデバイスと関連付けられた第2のユーザに委任されたゲームタスクの完了のために第2のコンピューティングデバイスによって受信された、ゲーム制御入力と関連付けられる、ゲーム制御データを受信することと、
ゲーム制御データを利用して動作を実施することと、を含む操作を実施させる、コンピュータ実行可能な命令を含む、コンピュータ可読記憶媒体。
15.第1のコンピューティングデバイスによって実行されるとき、共有サービスによって提供された共有セッションに接続することを含むさらなる操作を第1のコンピューティングデバイスに実施させるコンピュータ実行可能な命令をさらに含み、ゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することは、共有サービスによって提供された共有セッションを介してゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することを含む、付記14に記載のコンピュータ可読記憶媒体。
16.第1のコンピューティングデバイスによって実行されるとき、第1のコンピューティングデバイスに、
動作を中断する要求を第1のユーザから受信することと、
動作を中断する要求に応答して、
共有セッションを中止する要求を生成することと、
共有セッションを中止する要求を共有サービスに送信することと、
ゲームアプリケーションの制御を第1のユーザに返すことと、を含むさらなる操作を実施させる、コンピュータ実行可能な命令をさらに含む、付記15に記載のコンピュータ可読記憶媒体。
17.ゲーム制御データを利用して動作を実施することは、第1のコンピューティングデバイスを介して動作を再生することを含み、それにより第1のユーザが動作を観察することができるようになる、付記14に記載のコンピュータ可読記憶媒体。
18.第1のコンピューティングデバイスによって実行されるとき、第1のコンピューティングデバイスに、
動作の再生を中断する要求を受信することと、
動作の再生を中断する要求に応答して、ゲームアプリケーションの制御を第1のユーザに返すことと、を含むさらなる操作を実施させる、コンピュータ実行可能な命令をさらに含む、付記17に記載のコンピュータ可読記憶媒体。
19.ゲームアプリケーション内の動作を制御するためのゲーム制御データを受信することは、ゲーム状態を受信すること含み、ゲーム制御データを利用して動作を実施することは、ゲーム状態をゲームアプリケーションにロードすることを含み、ゲーム状態は、動作が完了した後のゲームアプリケーションの状態を含む、付記14に記載のコンピュータ可読記憶媒体。
20.装置であって、
少なくとも1つのプロセッサと、
コンピュータ可読記憶媒体であって、少なくとも1つのプロセッサ上で実行されるとき、装置に、
ゲームアプリケーションを実行することと、
第1のユーザからの委任要求を受信して、ゲームアプリケーションの再生を第2のユーザに委任することであって、それにより第2のユーザが第1のユーザの代理としてゲームタスクを完了することを試みることができるようになる、受信することと、
装置と第2のユーザと関連付けられた第2の装置との間で共有セッションを開始することと、
共有セッションを介して、ゲームアプリケーションの制御を第2の装置に移すことであって、それにより第2のユーザが第2の装置を用いて第1のユーザの代理としてゲームタスクを完了することを試みることができるようになる、移すことと、を含む操作を実施させる、その上に記憶されたコンピュータ実行可能な命令を有する、コンピュータ可読記憶媒体と、を備える、装置。
前述は、以下の追加の付記の組を考慮してより良く理解され得る。
1.共有セッションを作成するためのコンピュータ実装方法であって、
共有サービスアプリケーションプログラミングインターフェース(「API」)を呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成することと、
アプリケーションから共有サービスAPIによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有サービスAPIによって公開された方法への呼び出しを受信することに応答して、
共有サービスに接続することと、
共有サービスを介して共有セッションの作成を開始することと、
共有セッションに加わることと、
共有セッションを介してデータを受信することと、を行う操作を実施するようにコンピューティングデバイス内の命令を実行することを含む、コンピュータ実装方法。
2.共有セッションを介してデータを受信することは、共有セッションを介して画面データを受信することを含み、画面データは、共有セッションに接続される少なくとも第2のコンピューティングデバイスの画面出力と関連付けられたデータを含む、付記1に記載のコンピュータ実装方法。
3.共有セッションを介してデータを受信することは、共有セッションを介してアプリケーションデータを受信することをさらに含み、アプリケーションデータは、共有セッションに接続される少なくとも第2のコンピューティングデバイスに提供された入力と関連付けられたデータを含む、付記2に記載のコンピュータ実装方法。
4.共有セッションを介してデータを受信することは、共有セッションを介してアプリケーションデータを受信することを含み、アプリケーションデータは、共有セッションに接続される少なくとも第2のコンピューティングデバイスに提供された入力と関連付けられたデータを含む、付記1に記載のコンピュータ実装方法。
5.アプリケーションを制御する入力を受信することと、
その入力と関連付けられたアプリケーションデータを共有セッションに送信することと、をさらに含む、付記1に記載のコンピュータ実装方法。
6.コンピューティングデバイスの画面出力と関連付けられた画面データを共有セッションに送信することをさらに含む、付記2に記載のコンピュータ実装方法。
7.コンピューティングデバイスの画面出力と関連付けられた画面データを共有セッションに送信することをさらに含む、付記1に記載のコンピュータ実装方法。
8.アプリケーションはゲームアプリケーションであり、共有セッションを介してデータを受信することは、ゲームアプリケーションを制御するゲーム制御データを受信することを含む、付記1に記載のコンピュータ実装方法。
9.共有セッションを作成するためのコンピュータ実装方法であって、
共有セッションを作成するために共有アプリケーションプログラミングインターフェース(API)を公開することと、
共有APIによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有APIによって公開された方法への呼び出しを受信することに応答して、共有セッションを作成及び管理するように構成される共有サービスに接続することによって共有セッションの作成を開始することと、共有セッションに加わることと、を行う操作を実施するようにコンピューティングデバイス内の命令を実行することを含む、コンピュータ実装方法。
10.共有APIによって公開された呼び出しを受信して、少なくとも1つの他のコンピューティングデバイスに送信される画面データを要求することと、
共有APIによって公開された呼び出しを受信して、少なくとも1つの他のコンピューティングデバイスに送信される画面データを要求することに応答して、少なくとも1つの他のコンピューティングデバイスへの送達のために共有セッションを介して画面データを共有サービスに送信することと、をさらに含む、付記9に記載のコンピュータ実装方法。
11.共有セッションを介して少なくとも1つの他のコンピュータシステムから画面データを受信することと、
少なくとも1つの他のコンピュータシステムからの画面データをディスプレイ上に提示することと、をさらに含む、付記10に記載のコンピュータ実装方法。
12.現在の画面データを決定することと、
現在の画面データと共有サービスに送信された画面データとの間の変化を決定することと、
その変化を共有サービスに送信することと、をさらに含む、付記10に記載のコンピュータ実装方法。
13.共有APIによって公開された呼び出しを受信して、少なくとも1つの他のコンピューティングデバイスに送信されるアプリケーションデータを要求することと、
共有APIによって公開された呼び出しを受信して、少なくとも1つの他のコンピューティングデバイスに送信されるアプリケーションデータを要求することに応答して、少なくとも1つの他のコンピューティングデバイスへの送達のためにアプリケーションデータを共有サービスに送信することと、をさらに含む、付記10に記載のコンピュータ実装方法。
14.共有セッションの作成を要求する呼び出しを受信することは、共有セッションの作成を要求する呼び出しをゲームアプリケーションから受信することを含み、共有セッションは委任されたゲーム体験を少なくとも一部促進するために利用され、委任されたゲーム体験は、第1のユーザから共有セッションに接続される少なくとも1つの他のコンピューティングデバイスへの要求に応答して、ゲームアプリケーションと関連付けられた画面データを提供することを含み、それにより少なくとも1つの他のコンピューティングデバイスと関連付けられた少なくとも第2のユーザが第1のユーザの代理としてゲームアプリケーション内のゲームタスクを完了することを試みることができるようになる、付記9に記載のコンピュータ実装方法。
15.装置であって、
少なくとも1つのプロセッサと、
コンピュータ可読記憶媒体であって、少なくとも1つのプロセッサ上で実行されるとき、装置に、
共有サービスアプリケーションプログラミングインターフェース(「API」)を呼び出すように構成されたアプリケーションを実行して、共有サービスを介して共有セッションを作成することと、
アプリケーションから共有サービスAPIによって公開された方法に、共有セッションの作成を要求する呼び出しを受信することと、
共有サービスAPIによって公開された方法への呼び出しを受信することに応答して、
共有サービスに接続することと、
共有サービスを介して共有セッションの作成を開始することと、
共有セッションに加わることと、を含む操作を実施させる、その上に記憶されたコンピュータ実行可能な命令を有する、コンピュータ可読記憶媒体と、を備える、装置。
16.コンピュータ実行可能な命令は、少なくとも1つのプロセッサ上で実行されるとき、装置に、共有セッションに接続される第2の装置からデータを受信することを含むさらなる操作を実施させる、付記15に記載の装置。
17.ディスプレイをさらに備え、第2の装置からデータを受信することは、第2の装置の画面出力と関連付けられた画面データを受信することを含み、コンピュータ実行可能な命令は、少なくとも1つのプロセッサ上で実行されるとき、装置に画面データをディスプレイ上に提示することを含むさらなる操作を実施させる、付記16に記載の装置。
18.コンピュータ実行可能な命令は、少なくとも1つのプロセッサ上で実行されるとき、装置に、
装置の画面出力と関連付けられた画面データを受信することと、
第2の装置への送達のために共有サービスを介して装置の画面出力と関連付けられた画面データを共有セッションに送信することと、を含むさらなる操作を実施させる、付記17に記載の装置。
19.第2の装置からデータを受信することは、第2の装置に提供された入力と関連付けられたアプリケーションデータを受信することを含む、付記18に記載の装置。
20.コンピュータ実行可能な命令は、少なくとも1つのプロセッサ上で実行されるとき、装置に、
装置の入力と関連付けられたアプリケーションデータを受信することと、
第2の装置への送達のために共有サービスを介して装置の画面出力と関連付けられた画面データを共有セッションに送信することと、を含むさらなる操作を実施させる、付記19に記載の装置。
【0112】
前述に基づいて、共有サービスを介してビデオゲームタスクを委任するための技術が本明細書に提示されたことが理解されるべきである。本明細書に提示される主題は、コンピュータ構造的特徴、方法論的行為、及びコンピュータ可読媒体に特有の言語で記載されたが、添付の特許請求の範囲に定義される本発明は、本明細書に記載される特有の機能、行為、または媒体に必ずしも限定されないことが理解されるべきである。それよりむしろ、特有の機能、行為、及び媒体は、特許請求の範囲を実装する例示的な形態として開示される。
【0113】
前述に基づいて、共有サービスのAPIのための技術が本明細書に提示されたことが理解されるべきである。本明細書に提示される主題は、コンピュータ構造的特徴、方法論的行為、及びコンピュータ可読媒体に特有の言語で記載されたが、添付の特許請求の範囲に定義される本発明は、本明細書に記載される特有の機能、行為、または媒体に必ずしも限定されないことが理解されるべきである。それよりむしろ、特有の機能、行為、及び媒体は、特許請求の範囲を実装する例示的な形態として開示される。
【0114】
上述される主題は、単に例証として提供され、限定的と解釈されるべきではない。さらに、特許請求される主題は、本開示のあらゆる部分に記されるいくらかまたはすべての不利益を解決する実装形態に限定されない。図解及び記載される例示的な実施形態及び用途に従うことなく、かつ以下の特許請求の範囲に示される本発明の趣旨及び範囲から逸脱することなく、様々な修正及び変更が本明細書に記載された主題に行われてもよい。