(57)【特許請求の範囲】
【請求項１】
クライアントからネットワークを介してサーバに対して前記サーバが所有するデータの送信を要求する要求コマンドを送信し、前記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに要求されたデータを応答レスポンスとして返信するデータ通信システムに用いられる通信方法であって、
前記サーバがネットワークを介して同一の要求コマンドを一定の周期で受信したときに、前記サーバは、該要求コマンドをキャッシュし、キャッシュした要求コマンドに従って一定の周期で応答レスポンスを返信することを特徴とする通信方法。
【請求項２】
クライアントからネットワークを介してサーバに対して前記サーバが所有するデータの送信を要求する要求コマンドを送信し、前記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに要求されたデータを応答レスポンスとして返信するシステムであって、
前記クライアントから同一の要求コマンドが一定の周期で送信されるとき、前記サーバ側において前記要求コマンドをキャッシュし、キャッシュした要求コマンドに従って前記サーバから一定の周期で応答レスポンスを返信することを特徴とするネットワークシステム。
【請求項３】
前記クライアントおよび前記サーバは、中継機能を備えた代理エージェントを介して前記ネットワークにそれぞれ接続されるものであって、
前記クライアント側の代理エージェントは、前記クライアントから同一の要求コマンドが一定の周期で通知されるとき、前記サーバ側の代理エージェントに該要求コマンドのキャッシュを指示すると共に、その後の前記クライアントからの要求コマンドの中継を停止する機能を備え、
前記サーバ側の代理エージェントは、キャッシュした要求コマンドに従って前記クライアントに代わって前記一定の周期で前記サーバに要求コマンドを発する機能を備えることを特徴とする請求項２に記載のネットワークシステム。
【請求項４】
前記サーバは、キャッシュした要求コマンドに応答するに際して、前記ネットワークでの応答遅れ時間を見込んで応答レスポンスを返送することを特徴とする請求項２に記載のネットワークシステム。
【請求項５】
前記クライアント側の代理エージェントは、要求コマンドの内容をハッシュ計算して求められる値をシグニチャとして同一の要求コマンドの検出を行うものである請求項２に記載のネットワークシステム。
【請求項６】
前記ハッシュ計算は、要求コマンドに含まれるシーケンス番号を除いて実行されるものである請求項５に記載のネットワークシステム。
【請求項７】
請求項３に記載の前記クライアント側の代理エージェントの機能および前記サーバ側の代理エージェントの機能を備えたソフトウェアを記憶した記憶媒体。
【請求項８】
請求項３に記載の前記クライアント側の代理エージェントの機能を備えたネットワーク接続機器。
【請求項９】
請求項３に記載の前記サーバ側の代理エージェントの機能を備えたネットワーク接続機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されたクライアントとサーバとの間で要求コマンドに対する応答レスポンスを返信する方式でデータ通信を行うシステムに係り、特にリアルタイム性を向上させた通信方法、ネットワークシステム、記憶媒体およびネットワーク接続機器に関する。尚、ここではクライアント側の情報処理機器（コンピュータ）をクライアントと定義し、またサーバ用の情報処理機器（コンピュータ）をサーバと定義して用いる。
【背景技術】
【０００２】
ファクトリーオートメーション（ＦＡ）等においては、図９に示すようにクライアント１とサーバ２とをネットワーク３を介して接続し、ネットワーク３を介してデータ通信を行うネットワークシステムが構築される。このようなネットワークシステムにおいては、例えば図１０に示すようにクライアント１からサーバ２に向けて該サーバ２のデータエリアに格納されたデータＡの値の出力を要求するコマンド（要求コマンド）を送信し、この要求コマンドを受けたサーバ２から前記クライアント１に向けて上記要求コマンドに対する応答レスポンスの形で前記データＡの値を返信することが多い。このようなデータ通信形態は、例えば要求コマンド／応答レスポンス方式と称される（例えば特許文献１,２を参照）。
【０００３】
また上記ＦＡにおいては、サーバ２が収集したデータをクライアント１側にて定常的に監視するべく、クライアント１から同一の要求コマンドを一定時間毎に繰り返し送信することも多い。
【特許文献１】特開２０００−３２００６号公報
【特許文献２】特開２００１−１６８９２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながらネットワーク３が広域に亘って敷設された低速の通信回線にて構築されるような場合、要求コマンドの送出から応答レスポンスの到着までに要する時間（応答遅れ時間；遅延時間）が大きくなることが否めず、リアルタイム性が損なわれると言う不具合がある。また広域ネットワークとしてインターネット回線を利用するような場合、セキュリティを高めるべく通信データを暗号化することが多く、暗号化・復号化に伴う高負荷な処理に起因して前述した応答遅れ時間が益々増大すると言う不具合がある。従って要求コマンド／応答レスポンス方式によりリアルタイムにデータを収集する必要のある状態監視等の用途においては、ローカルエリアネットワーク等の高速な環境に限られると言う問題がある。
【０００５】
本発明はこのような事情を考慮してなされたもので、その目的は、例えば広域ネットワークのような比較的低速なネットワークを介してクライアントとサーバとの間で要求コマンド／応答レスポンス方式によりデータ通信を行う場合であっても、そのリアルタイム性を十分に確保したデータ通信を行い得る通信方法、および簡易な構成のネットワークシステムを提供することにある。
【０００６】
また同時に本発明は上記ネットワークシステムを構築するに必要な機能を有するソフトウェアプログラムを記憶した記憶媒体、更には上記機能を備えたネットワーク接続機器を提供することにある。
【課題を解決するための手段】
【０００７】
上述した目的を達成するべく本発明は、ネットワークを介して接続されたクライアントとサーバとの間で要求コマンド／応答レスポンス方式にてデータ通信を行い、これによってサーバが収集したデータをクライアントにて定常的に監視するような場合、クライアントからサーバに向けて同一の要求コマンドを一定の周期で繰り返し送信することが多いことに着目している。そこで本発明に係る通信方法は、クライアントからネットワークを介してサーバに対して前記サーバが所有するデータの送信を要求する要求コマンドを送信し、前記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに要求されたデータを応答レスポンスとして返信するデータ通信システムに用いられる通信方法であって、前記サーバがネットワークを介して同一の要求コマンドを一定の周期で受信したときに、前記サーバは、該要求コマンドをキャッシュし、キャッシュした要求コマンドに従って一定の周期で応答レスポンスを返信することを特徴としている。
【０００８】
また本発明に係るネットワークシステムは、クライアントからネットワークを介してサーバに対して前記サーバが所有するデータの送信を要求する要求コマンドを送信し、前記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに要求されたデータを応答レスポンスとして返信するシステムであって、前記クライアントから同一の要求コマンドが一定の周期で送信されるとき、前記サーバ側において前記要求コマンドをキャッシュし、キャッシュした要求コマンドに従って前記サーバから一定の周期で応答レスポンスを返信することを特徴としている。
【０００９】
好ましくは前記クライアントおよび前記サーバを、中継機能を備えた代理エージェントを介して前記ネットワークにそれぞれ接続し、
前記クライアント側の代理エージェントを、前記クライアントから同一の要求コマンドが一定の周期で通知されるとき、前記サーバ側の代理エージェントに該要求コマンドのキャッシュを指示すると共に、その後の前記クライアントからの要求コマンドの中継を停止するように構成すると共に、前記サーバ側の代理エージェントを、キャッシュした要求コマンドに従って前記クライアントに代わって前記一定の周期で前記サーバに要求コマンドを発するように構成することが好ましい。
【００１０】
また前記サーバにおいては、キャッシュした要求コマンドに応答するに際して、前記ネットワークでの応答遅れ時間を見込んで応答レスポンスを返送するように構成することが望ましい。尚、前記クライアント側の代理エージェントにおいては、要求コマンドの内容をハッシュ計算して求められる値をシグニチャとして同一の要求コマンドの検出を行うようにすれば良い。また前記ハッシュ計算については、要求コマンドに含まれるシーケンス番号を除いて実行するようにすれば良い。
【００１１】
また上述したクライアント側の代理エージェントの機能およびサーバ側の代理エージェントの機能については、コンピュータ上でこれらの機能を実現するソフトウェアを記憶した記憶媒体として提供するようにしても良い。或いはクライアント側の代理エージェントの機能を備えたネットワーク接続機器や、サーバ側の代理エージェントの機能を備えたネットワーク接続機器として提供するようにしても良い。
【発明の効果】
【００１２】
本発明に係る通信方法およびネットワークシステムによれば、クライアントが同一の要求コマンドを一定の時間毎に繰り返して送信する状態をクライアント側の代理エージェントにおいて検出したとき、その要求コマンドをサーバ側の代理エージェントにてキャッシュさせると共にその後の同一要求コマンドの中継を停止し、サーバ側の代理エージェントにおいてはキャッシュした要求コマンドに従って一点時間毎にクライアントに向けて応答レスポンスを送信するので、見掛け上その応答遅れを低減することができる。またネットワークに対して同一の要求コマンドが一定時間毎に繰り返し送信されることがなくなるので、ネットワークでのトラフィック量を低減することも可能となる。
【００１３】
特にサーバからクライアントに向けて応答レスポンスを送信するに際して、ネットワークでの応答遅れ時間を見込んで時間的に遡って応答レスポンスを返送するようにすれば、クライアントにおいては要求コマンドの送信タイミングにてリアルタイムに応答レスポンスを得ることができるので、実質的に応答遅れ時間を零（０）としてリアルタイム性を確保することが可能となる。従って低速のネットワークを介して要求コマンド／応答レスポンス方式によりデータ通信を行う場合であっても、そのリアルタイム性を簡易にして効果的に確保することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の一実施形態に係る通信方法およびこの通信方法を採用したネットワークシステムについて説明する。
図１は本発明に係るネットワークシステムの概略構成図で、１はクライアント（クライアント側の情報処理装置；コンピュータ）、２はサーバ（サーバ用の情報処理装置；コンピュータ）、そして３は広域通信回線やインターネット回線等のネットワークである。本発明に係るネットワークシステムは、中継機能を備えた代理応答用の代理エージェント（代理応答エージェント）４を介して前記クライアント１をネットワーク３に接続すると共に、中継機能を備えた代理要求用の代理エージェント（代理要求エージェント）５を介して前記サーバ２をネットワーク３に接続して構築される。そして前記クライアント１およびサーバ２は、上記代理応答エージェント４および代理要求エージェント５をそれぞれ介してデータ通信を行うように設定される。尚、上記各代理エージェント４,５とは、クライアント１またはサーバ２と前記ネットワーク３との間で要求コマンドおよび応答レスポンスをそれぞれ中継する中継機能、並びに後述する代理応答機能および代理要求機能を備えた情報処理装置（コンピュータ）を指す。
【００１５】
このような代理応答エージェント４および代理要求エージェント５をそれぞれ介する前述したクライアント１とサーバ２との間の間接的なデータ通信は、クライアント１が代理応答エージェント４をサーバ３と看做し得るように、またサーバ２が代理要求エージェント５をクライアント１と看做し得るように、上記各代理エージェント４,５に仮想のネットワークアドレスを割り当てることにより実現される。
【００１６】
そしてこれらの代理エージェント４,５間でのネットワーク３を介するデータ通信は、例えば図２に示すようにクライアント１から送信された要求コマンド（通信データ）またはサーバ２から返送される応答レスポンス（通信データ）に、これらの通信データの中継を制御する為のエージェント中継制御ヘッダを付し、更に通信プロトコルヘッダを付すことで、所定のフォーマットの通信パケットを構成して行われる。好ましくは前記エージェント４,５間でのデータ通信は、要求コマンド／応答レスポンス（通信データ）とエージェント中継制御ヘッダとからなる通信データ内容（パケットデータ）を暗号化して行われる。
【００１７】
さて前記代理応答エージェント４は前述した中継機能に加えて、クライアント１からサーバ２に向けて送信される要求コマンドを監視して、同一の要求コマンドが繰り返し送信されるか否かを判定し、また同一の要求コマンドが一定の周期Ｔで繰り返し送信される場合には、その周期Ｔを検出する機能を備える。そして同一の要求コマンドが所定の期間に亘って、或いは所定の回数に亘って一定の周期Ｔで繰り返し送信されることが検出された場合には該要求コマンドの中継処理を停止し、サーバ２側に該要求コマンドのキャッシュを指示する機能を備える。
【００１８】
一方、前記代理要求エージェント５は前述した中継機能に加えて前記要求コマンドのキャッシュ機能を備える。このキャッシュ機能は、前記代理応答エージェント４から要求コマンドのキャッシュの指示を受けたとき、前記クライアント１から一定の周期Ｔで繰り返し送信されていた要求コマンドと該要求コマンドの送信周期Ｔの情報とを図示しないメモリ（キャッシュ・メモリ）に書き込んで保存する役割を担う。そして更に代理要求エージェント５は上述した如く要求コマンドをキャッシュしたとき、キャッシュした要求コマンドに従って前記周期Ｔ毎に前述したクライアント１に代わって前記要求コマンドを繰り返しサーバ２に通知する機能を備える。
【００１９】
このようにしてキャッシュした要求コマンドを前記サーバ２に向けて出力する際、前記代理要求エージェント５は、後述するように前記ネットワーク３での通信データの伝送遅れ（遅延時間Ｄ）に基づいて、その遅延時間に相当する時間Ｄだけ遡ったタイミングで同一の要求コマンドを一定の周期Ｔで繰り返し出力する。するとサーバ２は代理要求エージェント５が発した要求コマンドを、前記クライアント１から送信された要求コマンドであると看做して取り込み、クライアント１に向けて応答レスポンスを返信する。
【００２０】
このようにしてサーバ２から返信された応答レスポンスは代理要求エージェント５から前記ネットワーク３を介して、更には前記代理応答エージェント４を介して中継されてクライアント１に送信される。従ってクライアント１は、自らが送信した要求コマンドに対して、あたかも代理応答エージェント４からリアルタイムに応答レスポンスがあったかの如く、その応答レスポンスを受信することが可能となる。
【００２１】
このように構築されたネットワークシステムにおいては、代理応答エージェント４および代理要求エージェント５の各中継機能を用いることで、基本的には図３(ａ)に示すようにクライアント１とサーバ２との間で要求コマンド／応答レスポンス方式によるデータ通信を間接的に行い得る。しかしこの場合、代理応答エージェント４と代理要求エージェント５とを結ぶネットワーク３の伝送特性に起因してクライアント１から送信された要求コマンドがサーバ２に届くまでに時間（遅れ時間）が掛かることが否めない。また同様にサーバ２が返信した応答レスポンスがクライアント１に届くまでに時間（遅れ時間）が掛かることが否めない。
【００２２】
しかし代理応答エージェント４による同一要求コマンドの検出機能と代理要求エージェント５による要求コマンドのキャッシュ機能とを用い、クライアント１から発せられた要求コマンドのサーバ２側への中継を中止し、これに代わって前記代理要求エージェント５からキャッシュした要求コマンドをサーバ２に与えることで、図３(ｂ)に示すようにネットワーク３を介して要求コマンドをデータ通信する必要がなくなるので、見掛け上、該要求コマンドの伝送遅れをなくすことができる。
【００２３】
またサーバ２から返信される応答レスポンスについては、ネットワーク３を介してデータ通信することが必要なので、それ自体の伝送遅れを回避することはできない。しかし前述したようにネットワーク３での伝送遅れを見込み、その伝送遅れ時間分だけ遡ったタイミングで前記サーバ２から応答レスポンスを出力するようにすれば、クライアント１は見掛け上、応答遅れなく応答レスポンスを受信することが可能となる。但し、このようにして応答レスポンスの出力タイミングを早めるには、その分、前記代理要求エージェント５からキャッシュした要求コマンドを、前述した伝送遅れ時間を見込んで遡ったタイミングで発するようにすることは言うまでもない。
【００２４】
従ってこのように構築されたネットワークシステムによれば、ネットワーク３での伝送遅れが無視できない環境下においても、クライアント１は要求コマンドを発したタイミングから時間遅れなく、つまりリアルタイムにその応答レスポンスを受け取ることが可能となり、そのリアルタイム性を十分に高めることが可能となる。しかもクライアント１が同一の要求コマンドを一定の周期Ｔで繰り返し発することが多いことに着目し、所定の周期Ｔで繰り返し発せられる要求コマンドをサーバ２側の代理要求エージェント５にてキャッシュし、しかる後、ネットワークを介する要求コマンドのデータ通信を行うことなく、キャッシュした要求コマンドに従って応答レスポンスを繰り返し返信すると言う簡易な制御だけで、要求コマンド／応答レスポンス方式によるクライアント１でのデータ収集をリアルタイムに行うことができる。従ってその実用的利点が絶大である。
【００２５】
ここで前述した代理応答エージェント４が有する同一の要求コマンドの検出処理と、前記代理要求エージェント５における要求コマンドのキャッシュ処理について今少し詳しく説明する。クライアント１が送信された要求コマンドの前記代理応答エージェント４における監視は、要求コマンドの内容をシグニチャ値として取り扱い、繰り返し送信される要求コマンドのシグニチャ値が等しいか否かを判定することによって行われる。特に本発明においては、要求コマンドの内容をハッシュ計算し、その計算結果をシグニチャ値として求めることで要求コマンドの内容の一意性を保証しながら、小容量で固定長のデータとして取り扱うものとなっている。
【００２６】
尚、クライアント１から送信される要求コマンドに一連のシーケンス番号（連番）等の付属情報が付されるような場合には、図４に例示するように付属情報を除いた要求コマンドそのものだけを抽出して、換言すれば付属情報をマスクしてハッシュ計算が行われる。このようにして求められたシグニチャ値（ハッシュ計算値）をキーとして前記要求コマンドに付されているタイムスタンプを管理し、例えば現在の要求コマンドのタイムスタンプと前回の要求コマンドのタイムスタンプとの時間差として、その繰り返し周期Ｔを計測する。
【００２７】
より具体的には代理応答エージェント４は、例えば図５に示す処理手順に従って要求コマンドの監視処理等を実行する。即ち、代理応答エージェント４はクライアント１からの要求コマンドを受信すると〈ステップＳ１〉、先ず前述したように要求コマンドの内容をハッシュ計算し、その計算結果をシグニチャ値とする〈ステップＳ２〉。そして予め準備されているシグニチャテーブル４ａを検索し〈ステップＳ３〉、該シグニチャテーブル４ａに同じシグニチャ値が登録されているか否かを判定する〈ステップＳ４〉。
【００２８】
尚、シグニチャテーブル４ａとは、シグニチャ値をキーとして要求コマンドのタイムスタンプ、その繰り返し周期、同一要求コマンドの測定回数、同一要求コマンドの測定完了フラグ等を記憶する為のメモリ領域からなる。そして前述したステップＳ２において求められたシグニチャ値がシグニチャテーブル４ａに登録されていない場合には、そのシグニチャ値をシグニチャテーブル４ａに新規登録する〈ステップＳ５〉。シグニチャテーブル４ａへの新規登録は、シグニチャ値をキーとし、タイムスタンプの項目に前記要求コマンドに付されているタイムスタンプの値を書き込むと共に、周期の項目および測定回数の項目をそれぞれ零（０）にリセットすることによって行われる。
【００２９】
そしてこの場合には、次に前述した要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信する〈ステップＳ６〉。そしてサーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受け〈ステップＳ７〉、応答レスポンスを受信したときには該応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。これによって要求コマンド／応答レスポンス方式によるクライアント１とサーバ２との間のデータ通信の中継を完了する。
【００３０】
これに対して要求コマンドから求めたシグニチャ値が、前述したシグニチャテーブル４ａに既に登録されている場合には〈ステップＳ４〉、当該要求コマンドに対する同一性の判定（繰り返し周期の測定）が既に完了したか否かが判定される〈ステップＳ９〉。そして同一の要求コマンドが一定の周期でクライアント１から繰り返し送信されていることが既に検出されている場合には、該要求コマンドをサーバ４側に向けて中継送信することなく、換言すれば要求コマンドの中継を停止し、前述したようにサーバ４側からの応答レスポンスを待ち受ける〈ステップＳ７〉。そして受信した応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。
【００３１】
一方、要求コマンドから求めたシグニチャ値が、前述したシグニチャテーブル４ａに既に登録されているが、その要求コマンドの繰り返し送信周期Ｔが求められていない場合には、前述したシグニチャテーブル４ａから前回の同じ要求コマンドに付されていたタイムスタンプを求めると共に、今回の要求コマンドに付されていたタイムスタンプを求め、これらのタイムスタンプの時間差として要求コマンドの繰り返し送信周期Ｔを求める〈ステップＳ１０〉。そしてシグニチャテーブル４ａに、要求コマンドの繰り返し送信周期Ｔが登録されているか否かを判定し〈ステップＳ１１〉、送信周期Ｔが登録されていない場合には、前述した如く求めた送信周期Ｔをシグニチャテーブル４ａに書き込んでその登録内容を更新する〈ステップＳ１２〉。この際、シグニチャテーブル４ａに登録している測定回数Ｎをインクリメントする。
【００３２】
しかる後、クライアント１から受け取った要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信する〈ステップＳ６〉。そしてサーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受け〈ステップＳ７〉、応答レスポンスを受信したときには該応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。これによって要求コマンド／応答レスポンス方式によるクライアント１とサーバ２との間のデータ通信の中継を完了する。
【００３３】
これに対してシグニチャテーブル４ａに送信周期Ｔが登録されている場合には〈ステップＳ１１〉、シグニチャテーブル４ａに登録されている送信周期Ｔと、今回新たに求めたタイムスタンプの時間差（送信周期Ｔ）との差が、許容された誤差範囲内であるか否かを判定する〈ステップＳ１３〉。この誤差判定は、例えば今回求めたタイムスタンプの時間差（送信周期Ｔ）とシグニチャテーブル４ａに登録されている送信周期Ｔとの比を求め、その比が所定の判定閾値以上であるか否かを調べることによって実行される。
【００３４】
そして送信周期Ｔのずれが許容誤差範囲を超える場合には前記シグニチャテーブル４ａの内容を初期化し、新たに今回求められたタイムスタンプを登録し、周期Ｔおよび測定回数Ｎをそれぞれ零（０）にリセットする〈ステップＳ１４〉。この場合にも、クライアント１から受け取った要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信し〈ステップＳ６〉、サーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受けて〈ステップＳ７〉、受信した応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。
【００３５】
さてシグニチャテーブル４ａに登録されている送信周期Ｔと、新たに求められた送信周期Ｔとの差が許容された誤差範囲内である場合には〈ステップＳ１３〉、例えば上記シグニチャテーブル４ａに登録されている送信周期Ｔと、今回新たに求めた送信周期（タイムスタンプの時間差）Ｔとの平均を求め、これを現時点で計測されている同一の要求コマンドの送信周期Ｔとして求める〈ステップＳ１５〉。そしてシグニチャテーブル４ａに登録されている測定回数Ｎが所定回数以上であるか否かを判定することで同じ要求コマンドの繰り返し性を判断する〈ステップＳ１６〉。そして上記測定回数Ｎが所定回数に満たず、同じ要求コマンドの繰り返し性が保証されない場合には、今回のタイムスタンプや、新たに求めた周期Ｔをシグニチャテーブル４ａに登録し、また測定回数Ｎをインクリメントとしてシグニチャテーブル４ａを更新する〈ステップＳ１７〉。
【００３６】
この場合にも、クライアント１から受け取った要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信し〈ステップＳ６〉、サーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受けて〈ステップＳ７〉、受信した応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。そして前記クライアント１からの次の要求コマンドの送信を待ち受ける。
【００３７】
さて上述した如くしてクライアント１が送信した要求コマンドのシグニチャ値を求め、シグニチャテーブル４ａを参照して該要求コマンドの同一性と、その繰り返し周期性とが確認されたならば〈ステップＳ１６〉、前記代理要求エージェント５に対して当該要求コマンドのキャッシュを指示する〈ステップＳ１８〉。そしてシグニチャテーブル４ａを更新した後〈ステップＳ１７〉、前述したようにクライアント１から受け取った要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信する〈ステップＳ６〉。そしてサーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受けて〈ステップＳ７〉、受信した応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。
【００３８】
このようにして代理要求エージェント５に対して要求コマンドのキャッシュを指示した後、クライアント１からの新たな要求コマンドを受信すると、代理応答エージェント４においては前述したシグニチャテーブル４ａを参照することで、その要求コマンドが所定の周期で繰り返し送信されている要求コマンドと同一であるか否かを判定する〈ステップＳ４〉。そして所定回数に亘って要求コマンドの繰り返し周期が求められ、その繰り返し周期性が保証されている場合には〈ステップＳ９〉、代理応答エージェント４は、クライアント１から受け取った要求コマンドをサーバ２側（代理要求エージェント４）に向けて中継送信することなく、つまり要求コマンドの中継を行うことなくサーバ２側（代理要求エージェント４）からの応答レスポンスを待ち受ける〈ステップＳ７〉。そして受信した応答レスポンスをクライアント１に向けて中継送信する〈ステップＳ８〉。
【００３９】
代理応答エージェント４は、クライアント１から発せられた要求コマンドを受信する都度、上述した処理手順により要求コマンドの同一性を判断し、更には一定周期での繰り返し性を判断することで、代理要求エージェント５に対して要求コマンドのキャッシュを指示する。そしてその後の要求コマンドの中継を停止し、代理要求エージェント５による管理の下でサーバ２から一定周期で返信される応答レスポンスをクライアント１に中継することになる。従ってクライアント１は、一定の周期Ｔでサーバ２に向けて送信した要求コマンドに対する応答レスポンスをサーバ２から確実に受け取ることが可能となる。この際、代理応答エージェント４において要求コマンドに付されたシーケンス番号に従って応答レスポンスの中継を管理すれば、常に要求コマンドとその応答レスポンスとを対応付けることが可能となるので、要求コマンド/応答レスポンス方式によるクライアント１とサーバ２との間でのデータ通信に何等の支障を招く虞もない。
【００４０】
さて前述したように代理応答エージェント４から要求コマンドのキャッシュの指示を受ける代理要求エージェント５は、例えば図６に示す処理手順に従ってその処理機能を実行する。即ち、代理要求エージェント５は、基本的には代理応答エージェント４からの要求コマンドを受信し〈ステップＳ２１〉、その要求コマンドにキャッシュ指示の情報が含まれているか否かを判断する〈ステップＳ２２〉。そしてキャッシュ指示がない場合には、代理応答エージェント４から受信した要求コマンドをサーバ２に向けて中継送信する〈ステップＳ２３〉。そしてこの要求コマンドに対してサーバ２が返信する応答レスポンスを受信し〈ステップＳ２４〉、受信した応答レスポンスを前記代理応答エージェント４に対して中継送信する〈ステップＳ２５〉。即ち、代理応答エージェント４とサーバ２との間のデータ通信を中継する。
【００４１】
これに対して代理応答エージェント４から通知された要求コマンドにキャッシュ指示の情報が含まれる場合には〈ステップＳ２２〉、その指示に従って当該要求コマンドをキャッシュメモリ５ａにキャッシュする〈ステップＳ２６〉。同時に前記代理応答エージェント４にて求められた要求コマンドの繰り返し周期Ｔの情報を取得する。そしてこの繰り返し周期Ｔから前記ネットワーク３でのデータの伝送遅れ時間（伝送遅延時間）を差し引くことで、前記クライアント１が次回に要求コマンドを送信すると見込まれるタイミングから一定時間だけ遡ったタイミングを設定する〈ステップＳ２７〉。この場合、前述したように前記代理応答エージェント４にて要求コマンドの中継が停止されることから、上記タイミングにて前記クライアント１からの要求コマンドに代えて、先にキャッシュした要求コマンドを読み込み〈ステップＳ２８〉、この要求コマンドをサーバ２に対して送信する〈ステップＳ２９〉。この場合、要求コマンドに負荷するシーケンス番号を順次インクリメントする。そして送信した要求コマンドに対して前記サーバ２が返信する応答レスポンスを受信し〈ステップＳ３０〉、この応答レスポンスを前記代理応答エージェント４に対して中継送信する〈ステップＳ３１〉。
【００４２】
その後、前述した要求コマンドの繰り返し周期Ｔをタイマ管理し、上記周期Ｔが経過する都度〈ステップＳ３２〉、前述したステップＳ２８からの処理を繰り返し実行する。即ち、一定の周期毎にキャッシュした要求コマンドをサーバ２に与えることで、該サーバ２から一定周期Ｔ毎にその応答レスポンスを引き出し、これをクライアント１側に向けて中継送信する。
【００４３】
このように機能する代理要求エージェント５と前述した代理応答エージェント４とにより、クライアント１から一定の周期で繰り返し送信される同一の要求コマンドが検出されたとき、その要求コマンドを代理要求エージェント５にてキャッシュし、ネットワーク３を介してクライアント１が送信した要求コマンドを伝送することなく、キャッシュした要求コマンドに基づいてサーバ２から一定の周期で応答レスポンスをクライアント１に与えることが可能となる。特にキャッシュした要求コマンドに基づく応答レスポンスの返送タイミングを、ネットワーク３での伝送遅れを見込んで早めに設定することで、クライアント１における要求コマンドの送信タイミングからの応答レスポンスの受信タイミングまでの応答遅れを実質的（見掛け上）になくすことができる。従ってそのリアルタイム性を十分に高くすることが可能となる。
【００４４】
尚、前述した代理応答エージェント４および代理要求エージェント５がそれぞれ有する機能については、図７に例示するようにクライアント１側のコンピュータおよびサーバ２がのコンピュータにそれぞれソフトウェアプログラムとして組み込むようにすれば十分である。この場合、代理応答エージェント４および代理要求エージェント５がそれぞれ有する機能を実行するソフトウェアプログラムをＣＤ-ＲＯＭ等の記録媒体に書き込んで、適宜、各種のネットワークシステムに組み込みうるようにしておくことが好ましい。
【００４５】
また或いは図８に示すように代理応答エージェント４の機能を備えたネットワーク接続機器、および代理要求エージェント５の機能を備えたネットワーク接続機器としてそれぞれ実現し、これらのネットワーク接続機器をクライアントコンピュータとネットワーク３の間、およびサーバコンピュータとネットワーク３の間にそれぞれ介挿するようにしても良い。要はその実施の形態については種々変形可能である。
【００４６】
尚、本発明は上述した実施形態に限定されるものではない。例えば要求コマンドの同一性の判定やその周期性の判定については、種々の判定アルゴリズを適宜採用可能である。またここではクライアント１とサーバ２との１対１のデータ通信を例に説明したが、複数のサーバ２との間で並列的に要求コマンド/応答レスポンス方式にてそれぞれデータ通信を行う場合でも同様に適用することができる。その他、本発明はその要旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態に係るネットワークシステムの概略構成図。
【図２】代理応答エージェントと代理要求エージェントとの間でのデータ通信されるパケットのフォーマット例を示す図。
【図３】図１に示すネットワークシステムでのデータ通信形態を模式的に示す図。
【図４】要求コマンドの内容をハッシュ計算して求められるシグニチャ値の概念を示す図。
【図５】代理応答エージェントの機能を実現する処理手順の例を示す図。
【図６】代理要求エージェントの機能を実現する処理手順の例を示す図。
【図７】本発明に係るネットワークシステムの実現例を示す図。
【図８】本発明に係るネットワークシステムの別の実現例を示す図。
【図９】一般的なネットワークシステムの構成を示す図。
【図１０】図９に示すネットワークシステムにおける要求コマンド／応答レスポンス方式でのデータ通信の形態を示す図。
【符号の説明】
【００４８】
１  クライアント
２  サーバ
３  ネットワーク
４  代理応答エージェント
５  代理要求エージェント
【図１】
0004927661.tif 000002
【図２】
0004927661.tif 000003
【図３】
0004927661.tif 000004
【図４】
0004927661.tif 000005
【図５】
0004927661.tif 000006
【図６】
0004927661.tif 000007
【図７】
0004927661.tif 000008
【図８】
0004927661.tif 000009
【図９】
0004927661.tif 000010
【図１０】
0004927661.tif 000011