図2は、実施形態にかかる通信方法の例を説明する図である。実施形態にかかる通信方法で使用されるスーパーフレームにおいても、ビーコン、データ通信用スロット、制御スロットが含まれる。なお、以下の説明では、データ通信用スロットでは周波数F1を用いた通信が行われ、制御スロットでは周波数F2を用いた通信が行われるものとする。このため、基地局中の通信用の回路は、データ通信用スロットでは周波数F1での通信用に設定され、制御スロットでは周波数F2での通信用に設定される。なお、図2では、周波数F1での通信に使用されるチャネルをCH1、周波数F2での通信に使用されるチャネルをCH2として示している。また、実施形態にかかる通信方法では、待機期間w1に示すように、基地局は、制御スロットの間は、報知信号を送信しないで、パケットを受信するまで待機する。以下、制御スロット中で基地局が報知信号やパケットの送信を行っていない期間を、基地局にとっての「待機期間」と記載することがある。さらに、通信を開始しようとする移動端末は、周波数F2を用いて通信するように予め設定されているものとする。
矢印A11に示すように、移動端末のセンサなどが通信トリガの発生を検出したとする。すると、移動端末は、所定の数のパケットを、基地局に向けて所定の時間間隔で送信する。図2の例では所定の数が6つであるため、移動端末は、パケットP1〜P6を基地局に送信する。なお、移動端末は、制御パケットやデータパケットを含む任意のパケットを、通信を開始するためのパケットとして基地局に送信できるものとする。
図2の例では、パケットP1の末尾が基地局に到達する前に、制御スロットが終了したため、パケットP1が基地局に受信されていないものとする。制御スロットが終了してデータ通信用スロットが開始すると、基地局は、周波数F1を用いて、通信中の装置と通信を開始する。
基地局が周波数F1を用いた通信を開始した後で、移動端末はパケットP2〜P4を基地局に送信したとする。この場合、基地局が周波数F1を用いて通信しているのに対して、パケットP2〜P4は周波数F2で送信されている。このため、基地局は、パケットP2〜P4を受信しない。また、移動端末が送信したパケットは、基地局と他の装置との間の通信に対して干渉を与えない。
その後、データ通信用スロットが終了すると、基地局は、通信処理に用いる回路を周波数F2に調整しなおす。このため、基地局は、待機期間w2に示す期間中は、再度、移動端末からのパケットを受信できるようになる。ここでは、基地局は、パケットP5とP6を移動端末から受信したとする。基地局は、制御スロットにおいてパケットを受信すると、制御スロット中に受信したパケットの送信元が、基地局に通信の確立とデータの送信を求めていると判定する。そこで、基地局は、基地局と通信する装置で処理されるデータを含む応答パケットを生成する。また、基地局は、データ通信用スロットを用いて移動端末との通信を行うためのタイミングの決定など、移動端末との間の接続を確立するための処理も行う。
矢印A12において、基地局は、移動端末で処理されるデータと、移動端末との間の通信のタイミングなどの情報を含む応答パケットを、移動端末に送信する。なお、移動端末は、所定の数のパケットを送信し終わると、基地局からパケットの受信に備えて待機しているので(待機期間w3)、応答パケットを受信できるものとする。
移動端末は、応答パケットに含まれているデータを処理する。また、並行して、応答パケット中の情報を用いて、基地局との間の接続を確立する。その後、基地局と移動端末との間の通信は、データ通信用スロットを用いて行われる。なお、基地局10と移動端末40の間で接続を確立することは、基地局10と移動端末40の間で通信用のコネクションを生成することを意味している。
このように、実施形態にかかる方法では、基地局は、移動端末との接続を確立する前に、移動端末で処理されるデータを送信している。このため、移動端末は、基地局との接続の確立が終了しているかに関わらず、応答パケットで通知されたデータを処理できる。従って、移動端末は、移動端末で緊急に処理することが求められるデータを、応答パケットを用いて取得することにより、データの処理遅延を短縮できる。
さらに、実施形態にかかる方法では、基地局と移動端末の間での接続の確立にかかる時間も短縮できる。すなわち、接続の確立は、基地局が制御スロット中に受信したパケットに対しての応答パケットを送信することにより行われるので、報知信号の送信や移動端末からの接続要求を待たずに、基地局と移動端末の間の通信が早期に開始される。
なお、移動端末が基地局と通信を開始する際に基地局と通信中の装置が無い場合は、データ通信用スロットと制御スロットで使用される周波数が異ならなくても良い。また、移動端末が基地局に向けて送信するパケットの数は実装に応じて変更され得る。
<ネットワークおよび装置の構成例>
図3は、ネットワークの分布の例を示す。BANの場合、BANを形成している装置は、ユーザの体に近い位置に設置される。このため、BANを使用しているユーザ同士が近い位置に存在する場合、図3に示すように複数のBANが互いに近い位置に存在することになる。複数のBANが近い位置に存在する場合は、互いに干渉を及ぼすおそれがあるので、各基地局は、データ通信用スロットで使用する周波数を他の基地局と異なる周波数に設定する。ここで、BAN同士が近い位置に存在するとは、例えば、複数のBANの基地局において、通信可能な装置が重複する程度に、各BANの位置が接近している状態を指す。
図3の例では、B1〜B3の3つのBANが近くに存在する場合を示している。B1のBANは、基地局の他に端末5a、5bを含む。同様に、B2のBANは、基地局、端末5c、5dを含み、B3のBANは、基地局、端末5e、5fを含む。端末5a〜5fは、いずれもその端末が含まれるBAN中の基地局と、データ通信用スロットを用いて通信を行っている。移動端末40は、B1〜B3のBANが位置するエリアを移動しており、移動端末40は、接続を確立した基地局と通信を行う。図3の例では、時刻T1での移動端末40の位置は40T1、時刻T2での移動端末40の位置は40T2、時刻T3での移動端末40の位置は40T3であるものとする。時刻T1において、移動端末40T1に示すように、移動端末40は、B1のBAN中の基地局と接続を確立することにより、B1のBANに参加している。その後、時刻T2において、移動端末40T2は、B2のBAN中の基地局と接続を確立することにより、B2のBANに参加する。同様に、時刻T3には、移動端末40は、B3のBAN中の基地局との間で通信を開始するので、B3のBANに参加して通信を行っている。
図4は、基地局10の構成の例を示す。基地局10は、通信部11、復調部12、変調部13、制御部20、記憶部30、アンテナ106を備える。制御部20は、設定部21、受信パケット処理部22、タイマ23、決定部24、送信パケット生成部25を備える。記憶部30は、閾値データ31と通知データ33を記憶する。さらに、オプションとして、記憶部30は識別情報32も保持することがある。
通信部11は、移動端末40や端末5との間で信号を送受信する。通信部11は受信信号を復調部12に出力する。復調部12は、受信信号の復調処理や搬送波の除去により得られた受信パケットを、受信パケット処理部22に出力する。変調部13は、制御部20で生成されたパケットを搬送波を用いて信号に変換すると共に、変調処理を行う。通信部11は、変調部15で変調された信号を送信する。
設定部21は、基地局10が使用するスーパーフレーム中のスロットの長さを設定する。また、設定部21は、各スロットで使用される周波数帯域の情報を保持しており、スロットに応じて、通信部11で使用される搬送波の周波数の変更処理も行う。受信パケット処理部22は、復調部12から入力されたパケットからデータを抽出して、適宜、処理する。決定部24は、応答パケットを送信するタイミングを決定する。タイマ23は、応答パケットの送信を行うために決定部24で決定されたタイミングまでの時間の計測に用いられる。送信パケット生成部25は、応答パケットやその他の送信用のパケットを生成し、生成したパケットを変調部13に出力する。
閾値データ31は、応答パケットの送信のタイミングを決定するために決定部24によって使用されるデータであり、詳細については後述する。通知データ33は、応答パケットを用いて、接続の確立前に、移動端末40に送信される対象のデータである。識別情報32は、基地局10と通信する可能性が相対的に高い移動端末40の識別情報である。
図5は、移動端末の構成の例を示す。移動端末40は、通信部41、復調部42、変調部43、制御部50、記憶部60、アンテナ106を備える。制御部50は、受信パケット処理部51、アプリケーション処理部52、トリガ発生部53、送信パケット生成部54を有する。
通信部41は、基地局10から送信された信号を受信し、復調部42に出力する。復調部42は、受信信号の復調処理や搬送波の除去により得られた受信パケットを、受信パケット処理部51に出力する。変調部43は制御部50で生成されたパケットを、搬送波を用いて送信信号に変換すると共に、変調処理を行う。通信部41は、変調部43で変調された信号を送信する。
受信パケット処理部51は、復調部42から入力されたパケットからデータを抽出して、アプリケーション処理部52に出力する。アプリケーション処理部52は受信したデータの処理を行う。トリガ発生部53は、移動端末40が基地局10との間の接続を確立する条件が成立すると、トリガを送信パケット生成部54に出力することにより、送信パケット生成部54に、基地局10との通信を開始するための送信パケットの生成を要求する。送信パケット生成部54は、トリガ発生部53やアプリケーション処理部52からの要求に応じて、適宜、パケットを生成し、生成したパケットを変調部43に出力する。なお、送信パケット生成部54は、トリガ発生部53からの要求に応じて送信パケットを生成する場合、基地局10に送信するパケットの数を、記憶部60に記録されている送信条件61中の連続送信数と一致させる。
記憶部60は、送信条件61と基地局データ62を記憶する。送信条件61は、パケットの連続送信数、パケットの送信間隔などを含む、パケットの送信条件である。基地局データ62は、基地局10から受信した応答パケットに含められたデータである。
図6は、ハードウェア構成の例を示す。基地局10と移動端末40のいずれも、プロセッサ103、ROM(Read Only Memory)104、RAM(Random Access Memory)105、アンテナ106を備える。さらに、基地局10と移動端末40のいずれも、RFIC(Radio Frequency Integrated Circuit)101、ベースバンドLSI(Large Scale Integration)102を備える。なお、プロセッサ103は、CPU(Central Processing Unit)を含む任意の処理回路である。
基地局10において、プロセッサ103は制御部20として動作し、RAM105は記憶部30として動作する。通信部11はRFIC101により実現される。復調部12と変調部13は、ベースバンドLSI102によって実現される。
移動端末40において、プロセッサ103は制御部50として動作し、RAM105は記憶部60として動作する。通信部41はRFIC101により実現される。復調部42と変調部43は、ベースバンドLSI102によって実現される。なお、基地局10と移動端末40のいずれにおいても、プロセッサ103が動作するために読み込むプログラムやデータ等は、ROM104に記憶されている。
なお、移動端末40は、適宜、センサやタイマを搭載していても良い。センサやタイマが移動端末40に含まれている場合、トリガ発生部53は、センサやタイマなどと、プロセッサ103とによって実現される。
<第1の実施形態>
図7は、パケットの送信条件61の決定方法の例を示す。移動端末40には、予め、送信条件61が設定されているものとする。送信条件61は、基地局10のスーパーフレーム中の制御スロットの長さと制御スロット同士の間隔に応じて、基地局10が1つ以上のパケットを受信できるように設定される。
移動端末40が基地局10にパケットを送信する場合で最も悪いタイミングとなるケースでは、図7に示すように、パケットを基地局10が受信し終わる前に、基地局10での制御スロットが終了する。このケースでは、次の制御スロットの開始時刻以降に、少なくとも1つのパケットが移動端末40から基地局10に送信されないと、基地局10と移動端末40の間で接続が確立されない。そこで、制御スロット同士の間の時間に、連続送信数Nよりも2つ少ない数(N−2)個以下のパケットが送信されても良いことになる。例えば、図7に示すように、N=5の場合、2つの制御スロットの間に3つ以下のパケットが送信されるように設定される。また、パケットの送信間隔は、制御スロットの間に送信されるパケットの数よりも1回まで多く発生しうる。そこで、パケットの送信間隔をiとすると、2つの制御スロットの間の時間Tとの間に式(1)が成り立つ。
T<(N−2)×k+(N−1)×i ・・・(1)
ここで、kは、基地局10において1つのパケットの受信にかかる時間の長さを示す。送信条件61は、式(1)を満たすように決定された連続送信数Nと送信間隔iの組み合わせである。
図8は、第1の実施形態で行われる通信の例を説明する図である。図8を参照しながら図3の時刻T3において移動端末40が基地局10cと接続を確立する場合を例として、基地局10と移動端末40で行われる処理の例を説明する。また、移動端末40は、接続を確立するためにパケットを送信する際には、周波数F2を用いた通信を行い、基地局10cとの接続後は、基地局10cから通知された周波数帯で通信を行うものとする。
基地局10cは、図8中のスーパーフレームSF2を使用しているとする。また、CH1は周波数F1を用いた通信を行うチャネルであり、CH2は周波数F2を用いた通信を行うチャネルであるものとする。この場合、設定部21は、スーパーフレームSF2に応じて、通信部11、復調部12、変調部13で使用される周波数を変更する。例えば、ビーコンの送信中と1回目のデータ通信用スロットでは、通信部11、復調部12、変調部13は、周波数F1に設定されている。データ通信用スロットが終了すると、制御スロットでの通信を行うために、設定部21は、通信部11、復調部12、変調部13で用いられる周波数をF2に変更する。このため、移動端末40からのパケットの受信を待っている待機時間w1では、基地局10cは、周波数F2(CH2)を介して送信されるパケットの受信を待っていることになる。
矢印A21において、移動端末40のトリガ発生部53は、基地局10に接続を要求する契機となる現象を検出したとする。例えば、基地局10からの受信電力が閾値を超えたことや、基地局10に通知するデータがセンサから得られたことなどが、基地局10に接続を要求する契機となり得る。トリガ発生部53は、基地局10に接続を要求する契機となる現象を検出すると、送信パケット生成部54にトリガを出力する。
送信パケット生成部54は、トリガ発生部53からトリガが入力されると、記憶部60から送信条件61を取得することにより、パケットを連続送信する回数Nを取得する。送信パケット生成部54は、送信対象のパケットを生成し、変調部43に出力する。変調部43は、送信パケット生成部54から入力されたパケットからベースバンド信号を生成し、変調処理を行う。変調部43は、変調処理後の信号を通信部41に出力する。通信部41は、周波数F2の搬送波を用いて、パケットを送信する(矢印A22)。
矢印A22で送信されたパケットの末尾までが基地局10cに到達する前に、基地局10cでは、2回目のデータ通信用スロットでの処理が開始されたとする。この場合も、基地局10cの通信部11と復調部12が受信処理や復調を行うが、受信パケット処理部22は、パケットの全体を受信できていないため、受信に失敗したと判定して、受信パケットを廃棄する。さらに、設定部21は、データ通信用スロットでの通信を行うために、通信部11、復調部12、変調部13で用いられる周波数をF1に変更する。
一方、移動端末40の送信パケット生成部54は、矢印A22で送信されたパケットの送信から、送信間隔iが経過したときに次のパケットが基地局10cに送信されるように、パケットを変調部43に出力する。変調部43と通信部41は、送信パケット生成部54から入力されたパケットに対して、矢印A22で送信されたパケットと同様の処理を行う。このため、移動端末40から新たなパケットが基地局10cに送信される(矢印A23)。なお、このとき、パケットは周波数F2で送信される。
矢印A23で送信されたパケットが基地局10cに到達するときには、基地局10c中の通信部11や復調部12は周波数F1(CH1)で動作しているので、パケットを受信しない。さらに、矢印A24、A25に示すように、移動端末40から周波数F2を用いて、再度パケットが送信されてくるが、基地局10cは周波数F1での通信を行っているため、矢印A23で送信されてきたパケットと同様に、パケットを受信しない。
次に、基地局10cでは、2回目の制御スロットでの処理が開始されたとする。設定部21は、通信部11、復調部12、変調部13で用いられる周波数をF2に変更する。このため、基地局10cは、待機時間w2に示すように、移動端末40からのパケットを受信可能な状態に設定される。
矢印A26において、移動端末40は、パケットを基地局10cに向けて送信する。基地局10cの通信部11は、受信信号を復調部12に出力し、復調部12は入力された信号を復調する。受信パケット処理部22は、復調によって得られたパケットからヘッダを除去し、データを処理する。決定部24は、応答パケットの送信タイミングを決定するために、タイマ23を用いて、矢印A26で受信したパケットの受信時刻からの経過時間をカウントする。決定部24は、タイマ23でのカウント値が閾値Thに達するまでに新たなパケットを受信しない場合、移動端末40から送信された最後のパケットを受信したと判定する。ここでは、基地局10cは、矢印A26でパケットを受信してから閾値Thで表わされる時間が経過する前に、矢印A27に示すように新たなパケットを40から受信したとする。すると、決定部24は、タイマ23を初期化して、矢印A27でのパケットの受信時刻からの経過時間を測定する。
基地局10cにおいて、矢印A27での受信パケットも、矢印A26でのパケットと同様に処理される。ここでは、矢印A27のパケットの受信時刻から閾値Thが表わす時間が経過しても、基地局10cは移動端末40からパケットを受信しなかったとする。すると、決定部24は、パケットの受信が終了したと判定して、送信パケット生成部25に応答パケットの生成を要求する。送信パケット生成部25は、応答パケットを生成し、生成した応答パケットを変調部13に出力する。応答パケットは、変調部13と通信部11を介して、周波数F2(CH2)によって、移動端末40に送信される(矢印A28)。
移動端末40は、矢印A27でのパケットの送信により、連続送信数Nと同数のパケットを基地局10cに送信し終わったので、待機期間w3に示すように、基地局10から送信されてくるパケットを受信するために待機している。このため、矢印A28で基地局10cから移動端末40に送信された応答パケットは、移動端末40で受信される。通信部41は受信信号を復調部42に出力し、復調部42は復調処理を行う。受信パケット処理部51は、復調により得られたパケットから、通知データ33と基地局の情報を抽出し、適宜、基地局データ62として、記憶部60に格納する。基地局データ62には、応答パケットに含められた通知データ33、通信先となる基地局と、その基地局から指定された通信のタイミングを示す情報が含まれている。
アプリケーション処理部52は、応答パケットに含まれている通知データ33を、アプリケーションを用いて処理する。このため、通知データ33として通知された緊急データの移動端末40における処理は、基地局10cと移動端末40との間の接続の確立前に開始される。
その後、アプリケーション処理部52は、アプリケーションの処理を行うことにより、基地局10に宛てて送信するデータを生成したとする。送信パケット生成部54は、アプリケーション処理部52で生成されたデータを含む送信パケットを生成する。さらに、通信先の基地局データ62を用いて、通信先の基地局から指定された通信のタイミングに合うように、変調部13と通信部11を用いて、パケットを送信するための処理を行う。このため、移動端末40と基地局10cとの間で、データ通信用スロットを用いた通信処理が開始される。
図9は、基地局10が行う処理の例を説明するフローチャートである。なお、図9においても、基地局10と移動端末40との間の制御には、チャネルCH2が使用され、データ通信にはチャネルCH1が使用されるものとする。また、チャネルCH1とCH2では使用される周波数が異なるものとする。
設定部21は、通信中の装置との間のデータ通信用のタイムスロット(データ通信用スロット)であるかを判定する(ステップS1)。通信中の装置との間のデータ通信用スロットではない場合、設定部21は、通信部11、復調部12、変調部13をCH2で使用される周波数に設定すると共に、受信モードに調整する(ステップS1でNo、ステップS2)。受信パケット処理部22は、パケットを受信したかを判定する(ステップS3)。パケットが受信されていない場合、設定部21は、タイムスロットを変更するかを判定する(ステップS3でNo、ステップS4)。タイムスロットを変更する時期ではない場合、ステップS3以降の処理が繰り返される(ステップS4でNo)。タイムスロットを変更する時期であると判定されると、ステップS1以降の処理が繰り返される(ステップS4でYes)。
一方、基地局10がパケットを受信した場合、決定部24はタイマ23をリセットする(ステップS3でYes、ステップS5)。タイマ23は、リセット後、カウントアップを開始するものとする。決定部24は、タイマ値が閾値Thを越えたかを判定する(ステップS6)。決定部24によって、タイマ値が閾値Thを越えていないと判定された場合、設定部21は、タイムスロットが変更されるかを判定する(ステップS6でNo、ステップS7)。タイムスロットが変更される場合、ステップS1以降の処理が繰り返される(ステップS7でYes)。タイムスロットが変更されない場合、受信パケット処理部22は、パケットを受信したかを判定する(ステップS7でNo、ステップS8)。基地局10が新たにパケットを受信していない場合、ステップS6以降の処理が繰り返される(ステップS8でNo)。一方、基地局10が新たにパケットを受信した場合、ステップS5以降の処理が繰り返される(ステップS8でYes)。
ステップS6において、タイマ値が閾値Thを超えている場合、決定部24は、応答パケットを移動端末40に送信することを決定する(ステップS6でYes)。送信パケット生成部25は、決定部24からの要求に応じて応答パケットを生成し、変調部13と通信部11を介して、移動端末40に応答パケットを送信する(ステップS9)。その後、他の装置から接続が要求される場合に備えて、ステップS1以降の処理が繰り返される。
ステップS1において、データ通信用スロットであると判定されると、設定部21は、通信部11、復調部12、変調部13をCH1で使用される周波数に調整する(ステップS1でNo、ステップS10)。その後、タイムスロットが変更されるまで、通信中の装置と基地局10の間の通信が行われる(ステップS11、ステップS12でNo)。タイムスロットが変更される時刻になると、ステップS1以降の処理が行われる(ステップS12でYes)。
なお、ステップS5〜S8の処理は、パケットを受信した後、新たに移動端末40からパケットを受信したかを判定するために使用されている。すなわち、ステップS5〜S8の処理により、移動端末40が連続送信数分のパケットを基地局10に送信し終わるまで、基地局10は移動端末40に応答パケットを返送しない。このため、基地局10から移動端末40に宛てた応答パケットと、移動端末40が基地局10に送信したパケットとの間で発生した干渉や衝突に起因して、基地局10が応答パケットの送信に失敗することを防止している。
図10は、移動端末40が行う処理の例を説明するフローチャートである。図10において、定数Nは、パケットの連続送信数であり、変数nは、移動端末40が送信したパケットの数を計数するための値である。なお、図10の例では、移動端末40が基地局10との間での接続を確立するために、データパケットを送信する場合の例を示しているが、移動端末40がステップS23で送信するパケットの種類は任意である。また、ステップS23において送信されるパケットは、全て同じであっても、異なるデータを含んでいても良い。また、図10は、移動端末40が任意の数の基地局から応答パケットを受信する場合に対応させるためにステップS28の処理を含んでいるが、移動端末40は、応答パケットを1つの基地局からしか受信しなくても良い。
トリガ発生部53は、通信トリガが発生するまで待機する(ステップS21でNo)。通信トリガが発生すると、送信パケット生成部54は、変数nを1に設定する(ステップS21でYes、ステップS22)。送信パケット生成部54は、変調部43や通信部41を介して、データパケットを送信し、変数nが定数Nを超えているかを判定する(ステップS23、S24)。変数nが定数Nを超えていない場合、送信パケット生成部54は、変数nを1つインクリメントして、ステップS23に戻る(ステップS24でNo、ステップS25)。
変数nが定数Nを超えている場合、受信パケット処理部51は、基地局10から応答パケットを受信したかを判定する(ステップS26)。基地局10から応答パケットを受信していない場合、受信パケット処理部51は、応答パケットを待ち合わせる際のタイムアウトが発生したかを判定する(ステップS26でNo、ステップS27)。タイムアウトが発生していない場合、ステップS26以降の処理が繰り返される(ステップS27でNo)。一方、タイムアウトが発生すると、基地局10との通信に失敗したと判定してステップS21に戻る(ステップS27でYes)。
一方、基地局10からの応答パケットを受信すると、受信パケット処理部51は、受信した応答パケットの送信元となっている基地局から通信先を決定する(ステップS26でYes、ステップS28)。さらに、受信パケット処理部51は、通信先として決定した基地局10から受信した応答パケット中の通知データ33をアプリケーション処理部52に出力する。アプリケーション処理部52は、受信パケット処理部51から入力された通知データ33を処理する(ステップS29)。その後、通信が終了するまで、移動端末40は、通信先の基地局10と通信する(ステップS30、S31でNo)。通信が終了すると、送信パケット生成部54は、コネクションを切断するための処理を行う(ステップS31でYes、ステップS32)。
ステップS29で説明したように、アプリケーション処理部52は、通信先に決定された基地局10からコネクションの確立前に送信されたデータを処理することができる。このため、移動端末40は、基地局10から通知される緊急データ等を早期に処理することができ、また、緊急データの処理遅延を小さくできる。
図11は、通信システムの適用例を示す図である。図11は、通信システムをシューティングゲームや射撃訓練用のレーザシステムなどに適用した場合の例を示している。シューティングゲームや射撃訓練用のレーザシステムのいずれに適用される場合でも、基地局10は、各ユーザの得点や訓練内容などを保持している管理サーバ(図示せず)と通信するものとする。
ユーザXは、基地局10x、端末5xa、5xbを含むBANを装着しており、ユーザYは、基地局10y、端末5ya、5ybを含むBANを装着しているものとする。図11の例では、移動端末40x、40yは、いずれも訓練やゲームに用いられるレーザや銃などの火器である。一方、端末5xa〜5ybは、移動端末40x、40yから出力されたレーザ等を受信可能な受光器などである。基地局10xは管理サーバからユーザXのステイタスを取得し、基地局10yは管理サーバからユーザYのステイタスを取得するものとする。以下、通知データ33は各ユーザのステイタスであり、各ユーザのステイタスは、有効なレーザを照射できるかを表わす情報であるものとする。また、以下の説明では、すでに撃たれているユーザが火器を操作しても有効なレーザが発射されない場合を例とする。なお、ユーザが他のユーザに撃たれるとは、有効なレーザを発射できる他のユーザが使用している火器(移動端末40)から発射されたレーザが、ユーザが装着している受光器(端末5)に照射されることを指すものとする。また、以下の説明では、動作を行っている装置を区別し易くするために、符号の後に動作を行っている移動端末40や基地局10に割り当てられたアルファベットを記載することがある。例えば、トリガ発生部53yは、移動端末40yに含まれているトリガ発生部53である。
まず、ユーザYが移動端末40yとして動作している火器の引き金を引いたとする。移動端末40yとして動作する火器の引き金が操作されたことにより、トリガ発生部53yは通信トリガを発生させる。送信パケット生成部54yは、通信トリガにより、通信の開始が要求されていると判定する。
矢印A31に示すように、送信パケット生成部54yは、移動端末40yが発射準備に入ったことを通知するための通知パケットを、連続送信数Nと同数、送信する。基地局10yの制御スロット中に移動端末40yから通知パケットが送信されたことにより、基地局10yは、移動端末40yから通知パケットを受信したとする。すると、基地局10yは、矢印A32に示すように、ユーザYのステイタスを含む応答パケットを移動端末40yに送信する。このとき移動端末40yには、ユーザYが有効なレーザを照射できることを示す情報が通知されたとする。また、応答パケットの送受信により、移動端末40yと基地局10yの間での接続が確立している。
矢印A33に示すように、ユーザYが、移動端末40yを用いて、ユーザXが装備している端末5xbに対してレーザを照射したとする。すると、移動端末40yは、有効なレーザを発射したことを示す情報を、基地局10yに通知する。このとき、移動端末40yと基地局10yは、基地局10yのデータ通信用スロットで通信する。基地局10yは管理サーバに対して、移動端末40yからレーザが照射されたことを通知する。
矢印A34に示すように、ユーザXが装備している端末5xbは、有効なレーザを受光したことを、基地局10xから割り当てられているデータ通信用スロットを用いて通知する。基地局10xの受信パケット処理部22xは、ユーザXのステイタスを、有効なレーザが照射できないように変更する。なお、送信パケット生成部25xは、管理サーバに対して、ユーザXのステイタスの変更を通知しても良い。
基地局10xが端末5xbにレーザが照射されたことを示す情報を受信した直後に、ユーザXが移動端末40xの引き金を引いたとする。すると、トリガ発生部53xは、通信トリガを発生させる。送信パケット生成部54xは、移動端末40xが発射準備に入ったことを通知するための通知パケットを、連続送信数Nと同数、送信する(矢印A35)。基地局10xは、制御スロット中に移動端末40xから通知パケットを受信したとする。すると、基地局10xは、ユーザXが有効なレーザを照射できないことを示す情報を含む応答パケットを移動端末40xに送信する(矢印A36)。
次に、ユーザXが、移動端末40xを用いて、ユーザYが装備している端末5yaに対してレーザを照射しようとしたとする。しかし、移動端末40xは、有効なレーザを発射できないことを基地局10xから通知されているので、レーザを照射しない(矢印A37)。
このように、基地局10は、移動端末40との間の接続を確立するための情報と共に、ユーザが有効なレーザを照射できるかを示す情報を移動端末40に通知する。このため、移動端末40として動作している火器は、レーザを照射するための処理を開始する前に、ユーザが有効なレーザを照射できるかを示す情報を取得することができる。従って、第1の実施形態を適用すると、ステイタスの変更が火器に通知されるまでに時間がかかったことにより、有効なレーザを照射しないはずのユーザの火器から、レーザが照射されることを防ぐことができる。従って、第1の実施形態をゲームシステムに適用することにより、ゲームの臨場感を向上することができる。また、訓練システムに第1の実施形態が適用されると、精度の高い訓練を行うことができる上、各ユーザの射撃結果についての正確なデータをサンプリングすることもできる。
図12は、事故を起こした車を特定するためのシステムに第1の実施形態を適用した場合の例を示す図である。図12の例では、車載器70は、基地局10と移動端末40の両方として動作するものとする。車載器70は、同じネットワークに属する端末5に対しては基地局10として動作するが、他のネットワーク中の基地局に対しては、基地局10と移動端末40のいずれかとして動作する。以下、車両71aに車載器70a、車両71bに車載器70bが搭載されている場合を例として説明する。また、車両71aには端末5a〜5cも搭載されており、車載器70aは端末5a〜5cと同じネットワークに含まれているものとする。なお、端末5a〜5cは、車両71aの変形などを検出するためのセンサを含むものとする。各車載器70は、通知データ33として車載器70のIDを使用する。さらに、車載器70のIDと車載器70を搭載している車両71や車両71のユーザの識別子を対応付けた情報は、予め、警察などに保持されているものとする。
A41において、車両71bが車両71aの後部に追突したとする。端末5aは、追突による衝撃で車両71aの一部が変形したことを検出すると、車載器70aに変形の発生を通知する(矢印A42)。なお、端末5aと車載器70aの通信は、データ通信用スロットを用いて行われる。
車載器70aに含まれているトリガ発生部53aは、端末5aからの通知に応じて、送信パケット生成部54aに通信を要求する。送信パケット生成部54aは、連続送信数Nと同数のパケットをブロードキャストする(矢印A43)。
矢印A43で送信されたパケットを受信した車載器は、その車載器の識別情報を含めた応答パケットを、車載器70aに送信する。例えば、A41〜A43の処理が車載器70aで迅速に行われたことにより、図12に示すように、事故を起こした車両71bが車両71aの近傍に位置しているときに、車載器70aからパケットが送信されたとする。すると、車載器70bは、車載器70aから送信されたパケットに応答して、車載器70bの識別情報を含む応答パケットを車載器70aに送信する(矢印A44)。このため、事故にあった車両71aに搭載されている車載器70aは、事故を起こした車両71bに搭載されている車載器70bの情報を取得することができる。
事故を起こした車両の特定システムでは、事故の加害者が素早く逃走してしまう恐れがあるため、早期に事故車両の特定に使用可能な情報を取得することが望ましい。第1の実施形態にかかる通信方法を適用することにより、加害者が逃走する前に、被害者の車両中の車載器が、加害者の車両に搭載されている車載器の情報を取得できる。このため、警察は、車載器の識別情報を用いて、加害者を早期に特定できる。
<第2の実施形態>
第2の実施形態では、移動端末40が通信を開始するために送信するパケットにシーケンス番号を含める場合について説明する。ここで、シーケンス番号は、基地局10に通信を要求するために送信される連続送信数Nと同数のパケットのうちで、そのパケットが何番目にあたるかを示す番号である。基地局10中の決定部24は、シーケンス番号と、連続送信数Nを用いて、移動端末40からのパケットの送信が終了するまでの時間を計算し、応答パケットのタイミングを求めることができる。
図13は、第2の実施形態で行われる通信の例を説明する図である。図13を参照しながら、連続送信数N=6の場合を例として説明する。また、第1の実施形態と同様に、待機期間w1とw2では基地局10が移動端末40からのパケットの受信に備えて待機しており、待機期間w3では移動端末40が基地局10からの応答パケットの受信に備えて待機しているものとする。
移動端末40中で通信を開始するためのトリガが発生したことにより、矢印A51に示すように、パケットが移動端末40から周波数F2を用いて送信される。ここで、矢印A51で送信されたパケットにはシーケンス番号=1が含まれているものとする。
基地局10中の受信パケット処理部22は、通信部11、復調部12を介してパケットを取得する。受信パケット処理部22は、シーケンス番号を決定部24に出力する。決定部24は、予め、連続送信数Nを保持しているものとする。決定部24は、連続送信数Nと受信パケットに含まれているシーケンス番号との差に応じて、応答パケットを送信するまでの待ち時間を決定する。例えば、決定部24は、(2)式から待ち時間ΔTを求めることができる。
ΔT=(N−sn)×(k+i)・・・ (2)
ここで、Nは移動端末40からのパケットの連続送信数、snは受信パケット中のシーケンス番号、kは基地局10が1つのパケットを受信するためにかかる時間の長さを示す。さらに、iは、パケットの送信間隔である。
矢印A51で送信されたパケットを基地局10が受信した後で、基地局10でのデータ通信用スロットが開始したとする。基地局10は、接続中の装置と通信するために通信に使用する周波数をF2からF1に変更する。このため、矢印A52〜A54で送信されたパケットは、基地局10で受信されない。
その後、基地局10での制御スロットが開始したため、基地局10は、通信に使用する周波数をF1からF2に変更したとする。使用する周波数がF2に設定された後は、基地局10は移動端末40から送信されたパケットを受信しうる。
矢印A55において移動端末40はシーケンス番号=5のパケットを送信するが、矢印A55で送信されたパケットは基地局10に到達しなかったものとする。決定部24は、最後に移動端末40からパケットを受信してから次のパケットが基地局10に向けて送信されるまでにかかる時間(閾値Th)が経過しているものの、前回のパケットの受信時刻から待ち時間ΔTが経過していないので、応答パケットを送信せずに待機する。
矢印A56において、基地局10は移動端末40から、シーケンス番号=6のパケットを受信する。受信パケット処理部22と決定部24は、矢印A51でパケットを受信したときと同様の処理を行う。ここで、連続送信数N=6であるため、決定部24は、新たに待ち時間ΔTを次式から計算する。
ΔT=(N−sn)×(k+i)=(6―6)×(k+i)=0
従って、決定部24は、応答パケットを送信することを決定し、送信パケット生成部25に応答パケットの送信を要求する。送信パケット生成部25の処理は第1の実施形態と同様であるので、矢印A57に示すように、応答パケットが移動端末40に送信される。
第2の実施形態では、基地局10がパケット中のシーケンス番号を用いて応答パケットを送信するまでの待ち時間を計算する。このため、移動端末40から送信されたパケットの一部が基地局10に到達しなくても、基地局10の決定部24は、移動端末40からパケットが送信されてくる可能性があるかを判定できる。基地局10は、移動端末40からのパケットの送信が終了してから応答パケットを送信するので、第2の実施形態では、移動端末40から送信されたパケットと応答パケットが衝突することに起因して通信に失敗する可能性が低くなっている。さらに、第2の実施形態でも、第1の実施形態と同様に、移動端末40は、応答パケットを受信することによって、通知データ33を取得できるので、通知データ33を早期に処理できる。従って、通知データ33として緊急データが応答パケットで通知されれば、緊急データの適用が早められる。また、応答パケットにより、基地局10と移動端末40の間のコネクションが確立するので、通信を開始するためにかかる時間も短縮される。
図14は、基地局10が行う処理の例を説明するフローチャートである。図14に示す例では、決定部24は待機フラグを保持するものとする。待機フラグは、基地局10が制御スロットでパケットを受信した後、応答パケットの送信のタイミングになるまでの送信待機を行っているかを示す。待機フラグ=0の場合、応答パケットの送信のトリガとなるパケットを受信していないので、送信待機を行っていないことを示す。一方、待機フラグ=1の場合、応答パケットの送信のトリガとなるパケットを受信済みであり、待ち時間ΔTよりもタイマ23のカウント値が大きくなると応答パケットを送信するために待機していることを示すものとする。
決定部24は、待機フラグ=0に設定する(ステップS40)。ステップS41〜S43の処理は、図9を参照しながら説明したステップS1〜S3と同様である。また、ステップS55〜S57の処理も、ステップS10〜S12(図9)と同様である。
基地局10がパケットを受信すると、決定部24は、待機フラグ=1に設定すると共に、受信パケット処理部22から受信パケットに含まれているシーケンス番号を取得する(ステップS43でYes、ステップS46、S47)。さらに、決定部24は、タイマ23をリセットする(ステップS48)。決定部24は、連続送信されるパケットの数Nと受信パケットに含まれているシーケンス番号の差に応じて、待ち時間ΔTを計算する(ステップS49)。タイマ23のカウント値が待ち時間ΔTを超えると、送信パケット生成部25の処理により、基地局10は、応答パケットを送信する(ステップS50でYes、ステップS53)。さらに、決定部24は、待機フラグ=0に設定する(ステップS54)。
一方、タイマ23のカウント値が待ち時間ΔT未満の場合、設定部21は、タイムスロットが変更されるかを判定する(ステップS50でNo、ステップS51)。タイムスロットが変更される場合、ステップS41以降の処理が繰り返される(ステップS51でYes)。タイムスロットが変更されない場合、受信パケット処理部22は、パケットを受信したかを判定する(ステップS51でNo、ステップS52)。基地局10が新たにパケットを受信していない場合、ステップS50以降の処理が繰り返される(ステップS52でNo)。一方、基地局10が新たにパケットを受信した場合、ステップS47以降の処理が繰り返される(ステップS52でYes)。
ステップS43でパケットを受信していないと判定された場合、設定部21は、タイムスロットが変更されるかを判定する(ステップS44)。タイムスロットが変更される場合、ステップS41以降の処理が繰り返される(ステップS44でYes)。一方、タイムスロットが変更されない場合、決定部24は、待機フラグ=1であるかを判定する(ステップS44でNo、ステップS45)。待機フラグ=1である場合、ステップS50以降の処理が繰り返される(ステップS45でYes)。待機フラグ=0である場合、ステップS43以降の処理が繰り返される(ステップS45でNo)。
なお、図14は処理の一例である。例えば、基地局10は、ステップS52の判定処理を行わずに、ステップS51でNoと判定されるとステップS50に戻るように変形されても良い。この場合、新たなパケットを用いて待ち時間が再計算されないので、基地局10の処理負荷を軽減することができる。
<第3の実施形態>
次に、基地局10が密集した場合などに移動端末40との通信状況が良好ではない基地局10が移動端末40との間でコネクションを生成することを防ぐために、通信状況に応じて応答パケットの送信タイミングを変更する場合について説明する。
なお、第3の実施形態では、通信を開始するまでの時間を短くするために、移動端末40は、通信を確立するためのパケットの送信後、最初に受信した応答パケットを処理対象とするものとする。すなわち、移動端末40は、複数の応答パケットを受信した場合、最初に受信した応答パケット中に含まれている通知データ33を用いてアプリケーション処理部52での処理を行い、他の応答パケットで通知された通知データを使用しない。さらに、移動端末40は、移動端末40が最初に受信した応答パケットの送信元の基地局10との間でコネクションを生成するが、他の基地局10とは通信を行わない。
図15は、第3の実施形態で使用される基地局80の構成の例を示す。基地局80は、通信部11、復調部12、変調部13、記憶部30、制御部85、アンテナ106を備える。制御部85は、RSSI(Received Signal Strength Indication)測定部86を備え、さらに、設定部21、受信パケット処理部22、タイマ23、決定部24、送信パケット生成部25を備える。記憶部30は、閾値データ31と通知データ33の他に識別情報32も記憶する。
RSSI測定部86は、通信部11で受信された受信信号を用いて、受信信号の強度を求める。決定部24は、RSSI測定部86で得られた受信信号の強度が所定の閾値Th2を超えているかを用いて、応答パケットを送信するタイミングを決定する。
識別情報32は、基地局10と接続する可能性が高い移動端末40の情報である。例えば、図11を参照しながら説明した訓練システムでは、移動端末40として動作する火器の各々に、その火器を使用するユーザの識別情報が記憶されている。また、基地局10は、各ユーザに装着されている。各ユーザは、基本的には、自分の火器を使用する可能性が高いので、基地局10は、その基地局が装着されているユーザに対応付けられた移動端末40と通信する可能性が高いといえる。このため、基地局10は、基地局10を装着しているユーザに対応付けられた移動端末40が保持する識別情報を、識別情報32として記憶する。例えば、移動端末40yには、ユーザYの識別情報が記憶されている場合、基地局10yは識別情報32としてユーザYの識別情報を記憶する。
設定部21、受信パケット処理部22、タイマ23、決定部24、送信パケット生成部25、通信部11、復調部12、変調部13で行われる処理は、第3の実施形態でも、第1の実施形態と同様である。なお、基地局80も図6に示すハードウェアによって実現されうる。この場合、制御部85はプロセッサ103によって実現される。
図16は、第3の実施形態で基地局80が接続応答を送信可能な期間の決定方法の例を説明する図である。図16において、Pfinは、移動端末40が基地局10と通信を確立するために送信したパケットのうちで最後に送信されたパケットを示す。なお、移動端末40が基地局10と通信を確立するために送信するパケットには、移動端末40または移動端末40のユーザのいずれかを識別する識別情報が含められているものとする。
決定部24は、移動端末40から受信したパケットに含まれている識別情報を、識別情報32と比較する。受信したパケットに含まれている識別情報と識別情報32が一致すると、決定部24は、図16の第1期間のうちで、移動端末40との通信が可能なときに、応答パケットを送信することを決定する。ここで、第1期間は、移動端末40から連続的に送信された最後のパケットの受信時刻から所定の時間が経過するまでの間の期間である。なお、第1〜第3期間の長さは、予め、各基地局80が記憶しているものとする。
受信したパケットに含まれている識別情報と識別情報32が一致していない場合、決定部24は、さらに、RSSI測定部86での測定結果と閾値Th2との間の比較結果を用いて、応答パケットの送信のタイミングを決定する。ここで閾値Th2は、通信が良好な状況で行われると想定できる受信強度のうちの最小値である。従って、RSSI測定部86での測定結果が閾値Th2を越えている基地局80と移動端末40の間では、良好な状況下で通信が行われると想定できる。このため、決定部24は、受信パケットに識別情報32が含まれておらず、かつ、信号の受信強度が閾値Th2を超えている場合、図16の第2期間の制御スロット中で、応答パケットを移動端末40に送信することを決定する。ここで、第2期間は、第1期間の終了時刻から、第2期間の長さとして決定部24が記憶している時間が経過するまでの期間である。
一方、受信パケットに識別情報32が含まれておらず、かつ、信号の受信強度が閾値Th2以下の場合、決定部24は、図16の第3期間の制御スロット中で、応答パケットを移動端末40に送信することを決定する。ここで、第3期間は、第2期間の終了時刻から、第3期間の長さとして決定部24が記憶している時間が経過するまでの期間である。
例えば、図3に示すように、3つの基地局が移動端末40からのパケットを受信できる領域内に存在したとする。ここでは、B1のBANに基地局80a、B2のBANに基地局80b、B3のBANに基地局80cが位置しているとする。さらに、移動端末40は、移動端末40T3に位置しているものとする。また、基地局80cが記憶している識別情報32cは、移動端末40の識別情報と一致するものとする。この状況において、移動端末40は、いずれかの基地局との間のコネクションを確立するために、移動端末40の識別情報を含むパケットを、連続送信数Nと同数、送信したとする。
基地局80cは、識別情報32cとして移動端末40の識別情報を保持しているので、図16の第1期間中に応答パケットを移動端末40に送信する。基地局80bは、移動端末40の識別情報を保持しておらず、さらに、RSSI測定部86bで得られたRSSIは閾値Th2を超えていたとする。すると、基地局80bは、第2期間中に、移動端末40に応答パケットを送信する。一方、基地局80aは、移動端末40の識別情報を保持しておらず、さらに、RSSI測定部86aで得られたRSSIは閾値Th2以下であるとする。すると、基地局80aは、第3期間中に、移動端末40に応答パケットを送信する。従って、基地局80c、基地局80b、基地局80aの順に、移動端末40に応答パケットを送信することになる。このため、移動端末40が基地局80cから送信された応答パケット中の通知データ33cを処理する可能性は、移動端末40が基地局80b、80aから通知されたデータを処理する可能性よりも高い。また、基地局80a〜80cのうちでは、基地局80cが、移動端末40との間でコネクションを確立する可能性が最も高い。基地局80cからの応答パケットの受信に失敗したとしても、移動端末40が基地局80bからの応答パケットを受信できれば、移動端末40は、基地局80aよりも通信状況の良い基地局80bを用いて通信できることになる。
図17は、基地局80が応答パケットを送信するタイミングを決定するために行う処理の例を説明するフローチャートである。基地局80は、移動端末40から連続的に送信された最後のパケットを受信したとする(ステップS61)。決定部24は、受信パケット中に含まれている識別情報(ID)と、識別情報32として記憶している情報が一致するかを判定する(ステップS62)。受信パケット中の識別情報と、識別情報32が一致する場合、決定部24は、応答パケットを送信するタイミングを第1期間中に設定する(ステップS62でYes、ステップS63)。受信パケット中の識別情報と識別情報32が一致しないが、RSSIが閾値Th2を超えていれば、決定部24は、応答パケットを送信するタイミングを第2期間中に設定する(ステップS62でNo、ステップS64でYes、ステップS66)。受信パケット中の識別情報と識別情報32が一致せず、RSSIが閾値Th2以下の場合、決定部24は、応答パケットを送信するタイミングを第3期間中に設定する(ステップS62でNo、ステップS64でNo、ステップS65)。決定部24は、設定した期間内で制御チャネルに割り当てられたタイムスロットにおいて、送信パケット生成部25に応答パケットの送信を要求する(ステップS67)。送信パケット生成部25は、決定部24からの要求に応じて、通信部11、変調部13を介して、応答パケットを移動端末40に送信する(ステップS68)。
図18は、第3の実施形態により回避される通信手順の例を示す。SF3は、基地局Wが使用するスーパーフレームであり、SF4は、基地局Zが使用するスーパーフレームであるとする。なお、基地局Zのほうが、基地局Wよりも移動端末40に近い位置に存在しているとする。
矢印A61に示すように、移動端末40は、通信の確立を要求するために送信する最後のパケット(Pfin)を送信したとする。パケットPfinは、基地局Wと基地局Zのいずれでも受信されたとする。図18に示すように、SF3とSF4では、制御スロットの終了時刻がずれているので、基地局ZではパケットPfinの受信直後に制御スロットが終了するが、基地局WではパケットPfinの受信後でも制御スロットを用いた通信が可能である。第3の実施形態を適用しないと、矢印A62とA63に示すように、移動端末40からの距離が相対的に遠い基地局Wの方が基地局Zよりも先に移動端末40に応答パケットを送信する。このため、基地局Zよりも基地局Wの方が移動端末40と通信を行う確率が高くなり、移動端末40は、通信環境が最適ではない基地局との間の通信を行ってしまう恐れがある。さらに、図11に示すような訓練システムでは、ユーザAがユーザAに割り当てられた火器を用いて訓練を行っているにも関わらず、ユーザAの近傍に存在するユーザBによってユーザAの火器が使用されているように誤解される恐れもある。
また、第3の実施形態を用いると、基地局80が第1期間から第3期間のいずれかを選択して応答パケットを送信するため、移動端末40の近傍に複数の基地局80が位置していても、応答パケットが送信されるタイミングが重なりにくい。このため、干渉により応答パケットの送信に失敗する可能性が低くなっている。さらに、第3の実施形態を用いると、識別情報を用いて優先的に接続する基地局80が決定されるため、訓練システムやゲームなどにおいて、複数のユーザが密集する場合でも、移動端末40と基地局80の対応付けに成功しやすくなる。また、RSSIが閾値Th2を超えている基地局80の方が、RSSIが閾値Th2以下の基地局80よりも早く応答パケットを送信するため、第3の実施形態では、通信状態の良好な基地局と移動端末40との間での通信が確立しやすくなっている。
<変形例>
図19は、第2および第3の実施形態を組み合わせた場合の通信の例を説明する図である。基地局80aと基地局80bが移動端末40の近傍に位置しており、基地局80bが移動端末40の識別情報を識別情報32bとして記憶しているとする。また、基地局80aはSF5に示すスーパーフレームを使用し、基地局80bはSF6に示すスーパーフレームを使用するものとする。さらに、データ通信用スロットでは、干渉を防ぐために、基地局80aはチャネルCH3(周波数F3)、基地局80bはチャネルCH2(周波数F2)を用いて、接続中の装置との通信を行っている。なお、図19は、連続送信数Nが6である場合の例を示している。
矢印A71に示すようにパケット送信のトリガが発生すると、移動端末40では、トリガ発生部53が送信パケット生成部54にパケットの送信を要求する。送信パケット生成部54の処理により、移動端末40は、矢印A72〜A76に示すように、シーケンス番号=1〜5のパケットを送信したとする。図19の例では、基地局80aは、矢印A72で示すように、シーケンス番号=1のパケットを受信したとする。一方、基地局80bでは、矢印A76で示すように、シーケンス番号=5のパケットを受信したとする。
基地局80aの決定部24aは、シーケンス番号=1のパケットを受信すると、第3の実施形態と同様の処理により、第1〜第3期間のいずれで応答パケットを移動端末40に送信するかを決定する。ここでは、決定部24aは、第2期間に応答パケットを送信することを決定したとする。次に、移動端末40から連続的に送信される最後のパケット(Pfin)の受信時刻を予測する。パケットPfinの受信時刻の予測方法は、第2の実施形態と同様である。さらに、決定部24aは、パケットPfinの受信時刻と、第1期間の長さ、および、第2期間の長さを用いて、応答パケットを送信可能な期間を決定する。
基地局80bの決定部24bも、シーケンス番号=5のパケットを受信すると、決定部24aと同様に、応答パケットを送信可能な期間を求める。ここでは、決定部24bは、第1期間中に応答パケットを送信することを決定したとする。
基地局80aと基地局80bのいずれにおいても、パケットPfin(シーケンス番号=6)のパケットの受信時刻として予測した時刻が経過するまで応答パケットを送信しない。このため、基地局80aと基地局80bのいずれも、矢印A77に示すタイミングで送信されたパケット(シーケンス番号=6のパケット)を受信できる。
矢印A78に示すように、基地局80bは、シーケンス番号=6のパケットを移動端末40から受信してから、第1期間が終了するまでに応答パケットを移動端末40に送信する。一方、基地局80aは、第2期間に応答パケットを移動端末40に送信する(矢印A79)。このため、基地局80bは基地局80aよりも早い時点で移動端末40に応答パケットを送信することができる。従って、移動端末40から送信されたパケット中の識別情報と同じ識別情報32を記憶している基地局80bは、基地局80aよりも後に移動端末40からのパケットを受信しても、基地局80aより早い時点で応答パケットを移動端末40に送信できる。このため、移動端末40が基地局80bから送信される通知データ33bを処理する可能性は、移動端末40が基地局80aから送信される通知データ33aを処理する可能性よりも大きい。さらに、基地局80bの方が基地局80aよりも移動端末40と接続を確立しやすい。また、基地局80aと基地局80bが応答パケットを同じ期間に送信することによる干渉の発生も回避される。
<第4の実施形態>
第4の実施形態では、基地局と通信中の装置の数や送受信されるデータの優先度などに応じて、スーパーフレーム中のデータ通信用スロットの長さが変更される場合の例を説明する。
図20は、第4の実施形態で使用される基地局90の構成の例を示す。基地局90は、通信部11、復調部12、変調部13、制御部91、記憶部93、アンテナ106を備える。制御部91は、SF(Superframe)更新判定部92を備え、さらに、設定部21、受信パケット処理部22、タイマ23、決定部24、送信パケット生成部25を備える。記憶部93は、閾値データ31、通知データ33、および、通信状態データ94を格納する。なお、通信部11、復調部12、変調部13、設定部21、受信パケット処理部22、タイマ23、決定部24の処理は、第1〜第3の実施形態と同様である。
通信状態データ94は、基地局90とデータ通信用スロットを用いて通信している装置の数、データ通信用スロットを用いて送受信されるデータの優先度、データ通信用スロットを用いて送受信されているデータのトラフィックレートなどである。受信パケット処理部22は、受信パケットを処理する際に、適宜、通信状態データ94を更新するものとする。
SF更新判定部92は、通信状態データ94の値をモニタしており、閾値データ31として記憶されている閾値との比較結果に応じて、スーパーフレーム中の各スロットの長さを変更するかを判定する。
図21は、制御スロットの長さの調整方法の例を説明する図である。図21のパケットP1〜P4は、移動端末40が通信を開始するために送信するパケットである。制御スロットは移動端末40からパケットが送信されるタイミングが最も悪い場合であっても1つ以上のパケットを受信できるように、長さが調整される。タイミングが最も悪いケースでは、図21に示すように、移動端末40から送信されたパケットP2の先頭が基地局90に到達した直後に制御スロットが開始するため、基地局90は、パケットP2の受信に失敗してしまう。この場合、次に移動端末40から送信されるパケットP3を基地局90が受信できれば、移動端末40と基地局90の間で通信が可能になる。そこで、制御スロットの時間STcは、式(3)で表わすことができる。
STc>2k+i ・・・(3)
ここで、kは基地局10が1つのパケットを受信するためにかかる時間の長さであり、iは連続的に送信されているパケットの送信間隔である。SF更新判定部92は、制御スロット1つとデータ通信用スロット1つの合計を変更させないように、制御スロットとデータ通信用スロットの長さを変更するものとする。すなわち、制御スロットの長さ(STc)とデータ通信用スロットの長さ(STd)の合計値(Tsum)は一定の値となる。すると、データ通信用スロットの長さは、式(4)で表わせる。
STd=Tsum−STc
<Tsum−(2k+i) ・・・(4)
そこで、SF更新判定部92は、式(4)を満たすように、データ通信用スロットの長さを求める。
図22は、SF更新判定部92が行う処理の例を説明するフローチャートである。なお、以下の説明でSF更新判定部92が使用する閾値Th3〜Th6は、いずれも、閾値Thや閾値Th2と同様に、閾値データ31として記憶されているものとする。
SF更新判定部92は、基地局90と通信中の装置の数が閾値Th3を越えているかを判定する(ステップS71)。基地局90と通信中の装置の数が閾値Th3以下の場合、SF更新判定部92は、単位時間当たりに送受信するパケット数が閾値Th4を越えているかを判定する(ステップS71でNo、ステップS72)。単位時間当たりに送受信するパケット数が閾値Th4以下の場合、SF更新判定部92は、単位時間当たりに送受信する優先パケットの数が閾値Th5を越えているかを判定する(ステップS72でNo、ステップS73)。単位時間当たりに送受信する優先パケットの数が閾値Th5以下である場合、SF更新判定部92は、スーパーフレーム中のタイムスロットを変更しないことを決定し、ステップS71に戻る(ステップS73でNo)。
一方、ステップS71〜S73のいずれかでYesと判定した場合、SF更新判定部92は、スーパーフレーム中のスロットの長さを変更することを決定する。そこで、SF更新判定部92は、データ通信用スロットの長さをM倍した値(X)を求める(ステップS74)。ここで、Mは1よりも大きい任意の数であるものとする。SF更新判定部92は、Xが閾値Th6を超えているかを判定する(ステップS75)。ここで、閾値Th6は、データ通信用スロットの最大長であり、式(4)などを用いて計算される。SF更新判定部92は、Xが閾値Th6以下の場合、データ通信用スロットの長さをXに設定する(ステップS75でNo、ステップS76)。Xが閾値Th6を超えている場合、SF更新判定部92は、閾値Th6と同じ長さにデータ通信用スロットを調整する(ステップS75でYes、ステップS77)。さらに、SF更新判定部92は、データ通信用スロットの長さの変更に合わせて、制御スロットの長さも変更し、変更後のスロットを用いた通信を開始する(ステップS78)。
なお、図22を参照しながら、通信用データスロットの長さを長くする場合の処理について説明したが、同様の手順により、SF更新判定部92は、通信用データスロットの長さを短くしても良い。例えば、基地局90が通信中の端末数、基地局90と移動端末40が単位時間に送受信するパケット数などが所定の閾値を下回った場合に、SF更新判定部92は、データ通信用スロットを短くすることもできる。なお、通信用データスロットの長さを変更するかを判定するための基準は、実装に応じて任意に変更され得る。また、閾値Th3〜Th5の値や、通信用データスロットの長さを短くするかを判定するために使用される閾値も、実装に応じて設定される。
図23は、第4の実施形態で使用されるスーパーフレームの例を示す。例えば、基地局90がSF7に示すスーパーフレームを用いて通信しているときに、基地局90と通信している装置の数が閾値Th3よりも大きな値に増加した等の原因により、SF更新判定部92は、スーパーフレームをSF8に示すように変更できる。スーパーフレームの変更により、基地局90は、通信中の装置との通信量を増大させることができる。一方、基地局90と通信している端末の減少などにより、データ通信用スロットを用いた通信量が減少した場合、SF更新判定部92は、基地局90で使用するスーパーフレームをSF8からSF7に変更する。なお、スーパーフレームの変更に伴って、通信中の装置との通信のタイミングが変更される場合、スーパーフレームの先頭に付されているビーコンによって、通信のタイミングの変更が、基地局90と通信中の各装置に通知される。
<第5の実施形態>
移動端末40が報知信号を受信できる範囲に位置する基地局の数が少ない場合、基地局が報知信号を送信しても、他の基地局から送信された報知信号との干渉に起因する通信の失敗が起こる確率は低い。このため、周辺の基地局10の数が少ない状況下であって、かつ、射撃訓練システムなどのように、基地局10が移動端末40に対して緊急データを送信する場合は、各基地局10が、報知信号と共に、緊急データを送信することもできる。以下、射撃訓練システムを例として説明するが、第5の実施形態は、射撃訓練システム以外のゲームシステムなどにも適用され得る。以下の説明では、基地局10x、10yは、いずれも、緊急データとして、ユーザが有効なレーザを照射できるかを表わす情報を送信するものとする。
図24は、第5の実施形態で行われる通信の例を説明する図である。ここで、ユーザXは基地局10x、および、基地局10xと通信する任意の数の端末5を含むBANを装着しているものとする。なお、図11と同様に、端末5は、受光器であり、移動端末40xは模擬的な射撃を行うためのレーザ照射が可能な火器であるものとする。また、移動端末40xは、ユーザXが使用することが想定されているものとする。一方、ユーザYが装着しているBANには基地局10yが含まれているものとする。移動端末40xは、所定の期間、報知信号を受信可能な基地局10の各々について、RSSIなどの通信状況を示す値を求め、通信状況が相対的に良好な基地局10と通信する。
矢印A81において、基地局10yは、ユーザYが有効なレーザを照射できることを示す情報を含む報知信号を送信する。移動端末40xの受信パケット処理部51xは、基地局10yから受信した報知信号に含まれている情報を、基地局データ62xとして記憶部60に格納する。なお、基地局データ62xでは、各基地局から送信された通知データ33や各基地局との通信状況を示す情報が、基地局の識別子に対応付けられているものとする。
矢印A82において、基地局10xは、ユーザXが有効なレーザを照射できることを示す情報を含む報知信号を送信する。移動端末40xの受信パケット処理部51xは、基地局10yから受信した報知信号と同様に処理を行うため、基地局データ62xに基地局10xから受信した報知信号の情報が追加される。矢印A83、A84においても、同様に、基地局10yと基地局10xから送信された報知情報を用いた処理が行われる。
所定の時間が終わると、移動端末40x中の受信パケット処理部51xは、基地局データ62xを用いて、通信状態が相対的に良好な基地局から得られた通知データ33をアプリケーション処理部52xに出力する。なお、図24に示すように、同じ基地局から複数の報知信号を受信している場合、最新の報知信号についての情報が判定に使用されても良い。また、RSSIなどの受信状況を示す値については、複数回の報知信号についての平均値を用いて判定が行われても良い。アプリケーション処理部52xは、通知データ33を処理する。
例えば、基地局10xからのRSSIが基地局10yからの報知信号を用いて得られたRSSIよりも大きいため、基地局10xから通知された通知データ33xがアプリケーション処理部52xに出力されたとする。すると、アプリケーション処理部52xは、ユーザXが有効なレーザを用いた射撃ができると判定し、ユーザXが射撃を行うときにレーザを出力させる。
アプリケーション処理部52xでの処理やユーザの射撃と並行して、移動端末40xは10xとの間での接続を確立するための処理を適宜行うことができる。基地局10xと移動端末40xの間で接続が確立されると、移動端末40xは、接続処理によって生成されたコネクションを用いて、基地局10xとの間の通信を行う。
図25は、報知信号の送信タイミングの変更方法の例を説明する図である。図24で説明した通信処理に加えて、各基地局10は、報知信号を送信するタイミングを、制御スロット中でランダムに変更するように変形されてもよい。図25の例では、STc1〜STc3が制御スロットである。また、send1〜send3が報知信号の送信タイミングを表わすものとする。STc1では基地局10は制御スロットの開始時に報知信号を送信しているのに対し、STc2では制御スロットの中間で報知信号が送信される。さらに、STc3では、STc1で使用されている報知信号の送信タイミングより遅く、かつ、STc2での報知信号の送信タイミングよりも早い時点で報知信号が送信される。
このように、ランダムに報知信号の送信タイミングを制御スロット中でずらすことにより、報知信号同士の干渉を軽減することもできる。また、移動端末40は、基地局との接続を確立しなくても、報知信号を用いて得られた情報を用いて処理を行うことができるので、報知信号の干渉が避けられれば、緊急データを迅速に処理することができる。
<その他>
以上の例では、基地局に通信を要求するためのパケットの送信処理を移動端末40が行う場合を例として説明したが、基地局との間でコネクションの確立と切断を行う任意の通信端末は、移動端末40と同様の処理を行うことができる。
変形例として、第2および第3の実施形態を組み合わせた場合の例を説明したが、第1〜第4の実施形態は、実装に応じて、任意の組み合わせで用いられても良い。
基地局や移動端末40で使用される閾値や、第1〜第3の期間の各々の長さなどは、実装に応じて設定されるものとする。
以上の説明では、移動端末40が基地局10との通信を開始するために送信するパケットの送信間隔が一定である場合を例として説明したが、送信間隔は変動しても良い。この場合、送信間隔の変動のパターンや、基地局でのパケットの受信にかかる時間などを用いて、制御スロットに1つ以上のパケットが送信されるように、連続送信数Nが決定される。
以上の説明では、分かりやすくするために、データ通信用スロットと制御スロットが交互にある場合を例として説明したが、スーパーフレーム中のタイムスロットの配置は、実装に応じて変更され得る。連続送信数Nは、スーパーフレーム中のデータ通信用スロットと制御スロットの配置を用いて、図7などを参照しながら説明した処理により、決定される。