JP6470966B2 - 通信装置、サーバ装置、通信方法およびプログラム - Google Patents

通信装置、サーバ装置、通信方法およびプログラム Download PDF

Info

Publication number
JP6470966B2
JP6470966B2 JP2014261275A JP2014261275A JP6470966B2 JP 6470966 B2 JP6470966 B2 JP 6470966B2 JP 2014261275 A JP2014261275 A JP 2014261275A JP 2014261275 A JP2014261275 A JP 2014261275A JP 6470966 B2 JP6470966 B2 JP 6470966B2
Authority
JP
Japan
Prior art keywords
connection
measurement
communication
external device
packet
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.)
Active
Application number
JP2014261275A
Other languages
English (en)
Other versions
JP2016122926A (ja
Inventor
大介 安次富
大介 安次富
圭祐 南
圭祐 南
博史 川添
博史 川添
会津 宏幸
宏幸 会津
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014261275A priority Critical patent/JP6470966B2/ja
Priority to US14/757,504 priority patent/US10187284B2/en
Publication of JP2016122926A publication Critical patent/JP2016122926A/ja
Application granted granted Critical
Publication of JP6470966B2 publication Critical patent/JP6470966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Description

本発明の実施形態は、通信装置、サーバ装置、通信方法およびプログラムに関する。
確立した通信コネクションを維持し、双方向の低遅延通信を実現するWeb標準通信プロトコルとしてWebSocketが知られている。その他、常時接続を前提とした同様のプロトコルとして、機器間での1対1、1対多の通知を実現するMQTT(Message Queue Telemetry Transport)等もある。これらの通信プロトコルでは、通信経路上の中継装置によって通信コネクションを切断されないように、コネクションを維持するためのキープアライブパケットを定期的に送信する必要がある。これは、パケットが全く流れない無通信状態が一定時間継続すると、介在する中継装置が通信コネクションを切断するおそれがあるからである。
中継装置がコネクションを切断するまでの時間であるタイムアウト値は、中継装置の機種や設定によって異なっており、通信機器がこの設定値を参照できないケースも多い。そのため、中継装置のタイムアウト設定値よりも低いと想定される値(例えば、60秒)を周期として、キープアライブパケットを送信することが一般的である。
しかし、多数のクライアントと接続する場合、一律に短周期でキープアライブパケットを送信する方式では、通信コストや、通信機器またはこれと通信するサーバの負荷(CPU等の負荷)が無視できない。特に、昨今普及しているクラウドサービスでは、通信を従量課金制にしているものが多く、通信量の増大は運用費用に影響するため、可能な限り通信量を削減する必要がある。
特開2014−053732号公報
本発明の実施形態は、少ない通信量で、確立したコネクションを維持することを目的とする。
本発明の一態様としての通信装置は、通信部と、通信維持部と、送信周期決定部と、測定可否判定部とを備える。前記通信部は、前記第1コネクションで前記第1の外部装置に第1の送信周期でキープアライブパケットを送信し、前記キープアライブパケットに対する応答パケットを受信する。前記送信周期決定部は、前記第2コネクションの確立後または前記第2コネクションでの測定パケットの受信後、予め定めた候補時間を開けて、前記第1コネクションで、前記第1の外部装置に測定パケットを送信し、前記第1外部装置によって前記第2外部装置に転送された前記測定パケットを前記第2コネクションで受信したかを確認する、送信周期決定処理を用いて、前記第1の送信周期を決定する。
第1の実施形態に係る通信システムの概略構成を示すブロック図。 第1の実施形態に係る送信周期決定処理のフローチャート。 第1の実施形態に係る送信周期測定処理のフローチャート。 第1の実施形態に係る送信周期決定処理時の通信シーケンスの一例を示す図。 第1の実施形態に係る送信周期測定処理と遠隔制御通信が並行して行われる場合の通信シーケンスの一例を示す図。 第2の実施形態に係る通信システムの概略構成を示すブロック図。 第2の実施形態に係る送信周期決定処理のフローチャート。 第2の実施形態に係る送信周期決定処理時の通信シーケンスの一例を示す図。 第3の実施形態に係る通信システムの概略構成を示すブロック図。 第3の実施形態に係る送信周期決定処理のフローチャート。 第3の実施形態に係る送信周期測定処理と遠隔制御通信が並行して行われる場合の通信シーケンスの一例を示す図。 第4の実施形態に係る通信システムの概略構成を示すブロック図。 第4の実施形態に係る送信周期決定処理のフローチャート。 第4の実施形態に係る送信周期決定処理時の通信シーケンスの一例を示す図。 本発明の一実施形態に係る通信装置を備えたハードウェア構成例を示した図。
以下、図面を参照しながら、本発明の実施形態について説明する。
(第1の実施形態)
図1は、第1の実施形態に係る通信システムの概略構成を示すブロック図である。この通信システムは、通信装置101、制御装置301、第1外部装置401、第2外部装置402とを備え、これらが通信ネットワーク601を介して接続される。通信装置101は、通信インタフェース部102と、通信部103、通信維持部104、送信周期決定部105、測定可否判定部106、測定可否情報記憶部107を備える。
通信ネットワーク601は、少なくとも1台の中継装置201と、ネットワーク501とを含む。中継装置201はネットワーク501と通信装置101間に配置されており、そのうちの1台は通信装置101に、無線または有線で接続されている。ネットワーク501にも、1つまたは複数の中継装置が配置されていてよい。以下では、ネットワーク501内の中継装置も、参照番号201で指すものとする。中継装置201は、例えば、公衆網上のルータ、宅内に設置されたブロードバンドルータやONU、データセンター等のサーバ側のイントラネット内に設置されたロードバランサ、ファイアーウォール、プロキシなど、あらゆるタイプの機器が想定される。ネットワーク501と通信装置101間に中継装置201が配置されず、ネットワーク501内にのみ中継装置201が配置されてもよい。中継装置201は、LSN(Large Scale NAT)などのNAT機能を有していてもよい。中継装置201のうちの1台がブロードバンドルータであり、このブロードバンドルータに、通信装置101が無線または有線で接続されていてもよい。
ネットワーク501は、インターネットや、NGN(Next Generation Network)などの広域ネットワークでも、ローカルネットワークなどの閉域ネットワークでもよい。またネットワーク501は、有線ネットワークでも、無線ネットワークでも、これらの複合ネットワークでもよい。ネットワーク601を介した各装置間の通信は、TLS(Transport Layer Security)上でのWebSocketプロトコルで行われることを想定しているが、MQTT、HTTPロングポーリング(Comet)など、TCP(Transmission Control Protocol)ベースの他の通信プロトコルであっても構わないし、UDP(User Datagram Protocol)ベースのコネクションレス型の通信プロトコルであっても構わない。したがって、本実施形態で用いる「コネクション」という用語は、TCPプロトコルのコネクションに限定されるものではなく、NATなどの中継装置をまたがって維持される通信装置と外部装置との間の通信路を指すものとする。
第1外部装置401、第2外部装置402は、イントラネットなど同一のネットワーク上に存在してもよく、本実施形態では、これらの装置が同一のネットワーク上に存在するとする。
通信装置(被制御装置)101は、通信機能を備え、制御装置301により、遠隔制御されるエアコン、照明、デジタルテレビなどのネット家電やPCなどの機器に搭載されてもよい。制御装置301は、通信装置101を遠隔制御するスマートフォンやノートPCなどのクライアント端末である。エンドユーザは、制御装置301に搭載されたアプリケーションやWebブラウザを介して、通信装置101に対し遠隔監視、電源のONおよびOFF、設定変更などの遠隔制御を行う。遠隔制御は、外出先など通信装置101が属するネットワーク外から行う事を想定しているが、通信装置101と同じネットワーク内から行ってもよい。制御装置301は、ネットワーク501に有線または無線で接続されている。通信装置101を制御する際の通信の開始のトリガーは、制御装置301から行われ、制御装置301は、第1外部装置401および通信ネットワーク601を介して、通信装置101に対する遠隔制御のための通信を開始および実行する。
中継装置201は、上述したように、NAT(Network Address Translation)機能を備えていてもよい。例えば、通信装置101と接続された中継装置201がブロードバンドルータであり、NAT機能を備えているとする。この場合、NATのテーブル設定によっては、通信装置101と通信コネクションが確立されていない状態では、通信装置101が属するホームネットワークの外側からは通信装置101と通信を開始できず、通信装置101側から開始する通信のみ許可される場合もあり得る。
通信装置101は、制御装置301からいつでも通信装置101を制御することができるように、第1外部装置401との通信コネクション(第1コネクション)を常時維持する。これにより、第1外部装置401が制御装置301から遠隔制御の要求(遠隔制御要求)を受信した場合に、遠隔制御要求を速やかに通信装置101に転送して、高速および効率的な制御が可能となる。ここで、制御装置301が接続されておらず、遠隔制御が行われずに、第1コネクションでパケットが全く流れない状態(無通信状態)が暫く継続すると、通信装置101と第1外部装置401の通信経路上に存在する中継装置201のいずれかが、コネクションを切断するおそれがある。このため、通信装置101は、第1コネクションを常時維持するべく、定期的にコネクションを維持するためのパケット(キープアライブパケットまたはハートビートパケット。以下、キープアライブパケットに統一)を、第1コネクションを介して、第1外部装置401に送信する。第1外部装置401は、キープアライブパケットへの応答パケットを通信装置101に送信する。これにより、第1外部装置401から通信装置101への方向(外側から内側への方向)の通信がないことを理由として、第1コネクションが遮断されることを防止できる(中継装置のNATテーブルの構成に依存して、第1外部装置401が応答パケットを送信しなくても、第1コネクションが維持される可能性もある)。なお、応答パケットは、キープアライブパケットに対するACKパケットで代用することも考えられるが、ACKパケットの送信がコネクション維持のための通信として扱われない場合もあり得るため、専用に定義された応答パケットを、キープアライブパケットの応答パケットとして用いることが好ましい。
各中継装置201がコネクションを切断するまでの時間は、各中継装置201に予め設定されたNATテーブルなどのタイムアウト値によって決まる。ゆえに、コネクションが切断される時間は、通信経路上に存在する全ての中継装置201のタイムアウト値のうち、もっとも小さいタイムアウト値により律される。通信経路上に存在する全ての中継装置201のタイムアウト値のうち、もっとも小さいタイムアウト値を、以後、「経路のタイムアウト値」と呼ぶ。したがって、キープアライブパケットの送信周期は、通信装置101と第1外部装置401との間の経路のタイムアウト値よりも短くしなければならない。
しかし、キープアライブパケットを短周期で送信することは、第1外部装置401の処理負荷の増加に繋がる。また、第1外部装置401が、通信量によって課金されるクラウドサービスのサーバである場合、コストの増加につながる。ゆえに、キープアライブパケトの送信周期は、経路のタイムアウト値未満で、その値になるべく近いことが望ましい。
このような条件を満たす、キープアライブパケットの送信周期を決定するため、通信装置101は、キープアライブパケットの他に、測定用のパケット(測定パケット)を、第1外部装置401に送信する。この測定パケットは、第1コネクションを介して送信される。通信装置101が送信する測定パケットのペイロード部またはヘッダには、例えば通信装置101が送信した測定パケットであることを識別する情報(例えば所定値、乱数、その他任意の値でもよい)や、通信装置101に関する識別情報(送信元識別情報)が含まれていてもよい。
一方、通信装置101は、送信周期の測定に用いる通信コネクション(第2コネクション)を第2外部装置402と確立する。第2外部装置402は、第1外部装置401で第1コネクションを介して受信された測定パケットを、第1外部装置401から受け取り、第2コネクションを介して、この測定パケットを通信装置101に転送する。測定パケットを第1外部装置401および第2外部装置402を介して通信装置101へ転送する際は、転送段階に応じて、適宜、IPヘッダ等は変更される。なお、ペイロード部の値は同一の値が維持されてもよいし、変更、削除および新たな情報の追加が行われてもよい。IPヘッダのIPアドレス例として、例えば、通信装置101から送信する測定パケットの送信元IPアドレスおよび宛先IPアドレスは、それぞれ通信装置101および第1外部装置であり、第1外部装置401から第2外部装置402に転送する測定パケットの送信元IPアドレスおよび宛先IPアドレスは、それぞれ第1外部装置401から第2外部装置402であり、第2外部装置402から通信装置101に転送する測定パケットの送信元IPアドレスおよび宛先IPアドレスは、それぞれ第2外部装置402および通信装置101である。送信元ポート番号および宛先ポート番号についても同様に、使用されるコネクション、および転送される段階に応じて、適宜、値が設定される。
具体的な動作例として、第1外部装置401で、測定パケットのヘッダから通信装置101または第1コネクションの識別情報(通信装置101のIPアドレス、または当該IPアドレスと送信元ポート番号の組など)を検出し、検出した識別情報を、測定パケットのペイロードデータとともに第2外部装置402に送る。そして、第2外部装置402が、通信装置101の識別情報をもとに、通信装置101と第2コネクションを特定し、受け取ったペイロードデータにヘッダを付加して、パケットを生成し、パケットを通信装置101に送信する。これにより測定パケットが第1および第2外部装置を介して転送される。
通信装置101から測定パケットを送信する間隔を変更しつつ、測定パケットを第2コネクションで受信できるかを確認する処理を行うことで、経路のタイムアウト値がどれくらいかを推測し、第1コネクションで送信するキープアライブパケットの送信周期を決定する。第2外部装置402が、第1外部装置401と同一ネットワーク上に存在する場合、通信装置101と第1外部装置401との経路、および通信装置101と第2外部装置402との経路は同一であるため、経路のタイムアウト値も同じになると考えられる。また、制御装置301および通信装置101間の遠隔制御に関するパケットが流れる第1コネクションとは異なり、第2コネクションは測定のみに用いられる。そのため、測定中に第2コネクションが切断されても、第1コネクションに影響が生じない。
第1の実施形態では、通信装置101は、接続する第1外部装置401および第2外部装置402のIPアドレスなどの接続先情報および接続するために必要な認証情報等を予め保持しているものとする。
制御装置301は、通信装置101を制御する場合は、第1外部装置401に対し、通信コネクション(第3コネクション)を確立することで、第1外部装置401に接続する。この際、制御装置301は、第1外部装置401のIPアドレスなどの接続先情報、および接続するために必要な認証情報等を予め保持しているものとする。制御装置301は、遠隔制御が完了したら、第3コネクションを閉じる。
第1外部装置401は、制御装置301と通信装置101との間の通信を中継する。第1外部装置401は、通信装置101の常時接続を想定した双方向通信プロトコルを処理する。通信プロトコルは、WebSocketやMQTTなどが想定されるが、上記以外でもよい。たとえば、コネクションレス型のUDPプロトコルをベースにしたCoAP(Constrained Application Protocol)、STUN(Simple Traversal of UDP through NATs)などであってもよい。第1外部装置401は、制御装置301からの遠隔制御要求を受信した場合は、パケットに含まれる情報などから送信先である通信装置101を判別し、遠隔制御要求を当該通信装置101に転送する。また、第1外部装置401は、通信装置101から第1コネクションを介して測定パケットを受信したときは、測定パケットを第2外部装置402へ転送する。第1外部装置401と第2外部装置402は同一のネットワーク上に存在する場合、測定パケットの転送はネットワーク601を介さずに行われる。
第2外部装置402は、通信装置101と第1外部装置401の間の経路のタイムアウト値を測定するために用いられる第2コネクションを、通信装置101と確立する。測定パケットを第1外部装置401から受信したときは、第2コネクションを介して、当該測定パケットを通信装置101に転送する。測定パケットの転送とは、前述に記載した意味に従う。
本実施形態では、第2外部装置402と通信装置101の通信経路と、第1外部装置401と通信装置101の通信経路が同じであるため、第1コネクションと第2コネクションのタイムアウト値は同じとみなせる。ゆえに、第2コネクションを用いた測定により決めた送信周期を第1コネクションに適用しても問題はない。仮に、第1コネクションを測定に用いると、制御装置301からの遠隔制御要求など他のパケットによって測定が妨げられるおそれがある。また、測定方法によっては、測定の途中で第1コネクションが切断される可能性があり、切断されている間は、制御装置301から通信装置101を制御できなくなる問題がある。
また、通信装置101から第2外部装置402に直接、測定パケットを送信すると、中継装置201のタイムアウト時間がリセットされてしまう可能性がある。つまり、本実施形態では、制御装置301および通信装置101間の遠隔制御の通信の開始は、制御装置301がトリガーになるため、外側から内側への方向、すなわち、第2外部装置402から通信装置101への方向の通信がどれくらいの間発生しなかったら、タイムアウトになるのかを知りたい。そのため、通信装置101は、測定パケットを第1コネクション経由で第2外部装置402に届け、第2コネクションで測定パケットを受信することで、この問題を解決する。
なお、第2外部装置402が第1外部装置401とは異なるネットワークに属する場合は、通信経路上に存在する中継機器も異なり、測定する送信周期の精度が低下する可能性がある。ただし、第2外部装置402が別ネットワーク上にあっても、異なる経路上に存在する中継装置201を把握している場合は、異なる中継装置201のタイムアウト値を考慮すればよいため、別ネットワークに存在していても問題はない。
次に、通信装置101が備える各部について説明する。通信インタフェース部102は、有線または無線の通信インタフェースである。通信部103は、TCP/IPの通信機能を備え、第1外部装置401および第2外部装置402と通信コネクションを確立し、パケットの送受信を、通信インタフェース部102を介して行う。Websocketが適用される場合、Websocketの機能を通信部103が行う。
通信維持部104は、中継装置201によって第1コネクションが切断されないように、第1コネクションを介して、キープアライブパケットを通信部103に送信させる。キープアライブパケットは、予め定められた送信周期、または、後述の送信周期決定部によって決定される送信周期で送信される。通信維持部104は、キープアライブパケットに対する応答パケットを受信する。
送信周期決定部105は、キープアライブパケットの送信周期を決定する。送信周期決定部105は、第2コネクションが確立された時刻、または第2コネクションで測定パケットを受信した時刻(あるいは第1コネクションで測定パケットを送信した時刻)等から、送信周期を更新する候補時間(送信間隔候補時間)の経過後に、通信部103に第1コネクションを用いて測定パケットを送信させる。この測定パケットを、第1外部装置401および第2外部装置402による転送により、第2コネクションを介して受信した場合は、キープアライブパケットの送信周期を、上述の送信間隔候補時間に更新しても第2コネクションは維持されることを意味する。よって、キープアライブパケットの送信周期を送信間隔候補時間に更新する。送信間隔候補時間の値を変更(増加等)させて、同様の処理を繰り返すことで、キープアライブパケットの送信周期を、経路のタイムアウト値に近づけるように決定できる。第2コネクションから測定パケットを受信しなかった場合は、第2コネクションは切断されていると推定でき、この場合の送信間隔候補時間は経路のタイムアウト値を越えていると判断できる。ゆえに、この場合は、この送信間隔候補時間でキープアライブパケットの送信周期を更新することは行わない。
送信間隔候補時間は、予め1つ以上の送信間隔候補時間が記録されたリストを送信周期決定部105に保持させておき、そのリストから選択してもよい。また、送信間隔候補時間の初期値を定め、一次関数、指数関数、ランダム関数などの関数によって求められる値を加算していってもよい。また、初期値から徐々に増やすのではなく、予め定められたアルゴリズムに従って定めてもよい。例えば、中継器の一般的なタイムアウト値を初期値として測定を行い、バイナリサーチ的に、第2コネクションが切断されていない場合は値を増加し、切断されていた場合は値を減少させ、これを繰り返すことで、キープアライブパケットの好適な送信周期を求めてもよい。送信間隔候補時間を徐々に増やすのではなく、徐々に減らすようにしてもよい。例えば上限が60の場合に、60→30→15→・・・のように徐々に減らし、最初に測定パケットを受信できたときの値を採用してもよい。また、固定的な数値リスト(送信間隔候補リスト)を用いてもよい。例えば、一般的なNATタイムアウトの間隔の分布が、例えば5分、15分、60分などに偏っていることを考慮して「4,14,59」という送信間隔候補リストを用意し、これを順番に試行するようにすることも想定される。以下の説明では、徐々に増やす場合を想定する。
測定可否判定部106は、通信装置101の状態または動作履歴に関する情報(以下、測定可否情報)に基づいて、送信周期決定部105が測定を行うか否かの判定(測定可否判定)を行う。測定可否情報としては、通信装置101の状態または動作履歴に関する情報であれば、種々のものが可能である。例えば、通信装置101の設定値などの情報や稼働履歴、測定の有無や回数、前回の測定日時などの測定履歴、第1外部装置401との接続維持時間などの接続履歴などがある。具体例として、測定可否判定は、通信装置101が初めて起動した時や再初期化された場合、通信装置101の主電源がONである場合、起動した時間が夜間の一定期間内である場合などに、実行させるとしてもよい。また、例えば、前回測定時から閾値以上の時間を経過していた場合、現在の送信周期が閾値よりも短い場合などに測定を実行させるとしてもよい。また、閾値は乱数や関数などを用いて、変動させてもよい。
測定可否情報記憶部107は、測定可否情報を記憶する記憶部である。測定可否判定部106は、測定可否判定をする際に、測定可否情報記憶部107から測定可否情報を取得してもよい。測定可否情報記憶部107は、図示されていない測定可否情報を収集する部などから測定可否情報を取得してもよい。
図2は、第1の実施形態に係る送信周期を決定する処理(送信周期決定処理)のフローチャートである。当該送信周期決定処理は、通信装置101の初回起動時、再初期化時、再起動時もしくは第1コネクションの切断の検出時など、通信装置101に予め設定されたタイミングで、通信装置101によって開始されるものとする。
通信装置101の通信部103は、第1外部装置401との間に、TLS上でのWebSocketプロトコルなどによる第1コネクションを確立する(S101)。通信装置101は、第1外部装置401に接続するための情報(接続先情報)を保持しているものとする。接続先情報は、接続先のURLや、IPアドレスおよびポート番号などがあげられる。第1コネクションを確立した通信装置101は、予め定められた周期でキープアライブパケットを送信し、応答パケットを受信することを繰り返することで、第1コネクションを維持する。
第1コネクションの確立要求には、送信元装置(通信装置)に関する情報(送信元識別情報)を含めてもよい。第1外部装置401または第2外部装置402は、第1コネクションと第2コネクションと通信装置101の情報(送信元識別情報)を対応付けて記憶してもよい。これにより第1外部装置401から転送された測定パケットを受信した第2外部装置402は、測定パケットを転送すべき通信装置と第2コネクションを特定できる。送信元識別情報は、通信装置名でも使用するユーザ名でもよいし、予め第1外部装置401に登録しておいたユーザや通信装置に関する情報でもよい。または以前のコネクション確立時に第1外部装置401等により生成されたコネクションごとの情報であってもよい。
また、第1コネクションの確立要求には、第1コネクションを確立する際に用いられる認証情報を含んでもよい。認証情報は、第1コネクション確立の際に認証が必要な場合に使用される。認証情報は、第1コネクションあるいは通信装置の単位で生成された事前共有鍵や、ユーザパスワードでもよい。または以前の認証処理の際に作成されたセッション識別情報などでもよく、第1外部装置401と認証できる情報であればよい。
通信装置101の測定可否判定部106は、測定可否情報記憶部107から測定可否情報を取得する(S102)。取得のタイミングは任意に定めてよい。本測定処理では、先述の第1コネクションの確立(S101)の後に測定可否を実施しているが、それより先に行ってもよい。
測定可否判定部106は、取得した測定可否情報にもとづき、測定可否判定を行うことにより、送信周期測定処理を行うか否かを決定する(S103)。
送信周期測定処理を行うと決定した場合(S104のYES)は、通信装置101は、送信周期測定処理を実施し(S105)、必要に応じて、キープアライブパケットの送信周期を更新する。送信周期測定処理を行わないと決定した場合(S104のNO)は、通信装置101は、送信周期測定処理を実施せず、送信周期決定処理を終了する。
図3は、送信周期測定処理(S105)の詳細フローチャートである。通信装置101の通信部103は、第2外部装置402に対し、送信周期測定処理に用いる第2コネクションを確立する(S201)。通信装置101は、第2外部装置402に接続するための情報(接続先情報)を保持しているものとする。接続先情報は、接続先のURLや、IPアドレスおよびポート番号などがあげられる。
通信装置101は、第2コネクションを確立後、測定パケットの送信時刻になるまで待機する(S202)。最初の測定パケットの送信時刻は、測定したい時間間隔を経過した時刻(送信間隔候補時間が経過した時刻)である。送信間隔候補時間の初期値は、第2コネクションが確立された時刻から、キープアライブパケットの送信周期の時間と同じにしてもよい。
通信装置101は、測定パケット送信時刻に、第1コネクションを介して、測定パケットを外部装置401に送信する(S203)。第1外部装置401は、測定パケットを第1コネクションを介して受信し、当該測定パケットを第2外部装置402へ転送する(S204)。第1外部装置401が受信したパケットを測定パケットと判断できるようにするために、測定パケットに測定パケットであることを示すパケット種別情報などを含めてもよい。または、通信装置101が送信するパケットに、転送先である第2外部装置402や第2コネクションの情報を含めておき、当該情報が含まれる場合は、第2外部装置402に転送するように設定しておけばよい。第2外部装置402への転送設定は、予めまたは第1コネクションが確立された際に設定しておけばよい。
第2外部装置402は、第1外部装置401から測定パケットが転送された場合、測定パケットを転送する先となる通信装置101と第2コネクションを特定し、第2コネクションを介して測定パケットを通信装置101に転送する(S205)。
第2外部装置402に、通信装置101および第2コネクションを選択させるために、送信元識別情報として、通信装置101が送信する測定パケットに第2コネクションの情報も含めておいてもよい。または、送信元識別情報として、通信装置101の識別情報を、通信装置101が送信する測定パケットに含めておき、第2外部装置402はコネクション確立時に記憶した通信装置101の識別情報と第2コネクションとの対応づけによって、第2コネクションを選択してもよい。
通信装置101は、第2外部装置402から転送された測定パケットを受信した場合、または、測定パケットを受信せずに測定パケットの送信から一定時間経過した場合は、測定の継続可否を判断する(S206)。測定パケットを受信し、かつ予め定めた条件を満たす場合(S206のYES)は、通信装置101は、キープアライブパケットの送信周期を更新し(S208)、測定パケットの次の送信時刻を、第2コネクションで測定パケットを受信した時刻(あるいは、直前に第1コネクションから測定パケットを送信した時刻あるいはその他の任意に定義した時刻でもよい。パケットの通信遅延や各装置内での処理時間は、送信周期に比べて小さいと考えられる。以下同様。)から、次の送信間隔候補時間を加えた時刻に設定する(S209)。そして、新たな送信時刻まで待機し(S202)、本処理を繰り返す。ここで、予め定めた条件を満たす場合の例として、試行回数(測定パケットの送信回数)が一定値に達していないこと、または送信間隔候補時間が閾値未満であることなどが挙げられる。測定パケットを受信しなかった場合や、当該予め定めた条件を満たさない場合(S206のNO)は送信周期測定処理を終了とし、第2コネクションを閉じる(S207)。予め定めた条件を満たさない場合の他の例として、第1外部装置401および第2外部装置402のうちの1つから送信周期決定処理の停止命令を受信した場合であってもよい。第1外部装置401または第2外部装置402は、予め定めたイベントが発生した場合に、第1コネクションまたは第2コネクションで、当該停止命令を送信してもよい。または、第1コネクションまたは第2コネクションでの通信が終了した場合であってもよい。なお、測定継続可否を、測定可否判定部106に行わせてもよい。また、送信周期の更新は測定パケットの送信ごとに行わず、送信周期測定処理終了後に一度行ってもよい。この場合、送信周期測定処理の終了までのキープアライブパケットの送信周期は、本フローの処理の開始前の値を継続して利用すればよい。
なお、本フローチャートの処理において、第1外部装置401または第2外部装置402の判断によって、測定パケットの転送を中止してもよい。また、測定パケットの代わりに、送信周期測定処理を中止または継続させないことを指示するためのパケットを通信装置101に送信してもよい。そのようなパケットを受信した通信装置101は送信周期測定処理を中止するようにすればよい。
図4は、送信周期決定処理時の通信シーケンスの一例を示す図である。通信装置101が第1コネクションの確立要求を第1外部装置401に対し送信し、第1外部装置401は、第1コネクションの確立応答を送信する。これにより、第1コネクションが確立する(A201)。以降、第1コネクションは、通信装置101によるキープアライブパケットの送信と、応答パケットの受信により維持され続ける(なお、中継装置のNATテーブルの構成に依存して、応答パケットの受信がなくても、第1コネクションが維持される可能性もある)。前述したように、第1外部装置401は、キープアライブパケットに対して第1コネクションを介して応答パケットを通信装置101に送信してもよい。
次に、通信装置101は第2コネクションの確立要求を第2外部装置402に送信し、第2外部装置402は、第2コネクションの確立応答を行う。これにより、第2コネクションが確立する(A202)。なお、第2コネクションでは、通信装置101はキープアライブパケットを送信しない。
次に、通信装置101は、M(Mは正の実数)秒待機した後で、第1コネクションを介して測定パケットを送信する(A203)。このMは、送信間隔候補時間の初期値であり、この値は、任意に定めてよい。例えば、現在のキープアライブパケットの送信周期の2倍などにしてもよい。測定パケットを受信した第1外部装置401は、即座に第2外部装置402に測定パケットを転送する(A204)。第2外部装置402は、受信した測定パケットを、第2コネクションを介してさらに通信装置101に転送する(A205)。ここでは、中継装置201で第2コネクションがまだ切断されていないとし、測定パケットを通信装置101が受信することができたとする。
通信装置101は、送信周期測定処理を継続可能として、2回目の送信周期測定処理を行う(A206、A207)。また、通信装置101は、測定パケットを受信できたので(A208)、キープアライブパケットの送信周期をM秒に更新しても問題ないと判断し、M秒に更新する。2回目の送信周期測定処理で用いる送信間隔候補時間も任意に定めてよい。この通信シーケンス例では、送信間隔候補時間を初期値MからL(Lは正の実数)秒増加したM+Lとする。通信装置101は、測定パケットを受信した時刻からM+L秒後の時刻まで待機する。なお、A206の前に、第2コネクション上でキープアライブパケットを送信し、応答を受信するように構成してもよい。本実施形態では、TCPベースのコネクションを想定しているが、特にUDPプロトコルを想定した場合には、経路上のNATテーブルを双方向(通信装置→外部装置、外部装置→通信装置)で更新しておくことで、より正確にタイムアウト計測を行うことも考えられる。
待機後、通信装置101は再度、第1コネクションを介して測定パケットを送信する(A209)。第1外部装置401、第2外部装置402も前回同様に処理し、測定パケットが通信装置101に返される(A210、A211)。通信装置101は、送信周期測定処理を継続可能として、再度送信周期測定処理を行うこととし、キープアライブパケットの送信周期をM+L秒に更新する。送信間隔候補時間は、前回の送信間隔候補時間からL秒増加したM+2Lとする。通信装置101は、先の測定パケットを受信した時刻からM+2L後の時刻まで待機する。3回目の送信周期測定処理でも測定パケットが受信できたため、キープアライブパケットの送信周期をM+2L秒に更新し、先の測定パケットを受信した時刻からM+3L秒後の時刻まで待機する。4回目の送信周期測定処理では、第2外部装置402が第2コネクションを介して測定パケットを転送するが(A212、A213)、第2コネクションはタイムアウトにより切断されており、測定パケットは通信装置101に到達しない(A214)。通信装置101は、一定時間経過しても測定パケットが到達しないため、測定継続不可として、送信周期測定処理を終了する。結果として、キープアライブパケットの送信周期はM+2L秒となる。
図5は、図4に示した送信周期測定処理と並行して、制御装置301から通信装置101間の遠隔制御通信が行われる場合の通信シーケンスの一例を示す図である。通信装置101は、第1外部装置401と第1コネクションを確立した後、キープアライブパケットを定期的に送信して、第1コネクションを維持する。キープアライブパケットの送信周期は当初N(Nは正の実数)秒であるが、図4で示した送信周期決定処理によって、キープアライブパケットの送信周期が更新されていく。図5では、1回目の送信周期はN、2回目はM+L、3回目はM+2Lとなったとする(なお、N、M、Lの大きさにより、送信周期が更新される前にキープアライブパケットが送信される場合もある。その場合は、前回と同じ周期で送信される)。4回目の送信周期決定処理は失敗したため、4回目以降は、M+2Lの周期のままでキープアライブパケットは送信され続ける。
制御装置301は、ユーザの所望のタイミングにより、第1外部装置401に対し、第3コネクションの確立要求を行う。この時、制御装置301は、第3コネクションから送られたパケットを第1コネクションに転送できるように、第1コネクションの確立時同様、ユーザや通信装置101の送信元識別情報を併せて送信してもよい。第1外部装置401は、制御装置301から第3コネクションの確立要求を受信すると、第3コネクションの確立応答を制御装置301に送信する。これにより、第3コネクションが確立する。
第3コネクションの確立後、制御装置301は、第1外部装置401に対し遠隔制御要求を送信する。遠隔制御要求には、第1外部装置401が遠隔制御要求を第1コネクションに転送することができるように、送信元識別情報が含まれていてもよい。
第1外部装置401は、第3コネクションを介して受信した遠隔制御要求を、第1コネクションを介して通信装置101に転送する。この時、第1外部装置401は、制御装置301の情報(送信元識別情報)や認証情報などを用い、遠隔制御要求を第3のコネクションから第1のコネクションに転送して問題ないことを確認してもよい。
通信装置101は、第1コネクションを介して制御結果を第1外部装置401に送信する。この制御結果に関するパケットにも、通信装置101の送信元識別情報を含めてもよい。第1外部装置401は、受信した制御結果を、第3コネクションを介して制御装置301に転送する。第1外部装置401は、第1コネクションから第3コネクションへの転送に関しても、送信元識別情報や認証情報などを用い、転送して問題ないことを確認してもよい。制御装置301は、遠隔制御を終了後、第3コネクションを切断する。
以上のように、第1の実施形態によれば、第2コネクションを用いて測定を行うことにより、第1コネクションのダウンタイムを作らずに、キープアライブパケットの送信周期を決定することができる。ゆえに、第1コネクションを利用する実サービスの通信(制御装置301から通信装置101への遠隔制御通信)への影響を抑えることができる。また、キープアライブパケットの送信周期をできるだけ長くすることで、コストを抑えることが可能となる。また、第2コネクションを第1外部装置401ではなく第2外部装置402に確立することや、測定可否判定部106によって第2コネクションを確立する回数を減らすことで、第1外部装置の負荷を抑えることが可能である。
(第2の実施形態)
図6は、本発明の第2の実施形態に係る通信システムを示す図である。第1の実施形態に対し、第3の外部装置であるサーバ装置として、接続調停装置(サーバ装置)701が追加されている。また、第2外部装置402は存在せず、第1コネクションおよび第2コネクションの両方とも、第1外部装置401に確立されるものとする。接続調停装置(サーバ装置)701は、通信インタフェース部702、判定部703、判定情報記憶部704を備える。
第1の実施形態では、通信装置101の測定可否判定部106が測定可否判定を行っていったが、第2の実施形態では、接続調停装置701が測定可否判定を行う。ただし、測定可否判定部106も、引き続き測定可否判定を行ってもよいし、両部の測定可否判定が、異なる測定可否情報に基づいて行われてもよい。
判定部703は、測定可否情報に基づいて測定可否判定を行い、通信インタフェース部702を介して、判定結果(測定可否)を含む測定指示情報を通信装置101へ送信する。測定可否情報および測定可否判定の判定方法は、第1の実施形態の測定可否判定部106で用いたものと同じでもよいし、それ以外でもよい。
判定情報記憶部704は、測定可否情報を記憶する記憶部である。測定可否情報は、第1の実施形態の測定可否情報記憶部107に記憶された通信装置101に関する情報だけでなく、第1外部装置401の情報、制御装置301の情報、遠隔制御または測定履歴等を含んでもよい。これらの情報は、接続調停装置701が各装置にポーリングして取得してもよいし、各装置が任意のタイミングで接続調停装置701に送信してもよい。また、判定情報記憶部704は、その情報の種類ごとに格納する複数の記憶部を有していてもよい。例えば、測定に関する情報を記憶する記憶部、通信装置101や第1外部装置401など機器に関する情報を記憶する記憶部、認証情報を記憶する記憶部などに分けてもよい。
図7は、第2の実施形態に係る送信周期決定処理のフローチャートを示す。第2の実施形態における送信周期決定処理も、第1の実施形態と同様、予め定められたタイミングで、通信装置101によって開始される。通信装置101は、測定指示要求を接続調停装置701に送信する(S301)。接続調停装置701は、測定指示要求を受けると、測定可否判定を行い(S302)、判定結果を含む測定指示情報を通信装置101に送信する(S303)。
通信装置101が、第1外部装置401と第1コネクションを確立する(S101)。以降の処理は、第1の実施形態と同じである。本フローでは、通信装置101が第1外部装置401と第1コネクションを確立する前に、測定指示要求(S301)を行っているが、第1コネクションを確立した後に行ってもよい。また第2の実施形態における送信周期測定処理のフローチャートは、第2外部装置402を第1外部装置401に置き換える点と、第1外部装置401から第2外部装置402への測定パケットの転送(S204)がない以外は同じである。
図8は、第2の実施形態に係る送信周期決定処理時の通信シーケンスの一例を示す図である。図4の通信シーケンスと異なる部分を説明する。
初めに通信装置101が、接続調停装置701に測定指示要求を送信する(A301)。測定指示要求には、コネクション確立時同様、送信元識別情報や認証情報を含めてもよい。
接続調停装置701は、測定可否判定を行い、測定可否の判定結果を含む測定指示情報を送信する(A302)。なお、測定不可の場合は、測定指示情報の送信を省略することも可能である。測定可の場合、すなわち、測定を指示する場合には、測定指示情報には、第2コネクションの識別情報と、第2コネクションの確立が許可された通信装置であることを示す情報、当該情報の正当性を検証するための秘密情報を含めてもよい。これにより、接続調停装置701に認められた通信装置101以外は、第2コネクションを確立することができなくなり、セキュリティが向上する。また、測定指示情報に、第1外部装置への通信コネクション確立に必要となる接続先情報を含めてもよい。これにより、通信装置101は、第2コネクションを確立する際に必要な情報を予め保持する必要はなく、システムの管理性が向上する。さらに、測定指示情報に、送信間隔候補時間のリスト、関数、アルゴリズムなど送信周期測定処理に用いる情報を含めてもよい。これにより、通信装置101の設定値によらずに、自由に測定方法を変更することが可能となる。また、測定指示情報に、測定開始時刻を含めてもよく、これにより通信量の少ない夜間などに送信周期測定処理を開始することも可能となる。
通信装置101は、測定可の判定結果を含む測定指示情報を受信した場合、すなわち、送信周期測定処理を行うように指示された場合、第1コネクションを確立し(A303)、その後、第2コネクションの確立要求を第1外部装置401に送信する(A304)。測定可の判定結果は明示的な情報として含まれていなくともよく、例えば、第2コネクションの識別情報など、第2コネクションに関する情報が含まれていた場合は、測定を指示されたと判断してもよい。なお、第2のコネクションを確立する際には、第2コネクションの確立要求時に、第1コネクションとは別のポート番号(通信装置101側のポート番号および第1外部装置側のポート番号)を用いればよい。
第1外部装置401は、通信装置101から第1コネクションを用いて送信された測定パケットを受信した場合は(A305)、第2コネクションを用いて、測定パケットを転送する(A306)。測定パケットを送信する第2コネクションを特定するために、第2コネクション確立時に、第2コネクションの確立要求に含まれる送信元識別情報などを用いて、第1コネクションと第2コネクションを対応づけしてもよい。あるいは、第1の実施形態で述べたのと同様の他の方法を用いてもよい。
以降の通信は、第1外部装置401が第2外部装置402の機能を担っている点を除き、図4の通信シーケンスと同じである(A307、A308、A309、A310、A311、A312)。また、遠隔制御通信に係る通信シーケンスは、第1の実施形態と同じである。
以上のように、第2の実施形態によれば、接続調停装置701が測定可否判定を行うことにより第1外部装置の負荷を制御できる。第1の実施形態では、通信装置が測定可否判定を行うため、測定処理を実行するタイミングが各通信装置101で決定される。この結果、同時間帯に多くの通信装置101が測定処理を行う可能性があり、第1外部装置401のメモリ等のリソースを逼迫する恐れがある。これに対し、第2の実施形態では、接続調停装置701が、外部装置401の状況などを考慮して、測定可否を判定するため、このような状況を回避することが可能となる。また、送信周期測定処理の測定方法を変更する場合なども、各通信装置101の設定を変更することなく、接続調停装置701のみを管理すればよい。これにより、送信周期測定処理の測定方法を変更する場合等への対応が容易となる。
(第3の実施形態)
図9は、第3実施形態に係る通信システムの概略構成を示すブロック図である。第3の実施形態では、第1外部装置401が複数台存在し、接続調停装置701が接続先情報記憶部705を備える点が、第2の実施形態と異なる。
第3の実施形態では、通信装置101と制御装置301は、接続調停装置701の接続先情報(アドレス等)を有するが、第1外部装置401の接続先情報(アドレス等)は有していないとする。このため、通信装置101と制御装置301は、第1外部装置401に接続する前に、接続調停装置701にそれぞれ接続先指示要求を送信して、第1外部装置401の接続先情報(アドレス等)を取得する。
接続調停装置701は、通信装置101の接続先指示要求に応じて、通信装置101の接続先となる第1外部装置を決定する。接続先として決定された第1外部装置の情報は接続先情報記憶部705に記憶される。接続先として決定された第1外部装置の情報は、接続先情報として通信装置101に送信される。また、接続調停装置701は、制御装置301からの接続先指示要求に対しては、制御装置301の制御対象である通信装置101の接続先である第1外部装置の情報を情報記憶部705から検出し、制御装置301に返信する。
図10は、第3の実施形態に係る送信周期決定処理のフローチャートを示す。第3の実施形態では、通信装置101は、再起動時など予め定められたタイミングで、接続先指示要求を接続調停装置701に送信する(S401)。ただし、通信装置101が以前の接続先であった第1外部装置401の接続先情報をキャッシュなどで保存し、一定期間有効として再接続を可能としておく場合などは、接続先指示要求の送信を不要としてもよい。
接続調停装置701の判定部703は、通信装置101の接続先となる第1外部装置を決定する(S402)。決定方法は、第2の実施形態での測定可否判定と同様の方法で判断してもよい。また、通信装置101との実際の距離、経路のホップ数、予想される経路のタイムアウト値なども考慮して判断してもよい。
接続先の決定後、接続調停装置701の判定部703は、測定可否判定も行う(S302)。測定可否判定は、第2の実施形態での測定可否判定と同様に行ってよい。判定部703は、接続先として決定した第1外部装置の情報(接続先情報)、および測定可否に関する測定指示情報を通信装置101に送信する(S403)。接続先情報には、第1外部装置のURL、IPアドレス、ポート番号などの情報が含まれる。測定指示情報は、第2の実施形態と同様である。
以降の処理は、第2の実施形態と同じである。また第3の実施形態における送信周期測定処理のフローチャートは、第2外部装置402を第1外部装置401に置き換える点と、第1外部装置401から第2外部装置402への測定パケットの転送(S204)がない以外は第1の実施形態の場合と同様である。また、送信周期測定処理に係る通信シーケンスは、通信装置101が送信する要求が測定指示要求から接続先指示要求に変更され、通信装置101に測定指示情報だけでなく接続先情報が送信される点を除き、同じである。
図11は、第3の実施形態に係る遠隔制御通信に関する通信シーケンスを示す図である。
通信装置101は、接続調停装置701に対し接続先指示要求を送信し(A401)、接続調停装置701から接続先情報を取得した上で(A402)、接続先情報により特定される第1外部装置401に第1コネクションを確立する(A403)。通信装置101は、第1コネクションの確立後、キープアライブパケットを一定の周期で送信しながら、制御装置301からの遠隔制御要求を待つ。
制御装置301も接続調停装置701に対し接続先指示要求を送信する(A404)。接続調停装置701の判定部703は、接続先指示要求に基づき、制御装置301が制御する対象となる通信装置101を判別する。この判別は、接続先指示要求に制御対象となる通信装置101の識別情報が含まれる場合は、当該識別情報に基づいて行ってもよいし、あるいは、予め保持している制御装置301と通信装置101の組み合わせのリストに基づいて行ってもよい。ここで述べた方法以外の方法で行ってもよい。接続調停装置701の判定部703は、制御対象となる通信装置101を判別したら、判別された通信装置101が第1コネクションを確立している第1外部装置401の情報を、接続先情報記憶部705から取得し、制御装置301の接続先情報として送信する(A405)。制御対象となる通信装置101を判別できない場合や、通信装置101が接続している第1外部装置の情報を取得できない場合は、エラー通知を返すようにしてもよいし、制御装置301に一定時間待機後に、再度、接続先指示要求を送信するよう指示してもよい。制御装置301は、取得した接続先情報から、接続先の第1外部装置401を特定し、特定した第1外部装置401に第3コネクションの確立要求を送信し、第1外部装置401から第3コネクションの確立応答を受信することで、第3コネクションを確立する(A406)。第3コネクション確立後以後の通信装置101との遠隔制御通信の通信シーケンスは、第1の実施形態と同様である。
以上のように、第3の実施形態では、通信装置101と制御装置301が、接続調停装置701の情報だけを知っていれば、接続すべき第1外部装置401の情報(アドレス等)を動的に取得することができ、複数の第1外部装置401で構成される大規模な通信システムにも本発明の実施が可能となる。また、本実施形態では、接続調停装置701が、通信装置101に接続先となる第1外部装置401の情報を送信すると同時に、測定指示情報の送信も行うことが出来る。
(第4の実施形態)
図12は、第4の実施形態に係る通信システムの概略構成を示すブロック図である。第3の実施形態との差分として、接続調停装置701が、測定制御部706をさらに備える。
測定制御部706は、判定部703を任意のタイミングで動作させ、測定可否判定を行わせる。判定部703が送信周期測定処理を通信装置101に行わせると決定した場合は、第1外部装置401を介して通信装置101に測定指示情報を送信する。判定部703を動作させるタイミングとして、測定制御部706は、通信装置101に送信周期測定処理を行わせるに適した状況と判断した場合でもよい。例えば、他の通信装置101の送信周期測定処理が終了し、第1外部装置401で実行中の送信周期測定実行数が閾値を下回ったなど、第1外部装置401の負荷が低い場合、または、ネットワークに輻輳がない場合などがあげられる。また、通信装置101の状態や履歴を判定情報記憶部704に格納しておき、測定制御部706がそれらの情報を参照し、通信装置101の前回測定時から一定時間が経過したタイミングで、判定部703を動作させてもよい。判断には、判定情報記憶部704または接続先情報記憶部705に記憶された情報を使用してもよい。また通信量が少ない夜間などで、定期的に判定部703を動作させてもよい。また第1外部装置401などから、送信周期測定処理を通信装置101に行わせてもよいとの通知を受けた場合に、判定部703を動作させてもよい。
図13は、第4の実施形態に係る、測定制御部706が判定部703を動作させた場合での送信周期決定処理のフローチャートを示す。本処理の前に、通信装置101と第1外部装置401との間に第1コネクションが確立され、維持されている。
測定制御部706は、任意のタイミングで判定部703を動作させる(S501)。判定部703は、第2または第3の実施形態と同様にして、測定可否判定を行う(S502)。送信周期測定処理を行わないと判定した場合(S503のNO)は、本処理は終了する。送信周期測定処理を行うと判定した場合(S503のYES)は、測定制御部706は、第1外部装置401に送信周期測定処理の実行要求(測定実行要求)を送信する(S504)。なお、この測定実行要求の送信は、判定部703が行ってもよい。測定実行要求を受信した第1外部装置401は、通信装置101に測定実行要求を転送する(S505)。測定実行要求を受信した通信装置101は、第1の実施形態と同様に、送信周期測定処理を実行する(S105)。なお、測定実行要求を第1外部装置401を介して通信装置101に送信するのは、接続調停装置701と通信装置101との間にコネクションが確立されておらず、接続調停装置701側がトリガーとなる送信は中継装置201のNAT等によって防がれる可能性を考慮したものである。このような可能性を考慮しなくてよいのであれば、測定制御部706から通信装置101に直接、測定実行要求を送信してもよい。
図14は、第4の実施形態に係る送信周期測定処理の通信シーケンスの一例を示す図である。第1のコネクションの確立までは、第3の実施形態と同じであるが、接続調停装置701で決定したタイミングで、測定実行要求が第1外部装置401に送信される(A501)。測定実行要求を受信した第1外部装置401は、第1コネクションを介して、測定実行要求を通信装置101に転送する(A502)。第1外部装置401が測定実行要求を転送するために、測定実行要求の種別を示すパケット種別情報や、通信装置101の情報(送信先識別情報)を含めてもよい。また、第1外部装置401が測定実行要求を受信した場合は、送信先識別情報に示される送信先やコネクションに転送するような設定を予め施しておけばよい。
測定実行要求を受信した通信装置101は、第1外部装置401に第2コネクションの確立要求を送信する(A304)。以降の処理は、今まで説明した実施形態と同じである。
以上のように、第4の実施形態は、接続調停装置701側で送信周期測定処理の実行タイミングを決定できる。したがって、第4の実施形態は、第2または第3の実施形態と比較して、測定処理の実行をより効率的に制御することができる。本実施形態においては、接続先指示と送信周期判定機能に直接的な関係がないため、接続先指示を行う接続調停機能と、送信周期判定機能とを別々のサーバ装置に配する構成をとることもできる。さらにいえば、第1の実施形態の拡張として、接続調停機能を前提としない構成(送信周期判定機能のみを備えるサーバ装置、または第1外部装置に送信周期判定機能を搭載したサーバ装置)へ適用することもできる。
なお、上記に説明した実施形態における各処理は、ソフトウェア(プログラム)によって実現することが可能である。よって、上記に説明した実施形態における通信装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することが可能である。
図15に本発明の一実施形態における通信装置101を備えたハードウェア構成例を示す。
通信装置101は、プロセッサ801、主記憶装置802、補助記憶装置803、ネットワークインタフェース804、デバイスインタフェース805を備え、これらがバス806を介して接続された、コンピュータ装置として実現できる。
プロセッサ801が、補助記憶装置803からプログラムを読み出して、主記憶装置802に展開して実行することで、通信部103、通信維持部104、送信周期決定部105、測定可否判定部106の機能を実現することができる。
第1の実施形態の通信装置101は、当該通信装置101上で実行されるプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、プログラムをCD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して配布して、コンピュータ装置に適宜インストールすることで実現してもよい。
ネットワークインタフェース804は、ネットワークに接続するための有線または無線のインタフェースである。通信インタフェース部102の機能は、このネットワークインタフェースにて実現できる。
また、デバイスインタフェース805は、外部記憶媒体807などの機器と接続するインタフェースである。また、通信装置101の外部に、制御装置301に制御される家電などの電気機器がある場合は、電気機器にも接続されてもよい。
外部記憶媒体807は、HDD、CD−R、CD−RW、DVD−RAM、DVD−R 等の任意の記録媒体でよい。
主記憶装置802は、プロセッサ801が実行する命令、および各種データ等を一時的に記憶するメモリ装置であり、DRAM等の揮発性メモリでも、MRAM等の不揮発性メモリでもよい。補助記憶装置803は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、HDDまたはSSD等がある。測定可否情報記憶部107の機能は、主記憶装置802、補助記憶装置803または外部記憶媒体807で実現できる。
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
101 通信装置
102 通信インタフェース部
103 通信部
104 通信維持部
105 送信周期決定部
106 測定可否判定部
107 測定可否情報記憶部
201 中継装置
301 制御装置
401 第1外部装置
402 第2外部装置
501 ネットワーク
601 通信ネットワーク
701 接続調停装置(サーバ装置)
702 通信インタフェース部
703 判定部
704 判定情報記憶部
705 接続先情報記憶部
706 測定制御部
801 プロセッサ
802 主記憶装置
803 補助記憶装置
804 ネットワークインタフェース
805 デバイスインタフェース
806 バス
807 外部記憶媒体

Claims (24)

  1. 通信ネットワークを介して、第1の外部装置と第1コネクションを確立し、第2の外部装置と第2コネクションを確立する通信部と、
    前記第1コネクションで前記第1の外部装置に第1の送信周期でキープアライブパケットを送信し、前記キープアライブパケットに対する応答パケットを受信する通信維持部と、
    前記第2コネクションの確立後または前記第2コネクションでの測定パケットの受信後、候補時間を開けて、前記第1コネクションで、前記第1の外部装置に測定パケットを送信し、前記第1外部装置によって前記第2外部装置に転送された前記測定パケットを前記第2コネクションで受信したかを確認する、送信周期決定処理を用いて、前記第1の送信周期を決定する送信周期決定部と
    を備えた通信装置。
  2. 前記通信装置の状態または動作履歴に関する情報に基づき、前記送信周期決定処理の実行可否を判定し、判定結果に応じて前記送信周期決定部を動作させる測定可否判定部
    をさらに備えた請求項1に記載の通信装置。
  3. 第3外部装置から測定指示情報を受信し、前記測定指示情報に基づいて、前記送信周期決定処理の実行可否を判定し、判定結果に応じて前記送信周期決定部を動作させる測定可否判定部
    をさらに備えた請求項1に記載の通信装置。
  4. 前記第1の外部装置と前記第2の外部装置は、同一の装置である
    請求項1ないし3のいずれか一項に記載の通信装置。
  5. 前記通信部は、
    前記第2コネクションの識別情報を含む、前記第1コネクションの確立要求を送信する、
    または、
    前記第1コネクションの識別情報を含む、前記第2コネクションの確立要求を送信する
    または、
    前記第2コネクションの識別情報を含む、前記測定パケットを送信する
    請求項1ないし4のいずれか一項に記載の通信装置。
  6. 前記送信周期決定部は、前記候補時間の値を変えて、前記送信周期決定処理を行うことを繰り返し行うことで前記第1の送信周期を決定する
    請求項1ないし5のいずれか一項に記載の通信装置。
  7. 前記送信周期決定部は、前記送信周期決定処理で前記測定パケットを受信できた場合は、前記候補時間を伸張し、伸張された候補時間で、前記送信周期決定処理を行うことを繰り返す
    請求項1ないし6のいずれか一項に記載の通信装置。
  8. 前記送信周期決定部は、前記送信周期決定処理で前記測定パケットを受信できなかった場合、または、前記測定パケットを受信しかつ前記候補時間が所定の値以上であるときは、前記送信周期決定処理の繰り返しを終了する
    請求項7に記載の通信装置。
  9. 前記送信周期決定部は、前記第1外部装置および前記第2外部装置のうちの1つから前記送信周期決定処理の停止命令を受信した場合、または、前記第1または前記第2コネクションでの通信が終了した場合に、前記送信周期決定処理の繰り返しを終了する
    請求項6または7に記載の通信装置。
  10. 前記送信周期決定部は、前記測定パケットを受信できた最大の値の前記候補時間に前記第1の送信周期を設定する
    請求項6ないし9のいずれか以降に記載の通信装置。
  11. 前記送信周期決定処理を繰り返すごとに、前記第1の送信周期を前記送信周期決定処理で決定された候補時間に設定する
    請求項6ないし9のいずれか一項に記載の通信装置。
  12. 前記送信周期決定部は、前記測定パケットを受信できたか否かを、前記測定パケットの送信から予め設定した時間内に前記測定パケットを受信できたか否かで判定する
    請求項1ないし11のいずれか一項に記載の通信装置。
  13. 前記測定可否判定部は、前記第3外部装置に測定可否の問い合わせを送信し、測定可を示す測定指示情報を受信した場合に、前記送信周期決定処理の実行可を判定する
    請求項3、または、少なくとも請求項3に従属する請求項4ないし12のいずれか一項に記載の通信装置。
  14. 前記測定可否判定部は、前記第1外部装置から前記第1コネクションを介して測定可を示す測定指示情報を受信した場合に、前記送信周期決定処理の実行可を判定する
    請求項ないし13のいずれか一項に記載の通信装置。
  15. 前記第3外部装置は、前記通信装置から前記第1コネクションを確立する第1外部装置の問い合わせを受けて、前記第1コネクションを確立する第1外部装置を回答する装置であり、
    前記第3外部装置への前記測定可否の問い合わせと、前記第3外部装置への前記第1外部装置の問い合わせとを含む情報を前記第3外部装置に送信する
    請求項13に記載の通信装置。
  16. 通信ネットワークを介して通信装置と通信する通信インタフェース部と、
    前記通信装置から、前記通信装置が外部装置との通信を利用して行う測定の許可要求を受信した場合に、測定可否を判定し、前記測定可否に関する測定可否情報を送信する判定部と、
    前記外部装置によって前記通信装置を認証するための認証情報を記憶する記憶部と、を備え、
    前記判定部は、前記測定を許可する場合に、前記記憶部に記憶された認証情報を読み出し、測定可の前記測定可否情報を、前記認証情報とともに前記通信装置に送信する
    サーバ装置。
  17. 前記判定部は、予め定めた関数により変動する閾値、または、乱数により変動する閾値に基づき、前記測定可を決定する
    請求項16に記載のサーバ装置。
  18. 前記判定部は、前記通信装置の状態または動作履歴に関する情報に基づいて、前記測定可否を判定する
    請求項16に記載のサーバ装置。
  19. 前記判定部は、前記外部装置の負荷状態または前記通信ネットワークの負荷状態に応じて、前記測定可否を判定する
    請求項16に記載のサーバ装置。
  20. 前記判定部は、前記負荷状態として、前記外部装置が実行中の測定のに基づいて、前記測定可否を判定する
    請求項19に記載のサーバ装置。
  21. 前記判定部は、前記通信装置が前記測定で送信する測定パケットを受けて前記外部装置に転送する第1外部装置を、複数の第1外部装置の中から特定し、前記測定可否情報とともに、特定した第1外部装置の情報を前記通信装置に送信する
    請求項16に記載のサーバ装置。
  22. 前記通信装置は、請求項1ないし15のいずれか一項に記載の通信装置である
    請求項16ないし21のいずれか一項に記載のサーバ装置。
  23. 通信ネットワークを介して、第1の外部装置と第1コネクションを確立し、第2の外部装置と第2コネクションを確立する確立ステップと、
    前記第1コネクションで前記第1の外部装置に第1の送信周期でキープアライブパケットを送信し、前記キープアライブパケットに対する応答パケットを受信する通信維持ステップと、
    前記第2コネクションの確立後または前記第2コネクションでの測定パケットの受信後、予め定めた候補時間を開けて、前記第1コネクションで、前記第1の外部装置に測定パケットを送信し、前記第1外部装置によって前記第2外部装置に転送された前記測定パケットを前記第2コネクションで受信したかを確認する、送信周期決定処理を用いて、前記第1の送信周期を決定する送信周期決定ステップと
    を備えた通信方法。
  24. 通信ネットワークを介して、第1の外部装置と第1コネクションを確立し、第2の外部装置と第2コネクションを確立する確立ステップと、
    前記第1コネクションで前記第1の外部装置に第1の送信周期でキープアライブパケットを送信し、前記キープアライブパケットに対する応答パケットを受信する通信維持ステップと、
    前記第2コネクションの確立後または前記第2コネクションでの測定パケットの受信後、予め定めた候補時間を開けて、前記第1コネクションで、前記第1の外部装置に測定パケットを送信し、前記第1外部装置によって前記第2外部装置に転送された前記測定パケットを前記第2コネクションで受信したかを確認する、送信周期決定処理を用いて、前記第1の送信周期を決定する送信周期決定ステップと
    をコンピュータに実行させるためのプログラム。
JP2014261275A 2014-12-24 2014-12-24 通信装置、サーバ装置、通信方法およびプログラム Active JP6470966B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014261275A JP6470966B2 (ja) 2014-12-24 2014-12-24 通信装置、サーバ装置、通信方法およびプログラム
US14/757,504 US10187284B2 (en) 2014-12-24 2015-12-23 Communication device, server device, communication method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014261275A JP6470966B2 (ja) 2014-12-24 2014-12-24 通信装置、サーバ装置、通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016122926A JP2016122926A (ja) 2016-07-07
JP6470966B2 true JP6470966B2 (ja) 2019-02-13

Family

ID=56165632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014261275A Active JP6470966B2 (ja) 2014-12-24 2014-12-24 通信装置、サーバ装置、通信方法およびプログラム

Country Status (2)

Country Link
US (1) US10187284B2 (ja)
JP (1) JP6470966B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6290053B2 (ja) * 2014-09-18 2018-03-07 株式会社東芝 通信装置、通信システムおよび通信方法
US20170126536A1 (en) 2015-10-30 2017-05-04 Contec, Llc Hardware Architecture for Universal Testing System: Cable Modem Test
US10277497B2 (en) 2015-09-25 2019-04-30 Contec, Llc Systems and methods for testing electronic devices using master-slave test architectures
US9992084B2 (en) 2015-11-20 2018-06-05 Contec, Llc Cable modems/eMTAs under test
US9838295B2 (en) 2015-11-23 2017-12-05 Contec, Llc Wireless routers under test
US9900116B2 (en) 2016-01-04 2018-02-20 Contec, Llc Test sequences using universal testing system
US10122611B2 (en) 2015-09-25 2018-11-06 Contec, Llc Universal device testing interface
US9810735B2 (en) * 2015-09-25 2017-11-07 Contec, Llc Core testing machine
US9960989B2 (en) * 2015-09-25 2018-05-01 Contec, Llc Universal device testing system
US10291959B2 (en) 2015-09-25 2019-05-14 Contec, Llc Set top boxes under test
US10320651B2 (en) 2015-10-30 2019-06-11 Contec, Llc Hardware architecture for universal testing system: wireless router test
US9900113B2 (en) 2016-02-29 2018-02-20 Contec, Llc Universal tester hardware
WO2021059650A1 (ja) * 2019-09-25 2021-04-01 日本電気株式会社 運用管理装置、システム、方法及びプログラムが格納された非一時的なコンピュータ可読媒体
US11700146B2 (en) * 2020-08-26 2023-07-11 Microchip Technology Incorporated EMI reduction in PLCA-based networks through beacon temporal spreading

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881214B2 (en) * 2002-10-25 2011-02-01 General Instrument Corporation Method for performing remote testing of network using IP measurement protocol packets
US8532304B2 (en) * 2005-04-04 2013-09-10 Nokia Corporation Administration of wireless local area networks
US8184542B2 (en) * 2005-12-08 2012-05-22 At&T Intellectual Property I, L.P. Methods, computer programs, and systems for verifying a customer premises connection to an integrated communication system
US20080181123A1 (en) * 2007-01-31 2008-07-31 Alexander Lisheng Huang Methods and apparatus to manage network testing procedures
US8953496B2 (en) * 2007-02-26 2015-02-10 Avaya Inc. Detection of asymmetric network routes
US20110013511A1 (en) * 2009-07-17 2011-01-20 Dekai Li End-to-end pattern classification based congestion detection using SVM
US9118599B2 (en) * 2012-04-13 2015-08-25 Verizon Patent And Licensing Inc. Network testing using a control server
JP5887231B2 (ja) 2012-09-06 2016-03-16 株式会社日立ソリューションズ 通信端末装置、メッセージ配信システム、及び通信方法
JP6039339B2 (ja) * 2012-10-03 2016-12-07 キヤノン株式会社 画像形成装置、制御方法およびコンピュータプログラム
JP2014175711A (ja) * 2013-03-06 2014-09-22 Kddi Corp 端末装置、Keep−Aliveタイミング制御システム、コンピュータプログラムおよびKeep−Aliveタイミング制御方法
JP6106494B2 (ja) 2013-03-29 2017-03-29 株式会社東芝 通信制御装置、サーバ装置、通信システム及びプログラム
JP6193155B2 (ja) 2014-03-05 2017-09-06 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP6279938B2 (ja) 2014-03-10 2018-02-14 株式会社東芝 接続管理装置、通信システム、接続管理方法およびプログラム
JP6193185B2 (ja) 2014-07-09 2017-09-06 株式会社東芝 通信装置、端末装置およびプログラム
JP6290053B2 (ja) 2014-09-18 2018-03-07 株式会社東芝 通信装置、通信システムおよび通信方法
US9842013B2 (en) * 2014-10-27 2017-12-12 Aruba Networks, Inc. Dynamic adaptive approach for failure detection of node in a cluster
US9853855B2 (en) * 2014-12-03 2017-12-26 Fortinet, Inc. Stand-by controller assisted failover
US9647919B1 (en) * 2014-12-04 2017-05-09 Amazon Technologies Automated determination of maximum service throughput

Also Published As

Publication number Publication date
JP2016122926A (ja) 2016-07-07
US20160191364A1 (en) 2016-06-30
US10187284B2 (en) 2019-01-22

Similar Documents

Publication Publication Date Title
JP6470966B2 (ja) 通信装置、サーバ装置、通信方法およびプログラム
JP6106494B2 (ja) 通信制御装置、サーバ装置、通信システム及びプログラム
JP6279938B2 (ja) 接続管理装置、通信システム、接続管理方法およびプログラム
JP6193185B2 (ja) 通信装置、端末装置およびプログラム
JP2017505473A5 (ja)
EP3250970B1 (en) Environment control device (ecd) and method for configuring the ecd to operate a wi-fi communication interface
RU2014131719A (ru) Устройство и способ реализации сети передачи данных, используемой для удаленного управления жилищем
US20180084058A1 (en) Communication device, communication method, controlled device, and non-transitory computer readable medium
JP6290053B2 (ja) 通信装置、通信システムおよび通信方法
US10110642B2 (en) Communication apparatus, communication system, communication method, and storage medium
KR101375133B1 (ko) 통합 sns 게이트웨이
US9661083B1 (en) Efficient notification protocol through firewalls
US10609110B2 (en) Remote access over internet using reverse session-origination (RSO) tunnel
US20140075541A1 (en) Systems and methods for accessing resources through a firewall
US10511671B2 (en) Communication device, communication method, controlled device, and non-transitory computer readable medium
JP6768322B2 (ja) 通信装置、通信方法、通信プログラム及び通信システム
JP6215089B2 (ja) 機器情報収集システム及び機器情報収集方法
US20190191326A1 (en) Relay communication apparatus, method, and non-transitory computer-readable storage medium for storing program for relay communication
JP6058857B1 (ja) ネットワーク監視装置、ネットワーク監視システム、およびネットワーク監視方法
WO2015177924A1 (ja) 通信装置及び通信方法及びプログラム
US20210119984A1 (en) Failure detection device, failure detection method, and failure detection program
JP6358650B2 (ja) 中継装置、中継方法及びプログラム
WO2016151798A1 (ja) 通信システム、設備管理装置、通信方法及びプログラム
JP2014192597A (ja) 通信制御方法、ローカル装置、情報処理端末、通信経路確立支援装置及びプログラム
JP2013223234A (ja) 通信装置、通信システム、通信方法及び通信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R151 Written notification of patent or utility model registration

Ref document number: 6470966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151