(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】データ記録及び分析システム
(51)【国際特許分類】
G06F 16/906 20190101AFI20240612BHJP
【FI】
G06F16/906
【外国語出願】
(21)【出願番号】P 2019185614
(22)【出願日】2019-10-09
【審査請求日】2022-10-05
(32)【優先日】2019-04-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514046574
【氏名又は名称】キーサイト テクノロジーズ, インク.
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100180231
【氏名又は名称】水島 亜希子
(74)【代理人】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】後藤 正治
【審査官】早川 学
(56)【参考文献】
【文献】特開2019-020785(JP,A)
【文献】米国特許出願公開第2010/0325132(US,A1)
【文献】特開2018-084557(JP,A)
【文献】特開2016-050830(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データストリームを記録し分析するシステムであって、
前記データストリームを受け取るように適合された入力ポートであって、該データストリームはデータ値の順序付けられたシーケンスを含む、入力ポートと、
前記データストリームを大容量記憶デバイスに通信するように適合された出力ポートと、
前記データストリームが該システムによって受け取られる際に該データストリームの所定部分を一時的に記憶するために、前記入力ポートに接続されたバッファと、
前記バッファに記憶された前記データストリームの、抽出プロトコルを満足させる新たな抽出データセグメント(EDS)と呼ばれるセグメントを識別し、ここで、該抽出プロトコルは前記新たなEDSの開始を定義する所定の閾値を含むトリガ条件を備え、第1の類似性プロトコルを使用して前記新たなEDSを複数の参照データセグメント(RDS)の各々と比較するコントローラであって、該コントローラは、前記第1の類似性プロトコルが前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合には、該新たなEDSを識別する情報をRDSデータベースに記憶し、該コントローラは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合には、新たなRDSを生成し、各RDSは、そのRDSと類似していることが分かった前記EDSと、該コントローラに前記新たなRDSを生成させた前記新たなEDSとのリストを含む、コントローラと
を備えるシステム。
【請求項2】
前記第1の類似性プロトコルは時間領域で比較をするものである、請求項1に記載のシステム。
【請求項3】
前記第1の類似性プロトコルは、2つのデータセグメントの間の距離の測定値と類似性閾値とを計算し、前記2つのデータセグメントは、前記距離が前記類似性閾値との所定関係を有する場合には、類似しているものとして定義される、請求項1に記載のシステム。
【請求項4】
前記コントローラは、既存のRDSから、前記第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、そのRDSに関連するEDSを互いに比較することにより、複数の新たなRDSを生成する、請求項3に記載のシステム。
【請求項5】
前記抽出プロトコルは、前記新たなEDSが開始する前記バッファにおけるデータ値と、前記新たなEDSが終了する前記バッファにおけるデータ値とを識別し、
前記新たなEDSが終了するところの前記データ値は、前記新たなEDSが開始したところの前記データ値からの一定数のサンプル値である、請求項1に記載のシステム。
【請求項6】
前記第1の類似性プロトコルは、2つのデータセグメントの間の距離の測定値と類似性閾値とを計算し、前記距離の測定値が前記類似性閾値と所定関係を有する場合には、前記2つのデータセグメントは類似しているものとして定義され、
前記コントローラは、前記第1の類似性プロトコルより制限的ではない第2の類似性プロトコルによって判断される際に前記RDSが互いに類似している場合には、ユーザ入力に応じて前記RDSのうちの2つを結合する、請求項1に記載のシステム。
【請求項7】
前記第1の類似性プロトコルは、2つのデータセグメントの間の距離の測定値と類似性閾値とを計算し、前記距離の測定値が前記類似性閾値と所定関係を有する場合には、前記2つのデータセグメントは類似しているものとして定義され、
前記コントローラは、前記第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、既存のRDSから、そのRDSに関連するEDSを互いに比較することによって、複数の新たなRDSを生成する、請求項1に記載のシステム。
【請求項8】
前記コントローラは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する、請求項1に記載のシステム。
【請求項9】
前記コントローラは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成し、
前記コントローラは、EDSの一部ではないデータ値の各シーケンスを、該シーケンスにおけるシンボルの数を示すカウントに置き換える、請求項1に記載のシステム。
【請求項10】
データ値の順序付けられたシーケンスを含むデータストリームを信号のクラスタに対して分析するように、データ処理システムを動作させる方法であって、
前記データ処理システムは、前記データストリームを逐次受け取り、各データ値に、該データ値が受け取られる際にインデックスを割り当てることと、
前記データ処理システムは、前記受け取られたデータストリームの一部をバッファに記憶することと、
前記データ処理システムは、前記バッファから、抽出プロトコルを満足させる新たな抽出データセグメント(EDS)を抽出することであって、該抽出プロトコルは前記新たなEDSの開始を定義する所定の閾値を含むトリガ条件を備えるものであることと、
前記データ処理システムが、第1の類似性プロトコルを使用して、前記新たなEDSを複数の参照データセグメント(RDS)の各々と比較することであって、前記データ処理システムは、前記第1の類似性プロトコルが前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合には、該新たなEDSを識別する情報をRDSデータベースに記憶し、前記データ処理システムは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合には、新たなRDSを生成することと
を含む方法。
【請求項11】
前記第1の類似性プロトコルは時間領域で比較をするものである、請求項10に記載の方法。
【請求項12】
前記抽出プロトコルは、前記新たなEDSが開始する前記バッファにおけるデータ値と、前記新たなEDSが終了する前記バッファにおけるデータ値とを識別し、
前記新たなEDSが終了するところの前記データ値は、前記新たなEDSが開始したところの前記データ値からの一定数のサンプル値である、請求項10に記載の方法。
【請求項13】
前記データ処理システムは、2つのデータセグメントの間の距離の測定値と類似性閾値とを計算し、前記距離の測定値が前記類似性閾値と所定関係を有する場合には、前記2つのデータセグメントは類似しているものとして定義され、
前記データ処理システムは、前記第1の類似性プロトコルより制限的ではない第2の類似性プロトコルによって判断される際に前記RDSが互いに類似している場合には、ユーザ入力に応じて前記RDSのうちの2つを結合する、請求項10に記載の方法。
【請求項14】
前記データ処理システムは、2つのデータセグメントの間の距離の測定値と類似性閾値とを計算し、前記距離の測定値が前記類似性閾値と所定関係を有する場合には、前記2つのデータセグメントは類似しているものとして定義され、
前記データ処理システムは、前記第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、既存のRDSから、そのRDSに関連するEDSを互いに比較することによって、複数の新たなRDSを生成する、請求項10に記載の方法。
【請求項15】
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する、請求項10に記載の方法。
【請求項16】
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成し、
前記データ処理システムは、EDSの一部ではないデータ値の各シーケンスを、該シーケンスにおけるシンボルの数を示すカウントに置き換える、請求項10に記載の方法。
【請求項17】
データ処理システムに、データ値の順序付けられたシーケンスを含むデータストリームを信号のクラスタに対して分析する方法を実行させる命令を含むコンピュータ可読メモリであって、前記方法は、
前記データストリームを逐次受け取り、各データ値に、該データ値が受け取られる際にインデックスを割り当てることと、
前記受け取られたデータストリームの一部をメモリバッファに記憶することと、
前記バッファから、抽出プロトコルを満足させる新たな抽出データセグメント(EDS)を抽出することであって、該抽出プロトコルは前記新たなEDSの開始を定義する所定の閾値を含むトリガ条件を備えるものであることと、
第1の類似性プロトコルを使用して、前記新たなEDSを複数の参照データセグメント(RDS)の各々と比較することであって、前記データ処理システムは、前記第1の類似性プロトコルが前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合には、該新たなEDSを識別する情報をRDSデータベースに記憶し、データ処理システムは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合には、新たなRDSを生成することと
を含むコンピュータ可読メモリ。
【請求項18】
前記第1の類似性プロトコルは時間領域で比較をするものである、請求項17に記載のコンピュータ可読メモリ。
【請求項19】
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する、請求項17に記載のコンピュータ可読メモリ。
【請求項20】
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成し、
前記データ処理システムは、EDSの一部ではないデータ値の各シーケンスを、該シーケンスにおけるシンボルの数を示すカウントに置き換える、請求項17に記載のコンピュータ可読メモリ。
【発明の詳細な説明】
【背景技術】
【0001】
データ記録システムは、今では、大量のデータを記録することができ、その量が大きいため、記憶データを逐次読み出すことにより記録データを検索する時間が非常に長くなる。テラバイトを超えるデータセットが日常的に記録される。従来のディスクドライブからテラバイト分のデータを読み出す時間は、数時間である。このため、対象パターンを求めて記録データを迅速に検索することは、難題を示す。
【発明の概要】
【0002】
本発明は、データストリームを記録し分析するシステムと、データストリームを分析する方法と、コンピュータにデータストリームを分析する方法を実行させる命令を記憶するコンピュータ可読メモリとを含む。システムは、入力ポート、出力ポート、バッファ及びコントローラを備える。入力ポートはデータストリームを受け取るように適合され、データストリームはデータ値の順序付けられたシーケンスを含む。出力ポートは、データストリームを大容量記憶デバイスに通信するように適合されている。バッファは、データストリームがシステムによって受け取られる際にデータストリームの所定部分を一時的に記憶するために、入力ポートに接続されている。コントローラは、バッファに記憶されたデータストリームの新たな抽出データセグメント(EDS:extracted data segment)と呼ばれるセグメントを識別し、新たなEDSは抽出プロトコルを満足させる。コントローラは、第1の類似性プロトコルを使用して新たなEDSを複数の参照データセグメント(RDS:reference data segments)の各々と比較し、コントローラは、第1の類似性プロトコルが、新たなEDSがRDSのうちの1つに類似していることを示す場合、新たなEDSを識別する情報をRDSデータベースに記憶する。コントローラは、新たなEDSがRDSのうちのいずれとも類似していない場合、新たなRDSを生成する。各RDSは、そのRDSと類似していることが分かったEDSと、コントローラに新たなRDSを生成させた新たなEDSとのリストを含む。
【0003】
1つの態様では、バッファはFIFOバッファを含む。
【0004】
別の態様では、抽出プロトコルは、新たなEDSが開始するバッファにおけるデータ値と、新たなEDSが終了するバッファにおけるデータ値とを識別する。
【0005】
別の態様では、新たなEDSが終了するデータ値は、新たなEDSが開始したデータ値からの一定数のサンプル値である。
【0006】
別の態様では、第1の類似性プロトコルは、2つのデータセグメントの間の距離の尺度と類似性閾値とを計算し、距離が類似性閾値と所定関係を有する場合、2つのデータセグメントは類似しているものとして定義される。
【0007】
別の態様では、コントローラは、第1の類似性プロトコルより制限的ではない第2の類似性プロトコルによって判断される際にRDSが互いに類似している場合、ユーザ入力に応じてRDSのうちの2つを結合する。
【0008】
別の態様では、コントローラは、第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、既存のRDSから、そのRDSに関連するEDSを互いに比較することによって、複数の新たなRDSを生成する。
【0009】
別の態様では、コントローラは、各EDSを、そのEDSに類似していることが分かったRDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する。
【0010】
別の態様では、コントローラは、EDSの一部ではないデータ値の各シーケンスを、そのシーケンスにおけるシンボルの数を示すカウントに置き換える。
【0011】
本発明はまた、データ値の順序付けられたシーケンスを含むデータストリームを信号のクラスタに対して分析するようにデータ処理システムを動作させる方法も含む。本方法は、データストリームを逐次受け取ることと、データ値が受けられる際に各データ値にインデックスを割り当てることとを含む。受け取られるデータストリームの一部は、バッファに記憶され、そのバッファから、抽出プロトコルを満足させる新たなEDSが抽出される。データ処理システムは、第1の類似性プロトコルを使用して新たなEDSを複数のRDSのうちの各々と比較し、データ処理システムは、第1の類似性プロトコルが、新たなEDSがRDSのうちの1つに類似していることを示す場合、新たなEDSを識別する情報をRDSデータベースに記憶し、新たなEDSがRDSのうちのいずれとも類似していない場合、新たなRDSを生成する。
【0012】
別の態様では、抽出プロトコルは、新たなEDSが開始するバッファにおけるデータ値と、新たなEDSが終了するバッファにおけるデータ値とを識別する。
【0013】
別の態様では、新たなEDSが終了するデータ値は、新たなEDSが開始したデータ値からの一定数のサンプル値である。
【0014】
別の態様では、データ処理システムは、2つのデータセグメントの間の距離の尺度と類似性閾値とを計算し、距離が類似性閾値と所定関係を有する場合、2つのデータセグメントは類似しているものとして定義される。
【0015】
別の態様では、データ処理システムは、第1の類似性プロトコルより制限的ではない第2の類似性プロトコルによって判断される際にRDSが互いに類似している場合、ユーザ入力に応じてRDSのうちの2つを結合する。
【0016】
別の態様では、データ処理システムは、既存のRDSから、第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、そのRDSに関連するEDSを互いに比較することにより、複数の新たなRDSを生成する。
【0017】
別の態様では、データ処理システムは、各EDSを、そのEDSに類似していることが分かったRDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する。
【0018】
別の態様では、データ処理システムは、EDSの一部ではないデータ値の各シーケンスを、そのシーケンスにおけるシンボルの数を示すカウントに置き換える。
【0019】
コンピュータ可読メモリは、データ処理システムに、データ値の順序付けられたシーケンスを含むデータストリームを信号のクラスタに対して分析する方法を実行させる命令を含む。上記方法は、データストリームを逐次受け取ることと、データ値が受けられる際に各データ値にインデックスを割り当てることと、受け取られたデータストリームの一部をメモリバッファに記憶することとを含む。そのバッファから、抽出プロトコルを満足させる新たなEDSが抽出される。新たなEDSは、第1の類似性プロトコルを使用して複数のRDSのうちの各々と比較され、データ処理システムは、第1の類似性プロトコルが、新たなEDSがRDSのうちの1つに類似していることを示す場合、新たなEDSを識別する情報をRDSデータベースに記憶し、新たなEDSがRDSのうちのいずれとも類似していない場合、新たなRDSを生成する。
【0020】
別の態様では、データ処理システムは、各EDSを、そのEDSに類似していることが分かったRDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する。
【0021】
別の態様では、データ処理システムは、EDSの一部ではないデータ値の各シーケンスを、当該シーケンスにおけるシンボルの数を示すカウントに置き換える。
【図面の簡単な説明】
【0022】
【
図1】本発明の1つの実施形態によるデータ記録装置を示す図である。
【
図2】RDSからの距離の関数としての距離の分布の例示的なプロットを示す図である。
【発明を実施するための形態】
【0023】
本発明がその利点を提供する方法は、入来データチャネルにおける信号がデジタル化され、ディスクドライブ等のメモリデバイスに記憶されるデータロギングシステムに関連してより容易に理解することができる。データストリームは、「抽出アルゴリズム」によって定義される対象信号と、以下の考察ではアイドル信号と呼ぶ、対象信号の間の信号とを含むものとみなすことができる。
【0024】
概して、記録データのユーザは、データにおける様々な信号を理解し対象信号を検索することができる必要がある。この考察の目的で、ユーザは、記録すべきデータストリームにおける全ての信号の詳細な知識は有していないと想定する。データストリーム信号の数は、ユーザが一度に1つずつ検討するには多すぎるものと想定する。このため、ユーザは、データストリーム全体を見ることなく信号の重要な特徴を完全に理解することができる必要がある。この目的で、類似する信号のクラスタを定義することが有効である。こうしたクラスタの代表的なメンバを検査することにより、ユーザは、記録される信号のより十分な知識を取得し、対象信号を検索するために必要なパラメータを指定することができる。
【0025】
本発明は、ユーザが、2つの信号の間の類似性に関連する類似度を計算する類似性アルゴリズムに基づいて、記録された信号の集まりにおいてクラスタを定義するのを可能にするツールを、ユーザに提供する。類似度に基づいてオブジェクトをクラスタリングするアルゴリズムは、本技術分野において既知である。不都合なことに、これらのアルゴリズムの多くを適用する際に固有の計算作業負荷は、N2次以上である。数テラバイトの記録データストリームが数100万を超える信号を有する可能性があるとすると、ユーザが信号を探索する数分間で記録信号をクラスタリングすることは、多くの場合実際的ではない。
【0026】
後により詳細に説明するように、本発明は、記録プロセス中に対象信号の小クラスタを検出する。そして、これらの小クラスタは、結合されて、入力データストリームにおける信号のクラスタと一致するより大きいクラスタを提供する。クラスタは、クラスタリングすべき信号の所定の記述を必要とすることなく構築される。理想的には、これらのクラスタの各々は、入力ストリームに存在する基礎となる信号の単一クラスタのわずかな部分を含む。各クラスタは、後述するように、入力ストリームにおける観測信号から開始する。クラスタのサイズは、第2の信号が第1の信号と同じクラスタ内に含まれるべきか否かを判断する閾値を含む類似性アルゴリズムによって求められる。クラスタが結合される、又はクラスタがより小さいクラスタに分解される方法について、より詳細に後述する。
【0027】
本発明は、デジタル化データストリームを検査して、予めデータセグメントの詳細な知識を必要とすることなく、対象となるデータストリーム内のデータのセグメントを検出する。データセグメントは、データストリームが大容量記憶デバイスに向かう途中にデータロガーを通過する際、リアルタイムに識別される。データストリームは、主に、対象データセグメントを含まない領域によって分離された個々の信号からなると想定する。抽出アルゴリズムを満足させるデータストリームセグメントは、抽出データセグメント(EDS)と呼び、抽出アルゴリズムを満足させない信号を含むデータストリームセグメントをアイドルデータセグメント(IDS:idle data segments)と呼ぶ。
【0028】
理想的には、各EDSは、いかなる背景サンプルもなしに1つの対象信号に対応するデータサンプルを含む。しかしながら、短期間でEDSを識別する必要があることが、抽出アルゴリズムを制約する。正確な対象信号セグメントを見つけるためには、定義された閾値レベルを横切る立上りエッジ又は立下りエッジ等の容易に検出可能なイベントによって信号の開始を検出し、信号の開始に対する一定数のサンプルであるように信号の終了を定義することより、著しく長い時間が必要である。2つの信号が実際には同じであった場合、2つの信号に対するEDSは依然として一致する。このため、本発明の1つの態様では、抽出アルゴリズムは、EDSの開始を定義するトリガ条件を指定し、EDSの終了は、EDSの開始に対する一定数の入力サンプルであるように定義される。この近似が、最終的なクラスタリングを干渉する場合、後述するように、長期記憶装置からEDSを検索することができ、信号のより正確な終了に基づくクラスタリングを利用することができる。
【0029】
EDSに遭遇すると、EDSは、更なる検査のためにバッファにコピーされ、データストリームにおけるEDSの位置に関してEDSを一意に識別するインデックス値が割り当てられる。類似性アルゴリズムにより、EDSに対して「類似度(similarity measure)」もまた定義される。類似度は、任意の2つの抽出データセグメントの間の類似性の程度を反映する。類似度により、本開示のシステムは、抽出データセグメントを互いに類似するEDSのクラスタにグループ化することができる。本発明の1つの態様では、類似性アルゴリズムは閾値を含む。類似度が、閾値と所定関係を有する場合、2つのEDSは、互いに類似しているように定義される。例えば、類似度が閾値未満である場合、2つのEDSは互いに類似しているように定義することができる。
【0030】
新たなEDSが見つかると、システムは、EDSが既に見つけられているクラスタの一部であるか否かを判断する。EDSが既存のクラスタの一部である場合、既存のクラスタは、新たなEDSの追加を反映するように更新される。EDSが既存のクラスタのうちのいずれにも十分に類似しない場合、新たなクラスタが定義され、そのクラスタにEDSが追加される。
【0031】
各クラスタは、参照データセグメント(RDS)によって表される。抽出及びクラスタリングは、記録中にリアルタイムに実施され、そのため、ユーザは、新たに記憶されたデータストリームからEDSを回復する必要なしに、データストリームに存在するEDSのクラスタを見ることができる。データ記録及び初期クラスタリング中、データストリームにおいて識別された新たなEDSのみがメモリに保持される。クラスタリング動作を容易にするために、RDSはシステムメモリに維持される。データストリームの記録が完了した後、クラスタリングされたEDSを回復して更なる分類に使用することができる。
【0032】
ここで、本発明の1つの実施形態によるデータ記録装置を示す
図1を参照する。アナログ-デジタル変換器(ADC)11によって入来データストリームがデジタル化され、ADCの出力はローカルFIFOバッファ12に記憶される。FIFOバッファ12は、ローカルメモリ16に実装することができることが留意されるべきである。クロック13からの各クロックサイクルに対して、1つのサンプルがデジタル化される。コントローラ15が、各クロックサイクルにおいてインクリメントされる内部レジスタを維持し、FIFOバッファ12に転送されたばかりのデータサンプルで開始するデータセグメントを識別するための一意のインデックスを提供する。新たなデータエントリは、FIFOバッファ12に転送され、クロック13の各サイクルにおいて、FIFOバッファ12における最も古いエントリが読み出される。各クロックサイクルにおいて、コントローラ15は、対象データセグメントが開始したか又はその時点で完了しているかを判断する。コントローラ15は、対象データセグメントの開始を検出するハードウェアを含むことができ、又は、コントローラ15は、FIFOバッファ12の内容を検査して、対象データセグメントが開始したか又はその時点で完了しているかを判断することができる。オシロスコープの技術分野においてハードウェアトリガが使用され、それは、当業者には既知である。この時点で、対象データシーケンスがFIFOバッファ12内にある場合、コントローラ15は、そのデータシーケンスをFIFOバッファから新たなEDSバッファ17にコピーし、データストリームにおける新たなEDSの位置を確認し、その情報をEDSデータベース19に入力する。
【0033】
ディスク14からのEDSの検索を容易にするために、ディスクデータベース22が、ディスク14上のレコードの間の対応関係と、各EDSの開始に割り当てられたインデックスとを記録する。概して、ディスク14は、ランダムにアクセスすることができる複数のディスクレコードとして編成される。コントローラ15が、ディスク14に記憶されるEDSを回復する必要がある場合、ディスクデータベース22を使用して、EDSに関連するインデックスが開始するディスクレコード番号が求められる。
【0034】
対象データシーケンスが先行するサンプルで開始したばかりである場合、コントローラ15は、データシーケンスがEDSデータベースで開始したサンプルインデックスを記録する。
【0035】
上述したように、抽出すべきデータセグメントを定義する所定の抽出アルゴリズムがなければならない。概して、抽出アルゴリズムは、抽出データセグメントとなるべきデータシーケンスの開始及び終了を定義する。抽出アルゴリズムを実行するコントローラは、データシーケンスがFIFOバッファ12から出る前に識別を行うことができなければならない。抽出アルゴリズムは、リアルタイムに動作しなければならない。オシロスコープへの入力における対象シーケンスの開始を識別するリアルタイムトリガアルゴリズムが本技術分野において既知である。トリガアルゴリズムは、立上りエッジのように単純な特徴、又は特定の信号のように複雑な特徴を識別する。本開示のシステムでは、対象データシーケンスの正確な性質は予め既知ではないため、抽出アルゴリズムは、好ましくは広範囲の信号を選択し、そのため、大きい分類の信号を識別するリアルタイムトリガアルゴリズムが好ましい。抽出データセグメントとなるべきデータシーケンスの開始は、リアルタイムトリガを引き起こしたサンプルにおいて発生する必要はないことに留意されたい。例えば、抽出データセグメントは、リアルタイムトリガによって識別されるサンプルの所定数前のサンプルで開始することができる。
【0036】
抽出アルゴリズムはまた、対象データシーケンスの終了も指定しなければならない。1つの例示的な実施形態では、抽出アルゴリズムは、トリガとFIFOバッファ12における窓とを指定する。この例では、抽出データセグメントは窓の最後で終了し、対象信号が窓における最後のデータ値より前に終了する可能性があっても、指定された窓内のサンプルの全てがEDSの一部である。
【0037】
別の例示的な実施形態では、抽出アルゴリズムは、抽出すべきデータシーケンスの終了を通知するトリガを指定する。例えば、抽出アルゴリズムは、何らかの閾値未満の値で終了し何らかの指定された数のサンプルに対してその値以下であり続ける立下りエッジを構成するデータ値が、対象データセグメントの終了を通知することを必要とすることができる。したがって、EDSデータベースはまた、EDSの長さ、又はEDSにおける最後のデータサンプルのインデックス等の等価な情報も含む。
【0038】
本発明の1つの態様では、EDSの終了を指定する情報もまた、EDSデータベース19内に含まれる。
【0039】
新たなEDSが抽出されると、そのEDSは、動的に生成された参照ライブラリ内の各RDSと比較される。RDSライブラリは、ライブラリ内の各RDSに関する情報を記憶するRDSデータベース18を含む。新たなEDSがRDSのうちの1つに十分に類似する場合、その関連を示すようにEDSデータベースにおける新たなEDSエントリが更新され、RDSデータベースは、そのRDSに関連するクラスタの一部であるものとして新たなEDSの識別を示すように更新される。新たなEDSがRDSのうちの1つに十分に類似せず、新たなEDSをRDSデータベース内のRDSの全てと比較した後に十分な処理時間が残っている場合、RDSとして新たなEDSを使用し、RDSデータベースに関連データを入力して、新たなRDSが開始される。十分な処理時間が利用可能でない場合、EDSデータベースにおける新たなEDSエントリは、割り当てられなかったものとしてマーキングされる。例えば、RDSの全てが考慮される前に、EDSのRDSへの照合中に新たなEDSが発見される可能性があり、そのため、コントローラ15は、この新たなEDSのために新たなEDSバッファを使用しなければならない。
【0040】
データストリームの処理の開始時、コントローラ15は、2つのデータセグメントの間の類似性を測定する類似性測定アルゴリズムを受け取る。本発明の1つの態様では、類似性アルゴリズムは、2つのデータセグメントが類似しているか否かを判断する際に閾値と比較される類似度を生成する。このアルゴリズムは、コントローラ15によって、EDSとRDSライブラリ内のRDSとの類似性を測定するために使用される。類似性アルゴリズムは、4つのタイプのアルゴリズムを考慮することによってより容易に理解することができる。最初の3つのタイプのアルゴリズムは、データ値自体に対して動作する。第4のタイプのアルゴリズムは、各データシーケンスから導出される「シグネチャ」に対して動作する。
【0041】
第1のタイプの類似性アルゴリズムは、データセグメントを直接比較してそれらの類似性を求める。最も単純な場合では、2つのデータセグメントは同じ長さを有し、類似性関数は、成分がデータ値である2つのベクトルの間の距離を測定する。例えば、EDSが、i=1~Nに対してサンプル値p(i)を有し、RDSがi=1~Nに対してサンプル値q(i)を有する場合、ユークリッド距離
【数1】
は、2つのデータセグメントの類似性の程度
を測るものである。D(p,q)が閾値T未満である場合、2つのセグメントは互いに類似していると定義され、ここで、Tは所定の閾値である。この目的でユークリッド距離の代わりに使用することができる多くの距離関数がある。より詳細に後述するように、いくつかの応用では、関数を計算する際の計算作業負荷がより小さいため、特定の距離関数が好ましいものとなる。
【0042】
第2のタイプの類似性関数は、データセグメントの間の距離を測定する前にデータセグメントを標準化する。いくつかの応用では、データセグメントの形状は、データセグメントの正確な一致より重要である。例えば、データセグメントは、振幅が異なるが同じ形状を有する2つの信号を表す場合がある。すなわち、p(i)=Kq(i)である。ユーザの目的が、信号の振幅とは無関係に同じ形状を有する信号を探すことである場合、各データセグメントは、最初に、セグメントの間の距離を計算する前に平均振幅によって決まる定数によって分割される。1つの例では、定数は、データセグメントの最大値である。別の例では、定数は、データセグメントにおけるデータ値の絶対値の平均値である。
【0043】
第3のタイプの類似性関数は、相対的に小さいデータセグメントと相対的に大きいデータセグメントとの一致を探す。これは、ユーザが、何らかの相対的に小さいシーケンスを含むデータセグメントを見つけたい場合に有用である。この状況は、データセグメントが異なる長さである場合に発生する。基本的に、ユーザは、相対的に小さいデータシーケンスに類似するシーケンスを含む相対的に大きいデータシーケンスを探すことを望む。1つの例では、相対的に小さいデータセグメントと相対的に大きいデータセグメントの対応する部分との間の距離が測定される。相対的に小さいデータセグメントが、i=1~mに対してp(i)であり、相対的に大きいデータセグメントがi=1~Nに対してq(i)である場合、k=0~(N-m-1)に対して、距離関数
【数2】
を定義することができる。Dは、kの様々な値に対して求められ、Dの最小値は、閾値と比較すべき距離として選択される。上述したようにp及びqの値を標準化することができる場合、この手続きを適用することができることが留意されるべきである。処理時間を短縮するために、kは小さい範囲に制限することができる。ユーザに、開始時に2つのデータシーケンスが位置合わせされていると考える理由がある場合、kはゼロに制限することができる。
【0044】
上記類似性関数は、比較されているデータセグメントに直接作用する。このタイプの類似性関数は、クラスタリング分析における専門家ではない人が直観的に理解できる。しかしながら、EDSを分類するときに類似度を計算する作業負荷は、EDSが大きい場合、大きい可能性がある。さらに、ユーザがEDSを分類するために使用したい類似性のタイプに応じて、第4のクラスの類似性関数が好ましい場合がある。
【0045】
第4のクラスの類似性分析では、各データセグメントからシグネチャベクトルが導出される。そして、シグネチャベクトルの間の距離を使用して、上述したものと類似する方法で類似性を測定することができる。このタイプの類似性測定では、EDSの全てに対するシグネチャベクトルは、データセグメントの長さが異なる場合であっても、同じ成分を有する。概して、シグネチャベクトルにおける成分の数は、EDSにおけるデータ値の数よりはるかに小さく、このため、距離測定を実施する計算作業負荷は著しく低減するが、この節約は、対応するデータセグメントからシグネチャベクトルの成分を導出する計算作業負荷によって相殺される。概して、シグネチャベクトルの成分は、そのデータセグメントを他のデータセグメントから識別する可能性が高いデータセグメントの任意の関数とすることができる。抽出アルゴリズムが異なる長さのデータセグメントを生成する場合、シグネチャベクトルの1つの成分は、データセグメントの長さとすることができる。他の成分は、データセグメントに適用される有限インパルス応答フィルタから導出することができる。例えば、データセグメントの周波数成分の振幅を表す成分を使用することができる。
【0046】
EDSを識別し、見つかった各新たなEDSを考慮するようにRDSライブラリを更新するプロセスは、好ましくはリアルタイムで実行される。本開示の目的で、プロセスが、本発明によりデータストリームがデータロガーに入る速度を低下させることなく完了することができる場合、プロセスはリアルタイムで実行されると言う。処理のデータ抽出部分の場合において、入力データストリームは、FIFOを通った後、ディスク記憶装置に出て行き、したがって、抽出処理、すなわち新たなEDSの識別により、コントローラは、抽出アルゴリズムを満足させるデータセグメントを識別し、そのデータセグメントをメモリ内のバッファに、そのデータセグメントの一部がFIFOバッファから出る前に、移動させることができなければならない。
【0047】
予備的分類を完了しRDSライブラリを更新する時間は、メモリの量と利用可能な並列処理の程度とによって決まる。1つの態様では、新たなEDSは、メモリ内のEDSバッファ17に移動し、ライブラリ内のRDSと比較される。RDSに対して新たなEDSを検査するために必要な時間は、比較中にメモリ内にRDSを維持することによって改善することができる。
【0048】
さらに、一致を見つける時間は、既存のRDSへの一致を見つける尤度を反映する順序で照合を実施することによって改善することができる。RDSデータベースは、そのRDSに対して既に見つかったEDS一致のカウントを含む。それらのカウントは、対応するRDSが次のEDSと一致する尤度の尺度である。このため、各RDSに関連するカウントの順序で照合を実施することは、一致(存在する場合)を見つける速度を向上させる。
【0049】
経時的に尤度が変化する場合、経時的に減衰する別個の尤度変数を利用することができる。RDSにEDSが割り当てられる度に、そのRDSに対する尤度カウントは1だけインクリメントされる。周期的に、尤度カウントは、カウントに1未満である減衰因子を掛けることによって減少する。一致の探索は、尤度カウントによって定義される順序で実行される。
【0050】
最後に、並列処理により照合プロセス時間を短縮することができることが留意されるべきである。RDSのうちの1つへの新たなEDSの照合は、RDSのうちの別のものへのEDSの照合と並列に進むことができる。このため、約M分の1、照合時間を短縮することができ、ここで、Mは利用可能な並列プロセッサの数である。距離計算はまた、高性能グラフィックディスプレイカードのグラフィカルプロセッサコアでも実施することができ、このため、並列処理による速度の向上は、1000分の1を超えることができる。
【0051】
照合プロセスにおいて、コントローラは、EDSを見つけて抽出するために必要な平均時間で平均して1つのEDSを処理すればよいこともまた留意されるべきである。処理を待っている新たなEDSを記憶するために十分なバッファがある場合、システムは、一致を見つけるための最長時間ではなく、一致を見つけるための平均時間で1つのEDSを処理すればよい。
【0052】
依然として、RDSライブラリ内のRDSに対するEDSの照合は、一致を待っている新たなEDSを保持するバッファ容量を超える前に完了し損なう可能性がある。この場合、照合されなかったEDSに対するEDSデータベースエントリは、一致が見つからなかったものとしてマーキングされ、処理は、照合されるのを待っている次のEDSに進み、したがって、照合されなかったEDSを保持していたバッファを新たなEDSによって使用されるために空ける。照合されなかったEDSは、記録期間の最後に、又は、記録期間の後続する部分の間に新たなEDSの発見が低速であるためにバッファ空間が利用可能となると、処理することができる。
【0053】
システムの1つの態様では、データ記録動作の開始時、参照データベースは空である。新たな抽出データセグメントに遭遇すると、新たな抽出データセグメントのうちのいくつかは参照データセグメントになる。例えば、第1の抽出データセグメントは、参照データセグメントになる。第2の新たな抽出データセグメントは、新たな参照データセグメントとなることができ、又は、単に、先行して生成された参照データセグメントによって表されるクラスタの一部としてラベル付けすることができる。
【0054】
本発明の別の態様では、ユーザは、比較に使用するべき1つ以上の参照データセグメントを入力することができる。参照セグメントは、ユーザによって生成される、又はデータロギング装置の製造業者によって提供される、本発明に類似する装置によって分析された別のデータストリームにおいて、見つけられている場合がある。
【0055】
本発明の1つの態様では、記録及び初期処理中にメモリに保持されるRDSデータベース及び関連RDSは、ユーザがロギングされているデータストリームを理解するのに役立つように、記録中にユーザが見ることができる。1つの実施形態では、ユーザにはRDSのリストが提示され、そのRDSのリストは、そのRDSと類似することが分かったEDSの数のカウントによって順序付けられている。そして、ユーザは、表示するために1つ以上のRDSを選択することができる。
【0056】
上述したように、RDSデータベースは、各RDSに対して、特に、そのRDSに類似することが分かった各EDSの識別を列挙するエントリを含む。1つの態様では、識別は、そのEDSが見つかったデータストリームにおけるインデックスである。ここでEDSが列挙されるのは、そのEDSとRDSとの間の類似性の尺度が何らかの所定の閾値条件を満たしたためである。例えば、EDSとRDSとの間の距離は、何らかの閾値未満であった。閾値条件が緩すぎる場合、大量のEDSがRDSに関連付けられる。より重要なことには、単一のRDSが、入力データストリームにおける信号の2つ以上の異なるクラスタからの信号を含む可能性がある。後により詳細に説明するように、こうしたRDSは回避されるべきである。
【0057】
閾値条件が厳しすぎる場合、更に多くのRDSがあることになり、各RDSによって定義されるクラスタのサイズはより小さくなる。原則的に、記録後プロセス中に、相対的に小さいRDSクラスタを結合してより大きいクラスタを提供することができる。しかしながら、データ収集中に大量の小さいRDSクラスタがあることにより、新たなEDSをRDSクラスタに照合させることに関連する計算作業負荷が実質的に増大する。したがって、閾値条件とRDSクラスタの特異性との間にトレードオフがある。
【0058】
本発明の1つの態様では、各RDSに対するRDSデータベースエントリはまた、そのRDSに関連する各EDSに対する実際の類似性の尺度も含む。これらの尺度のヒストグラムは、任意選択的に、記録プロセス中及び記録後処理中にコントローラにより、ユーザの要求があるとユーザに提供される。ヒストグラムを見ることにより、特に、大量のEDSがRDSに関連付けられる場合、ユーザは、クラスタの構造に関して洞察を得ることができる。例えば、ヒストグラムが複数のピークを明らかにした場合、クラスタは、入力データストリームにおける信号の複数のクラスタからのEDSを含む可能性があり、そのため、後述するように、RDSが複数の新たなRDSに拡張されることを必要とする可能性がある。
【0059】
記録段階の最後に、本発明は、2つのデータベースを生成していることになる。第1のデータベースは、抽出アルゴリズムを満足させたデータセグメントの全てを識別する。このデータベースは、記録データストリームにおける各EDS、及びそのEDSに類似するRDSの全ての位置を含む。このデータベースを使用して、コントローラは、任意のRDSに関連する任意のEDSにアクセスすることができる。第2のデータベースは、記録プロセス中に生成されたRDSの全てを識別する。RDSデータベースにおける情報は、所与のRDSに関連するEDSの全てと、記録データストリームにおいてRDSを開始したEDSの位置と、上述したようなRDSに関する他の情報とを識別する。
【0060】
場合によっては、IDSのうちの1つ以上を検査することが有用である可能性がある。例えば、抽出アルゴリズムがトリガ位置に対して固定窓を定義する場合、その窓は、トリガに関連する信号の全てを取り込むためには小さ過ぎる可能性がある。EDSの後のアイドルデータセグメントは、切り捨てられたEDSの欠損部分を提供することができる。EDSの後のIDSのディスク上のインデックスは、そのEDSの最後のインデックスから計算することができる。
【0061】
上述したように、比較の全てを行うために利用可能な時間が十分ではなかったために、RDSライブラリに関して分類に失敗したEDSがある可能性がある。EDSデータベースは、任意のこうしたEDSにタグ付けする。記録後処理において、これらの失敗したEDSを再検討することができる。こうしたEDS各々の位置は、EDSデータベースに記録される。そのEDSは、記録データストリームから、データストリームにおけるその位置が既知であるため検索することができる。さらに、記録データストリームがディスクドライブ又は同様のランダムアクセス記憶デバイス上にある場合、そのEDSに達するために、記録データストリーム全体を再生する必要はない。このため、EDSを検索して現RDSライブラリに対して比較することができる。この時点で、類似性アルゴリズムを使用して、RDSのうちの1つ以上にEDSを関連付けることができ、又は十分に類似するRDSが見つからない場合、そのEDSに対して新たなRDSを定義することができる。
【0062】
本明細書に記載するデータロギングプロセスの目的のうちの1つは、互いに類似する信号を登録し、そのため、ユーザが記録データにおける様々な信号タイプを理解するのを可能にすることである。各RDSはEDSのクラスタを表すが、RDSの集まりは、必ずしも、ユーザが基礎となるEDSのセットのクラスタリングを完全に理解するのを可能にするとは限らない。例えば、基礎となるEDSのセットにあるクラスタよりはるかに大量のRDSがある可能性がある。本発明は、基礎となる信号のクラスタリングに対する洞察を提供する2つのツールを提供する。
【0063】
第1のツールは、同じ基礎となる信号クラスタの一部であるRDSのグループを見つけるようにRDSに対して作用する。RDSデータベースにおける各RDSエントリは、EDSの小さいグループを代表するEDSを含む。このため、RDSのうちの選択されたものをクラスタリングすることにより、ユーザは、類似するEDSのより大きいクラスタを構築することができる。RDSの数がEDSの数より実質的に少ないため、RDSのクラスタリングは、実質的により小さい計算作業負荷で実施することができる。以下の考察において術語を簡略化するために、RDSのクラスタをグループと呼ぶことにする。
【0064】
RDSをクラスタリングする目的は、単純な一例を参照してより容易に理解することができる。入力データストリームにおける信号のクラスタの中心にある又はその近くにあるRDSを考慮する。類似性アルゴリズムは、2つのデータセグメントの間の距離を測定するものと想定する。特に、そのRDSの基礎を形成するEDSから、EDSライブラリにおける他のEDSの各々までの距離を考慮する。
図2に、RDSからの距離の関数としてのこうした距離の分布の例示的なプロットを示す。
図2に示す例では、T1に、このRDSに対応するEDSを定義するために使用されたカットオフ距離を示し、RDSは、入力信号の第1のクラスタ31に対応するEDSのみを含む。理想的には、結果として得られるグループがT3に示すような有効なカットオフ距離を有するように、このRDSは他のRDSと結合されるべきである。
【0065】
上述したように、T2に示すように元のカットオフ距離が大きすぎる場合、RDSは、入力信号における第2のクラスタ32に対応するEDSを含む。こうしたRDSが別のRDSと結合された場合、結果として得られるRDSもまた、入力信号における2つのクラスタに属するEDSを含み、そのため、結果として得られるグループは、入力信号における1つのクラスタに制限されない。上述したように、
図2に示すもののような周波数分布は、大きすぎるRDSを識別する際に有用である可能性がある。
【0066】
RDSは、EDSからRDSを生成するために使用された方法に類似する方法でグループ化される。グループを形成する際、類似性関係及び閾値は、上述した方法に類似する方法で定義される。これらの定義は、ユーザにより、ユーザインタフェース21又はシステム自体を介して提供することができる。最も単純な場合では、RDSを生成するために使用されたものと同じ類似性関係を使用して、類似性閾値を、候補RDSをグループに入れる際にそれほど選択的でないように変更することにより、グループを生成する。しかしながら、異なる類似性関係を利用することができる。
【0067】
最初に、グループはなく、このため、第1のグループは、試験される第1のRDSからなる。本発明の1つの態様では、この第1のグループを開始するために、最多のEDSを有するRDSが選択される。この態様は、EDSにおける基礎となるクラスタがRDSのうちの1つ又はその近くに中心を置くモデルに基づく。このため、最高カウントを有するRDSが、こうしたクラスタの中心又はその近くに位置する可能性が高い。グループは、2つのRDSに対する類似度がそれら2つのRDSが類似性条件を満たすことを示す場合、未だグループに割り当てられていない残りのRDSをそのグループに対して検査することにより、埋められる。そして、グループに未だ割り当てられていない最大カウントを有するRDSにより、プロセスは繰り返される。それ以上未割当RDSがない場合、プロセスは完了する。
【0068】
ユーザは、データ処理システムに与えられる適切なコマンドに応じて、各グループにおけるRDSに対応するデータセグメントを見ることができる。この表示は、各RDSの中心として定義されるEDSに、又はグループに関連するEDSの全てに制限することができる。これらの表示により、ユーザは、類似性関係を使用してグループ化された信号が、実際に、ユーザに類似するように見えるか否かを判断することができる。最後に、ユーザは、グループ化プロセスが極端に実行されたか否かを判断するのに役立つように、
図2に示すもののような周波数分布を見ることができる。
【0069】
グループの数が依然として多すぎる場合、同じ類似性アルゴリズムを使用するが、類似性を見つけるためにそれほど厳密ではないように選択された異なる閾値を用いて、プロセスを繰り返すことができる。さらに、異なる類似性アルゴリズムを使用してプロセスを繰り返すことができる。類似性アルゴリズムに対する制限は、任意の2つのEDSに対して動作することができなければならないということのみである。例えば、異なる長さのEDSに対して動作する類似性アルゴリズムは、2つのEDSの長さが実質的に同じでない場合に2つのEDSが非類似となるように類似度を設定することにより、構築することができる。2つのEDSの長さが実質的に同じである場合、距離関数が計算され、閾値と比較されて、2つのEDSが類似しているか否かが判断される。別の例では、類似性アルゴリズムは、最初に、比較すべきEDSの各々に対するシグネチャを導出し、その後、シグネチャの間の距離を測定して2つのEDSが類似しているか否かを判断することができる。
【0070】
上記説明は、RDSを再クラスタリングする特定のタイプのクラスタリングアルゴリズムを想定する。しかしながら、第1のツールを用いて他のクラスタリング技法を利用することができる。
【0071】
上述したように、RDSのうちの1つを生成するために使用された類似性基準が緩すぎる場合、そのRDSは、非常に多数のEDSを含む可能性がある。さらに、そのRDSは、入力信号クラスタ内で2つ以上のクラスタにわたる可能性がある。したがって、こうしたRDSを、各RDSに関連するより少数のEDSを有する複数のRDSと置き換えることが有用である。本発明の1つの態様では、RDSは、そのRDSに関連するEDSの全てを検索し、より制限的である類似性カットオフ閾値を使用してそれらのEDSを再クラスタリングすることにより、より小さいRDSに分割することができる。再クラスタリングは、EDSの元のクラスタリングに関して上述した方法と類似する方法で進行する。第1の新たなRDSは、抽出されたEDSのグループの第1のEDSを含むように定義される。そして、各連続するEDSは、新たなRDSと比較される。新たなカットオフ値によって判断される際にEDSがRDSに類似する場合、そのEDSはその新たなRDSに含まれる。EDSが、新たなRDSのうちの1つに十分に類似していない場合、別の新たなRDSが定義され、そのRDSを開始するためにそのEDSが使用される。RDSの新たなセットがRDSライブラリに含まれるとき、RDSのグループ化を繰り返すことができる。
【0072】
記録の後のRDSのクラスタリングは、RDSにグループ化されたEDSを選択する際に使用された抽出アルゴリズムに基づく。最初に、上述したように、各RDSは複数のクラスタを含むことができる。こうしたRDSは、上述したようにRDSを再生成することにより、又は、計算資源が許す場合、RDSに関連する全てのEDSをロードし、それらのEDSに対して直接クラスタリングアルゴリズムを実行することにより、より小さいクラスタに分割することができる。代替的に、例えば、抽出アルゴリズムが、開始トリガに対して固定サイズ位置の窓内のサンプルの全てを選択することによって動作する場合、結果として得られるEDSは、単に、対象信号のみを含むデータセグメントを近似する。窓が大きすぎる場合、EDSは、距離計算を歪ませる可能性がある著しい数の背景サンプルを含むことになる。同様に、窓が小さすぎる場合、対象信号の一部がカットオフされることになる。上述したように、EDSに続くIDSにアクセスすることができ、固定窓によって切り捨てられた信号の喪失部分を復元することができる。したがって、EDSは、対象データ信号に対する近似のみである。
【0073】
上述した第2のツールにより、ユーザは、これらの近似を補正し、そのため、クラスタリングを改善することができる。例えば、EDS抽出アルゴリズムが固定窓に基づいた場合、データ処理システムは、EDSに関連する停止位置を固定窓の最後から対象信号の物理的な最後に一致する位置まで変更するトリミングアルゴリズムを実行することができる。例えば、EDSの最後が、データチャネルにおける背景レベルを表すサンプルのストリングである場合、EDSの最後は、背景を上回る最後のデータ値の位置であるように定義することができる。同様に、EDSが窓によって切り捨てられ、当該EDSに隣接してアイドルデータセグメントがある場合、アイドルデータセグメントにおけるデータの最後を示すように、EDSの最後を変更することができる。
【0074】
これらの近似を補正するようにEDSが更新された後、同じ類似性アルゴリズム又は異なる類似性アルゴリズムを使用して、新たなEDSの集まりをRDSにクラスタリングすることができる。そして、第1のツールに関して上述したように、新たなRDSのセットをグループにクラスタリングすることができる。十分な計算資源が利用可能である場合、元の大きいRDSに置き換わるように新たなRDSのセットを提供するように、再クラスタリングされているRDSに対応するEDSの全てをグループとして組み立てて再クラスタリングすることができる。
【0075】
上記2つのツールを使用する記録後処理中、ユーザは、1つ以上のクラスタに対応する実際のEDSを見ることができる。クラスタ内のEDSがユーザに対して十分に類似しているように見えない場合、ユーザは、類似性を判断する際に使用された類似性アルゴリズム及び閾値の両方又は一方を変更することができる。本発明の1つの態様では、ユーザは、類似性アルゴリズムの所定のリストから類似性アルゴリズムを選択することができる。
【0076】
上述した実施形態では、RDSデータベースは、空で開始し、記録が進むに従って埋められる。しかしながら、記録の開始の前に1つ以上のRDSが定義される実施形態もまた構築することができる。これらの初期RDSにより、ユーザは、データストリームが受け取られる際にデータストリームの内容を依然として認識しながら、特定の信号を探すことができる。本発明に類似する装置によって分析された、又はユーザによって生成された別のデータストリームにおいて、参照データセグメントが見つけられている場合もある。
【0077】
2つのデータセグメントの間の類似性を測定する前にEDS及びRDSが標準化される類似性アルゴリズムもまた利用することができる。例えば、各データセグメントは、比較が形状における類似性を測定するように、データセグメントにおけるサンプルの最大値によって割ることができる。別の例では、EDSに定数が掛けられ、類似性が計算される。プロセスは、異なる所定の定数に対して完了することができ、最高の類似度を使用することができる。
【0078】
本発明の1つの態様では、データストリームをリアルタイムで記録しながら、可能な限り多くの予備的データを提供するように、処理が組織化される。そして、背景において、又はデータ記録が完了した後、より高レベルの処理が実行される。大量のデータを記録する時点での処理により、抽出条件を満足させるデータセグメントの抽出、抽出データセグメントに基づく類似するデータセグメントの予備的分類、並びに、リアルタイム動作性能を必要とする、入力データの記録を実行しながらの参照データセグメントの検出及び登録が可能になる。最初に予備的分類の結果を使用して、予備的に分類された参照データセグメントに対するクラスタ分析によって分類を実行することができる。したがって、ユーザが、データが長期記録デバイスから回復されるのを待つ必要なしに、分析処理時間及びユーザクエリに対する応答を提供することができる。
【0079】
言い換えれば、処理は、高速処理を最も優先し、したがって、最高の類似性を有するRDSを識別しないが、代わりに、所定の閾値の精度でEDSに類似するRDSを、こうしたRDSが見つかるとすぐにEDSのタグとして採用し、それにより、処理を終了する。詳細なデータセグメントの分類の実行がクラスタリングによって実施されるまで、完全な分類決定を得る処理は延期される。
【0080】
記憶されるデータセグメント及びRDSの数は、類似性評価のために分類閾値を設定することによって調整することができる。その結果、予備的処理中に分類誤りを犠牲にして予備的分類に対する時間を短縮させることができる。
【0081】
上述したように、上述したような並列処理を使用して処理時間を短縮させることができる。さらに、各RDSに関連するEDSの数を反映する順序でRDSを検査することにより、処理時間を更に短縮させることができる。さらに、予備的分類で使用される類似性評価関数は、低い計算負荷を有するように選択することができ、それにより、後の処理で、より複雑な類似度を使用してクラスタリングの精度を向上させることができる。
【0082】
上述した実施形態は一例としてデータロガーを使用するが、本発明は、2つの信号が類似しているか否かを判断する類似性アルゴリズムと併せて抽出アルゴリズムを定義することができる広範囲のデータ信号に適用することができる。
【0083】
上述した実施形態では、入力データストリームは本質的にスカラであった。すなわち、入力データストリームは、各クロックサイクルにおいて単一の値からなる。しかしながら、本発明の教示は、ベクトル入力データストリームに適用することができる。こうしたデータストリームでは、各クロックサイクルにおいて入力ベクトルを提供するように各チャネルがADCによって処理される複数の入力データチャネルがある。新たなEDSの開始を定義するトリガ回路は、チャネルのうちの1つ又はチャネルのうちの複数に対して動作することができる。こうしたベクトルデータストリームに上述した教示を適用することができる。
【0084】
上述した実施形態では、元のデータストリームは、元のアナログ信号をデジタル化することによって導入された任意の量子化誤差を除き、損失なしにディスク又は他の長期記憶デバイスから回復することができる。上述したように、この元のデータストリームに対する記憶要件は、何十テラバイトである可能性がある。いくつかの応用では、非可逆圧縮アルゴリズムを使用して圧縮データストリームを提供することができることが有利である。圧縮データストリームを提供するために使用することができる2つのタイプの近似がある。第1の近似は、IDSを各IDSにおけるデータサンプルの数のカウントに置き換える。これにより、各IDSが、それがIDSであることを示すコードとカウントとまで縮小する。
【0085】
第2の近似は、各EDSを、そのEDSを含むRDSにおけるEDSに置き換える。各RDSは代表的なEDSを含み、そのRDSに関連するEDSの残りはそのEDSに類似する。このため、データストリームにおける各EDSは、そのEDSが位置するRDSの識別情報に置き換えられる。しかしながら、この近似では、データストリームにRDSのライブラリが一度含まれることが必要である。しかしながら、RDSの平均数がEDSの数よりはるかに小さいと想定すると、圧縮のレベルは著しい。各代表的なEDSは、そのEDSの圧縮バージョンに置き換えることができる。代表的なEDSを圧縮する際、エントロピ符号化等の可逆圧縮アルゴリズムを使用することができる。代替的に、代表的なEDSは、データ圧縮技術分野において既知である非可逆データ圧縮アルゴリズムのうちの1つを使用して圧縮することができる。これらの従来のデータ圧縮技法は、可逆圧縮アルゴリズム及び非可逆圧縮アルゴリズムの両方を含むことができることが留意されるべきである。
【0086】
本発明はまた、事前記録データセットにおける信号を理解するための分析的ツールとしても利用することができる。この場合、事前記録データセットは、
図1に示す装置に類似する装置に入力される。記録データが既にデジタル形態である場合、ADC11は省略することができる。こうした応用では、コントローラ15は、任意選択的に、データがシステムに入力される速度を制御することができる。したがって、次の新たなEDSを処理しなければならなくなる前に新たなEDSをRDSの各々と比較する十分な時間がない場合、コントローラ15は、システムが追いつくことができるようにデータの入力を単に停止することができる。
【0087】
事前記録データの圧縮バージョンが望ましい場合、圧縮データストリームで使用するべきRDSを決定した後、第2の時間で、データセットを読み出すことができる。そして、ディスク14に圧縮データストリームを出力することができる。
【0088】
上述したように、本発明のコントローラは、従来のコンピュータ又はマルチプロセッサとすることができる。EDSのRDSへの照合は、マルチプロセッサを利用することにより速度を上昇させることができるプロセスであり、その理由は、新たなEDSとRDSのうちの1つとの間の照合の結果は、そのEDSとRDSのうちの別のものとの照合と並列に実行することができるためである。マルチプロセッサは、従来のマルチコアコンピュータ、又は、何千ものコアを有するグラフィック処理ボードとすることができる。
【0089】
本発明はまた、データ処理システムに本発明の方法を実行させる命令を記憶するコンピュータ可読媒体も含む。コンピュータ可読媒体は、米国特許法第101条の下で特許となり得る主題を構成する任意の媒体であるように定義され、米国特許法第101条の下で特許となり得る主題を構成しないいかなる媒体も排除する。こうした媒体の例としては、コンピュータ又はデータ処理システムが可読であるフォーマットで情報を記憶するコンピュータメモリデバイス等の非一時的媒体が挙げられる。
【0090】
本発明の上述した実施形態は、本発明の種々の態様を示すために提供されている。しかし、異なる特定の実施形態において示される本発明の異なる態様を組み合わせて、本発明の他の実施形態を提供することができることが理解される。さらに、本発明に対する種々の変更形態が、上記の説明及び添付図面から明らかになるであろう。したがって、本発明は、添付の特許請求の範囲の範囲だけによって制限される。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
データストリームを記録し分析するシステムであって、
前記データストリームを受け取るように適合された入力ポートであって、該データストリームはデータ値の順序付けられたシーケンスを含む、入力ポートと、
前記データストリームを大容量記憶デバイスに通信するように適合された出力ポートと、
前記データストリームが該システムによって受け取られる際に該データストリームの所定部分を一時的に記憶するために、前記入力ポートに接続されたバッファと、
前記バッファに記憶された前記データストリームの、抽出プロトコルを満足させる新たな抽出データセグメント(EDS)と呼ばれるセグメントを識別し、第1の類似性プロトコルを使用して前記新たなEDSを複数の参照データセグメント(RDS)の各々と比較するコントローラであって、該コントローラは、前記第1の類似性プロトコルが、前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合、該新たなEDSを識別する情報をRDSデータベースに記憶し、該コントローラは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合、新たなRDSを生成し、各RDSは、そのRDSと類似していることが分かった前記EDSと、該コントローラに前記新たなRDSを生成させた前記新たなEDSとのリストを含む、コントローラと、
を備える、システム。
請求項2:
前記第1の類似性プロトコルは、2つのデータセグメントの間の距離の尺度と類似性閾値とを計算し、前記2つのデータセグメントは、前記距離が前記類似性閾値との所定関係を有する場合、類似しているものとして定義される、請求項1に記載のシステム。
請求項3:
前記コントローラは、既存のRDSから、前記第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、そのRDSに関連するEDSを互いに比較することにより、複数の新たなRDSを生成する、請求項2に記載のシステム。
請求項4:
データ値の順序付けられたシーケンスを含むデータストリームを前記信号のクラスタに対して分析するように、データ処理システムを動作させる方法であって、
前記データストリームを逐次受け取り、各データ値に、該データ値が受け取られる際にインデックスを割り当てることと、
前記受け取られたデータストリームの一部をバッファに記憶することと、
前記バッファから、抽出プロトコルを満足させる新たなEDSを抽出することと、
第1の類似性プロトコルを使用して、前記新たなEDSを複数のRDSの各々と比較することであって、前記データ処理システムは、前記第1の類似性プロトコルが、前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合、該新たなEDSを識別する情報をRDSデータベースに記憶し、前記データ処理システムは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合、新たなRDSを生成することと、
を含む、方法。
請求項5:
前記抽出プロトコルは、前記新たなEDSが開始する前記バッファにおけるデータ値と、前記新たなEDSが終了する前記バッファにおけるデータ値とを識別し、前記新たなEDSが終了する前記データ値は、前記新たなEDSが開始した前記データ値からの一定数のサンプル値である、請求項4に記載の方法又は請求項1に記載のシステム。
請求項6:
前記データ処理システムは、2つのデータセグメントの間の距離の尺度と類似性閾値とを計算し、前記距離が前記類似性閾値と所定関係を有する場合、前記2つのデータセグメントは類似しているものとして定義され、前記データ処理システムは、前記第1の類似性プロトコルより制限的ではない第2の類似性プロトコルによって判断される際に前記RDSが互いに類似している場合、ユーザ入力に応じて前記RDSのうちの2つを結合する、請求項4に記載の方法又は請求項1に記載のシステム。
請求項7:
前記データ処理システムは、2つのデータセグメントの間の距離の尺度と類似性閾値とを計算し、前記距離が前記類似性閾値と所定関係を有する場合、前記2つのデータセグメントは類似しているものとして定義され、前記データ処理システムは、前記第1の類似性プロトコルより制限的である第2の類似性プロトコルを使用して、既存のRDSから、そのRDSに関連するEDSを互いに比較することによって、複数の新たなRDSを生成する、請求項4に記載の方法又は請求項1に記載のシステム。
請求項8:
データ処理システムに、データ値の順序付けられたシーケンスを含むデータストリームを前記信号のクラスタに対して分析する方法を実行させる命令を含むコンピュータ可読メモリであって、前記方法は、
前記データストリームを逐次受け取り、各データ値に、該データ値が受け取られる際にインデックスを割り当てることと、
前記受け取られたデータストリームの一部をメモリバッファに記憶することと、
前記バッファから、抽出プロトコルを満足させる新たなEDSを抽出することと、
第1の類似性プロトコルを使用して、前記新たなEDSを複数のRDSの各々と比較することであって、前記データ処理システムは、前記第1の類似性プロトコルが、前記新たなEDSが前記RDSのうちの1つに類似していることを示す場合、該新たなEDSを識別する情報をRDSデータベースに記憶し、データ処理システムは、前記新たなEDSが前記RDSのうちのいずれとも類似していない場合、新たなRDSを生成することと、
を含む、コンピュータ可読メモリ。
請求項9:
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成する、請求項8に記載のコンピュータ可読メモリ、請求項1に記載のシステム、又は請求項4に記載の方法。
請求項10:
前記データ処理システムは、各EDSを、そのEDSに類似していることが分かった前記RDSを表すシンボルに置き換えることにより、圧縮データストリームを生成し、前記データ処理システムは、EDSの一部ではないデータ値の各シーケンスを、該シーケンスにおけるシンボルの数を示すカウントに置き換える、請求項8に記載のコンピュータ可読メモリ、請求項1に記載のシステム、又は請求項4に記載の方法。
【符号の説明】
【0091】
11 アナログ-デジタル変換器(ADC)
12 FIFOバッファ
13 クロック
14 ディスク
15 コントローラ
16 ローカルメモリ
17 EDSバッファ
18 RDSデータベース
19 EDSデータベース
21 ユーザインタフェース
22 ディスクデータベース