特許第6073835号(P6073835)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6073835ワイヤレスデバイスをコンソールデバイスと結合するシステム
<>
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000002
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000003
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000004
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000005
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000006
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000007
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000008
  • 特許6073835-ワイヤレスデバイスをコンソールデバイスと結合するシステム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6073835
(24)【登録日】2017年1月13日
(45)【発行日】2017年2月1日
(54)【発明の名称】ワイヤレスデバイスをコンソールデバイスと結合するシステム
(51)【国際特許分類】
   A63F 13/235 20140101AFI20170123BHJP
   A63F 13/24 20140101ALI20170123BHJP
   A63F 13/537 20140101ALI20170123BHJP
   G06F 13/00 20060101ALI20170123BHJP
【FI】
   A63F13/235
   A63F13/24
   A63F13/537
   G06F13/00 510A
【請求項の数】15
【外国語出願】
【全頁数】15
(21)【出願番号】特願2014-132310(P2014-132310)
(22)【出願日】2014年6月27日
(62)【分割の表示】特願2008-541207(P2008-541207)の分割
【原出願日】2006年11月2日
(65)【公開番号】特開2014-195728(P2014-195728A)
(43)【公開日】2014年10月16日
【審査請求日】2014年6月30日
(31)【優先権主張番号】11/283,442
(32)【優先日】2005年11月18日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】リチャード エス.ラム
(72)【発明者】
【氏名】ウェイ グオ
(72)【発明者】
【氏名】ガリー ゴードン
【審査官】 宇佐田 健二
(56)【参考文献】
【文献】 特開2005−288180(JP,A)
【文献】 特開2005−217646(JP,A)
【文献】 特開2002−202843(JP,A)
【文献】 特開2000−126445(JP,A)
【文献】 特開平10−042062(JP,A)
【文献】 米国特許第06684062(US,B1)
【文献】 特表2001−501432(JP,A)
【文献】 特開2002−140154(JP,A)
【文献】 特開2003−023391(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00−13/98, 9/24
H04B 1/38
H04L 12/28
H04W 8/00,84/12,92/08
(57)【特許請求の範囲】
【請求項1】
ゲームコントローラであって、
ワイヤレス通信機と、
コンソールとのワイヤレス通信を確立するボタンであって、前記ボタンの動作によって前記ゲームコントローラを前記コンソールと関連づける結合処理が開始され、前記結合処理は、ワイヤレス通信チャネルを選択することと、前記ゲームコントローラに一意のコンソール識別子を与えることと、ブロードキャストパケットを待つこととを含む、ボタンと、
視覚インジケータと、
前記結合処理の間に前記ゲームコントローラに与えられる前記一意のコンソール識別子を記憶するように構成されたメモリと
を含み、
前記一意のコンソール識別子は、前記ゲームコントローラを前記コンソールに結合するために使用され、電源が失われても前記ゲームコントローラの前記メモリ内に保持され、電源が再投入された場合に、前記ゲームコントローラの前記ワイヤレス通信機が前記コンソールに再結合する必要をなくし、
前記ゲームコントローラは更に、前記結合処理の後に生じる発見処理であって、前記ゲームコントローラを前記コンソールの複数の仮想コントローラポートのうちの1つに関連づける発見処理を実施するように構成され、
前記コンソールは、前記ゲームコントローラが電源をオフにされると、前記コンソールにおいて実行されているゲームに通知し、
前記ゲームコントローラがプラグを抜かれるか電源をオフにされた後に再接続されるときにおける前記ゲームコントローラへの次の仮想コントローラポートの割り当てが後入れ先出しスタックに基づいて行われ、該後入れ先出しスタックには、ゲームコントローラがプラグを抜かれるか電源をオフにされたときに開放された仮想コントローラが入れられ、これにより特定のゲームコントローラがプラグを抜かれるか電源をオフにされるときに開放された仮想コントローラポートが、前記特定のゲームコントローラが再接続されたときに接続される次の仮想コントローラポートとなり得るようにする
ゲームコントローラ。
【請求項2】
前記ブロードキャストパケットを受信すると、前記ゲームコントローラは、前記コンソールと結合パケットを交換することを特徴とする請求項1に記載のゲームコントローラ。
【請求項3】
前記視覚インジケータは、点灯されて前記結合処理の状態を示すことを特徴とする請求項2に記載のゲームコントローラ。
【請求項4】
前記ゲームコントローラは、前記コンソールからのブロードキャストパケットを捕捉して、前記ブロードキャストパケットの一意のコンソール識別子を、前記ゲームコントローラに記憶された前記一意のコンソール識別子と相関させることを特徴とする請求項1に記載のゲームコントローラ。
【請求項5】
前記ゲームコントローラは、前記ブロードキャストパケットが予め定められた時間内に受信されない場合に前記発見処理を再試行する再試行メカニズムを含み、前記再試行メカニズムは、予め定められた回数だけ再試行することを特徴とする請求項4に記載のゲームコントローラ。
【請求項6】
前記ゲームコントローラは、前記コンソールから受信した前記ブロードキャストパケットを認証することを特徴とする請求項4に記載のゲームコントローラ。
【請求項7】
前記ゲームコントローラは、前記発見処理が完了したことを、前記視覚インジケータを点灯することによって示すことを特徴とする請求項6に記載のゲームコントローラ。
【請求項8】
ワイヤレスデバイスをコンソールと関連付ける方法であって、前記方法は前記コンソールによって実施され、
前記ワイヤレスデバイスを前記コンソールに結合するステップであって、該ステップは、ワイヤレス通信チャネルを選択することと、前記ワイヤレスデバイスに一意のコンソール識別子を与えることと、ブロードキャストパケットを待つこととを含み、前記一意のコンソール識別子は前記ワイヤレスデバイスのメモリに記憶され、前記ワイヤレスデバイスを前記コンソールに結合するために使用され、電源が失われても前記ワイヤレスデバイスの前記メモリ内に保持され、電源が再投入された場合に、前記ワイヤレスデバイスが前記コンソールに再結合する必要をなくすステップと、
前記ワイヤレスデバイスを発見するステップであって、前記ワイヤレスデバイスを前記コンソールの複数の仮想コントローラポートのうちの1つに関連づけることを含む、ステップと
を含み、
前記コンソールは、前記ワイヤレスデバイスが電源をオフにされると、前記コンソールで実行されているゲームに通知し、
前記ゲームコントローラがプラグを抜かれるか電源をオフにされた後に再接続されるときにおける前記ゲームコントローラへの次の仮想コントローラポートの割り当てが後入れ先出しスタックに基づいて行われ、該後入れ先出しスタックには、ゲームコントローラがプラグを抜かれるか電源をオフにされたときに開放された仮想コントローラが入れられ、これにより特定のゲームコントローラがプラグを抜かれるか電源をオフにされるときに開放された仮想コントローラポートが、前記特定のゲームコントローラが再接続されたときに接続される次の仮想コントローラポートとなり得るようにする
方法。
【請求項9】
前記ワイヤレスデバイスと前記コンソールとの間で結合パケットを交換するステップを更に含むことを特徴とする請求項8に記載の方法。
【請求項10】
ブロードキャストパケットが予め定められた時間内に受信されない場合に、前記発見処理を再試行するステップを更に含み、前記再試行するステップは、予め定められた回数だけ実行されることを特徴とする請求項8に記載の方法。
【請求項11】
前記ワイヤレスデバイスは、視覚インジケータを点灯することによって、前記結合処理または前記発見処理の成功または失敗を示すことを特徴とする請求項8に記載の方法。
【請求項12】
ワイヤレスゲームコントローラをゲームコンソールと関連付ける方法であって、前記方法は、前記ワイヤレスゲームコントローラによって実施され、
接続処理を動作させるステップと、
前記ワイヤレスゲームコントローラを1対1の関係で前記ゲームコンソールと関連付けるための結合処理を実行するステップであって、前記結合処理は、ワイヤレス通信チャネルを選択するステップと、前記ゲームコントローラに一意のコンソール識別子を与えることと、ブロードキャストパケットを待つこととを含む、ステップと、
前記ワイヤレスゲームコントローラのメモリに、一意のコンソール識別子を記憶するステップであって、前記一意のコンソール識別子は、前記結合処理の間に与えられ、前記ワイヤレスゲームコントローラを前記ゲームコンソールに結合するために使用され、電源が失われても前記ワイヤレスゲームコントローラの前記メモリに保持され、電源が再投入された場合に、前記ワイヤレスゲームコントローラが前記ゲームコンソールに再結合する必要をなくすステップと、
前記ワイヤレスゲームコントローラをゲームセッションに参加させるための発見処理を実行するステップであって、前記発見処理は、前記ワイヤレスゲームコントローラを前記ゲームコンソールの複数の仮想コントローラポートのうちの1つに関連付けることを含む、ステップと
を含み、
前記ゲームコンソールは、前記ワイヤレスゲームコントローラが電源をオフにされると、前記ゲームコンソールで実行されているゲームに通知し、
前記ゲームコントローラがプラグを抜かれるか電源をオフにされた後に再接続されるときにおける前記ゲームコントローラへの次の仮想コントローラポートの割り当てが後入れ先出しスタックに基づいて行われ、該後入れ先出しスタックには、ゲームコントローラがプラグを抜かれるか電源をオフにされたときに開放された仮想コントローラが入れられ、これにより特定のゲームコントローラがプラグを抜かれるか電源をオフにされるときに開放された仮想コントローラポートが、前記特定のゲームコントローラが再接続されたときに接続される次の仮想コントローラポートとなり得るようにする
方法。
【請求項13】
前記一意のコンソール識別子を用いて、前記ワイヤレスゲームコントローラの前記1対1の関係を維持するステップを更に含むことを特徴とする請求項12に記載の方法。
【請求項14】
ブロードキャストパケットが予め定められた時間内に受信されない場合に、前記発見処理を再試行するステップを更に含み、前記再試行するステップは、予め定められた回数だけ実行されることを特徴とする請求項12に記載の方法。
【請求項15】
前記ゲームコンソールからのブロードキャストパケットを捕捉するステップと、
前記ブロードキャストパケットの一意のコンソール識別子を、前記ワイヤレスゲームコントローラに記憶された前記一意のコンソール識別子と相関させるステップと、
を更に含むことを特徴とする請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム用デバイス及びマルチメディアデバイスの分野に関し、特に、ワイヤレスデバイスをコンソールデバイスに結合するシステム及び方法に関する。
【背景技術】
【0002】
ワイヤレスコントローラは、ゲームコンソールにコントローラをワイヤレスで接続することによって、プレーヤに運動の自由を与える。ワイヤレスコントローラは通常、振動フィードバック、ミニジョイスティック、D−パッド、感圧ボタンなどの、プレーヤが有線コントローラで見出す特徴を提供する。更に、ゲームコンソールにワイヤレスコントローラを接続するシステムによって、複数のプレーヤがコンソールで同時にプレーすることができるようになることが多い。
【0003】
LANタイプの環境で動作している多くのワイヤレスコントローラ及びゲームコンソールがある場合には、従来のワイヤレスコントローラは簡単には管理されない。これは、従来のワイヤレスコントローラが体系的にではなく、むしろアドホックベースで追加されるからである。ゲームコンソールが、ワイヤレスかつオンラインのコミュニティ環境に向かうにつれて、ワイヤレスゲームについての従来のアドホックの性質は困難に遭遇する。
【0004】
従って、ワイヤレスコントローラをコンソールに結合する(associating)改良されたシステムは、技術を進歩させかつ有利である。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、ワイヤレスデバイスをコンソールデバイスに結合する改良されたシステムおよび方法を提供する。
【課題を解決するための手段】
【0006】
ワイヤレスデバイスをホストに結合するシステム及び方法が提供される。ワイヤレスデバイスは、結合(binding)処理及び発見(discovery)処理を介してホストに結合される。結合処理は接続を確立する。固有の識別子及び他の結合情報がワイヤレスデバイスに与えられ、それらはワイヤレスデバイスに記憶されてコンソールへのリンクを確立する。結合情報は、ワイヤレスデバイスで保持される。発見処理は、ワイヤレスデバイスがホストによって提供されるセッションに参加できるようにする。ホストはブロードキャストパケットを送信し、ブロードキャストパケットは、ワイヤレスデバイスに記憶された情報と比較される。ブロードキャストパケットは、正当性を確認されかつ認証されて、発見処理を完了させる。ホスト及び/またはコントローラ上の視覚インジケータは、結合処理または発見処理についての成功または失敗を表示してもよい。
【0007】
結合及び発見は、ワイヤレスデバイスをホストに結合する2つの個別のステップである。結合は、ワイヤレスデバイスについてホストに対し、1対1であることが望ましいが、デバイスに対するホストの1対多の関係が存在する。発見は、デバイスがホストに結合された後に実行される。セッションが他のワイヤレスデバイスまたは有線デバイスからすでに開始されていたとしても、発見が行われてもよい。
【0008】
ワイヤレスデバイスは、発見処理中に予め定められた時間、ホストに接続するための再試行を試みる。この時間は、ユーザがエラーを修正することができるように十分長いことが望ましい。ワイヤレスデバイスが接続できない場合、ワイヤレスデバイスは失敗を示す。
【0009】
本発明のさらなる特徴及び利点は、添付の図面を参照しながら進められる実施形態についての以下の詳細な説明から明らかにされる。
好適な実施形態についての以下の詳細な説明だけでなく、前述の概要も、添付図面とともに読むことによりよく理解できる。本発明を説明するために、本発明の例示的な構造が図面に示される。しかしながら、本発明は、開示される特定の方法及び手段には限定されない。
【図面の簡単な説明】
【0010】
図1】本発明の態様が実行されるゲームコンソールを示すブロック図である。
図2】コントローラ及びLEDインジケータを示す図である。
図3】結合処理の間に実行される例示的な処理を示す図である。
図4】結合処理の間に実行される例示的な処理を示す図である。
図5】発見処理の間に実行される例示的な処理を示す図である。
図6】発見処理の間に実行される例示的な処理を示す図である。
図7】プレーヤに伝えられる例示的な通知及び表示画面を示す図である。
図8】プレーヤに伝えられる例示的な通知及び表示画面を示す図である。
【発明を実施するための形態】
【0011】
図1は、本発明の特定の態様を実行することができるマルチメディア/ゲームコンソール100の機能要素を示す。マルチメディアコンソール100は、1次キャッシュ102、2次キャッシュ104、及びフラッシュROM(Read Only Memory:読み出し専用メモリ)106を有する中央処理装置(Central Processing Unit:CPU)101を含む。1次キャッシュ102及び2次キャッシュ104は、一時的にデータを記憶し、それによりメモリアクセスサイクルの回数を減少させ、その結果、処理速度及びスループットを改善する。CPU101は、2つ以上のコアと、従って追加の1次キャッシュ102及び2次キャッシュ104とを有するように設けられてもよい。フラッシュROM106は、マルチメディアコンソール100に電源が投入されたときのブート処理の初期段階の間にロードされる実行可能コードを記憶することができる。
【0012】
グラフィック処理装置(Graphics Processing Unit:GPU)108及びビデオエンコーダ/ビデオコーデック(符号化器/復号化器)114は、高速かつ高解像度のグラフィック処理のためのビデオ処理パイプラインを形成する。データは、グラフィック処理装置108から、バスを介して、ビデオエンコーダ/ビデオコーデック114に伝えられる。ビデオ処理パイプラインは、A/V(オーディオ/ビデオ)ポート140にデータを出力して、テレビまたは他のディスプレイへ送信する。メモリコントローラ110は、GPU108に接続されて、限定ではないがRAM(Random Access Memory:ランダムアクセスメモリ)などの、様々な種類のメモリ112へのプロセッサのアクセスを容易にする。
【0013】
マルチメディアコンソール100は、I/Oコントローラ120、システム管理コントローラ122、オーディオ処理装置123、ネットワークインタフェースコントローラ124、第1のUSBホストコントローラ126、第2のUSBコントローラ128、及びフロントパネルI/Oサブアセンブリ130を含む。これらは、モジュール118上に実現されることが望ましい。USBコントローラ126及びUSBコントローラ128は、周辺コントローラ142(1)−142(2)、ワイヤレスアダプタ148、及び外付けのメモリデバイス146(例えば、フラッシュメモリ、外付けのCD/DVDROMドライブ、着脱自在媒体など)のホストとしての機能を果たす。ネットワークインタフェース124及び/またはワイヤレスアダプタ148は、ネットワーク(例えばインターネット、ホームネットワークなど)へのアクセスを提供し、イーサネット(登録商標)カード、モデム、ブルートゥース(Bluetooth(登録商標))モジュール、ケーブルモデムなどを含む多岐にわたる様々な有線またはワイヤレスのアダプタ部品のいずれであってもよい。
【0014】
システムメモリ143が設けられて、ブート処理の間にロードされるアプリケーションデータを記憶する。媒体駆動部(media drive)144が設けられ、DVD/CDドライブ、ハードディスクまたは他の着脱自在な媒体駆動部などを含んでもよい。媒体駆動部144は、マルチメディアコンソール100の内部にあってもよく、または外付けであってもよい。マルチメディアコンソール100は、実行、再生などのために媒体駆動部144を介してアプリケーションデータにアクセスすることができる。媒体駆動部144は、シリアルATAバスまたは他の高速接続(例えば、IEEE1394)などのバスを介してI/Oコントローラ120に接続している。
【0015】
システム管理コントローラ122は、マルチメディアコンソール100の可用性を確保することに関する様々なサービス機能を提供する。オーディオ処理装置123及びオーディオコーデック132は、対応するオーディオ処理パイプラインをハイファイかつステレオ方式の処理により形成する。オーディオデータは、通信リンクを介してオーディオ処理装置123とオーディオコーデック132との間を伝えられる。オーディオ処理パイプラインは、外部オーディオプレーヤまたはオーディオ機能を有する装置による再生のためにA/Vポート140にデータを出力する。
【0016】
フロントパネルI/Oサブアセンブリ130は、マルチメディアコンソール100の外面に露出したすべてのLED(発光ダイオード)または他のインジケータの機能性だけでなく、電源ボタン150及びイジェクトボタン152の機能性もサポートする。システム電源モジュール136は、マルチメディアコンソール100の構成要素に電力を供給する。ファン138は、マルチメディアコンソール100内の回路を冷却する。
【0017】
CPU101、GPU108、メモリコントローラ110、及びマルチメディアコンソール100内の様々な他の構成要素は、様々なバスアーキテクチャのいずれかを用いたシリアルバス及びパラレルバス、メモリバス、周辺機器用バス、並びにプロセッサバスまたはローカルバスを含む、1つまたは複数のバスを介して相互接続される。一例として、かかるアーキテクチャには、PCI(Peripheral Component Interconnects)バス、PCIエクスプレスバスなどを含んでもよい。
【0018】
マルチメディアコンソール100に電源が投入されると、アプリケーションデータは、システムメモリ143からメモリ112及び/またはキャッシュ102、104へロードされ、CPU101で実行することができる。アプリケーションは、マルチメディアコンソール100で利用可能な異なる媒体形式に誘導する場合に、一貫したユーザ体験を提供するグラフィカルユーザインタフェースを示してもよい。動作中に、媒体駆動部144内に含まれるアプリケーション及び/または他の媒体が、媒体駆動部144から開始されまたは再生されて、マルチメディアコンソール100に追加の機能性を提供してもよい。
【0019】
マルチメディアコンソール100は、システムを単にテレビまたは他のディスプレイにだけ接続することにより、スタンドアロンのシステムとして動作してもよい。このスタンドアロンモードでは、マルチメディアコンソール100によって、1人または複数のユーザが、システムと情報のやりとりを行い、映画を見、または音楽を聞くことが可能になる。一方、ネットワークインタフェース124またはワイヤレスアダプタ148を介して利用可能になるブロードバンドの接続性の統合で、マルチメディアコンソール100は、より大規模なネットワークコミュニティの参加者として更に動作することができる。
【0020】
マルチメディアコンソール100に電源が投入されると、一定のハードウェア資源(resource)は、マルチメディアコンソールのオペレーティングシステムによって、システムの使用のために予約される。これらの資源は、メモリ(例えば16MB)、CPU及びGPUサイクル(例えば5%)、ネットワーク帯域幅(例えば8kbs)などの予約を含んでもよい。これらの資源はシステムのブート時に予約されるので、予約された資源はアプリケーションからは見えない。
【0021】
特に、メモリ予約は、起動カーネル、並行(concurrent)システムアプリケーション及びドライバを含むのに十分な大きさであることが望ましい。CPUの予約は一定であることが望ましく、予約されたCPUの使用量をシステムアプリケーションが使用していない場合には、待機(idle)スレッドがいずれかの使用されていないサイクルを使うことができる。
【0022】
GPU予約に関して、システムアプリケーションによって生成される小メッセージ(例えばポップアップ)は、予定コードへのGPU割り込みを用いて表示されて、オーバレイにポップアップをレンダリングする。オーバレイのために必要なメモリの量はオーバレイ領域の大きさに依存し、オーバレイは画面解像度と対応することが望ましい。全ユーザインタフェースを並列システムアプリケーションが用いる場合には、アプリケーション解像度と無関係の解像度を用いることが望ましい。スケーラ(scaler)を用いて、周波数を変更しかつTVの再同期化を生じさせる必要性をなくすようにこの解像度を設定してもよい。
【0023】
マルチメディアコンソール100が起動されてシステム資源(resource)が予約された後に、並列システムアプリケーションが実行されてシステム機能性を提供する。システム機能性は、上記の予約されたシステム資源内で実行される一組のシステムアプリケーションの中にカプセル化される。オペレーティングシステムのカーネルは、ゲームアプリケーションスレッドと対比したシステムアプリケーションスレッドであるスレッドを識別する。システムアプリケーションは、予め定められた時間及び間隔でCPU101上で起動するようにスケジュールを入れられて、矛盾のないシステム資源計画をアプリケーションに提供することが望ましい。スケジューリングは、コンソールで起動しているゲームアプリケーションのためのキャッシュの分裂状態を最小化するべきである。
【0024】
並行システムアプリケーションがオーディオを必要とする場合に、オーディオ処理は時間感度のためにゲームアプリケーションに対して非同期にスケジュールを入れられる。システムアプリケーションがアクティブの場合に、マルチメディアコンソールアプリケーションマネージャ(後述される)は、ゲームアプリケーションのオーディオレベル(例えば、ミュート、減衰)を制御する。
【0025】
入力デバイス(例えば、コントローラ142(1)及び142(2))は、ゲームアプリケーション及びシステムアプリケーションにより共有される。入力デバイスは予約された資源ではないが、システムアプリケーションとゲームアプリケーションとの間で切替えられて、各々がデバイスの中心(focus)を有する。アプリケーションマネージャは、ゲームアプリケーションの知識なしで、入力ストリームの切替えを制御することが望ましく、ドライバは中心切替え装置(focus switch)に関する状態情報を保持する。
【0026】
図2を参照すると、4つの四分円形(クワドラント)LEDインジケータ156(及びその拡大図)を有する例示的なワイヤレスコントローラ154及び4つの四分円形インジケータ158を有するコンソール100が示されている。コントローラ154は、例えば周波数ホッピングスペクトラム拡散(FHSS)ワイヤレス通信リンクを介して、ワイヤレスアダプタ148と通信を行う。リンクは、最長10メートルまで延長が可能であることが望ましい。コントローラ154も、振動フィードバック、ミニジョイスティック、感圧ボタンなどを含む。ゲームは、画面160に示される。コンソールインジケータ158は、電源ボタンを囲むように示されているが、他の構成で実装されてもよい。リングの各四分円形は、LEDによって点灯してもよい。LEDは、単色でも、複数の色で点灯するために2色であってもよい。後述するように、四分円形を、通知、システム状態、結合及び発見を示す諸様式で点灯してもよい。
【0027】
複数のコンソール100及びワイヤレスコントローラ154が共存することができる環境をサポートするために、各コントローラは単一のコンソール100に論理的に「結合」されて、リンクはそのコンソール100とだけ確立される。コントローラ154は、同時に2つ以上のコンソール100には結合されない。結合とは、あるコンソール100があるコントローラ154へ情報を送信して、そのコントローラが該コンソール100とのリンクを確立することを可能にする処理である。一旦コンソール100に「結合」されると、コントローラ154は、コントローラ154がオンにされるといつでも、結合されたコンソール100とのリンクを確立しようとする。
【0028】
コンソール100には、本明細書において「Vポート」と称される4つの仮想コントローラポートがある。Vポートは、有線またはワイヤレスでコンソール100に接続されたアクティブなゲームコントローラを表す。番号の付いたVポートが、コンソール100に接続される順に自動的にコントローラに割り当てられる。各々のVポートは、LEDインジケータ156及びコンソールインジケータ158の四分円形によって表される。このように、「発見」は、有線またはワイヤレスのゲーム装置がコンソール100によって認識され、Vポートを割り当てられ、ゲームプレーに使用できるようにされる処理である。
【0029】
従って、「結合」及び「発見」の動作は、2つの別個だが関連している動作であることが望ましい。結合の動作は、コントローラ及びコンソール上の結合(BIND)ボタンまたは接続(CONNECT)ボタンを押下することによって開始される。一旦結合されると、コントローラは発見処理を開始し、成功すれば、上述したようにこの場合Vポート1である、第1の使用可能なVポートを割り当てられる。1台から3台のコントローラが事前に結合されかつ発見されていた場合には、発見された次のコントローラは、Vポート2、3または4がそれぞれ割り当てられる。4台のコントローラがすでに発見済みの場合には、結合処理はそれでもなお実行されるが、いずれのVポートも割り当てられることができない。従って、コントローラはVポートを割り当てられないが、他の4台のコントローラのうちの1台がオフにされたかまたは新規のコンソールに結合された場合には、コンソールに結合されかつ発見されて使用できるだろう。
【0030】
結合処理及び発見処理が、図3−6を参照してここでより詳細に説明される。結合または接続は、新規のコントローラ154がコンソール(ホスト)100に追加されることを可能にするイベントである。複数のワイヤレスコントローラ154及び複数のコントローラがLANに共存する環境をサポートするために、各ワイヤレスコントローラ154は、一度に単一のコンソールに追加されることが望ましい。単一のコンソールは、ワイヤレスコントローラ154が特定の時間に接続される唯一のコンソールであることが更に望ましい。ユーザが他のコンソールと同じコントローラを使用したい場合を除いて、大部分のユーザにとって、結合処理はコンソール1台あたり1回だけ実行される。コンソールに結合されるコントローラの数は制限されていないので、コンソール100からコントローラの結合を開放する必要はない。
【0031】
ここで図3及び図4を参照すると、結合処理または接続処理は、コンソール100の接続ボタン(ステップ200)及びワイヤレスコントローラ154の接続ボタン(ステップ226)を押下することによって開始される。各接続ボタンが押下されると、結合が完了するかまたはタイムアウトされるまで、各デバイスはこのモードのままである。各デバイスは、LEDパターンを発光させて、結合処理の開始を示す(ステップ202、228)。コンソール100は、ブロードキャストパケットの次の使用可能スロットにおいて結合ビット及びそのFHSSホッピング多項式を有するブロードキャストパケットを送信することができる(ステップ204、206)。
【0032】
コントローラ154は、チャネルを選択し、コンソール100からのブロードキャストパケットを調べる(listen for)(ステップ230)。コンソール100の接続ボタンを押下して20秒以内に、コントローラ154が結合パケットを受信してコンソール100に接続され得ることが望ましい。この期間に、コントローラ154は、結合パケットが受信されたかどうかを確かめ、必要ならば、チャネルを変更して別のチャネルで結合パケットを待つことができる(ステップ232、240、242)。一方、この期間に、コンソール100は、コントローラ154からの結合要求パケットを調べる(ステップ208、210、216)。コンソール100及びコントローラ154は、20秒以内にそれらの間で結合情報が交換されない場合に、タイムアウトして結合モードから出ることが望ましい(ステップ218、244)。LEDは、発光して失敗を示してもよい(ステップ220、246)。
【0033】
コンソールのワイヤレス通信機及びコントローラのワイヤレス通信機が通信を確立した後に、結合情報及び検証を含む結合パケットが交換される(ステップ212、234)。コントローラ154は、コンソール100のIDと、コントローラ154に設けられたEEPROMのFHSSホッピング多項式とを記憶する(ステップ236)。LEDは発光して、結合の成功を示してもよい(ステップ214、238)。そして、結合処理は完了する(ステップ222、248)。
【0034】
上述の様に、結合処理の間、コントローラ154は、一意のコンソール識別(ID)コード及びホッピング多項式を受信して、それらをワイヤレスコントローラ154に記憶する。この情報は、コンソール100がオンにされると、コンソール100とのリンクを確立するために用いられる。ワイヤレスコントローラについていえば、コントローラ154をオンにすることは、有線コントローラをコンソールに「プラグイン」することに相当する。ワイヤレスコントローラ154に一旦記憶された結合情報は、電池または充電式のバッテリーパックが取り外される場合であっても、更に放電/充電の全サイクルを通じてずっと、保持されることが望ましい。従って、ユーザは、電池交換と電池交換との間またはプレー/充電ケーブルでの充電サイクルの間に再結合を行う必要はない。
【0035】
更に、コントローラ154が第2のコンソールに結合される場合は、ID及びホッピング多項式が第2のID及びホッピング多項式であるように、ユーザは、第1のコンソールに再結合する必要がある。1つのコンソールID及びホッピング多項式だけを、コントローラに一度に記憶することができる。
【0036】
上記の結合処理は、コンソール100のゲームプレーを停止させない。ゲームの適当なときに、ゲームを中断せずに、プレーの中止を要求せずに、または他のコントローラの音声またはデータ通信に少しも影響を及ぼさずに、いかなるコントローラも結合しかつ接続することができる。
【0037】
結合処理は、また、プレー/充電ケーブルを用いてコンソール100にワイヤレスコントローラ154を接続することによって開始されてもよい。このモードでは、結合パケットは、USBケーブルを介して交換される。コンソール100ホストは、ワイヤレスのシナリオと同様に、そのワイヤレスモジュールデバイスID及びホッピング多項式をコントローラ154に送信する。この情報を受信するとすぐに、コントローラ154は、そのEEPROMに情報を記憶し、コンソール100に自動的にRFリンクを確立し、更に、コントローラのLEDインジケータ(図2を参照)をオンにして接続状態を示す。
【0038】
結合処理に関するいくつかのさらなる特徴は、次の通りである。コントローラ154またはコンソール100の接続専用ボタンまたは結合専用ボタンは、押下されるときにコントローラまたはコンソールの電源を入れない。接続ボタンまたは結合ボタンは、結合処理が開始されるためには、押下されかつ0.75秒より長くそのままでなければならない。これは、コントローラ及びコンソールのボタンの不注意による動作を防ぐためである。結合は1対1のイベントである。結合ボタンの押下によって、一度に1台のコントローラを結合することができる。次のコントローラを結合するために、次のユーザは、結合または接続が起こる前のそれに続く時間、コンソール100の結合ボタンを押下しなければならない。状態通知画面は、結合及び発見処理(結合中・・・結合済み・・・発見済み)を表示して、ユーザに結果を知らせてもよい。結合処理は、20秒の割り当て時間内に接続ボタンを2度押すことによって、ワイヤレスコントローラ154で終了されてもよい。ワイヤレスコントローラは、うまくいかなかった場合に、前のコンソールのIDコードなどの全ての情報を保持することができる。結合の全処理は、6.5秒以内に完了されることが望ましい。
【0039】
発見処理は、ワイヤレスコントローラ154がゲームセッションに参加することができるようにする。発見処理の間、デバイスの認証も実行される。発見処理は、ゲームセッションの前かまたはその間になされてもよく、デバイスがコンソールに結合された後に行われる。コンソール100が結合モードにある間、デバイスの発見処理は使用可能にされないことが望ましい。
【0040】
ホスト(コンソール100)は、図5に示した例示的な処理を実行する。ホスト(コンソール)のブロードキャストパケットは、発見処理に用いられる。コンソール100は、フレーム毎に2回ブロードキャストパケットを送信する(ステップ250、252)。コンソール100は、第1の使用可能スロットのデータをチェックする(ステップ254)。有効なデータリンク制御パケットが検出される場合には、コンソール100は、当該スロットを使用中とマークして、リンク制御パケットを復号する(ステップ256、258)。コンソール100がリンク制御パケットを検出しない場合には、コンソール100は発見完了パケットを送信し、更に該空きスロットの情報を更新して(ステップ270)、ステップ252へ戻る。
【0041】
有効なリンク制御パケットがある場合には、コンソールはリンク制御パケットをコントローラ154または他のワイヤレスデバイスと交換して、リンク制御パケットを承認する(ステップ260、262)。次に、コンソール100は、ワイヤレスコントローラ154に搬送パケットを送信することによって、認証処理を開始する(ステップ264)。コンソール100は、認証応答を待って、応答の正当性を確認し、その発見完了パケットにフラグをセットして発見の成功/失敗を示す(ステップ266、268)。コンソール100は、ブロードキャストパケットの該空きスロットの情報を更新することによって処理を完了し(ステップ270)、ステップ252に戻る。
【0042】
コントローラ154(または任意のワイヤレスデバイス)がゲームセッションに参加すると、コントローラ154は図6の例示的なシーケンスを実行する。最初に、コントローラ154は、LEDを介して、発見モードに入りつつあることを示す(ステップ272、274)。次に、コントローラ154は、チャネルリスト全体から1つのチャネルを選択し、ブロードキャストパケットを調べる(ステップ276、277)。デバイスが同じホップ周波数上にいる継続時間は164ms前後であって、全ての可能性のあるチャネルをホストが調べるのに十分な時間が提供される。ブロードキャストパケットが検出されない場合、または、パケットがうまく復号されない場合には、コントローラ154は、別のチャネルへ移動して、ステップ276及び277を繰り返す。
【0043】
ブロードキャストパケットを受信した後に、コントローラ154は、ホストのIDの検証を実行して、その結合されたホスト、即ちコンソール100によりホストされる正しいネットワークに接続される。コントローラ154は、自身のタイミングを、ホストの8msのフレームタイミング及びフレームカウンタに一致するように調整する(ステップ278-284)。コントローラ154は、ブロードキャストパケットをチェックして、使用可能なスロットを検出する(ステップ286)。コントローラ154は、ブロードキャストパケットのFHSS/AFH情報に基づいてホップチャネルを更新し、第1の使用可能スロットを選ぶ(ステップ288)。ステップ284においてホストのIDの一致がない場合には、LEDはステップ318において点滅されて失敗を示し、処理は終了する(ステップ320)。
【0044】
コントローラは、次のフレームのリンク制御パケットを送信する(ステップ290、292)。コントローラがブロードキャストパケットを検出しない場合には、ステップ294においてフレームの任意の量を戻って、再びステップ288を開始する。コントローラ154は、コントローラ154が送信したリンク制御パケットに対するACKビットについてホストのブロードキャストパケットのスロットをチェックする(ステップ296)。
【0045】
コントローラ154は、ホストの搬送パケットを待って、セキュリティ機構に転送する(ステップ298−304)。ホストの搬送パケットが受信されない場合には、コントローラのLEDが点灯されて、受信のためのタイムアウト時間が経過したことを示す(ステップ302)。コントローラ154は、セキュリティ機構にポーリングして、認証の状態を待つ(ステップ306)。一旦完了したならば、コントローラ154は搬送パケットを介してコンソール100に該状態を転送する(ステップ308、310)。認証が完了するまで、コントローラ154はいかなるデータも送信しない(ステップ312)。コントローラ154は、発見処理を完了し、発見の成功/失敗についてホストによって設定されるフラグに基づいてフラグLEDを設定する(ステップ314−320)。
【0046】
発見処理の間、コントローラ154は、コンソール100に接続するために20回だけ試行することが望ましい。接続できない場合には、コントローラ154は、自身のLEDを用いて、「通信していない」というエラーメッセージを発光させる。各再試行は、最長15秒続いてもよく、再試行の失敗から新しい再試行の開始までの時間は、250msから1520msの間で遅延する。これによって、エラーなどを修正する時間をユーザに提供する最長330sの再試行時間が提供されることが有利である。
【0047】
ワイヤレスコントローラ154が何の接続もない状態にある場合には、ボタンの押下またはトリガー/親指スティック運動などの何らかの入力によって、コントローラ154は発見処理を自動的に開始することが望ましい。
【0048】
図7及び図8を参照すると、結合処理及び発見処理、並びに、LEDインジケータ156及びコンソールインジケータ158が処理をプレーヤへ視覚的に伝える方法が視覚的に示されている。図3に示すように、コントローラは電源を投入され、コンソール100及びコントローラの結合ボタンは押下されている。結合処理が完了した後に、発見処理が行われる。これはコンソール100によって発見されるべき第1のコントローラであるので、Vポート1に関連付けられて、インジケータ156及びインジケータ158の左上の四分円形が照明されて接続を知らせる。図8に示すように、2台以上のコントローラがコンソール100によって発見される場合には、インジケータ158の他の四分円形が連続して照明される。このように、2台のコントローラが接続される場合には、インジケータ158の2つの四分円形が点灯され、更に最大4台のコントローラ及び4つの四分円形まで点灯され得る。追加の四分円形がコンソール上で連続して点灯される一方、単一の四分円形だけが一度にいずれか1つのコントローラで点灯されるという点に注意すべきである。
【0049】
四分円形の位置は、次のようにVポートに対応することが望ましい。即ち、
1,左上の四分円形
2,右上の四分円形
3,左下の四分円形
4,右下の四分円形
である。更に、複数のプレーヤがプレーしている図8に示すように、画面上のプレーヤの位置は、複数のプレーヤの個別のコントローラに割り当てられた四分円形に対応する。
【0050】
Vポートは、以下の規則に従って、昇順(1から4)でアサインされることが望ましい。即ち、
― システムがコントローラによって電源を投入される場合には、そのコントローラ(有線またはワイヤレス)はVポート1を割り当てられる。
― コンソールにプラグ接続された有線コントローラは、以下の順序に従って次の使用可能なVポートを自動的に割り当てられる。即ち、
― ハブを介してUSBポートAに接続されるコントローラ
― USBポートA(例えばコントローラ142(1))に直接プラグ接続されるコントローラ。
― ハブを介してUSBポートBに接続されるコントローラ
― USBポートB(例えばコントローラ142(2))に直接プラグ接続されるコントローラ。
― ハブを介してUSBポートCに接続されるコントローラ
― USBポートCに直接プラグ接続されるコントローラ
である。
【0051】
Vポートは、コントローラがプラグを抜かれるかまたは電源をオフにされると開放される。論理的には、電源がオフにされたワイヤレスコントローラは、コンソール100からプラグを抜かれた有線コントローラと同様に取り扱われる。一旦、電源が投入されると、コンソール100は、追加の有線コントローラ及びワイヤレスコントローラをそれらが接続されるかまたは電源を投入される順番で、使用可能なVポートに割り当てる。ゲームプレーの間、ゲームは、コントローラがプラグを抜かれると通知される。プラグを抜かれたそのコントローラがゲームでそのとき使用されている場合には、ゲームは一時停止して切断メッセージを表示することができる。ゲームはまた、再接続されるべきコントローラがあればその開放されたVポートが再実装(repopulate)されるべき次のVポートであるということをコンソール100に通知する。次の切断が起こると、コンソールはゲームに通知し、ゲームは実装する次のVポートについて報告する。コンソールは、ゲームによって要求される次のVポートの割り当てに対して後入れ先出しのスタックで維持する。
【0052】
このように、コントローラが再接続されるときに、コントローラは以下の規則に従ってVポートに割り当てられる。即ち、
次Vポート(Next Vport)スタックがその中に値を有する場合には、コントローラはその指定されたVポートに割り当てられて、該Vポートはスタックから外される。
次Vポートスタックが空の場合には、コントローラは最も小さい番号をつけられた空きVポートに割り当てられる。
― 空きVポートがない場合には、コントローラはVポートを割り当てられない。
コントローラがワイヤレスの場合には、接続された表示に失敗を表示して、電源が切断される。コントローラが有線の場合には、四分円形はコントローラ上で点灯されない。
【0053】
本発明は、コンソールにコントローラを追加しかつコンソールからコントローラを取り外す簡単で一貫した方法をユーザに提供することを意図している。本発明は、様々な図の好適な実施形態に関連して説明されているが、そこから逸脱することなしに、他の同様の実施形態が用いられ、また、説明された実施形態に変更及び追加を行って本発明の同じ機能を実行してもよい、ということが理解されるべきである。
図1
図3
図4
図5
図6
図2
図7
図8