(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-17
(54)【発明の名称】コンパニオンデバイスの支援によるゲームコントローラのペアリング
(51)【国際特許分類】
A63F 13/235 20140101AFI20240709BHJP
H04W 84/10 20090101ALI20240709BHJP
H04W 8/00 20090101ALI20240709BHJP
H04W 76/10 20180101ALI20240709BHJP
H04W 84/12 20090101ALI20240709BHJP
H04W 88/06 20090101ALI20240709BHJP
A63F 13/31 20140101ALI20240709BHJP
【FI】
A63F13/235
H04W84/10 110
H04W8/00 110
H04W76/10
H04W84/12
H04W88/06
A63F13/31
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023572532
(86)(22)【出願日】2022-05-05
(85)【翻訳文提出日】2023-11-22
(86)【国際出願番号】 US2022027745
(87)【国際公開番号】W WO2022250911
(87)【国際公開日】2022-12-01
(32)【優先日】2021-05-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,ペリー ビクター
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067EE02
5K067EE10
5K067EE35
5K067FF23
(57)【要約】
ゲームコントローラは、第1の通信プロトコルを使用してコンパニオンデバイスと選択的にペアリングし、第2の通信プロトコルを使用して1つ以上のゲームシステムと選択的にペアリングするように構成される。ゲームコントローラは、ゲームコントローラの記憶サブシステムに記憶されたコンパニオンデバイスペアリングデータに基づいて、第1の通信プロトコルを使用してコンパニオンデバイスにペアリング要求を送信するように構成される。ゲームコントローラは、記憶サブシステムに記憶されたゲームシステムペアリングデータに基づいて、第2の通信プロトコルを使用してゲームコントローラが最後にペアリングした最後にペアリングされたゲームシステムにペアリング要求を送信するように構成される。ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに応じて、ゲームコントローラがコンパニオンデバイスとペアリングされている間に、ゲームコントローラは、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信するように構成される。
【特許請求の範囲】
【請求項1】
ゲームコントローラであって、
複数のコントロールと、
第1の通信プロトコルを使用して前記ゲームコントローラをコンパニオンデバイスと選択的にペアリングし、第2の通信プロトコルを使用して1つ以上のゲームシステムと選択的にペアリングするように構成された通信インタフェースと、
論理サブシステムと、
記憶サブシステムと
を含み、
前記記憶サブシステムは、
前記第1の通信プロトコルを使用して前記ゲームコントローラを前記コンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータを前記記憶サブシステムに記憶し、
前記ゲームコントローラが前記第2の通信プロトコルを使用して以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムと前記ゲームコントローラをペアリングするためのゲームシステムペアリングデータを前記記憶サブシステムに記憶し、
前記ゲームコントローラが最後にペアリングされた前記1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを前記記憶サブシステムに記憶し、
前記通信インタフェースを介して、前記コンパニオンデバイスペアリングデータに基づいて前記第2の通信プロトコルを使用してペアリング要求を前記コンパニオンデバイスに送信し、
前記通信インタフェースを介して、前記ゲームシステムペアリングデータに基づいて前記第2の通信プロトコルを使用してペアリング要求を前記最後にペアリングされたゲームシステムに送信し、
前記複数のコントロールのうち或るコントロールの活性化に応じて、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングされている間に、前記通信インタフェースを介して、前記第2の通信プロトコルを使用して前記コントロールに対応するユーザ入力制御データを前記最後にペアリングされたゲームシステムに送信し、
前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことに応じて、前記ゲームコントローラが前記コンパニオンデバイスとペアリングされている間に、前記通信インタフェースを介して、前記第1の通信プロトコルを使用してエラー通知を前記コンパニオンデバイスに送信するように、
前記論理サブシステムによって実行可能な命令を保持し、
前記エラー通知は、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことを示し、前記コンパニオンデバイスは、前記エラー通知を受信したことに基づいて、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成される、ゲームコントローラ。
【請求項2】
前記第1の通信プロトコルは、BLE(Bluetooth Low Energy)通信プロトコルを含む、請求項1に記載のゲームコントローラ。
【請求項3】
前記第2の通信プロトコルは、802.11 axワイヤレスローカルエリアネットワーク(WLAN)通信プロトコルを含む、請求項1に記載のゲームコントローラ。
【請求項4】
前記命令は、
前記通信インタフェースを介して、前記第1の通信プロトコルを使用して前記コンパニオンデバイスから、前記ゲームコントローラを前記コンパニオンデバイスによって指定された推奨ゲームシステムとペアリングするための推奨ゲームシステムペアリングデータを受信し、
前記通信インタフェースを介して、前記推奨ゲームシステムペアリングデータに基づいて前記推奨ゲームシステムに対応する通信プロトコルを使用してペアリング要求を前記推奨ゲームシステムに送信するように、
前記論理サブシステムによって実行可能である、請求項1に記載のゲームコントローラ。
【請求項5】
前記命令は、
前記ゲームコントローラが前記推奨ゲームシステムとペアリングしたことに応じて、前記推奨ゲームシステムペアリングデータを前記記憶サブシステムに記憶し、
前記記憶サブシステムにおいて、前記推奨ゲームシステムに対応するように前記最後にペアリングされたゲームシステムを更新するように、
前記論理サブシステムによって実行可能である、請求項4に記載のゲームコントローラ。
【請求項6】
前記コンパニオンデバイスは、前記コンパニオンデバイスの位置を決定するように構成された全地球測位システム(GPS)デバイスを含み、前記推奨ゲームシステムは、前記推奨ゲームシステムの位置、又は前記コンパニオンデバイスの前記位置に対する前記推奨ゲームシステムにアクセスするための関連するワイヤレスアクセスポイントの位置に基づいて、前記コンパニオンデバイスによって指定される、請求項4に記載のゲームコントローラ。
【請求項7】
前記推奨ゲームシステムは、リモートクラウドベースのゲームシステムであり、前記推奨ゲームシステムペアリングデータは、ワイヤレスアクセスポイントを介して前記ゲームコントローラを前記リモートクラウドベースのゲームシステムとペアリングするためのものである、請求項4に記載のゲームコントローラ。
【請求項8】
前記命令は、
前記複数のコントロールのうち或るコントロールの活性化に応じて、前記ゲームコントローラが前記ワイヤレスアクセスポイントを介して前記リモートクラウドベースのゲームシステムとペアリングされている間に、前記通信インタフェースを介して、対応する通信プロトコルを使用して、前記ワイヤレスアクセスポイントを介して前記コントロールに対応するユーザ入力制御データを前記リモートクラウドベースのゲームシステムに送信するように、
前記論理サブシステムによって実行可能である、請求項7に記載のゲームコントローラ。
【請求項9】
ディスプレイを更に含み、
前記命令は、
前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことに応じて、前記ディスプレイを介して、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことを示すペアリングエラーメッセージを視覚的に提示するように、
前記論理サブシステムによって実行可能である、請求項1に記載のゲームコントローラ。
【請求項10】
前記ゲームシステムペアリングデータは、証明書、パスワード、事前共有鍵(PSK)及びサービスセット識別子(SSID)情報のうち1つ以上を含む、請求項1に記載のゲームコントローラ。
【請求項11】
ゲームコントローラを動作させるための方法であって、
第1の通信プロトコルを使用して前記ゲームコントローラをコンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータを前記ゲームコントローラの記憶サブシステムに記憶するステップと、
前記ゲームコントローラが第2の通信プロトコルを使用して以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムと前記ゲームコントローラをペアリングするためのゲームシステムペアリングデータを前記記憶サブシステムに記憶するステップと、
前記ゲームコントローラが最後にペアリングされた前記1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを前記記憶サブシステムに記憶するステップと、
前記ゲームコントローラの通信インタフェースを介して、前記コンパニオンデバイスペアリングデータに基づいて前記第1の通信プロトコルを使用してペアリング要求を前記コンパニオンデバイスに送信するステップと、
前記ゲームコントローラが前記コンパニオンデバイスとペアリングできるか否かを決定するステップと、
前記ゲームコントローラが前記コンパニオンデバイスとペアリングできることに基づいて、前記第1の通信プロトコルを使用して前記ゲームコントローラを前記コンパニオンデバイスとペアリングするステップと、
前記通信インタフェースを介して、前記ゲームシステムペアリングデータに基づいて前記第2の通信プロトコルを使用してペアリング要求を前記最後にペアリングされたゲームシステムに送信するステップと、
前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできるか否かを決定するステップと、
前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできることに基づいて、前記第2の通信プロトコルを使用して前記ゲームコントローラを前記最後にペアリングされたゲームシステムとペアリングするステップと、
前記ゲームコントローラの或るコントロールの活性化に応じて、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングされている間に、前記通信インタフェースを介して、前記第2の通信プロトコルを使用して前記コントロールに対応するユーザ入力制御データを前記最後にペアリングされたゲームシステムに送信するステップと、
前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことに基づいて、前記通信インタフェースを介して、前記第1の通信プロトコルを使用してエラー通知を前記コンパニオンデバイスに送信するステップと
を含み、
前記エラー通知は、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことを示し、前記コンパニオンデバイスは、前記エラー通知を受信したことに基づいて、前記ゲームコントローラが前記最後にペアリングされたゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成される、方法。
【請求項12】
前記通信インタフェースを介して、前記第1の通信プロトコルを使用して前記コンパニオンデバイスから、前記ゲームコントローラを前記コンパニオンデバイスによって指定された推奨ゲームシステムとペアリングするための推奨ゲームシステムペアリングデータを受信するステップと、
前記通信インタフェースを介して、前記推奨ゲームシステムペアリングデータに基づいて前記推奨ゲームシステムに対応する通信プロトコルを使用してペアリング要求を前記推奨ゲームシステムに送信するステップと
を更に含む、請求項11に記載の方法。
【請求項13】
前記ゲームコントローラが前記推奨ゲームシステムとペアリングしたことに応じて、前記推奨ゲームシステムペアリングデータを前記記憶サブシステムに記憶するステップと、
前記記憶サブシステムにおいて、前記推奨ゲームシステムに対応するように前記最後にペアリングされたゲームシステムを更新するステップと
を更に含む、請求項12に記載の方法。
【請求項14】
前記コンパニオンデバイスは、前記コンパニオンデバイスの位置を決定するように構成された全地球測位システム(GPS)デバイスを含み、前記推奨ゲームシステムは、前記推奨ゲームシステムの位置、又は前記コンパニオンデバイスの前記位置に対する前記推奨ゲームシステムにアクセスするための関連するワイヤレスアクセスポイントの位置に基づいて、前記コンパニオンデバイスによって指定される、請求項12に記載の方法。
【請求項15】
前記推奨ゲームシステムは、リモートクラウドベースのゲームシステムであり、前記推奨ゲームシステムペアリングデータは、ワイヤレスアクセスポイントを介して前記ゲームコントローラを前記リモートクラウドベースのゲームシステムとペアリングするためのものである、請求項12に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
ゲームコントローラは、通信プロトコルを使用してゲームシステムとペアリングすることがある。いくつかの例では、ゲームコントローラは、異なる通信プロトコルを使用して異なるゲームシステムとペアリングすることがある。いくつかのシナリオでは、複数のゲームシステムが、ゲームコントローラとペアリングするのに利用可能になることがある。このようなシナリオでは、典型的なゲームコントローラは、利用可能なゲームシステムのうち最高の通信信号強度を有するゲームシステムとペアリングすることがある。
【発明の概要】
【0002】
ゲームコントローラは、第1の通信プロトコルを使用してコンパニオンデバイスと選択的にペアリングし、第2の通信プロトコルを使用して1つ以上のゲームシステムと選択的にペアリングするように構成される。ゲームコントローラは、ゲームコントローラの記憶サブシステムに記憶されたコンパニオンデバイスペアリングデータに基づいて、第1の通信プロトコルを使用してコンパニオンデバイスにペアリング要求を送信するように構成される。ゲームコントローラは、記憶サブシステムに記憶されたゲームシステムペアリングデータに基づいて、第2の通信プロトコルを使用してゲームコントローラが最後にペアリングした最後にペアリングされたゲームシステムにペアリング要求を送信するように構成される。ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに応じて、ゲームコントローラがコンパニオンデバイスとペアリングされている間に、ゲームコントローラは、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信するように構成される。
【0003】
この概要は、以下の詳細な説明において更に説明される概念の選択肢を簡略化された形式で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は本質的な特徴を特定することを意図するものではなく、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。さらに、特許請求される主題は、本開示のいずれかの部分に記載されるいずれか又は全ての欠点を解決する実装に限定されない。
【図面の簡単な説明】
【0004】
【
図1A】ゲームコントローラが異なるゲームシステムとペアリングする異なる例示的なシナリオを示す。
【
図1B】ゲームコントローラが異なるゲームシステムとペアリングする異なる例示的なシナリオを示す。
【
図3】ゲームコントローラと、ゲームコントローラとペアリング可能な複数のコンピューティングシステムとを含む例示的なコンピューティング環境を示す。
【
図4】ゲームシステムとペアリングする際にゲームコントローラを支援するように構成された例示的なコンパニオンデバイスを示す。
【
図5A】
図2A及び
図2Bに示すゲームコントローラのディスプレイを介して視覚的に提示されるペアリング状態通知の異なる例を示す。
【
図5B】
図2A及び
図2Bに示すゲームコントローラのディスプレイを介して視覚的に提示されるペアリング状態通知の異なる例を示す。
【
図6A】
図2A及び
図2Bのゲームコントローラの異なるセットのコントロールが、ゲームコントローラを異なるゲームシステムとペアリングするための異なるペアリング機能にマッピングされる異なる例示的なシナリオを示す。
【
図6B】
図2A及び
図2Bのゲームコントローラの異なるセットのコントロールが、ゲームコントローラを異なるゲームシステムとペアリングするための異なるペアリング機能にマッピングされる異なる例示的なシナリオを示す。
【
図7】異なるゲームシステムとペアリングするようにゲームコントローラを動作させるための例示的な方法を示す。
【
図8】異なるゲームシステムとペアリングするようにゲームコントローラを動作させるための例示的な方法を示す。
【
図9】異なるゲームシステムとペアリングするようにゲームコントローラを動作させるための例示的な方法を示す。
【
図10】異なるゲームシステムとペアリングするようにゲームコントローラを動作させるための例示的な方法を示す。
【
図11】例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【0005】
図1A及び
図1Bは、ゲームコントローラが異なるゲームシステムとペアリングする異なる例示的なシナリオを示す。本明細書で使用される場合、「ゲームシステム」という用語は、ビデオゲームを実行するように構成されてもよい1つ以上のコンピューティングデバイスを含んでもよく、「ビデオゲームを実行する」という語句は、ゲームビデオ及び/又はオーディオをレンダリングするプログラムがローカルに位置するかリモートに位置するかにかかわらず、ビデオゲームのビデオ及び/又はオーディオを提示することを含んでもよい。
図1Aにおいて、ゲームコンソール100の形式のゲームシステムは、大型ディスプレイ102上に視覚的に提示するためのビデオゲームを実行する。ゲームコントローラ104は、ゲームコンソール100とペアリングし、それにより、ユーザ106がゲームコンソール100にユーザ入力を提供して、ゲームコンソールによって実行されるビデオゲームをプレイし得るようにする。本明細書で使用される場合、「ペアリングする」及び「ペアリング」という用語は、指定の通信プロトコルを使用してコンピューティングデバイスの間の通信を可能にするために、コンピューティングデバイスの間の初期リンケージを確立するプロセスを示す。一例では、ゲームコントローラ104は、WIFIベースの通信プロトコル(例えば、WIFI-direct)のような第1の通信プロトコルを使用してゲームコンソール100とペアリングする。
【0006】
図1Bでは、ユーザ106は、タブレットコンピュータ108の形式の異なるゲームシステム上で実行されるビデオゲームをプレイすることを望む。ゲームコントローラ104は、タブレットコンピュータ108とペアリングし、それにより、ユーザ106がタブレットコンピュータ108にユーザ入力を提供してビデオゲームをプレイし得るようにする。一例では、ゲームコントローラ104は、BLE(Bluetooth Low Energy)通信プロトコルのような第2の通信プロトコルを使用してタブレットコンピュータ108とペアリングする。いくつかの例では、ゲームコントローラ104は、第1又は第2の通信プロトコルのいずれかを使用してゲームコンソール100及び/又はタブレットコンピュータ108とペアリングするように構成されてもよい。
【0007】
いくつかのシナリオでは、複数のゲームシステムが、ゲームコントローラとペアリングするために利用可能になり得る。上記の例を参照すると、ゲームコンソール100及びタブレットコンピュータ108は、ゲームコントローラ104とペアリングするために利用可能になり得る。このようなシナリオでは、典型的なゲームコントローラは、異なる利用可能なゲームシステムのうち最高の通信信号強度を有するゲームシステムとペアリングするように構成されてもよい。
【0008】
しかし、ユーザは、ゲームコンソールを、必ずしも最高の通信信号強度を有するとは限らない異なるゲームシステムとペアリングすることを望むことがある。上記の例を参照すると、ゲームコンソール100がタブレットコンピュータ108よりも高い通信信号強度を有する場合、このような典型的なゲームコントローラは、異なるゲームシステムとペアリングするための直感的な方法を提供しないので、どのようにユーザがゲームコントローラをタブレットコンピュータ108にペアリングできるかは、明確でないことがある。さらに、典型的なゲームコントローラだけでは、ゲームコントローラが特定のゲームシステムとペアリングされているという容易に観察可能な指標を提供しない。
【0009】
したがって、本説明は、コンパニオンデバイスの助けを借りて異なる通信プロトコルを使用する多種多様な異なるゲームシステムとペアリングするように構成されたゲームコントローラを対象とする。コンパニオンデバイスは、典型的なゲームコントローラだけでは提供することができない、直感的で、簡単で、容易に観察可能な方式で、異なるゲームシステムとのゲームコントローラのペアリングを管理する際にユーザを支援する様々な特徴を提供し得る。
【0010】
図2A~
図2Bは、例示的なゲームコントローラ200を示す。ゲームコントローラ200は、ユーザ入力を制御データに変換するように構成されてもよく、制御データは、
図3に示すローカルゲームシステム304又は別のゲームシステムのように、ゲームコントローラ200とペアリングされたゲームシステムに送信される。例えば、ユーザ入力制御データは、ビデオゲーム、アプリケーション、又はゲームシステムによって実行される他の動作を制御するためのコマンドにマッピングされてもよい。いくつかの例では、ゲームコントローラ200は、ユーザ入力制御データをビデオゲーム固有又はアプリケーション固有のコマンドにマッピングするように構成されてもよい。他の例では、ゲームシステムは、ユーザ入力制御データをビデオゲーム固有又はアプリケーション固有のコマンドにマッピングするように構成されてもよい。
【0011】
ゲームコントローラ200は、コントロール202の指操作に応じて制御信号を生成するゲームコントローラ200内部の電子入力センサ218とインタフェースするように構成された複数のコントロール202を含む。特に、複数のコントロール202は、複数のボタン204(例えば、204A、204B、204C、204D、204E、204F、204G、204H及び204I)、複数のジョイスティック206(例えば、左ジョイスティック206A及び右ジョイスティック206B)、複数のトリガ208(例えば、左トリガ208A及び右トリガ208B)、複数のバンパボタン210(例えば、左バンパボタン210A及び右バンパボタン210B)及び方向パッド212を含む。ゲームコントローラ200は、本開示の範囲から逸脱することなく、任意の数のコントロール、任意のタイプのコントロール、任意の数の電子入力センサ及び任意のタイプの電子入力センサを含んでもよい。
【0012】
複数のコントロール204は、ゲームコントローラ200内の1つ以上の内部フレーム214に結合されてもよい。1つ以上のプリント回路基板216は、フレーム214に結合されてもよい。プリント回路基板216は、複数の電子入力センサ218を含んでもよい。各電子入力センサ218は、対応するコントロール202との相互作用に応じて制御信号を生成するように構成されてもよい。電子入力センサの非限定的な例は、ドームスイッチ、触覚スイッチ、ホール効果センサ、ポテンショメータ及び他の電子感知コンポーネントを含んでもよい。いずれか適切なセンサが、プリント回路基板アーキテクチャ又はいずれか他の適切なアーキテクチャを使用してゲームコントローラ200に実装されてもよい。
【0013】
ボタン204のそれぞれは、(例えば、指操作を介して)押下されたことに応じて、対応する電子入力センサ218を活性化して活性化制御信号を生成するように構成されてもよい。ジョイスティック206のそれぞれは、デフォルトの「中心」位置に対するジョイスティックの位置に基づく2次元入力を提供するように構成されてもよい。例えば、ジョイスティック206のそれぞれは、連続的な電気的活動を使用してアナログ入力制御信号を提供するポテンショメータの形式の電子入力センサと相互作用してもよい。トリガ208のそれぞれは、デフォルト位置に対するトリガの位置に基づいて可変制御信号を提供するように構成されてもよい。例えば、トリガがデフォルト位置から遠くに引かれるにつれて、生成された制御信号の特性の大きさが増加してもよい。
【0014】
方向パッド212は、タッチ力が方向パッド212に加えられていないときにデフォルト姿勢にあるように構成されてもよい。デフォルト姿勢では、方向パッド212は、複数の電子入力センサ218のいずれにもタッチ入力を示す活性化制御信号を生成させない。さらに、方向パッド212は、タッチ力が方向パッド212に加えられたことに応じて、デフォルト姿勢から選択された活性化姿勢に移動するように構成されてもよい。選択された活性化姿勢は、異なる電子入力センサとインタフェースすることによって異なる活性化制御信号又は活性化制御信号の組み合わせをそれぞれ生成する複数の異なる活性化姿勢のうちの1つでもよい。
【0015】
対応するコントロール202が活性化姿勢にあるときに電子入力センサ218によって生成された活性化信号は、デフォルト姿勢において電子入力センサ218によって生成された信号又はその欠如とは異なるいずれかの信号でもよい点に留意する。例えば、いくつかの実装では、活性化信号は、ゲームコントローラ200の供給電圧(例えば、VDD)に対応してもよく、デフォルト状態で生成された信号は、相対的接地(例えば、0)に対応してもよい。他の実装では、活性化信号は相対的接地に対応してもよく、デフォルト状態で生成された信号はゲームコントローラ200の供給電圧に対応してもよい。
【0016】
ゲームコントローラ200は、異なるゲームシステムとのゲームコントローラ200のペアリングを管理する際にユーザを支援し得るペアリング及び他の状態情報を視覚的に提示するように構成されたディスプレイ220を含む。いくつかの実装では、ディスプレイ220はゲームコントローラ200から省略されてもよい。いくつかの実装では、ゲームコントローラ200とペアリングされたコンパニオンデバイスのディスプレイは、ゲームコントローラ200のペアリング及び他の状態情報を視覚的に提示してもよい。
【0017】
ゲームコントローラ200は、フレーム214に結合されたマイクロコントローラ222を含む。マイクロコントローラ222は、以下で更に詳細に説明するように、異なるゲームシステムとのペアリング動作を実行するように構成されてもよい。さらに、マイクロコントローラ222は、複数の電子センサ218によって生成された制御信号を、ゲームコントローラ200とペアリングされたゲームシステムに送信されるユーザ入力制御データに変換するように構成されてもよい。
【0018】
図3は、ゲームコントローラ200と、ゲームコントローラ200とペアリング可能な複数のコンピューティングシステムとを含む例示的なコンピューティング環境300を示す。複数のコンピューティングシステムは、コンパニオンデバイス302、ローカルゲームシステム304、ストリーミングデバイス306、ワイヤレスアクセスポイント(WAP, wireless access point)310及びリモートクラウドベースのゲームシステム312を含む。
【0019】
ゲームコントローラ200は、コンパニオンデバイス302とペアリングするように構成されてもよく、それにより、コンパニオンデバイス302がゲームコントローラ200のペアリング機能を拡張し得るようにする。特に、コンパニオンデバイス302は、ゲームコントローラ200がビデオゲームを制御又は「プレイ」するためのユーザ入力を提供し得るビデオゲームを実行するゲームシステムとペアリングする際にゲームコントローラ200を支援するように構成されてもよい。典型的には、コンパニオンデバイス302は、ビデオゲームを実行するゲームシステムから分離してもよい。しかし、いくつかの例では、コンパニオンデバイスは、ペアリング機能を提供し、ビデオゲームを実行してもよい。このような例では、コンパニオンデバイス302は、コンパニオンデバイス302上のビデオゲームの実行とは別個の独立した別個のペアリングアプリケーションプログラムを実行してもよい。例えば、コンパニオンデバイス302は、必ずしもビデオゲームを実行することなくペアリングアプリケーションプログラムを実行してもよい。コンパニオンデバイス302は、ゲームコントローラ200と、スマートフォン、タブレットコンピュータ、仮想/拡張/複合現実デバイス、デスクトップコンピュータ、ウェアラブルコンピュータ又はいくつかの他の適切なタイプのコンピュータを含むがこれらに限定されないゲームシステムとのペアリングを支援するように構成され得るいずれか適切なタイプのコンピューティングシステムとして実装されてもよい。
【0020】
ローカルゲームシステム304は、ビデオゲームを実行するように構成されてもよい。いくつかの例では、ローカルゲームシステム304は、ローカルゲームシステム304にローカルに「オンボード(搭載)」されたビデオゲームの全体を実行するように構成されてもよい。他の例では、ローカルゲームシステム304は、ビデオゲームの少なくともいくつかの側面を実行するように構成されてもよく、リモートクラウドベースのゲームシステム312のようなリモートコンピューティングシステムは、ビデオゲームの少なくともいくつかの側面を実行するように構成されてもよい。この例では、ローカル及びリモートゲームシステムは、ビデオゲームを実行するために協調して動作する。ローカルゲームシステム304は、ゲームコンソール、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、大型スマートテレビ、ウェアラブルコンピュータ、仮想/拡張/複合現実デバイス、車載コンピュータ、セットトップボックスコンピュータ又はいくつかの他の適切なタイプのコンピュータを含むがこれらに限定されない、ビデオゲームを実行するように構成されたいずれか適切なタイプのコンピューティングシステムとして実装されてもよい。
【0021】
ストリーミングデバイス306は、別のゲームシステムによってレンダリングされるビデオゲームのビデオフレーム及び対応する同期オーディオデータを受信するように構成されてもよい。言い換えると、ストリーミングデバイス306は、ストリーミングデバイス306にローカルに搭載されたビデオゲームを実際にレンダリングすることなく、ビデオゲームを提示するように構成される。いくつかの例では、ストリーミングデバイス306は、ローカルゲームシステム304によって実行されるビデオゲームのレンダリングされたオーディオ/ビデオデータを受信するために、WAP310を介してローカルゲームシステム304とペアリングされるか或いは別法で接続されてもよい。他の例では、ストリーミングデバイス306は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのレンダリングされたオーディオ/ビデオデータを受信するために、WAP310を介してリモートクラウドベースのゲームシステム312とペアリングされるか或いは別法で接続されてもよい。
【0022】
WAP310は、ゲームコントローラ200、コンパニオンデバイス302、ローカルゲームシステム304及びストリーミングデバイス306を含むローカルコンピューティングシステムが、広域ネットワーク(WAN, wide area network)314を介してリモートクラウドベースのゲームシステム312を含む他のリモートコンピューティングシステムと通信することを可能にするように構成されてもよい。WAP310は、様々なリモートコンピューティングシステムと通信するために、複数のローカルコンピューティングシステムとWAN314との同時ペアリング/接続をサポートするように構成されてもよい。WAP310は、いずれか適切な通信プロトコルをサポートするように構成されてもよい。いくつかの例では、WAP310は、複数の異なる通信プロトコルをサポートするように構成されてもよい。
【0023】
リモートクラウドベースのゲームシステム312は、ビデオゲームを実行し、WAN314及びWAP310を介して、結果としてのレンダリングされたオーディオ/ビデオデータを、提示のためにローカルコンピューティングデバイスに送信するように構成されてもよい。さらに、リモートクラウドベースゲームシステム312は、以下で更に詳細に説明するように、WAP310を介してゲームコントローラ200からユーザ入力制御データを受信するように構成されてもよい。
【0024】
ゲームコントローラ200は、マイクロコントローラ222と、複数のコントロール202と、電子入力センサ218と、ディスプレイ220と、通信インタフェース316とを含む。通信インタフェース316は、ゲームコントローラ200が異なる通信プロトコルを使用して様々なコンピューティングシステムと個々にペアリングすることを可能にするように構成されてもよい。
【0025】
異なる通信プロトコルは、異なる利点を提供してもよい。例えば、BLE通信プロトコルのような低エネルギー通信プロトコルは、速度、帯域幅又は範囲よりも低電力消費を優先してもよい。このような低エネルギー通信プロトコルは、バッテリ寿命を延ばすために、バッテリ駆動式デバイスによって採用されてもよい。対照的に、電源(例えば、電源コンセント)にプラグインされたデバイスは、低電力消費よりも速度、帯域幅、範囲を優先する異なる通信プロトコルを採用してもよい。
【0026】
いくつかの例では、ゲームコントローラ200によって採用される少なくとも1つの通信プロトコルは標準化されてもよい。いくつかの例では、ゲームコントローラ200によって採用される少なくとも1つの通信プロトコルは、独自仕様でもよい。例えば、ゲームコントローラ200は、ローカルゲームシステム304によってサポートされる独自仕様の通信プロトコルを使用し、独自仕様のプロトコルを利用しない他の製造業者からのコンピュータ及びデバイスとペアリングするために標準化通信プロトコルを使用するように構成されてもよい。
【0027】
ゲームコントローラ200が異なるデバイスと通信するために使用するように構成され得る通信プロトコルの非限定的な例は、BLEのような低エネルギービーコンプロトコル、赤外線データ協会(IrDA, infrared data association)、ワイヤレスユニバーサルシリアルバス(USB, universal serial bus)、ZigBee等のようなワイヤレスパーソナルエリアネットワークプロトコル、ニアミーエリアネットワーク(NAN, near-me area network)プロトコル、又は通信するために2つのデバイスが限られた(例えば、<50mの)範囲内にあることを必要とする他の低エネルギー、低帯域幅ワイヤレスプロトコル、WIFI(例えば、WIFI-direct)若しくは他の電気電子技術者協会(IEEE, Institute of Electrical and Electronics Engineers)802.11標準プロトコル(例えば、802.11 ax)のようなワイヤレスローカルエリアネットワーク(WLAN, wireless local area network)プロトコルを含むが、これらに限定されない。
【0028】
ゲームコントローラ200は、いずれか適切な数の異なるデバイス及びいずれか適切な異なるタイプのデバイスと通信するために、現在及び将来の通信プロトコルを含むいずれか適切な数の通信プロトコル及びいずれか適切なタイプの通信プロトコルを採用するように構成されてもよい。
【0029】
通信インタフェース316は、このようなペアリング/通信をサポートするために、複数のタイプのワイヤレス又は無線技術を実装してもよい。例えば、通信インタフェース316は、WIFI無線機、BLE無線機、セルラー無線機及びいずれか他の適切なタイプの無線機又は他の通信ハードウェアのように、複数の無線機を実装してもよい。いくつかの実装では、通信インタフェース316は、コンピュータネットワーク(例えば、ユニバーサルシリアルバス)、ゲームシステム、又は別のタイプのデバイスへの有線接続を容易にするための物理ポートを更に含んでもよい。
【0030】
一例では、ゲームコントローラ200は、BLE通信プロトコルのような第1の通信プロトコルを使用してコンパニオンデバイス302とペアリングするように構成されてもよい。さらに、ゲームコントローラ200は、第1の通信プロトコルとは異なる第2の通信プロトコル(標準化されたWANプロトコルの範囲外の独自仕様の態様と組み合わせて、802.11axのような高速WANプロトコルの態様を組み込んだ独自仕様の通信プロトコル等)を使用して、ローカルゲームシステム304とペアリングするように構成されてもよい。いくつかの実装では、さらに或いは代替として、ゲームコントローラ200は、第1の通信プロトコル(例えば、BLE通信プロトコル)を使用してローカルゲームシステム304とペアリングするように構成されてもよい。ゲームコントローラ200は、標準化されたWIFIベースの通信プロトコルのような第3の通信プロトコルを使用してWAP310とペアリングするように構成されてもよい。他の例では、ゲームコントローラ200は、ローカルゲームシステム304及びWAP310とペアリングするために同じ通信プロトコルを使用してもよい。ゲームコントローラ200は、いずれか適切な通信プロトコルを使用してWAP310とペアリングしてもよい。
【0031】
WAP310とのペアリングは、ゲームコントローラが、ゲームコンソール、デスクトップコンピュータ又はスマートフォンのようなローカルゲームデバイスとの中間接続を必要とすることなく、リモートクラウドベースのゲームシステム312と通信することを可能にしてもよい。WAP310を介してゲームコントローラ200をリモートクラウドベースのゲームシステム312とペアリングすることによって、ゲームコントローラ200は、ゲームコントローラ200からのユーザ入力制御データがローカルゲームシステム304又はコンピューティングデバイスを通じてWAP310に中継される構成よりも迅速に、ユーザ入力制御データをリモートクラウドベースのゲームシステム312に送信することができるようになり得る。
【0032】
さらに、ゲームコントローラ200がリモートクラウドベースのゲームシステム312とペアリングされるとき、リモートクラウドベースのゲームシステム312は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータを、提示のためにローカルコンピューティングシステムに送信するように構成されてもよい。リモートクラウドベースのゲームシステム312がビデオゲームの実行を扱うことを可能にすることによって、より少ない処理リソースを有するコンピューティングデバイスは、依然として、ビデオゲームをローカルに提示することができるようになってもよく、これは、異なるゲームシステムを使用してビデオゲームをプレイするためのより大きな柔軟性をユーザに提供する。
【0033】
一例として、リモートクラウドベースのゲームシステム312は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータを、提示のためにストリーミングデバイス306に送信してもよい。別の例として、リモートクラウドベースのゲームシステム312は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのオーディオ/ビデオデータを、提示のためにコンパニオンデバイス302に送信してもよい。リモートクラウドベースのゲームシステム312は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータを、提示のためにいずれか適切なコンピューティングシステムに送信してもよい。このような構成によれば、ゲームコントローラ200は、WAP310を介してユーザ入力制御データをリモートクラウドベースのゲームシステム312に送信しているので、ゲームコントローラ200は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータを提示しているデバイスとペアリングされる必要がない点に留意する。
【0034】
マイクロコントローラ222は、論理サブシステム318と、様々なペアリング動作及び関連する機能を実行するために実行可能な命令を含む記憶サブシステム320とを含む。さらに、ゲームコントローラ200は、直感的で、簡単で、容易に観察可能な方式でゲームコントローラ200と異なるゲームシステムとのペアリングを管理する際にユーザを支援する様々な特徴を含む。記憶サブシステム320は、ゲームコントローラ200が以前にペアリングしたコンピューティングデバイスのペアリングデータを記憶するように構成されたペアリングデータベース322を含んでもよい。例えば、このようなペアリングデータは、指定の通信プロトコル、証明書、パスワード、事前共有鍵(PSK, pre-shared key)及びサービスセット識別子(SSID, service set identifier)情報のうち1つ以上を含んでもよい。
【0035】
ペアリングデータベース322は、ゲームコントローラ200がコンパニオンデバイス302とペアリングするために使用し得るコンパニオンデバイスペアリングデータ324を記憶するように構成されてもよい。コンパニオンデバイスペアリングデータ324は、ゲームコントローラ200及びコンパニオンデバイス302の初期ペアリングに基づいて、ゲームコントローラ200によって受信され、ペアリングデータベース322に記憶されてもよい。ペアリングデータベース322は、ゲームコントローラが以前にペアリングされた以前にペアリングされたゲームシステムとゲームコントローラをペアリングするためにゲームコントローラ200が使用し得るゲームシステムペアリングデータ326を記憶するように構成されてもよい。ゲームシステムペアリングデータ326は、以前にペアリングされたゲームシステムのそれぞれとのゲームコントローラ200の初期ペアリングに基づいて、ゲームコントローラ200によって受信され、ペアリングデータベース322に記憶されてもよい。
【0036】
図示の例では、以前にペアリングされたゲームシステムは、ローカルゲームシステム304、ワイヤレスアクセスポイント310及びストリーミングデバイス306を含んでもよい。コンパニオンデバイス302が、コンパニオンペアリングアプリケーションプログラムとビデオゲームとの双方を実行するように構成されるいくつかの例では、コンパニオンデバイス302は、以前にペアリングされたゲームシステムとしても機能してもよい。
【0037】
ゲームコントローラ200に搭載されたペアリングデータベース322は、ゲームコントローラ200が異なる物理的位置で異なる通信プロトコルを使用して異なるゲームシステムと迅速にペアリングされるための柔軟性を提供する。例えば、ペアリングデータベース322は、自宅のユーザのパーソナルゲームシステムについてのペアリングデータを記憶してもよい。さらに、ユーザが友人のゲームシステムでビデオゲームをプレイするとき、ゲームコントローラ200は、友人のゲームシステムについてのペアリングデータを記憶するように構成されてもよい。したがって、ユーザがユーザ自身のゲームシステムと友人のゲームシステムとの間で行ったり来たりするときであっても、ゲームコントローラ200は、ゲームシステムペアリングデータをオンボードに記憶させてもよく、それにより、ゲームコントローラ200がいずれかのゲームシステムと迅速にペアリングし得るようにする。
【0038】
いずれか適切なコンピューティングデバイスについてのペアリング情報はペアリングデータベース322に記憶されてもよく、それにより、ゲームコントローラ200が使用されている場所であればどこでも、このようなペアリングデータがゲームコントローラ200を指定の以前にペアリングされたコンピューティングデバイスと迅速にペアリングするために使用できるようにする。言い換えると、ゲームコントローラ200は、ゲームコントローラ200がゲームシステムとペアリングする毎に、ゲームシステムからペアリングデータを再取得する必要がない。さらに、ゲームコントローラ200は、ゲームコントローラ200がペアリングデータベース322に最後にペアリングされた最後にペアリングされたゲームシステム328を記憶するように構成されてもよい。
【0039】
いくつかの実装では、ゲームコントローラ200は、最初に、ゲームコントローラ200のブートアップ/活性化時にコンパニオンデバイス302とペアリングすることを試みてもよい。したがって、コンパニオンデバイス302は、ゲームシステムとペアリングする際にゲームコントローラ200を支援するために利用可能になり得る。ゲームコントローラ200は、BLE通信プロトコルのような第1の通信プロトコルを使用してコンパニオンデバイスとペアリングするように構成されてもよい。
【0040】
ゲームコントローラ200がコンパニオンデバイス302とペアリングできない場合、ゲームコントローラ200は、ペアリングエラーが存在するという指示を提示してもよい。一例として、エラー通知は、ゲームコントローラ200のディスプレイ220を介して視覚的に提示されてもよい。別の例として、ゲームコントローラ200は、ペアリングエラーの指示を提供するために、ゲームコントローラ200のハプティックモータを振動させるか或いはライトを点滅させてもよい。ペアリングエラーのこのような指示は、例えば、一体型ディスプレイを欠くゲームコントローラの実装において採用されてもよい。
【0041】
さらに、いくつかの実装では、ゲームコントローラ200は、ゲームコントローラ200のブートアップ/活性化時にペアリングデータベース322に記憶された最後にペアリングされたゲームシステム328とのペアリングを試みてもよい。他の以前にペアリングされたゲームシステムと比較して、ユーザが最後にペアリングされたゲームシステム328でゲームコントローラ200を使用することを望む可能性が高くなり得るので、ゲームコントローラ200はこのように構成されてもよい。ゲームコントローラ200は、ペアリングデータベース322に記憶されたゲームシステムペアリングデータ326によって指定された通信プロトコルを使用して、最後にペアリングされたゲームシステム328とのペアリングを試みてもよい。
【0042】
いくつかの例では、ゲームコントローラ200を最後にペアリングされたゲームシステム328とペアリングするために使用される通信プロトコルは、コンパニオンデバイス302とペアリングするためにゲームコントローラ200によって使用される第1の通信プロトコルとは異なる第2の通信プロトコルでもよい。
【0043】
ゲームコントローラ200は、ゲームコントローラ200が最後にペアリングされたゲームシステム328とペアリングできるか否かを決定するように構成されてもよい。ゲームコントローラ200が最後にペアリングされたゲームシステム328とペアリングできる場合、ゲームコントローラ200は、通信インタフェース316を介して、第2の通信プロトコルを使用してユーザ入力制御データを最後にペアリングされたゲームシステム328に送信するように構成されてもよい。ユーザ入力制御データは、ゲームコントローラ200のコントロール202の活性化に応じて生成されてもよい。ユーザ入力制御データは、最後にペアリングされたゲームシステム328によって実行されるビデオゲームを制御するために使用されてもよい。
【0044】
他方、ゲームコントローラ200は、最後にペアリングされたゲームシステム328とペアリングできないことがある。ゲームコントローラ200は、様々な理由のいずれかで、最後にペアリングされたゲームシステム328とペアリングできないことがある。一例として、最後にペアリングされたゲームシステム328はオフにされていることがある。別の例として、最後にペアリングされたゲームシステム328は、ゲームコントローラ200の通信範囲外にあることがある。更に別の例として、ペアリングデータベース322に記憶されている最後にペアリングされたゲームシステム328のペアリングデータは、最後にペアリングされたゲームシステム328についての現在のペアリングデータに対して古いことがある。
【0045】
ゲームコントローラ200が最後にペアリングされたゲームシステム328とペアリングできない場合、ゲームコントローラ200は、通信インタフェース316を介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイス302に送信してもよい。エラー通知は、ゲームコントローラ200が最後にペアリングされたゲームシステム328とペアリングできないことを示してもよい。
【0046】
図4は、スマートフォン400として実装される例示的なコンパニオンデバイスを示す。スマートフォン400は、
図3のコンパニオンデバイス302に対応してもよい。スマートフォン400は、ゲームコントローラ200とペアリングされてもよい。スマートフォン400は、ゲームコントローラ200からエラー通知を受信したことに基づいて、エラーメッセージ402を視覚的に提示する。エラーメッセージ402は、ゲームコントローラ200が最後にペアリングされたゲームシステム328とペアリングできないことを示す。
【0047】
いくつかの実装では、スマートフォン400は、ペアリングエラーの代替又は追加の指示を提供するように構成されてもよい。一例では、スマートフォン400は、ペアリングエラー及び/又はエラーメッセージ402をユーザに警告するために、スマートフォン400のハプティックモータを振動させるように構成されてもよい。
【0048】
さらに、スマートフォン400は、ゲームコントローラ200とペアリングするために利用可能なゲームシステムを識別するように構成されてもよい。例えば、スマートフォン400は、ペアリングのために利用可能な異なるゲームシステムからのペアリング要求及び/又はペアリングデータを受信してもよい。スマートフォン400は、受信したペアリング要求及び/又はペアリング情報に基づいて、ゲームコントローラ200とペアリングするために利用可能な推奨ゲームシステムのリスト404を視覚的に提示するように構成されてもよい。図示の例では、リスト404は、ローカルゲームシステム及びリモートクラウドベースのゲームシステムを含む。スマートフォン400は、リスト404からゲームシステムの選択を示すユーザ入力を受信してもよい。スマートフォン400は、第1の通信プロトコルを使用して、選択された推奨ゲームシステムについてのペアリング情報をゲームコントローラ200に送信してもよい。スマートフォン400から推奨ゲームシステムペアリングデータを受信したことに応じて、ゲームコントローラ200は、推奨ゲームシステムペアリングデータを使用して、ペアリング要求を推奨ゲームシステムに送信してもよい。このように、スマートフォン400は、ゲームコントローラ200が単独ではペアリングできないゲームシステムとペアリングする際にゲームコントローラ200を支援してもよい。
【0049】
さらに、推奨ゲームシステムとのペアリングの成功に応じて、ゲームコントローラ200は、推奨ゲームシステムペアリングデータをペアリングデータベース322に記憶するように構成されてもよい。また、ゲームコントローラ200は、ペアリングデータベース322内の推奨ゲームシステムに対応するように、最後にペアリングされたゲームシステム328を更新するように構成されてもよい。
【0050】
いくつかの実装では、ゲームコントローラ200がリモートクラウドベースのゲームシステム312とペアリングすることを試みる場合、最後にペアリングされたゲームシステムは、リモートクラウドベースのゲームシステム312とペアリングするために使用されるワイヤレスアクセスポイントでもよい。ゲームコントローラ200が、最後にペアリングされたゲームシステムとして記憶されたワイヤレスアクセスポイントとペアリングできない場合、スマートフォン400は、ゲームコントローラ200をリモートクラウドベースのゲームシステム312とペアリングするために異なるワイヤレスアクセスポイントを使用することを推奨してもよい。
【0051】
図3に戻り、いくつかの実装では、コンパニオンデバイス302は、コンパニオンデバイス302の位置を決定するように構成された全地球測位システム(GPS, global positioning system)デバイス330を含んでもよい。いくつかの例では、コンパニオンデバイス302の位置は、コンパニオンデバイスが接続されるWIFIネットワークに基づくもののように、別の手法を使用して決定されてもよい。
【0052】
コンパニオンデバイス302は、ゲームコントローラ200とペアリングするためのゲームシステムを推奨するために、決定された位置を使用するように構成されてもよい。いくつかの例では、ゲームシステムは、GPSデバイスを有すること又は別の方式で位置情報を決定することに基づいて、対応する位置に関連付けられてもよい。コンパニオンデバイス302は、どのゲームシステム(又はリモートクラウドベースのゲームシステムの場合には関連付けられたWAP)がコンパニオンデバイス302の位置に最も近いかを決定するように構成されてもよい。いくつかの例では、コンパニオンデバイス302は、コンパニオンデバイス302の閾値距離(例えば、ゲームコントローラ200の通信範囲)内にあるゲームシステムを推奨してもよい。いくつかの例では、コンパニオンデバイス302の位置により近いゲームシステムが、コンパニオンデバイス302の位置からより遠い別のゲームシステムよりも推奨されてもよい。コンパニオンデバイス302は、いずれか適切な方式で位置情報を使用して、ゲームコントローラ200とペアリングするためのゲームシステムを推奨してもよい。一例では、コンパニオンデバイス302(例えば、スマートフォン)は、位置の変化を認識し、位置の変化に基づいて、ゲームコントローラとペアリングするための異なるローカルコンソール、又はゲームコントローラをリモートクラウドベースのゲームシステム312と接続するための異なるWAPを推奨してもよい。このような特徴は、ユーザが異なる位置にあるデバイス及びプラットフォームの間でゲームコントローラ200を移動させることを可能にし、ゲームコントローラ200は、コンパニオンデバイス302の助けを借りて、これらのデバイスと自動的にペアリングしてもよい。
【0053】
いくつかの実装では、コンパニオンデバイス302は、ローカルゲームシステム304とペアリングするように構成されてもよい。さらに、コンパニオンデバイス302は、GPSデバイス330からの信号に基づいて生成された位置データをローカルゲームシステム304に送信するように構成されてもよい。ローカルゲームシステム304は、受信した位置データを記憶するように構成されてもよい。ローカルゲームシステム304は、位置データを使用して、当該位置の近くにあり且つローカルゲームシステム304とペアリングするのに利用可能な様々なコンパニオンデバイス及び/又はゲームコントローラを識別して、ジオロケーションに基づく自動ペアリングを容易にするように構成されてもよい。
【0054】
いくつかの実装では、ゲームコントローラ200は、任意選択で、最後にペアリングされたゲームシステムとのペアリングを試みる代わりに、コンパニオンデバイス302によって提供された位置に最も近いゲームシステムとのペアリングを自動的に試みてもよい。言い換えると、ペアリングのための位置データの利用可能性は、任意選択で、ペアリングプロセスの階層において最後にペアリングされたゲームシステムを無効にしてもよい。
【0055】
いくつかの実装では、ゲームコントローラ200がクラウドゲームを使用してリモートクラウドベースのゲームシステム312とペアリングされるとき、コンパニオンデバイス302の位置がリモートクラウドベースのコンピューティングシステム312に送信されてもよく、リモートクラウドベースのコンピューティングシステム312は、当該位置を使用して、ゲームコントローラ200の位置に近接するストリーミングデバイスを識別して、ストリーミングデバイス上での提示のためにビデオゲームのレンダリングされたオーディオ/ビデオを送信してもよい。
【0056】
いくつかの実装では、コンパニオンデバイス302は、GPSデバイス330からの信号に基づいて生成された位置データをゲームコントローラ200に送信するように構成されてもよい。ゲームコントローラ200は、受信した位置データ332をペアリングデータベース322に記憶するように構成されてもよい。ゲームコントローラ200は、位置データ332を使用して、ゲームコントローラ200とペアリングするために利用可能なゲームシステムを識別及び/又は優先順位付けするように構成されてもよい。位置データ332をゲームコントローラ200にオンボードで記憶することによって、位置データ332は、コンパニオンデバイス302がゲームコントローラ200とペアリングされていないときであっても利用可能になり得る。
【0057】
位置データが記憶、アクセス及び/又は処理されるときは常に、位置データは、プライバシー及び/又はセキュリティ標準に従って扱われてもよい。位置データが収集されるときは常に、データを所有するユーザに通知されるべきであり、位置データは、ユーザプライバシーを最大限に考慮した場合に限り収集されるべきである(例えば、ユーザデータは、データを所有するユーザが肯定的な同意を提供するときにのみ収集されてもよく、及び/又は、データを所有するユーザは、ユーザデータが収集されるときは常に通知されてもよい)。ユーザは、位置データ収集をいつでもオプトイン及び/又はオプトアウトしてもよい。
【0058】
いくつかの実装では、ゲームコントローラ200は、ディスプレイ220を介してペアリング状態情報を視覚的に提示するように構成されてもよい。
図5A~
図5Bは、ゲームコントローラのディスプレイを介して視覚的に提示され得る例示的なペアリング状態通知を示す。
図5Aにおいて、ゲームコントローラ200は、ゲームコントローラ200が最後にペアリングされたゲームシステムとペアリングできないことに応じて、ディスプレイ220を介してペアリングエラーメッセージ500を視覚的に提示するように構成されてもよい。
図5Bにおいて、ゲームコントローラ200は、ゲームコントローラ200がローカルゲームシステム304とペアリングしたことに応じて、ペアリング通知又はペアリング成功メッセージ502を視覚的に提示するように構成されてもよい。いくつかの例では、ペアリング成功メッセージは、ゲームコントローラがコンパニオンデバイス302によって推奨されるゲームシステムとペアリングしたことに基づいて視覚的に提示されてもよい。
【0059】
ゲームコントローラ200は、ゲームコントローラ200のペアリング状態を示すためにいずれか適切なペアリング状態情報を視覚的に提示するように構成されてもよい。いくつかの例では、ゲームコントローラ200は、オンデマンドでディスプレイ220を介してペアリング状態情報を視覚的に提示するように構成されてもよい。例えば、ゲームコントローラ200は、ペアリングボタン200 Gのようなゲームコントローラ204の指定のコントロールの活性化に応じて、ペアリング状態情報を視覚的に提示するように構成されてもよい。
【0060】
いくつかの実装では、ゲームコントローラ200は、ゲームコントローラ200がペアリングできる利用可能なゲームシステムのリスト(例えば、
図4に示すスマートフォン400によって視覚的に提示されるリスト404と同様のもの)を視覚的に提示するように構成されてもよい。ゲームコントローラ200は、リストからのゲームシステムの選択を示すユーザ入力を受信し、選択されたゲームシステムに対応するゲームシステムペアリングデータに基づく通信プロトコルを使用して、ペアリング要求を選択されたゲームシステムに送信するように構成されてもよい。いくつかの実装では、リモートクラウドベースのゲームシステムが選択されたとき、ゲームコントローラ200は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータをリモートクラウドベースのゲームシステムが送信し得るストリーミングデバイスのリストを視覚的に提示するように構成されてもよい。ゲームコントローラ200は、リストからストリーミングデバイスの選択を示すユーザ入力を受信し、リモートクラウドベースのゲームシステムに通知を送信して、レンダリングされたオーディオ/ビデオデータを選択されたストリーミングデバイスに送信するように構成されてもよい。
【0061】
いくつかの実装では、ゲームコントローラ200は、ゲームコントローラ200が異なるゲームシステム(又は他のコンピューティングデバイス)と迅速にペアリングすることを可能にするペアリング「ショートカット」を提供するように構成されてもよい。特に、ゲームコントローラ200は、異なるペアリング機能を複数のコントロール202のうち異なるコントロールにマッピングするように構成されてもよい。ゲームコントローラ200は、制御マッピングデータ334を記憶サブシステム320に記憶するように構成されてもよい。コントロールマッピングデータ334は、複数のコントロール202のうち1つ以上のコントロールの複数の異なるセットのうちどれが、ペアリングデータベース322に記憶された異なる以前にペアリングされたゲームシステムにマッピングされるかを示してもよい。コントロールマッピングデータ334は、特定のセットのコントロールが活性化されるとき、ゲームコントローラ200が、ゲームコントローラをゲームシステムとペアリングするために、特定のセットのコントロールにマッピングされるゲームシステムにペアリング要求を送信することを指定する。
【0062】
図6A及び
図6Bは、ゲームコントローラのコントロールのセットの、異なるペアリング機能への例示的なマッピングを示す。
図6Aにおいて、ユーザが方向パッド212の左方向600も押下しながらペアリングボタン204Gを押下したとき、ゲームコントローラ200は、ゲームシステムペアリングデータ326によって指定された通信プロトコルを使用してペアリング要求をローカルゲームシステム304に送信する。この例では、ペアリングボタン204G及び方向パッド212の左方向600は、ローカルゲームシステム304についてのペアリング機能にマッピングされた第1のセットのコントロールに対応する。ゲームコントローラ200は、ディスプレイ220を介して、ゲームコントローラがローカルゲームシステムとのペアリングに成功したことを示すペアリング通知602を視覚的に提示するように構成されてもよい。
【0063】
図6Bにおいて、ユーザが、方向パッド212の下方向604も押下しながらペアリングボタン204Gを押下したとき、ゲームコントローラ200は、ゲームシステムペアリングデータ326によって指定された通信プロトコルを使用して、WAP310を介してペアリング要求をリモートクラウドベースのゲームシステム312に送信する。この例では、ペアリングボタン204G及び方向パッド212の下方向604は、リモートクラウドベースのゲームシステム312についてのペアリング機能にマッピングされる第2のセットのコントロールに対応する。ゲームコントローラ200は、ディスプレイ220を介して、ゲームコントローラがリモートクラウドベースゲームシステムとのペアリングに成功したことを示すペアリング通知606を視覚的に提示するように構成されてもよい。
【0064】
いくつかの実装では、ゲームコントローラ200をリモートクラウドベースのゲームシステム312とペアリングするために第2のセットのコントロールが活性化されたとき、ゲームコントローラ200は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータをリモートクラウドベースのゲームシステムが送信し得るストリーミングデバイスのリストを視覚的に提示するように構成されてもよい。ゲームコントローラ200は、リストからストリーミングデバイスの選択を示すユーザ入力を受信し、リモートクラウドベースのゲームシステムに通知を送信して、レンダリングされたオーディオ/ビデオデータを選択されたストリーミングデバイスに送信するように構成されてもよい。
【0065】
いくつかの実装では、WAP310についてのペアリングデータは、ペアリングデータベース322に記憶されてもよく、第2のセットのコントロールは、リモートクラウドベースのゲームシステム312の代わりにWAP310についてのペアリング機能にマッピングされてもよい。
【0066】
別の例では、第3のセットのコントロールが、最後にペアリングされたゲームシステム328にマッピングされてもよい。更に別の例では、第4のセットのコントロールは、BLE通信プロトコル又は最後のWIFIベースの通信プロトコルを介してペアリングされた最後のデバイスにマッピングされてもよい。更に別の例では、第5のセットのコントロールは、最後にペアリングされたWAPにマッピングされてもよい。さらに、いくつかの例では、ゲームコントローラ200は、リモートクラウドベースのゲームシステム312によって実行されるビデオゲームのためのレンダリングされたオーディオ/ビデオデータをリモートクラウドベースのゲームシステムが送信し得るストリーミングデバイスのリストを視覚的に提示するように構成されてもよい。ゲームコントローラ200は、リストからストリーミングデバイスの選択を示すユーザ入力を受信し、リモートクラウドベースのゲームシステムに通知を送信して、レンダリングされたオーディオ/ビデオデータを選択されたストリーミングデバイスに送信するように構成されてもよい。
【0067】
ゲームコントローラ200は、いずれか適切なゲームシステム又は他のコンピューティングデバイス(例えば、コンパニオンデバイス302)のためのいずれか適切なペアリング機能に、いずれか適切なコントロール又はコントロールのセットをマッピングするように構成されてもよい。いくつかの実装では、コントロールマッピングデータ334は、コンパニオンデバイス302を介して更新されてもよく、コンパニオンデバイス302は、更新されたコントロールマッピングデータをゲームコントローラ200に送信してもよい。さらに、ゲームコントローラ200は、更新されたコントロールマッピングデータを記憶サブシステム320に記憶してもよい。
【0068】
図7~
図10は、異なる通信プロトコルを使用して異なるゲームシステムとペアリングするようにゲームコントローラを動作させるための例示的な方法700を示す。例えば、方法700は、
図2A、
図2B、
図3、
図5A、
図5B、
図6A及び
図6Bに示すゲームコントローラ200、又は概して本明細書に説明されるこのような機能を提供可能ないずれか適切なゲームコントローラによって実行されてもよい。この例では、異なるゲームシステムはローカルゲームシステム及びリモートクラウドベースのゲームシステムに限定されているが、方法700は、ゲームコントローラをいずれか適切な数のゲームシステムにペアリングするために広く適用可能である。さらに、この例では、通信プロトコルの数は2つに制限されている。方法700は、いずれか適切な数の異なる通信プロトコルを使用して、ゲームコントローラを異なるコンピューティングデバイスとペアリングするために広く適用可能である。
【0069】
図7において、702において、方法700は、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータを、ゲームコントローラの記憶サブシステムに記憶することを含む。例えば、第1の通信プロトコルは、BLE通信プロトコルを含んでもよい。
【0070】
704において、方法700は、ゲームコントローラが以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムとゲームコントローラをペアリングするためのゲームシステムペアリングデータを、記憶サブシステムに記憶することを含む。
【0071】
706において、方法700は、ゲームコントローラが最後にペアリングされた1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを、記憶サブシステムに記憶することを含む。
【0072】
いくつかの実装では、708において、方法700は、任意選択で、ゲームコントローラとゲームシステムとの間の有線接続が検出されたか否かを決定することを含んでもよい。有線接続が検出された場合、ゲームコントローラは有線接続を介してゲームシステムと通信してもよく、方法700は終了する。そうでない場合、方法700は710に移動する。
【0073】
710において、方法700は、ゲームコントローラの通信インタフェースを介して、コンパニオンデバイスペアリングデータに基づいて第1の通信プロトコルを使用してペアリング要求をコンパニオンデバイスに送信することを含む。
【0074】
712において、方法700は、ゲームコントローラがコンパニオンデバイスとペアリングできるか否かを決定することを含む。ゲームコントローラがコンパニオンデバイスとペアリングできる場合、方法700は716に移動する。そうでない場合、方法700は714に移動する。
【0075】
714において、方法700は、ゲームコントローラがコンパニオンデバイスとペアリングできないことに基づいて、ペアリングエラー指示を提示することを含む。ゲームコントローラがディスプレイを含む実装では、ペアリングエラー指示は、ディスプレイを介してエラーメッセージを視覚的に提示することを含んでもよい。いくつかの例では、ペアリングエラー指示は、ハプティックモータを振動させること、ライトを点滅させること、及び/又はゲームコントローラのスピーカから可聴「ビープ」を出力することを含んでもよい。ゲームコントローラは、ゲームコントローラとコンパニオンデバイスとの間のペアリングエラーを示すいずれか適切なタイプのフィードバックを提示するように構成されてもよい。ゲームコントローラがペアリングエラー指示を提示すると、方法700は
図8における718に移動する。
【0076】
716において、方法700は、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングすることを含む。ゲームコントローラがコンパニオンデバイスとペアリングすると、方法700は
図8における718に移動する。
【0077】
図8において、718において、方法700は、最後にペアリングされたゲームシステムがローカルゲームシステムであるか否かを決定することを含む。例えば、ローカルゲームシステムは、ゲームコントローラと同じ物理的空間にあるゲームコンソール又はデスクトップコンピュータを含んでもよい。最後にペアリングされたゲームシステムがローカルゲームシステムである場合、方法は720に移動する。そうでない場合、方法700は
図9における734に移動する。
【0078】
720において、方法700は、通信インタフェースを介して、ローカルゲームシステムのためのゲームシステムペアリングデータに基づいて第2の通信プロトコルを使用してペアリング要求をローカルゲームシステムに送信することを含む。いくつかの例では、第2の通信プロトコルは、第1の通信プロトコルとは異なってもよい。例えば、第2の通信プロトコルは、WIFIベースの通信プロトコルを含んでもよい。
【0079】
722において、方法700は、ゲームコントローラがローカルゲームシステムとペアリングできるか否かを決定することを含む。ゲームコントローラがローカルゲームシステムとペアリングできる場合、方法700は724に移動する。そうでない場合、方法700は730に移動する。
【0080】
724において、方法700は、第2の通信プロトコルを使用してゲームコントローラをローカルゲームシステムとペアリングすることを含む。
【0081】
いくつかの実装では、726において、方法700は、任意選択で、ゲームコントローラのディスプレイを介して、ゲームコントローラがローカルゲームシステムとのペアリングに成功したことを示すペアリング成功メッセージを視覚的に提示することを含んでもよい。いくつかの実装では、コンパニオンデバイスは、任意選択で、ペアリング成功メッセージを視覚的に提示してもよい。例えば、コンパニオンデバイスは、ゲームコントローラがディスプレイを含まない実装において、ペアリング成功メッセージを視覚的に提示してもよい。いくつかの実装では、ローカルゲームシステムに接続されたディスプレイが、ペアリング成功メッセージを視覚的に提示してもよい。
【0082】
728において、ゲームコントローラのコントロールの活性化に応じて、ゲームコントローラがローカルゲームシステムとペアリングされている間に、方法700は、通信インタフェースを介して、第2の通信プロトコルを使用して、コントロールに対応するユーザ入力制御データをローカルゲームシステムに送信することを含む。ローカルゲームシステムは、ユーザ入力制御データに基づいてビデオゲームの実行を制御してもよく、方法700は終了してもよい。
【0083】
730において、方法700は、ゲームコントローラがローカルゲームシステムとペアリングできないことに基づいて、通信インタフェースを介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信することを含む。エラー通知は、ゲームコントローラがローカルゲームシステムとペアリングできないことを示してもよい。コンパニオンデバイスは、エラー通知を受信したことに基づいて、ゲームコントローラがローカルゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成されてもよい。
【0084】
いくつかの実装では、732において、方法700は、任意選択で、ゲームコントローラがローカルゲームシステムとペアリングできないことに基づいてペアリングエラー指示を提示することを含んでもよい。ゲームコントローラがディスプレイを含む実装では、ペアリングエラー指示は、ディスプレイを介してエラーメッセージを視覚的に提示することを含み得る。いくつかの例では、ペアリングエラー指示は、ハプティックモータを振動させること、ライトを点滅させること、及び/又はゲームコントローラのスピーカから可聴「ビープ」を出力することを含んでもよい。ゲームコントローラは、ゲームコントローラとローカルゲームシステムとの間のペアリングエラーを示すいずれか適切なタイプのフィードバックを提示するように構成されてもよい。ゲームコントローラがペアリングエラー指示を提示すると、方法700は
図9における734に移動する。
【0085】
図9において、734において、方法700は、最後にペアリングされたゲームシステムがリモートクラウドベースのゲームシステムであるか否かを決定することを含む。例えば、リモートクラウドベースのゲームシステムは、ゲームコントローラの記憶サブシステムに記憶されたペアリングデータを有するWAPと通信してもよい。最後にペアリングされたゲームシステムがリモートクラウドベースのゲームシステムである場合、方法は736に移動する。そうでない場合、ローカルゲームシステムもリモートクラウドベースのゲームシステムも最後にペアリングされたゲームシステムに対応せず、方法は
図10における750に進む。
【0086】
736において、方法700は、通信インタフェースを介して、ローカルゲームシステムのためのゲームシステムペアリングデータに基づいて、第3の通信プロトコルを使用してWAPを介してペアリング要求をリモートクラウドベースのゲームシステムに送信することを含む。第3の通信プロトコルは、第1及び第2の通信プロトコルとは異なってもよい。
【0087】
738において、方法700は、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできるか否かを決定することを含む。ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできる場合、方法700は740に移動する。そうでない場合、方法700は746に移動する。
【0088】
740において、方法700は、第3の通信プロトコルを使用してWAPを介してゲームコントローラをリモートクラウドベースのゲームシステムとペアリングすることを含む。
【0089】
いくつかの実装では、742において、方法700は、任意選択で、ゲームコントローラのディスプレイを介して、ゲームコントローラがリモートクラウドベースのゲームシステムとのペアリングに成功したことを示すペアリング成功メッセージを視覚的に提示することを含んでもよい。いくつかの実装では、コンパニオンデバイスは、任意選択で、ペアリング成功メッセージを視覚的に提示してもよい。例えば、コンパニオンデバイスは、ゲームコントローラがディスプレイを含まない実装において、ペアリング成功メッセージを視覚的に提示してもよい。いくつかの実装では、リモートクラウドベースのゲームシステムがレンダリングされたオーディオ/ビデオデータを送信するように指示されるストリーミングデバイスのディスプレイが、ペアリング成功メッセージを視覚的に提示してもよい。
【0090】
744において、ゲームコントローラのコントロールの活性化に応じて、ゲームコントローラがWAPを介してリモートクラウドベースのゲームシステムとペアリングされている間に、方法700は、通信インタフェースを介して、コントロールに対応するユーザ入力制御データを、第3の通信プロトコルを使用してWAPを介してリモートクラウドベースのゲームシステムに送信することを含む。リモートクラウドベースのゲームシステムは、ユーザ入力制御データに基づいてビデオゲームの実行を制御してもよい。リモートクラウドベースのゲームシステムは、ビデオゲームデータをレンダリングし、レンダリングされたビデオゲームデータを、第3の通信プロトコルを使用してWAPを介してストリーミングデバイスに送信してもよい。ストリーミングデバイスは、レンダリングされたビデオゲームデータに基づいてビデオゲームを提示してもよく、方法700は終了してもよい。
【0091】
746において、方法700は、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことに基づいて、通信インタフェースを介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信することを含む。エラー通知は、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことを示してもよい。コンパニオンデバイスは、エラー通知を受信したことに基づいて、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成されてもよい。
【0092】
いくつかの実装では、748において、方法700は、任意選択で、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことに基づいてペアリングエラー指示を提示することを含んでもよい。ゲームコントローラがディスプレイを含む実装では、ペアリングエラー指示は、ディスプレイを介してエラーメッセージを視覚的に提示することを含んでもよい。いくつかの例では、ペアリングエラー指示は、ハプティックモータを振動させること、ライトを点滅させること、及び/又はゲームコントローラのスピーカから可聴「ビープ」を出力することを含んでもよい。ゲームコントローラは、ゲームコントローラとローカルゲームシステムとの間のペアリングエラーを示すいずれか適切なタイプのフィードバックを提示するように構成されてもよい。ゲームコントローラがペアリングエラー指示を提示すると、方法700は
図10における750に移動する。
【0093】
図10において、750において、方法700は、通信インタフェースを介して、第1の通信プロトコルを使用してコンパニオンデバイスから推奨ゲームシステムペアリングデータを受信することを含む。推奨ゲームシステムペアリングデータは、ゲームコントローラとペアリングすべきコンパニオンデバイスによって推奨されるゲームシステムに対応する。推奨ゲームシステムペアリングデータは、ゲームコントローラが推奨ゲームシステムとペアリングするために使用し得る推奨ゲームシステムに対応する通信プロトコルを識別してもよい。コンパニオンデバイスは、いずれか適切な方式でゲームシステムを推奨してもよい。一例では、推奨ゲームシステムは、コンパニオンデバイスへのユーザ入力に基づいて選択されてもよい。別の例では、推奨ゲームシステムは、ゲームコントローラ及び/又はコンパニオンデバイスの位置に対する推奨ゲームシステムの位置に基づいて決定されてもよい。
【0094】
いくつかの実装では、方法700は、任意選択で、ゲームコントローラを最後にペアリングされたゲームシステムとペアリングすることを試みる(例えば、ステップ718~224)前に、ゲームコントローラを推奨ゲームシステムとペアリングすることを自動的に試みる(例えば、ステップ750~756)ことを含んでもよい。このような実装では、ゲームコントローラが推奨ゲームシステムとペアリングできない場合、ゲームコントローラは、最後にペアリングされたゲームコントローラとペアリングすることを試みてもよい。
【0095】
752において、方法700は、通信インタフェースを介して、推奨ゲームシステムペアリングデータに基づいて、対応する通信プロトコルを使用してペアリング要求を推奨ゲームシステムに送信することを含む。
【0096】
754において、方法700は、ゲームコントローラが推奨ゲームシステムとペアリングできるか否かを決定することを含む。ゲームコントローラが推奨ゲームシステムとペアリングできる場合、方法700は756に移動する。そうでない場合、方法700は762に移動する。
【0097】
756において、方法700は、対応する通信プロトコルを使用して、ゲームコントローラを推奨ゲームシステムとペアリングすることを含む。
【0098】
いくつかの実装では、758において、方法700は、任意選択で、ゲームコントローラのディスプレイを介して、ゲームコントローラが推奨ゲームシステムとのペアリングに成功したことを示すペアリング成功メッセージを視覚的に提示することを含んでもよい。
【0099】
758において、方法700は、記憶サブシステムにおいて、推奨ゲームシステムに対応するように最後にペアリングされたゲームシステムを更新することを含む。したがって、ゲームコントローラが次にオンにされるとき、ゲームコントローラは、推奨ゲームシステムとペアリングすることを試みてもよい。記憶サブシステム内の最後にペアリングされたゲームシステムを更新すると、方法700は終了してもよい。
【0100】
762において、方法は、任意選択で、推奨ゲームシステムとペアリングできないことに基づいてペアリングエラー指示を提示することを含んでもよい。いくつかの実装では、さらに或いは代替として、コンパニオンデバイスは、ペアリングエラー指示を提示してもよい。ゲームコントローラがペアリングエラー指示を提示すると、方法700は終了してもよい。
【0101】
方法700は、コンパニオンデバイスが、直感的で、簡単で、容易に観察可能な方式で異なるゲームシステムとペアリングする際にゲームコントローラを支援することを可能にするように実行されてもよい。コンパニオンデバイスは、ゲームコントローラのペアリング機能を拡張するために、ゲームコントローラに欠けているコンパニオンデバイスの更なる特徴及び機能(例えば、とりわけ、ディスプレイ、より機能的/拡張的なユーザインタフェース、プログラム可能性及び位置追跡)を活用してもよい。
【0102】
いくつかの実装では、本明細書で説明する方法及びプロセスは、1つ以上のコンピューティングデバイスのコンピューティングシステムに結び付けられてもよい。特に、このような方法及びプロセスは、コンピュータアプリケーションプログラム若しくはサービス、アプリケーションプログラミングインタフェース(API, application-programming interface)、ライブラリ及び/又は他のコンピュータプログラム製品として実装されてもよい。
【0103】
図11は、上記で説明した方法及びプロセスのうちの1つ以上を実行できるコンピューティングシステム1100の非限定的な実装を概略的に示す。コンピューティングシステム1100は、簡略化された形式で示されている。コンピューティングシステム1100は、
図1Aに示すゲームコンソール100、
図1Bに示すタブレットコンピュータ108、
図2A、
図2B、
図3、
図5A、
図5B、
図6A及び
図6Bに示すゲームコントローラ200、コンパニオンデバイス302、ローカルゲームシステム304、ストリーミングデバイス306、ワイヤレスアクセスポイント310、又は
図3に示すリモートクラウドベースのゲームシステム312、及び/又は
図4に示すスマートフォン400を具現化してもよい。コンピューティングシステム1100は、1つ以上のパーソナルコンピュータ、サーバコンピュータ、タブレットコンピュータ、ホームエンターテイメントコンピュータ、ネットワークコンピューティングデバイス、ゲームデバイス、モバイルコンピューティングデバイス、モバイル通信デバイス(例えば、スマートフォン)、及び/又は他のコンピューティングデバイス、並びにスマート腕時計、バックパックホストコンピュータ及びヘッドマウント拡張/混合仮想現実デバイスのようなウェアラブルコンピューティングデバイスの形式をとってもよい。
【0104】
コンピューティングシステム1100は、論理プロセッサ1102、揮発性メモリ1104及び不揮発性記憶デバイス1106を含む。コンピューティングシステム1100は、任意選択で、ディスプレイサブシステム1108、入力サブシステム1110、通信サブシステム1112及び/又は
図11に図示しない他のコンポーネントを含んでもよい。
【0105】
本明細書で論理サブシステムとも呼ばれる論理プロセッサ1102は、命令を実行するように構成された1つ以上の物理デバイスを含む。例えば、論理プロセッサは、1つ以上のアプリケーション、プログラム、ルーチン、ライブラリ、オブジェクト、コンポーネント、データ構造又は他の論理構成の一部である命令を実行するように構成されてもよい。このような命令は、タスクを実行するため、データタイプを実装するため、1つ以上のコンポーネントの状態を変換するため、技術的効果を達成するため、或いは、別法で所望の結果に到達するために実装されてもよい。
【0106】
論理プロセッサ1102は、ソフトウェア命令を実行するように構成された1つ以上の物理プロセッサ(ハードウェア)を含んでもよい。さらに或いは代替として、論理プロセッサは、ハードウェア実装ロジック又はファームウェア命令を実行するように構成された1つ以上のハードウェア論理回路又はファームウェアデバイスを含んでもよい。論理プロセッサ1102のプロセッサは、シングルコア又はマルチコアでもよく、その上で実行される命令は、順次、並列及び/又は分散処理のために構成されてもよい。論理プロセッサの個々のコンポーネントは、任意選択で、2つ以上の別個のデバイスの間に分散されてもよく、これらのデバイスは、遠隔に位置してもよく、及び/又は協調処理のために構成されてもよい。論理プロセッサの態様は、クラウドコンピューティング構成で構成されたリモートアクセス可能なネットワークコンピューティングデバイスによって仮想化及び実行されてもよい。このような場合、これらの仮想化された態様は、様々な異なるマシンの異なる物理論理プロセッサ上で実行されることが理解される。
【0107】
不揮発性記憶デバイス1106は、本明細書で説明される方法及びプロセスを実装するために論理プロセッサによって実行可能な命令を保持するように構成された1つ以上の物理デバイスを含む。このような方法及びプロセスが実装されるとき、不揮発性記憶デバイス1106の状態は、例えば、異なるデータを保持するように変換されてもよい。
【0108】
不揮発性記憶デバイス1106は、取り外し可能及び/又は内蔵の物理デバイスを含んでもよい。不揮発性記憶デバイス1106は、光学メモリ(例えば、CD、DVD、HD-DVD、ブルーレイディスク等)、半導体メモリ(例えば、ROM、EPROM、EEPROM、フラッシュメモリ等)及び/又は磁気メモリ(例えば、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、MRAM等)又は他の大容量記憶デバイス技術を含んでもよい。不揮発性記憶デバイス1106は、不揮発性、動的、静的、読み取り/書き込み、読み取り専用、順次アクセス、位置アドレス指定可能、ファイルアドレス指定可能、及び/又はコンテンツアドレス指定可能デバイスを含んでもよい。不揮発性記憶デバイス1106は、不揮発性記憶デバイス1106への電力が遮断されたときであっても命令を保持するように構成されることが認識される。
【0109】
揮発性メモリ1104は、ランダムアクセスメモリを含む物理デバイスを含んでもよい。揮発性メモリ1104は、典型的には、ソフトウェア命令の処理中に情報を一時的に記憶するために論理プロセッサ1102によって利用される。揮発性メモリ1104は、典型的には、揮発性メモリ1104への電力が遮断されたときに命令を記憶し続けないことが認識される。
【0110】
論理プロセッサ1102、揮発性メモリ1104及び不揮発性記憶デバイス1106の態様は、1つ以上のハードウェア論理コンポーネントに一緒に統合されてもよい。このようなハードウェア論理コンポーネントは、例えば、フィールドプログラマブルゲートアレイ(FPGA, field-programmable gate array)、プログラム及び特定用途向け集積回路(PASIC/AS IC, program- and application-specific integrated circuit)、プログラム及び特定用途向け標準製品(PSSP/ASSP, program- and application-specific standard product)、システムオンチップ(SOC, system-on-a-chip)、及び複合プログラマブルロジックデバイス(CPLD, complex programmable logic device)を含んでもよい。
【0111】
いくつかの実装では、揮発性メモリ1104及び/又は不揮発性記憶デバイス1106の態様は、記憶サブシステムと呼ばれてもよい。
【0112】
含まれるときには、ディスプレイサブシステム1108は、不揮発性記憶デバイス1106によって保持されるデータの視覚表現を提示するために使用されてもよい。視覚表現は、グラフィカルユーザインタフェース(GUI, graphical user interface)の形式をとってもよい。本明細書で説明される方法及びプロセスが不揮発性記憶デバイスによって保持されるデータを変更すると、したがって、不揮発性記憶デバイスの状態を変換すると、ディスプレイサブシステム1108の状態も同様に、基礎となるデータの変化を視覚的に表すように変換されてもよい。ディスプレイサブシステム1108は、実質的に任意のタイプの技術を利用する1つ以上のディスプレイデバイスを含んでもよい。このようなディスプレイデバイスは、共有されたエンクロージャ内で論理プロセッサ1102、揮発性メモリ1104及び/又は不揮発性記憶デバイス1106と組み合わせられてもよく、或いは、このようなディスプレイデバイスは、周辺ディスプレイデバイスでもよい。
【0113】
含まれるときには、入力サブシステム1110は、キーボード、マウス、タッチスクリーン、スピーチ及び/又は音声認識のためのマイクロホン、カメラ(例えば、ウェブカメラ)又はゲームコントローラのような1つ以上のユーザ入力デバイスを含んでもよく、或いは、これらとインタフェースしてもよい。
【0114】
含まれるときには、通信サブシステム1112は、本明細書で説明される様々なコンピューティングデバイスを互いに且つ他のデバイスと通信可能に結合するように構成されてもよい。通信サブシステム1112は、1つ以上の異なる通信プロトコルと互換性のある有線及び/又は無線通信デバイスを含んでもよい。非限定的な例として、通信サブシステムは、無線電話ネットワーク、又はWIFI接続上のHDMI(登録商標)のような有線若しくは無線のローカル又は広域ネットワークを介した通信のために構成されてもよい。いくつかの実装では、通信サブシステムは、コンピューティングシステム1100が、インターネットのようなネットワークを介して他のデバイスにメッセージを送信し、及び/又は他のデバイスからメッセージを受信することを可能にしてもよい。
【0115】
一例では、ゲームコントローラは、複数のコントロールと、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスと選択的にペアリングし、第2の通信プロトコルを使用して1つ以上のゲームシステムと選択的にペアリングするように構成された通信インタフェースと、論理サブシステムと、記憶サブシステムとを含み、記憶サブシステムは、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータを記憶サブシステムに記憶し、ゲームコントローラが第2の通信プロトコルを使用して以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムとゲームコントローラをペアリングするためのゲームシステムペアリングデータを記憶サブシステムに記憶し、ゲームコントローラが最後にペアリングされた1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを記憶サブシステムに記憶し、通信インタフェースを介して、コンパニオンデバイスペアリングデータに基づいて第2の通信プロトコルを使用してペアリング要求をコンパニオンデバイスに送信し、通信インタフェースを介して、ゲームシステムペアリングデータに基づいて第2の通信プロトコルを使用してペアリング要求を最後にペアリングされたゲームシステムに送信し、複数のコントロールのうち或るコントロールの活性化に応じて、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングされている間に、通信インタフェースを介して、第2の通信プロトコルを使用してコントロールに対応するユーザ入力制御データを最後にペアリングされたゲームシステムに送信し、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに応じて、ゲームコントローラがコンパニオンデバイスとペアリングされている間に、通信インタフェースを介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信するように、論理サブシステムによって実行可能な命令を保持し、エラー通知は、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示し、コンパニオンデバイスは、エラー通知を受信したことに基づいて、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成される。この例及び/又は他の例では、第1の通信プロトコルは、BLE(Bluetooth Low Energy)通信プロトコルを含んでもよい。この例及び/又は他の例では、第2の通信プロトコルは、802.11 axワイヤレスローカルエリアネットワーク(WLAN)通信プロトコルを含んでもよい。この例及び/又は他の例では、命令は、通信インタフェースを介して、第1の通信プロトコルを使用してコンパニオンデバイスから、ゲームコントローラをコンパニオンデバイスによって指定された推奨ゲームシステムとペアリングするための推奨ゲームシステムペアリングデータを受信し、通信インタフェースを介して、推奨ゲームシステムペアリングデータに基づいて推奨ゲームシステムに対応する通信プロトコルを使用してペアリング要求を推奨ゲームシステムに送信するように、論理サブシステムによって実行可能でもよい。この例及び/又は他の例では、命令は、ゲームコントローラが推奨ゲームシステムとペアリングしたことに応じて、推奨ゲームシステムペアリングデータを記憶サブシステムに記憶し、記憶サブシステムにおいて、推奨ゲームシステムに対応するように最後にペアリングされたゲームシステムを更新するように、論理サブシステムによって実行可能でもよい。この例及び/又は他の例では、コンパニオンデバイスは、コンパニオンデバイスの位置を決定するように構成された全地球測位システム(GPS)デバイスを含んでもよく、推奨ゲームシステムは、推奨ゲームシステムの位置、又はコンパニオンデバイスの位置に対する推奨ゲームシステムにアクセスするための関連するワイヤレスアクセスポイントの位置に基づいて、コンパニオンデバイスによって指定されてもよい。この例及び/又は他の例では、推奨ゲームシステムは、リモートクラウドベースのゲームシステムでもよく、推奨ゲームシステムペアリングデータは、ワイヤレスアクセスポイントを介してゲームコントローラをリモートクラウドベースのゲームシステムとペアリングするためのものでもよい。この例及び/又は他の例では、命令は、複数のコントロールのうち或るコントロールの活性化に応じて、ゲームコントローラがワイヤレスアクセスポイントを介してリモートクラウドベースのゲームシステムとペアリングされている間に、通信インタフェースを介して、対応する通信プロトコルを使用して、ワイヤレスアクセスポイントを介してコントロールに対応するユーザ入力制御データをリモートクラウドベースのゲームシステムに送信するように、論理サブシステムによって実行可能でもよい。この例及び/又は他の例では、ゲームコントローラはディスプレイを更に含んでもよく、命令は、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに応じて、ディスプレイを介して、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示すペアリングエラーメッセージを視覚的に提示するように、論理サブシステムによって実行可能でもよい。この例及び/又は他の例では、ゲームシステムペアリングデータは、証明書、パスワード、事前共有鍵(PSK)及びサービスセット識別子(SSID)情報のうち1つ以上を含んでもよい。
【0116】
別の例では、ゲームコントローラを動作させるための方法は、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータをゲームコントローラの記憶サブシステムに記憶するステップと、ゲームコントローラが第2の通信プロトコルを使用して以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムとゲームコントローラをペアリングするためのゲームシステムペアリングデータを記憶サブシステムに記憶するステップと、ゲームコントローラが最後にペアリングされた1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを記憶サブシステムに記憶するステップと、ゲームコントローラの通信インタフェースを介して、コンパニオンデバイスペアリングデータに基づいて第1の通信プロトコルを使用してペアリング要求をコンパニオンデバイスに送信するステップと、ゲームコントローラがコンパニオンデバイスとペアリングできるか否かを決定するステップと、ゲームコントローラがコンパニオンデバイスとペアリングできることに基づいて、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするステップと、通信インタフェースを介して、ゲームシステムペアリングデータに基づいて第2の通信プロトコルを使用してペアリング要求を最後にペアリングされたゲームシステムに送信するステップと、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできるか否かを決定するステップと、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできることに基づいて、第2の通信プロトコルを使用してゲームコントローラを最後にペアリングされたゲームシステムとペアリングするステップと、ゲームコントローラの或るコントロールの活性化に応じて、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングされている間に、通信インタフェースを介して、第2の通信プロトコルを使用してコントロールに対応するユーザ入力制御データを最後にペアリングされたゲームシステムに送信するステップと、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに基づいて、通信インタフェースを介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信するステップとを含み、エラー通知は、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示し、コンパニオンデバイスは、エラー通知を受信したことに基づいて、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成される。この例及び/又は他の例では、当該方法は、通信インタフェースを介して、第1の通信プロトコルを使用してコンパニオンデバイスから、ゲームコントローラをコンパニオンデバイスによって指定された推奨ゲームシステムとペアリングするための推奨ゲームシステムペアリングデータを受信するステップと、通信インタフェースを介して、推奨ゲームシステムペアリングデータに基づいて推奨ゲームシステムに対応する通信プロトコルを使用してペアリング要求を推奨ゲームシステムに送信するステップとを更に含んでもよい。この例及び/又は他の例では、当該方法は、ゲームコントローラが推奨ゲームシステムとペアリングしたことに応じて、推奨ゲームシステムペアリングデータを記憶サブシステムに記憶するステップと、記憶サブシステムにおいて、推奨ゲームシステムに対応するように最後にペアリングされたゲームシステムを更新するステップとを更に含んでもよい。この例及び/又は他の例では、コンパニオンデバイスは、コンパニオンデバイスの位置を決定するように構成された全地球測位システム(GPS)デバイスを含んでもよく、推奨ゲームシステムは、推奨ゲームシステムの位置、又はコンパニオンデバイスの位置に対する推奨ゲームシステムにアクセスするための関連するワイヤレスアクセスポイントの位置に基づいて、コンパニオンデバイスによって指定されてもよい。この例及び/又は他の例では、推奨ゲームシステムは、リモートクラウドベースのゲームシステムでもよく、推奨ゲームシステムペアリングデータは、ワイヤレスアクセスポイントを介してゲームコントローラをリモートクラウドベースのゲームシステムとペアリングするためのものでもよい。この例及び/又は他の例では、当該方法は、ゲームコントローラの或るコントロールの活性化に応じて、ゲームコントローラがワイヤレスアクセスポイントを介してリモートクラウドベースのゲームシステムとペアリングされている間に、通信インタフェースを介して、対応する通信プロトコルを使用して、ワイヤレスアクセスポイントを介してコントロールに対応するユーザ入力制御データをリモートクラウドベースのゲームシステムに送信するステップを更に含んでもよい。この例及び/又は他の例では、当該方法は、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことに応じて、ゲームコントローラのディスプレイを介して、ゲームコントローラが最後にペアリングされたゲームシステムとペアリングできないことを示すペアリングエラーメッセージを視覚的に提示するステップを更に含んでもよい。
【0117】
更に別の例では、ゲームコントローラを動作させるための方法は、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするためのコンパニオンデバイスペアリングデータをゲームコントローラの記憶サブシステムに記憶するステップと、ゲームコントローラが以前にペアリングされた1つ以上の以前にペアリングされたゲームシステムとゲームコントローラをペアリングするためのゲームシステムペアリングデータを記憶サブシステムに記憶するステップであり、1つ以上の以前にペアリングされたゲームシステムは、ゲームコントローラがワイヤレスアクセスポイントを介して以前にペアリングされたリモートクラウドベースのゲームシステムを含む、ステップと、ゲームコントローラが最後にペアリングされた1つ以上の以前にペアリングされたゲームシステムのうち最後にペアリングされたゲームシステムを記憶サブシステムに記憶するステップであり、最後にペアリングされたゲームシステムはリモートクラウドベースのゲームシステムに対応するステップと、ゲームコントローラの通信インタフェースを介して、コンパニオンデバイスペアリングデータに基づいて第1の通信プロトコルを使用してペアリング要求をコンパニオンデバイスに送信するステップと、ゲームコントローラがコンパニオンデバイスとペアリングできることに基づいて、第1の通信プロトコルを使用してゲームコントローラをコンパニオンデバイスとペアリングするステップと、通信インタフェースを介して、最後にペアリングされたゲームシステムに対応するリモートクラウドベースのゲームシステムに基づいて、第2の通信プロトコルを使用してワイヤレスアクセスポイントを介してペアリング要求をリモートクラウドベースのゲームシステムに送信するステップと、ゲームコントローラがワイヤレスアクセスポイントを介してリモートクラウドベースのゲームシステムとペアリングできるか否かを決定するステップと、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできることに基づいて、第2の通信プロトコルを使用してワイヤレスアクセスポイントを介してゲームコントローラをリモートクラウドベースのゲームシステムとペアリングするステップと、ゲームコントローラの或るコントロールの活性化に応じて、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングされている間に、通信インタフェースを介して、第2の通信プロトコルを使用してワイヤレスアクセスポイントを介してコントロールに対応するユーザ入力制御データをリモートクラウドベースのゲームシステムに送信するステップと、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことに基づいて、通信インタフェースを介して、第1の通信プロトコルを使用してエラー通知をコンパニオンデバイスに送信するステップとを含み、エラー通知は、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことを示し、コンパニオンデバイスは、エラー通知を受信したことに基づいて、ゲームコントローラがリモートクラウドベースのゲームシステムとペアリングできないことを示すエラーメッセージを提示するように構成される。この例及び/又は他の例では、当該方法は、通信インタフェースを介して、第1の通信プロトコルを使用してコンパニオンデバイスから、ゲームコントローラをコンパニオンデバイスによって指定された異なるワイヤレスアクセスポイントを介してリモートクラウドベースのゲームシステムとペアリングするための推奨ゲームシステムペアリングデータを受信するステップと、通信インタフェースを介して、推奨ゲームシステムペアリングデータに基づいて異なるワイヤレスアクセスポイントに対応する通信プロトコルを使用してペアリング要求を異なるワイヤレスアクセスポイントに送信するステップとを更に含んでもよい。この例及び/又は他の例では、リモートクラウドベースのゲームシステムは、ゲームコントローラから受信したユーザ入力制御データに基づいてリモートクラウドベースのゲームシステムによって実行されるビデオゲームのためのオーディオ/ビデオデータをレンダリングするように構成されてもよく、リモートクラウドベースのゲームシステムは、ワイヤレスアクセスポイントを介して、ビデオゲームのためのレンダリングされたオーディオ/ビデオデータをストリーミングデバイスに送信するように構成されてもよく、ストリーミングデバイスは、ビデオゲームのためのレンダリングされたオーディオ/ビデオデータを提示するように構成される。
【0118】
本明細書で説明される構成及び/又は手法は、本質的に例示的なものであり、多数の変形が可能であるので、これらの特定の実施形態又は例は、限定的な意味で考慮されるべきではないことが理解される。本明細書で説明される特定のルーチン又は方法は、任意の数の処理方策のうち1つ以上を表してもよい。したがって、図示及び/又は説明される様々な動作は、図示及び/又は説明される順序で、他の順序で、並行して実行されてもよく、或いは省略されてもよい。同様に、上記したプロセスの順序は変更されてもよい。
【0119】
本開示の主題は、本明細書に開示される様々なプロセス、システム及び構成並びに他の特徴、機能、動作及び/又は特性の全ての新規で非自明な組み合わせ及び部分的組み合わせと、これらの任意及び全ての均等物とを含む。
【国際調査報告】