以下に、本発明の実施の形態について、添付の図面を参照して説明する。
<ミリ波無線通信システムの概要>
本発明の実施形態について説明する前に、本発明の各実施形態に関連するミリ波無線通信システムの概要について説明する。
ミリ波無線通信システムは、電波の直進性が高く、通信範囲が比較的狭いミリ波(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の通信部とを備える通信装置である。なお、ミリ波無線通信は、指向性を有する電波を用いてマルチホップ通信を行う第1の無線通信の一例である。また、無線LAN通信は、第1の無線通信より通信範囲が広い第2の無線通信の一例である。
複数のホッピングノード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であっても良いし、別のアクセスポイントを利用するものであっても良い。ここでは、無線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通信で通知された通信経路に関する指示に基づいて、ミリ波無線通信で受信したコンテンツデータを、ミリ波無線通信を用いて他の通信装置に転送する。
このように、本実施形態では、ホッピングノード401が2つのミリ波通信部を有し、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(アクセスポイント)として機能し、ミリ波無線通信のサブネットワーク(BSS)を形成する。また、ミリ波無線通信部(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は、ミリ波無線通信の通信リンク状態を測定する。通信リンク状態には、例えば、受信信号強度、通信スループット、パケットロス率、SQ(Signal Quality)値等の情報が含まれる。なお、以下の説明の中で、通信リンク状態を「通信品質」と呼ぶ場合がある。
情報収集部712は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、ミリ波無線通信で周辺の他の通信装置(ホッピングノード401、エッジノード402)をスキャン(検索)して情報を収集する。
例えば、情報収集部712は、通信リンク状態測定部711を用いて、ホッピングノード401の周辺にある他のホッピングノードの識別情報(ホッピングノード番号等)、及び通信リンク状態等の情報を取得する。また、情報収集部712は、通信リンク状態測定部711を用いて、ホッピングノード401の周辺にあるエッジノードの識別情報(エッジノード番号等)、及び通信リンク状態等の情報を取得する。
なお、情報収集部712が収集した情報は、例えば、情報送信部721により、無線LAN通信で通信管理装置403に送信される。
データ転送部713は、例えば、図5(a)のCPU511で実行されるプログラム等によって実現される。データ転送部713は、無線LAN通信で通信管理装置403から通知される通信経路に関する指示に基づいて、ミリ波無線通信(第1の無線通信)で受信したコンテンツデータを、ミリ波無線通信で他の通信装置に転送する。
好ましくは、データ転送部713は、ミリ波無線通信部(STA)703でコンテンツデータを受信した場合、ミリ波無線通信部(AP)702を用いて、受信したコンテンツデータを他の通信装置(ホッピングノード401、エッジノード402)に転送する。
また、データ転送部713は、ミリ波無線通信部(AP)702でコンテンツデータを受信した場合、ミリ波無線通信部(STA)703又はミリ波無線通信部(AP)702を用いて、受信したコンテンツデータを他の通信装置に転送する。
切断判定部714は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、通信リンク状態測定部711が測定する通信リンク状態に基づいて、ミリ波無線通信の切断を判定する。
エッジノード管理部(接続端末管理部)715は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、ミリ波無線通信部(AP)702が形成するサブネットワークに接続するエッジノード402の管理を行う。例えば、エッジノード管理部715は、ミリ波無線通信部(AP)702が形成するサブネットワークに接続したエッジノード402を、ホッピングノード401に登録し、登録したエッジノード402にIPアドレス等を通知する。
また、エッジノード管理部715は、通信管理装置403から送信される制御情報の受信に応じて、ホッピングノード401に接続する1つ以上のエッジノードに対して、他のホッピングノード401への接続先の変更を指示する指示情報を送信する。
なお、通信管理装置403から送信される制御情報には、ホッピングノード401に接続するエッジノードの数を減少させる処理(調整)の実行の指示、減少させるホッピングノード401の数、再接続するホッピングノード401の優先度、等の情報が含まれる。
また、エッジノード管理部715が、エッジノード402に送信する指示情報には、例えば、再接続先するホッピングノード401の優先度の情報等が含まれる。
情報転送部716は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、エッジノード402と、通信管理装置403との間で送受信される情報の中継を行う。例えば、情報転送部716は、エッジノード402からの要求に応じて、ミリ波無線通信でエッジノード402から受信した情報を、無線LAN通信で通信管理装置403に転送する。また、情報転送部716は、通信管理装置403からの要求に応じて、無線LAN通信で通信管理装置403から受信した情報を、ミリ波無線通信でエッジノード402に転送する。
通信管理部717は、例えば、図5(a)のCPU511で実行されるプログラムによって実現され、図9で後述する通信管理装置403の機能を、ホッピングノード401で実現する。ホッピングノード401は、例えば、起動時等に周辺に利用可能な通信管理装置403の有無を確認し、利用可能な通信管理装置403がない場合、通信管理部717により、通信管理装置403の機能を実行することができる。
情報送信部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、及び通信リンク状態測定部807等を有する。
好ましくは、エッジノード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が受信した、映像データ、音声データ、ファイル等のコンテンツデータを記憶する。
通信リンク状態測定部807は、例えば、図5(b)のCPU521で実行されるプログラム、又はミリ波無線通信部(STA)801等によって実現される。通信リンク状態測定部807は、ミリ波無線通信の受信信号強度、通信スループット、パケットロス率、SQ(Signal Quality)値等の通信リンク状態(通信品質)を測定する。
無線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等を有する。
通信管理装置403のCPU601は、所定のプログラムを実行することにより、上記の各機能構成を実現する制御部として機能する。また、通信管理装置403は、端末管理装置の一例である。
無線LAN通信部(第5の通信部)901は、例えば、図6の無線LAN通信装置604、及び図6(b)のCPU601で実行されるプログラム等によって実現され、無線LAN通信で、ホッピングノード401、エッジノード402等と通信を行う。
情報取得部902は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、無線LAN通信で、複数のホッピングノード401から、情報を取得する。例えば、情報取得部902は、無線LAN通信で、情報の取得を要求するスキャン要求を各ホッピングノード401に送信し、各ホッピングノード401から送信される周辺の通信装置の情報を取得する。なお、周辺の通信装置の情報には、例えば、各ホッピングノード401に接続しているエッジノード402の数等の情報が含まれる。
通信経路決定部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が取得した情報等の様々な情報を記憶する。
優先度決定部908は、例えば、図6(b)のCPU601で実行されるプログラムによって実現され、各ホッピングノード401に接続しているエッジノード402の数に基づいて、各ホッピングノード401の接続先としての優先度を決定する。例えば、エッジノード402は、通信管理装置403、又はホッピングノード401から、ホッピングノード401の優先度が通知された場合、より優先度が高いホッピングノード401に優先的に接続する。
<処理の流れ>
続いて、本実施形態に係る通信システム400の制御方法の流れについて説明する。
(ホッピングノードの登録処理)
図10は、一実施形態に係るホッピングノードの登録処理の例を示すシーケンス図である。この処理は、ホッピングノード401が起動したときに、通信管理装置403にホッピングノード401を登録する処理の一例を示している。なお、以下のシーケンス図において、破線の矢印は無線LAN通信による通信を表すものとする。
ステップS1001において、ホッピングノード401が、例えば、電源の投入や、利用者による起動操作等により起動すると、ステップS1002以降の処理が実行される。
ステップS1002において、ホッピングノード401は、無線LAN通信で通信管理装置403に接続する。例えば、ホッピングノード401の無線LAN通信部701は、ブロードキャスト(又はマルチキャスト)で通信管理装置403を検索し、検索された通信管理装置403に無線LAN通信で接続を要求する。
ステップS1003、S1004において、ホッピングノード401は、通信管理装置403からの応答を受付すると、ミリ波無線通信で他の通信装置をスキャン(検索)する。例えば、ホッピングノード401の情報収集部712は、ミリ波無線通信部(STA)703、及び通信リンク状態測定部711を用いて、接続可能な他のホッピングノード401の情報を収集する。
ステップS1005において、ホッピングノード401は、無線LAN通信で、通信管理装置403に通信システム400への登録を要求する登録要求を送信する。例えば、ホッピングノード401の情報送信部721は、情報収集部712が収集した他のホッピングノード401の情報(例えば、識別情報、受信信号強度等)を含む登録要求を、無線LAN通信部701を用いて通信管理装置403に送信する。
ステップS1006において、通信管理装置403は、ホッピングノード401から登録要求を受付すると、ホッピングノード401を通信システム400に登録する。例えば、通信管理装置403のホッピングノード管理部905は、ホッピングノード401から受信した登録要求に含まれる他のホッピングノードの情報を記憶部907に記憶する。また、ホッピングノード管理部905は、ホッピングノード401に通知するアクセスポイント情報を決定する。このアクセスポイント情報には、例えば、ホッピングノード401のミリ波無線通信部(AP)702が使用する、SSID(Service Set Identifier)、暗号鍵、通信チャネル、IPアドレス等の情報が含まれる。なお、SSID、IPアドレス等は、ミリ波無線通信のサブネットワークを識別する識別情報の一例である。
ステップS1007において、通信管理装置403は、無線LAN通信で、登録番号、及びアクセスポイント情報を含む登録完了通知をホッピングノード401に送信する。例えば、通信管理装置403の制御情報送信部904は、ホッピングノード管理部905が決定したアクセスポイント情報と、登録時に生成された登録番号とを含む登録完了通知を、無線LAN通信部901を用いて、要求元のホッピングノード401に送信する。
ステップS1008において、ホッピングノード401は、通信管理装置403から通知されたアクセスポイント情報を用いて、ミリ波無線通信のAP(アクセスポイント)とDHCP(Dynamic Host Configuration Protocol)サーバとを起動する。例えば、ホッピングノード401のミリ波無線通信部(AP)702は、通知されたアクセスポイント情報に含まれるSSID、暗号鍵、通信チャネル、IPアドレス等を用いて、ミリ波無線通信のサブネットワーク(BSS)を形成する。
上記の処理により、ホッピングノード401は、ミリ波無線通信のサブネットワークを形成し、通信管理装置403は、ホッピングノード401の情報を記憶部907に記憶する。
このように、通信管理装置403が、ホッピングノード401が形成するサブネットワークのSSIDを指定することにより、ホッピングノード401のSSIDを用いて、通信システム400に登録済であるか否かを判断することができるようになる。
(エッジノードの登録処理)
図11は、一実施形態に係るエッジノードの登録処理の例を示すシーケンス図である。この処理は、通信管理装置403が、エッジノード402を通信システム400に登録する処理の一例を示している。
ステップS1101において、無線LAN通信部811を有するエッジノードA402aが、例えば、利用者の操作等により起動するものとする。
ステップS1102において、エッジノードA402aは、ミリ波無線通信部(STA)801を用いて、ホッピングノード401に、ミリ波無線通信で接続する。
ステップS1103において、ホッピングノード401のミリ波無線通信部(AP)702は、エッジノードA402aの接続を許可し、IPアドレスをエッジノードA402aに通知する。
ステップS1104において、エッジノードA402aは、ホッピングノード401から通知されたIPアドレスを含む登録要求を、無線LAN通信で通信管理装置403に送信する。
ステップS1105において、通信管理装置403は、エッジノードA402aから登録要求を受信すると、エッジノードA402aを通信システム400に登録する。例えば、通信管理装置403のエッジノード管理部906は、エッジノードA402a受信した登録要求に含まれるIPアドレスを、エッジノードA402aの識別情報と対応づけて記憶部907に記憶する。
上記の処理により、エッジノードA402aが、通信システム400に登録される。なお、エッジノード402が、無線LAN通信部811を有していない場合、例えば、ステップS1111以降の処理により、エッジノードの登録処理が行われる。
ステップS1111において、無線LAN通信部811を有していないエッジノードB402bが、例えば、利用者の操作等により起動するものとする。
ステップS1112において、エッジノードB402bは、ミリ波無線通信部(STA)801を用いて、ホッピングノード401に、ミリ波無線通信で接続する。
ステップS1113において、ホッピングノード401のミリ波無線通信部(AP)702は、エッジノードB402bの接続を許可し、IPアドレスをエッジノードB402bに通知する。
ステップS1114において、エッジノードB402bは、ホッピングノード401から通知されたIPアドレスを含む登録要求を、ミリ波無線通信でホッピングノード401に送信する。
ステップS1115において、ホッピングノード401の情報転送部716は、エッジノードB402bから通信管理装置403宛てに送信された登録要求を受信すると、受信した登録要求を、無線LAN通信で通信管理装置403に転送する。
ステップS1116において、通信管理装置403は、ホッピングノード401を介して、エッジノードB402bから登録要求を受信すると、エッジノードB402bを通信システム400に登録する。
このように、エッジノード402は、ホッピングノード401を介して、通信管理装置403と通信を行うものであっても良い。
(ホッピングノードの起動時の処理)
ホッピングノード401は、起動時に周辺に通信管理装置403がない場合、通信管理装置403の機能を実行することができる。
図12は、一実施形態に係るホッピングノードの起動時の処理の例を示すフローチャートである。ホッピングノード401は、例えば、起動時等に、図12に示す処理を実行する。
ステップS1201において、ホッピングノード401は、無線LAN通信で通信管理装置403をスキャンする。
ステップS1202において、ホッピングノード401は、無線LAN通信によるスキャンで、通信管理装置403が見つかったか否か(通信管理装置403があるか否か)に応じて処理を分岐させる。
通信管理装置403がある場合、ホッピングノード401は、処理をステップS1207に移行させる。一方、通信管理装置403がない場合、ホッピングノード401は、処理をステップS1203に移行させる。
ステップS1203に移行すると、ホッピングノード401は、通信管理部717を起動させて、ホッピングノード401に通信管理装置403の機能を実行させる。これにより、通信管理部717は、例えば、図9に示す通信管理装置403に含まれる情報取得部902、通信経路決定部903、制御情報送信部904、ホッピングノード管理部905、エッジノード管理部906、優先度決定部908等の機能を実行する。
ステップS1204において、ホッピングノード401は、ミリ波無線通信で他の通信装置をスキャンする。例えば、ホッピングノード401の情報収集部712は、ミリ波無線通信部(STA)703、及び通信リンク状態測定部711を用いて、周辺にある接続可能な他のホッピングノード401の情報を収集する。
ステップS1205において、ホッピングノード401の登録要求部723は、通信管理装置として機能している通信管理部717に、ホッピングノード401の登録を要求する。
ステップS1206において、登録要求部723は、通信管理部717から登録完了通知を受付すると、処理をステップS1210に移行させる。
一方、ステップS1202からステップS1207に移行すると、ホッピングノード401は、ミリ波無線通信で他の通信装置をスキャンする。
ステップS1208において、登録要求部723は、無線LAN通信で、通信管理装置403に、ホッピングノード401の登録を要求する。
ステップS1209において、登録要求部723は、所定の時間内に通信管理装置403から登録完了通知を受信したか否かを判断する。
所定の時間内に通信管理装置403から登録完了通知を受信できなかった場合、登録要求部723は、処理をステップS2201に戻して、同様の処理を再び実行する。一方、所定の時間内に通信管理装置403から登録完了通知を受信した場合、登録要求部723は、処理をステップS1210に移行させる。
ステップS1210において、ホッピングノード401のミリ波無線通信部(AP)702は、通信管理装置403から受信した登録完了通知に含まれるアクセスポイント情報を用いて、ミリ波無線通信のアクセスポイントを起動させる。
このように、ホッピングノード401は、周辺に通信管理装置403がない場合、通信管理装置403の機能、及びホッピングノード401の機能を実行することができる。
<エッジノードの接続先の変更処理>
続いて、各ホッピングノード401に接続するエッジノード402の数に偏りがある場合に、エッジノード402の接続先のホッピングノード401を変更する処理の例について説明する。
[第1の実施形態]
ホッピングノード401が形成するミリ波無線通信のアクセスポイント(サブネットワーク)は、一般的な無線LAN等のアクセスポイントよりも、接続可能な端末の数が少ない。従って、ホッピングノード401が形成するアクセスポイントに接続するエッジノード402の数が増えると、アクセスポイントに接続可能な他のホッピングノード401の数が減り、通信経路の自由度が低下する場合がある。
また、ホッピングノード401が形成するアクセスポイントに接続するエッジノード402の数が増えると、新たに起動したエッジノード402が、ホッピングノード401が形成するアクセスポイントに接続できなくなる場合もある。
このように、各ホッピングノード401が形成するサブネットワークに接続されているエッジノード402の数に偏りがあると、通信システムの接続性や利便性が低下してしまう場合がある。
本実施形態では、各ホッピングノード401が形成するサブネットワークに接続されているエッジノード402の数に偏りを解消させて、通信システム400の接続性や利便性を向上させる通信システム400の制御方法について説明する。
(エッジノードの数の取得処理)
図13は、第1の実施形態に係るエッジノードの数の取得処理の例を示すシーケンス図である。この処理は、通信管理装置403によって、例えば、或る時刻、もしくは所定の時間間隔、所定のイベント等に応じて実行される。
なお、ここでは、一例として、通信システム400は、図4に示すようなネットワーク構成であるものとして、以下の説明を行う。
ステップS1301において、通信管理装置403の情報取得部902は、無線LAN通信でホッピングノード401-1に、接続しているエッジノード402の数の取得を要求する。
ステップS1302において、ホッピングノード401-1のエッジノード管理部715は、ホッピングノード401-1のミリ波無線通信部(AP)702が形成するサブネットワークに接続しているエッジノード402の数を取得する。
ステップS1303において、ホッピングノード401-1の情報送信部721は、取得したエッジノードの数を、無線LAN通信で通信管理装置403に送信する。
上記の処理により、通信管理装置403の情報取得部902は、ホッピングノード401-1に接続しているエッジノードの数を取得することができる。
同様にして、通信管理装置403の情報取得部902は、ステップS1304~S1315において、通信システム400に登録されている他のホッピングノード401-2~401-5の各々から、各ホッピングノード401に接続しているエッジノード402の数を取得する。また、情報取得部902は、ホッピングノード401-1~401-5から取得したエッジノード数の情報を記憶部907に記憶する。
図14(a)は、上記の処理により、情報取得部902が取得し、記憶部907に記憶したエッジノード数の情報の一例のイメージを示している。図14(a)の例では、エッジノード数の情報には、ホッピングノード401ごとに、「IPアドレス」、「MACアドレス」、及び「エッジノードの数」等の情報が記憶されている。
「IPアドレス」は、ホッピングノード401のIPアドレスであり、「MACアドレス」は、ホッピングノード401のMACアドレスである。なお、IPアドレス及びMACアドレスは、ホッピングノード401を識別する識別情報の一例である。
「エッジノードの数」は、ホッピングノード401が形成するサブネットワークに接続しているエッジノードの数を示す情報である。
図13のステップS1316において、通信管理装置403のエッジノード管理部906は、例えば、図14(a)に示すようなエッジノード数の情報を用いて、エッジノードの数の最大値と最小値との差を、予め定められた第1の閾値と比較する。また、エッジノード管理部906は、エッジノードの数の最大値と最小値との差が第1の閾値を超えた場合、例えば、図14に示すようなエッジノードの選択処理を開始させる。
例えば、図14(a)において、エッジノードの数の最大値は「3」、最小値は「0」なので、エッジノードの数の最大値と最小値との差は「3」となる。また、エッジノード管理部906は、エッジノードの数の最大値と最小値との差「3」が、第1の閾値(例えば「2」)を超えた場合、図14に示すエッジノードの選択処理を開始させる。
なお、エッジノードの数の最大値と最小値との差「3」が、第1の閾値(例えば「2」)を超えない場合、エッジノード管理部906は処理を終了させる。
(エッジノードの選択処理)
図15は、第1の実施形態に係るエッジノードの選択処理の例を示すシーケンス図である。この処理は、例えば、図13のステップS1316において、エッジノードの数の最大値と最小値との差が、第1の閾値を超えたと判断された場合等に実行される。
ステップS1501において、通信管理装置403の優先度決定部908は、例えば、図14(a)に示すようなエッジノード数の情報に基づいて、各ホッピングノード401の接続優先度を決定する。
例えば、優先度決定部908は、図14(a)に示すエッジノード数の情報において、「エッジノードの数」が最大のホッピングノード401-1とは異なるホッピングノード401-2~401-5の接続優先度を決定する。
ここでは、「エッジノードの数」が少ないホッピングノード401に、優先的にエッジノード402を接続させたいので、「エッジノードの数」が少ないホッピングノード401の優先度が高くなるように接続優先度を決定する。
例えば、図14(a)において、優先度決定部908は、「エッジノードの数」が最も少ないホッピングノード401-3の接続優先度を、最も高く設定する(例えば「1」)。また、優先度決定部908は、ホッピングノード401-3の次に「エッジノードの数」が少ないホッピングノード401-2、401-5の接続優先度を、ホッピングノード401-3の接続優先度より低く設定する(例えば「2」)。さらに、優先度決定部908は、ホッピングノード401-2、401-5より「エッジノードの数」が少ないホッピングノード401-4の接続優先度を、ホッピングノード401-2、401-5の接続優先度より低く)設定する(例えば「3」)。
ステップS1502において、通信管理装置403のエッジノード管理部906は、制御情報送信部904を用いて、「エッジノードの数」が最大のホッピングノード401-1に、接続するエッジノード402の数の削減を要求する削減要求(制御情報)を送信する。この削減要求には、例えば、図14(b)に示すような優先度情報、及び削減するエッジノード402の端末数を指示する情報等が含まれる。
図14(b)は、通信管理装置403が送信する優先度情報の一例のイメージを示している。この優先度情報は、例えば、優先度決定部908又はエッジノード管理部906等によって作成され、ホッピングノード1401ごとに、「SSID」、「接続優先度」等の情報が記憶されている。
「SSID」は、ミリ波無線通信のサブネットワークを識別する識別情報の一例である。「接続優先度」は、優先度決定部908が決定した接続優先度であり、エッジノード402は、「接続優先度」の値がより小さい(優先度がより高い)ホッピングノード401に、優先的に接続する。
なお、「SSID」は、例えば、図14(b)に示すように、共通の文字列(例えば、「Milli-Wave-BSS」)と、ホッピングノードごとに異なるインデックス番号(又は文字列)を含む。
OSによっては、BSSIDを用いて、接続するホッピングノード401を選択することができないため、ホッピングノード401のSSIDを共通にしてしまうと、接続先のホッピングノード401を選択することができない場合がある。一方、各ホッピングノード401のSSIDが全く異なると外部のネットワークに接続してしまう可能性があるため、本実施形態では、SSIDに共通の文字列を設けて、その文字列の一致により接続先のホッピングノード401を選択する。
ステップS1503において、ホッピングノード401-1の情報収集部712は、ホッピングノード401-1に接続しているエッジノード402-1に、ミリ波無線通信で、通信品質(例えば、SQ値)の取得を要求する取得要求を送信する。なお、SQ値は、ミリ波無線通信の通信品質を示す情報の一例であり、例えば、通信スループット、受信信号強度、ビットエラー率、パケットエラー率等、他の通信品質を示す情報を用いるものであっても良い。
ステップS1504において、エッジノード402-1の通信リンク状態測定部807は、ミリ波無線通信の通信品質を測定する。
ステップS1505において、エッジノード402-1のデータ送信部802は、測定されたミリ波無線通信の通信品質を示す情報を、ミリ波無線通信でホッピングノード401-1に送信する。
上記の処理により、ホッピングノード401-1の情報収集部712は、ホッピングノード401-1に接続しているエッジノード402-1との間におけるミリ波無線通信の通信品質を示す情報を取得することができる。
同様にして、ホッピングノード401-1の情報収集部712は、ステップS1506~S1511において、ホッピングノード401-1に接続している他のエッジノード402-2、402-3の各々から、ミリ波無線通信の通信品質を示す情報を収集する。
好ましくは、情報収集部712は、収集した情報を用いて、例えば、図14(c)に示すような通信品質情報を作成する。図14(c)の例では、通信品質情報には、ホッピングノード401-1に接続しているエッジノード402ごとに、「IPアドレス」、「MACアドレス」、及び「SQ値」の情報が記憶されている。
「IPアドレス」、及び「MACアドレス」は、エッジノード402を識別する識別情報の一例である。「SQ値」は、ミリ波無線通信の通信品質を示す情報の一例であり、値が大きい程、通信品質が良いことを示している。
ステップS1512において、ホッピングノード401-1のエッジノード管理部715は、ホッピングノード401-1に接続しているエッジノード402-1~402-3のうち、他のエッジノードより通信品質が悪いエッジノード402を選択する。
このとき、選択するエッジノード402の数は、ステップS1502で受信した削減要求に含まれる「削減するエッジノード402の端末数」に従う。ここでは、選択するエッジノード402の数が「1」であるものとして、以下の説明を行う。
図14(c)の例では、SQ値の値が最も小さいエッジノード402-3が、エッジノード管理部715によって選択される。
ステップS1513において、ホッピングノード401-1のエッジノード管理部715は、ステップS1512で選択されたエッジノード402-3に、他のホッピングノード401への接続先の変更を指示する指示情報を送信する。この指示情報には、例えば、図14(b)に示すような優先度情報が含まれる。
ステップS1514において、指示情報を受信したエッジノード402-3のミリ波無線通信部(STA)801は、ホッピングノード401-1に接続していたミリ波無線通信を切断する。
好ましくは、エッジノード402-3は、ホッピングノード401-1とのミリ波無線通信を切断したとき、例えば、TCP(Transmission Control Protocol)通信の接続を維持せずに切断する。すなわち、エッジノード402-3は、TCPのキープアライブ機能を利用しない。また、エッジノード402-4は、他のホッピングノード401にミリ波無線通信で接続したとき、TCP通信にて接続する。
ステップS1515において、エッジノード402-3のミリ波無線通信部(STA)801は、ミリ波無線通信で接続可能な他のホッピングノードをスキャンする。
図14(d)は、エッジノード402-3によるスキャン結果の一例のイメージを示している。図14(d)の例では、スキャン結果には、エッジノード402-3から接続可能な各サブネットワークを識別するSSIDと、各サブネットワークから受信した電波の受信信号強度の情報が含まれる。
ステップS1516において、エッジノード402-3は、例えば、図14(b)に示すような優先度情報と、図14(d)に示すようなスキャン結果とを用いて、接続先のホッピングノード401を選択する。
例えば、エッジノード402-3は、接続先の候補となるホッピングノード401-2~401-5のうち、接続優先度が高いホッピングノード401から順に、受信信号強度の値が第2の閾値以上であるか否かを判断する。また、エッジノード402-3は、ホッピングノード401の受信信号強度の値が第2の閾値以上である場合、そのホッピングノード401を、接続先のホッピングノードとして選択する。
例えば、第2の閾値が「-60dBm」であるものとする。この場合、エッジノード402-3は、図14(b)において、接続優先度が「1」のホッピングノード401-3の受信信号強度が、「-60dBm」以上であるか否かを判断する。
図14(b)、(d)の例では、ホッピングノード401-3の受信信号強度は、「-55dBm」であり、第2の閾値より大きいので、エッジノード402-3は、ホッピングノード401-3を接続先のホッピングノード401として選択する。
ここで、例えば、ホッピングノード401-3の受信信号強度が第2の閾値未満である場合には、エッジノード402-3は、接続優先度が「2」のホッピングノード401-2、401-5の受信信号強度が、第2の閾値以上であるか否かを判断する。この場合、ホッピングノード401-2の受信信号強度が「-70dBm」、ホッピングノード401-5の受信信号強度が「-58dBm」なので、ホッピングノード401-5が接続先のホッピングノード401として選択される。
ここでは、エッジノード402-3が、接続先のホッピングノード401として、ホッピングノード401-3を選択したものとして、以下の説明を行う。
エッジノード402-3は、選択したホッピングノード401-3に対して、例えば、図16に示すようなエッジノードの接続処理を実行する。
(エッジノードの接続処理)
図16は、第1の実施形態に係るエッジノードの接続処理の例を示すシーケンス図である。
ステップS1601において、エッジノード402-3のミリ波無線通信部(STA)801は、図15のステップS1516で選択されたホッピングノード401-3に、ミリ波無線通信で接続する。
ステップS1602において、ホッピングノード401-3のミリ波無線通信部(AP)702は、エッジノード402-3の接続を許可し、IPアドレスをエッジノード402-3に通知する。
ステップS1603において、エッジノード402-3は、ホッピングノード401-3から通知されたIPアドレスを含む登録要求を、ミリ波無線通信でホッピングノード401-3に送信する。
ステップS1604において、ホッピングノード401-3の情報転送部716は、エッジノード402-3から受信した登録要求を、無線LAN通信で通信管理装置403に転送する。
ステップS1605において、通信管理装置403は、ホッピングノード401-3を介して、エッジノード402-3から登録要求を受信すると、エッジノード402-3を通信システム400に登録する。
上記の処理により、例えば、図4に示すようなネットワーク構成が、図17に示すようなネットワーク構成に変更される。
図17は、第1の実施形態に係る接続先の変更後のネットワーク構成の例を示す図である。図17の例では、図4において、ホッピングノード401-1に接続していたエッジノード402-3の接続先が、ホッピングノード401-3に変更されている。これにより、各ホッピングノード401-1~401-5に接続しているエッジノード402の数が1又は2となり、各ホッピングノード401-1~401-5に接続するエッジノード402の数の偏りが改善されていることが判る。
以上、本実施形態によれば、指向性を有する電波でサブネットワークを形成するホッピングノード401と、サブネットワークに接続するエッジノード402とを用いてマルチホップ通信を行う通信システム400の接続性や利便性を向上させることができる。
[第2の実施形態]
第1の実施形態では、通信管理装置403からの制御に基づいて、エッジノード402の接続先のホッピングノード401を変更する場合の処理の例について説明した。第2の実施形態では、エッジノード402が、例えば、ホッピングノード401のミリ波無線通信の通信品質が低下したときに、自律的に接続先のホッピングノード401を変更する場合の処理の例について説明する。
なお、ホッピングノード401、エッジノード402、及び通信管理装置403の機能構成は、図7~8に示す第1の実施形態に係る各装置の機能構成と同様で良い。
(接続先の変更処理)
図18は、第2の実施形態に係る接続先の変更処理の例を示すシーケンス図である。
ステップS1801において、エッジノード402は、例えば、ホッピングノード401-1とミリ波無線通信で通信中であるものとする。なお、エッジノード402は、ホッピングノード401-1と通信中、ミリ波無線通信の通信品質(例えば、通信スループット)を継続的に測定し、例えば、図14(e)に示すような通信品質の測定結果を管理しているものとする。
ステップS1802において、エッジノード402は、ホッピングノード401-1とのミリ波無線通信中に、通信品質の劣化を検知すると、ステップS1803以降の処理を開始させる。
例えば、エッジノード402は、
1)受信信号強度が連続して所定の回数以上、受信信号強度の閾値未満となった場合
2)通信スループットが、通信スループットの閾値未満となった場合
3)ビットエラー率が、ビットエラー率の閾値を超えた場合
4)パケットエラー率が、パケットエラー率の閾値を超えた場合
のいずれかの条件を満たす場合、通信品質が劣化したと判断する。
ステップS1803において、エッジノード402は、ホッピングノード401-1とのミリ波無線通信を切断する。
ステップS1804において、エッジノード402は、ミリ波無線通信で接続可能な他のホッピングノード401をスキャンする。これにより、エッジノード402は、例えば、図14(d)に示すようなスキャン結果を取得する。
ステップS1805において、エッジノード402は、スキャン結果を用いて、接続先のホッピングノード401を選択する。例えば、エッジノード402は、図14(d)に示すようなスキャン結果から、受信信号強度の値が最も大きいSSID「Milli-Wave-BSS3」(ホッピングノード401-3)を選択する。
ステップS1806において、エッジノード402は、選択されたSSID「Milli-Wave-BSS3」を用いてサブネットワークを形成しているホッピングノード401-3に、ミリ波無線通信で接続する。
ステップS1807において、ホッピングノード401-3のミリ波無線通信部(AP)702は、エッジノード402の接続を許可し、IPアドレスをエッジノード402に通知する。
ステップS1808において、エッジノード402は、ホッピングノード401-3から通知されたIPアドレスを含む登録要求を、ミリ波無線通信でホッピングノード401-3に送信する。
ステップS1809において、ホッピングノード401-3の情報転送部716は、エッジノード402から受信した登録要求を、無線LAN通信で通信管理装置403に転送する。
ステップS1810において、通信管理装置403は、ホッピングノード401-3を介して、エッジノード402から登録要求を受信すると、エッジノード402を通信システム400に登録する。
このように、エッジノード402は、通信管理装置403、又はホッピングノード401-1からの接続先の変更指示がない場合であっても、自律的に接続先のホッピングノード401を変更することができる。
なお、図18に示す処理により、例えば、図4に示すネットワーク構成のように、エッジノード402の数に偏りが生じた場合は、第1の実施形態で説明した接続先の変更処理が実行される。
そのため、エッジノード402は、例えば、図15のステップS1513に示す接続先の変更指示をホッピングノード401から受信した場合、当該ホッピングノード401の接続優先度を下げるものであっても良い。これにより、例えば、図18のステップ1805において、エッジノード402が接続先のホッピングノード401を選択するときに、接続先の変更指示を送信したホッピングノード401に再び接続することを低減させることができる。