(57)【特許請求の範囲】
【請求項１】
無線通信端末で実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を設定することを特徴とするネットワーク識別子設定方法。
【請求項２】
アプリケーションの実行状態を示す状態値を付加したネットワーク識別子を設定することを特徴とする請求項１に記載のネットワーク識別子設定方法。
【請求項３】
無線通信端末で実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を生成するステップと、
生成したネットワーク識別子をもとに、無線ネットワークに参加するステップと、
を備えることを特徴とする通信方法。
【請求項４】
アプリケーションの実行状態を示す状態値を付加したネットワーク識別子を生成するステップと、
状態値を付加して生成したネットワーク識別子をもとに、無線ネットワークに参加するステップと、
をさらに備えることを特徴とする請求項３に記載の通信方法。
【請求項５】
ネットワーク識別子に基づいて通信チャネルを設定するステップをさらに備えることを特徴とする請求項３または４に記載の通信方法。
【請求項６】
実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を設定するネットワーク識別子設定部と、
設定したネットワーク識別子をもとに、使用する通信チャネルを設定するチャネル設定部と、
を備えることを特徴とする無線通信端末装置。
【請求項７】
ネットワーク識別子設定部は、アプリケーションの実行状態を示す状態値を付加したネットワーク識別子を生成することを特徴とする請求項６に記載の無線通信端末装置。
【請求項８】
無線通信機能を実行させることのできるコンピュータに、
実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を生成させる機能と、
生成させたネットワーク識別子をもとに、無線ネットワークに参加させる機能と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信端末の間で通信を行う技術に関し、とくに無線ネットワークにおけるネットワーク識別子を効率的に設定する技術に関する。
【背景技術】
【０００２】
情報端末の小型化および軽量化が実現されたことにより、情報端末を持ち運ぶことが一般的になってきた。近年では、基地局やアクセスポイントなどのインフラを利用して、複数のユーザがゲームなどのアプリケーションを一緒に楽しめる無線通信環境が現実のものとなってきている。また一方で、オンデマンド型の通信として無線アドホックネットワークを構築する研究が行われている。アドホックネットワークでは、基地局やアクセスポイントが不要となるため、このようなインフラが存在しない場所でも簡易に無線ネットワークを構築することができる。アドホックネットワークでは、複数のユーザが携帯型ゲーム機を持ち寄って相互に無線通信することで、一緒にゲームを楽しむことも可能となる。
【０００３】
インフラストラクチャネットワークやアドホックネットワークは、IEEE802.11やBluetoothなどの技術を用いて実現される。従来想定されていた無線通信の環境としては、数台の端末が集まり、それらの端末間での通信を実現するものが一般であったが、インフラストラクチャネットワークやアドホックネットワークにおいては、例えば数十台といった数多くの端末が１つの環境に集まる状況も想定される。
【０００４】
IEEE802.11を用いた無線ネットワークでは、互いに通信する端末のグループを構成する基本単位として、BSS(Basic Service Set)を規定している。BSSは、互いに通信する端末のグループの集合を指し、同じBSSに所属する端末同士が通信できる。BSSは、48ビットの識別子(Basic Service Set ID: BSSID)で特定され、BSSIDには、環境内で唯一の値が割り当てられる。BSSIDとは別に、BSSを識別するために0-32バイトの文字列からなるSSID(Service Set ID)も存在する。SSIDは任意に設定可能であり、複数のBSSに同じSSIDを割り当てることも可能である。BSSは、端末またはアクセスポイントがビーコンと呼ばれる基準パケットを送信することで構成される。ビーコンが到達する範囲がBSSの空間的な範囲を構成し、同一の空間内に複数のBSSが存在してもよい。
【０００５】
IEEE802.11を用いた無線ネットワークを利用する場合、端末はいずれかのBSSに属する必要がある。そのために端末は、自身の周囲に存在するBSSの探索（スキャニング）を行う。端末が既存のグループに参加する場合、参加を希望するグループのSSIDを知っている場合はそのSSIDを指定すればよく、一方、SSIDを知らない場合には、周囲に存在する全てのBSSを探索して、探索したSSIDの中から１つのSSIDを選択して指定する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
アクセスポイントを利用するインフラストラクチャモードを用いた無線ＬＡＮでは、アクセスポイントがビーコンを送信し、BSSを構成する。アクセスポイントは、多くの場合、インターネットもしくはエンタープライズネットワークのようなプライベートネットワークに接続されており、通常は、これらのネットワークの管理者がSSIDを決定してアクセスポイントに設定を行う。ネットワークのユーザは、ネットワーク管理者から通知されたSSIDをもとに無線通信を行う。
【０００７】
アクセスポイントを利用しないアドホックモードを用いた無線ＬＡＮでは、ネットワークの管理者は存在しない。したがって、ネットワークのユーザ自身がSSIDを決定して、接続を行う必要がある。この場合、端末同士の間で同じSSIDを選択しないと互いに接続できないため、あらかじめSSIDについてユーザ間で合意をとる必要がある。また、SSIDは任意に設定可能であるため、別々のグループ間で同じSSIDが設定された場合に、意図しない無線ネットワークに接続する可能性もある。さらに、SSIDが任意に設定されるものであるため、探索して周辺のBSSから取得したSSIDをみても、どのような目的の無線ネットワーク（BSS）であるか分からないという問題がある。このように、アドホックネットワークにおいて、ユーザ自身でSSIDを設定する作業は煩雑であり、また特に同一環境内に多数の無線ネットワークが構築されるような環境下では、通信の安定性を図ることが困難であるという問題がある。
【０００８】
そこで本発明は、無線ネットワークにおけるネットワーク識別子を効率的に設定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様は、無線通信端末で実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を設定するネットワーク識別子設定方法を提供する。
【００１０】
本発明の別の態様は、無線通信端末で実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を生成するステップと、生成したネットワーク識別子をもとに、無線ネットワークに参加するステップとを備える通信方法を提供する。
【００１１】
本発明のさらに別の態様は、実行するアプリケーションに対して一意に定められるアプリケーション識別子を含んだネットワーク識別子を設定するネットワーク識別子設定部と、設定したネットワーク識別子をもとに、使用する通信チャネルを設定するチャネル設定部とを備える無線通信端末装置を提供する。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によると、無線ネットワークにおけるネットワーク識別子を効率的に設定する技術を提供することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、IEEE802.11を用いたアドホックネットワークにおける独立BSS(Independent Basic Service Set:IBSS)を概念的に示す。IBSSは無線ネットワークに相当する。IBSSのステーションは、互いに直接通信でき、ここでは、無線通信端末装置（ステーション）として４台のゲーム機２ａ、２ｂ、２ｃ、２ｄを例示している。なお、IBSSを構成するゲーム機２の台数は４台に限定するものではなく、４台以外の台数であってもよい。ゲーム機２は無線通信機能を有し、複数のゲーム機２が集まることによって、無線ネットワークを構築する。IEEE802.11などの無線ＬＡＮの規格を使用することで、無線アドホックネットワークを構築できる。IBSSでは、アドホックネットワークを構築することで、基地局やアクセスポイントなどのインフラストラクチャを別途必要とすることなく、複数のゲーム機２の間の通信を実現できる。
【００１５】
図２は、ある環境内に複数のIBSSが生成されている状態を示す。図２の例では、３つのIBSSが生成されており、１つのゲーム機２が、IBSS1、IBSS2、IBSS3の通信範囲内に存在している。IBSSの通信範囲は、基本サービスエリアと呼ばれ、この基本サービスエリアは、無線媒体の伝播特性によって決定される。例えば、各IBSSにおいてメンバ同士でゲームアプリケーションを実行している場合、ゲーム機２は、プレイしたいゲームアプリケーションが実行されているIBSSに加入することで、ゲームに参加することが可能となる。
【００１６】
図３は、本実施例においてプレイヤがゲームアプリケーションを開始するまでのフローチャートを示す。まず、プレイヤがゲーム機２の電源をオンする（Ｓ１０）。ゲーム機２のメディアドライブには、予め、プレイするゲームプログラムを記録した記録媒体が挿入されているものとする。記録媒体には、通信用のプログラムも記録されていてもよい。なお、通信用プログラムは、ゲーム機２のＲＯＭに予め格納されていてもよい。
【００１７】
電源がオンされると、ゲームプログラムが記録媒体から読み出され、ゲームアプリケーションが起動される。ゲーム機２のモニタには、１人プレイを行うか、または他のユーザとプレイを行うかの選択画面が表示される。他のユーザとのプレイとは、例えば格闘ゲームにおける対戦プレイであり、ユーザは、対戦モードを選択することで、無線ネットワークを通じて他のプレイヤとゲームを楽しむことができる。１人プレイを選択した場合は（Ｓ１２のＹ）、ゲームアプリケーションが開始され（Ｓ２０）、プレイヤは１人モードでゲームを行う。
【００１８】
対戦モードを選択した場合は（Ｓ１２のＮ）、ゲーム機２は、ロビーIBSSに参加する（Ｓ１４）。本実施例のゲームシステムにおいて、ロビーIBSSは、他のゲーム機を探索したり、他のゲーム機と対戦交渉を行うロビールームとしての役割をもつ。ロビーIBSSのSSID（以下、「ロビーSSID」と呼ぶ）は、ネットワークを識別する識別子であり、ゲームタイトルごとに一意に設定される。ゲームタイトルごとにロビーIBSSを設定することにより、１つのロビーIBSSには、同じゲームをプレイするゲーム機のみが集合することになる。同じゲームを行うプレイヤが集まることで、対戦相手を容易に探すことができるなど、ロビーIBSSの利用価値を高めることができる。
【００１９】
ロビーSSIDは、予めゲームプログラムに直接記述されてもよい。この場合、ゲーム機２がロビーSSIDをプログラムから読み出して、そのSSIDをもつIBSSを探索する。これにより、ロビーIBSSを探し出すことができ、ロビーIBSSのBSSIDを取得することで、ロビーIBSSに参加することができる。これにより、周囲の全てのロビーIBSSを探索する場合と比較すると、探索処理にかかる時間を省略することができ、接続時間を短縮できる。また、ユーザ間でSSID決定を行う必要もないため、その点からも接続時間の短縮化を実現できる。
【００２０】
なお、ゲームプログラム製作側の負担を低減するために、ロビーSSIDをゲームプログラムに直接記述させないことも可能である。この場合、ゲームプログラムには、ゲームタイトルごとに一意に割り当てられるロビーIDが記述され、通信用のプログラムが、ロビーIDをもとにSSIDを生成する。ロビーIDは、単純な文字列として定められることが好ましい。ロビーIDは、いわゆるゲームタイトルを特定するゲームIDとしての役割をもつものであってもよい。ゲームプログラムの製作者側にSSIDを意識させることなく、通信用のプログラムでSSIDを自動生成することにより、ゲームプログラムの製作者に余計な負担をかけなくてすむ。
【００２１】
このとき、ゲーム機２は、ロビーSSIDに基づいて、使用する周波数チャネルを設定する。SSIDに基づくチャネル設定のアルゴリズムは、通信用プログラムに予め組み込まれていることが好ましい。このアルゴリズムは、全てのゲーム機２において共通化されているものであり、したがって、各ゲーム機２は、同一のロビーSSIDに基づいて、同一の周波数チャネルを設定することになる。以上のように、ロビーSSIDおよび使用周波数チャネルを定めることで、ゲーム機２がロビーIBSSに参加することが可能となる。
【００２２】
ロビーIBSSに参加したゲーム機２は、ロビーIBSSに既に参加している対戦相手を探索する（Ｓ１６）。ロビーIBSSに参加している各ゲーム機は、自身の状態を示す端末情報パケットをブロードキャスト送信している。探索を行うゲーム機２は、他のゲーム機から端末情報パケットを受信することで、同じ無線ネットワーク（ロビーSSID）に接続しているゲーム機の存在および端末情報を知ることができる。探索処理の結果はリスト化され、ゲーム機２のモニタに表示される。ユーザが対戦相手を決定すると、ゲーム機２は対戦相手との間で新たなSSIDおよび使用周波数チャネルを決定し、ゲーム専用IBSSに参加する（Ｓ１８）。ゲーム専用IBSSは、実際に対戦プレイを行うゲームルームとしての役割をもつ。なお、ゲーム専用IBSSに移行する場合も、使用周波数チャネルが、ゲーム専用IBSSのSSID（以下、「ゲームSSID」と呼ぶ）に基づいて設定される。したがって、対戦相手との間では、同一のSSIDに基づいて同一の周波数チャネルが設定される。続いて、ゲーム機２においてゲームアプリケーションが開始され（Ｓ２０）、グループ内の対戦相手との間で、設定した周波数チャネルを用いて情報を送受信することで、ユーザはゲームを対戦プレイすることができる。
【００２３】
図４は、ゲーム機の通信状態の遷移図を示す。本実施例のアドホックネットワークでは、どのIBSSにも参加していない未接続状態、ロビーIBSSに参加している状態、ゲーム専用IBSSに参加している状態の３つの通信状態が設定される。通信が確立された状態は、ロビーステージとゲームステージの２種類である。
【００２４】
未接続状態は、ゲーム機２の電源オン直後の状態や、ユーザが１人プレイを行っている状態に対応する。未接続状態においてユーザが対戦モードを選択することで、ゲーム機２はロビーIBSSに移行する。ロビーIBSSで、ユーザは対戦相手を探索して決定する。
【００２５】
ロビーIBSSに参加しているゲーム機２は、対戦グループ専用のゲーム専用IBSSへ移行できる。ゲーム専用IBSSへ移行するには、そのグループ内で用いられているゲーム専用IBSSパラメータを共有する。例えば、グループを構成しようとする１人のメンバがゲーム専用IBSSパラメータを生成し、そのパラメータを他のメンバに通知することで、パラメータを互いに共有することができる。パラメータは例えばSSIDや使用周波数帯などである。ゲーム機２は、ゲーム専用IBSSパラメータをライブラリにセットすることによりゲーム専用IBSSへ移行する。ゲーム専用IBSSは、ゲームを同時プレイする複数台のゲーム機により構成されるグループであり、グループごとに設定される個別の無線ネットワークに相当する。ゲーム専用IBSSは、同一環境内に複数存在してよい。
【００２６】
ロビーIBSSおよびゲーム専用IBSSからは、任意のタイミングで未接続状態に戻ることができる。ゲーム専用IBSSからロビーIBSSへ復帰する場合は、一旦未接続状態に移行した後、ロビーIBSSに参加する。
【００２７】
実施例のゲームシステムにおいて、省電力制御または信号の衝突回避制御などを実行する場合、ロビーIBSSとゲーム専用IBSSとで、制御モードを異ならせてもよい。ロビーIBSSとゲーム専用IBSSとでは、要求されるレイテンシなどが異なる場合があるため、設定されるIBSSごとに制御モードを変化させることで、効率よい通信を実現することが可能となる。
【００２８】
図５は、本実施例におけるSSIDフォーマットを示す。本実施例において、各ゲーム機２は、このSSIDフォーマットを生成する機能をもつ。SSIDフォーマットは、データ項目として、「端末プレフィックス」、「アプリケーションＩＤ」、「アプリケーション状態値」、「ユーザ指定文字列」を有する。SSIDは、これらのデータ項目の１つ以上の集合で記述され、記述順に結合文字列"-"で結合されることで構成される。
【００２９】
端末プレフィックスは、端末種類の情報を示し、基本的には端末の種類ごとに固定的に割り当てられる文字列である。本実施例では、全てのゲーム機２の端末プレフィックスが同一とされる。これにより、ゲーム機２以外の他の種類の端末で用いられるSSIDと区別することができ、また、他の種類の端末とSSIDが同一となる可能性を高い確率で排除できる。
【００３０】
アプリケーションＩＤ（識別子）は、アプリケーション情報を示し、基本的にはアプリケーションごとに固定的に割り当てられる文字列である。本実施例では、ゲームタイトルごとに、一意に定められるアプリケーションＩＤが割り当てられる。原則として、アプリケーションＩＤは、ゲームタイトルごとに異なるものが付与される。なお、アプリケーションが異なる場合であっても、それぞれのアプリケーション上で用いる通信プロトコルが同一であり、また異なるアプリケーション間で通信を行いたい事情がある場合には、それぞれのアプリケーションに対して同一のアプリケーションＩＤを割り当ててもよい。
【００３１】
アプリケーション状態値は、アプリケーションの実行状態を示し、アプリケーションの状態によって異なる無線ネットワークを利用したい場合に割り当てられる文字列である。SSIDにおいて、アプリケーション状態値はアプリケーションＩＤに付加される。例えば、図４に示したように、同一のゲームアプリケーションにおいて、ロビーIBSSとゲーム専用IBSSの２種類の無線ネットワークが構築される場合に、アプリケーション状態値が"LOBBY"であればロビーモードを、"GAME"であればゲームモードを示すように、アプリケーション状態値を設定してもよい。このアプリケーション状態値は、端末の種類ごとに定義されてもよく、またアプリケーションにより独自に定義されてもよい。
【００３２】
ユーザ指定文字列は、ユーザが指定した文字列である。例えば、特定のユーザだけでチャットを楽しみたいような場合には、ユーザがユーザ指定文字列を生成することで、独自のロビーIBSSを構築できる。
【００３３】
本実施例において、２種類のゲームタイトルＡ、Ｂが存在する状況を想定する。それぞれのゲームアプリケーションは、既述したようにロビーステージとゲームステージの２種類のステージを備えている。ゲーム機２は、ロビーステージにおいて対戦相手の探索と決定を行い、ゲームステージにおいてロビーステージで決定した対戦相手と対戦プレイを行う。
【００３４】
図６は、SSIDフォーマットにおけるデータ項目と、割り当てられる文字列との対応関係の一例を示す。「端末プレフィックス」のデータ項目では、ゲーム機に対して文字列"PT"が割り当てられる。
【００３５】
「アプリケーションＩＤ」のデータ項目では、タイトルＡのゲームアプリケーションに対して文字列"TITLE_A"が割り当てられ、タイトルＢのゲームアプリケーションに対して文字列"TITLE_B"が割り当てられる。
【００３６】
「アプリケーション状態値」のデータ項目では、ロビーステージに対して文字列"LOBBY"が割り当てられ、ゲームステージに対して文字列"GAME+ランダム文字列"が割り当てられる。
【００３７】
以上のSSIDの設定は、全てのゲーム機２において共通の通信用プログラムにより実行される。ユーザは、原則として自身でSSIDを設定する必要がなく、接続時間の短縮化を実現して、所望の無線ネットワークに参加することができる。また、ゲームタイトルごとに固有のアプリケーションＩＤを含んだSSIDを設定することで、アプリケーション間でSSIDが同一となることがなく、したがって、ゲーム機２が、他のアプリケーションを実行するBSSに、誤って接続する可能性を回避できる。
【００３８】
図３のフローチャートを参照して、Ｓ１２でゲームアプリケーションＡの対戦モードを選択すると、アドホックネットモードにおける無線ネットワークのSSIDは、"PT-TITLE_A-LOBBY"となる。"PT-TITLE_A-LOBBY"のSSIDで特定される無線ネットワークは、ゲームアプリケーションＡにおけるロビーIBSSに相当する。ゲームアプリケーションＡを実行する各ゲーム機２が同じロビーSSIDを設定することで、対戦を希望するゲーム機２が、同一のロビーIBSSに集合することが可能となる。
【００３９】
ゲーム機２は、ロビーステージで対戦相手を決定すると、ランダム生成した文字列を対戦相手との間で共有する。例えば、一方のゲーム機２において文字列をランダム生成し、その文字列を相手に通知することで、ランダム文字列を共有することができる。ランダム文字列が例えば"GLX4C1X"と設定された場合、SSIDは、"PT-TITLE_A-GAME+GLX4C1X"となる。"PT-TITLE_A-GAME+GLX4C1X"のSSIDで特定される無線ネットワークは、対戦相手同士の間でゲームアプリケーションＡを実行するゲーム専用IBSSに相当する。ロビーステージからゲームステージへ移行する際に、SSID中のアプリケーション状態値を変更することによって、ロビーステージに存在するゲーム機との間の通信干渉を回避することが可能となる。また、対戦相手同士の間でランダム文字列を利用したゲームSSIDを設定できることで、対戦相手以外のゲーム機との接続を回避することも可能となる。
【００４０】
なお、複数のIBSS間での電波干渉を低減するために、各IBSSで使用する通信チャネルは、使用可能な周波数帯域内で分散するように設定されることが好ましい。一例として、ロビーIBSSで使用する通信チャネルと、ゲーム専用IBSSで使用する通信チャネルとが重ならないように、各IBSSの通信チャネルが設定されてもよい。ロビーIBSSには多くのゲーム機２が集合することが考えられるため、ロビーIBSS内の通信を安定化させるべく、ゲーム専用IBSSの通信チャネルを、ロビーIBSSの通信チャネルとは異なるように設定することは有効である。また、リアルタイム性の高いゲームアプリケーションを実行する場合には、ゲーム専用IBSSでのデータ伝送量が多くなることが想定される。したがって、ゲーム専用IBSS側の通信の安定性の観点からも、ゲーム専用IBSSとロビーIBSSの通信チャネルを異ならせて設定することは有効である。
【００４１】
通信チャネルは、SSIDをもとに決定してもよい。例えば、ゲームSSIDをハッシュ関数を用いて演算処理し、IEEE802.11上で利用可能な通信チャネルからロビーIBSSの通信チャネルを除いた残りの通信チャネルの中から、演算処理結果に応じた通信チャネルを決定してもよい。演算処理の種類は問わないが、所定の関数を利用することで各ゲーム専用IBSSの通信チャネルができるだけ分散するように設定することが可能となる。また、単純な演算方法としては、ゲームSSIDのビットデータを、ロビーIBSSの通信チャネル数を除いた残りの通信チャネル数でモジュロ演算し、その剰余項で通信チャネルを定めてもよい。このとき、ロビーIBSSで使用されていない通信チャネルに予め番号を付与しておき、その番号と剰余項の値とを対応付けておくことで、各ゲーム機２におけるチャネル設定部１６がそれぞれの通信チャネルを環境内において分散して設定することが可能となる。以上の演算処理は、全てのゲーム機２において共通の通信チャネル設定アルゴリズムにより実現され、したがって、通信チャネルは各ゲーム機２においてSSIDをもとに一意に決定される。SSIDごとに使用チャネルを設定することで、それぞれのアドホックネットワーク間での電波干渉を低減することが可能となる。
【００４２】
なお、ロビーIBSSおよびゲーム専用IBSSを区別することなく、上記のアルゴリズムにより、SSIDに基づいて通信チャネルが設定されてもよい。ロビーIBSSの通信チャネルとゲーム専用IBSSの通信チャネルとが重なる場合もあるが、システム全体としてみれば、各IBSSにおける通信チャネルが使用周波数帯域に分散して設定されることになるため、各通信チャネルのトラフィックを平均化することができる。ハッシュ関数を利用する一例として、SSID中のアプリケーションＩＤに対してハッシュ関数を適用することで、通信チャネルを設定してもよい。この場合、IBSS内の１つのゲーム機２が通信チャネルを設定し、設定した通信チャネルをグループ内の他のゲーム機に通知することで、グループ内の通信チャネルを統一できる。また、通信チャネルの設定時に、各通信チャネルをスキャンして、トラフィック量のより低い通信チャネルを選択してもよい。
【００４３】
再び図６を参照して、ゲーム機２がゲームアプリケーションＢのロビーIBSSに移行する際に、ユーザが指定文字列として"Group_ABC"を指定した場合、SSIDは"PT-TITLE_B-LOBBY-Group_ABC"となる。"PT-TITLE_B-LOBBY-Group_ABC"のSSIDで特定される無線ネットワークは、ゲームアプリケーションＢにおける専用のロビーIBSSに相当する。ユーザが任意に指定した文字列をSSIDに組み込むことによって、意図しない端末が専用ロビーIBSSに参加する可能性を低減できる。また、ゲームステージを示す文字列"GAME"に対して、途中参加可能な場合は"GAME_OPEN"、途中参加不可の場合は"GAME_CLOSED"と設定することも可能である。
【００４４】
以上のように、SSIDに端末種類、アプリケーション種類、アプリケーションの状態値などを埋め込むことにより、ゲーム機２がBSSを探索することで、現在周囲に存在する無線ネットワークの目的および状況を把握することが可能となる。また後述するが、例えばSSIDに"PT-TITLE_A"を含むBSSを探索することで、ゲームアプリケーションＡを実行するBSSのみを抽出することも可能となる。
【００４５】
図７は、ゲーム機２の機能ブロック図である。ゲーム機２は、無線通信端末装置として構成され、ゲーム処理に関する動作を主として行う処理装置１０と、通信に関する動作を行う無線インタフェース装置４０とを備える。処理装置１０および無線インタフェース装置４０は、別個のハードウェアとして設けられ、処理装置１０および無線インタフェース装置４０の間は、バスにより電気的に接続される。なお、処理装置１０はホストＰＣとして構成され、無線インタフェース装置４０の動作を管理する機能ももつ。
【００４６】
本実施例におけるゲーム機２の通信機能は、処理装置１０および無線インタフェース装置４０において、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム機２に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、処理装置１０のＣＰＵ１２が、SSID設定部１４、チャネル設定部１６、アプリケーション処理部２０としての機能をもつ。SSID設定部１４は、ネットワークを識別するSSIDを設定し、チャネル設定部１６は、使用する通信チャネルを設定する。
【００４７】
入出力部２６は、ユーザからの入力を受け付け、またユーザへの出力を行う。具体的に、入力部として、ユーザからの操作指示を受け付ける方向キーなどの操作ボタン群が設けられ、また出力部として、モニタやスピーカが設けられる。記憶装置２４は、メモリスティックなどの外部記憶装置として構成され、ゲームデータのセーブなどに利用される。メディアドライブ２８には、ディスク状の記録媒体３０が挿入され、記録媒体３０に記録されているプログラムやデータなどが読み出される。読み出されたプログラムおよびデータはメモリ部２２に記憶され、ＣＰＵ１２における処理に利用される。
【００４８】
ゲーム機２の電源がオンされ、ユーザが対戦モードを選択すると、SSID設定部１４が、ロビーIBSSのSSIDを設定する。ここでは、ゲームプログラムに記述されているロビーIDを取得し、このロビーIDからロビーIBSSのSSIDを生成する。ロビーSSIDは、ロビーIDから一意に定められる。既述のように、ロビーIDをゲームタイトルに応じて設定しておくことで、同じゲームタイトルであれば、各ゲーム機２において、同一のロビーSSIDが決定されることになる。図６に示すように、ゲームタイトルＡのロビーSSIDは、ゲームタイトルＡのロビーIDに基づいて"PT-TITLE_A-LOBBY"と決定され、ゲームタイトルＢのロビーSSIDは、同様にゲームタイトルＢのロビーIDに基づいて"PT-TITLE_B-LOBBY"と決定される。ここでは、記録媒体３０にゲームタイトルＡのゲームプログラムが記録されており、したがってSSID設定部１４が、ロビーSSID"PT-TITLE_A-LOBBY"を生成する。チャネル設定部１６は、SSID設定部１４で生成されたSSIDをもとに使用する通信チャネルを設定する。チャネル設定部１６におけるチャネル設定機能は全てのゲーム機２において共通のアルゴリズムとして組み込まれ、したがって、各ゲーム機２は、同一のSSIDをもとに同一の通信チャネルを設定する。
【００４９】
SSID設定部１４で設定されたロビーSSID"PT-TITLE_A-LOBBY"、およびチャネル設定部１６で設定された通信チャネルは、無線インタフェース装置４０に送られる。無線インタフェース装置４０は、設定された通信チャネルで"PT-TITLE_A-LOBBY"のSSIDをもつIBSSに接続する。これにより、ゲーム機２は、ロビーIBSSに参加することができる。
【００５０】
続いて、ユーザにより対戦モードが選択されると、SSID設定部１４は、ランダム文字列を生成し、ゲームSSIDを設定する。なお、グループ内の他のゲーム機がゲームSSIDを設定した場合、SSID設定部１４は、無線インタフェース装置４０を介して、設定されたSSIDを取得し、ゲームSSIDとして設定する。チャネル設定部１６は、設定されたSSIDをもとに、使用する通信チャネルを設定する。このとき、チャネル設定部１６は、ロビーIBSSで用いられる通信チャネルとは異なる周波数帯域の通信チャネルを設定する。また、他のゲーム専用IBSSで用いられる通信チャネルとできるだけ重なることのないように、生成されたSSIDをもとに、通信チャネルを設定する。
【００５１】
SSID設定部１４で設定されたゲームSSID、およびチャネル設定部１６で設定された通信チャネルは、無線インタフェース装置４０に送られる。無線インタフェース装置４０は、設定された通信チャネルでゲーム専用IBSSに接続する。これにより、ゲーム機２は、ゲーム専用IBSSに参加することができる。
【００５２】
アプリケーション処理部２０はゲームプログラムを実行する。プレイヤからの操作入力は無線インタフェース装置４０を介してグループ内の他のゲーム機に伝達され、また、グループ内の他のゲーム機の操作入力は無線インタフェース装置４０を介して受信され、アプリケーション処理部２０により処理される。
【００５３】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。上記した実施例では、アドホックネットワークにおいてIBSSが生成される場合について説明したが、本発明は、アドホックネットワークに限らず、インフラストラクチャネットワークにおいても適用することが可能である。インフラストラクチャネットワークにおいては、アクセスポイントにSSIDを設定する機能をもたせることで、無線ネットワーク識別子が効率的に生成され、各ゲーム機が無線ネットワークに参加することが可能となる。
【００５４】
なお、実施例で説明したようにSSIDを設定することで、BSS探索を簡単に実現することが可能となる。例えば、周囲に数十台、数百台のオーダで他のゲーム機が存在している場合、周囲の全てのBSSのリストを作成してゲーム機２のモニタに表示させてユーザに選択させるのでは、リストが巨大化して、ゲーム機２のメモリに記憶しきれない状態が発生しうる。周囲に存在するBSSの個数は不明のため、あらゆる状況に対応できるようにメモリ容量を予め大きく設定することも可能であるが、当然のことながらメモリ容量は小さく設定する方がコスト的に有利である。そのため、生成するBSSリストの規模を小さくして、小さいメモリ容量で対応可能とさせることが、コスト面また処理時間の観点からも好ましい。
【００５５】
以上の理由から、ゲーム機２は、周囲のBSSを探索して、所定のパターンを含んだSSIDのみを取得してリスト化してもよい。SSIDをフィルタリングすることにより、リスト化するSSIDの個数を制限できる。これにより、リストを小さく作成することができ、小さいメモリ容量でリストを保持することが可能となる。例えば、ゲームアプリケーションＡを実行しているBSSのリストを生成するためには、SSIDに"PT-TITLE_A"を含んでいるもののみを抽出し、他のものは排除すればよい。これにより、リストのデータ量を削減でき、効率よいBSS探索処理を実現することが可能となる。
【００５６】
実施例では、アプリケーションＡのロビーIBSSとして、SSIDが"PT-TITLE_A-LOBBY"で特定される１つの無線ネットワークのみを示した。変形例では、環境内に複数のロビーIBSSが存在してもよい。例えば、ゲームの腕前に応じて、複数のロビーIBSSが形成されてもよい。この場合、初級者用のロビーIBSS、中級者用のロビーIBSS、上級者用のロビーIBSSなどを生成することができる。初級者用のロビーIBSSのSSIDを"PT-TITLE_A-LOBBY-CLASS_1"、中級者用のロビーIBSSのSSIDを"PT-TITLE_A-LOBBY-CLASS_2"、上級者用のロビーIBSSのSSIDを"PT-TITLE_A-LOBBY-CLASS_3"と設定してもよい。このように、ゲームアプリケーションＡのロビーIBSSのSSIDに所定のパターン、ここでは"PT-TITLE_A-LOBBY"を含ませることによって、同一タイトルのロビーIBSSのSSIDを関連付けることが好ましい。この関連付けにより、同一タイトルのロビーIBSSの探索処理を容易に実行することが可能となる。ゲーム機２が、周囲のBSSを探索して、"PT-TITLE_A-LOBBY"を含んだSSIDのみを取得してリスト化することで、ユーザは、効率的にゲームアプリケーションＡのロビーIBSSのリストを取得することができ、接続を希望するロビーIBSSを容易に選択することが可能となる。
【図面の簡単な説明】
【００５７】
【図１】IEEE802.11を用いたアドホックネットワークにおけるIBSSを概念的に示す図である。
【図２】環境内に複数のIBSSが生成されている状態を示す図である。
【図３】実施例においてプレイヤがゲームアプリケーションを開始するまでのフローチャートを示す図である。
【図４】ゲーム機の通信状態の遷移図である。
【図５】実施例におけるSSIDフォーマットを示す図である。
【図６】SSIDフォーマットにおけるデータ項目と、割り当てられる文字列との対応関係の一例を示す図である。
【図７】ゲーム機の機能ブロック図である。
【符号の説明】
【００５８】
２・・・ゲーム機、１０・・・処理装置、１２・・・ＣＰＵ、１４・・・SSID設定部、１６・・・チャネル設定部、２０・・・アプリケーション処理部、２２・・・メモリ部、２４・・・記憶装置、２６・・・入出力部、２８・・・メディアドライブ、３０・・・記録媒体、４０・・・無線インタフェース装置。
【要約】
【課題】  ネットワーク識別子を効率的に設定する技術を提供する。
【解決手段】  本発明のゲーム機２は、SSID設定部１４とチャネル設定部１６を備える。SSID設定部１４は、実行するアプリケーションに対して一意に定められるアプリケーションＩＤを含んだSSIDを設定する。例えば、アプリケーションＡを実行する場合、SSIDには"TITLE_A"を含ませ、またアプリケーションＢを実行する場合、SSIDには"TITLE_B"を含ませる。チャネル設定部１６は、各BSSにおける使用チャネルができるだけ重ならないように、設定したSSIDをもとに使用する通信チャネルを設定する。
【選択図】図７
【図１】
0003698711.tif 000002
【図２】
0003698711.tif 000003
【図３】
0003698711.tif 000004
【図４】
0003698711.tif 000005
【図５】
0003698711.tif 000006
【図６】
0003698711.tif 000007
【図７】
0003698711.tif 000008