(57)【要約】【課題】通信を安定させる端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムを提供すること。【解決手段】実施形態の端末装置は、第１の通信部、第２の通信部及び制御部を含む。第１の通信部は、通信装置と、通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置と、から成る送信先群から選択される１以上の送信先へ第１の個別パケットを送信する。第２の通信部は、中継装置の動作を示す診断パケットを受信する。制御部は、第１の個別パケットの送信先として第１の中継装置を選択する。制御部は、第１の中継装置への第１の個別パケットの送信後の診断パケットの未受信又は診断パケットに含まれる送信記録に基づき第１の個別パケットの未送信を検出する。制御部は、第１の個別パケットの未送信を検出した場合に、送信先群に含まれる第１の中継装置以外の装置を送信先として選択する。【選択図】図１
2019057825.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と、前記通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置と、から成る送信先群から選択される１以上の送信先へ前記第１の個別パケットを送信する第１の通信部と、
前記中継装置の動作を示す診断パケットを受信する第２の通信部と、
前記第１の個別パケットの送信先として第１の中継装置を選択し、前記第１の中継装置への前記第１の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第１の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第１の中継装置以外の装置を送信先として選択する制御部と、を備える、端末装置。
【請求項２】
前記制御部は、前記第１の中継装置以外の装置として第２の中継装置を選択する、請求項１に記載の端末装置。
【請求項３】
前記制御部は、前記第１の個別パケットの送信先として第１の中継装置及び第２の中継装置を選択する、請求項１に記載の端末装置。
【請求項４】
検知信号が入力される入力部と、
前記検知信号に対応する制御信号を出力する出力部と、をさらに備え
前記第２の通信部は、前記第１の個別パケットに対応する第２の個別パケットを受信し、
前記第１の個別パケットは、前記検知信号を含み、
前記第２の個別パケットは、前記制御信号を含む、請求項１乃至請求項３のいずれか１項に記載の端末装置。
【請求項５】
通信装置を宛先とする個別パケットを端末装置から受信する第１の通信部と、
前記個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成する、処理部と、
前記集約パケットを前記通信装置に送信する第２の通信部と、
前記診断パケットを前記端末装置に送信する第３の通信部と、を備える、中継装置。
【請求項６】
負荷を計測する負荷計測部をさらに備え、
前記処理部は、
前記負荷計測部により計測された前記負荷が基準以上である場合、第１の通信部によって受信された前記個別パケットのうちの一部又は全部を集約せず、
前記個別パケットのうちの一部又は全部を集約しなかったことに関する情報を含む前記診断パケットを生成する、請求項５に記載の中継装置。
【請求項７】
端末装置から送信された、検知信号を含む第１の個別パケットと、中継装置から送信された、前記第１の個別パケットが集約された第１の集約パケットと、を受信する第１の通信部と、
前記第１の個別パケットの受信に応じて、前記検知信号に対応する制御信号を含む第２の個別パケットを生成し
前記第１の集約パケットの受信に応じて、前記第２の個別パケットが集約された第２の集約パケットを生成する、
生成部と、
前記第２の個別パケットを前記端末装置に送信し、前記第２の集約パケットを前記中継装置に送信する第２の通信部と、を備える、通信装置。
【請求項８】
端末装置と、通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置とを含み、
前記端末装置は、
前記通信装置と、１以上の前記中継装置とから成る送信先群から選択される１以上の送信先へ前記第１の個別パケットを送信する第１の端末通信部と、
前記第１の個別パケットの送信先として第１の中継装置を選択する制御部と、を備え、
前記中継装置は、
前記第１の個別パケットを受信する第１の中継通信部と、
前記第１の個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成する、処理部と、
前記集約パケットを前記通信装置に送信する第２の中継通信部と、
前記診断パケットを前記端末装置に送信する第３の中継通信部と、を備え、
前記端末装置は、
前記診断パケットを受信する第２の端末通信部をさらに備え、
前記制御部は、前記第１の中継装置への前記第１の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第１の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第１の中継装置以外の装置を送信先として選択する、通信システム。
【請求項９】
端末装置は、通信装置と、前記通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置と、から成る送信先群から、第１の中継装置を前記第１の個別パケットの送信先として選択し、
端末装置は、前記第１の個別パケットを、前記第１の中継装置に送信し、
前記中継装置は、前記第１の個別パケットを受信し、
前記中継装置は、前記第１の個別パケットを集約して集約パケットを生成し、
前記中継装置は、前記集約パケットの送信に関する情報を含む診断パケットを生成し、
前記中継装置は、前記集約パケットを前記端末装置に送信し、
前記中継装置は、前記集約パケットを前記通信装置に送信し、
前記端末装置は、前記第１の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第１の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第１の中継装置以外の装置を送信先として選択する、通信方法。
【請求項１０】
端末装置が備えるコンピューターを、
通信装置と、前記通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置と、から成る送信先群から、第１の中継装置を前記第１の個別パケットの送信先として選択し、前記第１の中継装置への前記第１の個別パケットの送信後の診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第１の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第１の中継装置以外の装置を送信先として選択する
制御部として機能させるプログラム。
【請求項１１】
中継装置が備えるコンピューターを、
端末装置から受信した、通信装置を宛先とする個別パケットを集約して集約パケットを生成し、前記集約パケットの送信に関する情報を含む診断パケットを生成し、
前記集約パケットを前記通信装置に送信するように制御し、
前記診断パケットを前記端末装置に送信するように制御する、
処理部として機能させるプログラム。
【請求項１２】
通信装置が備えるコンピューターを
端末装置から送信された、検知信号を含む第１の個別パケットの受信に応じて、前記検知信号に対応する制御信号を含む第２の個別パケットを生成し
中継装置から送信された、前記第１の個別パケットが集約された第１の集約パケットの受信に応じて、前記第２の個別パケットが集約された第２の集約パケットを生成し、
前記第２の個別パケットを前記端末装置に送信し、前記第２の集約パケットを前記中継装置に送信するように制御する、
生成部として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
クライアントサーバーモデルのシステムなどにおいて、クライアントからサーバーに対して多数のアクサスが発生する場合がある。このような場合、ネットワーク又はサーバーなどに対する負荷が増大する。特に、小さいサイズのパケットを大量に処理する場合には、サーバーのネットワークインターフェースなどに対する処理負荷が増大する。そこで、通信を高速化するために、ネットワークの中継装置で通信プロトコルを、例えばＴＣＰ（Transmission Control Protocol）などからＵＤＰ（User Datagram Protocol）などに変換する手法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２２９８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、中継装置で通信プロトコルを変換するようなシステムは、中継装置などで異常が発生した場合、通信プロトコルの変換ができなくなり、クライアントとサーバーとの間で通信ができなくなってしまうという問題がある。本発明の実施形態が解決しようとする課題は、通信を安定させる端末装置、中継装置、通信装置、通信システム、通信方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の端末装置は、第１の通信部、第２の通信部及び制御部を含む。第１の通信部は、通信装置と、前記通信装置を宛先とする第１の個別パケットの送信を中継する１以上の中継装置と、から成る送信先群から選択される１以上の送信先へ前記第１の個別パケットを送信する。第２の通信部は、前記中継装置の動作を示す診断パケットを受信する。制御部は、前記第１の個別パケットの送信先として第１の中継装置を選択する。制御部は、前記第１の中継装置への前記第１の個別パケットの送信後の前記診断パケットの未受信又は前記診断パケットに含まれる送信記録に基づき前記第１の個別パケットの未送信を検出する。制御部は、前記第１の個別パケットの未送信を検出した場合に、前記送信先群に含まれる前記第１の中継装置以外の装置を送信先として選択する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態及び第２実施形態に係る通信システムの概要を示すブロック図。
【図２】図１中の通信システム及び当該通信システムに含まれる構成要素の要部回路構成の一例を示すブロック図。
【図３】図２中の端末装置、中継装置及びサーバー装置の第１実施形態に係る機能構成の一例を示すブロック図。
【図４】第１実施形態〜第４実施形態に係る個別パケットのデータ構造の一例を示す図。
【図５】第１実施形態〜第４実施形態に係る集約パケットのデータ構造の一例を示す図。
【図６】第１実施形態〜第４実施形態に係る診断パケットのデータ構造の一例を示す図。
【図７】図２中の端末装置が備えるプロセッサーによる第１実施形態に係る処理の一例を示すフローチャート。
【図８】図２中の端末装置が備えるプロセッサーによる第１実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図９】図２中の中継装置が備えるプロセッサーによる第１実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図１０】図２中の中継装置が備えるプロセッサーによる第１実施形態に係る処理の一例を示すフローチャート。
【図１１】図２中のサーバー装置が備えるプロセッサーによる第１実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図１２】図２中のサーバー装置が備えるプロセッサーによる第１実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図１３】図２中のサーバー装置が備えるプロセッサーによる第１実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図１４】第１実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図１５】第１実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図１６】第１実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図１７】図２中の端末装置、中継装置及びサーバー装置の第２実施形態に係る機能構成の一例を示すブロック図。
【図１８】第２実施形態〜第４実施形態に係る診断パケットのデータ構造の一例を示す図。
【図１９】図２中の端末装置が備えるプロセッサーによる第２実施形態に係る処理の一例を示すフローチャート。
【図２０】図２中の中継装置が備えるプロセッサーによる第２実施形態〜第４実施形態に係る処理の一例を示すフローチャート。
【図２１】第２実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図２２】第３実施形態及び第４実施形態に係る通信システムの概要を示すブロック図。
【図２３】図２中の端末装置が備えるプロセッサーによる第３実施形態に係る処理の一例を示すフローチャート。
【図２４】第３実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図２５】第３実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図２６】第３実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図２７】図２中の端末装置が備えるプロセッサーによる第４実施形態に係る処理の一例を示すフローチャート。
【図２８】第４実施形態に係る通信システムの情報の流れを示すシーケンス図。
【図２９】第４実施形態に係る通信システムの情報の流れを示すシーケンス図。
【発明を実施するための形態】
【０００７】
以下、いくつかの実施形態に係る通信システムについて図面を用いて説明する。なお、各図面及び以下におけるその説明において同一の要素には同一の符号を付している。
〔第１実施形態〕
以下、第１実施形態に係る通信システムについて説明する。
図１は、第１実施形態に係る通信システム１の概要を示すブロック図である。図２は、第１実施形態に係る通信システム１及び通信システム１に含まれる構成要素の要部回路構成の一例を示すブロック図である。通信システム１は、例えば、クライアントである端末装置１０とサーバーであるサーバー装置３０とによって構成される、クライアントサーバーモデルのシステムである。通信システム１は、例えば、駅務システム、交通システム、防災システム、水処理システム等の社会インフラシステム、ビル制御システム、物流システム及び軍事システムなどの種々のシステムにおいて適用が可能である。なお、以下の実施形態では、通信システム１が駅務システムに適用される場合を例にして通信システム１の説明を行う。通信システム１は、複数の端末装置１０、複数の中継装置２０、サーバー装置３０及び制御対象デバイスＤＡを含む。なお、複数の端末装置１０のそれぞれは、例えば複数の地域Ａ（地域Ａ１、地域Ａ２、…、地域Ａｎ（ｎは、自然数。））のいずれかに設置される。なお、地域Ａ１に設置された端末装置１０を、端末装置１０−１−１、端末装置１０−１−２、…、地域Ａ２に設置された端末装置１０を、端末装置１０−２−１、端末装置１０−２−２、…、地域Ａｎに設置された端末装置１０を、端末装置１０−ｎ−１、端末装置１０−ｎ−２、…のように称するものとする。さらに、地域Ａ１に設置された端末装置１０を総称して端末装置１０−１、地域Ａ２に設置された端末装置１０を総称して端末装置１０−２、…、地域Ａｎに設置された端末装置１０を総称して端末装置１０−ｎのように称するものとする。また、地域Ａ１に設置された中継装置２０を中継装置２０−１、地域Ａ２に設置された中継装置２０を中継装置２０−２、…、地域Ａｎに設置された中継装置を中継装置２０−ｎのように称するものとする。
また、地域Ａ１にはネットワークＮＷ１−１が設けられ、地域Ａ２にはネットワークＮＷ１−２が設けられ、…、地域ＡｎにはネットワークＮＷ１−ｎが設けられている。
地域Ａｋ（ｋは、ｎ以下の自然数。）に設置された端末装置１０−ｋ及び中継装置２０−ｋは、ネットワークＮＷ１−ｋに接続されている。なお、ネットワークＮＷ１−１〜ネットワークＮＷ１−ｎを総称してネットワークＮＷ１と称するものとする。
ネットワークＮＷ１は、典型的にはＬＡＮ（local area network）を含む通信網である。ネットワークＮＷ１は、典型的にはイントラネットなどのプライベートネットワークを含む通信網である。ネットワークＮＷ１は、インターネットを含む通信網であっても良い。ネットワークＮＷ１は、ＷＡＮ（wide area network）を含む通信網であっても良い。また、ネットワークＮＷ１は、Ｐｒｏｆｉｂｕｓ、Ｍｏｄｂｕｓ又はＴＣ−ｎｅｔなどのフィールドバスであってもよい。また、ネットワークＮＷ１は、有線通信回線であっても良いし、無線通信回線であっても良い。また、ネットワークＮＷ１は、有線通信回線と無線通信回線とが混在していても良い。
また、ネットワークＮＷ１及びサーバー装置３０は、ネットワークＮＷ２に接続されている。ネットワークＮＷ２は、典型的には、インターネットを含む通信網である。ネットワークＮＷは１、典型的には、ＷＡＮを含む通信網である。ネットワークＮＷ２は、イントラネットなどのプライベートネットワークを含む通信網であっても良い。ネットワークＮＷ２は、ＬＡＮを含む通信網であっても良い。また、ネットワークＮＷ２は、専用線又は公衆携帯電話網などを含む通信網であっても良い。また、ネットワークＮＷ２は、有線通信回線であっても良いし、無線通信回線であっても良い。また、ネットワークＮＷ２は、有線通信回線と無線通信回線とが混在していても良い。
【０００８】
端末装置１０は、制御対象デバイスＤＡに接続される。あるいは、端末装置１０は、制御対象デバイスＤＡに内蔵される。またあるいは、端末装置１０と制御対象デバイスＤＡとは、一体の装置であっても良い。端末装置１０は、制御対象デバイスＤＡから送信されるデータに基づく処理を行う。また、端末装置１０は、制御対象デバイスＤＡを制御する。端末装置１０は、サーバー装置３０を宛先とするリクエストなどを送信する。
制御対象デバイスＤＡは、例えば、駅務機器、プラント、製造機械、防災システム上の機器、交通システム上の機器、医療機器、ＩｏＴ（internet of things）機器、ＰＣ（personal computer）、タブレットＰＣ、スマートホン又はゲーム機などの各種機器である。例えば、通信システム１が駅務システムに適用される場合には、制御対象デバイスＤＡは、例えば駅務機器である。なお、駅務機器は、自動改札機、自動券売機及び自動券売機などである。
端末装置１０は、プロセッサー１１、ＲＯＭ（read-only memory）１２、ＲＡＭ（random-access memory）１３、補助記憶デバイス１４、第１の通信Ｉ／Ｆ１５及び第２の通信Ｉ／Ｆ１６を含む。
【０００９】
プロセッサー１１は、端末装置１０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、端末装置１０の各種の機能を実現するべく各部を制御する。プロセッサー１１は、例えば、ＣＰＵ（central processing unit）、ＭＰＵ（micro processing unit）、ＳｏＣ（system on a chip）、ＤＳＰ（digital signal processor）、ＧＰＵ（graphics processing unit）、ＡＳＩＣ（application specific integrated circuit）、ＰＬＤ（programmable logic device）又はＦＰＧＡ（field-programmable gate array）などである。プロセッサー１１は、制御部の一例である。プロセッサー１１を中枢とするコンピューターは、制御部の一例である。
【００１０】
ＲＯＭ１２は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ１２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ１２は、上記のプログラムを記憶する。また、ＲＯＭ１２は、プロセッサー１１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００１１】
ＲＡＭ１３は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ１３は、データの読み書きに用いられるメモリである。ＲＡＭ１３は、プロセッサー１１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００１２】
補助記憶デバイス１４は、プロセッサー１１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス１４は、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）又はＳＳＤ（solid state drive）などである。補助記憶デバイス１４は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス１４は、プロセッサー１１が各種の処理を行う上で使用するデータ、プロセッサー１１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００１３】
ＲＡＭ１３又は補助記憶デバイス１４などは、送信バッファーを記憶する場合がある。送信バッファーは、例えば、送信待ちのパケットが登録される。
ＲＡＭ１３又は補助記憶デバイス１４などは、第１の到着リストを記憶する。第１の到着リストは、端末装置１０に到着済みの個別パケットが登録される。
【００１４】
ＲＯＭ１２又は補助記憶デバイス１４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で端末装置１０の管理者などへと譲渡される。しかしながら、端末装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶されない状態で当該管理者などに譲渡されても良い。また、端末装置１０は、当該プログラムとは別のプログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ１２又は補助記憶デバイス１４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷを介したダウンロードにより実現できる。
【００１５】
第１の通信Ｉ／Ｆ１５は、端末装置１０が制御対象デバイスＤＡと通信するためのインターフェースである。端末装置１０は、例えば、第１の通信Ｉ／Ｆ１５によって制御対象デバイスＤＡと接続される。第１の通信Ｉ／Ｆ１５は、制御対象デバイスＤＡから送信される検知信号Ｄ１を受信する。また、第１の通信Ｉ／Ｆ１５は、制御対象デバイスＤＡに対して制御信号Ｄ２を送信する。
【００１６】
第２の通信Ｉ／Ｆ１６は、端末装置１０がネットワークＮＷ１などを介して通信するためのインターフェースである。端末装置１０は、例えば、第２の通信Ｉ／Ｆ１６によってネットワークＮＷ１と接続される。第２の通信Ｉ／Ｆ１６は、第１の通信部の一例である。第２の通信Ｉ／Ｆ１６は、第２の通信部の一例である。第２の通信Ｉ／Ｆ１６は、第１の端末通信部の一例である。第２の通信Ｉ／Ｆ１６は、第２の端末通信部の一例である。
【００１７】
中継装置２０は、端末装置１０とサーバー装置３０との間の通信を中継する機能を有する。また、中継装置２０は、端末装置１０とサーバー装置３０との間の通信において、プロトコルの変換を行う機能を有する。中継装置２０は、例えば、ゲートウェイなどである。中継装置２０は、プロセッサー２１、ＲＯＭ２２、ＲＡＭ２３、補助記憶デバイス２４及び通信Ｉ／Ｆ２５を含む。
【００１８】
プロセッサー２１は、中継装置２０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー２１は、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、中継装置２０の各種の機能を実現するべく各部を制御する。プロセッサー２１は、例えば、ＣＰＵ、ＭＰＵ、ＳｏＣ、ＤＳＰ、ＧＰＵ、ＡＳＩＣ、ＰＬＤ又はＦＰＧＡなどである。あるいは、プロセッサー２１は、これらの組み合わせである。プロセッサー２１は、処理部の一例である。プロセッサー２１を中枢とするコンピューターは、処理部の一例である。
【００１９】
ＲＯＭ２２は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ２２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ２２は、上記のプログラムを記憶する。また、ＲＯＭ２２は、プロセッサー２１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００２０】
ＲＡＭ２３は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ２３は、データの読み書きに用いられるメモリである。ＲＡＭ２３は、プロセッサー２１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００２１】
補助記憶デバイス２４は、プロセッサー２１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス２４は、例えばＥＥＰＲＯＭ、ＨＤＤ又はＳＳＤなどである。補助記憶デバイス２４は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス２４は、プロセッサー２１が各種の処理を行う上で使用するデータ、プロセッサー２１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００２２】
ＲＡＭ２３又は補助記憶デバイス２４などは、第１の集約バッファーを記憶する。第１の集約バッファーは、集約待ちの個別パケットが登録される。
【００２３】
ＲＯＭ２２又は補助記憶デバイス２４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、中継装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で中継装置２０の管理者などへと譲渡される。しかしながら、中継装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶されない状態で当該管理者などに譲渡されても良い。また、中継装置２０は、当該プログラムとは別のプログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ２２又は補助記憶デバイス２４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷを介したダウンロードにより実現できる。
【００２４】
通信Ｉ／Ｆ２５は、中継装置２０がネットワークＮＷ１などを介して通信するためのインターフェースである。中継装置２０は、例えば、通信Ｉ／Ｆ２５によってネットワークＮＷ１と接続される。通信Ｉ／Ｆ２５は、第１の通信部の一例である。通信Ｉ／Ｆ２５は、第２の通信部の一例である。通信Ｉ／Ｆ２５は、第３の通信部の一例である。通信Ｉ／Ｆ２５は、第１の中継通信部の一例である。通信Ｉ／Ｆ２５は、第２の中継通信部の一例である。通信Ｉ／Ｆ２５は、第３の中継通信部の一例である。
【００２５】
サーバー装置３０は、例えば、端末装置１０によって送信されるリクエストの内容に基づく処理を行う。そして、サーバー装置３０は、例えば、リクエストの内容に基づき、当該リクエストの送信元を宛先とするレスポンスを送信する。サーバー装置３０は、プロセッサー３１、ＲＯＭ３２、ＲＡＭ３３、補助記憶デバイス３４及び通信Ｉ／Ｆ３５を含む。サーバー装置３０は、通信装置の一例である。
【００２６】
プロセッサー３１は、サーバー装置３０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー３１は、ＲＯＭ３２又は補助記憶デバイス３４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、サーバー装置３０の各種の機能を実現するべく各部を制御する。プロセッサー３１は、例えば、ＣＰＵ、ＭＰＵ、ＳｏＣ、ＤＳＰ、ＧＰＵ、ＡＳＩＣ、ＰＬＤ又はＦＰＧＡなどである。あるいは、プロセッサー３１は、これらの組み合わせである。プロセッサー３１は、生成部の一例である。プロセッサー３１を中枢とするコンピューターは、生成部の一例である。
【００２７】
ＲＯＭ３２は、プロセッサー３１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ３２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ３２は、上記のプログラムを記憶する。また、ＲＯＭ３２は、プロセッサー３１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００２８】
ＲＡＭ３３は、プロセッサー３１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ３３は、データの読み書きに用いられるメモリである。ＲＡＭ３３は、プロセッサー３１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００２９】
補助記憶デバイス３４は、プロセッサー３１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス３４は、例えばＥＥＰＲＯＭ、ＨＤＤ又はＳＳＤなどである。補助記憶デバイス３４は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス３４は、プロセッサー３１が各種の処理を行う上で使用するデータ、プロセッサー３１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００３０】
ＲＡＭ３３又は補助記憶デバイス３４などは、第２の集約バッファーを記憶する。第２の集約バッファーは、集約待ちの個別パケットが登録される。
ＲＡＭ３３又は補助記憶デバイス３４などは、第２の到着リストを記憶する。第２の到着リストは、サーバー装置３０に到着済みの個別パケットが登録される。
【００３１】
ＲＯＭ３２又は補助記憶デバイス３４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置３０は、当該プログラムがＲＯＭ３２又は補助記憶デバイス３４に記憶された状態でサーバー装置３０の管理者などへと譲渡される。しかしながら、サーバー装置３０は、当該プログラムがＲＯＭ３２又は補助記憶デバイス３４に記憶されない状態で当該管理者などに譲渡されても良い。また、サーバー装置３０は、当該プログラムとは別のプログラムがＲＯＭ３２又は補助記憶デバイス３４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ３２又は補助記憶デバイス３４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
【００３２】
通信Ｉ／Ｆ３５は、サーバー装置３０がネットワークＮＷ２などを介して通信するためのインターフェースである。サーバー装置３０は、例えば、通信Ｉ／Ｆ３５によってネットワークＮＷ２と接続される。
【００３３】
端末装置１０、中継装置２０及びサーバー装置３０について、図３を用いてさらに説明する。図３は、端末装置１０、中継装置２０及びサーバー装置３０の機能構成を示すブロック図である。
【００３４】
端末装置１０は、入力部１０１、ＩＤ付加部１０２、送信先選択部１０３、送信部１０４、第一受信部１０５、診断部１０６、第二受信部１０７、ＩＤ確認部１０８、受信選択部１０９及び出力部１１０を含む。
【００３５】
入力部１０１は、制御対象デバイスＤＡから検知信号Ｄ１を受けとる。例えば、第１の通信Ｉ／Ｆが、入力部１０１として機能する。
【００３６】
ＩＤ付加部１０２は、検知信号Ｄ１を一意に識別するための検知ＩＤ（identifier）を検知信号に付加する。ＩＤ付加部１０２は、例えば、端末装置１０ごとにユニークに付与された端末ＩＤと、それぞれの制御対象デバイスＤＡにおいて検知信号が生成される毎にインクリメントされる値（シーケンス番号）とを結合したものを検知ＩＤとする。ここで、検知信号Ｄ１にパケットの種別、ＩＤ、データのサイズなどのヘッダー情報が付加されたものを、個別パケットＤ３と呼ぶ。例えば、プロセッサー１１が、ＩＤ付加部１０２として機能する。
【００３７】
送信先選択部１０３は、中継装置２０の動作状況により、個別パケットＤ３を中継装置２０に送信するか、サーバー装置３０に送信するかを選択する。例えば、プロセッサー１１が、送信先選択部１０３として機能する。
【００３８】
送信部１０４は、個別パケットＤ３を中継装置２０又はサーバー装置３０に送信する。例えば、第２の通信Ｉ／Ｆ１６が、送信部１０４として機能する。
【００３９】
第一受信部１０５は、中継装置２０から送信される診断パケットＤ５を受信する。例えば、第２の通信Ｉ／Ｆ１６が、第一受信部１０５として機能する。
【００４０】
診断部１０６は、個別パケットＤ３を送信してから一定時間以内に診断パケットＤ５が受信されているかを確認し、診断パケットＤ５が受信できている場合は中継装置２０が正常であると診断し、受信できない場合は中継装置２０が異常であると診断する。また、診断部１０６は、一定周期で診断パケットが受信できているかを確認し、中継装置２０の異常を診断しても良い。また、診断部１０６は、個別パケットＤ３を送信後、一定時間以内に診断パケットＤ５が受信できなかった場合、中継装置２０の復帰に時間がかかることを想定し、個別パケットＤ３の送信先を一定時間の間サーバー装置３０に固定しても良い。例えば、プロセッサー１１が、診断部１０６として機能する。
【００４１】
第二受信部１０７は、中継装置２０又はサーバー装置３０から送信される個別パケットＤ３を受信する。第二受信部１０７が受信した個別パケットＤ３には、例えば、パケットを識別するためのＩＤ及び制御信号Ｄ２などが格納されている。例えば、第２の通信Ｉ／Ｆ１６が、第二受信部１０７として機能する。
【００４２】
ＩＤ確認部１０８は、受信した個別パケットＤ３の端末ＩＤとシーケンス番号を参照して、当該個別パケットＤ３が到着済みであるかを確認する。例えば、プロセッサー１１が、ＩＤ確認部１０８として機能する。
【００４３】
受信選択部１０９は、個別パケットＤ３の端末ＩＤとシーケンス番号を参照して、当該個別パケットＤ３がすでに到着済みであるか判定する。そして、受信選択部１０９は、当該個別パケットＤ３が到着済みであると判定したならば、当該個別パケットを破棄する。例えば、プロセッサー１１が、受信選択部１０９として機能する。
【００４４】
出力部１１０は、個別パケットＤ３から制御信号Ｄ２を読み取り、出力する。出力先は、例えば、制御対象デバイスＤＡなどである。例えば、第１の通信Ｉ／Ｆが、出力部１１０として機能する。
【００４５】
中継装置２０は、第一受信部２０１、集約部２０２、集約パケット生成部２０３、第一送信部２０４、診断パケット生成部２０５、第二送信部２０６、第二受信部２０７、分離部２０８及び第三送信部２０９を含む。
【００４６】
第一受信部２０１は、端末装置１０が送信する個別パケットＤ３を受信する。例えば、通信Ｉ／Ｆ２５が、第一受信部２０１として機能する。
【００４７】
集約部２０２は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。集約部２０２は、どの程度の数の個別パケットを連結するかを、ネットワークＮＷ２の帯域、ＭＴＵ（maximum transmission unit）サイズ、又は端末装置１０からの送信頻度などにより決定することができる。例えば、ＭＴＵが１５００バイトの場合、集約部２０２は、集約パケットが１５００バイト以内となるようにしても良い。例えば、プロセッサー２１及びＲＡＭ２３が、集約部２０２として機能する。
【００４８】
集約パケット生成部２０３は、連結した１以上の個別パケットに、パケット種別、中継装置のＩＤ、シーケンス番号等のヘッダー情報を付加した集約パケットＤ４を生成する。例えば、プロセッサー２１が、集約パケット生成部２０３として機能する。
【００４９】
第一送信部２０４は、集約パケットＤ４をサーバー装置３０に送信する。例えば、通信Ｉ／Ｆ２５が、第一送信部２０４として機能する。
【００５０】
診断パケット生成部２０５は、連結した個別パケットから検知信号のデータ部分を除き、パケット種別、中継装置のＩＤ、シーケンス番号等のヘッダー情報を付加した診断パケットＤ５を生成する。また、連結する個別パケットが集約部２０２に存在しない場合は、パケット種別、中継装置のＩＤ、シーケンス番号のみを格納した診断パケットＤ５を送信する。診断パケットＤ５を送信する間隔は、例えば数ミリ秒程度の周期とする。また、集約パケット生成部２０３が一定の時間間隔で個別パケットを集約する場合、診断パケット生成部２０５が診断パケットＤ５を送信する時間間隔を、集約パケット生成部２０３が個別パケットを集約する時間間隔と同一にしても良い。例えば、プロセッサー２１が、診断パケット生成部２０５として機能する。
【００５１】
第二送信部２０６は、診断パケットＤ５を複数の端末装置１０に一斉送信する。例えば、通信Ｉ／Ｆ２５が、第二送信部２０６として機能する。
【００５２】
第二受信部２０７は、サーバー装置３０から送信される集約パケットＤ４を受信する。例えば、通信Ｉ／Ｆ２５が、第二受信部２０７として機能する。
【００５３】
分離部２０８は、サーバー装置３０から送信された集約パケットＤ４を個別パケットＤ３に分離する。例えば、プロセッサー２１が、分離部２０８として機能する。
【００５４】
第三送信部２０９は、分離した個別パケットＤ３を各端末装置１０に送信する。例えば、通信Ｉ／Ｆ２５が、第三送信部２０９として機能する。
【００５５】
サーバー装置３０は、受信部３０１、分離部３０２、受信選択部３０３、判定部３０４、ＩＤ付加部３０５、送信先選択部３０６、第一送信部３０７、集約部３０８、集約パケット生成部３０９及び第二送信部３１０を含む。
【００５６】
受信部３０１は、端末装置１０から送信される個別パケットＤ３、及び中継装置２０から送信される集約パケットＤ４を受信する。例えば、通信Ｉ／Ｆ３５が、受信部３０１として機能する。
【００５７】
分離部３０２は、受信したパケットが個別パケットＤ３か、集約パケットＤ４かを判別し、集約パケットＤ４であれば個別パケットに分離する。また、分離部３０２は、受信したパケットが集約パケットか個別パケットかにより、返答する送信先を変更するための送信先情報を出力する。例えば、プロセッサー３１が、分離部３０２として機能する。
【００５８】
受信選択部３０３は、個別パケットのＩＤを読み取り、すでに受信した個別パケットであれば破棄する。例えば、プロセッサー３１が、受信選択部３０３として機能する。
【００５９】
判定部３０４は、受信した個別パケットＤ３のデータ部分に含まれる検知信号Ｄ１に基づき、アプリケーションの処理を行い、制御信号Ｄ２を生成する。例えば、駅務機器の場合、運賃の計算又はＩＣ（integrated circuit）カードのアクセス情報の発行などである。例えば、プロセッサー３１が、判定部３０４として機能する。
【００６０】
ＩＤ付加部３０５は、判定部３０４で生成した制御信号Ｄ２を一意に識別するためのＩＤを制御信号に付加する。例えば、送信先の端末装置１０のＩＤと、制御信号が生成される毎にインクリメントされるシーケンス番号のペアをＩＤとする。制御信号にパケットの種別やＩＤ、データのサイズ等のヘッダー情報を付加したものも個別パケットＤ３と呼ぶ。例えば、プロセッサー３１が、ＩＤ付加部３０５として機能する。
【００６１】
送信先選択部３０６は、分離部３０２で判定した送信先情報に基づき、個別パケットＤ３を端末装置１０に送信するか、中継装置２０に送信するかを選択する。送信先選択部３０６は、個別パケットＤ３を端末装置１０から受信した場合、第一送信部３０７により、個別パケットＤ３を端末装置１０に送信する。送信先選択部３０６は、集約パケットＤ４を中継装置２０から受信した場合、個別パケットＤ３を集約部３０８に格納する。例えば、プロセッサー３１が、送信先選択部３０６として機能する。
【００６２】
第一送信部３０７は、個別パケットＤ３を端末装置１０に送信する。例えば、通信Ｉ／Ｆ３５が、第一送信部３０７として機能する。
【００６３】
集約部３０８は、一定の時間間隔、又は、一定のパケット数、又は、一定のパケットサイズで、個別パケットを連結して保持する。例えば、プロセッサー３１及びＲＡＭ３３が、集約部３０８として機能する。
【００６４】
集約パケット生成部３０９は、連結した個別パケットに、パケット種別、送信先の中継装置のＩＤ、シーケンス番号等のヘッダー情報を付加した集約パケットＤ４を生成する。例えば、プロセッサー３１が、集約パケット生成部３０９として機能する。
【００６５】
第二送信部３１０は、集約パケットＤ４を中継装置２０に送信する。例えば、通信Ｉ／Ｆ３５が、第二送信部３１０として機能する。
【００６６】
個別パケットＤ３は、例えば、図４に示すようなデータ構造を持つ。図４は、個別パケットＤ３のデータ構造の一例を示す図である。個別パケットＤ３は、パケット種別（Ｄ３１）、端末ＩＤ（Ｄ３２）、シーケンス番号（Ｄ３３）、データサイズ（Ｄ３４）及びデータ（Ｄ３５）を含む。
パケット種別（Ｄ３１）は、パケット種別（Ｄ３１）を含むパケットが個別パケットであるか集約パケットであるかを判別する値を含む。パケット種別（Ｄ３１）は、例えば、予め定められた値又は、通信のためのポート番号などである。
端末ＩＤ（Ｄ３２）は、送信元又は送信先の端末装置１０の端末ＩＤを含む。例えば、端末ＩＤ（Ｄ３２）は、例えば、端末装置のＩＰアドレスとポート番号とが結合された値を含む。あるいは例えば、端末ＩＤ（Ｄ３２）は、端末装置１０がサーバー装置３０にアクセスする毎にサーバー装置３０が当該端末装置１０に対して発行するユニークなセッションＩＤなどを用いる。
シーケンス番号（Ｄ３３）は、個別パケットＤ３の送信元である端末装置１０又はサーバー装置３０のそれぞれが、個別パケットを送信する毎に増加する番号を含む。例えば、ＩＤ付加部１０２は、当該番号を１ずつ増加させても良いし、個別パケットＤ３のサイズ分増加させても良い。
データサイズ（Ｄ３４）は、データ（Ｄ３５）のデータ容量を示す値を含む。
データ（Ｄ３５）は、端末装置１０に入力される検知信号Ｄ１又はサーバー装置３０で生成される制御信号Ｄ２などが格納される。
なお、個別パケットＤ３は、例えば、ＴＣＰで送信される。あるいは、個別パケットＤ３は、ＵＤＰで送信されても良い。
【００６７】
集約パケットＤ４は、例えば、図５に示すようなデータ構造を持つ。図５は、集約パケットＤ４のデータ構造の一例を示す図である。集約パケットＤ４は、パケット種別（Ｄ３１）、中継ＩＤ（Ｄ４１）、シーケンス番号（Ｄ４２）、及び１個以上の個別パケットデータ（例えば、個別パケットデータ１（Ｄ４３）、個別パケットデータ２（Ｄ４３）、…。）を含む。
パケット種別（Ｄ３１）は、個別パケットＤ３と同様である。
中継ＩＤ（Ｄ４１）は、送信元又は送信先の中継装置２０を一意に識別するＩＤを含む。例えば、中継装置２０のＩＰアドレスとポート番号とが結合された値、又は中継装置２０がサーバー装置３０に接続する毎に通信装置で発行するユニークなセッションＩＤなどを用いる。
シーケンス番号（Ｄ４２）は、中継装置２０及びサーバー装置３０のそれぞれが集約パケットを送信する毎にインクリメントする番号を含む。例えば、当該番号は、集約パケットが送信される毎に１ずつインクリメントされる。あるいは、当該番号は、集約パケットが送信される毎に、集約パケットのサイズ分増加しても良い。
それぞれの個別パケットデータ（Ｄ４３）は、個別パケットＤ３からパケット種別Ｄ３１をのぞいたものである。
なお、集約パケットＤ４は、例えば、ＵＤＰで送信される。
【００６８】
診断パケットＤ５は、例えば、図６に示すようなデータ構造を持つ。図６は、診断パケットＤ５のデータ構造の一例を示す図である。診断パケットＤ５は、パケット種別（Ｄ３１）、中継ＩＤ（Ｄ４１）、シーケンス番号（Ｄ４２）、及び０個以上の個別パケットヘッダー（例えば、個別パケットヘッダー１（Ｄ５１）、個別パケットヘッダー２（Ｄ５１）、…。）を含む。
パケット種別（Ｄ３１）、中継ＩＤ（Ｄ４１）及びシーケンス番号（Ｄ４２）は、集約パケットＤ４と同様である。
それぞれの個別パケットヘッダー（Ｄ５１）は、個別パケットＤ３をもとに生成される。すなわち、個別パケットヘッダー（Ｄ５１）は、個別パケットＤ３から端末ＩＤ（Ｄ３２）とシーケンス番号（Ｄ３３）を抜き出したものである。個別パケットヘッダー（Ｄ５１）は、送信記録の一例である。
なお、診断パケットＤ５は、例えば、ＵＤＰで送信される。
【００６９】
以下、第１実施形態に係る通信システム１の動作を図７〜１３に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図７及び図８のそれぞれは、端末装置１０のプロセッサー１１による処理のフローチャートである。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー１１は、図７及び図８に示された処理を並行又は並列して同時的に処理する。図９及び図１０のそれぞれは、中継装置２０のプロセッサー２１による処理のフローチャートである。プロセッサー２１は、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー２１は、図９及び図１０に示された処理を並行又は並列して同時的に処理する。図１１〜図１３のそれぞれは、サーバー装置３０のプロセッサー３１による処理のフローチャートである。プロセッサー３１は、ＲＯＭ３２又は補助記憶デバイス３４などに記憶されたプログラムに基づいてこれらの処理を実行する。なお、プロセッサー３１は、図１１〜図１３に示された処理を並行又は並列して同時的に処理する。なお、プロセッサー１１は、図１３に示す処理を開始するとき、変数ｉを、ＲＡＭ１３などに割り当てる。
なお、特に説明が無い限り、プロセッサー１１、プロセッサー２１及びプロセッサー３１は、ステップＳ（ｍ）（ｍは、自然数。）の処理の後、ステップＳ（ｍ＋１）へと進むものとする。
【００７０】
端末装置１０は、制御対象デバイスＤＡから検知信号Ｄ１が入力されたことに応じて、サーバー装置３０を宛先とするデータを生成する。当該データは、個別パケットの形式で送信される。当該個別パケットは、送信待ちのために例えば送信バッファーに登録される。
【００７１】
図７のステップＳ１１１において端末装置１０のプロセッサー１１は、サーバー装置３０を宛先とする個別パケットを生成するか否かを判定する。すなわち、プロセッサー１１は、例えば、制御対象デバイスＤＡから検知信号Ｄ１が入力されたか否かを確認する。プロセッサー１１は、個別パケットを生成しないならば、ステップＳ１１１においてＮｏと判定してステップＳ１１１を繰り返す。対して、プロセッサー１１は、個別パケットを生成するならば、ステップＳ１１１においてＹｅｓと判定してステップＳ１１２へと進む。
【００７２】
ステップＳ１１２においてプロセッサー１１は、サーバー装置３０を宛先とする個別パケットを生成する。例えば、当該個別パケットは、ステップＳ７１で入力された検知信号Ｄ１が含まれる。ステップＳ１１２で生成される個別パケットは、第１の個別パケットの一例である。
【００７３】
ステップＳ１１３においてプロセッサー１１は、ステップＳ１１２で生成した個別パケットを中継装置２０に送信するように第２の通信Ｉ／Ｆ１６に対して指示する。この指示を受けて第２の通信Ｉ／Ｆ１６は、当該個別パケットを中継装置２０に送信する。送信された当該個別パケットは、中継装置２０の通信Ｉ／Ｆ２５によって受信される。なおこのとき、例えば、プロセッサー１１は、当該個別パケットの処理バッファーへの登録を解除する。
【００７４】
一方、図９のステップＳ２１１において中継装置２０のプロセッサー２１は、通信Ｉ／Ｆ２５によってパケットが受信されるのを待ち受けている。プロセッサー２１は、パケットが受信されたならば、ステップＳ２１１においてＹｅｓと判定してステップＳ２１２へと進む。
【００７５】
ステップＳ２１２においてプロセッサー２１は、ステップＳ２１１で受信されたパケットが、個別パケットであるか否かを判定する。プロセッサー２１は、ステップＳ２１１で受信されたパケットが、個別パケットであるならば、ステップＳ２１２においてＹｅｓと判定してステップＳ２１３へと進む。
【００７６】
ステップＳ２１３においてプロセッサー２１は、ステップＳ２１１で受信された個別パケットを、第１の集約バッファーに登録する。プロセッサー２１は、ステップＳ２１３の後、ステップＳ２１１へと戻る。
【００７７】
また、図１０のステップＳ２２１においてプロセッサー２１は、タイマーをリセットする。当該タイマーは、第２診断パケットを前回送信してからの時間を計測するためのタイマーである。なお、第２診断パケットについては後述する。
【００７８】
ステップＳ２２２においてプロセッサー２１は、集約条件を満たしているか否かを判定する。集約条件は、例えば以下の（１）〜（３）のような条件のうちの少なくとも１つ以上を含む。
（１）個別パケットを、中継装置２０が前回集約したときから一定時間以上経過した。
（２）第１の集約バッファーに登録された個別パケットの数が一定以上になった。
（３）第１の集約バッファーに登録された個別パケットのデータ容量の合計が一定以上になった。
プロセッサー２１は、例えば、集約条件に含まれる上記（１）〜（３）に示すような条件のうちのいずれかを満たすと判定したならば、ステップＳ２２２において集約条件を満たすと判定する。プロセッサー２１は、集約条件を満たしていないと判定したならば、ステップＳ２２２においてＮｏと判定してステップＳ２２３へと進む。
【００７９】
ステップＳ２２３においてプロセッサー２１は、タイマーをリセットしてから時間Ｔ１以上経過したか否かを判定する。なお、時間Ｔ１は、例えば、中継装置２０の管理者などによって予め設定される。あるいは、時間Ｔ１は、中継装置２０の設計者などによって予め定められていてもよい。プロセッサー２１は、タイマーをリセットしてから時間Ｔ１以上経過していないならば、ステップＳ２２３においてＮｏと判定してステップＳ２２２へと戻る。かくして、プロセッサー２１は、集約条件が満たされるか、タイマーをリセットしてから時間Ｔ１以上経過するまでステップＳ２２２及びステップＳ２２３を繰り返す。
【００８０】
プロセッサー２１は、ステップＳ２２２及びステップＳ２２３の待受状態にあるときに集約条件を満たしていると判定したならば、ステップＳ２２２においてＹｅｓと判定してステップＳ２２４へと進む。
ステップＳ２２４においてプロセッサー２１は、第１の集約バッファーに登録された複数の個別パケットを集約した集約パケットを生成する。なおこのとき、プロセッサー２１は、例えば、第１の集約バッファーに登録された日時が古い個別パケットから順に集約の対象とする。そして、プロセッサー２１は、集約の対象とした個別パケットを結合して集約する。なお、プロセッサー２１は、集約の対象とした個別パケットについては、第１の集約バッファーへの登録を解除する。また、プロセッサー２１は、集約パケットのサイズがＭＴＵ（maximum transmission unit）を超えないようにして集約パケットを生成することが好ましい。例えば、プロセッサー２１は、これ以上集約の対象を増やすと集約パケットのサイズがＭＴＵを超えると判定したとき、それ以上に個別パケットを集約の対象としない。ステップＳ２２４で生成される集約パケットは、第１の集約パケットの一例である。
ただし、プロセッサー２１は、第１の集約バッファーに登録された個別パケットの数が１つの場合、個別パケットを１つだけ含む集約パケットを生成する。また、プロセッサー２１は、２つの個別パケットを集約しただけで集約パケットのサイズがＭＴＵを超えてしまう場合も、個別パケットを１つだけ含む集約パケットを生成する。
【００８１】
ステップＳ２２５においてプロセッサー２１は、ステップＳ２２４で生成した集約パケット集約パケットをサーバー装置３０に送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該集約パケットをサーバー装置３０に送信する。送信された当該集約パケットは、サーバー装置３０の通信Ｉ／Ｆ３５によって受信される。
【００８２】
ステップＳ２２６においてプロセッサー２１は、第１診断パケットを生成する。第１診断パケットは、例えば、図６に示すような診断パケットＤ５である。
ステップＳ２２７においてプロセッサー２１は、ステップＳ２２６において生成した第１診断パケットを端末装置１０に送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該第１診断パケットを端末装置１０に送信する。送信された当該第１診断パケットは、端末装置１０の第２の通信Ｉ／Ｆ１６によって受信される。なお、第１診断パケットの送信先は、ステップＳ２２４で集約の対象とされた個別パケットそれぞれの送信元である端末装置１０である。プロセッサー２１は、ステップＳ２２７の処理の後、ステップＳ２２２へと戻る。
【００８３】
一方、図７のステップＳ１１４において端末装置１０のプロセッサー１１は、第１の通信Ｉ／Ｆ１５によって第１診断パケットが受信されたか否かを判定する。プロセッサー１１は、第１診断パケットが受信されないならば、ステップＳ１１４においてＮｏと判定してステップＳ１１５へと進む。
【００８４】
ステップＳ１１５においてプロセッサー１１は、タイムアウトしたか否かを判定する。すなわち、プロセッサー１１は、ステップＳ１１３の処理の後、時間Ｔ２以上経過したか否かを確認する。なお、時間Ｔ２は、例えば、端末装置１０の管理者などによって予め設定される。あるいは、時間Ｔ２は、端末装置１０の設計者などによって予め定められていてもよい。プロセッサー１１は、タイムアウトしていないならば、ステップＳ１１５においてＮｏと判定してステップＳ１１４へと戻る。かくして、プロセッサー１１は、第１の通信Ｉ／Ｆ１５によって第１診断パケットが受信されるか、タイムアウトしたまでステップＳ１１４及びステップＳ１１５を繰り返す。
【００８５】
プロセッサー１１は、ステップＳ１１４及びステップＳ１１５の待受状態にあるときに、第１の通信Ｉ／Ｆ１５によって第１診断パケットが受信されたならば、ステップＳ１１４においてＹｅｓと判定してステップＳ１１１へと戻る。
【００８６】
一方、図１１のステップＳ３１１においてサーバー装置３０のプロセッサー３１は、通信Ｉ／Ｆ２５によってパケットが受信されるのを待ち受けている。プロセッサー３１は、パケットが受信されたならば、ステップＳ３１１においてＹｅｓと判定してステップＳ３１２へと進む。
【００８７】
ステップＳ３１２においてプロセッサー３１は、ステップＳ３１１で受信されたパケットが集約パケットであるか否かを判定する。プロセッサー３１は、ステップＳ３１１で受信されたパケットが集約パケットであるならば、ステップＳ３１２においてＹｅｓと判定してステップＳ３１３へと進む。
【００８８】
ステップＳ３１３においてプロセッサー３１は、ステップＳ３１１で受信された集約パケットに含まれる個別パケットを個々の個別パケットに分割する。
【００８９】
ステップＳ３１４においてプロセッサー３１は、ステップＳ３１１で受信された集約パケットに含まれる個別パケットのうち、到着済みである個別パケットを破棄する。なお、プロセッサー３１は、例えば、第２の到着リストを参照することで到着済みであるか否かを判定する。
【００９０】
ステップＳ３１５においてプロセッサー３１は、ステップＳ３１３において分割された個別パケットのうち、ステップＳ３１４において破棄された個別パケットを除く個別パケットを処理バッファーに登録する。
【００９１】
ステップＳ３１６においてプロセッサー３１は、ステップＳ３１５において処理バッファーに登録した個別パケットを第２の到着リストに登録する。プロセッサー３１は、ステップＳ３１６の処理の後、ステップＳ３１１へと戻る。
【００９２】
また、図１２のステップＳ３３１においてプロセッサー３１は、処理バッファーに個別パケットが登録されているか否かを判定する。プロセッサー３１は、処理バッファーに個別パケットが登録されていないならば、ステップＳ３３１においてＮｏと判定してステップＳ３３１を繰り返す。対して、プロセッサー３１は、処理バッファーに個別パケットが登録されているならば、ステップＳ３３１においてＹｅｓと判定してステップＳ３３２へと進む。
【００９３】
ステップＳ３３２においてプロセッサー３１は、処理バッファーに登録された中から個別パケットを１つ処理対象に決定する。そして、プロセッサー３１は、処理対象の個別パケットの内容に基づく処理を行う。なおこのとき、プロセッサー３１は、例えば、処理バッファーに登録された日時が最も古い個別パケットを処理対象として決定する。また、プロセッサー３１は、処理対象として決定した個別パケットについては、処理バッファーへの登録を解除する。
【００９４】
ステップＳ３３３においてプロセッサー３１は、ステップＳ３３２の処理の結果、ステップＳ３３２において処理対象として決定した個別パケットの送信元である端末装置１０に応答を返す必要があるか否かを判定する。プロセッサー３１は、当該端末装置１０に応答を返す必要がないならば、ステップＳ３３３においてＮｏと判定してステップＳ３３４へと進む。対して、プロセッサー３１は、当該端末装置１０に応答を返す必要があるならば、ステップＳ３３３においてＹｅｓと判定してステップＳ３３４へと進む。
【００９５】
ステップＳ３３４においてプロセッサー３１は、ステップＳ３３２において処理対象として決定した個別パケットが、中継装置２０を経由してサーバー装置３０に到着したものであるか否かを判定する。プロセッサー３１は、当該個別パケットが、中継装置２０を経由してサーバー装置３０に到着しているならば、ステップＳ３３４においてＹｅｓと判定してステップＳ３３５へと進む。
【００９６】
ステップＳ３３５においてプロセッサー３１は、ステップＳ３３２において処理対象として決定した個別パケットの送信元である端末装置１０を宛先とする応答を生成する。当該応答は、例えば、制御信号Ｄ２を含む。なお、プロセッサー３１は、当該応答を、中継装置２０を経由して当該端末装置１０に到着する個別パケットとして生成する。当該中継装置２０は、ステップＳ３３２において処理対象として決定された個別パケットが経由した中継装置２０である。
【００９７】
ステップＳ３３６においてプロセッサー３１は、ステップＳ３３４で生成した応答である個別パケットを第２の集約バッファーに登録する。プロセッサー３１は、ステップＳ３３６の処理の後、ステップＳ３３１へと戻る。
【００９８】
また、図１３のステップＳ３４１においてプロセッサー３１は、変数ｉの値を１にする。
【００９９】
ステップＳ３４２においてプロセッサー３１は、第２の集約バッファーに登録された個別パケットのうち、中継装置２０−ｉを経由して送信される個別パケットが、集約条件を満たしているか否かを判定する。中継装置２０−ｉを経由して送信される個別パケットの集約条件は、例えば以下の（４）〜（６）のような条件のうちの少なくとも１つ以上を含む。
（４）中継装置２０−ｉを経由して送信される個別パケットを、サーバー装置３０が前回集約したときから一定時間以上経過した。
（５）第２の集約バッファーに登録された、中継装置２０−ｉを経由して送信される個別パケットの数が一定以上になった。
（６）第２の集約バッファーに登録された、中継装置２０−ｉを経由して送信される個別パケットのデータ容量の合計が一定以上になった。
プロセッサー３１は、例えば、集約条件に含まれる上記（４）〜（６）に示すような条件のうちのいずれかを満たすと判定したならば、ステップＳ３４１において集約条件を満たすと判定する。プロセッサー３１は、中継装置２０−ｉを経由して送信される個別パケットが集約条件を満たしていないならば、ステップＳ３４２においてＮｏと判定してステップＳ３４３へと進む。
【０１００】
ステップＳ３４３においてプロセッサー３１は、変数ｉをインクリメントして、変数ｉの値を１増やす。
【０１０１】
ステップＳ３４４においてプロセッサー３１は、変数ｉの値がｎを超えるか否かを判定する。プロセッサー３１は、変数ｉの値がｎを超えないならば、ステップＳ３４４においてＮｏと判定してステップＳ３４２へと戻る。対して、プロセッサー３１は、変数ｉの値がｎを超えるならば、ステップＳ３４４においてＹｅｓと判定してステップＳ３４１へと戻る。
かくして、プロセッサー３１は、ステップＳ３４２〜ステップＳ３４４の処理を繰り返すことで、中継装置２０−１〜中継装置２０−ｎのそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー３１は、中継装置２０−１〜中継装置２０−ｎに対して送信する個別パケットのいずれかが集約条件を満たすまで、ステップＳ３４１〜ステップＳ３４４の処理を繰り返す。
【０１０２】
プロセッサー３１は、中継装置２０−ｉを経由して送信される個別パケットが集約条件を満たしているならば、ステップＳ３４２においてＹｅｓと判定してステップＳ３４５へと進む。
ステップＳ３４５においてプロセッサー３１は、第２の集約バッファーに登録された個別パケットのうち、中継装置２０−ｉを経由して送信される個別パケットを集約して、集約パケットを生成する。なおこのとき、プロセッサー３１は、例えば、中継装置２０−ｉを経由して送信される個別パケットのうち、第２の集約バッファーに登録された日時が古い個別パケットから順に第２の集約バッファーから取り出して、集約する。なお、プロセッサー３１は、第２の集約バッファーから取り出した個別パケットについては、第２の集約バッファーへの登録を解除する。また、プロセッサー３１は、集約パケットのサイズがＭＴＵを超えないようにして集約パケットを生成することが好ましい。例えば、プロセッサー３１は、次の個別パケットを集約すると集約パケットのサイズがＭＴＵを超えると判定したとき、それ以上の集約を行わず、集約パケットの生成を完了する。
ただし、プロセッサー３１は、第２の集約バッファーに登録された、中継装置２０−ｉを経由して送信される個別パケットの数が１つの場合、個別パケットを１つだけ含む集約パケットを生成する。また、プロセッサー３１は、２つの個別パケットを集約しただけで集約パケットのサイズがＭＴＵを超えてしまう場合も、個別パケットを１つだけ含む集約パケットを生成する。
ステップＳ３４５で生成される集約パケットは、第２の集約パケットの一例である。
【０１０３】
ステップＳ３４６においてプロセッサー３１は、ステップＳ３４５において生成した集約パケットを中継装置２０−ｉに送信するように通信Ｉ／Ｆ３５に対して指示する。この指示を受けて通信Ｉ／Ｆ３５は、当該集約パケットを中継装置２０−ｉに送信する。送信された当該集約パケットは、中継装置２０−ｉの通信Ｉ／Ｆ２５によって受信される。プロセッサー３１は、ステップＳ３４６の処理の後、ステップＳ３４３へと進む。
【０１０４】
一方、中継装置２０のプロセッサー２１は、ステップＳ２１１で受信されたパケットが集約パケットであるならば、ステップＳ２１２においてＮｏと判定してステップＳ２１４へと進む。
ステップＳ２１４においてプロセッサー２１は、ステップＳ２１１で受信された集約パケットに含まれる個別パケットを、個々の個別パケットに分割する。
【０１０５】
ステップＳ２１５においてプロセッサー２１は、ステップＳ２１４で分割したそれぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置１０に送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該それぞれの個別パケットを、それぞれの個別パケットの宛先である端末装置１０に送信する。送信された当該それぞれの個別パケットは、それぞれの個別パケットの宛先である端末装置１０の第２の通信Ｉ／Ｆ１６によって受信される。
【０１０６】
一方、図７のステップＳ１２１において端末装置１０のプロセッサー１１は、第２の通信Ｉ／Ｆ１６によって個別パケットが受信されるのを待ち受けている。プロセッサー１１は、個別パケットが受信されたならば、ステップＳ１２１においてＹｅｓと判定してステップＳ１２２へと進む。
【０１０７】
ステップＳ１２２においてプロセッサー１１は、ステップＳ１２１で受信された個別パケットが到着済みであるのを待ち受ける。なお、プロセッサー１１は、例えば、第１の到着リストを参照することで到着済みであるか否かを判定する。プロセッサー１１は、ステップＳ１２１で受信された個別パケットが到着済みであるならば、ステップＳ１２２においてＹｅｓと判定してステップＳ１２１へと戻る。対して、プロセッサー１１は、ステップＳ１２１で受信された個別パケットが到着済みでないならば、ステップＳ１２２においてＮｏと判定してステップＳ１２３へと進む。
【０１０８】
ステップＳ１２３においてプロセッサー１１は、ステップＳ１２１で受信された個別パケットを第１の到着リストに登録する。
【０１０９】
ステップＳ１２４においてプロセッサー１１は、ステップＳ１２１で受信された個別パケットの内容に基づく処理を行う。例えば、当該個別パケットに制御信号Ｄ２が含まれるならば、プロセッサー１１は、当該制御信号Ｄ２を、制御対象デバイスＤＡに入力するように第１の通信Ｉ／Ｆ１５に指示する。この指示を受けて第１の通信Ｉ／Ｆ１５は、当該制御信号Ｄ２を第１の通信Ｉ／Ｆ１５に接続された制御対象デバイスＤＡに入力する。プロセッサー１１は、ステップＳ１２４の処理の後、ステップＳ１２１へと戻る。
制御信号Ｄ２が入力された制御対象デバイスＤＡは、当該制御信号Ｄ２に基づく動作をする。
【０１１０】
また、プロセッサー１１は、図７のステップＳ１１４及びステップＳ１１５の待受状態にあるときにタイムアウトしたならば、ステップＳ１１５においてＹｅｓと判定してステップＳ１１７へと進む。なお、タイムアウトは、例えば、中継装置２０に異常があって第１診断パケットが端末装置１０に送信されない場合に発生する。あるいは、タイムアウトは、例えば、端末装置１０と中継装置２０との間の経路に異常があって端末装置１０と中継装置２０との間で通信が正常に行えない場合に発生する。
ステップＳ１１６においてプロセッサー１１は、ステップＳ１１２で生成した個別パケットを、中継装置２０を経由せずにサーバー装置３０に到着するようにして、サーバー装置３０に送信するように第２の通信Ｉ／Ｆ１６に対して指示する。この指示を受けて第２の通信Ｉ／Ｆ１６は、当該個別パケットをサーバー装置３０に送信する。送信された当該個別パケットは、サーバー装置３０の通信Ｉ／Ｆ３５によって受信される。
【０１１１】
一方、サーバー装置３０のプロセッサー３１は、図１１のステップＳ３１１で受信されたパケットが個別パケットであるならば、ステップＳ３１２においてＮｏと判定してステップＳ３１７へと進む。
【０１１２】
ステップＳ３１７においてプロセッサー３１は、ステップＳ３１１で受信された個別パケットが到着済みであるか否かを判定する。なお、プロセッサー３１は、例えば、第２の到着リストを参照することで到着済みであるか否かを判定する。プロセッサー３１は、ステップＳ３１１で受信された個別パケットが到着済みであるならば、ステップＳ３１７においてＹｅｓと判定してステップＳ３１８へと進む。
【０１１３】
ステップＳ３１８においてプロセッサー３１は、ステップＳ３１１で受信された個別パケットを破棄する。プロセッサー３１は、ステップＳ３１８の処理の後、ステップＳ３１１へと戻る。
【０１１４】
対して、プロセッサー３１は、ステップＳ３１１で受信された個別パケットが到着済みでないならば、ステップＳ３１７においてＮｏと判定してステップＳ３１９へと進む。
【０１１５】
ステップＳ３１９においてプロセッサー３１は、ステップＳ３１１で受信された個別パケットを処理バッファーに登録する。
【０１１６】
ステップＳ３２０においてプロセッサー３１は、ステップＳ３１１で受信された個別パケットを第２の到着リストに登録する。プロセッサー３１は、ステップＳ３２０の処理の後、ステップＳ３１１へと戻る。
【０１１７】
また、プロセッサー３１は、ステップＳ３３２において処理バッファーから取り出した個別パケットが、中継装置２０を経由してサーバー装置３０に到着していＦないならば、ステップＳ３３４においてＮｏと判定してステップＳ３３７へと進む。
【０１１８】
ステップＳ３３７においてプロセッサー３１は、ステップＳ３３２において処理バッファーから取り出した個別パケットの送信元である端末装置１０を宛先とする応答を生成する。当該応答は、例えば、制御信号Ｄ２を含む。なお、プロセッサー３１は、当該応答を、中継装置２０を経由せずに当該端末装置１０に到着する個別パケットとして生成する。ステップＳ３３７で生成される個別パケットは、第２の個別パケットの一例である。
【０１１９】
ステップＳ３３８においてプロセッサー３１は、ステップＳ３３７で生成した個別パケットを、中継装置２０を経由せずに宛先である端末装置１０に到着するように、当該端末装置１０に送信するように通信Ｉ／Ｆ３５に対して指示する。この指示を受けて通信Ｉ／Ｆ３５は、当該個別パケットを当該端末装置１０に送信する。送信された当該個別パケットは、当該端末装置１０の第２の通信Ｉ／Ｆ１６によって受信される。プロセッサー３１は、ステップＳ３３８の処理の後、ステップＳ３３１へと戻る。
【０１２０】
一方、図７のステップＳ１１７において端末装置１０のプロセッサー１１は、第２診断パケットが第２の通信Ｉ／Ｆ１６によって受信されたか否かを判定する。プロセッサー１１は、第２診断パケットが第２の通信Ｉ／Ｆ１６によって受信されていないならば、ステップＳ１１７においてＮｏと判定してステップＳ１１８へと進む。なお、第２診断パケットについては後述する。
【０１２１】
ステップＳ１１８においてプロセッサー１１は、ステップＳ１１１と同様にして、個別パケットを生成するか否かを判定する。プロセッサー１１は、ステップＳ１１１と同様にして、個別パケットを生成しないならば、ステップＳ１１８においてＮｏと判定してステップＳ１１７へと戻る。かくして、プロセッサー１１は、第２診断パケットが第２の通信Ｉ／Ｆ１６によって受信されるか、個別パケットを生成すると判定するまでステップＳ１１７及びステップＳ１１８を繰り返す。
【０１２２】
プロセッサー１１は、ステップＳ１１７及びステップＳ１１８の待受状態にあるときに、個別パケットを生成すると判定したならば、ステップＳ１１８においてＹｅｓと判定してステップＳ１１９へと進む。
プロセッサー１１は、ステップＳ１１２と同様にして個別パケットを生成する。ステップＳ１１９で生成される個別パケットは、第１の個別パケットの一例である。
【０１２３】
ステップＳ１２０においてプロセッサー１１は、サーバー装置３０を宛先とする個別パケットを、中継装置２０を経由せずにサーバー装置３０に到着するようにして、サーバー装置３０に送信するように第２の通信Ｉ／Ｆ１６に対して指示する。この指示を受けて第２の通信Ｉ／Ｆ１６は、当該個別パケットをサーバー装置３０に送信する。送信された当該個別パケットは、サーバー装置３０の通信Ｉ／Ｆ３５によって受信される。
【０１２４】
一方、中継装置２０のプロセッサー２１は、図１０のステップＳ２２２及びステップＳ２２３の待受状態にあるときに、タイマーをリセットしてから時間Ｔ１以上経過したならば、ステップＳ２２３においてＹｅｓと判定してステップＳ２２７へと進む。
ステップＳ２２７においてプロセッサー２１は、中継装置２０が正常に動作しているか否かを判定する。プロセッサー２１は、中継装置２０が正常に動作していないと判定したならば、ステップＳ２２７においてＮｏと判定してステップＳ２２２へと戻る。対して、プロセッサー２１は、中継装置２０が正常に動作していると判定したならば、ステップＳ２２７においてＹｅｓと判定してステップＳ２２８へと進む。
【０１２５】
ステップＳ２２８においてプロセッサー２１は、第２診断パケットを生成する。なお、第２診断パケットは、個別パケットデータを含まない診断パケットである。また、第２診断パケットは、第１診断パケットとの区別が可能なように生成される。第２診断パケットを生成したプロセッサー２１は、当該第２診断パケットを、中継装置２０が設置されている地域と同じ地域内の端末装置１０全てに送信するように通信Ｉ／Ｆ２５に対して指示する。すなわち、中継装置２０−ｋのプロセッサー２１は、当該第２診断パケットを、ネットワークＮＷ１−ｋに接続された端末装置１０−ｋのそれぞれに送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該第２診断パケットをそれぞれの端末装置１０−ｋに送信する。送信された当該第２診断パケットは、それぞれの端末装置１０−ｋの第２の通信Ｉ／Ｆ１６によって受信される。プロセッサー２１は、ステップＳ２２８の処理の後、ステップＳ２２１へと戻る。
なお、第２診断パケットは、第２診断パケットの送信元である中継装置２０が正常に動作していることを、端末装置１０に対して通知するデータである。また、第２診断パケットは、例えば、中継装置２０から端末装置１０に対して時間Ｔ１毎に定期的に送信されるデータである。
【０１２６】
一方、端末装置１０のプロセッサー１１は、図７のステップＳ１１７及びステップＳ１１８の待受状態にあるときに第２診断パケットが第２の通信Ｉ／Ｆ１６によって受信されたならば、ステップＳ１１７においてＹｅｓと判定してステップＳ１１１へと戻る。
【０１２７】
以上より、プロセッサー１１を中枢とするコンピューターは、図７及び図８に示す処理を行うことで、制御部として機能する。プロセッサー２１を中枢とするコンピューターは、図９及び図１０に示す処理を行うことで、処理部として機能する。プロセッサー３１を中枢とするコンピューターは、図１１〜図１３に示す処理を行うことで、生成部として機能する。
【０１２８】
第１実施形態に係る通信システム１の動作を、図１４〜図１６を用いてさらに説明する。図１４〜図１６のそれぞれは、通信システム１の情報の流れの一例を示すシーケンス図である。なお、図１４〜図１６は、通信システム１における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。なお、シーケンス図の説明では、いずれも地域Ａｋを例に説明を行う。
【０１２９】
図１４は、中継装置２０に異常が無い場合の通信シーケンスの一例を示す。
端末装置１０−ｋ−１の端末ＩＤは「１」、端末装置１０−ｋ−２の端末ＩＤは「２」とする。端末装置１０−ｋ−１は、入力処理によって入力された「α」の検知信号Ｄ１を含む個別パケットＤ３を中継装置２０に送信する。また、端末装置１０−ｋ−２は、入力処理によって入力された「β」の検知信号Ｄ１を含む個別パケットＤ３を中継装置２０に送信する。なお、端末装置１０−ｋ−１が送信する個別パケットＤ３は、端末ＩＤ１（ＩＤ：１）とシーケンス番号１（Ｓｅｑ：１）を含む。そして、端末装置１０−ｋ−２が送信する個別パケットＤ３は、端末ＩＤ２（ＩＤ：２）とシーケンス番号１（Ｓｅｑ：１）を含む。
個別パケットＤ３を受信した中継装置２０は、集約処理により個別パケットを集約バッファーにバッファリングする。そして、中継装置２０は、バッファリングされた個別パケットを集約し、中継装置２０のＩＤと集約パケットのシーケンス番号とを付加した集約パケットＤ４と診断パケットＤ５とを生成する。中継装置２０は、集約パケットＤ４をサーバー装置３０に送信し、診断パケットＤ５を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、診断パケットＤ５を受信する。診断パケットＤ５を受信した端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、診断パケットＤ５を受信したことから、中継装置２０に異常がないと判定する。
サーバー装置３０は、集約パケットＤ４を受信後、分離処理により集約パケットＤ４から、当該集約パケットＤ４に含まれる個々の個別パケットに分離する。そして、サーバー装置３０は、個別パケットの端末ＩＤとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。判定処理により制御信号Ｄ２「Ｘ」と「Ｙ」をそれぞれ生成し、集約処理により集約パケットＤ６を生成する。なお、集約パケットＤ６のデータ構造は、例えば、集約パケットＤ４のデータ構造と同様である。検知信号Ｄ１が格納された集約パケットＤ４は中継装置２０から送信されたため、制御信号Ｄ２が格納された集約パケットＤ６は中継装置２０に送信される。中継装置２０は、集約パケットＤ６を受信後、分離処理により集約パケットＤ６から、当該集約パケットＤ６に含まれる複数の個別パケットＤ７を分離する。そして、中継装置２０は、端末装置１０−ｋ−１及び端末装置１０−ｋ−２のそれぞれに個別パケットＤ７を送信する。なお、個別パケットＤ７のデータ構造は、例えば、個別パケットＤ３と同様である。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、制御信号Ｄ２が格納された個別パケットＤ７の端末ＩＤとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、制御信号Ｄ２の出力処理を行う。
中継装置２０が診断パケットＤ５を端末装置１０に送信することにより、中継装置２０が正常に動作していることを確認することができ、中継装置２０によりパケットを集約してサーバー装置３０の負荷を低減することができる。
【０１３０】
図１５は、中継装置２０に異常が発生した場合の通信シーケンスの一例を示す。
中継装置２０は、個別パケットＤ３を受信不可能な状態であるか、個別パケットＤ３を受信しても処理ができない状態であるとする。この場合、中継装置２０は、診断パケットＤ５を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信することができない。したがって、端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、個別パケットＤ３を送信してから一定時間以内に診断パケットが受信できないことを確認する。当該確認により、端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、中継装置２０が異常であると判断する。そして、端末装置１０−ｋ−１及び端末装置１０−ｋ−２のそれぞれは、個別パケットＤ３をサーバー装置３０に送信する。
サーバー装置３０は、端末装置１０−ｋ−１及び端末装置１０−ｋ−２のそれぞれから送信された個別パケットＤ３を受信した際に、個別パケットの端末ＩＤとシーケンス番号を読み取る。そして、サーバー装置３０は、受信した個別パケットＤ３が未受信の個別パケットであることを確認する。未受信であることを確認したサーバー装置３０は、、判定処理を行う。サーバー装置３０は、判定処理により、制御信号Ｄ２「Ｘ」と「Ｙ」をそれぞれ生成する。サーバー装置３０は、検知信号Ｄ１が格納された個別パケットＤ３については、端末装置１０から送信されたものであるため、集約処理を行わない。そして、サーバー装置３０は、制御信号Ｄ２が格納された個別パケットＤ７を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、制御信号Ｄ２が格納された個別パケットＤ７から端末ＩＤとシーケンス番号を読み取り、未受信の個別パケットであることを確認する。未受信であることを確認した端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、制御信号Ｄ２の出力処理を行う。
端末装置１０が、中継装置２０の状態に応じて、個別パケットの送信先を選択することができることにより、中継装置２０に異常が発生した場合においても、一定の遅延時間で制御を継続することができる。診断パケットを生成するタイミングを数ミリ秒程度の周期にすると、中継装置２０に異常が発生した場合の通信遅延時間が数ミリ秒となり、制御のリアルタイム性を確保することができる。
【０１３１】
図１６は、中継装置２０の診断パケット生成部２０５又は第二送信部２０６に異常が発生した場合の通信シーケンスの一例を示す。
中継装置２０は、診断パケットＤ５を送信することができない状態であるか、診断パケットＤ５の送信が遅延する状態であるとする。また、中継装置２０は、集約パケットＤ４をサーバー装置３０に送信できるものとする。この場合、端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、タイムアウトするまでに中継装置２０から送信される診断パケットＤ５を受信することができない。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、個別パケットＤ３を送信してから一定時間以内に診断パケットＤ５が受信できないことを確認し、中継装置２０が異常であると判断し、個別パケットＤ３をサーバー装置３０に送信する。
以上より、サーバー装置３０は、中継装置２０から送信される集約パケットＤ４と、端末装置１０−ｋ−１及び端末装置１０−ｋ−２のそれぞれから送信される個別パケットＤ３を受信する。サーバー装置３０は、集約パケットＤ４を受信した際には、当該集約パケットＤ４に対して分離処理を行う。そして、サーバー装置３０は、集約パケットＤ４に含まれる個別パケットの端末ＩＤとシーケンス番号を読み取る。また、サーバー装置３０は、個別パケットＤ３を受信した際には、当該個別パケットＤ３の端末ＩＤとシーケンス番号を読み取る。サーバー装置３０は、集約パケットＤ４に含まれる個別パケット及び個別パケットＤ３のうちの先に到着した個別パケットに対して判定処理を行うそして、サーバー装置３０は、それ以降に到着した同一の個別パケットを破棄する。
個別パケットにＩＤとシーケンス番号が付加されていることにより、サーバー装置３０は、重複して検知信号Ｄ１を処理することがなくなる。また、端末装置１０及びサーバー装置３０は、中継装置２０の一部の機能が異常となった場合においても、正常な制御を継続することができる。
【０１３２】
第１実施形態の通信システム１によれば、中継装置２０は、端末装置１０から送信された複数の個別パケットを集約してサーバー装置３０に送信する。したがって、通信システム１は、サーバー装置３０の通信負荷を軽減することができる。また、サーバー装置３０は、各端末装置１０に対する応答を集約して中継装置２０に送信する。これにより、サーバー装置３０の通信負荷が軽減される。
【０１３３】
また、第１実施形態の通信システム１によれば、中継装置２０は、端末装置１０から受信した個別パケットを集約した集約パケットを正常にサーバー装置３０に送信した場合、診断パケットを端末装置１０に送信することで、送信が正常に行われたことを端末装置１０に通知することができる。端末装置１０は、診断パケットによって、送信が正常に行われたことを知ることができる。また、端末装置１０は、診断パケットが送られてこなかった場合には、中継装置２０に異常があると判定することができる。そして、中継装置２０は、中継装置２０に異常があると判定した場合には、個別パケットを、中継装置２０を介さずに直接サーバー装置３０に送信する。したがって、中継装置２０に異常がある場合でも、個別パケットが失われずにサーバー装置３０に送信される。また、以上より、通信システム１は、中継装置２０に異常がある場合でも端末装置１０とサーバー装置３０との間の通信が可能である。すなわち、端末装置１０とサーバー装置３０とは、安定した通信が可能である。
【０１３４】
第２診断パケットは、端末装置１０が個別パケットデータを送信していない間であっても定期的に送信される。したがって、端末装置１０は、中継装置２０が異常な状態から復帰したことを、第２診断パケットを受信したことによって知ることができる。
【０１３５】
制御対象デバイスＤＡが駅務機器である場合、検知信号Ｄ１及び制御信号Ｄ２のデータ量が小さいため、パケット集約による負荷軽減の効果が大きい。したがって、制御対象デバイスＤＡが駅務機器である場合に、実施形態の通信システム１は特に有用である。また、制御対象デバイスＤＡが自動改札機である場合、検知信号Ｄ１を出力してから制御信号Ｄ２が入力されるまでの時間に、リアルタイム性が要求される。したがって、制御対象デバイスＤＡが自動改札機を含む場合、実施形態の通信システム１は殊に有用である。
【０１３６】
〔第２実施形態〕
以下、第２実施形態に係る通信システムについて説明する。
第２実施形態に係る通信システム１の構成は、第１実施形態の図１及び図２と同様であるので説明を省略する。ただし、第２実施形態に係る通信システム１は、図３に代えて図１７に示すような機能構成を示す。図１７は、端末装置１０、中継装置２０及びサーバー装置３０の機能構成を示すブロック図である。
【０１３７】
端末装置１０は、入力部１０１、ＩＤ付加部１０２、送信先選択部１０３、送信部１０４、第一受信部１０５、診断部１０６、第二受信部１０７、ＩＤ確認部１０８、受信選択部１０９及び出力部１１０に加えて異常通知部１２１を含む。
【０１３８】
異常通知部１２１は、異常信号Ｄ８を外部に送信し、入力部１０１を一次的に停止する機能を備える。端末装置１０の異常信号Ｄ８は、端末装置１０又は制御対象デバイスＤＡを利用する利用者に報知される。例えば、自動改札機のランプや画面表示等が、利用者に通信システム１に異常が発生した事を報知する。また、異常通知部１２１は、入力部１０１を一時的に停止させる。これにより、異常通知部１２１は、サーバー装置３０の負荷を低減させることができる。
【０１３９】
中継装置２０は、第一受信部２０１、集約部２０２、集約パケット生成部２０３、第一送信部２０４、診断パケット生成部２０５、第二送信部２０６、第二受信部２０７、分離部２０８及び第三送信部２０９に加えて負荷計測部２２１を含む。
【０１４０】
負荷計測部２２１は、中継装置２０の負荷の高さを計測する機能を備える。負荷計測部２２１が計測する付加は、例えば、中継装置２０のプロセッサー２１の使用率、ＲＡＭ２３の使用率、及びネットワークの使用率などである。負荷計測部２２１は、中継装置２０が集約パケットを生成するタイミングで負荷の高さを計測し、負荷情報を診断パケット生成部へ通知する。診断パケット生成部２０５は、中継装置２０の負荷の高さが一定値以上となった場合、診断パケットＤ５に個別パケットヘッダーＤ５１の一部を格納せずに、端末装置１０に送信する。
【０１４１】
サーバー装置３０の機能構成は、第１実施形態の図３と同様であるので説明を省略する。
【０１４２】
第２実施形態の診断パケット生成部２０５によって生成される集約パケットＤ４は、例えば、図１８に示すようなデータ構造を持つ。
診断パケット生成部２０５は、負荷計測部が計測した負荷の高さに応じて、診断パケットＤ５に含める個別パケットヘッダーＤ５１の数を減らす。診断パケット生成部２０５は、例えば、負荷が第１の閾値以上である場合に、中継装置２０の負荷が基準以上に高いと判断して、診断パケットＤ５に含める個別パケットヘッダーＤ５１の数を減らす。また、診断パケット生成部２０５は、例えば、負荷の高さが高いほど個別パケットヘッダーＤ５１を多く減らす。そして、診断パケット生成部２０５は、例えば、負荷の高さが第２の閾値以上である場合、診断パケットＤ５に個別パケットヘッダーを含めない。
同様に、集約部２０２は、負荷計測部が計測した負荷の高さに応じて、連結する個別パケットデータＤ４３の数を減らす。集約部２０２は、例えば、負荷が第１の閾値以上である場合に、中継装置２０の負荷が基準以上に高いと判断して、連結する個別パケットデータＤ４３の数を減らす。また、集約部２０２は、例えば、負荷の高さが高いほど連結する個別パケットデータＤ４３を多く減らす。そして、集約部２０２は、例えば、負荷の高さが第２の閾値以上である場合、個別パケットデータＤ４３を連結しない。したがって、集約パケット生成部２０３も集約パケットＤ４を生成するには及ばない。
なお、診断パケット生成部２０５が生成する診断パケットＤ５に含まれる個別パケットヘッダーＤ５１の数と、集約部２０２が連結する個別パケットデータＤ４３の数は、同じである。また、診断パケット生成部２０５が生成する診断パケットＤ５に含まれる個別パケットヘッダーＤ５１と、集約部２０２が連結する個別パケットデータＤ４３とは、同じ個別パケットに対応するものである。
図１８に示す診断パケットＤ５は、一例として、４つの個別パケットが集約対象である場合に生成されるものである。
診断パケット生成部２０５は、例えば、負荷が４０％未満の場合、個別パケットヘッダーＤ５１を４つ全て含む診断パケットＤ５を生成する。このとき、集約部２０２が連結する個別パケットデータＤ４３の数も同様に４つである。診断パケット生成部２０５は、例えば、負荷が４０％以上５０％未満の場合、個別パケットヘッダーＤ５１を１つ減らして、個別パケットヘッダーＤ５１を３つだけ含む診断パケットＤ５を生成する。このとき、集約部２０２が連結する個別パケットデータＤ４３の数も同様に３つである。診断パケット生成部２０５は、例えば、負荷が５０％以上６０％未満の場合、個別パケットヘッダーＤ５１を半分、すなわち２つ減らして、個別パケットヘッダーＤ５１を２つだけ含む診断パケットＤ５を生成する。このとき、集約部２０２が連結する個別パケットデータＤ４３の数も同様に２つである。診断パケット生成部２０５は、例えば、負荷が６０％以上７０％未満の場合、個別パケットヘッダーＤ５１を３つ減らして、個別パケットヘッダーＤ５１を１つだけ含む診断パケットＤ５を生成する。このとき、集約部２０２が連結する個別パケットデータＤ４３の数も同様に１つである。診断パケット生成部２０５は、例えば、負荷が７０％以上の場合、個別パケットヘッダーＤ５１を４つとも減らして、個別パケットヘッダーＤ５１を含まない診断パケットＤ５を生成する。このとき、集約部２０２が連結する個別パケットデータＤ４３の数も同様に０である。以上の例の場合、第１の閾値は４０％である。また、以上の例の場合、第２の閾値は、７０％である。
なお図１８に示す診断パケットＤ５は一例であって、第１の閾値及び第２の閾値などの閾値を限定するものではない。また、図１８に示す診断パケットＤ５は一例であって、診断パケット生成部２０５が個別パケットヘッダーＤ５１を減らす数を限定するものではない。また、閾値は、固定の値でなくても良い。
【０１４３】
以下、第２実施形態に係る通信システム１の動作を図８、図９、図１１〜図１３、図１９及び図２０に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第２実施形態では、端末装置１０は、第１実施形態の図７及び図８に示す処理に代えて図１９及び図８に示す処理を行う。図１９は、端末装置１０のプロセッサー１１による処理のフローチャートである。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー１１は、図１９及び図８に示された処理を並行又は並列して同時的に処理する。また、第２実施形態では、中継装置２０は、第１実施形態の図９及び図１０に示す処理に代えて図９及び図２０に示す処理を行う。図２０は、中継装置２０のプロセッサー２１による処理のフローチャートである。プロセッサー２１は、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー２１は、図９及び図２０に示された処理を並行又は並列して同時的に処理する。また、サーバー装置３０は、第１実施形態と同様に図１１〜図１３に示す処理を行う。
【０１４４】
第２実施形態では、端末装置１０のプロセッサー１１は、図１９のステップＳ１１４においてＹｅｓと判定したならば、ステップＳ１３１へと進む。
ステップＳ１３１においてプロセッサー１１は、ステップＳ１１３で送信された個別パケットが、中継装置２０からサーバー装置３０へと正常に送信されたか否かを判定する。なお、プロセッサー１１は、ステップＳ１１４で受信された第１診断パケットを参照することで、当該判定を行う。すなわち、プロセッサー１１は、当該第１診断パケットに、ステップＳ１１３で送信された個別パケットから生成された個別パケットヘッダーが含まれるならば正常に送信された判定する。そして、プロセッサー１１は、当該第１診断パケットに、ステップＳ１１３で送信された個別パケットから生成された個別パケットヘッダーが含まれないならば個別パケットが未送信であるとみなす。プロセッサー１１は、ステップＳ１１３で送信された個別パケットが、中継装置２０から正常に送信されたと判定したならば、ステップＳ１３１においてＹｅｓと判定してステップＳ１１１へと戻る。対して、プロセッサー１１は、ステップＳ１１３で送信された個別パケットが、中継装置２０から正常に送信されていないと判定したならば、ステップＳ１３１においてＮｏと判定してステップＳ１１６へと進む。
【０１４５】
また、第２実施形態では、中継装置２０のプロセッサー２１は、図２０のステップＳ２２２においてＹｅｓと判定したならば、ステップＳ２３１へと進む。
ステップＳ２３１において中継装置２０のプロセッサー２１は、中継装置２０の負荷の高さを示す負荷情報を取得する。
【０１４６】
ステップＳ２３２においてプロセッサー２１は、ステップＳ２２４と同様にして集約パケットを生成する。ただし、ステップＳ２３２では、プロセッサー２１は、中継装置２０の負荷が高い場合、集約の対象とした個別パケットを全て集約するのではなく、集約パケットに含める個別パケットの数を減らす。また、プロセッサー２１は、中継装置２０の負荷が高いほど、集約パケットに含める個別パケットの数を多く減らす。なお、プロセッサー２１は、集約パケットに含めなかったものも含めて、集約の対象とした個別パケットについては、第１の集約バッファーへの登録を解除する。
ステップＳ２３３においてプロセッサー２１は、ステップＳ２３２において生成された集約パケットをサーバー装置３０に送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該集約パケットをサーバー装置３０に送信する。送信された当該集約パケットは、サーバー装置３０の通信Ｉ／Ｆ３５によって受信される。
【０１４７】
ステップＳ２３４においてプロセッサー２１は、第１診断パケットを生成する。なお、プロセッサー２１は、中継装置２０の負荷が高いほど、第１診断パケットに含める個別パケットヘッダーの数を減らす。また、第１診断パケットに含まれる個別パケットヘッダーは、ステップＳ２３２において生成された集約パケットに含まれる個別パケットデータに対応するものである。
【０１４８】
ステップＳ２３５においてプロセッサー２１は、ステップＳ２３４において生成した第１診断パケットを端末装置１０に送信するように通信Ｉ／Ｆ２５に対して指示する。この指示を受けて通信Ｉ／Ｆ２５は、当該第１診断パケットを端末装置１０に送信する。送信された当該第１診断パケットは、端末装置１０の第２の通信Ｉ／Ｆ１６によって受信される。なお、第１診断パケットの送信先は、ステップＳ２２４で集約の対象とされた個別パケットそれぞれの送信元である端末装置１０である。プロセッサー２１は、ステップＳ２３５の処理の後、ステップＳ２２２へと戻る。
【０１４９】
第２実施形態に係る通信システム１の動作を、図２１を用いてさらに説明する。図２１は、通信システム１の情報の流れの一例を示すシーケンス図である。なお、図２１は、通信システム１における情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
【０１５０】
図２１は、中継装置２０の負荷が高い場合の通信シーケンスの一例を示す。中継装置２０が、端末装置１０−ｋ−１及び端末装置１０−ｋ−２から個別パケットを受信した際、中継装置の負荷が５０％であるとする。そして、中継装置２０は、負荷が高いことから、端末装置１０−ｋ−２のＩＤとシーケンス番号に対応する個別パケットヘッダーＤ５１及び個別パケットデータＤ４３を含めずに、診断パケットＤ５と集約パケットＤ４とを生成するものとする。当該診断パケットＤ５と集約パケットＤ４には、端末装置１０−ｋ−１のＩＤとシーケンス番号を持つ個別パケットヘッダーＤ５１と個別パケットデータＤ４３が含まれる。中継装置２０は、生成した診断パケットＤ５と集約パケットＤ４とを送信する。端末装置１０−ｋ−１は、診断パケットＤ５に端末ＩＤが１の個別パケットヘッダーがあるため、個別パケットＤ３が中継装置２０を経由して送信されたと判断できる。一方、端末装置１０−ｋ−２は、診断パケットＤ５に端末ＩＤが２の個別パケットヘッダーがないため、個別パケットＤ３が中継装置２０から送信されなかったと判断し、個別パケットＤ３を直接サーバー装置３０へ送信する。
サーバー装置３０は、集約パケットとして受信した検知信号Ｄ１に対する制御信号Ｄ２は集約パケットとして中継装置２０に送信する。そして、サーバー装置３０は、個別パケットして受信した検知信号Ｄ１に対する制御信号Ｄ２は個別パケットとして端末装置１０−ｋ−２に送信する。
【０１５１】
第２実施形態の通信システム１は、第１実施形態と同様の効果が得られる。
また、第２実施形態の通信システム１によれば、中継装置２０は、負荷が高い場合には、受信した個別パケットの一部を集約しない。これにより、中継装置２０の負荷が高くなりすぎることを防ぐことができる。
また、中継装置２０は、集約しなかった個別パケットの送信元である端末装置１０に対しては、当該個別パケットをサーバー装置３０に送信しなかったことを示す診断パケットを送信する。これにより、端末装置１０は、当該個別パケットがサーバー装置３０に送信されなかったことを知ることができる。そして、この場合、端末装置１０は、個別パケットを、中継装置２０を介さずに直接サーバー装置３０に送信する。
以上より、通信システム１は、中継装置２０の負荷が高くなって端末装置１０とサーバー装置３０との間で通信ができなくなることを防ぐことができる。
【０１５２】
〔第３実施形態〕
以下、第３実施形態に係る通信システムについて説明する。
第３実施形態に係る通信システム１ｂの構成について、図２２に基づいて説明する。通信システム１ｂは、第１実施形態及び第２実施形態と異なり、各地域Ａに中継装置２０が複数設置される。そして、それぞれの中継装置がそれぞれの地域ＡのネットワークＮＷ１に接続される。図２２には、各地域Ａにそれぞれ２台の中継装置２０が設置されている場合を示している。ただし、地域Ａによっては中継装置２０が１台しか設置されていない場合があっても良い。なお、地域Ａｋに設置された複数の中継装置２０−ｋを、中継装置２０−ｋ−１、中継装置２０−ｋ−２、…のように称するものとする。
なお、通信システム１ｂに含まれる各装置の要部回路構成については、第１実施形態及び第２実施形態の図２に示す通信システム１と同様であるので説明を省略する。また、通信システム１ｂに含まれる各装置の機能構成については、第２実施形態の図１７に示す通信システム１と同様であるので説明を省略する。
【０１５３】
以下、第３実施形態に係る通信システム１ｂの動作を図８、図９、図１１〜図１３、図２０及び図２３に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第３実施形態では、端末装置１０は、第２実施形態の図１９及び図８に示す処理に代えて図２３及び図８に示す処理を行う。図２３は、端末装置１０のプロセッサー１１による処理のフローチャートである。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこの処理を実行する。なお、プロセッサー１１は、図２３に示す処理を開始するとき、変数ｊを、ＲＡＭ１３などに割り当てる。プロセッサー１１は、図２３及び図８に示された処理を並行又は並列して同時的に処理する。中継装置２０は、第２実施形態と同様に、図９及び図２０に示す処理を行う。また、サーバー装置３０は、第１実施形態及び第２実施形態と同様に図１１〜図１３に示す処理を行う。なお、以下の説明では地域Ａｋの場合を例に説明を行う。
【０１５４】
第３実施形態では、プロセッサー１１は、図２３のステップＳ１１２の処理の後、ステップＳ１４１へと進む。
ステップＳ１４１においてプロセッサー１１は、変数ｊの値を１にする。これにより、個別パケットの送信先が中継装置２０−ｋ−１になる。
【０１５５】
ステップＳ１４２においてプロセッサー１１は、個別パケットを中継装置２０−ｋ−ｊに送信するように第１の通信Ｉ／Ｆ１５に対して指示する。この指示を受けて第１の通信Ｉ／Ｆ１５は、当該個別パケットを中継装置２０−ｋ−ｊに送信する。送信された当該個別パケットは、中継装置２０−ｋ−ｊの通信Ｉ／Ｆ２５によって受信される。
【０１５６】
第３実施形態では、プロセッサー１１は、ステップＳ１１５の処理においてＹｅｓと判定したならば、ステップＳ１４３へと進む。まだ、第３実施形態では、プロセッサー１１は、ステップＳ１３１においてＮｏと判定したならば、ステップＳ１４３へと進む。
ステップＳ１４３においてプロセッサー１１は、変数ｊをインクリメントして、変数ｊの値を１増やす。これにより、個別パケットの送信先が、中継装置２０−ｋ−ｊから中継装置２０−ｋ−（ｊ＋１）に変更される。
【０１５７】
ステップＳ１４４においてプロセッサー１１は、次に送信する中継装置２０があるか否かを判定する。すなわち、プロセッサー１１は、中継装置２０−ｋ−ｊが存在するか否かを確認する。プロセッサー１１は、次に送信する中継装置２０があるならば、ステップＳ１４４においてＹｅｓと判定してステップＳ１４２へと戻る。なお、プロセッサー１１は、ステップＳ１４４からステップＳ１４２に進んだ場合のステップＳ１４２では、前回のステップＳ１４２で送信された個別パケットと同じ個別パケットを送信するように処理を行う。
【０１５８】
また、プロセッサー１１は、次に送信する中継装置２０がないならば、ステップＳ１４４においてＮｏと判定してステップＳ１４５へと進む。
ステップＳ１４５においてプロセッサー１１は、ステップＳ１４２で送信した個別パケットと同じ個別パケットを、中継装置２０を経由せずにサーバー装置３０に到着するようにして、サーバー装置３０に送信するように第２の通信Ｉ／Ｆ１６に対して指示する。この指示を受けて第２の通信Ｉ／Ｆ１６は、当該個別パケットをサーバー装置３０に送信する。送信された当該個別パケットは、サーバー装置３０の通信Ｉ／Ｆ３５によって受信される。プロセッサー１１は、ステップＳ１４５の処理の後、ステップＳ１１７へと進む。
【０１５９】
なお、第３実施形態では、サーバー装置３０のプロセッサー３１は、中継装置２０−１〜中継装置２０−ｎに代えて、中継装置２０−１−１、中継装置２０−１−２、…〜中継装置２０−ｎ−１、中継装置２０−ｎ−２、…のそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー３１は、中継装置２０−１−１、中継装置２０−１−２、…〜中継装置２０−ｎ−１、中継装置２０−ｎ−２、…に対して送信する個別パケットのいずれかが集約条件を満たすことに応じて、集約条件を満たした中継装置２０に対してステップＳ３４５及びステップＳ３４６と同様の処理を行う。
【０１６０】
第３実施形態に係る通信システム１ｂの動作を、図２４〜図２６を用いてさらに説明する。図２４〜図２６のそれぞれは、通信システム１ｂの情報の流れの一例を示すシーケンス図である。なお、図２４〜図２６は、通信システム１ｂにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
【０１６１】
図２４は、中継装置２０−ｋ−１に異常がない場合の通信シーケンスの一例を示す。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、初め、中継装置２０−ｋ−１に個別パケットＤ３を送信する。ここで端末装置１０−ｋが個別パケットを送信する中継装置２０−ｋは、例えば、端末装置１０−ｋの管理者などによって予め設定される。あるいは、ここで端末装置１０−ｋが個別パケットを送信する中継装置２０−ｋは、起動した時間が最も早い中継装置２０−ｋなどであっても良い。その後の通信シーケンスは、第１実施形態例の通信シーケンスと同様である。すなわち、中継装置２０−ｋ−１は、集約パケットＤ４をサーバー装置３０に送信する。そして、中継装置２０−ｋ−１は、診断パケットＤ５を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。その後、サーバー装置３０が、集約パケットＤ６を中継装置２０−ｋ−１に送信する。そして、中継装置２０−ｋ−１が、個別パケットＤ７を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。この場合、中継装置２０−ｋ−２は待機しており、例えば、一定周期で第２診断パケットを各端末装置１０−ｋに送信する。
【０１６２】
図２５は、中継装置２０−ｋ−１に異常が発生した場合の通信シーケンスの一例を示す。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、初め、中継装置２０−ｋ−１に個別パケットＤ３を送信する。このとき、中継装置２０−ｋ−１は、異常が発生したことによって、集約パケットＤ４と診断パケットＤ５とを送信することができないものとする。このため、端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、診断パケットＤ５を受信することができない。したがって、端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、中継装置２０−ｋ−１に異常が発生していると判定し、個別パケットＤ３を中継装置２０−ｋ−２に送信する。その後、中継装置２０−ｋ−２が個別パケットを集約し、集約パケットＤ４をサーバー装置３０に送信する。そして、サーバー装置３０は、集約パケットＤ６を中継装置２０−ｋ−２に送信する。集約パケットＤ６を受信した中継装置２０−ｋ−２は、集約パケットＤ６を個々の個別パケットＤ７に分割する。そして、中継装置２０−ｋ−２は、端末装置１０−ｋ−１及び端末装置１０−ｋ−２に当該個別パケットＤ７を送信する。
【０１６３】
図２６は、中継装置２０−ｋ−１の負荷が高い場合の通信シーケンスの一例をしめす。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、初め、中継装置２０−ｋ−１に個別パケットＤ３を送信する。ここで、中継装置２０−ｋ−１の負荷が５０％であるとする。そして、中継装置２０−ｋ−１は、負荷が高いことから、端末装置１０−ｋ−２のＩＤとシーケンス番号に対応する個別パケットヘッダーＤ５１及び個別パケットデータＤ４３を含めずに、診断パケットＤ５と集約パケットＤ４とを生成するものとする。当該診断パケットＤ５と集約パケットＤ４には、端末装置１０−ｋ−１のＩＤとシーケンス番号を持つ個別パケットヘッダーＤ５１と個別パケットデータＤ４３が含まれる。中継装置２０−ｋ−１は、生成した診断パケットＤ５と集約パケットＤ４とを送信する。端末装置１０−ｋ−１は、診断パケットＤ５に端末ＩＤが１の個別パケットヘッダーがあるため、個別パケットＤ３が中継装置２０−ｋ−１を経由して送信されたと判断できる。一方、端末装置１０−ｋ−２は、診断パケットＤ５に端末ＩＤが２の個別パケットヘッダーがないため、個別パケットＤ３が中継装置２０−ｋ−１から送信されなかったと判断し、個別パケットＤ３を中継装置２０−ｋ−２へ送信する。その後、中継装置２０−ｋ−２が個別パケットを集約し、集約パケットＤ１０をサーバー装置３０に送信する。サーバー装置３０は、集約パケットＤ４に対する応答を集約して中継装置２０−ｋ−１に送信し、集約パケットＤ１０に含まれる個別パケットＤ３に対する応答を集約して中継装置２０−ｋ−２に送信する。なお、集約パケットＤ１０のデータ構造は、例えば、集約パケットＤ４と同様である。
【０１６４】
なお、図２４〜図２６における中継装置２０−ｋ−１は、第１の中継装置の一例である。図２４〜図２６における中継装置２０−ｋ−２は、第２の中継装置の一例である。
【０１６５】
第３実施形態の通信システム１ｂによれば、中継装置２０が多重化されているので、中継装置２０に異常が発生した場合などでも、他の中継装置２０を用いることで、パケットの集約が可能である。また、これにより、中継装置２０に異常がある場合でも、サーバー装置３０の通信負荷を軽減することができる。
第３実施形態の通信システム１ｂによれば、端末装置１０は、中継装置２０に異常があると判定した場合、他の中継装置２０に対して個別パケットを送信する。これにより、中継装置２０の多重化が可能となる。
【０１６６】
〔第４実施形態〕
以下、第４実施形態に係る通信システムについて説明する。
第４実施形態に係る通信システム１ｂの構成は、第３実施形態の図１及び図２２と同様であるので説明を省略する。また、第４実施形態に係る通信システム１ｂに含まれる各装置の機能構成は、第３実施形態の図１７と同様であるので説明を省略する。
【０１６７】
以下、第４実施形態に係る通信システム１ｂの動作を図８、図９、図１１〜図１３、図２０及び図２７に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。なお、第４実施形態では、端末装置１０は、第２実施形態の図１９及び図８に示す処理に代えて図２７及び図８に示す処理を行う。図２７は、端末装置１０のプロセッサー１１による処理のフローチャートである。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー１１は、図２７及び図８に示された処理を並行又は並列して同時的に処理する。中継装置２０は、第２実施形態及び第３実施形態と同様に、図９及び図２０に示す処理を行う。また、サーバー装置３０は、第１実施形態〜第３実施形態と同様に図１１〜図１３に示す処理を行う。
【０１６８】
第４実施形態では、プロセッサー１１は、図２７のステップＳ１１２の処理の後、ステップＳ１５１へと進む。
ステップＳ１５１においてプロセッサー１１は、サーバー装置３０を宛先とする個別パケットを、端末装置１０が設置されている地域Ａと同一地域Ａ内の中継装置２０全てに送信するように第２の通信Ｉ／Ｆ１６に対して指示する。この指示を受けて第２の通信Ｉ／Ｆ１６は、当該個別パケットをそれぞれの中継装置２０に送信する。送信された当該個別パケットは、それぞれの中継装置２０の通信Ｉ／Ｆ２５によって受信される。なおこのとき、例えば、プロセッサー１１は、当該個別パケットの処理バッファーへの登録を解除する。
【０１６９】
第４実施形態では、プロセッサー１１は、図２７のステップＳ１３１においてＮｏと判定したならば、ステップＳ１５２へと進む。
ステップＳ１５２においてプロセッサー１１は、ステップＳ１５１で送信した個別パケットの送信先である中継装置２０の全てから第１診断パケットを受信したか否かを判定する。プロセッサー１１は、同一地域Ａ内の中継装置２０の全てから第１診断パケットを受信していないならば、ステップＳ１５２においてＮｏと判定してステップＳ１１５へと戻る。対して、プロセッサー１１は、同一地域Ａ内の中継装置２０の全てから第１診断パケットを受信したならば、ステップＳ１５２においてＹｅｓと判定してステップＳ１１６へと進む。
【０１７０】
なお、第４実施形態では、サーバー装置３０のプロセッサー３１は、中継装置２０−１〜中継装置２０−ｎに代えて、中継装置２０−１−１、中継装置２０−１−２、…〜中継装置２０−ｎ−１、中継装置２０−ｎ−２、…のそれぞれに対して送信する個別パケットが、集約条件を満たすか確認する。そして、プロセッサー３１は、中継装置２０−１−１、中継装置２０−１−２、…〜中継装置２０−ｎ−１、中継装置２０−ｎ−２、…に対して送信する個別パケットのいずれかが集約条件を満たすことに応じて、集約条件を満たした中継装置２０に対してステップＳ３４５及びステップＳ３４６と同様の処理を行う。
【０１７１】
第４実施形態に係る通信システム１ｂの動作を、図２８及び図２９を用いてさらに説明する。図２８及び図２９のそれぞれは、通信システム１ｂの情報の流れの一例を示すシーケンス図である。なお、図２８及び図２９は、通信システム１ｂにおける情報の流れを網羅するものではなく、図示しない情報の流れが存在しても良い。
【０１７２】
図２８は、中継装置２０−ｋ−１及び中継装置２０−ｋ−２に異常がない場合の通信シーケンスの一例を示す。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、それぞれが、中継装置２０−ｋ−１と中継装置２０−ｋ−２との両方に個別パケットＤ３を送信する。その後、個別パケットＤ３を受信した中継装置２０−ｋ−１は、集約パケットＤ４をサーバー装置３０に送信し、診断パケットＤ５を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。また、個別パケットＤ３を受信した中継装置２０−ｋ−２は、集約パケットＤ１０をサーバー装置３０に送信し、診断パケットＤ９を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。なお、診断パケットＤ９のデータ構造は、例えば、診断パケットＤ５と同様である。
サーバー装置３０は、受信選択部３０３により、集約パケットＤ４の個別パケットの端末ＩＤとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。その後、集約パケットＤ１０を受信した際には、受信選択部３０３により、集約パケットＤ１０の個別パケットの端末ＩＤとシーケンス番号を読み取り、受信済みの個別パケットであることを確認し、パケットを破棄する。サーバー装置３０は、中継装置２０−ｋ−１から受信した集約パケットＤ４に格納された検知信号Ｄ１から制御信号Ｄ２を生成するため、サーバー装置３０から送信する集約パケットＤ６を中継装置２０−ｋ−１に送信する。
【０１７３】
図２９は、中継装置２０−ｋ−１に異常が発生した場合の通信シーケンスの一例を示す。
端末装置１０−ｋ−１及び端末装置１０−ｋ−２は、それぞれが、中継装置２０−ｋ−１と中継装置２０−ｋ−２の両方に個別パケットＤ３を送信する。その後、個別パケットＤ３を受信した中継装置２０−ｋ−２は、集約パケットＤ１０をサーバー装置３０に送信し、診断パケットＤ９を端末装置１０−ｋ−１及び端末装置１０−ｋ−２に送信する。
サーバー装置３０は、受信選択部３０３により、集約パケットＤ１０の個別パケットの端末ＩＤとシーケンス番号を読み取り、未受信の個別パケットであることを確認し、判定処理を行う。サーバー装置３０は、中継装置２０−ｋ−２から受信した集約パケットＤ１０に格納された検知信号Ｄ１から制御信号Ｄ２を生成するため、サーバー装置３０から送信する集約パケットＤ６を中継装置２０−ｋ−２に送信する。
【０１７４】
第４実施形態の通信システム１ｂによれば、端末装置１０は、個別パケットを複数の中継装置２０に送信する。したがって、個別パケットの送信先である中継装置２０の一部に異常が発生した場合でも、個別パケットの送信先である他の中継装置２０が、当該個別パケットを集約してサーバー装置３０に送信する。これにより、中継装置２０に異常が発生した場合でも、端末装置１０が個別パケットを再送することなく、当該個別パケットが通信サーバーに到着する。また、サーバー装置３０は、複数の中継装置２０から送信された同じ個別パケットのうち、最初に到着したもの以外は破棄する。以上より、第４実施形態の通信システム１ｂは、中継装置２０に異常が発生した場合の伝送時間の遅延を防ぐことができる。
【０１７５】
第１実施形態〜第４実施形態は以下のような変形も可能である。
端末装置１０は、定期的に中継装置２０に問合せを行うことで、正常に通信できるか確認しても良い。そして、端末装置１０は、正常に通信できない場合には、個別パケットの送信先を他の中継装置２０又はサーバー装置３０に変更しても良い。
【０１７６】
端末装置１０は、中継装置２０に異常があると判定した場合、中継装置２０に定期的に問合せを行うことで、中継装置２０が正常動作に復帰したか確認しても良い。
【０１７７】
第４実施形態において、端末装置１０−ｋは、個別パケットを、地域Ａｋ内の全ての中継装置２０−ｋではなく、複数の中継装置２０−ｋのうちの一部の中継装置２０−ｋに送信してもよい。そして、端末装置１０−ｋは、いずれの中継装置２０−ｋにおいても当該個別パケットがサーバー装置３０に送信されなかったと判定した場合、複数の中継装置２０−ｋのうちの個別パケットを送信しなかった中継装置２０−ｋのうちの一部又は全部に送信しても良い。
【０１７８】
実施形態１〜実施形態４では、地域Ａ１、地域Ａ２、…、地域Ａｎのように地域ごとに区切られている。しかしながら、この区切りは地域ごとに限らない。例えば、この区切りは、組織などの単位で分けられるものであっても良い。
【０１７９】
通信システム１及び通信システム１ｂは、サーバー装置３０に代えて、ＰＣなどのその他の装置を備えていても良い。当該その他の装置は、サーバー装置３０と同様の動作をする。当該その他の装置は、通信装置の一例である。
【０１８０】
実施形態１〜実施形態４におけるそれぞれの装置は、複数の装置によって構成される装置であっても良い。また、装置の一部をクラウドコンピューティングによって実現しても良い。
【０１８１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１８２】
１……通信システム、１０……端末装置、１１，２１，３１……プロセッサー、１２，２２，３２……ＲＯＭ、１３，２３，３３……ＲＡＭ、１４，２４，３４……補助記憶デバイス、１５……第１の通信Ｉ／Ｆ、１６……第２の通信Ｉ／Ｆ、２０……中継装置、２５，３５……通信Ｉ／Ｆ、３０……サーバー装置、１０１……入力部、１０２，３０５……ＩＤ付加部、１０３，３０６……送信先選択部、１０４……送信部、１０５，２０１……第一受信部、１０６……診断部、１０７，２０７……第二受信部、１０８……ＩＤ確認部、１０９，３０３……受信選択部、１１０……出力部、１２１……異常通知部、２０２，３０８……集約部、２０３，３０９……集約パケット生成部、２０４，３０７……第一送信部、２０５……診断パケット生成部、２０６，３１０……第二送信部、２０８，３０２……分離部、２０９……第三送信部、２２１……負荷計測部、３０１……受信部、３０４……判定部、ＤＡ……制御対象デバイス
【図１】
2019057825.tif 000003
【図２】
2019057825.tif 000004
【図３】
2019057825.tif 000005
【図４】
2019057825.tif 000006
【図５】
2019057825.tif 000007
【図６】
2019057825.tif 000008
【図７】
2019057825.tif 000009
【図８】
2019057825.tif 000010
【図９】
2019057825.tif 000011
【図１０】
2019057825.tif 000012
【図１１】
2019057825.tif 000013
【図１２】
2019057825.tif 000014
【図１３】
2019057825.tif 000015
【図１４】
2019057825.tif 000016
【図１５】
2019057825.tif 000017
【図１６】
2019057825.tif 000018
【図１７】
2019057825.tif 000019
【図１８】
2019057825.tif 000020
【図１９】
2019057825.tif 000021
【図２０】
2019057825.tif 000022
【図２１】
2019057825.tif 000023
【図２２】
2019057825.tif 000024
【図２３】
2019057825.tif 000025
【図２４】
2019057825.tif 000026
【図２５】
2019057825.tif 000027
【図２６】
2019057825.tif 000028
【図２７】
2019057825.tif 000029
【図２８】
2019057825.tif 000030
【図２９】
2019057825.tif 000031