(57)【要約】【課題】本発明では、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供する。【解決手段】複数の端末装置がネットワークを介して接続された応答確認装置であって、前記複数の端末装置との間の通信を制御する通信制御部と、前記端末装置からの応答の有無を管理する応答管理部と、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、を有し、前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信する応答確認装置により、上記課題の解決を図る。【選択図】図４
2013106097.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置がネットワークを介して接続された応答確認装置であって、
前記複数の端末装置との間の通信を行う通信制御部と、
前記端末装置からの応答の有無を管理する応答管理部と、
前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、
複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、
を有し、
前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信することを特徴とする応答確認装置。
【請求項２】
前記通信制御部は、さらに、前記複数の端末装置のいずれかと個別に送受信を行う個別通信を行い、
前記代表端末管理部は、前記個別通信において、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を前記代表端末として管理する、
ことを特徴とする請求項１に記載の応答確認装置。
【請求項３】
前記代表端末管理部は、前記個別通信において、前記新しく応答が確認された端末装置を、１つ前に応答が確認された端末装置と関連付けて前記応答の順を認識することにより前記代表端末を管理することを特徴とする請求項２に記載の応答確認装置。
【請求項４】
前記応答管理部は、前記一斉通信に対する前記複数の端末装置からの応答の有無を確認し、
前記通信制御部は、前記応答管理部が確認した応答がない端末装置に前記個別通信、または前記一斉通信を行うことを特徴とする請求項２または請求項３に記載の応答確認装置。
【請求項５】
応答確認装置とネットワークを介して接続された端末装置であって、
前記応答確認装置から送信されたデータにより設定された応答先の端末装置を認識する応答先認識部と、
前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する子端末管理部と、
前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外であると認識した場合には、認識された応答先に通信を行う通信制御部と、
を有することを特徴とする端末装置。
【請求項６】
請求項１から請求項４のいずれかの応答確認装置と、請求項５に記載の複数の端末装置とがネットワークを介して接続されたシステム。
【請求項７】
複数の端末装置がネットワークを介して接続された応答確認装置が、
前記複数の端末装置へ送信を行う処理と、
前記端末装置からの応答の有無を管理する処理と、
前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、
複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、
前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、
を有することを特徴とする応答確認方法。
【請求項８】
応答確認装置とネットワークを介して接続された端末装置が、
前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、
前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、
前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、
を有することを特徴とする応答確認方法。
【請求項９】
複数の端末装置がネットワークを介して接続された応答確認装置において、
前記複数の端末装置へ送信を行う処理と、
前記端末装置からの応答の有無を管理する処理と、
前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、
複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、
前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、
をコンピュータに実行させるためのプログラム。
【請求項１０】
応答確認装置とネットワークを介して接続された端末装置において、
前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、
前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、
前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答確認装置、応答確認方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば、競馬・競輪の発売・払い戻しシステムでは、制御装置と複数台の端末とが同一ネットワークを介して接続され、制御装置から複数台の端末へ、レースの発売開始、発売停止などをブロードキャストで一斉配信している。このとき端末は、レース発売開始や停止を制御装置から受信することで、該当レースの端末状態を発売開始、または発売停止に変更する。それらは、端末の発売状況の画面表示や、投票券購入依頼（例えば、マークカードの読み取り）の内容の確認のために使用される。
【０００３】
このようなブロードキャストで一斉配信されたデータに対し、同一ネットワーク上に接続される全端末が正常に受信した旨の応答を行うと、制御装置は、全端末からほぼ同時にデータ受信することになる。よって、制御装置の受信処理が間に合わず、何台かの端末の応答が破棄される可能性がある。
【０００４】
また、端末が制御装置からの通信を受信できていない場合、当然のことながら、端末が発売開始や発売停止とならず、運用上問題が発生する。そのため、端末からの応答が来なかった場合、リトライ送信することになるが、再度ブロードキャスト送信すると、また同様に制御装置の受信処理が間に合わず、何台かの応答が破棄される可能性があり、リトライの意味がなくなってしまう。
【０００５】
そのため、ブロードキャストによるデータ配信において、端末は応答しないというインタフェース規定が用いられる場合がある。このとき、制御装置は、一定回数ブロードキャスト送信を繰り返し、そのうち１回でも端末側で受信できればよいという、不確実な方法でデータ送信することになる。よって、端末側で受信できていないことを制御装置側で検知することができず、端末が発売開始や停止にならないまま放置状態になる危険性がある。
【０００６】
そこで、例えば、同報情報を送信する親局と、同報情報を受信する複数の子局を備えたシステムにおいて、グループ化された複数の子局の中に、代表子局と、従子局が定められる例がある。このとき、代表子局は、自局の応答情報と、同一グループ内の全従子局の応答情報とに基づく情報を送信する（例えば、特許文献１参照）。また、送信サイト上の送信ソフトウエアで定義した階層構造に基づき、上位階層が下位階層からの通信を受けてから確認応答を順次上位階層へ送信する方法もある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−１３３１８号公報
【特許文献２】特開平７−２００５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記のように複数の局をグループ化したり、階層構造を利用したりする場合に、例えば代表子局や、上位階層の局が故障したような場合には、その局に情報を送信する局の情報が全て親局に届かなくなってしまうという問題がある。
【０００９】
上記課題に鑑み、本発明では、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供する。
【課題を解決するための手段】
【００１０】
一つの態様である応答確認装置は、複数の端末装置がネットワークを介して接続され、前記複数の端末装置との間の通信を制御する通信制御部と、前記端末装置からの応答の有無を管理する応答管理部と、前記端末装置のうち、前記応答管理部により新しく応答が確認された所定数の端末装置を代表端末として管理する代表端末管理部と、複数の前記端末装置に一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する応答先設定部と、を有し、前記通信制御部は、前記一斉通信を行い、前記一斉通信において、前記応答先設定部が設定した応答先を含む情報を送信することを特徴としている。
【００１１】
別の態様である端末装置は、応答確認装置とネットワークを介して接続され、前記応答確認装置から送信されたデータにより設定された応答先の端末装置を認識する応答先認識部と、前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する子端末管理部と、前記応答先認識部が、前記応答先を前記端末装置自身であると認識すると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外であると認識した場合には、認識された応答先に通信を行う通信制御部と、を有することを特徴としている。
【００１２】
別の態様である応答確認方法は、複数の端末装置がネットワークを介して接続された応答確認装置が、前記複数の端末装置へ送信を行う処理と、前記端末装置からの応答の有無を管理する処理と、前記端末装置のうち、新しく応答が確認された所定数の端末装置を代表端末として管理する処理と、複数の前記端末装置へ一斉に送信を行う一斉通信において、前記端末装置の応答先を前記代表端末のいずれかに設定する処理と、前記一斉通信を行い、前記一斉通信において、設定された応答先を含む情報を前記端末装置に送信する処理と、を有することを特徴としている。
【００１３】
さらにまた別の態様である応答確認方法は、応答確認装置とネットワークを介して接続された端末装置が、前記応答確認装置により送信されたデータにより設定された応答先の端末装置を認識する処理と、前記応答先が前記端末装置自身であると認識すると、前記端末装置自身が応答先と設定された子端末装置からの通信を管理する処理と、前記応答先が前記端末装置自身であると認識されると、前記子端末装置からの通信を受信し、受信した前記通信をまとめて前記応答確認装置に送信し、前記応答先が前記端末装置自身以外の場合には、認識された応答先に通信を行う処理と、を有することを特徴としている。
【００１４】
なお、上述した本発明に係る方法をコンピュータに行わせるためのプログラムであっても、このプログラムを当該コンピュータによって実行させることにより、上述した本発明に係る方法と同様の作用・効果を奏するので、前述した課題が解決される。
【発明の効果】
【００１５】
本発明によれば、情報の受信確認を確実に行なうことができ、端末の故障時にも柔軟に対応が可能な応答確認装置、応答確認方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】一実施の形態による応答確認システムの構成を示す図である。
【図２】一実施の形態による制御装置のハードウエア構成の一例を示す図である。
【図３】一実施の形態による端末装置のハードウエア構成の一例を示す図である。
【図４】一実施の形態による制御装置の機能を示すブロック図である
【図５】一実施の形態による端末装置の機能を示すブロック図である。
【図６】一実施の形態による応答先情報の一例を示す図である。
【図７】一実施の形態による送信するデータの一例を示す図である。
【図８Ａ】一実施の形態による正常な一斉通信のシーケンスを示す図である。
【図８Ｂ】一実施の形態による正常な一斉通信のシーケンスを示す図である。
【図９Ａ】一実施の形態によるエラーのある一斉通信のシーケンスを示す図である。
【図９Ｂ】一実施の形態によるエラーのある一斉通信のシーケンスを示す図である。
【図１０】一実施の形態による代表端末管理テーブルの構成の一例を示す図である。
【図１１Ａ】一実施の形態による代表端末管理テーブルの具体例を示す図である。
【図１１Ｂ】一実施の形態による通信の受信順を説明する図である。
【図１２】一実施の形態による制御装置の通常通信の動作を示すフローチャートである。
【図１３】一実施の形態による代表端末設定処理の動作を示すフローチャートである。
【図１４】一実施の形態による端末装置の通常通信の動作を示すフローチャートである。
【図１５Ａ】一実施の形態による制御装置の一斉通信の動作を示すフローチャートである。
【図１５Ｂ】一実施の形態による制御装置の一斉通信の動作を示すフローチャートである。
【図１６Ａ】一実施の形態による制御装置のリトライ送信処理の動作を示すフローチャートである。
【図１６Ｂ】一実施の形態による制御装置のリトライ送信処理の動作を示すフローチャートである。
【図１７】一実施の形態による端末装置の一斉送信受信の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施の形態による応答確認システムについて説明する。図１は、本実施の形態による応答確認システム１の構成を示す図である。図１に示すように、本実施の形態による応答確認システム１は、制御装置３と複数の端末装置７−０、７−１、・・・、７−Ｎ（Ｎは２以上の整数：以下、まとめて、あるいは代表して端末装置７ともいう）とが、ネットワーク５を介して接続されたシステムである。応答確認システム１は、例えば、公営競技の発売・払戻システムなどに利用される。
【００１８】
図２は、制御装置３のハードウエア構成の一例を示す図である。図２に示すように、制御装置３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、タイマ１７、入出力部１８、および通信回路１９を有している。
【００１９】
ＣＰＵ１１は、制御装置３全体の動作を制御する演算処理装置である。ＲＯＭ１３は、例えば、制御装置３の基本的な動作を制御するプログラムを予め記憶する記憶部である。ＲＡＭ１５は、例えば、制御装置３において、ＣＰＵ１１により実行される各種制御プログラムを記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。入出力部１８は、例えばキーボード装置、マウス装置などの入力装置、および表示装置などの出力装置である。入力装置は、制御装置３の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をＣＰＵ１１に送付する装置である。出力装置は、制御装置３による処理結果を出力する装置であり、ＣＰＵ１１により送付される表示データに応じてテキストや画像を表示する。
【００２０】
タイマ１７は、制御装置３内部における時間を管理する計時装置であり、例えば、送信を行ってからの時間を計測する。ＣＰＵ１１は、例えばＲＡＭ１５に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることもできる。通信回路１９は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。
【００２１】
制御装置３に応答確認装置としての処理を実行させるプログラムは、例えばＲＡＭ１５に記憶させる。ＣＰＵ１１は、ＲＡＭ１５からプログラムを読み出し、制御装置３に、応答確認の動作を行なわせる。
【００２２】
図３は、端末装置７のハードウエア構成の一例を示す図である。図３に示すように、端末装置７は、ＣＰＵ２１、ＲＯＭ２３、ＲＡＭ２５、タイマ２７、入出力部２８、および通信回路２９を有している。
【００２３】
ＣＰＵ２１は、端末装置７全体の動作を制御する演算処理装置である。ＲＯＭ２３は、例えば、タイマ１７の基本的な動作を制御するプログラムを予め記憶する記憶部である。ＲＡＭ２５は、例えば、端末装置７において、ＣＰＵ２１により実行される各種制御プログラムを記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。入出力部２８は、例えばキーボード装置、マウス装置などの入力装置、および表示装置などの出力装置である。入力装置は、端末装置７の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をＣＰＵ２１に送付する装置である。出力装置は、端末装置７による処理結果を出力する装置であり、ＣＰＵ２１により送付される表示データに応じてテキストや画像を表示する。
【００２４】
タイマ２７は、端末装置７内部における時間を管理する計時装置であり、例えば、制御装置３からの通信を受信してからの時間を計測する。ＣＰＵ２１は、例えばＲＡＭ２５に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることもできる。通信回路２９は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。端末装置７に各処理を実行させるプログラムは、例えばＲＡＭ２５に記憶させる。ＣＰＵ２１は、ＲＡＭ２５からプログラムを読み出し、端末装置７に、各動作を行なわせる。
【００２５】
図４は、制御装置３の機能を示すブロック図である。図４に示すように、制御装置３は、ＲＡＭ１５に記憶されたプログラムを実行することにより、制御部３１、代表端末管理部３３、応答先設定部３５、応答管理部３７、タイマ監視部３９、および通信制御部４１として機能する。
【００２６】
制御部３１は、代表端末管理部３３、応答先設定部３５、応答管理部３７、タイマ監視部３９、および通信制御部４１の動作を制御する。代表端末管理部３３は、制御装置３に接続された端末装置７の中から、所定数の代表端末を設定し、動作を管理する。応答先設定部３５は、代表端末管理部３３が設定した代表端末以外の端末（以下、子端末という）の応答先を設定する。応答管理部３７は、各端末装置７からの応答の有無などを管理する。タイマ監視部３９は、制御装置３内の時間を管理する。通信制御部４１は、端末装置７との間の通信を制御する。
【００２７】
図５は、端末装置７の機能を示すブロック図である。図５に示すように、端末装置７は、ＲＡＭ２５に記憶されたプログラムを実行することにより、制御部４３、応答先認識部４５、子端末管理部４７、タイマ監視部４９、および通信制御部５１として機能する。
【００２８】
制御部４３は、応答先認識部４５、子端末管理部４７、タイマ監視部４９、および通信制御部５１の動作を制御する。応答先認識部４５は、制御装置３からの通信を解析し、指定された応答先の端末を認識する。子端末管理部４７は、制御装置３から代表端末に指定されている場合に、子端末からの応答を管理する。タイマ監視部４９は、端末装置７内の時間を管理する。通信制御部５１は、制御装置３および子端末となる端末装置７との間の通信を制御する。
【００２９】
上記のような応答確認システム１で、例えば制御装置３と最大１００台の端末が接続されたシステムがあるとする。制御装置３のパケット受信バッファが、２０台分あるとした場合、２０台からの応答は確実に受信可能である。なお、１００台分のバッファを準備すれば、１００台からの応答は受信可能ではあるが、１００台分のバッファを処理する状態が連続した場合に、他の処理がまったく動作せず、システム的に問題となる場合がある。すなわち、制御装置３より上位のホストとの通信がまったく動作しなくなり、ホストが制御装置３を異常と認識して制御装置３を切り離しするなどの問題である。よって、通常は、性能的な余力を残してバッファ数が決定される。
【００３０】
そこで、余力を残して通信が可能な台数を代表端末とし、他の端末は、通信を代表端末に対して行うようにする。このとき、応答先設定部３５は、各端末装置７の応答先を設定し、例えばＲＡＭ１５に記録する。
【００３１】
ここで、代表端末を２０台決定する場合について説明する。図６は、設定された代表端末と各端末の応答先を示す応答先情報一例を示す図である。図６に示すように、制御装置３と、端末装置７−０〜７−９９（以下、単に端末７−０等ともいう）とが接続されたシステムにおいて、代表端末を、端末７−０、７−５、７−１０、・・・、７−９５の２０台に設定したとする。このとき、端末７−０〜７−４は、応答先情報６０の欄６４〜７２に示すように、応答先が端末７−０と設定されている。以下同様に、１００台の端末装置７のそれぞれに、応答先が設定されている。
【００３２】
図７は、送信するデータの一例を示す図である。図７に示すように、端末装置７への通信を行う際は、例えばデータ８０が生成される。応答確認システム１において、全ての端末に送信するデータ８０は、ヘッダ８２、応答先領域８４、送信データ８６を有している。応答先領域８４は、端末７−０〜７−９９のそれぞれについて、応答先８８、９０、・・・、９６を有し、全ての端末装置７の応答先が設定されている。すなわち、応答先領域８４には応答先情報６０が記載されている。
【００３３】
図８Ａ、８Ｂは、正常な一斉通信のシーケンス１００を示す図である。図８Ａ、８Ｂに示すように、まず、制御装置３が全ての端末装置７に一斉通信を行う。通信１０２は、一斉通信を表す。各端末装置７は、送信されたデータ８０において自身の応答先領域８４を参照し、自身の端末番号が格納されていた場合には、代表端末としてタイマ監視部３９により不図示の監視タイマを起動し、自身が応答を監視する監視対象の子端末からの応答待ち状態となる。自身の応答先領域８４に他の端末番号が格納されていた場合は、その端末に向けて正常受信した旨の応答データを送信する。
【００３４】
このように各端末装置７は、応答先領域８４に指定された代表端末に返信を行う。通信１０４は、子端末となった各端末装置７から代表端末への通信を表わす。各代表端末は、自身が応答先に指定されている各子端末すべてから応答データを受信するか、タイムアウトした場合、対象端末の応答有無を通信１０６のように制御装置３に送信する。
【００３５】
このとき、制御装置３は、代表端末からの応答で、ネットワーク上のすべての端末の応答有無を確認する。なお、代表端末が異常の場合にそなえ、制御装置３自身も、一斉通信を行ってからの時間を計測し、一斉通信の応答をタイマ監視しておく。
【００３６】
図９Ａ、９Ｂは、エラーのある一斉通信のシーケンス１１０を示す図である。図９Ａ、９Ｂに示すように、制御装置３は、全ての端末装置７に一斉通信を行う。通信１１２は、一斉通信を表す。各端末装置７は、応答先領域８４に指定された代表端末に通信１１４のように返信を行う。このとき、エラー１１６のように、端末７−１４から端末７−１０への応答が正常に受信されなかったとする。端末７−１０は、制御装置３からの通信を受信してから所定時間経過すると、それまでに受信できた分の応答を制御装置３に返信する。
【００３７】
また、この例では、通信１１８において、端末７−２０から制御装置３への通信にもエラー１２０が発生している。端末７−２０は、全ての子端末からの通信を正常に受信したが、制御装置３には応答が届かないことになる。このとき、制御装置３は、正常に受信できなかった端末７−１４、７−２０〜７−２４に対して、通信１２４のようにもう一度同じ内容の送信を行うリトライを実行する。
【００３８】
このように、代表端末からの応答データにおいて、応答がなかった端末（代表端末からの応答がなかった場合は、その代表端末自身とその代表端末が応答監視すべき対象の端末すべて）がある場合、リトライ送信を行う。このとき、例えばＲＡＭ１５に、全端末装置７（例えば１００台分）の記憶領域（例えば、応答先領域８４を用いてもよい）を設け、正常応答した端末の領域には、再送信不要を示す値（たとえば００）を格納する。応答がなかった端末については、制御装置３自身が確実に受信可能な台数分（例では２０台）を上限として、該当端末の番号を格納する。応答がなかった端末数が、制御装置３自身が確実に受信可能な台数を超え（例では２１台以上）ている場合は、リトライを数回に分けて行う。
【００３９】
確実に受信可能な台数が２０台の場合、２０台までは１回で、４０台までは２回、６０台までは３回、８０台までは４回、１００台までは５回に分けて送信することになる。しかし、通常はすべて正常応答するため、１回の送信で処理が完了する場合がほとんどである。リトライでも応答がない端末装置７があった場合には、通信復旧するまでリトライ対象外とすることで、システム的に大きな負荷になることを防止する。
【００４０】
なお、上記のような一斉通信のデータ送信時のために代表端末を指定する場合、代表端末として、応答がある可能性が高い端末を選択するべきである。そこで例えば、正常受信した通信の発信元の端末装置７を時系列にリンクし、より受信時刻が新しい通信の発信元の端末装置７を選択する。
【００４１】
ここで、図１０、図１１Ａ，図１１Ｂを参照しながら代表端末設定処理について説明する。以下、説明の都合上、制御装置３に接続された端末が、端末７−０〜７−９の１０台である場合を例にして説明する。図１０は、代表端末管理テーブル５００の構成の一例を示す図、図１１Ａは、代表端末管理テーブル５００の具体例を示す図、図１１Ｂは、通信の受信順を説明する図である。代表端末管理テーブル５００は、制御装置３の、例えばＲＡＭ１５に記憶されている。
【００４２】
図１０に示すように、代表端末管理テーブル５００は、端末装置７の端末番号５０２と、リンク元５０４、およびリンク先５０６を示している。リンク元５０４とは、制御装置３が正常にデータを受信した通信の受信時刻が、該当端末番号の端末装置７からの通信より１つ新しい通信の発信元の端末番号である。リンク先５０６とは、制御装置３が正常にデータを受信した受信時刻が、該当端末番号の端末装置７からの通信の受信時刻より１つ古い通信の発信元の端末番号である。
【００４３】
代表端末管理テーブル５００は、この端末番号５０２、リンク元５０４、リンク先５０６を全端末分格納する。ここで、制御装置３が最新に正常に受信した通信の発信元である端末装置７の端末番号は、図１０に示す代表端末管理テーブル５００の最上欄の「最新」のリンク先５０６に表示される。また、図１０、図１１Ａ，図１１Ｂにおいて、端末装置７−ｎの端末番号は、記載の都合上、単に「ｎ」と記載する。
【００４４】
図１１Ａは、制御装置３が正常に受信した順が端末番号で新しい方から「７→１→０→８→９→２→３→５→６→４」である状態のテーブルを示している。すなわち、例えば、図１１Ａの代表端末管理テーブル５２０の欄５２２に示すように、制御装置３により最新に正常に受信された通信は「最新」のリンク先番号＝「７」に対応する端末７−７が発信元である。端末７−７からの通信よりも１つ古い通信の発信元の端末装置７は、欄５２４に示すように、端末７−７のリンク先番号＝「１」に対応する端末７−１である。このとき、欄５２６に示すように、端末７−７からの通信の次に受信が確認される通信の発信元の端末はまだ不明であるので、「−」と記載されている。また、端末７−１からの通信よりも１つ古い通信の発信元の端末装置７は、欄５２８に示すように、端末７−１のリンク先番号＝「０」に対応する端末７−０である。このとき、欄５３０に示すように、端末７―１からの通信の次に受信が確認された通信の発信元の端末は、端末７−１のリンク元番号＝「７」であると記載されている。
【００４５】
このように、順次代表端末管理テーブル５００においてリンク先を見ていくことにより、１つ前に受信が確認された通信の発信元の端末装置７を順次確認できる。また、順次代表端末管理テーブル５００においてリンク元を見て行くことにより、新しく受信が確認された通信の発信元の端末装置７を順次確認できる。
【００４６】
ここで、参考のために、受信が確認された順に端末装置７とそのリンク元、リンク先を並べたものが、図１１Ｂに示したテーブル６００である。テーブル６００に示すように、端末番号６０２における新しく受信が確認された「７→１→０→８→９→２→３→５→６→４」の順番を、一つ古い方にずらした情報がリンク元６０４、一つ新しい方にずらした情報がリンク先６０６として格納されていることになる。
【００４７】
以下、代表端末管理テーブル５２０の状態で、端末７−５から正常データを受信した場合の処理について説明する。まず、代表端末管理テーブル５２０において、「最新」のリンク先番号５２２が、端末７−５に対応する端末番号「５」ではないことが確認される。このとき、代表端末管理テーブル５４０のように、端末７−５のリンク元番号５４２の「３」に対応する端末７−３のリンク先番号５４６が、端末７−５のリンク先番号５４８の「６」に更新される。端末７−５のリンク先番号５４８の「６」に対応する端末７−６のリンク元番号５４４は、端末７−５のリンク元番号５４２の「３」に更新される。
【００４８】
次に、代表端末管理テーブル５６０のように、最新の受信端末７−５のリンク先である端末７−７のリンク元番号５６２は、今回受信した通信の発信元の端末７−５に対応する「５」に更新される。
【００４９】
最後に、代表端末管理テーブル５８０のように、今回受信した通信の発信元である端末７−５のリンク元番号５８２は、リンクなしを示す「−」、端末７−５のリンク先番号５８６は、最新に受信した通信の発信元の端末７−７に対応する「７」に更新される。また、最新受信端末のリンク先番号５８４は、今回受信した通信の発信元の端末７−５に対応する「５」に更新される。なお、１００台の端末装置７が備えられる場合は、代表端末管理テーブル５００を１００台分とし、上記と同様の手順で更新する。
【００５０】
この代表端末管理テーブル５００を用いて、正常受信した通信の発信元の端末装置７を、受信が新しい順に選択する場合は、例えば代表端末管理テーブル５８０において、第１に、最新受信端末のリンク先番号５８４の「５」に対応する端末装置７−５が選択される。第２に、端末番号「５」のリンク先番号５８６の「７」に対応する端末装置７−７が選択される。第３に、端末番号「７」のリンク先番号５８８の「１」に対応する端末装置７−１が選択される。以下、同様に、順にリンク先の端末番号を検索していくことにより、所望の台数の代表端末が指定される。
【００５１】
以下、上記のように構成される応答確認システム１の動作について、フローチャートを参照しながらさらに説明する。応答確認システム１においては、２種類の通信が行われる。一つは、制御装置３と個々の端末装置７との間で行われる通信（以下、通常通信という）であり、他は、制御装置３から複数の端末装置７へ一斉に送信を行う一斉通信である。
【００５２】
まず、通常通信の動作について説明する。図１２は、制御装置３の通常通信の動作を示すフローチャートである。図１２に示すように、制御部３１は、タイマ監視部３９より監視される不図示のリトライカウンタをゼロに設定する（Ｓ２０１）。リトライカウンタとは、送信を行ったが、端末装置７からの応答が確認できない場合に、再度送信を行う回数を計数するカウンタである。
【００５３】
通信制御部４１は、通信の宛先の端末装置７のアドレスを設定し（Ｓ２０２）、送信データを設定する（Ｓ２０３）。タイマ監視部３９は、制御部３１が通信制御部４１を介して送信を起動すると同時に、不図示の監視タイマを起動する（Ｓ２０４）。このとき、制御部３１は、監視タイマに、応答を監視する所定時間を設定する。
【００５４】
応答管理部３７は、監視タイマに設定された所定時間内に、データを送信した端末装置７からの応答があるか否かを判別する（Ｓ２０５）。応答がない場合には（Ｓ２０５：ＮＯ）、制御部３１は、リトライカウンタが所定のカウント数を超えているか否か判別する（Ｓ２０６）。リトライカウンタのカウント数が、所定のカウント数以下の場合には（Ｓ２０６：ＮＯ）、制御部３１は、リトライカウンタの値に１を加え（Ｓ２０７）、処理をＳ２０２に戻す。リトライカウンタのカウント数が所定のカウント数を越えた場合には（Ｓ２０６：ＹＥＳ）、制御部３１は、処理をエラー終了する。Ｓ２０５で、所定時間内に応答が検出されると（Ｓ２０５：ＹＥＳ）、代表端末設定処理を行い（Ｓ２０８）、制御部３１は、制御装置３を正常に終了する。
【００５５】
ここで、図１３を参照しながら代表端末設定処理について説明する。図１３は、代表端末設定処理の動作を示すフローチャートである。図１３に示すように、まず、代表端末管理部３３は、「ａ」を、通信制御部４１を介して受信した、通常通信における最新の正常受信電文の端末番号に設定する（Ｓ４０１）。図１１Ａの代表端末管理テーブル５２０の例ではａ＝５であるとする。
【００５６】
代表端末管理部３３は、最新のリンク先の端末番号が「ａ」であるか否か、判別する（Ｓ４０２）。最新のリンク先が「ａ」である場合には、代表端末管理部３３は、代表端末設定処理を終了する（Ｓ４０２：ＹＥＳ）。図１１Ａの代表端末管理テーブル５２０の例では、最新のリンク先は「７」である（Ｓ４０２：ＮＯ）。
【００５７】
代表端末管理部３３は、「Ｘ」を、端末ａのリンク元の端末番号とする（Ｓ４０３）。代表端末管理部３３は、「Ｙ」を、端末ａのリンク先の端末番号とする（Ｓ４０４）。また、代表端末管理部３３は、「Ｚ」を、最新のリンク先の端末番号とする（Ｓ４０５）。図１１Ａの代表端末管理テーブル５２０の例では、Ｘ＝３、Ｙ＝６、Ｚ＝７である。
【００５８】
代表端末管理部３３は、「Ｘ」のリンク先の端末番号を、「ａ」のリンク先の端末番号（「Ｙ」）に書き換える（Ｓ４０６）。代表端末管理部３３は、「Ｙ」のリンク元の端末番号を、「ａ」のリンク元の端末番号（「Ｘ」）に書き換える（Ｓ４０７）。代表端末管理部３３は、「Ｚ」のリンク元の端末番号を、「ａ」とする（Ｓ４０８）。
【００５９】
代表端末管理部３３は、「ａ」のリンク元の端末番号を、「−」とする（Ｓ４０９）とともに、「ａ」のリンク先の端末番号を、最新のリンク先の端末番号（「Ｚ」）とする（Ｓ４１０）。さらに、代表端末管理部３３は、最新のリンク先の端末番号を「ａ」に書き換える（Ｓ４１１）。以上の処理を、正常な受信が行われるたびに繰り返すことにより、常に受信時刻が新しい順を保持しておき、最新の所定台数の代表端末を設定する。
【００６０】
図１４は、端末装置７の通常通信の動作を示すフローチャートである。端末装置７の通信制御部５１は、制御装置３からの通信を受信するまで監視を行う（Ｓ２１１：ＮＯ）。受信が確認されると（Ｓ２１１：ＹＥＳ）、通信制御部５１は、応答を送信する（Ｓ２１２）。
【００６１】
次に、応答確認システム１における一斉通信の動作について説明する。図１５Ａ、１５Ｂは、制御装置３の一斉通信の動作を示すフローチャートである。図１５Ａに示すように、制御部３１は、タイマ監視部３９より監視される不図示のリトライカウンタをゼロに設定する（Ｓ２２１）。
【００６２】
応答先設定部３５は、例えば、応答先情報６０において、代表端末の応答先を代表端末自身の端末番号に設定し（Ｓ２２２）、代表端末以外の子端末の応答先に、代表端末の端末番号を均等に設定する（Ｓ２２３）。通信制御部４１は、一斉通信のためのブロードキャストアドレスを設定する（Ｓ２２４）とともに、送信データを設定する（Ｓ２２５）。
【００６３】
タイマ監視部３９は、制御部３１が通信制御部４１を介して送信を起動すると同時に、不図示の監視タイマを起動する（Ｓ２２６）。このとき、制御部３１は、監視タイマに、応答を監視する所定時間を設定する。
【００６４】
応答管理部３７は、監視タイマに設定された所定時間内に、代表端末からの応答があるか否かを判別する（Ｓ２２７）。Ｓ２２７で、所定時間内に応答が検出されると（Ｓ２２７：ＹＥＳ）、応答管理部３７は、応答電文中の応答のあった端末番号を、例えばＲＡＭ１５に記録する（Ｓ２２８）。このとき、応答管理部３７は、例えばＲＡＭ１５に、不図示の応答管理テーブルを作成し、全端末装置７について応答の有無を記録するようにしてもよい。Ｓ２２７で、所定時間内に応答が検出されないと（Ｓ２２７：ＮＯ）、制御部３１は、処理をＳ２３１に進める。
【００６５】
応答管理部３７は、全ての端末装置７から応答があったか否かを判別し、あった場合には（Ｓ２２９：ＹＥＳ）、一斉通信を正常に終了する。タイマ監視部３９で設定された所定時間内に、全端末装置７からの応答がない場合には（Ｓ２２９：ＮＯ）、応答管理部３７は、全代表端末からの応答が受信されたか否かを判別する（Ｓ２３０）。全代表端末からの応答が確認できた場合には（Ｓ２３０：ＹＥＳ）、制御部３１は、処理をＳ２３１に進める。いずれかの代表端末からの応答が受信できない場合には（Ｓ２３０：ＮＯ）、制御部３１は、Ｓ２２７に処理を戻す。
【００６６】
図１５Ｂに示すように、通信制御部４１は、送信対象を、応答がなかった端末全てに設定し（Ｓ２３１）、リトライ送信処理を行う（Ｓ２３２）。リトライ送信処理の詳細は後述する。リトライ送信の結果、全端末装置７からの応答が確認されると（Ｓ２３３：ＹＥＳ）、制御部３１は処理を正常に終了する。全端末装置７からの応答が確認できない場合には（Ｓ２３３：ＮＯ）、制御部３１は、リトライカウンタが、所定数を上回ってリトライアウトになっているか否かを判別する（Ｓ２３４）。リトライアウトの場合には（Ｓ２３４：ＹＥＳ）、制御部３１は、処理をエラー終了させる。リトライアウトしていない場合には（Ｓ２３４：ＮＯ）、制御部３１は、リトライカウンタに１を加え（Ｓ２３５）、処理をＳ２３１に戻す。
【００６７】
次に、図１６Ａ、１６Ｂを参照しながら、制御装置３のリトライ送信処理について説明する。図１６Ａ、１６Ｂは、制御装置３のリトライ送信処理を示すフローチャートである。図１６Ａに示すように、まず制御部３１は、変数ｎ＝０、ｍ＝０とする（Ｓ２５１）。ここで、変数ｎは、端末番号、変数ｍは、リトライ対象端末数を示す。応答管理部３７は、端末番号＝ｎが送信対象であるか否かを、上述のようにＲＡＭ１５に記録された、例えば不図示の応答管理テーブルで確認する（Ｓ２５２）。
【００６８】
端末番号＝ｎの端末装置７が送信対象でない場合には（Ｓ２５２：ＮＯ）、制御部３１は、処理をＳ２５５に進める。端末番号＝ｎの端末装置７が送信対象である場合には（Ｓ２５２：ＹＥＳ）、制御部３１は、端末番号＝ｎの応答先端末番号＝端末番号ｎとし（Ｓ２５３）、ｍ＝ｍ＋１として（Ｓ２５４）、処理をＳ２５５に進める。
【００６９】
Ｓ２５５において、ｎ＝ｎ＋１としてＳ２５６へ進める。制御部３１は、ｍ＜全代表端末数であるか否かを判別する（Ｓ２５６）。ｍ＜全代表端末数でない場合には（Ｓ２５６：ＮＯ）、制御部３１は処理をＳ２５８に進める。ｍ＜全代表端末数である場合には（Ｓ２５６：ＹＥＳ）、制御部３１は、ｎ＜総端末数であるか否かを判別する（Ｓ２５７）。ｎ＜総端末数である場合には（Ｓ２５７：ＹＥＳ）、制御部３１は、処理をＳ２５２に戻す。ｎ＜総端末数でない場合には（Ｓ２５７：ＮＯ）、通信制御部４１は、リトライ通信のためのブロードキャストアドレスを設定する（Ｓ２５８）とともに、送信データを設定する（Ｓ２５９）。
【００７０】
図１６Ｂに示すように、タイマ監視部３９は、制御部３１が通信制御部４１を介して送信を起動するとともに、不図示の監視タイマを起動する（Ｓ２６０）。このとき、制御部３１は、監視タイマに、応答を監視する所定時間を設定する。
【００７１】
応答管理部３７は、監視タイマに設定された所定時間内に、リトライ送信した各端末装置７からの応答があるか否かを判別する（Ｓ２６１）。Ｓ２６１で、所定時間内に応答が検出されると（Ｓ２６１：ＹＥＳ）、応答管理部３７は、応答電文中の応答のあった端末番号を、例えばＲＡＭ１５に記録する（Ｓ２６２）。このとき、応答管理部３７は、例えばＲＡＭ１５に、不図示の応答管理テーブルを作成し、全端末装置７について応答の有無を記録するようにしてもよい。Ｓ２６１で所定時間内に応答がない場合には（Ｓ２６１：ＮＯ）、制御部３１は、処理をＳ２６４に進める。
【００７２】
応答管理部３７は、リトライ対象の全ての端末装置７から応答があったか否かを判別し、応答がない場合には（Ｓ２６３：ＮＯ）、処理をＳ２６１に戻す。リトライ対象の全ての端末装置７からの応答があった場合には（Ｓ２６３：ＹＥＳ）、応答管理部３７は、ｎ＜総端末数であるか否か判別し（Ｓ２６４）、ｎ＜総端末数の場合には（Ｓ２６４：ＹＥＳ）、処理をＳ２５２に戻す。ｎ＜総端末数でない場合には（Ｓ２６４：ＮＯ）、リトライ送信処理を終了する。
【００７３】
タイマ監視部３９で設定された所定時間内に、リトライ対象の全ての端末装置７からの応答がない場合には（Ｓ２６１：ＮＯ）、ｎ＜総端末数であるか否か判別し（Ｓ２６４）、ｎ＜総端末数の場合には（Ｓ２６４：ＹＥＳ）、処理をＳ２５２に戻す。ｎ＜総端末数の場合には（Ｓ２６４：ＹＥＳ）、リトライ送信処理を終了する。
【００７４】
次に、図１７を参照しながら、端末装置７の一斉送信受信の動作を説明する。図１７は、端末装置７の一斉送信受信の動作を示すフローチャートである。図１７に示すように、端末装置７の応答先認識部４５は、受信したデータ８０において、応答先が自身の端末番号であるか否かを判別する（Ｓ３０１）。
【００７５】
応答先が自身の端末番号でない場合には（Ｓ３０１：ＮＯ）、通信制御部５１は、該当する応答先領域８４に記載された端末装置７に応答を送信し（Ｓ３０２）、処理を終了する。
【００７６】
応答先が自身の端末番号である場合には（Ｓ３０１：ＹＥＳ）、子端末管理部４７は、応答先領域８４から、自身の番号が応答先に指定されている子端末を抽出する（Ｓ３０３）。子端末管理部４７は、応答を監視する対象の子端末がゼロ台であるか否かを判別する（Ｓ３０４）。監視対象の子端末がゼロ台である場合（Ｓ３０４：ＹＥＳ）、制御部４１は、処理をＳ３１０に進める。
【００７７】
監視対象の子端末がゼロ台でない場合（Ｓ３０４：ＮＯ）、タイマ監視部４９は、監視タイマを起動し（Ｓ３０５）、時間内に子端末からの応答があるか否かを判別する（Ｓ３０６）。子端末からの応答があった場合（Ｓ３０６：ＹＥＳ）、子端末管理部４７は、応答があった子端末の端末番号を記録し（Ｓ３０７）、応答があった端末を、監視対象の子端末から削除し（Ｓ３０８）、監視対象の子端末がゼロ台であるか否か再び判別する（Ｓ３０９）。子端末からの応答がないままタイムアウトした場合には（Ｓ３０６：ＮＯ）、制御部４３は、処理をＳ３１０に進める。
【００７８】
監視対象の子端末がゼロ台である場合（Ｓ３０９：ＹＥＳ）、制御部４３は、処理をＳ３１０に進める。監視対象の子端末がゼロ台でない場合（Ｓ３０９：ＮＯ）、制御部４１は、処理をＳ３０６に戻す。
Ｓ３１０では、通信制御部５１は、自身の端末番号と、応答を受信した子端末の端末番号とを制御装置３に送信し、応答処理を終了する。
【００７９】
以上説明したように、本実施の形態による応答確認システム１によれば、制御装置３と複数台の端末装置７が接続されるシステム構成で、制御装置３から端末装置７への送信が、通常通信または一斉送信で行われる。通常通信において、制御装置３は、正常に受信された通信の発信元の端末装置７の端末番号を、受信時刻の順に常に代表端末管理テーブル５００に記録および更新させている。代表端末の台数は、制御装置３が一度に確実にデータを受信できる数であることが好ましい。
【００８０】
制御装置３が、一斉通信でデータを送信する場合、代表端末管理テーブル５００に基づき所定数の端末装置７を代表端末に設定する。送信するデータ８０には、各端末番号と、各端末が応答を行う代表端末の番号とを関連付けて応答先領域８４に記録する。データ８０を受信した端末装置７は、応答先領域８４を参照して自身が代表端末であるか否かと、代表端末である場合には応答を監視する子端末、代表端末でない場合には応答先の端末番号を認識することにより、代表端末または子端末としての動作を行なう。このとき、応答は、データ８０を受信した旨を示す情報を含む。
【００８１】
制御装置３は、一斉送信を行ってから所定時間内に応答が確認できない端末に対しては、リトライ送信を行う。このとき、一斉に送信する端末装置７の台数は、制御装置３が一度に確実に受信を行える、例えば代表端末の台数を越えないことが好ましい。一度に送信できないリトライ送信がある場合には複数回に分けて行なう。
【００８２】
以上のように、本実施の形態による応答確認システム１によれば、常に新しく受信が正常に行えた端末装置７を代表端末とするので、代表端末が故障しているという事態を避けることができる。また、代表端末が故障することで、故障した代表端末の子端末の送信まで障害が生じる可能性を低減させることができる。
【００８３】
代表端末の台数を制御装置３が確実に受信可能な台数とすることで、ネットワーク５に接続される複数台の端末装置７へ一斉送信した際に、端末装置７からの応答を破棄することなく制御装置３で受信することが可能である。さらに、応答がない端末にはリトライ送信を行うため、さらに確実に送信を行うことができる。
【００８４】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。例えば、制御装置３、端末装置７の構成、機能は、上記の例に限定されず、同様の作用効果を奏するものであれば、本発明の範囲である。
【００８５】
代表端末を設定する方法については、代表端末管理テーブル５００を用いる方法に限定されない。任意の台数を、新しく受信が確認できた端末装置７から選択可能な方法であれば、別な方法でもよい。例えば、代表端末管理テーブル５００の端末番号とリンク先のデータのみを用いるようにしてもよい。代表端末数分の記憶領域に、受信が確認できた順に端末番号を格納していくなどの方法も考えられる。このとき、端末番号が既に格納されている番号と重なった場合には、既に格納されていた番号を最新の順に並び替えるなどの方法で、常に所定台数の端末装置７の番号を格納しておくことができる。
【符号の説明】
【００８６】
１      応答確認システム
３      制御装置
５      ネットワーク
７      端末装置
１１    ＣＰＵ
１３    ＲＯＭ
１５    ＲＡＭ
１７    タイマ
１８    入出力部
１９    通信回路
２１    ＣＰＵ
２３    ＲＯＭ
２５    ＲＡＭ
２７    タイマ
２８    入出力部
２９    通信回路
３１    制御部
３３    代表端末管理部
３５    応答先設定部
３７    応答管理部
３９    タイマ監視部
４１    通信制御部
４３    制御部
４５    応答先認識部
４７    子端末管理部
４９    タイマ監視部
５１    通信制御部
８０    データ
８２    ヘッダ
８４    応答先領域
８６    送信データ
５００  代表端末管理テーブル
【図１】
2013106097.tif 000003
【図２】
2013106097.tif 000004
【図３】
2013106097.tif 000005
【図４】
2013106097.tif 000006
【図５】
2013106097.tif 000007
【図６】
2013106097.tif 000008
【図７】
2013106097.tif 000009
【図８Ａ】
2013106097.tif 000010
【図８Ｂ】
2013106097.tif 000011
【図９Ａ】
2013106097.tif 000012
【図９Ｂ】
2013106097.tif 000013
【図１０】
2013106097.tif 000014
【図１１Ｂ】
2013106097.tif 000015
【図１２】
2013106097.tif 000016
【図１３】
2013106097.tif 000017
【図１４】
2013106097.tif 000018
【図１５Ａ】
2013106097.tif 000019
【図１５Ｂ】
2013106097.tif 000020
【図１６Ａ】
2013106097.tif 000021
【図１６Ｂ】
2013106097.tif 000022
【図１７】
2013106097.tif 000023
【図１１Ａ】
2013106097.tif 000024