JP2018019266A - 中継装置及び通信システム - Google Patents

中継装置及び通信システム Download PDF

Info

Publication number
JP2018019266A
JP2018019266A JP2016148548A JP2016148548A JP2018019266A JP 2018019266 A JP2018019266 A JP 2018019266A JP 2016148548 A JP2016148548 A JP 2016148548A JP 2016148548 A JP2016148548 A JP 2016148548A JP 2018019266 A JP2018019266 A JP 2018019266A
Authority
JP
Japan
Prior art keywords
data
congestion
sensor data
packet
communication
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
JP2016148548A
Other languages
English (en)
Inventor
加藤 圭
Kei Kato
圭 加藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2016148548A priority Critical patent/JP2018019266A/ja
Publication of JP2018019266A publication Critical patent/JP2018019266A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 データ出力装置から出力されたデータをデータ処理装置に中継送信する際に、より確実に通信の輻輳を低減する。【解決手段】 本発明は、データ出力装置と、データ処理装置と、データ出力装置とデータ処理装置との間の通信を中継する中継装置とを備える通信システムに関する。そして、中継装置は、データ出力装置から出力されたデータを受信する手段と、受信したデータを、外部装置を宛先として送信する手段と、送信したデータを受信した外部装置からの確認応答信号を受信する手段と、確認応答信号の受信状況に基づいて、当該中継装置から外部装置までの通信経路上の輻輳の有無を検出する手段と、通信経路上で輻輳有ると検出された場合、通信経路上の輻輳が軽減するように、データ送信手段の動作を制御する手段とを有することを特徴とする。【選択図】 図1

Description

本発明は、通信装置及び通信システムに関し、例えば、環境センサ等のデータ(例えば、センサデータ)出力を行うデバイス(以下、「データ出力装置」とも呼ぶ)と、デバイスから出力されたデータを収集して処理するサーバ(以下、「データ処理装置」とも呼ぶ)と、デバイスとサーバとの間の通信を中継するゲートウェイ(以下、「中継装置」とも呼ぶ)とを備える通信システムに適用し得る。
近年、ネットワーク上ではIoT(Internet of Things、IoT)/M2M(Machine to Machine)によるトラフィック量が増加している。特に、多数のデバイスからのデータを収集して処理するサーバ周辺では、通信の輻輳が発生する場合がある。
従来、大量のデータを受信するサーバ周辺における輻輳制御方式として、特許文献1の記載技術がある。特許文献1では、データ受信を行うサーバ周辺のエッジルータ等の中継ノードで輻輳制御を行う方式について記載されている。特許文献1に記載されたシステムでは、サーバ側でネットワークを監視して輻輳が発生しているか否かを判定し、輻輳が発生している場合にサーバが所定の中継ノードに対して輻輳制御の通知を行い、当該中継ノードがサーバからの通知に基づいて輻輳制御を行う。また、当該中継ノードでは、上述の中継ノードパケットシェーピング(中継するトラヒックを平滑化して送出する方式)やFEC(Forward Error Correction;前方誤り訂正)制御(輻輳してパケットロスが生じた場合に誤り訂正によりデータ回復を行う方式)等の方式で輻輳制御を行う。
特開2006−304028号公報
しかしながら、特許文献1の輻輳制御方式では、パケットシェーピングやFEC制御等の対症療法的な解決方法しか提示されていないため、輻輳の状態によっては、サーバ側でリアルタイムな情報収集が途切れる恐れがある。例えば、センサ(例えば、環境センサ)が出力するセンサデータをサーバで収集するシステムであった場合、データ収集が途切れると、収集したセンサデータに基づくリアルタイムな分析結果が異常となってしまう恐れがある。したがって、サーバでデータ収集するトラヒックは可能な限り途切れないことが望ましい。
また、特許文献1の輻輳制御方式では、サーバ側でネットワークの状態を監視することが前提となっているため、サーバ側でネットワークを監視できない状態になったり、そもそもサーバ側でネットワークを監視できない構成であった場合(例えば、通信キャリアの中継ノードにユーザ側からアクセスできない構成の場合)には、輻輳制御が不可能になるという問題があった。
そのため、データ出力装置(例えば、センサ等のデバイス)から出力されたデータをデータ処理装置に中継送信する際に、より確実に通信の輻輳を低減することが望まれている。
第1の本発明は、中継装置において、(1)データ出力装置から出力されたデータを受信するデータ受信手段と、(2)前記データ受信手段が受信したデータを、外部装置を宛先として送信するデータ送信手段と、(3)前記データ送信手段が送信したデータを受信した前記外部装置からの確認応答信号を受信する確認応答信号受信手段と、(4)前記確認応答信号受信手段による確認応答信号の受信状況に基づいて、当該中継装置から前記外部装置までの通信経路上の輻輳の有無を検出する検出手段と、(5)前記検出手段で前記通信経路上で輻輳有ると検出された場合、前記通信経路上の輻輳が軽減するように、前記データ送信手段の動作を制御する輻輳制御手段とを有することを特徴とする。
第2の本発明は、データを出力するデータ出力装置と、前記データ出力装置が出力したデータを収集して処理するデータ処理装置と、前記データ出力装置から出力されたデータを前記データ処理装置に送信する中継装置とを備える通信システムにおいて、前記中継装置として第1の本発明の中継装置を適用したことを特徴とする。
第3の本発明は、データ出力装置が出力したデータを収集して処理するデータ処理装置と、前記データ出力装置から出力されたデータを前記データ処理装置に送信する中継装置とを備える通信システムにおいて、前記中継装置として第1の本発明の中継装置を適用したことを特徴とする。
本発明によれば、データ出力装置から出力されたデータをデータ処理装置に中継送信する際に、より確実に通信の輻輳を低減することができる。
第1の実施形態に係る通信システムの動作について示したシーケンス図である。 第1の実施形態に係る通信システムの全体構成について示したブロック図である。 第1の実施形態に係るゲートウェイ(GW)のハードウェア構成について示したブロック図である。 第1の実施形態に係るサーバのハードウェア構成について示したブロック図である。 第1の実施形態に係るGWとサーバの通信におけるソフトウェア的なアーキテクチャ(プラットフォーム)の構成について示した説明図である。 第1の実施形態に係るGWを構成するアプレット(GW−APL)の機能的構成について示したブロック図である。 第1の実施形態に係るサーバを構成するアプレット(SV−APL)の機能的構成について示したブロック図である。 第1の実施形態に係るゲートウェイ(GW)が設定データを取得する動作について示したシーケンス図である。 第2の実施形態に係る通信システムの動作について示したシーケンス図である。
(A)第1の実施形態
以下、本発明による中継装置及び通信システムの第1の実施形態を、図面を参照しながら詳述する。
(A−1)第1の実施形態の構成
図2は、この実施形態の通信システム1の全体構成を示すブロック図である。
第1の実施形態の通信システム1は、M個のGW20(20−1〜20−M)と、サーバ30とが配置されている。そして、それぞれのGW20の配下には、データ出力装置としてのGW20が1又は複数接続されている。図2では、各GW20には、それぞれN個のセンサ10(10−1〜10−N)が接続されているものとして図示しているが、各GW20に接続されるセンサ10の数は限定されないものである。また、図2において通信システム1には、センサ10も含まれる構成として図示しているが、本発明の通信システムにはセンサ10を含まない構成(GW20とサーバ30のみのシステムを販売)として実現する場合(例えば、GW20とサーバ30のみで通信システムを構築した後に、ユーザがGW20にセンサ10を接続する場合)や、場合等も含まれるものとする。
各GW20及びサーバ30は、ネットワークNに接続しており相互に通信することが可能な構成となっているものとする。この実施形態では、ネットワークNは、TCP/IP等により通信可能なIPネットワークであるものとして説明する。
各センサ10は、例えば、温度、湿度、ひずみ、加速度等を検知する種々のセンサ(いわゆるセンサネットワークを構成するセンサ)を適用することができる。センサ10は、所定のタイミングで検知結果のデータ(以下、「センサデータ」と呼ぶ)を上位のGW20に出力(供給)する。各センサ10がセンサデータを出力するタイミングは限定されないものであるが、この実施形態では、例えば、一定間隔(例えば、5秒間隔)で検知及びセンサデータの出力処理を行うものとする。センサ10とGW20との間の接続方式については限定されないものである。この実施形態では、センサ10とGW20との間は、例えば、RS232、RS485、RS422、USB等のシリーズのシリアルインタフェースを適用することができる。また、センサ10とGW20との間は、シリアルインタフェースに限らず、パラレルインタフェース(例えば、IEEE 1284等のインタフェース)や無線インタフェース(例えば、920MHz帯無線通信やBlueTooth(登録商標)等)を適用することができる。
サーバ30は、ネットワークNを介してGW20と通信し、各センサ10からのセンサデータを受信して処理する装置である。この実施形態では、サーバ30がセンサデータを受信(収集)し上位側(例えば、センサデータに基づく監視処理や統計的な処理等を行うアプリケーション)に引き渡すまでの構成を中心に説明する。
図2に示すように、この実施形態の例では、サーバ30は、エッジルータRを経由してネットワークNに接続する構成となっているものとする。すなわち、この実施形態では、各GW20から送出されたセンサデータのパケットは、エッジルータRを経由してサーバ30に供給されることになるものとする。したがって、通信システム1では、エッジルータRとサーバ30との間の通信路Cがボトルネックとなる可能性がある。例えば、エッジルータRが通信キャリアの設備であり、通信路Cが高速とはいえないディジタル専用回線(例えば、1Mbps以下のディジタル専用回線)であった場合、通信路Cがボトルネックとなり、サーバ30に流れ込むセンサデータの量によってはエッジルータRにセンサデータのパケットが滞留して輻輳状態になり得る。その場合、エッジルータRでセンサデータのパケットが長期間滞留したり廃棄されたりすることになる。なお、サーバ30と各GW20との間のネットワーク構成については、図2の構成に限定されないものである。すなわち、サーバ30と各GW20との間で輻輳が発生する可能性のある経路は、図2の例に限らず種々のパターンが考えられる。
次に、GW20(20−1〜20−M)の内部のハードウェア構成について、図3を用いて説明する。この実施形態では、各GW20は全て同じ構成であるものとして説明するが、接続するセンサ10の数等により基本的な構成を装置毎に変更するようにしてもよい。
図3に示すように、GW20は、制御部21、デバイス側IF部22、及びネットワーク側IF部23を有している。
制御部21は、GW20内の各構成要素を制御する機能を担っている。制御部21は、例えば、図示しないプロセッサ及びメモリ等を有するコンピュータにプログラム(実施形態に係る、通信処理プログラムを含む)をインストールすることにより構成することができる。なお、制御部21については、一部又は全部について専用の半導体チップ(例えば、ASIC:Application Specific Integrated Circuit)を用いて構成するようにしてもよい。この実施形態の制御部21は、ソフトウェア的には、後述するJAVA(登録商標)仮想マシン(以下、「JVM」とも表す)上のアプレットを用いて構成されているものとする。
デバイス側IF部22は、配下のセンサ10(10−1〜10−N)と接続するためのインタフェースを備えている。デバイス側インタフェース(以下、「IF」と呼ぶ)部22は、各センサ10(10−1〜10−N)と接続するためIF部24(24−1〜24−N)を備えている。図3に示すデバイス側IF部22では、各IF部24と各センサ10とは1対1(ポイントツーポイント)で接続された構成として図示しているが、マルチ接続の構成(IF部24から分岐したシリアルインタフェースを複数のセンサ10に接続する構成)としてもよいことは当然である。
デバイス側IF部22では、各IF部24は固定的に備える構成としてもよいが、脱着可能な図示しないインタフェースカード(脱着可能なモジュール型デバイス)を用いて、種々の組み合わせのインタフェースを適用可能とするようにしてもよい。また、デバイス側IF部22が備えるIF部24の数は、配下に接続するセンサ10の数に応じて変動することもあり得る。
ネットワーク側IF部23は、ネットワークNに接続するためのインタフェースである。ネットワーク側IF部23に適用されるインタフェースは、有線・無線に限定されず種々のインタフェースを適用することができる。ネットワーク側IF部23としては、例えば、種々の有線/無線LANインタフェースや、専用線用インタフェース(例えば、ディジタル専用回線に接続するためのインタフェース)や、携帯電話網に接続するための無線インタフェース(例えば、LTE(Long Term Evolution)等のネットワークインタフェース)を適用するようにしてもよい。
次に、サーバ30のハードウェア構成について図4を用いて説明する。
図4に示すように、サーバ30は、制御部31及びネットワークIF32を有している。
サーバ30は、ハードウェア的には、PCやワークステーション等のコンピュータ上にプログラムをインストールすることにより構築することができる。
制御部31は、例えば、図示しないプロセッサ及びメモリ等を有するコンピュータにプログラム(センサデータを受信して処理するプログラム)をインストールすることにより構成することができる。この実施形態の制御部31は、ソフトウェア的には、後述するJVM(JAVA仮想マシン)上のアプレットを用いて構成されているものとする。
次に、GW20とサーバ30の通信におけるソフトウェア的なアーキテクチャ(プラットフォーム)の構成について図5を用いて説明する。
図5に示すように、GW20及びサーバ30では、いずれもJVM上のアプレットを用いてセンサデータの送受信処理を行う構成となっているものとする。ただし、GW20及びサーバ30において、センサデータの送受信処理を行うソフトウェア(プログラム)の具体的な構成(採用するプラットフォームや、分散処理の構成等)については限定されないものである。
GW20の制御部21上では、図5に示すように、JVM200上で、GW向けのアプレット(以下、「GW−APL」と呼ぶ)201が動作する構成となっているものとする。また、GW20の制御部21上では、JVM200(GW−APL201)をTCP/IPの通信に対応させるドライバとしてのTCP/IP処理部202も動作しているものとする。
また、図5示すように、サーバ30の制御部31上においても、JVM300上で、サーバ30向けのアプレット(以下、「SV−APL」と呼ぶ)301が動作する構成となっているものとする。また、サーバ30の制御部31上では、JVM300(SV−APL301)をTCP/IPの通信に対応させるドライバとしてのTCP/IP処理部302も動作しているものとする。
この実施形態では、図5に示すように、GW−APL201及びSV−APL301のレイヤでは、MQTT(MQ Telemetry Transport)パケットを用いて、センサデータの送受信処理を行うものとする。なお、MQTTに替わって、HTTP(Hypertext Transfer Protocol)やCoAP(Constrained Application Protocol)等の他のIoT関連プロトコルが使用されても構わない。
そして、TCP/IP処理部202、302は、GW−APL201とSV−APL301との間のMQTTパケットをIPパケットにカプセリングして、GW20とサーバ30との間の通信経路を形成しているものとする。このとき、TCP/IP処理部202、302間のIP通信については、IPSec(Security Architecture for Internet Protocol)等の手順により暗号化処理が施されていることが、セキュリティ上は望ましい。
図5に示す通り、JVM200(GW−APL201)は、センサ10から出力されたセンサデータを取得する構成となっている。図5においては図示していないが、JVM200(GW−APL201)では、必要に応じて、デバイス側IF部22(IF部24)を介してセンサ10からセンサデータを取得するドライバ(例えば、当該IF部24に対応するシリアルインタフェースのドライバ)がインストールされているものとする。
次に、図5を用いて、GW−APL201とSV−APL301との間のセンサデータに関する通信経路について説明する。
まず、GW20のGW−APL201がセンサ10からセンサデータを取得し、サーバ30のSV−APL301に送信する際の経路について説明する。
GW−APL201は、サーバ30(SV−APL301)を宛先とし、ペイロードにセンサデータ(後述する付加情報を含む)を設定したMQTTパケットを生成して、TCP/IP処理部302に供給する。そして、TCP/IP処理部202は、供給されたMQTTパケットをIPパケットにカプセリングしてネットワークN上に送出する。そして、GW20のTCP/IP処理部202から送出されたセンサデータのIPパケットは、エッジルータR及び通信路Cを経由してサーバ30のTCP/IP処理部302に到達する。TCP/IP処理部302は、受信したセンサデータのIPパケットからセンサデータのMQTTパケットを抽出してJVM300(SV−APL301)に供給する。そして、SV−APL301は、供給されたMQTTパケットからセンサデータ(後述する付加情報を含む)を取得する。
次に、サーバ30のSV−APL301がセンサ10からセンサデータを受信したことのACK(確認応答信号)のパケットを、GW20のGW−APL201に送信する際の経路について説明する。
SV−APL301は、センサデータを受信すると、センサデータの送信元(送信元のGW20のGW−APL201)を宛先として、当該センサデータを受信したことを応答するACK(確認応答)のMQTTパケットを生成し、TCP/IP処理部302に供給する。そして、TCP/IP処理部302は、供給されたMQTTパケットをIPパケットにカプセリングしてネットワークN側に送出する。そして、サーバ30のTCP/IP処理部302から送出されたセンサデータのIPパケットは、通信路C及びエッジルータRを経由してネットワークN上に送出され、GW20のTCP/IP処理部202に到達する。TCP/IP処理部202は、受信したACKのIPパケットからACKのMQTTパケットを抽出してJVM200(GW−APL201)に供給する。そして、GW−APL201は、供給されたMQTTパケットからACK(ACKのメッセージ)を取得する。
次に、GW−APL201内部の機能的構成について図6を用いて説明する。
GW−APL201はJVM200上のアプレットであるが、機能的な構成(ソフトウェア/プログラムの機能的な構成)については図6のように示すことができる。
図6に示すように、GW−APL201は、制御処理部41、通信処理部42、センサデータ受信部43、センサデータパケット生成部44、及びデータ記憶部45を有している。
制御処理部41は、GW−APL201の全体動作を制御する機能(メインルーチンの機能)を担っている。
通信処理部42は、TCP/IP処理部202とMQTTパケットを送受信するインタフェースの機能を担っている。通信処理部42は、センサデータパケット生成部44から供給されたセンサデータのMQTTパケットをTCP/IP処理部302に供給する。また、通信処理部42は、TCP/IP処理部302から受信したACKのMQTTパケットを、制御処理部41に供給する。
センサデータ受信部43は、デバイス側IF部22(IF部24)に接続されたセンサ10から出力されたセンサデータを受信する機能を担っている。センサデータ受信部43は、例えば、センサ10からシリアルインタフェースとしてのIF部24を介して、一連のデータフレーム(シリアル信号の1つのデータ送信単位)が出力されると、当該データフレームをセンサデータとして取得し、センサデータパケット生成部44に供給する。
センサデータパケット生成部44は、センサデータ受信部43から供給されたセンサデータ(後述する付加情報を含む)をペイロードに設定したMQTTパケット(サーバ30のSV−APL301を宛先とするMQTTパケット)を生成して、通信処理部42に供給する。この実施形態では、センサデータパケット生成部44は、センサデータに付加情報を付加したデータをセンサデータパケットにセットするものとする。付加情報には当該センサデータの供給元のセンサ10の識別子(以下、「センサID」と呼ぶ)と、当該センサデータの観測時間(例えば、センサデータ受信部43が当該センサデータを受信した時刻)とが含まれるものとする。通信システム1では、各センサ10についてユニークとなるセンサIDが割り振られているものとする。なお、センサデータの付加情報の項目は上述の例に限定されない。また、サーバ30側で特に必要がなければ、GW20が送信するセンサデータに付加情報を付加する必要はない。
制御処理部41は、ACKパケットの受信状況に応じてサーバ30までの間の通信経路上の輻輳状態(以下、「通信輻輳状態」と呼ぶ)を判断し、その判断結果に応じて、センサデータパケット生成部44を制御する。この実施形態の制御処理部41は、センサデータパケットを送信してからACKパケットを受信するまでの応答時間に基づいて輻輳状態(輻輳の有無)を判断するものとする。
制御処理部41は、通信処理部42がセンサデータ(付加情報を含む)のMQTTパケットを送信してから、当該センサデータの送信に対して応答するACKのMQTTパケットが供給されるまでの時間を、所定のタイムアウト時間Tを限度としてタイマ計測(計時)する。具体的には、制御処理部41は、センサデータのMQTTパケットを送信した時点でタイマをセットし、タイムアウト時間T以内にACKパケットを受信しなかった場合タイムアウトを検知する。タイムアウト時間Tに設定する時間は限定されないものであるが、例えば、30秒程度の値を設定するようにしてもよい。
制御処理部41は、通信輻輳状態であると判断した場合、センサデータパケット生成部44を制御し、輻輳(サーバ30までの通信経路上の輻輳)を制御(軽減)する処理(以下、「輻輳制御処理」と呼ぶ)を開始させる。具体的には、制御処理部41は、輻輳制御処理として、センサデータを所定の方式で圧縮処理してからMQTTパケットに設定するようにセンサデータパケット生成部44を制御する処理を行う。また、制御処理部41は、通信輻輳状態から通常の状態(通信輻輳状態でない状態)に復帰したことを確認すると、輻輳制御処理を終了する制御(センサデータの圧縮処理を解除する制御)を行う。センサデータパケット生成部44で用いられる圧縮方式は限定されないものであり種々のデータ圧縮方式(例えば、ZIPやrar等)を適用することができる。
データ記憶部45は、制御処理部41が行う制御処理で用いられる種々の設定データ等が記憶されている領域である。第1の実施形態において、データ記憶部45には、センサデータを送信からACKを受信するまでのタイムアウト時間T等が格納されている。データ記憶部45には、予めタイムアウト時間Tを設定しておくようにしてもよいし、所定のタイミング(例えば、起動時や所定の期間ごとのタイミング)で、サーバ30等の外部装置から取得するようにしてもよい。
次に、SV−APL301内部の機能的構成について図7を用いて説明する。
SV−APL301はJVM300上のアプレットであるが、機能的な構成(ソフトウェア/プログラムの機能的な構成)については図7のように示すことができる。
図7に示すように、SV−APL301は、制御処理部51、通信処理部52、センサデータ抽出部53、センサデータ処理部54、及びデータ記憶部55を有している。
制御処理部51は、SV−APL301の全体動作を制御する機能(メインルーチンの機能)を担っている。また、制御処理部51は、オペレータの操作(例えば、GUI画面やコマンドラインを用いた操作)に応じて、各GW20に対する設定制御処理(例えば、タイムアウト時間T等の設定データの設定処理)に対応するようにしてもよい。
通信処理部52は、TCP/IP処理部302との間でMQTTパケットを送受信するインタフェースの機能を担っている。通信処理部52は、TCP/IP処理部302から受信したセンサデータのMQTTパケットを、センサデータ抽出部53に供給する。また、通信処理部52は、センサデータのMQTTパケットを受信すると、制御処理部51の制御に基づき、当該受信に応答するACKのMQTTパケットを生成して、センサデータのMQTTパケットの送信元に送信(返答)する処理を行う。
センサデータ抽出部53は、通信処理部52から供給されたセンサデータのMQTTパケットからセンサデータ(当該センサデータに付加された付加情報を含む)を抽出して、センサデータ処理部54に供給するものである。センサデータ抽出部53は、受信したMQTTパケットのペイロードが圧縮されている場合には、圧縮データを解凍(復元)してセンサデータを取得する。センサデータ抽出部53では、GW20側で用いられた圧縮方式に対応する解凍(復元)処理を行う。
センサデータ処理部54は、供給されたセンサデータについて所定の処理を行う。センサデータ処理部54がセンサデータを処理する内容については限定されないものである。センサデータ処理部54は、例えば、センサデータをリアルタイムに監視する処理(例えば、グラフの出力する処理や、異常等の検知結果を出力する処理)を行ったり、図示しない上位アプリケーション(例えば、リアルタイムにセンサデータを監視するアプリケーション)や上位装置に供給する処理を行うようにしてもよい。センサデータの処理(例えば、監視方式)の具体的な内容については、種々のセンサデータを処理するアプリケーションと同様の処理を適用することができるため、ここでは詳しい説明を省略する。
データ記憶部55は、制御処理部51が行う制御処理で用いられる種々の設定データ等が記憶されている領域である。
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の通信システム1の動作を説明する。
まず、GW20において、タイムアウト時間T等の設定データ(パラメータ)を、サーバ30から取得するとした場合の動作の例について図8を用いて説明する。
図8(a)では、GW20が起動時にサーバ30から設定データをダウンロードする例について示したシーケンス図である。
図8では、まず、GW20(GW−APL201)は起動すると(S111)、サーバ30(TCP/IP処理部202)と通信(例えば、センサデータと同じ経路で通信して設定データを要求する(S112)。
次に、サーバ30(SV−APL301)は、GW20からの設定データの要求を受付けると最新の設定データ(必要に応じて各GW20の固有データ)を返答する(S113)。
そして、GW20(GW−APL201)は、サーバ30(SV−APL301)から受信した設定データを記憶(データ記憶部45に記憶)する(S114)。
図8(b)では、サーバ30(SV−APL301)が、オペレータの操作に応じてGW20(GW−APL201)に設定データを設定する例について説明する。
図8(b)では、まず、サーバ30(SV−APL301)がオペレータの操作(例えば、GUI操作やコマンドラインによる操作)に応じて、指定されたGW20に対する設定データの入力を受付けて(S121)、指定されたGW20に送信する(S122)。なお、このとき、サーバ30(SV−APL301)は、同時に複数のGW20の設定を受付けるようにしてもよい。
そして、設定データを受信したGW20(GW−APL201)は、受信した設定データを記憶(データ記憶部45に記憶)する(S123)。
次に、通信システム1の全体の動作の例について図1のシーケンス図を用いて説明する。
図1のシーケンス図では、例として、GW20−1がセンサ10−1、10−2から取得したセンサデータを、サーバ30に送信する例について示している。
図1に示すとおり、ここでは、まず、センサ10−1がGW20−1にセンサデータを送信したものとする(S201)。
センサ10−1からセンサデータが供給されると、GW20−1(GW−APL201及びTCP/IP処理部302)は、当該センサデータをセットしたパケット(MQTTパケットをIPでカプセリングしたパケット)を生成して、サーバ30に送信する(S202)。この時点では、GW20−1(GW−APL201)は、輻輳制御処理を開始しておらず、圧縮(MQTTのペイロードを圧縮)していないセンサデータを送信したものとする。
次に、サーバ30(SV−APL301及びTCP/IP処理部302)は、GW20−1からのセンサデータのパケットを受信すると、当該パケット(MQTTパケットをIPでカプセリングしたパケット)からセンサデータを抽出して、ACKパケットを返信する(S203)。そして、ここでは、GW20−1(GW−APL201)で、センサデータパケットを送信(ステップS202で送信)してからタイムアウト時間T以内にACLパケットが受信されたものとする。
そして、その後、センサ10−2がGW20−1にセンサデータを送信したものとする(S204)。
センサ10−2からセンサデータが供給されると、GW20−1は、当該センサデータをセットしたパケットを生成して、サーバ30に送信する(S205)。この時点では、GW20−1(GW−APL201)は、輻輳制御処理を開始していないため、圧縮していないセンサデータを送信する。
そして、その後、サーバ30(SV−APL301及びTCP/IP処理部302)は、GW20−1からのセンサデータのパケットを受信してACKパケットを返答する処理を行ったものとする(S206)。しかしながら、ここでは、GW20−1とGW20−1との間の通信経路上の輻輳(例えば、エッジルータRとサーバ30との間の通信路Cがボトルネックになったことに起因するエッジルータR上の輻輳)により、タイムアウト時間Tが経過するまでの間に、GW20−1(GW−APL201)に当該ACKパケットは到達しなかったものとする。
そうすると、GW20−1(GW−APL201)において、タイムアウトが発生し、通信輻輳状態が検知され、輻輳制御処理が開始されることになる(S207)。GW20−1(GW−APL201)は、輻輳制御処理が継続している間は、センサデータのパケットを生成する際に、センサデータを圧縮してMQTTパケットのペイロードに挿入することになる。
そして、その後、センサ10−1がGW20−1にセンサデータを送信したものとする(S208)。
センサ10−1からセンサデータが供給されると、GW20−1は、当該センサデータをセットしたパケットを生成して、サーバ30に送信する(S209)。この時点では、GW20−1(GW−APL201)は、輻輳制御処理を開始(継続)しているため、センサデータを圧縮してMQTTのペイロードに挿入したパケットが送信されることになる。
そして、この時点においても未だ、GW20−1とGW20−1との間の通信経路上の輻輳が解消されておらず、タイムアウト時間Tが経過するまでの間に、GW20−1(GW−APL201)に当該ACKパケットは到達しなかったものとする(S210))。したがって、この時点でもGW20−1(GW−APL201)は、輻輳制御処理を解除せずに継続することになる。
例えば、エッジルータRとサーバ30との間の通信路Cがボトルネックになったことに起因するエッジルータR上の輻輳が発生した場合を想定する。そして、各GW20−1〜20−Mが輻輳制御処理を開始して、センサデータを圧縮して送信するため、通信路C上のトラヒックは徐々に低減してゆき、通信輻輳状態が解消した状態(タイムアウト時間T以内にACKパケットがGW20に到達できる状態)となると、各GW20(GW−APL201)は、輻輳制御処理を終了(センサデータの圧縮処理を解除)することになる。
ここでは、ステップS210の後のタイミングで、通信路C上のトラヒックは徐々に低減して、通信輻輳状態が解消した状態となったものとする。
そして、通信輻輳状態が解消した後、センサ10−2からセンサデータがGW20−1(GW−APL201)に供給されたものとする(S211)。
センサ10−2からセンサデータが供給されると、GW20−1は、当該センサデータをセットしたパケットを生成して、サーバ30に送信する(S212)。この時点では、通信輻輳状態が解消していたとしても、GW20−1(GW−APL201)は、未だ輻輳制御処理を継続している状態である。したがって、この時点では、GW20−1(GW−APL201)は、センサデータを圧縮してMQTTのペイロードに挿入したパケットを送信することになる。
そして、サーバ30(SV−APL301及びTCP/IP処理部302)は、GW20−1からのセンサデータのパケットを受信すると、当該パケットからセンサデータを抽出して、ACKパケットを返信する(S213)。上述の通り、この時点では、通信輻輳状態が解消しているため、GW20−1(GW−APL201)でタイムアウト時間T以内にACKパケットが受信されたものとする。
そうすると、GW20−1(GW−APL201)では、通信輻輳状態の解消が検知され、輻輳制御処理が終了(圧縮処理を終了)することになる(S214)。以後、GW20−1(GW−APL201)は、輻輳制御処理が再開するまでの間は、センサデータのパケットを生成する際に、センサデータを圧縮せずにMQTTパケットのペイロードに挿入することになる。
そして、その後、センサ10−1からセンサデータがGW20−1(GW−APL201)に供給されたものとする(S215)。
センサ10−1からセンサデータが供給されると、GW20−1は、当該センサデータをセットしたパケットを生成して、サーバ30に送信する(S216)。この時点では、GW20−1(GW−APL201)は、輻輳制御処理を開始していないため、圧縮していないセンサデータを送信する。
そして、サーバ30(SV−APL301及びTCP/IP処理部302)は、GW20−1からのセンサデータのパケットを受信すると、当該パケットからセンサデータを抽出して、ACKパケットを返信する(S217)。
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
第1の実施形態の通信システム1では、GW20が、ACKパケットの受信状況に基づいてサーバ30との間の通信輻輳状態の有無を検出し、通信輻輳状態を検出した場合には、輻輳制御処理として送信するセンサデータ(付加情報を含む)の圧縮を行う。これにより、第1の実施形態では、ネットワークNの構成(各GW20からサーバ30までの通信経路の構成)に依存せずに輻輳制御が可能となる。
(B)第2の実施形態
以下、本発明による中継装置及び通信システムの第2の実施形態を、図面を参照しながら詳述する。
(B−1)第2の実施形態の構成
第2の実施形態の通信システム1の構成についても、上述の図2〜図7を用いて示すことができる。以下では、第2の実施形態の通信システム1の構成について第1の実施形態の差異のみを説明する。
第1の実施形態のGW20を構成する制御処理部41は、通信輻輳状態(サーバ30までの通信経路上で輻輳が発生している状態)と判断した場合、輻輳制御処理として、センサデータパケット生成部44を制御し、センサーデータ(付加情報を含む)を圧縮して送信させる処理を行う。これに対して、第2の実施形態の制御処理部41は、通信輻輳状態と判断した場合、輻輳制御処理として、各GW20に設定された遅延時間αだけ時間をずらして(タイミングを遅らせて)センサデータのパケットを送出させるようにセンサデータパケット生成部44を制御する処理を行う。すなわち、第2の実施形態のGW20では、設定データ(データ記憶部45に記憶する設定データ)として、タイムアウト時間Tに加えて、遅延時間αを記憶しているものとする。
そして、第2の実施形態のセンサデータパケット生成部44は、生成したセンサデータパケットについて、制御処理部41の制御に従った遅延時間αだけ保留してから送信(通信処理部42に供給)する処理を行う。
また、この実施形態では、GW20−1〜20−Mに対して、それぞれ遅延時間α1〜αMが設定されているものとして説明する。遅延時間α1〜αMは全て異なる時間(各GW20について固有の時間)としてもよいし、通信システム1上のGW20を複数のグループに分けて各グループに固有の時間としてもよい。
これにより、第2の実施形態では、通信輻輳状態となった場合でも、各にGW20−1〜20−Mに固有の遅延時間α1〜αMを設定することにより、GW20−1〜20−Mからセンサデータパケットを送出させるタイミングを分散させ、通信輻輳状態を制御(軽減)することができる。
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の通信システム1の動作を説明する。
図9は、第2の実施形態の通信システム1の全体の動作の例について示したシーケンス図である。図9では、上述の図1と同一の動作には同一のステップ番号(符号)を付している。
図9では、ステップS209、S212が、ステップS209A、S212Aに置き換わっている点で上述の図1と異なっている。
以下では、第2の実施形態の動作について、第1の実施形態との差異を説明する。
上述の通り、第2の実施形態では、輻輳制御処理の内容だけが異なっているため、以下では第2の実施形態における輻輳制御処理を中心に説明する。
図9では、GW20−1(GW−APL201)において、ステップS207で輻輳制御処理を開始してから、ステップS214で輻輳制御処理が終了するまでの間、輻輳制御処理として、センサデータパケットを送信する際に、GW20−1に設定された遅延時間α1だけ遅延させる制御が行われる。具体的には、図9では、GW20(GW−APL201)で輻輳制御処理が継続している期間、ステップS209A、S212Aでセンサデータパケットを送信する際に、送信タイミングを遅延時間α1だけ遅延させる制御が行われる。
(B−3)第2の実施形態の効果
第2の実施形態によれば、以下のような効果を奏することができる。
第2の実施形態の通信システム1では、GW20が、ACKパケットの受信状況に基づいてサーバ30との間の通信輻輳状態の有無を検出し、通信輻輳状態を検出した場合には、各GW20が、センサデータのパケットを送信するタイミングを、固有の遅延時間α分だけ遅延させる処理を行う。これにより、第2の実施形態の通信システム1では、各GW20で通信輻輳状態が検出された場合、各GW20によるセンサデータのパケット送信のタイミングを分散させて、通信輻輳状態を軽減させることができる。これにより、第2の実施形態では、第1の実施形態と同様にネットワークNの構成(各GW20からサーバ30までの通信経路の構成)に依存せずに輻輳制御が可能となる。
(C)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C−1)第2の実施形態において、各GW20で通信輻輳状態が検出された場合、各GW20に、センサデータのパケット送信タイミングを分散(遅延)させるだけでなく、第1の実施形態と同様にセンサデータの圧縮処理を実行させるようにしてもよい。
(C−2)上記の各実施形態において、GW20(GW−APL201)は、センサデータのパケットを送出してからタイムアウト時間Tを経過するまでの間にACKパケットが受信できない場合(タイムアウトが発生した場合)、通信輻輳状態と判断するが、一度のセンサパケットだけでなく複数のセンサパケットで連続してタイムアウトが発生した場合に輻輳状態を判断するようにしてもよい。例えば、GW20(GW−APL201)は、5回連続してタイムアウトが発生した場合(5回連続してセンサデータのパケットを送信しても1度もタイムアウト時間T以内にACKパケットを受信できない場合)に、通信輻輳状態を判断するようにしてもよい。
(C−3)上記の各実施形態の通信システムでは、データを出力するデータ出力装置としてセンサを適用する例について説明したが、本発明の通信システムにおけるデータ出力装置は、センサに限定されず、種々のデータ出力を行う端末を適用することができる。例えば、本発明の通信システムにおいて、IoTに対応した家電製品(例えば、種々のイベントデータを出力する冷蔵庫、エアコン、給湯器等)をデータ出力装置として適用するようにしてもよい。
1…通信システム、10、10−1〜10−N…センサ、20、20−1〜20−M…GW、21…制御部、22…デバイス側IF部、23…ネットワーク側IF部、24、24−1〜24−N…IF部、200…JVM、201…GW−APL、202…TCP/IP処理部、30…サーバ、31…制御部、32…ネットワークIF、300…JVM、301…SV−APL、302…TCP/IP処理部、41…制御処理部、42…通信処理部、43…センサデータ受信部、44…センサデータパケット生成部、45…データ記憶部、51…制御処理部、52…通信処理部、53…センサデータ抽出部、54…センサデータ処理部、55…データ記憶部、N…ネットワーク、R…エッジルータ、C…通信路。

Claims (8)

  1. 中継装置において、
    データ出力装置から出力されたデータを受信するデータ受信手段と、
    前記データ受信手段が受信したデータを、外部装置を宛先として送信するデータ送信手段と、
    前記データ送信手段が送信したデータを受信した前記外部装置からの確認応答信号を受信する確認応答信号受信手段と、
    前記確認応答信号受信手段による確認応答信号の受信状況に基づいて、当該中継装置から前記外部装置までの通信経路上の輻輳の有無を検出する検出手段と、
    前記検出手段で前記通信経路上で輻輳が有ると検出された場合、前記通信経路上の輻輳が軽減するように、前記データ送信手段の動作を制御する輻輳制御手段と
    を有することを特徴とする中継装置。
  2. 前記輻輳制御手段は、前記検出手段により前記通信経路上で輻輳が有ると検出された場合、前記データ送信手段を制御して、前記データ受信手段が受信したデータを前記外部装置に送信させる前に圧縮する圧縮処理を実行させることを特徴とする請求項1に記載の中継装置。
  3. 前記輻輳制御手段は、前記検出手段により前記通信経路上で輻輳が有ると検出された後、前記検出手段により前記通信経路上で輻輳が無いと検出された場合、前記データ送信手段に、前記圧縮処理を終了させることを特徴とする請求項2に記載の中継装置。
  4. 前記輻輳制御手段は、前記検出手段により前記通信経路上で輻輳が有ると検出された場合、前記データ送信手段を制御して、前記データ受信手段が受信したデータを前記外部装置に送信させる際のタイミングを所定の遅延時間分遅延させる遅延処理を実行させることを特徴とする請求項1に記載の中継装置。
  5. 前記輻輳制御手段は、前記検出手段により前記通信経路上で輻輳が有ると検出された後、前記検出手段により前記通信経路上で輻輳が無いと検出された場合、前記データ送信手段に、前記遅延処理を終了させることを特徴とする請求項4に記載の中継装置。
  6. 前記検出手段は、前記データ送信手段が前記外部装置にデータ送信してから、所定のタイムアウト時間が経過するまでの間に、前記確認応答信号受信手段により、当該データ送信に応答する確認応答信号が受信されない場合、前記通信経路上で輻輳が有ると検知することを特徴とする請求項1〜5のいずれかに記載の中継装置。
  7. データを出力するデータ出力装置と、前記データ出力装置が出力したデータを収集して処理するデータ処理装置と、前記データ出力装置から出力されたデータを前記データ処理装置に送信する中継装置とを備える通信システムにおいて、前記中継装置として請求項1〜6のいずれかに記載の中継装置を適用したことを特徴とする通信システム。
  8. データ出力装置が出力したデータを収集して処理するデータ処理装置と、前記データ出力装置から出力されたデータを前記データ処理装置に送信する中継装置とを備える通信システムにおいて、前記中継装置として請求項1〜6のいずれかに記載の中継装置を適用したことを特徴とする通信システム。
JP2016148548A 2016-07-28 2016-07-28 中継装置及び通信システム Pending JP2018019266A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016148548A JP2018019266A (ja) 2016-07-28 2016-07-28 中継装置及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016148548A JP2018019266A (ja) 2016-07-28 2016-07-28 中継装置及び通信システム

Publications (1)

Publication Number Publication Date
JP2018019266A true JP2018019266A (ja) 2018-02-01

Family

ID=61076475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016148548A Pending JP2018019266A (ja) 2016-07-28 2016-07-28 中継装置及び通信システム

Country Status (1)

Country Link
JP (1) JP2018019266A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795235A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd フレーム交換機
JPH10303909A (ja) * 1997-04-24 1998-11-13 Hitachi Ltd データ通信方式
JP2006287331A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 輻輳制御ネットワーク中継装置、および輻輳制御ネットワーク中継方法
JP2009164958A (ja) * 2008-01-08 2009-07-23 Yamaha Corp 中継装置およびプログラム
JP2015012570A (ja) * 2013-07-02 2015-01-19 富士通株式会社 中継装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795235A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd フレーム交換機
JPH10303909A (ja) * 1997-04-24 1998-11-13 Hitachi Ltd データ通信方式
JP2006287331A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 輻輳制御ネットワーク中継装置、および輻輳制御ネットワーク中継方法
JP2009164958A (ja) * 2008-01-08 2009-07-23 Yamaha Corp 中継装置およびプログラム
JP2015012570A (ja) * 2013-07-02 2015-01-19 富士通株式会社 中継装置

Similar Documents

Publication Publication Date Title
JP7078850B2 (ja) ネットワーク制御装置及びネットワーク制御方法
JP6290397B2 (ja) データ処理方法および装置
CN105682121A (zh) 传感器网络的数据采集方法、网关和数据采集系统
JP2017514335A (ja) 複数のネットワーク・インターフェースのための多重rf無線支持を有するネットワーク・レンジ・エクステンダ
US9130877B2 (en) Packet retransmission control apparatus and packet retransmission controlling method
CN101815106B (zh) 动态gre隧道建立的方法和设备
CN110011892B (zh) 一种虚拟专用网络的通信方法及相关装置
CN107800663B (zh) 流量离线文件的检测方法及装置
CN108390937B (zh) 远程监控方法、装置及存储介质
CN103905579A (zh) 平台与终端间的通信方法、通信系统、平台及相关设备
US9131431B2 (en) Wireless access point device, network system and network auto-establishing method of the same
JP2007027979A (ja) ネットワーク対応型電子機器
JP2018019266A (ja) 中継装置及び通信システム
KR101284584B1 (ko) 시그널링 트래픽 관리 시스템 및 그 방법
JP5740105B2 (ja) 通信システムのアプリケーション監視方法
JP6598188B2 (ja) 情報処理装置、方法およびプログラム
CN105677495A (zh) 进程间通信方法和系统
KR20160049919A (ko) 센서 데이터 유실을 최소화하기 위한 무선 센서 네트워크에서의 코디네이터 관리 방법
WO2011153731A1 (zh) 有线终端的管理控制方法及系统、以及接入服务器
CN101437029B (zh) 数据传输方法、本地维护终端、代理设备及系统
CN107005473B (zh) 通信路径切换装置、控制通信路径切换装置的方法
JP2004048394A (ja) 半導体回路デバイス及びパケット処理方法
JP7188144B2 (ja) 無線情報収集システム、無線情報取集装置および無線情報収集方法
JP2016012801A (ja) 通信装置、通信システム及び通信装置制御方法
JP2008219591A (ja) メッセージ中継装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210615