(57)【要約】  本発明は、画面描画処理の遅延時間を短縮することが可能な画面描画システム、画面描画方法及びポータルクライアントを提供する。本発明の画面描画システムは、ポータルサーバとポータルクライアントとを有する画面描画システムであって、ポータルサーバは、ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスをポータルクライアントに送信し、ポータルクライアントは、レスポンスを解析して画面描画を行うレスポンス解析手段と、レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に未完了のポートレットに対応するコンテンツの再取得リクエストをポータルサーバに送信するリクエスト再送タイマー手段と、を有する。
2015122197.tif 000002
【特許請求の範囲】
【請求項１】
ポータルサーバとポータルクライアントとを有する画面描画システムであって、
前記ポータルサーバは、前記ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスを前記ポータルクライアントに送信し、
前記ポータルクライアントは、前記レスポンスを解析して画面描画を行うレスポンス解析手段と、
前記レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信するリクエスト再送タイマー手段と、を有する画面描画システム。
【請求項２】
前記ポータルサーバは、前記レスポンスに未完了のポートレットの処理完了予定時刻を含め、
前記リクエスト再送タイマー手段は、前記処理完了予定時刻後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、請求項１に記載の画面描画システム。
【請求項３】
平均応答時間管理テーブルを記憶する記憶装置をさらに有し、
前記ポータルサーバは、前記平均応答時間管理テーブルより前記未完了のポートレットの処理予定時刻を取得する、請求項２に記載の画面描画システム。
【請求項４】
前記ポータルクライアントは、複数のポートレットに関するリクエストを一つのリクエストに集約して前記ポータルサーバに送信する、請求項１乃至３のいずれか一項に記載の画面描画システム。
【請求項５】
前記ポータルサーバはリクエストキューと重複データ上書き手段とをさらに有し、
前記重複データ上書き手段は、重複する又は上書き可能なリクエストを取得した場合に前記リクエストキュー内のリクエストを上書きする、請求項１乃至４のいずれか一項に記載の画面描画システム。
【請求項６】
前記ポータルサーバは処理中リクエスト判定手段をさらに有し、
前記処理中リクエスト判定手段により、前記ポータルクライアントより取得したリクエストと前記ポータルサーバが処理しているリクエストとが同一であると判定された場合に前記ポータルサーバは前記取得したリクエストの処理を行わない、請求項１乃至５のいずれか一項に記載の画面描画システム。
【請求項７】
ポートレットを有するポータルサーバと、ポータルクライアントとを用いた画面描画システムにおける画面描画方法であって、
前記ポータルサーバが前記ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスを前記ポータルクライアントに送信し、
前記ポータルクライアントが前記レスポンスに基づいて画面描画を行い、
前記レスポンスに未完了のポートレットに関する情報が含まれている場合に前記ポータルクライアントが、所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、
画面描画方法。
【請求項８】
前記ポータルサーバは、前記レスポンスに未完了のポートレットの処理完了予定時刻を含め、前記処理完了予定時刻後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、請求項７に記載の画面描画方法。
【請求項９】
ポータルサーバへリクエストを送信し、前記リクエストに対応するポートレットを含むレスポンスを取得するポータルクライアントであって、
前記レスポンスに基づいて画面描画を行うレスポンス解析部と、
前記レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信するリクエスト再送タイマー部と、を有するポータルクライアント。
【請求項１０】
複数のポートレットに関するリクエストを一つのリクエストに集約して前記ポータルサーバに送信する、請求項９に記載のポータルクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面描画システム、画面描画方法及びポータルクライアントに関する。
【背景技術】
【０００２】
通信インフラの発達により、ユーザは、様々な場所や端末からホームページにアクセスすることが可能となった。ホームページの基本的な内容は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式等により記述される。そして、Ｗｅｂブラウザは、このＨＴＭＬファイルに基づいてＷｅｂ画面にホームページの表示を行う（特許文献１）。【０００３】
ポータル画面は、ポータルのコンテンツとポータルに配置されている複数のポートレットのコンテンツから構成される。配置されているポートレットの種類や数はアクセスするポータル画面毎に異なる。このため、クライアントにおけるＷｅｂ画面の描画完了時間は利用するポートレットによって大きく変わる。図１５は、関連技術における描画処理方法を示す概念図である。図１５に示すように、クライアントは、ポータルサーバにアクセスを行い、ＨＴＭＬレスポンスの受信待ちとなる。ポータルサーバは、アクセスに対しポートレットコンテナからポートレットのコンテンツを取得し、それをレスポンスとしてクライアントに送信する。クライアントとなるＷｅｂブラウザでは、ポータルサーバからのレスポンスの受信完了後、以下の処理を行う。１．ＨＴＭＬ、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）（ＪａｖａＳｃｒｉｐｔは登録商標）データの解析、２．スクリプトファイル／ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）ファイル／画像ファイルのダウンロード、３．ＨＴＭＬを動的に生成するスクリプトファイルの実行、４．ＨＴＭＬのレンダリング。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２０７７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、関連技術には以下の問題点があった。図１５に示すように、クライアントは、サーバからのポートレットのコンテンツ受信がすべて完了した後に描画処理を開始する。そのため、受信完了までの時間は、画面はロード中のままであり、これがそのままユーザの待ち時間となる。また、ポートレットのコンテンツが大きい場合は、コンテンツが小さい場合に比べ、コンテンツの生成、転送時間、描画処理にかかる時間が長くなる。そのため、コンテンツが大きくなるほど、ユーザ画面の描画完了待ち時間も延びる。同様に、ポートレットの数が増える、複雑な処理のポートレットが存在する、負荷の高いポートレットが存在するといった要因によっても、ユーザ画面の描画完了待ち時間が延びる。【０００６】
本発明は、上述した課題を解決する画面描画システム、画面描画方法及びポータルクライアントを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面としての画面描画システムは、ポータルサーバとポータルクライアントとを有する画面描画システムであって、ポータルサーバは、ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスをポータルクライアントに送信し、ポータルクライアントは、レスポンスを解析して画面描画を行うレスポンス解析手段と、レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に未完了のポートレットに対応するコンテンツの再取得リクエストをポータルサーバに送信するリクエスト再送タイマー手段と、を有する。【０００８】
本発明の一側面としての画面描画方法は、ポートレットを有するポータルサーバと、ポータルクライアントとを用いた画面描画システムにおける画面描画方法であって、ポータルサーバがポータルクライアントからのリクエストに対応するポートレットを含むレスポンスをポータルクライアントに送信し、ポータルクライアントがレスポンスに基づいて画面描画を行い、レスポンスに未完了のポートレットに関する情報が含まれている場合にポータルクライアントが、所定時間後に未完了のポートレットに対応するコンテンツの再取得リクエストをポータルサーバに送信する。【０００９】
本発明の一側面としてのポータルクライアントは、ポータルサーバへリクエストを送信し、リクエストに対応するポートレットを含むレスポンスを取得するポータルクライアントであって、レスポンスに基づいて画面描画を行うレスポンス解析手段と、レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に未完了のポートレットに対応するコンテンツの再取得リクエストをポータルサーバに送信するリクエスト再送タイマー手段と、を有する。
【発明の効果】
【００１０】
本発明によれば、画面描画処理の遅延時間を短縮することが可能な画面描画システム、画面描画方法及びポータルクライアントを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施形態にかかる画面描画システム１０００の構成を示すブロック図である。
【図２】図２は、第１の実施形態にかかる画面描画システム１０００の動作を示す概念図である。
【図３】図３は、第１の実施形態にかかる画面描画システム１０００の動作を説明するフロー図である。
【図４】図４は、第２の実施形態にかかる画面描画システム２０００の構成を示すブロック図である。
【図５】図５は、第２の実施形態にかかる画面描画システム２０００の動作を説明するフロー図である。
【図６】図６は、第２の実施形態にかかる画面描画システム２０００の動作を説明するフロー図である。
【図７】図７は、第２の実施形態にかかる画面描画システム２０００におけるデータを示す図である。
【図８】図８は、第２の実施形態にかかる画面描画システム２０００におけるデータを示す図である。
【図９】図９は、第３の実施形態にかかる画面描画システム２０００ａの構成を示すブロック図である。
【図１０】図１０は、第４実施形態にかかる画面描画システム３０００の構成を示すブロック図である。
【図１１】図１１は、第４の実施形態にかかる画面描画システム３０００の動作を説明するフロー図である。
【図１２】図１２は、第４の実施形態にかかる画面描画システム３０００の動作を説明する概念図である。
【図１３】図１３は、第５の実施形態にかかる画面描画システム４０００の構成を示すブロック図である。
【図１４】図１４は、第５の実施形態にかかる画面描画システム４０００の動作を説明するフロー図である。
【図１５】図１５は、関連技術における描画処理方法を示す概念図である。
【図１６】図１６は、関連技術における描画処理方法を示す概念図である。
【発明を実施するための形態】
【００１２】
＜第１の実施の形態＞
図１は、第１の実施形態にかかる画面描画システム１０００の構成図である。画面描画システム１０００は、ポータルクライアント１０とポータルサーバ２０とを含んで構成される。
【００１３】
ポータルクライアント１０は、レスポンス解析部１１及びリクエスト再送タイマー部１２を含む。
【００１４】
レスポンス解析部１１は、ポータルサーバ２０からのレスポンスを解析し、解析結果に基づいて画面描画を行う。解析の結果、未完了のポートレットが検出される場合がある。
【００１５】
リクエスト再送タイマー部１２は、所定時間後に未完了のポートレットのコンテンツの再取得リクエストを送信するためカウントを行う。
【００１６】
ポータルサーバ２０は、ポータルクライアント１０からの、ポートレットのコンテンツの要求（リクエスト）に対応するポートレット２１を含むレスポンスをポータルクライアント１０に送信する。
【００１７】
続いて、本実施形態にかかる画面描画システム１０００の動作を説明する。図２は動作を示す概念図である。
図３は動作を説明するフロー図である。後述するポートレットは、ポートレット１乃至５である。
【００１８】
図３において薄い塗りつぶしで示した動作はポータルクライアント１０の動作である。その他の動作はポータルサーバ２０の動作である。
【００１９】
ポータルクライアント１０は、ポータルサーバ２０にリクエストを送信する（ステップＳ１）。当該リクエストを受信した（ステップＳ２）ポータルサーバ２０は、全てのポートレットへリクエストを送信する（図２）。ポータルサーバ２０は、リクエストに対応するポートレットから当該ポートレットのコンテンツを含むレスポンスを受信し、ポータルクライアント１０に送信する（ステップＳ３）。図２の場合では、ポータルサーバ２０は、ポータルクライアント１０にポートレット１及び２のコンテンツを含むレスポンスを送信し、合わせてポートレット３乃至５が完了していないことを通知する。レスポンスを受信（ステップＳ４）したポータルクライアント１０のレスポンス解析部１１は、ポータルサーバ２０からのレスポンスを解析し、解析結果に基づいて画面描画を行う（ステップＳ５）。当該レスポンスに未完了のポートレットに関する情報が含まれている場合（ステップＳ６でｙｅｓ）、リクエスト再送タイマー部１２は、未完了のポートレット（図２ではポートレット３乃至５）に関する再取得リクエストを送信するためのタイマーを設定する（ステップＳ７）。そして、リクエスト再送タイマー部１２は、所定時間後に未完了のポートレットのコンテンツの再取得リクエストを送信する（ステップＳ８）。なお、本実施の形態の主要な動作ではないが、リクエスト再送タイマー部１２は、例えば、図２のａｊａｘ（ａｓｙｎｃｈｒｏｎｏｕｓ  ｊａｖａｓｃｒｉｐｔ  ｘｍｌ）リクエスト送信を用いて再取得リクエストを送信する。また、リクエスト再送タイマー部１２は、コンテンツ受信が完了していない場合、ポータルサーバ２０に対して、一定間隔でポーリングを行う。その後、ポートレット３、４のコンテンツが生成されると、ポータルサーバ２０は、ポートレット３、４をキューに格納する。そして、ポータルサーバ２０は、ポートレット３、４のコンテンツをポータルクライアント１０に送信する。また、ポータルサーバ２０は、ポートレット５のコンテンツの生成が完了していないことも通知する。その後、ポートレット５のコンテンツの生成が完了した段階で、ポータルサーバ２０は、ポータルクライアント１０にポートレット５のコンテンツを送信する。
【００２０】
本実施形態にかかる画面描画システム１０００によれば、ポータルクライアント１０がレスポンス解析部１１とリクエストタイマー部１２を有することにより、未完了のポートレットが存在する場合であっても描画処理を開始することができ、未完了のポートレットについては所定時間後にリクエストを再送することができる。この結果、画面描画システム１０００は、ポータルクライアント１０における描画完了までの時間を短縮することができる。
【００２１】
＜第２の実施の形態＞
図４は、第２の実施形態にかかる画面描画システム２０００の構成図である。画面描画システム２０００は、ポータルクライアント１００、ポータルサーバ２００及び記憶装置３００を含んで構成される。
【００２２】
ポータルクライアント１００は、レスポンス解析部１０１、リクエスト再送タイマー部１０２及び再取得レスポンス処理部１０３を含む。
【００２３】
レスポンス解析部１０１及びリクエスト再送タイマー部１０２は、それぞれ第１の実施形態にかかる描画システム１０００におけるレスポンス解析部及びリクエスト再送タイマー部と同様の構成である。
【００２４】
再取得レスポンス処理部１０３は、ポータルコンテナ２１０のキュー内に格納されたコンテンツ情報を集約したレスポンスを適切に処理する。
【００２５】
ポータルサーバ２００は、ポータルクライアント１００からリクエストを受信し、関連するポートレットへリクエストを送信するためのポータルコンテナ２１０及びポートレットを実行するポートレットコンテナ２２０を含む。
【００２６】
ポータルコンテナ２１０は、送受信監視部２１１、レスポンスキュー格納部２１２及びレスポンスキュー２１３を含む。
【００２７】
送受信監視部２１１は、ポートレットへのリクエスト、レスポンスを監視し、記憶装置３００の情報を更新する。
【００２８】
レスポンスキュー格納部２１２は、ポートレットコンテナ２２０から受信したレスポンスをクライアント毎に設置されている適切なキューに格納する。
【００２９】
レスポンスキュー２１３は、レスポンスを格納するキューである。
【００３０】
ポートレットコンテナ２２０は、実行するポートレット２２１を含む。
【００３１】
記憶装置３００は、リクエスト管理テーブル３０１、平均応答時間管理テーブル３０２及びポートレット待ち時間管理テーブル３０３を記憶する。記憶装置３００は、データベース、ファイルなど種類を問わない。以下の説明ではデータベースの場合を例にとり説明する。
【００３２】
続いて、本実施形態にかかる画面描画システム２０００の動作を説明する。図５及び６は画面描画システム２０００の動作を説明するフロー図である。図７及び８はデータの例を示す図である。
【００３３】
図５及び６において薄い塗りつぶしで示した動作はポータルクライアント１００の動作、その他の動作はポータルサーバ２００の動作である。また、図６の（ｃ）において破線で示した動作はポートレットコンテナ２２０の動作、実線で示した動作はポータルコンテナ２１０の動作である。さらに、図６の（ｂ）及び（ｃ）は図５の（ａ４）における動作を詳細に示したものである。
【００３４】
図５において、ポータルクライアント１００は、ポータルサーバ２００へリクエストＡ１を送信する（ａ１）。図７は、画面描画システム２０００におけるデータを示す図である。図７において、クライアントからのＨＴＴＰリクエスト例（リクエストＡ１）とクライアントへのＨＴＴＰレスポンス例（レスポンスＡ２）が示されている。ポータルサーバ２００は、ポータルクライアント１００からリクエストＡ１を受信すると（ａ２）、ポータル画面のレスポンス作成（ａ３）とポートレットリクエスト送信（ａ４）を並列に実行する。
【００３５】
ポータル画面のレスポンス作成（ａ３）では、ポータルコンテナ２１０がポータル画面の描画に関わるＨＴＭＬ＋ＪＳＯＮのレスポンス情報を作成する（図７のＡ２−１、Ａ２−２を除くＡ２）。レスポンス情報は、例えば、「動的に生成する画面の情報はＪＳＯＮ化されている」、「ｐｏｒｔｌｅｔ  Ａｒｅａ配下にポートレットのＨＴＭＬが動的に作成される」等である。なお、図７のＡ２−１は、「コンテンツ生成が完了している場合、ｃｏｎｔｅｎｔが設定される」ことを示す。また、Ａ２−２は、「コンテンツ生成が完了していない場合、ｔｉｍｅｒが設定される」ことを示す。
【００３６】
ポートレットリクエスト送信処理（ａ４）では、ポータルコンテナ２１０がポートレット用リクエストを作成する（図６のｂ１）。リクエストオブジェクトには、送受信監視部２１１によりリクエストＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とリクエスト処理開始時刻が設定される（ｂ２、ｂ３）。ポータルコンテナ２１０は、設定した情報をリクエスト管理テーブルＢ１（図８）に保存する（ｂ４）。そして、ポータルコンテナ２１０は、ポートレットコンテナ２２０へリクエストを送信する（ｂ５）。
【００３７】
ポートレットコンテナ２２０はポータルコンテナ２１０よりリクエストを受信し（ｃ１）、クライアントの画面（ＨＴＭＬ）の一部を生成するポートレットを実行する（ｃ２）。ポートレットの実行が完了すると、ポートレットコンテナ２２０は、ポータルコンテナ２１０へレスポンスを送信する（ｃ３）。
【００３８】
ポータルコンテナ２１０は、ポートレットのレスポンスであるＨＴＭＬコンテンツを受信すると（ｃ４）、送受信監視部２１１により、対応するリクエスト情報にリクエスト処理終了（完了）時刻を設定し（ｃ５）、リクエスト管理テーブルＢ１と平均応答時間管理テーブルＢ２（図８）の平均応答時間を更新する（ｃ６）。図８において、リクエスト管理テーブルＢ１と平均応答時間管理テーブルＢ２は、記憶装置３００のリクエスト管理テーブル３０１と平均応答時間管理テーブル３０２に対応する。リクエスト管理テーブルＢ１は、各々のリクエストのリクエストＩＤ、クライアントＩＤ、状態、処理開始時刻、及び、処理終了時刻を格納する。また、平均応答時間管理テーブルＢ２は、各々のポートレットの同時実行数、及び、平均応答時間を格納する。ここで、平均応答時間とは、同じポートレットに関するリクエストを何度か送信した場合のリクエスト処理開始時刻からリクエスト処理完了時刻までの時間の平均値である。平均応答時間は、後述の同時実行数によって変化する。
【００３９】
そしてレスポンスキュー格納部２１２は、受信したレスポンスをキューに格納する（ｃ７）。
【００４０】
図５に戻り、続いて、ポータルサーバ２００は、ポートレット完了待ち時間管理テーブルＢ３（図８）からポートレット完了待ち時間を取得し（ａ５）、ポータルクライアント１００へのレスポンス作成処理へと移る。図８において、ポートレット完了待ち時間管理テーブルＢ３は、記憶装置３００のポートレット完了待ち時間管理テーブル３０３に対応する。ここで、ポートレット完了待ち時間とは、ポータルクライアント１００がポータルサーバ２００からのレスポンス待ちを許容することを可能にする時間（許容時間）であり、サイトごとにサイトＩＤに対応づけられて管理されている。ポータルサーバ２００は、レスポンスキュー２１３からポートレットのレスポンスＡ２−１（図７）を取り出し、クライアントへ送信するポータル画面のレスポンスへ追加する（ａ６）。ポータルサーバ２００は、完了していないポートレットの有無を確認し、ポートレットが完了しておらずレスポンスを送信していないポートレットがある場合は（ａ７でｙｅｓ）、ポートレット完了待ち時間の範囲内かどうかを確認する（ａ８）。待ち時間の範囲内であれば（ａ８でｙｅｓ）、ポータルサーバ２００は、タイムアウト付きｗａｉｔを実行し、ポートレットの完了を待つ。待ち時間の範囲を超えていれば（ａ８でｎｏ）、ポータルサーバ２００は、レスポンスにポートレット情報Ａ２−２（図７）を追加する（ａ９）。ポータルサーバ２００は、未完了のポートレットの平均応答時間を平均応答時間管理テーブルＢ２から取得し（ａ１０）、レスポンスデータへ設定する（ａ１１）。平均応答時間は、同時実行数、すなわち、並行して処理しているポートレットの数を基に算出する。そして、ポータルサーバ２００は、ポータルクライアント１００へレスポンスデータ（図７のレスポンスＡ２）を送信する（ａ１２）。
【００４１】
次に、ポータルクライアント１００は、レスポンスＡ２を受信すると（ａ１３）、レスポンス解析部１０１によりレスポンスデータの解析を行う（ａ１４）。完了していないポートレットがある場合は（ａ１５でｙｅｓ）、ポータルクライアント１００は、レスポンスに含まれる平均応答時間をリクエスト再送タイマー部１０２に設定する（ａ１６）。そして、ポータルクライアント１００は、描画可能な情報を利用して画面の描画を行う（ａ１７）。したがって、ポータルクライアント１００は、サーバの処理完了前に描画処理を開始することができる。
【００４２】
ステップａ１６において設定された平均応答時間が経過すると、ポータルクライアント１００のリクエスト再送タイマー部１０２が発火し（図６のｄ１）、ポータルサーバ２００へリクエストＡ３（図８）を送信する（ｄ２）。ポータルサーバ２００は、リクエストを受信後、レスポンスキュー２１３から残りのレスポンスデータを取り出し（ｄ３）、ポータルクライアント１００に再リクエストレスポンスＡ４（図８）を返信する（ｄ４）。
【００４３】
ポータルクライアント１００は、再リクエストレスポンスＡ４を受信すると（ｄ５）、描画処理を行う（ｄ６）。描画処理ｄ６は、図５に示すフローにおける描画処理ａ１７に対応する。
【００４４】
本実施形態にかかる画面描画システム２０００によれば、ポータルサーバ２００がレスポンスキュー格納部２１２とレスポンスキュー２１３を有することにより、待ち時間を超えたポートレットのレスポンスを格納することができる。このため、ポータルサーバ２００は、ポータルクライアント１００に応答可能な範囲のレスポンスを返すことができる。また、ポータルクライアント１００は、サーバの処理完了前に描画処理を開始することができる。また、ポータルクライアント１００は、レスポンス解析部１０１とリクエスト再送タイマー部１０２を有することにより、ポータルサーバ２００は、クライアント処理中に未完了のポートレットを非同期で実行し、完了予定時刻以降にコンテンツを取得することができる。この結果、ポータルクライアント１００における描画完了までの時間を短縮することができる。
【００４５】
さらに、ポータルサーバ２００は、送受信監視部２１１で算出した平均応答時間をクライアントに伝達する。これにより、リクエスト再送タイマー部１０２は、ポートレットのレスポンスの送信予定時刻までリクエストの再送を待つことができる。
【００４６】
＜第３の実施の形態＞
画面描画システム２０００ａは、ポータルクライアントからポータルサーバに複数のポートレットに関するリクエストを送信する際、リクエストを一つのリクエストに集約して送信することができる。
【００４７】
図９は、第３の実施形態にかかる画面描画システム２０００ａの構成図である。
【００４８】
ポータルクライアント１００ａは、リクエスト集約部１０４ａを有する。リクエスト集約部１０４ａは、複数のポートレットに関するリクエストを一つのリクエストに集約する。
【００４９】
レスポンス解析部１０１ａ及び再取得レスポンス処理部１０３ａは、集約されたレスポンスを分解して処理する。
【００５０】
ポータルサーバ２００ａは、ポータルコンテナ２１０ａにリクエスト分解部２１５ａ及びレスポンス集約部２１６ａを有する。
【００５１】
リクエスト分解部２１５ａは、ポータルクライアント１００ａから受信した集約されたリクエストを分解して送受信監視部２１１ａに送信する。
【００５２】
レスポンス集約部２１６ａは、ポートレットコンテナ２２０ａから受信したレスポンスを集約してポータルクライアント１００ａに送信する。
【００５３】
他の構成については、第２の実施形態にかかる描画システム２０００における対応する構成と同様である。
【００５４】
描画時間を短縮する別の関連技術として、図１６に示す方法がある。すなわち、この方法は、Ａｊａｘ（エイジャックス）技術を利用してポートレットコンテンツを画面描画後に取得するようにし、クライアントの描画処理とサーバの処理を一部同時に実行する。しかし、この方法では、ポートレットの数の分だけクライアントからリクエスト（ａｊａｘリクエスト）が送信されるため、ポータルサーバに各ポータルサイトのクライアント数×ポートレット数の負荷がかかる。すなわち、大量のコネクションを利用するため、サーバ負荷がかかり処理効率が下がる。そのため、サーバの台数を増やすか、ハイスペックなサーバを準備するかしなければならなかった。
【００５５】
これに対し、本実施形態は、リクエストを１リクエストに集約して送信することにより、リクエスト数を削減することができ、ポータルサーバ２００ａのリクエスト受信負荷を軽減することができる。
【００５６】
なお、未完了のポートレットが複数存在する場合には、本実施形態は、リクエストを再送する際にも複数のリクエストを一つのリクエストに集約することができる。
【００５７】
＜第４の実施の形態＞
図１０は、第４の実施形態にかかる画面描画システム３０００の構成図である。画面描画システム３０００では、第２の実施形態にかかる画面描画システム２０００において、ポータルコンテナ２１０ｂに重複データ上書き部２０１ｂ、ポートレットコンテナ２２０ｂにリクエストキュー格納部２２２ｂ、リクエスト格納キュー２２３ｂ及び重複データ上書き部２０１ｂ´を追加する。
【００５８】
第２の実施形態は、ポートレットへのリクエストを無条件に送信する。これに対し本実施形態は、リクエストキュー格納部２２２ｂとリクエスト格納キュー２２３ｂを追加することにより、ポートレットへの過剰なリクエストの送信を抑止する。
【００５９】
ポータルサーバ２００ｂは、あるポートレットのリクエスト実行前にポータルクライアント１００ｂから再度リクエストを受信したとする。重複データ上書き部２０１ｂ´は、当該リクエストがキュー内に滞留しているリクエストと同一のリクエスト、もしくは上書き可能なリクエストである場合は滞留しているリクエストを新規リクエストで上書きする。重複データ上書き部２０１ｂは、リクエストと同様、ポートレットからのレスポンスをキューに格納する際にも上書き可能なものがあれば上書きを行う。
【００６０】
続いて、図１１及び１２を用いて画面描画システム３０００の動作を説明する。
【００６１】
図１１は、画面描画システム３０００の動作を説明するフロー図である。
【００６２】
図１１のフローでは、第２の実施形態にかかる動作フロー（図５及び６）に以下のように動作を追加する。
【００６３】
重複データ上書き部２０１ｂは、リクエストＩＤ付加（ｂ２）の後にリクエスト重複チェックを行う（ｂｂ１）。図１１の（ｄ）は、リクエストまたはレスポンスの重複チェック（（ｂ）のｂｂ１と（ｃ）のｃｃ１）における動作を詳細に示したものである。重複データ上書き部２０１ｂは、キュー内のリクエストの数がｉｎｄｅｘの値より大きい場合（ｄ１でｙｅｓ）、かつ、キューのｉｎｄｅｘ番目の情報が上書き可能な場合（ｄ２でｙｅｓ）、キュー内のリクエストを確認し、上書き可能なリクエストがあれば上書きする（ｄ３）。リクエストが上書き可能でない場合、Ｉｎｄｅｘをインクリメントする（ｄ４）。なお、重複データ上書き部２０１ｂは、ｉｎｄｅｘの値がキュー内リクエスト数に達するまで（ｄ１でｎｏ）、上記の処理（（ｄ１）〜（ｄ４））を繰り返す。（ｂ）に戻り、上書き可能なリクエスト（重複データ）がなければ（ｂｂ２でｎｏ）、重複データ上書き部２０１ｂは、レスポンスキュー２１３ｂに追加する（ｂｂ３）。
【００６４】
上書きが可能であるか否かの判断は設定により変更することができる。判断条件の例を以下に示す。以下に示す条件のうちいずれか一つを満たした場合に重複データ上書き部２０１ｂは、上書き可能と判断するものとする。
・ＨＴＴＰ  ＧＥＴメソッドである。
・同一ポートレットウィンドウ（指定するＷｉｎｄｏｗＩＤが同じ）からのリクエストである。
・同一ポートレットウィンドウ（指定するＷｉｎｄｏｗＩＤが同じ）へ返却するリクエストである。
【００６５】
図１１の（ｃ）に示すように、レスポンスについても同様に、重複データ上書き部２０１ｂは、キュー格納前にレスポンスの重複チェック（ｃｃ１）を行う。すなわち、重複データ上書き部２０１ｂは、キュー内のレスポンスを確認し、上書き可能なレスポンスがあれば上書きする（ｄ３）。重複データ上書き部２０１ｂは、上書き可能なレスポンス（重複データ）がなければ（ｃｃ２でｎｏ）、キューに追加する（ｃ７）。
【００６６】
通常、ポータルクライアントはポータルサーバから受信したデータを順次実行していくため、同一ポートレットに対するコンテンツが重複して含まれている場合は、無駄な描画処理を実行することになる。
【００６７】
図１２は、画面描画システム３０００の動作を説明する概念図である。図１２では、ポータルクライアント１００ｂ（クライアントＩＤ：ｃ１）からポータルサーバ２００ｂに対して「クライアントＩＤ：ｃ１、ＨＴＴＰメソッド：ＧＥＴ、ポートレットモード：ＶＩＥＷモード」の参照系リクエストがあった場合について示している。ポータルコンテナ２１０ｂは、リクエスト管理テーブル３０１ｂを参照し、リクエスト格納キュー２２３ｂ内に同一クライアントからのリクエストを発見した場合、リクエストを上書きし、リクエスト管理テーブル３０１ｂを更新する。
【００６８】
本実施形態にかかる画面描画システム３０００は、重複データ上書き部２０１ｂ´を有することにより、ポートレットへ送信するリクエストと同一のリクエストがキュー２２３ｂに格納されている場合、上書きすることで同一のリクエスト処理を行わない。この結果、画面描画システム３０００は、ポートレットのリクエスト受信負荷を軽減することができるとともにクライアントが期待する結果を早く送信することができる。
【００６９】
また、画面描画システム３０００は、クライアントへ送信するレスポンスと同一のレスポンスがレスポンスキュー２１３ｂに格納されている場合も、重複データ上書き部２０１ｂにより上書きすることでクライアントが同一の描画処理を行わないようにする。この結果、画面描画システム３０００は、ポータルクライアントにおける冗長処理を削除することができる。
【００７０】
＜第５の実施の形態＞
図１３は、第５の実施形態にかかる画面描画システム４０００の構成図である。画面描画システム４０００は、第２の実施形態にかかる画面描画システム２０００においてポータルサーバのポータルコンテナに処理中リクエスト判定部２１４ｃを追加した構成である。処理中リクエスト判定部２１４ｃは、処理中の同一リクエストの有無の確認を行う。それ以外の要素で、番号の後に符号「ｃ」を付した要素は、全て前述までの実施形態と同じであり、それらの説明は省略する。
【００７１】
第２の実施形態においては、ポートレットへのリクエストを無条件に送信する。また、第３の実施形態においては、あるポートレットのリクエスト実行前にポータルクライアント１００ｃから再度リクエストを受信した場合に、キュー内に滞留しているリクエストの中に同一のリクエスト、もしくは上書き可能なリクエストがあれば滞留しているリクエストを新規リクエストで上書きする。
【００７２】
これに対し本実施形態では、ポートレットが同一リクエストを処理している場合に過剰なリクエストの送信を抑止する。また、本実施形態は、リクエストと同様、ポートレットからのレスポンスをキューに格納する際にも上書き可能なものがあれば上書きを行う。
【００７３】
図１４を用いて画面描画システム４０００の動作を説明する。図１４のフローでは、第２の実施形態にかかる動作フロー（図５及び図６）に以下のように動作を追加する。
【００７４】
処理中リクエスト判定部２１４ｃは、ポートレットリクエスト送信処理（ａ４、ｂ１からｂ５）の前に、記憶装置３００ｃが管理するリクエスト管理テーブル３０１ｃ内にあるリクエスト情報を参照し、処理中の同一リクエストの有無の確認を行う（ｂ６）。処理中のリクエストがあれば（ｂ６でｙｅｓ）、リクエストＩＤを処理中のリクエストＩＤに変更し（ｂ７）、同一リクエストは処理しないで終了する。処理中のリクエストがなければ（ｂ６でｎｏ）、図５のａ４（図６の（ｂ）のｂ１からｂ５）と同様の動作を行う。
【００７５】
通常、クライアントはサーバから受信したデータを順次実行していくため、同一ポートレットに対するコンテンツが重複して含まれている場合は無駄な描画処理を実行することになる。
【００７６】
本実施形態にかかる画面描画システム４０００によれば、ポートレットへ送信するリクエストと同一のリクエストをポートレットに送信しないことで同一のリクエスト処理を行わない。この結果、画面描画システム４０００は、ポートレットのリクエスト受信負荷を軽減することができる。
【００７７】
上記の実施形態の一部又は全部は、以下のようにも記載されうるが、以下には限られない。
【００７８】
（付記１）
ポータルサーバとポータルクライアントとを有する画面描画システムであって、前記ポータルサーバは、前記ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスを前記ポータルクライアントに送信し、前記ポータルクライアントは、前記レスポンスを解析して画面描画を行うレスポンス解析手段と、前記レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信するリクエスト再送タイマー手段と、を有する画面描画システム。
【００７９】
（付記２）
前記ポータルサーバは、前記レスポンスに未完了のポートレットの処理完了予定時刻を含め、前記リクエスト再送タイマー部は、前記処理完了予定時刻後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、付記１に記載の画面描画システム。
【００８０】
（付記３）
平均応答時間管理テーブルを記憶する記憶装置をさらに有し、前記ポータルサーバは、前記平均応答時間管理テーブルより前記未完了のポートレットの処理予定時刻を取得する、付記２に記載の画面描画システム。
【００８１】
（付記４）
前記ポータルクライアントは、複数のポートレットに関するリクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記１乃至３のいずれか一項に記載の画面描画システム。
【００８２】
（付記５）
複数の前記再取得リクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記１乃至４のいずれか一項に記載の画面描画システム。
【００８３】
（付記６）
前記ポータルサーバはリクエストキューと重複データ上書き手段とをさらに有し、前記重複データ上書き手段は、重複する又は上書き可能なリクエストを取得した場合に前記リクエストキュー内のリクエストを上書きする、付記１乃至５のいずれか一項に記載の画面描画システム。
【００８４】
（付記７）
前記ポータルサーバは処理中リクエスト判定手段をさらに有し、前記処理中リクエスト判定手段により、前記ポータルクライアントより取得したリクエストと前記ポータルサーバが処理しているリクエストとが同一であると判定された場合に前記ポータルサーバは前記取得したリクエストの処理を行わない、付記１乃至６のいずれか一項に記載の画面描画システム。
【００８５】
（付記８）
ポートレットを有するポータルサーバと、ポータルクライアントとを用いた画面描画システムにおける画面描画方法であって、前記ポータルサーバが前記ポータルクライアントからのリクエストに対応するポートレットを含むレスポンスを前記ポータルクライアントに送信し、前記ポータルクライアントが前記レスポンスに基づいて画面描画を行い、前記レスポンスに未完了のポートレットに関する情報が含まれている場合に前記ポータルクライアントが、所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、画面描画方法。
【００８６】
（付記９）
前記ポータルサーバは、前記レスポンスに未完了のポートレットの処理完了予定時刻を含め、前記処理完了予定時刻後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信する、付記８に記載の画面描画方法。
【００８７】
（付記１０）
前記画面描画システムは、平均応答時間管理テーブルを記憶する記憶装置をさらに有し、前記ポータルサーバは、前記平均応答時間管理テーブルより前記未完了のポートレットの処理予定時刻を取得する、付記９に記載の画面描画方法。
【００８８】
（付記１１）
前記ポータルクライアントは、複数のポートレットに関するリクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記８乃至１０のいずれか一項に記載の画面描画方法。
【００８９】
（付記１２）
前記ポータルクライアントは、複数の前記再取得リクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記８乃至１１のいずれか一項に記載の画面描画方法。
【００９０】
（付記１３）
前記ポータルサーバはリクエストキューを有し、前記ポータルサーバが重複する又は上書き可能なリクエストを取得した場合に前記リクエストキュー内のリクエストを上書きする重複データ上書きステップをさらに含む、付記８乃至１２のいずれか一項に記載の画面描画方法。
【００９１】
（付記１４）
前記ポータルサーバが自身の処理するリクエストを判定する処理中リクエスト判定ステップをさらに含み、前記処理中リクエスト判定ステップにて、前記ポータルクライアントより取得したリクエストと前記ポータルサーバが処理しているリクエストとが同一であると判定された場合に前記ポータルサーバは前記取得したリクエストの処理を行わない、付記８乃至１３のいずれか一項に記載の画面描画方法。
【００９２】
（付記１５）
ポータルサーバへリクエストを送信し、前記リクエストに対応するポートレットを含むレスポンスを取得するポータルクライアントであって、前記レスポンスに基づいて画面描画を行うレスポンス解析手段と、前記レスポンスに未完了のポートレットに関する情報が含まれている場合に所定時間後に前記未完了のポートレットに対応するコンテンツの再取得リクエストを前記ポータルサーバに送信するリクエスト再送タイマー手段と、を有するポータルクライアント。
【００９３】
（付記１６）
複数のポートレットに関するリクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記１５に記載のポータルクライアント。
【００９４】
（付記１７）
複数の前記再取得リクエストを一つのリクエストに集約して前記ポータルサーバに送信する、付記１５又は１６に記載のポータルクライアント。
【００９５】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００９６】
この出願は、２０１４年２月１７日に出願された日本出願特願２０１４−０２７５８１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９７】
１０、１００、１００ａ、１００ｂ、１００ｃ    ポータルクライアント
１１、１０１、１０１ａ、１０１ｂ、１０１ｃ    レスポンス解析部
１２、１０２、１０２ａ、１０２ｂ、１０２ｃ    リクエスト再送タイマー部
２０、２００、２００ａ、２００ｂ、２００ｃ    ポータルサーバ
２１、２２１、２２１ａ、２２１ｂ、２２１ｃ    ポートレット
１０３、１０３ａ、１０３ｂ、１０３ｃ    再取得レスポンス処理部
１０４、１０４ａ    リクエスト集約部
２０１ｂ、２０１ｂ´    重複データ上書き部
２１０、２１０ａ、２１０ｂ、２１０ｃ    ポータルコンテナ
２１１、２１１ａ、２１１ｂ、２１１ｃ    送受信監視部
２１２、２１２ａ、２１２ｂ、２１２ｃ    レスポンスキュー格納部
２１３、２１３ａ、２１３ｂ、２１３ｃ    レスポンスキュー
２１４ｃ    処理中リクエスト判定部
２１５ａ    リクエスト分解部
２１６ａ    レスポンス集約部
２２０、２２０ａ、２２０ｂ、２２０ｃ    ポートレットコンテナ
２２２ｂ    リクエストキュー格納装置
２２３ｂ    リクエスト格納キュー
３００、３００ａ、３００ｂ、３００ｃ    記憶装置
３０１、３０１ａ、３０１ｂ、３０１ｃ    リクエスト管理テーブル
３０２、３０２ａ、３０２ｂ、３０２ｃ    平均応答時間管理テーブル
３０３、３０３ａ、３０３ｂ、３０３ｃ    ポートレット待ち時間管理テーブル
１０００、２０００、２０００ａ、３０００、４０００    画面描画システム
【図１】
2015122197.tif 000003
【図２】
2015122197.tif 000004
【図３】
2015122197.tif 000005
【図４】
2015122197.tif 000006
【図５】
2015122197.tif 000007
【図６】
2015122197.tif 000008
【図７】
2015122197.tif 000009
【図８】
2015122197.tif 000010
【図９】
2015122197.tif 000011
【図１０】
2015122197.tif 000012
【図１１】
2015122197.tif 000013
【図１２】
2015122197.tif 000014
【図１３】
2015122197.tif 000015
【図１４】
2015122197.tif 000016
【図１５】
2015122197.tif 000017
【図１６】
2015122197.tif 000018
【国際調査報告】
2015122197.tif 000019
2015122197.tif 000020
2015122197.tif 000021
2015122197.tif 000022