JP4098434B2 - 同報伝送方式 - Google Patents

同報伝送方式 Download PDF

Info

Publication number
JP4098434B2
JP4098434B2 JP06312399A JP6312399A JP4098434B2 JP 4098434 B2 JP4098434 B2 JP 4098434B2 JP 06312399 A JP06312399 A JP 06312399A JP 6312399 A JP6312399 A JP 6312399A JP 4098434 B2 JP4098434 B2 JP 4098434B2
Authority
JP
Japan
Prior art keywords
server
broadcast message
sequence number
client
storage means
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.)
Expired - Lifetime
Application number
JP06312399A
Other languages
English (en)
Other versions
JP2000261469A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP06312399A priority Critical patent/JP4098434B2/ja
Publication of JP2000261469A publication Critical patent/JP2000261469A/ja
Application granted granted Critical
Publication of JP4098434B2 publication Critical patent/JP4098434B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、送信元の1台のステーションが同一メッセージを送信先の複数のステーションに伝送する同報伝送方式に係り、特に、負荷の増大を阻止し、伝送の確実性を向上し得る同報伝送方式に関する。
【0002】
【従来の技術】
従来、1台の送信元ステーションが同一メッセージを複数の送信先ステーションに伝送する際に、送信に要する負荷及び伝送路の負荷を軽減する観点から、個別宛メッセージよりも同報伝送方式の方が有効である旨が知られている。
【0003】
この種の同報伝送方式は、例えばLAN(ローカルエリアネットワーク)上に各ステーションが存在するとき、同一メッセージ(以下、同報メッセージという)を同時に全て又は任意グループ内などの複数の送信先ステーションに伝送可能となっている。各送信先ステーションは、同報メッセージを受信すると、受信した旨の応答をすることなく、夫々同報メッセージの記録処理等を実行する。
【0004】
【発明が解決しようとする課題】
しかしながら以上のような同報伝送方式では、伝送の確実性を要求される用途には応答の無いために不向きとなっている。このため、応答のない同報伝送方式は、周期的な伝送に使用されている。理由は、異常発生により今回のメッセージが送信先に伝送されなくても、次回にメッセージを伝送可能であるからである。
【0005】
なお、確実性を向上させる観点から、同報伝送方式に応答を付加する確認付きメッセージという方法も考えられる。但し、この方法は、送信先ステーションの数が少ない場合、個別宛メッセージと比べ、同報伝送方式を使う利点が少なくなっている。また、送信先ステーションの数が多い場合、送信処理に要する負荷や伝送路の負荷が個別宛メッセージの場合の半分になるだけである。
【0006】
また、同報伝送方式は、ある周期で変化する同報メッセージの伝送に使用されるが、変化時以外でも同報メッセージを送信するので、無駄に負荷を要する。ここで、変化時以外の同報伝送を止めれば負荷を低減し得るが、伝送の確実性を低下させてしまう。
【0007】
本発明は上記実情を考慮してなされたもので、負荷の増大を阻止しつつ、伝送の確実性を向上し得る同報伝送方式を提供することを目的とする。
【0008】
【課題を解決するための手段】
請求項1に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送装置において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、前記同報メッセージ作成手段としては、前記過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、前記抜け検出手段としては、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出する同報伝送方式である。
【0017】
また、請求項に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、タグ番号、前記シーケンス番号、前記時刻データ及び前記メッセージ情報を含む同報メッセージが前記タグ番号毎に記憶される過去同報メッセージ記憶手段と、前記クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号を前記クライアントに送信する再送手段とを備え、前記抜け検出手段としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求を前記サーバに送信し、前記クライアントとしては、前記再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する再送要求手段を備えた同報伝送方式である。
【0019】
さらに、請求項に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、前記過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるシーケンス番号変更手段を備えた同報伝送方式である。
【0020】
さらに、請求項に対応する発明は、請求項に対応する同報伝送方式において、前記シーケンス番号変更手段としては、(条件1)前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、(条件2)前記過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は(条件3)所定周期が来たとき、という3つの条件のいずれかが成立したとき、該当する同報メッセージを前記サーバ側番号記憶手段内のシーケンス番号に更新して前記クライアントに送信する同報伝送方式である。
【0021】
また、請求項に対応する発明は、請求項に対応する同報伝送方式において、前記シーケンス番号変更手段としては、前記シーケンス番号の増加に代えて、当該シーケンス番号を、前記サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更する同報伝送方式である。
【0022】
さらに、請求項に対応する発明は、請求項に対応する同報伝送方式において、前記クライアントとしては、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求を前記サーバに送信する第1の再送要求手段と、前記第1の再送要求手段による再送要求に応じて前記サーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第2の再送要求手段とを備えた同報伝送方式である。
【0023】
また、請求項に対応する発明は、請求項に対応する同報伝送方式において、前記サーバとしては、前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、前記シーケンス番号変更手段としては、シーケンス番号の範囲外の値として、前記追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を前記追越し経過時間計測手段による計測結果に基づいて更新し、前記クライアントとしては、自己のダウン時間を計測するためのダウン時間計測手段と、前記ダウン時間計測部により計測されたダウン時間と前記第1の再送要求手段による再送要求に応じて前記サーバから受けたシーケンス番号としての追越し経過時間とを比較し、前記ダウン時間が前記追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第3の再送要求手段とを備えた同報伝送方式である。
【0024】
(作用)
従って、請求項1に対応する発明は以上のような手段を講じたことにより、サーバとしては、同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段とを備え、各クライアントとしては、サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段とを備えている。
【0025】
これにより、サーバの同報メッセージ作成手段が、サーバ側番号記憶手段内のシーケンス番号とサーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む同報メッセージを作成し、この同報メッセージをクライアントに同報伝送し、クライアントの抜け検出手段が、サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データとクライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、同報メッセージ内のシーケンス番号とクライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させることができる。
【0026】
また、請求項に対応する発明は、サーバとしては、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、同報メッセージ作成手段としては、過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、抜け検出手段としては、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出するので、前述した作用に加え、所定保持数以外の再送要求を省略してその無駄な負荷を削減することができる。
【0034】
また、請求項に対応する発明は、サーバとしては、タグ番号、シーケンス番号、時刻データ及びメッセージ情報を含む同報メッセージがタグ番号毎に記憶される過去同報メッセージ記憶手段と、クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号をクライアントに送信する再送手段とを備え、抜け検出手段としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求をサーバに送信するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させるという前述した作用に加え、データをタグ毎に記憶することにより、サーバのメッセージ情報(タグデータ)が何回変化しても、最終データのみ送信されるので、クライアントにとって最新データだけが重要であるシステムに使用でき、且つクライアント、サーバ及び伝送路の負荷を低減させることができる。
【0035】
また、請求項に対応する発明は、クライアントとしては、再送要求手段が、再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、前述した作用に加え、クライアントがゆっくりと同報メッセージを再送要求することにより、サーバの負荷を減少させることができる。
【0036】
さらに、請求項に対応する発明は、サーバとしては、シーケンス番号変更手段が、過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させるという前述した作用と、データをタグ毎に記憶することにより、サーバのメッセージ情報(タグデータ)が何回変化しても、最終データのみ送信されるので、クライアントにとって最新データだけが重要であるシステムに使用でき、且つクライアント、サーバ及び伝送路の負荷を低減させるという前述した作用に加え、シーケンス番号を指定して再送要求されたとき、過去同報メッセージ記憶手段内の1周前のシーケンス番号に対応する同報メッセージを再送してしまうといった誤りを無くすことができる。
【0037】
さらに、請求項に対応する発明は、シーケンス番号変更手段としては、(条件1)過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、(条件2)過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は(条件3)所定周期が来たとき、という3つの条件のいずれかが成立したとき、該当する同報メッセージをサーバ側番号記憶手段内のシーケンス番号に更新してクライアントに送信するので、請求項に対応する作用と同様の作用を奏することができる。
【0038】
また、請求項に対応する発明は、シーケンス番号変更手段としては、シーケンス番号の増加に代えて、当該シーケンス番号を、サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更するので、請求項に対応する作用に加え、立上り時から変化しないタグの多い場合、追越し阻止のための処理を少なくすることができる。
【0039】
さらに、請求項に対応する発明は、クライアントとしては、第1の再送要求手段が、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求をサーバに送信し、第2の再送要求手段が、第1の再送要求手段による再送要求に応じてサーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、請求項に対応する作用に加え、全データを収集するよりも少ない伝送データにより、クライアント内のデータをサーバ内のデータに一致させることができる。
【0040】
また、請求項に対応する発明は、サーバとしては、過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、シーケンス番号変更手段としては、シーケンス番号の範囲外の値として、追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を追越し経過時間計測手段による計測結果に基づいて更新し、クライアントとしては、ダウン時間計測手段が、自己のダウン時間を計測し、第3の再送要求手段が、ダウン時間計測部により計測されたダウン時間と第1の再送要求手段による再送要求に応じてサーバから受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求をサーバに送信するので、請求項に対応する作用に加え、クライアントのダウン中にシーケンス番号が一周以上しても、クライアント内のデータをサーバ内のデータに確実に一致させることができる。
【0041】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照して説明する。
(第1実施形態)
図1は本発明の第1実施形態に係る同報伝送方式の適用されたLAN構成を示す模式図である。このLAN構成は、図1(a)に示すように、n台のステーション1,…,1k,…,1nが互いにLAN2を介して接続されている。
【0042】
ここで、送信元ステーション1kをサーバと呼び、送信先ステーション1,1nをクライアントと呼ぶ。あるメッセージを同報伝送するとき、1台のサーバと、複数のクライアントがあるとする。但し、他のメッセージを同報伝送するとき、図1(b)に示すように、異なるステーション1nがサーバとなる可能性があり、また、サーバとクライアントとが同一のステーション1kに同居する可能性もある。
【0043】
図2はこのクライアント・サーバのソフトウェア構成を機能ブロックとして示す模式図であり、後述する第2〜第4及び第9〜第14の実施形態においても参照される。なお、図中、四角の枠は処理を示し、角丸の枠はデータの保存場所を示す。これら処理は、例えば磁気ディスク等の記憶媒体に記憶されたプログラムを読込み、このプログラムによって動作が制御されるコンピュータによって実現される。また、図2において、サーバ10とクライアント30とは互いにLAN2を介して接続されている。
【0044】
サーバ10は、シーケンス番号レジスタ11、サーバ立上り時刻レジスタ12、情報エリア13、過去同報メッセージ保存エリア14、情報作成部15、変化検出部16、同報メッセージ作成処理部17、保存処理部18、タイマ送信処理部19、再送応答処理部20、伝送処理部21を備えている。
【0045】
シーケンス番号レジスタ11は、同報メッセージを特定するためのシーケンス番号が保持されるものであり、同報メッセージ作成処理部17により同報メッセージが作成されると、保持するシーケンス番号が増加される。
【0046】
サーバ立上り時刻レジスタ12は、シーケンス番号レジスタ11の値が不連続となった時点の時刻が記憶されるものである。不連続となる時点としては、例えば、サーバ10のリセット時、電源オフ/オンによる起動開始時、又は他の理由によるシーケンス番号レジスタ11の初期化時などがある。
【0047】
なお、シーケンス番号レジスタ11が不揮発性メモリのとき、サーバ立上り時刻レジスタ12も同様に不揮発性メモリとされる。両レジスタ11,12が不揮発性メモリのとき、サーバ立上り時刻レジスタ12は、今回サーバ10が立上がっても、立上り前の前回にシーケンス番号レジスタ11を初期化した時の時刻を使用可能である。また、サーバ立上り時刻レジスタ12は、シーケンス番号の連続性を確認するためのデータメモリの一例であるので、前回の値と確実に異なるデータであれば、時刻に代えて用いてもよい。
【0048】
情報エリア13は、情報作成部15により作成された情報が記憶されるものである。
過去同報メッセージ保存エリア14は、送信された同報メッセージが保存処理部18により書込まれるものであり、書込まれる同報メッセージの内容としては、シーケンス番号、サーバ立上り時刻、過去同報メッセージ保持数、及び情報などがある。
【0049】
情報作成部15は、同報伝送したい情報を作成するためのものであり、作成した情報を情報エリア13に書込む機能をもっている。
【0050】
変化検出部16は、情報エリア13内の情報を、定周期、あるいは情報エリア13に書込まれるタイミングで変化の有無を検出し、変化有を検出すると同報メッセージ作成処理部17を起動するものである。
【0051】
同報メッセージ作成処理部17は、変化検出部16により起動されると、情報エリア13内で変化した情報に対して、サーバ立上り時刻レジスタ12内のサーバ立上り時刻、シーケンス番号レジスタ11内のシーケンス番号、及び過去同報メッセージ保存エリア14内の同報メッセージ保持数を付加し、これら変化した情報、サーバ立上り時刻、シーケンス番号及び同報メッセージ保持数を含む同報メッセージを作成し、この同報メッセージを伝送処理部21及び保存処理部18に送出し、且つタイマ送信処理部19を再起動するものである。
【0052】
保存処理部18は、同報メッセージ作成処理部17から受けた同報メッセージを過去同報メッセージ保存エリア14に保存するものであり、過去同報メッセージ保存エリア14内の過去同報メッセージ保持数を更新する機能をもっている。但し、新しい同報メッセージの保存は、過去同報メッセージ保存エリア14が有限のため、過去同報メッセージ保存エリア14内の古い同報メッセージの上書き消去により行なう。
【0053】
タイマ送信処理部19は、同報メッセージ作成処理部17からトリガがある毎にタイマを再起動する機能と、同報メッセージの送信から一定時間経つと、情報の無い同報メッセージ(以下、補間メッセージという)を伝送処理部21を介してクライアント30に送信する機能とをもっている。ここで、補間メッセージは、情報が無い点と、初送の同報メッセージとは異なる値の識別値をもつ点で、同報メッセージ作成処理部17の作成した同報メッセージとは相違している。
【0054】
再送応答処理部20は、伝送処理部21を介してクライアント30からシーケンス番号を指定した再送要求を受けると、過去同報メッセージ保存エリア14内でシーケンス番号の一致する同報メッセージを検索し、得られた同報メッセージを再送メッセージとしてクライアント30側に伝送処理部21を介して同報伝送するものである。
【0055】
伝送処理部21は、サーバ10内とLAN2との間で伝送処理(送受信処理)を実行するものであり、説明の簡単化のため、以後は特に述べない。
【0056】
一方、クライアント30は、シーケンス番号レジスタ31、サーバ立上り時刻レジスタ32、受信管理表33、情報エリア34、抜け検出処理部35、重複検出・情報保存処理部36、再送要求処理部37、伝送処理部38を備えている。
【0057】
シーケンス番号レジスタ31は、シーケンス番号を保持するものであり、立上り時に初期化され、以後、サーバ10から新たな同報メッセージを受ける毎にシーケンス番号が実質的に増加されるものである。
【0058】
サーバ立上り時刻レジスタ32は、サーバ10から受けたサーバ立上り時刻が記憶されるものであり、このサーバ立上り時刻は、サーバ10の再立上げやリセット等のない限り、サーバ10内のサーバ立上り時刻レジスタ12の値と同じとなっている。
【0059】
受信管理表33は、サーバ10から受けた同報メッセージ又は補間メッセージのシーケンス番号、サーバ立上り時刻、同報メッセージ保持数が記憶されるものである。
【0060】
情報エリア34は、重複検出・情報保存処理36により重複しない同報メッセージの情報が書込まれるものである。
【0061】
抜け検出処理部35は、伝送処理部38を介してサーバ10から同報メッセージ又は補間メッセージを受けると、そのメッセージ内のサーバ立上り時刻と自己のサーバ立上り時刻レジスタの値との不一致の有無と、メッセージ内のシーケンス番号と自己のシーケンス番号レジスタ31の値との不一致の有無とを判定する機能を有し、少なくとも一方を不一致と判定したとき、不一致と判定した同報メッセージのシーケンス番号を指定して再送要求処理部37を起動する機能と、両者を一致と判定したとき、受けた同報又は再送メッセージを重複検出・情報保存処理部36に与える機能とをもっている。
【0062】
重複検出・情報保存処理部36は、伝送処理部38を介して抜け検出処理部35から同報又は再送メッセージを受けると、受信管理表33を参照し、重複しないメッセージにおいて、シーケンス番号、サーバ立上り時刻及び同報メッセージ保持数を受信管理表33に書込みと共に、そのメッセージ内の情報を情報エリア34に書込む機能をもっている。
【0063】
再送要求処理部37は、抜け検出処理部35により起動されると、抜け検出処理部35から指定されたシーケンス番号を指定して再送要求を伝送処理部38からサーバ10に送出する機能をもっている。
【0064】
伝送処理部38は、クライアント内とLANとの間で伝送処理(送受信処理)を実行するものであり、説明の簡単化のため、以後は特に述べない。
【0065】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作について説明する。
クライアント30においては、サーバ10から同報メッセージを最初に受けたとき、この同報メッセージ内のシーケンス番号をシーケンス番号レジスタ31に書込むと共に、サーバ立上り時刻をサーバ立上り時刻レジスタ32に書込む。
【0066】
クライアント30は、同報メッセージを受けると、抜け検出処理部35が、サーバ立上り時刻を確認する。この抜け検出処理部35は、同報メッセージ内のサーバ立上り時刻と、サーバ立上り時刻レジスタ32内のサーバ立上り時刻とを比較し、両時刻が一致すると、次に、同報メッセージ内のシーケンス番号と、シーケンス番号レジスタ31内のシーケンス番号とを比較し、両番号が一致すると、同報メッセージを重複検出・情報保存処理部36を介して情報エリア36に保存すると共に、シーケンス番号レジスタ31のシーケンス番号を増加させる。
【0067】
また、抜け検出処理部35は、両時刻又は両番号が不一致の際には、抜け有りと判定し、その同報メッセージ内のサーバ立上り時刻及びシーケンス番号を夫々該当するサーバ立上り時刻レジスタ32及びシーケンス番号レジスタ31に書込むと共に、不一致と判定した同報メッセージのシーケンス番号を指定して再送要求処理部37を起動する。
【0068】
再送要求処理部37は、起動されると、抜け検出処理部35から指定されたシーケンス番号を指定して再送要求を伝送処理部38からサーバ10に送出する。
【0069】
サーバ10においては、再送応答処理部20が、シーケンス番号と共に再送要求を受けると、過去同報メッセージ保存エリア14内でシーケンス番号の一致する同報メッセージを検索し、得られた同報メッセージを再送メッセージとしてクライアント30側に伝送処理部21を介して同報伝送する。
【0070】
これにより、クライアント30では、抜けた同報メッセージを補充でき、情報の不一致を解消できる。すなわち、サーバ10でのシーケンス番号が不連続となっても、確実に抜けを検出し、対応することができる。また、サーバ10において、同報メッセージの送信後、タイマ送信処理部19がタイムアップした場合については次の第2の実施形態にて述べる。
【0071】
上述したように本実施形態によれば、サーバ10としては、同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるシーケンス番号レジスタ11と、シーケンス番号レジスタ11の値が不連続になった時点の時刻データが記憶されるサーバ立上り時刻レジスタ12とを備え、各クライアント30としては、サーバ10から同報メッセージを受信する毎に更新されるシーケンス番号が保持されるシーケンス番号レジスタ31と、サーバ立上り時刻レジスタ12内の時刻データが転送されて書込まれるサーバ立上り時刻レジスタ32とを備えている。
【0072】
これにより、サーバ10の同報メッセージ作成処理部17が、シーケンス番号レジスタ11内のシーケンス番号とサーバ立上り時刻レジスタ12内のサーバ立上り時刻とメッセージ情報とを含む同報メッセージを作成してクライアント30に同報伝送し、クライアント30の抜け検出処理部35が、この同報メッセージ内のサーバ立上り時刻とサーバ立上り時刻レジスタ32内のサーバ立上り時刻データとの一致/不一致を判定し、同報メッセージ内のシーケンス番号とシーケンス番号レジスタ31内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させることができる。
【0073】
なお、サーバ立上り時刻レジスタ12,32によるサーバ立上り時刻の確認は、次のような問題を解決している。すなわち、サーバ10は、再立上げ時、シーケンス番号が初期値に戻る。サーバ10のシーケンス番号レジスタ11がサーバ停止中に不揮発性メモリにより保持されても、完全な初期化後にはシーケンス番号が初期値に戻る。このとき、初期値の値によっては、シーケンス番号の不連続に基づく抜け検出の信頼性が低下してしまう。
【0074】
例えば、サーバ10及びクライアント30のシーケンス番号レジスタ11,31の値が共に“4”であるとき、一時的な停電が発生し、あるクライアント30とサーバ10の間のLAN2が切断され、この切断中にサーバ10のみが立上り直してシーケンス番号を“0”に初期化し、同報メッセージを4個送信してからLAN2が再接続したとする。
【0075】
このとき、サーバ10のシーケンス番号レジスタ11の値は“4”であり、クライアント30のシーケンス番号レジスタ31は切断前の値の“4”を示す。ここで、サーバ10の情報が変化し、同報メッセージを1回送信したとすると、サーバ10からの同報メッセージ内のシーケンス番号が“5”になり、クライアント30は、その同報メッセージを受けてシーケンス番号レジスタの値が“5”になる。このように、クライアント30は、復帰のタイミングが悪いと停止時の4個の同報メッセージの抜けを検出できない問題がある。
【0076】
しかし本実施形態では、サーバ立上り時刻の一致/不一致をも確認するので、このような立上り直後のメッセージ抜けの検出不可を無くすことができる。
【0077】
(第2の実施形態)
次に、本発明の第2の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて前述した図2を用いて説明する。なお、以下の各実施形態も同様にして同一要素は前述した図面やその参照符号を用いて説明し、重複した説明を省略する。
【0078】
本実施形態は、第1の実施形態の構成において、再送要求の負荷の低減を特に述べるものであり、具体的には、サーバ10の同報メッセージ作成処理部17が「過去同報メッセージ保持数」を同報メッセージ内に含める機能を有し、クライアント30の抜け検出処理部35がサーバ10から受けた同報メッセージ内の「過去同報メッセージ保持数」に基づいて再送要求を行なう機能をもっている。
【0079】
ここで、過去同報メッセージ保存エリア14は、大きさが有限であるため、同報メッセージが何回か書込まれると、満杯になる。そこで、過去同報メッセージ保存エリア14は、ほとんど再送要求されない古い同報メッセージが消去され、最近の同報メッセージが「過去同報メッセージ保持数」の分だけ記憶される構成となっている。
【0080】
次に、このような構成のクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ10においては、同報メッセージ作成処理部17が、予め過去同報メッセージ保存エリア14内の最近の同報メッセージの数を「過去同報メッセージ保持数」として同報メッセージ内に含め、この同報メッセージをクライアント30に送出する。
【0081】
具体的には、例えば図3に示すように、8ビットのシーケンス番号は、初期値「0」から増加され、同報メッセージが256個送信されると、元の「0」に戻る。ここで、サーバ10の立上り時は、過去同報メッセージ保存エリア14にはデータが無く、その後、図4(a)に示すように、同報メッセージの送信に伴い、徐々に埋まっていく。このように、サーバ10の立上り時は、過去同報メッセージ保持数が増加し、満杯になると、増加しなくなる。
【0082】
また、サーバ10のシーケンス番号レジスタ11の値が「47」のとき、直前の同報メッセージ内のシーケンス番号は「46」であった。過去同報メッセージ保存エリア14にて同報メッセージが最大で6個入るとすると、その全てが埋まるとき、過去同報メッセージ保持数が「6」となる。
【0083】
このとき、過去同報メッセージ保存エリア14の内容は、図4(b)に示すようになる。同報メッセージが可変長であり、過去同報メッセージ保存エリア14も可変長で書込可能であると、過去同報メッセージ保持数は過去同報メッセージ保存エリア14が満杯でも変動する。
【0084】
ここで、クライアント30とサーバ10間の伝送が長時間の停止後に復帰したとする。例えばクライアント30のシーケンス番号レジスタ31の値が「38」で、そこの新たな同報メッセージが到着し、そのシーケンス番号が「46」であるとき、クライアント30ではシーケンス番号「39〜45」が抜けたことになる。
【0085】
クライアント30では、受信した同報メッセージにより、抜け検出処理部35が、同報メッセージの抜けを検出すると、抜けた同報メッセージのシーケンス番号「39〜45」が、今回の同報メッセージのシーケンス番号「46」を含めて過去方向に数えて過去同報メッセージ保持数6の範囲「41〜46」にないとき、抜けた同報メッセージがサーバ10にて消去済であると判定し、サーバ10への再送要求を行わない。
【0086】
この場合、抜け検出処理部35は、保持数6の範囲を越えるシーケンス番号「39,40」の同報メッセージを再送要求せず、保持数6の範囲内のシーケンス番号「41〜45」を指定して再送要求処理部37に再送要求を与える。
【0087】
また、クライアント30は、再送要求を送信したが、サーバ10から再送メッセージが返送されないとき、再送要求をリトライする。なお、このリトライ時にも再度、過去同報メッセージ保持数の範囲を確認することにより、時間の経過により消去された過去同報メッセージを再送要求せずに済むので、伝送効率を向上させることができる。
【0088】
上述したように本実施形態によれば、同報メッセージ作成処理部17が、過去同報メッセージ保存エリア14の所定保持数を含めるように同報メッセージを作成し、抜け検出処理部35が、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出するので、第1の実施形態の効果に加え、所定保持数以外の再送要求を省略してその無駄な負荷を削減することができる。
【0089】
また、サーバ10が、再送要求された同報メッセージの無い旨を応答するという無駄な伝送を省略でき、より一層、伝送効率を向上させることができる。
【0090】
(第3の実施形態)
次に、本発明の第3の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
一般に、情報の変化時だけに同報メッセージを送り、シーケンス番号の抜けを検出する場合、抜けの検出が遅れる場合がある。例えば図5に示すように、サーバ10からの同報メッセージの内、シーケンス番号「49」,「52」の同報メッセージが伝送異常により、クライアント30に届かない場合である。シーケンス番号「49」の同報メッセージの場合、直後にシーケンス番号「50」の同報メッセージが伝送され、直ぐに「抜け」が検出されている。
【0091】
しかし、シーケンス番号「52」の同報メッセージは、シーケンス番号「53」の同報メッセージが、長時間の経過後に伝送されたため、抜けの検出が遅れている。このように同報メッセージの伝送間隔が広がるほど、抜けの検出されるタイミングが遅れる可能性がある。
【0092】
本実施形態は、この可能性を解消する観点からなされたものである。
具体的には、本実施形態では、前述した機能に加え、サーバ10のタイマ送信処理部19並びに同報メッセージ作成処理部17、及びクライアント30の抜け検出処理部35に以下に述べる機能が付加されている。
【0093】
タイマ送信処理部19は、一定時間を計る再起動可能なタイマを設け、同報メッセージ又は補間メッセージを送信するとき、このタイマを再起動する機能をもっている。
【0094】
同報メッセージ作成処理部17は、タイマ送信処理部19内のタイマがタイムアップしたとき、情報(実質的な内容)のない同報メッセージ(以下、補間メッセージという)を、前述した同報メッセージと同様にシーケンス番号を付加して伝送処理部21を介して送信する機能をもっている。但し、補間メッセージの送信後は、前述した同報メッセージとは異なり、シーケンス番号レジスタ11のシーケンス番号を増加させず、且つ、補間メッセージを過去同報メッセージ保存エリア14に書込まない。
【0095】
クライアント30においては、抜け検出処理部35が、シーケンス番号レジスタ31の値と補間メッセージ内のシーケンス番号とを比較し、前述同様にシーケンス番号の抜けを検出する。但し、補間メッセージを受信した場合、シーケンス番号レジスタ31には、補間メッセージ内のシーケンス番号をそのまま書込む。なお、同報メッセージを受信した場合、同報メッセージ内のシーケンス番号に1を加え(増加し)、シーケンス番号レジスタ31に書込む。
【0096】
この処理を、例えば、図6を用い、一本線にて同報メッセージを示し、二本線矢印にて補間メッセージを示しつつ述べる。
補間メッセージは、同報メッセージ又は補間メッセージの送信後、タイマ値の時間が経過しても、新たな同報メッセージが送信されないとき、クライアント30に伝送される。補間メッセージを用いる方式では、サーバ10にてシーケンス番号レジスタ11の値を増加せず、クライアント30にて受信したシーケンス番号をそのままシーケンス番号レジスタ31に書込む。
【0097】
これにより、無駄な伝送を増やさず、同報メッセージの伝送間隔が長いときの同報メッセージ欠落検出の遅延時間を短縮できる。
上述したように本実施形態によれば、サーバとしては、同報メッセージ又は補間メッセージの送信毎に再起動され、一定時間を計測するタイマを有し、同報メッセージ作成処理部17が、タイマがタイムアップすると、シーケンス番号レジスタ11内のシーケンス番号とサーバ立上り時刻レジスタ12内のサーバ立上り時刻とを含み、且つメッセージ情報を含まない補間メッセージを作成してこの補間メッセージをクライアント30に送信し、クライアント30の抜け検出処理部35が、この補間メッセージ内のサーバ立上り時刻とサーバ立上り時刻レジスタ32内のサーバ立上り時刻との一致/不一致を判定し、補間メッセージ内のシーケンス番号とシーケンス番号レジスタ31内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、第1又は第2の実施形態の効果に加え、同報メッセージの伝送数が少ないときでも、補間時間毎に同報メッセージの抜け検出を行なうことができる。
【0098】
なお、遅延時間の最大値は、タイマ送信処理部19内のタイマ値にほぼ等しい。また、タイマ値内には必ず同報メッセージ又は補間メッセージが伝送されるので、クライアント30は、サーバ10の状態を診断することができる。
【0099】
補間メッセージの時間間隔の数倍が、サーバ10の立上り時間よりも十分短縮可能な際に、クライアント30にて、補間メッセージ又は同報メッセージを診断し、その数倍の期間、サーバ10から受信が無いと、シーケンス番号を不連続とみなすことにより、第2実施形態のサーバ立上り時間を使用せずに、シーケンス番号の連続性を確認できる。
【0100】
また、同報メッセージをダミーデータ又は情報無しで、定期的に送る場合に比べ、以下のような利点をもつ。
【0101】
ダミーデータの同報メッセージが欠落した場合、元々ダミーデータなので再送する必要が無いにも関わらず、サーバ10とクライアント30の両者共に無駄な再送処理が行われる。また、サーバ10では、ダミーデータであるのに、過去同報メッセージ保存エリア14を無駄に消費させる。これに対し、クライアント30から定期的に読出しを行う方法も考えられるが、クライアント30の増加に比例して読出処理も増加するので、LAN2の負荷を増大させてしまう。しかし、本実施形態ではそのような欠点がない。
【0102】
(第4の実施形態)
次に、本発明の第4の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
通常、欠落したシーケンス番号に該当する同報メッセージを再送要求するには、クライアント30からサーバ10に個別に再送要求する方式が考えられる。但し、この方式では、同報メッセージがサーバ10からLAN2に乗った直後にノイズ等で伝送異常となる場合、全てのクライアント30からサーバ10に再送要求が送られ、サーバ10では個々にこれに応答することになる。この場合、クライアント30の数の増加に伴い、負荷が増大する。そこで、再送要求に対する応答(又は再送)を同報メッセージで行うことにする。
【0103】
但し、全てのクライアント30からの再送要求に対し、同報メッセージで応答すると、先ほどの方式と同じ負荷がかかる。本実施形態は、このような問題を解決する観点からなされたものである。
【0104】
具体的には、本実施形態は、サーバ10の過去同報メッセージ保存エリア14内の各同報メッセージ毎に再送抑制タイマを備えている。再送抑制タイマは、起動されると、一定時間後に停止するものである。
【0105】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
サーバ10においては、クライアント30から再送要求を受けると、指定されたシーケンス番号に対応する同報メッセージを過去同報メッセージ保存エリア14から検索する。但し、その同報メッセージの再送抑制タイマの起動中は、その再送要求を無視する。再送抑制タイマが停止すると、該当する同報メッセージを再送メッセージとして同報伝送し、再送抑制タイマを起動する。
【0106】
また、同報メッセージが過去同報メッセージ保存エリア14内に無いとき、再送要求を無視し、第2の実施形態で述べた同報メッセージ保持数に基づき、クライアント30側で再送要求を止める。なお、サーバ10は、過去同報メッセージ保存エリア14内にその同報メッセージが無い旨をクライアント30に送信してもよい。
【0107】
上述したように本実施形態によれば、サーバ10としては、同報メッセージの送信毎に再起動され、一定の再送抑制時間を計測する再送抑制タイマを備え、再送応答処理部20が、抜け検出に対応して再送要求を受けたとき、再送抑制タイマの計測中は再送要求を無視し、再送抑制タイマの計測完了による停止中は再送要求に応じて同報メッセージを再送するので、第1〜第3の実施形態のいずれかの効果に加え、再送要求による負荷を低減させることができる。
【0108】
なお、この再送抑制タイマの値よりもクライアント30の再送要求リトライタイマを長くすることにより、再送要求による負荷を軽減させることができる。 また、クライアント30において、同報メッセージと再送メッセージが同じ同報伝送により受信されるので、受信処理をほぼ共通化させることができる。
【0109】
(第5の実施形態)
図7は本発明の第5の実施形態に係る同報伝送方式の適用されたクライアントサーバシステムの構成を示す模式図である。なお、図7は後述する第7の実施形態にも参照される。
【0110】
通常、伝送路の品質が悪くなり、伝送路にノイズが重畳して伝送異常が時々発生する状態では、再送要求がその伝送異常に合わせて増加する。また、再送要求は、クライアント30の数に比例して増加する。これら再送要求の増大はLANの負荷を増大させてしまう。
【0111】
本実施形態は、この問題を解決する観点から、単位時間当りの再送要求による再送メッセージ数の方が通常の同報メッセージ数よりも多い場合を考慮し、再送メッセージに代えて、図8に示すように、初めから同報メッセージを連続送信する連送処理を実行するものである。
【0112】
ここで、初回の同報メッセージを初送、2回目以降の再送メッセージを連送と呼ぶ。連送しない場合を考慮し、連送回数を0以上とする。但し、システムに応じ、2連送を最低としてもよい。
【0113】
具体的には、サーバ10は、タイマ送信処理部19を省略し、連送回数レジスタ22、連送処理部23、連送関連コマンド処理部24を備えている。
【0114】
連送回数レジスタ22は、連送残り回数が記憶されており、再送応答処理部20又は連送関連コマンド処理部24により、連送残り回数が変更可能となっている。なお、連送回数レジスタ22は、2連送のとき、最低値が「1」になる。このように連送回数レジスタは、最低値を持つが、最高値を持たせ、連送回数をある程度抑制することが伝送の無駄を無くす観点から好ましい。すなわち、連送回数レジスタ22は、連送残り回数が最高値と最低値の範囲で変化するものとなっている。
【0115】
なお、保存処理部18は、前述した機能の他、連送回数レジスタ22から連送残り回数を読出し、この連送残り回数を同報メッセージに付加して過去同報メッセージ保存エリア14に保存する機能をもっている。ここで、過去同報メッセージ保存エリアは、図9に示すように、同報メッセージとその連送残り回数とが記憶される。
【0116】
連送処理部23は、過去同報メッセージ保存エリア14内の連送残り回数を参照し、「0」以外のとき、その同報メッセージをクライアント30に連送し、1回の連送毎に過去同報メッセージ保存エリア14内の連送残り回数を「1」だけ減少させる機能をもっている。
【0117】
再送応答処理部20は、前述した機能の他、一定時間間隔で再送率(再送個数を初送個数で割った値)を調べ、再送率が判定値を越えたら連送回数レジスタの連送残り回数を「1」にする。
【0118】
連送関連コマンド処理24は、クライアント30から受けた連送関連コマンド(連送継続、連送中止)により、連送回数レジスタ22内の連送残り回数を変更する機能をもっている。
【0119】
クライアント30の重複検出・情報保存処理部36は、前述した機能の他、連送メッセージの統計をとって連送継続又は連送中止を判定し、判定結果を連送関連処理部39に与える機能が付加されている。
【0120】
連送関連処理部39は、重複検出・情報保存処理部36から受けた判定結果に基づいて、連送継続又は連送中止を示す連送関連コマンドをサーバ10に送出するものである。
【0121】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ10では、連送処理部23が、過去同報メッセージ保存エリア14を参照し、「0」以外のとき、その同報メッセージをクライアント30に連送し、1回の連送毎に過去同報メッセージ保存エリア14内の連送残り回数を「1」だけ減少させる。
【0122】
これにより、サーバ10では、同報メッセージを過去同報メッセージ保存エリア14内の連送残り回数だけ繰返してクライアント30に送信する。
【0123】
また、クライアント30では、重複検出・情報保存処理部36が連送メッセージの統計をとって連送継続又は連送中止を判定し、判定結果を連送関連処理部39に与える。
【0124】
連送関連処理部39は、この判定結果に基づいて、連送継続又は連送中止を示す連送関連コマンドをサーバ10に送出する。
【0125】
サーバ10では、連送関連コマンド処理24が、この連送関連コマンド(連送継続、連送中止)に応じ、例えば連送継続の場合、連送回数レジスタ22内の連送残り回数を「2」に変更し、連送中止の場合、連送残り回数を「0」に変更する。これにより、クライアント30側の判断で連送を制御することができる。
【0126】
また一方、再送応答処理部20は、一定時間間隔で再送率(再送個数を初送個数で割った値)を調べ、再送率が判定値を越えたら連送回数レジスタ22の連送残り回数を「1」にする。これにより、サーバ10側の判断でも連送を制御することができる。
【0127】
さらに、連送回数レジスタ22は、図示しない上位ホストからの要求により、連送残り回数が「0」にされる。これにより、上位ホスト側の判断でも連送を制御することができる。
【0128】
このような方式により、伝送路が異常になっても、自動的に同報メッセージを連送し、LANの伝送負荷を軽減させると共に、連送の状態に応じて連送残り回数を制御することで無駄な連送を省略することができる。
【0129】
上述したように本実施形態によれば、サーバ10としては、同報メッセージを連続的に送信する連送回数が記憶された連送回数レジスタ22を備え、連送処理部23が、連送回数レジスタ22の連送回数に基づいて、同報メッセージ作成処理部17により作成された同報メッセージを連続的に送信し、再送応答処理部20が、一定時間間隔で再送率が判定値を越えたか否かを判定し、判定値を越えたとき、連送回数レジスタ22内の連送回数を増加させるので、第1の実施形態の効果に加え、伝送路が異常になっても自動的に同報メッセージを連続送信でき、LANの伝送負荷を低減させることができる。
【0130】
また、通常、同報メッセージの順番を重視する用途では、再送により順番が乱れるとき、順番の並び替え処理が必要になる。この並び替え処理は、多量のバッファを要する上、受信処理を遅延させる。これを避ける観点からも、本実施形態で述べた連送は有効である。
【0131】
なお、同報メッセージの初送と連送との間で遅延時間を設けないとき、連送処理部23を省略し、図10に示すように、同報メッセージ作成処理部17が連送回数レジスタ22を参照してその連送残り回数だけ同報メッセージを連続的に送信するソフトウェア構成に変形してもよい。
【0132】
(第6の実施形態)
次に、本発明の第6の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図11を用いて説明する。
【0133】
本実施形態は、連送の中止又は連送数の減少に関するものであり、手動コマンドでも実行可能であるが、ここでは自動コマンドを用いた場合を述べる。また、第5の実施形態と同様に再送率を用いてもよいが、ここでは、再送回数の頻度を用いて自動に連送回数を増減させる方法を説明する。具体的には、簡易的に移動平均をとる方法を述べる。
【0134】
サーバ10は、頻度を計算するための頻度レジスタ25を備えている。
同報メッセージ作成処理部17は、前述した機能の他、同報メッセージを送信する毎に頻度レジスタ25を0.9999倍する機能をもっている。
【0135】
また、再送応答処理部20は、再送率の算出を除く前述した機能の他、再送要求を受けると、シーケンス番号毎に頻度レジスタ25の値を増加させる機能と、頻度レジスタ25の値が100.47以上になると、LAN2の伝送路に異常が多発した旨を判定して連送回数レジスタ22の値を2連送にする機能と、頻度レジスタ25の値が1.58以下になると、LAN2が正常に復帰したと判定し、2連送を中止する機能とをもっている。
【0136】
なお、頻度レジスタ25の値は、「100.47」が100回の同報メッセージに1回再送が発生する頻度であり、「1.58」が100回の同報メッセージに1回再送が発生する頻度で2連送とも異常になる確率に対応する。この「1.58」は、換言すると、10000回の同報メッセージに1回の再送が発生する頻度に相当する。
【0137】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ10においては、同報メッセージ作成処理部17が同報メッセージを送信する毎に頻度レジスタ25を0.9999倍する。
【0138】
ここで、クライアント30は、前述同様に、同報メッセージの抜けを検出すると再送要求をサーバ10に送信する。
【0139】
サーバ10においては、再送応答処理部20が再送要求を受けると、シーケンス番号毎に頻度レジスタ25の値を増加させると共に、頻度レジスタ25の値を100.47以上か否かを判定し、否のときには1.58以下か否かを判定し、いずれかが否でないとき、連送回数レジスタ22の値を変更する。
【0140】
これにより、サーバ10は、図12に示すように、再送頻度が100.47以上のとき、連送回数を増加し、再送頻度が1.58以下のとき、連送回数を減少する。これにより、サーバ10側において、再送頻度に応じて連送回数を制御することができる。
【0141】
なお、最大で2連送の場合、頻度レジスタ25の前の連送数での影響は、時間の経過により頻度が小さくなるまで、ハンチングの防止機構として機能する。
【0142】
また、最大で3連送以上の場合、連送数変更前の頻度の影響を除く観点から、比較禁止期間が設けられる。例えば、頻度レジスタ25を作成し、連送数増加レベル(100.47)と、連送数減少レベル(1.58)とで比較するが、図13に示すように、比較の結果、連送数を変更すると、その直後から一定時間の比較禁止期間を設けている。
【0143】
この比較禁止期間中は、頻度レジスタ25の値を更新するが、連送数を増加又は減少しない。この比較禁止期間により、次の(A1)(A2)の影響を低減できる。
【0144】
(A1)連送数を変更しても、ある程度の期間中、前の再送頻度が頻度レジスタ25の値に影響する。例えば、連送数を変化させる前の同報メッセージがクライアント30に送信され、その連送要求がサーバ10に到着する時間まで、前の再送頻度が頻度レジスタ25の値に影響する。
【0145】
(A2)頻度レジスタ25は、時間の経過により前の頻度の影響が等比で減少するが、ある程度、減少するまでは前の頻度の影響が残る。
【0146】
なお、前の頻度の影響を低減させるには、比較禁止期間に代えて、連送数を変えたときに頻度レジスタ25の値を変えてもよい。具体的には、例えば図14に示すように、連送数を変えた時に、頻度レジスタ25の値を連送数増加レベルと連送数減少レベルとの中間値としてもよい。この方式は、上記(A2)の影響を完全に解消する。また、上記(A1)の影響を、増加/減少レベルと中間値との間の余裕分により吸収できる。この方法は、比較禁止期間を無くすため、連送数の応答性を向上できる。
【0147】
上述したように本実施形態によれば、サーバ10としては、再送頻度が100.47以上のとき、連送回数を増加し、再送頻度が1.58以下のとき、連送回数を減少することにより、再送頻度に応じて連送回数を制御することができる。
【0148】
また、サーバ10としては、再送応答処理部20により判定値を越えたと判定される毎に起動され、一定の判定禁止時間を計測する判定禁止タイマを有し、再送応答処理部20としては、判定禁止タイマの計測中には判定を実行しないので、第5の実施形態の効果に加え、連送回数を変えた直後に残る、以前の連送数の影響を無くすことができる。また、連送数の中止又は減少を自動化することができる。
【0149】
(第7の実施形態)
次に、本発明の第7の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図7を用いて説明する。
本実施形態は、第5又は第6の実施形態の如きサーバ10による連送数の制御とは異なり、クライアント30が、同報メッセージの受信回数を統計処理した結果に応じて連送数を制御するものである。
【0150】
具体的には、サーバ10の同報メッセージ作成処理部17は、前述した機能の他、連送残り回数を含む同報メッセージを作成し、この同報メッセージをクライアント30に送信する機能をもっている。
【0151】
クライアント30の受信管理表33は、サーバ10に対応して設けられ、図15に示すように、各配列毎に、シーケンス番号、受信完了フラグ、連送残り回数、再送要求タイマ及び同報受信数が記憶されるものである。なお、再送要求タイマは、次の第8実施形態で述べるので、ここでは省略可能である。
【0152】
重複検出・情報保存処理部36は、前述した機能の他、抜け検出処理部35から同報メッセージを受けると、受信管理表33を参照してシーケンス番号からその同報メッセージの有無を判定し、無しのとき、受信完了フラグを“○(受信完了)”にすると共にその受信回数を示す同報受信数を「1」として受信管理表33に書込む一方、有りのとき、同報受信数を「1」だけ増加させるように受信管理表33に更新する機能をもっている。
【0153】
また、重複検出・情報保存処理部36は、同報メッセージに抜けのあるとき(シーケンス番号の飛びのあるとき)、飛びのあるシーケンス番号の保存エリアを確保してそのシーケンス番号を書込み、その受信完了フラグを“×(受信未完了)”にし、その連送数を今回の受信値で書込むと共に同報受信数をゼロと書込む機能をもっている。
【0154】
さらに、重複検出・情報保存処理部36は、定期的に受信管理表33内の同報受信数の統計を取り、統計結果に基づいて、連送数増加要求又は連送数減少要求を連送関連処理部39に与える機能をもっている。
【0155】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
サーバ10では、同報メッセージ作成処理部17が、連送残り回数を含む同報メッセージを作成し、この同報メッセージをクライアント30に送信する。
【0156】
クライアント30では、重複検出・情報保存処理部36が、抜け検出処理部35から同報メッセージを受けると、受信管理表33を参照して例えばシーケンス番号「1234」からその同報メッセージの有無を判定し、無しのとき、図15(a)に示すように、「1234」の1つ前の「1233」の行を探し、その行の次の行を消去し、このシーケンス番号「1234」を保存する。初送又は連送のいずれを受信しても同じ結果を書込む。なお、メッセージ中の連送数「2」を受信管理表33の該当部分に書込むと共に、同報受信数に「1」を書込んで初期化する。
【0157】
また、同報メッセージが有りのとき、その同報メッセージは連送であり(初送でない)、受信管理表33中の該当する行の同報受信数を増加させる。なお、検索の際には、シーケンス番号の連続性に基づき、予め記憶した前回更新した行の付近を検索する方が処理を高速化できる。
【0158】
次に、シーケンス番号「1236」の同報メッセージを受信した場合を述べる。シーケンス番号「1236」の同報メッセージを受信すると、前述同様に、受信管理表33内の「1236」の値がある行を検索する。無いので、次にそれより1つ小さい値である「1235」を検索する。これも無いので、更にもう1つ小さい値を検索する。
【0159】
ここで、図15(a)に示したように、シーケンス番号「1234」が有るので、検索を終了する。但し、検索する値が無い場合、前述同様に、シーケンス番号を1ずつ減少させて検索を継続する。
【0160】
また、重複検出・情報保存処理部36は、存在した番号の行の、次の行から、元の値から減少させた行数分、受信管理表33の内容を消去する。図15(a)の場合は2行分消去する。続いて、図15(b)に示すように、消去した最後の行に、受信した同報メッセージのシーケンス番号「1236」を書込み、「1234」の時と同様に連送数「2」と同報受信数「1」を書込む。
【0161】
次に、重複検出・情報保存処理部36は、図15(c)に示すように、飛ばした行を埋めるため、配列番号12の位置を埋める。シーケンス番号としては、抜けた番号の「1235」を書込む。受信完了フラグは受信未完了(×)とする。連送数は、シーケンス番号「1236」の同報メッセージの値を書込む。なお、途中で連送数が変化しても、抜けた同報メッセージの連送数は、今回受信した同報メッセージと同じ連送数であると仮定する。また、抜けた同報メッセージの同報受信数をゼロと書込む。
【0162】
さらに、重複検出・情報保存処理部36は、図16に示すように、定期的に受信管理表33内の同報受信数の統計処理を行なう。この統計処理は、同報メッセージの抜けがある程度以上あるときには連送数増加要求を送信し、また、同報メッセージの抜けがないときには連送数「1」の場合を除いて連送数減少要求を送信するためのものである。
【0163】
これにより、重複検出・情報保存処理部36は、連送数増加要求又は連送数減少要求を連送関連処理部39を介してサーバ10に送信する。
【0164】
このように、クライアント側だけでも同報受信数に応じて連送数を制御することができる。
上述したように本実施形態によれば、同報メッセージ作成処理部17としては、連送回数レジスタ22内の連送回数を含めるように同報メッセージを作成し、クライアント30としては、同報メッセージの受信数と抜けた数とに基づいて、同報メッセージの抜けが所定割合を越えるときには連送数増加要求をサーバ10に送信し、同報メッセージの抜けがないときには連送回数が最低値の場合を除いて連送数減少要求をサーバ10に送信するので、第5又は第6の実施形態の効果に加え、クライアント30側からも連送数を制御することができる。
【0165】
なお、サーバ10では、複数クライアントを考慮し、連送数の減少要求又は増加要求の統計により、連送数を制御することが好ましい。理由は、同じ状態であっても、クライアント30により、連送数減少要求を出す場合と連送継続要求を出す場合とがあるからである。
【0166】
(第8の実施形態)
次に、本発明の第8の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図17を用いて説明する。
本実施形態は、ある期間をもつ異常を回避する観点から、連送する同報メッセージにおいて、初送と連送との間隔を開けるものである。
【0167】
サーバ10は、シーケンス番号毎に起動され、一定時間でタイムアップする連送間隔タイマ26を備えている。
【0168】
連送間隔タイマ26は、シーケンス番号毎に起動され、そのタイマ値が過去同報メッセージ保存エリア14に保存され、一定時間でタイムアップするものである。なお、過去同報メッセージ保存エリア14は、図18に示すように、シーケンス番号、サーバ立上り時刻、連送残り回数、連送間隔タイマ値、及び情報が記憶されるものとなっている。
【0169】
連送処理部23は、前述した機能に加え、連送間隔タイマを参照して連送を行なう機能や連送間隔タイマを再起動する機能が付加されたものである。
【0170】
具体的には、連送処理部23は、過去同報メッセージ保存エリア14内の連送残り回数を参照し、「0」以外で且つ連送間隔タイマがタイムアップしたとき、その同報メッセージをクライアント30に連送し、1回の連送毎に過去同報メッセージ保存エリア14内の連送残り回数を「1」だけ減少させると共に、連送間隔タイマを再起動する機能をもっている。なお、連送処理部23は、同一の同報メッセージの連送間隔の間に、シーケンス番号の異なる他の同報メッセージを連送可能となっている。
【0171】
一方、クライアント30は、再送要求タイマ40を備えている。
再送要求タイマ40は、シーケンス番号毎に起動され、そのタイマ値が受信管理表33に保存され、タイマ値の経過後にタイムアップするものである。なお、受信管理表33は、図15に示したように、シーケンス番号、受信完了フラグ、連送数、再送要求タイマ値、及び同報受信数が記憶されるものとなっている。
【0172】
なお、重複検出・情報保存処理部36は、前述同様のシーケンス番号毎に同報メッセージの抜けを補充する機能の他、再送要求タイマ40がタイムアップすると、その同報メッセージのシーケンス番号を指定して再送要求を再送要求処理部37に与える機能をもっている。
【0173】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
連送処理部23は、連送処理部23は、過去同報メッセージ保存エリア14内の連送残り回数を参照し、「0」以外で且つ連送間隔タイマがタイムアップしたとき、その同報メッセージをクライアント30に連送し、1回の連送毎に過去同報メッセージ保存エリア14内の連送残り回数を「1」だけ減少させると共に、連送間隔タイマを再起動する。
【0174】
一方、クライアント30においては、重複検出・情報保存処理部36が、前述同様のシーケンス番号毎に同報メッセージの抜けを補充する。
【0175】
例えば、シーケンス番号「1236」を持つメッセージを受信し、「1235」のシーケンス番号の抜けを検出したとき、重複検出・情報保存処理部36は、シーケンス番号「1236」の同報メッセージに対してその連送数と連送間隔との積算からタイマ値を算出し、得たタイマ値を再送要求タイマ40に設定して再送要求タイマ40を起動する。なお、この再送要求タイマ40のタイマ値は再送要求を送るまでの時間を意味する。但し、シーケンス番号「1235」の同報メッセージが、何時受信される予定であったか不明なので、「1236」の同報メッセージと同時に受信される予定であったと仮定する。
【0176】
この後、再送要求タイマ40のタイムアップ前にシーケンス番号「1235」の連送メッセージを受信すると、重複検出・情報保存処理部36は、再送要求タイマ40をクリアすると共に、受信完了フラグを完了(○)とする。
【0177】
また、シーケンス番号「1235」の連送メッセージを受信せず、再送要求タイマ40がタイムアップすると、重複検出・情報保存処理部36は、シーケンス番号「1235」を指定して再送要求を再送要求処理部37に与える。
【0178】
これにより、クライアント30は、遅延して到達する連送メッセージを、連送数を増やすことなく受信することができる。
【0179】
なお、連送間隔を空けて再送要求を行なう利点について述べる。LANの異常などにより伝送不能な期間が生じた場合、図19(a)に示すように、連送間隔無しであると、伝送不能な期間中、全ての同報メッセージが消失してしまい、再送要求が無駄になる。
【0180】
一方、本実施形態に対応する図19(b)に示すように、連送間隔を入れると、伝送異常を回避できるので、連送数を増加せずに、連送メッセージをクライアントに届けることができる。
【0181】
上述したように本実施形態によれば、サーバ10としては、同報メッセージの送信毎に再起動され、一定の連送間隔時間を計測する連送間隔タイマ26を有し、連送処理部23としては、同報メッセージを連続的に送信するとき、連送間隔タイマ26により計測される連送間隔時間に従って各送信の時間間隔を空けるので、第5〜第7の実施形態のいずれかの効果に加え、ある間隔をもった伝送異常を回避することができる。
【0182】
さらに、クライアント30としては、抜け検出処理部35により抜けが検出される毎に起動され、一定の再送要求抑制時間を計測する再送要求タイマ40を有し、抜け検出処理部35としては、過去の同報メッセージの抜けを検出したとき、再送要求タイマ40の計測中は抜け検出を無視し、再送要求タイマ40の計測完了による停止中は抜け検出に応じて当該同報メッセージを対象として再送要求をサーバ10に送信するので、第5〜第7の実施形態のいずれかの効果に加え、遅れてくる連送の抜け検出を実行でき、早すぎる判定を防止することができる。
【0183】
(第9の実施形態)
次に、本発明の第9の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて前述した図2を用いて説明するが、その前に本実施形態で用いるタグに関し、図20を用いて若干の補足説明を行う。
本実施形態中、情報の単位をタグと呼ぶ。タグは、互いに関連するデータの集合である。サーバ10は、タグのデータを作成し、一般に、複数のタグを有する。クライアント30は、サーバ毎に複数のタグを有する。
【0184】
クライアント30は、タグのデータを参照するが、高速にアクセスするため、タグのコピーを保持しておく。サーバ10は、タグ内のデータが変化したり、一定であったりする。ここで、サーバ10とクライアント30とは、互いにタグのデータを一致させる必要があるため、サーバ10がタグデータをクライアント30に送信する。
【0185】
送信されるタグデータは、全部の場合と、変化した部分の場合とがある。伝送時には、タグ内のデータを一致させるため、各タグは夫々自己のデータが一度に同報伝送される。
【0186】
この種の同報伝送は、通常、定周期、あるいは定周期並びに変化時の両方で行われる。定周期の伝送を行なう理由は、本来は変化時のみ伝送すれば定周期で送る必要はないが、同報伝送には不確実な部分があったからである。
【0187】
本実施形態は、係る問題を解決する観点から、タグデータをその変化時だけ送信し、且つ確実にクライアント30に届けると共に、最新のタグデータのみを伝送することにより、伝送負荷の大幅な低減を図るものである。
【0188】
具体的には、本実施形態は、図2に示した構成を有し、サーバ10にて、複数又は1個のタグが変化したとき、サーバ10がクライアント30に対し、その複数又は1個のタグのデータを同報メッセージにして送信する方式である。なお、タグの個数が多く、1つの同報メッセージに収容できないとき、タグの固まり単位で分割して送信する。
【0189】
サーバ10では、前述同様に、最新の同報メッセージのシーケンス番号を保持するシーケンス番号レジスタ11を備える。クライアント30では、受信した同報メッセージのシーケンス番号を保持するシーケンス番号レジスタ31を備える。なお、クライアント31のシーケンス番号レジスタ31は、省略可能である。以下のクライアント31のシーケンス番号レジスタ31の参照処理は、付加的な機能である。
【0190】
また、サーバ10の過去同報メッセージ保存エリア14は、図21等に示すように、タグ番号、サーバ立上がり時刻(図示せず)、シーケンス番号及びデータを含む同報メッセージが記憶されるものである。
【0191】
同様に、クライアント30の情報エリア34は、図21等に示すように、タグ番号、シーケンス番号及びデータを含む同報メッセージが記憶されるものである。
【0192】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
いま、初期状態において、図21(a)に示すように、クライアント30及びサーバ10のシーケンス番号レジスタ31,11は、共に値が0である。また、サーバ10の過去同報メッセージ保存エリア14は4つのタグ番号tg1〜tg4について夫々シーケンス番号が0であり、且つデータが順にa,b,c,dとなっているとする。
【0193】
ここで、サーバ10は、タグデータが変化すると、そのタグデータを含む同報メッセージをクライアント30に送信し、その同報メッセージのシーケンス番号をタグデータのシーケンス番号レジスタ11に書込む。
クライアント30は、同報メッセージ内のタグデータを情報エリア34に書込むと共に、同報メッセージ内のシーケンス番号をシーケンス番号レジスタ31に書込む。これにより、図21(b)に示す状態となる。
【0194】
次に、サーバ10では、図21(c)に示すように、タグ番号tg2のデータがfからhに変化し、そのデータhがクライアントに送信される。このとき、クライアント30とサーバ10は、図21(d)に示すように、シーケンス番号レジスタ31,11の内容が共に一致し、過去同報メッセージ保存エリア14と情報エリア34の内容も共に一致している。
【0195】
続いて、図22(a)に示すように、サーバ10にてタグ番号tg2のデータがhからiに変化し、タグ番号tg3のデータがcからjに変化し、タグ番号4のデータがgからkに変化し、それらのデータが同一フレームの同報メッセージで伝送されたが、伝送異常でクライアント30に届かなかったとする。
【0196】
さらに、図22(b)に示すように、サーバ10にてタグ番号tg3のデータがiからmに変化し、そのデータが同報メッセージで伝送されたが、伝送異常でクライアント30に届かなかったとする。これにより、図22(c)に示す状態となる。
【0197】
また、図22(d)に示すように、サーバ10にてタグ番号tg2のデータがiからnに変化すると、そのデータを同報メッセージでクライアント30に伝送する。これにより、クライアント30とサーバ10は、図22(e)に示す状態となる。
【0198】
次に、クライアント30の抜け検出処理部35は、前述した手順により、シーケンス番号287〜288の同報メッセージの抜けを検出すると、図23(a)に示すように、シーケンス番号の範囲287〜288を指定して再送要求を再送要求処理部37を介してサーバ10に送出する。
【0199】
サーバ10においては、再送応答処理部20が、指定されたシーケンス番号の範囲287〜288に合致するタグを過去同報メッセージ保存エリア14から検索する。該当するタグは、タグ番号tg3,tg4である。タグ番号tg2の情報も一緒に抜けているが、シーケンス番号289により新たにデータが送信されているので、今回の再送対象から外れる。この機構は、同報メッセージが抜けたとき、クライアント30が最新データのみを必要とするシステムに好適であり、過去同報メッセージ保存エリアをタグ番号の分だけ設ければよくなるので、過去同報メッセージ保存エリアを縮小できる。
【0200】
なお、検索中、該当するタグが無い場合もある。これは、タグ番号tg2のように、指定されたシーケンス番号の同報メッセージの送信より後に再びタグが変化した場合である。このタグは、後の同報メッセージ内に最新のデータが含まれるので、そのシーケンス番号が再び抜けない限り、再送を要しない。
【0201】
また、サーバ10は、指示されたシーケンス番号287〜288のタグを検索すると、図23(b)に示すように、そのタグデータをクライアント30に送信する。これにより、クライアント30とサーバ10は、図23(c)に示す状態となる。
【0202】
上述したように本実施形態によれば、サーバ10としては、タグ番号、シーケンス番号、時刻データ及びメッセージ情報を含む同報メッセージがタグ番号毎に記憶される過去同報メッセージ保存エリア14と、クライアント30から再送要求を受けたとき、該当する同報メッセージをクライアントに送信する再送応答処理部20とを備え、抜け検出処理部35としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求をサーバ10に送信するので、第1の実施形態の効果に加え、データをタグ毎に記憶することにより、サーバのメッセージ情報(タグデータ)が何回変化しても、最終データのみ送信されるので、クライアント30って最新データだけが重要であるシステムに使用でき、且つクライアント30、サーバ10及び伝送路の負荷を低減させることができる。
【0203】
サーバ10のタグデータが何回変化しても、最終データのみ送られるので、サーバ10、クライアント30、LAN2にとり、負荷を軽減することができる。
【0204】
(第10の実施形態)
次に、本発明の第10の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
前述した第9の実施形態は、クライアント30にてシーケンス番号の抜けを検出すると、サーバ10に対し、シーケンス番号を指定してタグデータを再送要求する方式である。この方式は、タグデータの容量が小さい場合に適用される。理由は、タグデータの容量が大きいと、伝送方式にて1回の最大メッセージサイズに制限のある場合、再送メッセージが伝送の最大サイズを超える可能性があり、分割を要するからである。なお、再送メッセージのサイズが大きいと、最大サイズに制限のない伝送方式でも、再送メッセージの処理時間が長期化し、サーバ10やクライアント30にて優先度の高い伝送が待たされたり、LAN2の負荷を上昇させる可能性などがある。
【0205】
本実施形態は、これを防ぐ観点からなされたものであり、クライアント30の情報エリア34内に更新必要フラグを設け、この更新必要フラグのマークされているもののみを再送要求する方式である。
【0206】
具体的には、抜け検出処理部35は、前述した機能において、シーケンス番号を指定して再送要求を再送要求処理部37に与えるとき、同報メッセージの再送要求に代えて、タグ番号のみの再送要求を与える機能をもっている。
【0207】
更新必要フラグは、情報エリア34内に設けられ、サーバ10からタグ番号の再送を受けたとき、重複検出・情報保存処理部36によりマークされるものである。
【0208】
タグ番号は、数値、あるいは1タグ1ビットのビットマップにて送信可能となっている。また、タグ番号は、個々のタグをユニークに識別するための識別子に相当し、番号又は文字列などが適宜使用可能となっている。
【0209】
重複検出・情報保存処理部36は、前述した機能の他、新たに同報メッセージを受けたとき、情報エリア34内を検索し、該当する更新必要フラグのマークをクリアし、該当しない更新必要フラグがマークされていると、そのマークされた更新必要フラグのタグ番号を指定して同報メッセージの更新要求を再送要求処理部37に与える機能をもっている。
【0210】
なお、サーバ10の再送応答処理部20は、クライアント30からタグ番号のみの再送要求を受けると、該当するタグ番号を再送し、クライアント30からタグ番号を指定して同報メッセージの再送要求を受けると、該当するタグ番号の同報メッセージを再送する機能をもっている。
【0211】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【0212】
いま、図24(a)に示すように、クライアント30が同報メッセージの抜けを検出する前の図22(e)までの動作が行われたとする。
【0213】
クライアント30においては、抜け検出処理部35が同報メッセージの抜けを検出すると再送要求処理部37を介し、図24(b)に示すように、抜けた同報メッセージに対応するシーケンス番号の範囲287〜288内のタグ番号の再送要求をサーバ10に送信する。サーバ10の再送要求処理部20では、この再送要求に対し、図24(c)に示すように、該当するタグ番号tg3,tg4のみを返送する。
【0214】
クライアント30では、サーバ10から返送されたタグ番号tg3,tg4に対し、図24(d)に示すように、重複検出・情報保存処理部36が情報エリア34内の対応する更新必要フラグにマークを付ける。また、その直後、サーバ10にてタグ番号tg4のデータがkからpに変化し、図24(e)に示すように、そのデータpを含む同報メッセージがクライアント30に伝送されたとする。
【0215】
クライアント30は、この最新データkを含む新たな同報メッセージを受けたとき、図25(a)に示すように、そのタグ番号tg4の更新必要フラグをクリアする。これは、抜けた同報メッセージのタグに関し、新たな同報メッセージにより最新のタグデータを受けたので、抜けたタグデータが不要となったからである。
【0216】
クライアント30の重複検出・情報保存処理部36は、情報エリア34内の更新必要フラグをマークすると、直ぐに又は遅延時間の後、マークされたタグに関し、図25(b)に示すように、タグ番号tg3を指定して同報メッセージの更新要求を再送要求処理部37を介してサーバ10に送信する。
【0217】
サーバ10の再送応答処理部20は、図25(c)に示すように、指定されたタグ番号tg3のタグデータmを含む同報メッセージをクライアント30に再送する。
【0218】
クライアント30では、この同報メッセージを受けると、図25(d)に示すように、重複検出・情報保存処理部36がこのタグ番号tg3のデータmを更新すると共に、更新必要フラグをクリアする。
【0219】
これにより、タグデータが大量のときであっても、再送要求に対し、再送メッセージを一度に再送せずに、ゆっくりとデータを一致させることができる。また、再送要求中、抜けたタグに関して新たに同報メッセージを受信すると、そのタグを再送要求対象から外している。このように、ゆっくりとクライアント30がタグデータを再送要求することにより、サーバ10にて再送メッセージを分割送信でき、負荷減少並びにバッファ削減を実現することができる。また、LANの負荷を過大にせずに済む。
【0220】
上述したように本実施形態によれば、再送応答処理部20としては、同報メッセージに代えて、当該同報メッセージ内のタグ番号をクライアント30に送信し、クライアント30としては、重複検出・情報保存処理部36が、このタグ番号を指定して同報メッセージの再送要求をサーバ10に送信するので、第9の実施形態の効果に加え、クライアント30がゆっくりと同報メッセージを再送要求することにより、サーバ10の負荷を減少させることができる。
【0221】
(第11の実施形態)
次に、本発明の第11の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
第10の実施形態において、サーバ10では、頻繁に変化するタグと、変化の少ないタグとが混在している。ここで、シーケンス番号レジスタ11のビット数が小さいと(サーバ10の送信する同報メッセージの数よりも小さい場合)、シーケンス番号が1周して同じ値が使用される。
【0222】
例えば、シーケンス番号レジスタ11が8ビットのとき、シーケンス番号は、初期値「0」から256回の新たな同報メッセージに付加されると、再び「0」に戻る。
【0223】
ここで、変化の無いタグのシーケンス番号は「0」の値のままであり、256回目の同報メッセージで送信されたタグのシーケンス番号も「0」である。このため、クライアント30から、抜けた同報メッセージとしてシーケンス番号の「0」を指定された場合、サーバ10は、シーケンス番号「0」に相当する最近変化したタグの同報メッセージと、その1周前のシーケンス番号「0」の変化のない他のタグの同報メッセージとを再送してしまう。これは、無駄な伝送であるし、変化のないタグを変化したと見なす誤りをクライアント30にさせてしまう。
【0224】
本実施形態は、これの解決のためになされたもので、サーバ10及びクライアント30の両者が夫々最新のシーケンス番号レジスタ11,31の値に追越されないように、保存中の同報メッセージ内のシーケンス番号を増加させる方式である。なお、この方式は、クライアント30からの再送要求が最近のシーケンス番号を対象とするため、古いシーケンス番号を変えても支障無いという着想に基づく。
【0225】
具体的な構成としては、サーバ10は、定期的に又はシーケンス番号レジスタ11を更新する毎に、保存処理部18が、前述した機能に加え、過去同報メッセージ保存エリア14のシーケンス番号がシーケンス番号レジスタ11の値に追越されそうになると、過去同報メッセージ保存エリア14のシーケンス番号を増加させる機能をもっている。なお、増加させる値としては、1個づつ増加させる方式と、シーケンス番号の有効範囲内で大きな所定値を加える方式とがある。
【0226】
また同様に、クライアント30は、定期的に又はシーケンス番号レジスタ31を更新する毎に、重複検出・情報保存処理36が、前述した機能に加え、情報エリア34のシーケンス番号がシーケンス番号レジスタ31の値に追越されそうになると、過去同報メッセージ保存エリア34のシーケンス番号を増加させる機能をもっている。増加させる値は、サーバ10と同じである。
【0227】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【0228】
いま、シーケンス番号「122」の同報メッセージによりタグ番号tg4のデータがdに更新されたとする。このとき、クライアント30及びサーバ10は、図26(a)に示すように、最新のシーケンス番号レジスタ11,31の値「123」に対し、変化の無いタグtg2に対応するシーケンス番号が「123」となっている。すなわち、タグ番号tg2のシーケンス番号「123」がその1周後のシーケンス番号レジスタ11,31の値「123」に追越されそうになっている。
【0229】
ここで、タグ番号tg4のデータがdからeに変化したとする。
サーバ10は、タグ番号tg4の最新データeを含む同報メッセージの送信のため、シーケンス番号レジスタ11を更新するとき、保存処理部18が、過去同報メッセージ保存エリア14のシーケンス番号を確認し、タグ番号tg2のシーケンス番号がシーケンス番号レジスタ11の値に追越されそうなので、この過去同報メッセージ保存エリア14のシーケンス番号を増加させる。
【0230】
また同様に、クライアント30は、この同報メッセージを受信してシーケンス番号レジスタ31を更新するとき、重複検出・情報保存処理36が、情報エリア34のシーケンス番号を確認し、タグ番号tg2のシーケンス番号がシーケンス番号レジスタ31の値に追越されそうなので、この過去同報メッセージ保存エリア34のシーケンス番号を増加させる。
【0231】
これにより、1周前のシーケンス番号が混在して用いられることを阻止することができる。また、シーケンス番号を増加させる際に、図26(b)に示すように、1個づつ増加させたとき、シーケンス番号の有効範囲を大きく設定することができる。
【0232】
一方、シーケンス番号を増加させる際に、図26(c)に示すように、シーケンス番号の有効範囲内で大きな所定値(例、129)を加えたとき、増加させる回数と、確認する回数とを夫々低減させることができる。
【0233】
上述したように本実施形態によれば、サーバ10としては、保存処理部18が、過去同報メッセージ保存エリア14内のシーケンス番号が、シーケンス番号レジスタ11内のシーケンス番号に追越されそうになったとき、過去同報メッセージ保存エリア14内の該当するシーケンス番号を増加させるので、第9の実施形態の効果に加え、シーケンス番号を指定して再送要求されたとき、過去同報メッセージ保存エリア14内の1周前のシーケンス番号に対応する同報メッセージを再送してしまうといった誤りを無くすことができる。
【0234】
(第12の実施形態)
次に、本発明の第12の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。なお、本実施形態は、第11の実施形態の変形形態である。
【0235】
具体的には、本実施形態は、タグのシーケンス番号がシーケンスレジスタ11,31の値に追越されるのを阻止する方式として、サーバ10の保存処理部18が、次の条件(C1)〜(C3)のいずれか又はそれらの組合せを用い、条件が成立すると、該当するタグに変化が無くても変化有りと見なし、タグデータを再送応答処理部20を介してクライアント30に送信するものである。
【0236】
(C1) 過去同報メッセージ保存エリア14内のタグのシーケンス番号がシーケンス番号レジスタ11の値に追い越されそうである(前述と同じ)。あるいは過去同報メッセージ保存エリア14内のタグのシーケンス番号がシーケンス番号レジスタ11の値から所定の近い範囲にある。
【0237】
(C2) あるタグが一定時間変化しない。なお、この一定時間が、シーケンス番号の最短で一周可能な時間よりも短いとき、条件(C1)は不要である。
【0238】
(C3) タグに無関係で一定周期(たとえば1日に1回)毎に行う。
【0239】
なお、追越しを阻止するためのクライアント30への送信は、送信負荷の低減の観点から、専用の同報メッセージによりタグ番号のみを送信することが好ましい。ここで、専用の同報メッセージは、最新のシーケンス番号を有し、抜けたときに検出可能となっている。
【0240】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【0241】
いま、シーケンス番号「122」の同報メッセージによりタグ番号tg4のデータがdに更新されたとする。このとき、クライアント30及びサーバ10は、図27(a)に示すように、最新のシーケンス番号レジスタ11,31の値「123」に対し、変化の無いタグtg2に対応するシーケンス番号が「127」となっている。すなわち、タグ番号tg2のシーケンス番号「127」がその1周後のシーケンス番号レジスタ11,31の値「123」から+4の範囲内に入っている(条件C1)。
【0242】
ここで、サーバ10は、保存処理部18が、シーケンス番号レジスタ11の更新時に、タグ番号tg2のシーケンス番号「127」がシーケンス番号レジスタ11,31の値「123」から+4の範囲内に入っている旨を検出すると、過去同報メッセージ保存エリア14内のタグ番号tg2のシーケンス番号を「123」に変更すると共に、再送応答処理部20を起動する。
【0243】
再送応答処理部20は、この起動により、図27(b)に示すように、このタグ番号tg2及び更新後のシーケンス番号「123」をもつ専用の同報メッセージをクライアント30に送信する。
【0244】
これにより、クライアント30では、図27(c)に示すように、重複検出・情報保存処理部36が、タグ番号tg2のシーケンス番号を「123」に変更する。なお、条件C1についてはこのように実行するが、他の条件C2,C3についても、前述した+4の範囲内の検出によるトリガをタイマ等で生成することにより、同様に実行することができる。
【0245】
上述したように本実施形態によれば、保存処理部18としては、3つの条件C1〜C3のいずれかが成立したとき、該当する同報メッセージをシーケンス番号レジスタ11内のシーケンス番号に更新してクライアント30に送信するので、容易且つ確実にシーケンス番号レジスタ11,31の値が、タグのシーケンス番号を追越すことを阻止することができる。また、専用の同報メッセージを用いるので、同報メッセージのサイズを小さくでき、負荷を低減することができる。
【0246】
(第13の実施形態)
次に、本発明の第13の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
【0247】
前述した第11又は第12の実施形態は、シーケンス番号レジスタ11,31の値が、タグにおけるシーケンス番号の値に追越されないよう、タグのシーケンス番号の値をシーケンス番号の有効範囲の末尾に追従させる(別な見方で、先へ先へと更新する)方式である。
【0248】
本実施形態は、過去同報メッセージ保存エリア14や情報エリア34内のシーケンス番号がシーケンス番号レジスタ11,31の値に追越されそうなとき、過去同報メッセージ保存エリア14や情報エリア34内のシーケンス番号を通常使用しない特別値に置換する方式である。
【0249】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
いま、シーケンス番号レジスタ11,31は1〜255の値が循環的に設定されるものとし、「0」の値が使用されないものとする。
前述同様に、シーケンス番号「122」の同報メッセージによりタグ番号tg4のデータがdに更新されたとする。このとき、クライアント30及びサーバ10は、図28(a)に示すように、最新のシーケンス番号レジスタ11,31の値「123」に対し、変化の無いタグtg2に対応するシーケンス番号が「123」となっている。すなわち、タグ番号tg2のシーケンス番号「123」がその1周後のシーケンス番号レジスタ11,31の値「123」に追越されそうになっている。
【0250】
ここで、タグ番号tg4のデータがdからeに変化したとする。
サーバ10は、タグ番号tg4の最新データeを含む同報メッセージの送信のため、シーケンス番号レジスタ11を更新するとき、保存処理部18が、過去同報メッセージ保存エリア14のシーケンス番号を確認し、タグ番号tg2のシーケンス番号がシーケンス番号レジスタ11の値に追越されそうなので、図28(b)に示すように、この過去同報メッセージ保存エリア14のシーケンス番号を「0」に置換する。
【0251】
また同様に、クライアント30は、この同報メッセージを受信してシーケンス番号レジスタ31を更新するとき、重複検出・情報保存処理36が、情報エリア34のシーケンス番号を確認し、タグ番号tg2のシーケンス番号がシーケンス番号レジスタ31の値に追越されそうなので、この過去同報メッセージ保存エリア34のシーケンス番号を「0」に置換する。
【0252】
このように「0」値への置換を用いても、1周前のシーケンス番号が混在して用いられることを阻止することができる。
【0253】
なお、本実施形態は次のように変形して用いてもよい。この種の変形例としては、過去同報メッセージ保存エリア14及び情報エリア34内のシーケンス番号の初期値を特別値にすると、立上り時から変化の無いタグが多い場合、追越し阻止のための処理を低減できる。
例えば、8ビットのシーケンス番号を初期値を特別値「0」として増加させると、0→1→2→…→254→255→1→2→…→254→255→1→…、のように、初期値のみ「0」となるが、以下、1〜255までの値を循環して「0」には戻らない。このため、追越し阻止のための処理をしなくても、1周前のシーケンス番号が混在して用いられることを阻止することができる。
【0254】
なお、特別値を「0」に代えてマイナスの値としてもよい(シーケンス番号は0及び正の整数とする)。また、シーケンス番号とは別にフラグ又はデータを用意し、「0」の代わりに、そのフラグ又はデータを変化させてもよい。
さらに、特別値を「0」に代えて、シーケンス番号の変化無しの経過時間としてもよい。具体的には、特別値をマイナスの値としてその数値を追越されそうになってからの経過時間(−1〜−255秒)とする。例えば、図29(a)に示すように、タグ番号tg2のシーケンス番号が追越されそうな状態において、タグtg4のデータがdからeに変化したとする。ここで、サーバ10は、前述の「0」に代えて、図29(b)に示すように、タグ番号2のシーケンス番号を255(−1)に置換する。また、置換から10秒経過後、サーバ10は、図29(c)に示すように、タグ番号2のシーケンス番号を245(−11)に置換する。このように変形しても、1周前のシーケンス番号の混在を阻止でき、さらに、この経過時間により、タグの変化の無い時間を認識することができる。
上述したように本実施形態によれば、保存処理部18としては、シーケンス番号の増加に代えて、当該シーケンス番号を、シーケンス番号レジスタ11で使用されるシーケンス番号の範囲外の値に変更するので、第11の実施形態の効果に加え、立上り時から変化しないタグの多い場合、追越し阻止のための処理を少なくすることができる。
【0255】
(第14の実施形態)
次に、本発明の第14の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図2を用いて説明する。
本実施形態は、クライアントの立上り時又はサーバ・クライアント間での長時間での伝送不通からの回復時、サーバ10とクライアント30のタグデータを一致させる方式である。
【0256】
この種の方式は、タグデータのチェックサム(又は一定の演算結果)を、サーバ10とクライアント30で夫々算出し、両チェックサムが互いに異なると、クライアント30がサーバ10にタグデータを再送要求し、一致させることが考えられる。この考えは、処理が簡単であるものの、次の(B1)〜(B3)に示す欠点がある。
【0257】
(B1)常に全タグを演算する必要がある。
(B2)チェックサム値が一致しても、チェックサムのビット数に応じた確率でタグデータが異なる可能性がある。
(B3)1部のタグだけが変化しても変化部分が不明である。
【0258】
本実施形態は、これらを解決する観点からなされたものである。
具体的には、クライアント30において、立上り時に全てのタグ番号とそのシーケンス番号との組を再送要求する機能が再送要求処理部37に付加されている。
【0259】
また、重複検出・情報保存処理部35は、サーバ10からタグ番号とシーケンス番号との組を含む同報メッセージを受けると、この同報メッセージの内容と、情報エリア34の内容とを比較し、両者が異なるとき、異なりのあったタグ番号に関する同報メッセージの再送要求をサーバ10に送信する機能が付加されている。
【0260】
なお、クライアント30としては、不揮発性メモリ等によりダウン時又は電源オフ時にタグデータを保持可能なタイプと、タグデータを保持不可能なタイプとのいずれも適用可能である。
【0261】
次に、以上のように構成されたクライアント・サーバシステムにおける同報電送方式の動作を説明する。
いま、クライアント30及びサーバ10は、図30(a)に示すように、一致した状態にあったが、その後、クライアント30の電源がオフになったとする。
【0262】
また、クライアント30のダウン中、サーバ10にてタグ番号tg3のデータがcからeに変化し、続いて、タグ番号tg4のデータがdからfに変化した。その後、クライアント30は、電源の復帰により立上がるが、図30(b)に示すように、タグ番号tg3,tg4のシーケンス番号がサーバ10と異なる状態であるとする。
【0263】
クライアント30では立上り時に、図30(c)に示すように、再送要求処理部37が、全タグのシーケンス番号の再送要求(読出要求)をサーバ10に送信する。
サーバ10では、この再送要求を受けると、図30(d)に示すように、再送応答処理部20が、過去同報メッセージ保存エリア14内の全てのタグ番号tg1〜tg4とそのシーケンス番号との組を含む同報メッセージをクライアント30に送信する。
クライアント30では、この同報メッセージを受けると、重複検出・情報保存処理部36が、同報メッセージ内のタグ番号tg1〜tg4のシーケンス番号と、情報エリア34内のタグ番号tg1〜tg4のシーケンス番号とを比較し、両者が異なるとそのタグについてはサーバ10とクライアント30で値が異なると見なして、図30(e)に示すように、情報エリア34内の更新必要フラグをマークし、そのマークしたタグ番号tg3,tg4に関する同報メッセージの再送要求をサーバ10に送信する。
【0264】
以下、前述同様に、サーバ10は、この再送要求により、そのタグ番号に関する同報メッセージをクライアントに送信する。クライアント30は、この同報メッセージにより情報エリア34の内容を更新する。
【0265】
上述したように本実施形態によれば、より確実に、また、全データを収集するよりも伝送データを減少でき、クライアントとサーバのタグデータを互いに一致させることができる。
【0266】
クライアント30としては、再送要求処理部37が、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求をサーバ10に送信し、重複検出・情報保存処理部36が、サーバ10から全てのタグ番号に関して受けたシーケンス番号と、最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、第13の実施形態の効果に加え、全データを収集するよりも少ない伝送データにより、クライアント30内のデータをサーバ10内のデータに一致させることができる。
【0267】
(第15の実施形態)
次に、本発明の第15の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図31を用いて説明する。
【0268】
前述した第14の実施形態では、クライアント30のダウン中に、サーバ10のシーケンス番号レジスタ11の値が一周以上循環し得る場合、タグのシーケンス番号のみを比較しても誤りを生じる可能性がある。
【0269】
本実施形態は、それを解決する観点から、クライアント30が、ダウン時間(又はクライアント30とサーバ10間の伝送不通時間)を計測するダウン時間計測部41を備えている。
【0270】
また、重複検出・情報保存処理部36は、ダウン時間計測部41により計測されたダウン時間と、サーバ10から受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、更新必要フラグをセットする機能が付加されている。
【0271】
なお、追越し経過時間は、第13の実施形態で述べたマイナスにする方式、あるいは別フラグ又はデータを用いる方式により計測可能である。
【0272】
また、シーケンス番号の一周する時間は、タグの変化する確率や、最大変化数(予めシステム設計上推測可能)から予測可能となっている。
次に、以上のように構成されたクライアント・サーバシステムにおける同報電送方式の動作を説明する。
いま、クライアント30及びサーバ10は、図32(a)に示すように、追越し阻止のためにシーケンス番号が改変されたタグ番号2を除いては一致した状態にあったが、その後、クライアント30の電源がオフになったとする。
【0273】
また、クライアント30のダウン中、サーバ10にてタグ番号tg3のデータがcからeに変化し、続いて、タグ番号tg4のデータがdからfに変化した。
【0274】
ダウン開始から50秒後、クライアント30は、電源の復帰により立上がるが、図32(b)に示すように、タグ番号tg2,tg3,tg4のシーケンス番号がサーバ10と異なる状態であるとする。なお、ダウン時間の50秒は、ダウン時間計測部41が計測済であるとする。
【0275】
クライアント30では立上り時に、図32(c)に示すように、再送要求処理部37が、全タグのシーケンス番号の再送要求(読出要求)をサーバ10に送信する。
【0276】
サーバ10では、この再送要求を受けると、図32(d)に示すように、再送応答処理部20が、過去同報メッセージ保存エリア14内の全てのタグ番号tg1〜tg4とそのシーケンス番号との組を含む同報メッセージをクライアント30に送信する。
【0277】
クライアント30では、この同報メッセージを受けると、重複検出・情報保存処理部36が、はじめに、同報メッセージ内で追越し経過時間を示すタグ番号tg2に関し、ダウン時間計測部41により計測されたダウン時間(=50秒)と追越し経過時間(=60秒)とを比較する。
【0278】
比較の結果、ダウン時間の方が長いときにはダウン中にデータが更新された可能性があるので更新必要フラグをセットするが、ここではダウン時間の方が短いので同報メッセージ内のシーケンス番号を情報エリア34に書込む。なお、シーケンス番号「−61」に対応する追越し経過時間を60秒と見た理由は、追越されたときにそのシーケンス番号を「−1」としたからである。
【0279】
以下前述同様に、重複検出・情報保存処理部36は、同報メッセージ内のタグ番号tg1,tg3,tg4のシーケンス番号と、情報エリア34内のタグ番号tg1〜tg4のシーケンス番号とを比較し、両者が異なるとそのタグtg3,tg4についてはサーバ10とクライアント30で値が異なると見なして、図32(e)に示すように、情報エリア34内の更新必要フラグをマークし、そのマークしたタグ番号tg3,tg4に関する同報メッセージの再送要求をサーバ10に送信する。また同様に、サーバ10は、この再送要求により、そのタグ番号に関する同報メッセージをクライアントに送信する。クライアント30は、この同報メッセージにより情報エリア34の内容を更新する。
【0280】
上述したように本実施形態によれば、保存処理部18が、シーケンス番号の範囲外の値として追越し経過時間を用い、且つこの追越し経過時間を更新し、クライアント30としては、ダウン時間計測部41が、クライアント30のダウン時間を計測し、重複検出・情報保存処理部36が、ダウン時間計測部41により計測されたダウン時間とサーバから受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求をサーバ10に送信するので、第14の実施形態の効果に加え、クライアント30のダウン中にシーケンス番号が一周以上しても、クライアント30内のデータをサーバ10内のデータに確実に一致させることができる。また、クライアント30のダウンではなく、伝送不通の際にも、伝送不通時間がシーケンス番号の一周時間よりも短いとき、本実施形態を適用することができる。
なお、上述した第9〜第15の実施形態は、図2に基づいて説明したが、これに限らず、図7等の連送メッセージを用いる構成に基づいて説明しても、本発明と同様の効果を得ることができる。
【0281】
また、上述した各実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク(フロッピーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に書込んで各種装置に適用したり、通信媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記憶媒体に記憶されたプログラムを読込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【0282】
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【0283】
【発明の効果】
以上説明したように本発明によれば、負荷の増大を阻止しつつ、伝送の確実性を向上し得る同報伝送方式を提供できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る同報伝送方式の適用されたLAN構成を示す模式図
【図2】同実施形態におけるクライアント・サーバのソフトウェア構成を機能ブロックとして示す模式図
【図3】本発明の第2の実施形態におけるシーケンス番号を説明するための模式図
【図4】同実施形態における過去同報メッセージ保存エリアの動作を説明するための模式図
【図5】本発明の第3の実施形態における解決課題を説明するための模式図
【図6】同実施形態における動作を説明するための模式図
【図7】本発明の第5の実施形態に係る同報伝送方式の適用されたクライアントサーバシステムの構成を示す模式図
【図8】同実施形態における連送処理を説明するための模式図
【図9】同実施形態における過去同報メッセージ保存エリアの構成を示す模式図
【図10】同実施形態における変形構成を部分的に示す模式図
【図11】本発明の第6の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図12】同実施形態における動作を説明するためのタイムチャート
【図13】同実施形態における動作を説明するためのタイムチャート
【図14】同実施形態における変形形態を説明するためのタイムチャート
【図15】本発明の第7の実施形態における受信管理表を説明するための模式図
【図16】同実施形態における動作を説明するためのフローチャート
【図17】本発明の第8の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図18】同実施形態における過去同報メッセージ保存エリアの構成を示す模式図
【図19】同実施形態における利点を説明するための模式図
【図20】本発明の第9の実施形態におけるタグを説明するための模式図
【図21】同実施形態における動作を説明するための模式図
【図22】同実施形態における動作を説明するための模式図
【図23】同実施形態における動作を説明するための模式図
【図24】本発明の第10の実施形態における動作を説明するための模式図
【図25】同実施形態における動作を説明するための模式図
【図26】本発明の第11の実施形態における動作を説明するための模式図
【図27】本発明の第12の実施形態における動作を説明するための模式図
【図28】本発明の第13の実施形態における動作を説明するための模式図
【図29】同実施形態における動作を説明するための模式図
【図30】本発明の第14の実施形態における動作を説明するための模式図
【図31】本発明の第15の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図32】同実施形態における動作を説明するための模式図
【符号の説明】
,1k,1n…ステーション
2…LAN
10…サーバ
11,31…シーケンス番号レジスタ
12,32…サーバ立上り時刻レジスタ
13,34…情報エリア
14…過去同報メッセージ保存エリア
15…情報作成部
16…変化検出部
17…同報メッセージ作成処理部
18…保存処理部
19…タイマ送信処理部
20…再送応答処理部
21…伝送処理部
22…連送回数レジスタ
23…連送処理部
24…連送関連コマンド処理部
25…頻度レジスタ
26…連送間隔タイマ
30…クライアント
33…受信管理表
35…抜け検出処理部
36…重複検出・情報保存処理部
37…再送要求処理部
38…伝送処理部
39…連送関連処理部
40…再送要求タイマ
41…ダウン時間計測部

Claims (7)

  1. サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
    前記サーバは、
    前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
    前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
    前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
    前記各クライアントは、
    前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
    前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
    前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
    を備えており、
    前記サーバは、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、
    前記同報メッセージ作成手段は、前記過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、
    前記抜け検出手段は、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出することを特徴とする同報伝送方式。
  2. サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
    前記サーバは、
    前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
    前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
    前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
    前記各クライアントは、
    前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
    前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
    前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
    を備えており、
    前記サーバは、
    タグ番号、前記シーケンス番号、前記時刻データ及び前記メッセージ情報を含む同報メッセージが前記タグ番号毎に記憶される過去同報メッセージ記憶手段と、
    前記クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号を前記クライアントに送信する再送手段とを備え、
    前記抜け検出手段は、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求を前記サーバに送信し、
    前記クライアントは、
    前記再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する再送要求手段を備えたことを特徴とする同報伝送方式。
  3. サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
    前記サーバは、
    前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
    前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
    前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
    前記各クライアントは、
    前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
    前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
    前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致/不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致/不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
    を備えており、
    前記サーバは、
    前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、前記過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるシーケンス番号変更手段を備えたことを特徴とする同報伝送方式。
  4. 請求項に記載の同報伝送方式において、
    前記シーケンス番号変更手段は、(条件1)前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、(条件2)前記過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は(条件3)所定周期が来たとき、という3つの条件のいずれかが成立したとき、該当する同報メッセージを前記サーバ側番号記憶手段内のシーケンス番号に更新して前記クライアントに送信することを特徴とする同報伝送方式。
  5. 請求項に記載の同報伝送方式において、
    前記シーケンス番号変更手段は、前記シーケンス番号の増加に代えて、当該シーケンス番号を、前記サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更することを特徴とする同報伝送方式。
  6. 請求項に記載の同報伝送方式において、
    前記クライアントは、
    電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求を前記サーバに送信する第1の再送要求手段と、
    前記第1の再送要求手段による再送要求に応じて前記サーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第2の再送要求手段と
    を備えたことを特徴とする同報伝送方式。
  7. 請求項に記載の同報伝送方式において、
    前記サーバは、
    前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、
    前記シーケンス番号変更手段は、シーケンス番号の範囲外の値として、前記追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を前記追越し経過時間計測手段による計測結果に基づいて更新し、
    前記クライアントは、
    自己のダウン時間を計測するためのダウン時間計測手段と、
    前記ダウン時間計測部により計測されたダウン時間と前記第1の再送要求手段による再送要求に応じて前記サーバから受けたシーケンス番号としての追越し経過時間とを比較し、前記ダウン時間が前記追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第3の再送要求手段と
    を備えたことを特徴とする同報伝送方式。
JP06312399A 1999-03-10 1999-03-10 同報伝送方式 Expired - Lifetime JP4098434B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06312399A JP4098434B2 (ja) 1999-03-10 1999-03-10 同報伝送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06312399A JP4098434B2 (ja) 1999-03-10 1999-03-10 同報伝送方式

Publications (2)

Publication Number Publication Date
JP2000261469A JP2000261469A (ja) 2000-09-22
JP4098434B2 true JP4098434B2 (ja) 2008-06-11

Family

ID=13220198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06312399A Expired - Lifetime JP4098434B2 (ja) 1999-03-10 1999-03-10 同報伝送方式

Country Status (1)

Country Link
JP (1) JP4098434B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7894468B2 (en) * 2003-03-20 2011-02-22 Alcatel-Lucent Usa Inc. Transmission methods for communication systems supporting a multicast mode
JP2006324737A (ja) * 2005-05-17 2006-11-30 Matsushita Electric Ind Co Ltd 通信システム、パケット処理装置、及びパケット処理方法
JP4251207B2 (ja) 2006-04-28 2009-04-08 ソニー株式会社 サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体
JP4808664B2 (ja) * 2007-03-28 2011-11-02 京セラ株式会社 情報配信装置およびシステム、ならびにマルチキャスト配信の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01202947A (ja) * 1988-02-09 1989-08-15 Nippon Hoso Kyokai <Nhk> パケットヘッダ識別方式
JPH0720110B2 (ja) * 1988-10-25 1995-03-06 日本電気株式会社 同報通信方法
JP3304365B2 (ja) * 1991-09-26 2002-07-22 株式会社日立製作所 メッセージ通信制御方法および通信システム
JPH06253373A (ja) * 1993-02-22 1994-09-09 Yokogawa Electric Corp 分散形制御装置
JPH10262093A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd 伝送制御方法
JP3349926B2 (ja) * 1997-07-10 2002-11-25 三菱電機株式会社 受信制御装置、通信制御システム及び通信制御方法

Also Published As

Publication number Publication date
JP2000261469A (ja) 2000-09-22

Similar Documents

Publication Publication Date Title
US9372682B2 (en) Parallel programming and updating of lighting bus subscribers
US20060120326A1 (en) Mobile-unit-dedicated data delivery assistance method
US8341211B2 (en) System and method for inquiry caching in a storage area network
US20050174972A1 (en) Reliable message distribution in an ad hoc mesh network
US10684932B2 (en) Program update system, distribution device, and program update method
CN116303119B (zh) 冷热数据的识别方法、系统及存储介质
JP4098434B2 (ja) 同報伝送方式
CN100471165C (zh) 在网络中的缓冲数据的抢先重发
US20100131465A1 (en) Method for duplicating a database in a network of machines, and system of machines comprising a duplicated database
CN104410897A (zh) 一种数据存储的方法和装置
US8321736B2 (en) Transmission system, transmission method and communication device
US8438445B2 (en) Methods and systems for error detection of data transmission
JPH0591108A (ja) メツセージ通信制御方法および通信システム
JP2003304273A (ja) パケット中継装置、パケット中継プログラム、およびパケット中継方法
CN110162511A (zh) 一种日志传输方法及相关设备
CN114466321A (zh) 消息发送方法及装置、电子设备及存储介质
JP2816016B2 (ja) スキャン伝送方式
JP3787200B2 (ja) 複数の発信源からそれぞれ送られてくる複数のメッセージの順序を決定する方法、及びその方法を実施するためのシステム
CN114422484B (zh) 一种组播方法、装置、移动终端及存储介质
CN112395263B (zh) 一种osd的数据恢复方法及装置
KR100708608B1 (ko) 오버레이 멀티캐스트 시스템용 중계 장치 및 그의 동작방법
JP2010198520A (ja) コントローラ通信方法およびコントローラ通信装置
WO2020207045A1 (zh) 一种远程升级方法、装置、电子设备及存储介质
JP2000040003A (ja) ファームウェア更新システム
CN112689022A (zh) 一种数据自动续传方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080313

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

EXPY Cancellation because of completion of term