(57)【要約】【課題】複数の端末のウェブブラウザの表示画面を同期して更新する。【解決手段】複数の端末のそれぞれによりダウンロードされて実行され、複数の端末におけるウェブブラウザの表示画面を同期させるクライアントプログラムであって、当該クライアントプログラムは、複数の端末のそれぞれを、当該端末上で発生したイベントを、サーバ装置に送信するイベント送信部と、他の端末上で発生したイベントを、サーバ装置を介して受信するイベント受信部と、当該端末上に表示した表示画面を、サーバ装置を介して受信したイベントに応じた画面に更新させる画面更新部と、して機能させるクライアントプログラムを提供する。【選択図】図３
2010176336.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末のそれぞれによりダウンロードされて実行され、前記複数の端末におけるウェブブラウザの表示画面を同期させるクライアントプログラムであって、
当該クライアントプログラムは、前記複数の端末のそれぞれを、
当該端末上で発生したイベントを、サーバ装置に送信するイベント送信部と、
他の前記端末上で発生したイベントを、前記サーバ装置を介して受信するイベント受信部と、
当該端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新させる画面更新部と、
して機能させるクライアントプログラム。
【請求項２】
前記イベント送信部は、前記複数の端末のそれぞれにおけるウェブブラウザの表示画面上においてユーザが行った操作に応じて発生するイベントを、前記サーバ装置に送信する請求項１に記載のクライアントプログラム。
【請求項３】
前記イベント受信部は、当該端末および他の前記端末上で発生したイベントを、前記サーバ装置を介して受信し、
前記画面更新部は、当該端末上に表示した表示画面を、前記サーバ装置を介して受信した当該端末および他の前記端末上で発生したイベントに応じた画面に更新させる
請求項１または２に記載のクライアントプログラム。
【請求項４】
前記画面更新部は、当該端末上に表示した表示画面を、当該端末上で発生したイベント、および前記サーバ装置を介して受信した他の前記端末上で発生したイベントに応じた画面に更新させる請求項１または２に記載のクライアントプログラム。
【請求項５】
前記イベント送信部は、当該端末上で発生したイベントに当該端末および当該端末上で動作するウェブブラウザの少なくとも一方を識別する識別情報を対応付けて、前記サーバ装置に送信し、
前記イベント受信部は、当該端末および他の前記端末上で発生したイベントを、当該イベントに対応付けられた識別情報と共に受信し、
前記画面更新部は、当該端末上で発生したイベント、および、前記サーバ装置を介して受信した、当該端末および当該端末上で動作するウェブブラウザの少なくとも一方の識別情報と合致しない識別情報に対応付けられたイベントに応じた画面に更新させる
請求項４に記載のクライアントプログラム。
【請求項６】
当該クライアントプログラムは、前記複数の端末のそれぞれを、当該端末上で発生したイベントを１以上蓄積するバッファ部として更に機能させ、
前記イベント送信部は、前記バッファ部に蓄積された１以上のイベントを、前記サーバ装置に送信する
請求項１から５のいずれかに記載のクライアントプログラム。
【請求項７】
前記イベント送信部は、当該端末のユーザから他の前記端末におけるウェブブラウザの表示画面を当該端末におけるウェブブラウザの表示画面と同期させる指示を受けたことに応じて、前記バッファ部に蓄積された１以上のイベントを、前記サーバ装置に送信する請求項６に記載のクライアントプログラム。
【請求項８】
当該クライアントプログラムは、前記複数の端末のそれぞれを、
リンク先アドレスのウェブコンテンツをリバースプロキシサーバを介して取得する取得部と、
前記取得部により取得されたウェブコンテンツ内のリンク先アドレスを指定するコードを、前記イベント送信部を呼び出して前記リンク先アドレスのウェブコンテンツを取得するコードに変換するリンク先変換部と
して更に機能させ、
前記画面更新部は、当該端末上に表示した表示画面を、前記リンク先変換部により変換後の前記ウェブコンテンツに応じた画面に更新させ、
前記イベント送信部は、ユーザにより前記ウェブコンテンツ内の前記リンクが選択されたことに応じて呼び出され、前記リンクが選択されたことを前記サーバ装置を介して他の前記端末へと通知し、
前記イベント受信部は、他の前記端末上で前記リンクが選択されたことの通知を前記サーバ装置を介して受けたことに応じて、前記取得部を呼び出す
請求項１から７のいずれかに記載のクライアントプログラム。
【請求項９】
前記取得部は、リンク先アドレスを前記サーバ装置と同一ドメイン内の前記リバースプロキシサーバに対して与えて、リンク先アドレスのウェブコンテンツを取得し、
前記リンク先変換部は、前記リンク先アドレスのウェブコンテンツを取得するコードを、前記取得部を呼び出すコードとする
請求項８に記載のクライアントプログラム。
【請求項１０】
当該クライアントプログラムは、前記複数の端末のそれぞれを、当該端末上においてウェブブラウザの表示画面におけるリンク先アドレスへのアクセスを指示するアクセスイベントが発生した場合に、リンク先アドレスのデータをアクセスして取得する取得部として更に機能させ、
前記イベント送信部は、当該端末上で発生したアクセスイベントに、前記取得部が取得したリンク先のデータを対応付けて前記サーバ装置に送信し、
前記イベント受信部は、他の前記端末上で発生したアクセスイベントを、当該アクセスイベントに対応付けられたリンク先のデータと共に、前記サーバ装置を介して受信し、
前記画面更新部は、当該端末上に表示した表示画面を、前記サーバ装置を介して受信したアクセスイベントおよびリンク先アドレスのデータに応じた画面に更新させる
請求項１から７のいずれかに記載のクライアントプログラム。
【請求項１１】
ウェブブラウザを実行する端末であって、
複数の端末におけるウェブブラウザの表示画面を同期させるクライアントプログラムを、当該端末がサーバ装置からダウンロードして実行することにより実現されるクライアントプログラム実行部を備え、
前記クライアントプログラム実行部は、
当該端末上で発生したイベントを、前記サーバ装置に送信するイベント送信部と、
他の前記端末上で発生したイベントを、前記サーバ装置を介して受信するイベント受信部と、
当該端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新させる画面更新部と、
を備える端末。
【請求項１２】
複数の端末におけるウェブブラウザの表示画面を同期させる方法であって、
一の端末が、当該一の端末上で発生したイベントを、サーバ装置に送信し、
他の端末が、前記一の端末上で発生したイベントを、前記サーバ装置を介して受信し、
前記他の端末が、当該他の端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新する
方法。
【請求項１３】
複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させるサーバシステムであって、
それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバシステムに通知する機能を含むクライアントプログラムを当該端末へ送信するプログラム送信部と、
一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させるイベント転送部と、
を備えるサーバシステム。
【請求項１４】
端末からリンク先のデータを取得するための取得要求を受けて、当該端末上のウェブブラウザの代わりにリンク先のデータを取得するリバースプロキシサーバを更に備え、
前記プログラム送信部は、取得したウェブコンテンツ内のリンク先アドレスを指定するコードを、前記リバースプロキシサーバに対してリンク先のデータの取得を指示するコードに変換する機能を含む前記クライアントプログラムを前記端末へ送信する
請求項１３に記載のサーバシステム。
【請求項１５】
前記リバースプロキシサーバは、一の前記端末からリンク先のデータの取得要求を受けたことに応じてリンク先の外部のサーバ装置からリンク先アドレスのデータを取得してキャッシュし、他の前記端末からリンク先アドレスのデータの取得要求を受けたことに応じてキャッシュしたデータを返信する請求項１４に記載のサーバシステム。
【請求項１６】
コンピュータを、複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させるサーバシステムとして機能させるサーバプログラムであって、
前記サーバプログラムは、前記コンピュータを、
それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバシステムに通知する機能を含むクライアントプログラムを当該端末へ送信するプログラム送信部と、
一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させるイベント転送部と、
として機能させるサーバプログラム。
【請求項１７】
複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させる方法であって、
サーバ装置が、それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバ装置に通知する機能を含むクライアントプログラムを当該端末へ送信し、
前記サーバ装置が、一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させる
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末によりダウンロードされて実行されるクライアントプログラム、端末、方法、サーバシステムおよびサーバプログラムに関する。
【背景技術】
【０００２】
従来、ウェブコンテンツ（例えばＨＴＭＬファイル）を表示するウェブブラウザが知られている（例えば、特許文献１，２参照。）。また、サーバにおいて発生したイベントを、リアルタイムでウェブブラウザに通知する機能も知られている（例えば非特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−５６１６３号公報
【特許文献２】特許第３９９５９６８号
【非特許文献】
【０００４】
【非特許文献１】須江信洋，田中孝清、「ＷｅｂＳｐｈｅｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ  Ｆｅａｔｕｒｅ  Ｐａｃｋ  ｆｏｒ  Ｗｅｂ２．０  "０６  ＷｅｂＭｅｓｓａｇｉｎｇ"」、日本ＩＢＭホームページ、２００８年５月２１日、［平成２１年１月２０日検索］、インターネット＜URL:http://download.boulder.ibm.com/ibmdl/pub/software/dw/jp/websphere/was/was_web20fep_ws/FPWEB20_06WebMessaging.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば、２つのウェブブラウザから同じＵＲＬ（Uniform Resource Locator）のウェブコンテンツ（例えばＨＴＭＬファイル）にアクセスした場合、ウェブブラウザにより表示された画面に対するユーザによる操作は、それぞれのウェブブラウザ内で完結する。従って、１つのウェブブラウザに対する１回の操作により、複数のウェブブラウザにより表示されたウェブコンテンツの画面を同期して遷移させることはできなかった。つまり、ある操作を一方のウェブブラウザに対して行い、更に、同一の操作を他方のウェブブラウザに対して更に行わなければ、両者のウェブブラウザ上において動作するウェブコンテンツの画面を同一にすることはできなかった。
【０００６】
また、コンピュータの操作画面を共有するためのユーティリティツールとして、ＶＮＣ（Virtual Network Connection）およびリモートデスクトップ（マイクロソフトウィンドウズ（登録商標）に付属した機能）等が知られている。しかし、これらのユーティリティツールは、画面を画像データとして送受信するので、ネットワークの負荷が大きく、画像の再描画のための処理時間が長かった。
【０００７】
また、これらのユーティリティツールは、専用のアプリケーションをオペレーションシステムにインストールしなければ使用することができなかった。従って、このようなユーティリティツールと同様の機能をウェブブラウザに適用しても、描画のための処理時間が長くなり、また、既存のウェブブラウザを置き換えなければならなく、ユーザの負担が大きくなってしまう。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の態様においては、複数の端末のそれぞれによりダウンロードされて実行され、前記複数の端末におけるウェブブラウザの表示画面を同期させるクライアントプログラムであって、当該クライアントプログラムは、前記複数の端末のそれぞれを、当該端末上で発生したイベントを、サーバ装置に送信するイベント送信部と、他の前記端末上で発生したイベントを、前記サーバ装置を介して受信するイベント受信部と、当該端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新させる画面更新部と、して機能させるクライアントプログラムを提供する。
【０００９】
本発明の第２の態様においては、ウェブブラウザを実行する端末であって、複数の端末におけるウェブブラウザの表示画面を同期させるクライアントプログラムを、当該端末がサーバ装置からダウンロードして実行することにより実現されるクライアントプログラム実行部を備え、前記クライアントプログラム実行部は、当該端末上で発生したイベントを、サーバ装置に送信するイベント送信部と、他の前記端末上で発生したイベントを、前記サーバ装置を介して受信するイベント受信部と、当該端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新させる画面更新部と、を備える端末を提供する。
【００１０】
本発明の第３の態様においては、複数の端末におけるウェブブラウザの表示画面を同期させる方法であって、一の端末が、当該一の端末上で発生したイベントを、サーバ装置に送信し、他の端末が、前記一の端末上で発生したイベントを、前記サーバ装置を介して受信し、前記他の端末が、当該他の端末上に表示した表示画面を、前記サーバ装置を介して受信したイベントに応じた画面に更新する方法を提供する。
【００１１】
本発明の第４の態様においては、複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させるサーバシステムであって、それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバシステムに通知する機能を含むクライアントプログラムを当該端末へ送信するプログラム送信部と、一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させるイベント転送部と、を備えるサーバシステムを提供する。
【００１２】
本発明の第５の態様においては、コンピュータを、複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させるサーバシステムとして機能させるサーバプログラムであって、前記サーバプログラムは、前記コンピュータを、それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバシステムに通知する機能を含むクライアントプログラムを当該端末へ送信するプログラム送信部と、一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させるイベント転送部と、として機能させるサーバプログラムを提供する。
【００１３】
本発明の第６の態様においては、複数の端末のそれぞれにおけるウェブブラウザの表示画面を同期させる方法であって、サーバ装置が、それぞれの前記端末上で動作するウェブブラウザからの要求に応じて、当該端末上で発生したイベントを当該サーバ装置に通知する機能を含むクライアントプログラムを当該端末へ送信し、前記サーバ装置が、一の前記端末からイベントの通知を受信したことに応じて、他の前記端末に当該イベントを通知して、前記他の端末におけるウェブブラウザの表示画面を当該イベントに応じて更新させる方法を提供する。
【００１４】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施形態に係るコンピュータシステム１０の構成を示す。
【図２】図２は、本実施形態に係るウェブコンテンツおよびウェブブラウザの構成を示す。
【図３】図３は、サーバ装置２０および端末３０の機能構成を示す。
【図４】図４は、複数の端末３０がサーバ装置２０により提供されたウェブページにアクセスする場合の処理フローの一例を示す。
【図５】図５は、本実施形態の第１変形例に係るサーバ装置２０および端末３０の機能構成を示す。
【図６】図６は、本実施形態の第２変形例に係るサーバ装置２０および端末３０の機能構成を示す。
【図７】図７は、複数の端末３０がサーバ装置２０により提供されたウェブページにアクセスする場合の処理フローの一例を示す。
【図８】図８は、本実施形態の第３変形例に係るサーバ装置２０および端末３０の機能構成を示す。
【図９】図９は、本発明の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１６】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１７】
図１は、本実施形態に係るコンピュータシステム１０の構成を示す。本実施形態に係るコンピュータシステム１０は、サーバ装置２０と、複数の端末３０とを備える。サーバ装置２０は、複数の端末３０にウェブコンテンツを提供する。サーバ装置２０は、一例として、ネットワークを介して、ＨＴＭＬファイルであるウェブページを提供する。
【００１８】
複数の端末３０のそれぞれは、ウェブブラウザを実行する。ウェブブラウザを実行した端末３０は、ユーザの操作に応じて、サーバ装置２０からウェブコンテンツを取得して実行し、このウェブコンテンツにより提供される情報を表示する。端末３０は、一例として、ウェブページをダウンロードして、ウェブブラウザの表示画面にウェブページを表示する。
【００１９】
図２は、本実施形態に係るウェブコンテンツおよびウェブブラウザの構成を示す。ウェブコンテンツは、クライアントプログラムを含む。クライアントプログラムは、複数の端末３０のそれぞれによりダウンロードされて実行され、複数の端末３０におけるウェブブラウザの表示画面を同期させる。
【００２０】
クライアントプログラムは、ＪａｖａＳｃｒｉｐｔコード等のウェブブラウザが実行可能なコードにより記述されたプログラムである。クライアントプログラムは、一例として、例えばＨＴＭＬファイルであるウェブページに挿入される。また、クライアントプログラムは、一例として、ウェブコンテンツの提供者により作成される。
【００２１】
ウェブブラウザは、クライアントプログラムをダウンロードして実行して、端末３０をクライアントプログラムを実行するプログラム処理部として機能させる。プログラム処理部は、クライアントプログラムを呼び出して、クライアントプログラムによる処理結果を受け取る。
【００２２】
図３は、サーバ装置２０および端末３０の機能構成を示す。端末３０は、ブラウザ実行部６０と、クライアントプログラム実行部７０とを備える。
【００２３】
ブラウザ実行部６０は、端末３０がウェブブラウザを実行することにより実現される。ブラウザ実行部６０は、サーバ装置２０からウェブコンテンツを取得して、このウェブコンテンツにより提供される情報をウェブブラウザの表示画面上に表示する。さらに、ブラウザ実行部６０は、取得したウェブコンテンツに含まれるクライアントプログラムを端末３０に実行させる。
【００２４】
クライアントプログラム実行部７０は、端末３０がウェブコンテンツに含まれるクライアントプログラムを実行することにより実現される。クライアントプログラム実行部７０は、イベント処理部７２と、イベント送信部７４と、イベント受信部７６と、画面更新部７８とを有する。
【００２５】
イベント処理部７２は、当該端末３０上で発生したイベントを取得する。イベント処理部７２は、一例として、ウェブブラウザの表示画面上においてユーザが行った操作に応じて発生するイベントを取得する。イベント処理部７２は、ユーザが行った操作に応じたイベントとして、例えば、ボタン操作、キー操作、文字入力操作、ポインタ移動操作を取得する。
【００２６】
さらに、イベント処理部７２は、一例として、取得したイベントの発生を通知するメッセージを生成する。また、イベント処理部７２は、一例として、メッセージに、取得したイベントの内容およびパラメータを含める。例えば、イベント処理部７２は、文字入力操作のイベントが発生した場合には、入力された文字の文字コードをパラメータとしてメッセージに含める。また、例えば、イベント処理部７２は、ポインタ移動操作のイベントが発生した場合には、ポインタの座標をパラメータとしてメッセージに含める。
【００２７】
イベント送信部７４は、当該端末３０上で発生したイベントを、サーバ装置２０に送信する。イベント送信部７４は、一例として、イベント処理部７２によりメッセージ化されたイベントをサーバ装置２０に送信する。
【００２８】
イベント受信部７６は、当該端末３０および他の端末３０上で発生したイベントを、サーバ装置２０を介して受信する。イベント受信部７６は、一例として、メッセージ化されたイベントを受信する。
【００２９】
画面更新部７８は、当該端末３０上に表示した表示画面を、サーバ装置２０を介して受信した当該端末３０および他の端末３０上で発生したイベントに応じた画面に更新させる。画面更新部７８は、一例として、イベント受信部７６により受信されたメッセージに含まれたイベントの内容およびパラメータを、ブラウザ実行部６０に対して与えて、ウェブブラウザの表示画面上をイベントの内容およびパラメータに応じた画面に更新する。
【００３０】
これにより、ブラウザ実行部６０は、当該端末３０上に表示された表示画面を、他の端末３０に表示された表示画面と同一とすることができる。例えば、ブラウザ実行部６０は、一の端末３０のウェブブラウザに入力された文字を、当該一の端末３０および他の端末３０の全てのウェブブラウザの表示画面に表示することができる。また、例えば、ブラウザ実行部６０は、一の端末３０のウェブブラウザのポインタの表示位置を、当該一の端末３０および他の端末３０の全てのウェブブラウザの表示画面において同一とすることができる。
【００３１】
サーバ装置２０は、プログラム送信部８２と、イベント転送部８４とを有する。プログラム送信部８２は、それぞれの端末３０上で動作するウェブブラウザからの要求に応じて、当該端末３０上で発生したイベントを当該サーバ装置２０に通知する機能を含むクライアントプログラムを当該端末３０に送信する。より具体的には、プログラム送信部８２は、複数の端末３０のそれぞれを、イベント処理部７２、イベント送信部７４、イベント受信部７６および画面更新部７８として機能させるクライアントプログラムを送信する。
【００３２】
イベント転送部８４は、一の端末３０からイベントの通知を受信したことに応じて、当該端末３０および他の端末３０に当該イベントを通知して、当該端末３０および他の端末３０におけるウェブブラウザの表示画面を当該イベントに応じて更新させる。イベント転送部８４は、一例として、一の端末３０からイベントの発生を通知するメッセージを受信し、受信したメッセージを当該端末３０および他の端末３０に転送する。
【００３３】
図４は、複数の端末３０がサーバ装置２０により提供されたウェブページにアクセスする場合の処理フローの一例を示す。まず、一の端末３０のブラウザ実行部６０は、サーバ装置２０にアクセスして（Ｓ１１）、ウェブページをダウンロードする（Ｓ１２）。このウェブページには、クライアントプログラムが含まれている。従って、端末３０のブラウザ実行部６０は、クライアントプログラムも同時にダウンロードすることができる。
【００３４】
続いて、端末３０のブラウザ実行部６０は、ダウンロードしたクライアントプログラムを実行する。これにより、端末３０は、クライアントプログラム実行部７０を実装することができる。
【００３５】
続いて、端末３０のクライアントプログラム実行部７０は、サーバ装置２０に対してサブスクライブをする（Ｓ１３）。クライアントプログラム実行部７０は、一例として、イベントを受信したことにより呼び出されるコールバック関数を登録する。これにより、サーバ装置２０は、何れかの端末３０からイベントを受信すると、端末３０のイベント受信部７６を呼び出すことができる。そして、他の端末３０も、同様に以上のステップＳ１１からＳ１３の処理を実行する。
【００３６】
続いて、一の端末３０においてイベントが発生すると、当該一の端末３０のブラウザ実行部６０は、イベント処理部７２を呼び出す。イベント処理部７２は、ブラウザ実行部６０から発生したイベントの内容およびパラメータを取得する。続いて、イベント処理部７２は、イベントの内容およびパラメータを示すメッセージを生成して、イベント送信部７４を呼び出す。そして、イベント送信部７４は、イベント処理部７２によりメッセージ化されたイベントを、サーバ装置２０のイベント転送部８４へと送信する（Ｓ１４）。
【００３７】
続いて、サーバ装置２０のイベント転送部８４は、一の端末３０からイベントを受信すると、サブスクライブをした全ての端末３０に対して、受信したイベントを転送する（Ｓ１５）。サーバ装置２０のイベント転送部８４は、一例として、一の端末３０からイベントを受信すると、当該一の端末３０および他の端末３０のイベント受信部７６を呼び出す。
【００３８】
続いて、一の端末３０および他の端末３０のそれぞれのイベント受信部７６は、イベントを受信すると、画面更新部７８を呼び出す。画面更新部７８は、ウェブページ上に表示された表示画面を、サーバ装置２０により転送されたイベントの内容およびパラメータに応じた画面に更新する（Ｓ１６）。そして、以後、各端末３０は、何れかの端末３０においてイベントが発生する毎に、以上のステップＳ１４からステップＳ１６の処理を実行する。
【００３９】
以上のようなサーバ装置２０および端末３０によれば、一の端末３０においてイベントが発生したことに応じて、複数の端末３０のウェブブラウザの表示画面を同期して更新することができる。さらに、このようなサーバ装置２０および端末３０によれば、ウェブブラウザにおいて発生したイベントの内容およびパラメータを示すメッセージを転送するので、やり取りする情報量を少なくして、画面の更新に要する時間を短くすることができる。また、更に、このようなサーバ装置２０および端末３０によれば、専用のアプリケーションを端末３０にインストールさせずに、既存のウェブブラウザによりクライアントプログラムをダウンロードして実行させるので、ユーザの負担を少なくすることができる。
【００４０】
なお、サーバ装置２０および複数の端末３０は、予め指定されたイベントについてのみ表示画面を同期して更新させ、他のイベントについては表示画面を同期して更新させない構成であってもよい。この場合、一の端末３０は、指定されたイベントが発生した場合には当該イベントをサーバ装置２０を介して他の端末３０へと転送し、指定されていないイベントが発生した場合には当該イベントをサーバ装置２０を介して他の端末３０へと転送せずに自身のウェブブラウザの表示画面を更新する。
【００４１】
この場合において、サーバ装置２０および複数の端末３０は、同期して更新させるイベントを、端末３０毎に指定できる構成であってもよい。例えば、一の端末３０は、サブスクライブに先立って、同期して更新させるイベントをユーザに選択させ、選択されたイベントについてのみイベント受信部７６が呼び出されるようにサーバ装置２０に対してサブスクライブをしてよい。これにより、サーバ装置２０は、他の端末３０において選択されたイベントが発生した場合には当該一の端末３０に対してイベントを転送し、他の端末３０において選択されていないイベントが発生した場合には当該一の端末３０に対してイベントを転送しないことができる。
【００４２】
図５は、本実施形態の第１変形例に係るサーバ装置２０および端末３０の機能構成を示す。本変形例に係るサーバ装置２０および端末３０は、図２に示された本実施形態に係るサーバ装置２０および端末３０と略同一の構成および機能を採るので、図２に示された部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００４３】
本変形例に係るクライアントプログラム実行部７０は、バッファ部８８を更に有する。バッファ部８８は、当該端末３０上で発生したイベントを１以上蓄積する。バッファ部８８は、一例として、イベント処理部７２により生成されたメッセージを蓄積する。
【００４４】
イベント送信部７４は、当該端末３０のユーザから他の端末３０におけるウェブブラウザの表示画面を当該端末３０におけるウェブブラウザの表示画面と同期させる指示を受けたことに応じて、バッファ部８８に蓄積された１以上のイベントを、サーバ装置２０に送信する。このような本変形例に係る端末３０によれば、ユーザが希望するタイミングにおいて他の端末３０のウェブブラウザの表示画面を更新することができる。
【００４５】
また、本変形例において、画面更新部７８は、当該端末３０上で発生したイベントをイベント処理部７２から取得して、ウェブブラウザの表示画面を取得したイベントに応じた画面に更新させる。この場合、イベント送信部７４は、当該端末３０上で発生したイベントに、識別情報を対応付けて、サーバ装置２０に送信する。識別情報は、当該端末３０および当該端末３０上で動作するウェブブラウザの少なくとも一方を、他の端末３０および他の端末３０上で動作するウェブブラウザと識別する情報である。
【００４６】
イベント受信部７６は、当該端末３０および他の端末３０上で発生したイベントを、当該イベントに対応付けられた識別情報と共に受信する。そして、画面更新部７８は、サーバ装置２０を介してイベント受信部７６が受信した、当該端末３０および当該端末３０上で動作するウェブブラウザの少なくとも一方の識別情報と合致しない識別情報に対応付けられたイベントを取得して、ウェブブラウザの表示画面を取得したイベントに応じた画面に更新させる。
【００４７】
これにより、本変形例に係るサーバ装置２０および端末３０は、当該端末３０において発生したイベントについては、サーバ装置２０を介さずに画面を更新することができる。従って、本変形例に係るサーバ装置２０および端末３０は、イベントが発生してから画面が更新されるまでの応答時間を短くして、操作性を向上することができる。
【００４８】
図６は、本実施形態の第２変形例に係るサーバ装置２０および端末３０の機能構成を示す。本変形例に係るサーバ装置２０および端末３０は、図２に示された本実施形態に係るサーバ装置２０および端末３０と略同一の構成および機能を採るので、図２に示された部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００４９】
本変形例に係るコンピュータシステム１０は、複数の端末３０と、サーバシステム１００を備える。サーバシステム１００は、サーバ装置２０と、サーバ装置２０と同一ドメインのリバースプロキシサーバ９０を有する。
【００５０】
リバースプロキシサーバ９０は、端末３０から、リンク先アドレスのウェブコンテンツを取得するための取得要求を受ける。リバースプロキシサーバ９０は、取得要求を与えた端末３０のウェブブラウザに代わって、外部のサーバ装置からリンク先アドレスのウェブコンテンツを取得して、端末３０に送信する。このようなリバースプロキシサーバ９０は、サーバ装置２０と同一ドメインのアドレスにアクセスした端末３０に対して、サーバ装置２０と異なるドメインのアドレスのウェブコンテンツを提供することができる。
【００５１】
本変形例に係るクライアントプログラム実行部７０は、取得部９２と、リンク先変換部９４とを更に有する。取得部９２は、外部のサーバ装置のアドレスであるリンク先アドレスおよび取得要求をリバースプロキシサーバ９０に対して与えて、リンク先アドレスのウェブコンテンツをリバースプロキシサーバ９０を介して取得する。
【００５２】
リンク先変換部９４は、取得部９２により取得されたウェブコンテンツ内のリンク先アドレスを指定するコードを、イベント送信部７４を呼び出してリンク先アドレスのウェブコンテンツを取得するコードに変換する。この場合において、リンク先変換部９４は、リンク先アドレスのウェブコンテンツを取得するコードを、取得部９２を呼び出すコードとする。
【００５３】
さらに、本変形例において、画面更新部７８は、当該端末３０上に表示した表示画面を、リンク先変換部９４により変換後のウェブコンテンツに応じた画面に更新させる。また、イベント送信部７４は、ユーザによりウェブコンテンツ内のリンクが選択されたことに応じて呼び出され、リンクが選択されたことをサーバ装置２０を介して他の端末３０へと通知する。イベント受信部７６は、他の端末３０上でリンクが選択されたことの通知をサーバ装置２０を介して受けたことに応じて、取得部９２を呼び出す。
【００５４】
また、本変形例において、サーバ装置２０のプログラム送信部８２は、それぞれの端末３０上で動作するウェブブラウザからの要求に応じて、複数の端末３０のそれぞれを、イベント処理部７２、イベント送信部７４、イベント受信部７６、取得部９２、リンク先変換部９４および画面更新部７８として機能させるクライアントプログラムを送信する。
【００５５】
さらに、プログラム送信部８２は、リンクが選択されたことに応じて実行されるコードとして、イベント送信部７４を呼び出してリンク先アドレスのウェブコンテンツを取得するコードを含むウェブコンテンツを、それぞれの端末３０に対して送信する。この場合において、リンク先アドレスのウェブコンテンツを取得するコードは、取得部９２を呼び出すコードとされている。
【００５６】
図７は、複数の端末３０がサーバ装置２０により提供されたウェブページにアクセスする場合の処理フローの一例を示す。まず、複数の端末３０のそれぞれは、図４に示されたステップＳ１１からＳ１３の処理を実行する。
【００５７】
ここで、ステップＳ１２において端末３０がサーバ装置２０からダウンロードしたウェブページ内には、リンクが選択されたことに応じて実行されるコードとして、イベント送信部７４を呼び出してリンク先アドレスのウェブコンテンツを取得するコードが含まれている。この場合において、リンク先アドレスのウェブコンテンツを取得するコードは、取得部９２を呼び出すコードとなっている。
【００５８】
本例に係るウェブページ内には、一例として、以下のようなコードが記述されている。
＜a href=＜javascript:sendEvent('loadHTMLFile','http://www.abcdef.com/'')＞  abcdefへのリンク＜/a＞
【００５９】
当該コードは、ウェブページに表示された"abcdefへのリンク"という文字を、ユーザが選択した場合において実行される、ＪａｖａＳｃｒｉｐｔによるコードを表す。当該コードにおいて、ｓｅｎｄＥｖｅｎｔ（）"は、イベント送信部７４を呼び出すコードを表す。
【００６０】
当該コードにおいて、"'ｌｏａｄＨＴＭＬＦｉｌｅ'，'ｈｔｔｐ：／／ｗｗｗ．ａｂｃｄｅｆ．ｃｏｍ／'"は、取得部９２を呼び出して、"ａｂｃｄｅｆサイト"からウェブコンテンツを取得するコードを表す。"ｌｏａｄＨＴＭＬＦｉｌｅ"は、取得部９２を呼び出すコードを表す。"ｈｔｔｐ：／／ｗｗｗ．ａｂｃｄｅｆ．ｃｏｍ／"は、取得部９２に与えられる引数であって、リンク先アドレスを表す。
【００６１】
一の端末３０において、ユーザがこのようなウェブページ内のリンクを選択すると、ブラウザ実行部６０は、イベント処理部７２を呼び出す。一の端末３０のイベント処理部７２は、このようなリンクが選択されたことを示すメッセージを生成して、イベント送信部７４を呼び出す。そして、一の端末３０のイベント送信部７４は、イベント処理部７２により生成されたメッセージをサーバ装置２０のイベント転送部８４へと送信する（Ｓ２１）。
【００６２】
続いて、サーバ装置２０のイベント転送部８４は、一の端末３０からメッセージを受信すると、サブスクライブをした全ての端末３０に対して、受信したメッセージを転送する（Ｓ２２）。サーバ装置２０のイベント転送部８４は、一例として、一の端末３０からメッセージを受信すると、当該一の端末端末３０および他の端末３０のイベント受信部７６を呼び出す。
【００６３】
続いて、一の端末３０および他の端末３０のそれぞれのイベント受信部７６は、メッセージを受信すると、メッセージに示されたリンク先アドレスを指定して取得部９２を呼び出す。本例においては、イベント受信部７６は、リンク先アドレスである"ｈｔｔｐ：／／ｗｗｗ．ａｂｃｄｅｆ．ｃｏｍ／"を引数として、取得部９２を実現する"ｌｏａｄＨＴＭＬＦｉｌｅ"関数を呼び出す。
【００６４】
続いて、一の端末３０および他の端末３０のそれぞれの取得部９２は、指定されたリンク先アドレスのウェブページ等のデータを取得するリクエストを、リバースプロキシサーバ９０に対して送信する（Ｓ２３）。続いて、リクエストを受信したリバースプロキシサーバ９０は、当該リクエストにより指定されたリンク先アドレスにアクセスして、リクエストされたデータを取得する（Ｓ２４）。そして、リバースプロキシサーバ９０は、取得したデータを含むレスポンスを、一の端末３０および他の端末３０のそれぞれの取得部９２へ返信する（Ｓ２５）。
【００６５】
なお、リバースプロキシサーバ９０は、一例として、一の端末３０からリンク先アドレスのウェブページ等のデータの取得要求を最初に受けたことに応じてリンク先アドレスの外部のサーバ装置からリンク先のデータを取得してキャッシュする。そして、リバースプロキシサーバ９０は、一の端末３０によるアクセス以降において、他の端末３０からリンク先アドレスのデータの取得要求を受けたことに応じてキャッシュしたデータを返信する。これにより、リバースプロキシサーバ９０は、外部のサーバ装置から効率良くデータを取得することができる。
【００６６】
続いて、一の端末３０および他の端末３０のそれぞれの取得部９２は、リバースプロキシサーバ９０からレスポンスを受け取ると、リンク先変換部９４を呼び出す。一の端末３０および他の端末３０のそれぞれのリンク先変換部９４は、取得部９２により取得されたウェブページ内のリンク先アドレスを指定するコードを、イベント送信部７４を呼び出してリンク先アドレスのデータ（ウェブページ等）のデータを取得するコードに変換する（Ｓ２６）。この場合において、リンク先変換部９４は、リンク先アドレスのデータを取得するコードを、取得部９２を呼び出すコードとする。
【００６７】
例えば、取得部９２が取得したウェブページ内に、以下のリンク先アドレスを指定するコードが記述されていたとする。当該コードは、ウェブページに表示された"ghijklへのリンク"という文字を、ユーザが選択した場合に、ウェブブラウザの表示画面を遷移させるアドレスを表す。
＜a href="http://www.ghijkl.com/"＞  ghijklへのリンク＜/a＞
【００６８】
リンク先変換部９４は、このようなコードを、一例として、以下のように変換する。
＜a href="javascript:sendEvent('loadHTMLFile',' ghijkl'') ＞ ghijklへのリンク＜/a＞
【００６９】
当該コードは、ウェブページに表示された"ghijklへのリンク"という文字を、ユーザが選択した場合において実行される、ＪａｖａＳｃｒｉｐｔによるコードを表す。当該コードにおいて、ｓｅｎｄＥｖｅｎｔ（）"は、イベント送信部７４を呼び出すコードを表す。
【００７０】
当該コードにおいて、"'ｌｏａｄＨＴＭＬＦｉｌｅ'，'ｈｔｔｐ：／／ｗｗｗ．ｇｈｉｊｋｌ．ｃｏｍ／'"は、取得部９２を呼び出して、"ｇｈｉｊｋｌサイト"からウェブコンテンツを取得するコードを表す。"ｌｏａｄＨＴＭＬＦｉｌｅ"は、取得部９２を呼び出すコードを表す。"ｈｔｔｐ：／／ｗｗｗ．ｇｈｉｊｋｌ．ｃｏｍ／"は、取得部９２に与えられる引数であって、リンク先アドレスを表す。
【００７１】
リンク先変換部９４は、リンク先アドレスを指定するコードを変換すると、画面更新部７８を呼び出す。そして、一の端末３０および他の端末３０のそれぞれの画面更新部７８は、当該端末３０上に表示した表示画面を、リンク先変換部９４により変換後のウェブコンテンツに応じた画面に更新させる（Ｓ２７）。
【００７２】
以上のような本変形例に係るサーバ装置２０および端末３０によれば、外部のサーバ装置から取得したデータをウェブブラウザの表示画面に表示する場合であっても、複数の端末３０のウェブブラウザの表示画面を同期して更新することができる。すなわち、サーバ装置２０および端末３０によれば、異なる複数のドメインのサーバ装置から取得したデータを同一画面に表示できないというウェブブラウザの制限がある場合であっても、外部のサーバ装置から取得したデータを、複数の端末３０のウェブブラウザの表示画面に同期して表示することができる。
【００７３】
なお、取得部９２は、当該端末３０上においてリンク先アドレスを指定するコードが選択された場合、イベント処理部７２からメッセージを直接取得して、リクエストをリバースプロキシサーバ９０に与えてよい。この場合、イベント送信部７４は、メッセージに、識別情報を対応付けてサーバ装置２０に送信する。イベント受信部７６は、当該端末３０および他の端末３０上からサーバ装置２０を介して受信したメッセージを、当該メッセージに対応付けられた識別情報と共に受信する。
【００７４】
そして、取得部９２は、サーバ装置２０を介してイベント受信部７６が受信した、当該端末３０および当該端末３０上で動作するウェブブラウザの少なくとも一方の識別情報と合致しない識別情報に対応付けられたメッセージを取得して、リクエストをリバースプロキシサーバ９０に与える。これにより、本変形例に係る端末３０は、リンク先アドレスを指定するコードが選択されてから、データが取得されるまでの応答時間を短くして、操作性を向上することができる。
【００７５】
また、端末３０は、更に、送信先アドレスをプロキシサーバに対して与えて、送信先アドレスに対してプロキシサーバを介してデータを送信するデータ送信部を更に備えてもよい。この場合、リンク先変換部９４は、取得部９２により取得されたウェブコンテンツ内の送信先アドレスを指定するコードを、イベント送信部７４を呼び出して送信先アドレスへウェブコンテンツを送信するコードに変換する。この場合において、リンク先変換部９４は、送信先アドレスのウェブコンテンツを取得するコードを、データ送信部を呼び出すコードとする。
【００７６】
図８は、本実施形態の第３変形例に係るサーバ装置２０および端末３０の機能構成を示す。本変形例に係るサーバ装置２０および端末３０は、図２に示された本実施形態に係るサーバ装置２０および端末３０と略同一の構成および機能を採るので、図２に示された部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００７７】
本変形例に係るコンピュータシステム１０は、複数の端末３０と、サーバシステム１００を備える。サーバシステム１００は、サーバ装置２０と、サーバ装置２０と同一ドメインのリバースプロキシサーバ９０を有する。この図８に示されたリバースプロキシサーバ９０は、図６で示されたリバースプロキシサーバ９０と同様の機能および構成を有する。
【００７８】
本変形例に係るクライアントプログラム実行部７０は、取得部９２を更に有する。取得部９２は、当該端末３０上においてウェブブラウザの表示画面におけるリンク先アドレスのアクセスを指示するアクセスイベントが発生した場合に、リンク先アドレスのデータをアクセスして取得する。
【００７９】
取得部９２は、一例として、アクセスイベントが発生した場合に、リンク先アドレスを指定してイベント処理部７２により呼び出される。そして、取得部９２は、一例として、リバースプロキシサーバ９０に対してリンク先アドレスを与えることにより、リンク先アドレスのウェブコンテンツをリバースプロキシサーバ９０を介して取得する。
【００８０】
更に、本変形例において、イベント送信部７４は、当該端末３０上で発生したアクセスイベントに、取得部９２が取得したリンク先アドレスのデータを対応付けてサーバ装置２０に送信する。イベント受信部７６は、他の端末３０上で発生したアクセスイベントを、当該アクセスイベントに対応付けられたリンク先アドレスのデータと共に、サーバ装置２０を介して受信する。画面更新部７８は、当該端末３０上に表示した表示画面を、サーバ装置を介して受信したアクセスイベントおよびリンク先アドレスのデータに応じた画面に更新させる。
【００８１】
以上のような本変形例に係るサーバ装置２０および端末３０によれば、一の端末３０において外部のサーバ装置へアクセスを指示するアクセスイベントが発生した場合においても、他の端末３０のウェブブラウザの表示画面を同期して更新することができる。
【００８２】
図９は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００８３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８４】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８５】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８６】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８７】
コンピュータ１９００にダウンロードして実行され、コンピュータ１９００をクライアントプログラム実行部７０として機能させるクライアントプログラムは、イベント処理モジュールと、イベント送信モジュールと、イベント受信モジュールと、画面変更モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、イベント処理部７２、イベント送信部７４、イベント受信部７６および画面更新部７８としてそれぞれ機能させる。
【００８８】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるイベント処理部７２、イベント送信部７４、イベント受信部７６および画面更新部７８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の端末３０が構築される。
【００８９】
また、コンピュータ１９００にインストールされ、コンピュータ１９００をサーバ装置２０として機能させるプログラムは、プログラム送信モジュールと、イベント転送モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、プログラム送信部８２と、イベント転送部８４としてそれぞれ機能させる。
【００９０】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるイベント処理部７２、イベント送信部７４、イベント受信部７６および画面更新部７８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のサーバ装置２０が構築される。
【００９１】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９２】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００９３】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９４】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９５】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００９６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９８】
１０  コンピュータシステム、２０  サーバ装置、３０  端末、６０  ブラウザ実行部、７０  クライアントプログラム実行部、７２  イベント処理部、７４  イベント送信部、７６  イベント受信部、７８  画面更新部、８２  プログラム送信部、８４  イベント転送部、８８  バッファ部、９０  リバースプロキシサーバ、９２  取得部、９４  リンク先変換部、１００  サーバシステム、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2010176336.tif 000003
【図２】
2010176336.tif 000004
【図３】
2010176336.tif 000005
【図４】
2010176336.tif 000006
【図５】
2010176336.tif 000007
【図６】
2010176336.tif 000008
【図７】
2010176336.tif 000009
【図８】
2010176336.tif 000010
【図９】
2010176336.tif 000011