Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6957288B2 - Terminal equipment - Google Patents
[go: Go Back, main page]

JP6957288B2 - Terminal equipment - Google Patents

Terminal equipment Download PDF

Info

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
Application number
JP2017181130A
Other languages
Japanese (ja)
Other versions
JP2019057825A (en
Inventor
直哉 大西
遵 金井
拓紀 松山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2017181130A priority Critical patent/JP6957288B2/en
Publication of JP2019057825A publication Critical patent/JP2019057825A/en
Application granted granted Critical
Publication of JP6957288B2 publication Critical patent/JP6957288B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特許第4229807号公報Japanese Patent No. 4229807

しかしながら、中継装置で通信プロトコルを変換するようなシステムは、中継装置などで異常が発生した場合、通信プロトコルの変換ができなくなり、クライアントとサーバーとの間で通信ができなくなってしまうという問題がある。本発明の実施形態が解決しようとする課題は、通信を安定させる端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムを提供することである。 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実施形態及び第2実施形態に係る通信システムの概要を示すブロック図。The block diagram which shows the outline of the communication system which concerns on 1st Embodiment and 2nd Embodiment. 図1中の通信システム及び当該通信システムに含まれる構成要素の要部回路構成の一例を示すブロック図。FIG. 3 is a block diagram showing an example of a main circuit configuration of a communication system in FIG. 1 and components included in the communication system. 図2中の端末装置、中継装置及びサーバー装置の第1実施形態に係る機能構成の一例を示すブロック図。FIG. 2 is a block diagram showing an example of a functional configuration according to the first embodiment of the terminal device, the relay device, and the server device in FIG. 第1実施形態〜第4実施形態に係る個別パケットのデータ構造の一例を示す図。The figure which shows an example of the data structure of the individual packet which concerns on 1st Embodiment to 4th Embodiment. 第1実施形態〜第4実施形態に係る集約パケットのデータ構造の一例を示す図。The figure which shows an example of the data structure of the aggregate packet which concerns on 1st Embodiment to 4th Embodiment. 第1実施形態〜第4実施形態に係る診断パケットのデータ構造の一例を示す図。The figure which shows an example of the data structure of the diagnostic packet which concerns on 1st Embodiment to 4th Embodiment. 図2中の端末装置が備えるプロセッサーによる第1実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 1st Embodiment by the processor provided in the terminal apparatus in FIG. 図2中の端末装置が備えるプロセッサーによる第1実施形態〜第4実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the processing which concerns on 1st Embodiment to 4th Embodiment by the processor provided in the terminal apparatus in FIG. 図2中の中継装置が備えるプロセッサーによる第1実施形態〜第4実施形態に係る処理の一例を示すフローチャート。FIG. 5 is a flowchart showing an example of processing according to the first to fourth embodiments by a processor included in the relay device in FIG. 図2中の中継装置が備えるプロセッサーによる第1実施形態に係る処理の一例を示すフローチャート。FIG. 2 is a flowchart showing an example of processing according to the first embodiment by a processor included in the relay device in FIG. 図2中のサーバー装置が備えるプロセッサーによる第1実施形態〜第4実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the processing which concerns on 1st Embodiment to 4th Embodiment by the processor provided in the server apparatus in FIG. 図2中のサーバー装置が備えるプロセッサーによる第1実施形態〜第4実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the processing which concerns on 1st Embodiment to 4th Embodiment by the processor provided in the server apparatus in FIG. 図2中のサーバー装置が備えるプロセッサーによる第1実施形態〜第4実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the processing which concerns on 1st Embodiment to 4th Embodiment by the processor provided in the server apparatus in FIG. 第1実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 1st Embodiment. 第1実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 1st Embodiment. 第1実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 1st Embodiment. 図2中の端末装置、中継装置及びサーバー装置の第2実施形態に係る機能構成の一例を示すブロック図。FIG. 2 is a block diagram showing an example of a functional configuration according to a second embodiment of the terminal device, the relay device, and the server device in FIG. 第2実施形態〜第4実施形態に係る診断パケットのデータ構造の一例を示す図。The figure which shows an example of the data structure of the diagnostic packet which concerns on 2nd Embodiment to 4th Embodiment. 図2中の端末装置が備えるプロセッサーによる第2実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 2nd Embodiment by the processor provided in the terminal apparatus in FIG. 図2中の中継装置が備えるプロセッサーによる第2実施形態〜第4実施形態に係る処理の一例を示すフローチャート。FIG. 5 is a flowchart showing an example of processing according to the second to fourth embodiments by a processor included in the relay device in FIG. 第2実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 2nd Embodiment. 第3実施形態及び第4実施形態に係る通信システムの概要を示すブロック図。The block diagram which shows the outline of the communication system which concerns on 3rd Embodiment and 4th Embodiment. 図2中の端末装置が備えるプロセッサーによる第3実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 3rd Embodiment by the processor provided in the terminal apparatus in FIG. 第3実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 3rd Embodiment. 第3実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 3rd Embodiment. 第3実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 3rd Embodiment. 図2中の端末装置が備えるプロセッサーによる第4実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 4th Embodiment by the processor provided in the terminal apparatus in FIG. 第4実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 4th Embodiment. 第4実施形態に係る通信システムの情報の流れを示すシーケンス図。The sequence diagram which shows the information flow of the communication system which concerns on 4th Embodiment.

以下、いくつかの実施形態に係る通信システムについて図面を用いて説明する。なお、各図面及び以下におけるその説明において同一の要素には同一の符号を付している。
〔第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 communication system 1 according to the first embodiment. FIG. 2 is a block diagram showing an example of a main circuit configuration of a main part circuit configuration of a communication system 1 and a component included in the communication system 1 according to the first embodiment. The communication system 1 is, for example, a client-server model system composed of a terminal device 10 which is a client and a server device 30 which is a server. Communication system 1 can be applied to various systems such as station affairs system, transportation system, disaster prevention system, social infrastructure system such as water treatment system, building control system, distribution system and military system. In the following embodiment, the communication system 1 will be described by taking the case where the communication system 1 is applied to the station affairs system as an example. The communication system 1 includes a plurality of terminal devices 10, a plurality of relay devices 20, a server device 30, and a controlled device DA. Each of the plurality of terminal devices 10 is installed in, for example, one of a plurality of regions A (region A1, region A2, ..., Region An (n is a natural number)). The terminal device 10 installed in the area A1 is the terminal device 10-1-1, the terminal device 10-1-2, ..., The terminal device 10 installed in the area A2 is the terminal device 10-2-1. Terminal devices 10-2-2, ..., Terminal devices 10 installed in the area An shall be referred to as terminal devices 10-n-1, terminal devices 10-n-2, .... Further, the terminal devices 10 installed in the area A1 are collectively referred to as the terminal device 10-1, the terminal devices 10 installed in the area A2 are collectively referred to as the terminal devices 10-2, ..., The terminal devices installed in the area An. 10 is generically referred to as a terminal device 10-n. Further, the relay device 20 installed in the area A1 is the relay device 20-1, the relay device 20 installed in the area A2 is the relay device 20-2, ..., The relay device installed in the area An is the relay device 20-n. It shall be referred to as.
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 server device 30 are connected to the network NW2. The network NW2 is typically a communication network that includes the Internet. The network NW is 1, typically a communication network that includes a WAN. The network NW2 may be a communication network including a private network such as an intranet. The network NW2 may be a communication network including a LAN. Further, the network NW2 may be a communication network including a dedicated line or a public mobile phone network. Further, the network NW2 may be a wired communication line or a wireless communication line. Further, the network NW2 may be a mixture of a wired communication line and a wireless communication line.

端末装置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 terminal device 10 is connected to the controlled device DA. Alternatively, the terminal device 10 is built in the controlled device DA. Alternatively, the terminal device 10 and the controlled device DA may be an integrated device. The terminal device 10 performs processing based on the data transmitted from the controlled device DA. Further, the terminal device 10 controls the control target device DA. The terminal device 10 transmits a request or the like addressed to the server device 30.
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 communication system 1 is applied to a station service system, the controlled device DA is, for example, a station service device. The station affairs equipment includes an automatic ticket gate, an automatic ticket vending machine, an automatic ticket vending machine, and the like.
The terminal device 10 includes a processor 11, a ROM (read-only memory) 12, a RAM (random-access memory) 13, an auxiliary storage device 14, a first communication I / F15, and a second communication I / F16.

プロセッサー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 processor 11 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the terminal device 10. The processor 11 controls each unit in order to realize various functions of the terminal device 10 based on a program such as system software, application software, or firmware stored in the ROM 12 or the auxiliary storage device 14. The processor 11 includes, for example, a CPU (central processing unit), an MPU (micro processing unit), a SoC (system on a chip), a DSP (digital signal processor), a GPU (graphics processing unit), an ASIC (application specific integrated circuit), and the like. PLD (programmable logic device) or FPGA (field-programmable gate array). The processor 11 is an example of a control unit. A computer centered on the processor 11 is an example of a control unit.

ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 12 corresponds to the main storage device of a computer centered on the processor 11. The ROM 12 is a non-volatile memory used exclusively for reading data. The ROM 12 stores the above program. Further, the ROM 12 stores data or various set values used by the processor 11 for performing various processes.

RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。 The RAM 13 corresponds to the main storage device of a computer centered on the processor 11. The RAM 13 is a memory used for reading and writing data. The RAM 13 is used as a so-called work area or the like for storing data temporarily used by the processor 11 for performing various processes.

補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 14 corresponds to an auxiliary storage device of a computer centered on the processor 11. The auxiliary storage device 14 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), an SSD (solid state drive), or the like. The auxiliary storage device 14 may store the above program. Further, the auxiliary storage device 14 stores data used by the processor 11 for performing various processes, data generated by the processes of the processor 11, various setting values, and the like.

RAM13又は補助記憶デバイス14などは、送信バッファーを記憶する場合がある。送信バッファーは、例えば、送信待ちのパケットが登録される。
RAM13又は補助記憶デバイス14などは、第1の到着リストを記憶する。第1の到着リストは、端末装置10に到着済みの個別パケットが登録される。
The RAM 13 or the auxiliary storage device 14 may store the transmission buffer. In the transmission buffer, for example, packets waiting to be transmitted are registered.
The RAM 13 or the auxiliary storage device 14 or the like stores the first arrival list. In the first arrival list, individual packets that have arrived at the terminal device 10 are registered.

ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶された状態で端末装置10の管理者などへと譲渡される。しかしながら、端末装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、端末装置10は、当該プログラムとは別のプログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。 The program stored in the ROM 12 or the auxiliary storage device 14 includes a program for executing a process described later. As an example, the terminal device 10 is transferred to the administrator of the terminal device 10 or the like with the program stored in the ROM 12 or the auxiliary storage device 14. However, the terminal device 10 may be transferred to the administrator or the like in a state where the program is not stored in the ROM 12 or the auxiliary storage device 14. Further, the terminal device 10 may be transferred to the administrator or the like in a state where a program different from the program is stored in the ROM 12 or the auxiliary storage device 14. Then, the program for executing the process described later may be separately transferred to the administrator or the like and written to the ROM 12 or the auxiliary storage device 14 under the operation of the administrator or the serviceman or the like. The transfer of the program at this time can be realized by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network NW.

第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 terminal device 10 to communicate with the controlled device DA. The terminal device 10 is connected to the controlled device DA by, for example, the first communication I / F15. The first communication I / F 15 receives the detection signal D1 transmitted from the controlled device DA. Further, the first communication I / F15 transmits a control signal D2 to the controlled device DA.

第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 / F 16 is an interface for the terminal device 10 to communicate via the network NW1 or the like. The terminal device 10 is connected to the network NW1 by, for example, the second communication I / F16. The second communication I / F 16 is an example of the first communication unit. The second communication I / F 16 is an example of the second communication unit. The second communication I / F 16 is an example of the first terminal communication unit. The second communication I / F 16 is an example of the second terminal communication unit.

中継装置20は、端末装置10とサーバー装置30との間の通信を中継する機能を有する。また、中継装置20は、端末装置10とサーバー装置30との間の通信において、プロトコルの変換を行う機能を有する。中継装置20は、例えば、ゲートウェイなどである。中継装置20は、プロセッサー21、ROM22、RAM23、補助記憶デバイス24及び通信I/F25を含む。 The relay device 20 has a function of relaying communication between the terminal device 10 and the server device 30. Further, the relay device 20 has a function of converting a protocol in communication between the terminal device 10 and the server device 30. The relay device 20 is, for example, a gateway or the like. The relay device 20 includes a processor 21, a ROM 22, a RAM 23, an auxiliary storage device 24, and a communication I / F 25.

プロセッサー21は、中継装置20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、中継装置20の各種の機能を実現するべく各部を制御する。プロセッサー21は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー21は、これらの組み合わせである。プロセッサー21は、処理部の一例である。プロセッサー21を中枢とするコンピューターは、処理部の一例である。 The processor 21 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the relay device 20. The processor 21 controls each unit in order to realize various functions of the relay device 20 based on a program such as system software, application software, or firmware stored in the ROM 22 or the auxiliary storage device 24. The processor 21 is, for example, a CPU, MPU, SoC, DSP, GPU, ASIC, PLD, FPGA, or the like. Alternatively, the processor 21 is a combination of these. The processor 21 is an example of a processing unit. A computer centered on the processor 21 is an example of a processing unit.

ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 22 corresponds to the main storage device of a computer centered on the processor 21. The ROM 22 is a non-volatile memory used exclusively for reading data. The ROM 22 stores the above program. The ROM 22 also stores data or various set values used by the processor 21 to perform various processes.

RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。 The RAM 23 corresponds to the main storage device of a computer centered on the processor 21. The RAM 23 is a memory used for reading and writing data. The RAM 23 is used as a so-called work area or the like for storing data temporarily used by the processor 21 for performing various processes.

補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス24は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 24 corresponds to an auxiliary storage device of a computer centered on the processor 21. The auxiliary storage device 24 is, for example, an EEPROM, an HDD, an SSD, or the like. The auxiliary storage device 24 may store the above program. Further, the auxiliary storage device 24 stores data used by the processor 21 for performing various processes, data generated by the processes of the processor 21, various setting values, and the like.

RAM23又は補助記憶デバイス24などは、第1の集約バッファーを記憶する。第1の集約バッファーは、集約待ちの個別パケットが登録される。 The RAM 23, the auxiliary storage device 24, or the like stores the first aggregation buffer. In the first aggregation buffer, individual packets waiting to be aggregated are registered.

ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、中継装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶された状態で中継装置20の管理者などへと譲渡される。しかしながら、中継装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶されない状態で当該管理者などに譲渡されても良い。また、中継装置20は、当該プログラムとは別のプログラムがROM22又は補助記憶デバイス24に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM22又は補助記憶デバイス24へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。 The program stored in the ROM 22 or the auxiliary storage device 24 includes a program for executing a process described later. As an example, the relay device 20 is transferred to the administrator of the relay device 20 or the like with the program stored in the ROM 22 or the auxiliary storage device 24. However, the relay device 20 may be transferred to the administrator or the like in a state where the program is not stored in the ROM 22 or the auxiliary storage device 24. Further, the relay device 20 may be transferred to the administrator or the like in a state where a program different from the program is stored in the ROM 22 or the auxiliary storage device 24. Then, the program for executing the process described later may be separately transferred to the administrator or the like and written to the ROM 22 or the auxiliary storage device 24 under the operation of the administrator or the service person. The transfer of the program at this time can be realized by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network NW.

通信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 / F 25 is an interface for the relay device 20 to communicate via the network NW1 or the like. The relay device 20 is connected to the network NW1 by, for example, the communication I / F25. The communication I / F 25 is an example of the first communication unit. The communication I / F 25 is an example of the second communication unit. The communication I / F 25 is an example of a third communication unit. The communication I / F 25 is an example of the first relay communication unit. The communication I / F 25 is an example of a second relay communication unit. The communication I / F 25 is an example of a third relay communication unit.

サーバー装置30は、例えば、端末装置10によって送信されるリクエストの内容に基づく処理を行う。そして、サーバー装置30は、例えば、リクエストの内容に基づき、当該リクエストの送信元を宛先とするレスポンスを送信する。サーバー装置30は、プロセッサー31、ROM32、RAM33、補助記憶デバイス34及び通信I/F35を含む。サーバー装置30は、通信装置の一例である。 The server device 30 performs processing based on the content of the request transmitted by the terminal device 10, for example. Then, the server device 30 transmits a response addressed to the source of the request, for example, based on the content of the request. The server device 30 includes a processor 31, a ROM 32, a RAM 33, an auxiliary storage device 34, and a communication I / F 35. The server device 30 is an example of a communication device.

プロセッサー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 server device 30. The processor 31 controls each unit to realize various functions of the server device 30 based on a program such as system software, application software, or firmware stored in the ROM 32 or the auxiliary storage device 34 or the like. The processor 31 is, for example, a CPU, MPU, SoC, DSP, GPU, ASIC, PLD, FPGA, or the like. Alternatively, the processor 31 is a combination of these. The processor 31 is an example of a generation unit. A computer centered on the processor 31 is an example of a generator.

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 server device 30 are registered.

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 server device 30 is transferred to the administrator of the server device 30 or the like with the program stored in the ROM 32 or the auxiliary storage device 34. However, the server device 30 may be transferred to the administrator or the like in a state where the program is not stored in the ROM 32 or the auxiliary storage device 34. Further, the server device 30 may be transferred to the administrator or the like in a state where a program different from the program is stored in the ROM 32 or the auxiliary storage device 34. Then, the program for executing the process described later may be separately transferred to the administrator or the like and written to the ROM 32 or the auxiliary storage device 34 under the operation of the administrator or the serviceman or the like. The transfer of the program at this time can be realized by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network.

通信I/F35は、サーバー装置30がネットワークNW2などを介して通信するためのインターフェースである。サーバー装置30は、例えば、通信I/F35によってネットワークNW2と接続される。 The communication I / F 35 is an interface for the server device 30 to communicate via the network NW2 or the like. The server device 30 is connected to the network NW2 by, for example, the communication I / F35.

端末装置10、中継装置20及びサーバー装置30について、図3を用いてさらに説明する。図3は、端末装置10、中継装置20及びサーバー装置30の機能構成を示すブロック図である。 The terminal device 10, the relay device 20, and the server device 30 will be further described with reference to FIG. FIG. 3 is a block diagram showing the functional configurations of the terminal device 10, the relay device 20, and the server device 30.

端末装置10は、入力部101、ID付加部102、送信先選択部103、送信部104、第一受信部105、診断部106、第二受信部107、ID確認部108、受信選択部109及び出力部110を含む。 The terminal device 10 includes an input unit 101, an ID addition unit 102, a transmission destination selection unit 103, a transmission unit 104, a first reception unit 105, a diagnosis unit 106, a second reception unit 107, an ID confirmation unit 108, a reception selection unit 109, and the like. The output unit 110 is included.

入力部101は、制御対象デバイスDAから検知信号D1を受けとる。例えば、第1の通信I/Fが、入力部101として機能する。 The input unit 101 receives the detection signal D1 from the control target device DA. For example, the first communication I / F functions as the input unit 101.

ID付加部102は、検知信号D1を一意に識別するための検知ID(identifier)を検知信号に付加する。ID付加部102は、例えば、端末装置10ごとにユニークに付与された端末IDと、それぞれの制御対象デバイスDAにおいて検知信号が生成される毎にインクリメントされる値(シーケンス番号)とを結合したものを検知IDとする。ここで、検知信号D1にパケットの種別、ID、データのサイズなどのヘッダー情報が付加されたものを、個別パケットD3と呼ぶ。例えば、プロセッサー11が、ID付加部102として機能する。 The ID addition unit 102 adds a detection ID (identifier) for uniquely identifying the detection signal D1 to the detection signal. The ID addition unit 102 is, for example, a combination of a terminal ID uniquely assigned to each terminal device 10 and a value (sequence number) that is incremented each time a detection signal is generated in each controlled device DA. Is the detection ID. Here, the detection signal D1 to which header information such as the packet type, ID, and data size is added is referred to as an individual packet D3. For example, the processor 11 functions as an ID addition unit 102.

送信先選択部103は、中継装置20の動作状況により、個別パケットD3を中継装置20に送信するか、サーバー装置30に送信するかを選択する。例えば、プロセッサー11が、送信先選択部103として機能する。 The destination selection unit 103 selects whether to transmit the individual packet D3 to the relay device 20 or to the server device 30 depending on the operating status of the relay device 20. For example, the processor 11 functions as a destination selection unit 103.

送信部104は、個別パケットD3を中継装置20又はサーバー装置30に送信する。例えば、第2の通信I/F16が、送信部104として機能する。 The transmission unit 104 transmits the individual packet D3 to the relay device 20 or the server device 30. For example, the second communication I / F 16 functions as a transmission unit 104.

第一受信部105は、中継装置20から送信される診断パケットD5を受信する。例えば、第2の通信I/F16が、第一受信部105として機能する。 The first receiving unit 105 receives the diagnostic packet D5 transmitted from the relay device 20. For example, the second communication I / F 16 functions as the first receiving unit 105.

診断部106は、個別パケットD3を送信してから一定時間以内に診断パケットD5が受信されているかを確認し、診断パケットD5が受信できている場合は中継装置20が正常であると診断し、受信できない場合は中継装置20が異常であると診断する。また、診断部106は、一定周期で診断パケットが受信できているかを確認し、中継装置20の異常を診断しても良い。また、診断部106は、個別パケットD3を送信後、一定時間以内に診断パケットD5が受信できなかった場合、中継装置20の復帰に時間がかかることを想定し、個別パケットD3の送信先を一定時間の間サーバー装置30に固定しても良い。例えば、プロセッサー11が、診断部106として機能する。 The diagnosis unit 106 confirms whether the diagnosis packet D5 is received within a certain time after transmitting the individual packet D3, and if the diagnosis packet D5 can be received, diagnoses that the relay device 20 is normal, and determines that the relay device 20 is normal. If it cannot be received, it is diagnosed that the relay device 20 is abnormal. Further, the diagnosis unit 106 may confirm whether the diagnosis packet can be received at a fixed cycle and diagnose the abnormality of the relay device 20. Further, the diagnostic unit 106 assumes that if the diagnostic packet D5 cannot be received within a certain period of time after transmitting the individual packet D3, it will take time for the relay device 20 to recover, and the destination of the individual packet D3 is fixed. It may be fixed to the server device 30 for hours. For example, the processor 11 functions as a diagnostic unit 106.

第二受信部107は、中継装置20又はサーバー装置30から送信される個別パケットD3を受信する。第二受信部107が受信した個別パケットD3には、例えば、パケットを識別するためのID及び制御信号D2などが格納されている。例えば、第2の通信I/F16が、第二受信部107として機能する。 The second receiving unit 107 receives the individual packet D3 transmitted from the relay device 20 or the server device 30. The individual packet D3 received by the second receiving unit 107 stores, for example, an ID for identifying the packet, a control signal D2, and the like. For example, the second communication I / F 16 functions as the second receiving unit 107.

ID確認部108は、受信した個別パケットD3の端末IDとシーケンス番号を参照して、当該個別パケットD3が到着済みであるかを確認する。例えば、プロセッサー11が、ID確認部108として機能する。 The ID confirmation unit 108 confirms whether or not the individual packet D3 has arrived by referring to the terminal ID and the sequence number of the received individual packet D3. For example, the processor 11 functions as an ID confirmation unit 108.

受信選択部109は、個別パケットD3の端末IDとシーケンス番号を参照して、当該個別パケットD3がすでに到着済みであるか判定する。そして、受信選択部109は、当該個別パケットD3が到着済みであると判定したならば、当該個別パケットを破棄する。例えば、プロセッサー11が、受信選択部109として機能する。 The reception selection unit 109 refers to the terminal ID and the sequence number of the individual packet D3 to determine whether the individual packet D3 has already arrived. Then, if the reception selection unit 109 determines that the individual packet D3 has arrived, the reception selection unit 109 discards the individual packet. For example, the processor 11 functions as a reception selection unit 109.

出力部110は、個別パケットD3から制御信号D2を読み取り、出力する。出力先は、例えば、制御対象デバイスDAなどである。例えば、第1の通信I/Fが、出力部110として機能する。 The output unit 110 reads the control signal D2 from the individual packet D3 and outputs the control signal D2. The output destination is, for example, the controlled device DA or the like. For example, the first communication I / F functions as an output unit 110.

中継装置20は、第一受信部201、集約部202、集約パケット生成部203、第一送信部204、診断パケット生成部205、第二送信部206、第二受信部207、分離部208及び第三送信部209を含む。 The relay device 20 includes a first reception unit 201, an aggregation unit 202, an aggregation packet generation unit 203, a first transmission unit 204, a diagnostic packet generation unit 205, a second transmission unit 206, a second reception unit 207, a separation unit 208, and a first unit. (3) The transmission unit 209 is included.

第一受信部201は、端末装置10が送信する個別パケットD3を受信する。例えば、通信I/F25が、第一受信部201として機能する。 The first receiving unit 201 receives the individual packet D3 transmitted by the terminal device 10. For example, the communication I / F 25 functions as the first receiving unit 201.

集約部202は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。集約部202は、どの程度の数の個別パケットを連結するかを、ネットワークNW2の帯域、MTU(maximum transmission unit)サイズ、又は端末装置10からの送信頻度などにより決定することができる。例えば、MTUが1500バイトの場合、集約部202は、集約パケットが1500バイト以内となるようにしても良い。例えば、プロセッサー21及びRAM23が、集約部202として機能する。 The aggregation unit 202 concatenates and holds individual packets at a fixed time interval, a fixed number of packets, or a fixed packet size. The aggregation unit 202 can determine how many individual packets are to be concatenated based on the bandwidth of the network NW2, the MTU (maximum transmission unit) size, the transmission frequency from the terminal device 10, and the like. For example, when the MTU is 1500 bytes, the aggregation unit 202 may set the aggregation packet to 1500 bytes or less. For example, the processor 21 and the RAM 23 function as the aggregation unit 202.

集約パケット生成部203は、連結した1以上の個別パケットに、パケット種別、中継装置のID、シーケンス番号等のヘッダー情報を付加した集約パケットD4を生成する。例えば、プロセッサー21が、集約パケット生成部203として機能する。 The aggregated packet generation unit 203 generates an aggregated packet D4 in which header information such as a packet type, a relay device ID, and a sequence number is added to one or more concatenated individual packets. For example, the processor 21 functions as an aggregate packet generation unit 203.

第一送信部204は、集約パケットD4をサーバー装置30に送信する。例えば、通信I/F25が、第一送信部204として機能する。 The first transmission unit 204 transmits the aggregated packet D4 to the server device 30. For example, the communication I / F 25 functions as the first transmission unit 204.

診断パケット生成部205は、連結した個別パケットから検知信号のデータ部分を除き、パケット種別、中継装置のID、シーケンス番号等のヘッダー情報を付加した診断パケットD5を生成する。また、連結する個別パケットが集約部202に存在しない場合は、パケット種別、中継装置のID、シーケンス番号のみを格納した診断パケットD5を送信する。診断パケットD5を送信する間隔は、例えば数ミリ秒程度の周期とする。また、集約パケット生成部203が一定の時間間隔で個別パケットを集約する場合、診断パケット生成部205が診断パケットD5を送信する時間間隔を、集約パケット生成部203が個別パケットを集約する時間間隔と同一にしても良い。例えば、プロセッサー21が、診断パケット生成部205として機能する。 The diagnostic packet generation unit 205 removes the data part of the detection signal from the concatenated individual packets, and generates the diagnostic packet D5 to which header information such as the packet type, the ID of the relay device, and the sequence number is added. If the individual packets to be concatenated do not exist in the aggregation unit 202, the diagnostic packet D5 containing only the packet type, the ID of the relay device, and the sequence number is transmitted. The interval for transmitting the diagnostic packet D5 is, for example, a period of about several milliseconds. When the aggregated packet generation unit 203 aggregates individual packets at regular time intervals, the time interval at which the diagnostic packet generation unit 205 transmits the diagnostic packet D5 is set to the time interval at which the aggregate packet generation unit 203 aggregates the individual packets. It may be the same. For example, the processor 21 functions as a diagnostic packet generator 205.

第二送信部206は、診断パケットD5を複数の端末装置10に一斉送信する。例えば、通信I/F25が、第二送信部206として機能する。 The second transmission unit 206 simultaneously transmits the diagnostic packet D5 to the plurality of terminal devices 10. For example, the communication I / F 25 functions as the second transmission unit 206.

第二受信部207は、サーバー装置30から送信される集約パケットD4を受信する。例えば、通信I/F25が、第二受信部207として機能する。 The second receiving unit 207 receives the aggregated packet D4 transmitted from the server device 30. For example, the communication I / F 25 functions as the second receiving unit 207.

分離部208は、サーバー装置30から送信された集約パケットD4を個別パケットD3に分離する。例えば、プロセッサー21が、分離部208として機能する。 The separation unit 208 separates the aggregated packet D4 transmitted from the server device 30 into individual packets D3. For example, the processor 21 functions as a separator 208.

第三送信部209は、分離した個別パケットD3を各端末装置10に送信する。例えば、通信I/F25が、第三送信部209として機能する。 The third transmission unit 209 transmits the separated individual packet D3 to each terminal device 10. For example, the communication I / F 25 functions as the third transmission unit 209.

サーバー装置30は、受信部301、分離部302、受信選択部303、判定部304、ID付加部305、送信先選択部306、第一送信部307、集約部308、集約パケット生成部309及び第二送信部310を含む。 The server device 30 includes a reception unit 301, a separation unit 302, a reception selection unit 303, a determination unit 304, an ID addition unit 305, a destination selection unit 306, a first transmission unit 307, an aggregation unit 308, an aggregation packet generation unit 309, and a first unit. (Ii) The transmission unit 310 is included.

受信部301は、端末装置10から送信される個別パケットD3、及び中継装置20から送信される集約パケットD4を受信する。例えば、通信I/F35が、受信部301として機能する。 The receiving unit 301 receives the individual packet D3 transmitted from the terminal device 10 and the aggregated packet D4 transmitted from the relay device 20. For example, the communication I / F 35 functions as the receiving unit 301.

分離部302は、受信したパケットが個別パケットD3か、集約パケットD4かを判別し、集約パケットD4であれば個別パケットに分離する。また、分離部302は、受信したパケットが集約パケットか個別パケットかにより、返答する送信先を変更するための送信先情報を出力する。例えば、プロセッサー31が、分離部302として機能する。 The separation unit 302 determines whether the received packet is an individual packet D3 or an aggregate packet D4, and if it is an aggregate packet D4, separates it into individual packets. Further, the separation unit 302 outputs the destination information for changing the destination to be returned depending on whether the received packet is an aggregate packet or an individual packet. For example, the processor 31 functions as a separator 302.

受信選択部303は、個別パケットのIDを読み取り、すでに受信した個別パケットであれば破棄する。例えば、プロセッサー31が、受信選択部303として機能する。 The reception selection unit 303 reads the ID of the individual packet, and discards the individual packet that has already been received. For example, the processor 31 functions as a reception selection unit 303.

判定部304は、受信した個別パケットD3のデータ部分に含まれる検知信号D1に基づき、アプリケーションの処理を行い、制御信号D2を生成する。例えば、駅務機器の場合、運賃の計算又はIC(integrated circuit)カードのアクセス情報の発行などである。例えば、プロセッサー31が、判定部304として機能する。 The determination unit 304 processes the application based on the detection signal D1 included in the data portion of the received individual packet D3, and generates the control signal D2. For example, in the case of station affairs equipment, fare calculation or IC (integrated circuit) card access information issuance. For example, the processor 31 functions as a determination unit 304.

ID付加部305は、判定部304で生成した制御信号D2を一意に識別するためのIDを制御信号に付加する。例えば、送信先の端末装置10のIDと、制御信号が生成される毎にインクリメントされるシーケンス番号のペアをIDとする。制御信号にパケットの種別やID、データのサイズ等のヘッダー情報を付加したものも個別パケットD3と呼ぶ。例えば、プロセッサー31が、ID付加部305として機能する。 The ID addition unit 305 adds an ID for uniquely identifying the control signal D2 generated by the determination unit 304 to the control signal. For example, the ID is a pair of the ID of the destination terminal device 10 and the sequence number that is incremented each time a control signal is generated. A control signal to which header information such as a packet type, ID, and data size is added is also referred to as an individual packet D3. For example, the processor 31 functions as the ID addition unit 305.

送信先選択部306は、分離部302で判定した送信先情報に基づき、個別パケットD3を端末装置10に送信するか、中継装置20に送信するかを選択する。送信先選択部306は、個別パケットD3を端末装置10から受信した場合、第一送信部307により、個別パケットD3を端末装置10に送信する。送信先選択部306は、集約パケットD4を中継装置20から受信した場合、個別パケットD3を集約部308に格納する。例えば、プロセッサー31が、送信先選択部306として機能する。 The destination selection unit 306 selects whether to transmit the individual packet D3 to the terminal device 10 or the relay device 20 based on the destination information determined by the separation unit 302. When the destination selection unit 306 receives the individual packet D3 from the terminal device 10, the first transmission unit 307 transmits the individual packet D3 to the terminal device 10. When the destination selection unit 306 receives the aggregated packet D4 from the relay device 20, the destination selection unit 306 stores the individual packet D3 in the aggregate unit 308. For example, the processor 31 functions as a destination selection unit 306.

第一送信部307は、個別パケットD3を端末装置10に送信する。例えば、通信I/F35が、第一送信部307として機能する。 The first transmission unit 307 transmits the individual packet D3 to the terminal device 10. For example, the communication I / F 35 functions as the first transmission unit 307.

集約部308は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。例えば、プロセッサー31及びRAM33が、集約部308として機能する。 The aggregation unit 308 concatenates and holds individual packets at a fixed time interval, a fixed number of packets, or a fixed packet size. For example, the processor 31 and the RAM 33 function as the aggregation unit 308.

集約パケット生成部309は、連結した個別パケットに、パケット種別、送信先の中継装置のID、シーケンス番号等のヘッダー情報を付加した集約パケットD4を生成する。例えば、プロセッサー31が、集約パケット生成部309として機能する。 The aggregated packet generation unit 309 generates an aggregated packet D4 in which header information such as a packet type, a destination relay device ID, and a sequence number is added to the concatenated individual packets. For example, the processor 31 functions as an aggregate packet generator 309.

第二送信部310は、集約パケットD4を中継装置20に送信する。例えば、通信I/F35が、第二送信部310として機能する。 The second transmission unit 310 transmits the aggregated packet D4 to the relay device 20. For example, the communication I / F 35 functions as the second transmitter 310.

個別パケット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 destination terminal device 10. For example, the terminal ID (D32) includes, for example, a value obtained by combining the IP address and the port number of the terminal device. Alternatively, for example, the terminal ID (D32) uses a unique session ID issued by the server device 30 to the terminal device 10 each time the terminal device 10 accesses the server device 30.
The sequence number (D33) includes a number that increases each time the terminal device 10 or the server device 30 that is the source of the individual packet D3 transmits the individual packet. For example, the ID addition unit 102 may increase the number by one, or may increase the number by the size of the individual packet D3.
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 terminal device 10, a control signal D2 generated by the server device 30, and the like.
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 destination relay device 20. For example, a value obtained by combining the IP address and the port number of the relay device 20, or a unique session ID issued by the communication device each time the relay device 20 connects to the server device 30 is used.
The sequence number (D42) includes a number that is incremented each time each of the relay device 20 and the server device 30 transmits an aggregated packet. For example, the number is incremented by 1 each time an aggregate packet is transmitted. Alternatively, the number may be increased by the size of the aggregated packet each time the aggregated packet is transmitted.
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 communication system 1 according to the first embodiment will be described with reference to FIGS. 7 to 13. The content of the process in the following operation description is an example, and various processes capable of obtaining the same result can be appropriately used. Each of FIGS. 7 and 8 is a flowchart of processing by the processor 11 of the terminal device 10. The processor 11 executes these processes based on a program stored in the ROM 12 or the auxiliary storage device 14. The processor 11 simultaneously processes the processes shown in FIGS. 7 and 8 in parallel or in parallel. 9 and 10 are flowcharts of processing by the processor 21 of the relay device 20. The processor 21 executes these processes based on a program stored in the ROM 22 or the auxiliary storage device 24 or the like. The processor 21 simultaneously processes the processes shown in FIGS. 9 and 10 in parallel or in parallel. Each of FIGS. 11 to 13 is a flowchart of processing by the processor 31 of the server device 30. The processor 31 executes these processes based on a program stored in the ROM 32, the auxiliary storage device 34, or the like. The processor 31 simultaneously processes the processes shown in FIGS. 11 to 13 in parallel or in parallel. When the processor 11 starts the process shown in FIG. 13, the variable i is assigned to the RAM 13 and the like.
Unless otherwise specified, the processor 11, the processor 21, and the processor 31 proceed to step S (m + 1) after the processing of step S (m) (m is a natural number).

端末装置10は、制御対象デバイスDAから検知信号D1が入力されたことに応じて、サーバー装置30を宛先とするデータを生成する。当該データは、個別パケットの形式で送信される。当該個別パケットは、送信待ちのために例えば送信バッファーに登録される。 The terminal device 10 generates data destined for the server device 30 in response to the input of the detection signal D1 from the controlled device DA. The data is transmitted in the form of individual packets. The individual packet is registered in, for example, a transmission buffer for waiting for transmission.

図7のステップS111において端末装置10のプロセッサー11は、サーバー装置30を宛先とする個別パケットを生成するか否かを判定する。すなわち、プロセッサー11は、例えば、制御対象デバイスDAから検知信号D1が入力されたか否かを確認する。プロセッサー11は、個別パケットを生成しないならば、ステップS111においてNoと判定してステップS111を繰り返す。対して、プロセッサー11は、個別パケットを生成するならば、ステップS111においてYesと判定してステップS112へと進む。 In step S111 of FIG. 7, the processor 11 of the terminal device 10 determines whether or not to generate an individual packet destined for the server device 30. That is, the processor 11 confirms whether or not the detection signal D1 is input from the controlled device DA, for example. If the processor 11 does not generate an individual packet, the processor 11 determines No in step S111 and repeats step S111. On the other hand, if the processor 11 generates an individual packet, the processor 11 determines Yes in step S111 and proceeds to step S112.

ステップS112においてプロセッサー11は、サーバー装置30を宛先とする個別パケットを生成する。例えば、当該個別パケットは、ステップS71で入力された検知信号D1が含まれる。ステップS112で生成される個別パケットは、第1の個別パケットの一例である。 In step S112, the processor 11 generates an individual packet destined for the server device 30. For example, the individual packet includes the detection signal D1 input in step S71. The individual packet generated in step S112 is an example of the first individual packet.

ステップS113においてプロセッサー11は、ステップS112で生成した個別パケットを中継装置20に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットを中継装置20に送信する。送信された当該個別パケットは、中継装置20の通信I/F25によって受信される。なおこのとき、例えば、プロセッサー11は、当該個別パケットの処理バッファーへの登録を解除する。 In step S113, the processor 11 instructs the second communication I / F 16 to transmit the individual packet generated in step S112 to the relay device 20. In response to this instruction, the second communication I / F 16 transmits the individual packet to the relay device 20. The transmitted individual packet is received by the communication I / F 25 of the relay device 20. At this time, for example, the processor 11 cancels the registration of the individual packet in the processing buffer.

一方、図9のステップS211において中継装置20のプロセッサー21は、通信I/F25によってパケットが受信されるのを待ち受けている。プロセッサー21は、パケットが受信されたならば、ステップS211においてYesと判定してステップS212へと進む。 On the other hand, in step S211 of FIG. 9, the processor 21 of the relay device 20 waits for the packet to be received by the communication I / F 25. If the packet is received, the processor 21 determines Yes in step S211 and proceeds to step S212.

ステップS212においてプロセッサー21は、ステップS211で受信されたパケットが、個別パケットであるか否かを判定する。プロセッサー21は、ステップS211で受信されたパケットが、個別パケットであるならば、ステップS212においてYesと判定してステップS213へと進む。 In step S212, the processor 21 determines whether or not the packet received in step S211 is an individual packet. If the packet received in step S211 is an individual packet, the processor 21 determines Yes in step S212 and proceeds to step S213.

ステップS213においてプロセッサー21は、ステップS211で受信された個別パケットを、第1の集約バッファーに登録する。プロセッサー21は、ステップS213の後、ステップS211へと戻る。 In step S213, the processor 21 registers the individual packet received in step S211 in the first aggregation buffer. The processor 21 returns to step S211 after step S213.

また、図10のステップS221においてプロセッサー21は、タイマーをリセットする。当該タイマーは、第2診断パケットを前回送信してからの時間を計測するためのタイマーである。なお、第2診断パケットについては後述する。 Further, in step S221 of FIG. 10, the processor 21 resets the timer. The timer is a timer for measuring the time since the second diagnostic packet was transmitted last time. The second diagnostic packet will be described later.

ステップS222においてプロセッサー21は、集約条件を満たしているか否かを判定する。集約条件は、例えば以下の(1)〜(3)のような条件のうちの少なくとも1つ以上を含む。
(1)個別パケットを、中継装置20が前回集約したときから一定時間以上経過した。
(2)第1の集約バッファーに登録された個別パケットの数が一定以上になった。
(3)第1の集約バッファーに登録された個別パケットのデータ容量の合計が一定以上になった。
プロセッサー21は、例えば、集約条件に含まれる上記(1)〜(3)に示すような条件のうちのいずれかを満たすと判定したならば、ステップS222において集約条件を満たすと判定する。プロセッサー21は、集約条件を満たしていないと判定したならば、ステップS222においてNoと判定してステップS223へと進む。
In step S222, the processor 21 determines whether or not the aggregation condition is satisfied. The aggregation condition includes at least one or more of the following conditions (1) to (3), for example.
(1) A certain period of time or more has passed since the relay device 20 last aggregated the individual packets.
(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 processor 21 determines that any of the conditions shown in the above (1) to (3) included in the aggregation condition is satisfied, it is determined in step S222 that the aggregation condition is satisfied. If the processor 21 determines that the aggregation condition is not satisfied, it determines No in step S222 and proceeds to step S223.

ステップS223においてプロセッサー21は、タイマーをリセットしてから時間T1以上経過したか否かを判定する。なお、時間T1は、例えば、中継装置20の管理者などによって予め設定される。あるいは、時間T1は、中継装置20の設計者などによって予め定められていてもよい。プロセッサー21は、タイマーをリセットしてから時間T1以上経過していないならば、ステップS223においてNoと判定してステップS222へと戻る。かくして、プロセッサー21は、集約条件が満たされるか、タイマーをリセットしてから時間T1以上経過するまでステップS222及びステップS223を繰り返す。 In step S223, the processor 21 determines whether or not the time T1 or more has elapsed since the timer was reset. The time T1 is set in advance by, for example, the administrator of the relay device 20. Alternatively, the time T1 may be predetermined by the designer of the relay device 20 or the like. If the time T1 or more has not elapsed since the timer was reset, the processor 21 determines No in step S223 and returns to step S222. Thus, the processor 21 repeats steps S222 and S223 until the aggregation condition is satisfied or the time T1 or more elapses after resetting the timer.

プロセッサー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 processor 21 determines that the aggregation condition is satisfied while in the standby state of step S222 and step S223, it determines Yes in step S222 and proceeds to step S224.
In step S224, the processor 21 generates an aggregated packet that aggregates a plurality of individual packets registered in the first aggregation buffer. At this time, for example, the processor 21 targets the individual packets registered in the first aggregation buffer in order from the oldest individual packet. Then, the processor 21 combines and aggregates the individual packets to be aggregated. The processor 21 cancels the registration of the individual packets to be aggregated in the first aggregation buffer. Further, it is preferable that the processor 21 generates an aggregated packet so that the size of the aggregated packet does not exceed the MTU (maximum transmission unit). For example, when the processor 21 determines that the size of the aggregated packet exceeds the MTU when the number of aggregation targets is increased further, the processor 21 does not further aggregate individual packets. The aggregated packet generated in step S224 is an example of the first aggregated packet.
However, when the number of individual packets registered in the first aggregation buffer is one, the processor 21 generates an aggregation packet including only one individual packet. Further, the processor 21 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.

ステップS225においてプロセッサー21は、ステップS224で生成した集約パケット集約パケットをサーバー装置30に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該集約パケットをサーバー装置30に送信する。送信された当該集約パケットは、サーバー装置30の通信I/F35によって受信される。 In step S225, the processor 21 instructs the communication I / F 25 to transmit the aggregated packet aggregated packet generated in step S224 to the server device 30. In response to this instruction, the communication I / F 25 transmits the aggregated packet to the server device 30. The transmitted aggregated packet is received by the communication I / F 35 of the server device 30.

ステップ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 processor 21 generates a first diagnostic packet. The first diagnostic packet is, for example, the diagnostic packet D5 as shown in FIG.
In step S227, the processor 21 instructs the communication I / F 25 to transmit the first diagnostic packet generated in step S226 to the terminal device 10. In response to this instruction, the communication I / F 25 transmits the first diagnostic packet to the terminal device 10. The transmitted first diagnostic packet is received by the second communication I / F 16 of the terminal device 10. The destination of the first diagnostic packet is the terminal device 10 which is the source of each of the individual packets targeted for aggregation in step S224. The processor 21 returns to step S222 after the processing of step S227.

一方、図7のステップS114において端末装置10のプロセッサー11は、第1の通信I/F15によって第1診断パケットが受信されたか否かを判定する。プロセッサー11は、第1診断パケットが受信されないならば、ステップS114においてNoと判定してステップS115へと進む。 On the other hand, in step S114 of FIG. 7, the processor 11 of the terminal device 10 determines whether or not the first diagnostic packet has been received by the first communication I / F15. If the first diagnostic packet is not received, the processor 11 determines No in step S114 and proceeds to step S115.

ステップS115においてプロセッサー11は、タイムアウトしたか否かを判定する。すなわち、プロセッサー11は、ステップS113の処理の後、時間T2以上経過したか否かを確認する。なお、時間T2は、例えば、端末装置10の管理者などによって予め設定される。あるいは、時間T2は、端末装置10の設計者などによって予め定められていてもよい。プロセッサー11は、タイムアウトしていないならば、ステップS115においてNoと判定してステップS114へと戻る。かくして、プロセッサー11は、第1の通信I/F15によって第1診断パケットが受信されるか、タイムアウトしたまでステップS114及びステップS115を繰り返す。 In step S115, the processor 11 determines whether or not a timeout has occurred. That is, the processor 11 confirms whether or not the time T2 or more has elapsed after the process of step S113. The time T2 is set in advance by, for example, the administrator of the terminal device 10. Alternatively, the time T2 may be predetermined by the designer of the terminal device 10 or the like. If the processor 11 has not timed out, the processor 11 determines No in step S115 and returns to step S114. Thus, the processor 11 repeats steps S114 and S115 until the first diagnostic packet is received by the first communication I / F15 or timed out.

プロセッサー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 processor 11 determines Yes in step S114 and returns to step S111. ..

一方、図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 server device 30 waits for the packet to be received by the communication I / F 25. If the packet is received, the processor 31 determines Yes in step S311 and proceeds to step S312.

ステップ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 terminal device 10 which is the source of the individual packet determined as the processing target in step S332 as a result of the processing in step S332. If it is not necessary for the processor 31 to return a response to the terminal device 10, the processor 31 determines No in step S333 and proceeds to step S334. On the other hand, if the processor 31 needs to return a response to the terminal device 10, it determines Yes in step S333 and proceeds to step S334.

ステップ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 server device 30 via the relay device 20. If the individual packet arrives at the server device 30 via the relay device 20, the processor 31 determines Yes in step S334 and proceeds to step S335.

ステップS335においてプロセッサー31は、ステップS332において処理対象として決定した個別パケットの送信元である端末装置10を宛先とする応答を生成する。当該応答は、例えば、制御信号D2を含む。なお、プロセッサー31は、当該応答を、中継装置20を経由して当該端末装置10に到着する個別パケットとして生成する。当該中継装置20は、ステップS332において処理対象として決定された個別パケットが経由した中継装置20である。 In step S335, the processor 31 generates a response destined for the terminal device 10 which is the source of the individual packet determined as the processing target in step S332. The response includes, for example, the control signal D2. The processor 31 generates the response as an individual packet arriving at the terminal device 10 via the relay device 20. The relay device 20 is a relay device 20 via which individual packets determined to be processed in step S332 have passed.

ステップ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 server device 30 last aggregated the individual packets transmitted via the relay device 20-i.
(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 / F 25 of the relay device 20-i. The processor 31 proceeds to step S343 after the processing of step S346.

一方、中継装置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 processor 21 of the relay device 20 determines No in step S212 and proceeds to step S214.
In step S214, the processor 21 divides the individual packets included in the aggregated packets received in step S211 into individual individual packets.

ステップS215においてプロセッサー21は、ステップS214で分割したそれぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置10に送信するように通信I/F25に対して指示する。この指示を受けて通信I/F25は、当該それぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置10に送信する。送信された当該それぞれの個別パケットは、それぞれの個別パケットの宛先である端末装置10の第2の通信I/F16によって受信される。 In step S215, the processor 21 instructs the communication I / F 25 to transmit each individual packet divided in step S214 to the terminal device 10 which is the destination of each individual packet. In response to this instruction, the communication I / F 25 transmits each of the individual packets to the terminal device 10 which is the destination of each individual packet. The transmitted individual packet is received by the second communication I / F 16 of the terminal device 10 which is the destination of each individual packet.

一方、図7のステップS121において端末装置10のプロセッサー11は、第2の通信I/F16によって個別パケットが受信されるのを待ち受けている。プロセッサー11は、個別パケットが受信されたならば、ステップS121においてYesと判定してステップS122へと進む。 On the other hand, in step S121 of FIG. 7, the processor 11 of the terminal device 10 waits for the individual packet to be received by the second communication I / F 16. If the individual packet is received, the processor 11 determines Yes in step S121 and proceeds to step S122.

ステップS122においてプロセッサー11は、ステップS121で受信された個別パケットが到着済みであるのを待ち受ける。なお、プロセッサー11は、例えば、第1の到着リストを参照することで到着済みであるか否かを判定する。プロセッサー11は、ステップS121で受信された個別パケットが到着済みであるならば、ステップS122においてYesと判定してステップS121へと戻る。対して、プロセッサー11は、ステップS121で受信された個別パケットが到着済みでないならば、ステップS122においてNoと判定してステップS123へと進む。 In step S122, the processor 11 waits for the individual packet received in step S121 to arrive. The processor 11 determines whether or not it has arrived by referring to, for example, the first arrival list. If the individual packet received in step S121 has arrived, the processor 11 determines Yes in step S122 and returns to step S121. On the other hand, if the individual packet received in step S121 has not arrived, the processor 11 determines No in step S122 and proceeds to step S123.

ステップS123においてプロセッサー11は、ステップS121で受信された個別パケットを第1の到着リストに登録する。 In step S123, the processor 11 registers the individual packet received in step S121 in the first arrival list.

ステップ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 processor 11 performs processing based on the content of the individual packet received in step S121. For example, if the individual packet contains a control signal D2, the processor 11 instructs the first communication I / F 15 to input the control signal D2 to the controlled device DA. In response to this instruction, the first communication I / F 15 inputs the control signal D2 to the controlled device DA connected to the first communication I / F 15. The processor 11 returns to step S121 after the processing of step S124.
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 processor 11 times out in the standby state of step S114 and step S115 of FIG. 7, it determines Yes in step S115 and proceeds to step S117. The timeout occurs, for example, when the relay device 20 has an abnormality and the first diagnostic packet is not transmitted to the terminal device 10. Alternatively, the timeout occurs, for example, when there is an abnormality in the route between the terminal device 10 and the relay device 20, and communication between the terminal device 10 and the relay device 20 cannot be performed normally.
In step S116, the processor 11 sends the individual packet generated in step S112 to the second communication I / F 16 so as to arrive at the server device 30 without passing through the relay device 20 and transmit the individual packet to the server device 30. Instruct against. In response to this instruction, the second communication I / F 16 transmits the individual packet to the server device 30. The transmitted individual packet is received by the communication I / F 35 of the server device 30.

一方、サーバー装置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 server device 30 determines No in step S312 and proceeds to step S317.

ステップ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 server device 30 via the relay device 20, the processor 31 determines No in step S334 and proceeds to step S337. ..

ステップS337においてプロセッサー31は、ステップS332において処理バッファーから取り出した個別パケットの送信元である端末装置10を宛先とする応答を生成する。当該応答は、例えば、制御信号D2を含む。なお、プロセッサー31は、当該応答を、中継装置20を経由せずに当該端末装置10に到着する個別パケットとして生成する。ステップS337で生成される個別パケットは、第2の個別パケットの一例である。 In step S337, the processor 31 generates a response destined for the terminal device 10 that is the source of the individual packets taken out of the processing buffer in step S332. The response includes, for example, the control signal D2. The processor 31 generates the response as an individual packet arriving at the terminal device 10 without going through the relay device 20. The individual packet generated in step S337 is an example of the second individual packet.

ステップ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 destination terminal device 10 without going through the relay device 20. Instruct against. In response to this instruction, the communication I / F 35 transmits the individual packet to the terminal device 10. The transmitted individual packet is received by the second communication I / F 16 of the terminal device 10. The processor 31 returns to step S331 after the process of step S338.

一方、図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 processor 11 of the terminal device 10 determines whether or not the second diagnostic packet has been received by the second communication I / F 16. If the second diagnostic packet has not been received by the second communication I / F 16, the processor 11 determines No in step S117 and proceeds to step S118. The second diagnostic packet will be described later.

ステップS118においてプロセッサー11は、ステップS111と同様にして、個別パケットを生成するか否かを判定する。プロセッサー11は、ステップS111と同様にして、個別パケットを生成しないならば、ステップS118においてNoと判定してステップS117へと戻る。かくして、プロセッサー11は、第2診断パケットが第2の通信I/F16によって受信されるか、個別パケットを生成すると判定するまでステップS117及びステップS118を繰り返す。 In step S118, the processor 11 determines whether or not to generate individual packets in the same manner as in step S111. Similar to step S111, if the processor 11 does not generate an individual packet, the processor 11 determines No in step S118 and returns to step S117. Thus, the processor 11 repeats steps S117 and S118 until it determines that the second diagnostic packet is received by the second communication I / F 16 or generates an individual packet.

プロセッサー11は、ステップS117及びステップS118の待受状態にあるときに、個別パケットを生成すると判定したならば、ステップS118においてYesと判定してステップS119へと進む。
プロセッサー11は、ステップS112と同様にして個別パケットを生成する。ステップS119で生成される個別パケットは、第1の個別パケットの一例である。
If the processor 11 determines to generate an individual packet while in the standby state of step S117 and step S118, it determines Yes in step S118 and proceeds to step S119.
The processor 11 generates individual packets in the same manner as in step S112. The individual packet generated in step S119 is an example of the first individual packet.

ステップS120においてプロセッサー11は、サーバー装置30を宛先とする個別パケットを、中継装置20を経由せずにサーバー装置30に到着するようにして、サーバー装置30に送信するように第2の通信I/F16に対して指示する。この指示を受けて第2の通信I/F16は、当該個別パケットをサーバー装置30に送信する。送信された当該個別パケットは、サーバー装置30の通信I/F35によって受信される。 In step S120, the processor 11 causes the individual packet destined for the server device 30 to arrive at the server device 30 without going through the relay device 20 and transmits the second communication I / to the server device 30. Instruct F16. In response to this instruction, the second communication I / F 16 transmits the individual packet to the server device 30. The transmitted individual packet is received by the communication I / F 35 of the server device 30.

一方、中継装置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 processor 21 of the relay device 20 is in the standby state of step S222 and step S223 of FIG. 10 and the time T1 or more has elapsed after resetting the timer, it determines Yes in step S223 and steps. Proceed to S227.
In step S227, the processor 21 determines whether or not the relay device 20 is operating normally. If the processor 21 determines that the relay device 20 is not operating normally, the processor 21 determines No in step S227 and returns to step S222. On the other hand, if the processor 21 determines that the relay device 20 is operating normally, it determines Yes in step S227 and proceeds to step S228.

ステップ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 processor 21 generates a second diagnostic packet. The second diagnostic packet is a diagnostic packet that does not include individual packet data. Further, the second diagnostic packet is generated so as to be distinguishable from the first diagnostic packet. The processor 21 that generated the second diagnostic packet instructs the communication I / F 25 to transmit the second diagnostic packet to all the terminal devices 10 in the same area as the area where the relay device 20 is installed. .. That is, the processor 21 of the relay device 20-k instructs the communication I / F 25 to transmit the second diagnostic packet to each of the terminal devices 10-k connected to the network NW1-k. In response to this instruction, the communication I / F 25 transmits the second diagnostic packet to the respective terminal devices 10-k. The transmitted second diagnostic packet is received by the second communication I / F 16 of each terminal device 10-k. The processor 21 returns to step S221 after the processing of step S228.
The second diagnostic packet is data that notifies the terminal device 10 that the relay device 20 that is the source of the second diagnostic packet is operating normally. The second diagnostic packet is, for example, data that is periodically transmitted from the relay device 20 to the terminal device 10 every time T1.

一方、端末装置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 / F 16 while in the standby state of step S117 and step S118 of FIG. 7, the processor 11 of the terminal device 10 says Yes in step S117. The determination is made and the process returns to step S111.

以上より、プロセッサー11を中枢とするコンピューターは、図7及び図8に示す処理を行うことで、制御部として機能する。プロセッサー21を中枢とするコンピューターは、図9及び図10に示す処理を行うことで、処理部として機能する。プロセッサー31を中枢とするコンピューターは、図11〜図13に示す処理を行うことで、生成部として機能する。 From the above, the computer centered on the processor 11 functions as a control unit by performing the processes shown in FIGS. 7 and 8. The computer centered on the processor 21 functions as a processing unit by performing the processes shown in FIGS. 9 and 10. The computer centered on the processor 31 functions as a generator by performing the processes shown in FIGS. 11 to 13.

第1実施形態に係る通信システム1の動作を、図14〜図16を用いてさらに説明する。図14〜図16のそれぞれは、通信システム1の情報の流れの一例を示すシーケンス図である。なお、図14〜図16は、通信システム1における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。なお、シーケンス図の説明では、いずれも地域Akを例に説明を行う。 The operation of the communication system 1 according to the first embodiment will be further described with reference to FIGS. 14 to 16. Each of FIGS. 14 to 16 is a sequence diagram showing an example of the information flow of the communication system 1. Note that FIGS. 14 to 16 do not cover the flow of information in the communication system 1, and there may be a flow of information (not shown). In the description of the sequence diagram, the region Ak will be taken as an example.

図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 relay device 20.
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 relay device 20. Further, the terminal device 10-k-2 transmits an individual packet D3 including the detection signal D1 of "β" input by the input process to the relay device 20. The individual packet D3 transmitted by the terminal device 10-k-1 includes the terminal ID 1 (ID: 1) and the sequence number 1 (Seq: 1). The individual packet D3 transmitted by the terminal device 10-k-2 includes the terminal ID 2 (ID: 2) and the sequence number 1 (Seq: 1).
The relay device 20 that has received the individual packet D3 buffers the individual packet in the aggregation buffer by the aggregation process. Then, the relay device 20 aggregates the buffered individual packets and generates an aggregated packet D4 and a diagnostic packet D5 to which the ID of the relay device 20 and the sequence number of the aggregated packet are added. The relay device 20 transmits the aggregated packet D4 to the server device 30, and transmits the diagnostic packet D5 to the terminal device 10-k-1 and the terminal device 10-k-2. The terminal device 10-k-1 and the terminal device 10-k-2 receive the diagnostic packet D5. Since the terminal device 10-k-1 and the terminal device 10-k-2 that have received the diagnosis packet D5 have received the diagnosis packet D5, it is determined that there is no abnormality in the relay device 20.
After receiving the aggregated packet D4, the server device 30 separates the aggregated packet D4 into individual individual packets included in the aggregated packet D4 by a separation process. Then, the server device 30 reads the terminal ID and the sequence number of the individual packet, confirms that the individual packet has not been received, and performs the determination process. The control signals D2 "X" and "Y" are generated by the determination process, and the aggregate packet D6 is generated by the aggregation process. The data structure of the aggregated packet D6 is, for example, the same as the data structure of the aggregated packet D4. Since the aggregated packet D4 in which the detection signal D1 is stored is transmitted from the relay device 20, the aggregated packet D6 in which the control signal D2 is stored is transmitted to the relay device 20. After receiving the aggregated packet D6, the relay device 20 separates a plurality of individual packets D7 included in the aggregated packet D6 from the aggregated packet D6 by a separation process. Then, the relay device 20 transmits the individual packet D7 to each of the terminal device 10-k-1 and the terminal device 10-k-2. The data structure of the individual packet D7 is the same as that of the individual packet D3, for example.
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 terminal device 10, the relay device 20 can confirm that the relay device 20 is operating normally, and the relay device 20 aggregates the packets to load the server device 30. Can be reduced.

図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 relay device 20.
It is assumed that the relay device 20 is in a state in which the individual packet D3 cannot be received, or is in a state in which processing cannot be performed even if the individual packet D3 is received. In this case, the relay device 20 cannot transmit the diagnostic packet D5 to the terminal device 10-k-1 and the terminal device 10-k-2. Therefore, the terminal device 10-k-1 and the terminal device 10-k-2 confirm that the diagnostic packet cannot be received within a certain time after the individual packet D3 is transmitted. Based on the confirmation, the terminal device 10-k-1 and the terminal device 10-k-2 determine that the relay device 20 is abnormal. Then, each of the terminal device 10-k-1 and the terminal device 10-k-2 transmits the individual packet D3 to the server device 30.
When the server device 30 receives the individual packet D3 transmitted from each of the terminal device 10-k-1 and the terminal device 10-k-2, the server device 30 reads the terminal ID and the sequence number of the individual packet. Then, the server device 30 confirms that the received individual packet D3 is an unreceived individual packet. The server device 30 that has confirmed that it has not been received performs a determination process. The server device 30 generates the control signals D2 "X" and "Y" by the determination process, respectively. Since the individual packet D3 in which the detection signal D1 is stored is transmitted from the terminal device 10, the server device 30 does not perform the aggregation process. Then, the server device 30 transmits the individual packet D7 in which the control signal D2 is stored to the terminal device 10-k-1 and the terminal device 10-k-2.
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 terminal device 10 can select the transmission destination of the individual packet according to the state of the relay device 20, even if an abnormality occurs in the relay device 20, the control can be continued with a constant delay time. can. When the timing for generating the diagnostic packet is set to a cycle of about several milliseconds, the communication delay time when an abnormality occurs in the relay device 20 becomes several milliseconds, and the real-time control property can be ensured.

図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 packet generation unit 205 or the second transmission unit 206 of the relay device 20.
It is assumed that the relay device 20 is in a state in which the diagnostic packet D5 cannot be transmitted or is in a state in which the transmission of the diagnostic packet D5 is delayed. Further, it is assumed that the relay device 20 can transmit the aggregated packet D4 to the server device 30. In this case, the terminal device 10-k-1 and the terminal device 10-k-2 cannot receive the diagnostic packet D5 transmitted from the relay device 20 before the time-out occurs.
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 relay device 20 is abnormal. , The individual packet D3 is transmitted to the server device 30.
From the above, the server device 30 receives the aggregated packet D4 transmitted from the relay device 20 and the individual packet D3 transmitted from each of the terminal device 10-k-1 and the terminal device 10-k-2. When the server device 30 receives the aggregated packet D4, the server device 30 performs a separation process on the aggregated packet D4. Then, the server device 30 reads the terminal ID and the sequence number of the individual packets included in the aggregated packet D4. Further, when the server device 30 receives the individual packet D3, the server device 30 reads the terminal ID and the sequence number of the individual packet D3. The server device 30 performs determination processing on the individual packet included in the aggregated packet D4 and the individual packet arriving earlier in the individual packet D3, and the server device 30 performs the same individual packet arriving after that. Discard.
By adding the ID and the sequence number to the individual packets, the server device 30 does not process the detection signal D1 in duplicate. Further, the terminal device 10 and the server device 30 can continue normal control even when some functions of the relay device 20 become abnormal.

第1実施形態の通信システム1によれば、中継装置20は、端末装置10から送信された複数の個別パケットを集約してサーバー装置30に送信する。したがって、通信システム1は、サーバー装置30の通信負荷を軽減することができる。また、サーバー装置30は、各端末装置10に対する応答を集約して中継装置20に送信する。これにより、サーバー装置30の通信負荷が軽減される。 According to the communication system 1 of the first embodiment, the relay device 20 aggregates a plurality of individual packets transmitted from the terminal device 10 and transmits them to the server device 30. Therefore, the communication system 1 can reduce the communication load of the server device 30. Further, the server device 30 aggregates the responses to each terminal device 10 and transmits them to the relay device 20. As a result, the communication load of the server device 30 is reduced.

また、第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 communication system 1 of the first embodiment, when the relay device 20 normally transmits the aggregated packet that aggregates the individual packets received from the terminal device 10 to the server device 30, the relay device 20 sends the diagnostic packet to the terminal device 10. By transmitting, it is possible to notify the terminal device 10 that the transmission has been performed normally. The terminal device 10 can know from the diagnostic packet that the transmission has been performed normally. Further, the terminal device 10 can determine that the relay device 20 has an abnormality when the diagnostic packet is not sent. Then, when the relay device 20 determines that the relay device 20 has an abnormality, the relay device 20 directly transmits the individual packet to the server device 30 without going through the relay device 20. Therefore, even if there is an abnormality in the relay device 20, individual packets are transmitted to the server device 30 without being lost. Further, from the above, the communication system 1 can communicate between the terminal device 10 and the server device 30 even when the relay device 20 has an abnormality. That is, stable communication is possible between the terminal device 10 and the server device 30.

第2診断パケットは、端末装置10が個別パケットデータを送信していない間であっても定期的に送信される。したがって、端末装置10は、中継装置20が異常な状態から復帰したことを、第2診断パケットを受信したことによって知ることができる。 The second diagnostic packet is periodically transmitted even while the terminal device 10 is not transmitting the individual packet data. Therefore, the terminal device 10 can know that the relay device 20 has recovered from the abnormal state by receiving the second diagnostic packet.

制御対象デバイス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 communication system 1 of the embodiment is particularly useful when the controlled device DA is a station equipment. Further, when the control target device DA is an automatic ticket gate, real-time performance is required for the time from the output of the detection signal D1 to the input of the control signal D2. Therefore, when the controlled device DA includes an automatic ticket gate, the communication system 1 of the embodiment is particularly useful.

〔第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 communication system 1 according to the second embodiment is the same as that of FIGS. 1 and 2 of the first embodiment, the description thereof will be omitted. However, the communication system 1 according to the second embodiment shows a functional configuration as shown in FIG. 17 instead of FIG. FIG. 17 is a block diagram showing the functional configurations of the terminal device 10, the relay device 20, and the server device 30.

端末装置10は、入力部101、ID付加部102、送信先選択部103、送信部104、第一受信部105、診断部106、第二受信部107、ID確認部108、受信選択部109及び出力部110に加えて異常通知部121を含む。 The terminal device 10 includes an input unit 101, an ID addition unit 102, a transmission destination selection unit 103, a transmission unit 104, a first reception unit 105, a diagnosis unit 106, a second reception unit 107, an ID confirmation unit 108, a reception selection unit 109, and the like. In addition to the output unit 110, the abnormality notification unit 121 is included.

異常通知部121は、異常信号D8を外部に送信し、入力部101を一次的に停止する機能を備える。端末装置10の異常信号D8は、端末装置10又は制御対象デバイスDAを利用する利用者に報知される。例えば、自動改札機のランプや画面表示等が、利用者に通信システム1に異常が発生した事を報知する。また、異常通知部121は、入力部101を一時的に停止させる。これにより、異常通知部121は、サーバー装置30の負荷を低減させることができる。 The abnormality notification unit 121 has a function of transmitting an abnormality signal D8 to the outside and temporarily stopping the input unit 101. The abnormality signal D8 of the terminal device 10 is notified to the user who uses the terminal device 10 or the controlled device DA. For example, the lamp or screen display of the automatic ticket gate notifies the user that an abnormality has occurred in the communication system 1. Further, the abnormality notification unit 121 temporarily stops the input unit 101. As a result, the abnormality notification unit 121 can reduce the load on the server device 30.

中継装置20は、第一受信部201、集約部202、集約パケット生成部203、第一送信部204、診断パケット生成部205、第二送信部206、第二受信部207、分離部208及び第三送信部209に加えて負荷計測部221を含む。 The relay device 20 includes a first reception unit 201, an aggregation unit 202, an aggregation packet generation unit 203, a first transmission unit 204, a diagnostic packet generation unit 205, a second transmission unit 206, a second reception unit 207, a separation unit 208, and a first unit. (Iii) In addition to the transmission unit 209, the load measurement unit 221 is included.

負荷計測部221は、中継装置20の負荷の高さを計測する機能を備える。負荷計測部221が計測する付加は、例えば、中継装置20のプロセッサー21の使用率、RAM23の使用率、及びネットワークの使用率などである。負荷計測部221は、中継装置20が集約パケットを生成するタイミングで負荷の高さを計測し、負荷情報を診断パケット生成部へ通知する。診断パケット生成部205は、中継装置20の負荷の高さが一定値以上となった場合、診断パケットD5に個別パケットヘッダーD51の一部を格納せずに、端末装置10に送信する。 The load measuring unit 221 has a function of measuring the height of the load of the relay device 20. The additions measured by the load measuring unit 221 are, for example, the usage rate of the processor 21 of the relay device 20, the usage rate of the RAM 23, the usage rate of the network, and the like. The load measurement unit 221 measures the height of the load at the timing when the relay device 20 generates the aggregated packet, and notifies the diagnosis packet generation unit of the load information. When the load height of the relay device 20 exceeds a certain value, the diagnostic packet generation unit 205 transmits the diagnostic packet D5 to the terminal device 10 without storing a part of the individual packet header D51.

サーバー装置30の機能構成は、第1実施形態の図3と同様であるので説明を省略する。 Since the functional configuration of the server device 30 is the same as that of FIG. 3 of the first embodiment, the description thereof will be omitted.

第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 packet generation unit 205 of the second embodiment has, for example, a data structure as shown in FIG.
The diagnostic packet generation unit 205 reduces the number of individual packet headers D51 included in the diagnostic packet D5 according to the height of the load measured by the load measurement unit. For example, when the load is equal to or greater than the first threshold value, the diagnostic packet generation unit 205 determines that the load of the relay device 20 is higher than the reference value, and reduces the number of individual packet headers D51 included in the diagnostic packet D5. Further, the diagnostic packet generation unit 205 reduces the individual packet header D51 more as the load increases, for example. Then, the diagnostic packet generation unit 205 does not include the individual packet header in the diagnostic packet D5, for example, when the load height is equal to or higher than the second threshold value.
Similarly, the aggregation unit 202 reduces the number of individual packet data D43 to be concatenated according to the height of the load measured by the load measurement unit. For example, when the load is equal to or greater than the first threshold value, the aggregation unit 202 determines that the load of the relay device 20 is higher than the reference value, and reduces the number of individual packet data D43 to be concatenated. Further, for example, the aggregation unit 202 reduces the number of individual packet data D43 to be connected as the load increases. Then, for example, when the height of the load is equal to or higher than the second threshold value, the aggregation unit 202 does not concatenate the individual packet data D43. Therefore, the aggregated packet generation unit 203 is also inferior to generating the aggregated packet D4.
The number of individual packet headers D51 included in the diagnostic packet D5 generated by the diagnostic packet generation unit 205 and the number of individual packet data D43 concatenated by the aggregation unit 202 are the same. Further, the individual packet header D51 included in the diagnostic packet D5 generated by the diagnostic packet generation unit 205 and the individual packet data D43 concatenated by the aggregation unit 202 correspond to the same individual packet.
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 packet generation unit 205 generates a diagnostic packet D5 including all four individual packet headers D51. At this time, the number of individual packet data D43 concatenated by the aggregation unit 202 is also four. For example, when the load is 40% or more and less than 50%, the diagnostic packet generation unit 205 reduces the individual packet header D51 by one to generate a diagnostic packet D5 including only three individual packet headers D51. At this time, the number of individual packet data D43 concatenated by the aggregation unit 202 is also three. For example, when the load is 50% or more and less than 60%, the diagnostic packet generation unit 205 reduces the individual packet header D51 by half, that is, by two, and generates a diagnostic packet D5 including only two individual packet headers D51. At this time, the number of individual packet data D43 concatenated by the aggregation unit 202 is also two. For example, when the load is 60% or more and less than 70%, the diagnostic packet generation unit 205 reduces the individual packet header D51 by three to generate a diagnostic packet D5 including only one individual packet header D51. At this time, the number of individual packet data D43 concatenated by the aggregation unit 202 is also one. For example, when the load is 70% or more, the diagnostic packet generation unit 205 reduces all four individual packet headers D51 to generate a diagnostic packet D5 that does not include the individual packet header D51. At this time, the number of individual packet data D43 concatenated by the aggregation unit 202 is also 0. In the above example, the first threshold is 40%. Further, in the case of the above example, the second threshold value is 70%.
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 packet generation unit 205 reduces the individual packet header D51. Further, the threshold value does not have to be a fixed value.

以下、第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 communication system 1 according to the second embodiment will be described with reference to FIGS. 8, 9, 11, 11, 13, 19, and 20. The content of the process in the following operation description is an example, and various processes capable of obtaining the same result can be appropriately used. In the second embodiment, the terminal device 10 performs the processes shown in FIGS. 19 and 8 instead of the processes shown in FIGS. 7 and 8 of the first embodiment. FIG. 19 is a flowchart of processing by the processor 11 of the terminal device 10. The processor 11 executes this process based on a program stored in the ROM 12 or the auxiliary storage device 14. The processor 11 simultaneously processes the processes shown in FIGS. 19 and 8 in parallel or in parallel. Further, in the second embodiment, the relay device 20 performs the processes shown in FIGS. 9 and 20 instead of the processes shown in FIGS. 9 and 10 of the first embodiment. FIG. 20 is a flowchart of processing by the processor 21 of the relay device 20. The processor 21 executes this process based on a program stored in the ROM 22 or the auxiliary storage device 24 or the like. The processor 21 simultaneously processes the processes shown in FIGS. 9 and 20 in parallel or in parallel. Further, the server device 30 performs the processes shown in FIGS. 11 to 13 in the same manner as in the first embodiment.

第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 processor 11 of the terminal device 10 determines Yes in step S114 of FIG. 19, the process proceeds to step S131.
In step S131, the processor 11 determines whether or not the individual packet transmitted in step S113 is normally transmitted from the relay device 20 to the server device 30. The processor 11 makes the determination by referring to the first diagnostic packet received in step S114. That is, if the first diagnostic packet includes the individual packet header generated from the individual packet transmitted in step S113, the processor 11 determines that the packet has been normally transmitted. Then, if the first diagnostic packet does not include the individual packet header generated from the individual packet transmitted in step S113, the processor 11 considers that the individual packet has not been transmitted. If the processor 11 determines that the individual packet transmitted in step S113 has been normally transmitted from the relay device 20, it determines Yes in step S131 and returns to step S111. On the other hand, if the processor 11 determines that the individual packet transmitted in step S113 is not normally transmitted from the relay device 20, it determines No in step S131 and proceeds to step S116.

また、第2実施形態では、中継装置20のプロセッサー21は、図20のステップS222においてYesと判定したならば、ステップS231へと進む。
ステップS231において中継装置20のプロセッサー21は、中継装置20の負荷の高さを示す負荷情報を取得する。
Further, in the second embodiment, if the processor 21 of the relay device 20 determines Yes in step S222 of FIG. 20, the process proceeds to step S231.
In step S231, the processor 21 of the relay device 20 acquires load information indicating the height of the load of the relay device 20.

ステップ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 processor 21 generates aggregate packets in the same manner as in step S224. However, in step S232, when the load on the relay device 20 is high, the processor 21 does not aggregate all the individual packets to be aggregated, but reduces the number of individual packets included in the aggregated packets. Further, the processor 21 reduces the number of individual packets included in the aggregated packet as the load on the relay device 20 increases. The processor 21 cancels the registration of the individual packets to be aggregated, including those not included in the aggregated packets, in the first aggregation buffer.
In step S233, the processor 21 instructs the communication I / F 25 to transmit the aggregated packet generated in step S232 to the server device 30. In response to this instruction, the communication I / F 25 transmits the aggregated packet to the server device 30. The transmitted aggregated packet is received by the communication I / F 35 of the server device 30.

ステップS234においてプロセッサー21は、第1診断パケットを生成する。なお、プロセッサー21は、中継装置20の負荷が高いほど、第1診断パケットに含める個別パケットヘッダーの数を減らす。また、第1診断パケットに含まれる個別パケットヘッダーは、ステップS232において生成された集約パケットに含まれる個別パケットデータに対応するものである。 In step S234, the processor 21 generates a first diagnostic packet. The processor 21 reduces the number of individual packet headers included in the first diagnostic packet as the load on the relay device 20 increases. Further, the individual packet header included in the first diagnostic packet corresponds to the individual packet data included in the aggregated packet generated in step S232.

ステップ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 processor 21 instructs the communication I / F 25 to transmit the first diagnostic packet generated in step S234 to the terminal device 10. In response to this instruction, the communication I / F 25 transmits the first diagnostic packet to the terminal device 10. The transmitted first diagnostic packet is received by the second communication I / F 16 of the terminal device 10. The destination of the first diagnostic packet is the terminal device 10 which is the source of each of the individual packets targeted for aggregation in step S224. The processor 21 returns to step S222 after the processing of step S235.

第2実施形態に係る通信システム1の動作を、図21を用いてさらに説明する。図21は、通信システム1の情報の流れの一例を示すシーケンス図である。なお、図21は、通信システム1における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。 The operation of the communication system 1 according to the second embodiment will be further described with reference to FIG. FIG. 21 is a sequence diagram showing an example of the information flow of the communication system 1. Note that FIG. 21 does not cover the flow of information in the communication system 1, and there may be a flow of information (not shown).

図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 relay device 20 is high. It is assumed that when the relay device 20 receives individual packets from the terminal device 10-k-1 and the terminal device 10-k-2, the load of the relay device is 50%. Since the load on the relay device 20 is high, the diagnostic packet D5 and the aggregate packet D4 are included without including 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. Suppose to generate. 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 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. 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 because the diagnostic packet D5 does not have an individual packet header with a terminal ID of 2, and directly transmits the individual packet D3 to the server device 30. Send to.
The server device 30 transmits the control signal D2 for the detection signal D1 received as an aggregate packet to the relay device 20 as an aggregate packet. Then, the server device 30 transmits the control signal D2 for the detection signal D1 received as an individual packet to the terminal device 10-k-2 as an individual packet.

第2実施形態の通信システム1は、第1実施形態と同様の効果が得られる。
また、第2実施形態の通信システム1によれば、中継装置20は、負荷が高い場合には、受信した個別パケットの一部を集約しない。これにより、中継装置20の負荷が高くなりすぎることを防ぐことができる。
また、中継装置20は、集約しなかった個別パケットの送信元である端末装置10に対しては、当該個別パケットをサーバー装置30に送信しなかったことを示す診断パケットを送信する。これにより、端末装置10は、当該個別パケットがサーバー装置30に送信されなかったことを知ることができる。そして、この場合、端末装置10は、個別パケットを、中継装置20を介さずに直接サーバー装置30に送信する。
以上より、通信システム1は、中継装置20の負荷が高くなって端末装置10とサーバー装置30との間で通信ができなくなることを防ぐことができる。
The communication system 1 of the second embodiment has the same effect as that of the first embodiment.
Further, according to the communication system 1 of the second embodiment, the relay device 20 does not aggregate a part of the received individual packets when the load is high. This makes it possible to prevent the load on the relay device 20 from becoming too high.
Further, the relay device 20 transmits a diagnostic packet indicating that the individual packet has not been transmitted to the server device 30 to the terminal device 10 which is the source of the individual packet that has not been aggregated. As a result, the terminal device 10 can know that the individual packet was not transmitted to the server device 30. Then, in this case, the terminal device 10 directly transmits the individual packet to the server device 30 without going through the relay device 20.
From the above, the communication system 1 can prevent the load on the relay device 20 from becoming too high to allow communication between the terminal device 10 and the server device 30.

〔第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 communication system 1b according to the third embodiment will be described with reference to FIG. Unlike the first embodiment and the second embodiment, the communication system 1b is provided with a plurality of relay devices 20 in each area A. Then, each relay device is connected to the network NW1 of each region A. FIG. 22 shows a case where two relay devices 20 are installed in each area A. However, depending on the area A, there may be a case where only one relay device 20 is installed. In addition, a plurality of relay devices 20-k installed in the area Ak shall be referred to as relay device 20-k-1, relay device 20-k-2, ....
The circuit configuration of the main part of each device included in the communication system 1b is the same as that of the communication system 1 shown in FIG. 2 of the first embodiment and the second embodiment, and thus the description thereof will be omitted. Further, the functional configuration of each device included in the communication system 1b is the same as that of the communication system 1 shown in FIG. 17 of the second embodiment, and thus the description thereof will be omitted.

以下、第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 communication system 1b according to the third embodiment will be described with reference to FIGS. 8, 9, 11, 11, 13, 20, and 23. The content of the process in the following operation description is an example, and various processes capable of obtaining the same result can be appropriately used. In the third embodiment, the terminal device 10 performs the processes shown in FIGS. 23 and 8 instead of the processes shown in FIGS. 19 and 8 of the second embodiment. FIG. 23 is a flowchart of processing by the processor 11 of the terminal device 10. The processor 11 executes this process based on a program stored in the ROM 12 or the auxiliary storage device 14. When the processor 11 starts the process shown in FIG. 23, the variable j is assigned to the RAM 13 and the like. The processor 11 simultaneously processes the processes shown in FIGS. 23 and 8 in parallel or in parallel. The relay device 20 performs the processes shown in FIGS. 9 and 20 as in the second embodiment. Further, the server device 30 performs the processes shown in FIGS. 11 to 13 in the same manner as in the first embodiment and the second embodiment. In the following description, the case of region Ak will be described as an example.

第3実施形態では、プロセッサー11は、図23のステップS112の処理の後、ステップS141へと進む。
ステップS141においてプロセッサー11は、変数jの値を1にする。これにより、個別パケットの送信先が中継装置20−k−1になる。
In the third embodiment, the processor 11 proceeds to step S141 after the processing of step S112 of FIG. 23.
In step S141, the processor 11 sets the value of the variable j to 1. As a result, the destination of the individual packet becomes the relay device 20-k-1.

ステップS142においてプロセッサー11は、個別パケットを中継装置20−k−jに送信するように第1の通信I/F15に対して指示する。この指示を受けて第1の通信I/F15は、当該個別パケットを中継装置20−k−jに送信する。送信された当該個別パケットは、中継装置20−k−jの通信I/F25によって受信される。 In step S142, the processor 11 instructs the first communication I / F 15 to transmit individual packets to the relay device 20-k-j. In response to this instruction, the first communication I / F 15 transmits the individual packet to the relay device 20-k-j. The transmitted individual packet is received by the communication I / F 25 of the relay device 20-k-j.

第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 processor 11 determines Yes in the process of step S115, the processor 11 proceeds to step S143. Still, in the third embodiment, if the processor 11 determines No in step S131, the processor 11 proceeds to step S143.
In step S143, the processor 11 increments the variable j and increments the value of the variable j by 1. As a result, the destination of the individual packet is changed from the relay device 20-k-j to the relay device 20-k- (j + 1).

ステップS144においてプロセッサー11は、次に送信する中継装置20があるか否かを判定する。すなわち、プロセッサー11は、中継装置20−k−jが存在するか否かを確認する。プロセッサー11は、次に送信する中継装置20があるならば、ステップS144においてYesと判定してステップS142へと戻る。なお、プロセッサー11は、ステップS144からステップS142に進んだ場合のステップS142では、前回のステップS142で送信された個別パケットと同じ個別パケットを送信するように処理を行う。 In step S144, the processor 11 determines whether or not there is a relay device 20 to be transmitted next. That is, the processor 11 confirms whether or not the relay device 20-k-j exists. If there is a relay device 20 to be transmitted next, the processor 11 determines Yes in step S144 and returns to step S142. In step S142 when the process proceeds from step S144 to step S142, the processor 11 performs a process so as to transmit the same individual packet as the individual packet transmitted in the previous step S142.

また、プロセッサー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 relay device 20 to be transmitted next, the processor 11 determines No in step S144 and proceeds to step S145.
In step S145, the processor 11 makes the same individual packet as the individual packet transmitted in step S142 arrive at the server device 30 without passing through the relay device 20, and transmits the second communication to the server device 30. Instruct I / F16. In response to this instruction, the second communication I / F 16 transmits the individual packet to the server device 30. The transmitted individual packet is received by the communication I / F 35 of the server device 30. The processor 11 proceeds to step S117 after the process of step S145.

なお、第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 server device 30 replaces the relay device 20-1 to the relay device 20-n with the relay device 20-1-1, the relay device 20-1-2, ... It is confirmed whether the individual packets transmitted to each of the device 20-n-1, the relay device 20-n-2, ... Satisfy the aggregation condition. Then, the processor 31 is any of the individual packets transmitted to the relay device 20-1-1, the relay device 20-1-2, ... To the relay device 20-n-1, the relay device 20-n-2, ... Depending on the aggregation condition, the relay device 20 satisfying the aggregation condition is subjected to the same processing as in steps S345 and S346.

第3実施形態に係る通信システム1bの動作を、図24〜図26を用いてさらに説明する。図24〜図26のそれぞれは、通信システム1bの情報の流れの一例を示すシーケンス図である。なお、図24〜図26は、通信システム1bにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。 The operation of the communication system 1b according to the third embodiment will be further described with reference to FIGS. 24 to 26. Each of FIGS. 24 to 26 is a sequence diagram showing an example of the information flow of the communication system 1b. Note that FIGS. 24 to 26 do not cover the flow of information in the communication system 1b, and a flow of information (not shown) may exist.

図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 server device 30. Then, the relay device 20-k-1 transmits the diagnostic packet D5 to the terminal device 10-k-1 and the terminal device 10-k-2. After that, the server device 30 transmits the aggregated packet D6 to the relay device 20-k-1. Then, the relay device 20-k-1 transmits the individual packet D7 to the terminal device 10-k-1 and the terminal device 10-k-2. In this case, the relay device 20-k-2 is on standby, and for example, the second diagnostic packet is transmitted to each terminal device 10-k at regular intervals.

図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 server device 30. Then, the server device 30 transmits the aggregated packet D6 to the relay device 20-k-2. The relay device 20-k-2 that has received the aggregated packet D6 divides the aggregated packet D6 into individual individual packets D7. Then, the relay device 20-k-2 transmits the individual packet D7 to the terminal device 10-k-1 and the terminal device 10-k-2.

図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 server device 30. The server device 30 aggregates the responses to the aggregated packet D4 and transmits them to the relay device 20-k-1, and aggregates the responses to the individual packets D3 included in the aggregated packet D10 and transmits them to the relay device 20-k-2. .. The data structure of the aggregated packet D10 is, for example, the same as that of the aggregated packet D4.

なお、図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 communication system 1b of the third embodiment, since the relay device 20 is multiplexed, packets can be aggregated by using another relay device 20 even if an abnormality occurs in the relay device 20. Is. Further, as a result, even if there is an abnormality in the relay device 20, the communication load of the server device 30 can be reduced.
According to the communication system 1b of the third embodiment, when the terminal device 10 determines that the relay device 20 has an abnormality, the terminal device 10 transmits an individual packet to the other relay device 20. This enables multiplexing of the relay device 20.

〔第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 communication system 1b according to the fourth embodiment is the same as that of FIGS. 1 and 22 of the third embodiment, the description thereof will be omitted. Further, since the functional configuration of each device included in the communication system 1b according to the fourth embodiment is the same as that of FIG. 17 of the third embodiment, the description thereof will be omitted.

以下、第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 communication system 1b according to the fourth embodiment will be described with reference to FIGS. 8, 9, 11, 11, 13, 20, and 27. The content of the process in the following operation description is an example, and various processes capable of obtaining the same result can be appropriately used. In the fourth embodiment, the terminal device 10 performs the processes shown in FIGS. 27 and 8 instead of the processes shown in FIGS. 19 and 8 of the second embodiment. FIG. 27 is a flowchart of processing by the processor 11 of the terminal device 10. The processor 11 executes this process based on a program stored in the ROM 12 or the auxiliary storage device 14. The processor 11 simultaneously processes the processes shown in FIGS. 27 and 8 in parallel or in parallel. The relay device 20 performs the processes shown in FIGS. 9 and 20 as in the second and third embodiments. Further, the server device 30 performs the processes shown in FIGS. 11 to 13 in the same manner as in the first to third embodiments.

第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 processor 11 proceeds to step S151 after the process of step S112 of FIG. 27.
In step S151, the processor 11 sends an individual packet destined for the server device 30 to all the relay devices 20 in the same area A as the area A where the terminal device 10 is installed in the second communication I / F16. Instruct. In response to this instruction, the second communication I / F 16 transmits the individual packet to each relay device 20. The transmitted individual packet is received by the communication I / F 25 of each relay device 20. At this time, for example, the processor 11 cancels the registration of the individual packet in the processing buffer.

第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 processor 11 determines No in step S131 of FIG. 27, the processor 11 proceeds to step S152.
In step S152, the processor 11 determines whether or not the first diagnostic packet has been received from all of the relay devices 20 to which the individual packets transmitted in step S151 are transmitted. If the processor 11 has not received the first diagnostic packet from all of the relay devices 20 in the same area A, the processor 11 determines No in step S152 and returns to step S115. On the other hand, if the processor 11 receives the first diagnostic packet from all of the relay devices 20 in the same area A, the processor 11 determines Yes in step S152 and proceeds to step S116.

なお、第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 server device 30 replaces the relay device 20-1 to the relay device 20-n with the relay device 20-1-1, the relay device 20-1-2, ... It is confirmed whether the individual packets transmitted to each of the device 20-n-1, the relay device 20-n-2, ... Satisfy the aggregation condition. Then, the processor 31 is any of the individual packets transmitted to the relay device 20-1-1, the relay device 20-1-2, ... To the relay device 20-n-1, the relay device 20-n-2, ... Depending on the aggregation condition, the relay device 20 satisfying the aggregation condition is subjected to the same processing as in steps S345 and S346.

第4実施形態に係る通信システム1bの動作を、図28及び図29を用いてさらに説明する。図28及び図29のそれぞれは、通信システム1bの情報の流れの一例を示すシーケンス図である。なお、図28及び図29は、通信システム1bにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。 The operation of the communication system 1b according to the fourth embodiment will be further described with reference to FIGS. 28 and 29. Each of FIGS. 28 and 29 is a sequence diagram showing an example of the information flow of the communication system 1b. Note that FIGS. 28 and 29 do not cover the flow of information in the communication system 1b, and there may be a flow of information (not shown).

図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 server device 30, and transmits the diagnostic packet D5 to the terminal device 10-k-1 and the terminal device 10-k-2. .. Further, the relay device 20-k-2 that has received the individual packet D3 transmits the aggregated packet D10 to the server device 30, and transmits the diagnostic packet D9 to the terminal device 10-k-1 and the terminal device 10-k-2. .. The data structure of the diagnostic packet D9 is, for example, the same as that of the diagnostic packet D5.
The server device 30 reads the terminal ID and sequence number of the individual packet of the aggregated packet D4 by the reception selection unit 303, confirms that the individual packet has not been received, and performs a determination process. After that, when the aggregated packet D10 is received, the reception selection unit 303 reads the terminal ID and sequence number of the individual packet of the aggregated packet D10, confirms that it is a received individual packet, and discards the packet. Since the server device 30 generates the control signal D2 from the detection signal D1 stored in the aggregate packet D4 received from the relay device 20-k-1, the server device 30 transmits the aggregate packet D6 transmitted from the server device 30 to the relay device 20-k-. Send to 1.

図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 server device 30, and transmits the diagnostic packet D9 to the terminal device 10-k-1 and the terminal device 10-k-2. ..
The server device 30 reads the terminal ID and sequence number of the individual packet of the aggregated packet D10 by the reception selection unit 303, confirms that the individual packet has not been received, and performs a determination process. Since the server device 30 generates the control signal D2 from the detection signal D1 stored in the aggregate packet D10 received from the relay device 20-k-2, the server device 30 transmits the aggregate packet D6 transmitted from the server device 30 to the relay device 20-k-. Send to 2.

第4実施形態の通信システム1bによれば、端末装置10は、個別パケットを複数の中継装置20に送信する。したがって、個別パケットの送信先である中継装置20の一部に異常が発生した場合でも、個別パケットの送信先である他の中継装置20が、当該個別パケットを集約してサーバー装置30に送信する。これにより、中継装置20に異常が発生した場合でも、端末装置10が個別パケットを再送することなく、当該個別パケットが通信サーバーに到着する。また、サーバー装置30は、複数の中継装置20から送信された同じ個別パケットのうち、最初に到着したもの以外は破棄する。以上より、第4実施形態の通信システム1bは、中継装置20に異常が発生した場合の伝送時間の遅延を防ぐことができる。 According to the communication system 1b of the fourth embodiment, the terminal device 10 transmits individual packets to a plurality of relay devices 20. Therefore, even if an abnormality occurs in a part of the relay device 20 which is the destination of the individual packet, the other relay device 20 which is the destination of the individual packet aggregates the individual packet and transmits the individual packet to the server device 30. .. As a result, even if an abnormality occurs in the relay device 20, the individual packet arrives at the communication server without the terminal device 10 retransmitting the individual packet. Further, the server device 30 discards the same individual packets transmitted from the plurality of relay devices 20 except for the first arriving packet. From the above, the communication system 1b of the fourth embodiment can prevent a delay in the transmission time when an abnormality occurs in the relay device 20.

第1実施形態〜第4実施形態は以下のような変形も可能である。
端末装置10は、定期的に中継装置20に問合せを行うことで、正常に通信できるか確認しても良い。そして、端末装置10は、正常に通信できない場合には、個別パケットの送信先を他の中継装置20又はサーバー装置30に変更しても良い。
The first to fourth embodiments can be modified as follows.
The terminal device 10 may periodically make an inquiry to the relay device 20 to confirm whether or not communication can be performed normally. Then, when the terminal device 10 cannot communicate normally, the transmission destination of the individual packet may be changed to another relay device 20 or a server device 30.

端末装置10は、中継装置20に異常があると判定した場合、中継装置20に定期的に問合せを行うことで、中継装置20が正常動作に復帰したか確認しても良い。 When the terminal device 10 determines that the relay device 20 has an abnormality, the terminal device 10 may periodically make an inquiry to the relay device 20 to confirm whether the relay device 20 has returned to normal operation.

第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 server device 30 in any of the relay devices 20-k, the terminal device 10-k does not transmit the individual packet among the plurality of relay devices 20-k. It may be transmitted to a part or all of the relay device 20-k.

実施形態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 communication system 1 and the communication system 1b may include other devices such as a PC instead of the server device 30. The other device operates in the same manner as the server device 30. The other device is an example of a communication device.

実施形態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)

通信装置と、前記通信装置を宛先とする第1の個別パケットの送信を中継する1以上の中継装置と、から成る送信先群から選択される1以上の送信先へ前記第1の個別パケットを送信する第1の通信部と、
前記中継装置の動作を示す診断パケットを受信する第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.
前記制御部は、前記第1の中継装置以外の装置として第2の中継装置を選択する、請求項1に記載の端末装置。 The terminal device according to claim 1, wherein the control unit selects a second relay device as a device other than the first relay device. 前記制御部は、前記第1の個別パケットの送信先として第1の中継装置及び第2の中継装置を選択する、請求項1に記載の端末装置。 The terminal device according to claim 1, wherein the control unit selects a first relay device and a second relay device as a transmission destination of the first individual packet.
JP2017181130A 2017-09-21 2017-09-21 Terminal equipment Active JP6957288B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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