(57)【特許請求の範囲】
【請求項１】
表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを読み出す入力手段と、
前記入力手段が読み出した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力する画面出力手段と、
前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を記憶する代替情報記憶手段と、
前記ポートレットの障害の有無を判定し、障害がある場合前記入力手段に通知する障害判定手段と
を含み、
前記入力手段は、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、前記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを読み出し、
当該代替ポートレットは、当該障害があるポートレットの代わりに、前記表示画面を表示する端末からの入力イベントを受け付ける
表示制御装置。
【請求項２】
障害が発生した前記ポートレットの入力フォームのフォームタイトルと同じフォームタイトルの入力フォームを表示し当該ポートレットの代わりに前記端末からの入力データを受信する前記代替ポートレットを生成して実行する代替ポートレット実行手段と、
前記代替ポートレットに対して行われる前記入力イベントを受信して、前記入力イベントの入力先のポートレットを特定し、前記入力イベントを表す入力イベント情報を前記特定したポートレットに送信するイベント入力手段と、
前記入力イベント情報を記憶するイベント情報記憶手段と、
を含み、
前記障害判定手段は、障害があった前記ポートレットに障害が無くなったことを判定した場合、障害があった前記ポートレットに障害が無くなったことを表す通知を当該ポートレットの代替ポートレットに送信し、
当該代替ポートレットは、前記通知を受信した場合に、前記イベント情報記憶手段に記憶された前記入力イベント情報を読み出し、当該障害があったポートレットに送信する
請求項１に記載の表示制御装置。
【請求項３】
前記ポートレットを含む複数のポートレットのカテゴリを表すカテゴリ情報を、当該ポートレットを特定する情報と関連付けて記憶するポートレット情報記憶手段と、
前記ポートレットに障害が発生した場合に、前記ポートレット情報記憶手段が記憶する前記カテゴリ情報を読み出し、当該ポートレットと同じカテゴリの他のポートレットから、当該ポートレットの代替となる前記代替ポートレットを選択し、障害がある前記ポートレットと選択した前記代替ポートレットを関連付ける代替情報を、前記代替情報記憶手段に記憶させるポートレット選択手段と
を含み、
前記代替情報記憶手段は、前記ポートレット選択手段による前記代替ポートレットの選択結果に基づき、前記ポートレットの各々の前記代替情報を更新する
請求項１又は２に記載の表示制御装置。
【請求項４】
表示制御装置が、
前記複数のポートレットのいずれか１個以上を実行する１台以上のポートレット実行装
置と、
請求項１乃至３のいずれかに記載の表示制御装置と
を含む情報処理システム。
【請求項５】
表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを読み出し、
読み出した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力し、
前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を代替情報記憶手段に記憶し、
前記ポートレットの障害の有無を判定し、
前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、前記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを読み出し、
当該代替ポートレットは、当該障害があるポートレットの代わりに、前記表示画面を表示する端末からの入力イベントを受け付ける
表示制御方法。
【請求項６】
障害が発生した前記ポートレットの入力フォームのフォームタイトルと同じフォームタイトルの入力フォームを表示し当該ポートレットの代わりに前記端末からの入力データを受信する前記代替ポートレットを生成して実行し、
前記代替ポートレットに対して行われる前記入力イベントを受信して、前記入力イベントの入力先のポートレットを特定し、前記入力イベントを表す入力イベント情報を記憶し、
前記障害判定手段は、障害があった前記ポートレットに障害が無くなったことを判定した場合、障害があった前記ポートレットに障害が無くなったことを表す通知を当該ポートレットの代替ポートレットに送信し、
当該代替ポートレットは、前記通知を受信した場合に、記憶された前記入力イベント情報を当該障害があったポートレットに送信する
請求項５に記載の表示制御方法。
【請求項７】
前記ポートレットを含む複数のポートレットのカテゴリを表すカテゴリ情報を、当該ポートレットを特定する情報と関連付けてポートレット情報記憶手段に記憶し、
前記ポートレットに障害が発生した場合に、前記ポートレット情報記憶手段が記憶する前記カテゴリ情報を読み出し、当該ポートレットと同じカテゴリの他のポートレットから、当該ポートレットの代替となる前記代替ポートレットを選択し、障害がある前記ポートレットと選択した前記代替ポートレットを関連付ける代替情報を前記代替情報記憶手段に記憶させて、
前記代替情報記憶手段は、前記ポートレット選択手段による前記代替ポートレットの選択結果に基づき、前記ポートレットの各々の前記代替情報を更新する
請求項５又は６に記載の表示制御方法。
【請求項８】
コンピュータを、
表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを読み出す入力手段と、
前記入力手段が読み出した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力する画面出力手段と、
前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を記憶する代替情報記憶手段と、
前記ポートレットの障害の有無を判定し、障害がある場合前記入力手段に通知する障害判定手段と
として動作させ、
前記入力手段は、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、前記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを読み出し、
当該代替ポートレットは、当該障害があるポートレットの代わりに、前記表示画面を表示する端末からの入力イベントを受け付ける
表示制御プログラム。
【請求項９】
コンピュータを、
障害が発生した前記ポートレットの入力フォームのフォームタイトルと同じフォームタイトルの入力フォームを表示し当該ポートレットの代わりに前記端末からの入力データを受信する前記代替ポートレットを生成して実行する代替ポートレット実行手段と、
前記代替ポートレットに対して行われる前記入力イベントを受信して、前記入力イベントの入力先のポートレットを特定し、前記入力イベントを表す入力イベント情報を前記特定したポートレットに送信するイベント入力手段と、
前記入力イベント情報を記憶するイベント情報記憶手段と
として動作させ、
前記障害判定手段は、障害があった前記ポートレットに障害が無くなったことを判定した場合、障害があった前記ポートレットに障害が無くなったことを表す通知を当該ポートレットの代替ポートレットに送信し、
当該代替ポートレットは、前記通知を受信した場合に、前記イベント情報記憶手段に記憶された前記入力イベント情報を読み出し、当該障害があったポートレットに送信する
請求項８に記載の表示制御プログラム。
【請求項１０】
コンピュータを、
前記ポートレットを含む複数のポートレットのカテゴリを表すカテゴリ情報を、当該ポートレットを特定する情報と関連付けて記憶するポートレット情報記憶手段と、
前記ポートレットに障害が発生した場合に、前記ポートレット情報記憶手段が記憶する前記カテゴリ情報を読み出し、当該ポートレットと同じカテゴリの他のポートレットから、当該ポートレットの代替となる前記代替ポートレットを選択し、障害がある前記ポートレットと選択した前記代替ポートレットを関連付ける代替情報を前記代替情報記憶手段に記憶させるポートレット選択手段と
として動作させ、
前記代替情報記憶手段は、前記ポートレット選択手段による前記代替ポートレットの選択結果に基づき、前記ポートレットの各々の前記代替情報を更新する
請求項８又は９に記載の表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はポートレットによるウェブページへの表示を切り替える表示制御装置、表示制御方法、及び表示制御プログラムに関し、特に、障害が発生したポートレットによるウェブページへの表示を切り替える表示制御装置、表示制御方法、及び表示制御プログラムに関する。
【背景技術】
【０００２】
ブラウザで操作する業務システムには、複数の業務システムを切り替えて使用する場合、起動に時間が掛かり、また、操作が煩雑になると言う問題がある。業務システム毎にブラウザを起動してログイン操作を行うことが必要であれば、操作は更に煩雑になる。この問題を解決するためのシステムに、業務システム毎のポートレットが表示を行う領域を複数含む、ポータルページを提供するポータルシステムがある。ポータルシステムの利用者は、端末上で動作する一つのブラウザで、業務システム毎のポートレットの表示領域を含むポータルページを表示する。ポータルシステムの利用者は、それぞれの表示領域で操作を行うことにより、その表示領域に対応する業務システムを利用する。このようなポータルシステムでは、ポータルページへの一度のログイン操作で、各業務システムの操作が可能になるようログインを一元化することもできる。
【０００３】
ポートレットが表示を行う、ポータルページの一部の領域は、ポートレットウィンドウと呼ばれる。ポートレットは、ポートレット毎のポートレットウィンドウでサービスを提供するウェブアプリケーションである。ポートレットは、業務システムとして動作するものに限らず、例えば天気予報やニュースなどを表示するものであっても、電子メールクライアントであってもよい。なお、例えば後述の特許文献１の記載のように、ポートレットウィンドウに表示される表示内容のことをポートレットと呼び、ポートレットウィンドウに表示内容を表示することを、ポートレットを表示すると表記する場合もある。
【０００４】
ポートレットを実行する装置は、ポータルシステムとして動作する装置と同一の装置であっても、別の装置であっても構わない。ポートレットを実行する装置とポータルシステムの装置が別の装置であれば、双方の装置は、互いを接続するネットワークを介して、表示内容を表す情報や、ポートレットウィンドウに対する入力イベントを表す情報の送受信を行えばよい。
【０００５】
ポータルシステムは、おおむね次のように動作する。ポータルシステムは、端末からポータルページを出力する要求を受け、ポータルページが含む各ポートレットウィンドウに対応するポートレット各々に対して、ポートレットウィンドウに表示するためのデータの出力を要求する。要求を受けた各ポートレットは、ポートレットウィンドウに表示するためのデータを、ポータルシステムに対して出力する。ポータルシステムは、各ポートレットから受信したデータを合成して構成したポータルページを表すデータを、端末に対して出力する。
【０００６】
なお、「ポータルページ」は、元来、ウェブにアクセスする時の入り口となるページを意味する言葉であったが、そこから派生して、複数のポータルウィンドウを含むページを意味するようにもなった。本発明における「ポータルページ」は後者である。
【０００７】
特許文献１には、ポートレットの配置を自動的に変更するポートレット自動配置装置の例が記載されている。特許文献１に記載のポートレット自動配置装置は、利用者が参照したいと考えているキー情報に基づいて、不必要なポートレットの消去や、利用者が注目しているポートレットの近くに、そのポートレットに関連の深いポートレットの配置を行う。このポートレット自動配置装置は、各ポートレットが参照するコンテンツ情報及びポートレット表示画面から抽出したキーワードを元にポートレット間の関連度を算出する。ポートレット自動配置装置は、利用者が参照しているポートレットの付近に、そのポートレットと関連度が高い順にポートレットが配置されるよう、配置を変更する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３４６３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述のポータルシステムでは、ポータルページのいずれかのポートレットウィンドウに表示を行うポートレットに障害が発生した場合、障害が発生したポートレットウィンドウで提供されていたサービスが提供されなくなる。そのため、前述のポータルシステムには、ポートレットの障害の発生によってユーザビリティが低下するという問題がある。
【００１０】
特許文献１に記載の技術では、上述の問題を解決することはできない。
【００１１】
本発明の目的は、上述の問題を解決する表示制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の表示制御装置は、表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを入力する入力手段と、入力した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力する画面出力手段と、前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を記憶する代替情報記憶手段と、前記ポートレットの障害の有無を判定し、障害がある場合前記入力手段に通知する障害判定手段とを含み、前記入力手段は、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを入力する。
【００１３】
本発明の表示制御方法は、表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを入力し、入力した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力し、前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を代替情報記憶手段に記憶し、前記ポートレットの障害の有無を判定し、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを入力する。
【００１４】
本発明の表示制御プログラムは、コンピュータを、表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを入力する入力手段と、入力した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力する画面出力手段と、前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を記憶する代替情報記憶手段と、前記ポートレットの障害の有無を判定し、障害がある場合前記入力手段に通知する障害判定手段として動作させ、前記入力手段は、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを入力する。
【発明の効果】
【００１５】
本発明には、ポータルページのいずれかのポートレットウィンドウに表示を行うポートレットに障害が発生した場合に、障害の発生によるユーザビリティの低下を抑制できるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態の表示制御装置１の構成を表すブロック図である。
【図２】第１の実施形態の表示制御装置１及び第２の実施形態の表示制御装置１Ａのポートレットの障害発生時の動作を表すフローチャートである。
【図３】代替情報の第１の例を表す図である。
【図４】ポータルページの例を表す図である。
【図５】障害が発生したポートレットが存在する場合のポータルページの第１の例を表す図である。
【図６】障害が発生したポートレットが存在する場合のポータルページの第２の例を表す図である。
【図７】第２の実施形態の表示制御装置１Ａの構成を表すブロック図である。
【図８】第２の実施形態の表示制御装置１Ａの代替情報格納時の動作を表すフローチャートである。
【図９】カテゴリ情報の例を表す図である。
【図１０】代替情報の第２の例を表す図である。
【図１１】第２の実施形態の表示制御装置１Ａの入力イベント入力時の動作を表すフローチャートである。
【図１２】入力フォーム情報を表す図である。
【図１３】第３の実施形態の表示制御装置１の構成を表すブロック図である。
【発明を実施するための形態】
【００１７】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１８】
図１は、本実施形態の表示制御装置１の構成を表すブロック図である。
【００１９】
図１を参照すると、表示制御装置１は、入力部１０と、画面出力部１１と、代替情報記憶部１２と、障害判定部１３を含む。
【００２０】
本実施形態の表示制御装置１は、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。例えば、入力部１０と、画面出力部１１と、障害判定部１３は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、代替情報記憶部１２は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、入力部１０と、画面出力部１１と、代替情報記憶部１２と、障害判定部１３の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【００２１】
表示制御装置１には、端末２と、ポートレット実行装置３が接続されている。
【００２２】
ポートレット実行装置３は、ポートレットコンテナ３０を含む。ポートレットコンテナ３０は、複数のポートレット（ポートレット３０１、ポートレット３０２、…、ポートレット３０Ｎ、ポートレット４０１、ポートレット４０２、…、ポートレット４０Ｍ）を含む。ポートレットコンテナは、例えば、各ポートレットを実行するための環境の提供、各ポートレットの生成・消滅などの管理、各ポートレットへの要求や応答の仲介等を行う、例えばコンピュータ上で動作するプログラムである。
【００２３】
ポートレット実行装置３は、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。例えば、ポートレットコンテナ３０及び各ポートレットは、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各々の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。あるいは、ポートレットコンテナ３０及び各ポートレットの一部又は全部を、各々の機能を実現する専用の回路によって実現することもできる。
【００２４】
入力部１０は、各ポートレットから、表示内容を表す表示データを入力する。各表示データは、例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語で記述された、マークアップコードであればよい。各表示データは、ポータルページ全体の一部を表すデータであればよい。
【００２５】
画面出力部１１は、端末２からの要求に応じて、１個以上のポートレットウィンドウを含むポータルページの表示画面を端末２に対して出力する。画面出力部１１が出力する表示画面は、ポータルページの内容を表し、端末２が画面に表示することができるデータである。画面出力部１１が出力する表示画面は、例えば、ＸＭＬやＨＴＭＬ等のマークアップ言語で表されたデータであればよい。画面出力部１１は、各ポートレットから受信した表示データが表す表示内容を、そのポートレットに対応するポートレットウィンドウに表示するよう、表示画面を構成する。
【００２６】
なお、図１の例では、ポートレット３０１〜ポートレット３０Ｎが、各ポートレットに障害がない状態でポータルページが含むポートレットウィンドウに対応するポートレットである。ポートレット４０１〜ポートレット４０Ｍは、各ポートレットに障害がない状態でポータルページが含むポートレットウィンドウに、対応するポートレットウィンドウが無いポートレットである。ポートレット３０１〜ポートレット３０Ｎに障害が無い状態では、入力部１０は、ポートレット３０１〜ポートレット３０Ｎの各々から表示データを入力する。また、この状態では、入力部１０は、ポートレット４０１〜ポートレット４０Ｍのいずれからも表示データを入力する必要はない。
【００２７】
代替情報記憶部１２は、ポートレットを特定する情報と、そのポートレットに障害が発生した場合に、そのポートレットの代替として使用する代替ポートレットを特定する情報とを関連付けた、代替情報を記憶する。あるポートレットの代替ポートレットは、元のポートレットと類似したサービス又は同一のサービスを提供するポートレットであればよい。ポートレットを特定する情報（ポートレットＩＤ（Ｉｄｅｎｔｉｆｉｅｒ））は、例えば、ポートレットを特定することが可能な、ポートレットの名称等の文字列やデータであればよい。以下、あるポートレット（例えばポートレットＡ）を特定する情報と、ポートレットＡの代替ポートレットを特定する情報を含む代替情報を、ポートレットＡの代替情報と表記する。
【００２８】
障害判定部１３は、各ポートレットに障害が発生しているか否かを判定し、障害が発生しているポートレットを特定する。障害発生部１３は、ポートレット３０１〜ポートレット３０Ｎに障害が発生しているか否かを判定すればよい。障害発生部１３は、ポートレット３０１〜ポートレット３０Ｎだけでなく、ポートレット４０１〜ポートレット４０Ｍに障害が発生しているか否かを判定してもよい。
【００２９】
障害判定部１３は、障害が発生したポートレットを特定する情報を、入力部１０に送信する。入力部１０は、障害判定部１３から受信した情報で特定されるポートレットの代替情報を、代替情報記憶部１２から読み出す。入力部１０は、障害が発生したポートレットの代わりに、読み出した代替情報から特定した代替ポートレットから、表示データを入力する。
【００３０】
端末２は、画面出力部１１が出力する表示画面を、例えばブラウザによって、画面に表示する。
【００３１】
表示制御装置１は、端末２にポータルページの表示画面を出力するポータルシステムとして動作する。端末２が表示制御装置１にポータルページの出力を要求すると、表示制御装置１は、ポータルページが含む各ポートレットに対して、表示データを要求する。要求を受けた各ポートレットは、入力部１０に対して表示データを出力する。画面出力部１１は、入力部１０が受信した各表示データを合成したポータルページを表す表示画面を構成して、端末２に出力する。
【００３２】
ポートレット実行装置３は、ポートレットコンテナ３０内で各ポートレットを実行する。
【００３３】
ポートレットコンテナ３０は、各ポートレットを実行するための環境を提供し、各ポートレットの生成・消滅などの管理を行う。また、ポートレットコンテナ３０は、ポータルシステムとして動作する表示制御装置１から各ポートレットへの要求や、各ポートレットから表示制御装置１に対する応答を仲介する。
【００３４】
図１の例では、表示制御装置１とポートレット実行装置３は別の装置であるが、これらは同じ装置であってもよい。また、ポートレット実行装置３は、１台に限らない。１台がポートレット実行装置３は、複数のポートレットコンテナ３０を含んでいてもよい。一つのポートレットコンテナ３０が、全てのポートレットを含んでいなくてもよい。
【００３５】
次に、本実施形態の動作について、図面を参照して詳細に説明する。
【００３６】
図２は、本実施形態の表示制御装置１の動作を表すフローチャートである。
【００３７】
図２のフローチャートの開始時は、例えば、端末２による、表示制御装置１に対するポータルページの出力の要求時であればよい。図２のフローチャートの開始時は、あるいは、端末２がポータルページを既に表示している時点であってもよい。
【００３８】
ポータルページは、個々のポートレットから入力した表示データが表す表示画面を表示するポートレットウィンドウを、１個以上含む。ポートレットは、例えば、メッセージや天気予報、株価などを表示するアプリケーションプログラムや、売上げの入力、工数の入力、勤務管理等、何らかのデータを入力するためのアプリケーションプログラムや、検索等、何らかの入力に対する結果を得るためのアプリケーションプログラムである。ポートレットは、ポータルページのポートレットウィンドウ内で動作可能なアプリケーションプログラムであれば、どのようなアプリケーションプログラムであってもよい。
【００３９】
図２を参照すると、まず、障害判定部１３が、各ポートレットの障害の有無を判定し、障害があるポートレットを特定する（ステップＳ１０）。障害判定部１３は、全てのポートレットの障害の有無を判定するのではなく、対応するポートレットウィンドウがポータルページに含まれるポートレットの障害の有無を判定すればよい。
【００４０】
ポートレットに障害がある状態は、ポートレット側に何らかの原因があるために、利用者がポータルページ上でポートレットを利用することが困難又は不能になった状態のことである。障害判定部１３は、例えば表示制御装置１の設計者が、予め決めた基準に基づき、ポートレットに障害があることを判定すればよい。ポートレットの障害には、例えば、ポートレットによる表示データの出力に著しい遅延が生じたり、ポートレットが表示データを出力しなくなったりして、ポートレットの利用が困難または不能な状態になることがある。このような場合、障害判定部１３は、表示制御装置１から各ポートレットへの表示データの要求後、予め決められた所定時間内に表示データを入力部１０に入力しなかったポートレットを、障害があるポートレットと判定すればよい。
【００４１】
あるいは、障害判定部１３は、例えば、ポートレットコンテナ３０から障害が発生したポートレットを特定する通知を受信した場合に、その通知で特定されるポートレットに障害が発生したと判定してもよい。この場合、ポートレットコンテナ３０は、ポートレットコンテナ３０に含まれるポートレットに障害が発生したことを検出し、障害が発生したポートレットを特定する通知を障害判定部１３に送信するよう設計されていればよい。
【００４２】
障害があるポートレットが存在しない場合（ステップＳ１１、Ｎ）、入力部１０は、対応するポートレットウィンドウがポータルページに含まれる各ポートレットから、表示データを入力し、ステップＳ１６に進む。
【００４３】
障害があるポートレットが存在する場合（ステップＳ１１、Ｙ）、入力部１０は、代替情報記憶部１２から、障害があるポートレットの代替情報を読み出す（ステップＳ１３）。
【００４４】
図３は、代替情報記憶部１２が記憶する代替情報の例を表す図である。
【００４５】
図３の各行が、ポートレットＩＤによって特定されるポートレットの代替情報を表す。代替情報は、ポートレットを特定するポートレットＩＤと、そのポートレットＩＤで特定されるポートレットの代替ポートレットを特定する代替ポートレットＩＤを含んでいればよい。代替情報は、ポートレットの名称や代替ポートレットの名称などの他の情報を含んでいてもよい。前述のように、ポートレットＩＤや代替ポートレットＩＤは、ポートレットを特定できる情報であればよい。ポートレットＩＤや代替ポートレットＩＤは、例えばポートレットの名称であってもよい。
【００４６】
代替情報記憶部１２が記憶する各ポートレットの代替情報は、例えば表示制御装置１の管理者が、予め作成して代替情報記憶部１２に格納したものであればよい。代替情報記憶部１２は、端末２の全ての利用者に対して同じ代替情報を記憶していればよい。あるいは、代替情報記憶部１２は個々の利用者や利用者のグループを特定する情報（利用者情報）に対応付けられた利用者ごとの代替情報を記憶し、入力部１０は端末２から利用者情報を受信し、受信した利用者情報に応じた代替情報を読み出してもよい。代替情報記憶部１２は、必ずしも全てのポートレットの代替情報を記憶する必要はない。例えば、他のポートレットと連係して動作しており、代替ポートレットとして動作可能なポートレットが存在しないなどの理由で、代替ができないポートレットの代替情報は、存在していなくてよい。
【００４７】
各ポートレットの代替ポートレットは、例えばそれぞれのポートレットと同一カテゴリのポートレットから、予め適宜選択しておいたポートレットであればよい。
【００４８】
入力部１０は、障害があるポートレットの代替情報に含まれる代替ポートレットＩＤにより、その障害があるポートレットの代替ポートレットを特定する（ステップＳ１４）。
【００４９】
入力部１０は、障害のないポートレットと、障害のあるポートレットの代替ポートレットから、表示データを入力する（ステップＳ１５）。
【００５０】
画面出力部１１は、入力した表示データを合成した、ポータルページの表示画面を生成する（ステップＳ１６）。
【００５１】
画面出力部１１は、障害のあるポートレットが存在した場合、その障害があるポートレットの代替ポートレットから入力した表示データが表す表示内容を表示する。画面出力部１１は、代替ポートレットから入力した表示データを、障害があるポートレットのポートレットウィンドウに表示しても、ポータルページに生成した別のポートレットウィンドウに表示してもよい。なお、画面出力部１１は、障害があるポートレットのポートレットウィンドウに代替ポートレットから入力した表示データが表す表示内容を表示しない場合、そのポートレットウィンドウに障害が発生したことを示す表示を行ってもよく、何も表示しなくてもよい。
【００５２】
画面出力部１１は、生成した表示画面を端末２に対して出力する（ステップＳ１７）。
【００５３】
なお、障害判定部１３は、障害があったポートレットの障害が解消したことを判定した場合、入力部１０に、障害があったポートレットの障害が解消したことを表す通知を行えばよい。通知を受信した入力部１０は、障害が解消したポートレットの代替ポートレットから表示データを入力している場合は代替ポートレットからの入力を中止し、障害が解消したポートレットから表示データを入力すればよい。障害判定部１３は、例えば、ポートレットコンテナ３０から、障害があったポートレットが復旧したことを表すイベントを受診した場合、そのポートレットの障害が解消したことを判定すればよい。この場合、ポートレットコンテナ３０は、各ポートレットに発生した障害が解消した場合に、障害判定部１３にイベントを通知する設計にしておけばよい。また、障害判定部１３は、例えば、障害が発生したポートレットが正常動作するか定期的に確認を行い、正常動作することが確認できた場合、障害が解消したと判定してもよい。
【００５４】
図４は、ポータルページにポートレットウィンドウが含まれる各ポートレットに障害がない場合の、ポータルページの例を表す図である。
【００５５】
図５は、図４の「ポートレットＣ」に障害が発生し、ポートレットＣの代替ポートレットから入力した表示データを、ポートレットＣのポートレットウィンドウに表示した場合の、ポータルページの例を表す図である。
【００５６】
図６は、図４の「ポートレットＣ」に障害が発生し、ポートレットＣの代替情報が存在せず、ポートレットＣのポートレットウィンドウに障害が発生したことを示す表示した場合の、ポータルページの例を表す図である。
【００５７】
以上で説明した本実施形態には、ポータルページのいずれかのポートレットウィンドウに表示を行うポートレットに障害が発生した場合に、障害の発生によるユーザビリティの低下を抑制できるという効果がある。
【００５８】
その理由は、入力部１０が、表示内容を表す表示データを、障害があると障害判定部１３が判定したポートレットの代わりに、そのポートレットの代替ポートレットから入力するからである。出力部１０は、正常なポートレットと代替ポートレットから入力した表示データを合成してポータルページの表示画面を構成し、出力する。従って、ポータルページの利用者は、障害があるために利用できなくなったポートレットの代わりに、そのポートレットの代替ポートレットを利用することが可能になる。
【００５９】
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【００６０】
図７は、本実施形態の表示制御装置１Ａの構成を表す図である。
【００６１】
図７の表示制御装置１Ａは、図１に示す第１の実施形態の表示制御装置１の構成に加えて、イベント入力部１４と、入力イベント記憶部１５と、代替入力ポートレット実行部１６と、ポートレット情報記憶部１７と、ポートレット選択部１８を含む。
【００６２】
本実施形態の表示制御装置１Ａは、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。例えば、入力部１０と、画面出力部１１と、障害判定部１３と、イベント入力部１４と、代替入力ポートレット実行部１６と、ポートレット選択部１８は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、代替情報記憶部１２と、入力イベント記憶部１５と、ポートレット情報記憶部１７は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、入力部１０と、画面出力部１１と、代替情報記憶部１２と、障害判定部１３と、イベント入力部１４と、入力イベント記憶部１５と、代替入力ポートレット実行部１６と、ポートレット情報記憶部１７と、ポートレット選択部１８の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【００６３】
イベント入力部１４は、表示画面を表示する端末２から入力イベントを入力して、入力イベントの入力先のポートレットを特定し、特定したポートレットに入力イベントを表す入力イベント情報を送信する。
【００６４】
代替入力ポートレット実行部１６は、１個以上のポートレット（ポートレット１６１〜ポートレット１６Ｌ）を実行する。代替入力ポートレット実行部１６は、ポートレット１６１〜ポートレット１６Ｌのポートレットコンテナであればよい。この場合、以下の説明における、代替入力ポートレット実行部１６が実行するポートレットは、ポートレットコンテナであるポートレット実行部１６内で実行されるポートレットのことである。
【００６５】
ポートレット１６１〜ポートレット１６Ｌは、ポートレット実行装置３が実行するポートレットのうち、入力イベント情報を受信するポートレットのいずれかと、同じ入力イベント情報を受信するよう設計されたポートレットである。
【００６６】
代替情報記憶部１２は、ポートレット実行装置３が実行する、入力イベント情報を受信するポートレットと、そのポートレットと同じ入力イベント情報を受信する、代替入力ポートレット実行部１６が実行するポートレットとを関連付ける代替情報を記憶する。例えば表示制御装置１Ａの管理者が、ポートレット実行装置３が実行するポートレットと、代替入力ポートレット実行部１６が実行するポートレットとを関連付ける代替情報を予め作成して、代替情報記憶部１２に格納しておけばよい。
【００６７】
入力イベント記憶部１５は、代替入力ポートレット実行部１６が実行するポートレットが、イベント入力部１４を介して受信した入力イベント情報を記憶する。
【００６８】
障害があると障害判定部１３が判定したポートレットが、入力イベント情報を受信するポートレットであるか否かにかかわらず、入力部１０は、第１の実施形態の入力部１０と同様に、そのポートレットの代替情報を代替情報記憶部１２から読み出す。代替情報によって特定される代替ポートレットが、代替入力ポートレット実行部１６が実行するポートレットである場合も同様に、入力部１０は、障害があると判定されたポートレットの代わりに、代替ポートレットから表示データを入力する。この場合、画面出力部１１が出力する表示画面が表すポータルページには、代替入力ポートレット実行部１６が実行するポートレットのポートレットウィンドウが含まれる。
【００６９】
イベント入力部１４が特定した、入力イベントの入力先のポートレットが、代替入力ポートレット実行部１６が実行するポートレットである場合も同様に、イベント入力部１４は、入力イベント情報を入力先のポートレットに送信する。
【００７０】
入力イベント情報を受信した、代替入力ポートレット実行部１６が実行するポートレットは、受信した入力イベント情報を、自身が格納したことが分かる形で入力イベント記憶部１５に格納すればよい。
【００７１】
障害判定部１３は、障害があったポートレットの障害が解消したことを判定した場合、そのポートレットの代替ポートレットが、代替入力ポートレット実行部１６が実行するポートレットであるなら、代替ポートレットに障害が解消したことを表す通知を行う。この場合、障害判定部１３は、障害が解消したことを表す通知の代わりに、受信した入力イベント情報を、障害が解消したポートレットに送信する指示を、代替ポートレットに送信してもよい。
【００７２】
代替入力ポートレット実行部１６が実行する代替ポートレットは、障害判定部１３から障害が解消したことを表す通知を受信すると、入力イベント情報を入力イベント記憶部１５から読み出し、障害があったポートレットに送信する。以下では、入力イベント情報を受信し入力イベント記憶部１５に格納し、障害判定部１３から障害が解消したことを表す通知を受信するとこのような動作をする代替ポートレットを、代替入力ポートレットと表記する。
【００７３】
ポートレット情報記憶部１７は、各ポートレットのカテゴリを表すカテゴリ情報を、ポートレットを特定する情報と関連付けて記憶する。
【００７４】
ポートレット選択部１８は、ポートレット情報記憶部１７が記憶する、ポートレットを特定する情報に関連付けられたカテゴリ情報を読み出し、各ポートレットの代替ポートレットを同じカテゴリのポートレットから選択し、代替情報を生成する。ポートレット選択部１８は、生成した代替情報を、代替情報記憶部１２に格納する。ポータルページにポートレットウィンドウが含まれるポートレットに障害があると障害判定部１３が判定した場合、入力部１０は、ポートレット選択部１８が代替情報記憶部１２に格納した代替情報を読み出して、代替ポートレットを特定することができる。
【００７５】
入力部１０は、ポートレット実行装置３が実行する各ポートレットに加えて、代替入力ポートレット実行部１６が実行するポートレットからも、表示データを入力する。
【００７６】
なお、図７では、表示制御装置１Ａが代替入力ポートレット実行部１６を含んでいる。さらに、表示制御装置１Ａとポートレット実行装置３は別の装置である。しかし、ポートレット実行装置３が、代替入力ポートレット実行部１６を含んでいてもよい。また、表示制御装置１Ａとポートレット実行装置３は、同じ装置であってもよい。代替入力ポートレット実行部１６とポートレットコンテナ３０が同じ装置に含まれる場合、代替入力ポートレット実行部１６とポートレットコンテナ３０は、同一のポートレットコンテナであってもよい。図７は、代替入力ポートレットとして動作するポートレットを代替入力ポートレット実行部１６が実行し、それ以外のポートレットをポートレット実行装置３が実行する例を表している。
【００７７】
次に、本実施形態の表示制御装置１Ａの動作について、図面を参照して詳細に説明する。
【００７８】
図８は、表示制御装置１Ａが、各ポートレットのカテゴリ情報を使用して代替ポートレットを選択し、代替情報を生成する動作を表すフローチャートである。
【００７９】
図８を参照すると、まず、ポートレット選択部１８が、ポートレット情報記憶部１７から、各ポートレットのカテゴリ情報を読み出す（ステップＳ２０）。
【００８０】
図９は、ポートレット情報記憶部１７が記憶する、各ポートレットのカテゴリ情報の例を表す図である。なお、ポートレット情報記憶部１７は、ポートレットを特定する情報に関連付けて、そのポートレットのカテゴリ情報だけを記憶するのではなく、図９の例のように、カテゴリ情報に加えてカテゴリ情報以外の情報を含むメタデータを記憶していてもよい。
【００８１】
次に、ポートレット選択部１８は、各ポートレットの代替ポートレットを、同じカテゴリのポートレットの中から選択する（ステップＳ２１）。
【００８２】
なお、ポートレット選択部１８は、既に代替情報が代替情報記憶部１２に記憶されているポートレットの代替ポートレットを選択する必要はない。
【００８３】
また、ポートレット選択部１８は、カテゴリ情報によらない、他の方法で各ポートレットの代替ポートレットを選択してもよい。ポートレットを選択する方法には、例えば、ポートレット選択部１８が、利用者にポートレットを特定可能な情報を提示してキーワードを入力させ、入力したキーワードが表示内容に最もマッチするポートレットを選択する方法がある。あるいは、ポートレット選択部１８は、ポートレットの表示内容に対する他のポートレットの類似の程度を表す類似度を算出し、そのポートレットに対する類似度が最も高いポートレットを選択し、選択したポートレットをそのポートレットの代替ポートレットにしてもよい。ポートレット選択部１８は、ポートレットに障害が発生した場合にアクセスが最も増加するポートレットを、障害が発生したポートレットの代替ポートレットにしてもよい。ポートレット選択部１８は、代替ポートレットを選択しようとしているポートレットと同一カテゴリのポートレットが複数存在する場合、それらの複数のポートレットから、以上のカテゴリ情報によらない方法によって代替ポートレットを選択してもよい。
【００８４】
ポートレット選択部１８は、一つの代替ポートレットを選択するのではなく、前述のいずれかの方法で複数の代替ポートレットの候補を選択して利用者に提示してもよい。ポートレット選択部１８は、提示したポートレットの中から利用者が選択したポートレットを、代替ポートレットにすればよい。ポートレット選択部１８が代替ポートレットの候補として提示するポートレットは、自動的に選択するのではなく、過去の代替ポートレットとしての利用実績やアンケートの結果に基づき、予め選択したポートレットであってもよい。
【００８５】
なお、図８の動作は、ポートレット選択部１８が事前に各代替情報を生成し、代替情報記憶部１２に格納しておく場合の動作を表している。しかし、ポートレット選択部１８は、障害判定部１３がいずれかのポートレットに障害が発生したことを判定してから、代替ポートレットの複数の候補を利用者に提示するなどして、障害が発生したポートレットの代替ポートレットを利用者に選択させてもよい。ポートレット選択部１８は、障害が発生したポートレットを特定する情報と選択されたポートレットを特定する情報から生成した代替情報を、代替情報記憶部１２に格納すればよい。入力部１０は、その代替情報を読み出して、障害が発生したポートレットの代替ポートレットを特定すればよい。
【００８６】
ポートレット選択部１８は、次に、ポートレットを特定する情報と、選択した代替ポートレットを特定する情報から、代替情報を生成する（ステップＳ２２）。
【００８７】
ポートレット選択部１８は、生成した代替情報を、代替情報記憶部１２に格納する（ステップＳ２３）。
【００８８】
次に、障害が発生したポートレットの代わりに、障害が発生したポートレットの代替ポートレットから表示データを入力し、入力した表示データを合成したポータルページを表示する、表示制御装置１Ａの動作について説明する。
【００８９】
この場合の動作は、図２に示す第１の実施形態の表示制御装置１の動作と同じである。従って、詳細な説明は省略する。
【００９０】
ただし、ステップＳ１３で入力部１０が読み出す代替情報には、代替入力ポートレット実行部１６が実行するポートレットが代替ポートレットであるものが存在する。
【００９１】
図１０は、本実施形態の代替情報記憶部１２が記憶する代替情報の例を表す図である。図１０の例では、ポートレット３０１の代替ポートレットは、代替入力ポートレット実行部１６が実行するポートレット１６１である。
【００９２】
次に、表示制御装置１Ａが端末２から入力イベント情報を受信する動作について説明する。
【００９３】
図１１は、この場合の本実施形態の表示制御装置１Ａの動作を表すフローチャートである。
【００９４】
図１１の開始時において、図２に示す動作の結果、画面出力部１１は表示画面を出力し、端末２はポータルページを表示している。
【００９５】
いずれかのポートレットに障害が生じ、障害が生じたそのポートレットの代替ポートレットが存在するのであれば、ポータルページは、その代替ポートレットが出力する表示データを表示するポートレットウィンドウを含んでいる。障害が生じたポートレットが、入力イベント情報を受信するポートレットであるなら、そのポートレットの代替ポートレットは、代替入力ポートレット実行部１６が実行する代替入力ポートレットである。この場合、端末２が表示するポータルページは、障害が生じたポートレットの表示データの代わりに表示データを入力する、代替入力ポートレットのポートレットウィンドウを含む。そのポートレットウィンドウには、代替入力ポートレットの表示データが合成されて表示されている。
【００９６】
端末２の利用者は、何らかの入力の操作を受け付けるポートレットを使用したいが、そのポートレットには障害が発生している場合、そのポートレットの代わりに、代替入力ポートレットに対して入力の操作を行えばよい。端末２の利用者が、ブラウザが表示するポータルページに対して何らかの入力の操作を行うと、端末２は、その入力の操作を表す情報と入力の操作の対象であるポートレットを特定する情報を含む入力イベント情報を、表示制御装置１Ａに対して送信する。表示制御装置１Ａのイベント入力部１４が、その入力イベント情報を入力する。
【００９７】
図１１を参照すると、まず、イベント入力部１４が、端末２から入力イベント情報を入力する（ステップＳ３０）。
【００９８】
入力イベント情報は、例えば、キーボードのキーの押下やマウスの移動やマウスボタンの押下のような、端末２の図示しない入力部を介した利用者による操作の情報である。また、入力イベント情報は、文字列を入力するための入力フォームへのキーボードによる入力の情報や、ブラウザに表示されたボタンの押下、ラジオボタンやチェックボックス、プルダウンメニューからの選択などのマウスによる入力の情報であってもよい。この場合、入力イベント情報は、入力された文字列や、マウスで押下したボタンの情報、ボタンやチェックボックス、プルダウンメニュー等からの選択結果の情報を含んでいればよい。入力イベント情報は、さらに、入力された文字列や選択結果が対応する、ＧＵＩ部品（入力フォーム、ボタン、チェックボックス、プルダウンメニュー等）を特定する情報を含んでいればよい。ＧＵＩ部品を特定する情報は、ＧＵＩ部品を特定できればどのような情報であっても構わない。例えば、入力フォームを特定する情報は、入力フォームを特定できるのであれば、フォームタイトルや、入力フォームを表示するポートレットの内部で予め定められた変数名等であってよい。
【００９９】
入力イベント情報を入力したイベント入力部１４は、その入力イベントの入力先のポートレットを特定する（ステップＳ３１）。
【０１００】
イベント入力部１４が入力イベントの入力先のポートレットを特定する方法は、既存の任意の方法でよい。例えば、利用者がブラウザに表示された入力フォームへの入力やプルダウンメニューの選択を行った場合、イベント入力部１４は、その入力フォームやプルダウンメニュー等のＧＵＩ部品の表示データを出力したポートレットを入力先のポートレットとすればよい。イベント入力部１４は、ポータルページを表示する、端末２のブラウザから、入力の操作が行われたポータルページ上の場所の情報を受信し、その場所を含むポータルウィンドウに対応するポートレットを、入力先のポートレットとしてもよい。端末２のブラウザが、入力イベント情報に入力先のポートレットを特定する情報を関連付けて、イベント入力部１４に送信してもよい。この場合、画面出力部１１が出力する表示画面が、各ポートレットウィンドウに対応する、ポートレットを特定する情報を含んでいればよい。
【０１０１】
イベント入力部１４は、特定した入力先のポートレットに、入力したイベントを送信する（ステップＳ３２）。
【０１０２】
本実施形態では、入力イベントの入力先のポートレットは、ポートレット実行装置３が実行するポートレット（代替入力ポートレットでないポートレット）、又は、代替入力ポートレット実行部１６が実行するポートレット（代替入力ポートレット）のいずれかである。
【０１０３】
入力イベントの入力先が、ポートレット実行装置３が実行しているポートレットであれば、イベント入力部１４は、入力イベント情報をポートレット実行装置３が実行するポートレットに送信する。入力イベントの入力先が、後述の代替入力ポートレット実行部１６が実行しているポートレットであれば、イベント入力部１４は、入力イベント情報を代替入力ポートレット実行部１６が実行する代替入力ポートレットに送信する。
【０１０４】
いずれの代替入力ポートレットも、イベント入力部１４が送信した入力イベント情報を受信しない場合（ステップＳ３３、Ｎ）、入力イベントの入力先のポートレットは、ポートレット実行装置３が実行するポートレットである。この場合、イベント実行部１４は、ポートレット実行装置３が実行するポートレットに入力イベント情報を送信し、ポートレット実行装置３が実行する入力先のポートレットが、入力イベント情報を受信して（ステップＳ４０）、処理を終了する。
【０１０５】
いずれかの代替入力ポートレットが、イベント入力部１４が送信した入力イベント情報を受信した場合（ステップＳ３３、Ｙ）、入力イベント情報を受信した代替入力ポートレットは、受信した入力イベント情報を入力イベント記憶部１５に格納する（ステップＳ３４）。
【０１０６】
障害が生じていたポートレットの障害が解消したことを、障害判定部１３が判定するまで、代替入力ポートレットは待機を継続する（ステップＳ３５、Ｎ）。なお、代替入力ポートレットが待機中に、その代替入力ポートレットへの別の入力イベント情報が入力された場合、表示制御装置１ＡはステップＳ３０〜ステップＳ３４の動作を繰り返せばよい。
【０１０７】
障害判定部１３は、障害が生じていたポートレットの障害が解消したことを判定すると（ステップＳ３５、Ｙ）、そのポートレットに生じていた障害が解消したことを表す通知を、そのポートレットの代替入力ポートレットに対して行う（ステップＳ３６）。代替入力ポートレット実行部１６がポートレットコンテナとして動作しているなら、障害判定部１３は、代替入力ポートレット実行部１６を介して、代替入力ポートレットへの通知を行えばよい。
【０１０８】
障害判定部１３は、少なくとも、代替情報記憶部１２が記憶する、障害が解消したポートレットの代替情報から特定した代替ポートレットが、代替入力ポートレット実行部１６が実行するポートレット（代替入力ポートレット）である場合に、前述の通知を行えばよい。この場合、例えば、代替情報が、代替ポートレットが代替入力ポートレットであるか否かを表す情報を含んでいればよい。あるいは、例えば、ポートレット情報記憶部１７が記憶する、代替ポートレットを含む各ポートレットの情報が、そのポートレットが代替入力ポートレットであるか否かを表す情報を含んでいてもよい。障害判定部１３は、特定した代替ポートレットの情報をポートレット情報記憶部１７から読み出して、特定した代替ポートレットが代替入力ポートレットであるか否かを判定すればよい。
【０１０９】
障害判定部１３は、さらに、入力部１０に対して、障害が解消したポートレットを特定する情報を送信すればよい。
【０１１０】
入力部１０は、障害が解消したポートレットの代替ポートレットではなく、障害が解消したポートレットから表示データを入力するよう、表示データの入力元を切り替える。画面出力部１１は、代替入力ポートレットではなく、障害が解消したポートレットから入力した表示データを、表示画面に合成して出力する。
【０１１１】
前述の通知を受信した代替入力ポートレットは、入力イベント記憶部１５に格納した入力イベント情報を読み出す（ステップＳ３７）。
【０１１２】
入力イベント情報を読み出した代替入力ポートレットは、読み出した入力イベント情報を、障害が解消したポートレットに送信する（ステップＳ３８）。障害が解消したポートレットは、代替入力ポートレットから、入力イベント情報を受信する（ステップＳ３９）。
【０１１３】
各代替入力ポートレットは、読み出した入力イベント情報の送信先となる、障害が解消したポートレットを特定する情報を、予め保持していればよい。代替入力ポートレットは、障害が解消したポートレットへの入力イベント情報の送信を、イベントを送ることで行えばよい。
【０１１４】
一般に、ポータルシステムが、ポートレット間のイベントの送受信を仲介する。本実施形態では、イベント入力部１４が、代替入力ポートレットから、読み出した入力イベント情報を送信するイベントを受け取り、送信先であるポートレットに対して送信すればよい。
【０１１５】
イベントの配布による複数のポートレット間の連携については、ＪＳＲ２８６（Ｊａｖａ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｑｕｅｓｔ  ２８６、又は、Ｊａｖａ  Ｐｏｒｔｌｅｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ２．０）で規定されている。代替入力ポートレットは、この規程に基づいた、障害が解消したポートレットに入力イベント情報を送信するイベントを発行すればよい。この場合、代替入力ポートレットは、このイベントを発行できるように、発行するイベントの定義にこのイベントの定義を含んで設計されていればよい。更に、このイベントの配布先となるポートレットは、このイベントを受信できるよう、受信するイベントの定義にこのイベントの定義を含んで設計されていればよい。また、イベント入力部１４は、各代替入力ポートレットが、それぞれの代替入力ポートレットに対応するポートレットに送信する入力イベントを、中継するよう設計されていればよい。
【０１１６】
入力イベント情報を送信するイベントを受信したポートレットは、入力部１０及び画面出力部１１を介して、入力イベント情報で表される入力を有効にするか確認を求める表示を、１件１件端末２に行い、有効にするイベント情報を利用者に選択させてもよい。さらに、入力イベント情報で表される入力を有効にしたポートレットは、その入力による実行結果を端末２に表示してもよい。
【０１１７】
以上で説明した本実施形態には、第１の実施形態の効果に加えて、ポータルページのいずれかのポートレットウィンドウで入力イベントを受信するポートレットに障害が発生した場合に、障害の発生によるユーザビリティの低下を抑制できるという効果がある。
【０１１８】
その理由は、入力イベントを受信するポートレットに障害が生じた場合、代替入力ポートレット実行部１６が実行する、障害が生じたポートレットと同じ入力イベントを受信する代替入力ポートレットから、表示内容を表す表示データを入力するからである。代替入力ポートレットは、受信した入力イベント情報を入力イベント記憶部１５に格納する。障害が生じたポートレットの障害が解消した後、代替入力ポートレットは、入力イベント記憶部１５から入力イベント情報を読み出し、障害が解消したポートレットに送信する。このことにより、入力イベントを受信するポートレットに障害が生じている間でも、そのポートレットに対する入力を行うことができる。
【０１１９】
次に、第２の実施形態の変形例について説明する。
【０１２０】
本変形例の構成は、図７の第２の実施形態の構成と同じである。
【０１２１】
本変形例の、入力イベントを受信する各ポートレットは、入力部１０及び画面出力部１１介して、端末２に入力フォームを表示し、端末２の利用者が入力フォームに入力したデータを含む入力イベント情報を、イベント入力部１４を介して、端末２から受信する。各ポートレットは、受信したデータを入力として、所定の処理を行う。
【０１２２】
ポートレット情報記憶部１７は、入力フォームを表示してデータを受信する各ポートレットの、入力フォームを特定する情報を含む入力フォーム情報を、ポートレットを特定する情報に関連付けて記憶する。なお、入力フォームを特定する情報は、各ポートレットが表示する各入力フォーム内で、入力フォームを特定できる情報であればよい。
【０１２３】
図１２は、入力フォーム情報の例を表す図である。図１２の例では、ポートレットを特定する情報（ポートレットＩＤ）は、ポートレットの名称である。入力フォームを特定する情報は、入力された文字列をポートレットが格納する記憶領域に対応する変数名である。
【０１２４】
図１２の例では、ポートレットＢとポートレットＣが、文字列を含む入力イベントを受信するポートレットである。ポートレットＢは、フォームタイトルがそれぞれ「製品ＩＤ」及び「個数」である２個の入力フォームを表示し、これら入力フォームに入力された文字列を、名称がそれぞれ「ｐｒｏｄｕｃｔＩｄ」及び「ｎｕｍｂｅｒ」である変数で表される記憶領域に格納する。ポートレットＣは、フォームタイトルがそれぞれ「入場時間」及び「退場時間」である２個の入力フォームを表示し、これら入力フォームに入力された文字列を、名称がそれぞれ「ｅｎｔｅｒ」及び「Ｅｘｉｔ」である変数で表される記憶領域に格納する。ポートレットＢ及びポートレットＣは、ポートレット実行装置３で実行されるポートレットである。これらのポートレットは、入力部１０及び画面出力部１１を介して、端末２の画面に入力フォームの表示を行う。また、これらのポートレットは、端末２に表示されたそれぞれの入力フォームに入力された文字列を、イベント入力部１４を介して受信する。
【０１２５】
障害判定部１３は、入力フォームを表示して文字列を受信するポートレットに障害が生じたことを判定すると、まず、障害が発生したポートレットを特定する情報を含む障害発生情報を、代替入力ポートレット実行部１６に送信する。
【０１２６】
代替入力ポートレット実行部１６は、障害発生情報を受信すると、障害が発生したポートレットの入力フォーム情報を読み出す。代替入力ポートレット実行部１６は、読み出した入力フォーム情報から、障害が発生したポートレットの、次に述べる機能を備えた代替入力ポートレット（ダミーポートレット）を生成し、実行する。ダミーポートレットは、入力フォーム情報に含まれる、障害が発生したポートレットの入力フォームのフォームタイトルと、同じフォームタイトルの入力フォームを表示する。ダミーポートレットは、表示した入力フォームに入力されたデータを、イベント入力部１４を介して受信する。ダミーポートレットは、さらに、受信したデータを、そのデータが殿入力フォームに対応するか特定できるように、例えば入力フォームを特定する情報に関連付けて、入力イベント記憶部１５に格納する。ダミーポートレットは、前述の障害が発生したポートレットの障害が解消した通知を受信すると、第２の実施形態の代替入力ポートレットと同様に、入力イベント格納部１５に格納したデータを読み出し、障害が解消したポートレットに送信する。このようにして、ダミーポートレットは、障害が発生したポートレットの代わりに、端末２の使用者が入力したデータを受信し、ポートレットに生じた障害が解消した後、受信したデータを障害が解消したポートレットに送信する。
【０１２７】
代替入力ポートレット実行部１６は、障害が発生した前述のポートレットの代替ポートレットが、生成したポートレットである代替情報を生成し、代替情報記憶部１２に格納する。
【０１２８】
代替入力ポートレット実行部１６が生成した代替情報を代替情報記憶部１２に格納した後、障害判定部１３は、障害が発生したことを判定したポートレットを特定する情報を、入力部１０に送信する。
【０１２９】
入力部１０は、代替入力ポートレット実行部１６が格納した代替情報を読み出し、代替入力ポートレット実行部１６が生成した前述のダミーポートレットを、障害が発生したポートレットの代替ポートレットにする。
【０１３０】
次に、本変形例の動作について説明する。
【０１３１】
本変形例では、図２のステップＳ１１とステップＳ１３の間で、まず障害判定部１３が、障害が発生したポートレットを特定する情報とそのポートレットに障害が生じたことを表す情報を、代替入力ポートレット実行部１６に送信する。
【０１３２】
これらの情報を受信した代替入力ポートレット実行部１６は、障害が発生したポートレットの入力フォーム情報を読み出し、その入力フォーム情報から、前述のダミーポートレットを生成する。代替入力ポートレット実行部１６は、障害が発生したポートレットの代替ポートレットが、生成した前述のダミーポートレットである代替情報を生成し、代替情報記憶部１２に格納する。
【０１３３】
その後の動作は、図２及び図１１の動作と同じである。ただし、代替入力ポートレット実行部１６は、ステップＳ３８の終了後、生成したダミーポートレットを削除し、そのダミーポートレットが代替ポートレットである代替情報を代替情報記憶部１２から削除すればよい。
【０１３４】
次に、第３の実施形態について図面を参照して詳細に説明する。
【０１３５】
図１３は、本実施形態の構成を表す図である。
【０１３６】
図１３を参照すると、本実施形態の表示制御装置１は、表示画面の一部分に表示する表示内容を表す表示データを出力するポートレットから、前記表示データを入力する入力手段１０と、入力した前記表示データから表示内容を生成し、生成した前記表示内容を含む前記表示画面を出力する画面出力手段１１と、前記ポートレットを特定する情報と、当該ポートレットの代替として動作する代替ポートレットを特定する情報とを関連付ける代替情報を記憶する１２代替情報記憶手段と、前記ポートレットの障害の有無を判定し、障害がある場合前記入力手段に通知する障害判定手段１２とを含み、前記入力手段１０は、前記ポートレットに障害がある場合、障害がある前記ポートレットの代わりに、記代替情報で当該ポートレットを特定する情報に関連付けられている情報で特定される代替ポートレットから表示データを入力する。
【０１３７】
以上で説明した本実施形態には、ポータルページのいずれかのポートレットウィンドウに表示を行うポートレットに障害が発生した場合に、障害の発生によるユーザビリティの低下を抑制できるという効果がある。
【０１３８】
その理由は、入力部１０が、表示内容を表す表示データを、障害があると障害判定部１３が判定したポートレットの代わりに、そのポートレットの代替ポートレットから入力するからである。出力部１０は、正常なポートレットと代替ポートレットから入力した表示データを合成してポータルページの表示画面を構成し、出力する。従って、ポータルページの利用者は、障害があるために利用できなくなったポートレットの代わりに、そのポートレットの代替ポートレットを利用することが可能になる。
【符号の説明】
【０１３９】
１、１Ａ    表示制御装置
２    端末
３    ポートレット実行装置
１０    入力部
１１    画面出力部
１２    代替情報記憶部
１３    障害判定部
１４    イベント入力部
１５    入力イベント記憶部
１６    代替入力ポートレット実行部
１７    ポートレット情報記憶部
１８    ポートレット選択部
３０    ポートレットコンテナ
３０１、３０２、３０Ｎ、４０１、４０２、４０Ｍ、１６１、１６Ｌ    ポートレット
【図１】
0005821446.tif 000002
【図２】
0005821446.tif 000003
【図３】
0005821446.tif 000004
【図４】
0005821446.tif 000005
【図５】
0005821446.tif 000006
【図６】
0005821446.tif 000007
【図７】
0005821446.tif 000008
【図８】
0005821446.tif 000009
【図９】
0005821446.tif 000010
【図１０】
0005821446.tif 000011
【図１１】
0005821446.tif 000012
【図１２】
0005821446.tif 000013
【図１３】
0005821446.tif 000014