(57)【特許請求の範囲】
【請求項１】
サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
前記サーバは、
前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
前記各クライアントは、
前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
を備えており、
前記サーバは、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、
前記同報メッセージ作成手段は、前記過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、
前記抜け検出手段は、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出することを特徴とする同報伝送方式。
【請求項２】
サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
前記サーバは、
前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
前記各クライアントは、
前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
を備えており、
前記サーバは、
タグ番号、前記シーケンス番号、前記時刻データ及び前記メッセージ情報を含む同報メッセージが前記タグ番号毎に記憶される過去同報メッセージ記憶手段と、
前記クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号を前記クライアントに送信する再送手段とを備え、
前記抜け検出手段は、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求を前記サーバに送信し、
前記クライアントは、
前記再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する再送要求手段を備えたことを特徴とする同報伝送方式。
【請求項３】
サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、
前記サーバは、
前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、
前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、
前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、
前記各クライアントは、
前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、
前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、
前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段と
を備えており、
前記サーバは、
前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、前記過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるシーケンス番号変更手段を備えたことを特徴とする同報伝送方式。
【請求項４】
請求項３に記載の同報伝送方式において、
前記シーケンス番号変更手段は、（条件１）前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、（条件２）前記過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は（条件３）所定周期が来たとき、という３つの条件のいずれかが成立したとき、該当する同報メッセージを前記サーバ側番号記憶手段内のシーケンス番号に更新して前記クライアントに送信することを特徴とする同報伝送方式。
【請求項５】
請求項３に記載の同報伝送方式において、
前記シーケンス番号変更手段は、前記シーケンス番号の増加に代えて、当該シーケンス番号を、前記サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更することを特徴とする同報伝送方式。
【請求項６】
請求項５に記載の同報伝送方式において、
前記クライアントは、
電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求を前記サーバに送信する第１の再送要求手段と、
前記第１の再送要求手段による再送要求に応じて前記サーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第２の再送要求手段と
を備えたことを特徴とする同報伝送方式。
【請求項７】
請求項６に記載の同報伝送方式において、
前記サーバは、
前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、
前記シーケンス番号変更手段は、シーケンス番号の範囲外の値として、前記追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を前記追越し経過時間計測手段による計測結果に基づいて更新し、
前記クライアントは、
自己のダウン時間を計測するためのダウン時間計測手段と、
前記ダウン時間計測部により計測されたダウン時間と前記第１の再送要求手段による再送要求に応じて前記サーバから受けたシーケンス番号としての追越し経過時間とを比較し、前記ダウン時間が前記追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第３の再送要求手段と
を備えたことを特徴とする同報伝送方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、送信元の１台のステーションが同一メッセージを送信先の複数のステーションに伝送する同報伝送方式に係り、特に、負荷の増大を阻止し、伝送の確実性を向上し得る同報伝送方式に関する。
【０００２】
【従来の技術】
従来、１台の送信元ステーションが同一メッセージを複数の送信先ステーションに伝送する際に、送信に要する負荷及び伝送路の負荷を軽減する観点から、個別宛メッセージよりも同報伝送方式の方が有効である旨が知られている。
【０００３】
この種の同報伝送方式は、例えばＬＡＮ（ローカルエリアネットワーク）上に各ステーションが存在するとき、同一メッセージ（以下、同報メッセージという）を同時に全て又は任意グループ内などの複数の送信先ステーションに伝送可能となっている。各送信先ステーションは、同報メッセージを受信すると、受信した旨の応答をすることなく、夫々同報メッセージの記録処理等を実行する。
【０００４】
【発明が解決しようとする課題】
しかしながら以上のような同報伝送方式では、伝送の確実性を要求される用途には応答の無いために不向きとなっている。このため、応答のない同報伝送方式は、周期的な伝送に使用されている。理由は、異常発生により今回のメッセージが送信先に伝送されなくても、次回にメッセージを伝送可能であるからである。
【０００５】
なお、確実性を向上させる観点から、同報伝送方式に応答を付加する確認付きメッセージという方法も考えられる。但し、この方法は、送信先ステーションの数が少ない場合、個別宛メッセージと比べ、同報伝送方式を使う利点が少なくなっている。また、送信先ステーションの数が多い場合、送信処理に要する負荷や伝送路の負荷が個別宛メッセージの場合の半分になるだけである。
【０００６】
また、同報伝送方式は、ある周期で変化する同報メッセージの伝送に使用されるが、変化時以外でも同報メッセージを送信するので、無駄に負荷を要する。ここで、変化時以外の同報伝送を止めれば負荷を低減し得るが、伝送の確実性を低下させてしまう。
【０００７】
本発明は上記実情を考慮してなされたもので、負荷の増大を阻止しつつ、伝送の確実性を向上し得る同報伝送方式を提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送装置において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、前記同報メッセージ作成手段としては、前記過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、前記抜け検出手段としては、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出する同報伝送方式である。
【００１７】
また、請求項２に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、タグ番号、前記シーケンス番号、前記時刻データ及び前記メッセージ情報を含む同報メッセージが前記タグ番号毎に記憶される過去同報メッセージ記憶手段と、前記クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号を前記クライアントに送信する再送手段とを備え、前記抜け検出手段としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求を前記サーバに送信し、前記クライアントとしては、前記再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する再送要求手段を備えた同報伝送方式である。
【００１９】
さらに、請求項３に対応する発明は、サーバが複数のクライアントに同報メッセージを伝送する同報伝送方式において、前記サーバとしては、前記同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、前記サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段と、前記サーバ側番号記憶手段内のシーケンス番号と前記サーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む前記同報メッセージを作成し、この同報メッセージを前記クライアントに同報伝送する同報メッセージ作成手段とを備え、前記各クライアントとしては、前記サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、前記サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段と、前記サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データと前記クライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、前記同報メッセージ内のシーケンス番号と前記クライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出する抜け検出手段とを備えており、前記サーバとしては、前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、前記過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるシーケンス番号変更手段を備えた同報伝送方式である。
【００２０】
さらに、請求項４に対応する発明は、請求項３に対応する同報伝送方式において、前記シーケンス番号変更手段としては、（条件１）前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、（条件２）前記過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は（条件３）所定周期が来たとき、という３つの条件のいずれかが成立したとき、該当する同報メッセージを前記サーバ側番号記憶手段内のシーケンス番号に更新して前記クライアントに送信する同報伝送方式である。
【００２１】
また、請求項５に対応する発明は、請求項３に対応する同報伝送方式において、前記シーケンス番号変更手段としては、前記シーケンス番号の増加に代えて、当該シーケンス番号を、前記サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更する同報伝送方式である。
【００２２】
さらに、請求項６に対応する発明は、請求項５に対応する同報伝送方式において、前記クライアントとしては、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求を前記サーバに送信する第１の再送要求手段と、前記第１の再送要求手段による再送要求に応じて前記サーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第２の再送要求手段とを備えた同報伝送方式である。
【００２３】
また、請求項７に対応する発明は、請求項６に対応する同報伝送方式において、前記サーバとしては、前記過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、前記サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、前記シーケンス番号変更手段としては、シーケンス番号の範囲外の値として、前記追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を前記追越し経過時間計測手段による計測結果に基づいて更新し、前記クライアントとしては、自己のダウン時間を計測するためのダウン時間計測手段と、前記ダウン時間計測部により計測されたダウン時間と前記第１の再送要求手段による再送要求に応じて前記サーバから受けたシーケンス番号としての追越し経過時間とを比較し、前記ダウン時間が前記追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求を前記サーバに送信する第３の再送要求手段とを備えた同報伝送方式である。
【００２４】
（作用）
従って、請求項１に対応する発明は以上のような手段を講じたことにより、サーバとしては、同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるサーバ側番号記憶手段と、サーバ側番号記憶手段の値が不連続になった時点の時刻データが記憶されるサーバ側時刻記憶手段とを備え、各クライアントとしては、サーバから同報メッセージを受信する毎に更新されるシーケンス番号が保持されるクライアント側番号記憶手段と、サーバ側時刻記憶手段内の時刻データが転送されて書込まれるクライアント側時刻記憶手段とを備えている。
【００２５】
これにより、サーバの同報メッセージ作成手段が、サーバ側番号記憶手段内のシーケンス番号とサーバ側時刻記憶手段内の時刻データとメッセージ情報とを含む同報メッセージを作成し、この同報メッセージをクライアントに同報伝送し、クライアントの抜け検出手段が、サーバから同報メッセージを受けたとき、この同報メッセージ内の時刻データとクライアント側時刻記憶手段内の時刻データとの一致／不一致を判定し、同報メッセージ内のシーケンス番号とクライアント側番号記憶手段内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させることができる。
【００２６】
また、請求項１に対応する発明は、サーバとしては、最近の同報メッセージが所定保持数だけ記憶される過去同報メッセージ記憶手段を備え、同報メッセージ作成手段としては、過去同報メッセージ記憶手段の所定保持数を含めるように前記同報メッセージを作成し、抜け検出手段としては、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出するので、前述した作用に加え、所定保持数以外の再送要求を省略してその無駄な負荷を削減することができる。
【００３４】
また、請求項２に対応する発明は、サーバとしては、タグ番号、シーケンス番号、時刻データ及びメッセージ情報を含む同報メッセージがタグ番号毎に記憶される過去同報メッセージ記憶手段と、クライアントから再送要求を受けたとき、該当する同報メッセージ内のタグ番号をクライアントに送信する再送手段とを備え、抜け検出手段としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求をサーバに送信するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させるという前述した作用に加え、データをタグ毎に記憶することにより、サーバのメッセージ情報（タグデータ）が何回変化しても、最終データのみ送信されるので、クライアントにとって最新データだけが重要であるシステムに使用でき、且つクライアント、サーバ及び伝送路の負荷を低減させることができる。
【００３５】
また、請求項２に対応する発明は、クライアントとしては、再送要求手段が、再送手段からタグ番号を受けると、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、前述した作用に加え、クライアントがゆっくりと同報メッセージを再送要求することにより、サーバの負荷を減少させることができる。
【００３６】
さらに、請求項３に対応する発明は、サーバとしては、シーケンス番号変更手段が、過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったとき、過去同報メッセージ記憶手段内の該当するシーケンス番号を増加させるので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させるという前述した作用と、データをタグ毎に記憶することにより、サーバのメッセージ情報（タグデータ）が何回変化しても、最終データのみ送信されるので、クライアントにとって最新データだけが重要であるシステムに使用でき、且つクライアント、サーバ及び伝送路の負荷を低減させるという前述した作用に加え、シーケンス番号を指定して再送要求されたとき、過去同報メッセージ記憶手段内の１周前のシーケンス番号に対応する同報メッセージを再送してしまうといった誤りを無くすことができる。
【００３７】
さらに、請求項４に対応する発明は、シーケンス番号変更手段としては、（条件１）過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号から見て所定範囲内に入ったとき、（条件２）過去同報メッセージ記憶手段内に記憶された同報メッセージが所定時間変化しないとき、又は（条件３）所定周期が来たとき、という３つの条件のいずれかが成立したとき、該当する同報メッセージをサーバ側番号記憶手段内のシーケンス番号に更新してクライアントに送信するので、請求項３に対応する作用と同様の作用を奏することができる。
【００３８】
また、請求項５に対応する発明は、シーケンス番号変更手段としては、シーケンス番号の増加に代えて、当該シーケンス番号を、サーバ側番号記憶手段で使用されるシーケンス番号の範囲外の値に変更するので、請求項３に対応する作用に加え、立上り時から変化しないタグの多い場合、追越し阻止のための処理を少なくすることができる。
【００３９】
さらに、請求項６に対応する発明は、クライアントとしては、第１の再送要求手段が、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求をサーバに送信し、第２の再送要求手段が、第１の再送要求手段による再送要求に応じてサーバから全てのタグ番号に関してシーケンス番号を受けると、この受けたシーケンス番号と最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、請求項５に対応する作用に加え、全データを収集するよりも少ない伝送データにより、クライアント内のデータをサーバ内のデータに一致させることができる。
【００４０】
また、請求項７に対応する発明は、サーバとしては、過去同報メッセージ記憶手段内に記憶されたシーケンス番号が、サーバ側番号記憶手段内で更新されるシーケンス番号に追越されそうになったときからの追越し経過時間を計測するための追越し経過時間計測手段を有し、シーケンス番号変更手段としては、シーケンス番号の範囲外の値として、追越し経過時間計測手段により計測された追越し経過時間を用い、且つこの追越し経過時間を追越し経過時間計測手段による計測結果に基づいて更新し、クライアントとしては、ダウン時間計測手段が、自己のダウン時間を計測し、第３の再送要求手段が、ダウン時間計測部により計測されたダウン時間と第１の再送要求手段による再送要求に応じてサーバから受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求をサーバに送信するので、請求項６に対応する作用に加え、クライアントのダウン中にシーケンス番号が一周以上しても、クライアント内のデータをサーバ内のデータに確実に一致させることができる。
【００４１】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照して説明する。
（第１実施形態）
図１は本発明の第１実施形態に係る同報伝送方式の適用されたＬＡＮ構成を示す模式図である。このＬＡＮ構成は、図１（ａ）に示すように、ｎ台のステーション１１，…，１ｋ，…，１ｎが互いにＬＡＮ２を介して接続されている。
【００４２】
ここで、送信元ステーション１ｋをサーバと呼び、送信先ステーション１１，１ｎをクライアントと呼ぶ。あるメッセージを同報伝送するとき、１台のサーバと、複数のクライアントがあるとする。但し、他のメッセージを同報伝送するとき、図１（ｂ）に示すように、異なるステーション１ｎがサーバとなる可能性があり、また、サーバとクライアントとが同一のステーション１ｋに同居する可能性もある。
【００４３】
図２はこのクライアント・サーバのソフトウェア構成を機能ブロックとして示す模式図であり、後述する第２〜第４及び第９〜第１４の実施形態においても参照される。なお、図中、四角の枠は処理を示し、角丸の枠はデータの保存場所を示す。これら処理は、例えば磁気ディスク等の記憶媒体に記憶されたプログラムを読込み、このプログラムによって動作が制御されるコンピュータによって実現される。また、図２において、サーバ１０とクライアント３０とは互いにＬＡＮ２を介して接続されている。
【００４４】
サーバ１０は、シーケンス番号レジスタ１１、サーバ立上り時刻レジスタ１２、情報エリア１３、過去同報メッセージ保存エリア１４、情報作成部１５、変化検出部１６、同報メッセージ作成処理部１７、保存処理部１８、タイマ送信処理部１９、再送応答処理部２０、伝送処理部２１を備えている。
【００４５】
シーケンス番号レジスタ１１は、同報メッセージを特定するためのシーケンス番号が保持されるものであり、同報メッセージ作成処理部１７により同報メッセージが作成されると、保持するシーケンス番号が増加される。
【００４６】
サーバ立上り時刻レジスタ１２は、シーケンス番号レジスタ１１の値が不連続となった時点の時刻が記憶されるものである。不連続となる時点としては、例えば、サーバ１０のリセット時、電源オフ／オンによる起動開始時、又は他の理由によるシーケンス番号レジスタ１１の初期化時などがある。
【００４７】
なお、シーケンス番号レジスタ１１が不揮発性メモリのとき、サーバ立上り時刻レジスタ１２も同様に不揮発性メモリとされる。両レジスタ１１，１２が不揮発性メモリのとき、サーバ立上り時刻レジスタ１２は、今回サーバ１０が立上がっても、立上り前の前回にシーケンス番号レジスタ１１を初期化した時の時刻を使用可能である。また、サーバ立上り時刻レジスタ１２は、シーケンス番号の連続性を確認するためのデータメモリの一例であるので、前回の値と確実に異なるデータであれば、時刻に代えて用いてもよい。
【００４８】
情報エリア１３は、情報作成部１５により作成された情報が記憶されるものである。
過去同報メッセージ保存エリア１４は、送信された同報メッセージが保存処理部１８により書込まれるものであり、書込まれる同報メッセージの内容としては、シーケンス番号、サーバ立上り時刻、過去同報メッセージ保持数、及び情報などがある。
【００４９】
情報作成部１５は、同報伝送したい情報を作成するためのものであり、作成した情報を情報エリア１３に書込む機能をもっている。
【００５０】
変化検出部１６は、情報エリア１３内の情報を、定周期、あるいは情報エリア１３に書込まれるタイミングで変化の有無を検出し、変化有を検出すると同報メッセージ作成処理部１７を起動するものである。
【００５１】
同報メッセージ作成処理部１７は、変化検出部１６により起動されると、情報エリア１３内で変化した情報に対して、サーバ立上り時刻レジスタ１２内のサーバ立上り時刻、シーケンス番号レジスタ１１内のシーケンス番号、及び過去同報メッセージ保存エリア１４内の同報メッセージ保持数を付加し、これら変化した情報、サーバ立上り時刻、シーケンス番号及び同報メッセージ保持数を含む同報メッセージを作成し、この同報メッセージを伝送処理部２１及び保存処理部１８に送出し、且つタイマ送信処理部１９を再起動するものである。
【００５２】
保存処理部１８は、同報メッセージ作成処理部１７から受けた同報メッセージを過去同報メッセージ保存エリア１４に保存するものであり、過去同報メッセージ保存エリア１４内の過去同報メッセージ保持数を更新する機能をもっている。但し、新しい同報メッセージの保存は、過去同報メッセージ保存エリア１４が有限のため、過去同報メッセージ保存エリア１４内の古い同報メッセージの上書き消去により行なう。
【００５３】
タイマ送信処理部１９は、同報メッセージ作成処理部１７からトリガがある毎にタイマを再起動する機能と、同報メッセージの送信から一定時間経つと、情報の無い同報メッセージ（以下、補間メッセージという）を伝送処理部２１を介してクライアント３０に送信する機能とをもっている。ここで、補間メッセージは、情報が無い点と、初送の同報メッセージとは異なる値の識別値をもつ点で、同報メッセージ作成処理部１７の作成した同報メッセージとは相違している。
【００５４】
再送応答処理部２０は、伝送処理部２１を介してクライアント３０からシーケンス番号を指定した再送要求を受けると、過去同報メッセージ保存エリア１４内でシーケンス番号の一致する同報メッセージを検索し、得られた同報メッセージを再送メッセージとしてクライアント３０側に伝送処理部２１を介して同報伝送するものである。
【００５５】
伝送処理部２１は、サーバ１０内とＬＡＮ２との間で伝送処理（送受信処理）を実行するものであり、説明の簡単化のため、以後は特に述べない。
【００５６】
一方、クライアント３０は、シーケンス番号レジスタ３１、サーバ立上り時刻レジスタ３２、受信管理表３３、情報エリア３４、抜け検出処理部３５、重複検出・情報保存処理部３６、再送要求処理部３７、伝送処理部３８を備えている。
【００５７】
シーケンス番号レジスタ３１は、シーケンス番号を保持するものであり、立上り時に初期化され、以後、サーバ１０から新たな同報メッセージを受ける毎にシーケンス番号が実質的に増加されるものである。
【００５８】
サーバ立上り時刻レジスタ３２は、サーバ１０から受けたサーバ立上り時刻が記憶されるものであり、このサーバ立上り時刻は、サーバ１０の再立上げやリセット等のない限り、サーバ１０内のサーバ立上り時刻レジスタ１２の値と同じとなっている。
【００５９】
受信管理表３３は、サーバ１０から受けた同報メッセージ又は補間メッセージのシーケンス番号、サーバ立上り時刻、同報メッセージ保持数が記憶されるものである。
【００６０】
情報エリア３４は、重複検出・情報保存処理３６により重複しない同報メッセージの情報が書込まれるものである。
【００６１】
抜け検出処理部３５は、伝送処理部３８を介してサーバ１０から同報メッセージ又は補間メッセージを受けると、そのメッセージ内のサーバ立上り時刻と自己のサーバ立上り時刻レジスタの値との不一致の有無と、メッセージ内のシーケンス番号と自己のシーケンス番号レジスタ３１の値との不一致の有無とを判定する機能を有し、少なくとも一方を不一致と判定したとき、不一致と判定した同報メッセージのシーケンス番号を指定して再送要求処理部３７を起動する機能と、両者を一致と判定したとき、受けた同報又は再送メッセージを重複検出・情報保存処理部３６に与える機能とをもっている。
【００６２】
重複検出・情報保存処理部３６は、伝送処理部３８を介して抜け検出処理部３５から同報又は再送メッセージを受けると、受信管理表３３を参照し、重複しないメッセージにおいて、シーケンス番号、サーバ立上り時刻及び同報メッセージ保持数を受信管理表３３に書込みと共に、そのメッセージ内の情報を情報エリア３４に書込む機能をもっている。
【００６３】
再送要求処理部３７は、抜け検出処理部３５により起動されると、抜け検出処理部３５から指定されたシーケンス番号を指定して再送要求を伝送処理部３８からサーバ１０に送出する機能をもっている。
【００６４】
伝送処理部３８は、クライアント内とＬＡＮとの間で伝送処理（送受信処理）を実行するものであり、説明の簡単化のため、以後は特に述べない。
【００６５】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作について説明する。
クライアント３０においては、サーバ１０から同報メッセージを最初に受けたとき、この同報メッセージ内のシーケンス番号をシーケンス番号レジスタ３１に書込むと共に、サーバ立上り時刻をサーバ立上り時刻レジスタ３２に書込む。
【００６６】
クライアント３０は、同報メッセージを受けると、抜け検出処理部３５が、サーバ立上り時刻を確認する。この抜け検出処理部３５は、同報メッセージ内のサーバ立上り時刻と、サーバ立上り時刻レジスタ３２内のサーバ立上り時刻とを比較し、両時刻が一致すると、次に、同報メッセージ内のシーケンス番号と、シーケンス番号レジスタ３１内のシーケンス番号とを比較し、両番号が一致すると、同報メッセージを重複検出・情報保存処理部３６を介して情報エリア３６に保存すると共に、シーケンス番号レジスタ３１のシーケンス番号を増加させる。
【００６７】
また、抜け検出処理部３５は、両時刻又は両番号が不一致の際には、抜け有りと判定し、その同報メッセージ内のサーバ立上り時刻及びシーケンス番号を夫々該当するサーバ立上り時刻レジスタ３２及びシーケンス番号レジスタ３１に書込むと共に、不一致と判定した同報メッセージのシーケンス番号を指定して再送要求処理部３７を起動する。
【００６８】
再送要求処理部３７は、起動されると、抜け検出処理部３５から指定されたシーケンス番号を指定して再送要求を伝送処理部３８からサーバ１０に送出する。
【００６９】
サーバ１０においては、再送応答処理部２０が、シーケンス番号と共に再送要求を受けると、過去同報メッセージ保存エリア１４内でシーケンス番号の一致する同報メッセージを検索し、得られた同報メッセージを再送メッセージとしてクライアント３０側に伝送処理部２１を介して同報伝送する。
【００７０】
これにより、クライアント３０では、抜けた同報メッセージを補充でき、情報の不一致を解消できる。すなわち、サーバ１０でのシーケンス番号が不連続となっても、確実に抜けを検出し、対応することができる。また、サーバ１０において、同報メッセージの送信後、タイマ送信処理部１９がタイムアップした場合については次の第２の実施形態にて述べる。
【００７１】
上述したように本実施形態によれば、サーバ１０としては、同報メッセージの伝送毎に更新されるシーケンス番号が記憶されるシーケンス番号レジスタ１１と、シーケンス番号レジスタ１１の値が不連続になった時点の時刻データが記憶されるサーバ立上り時刻レジスタ１２とを備え、各クライアント３０としては、サーバ１０から同報メッセージを受信する毎に更新されるシーケンス番号が保持されるシーケンス番号レジスタ３１と、サーバ立上り時刻レジスタ１２内の時刻データが転送されて書込まれるサーバ立上り時刻レジスタ３２とを備えている。
【００７２】
これにより、サーバ１０の同報メッセージ作成処理部１７が、シーケンス番号レジスタ１１内のシーケンス番号とサーバ立上り時刻レジスタ１２内のサーバ立上り時刻とメッセージ情報とを含む同報メッセージを作成してクライアント３０に同報伝送し、クライアント３０の抜け検出処理部３５が、この同報メッセージ内のサーバ立上り時刻とサーバ立上り時刻レジスタ３２内のサーバ立上り時刻データとの一致／不一致を判定し、同報メッセージ内のシーケンス番号とシーケンス番号レジスタ３１内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、応答を要さない同報伝送により負荷の増大を阻止しつつ、シーケンス番号と時刻データとの二重のチェックにより、伝送の確実性を向上させることができる。
【００７３】
なお、サーバ立上り時刻レジスタ１２，３２によるサーバ立上り時刻の確認は、次のような問題を解決している。すなわち、サーバ１０は、再立上げ時、シーケンス番号が初期値に戻る。サーバ１０のシーケンス番号レジスタ１１がサーバ停止中に不揮発性メモリにより保持されても、完全な初期化後にはシーケンス番号が初期値に戻る。このとき、初期値の値によっては、シーケンス番号の不連続に基づく抜け検出の信頼性が低下してしまう。
【００７４】
例えば、サーバ１０及びクライアント３０のシーケンス番号レジスタ１１，３１の値が共に“４”であるとき、一時的な停電が発生し、あるクライアント３０とサーバ１０の間のＬＡＮ２が切断され、この切断中にサーバ１０のみが立上り直してシーケンス番号を“０”に初期化し、同報メッセージを４個送信してからＬＡＮ２が再接続したとする。
【００７５】
このとき、サーバ１０のシーケンス番号レジスタ１１の値は“４”であり、クライアント３０のシーケンス番号レジスタ３１は切断前の値の“４”を示す。ここで、サーバ１０の情報が変化し、同報メッセージを１回送信したとすると、サーバ１０からの同報メッセージ内のシーケンス番号が“５”になり、クライアント３０は、その同報メッセージを受けてシーケンス番号レジスタの値が“５”になる。このように、クライアント３０は、復帰のタイミングが悪いと停止時の４個の同報メッセージの抜けを検出できない問題がある。
【００７６】
しかし本実施形態では、サーバ立上り時刻の一致／不一致をも確認するので、このような立上り直後のメッセージ抜けの検出不可を無くすことができる。
【００７７】
（第２の実施形態）
次に、本発明の第２の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて前述した図２を用いて説明する。なお、以下の各実施形態も同様にして同一要素は前述した図面やその参照符号を用いて説明し、重複した説明を省略する。
【００７８】
本実施形態は、第１の実施形態の構成において、再送要求の負荷の低減を特に述べるものであり、具体的には、サーバ１０の同報メッセージ作成処理部１７が「過去同報メッセージ保持数」を同報メッセージ内に含める機能を有し、クライアント３０の抜け検出処理部３５がサーバ１０から受けた同報メッセージ内の「過去同報メッセージ保持数」に基づいて再送要求を行なう機能をもっている。
【００７９】
ここで、過去同報メッセージ保存エリア１４は、大きさが有限であるため、同報メッセージが何回か書込まれると、満杯になる。そこで、過去同報メッセージ保存エリア１４は、ほとんど再送要求されない古い同報メッセージが消去され、最近の同報メッセージが「過去同報メッセージ保持数」の分だけ記憶される構成となっている。
【００８０】
次に、このような構成のクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ１０においては、同報メッセージ作成処理部１７が、予め過去同報メッセージ保存エリア１４内の最近の同報メッセージの数を「過去同報メッセージ保持数」として同報メッセージ内に含め、この同報メッセージをクライアント３０に送出する。
【００８１】
具体的には、例えば図３に示すように、８ビットのシーケンス番号は、初期値「０」から増加され、同報メッセージが２５６個送信されると、元の「０」に戻る。ここで、サーバ１０の立上り時は、過去同報メッセージ保存エリア１４にはデータが無く、その後、図４（ａ）に示すように、同報メッセージの送信に伴い、徐々に埋まっていく。このように、サーバ１０の立上り時は、過去同報メッセージ保持数が増加し、満杯になると、増加しなくなる。
【００８２】
また、サーバ１０のシーケンス番号レジスタ１１の値が「４７」のとき、直前の同報メッセージ内のシーケンス番号は「４６」であった。過去同報メッセージ保存エリア１４にて同報メッセージが最大で６個入るとすると、その全てが埋まるとき、過去同報メッセージ保持数が「６」となる。
【００８３】
このとき、過去同報メッセージ保存エリア１４の内容は、図４（ｂ）に示すようになる。同報メッセージが可変長であり、過去同報メッセージ保存エリア１４も可変長で書込可能であると、過去同報メッセージ保持数は過去同報メッセージ保存エリア１４が満杯でも変動する。
【００８４】
ここで、クライアント３０とサーバ１０間の伝送が長時間の停止後に復帰したとする。例えばクライアント３０のシーケンス番号レジスタ３１の値が「３８」で、そこの新たな同報メッセージが到着し、そのシーケンス番号が「４６」であるとき、クライアント３０ではシーケンス番号「３９〜４５」が抜けたことになる。
【００８５】
クライアント３０では、受信した同報メッセージにより、抜け検出処理部３５が、同報メッセージの抜けを検出すると、抜けた同報メッセージのシーケンス番号「３９〜４５」が、今回の同報メッセージのシーケンス番号「４６」を含めて過去方向に数えて過去同報メッセージ保持数６の範囲「４１〜４６」にないとき、抜けた同報メッセージがサーバ１０にて消去済であると判定し、サーバ１０への再送要求を行わない。
【００８６】
この場合、抜け検出処理部３５は、保持数６の範囲を越えるシーケンス番号「３９，４０」の同報メッセージを再送要求せず、保持数６の範囲内のシーケンス番号「４１〜４５」を指定して再送要求処理部３７に再送要求を与える。
【００８７】
また、クライアント３０は、再送要求を送信したが、サーバ１０から再送メッセージが返送されないとき、再送要求をリトライする。なお、このリトライ時にも再度、過去同報メッセージ保持数の範囲を確認することにより、時間の経過により消去された過去同報メッセージを再送要求せずに済むので、伝送効率を向上させることができる。
【００８８】
上述したように本実施形態によれば、同報メッセージ作成処理部１７が、過去同報メッセージ保存エリア１４の所定保持数を含めるように同報メッセージを作成し、抜け検出処理部３５が、過去の同報メッセージの抜けを検出したとき、受けた同報メッセージ内の所定保持数以内の最近の同報メッセージを対象として再送要求を送出するので、第１の実施形態の効果に加え、所定保持数以外の再送要求を省略してその無駄な負荷を削減することができる。
【００８９】
また、サーバ１０が、再送要求された同報メッセージの無い旨を応答するという無駄な伝送を省略でき、より一層、伝送効率を向上させることができる。
【００９０】
（第３の実施形態）
次に、本発明の第３の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
一般に、情報の変化時だけに同報メッセージを送り、シーケンス番号の抜けを検出する場合、抜けの検出が遅れる場合がある。例えば図５に示すように、サーバ１０からの同報メッセージの内、シーケンス番号「４９」，「５２」の同報メッセージが伝送異常により、クライアント３０に届かない場合である。シーケンス番号「４９」の同報メッセージの場合、直後にシーケンス番号「５０」の同報メッセージが伝送され、直ぐに「抜け」が検出されている。
【００９１】
しかし、シーケンス番号「５２」の同報メッセージは、シーケンス番号「５３」の同報メッセージが、長時間の経過後に伝送されたため、抜けの検出が遅れている。このように同報メッセージの伝送間隔が広がるほど、抜けの検出されるタイミングが遅れる可能性がある。
【００９２】
本実施形態は、この可能性を解消する観点からなされたものである。
具体的には、本実施形態では、前述した機能に加え、サーバ１０のタイマ送信処理部１９並びに同報メッセージ作成処理部１７、及びクライアント３０の抜け検出処理部３５に以下に述べる機能が付加されている。
【００９３】
タイマ送信処理部１９は、一定時間を計る再起動可能なタイマを設け、同報メッセージ又は補間メッセージを送信するとき、このタイマを再起動する機能をもっている。
【００９４】
同報メッセージ作成処理部１７は、タイマ送信処理部１９内のタイマがタイムアップしたとき、情報（実質的な内容）のない同報メッセージ（以下、補間メッセージという）を、前述した同報メッセージと同様にシーケンス番号を付加して伝送処理部２１を介して送信する機能をもっている。但し、補間メッセージの送信後は、前述した同報メッセージとは異なり、シーケンス番号レジスタ１１のシーケンス番号を増加させず、且つ、補間メッセージを過去同報メッセージ保存エリア１４に書込まない。
【００９５】
クライアント３０においては、抜け検出処理部３５が、シーケンス番号レジスタ３１の値と補間メッセージ内のシーケンス番号とを比較し、前述同様にシーケンス番号の抜けを検出する。但し、補間メッセージを受信した場合、シーケンス番号レジスタ３１には、補間メッセージ内のシーケンス番号をそのまま書込む。なお、同報メッセージを受信した場合、同報メッセージ内のシーケンス番号に１を加え（増加し）、シーケンス番号レジスタ３１に書込む。
【００９６】
この処理を、例えば、図６を用い、一本線にて同報メッセージを示し、二本線矢印にて補間メッセージを示しつつ述べる。
補間メッセージは、同報メッセージ又は補間メッセージの送信後、タイマ値の時間が経過しても、新たな同報メッセージが送信されないとき、クライアント３０に伝送される。補間メッセージを用いる方式では、サーバ１０にてシーケンス番号レジスタ１１の値を増加せず、クライアント３０にて受信したシーケンス番号をそのままシーケンス番号レジスタ３１に書込む。
【００９７】
これにより、無駄な伝送を増やさず、同報メッセージの伝送間隔が長いときの同報メッセージ欠落検出の遅延時間を短縮できる。
上述したように本実施形態によれば、サーバとしては、同報メッセージ又は補間メッセージの送信毎に再起動され、一定時間を計測するタイマを有し、同報メッセージ作成処理部１７が、タイマがタイムアップすると、シーケンス番号レジスタ１１内のシーケンス番号とサーバ立上り時刻レジスタ１２内のサーバ立上り時刻とを含み、且つメッセージ情報を含まない補間メッセージを作成してこの補間メッセージをクライアント３０に送信し、クライアント３０の抜け検出処理部３５が、この補間メッセージ内のサーバ立上り時刻とサーバ立上り時刻レジスタ３２内のサーバ立上り時刻との一致／不一致を判定し、補間メッセージ内のシーケンス番号とシーケンス番号レジスタ３１内のシーケンス番号との一致／不一致を判定し、少なくとも一方が不一致を判定したとき、過去の同報メッセージの抜けを検出するので、第１又は第２の実施形態の効果に加え、同報メッセージの伝送数が少ないときでも、補間時間毎に同報メッセージの抜け検出を行なうことができる。
【００９８】
なお、遅延時間の最大値は、タイマ送信処理部１９内のタイマ値にほぼ等しい。また、タイマ値内には必ず同報メッセージ又は補間メッセージが伝送されるので、クライアント３０は、サーバ１０の状態を診断することができる。
【００９９】
補間メッセージの時間間隔の数倍が、サーバ１０の立上り時間よりも十分短縮可能な際に、クライアント３０にて、補間メッセージ又は同報メッセージを診断し、その数倍の期間、サーバ１０から受信が無いと、シーケンス番号を不連続とみなすことにより、第２実施形態のサーバ立上り時間を使用せずに、シーケンス番号の連続性を確認できる。
【０１００】
また、同報メッセージをダミーデータ又は情報無しで、定期的に送る場合に比べ、以下のような利点をもつ。
【０１０１】
ダミーデータの同報メッセージが欠落した場合、元々ダミーデータなので再送する必要が無いにも関わらず、サーバ１０とクライアント３０の両者共に無駄な再送処理が行われる。また、サーバ１０では、ダミーデータであるのに、過去同報メッセージ保存エリア１４を無駄に消費させる。これに対し、クライアント３０から定期的に読出しを行う方法も考えられるが、クライアント３０の増加に比例して読出処理も増加するので、ＬＡＮ２の負荷を増大させてしまう。しかし、本実施形態ではそのような欠点がない。
【０１０２】
（第４の実施形態）
次に、本発明の第４の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
通常、欠落したシーケンス番号に該当する同報メッセージを再送要求するには、クライアント３０からサーバ１０に個別に再送要求する方式が考えられる。但し、この方式では、同報メッセージがサーバ１０からＬＡＮ２に乗った直後にノイズ等で伝送異常となる場合、全てのクライアント３０からサーバ１０に再送要求が送られ、サーバ１０では個々にこれに応答することになる。この場合、クライアント３０の数の増加に伴い、負荷が増大する。そこで、再送要求に対する応答（又は再送）を同報メッセージで行うことにする。
【０１０３】
但し、全てのクライアント３０からの再送要求に対し、同報メッセージで応答すると、先ほどの方式と同じ負荷がかかる。本実施形態は、このような問題を解決する観点からなされたものである。
【０１０４】
具体的には、本実施形態は、サーバ１０の過去同報メッセージ保存エリア１４内の各同報メッセージ毎に再送抑制タイマを備えている。再送抑制タイマは、起動されると、一定時間後に停止するものである。
【０１０５】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
サーバ１０においては、クライアント３０から再送要求を受けると、指定されたシーケンス番号に対応する同報メッセージを過去同報メッセージ保存エリア１４から検索する。但し、その同報メッセージの再送抑制タイマの起動中は、その再送要求を無視する。再送抑制タイマが停止すると、該当する同報メッセージを再送メッセージとして同報伝送し、再送抑制タイマを起動する。
【０１０６】
また、同報メッセージが過去同報メッセージ保存エリア１４内に無いとき、再送要求を無視し、第２の実施形態で述べた同報メッセージ保持数に基づき、クライアント３０側で再送要求を止める。なお、サーバ１０は、過去同報メッセージ保存エリア１４内にその同報メッセージが無い旨をクライアント３０に送信してもよい。
【０１０７】
上述したように本実施形態によれば、サーバ１０としては、同報メッセージの送信毎に再起動され、一定の再送抑制時間を計測する再送抑制タイマを備え、再送応答処理部２０が、抜け検出に対応して再送要求を受けたとき、再送抑制タイマの計測中は再送要求を無視し、再送抑制タイマの計測完了による停止中は再送要求に応じて同報メッセージを再送するので、第１〜第３の実施形態のいずれかの効果に加え、再送要求による負荷を低減させることができる。
【０１０８】
なお、この再送抑制タイマの値よりもクライアント３０の再送要求リトライタイマを長くすることにより、再送要求による負荷を軽減させることができる。  また、クライアント３０において、同報メッセージと再送メッセージが同じ同報伝送により受信されるので、受信処理をほぼ共通化させることができる。
【０１０９】
（第５の実施形態）
図７は本発明の第５の実施形態に係る同報伝送方式の適用されたクライアントサーバシステムの構成を示す模式図である。なお、図７は後述する第７の実施形態にも参照される。
【０１１０】
通常、伝送路の品質が悪くなり、伝送路にノイズが重畳して伝送異常が時々発生する状態では、再送要求がその伝送異常に合わせて増加する。また、再送要求は、クライアント３０の数に比例して増加する。これら再送要求の増大はＬＡＮの負荷を増大させてしまう。
【０１１１】
本実施形態は、この問題を解決する観点から、単位時間当りの再送要求による再送メッセージ数の方が通常の同報メッセージ数よりも多い場合を考慮し、再送メッセージに代えて、図８に示すように、初めから同報メッセージを連続送信する連送処理を実行するものである。
【０１１２】
ここで、初回の同報メッセージを初送、２回目以降の再送メッセージを連送と呼ぶ。連送しない場合を考慮し、連送回数を０以上とする。但し、システムに応じ、２連送を最低としてもよい。
【０１１３】
具体的には、サーバ１０は、タイマ送信処理部１９を省略し、連送回数レジスタ２２、連送処理部２３、連送関連コマンド処理部２４を備えている。
【０１１４】
連送回数レジスタ２２は、連送残り回数が記憶されており、再送応答処理部２０又は連送関連コマンド処理部２４により、連送残り回数が変更可能となっている。なお、連送回数レジスタ２２は、２連送のとき、最低値が「１」になる。このように連送回数レジスタは、最低値を持つが、最高値を持たせ、連送回数をある程度抑制することが伝送の無駄を無くす観点から好ましい。すなわち、連送回数レジスタ２２は、連送残り回数が最高値と最低値の範囲で変化するものとなっている。
【０１１５】
なお、保存処理部１８は、前述した機能の他、連送回数レジスタ２２から連送残り回数を読出し、この連送残り回数を同報メッセージに付加して過去同報メッセージ保存エリア１４に保存する機能をもっている。ここで、過去同報メッセージ保存エリアは、図９に示すように、同報メッセージとその連送残り回数とが記憶される。
【０１１６】
連送処理部２３は、過去同報メッセージ保存エリア１４内の連送残り回数を参照し、「０」以外のとき、その同報メッセージをクライアント３０に連送し、１回の連送毎に過去同報メッセージ保存エリア１４内の連送残り回数を「１」だけ減少させる機能をもっている。
【０１１７】
再送応答処理部２０は、前述した機能の他、一定時間間隔で再送率（再送個数を初送個数で割った値）を調べ、再送率が判定値を越えたら連送回数レジスタの連送残り回数を「１」にする。
【０１１８】
連送関連コマンド処理２４は、クライアント３０から受けた連送関連コマンド（連送継続、連送中止）により、連送回数レジスタ２２内の連送残り回数を変更する機能をもっている。
【０１１９】
クライアント３０の重複検出・情報保存処理部３６は、前述した機能の他、連送メッセージの統計をとって連送継続又は連送中止を判定し、判定結果を連送関連処理部３９に与える機能が付加されている。
【０１２０】
連送関連処理部３９は、重複検出・情報保存処理部３６から受けた判定結果に基づいて、連送継続又は連送中止を示す連送関連コマンドをサーバ１０に送出するものである。
【０１２１】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ１０では、連送処理部２３が、過去同報メッセージ保存エリア１４を参照し、「０」以外のとき、その同報メッセージをクライアント３０に連送し、１回の連送毎に過去同報メッセージ保存エリア１４内の連送残り回数を「１」だけ減少させる。
【０１２２】
これにより、サーバ１０では、同報メッセージを過去同報メッセージ保存エリア１４内の連送残り回数だけ繰返してクライアント３０に送信する。
【０１２３】
また、クライアント３０では、重複検出・情報保存処理部３６が連送メッセージの統計をとって連送継続又は連送中止を判定し、判定結果を連送関連処理部３９に与える。
【０１２４】
連送関連処理部３９は、この判定結果に基づいて、連送継続又は連送中止を示す連送関連コマンドをサーバ１０に送出する。
【０１２５】
サーバ１０では、連送関連コマンド処理２４が、この連送関連コマンド（連送継続、連送中止）に応じ、例えば連送継続の場合、連送回数レジスタ２２内の連送残り回数を「２」に変更し、連送中止の場合、連送残り回数を「０」に変更する。これにより、クライアント３０側の判断で連送を制御することができる。
【０１２６】
また一方、再送応答処理部２０は、一定時間間隔で再送率（再送個数を初送個数で割った値）を調べ、再送率が判定値を越えたら連送回数レジスタ２２の連送残り回数を「１」にする。これにより、サーバ１０側の判断でも連送を制御することができる。
【０１２７】
さらに、連送回数レジスタ２２は、図示しない上位ホストからの要求により、連送残り回数が「０」にされる。これにより、上位ホスト側の判断でも連送を制御することができる。
【０１２８】
このような方式により、伝送路が異常になっても、自動的に同報メッセージを連送し、ＬＡＮの伝送負荷を軽減させると共に、連送の状態に応じて連送残り回数を制御することで無駄な連送を省略することができる。
【０１２９】
上述したように本実施形態によれば、サーバ１０としては、同報メッセージを連続的に送信する連送回数が記憶された連送回数レジスタ２２を備え、連送処理部２３が、連送回数レジスタ２２の連送回数に基づいて、同報メッセージ作成処理部１７により作成された同報メッセージを連続的に送信し、再送応答処理部２０が、一定時間間隔で再送率が判定値を越えたか否かを判定し、判定値を越えたとき、連送回数レジスタ２２内の連送回数を増加させるので、第１の実施形態の効果に加え、伝送路が異常になっても自動的に同報メッセージを連続送信でき、ＬＡＮの伝送負荷を低減させることができる。
【０１３０】
また、通常、同報メッセージの順番を重視する用途では、再送により順番が乱れるとき、順番の並び替え処理が必要になる。この並び替え処理は、多量のバッファを要する上、受信処理を遅延させる。これを避ける観点からも、本実施形態で述べた連送は有効である。
【０１３１】
なお、同報メッセージの初送と連送との間で遅延時間を設けないとき、連送処理部２３を省略し、図１０に示すように、同報メッセージ作成処理部１７が連送回数レジスタ２２を参照してその連送残り回数だけ同報メッセージを連続的に送信するソフトウェア構成に変形してもよい。
【０１３２】
（第６の実施形態）
次に、本発明の第６の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図１１を用いて説明する。
【０１３３】
本実施形態は、連送の中止又は連送数の減少に関するものであり、手動コマンドでも実行可能であるが、ここでは自動コマンドを用いた場合を述べる。また、第５の実施形態と同様に再送率を用いてもよいが、ここでは、再送回数の頻度を用いて自動に連送回数を増減させる方法を説明する。具体的には、簡易的に移動平均をとる方法を述べる。
【０１３４】
サーバ１０は、頻度を計算するための頻度レジスタ２５を備えている。
同報メッセージ作成処理部１７は、前述した機能の他、同報メッセージを送信する毎に頻度レジスタ２５を０．９９９９倍する機能をもっている。
【０１３５】
また、再送応答処理部２０は、再送率の算出を除く前述した機能の他、再送要求を受けると、シーケンス番号毎に頻度レジスタ２５の値を増加させる機能と、頻度レジスタ２５の値が１００．４７以上になると、ＬＡＮ２の伝送路に異常が多発した旨を判定して連送回数レジスタ２２の値を２連送にする機能と、頻度レジスタ２５の値が１．５８以下になると、ＬＡＮ２が正常に復帰したと判定し、２連送を中止する機能とをもっている。
【０１３６】
なお、頻度レジスタ２５の値は、「１００．４７」が１００回の同報メッセージに１回再送が発生する頻度であり、「１．５８」が１００回の同報メッセージに１回再送が発生する頻度で２連送とも異常になる確率に対応する。この「１．５８」は、換言すると、１００００回の同報メッセージに１回の再送が発生する頻度に相当する。
【０１３７】
次に、以上のように構成されたクライアント・サーバシステムによる同報伝送方式の動作を説明する。
サーバ１０においては、同報メッセージ作成処理部１７が同報メッセージを送信する毎に頻度レジスタ２５を０．９９９９倍する。
【０１３８】
ここで、クライアント３０は、前述同様に、同報メッセージの抜けを検出すると再送要求をサーバ１０に送信する。
【０１３９】
サーバ１０においては、再送応答処理部２０が再送要求を受けると、シーケンス番号毎に頻度レジスタ２５の値を増加させると共に、頻度レジスタ２５の値を１００．４７以上か否かを判定し、否のときには１．５８以下か否かを判定し、いずれかが否でないとき、連送回数レジスタ２２の値を変更する。
【０１４０】
これにより、サーバ１０は、図１２に示すように、再送頻度が１００．４７以上のとき、連送回数を増加し、再送頻度が１．５８以下のとき、連送回数を減少する。これにより、サーバ１０側において、再送頻度に応じて連送回数を制御することができる。
【０１４１】
なお、最大で２連送の場合、頻度レジスタ２５の前の連送数での影響は、時間の経過により頻度が小さくなるまで、ハンチングの防止機構として機能する。
【０１４２】
また、最大で３連送以上の場合、連送数変更前の頻度の影響を除く観点から、比較禁止期間が設けられる。例えば、頻度レジスタ２５を作成し、連送数増加レベル（１００．４７）と、連送数減少レベル（１．５８）とで比較するが、図１３に示すように、比較の結果、連送数を変更すると、その直後から一定時間の比較禁止期間を設けている。
【０１４３】
この比較禁止期間中は、頻度レジスタ２５の値を更新するが、連送数を増加又は減少しない。この比較禁止期間により、次の（Ａ１）（Ａ２）の影響を低減できる。
【０１４４】
（Ａ１）連送数を変更しても、ある程度の期間中、前の再送頻度が頻度レジスタ２５の値に影響する。例えば、連送数を変化させる前の同報メッセージがクライアント３０に送信され、その連送要求がサーバ１０に到着する時間まで、前の再送頻度が頻度レジスタ２５の値に影響する。
【０１４５】
（Ａ２）頻度レジスタ２５は、時間の経過により前の頻度の影響が等比で減少するが、ある程度、減少するまでは前の頻度の影響が残る。
【０１４６】
なお、前の頻度の影響を低減させるには、比較禁止期間に代えて、連送数を変えたときに頻度レジスタ２５の値を変えてもよい。具体的には、例えば図１４に示すように、連送数を変えた時に、頻度レジスタ２５の値を連送数増加レベルと連送数減少レベルとの中間値としてもよい。この方式は、上記（Ａ２）の影響を完全に解消する。また、上記（Ａ１）の影響を、増加／減少レベルと中間値との間の余裕分により吸収できる。この方法は、比較禁止期間を無くすため、連送数の応答性を向上できる。
【０１４７】
上述したように本実施形態によれば、サーバ１０としては、再送頻度が１００．４７以上のとき、連送回数を増加し、再送頻度が１．５８以下のとき、連送回数を減少することにより、再送頻度に応じて連送回数を制御することができる。
【０１４８】
また、サーバ１０としては、再送応答処理部２０により判定値を越えたと判定される毎に起動され、一定の判定禁止時間を計測する判定禁止タイマを有し、再送応答処理部２０としては、判定禁止タイマの計測中には判定を実行しないので、第５の実施形態の効果に加え、連送回数を変えた直後に残る、以前の連送数の影響を無くすことができる。また、連送数の中止又は減少を自動化することができる。
【０１４９】
（第７の実施形態）
次に、本発明の第７の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図７を用いて説明する。
本実施形態は、第５又は第６の実施形態の如きサーバ１０による連送数の制御とは異なり、クライアント３０が、同報メッセージの受信回数を統計処理した結果に応じて連送数を制御するものである。
【０１５０】
具体的には、サーバ１０の同報メッセージ作成処理部１７は、前述した機能の他、連送残り回数を含む同報メッセージを作成し、この同報メッセージをクライアント３０に送信する機能をもっている。
【０１５１】
クライアント３０の受信管理表３３は、サーバ１０に対応して設けられ、図１５に示すように、各配列毎に、シーケンス番号、受信完了フラグ、連送残り回数、再送要求タイマ及び同報受信数が記憶されるものである。なお、再送要求タイマは、次の第８実施形態で述べるので、ここでは省略可能である。
【０１５２】
重複検出・情報保存処理部３６は、前述した機能の他、抜け検出処理部３５から同報メッセージを受けると、受信管理表３３を参照してシーケンス番号からその同報メッセージの有無を判定し、無しのとき、受信完了フラグを“○（受信完了）”にすると共にその受信回数を示す同報受信数を「１」として受信管理表３３に書込む一方、有りのとき、同報受信数を「１」だけ増加させるように受信管理表３３に更新する機能をもっている。
【０１５３】
また、重複検出・情報保存処理部３６は、同報メッセージに抜けのあるとき（シーケンス番号の飛びのあるとき）、飛びのあるシーケンス番号の保存エリアを確保してそのシーケンス番号を書込み、その受信完了フラグを“×（受信未完了）”にし、その連送数を今回の受信値で書込むと共に同報受信数をゼロと書込む機能をもっている。
【０１５４】
さらに、重複検出・情報保存処理部３６は、定期的に受信管理表３３内の同報受信数の統計を取り、統計結果に基づいて、連送数増加要求又は連送数減少要求を連送関連処理部３９に与える機能をもっている。
【０１５５】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
サーバ１０では、同報メッセージ作成処理部１７が、連送残り回数を含む同報メッセージを作成し、この同報メッセージをクライアント３０に送信する。
【０１５６】
クライアント３０では、重複検出・情報保存処理部３６が、抜け検出処理部３５から同報メッセージを受けると、受信管理表３３を参照して例えばシーケンス番号「１２３４」からその同報メッセージの有無を判定し、無しのとき、図１５（ａ）に示すように、「１２３４」の１つ前の「１２３３」の行を探し、その行の次の行を消去し、このシーケンス番号「１２３４」を保存する。初送又は連送のいずれを受信しても同じ結果を書込む。なお、メッセージ中の連送数「２」を受信管理表３３の該当部分に書込むと共に、同報受信数に「１」を書込んで初期化する。
【０１５７】
また、同報メッセージが有りのとき、その同報メッセージは連送であり（初送でない）、受信管理表３３中の該当する行の同報受信数を増加させる。なお、検索の際には、シーケンス番号の連続性に基づき、予め記憶した前回更新した行の付近を検索する方が処理を高速化できる。
【０１５８】
次に、シーケンス番号「１２３６」の同報メッセージを受信した場合を述べる。シーケンス番号「１２３６」の同報メッセージを受信すると、前述同様に、受信管理表３３内の「１２３６」の値がある行を検索する。無いので、次にそれより１つ小さい値である「１２３５」を検索する。これも無いので、更にもう１つ小さい値を検索する。
【０１５９】
ここで、図１５（ａ）に示したように、シーケンス番号「１２３４」が有るので、検索を終了する。但し、検索する値が無い場合、前述同様に、シーケンス番号を１ずつ減少させて検索を継続する。
【０１６０】
また、重複検出・情報保存処理部３６は、存在した番号の行の、次の行から、元の値から減少させた行数分、受信管理表３３の内容を消去する。図１５（ａ）の場合は２行分消去する。続いて、図１５（ｂ）に示すように、消去した最後の行に、受信した同報メッセージのシーケンス番号「１２３６」を書込み、「１２３４」の時と同様に連送数「２」と同報受信数「１」を書込む。
【０１６１】
次に、重複検出・情報保存処理部３６は、図１５（ｃ）に示すように、飛ばした行を埋めるため、配列番号１２の位置を埋める。シーケンス番号としては、抜けた番号の「１２３５」を書込む。受信完了フラグは受信未完了（×）とする。連送数は、シーケンス番号「１２３６」の同報メッセージの値を書込む。なお、途中で連送数が変化しても、抜けた同報メッセージの連送数は、今回受信した同報メッセージと同じ連送数であると仮定する。また、抜けた同報メッセージの同報受信数をゼロと書込む。
【０１６２】
さらに、重複検出・情報保存処理部３６は、図１６に示すように、定期的に受信管理表３３内の同報受信数の統計処理を行なう。この統計処理は、同報メッセージの抜けがある程度以上あるときには連送数増加要求を送信し、また、同報メッセージの抜けがないときには連送数「１」の場合を除いて連送数減少要求を送信するためのものである。
【０１６３】
これにより、重複検出・情報保存処理部３６は、連送数増加要求又は連送数減少要求を連送関連処理部３９を介してサーバ１０に送信する。
【０１６４】
このように、クライアント側だけでも同報受信数に応じて連送数を制御することができる。
上述したように本実施形態によれば、同報メッセージ作成処理部１７としては、連送回数レジスタ２２内の連送回数を含めるように同報メッセージを作成し、クライアント３０としては、同報メッセージの受信数と抜けた数とに基づいて、同報メッセージの抜けが所定割合を越えるときには連送数増加要求をサーバ１０に送信し、同報メッセージの抜けがないときには連送回数が最低値の場合を除いて連送数減少要求をサーバ１０に送信するので、第５又は第６の実施形態の効果に加え、クライアント３０側からも連送数を制御することができる。
【０１６５】
なお、サーバ１０では、複数クライアントを考慮し、連送数の減少要求又は増加要求の統計により、連送数を制御することが好ましい。理由は、同じ状態であっても、クライアント３０により、連送数減少要求を出す場合と連送継続要求を出す場合とがあるからである。
【０１６６】
（第８の実施形態）
次に、本発明の第８の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図１７を用いて説明する。
本実施形態は、ある期間をもつ異常を回避する観点から、連送する同報メッセージにおいて、初送と連送との間隔を開けるものである。
【０１６７】
サーバ１０は、シーケンス番号毎に起動され、一定時間でタイムアップする連送間隔タイマ２６を備えている。
【０１６８】
連送間隔タイマ２６は、シーケンス番号毎に起動され、そのタイマ値が過去同報メッセージ保存エリア１４に保存され、一定時間でタイムアップするものである。なお、過去同報メッセージ保存エリア１４は、図１８に示すように、シーケンス番号、サーバ立上り時刻、連送残り回数、連送間隔タイマ値、及び情報が記憶されるものとなっている。
【０１６９】
連送処理部２３は、前述した機能に加え、連送間隔タイマを参照して連送を行なう機能や連送間隔タイマを再起動する機能が付加されたものである。
【０１７０】
具体的には、連送処理部２３は、過去同報メッセージ保存エリア１４内の連送残り回数を参照し、「０」以外で且つ連送間隔タイマがタイムアップしたとき、その同報メッセージをクライアント３０に連送し、１回の連送毎に過去同報メッセージ保存エリア１４内の連送残り回数を「１」だけ減少させると共に、連送間隔タイマを再起動する機能をもっている。なお、連送処理部２３は、同一の同報メッセージの連送間隔の間に、シーケンス番号の異なる他の同報メッセージを連送可能となっている。
【０１７１】
一方、クライアント３０は、再送要求タイマ４０を備えている。
再送要求タイマ４０は、シーケンス番号毎に起動され、そのタイマ値が受信管理表３３に保存され、タイマ値の経過後にタイムアップするものである。なお、受信管理表３３は、図１５に示したように、シーケンス番号、受信完了フラグ、連送数、再送要求タイマ値、及び同報受信数が記憶されるものとなっている。
【０１７２】
なお、重複検出・情報保存処理部３６は、前述同様のシーケンス番号毎に同報メッセージの抜けを補充する機能の他、再送要求タイマ４０がタイムアップすると、その同報メッセージのシーケンス番号を指定して再送要求を再送要求処理部３７に与える機能をもっている。
【０１７３】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
連送処理部２３は、連送処理部２３は、過去同報メッセージ保存エリア１４内の連送残り回数を参照し、「０」以外で且つ連送間隔タイマがタイムアップしたとき、その同報メッセージをクライアント３０に連送し、１回の連送毎に過去同報メッセージ保存エリア１４内の連送残り回数を「１」だけ減少させると共に、連送間隔タイマを再起動する。
【０１７４】
一方、クライアント３０においては、重複検出・情報保存処理部３６が、前述同様のシーケンス番号毎に同報メッセージの抜けを補充する。
【０１７５】
例えば、シーケンス番号「１２３６」を持つメッセージを受信し、「１２３５」のシーケンス番号の抜けを検出したとき、重複検出・情報保存処理部３６は、シーケンス番号「１２３６」の同報メッセージに対してその連送数と連送間隔との積算からタイマ値を算出し、得たタイマ値を再送要求タイマ４０に設定して再送要求タイマ４０を起動する。なお、この再送要求タイマ４０のタイマ値は再送要求を送るまでの時間を意味する。但し、シーケンス番号「１２３５」の同報メッセージが、何時受信される予定であったか不明なので、「１２３６」の同報メッセージと同時に受信される予定であったと仮定する。
【０１７６】
この後、再送要求タイマ４０のタイムアップ前にシーケンス番号「１２３５」の連送メッセージを受信すると、重複検出・情報保存処理部３６は、再送要求タイマ４０をクリアすると共に、受信完了フラグを完了（○）とする。
【０１７７】
また、シーケンス番号「１２３５」の連送メッセージを受信せず、再送要求タイマ４０がタイムアップすると、重複検出・情報保存処理部３６は、シーケンス番号「１２３５」を指定して再送要求を再送要求処理部３７に与える。
【０１７８】
これにより、クライアント３０は、遅延して到達する連送メッセージを、連送数を増やすことなく受信することができる。
【０１７９】
なお、連送間隔を空けて再送要求を行なう利点について述べる。ＬＡＮの異常などにより伝送不能な期間が生じた場合、図１９（ａ）に示すように、連送間隔無しであると、伝送不能な期間中、全ての同報メッセージが消失してしまい、再送要求が無駄になる。
【０１８０】
一方、本実施形態に対応する図１９（ｂ）に示すように、連送間隔を入れると、伝送異常を回避できるので、連送数を増加せずに、連送メッセージをクライアントに届けることができる。
【０１８１】
上述したように本実施形態によれば、サーバ１０としては、同報メッセージの送信毎に再起動され、一定の連送間隔時間を計測する連送間隔タイマ２６を有し、連送処理部２３としては、同報メッセージを連続的に送信するとき、連送間隔タイマ２６により計測される連送間隔時間に従って各送信の時間間隔を空けるので、第５〜第７の実施形態のいずれかの効果に加え、ある間隔をもった伝送異常を回避することができる。
【０１８２】
さらに、クライアント３０としては、抜け検出処理部３５により抜けが検出される毎に起動され、一定の再送要求抑制時間を計測する再送要求タイマ４０を有し、抜け検出処理部３５としては、過去の同報メッセージの抜けを検出したとき、再送要求タイマ４０の計測中は抜け検出を無視し、再送要求タイマ４０の計測完了による停止中は抜け検出に応じて当該同報メッセージを対象として再送要求をサーバ１０に送信するので、第５〜第７の実施形態のいずれかの効果に加え、遅れてくる連送の抜け検出を実行でき、早すぎる判定を防止することができる。
【０１８３】
（第９の実施形態）
次に、本発明の第９の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて前述した図２を用いて説明するが、その前に本実施形態で用いるタグに関し、図２０を用いて若干の補足説明を行う。
本実施形態中、情報の単位をタグと呼ぶ。タグは、互いに関連するデータの集合である。サーバ１０は、タグのデータを作成し、一般に、複数のタグを有する。クライアント３０は、サーバ毎に複数のタグを有する。
【０１８４】
クライアント３０は、タグのデータを参照するが、高速にアクセスするため、タグのコピーを保持しておく。サーバ１０は、タグ内のデータが変化したり、一定であったりする。ここで、サーバ１０とクライアント３０とは、互いにタグのデータを一致させる必要があるため、サーバ１０がタグデータをクライアント３０に送信する。
【０１８５】
送信されるタグデータは、全部の場合と、変化した部分の場合とがある。伝送時には、タグ内のデータを一致させるため、各タグは夫々自己のデータが一度に同報伝送される。
【０１８６】
この種の同報伝送は、通常、定周期、あるいは定周期並びに変化時の両方で行われる。定周期の伝送を行なう理由は、本来は変化時のみ伝送すれば定周期で送る必要はないが、同報伝送には不確実な部分があったからである。
【０１８７】
本実施形態は、係る問題を解決する観点から、タグデータをその変化時だけ送信し、且つ確実にクライアント３０に届けると共に、最新のタグデータのみを伝送することにより、伝送負荷の大幅な低減を図るものである。
【０１８８】
具体的には、本実施形態は、図２に示した構成を有し、サーバ１０にて、複数又は１個のタグが変化したとき、サーバ１０がクライアント３０に対し、その複数又は１個のタグのデータを同報メッセージにして送信する方式である。なお、タグの個数が多く、１つの同報メッセージに収容できないとき、タグの固まり単位で分割して送信する。
【０１８９】
サーバ１０では、前述同様に、最新の同報メッセージのシーケンス番号を保持するシーケンス番号レジスタ１１を備える。クライアント３０では、受信した同報メッセージのシーケンス番号を保持するシーケンス番号レジスタ３１を備える。なお、クライアント３１のシーケンス番号レジスタ３１は、省略可能である。以下のクライアント３１のシーケンス番号レジスタ３１の参照処理は、付加的な機能である。
【０１９０】
また、サーバ１０の過去同報メッセージ保存エリア１４は、図２１等に示すように、タグ番号、サーバ立上がり時刻（図示せず）、シーケンス番号及びデータを含む同報メッセージが記憶されるものである。
【０１９１】
同様に、クライアント３０の情報エリア３４は、図２１等に示すように、タグ番号、シーケンス番号及びデータを含む同報メッセージが記憶されるものである。
【０１９２】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
いま、初期状態において、図２１（ａ）に示すように、クライアント３０及びサーバ１０のシーケンス番号レジスタ３１，１１は、共に値が０である。また、サーバ１０の過去同報メッセージ保存エリア１４は４つのタグ番号ｔｇ１〜ｔｇ４について夫々シーケンス番号が０であり、且つデータが順にａ，ｂ，ｃ，ｄとなっているとする。
【０１９３】
ここで、サーバ１０は、タグデータが変化すると、そのタグデータを含む同報メッセージをクライアント３０に送信し、その同報メッセージのシーケンス番号をタグデータのシーケンス番号レジスタ１１に書込む。
クライアント３０は、同報メッセージ内のタグデータを情報エリア３４に書込むと共に、同報メッセージ内のシーケンス番号をシーケンス番号レジスタ３１に書込む。これにより、図２１（ｂ）に示す状態となる。
【０１９４】
次に、サーバ１０では、図２１（ｃ）に示すように、タグ番号ｔｇ２のデータがｆからｈに変化し、そのデータｈがクライアントに送信される。このとき、クライアント３０とサーバ１０は、図２１（ｄ）に示すように、シーケンス番号レジスタ３１，１１の内容が共に一致し、過去同報メッセージ保存エリア１４と情報エリア３４の内容も共に一致している。
【０１９５】
続いて、図２２（ａ）に示すように、サーバ１０にてタグ番号ｔｇ２のデータがｈからｉに変化し、タグ番号ｔｇ３のデータがｃからｊに変化し、タグ番号４のデータがｇからｋに変化し、それらのデータが同一フレームの同報メッセージで伝送されたが、伝送異常でクライアント３０に届かなかったとする。
【０１９６】
さらに、図２２（ｂ）に示すように、サーバ１０にてタグ番号ｔｇ３のデータがｉからｍに変化し、そのデータが同報メッセージで伝送されたが、伝送異常でクライアント３０に届かなかったとする。これにより、図２２（ｃ）に示す状態となる。
【０１９７】
また、図２２（ｄ）に示すように、サーバ１０にてタグ番号ｔｇ２のデータがｉからｎに変化すると、そのデータを同報メッセージでクライアント３０に伝送する。これにより、クライアント３０とサーバ１０は、図２２（ｅ）に示す状態となる。
【０１９８】
次に、クライアント３０の抜け検出処理部３５は、前述した手順により、シーケンス番号２８７〜２８８の同報メッセージの抜けを検出すると、図２３（ａ）に示すように、シーケンス番号の範囲２８７〜２８８を指定して再送要求を再送要求処理部３７を介してサーバ１０に送出する。
【０１９９】
サーバ１０においては、再送応答処理部２０が、指定されたシーケンス番号の範囲２８７〜２８８に合致するタグを過去同報メッセージ保存エリア１４から検索する。該当するタグは、タグ番号ｔｇ３，ｔｇ４である。タグ番号ｔｇ２の情報も一緒に抜けているが、シーケンス番号２８９により新たにデータが送信されているので、今回の再送対象から外れる。この機構は、同報メッセージが抜けたとき、クライアント３０が最新データのみを必要とするシステムに好適であり、過去同報メッセージ保存エリアをタグ番号の分だけ設ければよくなるので、過去同報メッセージ保存エリアを縮小できる。
【０２００】
なお、検索中、該当するタグが無い場合もある。これは、タグ番号ｔｇ２のように、指定されたシーケンス番号の同報メッセージの送信より後に再びタグが変化した場合である。このタグは、後の同報メッセージ内に最新のデータが含まれるので、そのシーケンス番号が再び抜けない限り、再送を要しない。
【０２０１】
また、サーバ１０は、指示されたシーケンス番号２８７〜２８８のタグを検索すると、図２３（ｂ）に示すように、そのタグデータをクライアント３０に送信する。これにより、クライアント３０とサーバ１０は、図２３（ｃ）に示す状態となる。
【０２０２】
上述したように本実施形態によれば、サーバ１０としては、タグ番号、シーケンス番号、時刻データ及びメッセージ情報を含む同報メッセージがタグ番号毎に記憶される過去同報メッセージ保存エリア１４と、クライアント３０から再送要求を受けたとき、該当する同報メッセージをクライアントに送信する再送応答処理部２０とを備え、抜け検出処理部３５としては、過去の同報メッセージの抜けを検出すると、当該同報メッセージ内のシーケンス番号を指定して再送要求をサーバ１０に送信するので、第１の実施形態の効果に加え、データをタグ毎に記憶することにより、サーバのメッセージ情報（タグデータ）が何回変化しても、最終データのみ送信されるので、クライアント３０って最新データだけが重要であるシステムに使用でき、且つクライアント３０、サーバ１０及び伝送路の負荷を低減させることができる。
【０２０３】
サーバ１０のタグデータが何回変化しても、最終データのみ送られるので、サーバ１０、クライアント３０、ＬＡＮ２にとり、負荷を軽減することができる。
【０２０４】
（第１０の実施形態）
次に、本発明の第１０の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
前述した第９の実施形態は、クライアント３０にてシーケンス番号の抜けを検出すると、サーバ１０に対し、シーケンス番号を指定してタグデータを再送要求する方式である。この方式は、タグデータの容量が小さい場合に適用される。理由は、タグデータの容量が大きいと、伝送方式にて１回の最大メッセージサイズに制限のある場合、再送メッセージが伝送の最大サイズを超える可能性があり、分割を要するからである。なお、再送メッセージのサイズが大きいと、最大サイズに制限のない伝送方式でも、再送メッセージの処理時間が長期化し、サーバ１０やクライアント３０にて優先度の高い伝送が待たされたり、ＬＡＮ２の負荷を上昇させる可能性などがある。
【０２０５】
本実施形態は、これを防ぐ観点からなされたものであり、クライアント３０の情報エリア３４内に更新必要フラグを設け、この更新必要フラグのマークされているもののみを再送要求する方式である。
【０２０６】
具体的には、抜け検出処理部３５は、前述した機能において、シーケンス番号を指定して再送要求を再送要求処理部３７に与えるとき、同報メッセージの再送要求に代えて、タグ番号のみの再送要求を与える機能をもっている。
【０２０７】
更新必要フラグは、情報エリア３４内に設けられ、サーバ１０からタグ番号の再送を受けたとき、重複検出・情報保存処理部３６によりマークされるものである。
【０２０８】
タグ番号は、数値、あるいは１タグ１ビットのビットマップにて送信可能となっている。また、タグ番号は、個々のタグをユニークに識別するための識別子に相当し、番号又は文字列などが適宜使用可能となっている。
【０２０９】
重複検出・情報保存処理部３６は、前述した機能の他、新たに同報メッセージを受けたとき、情報エリア３４内を検索し、該当する更新必要フラグのマークをクリアし、該当しない更新必要フラグがマークされていると、そのマークされた更新必要フラグのタグ番号を指定して同報メッセージの更新要求を再送要求処理部３７に与える機能をもっている。
【０２１０】
なお、サーバ１０の再送応答処理部２０は、クライアント３０からタグ番号のみの再送要求を受けると、該当するタグ番号を再送し、クライアント３０からタグ番号を指定して同報メッセージの再送要求を受けると、該当するタグ番号の同報メッセージを再送する機能をもっている。
【０２１１】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【０２１２】
いま、図２４（ａ）に示すように、クライアント３０が同報メッセージの抜けを検出する前の図２２（ｅ）までの動作が行われたとする。
【０２１３】
クライアント３０においては、抜け検出処理部３５が同報メッセージの抜けを検出すると再送要求処理部３７を介し、図２４（ｂ）に示すように、抜けた同報メッセージに対応するシーケンス番号の範囲２８７〜２８８内のタグ番号の再送要求をサーバ１０に送信する。サーバ１０の再送要求処理部２０では、この再送要求に対し、図２４（ｃ）に示すように、該当するタグ番号ｔｇ３，ｔｇ４のみを返送する。
【０２１４】
クライアント３０では、サーバ１０から返送されたタグ番号ｔｇ３，ｔｇ４に対し、図２４（ｄ）に示すように、重複検出・情報保存処理部３６が情報エリア３４内の対応する更新必要フラグにマークを付ける。また、その直後、サーバ１０にてタグ番号ｔｇ４のデータがｋからｐに変化し、図２４（ｅ）に示すように、そのデータｐを含む同報メッセージがクライアント３０に伝送されたとする。
【０２１５】
クライアント３０は、この最新データｋを含む新たな同報メッセージを受けたとき、図２５（ａ）に示すように、そのタグ番号ｔｇ４の更新必要フラグをクリアする。これは、抜けた同報メッセージのタグに関し、新たな同報メッセージにより最新のタグデータを受けたので、抜けたタグデータが不要となったからである。
【０２１６】
クライアント３０の重複検出・情報保存処理部３６は、情報エリア３４内の更新必要フラグをマークすると、直ぐに又は遅延時間の後、マークされたタグに関し、図２５（ｂ）に示すように、タグ番号ｔｇ３を指定して同報メッセージの更新要求を再送要求処理部３７を介してサーバ１０に送信する。
【０２１７】
サーバ１０の再送応答処理部２０は、図２５（ｃ）に示すように、指定されたタグ番号ｔｇ３のタグデータｍを含む同報メッセージをクライアント３０に再送する。
【０２１８】
クライアント３０では、この同報メッセージを受けると、図２５（ｄ）に示すように、重複検出・情報保存処理部３６がこのタグ番号ｔｇ３のデータｍを更新すると共に、更新必要フラグをクリアする。
【０２１９】
これにより、タグデータが大量のときであっても、再送要求に対し、再送メッセージを一度に再送せずに、ゆっくりとデータを一致させることができる。また、再送要求中、抜けたタグに関して新たに同報メッセージを受信すると、そのタグを再送要求対象から外している。このように、ゆっくりとクライアント３０がタグデータを再送要求することにより、サーバ１０にて再送メッセージを分割送信でき、負荷減少並びにバッファ削減を実現することができる。また、ＬＡＮの負荷を過大にせずに済む。
【０２２０】
上述したように本実施形態によれば、再送応答処理部２０としては、同報メッセージに代えて、当該同報メッセージ内のタグ番号をクライアント３０に送信し、クライアント３０としては、重複検出・情報保存処理部３６が、このタグ番号を指定して同報メッセージの再送要求をサーバ１０に送信するので、第９の実施形態の効果に加え、クライアント３０がゆっくりと同報メッセージを再送要求することにより、サーバ１０の負荷を減少させることができる。
【０２２１】
（第１１の実施形態）
次に、本発明の第１１の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
第１０の実施形態において、サーバ１０では、頻繁に変化するタグと、変化の少ないタグとが混在している。ここで、シーケンス番号レジスタ１１のビット数が小さいと（サーバ１０の送信する同報メッセージの数よりも小さい場合）、シーケンス番号が１周して同じ値が使用される。
【０２２２】
例えば、シーケンス番号レジスタ１１が８ビットのとき、シーケンス番号は、初期値「０」から２５６回の新たな同報メッセージに付加されると、再び「０」に戻る。
【０２２３】
ここで、変化の無いタグのシーケンス番号は「０」の値のままであり、２５６回目の同報メッセージで送信されたタグのシーケンス番号も「０」である。このため、クライアント３０から、抜けた同報メッセージとしてシーケンス番号の「０」を指定された場合、サーバ１０は、シーケンス番号「０」に相当する最近変化したタグの同報メッセージと、その１周前のシーケンス番号「０」の変化のない他のタグの同報メッセージとを再送してしまう。これは、無駄な伝送であるし、変化のないタグを変化したと見なす誤りをクライアント３０にさせてしまう。
【０２２４】
本実施形態は、これの解決のためになされたもので、サーバ１０及びクライアント３０の両者が夫々最新のシーケンス番号レジスタ１１，３１の値に追越されないように、保存中の同報メッセージ内のシーケンス番号を増加させる方式である。なお、この方式は、クライアント３０からの再送要求が最近のシーケンス番号を対象とするため、古いシーケンス番号を変えても支障無いという着想に基づく。
【０２２５】
具体的な構成としては、サーバ１０は、定期的に又はシーケンス番号レジスタ１１を更新する毎に、保存処理部１８が、前述した機能に加え、過去同報メッセージ保存エリア１４のシーケンス番号がシーケンス番号レジスタ１１の値に追越されそうになると、過去同報メッセージ保存エリア１４のシーケンス番号を増加させる機能をもっている。なお、増加させる値としては、１個づつ増加させる方式と、シーケンス番号の有効範囲内で大きな所定値を加える方式とがある。
【０２２６】
また同様に、クライアント３０は、定期的に又はシーケンス番号レジスタ３１を更新する毎に、重複検出・情報保存処理３６が、前述した機能に加え、情報エリア３４のシーケンス番号がシーケンス番号レジスタ３１の値に追越されそうになると、過去同報メッセージ保存エリア３４のシーケンス番号を増加させる機能をもっている。増加させる値は、サーバ１０と同じである。
【０２２７】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【０２２８】
いま、シーケンス番号「１２２」の同報メッセージによりタグ番号ｔｇ４のデータがｄに更新されたとする。このとき、クライアント３０及びサーバ１０は、図２６（ａ）に示すように、最新のシーケンス番号レジスタ１１，３１の値「１２３」に対し、変化の無いタグｔｇ２に対応するシーケンス番号が「１２３」となっている。すなわち、タグ番号ｔｇ２のシーケンス番号「１２３」がその１周後のシーケンス番号レジスタ１１，３１の値「１２３」に追越されそうになっている。
【０２２９】
ここで、タグ番号ｔｇ４のデータがｄからｅに変化したとする。
サーバ１０は、タグ番号ｔｇ４の最新データｅを含む同報メッセージの送信のため、シーケンス番号レジスタ１１を更新するとき、保存処理部１８が、過去同報メッセージ保存エリア１４のシーケンス番号を確認し、タグ番号ｔｇ２のシーケンス番号がシーケンス番号レジスタ１１の値に追越されそうなので、この過去同報メッセージ保存エリア１４のシーケンス番号を増加させる。
【０２３０】
また同様に、クライアント３０は、この同報メッセージを受信してシーケンス番号レジスタ３１を更新するとき、重複検出・情報保存処理３６が、情報エリア３４のシーケンス番号を確認し、タグ番号ｔｇ２のシーケンス番号がシーケンス番号レジスタ３１の値に追越されそうなので、この過去同報メッセージ保存エリア３４のシーケンス番号を増加させる。
【０２３１】
これにより、１周前のシーケンス番号が混在して用いられることを阻止することができる。また、シーケンス番号を増加させる際に、図２６（ｂ）に示すように、１個づつ増加させたとき、シーケンス番号の有効範囲を大きく設定することができる。
【０２３２】
一方、シーケンス番号を増加させる際に、図２６（ｃ）に示すように、シーケンス番号の有効範囲内で大きな所定値（例、１２９）を加えたとき、増加させる回数と、確認する回数とを夫々低減させることができる。
【０２３３】
上述したように本実施形態によれば、サーバ１０としては、保存処理部１８が、過去同報メッセージ保存エリア１４内のシーケンス番号が、シーケンス番号レジスタ１１内のシーケンス番号に追越されそうになったとき、過去同報メッセージ保存エリア１４内の該当するシーケンス番号を増加させるので、第９の実施形態の効果に加え、シーケンス番号を指定して再送要求されたとき、過去同報メッセージ保存エリア１４内の１周前のシーケンス番号に対応する同報メッセージを再送してしまうといった誤りを無くすことができる。
【０２３４】
（第１２の実施形態）
次に、本発明の第１２の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。なお、本実施形態は、第１１の実施形態の変形形態である。
【０２３５】
具体的には、本実施形態は、タグのシーケンス番号がシーケンスレジスタ１１，３１の値に追越されるのを阻止する方式として、サーバ１０の保存処理部１８が、次の条件（Ｃ１）〜（Ｃ３）のいずれか又はそれらの組合せを用い、条件が成立すると、該当するタグに変化が無くても変化有りと見なし、タグデータを再送応答処理部２０を介してクライアント３０に送信するものである。
【０２３６】
（Ｃ１）  過去同報メッセージ保存エリア１４内のタグのシーケンス番号がシーケンス番号レジスタ１１の値に追い越されそうである（前述と同じ）。あるいは過去同報メッセージ保存エリア１４内のタグのシーケンス番号がシーケンス番号レジスタ１１の値から所定の近い範囲にある。
【０２３７】
（Ｃ２）  あるタグが一定時間変化しない。なお、この一定時間が、シーケンス番号の最短で一周可能な時間よりも短いとき、条件（Ｃ１）は不要である。
【０２３８】
（Ｃ３）  タグに無関係で一定周期（たとえば１日に１回）毎に行う。
【０２３９】
なお、追越しを阻止するためのクライアント３０への送信は、送信負荷の低減の観点から、専用の同報メッセージによりタグ番号のみを送信することが好ましい。ここで、専用の同報メッセージは、最新のシーケンス番号を有し、抜けたときに検出可能となっている。
【０２４０】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
【０２４１】
いま、シーケンス番号「１２２」の同報メッセージによりタグ番号ｔｇ４のデータがｄに更新されたとする。このとき、クライアント３０及びサーバ１０は、図２７（ａ）に示すように、最新のシーケンス番号レジスタ１１，３１の値「１２３」に対し、変化の無いタグｔｇ２に対応するシーケンス番号が「１２７」となっている。すなわち、タグ番号ｔｇ２のシーケンス番号「１２７」がその１周後のシーケンス番号レジスタ１１，３１の値「１２３」から＋４の範囲内に入っている（条件Ｃ１）。
【０２４２】
ここで、サーバ１０は、保存処理部１８が、シーケンス番号レジスタ１１の更新時に、タグ番号ｔｇ２のシーケンス番号「１２７」がシーケンス番号レジスタ１１，３１の値「１２３」から＋４の範囲内に入っている旨を検出すると、過去同報メッセージ保存エリア１４内のタグ番号ｔｇ２のシーケンス番号を「１２３」に変更すると共に、再送応答処理部２０を起動する。
【０２４３】
再送応答処理部２０は、この起動により、図２７（ｂ）に示すように、このタグ番号ｔｇ２及び更新後のシーケンス番号「１２３」をもつ専用の同報メッセージをクライアント３０に送信する。
【０２４４】
これにより、クライアント３０では、図２７（ｃ）に示すように、重複検出・情報保存処理部３６が、タグ番号ｔｇ２のシーケンス番号を「１２３」に変更する。なお、条件Ｃ１についてはこのように実行するが、他の条件Ｃ２，Ｃ３についても、前述した＋４の範囲内の検出によるトリガをタイマ等で生成することにより、同様に実行することができる。
【０２４５】
上述したように本実施形態によれば、保存処理部１８としては、３つの条件Ｃ１〜Ｃ３のいずれかが成立したとき、該当する同報メッセージをシーケンス番号レジスタ１１内のシーケンス番号に更新してクライアント３０に送信するので、容易且つ確実にシーケンス番号レジスタ１１，３１の値が、タグのシーケンス番号を追越すことを阻止することができる。また、専用の同報メッセージを用いるので、同報メッセージのサイズを小さくでき、負荷を低減することができる。
【０２４６】
（第１３の実施形態）
次に、本発明の第１３の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
【０２４７】
前述した第１１又は第１２の実施形態は、シーケンス番号レジスタ１１，３１の値が、タグにおけるシーケンス番号の値に追越されないよう、タグのシーケンス番号の値をシーケンス番号の有効範囲の末尾に追従させる（別な見方で、先へ先へと更新する）方式である。
【０２４８】
本実施形態は、過去同報メッセージ保存エリア１４や情報エリア３４内のシーケンス番号がシーケンス番号レジスタ１１，３１の値に追越されそうなとき、過去同報メッセージ保存エリア１４や情報エリア３４内のシーケンス番号を通常使用しない特別値に置換する方式である。
【０２４９】
次に、以上のように構成されたクライアント・サーバシステムにおける同報伝送方式の動作を説明する。
いま、シーケンス番号レジスタ１１，３１は１〜２５５の値が循環的に設定されるものとし、「０」の値が使用されないものとする。
前述同様に、シーケンス番号「１２２」の同報メッセージによりタグ番号ｔｇ４のデータがｄに更新されたとする。このとき、クライアント３０及びサーバ１０は、図２８（ａ）に示すように、最新のシーケンス番号レジスタ１１，３１の値「１２３」に対し、変化の無いタグｔｇ２に対応するシーケンス番号が「１２３」となっている。すなわち、タグ番号ｔｇ２のシーケンス番号「１２３」がその１周後のシーケンス番号レジスタ１１，３１の値「１２３」に追越されそうになっている。
【０２５０】
ここで、タグ番号ｔｇ４のデータがｄからｅに変化したとする。
サーバ１０は、タグ番号ｔｇ４の最新データｅを含む同報メッセージの送信のため、シーケンス番号レジスタ１１を更新するとき、保存処理部１８が、過去同報メッセージ保存エリア１４のシーケンス番号を確認し、タグ番号ｔｇ２のシーケンス番号がシーケンス番号レジスタ１１の値に追越されそうなので、図２８（ｂ）に示すように、この過去同報メッセージ保存エリア１４のシーケンス番号を「０」に置換する。
【０２５１】
また同様に、クライアント３０は、この同報メッセージを受信してシーケンス番号レジスタ３１を更新するとき、重複検出・情報保存処理３６が、情報エリア３４のシーケンス番号を確認し、タグ番号ｔｇ２のシーケンス番号がシーケンス番号レジスタ３１の値に追越されそうなので、この過去同報メッセージ保存エリア３４のシーケンス番号を「０」に置換する。
【０２５２】
このように「０」値への置換を用いても、１周前のシーケンス番号が混在して用いられることを阻止することができる。
【０２５３】
なお、本実施形態は次のように変形して用いてもよい。この種の変形例としては、過去同報メッセージ保存エリア１４及び情報エリア３４内のシーケンス番号の初期値を特別値にすると、立上り時から変化の無いタグが多い場合、追越し阻止のための処理を低減できる。
例えば、８ビットのシーケンス番号を初期値を特別値「０」として増加させると、０→１→２→…→２５４→２５５→１→２→…→２５４→２５５→１→…、のように、初期値のみ「０」となるが、以下、１〜２５５までの値を循環して「０」には戻らない。このため、追越し阻止のための処理をしなくても、１周前のシーケンス番号が混在して用いられることを阻止することができる。
【０２５４】
なお、特別値を「０」に代えてマイナスの値としてもよい（シーケンス番号は０及び正の整数とする）。また、シーケンス番号とは別にフラグ又はデータを用意し、「０」の代わりに、そのフラグ又はデータを変化させてもよい。
さらに、特別値を「０」に代えて、シーケンス番号の変化無しの経過時間としてもよい。具体的には、特別値をマイナスの値としてその数値を追越されそうになってからの経過時間（−１〜−２５５秒）とする。例えば、図２９（ａ）に示すように、タグ番号ｔｇ２のシーケンス番号が追越されそうな状態において、タグｔｇ４のデータがｄからｅに変化したとする。ここで、サーバ１０は、前述の「０」に代えて、図２９（ｂ）に示すように、タグ番号２のシーケンス番号を２５５（−１）に置換する。また、置換から１０秒経過後、サーバ１０は、図２９（ｃ）に示すように、タグ番号２のシーケンス番号を２４５（−１１）に置換する。このように変形しても、１周前のシーケンス番号の混在を阻止でき、さらに、この経過時間により、タグの変化の無い時間を認識することができる。
上述したように本実施形態によれば、保存処理部１８としては、シーケンス番号の増加に代えて、当該シーケンス番号を、シーケンス番号レジスタ１１で使用されるシーケンス番号の範囲外の値に変更するので、第１１の実施形態の効果に加え、立上り時から変化しないタグの多い場合、追越し阻止のための処理を少なくすることができる。
【０２５５】
（第１４の実施形態）
次に、本発明の第１４の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図２を用いて説明する。
本実施形態は、クライアントの立上り時又はサーバ・クライアント間での長時間での伝送不通からの回復時、サーバ１０とクライアント３０のタグデータを一致させる方式である。
【０２５６】
この種の方式は、タグデータのチェックサム（又は一定の演算結果）を、サーバ１０とクライアント３０で夫々算出し、両チェックサムが互いに異なると、クライアント３０がサーバ１０にタグデータを再送要求し、一致させることが考えられる。この考えは、処理が簡単であるものの、次の（Ｂ１）〜（Ｂ３）に示す欠点がある。
【０２５７】
（Ｂ１）常に全タグを演算する必要がある。
（Ｂ２）チェックサム値が一致しても、チェックサムのビット数に応じた確率でタグデータが異なる可能性がある。
（Ｂ３）１部のタグだけが変化しても変化部分が不明である。
【０２５８】
本実施形態は、これらを解決する観点からなされたものである。
具体的には、クライアント３０において、立上り時に全てのタグ番号とそのシーケンス番号との組を再送要求する機能が再送要求処理部３７に付加されている。
【０２５９】
また、重複検出・情報保存処理部３５は、サーバ１０からタグ番号とシーケンス番号との組を含む同報メッセージを受けると、この同報メッセージの内容と、情報エリア３４の内容とを比較し、両者が異なるとき、異なりのあったタグ番号に関する同報メッセージの再送要求をサーバ１０に送信する機能が付加されている。
【０２６０】
なお、クライアント３０としては、不揮発性メモリ等によりダウン時又は電源オフ時にタグデータを保持可能なタイプと、タグデータを保持不可能なタイプとのいずれも適用可能である。
【０２６１】
次に、以上のように構成されたクライアント・サーバシステムにおける同報電送方式の動作を説明する。
いま、クライアント３０及びサーバ１０は、図３０（ａ）に示すように、一致した状態にあったが、その後、クライアント３０の電源がオフになったとする。
【０２６２】
また、クライアント３０のダウン中、サーバ１０にてタグ番号ｔｇ３のデータがｃからｅに変化し、続いて、タグ番号ｔｇ４のデータがｄからｆに変化した。その後、クライアント３０は、電源の復帰により立上がるが、図３０（ｂ）に示すように、タグ番号ｔｇ３，ｔｇ４のシーケンス番号がサーバ１０と異なる状態であるとする。
【０２６３】
クライアント３０では立上り時に、図３０（ｃ）に示すように、再送要求処理部３７が、全タグのシーケンス番号の再送要求（読出要求）をサーバ１０に送信する。
サーバ１０では、この再送要求を受けると、図３０（ｄ）に示すように、再送応答処理部２０が、過去同報メッセージ保存エリア１４内の全てのタグ番号ｔｇ１〜ｔｇ４とそのシーケンス番号との組を含む同報メッセージをクライアント３０に送信する。
クライアント３０では、この同報メッセージを受けると、重複検出・情報保存処理部３６が、同報メッセージ内のタグ番号ｔｇ１〜ｔｇ４のシーケンス番号と、情報エリア３４内のタグ番号ｔｇ１〜ｔｇ４のシーケンス番号とを比較し、両者が異なるとそのタグについてはサーバ１０とクライアント３０で値が異なると見なして、図３０（ｅ）に示すように、情報エリア３４内の更新必要フラグをマークし、そのマークしたタグ番号ｔｇ３，ｔｇ４に関する同報メッセージの再送要求をサーバ１０に送信する。
【０２６４】
以下、前述同様に、サーバ１０は、この再送要求により、そのタグ番号に関する同報メッセージをクライアントに送信する。クライアント３０は、この同報メッセージにより情報エリア３４の内容を更新する。
【０２６５】
上述したように本実施形態によれば、より確実に、また、全データを収集するよりも伝送データを減少でき、クライアントとサーバのタグデータを互いに一致させることができる。
【０２６６】
クライアント３０としては、再送要求処理部３７が、電源が投入されたとき、全てのタグ番号に関してシーケンス番号の再送要求をサーバ１０に送信し、重複検出・情報保存処理部３６が、サーバ１０から全てのタグ番号に関して受けたシーケンス番号と、最近受けた同報メッセージ内の同一タグ番号のシーケンス番号とを比較して両者が異なるとき、このタグ番号を指定して同報メッセージの再送要求をサーバに送信するので、第１３の実施形態の効果に加え、全データを収集するよりも少ない伝送データにより、クライアント３０内のデータをサーバ１０内のデータに一致させることができる。
【０２６７】
（第１５の実施形態）
次に、本発明の第１５の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムについて図３１を用いて説明する。
【０２６８】
前述した第１４の実施形態では、クライアント３０のダウン中に、サーバ１０のシーケンス番号レジスタ１１の値が一周以上循環し得る場合、タグのシーケンス番号のみを比較しても誤りを生じる可能性がある。
【０２６９】
本実施形態は、それを解決する観点から、クライアント３０が、ダウン時間（又はクライアント３０とサーバ１０間の伝送不通時間）を計測するダウン時間計測部４１を備えている。
【０２７０】
また、重複検出・情報保存処理部３６は、ダウン時間計測部４１により計測されたダウン時間と、サーバ１０から受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、更新必要フラグをセットする機能が付加されている。
【０２７１】
なお、追越し経過時間は、第１３の実施形態で述べたマイナスにする方式、あるいは別フラグ又はデータを用いる方式により計測可能である。
【０２７２】
また、シーケンス番号の一周する時間は、タグの変化する確率や、最大変化数（予めシステム設計上推測可能）から予測可能となっている。
次に、以上のように構成されたクライアント・サーバシステムにおける同報電送方式の動作を説明する。
いま、クライアント３０及びサーバ１０は、図３２（ａ）に示すように、追越し阻止のためにシーケンス番号が改変されたタグ番号２を除いては一致した状態にあったが、その後、クライアント３０の電源がオフになったとする。
【０２７３】
また、クライアント３０のダウン中、サーバ１０にてタグ番号ｔｇ３のデータがｃからｅに変化し、続いて、タグ番号ｔｇ４のデータがｄからｆに変化した。
【０２７４】
ダウン開始から５０秒後、クライアント３０は、電源の復帰により立上がるが、図３２（ｂ）に示すように、タグ番号ｔｇ２，ｔｇ３，ｔｇ４のシーケンス番号がサーバ１０と異なる状態であるとする。なお、ダウン時間の５０秒は、ダウン時間計測部４１が計測済であるとする。
【０２７５】
クライアント３０では立上り時に、図３２（ｃ）に示すように、再送要求処理部３７が、全タグのシーケンス番号の再送要求（読出要求）をサーバ１０に送信する。
【０２７６】
サーバ１０では、この再送要求を受けると、図３２（ｄ）に示すように、再送応答処理部２０が、過去同報メッセージ保存エリア１４内の全てのタグ番号ｔｇ１〜ｔｇ４とそのシーケンス番号との組を含む同報メッセージをクライアント３０に送信する。
【０２７７】
クライアント３０では、この同報メッセージを受けると、重複検出・情報保存処理部３６が、はじめに、同報メッセージ内で追越し経過時間を示すタグ番号ｔｇ２に関し、ダウン時間計測部４１により計測されたダウン時間（＝５０秒）と追越し経過時間（＝６０秒）とを比較する。
【０２７８】
比較の結果、ダウン時間の方が長いときにはダウン中にデータが更新された可能性があるので更新必要フラグをセットするが、ここではダウン時間の方が短いので同報メッセージ内のシーケンス番号を情報エリア３４に書込む。なお、シーケンス番号「−６１」に対応する追越し経過時間を６０秒と見た理由は、追越されたときにそのシーケンス番号を「−１」としたからである。
【０２７９】
以下前述同様に、重複検出・情報保存処理部３６は、同報メッセージ内のタグ番号ｔｇ１，ｔｇ３，ｔｇ４のシーケンス番号と、情報エリア３４内のタグ番号ｔｇ１〜ｔｇ４のシーケンス番号とを比較し、両者が異なるとそのタグｔｇ３，ｔｇ４についてはサーバ１０とクライアント３０で値が異なると見なして、図３２（ｅ）に示すように、情報エリア３４内の更新必要フラグをマークし、そのマークしたタグ番号ｔｇ３，ｔｇ４に関する同報メッセージの再送要求をサーバ１０に送信する。また同様に、サーバ１０は、この再送要求により、そのタグ番号に関する同報メッセージをクライアントに送信する。クライアント３０は、この同報メッセージにより情報エリア３４の内容を更新する。
【０２８０】
上述したように本実施形態によれば、保存処理部１８が、シーケンス番号の範囲外の値として追越し経過時間を用い、且つこの追越し経過時間を更新し、クライアント３０としては、ダウン時間計測部４１が、クライアント３０のダウン時間を計測し、重複検出・情報保存処理部３６が、ダウン時間計測部４１により計測されたダウン時間とサーバから受けたシーケンス番号としての追越し経過時間とを比較し、ダウン時間が追越し経過時間よりも長いとき、当該タグ番号を指定して同報メッセージの再送要求をサーバ１０に送信するので、第１４の実施形態の効果に加え、クライアント３０のダウン中にシーケンス番号が一周以上しても、クライアント３０内のデータをサーバ１０内のデータに確実に一致させることができる。また、クライアント３０のダウンではなく、伝送不通の際にも、伝送不通時間がシーケンス番号の一周時間よりも短いとき、本実施形態を適用することができる。
なお、上述した第９〜第１５の実施形態は、図２に基づいて説明したが、これに限らず、図７等の連送メッセージを用いる構成に基づいて説明しても、本発明と同様の効果を得ることができる。
【０２８１】
また、上述した各実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フロッピーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に書込んで各種装置に適用したり、通信媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記憶媒体に記憶されたプログラムを読込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【０２８２】
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【０２８３】
【発明の効果】
以上説明したように本発明によれば、負荷の増大を阻止しつつ、伝送の確実性を向上し得る同報伝送方式を提供できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る同報伝送方式の適用されたＬＡＮ構成を示す模式図
【図２】同実施形態におけるクライアント・サーバのソフトウェア構成を機能ブロックとして示す模式図
【図３】本発明の第２の実施形態におけるシーケンス番号を説明するための模式図
【図４】同実施形態における過去同報メッセージ保存エリアの動作を説明するための模式図
【図５】本発明の第３の実施形態における解決課題を説明するための模式図
【図６】同実施形態における動作を説明するための模式図
【図７】本発明の第５の実施形態に係る同報伝送方式の適用されたクライアントサーバシステムの構成を示す模式図
【図８】同実施形態における連送処理を説明するための模式図
【図９】同実施形態における過去同報メッセージ保存エリアの構成を示す模式図
【図１０】同実施形態における変形構成を部分的に示す模式図
【図１１】本発明の第６の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図１２】同実施形態における動作を説明するためのタイムチャート
【図１３】同実施形態における動作を説明するためのタイムチャート
【図１４】同実施形態における変形形態を説明するためのタイムチャート
【図１５】本発明の第７の実施形態における受信管理表を説明するための模式図
【図１６】同実施形態における動作を説明するためのフローチャート
【図１７】本発明の第８の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図１８】同実施形態における過去同報メッセージ保存エリアの構成を示す模式図
【図１９】同実施形態における利点を説明するための模式図
【図２０】本発明の第９の実施形態におけるタグを説明するための模式図
【図２１】同実施形態における動作を説明するための模式図
【図２２】同実施形態における動作を説明するための模式図
【図２３】同実施形態における動作を説明するための模式図
【図２４】本発明の第１０の実施形態における動作を説明するための模式図
【図２５】同実施形態における動作を説明するための模式図
【図２６】本発明の第１１の実施形態における動作を説明するための模式図
【図２７】本発明の第１２の実施形態における動作を説明するための模式図
【図２８】本発明の第１３の実施形態における動作を説明するための模式図
【図２９】同実施形態における動作を説明するための模式図
【図３０】本発明の第１４の実施形態における動作を説明するための模式図
【図３１】本発明の第１５の実施形態に係る同報伝送方式の適用されたクライアント・サーバシステムの構成を示す模式図
【図３２】同実施形態における動作を説明するための模式図
【符号の説明】
１１，１ｋ，１ｎ…ステーション
２…ＬＡＮ
１０…サーバ
１１，３１…シーケンス番号レジスタ
１２，３２…サーバ立上り時刻レジスタ
１３，３４…情報エリア
１４…過去同報メッセージ保存エリア
１５…情報作成部
１６…変化検出部
１７…同報メッセージ作成処理部
１８…保存処理部
１９…タイマ送信処理部
２０…再送応答処理部
２１…伝送処理部
２２…連送回数レジスタ
２３…連送処理部
２４…連送関連コマンド処理部
２５…頻度レジスタ
２６…連送間隔タイマ
３０…クライアント
３３…受信管理表
３５…抜け検出処理部
３６…重複検出・情報保存処理部
３７…再送要求処理部
３８…伝送処理部
３９…連送関連処理部
４０…再送要求タイマ
４１…ダウン時間計測部
【図１】
0004098434.tif 000002
【図２】
0004098434.tif 000003
【図３】
0004098434.tif 000004
【図４】
0004098434.tif 000005
【図５】
0004098434.tif 000006
【図６】
0004098434.tif 000007
【図７】
0004098434.tif 000008
【図８】
0004098434.tif 000009
【図９】
0004098434.tif 000010
【図１０】
0004098434.tif 000011
【図１１】
0004098434.tif 000012
【図１２】
0004098434.tif 000013
【図１３】
0004098434.tif 000014
【図１４】
0004098434.tif 000015
【図１５】
0004098434.tif 000016
【図１６】
0004098434.tif 000017
【図１７】
0004098434.tif 000018
【図１８】
0004098434.tif 000019
【図１９】
0004098434.tif 000020
【図２０】
0004098434.tif 000021
【図２１】
0004098434.tif 000022
【図２２】
0004098434.tif 000023
【図２３】
0004098434.tif 000024
【図２４】
0004098434.tif 000025
【図２５】
0004098434.tif 000026
【図２６】
0004098434.tif 000027
【図２７】
0004098434.tif 000028
【図２８】
0004098434.tif 000029
【図２９】
0004098434.tif 000030
【図３０】
0004098434.tif 000031
【図３１】
0004098434.tif 000032
【図３２】
0004098434.tif 000033