JPH10283276A - イベント順序補正方法 - Google Patents

イベント順序補正方法

Info

Publication number
JPH10283276A
JPH10283276A JP9092116A JP9211697A JPH10283276A JP H10283276 A JPH10283276 A JP H10283276A JP 9092116 A JP9092116 A JP 9092116A JP 9211697 A JP9211697 A JP 9211697A JP H10283276 A JPH10283276 A JP H10283276A
Authority
JP
Japan
Prior art keywords
event
time
communication delay
delay time
client
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.)
Pending
Application number
JP9092116A
Other languages
English (en)
Inventor
Hiroyuki Tokunaga
博之 徳永
Kimihiko Sekino
公彦 関野
Souichi Kubota
創一 久保田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP9092116A priority Critical patent/JPH10283276A/ja
Publication of JPH10283276A publication Critical patent/JPH10283276A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 遅延の大きいクライアント計算機からのイベ
ントが不必要に待たされることなく、最短の待機時間で
イベントの順序補正を可能にする。 【解決手段】 各クライアント計算機とサーバ計算機間
の通信遅延時間diを計測し(110)、その最大通信
遅延時間dMAXを決定し(120)、各クライアント計
算機毎に、dMAXとdiとの差Iiを計算し、当該クライ
アント計算機のイベント蓄積時間とする(130)。各
クライアント計算機はイベントに送出時刻を付与してサ
ーバ計算機へ送信する。サーバ計算機では、到着したイ
ベントEiについて、その到着時刻TiからIiの時間だ
けキューに蓄積して、送出時刻順にソートし(150,
160)、蓄積時間を越えたイベントを上位処理ルーチ
ンへ渡す(170,180)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアント・サ
ーバの計算機環境において、複数のクライアント計算機
から送信されたイベントの送信順序とサーバ計算機での
イベントの処理順序を一致させるイベント順序補正方法
に関する。
【0002】
【従来の技術】クライアント・サーバの計算機環境にお
いて、各クライアント計算機とサーバ計算機間の通信回
線の速度や帯域、混雑の度合などにより生じる通信遅延
時間の差により、複数のクライアントで独立して発生し
たイベントの送信順序とサーバ計算機へのイベントの到
着が異なることがある。送信順序と処理順序が一致する
ことを要求されるようなアプリケーションでは、イベン
トの送信順序と到着順序の不一致(イベントの順序逆転
という)は、各クライアント計算機間のサービスの差を
生じさせる原因となる。
【0003】本出願人は、先に特願平8−51899号
において、このようなイベント順序逆転を検出、補正す
る方法を提案した。これは、イベント送信側計算機(ク
ライアント)とイベント受信側計算機(サーバ)間の通
信遅延時間の中で最大の通信遅延時間と最小の通信遅延
時間の差を計算して、これを最大通信遅延時間差と定義
し、この最大通信遅延時間差をイベント蓄積時間として
各イベントを蓄積し、このイベント蓄積中にイベントの
順序逆転を検出・補正し、蓄積時間が終了したイベント
をサーバの上位処理ルーチンへ渡すいう方法である。
【0004】
【発明が解決しようとする課題】上記特願平8−518
99号のイベント順序補正方法では、最大の通信遅延時
間と最小の通信遅延時間により与えられる最大遅延時間
差を全クライアント計算機から送信されたイベントの蓄
積時間としていたため、最小通信遅延時間よりも通信遅
延時間が大きいクライアント計算機からのイベントも、
最大通信遅延時間差だけ常に待機させられるという問題
がある。
【0005】本発明は、上記問題を解決するためになさ
れたものであり、その目的は、クライアント・サーバの
計算機環境において、最小通信遅延時間よりも通信遅延
時間が大きいクライアント計算機からのイベントのイベ
ント待ち行列における待機時間を短縮することにある。
【0006】
【課題を解決するための手段】本発明は、各クライアン
ト計算機及びサーバ計算機の時刻が一致している環境
で、クライアント計算機は、送出時の時刻を付与してイ
ベントをサーバ計算機へ送信し、サーバ計算機は、任意
の方法で各クライアント計算機の通信遅延時間を計算し
て、その通信遅延時間の中で最大の通信遅延時間(これ
を最大通信遅延時間という)を求め、到着したイベント
について、前記最大通信遅延時間と当該イベントを送信
したクライアント計算機の通信遅延時間との差をイベン
ト順序補正期間として該期間だけ蓄積して、当該イベン
トに付与されている送信時刻に基づいてソートすること
により、複数のクライアント計算機から送信されたイベ
ントの送信順序とサーバ計算機でのイベントの処理順序
を一致させることを特徴とするものである。
【0007】先の特願平8−51899号のイベント順
序補正方法では、イベントを送信したクライアント計算
機に関係なく、最大通信遅延時間と最小通信遅延時間の
差である最大通信遅延時間差を一義的にイベント蓄積時
間(待機期間)としてイベントの順序補正を行っていた
が、本発明ではクライアント計算機毎に最大通信遅延時
間と当該クライアント計算機の通信遅延時間の差をイベ
ント蓄積時間とすることにより、最大通信遅延時間との
差が小さい通信遅延時間を持つクライアント計算機から
のイベントの蓄積時間を短く、最大通信遅延時間との差
が大きい通信遅延時間を持つクライアント計算機からの
イベントの蓄積時間を長くでき、より短い待期時間でイ
ベントの順序補正を行うことができる。
【0008】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面により説明する。図1は、本発明が適用されるク
ライアント・サーバの計算機環境の概略ブロック図であ
る。図において、複数のクライアント計算機10−1〜
10−Nがネットワーク20を介してサーバ計算機30
と結ばれている。クライアント計算機10−1〜10〜
Nは、サーバ計算機30に対してイベントを送信し、該
サーバ計算機30に処理の依頼を行う計算機、サーバ計
算機30は、クライアント計算機10−1〜10〜Nか
らのイベントを受信し、当該イベントに対応する処理を
行い、結果を当該クライアント計算機に通知する計算機
である。
【0009】クライアント計算機10−1〜10〜Nの
プログラム(クライアントプログラム)は、各々、イベ
ントに送出時の時刻を付与し(タイムスタンプ)、サー
バ計算機30へイベントを送信する。サーバ計算機30
では、到着した各イベントについて、当該イベントを送
信したクライアント計算機毎に蓄積時間(待機時間)を
与えてイベントキュー31に蓄積し、該時間をイベント
順序補正期間としてタイムスタンプの古い順にソート
し、蓄積時間を越えたイベントを上位アプリケーション
32に戻す。上位アプリケーション32での処理結果
は、当該イベントに対応するクライアント計算機に返送
される。
【0010】図2に、図1のサーバ計算機30におい
て、本発明によるイベント順序補正を行う際の処理フロ
ーの一実施例を示す。処理手順はイベント順序補正の前
処理とイベント順序補正処理に分けられる。
【0011】〈イベント順序補正の前処理〉サーバ計算
機30上では、当該サーバと通信を行う各クライアント
計算機10−1〜10−Nとの通信遅延時間を計測する
プロセスが走行しており、一定時間毎に各クライアント
計算機10−1〜10〜Nとサーバ計算機30間の通信
遅延時間di(i=1,2,・・・,N)を計測する
(ステップ110)。そして、各クライアント計算機1
0−1〜10〜Nとの通信遅延時間diのうち、最大の
ものを検索し、最大通信遅延時間dMAXとする(ステッ
プ120)。
【0012】次に、各クライアント計算機10−1〜1
0〜Nごとに、その通信遅延時間diと最大通信遅延時
間dMAXとの差Iii=dMAX−di (i=1,2,・・・,N) を計算し、当該クライアント計算機のイベント蓄積時間
(待機時間)とする(ステップ130)。そして、イベ
ントを蓄積するキュー(イベントキュー)を準備する
(ステップ140)。
【0013】ここまでが、処理依頼のイベント到着に先
立って行われる前処理(準備期間)である。なお、上記
通信遅延時間diの計測は任意の方法でよいが、例え
ば、各クライアント計算機との通信遅延時間を繰り返し
計測し、この計測された通信遅延時間の系列から平均遅
延時間を計算したり、あるいは、多数決などで最も確か
らしい通信遅延時間を決定するようにすれば、計測時の
時々刻々の負荷変動等による揺らぎを吸収できる。
【0014】〈イベント順序補正処理〉サーバ計算機3
0に処理の依頼を行う際、各クライアント計算機10−
1〜10〜N上の上位アプリケーションからイベントに
送信時刻(タイムスタンプ)をヘッダとして追加し、該
イベントをサーバ計算機30へ送信する。
【0015】サーバ計算機30では、各クライアント計
算機10−1〜10〜Nから到着したイベントEi(i
=1,2,・・・,N)を受け取り、その時の時刻を着
信時刻Tiとして記録する(ステップ150)。そし
て、到着したイベントEiの送信元クライアント計算機
を送信元のIPアドレスなどで識別し、該到着イベント
iのキューでの蓄積時間Iiを設定する。
【0016】こうして、到着したイベントEiを、その
設定された蓄積時間(Ti+Ii)だけキューに待機さ
せ、この待機中に当該イベントよりも前の送信時刻(タ
イムスタンプ)を持つイベントが到着した場合には、そ
れを当該イベントよりも前のキューの位置に挿入する
(ステップ160)。そして、イベントキュー内に、蓄
積時間(Ti+Ii)が現在時刻を越えたイベントEi
存在するか調べ(ステップ170)、蓄積時間を経過し
たイベントは上位アプリケーションプログラムからの読
み出し要求時にキューより取り出して、上位アプリケー
ションプログラムに受け渡す(ステップ180)。蓄積
時間を経過したイベントがなければ、そのままステップ
150に戻る。
【0017】蓄積時間の経過したイベントを上位アプリ
ケーションプログラムへ渡した後、前回の通信遅延時間
計測から一定時間が経過したか検査し(ステップ19
0)、経過しない場合は、やはりステップ150に戻
る。一方、前回の通信遅延時間計測後、一定時間が経過
した場合には、ステップ110に戻り、再度、各クライ
アント計算機毎の通信遅延時間diを計測して、各クラ
イアント計算機のイベント蓄積時間を計算する。
【0018】図3は、本発明のイベント順序補正がどの
ように行われるかを示した図である。図3に示すよう
に、サーバ計算機に到着したイベント毎に、該イベント
を送信したクライアント計算機の通信遅延時間と最大通
信遅延時間の差に対応するイベント蓄積時間を設定し、
該設定した蓄積時間が終了するまでイベントキューに蓄
積する。この蓄積時間をイベント順序補正期間として、
各イベントのタイムスタンプの古い順にキュー内でソー
トする。したがって、先に発生したイベントが遅れて到
着した場合には、キュー内でのイベントの順序が入れ替
えられ、イベントの順序補正が行われる。図3では、先
に発生したタイムスタンプ3のイベントが、後に発生し
たタイムスタンプ4のイベントより遅れて到着した場
合、タイムスタンプ4のイベントがまだキュー内にある
ことを利用して、両者の順序を入れ替える例を示してい
る。これにより、蓄積時間を経過した各イベントは、自
然に順序補正が終了しており、実際の発生順にイベント
の処理が行われる。さらに、イベント1や3は遅延時間
の大きいクライアント計算機からのものであるが、不必
要に待機させられることもない。
【0019】
【発明の効果】以上説明したように、本発明のイベント
順序補正方法では、到着したイベントの送信元との通信
遅延時間と最大通信遅延時間との差に基づいてイベント
の蓄積時間が決定されるため、遅延の小さいクライアン
ト計算機からのイベントの待機時間は長く、遅延の大き
いクライアント計算機からのイベントの蓄積時間は短く
設定され、遅延の大きいクライアント計算機からのイベ
ントが不必要に待機されられることがなく、最短の蓄積
時間(待機時間)でイベントの順序補正を行うことが可
能となる。
【図面の簡単な説明】
【図1】本発明が適用されるクライアント・サーバ・シ
ステムの概略ブロック図である。
【図2】本発明によるイベント順序補正方法の一実施例
の処理フー図である。
【図3】本発明によるイベント順序補正方法の処理例を
示す図である。
【符号の説明】
10−1〜10〜N クライアント計算機 20 ネットワーク 30 サーバ計算機 31 イベントキュー 32 上位アプリケーションプログラム

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のクライアント計算機が通信回線あ
    るいはネットワークを介してサーバ計算機と接続された
    クライアント・サーバ・システムにおいて、 各クライアント計算機及びサーバ計算機の時刻が一致し
    ている環境で、各クライアント計算機からサーバ計算機
    に対して送出されたイベントの処理順序を補正する方法
    であって、 各クライアント計算機は、送出時の時刻を付与してイベ
    ントをサーバ計算機へ送信し、 サーバ計算機は、各クライアント計算機の通信遅延時間
    を計算して、その通信遅延時間の中で最大の通信遅延時
    間(以下、最大通信遅延時間という)を求め、到着した
    イベントについて、前記最大通信遅延時間と当該イベン
    トを送信したクライアント計算機の通信遅延時間との差
    をイベント順序補正期間として該期間だけ蓄積して、当
    該イベントに付与されている送信時刻に基づいてソート
    する、 ことを特徴とするイベント順序補正方法。
JP9092116A 1997-04-10 1997-04-10 イベント順序補正方法 Pending JPH10283276A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9092116A JPH10283276A (ja) 1997-04-10 1997-04-10 イベント順序補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9092116A JPH10283276A (ja) 1997-04-10 1997-04-10 イベント順序補正方法

Publications (1)

Publication Number Publication Date
JPH10283276A true JPH10283276A (ja) 1998-10-23

Family

ID=14045473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9092116A Pending JPH10283276A (ja) 1997-04-10 1997-04-10 イベント順序補正方法

Country Status (1)

Country Link
JP (1) JPH10283276A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293387A (ja) * 1999-04-05 2000-10-20 Nec Corp イベント通知システム
JP2012198714A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd イベント処理方法、イベント処理装置及びイベント処理プログラム
JP2019169109A (ja) * 2018-03-26 2019-10-03 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム
JP2019200577A (ja) * 2018-05-16 2019-11-21 キヤノン株式会社 制御方法、システム及びプログラム
US11316771B2 (en) 2020-02-27 2022-04-26 Fujitsu Limited Non-transitory computer-readable storage medium storing request processing program, request processing method, and information processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293387A (ja) * 1999-04-05 2000-10-20 Nec Corp イベント通知システム
JP2012198714A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd イベント処理方法、イベント処理装置及びイベント処理プログラム
JP2019169109A (ja) * 2018-03-26 2019-10-03 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム
JP2019200577A (ja) * 2018-05-16 2019-11-21 キヤノン株式会社 制御方法、システム及びプログラム
US11316771B2 (en) 2020-02-27 2022-04-26 Fujitsu Limited Non-transitory computer-readable storage medium storing request processing program, request processing method, and information processing device

Similar Documents

Publication Publication Date Title
JPH09244984A (ja) イベント順序補正方法
US7092410B2 (en) Method and apparatus for measuring network data packet delay, jitter and loss
US7676570B2 (en) Determining client latencies over a network
US20020080726A1 (en) System and method for determining network throughput speed and streaming utilization
US6738379B1 (en) Method of preserving data packet sequencing
US8160835B2 (en) Method for measuring unidirectional transmission characteristics such as packet propagation time, fluctuations in propagation time and results derivable therefrom, in a telecommunications network
US8385212B2 (en) Method and apparatus for finding latency floor in packet networks
US20050190797A1 (en) Network time transfer
US20020169880A1 (en) Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
US20110032941A1 (en) Systems and methods for accelerating tcp/ip data stream processing
US7116639B1 (en) System and method for determining network discrete utilization
US20040071085A1 (en) System and method for a transmission rate controller
JPH04263536A (ja) ネットワークモニタ装置及びシステム
US20050175013A1 (en) Method for transmitting high-priority packets in an IP transmission network
US9559927B2 (en) Terminal, system and method for measuring network state using the same
JP2003087317A (ja) 音声パケット遅延揺らぎ吸収装置及び吸収方法
EP0522211B1 (en) Testing a packet-based network
JPH10283276A (ja) イベント順序補正方法
US7676561B1 (en) Method and apparatus for adaptive load balancing
JPH0779250A (ja) パケット通信の遅延制御システム
JP2002152266A (ja) パケット・ロス計測システム
US6480491B1 (en) Latency management for a network
JPS59190757A (ja) パケツト通信方式
JP2000216813A (ja) 誤り補償方法、並びに該方法を用いた誤り補償装置
JPH07210473A (ja) 伝送路間のデータフィルタリング方式