(57)【要約】  【課題】  少ない計算コストで動的にウェブページを生成する。  【解決手段】  クライアント端末２０からパーソナライズなしのリクエストが送られると訪問回数に応じたリダイレクト先から固定のウェブページが返される。パーソナライズありのリクエストの場合、ウェブサーバ１０１の動的ページ生成プログラム１０１ｃが、ユーザプロファイルデータベース１０１ａの情報に基づいて、リモートプロシージャコールによりキャッシュサーバ１０２のメモリ１０２ａから対応するページ構成要素を順番に取り出して所定のプロトタイプに即したウェブページを合成していく。キャッシュサーバ１０２のメモリ１０２ａからのページ構成要素の読出しに際して、ハッシュテーブル１０２ｂが、ページ構成要素のＧＵＩＤからポインタを決定し、対応するページ構成要素を取り出す。所望の構成要素を配置して合成されたウェブページはクライアント端末２０に返される。【選択図】  図８
2004362599.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置からＵＲＬを伴うユーザの文書出力要求を受け取る手段と、
上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別する手段と、
上記出力すべき文書が第１の文書と判別されたときに、上記ＵＲＬに対応して動的に文書を生成して出力する手段と、
上記出力すべき文書が第２の文書と判別されたときには、上記ＵＲＬに対応して予め生成されている第２の文書を出力する手段とを有することを特徴とする文書出力装置。
【請求項２】
ユーザからの文書出力要求に基づいてそれぞれ動的に生成されて出力されることが予定される第１の文書を構成する文書構成要素を記憶するメモリ手段と、
クライアント装置からユーザの文書出力要求を受け取る手段と、
上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別する手段と、
上記出力すべき文書が第１の文書と判別されたときには、上記メモリから文書構成要素を取りだし、動的に第１の文書を生成して出力する手段と、
上記出力すべき文書が第２の文書と判別されたときには、固定した内容の第２の文書を出力する手段とを有することを特徴とする文書出力装置。
【請求項３】
上記第２の文書を複数バージョン予め生成しておき、アクセス回数に応じてサイクリックにバージョンを選択する出力する請求項１または２記載の文書出力装置。
【請求項４】
文書出力要求受け取り手段により、クライアント装置からＵＲＬを伴うユーザの文書出力要求を受け取るステップと、
出力文書タイプ判別手段により、上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別するステップと、
第１文書出力手段により、上記出力すべき文書が第１の文書と判別されたときに、上記ＵＲＬに対応して動的に文書を生成して出力するステップと、
第２文書出力手段に縒り、上記出力すべき文書が第２の文書と判別されたときには、上記ＵＲＬに対応して予め生成されている第２の文書を出力するステップとを有することを特徴とする文書出力方法。
【請求項５】
文書出力要求受け取り手段により、クライアント装置からＵＲＬを伴うユーザの文書出力要求を受け取るステップと、
出力文書タイプ判別手段により、上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別するステップと、
第１文書出力手段により、上記出力すべき文書が第１の文書と判別されたときに、上記ＵＲＬに対応して動的に文書を生成して出力するステップと、
第２文書出力手段に縒り、上記出力すべき文書が第２の文書と判別されたときには、上記ＵＲＬに対応して予め生成されている第２の文書を出力するステップとをコンピュータに実行させるために用いられることを特徴とする文書出力用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザからの要求に基づいてウェブページ等の文書を出力する文書出力技術に関する。
【背景技術】
【０００２】
インターネット上のウェブサイトでは、ユーザの閲覧要求に基づいて固定した内容のウェブページを送るのみでなく、ユーザの職業、性別、年齢、好み、サイトへの訪問履歴等に応じて動的に内容を変化させたウェブページを送るようになってきている。動的なウェブサーバを生成するには、データベースへのアクセス、アクセス結果に基づいてウェブページの合成等を行う必要があり、多大の計算時間を要し、ウェブアクセスのボトルネックとなっていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明は、以上の事情を考慮してなされたものであり、動的に内容が変化するウェブページ等の文書を提示する場合にできるだけ計算コストを抑制する技術を提供することを目的としている。
【０００４】
より具体的には、この発明は、動的なウェブページを出力すべきか、固定的なウェブページを出力すべきかを自動的に判別して、固定的なウェブページの場合には直ちに対応する固定的なウェブページを出力する技術を提供することを目的としている。
【課題を解決するための手段】
【０００５】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【０００６】
すなわち、この発明の一側面によれば、上述の目的を達成するために、文書出力装置に：クライアント装置からＵＲＬを伴うユーザの文書出力要求を受け取る手段と；上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別する手段と；上記出力すべき文書が第１の文書と判別されたときに、上記ＵＲＬに対応して動的に文書を生成して出力する手段と；上記出力すべき文書が第２の文書と判別されたときには、上記ＵＲＬに対応して予め生成されている第２の文書を出力する手段とを設けるようにしている。
【０００７】
この構成においては、ユーザ属性例えばユーザがパーソナライズされた文書を必要とするかどうかに基づいて動的文書を出力するか、静的な文書を出力するかを決定している。したがって、静的な文書ですむ場合には動的な文書を作成する処理が不要となり、計算機コストを浪費することがなくなり、全体としてのスループットが向上する。可及的に動的文書を生成する処理を抑制することができ、計算機コストを少なくすることができる。
【０００８】
また、この発明の他の側面によれば、上述の目的を達成するために、文書出力装置に：ユーザからの文書出力要求に基づいてそれぞれ動的に生成されて出力されることが予定される第１の文書を構成する文書構成要素を記憶するメモリ手段と；クライアント装置からユーザの文書出力要求を受け取る手段と；上記文書出力要求と共に送られてくるユーザ属性に基づいて、出力されるべき文書が、動的に生成されて出力されることが予定される第１の文書か、固定した内容の第２の文書かを判別する手段と；上記出力すべき文書が第１の文書と判別されたときには、上記メモリから文書構成要素を取りだし、動的に第１の文書を生成して出力する手段と；上記出力すべき文書が第２の文書と判別されたときには、固定した内容の第２の文書を出力する手段とを設けるようにしている。
【０００９】
この構成においても、可及的に動的文書を生成する処理を抑制することができ、計算機コストを少なくすることができる。
【００１０】
また、動的に構成されることが予定される複数の第１の文書に共通に利用できる構成要素を構成要素単位でメモリ（半導体メモリ）に記憶しているので、メモリ容量をさほど増大させることなく文書合成に必要な情報をすべて記憶保持できる。したがって、少ない計算機コストで即座に動的な文書を合成して出力することができる。
【００１１】
ユーザ属性は、情報のカテゴリ、予め指定した情報、例えば好みのアーティストの情報、ユーザが使用する文書閲覧エージェントの種類、ユーザが選択した言語等である。文書閲覧エージェントは、パーソナルコンピュータ等で用いるインターネットエクスプローラ（ＩｎｔｅｒｎｅｔＥｘｐｌｏｒｅｒ、商標）、ネットスケープナビゲータ（ＮｅｔｓｃａｐｅＮａｖｉｇａｔｏｒ、商標）等のブラウザや、パーソナルデジタルアシスタンツ、ウェブ機能付きの携帯電話の閲覧ソフトウェア、インテリジェント固定電話やインテリジェント家庭電気製品の閲覧ソフトウェアである。コンピュータで実行されるものに限られず、コンピュータ以外の種々のデバイスで用いられる文書閲覧エージェントでもよい。
【００１２】
文書構成要素は例えばＧＵＩＤ（グローバリ・ユニーク・アイデンティファイア、後に詳述する）を用いて一意に識別されて読み出される。
【００１３】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品（記録媒体）もこの発明の技術的な範囲に含まれることも当然である。
【発明の効果】
【００１４】
この発明によれば、可及的に動的文書を生成する処理を抑制することができ、計算機コストを少なくすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、この発明の実施例について説明する。
【００１６】
図１は、この発明をＨＴＴＰ（ハイパーテキストトランスファプロトコル）で文書閲覧要求、文書出力を行う環境に適用した実施例を全体として示しており、この図において、ウェブサイト１０、クライアント端末２０がインターネット等の通信ネットワーク３０を介して接続されている。
【００１７】
ウェブサイト１０は、ウェブサーバ１０１、キャッシュサーバ１０２、データベース管理システム１０３等を有しており、これらコンピュータリソースは構内通信ネットワーク（ＬＡＮ）１０４を介して接続されている。ＬＡＮ１０４は通信ネットワーク３０にルータ１０５を介して接続されている。ウェブサーバ１０１は、周知のＨＴＴＰサーバであり、ＨＴＭＬ文書のほか適宜ＣＧＩプログラム等を有している。また、ウェブサーバ１０１は、クッキーデータベースユーザプロファイルデータベース１０１ａを有し、クッキーユーザ属性情報を管理するようになっている。このユーザ属性情報は後述するようにクッキーを用いて参照する。クッキーの詳細については、「ｈｔｔｐ：／／ｈｏｍｅ．ｎｅｔｓｃａｐｅ．ｃｏｍ／ｎｅｗｒｅｆ／ｓｔｄ／ｃｏｏｋｉｅ＿ｓｐｅｃ．ｈｔｍｌ」を参照されたい。ＨＴＴＰ要求の引数を用いて状態情報を管理する等、クッキー以外の手段を用いるようにしても良い。クッキー等の状態情報は後にリダイレクト等の条件として用いられ、後に詳述する。なおウェブサイト１０にはセキュリティの観点からファイヤーウォールや非武装ゾーン（ＤＭＺ）等を適宜設けることが好ましい。
【００１８】
クライアント端末２０は、オフィスや住居に配置されたパーソナルコンピュータやワークステーションでもよいし、移動端末でもよい。移動端末の場合には移動体通信運用会社が運用するゲートウェイを介して通信ネットワーク３０に接続するようにしてもよい。クライアント端末２０は、要するに、通信ネットワーク３０にアクセスする機能を有し、ウェブサイト１０が提供するウェブページを閲覧する機能（ウェブ閲覧エージェント）を有していればよく、セットトップボックスや、インテリジェント化された家庭電気製品や、携帯電話機や、固定電話機であってもよい。
【００１９】
通信ネットワーク３０は、典型的にはインターネットであるが、ＬＡＮや広域プライベートネットワークであってもよい。
【００２０】
図２は、ＨＴＴＰ要求のリダイレクトの態様を説明するものであり、この図において、リダイレクト機構１０１ｂがＨＴＴＰ要求（ＧＥＴ／ＰＯＳＴメソッド）の目的ＵＲＬをリダイレクト先ＵＲＬに変換する。リダイレクト先ＵＲＬは、言語（使用可能言語）、ユーザエージェント（閲覧エージェントの種類）、パーソナライズの有無、訪問回数により適応的に変換される。もちろん、それ以外の条件に基づいてリダイレクト先が変わるようにしてもよい。
【００２１】
リダイレクト先は例えば図３に示すように変化する。目的ＵＲＬの当初のパス「・・／」が「・・／言語１／ユーザエージェント１／パーソナライズなし（その１）」、「・・／言語１／ユーザエージェント１／パーソナライズなし（その２）」、「・・／言語１／ユーザエージェント１／パーソナライズなし（その３）」、「・・／言語１／ユーザエージェント１／パーソナライズ有り」等のパスに変換される。「言語」は、英語、日本語、スペイン語等である。「ユーザエージェント」は、例えば「インターネットエクスプローラ５」（米国マイクロソフト社の商標）、「ネットスケープナビゲータ」（米国ネットスケープコミュニケーションズ社の商標）、「ｉ−ｍｏｄｅ」（株式会社エヌ・ティ・ティ・ドコモの商標）等である。パーソナライズ有無のフラグが「なし」の場合、訪問回数ｖの法数「３」の剰余に応じてパスが変わる。すなわち所定のユーザが訪問するたびに３種類のページが順番に送出される。このようにして「パーソナライズなし」の場合には、「言語」、「ユーザエージェント」および「訪問回数」に応じたリダイレクト先パスから固定の内容のウェブページが取り出されて出力される。これに対して、「パーソナライズ有り」の場合、すなわち、パーソナライズ有無のフラグが「有」の場合には、ＨＴＴＰリクエストが対応するＣＧＩのパスにリダイレクトされ、ユーザの情報、具体的にはクッキーデータベースユーザプロファイルデータベース１０１ａに保持されているユーザの属性に応じて、動的なウェブページが生成されてユーザに返される。
【００２２】
上述のリダイレクトに用いられる「言語」、「ユーザエージェント」、パーソナライズの有無」、「訪問回数」の情報は、ＨＴＴＰリクエストのヘッダに含まれ、ＨＴＴＰリクエストによりウェブサーバ１０１に供給される。
【００２３】
この点についてさらに説明する。図４は、ＨＴＴＰリクエストとＨＴＴＰリスポンスとを簡略化して説明するものであり、ＨＴＴＰリクエストのヘッダには、種々の情報と共に「言語」、「ユーザエージェント」、クッキー情報（「ｃｏｏｋｉｅ」）が含まれる。この実施例では、クッキー情報は図５に示すように、ユーザＩＤ（ＧＵＩＤ、グローバリ・ユニーク・アイデンティファイア）、ウェブサイトへの最終訪問日時、ウェブサイトへの訪問回数、パーソナライズの有無のフラグである。このクッキー情報は、ユーザのクライアント端末２０に保管され、ユーザがこの実施例のウェブサイト１０の所定のＵＲＬにアクセスしたときにＨＴＴＰリクエストと共に送られる。なお、ウェブサイトへの最終訪問日時等をユーザプロファイルデータベース１０１ａで管理するようにしてもよい。  なお、ＧＵＩＤは、常に固有であることが保証されている識別子であり、例えば、常に固有であることが保証されているＩＥＥＥマシーン識別子（ＭＡＣアドレス）、日時データ、クロックシーケンス、カウント値を組合せて構成された１２８ビット整数である。ＧＵＩＤについて、出願時現在においては、例えば「ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｉｂｒａｒｙ／ｂｏｏｋｓ／ｉｎｏｌ／Ｓ１０Ｅ８．ＨＴＰ」に詳細な説明がある。また、常に固有であることが保証されている識別子としては、ＯＳＦが提唱したＵＵＩＤ（ユニバーサル・ユニーク・アイデンティファイア）を用いても良い。ＵＵＩＤについては、出願時現在において、例えば、「ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｇｒｏｕｐ．ｏｒｇ／ｏｎｌｉｎｅｐｕｂｓ／００９６２９３９９／ａｐｄｘａ．ｈｔｍ」に詳細な説明がある。
【００２４】
以上のようにしてウェブサーバ１０１に送られる「言語」、「ユーザエージェント」、「パーソナライズの有無」および「訪問回数」の情報に基づいてリダイレクト先が決定される。
【００２５】
また、ウェブサーバ１０１のユーザプロファイルクッキーデータベース１０１ａには図６に示すようにクッキーに応じた属性が保管されている。この例では、ユーザＩＤごとに好みのアーティストの識別子（ＧＵＩＤ）等が保管されている。この情報に基づいて動的なウェブページすなわちパーソナライズされたウェブページが生成されクライアント端末２０に返される。
【００２６】
すなわち、キャッシュサーバ１０２の半導体メモリ（ランダム・アクセス・メモリ）１０２ａには、図７に示すように、各言語、各ユーザエージェントに対応して、例えばｅ（１）〜ｅ（ｋ）のｋ種類のページ構成要素がそれぞれロードされている。すなわち、言語１およびユーザエージェント１の組合せに対してページ構成要素ｅ（１）１−１〜ｅ（ｋ）１−１がメモリ１０２ａに展開され、言語１およびユーザエージェント２の組合せに対してページ構成要素ｅ（１）１−２〜ｅ（ｋ）１−２が展開され、同様に、ｍ×ｎ（ｍは言語の数、ｎはユーザエージェントの数）の組合せについてページ構成要素が展開される。言語ｍおよびユーザエージェントｎの組み合わせに対してはページ構成要素ｅ（１）ｍ−ｎ〜ｅ（ｋ）ｍ−ｎがメモリ１０２ａに展開される。ページ構成要素は、ページを構成する要素であり、例えば、好みのアーティストごとの記事等、種々のページ構成単位である。これらページ構成要素は、言語やユーザエージェントごとに適合されたものである。このようなページ構成要素は、例えば元となるＸＭＬ文書の構成要素をＸＳＬＴにより変換して生成することができる。
【００２７】
ウェブサーバ１０１の動的ページ生成プログラム１０１ｃ（図９）は、図６に示すようなユーザの属性（例えば好みのアーティスト、予めユーザが入力フォーム等を用いて入力している）に基づいて対応するページ構成要素を取り出して動的にウェブページを合成していく。
【００２８】
具体的には、図９に示すように、ウェブサーバ１０１の動的ページ生成プログラム１０１ｃが、ユーザプロファイルデータベース１０１ａの情報に基づいて、リモートプロシージャコール（ＤＣＯＭ）によりキャッシュサーバ１０２のメモリ１０２ａから対応するページ構成要素を順番に取り出して所定のプロトタイプに即したウェブページを合成していく。キャッシュサーバ１０２のメモリ１０２ａからのページ構成要素の読出しは例えば図１０に示すようにハッシュテーブル１０２ｂを用い、ページ構成要素のＧＵＩＤからポインタを決定し対応するページ構成要素を取り出す。
【００２９】
この結果、図１１に示すような所定のプロトタイプ中にページ所望の構成要素を配置したウェブページが合成されてクライアント端末２０に返される。図１２は、２つのページ構成要素の具体例を示し、図１３はこれらから構成されるウェブページの表示内容を示す。なお、画像データは、固定的に配置されてもよいし、ページ構成要素と同様にキャッシュサーバ１０２のメモリ１０２ａにロードされていても良い。
【００３０】
図８は、上述実施例の動作を簡略化して説明するものであり、この図において、パーソナライズの有無に応じて固定のウェブページが送出されたり、あるいは、動的ウェブページが合成されて送出されたりする。固定のウェブページは、訪問回数ｖの剰余演算（ｖ  ｍｏｄ  ３）により指定されるパスから取り出され、同一のユーザに対してはサイクリックにページが供給される。もちろん、このような態様に限定されない。図８の記述内容自体は図から明らかであるのでとくに説明は行わない。
【００３１】
図１４は、ウェブページの構成要素の扱いを説明するものであり、この図において、各種のコンテンツがＸＭＬに変換されて保管される（作成済みＸＭＬデータベース）。こののち、有効な期日をもつコンテンツのみが有効ＸＭＬデータベースにコピーされる。そして、各種言語、ユーザエージェントに対応して変換され構成要素としてキャッシュサーバ１０２のメモリ１０２ａに書きこまれる。メモリ１０２ａの内容は定期的に更新される。
【００３２】
以上説明したようにこの実施例によれば動的ウェブページに用いるページ構成要素をページ構成要素ごとにキャッシュサーバ１０２のメモリ１０２ａに記憶するようにしているので、即座に動的なウェブページを合成でき、しかも、ページ構成要素単位でメモリに記憶しているので少ないメモリ容量で対処できる。また、パーソナライズした要求かどうかをクッキー情報によりウェブサーバ１０１に通知し、パーソナライズしていない場合には固定のウェブページが送出されるようにしているので、計算機コストが少なくなる。とくに同一のＵＲＬへの要求であっても、パーソナライズの有無のフラグにより切り替えが可能であるので、ユーザの使い勝手を犠牲にすることなく、計算機コストを抑制できる。
【００３３】
また、複数のデバイスに対して同一のＵＲＬを告知できるため、ユーザへのＵＲＬ認知を非常に容易にすることができる。
【００３４】
ちなみに、ページ構成要素は、最終的に出力するデバイスのサポートするフォーマットにすでになった状態で保管されているため、そのままページに出力することで高速な処理が可能である。
【００３５】
なお、この発明は上述の実施例に限定されるものではなく種々変更が可能である。例えば、キャッシュサーバの機能をウェブサーバに持たせても良い。また、キャッシュサーバを複数設けて、クラスタ構成にしてもよい。またウェブサーバのＣＧＩプログラムに換えてアプリケーションプログラムサーバを設けても良い。またパーソナライズの有無はＨＴＴＰリクエストの引数としてクライアントからサーバに供給されるようにしてもよい。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施例を全体として示すシステム図である。
【図２】上述実施例のＨＴＴＰ要求のリダイレクトを説明する図である。
【図３】図２のリダイレクトの例を説明する図である。
【図４】ＨＴＴＰリクエストおよびリスポンスの概略を説明する図である。
【図５】クライアント端末からウェブサーバに送られるクッキー情報を説明する図である。
【図６】ウェブサーバのクッキーデーベースユーザプロファイルデータベースを説明する図である。
【図７】キャッシュサーバのメモリに記憶されているウェブページの構成要素を説明する図である。
【図８】ウェブページの出力の取り出しを説明する図である。
【図９】動的ウェブページの合成を説明する図である。
【図１０】キャッシュサーバのメモリの構成要素をアクセスする態様を説明する図である。
【図１１】合成されたウェブページを説明する図である。
【図１２】ページ構成要素の例を説明する図である。
【図１３】図１２のページ構成要素から構成されるウェブページを説明する図である。
【図１４】ウェブページのページ構成要素の処理態様を説明する図である。
【符号の説明】
【００３７】
１０      ウェブサイト
２０      クライアント端末
３０      通信ネットワーク
１０１      ウェブサーバ
１０１ａ      クッキーデータベースユーザプロファイルデータベース
１０１ｂ      リダイレクト機構
１０１ｃ      動的ページ生成プログラム
１０２      キャッシュサーバ
１０２ａ      メモリ
１０２ｂ      ハッシュテーブル
１０３      データベース管理システム
１０４      ＬＡＮ
１０５      ルータ
【図１】
2004362599.tif 000003
【図２】
2004362599.tif 000004
【図３】
2004362599.tif 000005
【図４】
2004362599.tif 000006
【図５】
2004362599.tif 000007
【図６】
2004362599.tif 000008
【図７】
2004362599.tif 000009
【図８】
2004362599.tif 000010
【図９】
2004362599.tif 000011
【図１０】
2004362599.tif 000012
【図１１】
2004362599.tif 000013
【図１２】
2004362599.tif 000014
【図１３】
2004362599.tif 000015
【図１４】
2004362599.tif 000016