(57)【特許請求の範囲】
【請求項１】
インターネットを介して送られてきた情報送信要求を受け取って要求されたＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  ＭａｒｋｕｐＬａｎｇｕａｇｅ）文書をデータ記憶部より取り出して前記情報送信要求の送り元であるクライアントに送出する要求情報送出制御部と、
前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、
この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を発行する複数の差分更新命令発行部と、
前記クライアントにおいて前記差分更新命令を受信して前記ＨＴＭＬ文書を更新する更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、
このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記クライアントに送出する送出制御部と、を備えるサーバ側差分更新システムを備えるサーバシステム。
【請求項２】
インターネットを介して送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記情報送信要求の送り元であるクライアントに送出する要求情報送出制御部と、
前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、
この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含み、前記差分更新命令名によらず統一された構造であり、前記ブラウザが実行可能な命令である、差分更新命令を発行する複数の差分更新命令発行部と、
前記クライアントにおいて前記差分更新命令を受信して前記ＨＴＭＬ文書を更新する更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、
このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記クライアントに送出する送出制御部と、を備えるサーバ側差分更新システムを備えるサーバシステム。
【請求項３】
請求項１または２記載のサーバシステムであって、
前記差分更新命令発行部が発行した複数の差分更新命令をひとまとめにする命令圧縮部を備え、
前記差分更新命令発行部は、前記イベントに対応する前記ＨＴＭＬ文書の更新のために関連する複数の差分更新命令を発行し、
前記命令圧縮部は、前記関連する複数の差分更新命令をひとまとめにし、
前記送出制御部は、前記命令圧縮部がひとまとめにした一連の差分更新命令を前記クライアントに送出するものであるサーバシステム。
【請求項４】
情報送信要求をインターネットを介して、ＨＴＭＬ文書が更新される際に差分更新命令を送出する請求項１に記載のサーバシステムに送出することで、前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、
この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、
この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、
前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御部と、
この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、を備えるクライアント側差分更新システムを備えるクライアントシステム。
【請求項５】
情報送信要求をインターネットを介して、ＨＴＭＬ文書が更新される際に差分更新命令を送出する請求項２に記載のサーバシステムに送出することで、前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、
この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、
この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、
前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含み、前記差分更新命令名によらず統一された構造であり、更新モジュールが実行可能な命令である、差分更新命令を前記サーバシステムより受け取る受信制御部と、
この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、を備えるクライアント側差分更新システムを備えるクライアントシステム。
【請求項６】
請求項４または５記載のクライアントシステムであって、
前記情報要求受信部は情報送信要求をインターネットを介して、ＨＴＭＬ文書が更新される際に差分更新命令を送出する請求項３に記載のサーバシステムに送出することで、前記サーバシステムより要求したＨＴＭＬ文書を受け取り、
前記受信制御部が受け取った差分更新命令を展開する更新命令展開部を備え、
前記受信制御部は、前記ＨＴＭＬ文書の更新のために関連する複数の差分更新命令をひとまとめにした一連の差分更新命令を前記サーバシステムより受け取り、
前記受信制御部が受け取った一連の差分更新命令を前記更新命令展開部により個々の差分更新命令に展開した後、前記更新モジュールが前記個々の差分更新命令により前記ＨＴＭＬ文書を更新するクライアントシステム。
【請求項７】
サーバシステムと、このサーバシステムとインターネットを介して接続する複数のクライアントシステムと、を備え、
前記クライアントシステムは、
情報送信要求を前記サーバシステムに送出して前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、
この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、
この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、
前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御部と、
この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、
を備え、
前記サーバシステムは、
前記複数のクライアントシステムの中の特定クライアントシステムから送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記特定クライアントシステムの情報要求受信部に送出する要求情報送出制御部と、
前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、
この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための差分更新命令を発行する複数の差分更新命令発行部と、
前記特定クライアントシステムの更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、
このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記特定クライアントシステムに送出する送出制御部と、を備える差分更新システム。
【請求項８】
サーバシステムと、このサーバシステムとインターネットを介して接続する複数のクライアントシステムと、を備え、
前記クライアントシステムは、
情報送信要求を前記サーバシステムに送出して前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、
この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、
この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、前記ＨＴＭＬ文書を更新するための差分更新命令を前記サーバシステムより受け取る受信制御部と、
この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、を備え、
前記サーバシステムは、
前記複数のクライアントシステムの中の特定クライアントシステムから送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記特定クライアントシステムの情報要求受信部に送出する要求情報送出制御部と、
前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、
この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含み、前記差分更新命令名によらず統一された構造であり、更新モジュールが実行可能な命令である、差分更新命令を発行する複数の差分更新命令発行部と、
前記特定クライアントシステムの前記更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、
このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記特定クライアントシステムに送出する送出制御部と、を備える差分更新システム。
【請求項９】
請求項７または８記載の差分更新システムであって、
前記サーバシステムは、前記差分更新命令発行部が発行した複数の差分更新命令をひとまとめにする命令圧縮部を備え、
前記差分更新命令発行部は、前記イベントに対応する前記ＨＴＭＬ文書の更新のために関連する複数の差分更新命令を発行し、前記命令圧縮部は、前記関連する複数の差分更新命令をひとまとめにし、前記送出制御部は、前記命令圧縮部がひとまとめにした一連の差分更新命令を前記特定クライアントに送り出し、
前記クライアントシステムは、前記受信制御部が受け取った差分更新命令を展開する更新命令展開部を備え、
前記受信制御部は、前記ＨＴＭＬ文書の更新のために関連する複数の差分更新命令をひとまとめにした一連の差分更新命令を前記サーバシステムより受け取り、
前記受信制御部が受け取った一連の差分更新命令を前記更新命令展開部により個々の差分更新命令に展開した後、前記更新モジュールが前記個々の差分更新命令により前記ＨＴＭＬ文書を更新する差分更新システム。
【請求項１０】
コンピュータに、
インターネットを介して送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記情報送信要求の送り元であるクライアントに送出する要求情報送出機能と、
前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理機能と、
この情報管理機能からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を発行する複数の差分更新命令発行機能と、
前記クライアントにおいて前記差分更新命令を取得して前記ＨＴＭＬ文書を更新する更新モジュールの情報を元に前記複数の差分更新命令発行機能から前記更新モジュールに対応する差分更新命令発行機能を選択し、選択した差分更新命令発行機能に前記情報管理機能からのイベントを通知するイベント管理機能と、
このイベント管理機能に選択されて前記イベントが通知された差分更新命令発行機能が発行した差分更新命令を前記クライアントに送出する送出制御機能と、を実現させる差分更新プログラム。
【請求項１１】
コンピュータに、
情報送信要求をインターネットを介して所定のサーバシステムに送出することで、請求項１に記載のサーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信機能と、
この情報要求受信機能が受け取ったＨＴＭＬ文書を記憶部に格納する記憶機能と、
前記記憶部に格納されたＨＴＭＬ文書を表示装置に表示させる表示機能と、
前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御機能と、
この受信制御機能が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新機能と、を実現させる差分更新プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リアルタイムに情報を共有しているサーバ・クライアント間における差分を更新する、サーバシステム，クライアントシステムおよび差分更新システムならびに差分更新プログラムに関する。
【０００２】
【従来の技術】
インターネットなどのネットワークにコンピュータを接続し、ネットワーク上に構築されているウエブサーバのコンテンツなどをコンピュータで閲覧する場合、ウエブブラウザと呼ばれるソフトウエアを用いるようにしている。ウエブブラウザでは、例えばＨＴＴＰ（Hyper Text Transfer Protocol）により、ウエブサーバに用意されているコンテンツを閲覧可能としている。
【０００３】
ところで、ＨＴＴＰによりウエブサーバより自コンピュータに取り込んでウエブブラウザで閲覧されているコンテンツの更新は、一般には、ウエブブラウザに更新指示を入力することで行っている。また、ウエブブラウザが有する一定間隔毎の自動更新により、自動的にコンテンツの更新を行うようにしている。
従来、ブラウザ内の情報更新はブラウザの更新ボタンか一定間隔の自動更新を行うことで擬似的に実施せざるを得ないので、リアルタイムにサーバとクライアントで通信するときは、ブラウザを利用せずに、閲覧されているＨＴＭＬに専用のソフトウエアを実装するか、サイズが大きなＪＡＶＡプログラムを利用するたびにダウンロードする。
【０００４】
【発明が解決しようとする課題】
従来では、以上のように構成されていたので、まず、サーバから専用のプログラムをクライアント側にダウンロードする必要があり、これに時間を要するので、変更内容が更新できるようになるまでに時間を要する。このため、サーバ側における変更内容をクライアント側に迅速に反映させることができず、情報の一貫性を保てなくなるという問題があった。また、従来では、前述したように、専用のプログラムを用いるようにしているため、このプログラムの開発コストが大きくなってしまう。また、提供するＨＴＭＬ毎に用意する専用のプログラムは、利用者が閲覧するＨＴＭＬ毎にクライアント側に備えるようにしなければならず、利用者にとって煩雑な作業を強いることとなる。
【０００５】
本発明は、以上のような問題点を解消するためになされたものであり、クライアント側の利用者にとって煩雑な作業を必要とせず、サーバ側とクライアント側の情報の一貫性を、容易に保てるようにすることを目的とする。
【０００６】
【課題を解決するための手段】
本発明のサーバシステムの一態様は、インターネットを介して送られてきた情報送信要求を受け取って要求されたＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  ＭａｒｋｕｐＬａｎｇｕａｇｅ）文書をデータ記憶部より取り出して前記情報送信要求の送り元であるクライアントに送出する要求情報送出制御部と、前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を発行する複数の差分更新命令発行部と、前記クライアントにおいて前記差分更新命令を受信して前記ＨＴＭＬ文書を更新する更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記クライアントに送出する送出制御部と、を備えるサーバ側差分更新システムを備えるものである。
【０００７】
本発明のクライアントシステムの一態様は、情報送信要求をインターネットを介して、ＨＴＭＬ文書が更新される際に差分更新命令を送出する０００６段落に記載のサーバシステムに送出することで、前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御部と、この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、を備えるクライアント側差分更新システムを備えるものである。
【０００８】
本発明の差分更新システムの一態様は、サーバシステムと、このサーバシステムとインターネットを介して接続する複数のクライアントシステムと、を備え、前記クライアントシステムは、情報送信要求を前記サーバシステムに送出して前記サーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信部と、この情報要求受信部が受け取ったＨＴＭＬ文書を格納する記憶部と、この記憶部が格納したＨＴＭＬ文書を表示する表示装置と、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御部と、この受信制御部が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新モジュールと、を備え、前記サーバシステムは、前記複数のクライアントシステムの中の特定クライアントシステムから送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記特定クライアントシステムの情報要求受信部に送出する要求情報送出制御部と、前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理部と、この情報管理部からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための差分更新命令を発行する複数の差分更新命令発行部と、前記特定クライアントシステムの更新モジュールの情報を元に前記複数の差分更新命令発行部から前記更新モジュールに対応する差分更新命令発行部を選択し、選択した差分更新命令発行部に前記情報管理部からのイベントを通知するイベント管理部と、このイベント管理部に選択されて前記イベントが通知された差分更新命令発行部が発行した差分更新命令を前記特定クライアントシステムに送出する送出制御部と、を備えるものである。

【０００９】
本発明の差分更新プログラムの一態様は、コンピュータに、インターネットを介して送られてきた情報送信要求を受け取って要求されたＨＴＭＬ文書をデータ記憶部より取り出して前記情報送信要求の送り元であるクライアントに送出する要求情報送出機能と、前記ＨＴＭＬ文書が更新される際に、前記ＨＴＭＬ文書の更新に関するイベントを送出する情報管理機能と、この情報管理機能からの前記イベントを受けて、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を発行する複数の差分更新命令発行機能と、前記クライアントにおいて前記差分更新命令を取得して前記ＨＴＭＬ文書を更新する更新モジュールの情報を元に前記複数の差分更新命令発行機能から前記更新モジュールに対応する差分更新命令発行機能を選択し、選択した差分更新命令発行機能に前記情報管理機能からのイベントを通知するイベント管理機能と、このイベント管理機能に選択されて前記イベントが通知された差分更新命令発行機能が発行した差分更新命令を前記クライアントに送出する送出制御機能と、を実現させるものである。

【００１０】
本発明の差分更新プログラムの一態様は、コンピュータに、情報送信要求をインターネットを介して所定のサーバシステムに送出することで、０００６段落に記載のサーバシステムより要求したＨＴＭＬ文書を受け取る情報要求受信機能と、この情報要求受信機能が受け取ったＨＴＭＬ文書を記憶部に格納する記憶機能と、前記記憶部に格納されたＨＴＭＬ文書を表示装置に表示させる表示機能と、前記ＨＴＭＬ文書を更新するための、前記ＨＴＭＬ文書の要素であるタグの追加、タグ名の変更、タグの削除、タグに属性をセット、タグの属性を削除、テキストの追加、任意のコマンド又は任意のコマンド列のいずれかを示す差分更新命令名を少なくとも含む差分更新命令を前記サーバシステムより受け取る受信制御機能と、この受信制御機能が受け取った前記差分更新命令により前記ＨＴＭＬ文書を更新する更新機能と、を実現させるものである。

【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
図１は、本発明の実施の形態における差分更新システムの構成を示す構成図である。本実施の形態における差分更新システムは、ＨＴＭＬなどの情報が用意されたウエブサーバ群１０１と、ウエブサーバ群１０１に情報を要求して取り出すブラウザ機能を備えた複数のクライアントから構成されたものである。ウエブサーバ群１０１とクライアントはインターネット１０３を介して接続している。なお、以降では、３つのクライアント（クライアントシステム）Ａ１０２ａ，クライアントＢ１０２ｂ，クライアントＣ１０２ｃが、インターネット１０３を介してウエブサーバ群１０１に接続している場合を例にして説明する。
【００１５】
まず、ウエブサーバ群１０１は、バックエンドサーバ（情報管理部）１１００とＨＴＴＰサーバ（要求情報送出制御部）１２００に加え、通信サーバＡ１３００，記憶装置１６００を備えている。
より詳細に説明すると、バックエンドサーバ１１００は、よく知られたバックエンドシステムが構成されたものであり、例えば、管理しているＨＴＭＬの内容変更（更新）に対応するイベントを通信サーバＡ１３００に通知する。また、バックエンドサーバ１１００は、記憶装置１６００内のデータ記憶部１６１０にこれをデータベースとしてアクセスする。
【００１６】
ＨＴＴＰサーバ１２００は、既存のＨＴＴＰ（Hyper Text Transfer Protocol）を処理するサーバであり、各クライアントからの問い合わせにしたがって、データ記憶部１６１０からＨＴＭＬ文書あるいはデータを、例えば要求元のクライアントＡ１０２ａのＨＴＭＬ文書記憶部１８００へ送出する。
【００１７】
通信サーバＡ１３００は、イベント管理部１３１０と、クライアント毎に用意された複数のクライアント別差分更新制御部１３２０ａ，１３２０ｂ，１３２０ｃを備えている。ここでは、図１に示すように、３つのクライアントが存在し、これに対応して３つのクライアント別差分更新制御部を備えた場合を例にして説明する。通信サーバＡ１３００は、バックエンドサーバ１１００と各クライアントとをリアルタイムに接続し、すでにクライアントに送られているＨＴＭＬ文書あるいはデータにおける差分を更新する根幹をなすものである。
【００１８】
通信サーバＡ１３００が備えるイベント管理部１３１０は、バックエンドサーバ１１００からのイベントを、対応するクライアント別差分更新制御部１３２０ａ，１３２０ｂ，１３２０ｃのいずれかに受け渡す。このとき、イベント管理部１３１０は、イベントテーブル記憶部１６２０に記憶されているイベントテーブルにあるイベントリストにしたがって、イベントの受け渡し先を決定し、登録された種類のイベントを伝達する。
【００１９】
イベントが伝達されるクライアント別差分更新制御部１３２０ａは、差分更新命令発行部１３２１、差分更新命令圧縮部１３２２、リアルタイム通信送出制御部１３２３を備えている。
また、各クライアントは、クライアント別差分更新制御部１３２０ａに一対一で対応する更新モジュール１７００を組み込んだブラウザ（情報要求受信部）１０４と、ブラウザ１０４により取り込まれたＨＴＭＬ文書を記憶するＨＴＭＬ文書記憶部１８００と、ブラウザ１０４により取り込まれてＨＴＭＬ文書記憶部１８００に格納されているＨＴＭＬ文書を表示する表示装置１９００とを備えている。
【００２０】
以下、上記差分更新システムの動作について説明する。
まず、クライアントＡ１０２ａの利用者の操作により、ブラウザ１０４からＨＴＭＬ文書送信要求がウエブサーバ群１０１に送出されると、この送信要求はＨＴＴＰサーバ１２００で受け付けられる。送信要求を受け付けたＨＴＴＰサーバ１２００は、要求されたＨＴＭＬ文書をデータ記憶部１６１０より取り出して、クライアントＡ１０２ａに送出する。
【００２１】
ウエブサーバ群１０１より送出されたＨＴＭＬ文書は、インターネット１０３を介してクライアントＡ１０２ａに受信され、ＨＴＭＬ文書記憶部１８００に記憶される。要求したＨＴＭＬ文書を受け取ってＨＴＭＬ文書記憶部１８００に記憶すると、クライアントＡ１０２ａのブラウザ１０４では、更新モジュール１７００が、接続要求をウエブサーバ群１０１の通信サーバＡ１３００に送出する。この接続要求を受けた通信サーバＡ１３００では、クライアント別差分更新制御部１３２０ａを起動させ、以降に示す差分更新の通信制御を開始する。
【００２２】
上記通信制御が開始されると、まず、ブラウザ１０４が要求した例えばＨＴＭＬ文書に関する情報などの初期状態が、更新モジュール１７００より送られて状態記憶部１６３０に記憶される。この状態記憶部１６３０があることで、クライアントの種類およびタイミング毎にカスタマイズされた差分更新を行うことができる。初期状態が記憶されると、記憶装置１６００では、まず、イベント管理部１３１０のイベントテール部（図示せず）が利用するイベント種類を、イベントテーブル記憶部１６２０に記録する。記録されたイベント種類は、上記イベントテール部に登録され、イベント管理部１３１０にイベントが到着したときに、どのクライアント別差分更新制御部の差分更新発行部１３２１に対して到達したイベントを通知するなどの制御のために利用される。
【００２３】
この後、クライアントＡ１０２ａのブラウザ１０４において、データ記憶部１６１０に記憶されているＨＴＭＬ文書が閲覧されている状態で、バックエンドサーバ１１００からデータ記憶部１６１０のＨＴＭＬ文書内容の変更がなされると、この旨がイベントとしてイベント管理部１３１０にも通知される。バックエンドサーバ１１００から上記イベントが通知されると、イベント管理部１３１０は、まず、イベントテーブル記憶部１６２０を参照し、上記イベントで通知された更新対象のＨＴＭＬ文書が利用されているブラウザ１０４（更新モジュール１７００）に関する情報を取得する。
【００２４】
次いで、イベント管理部１３１０は、取得した更新モジュール１７００の情報を元に、対応するクライアント別差分更新制御部を選択し、この差分更新命令発行部１３２１にイベントを通知する。例えば、バックエンドサーバ１１００からの変更が、クライアントＡ１０２ａが要求したＨＴＭＬ文書に関するものであった場合、バックエンドサーバ１１００からイベント管理部１３１０に送られるイベントは、上記ＨＴＭＬ文書に関するものとなっている。
【００２５】
一方、上記ＨＴＭＬ文書がクライアントＡ１０２ａで閲覧されていることに関する初期状態が、イベントテーブル記憶部１６２０に記憶されている。したがって、イベント管理部１３１０は、バックエンドサーバ１１００からのイベントの通知に対し、このイベントにより変更対象となるＨＴＭＬ文書が、クライアントＡ１０２ａで保持されていることを、イベントテーブル記憶部１６２０より知り得ることができる。
【００２６】
このようにして、通知されたイベントを反映すべきＨＴＭＬ文書を保持しているクライアントを特定したイベント管理部１３１０は、特定したクライアントＡ１０２ａの更新モジュール１７００に一対一に対応しているクライアント別差分更新制御部１３２０ａに対して、上記イベントを通知する。
このイベントを受けたクライアント別差分更新制御部１３２０ａでは、まず、差分更新命令発行部１３２１が、状態記憶部１６３０に記憶されている状態変数と、受けたイベントとにしたがって、図２（ａ）に示すようなデータ構成とした差分更新命令（Function）２２００を生成する。
【００２７】
以下、データ構成について説明する。差分更新命令２２００は、例えばＨＴＭＬ文書の所定箇所を変更するアプリケーションに依存するモジュールであり、差分更新命令ヘッダ２２１０と差分更新命令データ２２２０とから構成されている。また、差分更新命令データ２２２０は、差分更新命令名２２２１と、例えば引数Ａ２２２２，引数Ｂ２２２３などのように複数の引数から構成されている。これら差分更新命令２２２０や、差分更新命令名２２２１および引数Ａ２２２２、引数Ｂ２２２３は、図２（ｂ）に示すデータセル２１００の構成となっている。
【００２８】
データセル２１００は、ヘッダ２１１０とデータ２１２０から構成され、ヘッダ２１１０は、サイズ２１１１、種類２１１２、パックフラグ２１１３から構成されている。サイズ２１１１は、データ２１２０の大きさを示すものであり、データ２１２０を構成しているテキストおよびバイナリの大きさがバイトサイズで示されている。また、種類２１１２は、差分更新命令の命令番号を示し、パックフラグ２１１３は、データ２１２０の構成状態を示す。パックフラグ２１１３により、データ２１２０が、複数の差分更新命令から構成されているものか、また、引数付きの差分更新命令かなどが識別できる。
このように、統一的なデータセル２１００の構造をもつことで、以降に説明する更新モジュール１７００における展開ルーチンを共有することができ、更新モジュール１７００のプログラムサイズを小さくすることができる。
【００２９】
差分更新命令発行部１３２１では、以上に示した構成となっている差分構成命令を、差分を反映させるアプリケーションの数だけ並行して生成する。データ記憶部１６１０に格納されているＨＴＭＬ文書の更新がなされたときに、これを反映すべきアプリケーションの決定は、前述した初期状態が送られてきて状態記憶部１６３０に記憶された段階で行う。生成される差分更新命令は「追加」「変更」「削除」の基本的かつ汎用的な命令である。以下の表１に、差分更新命令の種類を示す。
【００３０】
【表１】
0004689867.tif 000002
【００３１】
ここで、各差分更新命令について説明する。用意されている命令は、各々ＸＭＬの要素および属性について定義されており、あらかじめＨＴＭＬ文書記憶部１８００に配信されているＨＴＭＬ文書内にあるＩＤタグをキーとして変更箇所を特定する。表１において、例えば、引数「ＰａｒｅｎｔＩｄ」は、複数のタグが一組で設定されている中の親タグのＩＤを指し、引数「ｓｉｂｌｉｎｇＩｄ」は弟タグのＩＤを指している。また、引数「ｄａｔａ」はタグ名、引数「ｎｅｗＩｄ」は新しいタグのＩＤ、引数「ａｔｒＮａｍｅ」は属性名、引数「ａｔｒＶａｌｕｅ」は属性値である。
【００３２】
なお、命令名「Ｃｏｍｍａｎｄ」および「ＣｏｍｍａｎｄＬｉｓｔ」は、任意の命令を実装するためのものであるが、独自にブラウザ側のＪａｖａＳｃｒｉｐｔを記述する必要があるので、用意しているメソッドで速度が出ないなど不具合が出ない場合は、なるべく使わないほうがよい。
Ｃｏｍｍａｎｄは１つの命令、ＣｏｍｍａｎｄＬｉｓｔは複数の命令を羅列していることを表す。
【００３３】
また、命令名「ＡｐｐｅｎｄＥｌｅｍｅｎｔ」の差分更新命令で、引数「ｐａｒｅｎｔＩｄ」が指定されていない場合は、引数「ｓｉｂｌｉｎｇＩｄ」だけで追加ポイントを探す。また、命令名「ＡｐｐｅｎｄＥｌｅｍｅｎｔ」の差分更新命令で、引数「ｓｉｂｌｉｎｇＩｄ」が空の場合は、ＨＴＭＬタグの組み合わせの中の最後尾が追加ポイントとなる。また、引数「ｓｉｂｌｉｎｇＩｄ」が指定されている場合は、指定されたＨＴＭＬタグの前に要素が追加される。
【００３４】
ところで、実際に発生するＨＴＭＬ文書の差分更新は、複数の差分更新命令から構成される場合が多く、バックエンドサーバ１１００から送出される１つのイベントに対し、差分更新命令発行部１３２１では複数の差分更新命令が生成される。このように複数生成された差分更新命令は、差分更新命令圧縮部１３２２において、例えば図２（ｃ）に示す差分更新命令パッケージ２３００としてひとまとまりのものとされる。
【００３５】
差分更新命令パッケージ２３００は、パッケージヘッダ２３１０と、パッケージデータ２３２０とから構成され、パッケージデータ２３２０が、差分更新命令Ａ２２３１，差分更新命令Ｂ２２３２，差分更新命令Ｃ２２３３をひとまとめにしたものとなっている。この差分更新命令パッケージ２３００が、１つの送受信メッセージの単位とするので、ひとまとまりにされた連続した差分更新命令２２００が、不可分に処理されるものとなる。
【００３６】
差分更新命令圧縮部１３２２によりひとまとまりとされた連続して処理されるべき複数の差分更新命令は、リアルタイム通信送出制御部１３２３により、クライアントＡ１０２ａに送出される。クライアント別差分更新制御部１３２０ａのリアルタイム通信送出制御部１３２３より送出された差分更新命令は、インターネット１０３を介してクライアントＡ１０２ａのリアルタイム通信受信制御部１７１０で受信される。リアルタイム通信受信制御部１７１０は、複数の差分更新命令からなるひとまとまりのパッケージを全て受信し終わると、これを更新命令展開部１７２０に転送する。
【００３７】
ひとまとまりのパッケージを受け取った更新命令展開部１７２０では、これを各々の差分更新命令に展開（分解）し、連続した複数の差分更新命令を構成する。さらに、更新命令展開部１７２０は、各差分更新命令を、差分更新命令名，各引数に展開する。この展開において、前述したように、各データが同一の構造とされているので、更新命令展開部１７２０では、一種類の展開ルーチンで全ての展開作業を行うことが可能となっている。
【００３８】
更新命令展開部１７２０で展開された各差分更新命令名および各引数は、ＨＴＭＬ更新部１７３０に転送され、あらかじめ用意されている差分更新命令の中で対応する差分更新命令が実行される。この結果、ＨＴＭＬ文書記憶部１８００に記憶され、表示装置１９００に表示されているＨＴＭＬ文書が更新される。更新対象のＨＴＭＬ文書には、ＩＤタグが必ず含まれており、このＩＤタグが、書き換えする対象を指定するキーとして利用される。
【００３９】
ＨＴＭＬ更新部１７３０に用意されている差分更新命令は、差分更新命令発行部１３２１が発行する差分更新命令と対応している。言い換えると、差分更新命令発行部１３２１は、ＨＴＭＬ更新部１７３０に用意されている差分更新命令のいずれかのみを発行する。この結果、更新モジュール１７００の共通化を図ることができる。また、前述したように、更新モジュール１７００には、８つの命令のみを備えるようにしたので、更新モジュール１７００のサイズを小さく抑えることが可能となり、これを起動するのが早くなる。
【００４０】
また、前述したように、クライアント別差分更新制御部１３２０ａから送られてきたひとまとまりとされた複数の差分更新命令が、これらまとまりのまま更新命令展開部１７２０で展開され、ＨＴＭＬ更新部１７３０で処理される。この結果、更新モジュール１７００に対する伝達遅延が発生しても、連続して処理されるべき差分更新命令が時間的に分離されることがなく実行され、表示装置１９００に表示されているＨＴＭＬ文書の表示状態に乱れが発生することが抑制される。
【００４１】
【実施例】
実施例について説明する。例えば、ウエブサーバ群１０１は、株価情報の提供サービスを行うウエブサイトであり、データ記憶部１６１０には、株価情報を提供するＨＴＭＬ文書が用意されているものとする。また、例えばクライアントＡ１０２ａにおいて、上記ＨＴＭＬ文書（株価情報ＨＴＭＬ）をＨＴＭＬ文書記憶部１８００に取り込んで表示装置１９００に表示させているものとする。表示装置１９００に表示されているＨＴＭＬ文書を構成しているソースデータでは、株価を表示しているＦＯＮＴタグのＩＤを１０００に指定していたとする。
【００４２】
この状態で、株価取引を監視しているバックエンドサーバ１１００から、株価が１２０，０００円に変更されたという株価変動通知のイベントが発せられると、イベント管理部１３１０は、クライアント別差分更新制御部１３０２ａに上記イベントを通知する。株価変動通知のイベントを受け取ったクライアント別差分更新制御部１３２０ａでは、差分更新命令発行部１３２１が、この変更を前述した株価情報ＨＴＭＬに反映させるために必要な複数の差分更新命令を発行する。
【００４３】
発行された複数の差分更新命令は、差分更新命令圧縮部１３２２でひとまとまりとされ、リアルタイム通信送出制御部１３２３により、クライアントＡ１０２ａに送出される。送出された更新命令は、クライアントＡ１０２ａのリアルタイム通信受信制御部１７１０に受信され、更新命令展開部１７２０で展開され、ＨＴＭＬ更新部１７３０で処理される。
この結果、変動された株価にもとづいて、例えば、クライアントＡ１０２ａにおける株価情報ＨＴＭＬにおけるＩＤ１０００の株価が変更され、変更があったことを示すようにフォントの色が朱色に変更される。
【００４４】
この変更のための命令としては、表１に示した命令名「ＴｅｘｔＮｏｄｅＣｈａｎｇｅ」で、引数「Ｐａｒｅｎｔｅｄ」が「１０００」，引数「ｄａｔａ」が「１２０，０００円」の差分更新命令と、命令名「ＳｅｔＡｔｔｒｉｂｕｔｅ」で引数「ｔａｇｅｔＩｄ」が「１０００」，引数「ａｔｒＮａｍｅ」が「ＣＯＬＯＲ」，引数「ａｔｒＶａｌｕｅ」が「ＲＥＤ」の差分更新命令が発行される。
【００４５】
また、同様にすることで、株価だけでなく現在の取引所の時間をリアルタイムに表示することも可能である。例えば、バックエンドサーバ１１００から１秒毎に通知されるタイマーイベントを定義して、株価情報ＨＴＭＬの表示装置１９００における表示画面に表示されている時間を示す、株価情報ＨＴＭＬのソースファイル中のＦＯＮＴタグのＩＤを、「ＳＥＲＶＥＲＴＩＭＥ」に指定しておけばよい。
【００４６】
このように株価情報ＨＴＭＬを構成しておけば、バックエンドサーバ１１００からタイマーイベントが送出され、これを差分更新命令発行部１３２１が受け取るたびに、上記ソースファイル中の「ＳＥＲＶＥＲＴＩＭＥ」を書き換える差分更新命令が発行される。この差分更新命令は、表１に示した命令名「ＴｅｘｔＮｏｄｅＣｈａｎｇｅ」で、引数「Ｐａｒｅｎｔｅｄ」が「ＳＥＲＶＥＲＴＩＭＥ」，引数「ｄａｔａ」が「２００１年３月１２日  １５時００分００秒」となる。
【００４７】
株式市場の終了などの情報を、終了される時刻に株価情報ＨＴＭＬに反映させて、表示装置１９００に表示させることも可能である。この場合、バックエンドサーバ１１００から株式市場終了に関するイベントが送出され、これを差分更新命令発行部１３２１が受け取ると、株価情報ＨＴＭＬファイルのソースファイル中に、新たに終了情報を表示させる差分更新命令が発行される。この差分更新命令は、表１に示した命令名「ＡｐｐｅｎｄＥｌｅｍｅｎｔ」で、引数「Ｐａｒｅｎｔｅｄ」が「ＲＯＯＴＴＡＧＥ」，引数「ｓｉｂｌｉｎｇＩｄ」は無し，引数「ｄａｔａ」は「取引時間は終了しました」，引数「ｎｅｗＩｄ」は「ＥＮＤＶＩＥＷ」となる。なお、「ＲＯＯＴＴＡＧＥ」は、「取引時間は終了しました」を表示する領域の元を示すタグである。
【００４８】
この差分更新命令により、株価情報ＨＴＭＬは、「取引時間は終了しました」が表示されるように変更される。なお、このような株価表示の変更を反映させる対象となるクライアントは、膨大な数になる場合がある。この場合には、動的に通信サーバを複数設置して通信サーバの負荷分散を行うようにしても良い。通信サーバの差分更新命令発行部は、変更や更新を行う対象となるアプリケーション（ＨＴＭＬ）毎にことなるが、想定するアプリケーションの種類だけ、モジュールをあらかじめ用意しておくことは可能なので、トラフィックが多くなるアプリケーションに対して動的に通信サーバを割り当てることができる。
【００４９】
例えば、図１に示した上記実施の形態のシステムに加え、図３に示すように、通信サーバＢ１４００，通信サーバＣ１５００を加えるようにしても良い。この場合、まず、通信サーバＢ１４００は、通信サーバＡ１３００とまったく同じ機能を備えたものである。また、更新モジュール１７００が、接続する通信サーバを選択する。例えば、トラフィックの混雑状態により、更新モジュール１７００は、通信サーバＡ１３００でなく、通信サーバＢ１４００を選択するようにしても良い。通信サーバを選択する方法は、ＨＴＴＰサーバ１２００からＨＴＭＬ文書を送出するときに選択するべきサーバを負荷分散するように記述する方法と、更新モジュール１７００と、いずれかの通信サーバの間にＩＰアドレスを振り分けるゲートウェイを設置する方法で行えばよい。
【００５０】
また、通信サーバＣ１５００は、やはり通信サーバＡ１３００とまったく同じ機能を備え、役割としては通信サーバＡ１３００、通信サーバＢ１４００および他の通信サーバから接続される上位の通信サーバとして機能する。この場合、イベントテーブル記憶部１６２０は、各々の通信サーバＡ１３００、通信サーバＢ１４００がもつイベントテーブルの総和となる。この状態において、通信サーバＣ１５００が、バックエンドサーバ１１００と接続してイベントを取得し、イベント管理部１５１０が、イベントテーブル記憶部１６２０を参照し、取得したイベントを通信サーバＡ１３００，通信サーバＢ１４００へ振り分ける。
【００５１】
なお、上述したウエブサーバ群１０１および各クライアントによる差分更新システムは、コンピュータシステムで構成することも可能である。
例えば、ウエブサーバ群の機能は、コンピュータシステムに、インターネットを介して送られてきた情報送信要求を受け取って要求された要求情報をデータ記憶部より取り出して情報送信要求の送り元に送出する要求情報送出機能と、要求情報の更新に関するイベントを送出する情報管理機能と、この情報管理機能からのイベントを受けて、要求情報を更新するための差分更新命令を発行する複数の差分更新命令発行機能と、送り元から送られた要求情報に関する初期状態を元に、対応する差分更新命令発行機能を選択し、選択した差分更新命令発行機能に情報管理機能からのイベントを通知するイベント管理機能と、このイベント管理機能に選択されてイベントが通知された差分更新命令発行機能が発行した差分更新命令を送り元に送出する送出制御機能とを実現させるためのプログラムを動作させることで得られる。
【００５２】
また、クライアントの機能は、コンピュータシステムに、情報送信要求をインターネットを介して所定のサーバシステムに送出することで、サーバシステムより要求した要求情報を受け取り、かつ受け取った要求情報に関する初期状態をサーバシステムに送出する情報要求受信機能と、この情報要求受信機能が受け取った要求情報を記憶部に格納する記憶機能と、記憶部に格納された要求情報を表示装置に表示させる表示機能と、要求情報を更新するための差分更新命令をサーバシステムより受け取る受信制御機能と、この受信制御機能が受け取った差分更新命令により要求情報を更新する更新機能とを実現させるためのプログラムを動作させることで得られる。
【００５３】
【発明の効果】
以上説明したように、本発明では、各クライアントに対応した差分更新命令発行部をサーバシステム側に用意し、クライアントシステムに送られた要求情報を更新するための差分更新命令を、送り元ではなく、サーバシステムにおいて発行するようにした。したがって、クライアントシステムで利用されている要求情報に変更や追加が発生しても、クライアントシステム側の例えば情報要求受信部（ブラウザ）の構成を何ら変更する必要がない。この結果、本発明によれば、クライアントシステム側の利用者にとって煩雑な作業を必要とせず、サーバ側とクライアント側の情報の一貫性を、容易に保てるようになるというすぐれた効果が得られる。
【図面の簡単な説明】
【図１】  本発明の実施の形態における差分更新システムの構成を示す構成図である。
【図２】  本発明の実施の形態における差分更新システムで用いられる差分更新命令の構成を示す構成図である。
【図３】  本発明の他の形態における差分更新システムの構成を示す構成図である。
【符号の説明】
１０１…ウエブサーバ群、１０２ａ…クライアントＡ、１０２ｂ…クライアントＢ、１０２ｃ…クライアントＣ、１０３…インターネット、１０４…ブラウザ（情報要求受信部）、１１００…バックエンドサーバ（情報管理部）、１２００…ＨＴＴＰサーバ（要求情報送出制御部）、１３００…通信サーバＡ、１３１０…イベント管理部、１３２０ａ，１３２０ｂ，１３２０ｃ…クライアント別差分更新制御部、１３２１…差分更新命令発行部、１３２２…差分更新命令圧縮部、１３２３…リアルタイム通信送出制御部、１６００…記憶装置、１６１０…データ記憶部、１６２０…イベントテーブル記憶部、１６３０…状態記憶部、１７００…更新モジュール、１７１０…リアルタイム通信受信制御部、１７２０…更新命令展開部、１７３０…ＨＴＭＬ画面更新部、１８００…ＨＴＭＬ文書記憶部、１９００…表示装置。
【図１】
0004689867.tif 000003
【図２】
0004689867.tif 000004
【図３】
0004689867.tif 000005