(57)【要約】【課題】応答性能を向上させることができるブログサービス提供システム、方法及びプログラムを提供すること。【解決手段】フロントエンドサーバ３０がＷｅｂページの閲覧要求を受け付けた場合に、フロントエンドサーバ３０は、キャッシュサーバ２０から複数の部品データを一単位とする単位部品データを取得する。そして、フロントエンドサーバ３０は、キャッシュサーバ２０の第１キャッシュ部２１に単位部品データが無い場合に、第２キャッシュ部２２又はＤＢサーバ５０から部品データを取得してＷｅｂページを作成する。【選択図】図１
2011154539.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、
ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、
前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備えるブログサービス提供システムであって、
前記キャッシュサーバは、
前記Ｗｅｂページを構成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶する第１キャッシュ手段と、
前記部品データを一時的に記憶する第２キャッシュ手段と、を有し、
前記フロントエンドサーバは、
前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるリクエスト受付手段と、
前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが前記第１キャッシュ手段に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが前記第１キャッシュ手段に記憶されていない場合には、前記第２キャッシュ手段又は前記部品データ記憶手段に記憶されている前記部品データを取得する部品データ取得手段と、
前記部品データ取得手段が取得した前記単位部品データ又は前記部品データに基づいて前記Ｗｅｂページを作成するページ作成手段と、
前記ページ作成手段により作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信する送信手段と、を有するブログサービス提供システム。
【請求項２】
前記フロントエンドサーバは、
前記部品データ取得手段が、前記第２キャッシュ手段又は前記部品データ記憶手段から複数の前記部品データを取得した場合に、取得した複数の部品データを前記単位部品データとして前記第１キャッシュ手段に登録するキャッシュ生成手段をさらに備える請求項１に記載のブログサービス提供システム。
【請求項３】
前記単位部品データは、前記単位部品データを構成する複数の前記部品データに関するレイアウト情報を含む請求項１又は２に記載のブログサービス提供システム。
【請求項４】
前記ブログサービス提供システムは、
前記部品データを記憶するデータベースサーバを備え、
前記データベースサーバは、前記部品データ記憶手段を備える請求項１から３のいずれかに記載のブログサービス提供システム。
【請求項５】
複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、
ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、
前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備え、ブログサービスを提供する方法であって、
前記キャッシュサーバが、前記Ｗｅｂページを構成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶するステップと、
前記キャッシュサーバが、前記部品データを一時的に記憶するステップと、
前記フロントエンドサーバが、前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるステップと、
前記フロントエンドサーバが、前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが一時的に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが一時的に記憶されていない場合には、一時的に記憶されている前記部品データ又は前記部品データ記憶手段に記憶されている前記部品データを取得するステップと、
前記フロントエンドサーバが、取得した前記単位部品データ又は前記部品データに基づいてＷｅｂページを作成するステップと、
前記フロントエンドサーバが、作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信するステップと、を含む方法。
【請求項６】
複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、
ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、
前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備え、前記フロントエンドサーバ及び前記キャッシュサーバにブログサービスを提供させるプログラムであって、
前記キャッシュサーバを、前記Ｗｅｂページを作成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶する第１キャッシュ手段と、
前記キャッシュサーバを、前記部品データを一時的に記憶する第２キャッシュ手段と、として機能させ、
前記フロントエンドサーバを、
前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるリクエスト受付手段と、
前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが前記第１キャッシュ手段に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが前記第１キャッシュ手段に記憶されていない場合には、前記第２キャッシュ手段又は前記部品データ記憶手段に記憶されている前記部品データを取得する部品データ取得手段と、
前記部品データ取得手段が取得した前記単位部品データ又は前記部品データに基づいて前記Ｗｅｂページを作成するページ作成手段と、
前記ページ作成手段により作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信する送信手段と、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにブログサービスを提供するブログサービス提供システム、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及及び検索技術の向上により、ユーザはインターネットから様々なコンテンツを簡単に得ることが可能となっている。また、ユーザは、得たい情報をインターネットを通じて取得するだけでなく、ユーザ自身がインターネットを通じて情報を発信できるようにもなっている。ユーザがインターネットを通じて情報発信する代表的な方法としては、ブログ（Ｗｅｂｌｏｇ：ウェブログの略称）が挙げられる。
【０００３】
ブログは、ユーザが端末のブラウザによりブログサービスを提供するシステムのＷｅｂサイトに接続し、日記等のテキストデータや写真等の画像データをシステムにアップロードすることにより更新される。また、ブログは、ブログページを構成する複数の部品データから構成されている。ブログサービスを提供するサーバは、端末から閲覧要求がある度に、各部品をデータベース等から読み出してＷｅｂページとして構成できるようにして閲覧要求のあった端末に送信している。このため、ブログサービスを提供するサーバが閲覧要求を受信してからブログページを送信するまでに時間を要する。
そこで、部品ページ（部品データ）毎にキャッシュしておき、キャッシュした部品ページを一つのページに再構成して端末に送信する装置が開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２７６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、サーバ装置がＷｅｂページを構成する部品ページをキャッシュとして一時的に記憶しておき、要求されたＷｅｂページに、キャッシュされている部品ページがあった場合にその部品ページを再利用してＷｅｂページを構成することが開示されている。しかし、ブログシステムの場合には、ブログの作成者毎に異なる部品を使用していることが多く、部品を再利用できるＷｅｂページは少ない。
ブログを構成する部品データは、テキストだけでなく、画像データ、動画データ及び所定の動作を行うプログラム等様々である。そして、複数の部品からなるブログを表示する場合に、ブログページの要求がされる度に、キャッシュされていないこれらの部品を読み出して構成するとなると、閲覧要求を受信してから閲覧要求されたブログページを構成して送信するまでに時間を要することには変わらない。
【０００６】
そこで、本発明は、応答性能を向上させることができるブログサービス提供システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備えるブログサービス提供システムであって、前記キャッシュサーバは、前記Ｗｅｂページを構成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶する第１キャッシュ手段と、前記部品データを一時的に記憶する第２キャッシュ手段と、を有し、前記フロントエンドサーバは、前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるリクエスト受付手段と、前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが前記第１キャッシュ手段に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが前記第１キャッシュ手段に記憶されていない場合には、前記第２キャッシュ手段又は前記部品データ記憶手段に記憶されている前記部品データを取得する部品データ取得手段と、前記部品データ取得手段が取得した前記単位部品データ又は前記部品データに基づいて前記Ｗｅｂページを作成するページ作成手段と、前記ページ作成手段により作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信する送信手段と、を有するブログサービス提供システム。
【０００８】
（１）に記載の構成によれば、フロントエンドサーバがＷｅｂページの閲覧要求を受け付けた場合に、複数の部品データを一単位とする単位部品データを取得し、単位部品データが無い場合に、部品データを取得してＷｅｂページを作成する。まず、あらかじめ複数の部品データからなる単位部品データを読み込んでＷｅｂページを作成するので、各部品データを読み込んでＷｅｂページを作成するよりも応答性能を向上させることができる。
【０００９】
（２）前記フロントエンドサーバは、前記部品データ取得手段が、前記第２キャッシュ手段又は前記部品データ記憶手段から複数の前記部品データを取得した場合に、取得した複数の部品データを前記単位部品データとして前記第１キャッシュ手段に登録するキャッシュ生成手段をさらに備える（１）に記載のブログサービス提供システム。
【００１０】
（２）に記載の構成によれば、（１）に記載の構成に加えて、フロントエンドサーバは、単位部品データが第１キャッシュ手段になく、第２キャッシュ手段又は部品データ記憶手段から複数の部品データを読み込んでＷｅｂページを作成した場合でも、そのとき読み込んだ複数の部品データを単位部品データとして登録することができる。このため、再度同じＷｅｂページに対する閲覧要求を受信した場合には、単位部品データが生成されているので、前回の閲覧要求時よりも応答速度を速くことができる。
【００１１】
（３）前記単位部品データは、前記単位部品データを構成する複数の前記部品データに関するレイアウト情報を含む（１）又は（２）に記載のブログサービス提供システム。
【００１２】
（３）に記載の構成によれば、（１）又は（２）に記載の構成に加えて、単位部品データにはレイアウト情報も含む。したがって、フロントエンドサーバは、単位部品データを読み込むだけでＷｅｂページを作成することができる。
【００１３】
（４）前記ブログサービス提供システムは、前記部品データを記憶するデータベースサーバを備え、前記データベースサーバは、前記部品データ記憶手段を備える（１）から（３）のいずれかに記載のブログサービス提供システム。
【００１４】
（４）に記載の構成によれば、（１）から（３）のいずれかに記載の構成に加えて、ブログサービス提供システムは、部品データを構成する部品データ記憶手段を有するデータベースサーバを備える。
【００１５】
（５）複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備え、ブログサービスを提供する方法であって、前記キャッシュサーバが、前記Ｗｅｂページを構成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶するステップと、前記キャッシュサーバが、前記部品データを一時的に記憶するステップと、前記フロントエンドサーバが、前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるステップと、前記フロントエンドサーバが、前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが一時的に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが一時的に記憶されていない場合には、一時的に記憶されている前記部品データ又は前記部品データ記憶手段に記憶されている前記部品データを取得するステップと、前記フロントエンドサーバが、取得した前記単位部品データ又は前記部品データに基づいて前記Ｗｅｂページを作成するステップと、前記フロントエンドサーバが、作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信するステップと、を含む方法。
【００１６】
（５）に記載の構成によれば、（１）と同様の効果を奏することができる方法を提供することができる。
【００１７】
（６）複数の部品からなるＷｅｂページに関する部品データを記憶する部品データ記憶手段と、ユーザ端末又はハンドラからの要求に応じて前記Ｗｅｂページを作成して送信するフロントエンドサーバと、前記Ｗｅｂページの作成に必要なデータをキャッシュするキャッシュサーバと、を備え、前記フロントエンドサーバ及び前記キャッシュサーバにブログサービスを提供させるプログラムであって、前記キャッシュサーバを、前記Ｗｅｂページを作成するために使用された複数の部品データを一単位とする単位部品データを一時的に記憶する第１キャッシュ手段と、前記キャッシュサーバを、前記部品データを一時的に記憶する第２キャッシュ手段と、として機能させ、前記フロントエンドサーバを、前記ユーザ端末又は前記ハンドラからのＷｅｂページ閲覧要求を受け付けるリクエスト受付手段と、前記Ｗｅｂページ閲覧要求に関連する前記単位部品データが前記第１キャッシュ手段に記憶されている場合には、前記単位部品データを取得し、前記単位部品データが前記第１キャッシュ手段に記憶されていない場合には、前記第２キャッシュ手段又は前記部品データ記憶手段に記憶されている前記部品データを取得する部品データ取得手段と、前記部品データ取得手段が取得した前記単位部品データ又は前記部品データに基づいて前記Ｗｅｂページを作成するページ作成手段と、前記ページ作成手段により作成されたＷｅｂページを前記ユーザ端末又は前記ハンドラに送信する送信手段と、として機能させるためのプログラム。
【００１８】
（６）に記載の構成によれば、（１）と同様の効果を奏することができるプログラムを提供することができる。
【発明の効果】
【００１９】
本発明によれば、応答性能を向上させることができるブログサービス提供システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るブログサービス提供システムの全体構成及び機能構成を示す図である。
【図２】本発明の実施形態に係る単位部品データの概念を示す図である。
【図３】本発明の実施形態に係る第１キャッシュ部に格納されるデータの例を示す図である。
【図４】本発明の実施形態に係る第２キャッシュ部に格納されるデータの例を示す図である。
【図５】本発明の実施形態に係る部品データＤＢに格納されているデータの例を示す図である。
【図６】本発明の実施形態に係るレイアウト情報ＤＢに格納されているデータの例を示す図である。
【図７】本発明の実施形態に係るフロントエンドサーバ及びキャッシュサーバ及びＤＢサーバの処理の流れを示すフローを示す図である。
【図８】本発明の実施形態に係るフロントエンドサーバ及びキャッシュサーバ及びＤＢサーバの処理の流れを示すフロー図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して説明する。なお、以下に説明する実施形態は、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２２】
図１を参照して、本実施形態の一例である、ブログサービス提供システム１の全体構成及び各部の構成について説明する。
図１は、本発明の実施形態に係るブログサービス提供システム１の全体構成及び機能構成を示す図である。
【００２３】
ブログサービス提供システム１は、ユーザ端末４０からの閲覧要求に応じて、当該ユーザ端末４０のユーザが編集可能なブログページを作成し、通信ネットワークＮ上に公開するサービスを提供するシステムである。ブログサービス提供システム１は、ユーザ端末４０と通信ネットワークＮを通じて互いに通信することができる。
【００２４】
ユーザ端末４０は、Ｗｅｂブラウザにより通信ネットワークＮを介してブログサービス提供システム１に接続し、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語等で記述されたＷｅｂページ（ブログページ）の情報をダウンロードする。そして、ユーザ端末４０は、これらの言語を解析し、表示する。ユーザ端末４０としては、例えば、パーソナルコンピュータ（ＰＣ）、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等の通信機能を有する情報端末を挙げることができる。図１に示すユーザ端末４０ａは、いわゆるパーソナルコンピュータであり、ユーザ端末４０ｂは、携帯電話等の携帯端末である（以下、総称してユーザ端末４０とする）。図１では、ユーザ端末４０ａ，４０ｂはそれぞれ一台ずつ示しているが、複数であってもよい。
【００２５】
通信ネットワークＮは、光ファイバーやＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）等の有線通信網（公衆回線網）や、携帯電話機あるいはＰＨＳ、無線ＬＡＮといった移動（無線）通信網により形成される。通信ネットワークＮは、具体的には、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等のコンピュータネットワークにより構成される。
【００２６】
ブログサービス提供システム１は、ブログ提供サーバ１０と、キャッシュサーバ２０と、フロントエンドサーバ３０と、データベースサーバ５０（以下、ＤＢサーバ５０とする）と、により構成される。
【００２７】
ブログ提供サーバ１０は、ユーザ端末４０からブログページを新規に作成する要求を受け付けたり、ブログサービス提供システム１を利用するユーザを管理したりする等、ブログサービス提供システム１で行われる処理の管理を行う。
【００２８】
キャッシュサーバ２０は、過去にフロントエンドサーバ３０からのリクエストがあった単位部品データ又は部品データを一時的に記憶する（キャッシュする）。キャッシュサーバ２０は、フロントエンドサーバ３０からの要求に応じて、キャッシュされている単位部品データ又は部品データを読み出してフロントエンドサーバ３０に送信する。
【００２９】
キャッシュサーバ２０は、第１キャッシュ部２１と、第２キャッシュ部２２と、を少なくとも有する。第１キャッシュ部２１は、過去にブログページとして表示された単位部品データを一時的に記憶する。
【００３０】
ここで、図２を参照して、単位部品データについて説明する。図２は、本発明の実施形態に係る単位部品データの概念を示す図である。
単位部品データは、過去にブログページとして表示されたＷｅｂページに含まれる複数の部品データを一単位とするデータである。本実施形態においては、単位部品データは、図２に示すように、ユーザ端末４０に表示されるブログページに含まれる全ての部品データ６１，６２，６３，６４，６５及びレイアウト情報６０からなるＷｅｂページ単位のデータである。したがって、後述の第１部品データ取得部３４２が単位部品データを取得した場合、フロントエンドサーバ３０は、この単位部品データのみで当該Ｗｅｂページをユーザ端末４０に表示させることができる。
【００３１】
図３を参照して、第１キャッシュ部２１に格納される単位部品データについて説明する。図３は、本発明の実施形態に係る第１キャッシュ部２１に格納されるテーブルの例を示す図である。
第１キャッシュ部２１には、ユーザＩＤ、単位部品データ及び登録時刻が「ユーザＩＤ」列、「単位部品データ」列及び「登録時刻」列にそれぞれ記憶されている。ユーザＩＤは、単位部品データとして記憶されたブログページのユーザＩＤである。登録時刻は、単位部品データが第１キャッシュ部２１に格納された時刻である。そして、第１キャッシュ部２１に格納された単位部品データは、キャッシュ時間として登録された時刻から所定期間経過した場合に、第１キャッシュ部２１から消去される。
【００３２】
図１に戻って、第２キャッシュ部２２は、過去にブログページに表示された部品データを一時的に記憶する。ここで、図４を参照して、第２キャッシュ部２２に格納される部品データについて説明する。図４は、本発明の実施形態に係る第２キャッシュ部２２に格納されるテーブルの例を示す図である。
【００３３】
第２キャッシュ部２２には、ユーザＩＤ、部品データ、部品データの種類及び登録時刻の各データが「ユーザＩＤ」列、「部品データ」列、「種類」列及び「登録時刻」列にそれぞれ記憶されている。部品データは、あるＷｅｂページを構成する部分となるデータである。この部品データは、例えば、Ｗｅｂページに表示される広告のデータや、カレンダー等のツール、また、カウンタや時計等のＷｅｂページで動的表示を行わせるためのスクリプト、ブログの各記事等のテキストデータ、写真等の画像又は動画像データ等、Ｗｅｂページに表示可能なコンテンツのデータである。
部品データの種類は、上記のように、部品データがどのような種類のデータであるかを示す情報である。
【００３４】
登録時刻は、部品データが第２キャッシュ部２２に格納された時刻である。そして、第２キャッシュ部２２に格納された部品データは、登録時刻として登録された時刻から所定期間が経過した場合に、第２キャッシュ部２２から消去される。この所定期間は、第１キャッシュ部２１における「所定期間」より長くてもよい。これにより、第１キャッシュ部２１での登録時刻から所定期間が経過して、単位部品データが消去されたとしても、第２キャッシュ部２２にはまだ消去された単位部品データを構成する部品データがキャッシュされている状態がありうる。このため、第１キャッシュ部２１から消去された単位部品データのＷｅｂページについて閲覧要求がされた場合でも、第２キャッシュ部２２でキャッシュされている部品データから当該Ｗｅｂページを構成できるので、迅速な応答性能を実現できる。
【００３５】
図１に戻ってフロントエンドサーバ３０について説明する。
フロントエンドサーバ３０は、ユーザ端末４０からのブログページの閲覧要求、又はブログ提供サーバ１０等の既存ブログシステムのハンドラからのブログページの取得要求に応じて、ブログページを作成する。そして、フロントエンドサーバ３０は、ユーザ端末４０又はブログ提供サーバ１０に作成したブログページを送信する。
【００３６】
フロントエンドサーバ３０は、少なくとも記憶部３１と、表示部３２と、操作部３３と、制御部３４と、を備える。
【００３７】
記憶部３１は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り可能及び書き込み可能な記憶媒体により構成されるものとする。
【００３８】
表示部３２は、フロントエンドサーバ３０の管理者にデータの入力を受け付ける画面を表示したり、フロントエンドサーバ３０による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００３９】
操作部３３は、フロントエンドサーバ３０に対する入力の受付を行うものであり、キーボード及びマウス、タッチペン、タッチパネル等により構成されるものとする。
【００４０】
制御部３４は、フロントエンドサーバ３０の各処理の実行を制御する。制御部３４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理演算装置）等により構成される。制御部３４は、下記の各部の機能を実現するためのプログラムをメモリ（図示せず）に読み込んで実行することによりその機能を実現させるものであってもよいし、また、専用のハードウェアにより実現されるものであってもよい。
なお、上述のブログ提供サーバ１０及びキャッシュサーバ２０についても、フロントエンドサーバ３０と同様の制御部、記憶部、表示部及び操作部のハードウェア構成を備えることができる。
【００４１】
制御部３４は、リクエスト受付部３４１と、第１部品データ取得部３４２と、第２部品データ取得部３４３と、キャッシュ生成部３４４と、ページ生成部３４５と、ページ送信部３４６と、を有する。
【００４２】
リクエスト受付部３４１は、ユーザ端末４０からのブログページに対する閲覧要求又はブログ提供サーバ１０からのブログページに対する取得要求のハンドラ（例えば、ＨＴＴＰハンドラ（ｈａｎｄｌｅｒ  ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ））等）（以下ユーザ端末４０又はブログ提供サーバ１０からのリクエストとする）を受け付ける。このユーザ端末４０又はブログ提供サーバ１０からのリクエストには、閲覧要求されたブログページのＵＲＬやユーザＩＤのデータを含む。リクエスト受付部３４１は、ユーザ端末４０又はブログ提供サーバ１０からのリクエストに含まれる各種データを第１部品データ取得部３４２に出力する。
【００４３】
第１部品データ取得部３４２は、リクエスト受付部３４１からリクエストに含まれる情報が入力されたことに応じて、キャッシュサーバ２０に単位部品データの取得要求を送信する。そして、第１部品データ取得部３４２は、キャッシュサーバ２０から単位部品データを受信すると、受信した単位部品データをページ生成部３４５に出力する。また、第１部品データ取得部３４２は、キャッシュサーバ２０から単位部品データを受信しない場合には、リクエスト受付部３４１から入力されたリクエストに含まれる情報を第２部品データ取得部３４３に出力する。
【００４４】
第２部品データ取得部３４３は、第１部品データ取得部３４２からリクエストに含まれる情報が入力されたことに応じて、キャッシュサーバ２０又はＤＢサーバ５０に部品データの取得要求を送信する。第２部品データ取得部３４３は、まずキャッシュサーバ２０に部品データの取得要求を送信する。そして、第２部品データ取得部３４３は、キャッシュサーバ２０の第２キャッシュ部２２に、該当する部品データが無い場合、ＤＢサーバ５０に部品データの取得要求を送信する。第２部品データ取得部３４３は、キャッシュサーバ２０又はＤＢサーバ５０から部品データ及びレイアウト情報を受信すると、受信した部品データ及びレイアウト情報をキャッシュ生成部３４４に出力する。
【００４５】
キャッシュ生成部３４４は、第２部品データ取得部３４３から部品データ及びレイアウト情報が入力されたことに応じて、これらのデータから単位部品データを生成してキャッシュサーバ２０に送信することで、第１キャッシュ部２１にキャッシュ（一時的に記憶）させる。キャッシュサーバ２０は、単位部品データを第１キャッシュ部２１のテーブルに登録時刻とともに格納する。また、第２部品データ取得部３４３が後述のＤＢサーバ５０から部品データ及びレイアウト情報を取得した場合には、キャッシュ生成部３４４は、これらのデータをキャッシュサーバ２０に送信することで、部品データとして第２キャッシュ部２２にキャッシュさせる。
【００４６】
ページ生成部３４５は、第１部品データ取得部３４２から単位部品データが入力された場合には、入力された単位部品データをブログページとしてページ送信部３４６に出力する。また、ページ生成部３４５は、第２部品データ取得部３４３から部品データ及びレイアウト情報が入力された場合には、部品データ及びレイアウト情報に基づいて、ブログページを生成し、ページ送信部３４６に出力する。
【００４７】
ページ送信部３４６は、ページ生成部３４５からのブログページの入力に応じて、リクエストを受け付けたブログ提供サーバ１０又はユーザ端末４０に送信する。
【００４８】
次に、ＤＢサーバ５０について説明する。ＤＢサーバ５０は、部品データＤＢ５１と、レイアウト情報ＤＢ５２と、を有する。
【００４９】
部品データＤＢ５１は、ブログページを作成するための複数の部品データを記憶する。ここで、図５を参照して、部品データＤＢ５１に格納されているデータについて説明する。図５は、本発明の実施形態に係る、部品データＤＢ５１に格納されているテーブルの例を示す図である。
部品データＤＢ５１では、例えば図５に示すように、部品データＩＤ、部品データ及びユーザＩＤがそれぞれ「部品データＩＤ」列、「部品データ」列、「ユーザＩＤ」列に格納されている。そして、同じ行に格納されているデータは、互いに関連付けられているデータである。
【００５０】
部品データＩＤは、部品データを一意に示すデータである。部品データＩＤは、所定の数字や番号で示されたものでもよく、また、部品データのパス等で示してもよい。部品データは、ブログページを構成する各種データであり、テキストデータ、音声データ、画像データ、動画データ、背景データ又は所定の動作を行うプログラム（例えば、いわゆるバナー広告のデータやスクリプトファイル等）等、ブログページにおいて表現できるデータであれば特に限定されない。ユーザＩＤは、図３及び図４のユーザＩＤと同様である。ユーザＩＤは、全ての部品データに関連付けられていなくてもよい。例えば共通して用いられる部品データに関しては、「ユーザＩＤ」列にはユーザＩＤが格納されない。
【００５１】
レイアウト情報ＤＢ５２は、ブログページのレイアウト情報を記憶する。ここで、図６を参照して、レイアウト情報ＤＢ５２に格納されているデータについて説明する。図６は、本発明の実施形態に係るレイアウト情報ＤＢ５２に格納されているテーブルの例を示す図である。
レイアウト情報ＤＢ５２では、例えば、図６に示すように、ユーザＩＤ及びレイアウト情報がそれぞれ「ユーザＩＤ」列及び「ファイル名」列に格納されている。
【００５２】
ユーザＩＤは、図３のユーザＩＤと同様に、当該ブログサービス提供システム１を利用するユーザを一意に示すデータである。
「ファイル名」列には、レイアウト情報が記載されたファイルが格納され、図６の「ファイル名」列にある「ａｂｃ」や「ｃｄｅ」はこれらのファイル名を示す。レイアウト情報は、関連付けられたユーザＩＤのユーザにより作成されたブログページのレイアウト情報を示すデータである。例えば、レイアウト情報は、ブログページを表示するフレームの形状、フレーム、レイアウト、背景等の表示色、表示フォントの種類、文字列や画像等の部品データの位置やサイズ等を示すデータである。また、レイアウト情報は、ＨＴＭＬ言語やＸＭＬ言語等のマークアップ言語で作成された文書のデザイン情報を構造化した、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）等のファイルであってもよい。
【００５３】
図７及び図８を参照して、フロントエンドサーバ３０、キャッシュサーバ２０及びＤＢサーバ５０の処理の流れについて説明する。図７及び図８は、本発明の実施形態に係るフロントエンドサーバ３０、キャッシュサーバ２０及びＤＢサーバ５０の処理の流れを示すフロー図である。
【００５４】
図７のステップＳ１１では、フロントエンドサーバ３０のリクエスト受付部３４１は、ユーザ端末４０又はブログ提供サーバ１０からのリクエストを受け付け、当該リクエストに含まれる情報を第１部品データ取得部３４２に出力する。
【００５５】
ステップＳ１２では、フロントエンドサーバ３０の第１部品データ取得部３４２は、キャッシュサーバ２０に単位部品データの取得要求を送信する。
【００５６】
ステップＳ１３では、キャッシュサーバ２０は、フロントエンドサーバ３０から単位部品データの取得要求を受信したことに応じて、第１キャッシュ部２１を検索する。そして、キャッシュサーバ２０は、検索結果のデータをフロントエンドサーバ３０の第１部品データ取得部３４２に送信する（ステップＳ１４）。この検索結果のデータには、第１キャッシュ部２１に該当する単位部品データがキャッシュされていた場合は、単位部品データを含む。また、該当する単位部品データが第１キャッシュ部２１にキャッシュされていなかった場合には、検索結果のデータには、単位部品データが無かった旨を示すデータを含む。
【００５７】
ステップＳ１５では、フロントエンドサーバ３０の第１部品データ取得部３４２は、検索結果データを受信する。そして、第１部品データ取得部３４２は、検索結果データに単位部品データが含まれているか否かを判別する（ステップＳ１６）。第１部品データ取得部３４２は、検索結果データに単位部品データが含まれている場合（ステップＳ１６でＹＥＳの場合）には、図８のステップＳ３２に処理を移す。また、第１部品データ取得部３４２は、検索結果データに単位部品データが含まれていなかった場合（ステップＳ１６でＮＯの場合）には、ステップＳ１７に処理を移す。このとき、第１部品データ取得部３４２は、リクエスト受付部３４１から入力されたリクエストに含まれる情報を第２部品データ取得部３４３に送信する。
【００５８】
ステップＳ１７では、第２部品データ取得部３４３は、キャッシュサーバ２０に部品データの取得要求を送信する。
【００５９】
ステップＳ１８では、キャッシュサーバ２０は、フロントエンドサーバ３０の第２部品データ取得部３４３から部品データの取得要求を受信する。そして、キャッシュサーバ２０は、第２キャッシュ部２２を検索し、検索結果データをフロントエンドサーバ３０に送信する（ステップＳ１９）。
【００６０】
ステップＳ２０では、フロントエンドサーバ３０の第２部品データ取得部３４３は、検索結果データをキャッシュサーバ２０から受信し、検索結果データに部品データが含まれているか否かを判別する（ステップＳ２１）。第２部品データ取得部３４３は、検索結果データに部品データが含まれている場合（ステップＳ２１でＹＥＳの場合）は、ステップＳ２９に処理を移す。
また、第２部品データ取得部３４３は、検索結果データ内に部品データが含まれていない場合（ステップＳ２１でＮＯの場合）は、ステップＳ２２に処理を移す。
【００６１】
ステップＳ２２では、第２部品データ取得部３４３は、ＤＢサーバ５０に部品データの取得要求を送信する。この取得要求には、閲覧要求を受けたブログページのユーザＩＤについての情報を少なくとも含む。この取得要求を受信したＤＢサーバ５０は、ユーザＩＤに基づいて、レイアウト情報ＤＢ５２を検索してレイアウト情報を読み出し（ステップＳ２３）、読み出したレイアウト情報を解析して、これに含まれる部品データを部品データＤＢ５１から取得する（ステップＳ２４）。そして、ＤＢサーバ５０は、これらのレイアウト情報及び部品データをフロントエンドサーバ３０に送信する（ステップＳ２５）。
【００６２】
ステップＳ２６では、フロントエンドサーバ３０の第２部品データ取得部３４３は、ＤＢサーバ５０からレイアウト情報及び部品データを受信し、これらのデータをキャッシュ生成部３４４に送信する。キャッシュ生成部３４４はレイアウト情報及び部品データをキャッシュサーバ２０に送信する（ステップＳ２７）。キャッシュサーバ２０は、フロントエンドサーバ３０から部品データとレイアウト情報を受信すると、これらの部品データを第２キャッシュ部２２にキャッシュさせる（ステップＳ２８）。
【００６３】
ステップＳ２９では、キャッシュ生成部３４４は、第２部品データ取得部３４３から受信した部品データ及びレイアウト情報に基づいて単位部品データを生成する。そして、キャッシュ生成部３４４は、生成した単位部品データをキャッシュサーバ２０に送信する（図８のステップＳ３０）。
【００６４】
ステップＳ３１では、キャッシュサーバ２０は、フロントエンドサーバ３０から単位部品データを受信し、この単位部品データを第１キャッシュ部２１にキャッシュさせる。
【００６５】
ステップＳ３２では、フロントエンドサーバ３０のページ生成部３４５は、ブログページを生成し、ページ送信部３４６がブログページをユーザ端末４０又はブログ提供サーバ１０に送信する（ステップＳ３３）。ページ生成部３４５は、第１部品データ取得部３４２から単位部品データが入力された場合は、当該単位部品データをページ送信部３４６に送信し、単位部品データにより表現されるブログページをユーザ端末４０又はブログ提供サーバ１０に送信させる。また、ページ生成部３４５は、第２部品データ取得部３４３から部品データ及びレイアウト情報を受信した場合は、レイアウト情報に基づいて部品データを用いてブログページを構成し、ページ送信部３４６に送信させる。
【００６６】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００６７】
本実施形態によれば、ブログサービス提供システム１は、キャッシュサーバ２０とフロントエンドサーバ３０とを備え、キャッシュサーバ２０の第１キャッシュ部２１は、単位部品データを記憶するものとした。単位部品データは、複数の部品ページ及びレイアウト情報から構成され、単位部品データのみでＷｅｂページ（ブログページ）を生成しうるデータである。そして、リクエスト受付部３４１がリクエストを受け付けると、まず、第１部品データ取得部３４２が単位部品データを取得するので、ブログサービス提供システム１の応答性能を向上させることができる。
【００６８】
また、本実施形態によれば、フロントエンドサーバ３０は上位のハンドラにより処理を行うことができるので、フロントエンドサーバ３０及びキャッシュサーバ２０からなるシステムを、既存のブログシステムに容易に組み込むことができる。このため、既存のシステムを利用してブログサービス提供システム１全体の応答性能を向上させることができる。
【００６９】
本実施形態では、ＤＢサーバ５０が部品データＤＢ５１及びレイアウト情報ＤＢ５２を有するとしたがこれに限らない。例えば、部品データＤＢ５１及びレイアウト情報ＤＢ５２は、キャッシュサーバ２０に設けてもよい。
【００７０】
本実施形態では、第２部品データ取得部３４３は、キャッシュサーバ２０に部品データの取得要求を送信し、キャッシュサーバ２０から部品データを受信しなかった場合にＤＢサーバ５０にレイアウト情報及び部品データの取得要求を送信するとしたが、これに限らない。例えば、第２部品データ取得部３４３は、キャッシュサーバ２０の第２キャッシュ部２２からブログページを構成する一部の部品データがある場合、その一部の部品データのみを取得し、その後、不足する部品データをＤＢサーバ５０から取得するとしてもよい。
【符号の説明】
【００７１】
１  ブログサービス提供システム
１０  ブログ提供サーバ
２０  キャッシュサーバ
２１  第１キャッシュ部
２２  第２キャッシュ部
３０  フロントエンドサーバ
４０  ユーザ端末
５０  ＤＢサーバ
５１  部品データＤＢ
５２  レイアウト情報ＤＢ
３４１  リクエスト受付部
３４２  第１部品データ取得部
３４３  第２部品データ取得部
３４４  キャッシュ生成部
３４５  ページ生成部
３４６  ページ送信部
Ｎ  通信ネットワーク
【図１】
2011154539.tif 000003
【図２】
2011154539.tif 000004
【図３】
2011154539.tif 000005
【図４】
2011154539.tif 000006
【図５】
2011154539.tif 000007
【図６】
2011154539.tif 000008
【図７】
2011154539.tif 000009
【図８】
2011154539.tif 000010