JP7280477B2 - 中継器における通信ログ管理システム、中継器およびホスト装置 - Google Patents

中継器における通信ログ管理システム、中継器およびホスト装置 Download PDF

Info

Publication number
JP7280477B2
JP7280477B2 JP2019014366A JP2019014366A JP7280477B2 JP 7280477 B2 JP7280477 B2 JP 7280477B2 JP 2019014366 A JP2019014366 A JP 2019014366A JP 2019014366 A JP2019014366 A JP 2019014366A JP 7280477 B2 JP7280477 B2 JP 7280477B2
Authority
JP
Japan
Prior art keywords
repeater
data
communication log
status information
host device
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
JP2019014366A
Other languages
English (en)
Other versions
JP2020123129A (ja
Inventor
啓介 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Star Micronics Co Ltd
Original Assignee
Star Micronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Star Micronics Co Ltd filed Critical Star Micronics Co Ltd
Priority to JP2019014366A priority Critical patent/JP7280477B2/ja
Publication of JP2020123129A publication Critical patent/JP2020123129A/ja
Application granted granted Critical
Publication of JP7280477B2 publication Critical patent/JP7280477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、中継器における通信ログ管理システム、中継器およびホスト装置に関し、特に、ホスト装置と周辺装置との間に中継器を接続してデータ通信を行うシステムに用いて好適なものである。
従来、ホスト装置と周辺装置とを接続し、ホスト装置から周辺装置の動作を制御するようになされたシステムが知られている。例えば、ホスト装置と周辺装置との間を有線または無線のLAN(Local Area Network)により接続し、TCP/IPプロトコルに従って相互にデータ通信を行うシステムが広く利用されている。
これに対し、周辺装置の中には、通信インタフェース手段としてLANインタフェースは持たず、RS-232C等のシリアルインタフェースのみを有しているものが存在する。一方、ホスト装置の中には、LANインタフェースは有るがシリアルインタフェースを有していないものが存在する。このようなホスト装置と周辺装置とを用いて、ホスト装置から命令を送って周辺装置を制御するためには、ホスト装置と周辺装置との間に中継器を接続する必要がある。
この場合における中継器は、ホスト装置から送られてくるLAN通信信号をシリアル通信信号に変換して周辺装置に送信する。また、中継器は、周辺装置から送られてくるシリアル通信信号をLAN通信信号に変換してホスト装置に送信する。特許文献1,2には、このようにホスト装置と周辺装置との間に中継器を接続し、中継器において信号を変換してデータ通信を行うようにしたシステムが開示されている。
特許文献1に記載の遠隔操作・遠隔監視システムでは、プレス装置2(周辺装置)とPLC(プログラム可能制御装置)3とが通信ケーブル9で接続され、PLC3と信号変換器5(両方合わせて中継器)とがシリアル通信専用ケーブル4で接続され、当該信号変換器5がLANを介してデータ収集用コンピュータ8(ホスト装置)と接続されている。PLC3は、プレス装置2を制御するとともに、プレス装置2の稼動状況データを収集して内部のメモリに記憶する。PLC3は収集した1日の稼動状況データを5日間記憶するので、仮にPLC3によって収集された稼動状況データをPLC3からデータ収集用コンピュータ8へ送信している際に、PLC3とデータ収集用コンピュータ8との間で通信エラー等が発生しても 、5日間は、その稼動状況データをPLC3からデータ収集用コンピュータ8へ再度送信することができるように構成されている。
特許文献2に記載の防災システムでは、火災受信機11(周辺装置)と伝送用IF12(中継器)とがRS-232Cで接続され、伝送用IF12がLANを介して統合監視制御盤40(ホスト装置)と接続されている。伝送用IF12はICカード接続器を備え、このICカード接続器に接続されたICカードに通信ログが記録される。通信ログとしては、(1)中継先の火災受信機11から伝送用IF12にて受信する情報の全て、(2)伝送用IF12から火災受信機11に送信する情報の全て、(3)伝送用IF12から統合監視制御盤40に送信する情報の全て、(4)統合監視制御盤40から伝送用IF12にて受信する情報の全てである。
特開2005-222133号公報 特開2002-298250号公報
ホスト装置と周辺装置との間に中継器を接続してデータ通信を行うシステムにおいて、ホスト装置から中継器を介して周辺装置に動作命令データを送信する場合、中継器は、周辺装置へのデータ送信が完了した後に、ホスト装置に対して「送信完了」の応答データを返す。一方、中継器と周辺装置との間のシリアル通信に何らかの障害が発生していて動作命令データを送信できなかった場合、中継器は、ホスト装置に対して「送信不能」の応答データを返す。この応答データにより、ホスト装置は中継器が周辺装置に動作命令データを送信できたかどうかを判断することができる。
ホスト装置は、中継器から周辺装置に対するデータ送信の完了を確認できた場合、周辺装置の動作状況データの取得を中継器に要求する。中継器は、周辺装置に動作命令データを送信した後、その動作命令データに従って周辺装置が正常に動作を完了したか否かを示す動作状況データを周辺装置から受信している。中継器は、この動作状況データをホスト装置からの要求に応じて返信する。これにより、ホスト装置から周辺装置に対する動作命令に関する一連の処理が完了する。
ところで、ホスト装置と中継器との間におけるLAN通信に一時的に障害が発生することがある。LAN通信では、その仕組みにより、ホスト装置は自身が送信したデータが相手に届いたか否かを判断することができる。そのため、ホスト装置から中継器にデータを送信する際にLAN通信の障害が発生し、ホスト装置から中継器へのデータ送信が失敗した場合、ホスト装置はそれを検知可能である。したがって、ホスト装置はデータ再送等の対応をとることができる。
しかしながら、ホスト装置から中継器にデータ(動作命令データ)を送信し終わった後に通信障害が発生した場合、ホスト装置は中継器からデータ(送信完了または送信不能の応答データ)を取得することができない。そのため、ホスト装置では、中継器が周辺装置にデータを送り終えたかどうかを判断することができないという問題があった。この場合、ホスト装置は、中継器が周辺装置に動作命令データを送り終えたかどうかが不明であるため、中継器に動作命令データを再送するといった対応をとることができない。
なお、上記特許文献1に記載のシステムでは、PLC3がプレス装置2(周辺装置)の稼動状況データを収集して内部メモリに記憶しているが、PLC3(中継器)とプレス装置2との通信ログを記憶するものではない。そのため、PLC3とデータ収集用コンピュータ8との間で通信エラーが発生したときに、それ以前にPLC3に記憶された稼動状況データを用いても、通信エラーの発生時にPLC3がプレス装置2にデータを送り終えていたかどうかは判断することができない。
一方、上記特許文献2に記載のシステムでは、火災受信機11(周辺装置)と伝送用IF12(中継器)との間の通信ログを記録しているが、単にICカードに記録しているだけであり、これを統合監視制御盤40(ホスト装置)に通知する構成は含まれていない。したがって、この特許文献2に記載の技術を用いたとしても、ホスト装置では、中継器との間に通信障害が発生したときに、中継器が周辺装置にデータを送り終えたかどうかを判断することができない。
本発明は、このような問題を解決するために成されたものであり、ホスト装置と周辺装置との間に中継器を接続してデータ通信を行うシステムにおいて、ホスト装置から中継器にデータを送信し終わった後にホスト装置と中継器との間で通信障害が発生した場合でも、中継器が周辺装置にデータを送り終えたかどうかをホスト装置にて判断することができるようにすることを目的とする。
上記した課題を解決するために、本発明では、中継器がホスト装置から周辺装置宛てのデータを受信して周辺装置に送信すると、周辺装置に対するデータ送信の成否を示す送信成否情報をホスト装置に返信するとともに、当該送信成否情報を通信ログとして記憶し、ホスト装置からの要求に応じて当該通信ログを返信するようにしている。ホスト装置では、周辺装置宛てのデータを中継器に送信し、その応答として中継器から送信されてくる送信成否情報を受信することに加え、通信ログの取得を中継器に要求し、その応答として中継器から通信ログとして送信されてくる送信成否情報を取得するようにしている。ここで、ホスト装置と中継器との間の通信障害の有無によらず、次のデータを受信するまで今回のデータに関する送信成否情報を通信ログとして記憶し、次のデータを受信して当該次のデータを周辺装置に送信しようとしたことの成否が確認されたときに、当該次のデータに関する送信成否情報によって今回のデータに関する送信成否情報を上書きすることにより通信ログを更新するようにしている。
上記のように構成した本発明によれば、ホスト装置と中継器との間に通信障害が発生していない場合には、ホスト装置から中継器にデータを送信した後に中継器から返信されてくる送信成否情報に基づいて、ホスト装置から中継器にデータを送信し終わったか否かを確認することができる。一方、中継器から周辺装置にデータを送信し終わった後にホスト装置と中継器との間に通信障害が発生した場合でも、その通信障害の復旧後に、中継器に通信ログとして記憶しておいた送信成否情報をホスト装置が中継器から取得することができるので、通信障害が発生する前にホスト装置から中継器に送信したデータを中継器が周辺装置に送り終えていたかどうかをホスト装置にて判断することができる。
第1の実施形態による通信ログ管理システムの全体構成例を示す図である。 第1の実施形態によるホスト装置および中継器のハードウェア構成を示す図である。 第1の実施形態によるホスト装置および中継器の機能構成例を示すブロック図である。 第1の実施形態による通信ログ管理システムの動作例(通信障害が発生していない場合の動作例)を示すフローチャートである。 第1の実施形態による通信ログ管理システムの動作例(LAN通信障害が発生している場合の動作例)を示すフローチャートである。 第1の実施形態による通信ログ管理システムの動作例(LAN通信障害およびシリアル通信障害が発生している場合の動作例)を示すフローチャートである。 第2の実施形態によるホスト装置および中継器の機能構成例を示すブロック図である。 第2の実施形態による通信ログ管理システムの動作例(通信障害が発生していない場合の動作例)を示すフローチャートである。 第2の実施形態による通信ログ管理システムの動作例(LAN通信障害が発生している場合の動作例)を示すフローチャートである。 第2の実施形態による通信ログ管理システムの動作例(LAN通信障害およびシリアル通信障害が発生している場合の動作例)を示すフローチャートである。 第2の実施形態による通信ログ管理システムの他の動作例(LAN通信障害が発生している場合の動作例)を示すフローチャートである。
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態による中継器における通信ログ管理システム(以下、単に通信ログ管理システムという)の全体構成例を示す図である。本実施形態の通信ログ管理システムは、ホスト装置100と、中継器200と、周辺装置300とを備えて構成される。本実施形態の通信ログ管理システムは、ホスト装置100と周辺装置300との間に中継器200を接続してデータ通信を行うシステムにおいて、中継器200における通信ログを管理するものである。
ホスト装置100は、周辺装置300に対して動作実行命令等のデータを送信することにより、周辺装置300の動作を制御する機能を備えたものである。ホスト装置100としては、例えば、スマートフォン、タブレット端末、POS(Point of sales)端末などを用いることが可能である。ホスト装置100は、LANインタフェースを有する一方、RS-232C等のシリアルインタフェースは有していない。そのため、ホスト装置100と中継器200との間は、有線または無線のLANにより接続される。
周辺装置300は、ホスト装置100から中継器200を介して送られてくる動作実行命令に従って所定の動作を実行する機能を備えたものである。例えば、ホスト装置100がPOS端末である場合に用い得る周辺装置300としては、自動釣銭機、クレジット決済端末、プリンタなどがある。この場合における自動釣銭機は、ホスト装置100から送られてくる動作実行命令に従って、例えば現金の払い出しに関する動作を実行する。また、クレジット決済端末は、ホスト装置100から送られてくる動作実行命令に従って、例えば決済金額の設定に関する動作を実行する。また、プリンタは、ホスト装置100から送られてくる動作実行命令に従って、例えば印字、ファームウェア更新、ステータス情報の送信などの動作を実行する。周辺装置300は、RS-232C等のシリアルインタフェースを有する一方、LANインタフェースは有していない。そのため、周辺装置300と中継器200との間は、シリアル通信ケーブルにより接続される。
中継器200は、ホスト装置100と周辺装置300との間の通信を中継するものである。すなわち、中継器200は、ホスト装置100から受信するLAN通信信号をシリアル通信信号に変換して周辺装置300に送信する。また、中継器200は、周辺装置300から受信するシリアル通信信号をLAN通信信号に変換してホスト装置100に送信する。ホスト装置100から中継器200を介して周辺装置300に送信される通信信号は、上述の動作実行命令等のデータを含む。一方、周辺装置300から中継器200を介してホスト装置100に送信される通信信号は、動作実行命令に基づく動作実行の結果を示す動作状況情報等のデータを含む。
図2は、本実施形態による通信ログ管理システムの主要要素であるホスト装置100および中継器200のハードウェア構成例を示す図である。
図2に示すように、ホスト装置100は、そのハードウェア構成として、CPU101、LANインタフェース(I/F)102、タッチパネル等の入力部103、液晶ディスプレイ等の表示部104、ROM105、RAM106および補助記憶装置107を備えている。CPU101は、ROM105または補助記憶装置107に記憶されたプログラムに従って、ホスト装置100の動作を制御する。特に、CPU101は、LANインタフェース102を介して中継器200との間で相互にデータ通信を行う。
中継器200は、そのハードウェア構成として、CPU201、LANインタフェース(I/F)202、シリアルインタフェース(I/F)203、ROM204、RAM205および補助記憶装置206を備えている。CPU201は、ROM204または補助記憶装置206に記憶されたプログラムに従って、中継器200の動作を制御する。特に、CPU201は、LANインタフェース202を介してホスト装置100との間で相互にデータ通信を行うとともに、シリアルインタフェース203を介して周辺装置300との間で相互にデータ通信を行う。
図3は、第1の実施形態によるホスト装置100および中継器200の機能構成例を示すブロック図である。図3に示すように、ホスト装置100は、その機能構成として、データ送信部11、送信成否情報受信部12、動作状況情報取得部13および通信ログ取得部14を備えている。これらの各機能ブロック11~14は、実際には図2に示したCPU101、ROM105、RAM106などを含むマイコンを備えて構成され、ROM105または補助記憶装置107に記憶されたプログラムが動作することによって実現される。
また、中継器200は、その機能構成として、データ受信部21、データ転送部22、送信成否情報返信部23、通信ログ記憶部24、動作状況情報受信部25、動作状況情報記憶部26、動作状況情報返信部27および通信ログ返信部28を備えている。これらの各機能ブロック21~28は、実際には図2に示したCPU201、ROM204、RAM205などを含むマイコンを備えて構成され、ROM204または補助記憶装置206に記憶されたプログラムが動作することによって実現される。
ホスト装置100のデータ送信部11は、周辺装置300宛てのデータをLAN通信により中継器200に送信する。周辺装置300宛てのデータは、例えば周辺装置300における所定の動作の実行を指示するための動作実行命令である。ホスト装置100から中継器200にデータ(動作実行命令)を送信する際には、データ送信部11は、中継器200から周辺装置300にデータを転送することを指示する転送命令を送信する。この転送命令には、データ転送の指示と、送信するデータの内容(動作実行命令)とが含まれる。なお、以下では説明を簡略化するため、単に、ホスト装置100から中継器200に対してデータ(動作実行命令)を送信するといい、中継器200から周辺装置300に対してデータ(動作実行命令)を転送(または送信)するという。
中継器200のデータ受信部21は、ホスト装置100から周辺装置300宛てのデータをLAN通信のプロトコル(第1の通信プロトコルの一例)に則り受信する。データ転送部22は、データ受信部21により受信されたデータを周辺装置300にシリアル通信のプロトコル(第2の通信プロトコルの一例)に則り送信(転送)する。送信成否情報返信部23は、ホスト装置100から送信されたデータに対する応答として、周辺装置300に対するデータ送信(転送)の成否(データ送信が完了したか否か)を示す送信成否情報をホスト装置100に返信する。この送信成否情報は、後述するように、通信ログ記憶部24に記憶されている。
送信成否情報返信部23は、中継器200から周辺装置300に対してデータを送信できた場合、ホスト装置100に対して「送信完了」の送信成否情報を返信する。一方、中継器200から周辺装置300に対してデータを送信できなかった場合、送信成否情報返信部23は、ホスト装置100に対して「送信不能」の送信成否情報を返信する。中継器200から周辺装置300にデータを送信できない場合とは、例えば、中継器200と周辺装置300との間のシリアル通信ケーブルが良好に接続されていない場合や、周辺装置300の電源が入っていない場合などによる通信障害や周辺装置300にエラーやバッファフルなどの障害が生じている状態が考えられる。
通信ログ記憶部24は、送信成否情報を通信ログとして記憶する。通信ログ記憶部24は、ホスト装置100と中継器200との間の通信障害の有無によらず、データ受信部21が次のデータを受信してデータ転送部22がそのデータを周辺装置300に送信しようとしたことの成否が確認されるまで、今回のデータに関する送信成否情報を通信ログとして記憶する。そして、データ転送部22による周辺装置300に対する次のデータの送信の成否が確認されたときに、当該次のデータに関する送信成否情報によって今回のデータに関する送信成否情報を上書きすることにより、通信ログを更新する。すなわち、通信ログ記憶部24は、データ転送部22が周辺装置300に次のデータを送信しようとし、その送信が完了したこと、もしくは送信できずタイムアウトしたことを把握したタイミングで、当該次のデータに関する送信成否情報によって今回のデータに関する送信成否情報を上書きする。
動作状況情報受信部25は、データ転送部22がデータ(動作実行命令)を周辺装置300に送信したことに対する応答として、周辺装置300から送信されてくる動作状況情報を受信する。すなわち、周辺装置300は、中継器200から動作実行命令を受信すると、その動作実行命令に従って所定の動作を実行する。このとき、周辺装置300が動作実行を正常に終了できた場合、周辺装置300は中継器200に対して「動作実行成功」を意味するAck信号を送信する。一方、何らかの理由によって周辺装置300が動作実行を正常に終了できなかった場合、周辺装置300は中継器200に対して「動作実行失敗」を意味するステータス情報を送信する。ステータス情報は、動作実行が失敗した理由に関する情報を含む。動作状況情報受信部25は、Ack信号またはステータス情報の何れかを動作状況情報として受信する。
動作状況情報記憶部26は、動作状況情報受信部25により受信された動作状況情報を記憶する。動作状況情報返信部27は、ホスト装置100からの要求に応じて、動作状況情報記憶部26に記憶されている動作状況情報を返信する。動作状況情報記憶部26は、動作状況情報返信部27がホスト装置100に対して動作状況情報を返信した時点で当該動作状況情報を削除する。このため、ホスト装置100と中継器200との間に通信障害が発生していない場合は、動作状況情報記憶部26に記憶された動作状況情報は短時間のうちにホスト装置100に送信され、削除される。一方、ホスト装置100と中継器200との間に通信障害が発生している場合は、その通信障害が復旧して動作状況情報返信部27が動作状況情報をホスト装置100に送信するまで、動作状況情報は動作状況情報記憶部26に継続して記憶される。
ホスト装置100の送信成否情報受信部12は、データ送信部11がデータ(動作実行命令)を中継器200に送信したことに対する応答として、中継器の送信成否情報返信部23から送信されてくる送信成否情報を受信する。ホスト装置100では、この送信成否情報を中継器200から受信することにより、中継器200から周辺装置300に対してデータが送信されたか否かを認識することが可能となる。
動作状況情報取得部13は、中継器200から周辺装置300に対するデータ送信が完了したことを送信成否情報により確認した場合に、動作状況情報の取得を中継器200に要求し、その応答として中継器200の動作状況情報返信部27から送信されてくる動作状況情報を取得する。ホスト装置100では、この動作状況情報を中継器200から取得することにより、ホスト装置100から中継器200を介して周辺装置300に送信した動作実行命令に基づく動作が周辺装置300において完了したか否か、完了していない場合はその理由を認識することが可能となる。
なお、動作状況情報取得部13が動作状況情報の取得を中継器200に要求した時点で、周辺装置300の動作がまだ完了していない場合がある。この場合、中継器200の動作状況情報記憶部26には動作状況情報が記憶されていない。この場合、動作状況情報返信部27は、動作状況情報取得部13からの要求に対して「受信データなし」の応答を返信する。動作状況情報取得部13は、「受信データなし」の応答を取得した場合、動作状況情報の取得を中継器200に再度要求する。以降、中継器200から動作状況情報を受信するまで以上のような動作を繰り返す。
ホスト装置100と中継器200との間に通信障害が発生していない場合は、以上の動作によって、ホスト装置100による動作実行命令の送信から動作状況情報の取得までの一連の処理を問題なく実行することが可能である。一方、ホスト装置100と中継器200との間に通信障害が発生すると、以上の一連の処理が完了しない。例えば、ホスト装置100から中継器200に動作実行命令を送信する際に通信障害が発生している場合は、この間ではLAN通信を行っているために、ホスト装置100は自身が送信した動作実行命令が中継器200に届いていないと判断することができる。この場合、ホスト装置100のデータ送信部11は、動作実行命令を再送するなどの対応をとることができる。
これに対し、ホスト装置100から中継器200に動作実行命令を送信し終わった後にホスト装置100と中継器200との間で通信障害が発生した場合、ホスト装置100は自身が送信した動作実行命令が中継器200に届いていることを確認できているが、中継器200から送信成否情報を取得することができない。そのため、ホスト装置100では、中継器200が周辺装置300に動作実行命令を送り終えたかどうかを判断することができない。この場合、中継器200が周辺装置300に動作実行命令を送り終えたかどうかが不明であるため、ホスト装置100は、中継器200に動作実行命令を再送するといった対応をとることができない。
このような問題に対応するため、第1の実施形態では、ホスト装置100に通信ログ取得部14を設けるとともに、中継器200に通信ログ記憶部24および通信ログ返信部28を設けている。ホスト装置100の通信ログ取得部14は、通信ログの取得を中継器200に要求し、その応答として中継器200から通信ログとして送信されてくる送信成否情報を取得する。中継器200の通信ログ返信部28は、ホスト装置100からの要求に応じて、通信ログ記憶部24に記憶されている送信成否情報を通信ログとして返信する。
通信ログ取得部14は、次の2つのタイミングで通信ログの取得を要求する。第1のタイミングは、データ送信部11がデータを送信する直前である。上述したように、中継器200の通信ログ記憶部24に記憶される送信成否情報は、データ受信部21がホスト装置100からデータを受信してデータ転送部22がそのデータを周辺装置300に送信しようとしたことの成否が確認される毎に更新される。従って、データ送信部11が今回のデータを送信する直前のタイミングでは、通信ログ記憶部24には、前回のデータ送信時に更新された送信成否情報が記憶されている。これにより、通信ログ取得部14が第1のタイミングで通信ログの取得を要求することにより、前回のデータ送信時に中継器200から周辺装置300にデータが送信されたか否かを示す送信成否情報を取得することができる。
第2のタイミングは、データ送信部11が送信したデータが中継器200に届いたことを確認した後、その応答として送信成否情報が返信されてこない場合、すなわち、データ送信部11が中継器200にデータを送信してから、送信成否情報を受信することなく所定のタイムアウト時間が経過したタイミングである。この場合は、ホスト装置100から中継器200に動作実行命令を送信し終わった後に、ホスト装置100と中継器200との間に通信障害が発生している可能性がある。よって、通信ログ取得部14は、今回のデータ送信に関する通信ログとして通信ログ記憶部24に記憶されている送信成否情報を取得するために、通信ログの取得を中継器200に要求する。
なお、第2のタイミングは、ホスト装置100と中継器200との間に通信障害が発生している状況であるため、通信ログ取得部14が通信ログの取得要求を中継器200に再送しても、それが中継器200に届かない。この場合、ホスト装置100は、自身が送信した通信ログの取得要求が中継器200に届いていないと判断することができるので、通信ログの取得要求を再送する。発生している通信障害が一時的なものであれば、通信障害の復旧後に送信された通信ログの取得要求が中継器200で受信される。これにより、今回のデータ送信に関する通信ログとして通信ログ記憶部24に記憶されている送信成否情報が、通信ログ返信部28によって中継器200から返信されてくる。
ホスト装置100では、第2のタイミングで通信ログ取得部14により取得された送信成否情報により、中継器200から周辺装置300に対するデータ送信が完了していないことが確認された場合には、データ送信部11によるデータ送信を再実行する。一方、第2のタイミングで通信ログ取得部14により取得された送信成否情報により、中継器200から周辺装置300に対するデータ送信が完了したことが確認された場合には、動作状況情報取得部13による動作状況情報の取得を実行する。
図4~図6は、以上のように構成した第1の実施形態による通信ログ管理システムの動作例を示すフローチャートである。図4~図6に示すフローチャートは何れも、ホスト装置100において、周辺装置300の動作実行を指示する操作が入力部103に対して行われたときに開始する。
図4は、ホスト装置100と中継器200との間に通信障害が発生していない場合の基本動作を示すものである。図4において、まず、ホスト装置100の通信ログ取得部14は、通信ログの取得を中継器200に要求する(ステップS1)。この要求に応じて、中継器200の通信ログ返信部28は、通信ログ記憶部24に記憶されている送信成否情報(前回のデータ送信に関するもの)を通信ログとしてホスト装置100に返信する(ステップS2)。
ここで受信する送信成否情報は、上述したように、データ送信部11が中継器200にデータを前回送信したときに、中継器200から周辺装置300に対するデータ転送が完了したか否かを示す通信ログである。ここでは、「送信完了」を示す送信成否情報の受信により、前回はデータ転送が完了したことをホスト装置100にて確認したものとする(ステップS3)。
なお、この時点で「送信不能」を示す送信成否情報を受信した場合は、前回のデータ送信時に中継器200と周辺装置300との間に通信障害などの障害が発生していて、データの転送が完了しないまま動作が終了している可能性がある。そこで、ホスト装置100はエラーメッセージを表示部104に表示して、中継器200と周辺装置300との間における通信障害の状態を確認することをユーザに促すようにしてもよい。
上記ステップS3で、前回のデータ送信に関する送信成否情報が「送信完了」であることを確認した後、ホスト装置100のデータ送信部11は、周辺装置300宛ての動作実行命令を中継器200に送信する(ステップS4)。中継器200のデータ受信部21は、ホスト装置100から送信された動作実行命令を受信する。また、データ転送部22は、当該受信した動作実行命令を周辺装置300に送信する(ステップS5)。
次いで、中継器200の通信ログ記憶部24は、周辺装置300に対するデータ送信が完了したことを示す「送信完了」の送信成否情報を今回の通信ログとして記憶する(ステップS6)。そして、送信成否情報返信部23は、通信ログ記憶部24に記憶された「送信完了」の送信成否情報をホスト装置100に返信する(ステップS7)。
上記ステップS5で中継器200から送信された動作実行命令を受信した周辺装置300では、当該動作実行命令に基づく動作を実行する(ステップS8)。そして、周辺装置300は、その動作実行を正常に終了できたか否かに応じて、Ack信号またはステータス情報の何れかの動作状況情報を中継器200に送信する(ステップS9)。中継器200の動作状況情報受信部25は、周辺装置300から送られてくる動作状況情報を受信する。そして、動作状況情報記憶部26は、動作状況情報受信部25により受信された動作状況情報を記憶する(ステップS10)。
ホスト装置100の動作状況情報取得部13は、上記ステップS7で送信成否情報受信部12が取得した送信成否情報により、中継器200から周辺装置300に対するデータ送信が完了したことを確認した場合、動作状況情報の取得を中継器200に要求する(ステップS11)。動作状況情報返信部27は、ホスト装置100からの要求に応じて、上記ステップS10で動作状況情報記憶部26に記憶された動作状況情報をホスト装置100に送信する(ステップS12)。この動作状況情報の送信後に、動作状況情報記憶部26は、記憶されている動作状況情報を削除する(ステップS13)。
なお、図4のフローチャートでは、ステップS11で動作状況情報取得部13が動作状況情報の取得要求を中継器200に送信する前までに、周辺装置300での動作実行が終了し、動作状況情報記憶部26に動作状況情報が記憶されている例を示している。これに対し、ステップS11で動作状況情報取得部13が動作状況情報の取得要求を中継器200に送信する前までに周辺装置300での動作実行が終了していない場合は、上述のように、動作状況情報返信部27は「受信データなし」の動作状況情報をホスト装置100に送信する。これを受けて動作状況情報取得部13は、Ack信号またはステータス情報の動作状況情報を取得するまで、動作状況情報の取得要求を中継器200に繰り返し送信する。
図5は、ホスト装置100から中継器200に動作実行命令を送信し終わった後にホスト装置100と中継器200の間で通信障害が発生した場合の動作例を示すフローチャートである。図5の例では、中継器200と周辺装置300との間に通信障害は発生していない場合の動作を示している。なお、図5において、図4に示した処理と同様の内容の処理には同じステップ番号を付している。以下、図4と相違する部分を中心に動作を説明する。
図5において、ステップS1~S10の処理は、図4と同様である。ただし、ステップS4でホスト装置100から中継器200に動作実行命令を送信し終わった後に、ホスト装置100と中継器200との間に通信障害が発生したため、ステップS7で中継器200の送信成否情報返信部23が送信した送信成否情報は、ホスト装置100の送信成否情報受信部12で受信されない。
この場合、ステップS4でデータ送信部11が中継器200に動作実行命令を送信してから、送信成否情報を受信することなく所定のタイムアウト時間が経過するので、タイムアウト時間が経過したタイミングで、通信ログ取得部14は通信ログの取得を中継器200に要求する(ステップS14)。この通信ログの取得要求は、ホスト装置100と中継器200との間の一時的な通信障害が復旧するまで繰り返される。
通信障害の復旧後に、中継器200の通信ログ返信部28が通信ログの取得要求を受信すると、通信ログ返信部28は、ステップS6で通信ログ記憶部24に記憶された送信成否情報をホスト装置100に返信する(ステップS15)。図5の例では、中継器200との周辺装置300との間に通信障害は発生していなので、通信ログ記憶部24には「送信完了」の送信成否情報が記憶されている。よって、通信ログ返信部28は、この「送信完了」の送信成否情報をホスト装置100に返信する。
ホスト装置100では、通信ログ取得部14により取得された「送信完了」の送信成否情報により、ステップS4でホスト装置100から中継器200に送信された動作実行命令が周辺装置300に転送されていることを確認する(ステップS16)。この場合、動作実行命令を再度送信することは不要であるため、ステップS11に進んで動作状況情報取得部13による動作状況情報の取得要求を実行する。以下、ステップS11~S13の処理は、図4と同様である。
図6も、ホスト装置100から中継器200に動作実行命令を送信し終わった後に通信障害が発生した場合の動作例を示すフローチャートである。ただし、図6の例では、中継器200と周辺装置300との間にも通信障害が発生している場合の動作を示している。なお、図6において、図4および図5に示した処理と同様の内容の処理には同じステップ番号を付している。また、図6において、同じステップ番号で「’」の記号を付したものは、同じ処理が再実行されたことを意味している。以下、図4および図5と相違する部分を中心に動作を説明する。
図6において、ステップS1~S10の処理は、図4と同様である。ただし、中継器200と周辺装置300との間に通信障害が発生しているため、ステップS5で中継器200のデータ転送部22が送信した動作実行命令は、周辺装置300で受信されない。このため、中継器200と周辺装置300との間の通信障害が復旧して、ステップS5’で中継器200から再送された動作実行命令が周辺装置300で受信されるまでの間、ステップS8における周辺装置300での動作実行の開始が遅延している。また、ステップS6では、ホスト装置100から受信した動作実行命令が破棄されるとともに、「送信不能」の送信成否情報が通信ログ記憶部24に記憶され、ステップS7ではその「送信不能」の送信成否情報がホスト装置100に送信されている。
また、図6の例では、ステップS4でホスト装置100から中継器200に動作実行命令を送信し終わった後に、ホスト装置100と中継器200との間に通信障害が発生したため、ステップS7で中継器200の送信成否情報返信部23が送信した「送信不能」の送信成否情報は、ホスト装置100の送信成否情報受信部12で受信されない。このため、図6の例でも図5に示したステップS14~S16と同様の処理を実行することにより、通信ログ取得部14が中継器200から送信成否情報の通信ログを取得する。図6の例で取得される送信成否情報は、「送信不能」を示すものである。
ホスト装置100では、通信ログ取得部14により取得された「送信不能」の送信成否情報により、ステップS4でホスト装置100から中継器200に送信された動作実行命令が周辺装置300に転送されていないことを確認する(ステップS16)。この場合、データ送信部11は、中継器200に対する動作実行命令の送信を再実行する(ステップS4’)。以下、ステップS4’~S7’において、上記ステップS4~S7と同様の処理が再実行される。このとき、中継器200と周辺装置300との間の通信障害が復旧しているので、ステップS7’で送信成否情報返信部23が送信する送信成否情報は、「送信完了」を示すものに変わっている。以下、ステップS8~S13の処理は、図4と同様である。
以上詳しく説明したように、第1の実施形態では、ホスト装置100に通信ログ取得部14を設けるとともに、中継器200に通信ログ記憶部24および通信ログ返信部28を設け、中継器200から周辺装置300に対するデータ送信の成否を示す送信成否情報を通信ログとして通信ログ記憶部24に記憶し、ホスト装置100の通信ログ取得部14からの要求に応じて当該通信ログを通信ログ返信部28が返信するようにしている。
このように構成した第1の実施形態によれば、ホスト装置100と中継器200との間に通信障害が発生していない場合には、ホスト装置100から中継器200にデータを送信した後に中継器200から返信されてくる送信成否情報に基づいて、中継器200から周辺装置300にデータを送信し終わったか否かを確認することができる。一方、ホスト装置100から中継器200にデータを送信し終わった後にホスト装置100と中継器200との間に通信障害が発生した場合でも、その通信障害の復旧後に、中継器200において通信ログとして記憶しておいた送信成否情報をホスト装置100が中継器200から取得することができるので、通信障害が発生する前にホスト装置100から中継器200に送信したデータを中継器200が周辺装置300に送り終えていたかどうかをホスト装置100にて判断することができる。これにより、ホスト装置100では、データを再送信するか、動作状況情報の取得を要求するか、どちらかを選択して適切な処理を実行することができる。
また、上記第1の実施形態では、データ受信部21がホスト装置100からデータを受信してデータ転送部22がそのデータを周辺装置300に送信しようとしたことの成否が確認されるタイミング毎に通信ログ記憶部24の通信ログ(送信成否情報)を上書きし、上書きの都度ホスト装置100が通信ログを取得できるようにしている。このため、過去の複数回にわたるデータ送信に関する送信成否情報を蓄積していく必要がなく、最新の送信成否情報のみを記憶すればよいので、中継器200に必要とされるメモリ容量を少なくすることができる。
また、上記第1の実施形態では、中継器200はホスト装置100からの要求に応じて通信ログを返信しているため、ホスト装置100がクライアントで中継器200がサーバの関係となる。要求なく中継器200から通信ログを送信するためには、ホスト装置100にさらにサーバ機能を持たせ中継器200がクライアントとなるか、あるいは中継器200に対してサーバの関係となる新たな装置を設ける必要がある。このように、中継器200が通信ログを自発的に送信する構成ではないため、システムを簡易化できる。
また、上記第1の実施形態によれば、中継器200から周辺装置300に対するデータ送信の成否を示す送信成否情報と、周辺装置300における動作実行の結果を示す動作状況情報とを、ホスト装置100と中継器200との間の通信障害の有無に関わらずホスト装置100で取得することができる。そのため、ホスト装置100は、ホスト装置100からの動作実行命令が周辺装置300に送信され実行されたか否か、および、実行されなかった場合には、原因となる問題の発生箇所(中継器200と周辺装置300との間の通信障害か、周辺装置300自体に問題が生じたか)を把握することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。第2の実施形態による通信ログ管理システムの全体構成は、図1と同様である。ただし、ホスト装置100に代えてこれとは機能が一部異なるホスト装置100’を用いるとともに、中継器200に代えてこれとは機能が一部異なる中継器200’を用いる。第2の実施形態は、第1の実施形態で説明した通信ログに加えて第2の通信ログを中継器200’に記憶し、この第2の通信ログもホスト装置100’にて取得できるようにしたものである。
図7は、第2の実施形態によるホスト装置100’および中継器200’の機能構成例を示すブロック図である。なお、この図7において、図3に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図7に示すように、ホスト装置100’は、通信ログ取得部14に代えて通信ログ取得部14’を備えている。また、中継器200’は、通信ログ返信部28に代えて通信ログ返信部28’を備えるとともに、第2の通信ログ記憶部29を更に備えている。
中継器200’の第2の通信ログ記憶部29は、動作状況情報受信部25が動作状況情報を周辺装置300から受信したか否か(動作状況情報記憶部26に動作状況情報が記憶されているか否か)を示す受信有無情報を第2の通信ログとして記憶する。上述したように、周辺装置300では、中継器200’から動作実行命令を受信すると、その動作実行命令に従って所定の動作を実行する。そして、その動作を正常に終了できたか否かに応じて、Ack信号またはステータス情報を動作状況情報として送信する。動作状況情報受信部25は、この動作状況情報を受信する。
周辺装置300が中継器200’から動作実行命令を受信していない状況では、動作状況情報記憶部26に動作状況情報は記憶されていない。この場合、第2の通信ログ記憶部29は、「受信データなし」を示す受信有無情報を第2の通信ログとして記憶する。また、周辺装置300が動作実行命令を受信して動作実行を開始したが、その動作実行がまだ完了しない状況でも、動作状況情報受信部25が周辺装置300から動作状況情報を受信していないため、動作状況情報記憶部26に動作状況情報は記憶されていない。この場合も、第2の通信ログ記憶部29は、「受信データなし」を示す受信有無情報を第2の通信ログとして記憶する。
これに対して、周辺装置300の動作実行が終了し、動作状況情報受信部25が周辺装置300から動作状況情報を受信して動作状況情報記憶部26に記憶させると、第2の通信ログ記憶部29は、「受信データあり」を示す受信有無情報を第2の通信ログとして記憶する。その後、動作状況情報記憶部26に記憶された動作状況情報を動作状況情報返信部27がホスト装置100’に送信すると、動作状況情報記憶部26に記憶されている動作状況情報が削除される。この時点で第2の通信ログ記憶部29は、第2の通信ログの受信有無情報を「受信データあり」から「受信データなし」に更新する。
通信ログ返信部28’は、ホスト装置100’からの要求に応じて、通信ログ記憶部24に記憶されている通信ログ(送信成否情報)および第2の通信ログ記憶部29に記憶されている第2の通信ログ(受信有無情報)をホスト装置100’に返信する。ホスト装置100’の通信ログ取得部14’は、通信ログの取得を中継器200’に要求し、その応答として中継器200’から送信されてくる送信成否情報および受信有無情報を取得する。
ホスト装置100’では、第2のタイミングで通信ログ取得部14’により取得された送信成否情報および受信有無情報により、中継器200’から周辺装置300に対するデータ送信が完了しておらず、かつ、周辺装置300から中継器200’に対する動作状況情報の受信がない(動作状況情報記憶部26に動作状況情報が記憶されていない)ことが確認された場合には、データ送信部11によるデータ送信を実行する。一方、中継器200’から周辺装置300に対するデータ送信が完了し、かつ、受信有無情報により動作状況情報の受信があることが確認された場合には、動作状況情報取得部13による動作状況情報の取得を実行する。
図8~図10は、以上のように構成した第2の実施形態による通信ログ管理システムの動作例を示すフローチャートである。なお、図8~図10は、それぞれ図4~図6に対応するものである。すなわち、図8は、ホスト装置100’と中継器200’との間に通信障害が発生していない場合の基本動作を示し、図9は、ホスト装置100’と中継器200’との間にのみ通信障害が発生している場合の動作を示し、図10は、ホスト装置100’と中継器200’との間および中継器200’と周辺装置300との間に通信障害が発生している場合の動作を示す。
図8~図10では、ステップ番号の符号として「P」を用いるが、図4~図6において「S」の符号で示すステップ番号と同じ番号を付した処理は互いに同様の処理であることを意味する。また、図8~図10においても、同じステップ番号で「’」の記号を付したものは、同じ処理が再実行されたことを意味している。図8~図10において、「ログ1」と記載しているのは送信成否情報を意味し、「ログ2」と記載しているのは受信有無情報を意味する。図8~図10に示すフローチャートは何れも、ホスト装置100’において、周辺装置300の動作実行を指示する操作が入力部103に対して行われたときに開始する。以下、第1の実施形態と相違する部分を中心に動作を説明する。
まず、図8のフローチャートについて説明する。ここでは、図4と相違する部分を中心に説明する。図8において、ステップP2で中継器200’の通信ログ返信部28’は、ホスト装置100’の通信ログ取得部14’からの要求に応じて、通信ログ記憶部24に記憶されている送信成否情報(前回のデータ送信に関するもの)および第2の通信ログ記憶部29に記憶されている受信有無情報(前回のデータ送信に関するもの)をホスト装置100’に返信する。
通信障害がなく前回のデータ送信が完了し、ホスト装置100’による動作状況情報の取得まで終わっている場合、送信成否情報は「送信完了」、受信有無情報は「受信データなし」となっている。ここで、「送信完了」を示す送信成否情報および「受信データなし」を示す受信有無情報の受信により、前回のデータ送信および周辺装置300での動作実行が完了していることをホスト装置100’にて確認すると(ステップP3)、処理はステップP4以降へと進む。ステップP4~P13の処理は、図4に示したステップS4~S10の処理と同様である。
第2の実施形態では、ステップP10の後にステップP21の処理が、ステップP13の後にステップP22の処理がそれぞれ挿入されている。ステップP21において、第2の通信ログ記憶部29は、ステップP9で動作状況情報受信部25が周辺装置300から動作状況情報を受信しステップS10で動作状況情報記憶部26が動作状況情報を記憶したことを受けて、第2の通信ログとして「受信データあり」の受信有無情報を記憶する。また、ステップP22において、第2の通信ログ記憶部29は、ステップP13で動作状況情報記憶部26が動作状況情報を削除したことを受けて、第2の通信ログとしての受信有無情報を「受信データなし」に変更する。
次に、図9のフローチャートについて説明する。ここでは、図5と相違する部分を中心に説明する。図9において、ステップP1~P16(ステップP2,P15,P16を除く)の処理は、図5のステップS1~S16(ステップS2,S15,S16を除く)の処理と同様である。また、ステップP10の後にステップP21の処理が、ステップP13の後にステップP22の処理がそれぞれ挿入される点は、図8と同様である。
図9に示すステップP2の処理は、図8のステップP2の処理と同様である。すなわち、中継器200’の通信ログ返信部28’は、第1のタイミングでホスト装置100’の通信ログ取得部14’から送信される要求に応じて、前回のデータ送信に関する送信成否情報(「送信完了」を示す通信ログ)および受信有無情報(「受信データなし」を示す第2の通信ログ)をホスト装置100’に返信する。
また、ステップP15において、中継器200’の通信ログ返信部28’は、第2のタイミングでホスト装置100’の通信ログ取得部14’から送信される要求に応じて、今回のデータ送信に関する送信成否情報(「送信完了」を示す通信ログ)および受信有無情報(「受信データあり」を示す第2の通信ログ)をホスト装置100’に返信する。ここで、送信成否情報が「送信完了」、受信有無情報が「受信データあり」となっているのは、ホスト装置100’から中継器200’を介して周辺装置300に送信された動作実行命令に応じて周辺装置300が動作を実行し、動作状況情報が周辺装置300から中継器200’に送信されて動作状況情報記憶部26に記憶されているからである。
この場合、ホスト装置100’では、「送信完了」の送信成否情報および「受信データあり」の受信有無情報により、中継器200’から周辺装置300に対するデータ送信が完了していて、かつ、周辺装置300から中継器200’に対する動作状況情報の受信があることを確認すると(ステップP16)、処理はステップP11以降へと進む。ステップP11~P13,P22の処理は、図8に示したステップP11~P13,P22の処理と同様である。
次に、図10のフローチャートについて説明する。ここでは、図6と相違する部分を中心に説明する。図10において、ステップP1~P16(ステップP2,P15,P16を除く)の処理は、図6のステップS1~S16(ステップS2,S15,S16を除く)の処理と同様である。また、ステップP10の後にステップP21の処理が、ステップP13の後にステップP22の処理がそれぞれ挿入される点は、図8と同様である。
図10に示すステップP2の処理は、図8のステップP2の処理と同様である。すなわち、中継器200’の通信ログ返信部28’は、第1のタイミングでホスト装置100’の通信ログ取得部14’から送信される要求に応じて、前回のデータ送信に関する送信成否情報(「送信完了」を示す通信ログ)および受信有無情報(「受信データなし」を示す第2の通信ログ)をホスト装置100’に返信する。
また、ステップP15において、中継器200’の通信ログ返信部28’は、第2のタイミングでホスト装置100’の通信ログ取得部14’から送信される要求に応じて、今回のデータ送信に関する送信成否情報(「送信不能」を示す通信ログ)および受信有無情報(「受信データなし」を示す第2の通信ログ)をホスト装置100’に返信する。ここで、送信成否情報が「送信不能」、受信有無情報が「受信データなし」となっているのは、ホスト装置100’から中継器200’に送信した動作実行命令を周辺装置300に送信することができず、動作実行命令に応じた動作が周辺装置300にて実行されていないからである。
この場合、ホスト装置100’では、「送信不能」の送信成否情報および「受信データなし」の受信有無情報により、中継器200’から周辺装置300に対するデータ送信が完了しておらず、かつ、周辺装置300から中継器200’に対する動作状況情報の受信がないことを確認すると(ステップP16)、処理はステップP4’以降へと進む。ステップP4’~P13,P21,P22の処理は、図6に示したステップS4’~S13および図8に示したステップP21,P22の処理と同様である。
以上詳しく説明したように、第2の実施形態では、ホスト装置100’に通信ログ取得部14’を設けるとともに、中継器200’に通信ログ記憶部24、第2の通信ログ記憶部29および通信ログ返信部28’を設け、中継器200’から周辺装置300に対するデータ送信の成否を示す送信成否情報と、周辺装置300からの動作状況情報の受信の有無を示す受信有無情報とを通信ログ記憶部24および第2の通信ログ記憶部29に記憶し、ホスト装置100’の通信ログ取得部14’からの要求に応じて当該送信成否情報および受信有無情報を通信ログ返信部28’が返信するようにしている。
上述した第1の実施形態では、通信ログ取得部14が通信ログとして中継器200から取得した送信成否情報が「送信完了」を示しているか「送信不能」を示しているかに応じて、動作状況情報取得部13による動作状況情報の取得から処理を続行するか、データ送信部11によるデータ送信から再実行するかを決めていた。この場合、送信成否情報が「送信完了」であることを確認して、動作状況情報取得部13が動作状況情報の取得を中継器200に要求していた。すなわち、中継器200が周辺装置300から実際に動作状況情報を受信済みであるかどうかが不明な状態で、動作状況情報の取得を中継器200に要求していた。
これに対し、上記のように構成した第2の実施形態によれば、通信ログ取得部14’により中継器200’から取得された受信有無情報が「受信データあり」となっていることを確認して、動作状況情報取得部13が動作状況情報の取得を中継器200’に要求している。これにより、中継器200’に動作状況情報が記録されているかどうかが不明な状態で動作状況情報の取得を中継器200’に要求することをなくすことができる。その他、第2の実施形態においても第1の実施形態と同様の効果を奏することが可能である。
なお、ホスト装置100’から中継器200’に動作実行命令を送信し、その応答としてホスト装置100’が中継器200’から送信成否情報を受信するまでは通信障害がなく、ホスト装置100’から中継器200’に動作状況情報の取得要求を送信した後に、ホスト装置100’と中継器200’との間に通信障害が発生することもあり得る。図11は、この場合の動作を示すフローチャートである。
図11において、ステップP1~P12,P21の処理は、図8と同様である。ただし、ステップP11でホスト装置100’から中継器200’に動作状況情報の取得を要求し終わった後に、ホスト装置100’と中継器200’との間に通信障害が発生したため、ステップP12で中継器200’の動作状況情報返信部27が送信した動作状況情報は、ホスト装置100’の動作状況情報取得部13で受信されない。この場合は、この時点からステップP14以降の処理が実行される。ステップP14以降の処理は、図9と同様である。
なお、ここでは、第2の実施形態による通信ログ管理システムにおいて、ホスト装置100’から中継器200’に動作状況情報の取得を要求し終わった後に通信障害が発生した場合の動作例を示したが、第1の実施形態による通信ログ管理システムにおいて、ホスト装置100から中継器200に動作状況情報の取得を要求し終わった後に通信障害が発生した場合にも同様に適用することが可能である。
上記第1および第2の実施形態では、データ送信部11によるデータ送信の直前である第1のタイミングと、データ送信部11が中継器200にデータを送信してから送信成否情報を受信することなくタイムアウト時間が経過した第2のタイミング(図11の場合は、動作状況情報取得部13が中継器200’に動作状況情報の取得要求を送信してから動作状況情報を受信することなくタイムアウト時間が経過したタイミング)とにおいて通信ログ(第2の実施形態の場合は第2の通信ログを含む)の取得を要求する例について説明したが、第2のタイミングのみとしてもよい。また、第1のタイミングおよび第2のタイミングに加えて、任意のタイミングで通信ログの取得を要求するようにしてもよい。
また、上記第1および第2の実施形態では、データ受信部21がホスト装置100,100’からデータを受信してデータ転送部22がそのデータを周辺装置300に送信しようとしたことの成否が確認されるタイミング毎に通信ログ記憶部24の通信ログ(送信成否情報)を上書きする例について説明したが、本発明はこれに限定されない。例えば、第2の通信ログ記憶部29に記憶する第2の通信ログ(受信有無情報)と同様に、中継器200,200’からホスト装置100,100’に送信成否情報を送信した時点で削除するようにしてもよい。
ただし、上記実施形態のように構成することにより、通信ログ記憶部24から送信成否情報をわざわざ削除する処理を省くことでき、処理負荷を軽減できる点で好ましい。また、中継器200,200’からホスト装置100,100’に対する送信成否情報の送信が完了したか否かを確認して削除することが好ましいが、この確認を確実に行うことができない場合もあるため、送信成否情報返信部23が送信成否情報をホスト装置100,100’に送信する都度削除するのではなく、データ受信部21が次のデータを受信してデータ転送部22がそのデータを周辺装置300に送信しようとしたことの成否が確認されたときに生成される送信成否情報で上書きするのが好ましい。
また、ホスト装置100,100’と中継器200,200’とがWebSocketと呼ばれる技術を使ってデータ通信を行っている場合も、上記第1および第2の実施形態を適用することが可能である。WebSocketは、ウェブアプリケーションにおいて双方向通信を実現するための技術規格である。WebSocketによるデータ通信では、最初に接続を確立するために、クライアント側がまずハンドシェイク要求を送り、サーバ側はハンドシェイク応答を返す。接続が確立されるまではクライアント-サーバの関係があるが、接続が確立された後は双方向通信が可能となる。このようなWebSocketを使ってホスト装置100,100’と中継器200,200’とがデータ通信を行っている場合にも、本実施形態のように中継器200,200’に通信ログを記憶することで、通信途中に障害が発生した場合においても、次回接続時に通信ログを確認することにより、直前の通信が成立したか否かを判断することが可能である。
また、上記第2の実施形態において、送信成否情報および受信有無情報に加え、ホスト装置100’から中継器200’に送信された動作実行命令の受信の有無を示す「送信データ有無情報」を第3の通信ログとして中継器200’に記憶するようにしてもよい。この場合、図8に示すフローチャートにおいて、中継器200’のデータ受信部21がホスト装置100’から動作実行命令を受信すると(ステップP4)、「送信データあり」を示す送信データ有無情報を中継器200’に記憶する。その後、動作実行命令が周辺装置300に送信され(ステップP5)、その送信が完了すると、ステップP6のタイミングで送信データ有無情報を「送信データなし」に書き換える。ステップP5において中継器200’から周辺装置300に動作実行命令を送信できなかった場合は、中継器200’はその動作実行命令を破棄し、ステップP6のタイミングで送信データ有無情報を「送信データなし」に書き換える。ステップP2では、送信成否情報および受信有無情報に送信データ有無情報を加えた3つの通信ログを中継器200’からホスト装置100’に返信する。
このように送信データ有無情報を第3の通信ログとして併用することにより、送信データの流れをホスト装置100’にてより詳細に把握することが可能となる。
また、上記第1および第2の実施形態では、第1の通信プロトコルの例としてLAN通信のプロトコル、第2の通信プロトコルの例としてシリアル通信のプロトコルを挙げて説明したが、本発明はこれに限定されない。すなわち、ホスト装置100,100’と周辺装置300との間で異なるプロトコルの通信を仲介する中継器を持つシステムであれば、本発明を適用することが可能である。例えば、第2の通信プロトコルの別の例として、有線または無線によるUSB(Universal Serial Bus)やBluetooth(登録商標)などを用いてもよい。
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
11 データ送信部
12 送信成否情報受信部
13 動作状況情報取得部
14,14’ 通信ログ取得部
21 データ受信部
22 データ転送部
23 送信成否情報返信部
24 通信ログ記憶部
25 動作状況情報受信部
26 動作状況情報記憶部
27 動作状況情報返信部
28,28’ 通信ログ返信部
29 第2の通信ログ記憶部
100,100’ ホスト装置
200,200’ 中継器
300 周辺装置

Claims (12)

  1. ホスト装置と周辺装置との間に中継器を接続してデータ通信を行うシステムにおいて、上記中継器における通信ログを管理するシステムであって、
    上記中継器は、
    上記ホスト装置から上記周辺装置宛てのデータを第1の通信プロトコルに則り受信するデータ受信部と、
    上記データ受信部により受信されたデータを上記周辺装置に第2の通信プロトコルに則り送信するデータ転送部と、
    上記ホスト装置から送信された上記データに対する応答として、上記周辺装置に対するデータ送信の成否を示す送信成否情報を上記ホスト装置に返信する送信成否情報返信部と、
    上記送信成否情報を通信ログとして記憶する通信ログ記憶部と、
    上記ホスト装置からの要求に応じて上記通信ログを返信する通信ログ返信部とを備え、
    上記ホスト装置は、
    上記周辺装置宛てのデータを上記第1の通信プロトコルに則り上記中継器に送信するデータ送信部と、
    上記データ送信部が上記データを上記中継器に送信したことに対する応答として、上記中継器から送信されてくる上記送信成否情報を受信する送信成否情報受信部と、
    上記通信ログの取得を上記中継器に要求し、その応答として上記中継器から上記通信ログとして送信されてくる上記送信成否情報を取得する通信ログ取得部とを備え
    上記通信ログ記憶部は、上記ホスト装置と上記中継器との間の通信障害の有無によらず、上記データ受信部が次のデータを受信するまで今回のデータに関する送信成否情報を上記通信ログとして記憶し、上記データ受信部が次のデータを受信して上記データ転送部が当該次のデータを上記周辺装置に送信しようとしたことの成否が確認されたときに、当該次のデータに関する送信成否情報によって上記今回のデータに関する送信成否情報を上書きすることにより上記通信ログを更新する
    ことを特徴とする中継器における通信ログ管理システム。
  2. 上記通信ログ取得部は、上記データ送信部が送信したデータが上記中継器に届いたことを確認した後、その応答として上記送信成否情報が返信されてこない場合に、上記通信ログの取得を要求することを特徴とする請求項1に記載の中継器における通信ログ管理システム。
  3. 上記中継器は、
    上記データ転送部が上記データを上記周辺装置に送信したことに対する応答として、上記周辺装置から送信されてくる動作状況情報を受信する動作状況情報受信部と、
    上記動作状況情報受信部により受信された上記動作状況情報を記憶する動作状況情報記憶部と、
    上記ホスト装置からの要求に応じて上記動作状況情報を返信する動作状況情報返信部とを更に備え、
    上記ホスト装置は、
    上記中継器から上記周辺装置に対するデータ送信が完了したことを上記送信成否情報により確認した場合に、上記動作状況情報の取得を上記中継器に要求し、その応答として上記中継器から送信されてくる上記動作状況情報を取得する動作状況情報取得部を更に備えた
    ことを特徴とする請求項1または2に記載の中継器における通信ログ管理システム。
  4. 上記ホスト装置は、上記通信ログ取得部により取得された上記送信成否情報により上記中継器から上記周辺装置に対するデータ送信が完了していないことが確認された場合には、上記データ送信部によるデータ送信を実行する一方、上記通信ログ取得部により取得された上記送信成否情報により上記中継器から上記周辺装置に対するデータ送信が完了したことが確認された場合には、上記動作状況情報取得部による上記動作状況情報の取得を実行することを特徴とする請求項に記載の中継器における通信ログ管理システム。
  5. 上記中継器は、上記動作状況情報受信部が上記動作状況情報を上記周辺装置から受信したか否かを示す受信有無情報を第2の通信ログとして記憶する第2の通信ログ記憶部を更に備え、
    上記動作状況情報記憶部は、上記動作状況情報返信部が上記ホスト装置に対して上記動作状況情報を返信した時点で上記動作状況情報を削除し、
    上記通信ログ返信部は、上記ホスト装置からの要求に応じて上記通信ログおよび上記第2の通信ログを返信し、
    上記通信ログ取得部は、上記通信ログの取得を上記中継器に要求し、その応答として上記中継器から送信されてくる上記送信成否情報および上記受信有無情報を取得する
    ことを特徴とする請求項に記載の中継器における通信ログ管理システム。
  6. 上記ホスト装置は、上記通信ログ取得部により取得された上記送信成否情報および上記受信有無情報により、上記中継器から上記周辺装置に対するデータ送信が完了しておらず、かつ、上記周辺装置から上記中継器に対する上記動作状況情報の受信がないことが確認された場合には、上記データ送信部によるデータ送信を実行する一方、上記中継器から上記周辺装置に対するデータ送信が完了し、かつ、上記動作状況情報の受信があることが確認された場合には、上記動作状況情報取得部による上記動作状況情報の取得を実行することを特徴とする請求項に記載の中継器における通信ログ管理システム。
  7. ホスト装置と周辺装置との間におけるデータ通信を中継する中継器であって、
    上記ホスト装置から上記周辺装置宛てのデータを第1の通信プロトコルに則り受信するデータ受信部と、
    上記データ受信部により受信されたデータを上記周辺装置に第2の通信プロトコルに則り送信するデータ転送部と、
    上記ホスト装置から送信された上記データに対する応答として、上記周辺装置に対するデータ送信の成否を示す送信成否情報を上記ホスト装置に返信する送信成否情報返信部と、
    上記送信成否情報を通信ログとして記憶する通信ログ記憶部と、
    上記ホスト装置からの要求に応じて上記通信ログを返信する通信ログ返信部とを備え
    上記通信ログ記憶部は、上記ホスト装置と上記中継器との間の通信障害の有無によらず、上記データ受信部が次のデータを受信するまで今回のデータに関する送信成否情報を上記通信ログとして記憶し、上記データ受信部が次のデータを受信して上記データ転送部が当該次のデータを上記周辺装置に送信しようとしたことの成否が確認されたときに、当該次のデータに関する送信成否情報によって上記今回のデータに関する送信成否情報を上書きすることにより上記通信ログを更新する
    ことを特徴とする中継器。
  8. 上記データ転送部が上記データを上記周辺装置に送信したことに対する応答として、上記周辺装置から送信されてくる動作状況情報を受信する動作状況情報受信部と、
    上記動作状況情報受信部により受信された上記動作状況情報を記憶する動作状況情報記憶部と、
    上記ホスト装置からの要求に応じて上記動作状況情報を返信する動作状況情報返信部とを更に備えた
    ことを特徴とする請求項に記載の中継器。
  9. 上記動作状況情報受信部が上記動作状況情報を上記周辺装置から受信したか否かを示す受信有無情報を第2の通信ログとして記憶する第2の通信ログ記憶部を更に備え、
    上記動作状況情報記憶部は、上記動作状況情報返信部が上記ホスト装置に対して上記動作状況情報を返信した時点で上記動作状況情報を削除し、
    上記通信ログ返信部は、上記ホスト装置からの要求に応じて上記通信ログおよび上記第2の通信ログを返信する
    ことを特徴とする請求項に記載の中継器。
  10. 請求項に記載の中継器を介して周辺装置との間でデータ通信を行うホスト装置であって、
    上記周辺装置宛てのデータを第1の通信プロトコルに則り上記中継器に送信するデータ送信部と、
    上記データ送信部が上記データを上記中継器に送信したことに対する応答として、上記中継器から送信されてくる上記送信成否情報を受信する送信成否情報受信部と、
    上記データ送信部が送信したデータが上記中継器に届いたことを確認した後、その応答として上記送信成否情報が返信されてこない場合に、上記通信ログの取得を上記中継器に要求し、その応答として上記中継器から上記通信ログとして送信されてくる上記送信成否情報を取得する通信ログ取得部とを備えた
    ことを特徴とするホスト装置。
  11. 請求項に代えて請求項に記載の中継器を介して周辺装置との間でデータ通信を行うホスト装置であって、
    上記中継器から上記周辺装置に対するデータ送信が完了したことを上記送信成否情報により確認した場合に、上記動作状況情報の取得を上記中継器に要求し、その応答として上記中継器から送信されてくる上記動作状況情報を取得する動作状況情報取得部を更に備えた
    ことを特徴とする請求項10に記載のホスト装置。
  12. 請求項に代えて請求項に記載の中継器を介して周辺装置との間でデータ通信を行うホスト装置であって、
    上記通信ログ取得部は、上記通信ログの取得を上記中継器に要求し、その応答として上記中継器から送信されてくる上記送信成否情報および上記受信有無情報を取得する
    ことを特徴とする請求項11に記載のホスト装置。
JP2019014366A 2019-01-30 2019-01-30 中継器における通信ログ管理システム、中継器およびホスト装置 Active JP7280477B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019014366A JP7280477B2 (ja) 2019-01-30 2019-01-30 中継器における通信ログ管理システム、中継器およびホスト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019014366A JP7280477B2 (ja) 2019-01-30 2019-01-30 中継器における通信ログ管理システム、中継器およびホスト装置

Publications (2)

Publication Number Publication Date
JP2020123129A JP2020123129A (ja) 2020-08-13
JP7280477B2 true JP7280477B2 (ja) 2023-05-24

Family

ID=71992733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019014366A Active JP7280477B2 (ja) 2019-01-30 2019-01-30 中継器における通信ログ管理システム、中継器およびホスト装置

Country Status (1)

Country Link
JP (1) JP7280477B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106920A (ja) 2012-11-29 2014-06-09 Ricoh Co Ltd セキュリティ管理システム、入力制御機器、セキュリティ管理方法およびプログラム
JP2016076824A (ja) 2014-10-07 2016-05-12 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
WO2017042879A1 (ja) 2015-09-08 2017-03-16 三菱電機株式会社 制御システムおよび設備機器管理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10178511A (ja) * 1996-12-16 1998-06-30 Ricoh Co Ltd 通信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106920A (ja) 2012-11-29 2014-06-09 Ricoh Co Ltd セキュリティ管理システム、入力制御機器、セキュリティ管理方法およびプログラム
JP2016076824A (ja) 2014-10-07 2016-05-12 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
WO2017042879A1 (ja) 2015-09-08 2017-03-16 三菱電機株式会社 制御システムおよび設備機器管理装置

Also Published As

Publication number Publication date
JP2020123129A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
CN102368700B (zh) 一种分布式系统中消息的传递方法
CN102025474B (zh) 一种网络数据传输方法
CN109274466B (zh) 一种中间件报文传输方法及系统
JPH0846666A (ja) 信号メッセージの交換制御装置
US11269701B2 (en) Device control apparatus, device control method, and device control system
CN110493775B (zh) 通过att和异常处理来适配的通信方法及系统
JP6745821B2 (ja) ハイパーテキスト・トランスファ・プロトコル要求の再送方法及びデバイス並びにクライアント端末
WO2019062074A1 (zh) 一种车载设备数据传输方法和装置
KR100605880B1 (ko) 클라이언트와 서버 간의 메시지 파일 송신 방법
JP7280477B2 (ja) 中継器における通信ログ管理システム、中継器およびホスト装置
JP2003337717A (ja) オンライントランザクション処理の障害時復旧同期システム
CN112395237A (zh) 一种至少两个控制器之间通信的方法及其系统
CN112055088B (zh) 一种基于光闸的文件可靠传输系统及其方法
WO2013123857A1 (zh) 文件传输方法、即时通信终端及系统、计算机存储介质
CN112767722B (zh) 交通信号机的控制方法、装置、计算机设备和存储介质
CN108599903B (zh) 单板启动控制方法和装置
KR101019055B1 (ko) 네트워크 상에서 데이터 전송 시 신뢰성 유지 방법 및 장치
CN111417116B (zh) 通过att、读写和异常处理来适配的通信方法及系统
JP4759418B2 (ja) メッセージ回復システムおよび回復方法
JPH06315059A (ja) 画像形成装置の遠隔管理システム
JP2014170288A (ja) メッセージ配信システム、メッセージ配信方法
JP2024043809A (ja) デバイス管理システム
JPS5844837A (ja) 信号伝送方法
KR100279559B1 (ko) Lan을 이용한 교환기 소프트웨어 전송방법
JP2776274B2 (ja) 中継計算機における仮想バッファ制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221220

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: 20230411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230424

R150 Certificate of patent or registration of utility model

Ref document number: 7280477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150