JP2019024161A - 通信装置及びデータ転送方法 - Google Patents

通信装置及びデータ転送方法 Download PDF

Info

Publication number
JP2019024161A
JP2019024161A JP2017142624A JP2017142624A JP2019024161A JP 2019024161 A JP2019024161 A JP 2019024161A JP 2017142624 A JP2017142624 A JP 2017142624A JP 2017142624 A JP2017142624 A JP 2017142624A JP 2019024161 A JP2019024161 A JP 2019024161A
Authority
JP
Japan
Prior art keywords
sensor
address
confirmation message
communication
message
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.)
Pending
Application number
JP2017142624A
Other languages
English (en)
Inventor
英司 今尾
Eiji Imao
英司 今尾
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017142624A priority Critical patent/JP2019024161A/ja
Publication of JP2019024161A publication Critical patent/JP2019024161A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】データ転送の設定作業が簡単であり、処理負荷が低い通信装置を提供する。【解決手段】6LoWPANに準拠した通信を行うワイヤレスセンサーネットワーク108に接続する機器103〜106から、各機器が利用しようとする第1のアドレスと同一のアドレスを有する他の機器がネットワーク108内に存在するかを確認するための確認メッセージを受信する受信手段と、受信手段により確認メッセージを受信した場合に、第1のアドレスと同一のアドレスを有する他の機器がネットワーク108内に存在するか否かを判定する判定手段と、判定手段による判定の結果を、確認メッセージの応答として各機器に通知する通知手段と、受信手段が確認メッセージを受信し、通知手段が当該確認メッセージの応答として判定手段による判定の結果を通知するまでの間に、各機器が送信するデータの転送設定を行う第1の設定手段と、を備えた。【選択図】図1

Description

本発明は、6LoWPAN通信を行うネットワークに接続される通信装置に関する。
従来から、センサー装置(以降、センサー)が送信するセンサーデータを転送する無線センサーネットワーク(Wireless Sensor Network、以降WSN)がある。特に電池駆動の小型センサーを含むWSNは、ZigBee(登録商標)やWi−SUN(登録商標)、Bluetooth(登録商標)などの無線PAN(Wireless Personal Area Network、以降WPAN)に分類される無線通信規格を用いて構成することが多い。これらの規格は消費電力を抑えた無線ネットワークに適している。また、近年では、6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)と呼ばれるプロトコルを用いて、無線PAN上でIPv6(Internet Protocol バージョン6)通信を行えるようにしたWSNを構築するケースも増加している。
さらに、近年では、WSNとLAN(Local Area Network)の間でデータ通信を中継する通信装置(以下、通信装置の一つとして「ゲートウェイ装置」を用いて説明する)を用いて、WSNから拠点ネットワークのサーバやクラウドと呼ばれる仮想化基盤上のサーバへ、センサーデータをIP通信で転送する情報処理システムも増えている。このようなゲートウェイ装置は、一般にIoT(Internet Of Things)ゲートウェイ(以降、IoT−GW)と呼ばれる。
多種多数のセンサーを配置して膨大なデータを処理するシステムでは、WSNとLANの接点であるIoT−GWが、データの種別やトラフィック量に応じて適切な処理装置に転送することで、データの収集や解析の分散処理が可能となる。しかし、WSNに接続するセンサーの追加などに追従し、個々のセンサーやIoT−GWを設定する作業は煩雑となり、システム管理が困難になる問題が生じうる。ゆえに、WSNに対する設定を自動化する方法が必要とされている。
このような問題に対し、特許文献1では、6LoWPAN通信可能な無線センサーノードのIPv6アドレス自動構成処理において、無線センサーノードがルータ要請メッセージにセンサー固有情報を付加して送信し、ゲートウェイ装置がWSN外部のサービスサーバから無線センサーノードの設定情報を取得してルータ広告メッセージに付加してセンサーノードへ送信する方法が開示されている。特許文献1記載の技術では、無線センサーノードがサービスサーバのIPアドレスを取得後は、無線センサーノードがサービスサーバと直接通信する。
また、特許文献2の技術によれば、6LoWPAN通信を行うセンサーが、自身のIPv6アドレスを決定するため、ボーダルータ(ゲートウェイ装置)においてIPv6アドレスの重複確認処理を行うようにしている。そしてボーダルータの重複確認処理が成功すると、センサーが自身のIPv6アドレスを設定し、センサーデータを送信するために待機する。センサーがはじめてセンサーデータを送信すると、ボーダルータがWSN外部の機器管理サーバにアクセスし、当該機器管理サーバにセンサー情報の登録を行う。センサー情報の登録が成功すると、ボーダルータが該センサーからのセンサーデータの転送設定を行う。以降は、該センサーからのセンサーデータは転送設定に従って転送する。なお、センサーがIPv6アドレス設定後にはじめてセンサーデータをボーダルータに送信するときは、機器管理サーバにおけるセンサー情報の登録やボーダルータにおける転送設定がまだ完了していないため、ボーダルータはセンサーデータをバッファに蓄積しておき、WSN外部の機器管理サーバにアクセスする。
国際公開第WO08/102755号 特開2014−78773号公報
しかしながら、特許文献1の技術では、ゲートウェイ装置がセンサーノードからルータ要請メッセージを受信すると、センサーデータの処理を行うサービスサーバからセンサーノードの設定情報を取得してセンサーノードへ送信する。センサーノードはこの情報に基づいて自身の送信データの宛先等を設定する。以降の通信は、センサーノードからサービスサーバに直接送信する構成になっている。このため、特許文献1の技術によれば、サービスサーバが無線センサーノードの管理を行わなければならなかった。したがって、センサーの追加や変更が多数想定されるWSNでは、サービスサーバにおける管理が煩雑であった。
また、特許文献2の技術では、センサーノードがIPv6アドレスの重複確認を要請し、IPv6アドレスの重複確認処理が成功に終わると、センサーが自身のIPv6アドレスを設定し、センサーデータを送信するために待機する。センサーがはじめてセンサーデータを送信するときに、機器管理サーバへの登録と、センサーデータの転送設定を行う。このため、最初にセンサーデータを送信するときに、直ちにセンサーデータの処理サーバに送信することができず、転送設定等を行うためセンサーやボーダルータにおける通信処理が多かった。また、ゲートウェイ装置が、転送設定が完了するまで、センサーが最初に送信したセンサーデータをバッファメモリに保持しなければならなかった。
上記を鑑み、本発明は、6LoWPANに準拠した通信を行うネットワークに接続する機器が送信するデータの転送設定を、より迅速に完了できるようにすることを目的とする。
本発明による通信装置は、6LoWPANに準拠した通信を行う第1のネットワークに接続する機器から、前記機器が利用しようとする第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するかを確認するための確認メッセージを受信する受信手段と、前記受信手段により前記確認メッセージを受信した場合に、前記第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するか否かを判定する判定手段と、前記判定手段による判定の結果を、前記確認メッセージの応答として前記機器に通知する通知手段と、前記受信手段が前記確認メッセージを受信し、前記通知手段が当該確認メッセージの応答として前記判定手段による判定の結果を通知するまでの間に、前記機器が送信するデータの転送設定を行う第1の設定手段と、を有する。
本発明によれば、6LoWPANに準拠した通信を行うネットワークに接続する機器が送信するデータの転送設定を、より迅速に完了できるようにすることができる。
本発明の一実施形態による情報処理システムの構成を示す図である。 本発明の一実施形態によるIoT−GWのハードウェア構成を示すブロック図である。 本発明の一実施形態によるセンサーのハードウェア構成を示すブロック図である。 本発明の一実施形態によるセンサーのIPv6アドレス自動設定処理のシーケンス図である。 本発明の一実施形態によるセンサーの、IoT−GWに1ホップで接続する場合のIPv6アドレス自動設定処理のシーケンス図である。 ABROのフォーマット図である。 AROのフォーマット図である。 DARおよびDACのフォーマット図である。 本発明の一実施形態によるIoT−GWにおけるIPv6アドレス重複確認処理のフローチャートである。 本発明の一実施形態によるIoT−GWにおけるIPv6アドレスの有効期間タイムアウト処理のフローチャートである。
本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態で説明する特徴の組み合わせの全てが本発明に必須のものとは限らない。
[システム構成]
図1は、本実施形態の情報処理システム100の構成を示す。図1の情報処理システム100は、LAN107、WSN108、IoT−GW101、機器管理サーバ102、センサーデータ処理サーバ(A)109、およびWAN110を介してLAN107に接続する他のセンサーデータ処理サーバ(B)111を含むように構成されている。WSN108には、センサー103、104、105及び106が接続されている。なお、本実施形態において、センサー103、104、105、及び106をまとめて呼称する場合は、センサー103−106と記載する。
IoT−GW101は、WSN108とLAN107の両方に接続する。IoT−GW101とLAN107との接続は、例えばEthernet(登録商標)などの有線接続であってもよいし、Wi−Fi(登録商標)などの無線接続であってもよい。そして、IoT−GW101は、LAN107を介して機器管理サーバ102及びセンサーデータ処理サーバ(A)109と接続してIPv6通信を実行する。また、LAN107とWAN110を介してセンサーデータ処理サーバ(B)111と接続してIPv6通信を実行する。なお、センサーデータ処理サーバ(B)111は一般にクラウドと呼ばれる仮想化プラットフォーム上にあるサーバであってもよい。機器管理サーバ102は、情報処理システムを構成する各機器やセンサーについて、システムへの接続および設定や状態の管理を担うサーバである。また、センサーデータ処理サーバ(A)109とセンサーデータ処理サーバ(B)111は、情報処理システム100内のセンサーが送信するセンサーデータの収集、蓄積、解析等を実行する。
一方、IoT−GW101とセンサー103−106は、無線PAN通信でメッシュネットワークであるWSN108を構築する。WSN108はメッシュ型のネットワークトポロジーに限定されるものではなく、IoT−GW101を中心とするスター型のようなネットワークであってもよい。なお、IoT−GW101とセンサー103−106以外の他の装置がWSN108に接続していてもよい。無線PANの通信規格は、例えば、Bluetooth(登録商標)、Zigbee(登録商標)、及びWi−SUN(登録商標)が挙げられる。WSN108の通信では、これらの中のいずれかの無線PAN規格のプロトコルを使用するが、その上位のネットワーク層のプロトコルには6LoWPANを使用するものとしている。
センサー103―106のそれぞれは、6LoWPANパケットを含む無線PANフレームを送信する。IoT−GW101は、WSN108とLAN107間でパケットの転送を実行する。WSN108からLAN107へパケットを転送する場合は6LoWPANプロトコルのパケットをIPv6パケットに変換する。逆にLAN107からWSN108へ転送する場合は、IPv6パケットを6LoWPANパケットに変換する。
[IoT−GW101のハードウェア構成]
次に、IoT−GW101のハードウェア構成について、図2を参照して説明する。図2の101は、図1のIoT−GW101を表す。IoT−GW101の内部は、主に、システムバス201にCPU202、RAM203、ROM204、PAN制御部205、LAN制御部206、転送入力制御部207、転送処理部208が接続するハードウェア構成となっている。システムバス201は、接続するCPU202等の各ブロック間でデータを伝達する。
CPU202で実行するプログラムにはOSやアプリケーション、TCP/IPプロトコルスタック、無線PANプロトコルスタックが含まれる。RAM203は、IoT−GW101の主記憶部であって、主に、CPU202、転送入力制御部207、および転送処理部208の処理実行時にデータの一時記憶領域として使用される。ROM204は、CPU202が実行するソフトウェアプログラムが格納される不揮発性の記憶部である。ROM204に格納されるプログラムは、RAM203に転送され、CPU202によって読み出されて実行される。
PAN制御部205は、WSN108に接続する無線PAN規格の通信インターフェースである。無線PAN規格に対応した物理層、MAC層の通信制御を実行し、WSN108との無線接続およびパケットの送受信の機能を提供する。例えばZigBee(登録商標)の場合、IEEE802.15.4に対応した物理リンク制御を実行する。なお、本実施形態では、IoT−GW101がメッシュネットワーク構成のWSN108に接続するものとしているが、Bluetooth(登録商標)の場合にはIoT−GW101とセンサーがピアツーピア接続で通信するものとしてもよい。
LAN制御部206は、LAN107に接続する通信インターフェースであり、有線LANもしくは無線LANの通信制御を実行する。例えば、IoT−GW101が有線LANで接続する形態とする場合、LAN制御部206には伝送メディアのPHY及びMAC(伝送メディア制御)ハードウェア回路が含まれる。有線LANで接続する形態の場合、LAN制御部206はEthernet(登録商標)のNIC(Network Interface Card)に相当する。あるいは、IoT−GW101が無線LANで接続する形態とする場合、LAN制御部206は、IEEE802.11a/b/g/n/ac等の無線LAN制御を実行するコントローラ、RF回路、アンテナが含まれる。
転送入力制御部207は、PAN制御部205がWSN108から受信する無線PANフレームを転送処理部208の処理対象とするかどうか判定する。この判定は、無線PANフレームが6LoWPANパケットを含むか否かを判定することも含まれる。この判定の結果、6LoWPANパケットを持つフレームは、無線PAN規格のフレーム形式から、転送処理部208で処理可能なEthernetフレーム形式に変換する。さらに該フレームのペイロードデータは、6LoWPANからIPv6へパケット形式を変換する。これらの変換処理の後、該フレームを転送処理部208に入力する。
転送処理部208は、フレーム転送処理を行う機能部である。転送対象フレームには、PAN制御部205が受信して転送入力制御部207を介して入力されるフレームや、CPU202が実行するTCP/IPプロトコルスタックが送信するフレームが含まれる。転送処理部208では、入力されたフレームを解析し、該フレームの転送条件をチェックし、該フレームの転送に係る処理を実行する。転送処理部208は、LAN107側に転送するフレームについては、そのヘッダ情報(例えばEthernetヘッダ及びIPv6ヘッダの各フィールド)を設定する。代表的には、該転送フレームのIPv6ヘッダ情報の宛先フィールドを設定する。
[IoT−GW101におけるセンサーデータの転送]
前述したように、IoT−GW101は、WSN108から受信する6LoWPANパケットについて、転送条件をチェックし、LAN107側へと転送する。本実施形態において、センサー103−106は、何らかの測定や検知を行う装置であり、IoT−GW101宛てのセンサーデータを含む6LoWPANパケットを送信する。そして、該転送条件は、センサー103−106から自装置宛てに送信されたセンサーデータを含む6LoWPANパケットであって、センサーデータを含むことを条件としている。
また、センサーデータの種類により、転送パケットの宛先アドレスを、センサーデータ処理サーバ(A)109またはセンサーデータ処理サーバ(B)111のいずれかにセットして転送する。
この転送処理はIoT−GW101内部の転送処理部208で実行される。本実施形態では、転送処理部208にはOpenFlowスイッチ(登録商標)の機能が搭載される。OpenFlowスイッチは、フローテーブルと呼ばれる転送設定リストを持つ。転送設定リストには、マッチングルールと呼ばれる転送パケットを特定する条件と、アクションと呼ばれる転送処理内容が記述される。
本実施形態では、転送処理部208のフローテーブルに、センサー103−106が送信するセンサーデータのパケット転送設定を含む。各パケット転送設定は、センサーデータのパケットを特定するためのマッチングルールと、転送時に宛先IPv6アドレスをセットすることを含むアクションが記述される。また、IoT−GW101のフローテーブルへの設定は、機器管理サーバ102が、OpenFlowプロトコル通信で実行する。機器管理サーバ102は、センサー103−106を管理するとともに、それらが送信するセンサーデータの収集や解析のため、パケットの転送先についても管理する。
[センサー103のハードウェア構成]
次に、センサー103のハードウェア構成の一例について、図3を参照して説明する。図3は、本実施形態のセンサー103のハードウェア構成を示すブロック図である。図3の103が図1のセンサー103を表す。センサー103はマイクロプロセッサ、RAM、ROM、シリアル通信バスインタフェースなどのハードウェアを1つにまとめた集積回路であるMCU(Micro Control Unit)301と、PAN制御部302と、センサー部303で構成される。PAN制御部302とセンサー部303は、UART、I2C、SPIなどのいずれかのシリアル通信バスでMCU301と接続する。
MCU301は、各々の機能部の制御、無線PANプロトコル処理、センサーデータの取得や送信などの処理を実行する。これらの処理は、MCU301内部に記録されるソフトウェアプログラムとして実装される。
PAN制御部302は、WSN108に接続する無線PAN規格の通信インターフェースである。図2のPAN制御部205と同等の機能を有する。また、センサー部303は、ジャイロ、加速度、方位、距離、振動、温度、照度、UV、気圧、ガス、放射能、におい、ドアや窓の開閉、侵入検知など、何らかの値の測定やイベント検知を行うことができるセンサー素子とA/D変換器を含む集積回路である。MCU301が実行するプログラムは、センサー部303からデータを取得してセンサーデータを作成する。そしてセンサーデータをPAN制御部302に出力することでWSN108に送信する。
[センサー103のIPv6アドレス自動設定処理]
次にセンサー103がWSN108に接続したときのIPv6アドレス自動設定処理について、図4を参照しながら説明する。図1に示すようにセンサー103は、近隣のセンサー104に接続する。そして、センサー104との無線PANリンクが確立すると、IoT−GW101までの無線PANメッシュネットワークにおける通信経路が確立する。センサー103は、WSN108に接続したのち、6LoWPANで通信するためのIPv6アドレスを自動設定する。
図4はセンサー103の6LoWPANネットワークにおけるIPv6アドレス自動設定の通信シーケンスを示している。尚、図4の通信シーケンスは、RFC6775に準拠したシーケンスである。センサー103は、まず401で、ルータ要請(RS:Router Solicitation)メッセージを近隣の6LoWPANルータノードに向けて送信すると、センサー104がこのメッセージを受信する。このルータ要請メッセージは、IPv6アドレスを生成するためのリンク層のアドレス情報(プレフィックスの情報)や、6LoWPANパケットを送信するルータの宛先情報を得るために送信される。そして、センサー104は、402で、ルータ広告(RA:Router Advertisement)メッセージをセンサー103に送信する。このルータ広告メッセージは、プレフィックスの情報や6LoWPANパケットの宛先情報をセンサー103に通知するために送信される。このRAメッセージには、PIO(Prefix Information Option)、6CO(6LoWPAN Context Option)、ABRO(Authoritative Border Router Option)等のオプションが付与される。センサー103は、RAメッセージのPIOや6COの情報から、WSN108の6LoWPANネットワークにおけるIPv6アドレスのプリフィクスを取得する。そしてこのプリフィクスを使用して自身に設定すべきIPv6アドレスを生成する。また、6LoWPANではRAメッセージのABROで、6LoWPANボーダルータのIPv6アドレスが通知される。図6にABROのフォーマットを示す。本実施形態では、図6の601の“6LBR Address”フィールドにIoT−GW101のIPv6アドレスがセットされることになる。このため、センサー103は、センサー104から受信するRAメッセージのABROの情報からIoT−GW101のIPv6アドレスを取得する。そして、取得したIPv6アドレスをセンサー103がセンサーデータを送信する6LoWPANパケットの宛先として設定する。
次に、図4の403から406の通信シーケンスは、センサー103が生成したIPv6アドレスが他ノードと重複していないかを確認する処理である。センサー103は、403で、近隣要請(NS:Neighbor Solicitation)メッセージをセンサー104に送信する。この近隣要請メッセージは、リンク層のアドレスの問い合わせとデータの到達可能性の確認と重複アドレスの検出を要請するメッセージである。6LoWPANでは、このNSメッセージのオプションにはARO(Adress Registration Option)が付与される。AROは、6LoWPANボーダルータが6LoWPANノードを識別するための64ビットの識別子を通知するオプションである。本実施形態では、WSN108に接続する装置がセンサー装置である場合には、ARO付きNSメッセージで、センサーデータの種別を表すセンサー種別コードを通知するようにしている。本実施形態におけるAROのフォーマットを図7に示す。センサー103は、図7の701の“Sensor Type”フィールドにセンサー種別コードをセットする。そして、702の“EUI−64”フィールドにセンサー103の6LoWPANノード識別子をセットする。ここで、RFC6775では、701のフィールドは“Reserved”となっており0(ゼロ)を設定するように記述されている。ゆえに、センサー装置ではないノードが送信するAROでは701のフィールドの値に0(ゼロ)が設定される。本実施形態では、非ゼロの場合にセンサー装置であることと、そのセンサーデータの種別を表すものとする。
そして、センサー104は、403のNSメッセージを受信すると、IoT−GW101に対して404の重複アドレス要求(DAR:Duplicate Address Request)メッセージを送信する。この要求は6LoWPANネットワーク内に、同じIPv6アドレスを持つノードが存在していないかの問い合わせである。本発明では、6LoWPANのWSNにおいて、このDARメッセージの送信を利用して、IPv6アドレスの重複確認を実行している6LoWPANノードが、センサー装置であるか否かと、センサー装置である場合にはセンサーデータの種別を表すセンサー種別コードを6LoWPANボーダルータに通知するようにしている。センサー104が作成するDARメッセージのフォーマットを図8に示す。図8の801の“Sensor Type”フィールドにセンサー103のセンサー種別コードがセットされ、802の“EUI−64”フィールドにセンサー103の6LoWPANノード識別子をセットする。これらのフィールドは、センサー103から受信したAROから各フィールド値をコピーして設定する。なお、803の“Type”フィールドには数値157、804の“Status”フィールドはゼロがセットされる。805の“Regitration Lifetime”や806の“Registered Address”フィールドについても、受信したARO付きのNSパケットからそれぞれ値を取得してセットする。
次にIoT−GW101は、404のDARメッセージを受信する。IoT−GW101は、DARメッセージを受信するとIPv6アドレス重複確認処理(図4の407の部分)を実施する。この処理の結果は、405でDAC(Duplicate Address Confirmation)メッセージ(重複アドレス確認メッセージ)を送信して通知する。DACメッセージは、IPv6アドレスの重複確認処理の結果を重複アドレス要求の送信元に返すメッセージである。
本実施形態では、407のIPv6アドレス重複確認処理において、IoT−GW101は機器管理サーバ102とLAN107を介して通信を行う。図4の408に示す通信で、IoT−GW101が、センサー103の6LoWPANノード識別子、IPv6アドレス、センサー種別コードなどの情報を機器管理サーバ102に通知し、センサー103を情報処理システム100に登録する。そして、409に示す通信において、機器管理サーバ102は、IoT−GW101に対してセンサー103のセンサーデータの転送設定を実行する。これにより、機器管理サーバ102がセンサー103およびそのセンサーデータを収集や解析の対象として管理し、さらにIoT−GW101においては、センサーデータの6LoWPANパケットを転送可能な状態となる。図4の407のIPv6アドレス重複確認処理の説明は後述するが、IoT−GW101に対するセンサーデータの転送設定までが正常に完了した場合に、処理結果が成功となり、DACパケットでその結果を返すことになる。
DACメッセージのフォーマットは、図8に示したDARメッセージと同形式である。DACでは、803の“Type”フィールドには値158がセットされる。また、804の”Status“フィールドにおいてIPv6アドレス重複確認の結果を通知する。例えば0(ゼロ)は、結果が成功であることを意味する。
次に、405のDACメッセージをセンサー104が受信する。センサー104はDACメッセージを受信すると、センサー103へ406の近隣広告(Neighbor Advertisement)メッセージを送信する。近隣広告メッセージは、近隣要請メッセージ(403)に対する応答であり、リンク層アドレスの情報を更新する。このNAメッセージのオプションにもAROが付与される。このAROのフォーマットは、前述した図7のフォーマットと同じである。但し、センサー104がNAメッセージで送信するAROの“Status”フィールド(図7の703)には、DACメッセージの“Status”フィールド(図8の804)に含まれていた値がセットされる。すなわち、407のIPv6アドレス重複確認の処理結果がセットされる。
センサー103は、406のNAメッセージを受信することにより、IPv6アドレス重複確認の結果を取得する。ここで、406のNAメッセージのAROの“Status”フィールドの値がゼロの場合、IPv6アドレス重複確認が成功したとみなすことができる。同時に、センサー103がセンサーデータの6LoWPANパケットの宛先として設定したIoT−GW101において、自身が送信するセンサーデータパケットにおける転送設定が成功したことも確認することになる。
以上のようなIPv6アドレス自動設定処理の通信シーケンスにより、センサー103のIPv6アドレスの重複確認と共に、IoT−GW101においてセンサー103が送信するセンサーデータの転送設定までが実行されることとなる。そして、その転送設定まで成功したならば、センサー103がセンサーデータを送信することが可能な状態となる。
このように本発明では、センサー103のIPv6アドレス自動設定処理のなかで、IPv6アドレスの重複確認と共に、IoT−GW101におけるセンサー103のセンサーデータの転送設定までが一度に実行される。したがって、センサー103が次にセンサーデータを送信するときは、IoT−GW101は直ちにセンサー103のセンサーデータをセンサーデータ処理サーバに転送することができる状態になっている。すなわち、従来の技術のように、次にセンサーがセンサーデータを送信するときに、IoT−GWにおいてセンサーデータをバッファに格納して機器管理サーバと交信する必要がない。また、センサー側においても、最初にセンサーデータを送信するときに、すでに機器管理サーバへのセンサー情報の登録やボーダルータにおける転送設定が完了している。これにより、IoT−GWやセンサーに対する要求が少なく、さらに、何らかの原因によってセンサーデータの転送設定が失敗した場合の処理を考慮しなくても良い。
なお、もし406のNAメッセージのAROの“Status”フィールドの値が非ゼロの場合、IPv6アドレスの重複確認が失敗したことを意味する。センサー103は、このようなNAメッセージを受信したら、生成したIPv6アドレスを自身に設定せず破棄し、センサーデータを送信しない状態となる。
[IoT−GW101のIPv6アドレス重複確認処理]
次に図4の407のIoT−GW101のIPv6アドレス重複確認処理について図9のフローチャートを参照しながら説明する。重複確認処理とは、同一ネットワーク内で同一のIPアドレスが重複して使用されているか否かを確認する処理である。この処理はCPU202によって実行される。また、IoT−GW101が、WSN108からDARメッセージやARO付きNSメッセージを受信したときに実行する処理である。図9のS901から開始し、S902においてDADテーブル(Duplicate Address Detection Table)を検索する。DADテーブルとは、6LoWPANネットワークのIPv6アドレスとノードの管理テーブルである。DADテーブルの登録エントリには、少なくとも、IPv6アドレス、該IPv6アドレスを持つノードの6LoWPANノード識別子、および該IPv6アドレス有効期間の情報が含まれる。本実施形態においては、さらに、各エントリがセンサー種別コードの情報を含むものとする。
S902の検索処理では、DARメッセージで重複確認を要求されたIPv6アドレスの登録があるかを検索する。もし登録エントリが存在していればS903に進み、そうでなければS904に進む。S904では、該IPv6アドレスについてDADテーブルに新規エントリを登録する。S904からはS906へ進む。一方、S903では、S902の検索で見つかったIPv6アドレスのエントリは、同じノードの登録であるかを調べる。同じノードであるかどうかは、エントリが持つ6LoWPAN識別子と、DARメッセージに含まれる“EUI−64”フィールド(図8の802)の値が同じであるかをチェックする。もし同じノードの登録であったならば、S905に進み、そうでなければS911へと進む。S903からS911に進む場合は、DARメッセージで要求されたIPv6アドレスが、他ノードで登録されていた場合である。S911では、DACメッセージを送信する。このときDACメッセージの“Status”フィールド(図8の804)にIPv6アドレス重複確認の失敗を示す値をセットして送信する。そしてS913へ進んでこの処理フローを終了する。
S903からS905に進んだ場合、DARメッセージで重複確認を要求するIPv6アドレスは既に同じノードでの登録があるので、S905では該IPv6アドレスの登録の更新を行う。具体的には、該IPv6アドレスの登録エントリ中のIPv6アドレス有効期間を、受信DARメッセージの“Regitration Lifetime”フィールド(図8の805)値を元にセットし直す。そしてS906へと進む。
次に、S906では、受信DARメッセージの“Sensor Type”フィールド(図8の801)の値により、センサー種別コードの値が0(ゼロ)であるかどうかを調べる。ここでセンサー種別コードが非ゼロである場合は、いずれかのセンサーデータの種類を示すコードを意味する。このため、該DARメッセージは、センサーによるIPv6アドレス自動設定処理におけるIPv6アドレスの登録もしくは更新を要求するものあったことを意味する。逆に、センサー種別コードがゼロである場合は、センサーではないことを意味する。S906でセンサー種別コードが非ゼロであればS907へ進み、ゼロならばS912へと進む。
次のS907では、IoT−GW101と機器管理サーバ102間で通信を行い、センサー情報の新規登録もしくは登録更新の処理を行う。なお、S902、S904の各ステップを経てS906に至った場合は、DADテーブルに同一のIPv6アドレスがなく、新たにDADテーブルにIPv6アドレスを登録しようとする場合であるので、機器の新規登録である。一方、S902、S903、S905の各ステップを経てS906に至った場合は、DADテーブルに同一のIPv6アドレスの登録があり、それがアドレス重複確認を要求しているノードと同一のノードであるので、IPアドレスの有効期間の更新登録である。いずれの場合でも、IoT−GW101は、少なくとも6LoWPANノード識別子、IPv6アドレス、センサー種別コードの3つの情報を機器管理サーバ102に伝達する。これにより、機器管理サーバ102は、センサー装置およびセンサーデータの管理への登録もしくは更新処理を実行する。それから、次のS908で、IoT−GW101は、該センサー装置によるセンサーデータのパケットの転送設定を機器管理サーバ102から受信して転送設定を実行する。この転送設定の通信では、OpenFlowプロトコルが使用される。尚、転送設定は、転送しないでパケットを破棄するという内容の設定であってもよい。
次のS909では、S908での転送設定処理が正常に終了したかを判定する。もし正常に終了しなかったならば、S910に進み、DADテーブルから登録されているIPv6アドレスの登録を削除する。なお、転送設定が正常に終了しない場合とは、例えば転送できる機器の数の上限値を超えた場合がある。IoT−GW101は、好ましくはIPv6アドレスとノードを管理するDADテーブルと、転送設定を管理する転送テーブルを有している。例えば、センサー100台を上限値とする転送テーブルを有するIoT−GW101に対して、101台目のセンサーの転送設定を行おうとした場合は転送設定が正常に終了しない(なお、台数は単なる例である)。このようなとき、S908において転送設定処理が正常に終了しなかったと判定され、S910に進み、先に登録した当該IPv6アドレスとノードをDADテーブルから削除する。
S910において、DADテーブルから登録されているIPv6アドレスの登録を削除した後は、S911へと進む。前述のとおり、S911でIPv6アドレス重複確認の失敗を示す値をセットしてDACメッセージを送信し、S913へ進んでこの処理フローを終了する。IPv6アドレス重複確認の失敗を示すDACメッセージとは、同一ネットワーク内に同一のIPアドレスが使用されているか、転送設定が正常に終了しなかったことを通知するメッセージである。
なお、DACやAROによってIPv6アドレス重複確認の失敗を通知したセンサーが、繰り返しIPv6アドレス重複確認要請を送信するのを防止するようにするのが好ましい。ここで、IPv6アドレス重複確認の失敗を通知する場合としては、IPv6アドレスの重複を検出した時(ステータスコード1)と、ルータの近隣キャッシュがフルになっている時(ステータスコード2)とがある。ステータスコード1を送信したときは、受信したセンサーはIPv6アドレスの設定を止める。このため、S911においてIPv6アドレスの重複確認の失敗を送信するときは、DACやAROにステータスコード1を付して送信するのが好ましい。これにより、IPv6アドレスの重複確認の失敗を通知したセンサーが繰り返しIPv6アドレスの重複確認の要請を送信するのを防止することができるのである。
一方、S909のIoT−GW101の転送設定処理が正常に終了したと判定した場合は、S912へと進む。S912では、IPv6アドレス重複確認の成功を示すDACメッセージを送信する。IPv6アドレス重複確認の成功を示すDACメッセージとは、IPアドレスの新規登録あるいはIPアドレスの有効期間の更新登録を行ったことを通知するメッセージである。このときDACメッセージフォーマットの“Status”フィールド(図8の804)には0(ゼロ)がセットされる。尚、センサー装置ではない6LoWPANノードのIPv6アドレス自動設定処理の場合は、S906からS912に進むことになる。この場合、DADテーブルへのIPアドレスの登録または更新のみ実行されており、S912でIPv6アドレスの重複確認処理の成功を示すDACメッセージを送信して終了することになる。
[センサー103のIPv6アドレスおよびセンサーデータ転送設定の更新]
前述したように、センサー103は、IPv6アドレスの自動設定処理によってIPv6アドレスを生成し設定する。一般的に、自動設定するIPv6アドレスは、永続的に有効でなく、有効期間を設定する。本実施形態においても、センサー103は、図4の402で受信するRAメッセージで通知されるプリフィクスの有効期間よりも短い有効期間を決定し、生成するIPv6アドレスの有効期間とする。センサー103は設定したIPv6アドレスの有効期間が過ぎるより前に、IPv6アドレスの更新処理を実行する。この更新処理のシーケンスは、前述のIPv6アドレス自動設定処理と同じである。もし、IPv6アドレス更新時の自動設定処理で受信するRAメッセージ(図4の402)で、通知されたIPv6アドレスのプリフィクスが、設定中のIPv6アドレスのプリフィクスと同じだった場合、そのIPv6アドレスの有効期間のみを更新する。センサー103は、IPv6アドレスの有効期間を更新する場合においても、図4の403のARO付きNSメッセージを送信し、IPv6アドレスの重複確認を実行する。
もし、センサー103におけるIPv6アドレス更新時の自動設定処理において、受信したRAメッセージで新しいIPv6アドレスのプリフィクスが通知されたならば、新しいIPv6アドレスを生成する。この場合、既存のIPv6アドレスの設定をすぐに削除するか、削除しないで有効期間が経過したときに削除するようにする。
また、IPv6アドレスの有効期間を更新時に受信するRAメッセージのABROで通知されるIoT−GWのIPv6アドレスで、センサーデータを送信する宛先を置き換える。このようにすることにより、センサー103は、センサーデータを送信する6LoWPANパケットの宛先IPv6アドレスを更新することも可能となる。
[センサー103のIPv6アドレス自動設定処理(IoT−GW101に1ホップで接続する場合)]
図1のWSN108はメッシュネットワークであることを示しており、センサー103がWSN108に接続した場合のIPv6アドレス自動設定の通信シーケンスについて図4を用いて説明した。図4ではセンサー103とIoT−GW101がセンサー104を介して接続する場合の通信シーケンスを示している。ここで、センサー103とIoT−GW101が、1ホップの距離で繋がる場合について、IPv6アドレス自動設定の通信シーケンスについて図5を参照しながら説明する。
図5の501において、センサー103が最初に送信するRSメッセージをIoT−GW101が受信する。そして、502において、IoT−GW101からセンサー103へABRO付きのRAメッセージを送信する。センサー103は、このRAメッセージを受信し、通知されたプリフィクスを使用してIPv6アドレスを生成する。また、ABROの“6LBR Address”フィールド(図6の601)でIoT−GW101のIPv6アドレスが通知されるため、センサーデータの宛先アドレスとして設定する。
次に、センサー103は、生成したIPv6アドレスの重複確認のため、503のARO付きNSメッセージを送信する。IoT−GW101は、このNSメッセージを受信すると、IPv6アドレス重複確認処理(図5の505の部分)を実施する。そして、504のARO付きNAメッセージをセンサー103宛てに送信し、該処理の結果を通知する。
図5の505のIPv6アドレス重複確認処理は、先に説明した図4の407の処理と同様である。506では、機器管理サーバ102に対してセンサー情報の登録を行い、507では、機器管理サーバ102がIoT−GW101に対してセンサーデータのパケットの転送設定を実行する。但し、図5の通信シーケンスの例では、IoT−GW101は、DARパケットではなく、ARO付きのNSメッセージを受信してIPv6アドレス重複確認処理を実行する。そして、DACメッセージではなく、ARO付のNAメッセージを送信することになる。つまり、図5におけるIPv6アドレス重複確認処理では、ARO付きNSメッセージのIPv6ヘッダから、確認対象のIPv6アドレスを取得し、AROに含まれる“Sensor Type”フィールドと“EUI−64”フィールドから、センサー種別コードと6LoWPANノード識別子を取得することとなる。504で送信するNAパケットのAROオプションの“Status”フィールドで、IoT−GW101に対するセンサーデータの転送設定までが正常に完了したかの結果を返す。このフィールドの値が0(ゼロ)であれば成功であり、非ゼロであれば失敗を示す。
[IoT−GW101が管理するIPv6アドレスの有効期間のタイムアウト処理]
次に、IoT−GW101のDADテーブルに登録されたIPv6アドレスの有効期間が経過したときの処理について図10のフローチャートを参照しながら説明する。処理はS1001から開始し、S1002において有効期間が過ぎたIPv6アドレスのDAD−テーブルの登録エントリにあるセンサー種別コードの値を調べる。もし値がゼロであればS1005へ進み、非ゼロであればS1003に進む。
S1003に進んだ場合は、該当のエントリは、センサー装置のIPv6アドレスの登録である。このため、S1003では、機器管理サーバ102と通信を行い、登録中のセンサー情報の削除を要求する。削除の要求では、DADテーブルの該当エントリに記録された、IPv6アドレス、6LoWPANノード識別子、センサー種別コードの値を使用する。次にS1004に進む。S1004では、機器管理サーバ102からIoT−GW101に対してOpenFlow通信によって転送設定を削除する。そしてS1005へ進む。
S1005では、有効期間が経過したIPv6アドレスの登録エントリを、DADテーブルから削除する。そしてS1006で本処理フローは終了する。このように、IPv6アドレスの設定処理時に設定した転送設定を、当該IPv6アドレスの削除タイミングに合わせて削除するので、必要のない転送設定を適切なタイミングで削除することができる。
本実施形態によれば、ゲートウェイ装置におけるデータの転送設定を、6LoWPAN通信を行うネットワークの機器のIPアドレス自動設定処理の中で実施することができる。このため、IPアドレスの自動設定後に機器から初めてデータが送信されたときに、送信データの宛先等を設定する必要がなく、設定作業が簡略化される。また、IPv6アドレスの自動設定や更新の通信手順の中で転送設定が実施されるため、センサーやIoT−GWにおける通信処理を削減でき、WSNの省電力化を図ることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 IoTゲートウェイ(IoT−GW)
102 機器管理サーバ
103−106 センサー
107 LAN
108 無線センサーネットワーク(WSN)
109 センサーデータ処理サーバ(A)
110 WAN
111 センサーデータ処理サーバ(B)
201 システムバス
202 CPU
203 RAM
204 ROM
205 PAN制御部
206 LAN制御部
207 転送入力制御部
208 転送処理部

Claims (12)

  1. 通信装置であって、
    6LoWPANに準拠した通信を行う第1のネットワークに接続する機器から、前記機器が利用しようとする第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するかを確認するための確認メッセージを受信する受信手段と、
    前記受信手段により前記確認メッセージを受信した場合に、前記第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するか否かを判定する判定手段と、
    前記判定手段による判定の結果を、前記確認メッセージの応答として前記機器に通知する通知手段と、
    前記受信手段が前記確認メッセージを受信し、前記通知手段が当該確認メッセージの応答として前記判定手段による判定の結果を通知するまでの間に、前記機器が送信するデータの転送設定を行う第1の設定手段と、
    を有することを特徴とする通信装置。
  2. 前記第1の設定手段は、IP通信を行う第2のネットワーク内に存在する装置のうちいずれの装置に前記機器が送信するデータを転送するかを設定することを特徴とする請求項1に記載の通信装置。
  3. 前記受信手段により前記確認メッセージを受信した場合に、前記第1のネットワークに接続する機器を管理する管理サーバに、前記機器の情報を登録する登録手段を更に有することを特徴とする請求項1または2に記載の通信装置。
  4. 前記機器の情報は、前記機器の6LoWPANノード識別子、IPアドレス、機器の種類を識別するための種別コードを含むことを特徴とする請求項3に記載の通信装置。
  5. 前記判定手段により前記第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在しないと判定された場合、前記機器が前記第1のアドレスを利用する有効期間を設定する第2の設定手段を更に有することを特徴とする請求項1から4のいずれか一項に記載の通信装置。
  6. 前記第1のアドレスは、IPアドレスであることを特徴とする請求項1から5のいずれか一項に記載の通信装置。
  7. 前記確認メッセージは、Neighbor Solicitationメッセージであることを特徴とする請求項1から6のいずれか一項に記載の通信装置。
  8. 前記確認メッセージは、DAR(Duplicate Address Request)メッセージであることを特徴とする請求項1から6のいずれか一項に記載の通信装置。
  9. 前記確認メッセージに、ARO(Adress Registration Option)が付加されている場合、該AROに指定された機器の種別コードの値に基づいて、前記第1の設定手段は、前記機器が送信するデータの転送設定を行うことを特徴とする請求項1から8のいずれか一項に記載の通信装置。
  10. 前記種別コードの値が、前記機器がセンサー装置であることを示す値とは異なる場合、前記第1の設定手段は、前記機器が送信するデータの転送設定を行わないことを特徴とする請求項9に記載の通信装置。
  11. 6LoWPANに準拠した通信を行う第1のネットワークに接続する機器から、前記機器が利用しようとする第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するかを確認するための確認メッセージを受信する工程と、
    前記確認メッセージを受信した場合に、前記第1のアドレスと同一のアドレスを有する他の機器が前記第1のネットワーク内に存在するか否かを判定する工程と、
    前記判定の結果を、前記確認メッセージの応答として前記機器に通知する工程と、
    前記確認メッセージを受信し、前記確認メッセージの応答として前記判定の結果を通知するまでの間に、前記機器が送信するデータの転送設定を行う工程と、
    有することを特徴とするデータ転送方法。
  12. コンピュータを請求項1から10のいずれか1項に記載の通信装置として動作させることを特徴とするプログラム。
JP2017142624A 2017-07-24 2017-07-24 通信装置及びデータ転送方法 Pending JP2019024161A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017142624A JP2019024161A (ja) 2017-07-24 2017-07-24 通信装置及びデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017142624A JP2019024161A (ja) 2017-07-24 2017-07-24 通信装置及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2019024161A true JP2019024161A (ja) 2019-02-14

Family

ID=65368706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017142624A Pending JP2019024161A (ja) 2017-07-24 2017-07-24 通信装置及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2019024161A (ja)

Similar Documents

Publication Publication Date Title
JP6518747B2 (ja) スリーピノードをサポートするための近隣発見
EP2951953A1 (en) Method of managing zigbee network in the internet of things
US10798779B2 (en) Enhanced CoAP group communications with selective responses
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
JP6195014B2 (ja) 通信システム、通信方法、中継装置、および、通信プログラム
EP3005740B1 (en) Identifying resources from a device in a communications network
JP2021536711A (ja) 通信可能に結合される通信デバイスのネットワークでのメッセージの選択的転送をサポートする方法およびデバイス
CN1998193B (zh) 移动终端管理设备和归属代理切换方法
KR101227001B1 (ko) 노드 식별자 관리 방법 및 시스템
JP5034534B2 (ja) 通信システム
KR100854681B1 (ko) 인터넷 프로토콜 유비쿼터스 센서 네트워크와 단순네트워크 관리 프로토콜 망을 상호 연동하기 위한게이트웨이 및 인터넷 프로토콜 유비쿼터스 센서네트워크와 단순 네트워크 관리 프로토콜 망과의 상호 연동방법.
JP2019024161A (ja) 通信装置及びデータ転送方法
JP6904846B2 (ja) 通信装置、通信装置の制御方法、および、プログラム
JP6002642B2 (ja) 通信ノード及びネットワークシステム及び機器制御方法
KR101845671B1 (ko) 제한적 네트워크 내 센서 노드의 리소스 발견 방법 및 시스템
JP5971348B2 (ja) 通信システム、制御装置及び制御方法
JP6435002B2 (ja) 通信装置及びその制御方法、プログラム
JP2010177885A (ja) 無線センサノード移動支援方法、無線センサノード移動支援システム、グループ管理ノード装置、アクセスゲートウエイ装置、及び位置管理サーバ装置
JP2019080209A (ja) 管理装置及びデータ転送装置の管理方法
JP2019186730A (ja) 通信装置、通信装置の制御方法、およびプログラム
CN113302883A (zh) 交换用于数据传输的报头信息
WO2010131153A1 (en) A method for communicating in a network
JP2014171024A (ja) 通信情報検出装置、通信情報検出方法、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20180228