説明

保護されているデータを検索する方法、コンピュータシステム及びコンピュータプログラム

【課題】安全な事前処理が施されたアクセス情報により、保護されているデータを効率的に検索する方法及びシステムは、郵便住所情報の検索に使用される事業所又は個人の正しい名称などの一般的に公知のアクセス情報の一片にのみ基づいてデータストアのセキュリティを提供する。
【解決手段】保護されているデータにアクセスするべく、アクセス情報をハッシュ化し(43)、ルックアップテーブル内におけるこのハッシュ化されたアクセス情報のエントリの存在を検証することにより(44)、入力されたアクセス情報の並べ替えのための効率的なアクセスと小データストレージ容量を実現している。エントリが検出された場合、ハッシュ化されたアクセス情報を使用し、データストアにアクセスし(48)、エントリが検出されない場合、別の情報タイプの対応するその他のルックアップテーブルを試みるか(49)、或いは、入力アクセス情報の並べ替えを実行して(52)、再試行可能である。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2002年9月6日付けで出願された米国仮特許出願第60/409,262号に対する米国法典第35編119条(e)に基づく優先権を主張するものであり、2003年2月28日付けで出願された「METHOD AND SYSTEM FOR STORING AND RETRIEVING DATA USING HASH−ACCESED MULTIPLE DATA STORES」という名称の同時係属中の米国特許出願第10/377,989号の一部継続である(尚、この明細書は、本引用により、本明細書に包含される)。又、本出願は、係属中の2002年12月12日付けで出願された「SYSTEM AND METHOD FOR STANDARDIZING A MAILING ADDRESS」という名称の米国特許出願、2003年3月6日付けで出願された「A METHOD FOR CORRECTING A MAILING ADDRESS」という名称の米国特許出願第10/384,915号、及び2003年3月20日付けで出願された「DELIVERY POINT VALIDATION SYSTEM」という名称の米国特許出願第10/344,990号にも関係するものであり、これらすべての明細書は、本引用により、本明細書に包含される。
【0002】
本発明は、一般に、安全なデータベースデータの検索に関するものであり、更に詳しくは、事前処理が施されたアクセス情報により、保護されているデータベースからデータを効率的に検索する方法及びシステムに関するものである。具体的には、本発明は、標準化されていない名称及び古い住所の入力の並べ替えに応答して、民営化された郵便住所データベースから新しい郵便住所を検索する方法及びシステムに関するものである。
【背景技術】
【0003】
郵便住所情報のプライバシーは、米国郵便庁(United States Postal Service:USPS)やその他の者による住所リストの提供を防止する米国法典第39編412条や、意図する目的以外のプライベート情報の漏洩を防止する米国法典第5編552条(a)などの法律によって保護されている。従って、USPSは、郵便住所データベース情報などの機密データを所有するべく選定された委任代理人を監督しなければならない。具体的には、USPS及び代理人は、郵便住所のリストを提供してはならない。又、一人の人物の住所変更情報を検索する際に、その他の人物の名称及び住所情報を漏洩してはならない。
【0004】
前述の包含された親出願である「METHOD AND SYSTEM FOR STORING AND RETRIEVING DATA USING HASH−ACCESSED MULTIPLE DATA STORES」は、住所情報を格納可能であると共に、USPSが監督している代理人ではないベンダに対して配布可能な保護されているデータストアを提供している。しかしながら、この引用した特許出願に記述されている方法及びシステムを使用するためには、データストア内に配置されている情報を検索できるように、アクセス情報を標準化しフィルタリングしなければならない(事前処理を施さなければならない)。この引用した特許出願においては、データストアに対するアクセスと関連住所情報の検索に使用する11桁のDPC(Delivery Point Code)を取得する一定レベルの事前処理について記述しており、住所情報にアクセスするためには、ユーザー入力や、その他のデータストア内のレコードなどのその他のデータ入力から、このDPCを取得可能でなければならない。
【0005】
しかしながら、保存されているデータ、ユーザー入力、及び事業所又は個人の名称に対応するその他の供給源から提供されるアクセス情報は、一様なものではなく、誤りを含んでいる可能性がある。例えば、ABCコンピュータと呼ばれている「ABC, Inc.」の住所をユーザーが確認する際に、有効な古い住所との関連で提供する有効な識別子としては、「Albuquerque Computers, Inc.」、「ABC Computers」、「ABQ Computers」、「ABC, Inc.」など、その要求されている新しい郵便住所情報に対するアクセスを提供するであろう多数のその他の並び替えが存在し得る。又、個人の住所を確認する場合にも、正しい名称の有効な変形のために、その要求されている郵便住所情報に対するアクセスを提供するであろう多数の並べ替えが存在する可能性がある。
【0006】
しかしながら、一般的なソフトウェアアプリケーションの場合には、このようなアクセス情報の並べ替えを処理するには、それらの並べ替えをマッチングすると共に特定の入力が対応しているエンティティのタイプ(事業所又は個人)を判定するために、必要なアクセス情報を含んでいる必要があろう。しかし、前述のデータストアシステム内に、このような情報を組み込めば、それらのシステムが提供しているセキュリティが危険に晒されることになってしまう。
【発明の概要】
【発明が解決しようとする課題】
【0007】
従って、提供されたアクセス情報に対して安全な事前処理を施すと共にアクセス情報入力の並び替えに応答した住所情報の効率的な検索を提供する保護されているデータストアから情報を検索する方法及びシステムを提供することが望ましい。
【課題を解決するための手段】
【0008】
安全な事前処理をアクセス情報に対して施すことにより、保護されているデータストアから効率的に情報を検索するという前述の目的は、データを検索する方法及びシステムとして実現される。又、この方法は、汎用又はワークステーションコンピュータシステム上において、この方法の諸段階を実行するコンピュータ可読プログラム命令を格納するコンピュータプログラムプロダクト及びシステムとしても実施可能である。
【0009】
このデータ検索方法においては、エンティティの名称及び古い郵便住所などのアクセス情報の入力を受領する。そして、このアクセス情報の非タイプ依存部分を抽出し、この非タイプ依存部分をハッシュ化して1つ又は複数のルックアップテーブルに対するアクセスキーを提供することにより、このアクセス情報に対して事前処理を施す。この結果、これらのルックアップテーブル内における存在により、そのアクセス情報に対応するエントリの存在/非存在が検証され、タイプ(例:事業所又は個人)によるアクセス情報の分類が可能となる。そして、エントリが検出された場合には、アクセス情報のタイプ依存部分に事前処理を施して非タイプ依存部分を標準化するが(例:事業所の名称又は個人の名称を標準化する)、この事前処理は、そのアクセス情報タイプに応じて実行可能である。そして、再度、ルックアップテーブルを参照し、そのアクセス情報に対応するデータがデータストア内に存在するかどうかを判定する。そして、データが存在する場合には、そのデータストアに関連付けられているセキュリティ検索アルゴリズムを使用することにより、保護されているデータストアからその要求されている保護データを検索する。一方、エントリが検出されない場合には、アクセス情報のタイプ依存部分の並べ替えを行い、すべての可能な並べ替えが終了するまで、アクセスの試みを反復実行可能である。
【図面の簡単な説明】
【0010】
【図1】本発明を実施可能なコンピュータシステムを示すブロックダイアグラムである。
【図2】本発明の実施例によるアクセス情報の流れを示す図である。
【図3】本発明の一般化された実施例による検索方法を実行するシステムの動作を示すフローチャートである。
【図4】住所変更情報を検索する本発明の別の実施例による検索方法を実行するシステムの動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
次に、図面、具体的には、図1を参照すれば、本発明の実施例に従って、コンピュータプログラムプロダクト及びコンピュータシステムを形成するプログラム命令を稼働させることによって方法を実行可能なコンピュータシステム10が示されている。この方法においては、ワークステーションコンピュータ14のメモリ19内に配置され、中央処理ユニット18(CPU)によって実行されるプログラム命令を採用することが可能であり、本発明のデータストア及びルックアップテーブルは、そのすべてをストレージ媒体13A及びメモリ19内に配置することができる。或いは、この代わりに、ワークステーションコンピュータ14は、ワークステーションコンピュータ14を接続するネットワーク11の接続を介して、LAN(Local−Area Network)、WAN(Wide−Area Network)、又はインターネットなどのネットワークに接続することも可能である。そして、ネットワーク実装の場合には、本発明の方法を実装するデータストア及び/又はプログラム命令は、ストレージ媒体13Bに接続されたデータベースサーバー12内に配置することができる。
【0012】
本発明の方法によれば、固有のデータベースセキュリティが提供され、ワークステーションコンピュータ14上における実行、又はデータストア/ルックアップテーブルに対するアクセス、或いはインターネット又はその他のネットワークを介したプログラムの実行のために、プログラム、データストア、及びルックアップテーブルをエンドユーザーに分散させることができる。又、ローカルホスティングされたプログラムとリモートデータストアや、ローカルデータストアとリモートホスティングされたプログラムなどのその他の組み合わせも可能であり、これらは、本発明の実施例による変形であると理解する必要がある。
【0013】
本明細書においては、事業所の名称及び住所と個人の名称及び住所の住所変更情報を保護するためのアプリケーションにおける特定の実施例又は実施例の組について記述している。尚、住所変更は、家族又は個人について入力可能であるため、「個人」という用語を使用した場合には、名字(family name)をも意味していると理解する必要がある。このシステム及び方法は、古い住所とエンティティ(個人/家族、又は事業所)の名称が入力された場合に、新しい住所を提供するものである。そして、このデータストアには、事業所又は個人/家族の名称のいずれの場合にも、転居が発生しているが住所変更データが提供されていないことを検証する脚注インジケータを含むことも可能である。又、データストア内において、矛盾する情報が検出された場合にも、このような出力を提供可能である。従って、このシステムは、既知の転居が既に行われているが、有効な出力として新しい住所が提供されていないことを通知することができる。
【0014】
次に図2を参照すれば、本発明の実施例によるコンピュータプログラムモジュール間における情報の流れが示されている。アクセス情報30(例:古い郵便住所とエンティティの名称)が、タイプ独立アクセス情報標準化モジュール20に提供され、これは、前述の包含された米国特許出願である「SYSTEM AND METHOD FOR STANDARDIZING A MAILING ADDRESS」に記述されている技法によるEDMP(Enhanced modified delivery point)生成器であってよく、これは、郵便住所の多数の並び替え又は表現の1つが与えられた場合に、郵便住所の単一の数値表現(EDMP)を生成する。尚、この技法の詳細については、前述の引用された特許出願に記述されているが、概略的には、郵便住所から抽出したZIPコードやZIP+4コードなどの郵便コードを、郵便住所から抽出した数値フィールド(例:通りの番号やユニット番号)と連結することにより、綴り、通りのタイプ(例:ロード(road)、プレース(place)、ブールバード(boulevard)、ストリート(street)など)、或いはその他の変形(例:スイート(suite)、アパートメント(apartment)、apt.など)に依存しない標準化された住所を提供するものである。
【0015】
そして、この標準化モジュール20によるアクセス情報のタイプ独立部分の標準化バージョンの生成が完了すれば、SHA生成器21Aにより、この標準化された情報(例:EDMP)をSHA(Secure Hash Algorithm)を使用してハッシュ化する。尚、このSHA生成器21Aによって使用されるアルゴリズムは、SHA−1アルゴリズムであってよいが、十分なセキュリティを提供するその他のハッシュ化アルゴリズムであってもよい。
【0016】
SHA−1アルゴリズムの詳細については、米国政府のサービス提供機関であるNIST(National Institute of Standards and Technology:米国連邦標準技術局)が発行している「SECURE HASH STANDARD」(Federal Information Processing Standards Publication 180−1)に記述されている。このSHA−1アルゴリズムは、通常、DSA(Digital Signature Algorithm)による検証のために、メッセージの圧縮バージョンを生成するべく使用されるものである。デジタル署名として符号化されたこのメッセージの圧縮バージョン(メッセージダイジェスト)を、受信したメッセージから生成されたメッセージダイジェストと比較することにより、その受信メッセージのコンテンツが、送信メッセージのコンテンツと同一であることを検証することができる。このメッセージダイジェストは、20バイトの数値であって、通常は、署名/メッセージの検証に使用されているが、本明細書においては、これを新しい方式によって使用することにより、本発明のルックアップテーブル及びデータストアに対するアクセスを提供している。
【0017】
即ち、本発明においては、このSHA−1アルゴリズムを使用し、前述のSHA−1アルゴリズムの本来の目的のためにではなく、ルックアップテーブル及データストアに対してアクセスするためのアクセス情報の表現又はその一部を生成している。尚、その他のアルゴリズムを使用することにより、本発明において使用するアクセス情報のハッシュ化表現を生成することも可能であり、このSHA−1アルゴリズムの使用は、利便性を理由とするものであって、本発明の限定を意図するものではないことを理解されたい。
【0018】
このアクセス情報のタイプ独立部分のハッシュ化バージョンの取得が完了したら、1つ又は複数のルックアップテーブル22Aを参照し、それらのルックアップテーブル22Aと関連付けられているエントリタイプに応じたアクセス情報のエントリが存在しているかどうかを判定する。この図示の実施例においては、このルックアップテーブル22Aは、標準化生成器20によって生成されたEDMPに事業所のエントリが存在しているかどうかを示す単一のテーブルを有している。尚、本発明の実施例として本明細書に記述されている住所変更システムの場合には、2つの情報タイプ(即ち、事業所のエントリと個人のエントリ)を管理するものであり、このルックアップテーブル22A内にエントリが存在しなければ、そのEDMPは個人と関連付けられていると仮定することが可能であり、必要なルックアップテーブル22Aは、1つのみである。しかしながら、本発明のその他の実施例においては、2つを上回る数の情報タイプを管理することが可能であり、この場合には、情報を連続的にフィルタリングして有効なエントリタイプを判定できるように、複数のルックアップテーブルを使用することができる。
【0019】
このルックアップテーブル22Aは、前述の包含された「DELIVERY POINT VALIDATION SYSTEM」という名称の米国特許出願に記述されているように、ビットの配列として実装可能であり、この前述の出願には、ルックアップテーブル内における住所エントリの存在を検証するためのビット配列の使用法について記述されており、これは、情報検索による演算オーバーヘッドが非常に小さい。変化する住所標識(例:通りの名称の変更、ユニットの番号の変更など)は、前述の包含された特許出願「METHOD FOR CORRECTING A MAILING ADDRESS」に記述されているように、このルックアップテーブル内において更新される。この配送ポイント検証技法においては、ハッシュ化されたEMDPを抽出アルゴリズムに対して提供し、このアルゴリズムは、このハッシュ化EMDPから、ビット配列内におけるオフセットとして使用されるサンプル(又は、住所変更システム以外のアプリケーションにおいては、その他のアクセス情報)を選択する。このビット配列内に1つのビットが設定されている場合に、その個々のサンプルの存在が検証されることになる。そして、すべてのサンプルが存在すると示されている場合に、ルックアップテーブル内におけるエントリの存在が検証されることになる。尚、前述の引用した特許出願には、EMDP又はその他のデータタイプの有効性を検証するためのビット配列実装の更なる詳細が提供されている。
【0020】
そして、EMDPが有効な事業所の住所であると検証された場合には、入力として提供された名称(アクセス情報のタイプ依存部分)を事業所名称標準化器24Aによって標準化する。この事業所名標準化器24Aは、ZIPコードを使用して事業所名称テーブルにアクセスするが、このテーブルは、実際の住所変更カード、インターネット住所変更システム、又は住所変更の入力に使用するその他のメカニズム上において入力された正しい事業所名称のリストを格納している。
【0021】
この事業所名称の標準化が完了したら、この事業所の名称をSHA生成器21Bに提供し、EMDPと組み合わせて、SHA−1の結果を生成する。尚、このSHA生成器21Bとしては、SHA生成器21Aを提供するものと同一のプログラム命令の組を使用可能であり、或いは、転居テーブル27へのアクセスのセキュリティを提供する別のアルゴリズムであってもよい。そして、安全なデータストア検索アルゴリズム28は、データストレージ装置29内にファイルとして保存されている転居テーブル27に対するアクセスを提供する。模範的な転居テーブル27は、前述の包含された特許出願「METHOD AND SYSTEM FOR STORING AND RETRIEVING DATA USING HASH−ACCESSED MULTIPLE DATA STORES」に記述されているように、複数のデータストアを有しており、これは、ハッシュ化された結果として処理されたアクセス情報に応答し、新しい郵便住所(又は、そのシステムのその他のアプリケーションにおけるその他の情報)を生成する。前述の引用した特許に記述されている複数のデータストアのすべてを有するデータストアは、データマイニングに対して非常に安全であり、この結果、必要なアクセス情報のすべて(例:名称及び古い郵便住所)が判明しない限り、プライベートデータの漏洩が予防される。
【0022】
前述の引用した特許出願には、標準化された住所情報の保存と検索について記述されているが、本発明の特定の実施例が必要とする情報検索のタイプに応じて、これをその他のタイプの情報に拡張することができる。即ち、具体的には、本発明の実施例による住所変更システムと共に、新しい(転居先の)住所の数学表現を使用するのである。データストア内に配置するデータは、5桁のZIPコードZ[64000]、2桁の配送ポイントセレクタを有する4桁のアドオンZP[1000000]、性別フラグG[3]、ミドルイニシャルである第1文字M1[27]及び第2文字M2[27]、転居発効日D[120]、住所ドロップフラグA[2]、及びミドルネームの使用を示すフラグMU[2]から算出された数値から構成される7バイトの情報である。尚、前述の要素のそれぞれに続く括弧内の数値は、前述の列挙した要素のそれぞれが取得可能な値又は状態の数を示している。
【0023】
この保存するアドレス情報の数学表現は、前述の要素のそれぞれが取得可能な状態の数(又は、これよりも大きな任意の数)に等しい底(base)の「桁(digit)」を本質的に割り当てる表現として算出されるものであり、従って、これは、次のより低位の桁の底とその桁自体の底によって乗算されたそれぞれの要素の合計になっている。そして、この保存データの表現の検索が完了すると、これを使用し、その底に関する知識に基づいてそれぞれの「桁」を抽出するモジュロ演算により、その住所の各要素を算出するのである。保護されているデータベース内のデータストアのそれぞれの要素内に保存するデータの式は、次のとおりである。
【0024】
データ=ZP+1,000,000*(Z+(64,000*(G+M2*3+M1*81+D*2187+A*262440+MU*524880))
【0025】
これは、前述のように等価に表現可能であるが、保存されている/検索されるデータに対するZIP及びZIP+4値の関係を明瞭にするべく、別個にグループ化された追加情報によって表現されている。これらのファクタを乗算することにより、個々の桁の底の値を判定することができる。そして、データストアからデータ要素を抽出した際に、その要素をこれらの底の値によって除算することにより、その新しい住所の各構成要素を提供するモジュロの結果を取得する。尚、前述の数値は、2547を上回ることはなく、これは、前述の引用した特許出願に開示されている保存及び検索方法の7データストア実装における最大データサイズである。このデータの各部分を検索し、デストライピングを行い、モジュロ−254処理の後に組み合わせ、次いで、前述の可変モジュロ演算を実行して個々の新しい住所要素を生成することにより、新しい住所を生成するのである。
【0026】
この前述の引用した特許出願に記述されている複数のデータストアセキュリティ法を使用する代わりに、前述の引用した特許出願の安全なデータストア法に加え、本発明の方法の動作効率を改善するルックアップテーブル技法をその他のデータセキュリティ法及びアルゴリズムに適用することも可能である。即ち、例えば、暗号化データストアの場合には、(ハッシュ符号化データストアのアクセスとは異なり)、暗号解読プロセスのために、データ検索に大きな演算オーバーヘッドが必要となる。このようなデータストアの前段にルックアップテーブルを採用すれば、無効なエントリに関する暗号化データストアのサーチを回避することができる。
【0027】
一方、以上の説明に提供されている名称が事業所の名称に対応していない場合には、個人名称解析器24Bにより、その名称の個々の構成要素(例:ファーストネーム、ミドルネーム、名字)を解析すると共に、一般的に名称と関連付けられている性別を見出すべく試みる。次いで、この解析された名称をSHA生成器21Bに供給し、事業所の名称の場合と同様に、EMDPと組み合わせた後に、住所変更エントリの存在について転居テーブル27をチェックする。そして、エントリが検出されない場合には、個人名称解析器24Bにより、名字の一般的な綴りの誤りを使用し、その名称の並び替えを生成することができる。次いで、(ニックネームテーブルからの)既知のニックネームとファーストネームの一般的な綴りの誤りを使用し、その名称の並べ替えを実行することも可能である。又、その他のテーブルを使用することにより、発音が類似した変形に対するファジーロジック例外を有する(フォネティックサウンデックス表現による)類似の発音の並べ替えを提供することも可能である(例えば、BakerとBeckerは、同一のサウンデックスを具備可能であるが、等価であるとは見なされない)。そして、以上の変形を試みた後に、名字と住所のみを使用することにより、問合せを実行する。この名字/住所の組み合わせに対する転居テーブル27内のエントリは、「家族」の転居を示すものであり、この場合には、転居の後に、その同一の名字を有する世帯には、だれも残っていない。
【0028】
次に図3を参照すれば、本発明の一般的な実施例による安全なデータ検索法が示されている。まず、認可情報を受領し(段階41)、この受領したアクセス情報の非タイプ依存部分から標準アクセス情報を生成する(段階42)。そして、この標準化されたアクセス情報をハッシュ化し(段階43)、1つ又は複数のルックアップテーブルを参照して、そのハッシュ化されたアセクス情報のエントリが存在するかどうかを判定する(判定44)。そして、エントリが検出された場合には、そのエントリが検出されたルックアップテーブルに対応したタイプに応じて、そのアクセス情報のタイプ依存部分を標準化する(段階45)。次いで、段階43及び段階49からの組み合わせ並びに標準化されたアクセス情報をハッシュ化し(段階46)、安全なデータストア内のエントリの存在を検証する(判定47)。そして、その組み合わせ並びに標準化されたアクセス情報に対応した安全なデータストア内のエントリが存在する場合には(判定47)、そのハッシュ化並びに組み合わせられた標準化アクセス情報を使用し、要求されているデータを安全なデータストアから検索する(段階48)。一方、判定47において、エントリが検出されず、入力の並べ替えを試みる必要があり、且つ、すべての並べ替えがまだ終了していない場合には(判定51)、アクセス情報のタイプ依存部分の並べ替えを実行し(段階52)、段階46に従って、別の組み合わせられたアクセス情報のハッシュ化の結果を演算し、それらの並び替えについて、検証(段階47)と検索(段階48)の段階を反復することになる。
【0029】
一方、判定44において、第1ルックアップテーブルにおいて、エントリが検出されない場合には、最後のテーブルに到達するまで(段階50)、その他のアクセス情報タイプの更なるルックアップテーブルを参照することができる(段階49)。そして、段階44において、いずれのテーブルにおいてもエントリが検出されない場合には、段階41の入力を段階51において並べ替えることができる。
【0030】
この図3の方法は、「認可データ」の受領に応答した「開示データ」の出力を必要とするあらゆるシステムに適用することができる。例えば、次の表1は、この方法を適用可能な認可/開示データのペアを示している。
【0031】
【表1】

【0032】
尚、この表1は、保護を要するプライベートデータを表しているが、これは、限定を意図するものではなく、政府エンティティと事業/民間組織の両方のための様々なアプリケーションの模範的な例を示すものである。
【0033】
次に図4を参照すれば、郵便住所の変更に適用される本発明の特定の実施例による方法が示されている。即ち、事業所又は個人の名称と古い住所を受領し(段階61)、その古い住所についてEMDPを生成する(段階62)。そして、このEMDPをハッシュ化し(段階63)、事業所の住所変更ルックアップテーブルを参照する。そして、この事業所の住所変更ルックアップテーブル内にエントリが検出された場合には(段階64)、事業所名称テーブルを使用して、その事業所の名称を標準化し(段階65)、EMDPと共にハッシュ化する(段階66)。次いで、転居テーブルを参照して、エントリが存在するかどうかを判定し(判定67)、エントリが存在する場合には、そのハッシュ化並びに標準化されたアクセス情報を使用し、保護されているデータストアから新しい住所を検索する(段階68)。一方、移動テーブル内にエントリが検出されず、且つ、更に並べ替えが存在する場合には(判定70)、入力の更なる並べ替えを試み(段階71)、その名称及びEMDPをハッシュ化し(段階66)、エントリについて転居テーブルを再チェックすることができる(判定67)。
【0034】
一方、判定64において、事業所エントリが検出されなかった場合には、段階61において受領した名称と古い住所を個人のものであると推定し、その名称を解析して標準化する(段階69)。そして、この標準化された名称及びEMDPをハッシュ化し(段階66)、転居テーブルを参照して、エントリが存在しているかどうかを判定する(判定67)。そして、エントリが存在している場合には、段階68において、組み合わせ並びにハッシュ化された結果を使用し、保護されているデータストアから、その個人の新しい住所を抽出することになる。
【0035】
以上、好適な実施例を参照し、本発明について図示並びに説明したが、当業者であれば、本発明の精神と範囲を逸脱することなしに、形態及び詳細において、上述並びにその他の変更を加えることが可能であることを理解するであろう。

【特許請求の範囲】
【請求項1】
安全なデータストアから保護されているデータを検索する方法であって、
アクセス情報を受領する段階と、
前記受領したアクセス情報のタイプ独立部分をハッシュ化し、ハッシュ化された結果を生成する段階と、
前記ハッシュ化された結果がルックアップテーブル内に存在しているかどうかを判定する段階と、
前記ハッシュ化された結果が前記ルックアップテーブル内に存在しているという判定に応答し、前記保護されているデータストアと関連付けられている安全な検索アルゴリズムを使用して、前記保護されているデータストアから前記保護されているデータを検索する段階と、
を有する方法。
【請求項2】
前記検索段階は、
前記受領したアクセス情報のタイプ依存部分を標準化する段階と、
前記受領したアクセス情報の前記標準化されたタイプ依存部分を前記受領したアクセス情報の前記タイプ独立部分と組み合わせる段階と、
前記組み合わせ段階の結果をハッシュ化し、組み合わせ並びにハッシュ化された結果を取得する段階と、
前記組み合わせ並びにハッシュ化された結果により、前記安全なデータストアにアクセスする段階と、
を有する請求項1記載の方法。
【請求項3】
前記アクセス段階は、
前記組み合わせ並びにハッシュ化された結果を複数のオフセットフィールドに分割する段階であって、前記複数のフィールドの数は、前記保護されているデータの各部分が保存されている別個のデータストアの数に対応している、段階と、
前記オフセットフィールドを前記データストアに対するインデックスとして使用して、前記別個のデータストア内の場所にアクセスし、これにより、前記保護されているデータの各部分を前記場所から検索する段階と、
前記安全なデータの前記各部分を組み合わせて、前記保護されているデータを生成する段階と、
を有する請求項2記載の方法。
【請求項4】
前記組み合わせ段階は、前記データ値の各部分に前記データ値内のそれぞれのデータ値部分の位置に対応する既定の数値底の累乗を乗算することにより、前記データ値の各部分を組み合わせる請求項3記載の方法。
【請求項5】
前記組み合わせ段階は、
前記ハッシュ化された結果のフィールドを既定のストライピング組み合わせ数によって除算し、ストライピングモジュラスを生成する段階と、
前記モジュラスに基づいて、ストライピングオーダーテーブルからストライピングオーダーを選択する段階と、
前記検索されたストライピングオーダーに従って、前記保護されているデータの前記各部分をリオーダーし、これにより、前記ストライピングオーダーに基づいて、前記組み合わせ段階を実行する、段階と、
を有する請求項3記載の方法。
【請求項6】
前記ハッシュ化段階は、SHA−1アルゴリズムに従って実行される請求項1記載の方法。
【請求項7】
前記ルックアップテーブルは、前記アクセス情報の第1のタイプと関連付けられており、前記方法は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記ハッシュ化された結果が前記アクセス情報の第2のタイプに対応する第2のルックアップテーブル内に存在するかどうかを判定する段階を更に有する請求項1記載の方法。
【請求項8】
前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報の並べ替えを実行して、並べ替えられたアクセス情報を取得する段階を更に有し、前記並べ替えられたアクセス情報に基づいて、前記ハッシュ化、判定、及び検索の各段階を実行する請求項1記載の方法。
【請求項9】
前記アクセス情報の前記タイプ独立部分は、エンティティの古い郵便住所であり、前記アクセス情報の前記タイプ依存部分は、エンティティの名称であり、前記保護されているデータは、前記エンティティの新しい郵便住所である請求項1記載の方法。
【請求項10】
前記ルックアップテーブルは、事業所エンティティに対応するエントリを格納しており、前記方法は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報を1つ又は複数の個人の名称及び古い住所として取り扱う段階を更に有する請求項9記載の方法。
【請求項11】
プログラム命令を実行するプロセッサと、前記プロセッサに接続され、プログラム命令及びデータを保存するメモリと、を有するコンピュータシステムであって、
前記プログラム命令は、
アクセス情報を受領する段階と、
前記受領したアクセス情報のタイプ独立部分をハッシュ化し、ハッシュ化された結果を生成する段階と、
前記ハッシュ化された結果がルックアップテーブル内に存在するかどうかを判定する段階と、
前記ハッシュ化された結果が前記ルックアップテーブル内に存在しているという判定に応答し、前記保護されているデータストアに関連付けられている安全な検索アルゴリズムを使用して、前記保護されているデータストアから前記保護されているデータを検索する段階と、
を実行するプログラム命令を有している、コンピュータシステム。
【請求項12】
前記検索段階を実行するプログラム命令は、
前記受領したアクセス情報のタイプ依存部分を標準化する段階と、
前記受領したアクセス情報の前記標準化されたタイプ依存部分を前記受領したアクセス情報の前記タイプ独立部分と組み合わせる段階と、
前記組み合わせ段階の結果をハッシュ化し、組み合わせ並びにハッシュ化された結果を取得する段階と、
前記組み合わせ並びにハッシュ化された結果により、前記安全なデータストアにアクセスする段階と、
を実行するプログラム命令を有する請求項11記載のコンピュータシステム。
【請求項13】
前記アクセス段階を実行するプログラム命令は、
前記組み合わせ並びにハッシュ化された結果を複数のオフセットフィールドに分割する段階であって、前記複数のフィールドの数は、前記保護されているデータの各部分が保存されている別個のデータストアの数に対応している、段階と、
前記オフセットフィールドを前記データストアに対するインデックスとして使用して、前記別個のデータストア内の場所にアクセスし、これにより、前記場所から前記保護されているデータの各部分を検索する段階と、
前記安全なデータの前記各部分を組み合わせて前記保護されているデータを生成する段階と、
を実行するプログラム命令を有している請求項12記載のコンピュータシステム。
【請求項14】
前記組み合わせ段階を実行するプログラム命令は、前記データ値の各部分に前記データ値内のそれぞれのデータ値部分の位置に対応する既定の数値底の累乗を乗算することにより、前記データ値の各部分を組み合わせる請求項13記載のコンピュータシステム。
【請求項15】
前記組み合わせを実行するプログラム命令は、
前記ハッシュ化された結果のフィールドを既定のストライピング組み合わせ数によって除算し、ストライピングモジュラスを生成する段階と、
前記モジュラスに基づいて、ストライピングオーダーテーブルからストライピングオーダーを選択する段階と、
前記検索されたストライピングオーダーに従って、前記保護されているデータの前記各部分をリオーダーし、これにより、前記ストライピングオーダーに基づいて、前記組み合わせ段階を実行する段階と、
を実行するプログラム命令を有する請求項13記載のコンピュータシステム。
【請求項16】
前記ハッシュ化を実行するプログラム命令は、SHA−1アルゴリズムを実装する請求項11記載のコンピュータシステム。
【請求項17】
前記ルックアップテーブルは、前記アクセス情報の第1のタイプと関連付けられており、前記プログラム命令は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記ハッシュ化された結果が前記アクセス情報の第2のタイプに対応する第2のルックアップテーブル内に存在しているかどうかを判定するプログラム命令を更に有する請求項11記載のコンピュータシステム。
【請求項18】
前記ハッシュ化された結果が、前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報の並べ替えを実行し、並べ替えられたアクセス情報を取得するプログラム命令を更に有し、前記並べ替えられたアクセス情報を入力として使用して、前記ハッシュ化、判定、及び検索段階を実行するプログラム命令を再度実行する請求項11記載のコンピュータシステム。
【請求項19】
前記アクセス情報の前記タイプ独立部分は、エンティティの古い郵便住所であり、前記アクセス情報の前記タイプ依存部分は、エンティティの名称であり、前記保護されているデータは、前記エンティティの新しい郵便住所である請求項11記載のコンピュータシステム。
【請求項20】
前記ルックアップテーブルは、事業所エンティティに対応するエントリを格納しており、前記プログラム命令は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報を1つ又は複数の個人の名称及び古い住所として処理するプログラム命令を更に有する請求項19記載のコンピュータシステム。
【請求項21】
汎用コンピュータシステム内において実行するべくプログラム命令を符号化した信号保存媒体を有するコンピュータプログラムプロダクトであって、
前記プログラム命令は、
アクセス情報を受領する段階と、
前記受領したアクセス情報のタイプ独立部分をハッシュ化し、ハッシュ化された結果を生成する段階と、
前記ハッシュ化された結果がルックアップテーブル内に存在しているかどうかを判定する段階と、
前記ハッシュ化された結果が前記ルックアップテーブル内に存在しているという判定に応答し、前記保護されているデータストアに関連付けられている安全な検索アルゴリズムを使用し、前記保護されているデータストアから前記保護されているデータを検索する段階と、
を実行するプログラム命令を有している、コンピュータプログラムプロダクト。
【請求項22】
前記検索段階を実行するプログラム命令は、
前記受領したアクセス情報のタイプ依存部分を標準化する段階と、
前記受領したアクセス情報の前記標準化されたタイプ依存部分を前記受領したアクセス情報の前記タイプ独立部分と組み合わせる段階と、
前記組み合わせ段階の結果をハッシュ化し、組み合わせ並びにハッシュ化された結果を取得する段階と、
前記組み合わせ並びにハッシュ化された結果により、前記安全なデータストアにアクセスする段階と、
を実行するプログラム命令を有する請求項21記載のコンピュータプログラムプロダクト。
【請求項23】
前記アクセス段階を実行するプログラム命令は、
前記組み合わせ並びにハッシュ化された結果を複数のオフセットフィールドに分割する段階であって、前記複数のフィールドの数は、前記保護されているデータの各部分が保存されている別個のデータストアの数に対応している段階と、
前記オフセットフィールドを前記データストアに対するインデックスとして使用して前記別個のデータストア内の場所にアクセスし、これにより、前記場所から前記保護されているデータの各部分を検索する段階と、
前記安全なデータの前記各部分を組み合わせて前記保護されているデータを生成する段階と、
を実行するプログラム命令を有している請求項22記載のコンピュータプログラムプロダクト。
【請求項24】
前記組み合わせ段階を実行するプログラム命令は、前記データ値の各部分に前記データ値内のそれぞれのデータ値部分の位置に対応する既定の数値底の累乗を乗算することにより、前記データ値の各部分を組み合わせる請求項23記載のコンピュータプログラムプロダクト。
【請求項25】
前記組み合わせ段階を実行するプログラム命令は、
前記ハッシュ化された結果のフィールドを既定のストライピング組み合わせ数によって除算し、ストライピングモジュラスを生成する段階と、
前記モジュラスに基づいて、ストライピングオーダーテーブルからストライピングオーダーを選択する段階と、
前記検索されたストライピングオーダーに従って、前記保護されているデータの前記各部分をリオーダーし、これにより、前記ストライピングオーダーに基づいて、前記組み合わせ段階を実行する段階と、
を実行するプログラム命令を有する請求項23記載のコンピュータプログラムプロダクト。
【請求項26】
前記ハッシュ化段階を実行するプログラム命令は、SHA−1アルゴリズムを実装する請求項21記載のコンピュータプログラムプロダクト。
【請求項27】
前記ルックアップテーブルは、前記アクセス情報の第1のタイプと関連付けられており、前記プログラム命令は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記ハッシュ化された結果が前記アクセス情報の第2のタイプに対応する第2のルックアップテーブル内に存在しているかどうかを判定するプログラム命令を更に有する請求項21記載のコンピュータプログラムプロダクト。
【請求項28】
前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報の並べ替えを実行して、並べ替えられたアクセス情報を取得するプログラム命令を更に有し、前記並べ替えられたアクセス情報を入力として使用して、前記ハッシュ化、判定、及び検索段階を実行するプログラム命令を再度実行する請求項21記載のコンピュータプログラムプロダクト。
【請求項29】
前記アクセス情報の前記タイプ独立部分は、エンティティの古い郵便住所であり、前記アクセス情報の前記タイプ依存部分は、エンティティの名称であり、前記保護されているデータは、前記エンティティの新しい郵便住所である請求項21記載のコンピュータプログラムプロダクト。
【請求項30】
前記ルックアップテーブルは、事業所エンティティに対応するエントリを格納しており、前記プログラム命令は、前記ハッシュ化された結果が前記ルックアップテーブル内に存在していないという判定に応答し、前記アクセス情報を1つ又は複数の個人の名称及び古い住所として処理するプログラム命令を更に有する請求項29記載のコンピュータプログラムプロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−211820(P2010−211820A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2010−106695(P2010−106695)
【出願日】平成22年5月6日(2010.5.6)
【分割の表示】特願2004−534223(P2004−534223)の分割
【原出願日】平成15年6月11日(2003.6.11)
【出願人】(500329814)ユナイテッド ステイツ ポスタル サービス (9)
【Fターム(参考)】