(57)【要約】【課題】差分情報の作成に必要なデータの記憶量を軽減することができるとともに、差分情報作成に係る状態情報の管理及び処理負担を軽減することができる情報管理装置を提供する。【解決手段】本発明による情報管理システムは、情報管理装置１０と情報要求装置１１とを備える。情報管理装置１０は、オブジェクトの状態が変化する毎に、その状態変化に関する状態情報を取得し、記憶部４８に記憶する。その後、情報要求装置１１から状態情報の提供要求があった場合には、記憶部４８に記憶された複数の状態情報の中から、この提供要求を受け取る前に情報要求装置に最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までを、差分情報として情報要求装置１１に提供する。【選択図】図４
2009093664.tif 000002
【特許請求の範囲】
【請求項１】
情報を管理するとともに、要求側からの要求に応じて管理している情報を提供する情報管理装置であって、
複数種類の状態に変化する対象の状態が変化する毎に生成され、その状態の変化に関する状態情報を取得する取得部と、
前記取得部にて得られた状態情報を状態変化毎に記憶する記憶部と、
状態情報の提供要求を要求側から受け取った場合に、前記記憶部に状態変化毎に記憶された状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、要求側が最新の状態情報のみの提供を要求している場合には、検出した状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を差分情報として要求側に提供する提供部と
を備えた情報管理装置。
【請求項２】
前記記憶部に記憶されている最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された最新の状態情報を要求側に提供する
請求項１記載の情報管理装置。
【請求項３】
前記取得部は、複数の対象に関する状態情報を夫々取得し、
前記記憶部は、前記取得部にて取得された各状態情報を記憶し、
前記記憶部に記憶されている各対象の最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された各対象の最新の状態情報を要求側に提供する
請求項１又は２記載の情報管理装置。
【請求項４】
情報管理装置と、情報要求装置とを含み、
前記情報管理装置は、
複数種類の状態に変化する対象の状態が変化する毎に生成され、その状態の変化に関する状態情報を取得する取得部と、
前記取得部にて得られた状態情報を状態変化毎に記憶する記憶部と、
状態情報の提供要求を情報要求装置から受け取った場合に、前記記憶部に状態変化毎に記憶された状態情報の中から、この提供要求を受け取る前に情報要求装置に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、要求側が最新の状態情報のみの提供を要求している場合には、検出した状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を差分情報として情報要求装置に提供する提供部と
を備えた情報管理システム。
【請求項５】
前記情報管理装置は、前記記憶部に記憶されている最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された最新の状態情報を要求側に提供する
請求項４記載の情報管理システム。
【請求項６】
前記取得部は、複数の対象に関する状態情報を夫々取得し、
前記記憶部は、前記取得部にて取得された各状態情報を記憶し、
前記情報管理装置は、前記記憶部に記憶されている各対象の最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された各対象の最新の状態情報を要求側に提供する
請求項４又は５記載の情報管理システム。
【請求項７】
情報を管理するとともに、要求側からの要求に応じて管理している情報を提供する情報管理装置の情報提供方法をコンピュータで実行するためのプログラムであって、
複数種類の状態に変化する対象の状態が変化する毎に生成され、その状態の変化に関する状態情報を取得するステップと、
取得した状態情報を記憶装置に状態変化毎に記憶するステップと、
状態情報の提供要求を要求側から受け取った場合に、記憶装置に状態変化毎に記憶されている複数の状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、要求側が最新の状態情報のみの提供を要求している場合には、検出した状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を差分情報として要求側に提供するステップと
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を管理するとともに、要求に応じて管理している情報を提供する情報管理装置に関する。例えば、複数種類の状態に変化するオブジェクトの状態に関する状態情報を管理し、要求に応じて状態情報を提供する情報管理装置に関する。
【背景技術】
【０００２】
従来、サーバがオブジェクトの状態に関する情報（以下、「状態情報」と称する）を管理し、ネットワークを通じて接続されたクライアントからの要求に応じて状態情報を与えるサーバ・クライアントシステムが知られている。このシステムには、以下のタイプがある。
【０００３】
(１)サーバが、或る時点から現時点までにおけるオブジェクトの状態変化に関する複数の状態情報を一つの情報として（分割不可能な状態で）保持し、クライアントからの要求を受け取る毎に、保持している全ての状態情報をクライアントに与える（第１のタイプ）。
【０００４】
(２)サーバが、現時点におけるオブジェクトの状態に関する状態情報を最新の状態情報として保持し、クライアントからの要求に対して、最新の状態情報のみを与える（第２のタイプ）。
【０００５】
(３)サーバが、ある時点から現時点までのオブジェクトの状態変化に関する複数の状態情報を最新の状態情報として保持するとともに、クライアントに既に提供した単数又は複数の状態情報のコピーを保持する。クライアントから要求があった場合には、サーバは、最新の状態情報と状態情報のコピーとを対比して両者の相違部分を抽出し、この相違部分を差分情報としてクライアントに与える（第３のタイプ）。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した第１〜３のタイプによるシステムには、以下の問題があった。
【０００７】
即ち、第１のタイプでは、サーバが保持している状態情報の全てをクライアントに与える。このため、クライアントへ伝送されるデータ量が、第２及び第３のタイプに比べて多くなる。従って、第２及び第３のタイプに比べて、ネットワークにかかる負荷が大きくなるとともに、伝送速度を同じと仮定した場合に、クライアントがサーバから状態情報を得るための時間が長くなっていた。
【０００８】
第２のタイプでは、サーバが現時点におけるオブジェクトの状態情報しか保持していない。このため、クライアントがオブジェクトの状態変化に関する状態情報を全て取得しようとする場合には、クライアントが状態情報の提供をサーバに対して頻繁に要求しなければならなかった。従って、第１及び第３のタイプに比べてネットワークに負荷がかかる可能性があった。また、オブジェクトの状態変化が頻繁に起こる場合には、クライアントがサーバに対して頻繁に状態情報の提供を要求しても、全ての状態変化に対する状態情報を取得できないことがあった。
【０００９】
第３のタイプでは、サーバが、差分情報を作成するためにクライアントに既に提供した状態情報のコピーを保持している。特に、複数のクライアントが存在する場合には、サーバは各クライアントについての状態情報のコピーを保持しなければならない。このため、
状態情報を保持するための資源(メモリ)の容量を第１及び第２のタイプに比べて大きくしなければならなかった。さらに、サーバが複数のオブジェクトの状態情報を管理している場合には、サーバが各クライアントに対する状態情報のコピーを作成・管理しなければならないため、サーバに多大な処理負担がかかっていた。
【００１０】
本発明は、上記問題に鑑みなされたものであり、第１のタイプに比べて、伝送される状態情報の量を軽減することができ、且つ状態情報の取得に要する時間を短縮することができる情報管理装置を提供することを目的とする。
【００１１】
また、本発明は、第２のタイプに比べて、状態情報の提供が要求される回数を減らすことができ、且つオブジェクトの全ての状態変化に関する状態情報を得ることができる情報管理装置を提供することを目的とする。
【００１２】
また、本発明は、第３のタイプに比べて、差分情報の作成に必要なデータの記憶量を軽減することができるとともに、差分情報作成に係る状態情報の管理及び処理負担を軽減することができる情報管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した目的を達成するために案出した情報管理装置は、情報を管理するとともに、要求側からの要求に応じて管理している情報を提供するため、複数種類の状態に変化する対象の状態が変化する毎に生成され、その状態の変化に関する状態情報を取得する取得部と、その取得部にて得られた状態情報を状態変化毎に記憶する記憶部と、状態情報の提供要求を要求側から受け取った場合に、記憶部に状態変化毎に記憶された状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、要求側が最新の状態情報のみの提供を要求している場合には、検出した状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を差分情報として要求側に提供する提供部とを備える。
【００１４】
先に開示した情報管理装置において、取得部は、状態情報を積極的（能動的）に取得するものであっても、消極的（受動的）に取得するものであっても良い。取得部及び提供部は、ＣＰＵやＭＰＵ等の汎用プロセッサ装置によるプログラムの実行によって実現することができる。また、専用ハードウェア（回路）によって実現することもできる。記憶部には、例えば、ＲＡＭ，ＲＯＭ等の半導体メモリ，磁気ディスク，光磁気ディスク，光ディスク，磁気テープ等を用いることができる。
【００１５】
先に開示した情報管理装置において、「対象」は、例えば、オブジェクトである。オブジェクトとは、値とその値を読み書きしたりする手続とを併せ持ったデータ構造である（日経ＢＰ社刊  日経ＢＰ社出版局編  情報・通信新語辞典’９８年度版参照）。この他、「対象」は、複数の状態に変化可能であり、その状態変化を情報として得ることができるものであれば、処理対象（例えば、各種のプログラム，テキストデータ，イメージデータ），制御対象（例えば、コントローラ，センサ，アクチュエータ）の何れもが「対象」に含まれる。「対象」の数は、幾つであっても良い。
【００１６】
また、「状態情報」は、例えば、対象がオブジェクトである場合には、オブジェクトから伝達されるオブジェクトの状態変化に関する情報である。
【発明の効果】
【００１７】
先に開示した情報管理装置によれば、伝送される状態情報の量を軽減することができ、且つ状態情報の取得に要する時間を短縮することができる。
【００１８】
また、状態情報の提供が要求される回数を減らすことができ、且つオブジェクトの全ての状態変化に関する状態情報を得ることができる。
【００１９】
また、差分情報の作成に必要なデータの記憶量を軽減することができるとともに、差分情報作成に係る状態情報の管理及び処理負担を軽減することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、先に開示した情報管理装置の実施形態を説明する。
【００２１】
〈情報管理システムの全体構成〉
図１は、情報管理システムの全体構成図である。図１において、情報管理システムは、サーバ１０と、複数のクライアント端末（図１には、例として、クライアント端末１１〜１３を図示：以下、「クライアント」という）とからなり、サーバ１０と各クライアント１１〜１３とは、ネットワーク１４を介して接続されている。また、ネットワーク１４には、ホストコンピュータ１５が接続されている。
【００２２】
なお、サーバ１０が、本発明の情報管理装置に相当し、各クライアント１１〜１３が、本発明の要求側（情報要求装置）に相当する。
【００２３】
〈サーバのハードウェア構成〉
図２は、図１に示したサーバ１０のハードウェア構成図である。図２において、サーバ１０は、バスＢＵＳで相互に接続されたＣＰＵ(Central Processing Unit)１６，ＲＯＭ(Read Only Memory)１７，ＲＡＭ(Rundom Access Memory)１８，ハードディスクドライブ(ＨＤＤ)１９，フロッピー（登録商標）ディスクドライブ(ＦＤＤ)２０，ＣＤ−ＲＯＭドライブ２１，グラフィックボード２２，通信制御装置２３及び各インターフェイス回路(Ｉ／Ｆ)２４,２５からなる。
【００２４】
グラフィックボード２２には、陰極線管(ＣＲＴ)や液晶ディスプレイ(ＬＣＤ)等のディスプレイ装置４１が接続され、Ｉ／Ｆ２３には、キーボード(ＫＢＤ)２７が接続され、Ｉ／Ｆ２４には、マウス２８，或いは、トラックボール，フラットスペース，ジョイスティック等のポインティングデバイスが接続される。
【００２５】
ＲＯＭ１７には、起動用プログラムが記憶されている。起動用プログラムは、サーバ１０の電源投入時にＣＰＵ１６によって実行される。これによって、ＨＤＤ１９に記憶されているオペレーティングシステム(ＯＳ)及び表示処理や通信処理のための各種のドライバが、ＲＡＭ１８にロードされ、各種処理や制御が実行可能な状態となる。
【００２６】
ＲＡＭ１８には、サーバ１０を制御するプログラムが展開され、このプログラムによる処理結果，処理のための一時データ，ディスプレイ２６の画面上に処理結果等を表示するための表示用データ等を保持するＣＰＵ１６の作業領域として使用される。
【００２７】
ＲＡＭ１８上に展開された表示用データは、グラフィックボード２２を通じてディスプレイ２６に伝達され、ディスプレイ２６は、その画面上に表示用データに対応する表示内容を表示する。
【００２８】
ＨＤＤ１９及びＦＤＤ２０は、ＣＰＵ１６の指示に従って、プログラム，制御用データ，テキストデータ，イメージデータ等を、夫々に対応する記録媒体(ハードディスク，フロッピーディスク２９)に記録し、又は読み出すためのデバイスである。
【００２９】
ＣＤ−ＲＯＭドライブ２１は、ＣＰＵ１６の指示に従って、ＣＤ−ＲＯＭ(コンパクトディスクを用いた読み出し専用メモリ)２４に記録されているプログラムやデータを読み取るためのデバイスである。
【００３０】
通信制御装置２３は、ＣＰＵ１６の指示に従って、サーバ１０に接続された通信線を用い、他の装置とのデータの送受信、或いはプログラムやデータのダウンロードを実行する。
【００３１】
ＫＢＤ２７は、複数のキー(文字入力キー，カーソルキー等)を備えており、オペレータがサーバ１０にデータを入力するために使用される。マウス２８は、ディスプレイ２６に表示されたマウスカーソルを用いた選択指示を入力するために使用される。
【００３２】
ＣＰＵ１６は、ＲＯＭ１７，ＨＤＤ１９，ＦＤ２９及びＣＤ−ＲＯＭ３０に記憶された各種のプログラムを実行することによって、本発明を実現する。なお、上記ＨＤＤ１９等の記録媒体に保持されるプログラムやデータは、予め保持されるようにしても良く、他の装置からダウンロードされたプログラムやデータがＨＤＤ１９に保持されるようにしても良い。
【００３３】
なお、ＣＰＵ１６がプログラムを実行することによって、サーバが取得部，記憶部及び提供部を備えた情報管理装置として機能する。また、ＲＡＭ１８が本発明の記憶部(記憶装置)に相当する。また、ＲＡＭ１８，ＲＯＭ１７，ＨＤＤ１９，ＦＤ２９及びＣＤ−ＲＯＭ３０が本発明の記録媒体に相当する。
【００３４】
〈クライアントのハードウェア構成〉
図３は、図１に示した各クライアント１１〜１３のハードウェア構成図である。各クライアント１１〜１３は、同じ構成を有しているので、図３には、例としてクライアント１１が図示されている。
【００３５】
図３において、クライアント１１は、バスＢＵＳで相互に接続されたＣＰＵ３１，ＲＯＭ３２，ＲＡＭ３３，ＨＤＤ３４，ＦＤＤ３５，ＣＤ−ＲＯＭドライブ３６，グラフィックボード３７，通信制御装置３８及び各Ｉ／Ｆ３９，４０からなる。グラフィックボード２２には、ＣＲＴやＬＣＤ等のディスプレイ装置４１が接続され、Ｉ／Ｆ３９には、キーボード(ＫＢＤ)４２が接続され、Ｉ／Ｆ４０には、マウス４３，或いは、トラックボール，フラットスペース，ジョイスティック等のポインティングデバイスが接続される。
【００３６】
以上のように、クライアント１１は、サーバ１０と同じハードウェア構成を有するので、クライアント１１の各構成要素の説明は省略する。
【００３７】
〈情報管理システムの機能ブロック〉
図４は、図１に示した情報管理システムの機能ブロック図である。図４に示すように、サーバ１０は、図２に示したＣＰＵ１６によるプログラムの実行によって、図４に示す機能ブロックからなる装置として機能し、本発明を実現する。同様に、各クライアント１１〜１３は、図３に示したＣＰＵ３１によるプログラムの実行によって、図４に示す機能ブロックからなる装置として機能し、本発明による情報管理装置，情報管理システム，情報提供方法を実現する。
【００３８】
《サーバの機能》
図４において、サーバ１０は、オブジェクト状態管理部４５と、複数のオブジェクト(図４には、例として、オブジェクト１〜３を図示：本発明の「対象」に相当)とを備えた装置として機能する。
【００３９】
即ち、サーバ１０は、オブジェクト１〜３の状態を管理するとともに、各クライアント１１〜１３からの問い合わせ(要求)に応じて各オブジェクト１〜３の状態変化に関する情報(状態情報)を、該当するクライアントに提供する。
【００４０】
各オブジェクト１〜３は、値とその値を読み書きする手続とを併せ持ったデータ構造を持つプログラムの一種であり、アプリケーション(アプリケーションプログラムの実行によって実現する機能)等からの指示に従って、起動(作成)され、所定の手続を実行する。
【００４１】
この手続の実行に際して、各オブジェクト１〜３は、複数種類の状態に変化する。その後、手続が終了し、必要がなくなると各オブジェクト１〜３は終了(消滅)する。従って、図４には、各オブジェクト１〜３は、常時存在しているように図示されているが、必要に応じて発生したり消滅したりする。
【００４２】
各オブジェクト１〜３は、オブジェクト状態管理部４５に対して、変化イベントのメッセージを与える。変化イベントのメッセージは、起動通知，状態変化通知及び終了通知からなる。各オブジェクト１〜３は、自身が起動する場合には、起動通知をオブジェクト状態管理部４５に与える。また、各オブジェクト１〜３は、自身の状態が変化した場合には、状態変化通知をオブジェクト状態管理部４５に与える。各オブジェクト１〜３は、自身に係る処理が終了する場合には、終了通知をオブジェクト状態管理部４５に与える。
【００４３】
オブジェクト状態管理部４５は、管理部４６と、最新状態テーブル４７と、変化イベント記録テーブル４８と、最新インデックス格納領域４９と、返却情報作成領域５０と、差分情報作成領域５１と、要求受信領域５２とを含んでいる。
【００４４】
この管理部４６が、本発明の取得部及び提供部に相当し、変化イベント記録テーブル４８が本発明の記憶部に相当し、最新状態テーブル４７が本発明の最新状態保持部に相当し、最新インデックス格納領域４９が本発明の最新インデックス保持部に相当する。
【００４５】
図５は、各オブジェクト１〜３からオブジェクト状態管理部４５に与えられる変化イベントのメッセージのフォーマット説明図である。図５に示すように、変化イベントのメッセージは、「オブジェクト名」，「イベント種別」，「状態」及び「イベント発生時刻」の各データの格納領域(フィールド)からなる。
【００４６】
「オブジェクト名」は、イベントが発生したオブジェクトの名前を示すデータであり、他のオブジェクトと識別可能なものとする。「イベント種別」は、イベントの種別を示すデータであり、イベントの種別は、オブジェクトの「追加」，「更新」及び「削除」からなる。
【００４７】
変化イベントのメッセージが起動通知である場合には、イベント種別は「追加」となり、状態変化通知である場合には、イベント種別は「更新」となり、終了通知である場合には、イベント種別は「削除」となる。
【００４８】
「状態」は、イベント発生後におけるオブジェクトの状態を示すデータであり、「イベント種別」が「追加」の場合(メッセージが起動通知である場合)には、オブジェクトの初期状態が「状態」の格納領域に格納される。また、「イベント種別」が「更新」の場合(メッセージが状態変化通知である場合)には、オブジェクトの更新後の状態が「状態」の格納領域に格納される。また、「イベント種別」が「削除」の場合(メッセージが終了通知である場合)には、“０”や空文字列が「状態」の格納領域に格納される。
【００４９】
「イベント発生時刻」は、イベントが発生した時刻を示すデータであり、補助情報として取り扱われる。
【００５０】
図６は、変化イベント記録テーブル４８の例を示す図である。変化イベント記録テーブル４８には、各オブジェクト１〜３から通知された変化イベントに関するレコード(以下、「変化イベントレコード」と称する)がその発生順(オブジェクト状態管理部４５の取得順)で記録される。これによって、変化イベント記録テーブル４８には、変化イベントの履歴が格納される。
【００５１】
図６に示すように、変化イベントレコードは、「登録時刻」，「オブジェクト名」，イベントの「種別」，「状態」及び「イベント発生時刻」の各データからなる。この変化イベントレコードが、本発明の状態情報に相当する。
【００５２】
「イベント登録時刻」は、変化イベントレコードが変化イベント記録テーブル４８に記録された時刻を示すデータである。「オブジェクト名」，「種別」，「状態」及び「イベント発生時刻」は、変化イベントのメッセージについて説明したデータと同じデータである。
【００５３】
この変化イベント記録テーブル４８は、リングバッファ構造を有している。即ち、変化イベント記録テーブル４８は、先頭の領域と最後尾の領域とを有する複数の領域からなり、各領域には、変化イベントレコードが格納される。
【００５４】
変化イベント記録テーブル４８は、最大Ｎ個(Ｎは０以外の自然数)の変化イベントレコードを格納することができる。各領域には、“０”から“Ｎ−１”までのインデックス番号(インデックス情報に相当)が割り当てられている。各領域に格納される変化イベントレコードには、その領域に割り当てられたインデックス番号が割り当てられる。
【００５５】
変化イベントレコードは、変化イベント記録テーブル４８の先頭の領域(インデックス番号“０”の位置)から最後尾の領域(インデックス番号“Ｎ−１”の位置)に向かって格納されていき、最後尾の領域に変化イベントレコードが記録された場合(“Ｎ−１”の位置が使用された場合)には、次の変化イベントレコードは、先頭の領域(“０”の位置)に上書きされる。その後、その次の変化イベントレコードは、インデックス番号順に順次上書きされる。
【００５６】
なお、変化イベント記録テーブル４８は、任意の時刻に多数の変化イベントレコードが記録される場合に、インデックス番号が一周してしまうことがないサイズに設定されている。これによって、インデックス番号が一周し、イベント登録時刻から最新のインデックスを割り出すことができなくなることが防止される。また、任意の時刻に記録された変化イベントレコードが同時刻に記録される他の変化イベントレコードによって上書きされてしまうことが防止される。
【００５７】
図４に戻って、最新インデックス格納領域４９は、変化イベント記録テーブル４８に最後に格納された変化イベントレコードに対応するインデックス番号を保持する。
【００５８】
図７は、図４に示した最新状態テーブル４７の説明図である。図７において、最新状態テーブル４７は、各オブジェクト１〜３についての最新の状態を保持する。最新状態テーブル４７は、各オブジェクト１〜３の最新の状態を示す「オブジェクト名」，「状態」及び「最終イベント発生時刻」からなるレコードを保持する。
【００５９】
「最終イベント発生時刻」は、オブジェクトに対して最後に発生した「追加」，「更新
」又は「削除」のイベントの発生時刻を示すデータであり、「オブジェクト名」及び「状態」は、変化イベント記録テーブル４８に含まれているものと同じものである。最新状態テーブル４７に記録される各レコードは、各レコードに対応するオブジェクトから変化イベントのメッセージが通知される度に更新される。
【００６０】
図４に戻って、返却情報作成領域５０は、各クライアント１１〜１３からの問い合わせ(要求メッセージ：本発明の提供要求に相当)に対する応答メッセージを編集するために使用される。図８は、返却情報作成領域５０の説明図であり、応答メッセージのフォーマットに相当する。
【００６１】
図８において、返却情報作成領域５０は、「返却情報タイプ」，「最新インデックス(返却情報)」，「最新登録時刻」の各データを格納する格納領域と、情報フィールドとからなる。「返却情報タイプ」は、情報フィールドの格納内容が「差分情報」なのか「実情報」なのかを判別するためのデータである。「最新インデックス」は、変化イベント記録テーブル４８のインデックス番号を示すデータであり、クライアントが次回の要求時にサーバ１０から「差分情報」を受け取るために指定される。「返却情報タイプ」が「差分情報」を示す場合には、「差分情報」の作成に使用された変化イベント記録テーブル４８中の変化イベントレコードのうち、最新の変化イベントレコードに割り当てられたインデックス番号が「最新インデックス」として設定される。
【００６２】
一方、「返却情報タイプ」が「実情報」の場合には、現時点にて最新インデックス格納領域４９に格納されているインデックス番号が「最新インデックス」として設定される。但し、変化イベント記録テーブル４８に変化イベントレコードが全く記録されていない場合には、「最新インデックス」として、インデックス番号の代わりに、例えば“−１”(インデックス番号として使用されていない番号であれば良い)が設定される。
【００６３】
「最新登録時刻」は、変化イベントレコードが変化イベント記録テーブル４８に最後に登録された時刻を示すデータである。変化イベント記録テーブル４８に最後に登録された変化イベントレコードを格納している領域(最後に登録された変化イベントレコードに割り当てられたインデックス番号の位置)を、「最新インデックス位置」と称する。
【００６４】
この「最新登録時刻」は、クライアントが次回の要求時に「差分情報」を作成可能か否かをサーバ１０にて判定させるために指定される。なお、応答メッセージ中の「最新インデックス」が“−１”の場合は、「最新登録時刻」に相当するデータがサーバ１０にないことを示すので、当該応答メッセージ中の「最新登録時刻」は、意味のないデータとなる。
【００６５】
情報フィールドには、「返却情報タイプ」が「実情報」の場合、最新状態テーブル４７中の全レコードが格納される。これに対し、最新状態テーブル４７にレコードが記録されていない場合には、そのことを示す情報(ここでは、“なし”で表現)が情報フィールドに格納される。
【００６６】
一方、「返却情報タイプ」が「差分情報」の場合には、情報フィールドには、差分変化イベント列(本発明の差分情報に相当)が格納される。差分変化イベント列とは、要求を発したクライアントに最後に提供された変化イベントレコードの次に変化イベント記録テーブル４８に登録された変化イベントレコードから最後に登録された変化イベントレコードまでの単数又は複数の変化イベントレコードであり、差分変化イベント列をなす各変化イベントレコードは、情報フィールドにインデックス番号順で格納される。なお、差分変化イベント列が、本発明の「提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報」に相
当する。
【００６７】
但し、各クライアント１１〜１３が問い合わせ時に後述する「過程必要フラグ」を「不要」に設定した場合には、差分変化イベント列から各オブジェクトの最新状態を生成するのに不要な情報を除いたサブセット(抽出情報に相当)が、情報フィールドに格納される。
【００６８】
また、前回の要求時と今回の要求時とで各オブジェクト１〜３の状態が変わらない場合には、「差分情報」は存在しないので、そのことを示す情報(ここでは“なし”で表現)が、情報フィールドに格納される。
【００６９】
図４に戻って、差分情報作成領域５１は、返却情報作成領域５０の情報フィールドに格納される「差分情報」を作成する場合に、変化イベント記録テーブル４８に記録された各変化イベントレコードから必要な変化イベントレコードを抽出するために使用される作業領域である。
【００７０】
図９は、差分情報作成領域５１の説明図である。図９に示すように、差分情報作成領域５１には、「オブジェクト名」，「イベント種別状態」，「イベント発生時刻」及び「イベント不要フラグ」が格納される。
【００７１】
「イベント不要フラグ」は、クライアントが最後に受け取った各オブジェクトの状態から最新の各オブジェクトの状態に至るまでの過程を示すデータが不要な場合に、差分情報作成領域５１に格納されたレコードがクライアントにとって必要かどうかを表すフラグであり、「必要」又は「不要」の値をとる。「オブジェクト名」，「イベント種別」，「状態」及び「イベント発生時刻」の各データは、変化イベントレコードについて説明したデータと同じ種類のデータである。
【００７２】
なお、本実施形態では、差分情報作成領域５１には、変化イベント記録テーブル４８から検出された差分変化イベント列自体が格納される。これに代えて、差分情報作成領域５１が、差分変化イベント列に含まれる各変化レコードのインデックスの格納領域と、各インデックスに対するイベント不要フラグの格納領域とから構成され、各インデックスに従って変化イベント記録テーブル４８を参照しながらイベント不要フラグが設定され、イベント不要フラグが「必要」に設定された変化イベントレコードが変化イベント記録テーブル４８から返却情報作成領域５０に転記されるようにしても良い。
【００７３】
図４に戻って、要求受信領域５２は、各オブジェクト１〜３からのメッセージ及び各クライアント１１〜１３からのメッセージを格納する領域である。
【００７４】
管理部４６は、各オブジェクト１〜３から受け取ったメッセージや、各クライアント１１〜１３から受け取ったメッセージに従って、最新状態テーブル４７，変化イベント記録テーブル４８，最新インデックス格納領域４９，返却情報作成領域５０，差分情報作成領域５１を管理・制御する。この管理部４６による処理は後述する。
【００７５】
なお、管理部４６は、図２に示したＣＰＵ１６がプログラムを実行することによって実現される機能であり、最新状態テーブル４７，変化イベント記録テーブル４８，最新インデックス格納領域４９，返却情報作成領域５０，差分情報作成領域５１及び要求受信領域５２は、ＣＰＵ１６がプログラムを実行することによってＲＡＭ１８上に作成される。
【００７６】
《クライアントの機能》
図４において、各クライアント１１〜１３は、オブジェクト状態要求部５４を備えた装置として機能する。即ち、各クライアント１１〜１３は、必要に応じて各オブジェクト１
〜３の状態情報の提供をサーバ１０に要求し、この要求メッセージに応じた状態情報をサーバ１０から取得し、各オブジェクト１〜３の最新の状態をクライアントの使用者に知らせる。
【００７７】
オブジェクト状態要求部５４は、管理部５５と、最新状態テーブル５６と、「前回のインデックス」格納領域５７と、「前回のイベント時刻」格納領域５８と、問い合わせパラメータ作成作業領域(パラメータ作成領域)５９と、返却情報受信領域６０と、表示手段６１とを備える。
【００７８】
最新状態テーブル５６は、サーバ１０の最新状態テーブル４７と同じ構成を有している(図７参照)。
【００７９】
「前回のインデックス」格納領域５７は、サーバ１０から受信した応答メッセージ(図８参照)に「最新インデックス」として格納されたインデックス番号の格納領域である。「前回のインデックス」格納領域５７に格納されたインデックス番号は、次回の問い合わせ時にパラメータとして指定され、クライアントがこのインデックス番号以降の変化イベントレコードによる「差分情報」(サブセット含む)をサーバ１０から受け取るために利用される。
【００８０】
「前回のイベント時刻」格納領域５８は、サーバ１０から受信した応答メッセージ(図８参照)に「最新登録時刻」として格納された登録時刻のデータを格納する領域である。「前回のイベント時刻」格納領域５８に格納された登録時刻のデータは、次回の問い合わせ時にパラメータとして指定され、この登録時刻のデータに対応するインデックス番号の有効性の検査に利用される。
【００８１】
パラメータ作成領域５９は、各クライアント１１〜１３がサーバ１０に状態情報を要求する際に指定されるパラメータを作成する領域である。図１０は、パラメータ作成領域５９の説明図である。図１０に示すように、オブジェクト情報の要求に際して指定されるパラメータは、「返却先情報」，「前回のインデックス」，「前回のイベント時刻」及び「過程必要フラグ」からなり、これらが、各クライアントからサーバ１０へ送信される要求メッセージの内容となる。
【００８２】
「返却先情報」は、要求メッセージに対する応答メッセージのあて先を指定するためのパラメータである。「前回のインデックス」は、前回の要求に対する応答メッセージから得られた変化イベント記録テーブル４８の最新の変化イベントレコードに対応するインデックス番号であり、「前回のインデックス」格納領域５７に格納されたインデックス番号が指定される。
【００８３】
「前回のイベント時刻」は、前回の要求に対する応答メッセージから得られた変化イベント記録テーブル４８中の最新の変化イベントレコードに対応するイベント登録時刻であり、「前回のイベント時刻」格納領域５８に格納されたイベント登録時刻が指定される。
【００８４】
「過程必要フラグ」は、各オブジェクト１〜３の最新の状態以外に状態変化の過程も必要か否かを、「必要」または「不要」で指定するためのフラグである。「不要」が指定された場合には、サーバ１０において、応答メッセージが作成される場合に、後述する「差分情報」の不要レコード削減処理及びサイズ判定処理が行われる。
【００８５】
図４に戻って、返却情報受信領域６０は、サーバ１０から受信された応答メッセージを格納する領域である。表示手段６１は、最新状態テーブル６１の保持内容を表示する。これによって、変化イベントレコード(状態情報)に関する情報をクライアントの使用者(オ
ペレータ)に知らせることができる。
【００８６】
管理部５５は、クライアントのオペレータ等の指示に従って、最新状態テーブル５６，「前回のインデックス」格納領域５７，「前回のイベント時刻」格納領域５８，パラメータ作成領域５９，返却情報受信領域６０及び表示手段６１を管理・制御する。この管理部５５による処理は後述する。
【００８７】
なお、管理部５５は、図３に示したＣＰＵ３１がプログラムを実行することによって実現される機能であり、最新状態テーブル５６，「前回のインデックス」格納領域５７，「前回のイベント時刻」格納領域５８，パラメータ作成領域５９及び返却情報受信領域６０は、ＣＰＵ３１がプログラムを実行することによってＲＡＭ３３上に作成される。また、表示手段６１は、図３に示したグラフィックボード２２がＣＰＵ３１からの命令に従って最新状態テーブル５６の保持内容をディスプレイ装置２６に表示することによって実現される。
【００８８】
《サーバにおける処理》
次に、図４〜図１５を用いて、サーバ１０における処理を説明する。図１１〜１５は、サーバ１０における処理(オブジェクト状態管理部４５の管理部４６による処理)を示すフローチャートである。
【００８９】
管理部４６による処理の前提として、最新状態テーブル４７は、全てのオブジェクトに関するレコードを登録できるだけの領域を有している。また、変化イベント記録テーブル４８に登録可能な変化イベントレコードの最大個数Ｎを“MAX#EVENT”とする。従って、変化イベント記録テーブル４８内の変化イベントレコードを指定するインデックス番号は、“０”〜“MAX#EVENT−１”となる。
【００９０】
図１１において、図４に示した管理部４６は、例えば、サーバ１０の図示せぬ電源が投入されることによって処理をスタートする。最初に、管理部４６は、ステップ(以下、「Ｓ」と表記する)００１〜Ｓ００７において、起動時の初期化処理を行う。
【００９１】
即ち、管理部４６は、ＲＡＭ１８上に、十分なサイズを持つ最新状態テーブル４７の領域，変化イベント記録テーブル４８の領域及び最新インデックス格納領域４９を確保する(Ｓ００１,Ｓ００２,Ｓ００３)。
【００９２】
続いて、管理部４６は、十分なサイズを持つ返却情報作成領域５０，差分情報作成領域５１及び要求受信領域５２を確保する(Ｓ００４,Ｓ００５,Ｓ００６)。
【００９３】
その後、管理部４６は、最新インデックス格納領域４９に、「最新インデックス」として、“−１”を格納する(Ｓ００７)。
【００９４】
起動時の初期化処理が終了すると、管理部４６は、各オブジェクト１〜３又は各クライアント１１〜１３からのメッセージ(変更イベントのメッセージ又はクライアントからの問い合わせ(要求メッセージ))を待つ。このとき、管理部４６は、変化イベントのメッセージを受信した場合には、処理を図１２に示すＳ００９に進める。
【００９５】
図１２において、Ｓ００９では、管理部４６は、受信した変化イベントのメッセージ(図５参照)を要求受信領域５２に格納する。
【００９６】
Ｓ０１０では、管理部４６は、最新インデックス格納領域４９に格納された値(インデックス番号)に“１”を加算して“MAX#EVENT”で割った場合の余りを、最新インデックス
格納領域４９に格納する。これによって、最新インデックス格納領域４９の値は、“０”から“Ｎ−１”までの値をサイクリックにとる。
【００９７】
Ｓ０１１では、管理部４６は、要求受信領域５２に格納された変化イベントのメッセージに対応する変化イベントレコード(「オブジェクト名」「(イベント)種別」「状態」「イベント発生時刻」)を、変化イベント記録テーブル４８(図６参照)に現時点で最後に登録された変化イベントレコードが格納されている領域の次の領域に登録するとともに、このときの時刻を「イベント登録時刻」として登録する。これによって、新たに登録された変化イベントレコードが格納された領域が最新インデックス位置となる。
【００９８】
Ｓ０１２〜Ｓ０１６では、管理部４６は、最新状態テーブル更新処理を行う。即ち、管理部４６は、変化イベント記録テーブル４８に新たに登録した変化イベントレコードの「種別」が「追加」であるか否かを判定する(Ｓ０１２)。
【００９９】
このとき、「種別」が「追加」である場合には(Ｓ０１２；Ｙ)、管理部４６は、Ｓ０１１にて登録した変化イベントレコード中の「オブジェクト名」及び「イベント発生時刻」を、最新状態テーブル４７に新規登録するとともに、このオブジェクトの初期状態を「状態」として登録する(Ｓ０１３)。その後、管理部４６は、処理を図１１のＳ００８に戻す。
【０１００】
これに対し、変化イベントレコード中の「種別」が「追加」でない場合には(Ｓ０１２；Ｎ)、管理部４６は、最新のインデックスに対応する「種別」が「更新」か否かを判定する(Ｓ０１４)。
【０１０１】
このとき、「種別」が「追加」でない場合には(Ｓ０１４；Ｎ)、管理部４６は、「種別」が「削除」であるものとして、当該変化イベントレコードの「オブジェクト名」が一致するレコードを最新状態テーブル４７から削除し(Ｓ０１５)、その後、処理を図１１のＳ００８に戻す。
【０１０２】
これに対し、「種別」が「更新」である場合には、当該変化イベントレコードの「オブジェクト名」が一致するレコードを最新状態テーブル４７から検索し、検索されたレコード中の「状態」を、当該変化イベントレコード中の「状態」で更新し(Ｓ０１６)、その後、処理を図１１のＳ００８に戻す。
【０１０３】
図１１に戻って、Ｓ００８において、管理部４６がクライアントからの問い合わせ(要求メッセージ)を受信した場合には、管理部４６は、処理を図１３に示すＳ０１７に進める。
【０１０４】
Ｓ０１７では、管理部４６は、要求メッセージ(図１０参照)を要求受信領域５２で受信すると、返却情報作成領域５０(図８参照)を初期化する。
【０１０５】
Ｓ０１８では、管理部４６は、要求受信領域５２に受信された要求メッセージ中の「前回のインデックス」が“−１”か否かを判定する。このとき、「前回のインデックス」が“−１”の場合には、処理がＳ０１９に進み、“−１”以外の場合には、処理が図１４のＳ０２６に進む。
【０１０６】
Ｓ０１９〜Ｓ０２５では、管理部４６は、実情報返却準備処理を行う。即ち、管理部４６は、返却情報作成領域５０の「返却情報タイプ」に「実情報」を設定する(Ｓ０１９)。
【０１０７】
次に、管理部４６は、現時点にて最新インデックス格納領域４９に格納された最新イン
デックス番号を、返却情報作成領域５０の「最新インデックス」に設定する(Ｓ０２０)。
【０１０８】
次に、管理部４６は、Ｓ０２０にて設定した最新インデックスが“−１”か否かを判定する(Ｓ０２１)。このとき、最新インデックスが“−１”である場合には、処理がＳ０２２に進み、“−１”以外である場合には、処理がＳ０２３に進む。
【０１０９】
Ｓ０２２に処理が進んだ場合には、管理部４６は、返却情報作成領域５０の情報フィールドに、最新状態テーブル４７に情報が格納されていない旨の情報(“なし”)を格納し、処理をＳ０２５に進める。
【０１１０】
Ｓ０２３に処理が進んだ場合には、管理部４６は、変化イベント記録テーブル４８の最新インデックス位置に格納された変化イベントレコードの登録時刻を、返却情報作成領域５０の「最新登録時刻」に設定する。続いて、管理部４６は、返却情報作成領域５０の情報フィールドに、最新状態テーブル４７に格納された全てのレコードを格納する(Ｓ０２４)。その後、管理部４６は、処理をＳ０２５に進める。
【０１１１】
上記したＳ０１９〜Ｓ０２４の処理によって、返却情報作成領域５０に応答メッセージが作成される。Ｓ０２５では、作成された応答メッセージを、要求受信領域５２に受信された(格納された)要求メッセージ中の「返却先情報」に対応する宛先へ向けて送信する。その後、処理が図１１のＳ００８に戻る。
【０１１２】
一方、処理が図１４のＳ０２６に進んだ場合には、管理部４６は、要求受信領域５２に格納された要求メッセージ中の「前回のインデックス」の値が、最新インデックス格納領域４９に格納された値と一致し、且つ要求メッセージ中の「前回のイベント時刻」が変化イベント記録テーブル４８中の最新インデックス位置におけるイベント登録時刻に一致するか否かを判定する。このとき、両者が一致する場合には処理がＳ０２７に進み、両者が一致しない場合には処理が図１５に示すＳ０３２に進む。
【０１１３】
Ｓ０２７に処理が進んだ場合には、管理部４６は、返却情報作成領域５０の「返却情報タイプ」に「差分情報」を設定する。次に、管理部４６は、返却情報作成領域５０の「最新インデックス」に、現時点における変化イベント記録テーブル４８の最新インデックス位置の値(インデックス番号)を設定する(Ｓ０２８)。
【０１１４】
次に、管理部４６は、返却情報作成領域５０の「最新登録時刻」に、変化イベント記録テーブル４８の最新インデックス位置に格納された「イベント登録時刻」を設定する(Ｓ０２９)。
【０１１５】
次に、管理部４６は、返却情報作成領域５０の情報フィールドに、「差分情報」がないことを示す情報(“なし”)を格納する(Ｓ０３０)。以上のＳ０２７〜Ｓ０３０の処理によって、応答メッセージが作成される。その後、管理部４６は、作成された応答メッセージを「返却先情報」に対応する宛先へ向けて送信した後、処理を図１１に示すＳ００８に戻す。
【０１１６】
これに対し、処理が図１５のＳ０３２に進んだ場合には、管理部４６は、差分情報作成処理を行う。即ち、Ｓ０３２では、管理部４６は、要求メッセージ中の「前回のインデックス」に対応するレコードを変化イベント記録テーブル４７から検出し、検出されたレコード中の「イベント登録時刻」と、要求メッセージ中の「前回のイベント時刻」とが一致するか否かを判定する。
【０１１７】
このとき、当該「イベント登録時刻」と、当該「前回のイベント時刻」とが一致しない
場合(Ｓ０３２；Ｎ)には、管理部４６は、インデックスが無効であるものとして、処理を図１３に示すＳ０１９に進め、上述した実情報返却準備処理を実行する。これに対し、当該「イベント登録時刻」と、当該「前回のイベント時刻」とが一致する場合(Ｓ０３２；Ｙ)には、管理部４６は、インデックスが有効であるものとして、処理をＳ０３３に進める。
【０１１８】
処理がＳ０３３に進んだ場合には、管理部４６は、以下のＳ０３３〜Ｓ０４６にて、差分情報作成処理を実行する。即ち、管理部４６は、差分情報作成領域５１(図９参照)を初期化する(Ｓ０３３)。
【０１１９】
次に、管理部４６は、差分情報作成領域５１中のイベント不要フラグを「不要」に設定する(Ｓ０３４)。次に、管理部４６は、返却情報作成領域５０の「返却情報タイプ」として「差分情報」を設定する(Ｓ０３５)。
【０１２０】
次に、管理部４６は、変化イベント記録テーブル４７に格納された複数のレコードのうち差分変化イベント列として差分情報作成領域５１に格納すべき単数又は複数のレコードのデータ量が一回の伝送処理で伝送可能か否かを以下の(１)〜(４)によりレコード量を見積もることで判定する(Ｓ０３６)。
【０１２１】
このとき、管理部４６は、一回で伝送可能と判定した場合には、差分変化イベント列をなす全ての変化イベントレコードを変化イベント記録テーブル４７から検出し、差分情報作成領域５１に「前回のインデックス＋１」を起点として(差分情報作成領域の先頭レコードは必ず「前回のインデックス＋１」又は０位置のレコードとなる)以下の(１)〜(４)を満たすレコードをインデックス順で格納する(Ｓ０３７：図９参照)。その後、処理をＳ０３９に進める。
【０１２２】
Ｓ０３７において、管理部４６が変化イベント記録テーブル４８から差分変化イベント列を取り出す場合には、変化イベント記録テーブル４８がリングバッファ構造を有しているので、以下のようにして差分変化イベント列を特定する。
(１)前回のインデックス＜最新インデックスの場合
“前回のインデックス＋１”から最新インデックスまでの各インデックスに対応する変化イベントレコードを差分変化イベント列とする。
(２)Ｎ−１＞前回のインデックス＞最新インデックスの場合
“前回のインデックス＋１”から“Ｎ−１”までと、インデックス番号“０”から最新インデックスまでの各インデックスに対応する変化イベントレコードを差分変化イベント列とする。
(３)前回のインデックス＝Ｎ−１＞最新インデックスの場合
インデックス番号“０”から最新インデックスまでの各インデックスに対応する変化イベントレコードを差分変化イベント列とする。
(４)前回のインデックス＝最新インデックスの場合
差分変化イベント列なし。
【０１２３】
さらに処理を詳述すると以下のことが実行される。
(ａ)  (一度に転送可能とした場合の)全体複写レコード数Ｎ１の計算
前回のインデックスと最新インデックスとから複写レコード数Ｎ１を計算する。
(ｂ)  複写レコード数Ｎ２の決定
複写レコード数Ｎ１と、転送可能なレコード数の上限Ｎｏ．(上限番号)との最小値(ｍｉｎ)をとり、複写レコード数Ｎ２とする。
インデックス位置Ｉ２＝「(前回のインデックス＋Ｎ２) ｍｏｄ Ｎ」がクライアント返却情報の「最新インデックス」になり、変化イベントテーブルのインデックス位置Ｉ２の
「イベント登録時刻」が、クライアントへの返却情報の「最新登録時刻」になる。
(ｃ)「前回のインデックス＋１」 ｍｏｄ Ｎ で得られるインデックス位置を起点にしてＮ２個のレコードを順に(循環的に)差分情報作成領域５１に複写する。
【０１２４】
これに対し、管理部４６は、一回で伝送不可能と判定した場合には、差分変化イベント列をなす複数の変化イベントレコードのうち一回で伝送可能な範囲の変化イベントレコードを変化イベント記録テーブル４７から検出し、差分情報作成領域５１にインデックス順で格納し(Ｓ０３８)、その後、処理をＳ０３９に進める。
【０１２５】
Ｓ０３９では、管理部４６は、差分情報作成領域５１に格納された各変化イベントレコードについてのイベント不要フラグを、「必要」に設定する。続いて、管理部４６は、現時点で差分情報作成領域５１に格納されているレコードのうち最も新しい変化イベントレコードに割り当てられたインデックス番号を、返却情報作成領域５０に「最新インデックス」として設定する(Ｓ０４０)。
【０１２６】
次に、管理部４６は、差分情報作成領域５１に最後に格納した変化イベントレコード，即ち、返却情報作成領域５０に「最新インデックス」として設定されたインデックス番号が割り当てられた変化イベントレコードが変化イベント記録テーブル４８に登録された時の「イベント登録時刻」を、「最新登録時刻」として、返却情報作成領域５０に設定する(Ｓ０４１)。
【０１２７】
次に、管理部４６は、要求受信領域５２に格納された要求メッセージ中の過程必要フラグ(図１０参照)が「不要」に設定されているか否かを判定する(Ｓ０４２)。このとき、過程必要フラグが「必要」である場合には、処理がＳ０４５に進み、過程必要フラグが「不要」である場合には、処理がＳ０４３に進む。
【０１２８】
Ｓ０４３では、管理部４６は、不要レコード削減処理を実行する。即ち、管理部４６は、差分情報作成領域５１に格納された差分変化イベント列(またはその一部)をなす各変化イベントレコードを、差分情報作成領域５１に最後に格納したレコードから当該領域の先頭に向かって逆順に参照する。
【０１２９】
このとき、管理部４６は、イベント種別「削除」を含む変化イベントレコードを検出した場合には、この変化イベントレコードよりも先に変化イベント記録テーブル４８に登録されたレコードであって、当該変化イベントレコードと同じ「オブジェクト名」を含む変化イベントレコードに対するイベント不要フラグを「不要」に設定する。但し、管理部４６は、「削除」を含む変化イベントレコードより先に変化イベント記録テーブル４８に登録されたレコードで当該変化イベントレコードと同じ「オブジェクト名」とイベント種別「追加」とを含む変化イベントレコードがある場合には、当該イベント種別「削除」を含む変化イベントレコードに対するイベント不要フラグを「不要」に設定する。
【０１３０】
その後、管理部４６は、イベント種別「更新」を含む変化イベントレコードを検出した場合には、この変化イベントレコードよりも先に登録された変化イベントレコードであって、当該変化イベントレコードと同じ「オブジェクト名」を含む変化イベントレコードで種別が「更新」であるものはイベント不要フラグを「不要」に設定する。
【０１３１】
上記処理のさらに具体的な処理手順を示すと、以下のようになる。
〈作業域〉
作業域として以下のものを用意する。
ＷＵ  ：補助ワーク領域(更新：Update)
ＷＤ  ：補助ワーク領域(削除：Delete)
ＩＤＸ：ループカウンタ
各補助ワーク領域ＷＵ，ＷＤは、次のようなレコードを保持する辞書領域である。
〈レコード構造〉
オブジェクト名｜差分情報作成領域５１におけるインデックス
即ち、各補助ワーク領域ＷＵ，ＷＤは、レコードとして、「オブジェクト名」と「差分情報作成領域５１におけるインデックス」とを保持する。
〈手順〉
(１)ＩＤＸに(複写レコード数Ｎ２)−１((差分情報作成領域５１に最後に格納したレコードのインデックス)−１)を代入する。
(２)ＷＵ及びＷＤを初期化する(レコード未登録状態にする)。
(３)ＩＤＸ≧０の間、以下の(３−１)〜(３−４)を繰り返す。
(３−１)差分情報作成領域５１からＩＤＸ位置のレコードを読み出す。
(３−２)オブジェクト名がＷＤに登録されている場合(３−２−１)差分情報作成領域５１における、ＩＤＸで指定されるインデックス位置のレコードを“不要”に設定する。
(３−２−２)種別が「追加」ならば、差分情報作成領域５１において見つかったレコードの「差分情報作成領域５１におけるインデックス」で指定されるインデックス位置のレコード(種別は「削除」)を“不要”に設定する。
(３−３)読み出したレコード中の「オブジェクト名」がＷＤに登録されていない場合、「種別」により処理を分ける(３択)。
(３−３−１)「種別」が「削除」の場合、オブジェクト名がＷＤに未登録ならばＷＤに登録する。
(３−３−２)「種別」が「更新」の場合、オブジェクト名がＷＵに未登録ならば登録する。これに対し、オブジェクト名がＷＵに登録済ならば、ＩＤＸで指定されるインデックス位置のレコードを“不要”に設定する。
(３−３−３)「種別」が「追加」の場合には、何もしない。
(３−４)ＩＤＸを１減らす。
(４)終了(ＥＮＤ)
【０１３２】
この結果、各オブジェクトについて、イベント不要フラグが「必要」となる変化イベントレコードは最大２つとなり、登録順に次のパターンの何れかで現れる。
(１)「追加」のみ
(２)「追加」+「更新」(最後に行われたもののみ)
(３)「削除」のみ
【０１３３】
このようにして、不要な変化イベントレコードが検出されるので、クライアントへ送信すべきデータ量が削減される。不要レコード削減処理が終了すると、管理部４６は、処理をＳ０４４に進める。
【０１３４】
Ｓ０４４では、管理部４６は、サイズ比較処理を実行する。即ち、管理部４６は、不要レコード検出処理によってイベント不要フラグが「必要」に設定された全ての変化イベントレコード(「必要レコード」と称する)のサイズが最新状態テーブル４７に格納された全てのレコード(「最新状態テーブルレコード」と称する)のサイズを上回るか否かを判定する。
【０１３５】
このとき、必要レコードのサイズが最新状態テーブルレコードのサイズを上回る場合には、処理がＳ０１９に進み、上述した実情報返却準備処理が行われる。これに対し、必要レコードのサイズが最新状態テーブルレコードのサイズ以下である場合には、管理部４６は、必要レコードをその登録順で、返却情報作成領域５０の情報フィールドに格納する。但し、必要レコードがない場合には、「差分情報」がないことを示す情報(“なし”)を、情報フィールドに格納する。その後、処理がＳ０４５に進む。
【０１３６】
Ｓ０４５では、管理部４６は、返却情報作成領域５０の格納内容を応答メッセージとして要求メッセージ中の「返却先情報」で指定された場所(クライアントのアドレス)へ向けて伝送する。即ち、図２に示した通信制御装置２３が応答メッセージを通信線に送出し、応答メッセージが該当するクライアントの通信制御装置３８へ伝送される。
【０１３７】
《各クライアントにおける処理》
次に、各クライアント１１〜１３における処理(オブジェクト状態要求部５４の管理部５５による処理)について説明する。図１６〜１９は、クライアントにおける処理を示すフローチャートである。
【０１３８】
図１６において、管理部５５は、クライアントの図示せぬ電源が投入されることによって処理を開始する。管理部５５は、Ｓ１０１〜１０７において、起動時の初期化処理を行う。
【０１３９】
即ち、管理部５５は、ＲＡＭ３２上に、十分なサイズを持つ最新状態テーブル５６の領域，「前回のインデックス」格納領域５７及び「前回のイベント時刻」格納領域５８をの領域を確保(作成)する(Ｓ１０１，Ｓ１０２，Ｓ１０３)。
【０１４０】
次に、管理部５５は、ＲＡＭ３２上に、十分なサイズを有する問い合わせパラメータ作成領域５９及び返却情報受信領域６０を確保(作成)する(Ｓ１０４，Ｓ１０５)。
【０１４１】
次に、管理部５５は、「前回のインデックス」格納領域５７に、未だサーバ１０から応答メッセージを受信していないことを示す“−１”を格納する(Ｓ１０６)。さらに、管理部５５は、「前回のイベント時刻」格納領域５８に任意の時刻を設定する(Ｓ１０７)。但し、このＳ１０７の処理は省略することができる。
【０１４２】
Ｓ１０８では、管理部５５は、サーバ１０に対する状態情報の問い合わせメッセージ(要求メッセージ)の送信指示を待ち、送信指示を受け取ると、処理を図１７に示すＳ１１０に進める。
【０１４３】
この送信指示は、クライアントのオペレータがＫＢＤ４２やマウス４３を用いてクライアントに入力されたものであっても良く、管理部５５に対する設定によって自動的に発せられるものであっても良い。また、送信指示が定期的に発せられるようにしても良い。
【０１４４】
Ｓ１０９では、管理部５５は、サーバ１０からの応答メッセージを受信したか否かを判定し、受信した場合には、処理を図１８に示すＳ１１６に進め、そうでない場合には、処理をＳ１０８に戻す。
【０１４５】
処理が図１７に示すＳ１１０に進んだ場合には、管理部５５は、Ｓ１１０〜Ｓ１１４において、問い合わせパラメータ(要求メッセージ)作成処理を実行する。即ち、Ｓ１１０では、管理部５５は、パラメータ作成領域５９(図１０参照)を初期化する。
【０１４６】
Ｓ１１１では、管理部５５は、パラメータ作成領域５９中の「返却先情報」に、返却情報受信領域６０の場所(アドレス)に関する情報を格納する。
【０１４７】
Ｓ１１２では、管理部５５は、「前回のインデックス」格納領域５７の値(インデックス番号)を、パラメータ作成領域５９中の「前回のインデックス」に設定する(格納する)。
【０１４８】
Ｓ１１３では、管理部５５は、「前回のイベント時刻」格納領域５８に保持された時刻を、パラメータ作成領域５９の前回のイベント時刻に、「前回のイベント時刻」を設定する。
【０１４９】
Ｓ１１４では、管理部５５は、オブジェクト１〜３の状態変化の過程の必要性の有無に応じて、パラメータ作成領域５９の過程必要フラグに、「必要」又は「不要」を設定する。
【０１５０】
Ｓ１１５では、管理部５５は、Ｓ１１０〜Ｓ１１４の処理によってパラメータ作成領域５９に作成された要求メッセージをサーバ１０へ向けて送信する。即ち、図３に示した通信制御装置３８が要求メッセージを通信線に送出し、要求メッセージがサーバ１０の通信制御装置２３へ伝送される。
【０１５１】
その後、応答メッセージを待ち合わせて、管理部５５は、サーバ１０からの応答メッセージ(図８参照)を返却情報受信領域６０に格納する(Ｓ１１６)。
【０１５２】
Ｓ１１７では、管理部５５は、応答メッセージに含まれた「最新インデックス」を、「前回のインデックス」格納領域５７に上書きする。これによって。「前回のインデックス」格納領域５７が更新される。
【０１５３】
Ｓ１１８では、管理部５５は、応答メッセージに含まれた「最新登録時刻」を、「前回のイベント時刻」格納領域５８に上書きする。これによって、「前回のイベント時刻」格納領域５８が更新される。
【０１５４】
Ｓ１１９では、管理部５５は、応答メッセージに含まれた「返却情報タイプ」が「実情報」か否かを判定する。このとき、「返却情報タイプ」が「実情報」である場合には、処理がＳ１２０に進み、「返却情報タイプ」が「実情報」でない場合には、「返却情報タイプ」が「差分情報」であるものとして、処理が図１９に示すＳ１２２に進む。
【０１５５】
処理がＳ１２０に進んだ場合には、管理部５５は、応答メッセージの情報フィールドの格納内容で、最新状態テーブル５６を更新する。これによって、最新状態テーブル５６が、現時点で最新の各オブジェクト１〜３の状態を保持した状態となる。
【０１５６】
その後、Ｓ１２１では、管理部５５は、最新状態テーブル５６の内容を表示手段６１に表示する。これによって、クライアントのディスプレイ装置４１(図３参照)に各オブジェクト１〜３の最新の状態が表示される。その後、処理がＳ１０８へ戻る。
【０１５７】
一方、処理が図１９に示すＳ１２２に進んだ場合には、管理部５５は、応答メッセージの情報フィールドに格納された変化イベントに係るレコードを、インデックス順に一つ取り出す。
【０１５８】
Ｓ１２３では、管理部５５は、Ｓ１２２で取り出したレコード中のイベント種別が「追加」か否かを判定する。このとき、イベント種別が「追加」である場合には、処理がＳ１２４に進み、「追加」でない場合には、処理がＳ１２５に進む。
【０１５９】
Ｓ１２４に処理が進んだ場合には、管理部５５は、当該レコード中の必要なデータ(「オブジェクト名」及び「イベント発生時刻」)を、最新状態テーブル５６に新規に格納し、「状態」として、そのオブジェクトの初期状態を設定する。その後、処理がＳ１２８へ進む。
【０１６０】
Ｓ１２５に処理が進んだ場合には、管理部５５は、Ｓ１２２で取り出したレコード中のイベント種別が「更新」か否かを判定する。このとき、イベント種別が「更新」である場合には、処理がＳ１２６に進み、「更新」でない場合には、イベント種別が「削除」であるものとして、処理がＳ１２７に進む。
【０１６１】
Ｓ１２６に処理が進んだ場合には、管理部５５は、当該レコード中の必要なデータ(「オブジェクト名」，「状態」及び「イベント発生時刻」)で、最新状態テーブル５６を更新し、処理をＳ１２８へ進める。これによって、当該レコードに対応するオブジェクトの状態が最新の内容に更新される。
【０１６２】
Ｓ１２７に処理が進んだ場合には、最新状態テーブル５６から当該レコードに対応するレコードを削除し、処理をＳ１２８へ進める。これによって、「削除」に対応するオブジェクトのレコードが最新状態テーブル５６から削除される。
【０１６３】
Ｓ１２８に処理が進んだ場合には、管理部５５は、最新状態テーブル５６の内容を表示手段６１に表示した後、処理をＳ１２９に進める。
【０１６４】
Ｓ１２９では、管理部５５は、応答メッセージの情報フィールドに格納された全てのレコードについてＳ１２２〜Ｓ１２８の処理を実行したか否かを判定する。このとき、全てのレコードについて処理が実行されている場合には、処理が図１６に示したＳ１０８に戻る。これに対し、全てのレコードについて処理が実行されていない場合には、Ｓ１２２に処理が戻り、次のレコードについてＳ１２３〜Ｓ１２８の処理が実行される。
【０１６５】
なお、クライアントからの一回の要求に対する応答は一回のみである。このため、上記処理で、サーバ１０が差分変化イベント列を一回の伝送でクライアントに伝送できない場合(クライアントに送信すべきレコードの全てを一度に送信できない場合)には、上記応答メッセージを受信したクライアントは、応答メッセージ中の「最新インデックス」を利用して再び要求メッセージをサーバ１０に送信することにより、前回受け取ることができなかった変化イベント記録テーブル４８のＮ２＋１以降のレコード(差分変化イベント列の残りの部分)を受け取る。
【０１６６】
ここで、差分変化イベント列中の全てのレコード又は必要レコードを受け取ったか否かをクライアントに明示的に伝達する構成を採ることもできる。この場合には、応答メッセージ(図１０参照)の返却情報タイプとして、「差分情報(続きあり)」と「差分情報(続きなし)」と「実情報」との何れかを設定できるように構成し、サーバ１０が一回の応答で送信すべきレコードの全てを送信(伝送)できない場合には、「差分情報(続きあり)」を含む応答メッセージがクライアントに送信されるように構成する。このようにすれば、クライアントがこの返却情報タイプ「差分情報(続きあり)」の認識を契機として、再び要求メッセージをサーバ１０に送信することができる。
【０１６７】
上記構成を採用する場合の各クライアント１１〜１３の処理は以下の通りである。サーバ１０は、レコードを一度に伝送できない場合には、「差分情報(続きあり)」を含む応答メッセージを返却し、クライアントに再要求を促す。各クライアント１１〜１３は、応答メッセージを受信すると、表示手段６１にその旨(サーバ１０から受信すべきレコードの全てを受信できなかった旨)を表示後(Ｓ１２１又はＳ１２９)、要求メッセージの確認(Ｓ１０８)に戻らず、パラメータ作成領域の初期化(Ｓ１１０)に処理を戻す。
【０１６８】
サーバ１０が送信すべき全てのレコードを一度にクライアントに伝送できる場合には、サーバ１０は、「差分情報(続きなし)」を含む応答メッセージをクライアントに返却し、クライアントに処理の完了を伝える。クライアントは、応答メッセージを受信すると表示
手段６１にその旨(受信すべきレコードの全てをサーバ１０から受信した旨)を表示後(Ｓ１２１又はＳ１２９)、要求メッセージの確認(Ｓ１０８)に処理を戻す。
【０１６９】
〈運用例〉
次に、上述した情報管理システムの運用例を説明する。運用例として、サーバ１０のオブジェクト状態管理部４５がオブジェクト１〜３の状態を管理する場合について説明する。
【０１７０】
図４において、サーバ１０とホストコンピュータ１５とが通信を行う場合には、サーバ１０では、ＣＰＵ１６がＨＤＤ１９等に保持されたアプリケーションプログラムを実行することによって、アプリケーションＡが起動し、各オブジェクト１〜３を制御する(図４参照)。
【０１７１】
例えば、オブジェクト１は、アプリケーションＡの制御によって、アプリケーションＡ(サーバ１０)とホストコンピュータ１５との間における回線接続，通信，回線開放を主体的に行う。
【０１７２】
図２０は、サーバ１０とホストコンピュータ１５との間における通信の例を示すシーケンス図である。図２０において、オブジェクト１は、アプリケーションＡによって、起動(作成)・終了(消滅)されるようになっており、動作中には、「未接続状態」，「接続状態」及び「会話状態」の３通りの状態の何れかに変化する。このように、オブジェクト１は、５種類の状態の何れかに変化する。また、図２０に示す例において、オブジェクト１の状態変化に関するイベントは、以下の通りである。
(１)オブジェクト１の追加(生成)  ＡＳ  未接続状態(初期状態)
(２)オブジェクト１の更新        ＴＯ  接続状態
(３)オブジェクト１の更新        ＴＯ  会話状態
(４)オブジェクト１の更新        ＴＯ  接続状態
(５)オブジェクト１の更新        ＴＯ  未接続状態
(６)オブジェクト１の削除(消滅)
【０１７３】
上記ケースにおいて、サーバ１０のオブジェクト状態管理部４５は、各オブジェクト１〜３から変化イベントのメッセージを受け取ることで、各オブジェクト１〜３の状態情報を取得・管理し、各クライアント１１〜１３からの要求メッセージに応じた応答メッセージ(状態情報)を与える。
【０１７４】
この運用例では、サーバ１０の変化イベント記録テーブル４８は、１０個(Ｎ＝１０)の変化イベント記録レコードの格納領域からなるリングバッファ構造を有している。変化イベント記録テーブル４８の各領域はサイクリックに使われるため、ｉ番目に発生した変化イベント(最初に登録するものを０番目とする)は、変化イベント記録テーブル４８の先頭から（ｉmod１０）番目の領域(インデックス位置)に格納される。
【０１７５】
また、以下の説明において、説明を簡単にするため、各クライアント１１〜１３が起動する前にオブジェクト状態管理部４５が起動したものとする。また、通信時間，変化イベントを記録表４８に登録するための時間，最新状態テーブル４７の更新時間，及び応答メッセージ作成時間は、無視する。さらに、“差分情報のサイズ＜実情報のサイズ”が常に成り立つものとする。
【０１７６】
一方、各クライアント１１〜１３は、１回目の要求(問い合わせ)時には、要求メッセージ(図１０参照)の「前回のインデックス」に“−１”を設定し、２回目以降の要求時には、前回の要求に対する応答メッセージ内のインデックスと時刻とを、「前回のインデック
ス」及び「前回のイベント時刻」として指定するものとする。また、各クライアント１１〜１３は、過程必要フラグ(図１０参照)を「不要」に設定して、最新の状態情報のみを要求するものとする。
【０１７７】
ところで、図２１に示す１５の変化イベントが発生したとする(イベント発生時刻は省略する)。図２１に示すように、変化イベント記録テーブル４８は、１０個の変化イベントレコードの格納領域からなるため、下記の１０番目から１４番目の変化イベントレコードは、夫々インデックス番号“０”〜“４”の領域に格納される。
【０１７８】
これに対し、例えば、クライアント１１が、１回目の要求メッセージとして次の要求メッセージＲＥＱ１-１を送信したとする。
（要求メッセージ ＲＥＱ１-１：１回目）  1998/10/20 12:32:30.00
【０１７９】
この要求メッセージＲＥＱ１-１に対し、サーバ１０では、図１１〜図１５に示した処理が実行されることによって、応答メッセージＲＳＰ１-１が作成され、クライアント１１に送信される。応答メッセージＲＳＰ１-１の内容は以下の通りである。
(応答メッセージＲＳＰ１-１)
(1)返却情報タイプ          ：実情報
(2)最新インデックス        ：２
(3)最新インデックス登録時刻：1998/10/20 12:32:00.00
(4)情報フィールド          ：オブジェクト１  接続状態
オブジェクト２  未接続状態
【０１８０】
ここでは、要求メッセージＲＥＱ１-１は、サーバ１０に対する１回目の状態情報の要求であるので、返却される状態情報は実情報となり、１〜３番目に登録された変化イベントレコードが情報フィールドに格納される。
【０１８１】
また、クライアント１１が応答メッセージＲＳＰ１-１を受信すると、クライアント１１の表示手段６１(ディスプレイ装置４１)が、以下の表示内容ＶＩＥＷ１-１を表示する。
(ＶＩＥＷ１-１：応答メッセージＲＳＰ１受信後の表示内容)
対象              状態
オブジェクト１    接続状態
オブジェクト２    未接続状態
【０１８２】
その後、クライアント１１が、２回目の要求メッセージとして次の要求メッセージＲＥＱ１-２を送信したとする。
(要求メッセージ ＲＥＱ１-２：２回目)  1998/10/20 12:35:30.00
【０１８３】
この要求メッセージＲＥＱ１-２に対し、サーバ１０は、次の応答メッセージＲＳＰ１-２をクライアント１１へ送信する。
(応答メッセージＲＳＰ１-２)
(1)返却情報タイプ          ：差分情報
(2)最新インデックス        ：５
(3)最新インデックス登録時刻：1998/10/20 12:35:00.00
(4)情報フィールド          ：オブジェクト１の「更新」  TO  会話状態
オブジェクト２の「更新」  TO  会話状態
【０１８４】
ここでは、要求メッセージＲＥＱ１-２は、２回目の要求であるので、返却される状態情報は差分情報となる。また、各インデックス番号４,５の変化イベントレコードは、共
にオブジェクト２の「更新」に関するものであるので、古い方に該当するインデックス番号４の変化イベントレコードは、削除されている。
【０１８５】
また、クライアント１１が応答メッセージＲＳＰ１-２を受信すると、クライアント１１の表示手段６１(ディスプレイ装置４１)の表示内容が、以下の表示内容ＶＩＥＷ１-２に変更される。
(ＶＩＥＷ１-２：応答メッセージＲＳＰ２-１受信後の表示内容)
対象              状態
オブジェクト１    会話状態
オブジェクト２    会話状態
【０１８６】
その後、クライアント１１が、３回目の要求メッセージとして次の要求メッセージＲＥＱ１-３を送信したとする。
(要求メッセージ ＲＥＱ１-３：３回目)  1998/10/20 12:41:30.00
【０１８７】
この要求メッセージＲＥＱ１-３に対し、サーバ１０は、次の応答メッセージＲＳＰ１-３をクライアント１１へ送信する。
(応答メッセージＲＳＰ１-３)
(1)返却情報タイプ          ：差分情報
(2)最新インデックス        ：１
(3)最新インデックス登録時刻：1998/10/20 12:41:00.00
(4)情報フィールド          ：オブジェクト１の「更新」  TO  未接続状態
【０１８８】
ここでは、変化イベント記録テーブル４８が一回りしている。また、差分変化イベント列には、オブジェクト３の「削除」の変化イベントレコード(１０番目のレコード)が含まれているので、この変化イベントレコードより前のオブジェクト３の「更新」の変化イベントレコード(７〜９番目のレコード)が削除されている。また、６番目のレコードがオブジェクト３の「追加」のレコードであるので、１０番目のレコードも削除されている。
【０１８９】
その後、クライアント１１が応答メッセージＲＳＰ１-３を受信すると、クライアント１１の表示手段６１(ディスプレイ装置４１)の表示内容が、以下の表示内容ＶＩＥＷ１-３に変更される。
(ＶＩＥＷ１-３：応答メッセージＲＳＰ１-３受信後の表示内容)
対象              状態
オブジェクトC1    未接続状態
オブジェクトC2    会話状態
【０１９０】
その後、クライアント１１が、４回目の要求メッセージとして次の要求メッセージＲＥＱ１-４を送信したとする。
(要求メッセージ ＲＥＱ１-４：４回目)  1998/10/20 12:47:30.00
【０１９１】
この要求メッセージＲＥＱ１-４に対し、サーバ１０は、次の応答メッセージＲＳＰ１-４をクライアント１１へ送信する。
【０１９２】
(応答メッセージＲＳＰ１-４)
(1)返却情報タイプ          ：差分情報
(2)最新インデックス        ：４
(3)最新インデックス登録時刻：1998/1O/20 12:44:0O.00
(4)情報フィールド          ：オブジェクト１の削除(消滅)
：オブジェクト２の削除(消滅)
【０１９３】
ここでは、変更イベント列に、各オブジェクト１，２の「削除」についての変化イベントレコード(１３，１４番目のレコード)が含まれているので、これらの前に存する「更新」の変化イベントレコードが削除されている。
【０１９４】
その後、クライアント１１が応答メッセージＲＳＰ１-４を受信すると、クライアント１１の表示手段６１(ディスプレイ装置４１)の表示内容が、以下の表示内容ＶＩＥＷ１-４に変更される。
(ＶＩＥＷ１-４：応答メッセージＲＳＰ４-１受信後の表示内容)
対象              状態
(なし)            (なし)
【０１９５】
上記の“(なし)”は、何も表示されていないことを示す。なお、要求メッセージＲＥＱ１-１を送信する前における表示手段６１には、上記した表示内容ＶＩＥＷ１-４と同じ内容が表示される。
【０１９６】
その後、クライアント１１が、５回目の要求メッセージとして次の要求メッセージＲＥＱ１-５を送信したとする。
(要求メッセージ ＲＥＱ１-５：５回目)  1998/10/20 12:52:30.00
【０１９７】
この要求メッセージＲＥＱ１-５に対し、サーバ１０は、次の応答メッセージＲＳＰ１-５をクライアント１１へ送信する。
(応答メッセージＲＳＰ１-５)
(1)返却情報タイプ          ：差分情報
(2)最新インデックス        ：４
(3)最新インデックス登録時刻：1998/10/20 12:44:00.00
(4)情報フィールド          ：(なし)
【０１９８】
ここでは、１５番目の変化イベントの後に、変化イベントが発生していないので、変化イベント記録テーブル４８が更新されていない。このため、情報フィールドには、変化イベントレコードは格納されていない。
【０１９９】
従って、クライアント１１が応答メッセージＲＳＰ１-５を受信しても、表示手段６１の表示内容は、上記したＶＩＥＷ４-１のままである。
【０２００】
また、クライアント１２が、１回目の要求メッセージとして、次の要求メッセージＲＥＱ２-１をサーバ１０に送信したとする。
(要求メッセージＲＥＱ２-１)  1998/10/20 12:29:30.00
【０２０１】
この要求メッセージＲＥＱ２-１に対し、サーバ１０は、次の応答メッセージＲＳＰ２-１をクライアント１２へ送信する。
(応答メッセージＲＳＰ２-１)
(1)返却情報タイプ          ：実情報
(2)最新インデックス        ：−１
(3)最新インデックス登録時刻：0000/00/00 00:00:00.00
(4)情報フィールド          ：(なし)
【０２０２】
ここでは、サーバ１０の変化イベント記録テーブル４８に変化イベントレコードが全く登録されていない(空である)ため、最新インデックスとして“−１”が格納されている。
【０２０３】
その後、クライアント１２が応答メッセージＲＳＰ２-１を受信すると、クライアント１２の表示手段６１(ディスプレイ装置４１)には、以下の表示内容ＶＩＥＷ２-１が表示される。
(ＶＩＥＷ２-１：応答メッセージＲＳＰ２-１受信後の表示内容)
対象              状態
(なし)            (なし)
【０２０４】
但し、要求メッセージＲＥＱ２-１を送信する前における表示手段の表示内容も、ＶＩＥＷ２-１と同じである。
【０２０５】
その後、クライアント１２が、２回目の要求メッセージとして、次の要求メッセージＲＥＱ２-２をサーバ１０に送信したとする。
(要求メッセージＲＥＱ２-２)  1998/10/20 12:30:30.00
【０２０６】
この要求メッセージＲＥＱ２-２に対し、サーバ１０は、次の応答メッセージＲＳＰ２-２をクライアント１１へ送信する。
(応答メッセージＲＳＰ２-２)
(1)返却情報タイプ          ：実情報
(2)最新インデックス        ：０
(3)最新インデックス登録時刻：1998/10/20 12:30:00.00
(4)情報フィールド          ：オブジェクト１  未接続状態
【０２０７】
ここでは、前回のインデックスが“−１”であったため、実情報として、１番目に登録された変化イベントレコードが格納されている。
【０２０８】
その後、クライアント１２が応答メッセージＲＳＰ２-２を受信すると、クライアント１２の表示手段６１の表示内容が、次のＶＩＥＷ２-２が変更される。
(ＶＩＥＷ２-２：応答メッセージＲＳＰ２-２受信後の表示内容)
対象              状態
オブジェクト１    未接続状態
【０２０９】
その後、クライアント１２が、３回目の要求メッセージとして、次の要求メッセージＲＥＱ２-３をサーバ１０に送信したとする。
(要求メッセージＲＥＱ２-３)  1998/10/20 12:40:30.00
【０２１０】
この要求メッセージＲＥＱ２-３に対し、サーバ１０は、次の応答メッセージＲＳＰ２-３をクライアント１２へ送信する。
(応答メッセージＲＳＰ２-３)
(1)返却情報タイプ          ：実情報
(2)最新インデックス        ：０
(3)最新インデックス登録時刻：1998/10/20 12:40:00.00
(4)情報フィールド          ：オブジェクト１：会話状態
オブジェクト２：会話状態
【０２１１】
ここでは、インデックス番号０の領域が更新されているため、要求メッセージＲＥＱ２-３に含まれた「前回インデックス」に対応する位置(インデックス番号０の領域)に格納されたイベント登録時刻が、要求メッセージＲＥＱ２-３に含まれた「前回イベント時刻」と異なる。このため、実情報が情報フィールドに格納される。即ち、１〜１０番目に登録された変化イベントレコードを反映した実情報が情報フィールドに格納される。
【０２１２】
その後、クライアント１２が応答メッセージＲＳＰ２-３を受信すると、クライアント１２の表示手段６１が、次の表示内容ＶＩＥＷ２-３を表示する。
(ＶＩＥＷ２-３：応答メッセージＲＳＰ２-３受信後の表示内容)
対象              状態
オブジェクト１    会話状態
オブジェクト２    会話状態
【０２１３】
〈実施形態の作用〉
本実施形態では、サーバ１０で状態情報を変更するトリガとなる変化イベントの履歴を変化イベント記録テーブル４８に登録する。そして、各クライアント１１〜１３からオブジェクトの状態情報の提供を要求する要求メッセージを受信した場合には、変化イベント記録テーブル４８に登録された複数の変化イベントレコードの中から、要求メッセージを送信したクライアントが最後に取得した変化イベントレコードの次の変化イベントレコードから最新の変化イベントレコードまでの変化イベントレコードを差分情報として、当該クライアントに提供する。
【０２１４】
従って、サーバ１０が、各クライアント１１〜１３の２回目以降の要求に対し、差分情報を実情報よりも優先的に提供すれば、クライアント・サーバ間のデータの伝送量を抑えることができ、ネットワーク１４に対する負荷が軽減される。また、各クライアント１１〜１３が、実情報を受信する場合に比べて早く応答メッセージを受信することができる。また、変化イベントの履歴を用いて差分情報を作成するので、差分情報を容易に作成することができる。
【０２１５】
また、変化イベントの履歴が変化イベント記録テーブル４８に記録され、各クライアント１１〜１３が提供を受けていない全ての変化イベントレコードが各クライアント１１〜１３に提供される。このため、各クライアント１１〜１３は頻繁にサーバ１０に対して状態情報の提供を要求しなくて済む。これによって、ネットワーク１４に対する負荷が軽減される。
【０２１６】
また、サーバ１０では、各クライアント１１〜１３に提供すべき差分情報を変化イベント記録テーブル４８に登録された変化イベントレコードを用いて作成することができる。このため、クライアント毎に差分情報作成用のデータを保持する必要がない。従って、サーバ１０のメモリ資源の容量を抑えることができる。
【０２１７】
また、変化イベント記録テーブル４８がリングバッファ構造を有しているので、サーバ１０のメモリ資源の容量を抑えることができる。そして、要求メッセージに含まれた「前回のインデックス」及び「前回のイベント時刻」を用いて差分情報を作成するか否かが判定されるので、変化イベント記録テーブル４８がリングバッファ構造を持つことで、誤った差分情報が作成されてしまうことを防止することができる。
【０２１８】
また、サーバ１０にて差分情報を作成できない場合には、実情報が各クライアント１１〜１３に提供されるので、サーバ１０が差分情報を作成できない場合でも、各クライアント１１〜１３はオブジェクトの最新の状態を得ることができる。
【０２１９】
また、各クライアント１１〜１３が、各オブジェクト１〜３の最新の状態のみを要求する場合には、不要レコード削減処理(Ｓ０４３：図１５参照)が行われ、差分変化イベント列から不要レコードが削減されたサブセットが各クライアント１１〜１３に提供されるので、伝送されるデータ量を抑えることができる。また、サイズ比較処理(Ｓ０４４：図１５参照)が行われることで、差分情報と実情報とのデータ量が少ない方がクライアントに送信されるので、伝送されるデータ量を抑えることができる。
【０２２０】
また、各クライアント１１〜１３の表示手段６１(ディスプレイ装置４１)には、応答メッセージを受信する毎に、各オブジェクト１〜３の最新の状態が表示される。このため、各クライアント１１〜１３の使用者(オペレータ)は、サーバ１０における各オブジェクト１〜３の状態を知ることができる。
【０２２１】
なお、各クライアント１１〜１３が、差分情報を受信した場合には、受信した実情報や差分情報に含まれた複数の変化イベントレコードが表示手段６１に表示され、各オブジェクト１〜３の状態変化の履歴が表示されるようにしても良い。このとき、ＫＢＤ４２やマウス４３の操作，或いは自動画面切替によって、状態変化の履歴が表示手段６１の画面に切替表示されるようにしても良い。
【０２２２】
また、サーバ・クライアント間の通信に異常が発生しても、復旧後、前回問い合わせ時のインデックスと現在のインデックスとが分かれば、その間の変化イベントを差分情報として受け取り、この差分情報をクライアントが保持する最新状態テーブル５６に適用することで、最新の状態及びそれに至る過程をクライアント側で確認することができる。従って、通信異常の場合に、クライアントがサーバから実情報を受け取らなくても良いので、ネットワークへの伝送量を抑えることができる。
【０２２３】
以上述べてきたことは、通信プロトコルに依存しないので、要求時にサーバ側プログラムに渡す返却先情報に同一マシン内の情報を指定することでプロセス間通信にも容易に適用できる。
【０２２４】
〔その他〕
本発明は、以下のように特定することができる。
【０２２５】
（付記１）
情報を管理するとともに、要求側からの要求に応じて管理している情報を提供する情報管理装置であって、
複数種類の状態に変化する対象の状態が変化する毎に、その状態の変化に関する状態情報を取得する取得部と、
前記取得部にて得られた状態情報を夫々記憶する記憶部と、
状態情報の提供要求を要求側から受け取った場合に、前記記憶部に記憶された状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、検出した状態情報を差分情報として要求側に提供する提供部と
を備えた情報管理装置。
【０２２６】
（付記２）
前記記憶部は前記取得部にて得られた状態情報をその取得順で記憶し、
前記提供部は要求側に対して最後に提供された状態情報の次に記憶された状態情報から最新の状態情報までの状態情報を差分情報として要求側に提供する
付記１記載の情報管理装置。
【０２２７】
（付記３）
前記提供部は、状態情報を要求側に提供するときに、その時点で記憶部に記憶されている最新の状態情報を特定するための特定情報を要求側に提供し、この特定情報を含む提供要求を要求側から受け取った場合に、前記記憶部に記憶された状態情報の中から、前記要求側に対して最後に提供された状態情報として、特定情報によって特定される状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、検
出した状態情報を差分情報として要求側に提供する
付記１記載の情報管理装置。
【０２２８】
（付記４）
前記提供部は、前記記憶部に記憶された状態情報の中から前記特定情報によって特定されるべき状態情報を特定することができない場合には、前記記憶部に記憶された最新の状態情報を差分情報の代わりに要求側に提供する
付記３記載の情報管理装置。
【０２２９】
（付記５）
前記取得部は、複数の対象に関する状態情報を夫々取得し、
前記記憶部は、取得部にて取得された各状態情報を記憶し、
前記提供部は、前記記憶部に記憶された状態情報の中から前記特定情報によって特定されるべき状態情報を特定することができない場合には、記憶部に記憶された各対象の最新の状態情報を差分情報の代わりに要求側に提供する
付記３記載の情報管理装置。
【０２３０】
（付記６）
前記記憶部に記憶された状態情報にはインデックス情報が割り当てられ、
前記記憶部に記憶された最新の状態情報に割り当てられたインデックス情報としての最新インデックス情報を保持する最新インデックス保持部をさらに備え、
前記最新インデックス保持部に保持される最新インデックス情報は、記憶部に状態情報が新たに記憶される毎に更新され、
前記提供部は、状態情報を要求側に提供するときに、その時点で最新インデックス保持部に保持されている最新インデックス情報を含む特定情報を要求側に提供し、前記特定情報を含む提供要求を要求側から受け取った場合に、この提供要求の特定情報に含まれた最新インデックス情報と、前記最新インデックス保持部に保持された最新インデックス情報とが一致しないときには、前記差分情報を要求側に提供する
付記３記載の情報管理装置。
【０２３１】
（付記７）
前記記憶部は、状態情報を夫々格納する複数の領域を含むとともに、各領域に状態情報が格納された時刻に関する登録時刻情報をさらに記憶し、
前記複数の領域は、先頭の領域と最後尾の領域とを含み、
状態情報は、先頭の領域から順に格納され、
ある状態情報が最後尾の領域に格納された場合には、この次に記憶すべき状態情報が先頭の領域に格納され、
前記提供部は、状態情報を要求側に提供するときに、その時点で記憶部に記憶されている最新の状態情報に対応する登録時刻情報としての最新登録時刻情報をさらに含む特定情報を要求側に提供し、前記特定情報を含む提供要求を要求側から受け取った場合に、この提供要求の特定情報に含まれた最新インデックス情報が割り当てられている状態情報に対応する登録時刻情報を記憶部から検出し、検出した登録時刻情報とこの提供要求の特定情報に含まれた最新登録時刻情報とが一致する場合に、前記差分情報を要求側に提供する
付記６記載の情報管理装置。
【０２３２】
（付記８）
前記提供部は、前記検出された登録時刻情報と提供要求に含まれた最新登録時刻情報とが一致しない場合には、前記記憶部に記憶された最新の状態情報を要求側に提供する
付記７記載の情報管理装置。
【０２３３】
（付記９）
前記取得部は、複数の対象に関する状態情報を夫々取得し、
前記記憶部は、取得部にて取得された各状態情報を記憶し、
前記提供部は、前記検出された登録時刻情報と提供要求に含まれた最新登録時刻情報とが一致しない場合には、前記記憶部に記憶された各対象の最新の状態情報を要求側に提供する
付記７記載の情報管理装置。
【０２３４】
（付記１０）
前記提供部は、要求側が最新の状態情報のみの提供を要求している場合には、差分情報として提供すべき状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を要求側に提供する
付記１記載の情報管理装置。
【０２３５】
（付記１１）
前記記憶部に記憶されている最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された最新の状態情報を要求側に提供する
付記１０記載の情報管理装置。
【０２３６】
（付記１２）
前記取得部は、複数の対象に関する状態情報を夫々取得し、
前記記憶部は、取得部にて取得された各状態情報を記憶し、
前記記憶部に記憶されている各対象の最新の状態情報を保持する最新状態保持部をさらに備え、
前記提供部は、前記抽出情報のデータ量が前記最新状態保持部に保持された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、前記最新状態保持部に保持された各対象の最新の状態情報を要求側に提供する
付記１０記載の情報管理装置。
【０２３７】
（付記１３）
情報管理装置と、情報要求装置とを含み、
前記情報管理装置は、
複数種類の状態に変化する対象の状態が変化する毎に、その状態の変化に関する状態情報を取得する取得部と、
前記取得部にて得られた状態情報を夫々記憶する記憶部と、
状態情報の提供要求を情報要求装置から受け取った場合に、前記記憶部に記憶された状態情報の中から、この提供要求を受け取る前に情報要求装置に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を、差分情報として情報要求装置に提供する提供部と
を備えた情報管理システム。
【０２３８】
（付記１４）
前記記憶部は前記取得部にて得られた状態情報をその取得順で記憶し、
前記提供部は要求側に対して最後に提供された状態情報の次に記憶された状態情報から最新の状態情報までの状態情報を差分情報として要求側に提供する
付記１３記載の情報管理システム。
【０２３９】
（付記１５）
前記情報要求装置は、状態情報が前記情報管理装置から提供された場合に、状態情報に関する情報を、前記情報要求装置の使用者に知らせる
付記１３記載の情報管理システム。
【０２４０】
（付記１６）
前記情報要求装置は、複数の状態情報が前記情報管理装置から提供された場合に、提供された複数の状態情報のうち、最新の状態情報に該当する状態情報に関する情報を、前記情報要求装置の使用者に知らせる
付記１５記載の情報管理システム。
【０２４１】
（付記１７）
前記情報要求装置は、複数の状態情報が前記情報管理装置から提供された場合に、各状態情報に関する情報を、前記情報要求装置の使用者に知らせる
付記１５記載の情報管理システム。
【０２４２】
（付記１８）
情報を管理するとともに、要求側からの要求に応じて管理している情報を提供する情報管理装置の情報提供方法であって、
複数種類の状態に変化する対象の状態が変化する毎に、その状態の変化に関する状態情報を取得し、
取得した状態情報を夫々記憶装置に記憶し、
状態情報の提供要求を要求側から受け取った場合に、前記記憶装置に記憶された状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を取り出し、検出した状態情報を差分情報として要求側に提供する
ことを含む情報管理装置の情報提供方法。
【０２４３】
（付記１９）
前記取得した状態情報をその取得順で記憶し、
要求側に対して最後に提供された状態情報の次に記憶された状態情報から最新の状態情報までの状態情報を差分情報として要求側に提供する
付記１８記載の情報管理装置の情報提供方法。
【０２４４】
（付記２０）
状態情報を要求側に提供するときに、その時点で記憶部に記憶されている最新の状態情報を特定するための特定情報を要求側に提供し、この特定情報を含む提供要求を要求側から受け取った場合に、前記記憶装置に記憶された状態情報の中から、前記要求側に対して最後に提供された状態情報として、特定情報によって特定される状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、検出した状態情報を差分情報として要求側に提供する
ことをさらに含む付記１８記載の情報管理装置の情報提供方法。
【０２４５】
（付記２１）
前記記憶装置に記憶された状態情報の中から前記特定情報によって特定されるべき状態情報を特定することができない場合には、記憶装置に記憶された最新の状態情報を差分情報の代わりに要求側に提供する
ことをさらに含む付記２０記載の情報管理装置の情報提供方法。
【０２４６】
（付記２２）
複数の対象に関する状態情報を夫々取得し、
複数の対象についての状態情報を夫々前記記憶装置に記憶し、
前記記憶装置に記憶された状態情報の中から、前記特定情報によって特定されるべき状態情報を特定することができない場合には、記憶装置に記憶された各対象の最新の状態情報を差分情報の代わりに要求側に提供する
ことをさらに含む付記２０記載の情報管理装置の情報提供方法。
【０２４７】
（付記２３）
前記記憶装置に記憶された状態情報にインデックス情報を割り当て、
前記記憶装置に記憶された最新の状態情報に割り当てられたインデックス情報としての最新インデックス情報を記憶装置に保持し、
記憶装置に保持される最新インデックス情報を、記憶装置に状態情報を新たに記憶する毎に更新し、
状態情報を要求側に提供するときに、その時点で記憶装置に保持されている最新インデックス情報を含む特定情報を要求側に提供し、前記特定情報を含む提供要求を要求側から受け取った場合に、この提供要求の特定情報に含まれた最新インデックス情報と、前記記憶装置に保持された最新インデックス情報とが一致しないときには、前記差分情報を要求側に提供する
ことをさらに含む付記２０記載の情報管理装置の情報提供方法。
【０２４８】
（付記２４）
前記記憶装置は、先頭の領域と最後尾の領域とを含み状態情報を夫々格納する複数の領域を含み、各領域に状態情報が格納された時刻に関する登録時刻情報を記憶装置に記憶し、
状態情報を、先頭の領域から順に格納し、
ある状態情報を最後尾の領域に格納した場合には、この次に記憶すべき状態情報を先頭の領域に格納し、
状態情報を要求側に提供するときに、その時点で記憶装置に記憶されている最新の状態情報に対応する登録時刻情報としての最新登録時刻情報をさらに含む特定情報を要求側に提供し、前記特定情報を含む提供要求を要求側から受け取った場合に、この提供要求の特定情報に含まれた最新インデックス情報が割り当てられている状態情報に対応する登録時刻情報を記憶装置から検出し、検出した登録時刻情報とこの提供要求の特定情報に含まれた最新登録時刻情報とが一致する場合に、前記差分情報を要求側に提供する
ことをさらに含む付記２３記載の情報管理装置の情報提供方法。
【０２４９】
（付記２５）
記憶装置から検出した登録時刻情報と提供要求に含まれた最新登録時刻情報とが一致しない場合には、前記記憶装置に記憶された最新の状態情報を要求側に提供する
ことをさらに含む付記２４記載の情報管理装置の情報提供方法。
【０２５０】
（付記２６）
複数の対象に関する状態情報を夫々取得し、
複数の対象についての状態情報を夫々記憶装置に記憶し、
記憶装置から検出された登録時刻情報と提供要求に含まれた最新登録時刻情報とが一致しない場合には、前記記憶装置に記憶された各対象の最新の状態情報を要求側に提供することをさらに含む付記２４記載の情報管理装置の情報提供方法。
【０２５１】
（付記２７）
要求側が最新の状態情報のみの提供を要求している場合には、差分情報として提供すべき状態情報の中から最新の状態情報に該当する状態情報を抽出情報として抽出し、この抽出情報を要求側に提供する
ことをさらに含む付記１８記載の情報管理装置の情報提供方法。
【０２５２】
（付記２８）
前記抽出情報のデータ量が前記記憶装置に記憶された最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、最新の状態情報を要求側に提供する
ことをさらに含む付記２７記載の情報管理装置の情報提供方法。
【０２５３】
（付記２９）
複数の対象に関する状態情報を夫々取得し、
取得した各状態情報をその取得順で記憶装置に記憶し、
前記抽出情報のデータ量が前記記憶装置に記憶された各対象の最新の状態情報のデータ量よりも多い場合には、前記抽出情報に代えて、記憶装置に記憶された各対象の最新の状態情報を要求側に提供する
ことをさらに含む付記２７記載の情報管理装置の情報提供方法。
【０２５４】
（付記３０）
情報を管理するとともに、要求側からの要求に応じて管理している情報を提供する情報管理装置の情報提供方法をコンピュータで実行するためのプログラムを記録した記録媒体であって、
複数種類の状態に変化する対象の状態が変化する毎に、その状態の変化に関する状態情報を取得するプログラムと、
取得した状態情報を記憶装置に夫々記憶するプログラムと、
状態情報の提供要求を要求側から受け取った場合に、記憶装置に記憶されている複数の状態情報の中から、この提供要求を受け取る前に要求側に対して最後に提供された状態情報の次に状態が変化したことを示す状態情報から最新の状態情報までの状態情報を検出し、検出した状態情報を差分情報として提供するプログラムと
を記録した記録媒体。
【０２５５】
（付記３１）
前記取得した状態情報をその取得順で記憶するプログラムと、
要求側に対して最後に提供された状態情報の次に記憶された状態情報から最新の状態情報までの状態情報を差分情報として要求側に提供するプログラムと
をさらに記録した付記３０記載の記録媒体。
【図面の簡単な説明】
【０２５６】
【図１】本発明の実施形態による情報管理システムの全体構成図
【図２】図１に示したサーバのハードウェア構成図
【図３】図１に示したクライアントのハードウェア構成図
【図４】図１に示した情報管理システムの機能ブロック図
【図５】状態変化通知のフォーマット説明図
【図６】図４に示した変化イベント記録テーブルの説明図
【図７】図４に示した最新状態テーブルの説明図
【図８】図４に示した返却情報作成領域の説明図
【図９】図４に示した差分情報作成領域の説明図
【図１０】図４に示したパラメータ作成領域の説明図
【図１１】サーバにおける処理を示すフローチャート
【図１２】サーバにおける処理を示すフローチャート
【図１３】サーバにおける処理を示すフローチャート
【図１４】サーバにおける処理を示すフローチャート
【図１５】サーバにおける処理を示すフローチャート
【図１６】クライアントにおける処理を示すフローチャート
【図１７】クライアントにおける処理を示すフローチャート
【図１８】クライアントにおける処理を示すフローチャート
【図１９】クライアントにおける処理を示すフローチャート
【図２０】サーバとホストコンピュータとの通信を示すシーケンス図
【図２１】情報管理システムの運用例における変化イベントレコードを示す図
【符号の説明】
【０２５７】
Ａ          アプリケーション
１〜３      オブジェクト
１０        サーバ
１１〜１３  クライアント
１４        ネットワーク
１５        ホストコンピュータ
１６，３１  ＣＰＵ
１７，３２  ＲＯＭ
１８，３３  ＲＡＭ
１９，３４  ハードディスクドライブ
２０，３５  フロッピーディスクドライブ
２１，３６  ＣＤ−ＲＯＭドライブ
２２，３７  グラフィックボード
２３，３８  通信制御装置
２４，２５，３９，４０  インターフェイス回路
２６，４１  ディスプレイ装置
２７，４２  キーボード
２８，４３  マウス
２９        フロッピーディスク
３０        ＣＤ−ＲＯＭ
４５        オブジェクト状態管理部
４６        管理部
４７        最新状態テーブル
４８        変化イベント記録テーブル
４９        最新インデックス格納領域
５０        返却情報作成領域
５１        差分情報作成領域
５２        要求受信領域
５４        オブジェクト状態要求部
５５        管理部
５６        最新状態テーブル
５７        「前回のインデックス」格納領域
５８        「前回のイベント時刻」格納領域
５９        パラメータ作成領域
６０        返却情報受信領域
６１        表示手段
【図１】
2009093664.tif 000003
【図２】
2009093664.tif 000004
【図３】
2009093664.tif 000005
【図４】
2009093664.tif 000006
【図５】
2009093664.tif 000007
【図６】
2009093664.tif 000008
【図７】
2009093664.tif 000009
【図８】
2009093664.tif 000010
【図９】
2009093664.tif 000011
【図１０】
2009093664.tif 000012
【図１１】
2009093664.tif 000013
【図１２】
2009093664.tif 000014
【図１３】
2009093664.tif 000015
【図１４】
2009093664.tif 000016
【図１５】
2009093664.tif 000017
【図１６】
2009093664.tif 000018
【図１７】
2009093664.tif 000019
【図１８】
2009093664.tif 000020
【図１９】
2009093664.tif 000021
【図２０】
2009093664.tif 000022
【図２１】
2009093664.tif 000023