JP2022508060A - サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法 - Google Patents

サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法 Download PDF

Info

Publication number
JP2022508060A
JP2022508060A JP2021524236A JP2021524236A JP2022508060A JP 2022508060 A JP2022508060 A JP 2022508060A JP 2021524236 A JP2021524236 A JP 2021524236A JP 2021524236 A JP2021524236 A JP 2021524236A JP 2022508060 A JP2022508060 A JP 2022508060A
Authority
JP
Japan
Prior art keywords
controller
session
video game
game controller
server system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021524236A
Other languages
English (en)
Other versions
JP7242850B2 (ja
Inventor
コーレンブランデル、ロエロフ、ロデリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment LLC
Publication of JP2022508060A publication Critical patent/JP2022508060A/ja
Priority to JP2023035606A priority Critical patent/JP7481522B2/ja
Application granted granted Critical
Publication of JP7242850B2 publication Critical patent/JP7242850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法が記載されている。【解決手段】システム及び方法には、ビデオゲームコントローラ及びコンピューティングデバイスが含まれる。アプリケーションは、サーバシステムとのコンピューティングデバイスによってセッションが確立されると、サーバシステムによって実行される。アプリケーションが実行されると、ビデオゲームコントローラを使用してサーバシステムに識別子が送信される。サーバシステムは識別子を検証して、セッションをビデオゲームコントローラとペアリングする。ビデオゲームコントローラがセッションとペアリングされると、ビデオゲームコントローラを使用して、コンピューティングデバイスまたは表示画面に表示される仮想シーンの状態を変更できる。【選択図】図1A

Description

本開示は、サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法に関する。
一般に、ゲームは、プレイするために、ゲーム機を介してアクセスされている。ゲーム機はゲームコントローラに接続されている。ゲーマーはゲーム機をテレビに接続する。ゲームまたはゲームの更新事項がサーバからゲーム機にダウンロードされ、ゲーマーがゲームコントローラを使用してゲームをプレイする。
この状況で、本開示に記載の実施形態が生じる。
本開示で説明される実施形態は、サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法を提供する。
いくつかの実施形態では、本明細書に記載のシステム及び方法は、ビデオゲームコントローラを、コンピュータネットワークに結合された任意のディスプレイデバイスと共に使用できる方法を提供する。サーバシステムで実行されるアプリケーションにアクセスするためにゲーム機を使用する必要はない。例えば、ビデオゲームコントローラは、携帯電話、タブレット、またはテレビなどのコンピューティングデバイスで使用できる。ゲーム機を使用する必要はない。アプリケーションの実行セッションは、コンピューティングデバイスを使用してアクセスされる。セッションにアクセスすると、ビデオゲームコントローラに関連付けられている識別子がサーバシステムに送信される。サーバシステムは識別子を検証する。識別子を確認すると、サーバシステムはビデオゲームコントローラをセッションとペアリングすると判定する。ビデオゲームコントローラがセッションとペアリングされると、ユーザはビデオゲームコントローラを使用して、コンピューティングデバイスに表示される仮想シーンの状態を変更できる。
サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するための本明細書に記載のシステム及び方法のいくつかの利点は、ビデオゲームコントローラとサーバシステムとの間でゲーム機を使用する必要がないことを含む。ユーザは、自分のログイン情報を提供することによってセッションにアクセスする。コンピューティングデバイスとサーバシステム間のセッションが確立されると、ビデオゲームコントローラに関連付けられた識別子がビデオゲームコントローラからサーバシステムに送信される。サーバシステムによって識別子が検証されると、サーバシステムはビデオゲームコントローラをセッションとペアリングし、ユーザはコンピューティングデバイスまたは別のディスプレイデバイスに表示される仮想シーンの状態を変更することができる。したがって、ビデオゲームコントローラを使用するためにゲーム機を使用する必要はない。ゲーム機を使用して、サーバに格納されているアプリケーションの実行によって生成された仮想シーンにアクセスするかどうかに関係なく、ビデオゲームコントローラを使用できる。ゲーム機を使用しないことで、ビデオゲームコントローラとサーバシステム間のホップ数が減少する。各ホップは、データを受信し、データを分析して宛先アドレスを判定し、データを宛先アドレスへ送信するのに使用される。ゲーム機を除去することにより、ゲーム機に関連するホップが減少する。ビデオゲームコントローラとサーバシステム間のホップ数の減少により、ビデオゲームコントローラとサーバシステム間の待ち時間が短縮され、ゲームプレイが高速化される。
記載の他の態様が、本開示に記載の実施形態の原理の例として示される添付図面と併せて得られ、下記の発明を実施するための形態から、明瞭になる。
本開示に記載の様々な実施形態は、添付の図面と併せて、以下の説明を参照することにより、最も良く理解されるであろう。
コントローラとセッションとのペアリングを説明するためのシステムの実施形態の図である。 コントローラとルータとの無線通信を説明するためのコントローラの実施形態の図である。 コントローラによるセルラー接続チャネルの使用を説明するためのシステムの実施形態の図である。 図1Cのコントローラからサーバシステムに識別情報を転送するためブロードバンド通信集積回路(IC)チップを使用することを説明するための、図1Cのシステムのコントローラに関する実施形態の図である。 セッションとコントローラとのペアリングを説明するためのサーバシステムの実施形態の図である。 コンピューティングデバイスの表示画面に表示されるペアリング要求通知の実施形態の図である。 コントローラの表示画面におけるペアリング要求通知の表示を説明するためのコントローラの実施形態の図である。 コントローラのハプティックフィードバックデバイス、オーディオデバイス、及びディスプレイデバイスを説明するためのコントローラの実施形態の図である。 コンピューティングデバイスのミラーリング効果を説明するためのシステムの実施形態の図である。 図1EのコントローラのデバイスIDを発見するための発見プログラムの実行を説明するためのシステムの実施形態の図である。 コントローラ内での較正プロセッサの使用を説明するためのコントローラの実施形態の図である。 コントローラ内での較正プロセッサの使用を説明するためのコントローラの実施形態の図である。 サーバシステムの較正プロセッサによるセンサの値の較正を説明するためのサーバシステムの実施形態の図である。 対話型プログラムとインターフェースするためのビデオゲームコントローラの実施形態の斜視図を示している。
サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法が本明細書に記載されている。
本開示に記載されている様々な実施形態は、これらの特定の細部の一部または全部がなくとも実施できることに留意されたい。他の例では、周知のプロセス動作は、本開示に記載されている種々の実施形態を不必要に不明瞭にしないようにするために、詳細には説明されていない。
図1Aは、コントローラ102とセッション106とのペアリングを説明するためのシステム100の実施形態の図である。コントローラ102の例には、Sony(登録商標)DualShock(登録商標)コントローラ、銃型コントローラ、PlayStation(登録商標)Move(登録商標)コントローラ、スティック型コントローラ、携帯電話、モバイルデバイス、タブレット、ビデオゲームコントローラ、ジョイスティック、グローブ型コントローラ、またはステアリングホイール型コントローラなどがあり得るハンドヘルド型コントローラを含む。セッション106の例は、ゲームセッション、ビデオセッション、仮想画像セッション、拡張現実イメージセッション、仮想現実イメージセッションなどを含む。例示として、セッション106はアプリケーション1の実行のインスタンスであり、これは、ゲームアプリケーションのプレイを可能にするゲーム実行アプリケーション、または2つのクライアント間でコンピュータネットワーク122を介して転送される実世界の環境のイメージを可能にするビデオ会議アプリケーションであり得る。実世界の環境の例には、部屋または限られた場所、または囲まれた環境、または壁またはキュービクルで囲まれた環境が含まれる。セッション106は、ユーザAがユーザアカウント1にログインしたときに開始し、ユーザAがユーザアカウント1からログアウトしたときに終了する。例えば、セッション106の実行のインスタンスは、ユーザAが当人のユーザアカウント1にログインしたときに開始し、ユーザAがユーザアカウント1からログアウトするときに、ユーザアカウント1について終了する。ユーザAによるログアウトは、ユーザAによるゲームのプレイを無効にし、ユーザAによるユーザアカウント1へのログインは、ゲームのプレイを有効にするべく実行される。ユーザAは、本明細書で説明されるコントローラ102または別のコントローラのボタンを選択することによって、ユーザアカウント1からログアウトする。
システム100は、コントローラ102、コンピューティングデバイス114、コンピュータネットワーク122、サーバシステム104、ルータ118、及びモデム120を含む。例として、ルータ118及びモデム120は、コントローラ102に対してローカルに配置されている。例えば、ルータ118及びモデム120は、コントローラ102が配置されているのと同じ実世界の環境に配置されている。
コンピューティングデバイス114は、計算を実行するための機械である。コンピューティングデバイス114の例には、スマートテレビ、タブレット、スマートフォン、ヘッドマウントディスプレイ(HMD)、電子コンピュータ、情報処理システム、デスクトップコンピュータ、及びラップトップコンピュータが含まれる。コンピューティングデバイス114の別の例は、ディスプレイデバイスとゲーム機との組み合わせを含む。ディスプレイデバイスはゲーム機に結合されている。コンピュータネットワーク122は、通信チャネルを介して一緒に連結されて、ユーザ間の通信及びリソースの共有を容易にするコンピューティングハードウェアデバイスのグループである。コンピュータネットワーク122は、ワイドエリアネットワークまたはローカルエリアネットワーク、あるいはワイドエリアネットワークとローカルエリアネットワークとの組み合わせであり得る。インターネットはワイドエリアネットワークの例であり、イントラネットはローカルエリアネットワークの例である。
サーバシステム104は、アプリケーション1及び他のアプリケーションを実行する単一または複数のサーバを含む。例えば、各サーバには、サーバ上で実行するように設計されたサーバオペレーティングシステム(OS)が含まれている。各サーバは、本明細書で説明する、コンピューティングデバイスまたはコントローラまたはディスプレイデバイスなどのクライアントからの要求を処理する専用コンピュータである。専用コンピュータには、プロセッサとメモリデバイスが含まれている。プロセッサはメモリデバイスに結合されている。本明細書で使用される場合、プロセッサ、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、及び中央処理装置(CPU)、サーバ、マイクロプロセッサなどの用語は、本明細書では交換可能に使用される。メモリデバイスの例には、読み取り専用メモリ及びランダムアクセスメモリが含まれる。説明すると、メモリデバイスは、フラッシュメモリ、ハードディスクドライブ、または独立ディスクの冗長アレイ(RAID)である。
モデム120は、データの変調及び復調を実行して、クライアントがコンピュータネットワーク122に接続できるようにするデバイスである。例として、モデム120は、伝送制御プロトコル(TCP/IP)などのネットワーク通信プロトコルを適用して、転送パケットからデータを抽出する。モデム120は、ネットワーク通信プロトコルを適用して、データを転送パケットに埋め込む。モデム120の例は、クライアントがケーブルまたはデジタル加入者線(DSL)を介してインターネットにアクセスすることを可能にするブロードバンドモデムである。モデム120は、ルータ118から受信したデータ信号を、コンピュータネットワーク122を介してサーバシステム104にルーティングする。さらに、モデム120は、サーバシステム104から受信したデータ信号を、コンピュータネットワーク122を介してルータ118にルーティングする。モデム120は、一端でケーブルまたはDLSに結合され、これは、コンピュータネットワーク122に結合されている。一実施形態では、データ及び情報という用語は、本明細書では交換可能に使用されている。
ルータ118は、サーバシステム104からコンピュータネットワーク112を介して受信されたデータ信号を、データ信号と共にルータ118によって受信された宛先アドレスに基づいて、コンピューティングデバイス114またはコントローラ102に向ける。例えば、ルータ118は、データ信号がコンピューティングデバイス114の宛先アドレスを有することを判定し、データ信号を、宛先アドレスが割り当てられたコンピューティングデバイス114に向ける。宛先アドレスの例は、インターネットプロトコル(IP)アドレスまたはメディアアクセス層(MAC)アドレスまたはそれらの組み合わせである。コンピューティングデバイス114の宛先アドレスは、コントローラ102の宛先アドレスとは異なる。例えば、コントローラ102の宛先アドレスの少なくとも1つの英数字は、コンピューティングデバイス114の宛先アドレスの少なくとも1つの英数字とは異なる。ルータ118は、別のデータ信号がコントローラ102の宛先アドレスを有すると判定し、他のデータ信号をコントローラ102に向ける。ルータ118の例は、ブロードバンドルータである。コンピューティングデバイス114は、ディスプレイスクリーン116、例えば液晶ディスプレイ(LDC)スクリーン、発光ダイオード(LED)ディスプレイスクリーン、またはプラズマディスプレイスクリーンを有し、モニタまたはディスプレイデバイスのディスプレイの部分である。
サーバシステム104は、複数のユーザアカウント1からNを格納する。各ユーザアカウントは、ユーザに割り当てられる。例えば、ユーザアカウント1はユーザAに割り当てられ、別のユーザアカウント2は別のユーザBに割り当てられる。
コントローラ102は、接続チャネルCC1を介してルータ118に結合されている。接続チャネルCC1の例は、ワイヤレスローカルエリアネットワーク(LAN)、Wi-Fi接続、Bluetooth(登録商標)接続などの無線接続である。Wi-Fiは、電波または電磁波を使用して、コンピュータネットワーク122への無線高速接続をもたらす無線ネットワーク技術である。同様に、コンピューティングデバイス114は、無線接続でもある接続チャネルCC2を介してルータ118に接続されている。接続チャネルCC1またはCC2は無線周波数にすることができ、ビット/秒で測定される特定のデータレートと、ヘルツで測定される帯域幅がある。接続チャネルCC1及びCC2のそれぞれの例は、Wi-Fi(登録商標)またはBluetooth(登録商標)などのワイヤレス通信プロトコルを適用する無線接続チャネルである。ルータ118を備えたコンピューティングデバイス114の接続チャネルCC2は、ルータ118を備えたコントローラ102の接続チャネルCC1とは異なる。例えば、コンピューティングデバイス114とルータ118との無線接続は、コントローラ102とルータ118との間のデータ転送速度と比較すると、コンピューティングデバイス114とルータ118との間の異なるデータ転送速度を有する。
ルータ118は、イーサネット(登録商標)ケーブルECを介してモデム120に結合されている。モデム120は、接続C1を介してコンピュータネットワーク122に結合され、サーバシステム104は、別の接続C2を介してコンピュータネットワーク122に結合される。接続C1は、ケーブルまたはデジタル加入者線のグループを含み、接続C2は、ゲートウェイデバイス及びケーブルまたはデジタル加入者線のグループを含む。接続チャネルCC1、ルータ118、ケーブルEC、モデム120、及び接続C1の組み合わせは、本明細書では接続チャネル111と呼ばれることがある。
ユーザAは、コンピューティングデバイス114の電源を入れ、ユーザアカウント1にアクセスする。例えば、ユーザAは、コンピュータネットワーク122を介してサーバシステム104からログインウェブサイトにアクセスする。ユーザAは、コンピューティングデバイス114の入力デバイス、例えばキーボードまたはパッドまたはマウスを使用して、ユーザAに割り当てられたユーザ名及びパスワードを含むことができる当人のログイン情報を伝える。ログイン情報は、コンピューティングデバイス114から接続チャネルCC2を介してルータ118に送信される。ルータ118は、ケーブルECを介してログイン情報をモデム120に送信する。モデム120は、ログイン情報を埋め込む1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。
サーバシステム104のサーバは、ログイン情報が真正であると判定し、ユーザアカウント1へのアクセスをもたらし、セッション106を確立する。セッション106を確立するために、サーバシステム104は、アプリケーション1のインスタンスを実行し、セッション106に関連する情報を含む1つまたは複数の転送パケットを、接続C2、コンピュータネットワーク122、接続C1、モデム120、ケーブルEC、ルータ118、及び通信チャネルCC2を介してコンピューティングデバイス11に送信する。セッション106に関連する情報の例は、ユーザアカウント1へのアクセスを提供するときにアクセスを許可されるアプリケーション1の名前、アプリケーション1のタイトル、またはアプリケーション1を識別する仮想画像データ、アプリケーション1を識別するオーディオデータ、またはそれらの2つ以上の組み合わせなどの、アプリケーション1を識別する情報を含む。説明すると、セッション106に関連する情報は、コンピューティングデバイス114でビデオゲームの紹介画像を表示するための画像データと、紹介画像の表示に同期されるオーディオデータとを有する。別の例として、セッション105に関連する情報は、ビデオゲームの機能を表示し、ビデオゲームをプレイするためにアクセスされるゲームウェブサイトのユニフォームリソースロケータ(URL)を含む。セッション105に関連する情報の別の例は、ユーザAが、コントローラ102の生体認証情報スキャナBISを使用することによって、コントローラ102を介して当人の生体認証情報を提供するという通知を含む。説明すると、セッション106に関連する情報は、ユーザAがコントローラ102の指紋リーダーへと当人の指を押し当てる、またはユーザAがコントローラ102のマイクロフォンに話しかける、またはユーザAが当人の目をコントローラ102の生体認証アイスキャナに入れてスキャンするという通知を含む。生体認証情報スキャナの例には、指紋リーダー、マイク、及び生体認証アイスキャナが含まれる。セッション105に関連する情報の別の例は、アプリケーション1を識別する情報、及びユーザAがコントローラ102を介して当人の生体情報を提供するという通知を含む。生体情報はユーザAに固有であり、ユーザAを他のユーザと区別する。セッション106に関連する情報のさらに別の例は、アプリケーション1を識別する情報と、そのデバイス識別(ID)をもたらすためにコントローラ102に送信される命令とを含む。デバイスIDの例には、コントローラ102のシリアル番号、コントローラ102のMACアドレス、及びそれらの組み合わせが含まれる。コントローラ102のデバイスIDは、コントローラ102に固有であり、コントローラ102を他のコントローラから区別し、それは、構造及び機能において、コントローラ102と同じであり得る。セッション106に関連する情報のさらに別の例は、アプリケーション1を識別する情報と、そのネットワークの識別(ID)をもたらすためにコントローラ106に送信される命令とを含む。ネットワークIDの例には、ルータ118のネットワークアドレスが含まれる。コントローラ102内に格納されたネットワークIDは、ルータ118に固有であり、ルータ118を他のルータから区別する。
セッション106に関連付けられ、サーバシステム104から送信される情報を有する1つまたは複数の転送パケットはまた、ルータ118の宛先アドレス、ならびにコンピューティングデバイス114の宛先アドレス及びコントローラ102の宛先アドレスなどの1つまたは複数の追加の宛先アドレスを含む。セッション106に関連する情報を含む転送パケットを受信すると、モデム120は、ネットワーク通信プロトコルを適用して転送パケットをデパケット化し、ルータ118の宛先アドレス、コンピューティングデバイス114の宛先アドレス、コントローラ102の宛先アドレス、及びセッション106に関連する情報を識別する。コントローラ102の宛先アドレスは、サーバシステム104のメモリデバイスに事前に格納されていることに留意されたい。例えば、ユーザAがコントローラ102を直接購入するとき、ユーザAは、コントローラ102をユーザAに販売するエンティティに当人のユーザアカウント情報を提供する。エンティティは、クライアントデバイスの入力デバイスを介して選択を行い、ユーザアカウント1でコントローラ102を登録する。クライアントデバイスの選択に基づいて生成された信号を受信すると、本明細書で説明するサーバシステム104の1つまたは複数のプロセッサは、コントローラ102のデバイスIDをユーザアカウント1で登録するために、ユーザアカウント1でコントローラ102を登録する。説明すると、サーバシステム104の1つまたは複数のプロセッサは、以下で説明するように、ユーザアカウント1と、コントローラ102のデバイスIDとの間のリンクを、マッピングデータベース内に格納する。別の例として、ユーザAがコントローラ102をオンラインで購入するとき、ユーザAは、購入のためにユーザAによってアクセスされる小売業者のウェブサイトまたは製造業者のウェブサイトなどのウェブサイトに、自分のユーザアカウント情報を提供する。ユーザアカウント情報は、1つまたは複数のプロセッサがコントローラ102をユーザアカウント1で登録するために、ウェブサイトからサーバシステム104に送信される。ユーザアカウント情報の例には、ユーザAのユーザアカウント1にアクセスすることによって使用される電子メールアドレス、ユーザアカウント1に割り当てられたユーザ名、ユーザアカウント1に関連付けられた住所、またはユーザアカウント1に関連付けられた電話番号、あるいはそれらの組み合わせが含まれる。モデム120は、コンピューティングデバイス114の宛先アドレス、コントローラ102の宛先アドレス、及びセッション106に関連する情報を、ケーブルECを介してルータ118に送信する。
コンピューティングデバイス114の宛先アドレス及びセッション106に関連する情報を受信すると、ルータ118は、セッション106に関連する情報がコンピューティングデバイス114に送信されるべきであると判定し、セッション106に関連する情報を接続チャネルCC2を介してコンピューティングデバイス114に送信する。接続チャネルCC2、ルータ118、ケーブルEC、モデム120、接続C1、コンピュータネットワーク122、接続C2の組み合わせは、本明細書では通信チャネル108と呼ばれ、「x」を使用して示されている。
同様に、コントローラ102の宛先アドレス及びセッション106に関連する情報を受信すると、ルータ118は、セッション106に関連する情報がコントローラ102に送信されるべきであると判定し、セッション106に関連する情報を、接続チャネルCC1を介してコントローラ102に送信する。接続チャネルCC1、ルータ118、ケーブルEC、モデム120、接続C1、コンピュータネットワーク122、接続チャネルC2の組み合わせは、本明細書では通信チャネル110と呼ばれ、「o」を使用して示されている。
セッション106に関連する情報を受信すると、コンピューティングデバイス114は、表示画面116に情報を表示するか、コンピューティングデバイス114の1つまたは複数のスピーカーを介してセッション106に関連する情報の中のオーディオデータを出力するか、または情報を表示することとオーディオデータを出力することの双方をする。表示画面116に表示されたセッション106に関連する情報を読み取るか、またはオーディオデータを聞くと、ユーザAは、音声または指紋などの自分の生体認証ID、または網膜情報を、生体認証情報スキャナBISに提供する。例えば、ユーザAは、生体認証情報スキャナBISに自分の声を伝えるために「やあ、コントローラ」と言う。
セッション106に関連する情報が、コントローラ102がそのデバイスIDを提供するための命令を含む場合、コントローラ102は、コントローラ102のメモリデバイスからデバイスIDにアクセスする。また、セッション106に関連する情報が、コントローラ102がネットワークIDを提供するための命令を含む場合、コントローラ102は、コントローラ102のメモリデバイスからネットワークIDにアクセスする。本明細書では、生体認証IDまたはデバイスIDまたはネットワークIDの2つ以上の組み合わせを識別情報と呼ぶ。
識別情報、及び識別情報をサーバシステム104の宛先アドレスに提供するための命令は、コントローラ102から通信チャネルCC1を介してルータ118に送信される。例として、ゲームウェブサイトのURLは、読み取り専用メモリのファームウェア、またはコントローラ102の別のメモリデバイスに格納されている。URLには、サーバシステム104の宛先アドレスが含まれる。別の例として、コンピューティングデバイス114は、無線接続115を介してサーバシステム104のURLをコントローラ102に提示する。コンピューティングデバイス114または別のデバイス、例えばゲーム機は、識別情報を送信する際にバイパスされるか、または使用されない。例えば、識別情報は、コントローラ102からコンピューティングデバイス114またはゲーム機に送信されない。別の例として、識別情報は、コンピューティングデバイス114またはゲーム機に送信されるコントローラ102によってアドレス指定されない。識別情報は、サーバシステム104に送信されるコントローラ102によってアドレス指定される。コンピューティングデバイス114は、Bluetooth(登録商標)接続、またはBluetooth(登録商標)接続または別の短距離接続などの無線接続115を介して、コントローラ102に結合される。
ルータ118は、通信チャネルCC1を介して識別情報及び命令を受信し、命令内のサーバシステム104の宛先アドレスを識別し、ケーブルECを介して識別情報をモデム120にルーティングする。モデム120は、識別情報及び命令を受信し、命令内のサーバシステム104の宛先アドレスを識別し、ネットワーク通信プロトコルを識別情報に適用して転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104へ転送パケットを送信する。サーバシステム104は、識別情報を受信し、識別情報を検証すると、コントローラ102をセッション106とペアリングする。
サーバシステム104は、コントローラ102をセッション106とペアリングすることに応答して、ペアリング通知を生成して送信する。例えば、ペアリング通知は、コンピューティングデバイス114に表示される画像フレーム、またはコンピューティングデバイス114によって音声として出力されるオーディオフレーム、またはそれらの組み合わせを含む。画像フレームには、ペアリング通知の色や強度、テクスチャなどのペアリング通知を表示するための情報が含まれている。別の例として、ペアリング通知は、コンピューティングデバイス114のグラフィックプロセッシングユニット(GPU)によって実行されるレンダリングプログラムへの命令、またはオーディオデータを処理するためのコンピューティングデバイス114のオーディオプロセッサへの命令、あるいはその両方の命令を含む。サーバシステム104は、接続C2、コンピュータネットワーク122、接続C1、モデム120、ケーブルEC、ルータ108、及び接続チャネルCC2を介して、ペアリング通知をコンピューティングデバイス114に送信する。モデム120は、接続C2、コンピュータネットワーク122、及び接続C1を介して、サーバシステム104からコンピューティングデバイス114のペアリング情報及び宛先アドレスを含む1つまたは複数の転送パケットを受信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、コンピューティングデバイス114の宛先アドレス及びペアリング通知を抽出し、ケーブルECを介してペアリング通知及び宛先アドレスをルータ118に送信する。ルータ118は、コンピューティングデバイス114の宛先アドレスから、ペアリング通知がコンピューティングデバイス114に送信されるべきであると判定し、接続チャネルCC2を介してペアリング通知をコンピューティングデバイス114に送信する。例えば、ルータ118は、コンピューティングデバイス114のIPアドレスから、ペアリング通知がコンピューティングデバイス114に送信されることを識別する。画像フレームまたはオーディオフレームまたはそれらの組み合わせを含むペアリング通知を受信すると、ペアリング情報は、コンピューティングデバイス114の表示画面116に1つまたは複数の画像として、またはコンピューティングデバイス114の1つまたは複数のスピーカーを介して音声として、またはそれらの組み合わせとして出力される。レンダリングプログラムへの命令を含むペアリング情報を受信すると、コンピューティングデバイス114のGPUは、レンダリングプログラムを実行して、ペアリング通知を表示画面116に表示する。また、ペアリング通知がオーディオプロセッサへの命令を含む場合、オーディオプロセッサ及びコンピューティングデバイス114の1つまたは複数のスピーカーは、オーディオデータを処理してオーディオデータを音声として出力する命令を実行する。同様に、ペアリング通知に両方の命令が含まれている場合、GPUとオーディオプロセッサの両方が互いに同期して、ペアリング通知を画像と音声として出力する。
セッション106がコントローラ102と連結または関連付けられるなどしてペアリングされると、ユーザAはコントローラ102を使用してセッション106と対話し、サーバシステム104とコントローラ102との間の直接的な通信を確立することができる。例えば、コントローラ102は、アプリケーション1を実行することによって生成されたゲームをプレイするためにユーザAによって使用され得る。説明すると、コントローラ102は、コンピューティングデバイス114に表示されている仮想シーンの状態を変更するべく、コントローラ移動データ、コントローラボタンの押し下げなどの入力データを、通信チャネル110を介してサーバシステム104に提供するために、ユーザAによって使用され得る。
セッション106がコントローラ102とペアリングされる前に、ユーザ102は、コントローラ102を使用して、アプリケーション1の実行のセッション106と対話して、コンピューティングデバイス114に表示される仮想シーンの状態を変更することができない。例えば、ユーザAは、コントローラ102の入力デバイスを選択または移動する。入力デバイスの選択または移動は、入力情報を生成し、これは、サーバシステム102によって処理されないか、またはサーバシステム102が仮想シーンの状態を変更することを許可されない。アプリケーション1の実行によって生成された仮想シーンの状態を変更するために、通信チャネル110を介してコントローラ102からサーバシステム102に転送された入力情報は、コントローラ102がセッション106とペアリングされるまで、仮想シーンの状態を変更するためのサーバシステム104によって処理されはしない。
一実施形態では、マルチプレーヤーのレースカーゲームまたはサッカーゲームなどのマルチプレーヤーゲームでは、ユーザアカウント1からのユーザAによるログアウトは、同様にゲームをプレイする他のユーザによるセッション106の実行の他のインスタンスに影響を与えない。他のユーザのセッション106のインスタンスは、それらが対応するユーザアカウントからログアウトするまで続く。
実施形態では、ユーザAは、本明細書に記載のコントローラ102または別のコントローラを別のユーザに物理的に転送する。他のユーザがユーザAに割り当てられたユーザアカウント1を使用する場合、ユーザアカウント1に関連付けられたセッション106のインスタンスは継続する。しかし、他のユーザがユーザアカウント1からログアウトした後に当人のユーザアカウント2をユーザ化する場合、セッション106の別のインスタンスがユーザアカウント2に対して開始する。
一実施形態では、セッション106は、仮想シーンが表示されているコンピューティングデバイス114がサーバシステム104から切断されたとき、またはコンピューティングデバイス114の電源がオフになったとき、またはコンピューティングデバイス114とサーバシステム104との間の通信信号が弱い、例えば、閾値未満の電力量を有するか、またはコンピュータネットワーク122の通信デバイスが機能していないか、または誤動作しているか、またはコンピューティングデバイス114の通信デバイスが機能していないか、または誤動作しているときに、終了する。
実施形態では、ルータ118とモデム120の両方が単一のハードウェアデバイスに統合されている。
一実施形態では、接続チャネルCC2は、同軸ケーブルなどの有線接続チャネルである。同様に、接続チャネルCC1は有線接続である。
実施形態では、サーバシステム104によって実行されるものとして本明細書に記載されている機能は、サーバシステム104の1つまたは複数のプロセッサによって実行される。同様に、実施形態では、モデム120によって実行されるものとして本明細書に記載されている機能は、モデム120の1つまたは複数のプロセッサによって実行される。また、実施形態では、ルータ118によって実行されるものとして本明細書に記載されている機能は、ルータ118の1つまたは複数のプロセッサによって実行される。一実施形態では、コントローラ102によって実行されるものとして本明細書に記載されている機能は、コントローラ102の1つまたは複数のプロセッサによって実行される。
実施形態では、本明細書で説明されるペアリング通知は、サーバシステム104からコンピューティングデバイス114に送信されない。
一実施形態では、コンピューティングデバイス114は、無線接続115を介してコントローラ102に結合されていない。
一実施形態では、コントローラ102は、識別情報をサーバシステム104に送信する前に、サーバシステム104の宛先アドレスを取得するようにコンピューティングデバイス114に要求を送信する。例えば、コンピューティングデバイス114は、無線接続115がコンピューティングデバイス114とコントローラ102との間で発生することを要求する。無線接続115が確立されると、コントローラ102は、宛先アドレスを取得するために、無線接続115を介してサーバシステム104に要求を送信する。要求を受信すると、コンピューティングデバイス114は、無線接続115を介してサーバシステム104の宛先アドレスをコントローラ102に提示する。
実施形態では、セッション106は、別のユーザがコントローラ102を使用するときに終了しない。他のユーザは、セッション106が開始された後にアクティブである間に、ユーザAからコントローラ102の受信をする。他のユーザは、コンピューティングデバイス114を介して自分のログイン情報をサーバシステム104に提示して、自分のユーザアカウントにログインし、他のユーザのユーザアカウントのセッション106の別のインスタンスを開始する。セッション106はアクティブのままであり、他のユーザがユーザアカウント1から自分のアカウントに切り替えても終了しない。
図1Bは、コントローラ102とルータ118との無線通信を説明するためのコントローラ102の実施形態の図である。コントローラ102は、モーションセンサシステム152、無線通信集積回路(IC)156、入力デバイス150、コンピュータネットワークIDチップ151、無線通信IC157、生体識別センサBIS、プロセッサ194、及びデバイスIDチップ158を含む。プロセッサ194は、モーションセンサシステム152、無線通信集積回路(IC)156、入力デバイス150、コンピュータネットワークIDチップ151、無線通信IC157、生体識別センサBIS、及びデバイスIDチップ158に結合されている。入力デバイス150は、モーションセンサシステム152に結合されている。モーションセンサシステム152の例は、コントローラ102の位置及び向きの決定を容易にし、位置及び向きの変化の決定を容易にするために、1つまたは複数のジャイロスコープ、1つまたは複数の加速度計、及び1つまたは複数の磁力計を含む。入力装置150の例には、ボタン、スイッチ、タッチスクリーン、スタイラス、ジョイスティック、マイクロフォン、ガントリガーなどが含まれる。無線通信IC157の例には、無線接続115(図1A)を介してコントローラ102とコンピューティングデバイス114(図1A)との間の通信を可能にするBluetooth(登録商標)デバイスまたはWi-Fi(登録商標)デバイスが含まれる。説明すると、Bluetooth(登録商標)デバイスには、パーソナルエリアネットワーク(PAN)を構築する、コントローラと、コンピューティングデバイスなどの別のデバイスの間で、2.4~2.485GHzという産業、科学、医療(ISM)帯域にある短波長極超短波(UHF)電波を使用して、短距離でのデータ転送を容易にするプロセッサが含まれている。
デバイスIDチップ158は、コントローラ102のMACアドレスまたは一意の識別番号などのデバイスIDを格納するメモリチップである。例えば、デバイスIDチップ158は、コントローラ102に固有であり、コントローラ102を他のコントローラから区別する一連の英数字を格納する。無線通信IC156の例は、接続チャネルCC1(図1A)を介してコントローラ102とルータ118との間のWi-Fi(登録商標)通信を可能にするWi-Fi(登録商標)デバイスを含む。説明すると、無線通信IC156は、本明細書で記載しているように、接続チャネルCC1及びルータ118を介してコントローラをコンピュータネットワーク122に結合するネットワークインターフェースカード(NIC)である。
コンピュータネットワークIDチップ151は、図1Aのルータ118のインターネットプロトコル(IP)アドレスなどのネットワークIDを格納する別のメモリチップである。ルータ118は、コンピュータネットワークIDチップ151に格納されたネットワークIDを使用して、コンピュータネットワーク122内で識別される。例えば、コンピュータネットワークIDチップ151は、ルータ118に固有であり、ルータ118をコンピュータネットワーク122内の他のルータから区別する一連の英数字を格納する。
コントローラ102のデバイスID及び他のコントローラの他の対応するデバイスIDは、セッション106(図1A)が開始する前に、サーバシステム104に事前登録される。例えば、コントローラ102に固有のデバイスIDは、コントローラ102に配線され、サーバシステム104は、デバイスIDを格納する。コントローラ102のデバイスID及び他のコントローラの追加のデバイスIDは、サーバシステム104のデバイスIDデータベースに格納される。デバイスIDデータベースは、サーバシステム104の1つまたは複数のメモリデバイスに格納されている。
また、ルータ118を識別するネットワークIDは、コントローラ102が識別情報をサーバシステム104に送信してコントローラ102をセッション106とペアリングする前に、サーバシステム104に事前登録される。例えば、セッション106の確立中に、サーバシステム104は、ネットワークIDを提示するために、通信チャネル108を介してコンピューティングデバイス114に命令を送信する。命令を受信すると、コンピューティングデバイス114は、コンピューティングデバイス114のメモリデバイスに格納されたネットワークIDにアクセスし、通信チャネル108(図1A)を介してネットワークIDをサーバシステム104に送信する。サーバシステム104は、ネットワークIDを受信し、ネットワークIDをサーバシステム104のネットワークIDデータベースに格納する。ネットワークIDデータベースは、サーバシステム104の1つまたは複数のメモリデバイスに格納されている。また、サーバシステム104は、セッション106が確立された後、ネットワークIDとユーザアカウント1との間に1対1の通信またはリンクを確立するなどで関連付ける。
また、ユーザAを識別する生体認証IDは、コントローラ102が識別情報をサーバシステム104に送信してコントローラ102をセッション106とペアリングする前に、サーバシステム104に事前登録される。例えば、コンピューティングデバイス114は、生体認証情報スキャナを有する。セッション106が確立された後、またはセッション106が確立されている間、サーバシステム104は、通信チャネル108を介してコンピューティングデバイス114に命令を送信して、ユーザAに生体認証IDを要求する。コンピューティングデバイス114が命令を受信すると、コンピューティングデバイス114は、メッセージを表示するか、または音を出力して、ユーザAに生体認証IDを要求する。ユーザAからコンピューティングデバイス114の生体認証情報スキャナを介して生体認証IDを受信すると、コンピューティングデバイス114は、通信チャネル108を介してサーバシステム104へ生体認証IDを送信する。サーバシステム104は、生体認証IDを受信し、生体認証IDをサーバシステム104の生体認証IDデータベースに格納する。生体認証IDデータベースは、サーバシステム104の1つまたは複数のメモリデバイスに格納されている。また、サーバシステム104は、生体認証IDとユーザアカウント1との間に1対1の通信またはリンクを確立するなどで関連付ける。
セッション106がコンピューティングデバイス114とサーバシステム104との間に確立された後、ユーザAは、自分の生体認証IDをコントローラ102の生体認証識別スキャナBISに提示して、コントローラ102をセッション106とペアリングする。例えば、セッション106が開始した後、ユーザAがコントローラ102の指紋リーダーへと当人の指を押し当てる、またはユーザAがコントローラ102のマイクロフォンに話しかける、またはユーザ102が当人の目をコントローラ102の生体認証アイスキャナに入れてスキャンするという通知を見ると、ユーザAは、コントローラ102の生体認証情報スキャナBISに、自分の生体認証情報を提供する。生体認証IDを受信すると、コントローラ102の生体認証識別スキャナBISは、生体認証識別信号を生成し、生体認証識別信号をプロセッサ194に送信する。プロセッサ194は、生体認証識別信号を受信し、生体認証識別信号をサーバシステム104に送信するための命令を生成する。例えば、命令は、サーバシステム104の宛先アドレスを含む。プロセッサ194は、命令及び生体認証識別信号を無線通信IC156に送信する。無線通信IC156は、無線通信プロトコルを生体認証識別信号及び命令に適用し、生体認証識別信号及び命令を、接続チャネルCC1(図1A)を介してルータ118に送信する。ルータ118は、命令の中の宛先アドレスから、生体認証識別信号がサーバシステム104に送信されるべきであると判定し、命令及び生体認証識別信号をモデム120に送信する。モデム120は、ネットワーク通信プロトコルを生体認証識別信号に適用して、1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。生体認証識別信号を有する転送パケットは、接続要求の例である。
代替として、またはセッション106がコンピューティングデバイス114とサーバシステム104との間で確立された後に生体認証識別信号を送信することに加えて、プロセッサ194は、デバイスIDチップ158からデバイスIDにアクセスし、デバイスIDをサーバシステム104へ送信するための命令を生成し、コントローラ102をセッション102とペアリングするようにする。プロセッサ194は、命令及びデバイスIDを無線通信IC156に送信する。無線通信IC156は、無線通信プロトコルをデバイスID及び命令に適用し、デバイスID及び命令を接続チャネルCC1(図1A)を介してルータ118に送信する。ルータ118は、命令から、デバイスIDがサーバシステム104に送信されるべきであると判定し、命令及びデバイスIDをモデム120に送信する。モデム120は、デバイスIDを有する1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。デバイスIDを有する転送パケットは、接続要求のもう1つの例である。
また、代替として、またはセッション106の開始後に生体認証識別信号を送信することに加えて、または、代替として、またはセッション106の開始後にデバイスIDを送信することに加えて、プロセッサ194は、コンピュータネットワークIDチップ151からネットワークIDにアクセスし、命令を生成してネットワークIDをサーバシステム104に送信して、コントローラ102をセッション106とペアリングする。プロセッサ194は、命令及びデバイスIDを無線通信IC156に送信する。無線通信IC156は、無線通信プロトコルをネットワークID及び命令に適用し、ネットワークID及び命令を接続チャネルCC1を介してルータ118に送信する。ルータ118は、命令から、ネットワークIDがサーバシステム104に送信されるべきであると判定し、命令及びネットワークIDをモデム120に送信する。モデム120は、ネットワークIDから1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。ネットワークIDを有する転送パケットは、接続要求のもう1つの例である。
接続要求は、ゲーム機またはコンピューティングデバイス114を介して送信されないことに留意されたい。コントローラ102からサーバシステム104に接続要求を転送する際に、ゲーム機またはコンピューティングデバイス114を使用することはできない。
デバイスID、または生体認証ID、またはネットワークID、またはそれらの2つ以上の組み合わせが、コントローラ102をセッション106とペアリングするためにサーバシステム104によって使用されると、コントローラ102は、ユーザAによって使用され、アプリケーション1の実行時に表示される仮想シーンの状態を変更するための入力を生成及び提供し得る。例えば、コントローラ102がサーバシステム104とペアリングされると、ユーザAは、コントローラ102を使用して、仮想シーンの状態を変更することができる。ユーザAは、入力デバイス150を選択または移動するか、またはコントローラ102を移動して選択を提供することで、コントローラ102を使用する。入力デバイス150は、入力デバイス150の選択または移動を受信すると入力信号を生成し、及び/またはモーションセンサシステム152は、コントローラ102が移動すると入力信号を生成する。モーションセンサ152によって生成された入力信号は、コントローラ102の位置または向きを判定するためのデータ、及び/または入力デバイス150の位置及び向きを判定するためのデータを含む。コントローラ102の位置または向きを計算するためのデータの例には、コントローラ102の加速度、コントローラ102の角速度、及びコントローラ102の向きが含まれる。コントローラ102の位置及び向き、ならびに入力デバイス150の位置及び向きは、コントローラ102内の基準座標系を参照して測定される。入力デバイス150の位置及び向きを計算するためのデータの例には、入力デバイス150の加速度、入力デバイス150の角速度、及び入力デバイス150の向きが含まれる。プロセッサ194は、1つまたは複数の入力信号を受信する。
プロセッサ194は、1つまたは複数の入力信号を受信して、入力情報を出力する。例として、入力情報は、コントローラ102の位置または向きまたはそれらの組み合わせを計算するためのデータを含むか、または入力デバイス150もしくはユーザAによって入力デバイス150を介して行われた選択の位置もしくは向きもしくはそれらの組み合わせを計算するためのデータを含む。説明すると、入力情報は、入力デバイス150の複数のボタンのどれがユーザAによって選択されるか、または入力デバイス150の複数のジョイスティックのどれがどの方向に動かされるかを含む。入力情報に加えて、プロセッサ194はまた、入力情報をサーバシステム104の宛先アドレスに送信するための命令を生成する。
プロセッサ194は、通信チャネル110を介して入力情報をサーバシステム104に送信する。例えば、プロセッサ194は、入力情報及び命令を無線通信IC156に送信する。無線通信IC156は、無線通信プロトコルを入力情報及び命令に適用し、入力情報及び命令を接続チャネルCC1(図1A)を介してルータ118に送信する。ルータ118は、命令から、入力情報がサーバシステム104に送信されるべきであると判定し、命令及び入力情報をモデム120に送信する。モデム120は、入力情報から1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。
一実施形態では、無線通信IC156及び無線通信IC157は、単一の集積回路チップに統合されている。実施形態では、無線通信IC156は、1つの集積回路チップに統合され、無線通信IC157は、別の集積回路チップに統合される。
図1Cは、セルラー接続チャネル151及びセルラー接続チャネル153を含む通信チャネル155の使用を説明するためのシステム159の実施形態の図である。通信チャネル155は、図1Cにおいて「o」として示されている。セルラー接続チャネル151及び152のそれぞれは、無線周波数接続チャネルなどの無線接続チャネルである。通信チャネル155は、セルラーネットワーク154またはモバイルネットワークを含み、これは、タワーTWなどの複数のセルタワーを含む。セルラーネットワーク154の例には、モバイルブロードバンドネットワーク、第4世代(4G)モバイルネットワーク、4Gロングタームエボリューション(4G LTE)、及び第5世代(5G)モバイルネットワークが含まれる。セルラーネットワーク154は、モバイルブロードバンドプロトコル、4Gプロトコル、4G LTEプロトコル、または5Gプロトコルなどのセルラー通信プロトコルを使用して、データを転送する。システム159は、コントローラ160が、ルータ118を介する代わりにセルラーネットワーク154を介してコンピュータネットワーク122に結合することを除いて、コントローラ102(図1B)と構造及び機能が同じであるコントローラ160を含む。例えば、サーバシステム104の宛先アドレスは、コントローラ160が識別情報をサーバシステム104に送信することができるように、コントローラ160のファームウェアに格納される。別の例として、コントローラ160は、無線接続115(図1A)を介してコンピューティングデバイス114に結合されて、サーバシステム114の宛先アドレスの要求を送信する。要求を受信すると、コンピューティングデバイス114は、有線接続115を介して宛先アドレスをコントローラ160に送信する。
各セルタワーは、コントローラ160から受信されたデータをコンピュータネットワーク122に転送し、コンピュータネットワーク122から受信されたデータをコントローラ160に転送するためのトランシーバを含む。セルラー接続チャネル151、複数のタワー、セルラー接続チャネル153、コンピュータネットワーク122、及び接続C2の組み合わせは、通信チャネル155である。
システム159は、システム159においてコントローラ160が使用されることを除いて、構造及び機能において、図1Aのシステム100と同様である。コントローラ160は、構造及び機能において、コントローラ160がコンピュータネットワーク122及び1つまたは複数のセルタワーを介してサーバシステム104と通信することを除いて、コントローラ102と同様である。接続チャネルCC1、ルータ118、ケーブルEC、モデム120、及び接続C1を介してコンピュータネットワーク122と通信する代わりに、コントローラ160は、セルラー接続チャネル151、タワーTW、及びセルラー接続チャネル152を介してコンピュータネットワーク122と通信する。
アプリケーション1のセッション106(図1A)が確立または開始されると、コントローラ160の加入者識別モジュール(SIM)カードなどのコントローラ160は、セルラー通信プロトコルを識別情報及び命令に適用し、サーバシステム104に転送するための1つまたは複数の転送ユニットを生成するための識別情報を送信する。コントローラ160は、識別情報及び命令を含む転送ユニットを、セルラー接続チャネル151を介してタワーTWに送信する。コンピューティングデバイス114または別のデバイス、例えばゲーム機は、識別情報を送信する際にバイパスされる。例えば、識別情報は、コントローラ160からコンピューティングデバイス114またはゲーム機に送信されない。別の例として、識別情報は、コンピューティングデバイス114またはゲーム機に送信されるコントローラ160によってアドレス指定されない。識別情報は、サーバシステム104に送信されるコントローラ160によってアドレス指定される。
タワーTWのトランシーバは、識別情報及び命令を有する転送ユニットを受信し、トランシーバは、転送ユニットをコンピュータネットワーク122に転送する。コンピュータネットワーク122のモデムなどのゲートウェイは、セルラー通信プロトコルを適用して転送ユニットから命令及び識別情報を抽出することによって、転送ユニットを復調し、ネットワーク通信プロトコルを識別情報に適用して転送パケットを生成し、識別情報を有する転送パケットを、接続C2を介してサーバシステム104に送信する。アプリケーション1の実行によって生成された仮想シーンの状態を変更するための通信チャネル155を介したコントローラ160からサーバシステム102への入力情報の転送は、コントローラ160がセッション106とペアリングされるまで、コントローラ160によって無効にされる、または有効にされない。
図1Dは、コントローラ160からサーバシステム104(図1C)に識別情報を転送するためのブロードバンド通信IC162の使用を説明するためのコントローラ160の実施形態の図である。コントローラ160は、入力デバイス150、モーションセンサシステム152、無線通信IC157、生体認証識別スキャナBIS、プロセッサ194、ブロードバンド通信IC162、及びデバイスIDチップ158を含む。ブロードバンド通信IC162の例は、SIMカードである。プロセッサ194は、入力デバイス150、モーションセンサシステム152、無線通信IC157、生体認証識別スキャナBIS、ブロードバンド通信IC162、及びデバイスIDチップ158に結合される。
図1Aのコントローラ102とコントローラ160との間で共通の構成要素は、構成要素がコントローラ102の代わりにコントローラ160に関して上記のように動作することを除いて、コントローラ102に関して上記と同じように動作することに留意されたい。例えば、モーションセンサシステム152は、コントローラ102の代わりにコントローラ160の位置及び向きを計算するためのデータを測定する。
コントローラ160のデバイスIDは、セッション106(図1C)が開始する前に、サーバシステム104に事前登録される。例えば、コントローラ160に固有のデバイスIDは、コントローラ160に組み込まれ、サーバシステム104は、デバイスIDを格納する。コントローラ160のデバイスIDは、サーバシステム104のデバイスIDデータベースに格納されている。
セッション106がコンピューティングデバイス114(図1C)とサーバシステム104(図1C)との間に確立された後、ユーザAは、自分の生体認証IDをコントローラ160の生体認証識別スキャナBISに提示して、コントローラ160をセッション106とペアリングする。例えば、セッション106が開始した後、ユーザAがコントローラ102の指紋リーダーへと当人の指を押し当てる、またはユーザAがコントローラ160のマイクロフォンに話しかける、またはユーザ102が当人の目をコントローラ160の生体認証アイスキャナに入れてスキャンするという、コンピューティングデバイス114に関する通知を見ると、ユーザAは、コントローラ160の生体認証情報スキャナBISに、自分の生体認証情報を提示する。生体認証IDを受信すると、コントローラ160の生体認証識別スキャナBISは、生体認証識別信号を生成し、生体認証識別信号をプロセッサ194に送信する。プロセッサ194は、生体認証識別信号を受信し、生体認証識別信号をサーバシステム104に送信するための命令を生成する。例えば、命令は、サーバシステム104の宛先アドレスを含む。プロセッサ194は、命令及び生体認証識別信号をブロードバンド通信IC162に送信する。ブロードバンド通信IC162は、セルラー通信プロトコルを生体認証識別信号及び命令に適用し、1つまたは複数の転送ユニットを生成し、転送ユニットを、セルラー接続チャネル151(図1C)を介してタワーTWに送信し、タワーTWは転送ユニットをコンピュータネットワーク122へ転送する。コンピュータネットワーク122は、セルラー通信プロトコルを転送ユニットに適用して、転送ユニットから生体認証ID及び命令を抽出し、さらに、ネットワーク通信プロトコルを生体認証ID及び命令に適用して、1つまたは複数の転送パケットを生成し、接続C2を介してサーバシステム104に転送パケットを送信する。
代わりに、またはセッション106の開始後に生体認証識別信号を送信するのに加えて、コントローラ160のプロセッサ194は、デバイスIDチップ158からコントローラ160のデバイスIDにアクセスし、デバイスIDをサーバシステム104へ送信するための命令を生成し、コントローラ160をセッション106とペアリングするようにする。プロセッサ194は、命令及びデバイスIDをブロードバンド通信IC162に送信する。ブロードバンド通信IC162は、セルラー通信プロトコルをデバイスID及び命令に適用し、1つまたは複数の転送ユニットを生成し、転送ユニットを、セルラー接続チャネル151(図1C)を介してタワーTWに送信し、タワーTWは転送ユニットをコンピュータネットワーク122へ転送する。コンピュータネットワーク122は、セルラー通信プロトコルを転送ユニットに適用して、転送ユニットからデバイスID及び命令を抽出し、さらに、ネットワーク通信プロトコルをデバイスID及び命令に適用して、1つまたは複数の転送パケットを生成し、接続C2を介してサーバシステム104に転送パケットを送信する。
同様に、コントローラ160がセッション106とペアリングして、コントローラ160とサーバシステム104との間の直接的な通信を確立するとき、プロセッサ194は、通信チャネル155を介して入力情報をサーバシステム104に送信する。例えば、プロセッサ194は、無線通信IC156に入力情報及び命令を送信して入力情報を送信する。無線通信IC156は、無線通信プロトコルを入力情報及び命令に適用して1つまたは複数の転送ユニットを生成し、入力情報及び命令を有する転送ユニットをセルラー接続チャネル151を介してタワーTWに送信する。タワーTWは、命令及び入力情報を有する転送ユニットがサーバシステム104に送信されることを命令から判定し、転送ユニットを他のセルラータワーを介してコンピュータネットワーク122に送信する。コンピュータネットワーク122は、セルラー通信プロトコルを転送ユニットに適用して、転送ユニットから入力情報及び命令を抽出し、さらに、ネットワーク通信プロトコルを入力情報及び命令に適用して、複数の転送パケットを生成し、接続C2を介してサーバシステム104に転送パケットを送信する。
一実施形態では、無線通信IC162及び無線通信IC157は、単一の集積回路チップに統合されている。実施形態では、ブロードバンド通信IC162は、1つの集積回路チップに統合され、無線通信IC157は、別の集積回路チップに統合される。
実施形態では、1つのコントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。この実施形態では、コントローラのプロセッサ194は、接続チャネル111(図1A)の使用からセルラーネットワーク154(図1C)の使用への、またはその逆のハンドオーバーを実行するべきかどうかを判定する。例えば、プロセッサ194は、セルラーネットワーク154が接続チャネル111よりも優れたサービスの質(QoS)を有すること、または接続チャネル111と比較してセルラーネットワーク154を介してデータを転送する際の待ち時間が短いということを判定する。説明すると、プロセッサ194は、セルラーネットワーク154が、接続チャネル111を介して送信されたデータの損失量と比較して、データ損失の量が少ないか、またはpingの時間が短いと判定する。セルラーネットワーク154がより良いQoSであると判定すると、プロセッサ194は、識別情報などの本明細書に記載のデータをコントローラからサーバシステム104に転送するために、無線通信IC156の代わりにブロードバンド通信IC162を使用すると判定する。説明すると、ユーザAが当人の車でコントローラを使用するとき、セルラーネットワーク154は、ユーザAが当人の家でコントローラを使用するときと比較してより良いQoS及びより短い待ち時間を、可能にする。ユーザAが当人の家でコントローラを使用するとき、接続チャネル111は、セルラーネットワーク154と比較して、より良いQoS及びより短い待ち時間を可能にする。
実施形態では、プロセッサ194は、通信チャネル155(図1C)を介してサーバシステム104に提供するために所定の数の転送ユニットを送信し、サーバシステム104によって受信された転送ユニットのカウントに関する、本明細書で説明されている、サーバシステム104の1つまたは複数のプロセッサを要求することによって、データ損失量を判定することに留意されたい。同様に、プロセッサ194は、通信チャネル110(図1A)を介してサーバシステム104に提供するために所定の数の転送ユニットを送信し、通信チャネル110を介して、サーバシステム104によって受信された転送パケットのカウントに関する、本明細書で説明されている、サーバシステム104の1つまたは複数のプロセッサを要求することによって、損失した転送パケット量を判定する。プロセッサ194は、失われた転送ユニットの量を、失われた転送パケットの量と比較して、より少ないデータの損失の量を判定する。また、プロセッサ194は、通信チャネル155を介してサーバシステム104に提示するために所定の数の転送ユニットを送信し、通信チャネル155を介して、プロセッサ194に戻る転送ユニットのカウントに送信する、本明細書で説明されている、サーバシステム104の1つまたは複数のプロセッサを要求することによって、待ち時間を判定する。通信チャネル155を介して転送ユニットを送受信するための時間を判定することによって、待ち時間が判定される。同様に、プロセッサ194は、通信チャネル110を介してサーバシステム104に提示するために所定の数の転送パケットを送信し、通信チャネル110を介して、プロセッサ194に戻る転送パケットのカウントに送信する、サーバシステム104の、本明細書で説明されている、1つまたは複数のプロセッサを要求することによって、待ち時間を判定する。通信チャネル110を介して転送パケットを送受信するための時間を判定することによって、待ち時間が判定される。両方の待ち時間は、より短い待ち時間を判定するためにプロセッサ194によって比較される。
実施形態では、1つのコントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。コントローラのプロセッサ194は、接続チャネル111を使用することと比較して、セルラーネットワーク154を使用することに関連する電力コストを判定する。例えば、プロセッサ194は、無線通信IC156(図1B)が使用され、ブロードバンド通信IC162(図1D)が使用されない所定の期間の後に、コントローラのバッテリに問い合わせる。バッテリは、プロセッサ194に結合され、本明細書に記載のコントローラのすべての構成要素に、電力を供給する。また、プロセッサ194は、ブロードバンド通信IC162が使用され、無線通信IC156(図1B)が使用されないのと同じ長さの所定の期間の後に、バッテリに問い合わせる。プロセッサ194は、無線通信IC156が使用され、ブロードバンド通信IC162が使用されない所定の期間、またはブロードバンド通信IC162が使用され、無線通信IC156は使用されない所定の期間に、バッテリの電力がより多く使用されるかどうかを判定する。無線通信IC156が使用され、ブロードバンド通信IC162が使用されていない所定の期間にバッテリがより多く使用されると判定すると、プロセッサ194は、接続チャネル111を使用することに関連する電力コストが、セルラーネットワーク154の使用に関連するものよりも高いと判定する。他方で、ブロードバンド通信IC162が使用され、無線通信IC156が使用されていない所定の期間にバッテリがより多く使用されると判定すると、プロセッサ194は、接続チャネル111を使用することに関連する電力コストよりも、セルラーネットワーク154の使用に関連するものの方が高いと判定する。プロセッサ194は、電力コストがより低い無線通信IC156またはブロードバンド通信IC162のいずれかを使用する。
実施形態では、1つのコントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。プロセッサ194は、コントローラの表示画面を介してユーザAにメッセージを表示するか、またはユーザAからの選択を受信するコントローラの1つまたは複数のスピーカーから音声として出力されるオーディオデータの形式で、セルラーネットワーク154と接続チャネル111とのどちらが使用されるべきかどうかというメッセージを提示する。ユーザAは、セルラーネットワーク154または接続チャネル111のいずれかを使用して、当人のプレイ時間にプラスの影響を与えるより良好なQoSを取得することを決定することができる。セルラーネットワーク154が使用されることを示す入力デバイス150を介してユーザAから選択を受信すると、プロセッサ194は、本明細書に記載のデータをサーバシステム104に転送するためにブロードバンド通信IC162を使用することを判定する。他方、接続チャネル111が使用されることを示す入力デバイス150を介してユーザAから選択を受信すると、プロセッサ194は、本明細書に記載のデータをサーバシステム104に転送するために無線通信IC156を使用することを判定する。
実施形態では、コントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。この実施形態では、上記のようなハンドオーバーはない。むしろ、プロセッサ194は、無線通信IC156とブロードバンド通信IC162の両方を使用してサーバシステム104に接続することを判定する。プロセッサ194は、識別情報など、本明細書に記載されているのと同じデータを、無線通信IC156及びブロードバンド通信IC162を介してサーバシステム104に送信する。サーバシステム104は、無線通信IC156またはブロードバンド通信IC162のいずれかから最初に受信された同じデータを処理する。例えば、サーバシステム104の通信インターフェースは、無線通信IC156からパケットIDまたはタイムスタンプを有する1つまたは複数の転送パケットを受信し、ブロードバンド通信IC162から同じパケットIDまたは同じタイムスタンプを有する1つまたは複数の転送パケットを受信し、最初に受信された1つまたは複数の転送パケットを処理する。
図1Eは、セッション106(図1A)とコントローラ164とのペアリングを説明するためのサーバシステム104の実施形態の図である。図1Aのコントローラ102及び図1Cのコントローラ160は、コントローラ164の例である。サーバシステム104は、認証プロセッサ176、セッションリンクプロセッサ178、デバイスIDデータベース、ネットワークIDデータベース、ユーザアカウントデータベース、マッピングデータベース、セッションIDデータベース、生体認証IDデータベース、ペアリング通知プロセッサ180、通信インターフェース170、セッションIDプロセッサ183、及び実行サーバES1を含む。
通信インターフェース170は、セッションIDプロセッサ183、ペアリング通知プロセッサ180、認証プロセッサ176、及び実行サーバES1に結合されている。ペアリング通知プロセッサ180は、認証プロセッサ176及びセッションリンクプロセッサ178に結合されている。認証プロセッサ176は、セッションリンクプロセッサ178、及びサーバシステム104の1つまたは複数のメモリデバイスに格納されているマッピングデータベースに結合されている。マッピングデータベースは、デバイスIDデータベース、ユーザアカウントデータベース、生体認証IDデータベース、及びネットワークIDデータベースに結合されている。セッションリンクプロセッサ178は、セッションIDデータベースに結合されている。セッションIDプロセッサ183は、実行サーバES1、セッションIDデータベース、及びセッションリンクプロセッサ178に結合されている。
サーバシステム104は、通信ネットワーク177を介してコントローラ164に結合されている。通信ネットワーク177の例には、図1Aの通信チャネル110及び図1Cの通信チャネル155が含まれる。通信ネットワーク177の追加の例には、図1A及び1Cの通信チャネル108が含まれる。説明すると、通信ネットワーク177は、通信チャネル110及び108または通信チャネル155及び108を含む。
サーバシステム104は、LEDディスプレイデバイス、LDCディスプレイデバイス、またはプラズマディスプレイデバイスなどのディスプレイデバイス166に結合されている。ディスプレイデバイス166は、管理ユーザからの選択を受信するタッチスクリーンディスプレイなどの入力デバイスであり得る。ディスプレイデバイス166の例は、図1A及び1Cのコンピューティングデバイス114である。
実行サーバES1は、コンピュータポートなどの入力チャネル184を有し、これは、セッションIDプロセッサ183を介して、通信インターフェース170からデータを受信するために通信インターフェース170に結合される。実行サーバES1はさらに、ビデオ会議アプリケーションまたはゲームなどのアプリケーション1を実行する実行エンジン186を有し、その例には、ビデオゲーム、仮想現実ゲーム、及び拡張現実ゲームが含まれる。本明細書で説明されるようなエンジンの例には、プロセッサ及びコンピュータソフトウェアモジュールが含まれる。アプリケーションは、例えば、コンピューティングデバイス114または本明細書で説明される別の表示画面に表示される仮想シーンの状態を変更するために実行される。仮想シーンの状態の例には、クライアントに表示される仮想シーンの仮想オブジェクトの位置、仮想オブジェクトの向き、オブジェクトの色、仮想オブジェクトの色合い、仮想オブジェクトのテクスチャ、仮想シーン内の背景の位置、背景の向き、背景の色、背景の色合い、背景のテクスチャ、またはそれらの2つ以上の組み合わせが含まれる。1つまたは複数のビデオフレーム、または1つまたは複数のオーディオフレーム、またはそれらの組み合わせは、実行エンジンES1によって生成され、1つまたは複数のフレームは、状態または状態への変化を含む。生成される1つまたは複数のフレームは、本明細書ではビデオ出力と呼ばれることがある。ビデオフレームの例には、Iフレーム、Pフレーム、及びBフレームが含まれる。
通信インターフェース170は、ネットワークインターフェースコントローラまたはネットワークインターフェースカードなどのネットワークインターフェースであり得、ネットワーク通信プロトコルを適用して、通信ネットワーク177を介してコントローラ164から受信されたパケットを転送して、転送パケットからデータを抽出し、ネットワーク通信プロトコルをデータに適用して、通信ネットワーク177を介してコントローラ164に転送される1つまたは複数の転送パケットを生成する。通信インターフェース170の例は、ネットワークインターフェースに結合されたプロセッサを含む。
エンコーダ188の例は、フレームの圧縮を実行するプロセッサまたはコンピュータソフトウェアモジュールを含む。例えば、エンコーダ188は、実行エンジン186からフレームを受信し、H.264または別のフレーム圧縮規格などの圧縮プロトコルを適用することによって、フレーム内またはフレーム間圧縮を実行する。
動作1では、ディスプレイデバイス166は、ログイン情報を有する1つまたは複数の転送パケットを、通信ネットワーク177を介して通信インターフェース170に送信する。通信インターフェース170は、ネットワーク通信プロトコルを転送パケットに適用して、転送パケットからログイン情報を抽出する。通信インターフェース170のプロセッサは、転送パックから抽出された情報をログイン情報として識別し、それを識別すると、ログイン情報をセッションIDプロセッサ183に提供する。例えば、通信インターフェース170のプロセッサは、転送パケットから受信した情報の一連の英数字またはユーザ名の構造またはパスワードの構造などの構造が、ログイン情報の構造と一致することを判定し、情報がログイン情報であると判定する。
セッションIDプロセッサ183は、ログイン情報が真正であるかどうかを判定し、ログイン情報が真正であると判定すると、アプリケーション1の実行のセッション106を確立する。また、セッションIDプロセッサ183は、ログイン情報が真正であると判定すると、ユーザアカウント1へのアクセスを許可する。セッション1の例は、ディスプレイデバイス166とサーバシステム102との間のデータまたは情報の一時的かつインタラクティブな交換または通信である。セッション106は、ユーザAがユーザアカウント1からログアウトするか、またはサーバシステム102とディスプレイデバイス166との間の接続が失われると終了する。サーバシステム102とディスプレイデバイス166との間の接続の喪失は、図1Aの通信チャネル110または図1Cの通信チャネル155の誤動作に起因する可能性がある。他方、セッションIDプロセッサ183は、ログイン情報が真正ではないと判定したときにセッション106を確立しない。
セッションIDプロセッサ183は、英数字などのセッションID1をセッション106に割り当て、セッションIDをユーザAに割り当てられたユーザアカウント1にリンクし、セッションID1をセッションIDデータベースに格納する。セッションID1は、セッションのためセッションID1とユーザアカウント1との間に1対1の関係を確立することによってユーザアカウント1にリンクされ、リンクは、セッションIDプロセッサ183によって、マッピングデータベースに格納される。
入力チャネル184は、ログイン情報が真正であるという判定をセッションIDプロセッサ183から受信し、ゲーム実行エンジン186に判定を提供する。ログイン情報が真正であるという判定を受信すると、ゲーム実行エンジン186は、セッション106に関連する情報の1つまたは複数のフレーム、例えば、オーディオフレーム、ビデオフレーム、またはそれらの組み合わせを生成する。説明すると、ゲーム実行エンジン186は、アプリケーション1の名前またはアプリケーション1のタイトルまたはアプリケーション1の仮想画像を含むフレームを生成する。フレームは、エンコーダ188によって符号化され、操作2で通信インターフェース170に送信され、エンコードされたフレームを出力する。通信インターフェース170は、ネットワーク通信プロトコルを符号化されたフレームに適用して、1つまたは複数の転送パケットを有するストリームを生成し、通信ネットワーク177を介してディスプレイデバイス166にストリームを送信する。通信インターフェース170から送信されるストリームの例には、ビデオストリームまたはオーディオストリーム、あるいはそれらの組み合わせが含まれる。
セッションに関連する情報を受信した後、動作3において、コントローラ164は、通信ネットワーク177を介して、生体認証ID1またはデバイスID1またはネットワークID1またはそれらの2つ以上の組み合わせなどの識別情報を、通信インターフェース170に送信し、コントローラ164をセッション106とペアリングする。通信インターフェース170は、ネットワーク通信プロトコルを、識別情報を含む1つまたは複数の転送パケットに適用して、転送パケットから識別情報を抽出し、識別情報を認証プロセッサ176に送信する。
通信インターフェース170のプロセッサは、転送パケットから抽出された情報を識別情報として識別し、それを識別すると、識別情報を認証プロセッサ176に提供する。例えば、通信インターフェース170のプロセッサは、一連の音素または指紋またはIPアドレスまたはデバイスIDなどの、識別情報のものと一致する転送パケットから受信した情報の構造を判定し、情報は識別情報であると判定する。
通信インターフェース170から生体認証ID1を受信すると、認証プロセッサ176は、生体認証IDデータベースから事前登録された生体認証ID1を検索し、受信された生体認証ID1を処理して、受信された生体認証ID1が真正であるかどうかを判定する。例えば、認証プロセッサ176は、受信された生体認証ID1と事前登録された生体認証ID1との間に一致があるかどうかを判定する。事前登録された生体認証ID1は、生体認証IDデータベースに格納されることによってユーザAに割り当てられたユーザアカウント1に事前登録され、ユーザアカウント1にリンクされる。一致が発生すると判定すると、認証プロセッサ176は、受信した生体認証ID1を検証するために受信した生体認証ID1が真正であると判定する。一方、一致が発生しないと判定すると、認証プロセッサ176は、受信した生体認証ID1が真正ではないと判定する。同様に、通信インターフェース170からデバイスID1を受信すると、認証プロセッサ176は、デバイスIDデータベースから事前登録されたデバイスID1を検索し、受信したデバイスID1を処理して、受信したデバイスID1が真正であるかどうかを判定する。さらに、同様に、通信インターフェース170からネットワークID1を受信すると、認証プロセッサ176は、ネットワークIDデータベースから事前登録されたネットワークID1を検索し、受信したネットワークID1を処理して、受信したネットワークID1が真正であるかどうかを判定する。
マッピングデータベースは、事前登録された生体認証ID1とユーザアカウント1の間の、1対1の対応、リンク、またはマッピングなどの関連付けを事前に保存することに留意されたい。例えば、生体認証ID1が、コントローラ164をセッション106とペアリングするためにコントローラ164から受信される前に、セッションIDプロセッサ183は、図1Aまたは1Cの通信チャネル108を介してコンピューティングデバイス114から生体認証ID1を受信し、生体認証IDデータベースに事前登録された生体認証ID1を格納する。さらに、セッションIDプロセッサ183は、事前登録された生体認証ID1とユーザアカウント1との間の関連付けを確立し、関連付けをマッピングデータベース内に格納し、事前登録された生体認証ID1を生体認証IDデータベース内に格納する。同様の方法で、ネットワークID1及びデバイスID1がコントローラ164から受信されてコントローラ164をセッション106とペアリングする前に、セッションIDプロセッサ183は、マッピングデータベース内に事前登録されたデバイスID1及び/またはユーザアカウント1間の関連付け、及びマッピングデータベース内に事前登録されたネットワークID1とユーザアカウント1との間の関連付けを格納し、事前登録されたネットワークID1をネットワークIDデータベース内に格納し、事前登録されたデバイスIDをデバイスID1データベース内に格納する。ユーザアカウント1及び他のユーザアカウント2からNは、ユーザアカウントデータベース内に格納される。
認証プロセッサ176は、受信された生体認証ID1がセッションリンクプロセッサ178に対して真正であるという判定を提供する。セッションリンクプロセッサ178は、セッションID1と受信された生体認証ID1との間の関連付けを確立し、マッピングデータベース内に関連付けを格納して、セッション116をコントローラ164とペアにする。例えば、セッションリンクプロセッサ178は、1対1のリンク、またはセッション106のセッションID1と受信された生体認証ID1との間のマッピングまたは対応を生成する。同様に、セッションリンクプロセッサ178は、セッションID1と受信されたデバイスID1との間の関連付けを確立し、マッピングデータベース内に関連付けを格納する。例として、セッションリンクプロセッサ178は、1対1のリンク、またはセッション106のセッションID1と受信されたデバイスID1との間のマッピングもしくは対応を生成する。また、同様に、セッションリンクプロセッサ178は、セッションID1と受信されたネットワークID1との間の関連付けを確立し、マッピングデータベース内に関連付けを格納する。例えば、セッションリンクプロセッサ178は、1対1のリンク、またはセッション106のセッションID1と受信されたネットワークID1との間のマッピングもしくは対応を生成する。
コントローラ164から受信された識別情報とセッション106との間の関連付けを確立すると、動作4において、セッションリンクプロセッサ178は、関連付けの判定をペアリング通知プロセッサ180に提供する。関連付けの判定を受信することに応答して、ペア通知プロセッサ180は、ペアリング通知を生成し、ペアリング通知を通信インターフェース170に送信する。ペアリング通知プロセッサ180はまた、ペアリング通知をディスプレイデバイス166に送信するための命令、またはペアリング通知をコントローラ164、もしくはディスプレイデバイス166とコントローラ164の両方に送信するための命令を生成する。通信インターフェース170は、ペアリング通知プロセッサ180から命令を受信し、ネットワーク通信プロトコルを、ペアリング通知と、ディスプレイデバイス166の宛先アドレス、またはコントローラ164の宛先アドレス、または両方の宛先アドレスに適用し、1つまたは複数の転送パケットを生成し、通信ネットワーク177を介して、転送パケットをディスプレイデバイス166もしくはコントローラ164、またはコントローラ164とディスプレイデバイス166の両方に送信する。
認証プロセッサ176が、受信された生体認証ID1または受信されたデバイスID1または受信されたネットワークID1またはそれらの2つ以上の組み合わせが真正ではないと判定した場合、認証プロセッサ176は、ペアリング通知プロセッサ180にその判定を通知する。判定を受信すると、ペアリング通知プロセッサ180は、非ペアリング通知と、非ペアリング通知をディスプレイデバイス166もしくはコントローラ164、またはコントローラ164とディスプレイデバイス166の両方に送信する命令を生成する。命令と非ペアリング通知を受信すると、通信インターフェース170は、ネットワーク通信プロトコルを、ディスプレイデバイス166の宛先アドレス、またはコントローラ164の宛先アドレス、または両方の宛先アドレスに適用して1つまたは複数の転送パケットを生成し、転送パケットを、通信ネットワーク177を介して、ディスプレイデバイス166もしくはコントローラ164、またはコントローラ164とディスプレイデバイス166の両方に送信する。
通信インターフェース170は、接続C2(図1A)、コンピュータネットワーク122(図1A)、接続C1(図1A)、モデム120(図1A)、ケーブルEC(図1A)、ルータ108(図1A)、及び接続チャネルCC2(図1A)を介して、非ペアリング通知またはペアリング通知などのペアリング関連通知を含む転送パケットをディスプレイデバイス166に送信する。図1A及び1Cのモデム120は、ペアリング関連通知及びディスプレイデバイス166の宛先アドレスを含む転送パケットを受信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、ディスプレイデバイス166の宛先アドレス及びペアリング関連通知を抽出し、ペアリング関連通知及び宛先アドレスを図1A及び1Cのルータ118に送信する。ルータ118は、ディスプレイデバイス166の宛先アドレスから、ペアリング関連通知がディスプレイデバイス166に送信されるべきであると判定し、ペアリング関連通知をディスプレイデバイス166に送信する。例えば、ルータ118は、ディスプレイデバイス166のIPアドレスから、ペアリング関連通知がディスプレイデバイス166に送信されることを識別する。ペアリング関連通知を受信すると、ディスプレイデバイス166のGPUは、ディスプレイデバイス166のディスプレイ画面にペアリング関連通知を表示する。ペアリング関連通知がオーディオデータである場合、ディスプレイデバイス166のオーディオプロセッサは、ペアリング関連通知を音声として出力する。同様に、ペアリング関連通知が画像と音声の両方のデータを含む場合、ディスプレイデバイス166のGPUとオーディオプロセッサの両方が互いに同期して、ペアリング関連通知を画像と音声として出力する。
一実施形態では、通信インターフェース170は、接続C2、コンピュータネットワーク122、接続C1、モデム120、ケーブルEC、ルータ108、及び接続チャネルCC1を介して、ペアリング関連通知を含む転送パケットを図1Aのコントローラ102に送信する。図1A及び1Cのモデム120は、ペアリング関連通知及びディスプレイデバイス166の宛先アドレスを含む転送パケットを受信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、コントローラ102の宛先アドレス及びペアリング関連通知を抽出し、ペアリング関連通知及び宛先アドレスを図1A及び1Cのルータ118に送信する。ルータ118は、コントローラ102の宛先アドレスから、ペアリング関連通知がコントローラ102に、接続チャネルCC1を介して送信されるべきであると判定し、ペアリング関連通知をコントローラ102に送信する。例えば、ルータ118は、コントローラ102のIPアドレスから、ペアリング関連通知がコントローラ102に送信されることを識別する。ペアリング関連通知を受信すると、コントローラ102のGPUは、コントローラ102のディスプレイデバイスの表示画面にペアリング関連通知を表示する。ペアリング関連通知がオーディオデータである場合、コントローラ102のディスプレイデバイスのオーディオプロセッサは、ペアリング関連通知を音声として出力する。同様に、ペアリング関連通知が画像と音声の両方のデータを含む場合、コントローラ102のGPUとオーディオプロセッサの両方が互いに同期して、ペアリング関連通知を画像と音声として出力する。
実施形態では、通信インターフェース170は、接続C2、コンピュータネットワーク122、接続C1、及びセルラーネットワーク154(図1C)を介して、ペアリング関連通知を含む転送パケットを図1Cのコントローラ160に送信する。図1Cのコンピュータネットワーク122は、ペアリング関連通知及びコントローラ160の宛先アドレスを含む転送パケットを受信する。コンピュータネットワーク122は、ネットワーク通信プロトコルを転送パケットに適用して、コントローラ160の宛先アドレス及びペアリング関連通知を抽出し、さらに、セルラー通信プロトコルを宛先アドレス及びペアリング関連通知に適用して、1つまたは複数の転送ユニットを生成し、転送ユニットをセルラー接続チャネル153を介してセルラーネットワーク154のタワーTWに送信する。タワーTWは、コントローラ160の宛先アドレスに従って、転送ユニットを図1Cのコントローラ160に、セルラー接続チャネル151を介してコントローラ160に転送する。コントローラ160は、セルラー通信プロトコルを適用して、ペアリング関連通知を取得する。ペアリング関連通知を受信すると、コントローラ160のGPUは、コントローラ160のディスプレイデバイスの表示画面にペアリング関連通知を表示する。ペアリング関連通知がオーディオデータである場合、コントローラ160のディスプレイデバイスのオーディオプロセッサは、ペアリング関連通知を音声として出力する。同様に、ペアリング関連通知が画像と音声の両方のデータを含む場合、コントローラ160のGPUとオーディオプロセッサの両方が互いに同期して、ペアリング関連通知を画像と音声として出力する。
動作5において、コントローラ164がセッション106とペアリングされる、例えばリンクされる場合、ユーザAは、コントローラ164を使用して、入力情報及びセッションID1を有する1つまたは複数の転送パケットを生成して仮想シーンの状態を変更することができる。例えば、ユーザAによるコントローラ164上のボタンの選択は、仮想兵器を発射すること、または仮想ユーザがビデオゲームでジャンプすることを可能にする。別の例として、ユーザAによるコントローラ164でのジョイスティックの選択は、異なるユーザの画像を示すライブストリームが表示されるディスプレイデバイス166のディスプレイ画面におけるいくつかの領域の変更を可能にする。説明すると、ディスプレイデバイス166の表示画面上の2つの異なる場所からの2人のユーザを示す2つのライブストリームの代わりに、2人のユーザのうちの1人のライブストリームが、表示画面に表示するためにディスプレイデバイス166によって受信される。
通信インターフェース170は、通信ネットワーク177を介してコントローラ164から入力情報及びセッションID1を含む転送パケットを受信し、ネットワーク通信プロトコルを転送パケットに適用して、入力情報及びセッションID1を抽出する。通信インターフェース170のプロセッサは、転送パケット内の情報が、一連のボタンの押下または一連のジョイスティックの動きなど、入力情報の構造と一致する構造を有すると判定し、そのように判定すると、入力情報をセッションIDプロセッサ183に送信する。セッションIDプロセッサ183は、入力チャネル184を介して実行エンジン186に入力情報を提供する。セッションIDプロセッサ183は、入力情報を実行エンジン186に送信する前に、セッションID1を認証することができる。
実行エンジン186は、コントローラ164と相互作用して、入力情報に従って仮想シーンの状態を変更することを判定し、仮想シーンの状態を有するオーディオフレームまたはビデオフレームまたはそれらの組み合わせなどの複数のフレームを生成する。例えば、実行エンジン186は、フレームを生成するための入力情報に基づいて、仮想オブジェクトの位置、向き、強度、色、形状、またはその組み合わせを変更することを判定する。フレームの例には、Iフレーム、Pフレーム、及びBフレームが含まれる。実行エンジン186は、フレームをエンコーダ188に提供し、エンコーダ188は、フレームを圧縮して、符号化されたフレームを出力する。例えば、フレームはH.264規格を使用して圧縮される。さらに、実行エンジン186は、フレームをディスプレイデバイス166に送信するための命令を生成する。
エンコーダ180は、符号化されたフレームを通信インターフェース170に提供する。通信インターフェース170は、ネットワーク通信プロトコルを符号化されたフレーム及び、命令に適用し、1つまたは複数の転送パケットを生成し、図1A及び1Cの接続C2、コンピュータネットワーク122、及び図1A及び1Cの接続C1を介して、図1A及び1Cのモデム120へ転送パケットを送信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、転送パケットから命令及び符号化されたフレームを抽出し、イーサネット(登録商標)接続ECを介して図1A及び1Cのルータ118に命令及び符号化されたフレームを送信する。ルータ118は、命令内の宛先アドレスから、符号化されたフレームがディスプレイデバイス166に送信されるべきであると判定し、図1A及び1Cの接続チャネルCC2を介して符号化されたフレームをディスプレイデバイス166に送信する。ディスプレイデバイス166は、符号化されたフレームをデコードしてフレームを出力し、仮想オブジェクト及び仮想背景を有する仮想シーンの画像をディスプレイデバイス166の表示画面にさらに表示するか、またはディスプレイデバイス166のスピーカーを介してオーディオデータを出力するか、それらの組み合わせである。例えば、ディスプレイデバイス166は、その位置またはその向きまたはその色またはその強度またはそのテクスチャを変更した仮想オブジェクトを表示する。別の例として、ディスプレイデバイス166は、仮想オブジェクトによって生成された音を出力する。ディスプレイデバイス166が、コントローラ164から受信した入力情報に応答して、サーバシステム104から受信した符号化フレームに従って、画像を表示するか、画像に関連する音声を出力するとき、サーバシステム104またはアプリケーション1及びコントローラ164が、互いに相互作用する。
実施形態では、サーバシステム104の各プロセッサの代わりに、コンピュータソフトウェアプログラムの一部などのソフトウェアモジュールが使用され、ソフトウェアモジュールは、サーバシステム104の1つまたは複数のプロセッサによって実行されることに留意されたい。各ソフトウェアモジュールには、1つまたは複数のルーチンを含めることができる。実施形態では、サーバシステム104のいくつかのプロセッサの機能はモジュールとして実行され、サーバシステム104の残りのプロセッサは、集積回路などのハードウェアコンポーネントである。
実施形態では、認証プロセッサ176、セッションIDプロセッサ183、通信インターフェース170のプロセッサ、ペアリング通知プロセッサ180、エンコーダ188、及び実行エンジン186によって実行されるように、本明細書で説明される機能は、代わりにサーバシステム104の他の数のプロセッサまたはサーバによって実行される。
一実施形態では、ユーザAは、コントローラ164をセッション164とペアリングするかどうかを決定する。生体認証ID1または受信デバイスID1または受信ネットワークID1またはそれらの2つ以上の組み合わせが真正であるという判定をセッションリンクプロセッサ178に送信する代わりに、認証プロセッサ176は、認証に関する判定をペアリング通知サーバ180に送信する。認証プロセッサ176から決定を受信すると、ペアリング通知プロセッサ180は、ペアリング要求通知と、ペアリング要求通知をディスプレイデバイス166に送信するための命令とを生成する。ペアリング要求通知は、コントローラ164をセッション106とペアリングする要求を含む。ペアリング通知プロセッサ180は、ペアリング要求通知及び命令を通信インターフェース170に送信する。
この実施形態では、命令及びペアリング要求通知を受信すると、通信インターフェース170は、ネットワーク通信プロトコルをディスプレイデバイス166の宛先アドレス及びペアリング要求通知に適用して、1つまたは複数の転送パケットを生成し、図1A及び1Cの通信チャネル108を介してディスプレイデバイス166に転送パケットを送信する。
実施形態について続けると、通信インターフェース170は、接続C2、コンピュータネットワーク122、接続C1、モデム120、ケーブルEC、ルータ108、及び接続チャネルCC2を介して転送パケットをディスプレイデバイス166に送信する。図1A及び1Cのモデム120は、ペアリング要求通知及びディスプレイデバイス166の宛先アドレスを含む転送パケットを受信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、ディスプレイデバイス166の宛先アドレス及びペアリング要求通知を抽出し、ペアリング要求通知及び宛先アドレスを図1A及び1Cのルータ118に送信する。ルータ118は、ディスプレイデバイス166の宛先アドレスから、ペアリング要求通知がディスプレイデバイス166に送信されるべきであると判定し、ペアリング要求通知をディスプレイデバイス166に送信する。例えば、ルータ118は、ディスプレイデバイス166のIPアドレスから、ペアリング要求通知がディスプレイデバイス166に送信されることを識別する。ペアリング要求通知を受信すると、ディスプレイデバイス166のGPUは、ディスプレイデバイス166のディスプレイ画面にペアリング要求通知を表示する。ペアリング要求通知がオーディオデータである場合、ディスプレイデバイス166のオーディオプロセッサは、ペアリング要求通知を音声として出力する。同様に、ペアリング要求通知が画像と音声の両方のデータを含む場合、ディスプレイデバイス166のGPUとオーディオプロセッサの両方が互いに同期して、ペアリング要求通知を画像と音声として出力する。
さらに、実施形態では、ペアリング要求通知を聞くか見るか、または見ることと聞くことの両方の際に、ユーザAは、コントローラ164をセッション106とペアリングするかどうかを示すためにコントローラ164上で選択を行う。例えば、ユーザAは、コントローラ164上の第1のボタンを選択して、ユーザAがセッション106とペアリングすることを望むことを示す肯定的な応答を提供する。ユーザAは、コントローラ164上の第2のボタンを選択して、ユーザAがセッション106とペアリングすることを望まないことを示す否定的な応答を提供する。
実施形態では、コントローラ164は、ペアリングに関してユーザAによって行われた選択を示す入力データを生成する。コントローラ164の無線通信IC157(図1Bまたは1D)は、コントローラ164とディスプレイデバイス166との間の無線接続115を介して、入力データをディスプレイデバイス166に送信する。ディスプレイデバイス166のGPUは、入力データを受信し、肯定的または否定的な応答をディスプレイデバイス166に表示する。
実施形態では、コントローラ164はまた、図1Aの通信チャネル110または図1Cの通信チャネル155を介して入力データをサーバシステム104に送信する。例えば、入力データは、図1Aの接続チャネルCC1を介してコントローラ164から図1Aのルータ108に送信され、ルータ108は、ケーブルECを介して図1Aのモデム120に入力データをルーティングする。モデム120は、ネットワーク通信プロトコルを入力データに適用することによって1つまたは複数の転送パケットを生成し、図1Aの接続C1、図1Aのコンピュータネットワーク122、及び図1Aの接続C2を介してサーバシステム104に転送パケットを送信する。
さらに、実施形態では、通信インターフェース170は、入力データを有する転送パケットを受信し、ネットワーク通信プロトコルを適用して、転送パケットから入力データを抽出する。通信インターフェース170のプロセッサは、転送パケット内の情報を入力データの構造を有するものとして識別し、それを識別すると、入力データをセッションリンクプロセッサ178に送信する。セッションリンクプロセッサ178は、入力信号内の応答が肯定であるか否定であるかを判定する。肯定の応答を含む入力データを受信することに応答して、セッションリンクプロセッサ178は、コントローラ164をセッション106とペアリングする。他方、否定の応答を含む入力データを受信することに応答して、セッションリンクプロセッサ178は、コントローラ164をセッション106とペアリングしない。このようにして、ユーザAは、コントローラ164をセッション106とペアリングするかどうかを決定する。
一実施形態では、コントローラ164は、コントローラ102及び160の両方の構成要素を含む。例えば、プロセッサ194は、図1Dのブロードバンド通信IC162と図1Bの無線通信IC156の両方に結合されている。この例では、コントローラ164のプロセッサ194は、図1Aの無線通信IC156及び通信チャネル110を介して、ならびに図1Cのブロードバンド通信IC162及び通信チャネル155を介して、入力データをサーバシステム104に送信する。実施形態では、ペアリング要求通知は、コントローラ164の表示画面に表示するために、またはコントローラ164の1つまたは複数のスピーカーを介して出力するために、通信ネットワーク177を介してサーバシステム104からコントローラ164に送信される。
一実施形態では、識別情報はログイン情報とは異なることに留意されたい。例えば、ログイン情報は、ユーザAまたはパスワードなどの一連の英数字であり、ユーザAによって、コントローラの入力デバイスを介してサーバシステム104に提供または入力される。識別情報は、コントローラの入力デバイスを介してユーザAによってサーバシステム104に提供または入力される一連の英数字ではない。
実施形態では、コントローラ102がサーバシステム104とペアリングされるまで、ユーザAは、コントローラ102を使用して仮想シーンの状態を変更することができない。例えば、ユーザAは、入力デバイス150を選択または移動することによってコントローラ102を使用して、仮想シーンの状態を変更するための入力情報をさらに生成するための選択を提供し、入力情報を有する1つまたは複数の転送パケットが生成され、通信ネットワーク177を介して通信インターフェース170へ送信される。通信インターフェース170は、ネットワーク通信プロトコルを適用して、仮想シーンの状態を変更するための入力情報を抽出し、入力情報をセッションIDプロセッサ183に提供する。通信インターフェース170のプロセッサは、転送パケット内の情報が、一連のボタンの押下または一連のジョイスティックの動きなど、仮想シーンの変更のための入力情報の構造と一致する構造を有すると判定し、そのように判定すると、入力情報をセッションIDプロセッサ183に送信する。
この実施形態では、入力情報を受信すると、セッションIDプロセッサ183は、セッションリンクプロセッサ178に要求を送信して、入力情報を受信するコントローラ164がセッション106とペアリングされているかどうかを判定する。コントローラ164がセッション106とペアリングされていないという判定をセッションリンクプロセッサ178から受信すると、セッションIDプロセッサ183は、入力チャネル184を介して実行エンジン186に入力情報を提供せず、実行エンジン186は仮想シーンの状態を変更するための入力情報を処理できない。
実施形態では、1つのコントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。この実施形態では、通信インターフェース170は、接続チャネル111(図1B)の使用からセルラーネットワーク154(図1C)の使用への、またはその逆のハンドオーバーを実行するべきかどうかを判定する。例えば、通信インターフェース170のプロセッサは、セルラーネットワーク154が接続チャネル111よりも優れたQoSを有する、または接続チャネル111と比較してセルラーネットワーク154を介してデータを転送する際の待ち時間が短いと判定する。説明すると、通信インターフェース170のプロセッサは、セルラーネットワーク154が、接続チャネル111と比較して、より少ない量のパケット損失またはより短いping時間を有すると判定する。セルラーネットワーク154がより良いQoSであると判定すると、通信インターフェース170のプロセッサ194は、ペアリング情報またはペアリング要求通知などの本明細書に記載の転送データを、サーバシステム104からコントローラに転送するために、無線通信IC156の代わりにブロードバンド通信IC162を使用することを決定する。
実施形態では、コントローラは、図1Bまたは1Dに示される残りの構成要素に加えて、図1Bの無線通信IC156及びブロードバンド通信IC162の両方を含む。この実施形態では、上記のようなハンドオーバーはない。むしろ、通信インターフェース170のプロセッサは、無線通信IC156とブロードバンド通信IC162の両方を使用してコントローラに接続することを決定する。通信インターフェース170のプロセッサは、無線通信IC156及びブロードバンド通信IC162を介して、ペアリング情報またはペアリング要求通知などの本明細書に記載の同じデータをコントローラに送信する。プロセッサ194は、無線通信IC156またはブロードバンド通信IC162のいずれかによってサーバシステム104から最初に受信されたデータを処理する。例えば、無線通信IC156は、サーバシステム104及びブロードバンド通信IC162からパケットIDまたはタイムスタンプを有する1つまたは複数の転送パケットを受信し、サーバシステム104から同じパケットIDまたは同じタイムスタンプを有する1つまたは複数の転送パケットを受信する。無線通信IC156が、ブロードバンド通信IC162による転送ユニットの受信と比較して、1つまたは複数の転送パケットを最初に受信すると、無線通信IC156は、1つまたは複数の転送パケットから情報を抽出し、その情報を処理のためプロセッサ194に送信する。
実施形態では、コンピューティングデバイス114(図1A)は、コントローラ164にてユーザAによって1つまたは複数の入力デバイス150(図1B)の選択が行われるときに、スリープモードからアクティブ化することができる。サーバシステム104は、ユーザAがコントローラ164のPS(登録商標)ボタンの選択か、またはコントローラ164の指紋パッドの選択に切り替えると、コンピューティングデバイス114をウェイクアップする。スリープモードでは、コンピューティングデバイス114は、サーバシステム104からメッセージを受信することができる低電力状態で動作する。
図1F-1は、コンピューティングデバイス114の表示画面116に表示されるペアリング要求通知190の実施形態の図である。ペアリング要求通知190は、図1Eのペアリング通知プロセッサ180によって生成されるペアリング要求通知の例である。ペアリング要求通知190は、ユーザAの生体認証情報が認証されていることを含む。さらに、ペアリング要求通知190は、ユーザAが図1Eのコントローラ164とペアリングすることを望むかどうかに関する質問を含む。ユーザAは、コントローラ164の1つまたは複数のボタン及び1つまたは複数のジョイスティックを選択して、ユーザAがセッション106とコントローラ164とをペアリングすることを望むかどうかを示す。コントローラ164は、ユーザAによって行われた選択を示す入力データを生成する。
図1F-2は、コントローラ192の表示画面195におけるペアリング要求通知190の表示を説明するためのコントローラ192の実施形態の図である。本明細書に記載の表示画面の例には、液晶表示画面または発光ダイオード画面またはプラズマ表示画面が含まれる。コントローラ192は、図1Aのコントローラ102、図1Cのコントローラ160、及び図1Eのコントローラ164の例である。コントローラ192は、ペアリング要求通知190が表示される表示画面195を有する。コントローラ192は、図1B及び1Dのプロセッサ194に結合されたGPUを含み、GPUは、表示画面195に結合されている。
図1Eのペアリング通知プロセッサ180は、ペアリング要求通知190と、ペアリング要求通知190をコントローラ192に送信するための命令とを生成する。ペアリング通知プロセッサ180は、ペアリング要求通知及び命令を図1Eのインターフェース170に送信する。
命令及びペアリング要求通知190を受信すると、通信インターフェース170は、ネットワーク通信プロトコルをコントローラ192の宛先アドレス及びペアリング要求通知190に適用して、1つまたは複数の転送パケットを生成し、図1Aの通信チャネル110を介して転送パケットをコントローラ192に送信する。図1Aを参照すると、通信インターフェース170は、接続C2、コンピュータネットワーク122、接続C1、モデム120、ケーブルEC、ルータ108、及び接続チャネルCC1を介して転送パケットをコントローラ192に送信する。モデム120は、ペアリング要求通知190及びコントローラ192の宛先アドレスを含む転送パケットを受信する。モデム120は、ネットワーク通信プロトコルを転送パケットに適用して、コントローラ192の宛先アドレス及びペアリング要求通知を抽出し、ペアリング要求通知及び宛先アドレスをルータ118に送信する。ルータ118は、コントローラ192の宛先アドレスから、ペアリング要求通知190がコントローラ192に送信されるべきであると判定し、接続チャネルCC1を介してペアリング要求通知をコントローラ192に送信する。例えば、ルータ118は、コントローラ192のIPアドレスから、ペアリング要求通知190がコントローラ192に送信されるべきであることを識別する。ペアリング要求通知190を受信すると、コントローラ192のGPUは、ペアリング要求通知190を表示画面195に表示する。ペアリング要求通知がオーディオデータである場合、オーディオプロセッサ及びコントローラ192の1つまたは複数のスピーカーは、ペアリング要求通知を音声として出力する。同様に、ペアリング要求通知が画像と音声の両方のデータを含む場合、コントローラ192のGPUとオーディオプロセッサの両方が互いに同期して、ペアリング要求通知を画像と音声として出力する。
図1Cのセルラー通信プロトコルが使用される一実施形態では、ペアリング要求通知190及びペアリング要求通知190をサーバシステム104のペアリング通知プロセッサ180からコントローラ160に送信する命令を受信すると、通信インターフェース170は、ネットワーク通信プロトコルをコントローラ160の宛先アドレス及びペアリング要求通知190に適用して、1つまたは複数の転送パケットを生成し、図1Cの通信チャネル155を介して転送パケットをコントローラ160に送信する。図1Cを参照すると、通信インターフェース170は、接続C2、コンピュータネットワーク122、セルラー接続チャネル153、タワーTW、及びセルラー接続チャネル151を介して転送パケットをコントローラ160に送信する。コンピュータネットワーク122のゲートウェイは、ネットワーク通信プロトコルを適用して、転送パケットから宛先アドレス及びペアリング要求通知190を抽出し、セルラー通信プロトコルを宛先アドレス及びペアリング要求通知190に適用して、1つまたは複数の転送ユニットを生成し、転送ユニットを、セルラー通信チャネル155を介してタワーTWに送信する。セルタワーTWのトランシーバは、コントローラ160の宛先アドレスに従って、セルラー通信チャネル151を介して転送ユニットをコントローラ160に転送する。コントローラ160のブロードバンド通信IC162(図1D)は、セルラー通信プロトコルを転送ユニットに適用して、ペアリング要求通知190を抽出し、ペアリング要求通知190をコントローラ160の表示画面で表示するべく、ペアリング要求通知190をコントローラ160のGPUに提供する。ペアリング要求通知190を音声として出力すべきである場合、ブロードバンド通信IC162は、ペアリング要求通知190をコントローラ160のオーディオプロセッサに提供して、ペアリング要求通知190を音声として出力する。ペアリング要求通知190が画像データとオーディオデータの両方を含む場合、ブロードバンド通信IC162は、ペアリング要求通知190の画像データをコントローラ160のGPUに提供し、またペアリング要求通知190のオーディオデータをコントローラ160のオーディオデータに提供し、音声としてのオーディオデータの出力を、ビデオデータの表示と同期させる。
図1Gは、コントローラ192のハプティックフィードバックデバイス196、オーディオデバイス101、及びディスプレイデバイス107を説明するためのコントローラ192の実施形態の図である。コントローラ192は、図1Bのコントローラ102の構成要素を有し、ハプティックフィードバック装置196、オーディオデバイス101、及びディスプレイデバイス107などの追加の構成要素を有する。
ディスプレイデバイス107、ハプティックフィードバックデバイス196、及びオーディオデバイス101は、プロセッサ194に結合されている。ディスプレイデバイス107は、GPUなどのプロセッサ109と、表示画面195とを含む。表示画面195は、プロセッサ109に結合されている。
オーディオデバイス101は、オーディオプロセッサ105及びスピーカー103を含む。スピーカー103は、オーディオプロセッサ105に結合されている。ハプティックフィードバックデバイス196は、プロセッサ198C、ドライバ198B、及び機械的構成要素198Aを含む。プロセッサ198Cは、機械的構成要素198Aに結合されているドライバ198Bに結合されている。ドライバの例には、互いに結合された1つまたは複数のトランジスタが含まれる。機械的構成要素198Aの例は、モーターまたは変換器などの触覚センサを含む。
プロセッサ194は、ペアリング関連通知またはペアリング要求通知190などの通知を無線通信IC156から受信し、プロセッサ109に通知を提供する。プロセッサ109は、レンダリング動作を通知に適用して、ビデオデータを表示画面195に表示する。
さらに、プロセッサ194は、ペアリング関連通知またはペアリング要求通知190などの通知のオーディオデータを無線通信IC156から受信し、オーディオプロセッサ105にオーディオデータを提供する。通知のオーディオデータには、通知の1つまたは複数の画像に含まれているのと同じ情報が含まれているか、通知の画像と共に音声として出力されるべき追加情報が含まれている。オーディオプロセッサ105は、デジタルからアナログ形式へフィルタリング、増幅、または変換するなど、オーディオデータを処理し、処理されたオーディオデータをスピーカー103に提供する。スピーカー103は、処理されたオーディオデータを音声として出力する。
また、プロセッサ198Cは、ペアリング関連通知またはペアリング要求通知190などの通知と共に出力される、または無線通信IC156からのアプリケーション1(図1A)の実行時に生成されるハプティックフィードバックデータを受信し、ハプティックフィードバックデータをプロセッサ198Cに提供する。ハプティックフィードバックデータを受信すると、プロセッサ198Cは信号をドライバ198Bに送信し、ドライバ198Bは信号を受信すると電流を出力する。機械的構成要素198Aは、電流に従って振動して、コントローラ192を保持しているユーザAにハプティックフィードバックまたは触覚フィードバックを提供する。
図2は、コンピューティングデバイス114のミラーリング効果を説明するためのシステム200の実施形態の図である。システム200は、システム200がディスプレイデバイス202を含むことを除いて、図1Aのシステム100または図1Dのシステム159の構成要素を含む。ディスプレイデバイス202の例は、テレビまたはスマートテレビまたはモニタである。ディスプレイデバイス202は、発光ダイオード画面、液晶表示画面、またはプラズマ表示画面などの表示画面204を有する。
コンピューティングデバイス114は、無線または有線接続206を介してディスプレイデバイス202と通信する。例えば、ドングル252は、ディスプレイデバイス202の高品位マルチメディアインターフェース(HDMI(登録商標))ポートに差し込まれ、コンピューティングデバイス114が、ビデオ及びオーディオフレームなどのメディアを、コンピューティングデバイス114からディスプレイデバイス202にワイヤレスでストリーミングできるようにする。メディアのビデオフレームは、表示画面204に表示され、メディアのオーディオフレームは、ディスプレイデバイス202の1つまたは複数のスピーカーを介して出力される。有線接続206の例には、HDMI(登録商標)ケーブルが含まれる。
一実施形態では、メディアをディスプレイデバイス202に出力することに加えて、メディアは、コンピューティングデバイス114によって出力される。例えば、メディアのビデオフレームは、ディスプレイ画面116及び204に表示され、オーディオフレームは、コンピューティングデバイス114の1つまたは複数のスピーカー及びディスプレイデバイス202の1つまたは複数のスピーカーを介して出力される。
セッション106がコンピューティングデバイス114とサーバシステム104との間に確立されるとき、またセッション106をコントローラ164とペアリングする前に、ゲームのタイトルの画像などのセッション106に関連する情報が最初にコンピューティングデバイス114の表示画面116に表示される。コンピューティングデバイス114のプロセッサは、セッション106に関連する情報を有する媒体を、有線または無線接続206を介してディスプレイデバイス202にストリーミングまたは送信する。ディスプレイデバイス202のGPUは、セッション106に関連する情報の画像を表示画面204に表示し、ディスプレイデバイス202の1つまたは複数のスピーカーは、セッション106に関連する情報を有する音を出力するか、または他の情報を有する音を、セッション106に関連する情報と同期させて出力する。
さらに、ペアリング関連通知またはペアリング要求通知などの通知がコンピューティングデバイス114に表示されるとき、通知は、有線または無線接続206を介してコンピューティングデバイス114のプロセッサからディスプレイデバイス202にストリーミングまたは送信される。ディスプレイデバイス202のGPUは、表示画面204に通知を表示する。さらに、ディスプレイデバイス202のオーディオプロセッサは、ディスプレイデバイス202の1つまたは複数のスピーカーを介して通知の音を出力する。
図3は、コントローラ164のデバイスIDを発見するための発見プログラム306の実行を説明するためのシステム300の実施形態の図である。コンピューティングデバイス114は、プロセッサ302、メモリデバイス304、無線通信IC308、及び無線通信IC310を含む。無線通信IC310は、接続チャネルCC2を介してコンピューティングデバイス114から受信された1つまたは複数の通信パケットに、無線通信プロトコルを適用して、通信パケットからデータを抽出し、接続チャネルCC2を介してプロセッサ302からコンピューティングデバイス114へ転送され、1つまたは複数の通信パケットを生成するべきであるデータに適用する。無線通信IC308の例は、コントローラ164とコンピューティングデバイス114との間の通信を可能にするBluetooth(登録商標)デバイスを含む(図1A)。プロセッサ302は、メモリデバイス304及び無線通信IC308に結合されている。発見プログラム306は、メモリデバイス304内に格納される。プロセッサ302は、メモリデバイス304、無線通信IC310、及び無線通信IC308に結合されている。
アプリケーション1の実行のセッション106がコンピューティングデバイス114とサーバシステム104との間に確立されるとき、また、セッション106がコントローラ164とペアリングされる前に、プロセッサ302は、発見プログラム306を実行して、コントローラ164からコントローラ164のデバイスIDを要求する。コントローラ164のプロセッサ194(図1Bまたは1D)は、デバイスIDチップ158からデバイスIDを検索し、デバイスIDを無線通信IC157(図1Bまたは1D)に提供する。無線通信IC157は、Bluetooth(登録商標)プロトコルなどの無線通信プロトコルをデバイスIDに適用して、1つまたは複数の転送データグラムを生成し、無線接続115を介して転送データグラムをコンピューティングデバイス114の無線通信IC308に送信する。
無線通信IC308は、コントローラ164から受信した1つまたは複数の転送データグラムに無線通信プロトコルを適用して、転送データグラムからデバイスIDを抽出し、デバイスIDをプロセッサ302に提供する。プロセッサ302は、デバイスIDをサーバシステム104に送信する命令を生成する。プロセッサ302は、命令及びデバイスIDを無線通信IC310に送信し、それは、無線通信プロトコルをデバイスID及び命令に適用して、1つまたは複数の通信パケットを生成し、通信パケットを接続チャネルCC2を介してルータ118に送信する。
ルータ118は、無線通信プロトコルを通信パケットに適用して、デバイスID及び命令を取得し、デバイスID及び命令をモデム120に向ける。モデム120は、ネットワーク通信プロトコルをデバイスID及び命令を適用して、1つまたは複数の転送パケットを生成し、接続C1、コンピュータネットワーク122、及び接続C2を介してサーバシステム104に転送パケットを送信する。
図4Aは、コントローラ408内での較正プロセッサ404の使用を説明するためのコントローラ408の実施形態の図である。コントローラ408は、図1Aのコントローラ102、または図1Eのコントローラ164、または図1F-2のコントローラ192の例である。説明すると、コントローラ408は、コントローラ102の構成要素を含む。コントローラ408は、モーションセンサシステム152、較正プロセッサ404、プロセッサ194、及び無線通信IC156を含む。較正プロセッサ404は、モーションセンサシステム152及びプロセッサ194に結合されている。
モーションセンサシステム152は、コントローラ408の位置及び向きを計算するためのデータ、またはコントローラ408の入力デバイス150の位置及び向きを計算するためのデータ、またはそれらの組み合わせなどのセンサの値を測定し、センサの値を較正プロセッサ404に提供する。例えば、モーションセンサシステム152は、コントローラ408の加速度及びコントローラ408の基準座標系に対するコントローラ408の向きを測定する。別の例として、モーションセンサシステム152は、コントローラ408の基準座標系に対する入力デバイス150の加速度及び入力デバイス150の向きを測定する。
較正プロセッサ404は、モーションセンサシステム152からセンサの値を受信し、1つまたは複数のセンサの値を較正する。例えば、較正プロセッサ404は、図1Bを参照して上で説明した入力情報の例である、較正されたセンサの値を出力するために、センサの値に対する係数を、乗算、加算、または減算などをしてスケーリングする。因子の例には実数が含まれる。説明すると、コントローラ408が位置P1から、2インチ離れている位置P2に移動するとき、較正プロセッサ404は、位置P1とP2との間の距離を2インチ未満または2インチ以上離すようにスケーリングする。別の例として、入力デバイス150が位置PO1から、1センチメートル離れている位置PO2に移動するとき、較正プロセッサ404は、位置PO1とPO2との間の距離を1センチメートル未満または1センチメートルを超すようにスケーリングする。
較正されたセンサの値は、較正プロセッサ404によってプロセッサ194に提供され、プロセッサ194は、較正されたセンサの値をサーバシステム104に送信する命令を生成する。プロセッサ194は、命令及び較正されたセンサの値を無線通信IC156に送信する。無線通信IC156は、ネットワーク通信プロトコルを適用することによって、命令及び較正されたセンサの値を組み込んだ1つまたは複数の転送ユニットを生成し、転送ユニットをルータ118に送信する。ルータ118は、無線通信プロトコルを適用して、命令及び較正されたセンサの値を取得し、命令及び較正されたセンサの値をモデム120に送信する(図1A)。モデム120は、ネットワーク通信プロトコルを較正されたセンサの値に適用して、1つまたは複数の転送パケットを生成し、通信チャネル108(図1A)を介して転送パケットをサーバシステム104(図1A)に送信する。コントローラ408でのセンサの値の較正は、図1Aのサーバシステム104の作業の負荷を低減する。
図4Aは、コントローラ450内での較正プロセス404の使用を説明するためのコントローラ450の実施形態の図である。コントローラ450は、図1Cのコントローラ160、または図1Eのコントローラ164、または図1F-2のコントローラ192の例である。コントローラ450は、モーションセンサシステム152、較正プロセッサ404、プロセッサ194、及びブロードバンド通信IC162を含む。
較正されたセンサの値は、較正プロセッサ404によってプロセッサ194に提供され、プロセッサ194は、較正されたセンサの値をサーバシステム104に送信する命令を生成する。プロセッサ194は、命令及び較正されたセンサの値をブロードバンド通信IC162に送信する。ブロードバンド通信IC162は、セルラー通信プロトコルを適用することによって、較正されたセンサの値及び命令を組み込んだ1つまたは複数の転送ユニットを生成し、1つまたは複数の転送ユニットをセルラーネットワーク154(図1C)を介してサーバシステム104(図1C)に送信する。コントローラ450でのセンサの値の較正は、図1Cのサーバシステム104の作業の負荷を低減する。
図5は、サーバシステム500の較正プロセッサ404によるセンサ値の較正を説明するためのサーバシステム500の実施形態の図である。コントローラによって行われる較正の代わりに、較正はサーバシステム500によって行われる。サーバシステム500は、図1Aまたは1Cのサーバシステム104の例である。サーバシステム500は、サーバシステム104の構成要素を含む。サーバシステム500は、入力チャネル184及び通信インターフェース170に結合された較正プロセッサ404をさらに含む。
サーバシステム500の通信インターフェース170は、センサの値をさらに含む入力情報を有する1つまたは複数の転送パケットを受信し、ネットワーク通信プロトコルを転送パケットに適用して、センサの値を抽出する。通信インターフェース170のプロセッサは、転送パケット内の情報がセンサの値の構造と一致することを判定し、センサの値を較正プロセッサ404に送信する。較正プロセッサ404は、センサの値を受信し、センサの値を較正して、較正されたセンサの値を出力する。較正プロセッサ404は、入力チャネル184を介して、較正されたセンサの値を実行エンジン186に提供する。実行エンジン186は、アプリケーション1の実行中に較正されたセンサの値を適用して、仮想シーンの状態を変更し、符号化のための1つまたは複数のフレームを生成する。
図6は、本開示で説明される実施形態による、アプリケーション1などの対話型プログラムとインターフェースするビデオゲームコントローラ600の斜視図を示す。ビデオゲームコントローラ600は、図1Aのコントローラ102、または図1Cのコントローラ160、または図1Eのコントローラ164の例である。ビデオゲームコントローラ600は、本体602と、本体602から延びる延長部604A及び604Bとを含む。延長部604A及び604Bは、それぞれ、ユーザAの左手及び右手によって保持されるように構成され、したがって、ユーザAによるビデオゲームコントローラ600の安全な把持を可能にするハンドルとして機能する。本体602の上面に、ボタン606A、606B、606C、及び606D、ジョイスティック608A及び608B、及び複数の方向パッド610A、610B、610C、及び610Dなどの様々な入力デバイスが含まれる。また、ビデオゲームコントローラ600の本体602を通って上から下に延びる3次元(3D)制御バー612の上部も示されている。ユーザAにフィードバックを提供する音を再生するためのスピーカー614が提供される。
さらに、ビデオゲームコントローラ600は、延長部604A及び604Bがそれぞれ左手及び右手でユーザAによって保持されたときにユーザAの頭部に面する本体602の上面に画定されたタッチパネル616を含む。タッチパネル616は、実質的に水平に配向され、グループAとBの間に配置され、その結果、延長部604A及び604Bを保持するユーザAは、ユーザAのいずれかの手の親指でタッチパネル616を容易に使用できる。グループAは、ボタン606A、606B、606C、及び606Dを含み、グループBは、方向パッド610A、610B、610C、及び610Dを含む。タッチパネル616は、タッチセンシティブ技術(例えば、抵抗性、容量性など)を利用して、ユーザAによって行われたタッチジェスチャを検出する。図示の実施形態では、タッチパネル616は、その形状によって触覚をもたらし、ユーザAは、感覚だけに基づいて、タッチパネル616上の当人の親指のおおよその垂直位置を容易に判定する。
ビデオゲームコントローラ600は、ユーザAの1つまたは複数の指のタッチを受信して、上記の生体認証IDを出力する指紋パッド618を含む。指紋パッド618は、上記の指紋リーダーの例である。指紋パッド618は、ジョイスティック608Aと608Bの間で、タッチパネル616の下に配置されている。
一実施形態では、指紋パッド618は、コントローラ600の任意の他の場所に配置されている。例えば、指紋パッド618は、タッチパネル616内に統合されている。別の例として、指紋パッドは、延長部604Aの表面または延長部604Bの表面内、あるいは両方の表面内に組み込まれる。さらに別の例として、タッチパネル616は、液晶ディスプレイまたは発光ダイオードディスプレイまたはプラズマディスプレイなどの表示画面の一部であり、指紋パッド618は、表示画面内に統合されている。さらに別の例として、指紋パッドは、ジョイスティック608Aまたはジョイスティック608Bのいずれかの上面内部に統合されるか、または複数の指紋パッドが、ジョイスティック608A及び608Bの表面にて統合される。さらに別の例として、指紋パッド618は、コントローラ600の裏側に配置されている。
一実施形態では、ビデオゲームコントローラ600は、実世界環境から音を取り込むための1つまたは複数のマイクロフォンを含む。例として、マイクロフォンはマイクロフォンのアレイとして配置される。配置は、マイクのリニアアレイである。3つ以上のマイクロフォンがマイクロフォンのアレイに含まれる場合、マイクロフォンアレイによって取り込まれたオーディオデータの分析に基づいて、マイクロフォンアレイに対する音源の位置を判定することが可能である。より具体的には、音源は、マイクロフォンアレイの各マイクロフォンによって取り込まれたその音の相対的なタイミングに基づいて、マイクロフォンアレイに対するその位置を特定できる。ビデオゲームコントローラ600の位置及び向きと組み合わせて(例えば、図1B及び1Dのモーションセンサシステム152及び本明細書の他の場所で定義される追跡方法に基づいて判定されるように)、ひいては、マイクアレイ、インタラクティブ環境内の音源の位置を判定することができる。さらに、取り込まれたサウンドを処理して、実世界の環境の特定の領域から発せられないサウンドを除外することができる。ユーザAの音は、マイクによって取り込まれ、上記の生体認証情報が出力される。
本開示に記載されているの実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な一般消費者向け電気製品、小型コンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示に記載の実施形態はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても、実施することができる。
前述の実施形態を念頭に置いて、本開示に記載の複数の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施動作を用い得ることを、理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示に記載の様々な実施形態の一部を形成する、本明細書で説明される動作のうちのいずれも、有用な機械動作である。本開示に記載のいくつかの実施形態はまた、これら動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築されてもよい、または装置は、コンピュータに記憶されたコンピュータプログラムにより選択的に起動または構成されるコンピュータであってもよい。具体的には、様々な機械を、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができる、あるいは、必要な動作を実行するためにより専門的な装置を構築する方がより好都合である場合もある。
本開示に記載されている様々な実施形態はまた、非一時的なコンピュータ可読媒体のコンピュータ可読コードとして具体化することができる。非一時的なコンピュータ可読媒体は、データを格納することができる任意のデータストレージデバイス例えば、RAM、ROM、フラッシュメモリ、ディスクなどであり、その後、コンピュータシステムによって読み出されることが可能である。コンピュータ可読媒体の例には、ハードドライブ、ネットクワーク接続ストレージ(NAS)、読ROM、RAM、コンパクトディスクROM(CD-ROM)、CD-R、CD-RW、磁気テープ、ならびに他の光学的及び非光学的なデータストレージデバイスが挙げられる。非一時的なコンピュータ可読媒体は、コンピュータ可読コードが分散方式で格納及び実行されるように、ネットワーク結合コンピュータシステムに分散されたコンピュータ可読有形媒体を含むことができる。
方法の動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で実行される限り、動作間に他の維持管理の動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、処理に関連する様々な間隔で動作が起こることを可能にしてもよく、動作は異なる順序で実行されても良いことを、理解すべきである。
さらに、実施形態では、上記の任意の実施形態からの1つまたは複数の特徴は、本開示に記載の様々な実施形態に記載の範囲から逸脱することなく、他の任意の実施形態の1つまたは複数の特徴と組み合わされることに留意されたい。
前述の実施形態は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示に記載の様々な実施形態は、本明細書に提供される詳細に限定されるものではなく、添付の特許請求の範囲内及び均等物内で変更されてもよい。

Claims (20)

  1. サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立する方法であって、
    第1の通信チャネルを介してユーザアカウントのアプリケーションを実行するためのセッションを確立することであって、前記サーバシステムでの前記アプリケーションの前記実行は、前記第1の通信チャネルを介して前記ユーザアカウントに関連付けられたディスプレイデバイスに通信されるビデオストリームを生成するために符号化されるビデオ出力を生成する、前記確立すること、
    前記サーバシステムによって、第2の通信チャネルを介して前記ビデオゲームコントローラから一意の識別子を受信すること、
    前記サーバシステムによって、前記一意の識別子を認証するため前記一意の識別子を処理することであって、認証される前記一意の識別子は、前記ビデオゲームコントローラの前記セッションへのリンクを可能にする、前記処理すること、及び
    前記セッション中に、前記第2の通信チャネルを介した前記ビデオゲームコントローラからの入力を使用して、前記第1の通信チャネルを介して前記ディスプレイデバイスに前記ビデオストリームを提供する前記アプリケーションの双方向性を制御すること
    を含む、前記方法。
  2. 前記ディスプレイデバイスから前記第1の通信チャネルを介してユーザログイン情報を受信すること、
    前記ユーザログイン情報を認証すること
    をさらに含み、
    前記セッションを前記確立することは、前記ユーザログイン情報を認証することに応答して実行され、
    前記セッションを前記確立することは、前記ユーザアカウントへのアクセスを提供することを含む、請求項1に記載の方法。
  3. 前記アプリケーションがゲームアプリケーションであり、前記セッションがゲームセッションであり、
    前記セッションを前記確立することは、前記ゲームアプリケーションを識別するための前記ディスプレイデバイスに仮想ゲームシーンを表示するためのデータを送信することを含む、請求項1に記載の方法。
  4. 前記入力は、入力情報を含み、
    前記方法は、前記ビデオゲームコントローラが前記サーバとペアリングされるまで、前記入力情報が仮想シーンの状態を変更することを許可しないことをさらに含む、請求項1に記載の方法。
  5. 前記第2の通信チャネルを介して前記ビデオゲームコントローラから前記一意の識別子を前記受信することは、ルータ、モデム、及びコンピュータネットワークを介して前記ビデオゲームコントローラの前記一意の識別子を受信することを含み、
    前記ルータ及び前記モデムは、前記ビデオゲームコントローラに対してローカルに配置され、
    前記一意の識別子を前記受信することは、前記ディスプレイデバイス及びゲーム機を使用せずに実行される、請求項1に記載の方法。
  6. 前記第2の通信チャネルを介して前記ビデオゲームコントローラから前記一意の識別子を前記受信することは、セルラーネットワーク及びコンピュータネットワークを介して前記ビデオゲームコントローラの前記一意の識別子を受信することを含み、
    前記一意の識別子を前記受信することは、前記ディスプレイデバイスと前記ゲーム機を使用することなく実行される、請求項1に記載の方法。
  7. 前記一意の識別子が真正であると判定したときに、前記第1の通信チャネルを介してペアリング要求を前記ディスプレイデバイスに送信することであって、前記ペアリング要求は、前記ビデオゲームコントローラが前記セッションとペアリングされるという通知を含む、前記送信すること、
    前記第2の通信チャネルを介して前記ペアリング要求への応答を受信すること、
    前記ペアリング要求への前記応答が肯定か否定かを判定すること
    をさらに含み、
    前記ビデオゲームコントローラの前記セッションへの前記リンクは、前記要求への前記応答が肯定であるとの判定に応答して前記ビデオゲームコントローラを前記セッションとペアリングすることを含み、
    前記ペアリングすることは、前記入力が前記サーバによって処理されて前記アプリケーションの前記双方向性を制御できるようにするために発生する、請求項1に記載の方法。
  8. 前記第2の通信チャネルは、コンピュータネットワークに結合されたルータを含み、
    前記一意の識別子は、前記ビデオゲームコントローラの識別子、または前記ユーザの生体認証識別子、または前記ルータの識別子、またはそれらの2つ以上の組み合わせを含む、請求項1に記載の方法。
  9. 前記一意の識別子を前記処理することは、前記一意の識別子が、前記セッションが確立される前記ユーザアカウントに登録された事前登録識別子と一致するかどうかを判定することであって、前記一意の識別子は、前記ユーザアカウントの前記セッションにアクセスするために使用されるユーザログイン情報とは異なる、前記判定することを含み、
    前記ビデオゲームコントローラの前記セッションへの前記リンクは、前記一意の識別子が前記事前登録識別子と一致するとの判定に応答して前記ビデオゲームコントローラを前記セッションとペアリングすることを含み、
    前記ペアリングは、前記入力が前記サーバによって処理されて前記アプリケーションの前記双方向性を制御できるようにするために発生する、請求項1に記載の方法。
  10. 前記ペアリングは、前記入力が前記サーバによって処理されて、前記アプリケーションの前記双方向性を制御することを可能にするように発生し、
    前記セッションは、前記セッションのインスタンスを含む、請求項1に記載の方法。
  11. 前記第2の通信チャネルを介して前記ビデオゲームコントローラから前記入力を受信すること、
    前記入力に従って仮想シーンの状態を判定すること、
    前記仮想シーンの前記状態に基づいて複数のフレームを生成すること、
    前記フレームを符号化して、複数の符号化されたフレームを出力すること、
    前記符号化されたフレームを前記第1の通信チャネルを介して前記ディスプレイデバイスに送信すること
    をさらに含む、請求項1に記載の方法。
  12. 前記ビデオゲームコントローラは、ハンドヘルドコントローラであり、前記ディスプレイデバイスのIPアドレスとは異なるインターネットプロトコル(IP)アドレスを有する、請求項1に記載の方法。
  13. サーバとビデオゲームコントローラとの間の直接的な通信を確立するためのシステムであって、
    第1の通信チャネルを介してユーザアカウントのアプリケーションを実行するためのセッションを確立するように構成された1つまたは複数のプロセッサ、及び
    第2の通信チャネルを介して前記サーバに結合されたビデオゲームコントローラであって、前記第2の通信チャネルを介して前記1つまたは複数のプロセッサに一意の識別子を送信するように構成される、前記ビデオゲームコントローラ
    を含み、
    前記一意の識別子を受信すると、前記1つまたは複数のプロセッサは、
    前記一意の識別子を認証するため前記一意の識別子を処理することであって、認証される前記一意の識別子は、前記ビデオゲームコントローラの前記セッションへのリンクを可能にする、前記処理すること、及び
    前記第2の通信チャネルを介した前記ビデオゲームコントローラからの入力を有効にして、前記アプリケーションとディスプレイデバイスとの双方向性を制御することであって、前記アプリケーションと前記ディスプレイデバイスとの前記双方向性が発生して、前記第1の通信チャネルを介して前記ディスプレイデバイスにビデオ及びオーディオを提供する、前記制御すること
    を行うように構成される、前記システム。
  14. 前記第1の通信チャネルは、モード、ルータ、及びコンピュータネットワークを含み、
    前記ビデオゲームコントローラと前記セッションとの間の前記リンクを確立することに応答して、前記1つまたは複数のプロセッサは、前記コンピュータネットワーク、前記ルータ、及び前記モデムを介して、前記ディスプレイデバイスのインターネットプロトコル(IP)アドレスへ、前記ディスプレイデバイスに仮想シーンを表示するための前記ディスプレイデバイスへのデータを送信するようにさらに構成され、
    前記モデム及び前記ルータは、前記ディスプレイデバイスに関してローカルに位置付けられる、請求項13に記載のシステム。
  15. 前記1つ以上のプロセッサが、
    前記一意の識別子が真正であると判定したときに、前記第1の通信チャネルを介してペアリング要求を前記ディスプレイデバイスに送信することであって、前記ペアリング要求は、前記ビデオゲームコントローラが前記セッションとペアリングされるという通知を含む、前記送信すること、
    前記第2の通信チャネルを介して前記ペアリング要求への応答を受信すること、
    前記ペアリング要求への前記応答が肯定か否定かを判定すること
    を行うように構成され、
    前記リンクは、前記ビデオゲームコントローラを前記セッションとペアリングするために確立され、
    前記ビデオゲームコントローラは、前記ペアリング要求への前記応答が肯定であるとの判定に応答して前記セッションとペアリングされ、
    前記ビデオゲームコントローラは、前記セッションとペアリングされて、前記ビデオゲームコントローラからの前記入力を処理して、前記アプリケーションと前記ディスプレイデバイスの前記双方向性を制御できるようにする、請求項13に記載のシステム。
  16. 前記一意の識別子を処理するために、前記1つまたは複数のプロセッサは、前記一意の識別子が、前記セッションが確立された前記ユーザアカウントに登録された事前登録識別子と一致するかどうかを判定するように構成され、
    前記一意の識別子が前記ユーザアカウントの前記セッションへのアクセスに使用されるログイン情報と異なる、請求項13に記載のシステム。
  17. サーバシステムとの直接的な通信を確立するための方法であって、
    ビデオゲームコントローラによって、第1の通信チャネルを介してユーザアカウントの一意の識別子を前記サーバシステムに送信することであって、前記一意の識別子を前記送信することは、アプリケーションを実行するためのセッションが前記サーバシステムとディスプレイデバイス間の第2の通信チャネルを介して確立された後に行われる、前記送信すること、
    前記一意の識別子が認証されたときに、前記ビデオゲームコントローラが前記セッションとペアリングされるという指示を前記第2の通信チャネルを介して受信すること、及び
    前記ビデオゲームコントローラから前記第1の通信チャネルを介して前記サーバシステムに入力を送信して、前記アプリケーションに関連付けられた状態を変更することであって、前記入力を前記送信することは、前記指示を前記受信した後に行われる、前記変更すること、
    を含む、前記方法。
  18. 前記第2の通信チャネルは、前記ビデオゲームコントローラにローカルであるルータを含み、
    前記一意の識別子は、前記ビデオゲームコントローラの識別子、またはユーザの生体認証識別子、または前記ルータの識別子、またはそれらの2つ以上の組み合わせを含む、請求項17に記載の方法。
  19. 前記一意の識別子を前記送信することは、前記一意の識別子を、ルータ、モデム、及びコンピュータネットワークを介して、ゲーム機を使用せずに前記サーバシステムに送信することを含む、請求項17に記載の方法。
  20. 前記第1の通信チャネルは、セルラーネットワーク及びコンピュータネットワークを含み、
    前記第2の通信チャネルは、前記コンピュータネットワークを含む、請求項17に記載の方法。
JP2021524236A 2018-11-05 2019-09-30 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法 Active JP7242850B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023035606A JP7481522B2 (ja) 2018-11-05 2023-03-08 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及びハンドヘルド型コントローラ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/181,211 2018-11-05
US16/181,211 US10773156B2 (en) 2018-11-05 2018-11-05 Systems and methods for establishing direct communication between a server system and a video game controller
PCT/US2019/053895 WO2020096714A1 (en) 2018-11-05 2019-09-30 Systems and methods for establishing direct communication between a server system and a video game controller

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023035606A Division JP7481522B2 (ja) 2018-11-05 2023-03-08 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及びハンドヘルド型コントローラ

Publications (2)

Publication Number Publication Date
JP2022508060A true JP2022508060A (ja) 2022-01-19
JP7242850B2 JP7242850B2 (ja) 2023-03-20

Family

ID=68296711

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021524236A Active JP7242850B2 (ja) 2018-11-05 2019-09-30 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及び方法
JP2023035606A Active JP7481522B2 (ja) 2018-11-05 2023-03-08 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及びハンドヘルド型コントローラ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023035606A Active JP7481522B2 (ja) 2018-11-05 2023-03-08 サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及びハンドヘルド型コントローラ

Country Status (6)

Country Link
US (2) US10773156B2 (ja)
EP (1) EP3878186A1 (ja)
JP (2) JP7242850B2 (ja)
KR (1) KR102575204B1 (ja)
CN (1) CN113056921A (ja)
WO (1) WO2020096714A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
JP7460520B2 (ja) 2018-04-27 2024-04-02 三菱ケミカル株式会社 水性インク
US10773156B2 (en) * 2018-11-05 2020-09-15 Sony Interactive Entertainment LLC Systems and methods for establishing direct communication between a server system and a video game controller
US11032340B2 (en) * 2019-04-04 2021-06-08 Sony Interactive Entertainment LLC Using camera on computer simulation controller
US11449920B1 (en) * 2019-12-12 2022-09-20 Amazon Technologies, Inc. Providing add-ons for network applications
US11314320B2 (en) * 2020-04-28 2022-04-26 Facebook Technologies, Llc Interface between host processor and wireless processor for artificial reality
CN111773661B (zh) * 2020-07-03 2024-05-03 珠海金山数字网络科技有限公司 基于直播界面组队游戏的系统、方法及装置
CN113018851B (zh) * 2021-05-28 2021-08-06 腾讯科技(深圳)有限公司 游戏处理方法、装置、计算机设备及存储介质
US20230084581A1 (en) * 2021-09-16 2023-03-16 Voyetra Turtle Beach Inc. Video game controller with a graphical user interface
US11846969B1 (en) * 2023-03-29 2023-12-19 Electronic Arts Inc. UI state identification, navigation and crawling

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080261686A1 (en) * 2007-04-19 2008-10-23 James Carlton Bedingfield Systems, methods and computer products for IPTV network game control
EP2261809A1 (en) * 2009-06-11 2010-12-15 Comcast Cable Communications, LLC Distributed network game system
JP2014057221A (ja) * 2012-09-12 2014-03-27 G-Cluster Global Corp コンテンツ配信システム、コンテンツ配信装置およびコンテンツ配信方法
JP2014092847A (ja) * 2012-11-01 2014-05-19 Sony Computer Entertainment Inc 情報処理装置
JP2017504849A (ja) * 2013-11-08 2017-02-09 マイクロソフト テクノロジー ライセンシング,エルエルシー 生体id、フィードバックおよびユーザインタラクション状態の相関表示
US20170142201A1 (en) * 2015-11-12 2017-05-18 Nvidia Corporation System and method for network coupled cloud gaming

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6511378B1 (en) * 2000-05-05 2003-01-28 Intel Corporation Method of identifying game controllers in multi-player game
US20050147247A1 (en) * 2003-11-14 2005-07-07 Westberg Thomas E. Interactive television systems having POD modules and methods for use in the same
US9498714B2 (en) * 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
JP4615031B2 (ja) 2008-03-12 2011-01-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) フロア制御を実施するための方法および装置
US9699485B2 (en) 2012-08-31 2017-07-04 Facebook, Inc. Sharing television and video programming through social networking
US8870661B2 (en) * 2012-12-21 2014-10-28 Sony Computer Entertainment America Llc Cloud-based game slice generation and frictionless social sharing with instant play
US10380330B2 (en) * 2013-01-31 2019-08-13 Google Llc Smart gamepad
US9579567B2 (en) * 2013-06-03 2017-02-28 Microsoft Technology Licensing, Llc Managing controller pairings
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
KR20230017925A (ko) * 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US10773156B2 (en) * 2018-11-05 2020-09-15 Sony Interactive Entertainment LLC Systems and methods for establishing direct communication between a server system and a video game controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080261686A1 (en) * 2007-04-19 2008-10-23 James Carlton Bedingfield Systems, methods and computer products for IPTV network game control
EP2261809A1 (en) * 2009-06-11 2010-12-15 Comcast Cable Communications, LLC Distributed network game system
JP2014057221A (ja) * 2012-09-12 2014-03-27 G-Cluster Global Corp コンテンツ配信システム、コンテンツ配信装置およびコンテンツ配信方法
JP2014092847A (ja) * 2012-11-01 2014-05-19 Sony Computer Entertainment Inc 情報処理装置
JP2017504849A (ja) * 2013-11-08 2017-02-09 マイクロソフト テクノロジー ライセンシング,エルエルシー 生体id、フィードバックおよびユーザインタラクション状態の相関表示
US20170142201A1 (en) * 2015-11-12 2017-05-18 Nvidia Corporation System and method for network coupled cloud gaming

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAMED AHMADI; SEPIDEH KHOSHNOOD; MAHMOUD REZA HASHEMI; SHERVIN SHIRMOHAMMADI: "Efficient bitrate reduction using a Game Attention Model in cloud gaming", 2013 IEEE INTERNATIONAL SYMPOSIUM ON HAPTIC AUDIO VISUAL ENVIRONMENTS AND GAMES, JPN6022032352, 26 October 2013 (2013-10-26), US, ISSN: 0004842291 *
NIKOLA VELJKOVIC; MARIJA PUNT; MILAN Z. BJELICA; NIKOLA CRVENKOVIC: "TV-centric multiplayer gaming over the cloud for consumer electronic devices", 2013 IEEE THIRD INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS, JPN6022032350, 9 September 2013 (2013-09-09), US, ISSN: 0004842290 *
高橋 洸人、岩井 将行: "即興的な多人数チームプレイが可能なブラウザネットワーキングゲーム基盤", 情報処理学会 シンポジウム エンタテインメントコンピューティングシンポジウム 2015, JPN6022032347, 18 September 2015 (2015-09-18), JP, pages 220 - 223, ISSN: 0004842289 *

Also Published As

Publication number Publication date
KR102575204B1 (ko) 2023-09-06
JP2023080070A (ja) 2023-06-08
EP3878186A1 (en) 2021-09-15
US20200139231A1 (en) 2020-05-07
KR20210090656A (ko) 2021-07-20
JP7481522B2 (ja) 2024-05-10
US20210308561A1 (en) 2021-10-07
US10773156B2 (en) 2020-09-15
JP7242850B2 (ja) 2023-03-20
US11045722B2 (en) 2021-06-29
US20200406129A1 (en) 2020-12-31
WO2020096714A1 (en) 2020-05-14
CN113056921A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
JP7481522B2 (ja) サーバシステムとビデオゲームコントローラとの間の直接的な通信を確立するためのシステム及びハンドヘルド型コントローラ
US11697061B2 (en) Systems and methods for reducing hops associated with a head mounted system
JP7073444B2 (ja) より少ないホップにより拡張仮想現実シーンをヘッドマウントシステム内に生成するためのシステム及び方法
US20220362680A1 (en) Systems and methods for facilitating secret communication between players during game play
CN112169327A (zh) 一种云游戏的控制方法以及相关装置
US20100062847A1 (en) Electronic gaming system and method
US11998834B2 (en) Systems and methods for establishing direct communication between a server system and a video game controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230308

R150 Certificate of patent or registration of utility model

Ref document number: 7242850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150