(57)【要約】【課題】大規模なデータベースからその内容を読み出してキャッシュするキャッシュ装置において、キャッシュヒット率を向上させる。【解決手段】キャッシュ装置３０は、属性ＩＤ、属性ＩＤを対象ＩＤから抽出するための抽出子、および当該属性ＩＤにより識別される属性データの組を記録するキャッシュ部３００を備える。そして、キャッシュ装置３０は、対象ＩＤを受信して、キャッシュ部３００に記録された抽出子により対象ＩＤから属性ＩＤを抽出し、抽出した属性ＩＤが、抽出子に対応付けてキャッシュされた属性ＩＤと一致すれば、抽出子に対応付けて記録された属性データを返信する。一方で、抽出した属性ＩＤが、抽出子に対応付けて記録された属性ＩＤと一致しなければ、対象ＩＤによりＤＢ２０から属性データおよび抽出子を受信し、読み出された抽出子および属性データを属性ＩＤに対応付けてキャッシュ部３００にキャッシュさせる。【選択図】図３
2006293675.tif 000002
【特許請求の範囲】
【請求項１】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置であって、
前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
を備えるキャッシュ装置。
【請求項２】
対象識別情報に対応する複数の属性のうち読み出すべき少なくとも１つの属性を指定する属性指定情報付加してキャッシュ読み出し要求を入力する要求入力部を更に備え、
前記キャッシュ読出部は、前記キャッシュ部に記録された属性データの属性が、前記属性指定情報により指定されていることを条件として、当該属性データを外部に返信する、
請求項１記載のキャッシュ装置。
【請求項３】
前記キャッシュ部は、複数の属性の各々について、当該属性の属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録し、
前記抽出部は、前記キャッシュ部に記録された異なる抽出子ごとに、外部から受信した対象識別情報から属性識別情報を順次抽出し、
前記キャッシュ読出部は、順次抽出される複数の属性識別情報の各々について、当該属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報に一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された属性データを外部に返信し、
前記データベース読出部は、何れかの属性についての属性データが前記キャッシュ部に記録されていなかったことを条件として、前記対象識別情報により前記データベースを検索する
請求項１記載のキャッシュ装置。
【請求項４】
前記キャッシュ部は、前記抽出子として、ビット列である対象識別情報から属性識別情報を抽出するビットマスクを記録し、
前記抽出部は、前記キャッシュ部に記録されたビットマスクで対象識別情報をマスクして得られるビット列を前記属性識別情報として抽出する
請求項１記載のキャッシュ装置。
【請求項５】
前記キャッシュ部は、商品の商品名を識別する前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される商品名の組を記録し、
前記抽出部は、外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出し、
前記キャッシュ読出部は、抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された商品名を外部に返信し、
前記データベース読出部は、抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する商品名および前記抽出子を受信し、
前記キャッシュ登録部は、前記データベース読出部により読み出された前記抽出子および商品名を、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させる
請求項１記載のキャッシュ装置。
【請求項６】
複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報を外部から受け取り、当該対象識別情報から抽出した前記属性識別情報に対応する属性データを返す属性データ管理システムであって、
外部から受信した前記対象識別情報により指定される前記管理対象の前記属性データを読み出すデータベース装置と、
前記データベース装置から読み出された前記属性データをキャッシュするキャッシュ装置と
を備え、
前記データベース装置は、
前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
前記対象識別情報から前記属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
を有し、
前記キャッシュ装置は、
前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
を有する属性データ管理システム。
【請求項７】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置であって、
前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
前記対象識別情報から前記属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
を備えるデータベース装置。
【請求項８】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置の制御方法であって、
前記キャッシュ装置は、
前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュを有し、
外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出段階と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出段階と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出段階と、
前記データベース読出段階において読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録段階と
を備える制御方法。
【請求項９】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
して機能させるプログラム。
【請求項１０】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置の制御方法であって、
前記データベース装置は、前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースを有し、
前記対象識別情報から前記属性識別情報を抽出する抽出段階と、
抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出段階と、
前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信段階と
を備える制御方法。
【請求項１１】
各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
前記対象識別情報から前記属性識別情報を抽出する抽出部と、
抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムに関する。特に、本発明は、属性データをその識別情報に対応付けて記録する属性データベースについてのキャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、RFID(Radio Frequency Identification)とも呼ばれる無線ＩＣタグの技術を活用した商品管理が研究されている。無線ＩＣタグによれば、一度に複数のタグを読めるので、商品の入っている箱単位にＩＤを振るのではなく、商品の個体毎に異なるシリアル番号等を管理の対象とすることができる。
【０００３】
無線ＩＣタグによる商品管理においては、管理の対象となる属性データが膨大であり、なおかつ属性データの管理者が属性又は商品毎に異なっている場合がある。また、属性データの大半が一般に公開されている。このため、属性データは、広域の通信ネットワーク上に分散管理され、ネットワークを介して利用者からアクセスされる場合がある。一方で、ネットワーク上の属性データに対して効率的にアクセスするには、そのアクセス量をできるだけ低減することが重要である。このため、一度アクセスした属性データをキャッシュに保存し、再利用することが望ましい。
【０００４】
キャッシュシステムに関する参考技術として、従来、複数のキャッシュの各々にデータベース内のデータを保持させるシステムにおいて、データの一貫性を保持する技術が提案されている（特許文献１参照。）。また、従来、データベースへのクエリ及びその結果得られるデータの組をキャッシュに保持することで、既存のアプリケーションプログラムを変更することなく、キャッシュの管理を簡便に行う技術が提案されている（特許文献２参照。）。
【特許文献１】特開２０００−２０３８５号公報
【特許文献２】特開平８−２７４４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、無線ＩＣタグにおいては、IDが個々の商品毎に定められ、IDの総数が膨大となるので、一度アクセスした属性データを単に保存する方法では不十分と考えられる。例えば、ある大手スーパーでは、１つの店舗で扱う商品数が３０万点であり、それぞれに関連する属性データ(色、重さ、サイズ、日付、出荷元、出荷日、販促情報、広告、画像、など)は最大400程度と言われている。従来は個品のＩＤごとにキャッシュエントリを用意していたため、例えば商品数が３０万点で、1つの商品の在庫が２００個(個品)あれば、効率的なアクセスのために６０００万のキャッシュエントリを用意する必要がある。このように、キャッシュエントリが膨大となれば、キャッシュがメモリ上にあればその消費量に、キャッシュがDB上にあればその検索時間に影響する。しかも、それらの情報は時間とともに頻繁に入れ替わるため、キャッシュしている属性データも頻繁に入れ替える必要があり、キャッシュのヒット率が低下する。
【０００６】
なお、特許文献１の技術は、複数のキャッシュを設けたことにより生じるデータ一貫性の問題を解決するものであって、これによってキャッシュのヒット率を向上させることはできない。また、特許文献２の技術は、キャッシュ内に保持されたクエリと、新たに受けたクエリとの間で包含判定が必要となる。また、この技術は、SQLのような構文で記述されたクエリを対象とするので、IDと属性データとを対応付けた無線ＩＣタグのような技術に応用することはできない。
【０００７】
そこで本発明は、上記の課題を解決することのできるキャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の形態においては、各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置であって、属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、外部から対象識別情報を受信したことに応答して、キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、抽出した属性識別情報が、当該抽出子に対応付けてキャッシュ部に記録された属性識別情報と一致することを条件として、当該抽出子に対応付けてキャッシュ部に記録された属性データを外部に返信するキャッシュ読出部と、抽出した属性識別情報が、当該抽出子に対応付けてキャッシュ部に記録された属性識別情報と一致しないことを条件として、対象識別情報によりデータベース装置を検索して当該対象識別情報に対応する属性データおよび抽出子を受信するデータベース読出部と、データベース読出部により読み出された抽出子および属性データを、当該属性データに対応する属性識別情報に対応付けてキャッシュ部に記録させるキャッシュ登録部とを備えるキャッシュ装置、当該キャッシュ装置の制御方法、当該キャッシュ装置として情報処理装置を機能させるプログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、属性データとその識別番号としての対象識別情報とを対応付けたデータベースから、属性データを読み出してキャッシュする場合において、個々の商品のシリアル番号等を含んだ対象識別情報が頻繁に入れ替わっても高いキャッシュヒット率を実現できる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、属性データ管理システム１０の全体構成を示す。属性データ管理システム１０は、無線ＩＣタグ１２（１２１〜１２５）と、クライアント装置１５と、データベース装置２０（２０１〜２０Ｎ）と、キャッシュ装置３０とを備える。無線ＩＣタグ１２は、管理対象である商品等に添付され、その管理対象を識別する対象識別情報を記録する。無線ＩＣタグ１２に記録される対象識別情報は、複数の属性に対応する複数の属性識別情報に基づいて定められている。クライアント装置１５は、無線ＩＣタグ１２から対象識別情報を読み出してキャッシュ装置３０に送信する。データベース装置２０は、対象識別情報に対応付けて管理対象の属性データを記録している。キャッシュ装置３０は、外部の装置であるクライアント装置１５から対象識別情報を受け取り、その対象識別情報に対応する属性データを既に記録している場合にはその属性データをクライアント装置１５に返信する。一方で、キャッシュ装置３０は、属性データを記録していない場合には、データベース装置２０から属性データを読み出してクライアント装置１５に返信する。
【００１２】
本実施例に係る属性データ管理システム１０は、このようにデータベース装置２０の記録内容をキャッシュするキャッシュ装置３０を設けた場合において、キャッシュ装置３０におけるデータ構造を工夫することで、対象識別情報に個々の商品を識別するシリアル番号等が含まれていて、その桁数が大きい場合であっても、高いキャッシュヒット率を実現することを目的とする。
なお、無線ＩＣタグ１２１〜１２５はそれぞれ略同一であり、データベース装置２０１〜２０Ｎもそれぞれ略同一であるので、以下では、無線ＩＣタグ１２およびデータベース装置２０といえば、それぞれ１２１および２０１を意味するものとし、他の無線ＩＣタグ１２２〜１２５およびデータベース装置２０２〜２０Ｎについては、以降相違点を除き説明を省略する。
【００１３】
図２は、データベース装置２０の構成を示す。データベース装置２０は、抽出子ＤＢ２００と、属性ＤＢ２１０と、抽出部２２０と、読出部２３０と、送信部２４０とを有する。抽出子ＤＢ２００は、管理対象の属性に対応付けて、当該属性を識別する属性識別情報を対象識別情報から抽出するための抽出子を記録している。例えば、抽出子ＤＢ２００は、属性の属性名「ＣＯＭＰＡＮＹ」に対応付けて、ビット列である対象識別情報からその属性の属性識別情報を抽出するビットマスク「ＦＦＦ００００…０」を記録している。属性ＤＢ２１０は、属性識別情報に対応付けて、その属性識別情報により識別される属性データを対応付けて記録している。例えば、属性ＤＢ２１０は、属性識別情報「００１００００…０」に対応付けて、その属性識別情報により識別される商品の製造者の名称である「Ａ社」を記録している。
【００１４】
なお、本図では説明の都合上、商品の製造者名を示す文字列を属性データの代表例として示した。ただし、実際には、属性データは、例えばＸＭＬ等の構造化言語により統一的な構造で記録されたデータであることが望ましい。この場合、属性ＤＢ２１０は、例えば、属性識別情報「００１００００…０」に対応付けて、「Ａ社」という製造者名のみならず、その所在地や連絡先電話番号等その他その製造者に付随する属性データを、それぞれタグ記号により区別して記録する。これにより、情報処理装置によるデータ処理を一層効率的に行うことができる。
【００１５】
抽出部２２０は、キャッシュ装置３０から対象識別情報を受信すると、抽出子ＤＢ２００に記録された各々の抽出子によりその対象識別情報から属性識別情報を順次抽出する。抽出部２２０は、抽出した属性識別情報を読出部２３０に送り、抽出に用いた抽出子を送信部２４０に送る。読出部２３０は、抽出した各々の属性識別情報に対応する属性データの各々を属性ＤＢ２１０から読み出して送信部２４０に送る。送信部２４０は、読み出した属性データ、及び、抽出に用いた抽出子を対応付けてキャッシュ装置３０に送信する。
【００１６】
図３は、キャッシュ装置３０の機能を機能ブロックに分類して示す。キャッシュ装置３０は、キャッシュ部３００と、要求入力部３１０と、抽出部３２０と、キャッシュ読出部３３０と、データベース読出部３４０と、キャッシュ登録部３５０とを有する。キャッシュ部３００は、複数の属性の各々について、その属性の属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される属性データの組をキャッシュエントリとして記録する。要求入力部３１０は、クライアント装置１５から受信した対象識別情報に基づいてキャッシュ読み出し要求を抽出部３２０に送る。クライアント装置１５が、対象識別情報に対応する複数の属性のうち読み出すべき少なくとも１つの属性を指定していた場合は、要求入力部３１０は、キャッシュ読み出し要求に属性指定情報を付加して抽出部３２０に送る。
【００１７】
抽出部３２０は、要求入力部３１０が外部から対象識別情報を受信したことに応答して、キャッシュ部３００に記録された抽出子によりその対象識別情報から属性識別情報を抽出する。キャッシュ読出部３３０は、抽出した属性識別情報が、その抽出子に対応付けてキャッシュ部３００に記録された属性識別情報と一致することを条件として、その抽出子に対応付けてキャッシュ部３００に記録された属性データをクライアント装置１５に返信する。管理対象が商品である場合においては、例えば、キャッシュ読出部３３０は、属性データとして商品名又は製造者等を返信する。
【００１８】
一方で、データベース読出部３４０は、抽出した属性識別情報が、その抽出子に対応付けてキャッシュ部３００に記録された属性識別情報と一致しないことを条件として、その対象識別情報によりデータベース装置２０を検索してその対象識別情報に対応する属性データおよび抽出子を受信する。管理対象が商品である場合においては、例えば、データベース読出部３４０は、属性データとして商品名又は製造者等をデータベース装置２０から検索して受信する。キャッシュ登録部３５０は、データベース読出部３４０により読み出された抽出子および属性データ（例えば商品名等）を、その属性データに対応する属性識別情報に対応付けてキャッシュ部３００に記録させる。
【００１９】
図４は、キャッシュ部３００のデータ構造を示す。キャッシュ部３００は、属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される属性データの組を記録する。管理対象が商品である場合において、キャッシュ部３００は、商品の商品名を識別する属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される商品名の組を記録する。
ここで抽出子とは、例えば、ビット列である対象識別情報から属性識別情報を抽出するビットマスクである。本図では、キャッシュ部３００は、商品の製造者を識別する属性識別情報を抽出するビットマスクとして、１６進数の「ＦＦＦ００００…０」を記録している。即ち例えば、商品の製造者を識別する属性識別情報は、対象識別情報を示すビット列を１６進数で表した場合の最上位３桁に記録される。また、属性識別情報とは、対象識別情報をその属性識別情報に対応するビットマスクによりマスクして得られるビット列である。本図では、キャッシュ部３００は、商品の製造者を識別する属性識別情報として「００１００００…０」を記録している。即ち例えば、ある商品の対象識別情報の上３桁が００１の場合には、その商品の製造者は「Ａ社」である。
【００２０】
なお、本図に示した抽出子及び属性識別情報のデータ表記法は一例である。例えば、他の例として、キャッシュ部３００は、抽出子及び属性識別情報の何れの役割をも果たす所定の正規表現を、属性データに対応付けて記録してもよい。一例として、キャッシュ部３００は、抽出子「ＦＦＦ００００…０」及び属性識別情報「００１００００…０」に代えて、正規表現「００１［０−９］＊」を記録してもよい。この例において「［０−９］＊」は、任意の数字の文字列を示す正規表現の記号である。この場合、抽出部３２０は、対象識別情報が、この正規表現に包含されるか否かを判断することで、属性識別情報の抽出及び一致判定を同時に行うことができる。
【００２１】
図５は、クライアント装置１５がデータベース装置２０にアクセスする処理におけるデータの流れを示す。クライアント装置１５は、対象識別情報として「００１００１０…０１」をキャッシュ装置３０に送信する。キャッシュ装置３０は、その対象識別情報から、キャッシュ部３００に記録されている複数の抽出子の各々により属性識別情報を順次抽出し、その抽出子に対応して記録された属性識別情報と一致するか否かを判断する。その結果、何れの属性識別情報とも一致しなければ、キャッシュ装置３０は、その対象識別情報によりデータベース装置２０を検索する。
【００２２】
データベース装置２０は、対象識別情報を受け取ると、その対象識別情報に対応する属性データを読み出してキャッシュ装置３０に返信する。また、データベース装置２０は、属性データを識別する属性識別情報を対象識別情報から抽出するための抽出子を、更にキャッシュ装置３０に返信する。返信されるこれらの属性データ及び抽出子を返信データ５０とする。
【００２３】
より詳細には、返信データ５０は、属性の属性名とその属性データとの組を含む。例えば、「ＣＯＭＰＡＮＹ」は製造者の属性を示す属性名であり、その属性データは、製造社名「Ａ社」及びその所在地「東京」である。また、「ＰＲＯＤＵＣＴ」は商品名を示す属性名であり、その属性データは、商品名「コンピュータＡ」及びそのモデル名「ＸＴ４０」である。更に、返信データ５０は、属性を識別する属性識別情報を対象識別情報から抽出するための抽出子として、当該抽出子を示すビットマスクを含んでいる。例えば、製造者を識別する属性識別情報を対象識別情報から抽出するビットマスクは、「ＦＦＦ００００…０」であり、商品名を識別する属性識別情報を対象識別情報から抽出するビットマスクは、「０００ＦＦＦ０…０」である。
【００２４】
キャッシュ装置３０は、返信データ５０を受信すると、その中の属性データを返信データ５５としてクライアント装置１５に返信すると共に、受信した返信データ５０に基づいて、属性データをキャッシュ部３００に登録する。次に、クライアント装置１５は、対象識別情報として「００１００１３４２…３」をキャッシュ装置３０に送信する。この対象識別情報は、前回送信した対象識別情報と比較して、商品名及び製造者を識別する部分が同一であり、シリアル番号のみが異なっている。この場合、キャッシュ装置３０は、商品名を識別する属性識別情報に基づいて、既に記録した属性データである「Ａ社」及び「東京」をキャッシュ部３００から読み出して返信する。また、キャッシュ装置３０は、製品名を識別する属性識別情報に基づいて、既に記録した属性データである「コンピュータＡ」及び「ＸＴ４０」をキャッシュ部３００から読み出して返信する。これらの場合、キャッシュ装置３０は、データベース装置２０に対してアクセスする必要がない。
【００２５】
図６は、キャッシュ装置３０に記録される属性データの構造を、通常のキャッシュ方式と比較して示す。通常のキャッシュ方式では、対象識別情報に対応付けて属性データが記録される（図６（Ｂ））。例えば、ある商品の無線ＩＣタグから読み取った対象識別情報に対応付けて、その商品の製造者がＡ社であり、その商品の製品名が「コンピュータＡ」である旨の属性データが記録される。そして、次に、他の商品の無線ＩＣタグから対象識別情報が読み取られた場合には、その対象識別情報に対応付けて、その商品の製造者がＡ社であり、その商品の製品名が「コンピュータＡ」である旨の属性データが記録される。このように、通常のキャッシュ方式においては、同一商品でシリアル番号（図６（Ｂ）の例では、対象識別情報の一番右の属性識別情報がシリアル番号になっている）が異なれば別の検索処理であるとの前提の下、たとえ同じ属性データであっても重複して記録される。
【００２６】
これに対して、本実施例におけるキャッシュ装置３０は、各属性の属性データを、その属性を識別する属性識別情報に対応付けて記録する。例えば、ある対象識別情報を受け取った場合において、その対象識別情報により商品名及び製造者の各々が検索された場合には、商品名及び製造者の各々の属性データを属性毎に記録する。本図の例では、製造者が「Ａ社」である旨の属性データと、商品名が「コンピュータＡ」である旨の属性データとがそれぞれ記録される。
【００２７】
このように、本実施例におけるキャッシュ装置３０によれば、対象識別情報全体ではなく属性識別情報毎にキャッシュエントリを設けることで、対象識別情報が部分的に一致する場合においても、データベースの検索処理を効率化できる。また、通常のキャッシュ方式と比較して、キャッシュすべきデータの占有容量を小さくすることができる。
【００２８】
図７は、データベース装置２０が属性データを読み出して送信する処理のフローチャートを示す。
抽出子ＤＢ２００は、管理対象の属性に対応付けて、当該属性を識別する属性識別情報を対象識別情報から抽出するための抽出子を記録している。例えば、抽出子ＤＢ２００は、属性の属性名「ＣＯＭＰＡＮＹ」に対応付けて、ビット列である対象識別情報からその属性の属性識別情報を抽出するビットマスク「ＦＦＦ００００…０」を記録している。属性ＤＢ２１０は、属性識別情報に対応付けて、その属性識別情報により識別される属性データを記録している。例えば、属性ＤＢ２１０は、属性識別情報「００１００００…０」に対応付けて、その属性識別情報により識別される商品の製造者の名称である「Ａ社」を記録している。
【００２９】
抽出部２２０は、キャッシュ装置３０から対象識別情報を受信すると（Ｓ７００）、抽出子ＤＢ２００に記録された各々の抽出子によりその対象識別情報から属性識別情報を順次抽出する（Ｓ７１０）。読出部２３０は、抽出した各々の属性識別情報に対応する属性データの各々を属性ＤＢ２１０から読み出す（Ｓ７２０）。送信部２４０は、読み出した属性データ、及び、抽出に用いた抽出子を対応付けてキャッシュ装置３０に送信する（Ｓ７３０）。なお、データベース装置２０が属性指定情報を更に受信している場合においては、送信部２４０は、読み出した属性データのうち属性指定情報により指定された属性データのみを送信してもよい。
【００３０】
図８は、キャッシュ装置３０が属性データをキャッシュし、又は、キャッシュした属性データを返信する処理のフローチャートを示す。要求入力部３１０は、クライアント装置１５から対象識別情報を受信して、キャッシュ読み出し要求を入力する（Ｓ８００）。ここで、クライアント装置１５は、対象識別情報に対応する複数の属性のうち読み出したい属性を少なくとも１つ指定することができ、そのような場合は、要求入力部３１０はキャッシュ読み出し要求に属性指定情報を付加して入力する。抽出部３２０は、キャッシュ部３００に記録された複数の抽出子の各々により対象識別情報から属性識別情報を順次抽出すべく、キャッシュ部３００に記録された各キャッシュエントリを読み出す（Ｓ８１０）。図４の例で説明すると、最初は抽出子「ＦＦＦ００００・・・０」、属性識別情報「００１００００・・・０」および属性データ「Ａ社」を含むキャッシュエントリが読み出される。
【００３１】
抽出部３２０は、読み出したキャッシュエントリの抽出子により、対象識別情報から属性識別情報を抽出する（Ｓ８２０）。具体的には、抽出部３２０は、キャッシュ部３００に記録されたビットマスクで対象識別情報をマスクして得られるビット列を属性識別情報として抽出してもよい。これに代えて、抽出部３２０は、文字列である対象識別情報から、抽出子により指定される文字数の文字を抽出してもよい。また、抽出部３２０は、数値である対象識別情報から、抽出子により指定される桁の数のみを抽出して属性識別情報としてもよい。
【００３２】
キャッシュ読出部３３０は、抽出部３２０により抽出された属性識別情報が、Ｓ８１０で読み出した属性識別情報に一致するか否かを判断する（Ｓ８３０）。キャッシュ読出部３３０は、一致することを条件として、その属性識別情報に対応する属性データ（上の例では「Ａ社」）をクライアント装置１５への返信のためにバッファ（図示せず）に保管する（Ｓ８４０）。属性識別情報が一致しなかった場合は、Ｓ８１０で読み出した抽出子と同じ抽出子を持ったキャッシュエントリが残っているかどうかを判断し（Ｓ８５０）、残っていればＳ８１０に戻って上述の動作を繰り返す。同じ抽出子を持ったキャッシュエントリが残っていなければ、要求された属性データがキャッシュにないことになるので、抽出部３２０は、一致しなかった属性識別情報に対応する属性データの読み出しをデータベース読出部３４０に要求する（Ｓ８６０）。
【００３３】
Ｓ８４０またはＳ８６０に続いて、抽出部３２０は、異なる抽出子を持ったキャッシュエントリが残っているかどうかを判断し（Ｓ８７０）、もし残っていれば、Ｓ８１０に戻って上述の処理を繰り返す。図４の例で説明すると、このとき読み出されるキャッシュエントリは、抽出子「０００ＦＦＦ０・・・０」、属性識別情報「０００００１０・・・０」および属性データ「コンピュータＡ」を持ったものである。
【００３４】
異なる抽出子を持ったキャッシュエントリが残っていなければ、すなわちキャッシュ部３００の検索が完了すると、データベース読出部３４０は、Ｓ８６０で属性データの読み出しが要求されているかどうかを判断し（Ｓ８８０）、もし要求されていると、図５のところで説明したように、対象識別情報をデータベース装置２０に送って、それに対応する返信データ５０を受信する（Ｓ８９０）。そして、キャッシュ登録部３５０は、データベース読出部３４０により読み出された属性データのうち、Ｓ８６０で要求されていた属性データをその抽出子および属性識別情報とともにキャッシュ部３００に記録させる（Ｓ９００）。
【００３５】
最後に、キャッシュ読出部３３０は、Ｓ８４０で保管されていた属性データおよびＳ８９０でデータベース装置２０から読み出した属性データをクライアント装置１５に返信する（Ｓ９１０）。このとき、キャッシュ読み出し要求に属性指定情報が付加されていると、キャッシュ読出部３３０はその指定された属性のデータだけを返信する。その場合、Ｓ８１０〜Ｓ９００の各ステップは、指定された属性に限定して実行するようにしてもよい。例えば、指定された属性が「ＣＯＭＰＡＮＹ」の場合、抽出子「ＦＦＦ００００・・・０」だけを対象に処理を行うようにしてもよい。
【００３６】
図９は、キャッシュ装置３０として機能する情報処理装置９００のハードウェア構成の一例を示す。情報処理装置９００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００３７】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００３８】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置９００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００３９】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置９００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００４０】
情報処理装置９００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置９００にインストールされて実行される。プログラムが情報処理装置９００等に働きかけて行わせる動作は、図１から図８において説明したキャッシュ装置３０における動作と同一であるから、説明を省略する。
【００４１】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置９００に提供してもよい。
【００４２】
このように、本実施例におけるキャッシュ装置３０によれば、対象識別情報全体ではなく属性識別情報毎にキャッシュエントリを設けることで、対象識別情報が部分的に一致する場合においても、データベースの検索処理を効率化できる。また、通常のキャッシュ方式と比較して、キャッシュすべきデータの占有容量を小さくすることができる。
【００４３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４４】
【図１】図１は、属性データ管理システム１０の全体構成を示す。
【図２】図２は、データベース装置２０の構成を示す。
【図３】図３は、キャッシュ装置３０の機能を機能ブロックに分類して示す。
【図４】図４は、キャッシュ部３００のデータ構造を示す。
【図５】図５は、クライアント装置１５がデータベース装置２０にアクセスする処理におけるデータの流れを示す。
【図６】図６は、キャッシュ装置３０に記録される属性データの構造を、通常のキャッシュ方式と比較して示す。
【図７】図７は、データベース装置２０が属性データを読み出して送信する処理のフローチャートを示す。
【図８】図８は、キャッシュ装置３０が属性データをキャッシュし、又は、キャッシュした属性データを返信する処理のフローチャートを示す。
【図９】図９は、キャッシュ装置３０として機能する情報処理装置９００のハードウェア構成の一例を示す。
【符号の説明】
【００４５】
１０  属性データ管理システム
１２  無線ＩＣタグ
１５  クライアント装置
２０  データベース装置
３０  キャッシュ装置
５０  返信データ
２００  抽出子ＤＢ
２１０  属性ＤＢ
２２０  抽出部
２３０  読出部
２４０  送信部
３００  キャッシュ部
３１０  要求入力部
３２０  抽出部
３３０  キャッシュ読出部
３４０  データベース読出部
３５０  キャッシュ登録部
９００  情報処理装置
【図１】
2006293675.tif 000003
【図２】
2006293675.tif 000004
【図３】
2006293675.tif 000005
【図４】
2006293675.tif 000006
【図５】
2006293675.tif 000007
【図６】
2006293675.tif 000008
【図７】
2006293675.tif 000009
【図８】
2006293675.tif 000010
【図９】
2006293675.tif 000011