(57)【要約】【課題】  ＨＴＴＰリクエストの頻度を低減させてネットワークのトラフィックを低減させる。【解決手段】  情報提供サーバ３０のスクリプト実行環境３３で実行される更新確認スクリプト３３１ａは、例えばログファイル３４１の更新日時を確認することによりログファイル３４１の更新を確認し、更新があったときに、クライアント端末１０のスクリプト実行環境１３で実行されているチャットアプリケーション１３１宛に、更新があった旨を通知する。【選択図】図１
2008176483.tif 000002
【特許請求の範囲】
【請求項１】
ＨＴＴＰサーバにより情報を提供する情報提供手段と，監視対象となる前記情報の更新の有無を繰り返し確認する更新検出手段と，一のセッションにおいて、前記更新検出手段が前記監視対象となる情報の更新を検出した際に情報の更新があった旨を通知する通知手段を備える情報提供サーバと、
前記情報提供手段が提供する情報を取得する情報取得手段と，前記通知手段からの通知に応じて前記情報取得手段に情報の取得を指示する取得指示手段とを有するＨＴＴＰクライアントを備える情報利用端末と
を有することを特徴とする情報提供システム。
【請求項２】
前記ＨＴＴＰサーバは、前記更新検出手段が前記監視対象となる情報の更新を検出した際に前記更新検出手段の差分を検出する差分検出手段を有し、
前記ＨＴＴＰサーバの通知手段は、前記通知中に前記差分検出手段が検出した差分を示す差分情報を含めて通知し、
前記ＨＴＴＰクライアントの情報取得手段は、前記通知中の差分情報を取得する
ことを特徴とする請求項１記載の情報提供システム。
【請求項３】
前記ＨＴＴＰサーバは、
前記通知手段が通知を送信してからの経過時間を求める計時手段と、
経過時間が所定の閾値を超えた場合に前記通知手段にダミー情報を送信させるダミー情報送信手段と
を備えることを特徴とする請求項１又は請求項２のいずれかに記載の情報提供システム。
【請求項４】
端末装置に情報を提供する情報提供手段と、
監視対象となる前記情報の更新の有無を繰り返し確認する更新検出手段と、
一のセッションにおいて、前記更新検出手段の検出出力に応じて情報の更新があった旨を前記端末装置に通知する通知手段と
を備えることを特徴とする情報提供サーバ装置。
【請求項５】
ＨＴＴＰサーバにより情報を提供する情報提供手段と，監視対象となる前記情報の更新の有無を繰り返し確認する更新検出手段と，一のセッションにおいて、前記更新検出手段の検出出力に応じて情報の更新があった旨を通知する通知手段を備える情報提供サーバが提供する情報を利用する情報利用端末であって、
ＨＴＴＰクライアント上で実行され，前記情報提供手段が提供する情報を取得する情報取得手段と，前記通知手段からの通知に応じて前記情報取得手段に情報の取得を指示する取得指示手段と
を備えることを特徴とする情報利用端末装置。
【請求項６】
ＨＴＴＰサーバにより情報を提供する情報提供手段と，監視対象となる前記情報の更新の有無を繰り返し確認する更新検出手段と，一のセッションにおいて、前記更新検出手段の検出出力に応じて情報の更新があった旨を通知する通知手段を備える情報提供サーバが提供する情報を利用する情報利用プログラムであって、
ＨＴＴＰクライアント上で実行され，前記情報提供手段が提供する情報を取得する情報取得ステップと，前記通知手段からの通知に応じて前記情報取得ステップに情報の取得を指示する取得指示ステップと
を備えることを特徴とする情報利用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークのトラフィックを低減させた情報提供システムに関する。
【背景技術】
【０００２】
近年、ＨＴＴＰクライアント側で実行されるスクリプトが、サービスを提供するサーバと非同期通信を行い、画面遷移なしに動的にその結果をＨＴＴＰクライアント領域に反映させる技術を活用した、いわゆるウェブアプリケーションがサービスの提供に用いられるようになっている。
【０００３】
このようなウェブアプリケーションでは、ＨＴＴＰクライアント側では、例えばＪａｖａＳｃｒｉｐｔ（登録商標）におけるｘｍｌＨｔｔｐＲｅｑｕｅｓｔによって必要な情報を取得して処理を実行するようになっている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的にＨＴＴＰプロトコルは、クライアントからの要求（リクエスト）に対する応答（レスポンス）によって情報を提供するいわゆるＰｕｌｌ型のプロトコルであるため、ＨＴＴＰクライアントからの要求なしに、ＨＴＴＰサーバからＨＴＴＰクライアントに対して情報を送信するＰｕｓｈ型の通信はできない。
【０００５】
このため、ウェブアプリケーション側で、ＨＴＴＰサーバ側でのファイルの変更等に迅速に対応したい場合には、例えば、ウェブアプリケーション側で、所定の短い間隔でＨＴＴＰリクエストを送信し、ＨＴＴＰサーバの応答を得る必要があった。
【０００６】
しかし、このような方法では、ＨＴＴＰリクエストを頻繁に送信する必要があり、ＨＴＴＰサーバからの応答に応じた処理を実行する必要があった。また、ＨＴＴＰリクエストは、ヘッダ情報など付加情報も多いため、ネットワークの負荷の観点からも必要以上に送信することは望ましくない。なお、出願人は、上記背景技術に関する公知技術文献の存在を知らない。
【０００７】
本発明は、上述のような課題に鑑みてなされたものであり、ＨＴＴＰリクエストの頻度を低減させてネットワークのトラフィックを低減させることができる情報提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この課題を解決するために、本発明に係る情報提供システムは、ＨＴＴＰサーバにより情報を提供する情報提供手段と，監視対象となる情報の更新の有無を繰り返し確認する更新確認手段と，一のセッションにおいて、更新検出手段の検出出力に応じて情報の更新があった旨を通知する通知手段を備える情報提供サーバと、情報提供手段が提供する情報を取得する情報取得手段と，通知手段からの通知に応じて情報取得手段に情報の取得を指示する取得指示手段とを有するＨＴＴＰクライアントを備える情報利用端末とを有することを特徴とする。
【０００９】
情報提供サーバが提供する情報には、例えばチャットサービス，ファイル共有サービス，検索サービス，ＤＢアクセスサービス等の出力情報等が含まれる。「一のセッションにおいて」とは、通知手段とＨＴＴＰクライアントの取得指示手段間で１つのセッションが維持され、当該セッションにおいて、複数の通知が送信され得ることを意味している。また、更新確認手段による「繰り返し確認」には、例えば所定時間毎の確認，動作状態に応じて変更可能なタイマーによる不定期な確認等が含まれる。
【００１０】
また、ＨＴＴＰサーバが更新検出手段が監視対象となる情報の更新を検出した際に更新検出手段の差分を検出する差分検出手段を有し、ＨＴＴＰサーバの通知手段が通知中に差分検出手段が検出した差分を示す差分情報を含めて通知し、ＨＴＴＰクライアントの情報取得手段が通知中の差分情報を取得する構成としてもよい。さらに、ＨＴＴＰサーバが、通知手段が通知を送信してからの経過時間を求める計時手段と、経過時間が所定の閾値を超えた場合に通知手段にダミー情報を送信させるダミー情報送信手段とを備える構成としてもよい。
【００１１】
また、本発明に係る情報提供サーバ装置は、端末装置に情報を提供する情報提供手段と、監視対象となる情報の更新の有無を繰り返し確認する更新確認手段と、一のセッションにおいて、更新検出手段の検出出力に応じて情報の更新があった旨を端末装置に通知する通知手段とを備えることを特徴とする。
【００１２】
また、本発明に係る情報利用端末装置は、ＨＴＴＰサーバにより情報を提供する情報提供手段と，監視対象となる情報の更新の有無を繰り返し確認する更新確認手段と，一のセッションにおいて、更新検出手段の検出出力に応じて情報の更新があった旨を通知する通知手段を備える情報提供サーバが提供する情報を利用する情報利用端末であって、情報提供手段が提供する情報を取得する情報取得手段と，通知手段からの通知に応じて情報取得手段に情報の取得を指示する取得指示手段とを有するＨＴＴＰクライアントを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、情報提供サーバ装置の更新確認手段が、監視対象となる情報の更新の有無を繰り返し確認し、通知手段が、一のセッションにおいて、更新検出手段の検出出力に応じて情報の更新があった旨を通知することにより、情報利用端末装置側から一定時間毎にＨＴＴＰリクエストを送信して情報の更新を確認する必要がなく、一のセッションにおいて、通知手段からの通知を監視し、情報の更新があった場合のみ、情報提供手段に情報を要求することができる。これにより、情報利用端末装置側からのＨＴＴＰリクエストの頻度を低減させて、ネットワークのトラフィックを低減させることができる。
【００１４】
また、ＨＴＴＰサーバが更新検出手段が監視対象となる情報の更新を検出した際に更新検出手段の差分を検出する差分検出手段を有し、ＨＴＴＰサーバの通知手段が通知中に差分検出手段が検出した差分を示す差分情報を含めて通知し、ＨＴＴＰクライアントの情報取得手段が通知中の差分情報を取得する構成とすれば、通知に応じてＨＴＴＰクライアント側からＨＴＴＰリクエストを送信して監視対象となる情報を取得する必要がなく、さらなるトラフィックの低減に寄与することができる。
【００１５】
さらに、ＨＴＴＰサーバが、通知手段が通知を送信してからの経過時間を求める計時手段と、経過時間が所定の閾値を超えた場合に通知手段にダミー情報を送信させるダミー情報送信手段とを備える構成とすれば、タイムアウトにより通知手段とＨＴＴＰクライアントの取得指示手段との間のセッションが切断されてしまうことを防止することができる。
【発明を実施するための最良の形態】
【００１６】
本発明は、例えばネットワーク経由で接続されたクライアント端末にチャット，ファイル共有等のサービスを提供する情報提供システムに適用することができる。
【実施例１】
【００１７】
（全体構成）
本発明の実施例１に係る情報提供システムは、例えば図１に示すように、情報の提供を受けるユーザが使用するクライアント端末１０と、このクライアント端末１０とネットワーク２０で接続された情報提供サーバ３０とを備えている。この情報提供サーバ３０は、例えばチャット，ファイル共有等の情報提供サービスを提供する。クライアント端末１０及び情報提供サーバ３０は、例えばＣＰＵ（Central Processing Unit），メモリ等を有するパーソナルコンピュータ等の情報処理装置から構成されており、制御プログラムを実行することにより、この図１に示すように機能する。
【００１８】
クライアント端末１０は、ネットワーク２０経由の通信の制御を行う通信制御部１１と、ＨＴＴＰサービスを利用するＨＴＴＰクライアント１２と、表示画面を有する表示部１４とを備えている。ＨＴＴＰクライアント１２は、ＪａｖａＳｃｒｉｐｔ（登録商標）を実行できるスクリプト実行環境１３を備えており、スクリプト実行環境１３は、情報提供サーバ３０が提供する情報提供サービスの利用に用いるクライアント側の処理を実行する。このスクリプト実行環境１３でスクリプトを実行することにより、チャットアプリケーション１３１，ファイル共有アプリケーション１３２等のＨＴＴＰクライアント１２を利用したＷｅｂアプリケーションを実行することができるようになっている。なお、この実施例では、ＨＴＴＰクライアント１２としてＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ６．０を使用しており、以後も同様である。
【００１９】
情報提供サーバ３０は、ネットワーク２０経由の通信の制御を行う通信制御部３１と、ＨＴＴＰサービスを提供するＨＴＴＰサーバ３２と、スクリプト言語で記述された処理を実行するスクリプト実行環境３３と、ハードディスク装置（ＨＤＤ）３４とを備えている。スクリプト実行環境３３は、例えばＰｅｒｌ，ＪＳＰ（Ｊａｖａ（登録商標）ＳｅｒｖｅｒＰｒｏｇｒａｍ）等の言語で記述された処理を実行するもので、例えばユーザ間でチャットを行うチャットサービス，ユーザ間でファイルを共有するファイル共有サービス，目的のファイルを検索するファイル検索サービス，データベースに対するアクセスを提供するＤＢアクセスサービス等のＨＴＴＰサーバ３２をフロントエンドとして提供する情報提供サービス等の処理を実行する。なお、この実施例では、スクリプト言語実行環境３３としてＰｅｒｌ５．８を使用しており、以後も同様である。
【００２０】
この情報提供システムでは、チャットサービスは、チャットを行うメンバーが共通にアクセス（読み出し、追記等）できるログファイル３４１を介して提供されるようになっている。チャットサービスを利用したいユーザはクライアント端末１０を操作してＨＴＴＰサーバ３２にログインする。具体的には、例えばＨＴＴＰクライアント１２で、チャットサービスに対応するＵＲＬ（例えば“ｈｔｔｐ：／／ｓｒｖ＿ｕｒｌ／ｃｈａｔ．ｈｔｍｌ”）を指定して、ＨＴＴＰサーバ３２にログインを要求し、ＨＴＴＰサーバ３２からの応答に応じてユーザＩＤ，パスワード等の認証情報を送信する。ログイン処理は、例えばスクリプト実行環境３３で実行されるチャットサービス３３１によって処理され、ログインが許可されると、ＨＴＴＰサーバ３２は、チャットの画面を構成する表示データをＨＴＴＰクライアント１２に送信する。これに応じて、ＨＴＴＰクライアント１２は、例えば図２に示すように、表示部１４内のブラウザウィンドウ１４１内にチャットウィンドウ１４２を表示させる。また、チャットサービス３３１は、例えばチャットグループ毎にチャット状態保存ファイル３４３を作成し、当該チャットグループのチャットの状態（各メンバーのログイン状態等）を管理する。
【００２１】
チャットウィンドウ１４２内には、送信する文字を入力する入力欄，チャットを行っている相手のユーザについての情報を表示する領域，チャットのログを表示させるログ表示領域１４２ａ等が設けられている。この図２中では、便宜的に、ログ表示領域１４２ａを表示データ内の対応する定義の記述で図示しているが、実際には、ログ表示領域１４２ａ内には、例えば図３に示すように、ログ内の文字列が表示される。また、図２中では、後述の表示データ（ｃｈａｔ．ｈｔｍｌ）内のｉｆｒａｍｅタグで定義され、後述の更新確認スクリプト３３１ａ（ｃｈａｔｕｐｄａｔｅ．ｃｇｉ）からの通知（上位フレームの更新命令）を受信するフレームを、便宜的に符号１４２ｂとして図示しているが、当該フレームは非表示状態として定義されているため、実際には画面上には表示されない。
【００２２】
図４は、チャットを行うグループ内のユーザからのメッセージが記録されるログファイル３４１の例を示す図である。チャットサービスを利用するユーザが操作するＨＴＴＰクライアント１２を介して入力されたメッセージは、通信制御部１１，ネットワーク２０，通信制御部３１を介してＨＴＴＰサーバ３２に供給され、当該ユーザを示す情報等と共にログファイル３４１に記録される。
【００２３】
図５は、ＨＴＴＰサーバ３２からＨＴＴＰクライアント１２に供給され、チャットウィンドウ１４２を表示させる表示データ１３１ａの例を示す図である。但し、チャットウィンドウ１４２での表示のスタイルを決める部分、送信する文字を入力する入力欄、チャットを行っている相手のユーザについての情報を表示する領域ならびにこれらを取得する手段など、本発明の技術に直接無関係な部分については便宜のために省略または簡易な記載に留めている。以後においても、この点は同様である。Ｓｃｒｉｐｔタグ内で定義されている関数（ｕｐｄａｔｅｆｕｎｃ（ｖ））は、ＨＴＴＰサーバ３２に、ｘｍｌＨｔｔｐＲｅｑｕｅｓｔを発行し、ログファイル３４１からチャット内容を示す文字データを取得し、当該表示データ１３１ａ内のｄｉｖタグ内の領域に出力する関数である。ＨＴＴＰクライアント１２は、この表示データ１３１ａに従ってチャットウィンドウ１４２内にチャットの内容を表示させるようになっている。なお、この図５中には図示していないが、チャットアプリケーション１３１では、例えばボタンの指示あるいはメニューの選択等に応じたチャット終了処理が定義されており、ユーザからの指示等があると、チャット終了の通知をＨＴＴＰサーバ３２側に送信し、チャットウィンドウ１４２を閉じるようになっている。
【００２４】
図６は、ログファイル３４１の更新を監視する処理等を定義した更新確認スクリプト３３１ａの例を示している。この例では、ｐｅｒｌ言語によって処理を定義した例を示している。ＨＴＴＰクライアント１２がこの更新確認スクリプト３３１ａのＵＲＬに対して要求を送信すると、この更新確認スクリプト３３１ａの処理が開始され、スクリプト実行環境３３は、図６中の２行目と３行目の定義に従って、クライアントに送信する所定のヘッダ情報等をバッファに出力させる。続けて、スクリプト実行環境３３は、８行目の＄｜＝１の命令に応じて、このヘッダ情報等をＨＴＴＰクライアント１２宛に送信させる。なお、この命令（＄｜＝１）は、ｐｅｒｌ言語において、バッファに保持されているデータ（それまでに実行された行のｐｒｉｎｔ文でＨＴＴＰサーバ３２のバッファに保持された内容）を送信させるｆｌｕｓｈ命令である。また、この実施例では、８行目のｆｌｕｓｈ命令を確実に実行させるためのダミーデータ（文字列“０１２３・・・”）を出力させるｐｒｉｎｔ文を追加している。この後、終了条件（例えばＨＴＴＰクライアント１２からチャット終了の通知により、チャット状態保存ファイル３４３（ｃｏｎｔｉｎｕｅ．ｔｘｔ）の内容が変更になる等、スクリプト実行環境３３内のフラグ＄ｆｉｎの値が終了を示す値［０などの論理偽となる値］となる条件）を満たすまで、ｗｈｉｌｅ命令中の処理を実行し、ログファイル３４１の更新を一定時間毎に監視する（ｗｈｉｌｅループ中で、関数（サブプロシージャ）＆ｇｅｔｃｈａｔｌｉｎｅｓの値を変数＄ａｆに代入し、初期値＄ｂｆと比較して更新の有無を判断する）。
【００２５】
チャットに参加しているユーザによる書き込み等により、ログファイル３４１が更新されると、ログファイル３４１の行数が増加する。更新の監視は、例えば関数＆ｇｅｔｃｈａｔｌｉｎｅｓによってログファイル３４１の行数を取得し、前回の確認時の行数（＄ｂｆ）と比較することによって行うことができる。この結果、ログファイル３４１が更新されていれば、スクリプト実行環境３３はｉｆ文中のｐｒｉｎｔ文を実行した後ｆｌｕｓｈ命令を実行し、更新されていなければ当該ｐｒｉｎｔ文等を実行しない。
【００２６】
ｉｆ文中のｐｒｉｎｔ文は、当該ｉｆ文中で規定された命令（当該更新確認スクリプト３３１ａを要求したフレームの上位のフレームの更新を指示する命令［ｐａｒｅｎｔ．ｕｐｄａｔｅｆｕｎｃ］）をバッファに出力させ、スクリプト実行環境３３は、続くｆｌｕｓｈ文（＄｜＝１）に応じてバッファの内容をＨＴＴＰクライアント１２に送信させる。すなわち、この更新確認スクリプト３３１ａは、ログファイル３４１が更新される都度、上位のフレーム（当該“ｃｈａｔｕｐｄａｔｅ．ｃｇｉ”を要求した“ｉｎｄｅｘ．ｈｔｍｌ”）の更新を指示する命令をＨＴＴＰクライアント１２に送信して表示データ１３３ａの更新を指示するようになっている。
【００２７】
（チャットサービス動作）
図７は、チャットサービスにおけるログの更新処理を示すシーケンス図である。
ユーザがチャットサービスの利用を指示すると、ＨＴＴＰクライアント１２は、ＨＴＴＰサーバ３２にチャットウィンドウ１４２の表示データ１３１ａ（ｃｈａｔ．ｈｔｍｌ）を要求する（Ｓ１０１）。ＨＴＴＰサーバ３２は、これに応じて上述の図５に示す表示データ１３１ａをＨＴＴＰクライアント１２に供給する（Ｓ１０２）。表示データ１３１ａが供給されると、ＨＴＴＰクライアント１２は、上述のように表示データ１３１ａ内のｉｆｒａｍｅタグ内で定義された更新確認スクリプト３３１ａの要求に従って、更新確認スクリプト３３１ａ（ｃｈａｔｕｐｄａｔｅ．ｃｇｉ）を要求する（Ｓ１０５）。
【００２８】
更新確認スクリプト３３１ａが要求されると、スクリプト実行環境３３は、当該更新確認スクリプト３３１ａの実行を開始する。更新確認スクリプト３３１ａは、まず、ヘッダ情報等を送信し（Ｓ１０６）、この後、所定時間毎（上述の図６中のｗｈｉｌｅループの実行毎）にログファイル３４１の更新を監視する（Ｓ２０１，Ｓ２０２，…，Ｓ２０３）。ログファイル３４１の更新を検出すると（Ｓ２０２）、更新確認スクリプト３３１ａは、その旨をＨＴＴＰクライアント１２宛に通知する（Ｓ１０７）。
【００２９】
この通知には、上述のように、当該出力を要求したフレームの上位のフレーム（すなわち表示データ１３１ａによるフレーム）の更新を指示するスクリプト（ｐａｒｅｎｔ．ｕｐｄａｔｅｆｕｎｃ）が含まれているため、これを受信すると、ＨＴＴＰクライアント１２は、上述の関数ｕｐｄａｔｅｆｕｎｃ（ｖ）を実行させる。これにより、再度、ログファイル３４１が要求され（Ｓ１０８）、これに応じて供給されたログファイル３４１（Ｓ１０９）に応じた文字が、例えば図８の１４２ａに示すように、表示データ１３１ａ（ｃｈａｔ．ｈｔｍｌ）内のｄｉｖタグ内に挿入される。これにより、新たなチャットの内容が、チャットウィンドウ１４２内のログ表示領域１４２ａに表示される。
【００３０】
このような動作を繰り返すことにより、ログファイル３４１が更新されたときのみログファイルを要求するＨＴＴＰリクエストを送信させて、表示データ１３１ａを更新させて、チャットの内容を表示させることができる。
【００３１】
なお、チャットサービス３３１は、チャット状態保存ファイル３４３（ｃｏｎｔｉｎｕｅ．ｔｘｔ）によりチャットグループ毎の状態を管理しており、全てのユーザがログアウトする等チャットが終了すると、チャット状態保存ファイル３４３の値を０とする。上述の図６に示す更新確認スクリプト３３１ａは、関数＆ｃｏｎｔにより、チャットの状態を監視しており、チャット状態保存ファイル３４３の値が０となると、この関数＆ｃｏｎｔの値が代入された変数＄ｆｉｎの値が論理偽を示す“０”となり、上述のｗｈｉｌｅループの処理が終了され、更新確認スクリプト３３１ａは、最後に、＜／ｂｏｄｙ＞＜／ｈｔｍｌ＞を出力して（Ｓ１１０）、セッションを終了させる。このように、更新確認スクリプト３３１ａからの通知を受信するフレーム（上述の図５中の＜ｉｆｒａｍｅ＞タグで定義されたフレーム）の受信が終了すると、ＨＴＴＰクライアント１２は、表示データ１３１ａ中の＜ｂｏｄｙ＞タグ内の記述（＜ｂｏｄｙ  ｏｎＬｏａｄ＝“ｄｏｏｎＬｏａｄ（）”＞）に従って関数ｄｏｏｎＬｏａｄ（）を実行する。なお、ｏｎＬｏａｄは、当該＜ｂｏｄｙ＞タグ内で定義された全ての表示が終了した際に実行される処理を示している。この関数ｄｏｏｎＬｏａｄ（）の実行により、ログ表示領域１４２ａ内にチャットが終了した旨を示す文字「チャットを終了しました」が表示される。
【００３２】
（効果）
ＨＴＴＰクライアントを用いた従来のチャットシステムでは、所定の間隔でＨＴＴＰリクエストを送信し、チャットの内容を反映させた表示を行うようになっているため、ＨＴＴＰリクエストの頻度が高くなり、トラフィックが増加する問題があった。これに対し、この情報提供システムでは、以上説明したように、情報提供サーバ３０側で実行される更新確認スクリプト（ｃｈａｔｕｐｄａｔｅ．ｃｇｉ）３３１ａがログファイル３４１の更新を監視しており、更新があるときのみ、ＨＴＴＰサーバ３２にログファイルを要求して、ログの表示を更新させることができる。これにより、ＨＴＴＰリクエストの頻度を低減させてトラフィックを低減させることができる。
【００３３】
また、この情報提供システムでは、サーバ側で実行されている更新確認スクリプト３３１ａがｗｈｉｌｅループが繰り返される間、短い間隔で繰り返しログファイル３４１の更新を確認しているため、ログファイル３４１の更新を確認した後、速やかにＨＴＴＰクライアント１２側に通知を送ることができるため、チャットサービス３３１ａが十分短い間隔でログファイル３４１の更新を確認していれば、ログファイル３４１の更新に対するチャットアプリケーション１３１におけるログの表示の更新の応答性を向上させることができる。
【００３４】
また、この情報提供システムでは、チャットが終了した際に、サーバ側から＜ｉｆｒａｍｅ＞タグで定義されたフレームの終端を示す情報＜／ｂｏｄｙ＞＜／ｈｔｍｌ＞を送信することにより、表示データ１３１ａの＜ｂｏｄｙ＞タグ内のｏｎＬｏａｄで定義された処理、例えば上述の図５内の関数ｄｏｏｎＬｏａｄ（）で定義されたチャットの終了を示す表示を実行させることができる。
【００３５】
（変形例）
なお、上述の実施例では、図５に示すように、予めｉｆｒａｍｅタグによるフレームの定義を表示データ１３１ａ内で定義していたが、最初のｕｐｄａｔｅｆｕｎｃ関数が実行された後に、動的にｉｆｒａｍｅタグによるフレームの定義が追加されるよう処理を定義しておいてもよい。これにより、チャットアプリケーション１３１の起動後、最新のチャットのログを取得した後、更新確認スクリプト３３１ａによるチャットの更新確認を開始させることができるようになる。つまり、より詳しく説明すれば、チャットのメイン画面（例えば上述の“ｈｔｔｐ：／／ｓｒｖ＿ｕｒｌ／ｃｈａｔ．ｈｔｍｌ”に対応）の表示に何らかの事情で時間がかかる場合がある。このため、ｉｆｒａｍｅの定義が静的である場合には、メイン画面の表示途中に複数回のリクエストをＨＴＴＰサーバ３２に送ることになる。これに対し、ｉｆｒａｍｅを動的に生成することにすれば、一度メイン画面の表示を完了してから一度のリクエストでそれまでのログを一気に取得することができ、ＨＴＴＰサーバ３２との通信回数を減少させることができ、通信の効率を向上させることができる。
【００３６】
また、上述の実施例では、ＨＴＴＰクライアント１２からの更新確認スクリプト３３１ａに対するリクエストは１回だけだったが、通信エラーなどが生じた場合は、再度リクエストを発行するようにしてもよい。
【００３７】
（サーバ側は一定以上間隔をあけず情報発信）
また、上述の実施例では、更新があった場合に通知を送信するようにしていたが、更新の有無に関わらず、所定期間毎に、ダミー情報を送信するようにしてもよい。この場合、ＨＴＴＰサーバ３２側では、上述の図６に示す処理の代わりに、例えば図９に示すように、ｗｈｉｌｅループ中で、ログファイル３４１が変更されていない場合でも “ ”（半角スペース）等のダミー情報をバッファに出力し、ｆｌｕｓｈ命令によりＨＴＴＰクライアント１２側に送信するようにする。
【００３８】
長時間、チャットの更新がない場合には、上述の図６に示す処理だと、ＨＴＴＰクライアント１２に対する送信が長時間行われず、ＨＴＴＰクライアント１２側でタイムアウトになることも考えられる。しかしながら、この図９に示す処理では、例えば図１０に示すように、ログ確認処理毎に、ＨＴＴＰクライアント１２に対して情報が送信されるため、例えばチャットの更新がない場合等においても、ダミー情報を送信し（Ｓ４０５，Ｓ４０７）、ＨＴＴＰクライアント１２側でタイムアウトになることを防止することができる。
【実施例２】
【００３９】
上述の実施例１では、ＨＴＴＰサーバ３２側で、更新確認スクリプト３３１ａが、ログファイル３４１の更新を監視し、更新があった場合にその旨を通知するだけであったが、例えば図１１及び図１２に示すように、更新があった際に、ログファイル３４１の差分をＨＴＴＰクライアント１２側に送信するようにしてもよい。
【００４０】
チャットの開始が指示されると、チャットアプリケーション１３１は、上述の図１１に示す表示データ１３１ａを所得し、ｉｆｒａｍｅタグ内の定義に従って更新確認スクリプト３３１ａを要求する。これに応じて、更新確認スクリプト３３１ａは、図１２の処理を開始し、まず、２行目から８行目のｐｒｉｎｔ文を実行し、９行目のｆｌｕｓｈ文でそれまでのｐｒｉｎｔ文の実行によるバッファの内容を送信させる。８行目のｐｒｉｎｔ文では、ｇｅｔＬｏｇ（）関数の実行を指示するスクリプトが出力されており、このようなスクリプトを含む応答を受信すると、チャットアプリケーション１３１は、表示データ１３１ａ中の関数ｇｅｔＬｏｇ（）の定義に従って、これまでのログを取得し、改行コードを変換して当該表示データ１３１ａのログ表示領域１４２ａ内に挿入する。
【００４１】
この後、更新確認スクリプト３３１ａは、図１３に示すように、ログファイル３４１の更新を監視するが、更新があった際に、更新前後のログファイルの差分を求めて所定の変数（＄ｃｈａｔｕｐｄａｔｅ）の値とし、表示データ１３１ａ内のｉｆｒａｍｅに対する応答としてＨＴＴＰクライアント１２側に送信する（Ｓ３０４）。
【００４２】
チャットアプリケーション１３１は、ｃｈａｔｕｐｄａｔｅ．ｃｇｉからの応答があると、当該応答内のｐａｒｅｎｔ．ｕｐｄａｔｅｆｕｎｃ命令に応じて、当該ｐａｒｅｎｔ．ｕｐｄａｔｅｆｕｎｃ命令中の変数＄ｃｈａｔｕｐｄａｔｅを引数（ｖ）としてｕｐｄａｔｅｆｕｎｃ関数を実行させる。ｕｐｄａｔｅｆｕｎｃ関数の実行により、チャットアプリケーション１３１は、引数ｖで指定された文字を、表示データ１３１ａ内のｄｉｖタグで定義されたログ表示領域に追記し、ログ表示領域１４２ａの表示を更新させる。これにより、更新されたログの内容がログ表示領域１４２ａ内に表示される。チャットが終了すると、更新確認スクリプト３３１ａは、上述の実施例１と同様に、終了情報（＜／ｂｏｄｙ＞＜／ｈｔｍｌ＞）を出力して（Ｓ３０５）、セッションを終了させる。これに応じて、チャットアプリケーション１３１は、ログ表示領域１４２ａ内にチャットが終了した旨を示す文字「チャットを終了しました」を表示させる。
【００４３】
上述の実施例１では、更新確認スクリプト３３１ａからの通知に応じて、チャットアプリケーション１３１側からログファイル３４１を要求する必要があったが、この実施例２では、チャットアプリケーション１３１側からは、最初に更新確認スクリプト３３１ａを要求するだけで、ログファイル３４１の差分を順次取得することができる。これにより、さらにトラフィックを低減させることができる。
【００４４】
なお、本発明の技術的思想は、上述の各実施形態に限定されない。例えば上述の説明では、チャットサービスを例に説明したが、ファイル共有サービス３３２，検索サービス３３３，ＤＢアクセスサービス３３４等のサービスを利用する際にも、チャットアプリケーション１３１と同様に、ＨＴＴＰサーバ３２側においてデータの更新等を監視し、更新等があった場合に、ＨＴＴＰクライアント１２側に通知し、スクリプト実行環境１３がサービスの実行結果を取得することにより、上述と同様の作用効果を奏することができる。また、上述の各実施形態では、更新確認スクリプト３３１ａのｗｈｉｌｅループの実行毎にログファイル３４１の更新を確認する例について示したが、スクリプト実行環境３３において、更新確認スクリプト３３１ａの中の＄ｓｌｅｅｐ命令の引数（図６，図９，図１２中の値“１”）を変数として動的に変更する処理を追加し、例えばログファイル３４１の更新頻度が低いときには＄ｓｌｅｅｐ命令で処理を止める時間を長くするといった調整ができるようする等の変形例も考えられる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例１に係る情報提供システムの構成例を示すブロック図である。
【図２】前記情報提供システムのクライアント端末の表示部の表示例を示す図である。
【図３】前記表示部に表示される表示内容の例を示す図である。
【図４】前記情報提供システムの情報提供サーバのＨＤＤに保持されるログファイルの例を示す図である。
【図５】チャットアプリケーションに提供される表示データの例を示す図である。
【図６】ＨＴＴＰサーバ側の処理に用いられるサーバ側スクリプトの例を示す図である。
【図７】チャットサービスの提供における通信の例を示すシーケンス図である。
【図８】ログファイルの内容を追加した表示データの例を示す図である。
【図９】変形例におけるサーバ側スクリプトの例を示す図である。
【図１０】変形例における通信の例を示すシーケンス図である。
【図１１】本発明の実施例２に係る情報提供システムにおける表示データの構成例を示す図である。
【図１２】ＨＴＴＰサーバ側の処理に用いられるサーバ側スクリプトの例を示す図である。
【図１３】チャットサービスの提供における通信の例を示すシーケンス図である。
【符号の説明】
【００４６】
１０…クライアント端末、１２…ＨＴＴＰクライアント、１３…スクリプト実行環境、１３１…チャットアプリケーション、２０…ネットワーク、３０…情報提供サーバ、３３…スクリプト実行環境、３３１…チャットサービス、３３１ａ…更新確認スクリプト、３４１…ログファイル。
【図１】
2008176483.tif 000003
【図２】
2008176483.tif 000004
【図３】
2008176483.tif 000005
【図４】
2008176483.tif 000006
【図５】
2008176483.tif 000007
【図６】
2008176483.tif 000008
【図７】
2008176483.tif 000009
【図８】
2008176483.tif 000010
【図９】
2008176483.tif 000011
【図１０】
2008176483.tif 000012
【図１１】
2008176483.tif 000013
【図１２】
2008176483.tif 000014
【図１３】
2008176483.tif 000015