(57)【要約】      （修正有）【課題】データベースにおけるデータ処理方法を提供する。【解決手段】クエリ要求はソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、ソースＩＰアドレスはＮ個のセクションを含み、宛先ＩＰアドレスはＭ個のセクションを含み、またデータベースのインデックスのエンコード法を判断するステップであって、インデックスはＮ＋Ｍ個のセクションを含む１次元インデックスであり、エンコード法はインデックスの様々なセクションの変化順序を指定し、候補クエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、連続したデータ・レコードが、インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であるステップと、エンコード法に従って、データ・レコードのインデックスを設定するステップとを含む。【選択図】図２
2014010828.tif 000002
【特許請求の範囲】
【請求項１】
データベースのデータ処理方法であって、前記データベース内のデータ・レコードのクエリ要求が、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、前記ソースＩＰアドレスは、Ｎ個のセクションを含み、前記宛先ＩＰアドレスは、Ｍ個のセクションを含み、ＭおよびＮは、どちらも正の整数であり、前記方法は、
前記データベースのインデックスのエンコード法を判断するステップであって、前記インデックスは、Ｎ＋Ｍ個のセクションを含む１次元インデックスであり、前記エンコード法は、前記インデックスの様々なセクションの変化順序を指定し、連続したデータ・レコードが、前記インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、前記候補クエリ要求に含まれる前記情報によって示される前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記ステップと、
前記エンコード法に従って、前記データ・レコードの前記インデックスを設定するステップと、
を含む方法。
【請求項２】
前記エンコード法は、すべての前記候補クエリ要求をカバーすることができ、クエリ要求に含まれる前記情報によって示される前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスが、ワイルドカード文字を有するセクションを全体でＡ個有する場合であって、かつ、ワイルドカード文字を含む前記Ａ個のセクションが、或るエンコード法でエンコードされた前記インデックスにおいて最初に変化するＡ個のセクションに対応する場合、前記クエリ要求は、前記エンコード法によってカバーされる、請求項１に記載の方法。
【請求項３】
前記データベースの前記インデックスのエンコード法を判断するステップは、
すべての候補クエリ要求を分類するステップであって、同じクラス内のクエリ要求に関して、或るクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレス内に、ワイルドカード文字を含むセクションが全体でＢ個ある場合、前記クラス内のほかのクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスは、対応する前記Ｂ個のセクションに含まれたワイルドカード文字を有する、前記ステップと、
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの数を判断するステップであって、前記相互排他的セット内の任意の２つのクラスのクエリ要求に関して、前記２つのクラスのクエリ要求は、１つのエンコード法ではカバーすることができない、前記ステップと、
Ｘ種類のエンコード法を判断するステップであって、Ｘは、前記最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの前記数である、前記ステップと、
を含む、請求項２に記載の方法。
【請求項４】
Ｘ種類のエンコード法を判断するステップは、
すべての候補エンコード法を含むエンコード法のセットから、Ｘ種類のエンコード法を選択するステップと、
前記選択されたＸ種類のエンコード法が、すべての候補クエリ要求をカバーすることができることを条件に、前記Ｘ種類のエンコード法を、最終的に判断された前記エンコード法として判断するステップと、
を含む、請求項３に記載の方法。
【請求項５】
前記方法は、すべての前記候補クエリ要求を分類するステップの後、
すべての前記候補クエリ要求がＳ個のクラスに分類される場合に（Ｐ＋１）×（Ｑ＋１）行列内のＳ個の要素それぞれがクエリ要求のクラスを表す、前記行列を取得するステップであって、ＰおよびＱのうちの一方は、任意の候補クエリ要求に関して、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表し、他方は、任意の候補クエリ要求に関して、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表す、前記ステップ
をさらに含み、
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を判断するステップは、
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するステップ
を含み、
前記行列内の要素によって表されるクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスは、以下のルール：
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
のうちの１つを満たす、請求項３に記載の方法。
【請求項６】
Ｘ種類のエンコード法を判断するステップは、前記行列に従って前記Ｘ種類のエンコード法を判断するステップを含む、請求項５に記載の方法。
【請求項７】
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するステップは、
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列内の前記要素間の位置関係に従って判断するステップ
を含む、請求項５に記載の方法。
【請求項８】
前記行列に従ってＸ種類のエンコード法を判断するステップは、
前記行列内の要素によって構成される経路に従って前記Ｘ種類のエンコード法を判断するステップ
を含む、請求項６に記載の方法。
【請求項９】
前記方法は、前記候補クエリ要求の範囲を指定する命令を受信するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含むクエリ要求を受信するステップであって、前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも１つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記ステップと、
前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するステップと、
連続したデータ・レコードをクエリ結果として取得するために、１次元インデックスを有するデータベース内を、前記線形化されたＩＰアドレスに従って検索するステップであって、前記データベース内の前記データ・レコードは、請求項１〜９のいずれかに記載の方法に従ってインデックスを付けられている、前記ステップと、
を含むデータ・クエリ方法。
【請求項１１】
前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するステップは、前記データベースのインデックスのエンコード法それぞれに従って前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するステップは、前記クエリ要求をカバーするインデックスのエンコード法を判断するステップと、前記エンコード法に従って前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するステップとを含む、請求項１０に記載の方法。
【請求項１３】
データベースにおけるデータ処理のためのデバイスであって、前記データベース内のデータ・レコードのクエリ要求が、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、前記ソースＩＰアドレスは、Ｎ個のセクションを含み、前記宛先ＩＰアドレスは、Ｍ個のセクションを含み、ＭおよびＮは、どちらも正の整数であり、前記デバイスは、
前記データベースのインデックスのエンコード法を判断するよう構成されたエンコード・モジュールであって、前記インデックスは、Ｎ＋Ｍ個のセクションを含む１次元インデックスであり、前記エンコード法は、前記インデックスの様々なセクションの変化順序を指定し、連続したデータ・レコードが、前記インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、前記候補クエリ要求に含まれる前記情報によって示される前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記エンコード・モジュールと、
前記エンコード法に従って、前記データ・レコードの前記インデックスを設定するよう構成されたインデックス・モジュールと、
を含む、デバイス。
【請求項１４】
前記エンコード法は、すべての前記候補クエリ要求をカバーでき、クエリ要求に含まれる前記情報によって示される前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスが、ワイルドカード文字を含むセクションを全体でＡ個有する場合であって、かつ、ワイルドカード文字を含む前記Ａ個のセクションが、或るエンコード法でエンコードされた前記インデックスにおいて最初に変化するＡ個のセクションに対応する場合、前記クエリ要求は、前記エンコード法によってカバーされる、請求項１３に記載のデバイス。
【請求項１５】
前記エンコード・モジュールは、
すべての前記候補クエリ要求を分類するよう構成された分類サブモジュールであって、同じクラス内のクエリ要求に関して、或るクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレス内に、ワイルドカード文字を含むセクションが全体でＢ個ある場合、前記クラス内のほかのクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスは、対応する前記Ｂ個のセクションに含まれたワイルドカード文字を有する、前記分類サブモジュールと、
最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの数を判断するよう構成された排他サブモジュールであって、前記相互排他的セット内の任意の２つのクラスのクエリ要求に関して、前記２つのクラスのクエリ要求は、任意の１つのエンコード法ではカバーすることができない、排他サブモジュールと、
Ｘ種類のエンコード法を判断するよう構成された判断サブモジュールであって、Ｘは、前記最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの前記数である、前記判断サブモジュールと、
を含む、請求項１４に記載のデバイス。
【請求項１６】
前記エンコード・モジュールは、すべての前記候補クエリ要求がＳ個のクラスに分類される場合に（Ｐ＋１）×（Ｑ＋１）行列内のＳ個の要素それぞれがクエリ要求のクラスを表す、前記行列を得るよう構成された行列サブモジュールをさらに含み、ＰおよびＱのうちの一方は、任意の候補クエリ要求に関して、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表し、他方は、任意の候補クエリ要求に関して、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表し、
前記排他サブモジュールは、最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するようさらに構成されており、
前記判断サブモジュールは、前記行列に従って、Ｘ種類のエンコード法を判断するよう構成されており、
前記行列内の要素によって表されるクエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスは、以下のルール：
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
前記宛先ＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースＩＰアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する；
のうちの１つを満たす、請求項１５に記載のデバイス。
【請求項１７】
前記排他サブモジュールは、最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列内の要素間の位置関係に従って判断するよう特に構成されており、
前記判断サブモジュールは、前記行列内の要素によって構成される経路に従って、前記Ｘ種類のエンコード法を判断するよう特に構成されている、請求項１６に記載のデバイス。
【請求項１８】
前記デバイスは、
前記候補クエリ要求の範囲を指定する命令を受信するよう構成された受信モジュール
をさらに含む、請求項１３に記載のデバイス。
【請求項１９】
ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含むクエリ要求を受信するよう構成された受信モジュールであって、前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも１つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記受信モジュールと、
前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスを線形化するよう構成された線形化モジュールと、
連続したデータ・レコードをクエリ結果として取得するために、１次元インデックスを有するデータベース内を、前記線形化されたＩＰアドレスに従って検索するよう構成された検索モジュールであって、前記データベース内の前記データ・レコードは、請求項１〜９のいずれかに記載の方法に従ってインデックスを付けられている、前記検索モジュールと、
を含むデータ・クエリ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース技術の分野に関し、特に、データベースにおけるデータ処理方法、データ・クエリ方法、および対応するデバイスに関する。
【背景技術】
【０００２】
現代社会の継続的な発展とともに、ネットワークの用途はますます広がり、ネットワーク上で伝送されるデータの量はますます増大してきた。こうしたデータは、一般的に、処理および活用のためにデータベースに記憶される。例えばネットワーク・データは、ユーザ行動分析、ネットワーク測定、最適化および監査のためにデータベースに記憶され得る。
【０００３】
したがって、ネットワーク・データが大量であること、およびそれが頻繁に変化することが原因で、大容量かつ拡張可能なデータベースがデータ記憶に要求されている。同時に、データベースにクエリを実行する様々な用途に関して、大容量データベースに対する高速クエリが非常に重要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術におけるリレーショナル・データベースに対するクエリは、便利で高速であるが、拡張性が乏しい。従来技術におけるＮｏＳＱＬデータベースは、容易な拡張を特徴とする非リレーショナル・データベースであり、これらには１次元インデックスのみが提供されるため、多次元クエリ、特に多次元範囲クエリの場合は処理性能が不十分で、クエリ結果に関するフィードバックが遅くなる。しかし、多くの用途で、ソースＩＰアドレスおよび宛先ＩＰアドレスの２次元クエリが行われ、多くの場合は２次元範囲クエリが行われる。そうした要求を従来技術で満たすのは困難である。
【課題を解決するための手段】
【０００５】
拡張およびクエリを行うのが容易なデータベースのソリューションを提供するために、データベースにおけるデータ処理方法、データ・クエリ方法、および対応するデバイスが本発明において提供される。
【０００６】
本発明の側面によれば、データベースにおけるデータ処理方法であって、データベース内のデータ・レコードのクエリが、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、ソースＩＰアドレスは、Ｎ個のセクションを含み、宛先ＩＰアドレスは、Ｍ個のセクションを含み、ＭおよびＮは、どちらも正の整数である、方法が提供され、本方法は、データベースのインデックスのエンコード法（ｅｎｃｏｄｉｎｇ  ｍａｎｎｅｒ）を判断するステップであって、インデックスは、Ｎ＋Ｍ個のセクションを含む１次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化順序（ｖａｒｉａｔｉｏｎ  ｓｅｑｕｅｎｃｅ）を指定する、ステップと、エンコード法に従って、データ・レコードのインデックスを設定するステップであって、連続したデータ・レコードが、インデックスに従って任意の候補クエリ要求（ｐｏｓｓｉｂｌｅ  ｑｕｅｒｙ  ｒｅｑｕｅｓｔ）に対しクエリ結果として取得可能であり、候補クエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、ステップとを含む。
【０００７】
本発明の別の側面によれば、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含むクエリ要求を受信するステップであって、ソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも１つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、ステップと、ソースＩＰアドレスおよび宛先ＩＰアドレスを線形化するステップと、連続したデータ・レコードをクエリ結果として取得するために、１次元インデックスを有するデータベース内を、線形化されたＩＰアドレスに従って検索するステップであって、データベース内のデータ・レコードは、上記のデータ処理方法に従ってインデックスを付けられている、ステップとを含むデータ・クエリ方法が提供される。
【０００８】
本発明のさらに別の側面によれば、データベースにおけるデータ処理のためのデバイスであって、データベース内のデータ・レコードのクエリ要求が、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、ソースＩＰアドレスは、Ｎ個のセクションを含み、宛先ＩＰアドレスは、Ｍ個のセクションを含み、ＭおよびＮは、どちらも正の整数である、デバイスが提供され、このデバイスは、データベースのインデックスのエンコード法を判断するよう構成されたエンコード・モジュールであって、インデックスは、Ｎ＋Ｍ個のセクションを含む１次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化順序を指定する、エンコード・モジュールと、エンコード法に従って、データ・レコードのインデックスを設定するよう構成されたインデックス・モジュールであって、連続したデータ・レコードが、インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、候補クエリ要求に含まれる情報によって示されるソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、インデックス・モジュールとを含む。
【０００９】
本発明のさらに別の側面によれば、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含むクエリ要求を受信するよう構成された受信モジュールであって、ソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも１つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、受信モジュールと、ソースＩＰアドレスおよび宛先ＩＰアドレスを線形化するよう構成された線形化モジュールと、連続したデータ・レコードをクエリ結果として取得するために、１次元インデックスを有するデータベース内を、線形化されたＩＰアドレスに従って検索するよう構成された検索モジュールであって、データベース内のデータ・レコードは、上記のデータ処理方法に従ってインデックスを付けられている、検索モジュールとを含むデータ・クエリ・デバイスが提供される。
【００１０】
本発明において提供される技術的ソリューションは、拡張およびクエリを行うのが容易なデータベースを実現でき、ネットワーク・データの記憶、活用および利用を便利にする。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態を実装するのに適切な例示のコンピュータ・システム１００である。
【図２】本発明の実施形態による、データベースにおけるデータ処理方法の概略フローチャートである。
【図３】本発明の実施形態による、行列の例である。
【図４】本発明の実施形態による、行列の別の例である。
【図５】本発明の実施形態による、データ・クエリ方法の概略フローチャートである。
【図６】本発明の実施形態による、データベースにおけるデータ処理のためのデバイスの概略構造である。
【図７】本発明の実施形態による、データ・クエリ・デバイスの概略構造である。
【図８】本発明の実施形態による、インデックス法の例である。
【発明を実施するための形態】
【００１２】
添付の図面にある本開示のいくつかの実施形態について、さらに詳細に説明することによって、本開示の上記およびその他の目的、特徴ならびに利点がいっそう明白となる。同じ参照符号は、概して本開示の実施形態における同じコンポーネントを指す。
【００１３】
本開示の好ましい実施形態が示されている添付の図面を参照しながら、いくつかの好ましい実施形態についてさらに詳細に記載する。ただし、本開示は、様々な形で実装することができ、そのため、本願明細書で開示される実施形態に限定されると解釈されてはならない。反対に、それらの実施形態は、本開示が全体的に十分理解されるよう、かつ当業者に本開示の範囲を十分に伝えるよう提供されている。
【００１４】
図１は、本発明の実施形態を実装するのに適切な例示のコンピュータ・システム１００である。図１に示されているように、コンピュータ・システム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓ  Ｕｎｉｔ：中央処理ユニット）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ランダム・アクセス・メモリ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読み取り専用メモリ）１０３、システム・バス１０４、ハード・ドライブ・コントローラ１０５、キーボード・コントローラ１０６、シリアル・インターフェース・コントローラ１０７、パラレル・インターフェース・コントローラ１０８、ディスプレイ・コントローラ１０９、ハード・ドライブ１１０、キーボード１１１、シリアル周辺機器１１２、パラレル周辺機器１１３およびディスプレイ１１４を含むとよい。上記デバイスの中で、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ハード・ドライブ・コントローラ１０５、キーボード・コントローラ１０６、シリアル・インターフェース・コントローラ１０７、パラレル・インターフェース・コントローラ１０８およびディスプレイ・コントローラ１０９は、システム・バス１０４に結合されている。ハード・ドライブ１１０は、ハード・ドライブ・コントローラ１０５に結合されている。キーボード１１１は、キーボード・コントローラ１０６に結合されている。シリアル周辺機器１１２は、シリアル・インターフェース・コントローラ１０７に結合されている。パラレル周辺機器１１３は、パラレル・インターフェース・コントローラ１０８に結合されている。さらに、ディスプレイ１１４は、ディスプレイ・コントローラ１０９に結合されている。当然のことながら、図１に示されている構造は、本発明に対する限定ではなく、例示のみを目的としている。場合によっては、特有の状況に基づき、いくつかのデバイスが、コンピュータ・システム１００に追加されても、コンピュータ・システム１００から除去されてもよい。
【００１５】
当業者であれば当然のことであるが、本発明の各側面は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の各側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）または本願明細書においてすべて概して「回路」、「モジュール」もしくは「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明の各側面は、コンピュータ可読プログラム・コードが具現化された１つ以上のコンピュータ可読媒体（単数または複数）において具現化された、コンピュータ・プログラム製品の形態をとることもできる。
【００１６】
１つ以上のコンピュータ可読媒体（単数または複数）の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とされ得る。コンピュータ可読記憶媒体は、例えば、限定はされないが、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム、装置もしくはデバイス、または前述のものの任意の適切な組み合わせとされ得る。コンピュータ可読記憶媒体のより具体的な例（包括的でないリスト）には、１つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）もしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光学式記憶デバイス、磁気記憶デバイスまたは前述のものの任意の適切な組み合わせが含まれるであろう。この文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムを含むことまたは記憶することができる任意の有形の媒体とされ得る。
【００１７】
コンピュータ可読信号媒体は、例えば、ベースバンドに、または搬送波の一部としてコンピュータ可読プログラム・コードが具現化された、伝搬データ信号を含み得る。そのような伝搬信号は、電磁気、光学またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、かつ命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムの伝達、伝搬または搬送をすることができる、任意のコンピュータ可読媒体としてよい。
【００１８】
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して伝送されてもよい。
【００１９】
本発明の側面の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続きプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されることも、または完全にリモート・コンピュータもしくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または（例えばインターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続されてもよい。
【００２０】
本発明の側面について、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して以下に記載する。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装可能である。マシンを生じるよう、こうしたコンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータまたはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装する手段を作り出すようにすることもできる。
【００２１】
さらに、特定の形で機能するようコンピュータ、その他のプログラム可能データ処理装置またはその他のデバイスに指示することができるこうしたコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶されて、コンピュータ可読媒体に記憶されたこの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装する命令を含む製品を生じるようにすることもできる。
【００２２】
さらに、コンピュータ・プログラム命令は、コンピュータ、その他のプログラム可能データ処理装置またはその他のデバイスにロードされて、コンピュータ、その他のプログラム可能装置またはその他デバイス上で一連の動作ステップが実行されるようにしてコンピュータで実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装するためのプロセスを提供するようにすることもできる。
【００２３】
図２を参照する。図２は、本発明の実施形態による、データベースにおけるデータ処理方法であり、ステップ２１０にて、データベースのインデックスのエンコード法を判断するステップと、ステップ２２０にて、エンコード法に従ってデータベース内のデータ・レコードにインデックスを付けるステップとを含む。
【００２４】
この実施形態では、データベース内のデータ・レコードのクエリ要求は、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報、つまり２次元クエリ要求を含むとよい。ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報は、例えば、ソースＩＰアドレスの範囲および宛先ＩＰアドレスの範囲を表す特殊記号である。記載の便宜上、説明のための例として、この実施形態および以降の各実施形態において、ソースＩＰアドレスおよび宛先ＩＰアドレスは、クエリ要求に直接含まれ、ソースＩＰアドレスは、Ｎ個のセクションを有し、宛先ＩＰアドレスは、Ｍ個のセクションを有し、ＮおよびＭは、正の整数である。例えば、ＩＰｖ６アドレスに関しては、ソースＩＰアドレスおよび宛先ＩＰアドレスのそれぞれが８つのセクションを有し、ＩＰｖ４アドレスに関しては、ソースＩＰアドレスおよび宛先ＩＰアドレスのそれぞれが４つのセクションを有する。この実施形態および以降の各実施形態では、記載の便宜上、ＩＰｖ４のソースおよび宛先ＩＰアドレスを例にとって記載する。この実施形態では、候補クエリ要求のソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも１つ含み、ワイルドカード文字は、値の許容範囲内の任意値を表す。同じくＩＰｖ４を例にとると、ワイルドカード文字＊は、０〜２５５の任意値を表す。
【００２５】
ステップ２１０にて、インデックスは、Ｎ＋Ｍ個のセクションを有する１次元インデックスであり、エンコード法は、インデックス内の様々なセクションの変化順序の指定を含む。例えば、インデックスは、８つのセクションＡ、Ｂ、Ｃ、Ｄ、ａ、ｂ、ｃ、ｄを含み、エンコード法は、最後のセクションから最初のセクションへ順に、またはその他の順序で変化を定義することができる。この実施形態において、データベースは１次元インデックスのみを有するよう限定はされず、本発明で提供される方法は、多次元インデックスを備えるデータベースに対しても適用可能である。すなわち、インデックスは複数の次元のうちの１つであり、この１次元インデックスに基づき検索が実行される。この実施形態のインデックスのデータ構造として、特定の形式のポインタまたは直接データ・コピーで、様々な木構造またはハッシュ・リスト構造を採用できる。
【００２６】
各データ・レコードは、ソースＩＰアドレスおよび宛先ＩＰアドレスを含むか、またはソースＩＰアドレスおよび宛先ＩＰアドレスに対応するため、ステップ２２０にて、インデックス内の様々なセクションと、データ・レコード内の対応するソースおよび宛先ＩＰアドレスとの対応関係に従って、データ・レコードのインデックスが設定される。例えば、図８に示されているインデックス法を例にとると、インデックスＡ＿Ｂ＿Ｃ＿Ｄ＿ａ＿ｂ＿ｃ＿ｄは、８つのセクションを含み、Ａ、Ｂ、Ｃ、ＤはそれぞれソースＩＰアドレスの第１〜第４セクションに対応し、ａ、ｂ、ｃ、ｄはそれぞれ宛先ＩＰアドレスの第１〜第４セクションに対応する。そのエンコード法として、インデックスの様々なセクションが、まずＤから、続いて順にｄ、ｃ、ｂ、ａ、Ｃ、Ｂ、Ａと、当該順序に従って変化する。このエンコード法を用いてインデックスを設定すると、ソースＩＰアドレス０．０．０．０および宛先ＩＰアドレス０．０．０．０に対応するデータ・レコードと、ソースＩＰアドレス０．０．０．１および宛先ＩＰアドレス０．０．０．０に対応するデータ・レコードとは、連続したデータ・レコードである。ソースＩＰアドレス０．０．０．２５５および宛先ＩＰアドレス０．０．０．０に対応するデータ・レコードと、ソースＩＰアドレス０．０．０．０および宛先ＩＰアドレス０．０．０．１に対応するデータ・レコードとは、連続したデータ・レコードである。この実施形態およびその他実施形態では、記載の便宜上、エンコード法は、Ｍ＋Ｎ個のセクションが後方から前方へと変化するものとして定義される。例えば、このエンコード法は、ＡＢＣａｂｃｄＤと表現することができる。
【００２７】
この実施形態では、エンコード法を判断し、そのエンコード法に従ってインデックスを設定することによって、そのインデックスを用いて、任意の候補クエリ要求が、そのクエリ結果として連続したデータ・レコードを取得することができる。インデックスは１次元インデックスであるため、対応するデータベースの拡張は容易である。さらに、任意の候補クエリ要求は、そのクエリ結果として連続したデータ・レコードを得ることができるため、まず複数のデータ・ブロックを得た後それらのデータ・ブロックから対応するデータ・レコードを発見するということをせずに、対応するデータベース・クエリへのより高速な応答を実現することができる。
【００２８】
別の実施形態では、ステップ２１０にて判断されるエンコード法は、例えば、すべての候補クエリ要求をカバーすることができる。クエリ要求のソースおよび宛先ＩＰアドレス内に、ワイルドカード文字を含むセクションが合計Ｗ個あり、ワイルドカード文字を含むそれらＷ個のセクションに、エンコード法１に従ってエンコードされたインデックスにおいて最初に変化するＷ個のセクションが対応すれば、クエリ要求は、エンコード法１によってカバーされる。例えば、クエリ要求のソースＩＰがＡ．Ｂ．＊．＊であり、宛先ＩＰがａ．ｂ．ｃ．＊である場合、エンコード法がＡＢａｂｃｄＣＤであれば、そのようなエンコード法でエンコードされたインデックスにおいて最初に変化する３つのセクションは、ＤＣｄであり、ソースＩＰ内でワイルドカード文字を含む２つのセクション、および宛先ＩＰ内でワイルドカード文字を含むセクションに対応し、クエリ要求は、エンコード法ＡＢａｂｃｄＣＤによってカバーできる。ソースＩＰアドレスおよび宛先ＩＰアドレスの両方に、ワイルドカード文字を含むセクションが最大で４つあることを前提とすると、５つのエンコード法ａｂｃｄＡＢＣＤ、ＡＢａｂｃｄＣＤ、ＡａｂｃｄＢＣＤ、ＡＢＣａｂｃｄＤおよびＡＢＣＤａｂｃｄで、すべてのクエリ要求をカバーすることができる。この実施形態およびその他実施形態では、記載の便宜上、すべての候補クエリ要求の範囲が、ワイルドカード文字を含むセクションをそれぞれ最大で４つ含むことができるソースＩＰアドレスおよび宛先ＩＰアドレスを有するクエリ要求である場合、その範囲は範囲１と呼ばれる。
【００２９】
別の実施形態では、例えば、ステップ２１０は、すべての候補クエリ要求を分類することと、最大の相互排他的セット（ｍａｘｉｍｕｍ  ｍｕｔｕａｌｌｙ  ｅｘｃｌｕｓｉｖｅ  ｓｅｔ）に含まれるすべての候補クエリ要求のクラスの数を判断することと、Ｘ種類のエンコード法を判断することとを含み、Ｘは、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数である。
【００３０】
すべての候補クエリ要求の分類では、クエリ要求のソースＩＰアドレスおよび宛先ＩＰアドレス内のワイルドカード文字を含むセクションに従って、クエリ要求を分類できる。つまり、同じクラスのクエリ要求の場合、或るクエリ要求のソースおよび宛先ＩＰアドレス内にワイルドカード文字を含むセクションが合計Ｙ個あれば、ほかのクエリ要求もそれぞれ、そのソースおよび宛先ＩＰアドレス内に、ワイルドカード文字を含む対応するＹ個のセクションを含む。例えば、セクション内にワイルドカード文字がないソースＩＰアドレスと、最後のセクションにワイルドカード文字を含む宛先ＩＰアドレスとをそれぞれ含むクエリ要求はすべて、同じクエリ要求クラスに属する。例えば、クエリ要求１が、ソースＩＰアドレス１．２．１０１．＊および宛先ＩＰアドレス２０５．＊．＊．＊を有し、クエリ要求２が、ソースＩＰアドレス１００．２．５．＊および宛先ＩＰアドレス１．＊．＊．＊を有するとすると、クエリ要求１および２は、Ａ．Ｂ．Ｃ．＊．ａ．＊．＊．＊と表すことができる同じクエリ要求クラスに属する。
【００３１】
相互排他的セットは、少なくとも２つのクエリ要求クラスから成り、いずれのエンコード法も、同じ相互排他的セット内の当該クエリ要求クラスのうちの任意の２つを、同時にカバーすることはできない。例えば、Ａ．Ｂ．Ｃ．Ｄ．＊．＊．＊．＊により表されるクエリ要求クラスと、Ａ．Ｂ．Ｃ．＊．ａ．＊．＊．＊により表されるクエリ要求クラスとは、同じ相互排他的セットに属し、これら２つのクエリ要求クラスを同時にカバーするエンコード法を発見することは不可能である。例えば、候補クエリ要求の範囲が範囲１であれば、最大の相互排他的セットは、５つのクエリ要求クラス＊．＊．＊．＊ａ．ｂ．ｃ．ｄ、Ａ．＊．＊．＊ａ．ｂ．ｃ．＊、Ａ．Ｂ．＊．＊ａ．ｂ．＊．＊、Ａ．Ｂ．Ｃ．＊ａ．＊．＊．＊、Ａ．Ｂ．Ｃ．Ｄ＊．＊．＊．＊を含む。これに応じて、すべての候補クエリ要求をカバーするには、５つのエンコード法を判断するだけでよい。
【００３２】
クエリ要求を分類して、最大の相互排他的セットに含まれるすべてのクエリ要求のクラスの数を判断することによって、すべてのクエリ要求をカバーするのにいくつのエンコード法が必要かを判断し、当該のエンコード法を取得し、これらのエンコード法に従ってインデックスのエンコードを実行するのは容易である。したがって、複数のデータ・ブロック内のデータ・レコードを発見せずに、エンコードされたインデックスに従って、すべてのクエリ要求に対し、連続したデータ・レコードをクエリ結果として取得することができ、その結果、クエリ速度を大幅に改善することができる。当業者には当然のことながら、必要なエンコード法をほかの形で判断することももちろん可能である。
【００３３】
別の実施形態では、最大の相互排他的セットは全数法により取得することができる。この実施形態では、Ｘ種類のエンコード法を判断することは、すべての候補エンコード法を含むエンコード法のセットから、Ｘ種類のエンコード法を選択することと、Ｘ個の選択されたエンコード法が、すべての候補クエリ要求をカバーすることができることを条件に、それらＸ種類のエンコード法を、最終的なエンコード法として判断することとを含み、Ｘは、最大の相互排他的セットに含まれるクエリ要求のクラスの数である。すべての候補エンコード法を、全数法により取得して、それらの候補エンコード法からＸ種類のエンコード法を無作為に選択するか、またはルールを用いて選択して、Ｘ種類のエンコード法がすべての候補クエリ要求をカバーできるかどうかを検証することができる。
【００３４】
最大の相互排他的セットの獲得をより容易にするために、本発明の実施形態により、最大の相互排他的セットを行列から取得する方法が提供される。本方法では、（Ｐ＋１）＊（Ｑ＋１）行列を設定することが必要であり、Ｐは、任意の候補クエリ要求のソースＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表し、Ｑは、任意の候補クエリ要求の宛先ＩＰアドレス内でワイルドカード文字を含むセクションの最大の数を表し、ＰおよびＱにより表される対象は、交換可能である。すべての候補要求が、Ｓ個のクラスに分類される場合、（Ｐ＋１）＊（Ｑ＋１）行列内のＳ個の要素それぞれがクエリ要求クラスを表す。行列内の要素は、クエリ要求内のソースＩＰアドレスおよび宛先ＩＰアドレスに対応する要素が、次のルールのうちの１つを満たすように配置される：１）ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する；２）ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する；３）ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する；４）ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する；５）宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する；６）宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する；７）宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する；８）宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、ソースＩＰアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する。
【００３５】
記載の便宜上、行列内の要素は、Ｋｉｊと表され、ｉは、要素が第ｉ行にあることを表し、ｊは、要素が第ｊ列にあることを表し、ｉおよびｊはどちらも１から始まる。
【００３６】
例えば、すべての候補クエリ要求の範囲が範囲１であれば、すべての候補要求は、２４のクラスに分類でき、行列は、図３に示されている当該行列である。右上の要素は、ソースＩＰアドレスおよび宛先ＩＰアドレスにワイルドカード文字を含むセクションがないクエリ要求のクラスを表す。このクエリ要求クラスは、候補クエリ要求の範囲に属さないが、この実施形態で提供される方法はやはり適用可能である。右上の要素を除いて、ほかの２４の各要素は、それぞれ候補クエリ要求のクラスに対応し、当該要素の配列は、上記のルール（１）を満たす。
【００３７】
上記の行列内の要素の位置に従って、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数を判断できる。詳細な例を用いて説明する。この行列に従って、２つの要素ＥおよびＦの間の相対的な位置関係が判断される。２つの要素間の相対的な位置関係は、一方の要素が、他方の要素の上、下、左、右、左下、左上、右上または右下にある状態のうちの１つを含む。行列内の任意の要素に関して、当該要素に対して或る要素が、要素Ｅと要素Ｆとの相対的な位置関係に合致する相対的な位置関係を有する場合、その２つの要素は、同じ相互排他的セットに属する。そのようなルールに従って、最大の相互排他的セットを発見することができ、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数が判断される。要素Ｅにより表されるクエリ要求は、そのソースＩＰアドレス内に、ワイルドカード文字を含むセクションを最大数有し、その宛先ＩＰアドレス内に、ワイルドカード文字を含むセクションを最小数有し、要素Ｆにより表されるクエリ要求は、その宛先ＩＰアドレス内に、ワイルドカード文字を含むセクションを最大数有し、そのソースＩＰアドレス内に、ワイルドカード文字を含むセクションを最小数有する。図３に示された行列に関して、要素Ｅは、左上の角の要素Ｋ１１であり、要素Ｆは、右下の角の要素Ｋ５５であり、要素Ｅと要素Ｆとの相対的な位置関係は、要素Ｅが要素Ｆに対して左上、すなわち要素Ｆが要素Ｅに対して右下にある。例えば、或る要素が、要素Ｋ４５に対して左上または右下に位置すれば、その要素は、要素Ｋ４５と同じ相互排他的セットに属する。要素Ｋ４５の右下に要素はなく、その左上に要素Ｋ３４があり、結果として、要素Ｋ４５およびＫ３４により表されるクエリ要求は、同じ相互排他的セットに属することが分かる。さらに、要素Ｋ２３は、要素Ｋ３４およびＫ４５の左上にあり、結果として、これら３つの要素により表されるクエリ要求は、同じ相互排他的セットに属する。このようにして、最大の相互排他的セットを発見することができる。図３に示した行列の場合、最大の相互排他的セットは、要素Ｅから要素Ｆへの対角線上の５つの要素により表されるクエリ要求によって構成される。この最大の相互排他的セットに含まれる候補クエリ要求のクラスの数は、５である。このように、全数法の代わりに、クエリ要求を分類して行列を構成し、続いて相互排他的セット内のクエリ要求に対応する要素間の、行列における位置関係を判断することによって、容易かつ効果的な形で、最大の相互排他的セットを発見することができ、これによって計算量を削減することができ、コンピュータ実装に都合がよい。
【００３８】
実施形態では、ＰおよびＱが同じ値を有し、要素Ｅから要素Ｆへの対角線上の要素により表されるすべてのクエリ要求が候補クエリ要求であれば、最大の相互排他的セットは、要素Ｅから要素Ｆへの対角線上のすべての要素により表されるクエリ要求によって形成される相互排他的セットである。
【００３９】
上記の行列を用いると、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するために、最大の相互排他的セットが容易に発見できるだけではなく、Ｘ種類のエンコード法を判断することもできる。具体的には、行列内の要素によって形成される経路に従って、Ｘ種類のエンコード法を判断することができる。行列内の要素によって形成された経路からエンコード法を発見する方法について、より深く理解されるよう、この実施形態では、具体的な例示の方法を２つ挙げる。当業者であれば、ほかの方法によって適切なエンコード法を行列から取得することができる。以下、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数が５である、具体的な例を用いて説明を行う。
【００４０】
第１の例示の方法は、次の通りである。行列において、第１の方向および第２の方向に沿った、要素Ｇから、要素Ｈおよび要素Ｉのうちのいずれかへの各経路が、エンコード法を表す。すべての経路が発見された後に、対応するエンコード法を獲得する。それらのエンコード法すべてから、すべての候補クエリ要求をカバーできる５つを選択する。具体的には、第１の方向は、クエリ要求のソースＩＰアドレス内でワイルドカード文字を含むセクションの数が変化せず、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が１ずつ減少する方向であり、第２の方向は、クエリ要求のソースＩＰアドレス内でワイルドカード文字を含むセクションの数が１ずつ減少し、宛先ＩＰアドレス内でワイルドカード文字を含むセクションの数が変化しない方向である。要素Ｇにより表されるクエリ要求は、ワイルドカード文字を含むセクションをそれぞれ最大数有する、ソースＩＰアドレスおよび宛先ＩＰアドレスを有する。要素Ｈにより表されるクエリ要求は、ワイルドカード文字を含むセクションを１つのみ有するソースＩＰアドレスおよびワイルドカード文字を含むセクションを有しない宛先ＩＰアドレスを有する。要素Ｉにより表されるクエリ要求は、ワイルドカード文字を含むセクションを有しないソースＩＰアドレスおよびワイルドカード文字を含むセクションを１つのみ有する宛先ＩＰアドレスを有する。経路と、エンコード法との対応関係は、以下の通りである。要素Ｈに達する場合、対応するエンコード法として、最初に変化するセクションはＤであり、要素Ｉに達する場合、対応するエンコード法として、最初に変化するセクションはｄである。さらに、異なるセクションを発見するために、或る要素と、要素Ｇからの経路上のその隣の要素とを比較するが、これらのセクションは、最初に発見されたセクションが、後に発見されたセクションより後に変化するという順序に従って順に変化する。図３に示されている行列の場合、要素Ｇは要素Ｋ５１であり、要素Ｈは要素Ｋ１４であり、要素Ｉは要素Ｋ２５である。第１の方向は、１ステップ上である。第２の方向は、１ステップ右である。上記の要件を満たす１つの経路は、要素Ｇから要素Ｋ１１まで上、続いて要素Ｈに達するまで右である。そのような経路に対応するエンコード法としては、達した要素がＨであるため、まず第１に変化するセクションはＤである。さらに、経路上の要素Ｇの隣の要素Ｋ４１と比較すると、ａが異なるセクションであり、次にセクションｂ、ｃ、ｄ、Ａ、Ｂ、Ｃを順番に発見でき、エンコード法ａｂｃｄＡＢＣＤがもたらされる。例として、図３に示されているグレーで示された経路を通ると、最後に達する要素はＩであるため、対応するエンコード法として、まず第１に変化するセクションはｄであり、Ｄ、ｃ、Ｃ、ｂ、Ｂ、ａ、Ａの順序に従って、ほかのセクションが順に変化し、対応するエンコード法ＡａＢｂＣｃＤｄがもたらされる。当業者には当然のことながら、この経路発見方法は、要素Ｇから要素Ｊへの、第１の方向および第２の方向に沿ったすべての経路を発見するよう拡張可能であり、要素Ｊにより表されるクエリ要求が有するソースＩＰアドレスおよび宛先ＩＰアドレスは、どちらもワイルドカード文字を含むセクションを有しない。経路が第１の方向および第２の方向に沿って進むことを前提とすると、要素Ｊに達する経路は、要素Ｈまたは要素Ｉを通過しなければならないことが分かる。上記の形に従って、図３に示されている行列では、７０の経路を発見でき、そこから５つの経路が選択され、これらの５つの経路に対応するエンコード法がすべての候補クエリ要求をカバーできるかどうかが判断される。そうであれば、その５つのエンコード法が、最終的なエンコード法として判断される。当然のことながら、５つのエンコード法の選択の結果は、唯一のものではない。
【００４１】
第２の例示の方法は、次の通りである。行列において、第１の方向および第２の方向に沿った、要素Ｇから、要素Ｈおよび要素Ｉのうちのいずれかへの各経路が、エンコード法を表す。５つの経路を発見するが、各経路は、最大の相互排他的セット内のクエリ要求に対応する要素のうちの１つを通過し、５つの経路は全体として、すべての候補クエリ要求に対応する要素を通過し、これら５つの経路に対応するエンコード法は、すべての候補クエリ要求をカバーすることができる。経路とエンコード法との対応関係に加えて、要素Ｇ、要素Ｈ、要素Ｉ、第１の方向および第２の方向は、第１の具体的な例のものと同じ意味を有する。引き続き図３に示されている行列を例にとる。最大の相互排他的セット内のクエリ要求に対応する要素は、それぞれ要素Ｋ１１、Ｋ２２、Ｋ３３、Ｋ４４、Ｋ５５である。上記の要件を満たす５つの経路は、１）Ｋ５１、Ｋ４１、Ｋ３１、Ｋ２１、Ｋ１１、Ｋ１２、Ｋ１３、Ｋ１４を通過する第１の経路；２）Ｋ５１、Ｋ５２、Ｋ４２、Ｋ３２、Ｋ２２、Ｋ２３、Ｋ２４、Ｋ２５を通過する第２の経路；３）Ｋ５１、Ｋ５２、Ｋ５３、Ｋ４３、Ｋ３３、Ｋ３４、Ｋ３５、Ｋ２５を通過する第３の経路；４）Ｋ５１、Ｋ５２、Ｋ５３、Ｋ５４、Ｋ４４、Ｋ３４、Ｋ２４、Ｋ１４を通過する第４の経路；５）Ｋ５１、Ｋ５２、Ｋ５３、Ｋ５４、Ｋ５５、Ｋ４５、Ｋ３５、Ｋ２５を通過する第５の経路である。これに応じて、これら５つの経路は、エンコード法ａｂｃｄＡＢＣＤ、ＡａｂｃＢＣＤｄ、ＡＢａｂＣＤｃｄ、ＡＢＣａｂｃｄＤ、ＡＢＣＤａｂｃｄに対応する。当業者には当然のことながら、最大の相互排他的セット内のクエリ要求に対応する要素をそれぞれ通過し、全体としてすべての候補クエリ要求に対応する要素を通過するという要件を満たす５つの経路は、唯一のものではなく、上記の要件を満たす５つの経路を判断する方法は多数ある。以下に例を挙げる。１）発見された最大の相互排他的セット内に残った一番左上の要素を発見し、現在の行列内の一番左下の要素から、現在の行列内の一番右上の要素への、一番左上の要素を通過する最も外側の経路を、上方向または右方向のみに沿って進むことにより判断する。２）その経路が通過したすべての要素を除去して、残った要素によって現在の行列を構成する。３）要素Ｋ５５が残るまで、１）および２）を繰り返す。４）経路上の一番左下の要素を左方向および下方向に沿ってＫ５１に接続し、経路上の一番右上の要素を右方向および上方向に沿ってＫ１５に接続して、上記で取得された経路を完成させる。最後に、Ｋ１５が除去されて、５つの経路が得られる。Ｋ５５は要素Ｆであり、Ｋ５１は要素Ｇであり、Ｋ１５により表されるクエリ要求が有するソースＩＰアドレスおよび宛先ＩＰアドレスは、どちらもワイルドカード文字を含むセクションを有しない。Ｋ１５は、それらの経路から除去されなくてもよい。
【００４２】
この実施形態では、より柔軟なデータ処理方法を提供するために、候補クエリ要求の範囲を示す命令が受信され得る。この命令は、ユーザまたはアプリケーションにより発行され得る。命令は、ＰもしくはＱまたはその両方の値を含むことができる。別の実施形態では、命令は、存在し得ないクエリ要求の種類を含んでもよい。例えば、発行される命令は、存在できない４種類のクエリ要求Ａ．＊．＊．＊ａ．ｂ．ｃ．＊、Ａ．Ｂ．＊．＊ａ．ｂ．＊．＊、Ａ．Ｂ．＊．＊ａ．＊．＊．＊、Ａ．Ｂ．Ｃ．Ｄａ．＊．＊．＊を示す。図４に示されているように、グレーで示されている要素は、存在しないクエリ要求を表す。この行列によれば、Ｋ１１、Ｋ２３、Ｋ３４およびＫ５５により表されるクエリ要求が、最大の相互排他的セットを構成する。第２の例で挙げた方法に従って、Ｋ５１、Ｋ４１、Ｋ３１、Ｋ２１、Ｋ１１、Ｋ１２、Ｋ１３、Ｋ１４を通過する第１の経路、Ｋ５１、Ｋ５２、Ｋ４２、Ｋ３２、Ｋ２２、Ｋ２３、Ｋ２４、Ｋ２５を通過する第２の経路、Ｋ５１、Ｋ５２、Ｋ５３、Ｋ５４、Ｋ４４、Ｋ３４、Ｋ３５、Ｋ２５を通過する第３の経路およびＫ５１、Ｋ５２、Ｋ５３、Ｋ５４、Ｋ５５、Ｋ４５、Ｋ３５、Ｋ２５を通過する第４の経路の、４つの経路が発見される。取得される対応するエンコード法は、ａｂｃｄＡＢＣＤ、ＡａｂｃＢＣＤｄ、ＡＢＣａｂＤｃｄおよびＡＢＣＤａｂｃｄである。ユーザまたはアプリケーションが候補クエリ要求の範囲を指定できるようにすることによって、必要なエンコード法を或る程度減少させることができ、それに応じてインデックスを減少させて、記憶スペースを節約し、ソリューションをより柔軟にすることができる。
【００４３】
この実施形態において提供されるデータベースにおけるデータ処理方法は、１次元インデックスを備えるデータベースを使用することによって、大容量データベースの拡張を実現するのを容易にし、同時に、複数のデータ・ブロックを取得して複数のデータ・ブロックから最終的なクエリ結果を発見することから生じていた時間および計算コストを防ぐ、特定のインデックス・エンコード法が採用され、その結果、クエリ速度を改善できるということが、上記の記載から分かる。さらに、この実施形態において提供されるデータ処理方法は、最大の相互排他的セットの判断を、行列内の要素間の位置関係に変換し、さらに、Ｘ種類のエンコード法の判断を、行列内の要素によって形成される経路の発見に変換することができ、これによって、エンコード法の判断がより容易になり、同時に、要件を満たす経路を、いくつかの経路処理技術によって判断でき、より柔軟な実装が可能となる。
【００４４】
図５に示されているように、本発明の実施形態において、データ・クエリ方法が提供される。本方法は、ステップ５１０にて、クエリ要求を受信すること、ステップ５２０にて、クエリ要求に含まれる情報により指定されるソースＩＰアドレスおよび宛先ＩＰアドレスを線形化すること、ステップ５３０にて、線形化されたＩＰアドレスに従って、１次元インデックスを有するデータベースを検索して、連続したデータ・レコードをクエリ結果として得ることを含む。
【００４５】
この実施形態では、クエリが実行されるデータベースは、図２に示された実施形態の方法に従ってインデックスを付けられている。具体的な詳細については、図２に示された実施形態を参照することができる。
【００４６】
この実施形態では、ステップ５１０にて受信されるクエリ要求は、ソースＩＰアドレスおよび宛先ＩＰアドレスを示す情報を含み、ソースＩＰアドレスおよび宛先ＩＰアドレスのうちの少なくとも一方は、ワイルドカード文字を含むセクションを少なくとも１つ有する。より具体的な実装の詳細および例については、図２に示された実施形態を参照することができる。
【００４７】
この実施形態では、データベースのインデックスは１次元インデックスであるため、ソースＩＰアドレスおよび宛先ＩＰアドレスは、線形化されて１次元アドレスに変換されなければならない。ステップ５２０における、ソースおよび宛先ＩＰアドレスの線形化は、具体的には、データベースの各インデックス・エンコード法に従ってソースおよび宛先ＩＰアドレスを線形化することを含む。具体的には、ステップ５２０はさらに、クエリ要求をカバーできるデータベース・インデックスのエンコード法を判断し、そのエンコード法に従ってソースＩＰアドレスおよび宛先ＩＰアドレスを線形化することを含む。ソースおよび宛先ＩＰアドレスが、各エンコード法に従って線形化されれば、様々なエンコード法に基づきエンコードされたインデックスに従って、同時に検索を実行できることが分かる。或るエンコード法が、このクエリ要求をカバーできれば、対応するインデックスに対するクエリが、より高速にクエリ結果を取得することができ、結果は最終的なクエリ結果として使用される。クエリ要求をカバーできるエンコード法が最初に判断され、続いてソースおよび宛先ＩＰアドレスが、そのようなエンコード法に従って線形化されれば、このエンコード法に対応するインデックスに対してクエリを実行して、クエリ結果を得ることができる。例えば、図４に示されている行列を例にとると、データベースにおいて、インデックスは、４つのエンコード法ａｂｃｄＡＢＣＤ、ＡａｂｃＢＣＤｄ、ＡＢＣａｂＤｃｄおよびＡＢＣＤａｂｃｄでエンコードされる。ソースＩＰアドレス１０．＊．＊．＊および宛先ＩＰアドレス２０．１０２．＊．＊を含むクエリ要求がユーザによって発行される。第１の実装の線形化が使用される場合、線形化結果は、２０．１０２．＊．＊．１０．＊．＊．＊、１０．２０．１０２．＊．＊．＊．＊．＊、１０．＊．＊．２０．１０２．＊．＊．＊、１０．＊．＊．＊．２０．１０２．＊．＊である。第２のエンコード法で線形化されたＩＰアドレスよれば、第２のエンコード法に対応するインデックスに対するクエリが、連続したデータ・レコードをクエリ結果として得ることができ、したがって、クエリ結果がより高速に返され得ることが分かる。第２の実装の線形化が使用される場合、第２のエンコード法が、クエリ要求のクラスＡ．＊．＊．＊ａ．ｂ．＊．＊をカバーすることができると判断することができるため、ソースおよび宛先ＩＰアドレスを第２のエンコード法に従って直接線形化することができ、次に、第２のインデックス法に対応するインデックスに対してクエリを実行して、連続したデータ・レコードをクエリ結果として得ることができる。２つの実装には、それぞれの利点があることが分かり、実行する上での必要に応じて異なる実装を採用することができる。この実施形態において提供されるデータ・クエリ方法は、クエリ速度を改善してユーザ満足度を高めることができる。
【００４８】
当業者には当然のことながら、上記の実施形態の方法は、互いに組み合わされて、技術的により高度なソリューションを得ることができる。
【００４９】
図６に示されているように、本発明の実施形態において、データベースにおけるデータ・プロセス・デバイス６００が提供される。デバイス６００は、エンコード・モジュール６１０およびインデックス・モジュール６２０を含む。エンコード・モジュール６１０は、データベースのインデックスのエンコード法を判断するよう構成されており、インデックスは、Ｎ＋Ｍのセクションを含む１次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化する順序を指定する。インデックス・モジュール６２０は、判断されたエンコード法に従って、データ・レコードのインデックスを設定するよう構成されており、このインデックスに従って、任意の候補クエリ要求に対し、連続したデータ・レコードをクエリ結果として取得可能である。候補クエリ要求は、図２に示された実施形態のものと同じである。この実施形態において、特定の詳細および説明については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
【００５０】
別の実施形態では、エンコード・モジュール６１０によって判断されるエンコード法は、すべての候補クエリ要求をカバーすることができる。この、カバーについての詳細な記載については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
【００５１】
別の実施形態では、エンコード・モジュール６１０は、分類サブモジュール６１１、排他（ｄｉｓｊｏｉｎｔ）サブモジュール６１２および判断サブモジュール６１３を含むとよい。分類サブモジュール６１１は、すべての候補クエリ要求を分類するよう構成される。排他サブモジュール６１２は、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数を判断するよう構成される。判断サブモジュール６１３は、Ｘ種類のエンコード法を判断するよう構成される。クエリ要求の分類、相互排他的セットおよびＸの定義については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
【００５２】
別の実施形態では、エンコード・モジュール６１０はさらに、行列サブモジュール６１４を含むとよい。行列サブモジュール６１４は、（Ｐ＋１）＊（Ｑ＋１）行列を得るよう構成される。行列の構成方法およびその中の要素の定義については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。これに応じて、排他サブモジュール６１２は、行列に従って、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう特に構成される。さらに、判断サブモジュール６１３は、行列に従ってＸ種類のエンコード法を判断するよう特に構成される。
【００５３】
別の実施形態では、排他サブモジュール６１２は、行列内の要素間の位置関係に従って、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう特に構成される。
【００５４】
別の実施形態では、判断サブモジュール６１３は、行列内の要素によって構成された経路に従って、Ｘ種類のエンコード法を判断するよう特に構成される。
【００５５】
例えば、排他サブモジュール６１２は、要素Ｅと要素Ｆとの間の相対的な位置関係を判断するよう構成された位置サブブロックと、要素Ｅと要素Ｆとの相対的な位置関係に従って最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう構成された総計サブブロックとを含み、相対的な位置関係については、方法実施形態を参照することができる。相対的な位置関係を判断して最大の相互排他的セットを取得する方法については、上記の方法実施形態を参照することができ、ここでは繰り返さない。
【００５６】
例えば、判断サブモジュール６１３は、行列内の経路に従ってすべてのエンコード法を判断するよう構成された第１の経路サブブロックと、すべての候補クエリ要求をカバーすることができるＸ種類のエンコード法を、すべてのエンコード法から任意に選択するよう構成された選択サブブロックとを含む。経路からエンコード法を判断する方法、経路を発見する方法およびＸ種類のエンコード法を選択する方法については、上記の方法実施形態を参照することができ、ここでは繰り返さない。
【００５７】
例えば、判断サブモジュール６１３は、行列内でＸ個の経路を発見するよう構成された第２の経路サブブロックと、Ｘ個の経路に対応するＸ種類のエンコード法を獲得するよう構成された獲得サブブロックとを含む。Ｘ個の経路を発見する方法などについては、上記の方法実施形態を参照することができ、ここでは繰り返さない。
【００５８】
別の実施形態では、デバイス６００はさらに、候補クエリ要求の範囲を指定する命令を受信するよう構成された受信モジュール６３０を含む。命令によって候補クエリ要求の範囲を指定する方法については、上記の方法実施形態を詳細に参照することができ、ここでは繰り返さない。
【００５９】
上記の実施形態で提供されたデバイスにより、大規模データベースをより容易に拡張することができ、クエリをより高速に実行することができ、クエリ結果として複数のデータ・ブロックにおいてデータ・レコードを発見するのではなく、連続したデータ・レコードをクエリ結果として直接獲得することができる。さらに、クエリ要求の分類および行列化によって、デバイスは、エンコード法の判断を、行列における経路処理または要素判断へと単純化し、計算量を大幅に削減する。
【００６０】
当業者には当然のことながら、上記の実施形態の様々なデバイスを組み合わせることによって、技術的により高度なソリューションを得ることができる。
【００６１】
図７に示されているように、本発明の実施形態において、データ・クエリ・デバイス７００がさらに提供される。データ・クエリ・デバイス７００は、クエリ要求を受信するよう構成された受信モジュール７１０と、ソースＩＰアドレスおよび宛先ＩＰアドレスを線形化するよう構成された線形化モジュール７２０と、線形化されたＩＰアドレスに従って１次元インデックスを有するデータベース内を検索し、連続したデータ・レコードをクエリ結果として得るよう構成された検索モジュール７３０とを含む。この実施形態では、インデックスは、上記の実施形態の方法において提供されたデータ処理方法に従ってデータベースにおいて設定される。クエリ要求などについては、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
【００６２】
別の実施形態では、データ・クエリ・デバイス７００は、データベースのインデックスを設定するために、図６に示されたデバイス６００を含む。
【００６３】
別の実施形態では、線形化モジュール７２０は、データベースの各インデックス・エンコード法に従って、ソースＩＰアドレスおよび宛先ＩＰアドレスを線形化するよう構成される。
【００６４】
別の実施形態では、線形化モジュール７２０は、クエリ要求をカバーすることができるインデックスのエンコード法を判断して、そのエンコード法に従ってソースＩＰアドレスおよび宛先ＩＰアドレスを線形化するよう構成される。
【００６５】
図７に示されている上記の実施形態の組み合わせによって、技術的により高度なソリューションを得ることができる。図７に示された実施形態において提供されるデバイスは、クエリ応答速度を改善することができる。
【００６６】
図６および７に示された実施形態の詳細については、本開示に関連して記載された、対応する方法を参照することができる。
【００６７】
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能（単数または複数）を実装する１つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。さらに、いくつかの代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよいということに留意されたい。例えば、関連する機能性次第で、連続して示されている２つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが逆順で実行されることがあってもよい。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方の複数ブロックの組み合わせは、指定の機能もしくは動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができるということに留意されたい。
【００６８】
本発明の様々な実施形態の記載は、説明のために示されたものであるが、包括的であることも、開示された実施形態に限定されることも目的としていない。当業者には、記載された実施形態の範囲および意図から逸脱することのない、多数の変更および変形が明らかであろう。本願明細書で使用された用語は、実施形態の原理、実際の用途、または市場にある技術に比べた技術的改善を最もよく説明するよう、または当業者が本願明細書に開示された実施形態を理解できるよう選ばれた。
【符号の説明】
【００６９】
１００  コンピュータ・システム
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  システム・バス
１０５  ハード・ドライブ・コントローラ
１０６  キーボード・コントローラ
１０７  シリアル・インターフェース・コントローラ
１０８  パラレル・インターフェース・コントローラ
１０９  ディスプレイ・コントローラ
１１０  ハード・ドライブ
１１１  キーボード
１１２  シリアル周辺機器
１１３  パラレル周辺機器
１１４  ディスプレイ
【図１】
2014010828.tif 000003
【図２】
2014010828.tif 000004
【図３】
2014010828.tif 000005
【図４】
2014010828.tif 000006
【図５】
2014010828.tif 000007
【図６】
2014010828.tif 000008
【図７】
2014010828.tif 000009
【図８】
2014010828.tif 000010