(57)【要約】リアルタイムのおよび非リアルタイムのデータソース（２０２、２０４、２０６）によって生成されたデータを並列「ストリーム」またはデータファイルにするデータ収集／検索システムを開示する。リアルタイムのデータ点は、タイムスタンプと共にデータファイル（２１２、２１４）に格納され、タイムスタンプ（３０２）を有する非リアルタイムのデータ点は、他のデータファイルに格納される。リアルタイムのデータ点は、時間系列順序で格納され、系列に使用する時間は収集時ではなく関連時間である。所与の期間に適合するデータ点を含むストリームを参照することによって、複数の並列ストリームのデータの検索を調整することがヘッダファイルにより容易になる。タイムスタンプ（３０２）により、分析用の１つの時間系列に調整されたデータストリームにデータ点をマージすることが可能になる。並列ストリームによるデータ収集／検索技術により、オペレータは、監視中の処理をシャットダウンすることなく、データソースを追加しまたは削除することができるようになる。
2004531831.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムのデータソースおよび非リアルタイムのデータソースを有する環境において、前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースから受け取ったデータを時間によって調整して格納する方法であって、
前記リアルタイムのデータソースからリアルタイムのデータを受け取るステップと、
前記リアルタイムのデータをリアルタイムのデータファイルにエントリとして格納するステップであって、前記エントリは、前記リアルタイムのデータが生成されたときに関連づけられた時間でタイムスタンプされるステップと、
前記非リアルタイムのデータソースから非リアルタイムのデータを受け取るステップと、
前記非リアルタイムのデータを非リアルタイムのデータファイルにエントリとして格納するステップであって、前記エントリは、前記非リアルタイムのデータの関連時間でタイムスタンプされるステップと、
時間間隔をタイムスタンプが前記時間間隔内に入る前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイル中のそれらのエントリに関連づける、ヘッダファイルを書き込むステップと
を備えることを特徴とする方法。
【請求項２】
データをエントリとして格納するステップとは、タイムスタンプの昇順で前記エントリをデータファイルに格納することを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
データをエントリとして格納するステップとは、タイムスタンプが前記時間間隔内に入るエントリのみをデータファイルに格納することを含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記時間間隔をデータファイル中のデータエントリに関連づけることは、前記時間間隔を前記データファイルに関連づけることを含む
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記リアルタイムのデータファイルはリアルタイムのデータベースを含み、前記リアルタイムのデータエントリはそのタイムスタンプをキーとする
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記非リアルタイムのデータファイルは非リアルタイムのデータベースを含み、前記非リアルタイムのデータエントリはそのタイムスタンプをキーとし、前記リアルタイムのデータベースおよび前記非リアルタイムのデータベースは同一のデータベースである
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記ヘッダファイルはヘッダデータベースを含み、前記ヘッダデータベース、前記リアルタイムのデータベース、および前記非リアルタイムのデータベースは同一のデータベースである
ことを特徴とする請求項６に記載の方法。
【請求項８】
データエントリは、データソースに関連づけられていると印がつけられる
ことを特徴とする請求項１に記載の方法。
【請求項９】
データソースに関連づけられていると印をデータエントリにつけることは、データファイル中の前記データソースから受け取ったデータのみを格納すること、および前記データファイルを前記データソースに関連づけることを含む
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記非リアルタイムのデータエントリを関連時間でタイムスタンプすることは入力データが収集された時間をスタンプすることを含み、収集された前記入力データは処理への入力として送られており、前記非リアルタイムのデータソースから受け取られた前記非リアルタイムのデータは前記処理の出力であることを特徴とする請求項１に記載の方法。
【請求項１１】
ヘッダファイルを書き込むステップは、前記ヘッダファイルを前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースに関連づけることを含む
ことを特徴とする請求項１に記載の方法。
【請求項１２】
前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースとは異なる別のデータソースに前記ヘッダファイルを関連づけるステップをさらに備え、
前記別のデータソースに前記ヘッダファイルを関連づけることによって、前記別のデータソースからのデータの受け取りがトリガされる
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースとは異なる別のデータソースからデータを受信するステップと、
前記別のデータソースからエントリとして受け取った前記データを、前記リアルタイムのデータファイルと、前記非リアルタイムのデータファイルと、別のデータファイルとからなる一群から選択されたデータファイルに格納するステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１４】
少なくとも１つのタイムスタンプされたスナップショットエントリを前記リアルタイムのデータファイルに格納するステップをさらに備え、
リアルタイムのデータエントリにタイムスタンプすることは、スナップショットエントリの前記タイムスタンプと前記エントリの前記リアルタイムのデータが生成された時間との間の期間をスタンプすることを含む
ことを特徴とする請求項１に記載の方法。
【請求項１５】
少なくとも１つのタイムスタンプされたスナップショットエントリを前記非リアルタイムのデータファイルに格納するステップをさらに備え、
非リアルタイムのデータエントリにタイムスタンプすることは、スナップショットエントリの前記タイムスタンプと前記非リアルタイムのデータの関連時間との間の期間をスタンプすることを含む
ことを特徴とする請求項１に記載の方法。
【請求項１６】
リアルタイムのデータソースおよび非リアルタイムのデータソースを有する環境において、前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースから受け取ったデータを時間によって調整して格納する方法を実施するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記方法は、
前記リアルタイムのデータソースからリアルタイムのデータを受け取るステップと、
前記リアルタイムのデータをリアルタイムのデータファイルにエントリとして格納するステップであって、前記エントリは、前記リアルタイムのデータが生成されたときに関連づけられた時間でタイムスタンプされるステップと、
前記非リアルタイムのデータソースから非リアルタイムのデータを受け取るステップと、
前記非リアルタイムのデータを非リアルタイムのデータファイルにエントリとして格納するステップであって、前記エントリは、前記非リアルタイムのデータの関連時間でタイムスタンプされるステップと、
時間間隔をタイムスタンプが前記時間間隔内に入る前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイル中のそれらのエントリに関連づけるヘッダファイルを書き込むステップと
を備えることを特徴とするコンピュータ可読媒体。
【請求項１７】
リアルタイムのデータファイルおよび非リアルタイムのデータファイルからのデータエントリを時間によって調整して検索する方法であって、
対象時間間隔を選択するステップと、
タイムスタンプが前記対象時間間隔内に入る前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイル中のタイムスタンプされたデータエントリに前記対象時間間隔を関連づけるヘッダファイルにアクセスするステップと、
前記リアルタイムのデータファイルから、前記ヘッダファイルによって前記対象時間間隔に関連づけられたデータエントリを検索するステップと、
前記非リアルタイムのデータファイルから、前記ヘッダファイルによって前記対象時間間隔に関連づけられたデータエントリを検索するステップと、
前記データエントリの前記タイムスタンプに基づいて、前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイルからのデータエントリの前記検索を調整するステップと
を備えることを特徴とする方法。
【請求項１８】
データファイル中のすべてのデータエントリは前記対象時間間隔内であるタイムスタンプを有し、前記ヘッダファイルは前記対象時間間隔を前記データファイルに関連づける
ことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記リアルタイムのデータファイルはリアルタイムのデータベースを含み、前記リアルタイムのデータエントリはそのタイムスタンプをキーとする
ことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記非リアルタイムのデータファイルは非リアルタイムのデータベースを含み、前記非リアルタイムのデータエントリはそのタイムスタンプをキーとし、前記リアルタイムのデータベースおよび前記非リアルタイムのデータベースは同一のデータベースである
ことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記ヘッダファイルはヘッダデータベースを含み、前記ヘッダデータベース、前記リアルタイムのデータベース、および前記非リアルタイムのデータベースは同一のデータベースである
ことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記ヘッダファイルは、前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイルとは異なる別のデータファイル中の、前記対象時間間隔内であるタイムスタンプがタイムスタンプされたデータエントリに、前記対象時間間隔をさらに関連づけ、前記方法は、
前記ヘッダファイルによって前記対象時間間隔に関連づけられたデータエントリを前記別のデータファイルから検索するステップと、
前記データエントリの前記タイムスタンプに基づいて、前記別のデータファイルからのデータエントリの前記検索を調整するステップと
をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項２３】
前記別のデータファイル中の少なくとも１つのエントリは前記リアルタイムのデータファイル中のエントリに対する変更を含み、前記リアルタイムのデータファイルからエントリを検索するステップは、前記リアルタイムのデータエントリと共に格納されたデータの値を前記別のデータファイル中の前記エントリと共に格納されたデータの値と組み合わせることを含む
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
データファイルは、少なくとも１つのタイムスタンプされたスナップショットエントリを含む
ことを特徴とする請求項１７に記載の方法。
【請求項２５】
前記ヘッダファイルはリアルタイムのデータソースおよび非リアルタイムのデータソースに関連づけられ、前記リアルタイムのデータファイル中の前記リアルタイムのデータエントリの少なくともいくつかは前記リアルタイムのデータソースからのデータに基づき、前記非リアルタイムのデータファイル中の前記非リアルタイムのデータエントリの少なくともいくつかは前記非リアルタイムのデータソースからのデータに基づき、前記方法は、
１つまたは複数のデータソースを選択するステップと、
選択された前記データソースからのデータに基づいたデータエントリのみを検索するステップと
をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項２６】
リアルタイムのデータファイルおよび非リアルタイムのデータファイルから、時間によって調整してデータエントリを検索する方法を実施するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記方法は、
対象時間間隔を選択するステップと、
タイムスタンプが前記対象時間間隔内に入る前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイル中のタイムスタンプされたデータエントリに前記対象時間間隔を関連づけるヘッダファイルにアクセスするステップと、
前記リアルタイムのデータファイルから、前記ヘッダファイルによって前記対象時間間隔に関連づけられたデータエントリを検索するステップと、
前記非リアルタイムのデータファイルから、前記ヘッダファイルによって前記対象時間間隔に関連づけられたデータエントリを検索するステップと、
前記データエントリの前記タイムスタンプに基づいて、前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイルからのデータエントリの前記検索を調整するステップと
を備えることを特徴とするコンピュータ可読媒体。
【請求項２７】
データ構造が格納されたコンピュータ可読媒体であって、前記データ構造は、
時間間隔を表すデータを含む第１のデータフィールドと、
タイムスタンプが前記時間間隔内である、リアルタイムのデータファイル中のタイムスタンプされたエントリを表すデータを含む第２のデータフィールドと、
タイムスタンプが前記時間間隔内である、非リアルタイムのデータファイル中のタイムスタンプされたエントリを表すデータを含む第３のデータフィールドと
を備えたことを特徴とするコンピュータ可読媒体。
【請求項２８】
前記第２のデータフィールド中の前記データは、タイムスタンプされたエントリを含む前記リアルタイムのデータファイルを参照することによって、前記タイムスタンプされたエントリを表す
ことを特徴とする請求項２７に記載のデータ構造。
【請求項２９】
前記第３のデータフィールド中の前記データは、タイムスタンプされたエントリを含む前記非リアルタイムのデータファイルを参照することによって、前記タイムスタンプされたエントリを表す
ことを特徴とする請求項２７に記載のデータ構造。
【請求項３０】
前記データ構造とデータソースとの関連づけを表すデータを含む第４のデータフィールド
をさらに備えたことを特徴とする請求項２７に記載のデータ構造。
【請求項３１】
前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイルとは異なる別のデータファイル中の、前記時間間隔内に入るタイムスタンプがタイムスタンプされたエントリを表すデータを含む第４のデータフィールドをさらに備えた
ことを特徴とする請求項２７に記載のデータ構造。
【請求項３２】
前記第４のデータフィールド中のデータによって表される前記エントリは、前記第２のデータフィールド中のデータによって表される前記エントリへの変更を含む
ことを特徴とする請求項３１に記載のデータ構造。
【請求項３３】
リアルタイムのデータソースおよび非リアルタイムのデータソースを有する環境において、前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースから受け取ったデータを時間によって調整して格納するためのシステムであって、
時間間隔と、
リアルタイムのデータファイルと、
非リアルタイムのデータファイルと、
ヘッダファイルと、
データ記憶調整装置とを備え、
前記データ記憶調整装置は、前記リアルタイムのデータソースからデータを受け取ること、前記リアルタイムのデータをリアルタイムのデータファイルにエントリとして格納し、前記エントリは、前記リアルタイムのデータが生成されたときに関連づけられた時間でタイムスタンプされること、前記非リアルタイムのデータソースからデータを受け取ること、前記非リアルタイムのデータを前記非リアルタイムのデータファイルにエントリとして格納し、前記エントリは、前記非リアルタイムのデータの関連時間でタイムスタンプされること、および、ヘッダファイルをタイムスタンプが前記時間間隔内に入る前記リアルタイムのデータファイルおよび前記非リアルタイムのデータファイル中のそれらのエントリに関連づけることを行う
ことを特徴とするシステム。
【請求項３４】
前記データ記憶調整装置は、前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースに前記ヘッダファイルを関連づける
ことを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記リアルタイムのデータソースおよび前記非リアルタイムのデータソースとは異なる別のデータソースに前記ヘッダファイルを関連づけるユーザインターフェースをさらに備え、前記データ記憶調整装置は、前記別のデータソースからデータを受け取って前記データをタイムスタンプされたエントリとしてデータファイルに格納する
ことを特徴とする請求項３４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によってその全体が本明細書に組み込まれる、２００１年６月２２日出願の米国特許仮出願第６０／３００，１７２号明細書の利益を主張する。
【０００２】
本発明は、データ記憶技法に関し、より詳細には、いくつかの異なるデータソースによって生成されたデータの収集および検索に関する。
【背景技術】
【０００３】
工業プロセスの実施効率を向上させると同時にコストを下げるために、産業はデータ取得／制御システムにますます依存している。データ取得は、いくつかのセンサが工業プロセスの諸側面を測定し、周期的にその測定結果をデータ収集／制御システムに報告したとき始まる。「測定結果」という言葉は、非常に広く解釈するべきである。すなわち、センサによって生成される「測定結果」はたとえば、発送ラインで待機している荷物の在庫目録や工場内の部屋の写真でよい。高性能なソフトウェアは、着信データを調査し、状況報告を作成し、多くの場合、アクチュエータにコマンドを送信することによって応答し、アクチュエータは、工業プロセスの実施方法を変える。センサによって生成されたデータによって、オペレータは、外部条件の変化に応答して、機器の初期故障を見つけるために、また必要に応じて機器を稼動し、非稼動にするために工程を調整することができる。データ取得／制御システムのよくある簡単な例は、サーモスタットである。すなわち、温度計は現在の気温を測定し、測定結果は所望の温度範囲と比較され、必要であれば、実際の気温を所望の範囲にするためにコマンドが暖房器具や空調機器に送信される。
【０００４】
もちろん、多くの工業プロセスは、こうした単純な例よりもはるかに複雑である。ますます複雑化するプロセスは、制御ソフトウェアを高性能にすることによって、また、データセンサおよびアクチュエータの数を増やすことによって制御される。多段プロセスのすべての側面を監視する数万のセンサを有する場合もある。こうしたセンサには、プロセスのさまざまな特性について報告を行うためにさまざまなタイプのものがある。その出力も同様に、測定結果の意味、各測定ごとに送信されるデータの量、および測定の頻度が異なる。後者に関していうと、正確さのためおよび迅速な応答を可能にするために、こうしたセンサのいくつかは、毎秒１回または複数回の測定を行う。これに数万のセンサを掛け合わせると、非常に多くのデータが制御システムに流れ込むことになり、したがって洗練されたデータ管理技法が必要とされる。現在普及している技法の１つが、「データストリーミング（data streaming）」である。この技法では、着信データは、ただちに１つまたは複数のデータファイルに到着時間順で格納される。データを時間系列順で格納することにより、制御システムは、選択した時点でプロセスの状態に関連するデータに迅速にアクセスし、それに従って分析を行うことが可能になる。
【０００５】
ただし、現在のデータストリーミング技法は、ある程度の柔軟性を犠牲にして効率を上げている。これによって引き起こされる第１の問題は、複雑な工業プロセスと、他のプロセスおよび処理環境との相互関係によるものである。こうした相互関係はそれ自体非常に複雑であり、頻繁に変化し得る。変化に適応するために、オペレータはセンサを頻繁に追加し、移動し、削除して、センサの出力を制御システムに統合しようとする。現在のデータストリーミング技法は、大規模な継続中データストリームを効率的に管理するように最適化されているので、構成の変化に容易に対処することができないことが多い。実際、新しいまたは異なるセンサおよびアクチュエータ用に再構成するためには、完全にシャットダウンしなければならないデータ取得／制御システムもある。工業プロセスはデータ取得／制御システムに依存し、それなしでは確実に実施することができないので、システムのシャットダウンは、非常にコストがかかる、工業プロセス全体のシャットダウンを必要とする。したがって、データストリーミングの柔軟性が制限されることにより、オペレータは、迅速な再構成を行うこともデータ収集技術の進歩を容易に利用することもできない。
【０００６】
データストリーミングに関連する問題は、広範なシステムによって取得されるさまざまなタイプのデータによるものである。現在のデータストリーミング技法では、いわゆる「非リアルタイムのデータ」を十分に処理していない。上で述べたタイプのセンサは、「リアルタイム」に測定を行う。たとえば午後１２：３４：５６に、水位センサが汚物集合タンクの水位を記録する。生成された測定結果、すなわち水位は、測定が行われたまさにその時間に関連する。以下の非リアルタイムのデータの例と比較されたい。午後３：００：００に、技師が取水用カップを桶に入れて桶の内容物からサンプルを採取する。この内容物は、研究室で分析を受けるが、この分析はリアルタイムのセンサが実施するには複雑すぎ、またはあまり頻繁に実施されないために自動式のリアルタイムのセンサのコストが許容されない。いずれの場合でも、技師はサンプルを研究室に持って行き、分析を行う。分析の結果は午後４：３０：００に利用可能となり、この時点で技師は結果をデータ収集システムに入力する。この結果は、午後４：３０：００時点での桶の状態ではなく、サンプルが採取された午後３：００：００時点に関連する。従来のデータストリーミングは、結果の「関連時間」、すなわち午後３：００：００頃に生成されたリアルタイムのデータと共に分析結果を容易にバックアップし、格納することができない。そうではなく、データストリームは、利用可能になったときの分析結果を、午後４：３０：００に生成されたリアルタイムのデータと共に格納する。同じ日の後の時間になって、午後３：００：００時点での処理がどのような状態であったかを制御システムが分析しようと試みると、研究室での分析の結果がない場合がある。というのは、その結果は、リアルタイムのデータ点と共に時間系列で格納されないからである。分析は一層困難になり、その結果非リアルタイムのデータ点の価値は大幅に減少する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
新しいデータソースを追加または削除することを可能にし、時間によって調整された形で分析するためにリアルタイムのデータ点および非リアルタイムのデータ点を検索することを可能にする、リアルタイムのデータおよび非リアルタイムのデータを格納する方法が必要である。
【課題を解決するための手段】
【０００８】
上記のことに鑑みて、本発明は、リアルタイムのデータソースおよび非リアルタイムのデータソースによって生成されたデータを並列「ストリーム」またはデータファイルに入れるデータ収集／検索システムを提示する。データストリーミングの利点は、タイムスタンプを有するリアルタイムのデータ点を１つまたは複数のデータファイルに、タイムスタンプを有する非リアルタイムのデータ点を他のデータファイルに格納することによって保持される。これらのファイルは、データからなる並列ストリームを形成する。並列ストリームは互いに、また特定の監視期間に関連づけられる。特定の期間に関連するデータにアクセスするために、その期間に関連づけられた並列ストリームにあるデータは、そのタイムスタンプに基づいて調整されて検索される。
【０００９】
リアルタイムのデータ点は、そのデータが収集された時間がスタンプされる。データの記憶および検索を効率よく行うために、こうしたデータ点は、データ収集システムに届くとすぐに時間系列順に格納される。非リアルタイムのデータ点は、データ点がデータ収集システムに届く可能性のあるずっと後の時間ではなく、関連時間がタイムスタンプされる。非リアルタイムのデータ点は、時間系列順にそれ自体のデータファイルに格納され、その系列に使用する時間は収集時間ではなく関連時間である。通常、非リアルタイムのデータ点はリアルタイムのデータ点よりもはるかに少ないので、データストリーミングの効率および制限は、非リアルタイムのデータファイルに適用する必要がない。したがって、データ点をその適切な関連時間で挿入するために、非リアルタイムのデータストリームにおいてバックアップを作成することが可能である。
【００１０】
検索の際、オペレータは所与の監視期間にデータにアクセスするために、ヘッダファイルを使用する。監視期間に関連するデータ点を含むストリームを参照することにより、こうしたヘッダファイルを使用して複数の並列ストリームからのデータを調整して容易に検索することができるようになる。並列ストリームファイル中のタイムスタンプにより、分析用に調整された時間系列な１つのデータストリームにデータ点をマージすることが可能になる。ヘッダファイルは、外部データベースを参照し、それによってそのデータを並列ストリームとして処理し、プロセス監視データとマージすることができる。
【００１１】
並列ストリームのデータ収集／検索技術により、オペレータは、監視中の処理をシャットダウンすることなく、データソースを追加または削除することが可能になる。新しいソースが追加されると、そのデータは、リアルタイムでも非リアルタイムでも、既存のストリームを中断することなく、さまざまなデータファイルに流れ込むデータストリームに追加される。オペレータは、プロセス監視データの複数のバージョンを含む追加の並列ストリームを組み込むこともできる。
【００１２】
並列ストリームの枠組みにより、ストリームの内容に柔軟性をもたせることが可能になる。たとえば、テストでは、正しい値から一定の割合で逸脱した測定結果をセンサが生成していたことが示される場合がある。測定をやり直して不良センサによって生成されたデータ点をすべて訂正するのではなく、補正率からなる新しい並列ストリームが作成される。データ分析プログラムは、元のストリームからの不良センサの読取り結果を新しいストリームにある補正率と組み合わせて、訂正された結果を生成する。
【００１３】
添付の特許請求の範囲によって本発明の特徴を具体的に説明するが、本発明、およびその目的ならびに利点は、以下の詳細な説明を添付の図面と併せ読むことによって最もよく理解されよう。
【発明を実施するための最良の形態】
【００１４】
図面を見ると、同じ参照番号は同じ要素を指し、本発明は適切なコンピューティング環境で実施されているものとして示される。以下の説明は、本発明の実施形態に基づいており、本明細書で明示的に説明しない代替実施形態に関して本発明を限定するものととるべきではない。
【００１５】
以下の説明において、特に指定のない限り、動作および１つまたは複数のコンピュータによって実施される操作の記号表示を参照して本発明を説明する。したがって、このような動作および操作は、コンピュータで実行されるものとみなされることがあり、構造化された形でデータを表す電気信号を扱うコンピュータの処理装置による操作を含むことが理解されよう。この処理はデータを変換しまたはコンピュータのメモリシステム内の位置に保持し、メモリシステムは、当業者によく理解されたやり方でコンピュータの動作を再構成しまたは変更する。データが保持されるデータ構造は、データの形式によって定義される特定の特性を有するメモリの物理的な位置である。ただし、本発明を上記の状況で説明しているが、限定を意図するものではなく、これ以降説明するさまざまな動作および操作はハードウェアでも実装できることが当業者には理解されよう。
【００１６】
この説明を具体的に表すために、図１は、工業プロセスを非常に単純化した形で示す。本発明の方法は工業以外の設定でも適用することができ、制御システムに着信するデータの意味に関わらず有用であることに留意されたい。図１の製紙プロセスは、木を水中木部繊維の懸濁液に変えるパルプシステム１００で始まる。木を受け取ってパルプ状の繊維にし、繊維を精製し、得られる懸濁液のパラメータを制御する処理は当該分野において公知であり、ボックス１００に組み込まれている。懸濁液は、プロポーショニングバルブ（ｐｒｏｐｏｒｔｉｏｎｉｎｇ  ｖａｌｖｅ）１０２に供給される。プロポーショニングバルブ１０２は、パルプシステム１００からの懸濁液と白水貯蔵タンク１０４からの循環処理された懸濁液との混合物の比率を制御する。混合物は混合ストックタンク１０６に送られ、次いで製紙機械１０８に届く。懸濁液は製紙機械１０８の常時稼働するスクリーンコンベア、すなわち「ワイヤー（ｗｉｒｅ）」に注がれ、ここでマット（ｍａｔ）を形成する。ある程度の繊維を含む余分な水がマットから取り除かれ、このマットが紙になる。余分な水および繊維は製紙機械のワイヤーピット（ｗｉｒｅ  ｐｉｔ）１１２に注がれ（フロー１１０）、白水貯蔵タンク１０４に汲み出される。そこから、水および繊維は循環されてパルプシステム１００に戻される。
【００１７】
製紙機械１０８によって作成された紙の品質は、混合ストックタンク１０６から注がれる懸濁液の特性によって大部分が決定される。図１の非常に単純化した例では、この注がれる懸濁液は、プロポーショニングバルブ１０２によって設定されたように混合物を変えることによって制御される。
【００１８】
図２では、図１にいくつかのプロセスセンサ（または「データソース」）およびアクチュエータを追加している。計算装置２００は、製紙機械１０８によって作成された紙の品質を分析し制御するのに有用な測定結果をセンサから受け取る。分かりやすくするために、計算装置２００は図２ではパーソナルコンピュータとして示してあるが、その機能は、サーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ミニコンピュータ、メインフレームコンピュータ、上記のシステムや装置のいずれをも含む分散型コンピューティング環境など、どの制御技術にも実装することができる。
【００１９】
図２は、２つのリアルタイムのデータソースを示す。データソース２０２は混合ストックタンク１０６中の懸濁液の水位を測定し、データソース２０４は懸濁液の濃度を測定する。こうしたリアルタイムの測定結果は計算装置２００に送られ、計算装置は、データが収集された時間でタイムスタンプされたリアルタイムのデータファイル２１２に結果を格納する。非リアルタイムのデータソースの１つを示すと、データソース２０６は、紙の品質、すなわち紙の多孔率の測定結果を作成する。多孔率を測定するために、技師は製紙機械１０８から紙の小さいサンプルを採取し、そのサンプルを研究室で分析し、次いで研究室で得られた結果を計算装置２００に入力する。結果は、研究室での分析の結果が利用可能になるであろうずっと後の時間ではなく、サンプルが採取された時間でタイムスタンプされた、非リアルタイムのデータファイル２１４に格納される。
【００２０】
計算装置２００は、データソース２０２、２０４、および２０６によって生成された測定結果を格納し、さらにリアルタイムの測定結果に基づいた予測モデルを実行する。このモデルは、測定された属性を各属性ごとに設定された所望の値の範囲と比較する。（通常、非リアルタイムの測定結果は、予測モデルに有用な時間に利用可能ではない。）属性を所望の値の範囲に保つために、予測モデルは、工業プロセスの１つまたは複数の動作パラメータを調節する属性に対する影響を予測する。次いで、予測モデルは、予測に従って動作パラメータを調節するようアクチュエータに命令する。図２の単純化した例では、予測モデルは２つの動作パラメータを調節することができる。アクチュエータパス２０８を介して、予測モデルは、パルプシステム１００の懸濁液および白水貯蔵タンク１０４の懸濁液の比率を制御する。製紙機械１０８の速度は、アクチュエータパス２１０を介して制御される。実際の製紙工場では、予測モデルは、（おそらく数万に達する）リアルタイムおよび非リアルタイム両方の他のデータソースに応じることができ、図２に示したもの以外の他の動作パラメータを調節することができるが、この２つのリアルタイムのデータソース（混合ストックタンクの水位ならびに混合ストックタンクの濃度）および２つの調節可能なパラメータ（懸濁液の比率ならびに製紙機械の速度）は、例示的な目的のためのものである。
【００２１】
図１および２の例示的な処理環境を念頭において、次に図３ａおよび３ｂに移る。これらの図は、データの収集および格納に適した本発明の方法の実施形態を表す。説明のために、図３ａおよび３ｂのフローチャートでは、本方法の態様を無限ループにおいて互いの後に続くステップとして表す。いくつかの実施形態では、図３ａおよび３ｂの「ステップ」は、同時に、連続して、またはその両方を組み合わせた形で起こり得る。いくつかのステップは他のステップよりも頻繁に実施され、いくつかのステップは全く実施されない場合もある。
【００２２】
この方法はステップ３００で始まる。計算装置２００上で実行中のデータコレクタが、リアルタイムのデータソースから測定結果を受け取る。データソースは、生成するデータの量、生成するデータのタイプ、およびデータを生成する頻度が異なる。データの各着信パッケージは、ステップ３０２で、データが収集された時間でタイムスタンプされる。多くの高性能なデータソースは、こうしたタイムスタンプを測定結果と共に送信する。他の、特に比較的古いソースはタイムスタンプを提供しないので、データコレクタは、測定結果を受け取った時間をエントリにスタンプする。
【００２３】
現実の工業プロセス環境では、多くのデータエントリが生成されるので、非常に効率的なデータ記憶技術、たとえばデータストリーミングが、フラッド（ｆｌｏｏｄ）と同じ速度を保つために使用される。ステップ３０４で、タイムスタンプされたリアルタイムのデータエントリは、１つまたは複数のリアルタイムのデータファイル２１２に格納される。いくつかの実施形態では、各データファイル２１２は、１つのデータセンサまたは一群の関連するデータセンサからのデータ受取り専用である。他の実施形態では、着信する全てのリアルタイムのデータエントリを１つのデータファイル２１２に格納する。データファイル２１２が単一のデータソースからのデータを含む場合、データファイル２１２のタイトルまたはヘッダは通常、そのデータソースを示す。いくつかのソースからのデータを含むデータファイル２１２の場合、各データエントリをそのデータソースに関連づけるために何らかの方法が使用される。この方法は、ファイル中の特殊な記録によって、またはデータソースフィールドを各データエントリに含めることによって達成することができる。いずれの場合でも、エントリは、一般にデータコレクタに到着した順序でできるだけ速く格納される。
【００２４】
ステップ３０６は、リアルタイムのデータエントリの記憶および検索の効率を向上させる選択肢を表す。周期的に、たとえば１分おきに、特殊なエントリが各データファイル２１２に書き込まれる。この特殊なエントリは「スナップショット」と呼ばれ、少なくともタイムスタンプを含む。リアルタイムのデータエントリは次いで、直前のスナップショットエントリから経過した時間（「時間デルタ」と呼ばれる）でタイムスタンプされる。この技法により、各リアルタイムのデータエントリ中のタイムスタンプ用のデータフィールドがより小さくなる。というのは、そのフィールドは、多くの場合、完全な暦日および時間ではなく分のみの時間デルタだけを格納すればよいからである。タイムスタンプがミリ秒まで正確な場合、および数百のデータエントリが毎秒書き込まれる場合、この技術によって大量の記憶空間が節約される。
【００２５】
スナップショットエントリは、（次のスナップショットまでの）以下のデータエントリすべてに適用してもよく、特定のデータソースからのデータエントリに特有でもよい。後者の場合、スナップショットエントリは、データの値を含むことができる。その値は単に、スナップショットが書き込まれた時間にデータソースから受け取った最も新しい値である。
【００２６】
ステップ３０８は、そこで非リアルタイムのデータが受信される以外はステップ３００と同様である。このデータエントリは、研究室での分析から得られることが多い。ステップ３１０で、エントリにその「関連時間」、すなわち測定を行う処理の間の時間がタイムスタンプされる。たとえばそれは、その後の研究室での分析のためにサンプルが製紙機械１０８から採取される時間である。
【００２７】
サンプルが採取された時とデータコレクタに入力するために結果が利用可能になった時間との間に遅れがあるので、こうしたデータエントリは、「非リアルタイム」と呼ばれる。この遅れにより、ステップ３０４で書き込みされるリアルタイムのデータファイル２１２中の適正な場所にエントリを挿入することが妨げられる。ステップ３０４で使用される、多数のリアルタイムのデータエントリを扱う非常に効率的なデータ記憶技術では、関連時間で非リアルタイムのデータエントリを挿入するためにリアルタイムのデータファイル２１２の「バックアップを作成する」ことが認められない。そうではなく、図３ｂのステップ３１２で、非リアルタイムのデータエントリは、それ自体のデータファイル２１４に格納される。リアルタイムのデータの場合と同様に、データ収集システムは、非リアルタイムのデータを１つまたは複数のファイル２１４に格納することを選ぶことができ、この選択は効率の問題に基づく。いくつかの実施形態では、関連時間で非リアルタイムのデータエントリを適正なシーケンスに挿入できるようにするために、非リアルタイムのデータファイル２１４のバックアップが作成される。他の実施形態では、非リアルタイムのデータファイル２１４は、関連時間をエントリのキーとするデータベースである。こうした柔軟性は、非リアルタイムのデータエントリで可能である。というのは、一般に非リアルタイムのデータエントリは、リアルタイムのデータエントリよりはるかに数が少ないからである。したがって、非リアルタイムのデータエントリの格納効率は、リアルタイムのデータエントリ程には重要でなく、柔軟性を向上させるためにある程度の効率を犠牲にしてよい。異なるタイプのデータエントリに対して異なる記憶技術を使用できることにより、データ収集システムのための効率および柔軟性を全体として大幅に向上させることができる。
【００２８】
図３ｂには示さないが、スナップショットエントリは、ステップ３０６でリアルタイムのデータファイル２１２に書き込まれるのと同様に、非リアルタイムのデータファイル２１４に書き込むことができる。
【００２９】
データファイルはそれぞれ、リアルタイムでも非リアルタイムでも、処理環境のいくつかの側面を記録するために書き込まれるデータエントリからなる、別個ではあるが並列のストリームである。ステップ３１４で、ヘッダファイルは、書き込みされて並列ストリーム同士を密接に関連づける。処理状態の分析を所与の時間に実施するとき（ステップ３１６および図４ａ、４ｂの説明を参照）、その所与の時間に該当するデータエントリを含むストリームはすべて、検査されるべきである。ステップ３１４で書き込みされたヘッダファイルは、タイムスタンプがその時間間隔内であるリアルタイムのデータエントリおよび非リアルタイムのデータエントリに時間間隔を関連づける。
【００３０】
このように、複数のデータストリームを互いに、および時間間隔に関連づけるヘッダファイルを使用することにより、異なるタイプのデータに対して異なるデータ記憶技術を可能にするという上述の柔軟性が実現される。いくつかの実施形態では、ステップ３００から３１２に示した以外の方法によって作成される並列ストリームに時間間隔をヘッダによって関連づけることにより、柔軟性はさらに増す。第１の例として、処理環境の外部で作成されたデータベースは、処理の分析に関連する情報を含む。ヘッダファイルは、そのデータベースをさらに別の並列ストリームとして扱い、時間間隔に該当するデータエントリを含む他のストリームに関連づける。第２の例として、真である状態から一定の割合で逸脱した測定結果を生成する不良データソースの場合を考える。たとえば、データセンサ２０２は、混合ストックタンク１０６中の懸濁液の水位を測定するとき、実際の水位より１００ガロン高い測定結果を常に報告するとする。２日後、データセンサによる測定に誤りが出るようになり、障害が検出され、センサ２０２は修理されまたは取り換えられる。ここでリアルタイムのデータファイル２１２は、２日分の不正確な懸濁液の水位の測定結果を含んでいる。再度測定してデータファイル２１２を訂正する（これは一部の実装では現実的でない場合がある）のではなく、マイナス１００ガロンの補正率を有する新しいストリームが設定される。ヘッダファイルは、この新しい補正率ストリームを２日間の故障期間に関連づける。センサ２０２の２日間の故障期間のデータエントリが検索される度に、ヘッダファイルは補正率を取り出してデータエントリに関連づけ、訂正された結果を生成する。この２つの例は、ヘッダファイルを用いることによって達成される、並列ストリームの柔軟性による利点の一部を示している。
【００３１】
センサからデータを取得すると、計算装置２００は、ステップ３１６でデータを分析する。分析に関連するいくつかの非リアルタイムのデータエントリがまだ利用可能ではないので、この分析はどの時点でも不完全である可能性がある。いくつかの実施形態では、分析プログラムは、最新の利用可能な測定結果に基づいて非リアルタイムのデータを予測し、新しい非リアルタイムのデータエントリが利用可能になった時点で予測を修正する。
【００３２】
ステップ３１６の分析は、アクチュエータにコマンドを送って処理を制御するために、ステップ３１８で使用される。上述したように、制御システムが必要とする短い応答時間を満たすほど迅速に非リアルタイムのデータが利用可能にならないという理由だけで、プロセス制御は通常、リアルタイムのデータの分析に基づく。図１および２の例では、こうした制御は、（アクチュエータ２０８を介して）プロポーショニングバルブ１０２の設定を変更すること、および（アクチュエータ２１０を介して）製紙機械１０８の速度を変えることのみを含む。分析および制御プログラムの目標は、測定された処理特性を受け入れ可能な範囲に保つことである。
【００３３】
図３ａおよび３ｂの説明の最初で述べたように、こうしたステップの処理は絶えず繰り返されるが、これらの図に示した一連の流れでは必ずしもそうではない。
【００３４】
図４ａおよび４ｂは、図３ａおよび３ｂの方法によって収集され格納されたデータエントリにアクセスする例示的な方法を表す。図４ａおよび４ｂの方法は、人間のオペレータの制御下で実施することも、計算装置２００の制御下で自動的に呼び出すこともできる。
【００３５】
この方法は、対象となる間隔が選ばれると、ステップ４００で始まる。処理を制御するために（たとえば図３ｂのステップ３１６で）分析が実施される場合、この間隔は、数分またはわずか数秒分のデータエントリを含むことができる。週または月という間隔を選択することによって、履歴全体を取得することができる。
【００３６】
選択された対象時間間隔に基づいてその間隔のデータエントリに関連づけられたヘッダファイルが見つけられ、ステップ４０２でアクセスされる。アクセスされるヘッダファイルの数は、時間間隔の長さおよびデータ記憶の実装の詳細によって決まる。ステップ４０４および４０８では、ヘッダファイルを用いて、関連するデータエントリを含むデータストリームまたはデータファイルにアクセスする。
【００３７】
図３ａのステップ３０６に関連して上述したように、データファイルは、スナップショットエントリを含むことができる。その場合、データエントリがステップ４０６および４１０でデータファイルから取り出されると、データエントリ中の時間デルタは、スナップショットエントリの時間の値と組み合わされて実際のデータエントリの時間を生じる。補正率が存在する場合は、それがここでも同じように適用される。
【００３８】
ステップ４１２で、データファイルから取り出されたデータエントリは、タイムスタンプに基づいて調整され、データエントリを整合的に１つに蓄積したものになる。上述したように、関連するデータは、どのような方法でも生成され対象時間間隔に適合すると印がつけられた、ほとんどのデータを含むことができる。
【００３９】
関連するデータエントリは、図４ｂのステップ４１４で表示または分析される。図４ａおよび４ｂはデータ検索に続いて起こるデータ分析を示しているが、このような厳密な順序づけは通常、大規模な処理環境では実行不可能である。その代わりに、いくつかのデータエントリが検索される。次いで、そのエントリが表示されまたは分析され、他のエントリは一定して検索される。
【００４０】
本発明の原理を適用することができる多くの可能な実施形態を鑑み、図面を参照して本明細書で説明した実施形態は例示を意図したものに過ぎず、本発明の範囲を限定するものと考えるべきではないことが理解されよう。本発明の方法は工業分野以外にも適用可能であることが当業者には理解されよう。ソフトウェアモジュールまたはソフトウェア構成要素によって本発明を説明したが、いくつかの処理はハードウェア構成要素によって等しく実施することもできる。したがって、本明細書に記載した本発明は、このようなすべての実施形態を添付の請求項およびその均等物の範囲内であると企図する。
【図面の簡単な説明】
【００４１】
【図１】例示的な工業プロセス、ここでは非常に単純化した製紙プロセスを示すブロック図である。
【図２】図１の例示的な工業プロセスにデータ取得／制御システムを追加したブロック図である。
【図３ａ】処理データを収集し格納する例示的な方法を示す、図３ｂと共に形成されるフローチャートである。
【図３ｂ】処理データを収集し格納する例示的な方法を示す、図３ａと共に形成されるフローチャートである。
【図４ａ】処理データを検索し分析する例示的な方法を示す、図４ｂと共に形成されるフローチャートである。
【図４ｂ】処理データを検索し分析する例示的な方法を示す、図４ａと共に形成されるフローチャートである。
【図１】
2004531831.tif 000003
【図２】
2004531831.tif 000004
【図３ａ】
2004531831.tif 000005
【図３ｂ】
2004531831.tif 000006
【図４ａ】
2004531831.tif 000007
【図４ｂ】
2004531831.tif 000008
【国際公開パンフレット】
2004531831.tif 000009
2004531831.tif 000010
2004531831.tif 000011
2004531831.tif 000012
2004531831.tif 000013
2004531831.tif 000014
2004531831.tif 000015
2004531831.tif 000016
2004531831.tif 000017
2004531831.tif 000018
2004531831.tif 000019
2004531831.tif 000020
2004531831.tif 000021
2004531831.tif 000022
2004531831.tif 000023
2004531831.tif 000024
2004531831.tif 000025
2004531831.tif 000026
2004531831.tif 000027
2004531831.tif 000028
2004531831.tif 000029
2004531831.tif 000030
2004531831.tif 000031
2004531831.tif 000032
2004531831.tif 000033
【国際調査報告】
2004531831.tif 000034