以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
本実施形態の構成を容易に理解するために,ここでは,先ず,無線通信の概要について説明する。
近年,IEEE802.15.3における高速無線PAN(Personal Area Network)の標準化仕様が決定した。この仕様によれば,任意の通信端末が他の通信端末と無線通信を行うためにPNC(ピコネットコーディネータ)と呼ばれるコーディネータを選び,このPNCの制御の下でデータの送受信を行う。このIEEE802.15.3では,PNCによって通信に利用される時間が厳密に管理され,かかる無線通信ネットワークを形成する通信端末は,このPNCに指定されたタイミングでのみ送受信を行うことができる。
即ち,特定の通信端末(送信端末)から特定の通信端末(受信端末)にデータを送信する場合,先ず送信端末からPNCとなる通信装置に対してデータ通信に必要なチャネルタイムの取得要求を行い,PNCのビーコン信号によって利用可能なチャネルタイムのタイミングが指定される。
このようなIEEE802.15.3の仕様では,通信端末間の通信において,先ず,PNCに通信時間の確保を要求し,PNCは,その要求に応じてその都度通信時間を割り当てなければならいという複雑な手順を必要としていた。このようなPNCやアクセスポイントにより制御を行う無線通信システムでは,実際に通信が開始されるまでに長時間を要するという問題があった。
このような無線通信の応用としてアクセスポイントを介さずに各通信端末同士で直接通信可能なアドホック(Ad−hoc)通信も考案されている。かかるアドホック通信は,アクセスポイントやコーディネータのような制御装置が不要であり,各通信端末同士が自律分散して,非同期に無線通信を行うことができる。
一般的なアドホック通信では,周囲の通信端末からいつ自己宛にデータが送信されるか分からないので,各通信端末は,そのデータの送信に即座に応答できるように常に受信状態でなければならない。このため消費電力の低減化が困難となっていた。
かかる問題の対策として,本件出願人による,特開2003−229869号明細書に記載されているように,各通信端末が周囲に存在する他の通信端末にビーコン信号を送信し,それぞれが通信を希望する時間を通知して互いの通信期間を確保している。
このようなビーコン信号を利用した無線通信によれば,通信端末同士が1対1で通信を行うユニキャスト通信を行う場合,事前に通信先となる受信端末とデータ通信を行う時間等をネゴシエーションし,そのユニキャスト通信期間を排他的に設定することで無線通信が行われていた。そのため,上記ユニキャスト通信期間には,他の通信端末が通信することができなかった。
また,1つの通信端末から複数の通信端末に同じ情報を送信するマルチキャスト通信では,上記ユニキャスト通信同様,マルチキャスト通信期間を設定し,その期間中に複数の通信端末に向けて同一のデータの送信を行う。マルチキャスト通信の対象は,かかるデータを受信する受信端末のアドレス情報などをその都度マルチキャストフレームに設定することによって行われ,複雑な処理が必要となる。
また,キャリア検出多重アクセス/衝突回避(CSMA/CA)方式のランダムアクセスをベースとする制御方式においては,所定の時間にわたり無線伝送路が空き状態にならないので自己の通信のための時間を確保することが困難であり,これによりデータ送信に遅延が生じ,リアルタイム性の高いデータ伝送においては支障を来していた。
また,特開2003−229869号明細書に記載された間欠的に通信を行う発明においても,通信先である受信端末が起動していないときにデータを送信しても,データが正しく届かないという問題があった。また,間欠的に通信を行っている中,休眠状態にある通信端末に対して起動するように要求し,その通信端末が起動状態になるまで待つと,時間的な損失が生じていた。
さらに,従来からのユニキャスト通信においては,定期的に送信するデータ量が一定でない場合,設定された時間に満たないでデータの送信が終了されることがあり,この場合においても通信を行っている通信端末以外の端末では通信を行うことが許されないので,通信が行われない無駄な時間が生じ,ベストエフォート的な通信と相性が悪かった。
(第1の実施形態:データ伝送システム)
このような上記の問題点に鑑み,以下では,複数の通信端末間で効率的な通信時間の利用が可能なデータ伝送システムを提案する。以下,特に指定しない限り,送信端末は,データを送信する通信端末を示し,受信端末は,データを受信する通信端末を示す。また,通信端末として表している場合,送信,受信の両機能を有するものとする。
図1は,上記データ伝送システムが実施されるアドホックネットワークを説明するための構成図である。上記アドホックネットワークでは通信局としての特定の制御局が無く,各通信端末が自律分散的に動作する。ここでは,5つの通信端末100,102,104,106,108が示され,各通信端末100,102,104,106,108は,それぞれ自己の通信可能範囲110内にある他の通信端末100,102,104,106,108と無線による通信を行う。
例えば,通信端末100は通信端末102と,通信端末102は通信端末100,104と,通信端末104は通信端末102,106と,通信端末106は通信端末104,108と,通信端末108は通信端末106と無線による通信伝送路を形成する。ここで各通信端末100,102,104,106,108は,通信可能範囲110内にある通信端末を通信可能な通信端末として,もしくは,自己の通信データが干渉する可能性がある通信端末として認識する。本実施形態は,上記の自律分散型の無線通信に限られず,制御局を有する無線通信や有線による通信にも適応可能である。
通信端末102が,通信端末104に対してデータを送信しようと試みた場合,近隣には通信端末100,106が存在し,その通信端末100および通信端末106が,一方の通信端末とは通信可能であるが他方の通信端末とは通信ができない所謂隠れ端末となる。このような隠れ端末によってデータ通信が妨げられるのを回避するため,通信端末102および通信端末104は,RTS/CTS制御信号を利用して送信端末と受信端末とを特定する。
図2は,アドホックネットワークにおける通常の通信を示したタイミングチャートである。上記タイミングチャートでは,スーパーフレーム120が定義され,そのスーパーフレーム120が一定周期で繰り返される。また,スーパーフレーム120は,さらに管理領域122とデータ伝送領域124とに分けることができる。ここで,Beaconはビーコン信号を示し,Tx,Rxは,送信,受信を示し,CTA(Channel Time Allocation)は,各通信端末に割り当てられた時間(領域)を示す。
上記管理領域122では,アドホックネットワークを構成するそれぞれの通信端末からのビーコン信号が発せられ,そのビーコン信号により,周囲に存在する他の通信端末を把握したり,周囲の通信端末との間で利用するデータ伝送期間を調整したりする。また,上記データ伝送領域124は,ビーコン信号を介して配分された各通信端末の通信時間に従って,データ通信が行われる。例えば,図2に示す通信端末102は,他の通信端末と通信するデータの量が多いため,それに応じた長い通信時間が設定され,一方データの量が少ない通信端末106は,短い通信時間が設定される。
また,通信端末102から通信端末100への送信130は,受信端末として1つの通信端末を指定しているので,ユニキャスト通信に当たり,通信端末102から通信端末100および通信端末104への送信132は,受信端末として2つの通信端末を指定しているので,複数の通信端末に一方的な送信を行うマルチキャスト通信に当たる。
本実施形態においては,かかるマルチキャスト通信を利用し,そのマルチキャスト通信期間内でユニキャスト通信を行うことを特徴としている。この構成を容易に把握するため,以下で段階的に説明する。
また,マルチキャスト通信に似ている通信方式としてブロードキャスト通信があるが,マルチキャスト通信では,ビーコン信号等によって送信先としての通信端末を指定するのに対し,ブロードキャスト通信では送信先を指定せず,受信可能な全ての受信端末がデータの受信を必要としている点で相違する。
図3は,従来のマルチキャスト通信におけるデータの移動を示したタイミングチャートである。ここでは,通信端末104が,マルチキャスト送信期間150の間,周囲に存在する通信端末102と通信端末106とに対してマルチキャスト通信によるデータ通信を行っている。上記マルチキャスト通信において,通信端末104は,マルチキャスト送信先として通信端末102および通信端末106を指定し,通信端末104から同じデータが複数回繰り返し送信され,通信端末102や通信端末106は,その送信された複数のデータのうち,何れか1回のみ受信すれば良い。この場合,受信完了信号(ACK)は送信されず,ある意味一方的なデータ送信となる。
図4は,本実施形態におけるマルチキャスト通信内のユニキャスト通信を示したタイミングチャートである。ここでは,通信端末104が,マルチキャスト通信期間150内に,周囲に存在する通信端末102と通信端末106とにそれぞれユニキャスト送信を行う場合を示している。かかる実施形態では,ユニキャスト通信毎にACK制御信号が返信される。通信端末104は,ACK制御信号によって通信端末102や通信端末106がデータを正しく受信したことを確認する。このデータ送信の完了通知により,複数の通信端末を対象とする場合においても,無駄な時間間隔を開けずに連続して各通信端末にデータ送信することができる。
また,上記の送信時に,通信端末各々へ送信すべき総データ量またはそのデータの優先順位に応じて,ユニキャスト通信を行う構成により,確保されたマルチキャスト送信期間において,各受信端末へのユニキャスト送信期間を自由に配分することができる。かかるデータの量の設定は,例えば,バッファリングされているデータの総量やそのデータの優先順位に応じて決定される。このようなユニキャスト通信期間の確保を寸前まで行わなくて良いので,システム全体として自由度の高い送信制御を行うことができる。
また,図3におけるマルチキャスト通信では,マルチキャスト送信期間150の間,通信端末102,104,106以外の隠れ端末,例えば,通信端末100,108の通信を停止しなければならないので,上記通信端末100,108には,事前にマルチキャスト送信期間150が設定されていることを通知する必要がある。このような課題を以下のように解決する。
図5は,本実施形態におけるマルチキャスト通信内のユニキャスト通信を示したタイミングチャートである。ここでは,通信端末104が,マルチキャスト通信期間150内において,周囲に存在する通信端末102と通信端末106とに対しそれぞれユニキャスト送信を行う場合を示している。かかる実施形態では,ユニキャスト通信毎にRTS/CTS制御信号の交換を行っている。かかる構成により,マルチキャスト通信で複数の通信端末を指定した場合においても,個別の通信端末に対するユニキャスト通信を行うことが可能となる。
また,上記RTS/CTS制御信号により,隠れ端末である通信端末100,108に,当該データ伝送システムを占有して利用することを通知でき,かかる通信端末100,108を停止させることが可能となる。例えば,CTS制御信号170によって隠れ端末としての通信端末100の通信を停止することができ,CTS制御信号172によって通信端末108の通信を停止することができる。
さらに,通信端末102が起動していない等により受信不可能な状態にあったとしても,通信端末104のRTS制御信号によって,その状態を把握することができるため,直ぐに通信端末106とのユニキャスト通信を行うことが可能となる。従って,マルチキャスト通信期間150を有効に活用できる。
図6は,本実施形態におけるマルチキャスト通信の応用例を示したタイミングチャートである。ここでは,通信端末104が,マルチキャスト通信期間150内において,周囲に存在する通信端末102と通信端末106とに対しそれぞれユニキャスト送信を行う場合を示している。上記図5の場合と相違している点は,通信端末104が通信端末102,106に対して独立したデータの送信を行わず,1つの共有データを送信し,その制御においてのみ各々とRTS/CTS制御信号を利用しているところである。通信端末104は,先ず,RTS/CTS制御信号で通信端末102および通信端末106が通信可能であることを確認し,その後,マルチキャスト送信を行う。最後に通信端末102,106が受信完了したことをACK制御信号によって確認し,当該マルチキャスト通信を終了する。このようにして,安定したマルチキャスト通信が可能になる。
以上のように,マルチキャスト通信を利用したユニキャスト通信,もしくは改良されたマルチキャスト通信によって,事前に送信すべき必要最低限の通信期間をマルチキャスト送信期間として確保し,その後,マルチキャスト送信時間において,初めて各通信端末へのユニキャスト送信期間を設定し,マルチキャスト送信期間内で各通信端末とユニキャスト通信を行うことが可能となる。従って,ビーコン信号送信時の複雑な予約処理を経ずに短時間でデータ送信時間を予約でき,ベストエフォート型のデータ通信に適応可能な期間予約型の無線通信プロトコルが実現される。
本実施形態では,上記構成の他に,他の通信端末からの送信先として自己を指定するためのコマンド受信期間を設定することができる。このコマンド受信期間は,他の端末のコマンド受信期間と排他的に設定され,他の通信端末は,識別子等を使用して自己の受信端末を指定することなく,そのコマンド受信期間にコマンドを送信するといった処理のみでその受信端末を特定する。以下に,かかるコマンド受信期間を説明する。
図7は,本実施形態のデータ伝送システムにおけるコマンド受信期間の配置を示したタイミングチャートである。図7に示した通信端末は,他の通信端末へ送信するデータが無く,他の通信端末からの送信要求を受けていない場合に,かかるコマンド受信期間のみを設定する。従って,各通信端末間で送受信するデータが無い場合,図7に示したように,管理領域122ではビーコン信号が,データ伝送領域124ではコマンド受信期間のみが設定される。
上記コマンド受信期間は,通信端末毎に排他的に設定される。図7においては,スーパーフレーム120のデータ伝送領域124内で,一定の間隔をおいて均等に配分されている。ここで,例えば通信端末104が通信端末102にユニキャスト通信またはマルチキャスト通信の要求を行う場合,先ず,ビーコン信号を利用して設定された通信端末102のコマンド受信期間を取得し,実際に通信端末102のコマンド受信期間200が到来したら,その期間にコマンド等の送信を行う。この期間の間は,当該データ伝送システムにおける他の通信端末はいずれも受信を行っていないため,かかる通信端末102のみが自己へのデータの送信要求があることを把握できる。
図8は,本実施形態のデータ伝送システムにおけるデータ伝送を示したタイミングチャートである。ここでは,図7に示したように,通信端末104が,通信端末102のコマンド受信期間200にデータの送信要求を行った場合を表している。
図7において説明したように,通信端末104のバッファに送信するデータが蓄積されると,通信端末102のコマンド受信期間200に,通信端末102に対するマルチキャスト通信要求(コマンド)が送信される。これを受けて通信端末102は,通信端末104からのデータ受信の準備を行う。かかるデータの送信タイミングは,上記コマンド受信期間200に送信されたコマンドによって,両端末102,104間で同期がとられる。ここでは,通信端末104のコマンド受信期間202の直ぐ後の期間を上記通信期間,即ち,マルチキャスト送信期間(M Tx)204に設定する。
このマルチキャスト送信期間204において,通信端末104は,通信端末102に対してマルチキャスト通信内のユニキャスト通信を行い,通信端末102は,このマルチキャスト送信期間204の間非動作の状態を脱し,通信端末104のデータを受信する。
上記において通信端末104のマルチキャスト通信期間を,コマンド受信期間と別期間に設定したのは,マルチキャスト通信期間の設定によって,コマンド受信期間を削除すると通信端末104に対するデータ送信要求を受けられなくなるからである。また,マルチキャスト通信期間をコマンド受信期間の直ぐ後としたのは,ビーコン信号によって各通信端末は,かかるコマンド受信期間を把握しており,そのタイミングを変更する手間と労力を省くためである。こうして,各通信端末は,データの送信処理を行いつつ,他方で自己へのデータ送信要求を受け付けることができる。
このように自己の通信端末内に,送信するデータが存在する場合,自己のコマンド受信期間の後に,そのデータの送信タイミングを設定する。
図9は,他の通信端末へのデータ送信タイミングを示した説明図である。図9に示すように,通信端末は,データを送信するためのマルチキャスト通信期間を自己へのコマンド受信期間の後に続けて設定する。また,そのマルチキャスト通信期間は,送信するデータの量に応じて調整される。例えば,送信データがない場合,コマンド受信期間であるRxCTAのみとなり,送信データがある場合は,そのデータの量に応じてマルチキャスト送信期間であるMulticastTxCTAの分だけ当該通信端末の占有期間が長くなる。これは,送信端末のバッファに蓄積されるデータ量が時々刻々と変化する場合にも適応され,バッファリングされたデータ量が所定量を超えた場合,上記マルチキャスト送信期間を徐々に増加したり,データ量が減少した場合,マルチキャスト送信期間を徐々に減少させたりできる。最終的に送信するデータがなくなれば,RxCTAのみが残る形となる。
かかるRxCTAとMulticastTxCTAとの設定順位は,上記の順でも良いし,逆となっても良い。
図10は,RxCTAとMulticastTxCTAの順番を入れ替えた場合のデータ送信タイミングを示した説明図である。かかる構成により,送信端末は,本来,自己のコマンド受信期間であった時点からマルチキャスト送信を開始し,送信端末から送信要求を受けた受信端末は,本来,送信端末のコマンド受信期間であった時点から受信可能となる。
図11は,上記RxCTAとMulticastTxCTAの順番を入れ替えて図8同様のデータ伝送を示したタイミングチャートである。通信端末104のバッファに送信するデータが蓄積されると,通信端末102のコマンド受信期間200に,通信端末102に対するマルチキャスト通信要求(コマンド)が送信される。これを受けて通信端末102は,通信端末104からのデータ受信の準備を行う。かかるデータの送信タイミングは,図8の場合と異なり,通信端末104の本来コマンド受信期間202であるべき時点が通信端末102の受信タイミングとなる。通信端末104は,コマンド受信期間202を後ろにシフトし,マルチキャスト送信期間204を設定する。
図8と同様に,このマルチキャスト送信期間204において,通信端末104は,通信端末102に対してマルチキャスト通信内のユニキャスト通信を行い,通信端末102は,このマルチキャスト送信期間204の間非動作の状態を脱し,通信端末104のデータを受信する。図11の場合においても,通信端末104のコマンド受信期間202は確保されるので,各通信端末は,データの送信処理を行いつつ,他方で自己へのデータ送信要求を受け付けることができる。このように,RxCTAとMulticastTxCTAの順番を入れ替えたとしても,本実施形態を実施することは可能である。
図12は,本実施形態のデータ伝送システムにおけるデータ伝送を示したタイミングチャートである。ここでは,通信端末104が,通信端末102および通信端末106にマルチキャスト送信を行っている。
通信端末104は,新たな送信データがバッファリングされると,送信対象となる通信端末102のみならず通信端末106にも送信要求を出す。この送信要求は,マルチキャスト通信の送信要求であり,その中で,各々の通信端末102,106とユニキャスト通信または両端末にマルチキャスト通信を行う旨を伝達する。
図12では,通信端末106のコマンド受信期間210がマルチキャスト通信期間212より後にあるので,通信端末104のマルチキャスト通信の開始までに通信端末106に送信要求を伝えられないように見える。しかし,実際の送信要求は,前回のスーパーフレーム120のコマンド受信期間210に送信されているので問題ない。このように通信端末104から送信要求を受けた通信端末102および通信端末106は,通信端末104のコマンド受信期間202直後にユニキャスト受信期間を設定し,その期間にデータを受信する。
以下では,図8および図12で説明したデータ伝送の理解を容易にするため,さらに詳細な説明を行う。
図13は,本実施形態のデータ伝送システムにおけるデータ伝送を詳細に表したフローチャートである。図13では,各通信端末100,102,104,106,108を縦に表し,図面下方向に向かって時間の経過が表されている。上記通信端末100,102,104,106,108は,上述したように各々が隣接して設けられており,図13で隣り合う通信端末同士は,データの交換を行い得る距離にある。ここでは,通信端末104が,通信端末102および通信端末106に対してマルチキャスト通信を行っている。図13上部のスーパーフレームは図8の状態を,下部のスーパーフレームは図12の状態を示している。
先ず,各通信端末100,102,104,106,108は,ビーコン信号を介してコマンド受信期間を設定する。かかるコマンド受信期間は,他の通信端末と排他的に設定され,例えば,通信端末102はRx200,通信端末104はRx202,通信端末106はRx210のように配置される。
通信端末104は,自己のデータバッファに,通信端末102に送信すべきデータおよび通信端末106に送信すべきデータが蓄積されると,マルチキャスト送信期間204を自己のコマンド受信期間後に設定する(S250)。ここでは,通信端末104のマルチキャスト送信までに,通信端末102にのみ送信要求を行うことができるので,当該マルチキャスト送信期間204は,通信端末102へのデータ送信に限られる。
続いて,通信端末104は,送信対象である通信端末102のコマンド受信期間200に送信要求コマンドを送信し,マルチキャスト送信先として指定する(S252)。通信端末102は,かかるコマンドを受けて受信完了(ACK)制御信号を返信し(S254),通信端末104のマルチキャスト送信期間204に自己のユニキャスト受信期間206を設定する(S256)。
次に,通信端末104は,設定されたマルチキャスト送信期間204においてマルチキャスト送信またはユニキャスト送信を行う(S260)。ここでは,送信対象が通信端末102のみなので,通信端末102とのユニキャスト通信を行う。このデータの送信に応じて,通信端末102は,通信端末104にACK制御信号を返信する(S262)。実際にユニキャスト通信が行われる期間は,マルチキャスト送信期間開始時またはその直前に決定される。
通信端末104のバッファには通信端末106へのデータも蓄積されているので,通信端末104は,通信端末106のコマンド受信期間210が到来すると,通信端末102同様に通信端末106のコマンド受信期間210に送信要求コマンドを送信し,マルチキャスト送信先として指定する(S270)。通信端末106は,かかるコマンドを受けて受信完了(ACK)制御信号を返信し(S272),通信端末104のマルチキャスト送信期間に自己のユニキャスト受信期間を設定する(S274)。また,通信端末104は,マルチキャスト送信期間に,通信端末106への送信データ分を追加する(S276)。
上記スーパーフレームが終了し,次のスーパーフレームが開始されると,各通信端末100,102,104,106,108は,ビーコン信号を介してコマンド受信期間を設定する。かかるビーコン信号の交換により,通信端末104は,自己のマルチキャスト送信期間を延長したことを周辺の通信端末102および通信端末106に通知することができる。
通信端末104は,通信端末102および通信端末106に既に送信要求を行っているので,当該スーパーフレームにおいては,送信要求を行う必要がない。通信端末102および通信端末106は,マルチキャスト送信期間の延長に伴いユニキャスト受信期間を追加し,通信端末104は,自己のマルチキャスト送信期間212に,蓄積されたデータを送信する。図13に示したように,このマルチキャスト送信期間212では,通信端末102および通信端末106への個別のユニキャスト送信が行われる。また,通信端末102,106は,一旦送信要求を受けると,送信終了のコマンドを受信するか,もしくは,所定時間データの受信が行われなくなるまでユニキャスト受信期間を設定し続けるとしても良い。
上記のようにして,通信端末104が,通信端末102および通信端末106に対してマルチキャスト送信期間を用いてユニキャスト通信を行うことが可能となる。
図14は,上述したマルチキャスト送信期間を各通信端末が設定した場合を説明するタイミングチャートである。ここでは,当該データ伝送システムにある通信端末の全てが,それぞれマルチキャスト通信期間を設定し,その送信要求を受けた他の通信端末は,適宜,そのマルチキャスト送信期間に対してユニキャスト受信期間を設定する。
本実施形態では,図14に示すように,マルチキャスト送信期間は,コマンド受信期間を避けて設定されるので,各通信端末は,スーパーフレーム中に必ず1回は他からの送信要求を受ける時間を確保することができる。
図15は,図14のマルチキャスト送信期間を最大限延長した場合を説明するタイミングチャートである。ここでは,当該データ伝送システムにある通信端末の全てが,それぞれ公平にマルチキャスト通信期間を設定し,その送信要求を受けた他の通信端末は,適宜,そのマルチキャスト送信期間に対してユニキャスト受信期間を設定する。このとき,マルチキャスト送信期間とコマンド受信期間とは重複しない。
図14の場合と同様に,コマンド受信期間を避けてマルチキャスト送信期間が設定されるので,各通信端末は,スーパーフレーム中に必ず1回は送信要求を受ける時間を確保することができる。
図16は,本実施形態によるマルチキャスト通信をデータ伝送領域124内で分散した場合を説明するタイミングチャートである。ここでは,通信端末104において,大量のデータがバッファリングされ,他の通信端末の送信領域を利用してマルチキャスト送信期間を設定する。この場合においても,マルチキャスト送信期間とコマンド受信期間とは重複しない。
ここで,通信端末104は,通信端末102や通信端末106に送信するデータを大量に有し,通信端末102,106が受信できる期間は,可能な限りデータ通信を行うことを試みている。従って,通信端末102においてデータ受信が不可能な,コマンド受信期間200およびマルチキャスト送信期間290,並びに,通信端末106においてデータ受信が不可能な,コマンド受信期間210およびマルチキャスト送信期間292以外の領域であり,かつ,隠れ端末に相当する通信端末100および通信端末108からの送信が行われない期間に通信端末104のマルチキャスト送信期間が設定される。このように他の通信端末の送信領域を利用できるか否かは,通信端末または通信データの優先順位等により決定されるとしても良い。
図17は,特定の通信端末がデータ伝送領域124の全区間にわたり受信を行う場合を説明するタイミングチャートである。ここでは,通信端末104が,データ伝送領域124のうち,自己からのマルチキャスト送信期間を除く全ての領域を自己への受信期間として設定している。従って,通信端末104に対するデータ送信は,任意のタイミングで行い得ることになる。これにより,通信端末104とのデータ通信は短時間で処理される。
図18は,全ての通信端末がデータ伝送領域124の全区間にわたり受信を行う場合を説明するタイミングチャートである。これは,図17に示した実施形態の応用であり,ここでは,全通信端末が,データ伝送領域124のうち,自己からのマルチキャスト送信期間を除く全ての領域を自己への受信期間として設定している。従って,全ての通信端末に対するデータ送信は,任意のタイミングで行い得ることになる。これにより,データ通信がさらに短時間で処理される。
以上のように,本実施形態のデータ伝送システムでは,コマンド受信期間とマルチキャスト送信期間とをデータ伝送領域124内で適切に配分することにより,効率的なデータ伝送を行うことを可能とする。以下では,かかるデータ伝送システムで伝送されるコマンドもしくはデータを詳細に説明する。
図19は,上記ビーコン信号の構成例を示した説明図である。上記ビーコン信号は,MACヘッダ情報300と,HCS(Header Check Sequence)302と,ビーコンペイロード情報304と,FCS(Frame Check Sequence)306とによって構成される。
上記MACヘッダ情報300は,当該信号がビーコンフレームであることを示すフレームタイプ,通信をするネットワークグループを特定するためのグループ識別子,届け先を示すアドレス(ビーコン信号の場合ブロードキャストが指定される),送り元を示すアドレス(自己のアドレス),制御情報から構成される。上記HCS302は,このヘッダ部分の誤りを検出するためのチェックサムである。
上記ビーコンペイロード情報304は,ネットワークの同期情報,装置の属性や能力など固有の情報エレメント,自己が通信に利用する時間情報などを記載したCTAエレメント,予約領域から構成される。上記FCS306は,このペイロード部分の誤りを検出するためのチェックサムである。また,上記CTAエレメントは,エレメントID,そのLength,実際に利用される時間情報などが記載されたCTAブロックから構成されている。このCTAブロックには,本実施形態によるマルチキャスト送信期間の設定や,ユニキャスト受信期間の設定が逐次記載される構成になっている。
図20は,マルチキャストグループ要求コマンドの構成例を示した説明図である。かかるマルチキャストグループ要求コマンドもビーコン信号同様,MACヘッダ情報310と,HCS312と,コマンドペイロード情報314と,FCS316とによって構成される。
上記MACヘッダ情報310は,当該信号がビーコンフレームであることを示すフレームタイプ,通信をするネットワークグループを特定するためのグループ識別子,届け先を示すアドレス(受信を要求する通信端末のアドレス),送り元を示すアドレス(自己のアドレス),制御情報から構成される。上記HCS312は,このヘッダ部分の誤りを検出するためのチェックサムである。
上記コマンドペイロード情報314は,マルチキャスト通信の時間が記載されたCTAエレメントで構成される。上記FCS316は,このペイロード部分の誤りを検出するためのチェックサムである。かかるCTAエレメントには,少なくとも1つのCTAブロックが付与され,マルチキャスト送信期間の設定が逐次記載される構成になっている。
図21は,上記マルチキャスト送信期間におけるCTAブロックのパラメータ記載例を示した説明図である。ここでは,受信先ID(Dest.ID)としてマルチキャストIDを指定し,送信元ID(Src.ID)として自己のIDを設定する。さらに,ストリームインデックス(Stream Index)にCTAブロック設定毎に設定されるインデックスを,CTA LocationにCTAの送信開始時刻を,CTA Durationに,その送信終了時間が設定される。
図22は,ユニキャスト受信期間におけるCTAブロックのパラメータ記載例を示した説明図である。ここでは,受信先ID(Dest.ID)として自己のIDを指定し,送信元ID(Src.ID)としてマルチキャストIDを設定する。さらに,ストリームインデックス(Stream Index)にCTAブロック設定毎に設定されるインデックスを,CTA LocationにCTAの送信開始時刻を,CTA Durationに,その送信終了時間が設定される。
(第2の実施形態:データ伝送システム)
本実施形態では,上記のようなデータ伝送システムを基本として,ハードウェアの概念を取り入れた,さらに具体的なデータ伝送システムを説明する。上記データ伝送システムは,データを送信する送信端末と,該送信端末から無線通信によりデータを直接受信する1または2以上の受信端末とから構成される。ここでは,通信端末を挙げて,上記送信端末および受信端末に共通するハードウェア構成を説明する。
図23は,本実施の形態にかかる通信端末400のハードウェア構成を概略的に示すブロック図である。図23に示すように,通信端末400は,CPU402と,メモリ404と,入力部406と,表示部408と,通信ドライバ410と,アンテナ412を含んで構成される。
上記CPU402は,演算処理装置および制御装置として機能し,通信端末400内の各部の処理を制御する。
上記メモリ404は,例えば,RAM,ROM,キャッシュメモリ,ハードディスクドライブ,フラッシュメモリ等などで構成されており,CPU402の処理に関する各種データや,ソフトウェアプログラム等を記憶する。メモリ404には,OS(Operation System)や,BIOS(Basic Input/OutputSystem)その他のドライバ等も格納されるとしても良い。
上記入力部406は,例えば,マウス,キーボード,タッチパネル,ボタン,スイッチ,レバー等の操作手段と,入力信号を生成してCPU402に出力する入力制御回路等から構成されている。通信端末400のユーザは,この入力部406を操作することにより,各種のデータを入力または処理動作を指示することができる。
上記表示部408は,例えば,CRTディスプレイ装置,液晶ディスプレイ(LCD)装置,ランプ等の表示装置や,スピーカ等の音声出力装置などで構成される。
上記通信ドライバ410は,アンテナ412を介して上記データ伝送システムにおける他の通信端末との双方向の通信を行う。
このようなハードウェアを含む通信端末400は,具体的に以下に示す構成要素を有する。かかる構成要素は,上記CPU402によって実施され,モジュールの形で表されるとしても良い。ここでは,上記データ伝送システムにおける送信端末と受信端末との具体的構成を説明する。上記の例では,両端末が一体に設けられた通信端末400として説明したが,ここでは,送信端末と受信端末に分けて説明する。
(送信端末)
図24は,送信端末450の概略的な構成を示すブロック図である。送信端末450は,アクセス制御部460と,無線受信部462と,無線送信部464と,アンテナ466と,ビーコン解析部468と,CTA制御部470と,ビーコン生成部472と,インターフェース474と,データバッファ476と,マルチキャスト期間設定部478と,中央制御部480と,コマンド送信部482と,バッファリングデータ量判定部484と,送信量設定部486と,データ送信部488とを含んで構成される。
上記アクセス制御部460は,無線受信部462や無線送信部464の無線アクセスを制御する。例えば,スーパーフレーム120の管理領域122の到来時,即ちビーコン信号の交換時に,アクセス制御部460は,無線受信部462を動作させる。そして,無線受信部462は,アンテナ466を介してビーコン信号を受信し,ビーコン解析部468にビーコン信号を転送する。
上記ビーコン解析部468は,ビーコン信号を解析し,ビーコン信号の受信期間やCTA利用状況等の情報をCTA制御部470に供給する。
上記CTA制御部470は,上記ビーコン信号の受信期間やCTA利用状況等の情報に基づいて,自己のCTAの設定変更等を行い,変更後の設定をビーコン生成部472に送信する。このようにしてビーコン信号に付加する自己の情報を構築する。
そして,自己のビーコン信号送信タイミングが到来すると,アクセス制御部460が無線送信部464を動作させ,上記ビーコン生成部472のデータがアンテナ466を介して送信される。ビーコン信号の交換によって各通信端末ではコマンド受信期間が設定される。
上記インターフェース474を通じて接続されるアプリケーションから,データの送信要求を受けた場合,そのデータはデータバッファ476に蓄えられる。その後,上記マルチキャスト期間設定部478は,中央制御部480を介して,送信対象として選択された複数の受信端末である受信端末群,および,データを送信する期間としてのマルチキャスト送信期間を設定し,コマンド送信部482に提供する。
上記コマンド送信部482は,マルチキャスト期間設定部478から提供された送信対象となる受信端末各々のコマンド受信期間に,無線送信部464およびアンテナ466を介して,マルチキャスト送信期間の情報を含む送信要求コマンドを送信する。
また,データを送信する期間としてのマルチキャスト送信期間が近づくと,データバッファ476に蓄積されたデータ量の情報が,バッファリングデータ量判定部484に提供される。マルチキャスト送信期間が到来すると,送信量設定部486は,上記バッファリングデータ量判定部484の判定結果であるデータ量およびその優先順位に基づいて,一回のマルチキャスト送信において送信される受信端末各々へのデータ量を設定する。かかる設定されたデータ量は,データ送信部488に提供される。ここで,送信量設定部486は,バッファリングデータ量判定部484の機能を含むとしても良い。
上記データ送信部488は,上記マルチキャスト送信期間中に,無線送信部464およびアンテナ466を介して受信端末各々に時分割でデータを送信する。本発明におけるデータ送信部は,かかるデータ送信部488に限られず,少なくともデータを送信するための機能を備えるものとする。
また,かかる送信端末450として機能せしめるコンピュータプログラムも提供される。
(受信端末)
図25は,受信端末500の概略的な構成を示すブロック図である。受信端末500は,アクセス制御部460と,無線受信部462と,無線送信部464と,アンテナ466と,ビーコン解析部468と,CTA制御部470と,ビーコン生成部472と,インターフェース474と,データバッファ476と,中央制御部480と,コマンド期間設定部502と,データ解析部504と,要求コマンド解析部506と,ユニキャスト期間設定部508と,データ受信部510とを含んで構成される。
上記アクセス制御部460は,無線受信部462や無線送信部464の無線アクセスを制御する。図24の場合と同様,スーパーフレーム120の管理領域122の到来時,即ちビーコン信号の交換時に,アクセス制御部460は,無線受信部462を動作させる。無線受信部462は,アンテナ466を介してビーコン信号を受信し,ビーコン解析部468にビーコン信号を転送する。
上記ビーコン解析部468は,ビーコン信号を解析し,ビーコン信号の受信期間やCTA利用状況等の情報をCTA制御部470に供給する。
上記CTA制御部470は,上記ビーコン信号の受信期間やCTA利用状況等の情報に基づいて,自己のCTAの設定変更等を行い,変更後の設定をビーコン生成部472に送信する。また,上記コマンド期間設定部502は,中央制御部480を介して,他の通信端末と排他的なコマンド受信期間を設定し,かかるコマンド受信期間の情報をCTA制御部470およびビーコン生成部472に送信する。このようにしてビーコン信号に付加する自己の情報を構築する。
そして,自己のビーコン信号送信タイミングが到来すると,アクセス制御部460が無線送信部464を動作させ,上記ビーコン生成部472のデータがアンテナ466を介して送信される。ビーコン信号の交換によって各通信端末ではコマンド受信期間が設定される。前回のスーパーフレームにおいて送信要求が無かった場合,アクセス制御部460は,一旦無線受信部462の動作を停止し,スリープ状態に推移させる。
上記コマンド期間設定部502が設定したコマンド受信期間が到来すると,アクセス制御部460は,再び無線受信部462を動作させ,アンテナ466を介して受信されたデータをデータ解析部504に送信する。
上記データ解析部504は,無線受信部462から送信された受信データを解析し,かかるデータが自己への送信要求コマンドであれば,要求コマンド解析部506にその送信要求コマンドを転送する。また,受信データが自己への送信データであれば,データ受信部510に転送される。上記要求コマンド解析部506は,送信要求コマンドを解析し,マルチキャスト送信期間の情報をユニキャスト期間設定部508に提供する。
ユニキャスト期間設定部508は,上記の送信要求コマンドから抽出したマルチキャスト送信期間に応じて自己へのユニキャスト受信期間を設定する。設定されたユニキャスト受信期間は,CTA制御部470に供給され,そのタイミングにおいてデータの受信が行なわれる。データ受信部510は,受信されたデータをデータバッファ476に送信する。かかるデータは,データバッファ476で格納された後,インターフェース474を介して接続されるアプリケーションに提供される。本発明におけるデータ受信部は,かかるデータ受信部510に限られず,少なくともデータを受信するための機能を備えるものとする。
また,かかる受信端末500として機能せしめるコンピュータプログラムも提供される。
図26は,上述した送信端末450と受信端末500を一体とした通信端末400を示したブロック図である。かかる通信端末400は,データの送信機能と受信機能の両方を有している。図24および図25の説明において既に述べた構成要素は,図26における通信端末の構成要素と実質的に機能が同一なので重複説明を省略する。
(第3の実施形態:データ伝送方法)
上記のようなデータ伝送システムを実現するデータ伝送方法を以下で説明する。ここでもデータの送信機能と受信機能を両方備えた通信端末を想定している。
図27は,本実施形態におけるデータ伝送方法の流れを示したフローチャートである。先ず,送信端末450と受信端末500の両機能を有する通信端末は,電源投入直後に所定のスーパーフレームを所定の周期で連続受信し,自己の周囲に他の通信端末が存在するかどうか確認する。その通信端末の有無を把握するためにビーコン信号の設定が行われる(S600)。
ビーコン信号の設定が終了すると,通常のシーケンスに入り,上述したスーパーフレームを繰り返す。例えば,本実施形態においては,ビーコン信号の交換,データ受信,データ送信といった工程を繰り返すことになる。上記ビーコン信号の交換においては,ビーコン信号の送信時刻が到来した場合(S602),ビーコン信号の送信を行い(S604),ビーコン信号の受信時刻が到来した場合(S606),ビーコン信号の受信を行う(S608)。このビーコン信号の交換時にコマンド受信期間の設定が行われる。上記データ受信においては,コマンド受信期間(S610)にコマンドの受信を行い(S612),ユニキャスト受信期間(S614)にユニキャスト受信を行う(S616)。上記データ送信においては,送信データがある場合(S618),送信データの設定を行い(S620),コマンド送信時刻,即ち,送信対象のコマンド受信期間が到来した場合(S622),送信要求コマンドの送信を行い(S624),マルチキャスト送信期間(S626)にマルチキャスト送信を行う(S628)。以下では,上記に示した各工程の詳細な動作について述べる。
図28は,上記ビーコン信号の設定(S600)を詳細に示したフローチャートである。ここでは,ビーコン信号を検出し,ビーコン信号の受信が確認されると(S650),空いているビーコンスロット(ビーコン信号の送信タイミング)を探し(S652),ビーコン信号の受信が無い場合,もしくはビーコンスロットの空きがない場合,ビーコンスロットを自ら設定する(S654)。このように確保されたビーコンスロットを参照し,ビーコン信号の送信位置が決定する(S656)。
図29は,上記ビーコン信号の送信(S604)を詳細に示したフローチャートである。ビーコン信号の送信時刻が到来した場合(S602),自己のデータ伝送領域124の利用情報であるCTA情報を獲得し(S660),ビーコン信号として送信を行なう(S662)。このとき,他の通信端末と排他的な自己のコマンド受信期間も設定される。
図30は,上記ビーコン信号の受信(S608)を詳細に示したフローチャートである。ビーコン信号の受信時刻が到来した場合(S606),ビーコン信号の受信動作を行う。ビーコン信号が受信された場合(S670),その通信端末の上記CTA情報などのパラメータを獲得,格納し(S672),その情報に基づいて,近隣にある通信端末のCTA設定状況を追加設定する(S674)。このビーコン信号受信動作は,ビーコン信号受信時刻にある場合にくり返されるとしても良い。
図31は,上記コマンドの受信(S612)を詳細に示したフローチャートである。自己のコマンド受信期間(S610)が来ると,送信要求コマンドを出した通信端末をユニキャスト通信先として設定して(S680),このユニキャスト通信期間を自己のユニキャスト受信期間として設定する(S682)。
図32は,上記ユニキャスト受信(S616)を詳細に示したフローチャートである。上記で設定された自己のユニキャスト受信期間(S614)が来ると,送信元となる通信端末から自己の通信端末宛のデータの有無を確認し(S690),データが有れば,そのデータをバッファに格納する(S692)。そして,インターフェースを介して出力が可能な状態になると(S694),データをアプリケーションに供給する(S696)。
図33は,上記送信データの設定(S620)を詳細に示したフローチャートである。インターフェースを介してアプリケーションより,送信するデータを有する場合(S618),その送信先となる通信端末のビーコン信号を受信しているかどうか判断し(S700),周囲にその通信端末が有ることが確認されれば,その受信端末をマルチキャスト送信先として登録し(S702),マルチキャスト送信期間を設定して(S704),その受信先通信端末への送信要求コマンドを設定する(S706)。この送信要求コマンドは,上述したコマンドの送信(S624)において,所定のアクセス制御を行った後に,他の通信が行なわれていないことを確認の上で送信対象の通信端末に送信される。ここで,バッファリングされているデータ量が増加してマルチキャスト送信期間の追加が必要であれば(S708),自己の通信端末におけるマルチキャスト送信期間を延長する(S710)。
図34は,上記マルチキャスト送信(S628)を詳細に示したフローチャートである。マルチキャスト送信期間(S626)が到来すると,先ず,送信すべきデータの有無を確認し(S720),データがあれば,マルチキャスト送信期間内のユニキャスト送信先(受信端末)と,それぞれの受信端末に送信するデータ送信量を,各受信端末に送信すべき総データ量や優先順位により決定し(S722),受信先である受信端末が起動されているかどうかを確認し(S724),起動している通信端末宛にデータの送信を行う(S726)。この処理は,マルチキャスト送信期間が継続している限りくり返され,送信するデータが少なくなった場合に,マルチキャスト送信期間の減少が可能かどうか判断され(S728),可能で有れば,自己のマルチキャスト送信期間の時間を削減する(S730)。
ここで,上記データ送信量の決定工程(S722)を詳説する。
図35は,通信端末104のデータバッファ476に送信するデータが蓄積されている場合のデータ送信順を示した説明図である。ここでは,隣接する通信端末104が通信端末102および通信端末106に送信するデータを有し,かかる各通信端末102,106には送信するデータに優先順位が設定されている。
図35を参照すると通信端末104のデータバッファ476には,通信端末102に送信すべき一般のデータが5単位,優先的に送信すべきデータが2単位格納され,通信端末106に送信すべき一般のデータが1単位,優先的に送信すべきデータが3単位格納されている。さらに,通信端末106は,通信端末102に対して優先的に送信する設定がされている。
従って,最初に通信端末106に対して,優先順位の高い3単位を送信し,送信すべき総データ量を勘案し,通信端末102に対して,優先順位の高い1単位を送信し,続いて一般のデータを3単位送信する。今回は,通信端末106への一般データは送信しないとする。このように送信時点における優先順位とデータ量とのバランスを考慮しつつ,各通信端末への実際の送信データ量が決定される。ここで,データ量の配分は,毎回少量のデータを送信することによって行われるとしても良いし,数回に1回送信することによって行われるとしても良い。また,上記優先順位は,音声,画像,テキスト等のデータの種類によって設定されるとしても良い。
かかる構成により,マルチキャスト送信時点において各通信端末へのデータ量を任意に調整できるので,事前にユニキャスト通信先を指定してユニキャスト通信を行う場合と比較して,伝送路を有効に利用することができる。
また,上述した各実施形態によると,受信端末が排他的なコマンド受信期間を確保することによって,宛先を識別子等によって別途指定しなくとも,そのコマンド受信期間に送信するデータがある旨を伝達することのみで,受信端末とのユニキャスト通信期間を設定することができ,エラーの無い安定した通信が可能となる。
(第4の実施形態:データ伝送システム)
また,上記コマンド受信期間を設けず,周期的なビーコン信号を利用してマルチキャスト送信期間を設定する構成をとることもできる。
かかるデータ伝送システムでは,コマンド送信部やコマンド期間設定部の代わりにビーコン送信部およびビーコン受信部を有する。上記の実施形態において既に述べた構成要素は実質的に機能が同一なので重複説明を省略し,ここでは,構成が相違する構成要素についてのみ説明する。
上記ビーコン送信部は,少なくとも,マルチキャスト期間設定部478が設定したマルチキャスト送信期間の情報と,送信対象である1または2以上の上記受信端末の情報とを含み,上記複数の通信端末間の同期をとるビーコン信号を送信する。このビーコン送信部は,図24に示したビーコン生成部472および無線送信部464により実施することができる。
上記ビーコン受信部は,上記のようなビーコン信号を受信する。受信されたビーコン信号において自己の受信端末が送信対象として指定されている場合,ユニキャスト期間設定部が上記ビーコン信号のマルチキャスト送信期間に応じて,自己へのユニキャスト受信期間を設定する。このビーコン受信部は,図25に示した無線受信部462およびビーコン解析部468により実施することができる。
本実施形態では,コマンド受信期間を省略して,マルチキャスト送信期間を含むデータ通信の情報を,ビーコン信号を利用して交換している。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
なお,本明細書のデータ伝送方法における各工程は,必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく,並列的あるいは個別に実行される処理(例えば,並列処理あるいはオブジェクトによる処理)も含むとしても良い。