JP6957288B2 - Terminal equipment - Google Patents
Terminal equipment Download PDFInfo
- Publication number
- JP6957288B2 JP6957288B2 JP2017181130A JP2017181130A JP6957288B2 JP 6957288 B2 JP6957288 B2 JP 6957288B2 JP 2017181130 A JP2017181130 A JP 2017181130A JP 2017181130 A JP2017181130 A JP 2017181130A JP 6957288 B2 JP6957288 B2 JP 6957288B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processor
- individual
- relay device
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明の実施形態は、端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムに関する。 Embodiments of the present invention relate to terminal devices, relay devices, communication devices, communication systems, communication methods and programs.
クライアントサーバーモデルのシステムなどにおいて、クライアントからサーバーに対して多数のアクサスが発生する場合がある。このような場合、ネットワーク又はサーバーなどに対する負荷が増大する。特に、小さいサイズのパケットを大量に処理する場合には、サーバーのネットワークインターフェースなどに対する処理負荷が増大する。そこで、通信を高速化するために、ネットワークの中継装置で通信プロトコルを、例えばTCP(Transmission Control Protocol)などからUDP(User Datagram Protocol)などに変換する手法がある。 In a client-server model system, a large number of axes may occur from the client to the server. In such a case, the load on the network or the server increases. In particular, when processing a large number of small-sized packets, the processing load on the network interface of the server increases. Therefore, in order to speed up communication, there is a method of converting a communication protocol from, for example, TCP (Transmission Control Protocol) to UDP (User Datagram Protocol) or the like with a network relay device.
しかしながら、中継装置で通信プロトコルを変換するようなシステムは、中継装置などで異常が発生した場合、通信プロトコルの変換ができなくなり、クライアントとサーバーとの間で通信ができなくなってしまうという問題がある。本発明の実施形態が解決しようとする課題は、通信を安定させる端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムを提供することである。 However, a system that converts a communication protocol with a relay device has a problem that if an abnormality occurs in the relay device or the like, the communication protocol cannot be converted and communication between the client and the server cannot be performed. .. An object to be solved by an embodiment of the present invention is to provide a terminal device, a relay device, a communication device, a communication system, a communication method, and a program for stabilizing communication.
実施形態の端末装置は、第1の通信部、第2の通信部及び制御部を含む。第1の通信部は、通信装置と、前記通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置と、から成る送信先群から選択される1以上の送信先へ前記第1の個別パケットを送信する。第2の通信部は、前記中継装置の動作を示す診断パケットを受信する。制御部は、前記第1の個別パケットの送信先として第1の中継装置を選択する。制御部は、前記第1の中継装置への前記第1の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出する。制御部は、前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する。 The terminal device of the embodiment includes a first communication unit, a second communication unit, and a control unit. The first communication unit is to one or more destinations selected from a destination group consisting of a communication device, one or more relay devices that relay transmission of a first individual packet destined for the communication device, and a destination group. The first individual packet is transmitted. The second communication unit receives a diagnostic packet indicating the operation of the relay device. The control unit selects the first relay device as the transmission destination of the first individual packet. The control unit detects the non-receipt of the diagnostic packet after the transmission of the first individual packet to the first relay device or the non-transmission of the first individual packet based on the transmission record included in the diagnostic packet. do. When the control unit detects that the first individual packet has not been transmitted, the control unit selects a device other than the first relay device included in the destination group as a transmission destination.
以下、いくつかの実施形態に係る通信システムについて図面を用いて説明する。なお、各図面及び以下におけるその説明において同一の要素には同一の符号を付している。
〔第1実施形態〕
以下、第1実施形態に係る通信システムについて説明する。
図1は、第1実施形態に係る通信システム1の概要を示すブロック図である。図2は、第1実施形態に係る通信システム1及び通信システム1に含まれる構成要素の要部回路構成の一例を示すブロック図である。通信システム1は、例えば、クライアントである端末装置10とサーバーであるサーバー装置30とによって構成される、クライアントサーバーモデルのシステムである。通信システム1は、例えば、駅務システム、交通システム、防災システム、水処理システム等の社会インフラシステム、ビル制御システム、物流システム及び軍事システムなどの種々のシステムにおいて適用が可能である。なお、以下の実施形態では、通信システム1が駅務システムに適用される場合を例にして通信システム1の説明を行う。通信システム1は、複数の端末装置10、複数の中継装置20、サーバー装置30及び制御対象デバイスDAを含む。なお、複数の端末装置10のそれぞれは、例えば複数の地域A(地域A1、地域A2、…、地域An(nは、自然数。))のいずれかに設置される。なお、地域A1に設置された端末装置10を、端末装置10−1−1、端末装置10−1−2、…、地域A2に設置された端末装置10を、端末装置10−2−1、端末装置10−2−2、…、地域Anに設置された端末装置10を、端末装置10−n−1、端末装置10−n−2、…のように称するものとする。さらに、地域A1に設置された端末装置10を総称して端末装置10−1、地域A2に設置された端末装置10を総称して端末装置10−2、…、地域Anに設置された端末装置10を総称して端末装置10−nのように称するものとする。また、地域A1に設置された中継装置20を中継装置20−1、地域A2に設置された中継装置20を中継装置20−2、…、地域Anに設置された中継装置を中継装置20−nのように称するものとする。
また、地域A1にはネットワークNW1−1が設けられ、地域A2にはネットワークNW1−2が設けられ、…、地域AnにはネットワークNW1−nが設けられている。
地域Ak(kは、n以下の自然数。)に設置された端末装置10−k及び中継装置20−kは、ネットワークNW1−kに接続されている。なお、ネットワークNW1−1〜ネットワークNW1−nを総称してネットワークNW1と称するものとする。
ネットワークNW1は、典型的にはLAN(local area network)を含む通信網である。ネットワークNW1は、典型的にはイントラネットなどのプライベートネットワークを含む通信網である。ネットワークNW1は、インターネットを含む通信網であっても良い。ネットワークNW1は、WAN(wide area network)を含む通信網であっても良い。また、ネットワークNW1は、Profibus、Modbus又はTC−netなどのフィールドバスであってもよい。また、ネットワークNW1は、有線通信回線であっても良いし、無線通信回線であっても良い。また、ネットワークNW1は、有線通信回線と無線通信回線とが混在していても良い。
また、ネットワークNW1及びサーバー装置30は、ネットワークNW2に接続されている。ネットワークNW2は、典型的には、インターネットを含む通信網である。ネットワークNWは1、典型的には、WANを含む通信網である。ネットワークNW2は、イントラネットなどのプライベートネットワークを含む通信網であっても良い。ネットワークNW2は、LANを含む通信網であっても良い。また、ネットワークNW2は、専用線又は公衆携帯電話網などを含む通信網であっても良い。また、ネットワークNW2は、有線通信回線であっても良いし、無線通信回線であっても良い。また、ネットワークNW2は、有線通信回線と無線通信回線とが混在していても良い。
Hereinafter, communication systems according to some embodiments will be described with reference to the drawings. The same elements are designated by the same reference numerals in each drawing and its description below.
[First Embodiment]
Hereinafter, the communication system according to the first embodiment will be described.
FIG. 1 is a block diagram showing an outline of the
Further, a network NW1-1 is provided in the area A1, a network NW1-2 is provided in the area A2, ..., A network NW1-n is provided in the area An.
The terminal device 10-k and the relay device 20-k installed in the area Ak (k is a natural number of n or less) are connected to the network NW1-k. The network NW1-1 to network NW1-n are collectively referred to as network NW1.
The network NW1 is typically a communication network including a LAN (local area network). The network NW1 is typically a communication network including a private network such as an intranet. The network NW1 may be a communication network including the Internet. The network NW1 may be a communication network including a WAN (wide area network). Further, the network NW1 may be a fieldbus such as Profibus, Modbus or TC-net. Further, the network NW1 may be a wired communication line or a wireless communication line. Further, the network NW1 may be a mixture of a wired communication line and a wireless communication line.
Further, the network NW1 and the
端末装置10は、制御対象デバイスDAに接続される。あるいは、端末装置10は、制御対象デバイスDAに内蔵される。またあるいは、端末装置10と制御対象デバイスDAとは、一体の装置であっても良い。端末装置10は、制御対象デバイスDAから送信されるデータに基づく処理を行う。また、端末装置10は、制御対象デバイスDAを制御する。端末装置10は、サーバー装置30を宛先とするリクエストなどを送信する。
制御対象デバイスDAは、例えば、駅務機器、プラント、製造機械、防災システム上の機器、交通システム上の機器、医療機器、IoT(internet of things)機器、PC(personal computer)、タブレットPC、スマートホン又はゲーム機などの各種機器である。例えば、通信システム1が駅務システムに適用される場合には、制御対象デバイスDAは、例えば駅務機器である。なお、駅務機器は、自動改札機、自動券売機及び自動券売機などである。
端末装置10は、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、第1の通信I/F15及び第2の通信I/F16を含む。
The
Controlled device DA is, for example, station affairs equipment, plant, manufacturing machine, equipment on disaster prevention system, equipment on transportation system, medical equipment, IoT (internet of things) equipment, PC (personal computer), tablet PC, smart. Various devices such as phones or game machines. For example, when the
The
プロセッサー11は、端末装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、端末装置10の各種の機能を実現するべく各部を制御する。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。プロセッサー11は、制御部の一例である。プロセッサー11を中枢とするコンピューターは、制御部の一例である。
The
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
The
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。
The
RAM13又は補助記憶デバイス14などは、送信バッファーを記憶する場合がある。送信バッファーは、例えば、送信待ちのパケットが登録される。
RAM13又は補助記憶デバイス14などは、第1の到着リストを記憶する。第1の到着リストは、端末装置10に到着済みの個別パケットが登録される。
The
The
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶された状態で端末装置10の管理者などへと譲渡される。しかしながら、端末装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、端末装置10は、当該プログラムとは別のプログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。
The program stored in the
第1の通信I/F15は、端末装置10が制御対象デバイスDAと通信するためのインターフェースである。端末装置10は、例えば、第1の通信I/F15によって制御対象デバイスDAと接続される。第1の通信I/F15は、制御対象デバイスDAから送信される検知信号D1を受信する。また、第1の通信I/F15は、制御対象デバイスDAに対して制御信号D2を送信する。
The first communication I / F 15 is an interface for the
第2の通信I/F16は、端末装置10がネットワークNW1などを介して通信するためのインターフェースである。端末装置10は、例えば、第2の通信I/F16によってネットワークNW1と接続される。第2の通信I/F16は、第1の通信部の一例である。第2の通信I/F16は、第2の通信部の一例である。第2の通信I/F16は、第1の端末通信部の一例である。第2の通信I/F16は、第2の端末通信部の一例である。
The second communication I /
中継装置20は、端末装置10とサーバー装置30との間の通信を中継する機能を有する。また、中継装置20は、端末装置10とサーバー装置30との間の通信において、プロトコルの変換を行う機能を有する。中継装置20は、例えば、ゲートウェイなどである。中継装置20は、プロセッサー21、ROM22、RAM23、補助記憶デバイス24及び通信I/F25を含む。
The
プロセッサー21は、中継装置20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、中継装置20の各種の機能を実現するべく各部を制御する。プロセッサー21は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー21は、これらの組み合わせである。プロセッサー21は、処理部の一例である。プロセッサー21を中枢とするコンピューターは、処理部の一例である。
The
ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
The
補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス24は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。
The
RAM23又は補助記憶デバイス24などは、第1の集約バッファーを記憶する。第1の集約バッファーは、集約待ちの個別パケットが登録される。
The
ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、中継装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶された状態で中継装置20の管理者などへと譲渡される。しかしながら、中継装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶されない状態で当該管理者などに譲渡されても良い。また、中継装置20は、当該プログラムとは別のプログラムがROM22又は補助記憶デバイス24に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM22又は補助記憶デバイス24へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。
The program stored in the
通信I/F25は、中継装置20がネットワークNW1などを介して通信するためのインターフェースである。中継装置20は、例えば、通信I/F25によってネットワークNW1と接続される。通信I/F25は、第1の通信部の一例である。通信I/F25は、第2の通信部の一例である。通信I/F25は、第3の通信部の一例である。通信I/F25は、第1の中継通信部の一例である。通信I/F25は、第2の中継通信部の一例である。通信I/F25は、第3の中継通信部の一例である。
The communication I /
サーバー装置30は、例えば、端末装置10によって送信されるリクエストの内容に基づく処理を行う。そして、サーバー装置30は、例えば、リクエストの内容に基づき、当該リクエストの送信元を宛先とするレスポンスを送信する。サーバー装置30は、プロセッサー31、ROM32、RAM33、補助記憶デバイス34及び通信I/F35を含む。サーバー装置30は、通信装置の一例である。
The
プロセッサー31は、サーバー装置30の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー31は、ROM32又は補助記憶デバイス34などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、サーバー装置30の各種の機能を実現するべく各部を制御する。プロセッサー31は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー31は、これらの組み合わせである。プロセッサー31は、生成部の一例である。プロセッサー31を中枢とするコンピューターは、生成部の一例である。
The processor 31 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the
ROM32は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。ROM32は、専らデータの読み出しに用いられる不揮発性メモリである。ROM32は、上記のプログラムを記憶する。また、ROM32は、プロセッサー31が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 32 corresponds to the main storage device of a computer centered on the processor 31. The ROM 32 is a non-volatile memory used exclusively for reading data. The ROM 32 stores the above program. The ROM 32 also stores data or various set values used by the processor 31 to perform various processes.
RAM33は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。RAM33は、データの読み書きに用いられるメモリである。RAM33は、プロセッサー31が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。 The RAM 33 corresponds to the main storage device of a computer centered on the processor 31. The RAM 33 is a memory used for reading and writing data. The RAM 33 is used as a so-called work area or the like for storing data temporarily used by the processor 31 for performing various processes.
補助記憶デバイス34は、プロセッサー31を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス34は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス34は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス34は、プロセッサー31が各種の処理を行う上で使用するデータ、プロセッサー31での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 34 corresponds to an auxiliary storage device of a computer centered on the processor 31. The auxiliary storage device 34 is, for example, EEPROM, HDD, SSD, or the like. The auxiliary storage device 34 may store the above program. In addition, the auxiliary storage device 34 stores data used by the processor 31 to perform various processes, data generated by the processes of the processor 31, various set values, and the like.
RAM33又は補助記憶デバイス34などは、第2の集約バッファーを記憶する。第2の集約バッファーは、集約待ちの個別パケットが登録される。
RAM33又は補助記憶デバイス34などは、第2の到着リストを記憶する。第2の到着リストは、サーバー装置30に到着済みの個別パケットが登録される。
The RAM 33, the auxiliary storage device 34, and the like store a second aggregation buffer. In the second aggregation buffer, individual packets waiting to be aggregated are registered.
The RAM 33, the auxiliary storage device 34, and the like store a second arrival list. In the second arrival list, individual packets that have arrived at the
ROM32又は補助記憶デバイス34に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶された状態でサーバー装置30の管理者などへと譲渡される。しかしながら、サーバー装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶されない状態で当該管理者などに譲渡されても良い。また、サーバー装置30は、当該プログラムとは別のプログラムがROM32又は補助記憶デバイス34に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM32又は補助記憶デバイス34へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
The program stored in the ROM 32 or the auxiliary storage device 34 includes a program for executing a process described later. As an example, the
通信I/F35は、サーバー装置30がネットワークNW2などを介して通信するためのインターフェースである。サーバー装置30は、例えば、通信I/F35によってネットワークNW2と接続される。
The communication I / F 35 is an interface for the
端末装置10、中継装置20及びサーバー装置30について、図3を用いてさらに説明する。図3は、端末装置10、中継装置20及びサーバー装置30の機能構成を示すブロック図である。
The
端末装置10は、入力部101、ID付加部102、送信先選択部103、送信部104、第一受信部105、診断部106、第二受信部107、ID確認部108、受信選択部109及び出力部110を含む。
The
入力部101は、制御対象デバイスDAから検知信号D1を受けとる。例えば、第1の通信I/Fが、入力部101として機能する。
The
ID付加部102は、検知信号D1を一意に識別するための検知ID(identifier)を検知信号に付加する。ID付加部102は、例えば、端末装置10ごとにユニークに付与された端末IDと、それぞれの制御対象デバイスDAにおいて検知信号が生成される毎にインクリメントされる値(シーケンス番号)とを結合したものを検知IDとする。ここで、検知信号D1にパケットの種別、ID、データのサイズなどのヘッダー情報が付加されたものを、個別パケットD3と呼ぶ。例えば、プロセッサー11が、ID付加部102として機能する。
The
送信先選択部103は、中継装置20の動作状況により、個別パケットD3を中継装置20に送信するか、サーバー装置30に送信するかを選択する。例えば、プロセッサー11が、送信先選択部103として機能する。
The
送信部104は、個別パケットD3を中継装置20又はサーバー装置30に送信する。例えば、第2の通信I/F16が、送信部104として機能する。
The
第一受信部105は、中継装置20から送信される診断パケットD5を受信する。例えば、第2の通信I/F16が、第一受信部105として機能する。
The
診断部106は、個別パケットD3を送信してから一定時間以内に診断パケットD5が受信されているかを確認し、診断パケットD5が受信できている場合は中継装置20が正常であると診断し、受信できない場合は中継装置20が異常であると診断する。また、診断部106は、一定周期で診断パケットが受信できているかを確認し、中継装置20の異常を診断しても良い。また、診断部106は、個別パケットD3を送信後、一定時間以内に診断パケットD5が受信できなかった場合、中継装置20の復帰に時間がかかることを想定し、個別パケットD3の送信先を一定時間の間サーバー装置30に固定しても良い。例えば、プロセッサー11が、診断部106として機能する。
The
第二受信部107は、中継装置20又はサーバー装置30から送信される個別パケットD3を受信する。第二受信部107が受信した個別パケットD3には、例えば、パケットを識別するためのID及び制御信号D2などが格納されている。例えば、第2の通信I/F16が、第二受信部107として機能する。
The
ID確認部108は、受信した個別パケットD3の端末IDとシーケンス番号を参照して、当該個別パケットD3が到着済みであるかを確認する。例えば、プロセッサー11が、ID確認部108として機能する。
The
受信選択部109は、個別パケットD3の端末IDとシーケンス番号を参照して、当該個別パケットD3がすでに到着済みであるか判定する。そして、受信選択部109は、当該個別パケットD3が到着済みであると判定したならば、当該個別パケットを破棄する。例えば、プロセッサー11が、受信選択部109として機能する。
The
出力部110は、個別パケットD3から制御信号D2を読み取り、出力する。出力先は、例えば、制御対象デバイスDAなどである。例えば、第1の通信I/Fが、出力部110として機能する。
The
中継装置20は、第一受信部201、集約部202、集約パケット生成部203、第一送信部204、診断パケット生成部205、第二送信部206、第二受信部207、分離部208及び第三送信部209を含む。
The
第一受信部201は、端末装置10が送信する個別パケットD3を受信する。例えば、通信I/F25が、第一受信部201として機能する。
The
集約部202は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。集約部202は、どの程度の数の個別パケットを連結するかを、ネットワークNW2の帯域、MTU(maximum transmission unit)サイズ、又は端末装置10からの送信頻度などにより決定することができる。例えば、MTUが1500バイトの場合、集約部202は、集約パケットが1500バイト以内となるようにしても良い。例えば、プロセッサー21及びRAM23が、集約部202として機能する。
The
集約パケット生成部203は、連結した1以上の個別パケットに、パケット種別、中継装置のID、シーケンス番号等のヘッダー情報を付加した集約パケットD4を生成する。例えば、プロセッサー21が、集約パケット生成部203として機能する。
The aggregated
第一送信部204は、集約パケットD4をサーバー装置30に送信する。例えば、通信I/F25が、第一送信部204として機能する。
The
診断パケット生成部205は、連結した個別パケットから検知信号のデータ部分を除き、パケット種別、中継装置のID、シーケンス番号等のヘッダー情報を付加した診断パケットD5を生成する。また、連結する個別パケットが集約部202に存在しない場合は、パケット種別、中継装置のID、シーケンス番号のみを格納した診断パケットD5を送信する。診断パケットD5を送信する間隔は、例えば数ミリ秒程度の周期とする。また、集約パケット生成部203が一定の時間間隔で個別パケットを集約する場合、診断パケット生成部205が診断パケットD5を送信する時間間隔を、集約パケット生成部203が個別パケットを集約する時間間隔と同一にしても良い。例えば、プロセッサー21が、診断パケット生成部205として機能する。
The diagnostic
第二送信部206は、診断パケットD5を複数の端末装置10に一斉送信する。例えば、通信I/F25が、第二送信部206として機能する。
The
第二受信部207は、サーバー装置30から送信される集約パケットD4を受信する。例えば、通信I/F25が、第二受信部207として機能する。
The
分離部208は、サーバー装置30から送信された集約パケットD4を個別パケットD3に分離する。例えば、プロセッサー21が、分離部208として機能する。
The
第三送信部209は、分離した個別パケットD3を各端末装置10に送信する。例えば、通信I/F25が、第三送信部209として機能する。
The
サーバー装置30は、受信部301、分離部302、受信選択部303、判定部304、ID付加部305、送信先選択部306、第一送信部307、集約部308、集約パケット生成部309及び第二送信部310を含む。
The
受信部301は、端末装置10から送信される個別パケットD3、及び中継装置20から送信される集約パケットD4を受信する。例えば、通信I/F35が、受信部301として機能する。
The receiving
分離部302は、受信したパケットが個別パケットD3か、集約パケットD4かを判別し、集約パケットD4であれば個別パケットに分離する。また、分離部302は、受信したパケットが集約パケットか個別パケットかにより、返答する送信先を変更するための送信先情報を出力する。例えば、プロセッサー31が、分離部302として機能する。
The
受信選択部303は、個別パケットのIDを読み取り、すでに受信した個別パケットであれば破棄する。例えば、プロセッサー31が、受信選択部303として機能する。
The
判定部304は、受信した個別パケットD3のデータ部分に含まれる検知信号D1に基づき、アプリケーションの処理を行い、制御信号D2を生成する。例えば、駅務機器の場合、運賃の計算又はIC(integrated circuit)カードのアクセス情報の発行などである。例えば、プロセッサー31が、判定部304として機能する。
The
ID付加部305は、判定部304で生成した制御信号D2を一意に識別するためのIDを制御信号に付加する。例えば、送信先の端末装置10のIDと、制御信号が生成される毎にインクリメントされるシーケンス番号のペアをIDとする。制御信号にパケットの種別やID、データのサイズ等のヘッダー情報を付加したものも個別パケットD3と呼ぶ。例えば、プロセッサー31が、ID付加部305として機能する。
The
送信先選択部306は、分離部302で判定した送信先情報に基づき、個別パケットD3を端末装置10に送信するか、中継装置20に送信するかを選択する。送信先選択部306は、個別パケットD3を端末装置10から受信した場合、第一送信部307により、個別パケットD3を端末装置10に送信する。送信先選択部306は、集約パケットD4を中継装置20から受信した場合、個別パケットD3を集約部308に格納する。例えば、プロセッサー31が、送信先選択部306として機能する。
The
第一送信部307は、個別パケットD3を端末装置10に送信する。例えば、通信I/F35が、第一送信部307として機能する。
The
集約部308は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。例えば、プロセッサー31及びRAM33が、集約部308として機能する。
The
集約パケット生成部309は、連結した個別パケットに、パケット種別、送信先の中継装置のID、シーケンス番号等のヘッダー情報を付加した集約パケットD4を生成する。例えば、プロセッサー31が、集約パケット生成部309として機能する。
The aggregated
第二送信部310は、集約パケットD4を中継装置20に送信する。例えば、通信I/F35が、第二送信部310として機能する。
The
個別パケットD3は、例えば、図4に示すようなデータ構造を持つ。図4は、個別パケットD3のデータ構造の一例を示す図である。個別パケットD3は、パケット種別(D31)、端末ID(D32)、シーケンス番号(D33)、データサイズ(D34)及びデータ(D35)を含む。
パケット種別(D31)は、パケット種別(D31)を含むパケットが個別パケットであるか集約パケットであるかを判別する値を含む。パケット種別(D31)は、例えば、予め定められた値又は、通信のためのポート番号などである。
端末ID(D32)は、送信元又は送信先の端末装置10の端末IDを含む。例えば、端末ID(D32)は、例えば、端末装置のIPアドレスとポート番号とが結合された値を含む。あるいは例えば、端末ID(D32)は、端末装置10がサーバー装置30にアクセスする毎にサーバー装置30が当該端末装置10に対して発行するユニークなセッションIDなどを用いる。
シーケンス番号(D33)は、個別パケットD3の送信元である端末装置10又はサーバー装置30のそれぞれが、個別パケットを送信する毎に増加する番号を含む。例えば、ID付加部102は、当該番号を1ずつ増加させても良いし、個別パケットD3のサイズ分増加させても良い。
データサイズ(D34)は、データ(D35)のデータ容量を示す値を含む。
データ(D35)は、端末装置10に入力される検知信号D1又はサーバー装置30で生成される制御信号D2などが格納される。
なお、個別パケットD3は、例えば、TCPで送信される。あるいは、個別パケットD3は、UDPで送信されても良い。
The individual packet D3 has, for example, a data structure as shown in FIG. FIG. 4 is a diagram showing an example of the data structure of the individual packet D3. The individual packet D3 includes a packet type (D31), a terminal ID (D32), a sequence number (D33), a data size (D34), and data (D35).
The packet type (D31) includes a value for determining whether the packet including the packet type (D31) is an individual packet or an aggregate packet. The packet type (D31) is, for example, a predetermined value, a port number for communication, or the like.
The terminal ID (D32) includes the terminal ID of the source or
The sequence number (D33) includes a number that increases each time the
The data size (D34) includes a value indicating the data capacity of the data (D35).
The data (D35) stores a detection signal D1 input to the
The individual packet D3 is transmitted by, for example, TCP. Alternatively, the individual packet D3 may be transmitted by UDP.
集約パケットD4は、例えば、図5に示すようなデータ構造を持つ。図5は、集約パケットD4のデータ構造の一例を示す図である。集約パケットD4は、パケット種別(D31)、中継ID(D41)、シーケンス番号(D42)、及び1個以上の個別パケットデータ(例えば、個別パケットデータ1(D43)、個別パケットデータ2(D43)、…。)を含む。
パケット種別(D31)は、個別パケットD3と同様である。
中継ID(D41)は、送信元又は送信先の中継装置20を一意に識別するIDを含む。例えば、中継装置20のIPアドレスとポート番号とが結合された値、又は中継装置20がサーバー装置30に接続する毎に通信装置で発行するユニークなセッションIDなどを用いる。
シーケンス番号(D42)は、中継装置20及びサーバー装置30のそれぞれが集約パケットを送信する毎にインクリメントする番号を含む。例えば、当該番号は、集約パケットが送信される毎に1ずつインクリメントされる。あるいは、当該番号は、集約パケットが送信される毎に、集約パケットのサイズ分増加しても良い。
それぞれの個別パケットデータ(D43)は、個別パケットD3からパケット種別D31をのぞいたものである。
なお、集約パケットD4は、例えば、UDPで送信される。
The aggregated packet D4 has, for example, a data structure as shown in FIG. FIG. 5 is a diagram showing an example of the data structure of the aggregated packet D4. The aggregated packet D4 includes a packet type (D31), a relay ID (D41), a sequence number (D42), and one or more individual packet data (for example, individual packet data 1 (D43), individual packet data 2 (D43), ….)including.
The packet type (D31) is the same as that of the individual packet D3.
The relay ID (D41) includes an ID that uniquely identifies the transmission source or transmission
The sequence number (D42) includes a number that is incremented each time each of the
Each individual packet data (D43) is the individual packet D3 excluding the packet type D31.
The aggregated packet D4 is transmitted by, for example, UDP.
診断パケットD5は、例えば、図6に示すようなデータ構造を持つ。図6は、診断パケットD5のデータ構造の一例を示す図である。診断パケットD5は、パケット種別(D31)、中継ID(D41)、シーケンス番号(D42)、及び0個以上の個別パケットヘッダー(例えば、個別パケットヘッダー1(D51)、個別パケットヘッダー2(D51)、…。)を含む。
パケット種別(D31)、中継ID(D41)及びシーケンス番号(D42)は、集約パケットD4と同様である。
それぞれの個別パケットヘッダー(D51)は、個別パケットD3をもとに生成される。すなわち、個別パケットヘッダー(D51)は、個別パケットD3から端末ID(D32)とシーケンス番号(D33)を抜き出したものである。個別パケットヘッダー(D51)は、送信記録の一例である。
なお、診断パケットD5は、例えば、UDPで送信される。
The diagnostic packet D5 has, for example, a data structure as shown in FIG. FIG. 6 is a diagram showing an example of the data structure of the diagnostic packet D5. The diagnostic packet D5 includes a packet type (D31), a relay ID (D41), a sequence number (D42), and zero or more individual packet headers (for example, individual packet header 1 (D51), individual packet header 2 (D51), etc. ….)including.
The packet type (D31), relay ID (D41), and sequence number (D42) are the same as those of the aggregated packet D4.
Each individual packet header (D51) is generated based on the individual packet D3. That is, the individual packet header (D51) is obtained by extracting the terminal ID (D32) and the sequence number (D33) from the individual packet D3. The individual packet header (D51) is an example of transmission recording.
The diagnostic packet D5 is transmitted by, for example, UDP.
以下、第1実施形態に係る通信システム1の動作を図7〜13に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図7及び図8のそれぞれは、端末装置10のプロセッサー11による処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー11は、図7及び図8に示された処理を並行又は並列して同時的に処理する。図9及び図10のそれぞれは、中継装置20のプロセッサー21による処理のフローチャートである。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー21は、図9及び図10に示された処理を並行又は並列して同時的に処理する。図11〜図13のそれぞれは、サーバー装置30のプロセッサー31による処理のフローチャートである。プロセッサー31は、ROM32又は補助記憶デバイス34などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー31は、図11〜図13に示された処理を並行又は並列して同時的に処理する。なお、プロセッサー11は、図13に示す処理を開始するとき、変数iを、RAM13などに割り当てる。
なお、特に説明が無い限り、プロセッサー11、プロセッサー21及びプロセッサー31は、ステップS(m)(mは、自然数。)の処理の後、ステップS(m+1)へと進むものとする。
Hereinafter, the operation of the
Unless otherwise specified, the
端末装置10は、制御対象デバイスDAから検知信号D1が入力されたことに応じて、サーバー装置30を宛先とするデータを生成する。当該データは、個別パケットの形式で送信される。当該個別パケットは、送信待ちのために例えば送信バッファーに登録される。
The
図7のステップS111において端末装置10のプロセッサー11は、サーバー装置30を宛先とする個別パケットを生成するか否かを判定する。すなわち、プロセッサー11は、例えば、制御対象デバイスDAから検知信号D1が入力されたか否かを確認する。プロセッサー11は、個別パケットを生成しないならば、ステップS111においてNoと判定してステップS111を繰り返す。対して、プロセッサー11は、個別パケットを生成するならば、ステップS111においてYesと判定してステップS112へと進む。
In step S111 of FIG. 7, the
ステップS112においてプロセッサー11は、サーバー装置30を宛先とする個別パケットを生成する。例えば、当該個別パケットは、ステップS71で入力された検知信号D1が含まれる。ステップS112で生成される個別パケットは、第1の個別パケットの一例である。
In step S112, the
ステップS113においてプロセッサー11は、ステップS112で生成した個別パケットを中継装置20に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットを中継装置20に送信する。送信された当該個別パケットは、中継装置20の通信I/F25によって受信される。なおこのとき、例えば、プロセッサー11は、当該個別パケットの処理バッファーへの登録を解除する。
In step S113, the
一方、図9のステップS211において中継装置20のプロセッサー21は、通信I/F25によってパケットが受信されるのを待ち受けている。プロセッサー21は、パケットが受信されたならば、ステップS211においてYesと判定してステップS212へと進む。
On the other hand, in step S211 of FIG. 9, the
ステップS212においてプロセッサー21は、ステップS211で受信されたパケットが、個別パケットであるか否かを判定する。プロセッサー21は、ステップS211で受信されたパケットが、個別パケットであるならば、ステップS212においてYesと判定してステップS213へと進む。
In step S212, the
ステップS213においてプロセッサー21は、ステップS211で受信された個別パケットを、第1の集約バッファーに登録する。プロセッサー21は、ステップS213の後、ステップS211へと戻る。
In step S213, the
また、図10のステップS221においてプロセッサー21は、タイマーをリセットする。当該タイマーは、第2診断パケットを前回送信してからの時間を計測するためのタイマーである。なお、第2診断パケットについては後述する。
Further, in step S221 of FIG. 10, the
ステップS222においてプロセッサー21は、集約条件を満たしているか否かを判定する。集約条件は、例えば以下の(1)〜(3)のような条件のうちの少なくとも1つ以上を含む。
(1)個別パケットを、中継装置20が前回集約したときから一定時間以上経過した。
(2)第1の集約バッファーに登録された個別パケットの数が一定以上になった。
(3)第1の集約バッファーに登録された個別パケットのデータ容量の合計が一定以上になった。
プロセッサー21は、例えば、集約条件に含まれる上記(1)〜(3)に示すような条件のうちのいずれかを満たすと判定したならば、ステップS222において集約条件を満たすと判定する。プロセッサー21は、集約条件を満たしていないと判定したならば、ステップS222においてNoと判定してステップS223へと進む。
In step S222, the
(1) A certain period of time or more has passed since the
(2) The number of individual packets registered in the first aggregation buffer has exceeded a certain number.
(3) The total data capacity of the individual packets registered in the first aggregation buffer has exceeded a certain level.
If, for example, the
ステップS223においてプロセッサー21は、タイマーをリセットしてから時間T1以上経過したか否かを判定する。なお、時間T1は、例えば、中継装置20の管理者などによって予め設定される。あるいは、時間T1は、中継装置20の設計者などによって予め定められていてもよい。プロセッサー21は、タイマーをリセットしてから時間T1以上経過していないならば、ステップS223においてNoと判定してステップS222へと戻る。かくして、プロセッサー21は、集約条件が満たされるか、タイマーをリセットしてから時間T1以上経過するまでステップS222及びステップS223を繰り返す。
In step S223, the
プロセッサー21は、ステップS222及びステップS223の待受状態にあるときに集約条件を満たしていると判定したならば、ステップS222においてYesと判定してステップS224へと進む。
ステップS224においてプロセッサー21は、第1の集約バッファーに登録された複数の個別パケットを集約した集約パケットを生成する。なおこのとき、プロセッサー21は、例えば、第1の集約バッファーに登録された日時が古い個別パケットから順に集約の対象とする。そして、プロセッサー21は、集約の対象とした個別パケットを結合して集約する。なお、プロセッサー21は、集約の対象とした個別パケットについては、第1の集約バッファーへの登録を解除する。また、プロセッサー21は、集約パケットのサイズがMTU(maximum transmission unit)を超えないようにして集約パケットを生成することが好ましい。例えば、プロセッサー21は、これ以上集約の対象を増やすと集約パケットのサイズがMTUを超えると判定したとき、それ以上に個別パケットを集約の対象としない。ステップS224で生成される集約パケットは、第1の集約パケットの一例である。
ただし、プロセッサー21は、第1の集約バッファーに登録された個別パケットの数が1つの場合、個別パケットを1つだけ含む集約パケットを生成する。また、プロセッサー21は、2つの個別パケットを集約しただけで集約パケットのサイズがMTUを超えてしまう場合も、個別パケットを1つだけ含む集約パケットを生成する。
If the
In step S224, the
However, when the number of individual packets registered in the first aggregation buffer is one, the
ステップS225においてプロセッサー21は、ステップS224で生成した集約パケット集約パケットをサーバー装置30に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該集約パケットをサーバー装置30に送信する。送信された当該集約パケットは、サーバー装置30の通信I/F35によって受信される。
In step S225, the
ステップS226においてプロセッサー21は、第1診断パケットを生成する。第1診断パケットは、例えば、図6に示すような診断パケットD5である。
ステップS227においてプロセッサー21は、ステップS226において生成した第1診断パケットを端末装置10に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該第1診断パケットを端末装置10に送信する。送信された当該第1診断パケットは、端末装置10の第2の通信I/F16によって受信される。なお、第1診断パケットの送信先は、ステップS224で集約の対象とされた個別パケットそれぞれの送信元である端末装置10である。プロセッサー21は、ステップS227の処理の後、ステップS222へと戻る。
In step S226, the
In step S227, the
一方、図7のステップS114において端末装置10のプロセッサー11は、第1の通信I/F15によって第1診断パケットが受信されたか否かを判定する。プロセッサー11は、第1診断パケットが受信されないならば、ステップS114においてNoと判定してステップS115へと進む。
On the other hand, in step S114 of FIG. 7, the
ステップS115においてプロセッサー11は、タイムアウトしたか否かを判定する。すなわち、プロセッサー11は、ステップS113の処理の後、時間T2以上経過したか否かを確認する。なお、時間T2は、例えば、端末装置10の管理者などによって予め設定される。あるいは、時間T2は、端末装置10の設計者などによって予め定められていてもよい。プロセッサー11は、タイムアウトしていないならば、ステップS115においてNoと判定してステップS114へと戻る。かくして、プロセッサー11は、第1の通信I/F15によって第1診断パケットが受信されるか、タイムアウトしたまでステップS114及びステップS115を繰り返す。
In step S115, the
プロセッサー11は、ステップS114及びステップS115の待受状態にあるときに、第1の通信I/F15によって第1診断パケットが受信されたならば、ステップS114においてYesと判定してステップS111へと戻る。
If the first diagnostic packet is received by the first communication I / F15 while in the standby state of step S114 and step S115, the
一方、図11のステップS311においてサーバー装置30のプロセッサー31は、通信I/F25によってパケットが受信されるのを待ち受けている。プロセッサー31は、パケットが受信されたならば、ステップS311においてYesと判定してステップS312へと進む。
On the other hand, in step S311 of FIG. 11, the processor 31 of the
ステップS312においてプロセッサー31は、ステップS311で受信されたパケットが集約パケットであるか否かを判定する。プロセッサー31は、ステップS311で受信されたパケットが集約パケットであるならば、ステップS312においてYesと判定してステップS313へと進む。 In step S312, the processor 31 determines whether or not the packet received in step S311 is an aggregate packet. If the packet received in step S311 is an aggregate packet, the processor 31 determines Yes in step S312 and proceeds to step S313.
ステップS313においてプロセッサー31は、ステップS311で受信された集約パケットに含まれる個別パケットを個々の個別パケットに分割する。 In step S313, the processor 31 divides the individual packets included in the aggregated packets received in step S311 into individual individual packets.
ステップS314においてプロセッサー31は、ステップS311で受信された集約パケットに含まれる個別パケットのうち、到着済みである個別パケットを破棄する。なお、プロセッサー31は、例えば、第2の到着リストを参照することで到着済みであるか否かを判定する。 In step S314, the processor 31 discards the individual packets that have already arrived among the individual packets included in the aggregated packets received in step S311. The processor 31 determines whether or not it has arrived by referring to, for example, the second arrival list.
ステップS315においてプロセッサー31は、ステップS313において分割された個別パケットのうち、ステップS314において破棄された個別パケットを除く個別パケットを処理バッファーに登録する。 In step S315, the processor 31 registers the individual packets divided in step S313, excluding the individual packets discarded in step S314, in the processing buffer.
ステップS316においてプロセッサー31は、ステップS315において処理バッファーに登録した個別パケットを第2の到着リストに登録する。プロセッサー31は、ステップS316の処理の後、ステップS311へと戻る。 In step S316, the processor 31 registers the individual packet registered in the processing buffer in step S315 in the second arrival list. The processor 31 returns to step S311 after the processing of step S316.
また、図12のステップS331においてプロセッサー31は、処理バッファーに個別パケットが登録されているか否かを判定する。プロセッサー31は、処理バッファーに個別パケットが登録されていないならば、ステップS331においてNoと判定してステップS331を繰り返す。対して、プロセッサー31は、処理バッファーに個別パケットが登録されているならば、ステップS331においてYesと判定してステップS332へと進む。 Further, in step S331 of FIG. 12, the processor 31 determines whether or not individual packets are registered in the processing buffer. If the individual packet is not registered in the processing buffer, the processor 31 determines No in step S331 and repeats step S331. On the other hand, if the individual packet is registered in the processing buffer, the processor 31 determines Yes in step S331 and proceeds to step S332.
ステップS332においてプロセッサー31は、処理バッファーに登録された中から個別パケットを1つ処理対象に決定する。そして、プロセッサー31は、処理対象の個別パケットの内容に基づく処理を行う。なおこのとき、プロセッサー31は、例えば、処理バッファーに登録された日時が最も古い個別パケットを処理対象として決定する。また、プロセッサー31は、処理対象として決定した個別パケットについては、処理バッファーへの登録を解除する。 In step S332, the processor 31 determines one individual packet as a processing target from the ones registered in the processing buffer. Then, the processor 31 performs processing based on the content of the individual packet to be processed. At this time, the processor 31 determines, for example, the individual packet having the oldest date and time registered in the processing buffer as the processing target. Further, the processor 31 cancels the registration of the individual packet determined as the processing target in the processing buffer.
ステップS333においてプロセッサー31は、ステップS332の処理の結果、ステップS332において処理対象として決定した個別パケットの送信元である端末装置10に応答を返す必要があるか否かを判定する。プロセッサー31は、当該端末装置10に応答を返す必要がないならば、ステップS333においてNoと判定してステップS334へと進む。対して、プロセッサー31は、当該端末装置10に応答を返す必要があるならば、ステップS333においてYesと判定してステップS334へと進む。
In step S333, the processor 31 determines whether or not it is necessary to return a response to the
ステップS334においてプロセッサー31は、ステップS332において処理対象として決定した個別パケットが、中継装置20を経由してサーバー装置30に到着したものであるか否かを判定する。プロセッサー31は、当該個別パケットが、中継装置20を経由してサーバー装置30に到着しているならば、ステップS334においてYesと判定してステップS335へと進む。
In step S334, the processor 31 determines whether or not the individual packet determined as the processing target in step S332 has arrived at the
ステップS335においてプロセッサー31は、ステップS332において処理対象として決定した個別パケットの送信元である端末装置10を宛先とする応答を生成する。当該応答は、例えば、制御信号D2を含む。なお、プロセッサー31は、当該応答を、中継装置20を経由して当該端末装置10に到着する個別パケットとして生成する。当該中継装置20は、ステップS332において処理対象として決定された個別パケットが経由した中継装置20である。
In step S335, the processor 31 generates a response destined for the
ステップS336においてプロセッサー31は、ステップS334で生成した応答である個別パケットを第2の集約バッファーに登録する。プロセッサー31は、ステップS336の処理の後、ステップS331へと戻る。 In step S336, the processor 31 registers the individual packet, which is the response generated in step S334, in the second aggregation buffer. The processor 31 returns to step S331 after the processing of step S336.
また、図13のステップS341においてプロセッサー31は、変数iの値を1にする。 Further, in step S341 of FIG. 13, the processor 31 sets the value of the variable i to 1.
ステップS342においてプロセッサー31は、第2の集約バッファーに登録された個別パケットのうち、中継装置20−iを経由して送信される個別パケットが、集約条件を満たしているか否かを判定する。中継装置20−iを経由して送信される個別パケットの集約条件は、例えば以下の(4)〜(6)のような条件のうちの少なくとも1つ以上を含む。
(4)中継装置20−iを経由して送信される個別パケットを、サーバー装置30が前回集約したときから一定時間以上経過した。
(5)第2の集約バッファーに登録された、中継装置20−iを経由して送信される個別パケットの数が一定以上になった。
(6)第2の集約バッファーに登録された、中継装置20−iを経由して送信される個別パケットのデータ容量の合計が一定以上になった。
プロセッサー31は、例えば、集約条件に含まれる上記(4)〜(6)に示すような条件のうちのいずれかを満たすと判定したならば、ステップS341において集約条件を満たすと判定する。プロセッサー31は、中継装置20−iを経由して送信される個別パケットが集約条件を満たしていないならば、ステップS342においてNoと判定してステップS343へと進む。
In step S342, the processor 31 determines whether or not the individual packet transmitted via the relay device 20-i among the individual packets registered in the second aggregation buffer satisfies the aggregation condition. The aggregation condition of the individual packet transmitted via the relay device 20-i includes at least one or more of the following conditions (4) to (6), for example.
(4) A certain time or more has passed since the
(5) The number of individual packets registered in the second aggregation buffer and transmitted via the relay device 20-i has exceeded a certain number.
(6) The total data capacity of the individual packets transmitted via the relay device 20-i registered in the second aggregation buffer has exceeded a certain level.
If, for example, the processor 31 determines that any of the conditions (4) to (6) included in the aggregation condition is satisfied, it is determined in step S341 that the aggregation condition is satisfied. If the individual packets transmitted via the relay device 20-i do not satisfy the aggregation condition, the processor 31 determines No in step S342 and proceeds to step S343.
ステップS343においてプロセッサー31は、変数iをインクリメントして、変数iの値を1増やす。 In step S343, the processor 31 increments the variable i and increments the value of the variable i by 1.
ステップS344においてプロセッサー31は、変数iの値がnを超えるか否かを判定する。プロセッサー31は、変数iの値がnを超えないならば、ステップS344においてNoと判定してステップS342へと戻る。対して、プロセッサー31は、変数iの値がnを超えるならば、ステップS344においてYesと判定してステップS341へと戻る。
かくして、プロセッサー31は、ステップS342〜ステップS344の処理を繰り返すことで、中継装置20−1〜中継装置20−nのそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー31は、中継装置20−1〜中継装置20−nに対して送信する個別パケットのいずれかが集約条件を満たすまで、ステップS341〜ステップS344の処理を繰り返す。
In step S344, the processor 31 determines whether or not the value of the variable i exceeds n. If the value of the variable i does not exceed n, the processor 31 determines No in step S344 and returns to step S342. On the other hand, if the value of the variable i exceeds n, the processor 31 determines Yes in step S344 and returns to step S341.
Thus, the processor 31 repeats the processes of steps S342 to S344 to check whether the individual packets transmitted to each of the relay devices 20-1 to 20-n satisfy the aggregation condition. Then, the processor 31 repeats the processes of steps S341 to S344 until any of the individual packets transmitted to the relay devices 20-1 to the relay device 20-n satisfy the aggregation condition.
プロセッサー31は、中継装置20−iを経由して送信される個別パケットが集約条件を満たしているならば、ステップS342においてYesと判定してステップS345へと進む。
ステップS345においてプロセッサー31は、第2の集約バッファーに登録された個別パケットのうち、中継装置20−iを経由して送信される個別パケットを集約して、集約パケットを生成する。なおこのとき、プロセッサー31は、例えば、中継装置20−iを経由して送信される個別パケットのうち、第2の集約バッファーに登録された日時が古い個別パケットから順に第2の集約バッファーから取り出して、集約する。なお、プロセッサー31は、第2の集約バッファーから取り出した個別パケットについては、第2の集約バッファーへの登録を解除する。また、プロセッサー31は、集約パケットのサイズがMTUを超えないようにして集約パケットを生成することが好ましい。例えば、プロセッサー31は、次の個別パケットを集約すると集約パケットのサイズがMTUを超えると判定したとき、それ以上の集約を行わず、集約パケットの生成を完了する。
ただし、プロセッサー31は、第2の集約バッファーに登録された、中継装置20−iを経由して送信される個別パケットの数が1つの場合、個別パケットを1つだけ含む集約パケットを生成する。また、プロセッサー31は、2つの個別パケットを集約しただけで集約パケットのサイズがMTUを超えてしまう場合も、個別パケットを1つだけ含む集約パケットを生成する。
ステップS345で生成される集約パケットは、第2の集約パケットの一例である。
If the individual packets transmitted via the relay device 20-i satisfy the aggregation condition, the processor 31 determines Yes in step S342 and proceeds to step S345.
In step S345, the processor 31 aggregates the individual packets transmitted via the relay device 20-i among the individual packets registered in the second aggregation buffer to generate the aggregated packets. At this time, for example, among the individual packets transmitted via the relay device 20-i, the processor 31 extracts from the second aggregation buffer in order from the individual packet having the oldest date and time registered in the second aggregation buffer. And aggregate. The processor 31 cancels the registration of the individual packet taken out from the second aggregation buffer in the second aggregation buffer. Further, it is preferable that the processor 31 generates the aggregated packet so that the size of the aggregated packet does not exceed the MTU. For example, when the processor 31 determines that the size of the aggregated packet exceeds the MTU when the next individual packet is aggregated, the processor 31 completes the generation of the aggregated packet without performing further aggregation.
However, when the number of individual packets transmitted via the relay device 20-i registered in the second aggregation buffer is one, the processor 31 generates an aggregation packet including only one individual packet. Further, the processor 31 generates an aggregated packet including only one individual packet even when the size of the aggregated packet exceeds the MTU just by aggregating the two individual packets.
The aggregated packet generated in step S345 is an example of a second aggregated packet.
ステップS346においてプロセッサー31は、ステップS345において生成した集約パケットを中継装置20−iに送信するように通信I/F35に対して指示する。この指示を受けて通信I/F35は、当該集約パケットを中継装置20−iに送信する。送信された当該集約パケットは、中継装置20−iの通信I/F25によって受信される。プロセッサー31は、ステップS346の処理の後、ステップS343へと進む。
In step S346, the processor 31 instructs the communication I / F 35 to transmit the aggregated packet generated in step S345 to the relay device 20-i. In response to this instruction, the communication I / F 35 transmits the aggregated packet to the relay device 20-i. The transmitted aggregated packet is received by the communication I /
一方、中継装置20のプロセッサー21は、ステップS211で受信されたパケットが集約パケットであるならば、ステップS212においてNoと判定してステップS214へと進む。
ステップS214においてプロセッサー21は、ステップS211で受信された集約パケットに含まれる個別パケットを、個々の個別パケットに分割する。
On the other hand, if the packet received in step S211 is an aggregated packet, the
In step S214, the
ステップS215においてプロセッサー21は、ステップS214で分割したそれぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置10に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該それぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置10に送信する。送信された当該それぞれの個別パケットは、それぞれの個別パケットの宛先である端末装置10の第2の通信I/F16によって受信される。
In step S215, the
一方、図7のステップS121において端末装置10のプロセッサー11は、第2の通信I/F16によって個別パケットが受信されるのを待ち受けている。プロセッサー11は、個別パケットが受信されたならば、ステップS121においてYesと判定してステップS122へと進む。
On the other hand, in step S121 of FIG. 7, the
ステップS122においてプロセッサー11は、ステップS121で受信された個別パケットが到着済みであるのを待ち受ける。なお、プロセッサー11は、例えば、第1の到着リストを参照することで到着済みであるか否かを判定する。プロセッサー11は、ステップS121で受信された個別パケットが到着済みであるならば、ステップS122においてYesと判定してステップS121へと戻る。対して、プロセッサー11は、ステップS121で受信された個別パケットが到着済みでないならば、ステップS122においてNoと判定してステップS123へと進む。
In step S122, the
ステップS123においてプロセッサー11は、ステップS121で受信された個別パケットを第1の到着リストに登録する。
In step S123, the
ステップS124においてプロセッサー11は、ステップS121で受信された個別パケットの内容に基づく処理を行う。例えば、当該個別パケットに制御信号D2が含まれるならば、プロセッサー11は、当該制御信号D2を、制御対象デバイスDAに入力するように第1の通信I/F15に指示する。この指示を受けて第1の通信I/F15は、当該制御信号D2を第1の通信I/F15に接続された制御対象デバイスDAに入力する。プロセッサー11は、ステップS124の処理の後、ステップS121へと戻る。
制御信号D2が入力された制御対象デバイスDAは、当該制御信号D2に基づく動作をする。
In step S124, the
The controlled device DA to which the control signal D2 is input operates based on the control signal D2.
また、プロセッサー11は、図7のステップS114及びステップS115の待受状態にあるときにタイムアウトしたならば、ステップS115においてYesと判定してステップS117へと進む。なお、タイムアウトは、例えば、中継装置20に異常があって第1診断パケットが端末装置10に送信されない場合に発生する。あるいは、タイムアウトは、例えば、端末装置10と中継装置20との間の経路に異常があって端末装置10と中継装置20との間で通信が正常に行えない場合に発生する。
ステップS116においてプロセッサー11は、ステップS112で生成した個別パケットを、中継装置20を経由せずにサーバー装置30に到着するようにして、サーバー装置30に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットをサーバー装置30に送信する。送信された当該個別パケットは、サーバー装置30の通信I/F35によって受信される。
If the
In step S116, the
一方、サーバー装置30のプロセッサー31は、図11のステップS311で受信されたパケットが個別パケットであるならば、ステップS312においてNoと判定してステップS317へと進む。
On the other hand, if the packet received in step S311 of FIG. 11 is an individual packet, the processor 31 of the
ステップS317においてプロセッサー31は、ステップS311で受信された個別パケットが到着済みであるか否かを判定する。なお、プロセッサー31は、例えば、第2の到着リストを参照することで到着済みであるか否かを判定する。プロセッサー31は、ステップS311で受信された個別パケットが到着済みであるならば、ステップS317においてYesと判定してステップS318へと進む。 In step S317, the processor 31 determines whether or not the individual packet received in step S311 has arrived. The processor 31 determines whether or not it has arrived by referring to, for example, the second arrival list. If the individual packet received in step S311 has arrived, the processor 31 determines Yes in step S317 and proceeds to step S318.
ステップS318においてプロセッサー31は、ステップS311で受信された個別パケットを破棄する。プロセッサー31は、ステップS318の処理の後、ステップS311へと戻る。 In step S318, the processor 31 discards the individual packet received in step S311. The processor 31 returns to step S311 after the processing of step S318.
対して、プロセッサー31は、ステップS311で受信された個別パケットが到着済みでないならば、ステップS317においてNoと判定してステップS319へと進む。 On the other hand, if the individual packet received in step S311 has not arrived, the processor 31 determines No in step S317 and proceeds to step S319.
ステップS319においてプロセッサー31は、ステップS311で受信された個別パケットを処理バッファーに登録する。 In step S319, the processor 31 registers the individual packet received in step S311 in the processing buffer.
ステップS320においてプロセッサー31は、ステップS311で受信された個別パケットを第2の到着リストに登録する。プロセッサー31は、ステップS320の処理の後、ステップS311へと戻る。 In step S320, the processor 31 registers the individual packet received in step S311 in the second arrival list. The processor 31 returns to step S311 after the processing of step S320.
また、プロセッサー31は、ステップS332において処理バッファーから取り出した個別パケットが、中継装置20を経由してサーバー装置30に到着していFないならば、ステップS334においてNoと判定してステップS337へと進む。
Further, if the individual packet taken out from the processing buffer in step S332 has not arrived at the
ステップS337においてプロセッサー31は、ステップS332において処理バッファーから取り出した個別パケットの送信元である端末装置10を宛先とする応答を生成する。当該応答は、例えば、制御信号D2を含む。なお、プロセッサー31は、当該応答を、中継装置20を経由せずに当該端末装置10に到着する個別パケットとして生成する。ステップS337で生成される個別パケットは、第2の個別パケットの一例である。
In step S337, the processor 31 generates a response destined for the
ステップS338においてプロセッサー31は、ステップS337で生成した個別パケットを、中継装置20を経由せずに宛先である端末装置10に到着するように、当該端末装置10に送信するように通信I/F35に対して指示する。この指示を受けて通信I/F35は、当該個別パケットを当該端末装置10に送信する。送信された当該個別パケットは、当該端末装置10の第2の通信I/F16によって受信される。プロセッサー31は、ステップS338の処理の後、ステップS331へと戻る。
In step S338, the processor 31 sends the individual packet generated in step S337 to the communication I / F 35 so as to arrive at the
一方、図7のステップS117において端末装置10のプロセッサー11は、第2診断パケットが第2の通信I/F16によって受信されたか否かを判定する。プロセッサー11は、第2診断パケットが第2の通信I/F16によって受信されていないならば、ステップS117においてNoと判定してステップS118へと進む。なお、第2診断パケットについては後述する。
On the other hand, in step S117 of FIG. 7, the
ステップS118においてプロセッサー11は、ステップS111と同様にして、個別パケットを生成するか否かを判定する。プロセッサー11は、ステップS111と同様にして、個別パケットを生成しないならば、ステップS118においてNoと判定してステップS117へと戻る。かくして、プロセッサー11は、第2診断パケットが第2の通信I/F16によって受信されるか、個別パケットを生成すると判定するまでステップS117及びステップS118を繰り返す。
In step S118, the
プロセッサー11は、ステップS117及びステップS118の待受状態にあるときに、個別パケットを生成すると判定したならば、ステップS118においてYesと判定してステップS119へと進む。
プロセッサー11は、ステップS112と同様にして個別パケットを生成する。ステップS119で生成される個別パケットは、第1の個別パケットの一例である。
If the
The
ステップS120においてプロセッサー11は、サーバー装置30を宛先とする個別パケットを、中継装置20を経由せずにサーバー装置30に到着するようにして、サーバー装置30に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットをサーバー装置30に送信する。送信された当該個別パケットは、サーバー装置30の通信I/F35によって受信される。
In step S120, the
一方、中継装置20のプロセッサー21は、図10のステップS222及びステップS223の待受状態にあるときに、タイマーをリセットしてから時間T1以上経過したならば、ステップS223においてYesと判定してステップS227へと進む。
ステップS227においてプロセッサー21は、中継装置20が正常に動作しているか否かを判定する。プロセッサー21は、中継装置20が正常に動作していないと判定したならば、ステップS227においてNoと判定してステップS222へと戻る。対して、プロセッサー21は、中継装置20が正常に動作していると判定したならば、ステップS227においてYesと判定してステップS228へと進む。
On the other hand, if the
In step S227, the
ステップS228においてプロセッサー21は、第2診断パケットを生成する。なお、第2診断パケットは、個別パケットデータを含まない診断パケットである。また、第2診断パケットは、第1診断パケットとの区別が可能なように生成される。第2診断パケットを生成したプロセッサー21は、当該第2診断パケットを、中継装置20が設置されている地域と同じ地域内の端末装置10全てに送信するように通信I/F25に対して指示する。すなわち、中継装置20−kのプロセッサー21は、当該第2診断パケットを、ネットワークNW1−kに接続された端末装置10−kのそれぞれに送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該第2診断パケットをそれぞれの端末装置10−kに送信する。送信された当該第2診断パケットは、それぞれの端末装置10−kの第2の通信I/F16によって受信される。プロセッサー21は、ステップS228の処理の後、ステップS221へと戻る。
なお、第2診断パケットは、第2診断パケットの送信元である中継装置20が正常に動作していることを、端末装置10に対して通知するデータである。また、第2診断パケットは、例えば、中継装置20から端末装置10に対して時間T1毎に定期的に送信されるデータである。
In step S228, the
The second diagnostic packet is data that notifies the
一方、端末装置10のプロセッサー11は、図7のステップS117及びステップS118の待受状態にあるときに第2診断パケットが第2の通信I/F16によって受信されたならば、ステップS117においてYesと判定してステップS111へと戻る。
On the other hand, if the second diagnostic packet is received by the second communication I /
以上より、プロセッサー11を中枢とするコンピューターは、図7及び図8に示す処理を行うことで、制御部として機能する。プロセッサー21を中枢とするコンピューターは、図9及び図10に示す処理を行うことで、処理部として機能する。プロセッサー31を中枢とするコンピューターは、図11〜図13に示す処理を行うことで、生成部として機能する。
From the above, the computer centered on the
第1実施形態に係る通信システム1の動作を、図14〜図16を用いてさらに説明する。図14〜図16のそれぞれは、通信システム1の情報の流れの一例を示すシーケンス図である。なお、図14〜図16は、通信システム1における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。なお、シーケンス図の説明では、いずれも地域Akを例に説明を行う。
The operation of the
図14は、中継装置20に異常が無い場合の通信シーケンスの一例を示す。
端末装置10−k−1の端末IDは「1」、端末装置10−k−2の端末IDは「2」とする。端末装置10−k−1は、入力処理によって入力された「α」の検知信号D1を含む個別パケットD3を中継装置20に送信する。また、端末装置10−k−2は、入力処理によって入力された「β」の検知信号D1を含む個別パケットD3を中継装置20に送信する。なお、端末装置10−k−1が送信する個別パケットD3は、端末ID1(ID:1)とシーケンス番号1(Seq:1)を含む。そして、端末装置10−k−2が送信する個別パケットD3は、端末ID2(ID:2)とシーケンス番号1(Seq:1)を含む。
個別パケットD3を受信した中継装置20は、集約処理により個別パケットを集約バッファーにバッファリングする。そして、中継装置20は、バッファリングされた個別パケットを集約し、中継装置20のIDと集約パケットのシーケンス番号とを付加した集約パケットD4と診断パケットD5とを生成する。中継装置20は、集約パケットD4をサーバー装置30に送信し、診断パケットD5を端末装置10−k−1及び端末装置10−k−2に送信する。端末装置10−k−1及び端末装置10−k−2は、診断パケットD5を受信する。診断パケットD5を受信した端末装置10−k−1及び端末装置10−k−2は、診断パケットD5を受信したことから、中継装置20に異常がないと判定する。
サーバー装置30は、集約パケットD4を受信後、分離処理により集約パケットD4から、当該集約パケットD4に含まれる個々の個別パケットに分離する。そして、サーバー装置30は、個別パケットの端末IDとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。判定処理により制御信号D2「X」と「Y」をそれぞれ生成し、集約処理により集約パケットD6を生成する。なお、集約パケットD6のデータ構造は、例えば、集約パケットD4のデータ構造と同様である。検知信号D1が格納された集約パケットD4は中継装置20から送信されたため、制御信号D2が格納された集約パケットD6は中継装置20に送信される。中継装置20は、集約パケットD6を受信後、分離処理により集約パケットD6から、当該集約パケットD6に含まれる複数の個別パケットD7を分離する。そして、中継装置20は、端末装置10−k−1及び端末装置10−k−2のそれぞれに個別パケットD7を送信する。なお、個別パケットD7のデータ構造は、例えば、個別パケットD3と同様である。
端末装置10−k−1及び端末装置10−k−2は、制御信号D2が格納された個別パケットD7の端末IDとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、制御信号D2の出力処理を行う。
中継装置20が診断パケットD5を端末装置10に送信することにより、中継装置20が正常に動作していることを確認することができ、中継装置20によりパケットを集約してサーバー装置30の負荷を低減することができる。
FIG. 14 shows an example of a communication sequence when there is no abnormality in the
The terminal ID of the terminal device 10-k-1 is "1", and the terminal ID of the terminal device 10-k-2 is "2". The terminal device 10-k-1 transmits an individual packet D3 including the detection signal D1 of “α” input by the input process to the
The
After receiving the aggregated packet D4, the
The terminal device 10-k-1 and the terminal device 10-k-2 read the terminal ID and sequence number of the individual packet D7 in which the control signal D2 is stored, confirm that the individual packet is an unreceived individual packet, and confirm that the individual packet is an unreceived individual packet. The output process of D2 is performed.
By transmitting the diagnostic packet D5 to the
図15は、中継装置20に異常が発生した場合の通信シーケンスの一例を示す。
中継装置20は、個別パケットD3を受信不可能な状態であるか、個別パケットD3を受信しても処理ができない状態であるとする。この場合、中継装置20は、診断パケットD5を端末装置10−k−1及び端末装置10−k−2に送信することができない。したがって、端末装置10−k−1及び端末装置10−k−2は、個別パケットD3を送信してから一定時間以内に診断パケットが受信できないことを確認する。当該確認により、端末装置10−k−1及び端末装置10−k−2は、中継装置20が異常であると判断する。そして、端末装置10−k−1及び端末装置10−k−2のそれぞれは、個別パケットD3をサーバー装置30に送信する。
サーバー装置30は、端末装置10−k−1及び端末装置10−k−2のそれぞれから送信された個別パケットD3を受信した際に、個別パケットの端末IDとシーケンス番号を読み取る。そして、サーバー装置30は、受信した個別パケットD3が未受信の個別パケットであることを確認する。未受信であることを確認したサーバー装置30は、、判定処理を行う。サーバー装置30は、判定処理により、制御信号D2「X」と「Y」をそれぞれ生成する。サーバー装置30は、検知信号D1が格納された個別パケットD3については、端末装置10から送信されたものであるため、集約処理を行わない。そして、サーバー装置30は、制御信号D2が格納された個別パケットD7を端末装置10−k−1及び端末装置10−k−2に送信する。
端末装置10−k−1及び端末装置10−k−2は、制御信号D2が格納された個別パケットD7から端末IDとシーケンス番号を読み取り、未受信の個別パケットであることを確認する。未受信であることを確認した端末装置10−k−1及び端末装置10−k−2は、制御信号D2の出力処理を行う。
端末装置10が、中継装置20の状態に応じて、個別パケットの送信先を選択することができることにより、中継装置20に異常が発生した場合においても、一定の遅延時間で制御を継続することができる。診断パケットを生成するタイミングを数ミリ秒程度の周期にすると、中継装置20に異常が発生した場合の通信遅延時間が数ミリ秒となり、制御のリアルタイム性を確保することができる。
FIG. 15 shows an example of a communication sequence when an abnormality occurs in the
It is assumed that the
When the
The terminal device 10-k-1 and the terminal device 10-k-2 read the terminal ID and the sequence number from the individual packet D7 in which the control signal D2 is stored, and confirm that the individual packet is an unreceived individual packet. The terminal device 10-k-1 and the terminal device 10-k-2, which have been confirmed to have not been received, perform output processing of the control signal D2.
Since the
図16は、中継装置20の診断パケット生成部205又は第二送信部206に異常が発生した場合の通信シーケンスの一例を示す。
中継装置20は、診断パケットD5を送信することができない状態であるか、診断パケットD5の送信が遅延する状態であるとする。また、中継装置20は、集約パケットD4をサーバー装置30に送信できるものとする。この場合、端末装置10−k−1及び端末装置10−k−2は、タイムアウトするまでに中継装置20から送信される診断パケットD5を受信することができない。
端末装置10−k−1及び端末装置10−k−2は、個別パケットD3を送信してから一定時間以内に診断パケットD5が受信できないことを確認し、中継装置20が異常であると判断し、個別パケットD3をサーバー装置30に送信する。
以上より、サーバー装置30は、中継装置20から送信される集約パケットD4と、端末装置10−k−1及び端末装置10−k−2のそれぞれから送信される個別パケットD3を受信する。サーバー装置30は、集約パケットD4を受信した際には、当該集約パケットD4に対して分離処理を行う。そして、サーバー装置30は、集約パケットD4に含まれる個別パケットの端末IDとシーケンス番号を読み取る。また、サーバー装置30は、個別パケットD3を受信した際には、当該個別パケットD3の端末IDとシーケンス番号を読み取る。サーバー装置30は、集約パケットD4に含まれる個別パケット及び個別パケットD3のうちの先に到着した個別パケットに対して判定処理を行うそして、サーバー装置30は、それ以降に到着した同一の個別パケットを破棄する。
個別パケットにIDとシーケンス番号が付加されていることにより、サーバー装置30は、重複して検知信号D1を処理することがなくなる。また、端末装置10及びサーバー装置30は、中継装置20の一部の機能が異常となった場合においても、正常な制御を継続することができる。
FIG. 16 shows an example of a communication sequence when an abnormality occurs in the diagnostic
It is assumed that the
The terminal device 10-k-1 and the terminal device 10-k-2 confirm that the diagnostic packet D5 cannot be received within a certain period of time after transmitting the individual packet D3, and determine that the
From the above, the
By adding the ID and the sequence number to the individual packets, the
第1実施形態の通信システム1によれば、中継装置20は、端末装置10から送信された複数の個別パケットを集約してサーバー装置30に送信する。したがって、通信システム1は、サーバー装置30の通信負荷を軽減することができる。また、サーバー装置30は、各端末装置10に対する応答を集約して中継装置20に送信する。これにより、サーバー装置30の通信負荷が軽減される。
According to the
また、第1実施形態の通信システム1によれば、中継装置20は、端末装置10から受信した個別パケットを集約した集約パケットを正常にサーバー装置30に送信した場合、診断パケットを端末装置10に送信することで、送信が正常に行われたことを端末装置10に通知することができる。端末装置10は、診断パケットによって、送信が正常に行われたことを知ることができる。また、端末装置10は、診断パケットが送られてこなかった場合には、中継装置20に異常があると判定することができる。そして、中継装置20は、中継装置20に異常があると判定した場合には、個別パケットを、中継装置20を介さずに直接サーバー装置30に送信する。したがって、中継装置20に異常がある場合でも、個別パケットが失われずにサーバー装置30に送信される。また、以上より、通信システム1は、中継装置20に異常がある場合でも端末装置10とサーバー装置30との間の通信が可能である。すなわち、端末装置10とサーバー装置30とは、安定した通信が可能である。
Further, according to the
第2診断パケットは、端末装置10が個別パケットデータを送信していない間であっても定期的に送信される。したがって、端末装置10は、中継装置20が異常な状態から復帰したことを、第2診断パケットを受信したことによって知ることができる。
The second diagnostic packet is periodically transmitted even while the
制御対象デバイスDAが駅務機器である場合、検知信号D1及び制御信号D2のデータ量が小さいため、パケット集約による負荷軽減の効果が大きい。したがって、制御対象デバイスDAが駅務機器である場合に、実施形態の通信システム1は特に有用である。また、制御対象デバイスDAが自動改札機である場合、検知信号D1を出力してから制御信号D2が入力されるまでの時間に、リアルタイム性が要求される。したがって、制御対象デバイスDAが自動改札機を含む場合、実施形態の通信システム1は殊に有用である。
When the controlled device DA is a station equipment, the amount of data of the detection signal D1 and the control signal D2 is small, so that the effect of reducing the load by packet aggregation is large. Therefore, the
〔第2実施形態〕
以下、第2実施形態に係る通信システムについて説明する。
第2実施形態に係る通信システム1の構成は、第1実施形態の図1及び図2と同様であるので説明を省略する。ただし、第2実施形態に係る通信システム1は、図3に代えて図17に示すような機能構成を示す。図17は、端末装置10、中継装置20及びサーバー装置30の機能構成を示すブロック図である。
[Second Embodiment]
Hereinafter, the communication system according to the second embodiment will be described.
Since the configuration of the
端末装置10は、入力部101、ID付加部102、送信先選択部103、送信部104、第一受信部105、診断部106、第二受信部107、ID確認部108、受信選択部109及び出力部110に加えて異常通知部121を含む。
The
異常通知部121は、異常信号D8を外部に送信し、入力部101を一次的に停止する機能を備える。端末装置10の異常信号D8は、端末装置10又は制御対象デバイスDAを利用する利用者に報知される。例えば、自動改札機のランプや画面表示等が、利用者に通信システム1に異常が発生した事を報知する。また、異常通知部121は、入力部101を一時的に停止させる。これにより、異常通知部121は、サーバー装置30の負荷を低減させることができる。
The
中継装置20は、第一受信部201、集約部202、集約パケット生成部203、第一送信部204、診断パケット生成部205、第二送信部206、第二受信部207、分離部208及び第三送信部209に加えて負荷計測部221を含む。
The
負荷計測部221は、中継装置20の負荷の高さを計測する機能を備える。負荷計測部221が計測する付加は、例えば、中継装置20のプロセッサー21の使用率、RAM23の使用率、及びネットワークの使用率などである。負荷計測部221は、中継装置20が集約パケットを生成するタイミングで負荷の高さを計測し、負荷情報を診断パケット生成部へ通知する。診断パケット生成部205は、中継装置20の負荷の高さが一定値以上となった場合、診断パケットD5に個別パケットヘッダーD51の一部を格納せずに、端末装置10に送信する。
The
サーバー装置30の機能構成は、第1実施形態の図3と同様であるので説明を省略する。
Since the functional configuration of the
第2実施形態の診断パケット生成部205によって生成される集約パケットD4は、例えば、図18に示すようなデータ構造を持つ。
診断パケット生成部205は、負荷計測部が計測した負荷の高さに応じて、診断パケットD5に含める個別パケットヘッダーD51の数を減らす。診断パケット生成部205は、例えば、負荷が第1の閾値以上である場合に、中継装置20の負荷が基準以上に高いと判断して、診断パケットD5に含める個別パケットヘッダーD51の数を減らす。また、診断パケット生成部205は、例えば、負荷の高さが高いほど個別パケットヘッダーD51を多く減らす。そして、診断パケット生成部205は、例えば、負荷の高さが第2の閾値以上である場合、診断パケットD5に個別パケットヘッダーを含めない。
同様に、集約部202は、負荷計測部が計測した負荷の高さに応じて、連結する個別パケットデータD43の数を減らす。集約部202は、例えば、負荷が第1の閾値以上である場合に、中継装置20の負荷が基準以上に高いと判断して、連結する個別パケットデータD43の数を減らす。また、集約部202は、例えば、負荷の高さが高いほど連結する個別パケットデータD43を多く減らす。そして、集約部202は、例えば、負荷の高さが第2の閾値以上である場合、個別パケットデータD43を連結しない。したがって、集約パケット生成部203も集約パケットD4を生成するには及ばない。
なお、診断パケット生成部205が生成する診断パケットD5に含まれる個別パケットヘッダーD51の数と、集約部202が連結する個別パケットデータD43の数は、同じである。また、診断パケット生成部205が生成する診断パケットD5に含まれる個別パケットヘッダーD51と、集約部202が連結する個別パケットデータD43とは、同じ個別パケットに対応するものである。
図18に示す診断パケットD5は、一例として、4つの個別パケットが集約対象である場合に生成されるものである。
診断パケット生成部205は、例えば、負荷が40%未満の場合、個別パケットヘッダーD51を4つ全て含む診断パケットD5を生成する。このとき、集約部202が連結する個別パケットデータD43の数も同様に4つである。診断パケット生成部205は、例えば、負荷が40%以上50%未満の場合、個別パケットヘッダーD51を1つ減らして、個別パケットヘッダーD51を3つだけ含む診断パケットD5を生成する。このとき、集約部202が連結する個別パケットデータD43の数も同様に3つである。診断パケット生成部205は、例えば、負荷が50%以上60%未満の場合、個別パケットヘッダーD51を半分、すなわち2つ減らして、個別パケットヘッダーD51を2つだけ含む診断パケットD5を生成する。このとき、集約部202が連結する個別パケットデータD43の数も同様に2つである。診断パケット生成部205は、例えば、負荷が60%以上70%未満の場合、個別パケットヘッダーD51を3つ減らして、個別パケットヘッダーD51を1つだけ含む診断パケットD5を生成する。このとき、集約部202が連結する個別パケットデータD43の数も同様に1つである。診断パケット生成部205は、例えば、負荷が70%以上の場合、個別パケットヘッダーD51を4つとも減らして、個別パケットヘッダーD51を含まない診断パケットD5を生成する。このとき、集約部202が連結する個別パケットデータD43の数も同様に0である。以上の例の場合、第1の閾値は40%である。また、以上の例の場合、第2の閾値は、70%である。
なお図18に示す診断パケットD5は一例であって、第1の閾値及び第2の閾値などの閾値を限定するものではない。また、図18に示す診断パケットD5は一例であって、診断パケット生成部205が個別パケットヘッダーD51を減らす数を限定するものではない。また、閾値は、固定の値でなくても良い。
The aggregated packet D4 generated by the diagnostic
The diagnostic
Similarly, the
The number of individual packet headers D51 included in the diagnostic packet D5 generated by the diagnostic
The diagnostic packet D5 shown in FIG. 18 is generated when four individual packets are to be aggregated, as an example.
For example, when the load is less than 40%, the diagnostic
The diagnostic packet D5 shown in FIG. 18 is an example, and does not limit the threshold values such as the first threshold value and the second threshold value. Further, the diagnostic packet D5 shown in FIG. 18 is an example, and does not limit the number in which the diagnostic
以下、第2実施形態に係る通信システム1の動作を図8、図9、図11〜図13、図19及び図20に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第2実施形態では、端末装置10は、第1実施形態の図7及び図8に示す処理に代えて図19及び図8に示す処理を行う。図19は、端末装置10のプロセッサー11による処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー11は、図19及び図8に示された処理を並行又は並列して同時的に処理する。また、第2実施形態では、中継装置20は、第1実施形態の図9及び図10に示す処理に代えて図9及び図20に示す処理を行う。図20は、中継装置20のプロセッサー21による処理のフローチャートである。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー21は、図9及び図20に示された処理を並行又は並列して同時的に処理する。また、サーバー装置30は、第1実施形態と同様に図11〜図13に示す処理を行う。
Hereinafter, the operation of the
第2実施形態では、端末装置10のプロセッサー11は、図19のステップS114においてYesと判定したならば、ステップS131へと進む。
ステップS131においてプロセッサー11は、ステップS113で送信された個別パケットが、中継装置20からサーバー装置30へと正常に送信されたか否かを判定する。なお、プロセッサー11は、ステップS114で受信された第1診断パケットを参照することで、当該判定を行う。すなわち、プロセッサー11は、当該第1診断パケットに、ステップS113で送信された個別パケットから生成された個別パケットヘッダーが含まれるならば正常に送信された判定する。そして、プロセッサー11は、当該第1診断パケットに、ステップS113で送信された個別パケットから生成された個別パケットヘッダーが含まれないならば個別パケットが未送信であるとみなす。プロセッサー11は、ステップS113で送信された個別パケットが、中継装置20から正常に送信されたと判定したならば、ステップS131においてYesと判定してステップS111へと戻る。対して、プロセッサー11は、ステップS113で送信された個別パケットが、中継装置20から正常に送信されていないと判定したならば、ステップS131においてNoと判定してステップS116へと進む。
In the second embodiment, if the
In step S131, the
また、第2実施形態では、中継装置20のプロセッサー21は、図20のステップS222においてYesと判定したならば、ステップS231へと進む。
ステップS231において中継装置20のプロセッサー21は、中継装置20の負荷の高さを示す負荷情報を取得する。
Further, in the second embodiment, if the
In step S231, the
ステップS232においてプロセッサー21は、ステップS224と同様にして集約パケットを生成する。ただし、ステップS232では、プロセッサー21は、中継装置20の負荷が高い場合、集約の対象とした個別パケットを全て集約するのではなく、集約パケットに含める個別パケットの数を減らす。また、プロセッサー21は、中継装置20の負荷が高いほど、集約パケットに含める個別パケットの数を多く減らす。なお、プロセッサー21は、集約パケットに含めなかったものも含めて、集約の対象とした個別パケットについては、第1の集約バッファーへの登録を解除する。
ステップS233においてプロセッサー21は、ステップS232において生成された集約パケットをサーバー装置30に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該集約パケットをサーバー装置30に送信する。送信された当該集約パケットは、サーバー装置30の通信I/F35によって受信される。
In step S232, the
In step S233, the
ステップS234においてプロセッサー21は、第1診断パケットを生成する。なお、プロセッサー21は、中継装置20の負荷が高いほど、第1診断パケットに含める個別パケットヘッダーの数を減らす。また、第1診断パケットに含まれる個別パケットヘッダーは、ステップS232において生成された集約パケットに含まれる個別パケットデータに対応するものである。
In step S234, the
ステップS235においてプロセッサー21は、ステップS234において生成した第1診断パケットを端末装置10に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該第1診断パケットを端末装置10に送信する。送信された当該第1診断パケットは、端末装置10の第2の通信I/F16によって受信される。なお、第1診断パケットの送信先は、ステップS224で集約の対象とされた個別パケットそれぞれの送信元である端末装置10である。プロセッサー21は、ステップS235の処理の後、ステップS222へと戻る。
In step S235, the
第2実施形態に係る通信システム1の動作を、図21を用いてさらに説明する。図21は、通信システム1の情報の流れの一例を示すシーケンス図である。なお、図21は、通信システム1における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
The operation of the
図21は、中継装置20の負荷が高い場合の通信シーケンスの一例を示す。中継装置20が、端末装置10−k−1及び端末装置10−k−2から個別パケットを受信した際、中継装置の負荷が50%であるとする。そして、中継装置20は、負荷が高いことから、端末装置10−k−2のIDとシーケンス番号に対応する個別パケットヘッダーD51及び個別パケットデータD43を含めずに、診断パケットD5と集約パケットD4とを生成するものとする。当該診断パケットD5と集約パケットD4には、端末装置10−k−1のIDとシーケンス番号を持つ個別パケットヘッダーD51と個別パケットデータD43が含まれる。中継装置20は、生成した診断パケットD5と集約パケットD4とを送信する。端末装置10−k−1は、診断パケットD5に端末IDが1の個別パケットヘッダーがあるため、個別パケットD3が中継装置20を経由して送信されたと判断できる。一方、端末装置10−k−2は、診断パケットD5に端末IDが2の個別パケットヘッダーがないため、個別パケットD3が中継装置20から送信されなかったと判断し、個別パケットD3を直接サーバー装置30へ送信する。
サーバー装置30は、集約パケットとして受信した検知信号D1に対する制御信号D2は集約パケットとして中継装置20に送信する。そして、サーバー装置30は、個別パケットして受信した検知信号D1に対する制御信号D2は個別パケットとして端末装置10−k−2に送信する。
FIG. 21 shows an example of a communication sequence when the load of the
The
第2実施形態の通信システム1は、第1実施形態と同様の効果が得られる。
また、第2実施形態の通信システム1によれば、中継装置20は、負荷が高い場合には、受信した個別パケットの一部を集約しない。これにより、中継装置20の負荷が高くなりすぎることを防ぐことができる。
また、中継装置20は、集約しなかった個別パケットの送信元である端末装置10に対しては、当該個別パケットをサーバー装置30に送信しなかったことを示す診断パケットを送信する。これにより、端末装置10は、当該個別パケットがサーバー装置30に送信されなかったことを知ることができる。そして、この場合、端末装置10は、個別パケットを、中継装置20を介さずに直接サーバー装置30に送信する。
以上より、通信システム1は、中継装置20の負荷が高くなって端末装置10とサーバー装置30との間で通信ができなくなることを防ぐことができる。
The
Further, according to the
Further, the
From the above, the
〔第3実施形態〕
以下、第3実施形態に係る通信システムについて説明する。
第3実施形態に係る通信システム1bの構成について、図22に基づいて説明する。通信システム1bは、第1実施形態及び第2実施形態と異なり、各地域Aに中継装置20が複数設置される。そして、それぞれの中継装置がそれぞれの地域AのネットワークNW1に接続される。図22には、各地域Aにそれぞれ2台の中継装置20が設置されている場合を示している。ただし、地域Aによっては中継装置20が1台しか設置されていない場合があっても良い。なお、地域Akに設置された複数の中継装置20−kを、中継装置20−k−1、中継装置20−k−2、…のように称するものとする。
なお、通信システム1bに含まれる各装置の要部回路構成については、第1実施形態及び第2実施形態の図2に示す通信システム1と同様であるので説明を省略する。また、通信システム1bに含まれる各装置の機能構成については、第2実施形態の図17に示す通信システム1と同様であるので説明を省略する。
[Third Embodiment]
Hereinafter, the communication system according to the third embodiment will be described.
The configuration of the
The circuit configuration of the main part of each device included in the
以下、第3実施形態に係る通信システム1bの動作を図8、図9、図11〜図13、図20及び図23に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第3実施形態では、端末装置10は、第2実施形態の図19及び図8に示す処理に代えて図23及び図8に示す処理を行う。図23は、端末装置10のプロセッサー11による処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。なお、プロセッサー11は、図23に示す処理を開始するとき、変数jを、RAM13などに割り当てる。プロセッサー11は、図23及び図8に示された処理を並行又は並列して同時的に処理する。中継装置20は、第2実施形態と同様に、図9及び図20に示す処理を行う。また、サーバー装置30は、第1実施形態及び第2実施形態と同様に図11〜図13に示す処理を行う。なお、以下の説明では地域Akの場合を例に説明を行う。
Hereinafter, the operation of the
第3実施形態では、プロセッサー11は、図23のステップS112の処理の後、ステップS141へと進む。
ステップS141においてプロセッサー11は、変数jの値を1にする。これにより、個別パケットの送信先が中継装置20−k−1になる。
In the third embodiment, the
In step S141, the
ステップS142においてプロセッサー11は、個別パケットを中継装置20−k−jに送信するように第1の通信I/F15に対して指示する。この指示を受けて第1の通信I/F15は、当該個別パケットを中継装置20−k−jに送信する。送信された当該個別パケットは、中継装置20−k−jの通信I/F25によって受信される。
In step S142, the
第3実施形態では、プロセッサー11は、ステップS115の処理においてYesと判定したならば、ステップS143へと進む。まだ、第3実施形態では、プロセッサー11は、ステップS131においてNoと判定したならば、ステップS143へと進む。
ステップS143においてプロセッサー11は、変数jをインクリメントして、変数jの値を1増やす。これにより、個別パケットの送信先が、中継装置20−k−jから中継装置20−k−(j+1)に変更される。
In the third embodiment, if the
In step S143, the
ステップS144においてプロセッサー11は、次に送信する中継装置20があるか否かを判定する。すなわち、プロセッサー11は、中継装置20−k−jが存在するか否かを確認する。プロセッサー11は、次に送信する中継装置20があるならば、ステップS144においてYesと判定してステップS142へと戻る。なお、プロセッサー11は、ステップS144からステップS142に進んだ場合のステップS142では、前回のステップS142で送信された個別パケットと同じ個別パケットを送信するように処理を行う。
In step S144, the
また、プロセッサー11は、次に送信する中継装置20がないならば、ステップS144においてNoと判定してステップS145へと進む。
ステップS145においてプロセッサー11は、ステップS142で送信した個別パケットと同じ個別パケットを、中継装置20を経由せずにサーバー装置30に到着するようにして、サーバー装置30に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットをサーバー装置30に送信する。送信された当該個別パケットは、サーバー装置30の通信I/F35によって受信される。プロセッサー11は、ステップS145の処理の後、ステップS117へと進む。
Further, if there is no
In step S145, the
なお、第3実施形態では、サーバー装置30のプロセッサー31は、中継装置20−1〜中継装置20−nに代えて、中継装置20−1−1、中継装置20−1−2、…〜中継装置20−n−1、中継装置20−n−2、…のそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー31は、中継装置20−1−1、中継装置20−1−2、…〜中継装置20−n−1、中継装置20−n−2、…に対して送信する個別パケットのいずれかが集約条件を満たすことに応じて、集約条件を満たした中継装置20に対してステップS345及びステップS346と同様の処理を行う。
In the third embodiment, the processor 31 of the
第3実施形態に係る通信システム1bの動作を、図24〜図26を用いてさらに説明する。図24〜図26のそれぞれは、通信システム1bの情報の流れの一例を示すシーケンス図である。なお、図24〜図26は、通信システム1bにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
The operation of the
図24は、中継装置20−k−1に異常がない場合の通信シーケンスの一例を示す。
端末装置10−k−1及び端末装置10−k−2は、初め、中継装置20−k−1に個別パケットD3を送信する。ここで端末装置10−kが個別パケットを送信する中継装置20−kは、例えば、端末装置10−kの管理者などによって予め設定される。あるいは、ここで端末装置10−kが個別パケットを送信する中継装置20−kは、起動した時間が最も早い中継装置20−kなどであっても良い。その後の通信シーケンスは、第1実施形態例の通信シーケンスと同様である。すなわち、中継装置20−k−1は、集約パケットD4をサーバー装置30に送信する。そして、中継装置20−k−1は、診断パケットD5を端末装置10−k−1及び端末装置10−k−2に送信する。その後、サーバー装置30が、集約パケットD6を中継装置20−k−1に送信する。そして、中継装置20−k−1が、個別パケットD7を端末装置10−k−1及び端末装置10−k−2に送信する。この場合、中継装置20−k−2は待機しており、例えば、一定周期で第2診断パケットを各端末装置10−kに送信する。
FIG. 24 shows an example of a communication sequence when there is no abnormality in the relay device 20-k-1.
The terminal device 10-k-1 and the terminal device 10-k-2 initially transmit the individual packet D3 to the relay device 20-k-1. Here, the relay device 20-k to which the terminal device 10-k transmits individual packets is set in advance by, for example, the administrator of the terminal device 10-k. Alternatively, the relay device 20-k to which the terminal device 10-k transmits individual packets may be the relay device 20-k having the earliest activation time. The subsequent communication sequence is the same as the communication sequence of the first embodiment. That is, the relay device 20-k-1 transmits the aggregated packet D4 to the
図25は、中継装置20−k−1に異常が発生した場合の通信シーケンスの一例を示す。
端末装置10−k−1及び端末装置10−k−2は、初め、中継装置20−k−1に個別パケットD3を送信する。このとき、中継装置20−k−1は、異常が発生したことによって、集約パケットD4と診断パケットD5とを送信することができないものとする。このため、端末装置10−k−1及び端末装置10−k−2は、診断パケットD5を受信することができない。したがって、端末装置10−k−1及び端末装置10−k−2は、中継装置20−k−1に異常が発生していると判定し、個別パケットD3を中継装置20−k−2に送信する。その後、中継装置20−k−2が個別パケットを集約し、集約パケットD4をサーバー装置30に送信する。そして、サーバー装置30は、集約パケットD6を中継装置20−k−2に送信する。集約パケットD6を受信した中継装置20−k−2は、集約パケットD6を個々の個別パケットD7に分割する。そして、中継装置20−k−2は、端末装置10−k−1及び端末装置10−k−2に当該個別パケットD7を送信する。
FIG. 25 shows an example of a communication sequence when an abnormality occurs in the relay device 20-k-1.
The terminal device 10-k-1 and the terminal device 10-k-2 initially transmit the individual packet D3 to the relay device 20-k-1. At this time, it is assumed that the relay device 20-k-1 cannot transmit the aggregated packet D4 and the diagnostic packet D5 due to the occurrence of an abnormality. Therefore, the terminal device 10-k-1 and the terminal device 10-k-2 cannot receive the diagnostic packet D5. Therefore, the terminal device 10-k-1 and the terminal device 10-k-2 determine that an abnormality has occurred in the relay device 20-k-1, and transmit the individual packet D3 to the relay device 20-k-2. do. After that, the relay device 20-k-2 aggregates the individual packets and transmits the aggregated packet D4 to the
図26は、中継装置20−k−1の負荷が高い場合の通信シーケンスの一例をしめす。
端末装置10−k−1及び端末装置10−k−2は、初め、中継装置20−k−1に個別パケットD3を送信する。ここで、中継装置20−k−1の負荷が50%であるとする。そして、中継装置20−k−1は、負荷が高いことから、端末装置10−k−2のIDとシーケンス番号に対応する個別パケットヘッダーD51及び個別パケットデータD43を含めずに、診断パケットD5と集約パケットD4とを生成するものとする。当該診断パケットD5と集約パケットD4には、端末装置10−k−1のIDとシーケンス番号を持つ個別パケットヘッダーD51と個別パケットデータD43が含まれる。中継装置20−k−1は、生成した診断パケットD5と集約パケットD4とを送信する。端末装置10−k−1は、診断パケットD5に端末IDが1の個別パケットヘッダーがあるため、個別パケットD3が中継装置20−k−1を経由して送信されたと判断できる。一方、端末装置10−k−2は、診断パケットD5に端末IDが2の個別パケットヘッダーがないため、個別パケットD3が中継装置20−k−1から送信されなかったと判断し、個別パケットD3を中継装置20−k−2へ送信する。その後、中継装置20−k−2が個別パケットを集約し、集約パケットD10をサーバー装置30に送信する。サーバー装置30は、集約パケットD4に対する応答を集約して中継装置20−k−1に送信し、集約パケットD10に含まれる個別パケットD3に対する応答を集約して中継装置20−k−2に送信する。なお、集約パケットD10のデータ構造は、例えば、集約パケットD4と同様である。
FIG. 26 shows an example of a communication sequence when the load of the relay device 20-k-1 is high.
The terminal device 10-k-1 and the terminal device 10-k-2 initially transmit the individual packet D3 to the relay device 20-k-1. Here, it is assumed that the load of the relay device 20-k-1 is 50%. Since the relay device 20-k-1 has a high load, the diagnostic packet D5 does not include the individual packet header D51 and the individual packet data D43 corresponding to the ID and sequence number of the terminal device 10-k-2. It is assumed that the aggregated packet D4 is generated. The diagnostic packet D5 and the aggregated packet D4 include an individual packet header D51 having an ID and a sequence number of the terminal device 10-k-1 and an individual packet data D43. The relay device 20-k-1 transmits the generated diagnostic packet D5 and the aggregated packet D4. Since the terminal device 10-k-1 has an individual packet header having a terminal ID of 1 in the diagnostic packet D5, it can be determined that the individual packet D3 is transmitted via the relay device 20-k-1. On the other hand, the terminal device 10-k-2 determines that the individual packet D3 has not been transmitted from the relay device 20-k-1 because the diagnostic packet D5 does not have an individual packet header with a terminal ID of 2, and sets the individual packet D3. It is transmitted to the relay device 20-k-2. After that, the relay device 20-k-2 aggregates the individual packets and transmits the aggregated packet D10 to the
なお、図24〜図26における中継装置20−k−1は、第1の中継装置の一例である。図24〜図26における中継装置20−k−2は、第2の中継装置の一例である。 The relay device 20-k-1 in FIGS. 24 to 26 is an example of the first relay device. The relay device 20-k-2 in FIGS. 24 to 26 is an example of the second relay device.
第3実施形態の通信システム1bによれば、中継装置20が多重化されているので、中継装置20に異常が発生した場合などでも、他の中継装置20を用いることで、パケットの集約が可能である。また、これにより、中継装置20に異常がある場合でも、サーバー装置30の通信負荷を軽減することができる。
第3実施形態の通信システム1bによれば、端末装置10は、中継装置20に異常があると判定した場合、他の中継装置20に対して個別パケットを送信する。これにより、中継装置20の多重化が可能となる。
According to the
According to the
〔第4実施形態〕
以下、第4実施形態に係る通信システムについて説明する。
第4実施形態に係る通信システム1bの構成は、第3実施形態の図1及び図22と同様であるので説明を省略する。また、第4実施形態に係る通信システム1bに含まれる各装置の機能構成は、第3実施形態の図17と同様であるので説明を省略する。
[Fourth Embodiment]
Hereinafter, the communication system according to the fourth embodiment will be described.
Since the configuration of the
以下、第4実施形態に係る通信システム1bの動作を図8、図9、図11〜図13、図20及び図27に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第4実施形態では、端末装置10は、第2実施形態の図19及び図8に示す処理に代えて図27及び図8に示す処理を行う。図27は、端末装置10のプロセッサー11による処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー11は、図27及び図8に示された処理を並行又は並列して同時的に処理する。中継装置20は、第2実施形態及び第3実施形態と同様に、図9及び図20に示す処理を行う。また、サーバー装置30は、第1実施形態〜第3実施形態と同様に図11〜図13に示す処理を行う。
Hereinafter, the operation of the
第4実施形態では、プロセッサー11は、図27のステップS112の処理の後、ステップS151へと進む。
ステップS151においてプロセッサー11は、サーバー装置30を宛先とする個別パケットを、端末装置10が設置されている地域Aと同一地域A内の中継装置20全てに送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットをそれぞれの中継装置20に送信する。送信された当該個別パケットは、それぞれの中継装置20の通信I/F25によって受信される。なおこのとき、例えば、プロセッサー11は、当該個別パケットの処理バッファーへの登録を解除する。
In the fourth embodiment, the
In step S151, the
第4実施形態では、プロセッサー11は、図27のステップS131においてNoと判定したならば、ステップS152へと進む。
ステップS152においてプロセッサー11は、ステップS151で送信した個別パケットの送信先である中継装置20の全てから第1診断パケットを受信したか否かを判定する。プロセッサー11は、同一地域A内の中継装置20の全てから第1診断パケットを受信していないならば、ステップS152においてNoと判定してステップS115へと戻る。対して、プロセッサー11は、同一地域A内の中継装置20の全てから第1診断パケットを受信したならば、ステップS152においてYesと判定してステップS116へと進む。
In the fourth embodiment, if the
In step S152, the
なお、第4実施形態では、サーバー装置30のプロセッサー31は、中継装置20−1〜中継装置20−nに代えて、中継装置20−1−1、中継装置20−1−2、…〜中継装置20−n−1、中継装置20−n−2、…のそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー31は、中継装置20−1−1、中継装置20−1−2、…〜中継装置20−n−1、中継装置20−n−2、…に対して送信する個別パケットのいずれかが集約条件を満たすことに応じて、集約条件を満たした中継装置20に対してステップS345及びステップS346と同様の処理を行う。
In the fourth embodiment, the processor 31 of the
第4実施形態に係る通信システム1bの動作を、図28及び図29を用いてさらに説明する。図28及び図29のそれぞれは、通信システム1bの情報の流れの一例を示すシーケンス図である。なお、図28及び図29は、通信システム1bにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
The operation of the
図28は、中継装置20−k−1及び中継装置20−k−2に異常がない場合の通信シーケンスの一例を示す。
端末装置10−k−1及び端末装置10−k−2は、それぞれが、中継装置20−k−1と中継装置20−k−2との両方に個別パケットD3を送信する。その後、個別パケットD3を受信した中継装置20−k−1は、集約パケットD4をサーバー装置30に送信し、診断パケットD5を端末装置10−k−1及び端末装置10−k−2に送信する。また、個別パケットD3を受信した中継装置20−k−2は、集約パケットD10をサーバー装置30に送信し、診断パケットD9を端末装置10−k−1及び端末装置10−k−2に送信する。なお、診断パケットD9のデータ構造は、例えば、診断パケットD5と同様である。
サーバー装置30は、受信選択部303により、集約パケットD4の個別パケットの端末IDとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。その後、集約パケットD10を受信した際には、受信選択部303により、集約パケットD10の個別パケットの端末IDとシーケンス番号を読み取り、受信済みの個別パケットであることを確認し、パケットを破棄する。サーバー装置30は、中継装置20−k−1から受信した集約パケットD4に格納された検知信号D1から制御信号D2を生成するため、サーバー装置30から送信する集約パケットD6を中継装置20−k−1に送信する。
FIG. 28 shows an example of a communication sequence when there is no abnormality in the relay device 20-k-1 and the relay device 20-k-2.
The terminal device 10-k-1 and the terminal device 10-k-2 each transmit the individual packet D3 to both the relay device 20-k-1 and the relay device 20-k-2. After that, the relay device 20-k-1 that has received the individual packet D3 transmits the aggregated packet D4 to the
The
図29は、中継装置20−k−1に異常が発生した場合の通信シーケンスの一例を示す。
端末装置10−k−1及び端末装置10−k−2は、それぞれが、中継装置20−k−1と中継装置20−k−2の両方に個別パケットD3を送信する。その後、個別パケットD3を受信した中継装置20−k−2は、集約パケットD10をサーバー装置30に送信し、診断パケットD9を端末装置10−k−1及び端末装置10−k−2に送信する。
サーバー装置30は、受信選択部303により、集約パケットD10の個別パケットの端末IDとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。サーバー装置30は、中継装置20−k−2から受信した集約パケットD10に格納された検知信号D1から制御信号D2を生成するため、サーバー装置30から送信する集約パケットD6を中継装置20−k−2に送信する。
FIG. 29 shows an example of a communication sequence when an abnormality occurs in the relay device 20-k-1.
The terminal device 10-k-1 and the terminal device 10-k-2 each transmit the individual packet D3 to both the relay device 20-k-1 and the relay device 20-k-2. After that, the relay device 20-k-2 that has received the individual packet D3 transmits the aggregated packet D10 to the
The
第4実施形態の通信システム1bによれば、端末装置10は、個別パケットを複数の中継装置20に送信する。したがって、個別パケットの送信先である中継装置20の一部に異常が発生した場合でも、個別パケットの送信先である他の中継装置20が、当該個別パケットを集約してサーバー装置30に送信する。これにより、中継装置20に異常が発生した場合でも、端末装置10が個別パケットを再送することなく、当該個別パケットが通信サーバーに到着する。また、サーバー装置30は、複数の中継装置20から送信された同じ個別パケットのうち、最初に到着したもの以外は破棄する。以上より、第4実施形態の通信システム1bは、中継装置20に異常が発生した場合の伝送時間の遅延を防ぐことができる。
According to the
第1実施形態〜第4実施形態は以下のような変形も可能である。
端末装置10は、定期的に中継装置20に問合せを行うことで、正常に通信できるか確認しても良い。そして、端末装置10は、正常に通信できない場合には、個別パケットの送信先を他の中継装置20又はサーバー装置30に変更しても良い。
The first to fourth embodiments can be modified as follows.
The
端末装置10は、中継装置20に異常があると判定した場合、中継装置20に定期的に問合せを行うことで、中継装置20が正常動作に復帰したか確認しても良い。
When the
第4実施形態において、端末装置10−kは、個別パケットを、地域Ak内の全ての中継装置20−kではなく、複数の中継装置20−kのうちの一部の中継装置20−kに送信してもよい。そして、端末装置10−kは、いずれの中継装置20−kにおいても当該個別パケットがサーバー装置30に送信されなかったと判定した場合、複数の中継装置20−kのうちの個別パケットを送信しなかった中継装置20−kのうちの一部又は全部に送信しても良い。
In the fourth embodiment, the terminal device 10-k sends the individual packet to a part of the relay devices 20-k among the plurality of relay devices 20-k instead of all the relay devices 20-k in the area Ak. You may send it. Then, when the terminal device 10-k determines that the individual packet has not been transmitted to the
実施形態1〜実施形態4では、地域A1、地域A2、…、地域Anのように地域ごとに区切られている。しかしながら、この区切りは地域ごとに限らない。例えば、この区切りは、組織などの単位で分けられるものであっても良い。 In the first to fourth embodiments, the regions are divided into regions such as region A1, region A2, ..., Region An. However, this division is not limited to each region. For example, this delimiter may be divided into units such as an organization.
通信システム1及び通信システム1bは、サーバー装置30に代えて、PCなどのその他の装置を備えていても良い。当該その他の装置は、サーバー装置30と同様の動作をする。当該その他の装置は、通信装置の一例である。
The
実施形態1〜実施形態4におけるそれぞれの装置は、複数の装置によって構成される装置であっても良い。また、装置の一部をクラウドコンピューティングによって実現しても良い。 Each device in the first to fourth embodiments may be a device composed of a plurality of devices. Further, a part of the device may be realized by cloud computing.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
通信装置と、前記通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置と、から成る送信先群から選択される1以上の送信先へ前記第1の個別パケットを送信する第1の通信部と、
前記中継装置の動作を示す診断パケットを受信する第2の通信部と、
前記第1の個別パケットの送信先として第1の中継装置を選択し、前記第1の中継装置への前記第1の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する制御部と、を備える、端末装置。
[C2]
前記制御部は、前記第1の中継装置以外の装置として第2の中継装置を選択する、[C1]に記載の端末装置。
[C3]
前記制御部は、前記第1の個別パケットの送信先として第1の中継装置及び第2の中継装置を選択する、[C1]に記載の端末装置。
[C4]
検知信号が入力される入力部と、
前記検知信号に対応する制御信号を出力する出力部と、をさらに備え
前記第2の通信部は、前記第1の個別パケットに対応する第2の個別パケットを受信し、
前記第1の個別パケットは、前記検知信号を含み、
前記第2の個別パケットは、前記制御信号を含む、[C1]乃至[C3]のいずれか1つに記載の端末装置。
[C5]
通信装置を宛先とする個別パケットを端末装置から受信する第1の通信部と、
前記個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成する、処理部と、
前記集約パケットを前記通信装置に送信する第2の通信部と、
前記診断パケットを前記端末装置に送信する第3の通信部と、を備える、中継装置。
[C6]
負荷を計測する負荷計測部をさらに備え、
前記処理部は、
前記負荷計測部により計測された前記負荷が基準以上である場合、第1の通信部によって受信された前記個別パケットのうちの一部又は全部を集約せず、
前記個別パケットのうちの一部又は全部を集約しなかったことに関する情報を含む前記診断パケットを生成する、[C5]に記載の中継装置。
[C7]
端末装置から送信された、検知信号を含む第1の個別パケットと、中継装置から送信された、前記第1の個別パケットが集約された第1の集約パケットと、を受信する第1の通信部と、
前記第1の個別パケットの受信に応じて、前記検知信号に対応する制御信号を含む第2の個別パケットを生成し
前記第1の集約パケットの受信に応じて、前記第2の個別パケットが集約された第2の集約パケットを生成する、
生成部と、
前記第2の個別パケットを前記端末装置に送信し、前記第2の集約パケットを前記中継装置に送信する第2の通信部と、を備える、通信装置。
[C8]
端末装置と、通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置とを含み、
前記端末装置は、
前記通信装置と、1以上の前記中継装置とから成る送信先群から選択される1以上の送信先へ前記第1の個別パケットを送信する第1の端末通信部と、
前記第1の個別パケットの送信先として第1の中継装置を選択する制御部と、を備え、
前記中継装置は、
前記第1の個別パケットを受信する第1の中継通信部と、
前記第1の個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成する、処理部と、
前記集約パケットを前記通信装置に送信する第2の中継通信部と、
前記診断パケットを前記端末装置に送信する第3の中継通信部と、を備え、
前記端末装置は、
前記診断パケットを受信する第2の端末通信部をさらに備え、
前記制御部は、前記第1の中継装置への前記第1の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する、通信システム。
[C9]
端末装置は、通信装置と、前記通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置と、から成る送信先群から、第1の中継装置を前記第1の個別パケットの送信先として選択し、
端末装置は、前記第1の個別パケットを、前記第1の中継装置に送信し、
前記中継装置は、前記第1の個別パケットを受信し、
前記中継装置は、前記第1の個別パケットを集約して集約パケットを生成し、
前記中継装置は、前記集約パケットの送信に関する情報を含む診断パケットを生成し、 前記中継装置は、前記集約パケットを前記端末装置に送信し、
前記中継装置は、前記集約パケットを前記通信装置に送信し、
前記端末装置は、前記第1の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する、通信方法。
[C10]
端末装置が備えるコンピューターを、
通信装置と、前記通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置と、から成る送信先群から、第1の中継装置を前記第1の個別パケットの送信先として選択し、前記第1の中継装置への前記第1の個別パケットの送信後の診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する
制御部として機能させるプログラム。
[C11]
中継装置が備えるコンピューターを、
端末装置から受信した、通信装置を宛先とする個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成し、
前記集約パケットを前記通信装置に送信するように制御し、
前記診断パケットを前記端末装置に送信するように制御する、
処理部として機能させるプログラム。
[C12]
通信装置が備えるコンピューターを
端末装置から送信された、検知信号を含む第1の個別パケットの受信に応じて、前記検知信号に対応する制御信号を含む第2の個別パケットを生成し
中継装置から送信された、前記第1の個別パケットが集約された第1の集約パケットの受信に応じて、前記第2の個別パケットが集約された第2の集約パケットを生成し、
前記第2の個別パケットを前記端末装置に送信し、前記第2の集約パケットを前記中継装置に送信するように制御する、
生成部として機能させるプログラム。
Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
Hereinafter, the inventions described in the claims at the time of filing the application of the present application will be added.
[C1]
The first individual packet is sent to one or more destinations selected from a destination group consisting of a communication device, one or more relay devices that relay transmission of a first individual packet destined for the communication device, and a destination group. The first communication unit to send and
A second communication unit that receives a diagnostic packet indicating the operation of the relay device, and
The first relay device is selected as the transmission destination of the first individual packet, and the diagnostic packet is not received or is included in the diagnostic packet after the transmission of the first individual packet to the first relay device. A terminal device including a control unit that selects a device other than the first relay device included in the destination group as a transmission destination when a non-transmission of the first individual packet is detected based on a transmission record. ..
[C2]
The terminal device according to [C1], wherein the control unit selects a second relay device as a device other than the first relay device.
[C3]
The terminal device according to [C1], wherein the control unit selects a first relay device and a second relay device as a transmission destination of the first individual packet.
[C4]
The input section where the detection signal is input and
Further provided with an output unit that outputs a control signal corresponding to the detection signal.
The second communication unit receives the second individual packet corresponding to the first individual packet, and receives the second individual packet.
The first individual packet includes the detection signal.
The terminal device according to any one of [C1] to [C3], wherein the second individual packet includes the control signal.
[C5]
A first communication unit that receives individual packets destined for the communication device from the terminal device, and
A processing unit that aggregates the individual packets to generate an aggregated packet and generates a diagnostic packet containing information regarding the transmission of the aggregated packet.
A second communication unit that transmits the aggregated packet to the communication device, and
A relay device including a third communication unit that transmits the diagnostic packet to the terminal device.
[C6]
It also has a load measurement unit that measures the load.
The processing unit
When the load measured by the load measuring unit is equal to or greater than the reference value, some or all of the individual packets received by the first communication unit are not aggregated.
The relay device according to [C5], which generates the diagnostic packet including information about not aggregating a part or all of the individual packets.
[C7]
A first communication unit that receives a first individual packet including a detection signal transmitted from a terminal device and a first aggregated packet transmitted from a relay device in which the first individual packet is aggregated. When,
In response to the reception of the first individual packet, a second individual packet including a control signal corresponding to the detection signal is generated.
In response to the reception of the first aggregated packet, the second individual packet generates a second aggregated packet in which the second individual packet is aggregated.
Generator and
A communication device including a second communication unit that transmits the second individual packet to the terminal device and transmits the second aggregated packet to the relay device.
[C8]
Includes a terminal device and one or more relay devices that relay the transmission of a first individual packet destined for a communication device.
The terminal device is
A first terminal communication unit that transmits the first individual packet to one or more destinations selected from a destination group consisting of the communication device and one or more relay devices.
A control unit that selects a first relay device as a transmission destination of the first individual packet is provided.
The relay device is
The first relay communication unit that receives the first individual packet and
A processing unit that aggregates the first individual packet to generate an aggregated packet and generates a diagnostic packet containing information regarding transmission of the aggregated packet.
A second relay communication unit that transmits the aggregated packet to the communication device, and
A third relay communication unit that transmits the diagnostic packet to the terminal device is provided.
The terminal device is
A second terminal communication unit that receives the diagnostic packet is further provided.
The control unit may not receive the diagnostic packet after the transmission of the first individual packet to the first relay device, or may not transmit the first individual packet based on a transmission record included in the diagnostic packet. A communication system that, when detected, selects a device other than the first relay device included in the destination group as a transmission destination.
[C9]
The terminal device sets the first relay device from the destination group including the communication device and one or more relay devices that relay the transmission of the first individual packet destined for the communication device. Select as the destination for the packet and
The terminal device transmits the first individual packet to the first relay device.
The relay device receives the first individual packet and receives the first individual packet.
The relay device aggregates the first individual packet to generate an aggregated packet.
The relay device generates a diagnostic packet containing information regarding the transmission of the aggregated packet, and the relay device transmits the aggregated packet to the terminal device.
The relay device transmits the aggregated packet to the communication device, and the relay device transmits the aggregated packet to the communication device.
When the terminal device detects the non-receipt of the diagnostic packet after the transmission of the first individual packet or the non-transmission of the first individual packet based on the transmission record included in the diagnostic packet, the transmission destination. A communication method for selecting a device other than the first relay device included in the group as a transmission destination.
[C10]
The computer that the terminal device has
From a destination group consisting of a communication device and one or more relay devices that relay the transmission of the first individual packet destined for the communication device, the first relay device is the transmission destination of the first individual packet. The non-reception of the diagnostic packet after the transmission of the first individual packet to the first relay device or the non-transmission of the first individual packet is detected based on the transmission record included in the diagnostic packet. In this case, a device other than the first relay device included in the destination group is selected as the transmission destination.
A program that functions as a control unit.
[C11]
The computer that the relay device has
Individual packets received from the terminal device and destined for the communication device are aggregated to generate an aggregated packet, and a diagnostic packet containing information regarding the transmission of the aggregated packet is generated.
Controlled to transmit the aggregated packet to the communication device
Controlling the diagnostic packet to be transmitted to the terminal device,
A program that functions as a processing unit.
[C12]
Computers equipped with communication devices
In response to the reception of the first individual packet including the detection signal transmitted from the terminal device, the second individual packet including the control signal corresponding to the detection signal is generated.
In response to the reception of the first aggregated packet in which the first individual packet is aggregated, which is transmitted from the relay device, the second aggregated packet in which the second individual packet is aggregated is generated.
The second individual packet is transmitted to the terminal device, and the second aggregated packet is controlled to be transmitted to the relay device.
A program that functions as a generator.
1……通信システム、10……端末装置、11,21,31……プロセッサー、12,22,32……ROM、13,23,33……RAM、14,24,34……補助記憶デバイス、15……第1の通信I/F、16……第2の通信I/F、20……中継装置、25,35……通信I/F、30……サーバー装置、101……入力部、102,305……ID付加部、103,306……送信先選択部、104……送信部、105,201……第一受信部、106……診断部、107,207……第二受信部、108……ID確認部、109,303……受信選択部、110……出力部、121……異常通知部、202,308……集約部、203,309……集約パケット生成部、204,307……第一送信部、205……診断パケット生成部、206,310……第二送信部、208,302……分離部、209……第三送信部、221……負荷計測部、301……受信部、304……判定部、DA……制御対象デバイス 1 ... Communication system, 10 ... Terminal device, 11,21,31 ... Processor, 12,22,32 ... ROM, 13,23,33 ... RAM, 14,24,34 ... Auxiliary storage device, 15 ... 1st communication I / F, 16 ... 2nd communication I / F, 20 ... relay device, 25, 35 ... communication I / F, 30 ... server device, 101 ... input unit, 102, 305 ... ID addition unit, 103, 306 ... destination selection unit, 104 ... transmission unit, 105, 201 ... first receiving unit, 106 ... diagnostic unit, 107, 207 ... second receiving unit , 108 ... ID confirmation unit, 109, 303 ... reception selection unit, 110 ... output unit, 121 ... abnormality notification unit, 202, 308 ... aggregation unit, 203, 309 ... aggregation packet generation unit, 204, 307 ... 1st transmitter, 205 ... Diagnostic packet generator, 206, 310 ... 2nd transmitter, 208, 302 ... Separation, 209 ... 3rd transmitter, 221 ... Load measurement, 301 …… Receiver, 304 …… Judgment, DA …… Controlled device
Claims (3)
前記中継装置の動作を示す診断パケットを受信する第2の通信部と、
前記第1の個別パケットの送信先として第1の中継装置を選択し、前記第1の中継装置への前記第1の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第1の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第1の中継装置以外の装置を送信先として選択する制御部と、
検知信号が入力される入力部と、
前記検知信号に対応する制御信号を出力する出力部と、を備え
前記第2の通信部は、前記第1の個別パケットに対応する第2の個別パケットを受信し、
前記第1の個別パケットは、前記検知信号を含み、
前記第2の個別パケットは、前記制御信号を含む、端末装置。 The first individual packet is sent to one or more destinations selected from a destination group consisting of a communication device, one or more relay devices that relay transmission of a first individual packet destined for the communication device, and a destination group. The first communication unit to send and
A second communication unit that receives a diagnostic packet indicating the operation of the relay device, and
The first relay device is selected as the transmission destination of the first individual packet, and the diagnostic packet is not received or is included in the diagnostic packet after the transmission of the first individual packet to the first relay device. When a non-transmission of the first individual packet is detected based on the transmission record, a control unit that selects a device other than the first relay device included in the destination group as a transmission destination, and a control unit.
The input section where the detection signal is input and
It is provided with an output unit that outputs a control signal corresponding to the detection signal.
The second communication unit receives the second individual packet corresponding to the first individual packet, and receives the second individual packet.
The first individual packet includes the detection signal.
The second individual packet is a terminal device including the control signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017181130A JP6957288B2 (en) | 2017-09-21 | 2017-09-21 | Terminal equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017181130A JP6957288B2 (en) | 2017-09-21 | 2017-09-21 | Terminal equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019057825A JP2019057825A (en) | 2019-04-11 |
| JP6957288B2 true JP6957288B2 (en) | 2021-11-02 |
Family
ID=66106590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017181130A Active JP6957288B2 (en) | 2017-09-21 | 2017-09-21 | Terminal equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6957288B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7571660B2 (en) | 2021-05-19 | 2024-10-23 | 株式会社デンソー | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM |
| CN118199956B (en) * | 2024-03-14 | 2024-11-08 | 山东云天安全技术有限公司 | Method, device, medium and equipment for determining abnormal equipment in industrial control network |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3884609B2 (en) * | 2000-08-25 | 2007-02-21 | 株式会社山武 | Multiplexing system |
| JP2011109317A (en) * | 2009-11-16 | 2011-06-02 | Ihi Corp | Communication system |
-
2017
- 2017-09-21 JP JP2017181130A patent/JP6957288B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019057825A (en) | 2019-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10594617B2 (en) | Probabilistic normalized congestion indication based on packet size | |
| JP5270901B2 (en) | Network test apparatus and method | |
| CN113711547A (en) | System and method for facilitating efficient packet forwarding in a Network Interface Controller (NIC) | |
| CN114793214B (en) | Method and device for congestion control | |
| CN106506225B (en) | Semi-physical simulation method for power data network | |
| EP2809033A1 (en) | Packet capture in a network | |
| WO2020022209A1 (en) | Network control device and network control method | |
| CN115174432B (en) | RDMA network status monitoring method, device, equipment and readable storage medium | |
| EP3928212A1 (en) | Rdma transport with hardware integration and out of order placement | |
| WO2014043224A1 (en) | Apparatus and method for optimizing semi-active workloads | |
| CN111988243B (en) | Coherent capture of shared buffer state | |
| US9007944B2 (en) | One-to-many and many-to-one communications on a network | |
| CN102332968A (en) | Communication equipment, communication means and computer program | |
| JP6957288B2 (en) | Terminal equipment | |
| WO2022260805A1 (en) | System to transmit messages using multiple network paths | |
| US20250301046A1 (en) | Data processing system, data processing method and storage medium | |
| US8644326B2 (en) | Queue processing method | |
| US20250286823A1 (en) | Selective retransmission mechanisms | |
| WO2013185480A1 (en) | Method and device for obtaining throughput rate | |
| CN111741373B (en) | Video data transmission method and video source equipment | |
| CN114979001B (en) | Data transmission method, device and equipment based on remote direct data access | |
| CN119583407A (en) | Method for sending a probe request message, method for sending a probe response message, device, chip, computer equipment, network interface card, readable storage medium and program product | |
| US12348588B2 (en) | Communication device and communication method | |
| KR101547048B1 (en) | Technique for managing communications at a router | |
| CN114785857B (en) | Dynamic adaptation method, system and storage medium for bandwidth resources of Internet of things |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200708 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210514 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210525 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210726 |
|
| 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: 20210907 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211006 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6957288 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |