以下に、本発明の実施の形態について、添付の図面を参照して説明する。
<ミリ波無線通信システムの概要>
本発明の実施形態について説明する前に、本発明の各実施形態に関連するミリ波無線通信システムの概要について説明する。
ミリ波無線通信システムは、電波の直進性が高く、通信範囲が比較的狭いミリ波(60GHz)帯を用いて高速にデータ伝送を行う無線通信システムである。ここでは、ミリ波無線通信システムが、IEEE(Institute of Electrical and Electronics Engineers)802.11adに準拠する無線通信システムであるものとして以下の説明を行う。なお、IEEE802.11adは、本実施形態に係るミリ波無線通信システムの一例である。
(ネットワーク構成)
IEEE802.11adに準拠するミリ波無線通信システムは、電波の直進性が高く、通信範囲が比較的狭いミリ波(60GHz)帯を使用して通信を行い、チャネル当たり2.16GHzの広帯域を利用することにより、高速なデータ通信を実現する。
また、ミリ波帯では、電波の伝搬損失が大きくなるので、ミリ波無線通信システムでは、アンテナ利得を大きくするため、電波のビーム方向を絞って電波の送受信を行うビームフォーミング技術が用いられる。そのため、ミリ波無線通信システムの通信部は、基本的に、複数の通信装置と同時に通信することは困難である。
そのため、ミリ波無線通信システムでは、無線多重方式として、従来の無線LAN(Local Area Network)システムで用いられているCSMA/CA方式に代えて、TDMA(Time Division Multiple Access)方式の通信プロトコルが用いられる。
ミリ波無線通信システムでは、AP(Access Point)と呼ばれるコーディネータ装置が、BSS(Basic Service Set)と呼ばれるネットワークセルを形成し、TDMAプロトコルにおけるタイムスロットの管理を行う。
図1、2は、一実施形態に係るミリ波無線通信システムについて説明するための図である。図1(a)は、ミリ波無線通信システムのネットワークセルであるBSS100を形成するAP110と、STA(Station)120とが、ミリ波無線通信130で通信を行う1対1のネットワーク構成の例を示している。図1(a)の例では、AP110が、TDMAプロトコルにおけるタイムスロットの管理を行い、例えば、所定の時間間隔でビーコンフレームを送信する。
図1(b)は、BSS100を形成するAP110と、複数のSTA120-1~120-3とが、ミリ波無線通信130で通信を行うスター型のネットワーク構成の例を示している。図1(b)の例においても、AP110が、TDMAプロトコルにおけるタイムスロットの管理を行い、例えば、所定の時間間隔でビーコンフレームを送信する。
IEEE802.11adでは、図1(a)、(b)に示すネットワーク構成に加えて、図2(a)に示すように、PCPと呼ばれるコーディネータ装置によって形成されるPBSS(Personal Basic Service Set)200と呼ばれるネットワーク構成が定義されている。PBSS200では、STA120-1~120-3は、PCP201を介して、他のSTAと通信することもできるし、PCP201を介さずに、他のSTAと通信することもできる。
(タイムスロットの構成)
図2(b)は、一実施形態に係るタイムスロットの例を示す図である。図2(b)は、AP110が管理するTDMAプロトコルにおけるタイムスロットの割り当てを示している。AP110が管理するTDMAプロトコルのタイムスロットは、図2(b)に示すように、BHI(Beacon Header Interval)と、DTI(Data Transfer Interval)とを含む。
BHIは、BTI(Beacon Transmission Interval)、A-BFT(Association Beamforming Training)、及びATI(Announcement Transmission Interval)を含む。
BTIは、AP110がビーコンフレームを送信する期間である。A-BFTは、ビームフォーミングのトレーニング期間である。ATIは、AP110と、STA120-1~120-3との間で、管理情報、制御情報等を送受信するための期間である。
DTIは、CBAP(Contention Based Access Period)、及びSP(Service Period)を含む。
CBAPは、AP110と複数のSTA120とが競合して通信を行うために割り当てられる競合期間である。SPは、AP110と1つのSTA120との間で通信するために割り当てられる専用期間である。
AP110は、BTIにおいて、AP110が形成する複数のビームパターンであるアンテナセクタの数だけ、ビーコンフレームを送信する。一方、STA120-1~120-3は、無指向アンテナもしくは準無指向アンテナに設定してAPから送信される全てのビーコンフレームを受信し、最も受信品質の良いアンテナセクタを示す情報を、AP110にフィードバックする。これにより、AP110は、各STA120-1~120-3に対して、アンテナセクタを利用して、通信すれば良いかを把握することができる。
(ビームフォーミング)
ここでは、ビームフォーミング技術の一例として、SLS(Sector Level Sweep)について、概要のみ説明する。
SLSにはTXSS(Tx Sector Sweep)とRXSS(Rx Sector Sweep)との2種類がある。TXSSは、送信時に利用するアンテナセクタを決定するためのビームフォーミングトレーニングであり、RXSSは受信時に利用するアンテナセクタを決定するためのビームフォーミングトレーニングである。
図3は、一実施形態に係るビームフォーミングの例について説明するための図である。図3の例では、説明を容易にするため、AP110が形成する複数のビームパターンであるアンテナセクタのうち、セクタ1~4の4つのアンテナセクタのみを示している。
TXSSにおいて、AP110は、アンテナ301から複数のビームパターン303の各セクタ(セクタ1~4)を切り替えて、順次に所定のパケットを送信することにより、BSS300を形成している。一方、STA120は、アンテナ302を、無指向アンテナもしくは準無指向アンテナに設定して、AP110から送信されるパケットを受信し、最も受信品質の良いアンテナセクタを示す情報を、AP110にフィードバックする。
RXSSでは、上記TXSSと逆方向のビームフォーミングトレーニングシーケンスが実行され、TXSS、及びRXSSが完了すると、AP110とSTA120との間で、ミリ波無線通信による電波の送受信ができるようになる。
<システム構成>
続いて、本実施形態に係る通信システムの構成について説明する。
図4は、一実施形態に係る通信システムの構成例を示す図である。通信システム(無線通信システム)400は、例えば、複数のホッピングノード401-1~401-5、1つ以上のエッジノード402-1~402-7、及び通信管理装置403を有する。なお、以下の説明の中で複数のホッピングノード401-1~401-5のうち、任意のホッピングノードを示す場合、「ホッピングノード401」を用いる。また、1つ以上のエッジノード402-1~402-7のうち、任意のエッジノードを示す場合、「エッジノード402」を用いる。
ホッピングノード(ホッピング端末)401は、ミリ波無線通信のAPとして機能する第1の通信部、ミリ波無線通信のSTAとして機能する第2の通信部、及び無線LAN通信を行う第3の通信部とを備える通信装置である。なお、ミリ波無線通信は、指向性を有する電波を用いてマルチホップ通信を行う無線通信の一例である。また、無線LAN通信は、第1の無線通信より通信範囲が広い第2の無線通信の一例である。さらに、ホッピングノード401は、無線通信端末の一例である。
複数のホッピングノード401-1~401-5は、第1の通信部を用いて、ミリ波無線通信で互いに異なるネットワークセル(BSS)を形成する。例えば、図4において、ホッピングノード401-1は、ネットワークセル406-1を形成し、ホッピングノード401-2は、ネットワークセル406-2を形成している。また、ホッピングノード401-3は、ネットワークセル406-3を形成しており、他のホッピングノードも、同様にネットワークセルを形成しているものとする。
また、ホッピングノード401は、第2の通信部を用いて、他のホッピングノードが形成するネットワークセルに接続することができる。図4の例では、ホッピングノード401-2は、第2の通信部(STA)を用いて、ホッピングノード401-1の第1の通信部(AP)が形成するネットワークセル406-1に、ミリ波無線通信で接続することができる。また、ホッピングノード401-1は、第2の通信部(STA)により、ホッピングノード401-3の第1の通信部(AP)が形成するネットワークセル406-3に、ミリ波無線通信で接続することができる。同様にして、ホッピングノード401-3は、第2の通信部(STA)により、ホッピングノード401-4の第1の通信部(AP)が形成するネットワークセルに、ミリ波無線通信で接続することができる。
さらに、複数のホッピングノード401-1~401-5は、通信管理装置403と同じ無線LANネットワーク407に含まれ、第3の通信部を用いて、通信管理装置403と無線LAN通信を行うことができる。なお、無線LAN通信のアクセスポイントは、通信管理装置403であっても良いし、別のアクセスポイントを利用するものであっても良い。
エッジノード(エッジ端末)402は、ミリ波無線通信のSTAとして機能する第4の通信部を備え、エッジノード402が形成する複数のネットワークセルのうち、1つのネットワークセルに接続する通信装置である。
図4の例では、エッジノード402-1~402-3は、第4の通信部(STA)を用いて、ホッピングノード401-1の第1の通信部(AP)が形成するネットワークセル406-1に接続している。
また、必須ではないが、エッジノード402は、無線LAN通信を行う通信部をさらに有していても良い。例えば、図4の破線404は、無線LAN通信による装置間の接続関係を示しており、エッジノード402-6は、無線LAN通信により、通信管理装置403と通信可能であることが示されている。同様に、複数のホッピングノード401-1~401-5は、無線LAN通信により、通信管理装置403と通信可能であることが示されている。
上記の構成において、各ホッピングノード401は、第2の通信部(STA)を用いて、ミリ波無線通信で周辺の通信装置の情報を収集し、収集した情報を、無線LAN通信で通信管理装置403に送信する。
通信管理装置(通信管理端末)403は、各ホッピングノード401から、無線LAN通信で受信した情報を用いて、例えば、図4に実線405で示すような、ミリ波無線通信による装置間の接続関係を管理する。また、通信管理装置403は、ミリ波無線通信によるマルチホップ通信が行われるとき、特定した接続関係に基づいてデータの通信経路を決定し、通信経路にあるホッピングノード401に、通信経路に関する指示を無線LAN通信で送信する。
ホッピングノード401は、通信管理装置403から無線LAN通信で通知された通信経路に関する指示に基づいて、第1の通信部、及び第2の通信部のうち、一方の通信部で受信したデータを、他方の通信部で他の通信装置に転送する。
このように、本実施形態では、ホッピングノード401が2つのミリ波通信部を有し、一方の通信部で受信したデータを、他方の通信部で他の通信装置に転送することができるので、映像データや音声データ等を容易にストリーム転送することができるようになる。
<ハードウェア構成>
(ホッピングノードのハードウェア構成)
図5(a)は、ホッピングノード401のハードウェア構成の例を示している。ホッピングノード401は、例えば、CPU(Central Processing Unit)511、RAM(Read Only Memory)512、ROM(Read Only Memory)513、ストレージ部514、無線LAN通信装置515、ミリ波無線通信装置516-1、516-2、ランプ517、及びバス518等を有する。
CPU511は、ROM513やストレージ部514等に格納されたプログラムやデータをRAM512上に読み出し、処理を実行することで、ホッピングノード401の各機能を実現する演算装置である。RAM512は、CPU511のワークエリア等として用いられる揮発性のメモリである。ROM513は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
ストレージ部514は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュROM等のストレージデバイスであり、OS(Operating System)、アプリケーションプログラム、及び各種データ等を記憶する。
無線LAN通信装置515は、例えば、IEEE802.11a/b/g/n/ac等の規格に準拠した無線LAN通信を行うための無線通信デバイスであり、例えば、アンテナ、無線部、MAC(Media Access Control)部、及び通信制御部等を含む。
ミリ波無線通信装置516-1、516-2は、例えば、IEEE802.11ad等規格に準拠したミリ波無線通信を行うための無線通信デバイスであり、例えば、アンテナ、無線部、MAC部、及び通信制御部等を含む。
ランプ517は、例えば、ホッピングノード401の動作状態等を、色の変化や、点灯/点滅等により表示するための発光素子である。バス518は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
(エッジノードのハードウェア構成)
図5(b)は、エッジノード402のハードウェア構成の例を示している。エッジノード402は、例えば、CPU521、RAM522、ROM523、ストレージ部524、無線LAN通信装置525、ミリ波無線通信装置526、表示装置527、入力装置528、及びバス529等を有する。このうち、CPU521、RAM522、ROM523、ストレージ部524、無線LAN通信装置525、ミリ波無線通信装置526、バス529等の構成は、ホッピングノード401で説明した各部の構成と同様なので、ここでは説明を省略する。
表示装置527は、表示画面を表示する、例えば、液晶ディスプレイ等の表示デバイスである。入力装置528は、ユーザの入力操作を受付する、例えば、タッチパネルやキーボード等の入力デバイスである。
なお、図5に示すエッジノード402の構成は一例であり、エッジノード402は、無線LAN通信装置525を有していなくても良い。
(通信管理装置のハードウェア構成)
図6は、一実施形態に係る通信管理装置のハードウェア構成の例を示す図である。通信管理装置403は、例えば、CPU601、RAM602、フラッシュROM603、無線LAN通信装置604、及びバス605等を有する。
CPU601は、フラッシュROM603等に格納されたプログラムを実行することにより、通信管理装置403が有する各機能を実現する演算装置である。RAM602は、CPU511のワークエリア等として用いられる揮発性のメモリである。フラッシュROM603は、電源を切ってもプログラムやデータを保持することができる、書き換え可能な不揮発性のメモリである。
無線LAN通信装置604は、無線LAN通信を行うための無線通信デバイスである。バス605は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
<機能構成>
続いて、各装置の機能構成について説明する。
(ホッピングノードの機能構成)
図7は、一実施形態に係るホッピングノードの機能構成の例を示す図である。ホッピングノード(ホッピング端末)401は、無線LAN通信部701、ミリ波無線通信部(AP)702、ミリ波無線通信部(STA)703、記憶部704等を有する。また、ホッピングノード401は、通信リンク状態測定部711、情報収集部712、データ転送部713、切断判定部714、エッジノード管理部715、情報転送部716、及び接続制御部717等を有する。さらに、ホッピングノード401は、情報送信部721、情報受信部722、登録要求部723等を有する。
無線LAN通信部(第3の通信部)701は、例えば、図5(a)の無線LAN通信装置515、及び図5(a)のCPU511で実行されるプログラム等によって実現される。無線LAN通信部701は、ホッピングノード401を無線LANネットワーク407に接続し、通信管理装置403と無線LAN通信を行う。
ミリ波無線通信部(AP)702は、例えば、図5(a)のミリ波無線通信装置516-1、及び図5(a)のCPU511で実行されるプログラム等によって実現される。ミリ波無線通信部(AP)702は、ミリ波無線通信のAP(アクセスポイント)として機能し、ミリ波無線通信のネットワークセルを形成する。また、ミリ波無線通信部(AP)702は、形成したネットワークセルに接続するミリ波無線通信のSTAと、ミリ波無線通信でデータの送受信を行う。なお、ミリ波無線通信部(AP)702は第1の通信部の一例である。
ミリ波無線通信部(STA)703は、例えば、図5(a)のミリ波無線通信装置516-2、及び図5(a)のCPU511で実行されるプログラム等によって実現される。ミリ波無線通信部(STA)703は、ミリ波無線通信のSTA(ステーション)として機能し、他のホッピングノードが形成するミリ波無線通信のネットワークセルに接続する。また、ミリ波無線通信部(STA)703は、ネットワークセルを形成する他のホッピングノードと、ミリ波無線通信でデータの送受信を行う。なお、ミリ波無線通信部(STA)703は第2の通信部の一例である。
記憶部704は、例えば、図5(a)のRAM512、ストレージ部514、及び図5(a)のCPU511で実行されるプログラム等によって実現され、例えば、ミリ波無線通信で受信したデータを一時的に記憶するバッファとして機能する。また、記憶部704は、通信管理装置403から通知されるアクセスポイント情報や、ミリ波無線通信部(AP)702が形成するネットワークセルに接続するエッジノード402の情報等、様々な情報を記憶する。
通信リンク状態測定部711は、例えば、図5(a)のCPU511で実行されるプログラムによって実現される。通信リンク状態測定部711は、例えば、ミリ波無線通信部(AP)702、及びミリ波無線通信部(STA)703と通信可能なホッピングノード401、及びエッジノード402の通信リンク状態を測定する。通信リンク状態には、例えば、受信信号強度、スループット値、パケットロス率等の情報が含まれる。なお、以下の説明の中で、通信リンク状態を「通信品質」と呼ぶ場合がある。
情報収集部712は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、ミリ波無線通信で周辺の他の無線通信端末(ホッピングノード401、エッジノード402)をスキャン(検索)して情報を収集する。
例えば、情報収集部712は、通信リンク状態測定部711を用いて、ホッピングノード401の周辺にある他のホッピングノードの識別情報(ホッピングノード番号等)、及び通信リンク状態等の情報を取得する。また、情報収集部712は、通信リンク状態測定部711を用いて、ホッピングノード401の周辺にあるエッジノードの識別情報(エッジノード番号等)、及び通信リンク状態等の情報を取得する。
なお、情報収集部712が収集した情報は、例えば、情報送信部721により、無線LAN通信で通信管理装置403に送信される。
データ転送部713は、例えば、図5(a)のCPU511で実行されるプログラム等によって実現される。データ転送部713は、無線LAN通信で通信管理装置403から通知される通信経路に関する指示に基づいて、2つのミリ波無線通信部のうち、一方のミリ波無線通信部で受信したデータを、他方のミリ波無線通信部で他の無線通信端末に転送する。例えば、データ転送部713は、ミリ波無線通信部(AP)702で受信したデータを、ミリ波無線通信部(STA)703を用いて、無線LAN通信で通信管理装置403から通知される通信経路に関する指示に含まれる転送先の無線通信端末に送信する。
切断判定部714は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、通信リンク状態測定部711が測定する通信リンク状態に基づいて、ミリ波無線通信の切断を判定する。
エッジノード管理部(装置管理部)715は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、ミリ波無線通信部(AP)702が形成するネットワークセルに接続するエッジノード402の管理を行う。例えば、エッジノード管理部715は、ミリ波無線通信部(AP)702が形成するネットワークセルに接続したエッジノード402を、ホッピングノード401に登録し、登録したエッジノード402にIPアドレス等を通知する。
情報転送部716は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、エッジノード402と、通信管理装置403との間で送受信される情報の中継を行う。例えば、情報転送部716は、エッジノード402からの要求に応じて、ミリ波無線通信でエッジノード402から受信した情報を、無線LAN通信で通信管理装置403に転送する。また、情報転送部716は、通信管理装置403からの要求に応じて、無線LAN通信で通信管理装置403から受信した情報を、ミリ波無線通信でエッジノード402に転送する。
接続制御部717は、ミリ波無線通信部(STA)703による他のホッピングノード401との通信が切断された後、通信管理装置403から通知される他のホッピングノード401に、ミリ波無線通信部(STA)703をミリ波無線通信で接続させる。
なお、接続制御部717は、通信管理装置403が有していても良い。この場合、ミリ波無線通信部(STA)703は、通信管理装置403が有する接続制御部717から通知される他のホッピングノード401に、ミリ波無線通信で接続する。
情報送信部721は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、無線LAN通信部701を用いて、情報を通信管理装置403に送信する。例えば、情報送信部721は、情報収集部712が収集した周辺の無線通信端末の情報や、ミリ波無線通信が切断したことを示す切断通知等を、無線LAN通信で通信管理装置403に送信する。
情報受信部722は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、無線LAN通信部701を用いて、通信管理装置403から送信される情報を受信する。例えば、情報受信部722は、無線LAN通信で通信管理装置403から通知される、通信経路に関する指示等の制御情報を受信する。
登録要求部723は、例えば、図5(a)のCPU511で実行されるプログラムによって実現される。登録要求部723は、例えば、起動時等に、情報収集部712が収集した周辺の無線通信端末の情報を含む通信システム400への登録要求を、無線LAN通信で送信する。
(エッジノードの機能構成)
図8は、一実施形態に係るエッジノードの機能構成の例を示す図である。エッジノード402は、ミリ波無線通信部(STA)801、データ送信部802、データ受信部803、表示制御部804、操作受付部805、及び記憶部806等を有する。
好ましくは、エッジノード402は、無線LAN通信部811、情報送信部812、及び情報受信部813等を有する。
ミリ波無線通信部(STA)801は、例えば、図5(b)のミリ波無線通信装置526、及び図5(b)のCPU521で実行されるプログラム等によって実現され、ミリ波無線通信のSTAとして、ミリ波無線通信のネットワークセルに接続する。なお、ミリ波無線通信部(STA)801は、ミリ波無線通信(第1の無線通信)を行う第4の通信部の一例である。
データ送信部802は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、映像データ、音声データ、ファイル等のコンテンツデータを、ミリ波無線通信部(STA)801を用いて、ミリ波無線通信で送信する。
データ受信部803は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、ミリ波無線通信部(STA)801を用いて、ミリ波無線通信で、映像データ、音声データ、ファイル等のコンテンツデータを受信する。
表示制御部804は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、図5(b)の表示装置527に、操作画面や、データ受信部803
が受信した映像データ等を表示させる。
操作受付部805は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、図5(b)の入力装置528等に対するユーザの入力操作等を受付する。
記憶部806は、例えば、データ受信部803が受信した、映像データ、音声データ、ファイル等のコンテンツデータを記憶する。
無線LAN通信部811は、例えば、図5(b)の無線LAN通信装置525、及び図5(b)のCPU521で実行されるプログラム等によって実現され、無線LAN通信で通信管理装置403等と通信を行う。
情報送信部812は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、無線LAN通信部811を用いて、無線LAN通信で情報を通信管理装置403等に送信する。例えば、エッジノード402は、マルチホップ通信によるデータの送信を要求する要求情報等を、情報送信部812を用いて、通信管理装置403に送信する。
情報受信部813は、例えば、図5(b)のCPU521で実行されるプログラムによって実現され、無線LAN通信部811を用いて、無線LAN通信で通信管理装置403から通知される制御情報等を受信する。
(通信管理装置の機能構成)
通信管理装置403は、無線LAN通信部901、情報取得部902、通信経路管理部903、制御情報送信部904、ホッピングノード管理部905、エッジノード管理部906、記憶部907、通知部908、及び分類部909等を有する。
無線LAN通信部(第5の通信部)901は、例えば、図6の無線LAN通信装置604、及び図6(b)のCPU601で実行されるプログラム等によって実現され、無線LAN通信で、ホッピングノード401、エッジノード402等と通信を行う。
例えば、無線LAN通信部901は、一のホッピングノード401が、他のホッピング端末との間で、通信状態が規定の状態から遷移した場合に、一のホッピングノード401から、接続可能な他のホッピング端末を検索した検索結果を受信する受信部として機能する。
なお、「通信状態が規定の状態から遷移した場合」には、例えば、ホッピングノード401が、ミリ波無線通信の通信品質の劣化(低下)を検知した場合、又は切断を検知した場合等が含まれる。また、以下の説明の中で、ミリ波無線通信の劣化(低下)、又は切断を検知し、切断通知を通信管理装置403に送信したホッピングノード401を、「切断したホッピングノード401」と呼ぶ場合がある。
情報取得部(取得部)902は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、無線LAN通信で、複数のホッピングノード401から、情報を取得する。例えば、情報取得部902は、所定の時間間隔等で(定期的に)、無線LAN通信で、情報の取得を要求するスキャン要求を複数のホッピングノード401に送信し、複数のホッピングノード401から送信される周辺の無線通信端末の情報を取得する。
通信経路管理部903は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、無線LAN通信で情報取得部902が取得した情報に基づいて、マルチホップ通信でデータを転送する通信経路を管理する。
例えば、通信経路管理部903は、情報取得部902が取得した情報を用いて、図4に実線405で示すような、ミリ波無線通信による装置間の接続関係を特定(又は決定)し、特定(又は決定)した接続関係に基づいて、マルチホップ通信の通信経路を決定する。
制御情報送信部904は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、無線LAN通信で、ホッピングノード401等に制御情報を送信する。
ホッピングノード管理部905は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、情報取得部902が取得した情報に基づいて、通信システム400に登録されているホッピングノード401の情報を管理する。
エッジノード管理部906は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、情報取得部902が取得した情報に基づいて、通信システム400に含まれるエッジノード402の情報を管理する。
記憶部907は、例えば、図6(b)のCPU601で実行されるプログラム、及びフラッシュROM603、RAM602等によって実現される。記憶部907は、例えば、通信経路管理部903が管理する通信経路や、情報取得部902が取得した情報等の様々な情報を記憶する。
分類部909は、マルチホップ通信でデータを一斉に送信するときに、ホッピングノード401から、他のホッピングノード401のスキャン結果を含む切断通知を受信すると、他のホッピングノード401を第1の端末群と第2の端末群とに分類する。
ここで、第1の端末群には、マルチホップ通信でデータを一斉に送信する送信元の端末とマルチホップ通信の通信経路が接続されているホッピングノード401が含まれる。一方、第2の端末群には、送信元の端末とマルチホップ通信の通信経路が接続されていないホッピングノード401が分類される。
通知部908は、送信元の端末が一斉に送信するデータが、通信システム400に含まれる全てのホッピングノード401(又は、より多くのホッピングノード401)にデータが届く接続先を選択し、切断したホッピングノード401に通知する。
例えば、通知部908は、切断したホッピングノード401が、送信元の端末と通信経路が接続されている場合、すなわち、第1の端末群に属する場合、第2の端末群に属するホッピングノード401の中から、接続先のホッピングノード401を選択する。
一方、通知部908は、切断したホッピングノード401が、送信元の端末と通信経路が接続されていない場合、すなわち、第2の端末群に属する場合、第1の端末群に属するホッピングノード401の中から、接続先のホッピングノード401を選択する。
例えば、通知部908は、第1の端末群と第2の端末群とのうち、切断したホッピングノード401が属する端末群とは異なる端末群に含まれる1つ以上のホッピングノード401を、接続先のホッピングノード401として選択する。
一例として、通知部908は、切断したホッピングノード401が属する端末群とは異なる端末群に含まれる1つ以上のホッピングノード401の中から、通信品質が最も良い1つのホッピングノード401を、接続先のホッピングノード401として選択する。
また、別の一例として、通知部908は、切断したホッピングノード401が属する端末群とは異なる端末群に含まれる1つ以上のホッピングノード401の中から、送信元の端末との間のホップ数(中継数)が最小となる1つのホッピングノード401を選択しても良い。
さらに、通知部908は、選択した接続先のホッピングノード401を、制御情報送信部904を介して、切断したホッピングノード401に通知する。
これにより、切断したホッピングノード401の接続制御部717は、第1の端末群と第2の端末群とのうち、自端末が属する端末群とは異なる端末群に含まれる一のホッピングノード401に、自端末をミリ波無線通信で接続させる。
なお、通知部908は、分類部909での分類結果を、通信状態が規定の状態から遷移した一のホッピング端末に送信する送信部の一例である。
<処理の流れ>
続いて、本実施形態に係る通信経路の切替方法における処理の流れについて説明する。
[第1の実施形態]
(ホッピングノードの登録処理)
図10は、第1の実施形態に係るホッピングノードの登録処理の例を示すシーケンス図である。この処理は、ホッピングノード401が起動し、通信管理装置403にホッピングノードとして登録される際の処理の例を示している。なお、以下のシーケンス図において、破線の矢印は無線LAN通信による通信を表すものとする。
ステップS1001において、ホッピングノード401aが、例えば、電源の投入や、利用者による起動操作等により起動すると、ステップS1002以降の処理が実行される。
ステップS1002において、ホッピングノード401aは、無線LAN通信で通信管理装置403に接続する。例えば、無線LAN通信部701は、ブロードキャスト(又はマルチキャスト)で通信管理装置403を検索し、検索された通信管理装置403に無線LAN通信で接続を要求する。
ステップS1003において、ホッピングノード401aは、通信管理装置403からの応答を受付すると、ステップS1004において、ミリ波無線通信で他の無線通信端末をスキャンする。例えば、ホッピングノード401aの情報収集部712は、ミリ波無線通信部(STA)703、及び通信リンク状態測定部711を用いて、周辺にある他のホッピングノードの情報(例えば、SSID、電波強度等)を収集する。
ステップS1005において、ホッピングノード401aは、無線LAN通信で、通信管理装置403への登録を要求する登録要求を送信する。この登録要求には、情報収集部712によるスキャン結果(例えば、周辺にある他のホッピングノードのSSID、電波強度等)が含まれる。
ステップS1006において、通信管理装置403は、ホッピングノード401aから登録要求を受付すると、ホッピングノード401aを通信システム400に登録する処理を実行する。例えば、通信管理装置403のホッピングノード管理部905は、ホッピングノード401から受信した登録要求に含まれる他のホッピングノードの情報を、記憶部907に記憶する。また、ホッピングノード管理部905は、ホッピングノード401に通知するアクセスポイント情報(AP情報)を決定する。このアクセスポイント情報には、例えば、ホッピングノード401のミリ波無線通信部(AP)702が使用する、SSID(Service Set Identifier)、暗号鍵、通信チャネル、IPアドレス等の情報が含まれる。
ステップS1007において、通信管理装置403のホッピングノード管理部905は、ホッピングノード401aが接続する接続先のホッピングノード401を選択する。例えば、ホッピングノード管理部905は、通信管理装置403に登録済のホッピングノード401の中から、スキャン結果に含まれる受信電波の強度や、接続されている無線通信端末の数等に基づいて、接続先のホッピングノード401を選択する。
なお、ステップS1007において、接続先のホッピングノードを選択することができた場合、通信管理装置403は、ステップS1008~S1010の処理を実行する。ここでは、ホッピングノード401aの接続先として、ホッピングノード401bが選択されたものとして、以下の説明を行う。
ステップS1008において、通信管理装置403のホッピングノード管理部905は、登録が完了したことを示す登録完了通知を、無線LAN通信で、要求元のホッピングノード401aに送信する。この登録完了通知には、例えば、ステップS1007で選択された接続先のホッピングノード(例えば、ホッピングノード401b)の情報と、ステップS1006で決定されたアクセスポイント情報(AP情報)が含まれる。
ステップS1009において、ホッピングノード401aのミリ波無線通信部(STA)703は、登録完了通知に含まれる接続先のホッピングノード401bに、ミリ波無線通信で接続する。
ステップS1010において、ホッピングノード401のミリ波無線通信部(AP)702は、登録完了通知に含まれるアクセスポイント情報を用いて、ミリ波無線通信のアクセスポイントとDHCP(Dynamic Host Configuration Protocol)サーバとを起動する。例えば、ミリ波無線通信部(AP)702は、通知されたアクセスポイント情報に含まれるSSID、暗号鍵、通信チャネル、IPアドレス等を用いて、ミリ波無線通信のネットワークセル(BSS)を形成する。
一方、ステップS1007において、接続先のホッピングノードを選択することができなかった場合、通信管理装置403は、ステップS1011の処理を実行する。
ステップS1011において、通信管理装置403のホッピングノード管理部905は、登録が完了したことを示す登録完了通知を、無線LAN通信で、要求元のホッピングノード401aに送信する。この場合、ホッピングノード401aは、例えば、再度、ミリ波無線通信で他の通信端末をスキャンする処理からやり直す。
ホッピングノード401aは、接続先の他のホッピングノード401が見つからない間、その旨をランプ等で知らせても良い。これにより、管理者、設置者等は、ホッピングノード401aの周辺に別のホッピングノード401を設置する必要があることを認識することができる。
このように、ホッピングノード401は、起動するとすぐに他のホッピングノード401に接続する。これにより、基本的には、ミリ波無線通信によるマルチホップ通信で、全ての無線通信端末にデータを一斉に送信することができるように、ネットワークが形成される。
ただし、状況が改善されず、ミリ波無線通信で接続可能な他のホッピングノード401が見つからないホッピングノード401がある場合、通信管理装置403は、そのホッピングノード401を通信経路から除外し、無線LAN通信でデータを送信する。
(通信経路の切断判定について)
図11は、第1の実施形態に係る切断判定について説明するための図である。例えば、図11に示すように、ホッピングノードAとミリ波無線通信を行っているホッピングノードBは、ホッピングノードAのミリ波無線通信の通信リンク状態を継続的に監視し、ミリ波無線通信の切断(経路切替)を判定する。
このとき、ホッピングノード401がミリ波無線通信の切断を判定する判定条件は複数ある。例えば、
1)ミリ波無線が切断した、もしくは切断して再接続要求を行ったが接続できなかった場合
2)ミリ波無線の信号強度、スループット値が閾値以下、又はパケットエラー率が閾値以上
3)映像・音声ストリーム転送の場合は、トランスポート・アプリケーション層での映像データパケットのロス率が閾値以上
4)映像・音声ストリーム転送の場合は、トランスポート・アプリケーション層でのパケットヘッダに含まれるシーケンス番号で次のシーケンス番号を一定期間受信できない場合
等である。
1)の条件の場合は、ホッピングノードBは、再接続要求を1回以上行うことも想定される。このような処理は、例えば、ホッピングノードAとホッピングノードBとの間に短期間だけ障害物が存在した場合などに有効である。
2)の条件に関しては、図11に示されるように1つ以上の通信品質を示すパラメータ(信号強度、スループット値、エラーレート等)を組合せて閾値判定を行う。このとき、移動平均値を使用しても良い。
3)の条件に関しては、例えば映像ストリームを転送する場合、アプリケーションが求める映像クオリティと品質によってパケットロス率の閾値は上下する。
4)の条件に関しても同様で、例えば映像データのフレームレートや解像度などに依存する。
特に映像ストリーム転送の場合、1)の条件(ミリ波無線通信パラメータ)だけでは切替判定が困難であり、1)の条件を満足した場合、3)、4)の条件で2次判定を行い、この条件も満足した場合に経路切替処理を実施することが望ましい。
(ホッピングノードの処理)
図12は、第1の実施形態に係るホッピングノードの処理の例を示すフローチャートである。この処理は、ホッピングノード401が、マルチホップ通信の通信経路を変更する際に、ミリ波無線通信が切断したときに実行する処理の例を示している。
ステップS1201において、ホッピングノード401の情報受信部722は、通信管理装置403から、無線LAN通信で、マルチホップ通信が開始されることを示す開始通知を受信する。
ステップS1202において、ホッピングノード401の通信リンク状態測定部711は、ミリ波無線通信の通信品質の監視を開始する。
例えば、ステップS1203において、ホッピングノード401の通信リンク状態測定部711は、ミリ波無線通信部(STA)703が接続しているホッピングノード401のミリ波無線通信のスループット値、エラーレート等の通信品質を測定する。
ステップS1204において、ホッピングノード401の切断判定部714は、測定した通信品質が閾値以上であるか否かを判断する。測定した通信品質が閾値以上である場合、切断判定部714は、処理をステップS1203に戻し、通信リンク状態測定部711は、通信品質の測定を続ける。一方、測定した通信品質が閾値以上でない場合、切断判定部714は、処理をステップS1207に移行させる。
また、ステップS1205において、ホッピングノード401の通信リンク状態測定部711は、ステップS1203の処理と並行して、ミリ波無線通信部(STA)703が接続しているホッピングノード401のミリ波無線通信の受信電波強度を測定する。
ステップS1206において、ホッピングノード401の切断判定部714は、測定した受信電波の強度が閾値以上であるか否かを判断する。測定した受信電波の強度が閾値以上である場合、切断判定部714は、処理をステップS1205に戻して、通信リンク状態測定部711は、受信電波の強度の測定を続ける。一方、測定した受信電波の強度が閾値以上でない場合、切断判定部714は、処理をステップS1207に移行させる。なお、ミリ波無線通信の受信電波の強度は、ミリ波無線通信の通信品質の別の一例である。
ステップS1207に移行すると、ホッピングノード401の情報収集部712は、ミリ波無線通信部(STA)703を用いて、ミリ波無線通信で接続可能な他の無線通信端末(ホッピングノード401)をスキャン(検索)する。
ステップS1208において、ホッピングノード401の情報送信部721は、スキャン結果(検索結果)を含む切断通知を、無線LAN通信で通信管理装置403に通知する。
ステップS1209において、ホッピングノード401の接続制御部717は、通信管理装置403から通知される接続先の情報を受信すると、ミリ波無線通信部(STA)703を、通知された接続先に接続させる。
(接続先の通知処理)
図13は、第1の実施形態における切断発生時のネットワーク構成の例を示す図である。図13において、送信元の無線通信端末であるエッジノード(送信元)402aから、他のホッピングノード401a~401d、及びエッジノード402b~401eにコンテンツデータを一斉に送信(例えば、ブロードキャスト送信)するものとする。
このとき、エッジノード(送信元)402aから送信されたコンテンツデータは、図中の「データ送信方向」の矢印の方向に順次にマルチホップ転送され、各無線通信端末に到達するものとする。
ここで、例えば、ホッピングノード401bが、図12に示す処理により、ホッピングノード401cとのミリ波無線通信の通信品質の劣化を検知し、切断通知を通信管理装置403に送信するものとする。このとき、通信管理装置403は、例えば、図14(a)、(b)に示すような接続先の通知処理を実行する。
図14は、第1の実施形態に係る接続先の通知処理の例を示すフローチャートである。
(接続先の通知処理1)
図14(a)は、通信管理装置403が実行する接続先の通知処理の一例を示している。
ステップS1411において、通信管理装置403は、情報受信部813が、ホッピングノード401から送信された切断通知を受信すると、ステップS1412以降の処理を実行する。なお、ホッピングノード401から送信された切断通知には、ホッピングノード401がスキャンした、ホッピングノード401から接続可能な他のホッピングノード401のスキャン結果が含まれている。
図15(a)は、図13に示すホッピングノード401bによるスキャン結果の一例のイメージが示されている。図15(a)の例では、スキャン結果には、「ホッピングノード」、「SSID」、及び「電波強度」等の情報が含まれている。なお、エッジノード402は、ホッピングノード402のミリ波無線通信部(STA)703から接続可能ではないので、スキャン結果には含まれない。
「ホッピングノード」の情報は、スキャンを行ったホッピングノード401bの情報(例えば、端末名、端末ID、ノード番号等)である。「SSID」の情報は、ホッピングノード401bで検索された他のホッピングノード401を識別するSSID等の情報である。「電波強度」の情報は、他のホッピングノード401から受信した電波の強度を示す情報である。
ステップS1412において通信管理装置403の通信経路管理部903は、送信元の端末であるエッジノード(送信元)402aが送信したコンテンツデータが、全てのホッピングノード401に届くかを判定する。
前述したように、通信経路管理部903は、無線LAN通信で情報取得部902が取得した情報に基づいて、マルチホップ通信でデータを転送する通信経路を管理している。例えば、通信経路管理部903は、情報取得部902が取得した情報を用いて、図13に実線で示すような、ミリ波無線通信による端末間の接続関係や、マルチホップ通信の通信経路を管理している。
図13の例では、通信経路管理部903は、ホッピングノード401bとホッピングノード401cとの間のミリ波無線通信が切断することにより、ホッピングノード401c、401dにコンテンツデータが届かないと判定することができる。
ステップS1413において、通信管理装置403は、ホッピングノード401bが、接続することにより、全てのホッピングノード401にコンテンツデータが届くホッピングノード401を、接続先のホッピングノードとして選択する。
例えば、図13の例では、ホッピングノード401bが、ホッピングノード401c、又はホッピングノード401dに接続することにより、送信元の端末が送信したコンテンツデータが全てのホッピングノード401に届くようになる。
好ましくは、通信経路管理部903は、送信元の端末が送信したコンテンツデータが全てのホッピングノード401に届くようになるホッピングノード401c、401dのうち、通信品質が最も良いホッピングノード401を接続先として選択する。
例えば、図15(a)の例では、送信元の端末が送信したコンテンツデータが全てのホッピングノード401に届くようになるホッピングノード401c、401dのうち、ホッピングノード401dの受信電波の強度の方が大きい(通信品質が良い)。従って、通信経路管理部903は、切断したホッピングノード401bの接続先としてホッピングノード401dを選択する。なお、受信電波の強度は、通信品質に関する情報の一例であり、他の通信品質に関する情報(例えば、スループット値、エラーレート等)を用いるものであっても良い。
ステップS1414において、通信管理装置403の通知部908は、選択した接続先(例えば、ホッピングノード401d)の情報を、切断通知を送信したホッピングノード401bに、無線LAN通信で通知する。
(接続先の通知処理2)
図14(b)は、通信管理装置403が実行する接続先の通知処理の別の一例を示している。なお、図14(b)のステップS1422~S1426に示す処理は、図14(a)のステップS1413に示す処理の具体的な一例である。
ステップS1421において、通信管理装置403は、情報受信部813が、ホッピングノード401から送信された切断通知を受信すると、ステップS1422以降の処理を実行する。
ステップS1422において、通信管理装置403の分類部909は、情報受信部813が受信した切断通知に含まれる、ホッピングノード401から接続可能な他のホッピングノード401のスキャン結果を取得する。
ステップS1423において、分類部909は、取得したスキャン結果に基づいて、接続可能な他のホッピングノード401を、送信元の端末と通信経路が接続されている第1の端末群と、送信元の端末と通信経路が接続されていない第2の端末群とに分類する。
前述したように、通信経路管理部903は、例えば、図13に示すネットワーク構成において、実線で示されるマルチホップ通信の通信経路の情報を管理している。
図15(b)は、通信経路管理部903が管理しているマルチホップ通信の通信経路の情報を管理する通信経路テーブルの一例のイメージを示している。図15(b)の例では、通信経路テーブルには、「ホッピングノード」、「接続先ホッピングノード(AP)」、「送信元の端末との接続」等の情報が含まれている。
「ホッピングノード」の情報は、通信管理装置403に登録されているホッピングノード401の情報(例えば、端末名、端末ID、端末番号等)である。
「接続先ホッピングノード(AP)」の情報は、各ホッピングノード401のミリ波無線通信部(STA)703が接続している他のホッピングノード401の情報(例えば、端末名、端末ID、端末番号等)である。例えば、図15(b)の例では、ホッピングノード401aのミリ波無線通信部(STA)703は、ホッピングノード401bのミリ波無線通信部(AP)702にミリ波無線通信で接続されていることが示されている。また、ホッピングノード401dのミリ波無線通信部(STA)703は、他のホッピングノード401のアクセスポイントにミリ波無線通信で接続していないことが示されている。
「送信元の端末との接続」の情報は、コンテンツデータの送信元の端末であるエッジノード(送信元)402aが直接接続されているホッピングノード401aが、例えば、「○」印で示されている。
分類部909は、例えば、図15(b)に示すような通信経路テーブルを用いて、ホッピングノード401bのミリ波無線通信が切断したときに、各ホッピングノード401から送信元の端末までの通信経路が接続されているか否かを判断する。
図15(c)は、各ホッピングノード401における送信元の端末までの通信経路の判定結果のイメージを示している。
例えば、図15(b)において、ホッピングノード401aは、送信元の端末に直接接続されているので、図15(c)において、「送信元の端末までの通信経路」は「○」となる。
また、図15(b)において、ホッピングノード401bは、ホッピングノード401aが、ホッピングノード401bのAPに接続しているので、ホッピングノード401aを介してコンテンツデータを受信することができる。従って、図15(c)において、ホッピングノード401bの「送信元の端末までの通信経路」は「○」となる。
一方、図15(b)において、ホッピングノード401c、401dは、送信元の端末に直接接続されているホッピングノード401aに至る通信経路がないので、図15(c)において、「送信元の端末までの通信経路」は「×」となる。
また、分類部909は、図15(b)に示す通信経路テーブルを用いて、各ホッピングノード401から、送信元の端末までのホップ数(中継数)を求めることもできる。
分類部909は、例えば、図15(c)に示すような判定結果を用いて、図15(a)に示すようなスキャン結果に含まれるホッピングノード401a、401c、401dを、前述した第1の端末群と、第2の端末群とに分類する。
例えば、ホッピングノード401aは、図15(c)に示す判定結果により、「送信元の端末までの通信経路」が「○」なので、第1の端末群に分類される。一方、ホッピングノード401c、401dは、図15(c)に示す判定結果により、「送信元の端末までの通信経路」が「×」なので、第2の端末群に分類される。
ここで、図14(b)に戻り、フローチャートの説明を続ける。
ステップS1424において、通信管理装置403の通知部908は、切断通知を送信したホッピングノード401が、第1の端末群に属するか、第2の端末群に属するかを判断する。例えば、図13の例では、切断通知を送信したホッピングノード401は、ホッピングノード401bなので、通知部908は、図15(c)に示す判定結果を参照して、ホッピングノード401bが第1の端末群に属すると判断する。
切断通知を送信したホッピングノード401が、第1の端末群に属する場合、通知部908は、処理をステップS1425に移行させる。一方、切断通知を送信したホッピングノード401が、第2の端末群に属する場合、通知部908は、処理をステップS1426に移行させる。
ステップS1425に移行すると、通信管理装置403の通知部908は、ステップS1423において、第2の端末群に分類された他のホッピングノード401から、接続先のホッピングノード401を選択する。
一例として、通知部908は、図15(a)に示すスキャン結果を用いて、第2の端末群に分類されたホッピングノード401の中から、より電波強度の値が大きい(通信品質が良い)ホッピングノード(例えば、ホッピングノード401d)を1つ選択する。
また、別の一例として、通知部908は、第2の端末群に分類された他のホッピングノード401から、1つ以上のホッピングノード401を選択するものであっても良い。この場合、切断通知を送信したホッピングノード401は、通信管理装置403から通知される1つ以上のホッピングノード401の中から、通信品質が最も良いホッピングノード401に選択的に接続すれば良い。
この場合、各ホッピングノード401は、例えば、図16(a)に示すような、過去のミリ波無線通信における通信品質の測定履歴を記憶部704に記憶しておくと良い。これにより、各ホッピングノード401は、通信管理装置403から通知された1つ以上のホッピングノード401の中から、通信品質が最も良いホッピングノード401を選択することができる。
図16(a)の例では、ホッピングノード401bの記憶部704に記憶された通信品質の測定履歴のイメージが示されており、ホッピングノード401cよりホッピングノード401dの方が、平均スループットが高いことが示されている。従って、ホッピングノード401bの接続制御部717は、通信管理装置403から接続先としてホッピングノード401c、401dが通知された場合、より平均スループットが高いホッピングノード401dに接続する。
ここで、再び図14(b)に戻り、フローチャートの説明をさらに続ける。
ステップS1424からステップS1426に移行すると、通信管理装置403の通知部908は、ステップS1423において、第1の端末群に分類された他のホッピングノード401から、接続先のホッピングノード401を選択する。
一例として、通知部908は、図15(a)に示すようなスキャン結果を用いて、第1の端末群に分類された他のホッピングノード401の中から、他のホッピングノード401より電波強度の値が大きいホッピングノード401を1つ選択する。
また、別の一例として、通知部908は、ステップS1425で説明したように、第1の端末群に分類された他のホッピングノード401から、1つ以上のホッピングノード401を選択するものであっても良い。
ステップS1427において、通信管理装置403の通知部908は、選択したホッピングノードを接続先として、切断通知を送信したホッピングノード401に通知する。
この通知を受けたホッピングノード401は、例えば、図12のステップS1209に示す処理により、通知された接続先にミリ波無線通信で接続する。
このとき、通信管理装置403の通信経路管理部903は、例えば、図15(b)に示すような通信経路テーブルを、図16(b)に示すような更新された通信経路テーブルのように更新する。図16(b)の例では、ホッピングノード401bの接続先が、ホッピングノード401dに変更されている。
図17は、第1の実施形態に係る経路切替後のネットワーク構成の例を示す図である。この図は、図13に示す切断発生時のネットワーク構成から、図12、14に示す処理におり通信経路が切り替えられた後のネットワーク構成の例を示している。図17の例では、ホッピングノード401cとのミリ波無線通信が切断されたホッピングノード401bが、ホッピングノード401dに接続している。これにより、エッジノード(送信元)402aから一斉に送信されたコンテンツデータが、再び、全ての無線通信端末(ホッピングノード401、及びエッジノード402)に届くようになる。
(通信システム処理)
図18は、第1の実施形態に係る通信システムの処理の例を示すシーケンス図である。この処理は、図12、15に示した処理に対応する通信システム400全体の処理の一例を示している。
ステップS1801、S1802において、ホッピングノード401bは、例えば、図13に示すように、ホッピングノード401cにデータを送信中に、ホッピングノード401cとのミリ波無線通信の切断を判定するものとする。なお、ホッピングノード401bは、第1の無線通信端末の一例である。
ステップS1803において、ホッピングノード401bの情報収集部712は、ミリ波無線通信部(STA)703で、接続可能な他の無線通信端末をスキャン(検索)する。
ステップS1804において、ホッピングノード401の情報送信部721は、スキャン結果を含む切断通知を、無線LAN通信で通信管理装置403に通知する。
ステップS1805において、通信管理装置403は、図14(a)のステップS1411~S1413、又は図14(b)のステップS1421~S1426に示すような接続先の通知処理を実行する。なお、通信管理装置403は、第2の無線通信端末の一例である。
ステップS1806において、通信管理装置403の通知部908は、ステップS1805で選択された接続先(例えば、ホッピングノード401d)の情報を、無線LAN通信でホッピングノード401bに通知する。
ステップS1807において、ホッピングノード401bの接続制御部717は、通信管理装置403から通知された接続先の情報を受信すると、通知された接続先(例えば、ホッピングノード401d)にミリ波無線通信で接続する。
ステップS1808において、ミリ波無線通信で接続されたホッピングノード401b、及びホッピングノード401dは、互いにデータの受信状況(又は送信状況)を確認する。
ステップS1809において、ホッピングノード401b、及びホッピングノード401dは、未受信(又は未送信)のデータがある場合、未受信(又は未送信)のデータを受信(又は送信)する。
ステップS1810において、ホッピングノード401d、及びホッピングノード401cは、互いにデータの受信状況(又は送信状況)を確認する。
ステップS1811において、ホッピングノード401d、及びホッピングノード401dは、未受信(又は未送信)のデータがある場合、未受信(又は未送信)のデータを受信(又は送信)する。
なお、送信中のコンテンツデータが、リアルタイムのストリーミングデータである場合、ステップS1808~S1811の処理は不要である。
以上、本実施形態によれば、送信元の無線通信端末からコンテンツデータをマルチホップ通信で一斉に送信する無線通信システムにおいて、コンテンツデータを、より多くの無線通信端末に送信できるようになる。
[第2の実施形態]
第1の実施形態では、切断したホッピングノード401のスキャン結果から、接続先のホッピングノード401を選択できる場合の処理の例について説明を行った。しかし、実際には、接続先のホッピングノード401を選択できない場合もあり得る。例えば、他のホッピングノード401からの電波が、一時的な障害物等により届かない場合や、電波が届かない程遠くにある場合等も考えられる。
そこで、第2の実施形態では、例えば、図14(a)のステップS1413において、選択先のホッピングノードを選択することができなかった場合の好適な処理の例について説明する。
(接続先の通知処理)
図19は、第2の実施形態に係る接続先の通知処理の例を示すフローチャートである。なお、図19に示す処理のうち、ステップS1411~S1414の処理は、図14(a)に示す第1の実施形態の処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
ステップS1901において、通信管理装置403は、ステップS1413で、接続先のホッピングノードを選択することができたか否かを判断する。接続先のホッピングノードを選択することができた場合、通信管理装置403は、処理をステップS1414に移行させる。一方、接続先のホッピングノードを選択することができなかった場合、通信管理装置403は、処理をステップS1902に移行させる。
ステップS1902に移行すると、通信管理装置403は、データが届かない全てのホッピングノードにスキャンを要求する。
前述したように、通信管理装置403の通信経路管理部903は、例えば、図15(b)に示すような、マルチホップ通信の通信経路を管理する通信経路テーブルを管理している。従って、通信管理装置403は、例えば、ホッピングノード401bと、ホッピングノード401cとの間で切断が発生したときに、図15(c)に示すように、データが届かないホッピングノード401c、401dを特定することができる。
ステップS1903において、通信管理装置403は、例えば、データが届かないホッピングノード401c、401dから受信したスキャン結果から、全てのホッピングノードにデータが届くホッピングノードを選択する。
例えば、図13に示すネットワーク構成において、第1の実施形態では、切断が発生したホッピングノード401bから、全てのホッピングノードにデータが届くホッピングノードを選択していた。しかし、これ以外にも、例えば、データが届かないホッピングノード401c、401dのいずれかが、データが届くホッピングノード401a、401b、401のいずれかに接続できれば、全てのホッピングノードにデータが届くようになる。
そこで、本実施形態では、切断が発生したホッピングノード401bから、接続先のホッピングノード401を選択できない場合、データが届かないホッピングノード401c、401dから、接続先のホッピングノード401を選択する。
例えば、ホッピングノード401dから接続先のホッピングノード401を選択する場合、通信管理装置403は、ホッピングノード401dがスキャンした他のホッピングノード401を、前述した第1の端末群と第2の端末群とに分類する。また、通信管理装置403は、分類された第1の端末群と第2の端末群とのうち、ホッピングノード401dが属する端末群とは異なる端末群の中から、接続先のホッピングノード401を選択する。
ステップS1904において、通信管理装置403は、接続先が変更になるホッピングノード401に、接続先のホッピングノード401の情報を通知する。
例えば、図13に示すネットワーク構成において、ステップS1903の処理により、ホッピングノード401dの接続先として、ホッピングノード401aが選択されたものとする。この場合、例えば、図15(b)に示すような通信経路テーブルが、図20に示すように更新される。
図20の例では、ホッピングノード401bの接続先が「なし」に変更され、ホッピングノード401dの接続先が「ホッピングノード401a」に変更されている。この場合、通信管理装置403は、ホッピングノード401bと、ホッピングノード401dとに、変更後の接続先を通知する。
図21は、第2の実施形態に係る経路切替後のネットワーク構成の例を示す図である。図21に示すように、ホッピングノード401dが、ホッピングノード401aに接続することにより、エッジノード(送信元)402aが送信したコンテンツデータが、他の全ての無線通信端末に送信されるようになる。
(通信システムの処理)
図22は、第2の実施形態に係る通信システムの処理の例を示すシーケンス図である。この処理は、図19に示す処理に対応する通信システム400全体の処理の例を示している。なお、図22に示す処理のうち、ステップS1801~S1804の処理は、図18に示す第1の実施形態に係る処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
ステップS2001において、通信管理装置403は、図14(a)のステップS1411~S1413、又は図14(b)のステップS1421~S1426に示すような接続先の通知処理を実行する。ただし、ここでは、ホッピングノード401bの接続先のホッピングノード401が選択できなかったものとする。
ステップS2002において、通信管理装置403の通知部908は、接続先のホッピングノード401がないことを、切断通知を送信したホッピングノード401bに、無線LAN通信で通知する。
ステップS2003、S2005において、通信管理装置403は、送信元の端末からのコンテンツデータが届かないホッピングノード(例えば、ホッピングノード401c、401d)に、無線LAN通信でスキャンを要求する。
ステップS2004、S2006において、ホッピングノード401c、401dは、それぞれ、スキャン結果を、無線LAN通信で通信管理装置403に送信する。
ステップS2007において、通信管理装置403は、受信したスキャン結果から、全てのホッピングノード401にデータが届くように、接続先を変更するホッピングノード401と、その接続先のホッピングノードとを選択する。なお、この処理は、前述した図19のステップS1903の処理に対応している。
ステップS2008において、通信管理装置403の通知部908は、ステップS2007で選択された、接続先を変更するホッピングノード(ホッピングノード401d)に、接続先のホッピングノード(ホッピングノード401a)の情報を通知する。
ステップS2009において、ホッピングノード401dの接続制御部717は、通信管理装置403から通知された接続先(例えば、ホッピングノード401a)にミリ波無線通信で接続する。
ステップS2010において、ミリ波無線通信で接続されたホッピングノード401d、及びホッピングノード401aは、互いにデータの受信状況(又は送信状況)を確認する。
ステップS2011において、ホッピングノード401d、及びホッピングノード401aは、未受信(又は未送信)のデータがある場合、未受信(又は未送信)のデータを受信(又は送信)する。
ステップS2012において、ホッピングノード401d、及びホッピングノード401cは、互いにデータの受信状況(又は送信状況)を確認する。
ステップS2013において、ホッピングノード401d、及びホッピングノード401cは、未受信(又は未送信)のデータがある場合、未受信(又は未送信)のデータを受信(又は送信)する。
以上、本実施形態によれば、切断したホッピングノード401bにおいて、接続先のホッピングノード401が選択できない場合であっても、コンテンツデータを、より多くの無線通信端末に送信できるようになる。
[第3の実施形態]
第1、2の実施形態では、通信管理装置403は、例えば、図15(a)に示すようなスキャン結果に含まれる他のホッピングノード401から受信した電波強度に基づいて、ホッピングノード401bの接続先のホッピングノード401を選択していた。
第3の実施形態では、通信管理装置403が、他のホッピングノード401との間のミリ波無線通信のスループット値に基づいて、接続先のホッピングノード401を選択する場合の処理の例について説明する。
(通信システムの処理)
図23は、第3の実施形態に係る通信システムの処理の例を示すシーケンス図である。接続先のホッピングノード401を、他のホッピングノード401のスループット値に基づいて選択する場合の処理の一例を示している。
なお、図23に示す処理のうち、ステップS1801~S1804、及びステップS1806~S1809に示す処理は、図18に示す第1の実施形態の処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明する。
ステップS2301において、通信管理装置403は、ホッピングノード401bから受信した切断通知に含まれるスキャン結果を用いて、ホッピングノード401bの接続先となるホッピングノード401の候補を選択する。
例えば、図15(a)に示すようなスキャン結果を含む切断通知を受信した場合、ホッピングノード401bがミリ波無線通信で接続していないホッピングノード401c、401dを、接続先となるホッピングノード401の候補として選択する。
なお、このとき、ホッピングノード401bが切断したホッピングノード401cは、切断判定が行われたばかりなので、候補から除外するものであっても良い。ここでは、ホッピングノード401c、401dを、接続先となるホッピングノード401の候補とするものとして以下の説明を行う。
ステップS2302において、通信管理装置403は、選択された接続先の候補の一覧を、無線LAN通信で、切断通知を送信したホッピングノード401bに通知する。
ステップS2303~S2308において、ホッピングノード401bは、通知された接続先となるホッピングノード401の候補の各々に対して、順次にミリ波無線通信を接続し、ミリ波無線通信の通信品質(ここでは、スループットの値)を測定する。
例えば、ステップS2303において、ホッピングノード401bの接続制御部717は、ミリ波無線通信部(STA)703を用いて、ホッピングノード401cにミリ波無線通信で接続する。
ステップS2304において、ホッピングノード401bの通信リンク状態測定部711は、例えば、測定用のデータを送受信すること等により、ホッピングノード401cとの間のミリ波無線通信におけるスループットの値を測定する。
ステップS2305、S2306において、ホッピングノード401bの接続制御部717は、ホッピングノード401cとのミリ波無線通信を切断し、ホッピングノード401dにミリ波無線通信で接続する。
ステップS2307において、ホッピングノード401bの通信リンク状態測定部711は、ホッピングノード401dとの間のミリ波無線通信のスループットの値を測定する。
ステップS2308において、ホッピングノード401bの接続制御部717は、ホッピングノード401dとのミリ波無線通信を切断する。
ステップS2309において、ホッピングノード401bの情報送信部721は、接続先の候補の一覧に含まれる各ホッピングノード401との間で測定したスループットの値の測定結果を、無線LAN通信で、通信管理装置403に送信する。
ステップS2310において、通信管理装置403は、ホッピングノード401bから受信したスループットの値の測定結果に基づいて、ホッピングノード401bの接続先のホッピングノード401を選択する。なお、この処理は、基本的に図14(a)、又は図14(c)に示す接続先の通知処理と同様であるが、接続先のホッピングノード401を選択する際に、受信電波強度に代えて(又は加えて)、スループットの値を用いる点が異なる。
例えば、通信管理装置403の分類部909は、図15(a)に示されるようなスキャン結果に含まれる他のホッピングノード401を、前述した第1の端末群と、第2の端末群とに分類する。
また、通信管理装置403の通知部908は、分類された第1の端末群と第2の端末群とのうち、切断通知を送信したホッピングノード401bが属する端末群とは異なる端末群の中から、接続先のホッピングノード401を選択する。
このとき、通知部908は、ホッピングノード401bが属する端末群とは異なる端末群に含まれるホッピングノード(例えば、ホッピングノード401c、401d)の中から、スループットの値が最も高いホッピングノード401を選択する。
ここで、接続先のホッピングノードとして、例えば、ホッピングノード401dが選択された場合、ステップS1806~S1809に示すような処理が実行される。
このように、通信管理装置403が、接続先のホッピングノード401を選択する際に用いられるミリ波無線通信の通信品質の値は、受信電波の強度に限られず、スループットの値を用いるものであっても良い。さらに、通信管理装置403が、接続先のホッピングノード401を選択する際に用いられるミリ波無線通信の通信品質の値は、例えば、ビットエラーレート、フレームエラーレート等、他の通信品質の値を用いるものであっても良い。
(通信管理装置について)
ここまでの説明では、通信管理装置403は、例えば、図6に示すようなハードウェア構成を有する専用の装置であるものとして説明を行った。ただし、これに限られず、通信管理装置403は、例えば、図5(a)に示すようなホッピングノード401のハードウェア構成を有する無線通信端末であっても良い。
これにより、例えば、ホッピングノード401は、周辺に通信管理装置403がない場合、通信管理装置403として起動し、通信システム400を構成することができるようになる。また、ホッピングノード401のハードウェア構成を有する通信管理装置403は、ホッピングノード401の1つとして、マルチホップ通信に参加することも可能である。
図24は、一実施形態に係るホッピングノードの起動処理の例を示すシーケンス図である。
ステップS2401において、ホッピングノードAが起動すると、ステップS2402において、ホッピングノードAは、無線LAN通信で、通信管理装置403の有無を問い合わせることにより、通信管理装置403が既に動作しているか否かを判断する。
ステップS2403において、ホッピングノードAは、所定の時間内に、通信管理装置403から応答がない場合、通信管理装置403として起動する。このとき、ホッピングノードAは、図9に示すような通信管理装置403の機能構成のみを実現するものであっても良いし、図7に示すようなホッピングノード401の機能構成をさらに実現するものであっても良い。
ステップS2404において、ホッピングノードBが起動すると、ステップS2405において、ホッピングノードBは、無線LAN通信で、通信管理装置403の有無を問い合わせる。
ステップS2406において、既に通信管理装置403として起動しているホッピングノードAは、通信管理装置403として動作していることを示す情報を、無線LAN通信でホッピングノードBに応答する。
ステップS2407において、ホッピングノードBは、所定の時間内に通信管理装置403から応答があった場合、ホッピングノード401として起動し、例えば、図10のステップS1001以降の処理を実行する。
上記の処理により、専用の通信管理装置403がない場合であっても、ホッピングノード401が自動的に通信管理装置403として機能し、通信システム400を構成することができるようになる。