JP2009543224A - 可変圧縮による適応索引 - Google Patents

可変圧縮による適応索引 Download PDF

Info

Publication number
JP2009543224A
JP2009543224A JP2009518560A JP2009518560A JP2009543224A JP 2009543224 A JP2009543224 A JP 2009543224A JP 2009518560 A JP2009518560 A JP 2009518560A JP 2009518560 A JP2009518560 A JP 2009518560A JP 2009543224 A JP2009543224 A JP 2009543224A
Authority
JP
Japan
Prior art keywords
search
computer
key
tree
implemented method
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.)
Withdrawn
Application number
JP2009518560A
Other languages
English (en)
Inventor
ツシア クズネトソフ,
イリヤ エム. サンドルレ,
Original Assignee
テレ アトラス ノース アメリカ インコーポレイテッド
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 テレ アトラス ノース アメリカ インコーポレイテッド filed Critical テレ アトラス ノース アメリカ インコーポレイテッド
Priority claimed from PCT/US2007/072411 external-priority patent/WO2008005808A2/en
Publication of JP2009543224A publication Critical patent/JP2009543224A/ja
Withdrawn 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/29Geographical information databases

Landscapes

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

Abstract

本発明は、圧縮オブジェクトストア及び探索木を迅速に試作することを容易にするために、コンパクトな索引付け、並びに文字列探索キーの融通性のある構成及び他の探索基準を使用してオブジェクトの効率的な多次元探索のためのシステムを構成するトライの概念に基づく。これは、種々の探索方法を組み込む。

Description

本願は、以下の同時継続の出願:2006年6月30日出願の、Tsia Kuznetsov等による「可変圧縮による適応索引」という名称の米国仮出願番号60/806,366(Attorney Docket No. TELA-07780US0);2006年6月30日出願の、Tsia Kuznetsov等による「可変圧縮による適応索引における最近傍検索」という名称の米国仮出願番号60/806,367(Attorney Docket No. TELA-07781US0);2007年6月28日出願の、Tsia Kuznetsov等による「可変圧縮による適応索引」という名称の米国特許出願番号11/770,058(Attorney Docket No. TELA-07780US1);及び、2007年6月28日出願の、Tsia Kuznetsov等による「可変圧縮による適応索引における最近傍検索」という名称の米国特許出願番号11/770,426(Attorney Docket No. TELA-07781US1)、の優先権を主張するものであり、それらの内容は、本願に合体されるものである。
発明の背景
多くのアプリケーションは、ユーザに対して地図作成サービスを提供するために、格納された地理データを使用できる。モバイルシステム又は固定システムに対して実現可能なアプリケーションは、マップレンダリング、空間オブジェクト探索、ジオコーディング又はジオルックアップ、経路探索、方向及び位置決めを含むことができる。オブジェクト探索、特に文字列キーによるオブジェクト探索はそれらのアプリケーションに対して使用される。
図1は、本発明の一実施形態のマップを使用するシステムを示す図である。 図2A及び図2Bは、索引付けを含むシステム及び索引付けを含まないシステムを示す図である。 図3A及び図3Bは、短い葉ノード及び長い葉ノードを示す図である。 図4A及び図4Bは、一実施形態の木システムを示す図である。 図5は、一実施形態の方法を示すフローチャートである。 図6A〜図6Cは、図5の方法の実施形態の動作を示す図である。 図7は、ノードが除外又は含有情報等の他の探索基準の指示を含む一例を示す図である。 図8は、複数の木を含む単一のオブジェクトストアを使用することを示す図である。 図9A及び図9Bは、木に対するキー構造を選択するためにAPIを使用することを示す図である。
詳細な説明
本発明の一実施形態は、文字列キーによりオブジェクトを探索する探索システムを適応的に構成するためのコンピュータにより実現される方法である。探索システムは、オブジェクトストア108に常駐するオブジェクト及び文字列キー構造を有するオブジェクトを使用して構成される木102を含むことができる。
木102は、キーが特定の探索方法に対応する文字列であるオブジェクトを索引付けするために使用される順序木データ構造であるトライ(trie)、すなわちプレフィックス木(prefix tree)に基づいてもよい。部分的な文字列キー入力を仮定すると、トライは次の文字の選択の検索を容易にする。トライについては、Donald Knuth. The Art of Computer Programming, Volume 3: Sorting andSearching, Third Edition. Addison-Wesley、1997年、ISBN 0-201-89685-0. Section 6.3: Digital Searching、492〜512ページにおいて説明される。
トライは、キーの接頭部(prefix)を操作し且つノード及び葉(leaf)の数を最小限にする重要なステップにより限定的な記憶必要条件に適応可能なように再構成される。一実施形態において、木102の殆どの葉ノードはオブジェクトストアの複数のオブジェクトと関連付けられる。これは、オブジェクトストアからオブジェクトのグループを取得する前に、完全なキーの一部分のみが木において探索されることを意味する。例えば、木102は完全なトライの可変スケール圧縮であってもよい。
木の記憶は、所定の圧縮基準に基づいて最小限にされる。適応可能な探索方法は、探索木及び前記オブジェクトストアを介してオブジェクトを検索するために使用される。探索は、所定のユーザインタフェース及び圧縮から結果として得られる木構造に適応可能である。
一実施形態において、オブジェクトストア108は、文字列キーを使用して探索される実世界の空間オブジェクトをモデル化する。実世界の空間オブジェクトは、都市、都市の道路、交差点、地点情報(POI)又は文字列キーと関連付けられる別の種類のオブジェクトを含むことができる。
一実施形態において、オブジェクトはトライの葉に格納される。別の実施形態において、オブジェクトの同一の集合に対する複数の探索方法に対応するために、別個のオブジェクトストアが所定の種類のオブジェクトに対して固定長又は可変長の記憶装置として構成される。可変長オブジェクトに対する記憶装置は、固定長オブジェクトオフセットディレクトリにより構成される。そのようなオブジェクトストアは、オブジェクトの探索及びスクローリングに対応できる。
オブジェクトストアのエントリは各オブジェクトの固有のキーにより判定され、ストア中のオブジェクトの順序はオブジェクトのソートキーにより判定される。オブジェクトストアは、探索キーの構成要素を区別できる。
一実施形態において、オブジェクトストアがセットアップされると、探索木102は、ストア中の各オブジェクトへの参照がオブジェクトの探索キーを使用して木の葉において見つけられるように構成される。
木の探索キー構造は、道路、道路の交差点、地点情報(POI)又は他の要素等の空間オブジェクト、あるいはオブジェクトの属性を示すことができる。一実施形態において、所定の種類のオブジェクトに対するキーの構成要素が連結される順序は、そのクラス(種類)のオブジェクトに対する特定の探索方法を示す。キーの構成要素の連結の順序は、システム設計者が迅速に試作し、所定のクラスのオブジェクトに対する多くの文字列キー定義に組み込まれる種々のユーザインタフェースを実験する際に使用できる単純な機構であってもよい。
APIは、探索キー及び従って探索方法の構成を支援するためにアプリケーションにおいて実現及び使用され、設計者がオブジェクトの探索のための種々のユーザインタフェースを生成及び実験することを可能にする。一実施形態において、GUIはそのようなAPIを使用して構築され、所定のクラスのオブジェクトに対する探索方法のキー構造を定義及び選択する。それにより、オブジェクトストア及び木に対して適切な順序を与える。APIは、いくつかの環境に対して実際上実現不可能な記憶必要条件を有する可能性のある関係データベース管理システム(RDBMS)に依存せずに、典型的には、RDBMS技術と関連した探索システムのインタフェースを容易に変更できるという融通性をシステム設計者に与えることができる。
従って、文字列キーの構成要素及びキー構造の構成に対する構成要素の順序を選択することにより、設計者は種々のユーザインタフェース及び基礎となる探索方法を評価できる。
図9A及び図9Bは、API902を使用する木及びオブジェクトストアの構成を示す。設計者は、キーの構成要素及び順序をデータ904から選択できる。例えば、データ904のデータフィールドはキーの構成要素として使用される。キー構造及びデータは、キー構造で表される探索方法を実現するユーザインタフェースを介してアクセス可能なオブジェクトストア及び木を構成するために使用される。
図9Aは、キー構造が都市/道路により与えられる一例を示す。これは、ユーザインタフェース906がこの順序でデータを受信するように構成されることを意味する。図9Bは、キー構造が道路/都市により与えられ、ユーザインタフェース908がこの順序でデータを受信するように構成される一例を示す。
所定のユーザインタフェースプロファイル及び選択した圧縮基準の場合に、探索木の大きさ、オブジェクトストアの大きさ、メモリ必要条件、並びに最適な及び最悪な場合の探索性能に対してスコアが生成される。これにより、システム設計者は種々の実現例のスコアを比較することによって種々の必要条件を均衡化するツールを与えられる。
例えば、圧縮量はシステムの性能に影響を及ぼす。高レベル圧縮は、より多くのオブジェクトがオブジェクトストアから取得され且つ解析される必要があることを意味する。低レベル圧縮の結果、木に対する記憶必要条件は大きくなる。木の構成を調節し、葉ノードにより参照されるオブジェクトの数を最大限にできる可変圧縮基準は、最終のアプリケーションに対して性能、メモリ及び記憶装置の使用を適切に均衡化するように調整される。一実施形態において、圧縮基準は木の任意の枝の下にあるオブジェクトの最小数を調節する。
図1を再度参照すると、可変圧縮の結果、木はオブジェクトストア108の複数のオブジェクトを参照する葉ノードを含むことができる。オブジェクト及び葉ノードにおけるオブジェクト参照は異なるキーの値を有することができ、共通の接頭部は葉の親ノードの接頭部と一致する。これは、元の非圧縮トライ構造における単純な探索に対して、探索を完了するためのオブジェクトストアへのオブジェクト参照に後続する木に対する部分探索を強化する更に複雑な探索アルゴリズムを示す。
葉ノードは、短い葉ノード又は長い葉ノードとして区別される。短い葉は、連続的なリストの第1の(最初の)オブジェクト及び参照される複数のオブジェクトを参照する。長い葉は、参照のカウント及びリストの各オブジェクトに対する直接参照を格納することによりオブジェクトの任意のリストを参照できる。探索は、探索キーに基づく葉ノード110を見つけること及び葉ノードにより参照されるオブジェクトのうち一致するオブジェクトの集合の場所を特定することを含むことができる。
一実施形態において、探索文字列が完成するまで又はユーザが部分キーに一致するオブジェクトの集合を要求するまで、ユーザは1文字ずつ探索文字列を入力し、アプリケーションは木102を探索して有効な次の入力文字の集合を示す。アプリケーションは、有効な次の文字を示すディスプレイを提供でき、あるいは有効な次の文字を出力できる。別の実施形態において、ユーザは完全な探索文字列又は部分探索文字列を入力する。そのような探索をサポートする木は、木の各ノードにおいてキーの接頭部文字列を格納でき、最短の文字列を根に格納し且つ完全な探索キーを葉に格納する。本発明の一実施形態において、探索木はノードのキー接頭部を減少することにより圧縮され、親の接頭部の拡張のみを格納するため、ノードの実際のキー接頭部は根からノードの格納されたキー接頭部を含むそのノードまでのパスにおいて全てのキー接頭部文字列を連結することにより取得される。適応索引の一実施形態において、探索木は単一の子を有するノードを折り畳むことにより更に圧縮される。
本発明の一実施形態は、木102及びオブジェクトストア108を含む探索システムとマップディスプレイ106を有するアプリケーション104とを具備するシステムである。木102は、キー構造と関連付けられるノードにより構成される。木102は、各ノードの接頭部を減少することにより圧縮される。オブジェクトのクラスが単一の探索方法を介してアクセスされることを意図する場合、木102は複数のオブジェクトを格納する葉ノードを含むことができる。オブジェクトのクラスが2つ以上の探索方法を介してアクセスされることを意図する場合、木102は、オブジェクトストアのオブジェクトに対する参照を含む葉ノードを含むことができる。木102は、可変圧縮の結果、オブジェクトストア108の複数のオブジェクトを参照する葉ノードを含むことができる。探索は、探索キーに基づいて葉ノード110を見つけるために探索することと、葉ノードにより示されるオブジェクトを検査することとを含むことができる。
システム100は、ユーザから入力を受信し且つ出力を生成できるユーザインタフェース110を有することができる。出力の一例としては、有効な次の文字を示す次の文字指示が挙げられる。利用可能な次の文字の集合は、以下に説明するように、木102及び/又はオブジェクトストア108の探索から判定される。
図2A及び図2Bは、最小数の読み出し動作によりオブジェクトストアから検索可能な複数のオブジェクト及び第1の(最初の)オブジェクトに対するポインタ(ID)含む短い葉ノードの例を示す。図2Aは、オブジェクトが固定サイズのエントリを含むオブジェクトストア202に格納され、単一の読み出しを必要とする(十分なメモリがあることが条件である)例を示す。図2Bは、オブジェクトが可変サイズのエントリを含むオブジェクトストア204に格納される一例を示す。その場合、固定サイズのオフセットを有するオフセットアレイ206は、読み出し動作の回数を2回に制限するために使用される(十分なメモリがあることが条件である)。
双方の場合において、オブジェクトデータは、カウント数に対応して取得される。例えば、カウントが50である場合、次の50個のオブジェクトは、オブジェクトストアから取得され且つ必要に応じて解析される。短い葉ノードは木に対する記憶必要条件を低減する。これは、リソースが制限されるシステムにおいて実現されるモバイル地理アプリケーションにとって有用である。
一実施形態において、連続したオブジェクトは、図3Aに示すように短い葉に格納される。短い葉ノードは、ID及びカウントを含むことができる。オブジェクトストア中のオブジェクトの順序は、キー構造により示される順序で構成される。
図3Bは長い葉を示す。長い葉は、各オブジェクトに対する個々のポインタを有する非連続的なオブジェクトを指し示すために使用される。
図8は、同一のオブジェクトストア806のオブジェクトを指し示す2つの木802及び804を含む一例を示す。2つの木は、ユーザインタフェースの2つの異なる入力要素と関連付けられる。一般に、探索キー構造がストア806のオブジェクトの順序に従う木は、連続したオブジェクトを指し示すために短い葉ノードを使用できる。他の木は、長い葉ノードを使用できる。長い葉は、記憶必要条件を増加する。長い葉オブジェクトに対する読み出し動作の回数は、長い葉のオブジェクト数に比例する。
図4Aは、一実施形態における「次の利用可能な文字」の集合を取得する方法の一例を示す。ユーザが「PIN」を入力した場合、次の利用可能な文字は、ノード402の子ノードの接頭部を検査することにより取得される。
図4Bは、葉ノード404がオブジェクトストアの複数の連続したオブジェクトを参照するシステムを示す。この例において、ノード404に対応するオブジェクトの名前はオブジェクトストアから取得され、「次の文字」情報を取得するために解析される。図4Bの例において、葉ノード404と関連付けられるオブジェクトの名前PINE RIDGE、PINE VALLEY、PINEBROOK、PINECONE、PINNACLE、PINTAIL、PINTOは全て、ユーザ入力「PIN」で開始する。これらの名前は、有効な次の文字{' ', 'E', 'N', 'T'}を取得するために解析され、それらはユーザに出力される。葉ノードと関連付けられるオブジェクトデータのグループが取得され且つ表示するために処理される状況において、スクローリング及び他の機能は同様に実現される。
一実施形態において、葉ノードは関連するキー情報を有する必要はない。これは、葉ノードが親ノードと同一のキー接頭部を有することを意味する。これにより、オブジェクト又はオブジェクト参照は、最も効率的なパッキングのために容易に結合されて葉ノードにされる。
一実施形態において、葉ノードにより参照されるオブジェクトはアクセス及び解析されて、次の文字を判定し且つスクローリングを実現する。木は、木の異なるレベルで葉ノードを有することができる。
本発明の一実施形態は、キー構造に従うキーのリストを含む木を構成するコンピュータにより実現される方法であり、完全な木構造を構成し、殆どの葉ノードが複数のオブジェクトと関連付けられるようにノードを結合することによりその木構造を枝刈りする。
圧縮技術は、所定の基準に基づいて、各ノードに対して必要とされる記憶オーバヘッドを最小限にするためにオブジェクトに対する葉ノード参照を最大限にすることを含むことができる。
図5は、一実施形態の好適なフローチャートを示す。ステップ502において、キー構造が判定される。道路名に対する好適なキー構造は、「道路名?都市名」であり、「?」は区切り文字である。例えば、「Kensington?San Francisco」である。交差点に対する好適なキー構造は、「道路1の名前?道路2の名前?都市名」である。オブジェクトは、いずれの順序も道路の交差点を探索するために使用できるようにオブジェクトストアにおいて複製される。例えば、「Oak?Elm?Sacramento」及び「Elm?Oak?Sacramento」は、単一のエントリ又は各々が属性の集合を有する同一の実際の交差点を参照する木オブジェクトストアの2つのエントリを結果として与える2つの異なる木探索パスを表せる。
ステップ504において、キー構造に基づくオブジェクトに対するキーのリストが判定される。キー構造は、オブジェクトストアのオブジェクトの順序を更に判定できる。
ステップ506において、完全なノード構造はキーのリストに基づいて作成される。この完全なノード構造は、ステップ508、510及び512に示すように圧縮され、ノード及び葉の数を減少することにより木の大きさを縮小できる。好適なステップを図6A〜図6Cに更に示す。
図6Aにおいて、単一の子ノード602を有するノード604は、子ノード602と結合されてノード606を形成する。ノード606は、探索文字列の複数の文字と関連付けられる。
図6Bは、圧縮ステップの一例を示す。図6Bの例において、各孫ノードは、別の孫ノードと結合されるかを確認するために検査される。一例において、双方の孫ノードが所定の数の関連するオブジェクト(一実現例において16等)より少ないオブジェクトを有する場合、木はこの基準に対応するために枝刈りされる。図6Bの例において、ノード610、612及び614は結合されて、ノード616を形成する。
図6Cは、ノード620がノード622及び624に分割されて、最大サイズ(一実施形態において63等)を下回るように各葉ノードにおいて関連付けられるオブジェクトの数を保持する場合を示す。
上記例は、例として個別のステップを示している。別の実施形態において、圧縮ステップは、同一の結果をもたらす単一のステップに組み合わされる。
一実施形態において、木ノードは、他の探索基準の指示を格納できる。木に対する探索又は他の動作はその指示を使用して、ノード及びその子孫ノード又は関連するオブジェクトが更に解析される必要があるかを判定できる。一実施形態において、その指示はn次元探索を実現するために使用される。
一実施形態において、探索は、カテゴリ又は都市等のオブジェクト属性によりフィルタリングされる。指示は、ノードの子孫において見つけられないオブジェクトカテゴリの指示及び/又はノードの子孫のうち少なくとも1つに含まれるオブジェクトカテゴリの指示を含むことができる。同様に、指示が都市IDを含む場合、探索は都市によりフィルタリングされる。一実施形態において、ユーザは名前により地点情報を探索でき、それは特定のオブジェクトカテゴリにより向上され且つそれが存在する都市名により更に向上される。
例えば、地点情報カテゴリの有無が木ノードにおいて示される場合、地点情報に対する文字探索は、ファーストフード等のカテゴリを除外するノードを探索パスから除去できる。
一実施形態において、ノードは特定のカテゴリの探索を簡単にし且つ高速化するためにカテゴリ除外又は含有情報を格納できる。除外情報は、ノードに関連付けられるオブジェクトがカテゴリに存在しないことを示せる。含有情報は、カテゴリにおいてノードと関連付けられるオブジェクトが存在することを示せる。
図7は一例を示す。この例において、木セグメントにおける探索は、レストランの探索である場合にノード702で停止可能であり、ガソリンスタンドの探索である場合にノード704で停止可能である。除外情報等の他の探索基準の指示は、ノード木の作成時に実現される。
図7の木は、多次元探索に対して使用される。例えば、キー情報は探索の第1の次元に対して検査され、探索基準情報は探索の追加次元に対して検査される。
一例において、ユーザインタフェースは、例えばオブジェクトカテゴリである木において示される追加の探索基準に対するユーザ入力を受信するためにチェックボックス等を含むことができる。探索は、探索において検査するノードを判定するためにカテゴリ情報を使用できる。図7の例において、ユーザがガソリンスタンドを探しており且つ「P」を入力した場合、ノード704がガソリンスタンドを除外するため、「I」は次に利用可能な文字として示されない。
探索基準は、特定のノードと関連付けられるコードであり、ノードの子孫において見つけられないカテゴリ等を示してもよい。オブジェクトストアのオブジェクトは、関連するカテゴリ情報を更に有することができるため、2次元探索は、木のノード及びオブジェクトストアのオブジェクトの双方を含むことができる。
キー構造を選択するために使用されるAPIは、追加の探索基準を木に追加するために使用され、多次元探索を可能にする。
同時係属米国特許出願第60/806,367号公報(Attorney Docket No. TELA-07781US0に対応する)「可変圧縮による適応索引における最近傍検索(NEAREST SEARCH ON ADAPTIVE INDEX WITH VARIABLE COMPRESSION)」において説明されるように、探索システムは特定の位置に対する最近傍探索を行なうために使用される。
コンピュータ技術者には明らかとなるように、一実施形態は、本開示の教示に従ってプログラムされた専用又は従来の汎用デジタルコンピュータ又はマイクロプロセッサを使用して実現されてもよい。ソフトウェア技術者には明らかとなるように、適切なソフトウェアコーディングは、本開示の教示に基づいて熟練したプログラマにより容易に準備される。本発明は、当業者には容易に明らかとなるように、集積回路を準備することにより又は従来のコンポーネント回路の適切なネットワークを相互接続することにより実現されてもよい。
一実施形態は、本明細書で提示される任意の機能を実行するようにコンピュータをプログラムするために使用される命令を格納した記憶媒体であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、並びにコンピュータ可読媒体の任意の1つに格納された命令及び/又はデータを格納するのに適した媒体又はデバイスの光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、フラッシュメモリを含む任意の種類のディスクを含むことができるがこれらに限定されない。本発明は、汎用/専用コンピュータ又はマイクロプロセッサのハードウェアを制御するためのソフトウェア及びコンピュータ又はマイクロプロセッサが人間のユーザ又は本発明の結果を利用する他の機構と対話することを可能にするためのソフトウェアを含む。そのようなソフトウェアは、デバイスドライバ、オペレーティングシステム、実行環境/コンテナ及びユーザアプリケーションを含んでもよいが、それらに限定されない。
本発明の好適な実施形態の上記説明は、例示及び説明の目的で提供された。本発明を網羅する意図はなく、あるいは本発明を開示された厳密な形式に限定する意図はない。多くの変更及び変形が当業者には明らかとなるだろう。例えば、開示される本発明の実施形態において実行されるステップは別の順序で実行でき、特定のステップは省略でき、また追加のステップが追加できる。実施形態は、本発明の原理及びその実際的な応用例を最適に説明し、それにより他の当業者が特定の使用に適すると考えられる種々の実施形態に対して本発明を理解できるように選択及び説明される。本発明の範囲は、請求の範囲及びそれらの等価物により規定されることが意図される。

Claims (67)

  1. コンピュータにより実現される方法であって、
    木を探索することを含み、前記木はキーと関連付けられるノードにより構成され、前記木は所定の圧縮基準に従って枝刈りされ、前記木は複数のオブジェクトを格納するか又はオブジェクトストアの複数のオブジェクトを参照する葉ノードを含み、前記複数のオブジェクトは異なるキーの値を有し、前記探索は探索キーに基づいて葉ノードを見つけるために探索することを含み、前記探索は、更に、前記葉ノードにより示される前記オブジェクトを検査することをむコンピュータにより実現される方法。
  2. 前記葉ノードは、親ノードと同一のキー接頭部と関連付けられる請求項1に記載のコンピュータにより実現される方法。
  3. ノードは、他の探索基準の指示を格納する請求項1に記載のコンピュータにより実現される方法。
  4. 前記他の探索基準の指示は、前記ノードの子孫において見つけられないオブジェクト属性の指示を含む請求項3に記載のコンピュータにより実現される方法。
  5. 前記他の探索基準の指示は、前記ノードの少なくとも1つの子孫に含まれるオブジェクト属性の指示を含む請求項3に記載のコンピュータにより実現される方法。
  6. 前記探索システムに対してキー構造を選択するためにAPIが使用され、前記キー構造の前記選択に応答して、前記オブジェクトストア及び前記木を構成するためにオブジェクトのキーが使用される請求項1に記載のコンピュータにより実現される方法。
  7. ユーザは文字によりアプリケーションにキーを入力し、前記アプリケーションは有効な次の入力文字を示すために前記木を探索する請求項1に記載のコンピュータにより実現される方法。
  8. 前記アプリケーションは、前記有効な次の文字を示す出力を提供する請求項7に記載のコンピュータにより実現される方法。
  9. 前記キー構造は、地理的場所又はオブジェクト名を示す請求項1に記載のコンピュータにより実現される方法。
  10. 前記キー構造は州及び都市を示す請求項1に記載のコンピュータにより実現される方法。
  11. 前記キー構造は道路を示す請求項1に記載のコンピュータにより実現される方法。
  12. 前記キー構造は道路の交差点を示す請求項1に記載のコンピュータにより実現される方法。
  13. 前記キー構造は地点情報を示す請求項1に記載のコンピュータにより実現される方法。
  14. 前記キー構造は座標を示す請求項1に記載のコンピュータにより実現される方法。
  15. 前記キー構造は場所にリンクされるオブジェクトを示す請求項1に記載のコンピュータにより実現される方法。
  16. 前記葉ノードは、前記葉の親から継承される同一の接頭部を有する複数のオブジェクトを示す請求項1に記載のコンピュータにより実現される方法。
  17. 前記探索はオブジェクト名に対して行なわれる請求項1に記載のコンピュータにより実現される方法。
  18. 前記探索は、ジオコーディング、ジオルックアップ、逆ジオコーディング及び地点情報に対して行なわれる請求項1に記載のコンピュータにより実現される方法。
  19. アプリケーションと、
    前記アプリケーションのに対して木を探索するための探索システムとを備えたシステムであって、前記木はキーと関連付けられるノードにより構成され、前記木はオブジェクトストアの複数のオブジェクトと関連付けられる葉ノードを含み、前記複数のオブジェクトは異なるキーの値を有し、前記探索は探索キーに基づいて葉ノードを見つけるために探索することを含み、前記探索は、更に、前記葉ノードにより示される前記オブジェクトを検査する、システム。
  20. ノードは、他の探索基準の指示を格納する請求項19に記載のシステム。
  21. 前記他の探索基準の指示は、前記ノードの子孫において見つけられないオブジェクト属性の指示を含む請求項20に記載のシステム。
  22. 前記探索されるオブジェクトは非空間オブジェクトである請求項19に記載のシステム。
  23. 前記他の探索基準の指示は、前記ノードの少なくとも1つの子孫に含まれるオブジェクト属性の指示を含む請求項20に記載のシステム。
  24. 前記探索されるオブジェクトは空間オブジェクトである請求項19に記載のシステム。
  25. 前記探索システムに対してキー構造を選択するためにAPIが使用され、前記キー構造の前記選択に応答して、前記オブジェクトストア及び前記木を構成するためにオブジェクトのキーが使用される請求項19に記載のシステム。
  26. ユーザはアプリケーションにデータを入力し、前記アプリケーションは有効な次の入力文字を示すために前記木を探索する請求項19に記載のシステム。
  27. 前記アプリケーションは、前記有効な次の文字を示すディスプレイを提供する請求項25に記載のシステム。
  28. 前記キーの一部分は州を示す請求項19に記載のシステム。
  29. 前記キーの一部分は都市を示す請求項19に記載のシステム。
  30. 前記キーの一部分は道路を示す請求項19に記載のシステム。
  31. 前記キーの一部分は道路の交差点を示す請求項19に記載のシステム。
  32. 前記キー構造は地点情報を示す請求項19に記載のシステムに基づくマップ。
  33. 前記キー構造は座標を示す請求項19に記載のシステムに基づくマップ。
  34. 前記キー構造は空間オブジェクトにリンクされるオブジェクトを示す請求項19に記載のシステムに基づくマップ。
  35. 前記葉ノードは同一の接頭部を有する複数のオブジェクトを示す請求項19に記載のシステムに基づくマップ。
  36. 前記探索はジオコーディングに対して行なわれる請求項19に記載のシステムに基づくマップ。
  37. 前記探索はジオルックアップに対して行なわれる請求項19に記載のシステムに基づくマップ。
  38. 前記探索は逆ジオコーディングに対して行なわれる請求項19に記載のシステムに基づくマップ。
  39. 前記探索は地点情報の場所を特定するために行なわれる請求項19に記載のシステムに基づくマップ。
  40. コンピュータにより実現される方法であって、
    利用可能な次の文字を判定するために木を探索することを有し、前記木はキーと関連付けられるノードにより構成され、前記木はオブジェクトストアの複数のオブジェクトと関連付けられる葉ノードを含み、前記複数のオブジェクトは異なるキーの値を有し、前記利用可能な次の文字を判定するための探索は前記木から及び/又は前記オブジェクトストアのオブジェクトから利用可能な次の文字情報を取得する、コンピュータにより実現される方法。
  41. 木構造を構成するコンピュータにより実現される方法であって、
    キー構造に従うキーを有するオブジェクトのリストを受信し、
    完全な木構造を構成し、
    殆どの葉ノードが複数のオブジェクトと関連付けられるようにノードを結合することを含む、コンピュータにより実現される方法。
  42. ノードは、他の探索基準の指示を格納する請求項41に記載のコンピュータにより実現される方法。
  43. 前記他の探索基準の指示は、前記ノードの子孫において見つけられないオブジェクト属性の指示を含む請求項42に記載のコンピュータにより実現される方法。
  44. 前記他の探索基準の指示は、前記ノードの少なくとも1つの子孫に含まれるオブジェクト属性の指示を含む請求項42に記載のコンピュータにより実現される方法。
  45. 前記探索システムに対してキー構造を選択するためにAPIが使用され、前記キー構造の前記選択に応答して、前記オブジェクトストア及び前記木を構成するためにオブジェクトのキーが使用される請求項42に記載のコンピュータにより実現される方法。
  46. 前記木の高さは、圧縮基準に従って枝刈りされる請求項41に記載のコンピュータにより実現される方法。
  47. 前記結合ステップは、葉ノードを結合することを含む請求項41に記載のコンピュータにより実現される方法。
  48. 短い葉ノードにより参照される前記オブジェクトが連続的に格納される請求項41に記載のコンピュータにより実現される方法。
  49. 長い葉ノードにより参照される前記オブジェクトが非連続的なオブジェクトを指し示す請求項41に記載のコンピュータにより実現される方法。
  50. コンピュータにより実現される方法であって、
    木のノードを探索することを含み、前記木のノードはキー情報を示し、少なくとも一部のノードは追加の探索基準情報を示し、前記キー情報が前記探索の第1の次元に対して検査され且つ前記探索基準情報が前記探索の追加の次元に対して検査されるように前記探索は多次元である、コンピュータにより実現される方法。
  51. 前記探索の前記第1の次元において、前記キーの値がユーザ入力と比較される請求項50に記載のシステム。
  52. 前記枝刈りされた木は、複数のオブジェクトを格納するか又はオブジェクトストアの複数のオブジェクトを参照する葉ノードを含む請求項50に記載のシステム。
  53. 前記探索基準は、前記ノードの子孫では見つけられないオブジェクト属性を示す請求項50に記載のシステム。
  54. 前記探索基準は、前記ノードの子孫に含まれるオブジェクト属性を示す請求項50に記載のシステム。
  55. コンピュータにより実現されるシステムであって、
    a)オブジェクトのクラスに対する、複数のユーザインタフェースに対応するように操作される文字列探索キー構成要素の定義と、
    b)探索キーの構成要素を区別するオブジェクトストアと、
    c)所定のユーザインタフェースを与えるための前記構成要素からの探索キー構造の構成と、
    d)探索キー定義に対して構成された適応可能探索木であって、ノードが探索キー構造と関連付けられ、前記葉ノードがオブジェクトを格納するか又はオブジェクトストアのオブジェクトを参照し、所定の圧縮基準に基づいて前記木の記憶が最小限にされた、適応可能探索木とを具備し、前記探索木及び前記オブジェクトストアを介して一致するオブジェクトの場所を特定するために適応可能探索方法が使用され、前記探索は圧縮及び所定のユーザインタフェースから結果として得られる前記木構造に適応する、コンピュータにより実現されるシステム。
  56. 前記木からの一致するオブジェクトの検索は、部分探索キー又は完全探索キーの入力に基づく請求項55に記載のコンピュータにより実現されるシステム。
  57. 探索キーは、基本探索キー構成要素の完全な集合又は部分集合を選択することにより定義される請求項55に記載のコンピュータにより実現されるシステム。
  58. 探索キーは、選択された基本探索キー構成要素に対して順序を与えることにより定義される請求項55に記載のコンピュータにより実現されるシステム。
  59. 前記オブジェクトストアの順序は、前記基本探索キーにより与えられる請求項55に記載のコンピュータにより実現されるシステム。
  60. 各々が自身の探索キー構造を有する1つ以上の探索木が、同一のオブジェクトストアを参照できる請求項55に記載のコンピュータにより実現されるシステム。
  61. 固有のキー構造は、オブジェクトのクラスに対して定義される請求項55に記載のコンピュータにより実現されるシステム。
  62. 次に利用可能な入力文字は、圧縮された木及び/又はオブジェクトストアから検索される請求項55に記載のコンピュータにより実現されるシステム。
  63. 所定のユーザインタフェースプロファイル及び選択された圧縮基準に対して、探索木の大きさ、並びに最適な、平均的な及び最悪な場合の探索性能に対してスコアが生成され、それにより、種々の実現例のスコアを比較することによって種々の必要条件を均衡化するためのツールをシステム設計者に与える請求項55に記載のコンピュータにより実現されるシステム。
  64. 各木ノードの子孫のうち所定の基準に一致する少なくとも1つのオブジェクトの存在を示す追加の探索基準を前記ノードにオプションとして格納することにより多次元探索に対応する請求項55に記載のコンピュータにより実現されるシステム。
  65. 前記圧縮することは、ノード及び枝を結合すること及び分割することを含む請求項55に記載のコンピュータにより実現されるシステム。
  66. 前記結合すること及び前記分割することは、単一のステップで行なわれる請求項65に記載のコンピュータにより実現されるシステム。
  67. 種々のユーザインタフェースルックアンドフィールプロファイルに対応するためのコンピュータにより実現されるシステムであって、
    a)複数のユーザインタフェースに対応するように操作される文字列探索キー構成要素の、オブジェクトの種類に対する定義と、
    b)探索キーの構成要素を区別するオブジェクトストアと、
    c)キーの構成要素の操作が異なるユーザインタフェースを実現するための前記構成要素からの探索キー構造の構成と、
    d)設計者がキーの構成要素及び前記探索の異なるユーザインタフェースを結果として与えるキーの構成要素の順序を選択できるようにするための文字列キー構造を定義するためのAPIと、
    e)前記オブジェクトストアの探索キー構成要素から実現される複数のユーザインタフェースのうちの1つに対するオブジェクト探索に対応するための適応圧縮探索木であって、ノードが探索キー構造と関連付けられ、前記葉がオブジェクトを格納するか又はオブジェクトストアのオブジェクトを参照する適応圧縮探索木とを備えるコンピュータにより実現されるシステム。
JP2009518560A 2006-06-30 2007-06-28 可変圧縮による適応索引 Withdrawn JP2009543224A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US80636606P 2006-06-30 2006-06-30
US80636706P 2006-06-30 2006-06-30
PCT/US2007/072411 WO2008005808A2 (en) 2006-06-30 2007-06-28 Adaptive index with variable compression

Publications (1)

Publication Number Publication Date
JP2009543224A true JP2009543224A (ja) 2009-12-03

Family

ID=38895345

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009518560A Withdrawn JP2009543224A (ja) 2006-06-30 2007-06-28 可変圧縮による適応索引
JP2009518561A Withdrawn JP2009543225A (ja) 2006-06-30 2007-06-28 可変圧縮による適応索引に対する最近接探索

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009518561A Withdrawn JP2009543225A (ja) 2006-06-30 2007-06-28 可変圧縮による適応索引に対する最近接探索

Country Status (9)

Country Link
US (2) US20080016066A1 (ja)
EP (2) EP2035973A4 (ja)
JP (2) JP2009543224A (ja)
KR (2) KR20090028706A (ja)
AU (2) AU2007269284A1 (ja)
BR (2) BRPI0712824A2 (ja)
CA (2) CA2654858A1 (ja)
RU (2) RU2008149114A (ja)
WO (1) WO2008005809A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524313A (ja) * 2009-04-17 2012-10-11 フラウンホファー‐ゲゼルシャフト・ツア・フェルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ データベース内のオブジェクトを探索する方法
JP2014142803A (ja) * 2013-01-24 2014-08-07 Fujitsu Ltd 領域検索方法および領域検索装置

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2119213B1 (en) * 2007-03-07 2016-12-28 Wirelesswerx International, Inc. Method and system for providing area specific messaging
JP4491480B2 (ja) * 2007-10-11 2010-06-30 株式会社日立製作所 インデクス構築方法、文書検索装置及びインデクス構築プログラム
US7734714B2 (en) * 2008-01-11 2010-06-08 Spacecurve, Inc. Spatial Sieve Tree
US8126929B2 (en) 2008-03-27 2012-02-28 International Business Machines Corporation Method and apparatus for encoding list of variable length structures to support bi-directional scans
NL2002799C2 (en) * 2009-04-24 2010-10-26 Univ Delft Tech Data structure, method and system for address lookup.
US9453741B2 (en) * 2010-03-31 2016-09-27 Telenav, Inc. Navigation system with indexed term searching and method of operation thereof
JP5766588B2 (ja) * 2011-11-16 2015-08-19 クラリオン株式会社 検索端末装置、検索サーバ装置、及びセンタ連携型検索システム
US8745022B2 (en) 2011-11-22 2014-06-03 Navteq B.V. Full text search based on interwoven string tokens
US8738595B2 (en) * 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
US8694239B2 (en) 2011-12-13 2014-04-08 Telenav, Inc. Navigation system with intelligent trie and segmentation mechanism and method of operation thereof
CA2860498A1 (en) * 2011-12-29 2013-07-04 Timo Johannes Rinne Method and apparatus for providing metadata search codes to multimedia
US8868106B2 (en) 2012-02-29 2014-10-21 Aeris Communications, Inc. System and method for large-scale and near-real-time search of mobile device locations in arbitrary geographical boundaries
US8700661B2 (en) 2012-04-12 2014-04-15 Navteq B.V. Full text search using R-trees
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
EP2770444A1 (en) * 2013-02-25 2014-08-27 Harman Becker Automotive Systems GmbH Navigation device having next valid character search tree
BR112015023617B1 (pt) * 2013-03-15 2022-05-31 Twitter, Inc Método e sistema para gerar um trie de geocódigo e facilitar buscas de geocódigo reverso
CN104077311B (zh) 2013-03-28 2017-11-14 国际商业机器公司 车辆位置索引方法及装置
US9710485B2 (en) * 2014-03-14 2017-07-18 Twitter, Inc. Density-based dynamic geohash
US9552664B2 (en) 2014-09-04 2017-01-24 Nvidia Corporation Relative encoding for a block-based bounding volume hierarchy
US10235338B2 (en) 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
DE102015210384A1 (de) 2015-06-05 2016-12-08 Soitec Verfahren zur mechanischen Trennung für eine Doppelschichtübertragung
CN105791283B (zh) * 2016-02-29 2018-09-21 电子科技大学 一种针对加密的空间数据的圆形范围搜索方法
US10706105B2 (en) 2017-02-09 2020-07-07 Micron Technology, Inc. Merge tree garbage metrics
US10706106B2 (en) 2017-02-09 2020-07-07 Micron Technology, Inc. Merge tree modifications for maintenance operations
US10725988B2 (en) 2017-02-09 2020-07-28 Micron Technology, Inc. KVS tree
US10719495B2 (en) 2017-02-09 2020-07-21 Micron Technology, Inc. Stream selection for multi-stream storage devices
US10915546B2 (en) * 2018-10-10 2021-02-09 Micron Technology, Inc. Counter-based compaction of key-value store tree data block
US11100071B2 (en) 2018-10-10 2021-08-24 Micron Technology, Inc. Key-value store tree data block spill with compaction
US10852978B2 (en) 2018-12-14 2020-12-01 Micron Technology, Inc. Key-value store using journaling with selective data storage format
US11048755B2 (en) 2018-12-14 2021-06-29 Micron Technology, Inc. Key-value store tree with selective use of key portion
US10936661B2 (en) 2018-12-26 2021-03-02 Micron Technology, Inc. Data tree with order-based node traversal

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197500B1 (en) * 1996-10-25 2007-03-27 Navteq North America, Llc System and method for use and storage of geographic data on physical media
US5968109A (en) * 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US8452776B2 (en) * 1999-12-22 2013-05-28 Celeritasworks, Llc Spatial data portal
US7292585B1 (en) * 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
GB2402237A (en) * 2003-05-29 2004-12-01 Oracle Int Corp Database hierarchical data extraction using a generated SQL statement
US20070253642A1 (en) * 2006-04-27 2007-11-01 Mapinfo Corporation Method and apparatus for indexing, storing and retrieving raster (GRID) data in a combined raster vector system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524313A (ja) * 2009-04-17 2012-10-11 フラウンホファー‐ゲゼルシャフト・ツア・フェルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ データベース内のオブジェクトを探索する方法
US8886652B2 (en) 2009-04-17 2014-11-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for searching objects in a database
JP2014142803A (ja) * 2013-01-24 2014-08-07 Fujitsu Ltd 領域検索方法および領域検索装置

Also Published As

Publication number Publication date
BRPI0712824A2 (pt) 2012-07-24
AU2007269283A1 (en) 2008-01-10
US20080016066A1 (en) 2008-01-17
CA2654858A1 (en) 2008-01-10
BRPI0712822A2 (pt) 2012-07-24
EP2035973A2 (en) 2009-03-18
JP2009543225A (ja) 2009-12-03
US20080040384A1 (en) 2008-02-14
WO2008005809A2 (en) 2008-01-10
RU2008149110A (ru) 2010-06-20
CA2655011A1 (en) 2008-01-10
KR20090028705A (ko) 2009-03-19
AU2007269284A1 (en) 2008-01-10
KR20090028706A (ko) 2009-03-19
EP2035973A4 (en) 2009-12-16
RU2008149114A (ru) 2010-06-20
EP2035974A4 (en) 2009-12-09
WO2008005809A3 (en) 2008-10-23
EP2035974A2 (en) 2009-03-18

Similar Documents

Publication Publication Date Title
JP2009543224A (ja) 可変圧縮による適応索引
JP5342958B2 (ja) 圧縮データの構造を問い合わせる方法
US7680783B2 (en) Configurable search strategy
JP3087694B2 (ja) 情報検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JP3318834B2 (ja) データファイルシステム及びデータ検索方法
WO2003098477A1 (en) Search and presentation engine
CN106503223B (zh) 一种结合位置和关键词信息的在线房源搜索方法及装置
KR20070053083A (ko) 단편-기반 직렬화를 위한 시스템 및 방법
US8700661B2 (en) Full text search using R-trees
US6691103B1 (en) Method for searching a database, search engine system for searching a database, and method of providing a key table for use by a search engine for a database
JP4237813B2 (ja) 構造化文書管理システム
US20080162398A1 (en) Method to efficiently process and present possible arrangements of a set of contiguous peer-to-peer links
US20120124060A1 (en) Method and system of identifying adjacency data, method and system of generating a dataset for mapping adjacency data, and an adjacency data set
CN101467149A (zh) 具有可变压缩的自适应索引
US20170075989A1 (en) Search method
JPH07210569A (ja) 情報検索方法および情報検索装置
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
JP2001022766A (ja) 多次元データベースの高速処理方法および装置
JP2012164028A (ja) レコード対選択装置、プログラム及び方法
Endres et al. Index structures for preference database queries
WO2008005808A2 (en) Adaptive index with variable compression
JP2006106907A (ja) 構造化文書管理システム、索引構築方法及びプログラム
JP2000207409A (ja) 構造化文書管理装置及び構造化文書検索方法
JP2001052024A (ja) 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体
EP3660694B1 (en) A method of structuring and querying a database

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100907