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