(57)【特許請求の範囲】
【請求項１】
ポータルページに配置されるポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成するポートレット表示内容生成部と、
前記ポートレット表示内容生成部によってある時点において生成された前記ポートレットの表示内容をポートレットキャッシュデータとして、前記ポートレット表示内容生成部によって他の時点において生成された表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを生成するポートレット差分情報生成部と、
前記ポートレットキャッシュデータおよび前記ポートレット差分データに、該当するポートレットに対するアクセス権限を有するユーザを識別するユーザＩＤまたは該ユーザのグループを識別するグループＩＤを対応付けて記憶するポートレット差分情報記憶部と、
前記ポータルページに配置された前記ポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部と、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信部と、
前記リクエスト情報受信部によって前記リクエスト情報が受信されると、前記レイアウト情報記憶部に記憶された前記レイアウト情報と、該レイアウト情報の示す各ポートレットに関して前記ポートレット差分情報記憶部に記憶された前記ポートレットキャッシュデータおよび前記ポートレット差分データのうち、前記リクエスト情報に含まれるユーザＩＤまたは該ユーザＩＤのユーザが属するグループのグループＩＤにそれぞれ対応付けられた前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成するとともに、前記リクエスト情報受信部によって前記クライアント装置から前記リクエスト情報が再度受信されると、該レイアウト情報の示す各ポートレットに関して前回のリクエスト情報受信時以降に前記ポートレット差分情報記憶部に前記ユーザＩＤまたは前記グループＩＤに対応付けて記憶された前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報生成部と、
前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信部と、
を備えたポータルサーバ。
【請求項２】
前記ポータルページに配置されるポートレットを設定する設定情報であって、前記ポータルページに配置される各ポートレットを識別する情報および各ポートレットの配置情報を含む設定情報の前記クライアント装置からの取得に応じて、前記レイアウト情報を生成するレイアウト情報生成部と、
ある時点において生成された前記レイアウト情報をレイアウトキャッシュデータとして、他の時点において生成された前記レイアウト情報の前記レイアウトキャッシュデータに対する差分を表すレイアウト差分データを生成するレイアウト差分情報生成部とをさらに備え、
前記レイアウト情報記憶部は、前記レイアウト情報として、前記レイアウトキャッシュデータおよび前記レイアウト差分データを記憶し、
前記レスポンス情報生成部は、前記リクエスト情報受信部によって前記リクエスト情報が受信されると、前記レスポンス情報に含める前記レイアウト情報として、前記レイアウト情報記憶部に記憶された前記レイアウトキャッシュデータおよび前記レイアウト差分データを含めるとともに、前記リクエスト情報受信部によって前記クライアント装置から前記リクエスト情報が再度受信されると、前記レスポンス情報に、前回のリクエスト情報受信時以降に前記レイアウト情報記憶部に記憶された前記レイアウト差分データをさらに含めることを特徴とする請求項１に記載のポータルサーバ。
【請求項３】
前記ポートレット差分情報生成部は、前記コンテンツ提供元装置において前記コンテンツが更新された場合に、前記ポートレットキャッシュデータおよび前記ポートレット差分データのいずれかを生成して前記ポートレット差分情報記憶部に記憶させることを特徴とする請求項１または請求項２に記載のポータルサーバ。
【請求項４】
前記ポートレット差分情報生成部は、所定のポートレットキャッシュ更新条件が満たされた時点で前記ポートレット表示内容生成部によって生成された前記ポートレットの表示内容を、新たな前記ポートレットキャッシュデータとして前記ポートレット差分情報記憶部に記憶させることを特徴とする請求項１から請求項３のいずれか１項に記載のポータルサーバ。
【請求項５】
前記ポートレット差分情報記憶部は、前記ポートレットキャッシュデータおよび前記ポートレット差分データの各データサイズをさらに記憶し、
前記ポートレット差分情報生成部は、前記ポートレットキャッシュデータのデータサイズおよび前記ポートレット差分データのデータサイズが所定の関係であることを前記ポートレットキャッシュ更新条件として、前記新たなポートレットキャッシュデータを前記ポートレット差分情報記憶部に記憶させることを特徴とする請求項４に記載のポータルサーバ。
【請求項６】
請求項１から請求項５のいずれか１項に記載のポータルサーバに対して、前記ポータルページのリクエスト情報に前記ユーザＩＤを含めて送信するリクエスト情報送信部と、
前記ポータルサーバから前記レスポンス情報を受信するレスポンス情報受信部と、
前記レスポンス情報に基づいて前記ポータルページを表示するポータルページ表示部と、
前記ポータルページ表示部によって表示中の前記ポータルページから前記レイアウト情報および前記ポートレットの表示内容を抽出する表示中情報取得部と、
前記レスポンス情報受信部によって前記ポータルサーバから受信されたレスポンス情報に含まれる、前記レイアウト情報、前記リクエスト情報に含めた前記ユーザＩＤまたは該ユーザＩＤのユーザが属するグループのグループＩＤに対応付けられた前記ポートレットキャッシュデータ、および、前記ユーザＩＤまたは前記グループＩＤに対応付けられた前記ポートレット差分データを結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させるとともに、前記レスポンス情報受信部によって前記ポータルサーバから再度受信されたレスポンス情報に含まれる、前記ユーザＩＤまたは前記グループＩＤに対応付けられた前記ポートレット差分データと、前記表示中情報取得部によって取得された前記レイアウト情報および前記ポートレットの表示内容とを結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させる差分データ結合部と、
を備えたクライアント装置。
【請求項７】
請求項１から請求項５のいずれか１項に記載のポータルサーバと、
請求項６に記載のクライアント装置と、
を備えたポータルシステム。
【請求項８】
ポータルページに配置されるポートレットを表すレイアウト情報を記憶しておき、
前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとして、該当するポートレットに対するアクセス権限を有するユーザを識別するユーザＩＤまたは該ユーザのグループを識別するグループＩＤを対応付けて記憶し、
前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データに、前記ユーザＩＤまたは前記グループＩＤを対応付けて記憶し、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信すると、
前記ポータルページの前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データのうち、前記リクエスト情報に含まれるユーザＩＤまたは該ユーザＩＤのユーザが属するグループのグループＩＤにそれぞれ対応付けられた前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信し、
前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信すると、
前回のリクエスト情報受信時以降に前記ユーザＩＤまたは前記グループＩＤに対応付けて記憶した前記ポートレット差分データを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信する、情報処理方法。
【請求項９】
ポータルページに配置されるポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部を用いて、
前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとして、該当するポートレットに対するアクセス権限を有するユーザを識別するユーザＩＤまたは該ユーザのグループを識別するグループＩＤを対応付けてポートレット差分情報記憶部に記憶させるポートレットキャッシュデータ記憶ステップと、
前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データに、前記ユーザＩＤまたは前記グループＩＤを対応付けて前記ポートレット差分情報記憶部に記憶させるポートレット差分データ記憶ステップと、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信ステップと、
前記リクエスト情報受信ステップで要求されたポータルページに関して前記レイアウト情報記憶部に記憶された前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関して前記ポートレット差分情報記憶部に記憶された前記ポートレットキャッシュデータおよび前記ポートレット差分データのうち、前記リクエスト情報に含まれるユーザＩＤまたは該ユーザＩＤのユーザが属するグループのグループＩＤにそれぞれ対応付けられた前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成するレスポンス情報生成ステップと、
前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信ステップと、
前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信するリクエスト情報再受信ステップと、
前回のリクエスト情報受信時以降に前記ユーザＩＤまたは前記グループＩＤに対応付けて記憶した前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報再生成ステップと、
前記レスポンス情報再生成ステップで生成されたレスポンス情報を前記クライアント装置に送信するレスポンス情報再送信ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポートレットが配置されたポータルページを提供するポータルサーバ、クライアント装置、ポータルシステム、情報処理方法、および、コンピュータ・プログラムに関する。
【背景技術】
【０００２】
ウェブ（World Wide Web）における通信を効率化する技術として、キャッシュがよく知られている。このようなキャッシュとしては、例えば、クライアント装置側で行われるブラウザキャッシュ、サーバ側で行われるページキャッシュ、コンテンツ提供元サーバで行われるレスポンスキャッシュ等の技術が存在する。
【０００３】
例えば、ブラウザキャッシュを用いたクライアント装置は、サーバから取得したコンテンツをキャッシュとして保存しておく。そして、クライアント装置は、そのコンテンツに対するユーザからの表示要求に応じて、サーバから新たにコンテンツを取得する代わりに、キャッシュを表示する。
【０００４】
また、例えば、ページキャッシュを用いたサーバは、クライアント装置に送信するために外部から取得したコンテンツをキャッシュとして保存しておく。そして、サーバは、そのコンテンツに対するクライアント装置からの再度の取得要求に応じて、新たにそのコンテンツを取得する代わりに、キャッシュを送信する。
【０００５】
これらのキャッシュ技術は、画像ファイルやＣＳＳ（Cascading Style Sheets）ファイル等の静的コンテンツに関する通信の効率化には、有効である。しかし、ポートレットのような動的コンテンツの場合、キャッシュは最新情報でないことが多い。したがって、これらのキャッシュ技術は、ポートレットのような動的コンテンツの通信の効率化には、有効でないことが多い。
【０００６】
また、例えば、レスポンスキャッシュを用いたコンテンツ提供元サーバは、クライアント装置に送信するために生成した動的コンテンツをキャッシュとして保存しておく。そして、コンテンツ提供元サーバは、その動的コンテンツに対するクライアント装置からの再度の取得要求に応じて、新たにその動的コンテンツを生成する代わりに、キャッシュを送信する。
【０００７】
このようなレスポンスキャッシュの技術は、ポートレットのような動的コンテンツの生成処理を効率化できるものの、通信の効率化には有効ではないことが多い。
【０００８】
ここで、ポートレットとは、ウェブページに配置される着脱可能なユーザインタフェース・コンポーネントである。以降、ポートレットが配置されたウェブページを、ポータルページとも記載する。ポートレットは、そのポートレットが配置されたポータルページに対するクライアント装置からのアクセスがあった時点で、コンテンツ提供元サーバからコンテンツを収集することにより表示内容を生成する。このため、このようなポートレットは、アクセス時に表示内容が動的に更新されうる。
【０００９】
このように、動的に表示内容が更新されうるポートレットであっても、その表示内容には、配置情報やデザイン情報などの静的な部分が含まれる。例えば、社内ニュースの一覧を社内ニュース提供サーバから取得して表示するポートレットを考える。このような社内ニュースポートレットにおいて更新されうる情報は、社内ニュース一覧の一部であることが多い。例えば、社内ニュースポートレットでは、社内ニュース一覧の一部が更新されても、ＨＴＭＬ（HyperText Markup Language）書式部分等は、変更されないことが多い。しかしながら、サーバは、社内ニュースポートレットが配置されたポータルページに対するクライアント装置からのアクセスがある度に、変化のない静的な部分のデータも、クライアント装置に送信してしまい、非効率的である。
【００１０】
また、このようなポートレットであっても、その表示内容が、前回クライアント装置からアクセスされた時点の表示内容とあまり差がない場合がある。それは、クライアント装置からのアクセスタイミングによっては、そのポートレットの提供元サーバから提供されるコンテンツの大部分が更新されていない場合があるからである。例えば、天気予報情報を天気予報サーバから取得して表示する天気予報ポートレットを考える。このような天気予報ポートレットは、天気予報サーバによって情報が更新されてから次回の更新タイミングまでは、同一の天気予報を最新情報として表示する。しかし、サーバは、天気予報ポートレットが配置されたポータルページに対するクライアント装置からのアクセスがある度に、前回と同一の表示内容をクライアント装置に送信してしまうことがあり、非効率的である。また、天気予報ポートレットが配置されたポータルページに対して、同時期に複数のクライアント装置からアクセスがあった場合を考える。この場合、サーバは、天気予報サーバから最新情報を取得して表示内容を生成する処理を、各クライアント装置からの要求に応じて重複して行ってしまい、非効率的である。
【００１１】
このように、ポータルページをクライアント装置に提供する際の通信の非効率性は、上述のいずれのキャッシュ技術を用いても解決できていない。
【００１２】
そこで、このような問題に関連する技術として、コンテンツを、定型部分と可変データ部分とにあらかじめ分けておくものがある（例えば、特許文献１参照）。この関連技術では、コンテンツ提供元サーバは、あらかじめ定型部分と可変データ部分とにわけてコンテンツを作成する。そして、コンテンツ提供元サーバは、定型部分のコンテンツを文書配送サーバに登録するとともに、可変データ部分を更新する度に文書配送サーバに送信する。クライアント装置は、定型部分のコンテンツをダウンロードして表示する。そして、クライアント装置は、ユーザにより可変データ部分へのリンクがクリックされると、文書配送サーバに可変データ部分を要求する。そして、文書配送サーバは、可変データ部分をクライアント装置に送信する。これにより、クライアント装置は、定型部分のコンテンツと可変データ部分とを統合して表示する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００１−１０９７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献１に記載された関連技術は、文書配送サーバから、コンテンツの可変データ部分のみをクライアント装置に対して送信すればよいので、データ通信量を低下させることはできる。しかしながら、この関連技術では、可変データ部分の要求をクライアント装置から受信した時点で文書配送サーバが保持している可変データ部分の内容は、前回の要求時点から更新されていない場合も考えられる。そのような場合でも、文書配送サーバは、可変データ部分として前回と同一のデータをクライアント装置に送信することになり、依然として非効率的であるという問題があった。
【００１５】
本発明は、上述の課題を解決するためになされたもので、ポートレットが配置されたポータルページをクライアント装置に提供する際の通信をより効率化する技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明のポータルサーバは、ポータルページに配置されるポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成するポートレット表示内容生成部と、前記ポートレット表示内容生成部によってある時点において生成された前記ポートレットの表示内容をポートレットキャッシュデータとして、前記ポートレット表示内容生成部によって他の時点において生成された表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを生成するポートレット差分情報生成部と、前記ポートレットキャッシュデータおよび前記ポートレット差分データを記憶するポートレット差分情報記憶部と、前記ポータルページに配置された前記ポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部と、クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信部と、前記リクエスト情報受信部によって前記リクエスト情報が受信されると、前記レイアウト情報記憶部に記憶された前記レイアウト情報と、該レイアウト情報の示す各ポートレットに関して前記ポートレット差分情報記憶部に記憶された前記ポートレットキャッシュデータおよび前記ポートレット差分データを含むレスポンス情報を生成するとともに、前記リクエスト情報受信部によって前記クライアント装置から前記リクエスト情報が再度受信されると、該レイアウト情報の示す各ポートレットに関して前回のリクエスト情報受信時以降に前記ポートレット差分情報記憶部に記憶された前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報生成部と、前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信部と、を備える。
【００１７】
また、本発明のクライアント装置は、上述のポータルサーバに前記ポータルページのリクエスト情報を送信するリクエスト情報送信部と、前記ポータルサーバから前記レスポンス情報を受信するレスポンス情報受信部と、前記レスポンス情報に基づいて前記ポータルページを表示するポータルページ表示部と、前記ポータルページ表示部によって表示中の前記ポータルページから前記レイアウト情報および前記ポートレットの表示内容を抽出する表示中情報取得部と、前記レスポンス情報受信部によって前記ポータルサーバから受信されたレスポンス情報に含まれる情報を結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させるとともに、前記レスポンス情報受信部によって前記ポータルサーバから再度受信されたレスポンス情報に含まれる情報と、前記表示中情報取得部によって取得された情報とを結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させる差分データ結合部と、を備える。
【００１８】
また、本発明のポータルシステムは、上述のポータルサーバと、上述のクライアント装置とを備える。
【００１９】
また、本発明の情報処理方法は、ポータルページに配置されるポートレットを表すレイアウト情報を記憶しておき、前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとして記憶し、前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを記憶し、クライアント装置から前記ポータルページを要求するリクエスト情報を受信すると、前記ポータルページの前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成し、前記レスポンス情報を前記クライアント装置に送信し、前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信すると、前回のリクエスト情報受信時以降に記憶した前記ポートレット差分データを含むレスポンス情報を生成し、前記レスポンス情報を前記クライアント装置に送信する。
【００２０】
また、本発明のコンピュータ・プログラムは、ポータルページに配置されるポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部を用いて、前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとしてポートレット差分情報記憶部に記憶させるポートレットキャッシュデータ記憶ステップと、前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを前記ポートレット差分情報記憶部に記憶させるポートレット差分データ記憶ステップと、クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信ステップと、前記リクエスト情報受信ステップで要求されたポータルページに関して前記レイアウト情報記憶部に記憶された前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成するレスポンス情報生成ステップと、前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信ステップと、前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信するリクエスト情報再受信ステップと、前回のリクエスト情報受信時以降に記憶した前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報再生成ステップと、前記レスポンス情報再生成ステップで生成されたレスポンス情報を前記クライアント装置に送信するレスポンス情報再送信ステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００２１】
本発明は、ポートレットが配置されたポータルページをクライアント装置に提供する際の通信をより効率化する技術を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態としてのポータルサーバのハードウェア構成図である。
【図２】本発明の第１の実施の形態としてのポータルサーバの機能ブロック図である。
【図３】本発明の第１の実施の形態としてのポータルサーバがポートレットキャッシュデータおよびポートレット差分データを蓄積する動作を説明するフローチャートである。
【図４】本発明の第１の実施の形態としてのポータルサーバがリクエストに応答する動作を説明するフローチャートである。
【図５】本発明の第２の実施の形態としてのポータルシステムの構成を示すブロック図である。
【図６】本発明の第２の実施の形態としてのポータルシステムを構成する各装置の機能ブロック図である。
【図７】本発明の第２の実施の形態としてのクライアント装置のハードウェア構成図である。
【図８】本発明の第２の実施の形態におけるポートレット差分情報記憶部に記憶される情報の一例を説明する図である。
【図９】本発明の第２の実施の形態におけるレイアウト情報記憶部に記憶される情報の一例を説明する図である。
【図１０】本発明の第２の実施の形態としてのポータルサーバがポートレットキャッシュデータおよびポートレット差分データを蓄積する動作を説明するフローチャートである。
【図１１】本発明の第２の実施の形態としてのポータルサーバがレイアウトキャッシュデータおよびレイアウト差分データを蓄積する動作を説明するフローチャートである。
【図１２】本発明の第２の実施の形態としてのクライアント装置がレスポンス情報に応じてポータルページを表示する動作を説明するフローチャートである。
【図１３】本発明の第２の実施の形態としてのポータルサーバがリクエスト情報に応じてレスポンス情報を生成する動作を説明するフローチャートである。
【図１４】（ａ）および（ｂ）は、本発明の第２の実施の形態としてのポータルシステムによって表示されるポータルページの具体例を説明する図である。
【図１５】（ａ）および（ｂ）は、本発明の第２の実施の形態としてのポータルシステムによって表示されるポータルページの他の具体例を説明する図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２４】
（第１の実施の形態）
本発明の第１の実施の形態としてのポータルサーバ１０のハードウェア構成を図１に示す。
【００２５】
図１において、ポータルサーバ１０は、ＣＰＵ（Central Processing Unit）１００１と、ＲＡＭ（Random Access Memory）１００２と、ＲＯＭ（Read Only Memory）１００３と、ハードディスク等の記憶装置１００４と、ネットワークインタフェース１００５とを備えたコンピュータ装置によって構成されている。
【００２６】
ＲＯＭ１００３および記憶装置１００４には、コンピュータ装置を本実施の形態のポータルサーバ１０として機能させるためのコンピュータ・プログラムおよび各種データが記憶されている。
【００２７】
ＣＰＵ１００１は、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行する。
【００２８】
ネットワークインタフェース１００５は、ネットワークを介して他の装置との通信を行うモジュールである。
【００２９】
次に、ポータルサーバ１０の機能ブロック構成を図２に示す。図２において、ポータルサーバ１０は、ポートレット表示内容生成部１１と、ポートレット差分情報生成部１２と、ポートレット差分情報記憶部１３と、レイアウト情報記憶部１４と、リクエスト情報受信部１５と、レスポンス情報生成部１６と、レスポンス情報送信部１７とを備える。ここで、ポートレット表示内容生成部１１と、リクエスト情報受信部１５と、レスポンス情報送信部１７とは、ネットワークインタフェース１００５と、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１とによって構成される。また、ポートレット差分情報生成部１２と、レスポンス情報生成部１６とは、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１によって構成される。また、ポートレット差分情報記憶部１３と、レイアウト情報記憶部１４とは、記憶装置１００４によって構成される。なお、ポータルサーバ１０の各機能ブロックを構成するハードウェア構成は、上述の構成に限定されない。
【００３０】
また、図２において、ポータルサーバ１０は、インターネット、ＬＡＮ（Local Area Network）、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、クライアント装置およびコンテンツ提供元装置に接続されている。なお、図２には、クライアント装置およびコンテンツ提供元装置をそれぞれ１つずつ示しているが、本発明のポータルサーバが接続される各装置の数を限定するものではない。
【００３１】
ポートレット表示内容生成部１１は、ポータルページに配置されるポートレットの表示内容を生成する。ここで、ポータルページとは、ポートレットを配置可能なウェブページである。また、ポートレットとは、ウェブページに着脱可能なユーザインタフェースのコンポーネントである。例えば、このようなポートレットは、コンテンツ提供元装置からコンテンツを取得することにより表示内容を生成するコンピュータ・プログラムとして、ポータルサーバ１０にあらかじめ登録されたものであってもよい。その場合、ポートレット表示内容生成部１１は、登録されたポートレットとしてのコンピュータ・プログラムを実行することにより、実行時にコンテンツ提供元装置からコンテンツを取得する。これにより、ポートレット表示内容生成部１１は、ポートレット実行時にコンテンツ提供元サーバから提供される最新情報を用いて、表示内容を生成することになる。ここで、ポートレットの表示内容とは、クライアント装置におけるポータルページを表示するアプリケーション（ウェブブラウザ等）によって解釈されることにより、クライアント装置に表示されることが可能な情報である。例えば、ポートレットの表示内容は、ＨＴＭＬ（HyperText Markup Language）やＸＭＬ（Extensible Markup Language）等のマークアップ言語で記述されたウェブページの一部分であってもよい。以下、そのようなウェブページの一部分の一例をＨＴＭＬ情報とも記載する。例えば、ポートレット表示内容生成部１１は、コンピュータ・プログラムとして登録されたポートレットを格納するとともに、そのようなポートレットを実行することによりポートレットの表示内容を表すＨＴＭＬ情報を出力するポートレットコンテナによって実現されていてもよい。
【００３２】
ポートレット差分情報生成部１２は、ポートレット表示内容生成部１１によってある時点で生成されたポートレットの表示内容をポートレットキャッシュデータとして、後述のポートレット差分情報記憶部１３に記憶させる。
【００３３】
また、ポートレット差分情報生成部１２は、ポートレット表示内容生成部１１によって他の時点で生成された表示内容について、ポートレットキャッシュデータに対する差分を表すポートレット差分データを生成する。例えば、ポートレット差分データは、ポートレットキャッシュデータに対する変更箇所と変更内容とを含むデータであってもよい。具体的には、ポートレットキャッシュデータがＨＴＭＬ情報である場合、ポートレット差分データは、ＸＰａｔｈ（XML Path Language）により記述された変更箇所の要素と、その要素の変更前後の内容とを含むデータであってもよい。そして、ポートレット差分情報生成部１２は、生成したポートレット差分データを、後述のポートレット差分情報記憶部１３に記憶させる。
【００３４】
ポートレット差分情報記憶部１３は、ポートレットキャッシュデータおよびポートレット差分データを記憶する。また、ポートレット差分情報記憶部１３は、ポートレットキャッシュデータおよびポートレット差分データに、それぞれその取得日時を対応付けて記憶する。なお、ポートレットキャッシュデータの取得日時とは、そのポートレットキャッシュデータを生成する際に、コンテンツ提供元装置からコンテンツを取得した日時であってもよい。また、ポートレット差分データの取得日時とは、ポートレットキャッシュデータと比較するためのポートレットの表示内容を生成する際に、コンテンツ提供元装置からコンテンツを取得した日時であってもよい。
【００３５】
レイアウト情報記憶部１４は、ポータルページに配置されたポートレットを表すレイアウト情報を記憶する。例えば、レイアウト情報は、各ポートレットの表示内容の記述が組み込まれる箇所に空のＨＴＭＬ要素が含まれたＨＴＭＬ文書であってもよい。例えば、ポータルサーバ１０が、該当するポータルページに配置されるポートレットをカスタマイズ可能に提供する場合、レイアウト情報記憶部１４は、ユーザを識別するユーザＩＤに対応付けて、レイアウト情報を格納してもよい。
【００３６】
リクエスト情報受信部１５は、クライアント装置から、ポータルページを要求するリクエスト情報を受信する。例えば、このリクエスト情報には、クライアント装置を利用しているユーザのユーザＩＤが含まれていてもよい。
【００３７】
レスポンス情報生成部１６は、リクエスト情報受信部１５によってリクエスト情報が受信されると、リクエスト情報に応答するレスポンス情報を生成する。具体的には、レスポンス情報生成部１６は、受信されたリクエスト情報が初回のものであるか否かに応じて、異なるレスポンス情報を生成する。
【００３８】
ここで、初回のリクエスト情報とは、例えば、該当するポータルページがウェブブラウザにまだ表示されていない状態のクライアント装置から受信するリクエスト情報であってもよい。例えば、レスポンス情報生成部１６は、初回のリクエスト情報の受信であるか否かを、同一セッション中における該当ポータルページに対する初回のリクエスト情報であるか否かにより、判断してもよい。なお、セッションとは、ウェブにおいて、ポータルサーバとクライアント装置との間で行われる一連の通信をいう。ウェブにおいてこのようなセッションを実現する技術には、公知の各種技術を適用可能である。
【００３９】
あるいは、例えば、レスポンス情報生成部１６は、初回のリクエスト情報の受信であるか否かを、リクエスト情報の過去の受信履歴に基づいて判断してもよい。この場合、レスポンス情報生成部１６は、そのクライアント装置からそのポータルページに対して過去に受信したリクエスト情報のうち最新のものを受信した時刻から、今回のリクエスト情報の受信時刻までの時間が閾値以上であるか否かに基づいて、初回のリクエスト情報であるか否かを判断してもよい。
【００４０】
また、レスポンス情報生成部１６は、初回のリクエスト情報の受信に応じたレスポンス情報を次のようにして生成する。この場合、レスポンス情報生成部１６は、リクエスト情報により要求対象となっているポータルページのレイアウト情報を、レイアウト情報記憶部１４から取得する。このとき、リクエスト情報にユーザＩＤが含まれており、レイアウト情報記憶部１４がユーザＩＤに対応づけてレイアウト情報を記憶していれば、レスポンス情報生成部１６は、リクエスト情報に含まれるユーザＩＤに対応付けられたそのポータルページのレイアウト情報を取得してもよい。また、レスポンス情報生成部１６は、取得したレイアウト情報が示す各ポートレットに関して、ポートレット差分情報記憶部１３に記憶されたポートレットキャッシュデータおよびポートレット差分データを取得する。そして、レスポンス情報生成部１６は、取得したレイアウト情報、ポートレットキャッシュデータおよびポートレット差分データを含むレスポンス情報を生成する。
【００４１】
また、レスポンス情報生成部１６は、初回ではないリクエスト情報の受信に応じたレスポンス情報を次のようにして生成する。この場合、レスポンス情報生成部１６は、リクエスト情報により要求対象となっているポータルページのレイアウト情報を参照する。そして、レスポンス情報生成部１６は、該当するレイアウト情報が示す各ポートレットに関して、ポートレット差分情報記憶部１３に記憶されたポートレット差分データのうち、前回のリクエスト情報受信時以降に記憶されたものを取得する。そして、レスポンス情報生成部１６は、取得したポートレット差分データを含むレスポンス情報を生成する。
【００４２】
レスポンス情報送信部１７は、レスポンス情報生成部１６によって生成されるレスポンス情報を、クライアント装置に送信する。
【００４３】
以上のように構成されたポータルサーバ１０の動作について、図面を参照して説明する。
【００４４】
まず、ポータルサーバ１０のポートレット情報蓄積動作を図３に示す。
【００４５】
図３では、まず、ポートレット表示内容生成部１１は、ポータルページに配置されうるポートレットについて、その表示内容を生成する（ステップＳ１）。例えば、前述のように、ポートレット表示内容生成部１１は、ポートレットとして登録されたコンピュータ・プログラムを実行することにより、コンテンツ提供元装置から最新のコンテンツを取得して、ポートレットの表示内容であるＨＴＭＬ情報を生成する。
【００４６】
次に、ポートレット差分情報生成部１２は、このポートレットのポートレットキャッシュデータが、ポートレット差分情報記憶部１３に記憶されているか否かを判断する（ステップＳ２）。
【００４７】
ここで、該当するポートレットキャッシュデータがポートレット差分情報記憶部１３にまだ記憶されていないと判断した場合、ポートレット差分情報生成部１２は、ステップＳ１で生成されたポートレットの表示内容をポートレットキャッシュデータとして、ポートレット差分情報記憶部１３に記憶させる（ステップＳ３）。このとき、ポートレット差分情報生成部１２は、ステップＳ１でポートレットが生成された際にコンテンツが取得された取得日時を、ポートレットキャッシュデータに対応付けて記憶させる。
【００４８】
一方、該当するポートレットキャッシュデータがポートレット差分情報記憶部１３に既に記憶されていると判断した場合、ポートレット差分情報生成部１２は、ステップＳ１で生成されたポートレットの表示内容について、ポートレットキャッシュデータに対する差分を表すポートレット差分データを生成する（ステップＳ４）。
【００４９】
次に、ポートレット差分情報生成部１２は、生成したポートレット差分データを、ポートレット差分情報記憶部１３に記憶させる（ステップＳ５）。このとき、ポートレット差分情報生成部１２は、ステップＳ１でポートレットが生成された際にコンテンツが取得された取得日時を、ポートレット差分データに対応付けて記憶させる。
【００５０】
以上のようなポートレット情報蓄積動作を、ポータルサーバ１０は、ポータルページに配置されうる各ポートレットについて、所定のタイミングで繰り返し実行する。例えば、ポータルサーバ１０は、クライアント装置からのキャッシュ更新要求に応じて、上述の動作を実行するようにしてもよい。また、ポータルサーバ１０は、ポートレット差分データに有効期限を設定しておき、最新のポートレット差分データの有効期限が切れたタイミングで、上述の動作を実行するようにしてもよい。あるいは、ポータルサーバ１０は、コンテンツ提供元装置にコンテンツの更新の有無を問い合わせることにより、更新が合ったタイミングで上述の動作を実行するようにしてもよい。
【００５１】
次に、ポータルサーバ１０のリクエスト応答動作を図４に示す。
【００５２】
図４では、まず、リクエスト情報受信部１５は、クライアント装置から、ポータルページを要求するリクエスト情報を受信する（ステップＳ１１）。
【００５３】
次に、レスポンス情報生成部１６は、ステップＳ１１で受信されたリクエスト情報が、このクライアント装置からの初回のリクエスト情報の受信であるか否かを判断する（ステップＳ１２）。例えば、前述のように、レスポンス情報生成部１６は、セッションや受信履歴を用いて初回のリクエスト情報であるか否かを判断してもよい。
【００５４】
ステップＳ１２において、初回のリクエスト情報であると判断した場合、レスポンス情報生成部１６は、このリクエスト情報が要求対象とするポータルページについて、レイアウト情報記憶部１４に記憶されたレイアウト情報を取得する（ステップＳ１３）。
【００５５】
次に、レスポンス情報生成部１６は、ステップＳ１３で取得したレイアウト情報に基づいて、このポータルページに配置されたポートレットの一覧を取得する（ステップＳ１４）。
【００５６】
次に、レスポンス情報生成部１６は、ステップＳ１４で取得した一覧が示す各ポートレットについて、ポートレット差分情報記憶部１３に記憶されたポートレットキャッシュデータおよびポートレット差分データを取得する（ステップＳ１５）。
【００５７】
次に、レスポンス情報生成部１６は、ステップＳ１３で取得したレイアウト情報と、ステップＳ１５で取得した各ポートレットキャッシュデータおよび各ポートレット差分データとを含むレスポンス情報を生成する（ステップＳ１６）。
【００５８】
一方、ステップＳ１２において、初回のリクエスト情報ではないと判断した場合、レスポンス情報生成部１６は、このリクエスト情報が要求対象とするポータルページのレイアウト情報に基づいて、このポータルページに配置されたポートレットの一覧を取得する（ステップＳ１７）。
【００５９】
次に、レスポンス情報生成部１６は、ステップＳ１７で取得した各ポートレットについて、ポートレット差分情報記憶部１３に記憶されたポートレット差分データのうち、前回のリクエスト情報受信時以降に記憶されたものを取得する（ステップＳ１８）。
【００６０】
次に、レスポンス情報生成部１６は、ステップＳ１８で取得されたポートレット差分データを含むレスポンス情報を生成する（ステップＳ１９）。
【００６１】
次に、レスポンス情報送信部１７は、ステップＳ１６またはステップ１９で生成されたレスポンス情報を、クライアント装置に送信する（ステップＳ２０）。
【００６２】
以上で、ポータルサーバ１０はリクエスト応答動作を終了する。
【００６３】
このようにして、ポータルサーバ１０は、送信したレスポンス情報に基づくポータルページを、クライアント装置に表示させる。例えば、クライアント装置は、初回のリクエスト情報に対するレスポンス情報（ステップＳ１６で生成）を受信した場合、レスポンス情報に含まれるレイアウト情報、ポートレットキャッシュデータ、および、ポートレット差分データを結合することにより、ポータルページを表示可能である。また、クライアント装置は、再度のリクエスト情報に対するレスポンス情報（ステップＳ１９で生成）を受信した場合、既に表示しているポータルページに対して、レスポンス情報に含まれるポートレット差分データを結合することにより、更新されたポータルページを表示可能である。
【００６４】
次に、本発明の第１の実施の形態の効果について述べる。
【００６５】
本発明の第１の実施の形態としてのポータルサーバは、ポートレットが配置されたポータルページをクライアント装置に提供する際の通信をより効率化することができる。
【００６６】
その理由は、ポートレット差分情報生成部が、ある時点でのポートレットの表示内容をポートレットキャッシュデータとして、他の時点でのポートレットの表示内容のポートレットキャッシュデータに対する差分を表すポートレット差分データを生成して、ポートレット差分情報記憶部に記憶させておくからである。そして、クライアント装置から、ポータルページに対する初回のリクエスト情報を受信した際には、レスポンス情報生成部が、そのポータルページに配置されたポートレットを表すレイアウト情報と、そのレイアウト情報が示す各ポートレットに関するポートレットキャッシュデータおよびポートレット差分データとを含むレスポンス情報を生成し、レスポンス情報送信部が、そのレスポンス情報をクライアント装置に送信する。そして、クライアント装置から、ポートレットが配置されたポータルページに対する再度のリクエスト情報を受信した際には、レスポンス情報生成部が、そのポータルページに配置された各ポートレットに関するポートレット差分データのうち、前回のリクエスト受信時以降に記憶されたものを含むレスポンス情報を生成し、レスポンス情報送信部が、ポートレット差分データを含むレスポンス情報をクライアント装置に送信するからである。
【００６７】
これにより、ポータルサーバは、ポータルページに対するリクエスト情報をクライアント装置から受信する度に、前回そのクライアント装置に送信した内容と同一の情報を多く含むポータルページの表示内容を、クライアント装置に送信する必要がない。また、このような場合に、ポータルサーバは、前回のリクエスト受信時以降に取得されたポートレット差分データをレスポンス情報に含めて送信するので、一度送信したポートレット差分データを再度送信することがない。
【００６８】
これにより、本実施の形態としてのポータルサーバは、クライアント装置との間のデータ通信量を低減することができる。このようにデータ通信量を低減することにより、本実施の形態としてのポータルサーバは、クライアント装置との間のネットワーク帯域幅が狭い場合にも有効である。その結果、本実施の形態としてのポータルサーバは、クライアント装置におけるリクエスト情報の送信からポータルページの表示までの時間を高速化することができる。
【００６９】
また、本実施の形態としてのポータルサーバが、ポータルページに対するリクエスト情報を、複数のクライアント装置から近い時期に受信した場合を考える。この場合、ポータルサーバは、それぞれのクライアント装置に送信するためのポートレットキャッシュデータおよびポートレット差分データを、ポートレット差分情報記憶部から取得することができる。したがって、このような場合に、ポータルサーバは、ポートレットを構成するコンテンツの最新情報をコンテンツ提供元装置に問い合わせる通信を、各クライアント装置からのリクエスト情報の受信毎に行う必要がない。したがって、ポータルサーバは、ほぼ同一のコンテンツの最新情報をコンテンツ提供元装置から取得する通信を、重複して行うことがない。
【００７０】
これにより、本実施の形態としてのポータルサーバは、コンテンツ提供元装置との間でのデータ通信量を低減することができる。なお、特許文献１に記載の関連技術では、コンテンツ提供元装置が、可変データ部分を文書配送サーバに送信するので、文書配送サーバは、クライアント装置からの要求の度に最新情報をコンテンツ提供元装置から取得する通信を行う必要はない。しかしながら、そのために、コンテンツ提供元装置は、可変データの送信先となる文書配送サーバを記憶しておかなければならない。また、この関連技術では、コンテンツ提供元装置が、コンテンツを定型部分と可変データ部分とにあらかじめ分けておかなければならない。このように、この関連技術は、コンテンツ提供元装置側の負荷を増大させている。本発明の第１の実施の形態としてのポータルサーバは、ポートレット差分情報生成部が、ポートレットキャッシュデータおよびポートレット差分データの生成を行うため、コンテンツ提供元装置の負荷を増大させることがない。したがって、本実施の形態としてのポータルサーバは、コンテンツ提供元装置の負荷を増大させることなく、コンテンツ提供元装置との間のデータ通信量を低減することができる。
【００７１】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００７２】
まず、本発明の第２の実施の形態としてのポータルシステム２の構成を図５に示す。図５において、ポータルシステム２は、ポータルサーバ２０と、クライアント装置３０とを含む。また、ポータルサーバ２０およびクライアント装置３０は、インターネット、ＬＡＮ、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、互いに通信可能に接続されている。また、ポータルサーバ２０は、コンテンツ提供元装置４０と、ネットワークを介して通信可能に接続されている。なお、図５には、ポータルサーバ、クライアント装置、および、コンテンツ提供元装置を１つずつ示しているが、本発明のポータルシステムが備える各装置の数および本発明のポータルシステムが接続されるコンテンツ提供元装置の数を限定するものではない。
【００７３】
次に、ポータルシステム２を構成する各装置の機能ブロックを図６に示す。図６において、ポータルサーバ２０は、本発明の第１の実施の形態としてのポータルサーバ１０に対して、ポートレット差分情報生成部１２に替えてポートレット差分情報生成部２２と、ポートレット差分情報記憶部１３に替えてポートレット差分情報記憶部２３と、レイアウト情報記憶部１４に替えてレイアウト情報記憶部２４と、リクエスト情報受信部１５に替えてリクエスト情報受信部２５と、レスポンス情報生成部１６に替えてレスポンス情報生成部２６とを備え、さらに、レイアウト情報生成部２８と、レイアウト差分情報生成部２９とを備える点が異なる。ここで、ポータルサーバ２０は、図１に示した本発明の第１の実施の形態としてのポータルサーバ１０のハードウェア構成と同一の構成要素を備えたコンピュータ装置によって構成される。また、レイアウト情報生成部２８およびレイアウト差分情報生成部２９は、ＲＯＭ１００３または記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１によって構成される。なお、ポータルサーバ２０を構成する各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００７４】
また、図６において、クライアント装置３０は、リクエスト情報送信部３１と、レスポンス情報受信部３２と、ポータルページ表示部３３と、表示中情報取得部３４と、差分データ結合部３５とを備える。ここで、クライアント装置３０は、図７に示すように、ＣＰＵ２００１と、ＲＡＭ２００２と、ＲＯＭ２００３と、ハードディスク等の記憶装置２００４と、ネットワークインタフェース２００５と、入力装置２００６と、表示装置２００７とを備えたコンピュータ装置によって構成されている。また、リクエスト情報送信部３１と、レスポンス情報受信部３２とは、ネットワークインタフェース２００５と、ＲＯＭ２００３または記憶装置２００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ２００２に読み込んで実行するＣＰＵ２００１とによって構成される。また、ポータルページ表示部３３は、入力装置２００６と、表示装置２００７と、ＲＯＭ２００３または記憶装置２００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ２００２に読み込んで実行するＣＰＵ２００１とによって構成される。また、表示中情報取得部３４と、差分データ結合部３５とは、ＲＯＭ２００３または記憶装置２００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ２００２に読み込んで実行するＣＰＵ２００１によって構成される。なお、クライアント装置３０を構成する各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００７５】
次に、ポータルサーバ２０の各機能ブロックについて説明する。
【００７６】
ポートレット差分情報生成部２２は、本発明の第１の実施の形態におけるポートレット差分情報生成部１２と同様に、ポートレットキャッシュデータおよびポートレット差分データをポートレット差分情報記憶部２３にそれぞれ記憶させる。さらに、ポートレット差分情報生成部２２は、ポートレットキャッシュデータおよびポートレット差分データに、該当するポートレットに対するアクセス権限を有するユーザのユーザＩＤまたはグループＩＤをそれぞれ対応付けて、ポートレット差分情報記憶部２３に記憶させる。例えば、ポートレット差分情報生成部２２は、ポートレットに対するユーザのアクセス権限を管理するアクセス権限管理装置（図示せず）から、そのような情報を取得してもよい。
【００７７】
また、ポートレット差分情報生成部２２は、さらに、ポートレットキャッシュデータおよびポートレット差分データに、そのデータサイズをそれぞれ対応付けて、ポートレット差分情報記憶部２３に記憶させる。
【００７８】
また、ポートレット差分情報生成部２２は、所定のキャッシュ更新条件が満たされた時点で、ポートレット表示内容生成部１１を用いて生成されたポートレットの表示内容を、新たなポートレットキャッシュデータとして、ポートレット差分情報記憶部２３に記憶させる。
【００７９】
キャッシュ更新条件とは、例えば、ポートレット差分情報記憶部２３に、該当するポートレットのポートレットキャッシュデータが記憶されていないことであってもよい。
【００８０】
また、キャッシュ更新条件とは、例えば、ポートレットキャッシュデータおよびポートレット差分データのデータサイズが所定の関係であることであってもよい。例えば、ポートレット差分情報生成部２２は、最新のポートレット差分データのデータサイズが、ポートレットキャッシュデータのデータサイズより大きくなった場合、新たなポートレットキャッシュデータを記憶させてもよい。
【００８１】
また、キャッシュ更新条件とは、例えば、ポートレットキャッシュデータの有効期限が切れたことであってもよい。例えば、ポートレット差分情報生成部２２は、各ポートレットキャッシュデータの取得日時を基準としてあらかじめ定められた期間が経過すると、有効期限が切れたと判断してもよい。
【００８２】
また、キャッシュ更新条件とは、例えば、クライアント装置３０から、ポートレットキャッシュデータの更新要求を受信したことであってもよい。例えば、ポートレット差分情報生成部２２は、そのようなポートレットキャッシュデータの更新を要求する情報を、リクエスト情報受信部２５を介して取得可能である。
【００８３】
ポートレット差分情報記憶部２３は、ポートレットキャッシュデータおよびポートレット差分データに、取得日時と、ユーザＩＤまたはグループＩＤと、データサイズとを対応付けて記憶している。ポートレット差分情報記憶部２３に記憶される情報の一例を図８に示す。図８において、各行は、ポートレットキャッシュデータまたはポートレット差分データに関する情報を表す。
【００８４】
例えば、１行目は、ユーザＡおよびユーザＢがアクセス権限を持つポートレットＡのポートレットキャッシュデータを表している。なお、ユーザＩＤがＸのユーザを、ユーザＸと記載するものとする。また、ポートレットＩＤがＸのポートレットを、ポートレットＸと記載するものとする。この例では、ポートレットキャッシュデータは、ＨＴＭＬにおけるｄｉｖ要素として表されている。
【００８５】
また、例えば、４行目は、グループＣがアクセス権限を持つポートレットＣのポートレットキャッシュデータを表している。なお、グループＩＤがＸのユーザを、グループＸと記載するものとする。
【００８６】
また、例えば、５行目および６行目は、それぞれ、ポートレット差分データを表している。これらのポートレット差分データは、ポートレットキャッシュデータである４行目に対する差分を表している。この例では、これらのポートレット差分データは、変更された要素がＸＰａｔｈにより記述された変更箇所と、変更前後の内容を表す変更内容とにより構成されている。
【００８７】
また、各ポートレットキャッシュデータおよびポートレット差分データには、さらにデータサイズと、取得日時とが対応付けられている。取得日時は、前回のリクエスト情報の受信時刻との比較のために利用される。また、データサイズは、ポートレット差分データが肥大化し、ポートレットキャッシュデータ以上のサイズになった場合にポートレットキャッシュデータの再取得を行うために利用される。
【００８８】
レイアウト情報生成部２８は、ポータルページに配置されるポートレットを設定する設定情報の取得に応じて、レイアウト情報を生成する。例えば、レイアウト情報生成部２８は、クライアント装置３０からそのような設定情報を取得してもよい。また、レイアウト情報生成部２８は、そのような設定情報を、ユーザＩＤとともに取得してもよい。また、レイアウト情報生成部２８は、そのような設定情報を、リクエスト情報受信部２５を介して取得可能である。
【００８９】
また、レイアウト情報生成部２８によって生成されるレイアウト情報は、本発明の第１の実施の形態におけるレイアウト情報と同様に構成される。例えば、レイアウト情報生成部２８は、設定情報として、ポータルページに配置されるポートレットＩＤの一覧と、それらの配置情報とを含む情報を取得する。そして、レイアウト情報生成部２８は、取得した設定情報に基づいて、各ポートレットの表示内容の記述が組み込まれる箇所に空のＨＴＭＬ要素が含まれたＨＴＭＬ文書を、レイアウト情報として生成してもよい。
【００９０】
レイアウト差分情報生成部２９は、ある時点においてレイアウト情報生成部２８によって生成されたレイアウト情報をレイアウトキャッシュデータとして、レイアウト情報記憶部２４に記憶させる。また、レイアウト差分情報生成部２９は、他の時点においてレイアウト情報生成部２８によって生成されたレイアウト情報について、レイアウトキャッシュデータに対する差分を表すレイアウト差分データを生成する。そして、レイアウト差分情報生成部２９は、レイアウト差分データを、レイアウト情報記憶部２４に記憶させる。
【００９１】
また、レイアウト差分情報生成部２９は、レイアウト情報生成部２８によって設定情報とともにユーザＩＤが取得されていた場合、生成したレイアウトキャッシュデータまたはレイアウト差分データを、ユーザＩＤに対応付けてレイアウト情報記憶部２４に記憶させてもよい。
【００９２】
レイアウト情報記憶部２４は、レイアウトキャッシュデータおよびレイアウト差分データに、その生成日時を対応付けて記憶する。また、レイアウト情報記憶部２４は、レイアウトキャッシュデータおよびレイアウト差分データに、さらにユーザＩＤを対応付けて記憶してもよい。レイアウト情報記憶部２４に記憶される情報の一例を図９に示す。図９において、１行目は、ユーザＡのレイアウトキャッシュデータを表し、２行目は、ユーザＢのレイアウトキャッシュデータを表している。各レイアウトキャッシュデータは、ＨＴＭＬ文書として表されている。また、３行目は、ユーザＢのレイアウト差分データを表している。３行目のレイアウト差分データは、２行目のレイアウトキャッシュデータに対する差分である。この例では、レイアウト差分データは、変更された要素がＸＰａｔｈにより記述された変更箇所と、変更内容とにより構成されている。
【００９３】
リクエスト情報受信部２５は、ポータルページに対するリクエスト情報として、ユーザＩＤを含むリクエスト情報を受信する。
【００９４】
その他、リクエスト情報受信部２５は、クライアント装置３０から、各種情報を受信する。例えば、リクエスト情報受信部２５は、クライアント装置３０から、ポータルページに配置されるポートレットを設定する設定情報を受信すると、その設定情報を、レイアウト情報生成部２８に通知する。また、リクエスト情報受信部２５は、クライアント装置３０から、ポートレットキャッシュデータまたはポートレット差分データの更新を要求する更新要求情報を受信すると、その更新要求情報を、ポートレット差分情報生成部２２に通知する。
【００９５】
レスポンス情報生成部２６は、本発明の第１の実施の形態におけるレスポンス情報生成部１６と同様に構成されるが、以下の点が異なる。
【００９６】
レスポンス情報生成部２６は、初回のリクエスト情報の受信に応じたレスポンス情報に含めるレイアウト情報として、リクエスト情報に含まれるユーザＩＤに対応付けられたレイアウトキャッシュデータおよびレイアウト差分データを含める。
【００９７】
また、レスポンス情報生成部２６は、初回のリクエスト情報の受信に応じたレスポンス情報に含めるポートレットキャッシュデータおよびポートレット差分データとして、リクエスト情報に含まれるユーザＩＤにそれぞれ対応付けられたものを用いる。
【００９８】
つまり、初回のリクエスト情報の受信に応じたレスポンス情報は、ユーザＩＤにそれぞれ対応付けられたレイアウトキャッシュデータおよびレイアウト差分データと、ユーザＩＤにそれぞれ対応付けられた各ポートレットキャッシュデータおよび各ポートレット差分データとを含む。
【００９９】
また、レスポンス情報生成部２６は、再度のリクエスト情報の受信に応じたレスポンス情報に、レイアウト情報記憶部２４に記憶されたレイアウト差分データのうち、前回のリクエスト情報受信時以降にユーザＩＤに対応付けて記憶されたものを含める。
【０１００】
なお、このとき、レイアウト情報記憶部２４に、前回のリクエスト情報受信時以降に記憶された新たなレイアウトキャッシュデータがある場合、レスポンス情報生成部２６は、最新のレイアウトキャッシュデータと、そのレイアウトキャッシュデータ以降に記憶されたレイアウト差分データとをレスポンス情報に含めるようにする。
【０１０１】
また、レスポンス情報生成部２６は、再度のリクエスト情報の受信に応じたレスポンス情報に、ポートレット差分情報記憶部２３に記憶されたポートレット差分データのうち、前回のリクエスト情報受信時以降にユーザＩＤに対応付けて記憶されたものを含める。
【０１０２】
なお、このとき、ポートレット差分情報記憶部２３に、前回のリクエスト情報受信時以降に記憶された新たなポートレットキャッシュデータがある場合、レスポンス情報生成部２６は、最新のポートレットキャッシュデータと、そのポートレットキャッシュデータ以降に記憶されたポートレット差分データとを、レスポンス情報に含めるようにする。
【０１０３】
つまり、再度のリクエスト情報の受信に応じたレスポンス情報は、前回のリクエスト情報の受信時以降にユーザＩＤに対応付けて記憶されたレイアウト差分データおよびポートレット差分データを含む。さらに、再度のリクエスト情報の受信に応じたレスポンス情報は、前回のリクエスト情報の受信時以降にユーザＩＤに対応付けて記憶されたレイアウトキャッシュデータまたはポートレットキャッシュデータを、状況に応じて含む場合がある。
【０１０４】
なお、前回のリクエスト情報の受信時以降にレイアウト情報記憶部２４にユーザＩＤに対応付けて記憶された情報がない場合、レスポンス情報は、レイアウト差分データおよびレイアウトキャッシュデータのいずれも含まない。また、前回のリクエスト情報の受信時以降に、あるポートレットについてポートレット差分情報記憶部２３にユーザＩＤに対応付けて記憶された情報がない場合、レスポンス情報は、そのポートレットに関するポートレット差分データおよびポートレットキャッシュデータのいずれも含まない。
【０１０５】
また、レスポンス情報生成部２６は、初回または再度のレスポンス情報に含めるポートレットキャッシュデータおよびポートレット差分データとして、ユーザが所属するグループのグループＩＤに対応付けられたものを用いてもよい。
【０１０６】
次に、クライアント装置３０の各機能ブロックについて説明する。
【０１０７】
リクエスト情報送信部３１は、ポータルサーバ２０に対して、ポータルページのリクエスト情報をユーザＩＤとともに送信する。その他、リクエスト情報送信部３１は、ポータルサーバ２０に対して各種情報を送信する。例えば、リクエスト情報送信部３１は、ポータルサーバ２０に対して、ポータルページに配置されるポートレットを設定する設定情報を送信する。この場合、リクエスト情報送信部３１は、入力装置２００６を介して取得した設定情報を、ポータルサーバ２０に対して送信すればよい。また、リクエスト情報送信部３１は、ポータルサーバ２０に対して、ポートレットキャッシュデータまたはポートレット差分データの更新を要求する更新要求情報を送信してもよい。
【０１０８】
レスポンス情報受信部３２は、ポータルサーバ２０からレスポンス情報を受信する。
【０１０９】
ポータルページ表示部３３は、レスポンス情報に基づいて後述の差分データ結合部３５によって生成されるポータルページを表示する。
【０１１０】
表示中情報取得部３４は、ポータルページ表示部３３によって表示中のポータルページから、ポートレットの表示内容と、ポートレットのレイアウト情報とを抽出する。例えば、表示中情報取得部３４は、初回のリクエスト情報に応じて受信されたレスポンス情報に基づいて、ポータルページにおいて各ポートレットの表示内容が組み込まれた箇所を記憶しておいてもよい。これにより、表示中情報取得部３４は、表示中のポータルページの表示内容から、各ポートレットの表示内容を抽出可能である。また、この場合、表示中のポータルページの表示内容から各ポートレットの表示内容が抽出されて残った部分が、レイアウト情報となる。
【０１１１】
差分データ結合部３５は、レスポンス情報の受信に応じて、ポートレットの表示内容を生成する。このとき、差分データ結合部３５は、レスポンス情報の受信が初回であるか否かに応じて、生成処理を分岐する。なお、初回のレスポンス情報とは、リクエスト情報送信部３１によって初回に送信されたリクエスト情報に応じて、レスポンス情報受信部３２によって受信されたレスポンス情報をいうものとする。また、再度のレスポンス情報とは、リクエスト情報送信部３１によって再度送信されたリクエスト情報に応じて、レスポンス情報受信部３２によって受信されたレスポンス情報をいうものとする。また、差分データ結合部３５は、初回のレスポンス情報であるか否かを、該当するポータルページがポータルページ表示部３３によって表示中であるか否かに基づいて判断してもよい。
【０１１２】
前述のように、初回のレスポンス情報は、レイアウトキャッシュデータと、レイアウト差分データと、各ポートレットキャッシュデータと、各ポートレット差分データとを含む。そこで、差分データ結合部３５は、レイアウトキャッシュデータに、レイアウト差分データが示す差分を反映させることにより、レイアウト情報を生成する。このようにして生成されたレイアウト情報は、例えば、前述のように、各ポートレットの表示内容の記述が組み込まれる箇所に空のＨＴＭＬ要素が含まれたＨＴＭＬ文書である。また、差分データ結合部３５は、各ポートレットキャッシュデータに、対応するポートレット差分データが示す差分を反映させることにより、各ポートレットの表示内容を生成する。このようにして生成された各ポートレットの表示内容は、例えば、前述のように、ＨＴＭＬ文書の一部を構成するＨＴＭＬ情報である。そして、差分データ結合部３５は、レイアウト情報と、各ポートレットの表示内容とを結合することにより、ポータルページの表示内容を生成する。また、差分データ結合部３５は、生成したポータルページの表示内容を、ポータルページ表示部３３に表示させる。
【０１１３】
なお、初回のレスポンス情報が、レイアウトキャッシュデータを含み、レイアウト差分データを含まない場合、差分データ結合部３５は、レイアウトキャッシュデータをそのままレイアウト情報とすればよい。また、初回のレスポンス情報が、あるポートレットキャッシュデータに対応するポートレット差分データを含まない場合、差分データ結合部３５は、そのポートレットキャッシュデータをそのまま表示内容とすればよい。
【０１１４】
また、前述のように、再度のレスポンス情報は、レイアウト差分データと、各ポートレットの差分データとを含む。そこで、差分データ結合部３５は、表示中情報取得部３４によって取得されたレイアウト情報に、レスポンス情報に含まれるレイアウト差分データが示す差分を反映させることにより、新たなレイアウト情報を生成する。また、差分データ結合部３５は、表示中情報取得部３４によって取得された各ポートレットの表示内容に、レスポンス情報に含まれるポートレット差分データが示す差分を反映させることにより、新たな各ポートレットの表示内容を生成する。そして、差分データ結合部３５は、レイアウト情報と、各ポートレットの表示内容とを結合することにより、新たなポータルページの表示内容を生成する。また、差分データ結合部３５は、生成したポータルページの表示内容を、ポータルページ表示部３３に表示させる。
【０１１５】
なお、再度のレスポンス情報が、レイアウト差分データを含まない場合、差分データ結合部３５は、表示中情報取得部３４によって取得されたレイアウト情報をそのまま新たなレイアウト情報とすればよい。また、再度のレスポンス情報が、あるポートレットに関するポートレット差分データを含まない場合、差分データ結合部３５は、表示中情報取得部３４によって取得されたそのポートレットの表示内容をそのまま新たな表示内容とすればよい。また、再度のレスポンス情報が、レイアウトキャッシュデータとレイアウト差分データを含む場合、差分データ結合部３５は、初回のレスポンス情報の場合と同様に、レイアウト情報を生成すればよい。また、再度のレスポンス情報が、あるポートレットについてポートレットキャッシュデータとポートレット差分データを含む場合、差分データ結合部３５は、初回のレスポンス情報の場合と同様に、そのポートレットの表示内容を生成すればよい。
【０１１６】
また、表示中情報取得部３４および差分データ結合部３５は、クライアント装置３０上で動作するウェブブラウザに付加的な機能を組み込むプラグインにより実現されてもよい。あるいは、表示中情報取得部３４および差分データ結合部３５は、ポータルページにあらかじめ組み込まれたJavaScript（登録商標）等のクライアント処理が実行されることにより実現されてもよい。
【０１１７】
以上のように構成されたポータルシステム２の動作について、図面を参照して説明する。
【０１１８】
まず、ポータルサーバ２０が、ポートレットキャッシュデータおよびポートレット差分データを蓄積する動作を、図１０に示す。ポータルサーバ２０は、ポータルページに配置されうる各ポートレットについて、そのポートレットに対するアクセス権を有するユーザのユーザＩＤまたはグループＩＤ毎に、以下の蓄積動作を実行する。
【０１１９】
図１０では、まず、ポートレット差分情報生成部２２は、ポートレットを構成するコンテンツが更新されているか否かを表す情報を、コンテンツ提供元装置４０に対して問い合わせることにより取得する（ステップＳ３１）。
【０１２０】
次に、ポートレット差分情報生成部２２は、ステップＳ３１で取得した情報が、更新されていることを表すか否かを判断する（ステップＳ３２）。
【０１２１】
ここで、更新されていると判断した場合、ポートレット表示内容生成部１１は、ポートレットを構成するコンテンツを、コンテンツ提供元装置４０から取得することによりポートレットの表示内容を生成する（ステップＳ３３）。
【０１２２】
次に、ポートレット差分情報生成部２２は、キャッシュ更新条件が満たされるか否かを判断する（ステップＳ３４）。例えば、前述のように、ポートレット差分情報生成部２２は、ポートレット差分情報記憶部２３に、該当するポートレットキャッシュデータが保存されていないことをキャッシュ更新条件として判断を行ってもよい。また、例えば、ポートレット差分情報生成部２２は、ポートレット差分情報記憶部２３に記憶された最新のポートレット差分データのデータサイズが、ポートレットキャッシュデータのデータサイズより大きいことをキャッシュ更新条件として判断を行ってもよい。また、例えば、ポートレット差分情報生成部２２は、ポートレットキャッシュデータの有効期限が切れたことをキャッシュ更新条件として判断を行ってもよい。
【０１２３】
ここで、キャッシュ更新条件を満たすと判断した場合、ポートレット差分情報生成部２２は、ステップＳ３３で生成したポートレットの表示内容を、新たなポートレットキャッシュデータとして、該当するユーザＩＤまたはグループＩＤに対応付けて、ポートレット差分情報記憶部２３に記憶させる（ステップＳ３５）。
【０１２４】
一方、キャッシュ更新条件を満たさないと判断した場合、ポートレット差分情報生成部２２は、ステップＳ３３で生成したポートレットの表示内容について、ポートレットキャッシュデータに対する差分を、ポートレット差分データとして生成する（ステップＳ３６）。
【０１２５】
次に、ポートレット差分情報生成部２２は、生成したポートレット差分データを、該当するユーザＩＤまたはグループＩＤに対応付けて、ポートレット差分情報記憶部２３に追加して記憶させる（ステップＳ３７）。
【０１２６】
以上で、ポータルサーバ２０は、ポートレットキャッシュデータおよびポートレット差分データの蓄積動作を終了する。
【０１２７】
また、ステップＳ３２において、更新されていないと判断した場合、ポータルサーバ２０は、蓄積動作を終了する。
【０１２８】
以上の蓄積動作を、ポータルサーバ２０は、あらかじめ定められたタイミングで実行する。あらかじめ定められたタイミングとは、例えば、所定の間隔であってもよい。あるいは、あらかじめ定められたタイミングとは、ポートレット差分データの有効期限が切れたタイミングであってもよい。あるいは、あらかじめ定められたタイミングとは、クライアント装置３０からポートレットキャッシュデータやポートレット差分データの更新要求情報を受信したタイミングであってもよい。
【０１２９】
次に、ポータルサーバ２０が、レイアウトキャッシュデータおよびレイアウト差分データを蓄積する動作を、図１１に示す。
【０１３０】
図１１では、まず、レイアウト情報生成部２８は、クライアント装置３０から、ポータルページに配置されるポートレットを設定する設定情報を受信する（ステップＳ４１）。前述のように、設定情報は、配置されるポートレットを特定する情報の一覧や、その配置関係を表す情報を含んでいてもよい。また、設定情報は、ユーザＩＤを含んでいてもよい。
【０１３１】
次に、レイアウト情報生成部２８は、ステップＳ４１で取得された設定情報に基づいて、レイアウト情報を生成する（ステップＳ４２）。ここで生成されるレイアウト情報は、前述のように、例えば、各ポートレットを表す空の要素を含むＨＴＭＬ文書であってもよい。
【０１３２】
次に、レイアウト情報生成部２８は、所定のレイアウト更新条件が満たされるか否かを判断する（ステップＳ４３）。例えば、レイアウト情報生成部２８は、レイアウト情報記憶部２４に該当するレイアウトキャッシュデータが保存されていないことをレイアウト更新条件として、判断を行ってもよい。また、例えば、レイアウト情報生成部２８は、レイアウト情報記憶部２４に記憶された最新のレイアウト差分データのデータサイズが、レイアウトキャッシュデータのデータサイズより大きいことをレイアウト更新条件として、判断を行ってもよい。
【０１３３】
ここで、レイアウト更新条件を満たすと判断した場合、レイアウト情報生成部２８は、ステップＳ４２で生成したレイアウト情報を、新たなレイアウトキャッシュデータとして、該当するユーザＩＤに対応付けて、レイアウト情報記憶部２４に記憶させる（ステップＳ４４）。
【０１３４】
一方、レイアウト更新条件を満たさないと判断した場合、レイアウト情報生成部２８は、ステップＳ４２で生成したレイアウト情報について、レイアウトキャッシュデータに対する差分を、レイアウト差分データとして生成する（ステップＳ４５）。
【０１３５】
次に、レイアウト情報生成部２８は、生成したレイアウト差分データを、該当するユーザＩＤに対応付けて、レイアウト情報記憶部２４に追加して記憶させる（ステップＳ４６）。
【０１３６】
以上で、ポータルサーバ２０は、レイアウトキャッシュデータおよびレイアウト差分データの蓄積動作を終了する。
【０１３７】
次に、ポータルシステム２が、ポータルページを提供する動作を、図１２および図１３を参照して説明する。
【０１３８】
図１２では、まず、クライアント装置３０のリクエスト情報送信部３１は、ポータルサーバ２０に対して、ポータルページを要求するリクエスト情報を送信する（ステップＳ５１）。クライアント装置３０は、このリクエスト情報にユーザＩＤを含める。
【０１３９】
次に、図１３において、ポータルサーバ２０のリクエスト情報受信部２５は、リクエスト情報を受信する（ステップＳ５２）。
【０１４０】
次に、レスポンス情報生成部２６は、受信されたリクエスト情報が初回のものであるか否かを判断する（ステップＳ５３）。
【０１４１】
ここで、初回のレスポンス情報であると判断した場合、レスポンス情報生成部２６は、このユーザＩＤに対応付けてレイアウト情報記憶部２４に記憶されているレイアウトキャッシュデータと、レイアウト差分データとを取得する（ステップＳ５４）。
【０１４２】
次に、レスポンス情報生成部２６は、ステップＳ５４で取得したレイアウトキャッシュデータに基づいて、このポータルページに配置されたポートレットの一覧を取得する（ステップＳ５５）。
【０１４３】
次に、レスポンス情報生成部２６は、このユーザＩＤに対応付けて、各ポートレットに関連してポートレット差分情報記憶部２３に記憶されているポートレットキャッシュデータおよびポートレット差分データを取得する（ステップＳ５６）。
【０１４４】
次に、レスポンス情報生成部２６は、ステップＳ５４で取得したレイアウトキャッシュデータおよびレイアウト差分データと、ステップＳ５６で取得した各ポートレットキャッシュデータおよび各ポートレット差分データとを含むレスポンス情報を生成する（ステップＳ５７）。
【０１４５】
一方、ステップＳ５３において初回のリクエスト情報でない（２回目以降である）と判断した場合、レスポンス情報生成部２６は、このユーザＩＤに対応付けてレイアウト情報記憶部２４に記憶されているレイアウト差分データのうち、前回のリクエスト情報受信時以降に記憶されたものを取得する（ステップＳ５８）。
【０１４６】
なお、前述のように、前回のリクエスト情報の受信時以降にレイアウト情報記憶部２４に記憶された情報の中に、レイアウトキャッシュデータがある場合、レスポンス情報生成部２６は、そのレイアウトキャッシュデータと、そのレイアウトキャッシュデータ以降に記憶されたレイアウト差分データを取得するようにする。
【０１４７】
次に、レスポンス情報生成部２６は、このポータルページに配置されたポートレットの一覧を、レイアウトキャッシュデータを参照することにより取得する（ステップＳ５９）。
【０１４８】
次に、レスポンス情報生成部２６は、各ポートレットに関してポートレット差分情報記憶部２３に記憶されているポートレット差分データのうち、前回のリクエスト情報の受信時以降に、このユーザＩＤに対応付けて記憶されたものを取得する（ステップＳ６０）。
【０１４９】
なお、前述のように、前回のリクエスト情報の受信時以降にポートレット差分情報記憶部２３に記憶された情報の中に、ポートレットキャッシュデータがある場合、レスポンス情報生成部２６は、そのポートレットについては、そのポートレットキャッシュデータと、そのポートレットキャッシュデータ以降に記憶されたポートレット差分データを取得するようにする。
【０１５０】
次に、レスポンス情報生成部２６は、ステップＳ５８で取得したレイアウト差分データと、ステップＳ６０で取得したポートレット差分データとを含むレスポンス情報を生成する（ステップＳ６１）。なお、レスポンス情報生成部２６は、ステップＳ５８でレイアウトキャッシュデータを取得していれば、そのレイアウトキャッシュデータもレスポンス情報に含める。また、レスポンス情報生成部２６は、ステップＳ６０でポートレットキャッシュデータを取得していれば、そのポートレットキャッシュデータもレスポンス情報に含める。
【０１５１】
次に、レスポンス情報送信部１７は、ステップＳ５７またはステップＳ６１で生成したレスポンス情報を、クライアント装置３０に対して送信する（ステップＳ６２）。
【０１５２】
次に、図１２に戻り、クライアント装置３０のレスポンス情報受信部３２は、ポータルサーバ２０からレスポンス情報を受信する（ステップＳ６３）。
【０１５３】
次に、差分データ結合部３５は、ステップＳ６３で受信されたレスポンス情報が、初回のレスポンス情報であるか否かを判断する（ステップＳ６４）。
【０１５４】
ここで、初回のレスポンス情報であると判断した場合、差分データ結合部３５は、レスポンス情報に含まれるレイアウトキャッシュデータに、レイアウト差分データが示す差分を反映させることにより、レイアウト情報を生成する（ステップＳ６５）。
【０１５５】
次に、差分データ結合部３５は、レスポンス情報に含まれる各ポートレットキャッシュデータに、対応するポートレット差分データが示す差分を反映させることにより、各ポートレットの表示内容を生成する（ステップＳ６６）。
【０１５６】
次に、差分データ結合部３５は、ステップＳ６５で生成したレイアウト情報と、ステップＳ６６で生成した各ポートレットの表示内容とを結合することにより、ポータルページの表示内容を生成する（ステップＳ６７）。
【０１５７】
一方、ステップＳ６４で、初回のレスポンス情報ではないと判断された場合、表示中情報取得部３４は、ポータルページ表示部３３によって表示中のポータルページから、ポートレットの表示内容と、ポートレットのレイアウト情報とを抽出する（ステップＳ６８）。
【０１５８】
次に、差分データ結合部３５は、表示中情報取得部３４によって取得されたレイアウト情報に、レスポンス情報に含まれるレイアウト差分データが示す差分を反映させることにより、新たなレイアウト情報を生成する（ステップＳ６９）。
【０１５９】
なお、前述のように、レスポンス情報に、さらにレイアウトキャッシュデータも含まれている場合がある。この場合、差分データ結合部３５は、表示中情報取得部３４によって取得されたレイアウト情報を用いずに、レスポンス情報に含まれるレイアウトキャッシュデータに、レイアウト差分データが示す差分を反映させることにより、新たなレイアウト情報を生成すればよい。
【０１６０】
次に、差分データ結合部３５は、表示中情報取得部３４によって取得された各ポートレットの表示内容に、レスポンス情報に含まれるポートレット差分データが示す差分を反映させることにより、各ポートレットの新たな表示内容を生成する（ステップＳ７０）。
【０１６１】
なお、前述のように、レスポンス情報には、さらにポートレットキャッシュデータも含まれている場合がある。この場合、差分データ結合部３５は、そのポートレットについては、表示中情報取得部３４によって取得された表示内容を用いずに、レスポンス情報に含まれるポートレットキャッシュデータに、対応するポートレット差分データが示す差分を反映させることにより、そのポートレットの新たな表示内容を生成する。
【０１６２】
次に、差分データ結合部３５は、ステップＳ６９で生成した新たなレイアウト情報と、ステップＳ７０で生成した各ポートレットの新たな表示内容とを結合することにより、新たなポータルページを生成する（ステップＳ７１）。
【０１６３】
次に、ポータルページ表示部３３は、ステップＳ６７またはステップＳ７１で生成されたポータルページを表示する（ステップＳ７２）。
【０１６４】
以上で、ポータルシステム２は動作を終了する。
【０１６５】
次に、ポータルシステム２の動作の具体例について説明する。ここでは、ポートレット差分情報記憶部２３に、図８に示す情報が格納され、レイアウト情報記憶部２４に、図９に示す情報が格納されているものとする。
【０１６６】
まず、クライアント装置３０のリクエスト情報送信部３１は、２０１１／１１／０７の ０８：００に、ポートレットＣが配置されたポータルページの初回のリクエスト情報を、ポータルサーバ２０に送信したとする（ステップＳ５１）。このとき、リクエスト情報には、グループＣに属するユーザＡのユーザＩＤが含まれているものとする。
【０１６７】
次に、ポータルサーバ２０のレスポンス情報生成部２６は、初回のリクエスト情報であると判断する（ステップＳ５３でＹｅｓ）。
【０１６８】
そこで、レスポンス情報生成部２６は、レイアウト情報記憶部２４において、ユーザＡに対応付けられたレイアウトキャッシュデータおよびレイアウト差分データを取得する（ステップＳ５４）。この場合、図９のレイアウト情報記憶部２４は、ユーザＡのレイアウト差分データを記憶していない。そこで、レスポンス情報生成部２６は、ユーザＡのレイアウトキャッシュデータ（図９の１行目）のみを取得する。
【０１６９】
次に、レスポンス情報生成部２６は、ポートレットＣに関して、ポートレット差分情報記憶部２３に記憶された情報のうち、グループＣに対応付けられたポートレットキャッシュデータおよびポートレット差分データを取得する（ステップＳ５６）。この場合、２０１１／１１／０７の０８：００の時点で、そのような情報は、図８の４行目のポートレットキャッシュデータのみである。
【０１７０】
次に、レスポンス情報生成部２６は、ユーザＡのレイアウトキャッシュデータ（図９の１行目）と、グループＣのポートレットＣのポートレットキャッシュデータ（図８の４行目）とを含むレスポンス情報を生成する（ステップＳ５７）。
【０１７１】
そして、レスポンス情報送信部１７は、生成されたレスポンス情報を、クライアント装置３０に送信する（ステップＳ６２）。
【０１７２】
クライアント装置３０では、初回のレスポンス情報に応じて（ステップＳ６４でＹｅｓ）、差分データ結合部３５が、レスポンス情報に含まれる各情報を結合することによりポータルページを生成する（ステップＳ６５〜Ｓ６７）。
【０１７３】
そして、ポータルページ表示部３３は、ポータルページを表示する（ステップＳ７２）。
【０１７４】
次に、クライアント装置３０のリクエスト情報送信部３１が、ポータルページ表示部３３によりポータルページが表示された状態で、２０１１／１１／０７の１３：００に、同一のポータルページに対するリクエスト情報を再度送信したことを想定する（ステップＳ５１）。
【０１７５】
ここで、ポータルサーバ２０のレスポンス情報生成部２６は、初回のリクエスト情報ではないと判断する（ステップＳ５３でＮｏ）。
【０１７６】
そこで、レスポンス情報生成部２６は、前回のリクエスト情報の受信時以降に、ユーザＡに対応付けてレイアウト情報記憶部２４に記憶された情報を検索するが、そのような情報はないと判断する（ステップＳ５８）。
【０１７７】
次に、レスポンス情報生成部２６は、前回のリクエスト情報の受信時以降に、ポートレットＣに関連してポートレット差分情報記憶部２３に記憶された情報のうち、グループＣに対応付けられたものを取得する。この場合、そのような情報は、図８の５行目および６行目のポートレット差分データである。
【０１７８】
そこで、レスポンス情報生成部２６は、図８の５行目および６行目のポートレット差分データを含むレスポンス情報を生成する（ステップＳ６１）。
【０１７９】
そして、レスポンス情報送信部１７は、生成されたレスポンス情報を、クライアント装置３０に送信する（ステップＳ６２）。
【０１８０】
クライアント装置３０では、初回のレスポンス情報ではないので（ステップＳ６４でＮｏ）、表示中情報取得部３４は、表示中のポータルページから、ポートレットＣの表示内容と、ポータルページのレイアウト情報とを取得する（ステップＳ６８）。
【０１８１】
次に、差分データ結合部３５は、受信されたレスポンス情報にレイアウト差分データが含まれていなかったので、表示中のポータルページから取得されたレイアウト情報を、そのまま用いる（ステップＳ６９）。
【０１８２】
次に、差分データ結合部３５は、表示中のポータルページから取得されたポートレットＣの表示内容に、レスポンス情報に含まれるポートレット差分データ（図８の５行目および６行目）を適用し、新たなポートレットＣの表示内容を生成する（ステップＳ７０）。
【０１８３】
次に、差分データ結合部３５は、表示中のポータルページから取得されたレイアウト情報と、新たなポートレットＣの表示内容とを結合し、更新されたポータルページを生成する（ステップＳ７１）。
【０１８４】
そして、ポータルページ表示部３３は、ポータルページを表示する（ステップＳ７２）。
【０１８５】
以上で、ポータルシステム２の動作の具体例の説明を終了する。
【０１８６】
以上のように動作するポータルシステム２により、クライアント装置３０に表示されるポータルページの具体例を、図１４および図１５に示す。
【０１８７】
まず、図１４を用いて、ポートレットＡ、ポートレットＢ、ポートレットＣが配置されたユーザＡのポータルページについて説明を行う。
【０１８８】
図１４において、ポートレットＡは、天気予報サーバから取得する天気予報情報を表示するポートレットである。ポートレットＡは、全てのユーザに対してアクセスが許可されている。ポータルサーバ２０のポートレット差分情報記憶部２３は、ポートレットＡに関するポートレットキャッシュデータおよびポートレット差分データに、全てのユーザＩＤを含むグループＩＤを対応付けて記憶している。
【０１８９】
ポートレットＢは、ユーザＩＤで特定されるユーザの新着メール件数をメールサーバから取得して表示するポートレットである。ポータルサーバ２０のポートレット表示内容生成部１１は、ポートレットＢの表示内容を、ユーザＩＤを用いて生成する。そして、ポートレット差分情報記憶部２３は、ユーザＩＤ毎に生成されたポートレットＢのポートレットキャッシュデータおよびポートレット差分データを、ユーザＩＤに応付けて記憶している。
【０１９０】
ポートレットＣは、グループＩＤで特定されるグループ向けのスケジュール一覧をスケジュール管理サーバから取得して表示するポートレットである。ポータルサーバ２０のポートレット表示内容生成部１１は、ポートレットＣの表示内容を、グループＩＤを用いて生成する。そして、ポートレット差分情報記憶部２３は、グループＩＤ毎に生成されたポートレットＣのポートレットキャッシュデータおよびポートレット差分データを、グループＩＤに対応付けて記憶している。
【０１９１】
このとき、図１４（ａ）は、初回のリクエスト情報に応じて表示されたポータルページを示し、図１４（ｂ）は、再度のリクエスト情報に応じて再表示されたポータルページを示す。
【０１９２】
ここでは、ポータルサーバ２０は、初回のリクエスト情報の受信時に、ユーザＡのレイアウトキャッシュデータおよびレイアウト差分データと、ポートレットＡ、Ｂ、Ｃのポートレットキャッシュデータおよびポートレット差分データとを含むレスポンス情報を、クライアント装置３０に送信する。このとき、ポータルサーバ２０は、ポートレットＢおよびＣに関しては、ユーザＡおよびグループＣに対応付けられたポートレットキャッシュデータおよびポートレット差分データを、レスポンス情報に含めるようにする。なお、ユーザＡはグループＣに属するものとする。これにより、クライアント装置３０は、図１４（ａ）に示すポータルページを表示する。
【０１９３】
この状態で、クライアント装置３０が再度のリクエスト情報を送信したとする。また、ポータルサーバ２０のポートレット差分情報記憶部２３は、前回のリクエスト情報の受信時以降に、ユーザＡのポートレットＢに関するポートレット差分データを新たに記憶しているものと想定する。ここでは、そのポートレット差分データは、新着メールの件数を表す表示要素を、２件から５件に更新するという内容を表すものである。したがって、ポータルサーバ２０は、ユーザＡのポートレットＢに関するポートレット差分データをレスポンス情報に含めて、クライアント装置３０に送信する。これにより、クライアント装置３０は、図１４（ｂ）に示すポータルページを表示する。
【０１９４】
このように、図１４（ａ）から図１４（ｂ）のポータルページに更新するため、ポータルサーバ２０は、クライアント装置３０に対して、ポートレットＢのポートレット差分データを送信するだけでよい。
【０１９５】
また、図１５（ａ）は、ユーザＡのポータルページを示し、図１５（ｂ）は、ユーザＢのポータルページを示している。ユーザＢのポータルページには、ポートレットＡ、ポートレットＤ、ポートレットＥが配置されるようレイアウト情報が設定されているものとする。
【０１９６】
ポートレットＤは、一般的なニュースサーバからニュース一覧を取得して表示するポートレットであり、全てのユーザに対してアクセスが許可されている。
【０１９７】
ポートレットＥは、他のポートレットであり、全てのユーザに対してアクセスが許可されている。
【０１９８】
図１５において、ユーザＡの利用するクライアント装置３０ａは、初回のリクエスト情報をポータルサーバ２０に送信する。そして、ポータルサーバ２０は、ユーザＡのレイアウトキャッシュデータおよびレイアウト差分データと、ポートレットＡ、Ｂ、Ｃのポートレットキャッシュデータおよびポートレット差分データとを含むレスポンス情報を、クライアント装置３０ａに送信する。これにより、クライアント装置３０ａは、図１５（ａ）に示すポータルページを表示する。
【０１９９】
また、近い時期に、ユーザＢの利用するクライアント装置３０ｂは、初回のリクエスト情報をポータルサーバ２０に送信する。このとき、ポータルサーバ２０のポートレット差分情報記憶部２３は、ポートレットＡに関して、クライアント装置３０ａに送信したものと同一のポートレットキャッシュデータおよびポートレット差分データを記憶していたとする。そこで、ポータルサーバ２０は、ユーザＢのレイアウトキャッシュデータおよびレイアウト差分データと、クライアント装置３０ａに送信したものと同一のポートレットＡのポートレットキャッシュデータおよびポートレット差分データと、ポートレットＤ、Ｅのポートレットキャッシュデータおよびポートレと差分データとを含むレスポンス情報を、クライアント装置３０ｂに送信する。これにより、クライアント装置３０ｂは、図１５（ｂ）に示すポータルページを表示する。
【０２００】
このように、ポータルサーバ２０は、クライアント装置３０ａおよび３０ｂからの各リクエスト情報の受信に応じて、ポートレットＡの表示内容を生成するためのコンテンツ提供元装置４０との通信を重複して行う必要がない。
【０２０１】
次に、本発明の第２の実施の形態の効果について説明する。
【０２０２】
本発明の第２の実施の形態としてのポータルシステムは、アクセス権限が設定されたポートレットの配置されたポータルページをクライアント装置に提供する際の通信をより効率化することができる。
【０２０３】
その理由は、ポートレット差分情報生成部が、ポートレット差分データおよびポートレットキャッシュデータを、そのポートレットに対するアクセス権限を有するユーザＩＤまたはグループＩＤに対応付けてポートレット差分情報記憶部に記憶させ、レスポンス情報生成部が、リクエスト情報が示すユーザＩＤまたはグループＩＤに対応付けられたポートレット差分データおよびポートレットキャッシュデータを用いて、レスポンス情報を生成するからである。
【０２０４】
これにより、本実施の形態としてのポータルサーバは、ポートレットの効率的な送信を実現するためのポートレットキャッシュデータおよびポートレット差分データとして、アクセス権限に応じた適切なものを用いることが可能となる。
【０２０５】
また、本発明の第２の実施の形態としてのポータルシステムは、ポートレットの配置されたポータルページを提供する際の通信をさらに効率化することができる。
【０２０６】
その理由は、ポートレット差分情報生成部が、キャッシュ更新条件が満たされるときに新たなポートレットキャッシュデータを生成してポートレット差分情報記憶部に記憶させ、レスポンス情報生成部が、再度のリクエスト情報の受信時に、前回のリクエスト情報受信時以降に記憶されたポートレットキャッシュデータがあれば、そのポートレットキャッシュデータと、それ以降に記憶されたポートレット差分データをレスポンス情報に含めるからである。これにより、本実施の形態としてのポータルサーバは、ポートレットの効率的な送信を実現するためのポートレット差分データを、時間の経過に伴って肥大化させることがないからである。
【０２０７】
さらなる理由は、レイアウト情報生成部が、設定情報の取得に応じてレイアウト情報を生成し、レイアウト差分情報生成部が、ある時点で生成されたレイアウト情報をレイアウトキャッシュデータとしてレイアウト情報記憶部に記憶させ、他の時点で生成されたレイアウト情報のレイアウトキャッシュデータに対する差分をレイアウト差分データとして生成してレイアウト情報記憶部に記憶させるからである。そして、レスポンス情報生成部が、再度のリクエスト情報の受信時には、前回のリクエスト情報の受信時以降にレイアウト情報に記憶されたレイアウト差分データをレスポンス情報に含めるからである。これにより、本実施の形態としてのポータルサーバは、レイアウト情報が更新された場合であっても、クライアント装置に対して送信するレスポンス情報に、前回送信時から更新されていない部分を多く含むレイアウト情報を含める必要がないからである。
【０２０８】
なお、上述した本発明の各実施の形態において、ポータルページがＨＴＭＬ文書であり、ポートレットの表示内容がＨＴＭＬ情報である例を中心に説明したが、ポータルページおよびポートレットの表示内容は、ＨＴＭＬ以外の言語によって記述されたものであってもよい。
【０２０９】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明したポータルサーバの動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておき、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
【０２１０】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０２１１】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０２１２】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
ポータルページに配置されるポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成するポートレット表示内容生成部と、
前記ポートレット表示内容生成部によってある時点において生成された前記ポートレットの表示内容をポートレットキャッシュデータとして、前記ポートレット表示内容生成部によって他の時点において生成された表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを生成するポートレット差分情報生成部と、
前記ポートレットキャッシュデータおよび前記ポートレット差分データを記憶するポートレット差分情報記憶部と、
前記ポータルページに配置された前記ポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部と、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信部と、
前記リクエスト情報受信部によって前記リクエスト情報が受信されると、前記レイアウト情報記憶部に記憶された前記レイアウト情報と、該レイアウト情報の示す各ポートレットに関して前記ポートレット差分情報記憶部に記憶された前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成するとともに、前記リクエスト情報受信部によって前記クライアント装置から前記リクエスト情報が再度受信されると、該レイアウト情報の示す各ポートレットに関して前回のリクエスト情報受信時以降に前記ポートレット差分情報記憶部に記憶された前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報生成部と、
前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信部と、
を備えたポータルサーバ。
（付記２）
前記ポートレット差分情報記憶部は、前記ポートレットキャッシュデータおよび前記ポートレット差分データに、該当するポートレットに対するアクセス権限を有するユーザを識別するユーザＩＤを対応付けて記憶し、
前記レスポンス情報生成部は、前記レスポンス情報に含める前記ポートレットキャッシュデータおよび前記ポートレット差分データとして、前記リクエスト情報に含まれるユーザＩＤにそれぞれ対応付けられたものを用いることを特徴とする付記１に記載のポータルサーバ。
（付記３）
前記ポートレット差分情報記憶部は、前記ポートレットキャッシュデータおよび前記ポートレット差分データに、該当するポートレットに対するアクセス権限を有するユーザのグループを識別するグループＩＤを対応付けて記憶し、
前記レスポンス情報生成部は、前記レスポンス情報に含める前記ポートレットキャッシュデータおよび前記ポートレット差分データとして、前記リクエスト情報に含まれるユーザＩＤのユーザが属するグループのグループＩＤにそれぞれ対応付けられたものを用いることを特徴とする付記１または付記２に記載のポータルサーバ。
（付記４）
前記ポータルページに配置されるポートレットを設定する設定情報の取得に応じて前記レイアウト情報を生成するレイアウト情報生成部と、
ある時点において生成された前記レイアウト情報をレイアウトキャッシュデータとして、他の時点において生成された前記レイアウト情報の前記レイアウトキャッシュデータに対する差分を表すレイアウト差分データを生成するレイアウト差分情報生成部とをさらに備え、
前記レイアウト情報記憶部は、前記レイアウト情報として、前記レイアウトキャッシュデータおよび前記レイアウト差分データを記憶し、
前記レスポンス情報生成部は、前記リクエスト情報受信部によって前記リクエスト情報が受信されると、前記レスポンス情報に含める前記レイアウト情報として、前記レイアウト情報記憶部に記憶された前記レイアウトキャッシュデータおよび前記レイアウト差分データを含めるとともに、前記リクエスト情報受信部によって前記クライアント装置から前記リクエスト情報が再度受信されると、前記レスポンス情報に、前回のリクエスト情報受信時以降に前記レイアウト情報記憶部に記憶された前記レイアウト差分データをさらに含めることを特徴とする付記１から付記３のいずれか１つに記載のポータルサーバ。
（付記５）
前記レイアウト情報記憶部は、前記レイアウト情報に前記ユーザＩＤを対応付けて記憶し、
前記レスポンス情報生成部は、前記レスポンス情報に含める前記レイアウト情報として、前記リクエスト情報に含まれるユーザＩＤに対応付けられたものを用いることを特徴とする付記１から付記４のいずれか１つに記載のポータルサーバ。
（付記６）
前記ポートレット差分情報生成部は、前記コンテンツ提供元装置において前記コンテンツが更新された場合に、前記ポートレットキャッシュデータおよび前記ポートレット差分データのいずれかを生成して前記ポートレット差分情報記憶部に記憶させることを特徴とする付記１から付記５のいずれか１つに記載のポータルサーバ。
（付記７）
前記ポートレット差分情報生成部は、所定のポートレットキャッシュ更新条件が満たされた時点で前記ポートレット表示内容生成部によって生成された前記ポートレットの表示内容を、新たな前記ポートレットキャッシュデータとして前記ポートレット差分情報記憶部に記憶させることを特徴とする付記１から付記６のいずれか１つに記載のポータルサーバ。
（付記８）
前記ポートレット差分情報記憶部は、前記ポートレットキャッシュデータおよび前記ポートレット差分データの各データサイズをさらに記憶し、
前記ポートレット差分情報生成部は、前記ポートレットキャッシュデータのデータサイズおよび前記ポートレット差分データのデータサイズが所定の関係であることを前記ポートレットキャッシュ更新条件として、前記新たなポートレットキャッシュデータを前記ポートレット差分情報記憶部に記憶させることを特徴とする付記７に記載のポータルサーバ。
（付記９）
付記１から付記８のいずれか１つに記載のポータルサーバに前記ポータルページのリクエスト情報を送信するリクエスト情報送信部と、
前記ポータルサーバから前記レスポンス情報を受信するレスポンス情報受信部と、
前記レスポンス情報に基づいて前記ポータルページを表示するポータルページ表示部と、
前記ポータルページ表示部によって表示中の前記ポータルページから前記レイアウト情報および前記ポートレットの表示内容を抽出する表示中情報取得部と、
前記レスポンス情報受信部によって前記ポータルサーバから受信されたレスポンス情報に含まれる情報を結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させるとともに、前記レスポンス情報受信部によって前記ポータルサーバから再度受信されたレスポンス情報に含まれる情報と、前記表示中情報取得部によって取得された情報とを結合することにより前記ポータルページの表示内容を生成して前記ポータルページ表示部に表示させる差分データ結合部と、
を備えたクライアント装置。
（付記１０）
付記１から付記８のいずれか１つに記載のポータルサーバと、
付記９に記載のクライアント装置と、
を備えたポータルシステム。
（付記１１）
ポータルページに配置されるポートレットを表すレイアウト情報を記憶しておき、
前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとして記憶し、
前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを記憶し、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信すると、
前記ポータルページの前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信し、
前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信すると、
前回のリクエスト情報受信時以降に記憶した前記ポートレット差分データを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信する、情報処理方法。
（付記１２）
ポータルページに配置されるポートレットを表すレイアウト情報を記憶したレイアウト情報記憶部を用いて、
前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成し、生成した表示内容をポートレットキャッシュデータとしてポートレット差分情報記憶部に記憶させるポートレットキャッシュデータ記憶ステップと、
前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを前記ポートレット差分情報記憶部に記憶させるポートレット差分データ記憶ステップと、
クライアント装置から前記ポータルページを要求するリクエスト情報を受信するリクエスト情報受信ステップと、
前記リクエスト情報受信ステップで要求されたポータルページに関して前記レイアウト情報記憶部に記憶された前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成するレスポンス情報生成ステップと、
前記レスポンス情報を前記クライアント装置に送信するレスポンス情報送信ステップと、
前記クライアント装置から前記ポータルページを要求するリクエスト情報を再度受信するリクエスト情報再受信ステップと、
前回のリクエスト情報受信時以降に記憶した前記ポートレット差分データを含むレスポンス情報を生成するレスポンス情報再生成ステップと、
前記レスポンス情報再生成ステップで生成されたレスポンス情報を前記クライアント装置に送信するレスポンス情報再送信ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
（付記１３）
ポータルサーバは、
ポータルページに配置されるポートレットを表すレイアウト情報を記憶しておき、
前記ポートレットの表示内容を、コンテンツ提供元装置からコンテンツを取得することにより生成してポートレットキャッシュデータとして記憶し、
前記ポートレットの表示内容を再度生成し、生成した表示内容の前記ポートレットキャッシュデータに対する差分を表すポートレット差分データを記憶し、
クライアント装置は、
前記ポータルページを要求するリクエスト情報を前記ポータルサーバに送信し、
前記ポータルサーバは、
前記ポータルページの前記レイアウト情報と、前記レイアウト情報が示す各ポートレットに関する前記ポートレットキャッシュデータおよび前記ポートレット差分データとを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信し、
前記クライアント装置は、
前記レスポンス情報に基づいて前記ポータルページを表示し、
前記ポータルページを要求するリクエスト情報を前記ポータルサーバに再度送信し、
前記ポータルサーバは、
前回のリクエスト情報受信時以降に記憶した前記ポートレット差分データを含むレスポンス情報を生成し、
前記レスポンス情報を前記クライアント装置に送信し、
前記クライアント装置は、
表示中のポータルページから前記レイアウト情報および前記ポートレットの表示内容を抽出し、
抽出した前記レイアウト情報および前記ポートレットの表示内容と、受信したレスポンス情報とを結合することにより、新たなポータルページを表示する、情報処理方法。
（付記１４）
付記１２に記載のコンピュータ・プログラムを実行するポータルサーバに対して前記ポータルページのリクエスト情報を送信するリクエスト情報送信ステップと、
前記ポータルサーバから前記レスポンス情報を受信するレスポンス情報受信ステップと、
前記レスポンス情報に基づいて前記ポータルページを表示するポータルページ表示ステップと、
前記ポータルサーバに対して前記ポータルページのリクエスト情報を再度送信するリクエスト情報再送信ステップと、
前記ポータルサーバから前記レスポンス情報を再度受信するレスポンス情報再受信ステップと、
前記ポータルページ表示ステップによって表示中のポータルページからレイアウト情報および前記ポートレットの表示内容を抽出する表示中情報取得ステップと、
前記レスポンス情報再受信ステップで前記ポータルサーバから再度受信されたレスポンス情報と、前記表示中情報取得ステップで取得された前記レイアウト情報および前記ポートレットの表示内容とを結合することにより新たなポータルページを生成する差分データ結合ステップと、
前記差分データ結合ステップによって生成された新たなポータルページを表示するポータルページ再表示ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【符号の説明】
【０２１３】
１０、２０    ポータルサーバ
２    ポータルシステム
１１    ポートレット表示内容生成部
１２、２２    ポートレット差分情報生成部
１３、２３    ポートレット差分情報記憶部
１４、２４    レイアウト情報記憶部
１５、２５    リクエスト情報受信部
１６、２６    レスポンス情報生成部
１７    レスポンス情報送信部
２８    レイアウト情報生成部
２９    レイアウト差分情報生成部
３０    クライアント装置
３１    リクエスト情報送信部
３２    レスポンス情報受信部
３３    ポータルページ表示部
３４    表示中情報取得部
３５    差分データ結合部
４０    コンテンツ提供元装置
【図１】
0006035803.tif 000002
【図２】
0006035803.tif 000003
【図３】
0006035803.tif 000004
【図４】
0006035803.tif 000005
【図５】
0006035803.tif 000006
【図６】
0006035803.tif 000007
【図７】
0006035803.tif 000008
【図８】
0006035803.tif 000009
【図９】
0006035803.tif 000010
【図１０】
0006035803.tif 000011
【図１１】
0006035803.tif 000012
【図１２】
0006035803.tif 000013
【図１３】
0006035803.tif 000014
【図１４】
0006035803.tif 000015
【図１５】
0006035803.tif 000016