JP2006293675A - キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム - Google Patents

キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2006293675A
JP2006293675A JP2005113381A JP2005113381A JP2006293675A JP 2006293675 A JP2006293675 A JP 2006293675A JP 2005113381 A JP2005113381 A JP 2005113381A JP 2005113381 A JP2005113381 A JP 2005113381A JP 2006293675 A JP2006293675 A JP 2006293675A
Authority
JP
Japan
Prior art keywords
identification information
attribute
cache
extractor
unit
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.)
Pending
Application number
JP2005113381A
Other languages
English (en)
Inventor
Kazuhiro Yokomizo
和宏 横溝
Keiji Sato
圭嗣 佐藤
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.)
IBM Japan Ltd
Original Assignee
IBM Japan Ltd
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 IBM Japan Ltd filed Critical IBM Japan Ltd
Priority to JP2005113381A priority Critical patent/JP2006293675A/ja
Priority to US11/400,988 priority patent/US7542968B2/en
Publication of JP2006293675A publication Critical patent/JP2006293675A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】大規模なデータベースからその内容を読み出してキャッシュするキャッシュ装置において、キャッシュヒット率を向上させる。
【解決手段】キャッシュ装置30は、属性ID、属性IDを対象IDから抽出するための抽出子、および当該属性IDにより識別される属性データの組を記録するキャッシュ部300を備える。そして、キャッシュ装置30は、対象IDを受信して、キャッシュ部300に記録された抽出子により対象IDから属性IDを抽出し、抽出した属性IDが、抽出子に対応付けてキャッシュされた属性IDと一致すれば、抽出子に対応付けて記録された属性データを返信する。一方で、抽出した属性IDが、抽出子に対応付けて記録された属性IDと一致しなければ、対象IDによりDB20から属性データおよび抽出子を受信し、読み出された抽出子および属性データを属性IDに対応付けてキャッシュ部300にキャッシュさせる。
【選択図】図3

Description

本発明は、キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムに関する。特に、本発明は、属性データをその識別情報に対応付けて記録する属性データベースについてのキャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムに関する。
近年、RFID(Radio Frequency Identification)とも呼ばれる無線ICタグの技術を活用した商品管理が研究されている。無線ICタグによれば、一度に複数のタグを読めるので、商品の入っている箱単位にIDを振るのではなく、商品の個体毎に異なるシリアル番号等を管理の対象とすることができる。
無線ICタグによる商品管理においては、管理の対象となる属性データが膨大であり、なおかつ属性データの管理者が属性又は商品毎に異なっている場合がある。また、属性データの大半が一般に公開されている。このため、属性データは、広域の通信ネットワーク上に分散管理され、ネットワークを介して利用者からアクセスされる場合がある。一方で、ネットワーク上の属性データに対して効率的にアクセスするには、そのアクセス量をできるだけ低減することが重要である。このため、一度アクセスした属性データをキャッシュに保存し、再利用することが望ましい。
キャッシュシステムに関する参考技術として、従来、複数のキャッシュの各々にデータベース内のデータを保持させるシステムにおいて、データの一貫性を保持する技術が提案されている(特許文献1参照。)。また、従来、データベースへのクエリ及びその結果得られるデータの組をキャッシュに保持することで、既存のアプリケーションプログラムを変更することなく、キャッシュの管理を簡便に行う技術が提案されている(特許文献2参照。)。
特開2000−20385号公報 特開平8−274401号公報
しかしながら、無線ICタグにおいては、IDが個々の商品毎に定められ、IDの総数が膨大となるので、一度アクセスした属性データを単に保存する方法では不十分と考えられる。例えば、ある大手スーパーでは、1つの店舗で扱う商品数が30万点であり、それぞれに関連する属性データ(色、重さ、サイズ、日付、出荷元、出荷日、販促情報、広告、画像、など)は最大400程度と言われている。従来は個品のIDごとにキャッシュエントリを用意していたため、例えば商品数が30万点で、1つの商品の在庫が200個(個品)あれば、効率的なアクセスのために6000万のキャッシュエントリを用意する必要がある。このように、キャッシュエントリが膨大となれば、キャッシュがメモリ上にあればその消費量に、キャッシュがDB上にあればその検索時間に影響する。しかも、それらの情報は時間とともに頻繁に入れ替わるため、キャッシュしている属性データも頻繁に入れ替える必要があり、キャッシュのヒット率が低下する。
なお、特許文献1の技術は、複数のキャッシュを設けたことにより生じるデータ一貫性の問題を解決するものであって、これによってキャッシュのヒット率を向上させることはできない。また、特許文献2の技術は、キャッシュ内に保持されたクエリと、新たに受けたクエリとの間で包含判定が必要となる。また、この技術は、SQLのような構文で記述されたクエリを対象とするので、IDと属性データとを対応付けた無線ICタグのような技術に応用することはできない。
そこで本発明は、上記の課題を解決することのできるキャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラムを提供することを目的とする。
上記課題を解決するために、本発明の第1の形態においては、各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置であって、属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、外部から対象識別情報を受信したことに応答して、キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、抽出した属性識別情報が、当該抽出子に対応付けてキャッシュ部に記録された属性識別情報と一致することを条件として、当該抽出子に対応付けてキャッシュ部に記録された属性データを外部に返信するキャッシュ読出部と、抽出した属性識別情報が、当該抽出子に対応付けてキャッシュ部に記録された属性識別情報と一致しないことを条件として、対象識別情報によりデータベース装置を検索して当該対象識別情報に対応する属性データおよび抽出子を受信するデータベース読出部と、データベース読出部により読み出された抽出子および属性データを、当該属性データに対応する属性識別情報に対応付けてキャッシュ部に記録させるキャッシュ登録部とを備えるキャッシュ装置、当該キャッシュ装置の制御方法、当該キャッシュ装置として情報処理装置を機能させるプログラムを提供する。
本発明によれば、属性データとその識別番号としての対象識別情報とを対応付けたデータベースから、属性データを読み出してキャッシュする場合において、個々の商品のシリアル番号等を含んだ対象識別情報が頻繁に入れ替わっても高いキャッシュヒット率を実現できる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、属性データ管理システム10の全体構成を示す。属性データ管理システム10は、無線ICタグ12(12〜12)と、クライアント装置15と、データベース装置20(20〜20)と、キャッシュ装置30とを備える。無線ICタグ12は、管理対象である商品等に添付され、その管理対象を識別する対象識別情報を記録する。無線ICタグ12に記録される対象識別情報は、複数の属性に対応する複数の属性識別情報に基づいて定められている。クライアント装置15は、無線ICタグ12から対象識別情報を読み出してキャッシュ装置30に送信する。データベース装置20は、対象識別情報に対応付けて管理対象の属性データを記録している。キャッシュ装置30は、外部の装置であるクライアント装置15から対象識別情報を受け取り、その対象識別情報に対応する属性データを既に記録している場合にはその属性データをクライアント装置15に返信する。一方で、キャッシュ装置30は、属性データを記録していない場合には、データベース装置20から属性データを読み出してクライアント装置15に返信する。
本実施例に係る属性データ管理システム10は、このようにデータベース装置20の記録内容をキャッシュするキャッシュ装置30を設けた場合において、キャッシュ装置30におけるデータ構造を工夫することで、対象識別情報に個々の商品を識別するシリアル番号等が含まれていて、その桁数が大きい場合であっても、高いキャッシュヒット率を実現することを目的とする。
なお、無線ICタグ12〜12はそれぞれ略同一であり、データベース装置20〜20もそれぞれ略同一であるので、以下では、無線ICタグ12およびデータベース装置20といえば、それぞれ12および20を意味するものとし、他の無線ICタグ12〜12およびデータベース装置20〜20については、以降相違点を除き説明を省略する。
図2は、データベース装置20の構成を示す。データベース装置20は、抽出子DB200と、属性DB210と、抽出部220と、読出部230と、送信部240とを有する。抽出子DB200は、管理対象の属性に対応付けて、当該属性を識別する属性識別情報を対象識別情報から抽出するための抽出子を記録している。例えば、抽出子DB200は、属性の属性名「COMPANY」に対応付けて、ビット列である対象識別情報からその属性の属性識別情報を抽出するビットマスク「FFF0000…0」を記録している。属性DB210は、属性識別情報に対応付けて、その属性識別情報により識別される属性データを対応付けて記録している。例えば、属性DB210は、属性識別情報「0010000…0」に対応付けて、その属性識別情報により識別される商品の製造者の名称である「A社」を記録している。
なお、本図では説明の都合上、商品の製造者名を示す文字列を属性データの代表例として示した。ただし、実際には、属性データは、例えばXML等の構造化言語により統一的な構造で記録されたデータであることが望ましい。この場合、属性DB210は、例えば、属性識別情報「0010000…0」に対応付けて、「A社」という製造者名のみならず、その所在地や連絡先電話番号等その他その製造者に付随する属性データを、それぞれタグ記号により区別して記録する。これにより、情報処理装置によるデータ処理を一層効率的に行うことができる。
抽出部220は、キャッシュ装置30から対象識別情報を受信すると、抽出子DB200に記録された各々の抽出子によりその対象識別情報から属性識別情報を順次抽出する。抽出部220は、抽出した属性識別情報を読出部230に送り、抽出に用いた抽出子を送信部240に送る。読出部230は、抽出した各々の属性識別情報に対応する属性データの各々を属性DB210から読み出して送信部240に送る。送信部240は、読み出した属性データ、及び、抽出に用いた抽出子を対応付けてキャッシュ装置30に送信する。
図3は、キャッシュ装置30の機能を機能ブロックに分類して示す。キャッシュ装置30は、キャッシュ部300と、要求入力部310と、抽出部320と、キャッシュ読出部330と、データベース読出部340と、キャッシュ登録部350とを有する。キャッシュ部300は、複数の属性の各々について、その属性の属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される属性データの組をキャッシュエントリとして記録する。要求入力部310は、クライアント装置15から受信した対象識別情報に基づいてキャッシュ読み出し要求を抽出部320に送る。クライアント装置15が、対象識別情報に対応する複数の属性のうち読み出すべき少なくとも1つの属性を指定していた場合は、要求入力部310は、キャッシュ読み出し要求に属性指定情報を付加して抽出部320に送る。
抽出部320は、要求入力部310が外部から対象識別情報を受信したことに応答して、キャッシュ部300に記録された抽出子によりその対象識別情報から属性識別情報を抽出する。キャッシュ読出部330は、抽出した属性識別情報が、その抽出子に対応付けてキャッシュ部300に記録された属性識別情報と一致することを条件として、その抽出子に対応付けてキャッシュ部300に記録された属性データをクライアント装置15に返信する。管理対象が商品である場合においては、例えば、キャッシュ読出部330は、属性データとして商品名又は製造者等を返信する。
一方で、データベース読出部340は、抽出した属性識別情報が、その抽出子に対応付けてキャッシュ部300に記録された属性識別情報と一致しないことを条件として、その対象識別情報によりデータベース装置20を検索してその対象識別情報に対応する属性データおよび抽出子を受信する。管理対象が商品である場合においては、例えば、データベース読出部340は、属性データとして商品名又は製造者等をデータベース装置20から検索して受信する。キャッシュ登録部350は、データベース読出部340により読み出された抽出子および属性データ(例えば商品名等)を、その属性データに対応する属性識別情報に対応付けてキャッシュ部300に記録させる。
図4は、キャッシュ部300のデータ構造を示す。キャッシュ部300は、属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される属性データの組を記録する。管理対象が商品である場合において、キャッシュ部300は、商品の商品名を識別する属性識別情報、その属性識別情報を対象識別情報から抽出するための抽出子、およびその属性識別情報により識別される商品名の組を記録する。
ここで抽出子とは、例えば、ビット列である対象識別情報から属性識別情報を抽出するビットマスクである。本図では、キャッシュ部300は、商品の製造者を識別する属性識別情報を抽出するビットマスクとして、16進数の「FFF0000…0」を記録している。即ち例えば、商品の製造者を識別する属性識別情報は、対象識別情報を示すビット列を16進数で表した場合の最上位3桁に記録される。また、属性識別情報とは、対象識別情報をその属性識別情報に対応するビットマスクによりマスクして得られるビット列である。本図では、キャッシュ部300は、商品の製造者を識別する属性識別情報として「0010000…0」を記録している。即ち例えば、ある商品の対象識別情報の上3桁が001の場合には、その商品の製造者は「A社」である。
なお、本図に示した抽出子及び属性識別情報のデータ表記法は一例である。例えば、他の例として、キャッシュ部300は、抽出子及び属性識別情報の何れの役割をも果たす所定の正規表現を、属性データに対応付けて記録してもよい。一例として、キャッシュ部300は、抽出子「FFF0000…0」及び属性識別情報「0010000…0」に代えて、正規表現「001[0−9]*」を記録してもよい。この例において「[0−9]*」は、任意の数字の文字列を示す正規表現の記号である。この場合、抽出部320は、対象識別情報が、この正規表現に包含されるか否かを判断することで、属性識別情報の抽出及び一致判定を同時に行うことができる。
図5は、クライアント装置15がデータベース装置20にアクセスする処理におけるデータの流れを示す。クライアント装置15は、対象識別情報として「0010010…01」をキャッシュ装置30に送信する。キャッシュ装置30は、その対象識別情報から、キャッシュ部300に記録されている複数の抽出子の各々により属性識別情報を順次抽出し、その抽出子に対応して記録された属性識別情報と一致するか否かを判断する。その結果、何れの属性識別情報とも一致しなければ、キャッシュ装置30は、その対象識別情報によりデータベース装置20を検索する。
データベース装置20は、対象識別情報を受け取ると、その対象識別情報に対応する属性データを読み出してキャッシュ装置30に返信する。また、データベース装置20は、属性データを識別する属性識別情報を対象識別情報から抽出するための抽出子を、更にキャッシュ装置30に返信する。返信されるこれらの属性データ及び抽出子を返信データ50とする。
より詳細には、返信データ50は、属性の属性名とその属性データとの組を含む。例えば、「COMPANY」は製造者の属性を示す属性名であり、その属性データは、製造社名「A社」及びその所在地「東京」である。また、「PRODUCT」は商品名を示す属性名であり、その属性データは、商品名「コンピュータA」及びそのモデル名「XT40」である。更に、返信データ50は、属性を識別する属性識別情報を対象識別情報から抽出するための抽出子として、当該抽出子を示すビットマスクを含んでいる。例えば、製造者を識別する属性識別情報を対象識別情報から抽出するビットマスクは、「FFF0000…0」であり、商品名を識別する属性識別情報を対象識別情報から抽出するビットマスクは、「000FFF0…0」である。
キャッシュ装置30は、返信データ50を受信すると、その中の属性データを返信データ55としてクライアント装置15に返信すると共に、受信した返信データ50に基づいて、属性データをキャッシュ部300に登録する。次に、クライアント装置15は、対象識別情報として「001001342…3」をキャッシュ装置30に送信する。この対象識別情報は、前回送信した対象識別情報と比較して、商品名及び製造者を識別する部分が同一であり、シリアル番号のみが異なっている。この場合、キャッシュ装置30は、商品名を識別する属性識別情報に基づいて、既に記録した属性データである「A社」及び「東京」をキャッシュ部300から読み出して返信する。また、キャッシュ装置30は、製品名を識別する属性識別情報に基づいて、既に記録した属性データである「コンピュータA」及び「XT40」をキャッシュ部300から読み出して返信する。これらの場合、キャッシュ装置30は、データベース装置20に対してアクセスする必要がない。
図6は、キャッシュ装置30に記録される属性データの構造を、通常のキャッシュ方式と比較して示す。通常のキャッシュ方式では、対象識別情報に対応付けて属性データが記録される(図6(B))。例えば、ある商品の無線ICタグから読み取った対象識別情報に対応付けて、その商品の製造者がA社であり、その商品の製品名が「コンピュータA」である旨の属性データが記録される。そして、次に、他の商品の無線ICタグから対象識別情報が読み取られた場合には、その対象識別情報に対応付けて、その商品の製造者がA社であり、その商品の製品名が「コンピュータA」である旨の属性データが記録される。このように、通常のキャッシュ方式においては、同一商品でシリアル番号(図6(B)の例では、対象識別情報の一番右の属性識別情報がシリアル番号になっている)が異なれば別の検索処理であるとの前提の下、たとえ同じ属性データであっても重複して記録される。
これに対して、本実施例におけるキャッシュ装置30は、各属性の属性データを、その属性を識別する属性識別情報に対応付けて記録する。例えば、ある対象識別情報を受け取った場合において、その対象識別情報により商品名及び製造者の各々が検索された場合には、商品名及び製造者の各々の属性データを属性毎に記録する。本図の例では、製造者が「A社」である旨の属性データと、商品名が「コンピュータA」である旨の属性データとがそれぞれ記録される。
このように、本実施例におけるキャッシュ装置30によれば、対象識別情報全体ではなく属性識別情報毎にキャッシュエントリを設けることで、対象識別情報が部分的に一致する場合においても、データベースの検索処理を効率化できる。また、通常のキャッシュ方式と比較して、キャッシュすべきデータの占有容量を小さくすることができる。
図7は、データベース装置20が属性データを読み出して送信する処理のフローチャートを示す。
抽出子DB200は、管理対象の属性に対応付けて、当該属性を識別する属性識別情報を対象識別情報から抽出するための抽出子を記録している。例えば、抽出子DB200は、属性の属性名「COMPANY」に対応付けて、ビット列である対象識別情報からその属性の属性識別情報を抽出するビットマスク「FFF0000…0」を記録している。属性DB210は、属性識別情報に対応付けて、その属性識別情報により識別される属性データを記録している。例えば、属性DB210は、属性識別情報「0010000…0」に対応付けて、その属性識別情報により識別される商品の製造者の名称である「A社」を記録している。
抽出部220は、キャッシュ装置30から対象識別情報を受信すると(S700)、抽出子DB200に記録された各々の抽出子によりその対象識別情報から属性識別情報を順次抽出する(S710)。読出部230は、抽出した各々の属性識別情報に対応する属性データの各々を属性DB210から読み出す(S720)。送信部240は、読み出した属性データ、及び、抽出に用いた抽出子を対応付けてキャッシュ装置30に送信する(S730)。なお、データベース装置20が属性指定情報を更に受信している場合においては、送信部240は、読み出した属性データのうち属性指定情報により指定された属性データのみを送信してもよい。
図8は、キャッシュ装置30が属性データをキャッシュし、又は、キャッシュした属性データを返信する処理のフローチャートを示す。要求入力部310は、クライアント装置15から対象識別情報を受信して、キャッシュ読み出し要求を入力する(S800)。ここで、クライアント装置15は、対象識別情報に対応する複数の属性のうち読み出したい属性を少なくとも1つ指定することができ、そのような場合は、要求入力部310はキャッシュ読み出し要求に属性指定情報を付加して入力する。抽出部320は、キャッシュ部300に記録された複数の抽出子の各々により対象識別情報から属性識別情報を順次抽出すべく、キャッシュ部300に記録された各キャッシュエントリを読み出す(S810)。図4の例で説明すると、最初は抽出子「FFF0000・・・0」、属性識別情報「0010000・・・0」および属性データ「A社」を含むキャッシュエントリが読み出される。
抽出部320は、読み出したキャッシュエントリの抽出子により、対象識別情報から属性識別情報を抽出する(S820)。具体的には、抽出部320は、キャッシュ部300に記録されたビットマスクで対象識別情報をマスクして得られるビット列を属性識別情報として抽出してもよい。これに代えて、抽出部320は、文字列である対象識別情報から、抽出子により指定される文字数の文字を抽出してもよい。また、抽出部320は、数値である対象識別情報から、抽出子により指定される桁の数のみを抽出して属性識別情報としてもよい。
キャッシュ読出部330は、抽出部320により抽出された属性識別情報が、S810で読み出した属性識別情報に一致するか否かを判断する(S830)。キャッシュ読出部330は、一致することを条件として、その属性識別情報に対応する属性データ(上の例では「A社」)をクライアント装置15への返信のためにバッファ(図示せず)に保管する(S840)。属性識別情報が一致しなかった場合は、S810で読み出した抽出子と同じ抽出子を持ったキャッシュエントリが残っているかどうかを判断し(S850)、残っていればS810に戻って上述の動作を繰り返す。同じ抽出子を持ったキャッシュエントリが残っていなければ、要求された属性データがキャッシュにないことになるので、抽出部320は、一致しなかった属性識別情報に対応する属性データの読み出しをデータベース読出部340に要求する(S860)。
S840またはS860に続いて、抽出部320は、異なる抽出子を持ったキャッシュエントリが残っているかどうかを判断し(S870)、もし残っていれば、S810に戻って上述の処理を繰り返す。図4の例で説明すると、このとき読み出されるキャッシュエントリは、抽出子「000FFF0・・・0」、属性識別情報「0000010・・・0」および属性データ「コンピュータA」を持ったものである。
異なる抽出子を持ったキャッシュエントリが残っていなければ、すなわちキャッシュ部300の検索が完了すると、データベース読出部340は、S860で属性データの読み出しが要求されているかどうかを判断し(S880)、もし要求されていると、図5のところで説明したように、対象識別情報をデータベース装置20に送って、それに対応する返信データ50を受信する(S890)。そして、キャッシュ登録部350は、データベース読出部340により読み出された属性データのうち、S860で要求されていた属性データをその抽出子および属性識別情報とともにキャッシュ部300に記録させる(S900)。
最後に、キャッシュ読出部330は、S840で保管されていた属性データおよびS890でデータベース装置20から読み出した属性データをクライアント装置15に返信する(S910)。このとき、キャッシュ読み出し要求に属性指定情報が付加されていると、キャッシュ読出部330はその指定された属性のデータだけを返信する。その場合、S810〜S900の各ステップは、指定された属性に限定して実行するようにしてもよい。例えば、指定された属性が「COMPANY」の場合、抽出子「FFF0000・・・0」だけを対象に処理を行うようにしてもよい。
図9は、キャッシュ装置30として機能する情報処理装置900のハードウェア構成の一例を示す。情報処理装置900は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置900が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置900の起動時にCPU1000が実行するブートプログラムや、情報処理装置900のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置900に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置900にインストールされて実行される。プログラムが情報処理装置900等に働きかけて行わせる動作は、図1から図8において説明したキャッシュ装置30における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置900に提供してもよい。
このように、本実施例におけるキャッシュ装置30によれば、対象識別情報全体ではなく属性識別情報毎にキャッシュエントリを設けることで、対象識別情報が部分的に一致する場合においても、データベースの検索処理を効率化できる。また、通常のキャッシュ方式と比較して、キャッシュすべきデータの占有容量を小さくすることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、属性データ管理システム10の全体構成を示す。 図2は、データベース装置20の構成を示す。 図3は、キャッシュ装置30の機能を機能ブロックに分類して示す。 図4は、キャッシュ部300のデータ構造を示す。 図5は、クライアント装置15がデータベース装置20にアクセスする処理におけるデータの流れを示す。 図6は、キャッシュ装置30に記録される属性データの構造を、通常のキャッシュ方式と比較して示す。 図7は、データベース装置20が属性データを読み出して送信する処理のフローチャートを示す。 図8は、キャッシュ装置30が属性データをキャッシュし、又は、キャッシュした属性データを返信する処理のフローチャートを示す。 図9は、キャッシュ装置30として機能する情報処理装置900のハードウェア構成の一例を示す。
符号の説明
10 属性データ管理システム
12 無線ICタグ
15 クライアント装置
20 データベース装置
30 キャッシュ装置
50 返信データ
200 抽出子DB
210 属性DB
220 抽出部
230 読出部
240 送信部
300 キャッシュ部
310 要求入力部
320 抽出部
330 キャッシュ読出部
340 データベース読出部
350 キャッシュ登録部
900 情報処理装置

Claims (11)

  1. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置であって、
    前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
    外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
    前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
    を備えるキャッシュ装置。
  2. 対象識別情報に対応する複数の属性のうち読み出すべき少なくとも1つの属性を指定する属性指定情報付加してキャッシュ読み出し要求を入力する要求入力部を更に備え、
    前記キャッシュ読出部は、前記キャッシュ部に記録された属性データの属性が、前記属性指定情報により指定されていることを条件として、当該属性データを外部に返信する、
    請求項1記載のキャッシュ装置。
  3. 前記キャッシュ部は、複数の属性の各々について、当該属性の属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録し、
    前記抽出部は、前記キャッシュ部に記録された異なる抽出子ごとに、外部から受信した対象識別情報から属性識別情報を順次抽出し、
    前記キャッシュ読出部は、順次抽出される複数の属性識別情報の各々について、当該属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報に一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された属性データを外部に返信し、
    前記データベース読出部は、何れかの属性についての属性データが前記キャッシュ部に記録されていなかったことを条件として、前記対象識別情報により前記データベースを検索する
    請求項1記載のキャッシュ装置。
  4. 前記キャッシュ部は、前記抽出子として、ビット列である対象識別情報から属性識別情報を抽出するビットマスクを記録し、
    前記抽出部は、前記キャッシュ部に記録されたビットマスクで対象識別情報をマスクして得られるビット列を前記属性識別情報として抽出する
    請求項1記載のキャッシュ装置。
  5. 前記キャッシュ部は、商品の商品名を識別する前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される商品名の組を記録し、
    前記抽出部は、外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出し、
    前記キャッシュ読出部は、抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された商品名を外部に返信し、
    前記データベース読出部は、抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する商品名および前記抽出子を受信し、
    前記キャッシュ登録部は、前記データベース読出部により読み出された前記抽出子および商品名を、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させる
    請求項1記載のキャッシュ装置。
  6. 複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報を外部から受け取り、当該対象識別情報から抽出した前記属性識別情報に対応する属性データを返す属性データ管理システムであって、
    外部から受信した前記対象識別情報により指定される前記管理対象の前記属性データを読み出すデータベース装置と、
    前記データベース装置から読み出された前記属性データをキャッシュするキャッシュ装置と
    を備え、
    前記データベース装置は、
    前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
    前記対象識別情報から前記属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
    前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
    を有し、
    前記キャッシュ装置は、
    前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
    外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
    前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
    を有する属性データ管理システム。
  7. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置であって、
    前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
    前記対象識別情報から前記属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
    前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
    を備えるデータベース装置。
  8. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置の制御方法であって、
    前記キャッシュ装置は、
    前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュを有し、
    外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出段階と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出段階と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出段階と、
    前記データベース読出段階において読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録段階と
    を備える制御方法。
  9. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置から、当該属性データを読み出してキャッシュするキャッシュ装置として、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    前記属性識別情報、当該属性識別情報を対象識別情報から抽出するための抽出子、および当該属性識別情報により識別される属性データの組を記録するキャッシュ部と、
    外部から対象識別情報を受信したことに応答して、前記キャッシュ部に記録された抽出子により当該対象識別情報から属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致することを条件として、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性データを外部に返信するキャッシュ読出部と、
    抽出した前記属性識別情報が、当該抽出子に対応付けて前記キャッシュ部に記録された前記属性識別情報と一致しないことを条件として、前記対象識別情報により前記データベース装置を検索して当該対象識別情報に対応する前記属性データおよび前記抽出子を受信するデータベース読出部と、
    前記データベース読出部により読み出された前記抽出子および前記属性データを、当該属性データに対応する前記属性識別情報に対応付けて前記キャッシュ部に記録させるキャッシュ登録部と
    して機能させるプログラム。
  10. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置の制御方法であって、
    前記データベース装置は、前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースを有し、
    前記対象識別情報から前記属性識別情報を抽出する抽出段階と、
    抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出段階と、
    前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信段階と
    を備える制御方法。
  11. 各々の管理対象が有する複数の属性の各々についての属性データを、当該複数の属性に対応する複数の属性識別情報に基づいて定められる管理対象の対象識別情報に対応付けて記録したデータベース装置として、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    前記複数の属性の各々について、当該属性の属性識別情報に対応する属性データを記録する属性データベースと、
    前記対象識別情報から前記属性識別情報を抽出する抽出部と、
    抽出した前記属性識別情報に対応する前記属性データを前記属性データベースから読み出す読出部と、
    前記属性データと、前記対象識別情報から前記属性識別情報を抽出するための抽出子とを前記キャッシュ装置へ送信する送信部と
    して機能させるプログラム。
JP2005113381A 2005-04-11 2005-04-11 キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム Pending JP2006293675A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005113381A JP2006293675A (ja) 2005-04-11 2005-04-11 キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム
US11/400,988 US7542968B2 (en) 2005-04-11 2006-04-10 Attribute data management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005113381A JP2006293675A (ja) 2005-04-11 2005-04-11 キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2006293675A true JP2006293675A (ja) 2006-10-26

Family

ID=37084399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005113381A Pending JP2006293675A (ja) 2005-04-11 2005-04-11 キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US7542968B2 (ja)
JP (1) JP2006293675A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US8229945B2 (en) * 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US8732386B2 (en) * 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8677055B2 (en) 2010-04-12 2014-03-18 Sandisk Enterprises IP LLC Flexible way of specifying storage attributes in a flash memory-based object store
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
GB2505230B (en) * 2012-08-23 2019-10-16 Metaswitch Networks Ltd Leader node appointment
US11551537B2 (en) 2019-04-11 2023-01-10 Nexite Ltd. Wireless dual-mode identification tag
CN114844532B (zh) 2019-04-11 2024-06-07 奈克赛特公司 用于无线通信标签的电容器架构
EP4275160A1 (en) 2021-01-11 2023-11-15 Nexite Ltd. Contactless and automatic operations of a retail store
US20230186239A1 (en) 2021-12-13 2023-06-15 Nexite Ltd. Systems and methods for presence estimation for missing products

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4118788A (en) * 1977-03-07 1978-10-03 Bell Telephone Laboratories, Incorporated Associative information retrieval
JPH06274401A (ja) 1993-03-18 1994-09-30 Nec Corp 分散データベース制御方式
WO1995004960A2 (en) * 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
US5504889A (en) * 1993-12-28 1996-04-02 Microsoft Corporation Method and system for monitoring file attributes using bitmaps to determine group membership of files and to determine which files have been processed
JP2989592B1 (ja) 1998-10-20 1999-12-13 三菱重工業株式会社 トンネル掘削機及び掘削工法
FI991262A (fi) * 1999-06-02 2000-12-03 Nokia Networks Oy Digitaaliseen trie-rakenteeseen perustuva muisti
US6654760B2 (en) * 2001-06-04 2003-11-25 Hewlett-Packard Development Company, L.P. System and method of providing a cache-efficient, hybrid, compressed digital tree with wide dynamic ranges and simple interface requiring no configuration or tuning

Also Published As

Publication number Publication date
US20060230232A1 (en) 2006-10-12
US7542968B2 (en) 2009-06-02

Similar Documents

Publication Publication Date Title
JP2006293675A (ja) キャッシュ装置、属性データ管理システム、データベース装置、制御方法、およびプログラム
US8095555B2 (en) Information processing apparatus and method and information system
US8588691B2 (en) Information processing apparatus, and method and information processing system
CN1584884B (zh) 检索结构化文档的数据的设备
CN102364464B (zh) 对象实例版本化
KR20070036374A (ko) 데이터베이스로의 쿼리 전송 방법 및 쿼리 전송 시스템
CN106940646A (zh) 一种软件国际化处理方法、装置及系统
US20110119602A1 (en) Web server, web browser and web system
CN109388642B (zh) 基于标签的敏感数据追踪溯源方法
CN100449545C (zh) 访问扇区数据的方法和系统
JP2004280574A (ja) 翻訳システム、辞書更新サーバ、翻訳方法、及び、これらのプログラムと記録媒体
US20070233668A1 (en) Method, system, and computer program product for semantic annotation of data in a software system
CN101266617A (zh) 用于存储平台中的锁定和隔离的系统和方法
WO2003060764A1 (fr) Systeme de recherche d'informations
CN117171108B (zh) 一种虚拟模型映射方法和系统
JP5186270B2 (ja) データベースのキャッシュシステム
JP2007018349A (ja) システム、検出方法およびプログラム
US20010051899A1 (en) Document managing apparatus for managing transaction slip data in electronic commerce
CN109474653A (zh) 一种购物网站访客访问监控统计及站外推送系统及方法
JP2000163445A (ja) データベース管理システム
KR102356010B1 (ko) 장치 간에 데이터를 이관하는 방법 및 그 시스템
KR20060104101A (ko) 복수의 이종 데이터베이스와 연동하여 다양한 상품 정보를제공하기 위한 방법 및 시스템
US7386570B2 (en) Method, system and program product for providing high performance data lookup
CN101894126A (zh) 用于在数据库中存储卷属性的方法和系统
KR20050041898A (ko) 데이터 백업 시스템 및 방법과 그 기록 매체