(57)【要約】  本明細書に記載の様々な実施態様は、インタラクティブなクラウドゲームのための方法、デバイス、およびシステムを含む。一態様では、プロセッサと、アプリケーションプログラムを格納したメモリとを有するインターフェース装置がクラウドゲームに使われる。インターフェース装置は、インターフェース装置と、ゲームコントローラと、遠隔のゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信モジュールを含む。インターフェース装置は、インターフェース装置に連結または一体化された表示装置の入力部にアプリケーションの出力を行うように構成された出力モジュールをさらに含む。アプリケーションは、ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力をインターフェース装置が処理および表示する第１モードと、インターフェース装置がゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、ゲームサーバからのゲームメディアストリームを表示する第２モードとを実装するように構成される。
2021511919.tif 000002
【特許請求の範囲】
【請求項１】
クラウドゲームのためのインターフェース装置であって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備え、前記１つ以上のプログラムは、アプリケーションを含み、前記インターフェース装置は、さらに、
前記インターフェース装置とゲームコントローラとの間、および、
前記インターフェース装置と前記インターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信モジュールと、
前記インターフェース装置に連結または一体化された表示装置の入力部に前記アプリケーションの出力を行うように構成される出力モジュールとを備え、
前記アプリケーションは、
前記ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を前記インターフェース装置が処理および表示する第１モードを実装し、
前記インターフェース装置が前記ゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、前記ゲームサーバが送信するゲームメディアストリームを表示する第２モードを実装するように構成される、インターフェース装置。
【請求項２】
前記ゲームコントローラは、前記インターフェース装置に近接する、請求項１に記載のインターフェース装置。
【請求項３】
前記アプリケーションは、前記ゲームサーバが送信する前記ゲームメディアストリームをデコードして前記表示装置に出力するようにさらに構成される、先行する請求項のいずれか１項に記載のインターフェース装置。
【請求項４】
前記出力モジュールは、前記インターフェース装置に連結された前記表示装置の入力ポートに前記アプリケーションの出力を送信するように構成される出力ポートを含む、先行する請求項のいずれか１項に記載のインターフェース装置。
【請求項５】
前記インターフェース装置は、前記ゲームコントローラに割り当てられた一意の識別子を用いて、前記ゲームコントローラが送信する前記メッセージを識別する、先行する請求項のいずれか１項に記載のインターフェース装置。
【請求項６】
前記第１モードは、
セッションを確立させる第１要求を前記ゲームコントローラから受け付けることと、
前記ゲームコントローラに対応付けられたユーザの認証情報を前記ゲームコントローラから受信することと、
前記ユーザの認証情報に対応する許可をサーバから取り出すことと、
前記許可に従って、前記ユーザに固有のコンテンツを取り出すこととをさらに含む、先行する請求項のいずれか１項に記載のインターフェース装置。
【請求項７】
前記ユーザに特有のコンテンツは、ゲーム中の前記ユーザを表すアバターを含む、請求項６に記載のインターフェース装置。
【請求項８】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、先行する請求項のいずれか１項に記載のインターフェース装置。
【請求項９】
前記ゲームメディアストリームは、オーディオストリームを含み、前記オーディオストリームは、前記ゲームコントローラに対応付けられた表示装置上に表示するために、前記ゲームサーバによって前記ゲームコントローラのオーディオ入力部に送信される、先行する請求項のいずれか１項に記載のインターフェース装置
【請求項１０】
ゲームコントローラであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備え、前記１つ以上のプログラムは、アプリケーションを含み、前記ゲームコントローラは、さらに、
前記ゲームコントローラとインターフェース装置との間、および、
前記ゲームコントローラと前記ゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信モジュールを備え、
前記アプリケーションは、
前記ゲームコントローラがゲームセットアップコマンドを前記インターフェース装置に送信する第１モードと、
前記ゲームコントローラがゲームプレーコマンドを前記ゲームサーバに送信し、前記ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信する第２モードとを実装するように構成される、ゲームコントローラ。
【請求項１１】
前記ゲームコントローラは、前記ゲームコントローラ上のボタンおよび／またはジョイスティックを用いて、前記セットアップコマンドおよび前記ゲームプレーコマンドを入力する、請求項１０に記載のゲームコントローラ。
【請求項１２】
前記ゲームコントローラは、複数のユーザログイン認証情報を格納し、各認証情報は、各プレーヤーＩＤに対応する、請求項１０または１１に記載のゲームコントローラ。
【請求項１３】
前記ゲームコントローラは、複数のネットワーク認証情報を格納し、各ネットワーク認証情報は、各ゲーミングセッションのために前記ゲームコントローラが使われる各ネットワークに対応する、請求項１０〜１２のいずれか１項に記載のゲームコントローラ。
【請求項１４】
前記ゲームメディアストリームは、オーディオストリームを含み、前記ゲームコントローラは、前記オーディオストリームを受信および表示するためのオーディオデバイスをさらに含む、請求項１０〜１３のいずれか１項に記載のゲームコントローラ。
【請求項１５】
前記ゲームコントローラは、一意の識別子を含む、請求項１０〜１４のいずれか１項に記載のゲームコントローラ。
【請求項１６】
ゲームシステムにおいて実行される方法であって、前記ゲームシステムは、
インターフェース装置と、
ゲームコントローラと、
前記インターフェース装置および前記ゲームコントローラから遠く離れたゲームサーバとを備え、
前記インターフェース装置、前記ゲームコントローラ、および前記ゲームサーバの各々は、１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを含み、
前記方法は、
前記インターフェース装置において、
前記ゲームコントローラからゲームの選択を受け付けるステップと、
前記ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を、第１モードでユーザの介入なしで自動的に処理および表示するステップと、
前記ゲームコントローラからのメッセージの予め定義されたサブセットを、第２モードでユーザの介入なしで自動的に処理および表示し、前記ゲームサーバが送信する前記ゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、
前記表示するステップは、前記インターフェース装置に連結または一体化された表示装置上で表示するステップを含み、
前記ゲームコントローラにおいて、
前記第１モードで、コントローラコマンドを前記インターフェース装置に送信するステップと、
前記第２モードで、ゲームプレーコマンドを前記ゲームサーバに送信し、前記コントローラコマンドの予め定義されたサブセットを前記インターフェース装置に送信するステップとを含み、
前記ゲームサーバにおいて、各ゲームについて、
前記ゲームコントローラから前記ゲームプレーコマンドを受信するステップと、
１つ以上の受信した前記コマンドの各サブセットに従って、前記ゲームのコンテンツの各フレームを描画するステップと、
描画された各フレームを含んだ前記ゲームのゲームメディアストリームを前記インターフェース装置にリアルタイムで送信するステップとを含む、方法。
【請求項１７】
前記ゲームメディアストリームは、オーディオストリームを含み、前記ゲームコントローラは、前記オーディオストリームを受信および表示するためのオーディオデバイスをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記ゲームサーバは、前記ゲームプレーコマンドを受信するためと、前記ゲームメディアストリームを送信するために別個のポートを使う、請求項１６または１７に記載の方法。
【請求項１９】
前記ゲームコントローラは、複数のユーザログイン認証情報を格納し、各認証情報は、各プレーヤーＩＤに対応する、請求項１６〜１８のいずれか１項に記載の方法。
【請求項２０】
前記ゲームコントローラには、一意の識別子が割り当てられ、前記ゲームサーバは、前記一意の識別子に基づいて、前記受信したゲームプレーコマンドを前記ゲームコントローラと対応付ける、請求項１６〜１９のいずれか１項に記載の方法。
【請求項２１】
前記ゲームコントローラには、一意の識別子が割り当てられ、インターフェース装置は、前記一意の識別子に基づいて、前記ゲームコントローラが送信する前記メッセージを識別する、請求項１６〜２０のいずれか１項に記載の方法。
【請求項２２】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、請求項１６〜２１のいずれか１項に記載の方法。
【請求項２３】
前記ゲームコントローラは、複数のユーザログイン認証情報を格納し、各認証情報は、各プレーヤーＩＤに対応する、請求項１６〜２２のいずれか１項に記載の方法。
【請求項２４】
コンピューティングシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結されたメモリとを備え、前記メモリは、前記１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、前記１つ以上のプログラムは、請求項１６〜２３のいずれか１項に記載の方法を実行するための命令を含む、コンピューティングシステム。
【請求項２５】
１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、コンピューティングシステムによって実行されると、前記システムに、請求項１６〜２３のいずれか１項に記載の方法を実行させる命令を含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２６】
ゲーム方法であって、
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する、表示装置に連結または一体化された第１電子機器において、
クラウドゲーミングセッションを起動するための第１のユーザ入力を第２電子機器から受信するステップと、
前記第１のユーザ入力を受信することに応答して、
ゲームサーバ上のゲームサービスに接続するステップと、
前記ユーザに対応付けられたデフォルトのプレーヤーＩＤを、ユーザの介入なしで自動的に識別するステップと、
前記デフォルトのプレーヤーＩＤを使用して、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動するステップとを含み、
前記第１電子機器と前記第２電子機器とは通信可能に接続されている、ゲーム方法。
【請求項２７】
前記第１電子機器は、ゲームインターフェース装置であり、前記第２電子機器は、ゲームコントローラである、請求項２６に記載の方法。
【請求項２８】
前記表示装置は、電源オフ状態であり、前記方法は、
前記第１のユーザ入力を受信することに応答して、
前記表示装置の電源を入れるステップと、
前記第１電子機器に連結される前記表示装置の入力ポートをユーザの介入なしで自動的に選択することによって前記第１電子機器の出力を前記表示装置上に表示させるステップとをさらに含む、請求項２６または２７に記載の方法。
【請求項２９】
前記ユーザによる、前記セッションを終了する要求を、前記第２電子機器から受信するステップと、
前記要求に応答して、
前記クラウドゲーミングセッションをセーブするという指示を受信するステップと、
前記ゲームサービスを終了するステップと、
デフォルトの画面表示を前記表示装置上に表示するステップとをさらに含む、請求項２６〜２８のいずれか１項に記載の方法。
【請求項３０】
前記第１のユーザ入力は、ゲームの選択を含み、前記セッションを起動するステップは、
前記ゲームのゲームメディアストリームをゲームサーバから取得するステップと、
前記ゲームメディアストリームをデコードするステップと、
デコードされた前記ゲームメディアストリームを前記表示装置に出力するステップとをさらに含み、前記ゲームメディアストリームは、前記第２電子機器から前記ゲームサーバに直接送信されるゲーム入力に応答して、前記ゲームサーバによって生成される、請求項２６〜２９のいずれか１項に記載の方法。
【請求項３１】
第３電子機器からペアリング通知を受信するステップと、
前記通知に従って、
前記第３電子機器に各々が対応付けられた複数のプレーヤーＩＤを含んだログイン画面を前記表示装置上に表示するステップと、
前記プレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を前記第３電子機器から受け付けるステップと、
前記第１のプレーヤーＩＤに関連する画面を前記表示装置上に表示するステップと、
前記第２電子機器を前記第３電子機器とリンクさせることによって、前記第２電子機器および前記第３電子機器に、選択された前記ゲームを一緒にプレイさせるステップとを含む、請求項３０に記載の方法。
【請求項３２】
前記第２電子機器は、ゲストデバイスであり、前記第３電子機器は、前記ゲーミングセッションのホストデバイスである、請求項３１に記載の方法。
【請求項３３】
ゲーム方法であって、
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する、表示装置に連結または一体化された第１電子機器において、
クラウドゲーミングセッションを起動するための第１のユーザ入力を第２電子機器から受信するステップを含み、前記第１のユーザ入力は、ゲームの選択を含み、前記ゲーム方法は、さらに、
前記第１のユーザ入力を受信することに応答して、
ゲームサーバ上のゲームサービスに接続するステップと、
複数のプレーヤーＩＤを含んだログイン画面を前記表示装置上にユーザの介入なしで自動的に表示するステップと、
前記複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を前記第２電子機器から受け付けるステップと、
選択された前記第１のプレーヤーＩＤを使用して前記ゲームサービスにログオンするステップと、
前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動し、ゲームプレーを開始するステップとを含み、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動し、ゲームプレーを開始するステップは、
前記ゲームサーバから前記ゲームのゲームメディアストリームを取得するステップと、
前記ゲームメディアストリームをデコードするステップと、
デコードされた前記ゲームメディアストリームを前記表示装置に出力するステップとを含み、前記ゲームメディアストリームは、前記第２電子機器から前記ゲームサーバに直接送信されるゲーム入力に応答して、前記ゲームサーバによって生成され、
前記第１電子機器と前記第２電子機器とは、通信可能に接続されている、ゲーム方法。
【請求項３４】
前記複数のプレーヤーＩＤの各々は、前記第２電子機器の各ユーザに対応する、請求項３３に記載の方法。
【請求項３５】
前記第２電子機器は、複数のユーザログイン認証情報を格納し、各ユーザログイン認証情報は、各プレーヤーＩＤに対応する、請求項３３または３４に記載の方法。
【請求項３６】
前記第１のプレーヤーＩＤの選択は、
前記ゲームインターフェース装置に近接する、前記ユーザに対応付けられた携帯電話、
前記ユーザの音声入力、および
パスワード入力、
のうちの１つ以上を使用して前記ユーザのＩＤを取得するステップと、
取得した前記ユーザＩＤと前記複数の格納されたユーザログイン認証情報と一致を特定するステップと、
前記一致に基づいて、前記第１のプレーヤーＩＤを選択するステップとをさらに含む、請求項３４または３５に記載の方法。
【請求項３７】
前記ゲーミングセッションの間、
前記共通ネットワークを介して第３電子機器を前記第１電子機器に通信可能に連結させるという指示を受信するステップと、
前記第３電子機器を前記第２電子機器とリンクさせる要求を含む第２のログイン画面を前記表示装置上に表示するステップと、
前記要求に対する応答を前記第３電子機器から受信するステップと、
前記応答が承認を示すという判断に従って、
前記第３電子機器を前記第２電子機器とリンクさせることによって、前記第２電子機器および前記第３電子機器に、選択された前記ゲームを一緒にプレイさせるステップとをさらに含む、請求項３３〜３６のいずれか１項に記載の方法。
【請求項３８】
前記第１電子機器は、複数の第１電子機器のうちの第１の第１電子機器であり、前記第１電子機器の各々は、互いに通信可能に連結され、前記第１電子機器の各々は、各表示装置に連結または一体化され、前記方法は、
前記応答が拒否を示すという判断に従って、
前記複数の第１電子機器を前記表示装置上に表示するステップと、
前記複数の第１電子機器のうちの第２の第１電子機器の選択を前記第３電子機器から受け付けるステップとをさらに含む、請求項３７に記載の方法。
【請求項３９】
前記第２電子機器は、前記ゲーミングセッションのホストであり、前記第３電子機器は、前記ゲーミングセッションのゲストである、請求項３７または３８に記載の方法。
【請求項４０】
前記第１電子機器は、キャスティングデバイスであり、前記第２電子機器は、第１ゲームコントローラであり、前記第３電子機器は、第２ゲームコントローラである、請求項３７〜３９のいずれか１項に記載の方法。
【請求項４１】
前記ゲームプレー中、
前記ゲーミングセッションを終了する要求を前記第３電子機器から受け付けるステップと、
前記要求を受け付けることに従って、前記第３電子機器に前記ゲーミングセッションを終了させるステップとをさらに含み、
前記終了させている間、前記第２電子機器から前記ゲームサーバに直接送信された前記ゲーム入力に応答して前記第２電子機器から前記ゲームサーバに直接送信される前記ゲーム入力に応答して、前記ゲームメディアストリームは、前記ゲームサーバによって生成され続ける、請求項３９または４０に記載の方法。
【請求項４２】
前記セッションを終了する第２要求を前記第２電子機器から受け付けるステップと、
受信した前記第２要求に従って、
前記セッションをセーブするという指示を前記ゲームサーバから受信するステップと、
前記ゲームサービスを終了するステップと、
デフォルトの画面表示を前記表示装置上に表示するステップとをさらに含む、請求項４１に記載の方法。
【請求項４３】
前記ゲームサービスを終了するステップは、前記ホストデバイスに対応付けられた前記第１プレーヤーアカウントが前記ゲーミングセッションを終了したおよび／または前記ホストデバイスの電源が切れたという判断に従って行われる、請求項４２に記載の方法。
【請求項４４】
ゲーム方法であって、
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する第２電子機器において、
ゲーミングセッションを起動するための第１入力を複数の第１電子機器に送るステップを含み、前記第２電子機器は、第１電子機器の各々に通信可能に接続され、前記第１電子機器の各々は、各表示装置に連結または一体化され、前記ゲーム方法は、さらに、
前記第１入力に応答して、
前記第１電子機器のうちの第１の第１電子機器に、複数のプレーヤーＩＤを含むログイン画面を、ユーザの介入なしで自動的に第１の表示装置上に表示させるステップと、
前記第１電子機器のうちの第２の第１電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第２の表示装置上に表示させるステップと、
前記第１電子機器のうちの第１の第１電子機器に第２入力を送るステップとを含み、前記第２入力は、前記複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を含み、前記ゲーム方法は、さらに、
前記第２入力に応答して、
前記第１電子機器のうちの第１の第１電子機器上で前記ゲーミングセッションを起動するステップを含む、ゲーム方法。
【請求項４５】
前記第１電子機器の各々は、オーディオインターフェースを含み、前記第１電子機器のうちの第１の第１電子機器に前記ログイン画面を表示させるステップは、
前記第１電子機器の各々に、各オーディオインターフェースを介して前記第２電子機器のユーザからオーディオ入力を受信させるステップと、
受信した前記オーディオ入力に従って、
前記第１電子機器のうちの第１の第１電子機器が前記第２電子機器に最も近接していると判断するステップと、
前記判断に従って、前記第１電子機器のうちの第１の第１電子機器を前記第２電子機器とペアリングさせるステップとをさらに含む、請求項４４に記載の方法。
【請求項４６】
前記第１電子機器のうちの第１の第１電子機器に第３入力を送るステップと、
前記第３入力に応答して、
前記第１電子機器のうちの第１の第１電子機器に、前記複数の第１電子機器に連結または一体化された複数の表示装置を表示させるステップと、
前記第１電子機器のうちの第１の第１電子機器に第４入力を送るステップと、
前記第４入力に応答して、
前記第１電子機器のうちの第１の第１電子機器に、前記ゲーミングセッションを一旦停止させるステップと、
前記第１電子機器のうちの第２の第１電子機器に前記ゲーミングセッションの一旦停止を解除させることによって、前記ゲーミングセッションを前記一旦停止状態から再開するステップとをさらに含み、前記一旦停止させるステップと前記一旦停止を解除させるステップは、前記第４入力に応答して、ユーザの介入なしで同時に実行される、請求項４４または４５に記載の方法。
【請求項４７】
コンピューティングシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結されたメモリとを備え、前記メモリは、前記１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、前記１つ以上のプログラムは、請求項２６〜４６のいずれか１項に記載の方法を実行するための命令を含む、コンピューティングシステム。
【請求項４８】
１つ以上のプログラムを格納した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記１つ以上のプログラムは、コンピューティングシステムによって実行されると、前記システムに請求項２６〜４６のいずれか１項に記載の方法を実行させる命令を含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本願は、全体的に、インタラクティブなクラウドゲームのためのデバイス、システム、および方法を含むコンピュータテクノロジーに関するが、これらに限定されない。
【背景技術】
【０００２】
背景
ゲーム機は、ゲームおよびその他の娯楽に使われる一種のメディア表示装置である。ゲーム機が備えられた１つのスペースにユーザグループが集まり、ゲーム機を使ってストリーム配信される映画を楽しむことができる。ゲームアプリケーションの場合、ゲーム機は、通常は、プレイのためにゲーム機に同時に接続する複数のゲームコントローラ（たとえば、最大５つのゲームコントローラ）をサポートする。しかしながら、ユーザがゲーミングセッションを異なる場所（たとえば、家の中の異なる部屋または友人の家）に移動させようと決めた場合、これらのゲームコントローラおよびゲーム機を個々に電源を落としてセットアップし直さなければならない。さらには、ゲームは、プレイ出来るようになる前にコンソールのハードドライブ上にインストールする必要があるため、ユーザのゲームの選択肢は、いつも限られている。これに加えて、旧ゲーム機は、より新しいゲームが必要とする要求に応えられる処理能力がない可能性があり、ユーザは、ゲーム機を常にアップグレードしなければならない。このように、コンソールベースのゲームは、ユーザにとって面倒であり、時間が掛かり、費用がかかる。
【０００３】
したがって、ユーザが相当な時間や、コストを掛けることなく、難なく高品質のゲーム体験をできる必要がある。また、ユーザは、遊びたいゲームや、一緒にゲームで遊ぶ人の数を自由に選べるべきである。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本明細書に記載の様々な実施態様は、効率のよい持ち運び可能なゲーム体験を可能にするゲームアプリケーションプラットフォームを提供することを対象とする。具体的には、ゲームを利用可能にするソフトウェアをホストするインターフェース装置（たとえば、Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴなどのハードウェアドングル）がクラウドゲームに使われる。インターフェース装置は、ゲームサーバとやり取りしてゲームにアクセスし、インターフェース装置と連結または一体化された表示装置（たとえば、テレビ）上に表示するゲームメディアコンテンツ（たとえば、オーディオおよび／またはビジュアルコンテンツ）をゲームサーバから（たとえば、リアルタイムで）ストリーム配信する。また、インターフェース装置は、ゲームコントローラ（複数可）および／またはオンラインゲームを利用可能にする電子機器（複数可）と同時に通信を行う。
【０００５】
本願のいくつかの実施態様によると、インスタントゲームプレーを提供するクラウド対応のゲームコントローラをゲームに使う。ゲームコントローラは、ローカルネットワーク（たとえば、Ｗｉｆｉ）上でインターフェース装置と通信を行う。ゲームコントローラは、メッセージ（たとえば、ゲームセットアップコマンド）をインターフェース装置に送信する。ゲームプレー中、ゲームコントローラは、ゲーム入力をゲームサーバに直接送信する。したがって、ゲームコントローラは、ゲーム機を必要としない持ち運び可能なスタンドアロンデバイスとして動作し、ある場所から別の場所（たとえば、住居環境、寮、オフィス内、または家と家との間など）への移動を簡単かつ便利にする。
【０００６】
いくつかの実施態様では、ゲームコントローラは、複数のプレーヤー認証情報および／または複数のネットワーク認証情報を格納する。ゲームコントローラは、多くの異なる場所においてマルチプレーヤーゲーム設定で使用できる。
【０００７】
これに加えて、いくつかの実施態様では、インターフェース装置は、複数のゲームコントローラおよび／または同じネットワーク上の複数の電子機器と同時に接続する（たとえば、ペアリングする）。
【０００８】
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラのユーザと（たとえば、セットアップ処理時に）対応付けられるデバイスＩＤ（たとえば、ゲームコントローラＩＤ）および／または、クライアント証明書によって識別される。
【０００９】
いくつかの実施態様では、インターフェース装置は、デバイスＩＤおよび／またはクライアント証明書（たとえば、インターフェース装置のＩＤ）によって識別される。いくつかの実施態様では、ゲームコントローラは、通信可能に接続（たとえば、ペアリング）した各インターフェース装置の識別子を格納する。
【００１０】
いくつかの実施態様では、ゲームコントローラは、世帯で利用される。ゲームコントローラは、セットアップ（たとえば、準備処理）時に、世帯およびそのユーザ（たとえば、世帯の構成員）と対応付けられる。いくつかの実施態様では、クラウドゲームを利用可能にするアプリケーション（たとえば、ＧＯＯＧＬＥ  Ｈｏｍｅアプリ）を利用してゲームコントローラを準備する。いくつかの実施態様では、世帯およびそのユーザは、認証情報によって識別される。認証情報は、ゲームサーバを通して購入したゲームおよびその他の権利にアクセスできるようにするために検証される。
【００１１】
いくつかの実施態様では、ゲームコントローラは、プレーヤーから音声入力（たとえば、コマンド）を受信し、当該音声入力を処理および／または送信する。
【００１２】
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラにプラグ接続されたヘッドセットを含む。オーディオ入力は、（たとえば、ヘッドセットを介して）ゲームコントローラに送られる。
【００１３】
このように、本明細書に開示のインターフェース装置、ゲームコントローラ、およびクラウドゲームサーバの様々な先端技術を組み合わせることによって、一箇所に集まったユーザによるゲームプレーから、異なる会場にいる複数のプレーヤー（たとえば、数百人または数千人）によるオンラインのインタラクティブゲームプレーにゲーム体験を広げることができる。さらには、ユーザは、クラウド−ゲームサービスおよび大量のクラウド管理されたコンテンツライブラリを含むリソース、ならびにリソースの描画、エンコーディング、およびストリーム配信へのアクセス権を有するので、ユーザは、もはや、ゲーム機のストレージおよび処理能力の束縛を受けない。
【００１４】
一態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備えるインターフェース装置（たとえば、ゲームインターフェース装置）を含み、１つ以上のプログラムは、アプリケーション（たとえば、ゲームアプリケーションおよびストリーミングアプリケーション）を含む。インターフェース装置は、インターフェース装置とゲームコントローラとの間、および、インターフェース装置とインターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信モジュールを含む。インターフェース装置は、インターフェース装置に連結または一体化された表示装置の入力部にアプリケーションの出力を行うように構成される出力モジュールをさらに含む。アプリケーションは、ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力をインターフェース装置が処理および表示する第１モード（たとえば、メニューモード）を実装するように構成される。アプリケーション（たとえば、ゲームアプリケーション）は、インターフェース装置がゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、ゲームサーバが送信するゲームメディアストリーム（たとえば、ストリーミングアプリケーション）を表示する第２モード（たとえば、ゲームプレーモード）を実装するようにさらに構成される。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、１つ以上であり得る。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。いくつかの実施態様では、出力モジュールは、インターフェース装置に連結または一体化された表示装置の入力ポートにアプリケーションの出力を行う（たとえば、送信する）ように構成される出力ポートを含む。いくつかの実施態様では、アプリケーションは、ゲームサーバが送信するゲームメディアストリームをデコードして表示装置に出力するようにさらに構成される。いくつかの実施態様では、ゲームメディアストリームは、リアルタイムで表示される。いくつかの実施態様では、ゲーミングセッションのゲームプレー状態を示すためのストリームが、ゲームサーバによって生成される。いくつかの実施態様では、第２モードで、インターフェース装置は、ゲームコントローラからのほとんどのコマンドを無視する（たとえば、ゲームコントローラ上のクイックメニュー押下ボタンからのコマンドのみが、インターフェース装置に送られる）。
【００１５】
別の態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備えるゲームコントローラを含み、１つ以上のプログラムは、アプリケーションを含む。ゲームコントローラは、メッセージおよびメディアストリームを受信および／または送信するゲームコントローラとインターフェース装置との間、および、ゲームコントローラとゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信モジュールを含む。アプリケーションは、ゲームコントローラがゲームセットアップコマンドをインターフェース装置に送信する第１モード（たとえば、メニューモード）を実装するように構成される。アプリケーションは、ゲームコントローラがゲームプレーコマンドをゲームサーバに送信し、ゲームセットアップコマンドの予め定義されたサブセットをインターフェース装置に送信する第２モード（たとえば、ゲームプレーモード）を実装するようにさらに構成される。いくつかの実施態様では、インターフェース装置は、ゲームコントローラに近接する。いくつかの実施態様では、ゲームコントローラおよびインターフェース装置は、同じローカルネットワーク上で接続され、ゲームコントローラは、同じローカルネットワーク上でゲームセットアップコマンドをインターフェース装置に送信する。いくつかの実施態様では、ゲームコントローラは、複数のユーザ認証情報、および複数のネットワーク認証情報を格納する。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、１つ以上であり得る。
【００１６】
一態様では、いくつかの実施態様は、ゲームシステムにおいて実行されるクラウドゲームのための方法を含む。ゲームシステムは、インターフェース装置と、ゲームコントローラと、インターフェース装置およびゲームコントローラから遠く離れたゲームサーバとを備える。インターフェース装置、ゲームコントローラ、およびゲームサーバの各々は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを含む。この方法は、インターフェース装置において、（１）ゲームコントローラからゲームの選択を受け付けるステップと、（２）ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を、第１モード（たとえば、メニューモード）でユーザの介入なしで自動的に処理および表示するステップと、（３）ゲームコントローラからのメッセージの予め定義されたサブセットを、第２モード（たとえば、ゲームプレーモード）でユーザの介入なしで自動的に処理および表示し、ゲームサーバが送信するゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、表示するステップは、インターフェース装置に連結または一体化された表示装置上で表示するステップを含む。また、方法は、ゲームコントローラにおいて、（４）第１モードで、コントローラコマンド（たとえば、ゲームセットアップコマンド）をインターフェース装置に送信するステップと、（５）第２モードで、ゲームプレーコマンドをゲームサーバに送信し、コントローラコマンドの予め定義されたサブセットをインターフェース装置に送信するステップとを含む。方法は、さらに、ゲームサーバにおいて、各ゲームについて、（６）ゲームコントローラからゲームプレーコマンドを受信するステップと、（７）受信したコマンドのうちの１つ以上のコマンドの各サブセットに従って、ゲームのコンテンツの各フレームを描画するステップと、（８）描画された各フレームを含んだゲームのゲームメディアストリームをインターフェース装置にリアルタイムで送信するステップとを含む。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。
【００１７】
一態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する、表示装置（たとえば、テレビ）に連結または一体化された第１電子機器（たとえば、インターフェース装置）において実行されるゲーム方法を含む。この方法は、（１）クラウドゲーミングセッションを起動するための第１のユーザ入力（たとえば、ユーザは、ゲームコントローラ上のボタンを選択する）を第２電子機器（たとえば、ゲームコントローラ）から受信するステップと、第１のユーザ入力を受信することに応答して、（２Ａ）ゲームサーバ上のゲームサービスに接続するステップと、（２Ｂ）ユーザに対応付けられたデフォルトのプレーヤーＩＤ（たとえば、ＩＤは、プレーヤーまたは世帯のアカウントと対応付けられる）を、ユーザの介入なしで自動的に識別するステップと、（２Ｃ）デフォルトのプレーヤーＩＤを使用して、クラウドゲーミングセッションをゲームサーバと連動して起動するステップとを含む。いくつかの実施態様では、第１電子機器および第２電子機器は、互いに近接する。いくつかの実施態様では、第１電子機器および第２電子機器は、通信可能に接続される。いくつかの実施態様では、第１電子機器および第２電子機器は、共通ネットワーク（たとえば、有線またはＷｉｆｉ）上にある。いくつかの実施態様では、第２電子機器は、電源がオンになり、第１の（たとえば、デフォルトの）電子機器と自動的にペアリングしたあと、Ｗｉｆｉネットワークに自動的に接続する。いくつかの実施態様では、ゲームコントローラは、デフォルトゲーマー（たとえば、ユーザ）ＩＤを格納する。
【００１８】
別の態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する、表示装置（たとえば、テレビ）に連結または一体化された第１電子機器（たとえば、インターフェース装置）において実行されるクラウドゲームのための方法を含む。この方法は、（１）受信クラウドゲーミングセッションを起動するための第１のユーザ入力（たとえば、ユーザは、ゲームコントローラ上のボタンを選択する）を第２電子機器（たとえば、ゲームコントローラ）から受信するステップを含み、第１のユーザ入力は、ゲームの選択を含み、ゲーム方法は、さらに、受信した入力に応答して、（２）ゲームサーバ上のゲームサービスに接続するステップと、（３）複数のプレーヤーＩＤ（たとえば、ユーザ／ゲーマー名および／またはプレーヤーを表すアバター）を含んだログイン画面を表示装置上にユーザの介入なしで自動的に表示するステップと、（４）複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を第２電子機器から受け付けるステップと、（５）選択された第１のプレーヤーＩＤを使用してゲームサービスにログオンするステップと、（６）クラウドゲーミングセッションをゲームサーバと連動して起動し、ゲームプレーを開始するステップとを含み、クラウドゲーミングセッションをゲームサーバと連動して起動し、ゲームプレーを開始するステップは、（６Ａ）ゲームサーバからゲームのゲームメディアストリームを取得するステップと、（６Ｂ）ゲームサーバからゲームのゲームメディアストリームを取得するステップと、（６Ｃ）デコードされたゲームメディアストリームを表示装置に出力するステップとを含み、ゲームメディアストリームは、第２電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームサーバによって生成される。いくつかの実施態様では、第１電子機器および第２電子機器は、共通ネットワーク上にある。いくつかの実施態様では、第１電子機器および第２電子機器は、互いにに近接する。いくつかの実施態様では、方法は、選択された第１のプレーヤーＩＤを使ってゲームサービスにログオンする前に、ユーザに（たとえば、音声入力を使って、またはパスワードを入力して）ＩＤを検証するよう要求するセキュリティモードを含む。いくつかの実施態様では、この方法は、少なくとも１つのプレーヤーＩＤを各々が格納する複数の第２電子機器を含む。
【００１９】
さらに別の態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する第２電子機器（たとえば、ゲームコントローラ）において実行されるクラウドゲームのための方法を含む。この方法は、（１）ゲーミングセッションを起動するための第１入力を複数の第１電子機器（たとえば、インターフェース装置）に送るステップを含み、第２電子機器は、第１電子機器の各々に通信可能に接続され、第１電子機器の各々は、各表示装置に連結または一体化され、方法は、さらに、第１入力に応答して、（２）第１電子機器のうちの第１の第１電子機器に、複数のプレーヤーＩＤを含むログイン画面を、ユーザの介入なしで自動的に第１の表示装置上に表示させるステップと、（３）第１電子機器のうちの第２の第１電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第２の表示装置上に表示させるステップと、（４）第１電子機器のうちの第１の第１電子機器に第２入力を送るステップとを含み、第２入力は、複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を含み、方法は、さらに、第２入力に応答して、（５）第１電子機器のうちの第１の第１電子機器上でゲーミングセッションを起動するステップを含む。いくつかの実施態様では、第１電子機器のうちの第１の第１電子機器および第２機器は、同じ敷地内のことなるエリアに位置する（たとえば、住居環境の居間と寝室）。いくつかの実施態様では、第２電子機器のうちの第１の第２電子機器は、デフォルトの第２電子機器である。いくつかの実施態様では、第２電子機器のうちの第１の第２電子機器は、直近に使われたデバイスである。いくつかの実施態様では、第１電子機器の各々、および第２電子機器は、共通ネットワーク上にある。
【００２０】
さらに別の態様では、いくつかの実施態様は、１つ以上のプロセッサと、当該１つ以上のプロセッサに連結されたメモリとを備えるコンピューティングシステムを備え、メモリは、１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、１つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
【００２１】
さらに別の態様では、いくつかの実施態様は、コンピューティングシステムの１つ以上のプロセッサによって実行される１つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体を含み、１つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
【００２２】
その他の実施の形態および利点は、本明細書の説明および図面に照らして、当業者には明らかであろう。
【００２３】
記載の様々な実施態様をより理解するために、下記の図面と連動して以下の実施態様の説明を参照する。図面全体を通して、同様の参照番号は、対応する部分を指す。
【図面の簡単な説明】
【００２４】
【図１Ａ】いくつかの実施態様に係る、例示的なゲーム環境である。
【図１Ｂ】いくつかの実施態様に係る、別の例示的なゲーム環境である。
【図１Ｃ】いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。
【図１Ｄ】いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。
【図２Ａ】ゲームポータルユーザインターフェース（ＵＩ：Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を起動するための例示的な動作シーケンスを示す図である。
【図２Ｂ】ゲームセッションを起動するための例示的な動作シーケンスを示す図である。
【図３】いくつかの実施態様に係る、代表的なゲームコントローラを示すブロック図である。
【図４】いくつかの実施態様に係る、代表的なインターフェース装置を示すブロック図である。
【図５】いくつかの実施態様に係る、代表的なサーバシステムを示すブロック図である。
【図６Ａ】いくつかの実施態様に係る、図３のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【図６Ｂ】いくつかの実施態様に係る、図３のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【図６Ｃ】いくつかの実施態様に係る、図３のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【図７Ａ】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図７Ｂ】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図７Ｃ】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図８Ａ】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。
【図８Ｂ】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。
【図９Ａ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図９Ｂ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図９Ｃ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図９Ｄ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図９Ｅ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図９Ｆ】いくつかの実施態様に係る、２つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【図１０Ａ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの例を示す図である。
【図１０Ｂ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの例を示す図である。
【図１１Ａ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの別の例を示す図である。
【図１１Ｂ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの別の例を示す図である。
【図１１Ｃ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの別の例を示す図である。
【図１１Ｄ】いくつかの実施態様に係る、ゲームコントローラ１０２と２つのインターフェース装置とのやり取りの別の例を示す図である。
【図１２Ａ】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【図１２Ｂ】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【図１２Ｃ】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【図１３Ａ】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【図１３Ｂ】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【図１３Ｃ】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【図１３Ｄ】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【図１３Ｅ】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【図１４Ａ】いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。
【図１４Ｂ】いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。
【発明を実施するための形態】
【００２５】
複数の図面全体を通して、同じ参照番号は、対応する部品を指す。
実施態様の説明
ここで、実施態様を詳細に説明し、その例を添付の図面に示す。以下の詳細な説明において、記載の様々な実施態様の十分な理解のため、多くの具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、記載の様々な実施態様を実施できることは、当業者であれば分かるであろう。その他の場合、周知の方法、プロシージャ、構成要素、およびネットワークについては、実施態様の態様を不必要に曖昧にしないよう、詳細に説明していない。
【００２６】
ＧｏｏｇｌｅのＣＨＲＯＭＥＣＡＳＴデバイスなど、ディスプレイインターフェース装置（ここでは、「インターフェース装置」、「ストリーミングデバイス」、または「キャスティングデバイス」と称する）を使って、連結されたディスプレイにローカルまたは遠隔のメディアソース（インターネットに接続されたメディアサービスまたはローカルなＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）など）からメディアコンテンツをストリーム配信することができる。インターフェース装置は、連結されたディスプレイ上に、インターフェース装置に通信可能に連結されたユーザデバイス上で実行中のアプリケーションからキャストされたユーザインターフェースを表示することができる（たとえば、モバイル機器のユーザは、モバイル機器上で再生中のＹＯＵＴＵＢＥ（登録商標）映像を、連結されたＣＨＲＯＭＥＣＡＳＴデバイスを介して大画面表示にキャストできる、または、ラップトップユーザは、大画面表示にＣＨＲＯＭＥＣＡＳＴデバイスを介してＣＨＲＯＭＥブラウザウィンドウをキャストできる）。これらのインターフェース装置の機能は、ゲームサーバからクラウドゲームのコンテンツを配信するよう、さらに拡張できる。さらに、インターフェース装置は、ユーザ認証情報およびネットワーク認証情報を格納したクラウド対応のゲームコントローラと組み合わせて、効率のよい持ち運び可能なゲーム体験を作り出すことができる。
【００２７】
たとえば、ジュリアの自宅には、それぞれ居間のテレビと寝室のテレビに連結された２つのインターフェース装置がある。ジュリアは、クラウド対応のゲームコントローラを使って、居間のテレビでお気に入りのオンラインゲームをする。ゲーミングセッション中、母親の友人が訪ねてきて、母親と友人は、フットボールの試合を居間のテレビで観戦したいと考えている。ジュリアは、ゲームセッションを一旦停止させて、ゲームコントローラを寝室に持って行く。寝室にあるインターフェース装置が、（たとえば、オーディオおよび／またはその他のキューを使って）ジュリアおよびゲームコントローラの存在を寝室で検出し、寝室のテレビに切り替える。寝室のテレビでは、ジュリアが放置した一旦停止された状態のゲームを表示している画面が表示される。ジュリアは、画面の一旦停止を解除して、ゲームセッションを再開する。ジュリアは、ゲームコントローラを持って友人のブランドンを訪ねる。ブランドンの家では、ブランドンが自宅のＷｉｆｉへの認証情報をジュリアに与える。ジュリアは、ゲームコントローラをブランドンのネットワークに接続して、ゲームコントローラをブランドンのインターフェース装置とペアリングする。ブランドンがジュリアのゲームセッションに参加して、２人はそれぞれのゲームコントローラを使ってゲームで遊ぶ。ジュリアが次回ブランドンを訪ねたとき、彼女のゲームコントローラは、ブランドンのネットワークに自動的に接続する。
【００２８】
図１Ａは、いくつかの実施態様に係る、例示的なゲーム環境１００である。ゲーム環境１００は、ゲームコントローラ１０２と、１つ以上の電子機器１０４と、表示装置１０８に連結されたインターフェース装置１０６とをローカルネットワーク１１０上に備える。いくつかの実施態様では、ローカルネットワーク１１０は、有線（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標））および／またはワイヤレス（たとえば、Ｗｉ−Ｆｉ）通信を使って１つ以上のデバイスとネットワーク接続する。たとえば、ローカルネットワーク１１０は、１つ以上のデバイスをローカルネットワーク１１０にネットワーク接続するルータ装置を含む。ローカルネットワーク１１０は、通信ネットワーク１１２（たとえば、ワイドエリアネットワーク、インターネット）に通信可能に連結されている。
【００２９】
ゲームコントローラ１０２とインターフェース装置１０６とは、通信可能に連結されている。ゲームコントローラ１０２とインターフェース装置１０６は、ローカルネットワーク１１０を通しておよび／または直接（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはその他のワイヤレス通信を介して）互いに通信を行ってもよい。いくつかの実施態様では、ゲームコントローラ１０２とインターフェース装置１０６とは、互いにローカルである（たとえば、同じ部屋にある、同じ家にあるなど）。インターフェース装置１０６は、ビジュアルコンテンツおよび／または音声コンテンツを出力できる１つ以上の表示装置１０８に連結されている（たとえば、表示装置１０８は、テレビ、ディスプレイモニタ、タブレット端末、表示画面付きのコンピュータ／ラップトップ、音響システム、スピーカーなどを含む）。インターフェース装置１０６は、表示装置（複数可）１０８にコンテンツを出力するように構成される。
【００３０】
ゲームコントローラ１０２は、１つ以上のアプリケーションを含み、これらを実行できる。いくつかの実施態様では、ゲームコントローラ１０２は、インターフェース装置１０６と連動して動作するように構成される１つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、インターフェース装置アプリケーションと、ゲームアプリケーションとを含む。インターフェース装置アプリケーションは、ゲームコントローラ１０２をインターフェース装置１０６とペアリングするため、およびインターフェース装置１０６を構成するために使われる。
【００３１】
いくつかの実施態様では、アプリケーションは、クラウドゲームのために使われるゲームアプリケーションを含む。ゲームアプリケーションは、メッセージ（たとえば、ゲームセットアップコマンド）をゲームコントローラ１０２からインターフェース装置１０６に送信するために、およびゲーミングセッション中にゲーム入力（たとえば、ゲームプレーコマンド）をゲームコントローラ１０２からゲームサーバ（たとえば、サーバシステム１１４）に送信するために使われる。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ１０２のボタン、十字キー（複数可）、および／またはジョイスティック（複数可）の組合せを使って、インターフェース装置１０６のゲームアプリケーション、および／または、サーバシステム１１４に送信される。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ１０２のユーザ（「ゲーマー」としても知られる）によって発行されてインターフェース装置１０６および／またはサーバシステム１１４に送信される音声コマンドである。
【００３２】
いくつかの実施態様では、ユーザは、ゲームコントローラ１０２上のボタン（たとえば、「スタート」または「ホーム」ボタン）を押下することによってゲームを開始できる。これにより、インターフェース装置１０６に信号が送られて、表示装置１０８上に表示されたゲームポータルユーザインターフェース（ＵＩ：Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）が起動する。次に、ユーザは、ゲームポータルＵＩ上でゲームを選択して、（たとえば、別のボタンを押下することによって）ゲームの起動を開始できる。ゲームポータルＵＩを起動する処理およびゲーミングセッションを開始する処理については、図２でさらに詳細を説明する。
【００３３】
ゲーム環境１００は、１つ以上の電子機器１０４（たとえば、１０４−１および／または１０４−２）を含む。電子機器１０４とインターフェース装置１０６は、通信可能に連結されている。電子機器１０４とインターフェース装置１０６は、ローカルネットワーク１１０を通して、および／または直接（たとえば、Ｂｌｕｅｔｏｏｔｈまたはその他のワイヤレス通信を介して）通信を行ってもよい。いくつかの実施態様では、電子機器１０４とインターフェース装置１０６とは、互いにローカルである（たとえば、同じ部屋にある、同じ家にあるなど）。
【００３４】
電子機器１０４は、１つ以上のアプリケーションを含み、これらを実行することができるデバイスである。いくつかの実施態様では、電子機器１０４は、スマートフォン、タブレットデバイス、ラップトップもしくはネットブックコンピュータ、デスクトップコンピュータ、またはマルチメディアデバイスである。
【００３５】
いくつかの実施態様では、電子機器１０４は、インターフェース装置１０６と連動して動作するように構成される１つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、電子機器１０４をインターフェース装置１０６とペアリングするため、およびインターフェース装置１０６を構成するためのインターフェース装置アプリケーション（たとえば、インターフェース装置アプリケーション３４４、図３）を含む。また、アプリケーションは、関連するコンテンツをインターフェース装置１０６にキャストできる１つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、データ／コンテンツをインターフェース装置１０６に直接送ることによって（たとえば、ローカルネットワーク１１０を介して）および／またはインターフェース装置１０６がデータ／コンテンツをストリーム配信または受信し得る遠隔地（たとえば、サーバシステムにおける場所へのＵｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（「ＵＲＬ」）またはその他のリンク）にインターフェース装置１０６を誘導することによってデータおよび／またはコンテンツをインターフェース装置１０６にキャストする。インターフェース装置１０６は、アプリケーションおよび／または遠隔地からデータ／コンテンツを受信し、受信したデータ／コンテンツに対応するビジュアルコンテンツおよび／または音声コンテンツを表示装置１０８に出力する。
【００３６】
いくつかの実施態様では、アプリケーションは、メッセージ（たとえば、ゲームセットアップコマンド）をインターフェース装置１０６に送信するための、およびゲーミングセッション中にゲーム入力（たとえば、ゲームプレーコマンド）を電子機器１０４からゲームサーバ（たとえば、サーバシステム１１４）に送信するためのゲームアプリケーション（たとえば、ゲームアプリケーション３４６、図３）を含む。いくつかの実施態様では、電子機器１０４と一体化された入力装置（たとえば、ラップトップコンピュータ１０４−２のキーボードおよび／またはマウス）を使って、セットアップコマンドおよびゲームプレーコマンドがインターフェース装置１０６および／またはサーバシステム１１４に送られる。
【００３７】
いくつかの実施態様では、アプリケーションは、１つ以上の標準化されたゲームコントローラ構成またはテンプレートなどを電子機器１０４上で実装するためのコントローラアプリケーションをさらに含む。標準化されたコントローラ構成の各々は、電子機器１０４上の入力装置および／またはセンサーをなんらかの方法で構成して仮想コントローラを実装する。使用される標準化されたコントローラ構成は、ゲームによって、および／または電子機器１０４の種類によって異なり得る。たとえば、電子機器１０４がタッチスクリーン付きモバイル機器（たとえば、１０４−１）である場合、タッチスクリーン上に表示されたタッチスクリーンを利用する仮想コントローラパッドを実装する標準化されたコントローラ構成が使われる。仮想コントローラパッドは、仮想ボタン、仮想十字キー、および／または仮想ジョイスティックを含んでもよい。別の例として、電子機器１０４が物理キーボード付きのラップトップまたはデスクトップコンピュータ（たとえば、１０４−２）である場合、物理キーボードのキーをコントローラの機能にマッピングする標準化されたコントローラ構成が使われてもよい。別の例として、センサー（たとえば、加速度計）を含む電子機器１０４上で、電子機器１０４の動きを入力として使うゲームのために、電子機器１０４を、タッチスクリーン上に表示された１つ以上の仮想ボタンを必要に応じて有するモーションコントローラに変える標準化されたコントローラ構成が使われる。
【００３８】
インターフェース装置１０６は、ゲームコントローラ１０２および／または電子機器１０４、ならびに表示装置１０８に通信可能に接続する。インターフェース装置１０６は、１つ以上のアプリケーションを含み、これらを実行することができる。いくつかの実施態様では、インターフェース装置１０６は、ゲームコントローラ１０２および／または電子機器１０４と連動して動作するように構成される１つ以上のアプリケーションを含む。
【００３９】
いくつかの実施態様では、１つ以上のアプリケーションは、ゲームコントローラ１０２および／または電子機器１０４からメッセージ（たとえば、セットアップコマンド）を受信して処理し、コマンドに関連する出力を表示装置１０８上に表示するためのゲームアプリケーションを含む。いくつかの実施態様では、ゲームアプリケーションは、さらに、ゲームサーバ（たとえば、サーバシステム１１４）が送信するゲームメディアストリームをリアルタイムで受信してデコードし、表示装置１０８に出力する。図４で後述するが、いくつかの実施態様では、インターフェース装置１０６は、セットアップコマンドおよびゲームメディアストリームを処理するための１つ以上のモジュール含む。
【００４０】
いくつかの実施態様では、インターフェース装置１０６は、キャスティングデバイス（たとえば、Ｇｏｏｇｌｅ  Ｉｎｃ．によるＣＨＲＯＭＥＣＡＳＴ）、ハードウェアドングル、ストリーミングデバイス、またはストリーム配信および／またはキャスト機能を含むデバイスである。
【００４１】
いくつかの実施態様では、インターフェース装置１０６の出力部は、表示装置１０８の入力部（たとえば、ＨＤＭＩ（登録商標）ポート、ＵＳＢポートなど）に接続される。
【００４２】
ゲーム環境１００では、ゲームコントローラ１０２、インターフェース装置１０６、および電子機器１０４は、通信ネットワーク（複数可）１１２を経由してサーバシステム１１４と認証システム１２５とに通信可能に連結される。いくつかの実施態様では、デバイスのうちの少なくともいくつか（たとえば、ゲームコントローラ１０２、電子機器１０４、インターフェース装置１０６、および表示装置１０８）は、ローカルネットワーク１１０に通信可能に連結され、ローカルネットワーク１１０は、通信ネットワーク（複数可）１１２に通信可能に連結される。いくつかの実施態様では、デバイス（たとえば、ゲームコントローラ１０２、電子機器１０４、インターフェース装置１０６、および表示装置１０８）は、（たとえば、ローカルネットワーク１１０または通信ネットワーク（複数可）１１２を経由せずに）互いに通信可能に連結される。いくつかの実施態様では、認証システム１２５は、サーバシステム１１４の一部である。
【００４３】
いくつかの実施態様では、インターフェース装置１０６の機能は、表示装置１０８と組み合わされる（すなわち、搭載または内蔵される）（図１Ｄも参照）。たとえば、いくつかの実施態様によると、表示装置１０８は、ゲームアプリケーションを含む１つ以上のアプリケーションをホストする処理モジュールを有するテレビディスプレイまたはコンピュータモニタである。別の例では、ディスプレイ１０８は、ゲームアプリケーションを含む１つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスに対応付けられる。いくつかの実施態様では、表示装置１０８は、オンラインゲームを利用可能にする機能を含む１つ以上の機能をホストする。いくつかの実施態様では、インターフェース装置１０６の機能は、ゲームコントローラ１０２と表示装置１０８との間で分けられる（たとえば、分割される）。
【００４４】
いくつかの実施態様では、サーバシステム１１４は、インタラクティブなクラウドゲームプラットフォームであって、ゲームコンテンツおよび処理能力を提供する。いくつかの実施態様では、サーバシステム１１４は、いつでも、何十万ものユーザ（「ゲーマー」）に対応する。
【００４５】
サーバシステム１１４は、オンラインのインタラクティブゲームプラットフォームをホストし、クライアントデバイス（本明細書では、ゲームコントローラ１０２、電子機器１０４、およびインターフェース装置１０６は、まとめてサーバシステム１１４の「クライアントデバイス」と称する）が１つ以上のゲームアプリケーションをプレイすることをサポートする。具体的には、サーバシステム１１４は、クライアントデバイスに対応付けられた複数のユーザアカウントを含み、１つ以上のゲームアプリケーションに関連してクライアントデバイスのユーザを認証する。サーバシステム１１４は、クライアントデバイス１０２上のオンラインのインタラクティブゲームのシーンを描画したり、リフレッシュしたりする。クライアントデバイス１０２は、当該シーンに関連する対応するゲーミングセッションに参加する。いくつかの実施態様では、サーバシステム１１４は、クライアントデバイスの能力および／またはサーバシステム１１４とクライアントデバイスの各々との通信接続の質を評価してもよく、クライアントデバイス関連するゲーミングセッションの同期データストリームを適応的に生成する。これらの手段によって、サーバシステム１１４は、実質的に低レイテンシで、同時に２つ以上のクライアントデバイス上のオンラインのインタラクティブゲームの同期ゲーミングセッションを容易にするように構成される。
【００４６】
いくつかの実施態様では、サーバシステム１１４は、通信ネットワーク（複数可）１１２を介してゲームコントローラ１０２、インターフェース装置１０６、および電子機器１０４と直接インターフェース接続するフロントエンド１１６を含む。フロントエンド１１６は、要求（たとえば、ゲーミングセッションを開始する要求）を受け付け、この要求に応答して情報を送信する（たとえば、ゲームコンテンツを送る）。いくつかの実施態様では、フロントエンド１１６は、クライアントデバイスにデータ（たとえば、データベース更新）を送るように構成される。
【００４７】
いくつかの実施態様では、フロントエンド１１６は、受信した要求のサブセットをバックエンドリソース１２４に転送する。バックエンドリソース１２４は、要求データを取得する、および／または要求サービスを実行する。いくつかの実施態様では、バックエンドリソース１２４は、要求に従って、データ（たとえば、ゲーム状態データ）を格納および／またはアクセスしてもよい。
【００４８】
サーバシステム１１４は、メディアストリーミングサーバ１２０と直接通信を行うゲームサーバ１１８を含む。ゲームサーバ１１８は、ゲームコンテンツと、シームレスなゲームプレーを可能にするその他の機能（たとえば、処理能力）とを提供する。
【００４９】
いくつかの実施態様では、ゲームサーバ１１８は、クラウドゲームのハードウェアリソース（たとえば、ＧＰＵおよびエンコーダーリソース）を動的に割り当てて、最適なクラウドゲーム体験を提供する、個々のエンドユーザが利用可能なネットワーク帯域幅を監視および利用する。いくつかの実施態様では、ゲームサーバ１１８は、高解像度の映像／メディアストリームで高パフォーマンスかつリアルタイムのゲーミングセッションをサポートする層を含む、複数のパフォーマンス層を提供する。
【００５０】
いくつかの実施態様では、オンラインゲーミングセッションをプレイするユーザからのユーザコマンドに応答して、ゲームサーバ１１８は、動的に複数のフレームを生成する。ユーザコマンドの種類（たとえば、ジャンプする、銃を撃つ）に従って、ゲームサーバ１１８は、予想される応答レイテンシ（待ち時間）、実際の通信レイテンシおよび処理レイテンシ、ならびに実際の伝送レイテンシを判断する。フレームの数は、実際の伝送レイテンシおよび予め定義されたフレームレートに基づいて算出される。その結果、コマンドは、オンラインゲーミングセッションにおいて、コマンドの影響を反映したフレームセットを生成することによって実行される。予め定義されたフレームレートで送信されたときのフレームセットは、実際の伝送レイテンシに対応する伝送時間が掛かり、予想される応答レイテンシに対応する時間内にクライアントデバイス（たとえば、インターフェース装置１０６）において受信され得る。
【００５１】
いくつかの実施態様によると、ゲームサーバ１１８は、ゲームプレーの入力に応答して、ゲームプレー出力を描画する。いくつかの実施態様では、ゲームプレー中にユーザが感じる待ち時間を最小限に抑えるために、ゲームコントローラ１０２および電子機器１０４は、各々ゲームサーバ１１８と直接通信を行う。たとえば、ゲームサーバ１１８は、ゲームコントローラ１０２からゲームプレーコマンドを直接受信し、受信したコマンドに従ってゲームのコンテンツの各フレームを描画する。ゲームサーバ１１８は、描画されたフレームについての情報をメディアストリーミングサーバ１２０に送る。そして、メディアストリーミングサーバ１２０は、それぞれの描画されたフレームを含むゲームメディアストリームを、表示装置上で表示するためにインターフェース装置１０６にリアルタイムで送信する。
【００５２】
いくつかの実施態様では、ゲームサーバ１１８は、異なるサブスクリプションモデルをサポートする、ならびに／または、待ち時間がほとんどあるいは全くなしで１つ以上の実際のゲームストリームに対応する１つ以上の同時のリアルタイムゲームプレーおよび／もしくはレビューメディアストリーム（たとえば、携帯アプリまたはブラウザベースのプログラムを介してオンライン／クラウドゲーミングセッションに参加しているユーザのクライアントデバイスに出力されるビデオストリーム）を提供するように構成される。いくつかの実施態様によると、ゲームサーバ１１８は、ゲームプレーの同期メディアストリームおよびレビュー映像を生成するように構成され、メディアストリーミングサーバ１２０には、同時ゲームプレーのレビュー映像が提供される。このようなレビュー映像は、ＹｏｕＴｕｂｅ（登録商標）などのメディアストリーミングサイトを介して、待ち時間がほとんどあるいは全くなしで１つ以上のユーザに提供される。いくつかの実施態様では、メディアストリーミングサーバ１２０は、さらに、１つ以上のメディアストリーミングサイトを管理する。
【００５３】
いくつかの実施態様では、サーバシステム１１４は、定期的にインターフェース装置１０６と通信を行い、プレーヤーがまだオンラインであるかどうかをチェックする。いくつかの実施態様では、ゲームサーバが（たとえば、インターフェース装置１０６および／またはゲームコントローラ１０２から）応答を受信しない場合、サーバシステム１１４は、プレーヤーに対応付けられたゲームキャラクターをスタンバイモードに設定するまたはこのキャラクターのゲームへの「接続を切る（ｋｉｃｋ）」コマンドを発行する。
【００５４】
いくつかの実施態様では、サーバシステム１１４は、ユーザおよびセッションデータを格納するためのデータベース１２２を含む。データベース１２２は、少なくとも、サーバシステム１１４上でホストされる１つ以上のゲームアプリケーションの各々（たとえば、ゲームアプリケーション３４８、図３）のユーザアカウントに関連するユーザ情報を格納する。ユーザ情報１２６として、ユーザアカウント情報（たとえば、ＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）およびパスワード）、会員種別、基本設定、活動履歴などが挙げられるが、これらに限定されない。いくつかの実施態様では、サーバシステム１１４は、ゲームコントローラ１０２を使用してプレイされたオンラインゲーミングセッションに関連するセッションデータを格納する。オンラインゲーミングセッションごとのセッションデータとして、フレームレート、描画仕様、通常のレイテンシ要件、ＧＰＵ割り当て情報、エンコーダー割り当て情報、関連セッションのＩＤ、および最新のステータス情報などが挙げられるが、これらに限定されない。セッションデータは、ユーザ情報よりも頻繁にアクセスされる。いくつかの実施態様では、ユーザ情報およびセッションデータを格納するメモリは、それぞれ、フラッシュメモリおよびランダムアクセスメモリ（ＲＡＭ）製である。
【００５５】
いくつかの実施態様では、サーバシステム１１４は、ゲームアプリケーションに関連するライブオンラインコミュニティをサポートする。ユーザ（たとえば、サービスの加入者）は、対応するゲームＡＰＩプラットフォーム上のライブイベント、トーナメント、またはアクティビティに１日中に参加する。ライブイベント、トーナメント、またはアクティビティとして、他のユーザがプレイするライブゲーミングセッションを観覧すること、パブリックドメイン（たとえば、ＹｏｕＴｕｂｅ）に自身の成績を投稿すること、ライブチップおよび指導映像を得ることなどが挙げられる。たとえば、ユーザアクションに応答して、ゲームサーバ１１８は、２つ以上のライブストリームを提供する。ゲームプレイヤーの第１クライアントデバイスの第１のゲーミングセッション上の第１のゲームストリームを維持したまま、サーバシステム１１４は、（たとえば、加入者の）１つ以上のその他のクライアントデバイスに第２のライブレビューストリーム（たとえば、ＹＯＵＴＵＢＥストリーム）を同報通信する。第２のライブレビューストリームによって、ユーザは、閲覧者とゲーム体験を共有できるようになる。任意で、第２ライブストリームは、プレーヤーの第１クライアントデバイス（たとえば、表示装置１０８）の画面の再生である。サーバシステム１１４は、プレーヤーが第１のゲーミングセッションを解説するオーディオストリーム、または、プレーヤーが第１のゲーミングセッションをプレイおよび解説するビデオストリームを取得してもよい。オーディオストリームは、任意で、閲覧者用に第２のライブレビューストリームを再生しながら、閲覧者用に再生される。ビデオストリームは、任意で、第２のライブレビューストリームの埋め込みウィンドウで再生される。
【００５６】
ゲーム環境１００は、認証サービス１２６と認証ストレージ１２８とを備える認証システム１２５をさらに含む。認証サービス１２６は、プロキシとして動作し、当事者および第三者の認証に関連する動作を処理するスタンドアロンサービスである。認証ストレージ１２８は、すべてのゲームコントローラ１０２のデバイスＩＤ、およびすべてのゲームコントローラ１０２の各々に対応付けられたリンクユーザについての情報を格納する。
【００５７】
いくつかの実施態様によると、ゲームコントローラ１０２は、（たとえば、一意の）デバイスＩＤ、およびクライアント証明書によって識別される。クライアント証明書は、ゲームコントローラによって、リモートサーバ（たとえば、サーバシステム１１４および／または認証システム１２５）に認証済みの要求を行うために使われる。さらには、いくつかの実施態様では、ゲームコントローラ１０２は、ゲームコントローラ１０２のすべてのユーザの認証情報を格納する。例として、ゲームコントローラ１０２は、ゲーム用に世帯の様々な構成員によって使われている可能性がある。したがって、ゲームコントローラ１０２は、ゲームコントローラ１０２を利用する世帯の構成員ごとに認証情報（たとえば、ユーザ名、ログイン認証情報、パスワード、認証チャレンジ／レスポンス）を格納する。このように、ゲームコントローラ１０２を、そのデバイスＩＤ、クライアント証明書、ユーザおよびユーザの認証情報にリンクさせる（対応付ける）ことができる。いくつかの実施態様では、ゲーミングセッションを開始する要求に応答して、ゲームコントローラは、デバイスＩＤについての情報、クライアント証明書、および／またはユーザ認証情報を、認証ストレージ１２８に格納された情報に対して認証サービス１２６によって検証するために送る。
【００５８】
いくつかの実施態様では、ゲーミングセッションをリンクする処理の一部として、サーバシステム１１４は、サーバ１１４システムと各クライアントデバイスとの間の通信接続の質にアクセスする。
【００５９】
いくつかの実施態様では、サーバシステム１１４は、クライアントデバイスとサーバシステム１１４との間のネットワークレイテンシを測定する。測定されたレイテンシが閾値を上回り、かつ低レイテンシ接続が利用可能である場合、サーバ１１４は、プレーヤークライアント１０４に低レイテンシ接続に変更するよう提案する、またはプレーヤークライアント１０４を低レイテンシ接続に変更するよう、プレーヤークライアント１０４のプレーヤーユーザに勧めることができる。たとえば、クライアントデバイスがセルラーワイヤレス接続（図示せず）上の電子機器１０４（たとえば、携帯電話）であり、かつローカルネットワーク１１０が利用可能である場合、サーバシステム１１４は、ローカルネットワーク１１０を経由して電子機器１０４を接続するよう提案できる。いくつかの実施態様では、レイテンシ閾値要件は、ゲーム間で異なる。たとえば、低レイテンシ接続で最高の体験ができるゲーム（たとえば、アクションゲーム）もあれば、レイテンシについてあまり要求しないゲーム（たとえば、オンラインのボードゲームまたはカードゲーム）もあり、サーバシステム１１４は、これらの異なる要件に鑑みて接続の推奨を行ってもよい。
【００６０】
いくつかの実施態様では、電子機器１０４がゲーミングセッションを開始する一部として、サーバシステム１１４が電子機器１０４と通信を行って電子機器１０４上で仮想コントローラを（たとえば、コントローラアプリケーションを利用して）セットアップする。いくつかの実施態様では、これには、電子機器１０４が仮想コントローラを実装するために必要なアプリケーションを有しているかどうか、および／または電子機器１０４とサーバ１１４との間の通信接続のレイテンシがゲームセッションに適切であるかどうかを（たとえば、上述した能力／接続品質評価の一部として）含む、電子機器１０４がコントローラに必要なリソースを有しているかどうかをサーバシステム１１４が評価することが含まれる。電子機器１０４において利用可能なリソース、接続品質、およびゲームの要件によっては、コントローラの実装は、電子機器１０４において異なってもよい。
【００６１】
図１Ｂは、いくつかの実施態様に係る、別の例示的なゲーム環境１３０を示す図である。多くの態様において、ゲーム環境１３０は、ゲーム環境１００と同様である。ゲーム環境１３０とゲーム環境１００との主な違いは、ゲーム環境１３０がゲームコントローラ１０２と、表示装置１０８−１および１０８−２にそれぞれ連結された２つのインターフェース装置１０６−１および１０６−２とを備える点である。ゲームコントローラ１０２は、インターフェース装置１０６−１および１０６−２の各々と通信可能に連結される（たとえば、ペアリングする）。
【００６２】
いくつかの実施態様では、ゲームコントローラ１０２、インターフェース装置１０６−１および１０６−２、ならびに表示装置１０８−１および１０８−２は、ローカルネットワーク１１０を含むローカル環境（たとえば、住居環境、寮、オフィス環境など）に存在する。いくつかの実施態様では、インターフェース装置１０６−１、インターフェース装置１０６−２は、ローカル環境の異なるエリア（たとえば、異なる部屋）に位置する。
【００６３】
本願のいくつかの実施態様によると、サーバシステム１１４は、たとえば、第１のインターフェース装置１０６−１上で実行される第１のゲーミングセッションの第１ゲームストリームの一旦停止／中断し、第２のインターフェース装置１０６−２上の第１ゲームストリームを再スタートして第１のゲーミングセッションを継続するなど、ゲームコントローラ１０２のユーザが動き回ることを可能にするクラウドの機能を有効にする。また、サーバシステム１１４は、大規模スケールで複数のプレーヤーをサポートし、より豊富かつより永続的なクラウドベースの世界を提供する。サーバシステム１１４は、クラウドベースのシステムを利用して、同じユーザの異なるゲーミングセッションに関係するセッションデータ、または異なるユーザの異なるゲーミングセッションをデータベース１２２に格納する。したがって、住居環境を背景としたこの例を適用することによって、ゲームコントローラ１０２のユーザは、（たとえば、寝室にある）第１のインターフェース装置１０６−１を用いてゲームプレーを開始し、ゲーミングセッションを一旦停止させ、第２のインターフェース装置１０６−２が設けられた場所に（たとえば、居間）にゲームコントローラ１０２を持って行って居間でゲームプレーを再開することができる。
【００６４】
いくつかの実施態様では、ゲームコントローラ１０２は、ペアリングしたインターフェース装置１０６−１および１０６−２の各々の識別子を格納する。いくつかの実施態様では、ゲームコントローラ１０２は、インターフェース装置１０６のうちの１つを、ゲームコントローラ１０２のデフォルトのペアリングデバイスとして設定する。
【００６５】
いくつかの実施態様では、ゲームコントローラ１０２と各々が通信可能に連結された３つ以上のインターフェース装置１０６を含むようにゲーム環境１３０を拡大させることができる。
【００６６】
いくつかの実施態様では、ゲーム環境１３０は、各々が通信可能にインターフェース装置１０６の各々に連結された２つ以上のゲームコントローラ１０２（たとえば、１０２−１および１０２−２）を含む。
【００６７】
図１Ｃは、いくつかの実施態様に係る、さらに別の例示的なゲーム環境１６０を示す図である。多くの態様において、ゲーム環境１６０は、ゲーム環境１００および１３０と同様である。ゲーム環境１６０とゲーム環境１００および１３０との主な違いは、ゲーム環境１６０が、第２ローカルネットワーク１４０上の第１ゲームコントローラ１０２−１および第１のインターフェース装置１０６−３ならびに第２ローカルネットワーク１４０上の第２ゲームコントローラ１０２−２および第２のインターフェース装置１０６−４を含む、２つのゲームコントローラと２つのインターフェース装置とを備える点である。インターフェース装置１０６−３および１０６−４の各々は、ビジュアルコンテンツおよび／または音声コンテンツを出力するそれぞれの表示装置１０８−３および１０８−４に連結される。ゲームコントローラ１０２とインターフェース装置１０６とからなる３つ以上のセットのそれぞれを各ローカルネットワーク上に含むようにゲーム環境１６０を広げることができることは、当業者に明らかであろう。
【００６８】
ゲーム環境１６０では、ゲームコントローラ１０２−１（およびインターフェース装置１０６−３）は、ゲームコントローラ１０２−２から遠く離れたところにある。つまり、ゲームコントローラ１０２−１のユーザは、ゲームコントローラ１０２−１のユーザと同じエリア（たとえば、同じ部屋または建造物）には位置しない。
【００６９】
いくつかの実施態様では、ゲームコントローラ１０２のゲーミングセッションは、任意で、それぞれのユーザに対応する別個の視点で同じゲームシーンをプレイするように同期している。
【００７０】
いくつかの実施態様によると、ゲームコントローラ１０２−１（インターフェース装置１０６−１）とゲームコントローラ１０２−２  １（インターフェース装置１０６−２）とが互いに遠く離れていても、各ゲームコントローラ１０２（インターフェース装置１０６）でゲームアプリケーションを実行するために起動することによってゲームを開始してもよい。いくつかの実施態様では、ゲームコントローラ１０２（インターフェース装置１０６）の各々について、ゲームアプリケーションは、オンラインゲーミングセッションをサーバシステム１１４と独立して確立する。２つ以上のゲームコントローラ１０２（インターフェース装置１０６）のオンラインゲーミングセッションは、互いに関連しており（たとえば、ゲームアプリケーションの同じゲームドメインでプレイされるため）、そのため、ゲームアプリケーションでゲームシーンを共有する。関連するオンラインゲーミングセッションは、互いに同期されており、各オンラインゲーミングセッションは、任意で、それぞれのゲームコントローラ１０２（インターフェース装置１０６）に対応する一意のプレーヤー視点で同じゲームシーンを表示する。そのため、各ゲームコントローラ１０２（インターフェース装置１０６）のユーザは、それぞれのゲームコントローラ１０２（インターフェース装置１０６）上でゲームをプレイし、その他のゲームコントローラ（複数可）１０２（インターフェース装置（複数可）１０６）上でのオンラインゲーミングセッションからの出力に影響を与えることができる。
【００７１】
あるいは、いくつかのその他の実施態様では、第１ゲームコントローラ１０２−１のゲームアプリケーションがオンラインゲーミングセッションを確立した後、１つ以上の第２ゲームコントローラ１０２−２は、オンラインゲーミングセッションに参加するよう招待メッセージによって招待され、たとえば、オンラインゲーミングセッションに参加するためのリンク（たとえば、ＵＲＬアドレス）付きのメッセージが第２のインターフェース装置１０６−２の各々に送られる。いくつかの実施態様によると、第２ゲームコントローラ１０２−２がゲーミングセッションに参加したとき、サーバシステム１１４は、個々の第２ゲームコントローラ１０２−２に対して別個のゲーミングセッションを作成する。それぞれの第２クライアントの第２ゲームコントローラ１０２−２の別個のゲーミングセッションは、第１第２ゲームコントローラ１０２−１のゲーミングセッションと同期されて同じシーンを共有するが、それぞれの第２クライアントの第２ゲームコントローラ１０２−２に対応する一意のプレーヤー視点であり得る。第２ゲームコントローラ１０２−２の各々がゲーミングセッションに参加（より正確には、その関連ゲーミングセッションを開始）した後、ユーザは、それぞれの第２ゲームコントローラ１０２−２上でゲームをプレイし、その他のゲームコントローラ１０２上で実行中のゲーミングセッションの出力に影響を与えることができる。
【００７２】
図１Ｄは、いくつかの実施態様に係る、さらに別の例示的なゲーム環境１８０を示す図であり、インターフェース装置１０６−３を介して１つ以上のゲームコントローラ１０２−１が表示装置１０８−３に連結されており、インターフェース装置１０６を必要とせずに、１つ以上のゲームコントローラ１０２−３が表示装置１０８−５に直接またはローカルエリアネットワーク１７０を介して連結されている。いくつかの実施態様では、インターフェース装置の機能の少なくともサブセットが表示装置１０８−５に搭載されている（すなわち、内蔵されている）。たとえば、図１Ｄに示すように、表示装置１０８−５は、ゲームコントローラ１０２−３と直接やり取りし、通信ネットワーク（複数可）１１２を経由してサーバシステム１１４および認証システム１２５と直接やり取りするように構成される。いくつかの実施態様では、表示装置１０８は、１つ以上のアプリケーションをホストする処理モジュールを有するテレビディスプレイまたはコンピュータモニタであり、当該１つ以上のアプリケーションは、ゲームアプリケーションと、インターフェース装置１０６の機能の少なくともサブセットまたはスーパーセットを提供する１つ以上のアプリケーションとを含み、１つ以上のコントローラ１０２−３のユーザがオンラインゲーミングセッションに参加することを可能にする。別の例では、ディスプレイ１０８−５は、ゲームアプリケーションとインターフェース装置１０６の機能の少なくともサブセットまたはスーパーセットを提供する１つ以上のアプリケーションとを含む１つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスと対応付けられる。
【００７３】
いくつかの実施態様では、表示装置１０８−５とゲームコントローラ１０２−３との間の通信は、ローカルネットワーク１７０を経由した通信である。いくつかの実施態様では、表示装置１０８−５とゲームコントローラ１０２−３とは、（たとえば、ローカルネットワークまたは通信ネットワーク（複数可）１１２を経由せずに）通信可能に互いに連結されている。たとえば、ゲームコントローラ１０２−３は、有線接続またはワイヤレス接続（たとえば、Ｂｌｕｅｔｏｏｔｈ、セルラー、ダイレクトＷｉＦｉ、またはＩＥＥＥ８０２．１５．４接続）を介して表示装置１０８−５と直接通信を行うことができる。いくつかの実施態様では、ローカルネットワーク１４０およびローカルネットワーク１７０は、同じローカルネットワークである。これにより、２人以上のプレーヤーが同じ場所（たとえば、家または公共の場所）からゲームサーバ１１４に接続して同じまたは異なるゲームタイトルをプレイできるようになり、インターフェース装置１０６−３の有無に関わらず、それぞれの出力が各表示装置１０８−３、１０８−５上に表示される。
【００７４】
処理の流れ
様々なゲーム環境を説明してきたが、ここで、様々な処理の流れを説明する。
【００７５】
本願のいくつかの実施態様によると、ゲームコントローラは、インターフェース装置１０６に通信可能に接続（たとえば、ペアリング）されて電源が入る。ユーザは、ゲームコントローラ１０２上のボタン（たとえば、「スタート」または「ホーム」ボタン）を押下することによってゲームを開始することができる。これにより、インターフェース装置１０６に信号が送られて、表示装置１０８上に表示されるゲームポータルユーザインターフェース（ＵＩ）を起動する。次に、ユーザは、ゲームポータルＵＩ上でゲームを選択し、（たとえば、別のボタンを押下することによって）ゲームの起動を開始することができる。
【００７６】
図２Ａは、ゲームポータルユーザインターフェース（ＵＩ）を起動する例示的な動作シーケンス２００を示す図である。いくつかの実施態様では、動作２００に記載の要素およびステップは、図１に示す要素およびフローに関係する。その他の実施態様も可能である。
【００７７】
いくつかの実施態様では、ゲームポータルＵＩは、インターフェース装置１０６（たとえば、ゲームポータルＵＩモジュール４３７、図４）上でホストされており、インターフェース装置１０６上でゲームアプリケーションを開始する時に起動される。ゲームポータルＵＩは、ユーザのプロフィール、購入したゲーム、およびその他の権利、ゲームカタログ、友達、メッセージなどへのアクセスを可能にする。
【００７８】
図２Ａによって示すように、ゲームユーザインターフェース（ＵＩ）ポータルの起動は、ゲームコントローラ１０２と、インターフェース装置１０６と、サーバシステム１１４と、認証システム１２５との間の通信を含む。シーケンス２００（またはメッセージフロー）は、ゲーム環境（たとえば、ゲーム環境（複数可）１００、１３０、および／または１６０）において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。
【００７９】
ユーザは、ゲームコントローラ１０２上のボタン（たとえば、「スタート」ボタンまたは「ホーム」ボタン）を押下してインターフェース装置１０６（図示せず）上のゲームアプリケーションを開始する。ゲームコントローラ１０２は、内部ストレージから取り出したデフォルトインターフェース装置の識別子を使用して「キャストセッション開始」要求をインターフェース装置１０６上のゲームアプリケーションに送る（２０２）。送信が成功した場合、ゲームコントローラ１０２とインターフェース装置１０６との間でキャスト（ゲームペアリング）セッションが確立されて、インターフェース装置１０６上でゲームアプリケーションが起動される。
【００８０】
いくつかの実施態様では、インターフェース装置１０６は、接続されている表示装置１０８（たとえば、オンまたはオフ）の状態を判断し、表示装置１０８がオフの場合、オンにしてみる。いくつかの実施態様では、インターフェース装置１０６は、表示装置１０８上でＣＥＣ（Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏｎｔｒｏｌ）が有効になったという判断に従って、表示装置１０８をオンにしてみる。
【００８１】
ゲームコントローラ１０２は、認証トークンをインターフェース装置１０６に送る（２０４）。いくつかの実施態様では、認証トークンは、自己完結型であり、当事者間で情報をセキュアに送信する。いくつかの実施態様では、インターフェース装置１０６とペアリングすると、ゲームコントローラ１０２は、トークン（たとえば、ＪＳＯＮ  Ｗｅｂ  ｔｏｋｅｎ（ＪＷＴ））を取り出す。ゲームコントローラ１０２は、トークンをパースし、署名されたＪＷＴ、クライアント証明書−中間証明書チェーンを抽出し、署名されたＪＷＴ、その有効期限、クライアント証明書−中間証明書チェーンをインターフェース装置１０６上のゲームアプリケーションに送る。
【００８２】
ユーザは、第２ボタン（同じボタンであってもよく、異なるボタンであってもよい）をゲームコントローラ１０２上で押下することによってゲームポータルＵＩを起動する（２０６）。ゲームポータルＵＩは、インターフェース装置１０６に起動コマンドを送信する。
【００８３】
インターフェース装置１０６は、起動コマンドを受信して認証システム１２５にユーザ検証を要求する（２０８）。
【００８４】
いくつかの実施態様によると、起動コマンドは、インターフェース装置１０６のゲームアプリケーション（たとえば、ゲームアプリケーション４３６、図４）によって受信され、インターフェース制御モジュール（たとえば、インターフェース制御モジュール４３８、図４）に渡される。インターフェース制御モジュールは、受信した認証トークンとともに要求を認証サービス１２６に送り（ステップ２０４）、ゲーム（すなわち、サーバ）リソースへのアクセスを要求する。認証システム１２５は、ゲームコントローラ１０２のＩＤと、それにリンクされたユーザとを検証する（たとえば、ＩＤを認証ストレージ１２８に格納された情報と照合させることによって）。
【００８５】
検証が成功した場合、認証システム１２５は、リンクユーザのアクセストークン（たとえば、ＯＡＵＴＨトークン）を取り出す（２１０）。インターフェース装置１０６は、アクセストークンとその有効期限を提供するゲームポータルＵＩを起動する（２１２）。
【００８６】
インターフェース装置１０６は、ポータルのランディングページのユーザ固有のコンテンツ（たとえば、ユーザのアバター、購入したゲーム、友達、メッセージなど）をサーバシステム１１４のフロントエンド１１６に要求し（２１４）、表示装置１０８上に表示する最適化された画像をバックエンドリソース１２４に要求する（２１４）。いくつかの実施態様では、要求ステップ（ステップ２１６）は、ゲームポータルモジュール（たとえば、ゲームポータルモジュール４３７、図４）によって実行される。
【００８７】
インターフェース装置１０６は、要求されたコンテンツを受信し（２１６）、要求されたコンテンツを表示する（２１８）。
【００８８】
いくつかの実施態様では、ゲームポータルＵＩが初めて起動されたとき、または再起動されたとき、インターフェース装置１０６は、デフォルトの第１モード（たとえば、「メニュー」モード）で動作する。第１モードでは、ゲームコントローラ１０２からのすべての入力は、ゲームコントローラ１０２およびインターフェース装置１０６が接続されるローカルな有線またはＷｉｆｉネットワーク上でインターフェース装置１０６のゲームアプリケーションを経由してゲームポータルＵＩに送られる。
【００８９】
いくつかの実施態様では、ヘッドセットがゲームコントローラ１０２に接続（たとえば、プラグ接続）されている場合、ゲームコントローラは、「ヘッドセット接続済み」メッセージをインターフェース装置１０６に送る。インターフェース装置１０６は、ヘッドセット接続までゲームコントローラ１０２のデバイスＩＤを追跡する。ゲームポータルＵＩは、その他のユーザイベント（またはその他のフィードバック）の際に音声メッセージをゲームコントローラ１０２に送り返す。次に、このイベントがデコードされてゲームコントローラ１０２上で再生される。
【００９０】
図２Ｂは、いくつかの実施態様に係る、ゲームセッションを起動するための例示的な動作シーケンス２２０を示す図である。いくつかの実施態様では、動作２２０に記載の要素およびステップは、図１および図２Ａに示す要素およびフローに関し得る。その他の実施態様も可能である。
【００９１】
図２Ｂに示すように、ゲームセッションの起動には、ゲームコントローラ１０２と、インターフェース装置１０６と、サーバシステム１１４との間の通信を必要とする。シーケンス２２０（またはメッセージフロー）は、ゲーム環境（たとえば、ゲーム環境（複数可）１００、１３０、および／または１６０）において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。シーケンス２２０は、ゲームポータルＵＩが起動していると想定する（たとえば、図２Ａの処理を用いて）。
【００９２】
ユーザは、ゲームコントローラ１０２を使ってゲームポータルＵＩ上でゲームを選択し（２２２）、ゲーム起動要求を開始する。
【００９３】
インターフェース装置１０６は、選択されたゲームのコンテンツＩＤを特定し（２２４）、ゲーム起動要求に応答してゲーミングセッションを開始する要求を発行する（２２６）。
【００９４】
いくつかの実施態様では、ゲーム起動要求（たとえば、コマンド）は、インターフェース装置１０６のゲームアプリケーション（たとえば、ゲームアプリケーション４３６、図４）によって受け付けられ、インターフェース制御モジュール（たとえば、インターフェース制御モジュール４３８、図４）に渡される。次に、インターフェース制御モジュールが当該要求をゲームポータルＵＩモジュール（たとえば、ゲームＵＩモジュール４３７、図４）に転送する。ゲームＵＩモジュールは、コマンドを処理して、選択されたゲームの「コンテンツＩＤ」を特定し、選択されたゲームのコンテンツＩＤをゲームポータルＵＩに送り返す。ゲームポータルＵＩモジュールは、インターフェース制御モジュール上でコールバックを呼び出し、次に、インターフェース制御モジュールがゲーミングセッションを開始するための要求を発行する。いくつかの実施態様では、インターフェース装置１０６内の通信は、標準化された通信プロトコル（たとえば、ＷｅｂＳｏｃｋｅｔ）を利用して行われる。
【００９５】
インターフェース装置１０６は、選択されたゲームのコンテンツＩＤを使って（たとえば、インターフェース制御モジュール４３８を使って、図４）サーバシステム１１４にゲームコンテンツを要求する（２２８）。
【００９６】
サーバシステム１１４は、許可が適切であるかどうかをチェックし（２３０Ａ）、ゲーミングセッションを割り当てて（２３０Ｂ）、ゲームを読み込む（２３０Ｃ）。
【００９７】
いくつかの実施態様では、インターフェース装置１０６は、サーバインターフェースモジュール（たとえば、サーバインターフェースモジュール４４０、図４）を使ってゲームサーバ１１４に要求を伝達する。サーバインターフェースモジュールは、サーバシステム１１４のフロントエンド１１６にゲームコンテンツを要求する。フロントエンド１１６は、許可が適切であるかどうかをチェックし、バックエンドリソース１２４と連係する。バックエンドリソース１２は、ゲームサーバ１１８と通信を行う。ゲームサーバ１１８は、ゲーミングセッションを割り当ててゲームの起動を開始する。
【００９８】
サーバシステム１１４は、ゲーミングセッション情報（たとえば、セッションＩＤ、ゲームサーバ準備用ＩＰアドレス、ポートなど）をインターフェース装置１０６に送る（２３２）。いくつかの実施態様では、サーバシステム１１４は、ゲーミングセッション情報をインターフェース装置１０６のサーバインターフェースモジュール（たとえば、サーバインターフェースモジュール４４０、図４）に送り、インターフェース装置１０６は、この情報を提供するインターフェース制御モジュール４３８上でコールバックを呼び出す。
【００９９】
ゲーミングセッション情報に応答して、インターフェース装置１０６は、サーバシステム１１４とのセッションペアリング要求を開始する（２３４）。サーバシステム１１４は、ゲームストリーミングおよびゲーム処理を（たとえば、ゲームサーバ１１８およびストリーミングサーバ１２０上で）開始し（２３６）、セッションペアリング応答で直ちに応答する（２３８）。
【０１００】
ゲームの読み込みが完了すると、サーバシステム１１４は、「ゲーム準備完了」メッセージをインターフェース装置１０６に発行し（２４０Ａ）、インターフェース装置１０６は、ゲーム準備完了メッセージをゲームコントローラ１０２に渡す（２４０Ｂ）。
【０１０１】
いくつかの実施態様では、ゲームの読み込みはゲームサーバ１１８によって行われる。ゲームの読み込みが完了すると、ゲームサーバ１１８は、クライアント接続を受け付ける準備をするようストリーミングサーバ１２０に通知し、ゲーム準備完了メッセージを発行する（この例では、「クライアント」は、ゲームコントローラ１０２およびインターフェース装置１０６の両方を指す）。
【０１０２】
本願におけるいくつかの実施態様によると、ステップ２４０Ａおよび２４０Ｂでサーバシステム１１４によって発行されるゲーム準備完了メッセージは、ストリーミングサーバ１２０とクライアントとの間（すなわち、ストリーミングサーバ１２０とインターフェース装置１０６との間、およびストリーミングサーバ１２０とゲームコントローラ１０２との間）で直接通信するための「ハンドシェイク」の提供を含む。いくつかの実施態様では、ハンドシェイク提供のフォーマットは、ＤＴＬＳ（Ｄａｔａｇｒａｍ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）プロトコルメッセージのフォーマットである。いくつかの実施態様では、ハンドシェイクの提供は、ストリーミングサーバ１２０とクライアントとの間でハンドシェイクを行うために必要な値（たとえば、認証証明書のハッシュ値）を含む。
【０１０３】
ハンドシェイクの提供を用いて、インターフェース装置１０６は、サーバシステム１１４（たとえば、ゲームサーバ１１８およびストリーミングサーバ１２０）との直リンクを確立する（２４２Ａ）。同様に、ゲームコントローラ１０２は、サーバシステム１１４（すなわち、ゲームサーバ１１８およびストリーミングサーバ１２０）との直リンクを確立する（２４２Ｂ）。
【０１０４】
サーバシステム１１４のストリーミングサーバ１２０は、ゲームオーディオ／ビデオストリームを、表示装置１０８上に表示するためにインターフェース装置１０６に送信する（２４４）。
【０１０５】
ゲームコントローラ１０２は、ゲーム入力をゲームサーバ１１８に送る（２４６）。ゲームサーバ１１８は、ゲーム入力に基づいてフレームを描画してストリーミングサーバ１１８に送る。ストリーミングサーバ１１８は、表示装置１０８上で表示するためのゲームメディアストリームをインターフェース装置１０６に送信する。これに加えて、ゲームコントローラ１０２は、その他のメッセージをインターフェース装置１０６に送る（２４８Ａ）。インターフェース装置１０６は、メッセージを処理し、メッセージのサブセットをゲームサーバ１１４に送る（２４８Ｂ）。
【０１０６】
いくつかの実施態様では、ストリーミングサーバ１２０は、音声／映像を送るためのストリーム、および入力を受信してランブルおよびその他の情報を送り返すためのストリームという２つのストリームを含む。いくつかの実施態様では、ストリーミングサーバ１２０は、現在のオーディオ／ビデオ接続をデフォルトで有効にした状態で特定の接続チャネル上で音声を送るかどうかを示す新しい初期化メッセージをストリーム配信クライアント（たとえば、インターフェース装置１０６）から受信する。
【０１０７】
いくつかの実施態様では、ストリーミングサーバ１０２に接続する前にゲームコントローラ１０２がヘッドセットを検出した場合（ステップ２４２Ｂにおいて）、ゲームコントローラ１０２は、ストリーミングサーバ１２０との接続が確立した直後にこのメッセージを伝達する。そうでない場合、ゲームコントローラ１０２は、プラグ接続されたヘッドセットを検出すると直ちにこのメッセージを送る。
【０１０８】
いくつかの実施態様では、特定の接続チャネル上でヘッドセット接続メッセージを受信することに従って、ストリーミングサーバ１２０は、特定の接続チャネル上での音声の送信を開始し、その他の接続上の音声を停止する。
【０１０９】
いくつかの実施態様では、ゲームコントローラ１０２からヘッドセットが抜かれると、ゲームコントローラ１０２は、「音声停止」メッセージをストリーミングサーバ１２０に送り、ストリーミングサーバ１２０を再び切り替えさせて、オーディオ／ビデオ接続上で音声を送らせる。
【０１１０】
いくつかの実施態様では、ゲームコントローラ１０２は、「クイックアクセス」ボタンを含む。「クイックアクセス」ボタンは、ゲームポータルＵＩにいるかゲームをプレイしているかに関わらず、ユーザがキー機能に利用できるようにする。
【０１１１】
いくつかの実施態様では、インターフェース装置１０６（および対応するゲームコントローラ１０２）は、２つのモードで動作する。つまり、（１）ローカルネットワークですべてのゲームコントローラ入力がインターフェース装置１０６に送られる第１モード（たとえば、「メニュー」モード）、および（２）コントローラコマンドのサブセットがゲームコントローラ１０２によってインターフェース装置１０６に送られ、その他は遠隔のゲーム（たとえば、サーバシステム１１４）に送られる第２モード（たとえば、「ゲーム」モード）。いくつかの実施態様では、コントローラコマンドのサブセットは、「クイックアクセス」ボタンによってアクセスされるコマンド（または機能）を含む。
【０１１２】
いくつかの実施態様では、インターフェース装置１０６は、ゲームポータルＵＩが初めて起動するときは、常に第１モードである。
【０１１３】
アーキテクチャ
ここで、ゲームコントローラ１０２、インターフェース装置１０６、およびサーバシステム１１４の例示的なアーキテクチャを説明する。いくつかの実施態様では、アーキテクチャに記載の要素は、図１および図２の要素およびフローに関係する。
【０１１４】
図３は、いくつかの実施態様に係る、動作シーケンス２００および２２０におけるゲーム環境１００、１３０、および１６０のゲームコントローラ１０２を示すブロック図である。ゲームコントローラ１０２は、通常、１つ以上のプロセッサ（複数可）（ＣＰＵ）３０２と、１つ以上の通信インターフェース（複数可）３０４と、メモリ３０６と、これらの構成要素（チップセットと呼ばれる場合もある）を相互に接続するための１つ以上の通信バス３０８とを含む。ゲームコントローラ１０２は、マイクロフォン３１２（または音声コマンド入力部）、ボタン３１４、十字キー（複数可）３１５、およびジョイスティック（複数可）３１６など、ユーザ入力を容易にする１つ以上の入力装置（複数可）３１０を含む。いくつかの実施態様では、ゲームコントローラ１０２は、ジェスチャー認識機能をさらに含む。いくつかの実施態様では、ゲームコントローラ１０２の処理能力は、入力装置（複数可）３１０とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
【０１１５】
また、ゲームコントローラ１０２は、スピーカー（複数可）３２０、ＬＥＤ（複数可）３２２、および／または、任意で、ディスプレイ３２４を含む、オーディオ出力および／またはビジュアル出力を容易にする１つ以上の出力装置（複数可）３１８を含む。ゲームコントローラ１０２は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓａｔｅｌｌｉｔｅ）またはその他の地理的位置受信機など、ゲームコントローラ１０２の位置を特定するための位置検出部３３４を含む。ゲームコントローラ１０２は、ＩＲセンサーなど、インターフェース装置１０６の近さならびに／またはその他のゲームコントローラ１０２および／もしくは電子機器１０４の近さを判断するための近接検出部３３２をさらに含む。また、ゲームコントローラ１０２は、入力として使われ得るゲームコントローラ１０２の動き、向き、およびその他のパラメータを検知するための１つ以上のセンサー（複数可）３２８（たとえば、加速度計、ジャイロスコープなど）を含んでもよい。いくつかの実施態様では、ゲームコントローラ１０２の処理能力は、出力装置（複数可）３１８とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
【０１１６】
いくつかの実施態様では、ゲームコントローラは、音声メッセージおよび／またはゲームのオーディオストリームを再生するヘッドセット３２６をオプションとして含む。
【０１１７】
いくつかの実施態様では、ゲームコントローラ１０２は、１つ以上の通信ネットワークを有効にし、ゲームコントローラ１０２がその他のデバイス（たとえば、インターフェース装置１０６）と通信を行うことができるようにする無線機３３０を含む。いくつかの実施態様では、無線機３３０は、様々なカスタムまたは標準の無線プロトコル（たとえば、ＩＥＥＥ８０２．１５．４、Ｗｉｆｉ、ＺｉｇＢｅｅ、６ＬｏＷＰＡＮ、Ｔｈｒｅａｄ、Ｚ−Ｗａｖｅ、Ｂｌｕｅｔｏｏｔｈ  Ｓｍａｒｔ、ＩＳＡ１００．５Ａ、ＷｉｒｅｌｅｓｓＨＡＲＴ、ＭｉＷｉ  Ｗｈｉｓｐｅｒｎｅｔ、Ｂｌｕｅｔｏｏｔｈ  ｌｏｗ  ｅｎｅｒｇｙなど）、カスタムまたは標準の有線プロトコル（たとえば、Ｅｔｈｅｒｎｅｔ、ＨｏｍｅＰｌｕｇなど）、および／または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
【０１１８】
メモリ３０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリまたはその他のランダムアクセス固体記憶装置を含み、任意で、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ３０６は、任意で、１つ以上の処理装置２０２から遠く離れた１つ以上の記憶装置を含む。メモリ３０６、またはメモリ３０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ３０６、またはメモリ３０６の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する：
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム３３６；
●１つ以上の通信インターフェース）３０４（有線またはワイヤレス）ならびにローカルネットワーク１１０、１４０および／または１５０、ならびに、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど、１つ以上のネットワーク１１２を経由してゲームコントローラ１０２をその他のデバイス（たとえば、サーバシステム１１４、インターフェース装置１０６、および電子機器１０４）に接続するためのネットワーク通信モジュール３３８；
●１つ以上の出力装置３１８（たとえば、スピーカー、ＬＥＤ（複数可）など）を介してゲームコントローラ１０２において情報の表示を可能にするためのユーザインターフェースモジュール３４０（たとえば、オーディオコンテンツおよび／または映像コンテンツ、ならびに、任意で、アプリケーション、ウィジェット、テキストなどを提示するためのグラフィカルユーザインターフェース）；
●１つ以上の入力装置（複数可）３１０のうちの１つから１つ以上のユーザ入力またはユーザ操作を検出し、検出された入力または操作を解釈するための入力処理モジュール３４２；
●インターフェース装置１０６に対応付けられたユーザアカウントへのログイン、インターフェース装置１０６がユーザアカウントと対応付けられている場合、インターフェース装置１０６の制御、および、インターフェース装置１０６に関連する設定ならびにデータの編集およびレビューを含む、インターフェース装置１０６とのやり取りのためのインターフェース装置アプリケーション３４４；
●様々なモードに対するモジュールを実装するように構成される、クラウドゲーム機能のためのゲームアプリケーション３４６；
●メニューモードでゲームコントローラ１０２とインターフェース装置１０６との間でメッセージ（たとえば、セットアップコマンド）を送信するためのコマンドモジュール３４８；
●ゲームプレーモードでゲームコントローラ１０２とサーバシステム１１４（たとえば、ストリーミングサーバ１２０）との間でゲームプレーコマンドを送信するためのストリーミングモジュール３４９；
●ゲームアプリケーション３４６にゲームプレー入力インターフェースを提供するためのコントローラモジュール３５０；
●ゲームコントローラ１０２とインターフェース装置（たとえば、インターフェース装置１０８）との間、およびゲームコントローラ１０２とゲームサーバ（たとえば、サーバシステム１１４）との間でメッセージおよびメディアストリームを受信および／または送信するための通信モジュール３５１；
●データ（たとえば、ユーザアカウント、ユーザ認証情報、モジュールおよびアプリケーションのアップデート、ならびにメモリ３０６にあるデータ）をサーバシステム１１４からダウンロードする、および／またはインターフェース装置１０６ならびにその他のコンテンツホストおよびプロバイダから渡された当該データをダウンロードするためのデータダウンロードモジュール３５２；および
●ゲームアプリケーション３４６およびその他のアプリケーション／モジュールと関連するデータを少なくとも格納するデバイスデータ３５４。デバイスデータ３５４は、以下を含む：
○共通のデバイス設定（たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など）を含む、ゲームコントローラ１０２自体に関連する情報を格納するためのクライアントデバイス設定３５６；
○１つ以上のアカウントアクセス情報、およびインターフェース装置設定のための情報（たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など）を含む、インターフェース装置アプリケーション３４４のユーザアカウントに関連する情報を格納するためのインターフェース装置設定３５８；
○ユーザが図４のゲームポータルＵＩモジュール４３７とやり取りするために設定されたメニューおよび／またはショートカットを格納するためのゲームアプリケーション設定３６０；
○ゲームアプリケーション３４６のコントローラモジュール３５０の構成に関連する情報を格納するためのゲームコントローラ構成（複数可）３６２；および
○ゲームコントローラ１０２、インターフェース装置１０６、その他のゲームコントローラ１０２および／または電子機器１０４の存在、近さ、または位置に関連する情報を含む位置／近接データ１６４；および
○ゲームコントローラＩＤおよびクライアント証明書、それぞれペアリングされたインターフェース装置のＩＤおよびクライアント証明書、１つ以上のローカルネットワーク認証情報（たとえば、Ｗｉｆｉ認証情報）、ならびに、ログイン情報、ユーザ認証情報、認証情報を含むゲームコントローラ１０２にリンクされた１つ以上のユーザに関連する情報を格納し、任意で、ユーザの好み、ゲームプレーの履歴データ、およびその他のプレーヤーについての情報を格納するためのデバイス／ユーザデータ３６６。
【０１１９】
●起動されたときに１つ以上の認証オプションを提示し、認証オプションに対する入力を受信するためのセキュリティモジュール３６８；
●マイクロフォン３１２によって受け付けられたオーディオ入力／コマンドを処理するための音声アシスタンスモジュール３７０。
【０１２０】
いくつかの実施態様では、通信モジュール３５１は、無線送信モジュール、１つ以上の通信バス３０８などの通信バス、および有線接続のうち、１つ以上であり得る。
【０１２１】
いくつかの実施態様では、コントローラモジュール３５０は、メモリ３０６に含まれるインターフェース装置アプリケーション３３４または別のアプリケーションの一部（たとえば、サブモジュール）である。いくつかのその他の実施態様では、コントローラモジュール３５０は、オペレーティングシステム３３６の一部である。いくつかの別の実施態様では、コントローラモジュール３５０は、別個のモジュールまたはアプリケーションである。
【０１２２】
上記構成要素の各々は、前述の記憶装置のうちの１つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（つまり、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされてもよく、並び替えられてもよい。いくつかの実施態様において、メモリ３０６は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ３０６は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
【０１２３】
図４は、いくつかの実施態様に係る、動作シーケンス２００および２２０におけるゲーム環境１００、１３０、および１６０の例示的なインターフェース装置１０６を示すブロック図である。インターフェース装置１０６は、通常、１つ以上のプロセッサ（複数可）（ＣＰＵ）４０２と、１つ以上の通信インターフェース（複数可）４０４と、メモリ４０６と、これらの構成要素（チップセットと呼ばれる場合もある）を相互に接続するための１つ以上の通信バス４０８とを備える。さらには、インターフェース装置１０６は、ＩＲセンサーなど、ゲームコントローラ１０２、および／または電子機器１０４、および／またはその他のインターフェース装置の近さを判断するための近接／位置検出部４１０を含む。
【０１２４】
さらには、いくつかの実施態様では、インターフェース装置１０６は、１つ以上の通信ネットワークを可能にし、インターフェース装置１０６がその他のデバイスと（たとえば、ゲームコントローラ１０２と）通信を行うことができるようにする無線機４１１を含む。いくつかの実施態様では、無線機４１１は、様々なカスタムまたは標準の無線プロトコル（たとえば、ＩＥＥＥ８０２．１５．４、Ｗｉｆｉ、ＺｉｇＢｅｅ、６ＬｏＷＰＡＮ、Ｔｈｒｅａｄ、Ｚ−Ｗａｖｅ、Ｂｌｕｅｔｏｏｔｈ  Ｓｍａｒｔ、ＩＳＡ１００．５Ａ、ＷｉｒｅｌｅｓｓＨＡＲＴ、ＭｉＷｉ  Ｗｈｉｓｐｅｒｎｅｔ、Ｂｌｕｅｔｏｏｔｈ  ｌｏｗ  ｅｎｅｒｇｙなど）、カスタムまたは標準の有線プロトコル（たとえば、Ｅｔｈｅｒｎｅｔ、ＨｏｍｅＰｌｕｇなど）、および／または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
【０１２５】
また、これに加えて、インターフェース装置１０６は、マイクロフォン４１４を含む、ユーザの近さを検出するための１つ以上の入力装置（複数可）４１２と、インターフェース装置１０６に連結または一体化された１つ以上の出力装置（複数可）４１６（たとえば、表示装置（複数可）１０８）とを含む。
【０１２６】
メモリ４０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリまたはその他のランダムアクセス固体記憶装置を含み、任意で、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ４０６は、任意で、１つ以上のプロセッサ（複数可）４０２から遠く離れた１つ以上の記憶装置を含む。メモリ４０６、またはメモリ４０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ４０６、またはメモリ４０６の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する：
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム４１８；
●１つ以上の通信インターフェース４０４（有線またはワイヤレス）と、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ケーブルテレビシステム、衛星テレビシステム、ＩＰＴＶシステムなど、１つ以上のネットワーク１１２とを経由してインターフェース装置１０６をその他のコンピュータまたはシステム（たとえば、サーバシステム１１４、ゲームコントローラ１０２、および電子機器１０４）に接続するためのネットワーク通信モジュール４２０；
●インターフェース装置１０６とゲームコントローラ（たとえば、ゲームコントローラ１０２）との間、およびインターフェース装置１０６とゲームサーバ（たとえば、サーバシステム１１４）との間でメッセージおよびメディアストリームを受信および／または送信するための通信モジュール４２１；
●１つ以上のコンテンツソース（たとえば、ゲームサーバ１１８およびストリーミングサーバ１２０）から受信したコンテンツ信号をデコードし、コンテンツをデコードされた信号に含めて、インターフェース装置１０６に連結または一体化された出力装置（複数可）４１６（たとえば、表示装置（複数可）１０８）に出力するためのコンテンツデコードモジュール４２２；
●近接／位置検出部４１０によって検出されるまたはサーバシステム１１４によって提供される近接関連の情報に基づいてゲームコントローラ１０２、および／または電子機器１０４、および／またはその他のインターフェース装置１０６の近さを判断するための近接／位置特定モジュール４２４；
●メディア表示を制御するためのディスプレイモジュール４２６；
●インターフェース装置のＩＤおよびクライアント証明書を格納し、以下を含むデータを少なくとも格納するインターフェース装置データ４２８：
○１つ以上のアカウントアクセス情報、およびデバイス設定のための情報（たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など）を含む、インターフェース装置アプリケーションのユーザアカウントに関連する情報を格納するためのインターフェース装置設定４３０；および
○ゲームコントローラ１０２ならびに／または電子機器１０４およびインターフェース装置１０６の存在、近さ、または位置に関連する情報を含む、位置／近接データ４３２；および
○インターフェース装置が接続される１つ以上のローカルネットワークに関連する情報を含むネットワークデータ４３４；
●インターフェース装置１０６上のすべてのゲームコンポーネントのライフサイクルを制御し、ゲームコントローラ１０２からメッセージ（たとえば、コマンド）を受信し、ゲームコントローラ入力をサーバシステム１１４に渡すためのゲームアプリケーション４３６；
●ユーザコンテンツ（たとえば、プロフィール、アバター、購入したゲーム、ゲームカタログ、友達、メッセージ）および表示のための最適化された画像にアクセスし、ゲームプレー中にゲームコントローラ１０２から入力を受信するためのゲームＵＩモジュール４３７；
●ゲームアプリケーション４３６とゲームポータルＵＩモジュール４３７との間の通信の橋渡しを行い、ゲームの起動中にサーバシステム１１４とのセッションペアリング要求を初期化するためのインターフェース制御モジュール４３８；
●サーバシステム１１４および認証システム１２５と通信を行うための、以下を含むサーバインターフェースモジュール４４０：
○ゲームポータルＵＩの起動中に認証システム１２５と通信を行ってゲームコントローラ１０２のリンクユーザを認証するための認証サブモジュール４４２；
○ゲーミングセッション情報（たとえば、セッションＩＤ、ゲームサーバ準備用ＩＰアドレス、ポートなど）をサーバシステム１１４から受信し、この情報を提供するインターフェース制御モジュール４３８上でコールバックを呼び出すためのセッションサブモジュール４４４；および
○サーバシステム１１４のストリーミングサーバ１２０から送信されるゲームストリームを、ゲームプレー中にリアルタイムで受信して表示するためのストリーミングサブモジュール４４６。
【０１２７】
いくつかの実施態様では、通信モジュール４２１は、無線送信モジュール、（たとえば、インターフェース機能がゲームコントローラにある場合）１つ以上の通信バス４０８などの通信バス、および有線接続のうちの、１つ以上であり得る。
【０１２８】
いくつかの実施態様では、ゲームＵＩモジュール４３７、インターフェース制御モジュール４３８、およびサーバインターフェースモジュール４４０は、インターフェース装置１０６において、共有ライブラリとしてパッケージ化されており、アプリケーションが開始された時にゲームアプリケーション４３６によって動的に開かれる。
【０１２９】
上記構成要素の各々は、前述の記憶装置のうちの１つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（つまり、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされるまたは並び替えられてもよい。いくつかの実施態様において、メモリ４０６は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ４０６は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
【０１３０】
図５は、いくつかの実施態様に係る、動作シーケンス２００および２２０における、ゲーム環境１００、１３０、および１６０のサーバシステム１１４における例示的なサーバを示すブロック図である。サーバシステム１１４は、通常、１つ以上の処理装置（たとえば、プロセッサ（複数可）５０２、ＧＰＵ（複数可）５１０、およびエンコーダー５１２）と、１つ以上のネットワークインターフェース５０４と、メモリ５０６と、これらの構成要素（チップセットと呼ばれる場合もある）を相互に接続するための１つ以上の通信バス５０８とを備える。サーバシステム１１４は、任意で、キーボード、マウス、音声コマンド入力部もしくはマイクロフォン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする１つ以上の入力装置５１４を含んでもよい。さらには、サーバシステム１１４は、キーボードを補助するまたは置き換えるために、マイクロフォンおよび音声認識またはカメラおよびジェスチャー認識を使用してもよい。いくつかの実施態様では、サーバシステム１１４は、任意で、電子機器上にプリントされた図形シリーズコードの画像など、画像をキャプチャするための１つ以上のカメラ、スキャナ、または光センサー部を備える。また、サーバシステム１１４は、１つ以上のスピーカーおよび／または１つ以上の表示装置を含む、ユーザインターフェースの表示を可能にし、コンテンツを表示する１つ以上の出力装置５１６を備えてもよい。
【０１３１】
メモリ５０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリまたはその他のランダムアクセス固体記憶装置を含み、任意で、１つ以上の磁気ディスク記憶装置、１つ以上の光学ディスク記憶装置、１つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または１つ以上のその他の不揮発性固体記憶装置を含む。メモリ５０６は、任意で、１つ以上の処理装置から遠く離れた１つ以上の記憶装置を含む。メモリ５０６、またはメモリ５０６内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ５０６、またはメモリ５０６の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する：
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム５２６；
●１つ以上のネットワークインターフェース５０４（有線またはワイヤレス）および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど、１つ以上のネットワーク１１２を経由してサーバシステム１１４をその他のデバイス（たとえば、サーバシステム１１４における様々なサーバ、ゲームコントローラ１０２および／または電子機器１０４ならびにインターフェース装置１０６）に接続するためのネットワーク通信モジュール５２８；
●インターフェース装置１０６の表示装置１０８、ゲームコントローラ１０２、および／または電子機器１０４において情報の表示を可能にするためのユーザインターフェースモジュール５３０（たとえば、アプリケーション（複数可）、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに／またはゲーム、オーディオコンテンツおよび／もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインターフェース）；
●インターフェース装置（複数可）１０６に関連するデバイスの準備、デバイス制御、およびユーザアカウント管理のためのサーバ側機能を提供するために実行されるメディアデバイスモジュール５３２（オプション）；
●ゲームコントローラ１０２ならびに／または電子機器１０４およびメディアデバイス１０６のうちのいずれかの位置情報に基づいて、インターフェース装置１０６に対するゲームコントローラ１０２および／または電子機器１０４の近さを判断するための近接／位置特定モジュール５３４；
●ゲームコントローラ１０２および／または電子機器１０４のデバイス機能ならびにネットワーク機能を評価するためのデバイス／ネットワーク評価モジュール５３６。ゲームコントローラ１０２および／または電子機器１０４への接続のネットワーク帯域幅を評価することと、ゲームコントローラ１０２および／または電子機器１０４がゲームをプレイするために必要なモジュールまたはアプリケーションを有しているかどうかを評価することとを含むが、これらに限定されない。；
●ゲームコントローラ１０２、電子機器１０４、および／またはインターフェース装置１０６にデータ（たとえば、ゲームコントローラ構成４５６）、ソフトウェアアップデートなど）を提供するためのデータ送信モジュール５３８；
●ゲームコントローラ１０２および電子機器１０４に対応付けられたユーザアカウント、たとえば、ユーザアカウントによる１つ以上のオンラインのインタラクティブゲーム会員に加入することを管理し、加入者の要求をバックエンドリソース１２４およびゲームサーバ１１８に転送し、加入者のゲームプレー活動および関連する要求を監視するサービスを加入者に対して有効にするためのフロントエンドモジュール５４０；
●ゲームプレー中リアルタイムでゲームオーディオおよび／またはビデオストリームをインターフェース装置１０６に送信し、（たとえば、ヘッドセットからの）ストリームを管理し、１つ以上のストリーミングサイトを管理するためのメディアストリーミングサーバモジュール５４２；
●ゲームに関連するサーバ側機能（たとえば、ゲームアプリケーション３４６および４３６）を提供するためのゲームサーバモジュール５４４。サーバ側機能は、ゲームセッションのセットアップ、セッション状態データおよびその他のゲーム関連データの格納、クライアントデバイス１０２および１０４からのゲームプレー入力の処理、ゲームプレー入力に応答したゲームプレー出力の描画、ならびにゲームプレーおよびレビュー映像のメディアストリームの同時生成などを含むが、これらに限定されない。；
●フロントエンド１１６が要求したサービスを実行する、および／または（たとえば、ゲームサーバ１２０およびストリーミングサーバ１２０からの）データにアクセスするためのバックエンドリソースモジュール５４２；
●データベース（複数可）１２２は、以下を含む：
○共通のデバイス設定（たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など）を含む、ゲームコントローラ１０２および電子機器１０４に関連する情報を格納するためのクライアントデバイス設定５５０；
○１つ以上のアカウントアクセス情報およびデバイス設定についての情報（たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など）を含む、メディアデバイスアプリケーション５３２のユーザアカウントに関連する情報を格納するためのメディアデバイス設定５５２（オプション）；
○ゲームコントローラ１０２ならびに／または電子機器１０４およびインターフェース装置１０６の存在、近さ、または位置に関連する情報を含む、位置／近接データ５５４；
○様々なゲームのコントローラ構成を格納するためのゲームコントローラ構成５５６；
○サーバシステム１１４上でホストされる１つ以上のゲームアプリケーションの各々（たとえば、ゲームアプリケーション２２８、図２）のユーザアカウントに関連する情報を格納するためのユーザ情報５５８。ユーザ情報５５８は、たとえば、ユーザアカウント情報（たとえば、ＩＤおよびパスワード）、ユーザプロフィール、購入したゲーム、会員種別、基本設定、ゲームカタログ、活動履歴、およびその他の権利を含む。；および
○ゲームセッション（たとえば、ゲーム状態データ、その他のゲーム関連データ）に関連するデータを格納するためのゲームセッションデータ５６０。ゲームセッションデータ５６０は、たとえば、第１ゲームセッションのゲームセッションデータ５６０−１および第２ゲームセッションのゲームセッションデータ５６０−２を含む。ゲームセッションごとのセッションデータ５６０は、フレームレート、描画仕様、通常のレイテンシ要件、ＧＰＵ割り当て情報、エンコーダー割り当て情報、関連セッションのＩＤ、およびそれぞれのゲームセッションに関連する最新のステータス情報を含むが、これらに限定されない。
【０１３２】
上述した要素の各々は、前述した記憶装置のうちの１つ以上に格納されてもよく、上述した機能を実行するための命令セットに対応する。上記モジュールまたはプログラム（すなわち、命令セット）は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要はないので、これらのモジュールの様々なサブセットを組み合わせたり、様々な実施態様に配置したりしてもよい。いくつかの実施態様では、メモリ５０６は、任意で、上述したモジュールおよびデータ構造のサブセットを格納する。さらには、メモリ５０６は、任意で、上述していない追加のモジュールおよびデータ構造を格納する。
【０１３３】
いくつかの実施態様では、サーバシステム１１４は、プレーヤーがゲーマー友達とメッセージをやり取りできるようにするメッセージングアプリケーションをゲームポータルＵＩにおいて管理するためのメッセージモジュール（図示せず）をさらに含む。
【０１３４】
これら原理に鑑みて、特定の実施態様について説明する。
実施態様
図６Ａ〜図６Ｃは、クラウドゲームのために新しいゲームコントローラ１０２を準備するための処理の例を示す図である。いくつかの実施態様では、新しいゲームコントローラ１０２は、ゲームに使われる前にセットアップされる必要がある。いくつかの実施態様では、このセットアップは、クラウドゲームをサポートする添付のアプリケーション（たとえば、ＧＯＯＧＬＥ  Ｈｏｍｅ  Ａｐｐｌｉｃａｔｉｏｎ６１２）を実行中の携帯電話６１０を用いて、環境６００（たとえば、自宅、寮、および／またはオフィス）において行われる。いくつかの実施態様では、セットアップ処理は、１つ以上のユーザをゲームコントローラ１０２に追加するステップと、ゲームコントローラ１０２を環境６００における１つ以上のインターフェース装置にペアリングすることとを含む。
【０１３５】
図６Ａによって示すように、ゲームコントローラ１０２は、十字キー６０２（すなわち、十字キー３１５）、「アシスタント」ボタン６０６、「ホーム」ボタン６０８、ならびにゲームコントロールボタン６０４−１、６０４−２、６０４−３、および６０４−４（すなわち、ボタン３１２）を含む複数のボタンなどの入力コンポーネントを含むと図示されている。いくつかの実施態様では、ゲームコントローラ１０２は、ジョイスティック（すなわち、図示しないジョイスティック３１６）と、ＬＥＤ（たとえば、ＬＥＤ（複数可）３２２および／またはスピーカー（たとえば、スピーカー（複数可）３２０）（図示せず）など、出力装置（たとえば、出力装置（複数可）３１８）とをさらに含む。いくつかの実施態様では、入力コンポーネントおよび出力コンポーネントの数ならびに種類、およびそれらの配置は、異なり得る。いくつかの実施態様では、ゲームコントローラの形状および／もしくは大きさならびに／またはジオメトリは、図示するゲームコントローラ１０２とは異なる。
【０１３６】
いくつかの実施態様では、１つ以上のボタンがゲームコントローラ１０２上の１つ以上のマイクロフォン（たとえば、マイクロフォン３１２）をアクティブする。これにより、オーディオ入力（たとえば、音声コマンド）が受信できるようになる。たとえば、ゲーマーは、アシスタントボタン６０６を押しながら「寝室のテレビでディビジョンをプレイする」と言うことができる。いくつかの実施態様では、ゲームコントローラ１０２は、（たとえば、音声アシスタンスモジュール３７０を用いて）コマンドをパースして、寝室のテレビに接続されたインターフェース装置とペアリングする。また、いくつかの実施態様では、インターフェース装置は、寝室のテレビをオンにする。テレビは、ゲーマーの直近のゲーミングセッションからそのままにされたゲーム「ディビジョン」から、一旦停止されたシーンを表示する。ゲーマーは、ボタンを押してシーンの一旦停止を解除し、ゲームコントローラ１０２と寝室のテレビとを使ってゲームプレーを再開する。
【０１３７】
いくつかの実施態様では、ユーザは、新しいゲームコントローラ１０２のセットアップを、最初に電源を入れることによって（たとえば、ホームボタン６０８および／または電源ボタン（図示せず）を押下することによって）開始する。ゲームコントローラ１０２は、アプリケーションによって検出されるＢｌｕｅｔｏｏｔｈ／Ｗｉｆｉビーコンを発する。いくつかの実施態様では、電源を入れることに従って、アプリケーション６１２は、ユーザインターフェース６６０上に新しいデバイス（「ゲームコントローラ」）が見つかったことを示すメッセージ６１４と、当該新しいデバイスを設定するためのアフォーダンス６１５とを自動的に表示する。この例では、ユーザは、アフォーダンス６１５−１（はい」）を選択してセットアップ処理を続ける。
【０１３８】
図６Ｂは、セットアップ処理を続けることに従って表示される例示的なユーザインターフェース６７０を示す図である。いくつかの実施態様では、ユーザは、名前６１６（たとえば、ユーザ名）、写真６１８、パスワード（図示せず）、および／または認証チャレンジ（複数可）（図示せず）を含むフィールドを入力するよう求められる。いくつかの実施態様では、ユーザは、キーボードディスプレイ６２０を利用して、および／またはアイコン６２１（たとえば、写真を撮影するためのアイコン６２１−１および／または写真をアップロードするためのアイコン６２１−２））をタップすることによって名前を入力する。
【０１３９】
いくつかの実施態様によると、図６Ｃによって示すように、アプリケーション６１２は、デフォルトのペアリングデバイスを設定するためのオプション６２２をユーザインターフェース６８０上にさらに表示する。オプション６２２は、ゲームコントローラ１０２とペアリング可能なデバイス（たとえば、インターフェース装置１０６）を表すアフォーダンス６２３を含む。オプション６２２は、ユーザにインターフェース装置１０６のうちの１つをゲームコンテンツを表示するためのデフォルトデバイスとして選択するよう求めるプロンプトをさらに含む。いくつかの実施態様では、デフォルトのペアリングデバイス（たとえば、デバイス６２３−２「居間」）が選択されてゲームコントローラ１０２がデフォルトで「居間」のインターフェース装置とペアリング接続されたあとにセットアップ処理が完了する。
【０１４０】
いくつかの実施態様では、新しいゲームコントローラ１０２をセットアップには、携帯電話（たとえば、携帯電話６１０）または携帯電話上で実行中の付属のアプリケーション（たとえば、アプリケーション６１２）の利用を必要としない。むしろ、セットアップおよび出力装置の選択は、ゲームコントローラ１０２とインターフェース装置１０６との間で直接、または、ゲームコントローラ１０２と表示装置１０８との間で直接行われる。たとえば、いくつかの実施態様では、インターフェース装置１０６または表示装置１０８は、新しいゲームコントローラ１０２をセットアップして出力装置を選択させるために実行され得る添付のアプリケーションを含む。いくつかの実施態様では、ゲームコントローラ１０２は、ゲームコントローラ１０２（たとえば、ゲームコントローラ１０２は、セットアップ命令を表示するオプションのディスプレイ３２４を含む）をセットアップして出力装置を選択するために実行され得る添付のアプリケーションを含む。
【０１４１】
いくつかの実施態様では、ゲームコントローラ１０２の電源が入った後、ユーザは、第２ボタンを押下することによって、および／またはゲームコントローラ１０２の電源を入れるために使われる同じボタンを再び押下することによってセットアップ処理を開始する。
【０１４２】
いくつかの実施態様では、ゲームコントローラ１０２は、名前／ユーザ名、写真、パスワード、認証チャレンジ）を含むユーザの情報、およびデフォルトインターフェース装置１０６を含むその他のデフォルト設定を（たとえば、デバイス／ユーザデータ３６６に）格納する。
【０１４３】
いくつかの実施態様では、ゲームコントローラは、ネットワーク認証情報（たとえば、Ｗｉｆｉネットワーク名および／またはパスワード）を（たとえば、デバイス／ユーザデータ３６６に）格納する。
【０１４４】
いくつかの実施態様では、ゲームコントローラ１０２は、複数のユーザ（たとえば、世帯の様々な構成員）によって使われる。したがって、第１ユーザがセットアップを完了した後、アプリケーション６１２は、その他のユーザを追加するオプションをさらに表示する。ゲームコントローラ１０２は、ユーザごとの認証情報を格納する。
【０１４５】
いくつかの実施態様では、ゲームコントローラ１０２は、ゲームコントローラ１０２上（たとえば、デバイス／ユーザデータ３６６）に格納されたデバイス識別子および／またはクライアント証明書を含む。したがって、ゲームコントローラ１０２は、各ユーザの認証情報をデバイス識別子および／またはクライアント証明書にリンクさせる。いくつかの実施態様では、（たとえば、図２Ａで説明したように）ゲームポータルＵＩを起動する要求に従って、ゲームコントローラは、デバイス識別子および／またはクライアント証明書の情報を、ユーザのＩＤとともに、認証システム１２５による検証のために認証システム１２５に送る。
【０１４６】
いくつかの実施態様では、アプリケーション６１２は、ゲームコントローラ１０２の既存ユーザのプロフィールを編集および／または削除するオプションをさらに含む。
【０１４７】
いくつかの実施態様では、ゲームコントローラがゲームコントローラ１０２に対応付けられているという環境６００（たとえば、世帯、寮など）についての情報は、クラウド（たとえば、サーバシステム１１４および／または認証ストレージ１２８）に格納される。これに加えて、いくつかの実施態様では、クラウドは、ユーザごとに、ユーザ情報設定、表示設定、およびユーザに対応付けられたゲームコントローラ（複数可）を格納する。
【０１４８】
図７〜図１１は、いくつかの実施態様に係る、ゲームコントローラ１０２およびインターフェース装置１０６の代表的な動作を示す図である。これらの例では、ゲームコントローラ１０２の準備は完了しており、インターフェース装置１０６に通信可能に接続されている（たとえば、ペアリングされている）と想定する。図７〜図１１は、表示装置１０８に連結されたインターフェース１０６を示す図である。いくつかの実施態様では、インターフェース装置１０６の機能は、表示装置１０８内に搭載（すなわち、組み込まれているおよび／または内蔵）されており、これに従って、表示装置１０８は、ゲームコントローラ１０２およびゲームサーバ（たとえば、サーバシステム１１４）と直接やり取りするように構成される。
【０１４９】
図７Ａ〜図７Ｃは、いくつかの実施態様に係る、人が１人いる環境７００における、図３のゲームコントローラ１０２と図４のインターフェース装置１０６との間の代表的なやり取りを示す図である。この例では、環境７００は、住居環境（「ジュリアの自宅」）であり、ゲームコントローラ１０２は、デフォルトユーザ（「ジュリア」）にリンクされている。
【０１５０】
ジュリアは、ゲームＵＩポータルを起動し、ゲームを選択することによってゲームを開始する（図２のＵＩの起動およびゲーム開始についての処理の流れを参照）。いくつかの実施態様では、最初、ゲームコントローラは、オフ／スタンバイモードであり、ジュリアは、ゲームコントローラ１０２の電源を入れる。ゲームコントローラ１０２は、電源が入った後、ジュリアの自宅のＷｉｆｉネットワークに自動的に接続し、（たとえば、キャッシュから）世帯メタデータを取得する。ゲームコントローラ１０２は、自動的にインターフェース装置１０６（たとえば、「居間」）とペアリングし、インターフェース装置１０６は（たとえば、ＣＥＣを利用して）、表示装置１０８を起動して正しい入力に切り替える。
【０１５１】
図７Ａは、ユーザプロフィール７１２（「ジュリア」）（たとえば、アバター、写真、および／または名前）、オンライン７１３の友達、ゲーム７１４および７１６（たとえば、購入したゲーム、新しいゲーム、最近プレイしたゲーム）、ならびにメニュー７１５など、特徴を含んだ例示的なゲームポータルＵＩを表示する表示画面７１０を示す図である。この例では、ジュリアは、ゲームコントローラ１０２の唯一のユーザであるため、自動的にデフォルトプレーヤーとしてログインする。
【０１５２】
ジュリアは、ゲームポータルＵＩ上でゲームを選択し、ゲームの起動を開始する。（ゲームの起動に際して生じる動作シーケンスの詳細は、図２Ｂで説明されている）。表示装置１０８上にゲームストリームが表示される。ジュリアは、ゲームをプレイする。
【０１５３】
いくつかの実施態様では、表示装置１０８が電源オフ／スタンバイモードであるという判断に従って、インターフェース装置１０６は、自動的に表示装置１０８の電源をオンにする。
【０１５４】
いくつかの実施態様では、１つの入力の有効化（たとえば、１つのボタンの押下）によって、ゲームコントローラ１０２の電源をオンにするタスク、およびインターフェース装置１０６上でゲームアプリケーションを開始するタスクが実行される。いくつかの実施態様では、ゲームコントローラ１０２の電源がオンにされた後、ユーザは、第２入力を有効にして（たとえば、ボタンを再び押下するまたは第２ボタンの押下）、ゲームポータルＵＩを起動する。
【０１５５】
いくつかの実施態様では、ゲームポータルＵＩは、特徴のサブセットおよび／または図７Ａに図示しない追加の特徴を含む。いくつかの実施態様では、ゲームポータルＵＩの特徴のサブセットは、すべてのユーザ用にカスタマイズされている。いくつかの実施態様では、ゲームポータルＵＩによって、ゲームサーバがホストするすべてのゲームコンテンツの一覧をユーザが閲覧およびアクセスできるようになる。
【０１５６】
いくつかの実施態様では、マイクロフォン３１２が受け付けて音声アシスタンスモジュール３７０が処理する音声入力／コマンド（たとえば、ユーザが「居間のテレビでレーシングカーを再生して」と言う）を用いて、ユーザは、ゲームの起動を開始する。
【０１５７】
図７Ｂは、ゲーミングセッションのシャットダウン処理を示す図である。いくつかの実施態様では、シャットダウンを開始するために、ユーザは、ゲームコントローラ１０２上のボタン（たとえば、ホームボタン６０８）を押下する。これにより、終了コマンドがインターフェース装置１０６に送られる。画面７２０は、ゲーミングセッションの終了を確認するメッセージウィンドウ７１８を表示する。ユーザが「はい」を選択（７２１）すると、ゲームコントローラ１０２の電源が切れる（または、スリープモードに入る）。ユーザが「いいえ／戻る」を選択すると（７２２）、ゲーミングセッションが再開し、画面７２０からメッセージウィンドウ７１８が消える（（図示せず）。
【０１５８】
いくつかの実施態様では、ユーザがゲーミングセッションの終了を確認することに応答して、インターフェース装置１０６は、終了コマンドをサーバシステム１１４に送信する。サーバシステム１１４は、必要に応じて、ゲーム／状態をセーブする。図７Ｃによって示すように、ゲーミングセッションが終了し、ゲームアプリケーションが終了し、表示装置は、背景７３０を表示する。
【０１５９】
いくつかの実施態様では、異なる方法でボタンを押下することによって、同じボタン（たとえば、ホームボタン６０８）を使って異なるメニューおよび機能にアクセスすることができる。たとえば、ホームボタン６０８の「短／通常」押しを使って、ゲームコントローラ１０２の電源を入れてゲームポータルＵＩの起動を開始し、ホームボタン６０８の「長」押しによって、メニューボタン（たとえば、クイックアクセスメニュー）を起動し、および／またはゲーミングセッションのシャットダウンを開始する。
【０１６０】
また、いくつかの実施態様では、インターフェース装置１０６は、ゲーム用に使用されていない時に、その他の（ゲームではない）メディアコンテンツをストリーム配信するためのメディアストリーミングデバイスとして使用される。
【０１６１】
図８Ａ〜図８Ｂは、いくつかの実施態様に係る、複数人の環境８００における図３のゲームコントローラ１０２と図４のインターフェース装置１０６との代表的なやり取りを示す図である。この例では、複数人の環境８００は、２人世帯であり、ゲームコントローラ１０２は、世帯の構成員である「ジュリア」と「ジャック」によって利用される。ゲームコントローラ１０２は、ジュリアとジャックについてのユーザ認証情報を格納する。いくつかの実施態様では、複数人の環境は、３人以上を含み、各人がゲームコントローラ１０２をオンラインゲームに利用する。
【０１６２】
図８の例では、ジャックは、図２および図７で記載のステップを用いてゲームポータルＵＩを起動する。図８Ａは、プレーヤーアカウント８１２（「ジュリア」）およびプレーヤーアカウント８１４（「Ｊａｃｋｉｏ」）のオプションを表示する画面８１０を示す図である。いくつかの実施態様では、画面８１０は、「ゲスト」プレーヤーアカウント８１６のオプションをさらに含む。この例では、ジャックは、プレーヤーアカウント８１４（「Ｊａｃｋｉｏ」）を選択する。
【０１６３】
いくつかの実施態様では、ゲームアプリケーションは、（たとえば、セキュリティモジュール３６８を用いた）認証のための特徴をさらに含む。図８Ｂに示すように、ジャックがプレーヤーアカウント８１４（「Ｊａｃｋｉｏ」）を選択した後、画面８３０は、電話８２０−１、音声８２０−２、およびＰＩＮ８２０−３を含む複数の認証オプション８２０を含んだメッセージ８１８を表示する。電話オプション８２０−１が選択された場合、インターフェース装置１０６および／またはゲームコントローラ１０２は、ゲームコントローラ１０２近傍の電話のＩＤを検知し、当該電話から取得されたＩＤを使ってユーザを認証する。音声オプション８２０−２が選択された場合、画面は、ユーザに（たとえば、マイクロフォン３１２を使った）音声入力を要求するプロンプトを表示する（たとえば、ジャックは、アシスタントボタン６０６を押しながら「私はジャックです」と言う）。次に、音声入力を、ゲームコントローラ１０２上に（デバイスデータ３５４に）格納されたログイン認証情報と比較する。ＰＩＮオプション８２０−３が選択された場合、ジャックは、ゲームコントローラ１０２上の十字キーおよび／またはボタンのうちの１つ以上を使って自身のＰＩＮを入力する。その後、当該ＰＩＮがゲームコントローラ１０２上に格納されたログイン認証情報と比較される。いくつかの実施態様では、ユーザであるジャックが認証した後、ゲームコントローラ１０２は、ユーザであるジャック（図２Ａのステップ２０４を参照）に対応する認証トークンをインターフェース装置１０２に送信し、ユーザであるジャックのアクセストークンを用いてゲームポータルＵＩが起動される。
【０１６４】
いくつかの実施態様では、ゲームポータルＵＩは、起動したときにゲストアカウントオプション（たとえば、「ゲスト」プレーヤーアカウント８１６）を含む。いくつかの実施態様では、ゲストアカウントによって、ゲームコントローラ１０２上に認証情報が格納されていないゲストユーザがゲストユーザに関する情報を入力できるようになる。いくつかの実施態様では、ゲストアカウントは、ゲストユーザの限定的なアカウント権限および／または限定的なオプションを提供する（たとえば、ゲストユーザは、限られた数のゲームへのアクセス権を有し、ゲストユーザは、いずれのゲームも所有しておらず、ゲストユーザは、ゲームなどを購入することができない）。
【０１６５】
図９Ａ〜図９Ｆは、いくつかの実施態様に係る、環境９００における２つのゲームコントローラ１０２−１および１０２−２とインターフェース装置１０６との間の例示的なやりとりを示す図である。ゲームコントローラ１０２−１および１０２−２の各々は、インターフェース装置１０６と通信可能に接続（たとえば、ペアリング）される。
【０１６６】
いくつかの実施態様では、ゲーミングセッションは、１つのローカル環境９００で、２つのゲームコントローラを使って２人のプレーヤーによって同時に実行される。この例では、環境９００は、２人の構成員であるジュリアとジャックがいる住居環境とし、各々が自身のゲームコントローラを持っている。第１コントローラ１０２−１は、ユーザ「Ｊｕｌｉａ」にリンクされており、第２コントローラ１０２−２は、ユーザ「Ｊａｃｋ」にリンクされている。ジュリアは、図２および図７で記載のステップを用いてゲームポータルＵＩを起動する。
【０１６７】
いくつかの実施態様では、ゲームコントローラ１０２およびインターフェース装置の各々は、各デバイスＩＤおよびクライアント証明書によって識別される。ゲームコントローラＩＤは、最終的に、ゲームアカウントとリンクされたユーザを識別し、インターフェース装置１０６上のすべてのユーザ固有のコンテンツを操作する。
【０１６８】
いくつかの実施態様では、インターフェース装置１０６は、接続された（たとえば、ペアリングされた）すべてのゲームコントローラ１０２のゲームアプリケーション（ゲームアプリケーション４３６）のインスタンスを開始し、各ゲームコントローラをデバイスＩＤおよびクライアント証明書によって識別する。
【０１６９】
図９Ａは、プレーヤーアカウント９１２（「Ｊｕｌｉａ」）と、プレーヤーアカウント９１４（「Ｊａｃｋｉｏ」）と、プレーヤーアカウント８１６（「Ｇｕｅｓｔ」）とを選択するオプションがある画面９１０を示す図である。ジュリアは、自身のゲームコントローラ１０２−１上の十字キー９０２および／またはボタン９０４、９０６、および／または９０８を使ってプレーヤーアカウント９１２（「Ｊｕｌｉａ」）を選択する。いくつかの実施態様では、ジュリアは、図８Ｂに記載のステップを用いて自身のＩＤを認証するように求められる。いくつかの実施態様では、ジュリアが自分のアカウントを選択した（および認証処理を経た）後、ゲームコントローラ１０２−１は、ジュリアに対応する認証トークンをインターフェース装置１０６に送り、ジュリアのアクセストークンを使ってゲームポータルＵＩが起動される。
【０１７０】
図９Ｂは、起動後のジュリアのゲームポータルＵＩを表示する画面９５０を示す図である。ゲームポータルＵＩの機能は、図７Ａに記載されている。
【０１７１】
図９Ｃでは、ジャックは、自身のゲームコントローラ１０２−２上のボタンを押下することによってジュリアのセッションにリンクする。いくつかの実施態様では、ジャックは、プレーヤーアカウント９１４（「Ｊａｃｋｉｏ」）を選択し、認証処理を経る。ゲームコントローラ１０２−２もインターフェース装置１０６とペアリング済みであると認識するので、インターフェース装置１０６は、ジュリアのゲームポータルＵＩ９６０上に、ジュリアのコントローラ（すなわち、ゲームコントローラ１０２−１）へのリンクを要求する警告ウィンドウ９２８と、オプション９３０および９３２とを表示する。ジャックは、オプション９３０（「はい」）を選択すると、ジュリアのゲーミングセッションに参加する。ジャックは、オプション９３２（「いいえ」）を選択すると、ペアリングする装置に異なるインターフェース装置を選択してもよい（図示せず）。
【０１７２】
いくつかの実施態様では、第２プレーヤーが第１プレーヤーのゲーミングセッションに参加した時、第１プレーヤーがゲーミングセッションの「ホスト」（または、プライマリユーザ）となり、第２プレーヤーが「ゲスト」（または、セカンダリユーザ）となる。サーバ（たとえば、ストリーミングサーバ１０２）は、ゲームメディアコンテンツを表示装置１０８にストリーム配信し、ゲームコントローラ１０２−１およびゲームコントローラ１０２−２から同時にゲーム入力を受信する。
【０１７３】
いくつかの実施態様では、複数のゲームコントローラ１０２がインターフェース装置１０６に接続された時、ゲームポータルＵＩを操縦する際には、プライマリユーザのゲームコントローラ（すなわち、この例では、１０２−１）のみが使用される。プライマリユーザは、ゲームアプリケーションを起動するユーザであり、そのコンテンツがゲームポータルＵＩによって表示されている。
【０１７４】
いくつかの実施態様では、ゲーミングセッションが開始するまで、ホストのみがゲームポータルＵＩを制御できる。いくつかの実施態様では、ゲーミングセッション中、コントローラ１０２−１および１０２−２の各々は、独立してサーバシステム１１４に入力を送り、ゲームコントローラ１０２−１および１０２−２の各々は、独立してインターフェース装置１０６と通信を行う。
【０１７５】
図９Ｄおよび図９Ｅは、いくつかの実施態様に係る、マルチプレーヤーゲーミングセッションを終了する様子を示す図である。この例では、ゲストプレーヤー（すなわち、ジャック）は、ゲームコントローラ１０２−２上のボタンを押下することによって（たとえば、ホームボタン６０８の長押しによって）、ゲーミングセッションを終了する。ゲストプレーヤーの入力に応答して、画面９７０は、ゲストプレーヤーの終了を確認するメッセージ９３２を表示する。ジャックは、（たとえば、オプション９３４（「はい」を選択することによって）終了を確認した場合、ゲームコントローラ１０２−２の電源を切る。いくつかの実施態様では、ゲストプレーヤーが終了する一方で、ホットプレーヤーおよびその他のセカンダリユーザは、ゲーミングセッションを続ける。いくつかの実施態様では、ゲーミングセッションは、ホスト（すなわち、ジュリア）が接続されている限り続く。
【０１７６】
ジャックがゲーミングセッションを終了して少し経った後、ホストプレーヤーであるジュリアは、ゲーミングセッションを終了しようと決める。彼女は、ゲームコントローラ上のボタンを押下して、ゲームの終了を開始する。ホストプレーヤーの入力に応答して、ホストプレーヤー（図示せず）の終了を確認するメッセージが画面上に表示される。いくつかの実施態様では、ゲーミングセッションを終了するというホストプレーヤーからの確認に従って、ゲームサーバ（たとえば、サーバシステム１１４）は、ゲーム／状態をセーブして、（たとえば、図７Ｂで記載のステップに従って）ゲームサービスを終了する。いくつかの実施態様によると、図９Ｅに示すように、インターフェース装置１０６は、ゲームサービスが終了した後に、背景表示９８０を表示装置１０８上に表示する。
【０１７７】
いくつかの実施態様では、ホストプレーヤー／アカウントがゲーミングセッションを終了する、および／またはホストのゲームコントローラの電源が切られた時にのみ、ゲーミングセッションは、終了する。
【０１７８】
図９Ｆは、いくつかの実施態様に係る、環境９００における、ゲスト（「Ｂｒａｎｄｏｎ」）のゲームコントローラ１０２−３のセットアップ処理を示す図である。この例では、ブランドンは、ゲームコントローラ１０２−３を持ってジュリアとジャックの家を訪れる。家では、ブランドンは、携帯電話９３８上の添付のアプリケーション９５５（たとえば、Ｈｏｍｅ  Ａｐｐｌｉｃａｔｉｏｎ６１２）上で、自身のゲームコントローラ「Ｂｒａｎｄｏｎ１」の接続が失われたというメッセージ９５２を受信する。また、メッセージ９５２は、オプション９５３および９５４を含む。いくつかの実施態様では、ブランドンは、アプリケーション９５５を利用して、ゲームコントローラ１０２−３を家のローカルネットワークに（たとえば、ジュリアとジャックの家のＷｉｆｉ接続に）接続する。いくつかの実施態様では、ブランドンは、さらにアプリケーション９５５を利用して、デフォルトのペアリングデバイス（たとえば、ジュリアとジャックの家にあるインターフェース装置１０６）を選択する。いくつかの実施態様では、デフォルトのペアリングデバイスを選択した後、ブランドンは、ゲームコントローラ１０２−３上のボタンを押下してインターフェース装置１０６とペアリングし、ゲームポータルＵＩを起動する。
【０１７９】
図９Ｆは、アカウント９４０（「Ｂｅｌｌｅ」）およびアカウント９４２（「Ｂｒａｎｄｏｎ」）を含む、ブランドンのゲームコントローラ１０２−３にリンクされるアカウントを表示する画面９９０を示す図である。ブランドンは、自身のＩＤに対応するアカウント９４２（「Ｂｒａｎｄｏｎ」）を選択する。この例では、ゲームコントローラ１０２−３が異なるＷｉｆｉネットワークに接続されているので、ブランドンは、アカウント９４２（「Ｂｒａｎｄｏｎ」）に対応するＰＩＮ９４４を入力して自身のＩＤを検証する必要がある。ＰＩＮ９４４が格納されたブランドンの認証情報と一致するというゲームコントローラ１０２−３からの判断に従って、ゲームコントローラは、ブランドンのためにゲームポータルＵＩを起動する処理に進む。いくつかの実施態様では、図９Ｂおよび図９Ｃに記載のステップを用いて、ジュリアは、自身のコントローラ１０２−１をブランドンのセッションにゲストとしてリンクさせることができる。
【０１８０】
図１０Ａ〜図１０Ｂは、いくつかの実施態様に係る、環境１０００におけるゲームコントローラ１０２と２つのインターフェース装置１０６−１および１０６−２とのやり取りの例を示す図である。インターフェース装置１０６−１および１０６−２は、それぞれ表示装置１０８−１および１０８−２に連結される。ゲームコントローラ１０２は、インターフェース装置１０６−１および１０６−２の各々と通信可能に接続（たとえば、ペアリング）される。
【０１８１】
いくつかの実施態様では、インターフェース装置１０６−１および１０６−２は、環境１０００の異なる場所に位置する。この例では、環境１０００は、住居環境であり、インターフェース装置１０６−１および１０６−２は、それぞれ居間と寝室に位置する。インターフェース装置１０６−１（居間のテレビ）がゲームコントローラ１０２のデフォルトのペアリングデバイスであると想定する。よって、ゲームアプリケーションが開始されたとき、デフォルトの表示装置１０８−１は、ゲームコントローラ１０２に対応付けられたアカウント１００２（「Ｊｕｌｉａ」）および１００４（「Ｊａｃｋｉｏ」）を含んだ画面１０１０を表示する。デフォルト以外のインターフェース装置（すなわち、寝室のテレビ１０８−２に連結されたインターフェース装置１０６−２）は、ゲームコントローラ１０２をインターフェース装置１０６−２にリンクさせるための命令を含むメッセージ１００６付きの画面１００２を表示する。
【０１８２】
図１０Ｂは、ゲームコントローラ１０２が、デフォルト設定に関わらず、インターフェース装置との近さに基づいてインターフェース装置と自動的にペアリングする別の実施態様を示す図である。ここでは、インターフェース装置１０６−１がデフォルトのペアリングデバイスであるが、ゲームコントローラ１０２がその近傍の１つ以上のインターフェース装置（複数可）（たとえば、１０６−１および１０６−２）を検出し、最も近接するインターフェース装置（すなわち、１０６−２）とペアリングする。
【０１８３】
いくつかの実施態様では、ゲームコントローラ１０２は、無線機３３０を使って有効化された１つ以上の通信ネットワーク（たとえば、Ｗｈｉｓｐｅｒｎｅｔ、ＢＬＥおよび／またはＷｉｆｉ）を利用して、インターフェース装置１０６−１および１０６−２までの近さを検出し、ゲームコントローラ１０２により近接するインターフェース装置とペアリングする。たとえば、ゲームコントローラ１０２は、ゲームコントローラ１０２から送信される信号１０１２および１０１４（たとえば、Ｗｈｉｓｐｅｒｎｅｔ、ＢＬＥおよび／またはＷｉｆｉ）を利用して、インターフェース装置１０６−２よりもインターフェース装置１０６−１により近接していると判断する。この判断に従って、ゲームコントローラ１０２は、最も近くのデバイス（１０６−２）とペアリングする。
【０１８４】
あるいは、いくつかの実施態様では、ゲームコントローラ１０２とそれぞれのインターフェース装置１０６との近さは、それぞれのインターフェース装置上の１つ以上のマイクロフォン（たとえば、マイクロフォン４１４）を使用してそれぞれのインターフェース装置によって判断される。たとえば、図１０Ｂを参照すると、インターフェース装置１０６−２マイクロフォン４１４は、ユーザが歩いて部屋に入ったことを示すオーディオ入力を受信し、それに従って、インターフェース装置１０６−２がその存在およびペアリング接続できることをゲームコントローラ１０２に明るみにする。
【０１８５】
いくつかの実施態様では、図１０Ｂに示すように、ゲームコントローラ１０２とペアリング接続することに応答して、インターフェース装置１０６−２は（たとえば、ＣＥＣを利用して）、表示装置１０８−２を起動して、正しい入力に切り替える。さらには、インターフェース装置１０６−２は、ゲームコントローラ１０２にリンクされたアカウント１０１６（「Ｊｕｌｉａ」）および１０１６（「Ｊａｃｋｉｏ」）を含んだ画面１０４０を表示する。デフォルトのインターフェース装置１０６−１は、ゲームコントローラ１０２とペアリング接続されない。これに従って、表示装置１０８−１は、真っ白な画面１０３０を表示する。
【０１８６】
図１１Ａ〜図１１Ｄは、いくつかの実施態様に係る、ゲームプレー中にディスプレイを切り替えるための、ゲームコントローラ１０２と２つのインターフェース装置１０６−１および１０６−２との間のやり取りの別の例を示す図である。
【０１８７】
この例では、ジャックがゲームコントローラ１０２を使って「レーシングカー」というゲームを居間でプレイしている。図１１Ａに示すように、居間のテレビ１０８−１は、ゲームの中からシーン１１１０を表示し、寝室のテレビ１０８−２は、真っ白な画面１１２０を表示している。
【０１８８】
ジャックは、ゲームを寝室に移動しようと決める。図１１Ｂに示すように、ジャックは、（たとえば、ゲームコントローラ１０２上のボタン３１４のうちの１つを押下することによって）居間のテレビ１０８−１上のゲームを一旦停止する。画面１１１０は、ゲームが一旦停止されたことを示すウィンドウ１１０６を表示する。いくつかの実施態様では、ジャックは、第２ボタンを押下して、異なる表示オプションを含むメニュー１１０４にアクセスする。この例では、ジャックは、オプション１１０４−１（「寝室のテレビ」）を選択する。いくつかの実施態様では、ジャックが異なる（すなわち、寝室の）ディスプレイを選択することに応答して、居間のテレビ１０８−１に接続されたインターフェース装置１０６−１がゲームサービスを終了し、表示装置１０８−１は、背景１１３０を表示する（図１１Ｃを参照）。
【０１８９】
図１１Ｃは、ジャックがゲームコントローラ１０２を持って寝室に移動した様子を示す図である。いくつかの実施態様では、ゲームコントローラ１０２は、（たとえば、図１０Ｂの実施態様に従って）最も近接するインターフェース装置１０６−２と自動的にペアリングする。ペアリングに応答して、インターフェース装置１０６−２は（たとえば、ＣＥＣを利用して）、表示装置１０８−２を起動し、正しい入力に切り替える。画面１１４０によって示すように、ゲームサービスが起動し、一旦停止状態のゲームを再開する。ジャックは、ゲームの一旦停止を解除し、ゲームプレーを再開する。これらの動作のすべては、ユーザ側の中断を最低限に抑えて、容易かつシームレスに行われる。
【０１９０】
あるいは、図１１Ｄによって示すように、ユーザは、音声起動を利用して、ゲームプレーを環境１１００内の異なる場所に移動させることができる。これの例では、ジャックは、ゲームコントローラ１０２を持って歩いて寝室に入った後、ゲームコントローラ１０２上のボタン（たとえば、アシスタンスボタン６０６）を押してもよい。当該ボタンは、ゲームコントローラ１０２上の１つ以上のマイクロフォン（たとえば、マイクロフォン３１２）を起動する。ジャックは、音声コマンド１１１８（「寝室のテレビでレーシングカーを再生して」）を発行する。いくつかの実施態様では、音声コマンドに応答して、ゲームコントローラ１０２は、（たとえば、音声アシスタンスモジュール３７０を用いて）当該コマンドをパースし、「寝室のテレビ」が表示オプションのうちの１つであると識別し、「寝室のテレビ」１０８−２に接続されたインターフェース装置１０６−２とペアリングする。いくつかの実施態様では、この音声コマンドは、サーバシステム１１４において処理されるために（インターフェース装置１０６−２を介して）サーバシステム１１４に送信される。
【０１９１】
これに加えて、様々な図および実施態様によって説明したように、ゲームコントローラ１０２、電子機器１０４、および／またはインターフェース装置１０６に通信可能に接続されたその他の電子機器を用いて、ユーザ、ネットワーク、および内部のデバイスについて分かる「環境グラフ」（たとえば、住居環境の場合、自宅グラフ）を作成することができる。いくつかの実施態様では、ゲームコントローラ１０２は、このグラフを使ってユーザ、デバイス、および接続可能なディスプレイを識別することができる。
【０１９２】
図１２Ａ〜図１２Ｃは、いくつかの実施態様に係る、クラウドゲームのための方法１２００のフローチャート表現である。方法１２００は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する第１電子機器（たとえば、図４のインターフェース装置１０６）において実施される。いくつかの実施態様では、方法１２００は、（１）１つ以上のインターフェース装置１０６、（２）１つ以上のゲームコントローラ１０２、（３）１つ以上の電子機器１０４、（４）サーバシステム１１４など１つ以上のサーバシステム、または（５）それらの組合せによって実行される。いくつかの実施態様では、方法１２００は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ１０２の１つ以上のプロセッサ３０２など、デバイス／コンピューティングシステムの１つ以上のプロセッサ、および／またはインターフェース装置１０６の１つ以上のプロセッサ４０２、および／またはサーバシステム１１４の１つ以上のプロセッサ５０２によって実行される。便宜上、後述する具体的な動作は、表示装置１０８（たとえば、テレビ、コンピュータモニタ）に連結されるインターフェース装置１０６によって実行されると説明する。
【０１９３】
インターフェース装置１０６は、第１電子機器に近接する第２電子機器から、クラウドゲーミングセッションを起動するための第１のユーザ入力を受信する（１２０２）。インターフェース装置１０６と第２電子機器とは、共通ネットワーク（たとえば、ローカルネットワーク１１０、１４０、および／または１５０）上で通信可能に接続されている。
【０１９４】
いくつかの実施態様では、第２電子機器は、ゲームコントローラ（たとえば、ゲームコントローラ１０２）である（１２０４）。いくつかの実施態様では、第１のユーザ入力は、ゲームコントローラ１０２上のボタンの選択（たとえば、ボタン３１４のうちの１つ）を含む。
【０１９５】
いくつかの実施態様では、最初、ゲームコントローラ１０２は、電源オフ／スタンバイモードであり、第１のユーザ入力によってゲームコントローラ１０２の電源がオンになる。いくつかの実施態様では、ゲームコントローラ１０２は、電源がオンになった後、ローカルネットワークに自動的に接続する（たとえば、Ｗｉｆｉネットワーク）。いくつかの実施態様では、ゲームコントローラは、ローカルネットワークに接続した後、自動的に（デフォルト）インターフェース装置１０６とペアリングする。
【０１９６】
いくつかの実施態様では、インターフェース装置１０６は、キャスティングデバイスおよび／またはメディアストリーミングデバイスである。いくつかの実施態様では、インターフェース装置１０６は、ハードウェアドングルである。
【０１９７】
いくつかの実施態様では、第２電子機器は、スマートフォン、タブレットデバイス、ラップトップ、およびコンピュータ（たとえば、図１の電子機器１０４）のうちの１つである。いくつかの実施態様では、第２電子機器は、１つ以上の標準化されたゲームコントローラ構成を実装するための仮想コントローラアプリケーションを含む。
【０１９８】
いくつかの実施態様では、表示装置１０８は、電源オフ状態である（１２２８）。この例では、第１のユーザ入力を受信することに応答して、インターフェース装置１０６は、表示装置の電源をオンにして（１２３０）、第１電子機器に連結された表示装置の入力ポート（たとえば、ＨＤＭＩポート）をユーザの介入なしで自動的に選択する（１２３２）ことによって、（たとえば、Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏｎｔｒｏｌを利用して）インターフェース装置１０６の出力を表示装置１０８上に表示させる。
【０１９９】
第１のユーザ入力を受信することに応答して、インターフェース装置１０６は、ゲームサーバ上のゲームサービスに接続する（１２０８）。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースの起動は、図２Ａで記載の処理に従って行われる。
【０２００】
インターフェース装置１０６は、ユーザに対応付けられたデフォルトのプレーヤーＩＤを、ユーザの介入なしで自動的に識別する（１２１０）。いくつかの実施態様では、デフォルトのプレーヤーＩＤは、第２電子機器のデフォルトユーザである。いくつかの実施態様では、第２電子機器は、（たとえば、図７のユーザが１人の世帯における）１人のユーザに対応付けられており、デフォルトのプレーヤーＩＤは、当該１人のユーザである。いくつかの実施態様では、第２電子機器は、２人以上のユーザに対応付けられており、デフォルトのプレーヤーＩＤは、セットアップ中（たとえば、図６に示す準備処理中）に設けられる。いくつかの実施態様では、デフォルトのプレーヤーＩＤは、第２電子機器上に格納される（たとえば、ゲームコントローラ１０２上に格納される）。
【０２０１】
インターフェース装置１０６は、ゲームサーバと連動して、デフォルトのプレーヤーＩＤを用いてクラウドゲーミングセッションを起動する（１２１２）。いくつかの実施態様では、インターフェース装置１０６は、第２のユーザ入力（たとえば、ユーザがゲームコントローラ１０２上の第２ボタンを押下する）に応じてクラウドゲーミングセッションを起動する。
【０２０２】
いくつかの実施態様では、ユーザ入力は、ゲームの選択を含む（１２０４）。いくつかの実施態様では、ゲームの選択は、ゲームコントローラ１０２上の１つ以上のボタン（たとえば、ボタン、３１４）、および／または十字キー（たとえば、十字キー（複数可）３１５）、および／またはジョイスティック（たとえば、ジョイスティック３１６）を使って行われる。いくつかの実施態様では、ゲームの選択は、第２電子機器上のキーボード、マウス、仮想ボタン、仮想十字キー、および／または仮想ジョイスティックのうちの１つ以上を使って行われる。
【０２０３】
いくつかの実施態様では、ゲームの選択に従って、インターフェース装置１０６は、ゲームサーバ（たとえば、ゲームサーバシステム１１４）からゲームのゲームメディアストリームを取得し（１２１４）、ゲームメディアストリームをデコードし（１２１６）、デコードされたゲームメディアストリームを表示装置１０８に出力する（１２１８）。ここで、ゲームメディアストリームは、ゲーミングセッションを起動する（１２１２）時に第２電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームサーバによって生成される。いくつかの実施態様では、インターフェース装置１０６は、サーバインターフェースモジュール４４０を介して、および／または図２Ｂで説明した処理を利用して、ゲームのゲームメディアストリームを取得する。
【０２０４】
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置１０６は、セッションを終了するというユーザによる要求を第２電子機器から受け付ける（１２２０）。
【０２０５】
いくつかの実施態様では、要求に応答して、インターフェース装置１０６は、終了要求を確認するメッセージを表示画面上に表示する。いくつかの実施態様では、インターフェース装置１０６は、終了要求を確認する第２入力を受信する。確認に従って、インターフェース装置１０６は、サーバシステム１１４に終了要求を送信し、サーバシステム１１４に、ゲームの状態を（たとえば、データベース（複数可）１２２に）セーブさせる。
【０２０６】
いくつかの実施態様では、インターフェース装置１０６は、たとえば、（ゲームサーバ１１４から）クラウドゲーミングセッションをセーブするという指示を受信する（１２２２）。指示に従って、インターフェース装置１０６は、ゲームサービスを終了し（１２２４）、表示装置１０８上にデフォルトの画面表示を表示する（１２２６）。（たとえば、図７Ｃの背景画面７３０）。いくつかの実施態様によると、インターフェース装置１０６は、終了要求を拒否する第２のユーザ入力を受信する（たとえば、ユーザは、図８Ｂのオプション７２２（「いいえ／戻る」）を選択する）。終了要求を拒否する第２のユーザ入力に従って、ゲームセッションが再開／継続する。
【０２０７】
いくつかの実施態様では、インターフェース装置１０６は、第３電子機器からペアリング通知を受信する（１２３４）。いくつかの実施態様では、第３電子機器は、ゲームコントローラ１０２とは別個の第２ゲームコントローラ（たとえば、図９Ｆのゲームコントローラ１０２−３）である。
【０２０８】
いくつかの実施態様では、ペアリング通知に従って、インターフェース装置１０６は、複数のプレーヤーＩＤを含むログイン画面を表示装置１０８上に表示する（１２３６）。プレーヤーＩＤの各々は、第３電子機器と対応付けられている（たとえば、リンクさせられている）。
【０２０９】
いくつかの実施態様では、インターフェース装置１０６は、プレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を第３電子機器から受信する（１２３８）。
【０２１０】
いくつかの実施態様では、インターフェース装置１０６は、第１のプレーヤーＩＤに関連する画面を表示装置１０８上に表示する（１２４０）。いくつかの実施態様では、第３電子機器は、前記ローカルネットワークとは別個の第２ローカルネットワークに対応付けられている。この例では、第１のプレーヤーＩＤの選択は、（たとえば、図９Ｆに示すように）第１のプレーヤーＩＤに対応付けられたパスワードの入力要求を含み、第１のプレーヤーＩＤに関連する画面の表示は、当該パスワードが第３電子機器１０２−３に格納されたパスワードに一致するという判断に従って行われる。
【０２１１】
いくつかの実施態様では、インターフェース装置１０６は、第２電子機器を第３電子機器とリンクさせる（１２４２）ことによって、第２電子機器と第３電子機器とに、選択されたゲームを一緒にプレイさせる。図９の例に示すように、ブランドンとジュリアは、第１電子機器（すなわち、インターフェース装置１０６）を用いたゲーミングセッションで一緒にプレイし、彼らのそれぞれのコントローラを介して別個のそれぞれのゲームコマンドを送る。
【０２１２】
いくつかの実施態様では、第２電子機器は、ゲストデバイスであり、第３電子機器は、ゲーミングセッションのホストデバイスである（１２４４）。いくつかの実施態様では、複数のゲームコントローラ１０２がインターフェース装置１０６に接続された時、ゲームポータルＵＩの操作には、プライマリユーザ（すなわち、ホストデバイスのユーザ）のゲームコントローラのみが使われる。いくつかの実施態様では、プライマリユーザ（すなわち、ホストデバイスのユーザ）は、ゲームアプリケーションを起動するユーザであって、ゲームポータルＵＩに自身のコンテンツが表示されているユーザである。
【０２１３】
いくつかの実施態様によると、コンピューティングシステム（たとえば、インターフェース装置１０６）は、１つ以上のプロセッサと、当該１つ以上のプロセッサに連結されたメモリとを含む。メモリは、１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、１つ以上のプログラムは、上記方法および／または動作を実行するための命令を含む。
【０２１４】
いくつかの実施態様によると、（たとえば、メモリ４０６内の）非一時的なコンピュータ読み取り可能な記憶媒体は、１つ以上のプログラムを格納し、当該１つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および／または動作を実行させる命令を含む。
【０２１５】
図１３Ａ〜図１３Ｅは、いくつかの実施態様に係る、クラウドゲームのための方法１３００のフローチャート表現である。方法１３００は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する第１電子機器（たとえば、図４のインターフェース装置１０６）において実施される。いくつかの実施態様では、方法１２００は、（１）１つ以上のインターフェース装置１０６、（２）１つ以上のゲームコントローラ１０２、（３）１つ以上の電子機器１０４、（４）サーバシステム１１４などの１つ以上のサーバシステム、または（５）それらの組合せ、によって実行される。いくつかの実施態様では、方法１３００は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ１０２の１つ以上のプロセッサ３０２など、デバイス／コンピューティングシステムの１つ以上のプロセッサ、および／またはインターフェース装置１０６の１つ以上のプロセッサ４０２、および／またはサーバシステム１１４の１つ以上のプロセッサ５０２によって実行される。便宜上、後述する具体的な動作は、表示装置１０８（たとえば、テレビ、コンピュータモニタ）に連結されるインターフェース装置１０６によって実行されると説明する。
【０２１６】
インターフェース装置１０６は、クラウドゲーミングセッションを起動するための第１のユーザ入力を、第１電子機器に近接する第２電子機器から受信する（１３０２）。第１のユーザ入力は、ゲームの選択を含む。インターフェース装置１０６と第２電子機器とは、共通ネットワーク上で通信可能に接続されている。いくつかの実施態様では、第２電子機器は、ゲームコントローラ（たとえば、ゲームコントローラ１０２）である（１２０４）。いくつかの実施態様では、第１のユーザ入力は、ゲームコントローラ１０２上のボタンの選択（たとえば、ボタン３１４のうちの１つ）を含む。
【０２１７】
インターフェース装置１０６は、第１のユーザ入力を受信することに応答して、ゲームサーバ上のゲームサービスに接続する（１３０６）。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースを起動することは、図２Ａで記載の処理に従って行われる。
【０２１８】
インターフェース装置１０６は、複数のプレーヤーＩＤを含むログイン画面を、ユーザの介入なしで自動的に表示装置に表示する（１３０８）。いくつかの実施態様では、複数のプレーヤーＩＤの各々は、第２電子機器の各ユーザに対応する（１３１２）。いくつかの実施態様では、第２電子機器は、複数のプレーヤー（ユーザ）によって使われ、複数のプレーヤーＩＤは、第２電子機器が対応付けられた（すなわち、リンクされた）複数のプレーヤーに対応する。いくつかの実施態様では、複数のプレーヤーＩＤは、各プレーヤー名（またはユーザ名）および／またはそれぞれのプレーヤーを視覚的に表現したもの（たとえば、写真、画像、および／またはプレーヤーのアバター）を含む。
【０２１９】
いくつかの実施態様では、第２電子機器は、デバイスＩＤおよび／またはクライアント証明書によって識別される。いくつかの実施態様では、第２電子機器は、複数のプレーヤーＩＤにリンクされる。複数のプレーヤーＩＤは、各々、第２電子機器のユーザに対応する。いくつかの実施態様では、各プレーヤーＩＤは、デバイスＩＤおよび／またはクライアント証明書に対応付けられる（たとえば、リンクされる）。
【０２２０】
インターフェース装置１０６は、複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を第２電子機器から受信する（１３１０）。
【０２２１】
いくつかの実施態様では、第２電子機器は、各プレーヤーＩＤに各々が対応する複数のユーザログイン認証情報を格納する（１３０４）。いくつかの実施態様では、ユーザログイン認証情報は、ゲームサーバ上（たとえば、サーバシステム１１４のデータベース（複数可）１２２）に同時に格納される。また、いくつかの実施態様では、第２電子機器は、複数のネットワークログイン認証情報を格納する。いくつかの実施態様では、格納されたネットワーク認証情報の各々は、第２電子機器が通信可能に接続された各ローカルネットワークに対応する。
【０２２２】
いくつかの実施態様では、第１のプレーヤーＩＤ（ステップ１３１０を参照）の選択を受け付けた後、インターフェース装置１０６は、インターフェース装置１０６に近接する、ユーザに対応付けられた携帯電話、ユーザの音声入力、およびパスワード入力のうちの１つ以上を用いて、ユーザのＩＤを取得する（１３１４）。いくつかの実施態様では、ユーザのＩＤの取得は、第２電子機器上でセキュリティ機能（たとえば、ゲームコントローラ１０２のセキュリティモジュール３６８）が有効化することに応答して行われる。いくつかの実施態様では、インターフェース１０６は、近接／検出部４１０を用いて、携帯電話を利用しているユーザのＩＤを取得する。
【０２２３】
いくつかの実施態様では、インターフェース装置１０６は、取得したユーザＩＤと（たとえば、図８Ｂで説明したような）複数の格納されたユーザログイン認証情報との一致を特定する（１３１６）。
【０２２４】
いくつかの実施態様では、インターフェース装置１０６は、当該一致に基づいて第１のプレーヤーＩＤを選択する（１３１８）。
【０２２５】
インターフェース装置１０６は、選択された第１のプレーヤーＩＤを使ってゲームサービスにログオンする（１３２０）。
【０２２６】
インターフェース装置１０６は、ゲームサーバと連動してクラウドゲーミングセッションを起動し、ゲームプレーを開始する（１３２２）。
【０２２７】
インターフェース装置１０６は、ゲームサーバ（たとえば、サーバシステム１１４）からゲームのゲームメディアストリームを取得する（１３２４）。
【０２２８】
インターフェース装置１０６は、ゲームメディアストリームをデコードする（１３２６）。
【０２２９】
インターフェース装置１０６は、デコードされたゲームメディアストリームを表示装置１０８に出力する（１３２８）。ゲームメディアストリームは、第２電子機器からゲームサーバに直接送信されたゲーム入力に応答してゲームサーバによって生成される。
【０２３０】
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置１０６は、共通ネットワークを介して第３電子機器をインターフェース装置１０６に通信可能に連結させるという指示を受信する（１３３０）。
【０２３１】
いくつかの実施態様では、インターフェース装置１０６は、第３電子機器を第２電子機器とリンクさせる要求を含んだ第２のログイン画面を表示装置１０８上に表示する（１３３２）。図９の例を参照すると、ジュリアは、自身のゲームコントローラ１０２−１を使ってゲームポータルＵＩを起動し、ジャックは、自身のコントローラ１０２−２をジュリアのゲームセッションにリンクさせる要求を送る。ジュリアは、自身のゲームコントローラ１０２−１と自身のゲームセッションとをリンクさせるよう要求するメッセージ９２８を、自身のログイン画面９６０上で受信する。
【０２３２】
いくつかの実施態様では、インターフェース装置１０６は、キャスティングデバイス（または、メディアストリーミングデバイス）であり、第２電子機器は、第１ゲームコントローラ（たとえば、図９のゲームコントローラ１０２−１）であり、第３電子機器は、第２ゲームコントローラ（たとえば、図９のゲームコントローラ１０２−２）である（１３３４）。
【０２３３】
いくつかの実施態様では、第２電子機器は、ゲーミングセッションのホストであり、第３電子機器は、ゲーミングセッションのゲストである（１３３６）。
【０２３４】
いくつかの実施態様では、インターフェース装置１０６は、要求に対する応答を第３電子機器から受信する（１３３７）。図９の例を再び参照すると、インターフェース装置は、第３電子機器を第２電子機器とリンクさせる要求に応答して、第３コントローラ（すなわち、ジャックのゲームコントローラ１０２−２）から応答を受信する。いくつかの実施態様では、応答が承認を示すという判断に従って（すなわち、ジャックがオプション９３５（「はい」）を選択する）、インターフェース装置１０６は、第３電子機器を第２電子機器とリンクさせる（１３３８）ことにより、第２電子機器と第３電子機器と、選択されたゲームを一緒にプレイさせる。いくつかの実施態様では、リンクに従って、第２電子機器および第３電子機器は、独立してそれぞれのゲーム入力をゲームサーバ（すなわち、サーバシステム１１４）に直接送信する。いくつかの実施態様では、リンクさせることに応じて、第２電子機器および第３電子機器は、独立して各コマンドサブセットをインターフェース装置１０６に直接送信する。いくつかの実施態様では、第２電子機器は、リンク処理の間、ゲームプレーを継続する。
【０２３５】
いくつかの実施態様では、インターフェース装置１０６は、複数のインターフェース装置（すなわち、環境は、２つ以上のインターフェース装置を含む）のうちの第１のインターフェース装置１０６であり、第１電子機器の各々は、共通ネットワークを介して互いに通信可能に連結され、インターフェース装置の各々は、各表示装置に連結される（１３３９）。
【０２３６】
いくつかの実施態様では、応答が拒否を示すという判断（すなわち、図９Ｃにおいて、ジャックは、オプション９３０（「いいえ」を選択する））（１３４０）に従って、インターフェース装置１０６は、共通ネットワーク上の複数のインターフェース装置を表示装置上に表示する（１３４２）。
【０２３７】
いくつかの実施態様では、インターフェース装置１０６は、複数の第１電子機器のうちの第２の第１電子機器の選択を第３電子機器から受信する（１３４４）。図９Ｃの例に戻ると、ジャックは、オプション９３０（「いいえ」）を選択した場合、ペアリングするその他のインターフェース装置を画面から選択することができる。選択に従って、ジャックは、自身のゲームコントローラをインターフェース装置のうちの第２のインターフェース装置（たとえば、インターフェース装置１０６−２）とペアリングする。これにより、インターフェース装置１０６−２と連結された表示装置上に、選択されたゲームがストリーム配信される。ジャックのゲーム入力は、インターフェース装置１０６−２を用いて直接サーバシステム１１４に送信される。
【０２３８】
いくつかの実施態様では、ゲームプレー中、インターフェース装置１０６は、ゲーミングセッションを終了する要求を第３電子機器から受け付ける（１３４６）。
【０２３９】
いくつかの実施態様では、要求を受け付けることに従って、インターフェース装置１０６は、第３電子機器にゲーミングセッションを終了させる（１３４８）。終了させている間、第２電子機器からゲームサーバに直接送信されたゲーム入力に応答して第２電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームメディアストリームは、ゲームサーバによって生成され続ける。いくつかの実施態様では、終了させている間、第２電子機器は、ゲームプレーを継続する。いくつかの実施態様では、終了要求に応答して、表示装置１０８は、（たとえば、図９Ｄに示すような）終了要求の確認を要求するメッセージを表示すし、当該要求が確認されると、第３電子機器を終了させる。
【０２４０】
いくつかの実施態様では、インターフェース装置１０６は、セッションを終了させるという第２要求を第２電子機器から受け付ける（１３５０）。
【０２４１】
いくつかの実施態様では、受信した第２要求に従って、インターフェース装置１０６は、セッションをセーブするという指示をゲームサーバから受信する（１３５２）。
【０２４２】
いくつかの実施態様では、インターフェース装置１０６は、ゲームサービスを終了する（１３５４）。
【０２４３】
いくつかの実施態様では、第２電子機器は、ホストデバイスである。したがって、第２要求に応答して、サーバシステム１１４は、ゲームの状態をセーブして、ゲームサービスを終了する。
【０２４４】
いくつかの実施態様では、インターフェース装置１０６は、ホストデバイスに対応付けられた第１プレーヤーアカウントがゲーミングセッションを終了したおよび／またはホストデバイスの電源が切られたと判断し、インターフェース装置１０６は、この判断に従ってゲームサービスを終了する（１３５６）。
【０２４５】
いくつかの実施態様では、インターフェース装置１０６は、表示装置上にデフォルトの画面表示を表示する（１３５８）。いくつかの実施態様では、サーバシステム１１４がゲームサービスを終了した後、表示装置１０８は、デフォルトの背景画面（たとえば、図９Ｅの画面９８０）を表示する。
【０２４６】
いくつかの実施態様によると、コンピューティングシステム（たとえば、インターフェース装置１０６）は、１つ以上のプロセッサ（たとえば、プロセッサ（複数可）４０２）と、１つ以上のプロセッサに連結されたメモリ（たとえば、メモリ４０６）とを備え、メモリは、１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、１つ以上のプログラムは、上記方法および／または動作を実行するための命令を含む。
【０２４７】
いくつかの実施態様によると、（たとえば、メモリ４０６内の）非一時的なコンピュータ読み取り可能な記憶媒体は、１つ以上のプログラムを格納する。１つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および／または動作を実行させる命令を含む。
【０２４８】
図１４Ａ〜図１４Ｂは、いくつかの実施態様に係る、クラウドゲームのための方法１４００のフローチャート表現である。方法１４００は、１つ以上のプロセッサと、当該１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを有する第２電子機器（たとえば、図３のゲームコントローラ１０２）において実施される。いくつかの実施態様では、方法１２００は、（１）１つ以上のゲームコントローラ１０２、（２）１つ以上のインターフェース装置１０６、（３）１つ以上の電子機器１０４、（４）サーバシステム１１４など１つ以上のサーバシステム、または（５）それらの組合せ、によって実行される。いくつかの実施態様では、方法１４００は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ１０２の１つ以上のプロセッサ３０２など、デバイス／コンピューティングシステムの１つ以上のプロセッサ、および／またはインターフェース装置１０６の１つ以上のプロセッサ４０２、および／またはサーバシステム１１４の１つ以上のプロセッサ５０２によって実行される。便宜上、後述する具体的な動作は、ゲームコントローラ１０２によって実行されると説明する。
【０２４９】
ゲームコントローラ１０２は、ゲーミングセッションを起動するための第１入力を複数の第１電子機器（たとえば、インターフェース装置１０６）に送る（１４０２）。ここで、第２電子機器は、第１電子機器の各々に共通ネットワーク上で通信可能に接続されており、第１電子機器の各々は、各表示装置に連結されている。
【０２５０】
第１入力に応答して、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器（たとえば、図１０のインターフェース装置１０６−１）に、複数のプレーヤーＩＤを含むログイン画面を、ユーザの介入なしで自動的に第１の表示装置上に表示させる（１４０６）。
【０２５１】
ゲームコントローラ１０２は、第１電子機器のうちの第２の第１電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第２の表示装置上に表示させる（１４１４）。
【０２５２】
ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器に第２入力を送る（１４１６）。第２入力は、複数のプレーヤーＩＤのうちの第１のプレーヤーＩＤの選択を含む。
【０２５３】
第２入力に応答して、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器上でゲーミングセッションを起動する（１４１８）。
【０２５４】
図１０Ａの例など、いくつかの実施態様では、第１電子機器のうちの第１の第１電子機器（たとえば、インターフェース装置１０６−１）は、ゲームコントローラ１０２のデフォルトのペアリングデバイスである。この例によると、デフォルトの居間のディスプレイ１０８−１は、ゲームポータルＵＩを表示し、非デフォルトのディスプレイ（すなわち、寝室のテレビ１０８−２）は、メッセージ（たとえば、メッセージ１００６）を、表示装置１０８−２にリンクする方法に関する命令とともに表示する。
【０２５５】
いくつかの実施態様では、第１電子機器のうちの第１の第１電子機器は、直近のゲーミングセッションに使われたデバイスである。
【０２５６】
いくつかの実施態様では、第１電子機器の各々は、オーディオインターフェース（たとえば、インターフェース装置１０６のマイクロフォン４１４）を含む（１４０４）。ゲームコントローラ１０２は、第１電子機器の各々に、各オーディオインターフェースを介して第２電子機器のユーザからオーディオ入力を受信させる（１４０８）。受信したオーディオ入力に従って、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器がゲームコントローラ１０２に最も近接すると判断する（１４１０）。判断に従って、ゲームコントローラ１０２は、判断に従って、第１電子機器のうちの第１の第１電子機器を第２電子機器とペアリングさせる（１４１２）。
【０２５７】
いくつかの実施態様では、通信インターフェース（複数可）３０４および／または近接検出部３３４を用いて、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器がゲームコントローラ１０２に最も近接していると判断する。いくつかの実施態様では、ゲームコントローラ１０２は、Ｗｈｉｓｐｅｒｎｅｔ、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）またはＷｉｆｉを利用して、最も近いインターフェース装置を発見し、当該最も近いインターフェース装置とペアリングする。
【０２５８】
いくつかの実施態様では、ゲームコントローラ１０２は、デフォルトのペアリングインターフェース装置を格納し、デフォルトのペアリングデバイスを無効にして最も近接するインターフェース装置とペアリングする。いくつかの実施態様では、当該ペアリングに従って、最も近いインターフェース装置は、連結された表示装置をオンにする。
【０２５９】
いくつかの実施態様では、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器に第３入力を送る（１４２０）。いくつかの実施態様では、第３入力は、ゲームを一旦停止させるためのコマンド（たとえば、要求）である。いくつかの実施態様では、第３入力は、ゲームポータルＵＩ上のメニューにアクセスするためのコマンドである。
【０２６０】
いくつかの実施態様では、第３入力に応答して、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器に、複数の第１電子機器に連結された複数の表示装置を表示させる（１４２２）。いくつかの実施態様では、第３入力は、ゲームを一旦停止させる要求を含む。
【０２６１】
いくつかの実施態様では、ゲームコントローラ１０２は、第１電子機器のうちの第１の第１電子機器に第４入力を送る（１４２４）。いくつかの実施態様では、第４入力は、第１電子機器のうちの第２の第１電子機器を選択するコマンドである。
【０２６２】
いくつかの実施態様では、第４入力に応答して、ゲームコントローラ１０２は、第１電子機器のうちの第１機器に、ゲーミングセッションを一旦停止させる（１４２６）。
【０２６３】
いくつかの実施態様では、ゲームコントローラ１０２は、第１電子機器のうちの第２の第１電子機器に、ゲーミングセッションの一旦停止を解除させる（１４２８）ことによって、一旦停止状態からゲーミングセッションを再開する。一旦停止させることと一旦停止を解除させることとは、第４入力に応答して、ユーザの介入なしで同時に実行される。いくつかの実施態様では、第１電子機器のうちの第１の第１電子機器および第２の第１電子機器は、ローカル環境の異なるエリア（たとえば、住居環境の異なる部屋）に位置し、一旦停止を解除させることは、ゲームコントローラ１０２および／またはユーザの近接検出に応答して行われる。
【０２６４】
いくつかの実施態様によると、コンピューティングシステム（たとえば、ゲームコントローラ１０２）は、１つ以上のプロセッサと、当該１つ以上のプロセッサに連結されたメモリとを備え、メモリは、１つ以上のプロセッサによって実行されるように構成された１つ以上のプログラムを格納し、１つ以上のプログラムは、上記方法および／または動作を実行するための命令を含む。
【０２６５】
いくつかの実施態様によると、（たとえば、メモリ３０６内の）非一時的なコンピュータ読み取り可能な記憶媒体は、１つ以上のプログラムを格納し、当該１つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および／または動作を実行させる命令を含む。
【０２６６】
いくつかの実施態様では、サーバシステム２０６は、電子機器（複数可）のユーザのためのアラートおよび／または通知を生成するための通知モジュール（図示せず）を含む。たとえば、いくつかの実施態様では、ユーザの電子機器上のローカルに訂正データベース補正データベースが格納され、サーバシステム２０６は、補正データベースの最新バージョン（複数可）またはアップデート（複数可）をダウンロードするようユーザに知らせるための通知を生成してもよい。
【０２６７】
様々な図面のうちのいくつかは、複数の論理ステージを特定の順序で例示したが、順序に左右されないステージを並び替えてもよく、その他のステージが組み合わされたり、分割されたりしてもよい。いくつかの並び替えやその他のグループ分けを具体的に述べたが、その他が当業者に明らかになるであろう。そのため、本明細書に提示した順序およびグループ分けは、別例の一覧ではない。また、ステージは、ハードウェア、ファームウェア、ソフトウェア、または任意のそれらの組合せで実現できることを認識されたい。
【０２６８】
また、様々な構成要素を説明するために、用語「第１の」、「第２の」などは、いくつかの例で、本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されたい。これらの用語は、１つの構成要素を別の構成要素と区別するために使われているにすぎない。たとえば、記載の様々な実施態様の範囲から逸脱することなく、第１のインターフェース装置を第２のインターフェース装置と称することができ、同様に、第２のインターフェース装置を第１のインターフェース装置と称することができる。第１のインターフェース装置および第２のインターフェース装置は、両方ともインターフェース装置であるが、同じ種類のインターフェース装置ではない。
【０２６９】
本明細書における、記載の様々な実施態様の説明において使用される用語は、特定の実施態様を説明するためだけのものであり、限定ではない。記載の様々な実施態様の説明において使用される場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかに他を示さない限り、複数形も含まれる。本明細書において使用される用語「および／または（ａｎｄ／ｏｒ）」は、関連する記載された項目のうちの１つ以上のいずれか、およびすべての考えられる組み合わせを指し、それらを包含すると理解されるであろう。用語「備える／含む（「ｉｎｃｌｕｄｅｓ」、「ｉｎｃｌｕｄｉｎｇ」、「ｃｏｍｐｒｉｓｅｓ」、および／または「ｃｏｍｐｒｉｓｉｎｇ」は、本明細書において使用されるとき、記載の特徴、特性、ステップ、動作、構成要素、および／またはコンポ―ネントの存在を具体的に挙げるが、１つ以上のその他の特徴、特性、ステップ、動作、構成要素、コンポ―ネント、および／またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
【０２７０】
本明細書において使用されるとき、用語「ｉｆ（〜の場合）」は、任意で、内容によっては、「ｗｈｅｎ（〜の時）」または「ｕｐｏｎ（〜すると）」または「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（判断することに応答して）」または「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（検出することに応答して）」または「ｉｎ  ａｃｃｏｒｄａｎｃｅ  ｗｉｔｈ  ａ  ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｔｈａｔ（という判断に従って）」を意味すると解釈される。同様に、「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（判断された場合）」または「ｉｆ  ［記載した条件またはイベント］  ｉｓ  ｄｅｔｅｃｔｅｄ（［記載した条件またはイベント］が検出された場合）」という表現は、任意で、内容によっては、「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（判断すると）」または「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（判断することに応答して）」または「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ  ［記載した条件またはイベント］（  ［記載した条件またはイベント］を検出すると）」または「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ  ［記載した条件またはイベント］（［記載した条件またはイベント］を検出することに応答して）」または「ｉｎ  ａｃｃｏｒｄａｎｃｅ  ｗｉｔｈ  ａ  ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｔｈａｔ  ［記載した条件またはイベント］  ｉｓ  ｄｅｔｅｃｔｅｄ（［記載した条件またはイベント］が検出されたと判断することに従って）」を意味すると解釈される。
【０２７１】
上記の説明では、説明の便宜上、具体的な実施態様を例に説明した。しかしながら、上記例示的説明は、網羅的であったり、開示された厳密な形態にクレームの範囲を限定したりすることを意図しない。上記教示に鑑みて、多くの変更例および変形例が可能である。考えられる特定の用途に適した様々な変更例を用いて当業者が実施態様を最大限に利用できるようにするために、実施態様は、クレームの基本原理およびその実際の適用を最もよく説明するために選択された。
【図１Ａ】
2021511919.tif 000003
【図１Ｂ】
2021511919.tif 000004
【図１Ｃ】
2021511919.tif 000005
【図１Ｄ】
2021511919.tif 000006
【図２Ａ】
2021511919.tif 000007
【図２Ｂ】
2021511919.tif 000008
【図３】
2021511919.tif 000009
【図４】
2021511919.tif 000010
【図５】
2021511919.tif 000011
【図６Ａ】
2021511919.tif 000012
【図６Ｂ】
2021511919.tif 000013
【図６Ｃ】
2021511919.tif 000014
【図７Ａ】
2021511919.tif 000015
【図７Ｂ】
2021511919.tif 000016
【図７Ｃ】
2021511919.tif 000017
【図８Ａ】
2021511919.tif 000018
【図８Ｂ】
2021511919.tif 000019
【図９Ａ】
2021511919.tif 000020
【図９Ｂ】
2021511919.tif 000021
【図９Ｃ】
2021511919.tif 000022
【図９Ｄ】
2021511919.tif 000023
【図９Ｅ】
2021511919.tif 000024
【図９Ｆ】
2021511919.tif 000025
【図１０Ａ】
2021511919.tif 000026
【図１０Ｂ】
2021511919.tif 000027
【図１１Ａ】
2021511919.tif 000028
【図１１Ｂ】
2021511919.tif 000029
【図１１Ｃ】
2021511919.tif 000030
【図１１Ｄ】
2021511919.tif 000031
【図１２Ａ】
2021511919.tif 000032
【図１２Ｂ】
2021511919.tif 000033
【図１２Ｃ】
2021511919.tif 000034
【図１３Ａ】
2021511919.tif 000035
【図１３Ｂ】
2021511919.tif 000036
【図１３Ｃ】
2021511919.tif 000037
【図１３Ｄ】
2021511919.tif 000038
【図１３Ｅ】
2021511919.tif 000039
【図１４Ａ】
2021511919.tif 000040
【図１４Ｂ】
2021511919.tif 000041
【手続補正書】
【提出日】令和3年2月22日(2021.2.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラウドゲームのためのインターフェース装置であって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備え、前記１つ以上のプログラムは、アプリケーションを含み、前記インターフェース装置は、さらに、
前記インターフェース装置とゲームコントローラとの間、および、
前記インターフェース装置と前記インターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信装置と、
前記インターフェース装置に連結または一体化された表示装置の入力部に前記アプリケーションの出力を行うように構成される出力装置とを備え、
前記アプリケーションは、
前記ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を前記インターフェース装置が処理および表示する第１モードを実装し、
前記インターフェース装置が前記ゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、前記ゲームサーバが送信するゲームメディアストリームを表示する第２モードを実装するように構成される、インターフェース装置。
【請求項２】
前記アプリケーションは、前記ゲームサーバが送信する前記ゲームメディアストリームをデコードして前記表示装置に出力するようにさらに構成される、請求項１に記載のインターフェース装置。
【請求項３】
前記出力装置は、前記インターフェース装置に連結された前記表示装置の入力ポートに前記アプリケーションの出力を送信するように構成される出力ポートを含む、請求項１または２に記載のインターフェース装置。
【請求項４】
前記インターフェース装置は、前記ゲームコントローラに割り当てられた一意の識別子を用いて、前記ゲームコントローラが送信する前記メッセージを識別する、請求項１〜３のいずれかに記載のインターフェース装置。
【請求項５】
前記第１モードは、
セッションを確立させる第１要求を前記ゲームコントローラから受け付けることと、
前記ゲームコントローラに対応付けられたユーザの認証情報を前記ゲームコントローラから受信することと、
前記ユーザの認証情報に対応する許可をサーバから取り出すことと、
前記許可に従って、前記ユーザに固有のコンテンツを取り出すこととをさらに含む、請求項１〜４のいずれかに記載のインターフェース装置。
【請求項６】
前記ユーザに特有のコンテンツは、ゲーム中の前記ユーザを表すアバターを含む、請求項５に記載のインターフェース装置。
【請求項７】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、請求項１〜６のいずれかに記載のインターフェース装置。
【請求項８】
前記ゲームメディアストリームは、オーディオストリームを含み、前記オーディオストリームは、前記ゲームコントローラに対応付けられた表示装置上に表示するために、前記ゲームサーバによって前記ゲームコントローラのオーディオ入力部に送信される、請求項１〜７のいずれかに記載のインターフェース装置。
【請求項９】
ゲームコントローラであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを備え、前記１つ以上のプログラムは、アプリケーションを含み、前記ゲームコントローラは、さらに、
前記ゲームコントローラとインターフェース装置との間、および、
前記ゲームコントローラと前記ゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに／または送信するための通信装置を備え、
前記アプリケーションは、
前記ゲームコントローラがゲームセットアップコマンドを前記インターフェース装置に送信する第１モードと、
前記ゲームコントローラがゲームプレーコマンドを前記ゲームサーバに送信し、前記ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信する第２モードとを実装するように構成される、ゲームコントローラ。
【請求項１０】
前記ゲームコントローラは、前記ゲームコントローラ上のボタンおよび／またはジョイスティックを用いて、前記ゲームセットアップコマンドおよび前記ゲームプレーコマンドを入力する、請求項９に記載のゲームコントローラ。
【請求項１１】
前記ゲームコントローラは、複数のユーザログイン認証情報を格納し、各認証情報は、各プレーヤーＩＤに対応する、請求項９または１０に記載のゲームコントローラ。
【請求項１２】
前記ゲームコントローラは、複数のネットワーク認証情報を格納し、各ネットワーク認証情報は、各ゲーミングセッションのために前記ゲームコントローラが使われる各ネットワークに対応する、請求項９〜１１のいずれかに記載のゲームコントローラ。
【請求項１３】
ゲームメディアストリームは、オーディオストリームを含み、前記ゲームコントローラは、前記オーディオストリームを受信および表示するためのオーディオデバイスをさらに含む、請求項９〜１２のいずれかに記載のゲームコントローラ。
【請求項１４】
ゲームシステムにおいて実行される方法であって、前記ゲームシステムは、
インターフェース装置と、
ゲームコントローラと、
前記インターフェース装置および前記ゲームコントローラから遠く離れたゲームサーバとを備え、
前記インターフェース装置、前記ゲームコントローラ、および前記ゲームサーバの各々は、１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを格納したメモリとを含み、
前記方法は、
前記インターフェース装置において、
前記ゲームコントローラからゲームの選択を受け付けるステップと、
前記ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を、第１モードでユーザの介入なしで自動的に処理および表示するステップと、
前記ゲームコントローラからのメッセージの予め定義されたサブセットを、第２モードでユーザの介入なしで自動的に処理および表示し、前記ゲームサーバが送信する前記ゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、
前記表示するステップは、前記インターフェース装置に連結または一体化された表示装置上で表示するステップを含み、
前記ゲームコントローラにおいて、
前記第１モードで、コントローラコマンドを前記インターフェース装置に送信するステップと、
前記第２モードで、ゲームプレーコマンドを前記ゲームサーバに送信し、前記コントローラコマンドの予め定義されたサブセットを前記インターフェース装置に送信するステップとを含み、
前記ゲームサーバにおいて、各ゲームについて、
前記ゲームコントローラから前記ゲームプレーコマンドを受信するステップと、
１つ以上の受信した前記ゲームプレーコマンドの各サブセットに従って、前記ゲームのコンテンツの各フレームを描画するステップと、
描画された各フレームを含んだ前記ゲームのゲームメディアストリームを前記インターフェース装置にリアルタイムで送信するステップとを含む、方法。
【請求項１５】
前記ゲームサーバは、前記ゲームプレーコマンドを受信するためと、前記ゲームメディアストリームを送信するために別個のポートを使う、請求項１４に記載の方法。
【請求項１６】
前記ゲームコントローラは、複数のユーザログイン認証情報を格納し、各認証情報は、各プレーヤーＩＤに対応する、請求項１４または１５に記載の方法。
【請求項１７】
前記ゲームコントローラには、一意の識別子が割り当てられ、前記ゲームサーバは、前記一意の識別子に基づいて、前記受信したゲームプレーコマンドを前記ゲームコントローラと対応付ける、請求項１４〜１６のいずれかに記載の方法。
【請求項１８】
前記ゲームコントローラには、一意の識別子が割り当てられ、前記インターフェース装置は、前記一意の識別子に基づいて、前記ゲームコントローラが送信する前記メッセージを識別する、請求項１４〜１６のいずれかに記載の方法。
【請求項１９】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、請求項１４〜１８のいずれかに記載の方法。
【国際調査報告】
2021511919.tif 000042
2021511919.tif 000043