(57)【特許請求の範囲】
【請求項１】
１または複数のプロセッサと、
前記１または複数のプロセッサによって動作され、複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、前記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化する、データプリプロセッサと、を備え、
前記パーティション化は前記複数の２つのエンドポイントペアを複数のビンにパーティション化することを含み、各ビンは前記複数の２つのエンドポイントペアの複数のクォンタイルを含み、
前記データプリプロセッサは、前記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、前記複数の２つのエンドポイントペアに対応するインデックスキーおよび前記インデックスキーに対応するパーティションキーペアを生成するキー生成器を含む、
データを処理するための装置。
【請求項２】
前記キー生成器は、前記エンドポイントペアの属性に基づいて、前記インデックスキーを生成し、且つ前記エンドポイントペアの前記属性の選択された部分から前記パーティションキーペアを生成する、請求項１に記載の装置。
【請求項３】
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスのペアを有する、請求項１または２に記載の装置。
【請求項４】
前記ＩＰアドレスはＩＰＶ４アドレスであり、前記キー生成器は、前記ＩＰＶ４アドレスのペアの前記ＩＰＶ４アドレスを符号なし３２ビット整数として使用して、前記ＩＰＶ４アドレスのペアの前記ＩＰＶ４アドレスから６４ビットインデックスキーを生成する、請求項３に記載の装置。
【請求項５】
ＩＰＶ４アドレスは４つの順序付けられた部分を有し、前記キー生成器はさらに、１２ビットおよび５２ビットのパーティションキーペアを、前記ＩＰＶ４アドレスのペアの前記ＩＰＶ４アドレスの最上位部分および最下位部分から生成する、請求項４に記載の装置。
【請求項６】
前記データプリプロセッサは、前記複数のビンおよび前記複数のビンの前記複数のクォンタイルを判断するためのオプティマイザを有する、請求項１から５のいずれか一項に記載の装置。
【請求項７】
前記オプティマイザは、前記エンドポイントペアに対応する前記インデックスキーの範囲を複数のサブ範囲に分割し、前記複数のサブ範囲の数を前記複数のビンの数として用いる、請求項６に記載の装置。
【請求項８】
前記オプティマイザは、前記複数のビンの前記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算する、請求項６または７に記載の装置。
【請求項９】
前記データプリプロセッサは、前記判断されたビンおよび前記ビンのクォンタイルに基づいて、前記複数のワークロードを投入する、前記オプティマイザに連結されたワークロード生成器をさらに含む、請求項６から８のいずれか一項に記載の装置。
【請求項１０】
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスペアを有し、および
前記ワークロード生成器は、前記ＩＰアドレスペアの時系列の送信データ量を備えた前記複数のワークロードを投入する、請求項９に記載の装置。
【請求項１１】
前記ワークロード生成器はさらに、スカラデータである前記ＩＰアドレスペアの前記時系列の送信データ量を、前記ＩＰアドレスペアの方向性の時系列の送信データ量に変換する、請求項１０に記載の装置。
【請求項１２】
前記データプリプロセッサに連結された１または複数の解析器をさらに備え、前記１または複数の解析器は前記１または複数のプロセッサによって動作され、前記複数の２つのエンドポイントペアの前記方向性データを有する前記複数のワークロードを並列に解析する、請求項１から１１のいずれか一項に記載の装置。
【請求項１３】
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスペアを有し、および
前記１または複数の解析器は、信号解析またはパターン解析のために、前記複数のワークロードにおける時系列の送信データ量に少なくとも部分的に基づいて、前記ＩＰアドレスペアのための複数のグラフィック解析を生成する、請求項１２に記載の装置。
【請求項１４】
複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、コンピューティングデバイスによって受信する段階と、
前記一群のスカラデータを、前記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードに、前記コンピューティングデバイスによってパーティション化する段階と、を備え、
前記パーティション化する段階は、前記複数の２つのエンドポイントペアを複数のビンにパーティション化する段階を含み、各ビンは前記複数の２つのエンドポイントペアの複数のクォンタイルを含み、
前記パーティション化する段階は、前記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、前記複数の２つのエンドポイントペアに対応するインデックスキーおよび前記インデックスキーに対応するパーティションキーペアを生成する段階を含む、
データを処理するための方法。
【請求項１５】
前記生成する段階は、前記エンドポイントペアの属性に基づいて、前記インデックスキーを生成する段階と、前記エンドポイントペアの前記属性の選択された部分から前記パーティションキーペアを生成する段階と、を含む、請求項１４に記載の方法。
【請求項１６】
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスのペアを有する、請求項１４または１５に記載の方法。
【請求項１７】
前記ＩＰアドレスはＩＰＶ６アドレスであり、前記生成する段階は、前記ＩＰＶ６アドレスのペアの前記ＩＰＶ６アドレスを符号なし１２８ビット整数として使用して、前記ＩＰＶ６アドレスのペアの前記ＩＰＶ６アドレスから２５６ビットインデックスキーを生成する段階を含み、
ＩＰＶ６アドレスは、複数の順序付けられた部分を有し、前記生成する段階は、前記ＩＰＶ６アドレスのペアの前記ＩＰＶ６アドレスの最上位部分および最下位部分から、パーティションキーペアを生成する段階をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記パーティション化する段階は、前記複数のビンおよび前記複数のビンの前記複数のクォンタイルを判断する段階をさらに含む、請求項１４から１７のいずれか一項に記載の方法。
【請求項１９】
前記判断する段階は、前記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割し、前記複数のサブ範囲の数を前記複数のビンの数として用いる段階と、
前記複数のビンの前記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算する段階と、を含む、請求項１８に記載の方法。
【請求項２０】
前記パーティション化する段階は、前記判断されたビンおよび前記ビンのクォンタイルに基づいて、前記複数のワークロードを投入する段階をさらに含む、請求項１８または１９に記載の方法。
【請求項２１】
コンピューティングデバイスに、請求項１４から２０のいずれか一項に記載の方法を実行させるためのプログラム。
【請求項２２】
複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを受信するための手段と、
前記一群のスカラデータを、前記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化するための手段と、を備え、
前記パーティション化するための手段は、前記複数の２つのエンドポイントペアを複数のビンにパーティション化するための手段を含み、各ビンは前記複数の２つのエンドポイントペアの複数のクォンタイルを含み、
前記パーティション化するための手段は、前記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、前記複数の２つのエンドポイントペアに対応するインデックスキーおよび前記インデックスキーに対応するパーティションキーペアを生成するための手段を含む、
データを処理するための装置。
【請求項２３】
前記複数の２つのエンドポイントペアの前記方向性データを有する前記複数のワークロードを並列に解析するための手段をさらに備える、請求項２２に記載の装置。
【請求項２４】
請求項２１に記載のプログラムを格納する１または複数のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、２０１５年１月９日に出願された米国特許出願第１４／５９３，９０７号（発明の名称「データのパーティション化および変換の方法および装置」）に基づく優先権を主張する。本開示は、データ処理の分野に関する。具体的には、本開示は、大量のデータ（ネットフローレコード等）をパーティション化および／または変換するためのデータプリプロセッサに関する。
【背景技術】
【０００２】
ここに記載された背景技術は、本開示の文脈を一般的に示す目的のものである。本明細書において別途の記載がない限り、この節に記載の内容は、本願の請求項に対する先行技術ではなく、この節に組み込まれることにより先行技術であるとは認められない。
【０００３】
「ビッグデータ」とは、非常に大量且つ複雑であるため、従来のデータ処理アプリケーションを使用してそれらを処理することが困難になるようなあらゆるデータセット群を指す。多くの場合、「ビッグデータ」は、従来のリレーショナルデータベース管理システム、デスクトップ統計および／またはビジュアル化パッケージを使用しての動作は難しい。代わりに、数十台、数百台、あるいは数千台ものサーバ上で実行される大量の並列ソフトウェアが、しばしば必要とされる。
【０００４】
例えば、ネットワークフロー（「ネットフロー」、「ｓＦｌｏｗ」として知られる）は、この十年間にわたり、ネットワークトラフィックの広く普及したアカウンティングレコードであった。ネットフローは、以下のもの、すなわち、ソースインターネットプロトコル（ＩＰ）アドレス、デスティネーションＩＰアドレス、プロトコル、開始時間、パケット数およびバイト数を介してネットワーク上の通信に関する情報を提供する。従来、これらは、企業におけるネットワークの容量計画およびアプリケーション性能のトラブルシューティングに使用されてきた。また、これらは情報セキュリティに対する脅威および攻撃を特定するための合理的な方法として経時的に認識されてきた。しかしながら、ＩＰアドレスを指定可能なデバイス数の増加に伴い、ネットワークがより増大するにつれ、企業または企業間のデータ量は非常に大きくなり、従来のデータシステム／ツールを用いてそれらを解析することは非現実的である。ここで、企業での可能性のあるネットフローレコードの規模について考えてみる。フォーチュン１００の企業が、企業のネットワークのインターネットサービスプロバイダ（ＩＳＰ）層で、一日に３０億以上のネットフローレコードを生成することは珍しいことではなく、ローカルエリアネットワーク（イントラネット）データを含めると、その数は飛躍的に一層増大する。ネットフロー（および他のビッグデータアプリケーション）は通常、レコードの性質に起因して、値の歪曲分布（複数のＩＰアドレスにわたり）を有することから問題はさらに複雑である。
【図面の簡単な説明】
【０００５】
以下の詳細な説明に、添付図面を組み合わせることで、実施形態は容易に理解されるであろう。本説明を容易にするため、同様の参照符号は同様の構造要素を指す。添付図面中、実施形態は限定ではなく例示として示されている。
【図１】様々な実施形態による、ビッグデータの処理および解析をするためのコンピューティング構成を示す。
【図２】様々な実施形態による、２つのエンドポイントの一方向関係のスカラデータを２つのエンドポイントペアの方向性データに変換するための例示的な処理を示す。
【図３】様々な実施形態による、一群のデータを並列処理に好適な複数のワークロードにパーティション化するための、エンドポイントペアのためのインデックスキーのマトリックスおよびパーティションキータプルのマトリックスを作成するための例示的な処理を示す。
【図４】様々な実施形態による、方向性データを並列処理に好適なワークロードにパーティション化するために使用される、各々が複数のクォンタイルを有する複数のビンを判断するための例示的な処理を示す。
【図５】様々な実施形態による、クォンタイルを持つ判断されたビンを使用して、並列処理に好適なワークロードを生成するための例示的な処理を示す。
【図６】様々な実施形態による、本開示の態様を実施するために好適に使用される例示的なコンピューティングシステムを示す。
【図７】本開示の実施形態による、図１〜５を参照して記載された方法を実施するための命令を有する記録媒体を示す。
【発明を実施するための形態】
【０００６】
データの処理に関連する装置、方法および記録媒体について開示する。実施形態において、装置は、複数の２つのエンドポイントペアの一方向関係に関連付けられた一群のスカラデータ（例えば、ソースＩＰアドレスからデスティネーションＩＰアドレスへのネットフローデータ）を、上記複数の２つのエンドポイントペアに関連付けられた方向性データの複数のワークロード（例えば、上記２つのＩＰアドレスの符号付き時系列データであり、ここで符号は方向を示す）にパーティション化するためのデータプリプロセッサを含んでよい。実施形態において、パーティション化処理は、上記複数の２つのエンドポイントペアを、複数のビンにパーティション化することを含んでよく、各ビンは、２つのエンドポイントペアの複数のクォンタイルを含む。
【０００７】
実施形態において、装置はさらに、データプリプロセッサに連結された１または複数の解析器をさらに含んでよく、当該解析器は、２つのエンドポイントペアの方向性データを有するワークロード（または組み合わせ）を並列で解析する。
【０００８】
以下の詳細な説明においては、本願の一部を成す添付図面に対し参照がなされる。添付図面全体にわたり、同様の参照番号は同様の部材を指し、添付図面には、実施されてよい実施形態が例示として図示されている。他の実施形態が利用されてよいこと、並びに本開示の範囲を逸脱することなく、構造的および論理的な変更がなされてよいことを理解されたい。従って、以下の詳細な説明は、限定的な意味に理解するのではなく、実施形態の範囲は、添付の特許請求の範囲およびその均等内容によって規定される。
【０００９】
本開示の態様が、添付の詳細な説明に開示されている。本開示の代替的な実施形態およびその均等内容が、本開示の精神または範囲から離れることなく、考え出されてよい。以下に開示される同様の要素は、図面中、同様の参照符号によって示されていることに留意されたい。
【００１０】
様々な処理が、特許請求された主題の理解に最も寄与する態様で、複数の別個の動作または処理として順番に記載されてよい。しかしながら、記載の順序は、これらの処理が必ず順序に依存するものであることを示唆するものとして解釈されるべきではない。特に、これらの処理は、提示の順序で実行されてなくよい。記載の処理は、記載された実施形態とは異なる順序で実行されてよい。様々な追加の処理が実行されてよく、および／または記載された処理が追加の実施形態においては省略されてよい。
【００１１】
本開示の目的として、別途の記載がない限り、ＩＰアドレスという用語は、ＩＰＶ４アドレスおよびＩＰＶ６アドレスの両方に適用される。さらに、「Ａおよび／またはＢ」と言う文言は、（Ａ）、（Ｂ）、または（ＡおよびＢ）を意味する。本開示の目的として、「Ａ、Ｂ、および／またはＣ」という文言は、（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）、または（Ａ、ＢおよびＣ）を意味する。
【００１２】
本説明は、「一実施形態」または「実施形態において、」という文言を使用してよく、これらはそれぞれ、同一または異なる実施形態に係る１または複数を指してよい。さらに、本開示の実施形態に関し使用される「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｖｉｎｇ）」等の用語は、同義語である。
【００１３】
本明細書で使用される、「モジュール」という用語は、１または複数のソフトウェア若しくはファームウェアプログラムを実行する、特定用途向け集積回路（ＡＳＩＣ）、電子回路、プロセッサ（共有、専用、またはグループ）および／またはメモリ（共有、専用、またはグループ）、組み合わせ論理回路、並びに／または記載の機能を提供する他の好適なコンポーネントを指してよい、またはこれらの一部であってよい、またはこれらを含んでよい。
【００１４】
ここで図１を参照すると、様々な実施形態による、ビッグデータの処理および解析をするためのコンピューティング構成が示されている。図示の通り、コンピューティング構成１００は、ストレージ１０２、データプリプロセッサ１０４および１または複数の解析器１０６を含んでよく、これらは互いに図示の通り連結されている。実施形態において、ストレージ１０２、データプリプロセッサ１０４並びに１または複数の解析器１０６は、複数の有線および／または無線のローカルエリアネットワークおよび／またはワイドエリアネットワーク（不図示）を介して互いに連結されてよい。
【００１５】
ストレージ１０２は、解析されるべき大量のデータ１１２、特に２つのエンドポイント間の一方向関係のスカラデータ（例えば、ソースＩＰアドレスからデスティネーションＩＰアドレスに送信されたデータのネットフローレコード（バイト数またはパケット数））を格納するように構成されてよい。ストレージ１０２は、磁気、光、および／またはソリッドステートのストレージユニットの任意の組み合わせを含む、本技術分野において既知の複数の階層および／またはネットワークストレージ構成のうちの１つであってよい。
【００１６】
データプリプロセッサ１０４は、一群のデータ１１２を、並列処理および／または解析に好適な複数のワークロード１１０にパーティション化するよう構成されてよい。実施形態において、データプリプロセッサ１０４は、パーティション化処理の一部として、２つのエンドポイントの一方向関係に関連付けられたスカラデータである一群のデータ１１２を、エンドポイントペアの方向性データに変換するよう構成されてよい。実施形態において、データプリプロセッサ１０４は、ソースＩＰアドレスからデスティネーションＩＰアドレスへの一群のネットフローデータ１１２を、ＩＰアドレスペアの符号付き時系列データから成る複数のワークロード１１０にパーティション化するよう構成されてよく、ここで符号は送信方向を表わす。データプリプロセッサ１０４は、複数のビンを使用して、一群のネットフローデータ１１２をパーティション化および変換してよく、ここで各ビンは、２つのエンドポイントペアの方向性データの複数のクォンタイルを含む。
【００１７】
実施形態において、データプリプロセッサ１０４は、キー生成器１２４、オプティマイザ１２６およびワークロード生成器１２８を含んでよい。実施形態において、キー生成器１２４は、２つのエンドポイントペア（例えば、ネットフローＩＰアドレスペア、チャネルとして知られる）のためのインデックスキーのマトリックス、およびパーティションキータプルのマトリックスを生成するよう構成されてよい。スカラデータがネットフローデータである実施形態においては、ＩＰＶ４アドレス（チャネル）のペアのためのインデックスキーのマトリックスは、６４ビットインデックスキーを有してよく、パーティションキータプルのマトリックスは１２ビットおよび５２ビットのキーペアを有してよい。６４ビットインデックスキーは、広範囲の可能性のあるＩＰＶ４アドレスを収容するのに十分な大きさのインデックスキー空間を提供する。代替的な実施形態においては、パーティションキータプルのマトリックスは、１６ビットおよび４８ビットのキーペア、または６４ビットインデックスキーから派生した他のサイズの組み合わせを有してよい。スカラデータがネットフローデータであるさらなる他の実施形態においては、ＩＰＶ６アドレス（チャネル）のペアのためのインデックスキーのマトリックスは、２５６ビットインデックスキーを有してよく、パーティションキータプルのマトリックスは、２５６ビットインデックスキーから派生した様々なキータプルを有してよく、例えば、４８ビット、５２ビット、５２ビット、５２ビットおよび５２ビットパーティションキータプル、または、１６ビット、３２ビット、５２ビット、５２ビット、５２ビット、および５２ビットパーティションキータプルといったものが挙げられる。また、他の組み合わせも可能である。様々な実施形態による、一群のデータを並列処理に好適なワークロードにパーティション化するための、エンドポイントペアのためのインデックスキーのマトリックスおよびパーティションキータプルのマトリックスを作成するための例示的な処理については、図３を参照してさらに詳しく説明することにする。
【００１８】
実施形態において、オプティマイザ１２６は、複数のビンおよびビンの複数のクォンタイルを判断するよう構成されてよい。様々な実施形態による、方向性データを並列処理に好適なワークロードにパーティション化するために使用される、各々が複数のクォンタイルを有する複数のビンを判断するための例示的な処理については、図４を参照してさらに詳しく説明することにする。ワークロード生成器１２８は、インデックスキーのマトリックスおよびパーティションキータプルのマトリックスを使用して、複数の２つのエンドポイントペアに関連付けられた方向性データを備えた複数のビンの複数のクォンタイルを変換および投入し、且つ複数のビンの投入されたクォンタイルを解析器１０６による並列処理に好適なワークロード１１０として出力するように構成されてよい。様々な実施形態による、クォンタイルを備えた判断されたビンを使用して、並列処理に好適なワークロードを生成するための例示的な処理については、図５を参照してさらに詳しく説明することにする。
【００１９】
実施形態において、データプリプロセッサ１０４は、ハードウェア、ソフトウェア、またはこれらの組み合わせで実装されてよい。ハードウェア実装の例としては、限定はされないが、特定用途向け集積回路（ＡＳＩＣ）、または処理ロジックでプログラムされたプログラム可能な回路（フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等）が含まれてよい。ソフトウェア実装の例としては、限定はされないが、処理プロセッサ（不図示）のアセンブラ言語、または処理プロセッサ（不図示）の機械命令にコンパイル可能なＣ若しくはパイソン等の高水準言語での実装が含まれてよい。
【００２０】
実施形態において、解析器１０６は、当該技術分野で既知の任意の数の解析器であってよく、限定はされないが、信号および／またはパターン解析のためのグラフ解析、単一値分解、高速フーリエ変換等のための並列化機械学習エンジンを提供するよう構成されたグラフィカル解析器、分散されたストレージ解析器等が挙げられる。実施形態において、解析器１０６は、数十台、数百台または数千台のサーバ（不図示）上に配置されてよい。 
【００２１】
理解し易くするために、残りの説明は、キー生成器１２４、オプティマイザ１２６およびワークロード生成器１２８についてさらに説明する際、ネットフローレコードについて頻繁に言及する。しかしながら、本開示はネットフローレコードの変換およびパーティション化に限定はされない。本開示は、類似の変換およびパーティション化のニーズを有する様々なビッグデータアプリケーションに適用されてよく、特に、歪曲データ分布を持つビッグデータ、クライアント間のセッション開始プロトコル（ＳＩＰ）通信、ピアツーピアアプリケーション情報等に適用されてよい。
【００２２】
ここで図２を参照すると、様々な実施形態による、２つのエンドポイントの一方向関係のスカラデータを、２つのエンドポイントペアの方向性データに変換するための例示的な処理が示されている。前述の通り、理解し易くするために、２つのエンドポイントの一方向関係のスカラデータを、２つのエンドポイントペアの方向性データに変換するための処理２００について、例示のネットフローレコードを用いて示すことにする。処理は、例えば、図１の前述のワークロード生成器１２８によって実行されてよい。代替的な実施形態において、処理２００は、一部の処理を省略した状態で、組み合わせた状態で、異なる順序で、または他の処理が追加された状態で実行されてよい。
【００２３】
図示の通り、例示のネットフローレコード２０２は、複数のソースＩＰアドレス（ＳｒｃＩＰ）から複数のデスティネーションＩＰアドレス（ＤｓｔＩＰ）への複数のデータ送信レコードを含んでよい。ＳｒｃＩＰおよびＤｓｔＩＰに加え、各レコードは、送信開始時間および送信バイト数を含んでよい。代替的な実施形態においては、各レコードは、送信パケット数、または代わりの他の量の測定値を含んでよい。
【００２４】
図示の通り、スカラデータは、すべての２つのエンドポイントペア（ＳｒｃＩＰ‐ＤｓｔＩＰペアのチャネルとして知られる）２０４が識別された状態で処理され、結果の方向性データマトリックス２１０の行を形成し、および送信時間２０６が結果の方向性データマトリックス２１０の対応する列位置を識別するために処理される。送信データ量（バイト数またはパケット数）２０８は、方向性データマトリックス２１０の対応する行／列位置に適切に配置される。さらに、データは、エンドポイントペアの２つのエンドポイント間（２つのＩＰアドレスペアの２つのＩＰアドレス間）の送信方向を示すための符号（＋または−）が付けられる。故に、ネットフローレコードについては、データマトリックス２１０内の変換されたデータは、方向性であることに加え、時系列のデータである。換言すると、ネットフローの実施形態については、パーティション化処理の一部として、ワークロード生成器２１８が、ＳｒｃＩＰおよびＤｓｔＩＰの一方向関係のスカラデータを、２つのＩＰアドレスペア（チャネル）のための時系列の方向性データに変換する。
【００２５】
ここで図３を参照すると、様々な実施形態による、一群のデータを並列処理に好適な複数のワークロードにパーティション化するための、エンドポイントペアのためのインデックスキーのマトリックスおよびパーティションキータプルのマトリックスを作成するための例示的な処理が示されている。図示の通り、一群のデータを並列処理に好適な複数のワークロードにパーティション化するための、エンドポイントペアのためのインデックスキーのマトリックスおよびパーティションキータプルのマトリックスを作成するための処理３００は、ブロック３０４〜３１４で実行される処理を含んでよい。処理は、例えば、図１の前述のキー生成器１２４によって実行されてよい。代替的な実施形態において、処理３００は、一部の処理を省略した状態で、組み合わせた状態で、異なる順序で、または他の処理が追加された状態で実行されてよい。
【００２６】
実施形態において、処理３００はブロック３０４で開始してよい。ブロック３０４において、一群のデータ３０２のサブセットが、インデックスキーのマトリックス３１６およびパーティションキータプルのマトリックス３１８の生成のためのトレーニングデータセットとして、選択および読み込まれてよい。実施形態において、トレーニングデータセットは、一群のデータ３０２のサンプリングを通して選択されてよい。例えば、トレーニングデータセットは、一群のデータ３０２を５番目または１０番目のレコードおきにサンプリング（すなわち、５０％、２０％または１０％サンプリング）することを通して選択されてよい。ネットフローレコードの何らかの解析のために、トレーニングデータセットは、他の平日の代表として、特定の平日のネットフローレコードから生成されてよい。換言すると、トレーニングデータセットのサイズ、すなわちサンプリング量は、アプリケーションによって異なってよく、それはトレーニング処理の効率性および最終的なワークロードの並列化の有効性との間に求めるトレードオフに応じて決まる。概して、より小さなワークロードは、より高いサンプリングレートを必要としてよい。さらに、より低頻度のサンプリングは、ほぼ等しいワークロードを作成する可能性は低いが、少ないワークロードではスキューはより少ない。実施形態において、２つのエンドポイントの一方向関係に関連付けられたスカラデータのデータセットについては、エンドポイントペアを識別するために、トレーニングデータセットはさらに前処理されてよい。ネットフローレコードについては、ＩＰアドレスペアは、様々な送信レコードから識別されてよく、例えば、ＩＰ１‐ＩＰ２アドレスペアは、ＩＰ１からＩＰ２への送信およびＩＰ２からＩＰ１への送信から識別されてよい。実施形態において、一意のエンドポイントペア（ＩＰアドレスペア）は、並列クエリ（例えば、ＭａｐＲｅｄｕｃｅプログラム）を使用して選択されてよい。
【００２７】
次にブロック３０６において、エンドポイントペアは、順序付けられてよい。ネットフローレコードについては、ＩＰアドレスペアは、最大ＩＰアドレスから開始する降順で順序付けられてよい。
【００２８】
ブロック３０８において、エンドポイントペアのためのインデックスキーが作成されてよい。ＩＰＶ４アドレスを持つネットフローレコードについては、６４ビットインデックスキーが、ＩＰＶ４アドレスペア（チャネル）のために生成され、すべての可能なＩＰＶ４アドレスを収容するのに十分大きなインデックス空間を提供してよい。実施形態において、６４ビットインデックスキーは、符号なし３２ビット整数として、４バイトのＩＰＶ４アドレスを２つ組み合わせることによって生成されてよい。実施形態において、最下位ビットの一部（例えば、最後の７ビット）は省略されてよい。ＩＰＶ６アドレスを持つネットフローレコードについては、２５６ビットインデックスキーが、ＩＰＶ６アドレスペア（チャネル）のために生成され、すべての可能なＩＰＶ６アドレスを収容するのに十分大きなインデックス空間を提供してよい。実施形態において、２５６ビットインデックスキーは、符号なし１２８ビット整数として、１６バイトのＩＰＶ６アドレスを２つ組み合わせることによって生成されてよい。
【００２９】
ブロック３１０において、パーティションキータプルが生成されてよい。実施形態において、ブロック３１２で、エンドポイントペアの属性（アドレス／識別子等）から、アドレス／識別子の最上位部分を第１の部分と第２の部分との２つの部分に分割することによって、パーティションキータプルが生成されてよい。例えば、４つの部分のＩＰＶ４アドレスを持つ様々なネットフローの実施形態については、まずＩＰアドレスの最上位部分を分割することによって、最初の１２ビットおよび５２ビットのパーティションキーペアが生成されてよい（すなわち、第１のオクテットおよび第２のオクテットの部分を使用して）。次に、ブロック３１４において、エンドポイントペアの属性（アドレス／識別子等）の最下位部分がパーティションキーペアの第２の部分に追加されてよい。例えば、４つの部分のＩＰＶ４アドレスを持つ様々なネットフローの実施形態については、ＩＰアドレスの最下位部分の９桁が、パーティションキーペアの５２ビット部分に追加されてよい。上記の通り、代替的な実施形態においては、代わりに１６ビットおよび４８ビットのパーティションキーペアがＩＰＶ４アドレスのために生成されてよい。ＩＰＶ６アドレスについては、２５６ビットインデックスキーが生成されてよく、パーティションキータプルは、４８ビット、５２ビット、５２ビット、５２ビットおよび５２ビットのパーティションキータプル、または１６ビット、３２ビット、５２ビット、５２ビット、５２ビットおよび５２ビットのパーティションキータプル等であってよい。
【００３０】
結果として、インデックスキーのマトリックス３１６およびパーティションキータプルのマトリックス３１８が生成されてよい。
【００３１】
ここで図４を参照すると、様々な実施形態による、一群のスカラデータ全体を並列処理に好適なワークロードにパーティション化するために使用される、各々が複数のクォンタイルを有する複数のビンを判断するための例示的な処理が示されている。図示の通り、一群のスカラデータ全体を並列処理に好適なワークロードにパーティション化するために使用される、各々が複数のクォンタイルを有する複数のビンを判断するための処理４００は、ブロック４０２〜４１０で実行される処理を含んでよい。処理は、例えば、図１の前述のオプティマイザ１２６によって実行されてよい。代替的な実施形態において、処理４００は、一部の処理を省略した状態で、組み合わせた状態で、異なる順序で、または他の処理が追加された状態で実行されてよい。
【００３２】
実施形態において、処理４００はブロック４０２で開始してよい。ブロック４０２において、パーティション化されるべき一群のスカラデータ全体のビンが判断されてよい。実施形態において、ビンは、インデックス値の範囲を、複数の範囲にパーティション化することによって判断されてよい。様々なネットフローの実施形態において、インデックス値の範囲は、２８または２１６の範囲にパーティション化されてよく、２８または２１６のビンを供給する。
【００３３】
次に、ブロック４０４において、各ビンのクォンタイルが判断され、作成されてよい。まず、ブロック４０６において、様々なビンのクォンタイル数が計算されてよい。実施形態において、ビンｊのクォンタイル数ｍ＿｛ｑ，ｊ｝は、ｍ＿｛ｑ，ｊ｝＝ｈｉｓｔｊ／ｑを計算することによって計算されてよく、ここで、ｈｉｓｔｊはビンｊのヒストグラムのデータレコード数、およびｑは各クォンタイルにおける所望のデータレコード数である。次に、ブロック４０８において、ビンの下限値がクォンタイル値に追加され、エンドポイントペアのインデックス空間をマッピングし直してよい。その後、ブロック４１０において、クォンタイルは、クォンタイルのマスタセットの末尾に連結されてよい。各ビンに対し、ブロック４０６〜４１０の処理が繰り返されてよい。実施形態において、それは左ビンエッジ値が、下限右ビンエッジに等しく且つすべてのビンエッジ値の上限に等しいときである。
【００３４】
ここで図５を参照すると、様々な実施形態による、クォンタイルを持つ判断されたビンを使用して、並列処理に好適なワークロードを生成するための例示的な処理が示されている。図示の通り、クォンタイルを持つ判断されたビンを使用して、並列処理に好適なワークロードを生成するための処理５００は、ブロック５０２〜５０６で実行される処理を含んでよい。処理は、例えば、図１の前述のワークロード生成器１２８によって実行されてよい。代替的な実施形態において、処理５００は、一部の処理を省略した状態で、組み合わせた状態で、異なる順序で、または他の処理が追加された状態で実行されてよい。
【００３５】
実施形態において、処理５００はブロック５０２で開始してよい。ブロック５０２において、エンドポイントペアは、順序付けられてよい。ネットフローの実施形態については、ＩＰアドレスペアが降順で順序付けられてよい。次に、ブロック５０４において、上記の通り、インデックスキーがエンドポイントペアのために作成されてよい。
【００３６】
ブロック５０６において、マスタークォンタイルアレイが、エンドポイントペアのインデックスキーを使用して、データレコードを格納するための対応するクォンタイルを識別すべく検索されてよい。実施形態において、検索はバイナリ検索方法を使用して実行されてよい。
【００３７】
ブロック５０８において、ワークロードが、ブロック５０６で実行された検索から戻されたインデックスｋおよびｋ＋１を上限値および下限値として使用し、アクセスされてよい。
【００３８】
ブロック５１０において、データレコードのために、アクセスされたワークロードが検索されてよい。実施形態において、ブロック５１２において、データレコードのインデックスがインデックスｋ＋１の１／２より小さいかまたは等しい（ＬＥ）かの判断がなされてよい。データレコードのインデックスが、インデックスｋ＋１の１／２より小さいかまたは等しい（ＬＥ）場合、ブロック５１４において、ワークロードの先頭から、データレコードのための前方検索が実行されてよい。他方で、データレコードのインデックスがインデックスｋ＋１の１／２より大きい（ＧＴ）場合、ワークロードの末尾から、データレコードのための後方検索が実行されてよい。次に、ブロック５１８において、データレコードの合致が見つかったかどうかの判断がなされてよい。
【００３９】
データレコードの合致が見つからなかった場合、ブロック５２０で、データレコードのインデックスがマスタークォンタイルアレイにおけるインデックスｋ＋１の１／２より小さいかまたは等しい（ＬＥ）かの判断が繰り返しなされてよい。データレコードのインデックスがマスタークォンタイルアレイにおけるインデックスｋ＋１の１／２より小さいかまたは等しい（ＬＥ）場合、ブロック５２２において、データレコードがワークロードの先頭に追加されてよい。他方、データレコードのインデックスがマスタークォンタイルアレイにおけるインデックスｋ＋１の１／２より大きい（ＧＴ）場合、データレコードがワークロードの末尾に追加されてよい。代替的な実施形態においては、ブロック５１２における判断結果が格納されてよく（例えば、フラグを介して）、ブロック５２０における繰り返しの判断は、格納された情報（例えば、フラグ設定）を検査することによってなされてよい。
【００４０】
次に、ブロック５２６において、追加されたデータレコードのデータが、方向性指標を含めて更新されてよい。ネットフローの実施形態においては、送信データ量が方向を示すための＋１または−１で乗算されてよい。
【００４１】
ブロック５１８に戻り、データレコードの合致が見つかると、処理５００はブロック５２６に直接進み、データレコードが、方向性指標を含めて更新されてよい。
【００４２】
ここで図６を参照すると、様々な実施形態による、本開示の態様を実施するのに好適な例示のコンピュータシステムが示されている。図示の通り、コンピュータシステム６００は、１または複数のプロセッサ６０２およびシステムメモリ６０４を含んでよい。各プロセッサ６０２は、１または複数のプロセッサコアを含んでよい。システムメモリ６０４は、特に、図１のデータプリプロセッサ１０４（またはその態様）および／または解析器１０６を含む、オペレーティングシステムおよび様々なアプリケーションの非永続的なコピーを有してよく、これらをまとめて計算ロジック６２２として示す。また、コンピュータシステム６００は、１または複数の大容量記憶デバイス６０６、入／出力デバイス６０８および通信インタフェース６１０を含んでよい。要素６０２‐６１０は、システムバス６１２を介して互いに連結されてよく、システムバス６１２は１または複数のバスを表わしてよい。複数のバスの場合、それらは１または複数のバスブリッジ（不図示）でブリッジされてよい。
【００４３】
大容量記憶デバイス６０６は、計算ロジック６２２の永続的なコピーを含んでよい。また、大容量記憶デバイス６０６は、一群のデータ１１２を格納するために使用されてもよい。大容量記憶デバイス６０６の例としては、限定はされないが、ディスケット、ハードドライブ、コンパクトディスクリードオンリメモリ（ＣＤ‐ＲＯＭ）等が含まれてよい。通信インタフェース６１０の例としては、限定はされないが、有線および／または無線のネットワークインタフェースカード、モデム等が含まれてよい。通信インタフェース６１０は、様々な有線または無線の通信をサポートしてよく、これらとしては、限定はされないが、３Ｇ／４Ｇ／６Ｇ、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）等が含まれる。入／出力デバイス６０８の例としては、キーボード、カーソル制御、タッチセンサー式ディスプレイ等が含まれてよい。
【００４４】
計算ロジック６２２を除き、これらの要素６０２〜６１８の各々は、当該技術分野で既知のその従来の機能を実行してよい。これらの要素６０２〜６１８の数、能力および／または容量は、変換、パーティション化および解析されるべきデータ１１２のサイズに応じて、異なってよい。さもなければ、要素６０２〜６１８の構成は既知であるので、さらに説明することはしない。
【００４５】
当業者に理解されるところであるが、本開示は、方法またはコンピュータプログラム製品として具現化されてよい。従って、本開示は、上記の通りハードウェアでの具現化に加え、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等）、またはソフトウェア態様とハードウェア態様とを組み合わせる実施形態の形を取ってよく、それらはすべて一般的に「回路」、「モジュール」若しくは「システム」と呼ばれてよい。さらに、本開示は、任意の有形または非一時的媒体の表現に具現化されたコンピュータプログラム製品の形を取ってもよく、当該媒体は当該媒体内に具現化されたコンピュータで使用可能なプログラムコードを有する。図７は、命令の格納に使用するのに好適であってよい例示のコンピュータ可読非一時的記録媒体を示し、当該命令は、装置による命令の実行に応答して、装置に対し、本開示の選択された態様を実施させる。図示の通り、非一時的コンピュータ可読記録媒体７０２は、複数のプログラミング命令７０４を含んでよい。プログラミング命令７０４は、例えばコンピュータシステム６００等のデバイスが、当該プログラミング命令の実行に応答して、例えばデータプリプロセッサ１０４に関連付けられた様々な処理を実行できるようにするよう構成されてよい。代替的な実施形態においては、代わりに、プログラミング命令７０４は、複数のコンピュータ可読非一時的記録媒体７０２上に配置されてよい。代替的な実施形態においては、プログラミング命令７０４は、信号等のコンピュータ可読一時的記録媒体７０２上に配置されてよい。
【００４６】
１または複数のコンピュータで使用可能な媒体またはコンピュータ可読媒体の任意の組み合わせが利用されてよい。コンピュータで使用可能な媒体またはコンピュータ可読媒体は、例えば、限定はされないが、電子、磁気、光、電磁、赤外線または半導体のシステム、装置、デバイスまたは伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例（非網羅的な列挙）としては、以下のもの、すなわち、１または複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ（ＣＤ‐ＲＯＭ）、光ストレージデバイス、インターネット若しくはイントラネットをサポートするような送信媒体、または磁気ストレージデバイスが含まれるであろう。コンピュータで使用可能またはコンピュータ可読媒体は、プログラムが印刷される紙または別の好適な媒体ですらあってよいことに留意されたい。というのは、プログラムは、例えば、当該紙または他の媒体の光学的スキャンを介して電子的にキャプチャされた後、コンパイル、解釈または好適な態様でのそれら以外の処理が可能であり、必要な場合はその後にコンピュータメモリに格納可能であるからである。この文書の文脈では、コンピュータで使用可能な媒体またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれらとの連携で、使用するためのプログラムを包含、格納、通信、伝搬または転送できるいずれの媒体であってもよい。コンピュータで使用可能な媒体は、ベースバンドにおけるまたは搬送波の一部としての、伝搬されたデータ信号を含んでよく、当該データ信号はデータ信号と共に具現化されたコンピュータで使用可能なプログラムコードを備える。コンピュータで使用可能なプログラムコードは、限定はされないが、無線、電線、光ファイバケーブル、ＲＦ等を含む、任意の適切な媒体を使用して送信されてよい。
【００４７】
本開示の処理を実行するためのコンピュータプログラムコードは、１または複数のプログラミング言語を任意に組み合わせて記述されてよく、それらとしては、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または類似のプログラミング言語等の従来の手続型プログラミング言語が含まれる。プログラムコードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に、あるいはリモートコンピュータ若しくはサーバ上で全体的に実行されてよい。後者のシナリオでは、リモートコンピュータはユーザのコンピュータに任意のタイプのネットワークを介して接続されてよく、それらとしては、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）が含まれる。あるいは、接続は、外部のコンピュータ（例えば、インターネットサービスプロバイダを使用してインターネットを介して）に対しなされてよい。
【００４８】
本開示は、本開示の実施形態による方法、装置（システム）およびコンピュータプログラム製品に係るフロー図並びに／またはブロック図を参照して記載されている。フロー図および／またはブロック図の各ブロック、並びにフロー図および／またはブロック図のブロックの組み合わせが、コンピュータプログラム命令によって実装可能であることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに供給され、機械を生成してよく、その結果、命令はコンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行され、フローチャートおよび／またはブロック図の１つのブロック若しくは複数のブロックに示された機能／動作を実装するための手段を形成する。
【００４９】
また、これらのコンピュータプログラム命令は、コンピュータ可読媒体に格納されてよく、当該命令は、コンピュータまたは他のプログラム可能なデータ処理装置に対し、特定の方法で機能するよう命令可能であり、その結果、コンピュータ可読媒体内に格納された命令は、フローチャートおよび／またはブロック図の１つのブロック若しくは複数のブロックに示された機能／動作を実装する命令手段を含む製品を生成する。
【００５０】
また、コンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置にロードされ、一連の処理ステップがコンピュータまたは他のプログラム可能な装置上で実行され、コンピュータで実装されるプロセスを生成してよく、その結果、コンピュータまたは他のプログラム可能な装置上で実行される命令は、フローチャートおよび／またはブロック図の１つのブロック若しくは複数のブロックに示された機能／動作を実装するためのプロセスをもたらす。
【００５１】
図面中のフローチャートおよびブロック図は、本開示の様々な実施形態による、システム、方法およびコンピュータプログラム製品の考え得る実装に関するアーキテクチャ、機能および処理を示す。この点において、フローチャートまたはブロック図の各ブロックは、モジュール、セグメントまたはコードの一部を表わしてよく、それらは示された論理機能を実装するための１または複数の実行可能な命令を含む。また、いくつかの代替的な実装においては、ブロックに示される機能は、図に示される順序とは異なって行われてよいことに留意されたい。例えば、連続して図示されている２つのブロックが実際には、実質的に同時に実行されてもよく、あるいは、当該ブロックは、関与する機能に応じて、逆順に実行される場合もあってよい。また、ブロック図および／またはフロー図の各ブロック、並びにブロック図および／またはフロー図のブロックの組み合わせが、示された機能または動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアおよびコンピュータ命令の組み合わせによって実装可能であることにも留意されたい。
【００５２】
本明細書で使用される用語は、特定の実施形態の説明目的のためだけに使用されており、本開示を限定する意図ではない。本明細書で使用される、単数形の「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が明示に別途の指定をしない限り、複数形も含む意図である。さらに、「ｃｏｍｐｒｉｓｅｓ」および／または「ｃｏｍｐｒｉｓｉｎｇ」という用語が本明細書で使用されるとき、記載された特徴、整数、ステップ、処理、要素および／またはコンポーネントの存在を指定するものの、１または複数の他の特徴、整数、ステップ、処理、要素、コンポーネントおよび／またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００５３】
実施形態は、コンピュータ処理、コンピューティングシステムとして、またはコンピュータ可読媒体に係るコンピュータプログラム製品等の製品として実装されてよい。コンピュータプログラム製品は、コンピュータシステムによって読み取り可能であり且つコンピュータ処理を実行するためのコンピュータプログラム命令をエンコーディングするコンピュータ記録媒体であってよい。
【００５４】
以下の請求項における対応する構造、材料、動作、およびあらゆるミーンズプラスファンクションまたはステッププラスファンクション要素の均等内容は、具体的に特許請求された他の請求項の要素と組み合わされて機能を実行するための任意の構造、材料または動作を含む意図である。本開示の説明は、例示および説明の目的で示されているものの、網羅的であること、または開示された形態の開示に限定する意図はない。本開示の範囲および精神から逸脱することなく、多くの修正および変形が当業者にとって自明であろう。本開示の原理および実際の用途を最善に説明し、当業者が実施形態の開示内容を理解できるように、想起される特定の使用に好適な様々な修正例と共に、実施形態は選択され、記載された。
【００５５】
図６を再度参照すると、一実施形態については、プロセッサ６０２のうちの少なくとも１つが、データプリプロセッサ１０４を有するメモリと共にパッケージされてよい。一実施形態については、プロセッサ６０２のうちの少なくとも１つは、アイトラッカ１０４を有するメモリと共にパッケージされ、システムインパッケージ（ＳｉＰ）を形成してよい。一実施形態については、プロセッサ６０２のうちの少なくとも１つは、データプリプロセッサ１０４を有するメモリと同一ダイ上で統合されてよい。一実施形態については、プロセッサ６０２のうちの少なくとも１つは、データプリプロセッサ１０４を有するメモリと共にパッケージされ、システムオンチップ（ＳｏＣ）を形成してよい。
【００５６】
故に、本開示の様々な例示の実施形態が記載された。これらは限定ではないが、次のものを含む。
【００５７】
例１は、データを処理するための装置であってよい。装置は、１または複数のプロセッサと、上記１または複数のプロセッサによって動作され、複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化する、データプリプロセッサと、を備えてよく、上記パーティション化は上記複数の２つのエンドポイントペアを複数のビンにパーティション化することを含み、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む、データを処理する。
【００５８】
例２は、上記データプリプロセッサは、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成するキー生成器を含んでよい、例１であってよい。
【００５９】
例３は、上記キー生成器は、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成し、且つ上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成してよい、例２であってよい。
【００６０】
例４は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよい、例２であってよい。
【００６１】
例５は、上記ＩＰアドレスはＩＰＶ４アドレスであってよく、上記キー生成器は、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスを符号なし３２ビット整数として使用して、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスから６４ビットインデックスキーのマトリックスを生成してよい、例４であってよい。
【００６２】
例６は、ＩＰＶ４アドレスは４つの順序付けられた部分を有してよく、上記キー生成器はさらに、１２ビットおよび５２ビットのパーティションキーペアのマトリックスを、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスの最大から最小へ順序付けられた部分から生成してよい、例５であってよい。
【００６３】
例７は、上記データプリプロセッサは、上記複数のビンおよび上記ビンの上記複数のクォンタイルを判断するためのオプティマイザを有してよい、例１から６のいずれかであってよい。
【００６４】
例８は、上記オプティマイザは、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割してよい、例７であってよい。
【００６５】
例９は、上記オプティマイザは、上記ビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算してよい、例７であってよい。
【００６６】
例１０は、上記データプリプロセッサは、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入する、上記オプティマイザに連結されたワークロード生成器をさらに含んでよい、例７であってよい。
【００６７】
例１１は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記ワークロード生成器は、上記ＩＰアドレスペアの時系列の送信データ量を備えた上記複数のワークロードを投入してよい、例１０であってよい。
【００６８】
例１２は、上記ワークロード生成器はさらに、上記ＩＰアドレスペアの上記時系列の送信データ量を、上記ＩＰアドレスペアの方向性の時系列の送信データ量に変換してよい、例１１であってよい。
【００６９】
例１３は、上記データプリプロセッサに連結された１または複数の解析器をさらに備え、上記１または複数の解析器は上記１または複数のプロセッサによって動作され、上記２つのエンドポイントペアの上記方向性データを有する上記複数のワークロードを並列に解析する、例１０であってよい。
【００７０】
例１４は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記１または複数の解析器は、信号解析またはパターン解析のために、上記複数のワークロードにおける上記時系列の送信データ量に少なくとも部分的に基づいて、上記ＩＰアドレスペアのための複数のグラフィック解析を生成してよい、例１３であってよい。
【００７１】
例１５は、データを処理するための方法であってよい。上記方法は、複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、コンピューティングデバイスによって受信する段階と、上記一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードに、上記コンピューティングデバイスによってパーティション化する段階と、を備えてよく、上記パーティション化する段階は、上記複数の２つのエンドポイントペアを複数のビンにパーティション化する段階を含でんよく、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む。
【００７２】
例１６は、上記パーティション化する段階は、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成する段階を含んでよい、例１５であってよい。
【００７３】
例１７は、上記生成する段階は、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成する段階と、上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成する段階と、を含んでよい、例１６であってよい。
【００７４】
例１８は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよい、例１６であってよい。
【００７５】
例１９は、上記ＩＰアドレスはＩＰＶ６アドレスであり、上記生成する段階は、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスを符号なし１２８ビット整数として使用して、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスから２５６ビットインデックスキーのマトリックスを生成する段階を含んでよい、例１８であってよい。
【００７６】
例２０は、上記ＩＰＶ６アドレスは複数の順序付けられた部分を含んでよく、上記生成する段階は、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスの最大から最小へ順序付けられた部分から、パーティションキータプルのマトリックスを生成する段階をさらに含んでよい、例１９であってよい。
【００７７】
例２１は、上記パーティション化する段階は、上記複数のビンおよび上記ビンの上記複数のクォンタイルを判断する段階をさらに含んでよい、例１５から２０のいずれかであってよい。
【００７８】
例２２は、上記判断する段階は、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割する段階を含んでよい、例２１であってよい。
【００７９】
例２３は、上記判断する段階は、上記ビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算する段階を含んでよい、例２１であってよい。
【００８０】
例２４は、上記パーティション化する段階は、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入する段階をさらに含んでよい、例２１であってよい。
【００８１】
例２５は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記ワークロード生成器は、上記ＩＰアドレスペアの時系列の送信データ量を備えた上記複数のワークロードを投入してよい、例２４であってよい。
【００８２】
例２６は、上記投入する段階は、上記ＩＰアドレスペアの上記時系列の送信データ量を、上記ＩＰアドレスペアの方向性の時系列の送信データ量に変換する段階を含んでよい、例２５であってよい。
【００８３】
例２７は、上記２つのエンドポイントペアの方向性データを有する上記複数のワークロードを並列に解析する段階をさらに備えてよい、例２５であってよい。
【００８４】
例２８は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記１または複数の解析器は、信号解析またはパターン解析のために、上記複数のワークロードにおける上記時系列の送信データ量に少なくとも部分的に基づいて、上記ＩＰアドレスペアのための複数のグラフィック解析を生成してよい、例２７であってよい。
【００８５】
例２９は、１または複数のコンピュータ可読媒体であってよく、上記１または複数のコンピュータ可読媒体は自身に格納された複数の命令を備え、上記複数の命令は、コンピューティングデバイスによる上記複数の命令の実行に応答して、上記コンピューティングデバイスに、複数の２つのエンドポイントペアの一方向関係に関連付けられた一群のスカラデータを受信させ、上記一群のスカラデータを上記複数の２つのエンドポイとペアに関連付けられた方向性データの複数のワークロードにパーティション化させ、上記パーティション化は、上記複数の２つのエンドポイントペアを複数のビンにパーティション化することを含んでよく、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む。
【００８６】
例３０は、上記パーティションは、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成することを含んでよい、例２９であってよい。
【００８７】
例３１は、上記生成することは、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成することと、上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成することと、を含んでよい、例３０であってよい。
【００８８】
例３２は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよい、例３０であってよい。
【００８９】
例３３は、上記ＩＰアドレスはＩＰＶ４アドレスであり、上記キー生成器は、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスを符号なし３２ビット整数として使用して、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスから６４ビットインデックスキーのマトリックスを生成してよい、例３２であってよい。
【００９０】
例３４は、ＩＰＶ４アドレスは４つの順序付けられた部分を有してよく、上記生成することは、１２ビットおよび５２ビットのパーティションキーペアのマトリックスを、上記ＩＰＶ４アドレスペアの上記ＩＰＶ４アドレスの最大から最小へ順序付けられた部分から生成することを含んでよい、例３３であってよい。
【００９１】
例３５は、上記パーティション化することは、上記複数のビンおよび上記ビンの上記複数のクォンタイルを判断することを含んでよい、例２９から３４のいずれかであってよい。
【００９２】
例３６は、上記判断することは、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割することを含んでよい、例３５であってよい。
【００９３】
例３７は、上記判断することは、上記ビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算することを含んでよい、例３５であってよい。
【００９４】
例３８は、上記パーティション化することは、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入することを含んでよい、例３５であってよい。
【００９５】
例３９は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記ワークロード生成器は、上記ＩＰアドレスペアの時系列の送信データ量を備えた上記複数のワークロードを投入してよい、例３８であってよい。
【００９６】
例４０は、上記ワークロード生成器はさらに、上記ＩＰアドレスペアの上記時系列の送信データ量を、上記ＩＰアドレスペアの方向性の時系列の送信データ量に変換してよい、例３９であってよい。
【００９７】
例４１は、上記コンピューティングデバイスはさらに、上記複数の２つのエンドポイントペアの方向性データを有する上記複数のワークロードを並列で解析させる、例３８であってよい。
【００９８】
例４２は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記１または複数の解析器は、信号解析またはパターン解析のために、上記複数のワークロードにおける上記時系列の送信データ量に少なくとも部分的に基づいて、上記ＩＰアドレスペアのための複数のグラフィック解析を生成してよい、例４１であってよい。
【００９９】
例４３は、データを処理するための装置であってよい。上記装置は、複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを受信するための手段と、上記一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化するための手段と、を備えてよく、上記パーティション化するための手段は、上記複数の２つのエンドポイントペアを複数のビンにパーティション化するための手段を含でんよく、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む。
【０１００】
例４４は、上記パーティション化するための手段は、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成するための手段を含んでよい、例４３であってよい。
【０１０１】
例４５は、上記生成するための手段は、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成するための手段と、上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成するための手段と、を含んでよい、例４４であってよい。
【０１０２】
例４６は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよい、例４４であってよい。
【０１０３】
例４７は、上記ＩＰアドレスはＩＰＶ６アドレスであり、上記生成は、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスを符号なし１２８ビット整数として使用して、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスから２５６ビットインデックスキーのマトリックスを生成することを含んでよい、例４６であってよい。
【０１０４】
例４８は、ＩＰＶ６アドレスは、複数の順序付けられた部分を含んでよく、上記生成するための手段は、上記ＩＰＶ６アドレスペアの上記ＩＰＶ６アドレスの最大から最小へ順序付けられた部分から、パーティションキータプルのマトリックスを生成するための手段をさらに含んでよい、例４７であってよい。
【０１０５】
例４９は、上記パーティション化するための手段は、上記複数のビンおよび上記ビンの上記複数のクォンタイルを判断するための手段をさらに含んでよい、例４３および４８であってよい。
【０１０６】
例５０は、上記判断するための手段は、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割するための手段を含んでよい、例４９であってよい。
【０１０７】
例５１は、上記判断するための手段は、上記ビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算するための手段を含んでよい、例４９であってよい。
【０１０８】
例５２は、上記パーティション化するための手段は、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入するための手段をさらに含んでよい、例４９であってよい。
【０１０９】
例５３は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および上記ワークロード生成器は、上記ＩＰアドレスペアの時系列の送信データ量を備えた上記複数のワークロードを投入してよい、例５２であってよい。
【０１１０】
例５３の装置は、上記投入するための手段は、上記ＩＰアドレスペアの上記時系列の送信データ量を、上記ＩＰアドレスペアの方向性の時系列の送信データ量に変換するための手段を含んでよい。
【０１１１】
例５３の装置は、上記２つのエンドポイントペアの前記方向性データを有する前記複数のワークロードを並列に解析するための手段をさらに備える。
【０１１２】
例５５の装置は、２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有してよく、２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有してよく、エンドポイントぺアは、ＩＰアドレスペアを有してよく、および解析するための手段は、信号解析またはパターン解析のために、上記複数のワークロードにおける上記時系列の送信データ量に少なくとも部分的に基づいて、上記ＩＰアドレスペアのための複数のグラフィック解析を生成するための手段を含んでよい。
【０１１３】
本開示の精神または範囲から逸脱することなく、様々な修正例および変形例が、開示されたデバイスおよび関連方法の実施形態においてなされ得ることは当業者にとって自明なところである。故に、当該修正例および変形例がいずれかの請求項並びにそれらの均等内容の範囲に属する場合、本開示は上記開示の実施形態に係る当該修正例および変形例も包含する意図である。
（項目１）
１または複数のプロセッサと、
上記１または複数のプロセッサによって動作され、複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化する、データプリプロセッサと、を備え、
上記パーティション化は上記複数の２つのエンドポイントペアを複数のビンにパーティション化することを含み、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む、データを処理するための装置。
（項目２）
上記データプリプロセッサは、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成するキー生成器を含む、項目１に記載の装置。
（項目３）
上記キー生成器は、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成し、且つ上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成する、項目２に記載の装置。
（項目４）
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスのペアを有する、項目２に記載の装置。
（項目５）
上記ＩＰアドレスはＩＰＶ４アドレスであり、上記キー生成器は、上記ＩＰＶ４アドレスのペアの上記ＩＰＶ４アドレスを符号なし３２ビット整数として使用して、上記ＩＰＶ４アドレスのペアの上記ＩＰＶ４アドレスから６４ビットインデックスキーのマトリックスを生成する、項目４に記載の装置。
（項目６）
ＩＰＶ４アドレスは４つの順序付けられた部分を有し、上記キー生成器はさらに、１２ビットおよび５２ビットのパーティションキーペアのマトリックスを、上記ＩＰＶ４アドレスのペアの上記ＩＰＶ４アドレスの最大から最小へ順序付けられた部分から生成する、項目５に記載の装置。
（項目７）
上記データプリプロセッサは、上記複数のビンおよび上記複数のビンの上記複数のクォンタイルを判断するためのオプティマイザを有する、項目１から６のいずれか一項に記載の装置。
（項目８）
上記オプティマイザは、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割する、項目７に記載の装置。
（項目９）
上記オプティマイザは、上記複数のビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算する、項目７に記載の装置。
（項目１０）
上記データプリプロセッサは、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入する、上記オプティマイザに連結されたワークロード生成器をさらに含む、項目７に記載の装置。
（項目１１）
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスペアを有し、および
上記ワークロード生成器は、上記ＩＰアドレスペアの時系列の送信データ量を備えた上記複数のワークロードを投入する、項目１０に記載の装置。
（項目１２）
上記ワークロード生成器はさらに、上記ＩＰアドレスペアの上記時系列の送信データ量を、上記ＩＰアドレスペアの方向性の時系列の送信データ量に変換する、項目１１に記載の装置。
（項目１３）
上記データプリプロセッサに連結された１または複数の解析器をさらに備え、上記１または複数の解析器は上記１または複数のプロセッサによって動作され、上記複数の２つのエンドポイントペアの上記方向性データを有する上記複数のワークロードを並列に解析する、項目１０に記載の装置。
（項目１４）
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントぺアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスペアを有し、および
上記１または複数の解析器は、信号解析またはパターン解析のために、上記複数のワークロードにおける時系列の送信データ量に少なくとも部分的に基づいて、上記ＩＰアドレスペアのための複数のグラフィック解析を生成する、項目１３に記載の装置。
（項目１５）
複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを、コンピューティングデバイスによって受信する段階と、
上記一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードに、上記コンピューティングデバイスによってパーティション化する段階と、を備え、
上記パーティション化する段階は、上記複数の２つのエンドポイントペアを複数のビンにパーティション化する段階を含み、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む、データを処理するための方法。
（項目１６）
上記パーティション化する段階は、上記一群のスカラデータから派生されたトレーニングデータセットに少なくとも部分的に基づいて、上記複数の２つのエンドポイントペアのためのインデックスキーのマトリックスおよび上記インデックスキーのためのパーティションキーペアのマトリックスを生成する段階を含む、項目１５に記載の方法。
（項目１７）
上記生成する段階は、上記エンドポイントペアの属性に基づいて、上記インデックスキーを生成する段階と、上記エンドポイントペアの上記属性の選択された部分から上記パーティションキーペアを生成する段階と、を含む、項目１６に記載の方法。
（項目１８）
２つのエンドポイントペアの一方向関係は、２つのインターネットプロトコル（ＩＰ）アドレスのソースおよびデスティネーションの関係を有し、
２つのエンドポイントペアの一方向関係に関連付けられたスカラデータは、ソースＩＰアドレスからデスティネーションＩＰアドレスへ送信されたデータ量を有し、
エンドポイントぺアは、ＩＰアドレスのペアを有する、項目１６に記載の方法。
（項目１９）
上記ＩＰアドレスはＩＰＶ６アドレスであり、上記生成する段階は、上記ＩＰＶ６アドレスのペアの上記ＩＰＶ６アドレスを符号なし１２８ビット整数として使用して、上記ＩＰＶ６アドレスのペアの上記ＩＰＶ６アドレスから２５６ビットインデックスキーのマトリックスを生成する段階を含み、
ＩＰＶ６アドレスは、複数の順序付けられた部分を有し、上記生成する段階は、上記ＩＰＶ６アドレスのペアの上記ＩＰＶ６アドレスの最大から最小へ順序付けられた部分から、パーティションキータプルのマトリックスを生成する段階をさらに含む、項目１８に記載の方法。
（項目２０）
上記パーティション化する段階は、上記複数のビンおよび上記複数のビンの上記複数のクォンタイルを判断する段階をさらに含む、項目１５に記載の方法。
（項目２１）
上記判断する段階は、上記複数のビンを判断すべく、上記エンドポイントペアのインデックスキーの範囲を複数のサブ範囲に分割する段階と、
上記複数のビンの上記複数のクォンタイルを判断すべく、ビンに対応するヒストグラムのデータレコード数を、各クォンタイルにおける所望のレコード数で除算する段階と、を含む、項目２０に記載の方法。
（項目２２）
上記パーティション化する段階は、上記判断されたビンおよび上記ビンのクォンタイルに基づいて、上記複数のワークロードを投入する段階をさらに含む、項目２０に記載の方法。
（項目２３）
１または複数のコンピュータ可読媒体であって、上記１または複数のコンピュータ可読媒体は自身に格納された複数の命令を備え、上記複数の命令は、コンピューティングデバイスによる上記複数の命令の実行に応答して、上記コンピューティングデバイスに、項目１５から２２のいずれか一項に記載の方法を実施させる、１または複数のコンピュータ可読媒体。
（項目２４）
複数の２つのエンドポイントぺアの一方向関係に関連付けられた一群のスカラデータを受信するための手段と、
上記一群のスカラデータを、上記複数の２つのエンドポイントぺアに関連付けられた方向性データの複数のワークロードにパーティション化するための手段と、を備え、
上記パーティション化するための手段は、上記複数の２つのエンドポイントペアを複数のビンにパーティション化するための手段を含み、各ビンは上記複数の２つのエンドポイントペアの複数のクォンタイルを含む、データを処理するための装置。
（項目２５）
上記複数の２つのエンドポイントペアの上記方向性データを有する上記複数のワークロードを並列に解析するための手段をさらに備える、項目２４に記載の装置。
【図１】
0006700277.tif 000002
【図２】
0006700277.tif 000003
【図３】
0006700277.tif 000004
【図４】
0006700277.tif 000005
【図５】
0006700277.tif 000006
【図６】
0006700277.tif 000007
【図７】
0006700277.tif 000008