(57)【要約】【課題】    モニタ対象装置のデータ送信を効率よく行い、データ表示の遅延を抑える。【解決手段】モニタ対象装置１は、モニタリング要求を受ければデータ群をモニタ端末２に送るのにかかる時間を計測して所要時間の揺らぎをモニタ端末２に通知し、モニタ端末２は、最初のデータ群を受信した時に待機時間だけ待ってから受信バッファ２１からデータを読み出して表示処理を開始する。データ受信がデータ読み出しサイクルに間に合わなければ、元の待機時間にその遅延時間を加えて新しい待機時間とする。【選択図】  図１
2005094187.tif 000002
【特許請求の範囲】
【請求項１】
送信バッファを備えたモニタ対象装置と受信バッファを備えたモニタ端末がＩＰネットワークで接続されてＩＰパケットを用いた通信をして前記モニタ端末が前記モニタ対象装置のモニタリングをするリモートモニタリングシステムにおいて、
前記モニタ端末がモニタしたい情報とモニタしたいサンプリング周期を前記モニタ対象装置に通知すると、
前記モニタ端末と前記モニタ対象装置が相互にデータの送受信を開始し、
前記モニタ対象装置が一定間隔で前記データを送信すると、
前記モニタ端末が前記一定間隔で前記データを表示する
ことを特徴とするリモートモニタリングシステムのデータ送受信方法。
【請求項２】
前記モニタ対象装置は、前記モニタ端末から要求されたデータの送信処理にかかる時間を測定し、
一回のデータ送信に要するＩＰパケット数を最小とすることを条件として、送信バッファに格納したサンプリングデータを一定間隔で送信可能かどうかを判定し、
その結果を前記モニタ端末に通知し、
１回のデータ送信に要する時間の揺らぎを見積り、
その見積り値と１回の通信で送られるサンプリングデータの数を前記モニタ端末に通知する
ことを特徴とする請求項１に記載のリモートモニタリングシステムのデータ送受信方法。
【請求項３】
前記モニタ端末は、要求した前記サンプリング周期でモニタリングできないという通知を受ければ、新しいサンプリング周期を再度通知し、
予め前記モニタ対象装置から通知された揺らぎの時間を待機時間として記憶し、
第１回目のデータを受信してから所定の待機時間だけ待って表示を開始し、
表示処理を行う際に前記受信バッファのデータ格納が間に合わずに表示サイクルに遅延が生じたときは、予め通知された揺らぎの時間に、その遅延時間を加えたものを新しい待機時間とし、
前記受信バッファに新たなデータが最初に格納された後に新しい待機時間だけ待って表示サイクルを再開する
ことを特徴とする請求項１に記載のリモートモニタリングシステムのデータ送受信方法。
【請求項４】
前記モニタ端末から送信される前記ＩＰパケットの最大長ＭＴＵを予め下位のデータリンク層のプロトコルで規定されたフレームサイズより小さく設定し、
前記ＭＴＵからプロトコルヘッダとトレイラを除いたサイズを単位として，その整数倍のうち送信処理が可能な最小の単位数に一回の送信処理で送られるデータのサイズが収まるような最大のデータ数にして、前記モニタ対象装置が一回のデータ送信で送信するデータ数を決定する
ことを特徴とする請求項１〜３に記載のリモートモニタリングシステムのデータ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モニタ端末がインターネットやイントラネットなどのＩＰネットワークを経由して遠隔地に設置された装置の状態をモニタリングするリモートモニタリングシステムにおけるデータ送受信方法に関する。
【背景技術】
【０００２】
通信手段を介して接続されたモニタ対象装置とモニタ端末からなるモニタリングシステムにおいて、モニタ端末がモニタ対象装置内のデータの変動を一定間隔のサンプリング周期でモニタリングする方法として次のような方法が知られている。
モニタ対象装置では、所定のサンプリング周期で送信バッファにデータを蓄積し、蓄積されたデータを一定間隔の送信周期で送信する。一方、モニタ端末では、モニタ対象装置から送られてきたデータを受信バッファに蓄積し、蓄積されたデータを所定のサンプリング周期で読み出してデータ表示部に表示する。この場合、モニタ対象装置の送信バッファに書き込まれたデータがモニタ端末のデータ表示部に表示されるまでにかかる最小の時間は、一回の送信で送られる量のデータを受信バッファに蓄積する時間と、そのデータの送受信にかかる時間の合計Ｔminとなる。モニタ対象装置とモニタ端末間のデータ送受信にかかる時間が一定の場合、モニタ端末が一回分のデータを受信し終わると同時にデータ表示部に表示する表示サイクルを開始すれば、データ表示部では、モニタ対象装置１内のデータ変動から一定時間Ｔmin遅れつつ、所定のサンプリング周期で、リアルタイムにデータ変動の様子を表示できる（たとえば特許文献１参照）。
【特許文献１】特開平０５−２３６５５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、モニタ端末とモニタ対象装置を接続する通信手段としてインターネットやイントラネットのようなＩＰネットワークを使用する場合、例えば、ある工場に設置された機器の情報をインターネットを介して様々な場所や環境からパソコン等をモニタ端末としてモニタリングする場合は、モニタ対象装置からモニタ端末へデータを転送するデータ転送時間は、ネットワークのトラフィックの変動の影響を受けて変化する。そのため、モニタ端末がデータを受信してから直ちに表示サイクルを開始すると、モニタ端末から送られてくるデータが間に合わなければ、データ表示に遅延が生じ、データ変動の様子をリアルタイムに観察することができなくなる。
本発明はこのような問題点に鑑みてなされたものであり、モニタ対象装置のデータ送信を効率よいものにすると同時に、データ表示の遅延を出来るだけ抑えつつ、モニタ対象装置のサンプリング周期と同じ周期で、モニタ端末の表示画面の更新を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、モニタ対象装置がモニタ端末からのモニタリング要求、即ち、あるサンプリング周期であるデータ群をモニタリングしたいという要求を受けた後、要求されたデータ群をモニタ端末に送るのにかかる時間を計測し、その所要時間の揺らぎをモニタ端末に通知し、モニタ端末では、その揺らぎを待機時間とし、モニタ対象装置から最初のデータ群を受信した時、即座に表示処理を開始するのではなく、待機時間分だけ待ってから受信バッファからデータを読み出して表示処理を開始すること、また、受信バッファからのデータ読み出しサイクルにデータ受信が間に合わない場合は、その遅延時間を元の待機時間に加えたものを新しい待機時間とし、次にデータを受信した時には、新しい待機時間分だけ待って表示処理を再開することを特徴とするものである。
このようになっているため、モニタ対象装置からモニタ端末へのデータ転送時間の揺らぎの影響を吸収してデータ表示部での表示データ更新の遅延を出来る限り抑えることができる。
【発明の効果】
【０００５】
本発明の方法によれば、モニタ対象装置がデータ転送時間の揺らぎを測定し、モニタ端末はモニタ対象から通知された揺らぎの時間を待機時間の初期値として、受信バッファ内からのデータ読み出しを開始、または、再開する際に、一定時間待機してから行うという手順をとっているので，モニタ対象装置におけるデータの変動の様子を、モニタ端末側で、極力時間的な不連続の発生を抑えながら観測することができるという効果がある。
また、請求項４に記載の方法によれば、一回の送信で送られるデータのサイズをＩＰパケット数を単位として最小になるようにしているので、モニタ対象装置でのデータの変動とモニタ端末で観測されるデータの変動のタイムラグを小さくできるという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について図を参照して説明する
【実施例１】
【０００７】
図１は、本発明の方法を実施するリモートモニタリングシステムの構成図である。図において１はモニタ対象装置、２はモニタ端末、３はインターネットやイントラネットなどのＩＰネットワークであり、モニタ対象装置１とモニタ端末２はＩＰネットワーク３を介してネットワーク接続されている。モニタ対象装置１はモニタ端末２に送信するモニタリングデータを格納する送信バッファ１１を備えており、一定量のデータを蓄積してモニタ端末２に送信するタスクを周期的に実行する。また、モニタ端末２は、モニタ対象装置１から送られてきたデータを格納する受信バッファ２１と、受信したデータを表示するデータ表示部２２を備えており、受信バッファ２１に蓄えられたデータをサンプリング周期で読み出しながらデータ表示部に表示するタスクを実行する。これにより、モニタ端末１の使用者はモニタリングデータの変動の様子を観察することができる。
【０００８】
図２はモニタ端末２がモニタリングデータを受信バッファ２１から読み出してデータ表示をするまでの処理手順を示すフローチャートであり、図３はモニタ対象装置１がモニタリングデータを送信する処理手順を示すフローチャートである。以下、これらの図を用いて本発明の方法を順に説明する。まず、図２について説明する。
（１）まずモニタ端末２がモニタしたいデータとサンプリング周期を決める。通常、ユーザが入力して指定し、決められる。
（２）次にモニタしたいデータとサンプリング周期をモニタ要求としてモニタ対象装置１に送信する。
（３）次にモニタ要求に対するモニタ対象装置１の応答を受信し、要求が受理されたか否かを判断する。ここで、要求が受理されなかった場合は（１）に戻り、サンプリング周期を長くして、モニタ対象装置１へのモニタ要求をやり直す。要求が受理された場合は待機時間Tと１回の送信で何回分のサンプリングに相当するデータが含まれるかを表す値nがモニタ対象装置１から通知されるので、その値を保持する。
【０００９】
（４）次にデータ受信を確認した後、
（５）待機時間Tだけ待つ。ここで、データ受信と受信バッファへの書き込みは、別に用意する受信タスクが実行するようにしておく。
（６）データを受信すると、サンプリング周期と同じ周期で受信バッファからデータを読み出し、
（７）データ表示部２２に表示する。
（８）次に，現在の受信データの終わりまでデータを読み出したかどうか、即ち、n回のデータ読み出しを行ったかどうかを判定し、受信データの終わりまで達していればステップ（９）へ移行し、次の受信データがあれば、ステップ（６）（７）のデータ読み出し・表示サイクルを継続する。
（９）次の受信データがあるかどうか、即ち、受信タスクが新しいデータを受信バッファ２１に追加しているか否かをチェックし、次の受信データがなければ、データの受信が遅れているとみなしてステップ（１０）へ移行し、次の受信データがあればステップ（６）（７）のデータ読み出し・表示サイクルを継続する。
（１０）遅延時間の計測を開始し、
（１１）新しいデータの受信を確認すると
（１２）計測した遅延時間を現在の待機時間に加えて新たな待機時間Ｔに更新する。
【００１０】
この後は、ステップ（５）以降のサイクルを繰り返し実行する。以上の手順により、モニタ端末２では、データ表示が遅延することなくモニタリングデータの変動の様子を観測することができるようになる。
次に、図３について説明する。モニタ対象装置１では、以下の手順を踏んでモニタデータを送信する。
（１）まず、モニタ端末２の要求、即ち、モニタ対象装置１のどのデータをどれだけのサンプリング周期でモニタリングしたいかという要求を受信する。 
（２）次に送信処理時間を計測し、
（３）要求されたサンプリング周期で要求されたデータを送信できるかどうかを判定する。
このステップ（３）の判定については、具体的には以下の手順で判定される。但し、ここではモニタ端末２の要求が、モニタ対象装置１の状態を表すパラメータＰ１、Ｐ２、Ｐ３をサンプリング周期Δtでモニタリングするものとし、受信バッファ２１のメモリの最大サイズを２Ｂとし、バッファの領域を半分に分けてパラメータＰ１、Ｐ２、Ｐ３の書き込みと、バッファ内のデータの送信を交互に行うものとする。
【００１１】
(i)まず、一回のサンプリングで取得するデータのサイズ、即ちＰ１、Ｐ２、Ｐ３のデータサイズの合計を求め、これをｄとする。
(ii)モニタ対象装置１におけるＩＰパケットのＭＴＵからプロトコルヘッダとトレイラを除きアプリケーション層がデータ領域として使用できる部分のサイズをＳとする。但し、ＭＴＵのサイズは請求項２に示した通り、一回のＩＰパケットの送出時にデータリンク層でフラグメントが起こらないように予め設定されているものとする。ここで、Ｓ＞Ｂならば，Ｂ／ｄ以下の最大の自然数をｎとし、Ｓ＜＝Ｂならば，Ｓ／ｄ＞＝ｎを満たす最大の自然数をｎとする。
(iii)モニタ対象装置１のプログラムは、送信処理を行う際に、そのための送信用ＡＰＩ(Application Programming Interface)を呼び出すように実装しておき、このＡＰＩを使ってｎ×ｄのサイズを持ったテスト用送信データを送信する処理を実行する。送信用ＡＰＩを呼び出してから、呼び出し元に復帰するまでの時間を計測し、その値をｔｓとする。
(iv)ｔｓ＜＝ｎ×Δｔ（これを条件Ａとする）ならば、モニタ対象装置１は、ｎ回分のサンプリングデータを一回分の送信データとして、周期ｎ×Δｔでモニタリングデータの送信処理を実行することができる。条件Ａが満たされない場合、一度に送る送信データのサイズ（ｎ×ｄ）を大きくし、条件Ａを満たすようにできるかどうかの判定をする。まず、Ｓ＞Ｂの場合、これ以上バッファするサイズを大きくすることが出来ないため、要求されたサンプリング周期で時間的な不連続なしに周期的にデータ送信を行うことができないので、モニタ端末２の要求に対応不能とする。一方、Ｓ＜＝Ｂの場合、ｋを自然数として、ｋ＝２からｋ×Ｓ＜＝Ｂの範囲で、条件Ａを満たすまで、ｋを１ずつ増加させながら、(iii)と同様にして、ｔｓを計測する。もし、ｋ×Ｓ＜＝Ｂの範囲で条件Ａを満たす計測結果が得られない場合、モニタ端末２の要求に対応不能とする。
【００１２】
以上の(i)〜(iv)の過程で、条件Ａを満たす自然数ｎが見つからない場合は、モニタ端末２の要求に対応できないため、ステップ（４）に進んでモニタ端末２にサンプリング周期を長くするように指示し、ステップ（１）に戻る。条件Ａを満たすｎが存在する場合、次のステップ（５）に進んで通信時間の揺らぎを見積りする。具体的には、まず、サイズｎ×ｄのデータをモニタ対象装置１からモニタ端末２に送信し、データを受信したモニタ端末２からモニタ対象装置１の同じデータを送り返すという処理を予め設定した回数だけ繰り返す。モニタ対象装置１では各回の所要時間を記録し、各値の２分の１を、データ送信からモニタ端末２が受信するまでにかかる時間をデータ転送時間とする。但し、ここでは、通信速度はその方向によらずに対称として計測値の２分の１をデータ転送時間としたが、通信速度が非対称の場合はその比率に応じた補正をかけるものとする。モニタ対象装置１では、得られたデータ転送時間の最大値と最小値の差をデータ転送時間の揺らぎの見積り値Ｔとする。このＴがモニタ端末２における待機時間の初期値となる。
（６）次に、上記の手順によって求められた待機時間Ｔとデータ数ｎをモニタ端末に通知する。
（７）そしてデータの取得と送信を開始する。具体的には、要求されたパラメータＰ１、Ｐ２、Ｐ３の値をサンプリング周期Δｔで送信バッファ１１に書込み、ｎ個のデータを書き込んだらバッファ内のデータをモニタ端末に送信するというサイクルを繰り返す。
以上の手順により、モニタ対象装置１は周期ｎ×Δｔでモニタ端末２へのデータ送信を実行する。
【図面の簡単な説明】
【００１３】
【図１】本発明の方法を適用するリモートモニタリングシステムの構成図
【図２】モニタ端末の処理手順を示すフローチャート
【図３】モニタ対象装置の処理手順を示すフローチャート
【符号の説明】
【００１４】
１  モニタ対象装置、 １１  送信バッファ、 ２  モニタ端末、
２１  受信バッファ、 ３  ＩＰネットワーク、      ２２  データ表示部
【図１】
2005094187.tif 000003
【図２】
2005094187.tif 000004
【図３】
2005094187.tif 000005