(57)【特許請求の範囲】
【請求項１】
キャッシュ有効期間を延長する期間延長手段と、
検索要求のキーワードを基にハッシュ値を取得するハッシュ取得手段と、
延長された前記キャッシュ有効期間に基づいて定まる所定数の該キャッシュ有効期間の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定手段と、
前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして記憶するキャッシュ記憶手段と、
前記キーワード及び前記基準時に適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記基準時は予め定められた単位時間ごとに設けられ、
前記決定手段は、前記キャッシュ有効期間を前記単位時間で除した商の数だけ存在するグループのうち、前記ハッシュ値を前記グループ数で除した剰余に応じた前記グループに属する前記キャッシュ有効期間の基準時を、前記キーワードに対応した前記基準時として決定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記基準時は予め定められた単位時間ごとに設けられ、
前記決定手段は、前記キャッシュ有効期間を前記単位時間で除して得られた商の数で前記ハッシュ値を除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、前記キーワードに対応した前記基準時として決定することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記基準時は予め定められた単位時間ごとに設けられ、
前記単位時間を分割する予め定められた分割数のうち、前記ハッシュ値を前記分割数で除した剰余に応じたいずれかの数を特定数として対応付ける対応付け手段と、
対応付けられた前記特定数と、前記単位時間を前記分割数でさらに分割した第２の単位時間と、を乗じて遅延時間を計算する遅延時間計算手段と、
前記キャッシュ提供手段は、前記キャッシュデータに対応付けられている前記基準時に対応する前記有効期間の終期から前記遅延時間が経過するまでは前記キャッシュデータを前記基準時が適合するものとして扱う
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記対応付け手段は、前記分割数のうち、前記ハッシュ取得手段により取得された前記ハッシュ値のうち、前記決定手段が前記有効期間の基準時の決定に用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付けることを特徴とする請求項４記載の情報処理装置。
【請求項６】
キャッシュ有効期間を延長する期間延長処理と、
検索要求のキーワードを基にハッシュ値を取得するハッシュ取得処理と、
延長された前記キャッシュ有効期間に基づいて定まる所定数の該キャッシュ有効期間の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定処理と、
前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして、予め定められたキャッシュ記憶手段に記憶させる処理と、
前記キーワード及び前記基準時に適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供処理と、
をコンピュータ実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット検索のキャッシュ機構に関する。
【背景技術】
【０００２】
キャッシュは、データの要求側（フロントエンド）と提供側（バックエンド）の間を仲介し、要求に応じて提供側から要求側へ渡したデータのコピーをキャッシュデータとして保持し、次に同じデータ要求があればキャッシュデータを返す機構である。
【０００３】
インターネット検索にキャッシュを適用することで、フロントエンド側は検索結果を迅速に取得でき、バックエンド側は検索処理負荷が軽減できる。キャッシュの分野において、検索クエリに応じてキャッシュサーバを動的に選択決定することで負荷分散を図る提案は存在する（例えば、特許文献１参照）。
【０００４】
インターネット検索のうち、ミニブログ等の投稿情報（所謂「つぶやき」「ツイート」）を対象とするリアルタイム検索では、指定されたキーワードに対応する最新の投稿情報が日時順の検索結果として返される。具体的構成の一例として、フロントエンドサーバが、ユーザ端末から指定されたキーワードと、タイムスタンプと呼ばれる日時の情報と、をＵＲＬなどの形で組み合わせた検索要求（「クエリ」と呼ぶ）をキャッシュサーバへ送信する。
【０００５】
キャッシュサーバは、クエリすなわちキーワードとタイムスタンプが一致する検索結果のキャッシュが存在すればそれをフロントエンドサーバへ提供し、存在しなければクエリをバックエンド側の検索サーバへ渡し、その検索結果をキャッシュすると共にフロントエンドサーバへ返す。
【０００６】
リアルタイム検索では情報の新しさが求められるため、現在時刻（又はそこから派生する時刻）をタイムスタンプとして利用することが多い。一例として、現在時刻の１分前や１時間前から現在まで、というように、現在時刻より所定時間以内の投稿情報をキャッシュサーバから取得してくる。他方、バックエンド側での認識単位が１秒でかつそれに合わせてフロントエンド側で現在時刻やその１分前の時刻を秒単位で丸めてタイムスタンプを生成する場合には、キャッシュ有効期間は実質的に１秒となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１９５５３３号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
キャッシュについては、その有効期間が短ければ短いほどヒット率が低下し、有効期間が１秒では実用的ではない。
【０００９】
また、数秒おきなどキャッシュ有効期間を長くしても、依然として、その切り替わる瞬間にバックエンドで検索処理が集中してしまうという問題は解決されない。
【００１０】
上記の課題に対し、本発明の目的は、情報の新しさが求められるミニブログ等の投稿情報の検索において、負荷の時間的集中を回避しながらキャッシュのヒット率を改善することである。
【課題を解決するための手段】
【００１１】
上記の目的をふまえ、本発明の一態様（１）である情報処理装置は、キャッシュ有効期間を延長する期間延長手段と、検索要求のキーワードを基にハッシュ値を取得するハッシュ取得手段と、延長された前記キャッシュ有効期間の複数の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定手段と、前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして記憶するキャッシュ記憶手段と、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている前記基準時が前記検索要求の現在時刻と適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供手段と、を備えたことを特徴とする。
【００１２】
本発明の他の態様（６）である情報処理方法は、上記態様を方法のカテゴリで捉えたもので、キャッシュ有効期間を延長する期間延長処理と、検索要求のキーワードを基にハッシュ値を取得するハッシュ取得処理と、延長された前記キャッシュ有効期間の複数の基準時から、取得された前記ハッシュ値に基づいて前記キーワードに対応した前記基準時を決定する決定処理と、前記キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された前記基準時と、に対応付けてキャッシュデータとして、予め定められたキャッシュ記憶手段に記憶させる処理と、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている前記基準時が前記検索要求の現在時刻と適合する前記キャッシュデータを前記キャッシュ記憶手段から検索して提供するキャッシュ提供処理と、をコンピュータ実行することを特徴とする。
【００１３】
本発明の他の態様（２）は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記決定手段（「手段」は方法にあっては「処理」又は「ステップ」と読み替える。以下同じ）は、前記キャッシュ有効期間を前記単位時間で除した商の数だけ存在するグループのうち、前記ハッシュ値を前記グループ数で除した剰余に応じた前記グループに属する前記キャッシュ有効期間の基準時を、前記キーワードに対応した前記基準時として決定することを特徴とする。
【００１４】
本発明の他の態様（３）は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記決定手段は、前記キャッシュ有効期間を前記単位時間で除して得られた商の数で前記ハッシュ値を除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、前記キーワードに対応した前記基準時として決定することを特徴とする。
【００１５】
本発明の他の態様（４）は、上記いずれかの態様において、前記基準時は予め定められた単位時間ごとに設けられ、前記単位時間を分割する予め定められた分割数のうち、前記ハッシュ値を前記分割数で除した剰余に応じたいずれかの数を特定数として対応付ける対応付け手段と、対応付けられた前記特定数と、前記単位時間を前記分割数でさらに分割した第２の単位時間と、を乗じて遅延時間を計算する遅延時間計算手段と、前記キャッシュ提供手段は、前記キャッシュデータに対応付けられている前記基準時に対応する前記有効期間の終期から前記遅延時間が経過するまでは前記キャッシュデータを前記基準時が適合するものとして扱うことを特徴とする。
【００１６】
本発明の他の態様（５）は、上記いずれかの態様において、前記対応付け手段は、前記分割数のうち、前記ハッシュ取得手段により取得された前記ハッシュ値のうち、前記決定手段が前記有効期間の基準時の決定に用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付けることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、情報の新しさが求められるミニブログ等の投稿情報の検索において、負荷の時間的集中を回避しながらキャッシュのヒット率を改善することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態について構成を示す機能ブロック図。
【図２】本発明の実施形態におけるデータ例を示す図。
【図３】本発明の実施形態における処理手順を示すフローチャート。
【図４】本発明の実施形態におけるタイムスタンプを示す概念図。
【図５】本発明の第２実施形態におけるキャッシュの期限の概念図。
【図６】本発明の第２実施形態におけるデータ例を示す図。
【図７】本発明の第２実施形態における処理手順を示すフローチャート。
【図８】本発明の第２実施形態における処理手順を示すフローチャート（キャッシュの解放）。
【発明を実施するための形態】
【００１９】
次に、本発明を実施するための形態（「実施形態」と呼ぶ）について図に沿って例示する。なお、背景技術や課題などで既に述べた内容と共通の前提事項は適宜省略する。
【００２０】
〔１．構成〕
本実施形態は、図１の構成図に示す情報処理装置１（「本装置１」とも呼ぶ）に関するもので、本装置１は、ユーザ端末Ｔ１（以下「端末Ｔ１」や「端末」とも呼ぶこととする）にリアルタイム検索を提供するサーバ装置である。
【００２１】
本装置１は、フロントエンド部ＦＥと、ミニブログやＳＮＳ（ソーシャル・ネットワーキング・サービス）等の投稿内容を検索するバックエンド部ＢＥと、フロントエンド部ＦＥとバックエンド部ＶＥとの間でキャッシュの役割を果たすキャッシュ部ＣＳと、を備える。
【００２２】
端末Ｔ１と本装置１は、図示しない通信ネットワークで接続される。また、フロントエンド部ＦＥと、キャッシュ部ＣＳと、バックエンド部ＢＥは、単一の物理的なサーバ装置内でプロセスなどの機能モジュールとして実現してもよいし、それぞれに対応するサーバ装置をＬＡＮなどで接続して実現してもよい。
【００２３】
バックエンド部ＢＥは、ＳＮＳサーバＸが投稿を受け付ける投稿内容について、索引データ（所謂インデックスデータ）に基づいてリアルタイム検索を提供する手段であり、索引データを記憶する索引データ記憶手段６０と、キーワードに基づき索引データを検索する検索手段７０と、を備える。フロントエンド部ＦＥは、このリアルタイム検索を端末Ｔ１に対しＷｅｂアクセスやＡＰＩなどの形で提供する手段である。
【００２４】
本装置１は、コンピュータの構成として少なくとも、ＣＰＵなどの演算制御部６と、主メモリや補助記憶装置等の記憶部７と、図示しない通信ネットワーク（例えば、インターネット、携帯電話、ＰＨＳ、公衆無線ＬＡＮなどの移動通信網など）との通信部８（例えば、無線や有線の各種通信アダプタ、その他の通信回路、通信機器など）と、を有する。
【００２５】
本装置１では、記憶部７に記憶したコンピュータ・プログラム（情報処理プログラム）を演算制御部６が実行することで、図１に示す各部（ＦＥ、ＣＳ、ＢＥ）や各手段（２０、３０ほか）などの要素を実現する。実現される要素のうち情報の記憶手段の態様は自由で、記憶部７上のファイルなど任意のデータ形式で実現できるほか、ネットワーク・コンピューティング（クラウド）によるリモート記憶などでもよい。
【００２６】
また、記憶手段は、データの格納領域だけでなく、データの入出力や管理などの機能を含んでもよい。また、本出願に示す記憶手段の単位は説明上の便宜によるもので、適宜、構成を分けたり一体化できるほか、明示する記憶手段以外にも、各手段の処理データや処理結果などを記憶する記憶手段を適宜用いるものとする。
【００２７】
なお、図中（例えば図１）の矢印は、データや制御などの流れについて主要な方向を補助的に示すもので、他の流れを否定するものでも、方向の限定を意味するものでもない。例えばある方向のデータ取得の前後に、データ要求や確認応答（ＡＣＫ）が逆方向に発生し得る。
【００２８】
また、記憶手段以外の各手段は、以下に説明するような情報処理の機能・作用（例えば図１）を実現・実行する処理手段であるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。
【００２９】
〔２．作用の概要〕
上記のように構成された本装置１における処理手順を図３のフローチャートに示す。このうち、作用の主要な概要に関する部分を抜き出して、まず説明する。すなわち、端末Ｔ１から検索要求で指定されたキーワードを検索要求受信手段１０が受信すると（ステップＳ１：「ＹＥＳ」）、ハッシュ取得手段２０が、検索要求のキーワードを基にハッシュ値を取得する（ステップＳ２）。ハッシュ値の種類は、例えばＭＤ５などを用いるが、他の種類でもよい。
【００３０】
そして、決定手段３０が、キャッシュ有効期間の複数の基準時から、取得されたハッシュ値に基づいてキーワードに対応した基準時を決定する（ステップＳ３、Ｓ４）。基準時は、典型的には始期となるタイムスタンプ（日時を表す情報）だが、終期などでもよい。ハッシュ値は、ここではハッシュ値の一部（例えばＭＤ５の上位１桁）を用いるものとする。
【００３１】
具体的には、キャッシュ有効期間は２のべき乗秒（例えば４秒）とし、基準時は予め定められた単位時間（例えば１秒）ごとにずらして設ける。この場合、基準時は、グループ間で１秒ずつずれ、かつ、グループ毎に４秒間隔で設定された終期となる。
【００３２】
そして、決定手段３０は、キャッシュ有効期間（４秒）を単位時間（１秒）で除した商の数（例えば４）だけ存在するグループ（図４のグループ０からグループ３）のうち、ハッシュ値をグループ数（４）で除した（ステップＳ３）剰余ａ（０から３のいずれか）に応じたグループに属するキャッシュ有効期間の基準時を、キーワードに対応した基準時を表すタイムスタンプ（「ＴＳ」とも表すこととする）として決定する。剰余に応じた基準時は、現在時刻ｔと剰余ａに応じたタイムスタンプＴＳとして次のように決定する（ステップＳ４）。すなわち、ＴＳは、現在時刻ｔをもとに、グループ毎に１秒ずつずれたタイミングで４秒刻みで更新し、更新した時刻を４秒ずつ維持して得る。更新タイミングは予め任意に定めるが、図４の例では剰余０のグループ０で「・・分１６秒」「・・分２０秒」）とし、他のグループはグループ０より剰余ａの秒数だけ早く更新する。
【００３３】
すなわち、グループ毎のキャッシュ有効期間の基準時は、原則として４秒毎（ステップＳ７。後述）に更新（ステップＳ８）されるタイムスタンプをキャッシュに対応付けて表すものとする。そして、キーワードにはフロントエンド部ＦＥでこのようなタイムスタンプを付し、ＵＲＬなどの形で表したクエリとしてキャッシュ部ＣＳへ提供し、キャッシュの検索に供する（ステップＳ９）。
【００３４】
タイムスタンプＴＳは４秒の間は同じ時刻のものを用い、４秒に一度、それまでのタイムスタンプからみて４秒先の時刻のものに更新する（ステップＳ８）。遅延時間（ステップＳ５からＳ７）については後述する。４秒間ずつ同じ時刻のタイムスタンプＴＳを用いる一例として、図４の場合、剰余０に対応するグループ０のキーワード（例えば「Ａ製品」）のタイムスタンプは、現在時刻ｔが「・・分１７秒」であっても「・・分１８秒」であっても、「・・分１６秒」となる。
【００３５】
キャッシュ提供手段５０は、ＵＲＬが表すキーワードとタイムスタンプが一致するキャッシュをヒットしたものとして提供する（ステップＳ９からＳ１４）。すなわち、キャッシュ提供手段５０は、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、対応付けられている基準時が検索要求の現在時刻と適合するキャッシュデータをキャッシュ記憶手段４０から検索して提供する（ステップＳ９からＳ１１及びＳ１４）。
【００３６】
図４の例では、キーワードのタイムスタンプと、キャッシュのタイムスタンプが一致することをもって基準時と現在時刻の適合とすることができるが、基準時をキャッシュ有効期間の始期や終期として、キャッシュのヒットの判定の際に日時の判断や計算をすることもできる。この場合、基準時と現在時刻の適合を判断する際、基準時は、基準時に基づく幅のあるキャッシュ有効期間として把握し、そのキャッシュ有効期間が検索要求の現在時刻を含む場合に、適合すると判断することができる。
【００３７】
キャッシュがヒットしなかった場合は（ステップＳ１０：「ＮＯ」）、バックエンド部ＢＥの検索手段７０が、ＳＮＳサーバＸに照会のアクセスを行い又は索引データ記憶手段６０に記憶されている索引データに基づき、実際にキーワードに基づくリアルタイム検索を行い（ステップＳ１２）、その検索結果をフロントエンド部ＦＥへ送信する（ステップＳ１４）。
【００３８】
この場合、検索手段７０は、キーワードによる検索結果を、そのキーワードと、そのキーワードを基に決定された基準時と、に対応付けてキャッシュデータとしてキャッシュ記憶手段４０に記憶させる（ステップＳ１３）。このように記憶された情報を図２に例示する。このように記憶されるキャッシュデータの活用として、キャッシュ提供手段５０は、既述のように、フロントエンド部ＦＥから渡されたキーワードとタイムスタンプでキャッシュを検索する（ステップＳ９）。
【００３９】
〔３．遅延時間の設定〕
上記のように、キャッシュ有効期間の基準時として、ハッシュの剰余に基づくグループ別に切り替わりのタイミングを１秒ずつずらしたタイムスタンプを４秒に一度（ステップＳ７：「ＹＥＳ」）、更新して切り替え（ステップＳ８）、キーワードとタイムスタンプが一致すればキャッシュがヒットしたものと扱うことで（ステップＳ１０及びＳ１１）、有効期間４秒のキャッシュが実現できる。
【００４０】
しかし、それまでのタイムスタンプを、４秒先の時刻を表す新しいタイムスタンプに切り替えるタイミングが１秒に１度、集中することを防ぐため、切替のタイミングをさらに細かく分散させることが望ましい。
【００４１】
そこで本実施形態では、基準時は予め定められた単位時間（例えば１秒）ごとに設けるが、この単位時間をさらに所定の分割数で分割するものとする。例えば分割数が１０なら０．１秒毎に分割する。そして、フロントエンド部ＦＥの決定手段３０において、対応付け手段３１が、ハッシュ値を分割数で除した剰余ｂを算出し（ステップＳ５）、算出した剰余ｂに応じた遅延時間ｔｄを計算する（ステップＳ６）。
【００４２】
具体的には、単位時間を分割するする分割数（例えば１０）のうち、剰余ｂに応じたいずれかの数を特定数としてキャッシュデータに対応付ける。剰余ｂに応じたいずれかの数は、剰余ｂ自体でもよい。例えば、ハッシュ値を分割数である１０で除した剰余ｂ（０〜９のいずれか）を特定数（例えば剰余ｂが７なら７）として対応付ける。
【００４３】
ここで、剰余ｂの基となるハッシュ値は（ステップＳ５）、剰余ａの算出（ステップＳ３）で用いたハッシュ値と同じでもよいし改めて別のハッシュ値を取得してもよい。
【００４４】
例えば、対応付け手段３１は、分割数の中から、ハッシュ取得手段２０により取得されたハッシュ値（ステップＳ２）のうち、決定手段３０が有効期間の基準時の決定のため剰余ａを算出（ステップＳ３）するのに用いた部分と少なくとも一部が異なる部分に応じたいずれかの数を特定数として対応付ける。
【００４５】
ハッシュ値のうち「少なくとも一部が異なる部分」として、例えば、既に述べたＭＤ５の上位２桁を用いるものとするが、別の例として、剰余ａにハッシュ値の一部を用いていた場合、ここでハッシュ値（例えばＭＤ５）の全部を用いることもできる。
【００４６】
また、遅延時間計算手段３２は、上記のように対応付けられた特定数（例えば７）と、単位時間を分割数でさらに分割した第２の単位時間（例えば０．１秒）と、を乗じて遅延時間ｔｄ（０．７秒等）を計算する（ステップＳ６）。そして、キャッシュ提供手段５０は、キャッシュデータに対応付けられている基準時に対応する有効期間の終期から遅延時間が経過するまではキャッシュデータを基準時が適合するものとして扱う。
【００４７】
「基準時に対応する有効期間の終期」とは、基準時として、有効期間の終期を用いる場合は、基準時そのものとなる。図４の例において、グループ０のキーワード「Ａ製品」では、基準時「・・分１６秒」に対応するキャッシュ有効期間の終期は、その同じタイムスタンプが用いられる間（現在時刻ｔでは「・・分１９秒」まで）であり、ステップＳ７にいう「ＴＳ」の本来の切替時は、「・・分２０秒」の時点である。
【００４８】
しかし、本実施形態では、この本来の切替時から遅延時間ｔｄ（例えば０．７秒）が経過するまではキャッシュデータを基準時が適合するものとして扱う（ステップＳ７）。
【００４９】
このように、本実施形態の例では、個々のグループについてみれば４秒毎に到来するタイムスタンプの切替時を、キャッシュデータに対応する遅延時間ｔｄ以上超過したときとすることにより（ステップＳ７）、キャッシュ有効期間が終了して新たな検索要求に対して実際の検索が必要になるタイミングが、同じグループの中でもさらに分散できる。
【００５０】
また、本実施形態では、フロントエンド部ＦＥ側でタイムスタンプを切り替えることで、キャッシュ部ＣＳのキャッシュ記憶手段４０に記憶されている切替以前のタイムスタンプを持つキャッシュを実質的に失効させる。失効したキャッシュが占める記憶容量についてリアルタイムな解放処理を行うか否かは状況に応じて定めることができる。例えば、キャッシュ記憶手段４０の容量が限界に近付いたときなど所定の条件で、古い順に管理情報を消去するなどして解放するのでもよい。
【００５１】
〔４．効果〕
以上のように本実施形態では、情報の新しさが求められるミニブログ等の投稿情報の検索において、キャッシュ有効期間の基準時を、キーワードのハッシュ値に基づきグループごとにずらして決定する（例えば、図３のステップＳ３、図４）。これにより、キャッシュ有効期間を長くしてもキャッシュ更新のタイミングが分散し検索処理負荷が時間的に集中することがない。このため、負荷の時間的集中を回避しながらキャッシュのヒット率を改善できる。また、複数のフロントエンドサーバのキャッシュ制御処理の協調動作について、サーバ間で通信することなく行うことができ、大規模なシステムにおいて効果的である。
【００５２】
特に、本実施形態では、所定の単位時間ごとに設けられたキャッシュ有効期間の基準時から、キャッシュ有効期間を単位時間で除した数だけ存在するグループのうち、ハッシュ値を当該グループ数で除した剰余に応じたグループに属するキャッシュ有効期間をキーワードに対応した基準時として決定し、キャッシュの終期を表すタイムスタンプなどに用いる（ステップＳ４）。
【００５３】
これにより、１６進表現のハッシュ値との親和性を維持しながらキャッシュ有効期間の分散を容易に実現できる。しかも、同じキーワードならキャッシュ有効期間の基準時が４秒など等間隔に固定されるので有効期間の管理が単純化できる。
【００５４】
さらに、本実施形態では、キャッシュ有効期間の基準時の分散間隔となる単位時間をさらに細かく分割した第２の単位時間を単位とした遅延時間をハッシュ値に基づき分散させてキャッシュごとに設定し（ステップＳ６）、キャッシュ有効期間からさらに遅延時間が経過するまではそのキャッシュを有効扱いする（ステップＳ７）。これにより、検索による更新などの負荷をキャッシュ有効期間の分散の中でさらにまんべんなく分散させることができる。
【００５５】
加えて、本実施形態では、一つのハッシュ値のうち少なくとも一部が異なる部分（例えば、全部と一部分や、上位１桁と２桁など）をそれぞれ、基準時の決定（ステップＳ３及びＳ４）と、遅延時間に用いる特定数の対応付け（ステップＳ５及びＳ６）と、に用いることにより、ハッシュ値の計算が１回で済むので処理負荷が軽減できる。
【００５６】
〔５．第２実施形態〕
上記実施形態（第１実施形態とする）では、フロントエンド部ＦＥ側でタイムスタンプを切り替えることで、キャッシュ部ＣＳにある切替以前のタイムスタンプを持つキャッシュを実質的に失効させ、失効したキャッシュは容量逼迫時などに適宜削除したが、それ以外の構成も可能である（例えば、第２実施形態）。
【００５７】
第２実施形態は、フロントエンド部ＦＥ側でのタイムスタンプの切り替えを４秒間隔にすることによってではなく、フロントエンド部ＦＥからキャッシュ部ＣＳへ送る時刻に関する情報（すなわち現在時刻及び期限Ｅ）は１秒毎に更新しつつ、キャッシュ部ＣＳにおけるキャッシュのヒットの判定の際にキャッシュ有効期間が最短４秒となるよう処理を行う例である。
【００５８】
第２実施形態でも、基準時は予め定められた単位時間ごとに設けるが、決定手段は、ハッシュ値を２のべき乗で除した剰余に応じた秒数を現在時刻又はその整数部に加え又は減じて、キーワードに対応した基準時として決定する。
【００５９】
例えば、図５（概念図）に示す例では、「・分１０秒」という同じ時刻に検索要求でキャッシュが取得されても、キーワードのハッシュ値に基づく剰余に応じた秒数を現在時刻の整数部に加えることで、キーワードに対応した基準時として決定するとともに、その基準時に応じたキャッシュ有効期間の終期（期限）とするものである。
【００６０】
これにより、４秒を最短として、グループ間でキャッシュ有効期間が異なることになり、実際には検索要求を受信するタイミングによってもキャッシュ有効期間の終期はさらに分散することになる。
【００６１】
第２実施形態における処理手順を図７のフローチャートに示す。なお、本出願のフローチャートにおける各ステップ番号は専ら識別のためであり、処理の前後関係を意味しない。この処理手順は、キーワードのハッシュ値に基づいて、剰余ａを算出する点（ステップＳ１からＳ３）と、剰余ｂ及び遅延時間ｔｄを算出する点（ステップＳ５からＳ６）については第１実施形態に準じる。
【００６２】
しかし、第２実施形態では、キーワード及び現在時刻とともに、キャッシュがヒットしなかった場合のために、剰余ａに応じて決定した期限Ｅと遅延時間ｔｄもキャッシュ部ＣＳへ送信する（ステップＳ２８）。
【００６３】
第２実施形態におけるキャッシュ提供手段は、対応付けられているキーワードが検索要求のキーワードと一致し、かつ、基準時として対応付けられている期限が検索要求の現在時刻と適合するキャッシュデータをキャッシュ記憶手段４０から検索して（ステップＳ２９、Ｓ３０：「ＹＥＳ」、Ｓ３１）提供する。ここで、「期限が検索要求の現在時刻と適合」するとは、現在時刻が期限を超過していないことを意味し、その判断のための時間計算をキャッシュ部ＣＳで行う。
【００６４】
キャッシュがヒットせず（ステップＳ３０：「ＮＯ」）、バックエンド部ＢＥでの検索となった場合（ステップＳ３２）、その検索結果をキャッシュとして期限Ｅ及び遅延時間ｔｄと対応付けてキャッシュ記憶手段４０に記憶させる（ステップＳ３３。例えば図６）。
【００６５】
また、所定のタイミングで図８の処理手順を実行することにより、期限を超過したキャッシュとその記憶領域を解放することでスループットを維持する。図８の処理手順では、現在時刻ｔが（ステップＳ４１）、いずれかのキャッシュの期限を遅延時間ｔｄ以上超過していれば（ステップＳ４２：「ＹＥＳ」）そのキャッシュを解放する（ステップＳ４３）。
【００６６】
上記のように、第２実施形態では、ハッシュ値を２のべき乗で割った余りを現在時刻又はその整数部からずらしてキャッシュ有効期間の基準時として決定しタイムスタンプなどに用いる（例えば図５）。これにより、１６進表現のハッシュ値との親和性を維持しながら、キャッシュ有効期間の分散を容易に実現できる。
【００６７】
しかも、同じキーワードでもキャッシュ有効期間が切れた状態で検索要求が到来するタイミングによってもキャッシュ有効期間の基準時が一層分散するので負荷集中がさらに確実に回避できる。
【００６８】
〔６．他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、各態様は、明記しない他のカテゴリ（方法、プログラム、端末を含むシステムなど）としても把握することができる。
【００６９】
方法やプログラムのカテゴリについては、装置のカテゴリで示した「手段」を、「処理」や「ステップ」のように適宜読み替えるものとする。また、処理やステップの順序は、本出願に直接明記のものに限定されず、順序を変更したり、一部の処理をまとめてもしくは随時一部分ずつ実行するなど、変更可能である。
【００７０】
また、個々の手段、処理やステップを実現、実行する端末などのコンピュータは共通でもよいし、手段、処理やステップごとにもしくはタイミングごとに異なってもよい。また、上記「手段」の全部又は任意の一部を「部」（ユニット、セクション、モジュール等）と読み替えることができる。
【００７１】
また、本出願における構成図、データの図、フローチャートなども例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。
【００７２】
また、本装置１を構成する個々の手段を実現する態様は自由で、外部のサーバが提供している機能をＡＰＩ（アプリケーション・プログラム・インタフェース）やネットワーク・コンピューティング（いわゆるクラウドなど）で呼び出して実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。
【符号の説明】
【００７３】
１  情報処理装置
６  演算制御部
７  記憶部
８  通信部
１０  検索要求受信手段
２０  ハッシュ取得手段
３０  決定手段
３１  対応付け手段
３２  遅延時間計算手段
４０  キャッシュ記憶手段
５０  キャッシュ提供手段
ＢＥ  バックエンド部
ＣＳ  キャッシュ部
ＦＥ  フロントエンド部
Ｘ  ＳＮＳサーバ
Ｔ１  ユーザ端末
【図１】
0005530474.tif 000002
【図２】
0005530474.tif 000003
【図３】
0005530474.tif 000004
【図４】
0005530474.tif 000005
【図５】
0005530474.tif 000006
【図６】
0005530474.tif 000007
【図７】
0005530474.tif 000008
【図８】
0005530474.tif 000009