(57)【要約】【課題】複数のポートレットからの情報を表示するための方法、装置、およびコンピュータ使用可能コードを提供すること。【解決手段】ポータルは、複数のポートレットからなる。各ポートレットは、データを収集するためにハードウェアおよびソフトウェアにアクセスする。各ポートレットは、ポータル・ページに情報を提供する。各ポートレットの情報は、特定のコンテンツ・タイプおよびマークアップを有する。ポートレットのサブセットは、ポートレットのサブセットが、同じハードウェア、ソフトウェア、コンテンツ・タイプ、またはマークアップのうちの１つまたは複数を共通して有する場合、スタック可能であると判別される。ポートレットのサブセットがスタック可能であると判別されると、ユーザ・プロファイルをロードすること、またはユーザに尋ねることによって、ポートレットのスタックに関するユーザのプリファレンスが取得される。ポートレットのサブセットがスタック可能であり、ユーザがポートレットのサブセットをスタックすることを望む場合、ポートレットのサブセットは、ポートレットのスタックが第１のポートレットと、現在提示されていないポートレットのサブセット内から第２のポートレットを選択するためのコントロールとを、提示するように、スタックされる。【選択図】  図３
2008545189.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートレットを含むポータル・ページを生成する方法であって、
ポートレットのサブセットがスタック可能であるかどうかを判別するステップと、
前記ポートレットのサブセットがスタック可能であることに応答して、前記ポートレットのサブセットがポートレットのスタックとして生成されるようにポータル・ページを生成するステップであって、前記ポートレットのスタックが、前記ポートレットのサブセット内からの第１のポートレットと、前記ポートレットのサブセット内から現在提示されていない第２のポートレットを選択するためのコントロールとを提示する、ステップと、
を含む、方法。
【請求項２】
前記ポートレットのサブセットがスタック可能であるかどうかを判別する前記ステップが、
各ポートレットがアクセスするソフトウェア・プロセスおよびハードウェア・リソースを検査するステップと、
前記ポートレットのサブセットに共通の少なくとも１つのソフトウェア・プロセスまたはハードウェア・リソースを識別するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ポートレットのサブセットがスタック可能であるかどうかを判別する前記ステップが、
各ポートレットが表示するコンテンツ要素およびマークアップ要素を検査するステップと、
前記ポートレットのサブセットに共通の少なくとも１つのコンテンツ要素またはマークアップ要素を識別するステップと、
を含む、請求項１に記載の方法。
【請求項４】
前記ポートレットのサブセットがスタック可能であるかどうかを判別する前記ステップが、
ユーザ・プロファイルをロードすることによって、ポートレットのスタックに関するユーザ・プリファレンスを取得するステップであって、前記ユーザ・プリファレンスに基づいて、前記ポートレットのサブセットがスタック可能であることが判別される、ステップ
を含む、請求項１に記載の方法。
【請求項５】
前記ポートレットのサブセットがスタック可能であるかどうかを判別する前記ステップが、
ユーザに問い合わせることによって、ポートレットのスタックに関するユーザ・プリファレンスを取得するステップであって、前記ユーザ・プリファレンスに基づいて、前記ポートレットのサブセットがスタック可能であることが判別される、ステップ
を含む、請求項１に記載の方法。
【請求項６】
前記コントロールがタブ、スクロール・バー、ボタン、またはリンクである、請求項１に記載の方法。
【請求項７】
スタック可能な２つまたはそれ以上のポートレットのスタックを識別するステップをさらに含み、
前記ポータル・ページを生成することが、前記２つまたはそれ以上のポートレットのスタックがポートレットのスタックとして生成されるように前記ポータル・ページを生成することを含み、前記ポートレットのスタックが、ポートレットの第１のスタックと、前記２つまたはそれ以上のポートレットのスタック内から現在提示されていない第２のスタックを選択するためのコントロールとを提示する、
請求項１に記載の方法。
【請求項８】
各々がポートレットを生成する、複数のポートレット生成手段と、
ポータル・ページ生成手段であって、
ポートレットのサブセットを含むポータル・ページに関するクライアント要求を受信し、
前記ポートレットのサブセットを検査し、
前記ポートレットのサブセットにおける少なくとも１つの共通点を識別し、
前記ポートレットのサブセットがスタック可能であるかどうかを判別し、
前記ポートレットのサブセットがスタック可能であることに応答して、前記ポートレットのサブセットが、第１のポートレットと、現在提示されていない第２のポートレットを選択するためのコントロールとを提示するように、前記ポートレットのサブセットがスタックされたポータル・ページを生成する、
ポータル・ページ生成手段と、
を備える装置。
【請求項９】
前記ポータル・ページ生成プログラムが、各ポートレットがアクセスするソフトウェア・プロセスおよびハードウェア・リソースを検査すること、ならびに前記ポートレットのサブセットに共通の少なくとも１つのソフトウェア・プロセスまたはハードウェア・リソースを識別することによって、前記ポートレットのサブセットがスタック可能であるかどうかを判別する、請求項８に記載の装置。
【請求項１０】
前記ポータル・ページ生成プログラムが、各ポートレットが表示するコンテンツ要素およびマークアップ要素を検査すること、ならびに、前記ポートレットのサブセットに共通の少なくとも１つのコンテンツ要素またはマークアップ要素を識別することによって、前記ポートレットのサブセットがスタック可能であるかどうかを判別する、請求項８に記載の装置。
【請求項１１】
前記ポータル・ページ生成プログラムが、ユーザ・プロファイルをロードすることにより、ポートレットのスタックに関するユーザ・プリファレンスを取得することによって、前記複数のポートレットがスタック可能であるかどうかを判別し、前記ユーザ・プリファレンスに基づいて、前記ポートレットのサブセットがスタック可能であることが判別される、請求項８に記載の装置。
【請求項１２】
前記ポータル・ページ生成プログラムが、前記ユーザに問い合わせることにより、ポートレットのスタックに関するユーザ・プリファレンスを取得することによって、前記複数のポートレットがスタック可能であるかどうかを判別し、前記ユーザ・プリファレンスに基づいて、前記ポートレットのサブセットがスタック可能であることが判別される、請求項８に記載の装置。
【請求項１３】
前記コントロールがタブ、スクロール・バー、ボタン、またはリンクである、請求項８に記載の装置。
【請求項１４】
コンピュータ上で実行された場合に、請求項１から８に記載のように本発明を実施するためのソフトウェア・コード部分を備える、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、グラフィカル・ユーザ・インターフェース（ＧＵＩ）に関する。より具体的に言えば、本発明は、ポータル・ページをカスタマイズするための改良された方法、装置、およびコンピュータ使用可能コードに関する。
【背景技術】
【０００２】
ポータルは、様々なソースから集約された情報を表示する。この情報は特定ユーザ向けにカスタマイズされ、動的に更新される。ユーザは、どの情報をどのように表示するかを指定することによって、ポータルと対話する。ユーザは、ユーザ・プリファレンス（user preference）を指定することによってポータルをカスタマイズすることができるため、ユーザがポータルにアクセスするたびに、ポータルはユーザ・プリファレンスをチェックして、ユーザが望む情報をユーザが望む表示の形で表示する。ユーザは、ユーザ・プリファレンスを使用することに加えて、リアルタイムでポータルと対話することによって、どの情報が表示されるか、またはどのように表示されるかを、変えることもできる。
【０００３】
たとえばユーザは、ユーザが関心のある株式公開会社を指定することが可能であり、ポータルはその会社に関する株価および最近のニュース項目を表示することができる。それぞれのユーザが異なる会社に関心を持つ可能性があるため、それぞれのユーザのポータルは、そのユーザが見たい内容のみを、そのユーザが見たい方法で表示する。ポータルを使用して、様々なネットワーク・リソースの状況を監視することにより、コンピュータ・ネットワークを監視することもできる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ユーザ・プリファレンスが追加されるたびに、そのプリファレンスに関連付けられたポートレット（portlet）がポータルに追加される。したがって、ポータル・ページをカスタマイズすることにより、結果としてポータル・ページ内に多くのポートレットが詰め込まれることになり、それによって、ユーザがすべてのポートレットを明瞭に見ることが困難な雑然としたポータルが生じる可能性がある。
【課題を解決するための手段】
【０００５】
本発明は、複数のポートレットからの情報を表示するための方法、装置、およびコンピュータ使用可能コードを提供する。ポータルは、複数のポートレットからなる。各ポートレットは、データを収集するためにハードウェアおよびソフトウェアにアクセスする。各ポートレットは、ポータル・ページに情報を提供する。各ポートレットの情報は、特定のコンテンツ・タイプおよびマークアップを有する。ポートレットのサブセットは、ポートレットのサブセットが、同じハードウェア、ソフトウェア、コンテンツ・タイプ、またはマークアップのうちの１つまたは複数を共通して有する場合、スタック可能であると判別される。ポートレットのサブセットがスタック可能であると判別されると、ユーザ・プロファイルをロードすること、またはユーザに尋ねることによって、ポートレットのスタックに関するユーザ・プリファレンスが取得される。ポートレットのサブセットがスタック可能であり、ユーザがポートレットのサブセットをスタックすることを望む場合、ポートレットのサブセットは、ポートレットのスタックが第１のポートレットと、現在提示されていないポートレットのサブセット内から第２のポートレットを選択するためのコントロールとを、提示するように、スタックされる。
【０００６】
第１の態様から見ると、本発明は、ポータル・ページが複数のポートレットを含む、ポータル・ページを生成する方法を提供し、この方法は、ポートレットのサブセットがスタック可能であるかどうかを判別するステップと、ポートレットのサブセットがスタック可能であることに応答して、ポートレットのサブセットがポートレットのスタックとして生成されるようにポータル・ページを生成するステップと、を含み、ポートレットのスタックは、第１のポートレットと、現在提示されていないポートレットのサブセット内から第２のポートレットを選択するためのコントロールとを、提示する。
【０００７】
好ましくは、本発明は、ポートレットのサブセットがスタック可能であるかどうかを判別するステップが、各ポートレットがアクセスするソフトウェア・プロセスおよびハードウェア・リソースを検査するステップと、ポートレットのサブセットに共通の少なくとも１つのソフトウェア・プロセスまたはハードウェア・リソースを識別するステップとを含む、方法を提供する。
【０００８】
好ましくは、本発明は、ポートレットのサブセットがスタック可能であるかどうかを判別するステップが、各ポートレットが表示するコンテンツ要素およびマークアップ要素を検査するステップと、ポートレットのサブセットに共通の少なくとも１つのコンテンツ要素またはマークアップ要素を識別するステップとを含む、方法を提供する。
【０００９】
好ましくは、本発明は、ポートレットのサブセットがスタック可能であるかどうかを判別するステップが、ユーザ・プロファイルをロードすることによって、ポートレットのスタックに関するユーザ・プリファレンスを取得するステップを含み、このユーザ・プリファレンスに基づいて、ポートレットのサブセットがスタック可能であることが判別される、方法を提供する。
【００１０】
好ましくは、本発明は、複数のポートレットがスタック可能であるかどうかを判別するステップが、ユーザに問い合わせることによって、ポートレットのスタックに関するユーザ・プリファレンスを取得するステップを含み、このユーザ・プリファレンスに基づいて、ポートレットのサブセットがスタック可能であることが判別される、方法を提供する。
【００１１】
好ましくは、本発明は、コントロールがタブ、スクロール・バー、ボタン、またはリンクである、方法を提供する。
【００１２】
好ましくは、本発明は、スタック可能な２つまたはそれ以上のポートレットのスタックを識別するステップをさらに含み、ポータル・ページを生成するステップが、２つまたはそれ以上のポートレットのスタックがスタックのスタックとして生成されるようにポータル・ページを生成するステップを含み、スタックのスタックが、ポートレットの第１のスタックと、現在提示されていない２つまたはそれ以上のポートレットのスタック内から第２のスタックを選択するためのコントロールとを提示する、方法を提供する。
【００１３】
第２の態様から見ると、本発明は、各ポートレット生成プログラムがポートレットを生成する、複数のポートレット生成プログラムと、ポートレットのサブセットを含むポータル・ページに関するクライアント要求を受信し、ポートレットのサブセットを検査し、ポートレットのサブセットにおける少なくとも１つの共通点を識別し、ポートレットのサブセットがスタック可能であるかどうかを判別し、ポートレットのサブセットがスタック可能であることに応答して、ポートレットのサブセットが、第１のポートレットと、現在提示されていない第２のポートレットを選択するためのコントロールとを提示するように、ポートレットのサブセットがスタックされたポータル・ページを生成する、ポータル・ページ生成プログラムと、を備える装置を提供する。
【００１４】
好ましくは、本発明は、ポータル・ページ生成プログラムが、各ポートレットがアクセスするソフトウェア・プロセスおよびハードウェア・リソースを検査すること、ならびにポートレットのサブセットに共通の少なくとも１つのソフトウェア・プロセスまたはハードウェア・リソースを識別することによって、ポートレットのサブセットがスタック可能であるかどうかを判別する、装置を提供する。
【００１５】
好ましくは、本発明は、ポータル・ページ生成プログラムが、各ポートレットが表示するコンテンツ要素およびマークアップ要素を検査すること、ならびに、ポートレットのサブセットに共通の少なくとも１つのコンテンツ要素またはマークアップ要素を識別することによって、ポートレットのサブセットがスタック可能であるかどうかを判別する、装置を提供する。
【００１６】
好ましくは、本発明は、ポータル・ページ生成プログラムが、ユーザ・プロファイルをロードすることにより、ポートレットのスタックに関するユーザ・プリファレンスを取得することによって、複数のポートレットがスタック可能であるかどうかを判別し、このユーザ・プリファレンスに基づいて、ポートレットのサブセットがスタック可能であることが判別される、装置を提供する。
【００１７】
好ましくは、本発明は、ポータル・ページ生成プログラムが、ユーザに問い合わせることにより、ポートレットのスタックに関するユーザ・プリファレンスを取得することによって、複数のポートレットがスタック可能であるかどうかを判別し、このユーザ・プリファレンスに基づいて、ポートレットのサブセットがスタック可能であることが判別される、装置を提供する。
【００１８】
好ましくは、本発明は、コントロールがタブ、スクロール・バー、ボタン、またはリンクである、装置を提供する。
【００１９】
第３の態様から見ると、本発明は、コンピュータ上で実行された場合に本発明を前述のように実施するためのソフトウェア・コード部分を備える、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラム製品を提供する。
【００２０】
本発明の特徴であると考えられる新規な特徴は、添付の特許請求の範囲に示される。しかしながら、本発明自体、ならびにその好ましい使用モード、他の目的、および利点は、添付の図面と共に、例示的実施形態の以下の詳細な説明を参照することによって、最も良く理解されるであろう。
【発明を実施するための最良の形態】
【００２１】
図１および図２は、本発明の諸態様が実施可能なデータ処理環境の例示図として提供される。図１および図２は単なる例であり、本発明の諸態様または諸実施形態が実施可能な環境に関するいかなる制限をも断言または示唆することを意図しないことを理解されたい。
【００２２】
通常、ユーザは、ポータル・ページ生成プログラムにポータルを作成するようにとの要求を送信する。ポータルを作成するようにとの要求は、特定のウェブ・ページへのアクセス、特定のウェブ・ページへのログ・オン、または他の手段を含むことができる。通常、各ポータルは、特定のユーザ要件に対してカスタマイズされる。所与のポータルは、様々なソースから集約された情報を表示し、この情報は、ポータルが生成されている間に動的に更新される。各ソースは、異なるウェブ・サーバによってホストされることが可能である。
【００２３】
ポータル・ページを生成するようにとの要求と共にユーザの識別が送信される場合、ユーザ・プロファイルがロードされ、このユーザ・プロファイル内の情報に基づいてポータルが生成されることが可能である。ユーザの識別は、ユーザへのログイン要請、ユーザのコンピュータに配置されたクッキー、または他の手段によって決定することができる。
【００２４】
ユーザ・プロファイルがない場合、デフォルト・プロファイルを使用することができる。ユーザは、どの情報を表示するか、およびその情報をどのように表示するかを、指定することが可能であり、これらのプリファレンスをユーザ・プロファイルに格納することが可能であるため、ユーザがポータルにアクセスするたびに、ポータルはユーザ・プロファイルをロードし、適切な情報を適切な形で表示する。ユーザは、ユーザ・プロファイル内の情報を指定することに加えて、リアルタイムでポータルと対話することによって、どの情報を表示するか、またはその情報をどのように表示するかを変えることもできる。
【００２５】
たとえばユーザが、ユーザがどの株式公開会社に関心があるかを指定した場合、ポータルはそれらの会社に関する株価および最近のニュース項目を表示することになる。それぞれのユーザが異なる会社に関心を持つ可能性があるため、それぞれのユーザのポータルは、そのユーザが見たい内容のみを、そのユーザが見たい方法で表示する。ポータルを使用して、様々なネットワーク・リソースの状況を監視することにより、コンピュータ・ネットワークを監視することもできる。
【００２６】
通常、ポータル・ページ上に表示される個々の情報は、ポートレットによって作成される。ポートレットは、情報を収集するために特定のソフトウェア・プロセスまたはハードウェアにアクセスする。次にポートレットは、収集した情報を取り込み、マークアップ言語ユーザ・インターフェース・コンポーネントを使用してこれをポータル・ページ上に表示する。
【００２７】
ユーザが、ポータル・ページ上に表示される追加の情報を要求するごとに、その情報に関連付けられたポートレットがポータルに追加される。したがって、ポータル・ページをカスタマイズすることにより、結果としてポータル・ページ内に多くのポートレットが詰め込まれることになり、それによって、ユーザがすべてのポートレットを明瞭に見ることが困難な雑然としたポータルが生じる可能性がある。
【００２８】
本発明は、表示されるポートレットの数が増加した場合、ポータルが混み合うのを避けるようにポートレットを編成するための、改善された方法、装置、およびコンピュータ使用可能コードを提供する。
【００２９】
次に図面を参照すると、図１は、本発明の諸態様が実施可能な、データ処理システムのネットワークを示す絵画図である。ネットワーク・データ処理システム１００は、本発明の諸実施形態が実施可能なコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、これは、ネットワーク・データ処理システム１００内で相互に接続された様々なデバイスおよびコンピュータの間に通信リンクを提供するために使用されるメディアである。ネットワーク１０２は、有線、無線通信リンク、または光ファイバ・ケーブルなどの接続を含むことができる。
【００３０】
示された例では、サーバ１０４はストレージ・ユニット１０６と共にネットワーク１０２に接続される。加えて、クライアント１０８、１１０、および１１２がネットワーク１０２に接続される。これらのクライアント１０８、１１０、および１１２は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。示された例では、サーバ１０４は、ポータル・ページおよびアプリケーションをクライアント１０８〜１１２に提供する、ウェブ・サーバとすることができる。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されていない追加のサーバ、クライアント、および他のデバイスを含むことができる。
【００３１】
示された例では、ネットワーク・データ処理システム１００は、互いに通信するために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）のプロトコル・スイート（suite）を使用する、ネットワークおよびゲートウェイの全世界的集合を表す、ネットワーク１０２を備えたインターネットである。インターネットの中心は、データおよびメッセージを伝送する何千にも及ぶ商用、行政、教育、および他のコンピュータ・システムからなる、主要ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンである。もちろん、ネットワーク・データ処理システム１００は、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）などの、いくつかの異なるタイプのネットワークとして実施することもできる。図１は、本発明の様々な実施形態に対するアーキテクチャ上の制限としてではなく、例として意図されたものである。
【００３２】
図２を参照すると、本発明の例示的実施形態に従った、図１のサーバ１０４などのサーバとして実施可能なデータ処理システムのブロック図が示されている。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む、対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。別の方法では、単一のプロセッサ・システムを採用することもできる。さらにシステム・バス２０６に接続されるのが、ローカル・メモリ２０９へのインターフェースを提供するメモリ・コントローラ／キャッシュ２０８である。Ｉ／Ｏバス・ブリッジ２１０はシステム・バス２０６に接続され、Ｉ／Ｏバス２１２へのインターフェースを提供する。メモリ・コントローラ／キャッシュ２０８およびＩ／Ｏバス・ブリッジ２１０は、図に示されるように統合することができる。
【００３３】
周辺コンポーネント相互接続（ＰＣＩ）バス・ブリッジ２１４は、Ｉ／Ｏバス２１２に接続され、ＰＣＩローカル・バス２１６へのインターフェースを提供する。いくつかのモデムをＰＣＩローカル・バス２１６に接続することができる。典型的なＰＣＩバス実装は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートすることになる。図１のクライアント１０８〜１１２への通信リンクは、アドイン・コネクタを介してＰＣＩローカル・バス２１６に接続される、モデム２１８およびネットワーク・アダプタ２２０を介して提供することができる。
【００３４】
追加のＰＣＩバス・ブリッジ２２２および２２４は、追加のＰＣＩローカル・バス２２６および２２８に対するインターフェースを提供し、ここから追加のモデムまたはネットワーク・アダプタをサポートすることができる。この様にして、データ処理システム２００を複数のネットワーク・コンピュータに接続することができる。図に示されるように、メモリ・マッピング済みグラフィックス・アダプタ２３０およびハード・ディスク２３２も、直接または間接的にＩ／Ｏバス２１２に接続することができる。
【００３５】
当業者であれば、図２に示されたハードウェアが変更可能であることを理解されよう。たとえば、図示されたハードウェアに加えて、またはそれらの代わりに、光ディスク・ドライブなどの他の周辺デバイスも使用することができる。図示された例は、本発明に関するアーキテクチャ上の制限を示唆することを意味するものではない。
【００３６】
図２に示されたデータ処理システムは、たとえば、拡張対話型エグゼクティブ（ＡＩＸ（Ｒ））オペレーティング・システムまたはＬＩＮＵＸオペレーティング・システムを実行する、ＩＢＭ  ｅＳｅｒｖｅｒ（ＴＭ）  ｐＳｅｒｉｅｓ（Ｒ）コンピュータ・システムとすることができる（ｅＳｅｒｖｅｒ、ｅＳｅｒｉｅｓ、およびＡＩＸは、米国、その他諸国、またはその両方における、インターナショナル・ビジネス・マシンズ・コーポレーションの商標であり、Ｌｉｎｕｘは、米国、その他諸国、またはその両方における、Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標である）。
【００３７】
当業者であれば理解されるように、図１および図２のハードウェアは実装に応じて変更することができる。フラッシュ・メモリ、等価の不揮発性メモリ、または光ディスク・ドライブなどの、他の内部ハードウェアまたは周辺デバイスを、図１および図２に示されたハードウェアに加えて、またはそれらの代わりに使用することができる。また、本発明の諸プロセスは、マルチプロセッサ・データ処理システムにも適用可能である。
【００３８】
図３を参照すると、参照番号３００は、本発明の実施形態に従った１つまたは複数のリソースを監視するポートレットを示すブロック図を、全体として指定する。リソースは、ソフトウェア・プロセス、ハードウェア・サブシステム、または同様のネットワーク・リソースとすることができる。
【００３９】
図３は、ポートレット３０２、３０４、３０６、および３０８、ソフトウェア・プロセス３１０、３１２、および３１４、ハードウェア３１６、３１８、および３２０、モニタ３２２、ならびにトランザクション・ログ３２４、３２６、３２８、および３３０を含む。ソフトウェア・プロセスおよびハードウェアは、コンピュータ・ネットワーク内のいずれにも常駐可能である。図示されたポートレット、ソフトウェア・プロセス、およびハードウェアの数は例示の目的で示されたものに過ぎず、本発明に関するアーキテクチャ上の制限を示唆することを意味するものではない。
【００４０】
この例で、ポートレット３０２は、ハードウェア３１６、ソフトウェア・プロセス３１０、およびソフトウェア・プロセス３１２にアクセスする。ポートレット３０４は、ソフトウェア・プロセス３１２およびソフトウェア・プロセス３１４にアクセスする。ポートレット３０６は、ソフトウェア・プロセス３１２、ソフトウェア・プロセス３１４、ハードウェア３１８、およびハードウェア３２０にアクセスする。ポートレット３０８は、ソフトウェア・プロセス３１０、ソフトウェア・プロセス３１２、ハードウェア・リソース３１６、ハードウェア・リソース３１８、およびハードウェア・リソース３２０にアクセスする。
【００４１】
モニタ３２２は、ポートレット３０２、３０４、３０６、および３０８を監視し、各ポートレットについてトランザクション・ログを生成する。したがって、トランザクション・ログ３２４はポートレット３０２に対応し、トランザクション・ログ３２６はポートレット３０４に対応し、トランザクション・ログ３２８はポートレット３０６に対応し、トランザクション・ログ３３０はポートレット３０８に対応する。
【００４２】
トランザクション・ログ３２４、３２６、３２８、および３３０は、それぞれ、各ポートレットがデータ収集のためにアクセスするソフトウェア・プロセスおよびハードウェアなどの、リソースに関する情報を含む。トランザクション・ログを比較することによって、ポータル・ページ生成プログラムなどのアプリケーションは、２つまたはそれ以上のポートレットが同じリソースまたは同じタイプのリソースにアクセスしているかどうかを判別することができる。同じリソースまたは同じタイプのリソースにアクセスするポートレットはスタック可能とみなされ、ユーザ・プリファレンスに基づいてスタックすることができる。２つまたはそれ以上のポートレットがスタック可能であるかどうかを判別する場合、コンテンツおよびマークアップなどの追加のアイテムにも注目できることに留意されたい。監視されるリソースまたは出力表示などのポートレットの任意の特徴を使用して、２つまたはそれ以上のポートレットを比較し、これらがスタック可能であるかどうかを判別することができる。
【００４３】
たとえば、ポートレット３０２およびポートレット３０８は、どちらもリソース３１０、３１２、および３１６にアクセスし、スタック可能ポートレットが３つまたはそれ以上の共通の特徴を必要とする場合、スタックすることができる。２つまたはそれ以上の共通の特徴が必要な場合、ポートレット３０４およびポートレット３０６は、どちらも３１２および３１４を監視するため、スタック可能である。必要な共通の特徴が１つだけである場合、３１２が共通であるため、３０２、３０４、３０６、および３０８はスタック可能である。表１を参照されたい。
【表１】
2008545189.tif 000003
【００４４】
どのような場合にスタックするかについての規則は、ポートレットがいくつの共通の特徴を有するかに基づくものとすることができる。２つまたはそれ以上のポートレットが十分な共通要素を有する場合、それらはスタック可能であり、十分とはユーザによって事前に定義される。２つまたはそれ以上のポートレットがスタック可能であると判別された場合、ユーザがそのポートレットのスタックを希望するかどうかをユーザに尋ねるか、または、ポータルがユーザによって事前に定義された規則に基づいてそのポートレットを自動的にスタックすることができる。たとえば、２つまたはそれ以上のポートレットは、それらが少なくとも２つの共通要素にアクセスする場合のみ、またはアクセスされる各ポートレットの要素のうちの少なくとも５０％が共通である場合のみ、スタックすることができる。ポータルなどの、ポートレットを表示することが可能な任意のグラフィカル・ユーザ・インターフェースを使用することができる。
【００４５】
図４を参照すると、番号４００は、本発明の実施形態に従ったポートレットを備えるポータルを示すブロック図を、全体として指定する。
【００４６】
ポータル４０２は、ポートレット４０４、４０６、４０８、および４１０を含む。ポートレット４０４はディスプレイ４１２に出力し、ポートレット４０６はディスプレイ４１４に出力し、ポートレット４０８はディスプレイ４１６に出力し、ポートレット４１０はディスプレイ４１８に出力する。ディスプレイ４１２はコンテンツ４２０およびマークアップ４２２を含み、ディスプレイ４１４はコンテンツ４２４およびマークアップ４２６を含み、ディスプレイ４１６はコンテンツ４２８およびマークアップ４３０を含み、ディスプレイ４１８はコンテンツ４３２およびマークアップ４３４を含む。
【００４７】
モニタ４３６は、ポートレット４０４、４０６、４０８、および４１０を監視し、各ポートレットについてトランザクション・ログを生成する。したがって、トランザクション・ログ４３８はポートレット４０４に対応し、トランザクション・ログ４４０はポートレット４０６に対応し、トランザクション・ログ４４２はポートレット４０８に対応し、トランザクション・ログ４４４はポートレット４１０に対応する。各トランザクション・ログは、たとえば各ポートレットがどの要素、ハードウェア、およびソフトウェア・プロセスにアクセスするかに関する情報を含む。
【００４８】
図４は、スタッキングの前のポートレットの例を示す。ポータル４０２は、各ポートレットのトランザクション・ログ、コンテンツ、およびマークアップなどの、ポータルの共通する特徴を比較して、２つまたはそれ以上のポートレット間に、ポートレットがスタック可能であるとみなすのに十分な共通性が存在するかどうかを判別する。たとえば、ポートレット４０４および４０６がスタック可能であると判別するには、ポータル４０２は、トランザクション・ログ４３８および４４０、コンテンツ４２０および４２４、ならびにマークアップ４２２および４２６に注目することができる。ポータル４０２が、ポートレット４０４および４０６が共通のリソースにアクセスすること、あるいは共通のコンテンツまたはマークアップを表示することを突き止めた場合、ポータル４０２は、ポートレット４０４および４０６をスタック可能であるとみなすことができる。
【００４９】
図５を参照すると、番号５００は、本発明の実施形態に従ったスタックされたポートレットを伴うポータルを示すブロック図を、全体として指定する。ポータル５０２は、スタックされたポートレット５０４を含む。スタックされたポートレット５０４は、ポートレット５１２、５１４、５１６、および５１８を含む。
【００５０】
図５は、２つまたはそれ以上のポートレットがスタック可能であると判別され、ユーザがそれらをスタックすることを許可した場合、スタックされたポートレットをポータルがどのように表示するかを示す例である。この例では、ポートレット５１２、５１４、５１６、および５１８は、共通のリソースにアクセスするか、または共通のコンテンツまたはマークアップを表示することから、スタック可能であると判別されている。
【００５１】
２つまたはそれ以上のポートレットは、通常、個々に表示される場合よりもスタックされる場合の方が占有スペースが少ないため、ポートレット・クラッタが減少する。ユーザは、タブ、前後ボタン、カスケード、スクロール・バー、または任意の他の同様のスタッキングおよび選択方法を使用して、特定のスタックされたポートレットを含む個々のポートレット間をトグルすることが可能である。
【００５２】
たとえば、複数のスクロール・バーを使用して、各スクロール・バーが異なるポートレットの特徴セットをナビゲートすることで、スタックされたポートレットのセットをナビゲートすることができる。ユーザは、垂直スクロール・バーを使用して、ポートレット・セットの階層内を上下に移動することが可能であり、水平スクロール・バーを使用して、階層内の同じレベルにあるポートレット間をナビゲートすることができる。たとえば、垂直スクロール・バーは、ダウ・ジョーンズ工業株平均（ＤＪＩＡ）などの株価指数の表示から、ＤＪＩＡの構成要素である個々の株価の表示までを選択することが可能であり、水平スクロール・バーは、垂直スクロール・バーの設定に依存して、どの株価指数（ＤＪＩＡ、Ｓｔａｎｄａｒｄ  ａｎｄ  Ｐｏｏｒｓ  ５００など）またはどの工業株を表示するかを選択することが可能である。
【００５３】
この技法を使用して、たとえば、ポータル全体をポートレットのスタックとして提示し、１つの所与のポートレットを所与の時点でスタックのトップに表示させることができる。これは、たとえばスマートフォンまたは携帯情報端末（ＰＤＡ）などの、スクリーンの表面積が限られているデバイス上にポータルを提示する場合に役立つ。
【００５４】
この技法を使用して、たとえば多数のポートレットを採用し、コントロールを使用して現在提示されていないポートレットの他のセットを選択することによって、複数のポートレットを提示することもできる。たとえば、５つのポートレットが提示された状態で、４０のポートレットをスタックし、コントロールを使用して現在提示されていない５つのポートレットを選択することができる。
【００５５】
図６を参照すると、参照番号６００は、本発明の実施形態に従ったポータル・アーキテクチャを示すブロック図を、全体として指定する。図６は、ポータル６０２、ポータル・ページ生成プログラム６０４、ユーザ・プリファレンス６０６、およびポートレット６０８、６１０、６１２、および６１４を示す。
【００５６】
ポータル・ページ生成プログラム６０４は、ポートレットからなるポータル・ページを動的に生成する、サーバ・アプリケーションである。ポータル・ページは、Ｊａｖａ（登録商標）または他の言語を使用して生成することができる。ポータル・ページは、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）または拡張可能マークアップ言語（ＸＭＬ）などの、マークアップ言語を含むことができる。ポータル・ページ生成プログラムは、たとえばアクティブ・サーバ・ページ生成プログラムとすることができる。
【００５７】
ユーザがポータル・ページを要求すると、ポータル・ページ生成プログラム６０４は、クライアントの識別に関する情報を受け取る。ポータル・ページ生成プログラム６０４がユーザの識別を受け取ると、ポータル・ページ生成プログラム６０４はユーザ・プロファイル６０６をロードする。ユーザの識別は、クッキーの使用、ユーザへのログイン要請、または他の同様の手段を通じて、取得することができる。ポータル・ページ生成プログラム６０４がユーザの識別を受け取らない場合、ユーザ・プロファイル６０６はユーザ・プリファレンスのデフォルト・セットとすることができる。ポータル・ページ生成プログラム６０４がユーザ・プリファレンスを有する場合、ポータル・ページ生成プログラム６０４は、それらのユーザ・プリファレンスに関する情報を表示するように要求されたポートレットを活動化する。
【００５８】
この例では、ポートレット６０８、６１０、６１２、および６１４が、ユーザ・プロファイル６０６に基づいてポータル６０２に関する情報を表示するように要求される。ユーザ・プロファイル６０６に基づいて、ポータル・ページ生成プログラム６０４は、ポートレット６０８、６１０、６１２、および６１４のうちのいずれかがスタック可能であるかどうかを判別することができる。すなわち、ポータル・ページ生成プログラム６０４は、ポートレット６０８、６１０、６１２、および６１４がアクセスするソフトウェア・プロセスおよびハードウェア、ならびに各ポートレットのそれぞれのディスプレイのコンテンツおよびマークアップを検査し、どのポートレットがスタック可能なだけの十分な共通性を有するかを判別することができる。次に、ポータル・ページ生成プログラム６０４は、ポートレットをスタックするかどうかをクライアントに尋ねることができる。別の方法では、ポータル・ページ生成プログラム６０４は、ユーザにプロンプトを出すことなく、自動的にポートレットをスタックすることができる。ポートレットは、それがデフォルト設定であるため、または、ポータル・ページ生成プログラム６０４が、ＰＤＡのスクリーンなどの非常に表面積の小さなスクリーン上にポータルが表示されていることを知っているため、自動的にスタックされる場合がある。
【００５９】
図７を参照すると、参照番号７００は、本発明の実施形態に従ったポートレットをスタックする方法を示す流れ図を、全体として指定する。ブロック７０２で、ポータル・ページ生成プログラムが、複数のポートレットを含むポータル・ページを生成するようにとの要求を受け取ると、操作が開始される。ブロック７０４で、各ポートレットがアクセスするソフトウェアおよびハードウェア・リソースが決定される。ブロック７０６で、各ポートレットが表示する情報のコンテンツおよびマークアップが決定される。ブロック７０８で、ユーザ・プロファイル／プリファレンスが取得される。ユーザ・プロファイル／プリファレンスは、たとえばユーザ・プロファイルをロードすること、またはユーザに尋ねることによって取得することができる。ブロック７１０で、ポートレットのサブセットにおける共通性が識別され、この共通性に基づいて、どのポートレットがスタック可能であるかが識別される。どのポートレットがスタック可能であると識別されたかに基づいて、ブロック７１４で、１つまたは複数のポートレットのサブセットがスタックされたポータルが生成され、操作は終了する。
【００６０】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることが可能である。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されることのない、ソフトウェア内に実装される。
【００６１】
さらに本発明は、コンピュータまたは任意の命令実行システムによって、あるいはこれらに関連して、使用するためのプログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能なメディアからアクセス可能な、コンピュータ・プログラム製品の形を取ることも可能である。本説明では、コンピュータ使用可能またはコンピュータ読み取り可能メディアとは、命令実行システム、装置、またはデバイスによって、あるいはこれらに関連して、使用するためのプログラムを、含むこと、格納すること、通信すること、伝搬すること、または移送することが可能な、任意の装置とすることができる。
【００６２】
メディアは、電子、磁気、光、電磁、赤外線、または半導体のシステム（あるいは装置またはデバイス）、あるいは伝搬メディアとすることができる。コンピュータ読み取り可能メディアの例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクが含まれる。光ディスクの現行例には、コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００６３】
プログラム・コードの格納あるいは実行またはその両方に好適なデータ処理システムは、システム・バスを介して直接または間接的にメモリ要素に結合された、少なくとも１つのプロセッサを含むことになる。メモリ要素は、プログラム・コードの実際の実行時に採用されるローカル・メモリ、大容量ストレージ、および、実行時に大容量ストレージからコードを取り出さなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時ストレージを提供するキャッシュ・メモリを含むことができる。
【００６４】
入力／出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されることのない）は、直接、または介在するＩ／Ｏコントローラを介して、システムに結合することができる。
【００６５】
介在する専用または公衆のネットワークを介して、データ処理システムを他のデータ処理システム、あるいはリモートのプリンタまたはストレージ・デバイスに結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、およびイーサネット（登録商標）・カードは、ネットワーク・アダプタの現在使用可能なタイプのうちのほんの一部に過ぎない。
【００６６】
以上、本発明の説明を例示および記述のために提示してきたが、これは網羅的であること、または本発明の開示された形に限定されることを意図するものではない。当業者であれば、多くの修正形態および変形形態が明らかとなろう。実施形態は、本発明の原理、実際の応用例を最も良く説明するように、ならびに、他の当業者が、企図された特定の使用に好適なように様々な修正を伴う様々な実施形態に関して、本発明を理解できるように、選択および説明された。
【図面の簡単な説明】
【００６７】
【図１】本発明の諸態様が実施可能な、データ処理システムのネットワークを示す絵画図である。
【図２】本発明の例示的実施形態に従った、サーバとして実施可能なデータ処理システムを示すブロック図である。
【図３】本発明の実施形態に従った、ソフトウェア・プロセスおよびハードウェアを監視するポートレットを示すブロック図である。
【図４】本発明の実施形態に従った、ポートレットを伴うポータルを示すブロック図である。
【図５】本発明の実施形態に従った、スタックされたポートレットを伴うポータルを示すブロック図である。
【図６】本発明の実施形態に従った、ポータル・アーキテクチャを示すブロック図である。
【図７】本発明の実施形態に従った、ポートレットをスタックする方法を示す流れ図である。
【図１】
2008545189.tif 000004
【図２】
2008545189.tif 000005
【図３】
2008545189.tif 000006
【図４】
2008545189.tif 000007
【図５】
2008545189.tif 000008
【図６】
2008545189.tif 000009
【図７】
2008545189.tif 000010
【国際調査報告】
2008545189.tif 000011
2008545189.tif 000012