JP2009193440A - キャッシュシステム、サーバおよび端末 - Google Patents

キャッシュシステム、サーバおよび端末 Download PDF

Info

Publication number
JP2009193440A
JP2009193440A JP2008034577A JP2008034577A JP2009193440A JP 2009193440 A JP2009193440 A JP 2009193440A JP 2008034577 A JP2008034577 A JP 2008034577A JP 2008034577 A JP2008034577 A JP 2008034577A JP 2009193440 A JP2009193440 A JP 2009193440A
Authority
JP
Japan
Prior art keywords
cache
storage device
information
cache storage
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008034577A
Other languages
English (en)
Other versions
JP5163171B2 (ja
Inventor
Yukio Negishi
幸生 根岸
Toru Katayama
透 片山
Yasuji Kono
靖二 甲能
Kenji Soga
健二 曽我
Daisuke Shimada
大輔 嶋田
Noriko Sakai
乃里子 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008034577A priority Critical patent/JP5163171B2/ja
Publication of JP2009193440A publication Critical patent/JP2009193440A/ja
Application granted granted Critical
Publication of JP5163171B2 publication Critical patent/JP5163171B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュデータの重複をなくし、性能を安定させるシステムを提供する。
【解決手段】情報を格納するデータ記憶装置、利用者の情報へのアクセス履歴や利用者の情報を用いてデータ記憶装置内の情報から利用者にとって必要となるものを予測する複数のキャッシュ予測装置、キャッシュ予測装置により予測された情報を記憶する一つ、または複数の予測キャッシュ記憶装置、利用者から要求があった情報をキャッシュするためのキャッシュ記憶装置、利用者からの検索要求を受けキャッシュ記憶装置、予測キャッシュ記憶装置、データ記憶装置を適切に検索し、その検索結果を利用者へ戻すキャッシュ管理装置、キャッシュ管理装置の指示により予測キャッシュ記憶装置からキャッシュ記憶装置へ情報を移動させるデータ移動装置を備える。
【選択図】図2

Description

本発明はキャッシュ用データ管理構造にキャッシュすることで、以後のアクセス時に高速にアクセスできるキャッシュ方法、そのシステムおよびそのプログラムに関する。
従来のキャッシュシステムの方式を述べる。従来のキャッシュシステムはデータを記憶するデータベースやディスクなどのデータ記憶装置と、データ記憶装置から読みだしたデータをキャッシュするためのキャッシュ記憶装置、読みだしたデータがすでにキャッシュされているか、また、データの要求がされた際にデータがすでにキャッシュされているかを調べ、キャッシュされていればキャッシュデータをキャッシュされていなければデータ記憶装置から要求されたデータを検索するといった処理を実行するキャッシュ管理装置から構成されている(図1)。
このような構成を有する従来のキャッシュシステムの動作を以下に述べる。
前提としてデータ記憶装置にはすべてのデータが格納されており、キャッシュ記憶装置にはデータ記憶装置内のデータのうち高い頻度でアクセスするデータを記録しておく。容量についてもキャッシュ記憶装置に対しデータ記憶装置は十分に大きい。また検索速度の面では、キャッシュ記憶装置はデータ記憶装置より高速にデータの検索ができる。
利用者またはシステムがキャッシュ管理装置に検索要求を出す。検索要求には、データ記憶装置から情報を取り出すために必要な固有の番号(ID)または検索条件式を含んでいる。また、データ記憶装置中のデータにはそのデータを特定するための固有の番号(ID)が割り当てられている。キャッシュ管理装置は検索要求を受けると、キャッシュ記憶装置に対し検索要求で要求されたIDのデータがキャッシュ記憶装置内に保存されているか問い合わせる。
キャッシュ記憶装置内に要求されたIDのデータがある場合はそのデータをキャッシュ記憶装置から取り出し検索結果として検索要求元へ返す。キャッシュ記憶装置内に要求されたIDのデータが無い場合はデータ記憶装置に対し検索を実行する。データ記憶装置内に要求したIDのデータが存在した場合、データ記憶装置から要求したIDのデータを取り出す。取り出したデータは検索要求元へ検索結果として返すとともに、キャッシュ記憶装置へ投入する。
次回以降、同じIDで検索要求がなされた場合、キャッシュ管理モジュールはキャッシュ記憶装置を確認することでデータ記憶装置を検索することなく高速にデータを読み出すことができる。
上記システムにおける問題は、要求されたデータをデータ記憶装置から取り出し、キャッシュするだけでなく、利用者にとって必要となるデータを予測し、予測されたデータをあらかじめキャッシュする場合に起こる。
利用者にとって必要となるデータの予測方式は1つとは限らない。データの種類、キャッシュの全容量、データの利用状況に応じて数種類の予測方式を組み合わせて利用する必要がある。この際、個々の予測方式が個別に予測すると、キャッシュするデータが重複する問題がある。また、数種類の予測方式のうち予測性能の高いものも、低いものも同等に扱われるという問題もある。本発明は、複数の予測したデータをキャッシュする方式と、要求されたデータをキャッシュする方式を組み合わせ、キャッシュデータの重複をなくし安定した性能を出す方式、およびプログラムである。
本発明の目的は、複数の予測したデータをキャッシュする方式と、要求されたデータをキャッシュする方式を組み合わせ、キャッシュデータの重複をなくし、性能を安定させる方式、ならびにシステムを提供することにある。
本発明の複数キャッシュ組み合わせシステムは、データを記憶するデータ記憶装置、利用者のデータアクセス履歴やデータ記憶装置の内容を参照し、利用者にとって必要なデータを予測する複数のキャッシュ予測装置、予測されたデータをキャッシュするための予測キャッシュ記憶装置、利用者が要求したデータをキャッシュするためのキャッシュ記憶装置、予測キャッシュ記憶装置からキャッシュ記憶装置へデータを移し替えるためのデータ移動装置、利用者からの検索要求を受け、キャッシュ記憶装置、予測キャッシュ記憶装置、データ記憶装置を検索し要求されたデータを検索結果として返すキャッシュ管理装置を備える。
このような構成を採用し、複数のキャッシュ予測装置と利用者が要求したデータをキャッシュするキャッシュ管理装置とキャッシュ記憶装置を組み合わせることにより本発明の目的を達成することができる。
本発明の第一の効果は、複数のキャッシュ予測装置を組み合わせることにより、安定したデータの予測とキャッシュができることにある。その理由は、複数の予測方式を組み合わせ利用者のデータアクセス状況やデータの内容から利用者が必要とするデータを予測できるためである。
第二の効果は、複数のキャッシュ予測装置にキャッシュデータの重複が起こらないことにある。その理由は、本方式では個々のキャッシュ予測装置は他のキャッシュ予測装置がキャッシュしたデータと利用者が要求したデータをキャッシュするキャッシュデータを参照し、同じデータを複数キャッシュしない。これにより、複数のキャッシュで重複したデータのキャッシュを避けることができる。
第三の効果として、予測性能の高い予測キャッシュ方式の利用割合を増やす効果がある。その理由は、予測されたキャッシュデータにヒットした場合、ヒットしたデータをキャッシュ予測装置の予測キャッシュ記憶装置からアプリケーションのキャッシュに移すことにより、予測キャッシュ記憶装置に空きができるためである。このため、予測成功率の高い予測キャッシュ記憶装置は空き領域が増え、さらに別のデータを予測してキャッシュに格納できるためである。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。図2を参照すると、本発明の形態はプログラム制御により動作する、データを記憶するデータ記憶装置。利用者のアクセス履歴やデータ記憶装置の内容を参照し、利用者が必要とするデータを予測し、データ記憶装置から取得するキャッシュ予測装置。キャッシュ予測装置により取得されたデータを記録する予測キャッシュ記憶装置。利用者に要求されたデータをキャッシュするキャッシュ記憶装置。利用者からのデータ要求を受け、キャッシュ記憶装置、予測キャッシュ記憶装置、データ記憶装置を適切に検索し、その結果を返すキャッシュ管理装置。予測キャッシュ記憶装置からキャッシュ記憶装置にデータを移すデータ移動装置。以上から構成されている。
これらの装置の動作は以下のとおりである。データ記憶装置はシステムにより管理されているデータを記憶しているものとする。データ記憶装置は、キャッシュ予測装置、またはキャッシュ管理装置から要求されたデータを検索し要求元に伝達することができる。本実施例では、データ記憶装置にはRDBMSを用いているがこれに限らない。また、キャッシュ予測装置、キャッシュ管理装置により要求される時の検索条件式には任意の検索式を用いることができる。
キャッシュ予測装置は利用者のデータアクセス履歴や、データ記憶装置内のデータから利用者が必要とするデータを予測し、データ記憶装置から取り出し、予測キャッシュ記憶装置にキャッシュする。キャッシュ予測装置は任意の個数配置できる。また、キャッシュ予測装置はキャッシュ記憶装置と予測キャッシュ記憶装置を検索し、予測したデータがすでにキャッシュされているか確認し同じデータを複数キャッシュしない仕組みを持つ。また、予測キャッシュ記憶装置は個々のキャッシュ予測装置ごとに上限となる容量があらかじめ定められており、一つの予測装置であらかじめ定められた容量以上のデータを予測してキャッシュすることはできない。
本発明は、データを予測しキャッシュする複数の方式と利用者の要求したデータをキャッシュする方式を組み合わせるためのものであり、キャッシュ予測装置の具体的な予測方法はどのようなものでも構わない。
予測キャッシュ記憶装置はキャッシュ予測装置により予測されたデータを管理するための装置である。キャッシュ予測装置にてキャッシュされるデータを管理するために任意のデータ管理構造(具体的にはハッシュ構造や木構造、リスト構造が挙げられるがこれらに留まらない)を用いるが、データの取り出しには主キーを指定したデータ要求以外にキャッシュされているデータの内容と一致するデータを要求する検索条件式も用いることができる。予測キャッシュ記憶装置内のキャッシュデータはキャッシュ管理装置とキャッシュ予測装置により検索される。 キャッシュ記憶装置は利用者により要求されたデータをキャッシュするための記憶装置である。キャッシュ記憶装置はデータ移動装置、もしくはキャッシュ管理装置によりデータを挿入される。キャッシュ記憶装置、予測キャッシュ記憶装置にてキャッシュされるデータを管理するために任意のデータ管理構造(具体的にはハッシュ構造や木構造、リスト構造が挙げられるがこれらに留まらない)を用いるが、本実施例ではLRUを用いている。また、データの取り出しには主キーを指定したデータ要求以外にキャッシュされているデータの内容と一致するデータを要求する検索条件式も用いることができる。キャッシュ記憶装置内のキャッシュデータはキャッシュ管理装置とキャッシュ予測装置により検索される。
データ移動装置はキャッシュ予測装置により予測されたデータが利用者により要求されたとき、すなわち、予測されたデータが実際に利用されたとき、そのデータを予測キャッシュ記憶装置からキャッシュ記憶装置に移し替える処理をする装置である。予測したデータが利用者に要求されたかの検出はキャッシュ管理装置でされ、移動装置に対してデータの移動を指示する。
キャッシュ管理装置は利用者からの検索要求を受け取り、検索要求に対する検索結果を利用者に返す。キャッシュ管理装置はデータの検索要求を受けると、キャッシュ記憶装置と予測キャッシュ記憶装置を検索し要求されたデータがキャッシュされているか調べる。データがキャッシュされていれば、キャッシュされているデータを取り出し、利用者へ返す。いずれのキャッシュ記憶装置にもデータがキャッシュされていなければ、データ記憶装置を検索し検索結果を利用者へ返す。また、キャッシュ管理装置は要求されたデータを利用者へ返したのち、そのデータがデータ記憶装置にあるデータならば、データをキャッシュ記憶装置に挿入しキャッシュする。一方データがキャッシュ記憶装置に存在した場合はキャッシュ記憶装置で用いられているデータ管理構造に従う。たとえば、データ管理構造にLRUを用いている場合はキャッシュヒットしたデータをリストの先頭に移動させるといった処理や、アクセスがあったことを示すフラグを立てるといった処理を実行する。また、要求されたデータが予測キャッシュにキャッシュされていた場合、キャッシュ管理装置はデータ移動装置に対し予測キャッシュ記憶装置内にあるキャッシュヒットしたデータをキャッシュ記憶装置に移動させる指示を出す。
次に、図3のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず利用者もしくはアプリケーションからデータが要求される(ステップS1,S2)。データが要求されるとキャッシュ管理装置は要求されたデータがキャッシュ記憶装置にあるか検索する(ステップS3)。キャッシュ記憶装置は利用者に要求されたデータがキャッシュされているか検索する。要求されたデータがキャッシュされている場合は、キャッシュ記憶装置のデータ管理構造に対して処理の必要がある場合は処理を実行する(ステップS5)。例えば、キャッシュ記憶装置のデータ管理構造にLRUを用いていた場合はキャッシュレコードにフラグを立てる処理や該当するレコードをリストの先頭に移動させるといった処理である。その後、該当するデータを利用者に返す(ステップS14)。
要求されたデータがキャッシュ記憶装置にキャッシュされていない場合は、キャッシュ管理装置は予測キャッシュ記憶装置に要求されたデータがキャッシュされているか検索する(ステップS7)。予測キャッシュ記憶装置に要求されたデータが存在する場合は該当するデータをキャッシュ記憶装置に移動させる。この処理はデータ移動装置によりなされる。また、該当するデータを利用者に返す(ステップS14)。
要求されたデータがキャッシュ記憶装置にも予測キャッシュ記憶装置にもキャッシュされていない場合、キャッシュ管理装置はデータ記憶装置に要求されたデータがあるかを検索する(ステップ10)。データ記憶装置内に要求されているデータがあれば、そのデータをキャッシュ記憶装置に投入しキャッシュする(ステップS12)。また、該当するデータを利用者に返す。一方データ記憶装置に該当するデータがなかった場合は該当するデータが無い旨のメッセージまたは検索結果である空集合を利用者に返す(ステップS13)。
利用者に検索結果を返したのち、キャッシュ予測装置は検索されたデータや検索履歴をもとに、次に必要となるデータを予測する(ステップS15)。ステップS15により予測されたデータをデータ記憶装置から取り出し、予測キャッシュ記憶装置に記録してキャッシュする(ステップS16)。ステップS15,S16の処理はキャッシュ予測装置の数だけ実行される。
また、システム起動時には図4のフローチャートが実行され、必要となるデータを予測して予測キャッシュ記憶装置にキャッシュする。
図10は電子メールをキャッシュするシステムにおいて、本発明を用いて複数のキャッシュを組み合わせた場合の性能を測定した結果である。本方式の性能は、最も良い予測キャッシュ方式である受信時間に着目した予測キャッシュ方式と同等の性能を示している。このことから情報をキャッシュする場合において、本キャッシュ組み合わせ方式を用いることで最も性能の良い予測方式と同等の性能が得られる。このため本方式は上記実現例において有用であるといえる。また、他の予測方式が高い性能を得るデータにおいても同じアルゴリズムで高い性能を得ることができる。
次に、具体的な実施例を用いて本発明を実施するための別の形態の動作を説明する。
図5を参照すると、本発明の別の実施例の形態はプログラム制御により動作する、データを記憶するデータ記憶装置。利用者のアクセス履歴やデータ記憶装置の内容を参照し、利用者が必要とするデータを予測し、データ記憶装置から取得するキャッシュ予測装置。キャッシュ予測装置により取得されたデータを記録するクライアント側予測キャッシュ記憶装置。利用者に要求されたデータをキャッシュするクライアント側キャッシュ記憶装置。利用者からのデータ要求を受けキャッシュ記憶装置、予想キャッシュ記憶装置、データ記憶装置を適切に検索し、その結果を返すキャッシュ管理装置。予測キャッシュ記憶装置からキャッシュ記憶装置にデータを移すデータ移動装置。サーバでクライアントにどのデータがキャッシュされているのかを判断するため、クライアントにキャッシュされているデータの一覧を記憶しておくサーバ側キャッシュ記憶装置とサーバ側予測キャッシュ記憶装置。データを送受信するための通信路。以上から構成されている。
これらの装置の動作は以下のとおりである。
データ記憶装置はシステムにより管理されているデータを記憶しているものとする。データ記憶装置は、キャッシュ予測個装置、またはキャッシュ管理装置から要求されたデータを検索し要求元に伝達することができる。本実施例では、データ記憶装置にはRDBMSを用いている。しかし、RDBMS以外のデータ記憶装置を利用することも可能である。また、キャッシュ予測装置、キャッシュ管理装置により要求される時の検索条件式には任意の検索式を用いることができる。
キャッシュ予測装置は先の実施例で記述したものと同様であるが、予測したデータを通信路を利用しクライアントに送信できる点と、サーバ側の予測キャッシュ記憶装置にどのデータをクライアントにキャッシュさせたかを記録できる機能を持つ。
クライアント側予測キャッシュ記憶装置とサーバ側予測キャッシュ記憶装置はキャッシュ予測装置により予測されたデータを管理するための装置である。構造や機能は先に述べた実施例の予測キャッシュ記憶装置と同様である。
クライアント側キャッシュ記憶装置とサーバ側キャッシュ記憶装置は利用者により要求されたデータをキャッシュするための記憶装置である。構造や機能は先に述べた実施例のキャッシュ記憶装置と同じである。
データ移動装置はキャッシュ予測装置により予測されたデータが利用者により要求されたとき、すなわち、予測されたデータが実際に利用されたとき、そのデータをクライアント側予測キャッシュ記憶装置からクライアント側キャッシュ記憶装置に移し替える処理をする装置である。予測したデータが利用者に要求されたかの検出はキャッシュ管理装置でされ、移動装置に対してデータの移動を指示する。
キャッシュ管理装置は利用者からの検索要求を受け取り、検索要求に対する検索結果を利用者に返す。キャッシュ管理装置の機能や動作は先の実施例と同様である。
次に、図6のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。まず、利用者もしくはアプリケーションからデータが要求される(ステップS1,S2)。データが要求されるとキャッシュ管理装置は要求されたデータがクライアント側キャッシュ記憶装置にあるか検索する(ステップS3)。クライアント側キャッシュ記憶装置は利用者に要求されたデータがキャッシュされているか検索する。要求されたデータがキャッシュされている場合は、キャッシュ記憶装置のデータ管理構造に対して処理の必要がある場合は処理を実行する(ステップS5)。例えば、キャッシュ記憶装置のデータ管理構造にLRUを用いていた場合はキャッシュレコードにフラグを立てる処理や該当するレコードをリストの先頭に移動させるといった処理である。その後、該当するデータを利用者に返す(ステップS14)。
要求されたデータがクライアント側キャッシュ記憶装置にキャッシュされていない場合は、キャッシュ管理装置はクライアント側予測キャッシュ記憶装置に要求されたデータがキャッシュされているか検索する(ステップS6)。クライアント側予測キャッシュ記憶装置に要求されたデータが存在する場合は該当するデータをキャッシュ記憶装置に移動させる。この処理はデータ移動装置によりなされる(ステップS8)。また、該当するデータを利用者に返す(ステップS14)
要求されたデータがクライアント側キャッシュ記憶装置にもクライアント側予測キャッシュ記憶装置にもキャッシュされていない場合、キャッシュ管理装置はサーバに対し検索要求を送信し、データ記憶装置に要求されたデータがあるかを検索する(ステップS9)。
データ記憶装置内に要求されているデータがあれば、そのデータをサーバ側キャッシュ記憶装置に投入する(ステップS11)。また、そのデータをクライアントに送信する(ステップS12)。クライアントが検索結果を受け取ると、キャッシュ管理装置は、その受け取ったデータをクライアント側キャッシュ記憶装置に記録する(ステップS13)。その後、検索結果のデータの内容を利用者に返す。
データ記憶装置に該当するデータがなかった場合は該当するデータが無い旨のメッセージまたは検索結果である空集合を利用者に返す(ステップS15)。 利用者に検索結果を返したのち、キャッシュ予測装置は検索されたデータや検索履歴をもとに、次に必要となるデータを予測する(ステップS16)。ステップS16により予測されたデータをデータ記憶装置から取り出し、サーバ側の予測キャッシュ記憶装置に記録する(ステップS17)。このとき、サーバ側の予測キャッシュ記憶装置とサーバ側のキャッシュ記憶装置を参照し、予測されたデータが既にクライアントにキャッシュされているか確認する。クライアントにすでにキャッシュされているデータならばステップS19でクライアントに送信しない。この処理をすることでサーバとクライアント間の無駄な通信を削減できる。なお、ステップS16,S17の処理はキャッシュ予測装置の数だけ実行される。予測されたデータはクライアントに送信しクライアント側の予測キャッシュ記憶装置に書き込む(ステップS19)。
また、システム起動時には必要となるデータを予測して予測キャッシュ記憶装置にキャッシュする。
また、本実現例では、サーバとクライアントのキャッシュ内容が一致しているか定期的に確認する必要がある。この動作を図7のフローチャートを参照して説明する。まず、クライアントは定期的にクライアント側予測キャッシュ記憶装置に記録されているすべての情報のIDと(ステップS1)、クライアント側キャッシュ記憶装置に記録されているすべての情報のIDを取得する(ステップS2)。次に、取得したすべてのIDをサーバに送信する(ステップS3)。このID取得と送信処理は定期的に実行されるが、クライアントのデータ移動装置が稼働した直後に常に実行しても良い。ただし、その場合サーバとクライアント間の通信量が増える。サーバはクライアントから受信したIDを用いて、サーバ側予測キャッシュ記憶装置とクライアント予測キャッシュ記憶装置とでキャッシュしている情報が一致しているかを調べる(ステップS4)。サーバとクライアントでキャッシュしている情報に不一致があった場合、サーバ側のキャッシュ内容をクライアント側のキャッシュ内容と一致させる(ステップS6)。同様に、サーバはクライアントから受信したIDを用いて、サーバ側キャッシュ記憶装置とクライアントキャッシュ記憶装置とでキャッシュしている情報が一致しているかを調べ(ステップS7)、一致していなければサーバ側のキャッシュ記憶装置のキャッシュ内容をクライアントのキャッシュ内容と一致させる(ステップS8)。
本節では第二の実施例を述べる。第二の実施例の装置の構成図を図8に示す。第二の実施例は先に述べた最良の形態と同様の構成である。違いは、最良の形態では複数のキャッシュ予測装置が一つの予測キャッシュ記憶装置を用いる構成であるが、本実施例ではキャッシュ予測装置に対して予測キャッシュ記憶装置が用意されている。本実施例での動作方法や処理の流れ、装置の機能は最良の形態での実現方法と同様である。
本節では第三の実施例を述べる。第三の実施例の装置の構成図を図9に示す。第三の実施例は先に述べた最良の形態と同様の構成である。違いは、データ移動装置が無く、キャッシュ管理装置がデータ移動装置の機能を持つことである。本実現例ではデータ移動装置がキャッシュ管理装置内にあることで、データ移動装置への指示をせずにデータの移動ができる点や予測キャッシュ記憶装置やデータ記憶装置から取り出したデータをそのままキャッシュ記憶装置に挿入できる特徴を持つ。なお、本実施例での動作方法や処理の流れ、装置の機能は最良の形態での実現方法と同様である。
本節では第四の実施例を述べる。第四の実施例の装置の構成図を図11に示す。第四の実施例は先に述べた最良の形態と同様の構成である。違いは、キャッシュ記憶装置が単一の装置にて実現されており、装置内部で予測キャッシュ記憶領域とキャッシュ記憶領域とに分かれている点である。本実現例ではキャッシュ記憶装置が単一の装置であるため、複数のストレージを用意せずに実現できる。なお、本実施例での動作方法や処理の流れ、装置の機能は先に述べた最良の形態での実現方法と同様である。
本発明によれば、利用者に要求されたデータを保持するキャッシュと利用者にとって必要となるデータを予測するキャッシュとを効率よく組み合わせることができる。具体的な応用例としては、携帯電話から必要なデータをサーバから要求する環境において通信の待ち時間を減らすといった用途に適用できる。また、好みのメールや音楽などを事前に取得しキャッシュしておくといった用途にも適用できる。
従来のキャッシュ方式の形態の構成を示すブロック図である。 本発明の形態の構成を示すブロック図である。 本発明を実施するための最良の形態の動作を示す流れ図である。 本発明を実施するための最良の形態の動作を示す流れ図である。 サーバとクライアントに分かれている形態の例を示すブロック図である。 サーバとクライアントに分かれている形態の例での動作を示す流れ図である。 サーバとクライアントに分かれている形態の例でのキャッシュ内容の同期の動作を示す流れ図である。 キャッシュ予測装置に対して予測キャッシュ記憶装置が配置されている場合の実施例でのブロック図である。 キャッシュ管理装置がデータ移動装置の機能を含む場合の実施例でのブロック図である。 キャッシュ記憶装置内で予測キャッシュ記憶領域とキャッシュ記憶領域とが分かれている場合の実施例でのブロック図である。 本発明を用いて複数のキャッシュを組み合わせた方式の性能評価結果のグラフである。

Claims (39)

  1. 情報を格納するデータ記憶装置、利用者の情報へのアクセス履歴や利用者の情報を用いてデータ記憶装置内の情報から利用者にとって必要となるものを予測する複数のキャッシュ予測装置、キャッシュ予測装置により予測された情報を記憶する一つ、または複数の予測キャッシュ記憶装置、利用者から要求があった情報をキャッシュするためのキャッシュ記憶装置、利用者からの検索要求を受けキャッシュ記憶装置、予測キャッシュ記憶装置、データ記憶装置を適切に検索し、その検索結果を利用者へ戻すキャッシュ管理装置、キャッシュ管理装置の指示により予測キャッシュ記憶装置からキャッシュ記憶装置へ情報を移動させるデータ移動装置からなるキャッシュシステム。
  2. 情報を格納するデータ記憶装置、利用者の情報へのアクセス履歴や利用者の情報を用いてデータ記憶装置内の情報から利用者にとって必要となるものを予測する複数のキャッシュ予測装置、キャッシュ予測装置により予測された情報と、利用者から要求があった情報をキャッシュするためのキャッシュ記憶装置、利用者からの検索要求を受けキャッシュ記憶装置、予測キャッシュ記憶装置、データ記憶装置を適切に検索し、その検索結果を利用者へ戻すキャッシュ管理装置、キャッシュ管理装置の指示により予測キャッシュ記憶装置からキャッシュ記憶装置へ情報を移動させるデータ移動装置からなるキャッシュシステム。
  3. 前記請求項1〜2におけるキャッシュ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な記憶装置である
    請求項1または請求項2に記載のキャッシュシステム。
  4. 前記請求項2におけるキャッシュ記憶装置は前記請求項3に加え、さらに、利用者から要求された情報を記録する「キャッシュ領域」とキャッシュ予測装置により予測された情報を記録する「予測キャッシュ領域」とに任意の容量で分割することが可能な装置である
    請求項3に記載のキャッシュシステム。
  5. 前記請求項4におけるキャッシュ記憶装置はさらに、キャッシュ予測装置により予測された情報を記録する「予測キャッシュ領域」をキャッシュ予測装置の数だけ任意の容量で分割することが可能な装置である
    請求項4に記載のキャッシュシステム。
  6. 前記請求項1における予測キャッシュ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な装置である
    請求項1に記載のキャッシュシステム。
  7. 前記請求項6における予測キャッシュ記憶装置は、さらに利用者から要求された情報をキャッシュできる上限の容量と予測された情報をキャッシュする上限の容量を定めることができる記憶装置であり、予測された情報をキャッシュする領域は情報を予測する装置の数に分割することができ、分割したそれぞれの領域に対してキャッシュできる上限の容量を定めることが可能な装置である
    請求項6に記載のキャッシュシステム。
  8. 前記請求項1〜7におけるキャッシュ管理装置は、利用者から要求された情報がキャッシュ記憶装置か予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれかのキャッシュに存在した場合、その情報を利用者へ返し、いずれのキャッシュにも存在しない場合、利用者から要求された情報をデータ記憶装置から検索し、その結果を利用者へ返す機能を持つ装置である
    請求項1から請求項7のうちのいずれか1項に記載のキャッシュシステム。
  9. 前記請求項8におけるキャッシュ管理装置はさらに、利用者から要求された情報がキャッシュ記憶装置か予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれのキャッシュにも要求された情報が存在しない場合、データ記憶装置から要求されたデータを検索し、キャッシュ記憶装置にその情報をキャッシュする機能を持つ装置である
    請求項8に記載のキャッシュシステム。
  10. 前記請求項8〜9におけるキャッシュ管理装置はさらに、利用者から要求された情報がキャッシュ記憶装置か予測キャッシュ記憶装置のいずれかに存在するかを調べ、予測キャッシュ記憶装置に要求された情報が存在した場合、データ移動装置に対し、その情報を予測キャッシュ記憶装置からキャッシュ記憶装置に移動させる指示を出す機能を持つ装置である
    請求項8または請求項9に記載のキャッシュシステム。
  11. 前記請求項1〜10におけるキャッシュ予測装置は、利用者が要求するであろう情報を任意の手段を用いて予測する機能を持つ装置である
    請求項1から請求項10のうちのいずれか1項に記載のキャッシュシステム。
  12. 前記請求項11におけるキャッシュ予測装置はさらに、予測した情報を予測キャッシュ記憶装置へ挿入する機能を持つ装置である
    請求項11に記載のキャッシュシステム。
  13. 前記請求項11〜12におけるキャッシュ予測装置は、さらにキャッシュ記憶装置の内容と一つまたは複数の予測キャッシュ記憶装置の内容を参照し、いずれかのキャッシュにキャッシュ予測装置により予測された情報がキャッシュされているならば、予測した情報を予測キャッシュ記憶装置に挿入せず、いずれのキャッシュ記憶装置にもにも登録されていない場合に予測キャッシュ記憶装置に予測したデータを挿入する機能を持つ装置である
    請求項11または請求項12に記載のキャッシュシステム。
  14. 前記請求項1〜13におけるデータ移動装置は、指定された情報を予測キャッシュ記憶装置からキャッシュ記憶装置に移動させる機能を持つ装置である
    請求項1から請求項13のうちのいずれか1項に記載のキャッシュシステム。
  15. 前記請求項14におけるデータ移動装置はさらに、利用者から要求された情報が予測キャッシュ記憶装置に存在する場合に、要求された情報を情報を予測キャッシュ記憶装置からキャッシュ記憶装置に移動させる装置である
    請求項14に記載のキャッシュシステム。
  16. 情報を記憶するデータ記憶装置と、利用者にとって必要となる情報を任意の手段で予測する複数のキャッシュ予測装置と、クライアントのキャッシュ記憶装置にどの情報がキャッシュされているかを記憶するサーバ側キャッシュ記憶装置と、クライアントの予測キャッシュ記憶装置にどの情報がキャッシュされているかを記憶するサーバ側予測キャッシュ記憶装置と、クライアントからの検索要求を受け、データ記憶装置を検索し結果をクライアントに返すデータ管理装置と、クライアントからクライアントでキャッシュしている情報の一覧を受け、クライアントのキャッシュ情報とサーバ側のキャッシュ情報を一致させるキャッシュ同期装置と、データ管理装置の指示によりサーバ側予測キャッシュ記憶装置からサーバ側キャッシュ記憶装置へ情報を移動させるデータ移動装置と、からなるサーバ。
  17. 前記請求項16におけるデータ管理装置は、端末から要求された情報がサーバ側キャッシュ記憶装置かサーバ側予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれのキャッシュにも存在しない場合、端末から要求された情報をデータ記憶装置から検索し、その情報を通信路を用いて端末に送信する機能を持つ装置である
    請求項16に記載のサーバ。
  18. 前記請求項17におけるデータ管理装置はさらに、端末から要求された情報がサーバ側キャッシュ記憶装置かサーバ側予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれのキャッシュにも存在しない場合、端末から要求された情報をデータ記憶装置から検索し、その情報をサーバ側キャッシュ記憶装置に挿入する機能を持つ装置である
    請求項17に記載のサーバ。
  19. 前記請求項17〜18におけるデータ管理装置はさらに、端末から要求された情報がサーバ側キャッシュ記憶装置かサーバ側予測キャッシュ記憶装置のいずれかに存在するかを調べ、どちらかのキャッシュにも存在した場合、その情報が既に端末にキャッシュされていることを通知する機能を持つ装置である
    請求項17または請求項18に記載のサーバ。
  20. 前記請求項16におけるキャッシュ同期装置は、端末から端末のクライアント側予測キャッシュ記憶装置にキャッシュされている情報の一覧またはIDを受信し、端末のクライアント側予測キャッシュ記憶装置とサーバ側予測キャッシュ記憶装置とにおいて、キャッシュしている情報に不一致があるか調べ、不一致がある場合には、サーバ側予測キャッシュ記憶装置にキャッシュされている情報をクライアント側予測キャッシュ記憶装置にキャッシュされている情報に一致させる機能を持つ装置である
    請求項16に記載のサーバ。
  21. 前記請求項20におけるキャッシュ同期装置はさらに、端末から端末のクライアント側キャッシュ記憶装置にキャッシュされている情報の一覧またはIDを受信し、端末のクライアント側キャッシュ記憶装置とサーバ側キャッシュ記憶装置とにおいて、キャッシュしている情報に不一致があるか調べ、不一致がある場合には、サーバ側キャッシュ記憶装置にキャッシュされている情報をクライアント側キャッシュ記憶装置にキャッシュされている情報に一致させる機能を持つ装置である
    請求項20に記載のサーバ。
  22. 前記請求項16〜21におけるキャッシュ予測装置は、利用者が要求するであろう情報を任意の手段を用いて予測する機能を持つ装置である
    請求項16から請求項21のうちのいずれか1項に記載のサーバ。
  23. 前記請求項22におけるキャッシュ予測装置はさらに、予測した情報をサーバ側予測キャッシュ記憶装置へ挿入する機能を持つ装置である
    請求項22に記載のサーバ。
  24. 前記請求項22〜23におけるキャッシュ予測装置はさらに、サーバ側キャッシュ記憶装置の内容と一つまたは複数のサーバ側予測キャッシュ記憶装置の内容を参照し、いずれかのキャッシュにキャッシュ予測装置により予測された情報が存在するならば、予測した情報をサーバ側予測キャッシュ記憶装置に挿入せず、いずれのキャッシュ記憶装置にも存在しない場合にサーバ側予測キャッシュ記憶装置に予測したデータを挿入する機能を持つ装置である
    請求項22または請求項23に記載のサーバ。
  25. 前記請求項22〜24におけるキャッシュ予測装置はさらに、サーバ側予測キャッシュ記憶装置に挿入した情報を通信路を用いて端末に送信する機能を持つ装置である
    請求項22から請求項24のうちのいずれか1項に記載のサーバ。
  26. 前記請求項16におけるデータ移動装置は、サーバ側予測キャッシュ記憶装置内の指示された情報をサーバ側キャッシュ記憶装置に移動させる機能を持つ装置である
    請求項16に記載のサーバ。
  27. 前記請求項16におけるデータ移動装置はさらに、端末から要求された情報がサーバ側予測キャッシュ記憶装置内に存在する場合、その情報をサーバ側予測キャッシュ記憶装置に移動させる機能を持つ装置である
    請求項16に記載のサーバ。
  28. 前記請求項16〜27におけるサーバ側キャッシュ記憶装置とサーバ側予測キャッシュ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な装置である
    請求項16から請求項27のうちのいずれか1項に記載のサーバ。
  29. 利用者から要求された情報をキャッシュするクライアント側キャッシュ記憶装置と、サーバによって予測された情報をキャッシュするクライアント側予測キャッシュ記憶装置と、利用者からの検索要求を受け、クライアント側キャッシュ記憶装置、またはクライアント側予測キャッシュ記憶装置、またはサーバに格納されている情報を適切に検索し、その結果を利用者に返すキャッシュ管理装置と、キャッシュ管理装置の指示によりクライアント側予測キャッシュ記憶装置からクライアント側キャッシュ記憶装置に情報を移動させるデータ移動装置と、からなる端末。
  30. 前記請求項29におけるキャッシュ管理装置は、利用者から要求された情報がクライアント側キャッシュ記憶装置かクライアント側予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれかのキャッシュに存在した場合、その情報を利用者に返す機能を持つ装置である
    請求項29に記載の端末。
  31. 前記請求項30におけるキャッシュ管理装置はさらに、利用者から要求された情報がクライアント側キャッシュ記憶装置かクライアント側予測キャッシュ記憶装置のいずれかに存在するかを調べ、いずれのキャッシュにも存在しない場合、利用者から要求された情報をサーバに問い合わせる機能を持つ装置である
    請求項30に記載の端末。
  32. 前記請求項30〜31におけるキャッシュ管理装置はさらに、定期的にクライアント側キャッシュ記憶装置と、クライアント側予測キャッシュ記憶装置にキャッシュされている情報のIDもしくは情報を定期的に、またはデータ移動装置がデータを移動させる毎にサーバに送信する機能を持つ装置である
    請求項30または請求項31に記載の端末。
  33. 前記請求項30〜32におけるキャッシュ管理装置はさらに、サーバに問い合わせることにより得られた情報を利用者に返す機能を持つ装置である
    請求項30から請求項32のうちのいずれか1項に記載の端末。
  34. 前記請求項30〜33におけるキャッシュ管理装置はさらに、利用者から要求された情報がクライアント側予測キャッシュ記憶装置に存在する場合、その情報をクライアント側予測キャッシュ記憶装置からクライアント側キャッシュ記憶装置に移動させる指示をデータ移動装置に出す機能を持つ装置である
    請求項30から請求項33のうちのいずれか1項に記載の端末。
  35. 前記請求項29におけるクライアント側キャッシュ記憶装置とクライアント側予測キャッシュ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な装置である
    請求項29に記載の端末。
  36. 前記請求項29におけるデータ移動装置は、クライアント側予測キャッシュ記憶装置内の指示された情報をクライアント側キャッシュ記憶装置に移動させる機能を持つ装置である
    請求項29に記載の端末。
  37. 前記請求項36におけるデータ移動装置はさらに、利用者により要求された情報がクライアント側予測キャッシュ記憶装置内に存在する場合、その情報をサーバ側予測キャッシュ記憶装置に移動させる機能を持つ装置である
    請求項36に記載の端末。
  38. 前記請求項29におけるクライアント側キャッシュ記憶装置とクライアント側予測キャッシュ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な装置である
    請求項29に記載の端末。
  39. 前記請求項1から38におけるデータ記憶装置は、情報を格納することが可能かつ、検索式またはその他のアクセス手段により条件を満たす複数の情報を取り出すことが可能な装置である
    請求項29から請求項38のうちのいずれか1項に記載の端末。
JP2008034577A 2008-02-15 2008-02-15 キャッシュシステムおよびサーバ Expired - Fee Related JP5163171B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008034577A JP5163171B2 (ja) 2008-02-15 2008-02-15 キャッシュシステムおよびサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034577A JP5163171B2 (ja) 2008-02-15 2008-02-15 キャッシュシステムおよびサーバ

Publications (2)

Publication Number Publication Date
JP2009193440A true JP2009193440A (ja) 2009-08-27
JP5163171B2 JP5163171B2 (ja) 2013-03-13

Family

ID=41075378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034577A Expired - Fee Related JP5163171B2 (ja) 2008-02-15 2008-02-15 キャッシュシステムおよびサーバ

Country Status (1)

Country Link
JP (1) JP5163171B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158732B2 (en) 2012-02-29 2015-10-13 Fujitsu Limited Distributed cache system for delivering contents to display apparatus
JP2015535995A (ja) * 2012-09-27 2015-12-17 アマデウス エス.アー.エス.Amadeus S.A.S. データの保存および取得の方法およびシステム
US9442934B2 (en) 2011-09-20 2016-09-13 Fujitsu Limited Distributed cache control technique
JP2021068167A (ja) * 2019-10-23 2021-04-30 サウンドハウンド,インコーポレイテッド コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
KR102260693B1 (ko) * 2019-12-04 2021-06-08 동국대학교 산학협력단 콘텐츠 캐싱 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212733A (ja) * 1998-01-26 1999-08-06 Hitachi Ltd 外部記憶システム
JP2003330789A (ja) * 2002-05-17 2003-11-21 Hitachi Software Eng Co Ltd Webページ再表示システム及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212733A (ja) * 1998-01-26 1999-08-06 Hitachi Ltd 外部記憶システム
JP2003330789A (ja) * 2002-05-17 2003-11-21 Hitachi Software Eng Co Ltd Webページ再表示システム及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442934B2 (en) 2011-09-20 2016-09-13 Fujitsu Limited Distributed cache control technique
US9158732B2 (en) 2012-02-29 2015-10-13 Fujitsu Limited Distributed cache system for delivering contents to display apparatus
JP2015535995A (ja) * 2012-09-27 2015-12-17 アマデウス エス.アー.エス.Amadeus S.A.S. データの保存および取得の方法およびシステム
JP2021068167A (ja) * 2019-10-23 2021-04-30 サウンドハウンド,インコーポレイテッド コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
JP7029434B2 (ja) 2019-10-23 2022-03-03 サウンドハウンド,インコーポレイテッド コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
KR102260693B1 (ko) * 2019-12-04 2021-06-08 동국대학교 산학협력단 콘텐츠 캐싱 방법

Also Published As

Publication number Publication date
JP5163171B2 (ja) 2013-03-13

Similar Documents

Publication Publication Date Title
US20160048476A1 (en) Data managing system, data managing method, and computer-readable, non-transitory medium storing a data managing program
JP5592489B2 (ja) キャッシング情報のシステム及び方法
US10785322B2 (en) Server side data cache system
CN103077199B (zh) 一种文件资源查找定位方法及装置
EP2562991B1 (en) Data prefetching method, node and system for distributed hash table dht memory system
CN101350030B (zh) 用于缓存数据的方法及装置
KR101672901B1 (ko) 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
US20100088335A1 (en) Method and apparatus for improving file access performance of distributed storage system
JP5032210B2 (ja) 制御計算機、計算機システム及びアクセス制御方法
JP5439761B2 (ja) コンテンツ再生装置、コンテンツ再生方法およびコンテンツ再生プログラム
JP5322019B2 (ja) 関連する情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム
JP5163171B2 (ja) キャッシュシステムおよびサーバ
JP5272428B2 (ja) アクセス頻度の高い情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム
AU2015201273B2 (en) System and method of caching information
CN101459599B (zh) 一种实现缓存数据访问与加载并发进行的方法及系统
JP5365830B2 (ja) 利用される可能性の高い情報をキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム
CN109582233A (zh) 一种数据的缓存方法和装置
JP2006139398A (ja) キャッシュサーバ及びコンテンツ選定保持方法
KR101138937B1 (ko) 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법
CN114168075B (zh) 基于数据关联性提升负载访问性能的方法、设备及系统
CN117539915B (zh) 一种数据处理方法及相关装置
JP5071990B2 (ja) データベース装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム
JP2009187435A (ja) 省資源端末でのデータキャッシュシステム、その方法及びそのプログラム
JP2004021303A (ja) ファイル蓄積装置および方法
JP2013228768A (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5163171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees