(57)【要約】  電子デバイスにおいて実行される方法は、アプリケーションを実行するステップと、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間でセッションを確立するステップとを含み、セッションからの出力は、実行中のアプリケーションからの出力を含み、さらに、アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示するステップを含み、セッション識別子は、第２の電子デバイスがセッション加わることを容易にし、１つ以上の第２の電子デバイスユーザがセッションと対話することを可能にするための、１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。
2019516420.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、
アプリケーションを実行するステップと、
実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立するステップを含み、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、さらに、
前記アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップを含み、前記セッション識別子は、前記第２の電子デバイスが前記セッションに加わることを容易にし、前記１つ以上の第２の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、方法。
【請求項２】
前記アプリケーションは、ゲームアプリケーションである、請求項１に記載の方法。
【請求項３】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む、請求項１〜２のいずれか１項に記載の方法。
【請求項４】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項３に記載の方法。
【請求項５】
前記セッション識別子は、前記第２の電子デバイスにおいて、プロンプトまたは通知の形で表示される、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記アプリケーションが実行中でないおよび／またはインストールされていない前記１つ以上の第２の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップは、
前記セッション識別子を前記メディアデバイスに送信するステップを含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記アプリケーションが実行中でないおよび／またはインストールされていない前記１つ以上の第２の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップは、
前記セッション識別子をメッセージに含めて前記第２の電子デバイスに送信するステップを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、
前記１つ以上のプログラムは、
アプリケーションを実行するための命令と、
実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立するための命令とを含み、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、前記１つ以上のプログラムは、さらに、
前記アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するための命令を含み、前記セッション識別子は、前記第２の電子デバイスが前記セッションに加わることを容易にし、前記１つ以上の第２の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、電子デバイス。
【請求項９】
前記アプリケーションは、ゲームアプリケーションである、請求項８に記載の電子デバイス。
【請求項１０】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む、請求項８〜９のいずれか１項に記載の電子デバイス。
【請求項１１】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項１０に記載の電子デバイス。
【請求項１２】
前記セッション識別子は、プロンプトまたは通知の形で、前記第２の電子デバイスで表示される、請求項８〜１１のいずれか１項に記載の電子デバイス。
【請求項１３】
前記セッション識別子を前記メディアデバイスに送信するための命令を含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項８〜１２のいずれか１項に記載の電子デバイス。
【請求項１４】
メッセージに含めて前記セッション識別子を前記第２の電子デバイスに送信するための命令を含む、請求項８〜１３のいずれか１項に記載の電子デバイス。
【請求項１５】
１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、
アプリケーションを実行させ、
実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立させ、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、さらに、前記電子デバイスに、
前記アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示させ、前記セッション識別子は、前記第２の電子デバイスが前記セッションに加わることを容易にし、前記１つ以上の第２の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、コンピュータ読み取り可能な記憶媒体。
【請求項１６】
前記アプリケーションは、ゲームアプリケーションである、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む、請求項１５〜１６のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項１７に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記セッション識別子は、前記第２の電子デバイスにおいて、プロンプトまたは通知の形で表示される、請求項１５〜１８のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記電子デバイスによって実行されると、前記電子デバイスに、
前記セッション識別子を前記メディアデバイスに送信させる命令を含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項１５〜１９のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２１】
前記電子デバイスによって実行されると、前記電子デバイスに、
前記セッション識別子をメッセージに含めて前記第２の電子デバイスに送信させる命令を含む、請求項１５〜２０のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２２】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、前記１つ以上のプログラムは、請求項１〜７のいずれか１項に記載の方法を実行するための命令を含む、電子デバイス。
【請求項２３】
１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、請求項１〜７のいずれか１項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２４】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、
第２の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するステップと、
前記受信した命令に応じて、前記セッションを確立するステップと、
前記セッションに対応付けられたセッション識別子を受信するステップとを含み、前記セッション識別子は、１つ以上の第３の電子デバイスが前記セッションに加わることを容易にし、前記第３の電子デバイスの１人以上のユーザが前記セッションと対話することを可能にするために、前記１つ以上の第３の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、
表示するために、前記セッション識別子を出力装置に送信するステップを含む、方法。
【請求項２５】
前記セッションからの出力に対応するデータを受信するステップをさらに含み、前記出力は、前記第３の電子デバイスの１人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、
表示するために、前記データを前記出力装置に送信するステップを含む、請求項２４に記載の方法。
【請求項２６】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬを含む、請求項２４〜２５のいずれか１項に記載の方法。
【請求項２７】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項２６に記載の方法。
【請求項２８】
前記電子デバイスは、キャスティングデバイスである、請求項２４〜２７のいずれか１項に記載の方法。
【請求項２９】
前記アプリケーションは、ゲームアプリケーションである、請求項２４〜２８のいずれか１項に記載の方法。
【請求項３０】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、前記１つ以上のプログラムは、
第２の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するための命令と、
前記受信した命令に応じて、前記セッションを確立するための命令と、
前記セッションに対応付けられたセッション識別子を受信するための命令と含み、前記セッション識別子は、１つ以上の第３の電子デバイスが前記セッションに加わることを容易にし、前記第３の電子デバイスの１人以上のユーザが前記セッションと対話することを可能にするために、前記１つ以上の第３の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、前記１つ以上のプログラムは、さらに、
表示するために、前記セッション識別子を出力装置に送信するための命令を含む、電子デバイス。
【請求項３１】
前記セッションからの出力に対応するデータを受信するための命令を含み、前記出力は、前記第３の電子デバイスの前記１人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、
表示するために、前記データを前記出力装置に送信するための命令を含む、請求項３０に記載の電子デバイス。
【請求項３２】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬを含む、請求項３０〜３１のいずれか１項に記載の電子デバイス。
【請求項３３】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項３２に記載の電子デバイス。
【請求項３４】
前記電子デバイスは、キャスティングデバイスである、請求項３０〜３３のいずれか１項に記載の電子デバイス。
【請求項３５】
前記アプリケーションは、ゲームアプリケーションである、請求項３０〜３４のいずれか１項に記載の電子デバイス。
【請求項３６】
１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、
第２の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信させ、
前記受信した命令に応じて、前記セッションを確立させ、
前記セッションに対応付けられたセッション識別子を受信させ、前記セッション識別子は、１つ以上の第３の電子デバイスが前記セッションに加わることを容易にし、前記第３の電子デバイスの１人以上のユーザが前記セッションと対話することを可能にするために、前記１つ以上の第３の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、前記電子デバイスに、
表示するために、前記セッション識別子を出力装置に送信させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項３７】
前記電子デバイスによって実行されると、前記電子デバイスに、
前記セッションからの出力に対応するデータを受信させる命令を含み、前記出力は、前記第３の電子デバイスの前記１人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、前記電子デバイスに、
前記データを前記出力装置に表示するために送信させる命令を含む、請求項３６に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３８】
前記セッション識別子は、前記セッションに対応付けられたＵＲＬを含む、請求項３６〜３７のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３９】
前記セッション識別子は、前記セッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項３８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項４０】
前記電子デバイスは、キャスティングデバイスである、請求項３６〜３９のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項４１】
前記アプリケーションは、ゲームアプリケーションである、請求項３６〜４０のいずれか１項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項４２】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、前記１つ以上のプログラムは、請求項２４〜２９のいずれか１項に記載の方法を実行するための命令を含む、電子デバイス。
【請求項４３】
１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、請求項２４〜２９のいずれか１項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本明細書は、全体的に、コンピュータ技術に関し、ゲームセッションへのユーザの参加を容易にするための方法およびシステムを含むが、これに限定されない。
【背景技術】
【０００２】
背景
Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴ（登録商標）およびＡｐｐｌｅ  Ｉｎｃ．によるＡＰＰＬＥ  ＴＶ（登録商標）などのメディアプレーヤーデバイスは、いろいろなメディアおよびエンターテイメントアプリケーションをサポートできる。複数のユーザからなるグループは、メディアプレーヤーデバイスが備え付けられた一か所に集まって、これらのアプリケーションから得られるエンターテインメントを一緒に楽しむことができる。
【０００３】
メディアプレーヤーデバイスがサポートするアプリケーションの種類の１つに、ゲームアプリケーションがある。多くのゲームは、複数のプレーヤーによってプレーするときが一番楽しいが、メディアプレーヤーデバイス上で実行するゲームアプリケーションまたはメディアプレーヤーデバイスを使用するゲームアプリケーションにおけるマルチプレーヤーサポートは、いくつかの問題を呈する。たとえば、ゲームアプリケーションのファイルサイズがかなり大きくなる傾向があり、プレーヤーになりそうな人の各々に全ゲームアプリケーションファイルをダウンロードさせることは、多くの時間およびデータ許容量を消費し得るため、難しいだろう。別の例として、ユーザは、ゲームの主要なゲームアプリケーションと、ゲームに固有のリモコンまたはコントローラアプリケーションとを別々にダウンロードする必要があることについて混乱してしまうだろう。これらの非能率な点は、マルチプレーヤーゲームをするコストを上げてしまい、たとえば、一か所に集まった複数のユーザによる自発的なゲームプレーには、並外れて高いだろう。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本明細書に記載の実装形態は、１人のユーザが自身のデバイス（たとえば、スマートフォン）上にゲームアプリケーションを有するが、その他のプレーヤーはそうではない可能性がある場合のマルチプレーヤーゲームセッションを容易にすることを対象とする。
【０００５】
いくつかの実装形態において、デバイスを制御できるまたはウェブを介して配布され得、且つ、ウェブブラウザに統合できる、カスタム可能なフレームワークを有する標準コントローラがアプリケーションにおいて提示される。他のプレーヤーがセッション固有のショートリンクに行くまたはメッセージ（たとえば、ショートリンク付きのテキストメッセージ）を受信することのいずれかによって、彼らにゲーム体験を促してもよい。複数のゲーム間で動作するアプリケーションを有するユーザに、ゲーム固有のカスタマイズが適宜なされたコントローラが提示される。コントローラは、標準キーの領域を含んでもよく、両手または片手用の制御部についての標準キーの概念、または、開発者が第２の画面対話モデルを利用するために使用できる領域を有する不可視の制御部についての概念を含んでもよい。
【０００６】
記載の実装形態によって、ゲーム開発者用のインフラストラクチャを標準化しつつ、キャスティングデバイスアプリケーションのユーザが、高品質のゲームコントローラを手にすることができる。記載の実装形態は、マルチプレーヤーゲームセッションをセットアップすることをより効率的なものにすることによって、マルチプレーヤーゲームを容易にするという利点がある。
【０００７】
いくつかの実装形態によると、１つ以上のプロセッサと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、方法が実行される。方法は、アプリケーションを実行するステップと、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間でセッションを確立するステップを含み、セッションからの出力は、実行中のアプリケーションからの出力を含み、さらに、アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスの第２のユーザに、セッションに対応付けられたセッション識別子を提示するステップを含み、セッション識別子は、第２の電子デバイスがセッションに加わることを容易にし、１つ以上の第２の電子デバイスの第２のユーザがセッションと対話することを可能にするための、１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。
【０００８】
いくつかの実装形態によると、１つ以上のプロセッサと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、方法が実行される。方法は、第２の電子デバイス上で実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するステップと、受信した命令に応じて、セッションを確立するステップと、セッションに対応付けられたセッション識別子を受信するステップとを含み、セッション識別子は、１つ以上の第３の電子デバイスがセッションに加わることを容易にし、第３の電子デバイスの１人以上のユーザがセッションと対話することを可能にするために、１つ以上の第３の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、表示するために、セッション識別子を出力装置に送信するステップを含む。
【０００９】
いくつかの実装形態によると、電子デバイスは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行される１つ以上のプログラムを格納するメモリとを備える。１つ以上のプログラムは、上述の方法のうちのいずれかを実行するための命令を含む。いくつかの実装形態によると、非一時的なコンピュータ読み取り可能な記憶媒体は、１つ以上のプログラムを格納し、１つ以上のプログラムは、命令を含み、命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに、上述の方法のうちのいずれかを実行させる。
【図面の簡単な説明】
【００１０】
【図１Ａ】いくつかの実装形態に係る、例示的なゲーム環境の図である。
【図１Ｂ】いくつかの実装形態に係る、別の例示的なゲーム環境の図である。
【図２Ａ】いくつかの実装形態に係る、例示的なクライアントデバイスを示すブロック図である。
【図２Ｂ】いくつかの実装形態に係る、例示的なクライアントデバイスを示すブロック図である。
【図３】いくつかの実装形態に係る、例示的なメディアデバイスを示すブロック図である。
【図４】いくつかの実装形態に係る、例示的なサーバを示すブロック図である。
【図５Ａ】いくつかの実装形態に係る、例示的なユーザインタフェースを示す図である。
【図５Ｂ】いくつかの実装形態に係る、例示的なユーザインタフェースを示す図である。
【図５Ｃ】いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。
【図５Ｄ】いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。
【図５Ｅ】いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。
【図５Ｆ】いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。
【図６】いくつかの実装形態に係る、アプリケーションセッションを確立するための例示的な方法を説明するフロー図である。
【図７】いくつかの実装形態に係る、セッション識別子を提示するための例示的な方法を説明するフロー図である。
【発明を実施するための形態】
【００１１】
図面の全体にわたって、同じ参照番号は、対応する部分を指す。
実装形態の説明
本明細書に記載のさまざまな実装形態において、ゲーム環境は、出力装置に接続されたメディアデバイス（たとえば、キャスティングデバイス）と、メディアデバイスに通信可能に接続された第１のクライアントデバイスとを含む。アプリケーション（たとえば、ゲームアプリケーション）は、第１のクライアントデバイス上で実行される。実行中のアプリケーションと、リモートサーバおよびメディアデバイスとの間でセッションが確立される。セッションの識別子（たとえば、リンク）が、１つ以上の第２のクライアントデバイスのユーザに提示されてもよく、当該ユーザは、セッション識別子を使用してセッションに加わることができる。また、セッションおよびセッション識別子は、第２のクライアントデバイスでのセッションとの対話を容易にするコントローラ構成に対応付けられる。このように、対話型アプリケーションに対応付けられたセッションは、ホストクライアントで開始されてもよく、アプリケーションがインストールされていないクライアントを含む追加のクライアントが、より効率的な方法でセッションに招待または載せられもよい。これに加えて、このように、セッションのための共通の入力インタフェースが、セッション中のホストクライアントおよび追加のクライアントに提供されてもよい。
【００１２】
図１Ａは、いくつかの実装形態に係る、例示的なゲーム環境１００である。ゲーム環境１００は、ローカルネットワーク１１０上に、クライアントデバイス１０２と、メディアデバイス１０６とを含む。いくつかの実装形態において、ローカルネットワーク１１０は、有線（たとえば、イーサネット（登録商標））および／または無線（たとえば、Ｗｉ−Ｆｉ）通信を使用して、１つ以上のデバイスをネットワーク接続する。たとえば、ローカルネットワーク１１０は、１つ以上のデバイスをローカルネットワーク１１０にネットワーク接続するルータ装置を含む。ローカルネットワーク１１０は、通信ネットワーク１１２（たとえば、ワイドエリアネットワーク、インターネット）に通信可能に接続される。
【００１３】
クライアントデバイス１０２とメディアデバイス１０６とは、通信可能に接続される。クライアントデバイス１０２およびメディアデバイス１０６は、互いに、ローカルネットワーク１１０を通して、および／または直接（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはその他の無線通信を介して）通信してもよい。いくつかの実装形態において、クライアントデバイス１０２とメディアデバイス１０６とは互いにローカルである（たとえば、同じ部屋にある、同じ家にある、など）。メディアデバイス１０６は、ビジュアルコンテンツおよび／または音声コンテンツを出力できる１つ以上の出力装置１０８（たとえば、テレビ、ディスプレイモニタ、音響システム、スピーカーなど）に接続される。メディアデバイス１０６は、出力装置（複数可）１０８にコンテンツを出力するように構成される。いくつかの実装形態において、メディアデバイス１０６は、キャスティングデバイス（たとえば、Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴ（登録商標））、またはキャスト機能を他の方法で含むデバイスである。
【００１４】
クライアントデバイス１０２は、１つ以上のアプリケーションを含み、それらを実行できるデバイスである。いくつかの実装形態において、クライアントデバイス１０２は、スマートフォン、タブレットデバイス、ラップトップもしくはノートブックコンピュータ、デスクトップコンピュータ、またはマルチメディアデバイスである。
【００１５】
いくつかの実装形態において、クライアントデバイス１０２は、メディアデバイス１０６と連動して動作するように構成された１つ以上のアプリケーションを含む。いくつかの実装形態において、アプリケーションは、クライアントデバイス１０２をメディアデバイス１０６とペアリングさせ、メディアデバイス１０６の環境設定を行うためのメディアデバイスアプリケーションを含む。また、アプリケーションは、関連するコンテンツをメディアデバイス１０６にキャストできる１つ以上のアプリケーションを含む。いくつかの実装形態において、アプリケーションは、メディアデバイス１０６にデータ／コンテンツを（たとえば、ローカルネットワーク１１０を介して）直接送ることにより、および／または、メディアデバイス１０６がデータ／コンテンツをストリーム受信または受信できるリモート・ロケーション（たとえば、Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（「ＵＲＬ」）または、サーバシステムでのロケーションへの他のリンク）にメディアデバイス１０６を移動させることによって、メディアデバイス１０６にデータおよび／またはコンテンツをキャストする。メディアデバイス１０６は、アプリケーションおよび／またはリモート・ロケーションからデータ／コンテンツを受信し、受信したデータ／コンテンツに対応するビジュアルコンテンツおよび／または音声コンテンツを出力装置１０８に出力する。
【００１６】
ゲーム環境１００において、クライアントデバイス１０２（以下、「ホストクライアント」）のユーザ（以下、「ホストユーザ」）は、ホストクライアント１０２で実行するためのゲームアプリケーション（たとえば、ゲームアプリケーション２２８、図２Ａ）を起動することによって、ゲームを開始できる。ゲームアプリケーションを実行することによって、サーバ１１４と通信し、サーバ１１４でゲームセッション１１６を確立する。また、いくつかの実装形態において、ユーザは、出力するためのゲームセッションに対応付けられたデータを受信するようメディアデバイス１０６に指図するために、ゲームアプリケーションにメディアデバイス１０６と通信するように指示できる。このように、ゲームアプリケーションと、リモートサーバ１１４と、メディアデバイス１０６との間にセッション１１６が確立される。
【００１７】
ホストユーザは、別のプレーヤーをゲームに加わるように招待できる。セッション１１６の識別子が、１つ以上のクライアントデバイス１０４（以下、「プレーヤークライアント（複数可）」）のユーザ（以下、「プレーヤーユーザ（複数可）」）に提示されてもよい。いくつかの実装形態において、セッション識別子は、インターネットリンク（たとえば、ショートＵＲＬ）であるか、インターネットリンクを含む。いくつかの実装形態において、セッション識別子は、メディアデバイス１０６を通して出力装置１０８上に出力される。たとえば、セッション識別子は、メディアデバイス１０６に接続されたディスプレイに表示される。セッション識別子は、メディアデバイス１０６によって、ホストクライアント１０２またはサーバ１１４から受信される。その他のいくつかの実装形態において、セッション識別子は、メッセージに含めて（たとえば、テキストメッセージに含めて）プレーヤークライアント１０４に送られる。いくつかのさらなる実装形態において、セッション識別子は、通知メッセージ（たとえば、スマートフォンの通知）に含めて、プレーヤークライアント１０４上に提示される。たとえば、１つ以上のプレーヤークライアント１０４がホストクライアント１０２のローカルな場所にある（たとえば、同じ部屋にある）と判定された場合、これらのプレーヤークライアント１０４にセッション識別子が送信されてもよい。プレーヤークライアント１０４は、セッションに加わるための招待をプレーヤーユーザに知らせる通知を表示する。プレーヤーユーザが通知を開いた場合、プレーヤーユーザは、通知からセッション識別子に直接アクセスする、またはセッション識別子を表示するアフォーダンスを実行する（たとえば、別のアプリケーションにおいて）ことができる。
【００１８】
セッション識別子は、セッション１１６に加わるために、プレーヤークライアント１０４で使用されてもよい。いくつかの実装形態において、セッション識別子は、セッション１１６のリンク（たとえば、Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（「ＵＲＬ」））である。リンクまたはリンクをコード化したもの（たとえば、ＱＲコード（登録商標））が出力装置１０８によって表示されてもよく、または、メッセージに含めてプレーヤーデバイス１０４に送られてもよい。
【００１９】
プレーヤークライアント１０４でセッション識別子が使用された（たとえば、セッション識別子リンクが実行された）とき、プレーヤークライアント１０４は、セッション１１６に加わるために、サーバ１１４と通信する。プレーヤークライアント１０４がセッション１１６に加わった後、プレーヤーユーザは、ホストユーザと一緒にゲームをすることができる、つまり、セッション１１６の出力に影響を与える入力を行うことができる。
【００２０】
いくつかの実装形態において、プレーヤークライアント１０４がホストクライアント１０２のローカルネットワーク１１０上にすでにある（たとえば、接続１２０を通してローカルネットワークに接続されている）場合、サーバ１１４とプレーヤークライアント１０４との間の通信は、ローカルネットワーク１１０を経由する。プレーヤークライアント１０４がホストクライアント１０２のローカルネットワーク１１０上にない場合、サーバ１１４とプレーヤークライアント１０４との間の通信は、別の接続（たとえば、セルラデータネットワークを通した接続１１８）を経由する。
【００２１】
いくつかの実装形態において、プレーヤークライアント１０４がセッション１１６に加わる処理の一部として、サーバ１１４は、プレーヤークライアント１０４の能力、および／またはサーバ１１４とプレーヤークライアント１０４との間の通信可能な接続の品質を評価する。いくつかの実装形態において、サーバ１１４は、クライアント１０４とサーバ１１４との間のネットワークレイテンシを計測する。計測されたレイテンシが閾値を上回り、より低いレイテンシの接続が利用可能である場合、サーバ１１４は、プレーヤークライアント１０４がより低いレイテンシの接続に変更することを提案する、または、より低いレイテンシの接続にプレーヤークライアント１０４を変更するようにプレーヤークライアント１０４のプレーヤーユーザを招待することができる。たとえば、プレーヤークライアント１０４がセルラ無線接続１１８上にあり、ホストユーザのローカルネットワーク１１０が利用可能である場合、サーバ１１４は、プレーヤークライアント１０４はローカルネットワーク１１０を通じて接続したほうがよいと提案できる。
【００２２】
いくつかの実装形態において、レイテンシの閾値要件は、ゲーム間で異なる。たとえば、より低いレイテンシの接続上で体験するのが一番良いゲーム（たとえば、アクションゲーム）もあれば、レイテンシに関する要求があまり厳しくない他のゲーム（たとえば、オンラインのボードゲームまたはカードゲーム）もあり、サーバ１１４は、これらの異なる要件を考慮して、接続の推奨を行ってもよい。
【００２３】
いくつかの実装形態において、サーバ１１４は、プレーヤークライアント１０４をより低いレイテンシの接続（たとえば、ローカルネットワーク１１０）に招待する、または、より低いレイテンシの接続へのプレーヤークライアント１０４の接続を容易にする。たとえば、サーバ１１４は、ローカルネットワーク１１０へのアクセス認証情報（たとえば、Ｗｉ−Ｆｉユーザ名およびローカルネットワーク１１０のルータのパスワード）を提示できる、または、提示するようにホストクライアント１０２またはメディアデバイス１０６に指図できる。いくつかの実装形態において、アクセス認証情報は、期間限定（たとえば、セッション１１６の期間のみ、当日のみなど）、および／またはセッション限定である。
【００２４】
プレーヤークライアント１０４がセッション１１６に加わることの一部として、サーバ１１４は、プレーヤークライアント１０４と通信し、プレーヤークライアント１０４上にコントローラをセットアップする。いくつかの実装形態において、これは、プレーヤークライアント１０４がコントローラ用に必要なリソースを有するかどうかをサーバ１１４が評価することを含み、評価には、プレーヤークライアント１０４が仮想コントローラを実現するために必要なアプリケーションを有するかどうか、および／またはプレーヤークライアント１０４とサーバ１１４との間の通信可能な接続がゲームセッションにとって適切なレイテンシを有するかどうかを含む（たとえば、上記能力および接続品質評価の一部として）。プレーヤークライアント１０４で利用可能なリソース、接続品質、およびゲームについての要件によっては、コントローラは、プレーヤークライアント１０４において違った形で実現されてもよい。
【００２５】
いくつかの実装形態において、標準コントローラは、ゲームに固有でないまたはゲームに直接対応付けられていない既定のアプリケーション（たとえば、Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴ（登録商標）またはＧＯＯＧＬＥ  ＣＡＳＴなどのキャスティングデバイスアプリケーション、またはその他のメディアデバイスアプリケーション）において実現される、または、プレーヤークライアント１０４のオペレーティングシステムにおいて実現される。たとえば、プレーヤークライアント１０４上のデバイスオペレーティングシステムまたは既定のアプリケーションは、コントローラ・サブモジュールを有してもよい。コントローラ・サブモジュールは、１つ以上の標準コントローラ構成、テンプレートなどを含む。標準コントローラ構成の各々によって、仮想コントローラを実現するためにプレーヤークライアント１０４上の入力装置および／またはセンサを何らかの方法で利用するためにコントローラ・サブモジュールの環境設定を行う。どの標準コントローラ構成を使用するかは、ゲームによって、および／またはプレーヤークライアント１０４の種類によって異なり得る。たとえば、プレーヤークライアント１０４がタッチスクリーンを有するモバイル機器である場合、モバイル機器に表示されてタッチスクリーンを利用する仮想コントローラパッドを実現する、標準コントローラ構成が使用される。仮想コントローラパッドは、仮想ボタン、仮想方向パッド、および／または仮想ジョイスティックを含んでもよい、別の例として、プレーヤークライアント１０４が、物理キーボードを有するラップトップまたはデスクトップコンピュータである場合、物理キーボードのキーをコントローラ機能にマッピングする標準コントローラ構成が使用されてもよい。さらなる例として、センサー（たとえば、加速度計）を備える、プレーヤークライアント１０４の動きを入力として使用するゲーム用のプレーヤークライアント１０４については、タッチスクリーン上に、必要であれば、プレーヤークライアント１０４を１つ以上の仮想ボタンが表示されたモーションコントローラに変える、標準コントローラ構成が使用される。
【００２６】
標準コントローラ構成は、複数のゲームによって使用されてもよく、その標準コントローラ構成を使用する互いに異なるゲーム間で同じである。セッション１１６に加わる処理の一部として、プレーヤークライアント１０４は、どの標準コントローラ構成を使用するかについて指示される。さらに、標準コントローラ構成は、ホストクライアント１０２上で使用されてもよい。
【００２７】
いくつかの実装形態において、ゲームは、コントローラ・サブモジュール上で実装され得る固有のコントローラ構成を有する。ホストクライアント１０２がセッション１０６を開始し、プレーヤークライアント１０４がセッション１１６に加わる処理の一部として、このような構成は、サーバ１１４に格納され、ホストクライアント１０２およびプレーヤークライアント１０４に送信されてもよい。固有の構成は、後で利用するために、ホストクライアント１０２および／またはプレーヤークライアント１０４において格納またはキャッシュされてもよい。固有のコントローラ構成は、コントローラ・サブモジュールに適用されてもよく、コントローラ・サブモジュールは、固有のコントローラ構成にとっての空白のキャンバスとして作用する。いくつかの実装形態において、固有のコントローラ構成は、完全にカスタムされたコントローラ、または標準コントローラとカスタムコントローラもしくはカスタム領域との組み合わせとすることができる。
【００２８】
いくつかの実装形態において、ゲームは、ゲームに対応付けられた固有のアプリケーションを必要とする。たとえば、ゲームは、特にゲームに対応付けられたコントローラアプリケーションを必要としてもよい。
【００２９】
いくつかの実装形態において、プレーヤークライアント１０４は、セッション１１６に加わることの一部として、固有のアプリケーションまたは既定のアプリケーションをダウンロードするよう指図されてもよい。たとえば、プレーヤークライアント１０４が、既定のアプリケーション（コントローラ・サブモジュールを有する）またはゲームに対応付けられた固有のアプリケーションをまだ有しておらず、このようなアプリケーションがプレーに必要である場合、サーバ１１４は、ダウンロードが必要であるというプロンプトをプレーヤーユーザに示し、続行するための許可をプレーヤーユーザに求めるよう、プレーヤークライアント１０４に指示する。
【００３０】
いくつかの実装形態において、ウェブページベースのコントローラインタフェースを用いてゲームをすることができる。たとえば、ゲーム用のコントローラインタフェースがウェブページに埋め込まれていてもよく、ウェブページがプレーヤークライアント１０４（および／またはホストクライアント１０２）上のウェブブラウザにレンダリングされる。次に、プレーヤーユーザは、ウェブページのコントローラインタフェースと対話できる。ウェブページベースの制御インタフェースがセッション１１６用に最適のコントローラである場合、サーバ１１４は、プレーヤークライアント１０４がセッションに加わったときに、制御インタフェースウェブページをプレーヤークライアント１０４に送信する。
【００３１】
いくつかの実装形態において、ゲームセッション１１６にどのコントローラが使用されるかは、ゲームの仕様および／またはクライアント１０２／１０４で利用可能なリソースに基づく。たとえば、ゲーム固有のアプリケーションがダウンロードされることをゲームが必要とする場合、プレーヤークライアント１０４は、アプリケーションの存在についてチェックされ、アプリケーションが存在しない場合、ダウンロードするよう促すプロンプトが送られる。ゲームがゲーム固有のアプリケーションを必要としない代わりに、コントローラ・サブモジュールの標準コントローラ構成またはコントローラテンプレートを利用する場合、プレーヤークライアント１０４は、コントローラ・サブモジュールの存在についてチェックされ、コントローラ・サブモジュールが存在しない場合、ダウンロードするよう促すプロンプトが（たとえば、アプリケーションにおいてまたはオペレーティングシステム更新時に）送られる。コントローラ・サブモジュールが存在する場合、コントローラ構成またはテンプレート（たとえば、ゲーム固有のカスタムテンプレート、どの標準コントローラ構成を使用するかについての指示）がプレーヤークライアント１０４に送信される。さらなる例として、ゲームが、標準コントローラ構成またはウェブページベースのインタフェースのいずれかを使用でき、低レイテンシ制御を必要としない場合、コントローラ・サブモジュールが存在しないのであれば、追加のダウンロードを回避するために、ウェブページベースのインタフェースを使用してもよい。
【００３２】
いくつかの実装形態において、上述したように、プレーヤークライアント１０４とサーバ１１４との間の通信可能な接続の品質がチェックされる。たとえば、レイテンシに関する要件がゲームにあり、セルラデータネットワークを介した接続がその要件を満たさない場合、より高品質の接続（たとえば、ローカルエリアネットワーク接続）に切り替えるよう促すプロンプトが送信されてもよい。たとえば、プレーヤークライアント１０４がセルラデータネットワークを通して接続しており（１１８）、その接続１１８がゲームにとって高すぎるレイテンシを有する場合、プレーヤークライアント１０４をローカルネットワークを通した接続に切り替えるようにプレーヤーユーザを促してもよい。プレーヤークライアント１０４がホストクライアント１０２と同じ場所にある（たとえば、同じ部屋にある）場合、プレーヤークライアント１０４は、ホストクライアント１０２と同じローカルネットワーク１１０に接続できる（１２０）。いくつかの実装形態において、メディアデバイス１０６またはホストクライアント１０２、または、ローカルネットワーク１１０用のルータでさえも、ローカルネットワーク１１０（たとえば、ローカルネットワーク１１のルータのＷｉ−Ｆｉ認証情報）に加わるための認証情報をプレーヤークライアント１０４に定要するよう、サーバ１１４に指示される。これらの認証情報は、たとえば、出力装置１０８上に表示され（プレーヤーユーザが、認証情報を手動で入力する、または認証情報をコード化したコードをスキャンする）、または、プレーヤークライアント１０４に送られてもよい。これらの認証情報は、たとえば、セッションごと、１日、またはセッション限定および／もしくは期間限定など、一時的であってもよい。
【００３３】
プレーヤークライアント１０４がセッション１１６に加わり、適切なコントローラ構成を受信した後、プレーヤーユーザは、プレーヤークライアント１０４上でゲームをして、ゲームセッション１１６からの出力に影響を与えることができる。
【００３４】
図１Ｂは、いくつかの実装形態に係る、別の例示的なゲーム環境１３０を示す図である。多くの点において、ゲーム環境１３０は、ゲーム環境１００と同様である。クライアント１０２と同様に、クライアント１３２は、ホストユーザのホストクライアントである。ゲーム環境１３０では任意であるメディアデバイス１３６は、メディアデバイス１０６と同様である。出力装置１３８は、出力装置１０８と同様である。クライアント（複数可）１０４と同様に、クライアント（複数可）１３４は、プレーヤーユーザ（複数可）のプレーヤークライアント（複数可）である。サーバ１４４は、サーバ１１４と同様であり、ネットワーク１１２と同様である１つ以上の通信ネットワーク１４８を通じて、クライアントデバイスおよびその他のデバイスと通信する。セッション１４６は、セッション１１６と同様であり、ホストクライアント１３２が、まず、サーバ１４４とのセッション１４６を確立し、プレーヤークライアント１３４がセッション１４６に加わる。
【００３５】
ゲーム環境１３０において、ホストクライアント１３２（および、メディアデバイス１３６および出力装置１３８）は、プレーヤークライアント１３４から離れており、プレーヤーユーザは、ホストユーザから離れている。つまり、プレーヤークライアント１３４は、ホストクライアント１３４と同じ場所に（たとえば、同じ部屋、それどころか、同じ建造物に）位置しない。図１Ａの場合のように、ホストクライアント１３２で実行するためのゲームアプリケーション（たとえば、ゲームアプリケーション２２８、図２Ａ）を起動することによって、ゲームが開始されてもよい。ゲームアプリケーションを実行することによって、サーバ１４６とのセッション１４６が確立される。プレーヤークライアント１３４は、セッション１４６に加わるようにメッセージによって招待され、セッションに加わるためのリンクが付いたメッセージがプレーヤークライアント１３４に送られる。セッション１４６に加わるプレーヤークライアント１３４に、適切なコントローラ構成が提供される。また、いくつかの実装形態において、サーバ１４４は、プレーヤークライアント（複数可）１３４がホストクライアント１３２に対してローカルではないと判定し、ホストクライアント１３２のローカルネットワークに接続するための認証情報のプレーヤークライアント（複数可）１３４への提供を促すまたは容易にすることを省いて、その代わりに、必要であれば、利用可能なローカルネットワークに接続するようにプレーヤークライアント（複数可）１３４を促す。
【００３６】
図２Ａは、いくつかの実装形態に係る、ゲーム環境１００の例示的なホストクライアント１０２を示すブロック図である。クライアントデバイス１０２として、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、およびウェアラブルパーソナルデバイスなどがあるが、これらに限定されない。クライアントデバイス１０２は、通常、１つ以上の処理装置（ＣＰＵ）２０２と、１つ以上のネットワークインタフェース２０４と、メモリ２０６と、これらのコンポーネント（チップセットと呼ばれることがある）を相互に接続するための１つ以上の通信バス２０８とを備える。クライアントデバイス１０２は、キーボード、マウス、ボイスコマンド入力部もしくはマイクロホン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする１つ以上の入力装置２１０を含む。さらに、クライアントデバイス１０２のうちのいくつかは、キーボードを補助または置き換えるために、マイクロホンおよび音声認識、またはカメラおよびジェスチャー認識を使用する。いくつかの実装形態において、クライアントデバイス１０２は、たとえば、電子デバイス上にプリントされた図形シリーズコードを撮影するための１つ以上のカメラ、スキャナ、または光センサ部を備える。また、クライアントデバイス１０２は、１つ以上のスピーカーおよび／または１つ以上の表示装置を含む、ユーザインタフェースの提示を可能にし、コンテンツを表示する、１つ以上の出力装置２１２を備える。必要であれば、クライアントデバイス１０２は、クライアントデバイス１０２の位置を特定するための、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓａｔｅｌｌｉｔｅ）またはその他の地理的位置受信機など、位置検出デバイス２１４を備える。また、クライアントデバイス１０２は、メディアデバイス１０６の近接度および／またはプレーヤークライアント１０４の近接度を判定するための近接度検出デバイス２１５、たとえば、ＩＲセンサを備えてもよい。また、クライアントデバイス１０２は、入力として使用され得るクライアントデバイス１０２の動き、向き、およびその他のパラメータを検知するための１つ以上のセンサ２１３（たとえば、加速度計、ジャイロスコープなど）を備えてもよい。
【００３７】
メモリ２０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ２０６は、必要であれば、１つ以上の処理装置２０２から離れて位置する１つ以上の記憶装置を含む。メモリ２０６、またはメモリ２０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ２０６、またはメモリ２０６の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
【００３８】
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム２１６。
【００３９】
●１つ以上のネットワークインタフェース２０４（有線または無線）およびローカルネットワーク１１０、ならびに、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つ以上のネットワーク１１２を介してクライアントデバイス１０２をその他のデバイス（たとえば、サーバシステム１１４、メディアデバイス１０６、およびプレーヤークライアント１０４）に接続するためのネットワーク通信モジュール２１８。
【００４０】
●１つ以上の出力装置２１２（たとえば、ディスプレイ、スピーカーなど）を介してクライアントデバイス１０２で情報の提示を可能にするためのユーザインタフェースモジュール２２０（たとえば、アプリケーション、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに／またはゲーム、音声および／もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインタフェース）。
【００４１】
●１つ以上の入力装置２１０のうちの１つから１つ以上のユーザ入力または対話を検出するための、および検出された入力または対話を解釈するための入力処理モジュール２２２。
【００４２】
●セッション１１６に加わるためのウェブインタフェースを含む、ウェブサイトおよびそのウェブページを移動、要求（たとえば、ＨＴＴＰを介して）、および表示するためのウェブブラウザ・モジュール２２４。
【００４３】
●メディアデバイス１０６と対話するためのメディアデバイスアプリケーション２２６。対話することは、メディアデバイス１０６に対応付けられたユーザアカウントにログインすることと、ユーザアカウントに対応付けられている場合、メディアデバイス１０６を制御することと、メディアデバイス１０６に対応付けられた設定およびデータを編集および見直すこととを含む。
【００４４】
●クライアントデバイス１０２上にゲーム（複数可）を提供するためのゲームアプリケーション（複数可）２２８。提供することは、対応するゲームプレーを容易にすることと、別のプレーヤーの招待を容易にすることとを含む。
【００４５】
●ゲームアプリケーション（複数可）２２８にゲームプレー入力インタフェースを提供するためのゲームコントローラモジュール２３０。
【００４６】
●サーバ１１４、ならびにその他のコンテンツのホストおよびその他のプロバイダからデータ（たとえば、ゲームコントローラ構成４３８（図４）、ゲームアプリケーション２２８およびその他のアプリケーション、モジュール、アプリケーション、およびメモリ２０６内のデータに対するアップデート）をダウンロードするためのデータダウンロードモジュール２３１。
【００４７】
●少なくとも以下を含む、ゲームアプリケーション２２８およびその他のアプリケーション／モジュールに対応付けられたデータを格納するクライアントデバイスデータ２３２。
【００４８】
○共通のデバイス設定（たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など）を含む、クライアントデバイス１０２自体に対応付けられた情報を格納するためのクライアントデバイス設定２３４。
【００４９】
○アカウントアクセス情報およびデバイス設定に関する情報（たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など）のうちの１つ以上を含む、メディアデバイスアプリケーション２２６のユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定２３６。
【００５０】
○アカウントアクセス情報、ゲーム内のユーザ設定、ゲームプレー履歴データ、および他のプレーヤーについての情報、のうちの１つ以上を含む、ゲームアプリケーション（複数可）２２８のユーザアカウントに対応付けられた情報を格納するためのゲームアプリケーション（複数可）設定２３８。
【００５１】
○ゲームアプリケーション（複数可）２２８用のゲームコントローラモジュール２３０の構成（たとえば、ゲームコントローラ構成４３８から受信した構成、図４）に対応付けられた情報を格納するためのゲームコントローラ構成（複数可）２４０。
【００５２】
○クライアントデバイス１０２、メディアデバイス１０６、およびプレーヤークライアント（複数可）１０４のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置／近接度データ２４２。
【００５３】
いくつかの実装形態において、ゲームコントローラモジュール２３０は、メモリ２０６内のメディアデバイスアプリケーション２２６または別のアプリケーションの一部（たとえば、サブモジュール）である。その他のいくつかの実装形態において、ゲームコントローラモジュール２３０は、オペレーティングシステム２１６の一部である。いくつかのさらなる実装形態において、ゲームコントローラモジュール２３０は、別個のモジュールまたはアプリケーションである。
【００５４】
上記構成要素の各々は、前述の記憶装置のうちの１つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（つまり、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ２０６は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ２０６は、必要であれば、上に記載されない追加のモジュールおよびデータ構造を格納する。
【００５５】
図２Ｂは、いくつかの実装形態に係る、ゲーム環境１００の例示的なプレーヤークライアント１０４を示すブロック図である。プレーヤークライアント１０４は、ホストクライアント１０２と同様であり、プレーヤークライアント１０４は、ホストクライアント１０２と同様のコンポ―ネント、モジュール、およびデータを有する。しかしながら、プレーヤークライアント１０４では、メディアデバイスアプリケーション２２６（それに応じて、メディアデバイス設定２３６）およびゲームアプリケーション２２８（それに応じて、ゲームアプリケーション設定２３８）は、任意である。プレーヤークライアント１０４が加わるように招待される特定のゲームによっては、メディアデバイスアプリケーション２２６およびゲームアプリケーション２２８は、プレーに必要ではない。これらのアプリケーションのうちのいずれかがゲームをするために必要であり（たとえば、ゲームがメディアデバイスアプリケーション２２６内のゲームコントローラモジュール２３０を使用する）、アプリケーションがメモリ２０６にない場合、プレーヤークライアント１０４は、アプリケーションをダウンロードするように促されてもよい。
【００５６】
図３は、いくつかの実装形態に係る、ゲーム環境１００の例示的なメディアデバイス１０６を示すブロック図である。メディアデバイス１０６は、通常、１つ以上の処理装置（ＣＰＵ）３０２と、１つ以上のネットワークインタフェース３０４と、メモリ３０６と、これらのコンポーネント（チップセットと呼ばれることがある）を相互に接続するための１つ以上の通信バス３０８とを備える。必要であれば、メディアデバイス１０６は、クライアントデバイス１０２または１０４の近接度を判定するための、ＩＲセンサなどの近接度／位置検出部３１０を備える。
【００５７】
メモリ３０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ３０６は、必要であれば、１つ以上の処理装置３０２から離れて位置する１つ以上の記憶装置を含む。メモリ３０６、またはメモリ３０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ３０６、またはメモリ３０６の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
【００５８】
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム３１６。
【００５９】
●１つ以上の処理装置３０４（有線または無線）、および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ケーブルテレビシステム、衛星テレビシステム、ＩＰＴＶシステムなどの１つ以上のネットワーク１１２を介してメディアデバイス１０６をその他のコンピュータまたはシステム（たとえば、サーバシステム１１４、およびクライアントデバイス１０２））に接続するためのネットワーク通信モジュール３１８。
【００６０】
●１つ以上のコンテンツソース（たとえば、ゲームセッション１１６からの出力のためのサーバ１１４）から受信したコンテンツ信号を復号化し、復号化された信号に含まれるコンテンツを、メディアデバイス１０６に接続された出力装置１０８に出力するためのコンテンツ復号化モジュール３２０。
【００６１】
●近接度検出部３１０によって検出されるまたはサーバシステム１１４によって提供される近接度関連情報に基づいて、クライアントデバイス１０２および／または１０４の近接度を特定するための近接度／位置特定モジュール３２２。
【００６２】
●メディア表示を制御するためのメディア表示モジュール３２４。
●少なくとも以下を含むデータを格納するメディアデバイスデータ３２６。
【００６３】
○アカウントアクセス情報およびデバイス設定に関する情報（たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など）のうちの１つ以上を含む、メディアデバイスアプリケーションのユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定３２８。
【００６４】
○クライアントデバイス１０２および／または１０４、ならびにメディアデバイス１０６、のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置／近接度データ３３０。
【００６５】
上記構成要素の各々は、前述の記憶装置のうちの１つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（つまり、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ３０６は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ３０６は、必要であれば、上に記載されない追加のモジュールおよびデータ構造を格納する。
【００６６】
図４は、いくつかの実装形態に係る、ゲーム環境１００のサーバシステム１１４における例示的なサーバを示すブロック図である。サーバ１１４は、通常、１つ以上の処理装置（ＣＰＵ）４０２と、１つ以上のネットワークインタフェース４０４と、メモリ４０６と、これらのコンポーネント（チップセットと呼ばれることがある）を相互に接続するための１つ以上の通信バス４０８とを備える。サーバ１１４は、必要であれば、キーボード、マウス、ボイスコマンド入力部もしくはマイクロホン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする１つ以上の入力装置４１０を含む。さらに、サーバ１１４は、キーボードを補助または置き換えるために、マイクロホンおよび音声認識、またはカメラおよびジェスチャー認識を使用してもよい。いくつかの実装形態において、サーバ１１４は、必要であれば、たとえば、電子デバイス上にプリントされた図形シリーズコードを撮影するための１つ以上のカメラ、スキャナ、または光センサ部を備える。また、サーバ１１４は、１つ以上のスピーカーおよび／または１つ以上の表示装置を含む、ユーザインタフェースの提示を可能にし、コンテンツを表示する、１つ以上の出力装置４１２を含んでもよい。
【００６７】
メモリ４０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ４０６は、必要であれば、１つ以上の処理装置４０２から離れて位置する１つ以上の記憶装置を含む。メモリ４０６、またはメモリ４０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ４０６、またはメモリ４０６の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
【００６８】
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム４１６。
【００６９】
●１つ以上のネットワークインタフェース４０４（有線または無線）、および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つ以上のネットワーク１１２を介してサーバシステム１１４をその他のデバイス（たとえば、サーバシステム１１４におけるさまざまなサーバ、クライアントデバイス１０２および／または１０４、ならびにメディアデバイス１０８）に接続するためのネットワーク通信モジュール４１８。
【００７０】
●クライアントデバイス１０２および／または１０４で情報の提示を可能にするためのユーザインタフェースモジュール４２０（たとえば、アプリケーション（複数可）、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに／またはゲーム、音声および／もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインタフェース）。
【００７１】
●デバイスプロビジョニング、デバイス制御、およびメディアデバイス（複数可）１０６に対応付けられたユーザアカウント管理のためのサーバ側機能を提供するために実行されるメディアデバイスモジュール４２２（任意）。
【００７２】
●クライアントデバイス１０２および／または１０４ならびにメディアデバイス１０６、のうちのいずれかの位置情報に基づいて、メディアデバイス１０６に対するクライアントデバイス１０２および／または１０４の近接度を特定するための近接度／位置特定モジュール４２８。
【００７３】
●ゲーム（たとえば、ゲームアプリケーション（複数可）２２８）に対応付けられたサーバ側機能を提供するためのゲームサーバモジュール４２６。提供することは、ゲームセッション４４０をセットアップすることと、ゲーム状態データおよびその他のゲーム関連データを格納することと、クライアントデバイス１０２および１０４からのゲームプレー入力を処理することと、ゲームプレー出力をレンダリングすることとを含むが、これらに限定されない。
【００７４】
●クライアントデバイス１０２および／または１０４のデバイス機能およびネットワーク機能を評価するためのデバイス／ネットワーク評価モジュール４２８。評価することは、クライアントデバイス１０２／１０４への接続のネットワーク帯域幅を評価することと、クライアントデバイス１０２／１０４がゲームをするのに必要なモジュールまたはアプリケーションを有するかどうかを評価することとを含むが、これらに限定されない。
【００７５】
●クライアントデバイス１０２／１０４にデータ（たとえば、ゲームコントローラ構成４３８、ソフトウェア更新など）を提供するためのデータ送信モジュール４２９。
【００７６】
●サーバシステムデータ４３０は、以下を含む。
○共通のデバイス設定（たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など）を含む、クライアントデバイス１０２および１０４に対応付けられた情報を格納するためのクライアントデバイス設定４３２。
【００７７】
○アカウントアクセス情報およびデバイス設定に関する情報（たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など）のうちの１つ以上を含む、メディアデバイスアプリケーション４２２のユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定４３４（任意）。
【００７８】
○クライアントデバイス１０２および／または１０４、ならびにメディアデバイス１０６、のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置／近接度データ４３６。
【００７９】
○さまざまなゲーム用のコントローラ構成を格納するためのゲームコントローラ構成４３８。
【００８０】
○たとえば、第１のゲームセッション用のデータ４４０−１および第２のゲームセッション用のデータ４４０−２を含む、ゲームセッションに対応付けられたデータ（たとえば、ゲーム状態データ、その他のゲーム関連データ）を格納するためのゲームセッションデータ４４０。
【００８１】
上記構成要素の各々は、前述の記憶装置のうちの１つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（つまり、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ４０６は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ４０６は、必要であれば、上に記載されない追加のモジュールおよびデータ構造を格納する。
【００８２】
図５Ａ〜図５Ｂは、いくつかの実装形態に係る、プレーヤーをゲームセッションに招待するための例示的なユーザインタフェースを示す図である。図５Ａは、ホストクライアント（たとえば、クライアントデバイス１０２）に表示されたユーザインタフェース５００を示す図である。いくつかの実装形態において、ユーザインタフェース５００は、ゲームアプリケーション２２８のユーザインタフェースである。ユーザインタフェース５００は、ホストユーザによる、１つ以上のプレーヤーユーザのゲームセッションへの招待を容易にする。ユーザインタフェース５００は、ゲームセッションに対応付けられたリンク（たとえば、ショートリンク５１２、図５Ｂ、ショートリンクをＱＲコードにコード化したもの）をメディアデバイス（たとえば、メディアデバイス１０６）に送らせるためのアフォーダンス５０２を含む。次に、メディアデバイスは、表示するために、リンクを出力装置（たとえば、出力装置１０８）に出力する。また、ユーザインタフェース５００は、ホストユーザがゲームセッションに招待したいプレーヤーユーザのプレーヤークライアント１０４に、ゲームセッションに対応付けられたリンクをメッセージ（たとえば、テキストメッセージ）に含めて送信するためのアフォーダンス５０４を含む。ホストユーザは、状況に応じて、プレーヤーユーザを招待するためのアフォーダンス５０２または５０４のいずれかを選択してもよい。たとえば、プレーヤーユーザがホストユーザと同じ部屋にいる場合、ホストユーザは、プレーヤーユーザが自身のプレーヤークライアント１０４に入力（たとえば、仮想キーボードを用いて入力）できるように、ゲームセッションリンクを表示させるためのアフォーダンス５０２を選択してもよい。プレーヤーユーザがホストユーザから離れている場合、または、リンクを入力することが不便である場合、リンクは、メッセージに含めてプレーヤークライアント（複数可）１０４に送られてもよい。
【００８３】
図５Ｂは、メディアデバイス１０６に接続された出力装置１０８（たとえば、テレビ、コンピュータモニタ）に表示されたユーザインタフェース５１０を示す図である。ユーザインタフェース５１０は、表示されるショートリンク５１２を含む。ユーザインタフェース５１０（および、ショートリンク５１２）は、アフォーダンス５０２の実行に応じて表示され、ショートリンク５１２は、メディアデバイス１０６に送信される。メディアデバイス１０６は、ユーザインタフェース５１０を生成し、ショートリンク５１２をユーザインタフェース５１０に挿入し、ショートリンク５１２を含むユーザインタフェース５１０を、表示するために、出力装置１０８に出力する。ショートリンク５１２は、（プレーヤーユーザ（複数可）がプレーヤークライアント（複数可）のウェブブラウザ・モジュールに入力する）テキストリンクとして、また、プレーヤークライアント（複数可）がプレーヤーユーザの指図でスキャンし得るバーコードとして表示されてもよい。
【００８４】
図５Ｃ〜図５Ｆは、いくつかの実装形態に係る、例示的なゲームコントローラ構成を示す図である。図５Ｃは、クライアントデバイス（たとえば、ホストクライアント１０２、プレーヤークライアント１０４）に表示されたコントローラインタフェース５２０を示す図である。コントローラインタフェース５２０は、標準コントローラ領域５２２を含む。標準コントローラ領域５２２は、仮想方向パッド５２４と、仮想ボタン５２６とを含む。コントローラインタフェース５２０では、ユーザは、物理的なゲームコントローラを把持しているかのようにクライアントデバイスを把持し、物理的なゲームコントローラ上の方向パッドおよびボタンを操作しているかのように仮想方向パッド５２４および仮想ボタン５２６と対話する。いくつかの実装形態において、コントローラインタフェース５２０は、ゲームコントローラモジュール２３０に適用可能なそれぞれのゲームコントローラ構成４３８に対応付けられており、複数のゲームによって使用できる標準コントローラインタフェースである。
【００８５】
図５Ｄは、クライアントデバイス（たとえば、ホストクライアント１０２、プレーヤークライアント１０４）に表示されたコントローラインタフェース５３０を示す図である。コントローラインタフェース５３０は、仮想ボタン５３２を含む。ユーザは、手の親指で仮想ボタン５３２を実行させることができ、クライアントデバイスに動きおよび、必要であれば、向きの変化を与える（たとえば、テニスラケットのようにスイングするなど）ことができるように、コントローラインタフェース５３０を表示しているクライアントデバイスを片手に把持する。センサ（複数可）２１３によって検出される動きおよび向きの変化は、ゲームにおける入力として使用されてもよい。いくつかの実装形態において、コントローラインタフェース５３０は、ゲームコントローラモジュール２３０に適用可能な別のそれぞれのゲームコントローラ構成４３８に対応付けられており、デバイスの動きおよび／または向きの変化を入力として利用する複数のゲームによって使用できる、標準コントローラインタフェースである。
【００８６】
図５Ｅは、クライアントデバイス（たとえば、ホストクライアント１０２、プレーヤークライアント１０４）に表示されたコントローラインタフェース５４０を示す図である。コントローラインタフェース５４０は、標準化および／またはカスタマイズされた構成要素を含み得るコントローラ領域５４２を含む。コントローラ領域５４２は、仮想方向パッド５２４および仮想ボタン５２６など、標準化された構成要素を含んでもよい。また、コントローラインタフェース５４０は、それぞれのゲームの指定された構成要素用に確保された、カスタム可能なカスタム領域５４８を含む。いくつかの実装形態において、領域５４２および５４８を含む、コントローラインタフェース５４０の全体は、特定のゲームにカスタム可能である。いくつかの実装形態において、コントローラインタフェース５４０は、ゲームコントローラモジュール２３０に適用可能なさらに別のゲームコントローラ構成４３８にそれぞれ対応付けられており、特定のゲームに固有のカスタムコントローラインタフェースである。サーバ１１４は、構成４３８内に複数の構成を格納してもよい。ここで、複数の構成の各々は、それぞれのゲームに固有のカスタマイズされた構成に相当する。
【００８７】
図５Ｆは、クライアントデバイス（たとえば、ホストクライアント１０２、プレーヤークライアント１０４）に表示されたコントローラインタフェース５６０を示す図である。コントローラインタフェース５６０は、ウェブブラウザ（たとえば、ウェブブラウザ・モジュール２２４）において表示されるゲームビュー５６２を含む。ゲームビュー５６２は、ゲーム制御部５６６（たとえば、仮想ボタン）および、必要であれば、ゲームからのレンダリングされた出力５６４またはその他のコンテンツ（たとえば、二次情報）を含む。いくつかの実装形態において、レイテンシがゲームプレーにあまり強い影響を与えないゲーム用にコントローラインタフェース５６０が使用されてもよい。
【００８８】
図６は、いくつかの実装形態に係る、アプリケーションセッションを確立するための方法６００のフロー図である。方法６００は、１つ以上のプロセッサと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイス（たとえば、ホストクライアント１０２／１３２）で実行されてもよい。いくつかの実装形態において、電子デバイスは、１つ以上のプログラムと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、１つ以上のプログラムは、方法６００を実行するための命令を含む。いくつかの実装形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、命令を含む１つ以上のプログラムを格納する。命令は、１つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに、方法６００を実行させる。
【００８９】
デバイスは、アプリケーションを実行する（６０２）。ホストクライアント１０２／１３２は、アプリケーション（たとえば、ゲームアプリケーション２２８）を実行する。ホストユーザは、プレーヤークライアントがセッションに加わるように招待され得るアプリケーションのためのセッションを開始するために、ホストクライアントにアプリケーションを実行するように指図する。アプリケーションは、対話式のセッション（たとえば、ゲームセッション）内で異なる位置にある複数のクライアントデバイスでの複数のユーザ（たとえば、複数のプレーヤー）による対話（たとえば、ゲームプレー）を容易にするアプリケーション（たとえば、オンラインまたはクラウドベースのマルチプレーヤーゲーム用のアプリケーション）であってもよい。アプリケーション（より具体的には、アプリケーションのそれぞれのセッションに）参加しているデバイスは、ホストクライアント１０２／１３２、および１つ以上のプレーヤークライアント１０４／１３４を含んでもよい。プレーヤークライアント１０４／１３４は、後述するが、セッションに招待されてもよい。
【００９０】
デバイスは、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、実行中のアプリケーションからの出力を含むセッションからの出力を出力装置に送信するメディアデバイスとの間にセッションを確立する（６０４）。セッションからの出力は、実行中のアプリケーションからの出力を含む。ホストクライアント１０２／１３２は、実行中のアプリケーション（たとえば、ゲームアプリケーション２２８）と、サーバ（たとえば、サーバ１１４／１４４）と、メディアデバイス（たとえば、メディアデバイス１０６／１３６）との間にセッション（たとえば、セッション１１６／１４６）を確立する。メディアデバイス１０６／１３６は、セッション内に、アプリケーションからの出力を出力装置１０８／１３８に送信する。サーバ１１４／１４４は、アプリケーションに対応付けられる（たとえば、サーバ１１４／１４４は、ゲームアプリケーション２２８に対応付けられたゲームサーバである）。たとえば、ゲームアプリケーション２２８がホストクライアント１０２／１３２で実行されたとき、ゲームアプリケーション２２８は、ゲームセッションを確立するために、サーバ１１４／１４４と通信する。また、メディアデバイス１０６／１３６をセッションに乗せるために、ゲームアプリケーション２２８は、メディアデバイス１０６／１３６と通信する。メディアデバイス１０６／１３６は、（たとえば、出力装置１０８／１３８での）出力のために、サーバ１１４／１４４がゲームセッションからの出力およびその他のコンテンツを送信する先のデバイスである。
【００９１】
デバイスは、アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示する（６０６）。セッション識別子は、第２の電子デバイスがセッションに加わることを容易にし、１つ以上の第２の電子デバイスのユーザがセッションと対話することを可能にするための、１つ以上の第２の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。たとえば、ホストクライアント１０２／１３２は、アプリケーションがまったくインストールされていないまたはインストールされているが実行中でない１つ以上のプレーヤークライアント１０４／１３４に、セッションのセッション識別子を送信するまたは送信させる。セッション識別子は、まだインストールされていない場合、プレーヤークライアントへのアプリケーションのインストールを容易にすることを含む、プレーヤークライアント１０４／１３４がセッションに加わることを容易にする。また、セッション識別子は、プレーヤーユーザによるセッションとの対話を容易にするためにプレーヤークライアント１０４／１３４が実施するコントローラ構成を含むまたは参照する。たとえば、ホストクライアント１０２／１３２は、ゲームセッションのセッション識別子をサーバ１１４／１４４から取得し、セッション識別子を、プレーヤークライアント１０４／１３４に送信させる、および／またはメディアデバイス１０６／１３６を介して出力装置１０８／１３８で（たとえば、ユーザインタフェース５１０において、図５Ｂ）出力させる。ホストユーザは、セッション識別子を送信するようにホストクライアント１０２／１３２に（たとえば、ユーザインタフェース５００を介して、図５Ａ）指図する、またはセッション識別子を送信させる。セッション識別子は、プレーヤークライアント１０４／１３４においてデバイス上で開かれてもよく、または、出力されたセッション識別子に応じて、プレーヤークライアント１０４／１３４でアプリケーションに入力されてもよい（たとえば、ユーザがセッション識別子をアプリケーションにキー入力する、またはプレーヤークライアント１０４／１３４を用いてセッション識別子のバーコードをスキャンする）。このように、プレーヤークライアント１０４／１３４は、ゲームセッションに加わってもよい。さらに、セッション識別子および／またはゲームセッションよって指定されるコントローラ構成に応じて、プレーヤークライアント（複数可）１０４／１３４は、ゲームセッション用のコントローラインタフェースを実現する。プレーヤークライアント（複数可）１０４／１３４がゲームセッションに加わり、コントローラインタフェースがプレーヤークライアントで実現されると、プレーヤークライアントでのプレーヤーユーザは、ホストクライアントでのホストユーザと一緒にゲームをしてもよい。
【００９２】
いくつかの実装形態において、アプリケーションは、ゲームアプリケーションである。ホストクライアント１０２／１３２上で実行中のアプリケーションは、たとえば、ゲームアプリケーション２２８であってもよい。セッション１１６／１４６は、ゲームセッションであり、セッションからの出力は、ホストクライアントおよびプレーヤークライアント（複数可）でゲームをすることから得られるグラフィック出力を含む。セッションからの出力は、メディアデバイス１０６／１３６を介して出力装置１０８／１３８で出力されてもよい。
【００９３】
いくつかの実装形態において、セッション識別子は、セッション用のＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む。セッション識別子は、セッションに加わるための処理を開始するためにプレーヤークライアント１０４／１３４がウェブブラウザ・モジュール（たとえば、ウェブブラウザ２２４）において実行し得るＵＲＬであってもよい。
【００９４】
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたＵＲＬをコード化したバーコードを含む。セッション用のＵＲＬは、バーコード（たとえば、１次元バーコード、マトリックスバーコード）にコード化されてもよい。プレーヤークライアント１０４／１３４は、セッション識別子ＵＲＬを取得するために、バーコードが表示される間にバーコードをスキャンしてもよい。
【００９５】
いくつかの実装形態において、セッション識別子は、プロンプトまたは通知の形で、第２の電子デバイスで表示される。セッション識別子（たとえば、セッション用のＵＲＬまたはＵＲＬをコード化したバーコード）は、プロンプトまたはアプリ通知の形で表示されてもよい。たとえば、ホストクライアント１０２／１３２は、セッション識別子付きのプロンプトまたは通知が表示されるプレーヤークライアント１０４／１３４に、セッション識別子を送信するまたは送信させる。
【００９６】
いくつかの実装形態において、アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示するステップは、セッション識別子をメディアデバイスに送信するステップを含み、メディアデバイスは、セッション識別子を出力装置に送信するように構成される。ホストクライアント１０２／１３２は、メディアデバイス１０６／１３６にセッション識別子を送信するまたは送信させる。これは、セッション１１６／１４６の一部でもある。メディアデバイス１０６／１３６は、出力のためにセッション識別子を出力装置１０８／１３８に送信する。たとえば、出力装置１０８／１３８は、プレーヤークライアント１０４／１３４が読み取りできるバーコードとして、または、セッションに加わるためにプレーヤークライアント１０４／１３４でのウェブブラウザ・モジュール２２４において開かれ得るＵＲＬリンクとして、セッション識別子を表示する。
【００９７】
いくつかの実装形態において、アプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示するステップは、セッション識別子をメッセージに含めて第２の電子デバイスに送信するステップを含む。ホストクライアント１０２／１３２は、セッション識別子をメッセージ（たとえば、テキストメッセージ、インスタントメッセージ、電子メール）に含めてプレーヤークライアント１０４／１３４に送信するまたは送信させる。たとえば、プレーヤークライアント１０４／１３４は、セッション識別子のＵＲＬリンク付きのメッセージを受信し、セッション識別子のＵＲＬリンクは、セッションに加わるためにプレーヤークライアント１０４／１３４でのウェブブラウザ２２４において開かれてもよい。
【００９８】
図７は、いくつかの実装形態に係る、セッション識別子を提示するための方法７００のフロー図である。方法７００は、１つ以上のプロセッサと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子デバイス（たとえば、メディアデバイス１０６／１３６）で実行されてもよい。いくつかの実装形態において、電子デバイスは、１つ以上のプログラムと、１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを含み、１つ以上のプログラムは、方法７００を実行するための命令を含む。いくつかの実装形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、命令を含む１つ以上のプログラムを含み、命令を含むは、１つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに方法７００を実行させる。
【００９９】
デバイスは、第２の電子デバイス上で実行中のアプリケーション、およびアプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信する（７０２）。メディアデバイス１０６／１３６は、ホストクライアント１０２／１３２上のアプリケーション（たとえば、ゲームアプリケーション２２８）と、サーバ１１４／１４４とのセッション１１６／１４６を確立するために、命令を受信する。命令は、ホストクライアント１０２／１３２またはサーバ１１４／１４４から受信されてもよい。いくつかの実装形態において、ゲームアプリケーション２２８用のゲームセッションにおいて、ゲームセッションからの出力は、ホストクライアントおよびプレーヤークライアントではなく（たとえば、ホストクライアントおよびプレーヤークライアントでのディスプレイが、ホストユーザおよびプレーヤーユーザがゲームをするコントローラインタフェース（たとえば、図５Ｃ〜図５Ｆに示すコントローラインタフェース）を表示すること専用になるように）、１つの出力位置（たとえば、メディアデバイス１０６／１３６を介して出力装置１０８／１３８）で表示される。したがって、メディアデバイス１０６／１３６は、ゲームセッションからの出力用のアウトレットとして、ゲームセッションに加わるように招待される。
【０１００】
デバイスは、受信した命令に応じて、セッションを確立する（７０４）。メディアデバイス１０６／１３６は、ホストクライアント１０２／１３２上のアプリケーション（たとえば、ゲームアプリケーション２２８）、およびサーバ１１４／１４４とのセッション１１６／１４６を確立する、またはそれに加わる。
【０１０１】
デバイスは、セッションに対応付けられたセッション識別子を受信する（７０６）。セッション識別子は、１つ以上の第３の電子デバイスがセッションに加わることを容易にし、第３の電子デバイスの１人以上のユーザがセッションと対話することを可能にするために、１つ以上の第３の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。メディアデバイス１０６／１３６は、ホストクライアント１０２／１３２またはサーバ１１４／１４４から、セッションのためのセッション識別子を受信する。セッション識別子は、１つ以上のプレーヤークライアント１０４／１３４がセッションに加わることを容易にする。また、セッション識別子は、プレーヤークライアント１０４／１３４のプレーヤーユーザがセッションと対話することを可能にするために、セッション内にプレーヤークライアント１０４／１３４で実装されるコントローラ構成を識別または参照する。たとえば、ホストユーザは、セッション識別子をメディアデバイス１０６／１３６に送信させる（たとえば、キャストさせる）よう、ホストクライアント１０２／１３２を（たとえば、ユーザインタフェース５００を介して、図５Ａ）指図してもよい。ホストユーザの指図に応じて、ホストクライアント１０２／１３２は、セッション識別子をメディアデバイス１０６／１３６に送信させる。
【０１０２】
デバイスは、表示するために、セッション識別子を出力装置に送信する（７０８）。メディアデバイス１０６／１３６は、セッション識別子を出力装置１０８／１３８に送信し、出力装置１０８／１３８は、プレーヤークライアント１０４／１３４がプレーヤークライアント１０４／１３４に入力するまたは認識する（たとえば、スキャンする）ために、セッション識別子を表示する。プレーヤーユーザ（複数可）は、セッション識別子をプレーヤークライアント（複数可）１０４／１３４に手動で入力してもよく、または、プレーヤークライアント（複数可）１０４／１３４を用いてセッション識別子をスキャン（たとえば、バーコードスキャンまたは文字認識）することによってセッション識別子を入力してもよい。
【０１０３】
いくつかの実装形態において、デバイスは、セッションからの出力に対応するデータを受信し、出力は、第３の電子デバイスの１人以上のユーザによるセッションとの対話から得られる出力を含み、デバイスは、表示するために、データを出力装置に送信する。メディアデバイス１０６／１３６は、プレーヤークライアント１０４／１３４によるセッションとの対話から得られた出力をセッションから受信する。メディアデバイス１０６／１３６は、セッション出力を出力装置１０８／１３８に送信し、出力装置１０８／１３８は、セッション出力を表示する。
【０１０４】
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたＵＲＬを含む。セッション識別子は、セッションに加わるためにプレーヤークライアント１０４／１３４でのウェブブラウザ・モジュールに入力され得るＵＲＬであってもよい。いくつかの実装形態において、表示されたセッション識別子のＵＲＬは、文字認識によって入力されてもよい（たとえば、プレーヤークライアント１０４／１３４によってＵＲＬテキストが撮影され、ＵＲＬテキストが認識される）。
【０１０５】
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたＵＲＬをコード化したバーコードを含む。セッション識別子のＵＲＬは、バーコード（たとえば、１次元バーコード、マトリックスバーコード）にコード化されてもよい。バーコードは、出力装置１０８／１３８に送信され、出力装置１０８／１３８によって表示される。プレーヤークライアント１０４／１３４は、セッション識別子ＵＲＬを取得するために、バーコードが表示される間にバーコードをスキャンしてもよい。
【０１０６】
いくつかの実装形態において、電子デバイスは、キャスティングデバイスである。メディアデバイス１０６／１３６は、キャスティングデバイス（たとえば、Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴ（登録商標））であってもよい。
【０１０７】
いくつかの実装形態において、アプリケーションは、ゲームアプリケーションである。アプリケーションは、ゲームアプリケーション（たとえば、ゲームアプリケーション２２８）であってもよい。セッション１１６／１４６は、ゲームセッションであり、セッションからの出力は、ホストクライアントおよびプレーヤークライアント（複数可）でゲームをすることから得られるグラフィック出力を含む。
【０１０８】
さまざまな実装形態を詳細に参照し、その例を添付の図面に示した。上記詳細な説明において、本発明および記載の実装形態の十分な理解のため、たくさんの具体的な詳細を記載した。しかしながら、これらの具体的な詳細がなくても、本発明を実施することができる。その他の場合、周知の方法、プロシージャ、コンポ―ネント、および回路は、実装形態の態様を不必要にあいまいにしないように、詳細に説明しなかった。
【０１０９】
さまざまな構成要素を説明するために、用語「第１の」、「第２の」などが本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されるだろう。これらの用語は、１つの構成要素を別の構成要素と区別するために使用されるにすぎない。たとえば、第１のデバイスの名称がすべて矛盾なく変更され、第２のデバイスの名称がすべて矛盾なく変更される場合に限り、説明の意味を変更することなく、第１のデバイスを第２のデバイスと称することができ、同様に、第２のデバイスを第１のデバイスと称することができる。第１のデバイスおよび第２のデバイスは、両方ともデバイスであるが、同じデバイスではない。
【０１１０】
本明細書において使用される用語は、特定の実装形態を説明するためだけのものであり、特許請求の範囲を限定することを意図していない。実装形態および添付の請求の範囲の説明において使用される単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかに他を示さない限り、複数形も含むことを意図する。本明細書において使用される用語「および／または（ａｎｄ／ｏｒ）」は、関連する記載された項目のうちの１つ以上のいずれか、およびすべての考えられる組み合わせを指し、それらを包含すると理解されるだろう。用語「備える／含む（ｃｏｍｐｒｉｓｅｓ）」および／または「備える／含む（ｃｏｍｐｒｉｓｉｎｇ）」は、本明細書において使用されるとき、記載の特徴、整数、ステップ、動作、構成要素、および／またはコンポ―ネントの存在を具体的に挙げるが、１つ以上のその他の特徴、整数、ステップ、動作、構成要素、コンポ―ネント、および／またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
【０１１１】
本明細書で使用するとき、用語「〜である場合（ｉｆ）」は、文脈に応じて、記載の先行条件が真である「ときに（ｗｈｅｎ）」、「すると（ｕｐｏｎ）」、「と判定することに応答して（ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ）」、「という判定に応じて（ｉｎ  ａｃｃｏｒｄａｎｃｅ  ｗｉｔｈ  ａ  ｄｅｔｅｒｍｉｎａｔｉｏｎ）」、または「と検出することに応答して（ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ）」を意味すると解釈され得る。同様に、表現「記載の先行条件が真であると判定された場合（ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ［ｔｈａｔ  ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｐｒｅｃｅｄｅｎｔ  ｉｓ  ｔｒｕｅ］）」、「記載の先行条件が真である場合（ｉｆ［ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｐｒｅｃｅｄｅｎｔ  ｉｓ  ｔｒｕｅ］）」、「記載の先行条件が真であるとき（ｗｈｅｎ［ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｐｒｅｃｅｄｅｎｔ  ｉｓ  ｔｒｕｅ］）」は、文脈に応じて、記載の先行条件が真である「と判定すると（ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ）」、「と判定することに応答して（ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ）」、「という判定に応じて（ｉｎ  ａｃｃｏｒｄａｎｃｅ  ｗｉｔｈ  ａ  ｄｅｔｅｒｍｉｎａｔｉｏｎ）」、「と検出すると（ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ）」、または「と検出することに応答して（ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ）」を意味すると解釈され得る。
【０１１２】
上記の説明は、説明の便宜上、具体的な実装形態を例に記載された。しかしながら、上記例示的説明は、網羅的であったり、開示の厳密な形態に本発明を限定したりすることを意図しない。上記教示に鑑みて、多くの変更例および変形例が可能である。当業者が、考えられる特定の用途に適したさまざまな変更例を用いて、本発明およびさまざまな実装形態を最大限に利用することを可能にするために、実装形態は、本発明の原理およびその実際の適用を最もよく説明するために選択および記載されている。
【図１Ａ】
2019516420.tif 000003
【図１Ｂ】
2019516420.tif 000004
【図２Ａ】
2019516420.tif 000005
【図２Ｂ】
2019516420.tif 000006
【図３】
2019516420.tif 000007
【図４】
2019516420.tif 000008
【図５Ａ】
2019516420.tif 000009
【図５Ｂ】
2019516420.tif 000010
【図５Ｃ】
2019516420.tif 000011
【図５Ｄ】
2019516420.tif 000012
【図５Ｅ】
2019516420.tif 000013
【図５Ｆ】
2019516420.tif 000014
【図６】
2019516420.tif 000015
【図７】
2019516420.tif 000016
【手続補正書】
【提出日】平成30年9月25日(2018.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する第１の電子クライアントデバイスにおいて、
アプリケーションを実行するステップと、
実行中のゲームアプリケーションと、前記ゲームアプリケーションに対応付けられたリモートゲームサーバと、メディアデバイスとの間でゲームセッションを確立するステップを含み、前記第１の電子クライアントデバイスおよび前記メディアデバイスは、ローカルネットワークによって通信可能に接続され、前記リモートゲームサーバおよび前記第１の電子クライアントデバイスは、前記ローカルネットワークとは異なる１つ以上の通信ネットワークを通じて通信し、前記ゲームアプリケーションは、前記メディアデバイスと通信し、前記リモートゲームサーバにおいて前記ゲームセッションを確立するために、前記リモートゲームサーバと通信し、前記メディアデバイスは、前記ゲームセッションからの出力を出力装置に送信し、前記ゲームセッションからの出力は、前記リモートゲームサーバによってレンダリングされた前記ゲームセッションからのゲームプレーコンテンツを含み、さらに、
前記ゲームアプリケーションが実行中でないおよび／またはインストールされていない１つ以上の第２の電子クライアントデバイスのユーザに対して、セッション識別子を提示するステップを含み、前記セッション識別子は、（ｉ）前記ゲームセッションと、(ｉｉ)前記１つ以上の第２の電子クライアントデバイスのユーザが前記ゲームセッションと対話することを可能にするための、前記１つ以上の第２の電子クライアントデバイスの各々の上に実装可能なそれぞれのゲームコントローラ構成を識別する、方法。
【請求項２】
前記セッション識別子は、前記ゲームセッションに対応付けられたＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む、請求項１に記載の方法。
【請求項３】
前記セッション識別子は、前記ゲームセッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項２に記載の方法。
【請求項４】
前記セッション識別子は、前記１つ以上の第２の電子クライアントデバイスにおいて、プロンプトまたは通知の形で表示される、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記アプリケーションが実行中でないおよび／またはインストールされていない前記１つ以上の第２の電子クライアントデバイスのユーザに、前記ゲームセッションに対応付けられたセッション識別子を提示するステップは、
前記セッション識別子を前記メディアデバイスに送信するステップを含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記アプリケーションが実行中でないおよび／またはインストールされていない前記１つ以上の第２の電子クライアントデバイスのユーザに、前記ゲームセッションに対応付けられたセッション識別子を提示するステップは、
前記セッション識別子をメッセージに含めて前記第２の電子クライアントデバイスに送信するステップを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記１つ以上の第２の電子クライアントデバイスは、各々、前記ゲームアプリケーションにゲームプレー入力インタフェースを提供するためのゲームコントローラモジュールを含み、前記セッション識別子によって特定される前記ゲームコントローラ構成は、仮想コントローラを実現するために第２の電子クライアントデバイス上の入力装置および／またはセンサーを利用するために前記ゲームコントローラモジュールの環境設定を行う、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、前記１つ以上のプログラムは、請求項１〜７のいずれか１項に記載の方法を実行するための命令を含む、第１の電子クライアントデバイス。
【請求項９】
１つ以上のプロセッサによって実行可能なプログラムであって、前記プログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する第１の電子クライアントデバイスによって実行されると、前記第１の電子クライアントデバイスに、請求項１〜７のいずれか１項に記載の方法を実行させる、プログラム。
【請求項１０】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを有する電子メディアデバイスにおいて、
第１の電子クライアントデバイスの上で実行中のゲームアプリケーションと、前記ゲームアプリケーションに対応付けられたリモートゲームサーバとのゲームセッションを確立するために、命令を受信するステップを含み、前記第１の電子クライアントデバイスおよび前記電子メディアデバイスは、通信可能に接続され、さらに、
受信した前記命令に応じて、前記ゲームセッションを確立するステップと、
セッション識別子を受信するステップとを含み、前記セッション識別子は、（ｉ）前記ゲームセッションと、（ｉｉ）１つ以上の第２の電子クライアントデバイスのユーザが前記ゲームセッションと対話することを可能にするために、前記１つ以上の第２の電子クライアントデバイスの各々の上で実装可能なそれぞれのゲームコントローラ構成を識別し、さらに、
表示するために、前記セッション識別子を出力装置に送信するステップを含む、方法。
【請求項１１】
前記ゲームセッションからの出力に対応するデータを受信するステップをさらに含み、前記出力は、前記１つ以上の第２の電子デバイスのユーザによる前記ゲームセッションとの対話から得られる、前記リモートゲームサーバによってレンダリングされた前記ゲームセッションからのゲームプレーコンテンツを含み、さらに、
表示するために、前記データを前記出力装置に送信するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記セッション識別子は、前記ゲームセッションに対応付けられたＵＲＬを含む、請求項１０〜１１のいずれか１項に記載の方法。
【請求項１３】
前記セッション識別子は、前記ゲームセッションに対応付けられた前記ＵＲＬをコード化したバーコードを含む、請求項１２に記載の方法。
【請求項１４】
前記電子メディアデバイスは、キャスティングデバイスである、請求項１０〜１３のいずれか１項に記載の方法。
【請求項１５】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行するための１つ以上のプログラムを格納するメモリとを備え、前記１つ以上のプログラムは、請求項１０〜１４のいずれか１項に記載の方法を実行するための命令を含む、電子メディアデバイス。
【請求項１６】
１つ以上のプロセッサによって実行可能なプログラムであって、前記プログラムは、命令を含み、前記命令は、１つ以上のプロセッサを有する電子メディアデバイスによって実行されると、前記電子メディアデバイスに、請求項１０〜１４のいずれか１項に記載の方法を実行させる、プログラム。
【国際調査報告】
2019516420.tif 000017
2019516420.tif 000018
2019516420.tif 000019