JP5260264B2 - ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法 - Google Patents

ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法 Download PDF

Info

Publication number
JP5260264B2
JP5260264B2 JP2008330196A JP2008330196A JP5260264B2 JP 5260264 B2 JP5260264 B2 JP 5260264B2 JP 2008330196 A JP2008330196 A JP 2008330196A JP 2008330196 A JP2008330196 A JP 2008330196A JP 5260264 B2 JP5260264 B2 JP 5260264B2
Authority
JP
Japan
Prior art keywords
beacon
wireless communication
data
section
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008330196A
Other languages
English (en)
Other versions
JP2009260925A (ja
Inventor
英夫 岡田
徹 鎌田
浩一 及川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008330196A priority Critical patent/JP5260264B2/ja
Publication of JP2009260925A publication Critical patent/JP2009260925A/ja
Application granted granted Critical
Publication of JP5260264B2 publication Critical patent/JP5260264B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

本発明は、ビーコンの受信を契機に通信を行うビーコン無線通信に関する。
近年、無線LAN(Local Area Network)等の普及により、無線通信が盛んに行われているが、標準化されている無線通信方式に、ビーコンを受信したことを契機にデータの授受を行う無線方式がある。そのような無線通信方式の1つに、IEEE(Institute of Electrical and Electronics Engineers)802.15.4で規定されたビーコン無線通信方式がある。IEEE 802.15.4のビーコン無線通信方式の詳細については、非特許文献1を参照されたい。
図18は、ビーコン無線通信方式の概要を説明する図である。
ビーコン無線通信は、コーディネータ(Coordinator。以下CNと略す。)201と、複数のエンドデバイス(End Device。以下EDと略す。)001〜100との間で行われる。以下、説明の簡単化のため、図中でEDに付された「001」等の符号から左詰めの0を除いた番号が、各EDの識別番号として用いられるものとする。例えば、図中で「001」なる符号が付されたED001の識別番号は、1番である。
CN201は、PC(Personal Computer)200などのコンピュータと接続されて用いられる。図18は、1つのCN201が100台のEDと通信可能なシステムの例である。このように、ビーコン無線通信は、無線を介して1つのCN201に多数のEDを接続することができるのが特徴である。
図18のとおり、1台のCN201と複数台のED001〜100は、1対Nのスター型ネットワークを形成している。スター型ネットワークにおいて、CN201は親機に相当し、ED001〜100は子機に相当する。
このようなスター型ネットワークにおいて、ビーコン無線通信は次のように行われる。
すなわち、CN201は一定のタイミングで、同期信号として機能するビーコンをブロードキャストし、全ED001〜100は、ビーコンを受信して、自ED宛の情報の有無を解析する。IEEE 802.15.4規格では、ビーコンのための特殊なフレーム形式が規定されており、そのような形式のフレームはビーコンフレームと呼ばれる。また、以下では、上記一定のタイミングにより規定される、ビーコンの送信周期をビーコン周期と称する。
以下、従来の2種類のビーコン無線通信方式について説明する。
図19は、CSMA−CA(Carrier Sense Multiple Access with Collision Avoidance)方式を採用した第1の従来技術を説明する図である。
図19には、所定のビーコン周期でCN201が送信した4つのビーコンb30〜b33が図示されている。各ビーコンは、どのED宛のデータがあるかを示す情報を含む。
例えば、図18のシステムには、1〜100番という識別番号が割り当てられた100台のED001〜100が存在する。これら100台のEDのうち、10、20、30、40、50番の計5台のEDにCN201からデータを送信しようとする場合、CN201は、ビーコンb30の中にこれら5台のEDの識別番号を挿入して、ビーコンb30を発信する。
こうしてブロードキャストされたビーコンb30は、各ED001〜100にて受信される。各ED001〜100は、受信したビーコンb30を解析して、自分宛のデータがあるか否かを判断する。その結果、10、20、30、40、50番の計5台のEDは、自分宛のデータがあると判断し、それ以外の95台のEDは自分宛のデータがないと判断する。
自分宛のデータがあると判断したEDは、他のEDとCSMA−CA方式で衝突を回避して、早いもの順にCN201とのデータ通信を行う。なお、ここでのデータ通信とは、ED側から見ると、CN201に自分宛のデータを要求して、当該データをCN201から送ってもらうことである。
CSMA−CA方式は、EDが、受信モードにおいて外部の電波を検知しておき、送信時に他のEDから電波が送信された場合には、最小限の待ち時間にランダムな時間を足した時間だけ待機して、他の送信電波と衝突しないように送信する方法である。
図19は、ビーコンb30に識別番号が含まれていた5台のEDが、CSMA−CA方式による衝突回避の結果、ED020、010、050、040、030の順で、1ビーコン周期以内に、CN201とそれぞれデータ通信を行うことができた例を示している。
しかしながら、CSMA−CA方式は、ビーコンに識別番号が含まれていたすべてのEDが1ビーコン周期以内にCN201とのデータ通信を行うことができると保証するものではない。
例えば、ビーコンb30の1周期後に送信されるビーコンb31は、11、21、31、41、51番という識別番号を含む。よって、ビーコンb31の受信後、ED011、021、031、041、051が、自分宛のデータがあることを認識してCN201とのデータ通信を行おうとする。図19の例では、ED051、011、041、031の順にデータ通信が成功する。しかし、ED021は、ビーコンb31の周期が終わる前にCN201とのデータ通信を終了させることができず、すなわち、衝突を回避しきれずにCN201からのデータの取得に失敗する。
このようにデータ取得に失敗した場合、図19の従来技術においては、ビーコンb31の1周期後に送信されるビーコンb32の周期において、ED021によるリトライが行われる。
例えば、ビーコンb32の周期では本来、12、22、32、42、52番の5台宛のデータがあったとする。この場合、CN201は、52番を次のビーコンb33に移動し、かわりに、直前のビーコン周期内でデータ通信に失敗したED021の識別番号である21番を、再度ビーコンb32に挿入する。こうして21、12、22、32、42番を含むビーコンb32がCN201から送信され、それによってED021とCN201とのデータ通信のリトライが行われる。このようにリトライが行われる場合、本来ビーコンb32の周期で通信されることが予定されていたED052宛のデータは、後続のビーコンb33の周期で送信される。
上記のように、CSMA−CA方式を採用すると、ビーコンに識別番号が含まれるすべてのEDが1ビーコン周期内にデータ通信を終えられないことがある。そこで、時分割方式を採用して、ED間の衝突の発生を防ぐ通信方法も提供されている。
図20は、時分割方式を採用した第2の従来技術を説明する図である。図20には、所
定のビーコン周期でCN201が送信した4つのビーコンb40〜b43が図示されている。
1周期目に発信されるビーコンb40は、図19のビーコンb30と同様に、10、20、30、40、50番という識別番号を含んでいる。よって、ビーコンb40を受信したED001〜100のうち、10、20、30、40、50番の計5台のEDのみが、自分宛のデータがあると判断する。
自分宛のデータがあると判断したEDは、次のビーコン周期である2周期目における通信占有時間の予約を1周期目のうちに行う。例えば、EDが携帯型の情報端末であり、CN201からEDに送信するデータが情報端末の画面に表示するための各種メッセージである場合、通信占有時間は、EDが自分宛のメッセージをCN201へ問い合わせ、CN201から送信してもらうための時間である。
なお、ここで通信占有時間の予約とは、具体的には、2周期目において保証スロットを確保するようCN201に依頼することである。ただし、この通信占有時間の予約を行う時点では、CN201との間の通信時間が保証されていない。そこで、1周期目において、自分宛のデータがあると判断した5台のEDは、それぞれ、他の4台のEDとの衝突をCSMA−CA方式で回避して、予約を行う。
ここで、予約を行うのに必要なデータは一般には少量の制御データのみであることに注目すると、1台のEDがCN201と予約のために通信をするのにかかる時間も短い。したがって、ほとんどの場合において、ビーコンb40を解析して自分宛のデータがあると判断したすべてのEDが、1周期目の終わりまでに予約に成功する。この点は、コンテンツデータの通信を含む図19の2周期目において、ED021がデータ通信に失敗したのと対照的である。
このようにして1周期目で通信占有時間の予約がなされると、CN201は、10、20、30、40、50番のEDの保証スロットが確保されたことを記述して、2周期目のビーコンb41を発信する。図20の例では、2周期目のビーコン周期が16個のスロットからなっており、CN201は、ビーコンb41に、10、20、30、40、50番のEDに対してそれぞれ12、13、14、15、16番目のスロットが予約されたことを記述して、ビーコンb41を発信している。
ビーコンb41を受信した10、20、30、40、50番のEDは、それぞれ、自分に対して確保されビーコンb41で指定されたスロットを認識し、認識したスロットを使用してCN201とのデータ通信を行う。
続く3周期目のビーコンb42も、2周期目のビーコンb41と同様に、10、20、30、40、50番のEDに対してそれぞれ12、13、14、15、16番目のスロットが予約されていることを記述している。2周期目でデータ通信に成功した各EDは、このビーコンb42を受信すると、保証スロットを解放するようCN201に依頼する。この解放依頼も、1周期目における予約と同様に、CSMA−CA方式で衝突を回避しながら行われる。その結果、CN201は12〜16番目のスロットを解放する。
したがって、4周期目の最初にCN201が発信するビーコンb43には、もはや、10、20、30、40、50番のEDに対してそれぞれ12、13、14、15、16番目のスロットが予約されているという記述は含まれない。よって、ビーコンb43を受信した10、20、30、40、50番のEDは、自分に対して確保された保証スロットが解放されたことを、4周期目に確認することが可能である。
また、4周期目には、データを配信したいその他のEDがあれば、CN201は、そのEDの識別番号をビーコンb43に記載することができる。図20の例では、ビーコンb43が、11、21、31、41、51番という識別番号を含み、これら5台のED宛のデータが存在することを示している。したがって、4周期目には、11、21、31、41、51番のEDが、自分宛のデータがあることを認識し、保証スロットの確保のための予約を行う。
以上、2つの従来技術について説明したが、このほかにもIEEE 802.11規格などの無線通信ネットワークにおける衝突の回避やスループットの向上などを目的とする技術が知られている。
例えば、同一周波数で干渉が生じる1以上の通信エリアを有する無線通信ネットワーク下において、ポーリングの衝突を回避し、遅延時間を抑えるための無線基地局装置が知られている。無線基地局装置は、時間間隔T1の周期性を有するデータを送受信する際に、ビーコンの送信間隔TBをT1のm倍(mは自然数)とし、かつ、時間間隔T1をT1=n・T2(nは自然数)の関係を有する一定時間間隔T2で仮想的にスロット化する手段を備える。
また、WLAN(Wireless LAN)において、SDMA(空間分割多重アクセス)対応マルチビームアンテナおよび個々の送受信機が異なるアンテナビームに同時接続されるような複数の送受信機を搭載したAP(アクセスポイント)も知られている。
さらに、次のようなアクセス制御方法も知られている。基地局からビーコンを受けた各子局は、決められた順にしたがって自己が基地局に送信する情報に関するデータ量情報を基地局に送る。基地局は、各子局から受信したデータ量情報と別途受信していた各子局に送信する情報のデータ量に基づき各子局ごとの通信時間を割り当てたうえ、この時間割り当て情報を単一フレームで各子局に送る。その後、基地局は、各子局に送信する情報を単一フレームで送信する。各子局では、時間割り当て情報にしたがって、受信した単一フレームにおける自己宛のデータを判別して受け取る一方、同じく時間割り当て情報にしたがって基地局に情報を送信する。
ほかにも、QOS(Quality Of Service)を保証するポーリングリストを公平に、効率的に生成するための方法が知られている。この方法では、受信された予約要請フレームの到着順序を基盤に、先着先処理方式によって、受信された予約要請フレームを送信したステーションにポールフレーム送信順序を割り当て、割り当てられたポールフレーム送信順序を含むポーリングリストを生成する。この方法では、到着する予約要請フレームの順序は優先権による競争であるために、最も優先権値の高いデータを有するステーションがまず第1にポーリングを受ける。
さらに、無線通信の技術分野においては、次のような技術も知られている。
例えば、複数の無線基地局が周期的に送信するビーコンを受信すると、無線端末局は、ビーコンの通信品質を判定し、最も通信品質が良い無線基地局をアソシエーション先無線基地局に決定する。アソシエーション先無線基地局にアソシエーション情報要求が行われると、無線端末局ネットワーク設定情報が送られる。これをもとに、無線端末局のネットワーク設定が行われる。また、ネットワーク管理システムにアソシエーション情報通知が送信されると、アソシエーション先無線基地局と無線端末局間のコネクションが確立する。
また、あるシステムの基地局は、端末ごとの属性情報を記憶する管理テーブルを備える
。基地局は、端末との属性情報を更新すると、管理テーブルに新しい属性情報として記憶する。そして、基地局は、アドホックネットワークを形成する状況になると、管理テーブルに記憶した属性情報を参照して端末を指定して関門端末に移行を指示する。基地局が、指定した端末から肯定受信をすると、管理テーブルを参照して他の指定端末にアドホックネットワークに移行を指示する。
また、あるシステムでは、通信アプリケーション部からの通信アプリケーションのリアルタイム要求の有無を動作モード決定部で判断する。リアルタイム要求があるとき、無線インターフェース部の電源が投入され、無線基地局に対して配送を促す制御パケットがタイマ制御部によるタイマ値にしたがって送信され、無線基地局にバッファされているパケットがタイマ値にしたがった間隔で受信される。
また、ある加入者端末は、無線基地局との間の無線通信品質を測定する測定手段と、測定結果を無線基地局に送信し、当該測定結果に基づいた課金情報を受信する無線手段を備える。この加入者端末はさらに、無線手段で測定結果を無線基地局へ送信したときに、課金情報の受信、および、当該受信した課金情報の報知、の各処理を実行するように制御する制御手段を備える。
IEEE 802.15.4-2006, IEEE Standard for Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs) 特開2005−80162号公報 特開2005−39728号公報 特許3730957号公報 特許3784386号公報 特開2004−128917号公報 特開2005−303700号公報 特開2006−246536号公報 特開2007−336575号公報
しかしながら、上記の第1および第2の従来技術における下記のような問題を解決する技術は知られていない。
第1の従来技術では、ビーコンに連動して、データ通信の対象となるEDが同時刻に一斉にデータ取得を行おうとして電波衝突が発生するのを避けるため、CSMA−CA方式により衝突を回避している。
すなわち、EDが電波を送信しようとする時に、他のEDが電波を発信していると、EDは一定時間待ち、再び、電波の空き状況を確認する。ここで、非特許文献1で規定されているCSMA−CAの待機可能回数はmacMaxCSMABackoff値より規定されている。この値の設定可能最大値は5であることから、最大待機可能回数は6回である。
ところが、6回待機した場合でも、実験等から経験的に判明した具体的な待機時間は、多くの場合、約40〜50ms程度であって、100msにもならない。
よって、仮に待機時間を約100msと多めに見積もったとしても、例えばビーコン周期が500msである場合、最初の0〜100msの間だけEDはデータの取得を試みるが、残りの400msは何の処理も行わないことになる。つまり、最初の100msの間にデータを取得することができなければ、当該ビーコン周期における当該EDのデータ通信は失敗扱いとなり、ビーコン周期の約80%を占める残りの時間ではEDは何もしない
ことになる。
ここで、通信に失敗したデータを第1の従来技術のように次のビーコン周期で送るよりは、1ビーコン周期内で何もしない時間となる400msを流用して当該ビーコン周期内でデータを送信した方が、電波の利用効率は断然、高くなる。また、電波衝突が発生するということは、無駄なデータ送信が頻繁に行われていることを示し、無線通信システムの利用効率が悪いという問題がある。
また、第2の従来技術では、EDは、CNからメッセージなどのデータを受信して処理を完了するために、少なくとも3ビーコン周期が必要であり、保証スロットの解放の確認を入れると4ビーコン周期が必要である。つまり、第2の従来技術では、情報伝達にビーコン周期2回分の遅延が発生するという問題がある。
さらに、発明者らは実験から次のような知見を得た。すなわち、親機であるCNには、PCとの間でのデータ送受信や、内部でのデータ処理など、子機であるEDとの無線通信以外の処理を実行するための時間を確保することが必要である。ビーコン送信以外のすべての時間をEDとの無線通信に割り当てようとしても、実際には、EDとの無線通信に割り当てたはずの時間がEDとの無線通信以外の処理に費やされてしまい、ED・CN間のデータ通信が失敗することがある。その結果、時間の割り当てによって意図したよりも無線通信システム全体としての通信効率が落ちてしまうことがある。
そこで本発明の目的は、通信効率を上げることである。
開示の技術の一態様によれば、ビーコン無線通信装置が提供される。ここに開示されるビーコン無線通信装置は、1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて用いられる前記ビーコン無線通信装置である。
該ビーコン無線通信装置は、前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、前記ビーコンが前記識別子を含む場合は、自ビーコン無線通信装置が前記親機にアクセスすべき時刻を計算するアクセス時刻計算手段と、前記アクセス時刻計算手段を用いて計算した前記時刻に、前記親機に、無線を通じてアクセスするアクセス手段とを備える。
ここで、前記親機が前記ビーコンを送信する周期であるビーコン周期は、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と、前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含む。
そして、前記アクセス時刻計算手段は、前記ビーコンが含む識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記未使用区間の長さとに応じて、前記ビーコン発信時刻を起点としてビーコン周期内での前記時刻を計算する。
また、開示の技術の他の態様によれば、ビーコン無線通信装置を上記のように機能させるプログラム、および上記のビーコン無線通信装置が実行する方法が提供される。
親機からビーコンを受信したときにアクセス時刻計算手段が計算する時刻は、当該ビーコンの発信時刻を起点とするビーコン周期内の時刻であるから、1ビーコン周期での効
率の良い情報伝達が可能である。
以下、各実施形態に共通の前提について説明してから、複数の実施形態について図面を参照しながら詳細に説明する。
後述の各実施形態が前提としているのは、図18を参照して既に説明したような、IEEE 802.15.4規格に準拠したビーコン無線通信システムである。IEEE 802.15.4規格は、例えば、ZigBee規格の物理層およびMAC(Media Access Control)層の仕様として使用されている。
すなわち、各実施形態の前提となるビーコン無線通信システムは、子機として機能するビーコン無線通信装置であるED(エンドデバイス)を複数含み、例えば図18のようにED001〜100を含む。さらに、ビーコン無線通信システムは、親機としての1台のCN(コーディネータ)201と、CN201と接続されたPC200とを含む。各EDとCN201との間の通信は無線を通じたものであり、ビーコンが利用される。
また、図18に示したように、CN201とED001〜100は、1対Nのスター型ネットワークを構成している。PC200は、CN201からED001〜100へ送信すべきデータを生成し、あるいは、ED001〜100からCN201が受信したデータを蓄積する。PC200は有線または無線のネットワークによってさらに別の装置と接続されていてもよい。
また、詳細は図4とともに後述するが、ビーコンは、CN201とデータ通信を行うべきEDを指定する情報を含む。すなわち、CN201が各EDにそれぞれデータを送信する実施形態においては、ビーコンは、どのED宛のデータがあるかを示す情報を含む。あるいは、センサを備えたEDが、センサにより検知したデータをCN201に送信する実施形態においては、ビーコンは、どのEDがCN201にデータを送信すべきかを示す情報を含む。
以下、説明の便宜上、特に断らない限り、図19や図20に示した従来技術と同様に、どのED宛のデータがあるかを示す情報をビーコンが含むものとして説明する。
なお、各実施形態は、第1および第2の従来技術における上記のような問題を解決し、衝突要因を排除して、1ビーコン周期で効率よく情報伝達を行うことを目的とする。さらに、各実施形態は、子機であるEDの構成を簡素に保ちつつ、親機であるCN201がED001〜100との無線通信以外の処理を行うのに必要な時間を考慮に入れたうえで、上記目的を達成するものである。
以上が、各実施形態に共通の前提である。続いて、複数の実施形態について、次の順序で説明する。
まず、図1を参照して第1実施形態の概要を説明する。続いて、図2を参照して第1実施形態の理解を助けるための参考例を説明した後、図3〜図6を参照して第1実施形態の詳細を説明する。その後、第2実施形態について説明してから、図7〜図9を参照して第3〜第5実施形態についてそれぞれ説明する。そして、以上の実施形態と参考例についての比較結果を、図10を参照して説明する。
その後、図11〜図14を参照して第6実施形態について説明し、図15を参照して第7実施形態について説明し、図16と図17を参照して第8実施形態について説明する。第6〜第8実施形態は、第1〜第5実施形態のいずれに対しても追加可能な機能が追加された実施形態である。最後にその他の実施形態について説明する。
図1は、第1実施形態を説明する図である。CN201は一定のビーコン周期でビーコンb10〜b14を送信する。各ED001〜100は、ビーコンを受信して解析し、自分宛のデータの有無を判断する。自分宛のデータがある場合、EDは、現在のビーコン周期において自分がCN201にアクセスすべき時刻を算出し、算出した時刻にCN201にアクセスしてデータ通信を行う。
図1の例では、1周期目のビーコンb10は、ED010、020、030、040、050宛のデータがあることを示す情報を含む。例えば、これら5台のEDの識別番号である10、20、30、40、50という5つの番号がビーコンb10に含まれる。なお、以下では簡単のため、EDを識別する識別子は番号で表すが、文字を含む識別子を用いることもできる。
したがって、ビーコンb10を受信したED001〜100のうちED010、020、030、040、050の5台のみが、1周期目で自分宛のデータがあると判断し、自分がCN201にアクセスすべき時刻を算出する。
ここで、送信すべきデータが存在するEDとしてビーコンに識別番号が記述されたEDの台数をSと表すと、図1の1周期目ではS=5である。第1実施形態では、1ビーコン周期のうち、ビーコンの送信にかかる時間Bを除いた区間が(S+1)等分され、(S+1)個の区間のうちS個がそれぞれ、CN201とデータ通信を行うべきS台のEDに割り当てられる。
図1の1周期目では、6等分された区間のうち、1〜5番目の区間がそれぞれED010、020、030、040、050に割り当てられる。6番目の区間はどのEDにも割り当てられない。各EDは、自分に割り当てられた区間の開始時刻を、CN201にアクセスすべき時刻として算出し、算出した時刻にCN201にアクセスしてデータを受信する。したがって、S台のEDは時分割方式で異なる時刻にそれぞれCN201にアクセスすることになるので、第1実施形態によれば、衝突要因を排除することができ、1ビーコン周期で効率よくデータ送信を行うことが可能となる。
また、図1では、どのEDにも割り当てられない最後の区間を「未使用(空き)区間」と表している。すなわち、以下の説明において「未使用区間」あるいは「空き区間」と呼ばれる区間は、どのEDにも割り当てられていない区間であり、換言すれば、EDとの無線通信以外の処理をCN201が行うために割り当てられ、確保された区間である。すなわち、ビーコン周期は少なくとも、親機であるCN201が子機である複数のEDと通信するために割り当てられる無線通信区間、およびCN201がEDとの間で信号の送受信を行わない未使用期間を含んでいる。
なお、EDとの無線通信以外にCN201が行う処理には、PC200との間のデータの送受信や、CN201内部でのデータ処理などがある。
また、図1には、2周期目でED011、021、031、041、051の5台宛のデータがあるのでS=5であり、その結果、2周期目も1周期目と同様に6(=S+1)等分されることが図示されている。また、3周期目ではED001、002の2台宛のデータがあるのでS=2であり、3周期目は3(=S+1)等分されることも図示されている。さらに、図1には、第1実施形態の特徴として、いずれのビーコン周期においても未使用区間は(S+1)個の区間の(S+1)番目に位置することが図示されている。なお、4周期目以降の詳細は省略されている。
このように、第1実施形態では、CNが無線を通じてS台のEDと通信するために割り当てられる無線通信区間と、CN201がEDとの無線通信以外の処理を行うために割り
当てられる未使用区間とをビーコン周期が含んでいる。なお、第5実施形態とともに詳細を後述するとおり、ビーコン周期はさらに他の用途の区間を含んでいてもよいが、第1実施形態では、そのような他の用途の区間がない。よって、第1実施形態では、ビーコン周期のうち無線通信区間および未使用区間として利用可能な時間の長さは、ビーコン周期の長さTからビーコンの送信にかかる時間Bを減じた長さ(T−B)である。そして、この長さが(S+1)等分され、そのうちの1つが未使用区間とされる。
このように未使用区間を設けることの利点を理解しやすくするため、次に、未使用区間を設けない参考例について説明し、第1実施形態と対比する。
図2は参考例を説明する図である。この参考例は、特願2007−216341号に開示されたものである。
図2の参考例においても、CN201は図1と同様に一定のビーコン周期でビーコンb10〜b14を送信する。1周期目のビーコンb10には識別番号が10、20、30、40、50番のED宛にデータがあることが明記され、2周期目のビーコンb11には識別番号が11、21、31、41、51番のED宛にデータがあることが明記され、3周期目のビーコンb12には識別番号が1、2番のED宛にデータがあることが明記されている点は、図1の第1実施形態と同様である。また、図1と同様に4周期目以降の詳細は図2でも省略されている。
図2の参考例では、図1のような未使用区間がない。したがって、ビーコンを受信して自分宛のデータがあると認識したEDは、自分がCN201にアクセスすべき時刻を図2に示したようにして算出する。
例えば、1周期目におけるED030は次のようにして自分がCN201にアクセスすべき時刻を計算する。
ED030はビーコンb10を受信すると、自分の識別番号30番がビーコンb10の所定のフィールドに含まれるか否かによって、自分宛のデータがあるか否かを判断する。その結果、ED030は自分宛のデータがあると判断する。
よって、ED030はさらに、データを送信する宛先としてビーコンb10に識別番号が含まれるEDの台数Sと、EDの識別番号のリスト内で自分の識別番号が書かれた順番Nとを認識する。図2の例では、リストには「10、20、30、40、50」という順で5つの識別番号が記載されているので、S=5、N=3である。つまり、ED030には1周期目におけるN=3番目の区間が割り当てられており、ED030はN=3番目にCN201にアクセスしてデータを取得すべきEDである。
ここで、ビーコン周期の長さTを表す情報はビーコンに明記されており、例えばT=500msである。また、ビーコン信号の送信時間Bは、例えば1msであり、予め決められている。
したがって、各EDに割り当てられる区間の長さα、換言すれば各EDがCN201にアクセスすべきアクセス時刻同士の時間間隔αは、式(1)により算出され、図2の例では、式(2)のとおりである。
α=(T−B)/S (1)
α=(500−1)/5=99.8ms (2)
したがって、N番目に識別番号が書かれたEDがCN201にアクセスすべきアクセス時刻ATは式(3)のとおりであり、N=3のED030の場合は式(4)のとおりである。
AT=B+(N−1)×α (3)
AT=1+2×99.8=200.6ms (4)
なお、アクセス時刻ATは、当該ビーコン周期の開始時刻から数えた時刻(すなわちビーコンの発信時刻を起点とした時刻)で表されている。つまり、図2に示したように、この参考例の1周期目では、
0.0〜 1.0msの区間ではビーコンが送信され、
1.0〜100.8msの区間はED010に割り当てられ、
100.8〜200.6msの区間はED020に割り当てられ、
200.6〜300.4msの区間はED030に割り当てられ、
300.4〜400.2msの区間はED040に割り当てられ、
400.2〜500.0msの区間はED050に割り当てられている。
ビーコンb10でデータの宛先として明示された5台のED010、020、030、040、050はそれぞれ、式(3)にしたがって算出したアクセス時刻ATにCN201にアクセスする。
このように、図2の参考例でも時分割方式によってEDがCN201にアクセスするため、衝突要因を排除することが可能であり、1ビーコン周期で効率よくデータ送信を行うことが可能である。
しかし、式(1)と(3)に示されるように、この参考例においては、CN201がEDとの無線通信以外の処理を行うための時間が考慮されていない。そのため、場合によっては、1ビーコン周期で意図どおりにデータ送信を行うことができない事態が発生する。
例えば、1および2周期目のビーコンb10およびb11には、それぞれ5台のEDの識別番号が記載されており、CN201が1ビーコン周期で5台のEDと通信を行うことが意図されている。しかし、実際には、識別番号が記述されたEDのうち、4台あるいは3台としか1ビーコン周期内に通信することができない場合がある。
すると、当該ビーコン周期内での通信に失敗した1台あるいは2台のEDに関しては、次のビーコン周期で、再びビーコンに識別番号を記述することにより、データ通信を再度試みることになる。このリトライによって仮にデータ通信に成功したとしても、所望の情報伝達のタイミングに比べて遅延が発生する。
すなわち、ビーコンに識別番号が記述されたEDのうち1ビーコン周期内でのCN201とのデータ通信に失敗するものがあると、システム全体としては、情報伝達の効率が落ちてしまい、スループットが低下する。
上記のように、ビーコンに識別番号が記述されたEDのうちの一部が当該ビーコン周期での通信に失敗する事態が発生する要因は、下記のようにいくつかある。
・ビーコン周期の長さTが短い。
・送信データ量が多い。
・ビーコンに識別番号が記述されたEDの台数Sが多い。
・PC200とCN201の間のデータ転送レートが低い。
・CN201のデータ処理速度が遅い。
ここで、上記の各要因について「多い」などの相対的な表現をしているが、どの程度「多」ければ失敗を引き起こしやすくなるのかは、他の要因との兼ね合いで変動する。
ただし、台数Sについては、経験的に5〜7程度であれば「多い」と言える。ここで、7という数値は、IEEE 802.15.4規格によって決められた、データの宛先としてビーコンに識別番号を記載することができるEDの台数の最大値である。
また、ビーコン周期の長さTは可変であり、例えば約1分程度のこともある。1分などの長い周期の場合は、1ビーコン周期内に、CN201がEDとの無線通信以外の処理を行うための時間を十分にとることができるので、通信の失敗が起こる可能性は無視することができる。
それに対し、例えば上記の例のようにビーコン周期の長さTが0.5秒程度である場合は、通信が失敗することがある。例えば、EDへの送信データ量、ビーコンに識別番号が記述されたEDの台数S、PC200とCN201の間のデータ転送レート、CN201の性能などによっては、通信が失敗することがある。すなわち、CN201がEDとの無線通信以外の処理を行うために費やされる時間の影響で、意図したS台のEDすべてが1ビーコン周期内にデータ通信を行うことができるとは限らない。
また、PC200とCN201との間の接続方式としては、例えば、RC232C(Recommended Standard version C)などのシリアルインターフェイスを利用することができる。しかし、CN201の性能によっては、PC200との間の接続をむやみに高速化することが望ましくない場合もある。データ転送レートが高いほど、エラー発生率も上がり、また、CN201におけるエラーチェック処理が間に合わないことも起き得るからである。
すなわち、現実的には、PC200とCN201との間のデータ転送速度を上げることを解決策として採用することができない場合もある。
例えば、仕様としては最大で約115000bpsまでの転送レートを設定可能なシリアルインターフェイスをPC200とCN201の接続に使う場合がある。その場合であっても、CN201の仕様によっては、転送レートを38400bps程度に設定する方が、システム全体としての性能が良いこともある。
したがって、様々な要因をすべて勘案して通信の失敗が起こる条件を定式化し、通信の失敗を避けるように各種のパラメタを適切に設定することは容易ではない。
しかしながら、発明者らは、CN201がEDとの無線通信以外の処理を行うための時間を確保することが、1ビーコン周期内に所望の台数SのEDがすべてデータ通信に成功する確率を高めるのに有効である、という一般的な傾向を見出した。
そこで、この知見に基づいて第1実施形態のごとく未使用区間を設けたところ、実際に1ビーコン周期内に所望の台数SのEDがすべてデータ通信に成功する割合を高めることができた。すなわち、第1実施形態によれば、参考例よりも情報伝達の効率が良く、すなわちスループットが向上している。また、ビーコン周期の長さTが短いとき、特に効果は顕著である。
以上、第1実施形態について、その概要と、参考例と比較しての利点について説明したので、続いて、第1実施形態の詳細について図3〜図6を参照して説明する。
図3は、コーディネータとエンドデバイスの内部構成を説明するブロック図である。
上記のとおり、第1実施形態においても図18のようなビーコン無線通信システムが前提となっている。図3は、ビーコン無線通信システムのうち、データ送受信装置として機能するPC200にケーブルで接続されたCN201と、複数のED001〜100のう
ちのED001とについて、内部構成を示した図である。なお、複数のED001〜100の構成は同様である。
ED001は、アンテナ301と無線周波(RF;Radio Frequency)ユニット302とMCU(MicroController Unit)303を備える。RFユニット302とMCU303は1つのモジュール305として実装されていてもよい。MCU303は、インストールされたソフト304にしたがって動作する。また、ED001の用途によっては、ED001がセンサ306を備えてもよい。ED001は電池307からの電力で駆動され、RFユニット302、MCU303、およびセンサ306が1枚のマザーボードに搭載されている。
アンテナ301は電波の送受信を行い、RFユニット302は、アンテナ301が受信した電波の復調およびアンテナ301から送信する電波の変調を行う。
MCU303は、RFユニット302から出力される信号を解析したり、CN201に送信すべきデータを生成し、そのデータを表す信号をRFユニット302に出力したりする。また、MCU303は、ED001の識別番号やソフト304を記憶する、不図示のROM(Read Only Memory)などの不揮発性メモリを含む。
ソフト304は、基本ソフトのほか、アプリケーションソフトや通信プロトコルプログラム等を含む。ソフト304は、ファームウェアとして実現されてもよい。
また、例えば、工場内に分散して配置されたEDがそれぞれ温度を計測してCN201に温度情報を通知するよう構成されたビーコン無線通信システムにおいては、各EDは、センサ306を使って温度を計測する計測装置である。実施形態によってセンサ306の種類および数は任意であり、センサ306がなくてもよい。センサ306が検知あるいは計測したデータは、MCU303に出力され、CN201へ送信すべきデータとして必要に応じて加工され、RFユニット302とアンテナ301を介してCN201へと送信される。
図3において、MCU303が上述のアクセス時刻計算手段として機能し、アンテナ301およびRFユニット302が上述のアクセス手段として機能する。
また、CN201は、例えば無線LANカードと同様に実現することができ、アンテナ311とRFユニット312とMCU313を備える。RFユニット312とMCU313は1つのモジュール315としてマザーボード上に実装されていてもよい。
また、CN201は、PC200との間のデータ通信のための不図示のインターフェイスも備える。当該インターフェイスを介して、PC200からMCU313にデータを取り込むこともでき、MCU313からPC200にデータを出力することもできる。
CN201は電池316により駆動されてもよい。あるいは、電池316の代わりにマザーボード上に設けられた不図示の電源回路に、PC200から不図示の接続端子を介して電力を供給することで、CN201を駆動してもよい。
アンテナ311は電波の送受信を行い、RFユニット312は、アンテナ311が受信した電波の復調およびアンテナ311から送信する電波の変調を行う。MCU313は、RFユニット312から出力される信号を解析したり、PC200から取り込んだデータを必要に応じて加工し、そのデータを表す信号をRFユニット312に出力したりする。
ソフト314は、基本ソフトのほか、アプリケーションソフトや通信プロトコルプログラム等を含み、MCU313が備える不図示の不揮発性メモリに記憶されている。ソフト314は、ファームウェアとして実現されてもよい。
続いて、図4を参照して、ビーコン信号のフレームフォーマットを説明する。IEEE
802.15.4規格のビーコン無線通信システムにおけるビーコンは、ビーコンフレームと呼ばれる所定のフォーマットのフレームとして発信されるビーコン信号である。
図4には、ビーコンフレームのMAC(Media Access Control)層のフォーマットを示した。MAC層フレームはMPDU(MAC Protocol Data Unit)とも呼ばれ、MACヘッダと、MSDU(MAC Service Data Unit)とも呼ばれるMAC層ペイロードと、MACフッタとからなる。
MACヘッダは、2バイトのフレームコントロール(Frame Control)フィールドと、1バイトのシーケンス(Sequence Number)フィールドと、4または10バイトのアドレス(Addressing)フィールドとを含む。アドレスフィールドの後にさらに不図示の補助セキュリティヘッダ(Auxiliary Security Header)フィールドを含むこともある。
MSDUは、2バイトのスーパ・フレーム(Superframe Specification)フィールドと、1バイト以上の可変長のGTS(Guaranteed Time Slot)フィールドと、1バイト以上の可変長のペンディング(Pending Address)フィールドと、可変長のビーコン・ペイロードフィールドとからなる。
スーパ・フレームフィールドには、スーパ・フレームとビーコンを定義する情報が記述され、ビーコン周期の長さTを規定する情報もここに含まれる。
GTSは最大で7個まで定義することができる。GTSフィールドは、定義されたGTSの数を示すとともに、GTSが1つ以上定義される場合、各GTSのデータ伝送方向、アサインされたノードのアドレス、開始のスロット、および使用されるスロット数などの定義情報を示す。
ペンディングフィールドは、CN201がペンディングにしているメッセージ(すなわちEDに送信すべきデータとしてCN201が保留しているデータ)の、数と宛先アドレスを示す。その数は最大で7である。データがペンディングにされている場合、宛先となるEDのアドレス・リストがペンディングフィールドに含まれる。
第1実施形態に関する図1の説明において、例えば、ビーコンb10には10、20、30、40、50という5つの識別番号が含まれると説明した。図4にしたがってこの例をより具体的に説明すると、識別番号が10、20、30、40、50の5台のED宛のメッセージが1周期目でペンディングとなっており、これらの5つの識別番号は、ビーコンb10のペンディングフィールド内のアドレス・リストとして、順番に記述されるということである。
なお、本発明の各実施形態においては、ペンディングフィールド内のアドレス・リストフィールドにおけるEDの識別番号の記述の順番が意味を持つ。すなわち、記述の順番が、各EDのアクセス時刻を規定している。よって、各EDは、自分の識別番号が記述された順番に基づいて、CN201にアクセスすべき時刻を算出する。
ビーコン・ペイロードフィールドの用途は、IEEE 802.15.4規格では、特に規定されていない。
MACフッタは、2バイトのFCS(Frame Check Sequence)すなわちチェックサムである。
続いて、CN201がペンディングにしているデータをEDがどのようにして取得する
のかを説明する。
図5は、CN201とED001との間の通信の様子を示すシーケンス図である。図5は、ビーコンのペンディングフィールド内のアドレス・リストフィールド内に、ED001の識別番号である1が記述されていた場合の例である。他のEDについても図5と同様である。
CN201からビーコン信号が送信され、各EDにて受信されると、各EDは、EDの識別番号のリストであるアドレス・リストフィールドに自分の識別番号が含まれるか否かを調べる。そして、各EDは、自分の識別番号がアドレス・リストフィールドに含まれる場合、CN201にアクセスすべきアクセス時刻を計算し、計算したアクセス時刻に、CN201に対し、データ要求を行う。
図5の例では、ED001が、自分の識別番号がアドレス・リストフィールドに含まれることを認識するので、CN201にデータ要求を行っている。
CN201は、ED001からデータ要求を受け取ると、ED001に宛てて確認応答(Ack;Acknowledgement)を送信する。CN201はその後さらに、ED001から要求されたデータ、すなわちED001宛に送信すべきものとしてペンディングにしているメッセージを、ED001に宛てて送信する。
ED001は、要求したデータをCN201から受信すると、AckをCN201に送信する。
なお、図5ではCN201からED001にデータを送信する例を示したが、ED001がセンサ306によって計測したデータなどをCN201に送信する場合も、図5と類似の通信シーケンスとなる。すなわち、CN201からED001にデータ要求を出すことにより、ED001からCN201にデータを送信することができる。詳しくは、第6〜第8実施形態とともに後述する。
図1に関して説明したように、送信すべきデータがペンディングになっているEDとしてビーコンに識別番号が記述されたEDは、それぞれ独立して、自分に割り当てられた通信区間の開始時刻であるアクセス時刻を算出する。よって、各EDが予め取り決められたアクセス時刻の算出方法にしたがってアクセス時刻を算出し、自分に割り当てられた通信区間でのみCN201にアクセスするなら、CN201は単にアクセスしてきたEDと図5のシーケンスにしたがって通信を行えばよい。つまりCN201は、複数のED間の処理順の調整等の処理を行う必要はない。
続いて、各EDのMCUが実行する処理について、図6のフローチャートを参照して説明する。図6は1ビーコン周期に対応するので、実際には、各EDにおいてビーコン周期ごとに図6の処理が実行される。
図6の処理がスタートする前は、EDはスリープ状態である。図6の処理がスタートすると同時に、EDはステップS101で起床する。すなわち、MCUがEDを起床させる制御を行う。起床するタイミングは、ビーコンが到着するよりもδTだけ前であり、第1実施形態におけるδTは、数ms程度の予め決められた定数である。
上記のとおり、ビーコンフレームがビーコン周期に関する情報を含み、図6の処理はビーコン周期ごとに繰り返される。よって、前回受信したビーコンに基づいて、MCUは、次にビーコンが到着すると予想される時刻を計算することができるので、その時刻からδTを引くことで、起床するタイミングも計算することができる。
EDが起床すると、次のステップS102で、MCUはタイマを始動する。
そして、起床からδTだけ時間が経過すると、次のステップS103で、EDはビーコン信号を受信する。MCUは、ビーコンの受信開始時刻T1をタイマの基準時刻として設定する。つまり、このタイマは、ビーコン信号を受信し始めてからの時間を計時するものであり、ED内のMCUが計算するアクセス時刻を、ビーコン受信開始時刻から計時して、特定するためのものである。
なお、以上の説明から明らかなとおり、δTの値は、起床やタイマの始動の処理にかかる時間に基づいて、すなわちEDの仕様に基づいて、多少の余裕を持って定められる。
続いてステップS104において、MCUは、ステップS103で受信したビーコンフレームのアドレス・リストフィールドに、MCUが備える不揮発性メモリに記憶されている自EDの識別番号が含まれているか否かを判断する。自EDの識別番号がビーコンフレームに含まれていれば、ステップS104の判断は「Yes」となり、含まれていなければステップS104の判断は「No」となる。
ステップS104の判断が「No」の場合は、ステップS111に処理が移行する。ステップS111でMCUはスリープ時間を算出する。
ステップS111における現在時刻をT3とすると、ステップS103のビーコン受信からの経過時間はT3−T1である。また、ステップS101に関して説明したように、EDは次のビーコンが到着するよりもδTだけ前に起床する必要がある。よって、ビーコン周期の長さをTとすると、ステップS111では式(5)によってMCUがスリープ時間Pを算出する。
P=T−(T3−T1)−δT (5)
そして、ステップS112でEDをスリープ状態に移行させる制御をMCUが行い、次のビーコンが到着するδTだけ前のタイミングまで、すなわち、スリープ時間Pだけ、EDはスリープする。そして、スリープ時間Pの経過後、再び図6の処理が繰り返される。
他方、ステップS104の判断が「Yes」の場合は、処理がステップS105に移行する。ステップS105でMCUは、ステップS103で受信したビーコンフレームから、ペンディングフィールド内のアドレス・リストフィールドに識別番号が記載されたEDの台数Sと、アドレス・リストフィールド内で自EDの識別番号が記述された順番Nを取得する。
続いてステップS106においてMCUは、自EDのアクセス時刻ATを、ステップS105で取得した台数Sおよび順番Nに基づいて算出する。
アクセス時刻ATの算出には、このほかに、ビーコン周期の長さTとビーコン信号の送信時間Bも必要である。ビーコン周期の長さTは、ステップS103で受信したビーコンからMCUが計算することで取得してもよく、予めビーコン周期を一定の長さTに固定することが定められたビーコン無線通信システムにおいては、定数をMCUがROMから読み出すことで取得してもよい。ビーコン信号の送信時間Bも、例えば定数をROMから読み出すことでMCUに取得される。
アクセス時刻ATの算出方法は、実施形態に応じて様々であるが、第1実施形態では、式(6)〜(8)にしたがってMCUがアクセス時刻ATを算出する。
D=S+1 (6)
α=(T−B)/D (7)
AT=B+(N−1)×α (8)
すなわち、図1に関して説明したように、第1実施形態では、1ビーコン周期のうち、ビーコンの送信にかかる時間を除いた区間が複数に等分される。式(6)のDは、その等分する数であり、アクセス・リストフィールドに識別番号が記述されたEDの総数Sに1
を足した数である。式(7)のαは、等分された1つの区間の長さである。
図1のようにD(=S+1)個の区間のうち最後の区間を未使用区間とする場合、N番目のEDに割り当てられた区間は、式(8)のアクセス時刻ATから、時刻(AT+α)までである。
例えば、T=500ms、B=1msとすると、図1の1周期目では、アクセス・リストフィールドに10、20、30、40、50という識別番号が記述されているので、ED030のMCUは、式(9)〜(11)のようにしてアクセス時刻ATを計算する。
D=5+1=6 (9)
α=(500−1)/6≒83.2ms (10)
AT=1+(3−1)×83.2≒167.3ms (11)
すなわち、この例でED030には167.3〜250.5msの区間が割り当てられている。また、D(=6)番目の区間である416.8〜500.0msの区間は、割り当てられるEDがなく、すなわち未使用区間である。
こうしてステップS106においてアクセス時刻ATを算出すると、MCUは次に、ステップS107においてスリープ時間Qを式(12)によって算出する。
Q=AT−(T2−T1) (12)
ここで、T2はステップS107における現在時刻である。つまり、ステップS107は、ステップS103のビーコン受信開始から時間(T2−T1)が経過した時点なので、ステップS107からアクセス時刻ATまでの長さQは式(12)により算出される。
続いて、ステップS108で、MCUがスリープ状態にEDを移行させる制御を行うことでEDはスリープし始める。そして、アクセス時刻ATになったら、MCUの制御のもと、ステップS109でEDは起床し、ステップS110でCN201と通信を行う。ステップS110での通信は、図5に示したシーケンスにしたがって行われる。なお、後述のとおり第6〜第8実施形態では、ステップS110の詳細が第1実施形態とは異なる。
CN201との通信が終了すると、処理はステップS111に移行する。そして、上記のとおりステップS111でMCUがスリープ時間Pを算出し、ステップS112でEDはスリープし始める。
なお、ステップS109でEDの起床にかかる時間の影響を無視することができない場合は、式(12)の右辺からさらに起床にかかる時間を引いた値を、スリープ時間QとしてMCUがステップS107で算出してもよい。
以上、第1実施形態について詳細に説明した。第1実施形態によれば、EDは簡素な構成でよく、CN201として従来のCNをそのまま流用することができる一方で、ビーコン無線通信システム全体としては、衝突要因が排除され、通信効率が上がる。なぜなら、複数のEDがそれぞれ、アクセス時刻計算手段としてのMCUで計算したそれぞれ異なる時刻にCN201にアクセスし、ビーコン無線通信システム全体としては時分割方式で動作するからである。さらに、MCUは未使用区間の長さを考慮に入れてアクセス時刻ATを計算するので、CN201は、EDとの通信以外の処理を、未使用区間を利用して行うことができる。
続いて、第1実施形態におけるアクセス時刻ATの計算方法を変更した第2実施形態について説明する。
第2実施形態では、未使用区間の長さMを用いてMCUがアクセス時刻ATを計算する
未使用区間の長さMは、ビーコンフレームのアクセス・リストフィールドに識別番号が記述されたEDの台数Sによらない定数でもよく、台数Sごとに定義されていてもよい。いずれの場合でも、第2実施形態では、未使用区間の長さMの値は、MCUが備える不揮発性メモリに予め記憶されている。
第2実施形態においてMCUは、式(7)の代わりに式(13)にしたがって1つの区間の長さαを算出し、その結果を用いて式(8)によってアクセス時刻ATを算出する。
α=((T−M)−B)/S (13)
例えば、第1実施形態の例と同様に、T=500ms、B=1ms、S=5とし、M=83.2msとすると、式(14)のように1つの区間の長さαが算出される。
α=((500−83.2)−1)/5≒83.2ms (14)
この例では結果として、式(14)で算出された1つの区間の長さαは、式(10)で算出されたのと同じ値である。つまり、83.2msという区間の長さは、499(=500−1)msを6等分することで算出してもよく、415.8(=500−1−83.2)msを5等分することで算出してもよい。
なお、第2実施形態では、式(8)にしたがってアクセス時刻ATが計算されるので、第1実施形態と同様に、ビーコン周期の最後に未使用区間が設けられることになる。
続いて、第3実施形態について説明する。図7は、第3実施形態を説明する図である。
第1実施形態を説明する図1と図7との違いは、未使用区間(空き区間)の位置のみである。すなわち、第3実施形態では、各ビーコン周期においてビーコンが送信された直後に未使用区間が配置される。
つまり、第3実施形態は、図6のステップS106で式(6)と(7)が用いられる点は第1実施形態と同様だが、式(7)の結果を使う式(8)の代わりに式(15)が用いられる点で第1実施形態と異なる。
AT=B+N×α (15)
これ以外の点では、第3実施形態は第1実施形態と同様である。
続いて、第4実施形態について説明する。図8は、第4実施形態を説明する図である。
第1実施形態を説明する図1と図8との違いは、各EDに対応する通信区間と未使用区間の長さの比のみである。
第1実施形態では、式(6)と(7)に示されるように、ビーコンフレームのアクセス・リストフィールドに識別番号が記述されたEDの総数Sに1を足した数Dで、1ビーコン周期のうち、ビーコンの送信にかかる時間を除いた区間が複数に等分されていた。すなわち、第1実施形態では、各EDに対応する1個の通信区間と未使用区間との長さの比は1:1であった。
それに対し、第4実施形態では、各EDに対応する1個の通信区間と未使用区間との長さの比が1:2である。つまり、第4実施形態は、第1実施形態よりもさらに長い時間を、CN201がPC200との間でのデータの送受信や内部でのデータ処理などに費やすために確保する実施形態である。
具体的には、第4実施形態では、図6のステップS106で式(6)の代わりに式(16)が用いられる点で第1実施形態と異なる。
D=S+2 (16)
式(16)によって等分する数Dを算出した後の処理は第1実施形態と同様である。すなわち、式(7)および(8)によってMCUはアクセス時刻ATを算出する。
続いて、第5実施形態について説明する。図9は、第5実施形態を説明する図である。
第1実施形態を説明する図1と図9との違いは、図9ではビーコンの直後に、スロットの確保依頼をEDから受け付ける区間(以下「依頼受け区間」という。)が設けられている点である。
第1〜第4実施形態では、主にCN201からEDへ送信すべきデータがある場合に注目していた。しかし、EDの用途によっては、ED側でデータ通信の契機が発生し、EDからCN201にデータを送信する必要が生じることもある。第5実施形態は、そのような場合に好適である。
すなわち、図9に示すように、第5実施形態ではビーコンの送信直後に長さβの依頼受け区間が設けられる。依頼受け区間においてCN201は、次のビーコン周期におけるスロットの確保の依頼をEDから受け付ける。依頼を受け付ける方法は、第2の従来技術に関して図20を参照して説明したのと同様の方法であり、CSMA−CA方式によって衝突を回避しながら依頼の受付が行われる。
スロットの確保依頼は、少量の制御データの通信のみで実現されるので、必要な時間も短い。よって、第5実施形態では、1ビーコン周期のうちの一部である依頼受け区間でのみスロットの確保依頼を受け付ける。
例えば、図9の例では、1周期目のビーコンb20には、識別番号が10、20、30、40、50番のED宛のデータがペンディングになっていることが記述されている。また、1周期目では、識別番号が89と99のED089とED099の2台において、2周期目における通信占有時間を予約する必要が生じている。
そこで、1周期目でビーコンb20が送信された直後の依頼受け区間において、ED089と099がCSMA−CA方式により衝突を回避しながら、それぞれCN201にスロットを確保するよう依頼する。
そして、依頼受け区間が終了すると、ビーコンb20にデータの宛先として識別番号が記述されていたED010、020、030、040、050が、それぞれ自分で算出したアクセス時刻にしたがって、順次CN201にアクセスし、データ通信を行う。ビーコン周期の最後には、第1実施形態と同様に未使用区間が設けられている。
1周期目でED089と099からスロットの確保依頼を受け付けたCN201は、2周期目のビーコンb21に、受け付けた依頼の内容を反映させる。すなわち、2周期目にはED011、021、031宛のデータがペンディングになっているとすると、CN201は次のように動作する。つまり、CN201は、これら3台のEDの識別番号に加えて、依頼を受け付けた2台のEDの識別番号を、アドレス・リストフィールドに記述したビーコンフレームを生成し、ビーコンb21として送信する。
アドレス・リストフィールドにおける識別番号の記述順は、図9の例では、まずスロット確保依頼を受け付けたEDの識別番号を受付順に記述し、その後、ペンディングになっているデータのあるEDの識別番号を記述するようにしている。したがって、図9の例では、ビーコンb21には、「89、99、11、21、31」という順でEDの識別番号が記述されている。
その結果、2周期目においてED089と099は、それぞれ受信したビーコンb21のアドレス・リストフィールドの記述に基づいて自分のアクセス時刻を算出する。そして、ED089と099は、算出したアクセス時刻に、CN201にアクセスすることで、所望のデータをCN201に送信することができる。もちろん、ED011、021、031も、それぞれのアクセス時刻にCN201にアクセスし、CN201からデータを受信することができる。
以上が第5実施形態の概要である。続いて、第5実施形態におけるEDのMCUが行う処理の詳細について、第1実施形態と比較しながら説明する。
第5実施形態では、依頼受け区間の長さβ、ならびに各EDに割り当てられる通信区間および未使用区間の長さαが等しい。よって、第1実施形態における図6のフローチャートは、以下のようにステップS103とステップS104の間にステップが追加され、ステップS106が変更される。
すなわち、第5実施形態においては、ステップS103でビーコンを受信した後、MCUは、CN201にスロットの確保を依頼すべきか否かを判定し、依頼する必要がなければステップS104へ進む。
スロットの確保を依頼すべき場合、MCUは、依頼受け区間の長さβを上記の式(6)および下記の式(17)により計算する。
β=(T−B)/(D+1) (17)
式(17)の除数が(D+1)であるのは、α=βであるためである。式(17)により依頼受け区間の長さβを計算した後、MCUは、CSMA−CA方式によって衝突を回避しながら、CN201にスロットの確保を依頼するよう自EDを制御する。そして、依頼に成功するか、または長さβの時間が経過しても依頼に成功しなければ、処理はステップS104に進む。このように第5実施形態では、ステップS103とステップS104の間にステップが追加される。
また、第5実施形態は、α=βなので、ステップS106においてMCUが、上記の式(6)で算出した数Dを使って、式(18)と(15)にしたがってアクセス時刻ATを算出する点でも、第1実施形態と異なる。
α=(T−B)/(D+1)=(T−B−β)/D (18)
しかしながら、ビーコン周期のうち無線通信区間および未使用区間として利用可能な時間の長さが第1実施形態では(T−B)であり、第5実施形態では(T−B−β)であることに注目すれば、両実施形態は次の点で共通である。すなわち、両実施形態は、無線通信区間および未使用区間として利用可能な時間の長さをD等分してアクセス時刻を算出するという点で共通である。
以上説明した点以外では、第5実施形態においても図6と同様の処理が行われる。それにより、ビーコン無線通信システム全体の振る舞いは、図9のように、依頼受け区間、各EDの通信区間、未使用区間の順に区間が配置されたものとなる。
以上、第1〜5実施形態について説明したが、次に、以上の実施形態の効果について、参考例と比較しながら説明する。図10は、本発明の実施形態と参考例との比較結果を示すグラフである。
第1実施形態と第4実施形態を比較すると、違いは、1ビーコン周期のうち、ビーコンの送信にかかる時間を除いた区間を何等分するかを示す数Dの算出方法のみである。すな
わち、第1実施形態と第4実施形態の違いは、式(6)と式(16)の違いにある。
また、第1実施形態と参考例を比較すると、アクセス時刻同士の時間間隔αの算出において、式(7)のように数Dで割るか、式(1)のようにデータの宛先としてビーコンに識別番号が記述されたEDの台数Sで割るか、という違いである。
そこで、数Dを次の式(19)のように一般化すると、参考例はR=0に対応し、第1実施形態はR=1に対応し、第4実施形態はR=2に対応する。
D=S+R (19)
この数Rを「空き」の数ということにする。例えば、図8に示すように、第4実施形態ではD等分されたうちの2(=R)個の区間が空き区間(未使用区間)として利用されているので「空き2つ」である。
図10のグラフは、次の条件のもとで行った実験の結果を示すものである。
・ビーコン周期の長さTは500msとする。
・未使用区間をビーコン周期の最後に配置し、依頼受け区間は設けない。
・所定量のデータが、各周期でそれぞれS=5台のEDを宛先としてペンディングとなる状態を、100周期にわたって続けた。すなわち、のべ500台のEDとの通信を試みた。
・100周期のうち、5台のEDすべてに1ビーコン周期内でCN201が上記所定量のデータを送信することに成功した回数を数えてグラフにした。すなわち、ペンディングとなっているデータの宛先としてビーコンで指定されたEDのうち1台以上のEDが、当該ビーコン周期でデータの受信に失敗した場合はカウント対象外である。
・上記所定量として、10バイト、40バイト、および100バイトの場合を実験した。10バイトの場合のグラフは省略し、40バイトの場合のグラフを図10の左側に、100バイトの場合のグラフを図10の右側に、それぞれ示した。
・上記所定量が40バイトの場合と100バイトの場合の双方で、式(19)のRの値を0、1、2、3と変化させた。
図10に示したとおり、データ量が40バイト、100バイトのいずれの場合においても、空き無しに比べて空き1つ〜3つの方が、成績が良く、空きの数が1つであるときが最も成績が良い、という共通の傾向が見て取れる。
データ量が40バイトの場合、空き無しでは77回だった(つまり4台以下のEDとしか通信することができないことが23回あった)のが、空き1つでは96回と成績が上昇し、空き2つおよび空き3つでもほぼ同等の成績である。データ量が100バイトの場合は、空きの数が増えるにしたがって成績が落ちているが、空き3つのときの59回ですら、空き無しのときの37回に比べて大幅に良い成績であり、空き1つのときの成績は40バイトの場合に比べても遜色がない。
なお、図示は省略したが、データ量が10バイトの場合、空きの数によらず成績は常に100回であった。
以上の比較から、本発明の上記実施形態は、参考例に比べて情報伝達の効率化において優れており、特に、ビーコン周期の長さTが500msなどの短い時間である場合に有効であることが確かめられた。
なお、空きの数が多いほど成績が落ちる傾向があるのは、空きの数が多いほど、1つの
EDに割り当てられる区間の長さαが短くなるので、長さαの区間内で所定量のデータを送信しようとすると時間的に厳しくなるためである。別の観点から述べるなら、ある一定の成績を保とうとしたときに空きの数Rをどの程度まで増やせるかはデータ量に依存し、データ量が少ないほど、より空きの数Rを大きくすることが可能である。
ここで、ペンディングとなっているデータの宛先のEDの台数Sが多いほど1つのEDに割り当てられる区間の長さαが短くなることに注目する。すると、例えばS=6の場合やS=7の場合は、S=5の場合と比べてより厳しいスケジュールでのデータ通信が求められる。よって、例えばR=2と固定してSを5、6、7と変化させれば、Sを大きくするほど成績が落ちるという傾向が見出されるであろう。
以上、第1〜第5実施形態について説明したが、第1〜第5実施形態では、PC200またはCN201に起因して行われるEDからCN201へのデータ送信については特に言及していない。つまり、第1〜第4実施形態に関してはCN201から各EDへのデータ送信を中心に説明しており、EDからCN201へのデータ送信について特に注目してはいない。また、第5実施形態に関して説明したEDからCN201へのデータ送信は、EDからの依頼に起因して行われる。
しかしながら、図18のビーコン無線通信システムにおいて、EDから各種のデータを収集することが有益な場合がある。そして、収集のための各EDからCN201へのデータ送信を、各EDが自律的に判断して行うよりも、PC200が一元的に制御する方が好ましい場合がある。
そこで、以下ではPC200の制御にしたがってCN201が各EDにデータの送信を要求し、EDが要求にしたがってデータをCN201に送信する第6〜第8実施形態について説明する。なお、PC200の制御に基づく各EDからのデータ収集は、上記の第1〜第5実施形態および図2に関して説明した参考例のいずれに対しても追加可能な機能である。以下では説明の便宜上、第1実施形態を変形した実施形態として、第6〜第8実施形態について説明する。
なお、第6〜第8実施形態は、図19および図20の従来技術と比較して、次の利点がある。図20の従来技術ではEDから保証スロットの予約のための制御データが送信されるが、制御データではない一般的なデータの送信に置き換えてしまうと、結局は図19の従来技術と同様になり、通信効率の点で好ましくない。それに対して、第6〜第8実施形態は、通信効率が良いという第1〜第5実施形態の利点を活かしつつ、EDからCN201へのデータ送信の機能をさらに有する実施形態である。
続いて、第6実施形態について説明するための準備として、まず図11と図12を参照して第1実施形態におけるCN201とED001間の通信の詳細を説明する。
図11は、第1実施形態におけるCN201とED001との間の通信の詳細を表すシーケンス図である。図11は図5をより詳細に説明した図でもあり、図6のステップS110を詳細に説明した図でもある。
ステップS201において、CN201がビーコンを送信し、各EDがビーコンを受信する。図5の例と同様、図11の例でも、アドレス・リストフィールドにED001の識別番号「1」が含まれる場合について説明する。よって、ステップS201で、ED001は、自分の識別番号がアドレス・リストフィールドに含まれると認識する。
したがって、ED001はステップS202でCN201にデータ要求を行う。CN201へのデータ要求の形式は、MLME-POLL.requestプリミティブとしてIEEE802.15.4規格で定義されている。「MLME」は「MAC subLayer Management Entity」の略である。MLME-POLL.requestプリミティブには、図18のシステムの設定や管理を行うシステム管理者など(以下「ユーザ」という)が自由に定義することのできるパラメタは含まれない。
CN201は、データ要求をED001から受信すると、ステップS203で001に宛ててAckを送信する。なお、Ackも、固定された形式を有し、ユーザが自由に定義する余地はない。
さらにCN201はステップS204において、ED001から要求されたデータ、すなわちED001宛に送信するためにペンディングにしているメッセージを、ED001に宛てて送信する。ステップS204のデータ送信の形式は、MCPS-DATA.requestプリミティブとしてIEEE802.15.4規格で定義されている。「MCPS」は「MAC Common
Part Sublayer」の略である。MCPS-DATA.requestプリミティブには、データペイロードとしてユーザが自由に使うことのできる「msdu」(MAC Service Data Unit)というパラメタが含まれる。よって、ステップS204では、システムの用途などに応じて任意のデータをED001に送信することができる。
そして、ED001は、ステップS202で要求したデータをステップS204でCN201から受信すると、ステップS205でCN201にAckを送信する。ステップS205のAckも、固定された形式を有し、ユーザが自由に定義する余地はない。
以上図11を参照して詳細を説明したように、第1実施形態の図5の通信シーケンスそのものでは、CN201からEDに任意のデータを送信することはできても、EDからCN201に任意のデータを送信することができない。換言すれば、図11は、図6のステップS110においてED001が図12のフローチャートにしたがって動作することを示しており、図12のフローチャートはEDからのデータ送信を含まない。
図12は、図6のステップS110の第1実施形態における詳細を示すフローチャートである。
ステップS301でEDは、図11のステップS202に相当するデータ要求をCN201に送信する送信処理を行う。
続いてステップS302でEDはCN201からのAckの受信を待つ。ステップS302は図11のステップS203に相当する。
Ackの受信後、EDは、さらにステップS303で、CN201からのデータ受信を待つ。ステップS303は図11のステップS204に相当する。
CN201からのデータ受信後、EDは、ステップS304でAckをCN201に送信する。ステップS304は図11のステップS205に相当する。
以上、図11と図12を参照して、第6実施形態の説明の準備として、第1実施形態におけるCN201とEDの間の通信の詳細を説明した。続いて、図11および図12と比較対照しながら、第6実施形態におけるCN201とEDの間の通信の詳細を、図13および図14を参照して説明する。
図13は、第6実施形態におけるCN201とED001との間の通信の詳細を表すシーケンス図である。
図13のステップS401〜S405は、図11のステップS201〜S205とほとんど同じなので説明を省略する。違いは、ステップS404で送信されるデータが、CN201へのデータ送信の要求の有無をED001に指示する制御データをさらに含む点で
ある。
例えば、MCPS-DATA.requestプリミティブのmsduというパラメタにおける所定のビットを、CN201へのデータ送信の要求の有無を示すフラグとしてユーザが予め定義してもよい。その場合、制御データはフラグの値により示される。
例えば、IEEE802.15.4規格では、電波状態を評価する指数としてLQI(Link Quality Indication;リンク品質指数)が用意されている。LQIは、受信した電波の電波強度やノイズ干渉の強さによって計算される指数であり、1バイトの整数により表される。あるシステムでは、EDからCN201へLQIを送信してもよい。また、EDは、図3のセンサ306で感知した値(例えば温度や湿度など)をCN201へ送信してもよい。
EDからCN201へ送信されるデータが1種類(例えばLQIのみ)のシステムでは、制御データは1ビットのフラグによって表すことができる。また、例えばLQIと温度と湿度の3種類のデータのCN201への送信が想定されるシステムでは、制御データは、例えば、3ビットを用いて3種類のデータの送信要求の有無をそれぞれ独立に表すデータであってもよい。もちろん、制御データは、3種類のデータのすべてを送信するかまたはいずれも送信しないかの二者択一を表す1ビットのデータであってもよいし、その他の形式のデータでもよい。
図13には、制御データによりCN201へのデータ送信が要求された場合の通信シーケンスが示されている。すなわち、ステップS405の後、ステップS406でED001がCN201にデータ送信を行う。ステップS406でのデータ送信も、ステップS404と同じく、MCPS-DATA.requestプリミティブを用いて行われる。つまり、ユーザが自由に使用することが可能なパラメタを含む形式で、ステップS406のデータ送信は行われる。
CN201は、ステップS404で送信したデータ内の制御データによってED001に送信を要求したデータを、ステップS406においてED001から受信すると、ステップS407でED001にAckを送信する。
以上説明した図13は、第6実施形態では図6のステップS110においてED001が図12の代わりに図14のフローチャートにしたがって動作することを示している。
図14は、図6のステップS110の第6実施形態における詳細を示すフローチャートである。
ステップS501〜S504は、図12のステップS301〜S304と同様なので説明を省略する。なお、ステップS501〜S504は、図13のステップS402〜S405に相当する。
続いて、ステップS505でEDは、ステップS503で受信したデータを解析することにより、CN201へのデータ送信要求があるか否かを判断する。例えば、ステップS503でEDが受信したデータ内の所定のビットは、値が「1」のとき送信を要求することを表し、値が「0」のとき送信を要求しないことを表す。この場合、ステップS505でEDは、所定のビットの値を参照してデータ送信要求の有無を判断する。
CN201へのデータ送信要求がなければ、EDは図14の処理を終了する。すなわち、CN201へのデータ送信要求がなければ、図13のステップS406とS407は実行されない。
逆に、CN201へのデータ送信要求があれば、図14の処理はステップS505からステップS506へと移行する。ステップS506では、EDは、CN201に要求されたデータをCN201へ送信する。ステップS506は図13のステップS406に相当する。
続いてステップS507でEDはCN201からのAckの受信を待ち、EDがAckを受信すると図14の処理が終了する。ステップS507は図13のステップS407に相当する。
以上説明した第6実施形態は、EDからCN201へ送信するデータが1バイトから数バイト程度の少量のデータである場合に好適である。換言すれば、第6実施形態は、EDからCN201へ送信するデータとして、無線通信における遅延要因とはならない程度に少ない量のデータが想定されるシステムに好適である。
なぜなら、図14の処理は、図6のステップS110として行われる処理なので、図6のステップS106で算出されたアクセス時刻ATから始まる長さαの区間内に終了しないと、他のEDとの衝突が生じるからである。1バイトから数バイト程度の少量のデータであれば、データ送信のためにステップS505〜S507を追加しても、長さαの区間内に図14の処理が収まることがほとんどである。したがって、EDからCN201へ送信するデータが少量であれば、ED同士の衝突なしに効率よくCN201と各EDの間で通信ができるという第1実施形態の利点を損なわずに、EDからCN201へのデータ送信という機能をシステムに追加することができる。
第6実施形態に好適な少量のデータの例として、例えば、1バイトで表されるLQIや、図3のセンサ306が感知した値が挙げられる。例えば、図3のアンテナ301とRFユニット302が、受信電波強度やノイズ干渉の強さなどの物理量を感知する感知手段としても機能し、感知された値に基づいてRFユニット302がLQIを計算し、計算されたLQIがCN201に送信されてもよい。あるいは、センサ306が温度や湿度などの物理量を感知する感知手段として機能し、センサ306が感知した値に基づくデータがCN201に送信されてもよい。
続いて、図15を参照して第7実施形態について説明する。
図15は、図6のステップS110の第7実施形態における詳細を示すフローチャートである。
ステップS601〜S605は、図14のステップS501〜S505と同様なので説明を省略する。
第7実施形態では、CN201へのデータ送信要求があるとEDがステップS605で判断した場合、次のステップS606において、EDは次のように動作する。すなわち、EDは、ステップS603でCN201から受信した受信データの量M1と、CN201から要求され、これからCN201へ送信しようとしている送信データの量M2との和を、予め決められた閾値MPと比較する。そして、M1+M2≦MPならば処理はステップS607に移行し、M1+M2>MPならば図15の処理は終了する。
ステップS607およびS608は、それぞれ図14のステップS506およびS507と同様なので説明を省略する。
以上説明した第7実施形態によれば、EDからCN201へ送信するデータとして想定されているデータの量が不定であっても、ED同士の衝突を防いで効率のよい通信を実現することができる。なぜなら、受信データの量M1と送信データの量M2の和が閾値MP
よりも大きければ、送信データの送信が取り止めとなるからである。送信の取り止めにより、「あるEDがアクセス時刻ATから始まる長さαの区間をはみ出してCN201へのデータ送信を行う」といったことが回避される。結果として、「ED間でのCSMA−CAによる調整が必要になったり、衝突を回避しきれず混信が生じる」といった事態が回避される。
上限を示す閾値MPの値は、実施形態に応じて適宜決めることが望ましい。好適な閾値MPの値は、シリアル通信レートやビーコン間隔など各種の要素に依存して異なるが、MCPS-DATA.requestプリミティブの最大データ長が約100バイトであることから、安全を見込んで、例えば、閾値MPの値は100バイトと決められてもよい。なお、ここで「安全を見込んで」と述べたのは、何らかの理由で通信が失敗した場合にリトライが行われる(例えば3回までリトライが行われる)ことで、通信遅延が発生する可能性もあるからである。閾値MPの値は、例えば、リトライが行われたとしても長さαの区間をはみ出さずに通信を完了することができるような値に設定されてもよい。
実際、図10のグラフに示したように、「空き1つ」(すなわち式(19)においてR=1)であれば、ほとんどの場合、1ビーコン周期内で5台(つまりS=5)のEDが衝突なしにCN201からそれぞれ100バイトのデータを受信することができる。このことからも、「100バイト」という値が閾値MPの値として好適な値の一例であることが理解される。もちろん、閾値MPの値は、100バイトに限らず、「空き」の数Rやその他のシステムの設定などに応じて、適宜定めることが可能である。
なお、ステップS606で送信データの送信が取り止められると、CN201は、EDにデータの送信を要求したにも関わらずEDからデータが送信されなかったという事実から、M1+M2>MPだということを認識する。
例えば、ビーコンb10から始まる第1のビーコン周期において、CN201は、ステップS603でED010に送信したデータ内の制御データにおいてED010にデータの送信を要求する。しかし、要求したデータを第1のビーコン周期内にED010から受信することができないと、CN201は、「ED010は、ステップS606でM1+M2>MPと判断したためにデータ送信を取り止めた」と認識する。
ところで、第7実施形態では、CN201がEDへ1回に送信するデータとして用意するデータの量は閾値MPを超えず、EDがCN201へ1回に送信するために用意するデータの量も閾値MPを超えないと仮定している。換言すれば、CN201とEDは、この仮定が成立するように、データを必要に応じて分割して用意する。
したがって、例えば、次のビーコンb11から始まる第2のビーコン周期において、以下のようにしてED010からCN201へのデータ送信をCN201がED010に再度要求してもよい。
すなわち、CN201は、ビーコンb11に再度ED010の識別番号「10」を含める。また、CN201は、第2のビーコン周期におけるED010宛のデータとして、ED010からのデータ送信を要求する制御データのみを含む、実質的に空のデータを用意する。すると、第2のビーコン周期で再度図15の処理を実行するED010は、上記仮定から、今度はステップS607とS608を実行する。よって、CN201は要求したデータをED010から収集することに成功する。
あるいは、CN201は、第1のビーコン周期でED010からのデータ収集に失敗したことをPC200に通知するだけでもよい。つまり、ED010からのデータ収集をや
り直すか否かの制御は、PC200が行ってもよい。
続いて、図16と図17を参照して第8実施形態について説明する。第7実施形態は、「CN201がEDに要求したデータを、CN201がEDから受信することができない」という結果が、「EDからCN201へ送信しようとするデータの量M2が多い」ということを暗黙に示している、という前提に基づいている。それに対し、第8実施形態では、データの量M2が多いことをEDが明示的にCN201に通知する。
図16は、図6のステップS110の第8実施形態における詳細を示すフローチャートである。
ステップS701〜S706は、図15のステップS601〜S606と同様なので詳しい説明を省略する。
EDは、ステップS706において図15のステップS606と同様にしてM1+M2≦MPか否かを判断した後、M1+M2≦MPの場合、図15のステップS607およびS608とそれぞれ同様のステップS707およびS709を実行する。逆に、M1+M2>MPの場合、処理はステップS708に移行する。
ステップS708でEDは、CN201に次のビーコン周期で空データを再送してくれるよう要求するための制御データを、CN201から要求されてCN201に本来送ろうとしていたデータの代わりに、CN201に送信する。なお、制御データは、例えば1バイト未満などの非常に短いデータ長で表すことができる。よって、ステップS708の送信処理は、EDに割り当てられる長さαの区間をはみ出さずに実行することが可能であり、他のEDとの衝突を招くこともない。
ステップS708の実行後、図15のステップS608と同様のステップS709をEDが実行し、図16の処理は終了する。なお、現在のビーコン周期においてステップS708が実行された場合、次のビーコン周期ではEDがステップS705、S706、S707、およびS709の処理を実行することになるので、CN201はEDからのデータ収集に成功する。
以上、第8実施形態について、図17を参照してEDの動作を説明した。続いて、図18を参照してCN201の動作を説明する。
図17は、第8実施形態におけるCN201の動作を示すフローチャートである。
ステップS801でCN201はビーコンを送信する。ビーコンには、ペンディングになっているデータの宛先であるEDの識別番号のリストが含まれる。各ビーコン周期でどのEDにデータを送信するかは、PC200によって制御される。CN201は、PC200の制御にしたがって、EDの識別番号と、EDに送信するデータとの組のリスト(以下「送信リスト」という)を管理している。
ビーコンの送信後、式(1)に関して説明した長さTの1ビーコン周期の時間が経過するまで、2つのループ端記号で挟まれた処理(すなわちステップS802〜S816)が繰り返される。そして、長さTの時間が経過すると、処理はループから脱して再びステップS801に戻る。
ステップS802でCN201は、いずれかのEDからのデータ要求の割り込みがあるか否かを判断する。具体的には、CN201は、第6実施形態の図13のステップS402に関して説明したMLME-POLL.requestプリミティブによってなされるデータ要求を、いずれかのEDから受信したか否かを判断する。
ステップS801で送信されたビーコンのアドレス・リストフィールドに識別番号が含まれているEDは、第1〜第5実施形態と参考例に関して説明したように、各自の異なるアクセス時刻を計算し、それぞれのアクセス時刻にCN201にデータ要求を送信する。したがって、CN201は、ステップS802のようにただデータ要求の割り込みを待ち、割り込みがあったら反応するだけでよい。
CN201は、どのEDからもデータ要求を受信していなければステップS802を繰り返す。CN201がいずれかのEDからデータ要求を受信していれば、処理はステップS803に移行する。以下、説明の便宜上、ステップS802で受信されたデータ要求の送信元のEDを「対象ED」という。ステップS802で受信されるのは、対象EDが図16のステップS701で送信したデータ要求である。
ステップS803でCN201は、ステップS802で受信したデータ要求に対するAckを対象EDに送信する。ステップS803は、第6実施形態の図13のステップS403に相当し、Ackは対象EDによって図16のステップS702で受信される。
続いてステップS804でCN201は、対象EDにデータを送信する。ステップS804で送信されるデータは、ステップS801に関して説明した送信リストにおいて、対象EDの識別番号と対応づけられたデータである。
また、ステップS804のデータ送信は、第6実施形態の図13のステップS404に相当する。ステップS404に関して説明したとおり、ステップS804で送信されるデータには、CN201へのデータ送信を対象EDに要求するか否かを示す制御データが含まれる。ステップS804で送信されるデータは、対照EDによって図16のステップS703で受信される。
次に、CN201は、ステップS804で送信したデータに対するAckを、ステップS805で対象EDから受信する。ステップS805は図13のステップS405に相当し、Ackは対象EDが図16のステップS704で送信したものである。
続いてCN201は、ステップS806において、対象EDから、MCPS-DATA.requestプリミティブによりデータを受信したか否かを判断する。
ステップS804でCN201が対象EDに送信したデータに含まれる制御データが、対象EDからCN201へのデータ送信が要求されていることを表す場合、対象EDは図16のステップS707またはS708で何らかのデータをCN201に送信している。したがって、この場合、ステップS806でCN201は、対象EDからのデータ受信があると判断し、処理はステップS807に移行する。
他方、ステップS804でCN201が対象EDに送信したデータに含まれる制御データが、対象EDからCN201へのデータ送信が不要であることを表す場合、対象EDはステップS705で図16の処理を終了している。したがって、この場合、ステップS806でCN201は、対象EDからのデータ受信がないと判断し、処理はステップS809に移行する。
ステップS807でCN201は、ステップS806で対象EDから受信したデータに対するAckを対象EDに送信する。ステップS807は第6実施形態の図13のステップS407に相当し、Ackは対象EDにより図16のステップS709で受信される。
続いてステップS808でCN201は、ステップS806で受信したデータを解析す
ることにより、対象EDから空データの再送が要求されているか否かを判断する。すなわち、CN201は、ステップS806で受信したデータが、対象EDにより図16のステップS708で送信された制御データなのか否かを判断する。
ステップS806で受信したデータが、対象EDにより図16のステップS707で送信されたデータ(つまりCN201がステップS804で要求したデータ)の場合、再送要求はないので、処理はステップS809に移行する。逆に、ステップS806で受信したデータが、対象EDにより図16のステップS708で送信されたデータの場合、CN201は空データの再送を要求されているので、処理はステップS815に移行する。
ステップS809でCN201は、ステップS804のデータ送信が成功したか否かを判断する。なお、図17ではエラー処理の詳細を省略しているが、例えば、ステップS805では、何らかの理由でCN201が対象EDからAckを受信することができず、タイムアウトするかもしれない。CN201はステップS809において、例えば、「ステップS804のデータ送信から所定の時間以内にステップS805でAckの受信に成功すれば、ステップS804のデータ送信は成功」と判断する。
ステップS809において、ステップS804のデータ送信が成功と判断されると、処理はステップS810に移行する。逆に、ステップS804のデータ送信が失敗と判断されると、処理はステップS8816に移行する。
ステップS810でCN201は、ステップS804のデータ送信が成功したという結果をPC200に通知する。
続いてステップS811でCN201は、ステップS806で対象EDから受信したデータがあれば、受信したデータもPC200に通知する。
さらに、ステップS812でCN201は、対象EDのアドレス(すなわち識別番号)と、当該識別番号に対応づけられたデータとの組を、送信リストから削除する。
また、ステップS813でCN201は、ステップS812での削除後の送信リスト中に識別番号が含まれるEDの数Kが、予め決められた最大値Kmaxより小さいか否かを判断する。何らかの例外的な異常が生じてK≧Kmaxとなる場合、2つのループ端記号で囲まれた繰り返し処理はここで終了し、1ビーコン周期が経過していなければ再び処理はステップS802に戻り、1ビーコン周期が経過していれば処理はステップS801に戻る。しかし、通常はK<Kmaxなので処理はステップS814に進む。
ステップS814でCN201は、EDの識別番号とEDに送信するデータの組で表された1件のデータ送信要求をPC200から受信し、送信リストに追加する。そして、2つのループ端記号で囲まれた繰り返し処理はここで終了し、1ビーコン周期が経過していなければ再び処理はステップS802に戻り、1ビーコン周期が経過していれば処理はステップS801に戻る。
また、ステップS808からステップS815に処理が移行した場合は、対象EDから空データの再送が要求されている。よって、CN201はステップS815において、送信リスト中の、対象EDの識別番号に対応づけられたデータのみを削除し、対象EDのアドレス(すなわち識別番号)は残しておく。より正確には、CN201は、対象EDの識別番号に対応づけられたデータのうち、対象EDにCN201へのデータ送信を要求する制御データは残し、その他のペイロードを削除することで、空データを対象EDの識別番号に対応づける。そして、処理はステップS816に移行する。
ステップS816は、ステップS809においてステップS804のデータ送信が失敗
と判定された場合か、またはステップS815が実行された場合に実行される。CN201はステップS816でリトライ回数と規定値を比較する。
そして、リトライ回数が規定値以下なら、2つのループ端記号で囲まれた繰り返し処理はここで終了し、1ビーコン周期が経過していなければ再び処理はステップS802に戻り、1ビーコン周期が経過していれば処理はステップS801に戻る。逆に、リトライ回数が規定値を超えていれば、処理はステップS812に移行する。
例えば、規定値は「3回」などと定められている。また、より詳しく説明すると、ステップS816で規定値と回数が比較されるリトライには、2つの種類がある。
1種類目のリトライは、ステップS804のデータ送信が失敗とステップS809において判断された場合に、1ビーコン周期内で行われるリトライである。2種類目のリトライは、図16のステップS706でM1+M2>MPと判断されたなどの理由により、あるビーコン周期で対象EDからのデータ収集に失敗した場合のリトライである。この場合、後続のビーコン周期で再度、対象EDの識別番号がビーコンのアドレス・リストフィールドに指定されるが、ステップS816により、規定値を超える数のビーコン周期にわたってリトライが繰り返されることは防止される。
以上、図17を参照して説明したように、第8実施形態では、EDのみでなくCN201も従来のものとは動作が異なる。従来のCN201の動作との主な違いは、ステップS808とS815である。
以上、第6〜第8実施形態として、CN201が各EDからデータを収集する実施形態について説明したが、第6〜第8実施形態におけるデータ収集の利点は、CN201によってデータ収集のタイミングが集中制御される点にある。CN201はPC200に制御されているので、データ収集のタイミングはPC200によって集中制御されているとも言えるが、いずれにせよ、子機である複数のEDは、各自判断したタイミングでデータをCN201に送信するのではない。
つまり、第6〜第8実施形態では、下記2点の組み合わせにより、PC200は必要に応じて自由に、いつどのEDからデータを収集するかを制御することができる。
・ビーコンのアドレス・リストフィールドにどのEDの識別番号を含めるかという点。
・アドレス・リストフィールドで識別番号を指定した各ED宛の送信データにおいて、制御データを、EDからCN201へのデータ送信を行うよう要求することを示す値に設定するか否かという点。
こうしてデータ収集のタイミングが集中制御されていると、上記実施形態のように各EDがビーコンにしたがってアクセス時刻ATを計算し、計算したアクセス時刻ATにCN201にアクセスする限り、データ収集のためにED間で衝突が生じることもない。よって、PC200は、必要に応じて効率的に、CN201を介して各EDからデータを収集することができる。また、PC200は、各EDへ送信するデータとの兼ね合いを考慮して、データ収集のスケジュールを立てることもできる。
また、第6〜第8実施形態によるEDからのデータ収集は、収集するデータの種類と用途によって様々な効果をもたらす。
例えば、図3のセンサ306が温度センサであり、PC200がCN201を介して各EDから温度を収集する実施形態は、室温の管理に好適である。収集した温度は、例えば空調設備にフィードバックされてもよい。また、図3のセンサ306が、例えば心拍数な
どを計測する医療用のセンサであり、個々のEDを患者が携帯する実施形態は、患者の観察に好適である。
また、PC200がCN201を介して各EDからLQIを収集する実施形態は、図18のシステム全体の設定を調整するのに好適である。LQIの収集は、例えばシステムの試験運用の際に行われてもよいし、保守期間に行われてもよいし、実運用中に恒常的に行われてもよい。
例えば、多数のEDそれぞれにおける電波の受信感度を調べ、各EDとCN201を適切な場所に配置することは、従来、非常に手間のかかる作業であった。しかし、第6〜第8実施形態によって、例えばビーコンの受信感度を表すLQIを各EDからPC200が収集することで、PC200は、各EDにおける電波受信状況を一元的に把握し、モニタすることができる。
よって、ユーザの手間が大幅に削減される。また、ユーザは、PC200が一元的に把握した各EDにおける電波受信状況を見て、EDまたはCN201の配置を検討することができる。
さらに、EDの配置を決めるために、ユーザがEDを持ち歩いて移動しながら、PC200がCN201を介して当該EDからLQIを収集してもよい。それにより、電波が届きにくい、いわゆるデッドポイントの位置が明らかになる。したがって、通信エリアに漏れがないか否かといったチェックが可能となる。また、チェックの結果から、ユーザがCN201またはEDの配置の見直しをすることもできる。その結果、システム全体としての平均的な通信状態を向上させることもできる。
また、LQIの収集の結果、ユーザは、CNの設置台数を増やすことを決定してもよい。例えば、通信エリアに漏れがないように、ユーザは3台のCNを配置してもよい。
この場合、3台のCNは同じ1台のPC200に接続され、同じPC200により制御される。また、3台のCNは、別々の無線チャネルを用いてEDと通信を行う。各EDは、3台のCNのうち、最もビーコンの受信感度が良いCNのネットワークに参加する。各CNは、自CNのネットワークに属する配下のEDの識別番号を認識することができ、認識した結果をPC200に報告する。
よって、PC200は、各EDについて、どのCNのネットワークに属すのかを一元的に把握することができる。PC200は、EDとCNの対応関係を、例えばテーブルを用いて管理してもよい。
また、PC200はEDとCNの対応関係に基づいて次のような制御を行う。例えば、ED001が第1のCNのネットワークに属し、ED002が第2のCNのネットワークに属する場合、PC200は、ED001宛のデータは第1のCNに通知し、ED002宛のデータは第2のCNに通知する。
また、その後、何らかの理由でED002が、第2のCNのビーコンよりも第1のCNのビーコンの方を良い感度で受信することができるようになり、第1のCNのネットワークに移動してくる場合もありうる。その場合、PC200は第1のCNからの通知に基づき、上記テーブルにおいてED002に対応づけられたCNを、第2のCNから第1のCNに書き換えることができる。
以上、複数の実施形態について説明したが、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
上記では、未使用区間がビーコンの直後またはビーコン周期の最後に配置されるパターンの実施形態について説明したが、未使用区間がビーコン周期の中間部に配置される実施形態も可能である。
例えば、ペンディングとなっているデータの宛先として、「10、20、30、40、50」という順で5つの識別番号がビーコンに記述されているとき、ED010に対応する区間、ED020に対応する区間、未使用区間、ED030に対応する区間、ED040に対応する区間、ED050に対応する区間、という順になるよう配置されていてもよい。
ただし、未使用区間をビーコン周期の中間部に配置する場合は、未使用区間をビーコンの直後またはビーコン周期の最後に配置する場合に比べて、アクセス時刻の算出方法が複雑になる。なぜなら、各EDは、自EDに対応する区間が未使用区間の前後いずれとなるかを判定し、場合分けしてアクセス時刻を計算する必要があるためである。
よって、第1〜第5実施形態では、単純な方法でアクセス時刻を計算することができるようにするため、すなわち、EDをより簡素に構成するため、未使用区間をビーコンの直後またはビーコン周期の最後に配置している。アクセス時刻が単純な計算式で計算可能であれば、アクセス時刻の計算をハードウェア回路で行うようにMCUを構成するのも容易である。
また、上記の実施形態を複数組み合わせた実施形態も可能である。
例えば、第2実施形態の式(13)のように、未使用区間の長さMを減じる計算方法を、第3〜第5実施形態に適用することも可能である。また、図7の第3実施形態において、図8の第4実施形態のごとく空きの数Rを2とすることもでき、あるいは空きの数Rを2より大きくすることもできる。
なお、上記の複数の実施形態を切り替え可能なようにビーコン無線通信システムを構成することもできる。例えば、アクセス時刻の計算式を切り換えるための特定の制御命令をCNがビーコン・ペイロードに記述し、EDはビーコン・ペイロードの内容に応じて計算式を切り換えてもよい。
あるいは、ビーコン無線通信システムにおいて、特定の番号(例えば900〜999番)を、EDの識別番号として使用しないことを予め取り決めておいてもよい。これらの番号をダミー番号と呼ぶことにする。ダミー番号にはそれぞれ予め意味が割り当てられる。
例えば、950番と960番はそれぞれ、第1実施形態と第4実施形態の計算式を使うべきことを表すとする。このとき、CNがこれらのダミー番号をビーコンに記述し、EDがビーコンを解釈してアクセス時刻の計算に用いる計算式を判断することによって、上記の複数の実施形態を切り替え可能なようにビーコン無線通信システムを構成することができる。この場合、台数Sと順番Nの認識において、各EDのMCUは、ダミー番号を無視すればよい。
また、図9の第5実施形態は様々に変形可能である。
例えば、依頼受け区間の長さβと、各EDに割り当てられる通信区間の長さと、未使用区間の長さは、互いに異なるようにすることができる。例えば、依頼受け区間の長さβと未使用区間の長さMをそれぞれ定数としてMCU内の不揮発性メモリに予め記憶しておくこともできる。
また、依頼受け区間と通信区間と未使用区間の並び順は任意である。
さらに、第5実施形態では、どのビーコン周期でもビーコン直後に必ず依頼受け区間が存在することを前提としていたが、依頼受け区間を設けるか否かということと、依頼受け区間の長さとをCNがビーコン周期ごとに制御可能とすることもできる。
例えば、ダミー番号の900〜906番には依頼受け区間という意味が割り当てられ、CNは、依頼受け区間を設けようとする場合は、ビーコンフレームのアドレス・リストフィールドに、依頼受け区間を意味するダミー番号900番を記述する。各EDは、900番を含むビーコンを受信すると、900番が記述された順序に対応する区間が依頼受け区間であることを認識することができる。また、CNは、依頼受け区間を短く設定しようとする場合は、依頼受け区間を意味するダミー番号を1つだけビーコンに記述し、長く設定しようとする場合は、依頼受け区間を意味するダミー番号を2つあるいはそれ以上ビーコンに記述する。
これと同様の観点から、他の実施形態を変形することも可能である。すなわち、未使用区間を意味するダミー番号(例えば999番)を、どのビーコン周期においてもCNが常にビーコンに記述するように、上記の各実施形態を変形することが可能である。この場合、各EDのMCUが、ダミー番号も含めて台数Sと順番Nを数えて認識し、参考例における式(1)および(3)にしたがって自分のアクセス時刻ATを計算する。すると、ダミー番号の分、未使用区間が存在することになる。
ただし、このような変形例においては、IEEE 802.15.4規格に準拠した従来の汎用的なCNをそのまま利用することはできない。未使用区間を意味するダミー番号を常にビーコンに記述するよう特別に構成されたCNが必要である。一方、上記の第1〜第5実施形態は、従来の汎用的なCNをそのまま利用することができるという利点を有する。
また、第7〜第8実施形態における閾値MPは、ビーコンのアドレス・リストフィールドに識別番号が含まれるEDの台数Sに応じて変化する可変の閾値でもよい。
また、第6〜第8実施形態において、CN201からEDにデータ送信を要求したにもかかわらずCN201がEDからのデータを受信することができなかった場合、CN201は、次のビーコン周期において、次のような制御を行ってもよい。
・例えば、通常はビーコンのアドレス・リストフィールドに識別番号を含めるEDの台数Sの値がS=5の場合、CN201は、次のビーコン周期では一時的にS=3に変えてビーコンを生成し、送信してもよい。
・例えば、ED001からのデータ収集に失敗した次のビーコン周期では、CN201は、アドレス・リストフィールドを、ED001の識別子である「1」を2つ以上含めて「1,1,2,3,4」のように設定してもよい。
上記に例示した2つの制御は、いずれも、データ収集のための時間的余裕を増やし、次のビーコン周期で確実に対象EDからデータを収集するための制御である。
また、第6〜第8実施形態においては、EDからCN201へのデータ送信を要求するか否かが、CN201からEDへ送信されるデータ内で指定されているが、このような指定がなくてもよい。
上記各実施形態によれば、ビーコンに識別番号が含まれるEDは、各自異なるアクセス時刻にCN201にアクセスするので、他のEDの通信に干渉しない。よって、EDは、自分専用に確保された長さαの区間を自由に使って、CN201からの要求の有無と関係なく、例えばCN201からの受信データの量M1との和が閾値MPを超えない範囲のデ
ータを、自由にCN201に送信してもよい。
なお、第7〜第8実施形態のようにEDからCN201へ送信されるデータの量が不定の場合、EDが先にCN201からデータを受信し、割り当てられた長さαの区間の残りでデータを送信することが可能か否かを、閾値MPに基づいて判断することが好ましい。
しかし、システムの用途などによっては、EDからCN201へ送信されるデータの量、およびCN201からEDへ送信されるデータの量の上限が決まっている場合もある。その場合、2つの上限値から、長さαの区間で送信と受信の双方を完了することが可能だと予め判明していれば、先にEDからCN201にデータを送信し、後でCN201からEDにデータを送信してもよい。つまり、図13において、ステップS401に続いてステップS406とS407を実行し、その後でステップS402〜S405を実行する実施形態も可能である。
以上、実施形態の変形の例をいくつか示したが、ビーコン無線通信システムの用途や利用するCNの仕様などに応じて、適した実施形態を選択することが好ましい。いずれの実施形態においても、ビーコンが含む識別子のうちでの自ビーコン無線通信装置の識別子の順序と未使用区間の長さとに応じて、受信した当該ビーコンから始まるビーコン周期内でのアクセス時刻が計算され、そのアクセス時刻にアクセスが行われることから、ビーコン無線通信システム全体としての性能が向上する。
最後に下記の付記を開示する。
(付記1)
1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて用いられる前記ビーコン無線通信装置であって、
前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、前記ビーコンが前記識別子を含む場合は、自ビーコン無線通信装置が前記親機にアクセスすべき時刻を計算するアクセス時刻計算手段と、
前記アクセス時刻計算手段を用いて計算した前記時刻に、前記親機に、無線を通じてアクセスするアクセス手段とを備え、
前記親機が前記ビーコンを送信する周期であるビーコン周期は、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と、前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含み、
前記アクセス時刻計算手段は、前記ビーコンが含む識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記未使用区間の長さとに応じて、前記ビーコン発信時刻を起点としてビーコン周期内での前記時刻を計算する、
ことを特徴とするビーコン無線通信装置。
(付記2)
前記未使用区間は、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sに1以上の数Rを加算して得られる数D=S+Rで、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さを等分した長さαの、R倍の長さR×αであることを特徴とする付記1に記載のビーコン無線通信装置。
(付記3)
前記Rの値は1であることを特徴とする付記2に記載のビーコン無線通信装置。
(付記4)
前記アクセス時刻計算手段は、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さから予め定められた前記未使用区間の長さMを減じた長さを、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sで等分す
ることにより、前記時刻を計算する、
ことを特徴とする付記1に記載のビーコン無線通信装置。
(付記5)
前記ビーコン周期は、前記親機が前記ビーコンを送信するビーコン送信区間と、該ビーコン送信区間に続いて任意の台数の前記ビーコン無線通信装置が前記親機に対してスロットの確保依頼を送信して前記親機が前記確保依頼を受け付けるための依頼受け区間と、該依頼受け区間に続く前記無線通信区間と、該無線通信区間に続く前記未使用区間とからなることを特徴とする付記1から4のいずれか1項に記載のビーコン無線通信装置。
(付記6)
前記ビーコン周期内における前記未使用区間の位置は、前記無線通信区間の前、前記無線通信区間の後、または複数に分割された前記無線通信区間の中間であることを特徴とする付記1から4のいずれか1項に記載のビーコン無線通信装置。
(付記7)
前記アクセス手段は、前記親機にアクセスして前記親機から第1のデータを受信する受信処理と、前記親機にアクセスして前記親機へ第2のデータを送信する送信処理の双方を行うことを特徴とする付記1から6のいずれか1項に記載のビーコン無線通信装置。
(付記8)
前記アクセス手段は、前記受信処理を行った後、受信した前記第1のデータの量と前記親機に送信しようとする第3のデータの量との和を閾値と比較し、前記和が前記閾値以下ならば、前記送信処理において前記第2のデータとして前記第3のデータを送信することを特徴とする付記7に記載のビーコン無線通信装置。
(付記9)
物理量を感知する感知手段をさらに備え、
前記第3のデータは前記感知手段が感知した値に基づくデータである、
ことを特徴とする付記8に記載のビーコン無線通信装置。
(付記10)
前記アクセス手段は、前記和が前記閾値を超えていれば、前記ビーコン無線通信装置宛に次のビーコン周期で空データを送信するよう前記親機に要求する制御データを、前記送信処理において前記第2のデータとして送信するか、または現在のビーコン周期における前記第2のデータの送信を取り止めることを特徴とする付記8または9に記載のビーコン無線通信装置。
(付記11)
前記閾値は100バイトであることを特徴とする付記8から10のいずれか1項に記載のビーコン無線通信装置。
(付記12)
1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて、前記ビーコン無線通信装置に、
前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断する判断ステップと、
前記ビーコンが前記識別子を含む場合は、前記親機が前記ビーコンを送信する周期であって、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含むビーコン周期内で、自ビーコン無線通信装置が前記親機にアクセスすべき時刻を、前記ビーコンが含む識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記未使用区間の長さとに応じて計算する計算ステップと、
計算した前記時刻に、前記親機に、無線を通じてアクセスするよう制御を行う制御ステップと、
を実行させることを特徴とするビーコン無線通信プログラム。
(付記13)
前記未使用区間は、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sに1以上の数Rを加算して得られる数D=S+Rで、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さを等分した長さαの、R倍の長さR×αであることを特徴とする付記12に記載のビーコン無線通信プログラム。
(付記14)
前記Rの値は1であることを特徴とする付記13に記載のビーコン無線通信プログラム。
(付記15)
前記計算ステップは、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さから予め定められた前記未使用区間の長さMを減じた長さを、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sで等分した長さを計算することを含む、
ことを特徴とする付記12に記載のビーコン無線通信プログラム。
(付記16)
前記ビーコン周期は、前記親機が前記ビーコンを送信するビーコン送信区間と、該ビーコン送信区間に続いて任意の台数の前記ビーコン無線通信装置が前記親機に対してスロットの確保依頼を送信して前記親機が前記確保依頼を受け付けるための依頼受け区間と、該依頼受け区間に続く前記無線通信区間と、該無線通信区間に続く前記未使用区間とからなることを特徴とする付記12から15のいずれか1項に記載のビーコン無線通信プログラム。
(付記17)
前記ビーコン周期内における前記未使用区間の位置は、前記無線通信区間の前、前記無線通信区間の後、または複数に分割された前記無線通信区間の中間であることを特徴とする付記12から15のいずれか1項に記載のビーコン無線通信プログラム。
(付記18)
1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて、前記ビーコン無線通信装置が、
前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、
前記ビーコンが前記識別子を含む場合は、前記親機が前記ビーコンを送信する周期であって、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含むビーコン周期内で、自ビーコン無線通信装置が前記親機にアクセスすべき時刻を、前記ビーコンが含む識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記未使用区間の長さとに応じて計算し、
計算した前記時刻に、前記親機に、無線を通じてアクセスする、
ことを特徴とするビーコン無線通信方法。
(付記19)
前記未使用区間は、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sに1以上の数Rを加算して得られる数D=S+Rで、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さを等分した長さαの、R倍の長さR×αであることを特徴とする付記18に記載のビーコン無線通信方法。
(付記20)
前記Rの値は1であることを特徴とする付記19に記載のビーコン無線通信方法。
(付記21)
前記前記ビーコン無線通信装置は、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さから予め定められた前記未使用区間の長さMを減じた長さを、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sで等分した長さを計算することによって前記時刻を計算する、
ことを特徴とする付記18に記載のビーコン無線通信方法。
(付記22)
前記ビーコン周期は、前記親機が前記ビーコンを送信するビーコン送信区間と、該ビーコン送信区間に続いて任意の台数の前記ビーコン無線通信装置が前記親機に対してスロットの確保依頼を送信して前記親機が前記確保依頼を受け付けるための依頼受け区間と、該依頼受け区間に続く前記無線通信区間と、該無線通信区間に続く前記未使用区間とからなることを特徴とする付記18から21のいずれか1項に記載のビーコン無線通信方法。
(付記23)
前記ビーコン周期内における前記未使用区間の位置は、前記無線通信区間の前、前記無線通信区間の後、または複数に分割された前記無線通信区間の中間であることを特徴とする付記18から21のいずれか1項に記載のビーコン無線通信方法。
(付記24)
ビーコンを送信する1台の親機と、第1の識別子により識別される第1の子機を含む複数台の子機とが無線を通じて通信するビーコン無線通信システムにおいて、
第1のビーコン周期において前記第1の子機に送信する第1のデータがあるとき、前記親機が、前記第1識別子を第1のビーコンに含めて前記第1のビーコンを送信し、
前記第1の子機は、前記第1のビーコンに含まれる1つ以上の識別子のうちでの前記第1の識別子の順序に基づいて前記第1のビーコン周期内の第1の時刻を計算し、計算した前記第1の時刻に前記親機にアクセスして前記第1のデータを受信し、
前記第1のデータが、前記親機から前記第1の子機に第2のデータの送信を要求する指示を含む場合、前記第1の子機は、受信した前記第1のデータの量と要求された前記第2のデータの量との和を閾値と比較し、前記和が前記閾値以下ならば、前記第1のビーコン周期において前記第1のデータの受信に続けて前記第2のデータの前記親機への送信を実行し、前記和が前記閾値を超えていれば、前記第1のビーコン周期における前記第2のデータの送信を取り止め、
前記第1のデータが前記指示を含み、かつ前記第1のビーコン周期において前記第2のデータが前記親機において受信されなかったとき、前記親機は、前記第1の識別子を第2のビーコンに含めて前記第2のビーコンを送信し、第2のビーコン周期で前記第1の子機に送信するデータとして空データを用意し、前記第1の子機は、前記第2のビーコンに含まれる1つ以上の識別子のうちでの前記第1の識別子の順序に基づいて前記第2のビーコン周期内の第2の時刻を計算し、計算した前記第2の時刻に前記親機にアクセスして前記空データを受信し、前記親機に前記第2のデータを送信する、
ことを特徴とする方法。
第1実施形態を説明する図である。 参考例を説明する図である。 コーディネータとエンドデバイスの内部構成を説明するブロック図である。 ビーコン信号のフレームフォーマットを説明する図である。 コーディネータとエンドデバイスとの間の通信の様子を示すシーケンス図である。 エンドデバイスのMCUが実行する処理のフローチャートである。 第3実施形態を説明する図である。 第4実施形態を説明する図である。 第5実施形態を説明する図である。 本発明の実施形態と参考例との比較結果を示すグラフである。 第1実施形態におけるコーディネータとエンドデバイスとの間の通信の詳細を表すシーケンス図である。 図6のステップS110の第1実施形態における詳細を示すフローチャートである。 第6実施形態におけるコーディネータとエンドデバイスとの間の通信の詳細を表すシーケンス図である。 図6のステップS110の第6実施形態における詳細を示すフローチャートである。 図6のステップS110の第7実施形態における詳細を示すフローチャートである。 図6のステップS110の第8実施形態における詳細を示すフローチャートである。 第8実施形態におけるコーディネータの動作を示すフローチャートである。 ビーコン無線通信方式の概要を説明する図である。 CSMA−CA方式を採用した第1の従来技術を説明する図である。 時分割方式を採用した第2の従来技術を説明する図である。
符号の説明
001〜100 ED
200 PC
201 CN
301、311 アンテナ
302、312 RFユニット
303、313 MCU
304、314 ソフト
305、315 モジュール
306 センサ
307、316 電池
b10〜b43 ビーコン

Claims (8)

  1. 1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて用いられる前記ビーコン無線通信装置であって、
    前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、前記ビーコンが前記識別子を含む場合は、自ビーコン無線通信装置が前記親機にアクセスする時刻を計算するアクセス時刻計算手段と、
    前記アクセス時刻計算手段を用いて計算した前記時刻に、前記親機に、無線を通じてアクセスするアクセス手段とを備え、
    前記親機が前記ビーコンを送信する周期であるビーコン周期は、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と、前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含み、
    前記アクセス時刻計算手段は、前記ビーコンが含む全部でS個の識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記無線通信区間の長さとに応じて、前記ビーコン発信時刻を起点とするビーコン周期内前記無線通信区間のうち自ビーコン無線通信装置に割り当てられた区間の開始時刻である前記時刻を計算する、
    ことを特徴とするビーコン無線通信装置。
  2. 前記未使用区間は、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sに1以上の数Rを加算して得られる数D=S+Rで、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さを等分した長さαの、R倍の長さR×αであることを特徴とする請求項1に記載のビーコン無線通信装置。
  3. 前記アクセス時刻計算手段は、前記ビーコン周期のうち前記無線通信区間および前記未使用区間として利用可能な時間の長さから予め定められた前記未使用区間の長さMを減じた長さを、前記ビーコンに識別子が含まれる前記ビーコン無線通信装置の台数Sで等分することにより、前記時刻を計算する、
    ことを特徴とする請求項1に記載のビーコン無線通信装置。
  4. 前記ビーコン周期は、前記親機が前記ビーコンを送信するビーコン送信区間と、該ビーコン送信区間に続いて任意の台数の前記ビーコン無線通信装置が前記親機に対してスロットの確保依頼を送信して前記親機が前記確保依頼を受け付けるための依頼受け区間と、該依頼受け区間に続く前記無線通信区間と、該無線通信区間に続く前記未使用区間とからなることを特徴とする請求項1から3のいずれか1項に記載のビーコン無線通信装置。
  5. 前記アクセス手段は、前記親機にアクセスして前記親機から第1のデータを受信する受信処理と、前記親機にアクセスして前記親機へ第2のデータを送信する送信処理の双方を行うことを特徴とする請求項1から4のいずれか1項に記載のビーコン無線通信装置。
  6. 前記アクセス手段は、前記受信処理を行った後、受信した前記第1のデータの量と前記親機に送信しようとする第3のデータの量との和を閾値と比較し、前記和が前記閾値以下ならば、前記送信処理において前記第2のデータとして前記第3のデータを送信することを特徴とする請求項5に記載のビーコン無線通信装置。
  7. 1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて、前記ビーコン無線通信装置に、
    前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断する判断ステップと、
    前記ビーコンが前記識別子を含む場合は、前記親機が前記ビーコンを送信する周期であって、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含むビーコン周期内前記無線通信区間のうち自ビーコン無線通信装置に割り当てられた区間の開始時刻であって自ビーコン無線通信装置が前記親機にアクセスする時刻を、前記ビーコンが含む全部でS個の識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記無線通信区間の長さとに応じて計算する計算ステップと、
    計算した前記時刻に、前記親機に、無線を通じてアクセスするよう制御を行う制御ステップと、
    を実行させることを特徴とするビーコン無線通信プログラム。
  8. 1台の親機と、複数台の子機であるビーコン無線通信装置とが、ビーコンを用いて無線を通じて通信するビーコン無線通信システムにおいて、前記ビーコン無線通信装置が、
    前記親機から受信した前記ビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、
    前記ビーコンが前記識別子を含む場合は、前記親機が前記ビーコンを送信する周期であって、前記親機が無線を通じて1台以上の前記ビーコン無線通信装置と通信するために割り当てられる無線通信区間と前記親機が前記ビーコン無線通信装置との無線通信以外の処理を行うために割り当てられる未使用区間とを含むビーコン周期内前記無線通信区間のうち自ビーコン無線通信装置に割り当てられた区間の開始時刻であって自ビーコン無線通信装置が前記親機にアクセスする時刻を、前記ビーコンが含む全部でS個の識別子のうちでの自ビーコン無線通信装置の前記識別子の順序と前記無線通信区間の長さとに応じて計算し、
    計算した前記時刻に、前記親機に、無線を通じてアクセスする、
    ことを特徴とするビーコン無線通信方法。
JP2008330196A 2008-03-25 2008-12-25 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法 Expired - Fee Related JP5260264B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008330196A JP5260264B2 (ja) 2008-03-25 2008-12-25 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008079137 2008-03-25
JP2008079137 2008-03-25
JP2008330196A JP5260264B2 (ja) 2008-03-25 2008-12-25 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法

Publications (2)

Publication Number Publication Date
JP2009260925A JP2009260925A (ja) 2009-11-05
JP5260264B2 true JP5260264B2 (ja) 2013-08-14

Family

ID=41387711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008330196A Expired - Fee Related JP5260264B2 (ja) 2008-03-25 2008-12-25 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法

Country Status (1)

Country Link
JP (1) JP5260264B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515256B2 (en) 2007-12-26 2013-08-20 Sony Corporation Image processing apparatus, moving image reproducing apparatus, and processing method and program therefor
US8570390B2 (en) 2007-12-07 2013-10-29 Sony Corporation Image processing apparatus, dynamic picture reproduction apparatus, and processing method and program for the same
US8599320B2 (en) 2008-01-21 2013-12-03 Sony Corporatiion Picture processing apparatus, processing method for use therewith, and program
US8754959B2 (en) 2007-08-24 2014-06-17 Sony Corporation Image processing device, dynamic image reproduction device, and processing method and program in them
US8768097B2 (en) 2007-12-07 2014-07-01 Sony Corporation Image processing apparatus, moving image reproducing apparatus, and processing method and program therefor

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488062B2 (ja) * 2010-03-10 2014-05-14 株式会社リコー 無線通信装置及び無線通信方法
WO2011135719A1 (ja) * 2010-04-30 2011-11-03 富士通株式会社 基地局、通信システム、移動局および通信方法
JP2012004881A (ja) * 2010-06-17 2012-01-05 Ricoh Co Ltd 無線通信装置及び方法
JP5636861B2 (ja) 2010-10-14 2014-12-10 富士通株式会社 通信装置、通信システム、及び通信方法
US9426832B2 (en) * 2012-04-24 2016-08-23 Intel Corporation Methods and arrangements to coordinate communications in a wireless network
WO2016167121A1 (ja) * 2015-04-15 2016-10-20 三菱電機株式会社 無線通信システム、親機、子機及び無線接続方法
JPWO2020250728A1 (ja) * 2019-06-10 2020-12-17
WO2023199519A1 (ja) * 2022-04-15 2023-10-19 日本電信電話株式会社 サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4799213B2 (ja) * 2006-02-28 2011-10-26 株式会社エヌ・ティ・ティ・ドコモ 無線通信端末及び無線通信方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8754959B2 (en) 2007-08-24 2014-06-17 Sony Corporation Image processing device, dynamic image reproduction device, and processing method and program in them
US8570390B2 (en) 2007-12-07 2013-10-29 Sony Corporation Image processing apparatus, dynamic picture reproduction apparatus, and processing method and program for the same
US8768097B2 (en) 2007-12-07 2014-07-01 Sony Corporation Image processing apparatus, moving image reproducing apparatus, and processing method and program therefor
US8515256B2 (en) 2007-12-26 2013-08-20 Sony Corporation Image processing apparatus, moving image reproducing apparatus, and processing method and program therefor
US8599320B2 (en) 2008-01-21 2013-12-03 Sony Corporatiion Picture processing apparatus, processing method for use therewith, and program
US8717504B2 (en) 2008-01-21 2014-05-06 Sony Corporation Picture processing apparatus, processing method for use therewith, and program

Also Published As

Publication number Publication date
JP2009260925A (ja) 2009-11-05

Similar Documents

Publication Publication Date Title
JP5260264B2 (ja) ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法
US10779318B2 (en) Device and method for controlling slot-based channel system, and slot-based channel access terminal in wireless LAN
US11700635B2 (en) Scheduling energy harvesting nodes in a wireless sensor networks
EP1461907B1 (en) Network protocol for an ad hoc wireless network
US7567540B2 (en) Wireless communication system, wireless communication apparatus, wireless communication method and computer program
JP4563882B2 (ja) 無線lanシステムおよびその通信方法
Misic et al. Wireless personal area networks: performance, interconnection and security with IEEE 802.15. 4
KR100850912B1 (ko) 무선통신시스템에서 전력 절약 장치 및 방법
KR101213474B1 (ko) 멀티홉 센서네트워크의 mac 시스템
JP4480563B2 (ja) 無線LAN基地局装置のQoS制御方法
KR100643323B1 (ko) 지그비 시스템에서 데이터 송수신 방법 및 그 방법을사용하는 코디네이터 및 디바이스
EP1838118B1 (en) Device and method for avoiding interferences between radio cells of a WLAN
US20080232287A1 (en) Method and system for power saving scheduling in wireless local area networks
US20090323697A1 (en) Data payload transmission via control plane signaling
US8972514B2 (en) Data transmitting and receiving method, data transmitting and receiving system, master device, and slave device
WO2008059678A1 (fr) Dispositif de communication radio, procédé de communication radio, et programme de communication radio
KR20040060964A (ko) Ieee 802.11e 경쟁/자원 예약 프로토콜을 사용한무선 랜 상의 최적 서비스 스테이션
JP5460859B2 (ja) スター型ネットワークのためのビーコン、スター型ネットワークにおけるセンサノード、スター型ネットワークにおけるゲートウェイの初期化方法およびスター型ネットワークの動作方法
EP1615385B1 (en) Method for carrying out communications among plural stations
WO2005027374A1 (ja) 無線通信方法及び無線通信端末収容装置
CN107113623A (zh) 无线资源管理方法和使用该方法的接入点
Kim et al. Energy-efficient traffic scheduling in IEEE 802.15. 4 for home automation networks
Selvaprabhu et al. Priority‐Based Resource Allocation and Energy Harvesting for WBAN Smart Health
CN106921442B (zh) 通信装置及通信方法
JP5283356B2 (ja) ビーコン無線通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20130225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees