説明

応答確認装置、応答確認方法、およびプログラム

【課題】本発明では、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供する。
【解決手段】複数の端末装置がネットワークを介して接続された応答確認装置であって、前記複数の端末装置との間の通信を制御する通信制御部と、前記端末装置からの応答の有無を管理する応答管理部と、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、を有し、前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信する応答確認装置により、上記課題の解決を図る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、応答確認装置、応答確認方法、およびプログラムに関する。
【背景技術】
【0002】
例えば、競馬・競輪の発売・払い戻しシステムでは、制御装置と複数台の端末とが同一ネットワークを介して接続され、制御装置から複数台の端末へ、レースの発売開始、発売停止などをブロードキャストで一斉配信している。このとき端末は、レース発売開始や停止を制御装置から受信することで、該当レースの端末状態を発売開始、または発売停止に変更する。それらは、端末の発売状況の画面表示や、投票券購入依頼(例えば、マークカードの読み取り)の内容の確認のために使用される。
【0003】
このようなブロードキャストで一斉配信されたデータに対し、同一ネットワーク上に接続される全端末が正常に受信した旨の応答を行うと、制御装置は、全端末からほぼ同時にデータ受信することになる。よって、制御装置の受信処理が間に合わず、何台かの端末の応答が破棄される可能性がある。
【0004】
また、端末が制御装置からの通信を受信できていない場合、当然のことながら、端末が発売開始や発売停止とならず、運用上問題が発生する。そのため、端末からの応答が来なかった場合、リトライ送信することになるが、再度ブロードキャスト送信すると、また同様に制御装置の受信処理が間に合わず、何台かの応答が破棄される可能性があり、リトライの意味がなくなってしまう。
【0005】
そのため、ブロードキャストによるデータ配信において、端末は応答しないというインタフェース規定が用いられる場合がある。このとき、制御装置は、一定回数ブロードキャスト送信を繰り返し、そのうち1回でも端末側で受信できればよいという、不確実な方法でデータ送信することになる。よって、端末側で受信できていないことを制御装置側で検知することができず、端末が発売開始や停止にならないまま放置状態になる危険性がある。
【0006】
そこで、例えば、同報情報を送信する親局と、同報情報を受信する複数の子局を備えたシステムにおいて、グループ化された複数の子局の中に、代表子局と、従子局が定められる例がある。このとき、代表子局は、自局の応答情報と、同一グループ内の全従子局の応答情報とに基づく情報を送信する(例えば、特許文献1参照)。また、送信サイト上の送信ソフトウエアで定義した階層構造に基づき、上位階層が下位階層からの通信を受けてから確認応答を順次上位階層へ送信する方法もある(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平4−13318号公報
【特許文献2】特開平7−200505号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記のように複数の局をグループ化したり、階層構造を利用したりする場合に、例えば代表子局や、上位階層の局が故障したような場合には、その局に情報を送信する局の情報が全て親局に届かなくなってしまうという問題がある。
【0009】
上記課題に鑑み、本発明では、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供する。
【課題を解決するための手段】
【0010】
一つの態様である応答確認装置は、複数の端末装置がネットワークを介して接続され、前記複数の端末装置との間の通信を制御する通信制御部と、前記端末装置からの応答の有無を管理する応答管理部と、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、を有し、前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信することを特徴としている。
【0011】
別の態様である端末装置は、応答確認装置とネットワークを介して接続され、前記応答確認装置から送信されたデータにより設定された応答先の端末装置を認識する応答先認識部と、前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する子端末管理部と、前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外であると認識した場合には、認識された応答先に通信を行う通信制御部と、を有することを特徴としている。
【0012】
別の態様である応答確認方法は、複数の端末装置がネットワークを介して接続された応答確認装置が、前記複数の端末装置へ送信を行う処理と、前記端末装置からの応答の有無を管理する処理と、前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、を有することを特徴としている。
【0013】
さらにまた別の態様である応答確認方法は、応答確認装置とネットワークを介して接続された端末装置が、前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、を有することを特徴としている。
【0014】
なお、上述した本発明に係る方法をコンピュータに行わせるためのプログラムであっても、このプログラムを当該コンピュータによって実行させることにより、上述した本発明に係る方法と同様の作用・効果を奏するので、前述した課題が解決される。
【発明の効果】
【0015】
本発明によれば、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【0016】
【図1】一実施の形態による応答確認システムの構成を示す図である。
【図2】一実施の形態による制御装置のハードウエア構成の一例を示す図である。
【図3】一実施の形態による端末装置のハードウエア構成の一例を示す図である。
【図4】一実施の形態による制御装置の機能を示すブロック図である
【図5】一実施の形態による端末装置の機能を示すブロック図である。
【図6】一実施の形態による応答先情報の一例を示す図である。
【図7】一実施の形態による送信するデータの一例を示す図である。
【図8A】一実施の形態による正常な一斉通信のシーケンスを示す図である。
【図8B】一実施の形態による正常な一斉通信のシーケンスを示す図である。
【図9A】一実施の形態によるエラーのある一斉通信のシーケンスを示す図である。
【図9B】一実施の形態によるエラーのある一斉通信のシーケンスを示す図である。
【図10】一実施の形態による代表端末管理テーブルの構成の一例を示す図である。
【図11A】一実施の形態による代表端末管理テーブルの具体例を示す図である。
【図11B】一実施の形態による通信の受信順を説明する図である。
【図12】一実施の形態による制御装置の通常通信の動作を示すフローチャートである。
【図13】一実施の形態による代表端末設定処理の動作を示すフローチャートである。
【図14】一実施の形態による端末装置の通常通信の動作を示すフローチャートである。
【図15A】一実施の形態による制御装置の一斉通信の動作を示すフローチャートである。
【図15B】一実施の形態による制御装置の一斉通信の動作を示すフローチャートである。
【図16A】一実施の形態による制御装置のリトライ送信処理の動作を示すフローチャートである。
【図16B】一実施の形態による制御装置のリトライ送信処理の動作を示すフローチャートである。
【図17】一実施の形態による端末装置の一斉送信受信の動作を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の一実施の形態による応答確認システムについて説明する。図1は、本実施の形態による応答確認システム1の構成を示す図である。図1に示すように、本実施の形態による応答確認システム1は、制御装置3と複数の端末装置7−0、7−1、・・・、7−N(Nは2以上の整数:以下、まとめて、あるいは代表して端末装置7ともいう)とが、ネットワーク5を介して接続されたシステムである。応答確認システム1は、例えば、公営競技の発売・払戻システムなどに利用される。
【0018】
図2は、制御装置3のハードウエア構成の一例を示す図である。図2に示すように、制御装置3は、CPU(Central Processing Unit)11、ROM(Read Only Memory)13、RAM(Random Access Memory)15、タイマ17、入出力部18、および通信回路19を有している。
【0019】
CPU11は、制御装置3全体の動作を制御する演算処理装置である。ROM13は、例えば、制御装置3の基本的な動作を制御するプログラムを予め記憶する記憶部である。RAM15は、例えば、制御装置3において、CPU11により実行される各種制御プログラムを記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。入出力部18は、例えばキーボード装置、マウス装置などの入力装置、および表示装置などの出力装置である。入力装置は、制御装置3の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をCPU11に送付する装置である。出力装置は、制御装置3による処理結果を出力する装置であり、CPU11により送付される表示データに応じてテキストや画像を表示する。
【0020】
タイマ17は、制御装置3内部における時間を管理する計時装置であり、例えば、送信を行ってからの時間を計測する。CPU11は、例えばRAM15に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることもできる。通信回路19は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。
【0021】
制御装置3に応答確認装置としての処理を実行させるプログラムは、例えばRAM15に記憶させる。CPU11は、RAM15からプログラムを読み出し、制御装置3に、応答確認の動作を行なわせる。
【0022】
図3は、端末装置7のハードウエア構成の一例を示す図である。図3に示すように、端末装置7は、CPU21、ROM23、RAM25、タイマ27、入出力部28、および通信回路29を有している。
【0023】
CPU21は、端末装置7全体の動作を制御する演算処理装置である。ROM23は、例えば、タイマ17の基本的な動作を制御するプログラムを予め記憶する記憶部である。RAM25は、例えば、端末装置7において、CPU21により実行される各種制御プログラムを記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。入出力部28は、例えばキーボード装置、マウス装置などの入力装置、および表示装置などの出力装置である。入力装置は、端末装置7の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をCPU21に送付する装置である。出力装置は、端末装置7による処理結果を出力する装置であり、CPU21により送付される表示データに応じてテキストや画像を表示する。
【0024】
タイマ27は、端末装置7内部における時間を管理する計時装置であり、例えば、制御装置3からの通信を受信してからの時間を計測する。CPU21は、例えばRAM25に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることもできる。通信回路29は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。端末装置7に各処理を実行させるプログラムは、例えばRAM25に記憶させる。CPU21は、RAM25からプログラムを読み出し、端末装置7に、各動作を行なわせる。
【0025】
図4は、制御装置3の機能を示すブロック図である。図4に示すように、制御装置3は、RAM15に記憶されたプログラムを実行することにより、制御部31、代表端末管理部33、応答先設定部35、応答管理部37、タイマ監視部39、および通信制御部41として機能する。
【0026】
制御部31は、代表端末管理部33、応答先設定部35、応答管理部37、タイマ監視部39、および通信制御部41の動作を制御する。代表端末管理部33は、制御装置3に接続された端末装置7の中から、所定数の代表端末を設定し、動作を管理する。応答先設定部35は、代表端末管理部33が設定した代表端末以外の端末(以下、子端末という)の応答先を設定する。応答管理部37は、各端末装置7からの応答の有無などを管理する。タイマ監視部39は、制御装置3内の時間を管理する。通信制御部41は、端末装置7との間の通信を制御する。
【0027】
図5は、端末装置7の機能を示すブロック図である。図5に示すように、端末装置7は、RAM25に記憶されたプログラムを実行することにより、制御部43、応答先認識部45、子端末管理部47、タイマ監視部49、および通信制御部51として機能する。
【0028】
制御部43は、応答先認識部45、子端末管理部47、タイマ監視部49、および通信制御部51の動作を制御する。応答先認識部45は、制御装置3からの通信を解析し、指定された応答先の端末を認識する。子端末管理部47は、制御装置3から代表端末に指定されている場合に、子端末からの応答を管理する。タイマ監視部49は、端末装置7内の時間を管理する。通信制御部51は、制御装置3および子端末となる端末装置7との間の通信を制御する。
【0029】
上記のような応答確認システム1で、例えば制御装置3と最大100台の端末が接続されたシステムがあるとする。制御装置3のパケット受信バッファが、20台分あるとした場合、20台からの応答は確実に受信可能である。なお、100台分のバッファを準備すれば、100台からの応答は受信可能ではあるが、100台分のバッファを処理する状態が連続した場合に、他の処理がまったく動作せず、システム的に問題となる場合がある。すなわち、制御装置3より上位のホストとの通信がまったく動作しなくなり、ホストが制御装置3を異常と認識して制御装置3を切り離しするなどの問題である。よって、通常は、性能的な余力を残してバッファ数が決定される。
【0030】
そこで、余力を残して通信が可能な台数を代表端末とし、他の端末は、通信を代表端末に対して行うようにする。このとき、応答先設定部35は、各端末装置7の応答先を設定し、例えばRAM15に記録する。
【0031】
ここで、代表端末を20台決定する場合について説明する。図6は、設定された代表端末と各端末の応答先を示す応答先情報一例を示す図である。図6に示すように、制御装置3と、端末装置7−0〜7−99(以下、単に端末7−0等ともいう)とが接続されたシステムにおいて、代表端末を、端末7−0、7−5、7−10、・・・、7−95の20台に設定したとする。このとき、端末7−0〜7−4は、応答先情報60の欄64〜72に示すように、応答先が端末7−0と設定されている。以下同様に、100台の端末装置7のそれぞれに、応答先が設定されている。
【0032】
図7は、送信するデータの一例を示す図である。図7に示すように、端末装置7への通信を行う際は、例えばデータ80が生成される。応答確認システム1において、全ての端末に送信するデータ80は、ヘッダ82、応答先領域84、送信データ86を有している。応答先領域84は、端末7−0〜7−99のそれぞれについて、応答先88、90、・・・、96を有し、全ての端末装置7の応答先が設定されている。すなわち、応答先領域84には応答先情報60が記載されている。
【0033】
図8A、8Bは、正常な一斉通信のシーケンス100を示す図である。図8A、8Bに示すように、まず、制御装置3が全ての端末装置7に一斉通信を行う。通信102は、一斉通信を表す。各端末装置7は、送信されたデータ80において自身の応答先領域84を参照し、自身の端末番号が格納されていた場合には、代表端末としてタイマ監視部39により不図示の監視タイマを起動し、自身が応答を監視する監視対象の子端末からの応答待ち状態となる。自身の応答先領域84に他の端末番号が格納されていた場合は、その端末に向けて正常受信した旨の応答データを送信する。
【0034】
このように各端末装置7は、応答先領域84に指定された代表端末に返信を行う。通信104は、子端末となった各端末装置7から代表端末への通信を表わす。各代表端末は、自身が応答先に指定されている各子端末すべてから応答データを受信するか、タイムアウトした場合、対象端末の応答有無を通信106のように制御装置3に送信する。
【0035】
このとき、制御装置3は、代表端末からの応答で、ネットワーク上のすべての端末の応答有無を確認する。なお、代表端末が異常の場合にそなえ、制御装置3自身も、一斉通信を行ってからの時間を計測し、一斉通信の応答をタイマ監視しておく。
【0036】
図9A、9Bは、エラーのある一斉通信のシーケンス110を示す図である。図9A、9Bに示すように、制御装置3は、全ての端末装置7に一斉通信を行う。通信112は、一斉通信を表す。各端末装置7は、応答先領域84に指定された代表端末に通信114のように返信を行う。このとき、エラー116のように、端末7−14から端末7−10への応答が正常に受信されなかったとする。端末7−10は、制御装置3からの通信を受信してから所定時間経過すると、それまでに受信できた分の応答を制御装置3に返信する。
【0037】
また、この例では、通信118において、端末7−20から制御装置3への通信にもエラー120が発生している。端末7−20は、全ての子端末からの通信を正常に受信したが、制御装置3には応答が届かないことになる。このとき、制御装置3は、正常に受信できなかった端末7−14、7−20〜7−24に対して、通信124のようにもう一度同じ内容の送信を行うリトライを実行する。
【0038】
このように、代表端末からの応答データにおいて、応答がなかった端末(代表端末からの応答がなかった場合は、その代表端末自身とその代表端末が応答監視すべき対象の端末すべて)がある場合、リトライ送信を行う。このとき、例えばRAM15に、全端末装置7(例えば100台分)の記憶領域(例えば、応答先領域84を用いてもよい)を設け、正常応答した端末の領域には、再送信不要を示す値(たとえば00)を格納する。応答がなかった端末については、制御装置3自身が確実に受信可能な台数分(例では20台)を上限として、該当端末の番号を格納する。応答がなかった端末数が、制御装置3自身が確実に受信可能な台数を超え(例では21台以上)ている場合は、リトライを数回に分けて行う。
【0039】
確実に受信可能な台数が20台の場合、20台までは1回で、40台までは2回、60台までは3回、80台までは4回、100台までは5回に分けて送信することになる。しかし、通常はすべて正常応答するため、1回の送信で処理が完了する場合がほとんどである。リトライでも応答がない端末装置7があった場合には、通信復旧するまでリトライ対象外とすることで、システム的に大きな負荷になることを防止する。
【0040】
なお、上記のような一斉通信のデータ送信時のために代表端末を指定する場合、代表端末として、応答がある可能性が高い端末を選択するべきである。そこで例えば、正常受信した通信の発信元の端末装置7を時系列にリンクし、より受信時刻が新しい通信の発信元の端末装置7を選択する。
【0041】
ここで、図10、図11A,図11Bを参照しながら代表端末設定処理について説明する。以下、説明の都合上、制御装置3に接続された端末が、端末7−0〜7−9の10台である場合を例にして説明する。図10は、代表端末管理テーブル500の構成の一例を示す図、図11Aは、代表端末管理テーブル500の具体例を示す図、図11Bは、通信の受信順を説明する図である。代表端末管理テーブル500は、制御装置3の、例えばRAM15に記憶されている。
【0042】
図10に示すように、代表端末管理テーブル500は、端末装置7の端末番号502と、リンク元504、およびリンク先506を示している。リンク元504とは、制御装置3が正常にデータを受信した通信の受信時刻が、該当端末番号の端末装置7からの通信より1つ新しい通信の発信元の端末番号である。リンク先506とは、制御装置3が正常にデータを受信した受信時刻が、該当端末番号の端末装置7からの通信の受信時刻より1つ古い通信の発信元の端末番号である。
【0043】
代表端末管理テーブル500は、この端末番号502、リンク元504、リンク先506を全端末分格納する。ここで、制御装置3が最新に正常に受信した通信の発信元である端末装置7の端末番号は、図10に示す代表端末管理テーブル500の最上欄の「最新」のリンク先506に表示される。また、図10、図11A,図11Bにおいて、端末装置7−nの端末番号は、記載の都合上、単に「n」と記載する。
【0044】
図11Aは、制御装置3が正常に受信した順が端末番号で新しい方から「7→1→0→8→9→2→3→5→6→4」である状態のテーブルを示している。すなわち、例えば、図11Aの代表端末管理テーブル520の欄522に示すように、制御装置3により最新に正常に受信された通信は「最新」のリンク先番号=「7」に対応する端末7−7が発信元である。端末7−7からの通信よりも1つ古い通信の発信元の端末装置7は、欄524に示すように、端末7−7のリンク先番号=「1」に対応する端末7−1である。このとき、欄526に示すように、端末7−7からの通信の次に受信が確認される通信の発信元の端末はまだ不明であるので、「−」と記載されている。また、端末7−1からの通信よりも1つ古い通信の発信元の端末装置7は、欄528に示すように、端末7−1のリンク先番号=「0」に対応する端末7−0である。このとき、欄530に示すように、端末7―1からの通信の次に受信が確認された通信の発信元の端末は、端末7−1のリンク元番号=「7」であると記載されている。
【0045】
このように、順次代表端末管理テーブル500においてリンク先を見ていくことにより、1つ前に受信が確認された通信の発信元の端末装置7を順次確認できる。また、順次代表端末管理テーブル500においてリンク元を見て行くことにより、新しく受信が確認された通信の発信元の端末装置7を順次確認できる。
【0046】
ここで、参考のために、受信が確認された順に端末装置7とそのリンク元、リンク先を並べたものが、図11Bに示したテーブル600である。テーブル600に示すように、端末番号602における新しく受信が確認された「7→1→0→8→9→2→3→5→6→4」の順番を、一つ古い方にずらした情報がリンク元604、一つ新しい方にずらした情報がリンク先606として格納されていることになる。
【0047】
以下、代表端末管理テーブル520の状態で、端末7−5から正常データを受信した場合の処理について説明する。まず、代表端末管理テーブル520において、「最新」のリンク先番号522が、端末7−5に対応する端末番号「5」ではないことが確認される。このとき、代表端末管理テーブル540のように、端末7−5のリンク元番号542の「3」に対応する端末7−3のリンク先番号546が、端末7−5のリンク先番号548の「6」に更新される。端末7−5のリンク先番号548の「6」に対応する端末7−6のリンク元番号544は、端末7−5のリンク元番号542の「3」に更新される。
【0048】
次に、代表端末管理テーブル560のように、最新の受信端末7−5のリンク先である端末7−7のリンク元番号562は、今回受信した通信の発信元の端末7−5に対応する「5」に更新される。
【0049】
最後に、代表端末管理テーブル580のように、今回受信した通信の発信元である端末7−5のリンク元番号582は、リンクなしを示す「−」、端末7−5のリンク先番号586は、最新に受信した通信の発信元の端末7−7に対応する「7」に更新される。また、最新受信端末のリンク先番号584は、今回受信した通信の発信元の端末7−5に対応する「5」に更新される。なお、100台の端末装置7が備えられる場合は、代表端末管理テーブル500を100台分とし、上記と同様の手順で更新する。
【0050】
この代表端末管理テーブル500を用いて、正常受信した通信の発信元の端末装置7を、受信が新しい順に選択する場合は、例えば代表端末管理テーブル580において、第1に、最新受信端末のリンク先番号584の「5」に対応する端末装置7−5が選択される。第2に、端末番号「5」のリンク先番号586の「7」に対応する端末装置7−7が選択される。第3に、端末番号「7」のリンク先番号588の「1」に対応する端末装置7−1が選択される。以下、同様に、順にリンク先の端末番号を検索していくことにより、所望の台数の代表端末が指定される。
【0051】
以下、上記のように構成される応答確認システム1の動作について、フローチャートを参照しながらさらに説明する。応答確認システム1においては、2種類の通信が行われる。一つは、制御装置3と個々の端末装置7との間で行われる通信(以下、通常通信という)であり、他は、制御装置3から複数の端末装置7へ一斉に送信を行う一斉通信である。
【0052】
まず、通常通信の動作について説明する。図12は、制御装置3の通常通信の動作を示すフローチャートである。図12に示すように、制御部31は、タイマ監視部39より監視される不図示のリトライカウンタをゼロに設定する(S201)。リトライカウンタとは、送信を行ったが、端末装置7からの応答が確認できない場合に、再度送信を行う回数を計数するカウンタである。
【0053】
通信制御部41は、通信の宛先の端末装置7のアドレスを設定し(S202)、送信データを設定する(S203)。タイマ監視部39は、制御部31が通信制御部41を介して送信を起動すると同時に、不図示の監視タイマを起動する(S204)。このとき、制御部31は、監視タイマに、応答を監視する所定時間を設定する。
【0054】
応答管理部37は、監視タイマに設定された所定時間内に、データを送信した端末装置7からの応答があるか否かを判別する(S205)。応答がない場合には(S205:NO)、制御部31は、リトライカウンタが所定のカウント数を超えているか否か判別する(S206)。リトライカウンタのカウント数が、所定のカウント数以下の場合には(S206:NO)、制御部31は、リトライカウンタの値に1を加え(S207)、処理をS202に戻す。リトライカウンタのカウント数が所定のカウント数を越えた場合には(S206:YES)、制御部31は、処理をエラー終了する。S205で、所定時間内に応答が検出されると(S205:YES)、代表端末設定処理を行い(S208)、制御部31は、制御装置3を正常に終了する。
【0055】
ここで、図13を参照しながら代表端末設定処理について説明する。図13は、代表端末設定処理の動作を示すフローチャートである。図13に示すように、まず、代表端末管理部33は、「a」を、通信制御部41を介して受信した、通常通信における最新の正常受信電文の端末番号に設定する(S401)。図11Aの代表端末管理テーブル520の例ではa=5であるとする。
【0056】
代表端末管理部33は、最新のリンク先の端末番号が「a」であるか否か、判別する(S402)。最新のリンク先が「a」である場合には、代表端末管理部33は、代表端末設定処理を終了する(S402:YES)。図11Aの代表端末管理テーブル520の例では、最新のリンク先は「7」である(S402:NO)。
【0057】
代表端末管理部33は、「X」を、端末aのリンク元の端末番号とする(S403)。代表端末管理部33は、「Y」を、端末aのリンク先の端末番号とする(S404)。また、代表端末管理部33は、「Z」を、最新のリンク先の端末番号とする(S405)。図11Aの代表端末管理テーブル520の例では、X=3、Y=6、Z=7である。
【0058】
代表端末管理部33は、「X」のリンク先の端末番号を、「a」のリンク先の端末番号(「Y」)に書き換える(S406)。代表端末管理部33は、「Y」のリンク元の端末番号を、「a」のリンク元の端末番号(「X」)に書き換える(S407)。代表端末管理部33は、「Z」のリンク元の端末番号を、「a」とする(S408)。
【0059】
代表端末管理部33は、「a」のリンク元の端末番号を、「−」とする(S409)とともに、「a」のリンク先の端末番号を、最新のリンク先の端末番号(「Z」)とする(S410)。さらに、代表端末管理部33は、最新のリンク先の端末番号を「a」に書き換える(S411)。以上の処理を、正常な受信が行われるたびに繰り返すことにより、常に受信時刻が新しい順を保持しておき、最新の所定台数の代表端末を設定する。
【0060】
図14は、端末装置7の通常通信の動作を示すフローチャートである。端末装置7の通信制御部51は、制御装置3からの通信を受信するまで監視を行う(S211:NO)。受信が確認されると(S211:YES)、通信制御部51は、応答を送信する(S212)。
【0061】
次に、応答確認システム1における一斉通信の動作について説明する。図15A、15Bは、制御装置3の一斉通信の動作を示すフローチャートである。図15Aに示すように、制御部31は、タイマ監視部39より監視される不図示のリトライカウンタをゼロに設定する(S221)。
【0062】
応答先設定部35は、例えば、応答先情報60において、代表端末の応答先を代表端末自身の端末番号に設定し(S222)、代表端末以外の子端末の応答先に、代表端末の端末番号を均等に設定する(S223)。通信制御部41は、一斉通信のためのブロードキャストアドレスを設定する(S224)とともに、送信データを設定する(S225)。
【0063】
タイマ監視部39は、制御部31が通信制御部41を介して送信を起動すると同時に、不図示の監視タイマを起動する(S226)。このとき、制御部31は、監視タイマに、応答を監視する所定時間を設定する。
【0064】
応答管理部37は、監視タイマに設定された所定時間内に、代表端末からの応答があるか否かを判別する(S227)。S227で、所定時間内に応答が検出されると(S227:YES)、応答管理部37は、応答電文中の応答のあった端末番号を、例えばRAM15に記録する(S228)。このとき、応答管理部37は、例えばRAM15に、不図示の応答管理テーブルを作成し、全端末装置7について応答の有無を記録するようにしてもよい。S227で、所定時間内に応答が検出されないと(S227:NO)、制御部31は、処理をS231に進める。
【0065】
応答管理部37は、全ての端末装置7から応答があったか否かを判別し、あった場合には(S229:YES)、一斉通信を正常に終了する。タイマ監視部39で設定された所定時間内に、全端末装置7からの応答がない場合には(S229:NO)、応答管理部37は、全代表端末からの応答が受信されたか否かを判別する(S230)。全代表端末からの応答が確認できた場合には(S230:YES)、制御部31は、処理をS231に進める。いずれかの代表端末からの応答が受信できない場合には(S230:NO)、制御部31は、S227に処理を戻す。
【0066】
図15Bに示すように、通信制御部41は、送信対象を、応答がなかった端末全てに設定し(S231)、リトライ送信処理を行う(S232)。リトライ送信処理の詳細は後述する。リトライ送信の結果、全端末装置7からの応答が確認されると(S233:YES)、制御部31は処理を正常に終了する。全端末装置7からの応答が確認できない場合には(S233:NO)、制御部31は、リトライカウンタが、所定数を上回ってリトライアウトになっているか否かを判別する(S234)。リトライアウトの場合には(S234:YES)、制御部31は、処理をエラー終了させる。リトライアウトしていない場合には(S234:NO)、制御部31は、リトライカウンタに1を加え(S235)、処理をS231に戻す。
【0067】
次に、図16A、16Bを参照しながら、制御装置3のリトライ送信処理について説明する。図16A、16Bは、制御装置3のリトライ送信処理を示すフローチャートである。図16Aに示すように、まず制御部31は、変数n=0、m=0とする(S251)。ここで、変数nは、端末番号、変数mは、リトライ対象端末数を示す。応答管理部37は、端末番号=nが送信対象であるか否かを、上述のようにRAM15に記録された、例えば不図示の応答管理テーブルで確認する(S252)。
【0068】
端末番号=nの端末装置7が送信対象でない場合には(S252:NO)、制御部31は、処理をS255に進める。端末番号=nの端末装置7が送信対象である場合には(S252:YES)、制御部31は、端末番号=nの応答先端末番号=端末番号nとし(S253)、m=m+1として(S254)、処理をS255に進める。
【0069】
S255において、n=n+1としてS256へ進める。制御部31は、m<全代表端末数であるか否かを判別する(S256)。m<全代表端末数でない場合には(S256:NO)、制御部31は処理をS258に進める。m<全代表端末数である場合には(S256:YES)、制御部31は、n<総端末数であるか否かを判別する(S257)。n<総端末数である場合には(S257:YES)、制御部31は、処理をS252に戻す。n<総端末数でない場合には(S257:NO)、通信制御部41は、リトライ通信のためのブロードキャストアドレスを設定する(S258)とともに、送信データを設定する(S259)。
【0070】
図16Bに示すように、タイマ監視部39は、制御部31が通信制御部41を介して送信を起動するとともに、不図示の監視タイマを起動する(S260)。このとき、制御部31は、監視タイマに、応答を監視する所定時間を設定する。
【0071】
応答管理部37は、監視タイマに設定された所定時間内に、リトライ送信した各端末装置7からの応答があるか否かを判別する(S261)。S261で、所定時間内に応答が検出されると(S261:YES)、応答管理部37は、応答電文中の応答のあった端末番号を、例えばRAM15に記録する(S262)。このとき、応答管理部37は、例えばRAM15に、不図示の応答管理テーブルを作成し、全端末装置7について応答の有無を記録するようにしてもよい。S261で所定時間内に応答がない場合には(S261:NO)、制御部31は、処理をS264に進める。
【0072】
応答管理部37は、リトライ対象の全ての端末装置7から応答があったか否かを判別し、応答がない場合には(S263:NO)、処理をS261に戻す。リトライ対象の全ての端末装置7からの応答があった場合には(S263:YES)、応答管理部37は、n<総端末数であるか否か判別し(S264)、n<総端末数の場合には(S264:YES)、処理をS252に戻す。n<総端末数でない場合には(S264:NO)、リトライ送信処理を終了する。
【0073】
タイマ監視部39で設定された所定時間内に、リトライ対象の全ての端末装置7からの応答がない場合には(S261:NO)、n<総端末数であるか否か判別し(S264)、n<総端末数の場合には(S264:YES)、処理をS252に戻す。n<総端末数の場合には(S264:YES)、リトライ送信処理を終了する。
【0074】
次に、図17を参照しながら、端末装置7の一斉送信受信の動作を説明する。図17は、端末装置7の一斉送信受信の動作を示すフローチャートである。図17に示すように、端末装置7の応答先認識部45は、受信したデータ80において、応答先が自身の端末番号であるか否かを判別する(S301)。
【0075】
応答先が自身の端末番号でない場合には(S301:NO)、通信制御部51は、該当する応答先領域84に記載された端末装置7に応答を送信し(S302)、処理を終了する。
【0076】
応答先が自身の端末番号である場合には(S301:YES)、子端末管理部47は、応答先領域84から、自身の番号が応答先に指定されている子端末を抽出する(S303)。子端末管理部47は、応答を監視する対象の子端末がゼロ台であるか否かを判別する(S304)。監視対象の子端末がゼロ台である場合(S304:YES)、制御部41は、処理をS310に進める。
【0077】
監視対象の子端末がゼロ台でない場合(S304:NO)、タイマ監視部49は、監視タイマを起動し(S305)、時間内に子端末からの応答があるか否かを判別する(S306)。子端末からの応答があった場合(S306:YES)、子端末管理部47は、応答があった子端末の端末番号を記録し(S307)、応答があった端末を、監視対象の子端末から削除し(S308)、監視対象の子端末がゼロ台であるか否か再び判別する(S309)。子端末からの応答がないままタイムアウトした場合には(S306:NO)、制御部43は、処理をS310に進める。
【0078】
監視対象の子端末がゼロ台である場合(S309:YES)、制御部43は、処理をS310に進める。監視対象の子端末がゼロ台でない場合(S309:NO)、制御部41は、処理をS306に戻す。
S310では、通信制御部51は、自身の端末番号と、応答を受信した子端末の端末番号とを制御装置3に送信し、応答処理を終了する。
【0079】
以上説明したように、本実施の形態による応答確認システム1によれば、制御装置3と複数台の端末装置7が接続されるシステム構成で、制御装置3から端末装置7への送信が、通常通信または一斉送信で行われる。通常通信において、制御装置3は、正常に受信された通信の発信元の端末装置7の端末番号を、受信時刻の順に常に代表端末管理テーブル500に記録および更新させている。代表端末の台数は、制御装置3が一度に確実にデータを受信できる数であることが好ましい。
【0080】
制御装置3が、一斉通信でデータを送信する場合、代表端末管理テーブル500に基づき所定数の端末装置7を代表端末に設定する。送信するデータ80には、各端末番号と、各端末が応答を行う代表端末の番号とを関連付けて応答先領域84に記録する。データ80を受信した端末装置7は、応答先領域84を参照して自身が代表端末であるか否かと、代表端末である場合には応答を監視する子端末、代表端末でない場合には応答先の端末番号を認識することにより、代表端末または子端末としての動作を行なう。このとき、応答は、データ80を受信した旨を示す情報を含む。
【0081】
制御装置3は、一斉送信を行ってから所定時間内に応答が確認できない端末に対しては、リトライ送信を行う。このとき、一斉に送信する端末装置7の台数は、制御装置3が一度に確実に受信を行える、例えば代表端末の台数を越えないことが好ましい。一度に送信できないリトライ送信がある場合には複数回に分けて行なう。
【0082】
以上のように、本実施の形態による応答確認システム1によれば、常に新しく受信が正常に行えた端末装置7を代表端末とするので、代表端末が故障しているという事態を避けることができる。また、代表端末が故障することで、故障した代表端末の子端末の送信まで障害が生じる可能性を低減させることができる。
【0083】
代表端末の台数を制御装置3が確実に受信可能な台数とすることで、ネットワーク5に接続される複数台の端末装置7へ一斉送信した際に、端末装置7からの応答を破棄することなく制御装置3で受信することが可能である。さらに、応答がない端末にはリトライ送信を行うため、さらに確実に送信を行うことができる。
【0084】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。例えば、制御装置3、端末装置7の構成、機能は、上記の例に限定されず、同様の作用効果を奏するものであれば、本発明の範囲である。
【0085】
代表端末を設定する方法については、代表端末管理テーブル500を用いる方法に限定されない。任意の台数を、新しく受信が確認できた端末装置7から選択可能な方法であれば、別な方法でもよい。例えば、代表端末管理テーブル500の端末番号とリンク先のデータのみを用いるようにしてもよい。代表端末数分の記憶領域に、受信が確認できた順に端末番号を格納していくなどの方法も考えられる。このとき、端末番号が既に格納されている番号と重なった場合には、既に格納されていた番号を最新の順に並び替えるなどの方法で、常に所定台数の端末装置7の番号を格納しておくことができる。
【符号の説明】
【0086】
1 応答確認システム
3 制御装置
5 ネットワーク
7 端末装置
11 CPU
13 ROM
15 RAM
17 タイマ
18 入出力部
19 通信回路
21 CPU
23 ROM
25 RAM
27 タイマ
28 入出力部
29 通信回路
31 制御部
33 代表端末管理部
35 応答先設定部
37 応答管理部
39 タイマ監視部
41 通信制御部
43 制御部
45 応答先認識部
47 子端末管理部
49 タイマ監視部
51 通信制御部
80 データ
82 ヘッダ
84 応答先領域
86 送信データ
500 代表端末管理テーブル

【特許請求の範囲】
【請求項1】
複数の端末装置がネットワークを介して接続された応答確認装置であって、
前記複数の端末装置との間の通信を行う通信制御部と、
前記端末装置からの応答の有無を管理する応答管理部と、
前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、
複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、
を有し、
前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信することを特徴とする応答確認装置。
【請求項2】
前記通信制御部は、さらに、前記複数の端末装置のいずれかと個別に送受信を行う個別通信を行い、
前記代表端末管理部は、前記個別通信において、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を前記代表端末として管理する、
ことを特徴とする請求項1に記載の応答確認装置。
【請求項3】
前記代表端末管理部は、前記個別通信において、前記新しく応答が確認された端末装置を、1つ前に応答が確認された端末装置と関連付けて前記応答の順を認識することにより前記代表端末を管理することを特徴とする請求項2に記載の応答確認装置。
【請求項4】
前記応答管理部は、前記一斉通信に対する前記複数の端末装置からの応答の有無を確認し、
前記通信制御部は、前記応答管理部が確認した応答がない端末装置に前記個別通信、または前記一斉通信を行うことを特徴とする請求項2または請求項3に記載の応答確認装置。
【請求項5】
応答確認装置とネットワークを介して接続された端末装置であって、
前記応答確認装置から送信されたデータにより設定された応答先の端末装置を認識する応答先認識部と、
前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する子端末管理部と、
前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外であると認識した場合には、認識された応答先に通信を行う通信制御部と、
を有することを特徴とする端末装置。
【請求項6】
請求項1から請求項4のいずれかの応答確認装置と、請求項5に記載の複数の端末装置とがネットワークを介して接続されたシステム。
【請求項7】
複数の端末装置がネットワークを介して接続された応答確認装置が、
前記複数の端末装置へ送信を行う処理と、
前記端末装置からの応答の有無を管理する処理と、
前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、
複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、
前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、
を有することを特徴とする応答確認方法。
【請求項8】
応答確認装置とネットワークを介して接続された端末装置が、
前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、
前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、
前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、
を有することを特徴とする応答確認方法。
【請求項9】
複数の端末装置がネットワークを介して接続された応答確認装置において、
前記複数の端末装置へ送信を行う処理と、
前記端末装置からの応答の有無を管理する処理と、
前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、
複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、
前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、
をコンピュータに実行させるためのプログラム。
【請求項10】
応答確認装置とネットワークを介して接続された端末装置において、
前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、
前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、
前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11B】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図16A】
image rotate

【図16B】
image rotate

【図17】
image rotate

【図11A】
image rotate


【公開番号】特開2013−106097(P2013−106097A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−246850(P2011−246850)
【出願日】平成23年11月10日(2011.11.10)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】