(57)【特許請求の範囲】
【請求項１】
コンテンツ管理サーバから第一のコンテンツを取得する取得手段と、
前記第一のコンテンツに埋め込まれた、クライアント端末によっては実行されない所定の命令を索出する索出手段と、
前記所定の命令に従って、前記クライアント端末によって実行可能な命令を生成する命令生成手段と、
前記第一のコンテンツの前記所定の命令が、前記生成手段によって生成された命令で置換された、第二のコンテンツを生成するコンテンツ生成手段と、
前記第二のコンテンツを、前記クライアント端末の要求に応じて送信する送信手段と、
前記クライアント端末から受信されたコンテンツの要求が、前記命令生成手段によって生成される命令を含ませるべきコンテンツを要求する所定の要求であるか否かを判定する判定手段と、
前記判定手段によって前記要求が前記所定の要求でないと判定された場合に、要求されたコンテンツを前記コンテンツ管理サーバから直接取得するよう前記クライアント端末に指示する指示手段と、を備え、
前記コンテンツ生成手段は、前記判定手段によって、前記要求が前記所定の要求であると判定された場合に、前記第二のコンテンツを生成する、
情報処理装置。
【請求項２】
前記取得手段によって取得された前記第一のコンテンツを保持するキャッシュ手段を更に備え、
前記コンテンツ生成手段は、前記クライアント端末からのコンテンツの要求が受信された際に前記第一のコンテンツが前記キャッシュ手段によってキャッシュされている場合、該キャッシュ手段によってキャッシュされている該第一のコンテンツに基づいて、前記第二のコンテンツを生成する、
請求項１に記載の情報処理装置。
【請求項３】
前記コンテンツ管理サーバは、ＨＴＴＰによるコンテンツ取得要求に応じてＨＴＭＬコンテンツを送信する機能を有し、
前記取得手段は、前記コンテンツ管理サーバに対してＨＴＴＰによるコンテンツ取得要求を行うことで、前記第一のコンテンツとしてＨＴＭＬコンテンツを取得する、
請求項１または２に記載の情報処理装置。
【請求項４】
コンピュータが、
コンテンツ管理サーバから第一のコンテンツを取得する取得ステップと、
前記第一のコンテンツに埋め込まれた、クライアント端末によっては実行されない所定の命令を索出する索出ステップと、
前記所定の命令に従って、前記クライアント端末によって実行可能な命令を生成する命令生成ステップと、
前記第一のコンテンツの前記所定の命令が、前記生成ステップにおいて生成された命令で置換された、第二のコンテンツを生成するコンテンツ生成ステップと、
前記第二のコンテンツを、前記クライアント端末の要求に応じて送信する送信ステップと、
前記クライアント端末から受信されたコンテンツの要求が、前記命令生成ステップで生成される命令を含ませるべきコンテンツを要求する所定の要求であるか否かを判定する判定ステップと、
前記判定ステップで前記要求が前記所定の要求でないと判定された場合に、要求されたコンテンツを前記コンテンツ管理サーバから直接取得するよう前記クライアント端末に指示する指示ステップと、を実行し、
前記コンテンツ生成ステップでは、前記判定ステップにおいて、前記要求が前記所定の要求であると判定された場合に、前記第二のコンテンツが生成される、
情報処理方法。
【請求項５】
コンピュータを、
コンテンツ管理サーバから第一のコンテンツを取得する取得手段と、
前記第一のコンテンツに埋め込まれた、クライアント端末によっては実行されない所定の命令を索出する索出手段と、
前記所定の命令に従って、前記クライアント端末によって実行可能な命令を生成する命令生成手段と、
前記第一のコンテンツの前記所定の命令が、前記生成手段によって生成された命令で置換された、第二のコンテンツを生成するコンテンツ生成手段と、
前記第二のコンテンツを、前記クライアント端末の要求に応じて送信する送信手段と、
前記クライアント端末から受信されたコンテンツの要求が、前記命令生成手段によって生成される命令を含ませるべきコンテンツを要求する所定の要求であるか否かを判定する判定手段と、
前記判定手段によって前記要求が前記所定の要求でないと判定された場合に、要求されたコンテンツを前記コンテンツ管理サーバから直接取得するよう前記クライアント端末に指示する指示手段と、として機能させ、
前記コンテンツ生成手段は、前記判定手段によって、前記要求が前記所定の要求であると判定された場合に、前記第二のコンテンツを生成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを制御するための技術に関する。
【背景技術】
【０００２】
従来、サーバからクライアント端末に対してウェブコンテンツを配信するシステムにおいて、クライアント端末からサーバへの接続を代理するプロキシサーバを用いて、サーバから配信されたウェブコンテンツの外観を変更する技術がある（特許文献１から３を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２４２６４４号公報
【特許文献２】特開２００１−１０９７４３号公報
【特許文献３】特開２００３−１１４８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、クライアント端末に配信されるコンテンツを管理するために、コンテンツ管理システムが用いられている。しかし、クライアント端末との通信に応じて内容が変化し得る動的なコンテンツを配信する場合、このような動的コンテンツはクライアント端末との通信に応じて都度生成されるものであるため、従来のコンテンツ管理システムではコンテンツ管理の利便性が低かった。
【０００５】
例えば、動的コンテンツを作成するサーバに対してテンプレートを入力し、動的なコンテンツを生成するシステムの場合、テンプレートの作成を行うデザイナーが動的コンテンツを作成するサーバの挙動を理解する必要がある。また、動的コンテンツを作成するサーバ自身がテンプレートとなるファイルを管理する場合、テンプレートを一旦オフラインで作成した後、作成されたテンプレートを用いて、動的コンテンツを作成するサーバを更新する必要があるため、リアルタイム性の高い更新が困難である。
【０００６】
本発明は、上記した問題に鑑み、コンテンツ管理の利便性を向上させることを課題とする。
【課題を解決するための手段】
【０００７】
本発明は、上記した課題を解決するために、以下の手段を採用した。即ち、本発明は、コンテンツ管理サーバから第一のコンテンツを取得する取得手段と、前記第一のコンテンツに埋め込まれた、クライアント端末によっては実行されない所定の命令を索出する索出手段と、前記所定の命令に従って、前記クライアント端末によって実行可能な命令を生成する命令生成手段と、前記第一のコンテンツの前記所定の命令が、前記生成手段によって生成された命令で置換された、第二のコンテンツを生成するコンテンツ生成手段と、前記第二のコンテンツを、前記クライアント端末の要求に応じて送信する送信手段と、を備える情報処理装置である。
【０００８】
本発明では、第一のコンテンツに埋め込まれた、クライアント端末によっては実行されない所定の命令が、クライアント端末によって実行可能な命令で置換されることによって第二のコンテンツが生成され、この第二のコンテンツがクライアント端末に送信される。ここで、クライアント端末によって実行可能な命令は、例えば、ＨＴＭＬ（ＨｙｐｅｒＴ
ｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＪａｖａＳｃｒｉｐｔ（登録商標）で記述された命令であり、クライアント端末によっては実行されない所定の命令に従って生成される。本発明によれば、このような構成が採用されることで、第一のコンテンツに所定の命令を埋め込むのみでクライアント端末によって実行可能な命令を含むコンテンツ（第二のコンテンツ）をクライアント端末に配信することが可能となり、従来のコンテンツ管理システムに比べてコンテンツ管理の利便性が向上する。
【０００９】
また、前記命令生成手段は、前記コンテンツ生成手段による置換が行われた場合にも、前記第一のコンテンツの表示レイアウトを変更しない命令を生成してもよい。
【００１０】
本発明によれば、従来のコンテンツ制御と異なり、表示レイアウトを変更することなく、クライアント端末によって実行可能な命令を含むコンテンツ（第二のコンテンツ）を生成することが可能となる。即ち、本発明によれば、コンテンツのデザイナーは、コンテンツ制御によってコンテンツの表示レイアウトが崩れてしまうことを考慮することなく、コンテンツをデザインすることが出来る。
【００１１】
また、前記命令生成手段は、前記所定の命令に加えて、前記クライアント端末との通信を識別するための通信識別情報に従って前記命令を生成してもよい。
【００１２】
ここで、通信識別情報とは、例えば、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信において用いられるセッション情報等である。但し、通信識別情報は、情報処理装置とクライアント端末との間における通信を識別するための情報であればよく、上記セッション情報に限定されない。
【００１３】
また、前記情報処理装置は、前記取得手段によって取得された前記第一のコンテンツを保持するキャッシュ手段を更に備え、前記コンテンツ生成手段は、前記クライアント端末からのコンテンツの要求が受信された際に前記第一のコンテンツが前記キャッシュ手段によってキャッシュされている場合、該キャッシュ手段によってキャッシュされている該第一のコンテンツに基づいて、前記第二のコンテンツを生成してもよい。
【００１４】
第一のコンテンツをキャッシュし、キャッシュに基づいて第二のコンテンツを生成することで、キャッシュによる処理の高速化を図りつつ、クライアント端末によって実行可能な命令を容易に最新の状態とすることが出来る。
【００１５】
また、前記命令生成手段は、前記所定の命令に含まれるパラメータを解釈し、解釈の結果に従って、前記クライアント端末によって実行可能な命令を生成してもよい。
【００１６】
また、前記パラメータは、前記命令生成手段によって生成される命令に従った表示の属性を指定するパラメータを含み、前記命令生成手段は、前記パラメータによって指定された表示の属性に従って、前記クライアント端末によって実行可能な命令を生成してもよい。
【００１７】
パラメータによって指定可能な属性としては、例えば、表示領域のサイズ、端末種類、表示カラム数等が挙げられる。
【００１８】
また、前記コンテンツ管理サーバは、ＨＴＴＰによるコンテンツ取得要求に応じてＨＴＭＬコンテンツを送信する機能を有し、前記取得手段は、前記コンテンツ管理サーバに対してＨＴＴＰによるコンテンツ取得要求を行うことで、前記第一のコンテンツとしてＨＴＭＬコンテンツを取得してもよい。
【００１９】
コンテンツ管理サーバが、ＨＴＴＰによるコンテンツ取得要求に応じてＨＴＭＬコンテンツを送信する機能を有することで、本発明の実施に一般的なコンテンツ管理サーバを用いることが可能となる。また、既に構築されているコンテンツ管理サーバに対して、クライアント端末によっては実行されない所定の命令をクライアント端末によって実行可能な命令で置換する機能を付加することも容易となる。
【００２０】
また、前記情報処理装置は、前記クライアント端末から受信されたコンテンツの要求が、前記命令生成手段によって生成される命令を含ませるべきコンテンツを要求する所定の要求であるか否かを判定する判定手段と、前記判定手段によって前記要求が前記所定の要求でないと判定された場合に、要求されたコンテンツを前記コンテンツ管理サーバから直接取得するよう前記クライアント端末に指示する指示手段と、を更に備え、前記コンテンツ生成手段は、前記判定手段によって、前記要求が前記所定の要求であると判定された場合に、前記第二のコンテンツを生成してもよい。
【００２１】
この場合、情報処理装置は、クライアント端末からの要求のうち、コンテンツに含まれる命令の置換処理が必要なコンテンツについてのみ当該置換処理を行い、置換処理の必要がないコンテンツについてはコンテンツ管理サーバにリダイレクトする。このような構成とすることで、情報処理装置への処理負荷を分散することが出来る。
【００２２】
また、本発明は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００２３】
本発明によれば、コンテンツ管理の利便性を向上させることが可能となる。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係るシステムの構成の概略を示す図である。
【図２】実施形態に係るサーバのハードウェア構成の概略を示す図である。
【図３】実施形態に係るサーバの機能構成の概略を示す図である。
【図４】実施形態に係る、コンテンツ制御処理の流れを示すフローチャートである。
【図５】実施形態に係る、コンテンツ制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、実施形態を例示するものであって、本発明を以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００２６】
＜システムの構成＞
図１は、本実施形態に係るシステムの構成の概略を示す図である。本実施形態に係るシステムは、インターネット等のネットワークを介して互いに通信可能に接続された、アプリケーションサーバ１およびコンテンツ管理サーバ２を備える。また本実施形態に係るシステムには、ネットワークを介して、クライアント端末９が接続される。なお、アプリケーションサーバ１およびコンテンツ管理サーバ２は、夫々、単一の筐体によって構成されてもよいし、ネットワーク等を介して接続された複数の筐体によって構成されてもよい。
【００２７】
図２は、本実施形態に係るサーバのハードウェア構成の概略を示す図である。アプリケーションサーバ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２およびＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３等からなる制御部１０と、補助記憶装置１４と、入力装置１５と、出力装置１６と、ネットワークインターフェース１７と、を備える情報処理装置である。但し、本発明の実施にあたって、本発明に係る情報処理装置は、上記した構成と同一の構成である必要はない。情報処理装置の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
【００２８】
コンテンツ管理サーバ２は、アプリケーションサーバ１と同様、ＣＰＵ、ＲＡＭおよびＲＯＭ等からなる制御部と、補助記憶装置と、入力装置と、出力装置と、ネットワークインターフェースと、を備える情報処理装置である（図示は省略する）。また、クライアント端末９は、アプリケーションサーバ１と同様、ＣＰＵ、ＲＡＭおよびＲＯＭ等からなる制御部と、補助記憶装置と、入力装置と、出力装置と、ネットワークインターフェースと、を備える情報処理装置である（図示は省略する）。
【００２９】
図３は、本実施形態に係るシステムを構成する各装置の機能構成の概略を示す図である。本実施形態に係るアプリケーションサーバ１は、ＣＰＵ１１が、ＲＡＭ１２に展開された各種プログラムを解釈および実行して、アプリケーションサーバ１に備えられた各種ハードウェアを制御することで、判定部２１、指示部（リダイレクト部）２２、キャッシュ部２３、取得部２４、索出部２５、命令生成部２６、コンテンツ生成部２７および送信部２８を備える情報処理装置として機能する。また、本実施形態では、これらの機能がいずれも汎用のＣＰＵ１１によって実行される例について説明しているが、これらの機能は、その一部または全部が、１または複数の専用のプロセッサによって実現されてもよい。
【００３０】
ここで、アプリケーションサーバ１およびコンテンツ管理サーバ２は、Ｗｅｂサイト（例えば、ドメイン名「ａ．ｃｏｍ」でアクセス可能なＷｅｂサイト）を管理し、ＨＴＴＰによるコンテンツ取得要求に応じてＨＴＭＬコンテンツを送信する機能を有するサーバである。アプリケーションサーバ１およびコンテンツ管理サーバ２は、クライアント端末９からの要求に応じて、Ｗｅｂサイト中のコンテンツを配信する。即ち、本実施形態において、コンテンツは、ＨＴＭＬ等で記述されたＷｅｂページである。但し、本発明の実施にあたって、コンテンツはＨＴＭＬ等で記述されたＷｅｂページに限定されない。本発明は、その他の言語またはデータ形式を用いて記述されたコンテンツにも適用可能である。
【００３１】
本実施形態では、クライアント端末９からのＷｅｂサイトへの接続要求は、はじめにアプリケーションサーバ１によって受信されるように設定されている。そして、アプリケーションサーバ１は、Ｃｏｏｋｉｅを用いてセッションＩＤを発行し、クライアント端末９との間の通信に含めることで、クライアント端末９とアプリケーションサーバ１との間での通信を管理し、クライアント端末９またはユーザを識別する。
【００３２】
クライアント端末９は、Ｗｅｂブラウザを備え、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に指定されたＷｅｂサーバに対してリクエストを送信する機能、当該リクエストに応じてサーバから返信されたコンテンツ（例えば、Ｗｅｂページやスクリプト等）を受信する機能、および受信されたコンテンツを解釈および実行して表示する機能を備える。また、クライアント端末９は、Ｗｅｂサーバから受信したＣｏｏｋｉｅに含まれる、接続先のサーバとの間の通信を管理するためのセッション情報を、ドメイン名に関連づけてＣｏｏｋｉｅ管理テーブルに保持する。
【００３３】
図２に示した例では、Ｃｏｏｋｉｅを用いてアプリケーションサーバ１から発行されたセッションＩＤ「１２３４５」が、アプリケーションサーバ１およびコンテンツ管理サー
バ２によって管理されるＷｅｂサイトのドメイン名「ａ．ｃｏｍ」に関連付けられて、Ｃｏｏｋｉｅ管理テーブルに保持される。そして、クライアント端末９は、Ｗｅｂサーバに接続する際に、Ｗｅｂサーバのドメイン名に対応するセッションＩＤをＣｏｏｋｉｅ管理テーブルから読み出し、サーバに通知する。
【００３４】
コンテンツ管理サーバ２は、デザイナーによって作成されたコンテンツを保持し、アプリケーションサーバ１またはクライアント端末９からのＨＴＴＰによるコンテンツ取得要求に応じて、要求元のアプリケーションサーバ１またはクライアント端末９にコンテンツを配信する。但し、本実施形態では、ショッピングカート等の、クライアント端末との通信に応じて内容が変化し得る動的コンテンツに含まれる機能を実現するための命令は、アプリケーションサーバ１によって生成される。このため、本実施形態では、コンテンツ管理サーバ２によって保持されるコンテンツには、動的な機能を実現するための命令は付加されていなくてもよい。コンテンツ管理サーバ２は、静的コンテンツおよび動的コンテンツのうち動的でない部分のみを保持すればよい。
【００３５】
＜処理の流れ＞
次に、図４および図５を用いて、本実施形態に係る処理の詳細を説明する。なお、本実施形態において説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されてよい。
【００３６】
図４および図５は、本実施形態に係る、コンテンツ制御処理の流れを示すフローチャートである。本フローチャートに示された処理は、クライアント端末９によって送信されたリクエストがアプリケーションサーバ１によって受信されたことを契機として開始される。
【００３７】
ステップＳ１０１では、リクエスト（要求）が受信される。アプリケーションサーバ１は、クライアント端末９から送信されたリクエストを受信する。ここで、リクエストは、動的コンテンツのリクエストである場合もあるし、静的コンテンツのリクエストである場合もある。動的コンテンツとは、クライアントからの要求毎に配信される内容が動的に変化し得るコンテンツであり、例えば、ショッピングカート等の機能が付加されたＷｅｂページである。また、静的コンテンツとは、クライアントからの要求毎に配信される内容が変化しないコンテンツである。
【００３８】
ステップＳ１０２では、受信されたリクエストの種類が判定される。アプリケーションサーバ１の判定部２１は、クライアント端末９から受信されたコンテンツの要求が、命令生成部２６によって生成される命令を含ませるべきコンテンツを要求する「所定の要求」であるか否かを判定する。
【００３９】
本実施形態において、「所定の要求」とは動的コンテンツのリクエストである。即ち、本実施形態において、判定部２１は、受信したリクエストが、動的コンテンツのリクエストであるか否かを判定する。具体的には、判定部２１は、リクエストに含まれるＵＲＬまたはユーザエージェント情報（クライアント端末９のソフトウェアまたはハードウェアを示す情報）が、予め用意されたリクエスト種別判定用テーブルに含まれるパターンにマッチするか否かを判定することで、受信したリクエストが、動的コンテンツのリクエストであるか否かを判定する。ここで、リクエストが動的コンテンツのリクエストであると判定された場合、処理はステップＳ１０４へ進む。一方、リクエストが動的コンテンツのリクエストではない（例えば、静的コンテンツのリクエストである）と判定された場合、処理はステップＳ１０３へ進む。
【００４０】
ステップＳ１０３では、クライアント端末９からのリクエストが、コンテンツ管理サー
バ２へリダイレクトされる。指示部（リダイレクト部）２２は、判定部２１によって要求が動的コンテンツのリクエストでないと判定された場合に、要求されたコンテンツをコンテンツ管理サーバ２から直接取得するようクライアント端末９に指示することで、クライアント端末９からのリクエストを、コンテンツ管理サーバ２へリダイレクトする。これは、クライアント端末９からの要求が動的コンテンツのリクエストでない場合、機能付加（コンテンツの動的コンテンツ化）を行う必要がなくなるため、クライアント端末９に、コンテンツ管理サーバ２から提供される静的コンテンツを直接取得させてもよいからである。コンテンツ管理サーバ２へのリダイレクトを行うことで、クライアント端末９からの要求に応答するための負荷をアプリケーションサーバ１とコンテンツ管理サーバ２との間で分散することが出来る。
【００４１】
但し、受信されたリクエストの種類が動的コンテンツのリクエストでないと判定された場合にもリダイレクトは行わず、アプリケーションサーバ１が代理サーバ（プロキシサーバ）としてコンテンツ管理サーバ２からコンテンツを取得し、クライアント端末９に配信してもよい。この場合、アプリケーションサーバ１は、コンテンツ管理サーバ２から取得したコンテンツに対して、機能付加を行わない。その後、本フローチャートに示された処理は終了する。
【００４２】
ステップＳ１０４では、有効なキャッシュが保持されているか否かが判定される。アプリケーションサーバ１は、キャッシュ部２３を参照し、受信されたリクエストによってリクエストされたコンテンツの有効なキャッシュが、キャッシュ部２３に保持されているか否かを判定する。ここで、有効なキャッシュとは、キャッシュに設定された有効期限が過ぎておらず、且つコンテンツ管理サーバ２から期限切れであるとの通知がされている等のキャッシュの有効性が否定される要素もないキャッシュである。キャッシュの有無の判定は、リクエストされたＵＲＬと、キャッシュに関連付けられたＵＲＬとを比較することで行われる。キャッシュ部２３によって有効なキャッシュが保持されていると判定された場合、処理はステップＳ１０５へ進む。一方、キャッシュ部２３によって有効なキャッシュが保持されていないと判定された場合、処理はステップＳ１０６へ進む。
【００４３】
ステップＳ１０５では、キャッシュ部２３からコンテンツが取得される。アプリケーションサーバ１は、受信されたリクエストによってリクエストされたコンテンツを、キャッシュ部２３に保持されている有効なキャッシュから取得する。このようにして、取得済みのコンテンツをキャッシュ部２３から取得するようにすることで、コンテンツ管理サーバ２およびアプリケーションサーバ１の処理負荷を軽減することが出来る。なお、本実施形態においてキャッシュされるコンテンツは、後述する機能付加（コンテンツの動的コンテンツ化）が行われる前のコンテンツである。その後、処理はステップＳ１１０へ進む。
【００４４】
ステップＳ１０６およびステップＳ１０７では、コンテンツ管理サーバ２からコンテンツが取得され、取得されたコンテンツがキャッシュされる。アプリケーションサーバ１の取得部２４は、クライアント端末９からリクエストされたＵＲＬを、コンテンツ管理サーバ２に対してリクエストすることで、コンテンツ管理サーバ２からコンテンツ（以下、「取得コンテンツ」と称する）を取得する（ステップＳ１０６）。なお、取得コンテンツは、後述する機能付加が行われる前のコンテンツであり、本発明の第一のコンテンツに相当する。本実施形態において、取得部２４は、コンテンツ管理サーバ２に対してＨＴＴＰによるコンテンツ取得要求を行うことで、取得コンテンツとしてＨＴＭＬコンテンツを取得する。また、キャッシュ部２３は、取得部２４によって取得された取得コンテンツを、コンテンツのＵＲＬに関連づけて所定期間保持する（ステップＳ１０７）。その後、処理はステップＳ１１０へ進む。
【００４５】
なお、ステップＳ１０７においてキャッシュ部２３に保持された取得コンテンツは、本
フローチャートに示された処理が次回以降実行された場合に、ステップＳ１０４において参照され、ステップＳ１０５において取得の対象となる。
【００４６】
ステップＳ１１０およびステップＳ１１１では、取得コンテンツからアプリケーションサーバ向け命令が索出され、また、索出されたアプリケーションサーバ向け命令に係るパラメータが取得される。ここで、アプリケーションサーバ向け命令とは、取得コンテンツに埋め込まれた、アプリケーションサーバ１によって解釈および実行されるための命令であり、クライアント端末９によっては実行されない命令である。また、アプリケーションサーバ向け命令は、デザイナーによるコンテンツ作成時に、コンテンツに埋め込まれる。
【００４７】
本実施形態において、クライアント端末９はＷｅｂブラウザによってコンテンツを解釈および実行するため、アプリケーションサーバ向け命令は、クライアント端末９のＷｅｂブラウザによっては解釈・実行されない形式で記述されることが好ましい。本実施形態において、アプリケーションサーバ向け命令は、トリプルブラケットの中に記述される。また、命令に応じて指定可能なパラメータは、命令名に続く丸括弧の中に記述される。具体的には、本実施形態において、アプリケーションサーバ向け命令は、以下のような書式で記述される。下記書式中、「命令名」には具体的な命令名が、「パラメータ」には具体的なパラメータの値が記述される。
[[[命令名(パラメータ)]]]
【００４８】
例えば、本実施形態において、商品ＩＤが１２３４５６の商品の説明をクライアント端末９に表示させるための命令を生成するためのアプリケーションサーバ向け命令は、以下のように記述することが出来る。
[[[web_items:description(123456)]]]
【００４９】
また、本実施形態において、幅１２０ピクセルの赤いお気に入りマーク（星マーク）をクライアント端末９に表示させるための命令を生成するためのアプリケーションサーバ向け命令は、以下のように記述することが出来る。
[[[user:display_star('red.w120.template')]]]
【００５０】
また、本実施形態において、コンテンツ中にクライアント端末のユーザ名を表示させるための命令を生成するためのアプリケーションサーバ向け命令は、以下のように記述することが出来る。
[[[wf:username()]]]
【００５１】
索出部２５は、例えば上記のように記述されることで取得コンテンツに埋め込まれたアプリケーションサーバ向け命令を、命令が記述されていることを示す制御文字（本実施形態では、トリプルブラケット）等を検索することによって索出する（ステップＳ１１０）。また、索出部２５は、索出されたアプリケーションサーバ向け命令に係るパラメータを取得する（ステップＳ１１１）。パラメータは、例えば上記のように命令名に続けて記述されている丸括弧内から取得される。その後、処理はステップＳ１１２へ進む。
【００５２】
ステップＳ１１２では、セッションＩＤが取得される。上述の通り、本実施形態において、アプリケーションサーバ１は、Ｃｏｏｋｉｅを用いてセッションＩＤを発行し、クライアント端末９との通信に含めることで、クライアント端末９とアプリケーションサーバ１との間での通信を管理し、クライアント端末９またはユーザを識別する。ステップＳ１０１で受信されたリクエストには、当該リクエストの送信前にアプリケーションサーバ１からクライアント端末９に対してセッションＩＤが発行されている場合、セッションＩＤが含まれる。このため、アプリケーションサーバ１は、ステップＳ１０１で受信されたリクエストからセッションＩＤを取得する。その後、処理はステップＳ１１３へ進む。
【００５３】
なお、ステップＳ１１２に示されたセッションＩＤの取得処理は、クライアント端末からのリクエスト受信後（即ち、ステップＳ１０１の後）、且つクライアント端末向け命令の生成前（即ち、ステップＳ１１３の前）であれば、何れのタイミングで実行されてもよい。
【００５４】
ステップＳ１１３では、クライアント端末向け命令が生成される。命令生成部２６は、ステップＳ１１０で索出されたアプリケーションサーバ向け命令に従って、クライアント端末９によって実行可能なクライアント端末向け命令を生成する。クライアント端末向けの命令の生成は、例えば、アプリケーションサーバ向け命令毎に用意された関数が実行されることによって行われる。アプリケーションサーバ向け命令に応じた関数の内部的な処理は、命令に応じて異なるが、予め設定された対応関係から、アプリケーションサーバ向け命令に応じたクライアント端末向け命令（例えば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔで記述された命令）を取得することで、命令を生成するものである。また、関数はステップＳ１１１で取得されたパラメータを引数として設定可能な関数であってもよい。また、この関数は、処理の中で必要に応じて、ステップＳ１１２で取得されたセッションＩＤを参照し、セッションに応じたクライアント端末向け命令を生成してもよい。
【００５５】
命令生成部２６は、ステップＳ１１１でパラメータが取得されていれば、これを考慮してクライアント端末向け命令を生成する。例えば、命令生成部２６は、パラメータによって指定された表示の属性（例えば、表示領域のサイズ、形状、端末種類、表示カラム数等）に従って、クライアント端末９によって実行可能な命令を生成する。このため、本実施形態に係るシステムによれば、クライアント端末向け命令によって置換される表示領域のサイズや形状等は、コンテンツ管理サーバ２によって保持されるコンテンツのデザイナーが指定可能である。但し、ここで指定可能なパラメータは上記例示に限定されない。
【００５６】
また、本実施形態において、命令生成部２６は、後述するステップＳ１１４における、アプリケーションサーバ向け命令とクライアント端末向け命令との置換が行われた場合にも、取得コンテンツから表示レイアウトが変更されないクライアント端末向け命令を生成する。即ち、命令生成部２６は、アプリケーションサーバ向け命令が記述された部分に用意された表示領域のサイズおよび形状を崩さないように、当該表示領域のサイズおよび形状に収まるような表示を行うためのクライアント端末向け命令を生成する。なお、アプリケーションサーバ向け命令が記述された部分に用意された表示領域のサイズおよび形状は、上記説明したパラメータを用いて、コンテンツのデザイナーが明示的に指定することが可能である。具体的には、命令生成部２６は、指定されたパラメータに応じたサイズおよび形状を有するクライアント端末向け命令のテンプレートを取得する等の方法で、表示領域のサイズおよび形状を崩さないクライアント端末向け命令を生成する。
【００５７】
但し、アプリケーションサーバ１は、パラメータ等を用いた明示的な指定がない場合でも、クライアント端末９によってコンテンツが表示された場合の当該表示領域のサイズおよび形状を算出し、算出されたサイズおよび形状に収まるような表示を行うためのクライアント端末向け命令を生成してもよい。ここで、表示領域のサイズおよび形状の算出は、取得コンテンツ内の、アプリケーションサーバ向け命令以外の命令（ＨＴＭＬのサイズ指定や形状指定等のパラメータを含むタグ等）を参照することによって行われてもよいし、アプリケーションサーバ１においてＷｅｂブラウザによる擬似的な表示処理を実行することによって行われてもよい。
【００５８】
更に、命令生成部２６は、ステップＳ１１２でセッションＩＤが取得されていれば、これを参照することで、セッション毎に異なるクライアント端末向け命令を生成する。例えば、上に例示した、コンテンツ中にクライアント端末のユーザ名を表示させるための命令
を生成するためのアプリケーションサーバ向け命令（本実施形態では、「[[[wf:username()]]]」）が索出された場合、命令生成部２６は生成するクライアント端末向け命令をユ
ーザ毎に変える必要があり、コンテンツの作成時におけるパラメータ指定によっては表示内容を適切に制御することは出来ない。このため、命令生成部２６は、セッションＩＤとユーザ名との対応関係が保持されたデータベース（図示は省略する）を参照することで、ステップＳ１１２で取得したセッションＩＤに対応するクライアント端末のユーザ名を取得し、取得されたユーザ名を表示するクライアント端末向け命令を生成する。このような処理によって、例えば、「〇〇さんこんにちは」のようなユーザ名表示を行う動的コンテンツを生成することが出来る。
【００５９】
ステップＳ１１４およびステップＳ１１５では、ステップＳ１０１で受信されたリクエストに応じたコンテンツとして、動的コンテンツが生成され、送信される。コンテンツ生成部２７は、取得コンテンツに含まれるアプリケーションサーバ向け命令をクライアント端末向け命令で置換することで、動的コンテンツを生成する（ステップＳ１１４）。そして、アプリケーションサーバ１の送信部２８は、ステップＳ１１４で生成された動的コンテンツを、クライアント端末９のリクエストに応じたコンテンツとして、ステップＳ１０１において受信されたリクエストの送信元であるクライアント端末９宛に送信する（ステップＳ１１５）。クライアント端末９は、リクエストに対応するコンテンツを受信し、クライアント端末９において出力する。その後、本フローチャートに示された処理は終了する。
【００６０】
送信された動的コンテンツを受信したクライアント端末９では、動的コンテンツに含まれるクライアント端末向け命令が解釈および実行される。即ち、クライアント端末では、アプリケーションサーバによって追加された機能を含む動的コンテンツを利用することが出来る。
【００６１】
＜効果＞
本実施形態に係るシステムによれば、コンテンツ管理の利便性が向上する。具体的には、例えば、動的コンテンツを配信するＷｅｂサイトにおいて、コンテンツの更新をリアルタイムで反映させることが容易となる。また、コンテンツの更新において、デザイナーはコンテンツのレイアウトと後から追加される動的部分との整合性に煩わされること無く、コンテンツのデザインを行うことが出来る。
【符号の説明】
【００６２】
１  アプリケーションサーバ
２  コンテンツ管理サーバ
９  クライアント端末
【図１】
0005896357.tif 000002
【図２】
0005896357.tif 000003
【図３】
0005896357.tif 000004
【図４】
0005896357.tif 000005
【図５】
0005896357.tif 000006