説明

キャッシュサーバ、キャッシュ管理方法およびキャッシュ管理プログラム

【課題】キャッシュデータに対応するオリジナルデータを保持するオリジナルサーバへのアクセス集中による処理負荷を軽減すること。
【解決手段】更新期間が経過したキャッシュデータに対する送信要求があった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定する。そして、更新フラグがオフである場合、当該更新フラグをオンにして、更新期間が経過したキャッシュデータに対応する更新データを取得する。その後、取得した更新データに基づいてキャッシュデータの更新を行って当該キャッシュデータに関連づけられた更新フラグをオフにし、更新したキャッシュデータを送信要求元の外部装置へ送信する。一方、更新フラグがオンである場合、更新期間が経過したキャッシュデータを送信要求元の外部装置へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置からの要求に応じて送信するキャッシュデータを管理するキャッシュサーバ、キャッシュ管理方法およびキャッシュ管理プログラムに関する。
【背景技術】
【0002】
近年、インターネットなどのネットワークの普及によって、種々の情報を配信するサービスが提供されている。かかるサービスにおいては、処理負荷の軽減などを図るために、キャッシュサーバが用いられることがある(例えば、特許文献1参照)。
【0003】
例えば、各ユーザが投稿と閲覧とを行うブログなどのサービスにおいて、ユーザの投稿によってオリジナルサーバに蓄積された情報の閲覧をキャッシュサーバ経由で行うコンピュータシステムが知られている。
【0004】
かかるコンピュータシステムでは、ユーザから要求された情報がキャッシュサーバに既に蓄積されているか否かをまず判定する。そして、キャッシュサーバ内に必要な情報が既に蓄積されていれば、キャッシュサーバから必要な情報が取得され、オリジナルサーバへのアクセスが行われない。これにより、情報取得の効率化を図ることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−146380号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来のコンピュータシステムでは、キャッシュサーバ内に必要な情報が蓄積されていなければ、キャッシュサーバはオリジナルサーバへアクセスして情報を取得する。したがって、複数のユーザから同時期に同一の情報が要求された場合、キャッシュサーバ内に必要な情報が蓄積されていなければ、かかる要求の数だけキャッシュサーバがオリジナルサーバへアクセスすることになる。
【0007】
そのため、キャッシュサーバにおいてオリジナルサーバへのアクセス処理が集中してしまい、キャッシュサーバでの処理の負荷が高まってしまうという課題があった。
【0008】
本発明は、上記のような従来技術の課題を解決するものであり、その目的は、キャッシュサーバからオリジナルサーバへのアクセス処理の集中による負荷を軽減することにある。
【課題を解決するための手段】
【0009】
上記の目的を踏まえ、本発明の一態様(1)は、外部装置からの送信要求に応じてキャッシュデータを送信するキャッシュサーバにおいて、更新期間が設定されるキャッシュデータと更新フラグとを関連づけて記憶する記憶手段と、前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定する判定手段と、前記判定手段によって更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得する取得手段と、前記取得手段によって取得した更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフにする更新手段と、前記判定手段によって更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信する送信手段とを備える。
【0010】
上記態様(1)をコンピュータ・プログラムという見方から捉えた本発明の一態様(6)は、外部装置からの送信要求に応じて送信されるキャッシュデータの管理をコンピュータに実行させるキャッシュ管理プログラムにおいて、更新期間が設定されるキャッシュデータと、更新フラグとを関連づけて記憶手段に記憶し、前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定し、前記更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得し、前記更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフにし、前記更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信する処理を前記コンピュータに実行させる。
【0011】
上記態様(1)を方法という見方から捉えた本発明の一態様(7)は、コンピュータを制御し、外部装置からの送信要求に応じて送信されるキャッシュデータを前記コンピュータにより管理するキャッシュ管理方法において、更新期間が設定されるキャッシュデータと、更新フラグとを関連づけて記憶手段に記憶する手順と、前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定する手順と、前記更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得する手順と、前記更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフする手順と、前記更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信する手順とを含む。
【0012】
この発明によれば、更新期間が経過したキャッシュデータに対する送信要求が外部装置からあった場合に更新フラグがオフであれば、更新データによりキャッシュデータを更新するまでの間、更新フラグをオンにする。一方、更新フラグがオンであれば、更新期間が経過した未更新のキャッシュデータを外部装置へ送信する。
【0013】
したがって、更新期間が経過した同一のキャッシュデータに対する送信要求が複数あった場合に、キャッシュデータからオリジナルサーバへのアクセス処理の集中による処理負荷を軽減することができる。
【0014】
本発明の他の態様(2)は、上記のいずれかの態様において、前記送信手段は、前記判定手段によって更新フラグがオフであると判定された場合に、前記更新データに基づいて更新されたキャッシュデータ又は前記更新データを前記外部装置へ送信することを特徴とする。
【0015】
この発明によれば、更新フラグがオフであれば、更新データに基づいて更新されたキャッシュデータ又は更新データを外部装置へ送信する。したがって、外部装置では、最新のデータを取得することができる。
【0016】
本発明の他の態様(3)は、上記のいずれかの態様において、前記判定手段は、前記更新フラグの状態の判定を、前記更新期間が経過したキャッシュデータに対する送信要求が所定台数の前記外部装置からあった場合に行うことを特徴とする。
【0017】
この発明によれば、更新期間が経過したキャッシュデータに対する送信要求があった場合に、所定台数の端末装置に対しては、オリジナルサーバへのアクセスを行って、更新したキャッシュデータを送信する一方で、所定台数を超える端末装置に対しては、更新期間が経過した未更新のキャッシュデータを送信する。
【0018】
したがって、オリジナルサーバへのアクセスが許容できる端末装置の台数を設定することで複数の端末装置へ更新したキャッシュデータを送信することができる。
【0019】
本発明の他の態様(4)は、上記のいずれかの態様において、前記キャッシュデータには、前記更新期間よりも長い保持期間が規定されており、前記保持期間内に前記外部装置から送信要求がない場合に、前記キャッシュデータを前記記憶手段から削除する削除手段を備えたことを特徴とする。
【0020】
この発明によれば、更新期間よりも長い保持期間が規定され、保存期間が経過したキャッシュデータは削除されるため、例えば、更新期間が大幅に経過した未更新のキャッシュデータが送信されてしまうことを回避できる。
【0021】
本発明の他の態様(5)は、上記のいずれかの態様において、前記外部装置からの送信要求に対応するキャッシュデータが前記記憶手段にない場合に、オリジナルデータを取得し、当該オリジナルデータをキャッシュデータとして前記記憶手段に記憶する手段を備えたことを特徴とする。
【0022】
この発明によれば、外部装置からの送信要求に対応するキャッシュデータがない場合であっても、新たなキャッシュデータを記憶することができるため、例えば、オリジナルデータサーバに新たな情報が記憶された場合などであっても迅速に対応することが可能である。
【発明の効果】
【0023】
本発明によれば、キャッシュサーバからオリジナルサーバへのアクセス処理の集中による負荷を軽減することができる。
【図面の簡単な説明】
【0024】
【図1】図1は、本発明の一実施形態のキャッシュ管理手法の概要説明図である。
【図2】図2は、本発明の一実施形態に係るブログサービスシステムの構成図である。
【図3】図3は、端末装置で表示されるウェブページの例を示す図である。
【図4】図4は、オリジナルサーバのブロック図である。
【図5】図5は、オリジナルデータベースのデータ構成の一例を示す図である。
【図6】図6は、キャッシュサーバのブロック図である。
【図7】図7は、キャッシュデータの一例を示す図である。
【図8】図8は、キャッシュデータフォーマットを示す図である。
【図9】図9は、キャッシュサーバの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明を実施するための形態(以下、「実施形態」と呼ぶ)について、図面を参照しつつ詳細に説明する。
【0026】
[1.キャッシュ管理手法の概要]
まず、本発明に係る一実施形態のキャッシュ管理手法の概要について図1を用いて説明する。図1は、本発明の一実施形態のキャッシュ管理手法の概要説明図である。
【0027】
本実施形態では、図1の(A)に示すように、キャッシュサーバ2がオリジナルサーバ1から取得したデータをキャッシュデータとして管理している。キャッシュサーバ2は、端末装置31〜3nからの要求に応じて、キャッシュデータを要求元の端末装置31〜3nへ送信する。なお、以下においては、端末装置31〜3nのいずれか又は全部をいう場合には、端末装置3とする。
【0028】
図1の(B)に示すように、キャッシュサーバ2に蓄積されるキャッシュデータには、更新期間の情報および更新フラグの情報が関連づけられており、これらの情報に基づいて、キャッシュサーバ2からオリジナルサーバ1へのアクセス処理の集中を抑制している。具体的には、次のような処理によってアクセス処理の集中を抑制している。
【0029】
キャッシュサーバ2は、更新期間が経過したキャッシュデータに対して端末装置3から送信要求がある場合、オリジナルサーバ1へ対して更新データの要求を行うか否かを更新フラグの状態に応じて決定する。
【0030】
例えば、更新フラグが「オフ」(例えば、「0」)であれば、キャッシュサーバ2は、オリジナルサーバ1へ対して更新データの要求を行って更新フラグを「オン」(例えば、「1」)へ変更する。
【0031】
その後、オリジナルサーバ1から更新データを取得した場合、キャッシュサーバ2は、更新データに基づきキャッシュデータを更新し、更新フラグをオフへ変更する。また、キャッシュサーバ2は、更新済みのキャッシュデータ(以下、「更新済みキャッシュデータ」とする)を要求元となる端末装置3へ送信する。
【0032】
一方、更新フラグがオンであれば、キャッシュサーバ2は、オリジナルサーバ1へ対して更新データの要求を行わずに、更新期間が経過し且つ未更新であるキャッシュデータ(以下、「未更新キャッシュデータ」とする)を読み出し、要求元となる端末装置3へ送信する。
【0033】
ここで、上述したキャッシュサーバ2の動作を理解しやすいように、更新期間が経過した同一のキャッシュデータに対して端末装置31〜33から同時期に送信要求がある場合を考える。なお、端末装置31,端末装置32,端末装置33の順に送信要求があるものとする。
【0034】
図1の(C)に示すように、まず、更新期間が経過したキャッシュデータBの送信要求が端末装置31から行われると(ステップS1)、キャッシュサーバ2は、キャッシュデータBに関連づけられた更新フラグの状態を判定する。
【0035】
キャッシュデータBは、更新期間が経過した後に初めて端末装置31から送信要求があった状態であるため、キャッシュデータBに関連づけられた更新フラグは「オフ」である。したがって、キャッシュサーバ2は、キャッシュデータBに関連づけられた更新フラグが「オフ」であると判定する。
【0036】
更新フラグが「オフ」であると判定すると、キャッシュサーバ2は、キャッシュデータBを更新するための更新データの送信をオリジナルサーバ1に対して要求する(ステップS2)。また、キャッシュサーバ2は、キャッシュデータBに関連づけられた更新フラグを「オン」へ変更する。
【0037】
その後、キャッシュデータBの送信要求が端末装置32から行われると(ステップS3)、キャッシュサーバ2は、キャッシュデータBに関連づけられた更新フラグの状態を判定する。キャッシュデータBに関連づけられた更新フラグは、ステップS2において「オン」へ変更されているため、キャッシュサーバ2は、キャッシュデータBに関連づけられた更新フラグの状態が「オン」であると判定する。
【0038】
更新フラグの状態が「オン」であると判定すると、キャッシュサーバ2は、キャッシュデータBを更新するための更新データの送信要求を行うことなく、未更新であるキャッシュデータをキャッシュデータベースから読み出して、端末装置32へ送信する(ステップS4)。
【0039】
その後、端末装置32の場合と同様に、キャッシュデータBの送信要求が端末装置33から行われると(ステップS5)、キャッシュデータBに関連づけられた更新フラグがオンであるため、キャッシュサーバ2は、未更新であるキャッシュデータをキャッシュデータベースから読み出して、端末装置33へ送信する(ステップS6)。
【0040】
その後、キャッシュデータBを更新するための更新データがオリジナルサーバ1から送信されてくると(ステップS7)、キャッシュサーバ2は、この更新データに基づいてキャッシュデータBの更新を行って、キャッシュデータBに関連づけられた更新フラグを「オフ」へ変更する。そして、キャッシュサーバ2は、更新したキャッシュデータBを端末装置31へ送信する(ステップS8)。
【0041】
このように、本実施形態に係るキャッシュ管理手法では、更新期間が経過した同一のキャッシュデータに対して複数の端末装置3から同時期に送信要求が行われた場合であっても、オリジナルサーバ1への更新データの要求数は、端末装置3からのキャッシュデータの送信要求数よりも少ない数である。
【0042】
したがって、キャッシュサーバ2において、キャッシュデータに対応するオリジナルデータを保持又は生成するオリジナルサーバ1へのアクセス処理の集中による負荷を軽減することができる。
【0043】
特に、上述の例では、最初に送信要求を行った端末装置3からの送信要求に対してのみオリジナルサーバ1への更新データの要求が行われ、その他の端末装置3からの送信要求に対しては未更新キャッシュデータを送信する。したがって、この場合、キャッシュサーバ2において、オリジナルサーバ1へのアクセス集中による処理負荷を大幅に軽減することができる。
【0044】
[2.キャッシュ管理手法の具体例]
次に、図2〜図9を参照して、上述したキャッシュ管理手法を適用したシステムを詳細に説明する。以下においては、投稿文字数が制限されるマイクロブログと呼ばれるサービスを提供するブログサービスシステムを一例に挙げて説明するが、上述したキャッシュ管理手法は様々なシステムや装置に適用することが可能である。
【0045】
まず、本実施形態に係るブログサービスシステムの構成について説明する。図2は、本実施形態に係るブログサービスシステムの構成を示す図である。
【0046】
図2に示すように、本実施形態に係るブログサービスシステムSは、アプリケーションサーバ10と、オリジナルサーバ20と、キャッシュサーバ30とを備えており、これらのサーバはLAN(ローカルエリアネットワーク)などのネットワークにより接続されている。このブログサービスシステムSは、ルータ60を介してインターネットなどのネットワーク50に接続されている。
【0047】
このブログサービスシステムSは、端末装置401〜40nの各ユーザが投稿と閲覧とを行うことを可能としたシステムである。端末装置401〜40nは、ネットワーク50を介してブログサービスシステムSとデータの送受信が可能であり、ブログサービスシステムSでは、端末装置401〜40nの各ユーザからの投稿や閲覧などを受け付ける。
【0048】
例えば、各端末装置401〜40nのユーザからの投稿要求は、アプリケーションサーバ10によって受け付けられ、その投稿要求に応じた情報はアプリケーションサーバ10からオリジナルサーバ20へ通知され、オリジナルサーバ20のオリジナルデータベースに蓄積される。
【0049】
また、各端末装置401〜40nのユーザからの閲覧要求は、アプリケーションサーバ10によって受け付けられ、キャッシュサーバ30へ通知される。キャッシュサーバ30は、閲覧要求に対応するキャッシュデータを内部のキャッシュデータベースから読み出し、かかるキャッシュデータをアプリケーションサーバ10経由で閲覧要求元の端末装置401〜40nへ通知する。
【0050】
各端末装置401〜40nは、通信手段41と、ブラウザ42と、操作手段43と、表示手段44とを有しており、操作手段43への操作によってブラウザ42を制御して、通信手段41を介してアプリケーションサーバ10との間で各種のデータの送受信を行う。これによって、各端末装置401〜40nのユーザは、投稿や閲覧を行うことができる。なお、以下においては、端末装置401〜40nのいずれか又は全部をいう場合には、端末装置40とする。
【0051】
ここで、端末装置40において投稿や閲覧を行うためにアプリケーションサーバ10から送信されるウェブページの例を説明する。図3は、アプリケーションサーバ10から送信され、端末装置40において表示されるウェブページの例を示す図である。
【0052】
本実施形態に係るブログサービスシステムでは、例えば、操作手段43への操作によってブラウザ42からアプリケーションサーバ10へのアクセスがあった場合、アプリケーションサーバ10はブログサービスのTOPページ11の情報を端末装置40へ送信する。なお、アプリケーションサーバ10へのアクセスには端末装置40のユーザに対応するユーザIDの情報も含まれており、ユーザIDに対応するTOPページ11がアプリケーションサーバ10から送信される。
【0053】
ブラウザ42は、アプリケーションサーバ10から受信したTOPページ11の情報に基づいて、ブログサービスのTOPページ11を表示手段44に表示させる。図3の(A)は、表示手段44に表示されるTOPページ11の一例を示している。このTOPページ11では、「一言投稿」、「一言閲覧」、「一言検索」、「素材検索」を選択可能としており、また、急上昇のキーワードなども表示される。
【0054】
操作手段43への操作によってTOPページ11に表示された「一言投稿」が選択された場合、ブラウザ42からその選択情報がアプリケーションサーバ10へ送信される。この選択情報の送信に対し、アプリケーションサーバ10から投稿用ページ12の情報が端末装置40へ送信され、図3の(B)に示すように、投稿を行うための投稿用ページ12がブラウザ42によって表示手段44に表示される。端末装置40のユーザは、操作手段43への操作によって投稿文入力ボックス12a内に投稿文を入力し、「投稿」ボタン12bを押下する。これにより、投稿文情報がアプリケーションサーバ10へ送信される。
【0055】
投稿文情報の送信に対して、アプリケーションサーバ10からは、図3の(C)に示すような素材設定用ページ13の情報が送信され、ブラウザ42によって素材設定用ページ13が表示手段44に表示される。端末装置40のユーザは、上述のように投稿した投稿文に関連すると考える素材17a〜17c(ここでは画像)に対応するチェックボックス13aのいずれか選択し、設定ボタン13bを押下する。
【0056】
これにより、ユーザが選択した素材の素材IDがアプリケーションサーバ10へ送信される。そして、アプリケーションサーバ10へ送信された投稿文および素材IDなどは投稿情報としてオリジナルサーバ20へ送信され、オリジナルサーバ20に蓄積される。
【0057】
また、操作手段43への操作によってTOPページ11に表示された「一言閲覧」が選択された場合、ブラウザ42からその選択情報がアプリケーションサーバ10へ送信される。この選択情報の送信に対し、アプリケーションサーバ10から一言閲覧ページ14の情報が端末装置40へ送信され、図3の(D)に示すように、ユーザの投稿内容の一覧を示す一言閲覧ページ14がブラウザ42によって表示手段44に表示される。
【0058】
この一言閲覧ページ14は、アプリケーションサーバ10がキャッシュサーバ30に要求して取得した情報に基づいて生成されるものである。具体的には、アプリケーションサーバ10は、端末装置40から送信される一言閲覧要求に対応する情報をキャッシュサーバ30へ要求する。
【0059】
キャッシュサーバ30はアプリケーションサーバ10からの要求に応じた情報を内部のキャッシュデータベースから読み出して、アプリケーションサーバ10へ送信する。なお、キャッシュサーバ30は、アプリケーションサーバ10からの要求に応じた情報がキャッシュデータベースにない場合、オリジナルサーバ20から情報を取得し、アプリケーションサーバ10へ送信する。
【0060】
なお、一言閲覧は、閲覧したいユーザに関する投稿の一覧情報とすることができる。すなわち、端末装置40のユーザは、自分が投稿した内容を一覧表示するだけでなく、選択によって他のユーザが投稿した内容の一覧を表示することもできる。
【0061】
また、操作手段43への操作によってTOPページ11に表示された「素材検索」が選択され、さらに検索する素材が選択された場合、ブラウザ42からその選択情報がアプリケーションサーバ10へ送信される。この選択情報の送信に対し、アプリケーションサーバ10から素材検索結果ページ15の情報が端末装置40へ送信される。
【0062】
端末装置40のブラウザ42は、アプリケーションサーバ10から受信した情報に基づいて、図3の(E)に示すように、素材17aを関連づけた投稿の一覧を示す素材検索結果ページ15をブラウザ42によって表示手段44に表示させる。なお、図3の(E)に示す例では、検索する素材を素材17aとした素材検索結果ページ15の例を示している。この素材検索結果ページ15は、一言閲覧ページ14と同様に、アプリケーションサーバ10がキャッシュサーバ30に要求して取得した情報に基づいて生成される。
【0063】
さらに、操作手段43への操作によって素材検索結果ページ15から素材名15aが選択された場合、ブラウザ42からその選択情報がアプリケーションサーバ10へ送信される。この選択情報の送信に対し、アプリケーションサーバ10から素材詳細ページ16の情報が端末装置40へ送信される。端末装置40のブラウザ42は、アプリケーションサーバ10から受信した情報に基づいて、図3の(F)に示すように、素材詳細ページ16を表示手段44に表示させる。
【0064】
この素材詳細ページ16は、一言閲覧ページ14や素材検索結果ページ15と同様に、アプリケーションサーバ10がキャッシュサーバ30に要求して取得した情報に基づいて生成される。また、同様に、TOPページ11の急上昇キーワードの情報に関しても、アプリケーションサーバ10がキャッシュサーバ30に要求して取得した情報に基づいて生成される。
【0065】
以上のように、本実施形態に係るブログサービスシステムSでは、端末装置40のユーザから投稿文や対応する素材を投稿情報として投稿可能とし、また、投稿情報や素材情報などを端末装置40のユーザから閲覧可能としている。このように構成されるブログサービスシステムSについて、以下、オリジナルサーバ20およびキャッシュサーバ30の構成について詳細に説明する。
【0066】
[2.1.オリジナルサーバ20の構成]
図4にオリジナルサーバ20の構成を示す。図4に示すように、オリジナルサーバ20は、通信インタフェース(I/F)21と、オリジナルデータベース22と、制御部23とを備えている。
【0067】
通信I/F21は、オリジナルサーバ20をLAN経由でアプリケーションサーバ10やキャッシュサーバ30と接続できるようにするためのインタフェースであり、例えば、イーサネット(登録商標)・アダプタを含む。
【0068】
オリジナルデータベース22は、端末装置401〜40nのユーザからの投稿に関する情報を蓄積するデータベースである。このオリジナルデータベース22は、キーバリュー型のデータベースであり、複数の検索キーに関連づけて投稿情報の各要素が蓄積される。
【0069】
なお、キーバリュー型のデータベースは、データベースの増設や分散配置が容易であることからブログサービスシステムSなどのようにデータが増加するシステムに有効なデータベースである。
【0070】
ここで、オリジナルデータベース22に蓄積される投稿情報の一例を具体的に説明する。図5は、オリジナルデータベース22のデータ構成の一例を示す図である。
【0071】
図5に示すように、各投稿情報には、投稿ID(ここでは、一言IDと称する)が割り当てられ、さらに、投稿情報の各要素は、それぞれ検索キーに関連づけられてオリジナルデータベース22に蓄積される。
【0072】
具体的には、投稿情報の要素には、一言内容、一言種別、ユーザID、投稿日時、素材IDなどがあり、それぞれ検索キーに割り当てられる。図5に示す例では、一言IDが111である投稿に関する情報として、一言内容(text)として「ねむすぎ#ひま」、一言種別として「0」、ユーザIDとして「555」、投稿日時として「2010年12月28日20時14分27秒」、素材ID(image)として「543228」がそれぞれ蓄積されることを示している。
【0073】
このオリジナルデータベース22から投稿情報の要素として、例えば、一言IDが「111」の一言内容(text)を検索する場合、検索式は次のようになる。
検索式=[111][text]
【0074】
図4の説明に戻ってオリジナルサーバ20の構成の説明を続ける。制御部23は、オリジナルデータベース22の全体制御を行う制御部である。制御部23は、受信手段23aと、受付手段23bと、取得手段23cと、送信手段23dとをさらに備えている。
【0075】
なお、図4には、制御部23の機能的な構成を示しているが、この制御部23は、物理的にはCPU(Central Processing Unit)とROM(Read Only Memory)とRAM(Random Access Memory)とを有する情報処理装置を備えている。そして、CPUがROMからプログラムを読出し、RAMを作業領域として使用して実行することにより、上述した各手段23a〜23d等として機能する。
【0076】
受信手段23aは、通信I/F21を介してアプリケーションサーバ10から送信される投稿情報やキャッシュサーバ30から送信される検索要求信号を受信する。
【0077】
受付手段23bは、受信手段23aによって受信した情報を受け付ける。例えば、受信手段23aによってアプリケーションサーバ10からの投稿情報が受信された場合、受付手段23bは、この投稿情報に一言IDを関連づけてオリジナルデータベース22に蓄積する。
【0078】
また、受付手段23bは、キャッシュサーバ30から検索要求信号が受信手段23aによって受信された場合、検索要求信号に含まれる検索内容の情報を取得手段23cへ出力する。
【0079】
取得手段23cは、受付手段23bから出力された検索内容の情報に基づき、キャッシュサーバ30を参照して検索内容に応じた情報(以下、検索結果情報と記載する)を取得する。オリジナルデータベース22は、上述したように、キーバリュー型のデータベースであり、取得手段23cは、検索キーによってオリジナルデータベース22から情報を取得し、取得した情報又はこの情報に所定の処理を施した情報を検索結果情報として取得する。
【0080】
例えば、検索要求信号に含まれる検索内容が素材17aの素材詳細ページ16(図3参照)を生成するための情報を検索するものである場合、取得手段23cは、素材17aが関連づけられた投稿情報をオリジナルデータベース22から取得する。そして、取得手段23cは、素材17aが関連づけられた投稿情報の数を集計し、また、素材17aが関連づけられた投稿情報の投稿者の順位などを判定して検索結果情報とする。
【0081】
送信手段23dは、取得手段23cによって取得された検索結果情報をキャッシュサーバ30へ送信する。
【0082】
[2.2.キャッシュサーバ30の構成]
図6にキャッシュサーバ30の構成を示す。図6に示すように、キャッシュサーバ30は、通信インタフェース(I/F)31と、キャッシュデータベース32と、制御部33とを備えている。
【0083】
通信I/F31は、キャッシュサーバ30をLAN経由でアプリケーションサーバ10やオリジナルサーバ20と接続できるようにするためのインタフェースであり、例えば、イーサネット(登録商標)・アダプタを含む。
【0084】
キャッシュデータベース32は、オリジナルサーバ20から取得した検索結果情報をキャッシュデータとして蓄積する記憶手段である。このキャッシュデータベース32は、例えば、リレーショナル型のデータベースであり、キャッシュデータの蓄積、読み出し、更新は、例えば、SQL(Structured Query Language)に従ったコマンドが用いられる。
【0085】
ここで、キャッシュデータベース32に登録されるキャッシュデータに関して図面を参照して具体的に説明する。図7は、キャッシュデータの一例を示す図であり、図8はキャッシュデータフォーマットを示す図である。
【0086】
図7に示すキャッシュデータは、素材17aに関する素材情報のデータであり、アプリケーションサーバ10が素材17aに関する素材詳細ページ16を生成するために必要なデータである。このキャッシュデータには、素材ID、投稿数、投稿者(第1位)、投稿者(第2位)、投稿者(第3位)、・・・などの情報が含まれる。このデータは、上述したように、オリジナルサーバ20によって生成される情報であり、検索結果情報としてキャッシュサーバ30へ送信される情報である。
【0087】
また、図8に示すように、キャッシュデータベース32に登録されるキャッシュデータには、ヘッダが付加される。ヘッダには、検索種別、検索内容、更新フラグ、カウンタ値、更新期間、TTLなどの情報が含まれる。
【0088】
検索種別の情報は、上述したTOPページ11、一言閲覧ページ14、素材検索結果ページ15、素材詳細ページ16のいずれであるか示す情報である。また、検索内容の情報は、検索内容を示す情報である。例えば、検索種別が一言閲覧ページ14を示す場合には、検索内容の情報は、ユーザIDなどの情報であり、また、検索種別が素材詳細ページ16を示す場合には、検索内容の情報は、素材IDなどの情報である。
【0089】
更新期間の情報は、キャッシュデータの更新期間を規定する情報である。この更新期間の情報は、ここでは更新期限の日時情報が設定されるが、例えば、更新期間を規定できればよく、例えば、キャッシュデータを新たに追加した日時や更新した日時であってもよい。この場合、追加日時や更新日時から設定された期間が更新期限の日時となる。
【0090】
カウンタ値の情報は、更新期間が経過したキャッシュデータの送信要求があった場合に、更新済みのキャッシュデータを返信することができる端末装置40の台数xがデフォルト値として規定される。このカウンタ値によって、更新期間が経過した同一のキャッシュデータの送信要求が複数あった場合に、x個までの送信要求に対しては更新済みのキャッシュデータが送信され、x個を超える分の送信要求に対しては未更新のキャッシュデータが送信される。
【0091】
更新フラグは、例えば、値が0の場合に「オフ」の状態であり、値が1の場合に「オン」の状態であるが、その逆であってもよい。すなわち、更新フラグは、「オフ」の状態と「オン」の状態とを識別することができれば、どのようなデータであってもよい。この更新フラグは、例えば、カウンタ値が1以上の値から0となった場合に「オフ」から「オン」へ変更され、キャッシュデータが更新された場合に、「オン」から「オフ」へ変更される。
【0092】
TTLは、キャッシュデータの保存期間を規定する情報であり、保存期間が経過したキャッシュデータは、キャッシュデータベース32から削除される。
【0093】
キャッシュサーバ30は、このようにキャッシュデータベース32にヘッダが付加されて蓄積されたキャッシュデータを、アプリケーションサーバ10から検索種別と検索内容とを指定した検索要求信号に基づいてキャッシュデータベース32を検索する。そして、キャッシュサーバ30は、検索したキャッシュデータをアプリケーションサーバ10へ送信する。
【0094】
図6に戻ってキャッシュサーバ30の構成についての説明を続ける。制御部33は、キャッシュデータベース32の全体制御を行う制御部である。制御部33は、受信手段33aと、受付手段33bと、判定手段33cと、取得手段33dと、更新手段33eと、削除手段33fと、送信手段33gとをさらに備えている。
【0095】
なお、図6には、制御部33の機能的な構成を示しているが、この制御部33は、物理的にはCPU(Central Processing Unit)フラッシュメモリ(flash memory)とRAM(Random Access Memory)とを有する情報処理装置を備えている。そして、CPUがフラッシュメモリからプログラムを読出し、RAMを作業領域として使用して実行することにより、上述した各手段33a〜33g等として機能する。
【0096】
受信手段33aは、例えば、通信I/F31を介してアプリケーションサーバ10から送信される情報要求信号やオリジナルサーバ20から送信される検索結果情報を受信する。情報要求信号は、アプリケーションサーバ10からキャッシュサーバ30に対して情報の送信要求を行うための信号であり、例えば、検索種別や検索内容の情報が含まれる。
【0097】
受付手段33bは、受信手段33aによって受信した情報要求信号を受け付け、この情報要求信号に対応するキャッシュデータがキャッシュデータベース32に蓄積されているか否かを判定する。具体的には、受付手段33bは、情報要求信号に含まれる検索種別および検索内容の情報と一致するヘッダを有するキャッシュデータがキャッシュデータベース32に蓄積されているか否かを判定する。
【0098】
受付手段33bは、情報要求信号に含まれる検索種別および検索内容の情報と一致するヘッダを有するキャッシュデータがキャッシュデータベース32に蓄積されていない場合、検索要求信号を送信手段33gから出力させる。この検索要求信号には、情報要求信号に含まれる検索種別および検索内容と同じ情報が含まれる。
【0099】
一方、受付手段33bは、情報要求信号に含まれる検索種別および検索内容の情報と一致するヘッダを有するキャッシュデータ(以下、要求対象キャッシュデータと記載する)がキャッシュデータベース32に蓄積されている場合、この要求対象キャッシュデータをキャッシュデータベース32から読み出す。
【0100】
そして、受付手段33bは、キャッシュデータベース32から読み出した要求対象キャッシュデータの更新期間が経過しているか否かを判定する。具体的には、受付手段33bは、要求対象キャッシュデータに付加されたヘッダに含まれる更新期間の情報を参照して、更新期間が経過したか否かを判定する。ここでは更新期間の情報は更新期限の日時の情報であり、受付手段33bは、更新期限の日時を経過しているか否かを判定する。
【0101】
要求対象キャッシュデータの更新期間が経過していない場合、受付手段33bは、キャッシュデータベース32から読み出した要求対象キャッシュデータを送信手段33gによってアプリケーションサーバ10へ送信させる。一方、要求対象キャッシュデータの更新期間が経過している場合、受付手段33bは、要求対象キャッシュデータに関連づけられた更新フラグの状態を判定手段33cに判定させる。
【0102】
受付手段33bは、判定手段33cによって要求対象キャッシュデータに関連づけられた更新フラグの状態が「オン」であると判定された場合、キャッシュデータベース32から読み出した要求対象キャッシュデータを送信手段33gによってアプリケーションサーバ10へ送信させる。
【0103】
一方、受付手段33bは、判定手段33cによって要求対象キャッシュデータに関連づけられた更新フラグの状態が「オフ」であると判定された場合、キャッシュデータベース32を制御し、要求対象キャッシュデータに関連づけられたカウンタ値を1だけデクリメントする。
【0104】
判定手段33cは、要求対象キャッシュデータに関連づけられた更新フラグの状態を判定する。具体的には、判定手段33cは、要求対象キャッシュデータに付加されたヘッダに含まれる更新フラグが「オン」であるか「オフ」であるかを判定する。そして、判定した更新フラグの状態を受付手段33bおよび取得手段33dへ通知する。
【0105】
取得手段33dは、判定手段33cによって更新フラグが「オフ」であると判定され、かつカウンタ値が0である場合に、更新フラグを「オン」にし、要求対象キャッシュデータに対応する更新データを取得する。
【0106】
具体的には、取得手段33dは、キャッシュデータベース32を制御し、「オフ」であると判定された更新フラグを「オフ」から「オン」へ変更する。また、取得手段33dは、要求対象キャッシュデータに対応する更新データを要求する検索要求信号を送信手段33gから出力させ、受信手段33aを介して検索結果情報を更新データとして取得する。
【0107】
更新手段33eは、取得手段33dによって取得した更新データに基づいて要求対象キャッシュデータの更新を行う。この場合、更新手段33eは、更新する要求対象キャッシュデータに関連づけられた更新フラグを「オン」から「オフ」へ変更し、さらに、カウンタ値の情報をデフォルト値へ変更し、更新期間の情報を新たな更新期間の情報へ変更する。
【0108】
削除手段33fは、保持期間内にアプリケーションサーバ10から情報要求信号がない場合に、保持期間が経過したキャッシュデータをキャッシュデータベース32から削除する。
【0109】
送信手段33gは、情報要求信号に対応する要求対象キャッシュデータをアプリケーションサーバ10へ送信する。具体的には、送信手段33gは、要求対象キャッシュデータの更新期間が経過していない場合、キャッシュデータベース32に蓄積している要求対象キャッシュデータを送信する。また、送信手段33gは、要求対象キャッシュデータに関連する更新フラグが「オン」であると判定された場合、キャッシュデータベース32に蓄積している更新期間が経過した要求対象キャッシュデータをアプリケーションサーバ10へ送信する。
【0110】
一方で、送信手段33gは、要求対象キャッシュデータに関連する更新フラグが「オフ」であると判定された場合、更新データに基づいて更新されたキャッシュデータをアプリケーションサーバ10へ送信する。なお、送信手段33gは、受信手段33aによって受信した更新データを取得手段33d経由でそのままアプリケーションサーバ10へ送信するようにもできる。
【0111】
また、送信手段33gは、要求対象キャッシュデータを更新するための検索要求信号をオリジナルサーバ20へ送信する。
【0112】
以上のように構成されたキャッシュサーバ30の具体的動作について図9を用いて説明する。図9は、キャッシュサーバ30の制御部33が実行する処理手順の概要を示すフローチャートである。
【0113】
この処理は、繰り返し行われる処理であり、制御部33を構成するマイクロコンピュータ(CPU)がプログラムに基づき処理を行なって実行(実現)されるが、図6に示した機能ブロックとの関係を分かりやすくする為、便宜的に各機能ブロックが実行するという表現を用いて説明する。
【0114】
図9に示すように、キャッシュサーバ30において、受付手段33bは、アプリケーションサーバ10から情報要求信号を受信したか否かを判定する(ステップS10)。この処理において、情報要求信号を受信したと判定すると(ステップS10,Yes)、受付手段33bは、情報要求信号に対応するキャッシュデータ(要求対象キャッシュデータ)がキャッシュデータベース32に存在するか否かを判定する(ステップS11)。
【0115】
要求対象キャッシュデータが存在する場合(ステップS11,Yes)、受付手段33bは、要求対象キャッシュデータの更新期間が経過したか否かを判定する(ステップS12)。要求対象キャッシュデータの更新期間が経過していない場合(ステップS12,No)、送信手段33gは、キャッシュデータベース32から読み出された要求対象キャッシュデータを送信する(ステップS13)。
【0116】
一方、要求対象キャッシュデータの更新期間が経過している場合(ステップS12,Yes)、判定手段33cは、要求対象キャッシュデータに関連づけられた更新フラグが「オン」であるか否かを判定する(ステップS14)。要求対象キャッシュデータに関連づけられた更新フラグが「オフ」である場合(ステップS14,No)、受付手段33bは、要求対象キャッシュデータに関連づけられたカウンタ値を1だけデクリメントする(ステップS15)。
【0117】
つづいて、受付手段33bは、要求対象キャッシュデータに関連づけられたカウンタ値が0であるか否かを判定する(ステップS16)。カウンタ値が0であると判定すると(ステップS16,Yes)、受付手段33bは、要求対象キャッシュデータに関連づけられた更新フラグを「オン」にする(ステップS17)。
【0118】
ステップS17の処理が終了した場合、又は、ステップS16においてカウンタ値が0ではないと判定されると(ステップS16,No)、取得手段33dは、キャッシュデータを更新するための更新データを取得し、更新手段33eは取得手段33dによって取得された更新データに基づいてキャッシュデータを更新する(ステップS18)。
【0119】
また、更新手段33eは、更新した要求対象キャッシュデータに関連づけられた更新フラグを「オン」から「オフ」へ変更し、カウンタ値をデフォルト値へ変更し、さらに更新期間の情報を新たな更新期間の情報へ変更する(ステップS19)。つづいて、送信手段33gは、ステップS18において更新されたキャッシュデータをアプリケーションサーバ10へ送信する(ステップS20)。
【0120】
ステップS14において、要求対象キャッシュデータに関連づけられた更新フラグが「オン」であると判定した場合(ステップS14,Yes)、送信手段33gは、キャッシュデータベース32から読み出された未更新の要求対象キャッシュデータを送信する(ステップS21)。
【0121】
また、ステップS11において、要求対象キャッシュデータが存在しないと判定された場合(ステップS11,No)、制御部33は、キャッシュデータを作成して送信する(ステップS22)。
【0122】
具体的には、受付手段33bが、検索要求信号を送信手段33gによってオリジナルサーバ20へ送信させる。これにより、検索要求信号に対応する検索結果情報がオリジナルサーバ20からキャッシュサーバ30へ送信される。取得手段33dは、受信手段33aによって受信した検索結果情報をキャッシュデータとしてキャッシュデータベース32に蓄積すると共に、アプリケーションサーバ10へ送信する。
【0123】
なお、受付手段33bによって新たに作成されるキャッシュデータに付加されるヘッダは、デフォルトのヘッダである。すなわち、更新期間の情報は新規の更新期間の情報であり、カウンタ値の情報はデフォルト値であり、さらに状態が「オフ」の更新フラグが新たに作成されるキャッシュデータに付加される。
【0124】
また、ステップS10において、情報要求信号を受信していないと判定すると(ステップS10,No)、削除手段33fは、各キャッシュデータのTTLを参照して、保持期間が経過したキャッシュデータがあるか否かを判定する(ステップS24)。この処理において、保持期間が経過したキャッシュデータがあると判定すると(ステップS24,Yes)、削除手段33fは、保持期間が経過したキャッシュデータをキャッシュデータベース32から削除する(ステップS25)。
【0125】
ステップS13,S20〜S22,S25の処理が終了した場合、又はステップS24において保持期間が経過したキャッシュデータがないと判定した場合(ステップS24,No)、制御部33は処理を終了する。
【0126】
以上のように本実施形態に係るキャッシュサーバは、更新期間が経過したキャッシュデータに対する送信要求が外部装置からあった場合に更新フラグがオフであれば、更新データを取得してキャッシュデータを更新するまでの間、更新フラグをオフにする。一方、更新フラグがオンであれば、更新期間が経過した未更新のキャッシュデータを外部装置へ送信する。
【0127】
したがって、更新期間が経過した同一のキャッシュデータに対する送信要求が複数あった場合に、キャッシュデータに対応するオリジナルデータを保持又は生成するオリジナルサーバ20へのアクセス集中による処理負荷を軽減することができる。
【0128】
なお、上述においては、キャッシュサーバ30においてキャッシュデータを更新する場合、オリジナルサーバ20から受信した検索結果情報をキャッシュデータとしてキャッシュデータベース32に蓄積する例を説明したが、キャッシュデータの更新方法はこれに限られない。
【0129】
例えば、漸次情報が追加されて更新されるようなキャッシュデータの場合、追加される情報のみの検索を要求する検索要求信号をオリジナルサーバ20へ送信する。そして、この検索要求信号に対してオリジナルサーバ20から送信される検索結果情報をキャッシュデータに追加することでキャッシュデータを更新する。
【0130】
このように、関係する投稿情報をすべて取得するのではなく、追加された投稿情報のみを取得するための検索要求をオリジナルサーバ20へ行うことで、オリジナルサーバ20の検索負荷を低減することができる。例えば、アプリケーションサーバ10が図3の(D)の一言閲覧ページ14を生成するための投稿情報はユーザの投稿によって追加されるものであり、このような場合に有効である。
【0131】
また、上述においては、更新フラグや更新期間の情報などを含むヘッダをキャッシュデータに付加するようにしたが、上述したヘッダの情報がキャッシュデータに関連づけられてキャッシュデータベース32に蓄積されればよく、必ずしもキャッシュデータにヘッダの情報が付加されている必要はない。
【0132】
また、上述においては、カウンタ値のデフォルト値を固定の情報xとした例を示したが、制御部33は、外部装置からの設定要求などに応じて、カウンタ値のデフォルト値を変更することができ、また、制御部33は、キャッシュサーバ30の負荷に応じて変更することもできる。例えば、制御部33は、キャッシュサーバ30の負荷が低い場合には、カウンタ値のデフォルト値を大きくし、キャッシュサーバ30の負荷が高い場合には、カウンタ値のデフォルト値を小さくする。
【0133】
また、上述においては、更新フラグは、例えば、カウンタ値が1以上の値から0となった場合に「オフ」から「オン」へ変更され、キャッシュデータが更新された場合に、「オン」から「オフ」へ変更されるようにしたが、カウンタ値のデフォルト値が「1」でよいような場合、カウンタ値を設けなくてもよい。
【0134】
カウンタ値を設けない場合においては、制御部33は、更新期間が経過したキャッシュデータに対して送信要求が1つの端末装置40からあった場合に、「オフ」から「オン」へ変更し、キャッシュデータが更新された場合に、「オン」から「オフ」へ変更する。
【0135】
また、制御部33は、キャッシュデータの更新期間をキャッシュデータ毎に変更することができる。例えば、制御部33は、アプリケーションサーバ10からの送信要求の頻度などに応じて更新期間を変更することができる。
【0136】
また、制御部33は、キャッシュデータの更新期間をキャッシュサーバ30の負荷に応じて変更することもできる。例えば、制御部33は、キャッシュサーバ30の負荷が低い場合には、更新期間を短くし、キャッシュサーバ30の負荷が高い場合には、更新期間を長くする。
【0137】
また、制御部33は、オリジナルサーバ20に蓄積する情報の変動割合に応じて更新期間を変更することもできる。例えば、オリジナルサーバ20が情報の変動割合を検出し、この変動割合に応じた更新期間をキャッシュサーバ30へ通知する。そして、制御部33は、オリジナルサーバ20から通知された更新期間をキャッシュデータに設定する。なお、制御部33は、オリジナルサーバ20から情報の変動割合を通知させ、この変動割合に応じて更新期間を決定するようにしてもよい。
【0138】
また、制御部33は、更新期間を経過した未更新のキャッシュデータを送信する場合、その旨の情報をアプリケーションサーバ10へ通知するようにしてもよい。この場合、アプリケーションサーバ10は、端末装置40へ送信するウェブページに再取得を行わせるための情報を付加する。これにより、端末装置40から自動的に更新済みのキャッシュデータを受信できるようにする。このとき、制御部33は、次の更新期間経過時と重ならないようにアクセスさせることで、より効率よくキャッシュデータの送信を行うことができる。
【0139】
なお、上述においては、更新フラグがオフである場合にアプリケーションサーバ10からの送信要求があった場合、更新データに基づいて更新されたキャッシュデータ又は更新データをアプリケーションサーバ10へ送信するようにしたが、これに限定されない。例えば、更新フラグがオフである場合にアプリケーションサーバ10からの送信要求があった場合、制御部33は、更新データをオリジナルサーバへアクセスして更新データを取得しつつも、未更新のキャッシュデータをアプリケーションサーバ10へ送信するようにしてもよい。このようにすることで、アプリケーションサーバ10は迅速にキャッシュサーバを取得することができる一方で、キャッシュデータの更新も行うことができる。
【0140】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【0141】
S ブログサービスシステム
1,20 オリジナルサーバ
2,30 キャッシュサーバ
3(31〜3n),40(401〜40n) 端末装置
10 アプリケーションサーバ
31 キャッシュサーバの通信I/F
32 キャッシュデータベース(記憶手段)
33 キャッシュサーバの制御部
33a 更新手段
33b 受付手段
33c 判定手段
33d 取得手段
33e 交信手段
33f 削除手段
33g 送信手段

【特許請求の範囲】
【請求項1】
外部装置からの送信要求に応じてキャッシュデータを送信するキャッシュサーバにおいて、
更新期間が設定されるキャッシュデータと、更新フラグとを関連づけて記憶する記憶手段と、
前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定する判定手段と、
前記判定手段によって更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得する取得手段と、
前記取得手段によって取得した更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフにする更新手段と、
前記判定手段によって更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信する送信手段と
を備えたことを特徴とするキャッシュサーバ。
【請求項2】
前記送信手段は、
前記判定手段によって更新フラグがオフであると判定された場合に、前記更新データに基づいて更新されたキャッシュデータ又は前記更新データを前記外部装置へ送信することを特徴とする請求項1に記載のキャッシュサーバ。
【請求項3】
前記判定手段は、
前記更新フラグの状態の判定を、前記更新期間が経過したキャッシュデータに対する送信要求が所定台数の前記外部装置からあった場合に行うことを特徴とする請求項1又は2に記載のキャッシュサーバ。
【請求項4】
前記キャッシュデータには、
前記更新期間よりも長い保持期間が規定されており、
前記保持期間内に前記外部装置から送信要求がない場合に、前記キャッシュデータを前記記憶手段から削除する削除手段
を備えたことを特徴とする請求項1〜3のいずれか1項に記載のキャッシュサーバ。
【請求項5】
前記外部装置からの送信要求に対応するキャッシュデータが前記記憶手段にない場合に、オリジナルデータを取得し、当該オリジナルデータをキャッシュデータとして前記記憶手段に記憶する手段
を備えたことを特徴とする請求項4に記載のキャッシュサーバ。
【請求項6】
外部装置からの送信要求に応じて送信されるキャッシュデータの管理をコンピュータに実行させるキャッシュ管理プログラムにおいて、
更新期間が設定されるキャッシュデータと、更新フラグとを関連づけて記憶手段に記憶し、
前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定し、
前記更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得し、
前記更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフにし、
前記更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信することを特徴とするキャッシュ管理プログラム。
【請求項7】
コンピュータを制御し、外部装置からの送信要求に応じて送信されるキャッシュデータを前記コンピュータにより管理するキャッシュ管理方法において、
更新期間が設定されるキャッシュデータと、更新フラグとを関連づけて記憶手段に記憶する手順と、
前記更新期間が経過したキャッシュデータに対する送信要求が前記外部装置からあった場合、当該キャッシュデータに関連づけられた更新フラグの状態を判定する手順と、
前記更新フラグがオフであると判定された場合に、当該更新フラグをオンにして、前記更新期間が経過したキャッシュデータに対応する更新データを取得する手順と、
前記更新データに基づいて前記キャッシュデータの更新を行い、当該キャッシュデータに関連づけられた更新フラグをオフする手順と、
前記更新フラグがオンであると判定された場合、前記更新期間が経過したキャッシュデータを前記外部装置へ送信する手順と
を含むことを特徴とするキャッシュ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−146076(P2012−146076A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−3193(P2011−3193)
【出願日】平成23年1月11日(2011.1.11)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】