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