(57)【要約】  データ構造、データベース管理システムおよびデータ確認方法を開示する。共通のデータ構造を有する複数のテーブルを含む相互接続されたリレーショナルデータベースの超集合を含むデータ構造を説明する。このようなテーブルは疎行列リンスされたリストとして記憶される。一般的なレベルから特定的レベルに構成される１連のレベルでレコードを階層的な秩序で順序付けする方法を開示する。主観的表現を有する入力アドレスを優先表現を有する出力アドレスに変換する方法を含むアドレスデータベースでの使用例を説明する。優先アーチファクトにトークンで印付けする。別名テーブルが含まれる。この要約は、探索者または他の読者に本出願書の主題について迅速に通知することを本要約に要求するルールに準拠するために提供される。本要約は、クレームの範囲または意味を解釈したり制限したりするために用いられることはないという理解に基づいて提出される。【選択図】図１
2007535009.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の二次データベースに動作可能に接続された一次データベースを含む超集合を備えるデータ構造において、
前記一次データベースおよび１つ以上の二次データベースの各々が１つ以上の他のテーブルに動作可能に接続された第１のテーブルを含み、
前記第１のテーブルと１つ以上の他のテーブルの各々が共通のデータ構造を共有する、
データ構造。
【請求項２】
前記一次データベースと１つ以上の二次データベースの各々がリレーショナルデータベースである請求項１に記載のデータ構造。
【請求項３】
前記共通のデータ構造が疎行列リンクされたリストを含む請求項１に記載のデータ構造。
【請求項４】
前記共通データ構造がデータを含む複数のレコードを含み、前記レコードが、前記データに基づいて、一般的なレベルから特定的なレベルに構成される１連のレベルで階層的順序で配置される請求項１に記載のデータ構造。
【請求項５】
前記一次データベースがソーステーブルを含み、
第１の二次データベースが別名テーブルを含み、
第２の二次データベースが標準化テーブルを含み、
第３の二次データベースが入力データを受け入れて記憶するように構成されている、
請求項１に記載のデータ構造。
【請求項６】
前記ソーステーブルが、公的なソースまたは私的なソースから得られたデータレコードを含み、
前記別名テーブルはレコードの等価表現を１つ以上含み、
前記標準化テーブルがレコードの標準化された表現を１つ以上含む、
請求項５に記載のデータ構造。
【請求項７】
前記ソーステーブルは、政府の郵政サービスと商用ソースとから得られたアドレスレコードを含む、請求項６に記載のデータ構造。
【請求項８】
前記第１のテーブルが優先レコードを含み、
第１の他のテーブルが一次別名レコードを含み、
第２の他のテーブルが二次別名レコードを含む、
１つ以上のアーチファクトを含むレコードを記憶する請求項１に記載のデータ構造。
【請求項９】
前記優先レコードが１つ以上の優先表現を含み、
前記一次別名レコードが一次アーチファクトの等価表現を１つ以上含み、
前記二次別名レコードが二次アーチファクトの等価表現を１つ以上含む、
請求項８に記載のデータ構造。
【請求項１０】
前記優先レコードがアドレスの優先表現を１つ以上含む請求項９に記載のデータ構造。
【請求項１１】
最適な探索のためにデータを準備する方法であり、１つ以上のデータベースに記憶されている前記データがレコードから成るリンクされたテーブルを複数個含み、前記方法が、
前記レコードを、前記データに基づいて、一般的レベルから特定的レベルに構成された１連のレベルで、階層的順序で前記テーブルの各々のテーブル中に配置するステップと、
前記テーブルの各々を１つ以上の疎行列リンクされたリストテーブルに変換するステップと、
を含む方法。
【請求項１２】
前記１つ以上のデータベースがサーバ・クライアントネットワーク環境下に存在し、前記方法が、前記１つ以上の疎行列リンク済みリストテーブルを１つ以上のクライアントに分配するステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記１つ以上のデータベースがデータ超集合を形成するように相互接続されたリレーショナルデータベースである請求項１１に記載の方法。
【請求項１４】
前記データがアドレスアーチファクトを含む請求項１１に記載の方法。
【請求項１５】
最適な探索のためにデータを準備する装置であり、１つ以上のデータベースに記憶されている前記データがレコードから成るリンクされたテーブルを複数個含み、前記装置が、
中央処理装置と、
メモリーと、
基本的入／出力システムと、
前記中方処理装置が実行可能なプログラムモジュールを含むプログラムストレージであり、前記プログラムモジュールが、
前記レコードを、前記データに基づいて、一般的レベルから特定的レベルに構成された１連のレベルで、階層的順序で前記テーブルの各々のテーブル中に配置する手段と、
前記テーブルの各々を１つ以上の疎行列リンクされたリストテーブルに変換する手段と、
を含む前記プログラムストレージと、
を備える装置。
【請求項１６】
前記中央処理装置から遠隔にある１つ以上のクライアントをさらに備える請求項１５に記載の装置において、前記プログラムモジュールが、前記１つ以上の疎行列リンク済みリストテーブルの複製をサーバから１つ以上のクライアントに分配する手段をさらに含む、前記装置。
【請求項１７】
リンクされたテーブルから成るデータベースを用いて主観的表現を優先表現に変換する方法において、前記方法が、
前記主観的表現を捕獲してそれを前記リンクされたテーブルの内の第１のテーブルに記憶するステップと、
前記リンクされたテーブルの内の第２のテーブルにソースデータを記憶するステップと、
前記主観的表現を前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補となる表現を突き止めるステップと、
前記１つ以上の候補表現の中から優先表現を選択するステップであり、前記優先表現は前記主観的表現に最も類似している前記ステップと、
前記優先表現を放出するステップと、
を含む方法。
【請求項１８】
前記ソースデータを見直して、優先データを含む１つ以上の選択レコードを特定するステップと、
優先トークンを前記１つ以上の選択レコードに付加するステップと、
をさらに含む請求項１７に記載の方法。
【請求項１９】
優先表現を選択する前記ステップが、前記１つ以上の候補表現の内の１つと関連する優先トークンを特定するステップを含む請求項１７に記載の方法。
【請求項２０】
１つ以上の候補表現を突き止める前記ステップが、
（ａ）前記主観的表現を１つ以上の離散的アーチファクトに解析するステップと、
（ｂ）（１）前記１つの離散的アーチファクトを前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補アーチファクトを突き止めるステップと、
（２）前記１つ以上の候補アーチファクトの中から優先アーチファクトを選択するステップであり、前記優先アーチファクトは前記１つの離散的アーチファクトに最も類似しているステップと、
（３）前記優先アーチファクトを記憶するステップと、
から成る、前記１つ以上の離散的アーチファクトの内から１つを選択するステップと、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、
（ｄ）前記優先アーチファクトを組み合わせて優先表現を形成するステップと、
をさらに含む請求項１７に記載の方法。
【請求項２１】
１つ以上の候補表現を突き止める前記ステップは、
前記リンクされたテーブルの内の３番目のテーブルに別名データを記憶するステップと、
前記別名データを見直して、優先別名表現を含む１つ以上の選択別名レコードを特定するステップと、
優先別名トークンを前記１つ以上の選択別名レコードに付加するステップと、
前記主観的表現を前記別名データと比較することによって前記別名データの中から１つ以上の候補別名を突き止めるステップと、
前記１つ以上の候補別名から優先別名を選択するステップであり、前記優先別名は前記優先別名トークンに最も緊密に関連しているステップと、
前記優先別名を候補表現として放出するステップと、
をさらに含む請求項１７に記載の方法。
【請求項２２】
１つ以上の候補別名を突き止める前記ステップは、
（ａ）前記主観的表現を１つ以上の離散的アーチファクトに解析するステップと、
（ｂ）（１）前記１つの離散的アーチファクトを前記別名データと比較することによって前記ソースデータの中から１つ以上の候補別名アーチファクトを突き止めるステップと、
（２）前記１つ以上の候補別名アーチファクトの中から優先別名アーチファクトを選択するステップであり、前記優先別名アーチファクトは前記優先別名トークンに最も緊密に関連しているステップと、
（３）前記優先別名アーチファクトを記憶するステップと、
から成る、前記１つ以上の離散的アーチファクトの中から１つを選択するステップと、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、
（ｄ）前記優先別名アーチファクトを前記優先別名に付加するテップと、
をさらに含む請求項２１に記載の方法。
【請求項２３】
リンクされたテーブルから成るデータベースを用いて、主観的表現と優先表現に変換する装置において、前記装置が、
中央処理装置と、
メモリーと、
基本的入／出力システムと、
前記中方処理装置が実行可能なプログラムモジュールを含むプログラムストレージであり、前記プログラムモジュールが、
前記主観的表現を捕獲してそれを前記リンクされたテーブルの内の最初のテーブルに記憶する手段と、
前記リンクされたテーブルの内の２番目のテーブルにソースデータを記憶する手段と、
前記主観的表現を前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補となる表現を突き止める手段と
前記１つ以上の候補表現の中から優先表現を選択する手段であり、前記優先表現は前記主観的表現に最も類似している前記手段と、
前記優先表現を放出する手段と、
を備える前記プログラムストレージと、
を備える装置。
【請求項２４】
前記プログラムモジュールが、
前記ソースデータを見直して、優先データを含む１つ以上の選択レコードを特定する手段と、
優先トークンを前記１つ以上の選択レコードに付加する手段と、
をさらに備える請求項２３に記載の装置。
【請求項２５】
前記プログラムモジュールが、前記１つ以上の候補表現の内の１つと関連する優先トークンを特定する手段をさらに備える請求項２３に記載の装置。
【請求項２６】
１つ以上の候補表現を突き止める前記手段が、
（ａ）前記主観的表現を１つ以上の離散的アーチファクトに解析する手段と、
（ｂ）（１）前記１つの離散的アーチファクトを前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補アーチファクトを突き止める手段と、
（２）前記１つ以上の候補アーチファクトの中から優先アーチファクトを選択する手段であり、前記優先アーチファクトは前記１つの離散的アーチファクトに最も類似している手段と、
（３）前記優先アーチファクトを記憶する手段と、
から成る、前記１つ以上の離散的アーチファクトの内から１つを選択する手段と、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返す手段と、
（ｄ）前記優先アーチファクトを組み合わせて優先表現を形成する手段と、
をさらに備える請求項２３に記載の装置。
【請求項２７】
１つ以上の候補表現を突き止める前記手段が、
前記リンクされたテーブルの内の３番目のテーブルに別名データを記憶する手段と、
前記別名データを見直して、優先別名表現を含む１つ以上の選択別名レコードを特定する手段と、
優先別名トークンを前記１つ以上の選択別名レコードに付加する手段と、
前記主観的表現を前記別名データと比較することによって前記別名データの中から１つ以上の候補別名を突き止める手段と、
前記１つ以上の候補別名から優先別名を選択する手段であり、前記優先別名は前記優先別名トークンに最も緊密に関連している手段と、
前記優先別名を候補表現として放出する手段と、
をさらに備える請求項２３に記載の装置。
【請求項２８】
１つ以上の候補別名を突き止める前記手段は、
（ａ）前記主観的表現を１つ以上の離散的アーチファクトに解析する手段と、
（ｂ）（１）前記１つの離散的アーチファクトを前記別名データと比較することによって前記ソースデータの中から１つ以上の候補別名アーチファクトを突き止める手段と、
（２）前記１つ以上の候補別名アーチファクトの中から優先別名アーチファクトを選択する手段であり、前記優先別名アーチファクトは前記優先別名トークンに最も緊密に関連している手段と、
（３）前記優先別名アーチファクトを記憶する手段と、
から成る、前記１つ以上の離散的アーチファクトの中から１つを選択する手段と、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返す手段と、
（ｄ）前記優先別名アーチファクトを前記優先別名に付加するテップと、
をさらに備える請求項２７に記載の装置。
【請求項２９】
１つ以上の外部アプリケーションによるデータベースに対するアクセスを制御する方法において、前記方法が、
各々が前記１つ以上の外部アプリケーションの内の１つと相関している複数のルール集合を設定して記憶するステップと、
第１のアプリケーションから要求を受信するステップと、
前記第１のアプリケーションと相関している第１のルール集合を検索するステップと、
前記第１のルール集合を適用して、前記第１のアプリケーションと前記データベース間の対話を制御するステップと、
を含む方法。
【請求項３０】
前記第１のルール集合が、前記第１のアプリケーションによって用いられる前記データベースから捕獲されるように利用可能なデータのリストを含む、請求項２９に記載の方法。
【請求項３１】
１つ以上の外部アプリケーションからの要求に応答してデータベース内部におけるデータ捕獲の深度を制御する方法において、前記方法が、
複数のルール集合を設定して記憶するステップであり、その各々が前記１つ以上の外部アプリケーションの内の１つと相関している前記ステップと、
前記複数のルール集合の各々が前記データベースから捕獲されるデータのリストを含んでおり、
第１のアプリケーションから要求を受信するステップと、
前記第１のアプリケーションと相関している第１のルール集合を検索するステップと、
前記第１のルール集合を適用して、前記データベースから前記第１のアプリケーションにとって利用可能なデータを制限するステップと、
を含む方法。
【請求項３２】
一次テーブルと１つ以上の二次テーブルをリンクするデータベースであり、前記テーブルの各々が共通のデータ構造を共有する前記データベースを含むデータ構造において、前記データベースが、前記テーブルの内の１つ以上を疎行列リンクされたリストに変換するように構成されているデータベース管理システムによって制御される、データ構造。
【請求項３３】
前記データベースは、相互接続されたリレーショナルデータベースを１つ以上含む請求項３２に記載のデータ構造。
【請求項３４】
前記データベース管理システムがインタフェースと確認モジュールとを含む請求項３２に記載のデータ構造。
【請求項３５】
前記インタフェースは、１つ以上の外部アプリケーションによる前記データベースに対するアクセスを制御する請求項３４に記載のデータ構造。
【請求項３６】
前記データベース管理システムは、データを主観的表現から優先表現に変換するようにさらに構成される請求項３２に記載のデータ構造。
【請求項３７】
パラメータの優先特徴付けを表す値から成る第１のテーブルと、
パラメータを特徴付ける入力データを表す値から成る第２のテーブルと、
前記入力データを対応する優先特徴付けに適合させるプロセスを容易化する階層に配置されている値から成る第３のテーブルと、
を含み、前記テーブルの各々が疎行列リンクされたリストを含む、データベース管理システムで用いられるデータ構造。
【請求項３８】
第１のテーブル中のパラメータを特徴付ける入力データを受信するステップと、
第２のテーブルに記憶されている別名特徴付けのテーブルにしたがって前記入力データを修正するステップと、
修正された入力データを第３のテーブルに記憶されている優先特徴付けに整合させるステップと、
を含む、パラメータを特徴付けする方法。
【請求項３９】
１つ以上の二次データベースに動作可能に接続された一次データベースを含む超集合であり、前記データベースの各々が複数のリンクされたテーブルを含み、前記テーブルの各々が共通のデータ構造を共有する前記超集合と、
前記テーブルの内の１つ以上を疎行列リンクされたリストに変換するように構成されたエンハンスメントモジュールと、
サーバ・クライアントネットワーク環境下でデータの配分を制御する公開／加入モジュールと、
アドレスの主観的表現を前記アドレスの優先表現に変換するマッチング／確認モジュールと、
１つ以上の外部アプリケーションによる前記超集合に対するアクセスを制御するインタフェースと、
を備えるアドレス管理システム。
【請求項４０】
前記エンハンスメントモジュールは、前記データに基づいて、一般的レベルから特定的レベルに構成された１連のレベルで階層的順序で前記テーブルの内の１つ以上のレコードを配置するようにさらに構成される請求項３９に記載のシステム。
【請求項４１】
前記一次データベースがソーステーブルを含み、
第１の二次データベースが別名テーブルを含み、
第２の二次データベースが標準化テーブルを含み、
第３の二次データベースが入力データを受け入れて記憶するように構成されている、
請求項３９に記載のシステム。
【請求項４２】
前記ソーステーブルが、公的なソースまたは私的なソースから得られたデータレコードを含み、
前記別名テーブルはレコードの等価表現を１つ以上含み、
前記標準化テーブルがレコードの標準化された表現を１つ以上含む、
請求項４１に記載のシステム。
【請求項４３】
前記ソーステーブルは、政府の郵政サービスと商用ソースとから得られたアドレスレコードを含む、請求項４２に記載のシステム。
【請求項４４】
前記第１のテーブルが優先レコードを含み、
第２のテーブルが一次別名レコードを含み、
第３のテーブルが二次別名レコードを含む、
１つ以上のアドレスアーチファクトを含むレコードを記憶する請求項４０に記載のシステム。
【請求項４５】
前記優先レコードが１つ以上の優先表現を含み、
前記一次別名レコードが一次アドレスアーチファクトの等価表現を１つ以上含み、
前記二次別名レコードが二次アドレスアーチファクトの等価表現を１つ以上含む、
請求項４４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の開示は、一般的にはリレーショナルデータベースの管理システムに関し、より詳しくは、コンピュータネットワークという環境において、疎行列リンクされたリストを用いて複数のリレーショナルデータベースにわたって階層データを処理する方法と装置に関する。
【０００２】
背景技術
データベースは、ディジタル時代の開始時から計算の主要素であった。データベースとは一般的に、持続性のあるデータから成る１つ以上の構造化された集合のことであり、通常はソフトウエアシステムと関連付けられて、データを作成したり、更新したり、照合したりする。データベースにおいては、データ値はその各々がフィールドに記憶されるが、このフィールドが集合となってレコードを形成し、レコードがグループとなってファイルに一緒に記憶される。
【０００３】
最初のデータベースはフラットであったが、これは、すべてのデータが区切られたファイルと呼ばれる１行のテキストに記憶されていたことを意味する。区切られたファイルにおいては、各々のフィールドは、コンマなどの特殊文字によって分離されている。レコードは各々が、カレット（＾）やタブ文字などの別の文字によって分離される。１つの区切られたファイルの概観は次のようなものである。
【０００４】
姓，名，年齢＾ダウ，ジョン，２６＾スミス，ジェーン，４３＾ジョーンズ，デビッド，３４
フィールドはその各々に、属性と呼ばれる名称またはカテゴリが割り当てられる。上のサンプルファイルでは、属性はＬａｓｔ（姓）、Ｆｉｒｓｔ（名）およびＡｇｅ（年齢）である。属性は、各々のフィールドに記憶されるデータのタイプを示す。データが多量にある場合、区切られたテキストファイルは非常に長いものとなりかねない。特定のデータにアクセスするには、通常はリスト全体を連続的に探索する必要がある。コンピュータとデータベースの容量が増すにつれて、より効率的で迅速な技法に対する必要性によって新たなデータ構造が開発されるようになった。
【０００５】
リレーショナルデータベースモデルは１９７０年代初期に記載されている。リレーショナルデータベースにおいては、データはテーブルに記憶される。テーブルはデータを行と列に編成して、各々のフィールドに対して特定のロケーション（第ｘ行、第ｙ列）を与える。各々の行には１つのレコードが含まれる。列は、属性によって順番に配置され、したがって、各々の列のすべてフィールドが同じタイプのデータを含んでいる。上記の区切られたファイルは以下のようなテーブル形式で表される。
【表１】
2007535009.tif 000003
【０００６】
属性すなわち列のヘッディングの集合は時としてテーブルのスキーマと呼ばれる。たとえば、上記のテーブルはスキーマ（姓、名、年齢）を有するテーブルと記述される。
【０００７】
データベースファイルをテーブル形式とすることによって、データに対する探索とアクセスが迅速でより効率的なものとなる。レコード（行）もまた、いずれか１つ以上の列（フィールド）に基づいて新たな順序で仕分けすることが可能である。仕分けは、最も所望されるデータがファイルの最初のほうに顕れるようにレコードを順序付け、これで迅速に探索できるようにするためにしばしば用いられる。
【０００８】
計算速度と容量が増すにつれて、データベーステーブルは多量のデータを記憶するようになった。さらなるレコード（行）を追加してさらなるインスタンスを記述する。さらなる属性（列）を追加して、インスタンス毎にデータのタイプが増えても対処できるようにする。フィールドの数が増えるにつれて、テーブル構造を変更するタスク（行や列を追加したり削除したりすること）がより複雑となり、エラーの尤度が増加する。また、テーブルが大型化するにつれて、１つ以上の列に基づいてデータを仕分けするタスクがより複雑で時間がかかるものとなる。多様なタイプのデータを１つの大型の二次元テーブルに追加するとついには、冗長性や非一貫性が発生したり、必要な記憶容量が増したり、仕分けと計算速度が低下したりするという問題が発生する。
【０００９】
複数のテーブルを持つリレーショナルデータベース
関連データを含む多様なタイプのフィールドを収容するために、リレーショナルデータベースモデルは複数のテーブルを含んでいる。関連データを含む複数のテーブルを、キーフィールドを用いて一緒にリンクさせる。キーフィールドは、レコード（またはデータ行）毎に固有の識別子を含んでいる。キーフィールドは、該当するレコードに固有であれば、部品番号や社会保障番号などの実データを含むことが可能である。これは時として、論理キーと呼ばれる。キーフィールドはまた、レコード番号などの代理キーであったりするが、これは実データには関連しない固有の識別子である。また、キーは、１つのフィールドやフィールドの集合を用いて定義することが可能である。単純なキーは１つのフィールドに基づいており、複合キーは複数のフィールドに基づく。
【００１０】
リレーショナルデータベースにおいては、関連付けされたデータは複数のテーブルに記憶される。「一次キー」と呼ばれるキーフィールドは、テーブルから特定のレコードを発見するための固有の参照ポイントとして機能する。たとえば、「テーブルＡ」というサンプル中の属性（すなわち列のヘッディング）は、（名前、年齢、社会保障番号、被雇用者番号）である。テーブルＡの一次キーは社会保障番号というフィールドである。
【００１１】
データが複数のテーブルに記憶されるリレーショナルデータベースにおいては、「外部キー」と呼ばれる別のキーフィールドが、テーブルを接続する際の参照ポイントとして用いられる。たとえば、（被雇用者番号、部門名、採用日付、給料）というスキーマを有する「テーブルＢ」という別のサンプルテーブルを考える。テーブルＢの一次キーは被雇用者番号という固有のフィールドである。テーブルＡの属性を振り返って見ると、テーブルＡの外部キーは被雇用者番号というフィールドであるが、それは、テーブルＡ中のレコードをテーブルＢ中のレコードにリンクしているからである。このテーブル同士間の関係は、エンティティ関係図を用いて図示することが可能であるが、この関係図において、テーブル各々が、「年齢」や「部門」などの固有のエンティティすなわちカテゴリのデータを含んでいる。
【表２】
2007535009.tif 000004
【００１２】
網掛けされている「被雇用者番号」というフィールドは双方のテーブルに共通であり、したがって、この２つのテーブル中のデータ同士のリンクとなるものである。「被雇用者番号」というフィールドはテーブルＡでは外部キーであるが、テーブルＢでは一次キーである。
【００１３】
テーブルＡとテーブルＢは、同じ数のレコードを含む必要はない。たとえば、テーブルＡ中のレコードはある組織のすべての人の名前、年齢、社会保障番号および被雇用者番号を含んでおり、テーブルＢのレコードは特定の部門または事業部におけるそれらしか含んでいなかったりする。
【００１４】
別個のテーブルに離散的データ集合を包含させることによって、リレーショナルデータベースは、さまざまな目的でテーブルを選んでアクセスすることが可能である。１つのリレーショナルデータベースは、ほんの数個から数千個までのどの数のテーブルを含むこともありえる。
【００１５】
照会言語によって、ユーザはデータベースと対話して、テーブル中のデータを分析することが可能となる。照会とは、データベースからデータの集合を抽出するために用いられる命令の収集物である。照会したからといってテーブル中の情報が変化するわけではなく、単にユーザに対して情報を表示するだけである。照会の結果は時としてビューと呼ばれる。
【００１６】
最も良く知られている照会言語は構造化照会言語（ＳＱＬ）であり、「セクエル」と発音される。ＳＱＬは、データベースの相互運用性のための標準の言語である。照会はＳＱＬの多分最も頻繁に用いられる態様であるが、ＳＱＬコマンドはまた、データベースを作成して維持するためにプログラムツールとして用いられる。
【００１７】
データベース管理システム
データベース管理システム（時としてＤＢＭＳと略記される）とは、一般に、データベース中の情報を管理しまた操作するように具体的に設計されたインタフェースと１つ以上のコンピュータソフトウエアプログラムのことである。ＤＢＭＳは、データの編成、記憶および検索ならびにデータベースのセキュリティとインテグリティを制御するソフトウエアプログラムから成る複雑な組（パッケージソフト）を含んでいる。ＤＢＭＳはまた、外部のアプリケーションからのデータ要求を受け入れるためのインタフェースを含む。
【００１８】
インタフェースは、ユーザとＤＢＭＡなどのアプリケーションとの間の動作可能な接続または境界となるように設計されたコンピュータプログラムである。ＤＢＭＡのインタフェースは、ユーザがデータベーステーブルに記憶されるデータ値を作成したり、読み取ったり、更新したり、削除したりすることを可能とする１連のコマンドを提供するものである。このような機能（作成、読み取り、更新、削除）は時として、ＣＲＵＤという頭字語で呼ばれ、したがって、このようなコマンドとのインタフェースはＣＲＵＤインタフェースと呼ばれる。照会機能を含むデータベースインタフェースはＣＲＵＳＱインタフェースと呼ばれる。
【００１９】
ＣＯＭベースのインタフェースとは、コム（Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）に基づいたソフトウエアのことである。Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌとは、Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ  Ｃｏｒｐｏｒａｔｉｏｎ社とＭｉｃｒｏｓｏｆｔ社が開発した、データベースシステムのさまざまなコンポーネント同士間での相互運用性を可能とするオープンソフトウエアアークテクチャである。
【００２０】
複数のテーブルを含むリレーショナルデータベースにおいては、データベース管理システム（ＤＢＭＳ）は一般的に、さまざまなテーブル中のキーフィールド同士間のすべてのリンクを維持する責任を負っている。このことは、データベースの「参照のインテグリティ」を維持すると呼ばれる。
【００２１】
参照のインテグリティを維持することは、非常に多くのテーブルを含んでいるリレーショナルデータベースにおいてはしばしば難問となる。リレーショナルデータベースのリンク性は多くの利点を有するが、それはまた、特にレコードやキーフィールドが変更されたり削除されたりした場合には、テーブル間をまたはデータベース全体にわたってエラーを伝搬させかねない。このエラーの潜在性は、さまざまなユーザがＣＲＵＤインタフェースを介してデータベースにアクセスするシステムの場合には増大する。
【００２２】
コンピュータネットワーク環境下では、大型のデータベースは中央のサーバに収納されて、多くのユーザまたは加入者が通信リンクを用いて遠隔地からデータにアクセスする。このアクセス速度は、通信リンクのタイプと容共によってしばしば制限される。データベース全体の複製を遠隔地に配分することは、データが役に立つためには最新のものでなければならない応用分野の場合には一般的に非現実的である。また、ローカル地で記憶されている大型のデータベースはローカルユーザにとってはかなりの重荷となるが、それは、遠隔システムは一般に、中央サーバより小さいからである。大型のデータベースを容量が不十分なローカルシステムに記憶すると、しばしば、計算時間が容認不可能なほど増大する。すべての遠隔地に対してすべてのハードウエアをグレードアップするための経費は、特にユーザネットワークが非常に大きい場合にはあまりに高価なものとなりすぎる。
【００２３】
大型のリレーショナルデータベース中のデータを更新することは、時に、データを頻繁に更新しなければならないネットワーク環境下では技術的に難関であり時間がかかる。データベース全体の更新済みコピーを送信することはしばしば非現実的であり法外な経費がかかる。また、配分による経費と遅延とによって、更新周期に対する障害となる。
【００２４】
したがって、多量のデータを維持・保護して、頻繁に実施される更新内容をコストパフォーマンス良く配分し、ネットワーク内のすべてのロケーションでデータ要求を迅速にそしれ効率的に処理することが可能な改良型のデータベース管理システムに対する技術上の必要性が存在する。
【００２５】
アドレスデータベース
米国には１億４千５百万以上の送付可能なアドレスがある。このようなアドレスすべてに関する情報を含むデータベースは、非常に大型のデータベースの例である。アドレスデータベースは、民間のソースまたは米国郵便局（ＵＳＰＳ）などの政府ソースから入手可能である。
【００２６】
ＵＳＰＳは、都市・州ファイル、５桁ＺＩＰファイルおよびＺＩＰ＋４ファイルを含むさまざまなアドレスデータベースを公衆に対して提供している。都市・州ファイルは、都市名と郡命を対応させた包括的なＺＩＰコードのリストである。５桁ＺＩＰファイルは、都市・州ファイルと一緒に用いると、ユーザは既存の５桁ＺＩＰコード割り当てを確認することが可能である。ＺＩＰ＋４ファイルはＺＩＰ＋４コードの包括的なリストを提供する。
【００２７】
配送シーケンスファイル（ＤＳＦ）は、ＵＳＰＳがサービスを提供するあらゆる配送ポイントのための、離散的レコードに記憶された標準化された完全なアドレスを含む、ＵＳＰＳが開発したコンピュータ化されたデータベースである。互いに分離されたレコードはその各々が、アドレス、ＺＩＰ＋４コード、配達順路コード、配送シーケンス番号（歩きシーケンス番号）、配送タイプコードおよび季節毎配送インジケータを含んでいる。ＤＳＦは、アドレスを確認して標準化するに十分なデータを含んでいる。ＤＳＦは、認定済みのアドレスハイジーンソフトウエアを開発した使用権取得者に対して提供される。ＵＳＰＳは最近、ＤＳＦに取って代わる新型配送ポイント確認（ＤＰＶ）データベースを開発した。このＤＰＶデータベースは、その基本的な形式で、または追加のアドレス属性を含む、ＤＳＦ２と呼ばれる向上した形式で入手可能である。
【００２８】
アドレス標準化
郵送先アドレスを標準化する必要性は、比較的最近になってあらわれた動きである。ほとんどがビジネスメールであるが、メールの量が大幅に増大したため、１９６０年代において郵便業務に深刻な危機が発生した。メールが劇的に増加した唯一最大の背景はコンピュータであった。コンピュータによって、企業はさまざまな郵送機能を自動化することが可能となったが、郵便業務はメールの爆発的な増大に対する準備ができていなかった。この危機に対応して、郵便番号制度（Ｚｏｎｅ  Ｉｍｐｒｏｖｅｍｅｎｔ  Ｐｌａｎ：ＺＩＰ）が設立された。１９６３年の７月までに、５桁ＺＩＰコードが、米国内のすべての配達可能なアドレスに対して割り当てられた。ＺＩＰコードは、アドレス標準化の近代の夜明けとなるものであった。
【００２９】
２０年後、ＺＩＰ＋４コードが導入され、ハイフンとさらなる４桁がＺＩＰコードに追加された。今日では、メールはしばしば、全アドレスをスキャニングし、封筒に１１桁の配送ポイントバーコード（ＤＰＢＳ）を印刷し、各々の配送ルートに沿った規定の歩きシーケンスでトレイにメールを仕分けることが可能なマルチライン光学的文字読取装置を用いて分類される。
【００３０】
アドレスの標準化によって、所与のアドレスが、ＵＳＰＳによって設定されているような政府の指針を満足する最良の形式に変換される。標準化によって、形式、字体、文字間隔、書体、句読点およびＺＩＰコードもしくはＤＰＢＣを含む配達アドレスのすべてのコンポーネントが影響される。たとえば、以下のような非標準的なアドレス
【表３】
2007535009.tif 000005
【００３１】
は標準化すると次のようにまったく異なった概観となる。
【表４】
2007535009.tif 000006
【００３２】
アドレスはそのコンポーネントに分割したり解析したりすることが可能であり、これらのコンポーネントはときとしてアーチファクトと呼ばれる。たとえば、上記のアドレス中の個々のアーチファクトには、居住者もしくは荷受人（ジョン・ドウ）、番号（１２３）、前指示（Ｅ）、姓（メイン）、タイプ（Ｓｔ）、後指示（ＮＷ）、名（ＳＴＥ）、二次番号（Ａ４）ならびに市、州およびＺＩＰ＋４４コード（ジョージア州ジケータ市３００３０−１５４９）が含まれる。アドレスをその個々のアーチファクトに分割すると、郵便仕分けやアドレス確認を含む多くの状況で有用である。
【００３３】
アドレスの確認
標準化とはアドレスを形式化する方法のことであるが、アドレスを確認するプロセスでは、所与のアドレスが有効であり最新のものであるかどうかが確かめられる。民間のソースまたは政府のソースからのアドレスデータベースはしばしば、アドレスを確認するために用いられる。たとえば、上記のＵＳＰＳデータベースは、アドレスを確認する際に比較目的で用いられる。
【００３４】
政府の郵便サービスに加えて、小荷物運送業者などの民間企業はしばしば、固有のそして価値のある顧客情報を記憶するためにアドレスデータベースを開発して維持する。政府の郵便サービスデータとは無関係に開発された民間のデータベースは、次世代のアドレス指定正確度とデータ記憶とを提示するかもしれない。将来において、より広いさまざまな政府と民間のアドレスデータベースが利用可能となるであろう。
【００３５】
ＵＳＰＳのアドレスデータベースは、新しいデータで規則正しく更新される。この規則正しく定期的な更新に加えて、ＵＳＰＳはまた、ＮＣＯＡやＬＡＣＳを含む多くの修正データベースを開発している。ナショナル・チェンジ・オブ・アドレス（ＮＣＯＡ）データベースはアドレス変更の記録を含むものである。ロケータブル・アドレス・コンバージョン・システム（ＬＡＣＳ）は、地方のルートから都市タイプのアドレスに変換した地域の新たなアドレスを含むものである。
【００３６】
人口が増大したり変化したりするため、アドレスデータベースは一般的に頻繁に更新する必要がある。他のどのような大型データベースでもそうであるように、非常に大型のアドレスデータベース中のデータを更新することは、しばしば困難であり時間がかかる。したがって、アドレスデータベースという文脈では、多量のアドレスデータを維持・保護して、頻繁に実施される更新内容をコストパフォーマンス良くユーザや加入者に配分し、アドレスデータ要求を迅速にそしれ効率的に処理することが可能な改良型のデータベース管理システムに対する技術上の必要性が存在する。
【００３７】
発明の概要
以下の要約は包括的な概略ではなく、また、装置、方法、システム、プロセスおよびこれらの類似物の鍵となる又は重要な要素を特定したり、このような要素の範囲を描写したりすることを意図するものでもない。この要約は、以下のより詳細な説明への序説として簡略化された形態で概念を照会するものである。
【００３８】
ある種の解説的な例としての装置、方法、システム、プロセスおよび類似物を、以下の説明および添付図面と組み合わせて以下に説明する。これらの例は、このような装置、方法、システム、プロセスおよび類似物を支える原理を用いるさまざまな方法の内のほんのいくつかを提示するに過ぎず、したがって、等価物が含まれることを意図するものである。他の長所となる特徴および新規な特徴は、図面と一緒に述べる以下の詳細な説明から明らかであろう。
【００３９】
本発明の広範囲な教示に照らして、長所となる構成を有するデータ構造、データベース管理システム、処理装置および関連方法を提供する。本書に記載するこれら例示の装置、方法およびシステムによって、主観的に表示された入力データを迅速にそして効率的に確認しやすくなり、また、好ましい表示方法で出力データが生成されることになる。
【００４０】
本発明の１つの態様では、データ構造は１つ以上の二次データベースに動作可能に接続された一次データベースを含む超集合を含んでいるが、ここで、一データベースおよび１つ以上の二次データベースはその各々が、１つ以上の他のテーブルに動作可能にリンクされた第１のテーブルを含み、この第１のテーブルおよび１つ以上の他のテーブルは共通のデータ構造を共有している。これらのデータベースはリレーショナルデータベースであっても良い。この共通のデータ構造は、疎行列リンクされたリストを含んでいる。この共通データ構造はまた、データに基づいて、一般的なレベルから特定的なレベルへと構成される１連のレベルで、ある階層的順序で配列されたデータレコードを含んでいる。
【００４１】
このデータ構造では、一次データベースはソーステーブルを含み、最初の二次データベースは別名テーブルを含み、２番目の二次データベースは標準化テーブルを含み、３番目の二次データベースは入力データを受け容れて記憶するように構成されている。ソーステーブルは、公共のソースまたは民間のソースから得られたデータレコードを含み、別名テーブルはレコードを等価的に表現したものを１つ以上含み、標準化テーブルはレコードを標準化して表したものを１つ以上含んでいる。データ構造の別の態様では、ソーステーブルは、政府の郵便サービスおよび商業的なソースから得られたアドレスレコードを含む。
【００４２】
データ構造内では、第１のテーブルは優先レコードを含み、第１の他のテーブルは一次別名レコードを含み、第２の他のテーブルは二次別名レコードを含む。この優先レコードは１つ以上の優先表現を含み、一次別名レコードは一次アーチファクトの１つ以上の等価表現を含み、二次別名レコードは二次アーチファクトの１つ以上の等価表現を含む。関連する態様では、優先レコードはアドレスの優先表現を１つ以上含む。
【００４３】
本発明の別の態様では、最適に探索するためのデータを準備する方法が提供されるが、このデータは、リンクされたレコードテーブルを複数個含む１つ以上のデータベースに記憶されている。本方法は、このデータに基づいて、一般的なレベルから特定的なレベルへと構成される１連のレベルで、ある階層的順序で配列された各々のテーブルにレコードを配列するステップと、これらテーブルの各々を１つ以上の疎行列リンクされたリストテーブルに変換するステップを含む。データベースがサーバ・クライアントネットワーク環境下にある場合、本方法はまた、１つ以上の疎行列リンクされたリストテーブルの複製をサーバから１つ以上のクライアントに配分するステップを含む。データベースは、データの超集合を形成するように相互接続されたリレーショナルデータベースであってもよい。１態様では、データはアドレスアーチファクトを含む。
【００４４】
本発明の別の態様では、最適に探索するためのデータを準備する装置が提供されるが、このデータは、リンクされたレコードテーブルを複数個含む１つ以上のデータベースに記憶されている。本装置は、中央処理装置と、メモリと、基本的入／出力システムと、この中央処理装置で実行可能なプログラムモジュールを含むプログラムストレージとを含む。このプログラムモジュールは、このデータに基づいて、一般的なレベルから特定的なレベルへと構成される１連のレベルで、ある階層的順序で配列された各々のテーブルにレコードを配列する手段と、これらテーブルの各々を１つ以上の疎行列リンクされたリストテーブルに変換する手段を備える。本装置はまた、中央処理装置から遠隔にある１つ以上のクライアントを含む。このプログラムモジュールはまた、１つ以上の疎行列リンクされたリストテーブルの複製をサーバから１つ以上のクライアントに配分する手段を含む。
【００４５】
本発明の別の態様では、リンクされたテーブルからなるデータベースを用いて主観的な表現を優先表現に変換する方法が提供される。本方法は、主観的表現を捕獲してそれをリンクされたテーブルの内の最初のテーブルに記憶するステップと、リンクされたテーブルの内の２番目のテーブルにソースデータを記憶するステップと、主観的表現をソースデータと比較することによってソースデータの中から１つ以上の候補となる表現を突き止めるステップと、この１つ以上の候補表現の中から優先表現を選択するステップであり、この優先表現は主観的表現に最も類似しているステップと、優先表現を放出するステップを含む。
【００４６】
本方法はまた、ソースデータを見直して、優先データを含む１つ以上の選択レコードを特定するステップと、優先トークンをこの１つ以上の選択レコードに付加するステップを含む。
【００４７】
優先表現を選択するステップは、１つ以上の候補表現の内の１つと関連する優先トークンを特定するステップを含む。
【００４８】
１つ以上の候補表現を突き止めるステップはまた、（ａ）主観的表現を１つ以上の離散的アーチファクトに解析するステップと、（ｂ）（１）１つの離散的アーチファクトをソースデータと比較することによってソースデータの中から１つ以上の候補アーチファクトを突き止めるステップと、（２）この１つ以上の候補表現の中から優先表現を選択するステップであり、この優先表現はこの１つの離散的アーチファクトに最も類似しているステップと、（３）この優先アーチファクトを記憶するステップから成る、１つ以上の離散的アーチファクトの内から１つを選択するステップと、（ｃ）１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、（ｄ）優先アーチファクトを組み合わせて優先表現を形成するステップを含む。
【００４９】
１つ以上の候補表現を突き止めるステップはまた、リンクされたテーブルの内の３番目のテーブルに別名データを記憶するステップと、別名データを見直して、優先別名表現を含む１つ以上の選択別名レコードを特定するステップと、優先別名トークンを１つ以上の選択別名レコードに付加するステップと、主観的表現を別名データと比較することによって別名データの中から１つ以上の候補別名を突き止めるステップと、１つ以上の候補別名から優先別名を選択するステップであり、この優先別名は優先別名トークンに最も類似しているステップと、優先別名を候補表現として放出するステップを含む。
【００５０】
１つ以上の候補別名を突き止めるステップはまた、（ａ）主観的表現を１つ以上の離散的アーチファクトに解析するステップと、（ｂ）（１）１つの離散的アーチファクトを別名データと比較することによってソースデータの中から１つ以上の候補別名アーチファクトを突き止めるステップと、（２）この１つ以上の候補別名アーチファクトの中から優先別名アーチファクトを選択するステップであり、この優先別名アーチファクトは優先別名トークンに最も緊密に関連しているステップと、（３）この優先別名アーチファクトを記憶するステップから成る、１つ以上の離散的アーチファクトの中から１つを選択するステップと、（ｃ）１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、（ｄ）優先別名アーチファクトを優先別名に付加するテップを含む。
【００５１】
本発明の別の態様では、すぐ上に述べた方法ステップを実行する装置が提供される。本装置は、中央処理装置と、メモリと、基本的入／出力システムと、この中央処理装置で実行可能なプログラムモジュールを含むプログラムストレージとを含むが、ここで、このプログラムモジュールは、上記の方法中の各々のステップを実行する手段を含む。
【００５２】
本発明の別の態様では、１つ以上の外部アプリケーションによるデータベースに対するアクセスを制御する方法が提供される。本方法は、各々がこの１つ以上の外部アプリケーションの内の１つと相関している複数のルール集合を確立して記憶するステップと、第１のアプリケーションから要求を受信するステップと、第１のアプリケーションと相関している第１のルール集合を検索するステップと、第１のルール集合を適用して、第１のアプリケーションとデータベース間の対話を制御するステップを含む。本方法では、第１のルール集合は、第１のアプリケーションが用いるようにデータベースから捕獲する目的で利用可能なデータのリストを含む。
【００５３】
本発明の別の態様では、１つ以上の外部アプリケーションからの要求に応答してデータベース内部におけるデータ捕獲の深度を制御する方法が提供される。本方法は、複数のルール集合を確立して記憶するステップであり、その各々が１つ以上の外部アプリケーションの内の１つと相関しており、この複数のルール集合の各々がデータベースから捕獲されるデータのリストを含んでいるステップと、第１のアプリケーションから要求を受信するステップと、第１のアプリケーションと相関している第１のルール集合を検索するステップと、第１のルール集合を適用して、データベースから第１のアプリケーションにとって利用可能なデータを制限するステップを含む。
【００５４】
本発明の別の態様では、一次テーブルと１つ以上の二次テーブルをリンクするデータベースであり、テーブルの各々が共通のデータ構造を共有する前記データベースを含むデータ構造が提供されるが、このデータベースは、一次テーブルと１つ以上の二次テーブルの内の１つ以上を疎行列リンクされたリストに変換するように構成されているデータベース管理システムによって制御される。このデータベースは、相互接続されたリレーショナルデータベースを１つ以上含む。このデータベース管理システムは、インタフェースと確認モジュールを含む。このインタフェースは、１つ以上の外部アプリケーションによるデータベースに対するアクセスを制御する。このデータベース管理システムは、データを主観的表現から優先表現に変換するように構成してもよい。
【００５５】
上記の目的とそれ以外の目的はここに開示する装置、方法およびシステムによって実行され、また、同様の数値が同様の部品を示している添付図面と一緒に優先実施形態に関する以下の詳細な説明を読めば明らかであろう。
【００５６】
本発明は、添付図面と一緒に以下の説明を参照すればより容易に理解されるであろう。
【００５７】
発明の詳細な説明
複数の図表にわたって同様の数値が同様の部品を示す図面をここでは参照する。
【００５８】
１．はじめに
本出願書で用いられる「コンピュータコンポーネント」という用語は、ハードウエアであれ、ファームウエアであれ、ソフトウエアであれ、これらの組み合わせであれ、実行中のソフトウエアであれコンピュータ関連のエンティティのことである。たとえば、コンピュータコンポーネントは、これに限られないが、プロセッサ上で実行中のプロセス、プロセッサ自身、オブジェクト、実行可能体、実行のスレッド、プログラム、サーバおよびコンピュータであったりする。解説しやすいように、サーバで実行中のアプリケーションとサーバ自身とはコンピュータコンポーネントと呼ぶことがある。１つ以上のコンピュータコンポーネントが、プロセスおよび／または実行のスレッド内に常駐することが可能であり、また、コンピュータコンポーネントを１つのコンピュータ上に局所化したり及び／または２つ以上のコンピュータ同士間に分散したりすることが可能である。
【００５９】
本書で用いる「コンピュータ通信」とは、２つ以上のコンピュータコンポーネント間の通信のことであり、したがって、たとえば、ネットワーク転送、ファイル転送、アプレット転送、ｅメール、ハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージ、データグラム、オブジェクト転送、バイナリラージオブジェクト（ＢＬＯＧ）転送などであったりする。コンピュータ通信は、たとえば、無線システム（たとえば、ＩＥＥＥ８０２．１１）、イーサネットシステム（たとえば、ＩＥＥＥ８０２．３）、トークンリングシステム（たとえば、ＩＥＥＥ８０２．５）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ポイントツーポピントシステム、回線交換システム、パケット交換システムなどで発生し得るものである。
【００６０】
本書で用いられる「ロジック」とは、これに限られないが、ハードウエア、ファームウエア、ソフトウエアおよび／またはそれぞれの組み合わせであり、１つ以上の機能や動作を実行するものである。たとえば、所望の応用分野や必要性に基づいて、ロジックとはソフトウエア制御式マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）などの離散的ロジックや、他のプログラミングされたロジックデバイスを含む。ロジックはまた、全体をソフトウエアとして実現してもよい。
【００６１】
本書で用いる「信号」とは、これに限られないが、アナログ式もしくはディジタル式１つ以上の電気的もしくは光学的信号、１つ以上のコンピュータ命令、ビットもしくはビットストリームまたはこれらの類似物である。
【００６２】
本書で用いられる「ソフトウエア」とは、これに限られないが、コンピュータ、コンピュータコンポーネントおよび／または他の電子デバイスに機能、動作および／または行動を所望の仕方で実行させる１つ以上のコンピュータ読み取り可能命令および／または実行可能命令のことである。このような命令は、ルーチン、アルゴリズム、記憶済み手順、モジュール、方法、スレッドおよび／またはプログラムのようなさまざまな形態で実施される。ソフトウエアはまた、これに限られないが、スタンドアローンプログラム、関数呼び出し（ローカルおよび／またはリモート）、サーブレット、アプレット、メモリに記憶されている命令、ＯＳもしくはブラウザの一部およびこれらの類似物を含むさまざまな実行可能形態および／またはロード可能形態で実施される。コンピュータ読み取り可能命令および／または実行可能命令を、１つのコンピュータコンポーネント中に位置付けたりおよび／または２つ以上の通信状態にある協同しているおよび／または並列処理のコンピュータコンポーネント間に配分したりすることが可能であり、したがって、直列に、並列に、大規模並列にまたは他の仕方でロードしたりおよび／または実行したりすることが可能であることを理解すべきである。ソフトウエアという形態は、たとえば、所望の応用分野、それが実行される環境および／または設計者もしくはプログラマの要望または類似物の要件によって異なることを当業者は理解すべきである。
【００６３】
「動作可能な接続」（またはエンティティが「動作可能に接続される」接続）とは、信号、物理的通信の流れおよび／または論理的な通信の流れが送られたりおよび／または受信されたりする接続のことである。通常は、動作可能な接続には、物理的インタフェース、電気的インタフェースおよび／またはデータインタフェースが含まれるが、動作可能接続は、このようなタイプの接続または動作可能制御を可能とするに十分な他のタイプの接続のさまざまな組み合わせから成ることに注意すべきである。
【００６４】
本書で用いられる「データベース」とは、データを記憶可能な物理的エンティティおよび／または論理的エンティティのことである。データベースは、たとえば、次の内の１つ以上のものである。記憶データ、リレーショナルデータベース、テーブル、ファイル、リスト、待ち行列、ヒープなど。データベースは、１つの論理的エンティティおよび／または物理的エンティティに常駐したりおよび／または２つ以上の論理的エンティティおよび／または物理的エンティティ間に分散したりする。
【００６５】
「ファジー」または「ブラリー」という用語は、部分的真実と言う概念を取り扱うブールロジックの超集合のことであり、言い換えれば、「完全に真実である」と「完全に偽である」との間の真理値のことである。いかなる具体的な理論でもシステムでも、離散的すなわち明瞭な形態から連続的なすなわちファジーな形態に一般化される。ファジー理論またはファジーマッチングに基づいたシステムは、真理の度数が必ずしも合計したら１になるわけではないという点を例外として、確率に似たさまざまな度数を有する真理値を用いる。ファジーマッチングを英数字のストリングに対して応用する際には、真理値は、たとえば、ストリング中で一致する文字の数として表される。
【００６６】
本書に記載するシステム、方法および目的は、たとえば、コンピュータ読み取り可能媒体に記憶される。媒体として、これに限られないが、ＡＳＩＣ、ＣＤ、ＤＶＤ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ディスク、搬送波、メモリスティックおよび類似物がある。したがって、礼としてのコンピュータ読み取り可能媒体は、輸送資産を管理する方法のためのコンピュータ実行可能命令を記憶することが可能である。本方法は、輸送資産のルートを経験に基づいた運行データベースから検索された分析データに基づいて計算するステップを含む。本方法はまた、輸送資産からリアルタイムデータを受信するステップと、輸送資産のルートを分析データとリアルタイムデータとの統合に基づいて更新するステップを含む。
【００６７】
本システムのプロセスおよび方法の一部またはすべてが、本書に記載するシーケンスとは異なるシーケンスで実行されるようにダイナミックでフレキシブルなプロセスである電子的応用物および／またはソフトウエア応用物を伴うことが理解されるであろう。ソフトウエアとして実現される要素は、機械言語技法、手順技法、オブジェクト指向技法および／または人工言語技法などのさまざまなプログラム方式を用いて実施されることが当業者には理解されるであろう。
【００６８】
本書に述べる処理、分析および／または他の機能もまた、ディジタル信号プロセッサ回路、ソフトウエア制御マイクロプロセッサまたは特定用途向け集積回路のような機能的に等価な回路によって実施される。ソフトウエアとして実施されるコンポーネントは、なんらかの特定のプログラム言語には限られない。むしろ、本書の記載では、本システムの処理を実行するための回路を製造したりコンピュータソフトウエアを生成したりする際に当業者が用いる情報を提供する。本システムと方法の機能および／または行動の一部またはすべてが上記のロジックとして実施されることが理解されるであろう。
【００６９】
さらにそのうえ、「含む」という用語が詳細な説明またはクレーム中で用いられる限りにおいては、それは、「備える」という用語がクレーム中で過渡的な語として用いられる際に解釈されるのと同じように包含的であることを意図するものである。さらにまた、「または」という用語がクレームで用いられる（たとえば、ＡまたはＢ）限りにおいては、それは、「ＡまたはＢまたは双方」を意味することを意図するものである。著者が「ＡまたはＢだけであって双方ではない」ことを示す場合には、著者は「ＡまたはＢであり双方ではない」という句を用いる。したがって、本書で「または」という用語は包含的な用法であり排他的な用法ではない。Ｂｒｙａｎ  Ａ．  ＧａｒｎｅｒのＤｉｃｔｉｏｎａｒｙ  ｏｆ  Ｍｏｄｅｒｎ  Ｌｅｇａｌ  Ｕｓａｇｅ６２４（１９９５年第２版）を参照のこと。
【００７０】
２．例示の実施形態
本発明のシステムは、アドレス管理システムとしてのその有用性に照らし合わせて、しばしば例として記載される。アドレス関連の例をかなり詳細に説明するとはいえ、本発明の範囲をそのような詳細なものに制限したり何らかのしかたで限ったりすることは本出願書の意図するところではない。この創意あるシステムのさらなる用途、応用分野、長所および修正は、当業者には容易に明らかであろう。したがって、本発明は、そのより広い態様において、図示したり記載されたりする特定の詳細、代表的な装置および解説的な例に限られるものではない。したがって、一般的な創意あるこの概念の精神または範囲から逸脱することなくこのような詳細からの逸脱が許されるものである。
【００７１】
例としての装置、方法、システム、プロセスおよびそれらの類似物を、全般にわたって類似の番号が類似の部品を示すために用いられている図面を参照して以下に説明する。以下の説明において、説明しやすいように、装置、方法、システム、プロセスおよびそれらの類似物を完全に理解しやすいように、多くの具体的な詳細を述べる。しかしながら、装置、方法、システム、プロセスおよびそれらの類似物がこのような具体的な詳細なしでも実施可能であることは明らかである。他の例においては、公知の構造とデバイスをブロック図で示して、説明を簡略化している。
【００７２】
３．データ構造：超集合
３．１．データの超集合
一実施形態においては、図２に示すように、本発明のシステムはデータの超集合３０を含んでいる。データの超集合３０は、４つ以上の離散的リレーショナルデータベース３１〜３５（図示するようにデータベース１、２、３、４、．．．Ｎを含む）を含んでいる。データベース３１〜３５はデータベースリンク３６のネットワーク中で他のデータベースに接続されている。一実施形態では、データベース３１〜３５の内の１つが一次データベースとして、他のデータベースが二次データベースとして指定される。全部一緒に、これらいくつかのリレーショナルデータベース３１〜３５はデータベース管理システムによって制御して、大量のデータを記憶して、すべてのリレーショナルデータベーステーブルに対して順序良く複雑な照会を実行することが可能な１つのデータの超集合を作成する。
【００７３】
リレーショナルデータベース３１〜３５はテーブル４０（図示するようにテーブルＡ、Ｂ、Ｃ、．．．Ｎを含む）の集合を含んでいる。テーブル４０は、データフィールド４４（図示するように、フィールド１、フィールド２、フィールド３、．．．フィールドｎを含む）の集合を含む。テーブル４０は、リレーショナルデータベースについて技術上周知の方法で１つ以上のキー４８を用いて一緒にリンクさせる。
【００７４】
一実施形態では、データベース３１〜３５は共通のデータ構造を有している。この態様では、リレーショナルデータベース３１〜３５は各々が、同じ数のテーブル４０を含み、また、その各々が同じ数のフィールド４４を含んでいる。このデータの超集合３０中のさまざまなテーブル４０同士間での共通のデータ構造が、任意のタイプのデータの記憶と処理を許容するフレキシビリティの度数となる。
【００７５】
一実施形態におけるこの共通データ構造は、以下により詳しく説明するように、記憶されているデータの値に基づいて、一般的なレベルから特定的なレベルへと構成される１連のレベルで、ある階層的順序で配列されたデータレコードを１つ以上のテーブル４０中に含んでいる。この共通のデータ構造はまた、疎行列リンクされたリストとして記憶されたテーブル４０を含んでいる。
【００７６】
３．２．アドレスの超集合
データの超集合の１つの例示の実施形態を図１に示す。アドレスの超集合１３０は、一実施形態では郵便データベース１３１、運送業者データベース１３２、標準データベース１３３および予定データベース１３４を含むいくつかの離散的リレーショナルデータベースを含んでいる。データベース１３１〜１３４は、図示するようにデータベースリンク３６のネットワーク中の他のデータベースに接続されて、アドレスの超集合１３０を形成している。リレーショナルデータベース１３１〜１３４はアドレスデータベース管理システムによって制御される。
【００７７】
リレーショナルデータベース１３１〜１３４は、以下により詳細に説明するように、一実施形態では優先テーブル１４１、街路別名テーブル１４２および荷受人別名テーブル１４３を含むデータテーブル１４０の集合を含んでいる。優先テーブル１４１はまた、特定のレコードの固有の識別子として動作するトークンを記憶する１つ以上のフィールドを含む。テーブル１４１、１４２および１４３は、データフィールド４４（図示するように、フィールド１、フィールド２、フィールド３、．．．フィールドｎを含む）の集合を含む。テーブル１４１、１４２および１４３は、リレーショナルデータベースについて技術上周知の方法で１つ以上のキー４８を用いて一緒にリンクさせる。
【００７８】
一実施形態では、データベース１３１〜１３４は共通のデータ構造を有している。この態様では、リレーショナルデータベース１３１〜１３４は各々が、同じ数のフィールド４４を含んでいる。このアドレスデータの超集合１３０中のさまざまなテーブル同士間での共通のデータ構造が、任意のタイプのデータの記憶と処理を許容するフレキシビリティの度数となる。一実施形態におけるこの共通データ構造は、以下により詳しく説明するように、記憶されているアドレスデータの値に基づいて、一般的なレベルから特定的なレベルへと構成される１連のレベルで、ある階層的順序で配列されたデータレコードを１つ以上のテーブル中に含んでいる。この共通のデータ構造はまた、疎行列リンクされたリストとして記憶されたまたは再形式化されたテーブルを含んでいる。
【００７９】
４．システムアーキテクチャ
図３は、本発明の一実施形態によるシステム１０の表示図である。システム１０は、インフラストラクチャサーバ２５、１つ以上のコンピュータネットワーク、アプリケーションサーバ２００および、多段サーバ・クライアント関係で分布している１つ以上のクライアント６５５を含んでいる。この１つ以上のコンピュータネットワークによって、インフラストラクチャサーバ２５、アプリケーションサーバ２００および１つ以上のクライアント２５５間での通信がしやすくなる。この１つ以上のコンピュータネットワークには、インターネット、私的イントラネット、私的エクストラネット、公衆交換電話ネットワーク（ＰＳＴＮ）、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）または技術上周知の他の何らかのタイプのネットワークなどのさまざまなタイプのコンピュータネットワークが含まれる。
【００８０】
図３に示すように、一次ＡＭＳサーバ５１０はインフラストラクチャサーバ２５に常駐している。ＡＭＳＧＵＩ３２４などのグラフィカルユーザインタフェースは、図示するように一次ＡＭＳサーバ５１０と通信する。
【００８１】
一実施形態におけるシステム１０の次の段は、いくつかのＡＭＳクライアント６５５と二次ＡＭＳサーバ５２０を含む。ＡＭＳクライアント６５５の一部は、１つ以上のユーザ２８に対してデータ捕獲ワークステーション１５５とＧＵＩ２６を含む。一実施形態では、アプリケーションサーバ２００はＡＭＳクライアント６５５に常駐する。
【００８２】
一実施形態では、二次ＡＭＳサーバ５２０から下って次の段にはいくつかのＡＭＳクライアント６５５が含まれているが、その各々が、１つ以上のユーザ２８に対してデータ捕獲ワークステーション１５５とＧＵＩ２６を含んでいる。
【００８３】
例示の実施形態のインフラストラクチャサーバ２５は、システムインタフェースまたはバスによってインフラストラクチャサーバ２５内の他の要素と通信する中央プロセッサを含む。インフラストラクチャサーバ２５中にはまた、データを受信して表示するための入力／表示デバイスが含まれる。この入力／表示デバイスは、たとえば、モニターと組み合わせて用いられるキーボードやポインティングデバイスである。インフラストラクチャサーバ２５はメモリをさらに含むが、このメモリはリードオンリメモリ（ＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）の双方を含んでいる。ＲＯＭは、インフラストラクチャ２５の諸要素間で情報を転送するのを助ける基本的ルーチンを含む基本的入／出力システム（ＢＩＯＳ）を記憶するために用いられる。
【００８４】
加えて、インフラストラクチャサーバ２５は少なくとも１つの記憶デバイス、たとえば、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭディスクなどのさまざまなコンピュータ読み取り可能媒体に情報を記憶するハードディスクドライブ、フロッピディスクドライブ、ＣＤ−ＲＯＭドライブまたは光ディスクドライブを含んでいる。これらさまざまなタイプの記憶デバイスはシステムバスに対して適切なインタフェースで接続される。この記憶デバイスとその関連のコンピュータ読み取り可能媒体とによって不揮発性記憶となる。これらのコンピュータ読み取り可能媒体の代わりに、技術上周知の他のいずれかのタイプのコンピュータ読み取り可能媒体を用いても良いことに注意することが重要である。このような媒体には、たとえば、磁気カセット、フラッシュメモリカード、ディジタルビデオディスクおよびベルニーイカートリッジがある。
【００８５】
多くのプログラムモジュールが、ＲＡＭ内のさまざまな記憶デバイスによって記憶される。このようなプログラムモジュールにはオペレーティングシステムや１つ以上のアプリケーションがある。インフラストラクチャサーバ２５にはまた、コンピュータネットワークの他の要素とインタフェースして通信するネットワークインタフェースがある。インフラストラクチャサーバ２５の１つ以上のコンポーネントは、他の処理コンポーネントから地理的に遠隔にある。また、これらコンポーネントの内の１つ以上が組み合わされている。インフラストラクチャサーバ２５は、本書に述べる機能を実行する追加のコンポーネントを含む。
【００８６】
４．１．データベース管理システム（ＤＢＭＳ）
本発明の一実施形態によれば、再度図３を参照すると、データベース管理システム（ＤＢＭＳ）は一次ＡＭＳサーバ５１０（インフラストラクチャサーバ２５）、アプリケーションサーバ２００または二次ＡＭＳサーバ５２０に常駐している。図４に示すＡＭＳ１１０と類似して、ＤＢＭＳは、インタフェース６００とプログラム５００の組とを含む。
【００８７】
例として、本発明のデータベース管理システム（ＤＢＭＳ）を、アドレス管理システム（ＡＭＳ）１１０としてのその有用性という文脈で説明する。ＤＢＭＳのように、ＡＭＳ１１０は、一次ＡＭＳサーバ５１０（インフラストラクチャサーバ２５）、アプリケーションサーバ２００または二次ＡＭＳサーバ５２０に常駐している。一実施形態では、ＡＭＳ１１０は、図４に示すように、インタフェース６００とプログラム５００の組とを含む。
【００８８】
図４は、スタンドアロンサービスモード６４０でＡＭＳ１１０が動作する様子を示す本発明の一実施形態によるシステム１０のブロック図である。図示するように、システム１０は、ＡＭＳＧＵＩ３２４を介して１つ以上のユーザ２８にアクセスするコンピュータ１５を含む。
【００８９】
４．２．アドレス管理システム（ＡＭＳ）
アドレス管理システム（ＡＭＳ）１１０は、アドレスデータ超集合中のデータの編成、記憶および検索を制御し、アドレス超集合１３０とそのコンポーネントデータベースのセキュリティとインテグリティを制御するために特定的に設計されている。インタフェース６００は、外部アプリケーション（図示せず）から受信されたデータ要求を受け入れて処理するように構成されている。一実施形態では、インタフェース６００は、レコードを生成し、読み取り、更新し、削除する能力を持つＣＯＭベースのインタフェースである。インタフェース６００はまた、アドレス超集合１３０中に記憶されているデータに対して演算を実行する照会関数を含んでいる
５．優先表現の発見
一実施形態では、本発明のシステム１０は、データ超集合３０用のデータベース管理システム（ＤＢＭＳ）を含む。このＤＢＭＳはまた、アドレスデータを含むいかなるタイプのデータ用のデータベース管理システムとしても有用である。アドレスデータの場合では、ＤＢＭＳはアドレス管理システム（ＡＭＳ）１１０と呼ばれる。どのような容量の場合でも、管理システム１１０はインタフェース６００とプログラム５００の組とを含む。
【００９０】
一実施形態では、プログラム５００の組は、「主観的表現」の生データを受信して、データベースに記憶されている値をインタフェース６００を用いて分析して１つ以上の照会を実行して、「優先表現」の出力データを生成する１つ以上のコンピュータソフトウエアプログラムを含む。
【００９１】
本書では「主観的表現」という用語は、データを個人的に理解する人物によって入力または提出された生データを示すために用いられる。主観的表現は曖昧になったり不完全なものとなったりしやすいが、これでは、ステップを計算するために生データが必要とされるような場合には問題である。たとえば、ある人物が“１２−４−６３”という主観的表現で誕生日を入力する。米国では、この日付は「１２月４日」を示すが、欧州では「４月１２日」を意味する。コンピュータコンポーネントは年を１９６４または６３と解釈する。このような曖昧さは生データの正確度に対して深刻な影響を及ぼす。このような曖昧さと不完全性を取り除くため、プログラム５００の組を、主観的表現を「優先表現」に変換するように設計する。たとえばこのようなプログラム５００の組は、ユーザが日付を米国形式で入力するか欧州形式で入力するかを判定するシステムまたは照会を含む。プログラム５００の組はまた、ユーザが年を４桁で入力しない限り、丹入力されたすべての年のデフォルト世紀として“ｔｈｅ０ｓ”を設定するルールまたはロジックルーチンを含む。プログラム５００の組を設計または構築するには、特定のシステムで予測される生データのタイプと形式に関する深慮と計画が必要である。
【００９２】
主観的表現は、プログラム５００の組によって処理されて、生データに一般的に非関連の優先表現に変換される。たとえば、顧客は、主観的表現”ＡｃｍｅＬＸ−７０９”（ここで、Ａｃｍｅはプリンタの製造業者の名前であり、ＬＸ−７０９はプリンタのモデル番号であり、カラーインクが所望）を用いてプリンタのカートリッジを注文する。たとえば、プリンタのカートリッジの注文を処理するシステムにおいては、カートリッジは１０桁のカートリッジ通し番号を用いて登録して記憶する。この通し番号は生データ中のテキストや数字とは直接には関連していないが、この通し番号は、注文書に印刷される「優先表現」であり、したがって、売り手は所望のカートリッジを突き止めて出荷することが可能となる。主観的な生データを正確な通し番号と整合させるために、プログラム５００の組は、顧客が提出するどんなさまざまな考えられるインジケータでも解釈するように記述される。すべての  カートリッジ通し番号の最初の４桁は、そのタイプのカートリッジを使用することが可能な機械を製造したプリンタ製造業者のリストに対応しているものと仮定する。プログラム５００の組は、入力されたプリンタ製造業者の名前をリスト上の名前と比較して、カートリッジ通し番号の最初の４桁を発見する手順を記憶している。これは、注文書に印刷される１０桁の通し番号を発見するための最初のステップである。
【００９３】
主観的表現の別の例は、共通の街路番号アドレスである。ある人物がメールに、主観的表現で“Ａｔｌ３００３０、スイートＡ−４、イーストメインストリート、ダウ”と書き込む。“ダウ”や、“Ａｔｌ”という略字や、州の名前がないことなどこのアドレスのいくつかの部分はあいまいまたは不完全である。このデータがコンピュータまたは仕分け装置で処理することになっている場合、このような曖昧さの結果、メールは失われたり、遅れたり、誤って配送されたりする。このような曖昧さと不正確さを取り除くため、プログラム５００の組を主観的表現を優先表現に変換するように設計する。たとえば、このようなプログラム５００の組は、記述されたアドレスを街路アドレスとＺＩＰコードの市販のコンピュータデータベースと比較するプログラムまたは記憶済みの手順を含む。
【００９４】
上記の例は属性またはパラメータ、すなわち、日付、部品番号、アドレスを参照するものである。パラメータは、用途の状況次第の上記の主観的表現や他の表現を含むさまざまな形式で特徴付けされる。一実施形態における本発明のシステムは、以下のより詳細に述べるように、表形式のデータを用いて、パラメータを特徴付けする方法を操作したり修正したりする。
【００９５】
一実施形態では、本発明のデータベース管理システム（ＤＢＭＳ）はプログラム５００の組を含むが、この組は次の一般的な手順を１つ以上含む。（１）エンハンスメントモジュール、（２）公開・加入モジュール、（３）マッチングモジュール。プログラム５００の組は、もちろん本出願書に記載する他の機能を実行するためのさらなるコンポーネントと手順を含む。
【００９６】
５．１．エンハンスメントモジュール
一実施形態では、本発明のプログラム５００の組は、データ超集合３０のリレーショナルデータベース３１〜３５に記憶されるデータの構造と順序を最適化する際に用いられるのに適しているエンハンスメントモジュールを含んでいる。データ超集合３０中のデータベース３１〜３５は各々が数百万のレコードを含んでいる。データベース３１〜３５の各々中のレコードのすべてまたはほとんどを読み取り、更新し、探索するタスクは、データの構造を最適化することによって一実施形態では改善され、促進される。
【００９７】
多くのレコードを含むデータベーステーブルは多量のメモリを消費し、また、仕分け、探索および他の分析などの動作を実行するのに長い計算時間を必要とする。データを向上させたり最適化したりする単純な例として、レコードを１つ以上の属性（列）に基づいて仕分けし、レコードを昇順または降順で順序付ける方法がある。しかしながら、複数の属性を持つ大型のテーブルの場合、レコードを単純に仕分けするだけでは、あまり時間の節約にならず探索の効率も上がらない。
【００９８】
一実施形態では、プログラム５００の組の１つの種類のエンハンスメントモジュールは、データベースを疎行列リンクされたリストに変換する手順を含む。リンクされたリストには、時として無関係なフィールドをバイパスまたはスキップするリンクを用いてあるフィールドから次のフィールドに照会を差し向けるように設計されたリンクを含む。疎行列は、後続のレコードではフィールド値が繰り返されることはない。最初の値を繰り返すのではなくて、後続のフィールドを空白のまま残しておいて、別の値が顕れない限りそしてそのような値が顕れるまで、後続の値はこの最初の値と等しいものと仮定するものである。
【００９９】
たとえば、図９で、ＺＩＰコードフィールドには、同じ入力（ＺＩＰコード２０００１）が１３個のレコードに繰り返し入力されている。１態様では、本発明のシステム１０は疎行列という概念を用いて、繰り返して入力されることを解消し、これによって、メモリを節約し計算時間を短縮している。図９では、たとえば、ノード１のＺＩＰコードは、５桁のＺＩＰコード２０００１となっている。テーブルが疎行列に変換されている本発明のシステム１０では、後続のＺＩＰコードは空白またはゼロとされる。図９では、ノード２からノード１３のＺＩＰコードフィールドは空白かゼロであり、これらのフィールドの値は２０００１であると推測される。
【０１００】
疎行列においては、連続するレコードで見受けられる値は、別の値が顕れるまでは同じ値のままであると推定される。このようにして繰り返される値の多くが消去されるため、テーブルすなわち行列はまばらであると記述される。テーブル中のいかなる属性も、疎行列を生成するルールを適用することによってまばらなものとなる。
【０１０１】
モデルとしてのデータベーステーブル４０の小部分を図５に示す。各々の行には１つのレコード４２が含まれる。各々のフィールド４４は、行番号と列番号を参照することによって突き止められる。たとえば、第２列の第３行にあるフィールドは、フィールド（３、２）または単に（３、２）と記載される。このフィールド命名法は、特定のフィールドをポイントすることが望ましい多くのデータベース動作における値に対する命名法である。
【０１０２】
図６のテーブル４０は、疎行列の例である。たとえば、第２列の最初の第１行は“Ｓｍｉｔｈ”となっていて、その後にゼロという値のレコード（行）が続いている。したがって、第２列の値は、後続の第２、３および４行において“Ｓｍｉｔｈ”であることが分かる。
【０１０３】
フィールドの行／列命名法は、テーブルがリンクされたリストとして編成されている場合には助けとなる。１つのタイプのリンクされたリストにおいては、図７と８に示すように、リンク３４０はフィールド４４、値４６および１つ以上のポインタを含む。１つのタイプのリンク３４０では、図７に示すように、次の列内ポインタ３４４が、次の行内ポインタ３４２と共に含まれている。ポインタ３４４と３４２は、非ゼロ値を含む次のフィールドに対する命令を含んでいる。これらのポインタ３４４と３４２は、次のフィールドをポイントしている（再度のフィールドとは逆）ため、前方ポインタと呼ばれる。一部のタイプのリンク済みリストもまた、後方ポインタを含んでいるが、命令は最後のまたは前の非ゼロフィールド値を指向している。１つの態様では、本発明のシステム１０は前方ポインタしか含んでいない。
【０１０４】
図８は、図６に示す疎行列値同士間のリンク３４０の表示である。たとえば、第４行、第１列のリンクにおける命令は、第４行、第３列の次の非ゼロ値を迅速に分析させるものである。リンク３４０に含まれる命令によって、探索照会などの分析プロセスが、疎行列中の空白フィールドをバイパスしたりスキップしたりすることが許容される。空白フィールドをスキップすることによって、探索時間が大幅に減少して、照会の結果を迅速に発生させる。
【０１０５】
一実施形態では、エンハンスメントモジュールを含むプログラム５００の組を用いて、データ超集合中のどのテーブルでも疎行列リンクされたリストに変換させる。疎行列リンク済みリストとして記憶されたデータ超集合３０ははるかに少ないメモリを消費し、したがって、加入者クライアント２５５に対して複製超集合３３０として配布するのにより適している。データテーブルが疎行列リンク済みリスト（ＳＭＬＬ）に変換されたら、エンハンスメントモジュールは、ＳＭＬＬテーブルを終わらせるまたは別様に「終了させる」ことによって、それを、他のシステムコンポーネントで配布されたり別の場所で用いられたりするための準備をする。
【０１０６】
図５〜８に示すように、複製超集合３３０はシステム１０中の１つ以上のクライアント２５５に常駐する。システム１０全体にわたって複製超集合を送信したりまたは「公開」したりすることは、以下に説明するように、公開・加入モジュールを用いて遂行される。
【０１０７】
一実施形態におけるエンハンスメントモジュールはまた、新しいデータが追加されるとテーブルの状態を監視して、変換手順を必要に応じて繰り返し、テーブルの状態と加入者クライアント２５５と共有されたりそれらに配布されたりするその可用性に関して他のシステムコンポーネントと通信することによってそのテーブルを最適な状態に維持する。この態様では、プログラム５００の組のエンハンスメント部分は、他のシステムコンポーネントと対話し、通信して、迅速で効率的に探索できるように最適な状態にデータテーブルを維持するように構成されている。
【０１０８】
５．２．公開・加入モジュール
一実施形態では、本発明のプログラム５００の組は、本発明のシステム１０のコンポーネント同士間でのデータの転送を制御して容易化する公開・加入プログラムまたは手順を含む。図３に示すように、システム１０は、インフラストラクチャサーバ２５、１つ以上のコンピュータネットワーク２３０、アプリケーションサーバ２００および、サーバ・クライアント関係で分布している１つ以上のクライアント２５５を含んでいる。
【０１０９】
たとえば図５〜９に示す環境のようなサーバ／クライアントネットワーク環境下では、複製超集合３３０はシステム１０中の１つ以上の加入者クライアント２５５に常駐している。公開・加入モジュールは、システム１０全体にわたって複製超集合３３０を加入者であるクライアント２５５に公開することを監視して制御するように構成されている。
【０１１０】
５．３．マッチングモジュール
一実施形態では、本発明のプログラム５００の組は、生データを主観的な表現８０で受信し、データ超集合３０に記憶されている値をインタフェース６００を用いて分析して１つ以上の照会を実行し、優先表現９０で出力データを生成するように構成されたマッチングモジュール８５を含んでいる。例示のマッチングモジュール８５における一般的なステップを、図１２のフローチャートとして示す。
【０１１１】
１つの実施形態で、主観的表現８０に基づいてデータを発見するステップとそれをその優先表現９０で表現するステップでは、次の一般的な機能が伴う。捕獲３００、解析３０５、標準化３１０、確認３２０、更新３８０、組み合わせ３９０および放出３９５である。当業者は、これらの一般的なステップは必ずしもこの順序で発生するわけではなく、１つ以上の特定のアルゴリズムにしたがって一部のステップは必要に応じて繰り返されることを理解するであろう。
【０１１２】
５．３．１．捕獲
一実施形態では捕獲３００と呼ばれるこのステップでは、主観的表現８０（入力データ）が捕獲されたり別様に受信されたりする。
【０１１３】
５．３．２．解析
一実施形態では解析３０５と呼ばれるステップでは、主観的表現８０がそのコンポーネント部分に解析される。解析というタスクでは一般的に、文章または文字のストリングがそのコンポーネント部分に分割される。たとえば、街路アドレスという文脈では、封筒に書かれたアドレスは主観的表現８０を表しており、この表現が、解析プロセスによって互いに異なった多くのコンポーネントまたはアーチファクトに分割される。解析のためのアルゴリズムまたはプログラムは一般に、文字のシーケンスまたはストリングとして入力を受信し、次に、ルールの集合を適用してカテゴリによる分割を実行する。
【０１１４】
主観的表現８０の１例として街路アドレスがある。たとえば、“イーストメインストリート１２３Ｎ．Ｗ．スイートＡ−４”という米国の街路アドレスは、番号（１２３）、前指示（Ｅａｓｔ）、姓（メイン）、タイプ（Ｓｔ）、後指示（ＮＷ）、名（Ｓｕｉｔｅ）、二次番号（Ａ−４）を含む多くの離散的アーチファクトを含んでいる。街路アドレスはまた、市、郡および州などの行政的小区域に基づいてコンポーネントに解析されたり、または、たとえばＺＩＰ＋４コードに基づいてよりきめ細かい詳細レベルや粒度に解析されたりする。
【０１１５】
主観的表現８０を解析してそのコンポーネント部分を互いに分離したテーブルフィールドに記憶することによって、たとえば、本発明によるマッチングモジュール８５はユーザが、必要性と応用分野しだいでさまざまな方法でデータにアクセスしてこれを要約する（抜粋する）ことを可能とする。たとえば、ユーザはアドレスデータの要約または抜粋を特定の州に保管されている５桁のＺＩＰコードに基づいて要求する。アドレスデータが解析され、ＺＩＰコードが離散的フィールドに記憶されたら、ＺＩＰコードに基づいてデータを抜粋するステップでは、比較的簡単な探索と検索が実行される。互いに別個のフィールドにアーチファクトを記憶することによって、ユーザは、どのレベルの抜粋を用いてもデータを探索したり検索したりすることが可能となる。この態様では、本発明はさまざまな必要性を持つさまざまなユーザに対して大きいフレキシビリティを提供する。
【０１１６】
５．３．３．標準化
一実施形態では標準化３１０と呼ばれるステップでは、一般的に、標準化ルールの集合にしたがって主観的表現８０が再形式化される。一般に標準化では、字体、文字間隔、書体、句読点、フィールドがアルファベット文字もしくは数文字もしくは双方を含むか、フィールドの長さ、フィールドのサイズもしくは容量および他の特徴を含む主観的表現８０の多くの特徴が伴う。
【０１１７】
たとえば、街路アドレスという文脈では、主観的表現８０は次のように書かれる。
【表５】
2007535009.tif 000007
【０１１８】
標準化３１０と呼ばれるこのステップでは、上記の主観的表現８０の字体、文字間隔、句読点および他の特徴が変更され、これで標準化後には次のようになる。
【表６】
2007535009.tif 000008
【０１１９】
一実施形態では標準化ステップ３１０は、アドレスのタイプおよび地域化郡かしだいで可変のルール集合を含む。たとえば、外部アドレスには、さまざまなアドレスアーチファクトの標準的な表現を統御する非常にさまざまなルールがある。たとえば、次のように主観的表現８０が標準化される。
【０１２０】
主観的表現８０：
【表７】
2007535009.tif 000009
【０１２１】
標準化：
【表８】
2007535009.tif 000010
【０１２２】
主観的表現８０：
【表９】
2007535009.tif 000011
【０１２３】
標準化：
【表１０】
2007535009.tif 000012
【０１２４】
主観的表現８０：
【表１１】
2007535009.tif 000013
【０１２５】
標準化：
【表１２】
2007535009.tif 000014
【０１２６】
標準化ステップ３１０は解析ステップ３０５と組み合わせて実行され、これで、解析されたアーチファクトがその標準化された形式でテーブルに記憶されるようにする。一実施形態では、標準化ステップ３１０では解析後に互いに別個のアーチファクトに対して実行され、同時に解析ステップ３０５が最初に実行される。マッチングモジュール８５における他の一般的なステップと同様に、標準化ステップ３１０と解析ステップ３０５は任意の順序で実行してもよいし、繰り返してもよい。
【０１２７】
５．３．４．確認モジュール
一実施形態では確認３２０と呼ばれるステップでは、以下により詳しく説明するが、複雑な連続するステップを実行して主観的表現８０を確認する。確認３２０では、一般的に、主観的表現８０の正確度と新近性がチェックされる。確認３２０ではまた、主観的表現８０を超集合３０のテーブルに記憶されている値と比較し、それによって、優先表現９０を探索する。
【０１２８】
５．３．５．更新
更新３８０と呼ばれるステップでは、新たに獲得されたデータを超集合３０中のリレーショナルデータベースの内の１つに追加される。この態様では、プログラム５００の組の動作によるまたはこれを介する超集合３０は新しいデータに基づいて継続的に更新される。更新ステップ３８０は、マッチングモジュール８５によって実行される手順中のどの時点でも発生する。
【０１２９】
一実施形態では、更新ステップ３８０は新たなデータを超集合中のテーブルの内の１つに追加する。このデータはテーブルの最後の近くにあるレコード中に置かれる。本発明の１態様では、このテーブルは、エンハンスメントモジュールのタスクが次に実行される以前に再編集されたりされなかったりする。テーブルは設計されたら、頻繁に編集する必要はない。
【０１３０】
５．３．６．組み合わせ
組み合わせ３９０と呼ばれるステップでは、解析ステップ３０５が逆転されて、主観的表現８０の別個のアーチファクトが再組み立てされる。一実施形態では、組み合わせステップ３９０は、確認ステップ３２０が優先表現９０のアーチファクトを生成した後で実行される。
【０１３１】
５．３．７．放出・表示
一実施形態では放出と呼ばれるステップでは、本発明のシステム１０の１つ以上のコンポーネントに対して優先表現９０（または優先トークン）が送信または送付される。この態様では、放出ステップ３９５は、探索照会の結果を返却するまたは公開すると述べられている。放出ステップ３９５はまた表示ステップを含むまたは後にこのステップが続くが、この表示ステップでは、優先表現９０がモニターまたは他のタイプのユーザディスプレイに表示される。放出ステップ３９５はさらに印刷ステップを含むまたは後にこのステップが続くが、この印刷ステップでは、優先表現９０がレポートの一部分としてリスト中のラベルに印刷されるまたは本システムが支持する読み取り可能テキスト形式で別様に送られる。
【０１３２】
５．４．確認モジュール
一実施形態では確認ステップ３２０は、一般的に、主観的表現８０を超集合３０中のテーブルに記憶されている値と比較し、これによって、優先表現９０を探索するステップを含む。アドレス管理システム１１０の文脈では、アドレス確認３２０では一般的に、入力アドレスの主観的表現８０をアドレス超集合１３０（図１に示すようなもの）中のアドレスデータベース１３１、１３２および１３３に記憶されている値と比較して、アドレスの優先表現９０を特定する。
【０１３３】
図１に示すように、一実施形態では、アドレス超集合１３０は郵便データベース１３１、運送業者データベース１３２、標準データベース１３３および予定データベース１３４を含む。一実施形態において、データベース１３１〜１３４はその各々が、優先テーブル１４１、街路別名テーブル１４２および荷受人別名テーブル１４３を含む。優先テーブル１４１はまた、特定のレコードのコ通の識別子として働くトークンを記憶する１つ以上のフィールドを含む。
【０１３４】
郵便データベース１３１
一実施形態では、郵便データベース１３１は、米国郵便局（ＵＳＰＳ）などの郵便サービスからのアドレスデータを含む。米国には１億４戦５百万を超える配送可能なアドレスがある。ＵＳＰＳは、配送シーケンスファイル（ＤＳＦ）を含む、定期的に更新されるさまざまなアドレスデータベースを大衆に提供している。ＤＳＦは、ＵＳＰＳがサービスを提供するあらゆる配送ポイントのための、離散的レコードに記憶された標準化された完全なアドレスを含む、ＵＳＰＳが開発したコンピュータ化されたデータベースである。互いに分離されたレコードはその各々が、アドレス、ＺＩＰ＋４コード、配達順路コード、配送シーケンス番号（歩きシーケンス番号）、配送タイプコードおよび季節毎配送インジケータを含んでいる。ＵＳＰＳは最近、ＤＳＦに取って代わる新たな配送ポイント確認（ＤＰＶ）データベースを開発した。ＤＰＶデータベースは、ＤＳＦ２（追加のアドレス属性を含む）その基本的形式のものまたは向上した形式のものが市販されている。多くの外国とその地域が、その国の特定の必要性とルールに従って標準化されたアドレスを含む郵便アドレスレコードから成る類似のデータベースを提供している。本発明の郵便データベース１３１は、郵便アドレスを含むさまざまなデータベースのどれでも受信して記憶するように構成されている。
【０１３５】
郵便データベース１３１内では、優先テーブル１４１．１は、郵政当局が提供する配送ポイントの優先表現を受け入れて記憶するように構成される。優先表現は全体としてまたは別個のアーチファクトとしてまたは双方として記憶される。郵便の優先テーブル１４１．１は、アドレスの優先表現９０の主要なソースの内の１つである。
【０１３６】
郵政当局はまた、街路別名テーブル１４２．１に受け入れられて記憶される街路別名データを提供する。その名が示すとおり、別名とは、互いに異なったいくつかの識別子が同じ物体を示す状況のことである。街路別名の一般的な例は、道路が複数の名前、すなわち地方の街路名称、州のルート番号および連邦ハイウエイ番号を持つ場合に発生する。たとえば、米国ハイウエイ１は特定の州では州道１６と、また、特定の都市を通過する際にはメープル通りと呼ばれる。これら３つの名前がすべて通用する地域では、メープル通り、州道１６および米国ハイウエイ１という街路名が街路別名である。加えて、街路別名のリストはまた、たとえば、Ｓ．Ｒ．１６、ルート１６、ＵＳ１またはメープルドライブなど、使用中であればこれらを含む。ＵＳＰＳデータベースは、しばしば、街路別名データを含む。街路別名テーブル１４２．１は、郵政当局が提供する街路別名データを受け入れて記憶するように構成される。
【０１３７】
他の特徴やアーチファクトもまた別名がある。たとえば、正式の会社名には、一般的には公に含まれない用語が含まれる。たとえば、Ａｃｍｅ靴会社は、日常の業界用語ではＡｃｍｅ靴または単にＡｃｍｅと呼ばれる。データベースに記憶される値に対してさまざまな名前や別名が存在することによる問題は、データベースのユーザがその値を特定的に検索使用する際に発生する。たとえば、Ａｃｍｅ靴会社を探索しようとしても、たとえば、Ａｃｍｅ靴で記憶している記録を発見することはない。
【０１３８】
荷受人別名テーブル１４３．１は、郵政当局が提供するウに家人別名データを、もしあれば、受け入れて記憶するように構成される。郵政当局は、荷受人別名データを提供することもあればしないこともある。米国のように、管轄区域によっては、郵便サービスが、街路アドレスと関連する住民（荷受人）のアイデンティティを明らかにするデータを配布しないことがある。図示する荷受人別名テーブル１４３．１（フィールド１、フィールド２、フィールド３、．．．フィールドｎ）のデータフィールドの前には＋符合の代わりにハイフンがあって、これらのフィールドが空白であることを示している。
【０１３９】
郵便データベース１３１のテーブル１４１．１、１４２．１および１４３．１は、リレーショナルデータベースに関する技術上周知な仕方で、１つ以上のキーフィールドを用いてリンクされるまたは別様に相互接続される。
【０１４０】
運送業者データベース１３２
一実施形態では、運送業者データベース１３２は、収容貨物運送業者、小包サービスまたは民間データベースプロバイダなどの民間ソースからのアドレスデータを含んでいる。一部の配送会社や他のサービスプロバイダはアドレスデー食べ０巣を開発して維持しているが、その一部が市販されている。本発明の運送業者データベース１３２は、アドレス情報を含むさまざまな民間データベースのどれでも受信して記憶するように構成されている。
【０１４１】
運送業者データベース１３２内では、優先テーブル１４１．２は、民間ソースのデータベースに含まれる配送ポイントの優先表現を受け入れて記憶するように構成されている。優先表現は、全体としてまたは別個のアーチファクトとしてまたは双方として記憶される。
【０１４２】
民間ソースはまた、街路別名テーブル１４２．２に受け入れられて記憶される街路別名データを提供する。配送会社と他のサービスプロバイダの一部では、かれらがサービスを提供する領域の街路別名のリストを開発して維持しているところもある。街路別名テーブル１４２．２は、どの民間ソースが提供する街路別名データでも受け入れて記憶するように構成されている。
【０１４３】
荷受人別名テーブル１４３．２は、民間ソースが提供する荷受人別名データを受け入れて記憶するように構成される。街路別名に加えて、配送会社と他のサービスプロバイダの多くが、別名を含んでいるユーザや顧客（荷受人）のリストを開発して維持している。荷受人別名テーブル１４３．２は、どんな民間ソースが提供した荷受人別名データでも受け入れて記憶するように構成される。
【０１４４】
運送業者データベース１３２のテーブル１４１．２、１４２．２および１４３．２は、リレーショナルデータベースに関する技術上周知な仕方で、１つ以上のキーフィールドを用いてリンクされるまたは別様に相互接続される。同様に、運送業者データベース１３２は郵便データベース１３１とリンクまたは別様に相互接続される。
【０１４５】
標準データベース１３３
一実施形態では、標準データベース１３３は、一般的に別名データを含む。郵便データベース１３１や運送業者データベース１３２をアップロードまたはインストールしている最中に、本発明のシステム１０はあるツールを含んでおり、これで、街路別名と荷受人別名の情報を取り入れて、それを標準データベース１３３に記憶する。標準街路別名テーブル１４２．３は、街路別名データを受け入れて記憶するように構成される。標準の荷受人別名テーブル１４３．３は、荷受人別名データを受け入れて記憶するように構成される。この態様では、一実施形態では、標準データベース１３３は別名データのレポジトリとして動作する。
【０１４６】
標準データベース１３３は、一般に別名データ用であるため、テーブル１４１．３にはあらゆる優先データを含んでいたりいなかったりする。標準の優先テーブル１４１．３（フィールド１、フィールド２、フィールド３、．．．フィールドｎ）のデータフィールドの前には＋符合の代わりにハイフンがあって、これらのフィールドが空白であることを示している。
【０１４７】
標準データベース１３３のテーブル１４１．３、１４２．３および１４３．３は、リレーショナルデータベースに関する技術上周知な仕方で、１つ以上のキーフィールドを用いてリンクされるまたは別様に相互接続される。同様に、標準データベース１３３は運送業者データベース１３２および郵便データベース１３１とリンクまたは別様に相互接続される。
【０１４８】
標準データベース１３３に記憶されているデータは、ブラリーマッチングまたはファジーマッチングとして知られるプロセスで用いられる。逐語マッチングでは、ＡｃｍｅとＡｃｍｅなどのようにまったく一致することが必要とされる。ファジーマッチングは、Ａｃｍｅ、ＡＣＭ、ＡｃｍｅｄおよびＣｈ２Ａｃｍｅなどのように部分的にマッチングすることを示す。別名データは一般的にファジーマッチングが許容されるまたは所望されるシステムで有用であるが、それは、別名とはその性質上、微妙な違いがあるがそれでも同じ物体を表しているからである。たとえば、上記の荷受人別名（Ａｃｍｅ靴会社、Ａｃｍｅ靴、Ａｃｍｅ）もまた互いにファジー一致を表している。
【０１４９】
ファジーマッチングはアドレス標準化という状況で有用であるが、それは、あるアドレスの主観的表現８０には１つ以上の曖昧なまたは不正確なアドレスアーチファクトが含まれるからである。たとえば、主観的表現８０“Ａｔｌ３００３０、スイートＡ−４、イーストメインストリート１２３、ダウ”は不完全でありいくつかの曖昧さを含んでいる。アドレス“ダウ”は、標準データベース１３１の荷受人別名テーブル１４３．３に記憶されているデータを用いて、ファジーマッチングプロセスによって優先荷受人”Ｊｏｈｎ  Ｗ．  Ｄｏｅ”と整合する。この例は、アドレス超集合１３０のデータベース１３１〜１３４が以下に共同しているかを解説するものであるが、それは、標準データベース１３１がテーブル１４１．３になんら優先データを含んでいないから知れないからである。したがって、アドレス確認３２０を完遂するためには、アドレス管理システム１１０は、他のデータベース１３１、１３２、１３４に記憶されているテーブル中の関連データにアクセスして、アドレスの優先表現を発見するように構成される。テーブル１４１、１４２、１４３はリンクされているため、一致するものを探索するには、ＺＩＰコード“３００３０”だけを用いてまたは街路一次名（メイン）と一緒に用いて、主観的表現８０に類似のレコードを発見する。この態様では、一実施形態における本発明のアドレス管理システム１１０は、アドレス超集合１３０に記憶されているどのデータからも一致するものを発見するプログラムまたは構造化照会言語を含んでいる。
【０１５０】
アドレスの標準化と確認という文脈で有用である別のツールとして、Ｓｏｕｎｄｅｘとして知られているものがある。Ｓｏｕｎｄｅｘは同じように聞こえる語を発見する方法となるものである。Ｓｏｕｎｄｅｘは最初はファイリングシステムであり、音声アルゴリズムを用いて、固有名詞や他の語を４文字英数字コードに還元するものである。１つのタイプのＳｏｕｎｄｅｘアルゴリズムでは、コードの最初の文字が語や固有名詞の最初の文字に対応しており、コードの残りの部分は残余の音節の音声から誘導された３桁から成っている。このようにして、語や名前の音声が定量化される。Ｓｏｕｎｄｅｘ関数は有用であるのは、コンピュータは一般的に文字を比較するより数を比較するほうが得意であるからである。一実施形態では、本発明の確認ステップ３２０はＳｏｕｎｄｅｘアルゴリズムを含んでいる。
【０１５１】
予定データベース１３４
一実施形態では、予定データベース１３４は、１つ以上の主観的表現８０を含む入力データを含んでいる。この態様では、主観的表現データを予定テーブル１４１．４、１４２．４、１４３．４に付加するプロセスは、本書に記載する捕獲ステップ、解析ステップおよび標準化ステップが含まれ、これで、入力データが、確認のための準備として正しく分割されて標準化されるようにする。
【０１５２】
一実施形態では、入力データは主として予定優先テーブル１４１．４に記憶される。予定データベース１３４は一般に入力データ用であるため、街路別名テーブルと荷受人別名テーブル１４２．４と１４３．４にはなんらかのデータを含んでいたりいなかったりする。これらのテーブルのデータフィールドの前には、＋符合の代わりにハイフンがあって、これらのフィールドが空白であることを示している。
【０１５３】
５．４．１．階層によるデータ配置
１つの態様では、本発明のアドレス管理システム１１０は、アドレスデータが階層性を持つことを利用して、主観的表現８０に類似したレコードを迅速にそして効率的に突き止める。この態様では、アドレス管理システム１１０は、記憶されているデータをその固有の階層にしたがって作成または配置する方法を含む。データは、以下に説明するように、一般的レベルから特定的なレベルに構成されたまたは応用分野にとって特定的に適した順序で構成された１連のレベルで配置される。使用に際して、アドレス管理システム１１０は、アドレス超集合１３０に記憶されているデータの内の任意のデータ同士間での一致を発見することが可能なプログラムまたは記憶済みの照会手順を含むように構成されている。
【０１５４】
一般に、照会することによって、データベースから所望のデータをデータ自身を変更することなく抽出する。照会では一般に所望のデータを発見してユーザに対してこれを表示するため、照会の結果はときとしてビューと呼ばれる。また、照会は、結果（ビュー）を、それをユーザに対して表示することなく作成するために用いられる。この点で、照会は、データをテーブル構造とは異なった新しい構造に（通常は一時的に）配置するために用いられる。照会によって、たとえば，  配列中でのロジックが向上するとか、仕分けや探索速度が増すとか、特定のデータフィールドがより主要な位置に移動するとかの特定的な長所を有する新しいデータ構造を作成する。一実施形態における本発明の確認ステップ３２０は、データを超集合に配置する１つ以上の照会を有している。このような１つの配置には、トークン化と呼ばれるプロセスが伴う。
【０１５５】
５．４．２．トークン化
郵便優先テーブル１４１．１の例を図９に示す。各々の行は１つのレコードを表し、また、複数のフィールドを含んでいる。別個のフィールドが各々同様の属性を含む別個の列に記憶される。テーブルの属性は頂部のところで列名として示されている。図９に示すような優先テーブル１４１．１はスキーマ（ＺＩＰ、トークン、街路、タイプ、ロー、ハイ、偶数／奇数、荷受人、参照、ロー、ハイ、＋４）を有するものとして示されている。
【０１５６】
図示するトークン列は郵便トークン７１を各々の固有のアドレスに対する固有の識別子として含んでいる。アドレス“第１通り４４０、スイート６００”を含んでいる２つのレコードには郵便トークンＴ６が割り当てられていることに注意すべきである。テーブルの他の行中のその他の街路アドレスレコードは、別のアドレスを表しており、したがって、異なったトークンを有している。
【０１５７】
アドレスデータはその性質上階層的なものである。あるアドレスのさまざまなアーチファクトは一般的なものから特定的なものまで変化する。たとえば、５桁のＺＩＰコードはそれ自身がアドレスロケーションの一般的な観念となっており、一方完全なアドレスは通常は、住民または荷受人を含むものとして考えられており、あらゆる街路データとＺＩＰコードもしくはＺＩＰ＋４は非常に特定的なアドレスロケーションとなるものである。
【０１５８】
一実施形態では、本発明の確認ステップ３２０は、アドレスデータ階層の頂部に市・州・ＺＩＰ組み合わせを位置付けする照会またはアルゴリズムを含む。もちろん、市・州組み合わせは複数のＺＩＰコードを含んでいる。次の特定性のレベルには、前指示、街路名、街路タイプおよび後指示を含む街路アーチファクトがある。このような街路アドレスは１００  Ｅａｓｔ  Ｍａｉｎ  Ｓｔｒｅｅｔ，  ＳＷのようなものとなる。街路アーチファクトはさらに、範囲２４０〜２９８などの純粋に数値から成る又は範囲フィールドしだいで英数字から成る１つ以上の街路アドレス範囲を用いて分割される。通常の街路アーチファクトを越えるものとして、Ｓｕｉｔｅ１００またはＡｐａｒｔｍｅｎｔ１Ｃなどの二次アーチファクトと番号を含む二次アーチファクトがある。ＺＩＰ＋４コードに４桁を追加すると、さらに別の特定性のレベルとなる。一部のデータベースはまた、追加の２桁の配送シーケンス番号を含んでいる。
【０１５９】
一実施形態では、本発明の確認ステップ３２０は、超集合のテーブル中のレコードを一般的なものから特定的なものへと階層的構造に順序付ける方法を含む。これらレコードの結果として得られる関係と分類を、封じ込めと包含として知られている概念に照し合わせて、確認ステップ３２０内で定義される。ノード番号は、図９に示したようにテーブル１４１．１の各々のレコードに割り当てられている。このノード番号は、アドレスレコード間での封じ込めと包含という概念を説明する助けとなりえる。
【０１６０】
５．４．３．封じ込めレベル
確認ステップ３２０でテーブル１４１．１のレコードが再順序付けされた後、レコードの新しい階層配置は図１０に示すようなものとなる。図１０のノード番号は、データ中に表示される特定性のレベルにしたがって分配される。たとえば、図１０のレベル１はノード１を含むが、これはアドレス範囲“第１通り４４０〜４９８”を包含するレコードを表している。図９に示すすべてのレコードの内、ノード１のところにあるレコードは最も一般的なものであり、したがってレベル１に置かれる。次の特定性レベル、すなわち、レベル２はノード２を含む。ノード２のところにあるレコードは１つの街路アドレス（第１通り４４０）を含むが二次アーチファクト（スイート番号）はない。
【０１６１】
図１０のレベル３は、スイート番号または範囲を持つアドレスを含むが荷受人名は含まない。これらのレコードはノード３、１１、４、１２、５および１３を含む。レベル３のノードは左から右にスイート番号の昇順で配置されている。この態様では、システム１０は、アドレスデータを、さまざまな特定性のレベルで配置することに加えて左から右に順序付けするように構成される。
【０１６２】
レベル４は荷受人フィールドに名前を持つレコードを含む。
【０１６３】
封じ込めと包含という概念は、図１０のさまざまなノード間の接続によって表される。ノード１０はノード３に接続されているが、それは、“スイート３１０”が範囲“１００〜４００”のサブ集合であるからである。同様に、ノード６、７および８はノード５に接続されているが、それはこれらのスイート番号“５００”と“６００”がノード５（スイート５００〜６００）の範囲のサブ集合であるからである。最後に、ノード９はノード１３のサブ集合であるが、それはアドレスは同じであるが、ノード９は荷受人名を含むからである。
【０１６４】
図１０に示すようなノードは、本発明の確認ステップ３２０の一実施形態で実施される封じ込めと包含という概念を示す。レベル１のノード１はその下にあるすべてのノードを「封じ込めて」いるが、それは他のアドレスレコードのすべてがノード１用にと提示されている範囲内にあるからである。逆に、レベル１の下にあるすべてのノードはノード１内に「含まれる」（または封じ込められる）。同様に、レベル２のノード２はその下のすべてのノードを封じ込め、ノード３はノード１０を封じ込めている。ノード５はノード８、６および７を封じ込めているが、それはこれらのノードがノード４で提示された範囲のサブ集合であるからである。ノード１３はノード９を封じ込めている。
【０１６５】
一実施形態では、本発明の確認ステップ３２０はトークンを各々の固有のレコードに割り当てる。トークンはまた、封じ込めと包含の概念を示している。図１１は、図１０に示す階層テーブルを表形式で表現したものである。図１１の表は、レベル１から初めて各々のレベルにおけるすべてのノードとトークンを示している。トークンＴ１は、階層テーブル中の他のすべてのトークンを封じ込めているものと述べることが可能である。しかしながら、トークン番号はノード番号とは異なることに注意すべきである。トークンＴ３はトークンＴ９を含む。トークンＴ５はトークンＴ６とＴ７を含む。トークンＴ６はノード６と７の双方に対して用いられるが、それはアドレスが等しいからである。
【０１６６】
封じ込めと包含の概念は図１１から容易に理解可能である。たとえば、ノード３のデータとノード１０のデータを比較すると、読者は、ノード１０の“スイート３１０”は、ノード３に記憶されているスイート番号（１００〜４００）の範囲にあることに気付くであろう。この関係は、これまた図１０に示されている包含と封じ込めの概念を示している。
【０１６７】
一実施形態では、本発明の確認ステップ３２０で適用される封じ込めレベルの数に制限はない。アドレスレコードは多くのアーチファクトを含んでいる。テーブルは多くのレコードを包含している。テーブルに包含されるレコードの数が膨大であることを考慮すると、レコードを階層に編成したものを用いて、データにアクセスしてこれを分析する速度を大幅に増加させる。図１４、１５および１６に示す１３のノードの場合に対して記載されている封じ込めレベルとトークン番号は、アドレス超集合１３０のテーブルの内のどの１つのテーブルにおいても、数百のアドレスレコードと範囲に適用される。同じように、図９の優先テーブル１４１．１は階層にしたがって順序付けされ、アドレス超集合１３０中の他のテーブル１４１、１４２および１４３もまた、ノードと封じ込めレベルを用いて編成される。
【０１６８】
封じ込めレベルを用いてデータを再配置することに加えて、本書に記載するように各々のテーブルは疎行列リンクされたリストに変換され、これで、処理速度をさらに増大させる。
【０１６９】
５．４．３．優先トークン
再度図９のテーブル１４１．１を参照すると、ノード６と７は双方共が同じトークンＴ６を与えられるが、それはこれらが同じ物理的ロケーションを表しているからである。ノード６と７の荷受人名は、それぞれ“ＡＰＣ”と“ＡＭＰＯＬＬＩＮＧＣＭＴＥ”であることに注意すべきである。これらのアドレスの代替名は荷受人の別名である。言い換えれば、ＡＰＣはＡＭＰＯＬＬＩＮＧＣＭＴＥの別名である。本書で説明したように、このような荷受人の別名はアドレス超集合１３０中の１つ以上の荷受人別名テーブル１４３に記憶される。
【０１７０】
同様に、街路別名データは、アドレス超集合１３０中の１つ以上の街路別名テーブル１４２に記憶される。たとえば、街路別名テーブル１４２中のフィールドは図１３に示すように配置される。図１３の例としての街路別名テーブル１４２は、アメリカ街としても知られているニューヨーク市の６番街の街路別名をいくつか含んでいる。街路別名テーブル１４２は、街路アドレスレコードを比較する際に容易にアクセス可能な形式でこのようなリストを含んでいる。
【０１７１】
本発明の１態様では、アドレスデータベース管理システム１０は、別名表現の内の１つを「優先表現」として印付けするように命令される。さまざまな街路別名と荷受人別名をアドレスデータ超集合１３０に記憶されているデータに適用すると、（たとえば）トークンＴ４０８１の内の１つが優先表現として印付けされる。このように、優先トークン７０は、優先のための“ｐ”などのマーカーを含み、これで、優先トークン７０はＴ４０８１ｐのようになる。本発明のシステム１０は、トークンＴ４０８１を持つすべてのアドレスレコードが等しいと認識する。一実施形態では、優先トークン７０を特定してそれに印付け（たとえばＴ４０８１ｐ）すると、特定の街路アドレスの優先アーチファクト（Ｔ４０８１ｐという印が付いている）が常に照会に応じて返送されることを保証する助けとなる。
【０１７２】
本発明のこの態様では、一実施形態における確認ステップ３２０は、記憶されているデータを照会を利用して新しい階層データ構造に配置するように構成される。１つ以上のトークンに一実施形態では優先トークとして印付けするまたは別様に識別して、アドレスまたは特定のアーチファクトの優先表現を特定する。
【０１７３】
関連の態様では、本発明の管理システムは、本発明のシステム１０のさまざまなコンポーネント間で（テキストの代わりに）トークンをやり取りするように構成されている。トークンを交換すると、アドレステキストから成る長いストリングを交換するよりも効率的でありエラーしにくい。この態様では、トークンを固有の識別子として用いると、照会の処理、報告、および超集合に記憶されているデータに対する他のタイプの分析の速度がさらに増す。
【０１７４】
一実施形態では、確認ステップ３２０は、アドレス管理システム１１０のプログラム５００のスイートの一部として実行される（たとえば図７を参照）。確認ステップ３２０は複製の超集合３３０に対して実行され、その結果はＡＭＳクライアント６５５に対して放出される。本書で述べた１つ以上の技法を応用しているアドレス管理システム１１０では、捕獲ステップ３００から放出ステップ３９６までの経過時間は１００ミリ秒から２００ミリ秒の範囲にある。
【０１７５】
５．４．５．比較
一実施形態では確認ステップ３２０は、一般に、主観的表現８０を超集合３０中のテーブルに記憶されている値と比較して、優先表現９０を探索するステップを含んでいる。アドレス管理システム１１０の文脈では、アドレス確認３２０では一般に、入力アドレスの主観的表現８０をアドレス超集合１３０中のアドレスデータベース１３１、１３２、１３３に記憶されている値と比較して（図１に示す）、そのアドレスの優先表現９０を特定する。
【０１７６】
図１２に示すブロック図では、確認ステップ３２０は１つのブロックを占有している。しかしながら、本書に記載するように、確認ステップ３２０は、アドレスを確認するための多くのステップと手順とを伴っている。前の章では多くのデータ操作ルーチンと探索方法を概括したが、入力データを記憶されているデータと比較するプロセスを一般的に述べる。より詳しくは、一実施形態における確認ステップ３２０も比較プロセスは以下に番号付きでリストアップするステップを含んでいる。
【０１７７】
（１）予定データベース１３４中の入力データ（図１を参照）を優先テーブル（図１を参照）に記憶する。
【０１７８】
（２）優先テーブル１４１．４に記憶されている入力データをその他の優先テーブル１４１．１、１４１．２、１４１．３（もしあれば）に記憶されているデータ値と比較する。一実施形態では、超集合中の各々のテーブルは疎行列リンク済みリストに変換され、ノードと階層的封じ込めレベルとを用いて再配置されおよび／または上記のようにトークン化されて、各々のテーブルでの探索を迅速で効率的なものとしていることを想起されたい。この比較プロセスは、他の優先テーブル１４１．１、１４１．２、１４１．３に記憶されているデータ値から１つ以上の候補となる表現を突き止めるステップを含む。一致しているかを発見するステップには一般に、探索中の選択表現８０に最も類似している候補表現を選択するステップが含まれる。
【０１７９】
（ａ）入力データと優先テーブルデータとが一致していれば、対応する優先トークン７０を突き止めて、図１２に示す更新３８０、組み合わせ３９０および放出３９５のステップを実行する。
【０１８０】
（ｂ）一致していなければ、以下のステップ（３）に進む。
【０１８１】
（３）優先テーブル１４１．４に記憶されている街路名入力データを街路別名テーブル１４２．１、１４２．２、１４２．３に記憶されている街路別名データ値と比較する。この比較プロセスは、街路別名テーブル１４１．２、１４２．２、１４２．３に記憶されているデータ値から１つ以上の候補となる街路別名を突き止めるステップを含む。一致しているかを発見するステップには一般に、優先トークンと最も緊密に関連している候補街路別名を選択するステップが含まれる。
【０１８２】
（ａ）街路名入力データと街路別名テーブルデータとが一致していることが発見されたら、優先街路別名を識別する優先トークン７０を突き止めて、優先テーブル１４１．４中の街路名の代わりに対応する街路別名を導入して、街路別名を用いて上のステップ（１）を繰り返す。
【０１８３】
（ｂ）一致していなければ、以下のステップ（４）に進む。
【０１８４】
（４）優先テーブル１４１．４に記憶されている荷受人名入力データを荷受人別名テーブル１４３．１（もしあれば）、１４３．２、１４３．３に記憶されている荷受人別名データ値と比較する。この比較プロセスは、荷受人別名テーブル１４３．２、１４３．２、１４３．３に記憶されているデータ値から１つ以上の候補となる荷受人別名を突き止めるステップを含む。一致しているかを発見するステップには一般に、優先トークンと最も緊密に関連している候補荷受人別名を選択するステップが含まれる。
【０１８５】
（ａ）荷受人名入力データと荷受人別名テーブルデータとが一致していることが発見されたら、優先荷受人別名を識別する優先トークン７０を突き止めて、優先テーブル１４１．４中の荷受人名の代わりに対応する荷受人別名を導入して、荷受人別名を用いて上のステップ（１）を繰り返す。
【０１８６】
（ｂ）一致していなければ、以下のステップ（５）に進む。
【０１８７】
（５）除外コード４００をユーザ２８またはアプリケーションに返送する。
【０１８８】
（６）一実施形態では、確認ステップは、ありえる一致のリスト（アドレス、街路別名、荷受人別名）を表示して、ユーザ２８が、目視比較して、ありえる一致の内の１つを優先表現として手動で選択する（もしそれが適当であれば）ことを許容する。
【０１８９】
（ａ）手動で選択すれば、比較プロセスは進行して、図１２に示す更新３８０、組み合わせ３９０および放出３９５のステップを実行する。
【０１９０】
（ｂ）手動選択をしなければ、入力データと除外コード４００を確認システムから外に転送してさらに処理するようにする。
【０１９１】
優先アドレス表現を発見する上のステップ（２）で記載した方法はさらに次のステップを含む。
【０１９２】
（ａ）主観的表現を１つ以上の離散的アーチファクトに解析する。
【０１９３】
（ｂ）この１つ以上の離散的アーチファクトの内の１つを選択する。
【０１９４】
（１）この１つの離散的アーチファクトをソースデータと比較することによってソースデータのうちから１つ以上の候補アーチファクトを突き止める。
【０１９５】
（２）１つ以上の候補アーチファクトから優先アーチファクトを突き止めるが、この優先アーチファクトは１つの離散的アーチファクトに対して最も緊密な類似を有している。
【０１９６】
（３）優先アーチファクトを記憶する。
【０１９７】
（ｃ）１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返す。
【０１９８】
（ｄ）優先アーチファクトを組み合わせて、優先表現を形成する。
【０１９９】
同様に、優先別名表現を発見する上のステップ（３）と（４）に記述する方法は次の更なるステップを含む。
【０２００】
（ａ）主観的表現を１つ以上の離散的アーチファクトに解析する。
【０２０１】
（ｂ）この１つ以上の離散的アーチファクトの内の１つを選択する。
【０２０２】
（１）この１つの離散的アーチファクトを別名データと比較することによってソースデータのうちから１つ以上の候補別名アーチファクトを突き止める。
【０２０３】
（２）１つ以上の候補別名アーチファクトから優先別名アーチファクトを突き止めるが、この優先別名アーチファクトは優先別名トークンに対して最も緊密に関連している。
【０２０４】
（３）優先別名アーチファクトを記憶する。
【０２０５】
（ｃ）１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返す。
【０２０６】
（ｄ）優先別名に対して優先別名アーチファクトを追加する。
【０２０７】
一実施形態の上記比較ステップで用いられる「マッチする」という用語は、アドレスの１つ以上のアーチファクトを分析して、データ同士間の類似性が「マッチ」を構成するに十分有効であるかどうかを判定するニュアンスを含む。たとえば、次の指針が当てはまる。
【０２０８】
１．逐語マッチングは、街路番号と街路名を含む一次アドレスで必要とされる。
【０２０９】
２．逐語マッチングは、運送業者データベース３２に二次アドレスが存在し、また、それが一次アドレスと関連している場合に二次アドレス（スイート番号など）にしか必要とされない。
【０２１０】
３．逐語マッチングは、荷受人が予定データベース１３４（入力データ）に存在する場合に荷受人名にしか必要とされない。
【０２１１】
他のマッチング指針は、応用分野と処理の目的しだいで設定されることを理解すべきである。
【０２１２】
５．５．インタフェース
一実施形態では、本発明のデータベース管理システム１１０は、図３と図５〜９に示すようにインタフェース６００とプログラム５００の組を含んでいる。一実施形態ではインタフェース６００は、アプリケーション（プログラム５００の組など）とユーザ（または別のアプリケーション）間の動作可能接続またはインタフェースとなるように設計されたコンピュータプログラムである。インタフェース６００は１連のコマンドを提供し、これを用いて、ユーザは、データベーステーブルに記憶されるデータを生成し、読み取り、更新し、削除する。これらの機能（作成、読み取り、更新、削除）はときとして頭字語ＣＲＵＤを用いて参照され、したがって、このようなコマンドを提供するインタフェースはＣＲＵＤインタフェースと呼ばれる。照会機能を含むデータベースはＣＲＵＤＱインタフェースと呼ばれる。
【０２１３】
一実施形態では、インタフェース６００はＣＯＭベースのインタフェースとして構成される、ということは、それがコンポーネントオブジェクトモデルに基づいていることを意味する。コンポーネントオブジェクトモデルは、インタフェース６００と本発明のシステム１０の他のさまざまなコンポーネント間での相互運用性を容易化するオープンソフトウエアアークテクチャである。ＣＯＭベースのインタフェース６００が与えられるとはいえ、他のソフトウエアモデルを用いて所望の機能性を遂行してもよい。
【０２１４】
照会機能は本発明の一実施形態によるインタフェース６００に含まれる。照会とは、データベースから所望のデータ集合を抽出するために用いられるコマンドまたは命令である。最もよく知られた照会言語は構造化照会言語（ＳＱＬ、「セルエル」と発音される）であるが、他の照会言語を用いてもよい。照会は１つのコマンドまたは複雑なコマンド連続体を含む。ＳＱＬは広い範囲の照会コマンドを含む。再度用いられる照会コマンドの集合は記憶済み手順としてＳＱＬに保存することが可能である。プログラムを実行するのと似て、セクエル中の記憶済み手順をコールすることは個々の照会コマンドを一時に送出するよりは効率的である。また、記憶済み手順は一般に前もって編集され、また、データベース管理システムによってキャッシュされる。この態様では、照会コマンドは強力なプログラムツールとして用いられる。
【０２１５】
５．５．１．  アプリケーション識別子
一実施形態ではインタフェース６００は、使用中のデータベース管理システム１１０の内部にあるか外部にあるかを問わず、互いに異なったさまざまなプログラムとアプリケーションを操作してこれらと対話するように構成される。インタフェース６００は、プログラム５００の内部組の各々のコンポーネントで動作するように構成される。インタフェース６００はまた、関連のデータベースアプリケーション、補助用報告アプリケーション、スタンドアロン型ビジネスアプリケーションまたは、超集合３０や１３０に記憶されているデータと対話する要望またはビジネス上の必要性を有する他のさまざまなプログラムの内のどれかなどの、データベース管理システムの外部にある１つ以上の外部プログラムまたはアプリケーションで動作するように構成される。
【０２１６】
一実施形態では、本発明のインタフェース６００は、各々が対応するルール集合を有する１つ以上のアプリケーション識別子を含む。このアプリケーション識別子は、本発明のデータベース管理システムに対するアクセスを求めるアプリケーションを識別するために用いられる。アプリケーション識別子は１つのコマンドまたは複雑なアルゴリズムである。一般に、アプリケーション識別子は、データベースと対話することを求めるアプリケーションを識別するように動作する。
【０２１７】
各々のアプリケーション識別子は、特定のアプリケーション２７０とデータベース管理システム間の対話を統御するために用いられる対応するルール集合を含んでいる。このような対話には、照会要求、加入更新、データ転送もしくは他の通信、出力形式命令または他のいずれかの行為が含まれる。アプリケーション識別子とルール集合はデータベースに記憶したりアクセス可能形式で別様に保存されたりする。
【０２１８】
たとえばアドレス管理システム１１０の文脈においては、特定のアプリケーション２７０は、照会を送ることによってアドレス超集合１３０にアクセスを求める。それに応答して、インタフェース６００は、アプリケーション２７０を識別子、適切なアプリケーション識別子を検索し、次に対応するルール集合を検索するように構成されている。次に、インタフェース６００は、このルール集合をアドレス管理システム１１０に渡して、照会の処理やアプリケーション２７０との他の対話に用いられるようにする。アドレス管理システム１１０は照会を処理したり、出力データを生成するアプリケーション２７０に関連した他の動作を実行したりする。この出力データはインタフェース６００に返送され、そこで、ルール集合を用いてこの出力データがアプリケーション２７０からアクセス可能であるような形式であることを確認する。この態様では、アドレス管理システム１１０とそのインタフェース６００は共同して、ルール集合を用いることによってアプリケーション２７０からの要求を処理する。
【０２１９】
この態様では、本発明のインタフェース６００は一般的なものである、ということは、インタフェース６００はどのアプリケーション２７０でも動作しまたこれと対話するように構成されていることを意味する。インタフェース自身とは別個にルール集合を維持することによって、インタフェース６００におけるプログラミングでは、さまざまなアプリケーション２７０すべてに対するルールを含む必要はない。それどころか、アプリケーション識別子を用いることによって、インタフェース６００は、対応するルール集合を発見して検索する比較的単純なコマンドだけを含む。
【０２２０】
管理システム１１０が新しいアプリケーション２７０との対話を必要とする場合、インタフェース６００を修正する必要はまったくない。必要とされるのは、新しいアプリケーション２７０のアプリケーション識別子と対応するルール集合とを追加することだけである。インタフェース６００は、このような新しい情報を入力するシステムとなる。
【０２２１】
５．５．２．データ捕獲の深度
一実施形態では特定のアプリケーション２７０のルール集合は、データ超集合３０からどの特定のアーチファクトを捕獲するかを制御するように構成される。たとえば、使用中、第１のアプリケーションはＺＩＰコードしか必要とせず、その一方で第２のアプリケーションはＺＩＰ＋４、市および州を必要とする。本発明のルール集合は、使用中の特定のアプリケーション２７０のデータ要件に関する記憶済み情報を含む。データ捕獲の範囲または深度を制御することによって、ルール集合によって、インタフェース６００がシステム１０内のデータにアクセスする効率と速度が増す。
【０２２２】
６．結論
説明した本発明の実施形態は、単なる例示目的である。当業者には多くの変更例と修正例が明らかであろう。このような変更例や修正例はすべて、添付クレームに定義する本発明の範囲に入る。
【０２２３】
上述したように、いくつかの例を述べた。もちろん、データベース管理システムで用いられるシステム、方法、コンピュータ読み取り可能媒体などを説明する目的でコンポーネントや方法の考えられるすべての組み合わせを説明することは不可能である。しかしながら、通常の当業者は、さらなる組み合わせや置き換えが可能であることを認識するであろう。したがって、本出願書は、添付クレームの範囲に入る改変例、修正例および変更例を包含することを意図するものである。さらにそのうえ、前記の説明は本発明の範囲を制限することを意図するものではない。むしろ、本発明の範囲は添付クレームとその投下物によってのみ決定されるべきである。
【０２２４】
本書ではシステム、方法および装置を例を説明して解説し、また、これらの例をかなり詳細に説明したが、添付クレームの範囲をこのような詳細にいかようにも制限することは本出願書の意図するところではない。さらなる長所と修正例は当業者には容易に明らかであろう。したがって、本発明はそのより広い意味において、具体的な詳細、代表的なシステムと方法または図示し説明した解説的な例に限られるものではない。したがって、出願者の一般的な創意ある概念の精神や範囲から逸脱することなくこのような詳細から逸脱しえるのである。
【図面の簡単な説明】
【０２２５】
【図１】本発明の一実施形態によるアドレスの超集合のブロック図である。
【図２】本発明の一実施形態による一般的なデータセットのブロック図である。
【図３】本発明の一実施形態によるシステムアーキテクチャの図である。
【図４】本発明の一実施形態によるスタンドアロンサービスモードのブロック図である。
【図５】本発明の一実施形態によるデータテーブルのグラフ表示である。
【図６】本発明の一実施形態による、テーブル中の値のグラフ表示である。
【図７】本発明の一実施形態によるリンクのブロック図である。
【図８】本発明の一実施形態によるリンクされたリストのブロック図である。
【図９】本発明の一実施形態によるアドレスデータの表である。
【図１０】本発明の一実施形態による、レベルとノードを含むグラフ表示である。
【図１１】本発明の一実施形態による、トークン付きのアドレスデータの表である。
【図１２】本発明の一実施形態によるマッチングモジュールのフローチャートである。
【図１３】本発明の一実施形態による別名データの表である。
【図１】
2007535009.tif 000015
【図２】
2007535009.tif 000016
【図３】
2007535009.tif 000017
【図４】
2007535009.tif 000018
【図５】
2007535009.tif 000019
【図６】
2007535009.tif 000020
【図７】
2007535009.tif 000021
【図８】
2007535009.tif 000022
【図９】
2007535009.tif 000023
【図１０】
2007535009.tif 000024
【図１１】
2007535009.tif 000025
【図１２】
2007535009.tif 000026
【図１３】
2007535009.tif 000027
【手続補正書】
【提出日】平成17年4月11日(2005.4.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理するシステムにおいて、
データ超集合（３０）を形成するように動作可能に接続された複数のリレーショナルデータベース（３１〜３５）であり、前記リレーショナルデータベース（３１〜３５）の各々が前記データを記憶する１つ以上のテーブルを含み、前記１つ以上のテーブルの各々が共通のデータ構造を共有する、前記複数のリレーショナルデータベースと、
主観的表現（８０）を捕獲してそれを前記リレーショナルデータベース（３１〜３５）の内の第１のリレーショナルデータベース中に記憶し、
前記リレーショナルデータベース（３１〜３５）の内の第２のリレーショナルデータベース中にソースデータを記憶し、前記ソースデータが前記主観的表現（８０）に類似したタイプの一般的表現を含み、
前記主観的表現（８０）を前記ソースデータと比較することによって前記ソースデータの内から１つ以上の候補表現を突き止め、
前記１つ以上の候補表現から優先表現（９０）を選択し、前記優先表現（９０）は前記主観的表現に最も類似している、
ように構成された１つ以上のコンピュータプログラムモジュール（５００）と、
を備えることを特徴とするデータベース管理システム（１１０）。
【請求項２】
前記１つ以上のコンピュータプログラムモジュール（５００）が、前記１つ以上のテーブルを疎行列リンクされたリストとして記憶するようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項３】
前記１つ以上のコンピュータプログラムモジュール（５００）が、前記１つ以上のテーブルを疎行列リンクされたリストに変換するようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項４】
前記主観的表現（８０）がアドレスを記述し、前記ソースデータがアドレスレコードを含む請求項１に記載のデータベース管理システム（１１０）。
【請求項５】
前記１つ以上のコンピュータプログラムモジュール（５００）が、
前記優先表現（９０）に優先トークン（７０）を割り当て、
前記優先トークン（７０）を、それが前記１つ以上の候補表現の内のいずれかの中に存在すれば認識する、
ようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項６】
前記１つ以上のテーブルの各々が複数のレコードを含み、前記１つ以上のコンピュータプログラムモジュール（５００）が、
前記レコードに記憶されている前記データの値に基づいて、一般的レベルから特定的レベルへと構成される１連のレベルで階層的順序で前記レコードを配置し、
前記テーブルの内の１つ以上を疎行列リンクされたリストに変換する、
ようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項７】
ローカルサーバコンピュータ（５１０、２００）と１つ以上の判明なクライアントコンピュータ（６５５、２５５）を備えるシステムにおいて、前記１つ以上のコンピュータプログラムモジュール（５００）が、前記疎行列リンクされたリストの複製を前記ローカルサーバコンピュータ（５１０、２００）から前記１つ以上の判明なクライアントコンピュータ（６５５、２５５）に配布するようにさらに構成される、請求項６に記載のデータベース管理システム（１１０）。
【請求項８】
前記１つ以上のコンピュータプログラムモジュール（５００）が、
（ａ）前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析し、
（ｂ）（１）前記１つの離散的アーチファクトを前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補アーチファクトを突き止め、
（２）前記１つ以上の候補アーチファクトの中から優先アーチファクトを選択し、前記優先アーチファクトは前記１つの離散的アーチファクトに最も類似していて、
（３）前記優先アーチファクトを記憶して、
前記１つ以上の離散的アーチファクトの内から１つを選択し、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返し、
（ｄ）前記優先アーチファクトを組み合わせて優先表現を形成する、
ようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項９】
前記１つ以上のコンピュータプログラムモジュール（５００）が、前記リレーショナルデータベース（３１〜３５）の内の３番目のリレーショナルデータベースに標準化データを記憶するように構成され、前記標準化データが前記１つ以上の離散的アーチファクトの１つ以上の標準化された表現を含む請求項８に記載のデータベース管理システム（１１０）。
【請求項１０】
前記１つ以上のコンピュータプログラムモジュール（５００）が、
前記リレーショナルデータベース（３１〜３５）の内の４番目のテーブルに別名データを記憶し、
前記別名データを見直して、優先別名表現を含む１つ以上の選択別名レコードを特定し、
優先別名トークンを前記１つ以上の選択別名レコードに付加し、
前記主観的表現（８０）を前記別名データと比較することによって前記別名データの中から１つ以上の候補別名を突き止め、
前記１つ以上の候補別名から優先別名を選択するステップであり、前記優先別名は前記優先別名トークンに最も緊密に関連している、
ようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項１１】
前記１つ以上のコンピュータプログラムモジュール（５００）が、
（ａ）前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析し、
（ｂ）（１）前記１つの離散的アーチファクトを前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補別名アーチファクトを突き止め、
（２）前記１つ以上の候補別名アーチファクトの中から優先別名アーチファクトを選択し、前記優先別名アーチファクトは前記優先別名トークンに最も緊密に関連しており、
（３）前記優先別名アーチファクトを記憶して、
前記１つ以上の離散的アーチファクトの内から１つを選択し、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返し、
（ｄ）前記優先別名アーチファクトを組み合わせて前記１つ以上の候補表現の内の１つを形成する、
するようにさらに構成される請求項１０に記載のデータベース管理システム（１１０）。
【請求項１２】
前記１つ以上のコンピュータプログラムモジュール（５００）が、
前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析し、
前記リレーショナルデータベース（３１〜３５）の内の３番目のリレーショナルデータベースに標準化データを記憶し、前記標準化データが前記１つ以上の離散的アーチファクトの１つ以上の標準化された表現を含み、
前記リレーショナルデータベース（３１〜３５）の内の４番目のリレーショナルデータベースに別名データを記憶し、前記別名データが前記１つ以上の離散的アーチファクトの複数の等価表現を含む、
ようにさらに構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項１３】
１つ以上の外部アプリケーションをさらに備えるシステムにおいて、前記データベース管理システム（１１０）が、前記１つ以上のコンピュータプログラムモジュール（５００）と前記１つ以上の外部アプリケーション間の対話を統御するように構成されたアプリケーションインタフェース（６００）をさらに備える請求項１に記載のデータベース管理システム（１１０）。
【請求項１４】
１つ以上の外部アプリケーションをさらに備えるシステムにおいて、前記１つ以上のコンピュータプログラムモジュール（５００）が、
各々が前記１つ以上の外部アプリケーションの内の１つと相関している複数のルール集合を記憶し、
第１の外部アプリケーションから要求を受信し、
前記第１の外部アプリケーションと相関している第１のルール集合を検索し、
前記第１のルール集合を適用して、前記第１の外部アプリケーションと前記１つ以上のコンピュータプログラムモジュール（５００）間の対話を制御する、
ように構成される請求項１に記載のデータベース管理システム（１１０）。
【請求項１５】
前記第１のルール集合が、前記第１の外部アプリケーションによって用いられる前記リレーショナルデータベース（３１〜３５）の前記超集合（３０）から捕獲されるように利用可能なデータのリストを含む請求項ＰＤに記載のデータベース管理システム（１１０）。
【請求項１６】
データを処理するシステムにおいて、１つ以上のデータベースを用いて主観的表現（８０）を処理する方法において、前記方法が、
データ超集合（３０）を形成するように動作可能に接続された複数のリレーショナルデータベース（３１〜３５）を提供するステップであり、前記リレーショナルデータベース（３１〜３５）の各々が前記データを記憶する１つ以上のテーブルを含み、前記１つ以上のテーブルの各々が共通のデータ構造を共有する、前記ステップと、
主観的表現（８０）を捕獲（３００）してそれを前記リレーショナルデータベース（３１〜３５）の内の第１のリレーショナルデータベース中に記憶するステップと、
前記リレーショナルデータベース（３１〜３５）の内の第２のリレーショナルデータベース中にソースデータを記憶するステップであり、前記ソースデータが前記主観的表現（８０）に類似したタイプの一般的表現を含む前記ステップと、
前記主観的表現（８０）を前記ソースデータと比較することによって前記ソースデータの内から１つ以上の候補表現を突き止めるステップと、
前記１つ以上の候補表現から優先表現（９０）を選択するステップであり、前記優先表現（９０）は前記主観的表現（８０）に最も類似している前記ステップと、
を含むことを特徴とする方法。
【請求項１７】
前記１つ以上のテーブルを疎行列リンクされたリストとして記憶するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記１つ以上のテーブルを疎行列リンクされたリストに変換するステップをさらに含む請求項１６に記載の方法。
【請求項１９】
前記主観的表現（８０）がアドレスを記述し、前記ソースデータがアドレスレコードを含む請求項１６に記載の方法。
【請求項２０】
前記優先表現（９０）に優先トークン（７０）を割り当てるステップと、
前記優先トークン（７０）を、それが前記１つ以上の候補表現の内のいずれかの中に存在すれば認識するステップと、
をさらに含む請求項１６に記載の方法。
【請求項２１】
前記１つ以上のテーブルの各々が複数のレコードを含み、前記方法が、
前記レコードに記憶されている前記データの値に基づいて、一般的レベルから特定的レベルへと構成される１連のレベルで階層的順序で前記レコードを配置するステップと、
前記テーブルの内の１つ以上を疎行列リンクされたリストに変換するステップと、
をさらに含む請求項１６に記載の方法。
【請求項２２】
ローカルサーバコンピュータ（５１０、２００）と１つ以上の判明なクライアントコンピュータ（６５５、２５５）を備えるシステムにおいて、前記方法が、前記疎行列リンクされたリストの複製を前記ローカルサーバコンピュータ（５１０、２００）から前記１つ以上の判明なクライアントコンピュータ（６５５、２５５）に配布するステップをさらに含む請求項２１に記載の方法。
【請求項２３】
（ａ）前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析する（３０５）ステップと、
（ｂ）（１）前記１つの離散的アーチファクトを前記ソースデータと比較することによって前記ソースデータの中から１つ以上の候補アーチファクトを突き止め、
（２）前記１つ以上の候補アーチファクトの中から優先アーチファクトを選択し、前記優先アーチファクトは前記１つの離散的アーチファクトに最も類似していて、
（３）前記優先アーチファクトを記憶して、
前記１つ以上の離散的アーチファクトの内から１つを選択するステップと、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、
（ｄ）前記優先アーチファクトを組み合わせて優先表現を形成するステップと、
をさらに含む請求項１６に記載の方法。
【請求項２４】
前記リレーショナルデータベース（３１〜３５）の内の３番目のリレーショナルデータベースに標準化データを記憶するステップであり、前記標準化データが前記１つ以上の離散的アーチファクトの１つ以上の標準化された表現を含む前記ステップをさらに含む請求項２３に記載の方法。
【請求項２５】
前記リレーショナルデータベース（３１〜３５）の内の４番目のテーブルに別名データを記憶するステップと、
前記別名データを見直して、優先別名表現を含む１つ以上の選択別名レコードを特定するステップと、
優先別名トークンを前記１つ以上の選択別名レコードに付加するステップと、
前記主観的表現（８０）を前記別名データと比較することによって前記別名データの中から１つ以上の候補別名を突き止めるステップと、
前記１つ以上の候補別名から優先別名を選択するステップであり、前記優先別名は前記優先別名トークンに最も緊密に関連している前記ステップと、
をさらに含む請求項１６に記載の方法。
【請求項２６】
（ａ）前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析する（３０５）ステップと、
（ｂ）（１）前記１つの離散的アーチファクトを前記別名データと比較することによって前記ソースデータの中から１つ以上の候補別名アーチファクトを突き止め、
（２）前記１つ以上の候補別名アーチファクトの中から優先別名アーチファクトを選択し、前記優先別名アーチファクトは前記優先別名トークンに最も緊密に関連しており、
（３）前記優先別名アーチファクトを記憶して、
前記１つ以上の離散的アーチファクトの内から１つを選択するステップと、
（ｃ）前記１つ以上の離散的アーチファクトの各々に対してステップ（ｂ）を繰り返すステップと、
（ｄ）前記優先別名アーチファクトを組み合わせて前記１つ以上の候補表現の内の１つを形成するステップと、
をさらに含む請求項２５に記載の方法。
【請求項２７】
前記主観的表現（８０）を１つ以上の離散的アーチファクトに解析する（３０５）ステップと、
前記リレーショナルデータベース（３１〜３５）の内の３番目のリレーショナルデータベースに標準化データを記憶するステップであり、前記標準化データが前記１つ以上の離散的アーチファクトの１つ以上の標準化された表現を含む前記ステップと、
前記リレーショナルデータベース（３１〜３５）の内の４番目のリレーショナルデータベースに別名データを記憶するステップであり、前記別名データが前記１つ以上の離散的アーチファクトの複数の等価表現を含む前記ステップと、
をさらに含む請求項１６に記載の方法。
【請求項２８】
１つ以上の外部アプリケーションをさらに備えるシステムにおいて、前記方法が、前記１つ以上のコンピュータプログラムモジュール（５００）と前記１つ以上の外部アプリケーション間の対話を統御するように構成されたアプリケーションインタフェース（６００）を提供するステップをさらに含む請求項１６に記載の方法。
【請求項２９】
１つ以上の外部アプリケーションをさらに備えるシステムにおいて、前記方法が、
各々が前記１つ以上の外部アプリケーションの内の１つと相関している複数のルール集合を記憶するステップと、
第１の外部アプリケーションから要求を受信するステップと、
前記第１の外部アプリケーションと相関している第１のルール集合を検索するステップと、
前記第１のルール集合を適用して、前記第１の外部アプリケーションと前記１つ以上のコンピュータプログラムモジュール（５００）間の対話を制御するステップと、
をさらに含む請求項１６に記載の方法。
【請求項３０】
前記第１のルール集合が、前記第１の外部アプリケーションによって用いられる前記リレーショナルデータベース（３１〜３５）の前記超集合（３０）から捕獲されるように利用可能なデータのリストを含む請求項２９に記載の方法。
【国際調査報告】
2007535009.tif 000028
2007535009.tif 000029
2007535009.tif 000030