(57)【要約】【課題】複数のゲーム装置間で予め接続を確立していなくとも、各種のデータを比較的単純な手順で遣り取りできる構成を提供する。【解決手段】第１および第２のゲーム装置を備えるゲームシステムが提供される。第１および第２のゲーム装置の各々は、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を含む。第１のゲーム装置は、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするとともに、当該ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続する。第２のゲーム装置は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。【選択図】図１
2017191966.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のゲーム装置を備えるゲームシステムであって、
前記第１および第２のゲーム装置の各々は、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を備え、
前記第１のゲーム装置は、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするとともに、当該ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続し、
前記第２のゲーム装置は、使用している通信チャネルにて前記フレームを受信すると、当該受信したフレームに対する処理を実行する、ゲームシステム。
【請求項２】
前記第１のゲーム装置は、前記フレームのブロードキャスト後に、当該フレームを受信し得るゲーム装置との通信を行なうことなく、即座に前記元の通信チャネルに切り替える、請求項１に記載のゲームシステム。
【請求項３】
前記第１のゲーム装置は、前記元の通信を継続しているときに、再度、使用している通信チャネル以外の別の通信チャネルに切り替えて、前記フレームをブロードキャストする、請求項１または２に記載のゲームシステム。
【請求項４】
前記フレーム内の前記所定のデータは、前記第１のゲーム装置にて実行される通信を使用するゲームアプリケーションに関する情報を含む、請求項１〜３のいずれか１項に記載のゲームシステム。
【請求項５】
前記第２のゲーム装置は、前記第１のゲーム装置にて実行される前記ゲームアプリケーションとは異なるアプリケーションを実行している場合に、当該実行されているアプリケーション画像とともに、前記受信したフレームに含まれる前記ゲームアプリケーションに関する情報を同時に表示する、請求項４に記載のゲームシステム。
【請求項６】
前記第２のゲーム装置は、前記受信したフレームに含まれる前記所定のデータに基づく情報を表示する、請求項１に記載のゲームシステム。
【請求項７】
前記第２のゲーム装置は、前記受信したフレームに基づいて、前記第１のゲーム装置が使用している通信チャネルに切り替えて、前記第１のゲーム装置との間で通信を行なう、請求項１〜６のいずれか１項に記載のゲームシステム。
【請求項８】
前記第１のゲーム装置は、使用している通信チャネルにおいても前記フレームをブロードキャストする、請求項１〜７のいずれか１項に記載のゲームシステム。
【請求項９】
前記第２のゲーム装置は、実行しているアプリケーションとは独立して、前記第１のゲーム装置からブロードキャストされるフレームをスキャンする、請求項１〜８のいずれか１項に記載のゲームシステム。
【請求項１０】
前記第１のゲーム装置は、ユニキャストまたはマルチキャストでの通信を中断し、前記フレームをブロードキャストする、請求項１〜９のいずれか１項に記載のゲームシステム。
【請求項１１】
マスターとして機能するゲーム装置とスレーブとして機能するゲーム装置との間で、前記通信チャネルを使用した通信が行なわれ、
前記第１のゲーム装置は、前記マスターおよび前記スレーブのいずれであっても、前記フレームをブロードキャストする、請求項１〜１０のいずれか１項に記載のゲームシステム。
【請求項１２】
前記フレーム内の前記所定のデータは、前記第１のゲーム装置が使用している通信チャネルの情報を含む、請求項１〜１１のいずれか１項に記載のゲームシステム。
【請求項１３】
前記フレーム内の前記所定のデータは、前記第１のゲーム装置が属している通信グループの識別情報を含み、
前記第２のゲーム装置は、前記識別情報に基づいて、前記受信したフレームに含まれる前記所定のデータを利用するか否かを判断する、請求項１〜１２のいずれか１項に記載のゲームシステム。
【請求項１４】
前記第２のゲーム装置は、先に受信したフレームに含まれるデータとは異なるデータを含むフレームを新たに受信すると、当該新たに受信したフレームに対して処理を実行する、請求項１〜１３のいずれか１項に記載のゲームシステム。
【請求項１５】
予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を備えたゲーム装置で実行される処理プログラムであって、前記処理プログラムは前記ゲーム装置に
使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするステップを実行させ、他のゲーム装置は、使用している通信チャネルにて前記フレームを受信すると、当該受信したフレームに対する処理を実行し、
前記ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続するステップを実行させる、処理プログラム。
【請求項１６】
予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を備えたゲーム装置で実行される処理方法であって、
使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするステップを備え、他のゲーム装置は、使用している通信チャネルにて前記フレームを受信すると、当該受信したフレームに対する処理を実行し、
前記ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続するステップを備える、処理方法。
【請求項１７】
予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能と、
使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするとともに、当該ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続する手段とを備え、
他のゲーム装置は、使用している通信チャネルにて前記フレームを受信すると、当該受信したフレームに対する処理を実行する、ゲーム装置。
【請求項１８】
マスター装置として動作する第１モードとスレーブ装置として動作する第２モードのいずれかを設定するモード設定手段と、
前記モード設定手段によって設定されたモードで、他の情報処理装置と通信を行なう通信制御手段と、
前記モード設定手段によって設定されたモードが前記第１モードであるか前記第２モードであるかに関わらず、前記通信制御手段によって行なわれている通信を一時的に中断して、所定のデータを含むフレームをブロードキャストするフレーム送信手段とを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を有するゲーム装置からなるゲームシステム、当該ゲームシステムで実行される処理プログラムおよび処理方法、ならびに、当該ゲームシステムに向けられたゲーム装置および情報処理装置に関する。
【背景技術】
【０００２】
典型的な無線通信においては、予め用意された複数の通信チャネルのうち、周囲の通信状況などに応じて、いずれか１つの通信チャネルが選択されて、通信が行なわれる。このような無線通信では、複数の通信装置間で利用可能な通信チャネルを互いに探索して、接続を確立する必要がある。
【０００３】
例えば、特開２０１３−１４３５８４号公報（特許文献１）は、通信装置が探索要求信号（プローブ要求）を他の通信装置に対してブロード送信し、当該プローブ要求を受信した他の通信装置が、探索応答信号（プローブ応答）を当該プローブ求の送信元である通信装置へ送信することで、接続を確立する方法を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４３５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の先行技術文献に記載の発明においては、通信装置同士でデータの送受信を行なう場合には、プローブ要求およびプローブ応答を用いて、予め接続を確立しておく必要がある。
【０００６】
本技術は、複数のゲーム装置間で予め接続を確立していなくとも、各種のデータを比較的単純な手順で遣り取りできる構成を提供する。
【課題を解決するための手段】
【０００７】
ある実施の形態に従えば、第１および第２のゲーム装置を備えるゲームシステムが提供される。第１および第２のゲーム装置の各々は、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を含む。第１のゲーム装置は、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするとともに、当該ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続する。第２のゲーム装置は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。
【０００８】
第１のゲーム装置は、フレームをブロードキャストした後に、当該フレームを受信するゲーム装置との通信を行なわずに、即座に元の通信チャネルに切り替えてもよい。
【０００９】
第１のゲーム装置は、元の通信を継続しているときに、再度使用している通信チャネル以外の通信チャネルに切り替えて、フレームをブロードキャストしてもよい。
【００１０】
フレーム内の所定のデータは、第１のゲーム装置にて実行される通信を使用するゲームアプリケーションに関する情報を含んでいてもよい。
【００１１】
第２のゲーム装置は、第１のゲーム装置にて実行されるゲームアプリケーションとは異なるアプリケーションを実行している場合に、当該実行されているアプリケーション画像とともに、受信したフレームに含まれるゲームアプリケーションに関する情報を同時に表示するようにしてもよい。
【００１２】
第２のゲーム装置は、受信したフレームに含まれる所定のデータに基づく情報を表示してもよい。
【００１３】
第２のゲーム装置は、受信したフレームに基づいて、第１のゲーム装置が使用している通信チャネルに切り替えて、第１のゲーム装置との間で通信を行なってもよい。
【００１４】
第１のゲーム装置は、使用している通信チャネルにおいてもフレームをブロードキャストしてもよい。
【００１５】
第２のゲーム装置は、実行しているアプリケーションとは独立して、第１のゲーム装置からブロードキャストされるフレームをスキャンしてもよい。
【００１６】
第１のゲーム装置は、ユニキャストまたはマルチキャストでの通信を中断し、フレームをブロードキャストしてもよい。
【００１７】
マスターとして機能するゲーム装置とスレーブとして機能するゲーム装置との間で、通信チャネルを使用した通信が行なわれてもよい。第１のゲーム装置は、マスターおよびスレーブのいずれであっても、フレームをブロードキャストしてもよい。
【００１８】
フレーム内の所定のデータは、第１のゲーム装置が使用している通信チャネルの情報を含んでいてもよい。
【００１９】
フレーム内の所定のデータは、第１のゲーム装置が属している通信グループの識別情報を含んでいてもよい。第２のゲーム装置は、識別情報に基づいて、受信したフレームに含まれる所定のデータを利用するか否かを判断してもよい。
【００２０】
第２のゲーム装置は、先に受信したフレームに含まれるデータとは異なるデータを含むフレームを新たに受信すると、当該新たに受信したフレームに対して処理を実行してもよい。
【００２１】
別の実施の形態によれば、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を備えたゲーム装置で実行される処理プログラムが提供される。処理プログラムは、ゲーム装置に、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするステップを実行させる。他のゲーム装置は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。処理プログラムは、ゲーム装置に、さらに、ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続するステップを実行させる。
【００２２】
別の実施の形態によれば、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を備えたゲーム装置で実行される処理方法が提供される。処理方法は、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするステップを含む。他のゲーム装置は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。処理方法は、ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続するステップを含む。
【００２３】
別の実施の形態によれば、ゲーム装置が提供される。ゲーム装置は、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能と、使用している通信チャネル以外の通信チャネルに切り替えて、所定のデータを含むフレームをブロードキャストするとともに、当該ブロードキャスト後に元の通信チャネルに切り替えて元の通信を継続する手段とを含む。他のゲーム装置は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。
【００２４】
別の実施の形態によれば、情報処理装置が提供される。情報処理装置は、マスター装置として動作する第１モードとスレーブ装置として動作する第２モードのいずれかを設定するモード設定手段と、モード設定手段によって設定されたモードで、他の情報処理装置と通信を行なう通信制御手段と、モード設定手段によって設定されたモードが第１モードであるか第２モードであるかに関わらず、通信制御手段によって行なわれている通信を一時的に中断して、所定のデータを含むフレームをブロードキャストするフレーム送信手段とを含む。
【発明の効果】
【００２５】
本技術によれば、複数のゲーム装置間で予め接続を確立していなくとも、各種のデータを比較的単純な手順で遣り取りできる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態に従うゲームシステムの概要を説明するための図である。
【図２】本実施の形態に従うゲームシステムに含まれるゲーム装置のハードウェア構成を示す模式図である。
【図３】本実施の形態に従うゲーム装置がフレームをブロードキャストする際のシーケンスを示すタイムチャートである。
【図４】本実施の形態に従うゲームシステムの利用形態の一例を説明するための模式図である。
【図５】本実施の形態に従うゲームシステムの利用形態の別の一例を説明するための模式図である。
【図６】図５に示す状態において、通信グループ２に属するゲーム装置が通信グループ１に参加した状態を示す模式図である。
【図７】本実施の形態に従うゲーム装置が送信するフレームのデータ構造の一例を示す模式図である。
【図８】本実施の形態に従うゲームシステムに含まれるゲーム装置のソフトウェア構成を示す模式図である。
【図９】本実施の形態に従うゲームシステムにおいて実行される処理手順を示すフローチャートである。
【図１０】図９に示される受信処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２７】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２８】
［Ａ．ゲームシステム］
本実施の形態に従うゲームシステム１の概要について説明する。図１は、本実施の形態に従うゲームシステム１の概要を説明するための図である。
【００２９】
図１を参照して、ゲームシステム１は、無線通信により互いに情報を遣り取り可能な複数のゲーム装置１００，１５０−１，１５０−２，１５０−３，…，２００，…を含む。ゲーム装置の各々は、一種の情報処理装置であって、予め定められた複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信を行なう通信機能を有している。ゲーム装置の各々は、実行されるアプリケーションに応じて、他のゲーム装置との間で無線通信が可能になっている。
【００３０】
無線通信としては、例えば、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１１規格に従う無線ＬＡＮ（Local Area Network）、ＩＥＥＥ８０２．１５．１規格に従うＢｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１５．４規格に従うＺｉｇＢｅｅ（登録商標）、赤外線通信などの近距離無線方式を用いることができる。あるいは、ＬＴＥ（Long Term Evolution）規格下の端末間（Ｄ２Ｄ：Device to Device）通信などを用いることができる。
【００３１】
図１には、ゲーム装置１００およびゲーム装置１５０−１〜１５０−３が通信によりデータを遣り取りするアプリケーションを実行しており、これらのゲーム装置が同一の通信グループを形成している状態を示す。
【００３２】
通信グループの一形態として、通信グループに属する複数のゲーム装置のうち、１つのゲーム装置がマスターとして機能し、その他のゲーム装置がスレーブとして機能する。本明細書において、「マスター」および「スレーブ」とは、主として通信処理における区別（順位）を付けるために用いる属性を意味する。すなわち、「マスター」および「スレーブ」は、一種のモードに相当する。
【００３３】
複数のゲーム装置のうち、「マスター」として機能するゲーム装置を予め定められた規則に従って固定的に決定してもよいし、所定の時間間隔または所定のイベント毎に、「マスター」として機能するゲーム装置を規則的または不規則的に決定してもよい。「マスター」として機能するゲーム装置以外のゲーム装置は、「スレーブ」として機能することになる。このように、ゲーム装置の各々は、内部判断または外部からの指令に応じて、マスター装置として動作する「マスター」モードとスレーブ装置として「スレーブ」モードのいずれかを設定するモード設定機能を有している。
【００３４】
例えば、「マスター」は、対象の通信グループにおいて使用される通信チャネルや当該通信グループを特定する識別情報などを管理するとともに、「スレーブ」の送信タイミングなどを制御してもよい。「スレーブ」は、「マスター」からの指示に従って、送信すべきデータを送信する。一般的には、ゲーム装置の各々は、マスターおよびスレーブのいずれとしても機能できるようになっており、各ゲーム装置でのアプリケーションの実行タイミングや実行内容などに応じて、マスターとして機能するゲーム装置が決定される。例えば、あるゲーム装置において何らかのアプリケーションが実行され、当該ゲーム装置のユーザがゲームへの参加を呼び掛けるとともに、他のゲーム装置のユーザが当該呼び掛けに応答することで、通信グループが形成されるような場合には、最初の参加を呼び掛けたゲーム装置がマスターとして機能することにしてもよい。なお、特定のゲーム装置のみがマスターとして機能できるようにしてもよい。このように、ある通信グループにおいては、マスターとして機能するゲーム装置とスレーブとして機能するゲーム装置との間で、通信チャネルを使用した通信が行なわれる。
【００３５】
このように、各ゲーム装置は、設定されたモード（「マスター」または「スレーブ」）で、他のゲーム装置（情報処理装置）との間で通信を行なうことになる。
【００３６】
例えば、「マスター」として機能するゲーム装置は、自端末の識別子を含む所定のビーコン信号を断続的に送信することで、「スレーブ」として機能するゲーム装置に対して通信グループの検知および監視を行なわせるようにしてもよい。
【００３７】
なお、「マスター」と「スレーブ」との区分に類似して、「親機」と「子機」との区分を採用してもよい。
【００３８】
以下の説明においては、ある通信グループに属するゲーム装置を「マスター」（あるいは、「マスター装置」）または「スレーブ」（あるいは、「スレーブ装置」）とその機能に着目して区別して参照することもある。
【００３９】
図１に示す状態において、ゲーム装置の各々は、複数の通信チャネル（チャネルＡ，チャネルＢ，チャネルＣ，…）のうちいずれかの通信チャネルを利用することが可能であり、ゲーム装置１００およびゲーム装置１５０−１〜１５０−３を含む通信グループでは、チャネルＡを使用してデータを遣り取りしているとする。このような状態において、ゲーム装置１００は、ゲーム装置１５０−１〜１５０−３との間のチャネルＡでの通信を一時的に中断し、他の通信チャネルにて任意のデータを含むフレームをブロードキャストする。ゲーム装置１００は、使用している通信チャネル（チャネルＡ）以外の通信チャネル（チャネルＢ，チャネルＣ，…）に切り替えて、所定のデータを含むフレームをブロードキャストする。一連のブロードキャストが終了すると、元の通信チャネルに切り替えて元の通信を継続する。
【００４０】
ここで、ゲーム装置２００は、チャネルＢを使用して通信を行なっている状態であるとする。ゲーム装置２００は、ゲーム装置１００から通信チャネルを異ならせて順次送信されるいずれかのフレームを受信すると、当該受信したフレームを処理して、必要に応じて処理結果を表示または出力する。図１に示す例では、ゲーム装置２００は、ゲーム装置１００がチャネルＢにてブロードキャストされたフレームを受信することができる。このように、ゲーム装置２００は、使用している通信チャネルにてフレームを受信すると、当該受信したフレームに対する処理を実行する。
【００４１】
ゲーム装置１００がブロードキャストするフレームに含まれるデータは、特に限定されないが、例えば、ゲーム装置１００を含む通信グループ内で実行されている通信を使用するアプリケーション（ゲームアプリケーション）に関する情報を含んでいてもよい。より具体的には、実行されているアプリケーション（ゲームアプリケーション）の経過情報、勝敗、参加しているユーザ、新たに参加するユーザを募集しているか否か、などの情報を含み得る。ゲーム装置２００は、このような情報を含むフレームを受信すると、当該受信した情報をゲーム装置２００のディスプレイなどで通知してもよい。このような通知を見て、ゲーム装置２００のユーザは、ゲーム装置１００を含む通信グループに参加することもできるようにしてもよい。
【００４２】
図１に示す例では、ゲーム装置２００は、ゲーム装置１００およびゲーム装置１５０−１〜１５０−３とは異なる通信チャネルにて通信を行なっているが、ゲーム装置１００からブロードキャストされるフレームを受信することで、ゲーム装置１００を含む通信グループで実行されているアプリケーションの情報などを受信することができる。このように、本実施の形態に従うゲームシステム１では、複数のゲーム装置間で予め接続を確立していなくとも、各種のデータを比較的単純な手順で遣り取りできる。
【００４３】
説明の便宜上、図１には、ゲーム装置１００がゲーム装置１５０−１〜１５０−３との間で通信グループを形成している例を示すが、必ずしも通信グループを形成している必要はない。例えば、ゲーム装置１００が通信を使用する何らかのアプリケーションを実行中に、ある通信チャネルにてアクセスポイントに接続されているような場合においても、他のゲーム装置に対して、フレームを送信するようにしてもよい。
【００４４】
また、フレームを受信するゲーム装置（図１に示す例では、ゲーム装置２００）は、例えば、スタンバイ状態などの非通信状態であってもよい。ゲーム装置２００は、スタンバイ状態において、所定周期毎またはイベント毎に通信機能をアクティブ化して、何らかのデータを受信するか否かの確認（スキャン動作）を行なうようにしてもよい。
【００４５】
上述したようなフレームのブロードキャストは、例えば、無線ＬＡＮにおいて定義されているアクションフレーム（Action Frames）を用いて実現してもよいし、Ｂｌｕｅｔｏｏｔｈにおいて定義されているＢｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）のＡｄｖｅｒｔｉｓｉｎｇパケットを用いて実現してもよい。
【００４６】
図１には、説明の便宜上、マスターとして機能するゲーム装置１００のみがフレームをブロードキャストする構成について例示したが、スレーブとして機能するゲーム装置１５０−１〜１５０−３の一部または全部についても、フレームをブロードキャストするようにしてもよい。この点については、以下の説明においても同様である。このとき、同一の通信グループに属する他のゲーム装置からブロードキャストされたフレームについては、実質的な処理を行なわず、受信したフレームを廃棄するという処理を行なうようにしてもよい。
【００４７】
マスターおよびスレーブからそれぞれ送信されるフレームに含まれるデータは実質的に同一であってもよいが、それぞれの機能に応じたデータを含ませるようにしてもよい。例えば、マスターからブロードキャストされるフレームには、通信グループおよび使用されている通信チャネルなどのネットワークに関する情報を含め、スレーブからブロードキャストされるフレームには、スレーブとして機能しているゲーム装置のユーザに関する情報（当該ユーザのプロフィール、当該ユーザに対応するキャラクタ情報など）を含めるようにしてもよい。
【００４８】
また、スレーブとして機能するゲーム装置は、マスターからの指示を受けて、フレームをブロードキャストするようにしてもよいし、マスターとは独立して、独自の条件に従って、フレームをブロードキャストするようにしてもよい。
【００４９】
このように、特定のゲーム装置の間でローカル通信を行なっている場合であっても、他の通信グループに属するゲーム装置または通信を行なっていないゲーム装置との間で、より自由に情報を交換することができる。
【００５０】
［Ｂ．ゲーム装置のハードウェア構成］
次に、ゲームシステム１に含まれるゲーム装置のハードウェア構成について説明する。典型的には、ゲーム装置の各々は、いずれも同一のハードウェア構成を有しているとし、以下では、ゲーム装置１００を例にして説明する。すなわち、図１に示すゲーム装置１５０およびゲーム装置２００についても、ゲーム装置１００と同一のハードウェア構成を有している場合を典型例として説明する。但し、ゲーム装置が互いに異なるハードウェア構成を有していてもよい。
【００５１】
図２は、本実施の形態に従うゲームシステム１に含まれるゲーム装置１００のハードウェア構成を示す模式図である。ゲーム装置１００は、通信機能を有する任意のコンピュータを用いることができるが、以下では、携帯型（あるいは、可搬型）のゲーム装置として実装した例について説明するが、これに限らず、据置型のゲーム装置として実装されてもよい。
【００５２】
図２を参照して、ゲーム装置１００は、プロセッサ１０２と、主記憶部１０４と、補助記憶部１０６と、外部インターフェイス１１２と、ディスプレイ１１４と、操作部１１６と、音声出力部１１８と、無線通信部１２０と、加速度センサ１２２と、ジャイロセンサ１２４とを含む。これらのコンポーネントは、バス１２６を介して、互いにデータ通信可能に接続されている。
【００５３】
プロセッサ１０２は、ゲーム装置１００が提供する処理を実行するための処理主体（処理手段）である。プロセッサ１０２は、補助記憶部１０６に格納されているオペレーティングシステム（ＯＳ）１０８およびアプリケーションプログラム１１０を読み込んで主記憶部１０４に展開して、後述するようなゲーム処理情報処理を実行する。
【００５４】
主記憶部１０４は、プロセッサ１０２がアクセス可能な任意の記憶装置（記憶媒体）であり、例えば、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性記憶装置を用いて実装される。
【００５５】
補助記憶部１０６は、例えば、ハードディスクやフラッシュメモリなどの不揮発性記憶媒体を用いて実装される。あるいは、補助記憶部１０６は、例えば、光ディスクおよびカートリッジなどのゲーム装置１００に着脱可能な記憶媒体を用いて実装してもよい。この場合、ゲーム装置１００と任意の記憶媒体との組み合わせがゲームシステムとして構成されてもよい。
【００５６】
外部インターフェイス１１２は、任意のメモリカードまたは外部装置などとの間のデータの遣り取りを仲介する。外部インターフェイス１１２は、例えば、メモリカードと電気的に接続してデータの読み書きを行なうリーダライタ、外部装置との間でデータを遣り取りするＵＳＢ（Universal Serial Bus）インターフェイスなどを用いて実装される。
【００５７】
ディスプレイ１１４は、プロセッサ１０２で実行される情報処理の結果として生成される画像を表示する。ディスプレイ１１４には、他の装置から受信した画像が表示される場合もある。ディスプレイ１１４の数は複数であってもよい。また、１または複数の他のディスプレイをゲーム装置１００が利用する構成であってもよい。
【００５８】
操作部１１６は、主として、ゲーム装置１００のユーザからの操作を受け付ける。操作部１１６は、例えば、押ボタン、操作レバー、タッチパネル、マウスなどを用いて実装される。操作部１１６は、ゲーム装置１００とは別体の、有線または無線で接続されるコントローラであってもよい。
【００５９】
音声出力部１１８は、プロセッサ１０２で実行される情報処理の結果として生成される音声を出力する。音声出力部１１８には、他の装置から受信した音声が出力される場合もある。音声出力部１１８は、例えば、ディスプレイ周辺に配置された１または複数のスピーカと、当該スピーカを駆動するアンプとを用いて実装される。あるいは、音声出力部１１８は、ヘッドフォンと電気的に接続するためのコネクタと、コネクタと介して接続されるヘッドフォンを駆動するアンプとを用いて実装されてもよい。
【００６０】
無線通信部１２０は、他の装置との間で無線信号を介してデータを送受信する。無線通信部１２０は、例えば、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ、ＺｉｇＢｅｅ、赤外線通信などの通信方式をサポートする。図２には、無線通信部１２０のブロックを集合的に描くが、複数種類の無線通信機能が実装されていてもよいし、単一種類の無線通信機能が宛先に応じて複数用意されていてもよい。なお、無線通信部１２０はプロセッサ１０２と一体化されていてもよい。
【００６１】
加速度センサ１２２は、ゲーム装置１００に生じる加速度を検出するデバイスである。ジャイロセンサ１２４は、ゲーム装置１００の傾きなどを検出するデバイスである。加速度センサ１２２およびジャイロセンサ１２４の少なくとも一方もしくは両方を用いて、ゲーム装置１００を把持してユーザが行なう動作を検出することができる。
【００６２】
図２には、ゲーム装置１００を一体の装置として描くが、複数の装置の集合体として実装してもよい。すなわち、ゲーム装置１００を複数の独立した装置の組み合わせによって実装してもよい。例えば、プロセッサ１０２、ディスプレイ１１４、操作部１１６、および、音声出力部１１８に相当するエレメントを有する第１の装置と、無線通信部１２０に相当するエレメントを有する第２の装置とを着脱可能に接続される構成であってもよい。このような構成は、ゲーム装置に代えて、ゲームシステムと称されてもよい。あるいは、プロセッサ１０２、主記憶部１０４、補助記憶部１０６に相当するエレメントを有する本体装置と、ディスプレイ１１４、操作部１１６、音声出力部１１８を有する端末装置とが別体である構成を採用してもよい。
【００６３】
他の実施形態として、ゲーム装置１００において実行される情報処理の少なくとも一部が、ネットワーク（広域ネットワークおよび／またはローカルネットワーク）上に分散配置された１または複数の他の装置によって実行されるようにしてもよい。
【００６４】
さらに、図２に示すようなゲーム装置１００に代えて、携帯電話、スマートフォン、タブレット、汎用的なパーソナルコンピュータ上でアプリケーションを実行させることで、本明細書において説明するゲーム装置１００が有する機能と同様の機能を実現するようにしてもよい。
【００６５】
［Ｃ．フレームのブロードキャストシーケンス］
次に、本実施の形態に従うゲーム装置に実装されるフレームのブロードキャストに係るシーケンスについて説明する。図３は、本実施の形態に従うゲーム装置がフレームをブロードキャストする際のシーケンスを示すタイムチャートである。
【００６６】
図３を参照して、３つのゲーム装置１００，２００，３００は、互いに通信可能な距離内に存在しているとする。例えば、ゲーム装置１００はチャネルＡにて他のゲーム装置などとの間で通信を行なっており、ゲーム装置２００はチャネルＢにて他のゲーム装置などとの間で通信を行なっているとする。
【００６７】
ゲーム装置１００およびゲーム装置２００は、インターネットなどに接続するために、アクセスポイントとの間で通信を行なっている場合もある。すなわち、ゲーム装置がインターネット接続している場合であっても、近くに存在するゲーム装置からブロードキャストされるフレームを受信できるようにしてもよい。
【００６８】
一方、ゲーム装置３００は、通信を使用するアプリケーションを実行していないとする。但し、ゲーム装置３００の無線通信部１２０の物理層およびデータリンク層は周期的または連続的にアクティブに維持されており、送信されるフレームの有無を所定周期毎に探索する、バックグラウンドスキャンを実行しているとする。
【００６９】
説明の簡素化のため、図３に示す例では、チャネルＡ、チャネルＢ、チャネルＣの３つの通信チャネルを使用できる場合につい例示する。
【００７０】
ゲーム装置１００および２００は、他のゲーム装置などとの間で通信を行なう際には、典型的には、ユニキャストにて特定の１つの宛先へデータを送信するようにしてもよいし、マルチキャストにて特定の複数の宛先へデータを送信してもよい。すなわち、複数の通信チャネルのうち、１つの通信チャネル（主たる通信チャネル）を使用して通信を行なっている場合には、ブロードキャストのように不特定の宛先へデータを送信するのではなく、特定の１または複数の宛先へデータを送信するようになっている。
【００７１】
このような通信状態において、ゲーム装置１００は、主たる通信に使用しているチャネルＡを含めて、３つの通信チャネルを順次切り替えてフレームを周期的にブロードキャストする。具体的には、ゲーム装置１００は、あるタイミングでチャネルＡにてフレームをブロードキャストする（符号１１参照）。その後、ゲーム装置１００は、チャネルＢにてフレームをブロードキャストする（符号１２参照）。このチャネルＢでのフレームのブロードキャスト後、元の通信チャネル（チャネルＡ）に切り替えて通信が継続される。さらにその後、ゲーム装置１００は、チャネルＣにてフレームをブロードキャストする（符号１３参照）。このチャネルＣでのフレームのブロードキャスト後、元の通信チャネル（チャネルＡ）に切り替えて通信が継続される。
【００７２】
あるゲーム装置は、いずれかの通信チャネルでフレームをブロードキャストした後、当該ブロードキャストされたフレームを受信するかもしれない他のゲーム装置との間で確認応答（Acknowledgement）などを受信するような処理は行なわず、元の通信処理を継続することが好ましい。これは、フレームをブロードキャストする処理が割り込むことによって、本来の通信処理のパフォーマンスを低下させないようにするためである。このように、ゲーム装置１００は、フレームのブロードキャスト後に、当該フレームを受信し得る他のゲーム装置との通信を行なうことなく、即座に元の通信チャネルに切り替える。
【００７３】
ゲーム装置１００では、このようなフレームのブロードキャストが繰り返される。図３に示すように、ゲーム装置１００は、使用している通信チャネルにおいてもフレームをブロードキャストする。すなわち、使用可能な通信チャネルのすべてにおいてフレームをブロードキャストすることで、周囲に存在するゲーム装置に対して各種の通知を行なうことができる。但し、ゲーム装置１００は、使用している通信チャネルにおいてはユニキャストまたはマルチキャストで通信しており、同一の通信チャネルにおいてフレームを送信する場合には、ユニキャストまたはマルチキャストでの通信を一時的に中断することになる。例えば、図１に示す例において、ゲーム装置１００は、チャネルＡでのユニキャストまたはマルチキャストでの通信を中断し、チャネルＡにおいてフレームをブロードキャストすることになる。
【００７４】
このようなチャネルＡ〜チャネルＣをそれぞれ用いたブロードキャストは、例えば、周期Ｔ２で順次繰り返し行なわれる。各通信チャネルでのフレームのブロードキャストが完了すると、元の通信チャネルでの通信が再開されるので、各フレームのブロードキャストに要する時間Ｔ１は、フレームのブロードキャストに要する時間に応じて固定的に定まる（例えば、１ｍｓｅｃ）ことになる。但し、フレームのブロードキャストを冗長的に実行できるように、各フレームのブロードキャストに要する時間Ｔ１を任意に設定できるようにしてもよい。この場合、時間Ｔ１の期間内において、フレームを複数回ブロードキャストするようにしてもよい。
【００７５】
図３に示すように、ゲーム装置１００は、フレームをブロードキャスト後に、本来の通信チャネルであるチャネルＡに切り替えて、通信を継続する。そして、ゲーム装置１００は、その元の通信を継続しているときに、再度、使用している通信チャネル（チャネルＡ）以外の別の通信チャネル（図３に示す例では、チャネルＢまたはチャネルＣ）に切り替えて、フレームをブロードキャストする。
【００７６】
同様に、ゲーム装置２００は、主たる通信に使用しているチャネルＢを含めて、３つの通信チャネルを順次切り替えてフレームを周期的にブロードキャストする。具体的には、ゲーム装置２００は、あるタイミングでチャネルＡにてフレームをブロードキャストする（符号２１参照）。このチャネルＡでのフレームのブロードキャスト後、元の通信チャネルＢに切り替えて通信が継続される。その後、ゲーム装置２００は、チャネルＢにてフレームをブロードキャストする（符号２２参照）。さらにその後、ゲーム装置２００は、チャネルＣにてフレームをブロードキャストする（符号２３参照）。このチャネルＣでのフレームのブロードキャスト後、元の通信チャネルＢに切り替えて通信が継続される。
【００７７】
ゲーム装置１００がフレームをブロードキャストする周期と、ゲーム装置２００がフレームをブロードキャストする周期とは、同一にしてもよいし、異なるものとしてもよい。ブロードキャストする周期が同一であっても、ゲーム装置間では、その開始タイミングなどの同期を取らないので、通常は、各々のゲーム装置が異なるタイミングでフレームをブロードキャストすることになる。
【００７８】
図３に示す例では、ゲーム装置１００がチャネルＢにてフレームをブロードキャストしたタイミング（符号１２参照）において、ゲーム装置２００はチャネルＢにて通信を行なっているので、ゲーム装置２００は、ゲーム装置１００からブロードキャストされたフレームを受信することができる。
【００７９】
一方、ゲーム装置２００がチャネルＡにてフレームをブロードキャストしたタイミング（符号２１参照）において、ゲーム装置１００はチャネルＡにて通信を行なっているので、ゲーム装置１００は、ゲーム装置２００からブロードキャストされたフレームを受信することができる。
【００８０】
図３に示すように、各ゲーム装置は、設定されたモードが「マスター」であるか「スレーブ」であるかに関わらず、先に通信機能によって行なわれている通信を一時的に中断して、所定のデータを含むフレームをブロードキャストする機能を有している。このように、ゲーム装置１００およびゲーム装置２００は、それぞれ異なる通信チャネルにて他のゲーム装置などとの間でそれぞれ通信を行なっているが、ブロードキャストされるフレームに含まれる互いの情報を取得することができる。
【００８１】
また、ゲーム装置３００は、周期的またはイベント毎にバックグラウンドスキャンを行なっており、使用可能な通信チャネルにおいて送信されているデータを探索し、何らかのデータを受信できれば、その受信したデータに対して必要な処理を行なうことができる。
【００８２】
図３に示す例では、ゲーム装置３００は、周期Ｔ４毎にバックグランドスキャンを行なう。バックグランドスキャンの一例として、ゲーム装置３００は、時間Ｔ３に亘ってチャネルＡで受信待ちを行ない、その後、時間Ｔ３に亘ってチャネルＢで受信待ちを行ない、その後、時間Ｔ３に亘ってチャネルＣで受信待ちを行なう（符号３１参照）。そして、ゲーム装置３００は、所定期間だけ休止の状態（スリープ状態）で待ち、再度同様に、時間Ｔ３に亘ってチャネルＡで受信待ちを行ない、その後、時間Ｔ３に亘ってチャネルＢで受信待ちを行ない、その後、時間Ｔ３に亘ってチャネルＣで受信待ちを行なう（符号３２参照）。このような時間Ｔ３毎に通信チャネルを切り替えて各通信チャネルで受信待ちを行なうことで、他のゲーム装置から送信されるフレームなどを受信することができる。
【００８３】
図３には、３つの通信チャネルを連続的に切り替える方法について例示したが、これに限らず、周期Ｔ４毎に通信チャネルを切り替えるような方法を採用してもよい。すなわち、チャネルＡで受信待ちを行なった後、周期Ｔ４だけ休止の状態（スリープ状態）で待ち、続いて、チャネルＢで受信待ちを行なうといったシーケンスを採用してもよい。
【００８４】
図３に示す例では、ゲーム装置３００は、最初のバックグランドスキャン（符号３１参照）においてチャネルＡで受信待ちを行なっている期間内に、ゲーム装置１００からチャネルＡにてブロードキャストされたフレームを受信することができる。また、ゲーム装置３００は、２番目のバックグランドスキャン（符号３２参照）においてチャネルＢで受信待ちを行なっている期間内に、ゲーム装置２００からチャネルＣにてブロードキャストされたフレームを受信することができる。
【００８５】
バックグラウンドスキャンは、ゲーム装置３００の電源が完全に遮断されていなければ、実行されるようにしてもよい。例えば、ゲーム装置３００において、何らかのアプリケーションが実行されているか否かに関わらず、バックグランドスキャンが繰り返し実行されてもよい。すなわち、ゲーム装置３００は、実行しているアプリケーションとは独立して、ゲーム装置１００またはゲーム装置２００からブロードキャストされるフレームをスキャンするようにしてもよい。
【００８６】
説明の便宜上、図３においては、送信されるフレームのみを図示するが、フレームの送信に先だって、通信チャネルの情報などを含むビーコンを所定期間に亘って送信してもよい。このようなビーコンの送信により、受信待ちの状態であるゲーム装置での受信をより確実にできる。
【００８７】
このように、通信を使用するアプリケーションを実行していないゲーム装置３００であっても、他のゲーム装置からブロードキャストされるフレームを受信し、当該受信したフレームに含まれる情報を取得することができる。
【００８８】
なお、上述の説明においては、ゲーム装置１００が通信を使用するアプリケーションを実行している場合に、各チャネルにてフレームをブロードキャストする処理を例示したが、ゲーム装置１００が通信を使用するアプリケーションを実行していない場合であっても、定期的に、各チャネルにてフレームをブロードキャストするようにしてもよい。
【００８９】
［Ｄ．応用例］
次に、上述のようなフレームによる通知の応用例のいくつかについて説明する。
【００９０】
（ｄ１：実施中のゲームアプリケーションの通知および参加）
図４は、本実施の形態に従うゲームシステム１の利用形態の一例を説明するための模式図である。
【００９１】
図４（Ａ）には、ゲーム装置１００およびゲーム装置１５０において通信を使用するゲームアプリケーションが実行されている例を示す。具体的には、ゲーム装置１００がマスターとして機能し、ゲーム装置１５０がスレーブとして機能しつつ、対戦型のゲームアプリケーションをそれぞれのユーザがプレイしている状態を示す。一方で、ゲーム装置２００では、何らのアプリケーションも実行されていないとする。但し、ゲーム装置２００では、バックグランドスキャンが行なわれており、他のゲーム装置などから送信されるフレームが周期的に探索されている。
【００９２】
このような状態において、ゲーム装置２００がゲーム装置１００から何らかのフレームを受信したとする。このフレームには、ゲーム装置１００にて実行される通信を使用するゲームアプリケーションに関する情報が含まれているとする。すると、図４（Ｂ）に示すように、ゲーム装置２００は、受信したフレームの内容に応じて、ユーザに対する通知動作を行なう。この通知動作としては、例えば、ゲーム装置２００の表面に露出して配置されている任意のインジケータの点灯／点滅（符号２１０参照）、ゲーム装置２００に装着されているマイクからの通知音の発生（符号２１２参照）、および、ゲーム装置２００本体の震動（符号２１４）などであってもよい。すなわち、ユーザに対して、視覚的、聴覚的、触覚的な刺激を与えることで、受信したフレームに基づく通知を行なうようにしてもよい。
【００９３】
例えば、ゲーム装置１００からブロードキャストされたフレームには、ゲーム装置１００で実行されているゲームアプリケーションの情報などが含まれており、この情報に基づいて、ゲーム装置２００のディスプレイには、「近くでレースゲームが開催されています！」といったメッセージ２０２が表示されてもよい。
【００９４】
ゲーム装置２００では、このようなメッセージ２０２に応答して、その実行されているゲームアプリケーションの観戦または参加の操作を受け付ける画面が表示されてもよい。そして、図４（Ｃ）に示すように、ゲーム装置２００もゲーム装置１００およびゲーム装置１５０が構成する通信グループに参加し、ゲーム装置２００においてゲームアプリケーションを実行できるようにしてもよい。
【００９５】
ゲーム装置１００からブロードキャストされたフレームに含まれるデータには、ゲーム装置１００が使用している通信チャネルの情報が含まれる。ゲーム装置２００は、このフレーム内の通信チャネルの情報に基づいて、参加先の通信グループで使用される通信チャネルを特定することになる。なお、通信チャネルの情報は、ゲーム装置１００からブロードキャストされたフレームに加えて、あるいは、フレームに代えて、ビーコンなどに含めて送信されるようにしてもよい。
【００９６】
（ｄ２：他の通信グループで実施中のアプリケーションの通知および参加）
図５は、本実施の形態に従うゲームシステム１の利用形態の別の一例を説明するための模式図である。図５には、２つの通信グループが形成されている例を示す。具体的には、通信グループ１は、マスターとして機能するゲーム装置１００ならびにスレーブとして機能するゲーム装置１５０−１および１５０−２からなり、通信グループ２は、マスターとして機能するゲーム装置２００ならびにスレーブとして機能するゲーム装置２５０からなる。
【００９７】
通信グループ１において、通信を使用するゲームアプリケーションが実行されているとする。また、通信グループ２においては、通信グループ１において実行されるゲームアプリケーションとは異なるアプリケーションが実行されているとする。
【００９８】
各通信グループのマスターとして機能するゲーム装置から送信されるフレームには、各ゲーム装置にて実行される通信を使用するゲームアプリケーションに関する情報が含まれているとする。例えば、通信グループ１のマスターであるゲーム装置１００からブロードキャストされたフレームを通信グループ２のマスターであるゲーム装置２００が受信することで、ゲーム装置２００には、通信グループ１で実行されているゲームアプリケーションの状況などが通知されてもよい。
【００９９】
すなわち、ゲーム装置２００は、ゲーム装置１００にて実行されるゲームアプリケーションとは異なるアプリケーションを実行している場合に、当該実行されているアプリケーション画像とともに、受信したフレームに含まれるゲーム装置１００において実行されるゲームアプリケーションに関する情報を同時に表示してもよい。具体的な一例として、「グループ１：ＸＸＸグランプリ」といったゲーム装置１００において実行されているアプリケーションの名前や、「参加者：ユーザＡ，ユーザＢ，ユーザＣ」といった参加しているユーザの名前などを含むメッセージ２０４が表示されてもよい。
【０１００】
さらに、ゲーム装置２００で受信したフレームに基づく情報をスレーブであるゲーム装置２５０に対して配信するようにしてもよい。この場合、ゲーム装置２５０においても、ゲーム装置２００において表示されているのと同様のメッセージ２０６が表示されてもよい。なお、ゲーム装置２５０に表示されるメッセージ２０６の内容は、ゲーム装置２００において表示される内容と同一である必要はなく、さらに多くの情報を同時に表示するようにしてもよいし、より簡略的に表示するようにしてもよい。
【０１０１】
このように、フレームを受信したゲーム装置は、その受信したフレームに含まれるデータに基づく情報を表示する。このような情報の表示によって、他の通信グループにおけるゲームアプリケーションの状況を自通信グループに属するゲーム装置間でシェアすることができ、他の通信グループへの参加などのきっかけをつくり、ゲームアプリケーションの楽しみを広げることができる。
【０１０２】
さらに、図５に示す状態において、通信グループ２に属する一部または全部のゲーム装置が通信グループ１に参加するようにしてもよい。図６は、図５に示す状態において、通信グループ２に属するゲーム装置が通信グループ１に参加した状態を示す模式図である。
【０１０３】
図６に示すように、例えば、ゲーム装置２００およびゲーム装置２５０のそれぞれのユーザが、通信グループ１に属するゲーム装置１００からブロードキャストされたフレームに含まれるデータに基づくメッセージを見て、通信グループ１で実行されているゲームアプリケーションに参加する操作を行なうこともできる。
【０１０４】
例えば、通信グループ１ではチャネルＡにて通信を行なっており、通信グループ２ではチャネルＢにて通信を行なっていたとする。この場合、通信グループ２に属していたゲーム装置２００およびゲーム装置２５０は、使用する通信チャネルをチャネルＢからチャネルＡに切り替えて元の通信を継続することになる。すなわち、ゲーム装置２００およびゲーム装置２５０は、受信したフレームに基づいて、ゲーム装置１００が使用している通信チャネルに切り替えて、ゲーム装置１００との間で通信を行なう。
【０１０５】
上述したように、ゲーム装置１００からブロードキャストされたフレーム内のデータは、ゲーム装置１００が使用している通信チャネルの情報を含んでいてもよい。このような通信チャネルの情報を含ませることで、フレームを受信したゲーム装置がフレームをブロードキャストしたゲーム装置が属している通信グループに参加する際の処理をより簡素化できる。
【０１０６】
（ｄ３：実施中のゲームアプリケーションの観戦）
上述の説明においては、ブロードキャストされたフレームを受信したゲーム装置が当該フレームをブロードキャストしたゲーム装置が属する通信グループに参加する処理例について説明したが、当該通信グループにおいて実行されているゲームアプリケーションの状況を観戦するだけの処理を選択可能にしてもよい。すなわち、参加の場合には、参加したゲーム装置においてゲームの経過情報が表示されるとともに、当該ゲーム装置に対するユーザ操作が他のゲーム装置へも送信されることになる。一方、観戦の場合には、観戦しているゲーム装置に対してゲームの経過情報の情報が提供されるものの、当該ゲーム装置に対するユーザ操作は他のゲーム装置へ送信されない。
【０１０７】
つまり、参加および観戦のいずれの場合においても、ゲーム装置で実行されるゲームアプリケーションのゲーム進行に応じて生成される画像データおよび音声データなどの情報が参加または観戦しているゲーム装置へ継続的に送信される。参加の場合には、新たに参加するゲーム装置に与えられたユーザ操作が当該ゲーム装置から関連する他のゲーム装置へ送信されるように通信処理が切り替えられる。
【０１０８】
但し、いずれの場合においても、基本的には、参加または観戦先の通信グループにて使用されている通信チャネルに切り替える必要がある。
【０１０９】
上述した応用例は、あくまでも一例にすぎず、本実施の形態に従うフレームによる通知はさまざまな局面での応用が可能である。
【０１１０】
［Ｅ．フレームのデータ構造］
次に、本実施の形態に従うゲーム装置が送信するフレームのデータ構造の一例について説明する。図７は、本実施の形態に従うゲーム装置が送信するフレーム５０のデータ構造の一例を示す模式図である。図７には、典型例として、ＩＥＥＥ８０２．１１規格に従う無線ＬＡＮを用いて実装した場合に用いられるフレーム５０の構造例を示す。
【０１１１】
図７を参照して、フレーム５０は、ＭＡＣ（Media Access Control address）ヘッダ部５１と、カテゴリ部５２と、ベンダＯＵＩ（Organizationally Unique Identifier）部５３と、サブタイプ部５４と、長さ部５５と、データ部５６と、ＦＣＳ（Frame Check Sequence）部５７とを含む。
【０１１２】
ＭＡＣヘッダ部５１は、典型的には、通信グループを特定する識別子として、ＢＳＳＩＤ（Basic Service Set IDentifier）を格納する。このＢＳＳＩＤは、典型的には、マスターとして機能するゲーム装置が有するＭＡＣアドレスが用いられる。フレーム５０内のデータとして、フレーム５０をブロードキャストするゲーム装置が属している通信グループの識別情報を含むことになる。フレーム５０を受信したゲーム装置は、ＭＡＣヘッダ部５１に格納されるＢＳＳＩＤの値に基づいて、他の通信グループから送信されたフレーム５０であるか否かを判断することができる。すなわち、フレーム５０を受信したゲーム装置は、フレーム５０内の識別情報に基づいて、受信したフレーム５０に含まれる所定のデータを利用するか否かを判断するようにしてもよい。例えば、ある通信グループに属するゲーム装置が、同一の通信グループに属する他のゲーム装置から送信されたフレーム５０を受信したとしても、そのフレーム５０を破棄する処理を実行する一方で、他の通信グループに属するゲーム装置から送信されたフレーム５０については表示などに用いる処理を実行するようにしてもよい。つまり、同一の通信グループ内でフレームが送受信されることがあるが、ＢＳＳＩＤやＭＡＣアドレスなどに基づいて、そのようなフレームの情報を使用しないことで、フレームに対する処理をより効率化できる。
【０１１３】
カテゴリ部５２は、ベンダ特有の情報を格納する。基本的には、カテゴリ部５２には、ゲーム装置の製造者などに応じた特殊値が設定される。ベンダＯＵＩ部５３は、典型的には、ベンダを特定するための情報を格納する。基本的には、ベンダＯＵＩ部５３には、ゲーム装置の製造者などに応じた固有値が設定される。
【０１１４】
本実施の形態に従うゲームシステム１に固有な情報をカテゴリ部５２およびベンダＯＵＩ部５３に割り当てることで、本実施の形態に従う機能が実装されたゲーム装置のみがフレームを受信して処理することになるので、他の通信装置に影響を与えることなく、任意のデータを格納することができる。
【０１１５】
サブタイプ部５４は、フレーム５０の用途を示す識別情報を格納する。例えば、上述したような通知を行なうためのアクションフレームとして用いられる場合、あるいは、接続を確立するための探索要求信号（プローブ要求）または探索応答信号（プローブ応答）として用いられる場合などを示す識別情報が格納される。
【０１１６】
長さ部５５は、データ部５６に格納されるデータの長さを示す情報を格納する。データ部５６は、フレーム５０にて送信されるデータ本体を格納する。
【０１１７】
ＦＣＳ部５７は、データ誤り検出に用いるＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）値などを格納する。
【０１１８】
データ部５６には、任意のデータを格納することが可能であり、上述したように、送信元のゲーム装置にて実行される、通信を使用するゲームアプリケーションに関する情報を含むようにしてもよい。
【０１１９】
［Ｆ．ゲーム装置のソフトウェア構成］
次に、本実施の形態に従うゲーム装置のソフトウェア構成について説明する。図８は、本実施の形態に従うゲームシステム１に含まれるゲーム装置１００のソフトウェア構成を示す模式図である。図８に示すゲーム装置に含まれる各モジュールは、典型的には、プロセッサ１０２がオペレーティングシステム１０８およびアプリケーションプログラム１１０を実行することで実現される。但し、図８に示すそれぞれのモジュールをソフトウェアモジュールとして実装するのではなく、その全部または一部をＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェアを用いて実装してもよい。
【０１２０】
図８を参照して、ゲーム装置１００は、そのソフトウェアコンポーネントとして、通信モジュール１６０と、アプリケーション実行モジュール１６２と、フレームデータ生成モジュール１６４と、通信チャネル制御モジュール１６６と、識別モジュール１６８と、フレームデータ処理モジュール１７０とを含む。
【０１２１】
通信モジュール１６０は、実際の無線通信を行なう主体であり、無線通信部１２０（図２）をその全部または一部とする。
【０１２２】
アプリケーション実行モジュール１６２は、ゲームアプリケーションなどの任意のアプリケーションを実行する主体であり、通信を使用するアプリケーションの場合には、ゲーム経過に伴って他のゲーム装置へ送信するアプリケーションデータを生成するとともに、他のゲーム装置から受信したアプリケーションデータに基づいてゲーム経過の処理を行なう。
【０１２３】
フレームデータ生成モジュール１６４は、アプリケーション実行モジュール１６２でのアプリケーションの実行状況に応じて、フレームに含めるべきデータであるフレームデータを生成する。
【０１２４】
通信チャネル制御モジュール１６６は、図３に示すような、通信チャネルの切り替えに係る制御を実行する。
【０１２５】
識別モジュール１６８は、通信モジュール１６０にて受信されたデータ（パケット／フレーム）をそのヘッダなどの情報に基づいて処理すべきものであるか否かを判断し、処理すべきものと判断されたデータを、アプリケーション実行モジュール１６２またはフレームデータ処理モジュール１７０へ出力する。
【０１２６】
フレームデータ処理モジュール１７０は、他のゲーム装置から受信したフレームを処理し、そのフレームに含まれるデータを適宜加工した上で、フレームデータ処理結果として、アプリケーション実行モジュール１６２へ出力する。アプリケーション実行モジュール１６２では、フレームデータ処理結果に基づいて、図４（Ｃ）および図５に示すようなメッセージを表示する。フレームデータ処理モジュール１７０で実行される処理については、任意に定めることができる。あるいは、ユーザが予め設定した好みに従って、どのような処理を実行するのかを選択できるようにしてもよい。
【０１２７】
フレームデータ処理モジュール１７０は、先に受信したフレームに含まれるデータとは異なるデータを含むフレームを新たに受信した場合に、当該新たに受信したフレームに対して処理を実行するようにしてもよい。つまり、先に受信しているフレームに含まれるデータと同一のデータを重複受信する場合もあり、このような場合には、その重複受信したデータを破棄するようにして、処理を効率化してもよい。
【０１２８】
［Ｇ．処理手順］
次に、本実施の形態に従うゲームシステム１において実行される処理手順について説明する。
【０１２９】
図９は、本実施の形態に従うゲームシステム１において実行される処理手順を示すフローチャートである。図１０は、図９に示される受信処理の処理手順を示すフローチャートである。図９および図１０に示す各ステップは、典型的には、プロセッサ１０２がＯＳ１０８およびアプリケーションプログラム１１０を実行することで実現される。
【０１３０】
図９を参照して、プロセッサ１０２は、通信を使用するゲームアプリケーションが実行されているか否かを判断する（ステップＳ１００）。すなわち、複数の通信チャネルのうちいずれか１つの通信チャネルを使用して通信が行なわれているか否かが判断される。
【０１３１】
通信を使用するゲームアプリケーションが実行されていれば（ステップＳ１００においてＹＥＳの場合）、周期的なフレームのブロードキャストが実行される。具体的には、プロセッサ１０２は、フレームの送信周期が到来したか否かを判断する（ステップＳ１０２）。フレームの送信周期が到来していなければ（ステップＳ１０２においてＮＯの場合）、フレームの送信周期が到来するまで待つ。フレームの送信周期が到来していれば（ステップＳ１０２においてＹＥＳの場合）、プロセッサ１０２は、実行されているゲームアプリケーションに関する情報を収集するとともに、現在の通信状態に係る情報を収集してフレームを生成する（ステップＳ１０４）。そして、プロセッサ１０２は、無線通信部１２０に指示を与えて、現在の通信（ユニキャスト／マルチキャスト）を一時的に停止する（ステップＳ１０６）とともに、フレームを前回ブロードキャストした通信チャネルとは異なる通信チャネルでステップＳ１０４において生成したフレームをブロードキャストする（ステップＳ１０８）。
【０１３２】
そして、プロセッサ１０２は、無線通信部１２０が何らかのデータを受信したか否かを判断する（ステップＳ１１０）。無線通信部１２０が何らかのデータを受信していれば（ステップＳ１１０においてＹＥＳの場合）、ステップＳ２００以下の受信処理が実行される。無線通信部１２０が何らのデータも受信していなければ（ステップＳ１１０においてＮＯの場合）、ステップＳ１００以下の処理が繰り返される。
【０１３３】
これに対して、通信を使用するゲームアプリケーションが実行されていなければ（ステップＳ１００においてＮＯの場合）、バックグラウンドスキャンが実行される。より具体的には、プロセッサ１０２は、バックグラウンドスキャンの実行周期が到来したか否かを判断する（ステップＳ１１２）。バックグラウンドスキャンの実行周期が到来していなければ（ステップＳ１１２においてＮＯの場合）、バックグラウンドスキャンの実行周期が到来するまで待つ。バックグラウンドスキャンの実行周期が到来していれば（ステップＳ１１２においてＹＥＳの場合）、プロセッサ１０２は、無線通信部１２０に指示を与えて、無線通信部１２０をアクティブ化する（ステップＳ１１４）とともに、複数の通信チャネルのうち１つの通信チャネルを選択し、受信待ち状態を所定期間維持する（ステップＳ１１６）。そして、プロセッサ１０２は、無線通信部１２０が何らかのデータを受信したか否かを判断する（ステップＳ１１８）。無線通信部１２０が何らかのデータを受信していれば（ステップＳ１１８においてＹＥＳの場合）、ステップＳ２００以下の受信処理が実行される。
【０１３４】
無線通信部１２０が何らのデータも受信していなければ（ステップＳ１１８においてＮＯの場合）、または、ステップＳ２００以下の受信処理の実行後、プロセッサ１０２は、複数の通信チャネルのうちすべての通信チャネルが選択済であるか否かを判断する（ステップＳ１２０）。複数の通信チャネルのうち選択されていない通信チャネルが存在すれば（ステップＳ１２０においてＮＯの場合）、ステップＳ１１６の処理が実行される。複数の通信チャネルのうちすべての通信チャネルが選択済であれば（ステップＳ１２０においてＹＥＳの場合）、プロセッサ１０２は、無線通信部１２０に指示を与えて、無線通信部１２０をスリープ状態に移行させる（ステップＳ１２２）とともに、ステップＳ１００以下の処理を再度実行する。
【０１３５】
図１０を参照して、プロセッサ１０２は、受信したフレームに含まれる識別情報（ＢＳＳＩＤおよび／またはＭＡＣアドレス）に基づいて、当該受信したフレームが自装置が属する通信グループの他のゲーム装置からブロードキャストされたものか否かを判断する（ステップＳ２００）。
【０１３６】
当該受信したフレームが自装置が属する通信グループの他のゲーム装置からブロードキャストされたものである場合（ステップＳ２００においてＹＥＳの場合）、プロセッサ１０２は、当該受信したフレームを破棄する（ステップＳ２０２）。そして、処理は図９に示すフローチャートの対応するステップへ戻る。
【０１３７】
これに対して、当該受信したフレームが自装置が属する通信グループの他のゲーム装置からブロードキャストされたものではない場合（ステップＳ２００においてＮＯの場合）、プロセッサ１０２は、当該受信したフレームに含まれるデータと同一のデータを既に受信しているか否かを判断する（ステップＳ２０４）。当該受信したフレームに含まれるデータと同一のデータを既に受信していれば（ステップＳ２０４においてＹＥＳの場合）、プロセッサ１０２は、当該受信したフレームを破棄する（ステップＳ２０２）。そして、処理は図９に示すフローチャートの対応するステップへ戻る。
【０１３８】
当該受信したフレームに含まれるデータと同一のデータを受信していなければ（ステップＳ２０４においてＮＯの場合）、プロセッサ１０２は、当該受信したフレームに含まれるデータを取得および格納し（ステップＳ２０６）、（先に収集および格納したデータを含めて）収集および格納したデータが目的の処理を実行するのに十分なものであるか否かを判断する（ステップＳ２０８）。
【０１３９】
収集および格納したデータが目的の処理を実行するのに十分でなければ（ステップＳ２０８においてＮＯの場合）、収集および格納したデータはそのまま維持されまま（ステップＳ２１０）、処理は図９に示すフローチャートの対応するステップへ戻る。
【０１４０】
収集および格納したデータが目的の処理を実行するのに十分であければ（ステップＳ２０８においてＹＥＳの場合）、プロセッサ１０２は、（必要に応じて先に収集および格納したデータを加えて）収集および格納したデータに基づいて画面出力などの処理を実行する（ステップＳ２１２)。そして、処理は図９に示すフローチャートの対応するステップへ戻る。
【０１４１】
［Ｈ．利点］
本実施の形態に従うゲームシステムによれば、特定のゲーム装置の間で通信グループを形成して通信を行なっている場合であっても、その通信グループからブロードキャストされるフレームを受信できる範囲に存在する他のゲーム装置は、当該通信グループで実行されているゲームアプリケーションの進捗情報などの各種情報を取得することができる。そして、当該他のゲーム装置のユーザは、その取得された各種情報を知ることで、当該通信グループで実行されているゲームアプリケーションに関心を持つことができ、さらに、観戦または参加といった積極的な関与も可能になっている。
【０１４２】
このように、本実施の形態に従うゲームシステムによれば、ゲーム装置間で予め特段の接続を確立していなくとも各種情報を容易に交換でき、その結果、ゲーム装置を介したユーザのコミュニケーションを促進することができる。
【０１４３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４４】
１  ゲームシステム、５０  フレーム、５１  ＭＡＣヘッダ部、５２  カテゴリ部、５３  ベンダＯＵＩ部、５４  サブタイプ部、５５  長さ部、５６  データ部、５７  ＦＣＳ部、１００，１５０，２００，２５０，３００  ゲーム装置、１０２  プロセッサ、１０４  主記憶部、１０６  補助記憶部、１０８  オペレーティングシステム（ＯＳ）、１１０  アプリケーションプログラム、１１２  外部インターフェイス、１１４  ディスプレイ、１１６  操作部、１１８  音声出力部、１２０  無線通信部、１２２  加速度センサ、１２４  ジャイロセンサ、１２６  バス、１６０  通信モジュール、１６２  アプリケーション実行モジュール、１６４  フレームデータ生成モジュール、１６６  通信チャネル制御モジュール、１６８  識別モジュール、１７０  フレームデータ処理モジュール。
【図１】
2017191966.tif 000003
【図２】
2017191966.tif 000004
【図３】
2017191966.tif 000005
【図４】
2017191966.tif 000006
【図５】
2017191966.tif 000007
【図６】
2017191966.tif 000008
【図７】
2017191966.tif 000009
【図８】
2017191966.tif 000010
【図９】
2017191966.tif 000011
【図１０】
2017191966.tif 000012