(57)【要約】  【課題】  ウェブ・ページ内に表示される情報を適時更新するための機構を提供する。  【解決手段】  ウェブ・ページに、リフレッシュ制御ヘルパーと通信を行う機能を追加する。ウェブ・ページは、セッション識別子に関連付けられている。ウェブ・ページに影響を与える情報更新が行われた場合、更新通知をセッション識別子に関連付ける。定期的に、ウェブ・ページにおける機能は、セッション識別子をリフレッシュ制御ヘルパーに送信する。リフレッシュ制御ヘルパーは、リフレッシュ・コントローラを呼び出して、セッション識別子を渡す。リフレッシュ・コントローラは、データ・ストアを調べて、セッション識別子に関連付けられた更新通知が受信されたか否かを判定する。ページに更新が利用可能である場合、好ましくは、リフレッシュ・コントローラは、リフレッシュ制御ヘルパーに、新しいデータが利用可能であることを通知し、データ・ストアから、セッション識別子のための更新通知を除去する。次いで、リフレッシュ制御ヘルパーは、ウェブ・ページにおける機能に、新しいデータが利用可能であることを通知し、この機能はページ・リロードを要求する。【選択図】  図４
2007526569.tif 000002
【特許請求の範囲】
【請求項１】
ウェブ・ページの更新のための方法であって、
ウェブ・ページを要求するクライアントから前記ウェブ・ページに関連付けられているセッション識別子を受信するステップと、
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定するステップと、
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知を前記クライアントに送信するステップと、
を含み、前記クライアントが前記通知に応答してページ・リフレッシュを要求する、
方法。
【請求項２】
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在しないという判定に応答して、更新が存在しないという通知を前記クライアントに送信するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記ウェブ・ページが、リフレッシュ制御ヘルパーを呼び出すリフレッシュ機能を含む、請求項２に記載の方法。
【請求項４】
前記リフレッシュ機能が、タイマの満了に応答して前記リフレッシュ制御ヘルパーを呼び出す、請求項３に記載の方法。
【請求項５】
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定するステップが、前記機能が前記リフレッシュ制御ヘルパーを呼び出すことに応答して実行される、請求項３または４に記載の方法。
【請求項６】
バック・エンド・プロセスから更新イベントを受信するステップと、
前記更新イベントをデータ・ストアに格納するステップと、
を更に含む、請求項１乃至５のいずれかに記載の方法。
【請求項７】
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定するステップが、前記データ・ストアにおける少なくとも１つの更新イベントが前記セッション識別子に関連付けられた前記ウェブ・ページに対応するか否かを判定することを含む、請求項６に記載の方法。    
【請求項８】
前記ウェブ・ページが１組のポートレットを含み、前記データ・ストアにおける少なくとも１つの更新イベントが前記セッション識別子に対応するか否かを判定するステップが、前記データ・ストアにおける少なくとも１つの更新イベントが前記１組のポートレット内の１つのポートレットに対応するか否かを判定することを含む、請求項７に記載の方法。
【請求項９】
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在することの判定に応答して、前記データ・ストアから前記セッション識別子に対応するいかなる更新イベントも削除するステップを更に含む、請求項７または８に記載の方法。
【請求項１０】
前記ウェブ・ページが１組のポートレットを含み、前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定するステップが、前記１組のポートレット内の１つのポートレットに対する更新が存在するか否かを判定することを含む、請求項１乃至９のいずれかに記載の方法。
【請求項１１】
ウェブ・ページの適時更新のための装置であって、
クライアントからセッション識別子を受信し、前記クライアントが要求したウェブ・ページを前記セッション識別子に関連付ける受信コンポーネントと、
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定し、前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知を前記クライアントに送信するリフレッシュ・コントローラと、
を含み、前記クライアントが前記通知に応答してページ・リフレッシュを要求する、
装置。
【請求項１２】
前記リフレッシュ・コントローラが、前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在しないという判定に応答して、更新が存在しないという通知を前記クライアントに送信する、請求項１１に記載の装置。
【請求項１３】
リフレッシュ制御ヘルパーを更に含み、前記受信コンポーネントが前記ウェブ・ページ内においてリフレッシュ制御ヘルパーを呼び出すリフレッシュ機能を含み、前記リフレッシュ機能が前記リフレッシュ制御ヘルパーを呼び出すことに応答して前記リフレッシュ制御ヘルパーが前記リフレッシュ・コントローラを呼び出す、請求項１１または１２に記載の装置。
【請求項１４】
前記リフレッシュ機能が、タイマの満了に応答して前記リフレッシュ制御ヘルパーを呼び出す、請求項１３に記載の装置。
【請求項１５】
前記リフレッシュ制御ヘルパーが前記リフレッシュ・コントローラを呼び出すことに応答して、前記リフレッシュ・コントローラが、前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定する、請求項１３または１４に記載の装置。
【請求項１６】
前記リフレッシュ・コントローラに更新イベントを送信するバック・エンド・プロセスと、
データ・ストアと、
を更に含み、前記リフレッシュ・コントローラが前記更新イベントを前記データ・ストアに格納する、請求項１１乃至１５のいずれかに記載の装置。
【請求項１７】
前記リフレッシュ・コントローラが、前記データ・ストアにおける少なくとも１つの更新イベントが前記ウェブ・ページに対応するか否かを判定することによって、前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定する、請求項１６に記載の装置。    
【請求項１８】
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在することの判定に応答して、前記リフレッシュ・コントローラが、前記データ・ストアから前記セッション識別子に対応するいかなる更新イベントも削除する、請求項１７に記載の装置。
【請求項１９】
前記ウェブ・ページが１組のポートレットを含み、前記リフレッシュ・コントローラが、前記１組のポートレット内の１つのポートレットに対する更新が存在するか否かを判定することによって、前記セッション識別子に対する更新が存在するか否かを判定する、請求項１１から１８のいずれかに記載の装置。
【請求項２０】
ウェブ・ページの更新のための、コンピュータ読み取り可能媒体におけるコンピュータ・プログラム製品であって、
ウェブ・ページを要求するクライアントから前記ウェブ・ページに関連付けられているセッション識別子を受信するための命令と、
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するか否かを判定するための命令と、
前記セッション識別子に関連付けられた前記ウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知を前記クライアントに送信するための命令と、
含み、前記クライアントが前記通知に応答してページ・リフレッシュを要求する、
コンピュータ・プログラム。
【請求項２１】
コンピュータ上で動作する、請求項１乃至１０のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【請求項２２】
クライアントがウェブ・ページの更新を要求するための方法であって、
前記クライアントがウェブ・ページを要求した際に前記ウェブ・ページに関連付けられたウェブ・ページ・セッションＩＤをサーバに送信するステップと、
更新が存在するか否かについての通知を前記サーバから受信するステップと、
更新が存在することを示す通知に応答して、ページ・リフレッシュを要求するステップと、
を含む、方法。
【請求項２３】
クライアントがウェブ・ページの更新を要求するための装置であって、
前記クライアントがウェブ・ページを要求した際に前記ウェブ・ページに関連付けられたウェブ・ページ・セッションＩＤをサーバに送信するための送信コンポーネントと、
更新が存在するか否かについての通知を前記サーバから受信するための受信コンポーネントと、
更新が存在することを示す通知に応答して、ページ・リフレッシュを要求するためのリフレッシュ要求コンポーネントと、
を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理に関し、具体的には、ウェブ文書に表示された情報の更新に関する。
【背景技術】
【０００２】
ウェブ関連アプリケーションの使用は、業務用および日常の個人関連のタスクにおいて、社会にますます普及している。例えば、多くの個人のウェブ・ユーザは、「ポータル」ページからウェブ・セッションを開始する。ポータルは、ウェブの「スーパーサイト」であり、例えば、ウェブ・サーチ、ニュース、個人別電話帳および職業別電話帳、電子メール、ディスカッション・グループ、オンライン・ショッピング、および他のサイトへのリンクを含む様々なサービスを提供する。この言葉は、最初は汎用サイトを示すために用いられたが、「ポータル」という言葉は、複数のサービスを提供する他のサイト、特に動的コンテンツを提供するものを示すためにも用いられる場合がある。
【０００３】
ポータル・サーバは、ポータル・サービスを公のウェブ・サイトまたは内部のイントラネットに展開するネットワーク・サーバである。ポータル・サーバは、ウェブ・ページを介してポータル・サービスを展開し、配信し、維持するために用いられるアプリケーションを示す場合もある。ポータル・サーバは、通常、ユーザ認証、アイデンティティ管理、サーチ機構、およびコンテンツ集約機能を含む様々なツールおよび機能を含む。また、ユーザ・パーソナライゼーションも、１つの機能であり、これによって人々は自分のウェブ・ページをカスタマイズすることができる。ユーザ・パーソナライゼーションは、「ポートレット」を用いて実現することができる。ポートレットは、ポータル・サーバがポータル・ページを構築するために用いることができる小さいウインドウまたは機能である。ポートレット技術によって、ポータル・ページは、開発チームによって内部で、またはエンド・ユーザによって、より迅速にカスタマイズすることができる。ポートレット技術は、ポータル・サーバの付加物として、または、エンタープライズ・リソース・プランニング（ＥＲＰ）・アプリケーションに対するオプションのインタフェースとして用いることができる。また、カスタマイズの程度は様々である。典型的な例として、ユーザは、ポータル・ページをカスタマイズして、サーチ・エンジン・ポートレット、株価ポートレット、天気ポートレット、およびスポーツ・スコア・ポートレットを含ませることができる。しかしながら、もっと多くの特定用途向けの例があり得る。例えば、ポータル・ページは、ネットワーク・リソースのための監視サービスを提供することができ、この場合、各ポートレットが特定のモニタを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ユーザがブラウザを介してポータル・ページを要求すると、ポータル・サーバは、ポータル・ページを構成する様々なポートレットを用いてページを動的に発生させる。ポータル・ページは、株式相場情報、天気情報、リソース監視情報等の、時間に依存するコンテンツを含む場合がある。従って、ポータル・ページは、通常、ページに対するリフレッシュ要求を定期的に送信する、例えばＪａｖａＳｃｒｉｐｔ機能等を含む。しかしながら、この機能は、ページに対して更新情報が入手可能であろうとなかろうと、リフレッシュ要求を送信する。この結果、多くの不当なリフレッシュ動作が行われることになり、これによって、追加のネットワーク・トラヒックが生じ、ポータル・サーバは同じポータル・ページを不必要に繰り返し再生成することになる。
【課題を解決するための手段】
【０００５】
本発明は、従来技術の欠点を認識し、ウェブ・ページ内に表示される情報を適時更新するための機構を提供する。
【０００６】
第１の態様によれば、ウェブ・ページの更新のための方法が提供される。この方法は、ウェブ・ページを要求するクライアントからウェブ・ページに関連付けられているセッション識別子を受信するステップと、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定するステップと、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知をクライアントに送信するステップとを含み、クライアントが通知に応答してページ・リフレッシュを要求する。好ましくは、セッション識別子に関連付けられたウェブ・ページに対する更新が存在しないという判定に応答して、更新が存在しないという通知をクライアントに送信する。
【０００７】
好適な実施形態では、ウェブ・ページは、リフレッシュ制御ヘルパーを呼び出すリフレッシュ機能を含む。
【０００８】
好適な実施形態では、リフレッシュ機能は、タイマの満了に応答してリフレッシュ制御ヘルパーを呼び出す。
【０００９】
好適な実施形態では、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定するステップは、機能がリフレッシュ制御ヘルパーを呼び出すことに応答して実行される。
【００１０】
好適な実施形態では、バック・エンド・プロセスから更新イベントを受信し、更新イベントをデータ・ストアに格納する。
【００１１】
好ましくは、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定するステップは、データ・ストアにおける少なくとも１つの更新イベントがセッション識別子に関連付けられたウェブ・ページに対応するか否かを判定することを含む。    
【００１２】
一実施形態では、ウェブ・ページが１組のポートレットを含み、データ・ストアにおける少なくとも１つの更新イベントがセッション識別子に対応するか否かを判定するステップは、データ・ストアにおける少なくとも１つの更新イベントが１組のポートレット内の１つのポートレットに対応するか否かを判定することを含む。
【００１３】
一実施形態では、セッション識別子に関連付けられたウェブ・ページに対する更新が存在することの判定に応答して、データ・ストアからセッション識別子に対応するいかなる更新イベントも削除する。
【００１４】
一実施形態では、ウェブ・ページが１組のポートレットを含み、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定するステップが、１組のポートレット内の１つのポートレットに対する更新が存在するか否かを判定することを含む。
【００１５】
好ましくは、ポータル内に表示される情報を適時更新するための方法、装置、およびプログラムを提供する。
【００１６】
好ましくは、ウェブ・ページに、リフレッシュ制御ヘルパーと通信を行う機能を追加する。ウェブ・ページは、セッション識別子に関連付けられていると好ましい。情報更新が行われると、ウェブ・ページに提示されている情報が変化する場合がある。ウェブ・ページに影響を与える情報更新が行われた場合、更新通知をセッション識別子に関連付けることが好ましい。（好適な実施形態に従って）定期的に、ウェブ・ページにおける機能は、セッション識別子をリフレッシュ制御ヘルパーに送信する。リフレッシュ制御ヘルパーは、好ましくは、リフレッシュ・コントローラを呼び出して、セッション識別子を渡す。好ましくは、リフレッシュ・コントローラは、データ・ストアを調べて、セッション識別子に関連付けられた更新通知が受信されたか否かを判定する。セッション識別子のために更新が利用可能でない場合、リフレッシュ・コントローラは、リフレッシュ制御ヘルパーに、ウェブ・ページについて新しいデータは入手可能でないことを通知すると好ましい。ページに更新が利用可能である場合、好ましくは、リフレッシュ・コントローラは、リフレッシュ制御ヘルパーに、新しいデータが利用可能であることを通知し、データ・ストアから、セッション識別子についてのいかなる更新通知も除去する。次いで、リフレッシュ制御ヘルパーは、ウェブ・ページにおける機能に、新しいデータが利用可能であることを通知し、この機能がページ・リロードを要求することが好ましい。
【００１７】
第２の態様によれば、ウェブ・ページの適時更新のための装置が提供される。この装置は、クライアントからセッション識別子を受信し、クライアントが要求したウェブ・ページをセッション識別子に関連付ける受信コンポーネント（例えば制御ポートレット）と、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定し、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知を前記クライアントに送信するリフレッシュ・コントローラと、を含み、クライアントがこの通知に応答してページ・リフレッシュを要求する。
【００１８】
好ましくは、リフレッシュ・コントローラが、セッション識別子に関連付けられたウェブ・ページに対する更新が存在しないという判定に応答して、更新が存在しないという通知をクライアントに送信する。
【００１９】
好適な実施形態では、この装置は、リフレッシュ制御ヘルパーを更に含む。この実施形態において、受信コンポーネント（例えば制御ポートレット）がウェブ・ページ内においてリフレッシュ制御ヘルパーを呼び出すリフレッシュ機能を含み、リフレッシュ機能がリフレッシュ制御ヘルパーを呼び出すことに応答してリフレッシュ制御ヘルパーがリフレッシュ・コントローラを呼び出す。
【００２０】
好適な実施形態では、リフレッシュ機能は、タイマの満了に応答してリフレッシュ制御ヘルパーを呼び出す。
【００２１】
好適な実施形態では、リフレッシュ制御ヘルパーがリフレッシュ・コントローラを呼び出すことに応答して、リフレッシュ・コントローラが、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定する。
【００２２】
好適な実施形態では、この装置は、リフレッシュ・コントローラに更新イベントを送信するバック・エンド・プロセスと、データ・ストアと、を更に含み、リフレッシュ・コントローラが更新イベントをデータ・ストアに格納する。
【００２３】
好適な実施形態では、リフレッシュ・コントローラは、データ・ストアにおける少なくとも１つの更新イベントがウェブ・ページに対応するか否かを判定することによって、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定する。    
【００２４】
好適な実施形態では、セッション識別子に関連付けられたウェブ・ページに対する更新が存在することの判定に応答して、リフレッシュ・コントローラが、データ・ストアからセッション識別子に対応するいかなる更新イベントも削除する。
【００２５】
好適な実施形態では、ウェブ・ページは１組のポートレットを含み、リフレッシュ・コントローラは、１組のポートレット内の１つのポートレットに対する更新が存在するか否かを判定することによって、セッション識別子に対する更新が存在するか否かを判定する。
【００２６】
第３の態様によれば、ウェブ・ページの更新のための、コンピュータ読み取り可能媒体におけるコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、ウェブ・ページを要求するクライアントからウェブ・ページに関連付けられているセッション識別子を受信するための命令と、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するか否かを判定するための命令と、セッション識別子に関連付けられたウェブ・ページに対する更新が存在するという判定に応答して、更新が存在するという通知をクライアントに送信するための命令とを含み、クライアントがこの通知に応答してページ・リフレッシュを要求する。
【００２７】
第４の態様によれば、コンピュータ上で実行されると、第５の態様に従った方法の第１の態様に従った方法を実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラムが提供される。
【００２８】
第５の態様によれば、クライアントがウェブ・ページの更新を要求するための方法が提供される。この方法は、クライアントがウェブ・ページを要求した際そのウェブ・ページに関連付けられたウェブ・ページ・セッションＩＤをサーバに送信するステップと、更新が存在するか否かについての通知をサーバから受信するステップと、更新が存在することを示す通知に応答して、ページ・リフレッシュを要求するステップと、を含む。
【００２９】
第６の態様によれば、クライアントがウェブ・ページの更新を要求するための装置が提供される。この装置は、クライアントがウェブ・ページを要求した際そのウェブ・ページに関連付けられたウェブ・ページ・セッションＩＤをサーバに送信するための送信コンポーネントと、更新が存在するか否かについての通知をサーバから受信するための受信コンポーネントと、更新が存在することを示す通知に応答して、ページ・リフレッシュを要求するためのリフレッシュ要求コンポーネントと、を含む。
【発明を実施するための最良の形態】
【００３０】
これより、添付図面を参照して、一例としてのみ、本発明の好適な実施形態を説明する。
【００３１】
データ処理デバイスは、スタンドアロンのコンピューティング・デバイスとすることができ、または、分散型データ処理システムとして、多数のコンピューティング・デバイスを利用して好適な実施形態に従った本発明の様々な態様を実行することができる。従って、以下の図１から図３は、好適な実施形態に従って本発明を実施することができるデータ処理環境の例示的な図として提供する。図１から図３は、例示に過ぎず、本発明を実施可能である環境に関して何らかの限定を明示することも暗示することも意図しないことは認められよう。本発明の精神および範囲から逸脱することなく、図示した環境に対して多くの変更を行うことができる。ここで図面を参照すると、図１は、本発明の好適な実施形態を実装可能なデータ処理システムのネットワークの図を示す。ネットワーク・データ処理システム１００は、本発明の好適な実施形態を実装可能であるコンピュータのネットワークである。ネットワーク・データ処理システム１００は、ネットワーク１０２を含む。これは、ネットワーク・データ処理システム１００内に接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために用いられる媒体である。ネットワーク１０２は、有線、無線通信リンク、または光ファイバ・ケーブル等の接続を含むことができる。
【００３２】
図示した例において、ネットワーク１０２に、ストレージ・ユニット１０６と共に、サーバ１０４が接続されている。更に、ネットワーク１０２には、クライアント１０８、１１０、および１１２が接続されている。これらのクライアント１０８、１１０、および１１２は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。図示した例において、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーション等のデータを、クライアント１０８〜１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示しない追加のサーバ、クライアント、および他のデバイスを含むことができる。図示した例では、ネットワーク・データ処理システム１００は、インターネットであり、ネットワーク１０２はネットワークおよびゲートウェイの世界規模の集合を表し、ＴＣＰ／ＩＰスイートのプロトコルを用いて互いに通信を行う。インターネットの中心には、主要ノードまたはホスト・コンピュータ間の高速データ通信ラインのバックボーンがあり、これは、データおよびメッセージをルーティングする何千もの民生、政府、教育、および他のコンピュータ・システムから成る。むろん、ネットワーク・データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）等、多数の異なるタイプのネットワークとして実施することも可能である。図１は、一例として意図されており、本発明に対するアーキテクチャ上の限定を意図していない。
【００３３】
図２を参照すると、本発明の好適な実施形態に従って、図１に示すサーバ１０４等のサーバとして実装可能なデータ処理システムのブロック図が示されている。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む対称型マルチプロセッサ（ＳＭＰ）・システムとすることができる。あるいは、単一プロセッサ・システムを用いることも可能である。また、システム・バス２０６には、メモリ・コントローラ／キャッシュ２０８が接続され、ローカル・メモリ２０９に対するインタフェースを提供する。システム・バス２０６には、Ｉ／Ｏバス・ブリッジ２１０が接続され、Ｉ／Ｏバス２１２に対するインタフェースを提供する。メモリ・コントローラ／キャッシュ２０８およびＩ／Ｏバス・ブリッジ２１０は、図示したように一体化することができる。
【００３４】
Ｉ／Ｏバス２１２に接続された周辺機器相互接続（ＰＣＩ）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６に対するインタフェースを提供する。ＰＣＩローカル・バス２１６に、複数のモデムを接続することができる。典型的なＰＣＩバス実装は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。図１におけるクライアント１０８〜１１２に対する通信リンクは、アドイン・コネクタを介してＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０を介して提供することができる。
【００３５】
追加のＰＣＩバス・ブリッジ２２２および２２４が、追加のＰＣＩローカル・バス２２６および２２８のためのインタフェースを与え、これらから追加のモデムまたはネットワーク・アダプタをサポートすることができる。このように、データ処理システム２００によって、複数のネットワーク・コンピュータに対する接続が可能となる。また、図示するように、直接または間接的に、Ｉ／Ｏバス２１２には、メモリ・マップ・グラフィック・アダプタ２３０およびハード・ディスク２３２も接続することができる。
【００３６】
図２に示すハードウェアは様々に異なる場合があることは、当業者には認められよう。例えば、図示したハードウェアに加えて、またはその代わりに、光ディスク・ドライブ等の他の周辺機器も用いることができる。図示した例は、本発明に関してアーキテクチャ上の限定を示すことを意図していない。
【００３７】
図２に示すデータ処理システムは、例えば、AdvancedInteractive Executive（ＡＩＸ（登録商標））オペレーティング・システムまたはＬＩＮＵＸ（登録商標）オペレーティング・システムを実行するＩＢＭ（登録商標）eServer pSeries（登録商標）システム（InternationalBusiness Machines Corporation（ニューヨーク州アーモンク）の製品）とすることができる。（ＩＢＭ、pSeries、およびＡＩＸは、米国、その他の国、またはその双方におけるInternational Business Machines Corporationの商標である。Ｌｉｎｕｘは、米国、その他の国、またはその双方におけるLinus Torvaldsの商標である。）
【００３８】
ここで図３を参照すると、好適な実施形態に従って本発明を実装可能なデータ処理システムのブロック図が示されている。データ処理システム３００は、図１のクライアント１０８等のコンピュータの一例であり、好適な実施形態のプロセスを実施するコードまたは命令を配置することができる。図示した例では、データ処理システム３００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＭＣＨ）３０８ならびにサウス・ブリッジおよび入力／出力（Ｉ／Ｏ）コントローラ・ハブ（ＩＣＨ）３１０を含むハブ・アーキテクチャを用いる。ＭＣＨ３０８に、プロセッサ３０２、メイン・メモリ３０４、およびグラフィック・プロセッサ３１８が接続されている。グラフィック・プロセッサ３１８は、例えばアクセラレイテッド・グラフィック・ポート（ＡＧＰ）を介してＭＣＨに接続することができる。図示した例において、ＩＣＨ３１０には、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１２、オーディオ・アダプタ３１６、キーボードおよびマウス・アダプタ３２０、モデム３２２、リード・オンリ・メモリ（ＲＯＭ）３２４、ハード・ディスク・ドライブ（ＨＤＤ）３２６、ＣＤ−ＲＯＭドライバ３３０、ユニバーサル・シリアル・バス（ＵＳＢ）・ポートおよび他の通信ポート３３２、ならびにＰＣＩ／ＰＣＩｅデバイス３３４を接続することができる。ＰＣＩ／ＰＣＩｅデバイスは、例えば、イーサネット・アダプタ、アドイン・カード、ノートブック・コンピュータ用のＰＣカード等を含むことができる。ＰＣＩはカードバス・コントローラを用いるが、ＰＣＩｅは用いない。ＲＯＭ３２４は、例えば、フラッシュ・バイナリ入力／出力システム（ＢＩＯＳ）とすることができる。ハード・ディスク・ドライブ３２６、およびＣＤ−ＲＯＭドライブ３３０は、例えば、ＩＤＥまたはシリアルＡＴＡインタフェースを用いることができる。ＩＣＨ３１０に、スーパーＩ／Ｏ（ＳＩＯ）デバイス３３６を接続することができる。
【００３９】
プロセッサ３０２上で、オペレーティング・システムが動作し、これを用いて、図３のデータ処理システム３００内の様々なコンポーネントを調整し制御する。オペレーティング・システムは、Microsoft（登録商標）Corporationから入手可能なWindows（登録商標）XP等の市販のオペレーティング・システムとすることができる。オペレーティング・システムと共に、Java（商標）等のオブジェクト指向プログラミング・システムが動作し、Javaプログラムまたはデータ処理システム３００上で動作するアプリケーションからオペレーティング・システムへの呼び出しを行う。（Javaおよび全てのJavaベースの商標およびロゴは、米国、その他の国、またはそれら双方におけるSun Microsystems社の商標である。MicrosoftおよびWindowsは、米国、その他の国、またはそれら双方におけるMicrosoft Corporationの商標である。）オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムに対する命令は、ハード・ディスク・ドライブ３２６等のストレージ・デバイス上に配置し、プロセッサ３０２によって実行するためにメイン・メモリ３０４にロードすることができる。好適な実施形態のプロセスは、コンピュータ実装命令を用いてプロセッサ３０２によって実行される。それらの命令は、例えば、メイン・メモリ３０４、メモリ３２４等のメモリ、または、１つ以上の周辺機器３２６および３３０に配置することができる。
【００４０】
図３のハードウェアが実装に応じて様々に変動し得ることは、当業者に認められよう。図３に示すハードウェアに加えて、またはその代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等の他の内部ハードウェアまたは周辺機器も使用可能である。また、好適な実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用することができる。例えば、データ処理システム３００をパーソナル・デジタル・アシスタント（ＰＤＡ）として、オペレーティング・システム・ファイルおよびユーザ生成データの少なくとも一方を格納するための不揮発性メモリを提供するようにフラッシュ・メモリを用いて構成することができる。図３に示す例および上述の例は、アーキテクチャ上の限定を示すことを意図していない。例えば、データ処理システム３００は、ＰＤＡの形態を取ることに加えて、タブレット・コンピュータまたはラップトップ・コンピュータとすることも可能である。
【００４１】
本発明の好適な実施形態に従って、ウェブ・ページ内に表示される情報を適時更新するための機構を提供する。情報の更新が行われると、ウェブ・ページに提示される情報が変わる場合がある。ウェブ・ページは、例えば「ポータル」ページとすることができる。ポータルは、ウェブの「スーパーサイト」であり、例えば、ウェブ・サーチ、ニュース、個人別電話帳および職業別電話帳、電子メール、ディスカッション・グループ、オンライン・ショッピング、および他のサイトへのリンクを含む様々なサービスを提供する。この「ポータル」という言葉は、最初は汎用サイトを示すために用いられたが、複数のサービスを提供する他のサイト、特に動的コンテンツを提供するものを示すためにも用いられる場合がある。
【００４２】
ポータル・サーバは、ポータル・サービスを公のウェブ・サイトまたは内部のイントラネットに展開するネットワーク・サーバである。ポータル・サーバは、ウェブ・ページを介してポータル・サービスを展開し、配信し、維持するために用いられるアプリケーションを示す場合もある。ポータル・サーバは、通常、ユーザ認証、アイデンティティ管理、サーチ機構、およびコンテンツ集約機能を含む様々なツールおよび機能を含む。ポートレットは、ポータル・サーバがポータル・ページを構築するために用いることができる小さいウインドウまたは機能である。ポートレットは、包括的な機能ユニットである。場合によっては、ページ上にどのポートレットが現れるかをユーザが決定することができ、また他の場合には、ページ内にどのポートレットまたは機能ユニットが含まれるかを決定するのは、そのページの開発者である。典型的な例として、ユーザは、ポータル・ページをカスタマイズして、サーチ・エンジン・ポートレット、株価ポートレット、天気ポートレット、およびスポーツ・スコア・ポートレットを含ませることができる。しかしながら、もっと多くの特定用途向けの例があり得る。例えば、ポータル・ページは、ネットワーク・リソースのための監視サービスを提供することができ、この場合、各ポートレットが特定のモニタを提供する。
【００４３】
ウェブ・ページは、セッション識別子に関連付けられている。ウェブ・ページに影響を与える情報更新が行われた場合、セッション識別子に更新通知を関連付ける。ウェブ・ページにおける機能は、定期的にセッション識別子をリフレッシュ制御ヘルパーに送信する。ポータル・サーバは、データ・ストアを調べて、セッション識別子に関連付けられた更新通知が受信されたか否かを判定する。セッション識別子に対して更新が利用可能でない場合、ウェブ・ページはリフレッシュされない。しかしながら、ページに対して更新が利用可能である場合、ポータル・サーバは、データ・ストアから、セッション識別子のための更新通知を除去し、ウェブ・ページにおける機能に、新しいデータが利用可能であることを通知する。次いで、機能はページ・リロードを要求する。
【００４４】
図４は、本発明の例示的な実施形態に従った、クライアント・ブラウザと通信を行うポータル・サーバを示すブロック図である。ポータル・サーバ４１０は、クライアント・ブラウザ４５０等のクライアント・ソフトウェアにコンテンツを提供する。ポータル・サーバは、例えば図１のサーバ１０４等のウェブ・サーバとすることができる。クライアント・ブラウザ４５０は、例えば図１のクライアント１０８等のデータ処理システム上で具現化することができる。ポータル・サーバ４１０は、リフレッシュ・コントローラ４１２を含み、これは、登録されたハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ）セッションのための状態情報を格納する。適時更新を必要とし得る全てのポータル・ページは、ポータル・サーバ４１０における制御ポートレット４１４によって表される新しい制御ポートレットを含む。動作１において、クライアント・ブラウザ４５０は、ポータル・サーバ４１０にポータル・ページを要求する。要求を受信すると、制御ポートレット４１４は、リフレッシュ・コントローラ４１２に、この要求のためのＨＴＴＰセッション識別子（ＩＤ）を登録し（動作２）、ページ・リロードが個々のブラウザ・セッションをターゲットにすることができるようにする。また、制御ポートレット４１４は、ＪａｖａＳｃｒｉｐｔ機能とすることができる機能４５２を、要求されたページに追加し、その後でページをクライアント・ブラウザ４５０に戻す（動作３）。
【００４５】
ポータル・ページがクライアント・ブラウザ４５０で受信されると、ページはレンダリングされ、クライアント・ブラウザ４５０において機能４５２が実行される。この機能は、例えばカウントダウン・タイマを含むことができる。動作４において、カウントダウン・タイマがゼロまでカウントダウンすると、機能４５２は、ページ・リロードが必要であるか否かを判定するために、リフレッシュ制御ヘルパー４１８を呼び出す。リフレッシュ制御ヘルパー４１８は、ポータル・サーバ４１０上で動作するサーブレットとすることができる。機能４５２は、セッションＩＤをリフレッシュ制御ヘルパー４１８に渡す。すると、動作５において、リフレッシュ制御ヘルパー４１８は、リフレッシュ・コントローラ４１２を呼び出して、ポータル・ページに対応するブラウザ・セッションのためのセッションＩＤを渡す。バック・エンド・プロセス４１６は、特定のＨＴＴＰセッション識別子のために新しいデータが利用可能であるか否かを判定する。この判定は、本発明の範囲内の様々な技法を用いて行うことができる。バック・エンド・プロセス４１６は、どのコンテンツがどのポートレットに対応するかを識別し、所与のポートレットのために新しい情報が利用可能であるか否かを判定することができる。例えば、いくつかのポータル・ページは、特定の監視ポートレットを含む場合がある。このため、この例では、その監視ポートレットを有するポータル・ページに関連付けられたいかなるＨＴＴＰセッションも、例えば、特定のネットワーク・リソースのステータス情報の変化によって影響を受ける。しかしながら、本発明の範囲内で、実装に応じて、特定のＨＴＴＰセッションについて更新が利用可能であるか否かを判定するための他の機構も使用可能である。
【００４６】
所与のＨＴＴＰセッションＩＤのために新しいデータが利用可能である場合、バック・エンド・プロセス４１６によって更新通知イベントを発生し、例えばＪａｖａメソッド・コールによって、リフレッシュ・コントローラ４１２に伝達することができる。次いで、リフレッシュ・コントローラ４１２は、更新通知イベントをデータ・ストア４２０に格納することができる。動作５において、リフレッシュ制御ヘルパー４１８がリフレッシュ・コントローラ４１２を呼び出すと、リフレッシュ・コントローラ４１２はデータ・ストア４２０を調べて、セッションＩＤにいずれかの更新通知イベントが関連付けられているか否かを判定する。動作６において、リフレッシュ・コントローラ４１２は、リフレッシュ制御ヘルパー４１８に、ＨＴＴＰセッションＩＤに更新が利用可能であるか否かを通知する。また、リフレッシュ・コントローラ４１２は、そのセッションＩＤのための通知がある場合、これをデータ・ストア４２０から除去する。
【００４７】
次いで、動作７において、リフレッシュ制御ヘルパー・サーブレット４１８は、機能４５２に、新しいデータを利用可能であるか否かを通知する。新しいデータが利用可能である場合、機能４５２は、ポータル・サーバ４１０にページ・リロードを要求し（動作８）、プロセスは動作２から再開する。新しいデータが利用可能でない場合、機能４５２は、カウントダウン・タイマを再始動し、カウントダウン・タイマが満了すると、プロセスが動作４から再開する。
【００４８】
従って、好適な実施形態のポータル・サーバでは、ポータル・サーバ上で実行するバック・エンド・プロセスが通知イベントを与え、これによって特定のブラウザ・セッションのためのリフレッシュを行うことができる。好ましくは、本発明では、適時更新したデータをユーザのブラウザ上に表示することができ、データ更新が存在しない場合は不必要なページ・リロードを行わない。これによって、新しいデータが利用可能である場合にのみページをリロードすることでサーバ負荷が軽減され、ネットワーク帯域幅が解放される。同時に、本発明は、エンド・ユーザからのインタラクションなしで、ユーザに更新したデータを好適に提供する。
【００４９】
図５は、本発明の例示的な実施形態に従ったポータル・サーバ環境の動作を示すフローチャートである。プロセスが開始すると、クライアント・ブラウザは、制御ポートレットを含むポータル・ページを要求する（ブロック５０２）。次いで、制御ポートレットは、リフレッシュ・コントローラにブラウザ・セッション識別子を登録する（ブロック５０４）。制御ポートレットは、ポータル・ページに追加される機能を構築し（ブロック５０６）、この機能をポータル・ページに追加する（ブロック５０８）。次に、ポータル・サーバは、ポータル・ページをブラウザに送信する（ブロック５１０）。ブラウザは、ポータル・ページを受信してレンダリングし（ブロック５１２）、ポータル・ページ内の機能は、カウントダウン・タイマを始動する（ブロック５１４）。終了条件が存在するか否かについて、判定を行う（ブロック５１６）。終了条件が存在し得るのは、例えば、ブラウザが閉じるか、またはブラウザに新しいページがロードされたために、セッションを終了する場合であるが、これらに限らない。終了条件が存在する場合、プロセスは終了する。ブロック５１６において終了条件が存在しない場合、カウントダウン・タイマがゼロになったか否かを判定する（ブロック５１８）。カウントダウン・タイマが満了していない場合、プロセスはブロック５１６に戻り、終了条件が存在するか否かを判定する。
【００５０】
ブロック５１８においてカウントダウン・タイマがゼロになると、機能はセッションＩＤをポータル・サーバにおけるリフレッシュ制御ヘルパーに渡す（ブロック５２０）。次いで、リフレッシュ制御ヘルパーは、リフレッシュ・コントローラを呼び出して、セッションＩＤをリフレッシュ・コントローラに渡す（ブロック５２２）。次いで、リフレッシュ・コントローラは、セッションＩＤに関連した更新通知についてデータ・ストアを調べて（ブロック５２４）、セッションＩＤについて更新が存在するか否かを判定する（ブロック５２６）。
【００５１】
セッションＩＤについて更新が存在しない場合、リフレッシュ・コントローラは、リフレッシュ制御ヘルパーに、新しいデータが利用可能でないことを通知し（ブロック５２８）、リフレッシュ制御ヘルパーは機能に新しいデータが利用可能でないことを通知する（ブロック５３０）。次いで、プロセスはブロック５１４に戻り、ポータル・ページの機能はカウントダウン・タイマを再始動する。
【００５２】
ブロック５２６において、セッションＩＤについて更新が存在する場合、リフレッシュ・コントローラは、リフレッシュ制御ヘルパーに、新しいデータが利用可能であることを通知し（ブロック５３２）、データ・ストアからセッションＩＤの更新通知を除去する（ブロック５３４）。次いで、リフレッシュ制御ヘルパーは、ポータル・ページ内の機能に、新しいデータが利用可能であることを知らせる（ブロック５３６）。新しいデータが利用可能であることに応答して、ポータル・ページ内の機能はページ・リロードを要求し（ブロック５３８）、プロセスはブロック５０２に戻り、機能はサーバにページを再度要求する。
【００５３】
留意すべき重要なこととして、本発明は、完全に機能するデータ処理システムの状況において説明したが、本発明のプロセスが、コンピュータ読み取り可能媒体における命令の形態および様々な形態で配布することができ、本発明は、この配布を実行するために実際に用いられる特定のタイプの信号担持媒体に関わらず等しく適用されることは、当業者には認められよう。コンピュータ読み取り可能媒体の例は、フレキシブル・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録可能タイプの媒体、ならびに、デジタルおよびアナログ通信リンク、例えば無線周波数および光波伝送等の伝送形態を用いた有線または無線通信リンク等の伝送タイプの媒体を含む。コンピュータ読み取り可能媒体は、特定のデータ処理システムにおいて実際に用いるために復号される符号化フォーマットの形態を取ることができる。本発明の説明は、例示および記載の目的で提示し、網羅的であることも、開示した形態の発明に限定することも意図しない。当業者には、多くの変更および変形が明らかであろう。実施形態は、本発明の原理、実際的な適用を最良に説明するため、および、当業者が本発明を理解することができ、考えられる具体的な用途に適した様々な変更を用いた様々な実施形態を可能とするために、選択し説明したものである。
【図面の簡単な説明】
【００５４】
【図１】本発明の好適な実施形態を実装可能なデータ処理システムのネットワークの図を示す。
【図２】本発明の好適な実施形態に従ってサーバとして実装可能なデータ処理システムのブロック図である。
【図３】本発明の好適な実施形態を実装可能なデータ処理システムのブロック図である。
【図４】本発明の例示的な実施形態に従ってクライアント・ブラウザと通信を行うポータル・サーバを示すブロック図である。
【図５】本発明の例示的な実施形態に従ったポータル・サーバ環境の動作を示すフローチャートである。
【図１】
2007526569.tif 000003
【図２】
2007526569.tif 000004
【図３】
2007526569.tif 000005
【図４】
2007526569.tif 000006
【図５】
2007526569.tif 000007
【国際調査報告】
2007526569.tif 000008
2007526569.tif 000009