説明

通信方法、ネットワークシステム、記憶媒体およびネットワーク接続機器

【課題】低速なネットワークを介してクライアントとサーバとの間で要求コマンド/応答レスポンス方式によりデータ通信を行う場合でも、クライアントにおけるデータ受信のリアルタイム性を十分に確保し得る簡易な構成のネットワークシステムを提供する。
【解決手段】クライアントから同一の要求コマンドが一定の周期で送信されるとき、サーバ側において要求コマンドをキャッシュすることで、クライアントからの要求コマンドをネットワークを介してデータ通信することなく、キャッシュした要求コマンドに従ってサーバから一定の周期で応答レスポンスを返信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して接続されたクライアントとサーバとの間で要求コマンドに対する応答レスポンスを返信する方式でデータ通信を行うシステムに係り、特にリアルタイム性を向上させた通信方法、ネットワークシステム、記憶媒体およびネットワーク接続機器に関する。尚、ここではクライアント側の情報処理機器(コンピュータ)をクライアントと定義し、またサーバ用の情報処理機器(コンピュータ)をサーバと定義して用いる。
【背景技術】
【0002】
ファクトリーオートメーション(FA)等においては、図9に示すようにクライアント1とサーバ2とをネットワーク3を介して接続し、ネットワーク3を介してデータ通信を行うネットワークシステムが構築される。このようなネットワークシステムにおいては、例えば図10に示すようにクライアント1からサーバ2に向けて該サーバ2のデータエリアに格納されたデータAの値の出力を要求するコマンド(要求コマンド)を送信し、この要求コマンドを受けたサーバ2から前記クライアント1に向けて上記要求コマンドに対する応答レスポンスの形で前記データAの値を返信することが多い。このようなデータ通信形態は、例えば要求コマンド/応答レスポンス方式と称される(例えば特許文献1,2を参照)。
【0003】
また上記FAにおいては、サーバ2が収集したデータをクライアント1側にて定常的に監視するべく、クライアント1から同一の要求コマンドを一定時間毎に繰り返し送信することも多い。
【特許文献1】特開2000−32006号公報
【特許文献2】特開2001−168921号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながらネットワーク3が広域に亘って敷設された低速の通信回線にて構築されるような場合、要求コマンドの送出から応答レスポンスの到着までに要する時間(応答遅れ時間;遅延時間)が大きくなることが否めず、リアルタイム性が損なわれると言う不具合がある。また広域ネットワークとしてインターネット回線を利用するような場合、セキュリティを高めるべく通信データを暗号化することが多く、暗号化・復号化に伴う高負荷な処理に起因して前述した応答遅れ時間が益々増大すると言う不具合がある。従って要求コマンド/応答レスポンス方式によりリアルタイムにデータを収集する必要のある状態監視等の用途においては、ローカルエリアネットワーク等の高速な環境に限られると言う問題がある。
【0005】
本発明はこのような事情を考慮してなされたもので、その目的は、例えば広域ネットワークのような比較的低速なネットワークを介してクライアントとサーバとの間で要求コマンド/応答レスポンス方式によりデータ通信を行う場合であっても、そのリアルタイム性を十分に確保したデータ通信を行い得る通信方法、および簡易な構成のネットワークシステムを提供することにある。
【0006】
また同時に本発明は上記ネットワークシステムを構築するに必要な機能を有するソフトウェアプログラムを記憶した記憶媒体、更には上記機能を備えたネットワーク接続機器を提供することにある。
【課題を解決するための手段】
【0007】
上述した目的を達成するべく本発明は、ネットワークを介して接続されたクライアントとサーバとの間で要求コマンド/応答レスポンス方式にてデータ通信を行い、これによってサーバが収集したデータをクライアントにて定常的に監視するような場合、クライアントからサーバに向けて同一の要求コマンドを一定の周期で繰り返し送信することが多いことに着目している。そこで本発明に係る通信方法は、ネットワークを介して同一の要求コマンドを一定の周期で受信したとき該要求コマンドをキャッシュし、キャッシュした要求コマンドに従って一定の周期で応答レスポンスを返信するようにしたことを特徴としている。
【0008】
また本発明に係るネットワークシステムは、クライアントからネットワークを介してサーバに要求コマンドを送信し、上記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに応答レスポンスを返信するシステムにおいて、
前記クライアントから同一の要求コマンドが一定の周期で送信されるとき、前記サーバ側において前記要求コマンドをキャッシュし、キャッシュした要求コマンドに従って前記サーバから一定の周期で応答レスポンスを返信するようにしたことを特徴としている。
【0009】
好ましくは前記クライアントおよび前記サーバを、中継機能を備えた代理エージェントを介して前記ネットワークにそれぞれ接続し、
前記クライアント側の代理エージェントを、前記クライアントから同一の要求コマンドが一定の周期で通知されるとき、前記サーバ側の代理エージェントに該要求コマンドのキャッシュを指示すると共に、その後の前記クライアントからの要求コマンドの中継を停止するように構成すると共に、前記サーバ側の代理エージェントを、キャッシュした要求コマンドに従って前記クライアントに代わって前記一定の周期で前記サーバに要求コマンドを発するように構成することが好ましい。
【0010】
また前記サーバにおいては、キャッシュした要求コマンドに応答するに際して、前記ネットワークでの応答遅れ時間を見込んで応答レスポンスを返送するように構成することが望ましい。尚、前記クライアント側の代理エージェントにおいては、要求コマンドの内容をハッシュ計算して求められる値をシグニチャとして同一の要求コマンドの検出を行うようにすれば良い。また前記ハッシュ計算については、要求コマンドに含まれるシーケンス番号を除いて実行するようにすれば良い。
【0011】
また上述したクライアント側の代理エージェントの機能およびサーバ側の代理エージェントの機能については、コンピュータ上でこれらの機能を実現するソフトウェアを記憶した記憶媒体として提供するようにしても良い。或いはクライアント側の代理エージェントの機能を備えたネットワーク接続機器や、サーバ側の代理エージェントの機能を備えたネットワーク接続機器として提供するようにしても良い。
【発明の効果】
【0012】
本発明に係る通信方法およびネットワークシステムによれば、クライアントが同一の要求コマンドを一定の時間毎に繰り返して送信する状態をクライアント側の代理エージェントにおいて検出したとき、その要求コマンドをサーバ側の代理エージェントにてキャッシュさせると共にその後の同一要求コマンドの中継を停止し、サーバ側の代理エージェントにおいてはキャッシュした要求コマンドに従って一点時間毎にクライアントに向けて応答レスポンスを送信するので、見掛け上その応答遅れを低減することができる。またネットワークに対して同一の要求コマンドが一定時間毎に繰り返し送信されることがなくなるので、ネットワークでのトラフィック量を低減することも可能となる。
【0013】
特にサーバからクライアントに向けて応答レスポンスを送信するに際して、ネットワークでの応答遅れ時間を見込んで時間的に遡って応答レスポンスを返送するようにすれば、クライアントにおいては要求コマンドの送信タイミングにてリアルタイムに応答レスポンスを得ることができるので、実質的に応答遅れ時間を零(0)としてリアルタイム性を確保することが可能となる。従って低速のネットワークを介して要求コマンド/応答レスポンス方式によりデータ通信を行う場合であっても、そのリアルタイム性を簡易にして効果的に確保することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して本発明の一実施形態に係る通信方法およびこの通信方法を採用したネットワークシステムについて説明する。
図1は本発明に係るネットワークシステムの概略構成図で、1はクライアント(クライアント側の情報処理装置;コンピュータ)、2はサーバ(サーバ用の情報処理装置;コンピュータ)、そして3は広域通信回線やインターネット回線等のネットワークである。本発明に係るネットワークシステムは、中継機能を備えた代理応答用の代理エージェント(代理応答エージェント)4を介して前記クライアント1をネットワーク3に接続すると共に、中継機能を備えた代理要求用の代理エージェント(代理要求エージェント)5を介して前記サーバ2をネットワーク3に接続して構築される。そして前記クライアント1およびサーバ2は、上記代理応答エージェント4および代理要求エージェント5をそれぞれ介してデータ通信を行うように設定される。尚、上記各代理エージェント4,5とは、クライアント1またはサーバ2と前記ネットワーク3との間で要求コマンドおよび応答レスポンスをそれぞれ中継する中継機能、並びに後述する代理応答機能および代理要求機能を備えた情報処理装置(コンピュータ)を指す。
【0015】
このような代理応答エージェント4および代理要求エージェント5をそれぞれ介する前述したクライアント1とサーバ2との間の間接的なデータ通信は、クライアント1が代理応答エージェント4をサーバ3と看做し得るように、またサーバ2が代理要求エージェント5をクライアント1と看做し得るように、上記各代理エージェント4,5に仮想のネットワークアドレスを割り当てることにより実現される。
【0016】
そしてこれらの代理エージェント4,5間でのネットワーク3を介するデータ通信は、例えば図2に示すようにクライアント1から送信された要求コマンド(通信データ)またはサーバ2から返送される応答レスポンス(通信データ)に、これらの通信データの中継を制御する為のエージェント中継制御ヘッダを付し、更に通信プロトコルヘッダを付すことで、所定のフォーマットの通信パケットを構成して行われる。好ましくは前記エージェント4,5間でのデータ通信は、要求コマンド/応答レスポンス(通信データ)とエージェント中継制御ヘッダとからなる通信データ内容(パケットデータ)を暗号化して行われる。
【0017】
さて前記代理応答エージェント4は前述した中継機能に加えて、クライアント1からサーバ2に向けて送信される要求コマンドを監視して、同一の要求コマンドが繰り返し送信されるか否かを判定し、また同一の要求コマンドが一定の周期Tで繰り返し送信される場合には、その周期Tを検出する機能を備える。そして同一の要求コマンドが所定の期間に亘って、或いは所定の回数に亘って一定の周期Tで繰り返し送信されることが検出された場合には該要求コマンドの中継処理を停止し、サーバ2側に該要求コマンドのキャッシュを指示する機能を備える。
【0018】
一方、前記代理要求エージェント5は前述した中継機能に加えて前記要求コマンドのキャッシュ機能を備える。このキャッシュ機能は、前記代理応答エージェント4から要求コマンドのキャッシュの指示を受けたとき、前記クライアント1から一定の周期Tで繰り返し送信されていた要求コマンドと該要求コマンドの送信周期Tの情報とを図示しないメモリ(キャッシュ・メモリ)に書き込んで保存する役割を担う。そして更に代理要求エージェント5は上述した如く要求コマンドをキャッシュしたとき、キャッシュした要求コマンドに従って前記周期T毎に前述したクライアント1に代わって前記要求コマンドを繰り返しサーバ2に通知する機能を備える。
【0019】
このようにしてキャッシュした要求コマンドを前記サーバ2に向けて出力する際、前記代理要求エージェント5は、後述するように前記ネットワーク3での通信データの伝送遅れ(遅延時間D)に基づいて、その遅延時間に相当する時間Dだけ遡ったタイミングで同一の要求コマンドを一定の周期Tで繰り返し出力する。するとサーバ2は代理要求エージェント5が発した要求コマンドを、前記クライアント1から送信された要求コマンドであると看做して取り込み、クライアント1に向けて応答レスポンスを返信する。
【0020】
このようにしてサーバ2から返信された応答レスポンスは代理要求エージェント5から前記ネットワーク3を介して、更には前記代理応答エージェント4を介して中継されてクライアント1に送信される。従ってクライアント1は、自らが送信した要求コマンドに対して、あたかも代理応答エージェント4からリアルタイムに応答レスポンスがあったかの如く、その応答レスポンスを受信することが可能となる。
【0021】
このように構築されたネットワークシステムにおいては、代理応答エージェント4および代理要求エージェント5の各中継機能を用いることで、基本的には図3(a)に示すようにクライアント1とサーバ2との間で要求コマンド/応答レスポンス方式によるデータ通信を間接的に行い得る。しかしこの場合、代理応答エージェント4と代理要求エージェント5とを結ぶネットワーク3の伝送特性に起因してクライアント1から送信された要求コマンドがサーバ2に届くまでに時間(遅れ時間)が掛かることが否めない。また同様にサーバ2が返信した応答レスポンスがクライアント1に届くまでに時間(遅れ時間)が掛かることが否めない。
【0022】
しかし代理応答エージェント4による同一要求コマンドの検出機能と代理要求エージェント5による要求コマンドのキャッシュ機能とを用い、クライアント1から発せられた要求コマンドのサーバ2側への中継を中止し、これに代わって前記代理要求エージェント5からキャッシュした要求コマンドをサーバ2に与えることで、図3(b)に示すようにネットワーク3を介して要求コマンドをデータ通信する必要がなくなるので、見掛け上、該要求コマンドの伝送遅れをなくすことができる。
【0023】
またサーバ2から返信される応答レスポンスについては、ネットワーク3を介してデータ通信することが必要なので、それ自体の伝送遅れを回避することはできない。しかし前述したようにネットワーク3での伝送遅れを見込み、その伝送遅れ時間分だけ遡ったタイミングで前記サーバ2から応答レスポンスを出力するようにすれば、クライアント1は見掛け上、応答遅れなく応答レスポンスを受信することが可能となる。但し、このようにして応答レスポンスの出力タイミングを早めるには、その分、前記代理要求エージェント5からキャッシュした要求コマンドを、前述した伝送遅れ時間を見込んで遡ったタイミングで発するようにすることは言うまでもない。
【0024】
従ってこのように構築されたネットワークシステムによれば、ネットワーク3での伝送遅れが無視できない環境下においても、クライアント1は要求コマンドを発したタイミングから時間遅れなく、つまりリアルタイムにその応答レスポンスを受け取ることが可能となり、そのリアルタイム性を十分に高めることが可能となる。しかもクライアント1が同一の要求コマンドを一定の周期Tで繰り返し発することが多いことに着目し、所定の周期Tで繰り返し発せられる要求コマンドをサーバ2側の代理要求エージェント5にてキャッシュし、しかる後、ネットワークを介する要求コマンドのデータ通信を行うことなく、キャッシュした要求コマンドに従って応答レスポンスを繰り返し返信すると言う簡易な制御だけで、要求コマンド/応答レスポンス方式によるクライアント1でのデータ収集をリアルタイムに行うことができる。従ってその実用的利点が絶大である。
【0025】
ここで前述した代理応答エージェント4が有する同一の要求コマンドの検出処理と、前記代理要求エージェント5における要求コマンドのキャッシュ処理について今少し詳しく説明する。クライアント1が送信された要求コマンドの前記代理応答エージェント4における監視は、要求コマンドの内容をシグニチャ値として取り扱い、繰り返し送信される要求コマンドのシグニチャ値が等しいか否かを判定することによって行われる。特に本発明においては、要求コマンドの内容をハッシュ計算し、その計算結果をシグニチャ値として求めることで要求コマンドの内容の一意性を保証しながら、小容量で固定長のデータとして取り扱うものとなっている。
【0026】
尚、クライアント1から送信される要求コマンドに一連のシーケンス番号(連番)等の付属情報が付されるような場合には、図4に例示するように付属情報を除いた要求コマンドそのものだけを抽出して、換言すれば付属情報をマスクしてハッシュ計算が行われる。このようにして求められたシグニチャ値(ハッシュ計算値)をキーとして前記要求コマンドに付されているタイムスタンプを管理し、例えば現在の要求コマンドのタイムスタンプと前回の要求コマンドのタイムスタンプとの時間差として、その繰り返し周期Tを計測する。
【0027】
より具体的には代理応答エージェント4は、例えば図5に示す処理手順に従って要求コマンドの監視処理等を実行する。即ち、代理応答エージェント4はクライアント1からの要求コマンドを受信すると〈ステップS1〉、先ず前述したように要求コマンドの内容をハッシュ計算し、その計算結果をシグニチャ値とする〈ステップS2〉。そして予め準備されているシグニチャテーブル4aを検索し〈ステップS3〉、該シグニチャテーブル4aに同じシグニチャ値が登録されているか否かを判定する〈ステップS4〉。
【0028】
尚、シグニチャテーブル4aとは、シグニチャ値をキーとして要求コマンドのタイムスタンプ、その繰り返し周期、同一要求コマンドの測定回数、同一要求コマンドの測定完了フラグ等を記憶する為のメモリ領域からなる。そして前述したステップS2において求められたシグニチャ値がシグニチャテーブル4aに登録されていない場合には、そのシグニチャ値をシグニチャテーブル4aに新規登録する〈ステップS5〉。シグニチャテーブル4aへの新規登録は、シグニチャ値をキーとし、タイムスタンプの項目に前記要求コマンドに付されているタイムスタンプの値を書き込むと共に、周期の項目および測定回数の項目をそれぞれ零(0)にリセットすることによって行われる。
【0029】
そしてこの場合には、次に前述した要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信する〈ステップS6〉。そしてサーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受け〈ステップS7〉、応答レスポンスを受信したときには該応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。これによって要求コマンド/応答レスポンス方式によるクライアント1とサーバ2との間のデータ通信の中継を完了する。
【0030】
これに対して要求コマンドから求めたシグニチャ値が、前述したシグニチャテーブル4aに既に登録されている場合には〈ステップS4〉、当該要求コマンドに対する同一性の判定(繰り返し周期の測定)が既に完了したか否かが判定される〈ステップS9〉。そして同一の要求コマンドが一定の周期でクライアント1から繰り返し送信されていることが既に検出されている場合には、該要求コマンドをサーバ4側に向けて中継送信することなく、換言すれば要求コマンドの中継を停止し、前述したようにサーバ4側からの応答レスポンスを待ち受ける〈ステップS7〉。そして受信した応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。
【0031】
一方、要求コマンドから求めたシグニチャ値が、前述したシグニチャテーブル4aに既に登録されているが、その要求コマンドの繰り返し送信周期Tが求められていない場合には、前述したシグニチャテーブル4aから前回の同じ要求コマンドに付されていたタイムスタンプを求めると共に、今回の要求コマンドに付されていたタイムスタンプを求め、これらのタイムスタンプの時間差として要求コマンドの繰り返し送信周期Tを求める〈ステップS10〉。そしてシグニチャテーブル4aに、要求コマンドの繰り返し送信周期Tが登録されているか否かを判定し〈ステップS11〉、送信周期Tが登録されていない場合には、前述した如く求めた送信周期Tをシグニチャテーブル4aに書き込んでその登録内容を更新する〈ステップS12〉。この際、シグニチャテーブル4aに登録している測定回数Nをインクリメントする。
【0032】
しかる後、クライアント1から受け取った要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信する〈ステップS6〉。そしてサーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受け〈ステップS7〉、応答レスポンスを受信したときには該応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。これによって要求コマンド/応答レスポンス方式によるクライアント1とサーバ2との間のデータ通信の中継を完了する。
【0033】
これに対してシグニチャテーブル4aに送信周期Tが登録されている場合には〈ステップS11〉、シグニチャテーブル4aに登録されている送信周期Tと、今回新たに求めたタイムスタンプの時間差(送信周期T)との差が、許容された誤差範囲内であるか否かを判定する〈ステップS13〉。この誤差判定は、例えば今回求めたタイムスタンプの時間差(送信周期T)とシグニチャテーブル4aに登録されている送信周期Tとの比を求め、その比が所定の判定閾値以上であるか否かを調べることによって実行される。
【0034】
そして送信周期Tのずれが許容誤差範囲を超える場合には前記シグニチャテーブル4aの内容を初期化し、新たに今回求められたタイムスタンプを登録し、周期Tおよび測定回数Nをそれぞれ零(0)にリセットする〈ステップS14〉。この場合にも、クライアント1から受け取った要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信し〈ステップS6〉、サーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受けて〈ステップS7〉、受信した応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。
【0035】
さてシグニチャテーブル4aに登録されている送信周期Tと、新たに求められた送信周期Tとの差が許容された誤差範囲内である場合には〈ステップS13〉、例えば上記シグニチャテーブル4aに登録されている送信周期Tと、今回新たに求めた送信周期(タイムスタンプの時間差)Tとの平均を求め、これを現時点で計測されている同一の要求コマンドの送信周期Tとして求める〈ステップS15〉。そしてシグニチャテーブル4aに登録されている測定回数Nが所定回数以上であるか否かを判定することで同じ要求コマンドの繰り返し性を判断する〈ステップS16〉。そして上記測定回数Nが所定回数に満たず、同じ要求コマンドの繰り返し性が保証されない場合には、今回のタイムスタンプや、新たに求めた周期Tをシグニチャテーブル4aに登録し、また測定回数Nをインクリメントとしてシグニチャテーブル4aを更新する〈ステップS17〉。
【0036】
この場合にも、クライアント1から受け取った要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信し〈ステップS6〉、サーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受けて〈ステップS7〉、受信した応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。そして前記クライアント1からの次の要求コマンドの送信を待ち受ける。
【0037】
さて上述した如くしてクライアント1が送信した要求コマンドのシグニチャ値を求め、シグニチャテーブル4aを参照して該要求コマンドの同一性と、その繰り返し周期性とが確認されたならば〈ステップS16〉、前記代理要求エージェント5に対して当該要求コマンドのキャッシュを指示する〈ステップS18〉。そしてシグニチャテーブル4aを更新した後〈ステップS17〉、前述したようにクライアント1から受け取った要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信する〈ステップS6〉。そしてサーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受けて〈ステップS7〉、受信した応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。
【0038】
このようにして代理要求エージェント5に対して要求コマンドのキャッシュを指示した後、クライアント1からの新たな要求コマンドを受信すると、代理応答エージェント4においては前述したシグニチャテーブル4aを参照することで、その要求コマンドが所定の周期で繰り返し送信されている要求コマンドと同一であるか否かを判定する〈ステップS4〉。そして所定回数に亘って要求コマンドの繰り返し周期が求められ、その繰り返し周期性が保証されている場合には〈ステップS9〉、代理応答エージェント4は、クライアント1から受け取った要求コマンドをサーバ2側(代理要求エージェント4)に向けて中継送信することなく、つまり要求コマンドの中継を行うことなくサーバ2側(代理要求エージェント4)からの応答レスポンスを待ち受ける〈ステップS7〉。そして受信した応答レスポンスをクライアント1に向けて中継送信する〈ステップS8〉。
【0039】
代理応答エージェント4は、クライアント1から発せられた要求コマンドを受信する都度、上述した処理手順により要求コマンドの同一性を判断し、更には一定周期での繰り返し性を判断することで、代理要求エージェント5に対して要求コマンドのキャッシュを指示する。そしてその後の要求コマンドの中継を停止し、代理要求エージェント5による管理の下でサーバ2から一定周期で返信される応答レスポンスをクライアント1に中継することになる。従ってクライアント1は、一定の周期Tでサーバ2に向けて送信した要求コマンドに対する応答レスポンスをサーバ2から確実に受け取ることが可能となる。この際、代理応答エージェント4において要求コマンドに付されたシーケンス番号に従って応答レスポンスの中継を管理すれば、常に要求コマンドとその応答レスポンスとを対応付けることが可能となるので、要求コマンド/応答レスポンス方式によるクライアント1とサーバ2との間でのデータ通信に何等の支障を招く虞もない。
【0040】
さて前述したように代理応答エージェント4から要求コマンドのキャッシュの指示を受ける代理要求エージェント5は、例えば図6に示す処理手順に従ってその処理機能を実行する。即ち、代理要求エージェント5は、基本的には代理応答エージェント4からの要求コマンドを受信し〈ステップS21〉、その要求コマンドにキャッシュ指示の情報が含まれているか否かを判断する〈ステップS22〉。そしてキャッシュ指示がない場合には、代理応答エージェント4から受信した要求コマンドをサーバ2に向けて中継送信する〈ステップS23〉。そしてこの要求コマンドに対してサーバ2が返信する応答レスポンスを受信し〈ステップS24〉、受信した応答レスポンスを前記代理応答エージェント4に対して中継送信する〈ステップS25〉。即ち、代理応答エージェント4とサーバ2との間のデータ通信を中継する。
【0041】
これに対して代理応答エージェント4から通知された要求コマンドにキャッシュ指示の情報が含まれる場合には〈ステップS22〉、その指示に従って当該要求コマンドをキャッシュメモリ5aにキャッシュする〈ステップS26〉。同時に前記代理応答エージェント4にて求められた要求コマンドの繰り返し周期Tの情報を取得する。そしてこの繰り返し周期Tから前記ネットワーク3でのデータの伝送遅れ時間(伝送遅延時間)を差し引くことで、前記クライアント1が次回に要求コマンドを送信すると見込まれるタイミングから一定時間だけ遡ったタイミングを設定する〈ステップS27〉。この場合、前述したように前記代理応答エージェント4にて要求コマンドの中継が停止されることから、上記タイミングにて前記クライアント1からの要求コマンドに代えて、先にキャッシュした要求コマンドを読み込み〈ステップS28〉、この要求コマンドをサーバ2に対して送信する〈ステップS29〉。この場合、要求コマンドに負荷するシーケンス番号を順次インクリメントする。そして送信した要求コマンドに対して前記サーバ2が返信する応答レスポンスを受信し〈ステップS30〉、この応答レスポンスを前記代理応答エージェント4に対して中継送信する〈ステップS31〉。
【0042】
その後、前述した要求コマンドの繰り返し周期Tをタイマ管理し、上記周期Tが経過する都度〈ステップS32〉、前述したステップS28からの処理を繰り返し実行する。即ち、一定の周期毎にキャッシュした要求コマンドをサーバ2に与えることで、該サーバ2から一定周期T毎にその応答レスポンスを引き出し、これをクライアント1側に向けて中継送信する。
【0043】
このように機能する代理要求エージェント5と前述した代理応答エージェント4とにより、クライアント1から一定の周期で繰り返し送信される同一の要求コマンドが検出されたとき、その要求コマンドを代理要求エージェント5にてキャッシュし、ネットワーク3を介してクライアント1が送信した要求コマンドを伝送することなく、キャッシュした要求コマンドに基づいてサーバ2から一定の周期で応答レスポンスをクライアント1に与えることが可能となる。特にキャッシュした要求コマンドに基づく応答レスポンスの返送タイミングを、ネットワーク3での伝送遅れを見込んで早めに設定することで、クライアント1における要求コマンドの送信タイミングからの応答レスポンスの受信タイミングまでの応答遅れを実質的(見掛け上)になくすことができる。従ってそのリアルタイム性を十分に高くすることが可能となる。
【0044】
尚、前述した代理応答エージェント4および代理要求エージェント5がそれぞれ有する機能については、図7に例示するようにクライアント1側のコンピュータおよびサーバ2がのコンピュータにそれぞれソフトウェアプログラムとして組み込むようにすれば十分である。この場合、代理応答エージェント4および代理要求エージェント5がそれぞれ有する機能を実行するソフトウェアプログラムをCD-ROM等の記録媒体に書き込んで、適宜、各種のネットワークシステムに組み込みうるようにしておくことが好ましい。
【0045】
また或いは図8に示すように代理応答エージェント4の機能を備えたネットワーク接続機器、および代理要求エージェント5の機能を備えたネットワーク接続機器としてそれぞれ実現し、これらのネットワーク接続機器をクライアントコンピュータとネットワーク3の間、およびサーバコンピュータとネットワーク3の間にそれぞれ介挿するようにしても良い。要はその実施の形態については種々変形可能である。
【0046】
尚、本発明は上述した実施形態に限定されるものではない。例えば要求コマンドの同一性の判定やその周期性の判定については、種々の判定アルゴリズを適宜採用可能である。またここではクライアント1とサーバ2との1対1のデータ通信を例に説明したが、複数のサーバ2との間で並列的に要求コマンド/応答レスポンス方式にてそれぞれデータ通信を行う場合でも同様に適用することができる。その他、本発明はその要旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【0047】
【図1】本発明の一実施形態に係るネットワークシステムの概略構成図。
【図2】代理応答エージェントと代理要求エージェントとの間でのデータ通信されるパケットのフォーマット例を示す図。
【図3】図1に示すネットワークシステムでのデータ通信形態を模式的に示す図。
【図4】要求コマンドの内容をハッシュ計算して求められるシグニチャ値の概念を示す図。
【図5】代理応答エージェントの機能を実現する処理手順の例を示す図。
【図6】代理要求エージェントの機能を実現する処理手順の例を示す図。
【図7】本発明に係るネットワークシステムの実現例を示す図。
【図8】本発明に係るネットワークシステムの別の実現例を示す図。
【図9】一般的なネットワークシステムの構成を示す図。
【図10】図9に示すネットワークシステムにおける要求コマンド/応答レスポンス方式でのデータ通信の形態を示す図。
【符号の説明】
【0048】
1 クライアント
2 サーバ
3 ネットワーク
4 代理応答エージェント
5 代理要求エージェント

【特許請求の範囲】
【請求項1】
ネットワークを介して同一の要求コマンドを一定の周期で受信したとき該要求コマンドをキャッシュし、キャッシュした要求コマンドに従って一定の周期で応答レスポンスを返信することを特徴とする通信方法。
【請求項2】
クライアントからネットワークを介してサーバに要求コマンドを送信し、上記要求コマンドを受けた前記サーバから前記ネットワークを介して前記クライアントに応答レスポンスを返信するシステムであって、
前記クライアントから同一の要求コマンドが一定の周期で送信されるとき、前記サーバ側において前記要求コマンドをキャッシュし、キャッシュした要求コマンドに従って前記サーバから一定の周期で応答レスポンスを返信することを特徴とするネットワークシステム。
【請求項3】
前記クライアントおよび前記サーバは、中継機能を備えた代理エージェントを介して前記ネットワークにそれぞれ接続されるものであって、
前記クライアント側の代理エージェントは、前記クライアントから同一の要求コマンドが一定の周期で通知されるとき、前記サーバ側の代理エージェントに該要求コマンドのキャッシュを指示すると共に、その後の前記クライアントからの要求コマンドの中継を停止する機能を備え、
前記サーバ側の代理エージェントは、キャッシュした要求コマンドに従って前記クライアントに代わって前記一定の周期で前記サーバに要求コマンドを発する機能を備えることを特徴とする請求項2に記載のネットワークシステム。
【請求項4】
前記サーバは、キャッシュした要求コマンドに応答するに際して、前記ネットワークでの応答遅れ時間を見込んで応答レスポンスを返送することを特徴とする請求項2に記載のネットワークシステム。
【請求項5】
前記クライアント側の代理エージェントは、要求コマンドの内容をハッシュ計算して求められる値をシグニチャとして同一の要求コマンドの検出を行うものである請求項2に記載のネットワークシステム。
【請求項6】
前記ハッシュ計算は、要求コマンドに含まれるシーケンス番号を除いて実行されるものである請求項5に記載のネットワークシステム。
【請求項7】
請求項3に記載の前記クライアント側の代理エージェントの機能および前記サーバ側の代理エージェントの機能を備えたソフトウェアを記憶した記憶媒体。
【請求項8】
請求項3に記載の前記クライアント側の代理エージェントの機能を備えたネットワーク接続機器。
【請求項9】
請求項3に記載の前記サーバ側の代理エージェントの機能を備えたネットワーク接続機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−44619(P2009−44619A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2007−209404(P2007−209404)
【出願日】平成19年8月10日(2007.8.10)
【出願人】(592118686)ジェイティエンジニアリング株式会社 (15)
【Fターム(参考)】