JP4717130B2 - オフセット表を使用する完全ハッシュの生成 - Google Patents
オフセット表を使用する完全ハッシュの生成 Download PDFInfo
- Publication number
- JP4717130B2 JP4717130B2 JP2009122449A JP2009122449A JP4717130B2 JP 4717130 B2 JP4717130 B2 JP 4717130B2 JP 2009122449 A JP2009122449 A JP 2009122449A JP 2009122449 A JP2009122449 A JP 2009122449A JP 4717130 B2 JP4717130 B2 JP 4717130B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- values
- offset
- hash
- value
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (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)
Description
図面を参照しながら説明する。まず図1において、本発明に従ってオフセット表を使用して不連続値を再写像するためのコンピュータシステムが、全体的に符号20で表されている。コンピュータシステム20は、記憶装置24に効果的に接続されたプロセッサ22を含み、該記憶装置はランダムアクセスメモリ(RAM)と、ハードディスクドライブ、光ドライブまたは類似物などの不揮発性記憶装置とを含む。ご理解いただけるとおり、不揮発性記憶装置28は、よく知られたスワップ技術を介して、RAMと一緒に使用して比較的大量の仮想メモリを形成することができる。明らかになるであろうが、本発明では、読取り専用メモリ(ROM)または同様の不揮発性システムを使用することができる。また、埋込みシステムは本発明から利益を得ることができる。
Claims (1)
- ある範囲の値を含むデータを格納するメモリを備え、該データを処理するコンピュータシステムにより実行される方法であって、前記ある範囲の値のうちの不連続な値から構成される不連続な値の部分集合を完全なハッシュを用いて連続した、またはほとんど連続したより小さい範囲で変換しハッシュ値を得る方法において、
前記ある範囲の値の中から前記値の部分集合に含まれる値を選択するステップと、
前記ある範囲の値により構成される集合の値を二次元行列に編成するステップであって、前記行列の1つの次元がページを表し、他の次元が前記ページ内へのオフセットを表し、前記行列のページと該ページ内へのオフセットとの各交叉位置に、その交叉によって表される値が前記値の部分集合に選択された値であるか否かを示す写像情報を含むようにするステップと、
各ページを選択し、各ページの写像情報を検査して一次元配列内の写像情報との衝突が無いかを調べ、衝突が検知されなくなるまで各ページを、前記オフセットをずらすことによってある量だけシフトし、前記ページの写像情報を一次元配列のシフト後の位置に重ねあわせ、シフト量を記録することによって、前記行列を一次元配列に変換し、前記ページごとのページオフセット表および索引付けされた値を格納するハッシュ表を前記メモリに格納するステップと
を具え、
前記値を、その都度行と列に分割する方法を変えながら、別の行列を構成し、特定のループ反復により、以前の最良の分割がさらに改善される場合、そのページオフセット表および付随する統計を前記以前の最良の分割と置換し、それによって全ての可能な分割の組み合わせを試みた後、最少量の空間を使用する分割を最終的に残して該分割により得られたページオフセット表及びハッシュ表を前記メモリに格納し、
アプリケーションプログラムにより入力値として前記ある範囲の部分集合に含まれる値が受け取られると、前記入力値は前記メモリに格納されたページオフセット表のエントリ数で分割され、当該分割された下位ビットを前記ページオフセット表内のページとして、対応するオフセット値を求めることにより、前記メモリに格納されたハッシュ表から、前記入力値に対応するハッシュ値を得ることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/869,913 US6014733A (en) | 1997-06-05 | 1997-06-05 | Method and system for creating a perfect hash using an offset table |
US08/869,913 | 1997-06-05 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50295599A Division JP4965009B2 (ja) | 1997-06-05 | 1998-06-04 | オフセット表を使用する完全ハッシュの生成 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010211217A Division JP4717154B2 (ja) | 1997-06-05 | 2010-09-21 | オフセット表を使用する完全ハッシュの生成 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009217839A JP2009217839A (ja) | 2009-09-24 |
JP4717130B2 true JP4717130B2 (ja) | 2011-07-06 |
Family
ID=25354449
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50295599A Expired - Fee Related JP4965009B2 (ja) | 1997-06-05 | 1998-06-04 | オフセット表を使用する完全ハッシュの生成 |
JP2009122449A Expired - Fee Related JP4717130B2 (ja) | 1997-06-05 | 2009-05-20 | オフセット表を使用する完全ハッシュの生成 |
JP2010211217A Expired - Fee Related JP4717154B2 (ja) | 1997-06-05 | 2010-09-21 | オフセット表を使用する完全ハッシュの生成 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50295599A Expired - Fee Related JP4965009B2 (ja) | 1997-06-05 | 1998-06-04 | オフセット表を使用する完全ハッシュの生成 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010211217A Expired - Fee Related JP4717154B2 (ja) | 1997-06-05 | 2010-09-21 | オフセット表を使用する完全ハッシュの生成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6014733A (ja) |
JP (3) | JP4965009B2 (ja) |
CN (1) | CN1206604C (ja) |
AU (1) | AU7821198A (ja) |
WO (1) | WO1998055929A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014733A (en) * | 1997-06-05 | 2000-01-11 | Microsoft Corporation | Method and system for creating a perfect hash using an offset table |
US6591250B1 (en) * | 1998-02-23 | 2003-07-08 | Genetic Anomalies, Inc. | System and method for managing virtual property |
US6185552B1 (en) * | 1998-03-19 | 2001-02-06 | 3Com Corporation | Method and apparatus using a binary search engine for searching and maintaining a distributed data structure |
DE69811477T2 (de) * | 1998-05-01 | 2003-11-20 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Verfahren und Vorrichtung zur Hashkodierung |
US6321192B1 (en) * | 1998-10-22 | 2001-11-20 | International Business Machines Corporation | Adaptive learning method and system that matches keywords using a parsed keyword data structure having a hash index based on an unicode value |
US6785278B1 (en) * | 1998-12-10 | 2004-08-31 | International Business Machines Corporation | Methods, systems and computer program products for hashing address values |
US6321232B1 (en) * | 1998-12-18 | 2001-11-20 | Xerox Corporation | Method for creating a geometric hash tree in a document processing system |
US6401185B1 (en) * | 1999-05-27 | 2002-06-04 | Oracle Corp. | Method and apparatus for accessing paged objects using a fast division technique |
US7080382B2 (en) * | 2000-02-25 | 2006-07-18 | Oracle International Corporation | Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory |
US6928162B1 (en) * | 2000-04-07 | 2005-08-09 | International Business Machines Corporation | Method and system for manipulating and telescoping a hash function |
US7185005B1 (en) | 2000-05-12 | 2007-02-27 | Oracle International Corporation | Nested transactions in a file system |
US7987217B2 (en) * | 2000-05-12 | 2011-07-26 | Oracle International Corporation | Transaction-aware caching for document metadata |
US7725878B1 (en) | 2000-05-12 | 2010-05-25 | Oracle International Corporation | Property bundles on a per instance basis |
US7389493B1 (en) * | 2000-05-12 | 2008-06-17 | Oracle International Corporation | Categories on a per instance basis |
US6741990B2 (en) * | 2001-05-23 | 2004-05-25 | Intel Corporation | System and method for efficient and adaptive web accesses filtering |
US6801993B2 (en) | 2001-09-28 | 2004-10-05 | International Business Machines Corporation | Table offset for shortening translation tables from their beginnings |
US6748401B2 (en) | 2001-10-11 | 2004-06-08 | International Business Machines Corporation | Method and system for dynamically managing hash pool data structures |
US20050246330A1 (en) * | 2004-03-05 | 2005-11-03 | Giang Phan H | System and method for blocking key selection |
US7831908B2 (en) * | 2005-05-20 | 2010-11-09 | Alexander Vincent Danilo | Method and apparatus for layout of text and image documents |
US20060294126A1 (en) * | 2005-06-23 | 2006-12-28 | Afshin Ganjoo | Method and system for homogeneous hashing |
TWM288401U (en) * | 2005-07-15 | 2006-03-01 | Genesys Logic Inc | Highly efficient data characteristics recognition device for flash memory |
TW200705179A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Efficient data property identification method for a flash memory |
US7382876B2 (en) * | 2005-11-01 | 2008-06-03 | Microsoft Corporation | Hash function constructions from expander graphs |
US7965297B2 (en) * | 2006-04-17 | 2011-06-21 | Microsoft Corporation | Perfect hashing of variably-sized data |
US7619623B2 (en) * | 2006-04-17 | 2009-11-17 | Microsoft Corporation | Perfect multidimensional spatial hashing |
JP4812508B2 (ja) * | 2006-05-12 | 2011-11-09 | 富士通株式会社 | プレゼンス情報を取り扱うシステム |
US7424591B2 (en) * | 2006-06-19 | 2008-09-09 | International Business Machines Corporation | Splash tables: an efficient hash scheme for processors |
US7792877B2 (en) * | 2007-05-01 | 2010-09-07 | Microsoft Corporation | Scalable minimal perfect hashing |
US7872648B2 (en) * | 2007-06-14 | 2011-01-18 | Microsoft Corporation | Random-access vector graphics |
US9425825B2 (en) | 2012-05-22 | 2016-08-23 | International Business Machines Corporation | Path encoding and decoding |
GB2533391A (en) * | 2014-12-19 | 2016-06-22 | Ibm | Wall encoding and decoding |
GB2533392A (en) | 2014-12-19 | 2016-06-22 | Ibm | Path encoding and decoding |
GB2533393A (en) | 2014-12-19 | 2016-06-22 | Ibm | Pad encoding and decoding |
US9950261B2 (en) | 2016-04-29 | 2018-04-24 | International Business Machines Corporation | Secure data encoding for low-resource remote systems |
US10515064B2 (en) | 2016-07-11 | 2019-12-24 | Microsoft Technology Licensing, Llc | Key-value storage system including a resource-efficient index |
CN114244817A (zh) * | 2021-11-30 | 2022-03-25 | 慧之安信息技术股份有限公司 | 一种基于osip协议栈头域的哈希冲突处理方法和装置 |
WO2024107203A1 (en) * | 2022-11-18 | 2024-05-23 | Visa International Service Association | System and method for performing an mph-based lookup of records in a database |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000517086A (ja) * | 1997-06-05 | 2000-12-19 | マイクロソフト コーポレイション | オフセット表を使用する完全ハッシュの生成 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4115765A (en) * | 1977-02-17 | 1978-09-19 | Xerox Corporation | Autonomous display processor |
US4215402A (en) * | 1978-10-23 | 1980-07-29 | International Business Machines Corporation | Hash index table hash generator apparatus |
US4433389A (en) * | 1978-12-26 | 1984-02-21 | Burroughs Corporation | Memory address translation system for accessing memory locations via job names |
US4488256A (en) * | 1981-11-23 | 1984-12-11 | Motorola, Inc. | Memory management unit having means for detecting and preventing mapping conflicts |
US5133061A (en) * | 1987-10-29 | 1992-07-21 | International Business Machines Corporation | Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses |
US5111389A (en) * | 1987-10-29 | 1992-05-05 | International Business Machines Corporation | Aperiodic mapping system using power-of-two stride access to interleaved devices |
US5293593A (en) * | 1990-10-11 | 1994-03-08 | Hewlett-Packard Company | Method and apparatus for the mapping of physically non-contiguous memory fragments to be linearly addressable |
US5377340A (en) * | 1991-06-18 | 1994-12-27 | Hewlett-Packard Company | Method and apparatus for memory interleaving using an improved hashing scheme |
JPH06231047A (ja) * | 1993-02-05 | 1994-08-19 | Fujitsu Ltd | アドレス変換方法および装置 |
-
1997
- 1997-06-05 US US08/869,913 patent/US6014733A/en not_active Expired - Lifetime
-
1998
- 1998-06-04 CN CNB988011085A patent/CN1206604C/zh not_active Expired - Fee Related
- 1998-06-04 AU AU78211/98A patent/AU7821198A/en not_active Abandoned
- 1998-06-04 JP JP50295599A patent/JP4965009B2/ja not_active Expired - Fee Related
- 1998-06-04 WO PCT/US1998/011680 patent/WO1998055929A1/en active Application Filing
-
2009
- 2009-05-20 JP JP2009122449A patent/JP4717130B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-21 JP JP2010211217A patent/JP4717154B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000517086A (ja) * | 1997-06-05 | 2000-12-19 | マイクロソフト コーポレイション | オフセット表を使用する完全ハッシュの生成 |
Also Published As
Publication number | Publication date |
---|---|
JP4717154B2 (ja) | 2011-07-06 |
CN1206604C (zh) | 2005-06-15 |
WO1998055929A1 (en) | 1998-12-10 |
CN1236454A (zh) | 1999-11-24 |
AU7821198A (en) | 1998-12-21 |
JP2009217839A (ja) | 2009-09-24 |
JP2011003214A (ja) | 2011-01-06 |
JP4965009B2 (ja) | 2012-07-04 |
US6014733A (en) | 2000-01-11 |
JP2000517086A (ja) | 2000-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4717130B2 (ja) | オフセット表を使用する完全ハッシュの生成 | |
JP4805315B2 (ja) | データ構造によるコンピュータ表現及びそれに関連する符号化/復号化方法 | |
JP2009259284A (ja) | 圧縮データの構造を問い合わせる方法 | |
RU2004121027A (ru) | Устройство и способ перемежения для системы связи | |
JPH0357500B2 (ja) | ||
KR100240243B1 (ko) | 데이터 검색장치 | |
KR980004059A (ko) | 데이타 처리장치 및 그 레지스터 어드레스 변환방법 | |
JPH05189490A (ja) | 関数結果をセーブし検索する方法と装置 | |
KR100474357B1 (ko) | 다단계 분할을 이용한 기억소자 할당방법 | |
CN113630123B (zh) | 一种数据压缩系统及方法 | |
CN110221778A (zh) | 酒店数据的处理方法、系统、存储介质以及电子设备 | |
JP4159761B2 (ja) | Fftのためのインプレイスメモリ管理 | |
KR920702514A (ko) | 프로세서가 설비된 시스템과 시스템내에서의 어드레스 변환방법 | |
JP3288063B2 (ja) | 可変長データの格納および参照システム | |
JP2708625B2 (ja) | 均質ハッシング処理方式 | |
JP2507399B2 (ja) | デ―タベ―ス装置 | |
JPH023865A (ja) | 漢字文字の検索方式 | |
JPH05204757A (ja) | キャッシュメモリ | |
JPH04323748A (ja) | アドレス変換方法および装置 | |
JP2007115015A (ja) | メモリシステムおよび検索方法 | |
JP2018060425A (ja) | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 | |
JPH11265375A (ja) | 使用者定義文字管理装置および記憶媒体 | |
JPH0934788A (ja) | アドレス変換装置及びアドレス変換方法 | |
JPH07141251A (ja) | アドレス発生装置 | |
JPS59191649A (ja) | プログラムの生成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100415 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100921 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20101004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20101004 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20101119 |
|
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: 20110318 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110329 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |