(57)【要約】      （修正有）【課題】分散型プロセス制御設備所有権調停システムおよび方法を提供する。【解決手段】様々なプロセス制御構成体を表わす個々の制御モジュール１５０が、設備調停情報を格納するための複数の待ち行列１５１〜１５４を定義する。一つのプロセス制御構成体による別のプロセス制御構成体に対する所有権獲得依頼が、所有権関係を表わす調停トークン１５５により表わされる。調停トークン１５５のコピーが、制御モジュール１５０、２５０間で通信され、獲得依頼の状態によって様々な調停待ち行列１５１〜１５４に格納される。標的プロセス制御構成体に関連した制御モジュール２５０は、獲得依頼を受け取ると、制御モジュールに組み込まれた調停規則に基づいて標的プロセス制御構成体が依頼元の制御構成体により獲得可能かどうかを判断し、獲得されたら、解放されるまで、その他のプロセス制御構成体により獲得されないようにする。【選択図】図３
2010170545.tif 000002
【特許請求の範囲】
【請求項１】
プロセス工場における設備所有権争いを調停するためのシステムであって、
複数のプロセス制御構成体と、
一つ又は複数のプロセスコントローラと、
一つ又は複数のプロセスコントローラにより実行される複数の制御モジュールと、
第２の制御プロセス制御構成体の所有権を獲得することを依頼するように適応された、複数のプロセス制御構成体の一番最初の一つに関連した第１の制御モジュールと、
第２のプロセス制御構成体が第１のプロセス制御構成体により獲得可能かどうかを判断するように適応された第２のプロセス制御構成体に関連した第２の制御モジュールと、を備え、
第２のプロセス制御構成体が第１のプロセス制御構成体により獲得可能であると第２の制御モジュールが判断すると、第２の制御モジュールが、第１のプロセス制御構成体が第２のプロセス制御構成体に対する所有権を獲得することを可能にすることを特徴とするシステム。
【請求項２】
第２の制御モジュールが、第２のプロセス制御構成体の所有権を獲得した別のプロセス制御構成体を同定するデータを格納するためのメモリ格納領域を定義し、
第２の制御モジュールが、別のプロセス制御構成体モジュールにより第２のプロセス制御構成体が獲得されたことを示すデータがメモリ格納領域に格納されているかどうかを判断することにより、第１のプロセス制御構成体により第２のプロセス制御構成体を獲得可能かどうかを判断することを特徴とする、請求項１に記載のシステム。
【請求項３】
第２の制御モジュールが、第２のプロセス制御構成体の所有権を獲得したいというその他のプロセス制御構成体に関連したその他の制御モジュールからの保留中の依頼と関連するデータを格納するためのデータ待ち行列を定義し、
第２のプロセス制御構成体が獲得可能であり、第１の制御モジュールからの依頼に関連したデータがデータ待ち行列の先頭にある場合、第２の制御モジュールが、第１のプロセス制御構成体による第２のプロセス制御構成体の所有権の獲得を許すことを特徴とする、請求項１に記載のシステム。
【請求項４】
第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を獲得するようにとの第１の制御モジュールからの依頼に関連したデータが優先順位識別子を含み、
第２のプロセス制御構成体が獲得可能であり、第１の制御モジュールからの依頼に関連したデータが、その他如何なる制御モジュールから受け取った第２のプロセス制御構成体を獲得したいという依頼と関連する優先順位より高い優先順位を示す優先順位識別子を有する場合に、第２の制御モジュールが、第１のプロセス制御構成体による第２のプロセス制御構成体の獲得を許すことを特徴とする、請求項３に記載のシステム。
【請求項５】
第１の制御モジュールが、その他のプロセス制御構成体の所有権を獲得したいという保留中の依頼（第２のプロセス制御構成体を獲得したいという依頼を含む）と関連するデータを格納するためのデータ待ち行列を定義することを特徴とする請求項１に記載のシステム。
【請求項６】
第１の制御モジュールが、第１のプロセス制御構成体が所有権を獲得したその他のプロセス制御構成体を同定するデータを格納するためのデータ待ち行列を定義することを特徴とする請求項１に記載のシステム。
【請求項７】
第１の制御モジュールが、保留中の獲得と関連する第１のデータ待ち行列および完了済みの獲得に関連した第２のデータ待ち行列を定義し、第２の制御モジュールが、保留中の獲得依頼と関連する第３のデータ待ち行列および獲得依頼への服従と関連する第４のデータ待ち行列を定義することを特徴とする請求項１に記載のシステム。
【請求項８】
第１の制御モジュールが、第１の制御モジュールを獲得依頼のソースとして、および第２の制御モジュールを獲得依頼の宛先として同定する調停トークンを生成するように適応されていると共に、更に第１の制御モジュールが、保留中の獲得と関連する第１のデータ待ち行列に調停トークンのコピーを格納し、第２のプロセス制御構成体の所有権を獲得したいという依頼と共に調停トークンのコピーを第２の制御モジュールへと送信するように適応され、
依頼を受け取った上で、第２の制御モジュールが調停トークンのコピーを保留中の獲得依頼に関連した第３のデータ待ち行列に格納するように適応されることを特徴とする、請求項７に記載のシステム。
【請求項９】
第２の制御モジュールが、第１のプロセス制御構成体により第２のプロセス制御構成体を獲得可能であると第２の制御モジュールが判断した時点で保留中の獲得依頼に関連した第３のデータ待ち行列から獲得依頼への服従に関連した第４のデータ待ち行列へと調停トークンのコピーを移動させ、第１のプロセス制御構成体が第２の制御モジュールの獲得に成功したことを示す獲得応答を第１の制御モジュールに送信するように適応されることを特徴とする請求項８に記載のシステム。
【請求項１０】
第２の制御モジュールからの獲得応答を受け取った上で、第１の制御モジュールが、保留中の獲得依頼に関連した第１のデータ待ち行列から完了済みの獲得に関連した第２のデータ待ち行列へと調停トークンのコピーを移動させるように適応されることを特徴とする請求項９に記載のシステム。
【請求項１１】
第２の制御モジュールが一度にその他のプロセス制御構成体のうちの一つだけにより獲得されている第２のプロセス制御構成体に服従しうるように、獲得依頼への服従に関連した第４のデータ待ち行列が、獲得依頼への単発服従に関係するデータの保持に限定されることを特徴とする請求項７に記載のシステム。
【請求項１２】
定義された数のその他のプロセス制御構成体により同時に獲得されている第２のプロセス制御構成体に第２の制御モジュールが服従しうるように、獲得依頼への服従に関連した第４のデータ待ち行列が、獲得依頼に対する定義された数の服従に関するデータの保持に限定されることを特徴とする請求項７に記載のシステム。
【請求項１３】
第３のデータ待ち行列内の場所を確保するためにその他のプロセス制御構成体が第２のプロセス制御構成体の所有権を獲得する必要のある時点の前にあらかじめ別のプロセス制御構成体に代行して第２のプロセス制御構成体の所有権を獲得したいという依頼を通信することにより、後でその他のプロセス制御構成体が第２のプロセス制御構成体の所有権を獲得する必要がある時に第２のプロセス制御構成体が獲得できる状態になるようにするべく適応された外部アプリケーションを更に備える請求項７に記載のシステム。
【請求項１４】
第２のプロセス制御構成体がその他のプロセス制御構成体の一つ又は複数に対する所有権の獲得に成功した後でのみ、第２のプロセス制御構成体が第１のプロセス制御構成体により獲得可能であると第２の制御モジュールが判断することを特徴とする請求項１に記載のシステム。
【請求項１５】
複数のプロセス制御装置を含むプロセス制御システムにおける分散型調停システムであって、
分散型調停システムが、複数のプロセス制御装置に対応する複数のソフトウェア・オブジェクトを備え、
該ソフトウェア・オブジェクトが、対応する制御装置と関連する所有権調停データを格納するための調停待ち行列を定義し、
分散型調停システムが、ソフトウェア・オブジェクトを実行するための一つ又は複数のプロセッサを更に備え、
該プロセッサによってソフトウェア・オブジェクトが、調停データを交換し、調停待ち行列に調停データを格納し、且つ調停待ち行列に格納された調停データに基づいて調停の決定を下す、
分散型調停システム。
【請求項１６】
第１のプロセス制御装置に対応する第１のソフトウェア・オブジェクトにより定義された所有権調停待ち行列が、その他のプロセス制御装置に対する所有権を獲得する依頼に関係する調停データを格納するための保留中獲得待ち行列を含むことを特徴とする請求項１５に記載の分散型調停システム。
【請求項１７】
第１のプロセス制御装置に対応する第１のソフトウェア・オブジェクトにより定義された所有権待ち行列が、第１のプロセス制御装置に対する所有権を獲得したいというその他のプロセス制御装置に対応するソフトウェア・オブジェクトからの依頼に関係する調停データを格納するための保留中依頼待ち行列を含むことを特徴とする請求項１５に記載の分散型調停システム。
【請求項１８】
第１のプロセス制御装置に対応する第１のソフトウェア・オブジェクトにより定義された所有権待ち行列が、第１のプロセス制御装置が所有権を獲得したその他のプロセス制御装置に関係する調停データを格納するための所有済み設備待ち行列を含むことを特徴とする請求項１５に記載の分散型調停システム。
【請求項１９】
第１のプロセス制御装置に対応する第１のソフトウェア・オブジェクトにより定義された所有権調停待ち行列が、第１のソフトウェア・オブジェクトが対応付けられているプロセス制御装置の所有権を獲得した別のプロセス制御装置に対応する別のソフトウェア・オブジェクトに関係する調停データを格納するための所有済み待ち行列を含むことを特徴とする請求項１５に記載の分散型調停システム。
【請求項２０】
第１のプロセス制御装置に対応する第１のソフトウェア・オブジェクトが、保留中獲得待ち行列および所有済み設備待ち行列を定義し、
第２のプロセス制御装置に対応する第２のソフトウェア・オブジェクトが、保留中依頼待ち行列および所有済み待ち行列を定義し、
第１のソフトウェア・オブジェクトは、第１のプロセス制御装置が第２のプロセス制御装置を獲得しようとした場合に調停トークンを生成するように適応され、
第１のソフトウェア・オブジェクトは、調停トークンのコピーを保留中依頼待ち行列に格納し、調停トークンのコピーを第２のソフトウェア・オブジェクトに通信するように適応され、
第２のソフトウェア・オブジェクトは、調停トークンのコピーを受け取り、調停トークンのコピーを保留中依頼待ち行列に格納するように適応されることを特徴とする、請求項１５に記載の分散型調停システム。
【請求項２１】
第２のソフトウェア・オブジェクトが、第１のソフトウェア・オブジェクトから調停トークンのコピーを受け取った上で、第２のプロセス制御装置が第１のプロセス制御装置により獲得可能かどうか判断するように適応され、
第２のソフトウェア・オブジェクトが、第２のプロセス制御装置が第２のプロセス制御装置により獲得可能であると判断した上で、第１のソフトウェア・オブジェクトから受け取った調停トークンのコピーを保留中依頼待ち行列から所有済み待ち行列へと移動させて、第１のプロセス制御装置が第２のプロセス制御装置の獲得に成功したことを確認する確認メッセージを第１のソフトウェア・オブジェクトに送信するように更に適応される、
ことを特徴とする請求項２０に記載の分散型調停システム。
【請求項２２】
第１のソフトウェア・オブジェクトが、第２のソフトウェア・オブジェクトから確認メッセージを受け取った上で、調停トークンのコピーを保留中獲得待ち行列から所有済み設備待ち行列に移動させるように更に適応されることを特徴とする請求項２１に記載の分散型調停システム。
【請求項２３】
第１のプロセス制御装置がもはや第２のプロセス制御装置の所有権を必要としなくなった時に、第１のソフトウェア・オブジェクトが第２のソフトウェア・オブジェクトに解放メッセージを通信するように適応され、
解放メッセージを受け取った上で第２のソフトウェア・オブジェクトが調停トークンを所有済み待ち行列から削除して、解放確認メッセージを第１のソフトウェア・オブジェクトに通信するように適応され、解放確認メッセージを受け取った上で第１のソフトウェア・オブジェクトが所有済み設備待ち行列から調停トークンのコピーを削除するように適応されることを特徴とする、請求項２２に記載の分散型調停システム。
【請求項２４】
所有済み待ち行列が単発調停トークンを格納するように適応され、
所有済み待ち行列が空の時に、第２のプロセス制御装置が第１のプロセス制御装置により獲得可能であると判断するように第２のソフトウェア・オブジェクトが適応されることを特徴とする、請求項２１に記載の分散型調停システム。
【請求項２５】
所有済み待ち行列が、定義された数の調停トークンを格納するように適応され、
所有済み待ち行列に格納された調停トークンが定義された数よりも少ない場合、第２のプロセス制御装置が第１のプロセス制御装置により獲得可能であると判断するように第２のソフトウェア・オブジェクトが適応されることを特徴とする、請求項２１に記載の分散型調停システム。
【請求項２６】
調停トークンが獲得優先度を含み、
第１のソフトウェア・オブジェクトにより生成された調停トークンが、保留中依頼待ち行列に格納されたその他の如何なる調停トークンよりも高い得優先度を持ち、同じ獲得優先度を持つ保留中依頼待ち行列に格納されたその他如何なる調停トークンより長期にわたり保留中依頼待ち行列に格納された場合に、第２のプロセス制御装置が第１のプロセス制御装置により獲得可能であると判断するように第２のソフトウェア・オブジェクトが適応されことを特徴とする、請求項２０に記載の分散型調停システム。
【請求項２７】
一つ又は複数のプロセッサにより実行される外部アプリケーションを更に備え、
該外部アプリケーションは、将来のある時点において第２のプロセス制御装置を獲得するために第３のプロセス制御装置に代行して第２の調停トークンを生成し、第２のソフトウェア・オブジェクトに第２の調停トークンを通信するように適応され、
第２のソフトウェア・オブジェクトが保留中依頼待ち行列に第２の調停トークンを格納することによって第３のプロセス制御装置が将来の時点において第２のプロセス制御装置を獲得しうることを特徴とする、請求項２０に記載の分散型調停システム。
【請求項２８】
第１のプロセス制御構成体の第２のプロセス制御構成体構成に対する所有権を調停する方法であって、
第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を依頼することと、
第２のプロセス制御構成体が第１のプロセス制御構成体により獲得可能かどうか第２のプロセス制御構成体が判断することと、
第２のプロセス制御構成体が第１のプロセス制御構成体により獲得可能であると第２のプロセス制御構成体が判断した場合、第２のプロセス制御構成体が第１のプロセス制御構成体による第２のプロセス制御構成体の獲得に服従することと、を含む方法。
【請求項２９】
第１のプロセス制御構成体が、第１のプロセス制御構成体および第２のプロセス制御構成体を同定する第１の調停トークンを生成し、第２のプロセス制御構成体と関連する保留中依頼待ち行列に調停トークンを格納することを更に含む請求項２８に記載の方法。
【請求項３０】
第１のプロセス制御構成体により第２のプロセス制御構成体が獲得可能かどうかを第２のプロセス制御構成体が判断することには、第３のプロセス制御構成体に関連した別の調停トークンが所有済み待ち行列に格納されているかどうかを判断するために第２のプロセス制御構成体と関連する所有済み待ち行列を評価することが含まれることを特徴とする請求項２９に記載の方法。
【請求項３１】
第２のプロセス制御構成体が第１のプロセス制御構成体による第２のプロセス制御構成体の獲得に服従することには、保留中依頼待ち行列から所有済み待ち行列に第１の調停トークンを移動させることが含まれることを特徴とする請求項３０に記載の方法。
【請求項３２】
第１のプロセス制御構成体による成功裡に行われた第２のプロセス制御構成体の獲得を確認することを更に含む請求項３１に記載の方法。
【請求項３３】
第１のプロセス制御構成体により成功裡に行われた第２のプロセス制御構成体獲得の確認に続いて、第１のプロセス制御構成体と関連する所有済み設備待ち行列に調停トークンのコピーを格納することを更に含む請求項３２に記載の方法。
【請求項３４】
第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を獲得すること要するプロセスの作業が完了した時に、第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を放棄することを更に含む請求項３２に記載の方法。
【請求項３５】
第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を放棄することには、第２のプロセス制御構成体が別のプロセス制御構成体により獲得されうるように、第２のプロセス制御構成体に関連した所有済み待ち行列に格納された調停トークンのコピーを削除することが含まれることを特徴とする請求項３４に記載の方法。
【請求項３６】
調停トークンに優先順位を割り当てることと、
保留中依頼待ち行列に格納された第１の調停トークンが、保留中依頼待ち行列に格納された全ての調停トークンのうちで最も高い優先度を有する場合、且つ同じ優先度を持つ保留中依頼待ち行列に格納されたその他如何なる調停トークンよりも長期にわたり保留中依頼待ち行列に格納されていた場合に、第２のプロセス制御構成体が第１のプロセス制御構成体による第２のプロセス制御構成体の獲得に服従することと、を更に含む請求項２９に記載の方法。
【請求項３７】
プロセス制御構成体が将来のある時点において第２のプロセス制御構成体を獲得しうるように、将来的に調停トークンを受け取るために保留中依頼待ち行列における場所を確保することを更に含む請求項２９に記載の方法。
【請求項３８】
複数のプロセス制御装置を含むと共にプロセス制御装置の一つ又は複数が一つ又は複数のプロセス関連作業を行うためにその他のプロセス制御装置の一つ又は複数に対する所有権を行使しなければならないプロセス制御システムにおいて分散型設備所有権調停システムを実施する方法であって、
制御モジュールが、制御モジュールが関連するプロセス制御装置の所有権に関係する調停データを格納するための調停待ち行列を定義し、プロセス制御装置に関連した複数の制御モジュールを実施することと、
第２の制御モジュールに関連したプロセス制御装置を獲得するために第１の制御モジュールによる依頼と関連する調停トークンを生成することと、
第２の制御モジュールが関連するプロセス制御装置が獲得可能になっているかどうかを判断することと、
第２のプロセス制御装置が第１のプロセス制御装置により獲得されたことを示して第２の制御モジュールにより定義された調停待ち行列に調停トークンを格納することと、
を含む方法。
【請求項３９】
第１の制御モジュールが、プロセス制御装置の保留中の獲得に関係する第１の調停待ち行列および第１のプロセス制御装置により所有されるプロセス制御装置に関係する第２の調停待ち行列を定義し、
第２の制御モジュールが、第２のプロセス制御装置を獲得したいという保留中の依頼に関係する第３の調停待ち行列および第２のプロセス制御装置に対する所有権を獲得した一つ又は複数のプロセス制御装置に関係する第４の調停待ち行列を定義することを特徴とする、請求項３８に記載の方法。
【請求項４０】
第２の制御モジュールにより定義された第４の調停待ち行列が有限数の場所を含み、
第２の制御モジュールが関連付けられているプロセス制御装置が獲得可能かどうかを判断することには、調停トークンが格納されていない第４の調停待ち行列に如何なる空いている場所があるかどうかを判断することが含まれることを特徴とする、請求項３９に記載の方法。
【請求項４１】
第２の制御モジュールが関連する第２のプロセス制御装置が一度に一つのプロセス制御装置によってのみに獲得されうるように、第４の調停待ち行列が単発調停トークンを受け取るための単一の場所を含むことを特徴とする請求項４０に記載の方法。
【請求項４２】
第１の制御モジュールにより定義された調停トークンに優先順位の値を割り当てることと、
第２のプロセス制御装置が獲得可能であり、調停トークンが第３の調停待ち行列に格納された全ての調停トークンのうち最も高い優先順位の値を有する場合に、第３の調停待ち行列から第４の調停待ち行列に調停トークンを移動させることと、
を更に含む請求項３９に記載の方法。
【請求項４３】
第１のプロセス制御装置が第２のプロセス制御装置の所有権を獲得したことを示して第１の制御モジュールにより定義された第２の調停待ち行列に調停トークンのコピーを格納することを更に含む請求項４２に記載の方法。
【請求項４４】
第２のプロセス制御装置が、その他のプロセス制御装置の一つ又は複数に対する所有権を獲得することを更に含み、
第２のプロセス制御装置が第１のプロセス制御装置により獲得可能でも判断することには、第２のプロセス制御装置が一つ又は複数のその他のプロセス制御装置の所有権の獲得に成功したかどうかを判断することが含まれることを特徴とする、請求項３８に記載の方法。
【請求項４５】
第２の制御モジュールにより定義された調停待ち行列における場所を確保することを更に含むことによって、将来、制御モジュールが関連するプロセス制御装置が第２のプロセス制御装置を獲得する必要がある時に、第２の制御モジュールが制御モジュールから調停トークンを受け取りうることを特徴とする請求項３８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はプロセス制御システムにおける設備所有権調停に関する。より具体的には、様々なプロセス制御設備に関連する個々の制御モジュールがそれら自体の間で所有権問題を調停する分散型調停システムが開示される。
【背景技術】
【０００２】
現代の処理工場はありとあらゆる莫大なプロセス制御フィールド装置およびその他のプロセス関連機器を制御するために精巧な制御システムを採用している。通常、化学薬品の処理、石油精製またはその他の処理工程に使用されるようなプロセス制御システムは、アナログ、ディジタルまたはアナログ・デジタル混在バスを介して少なくとも一つのホストまたはオペレーターワークステーションに、および一つ又は複数のプロセス制御および計装装置（例えばフィールド装置など）に通信可能に連結された一つ又は複数の集中プロセスコントローラまたは非集中型プロセスコントローラを含む。フィールド装置は、例えばバルブ、バルブポジショナ、スイッチ、トランスミッタおよびセンサ（例えば温度、圧力および流量センサ）でありえ、プロセス工場環境内に設けられており、バルブの開閉、プロセスパラメータの測定、液体流量の増減など、プロセス内の諸機能を行う。また、周知のＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバス（以下、「フィールドバス」）のプロトコルまたはＨＡＲＴ（登録商標）のプロトコルに準拠するフィールド装置のようなスマートフィールド装置は、制御計算、警報機能、および一般にプロセスコントローラ内で実施されるその他の制御機能も行いうる。
【０００３】
プロセス工場環境内に通常設けられているプロセスコントローラは、フィールド装置により生成されたまたはそれに関連したプロセス計測またはプロセス変量、及び／又はフィールド装置に関係するその他の情報を示す信号を受け取り、コントローラ・アプリケーションを実行する。例えば、プロセス制御の決定を下したり、受信した情報に基づいて制御信号を生成したり、そしてＨＡＲＴおよびフィールドバス・フィールド装置のようなフィールド装置において行われている制御モジュールまたは機能ブロックと協調したりする異なる制御モジュールを、コントローラ・アプリケーションは実施する。プロセスコントローラにおける制御モジュールは、フィールド装置へと通信回線または信号パスを通じて制御信号を送信し、それによってプロセスの動作を制御する。
【０００４】
プロセスに関する所望の機能（例えば、プロセス制御ルーチンの設定を変更したり、プロセスコントローラまたはスマートフィールド装置内の制御モジュールの動作を修正したり、プロセス工場内のプロセスまたは特定の装置の現状を表示させたり、フィールド装置およびプロセスコントローラにより作成された警報アラームを表示させたり、担当要員を教育したりまたはプロセス制御ソフトウェアをテストしたりする目的でプロセスの動作をシミュレートしたり、プロセス工場内の問題またはハードウェアの障害を分析したりする、など）をオペレータまたは保守要員が行えるようにするべく、通常、フィールド装置とプロセスコントローラからの情報は、例えばオペレーターワークステーションや、保守保全ワークステーション、パソコン、ハンドヘルド型装置、データヒストリアン（履歴データツール）、レポートジェネレータ（報告作成ルーチン）、集中化データベースなどその他のハードウェア装置の一つ又は複数で利用できるようになっている。
【０００５】
典型的なプロセス工場には、一つ又は複数のプロセスコントローラに接続されているバルブ、トランスミッタ、センサなどのような多くのプロセス制御および計装装置が備えられていると共に、プロセスの動作に必要なまたはプロセスの動作に関係するその他の多くの支援装置も存在する。これら付加的な装置としては、例えば、一般の工場において数々の場所に設けられる電源装置、発電・電力配分設備、タービンやモータなどのような回転機器などが挙げられる。これら付加的な設備は、必ずしもプロセス変量を生じたりまたは使用したりするものではなく、また多くの場合、プロセスコントローラにより制御されもせず、それどころかプロセスの動作に影響する目的でプロセスコントローラに連結されてもいないが、それでもこの設備は、プロセスの適切な動作に重要であり、最終的には必要なものである。
【０００６】
現代のプロセス制御システムにおいては、オペレータやアプリケーション、制御ルーチンまたはサブルーチン、或いはその他何らかのプロセス制御構成体や制御論理が、特定のプロセス関連作業を行うために他の何らかのプロセス制御構成体に対して排他的な所有権（すなわち制御）を獲得することがしばしば必要になる。一旦、プロセス制御構成体が他の何らかのプロセス制御構成体により獲得されると、獲得された側のプロセス制御構成体は、獲得する側のプロセス制御構成体によってだけ制御されるか、またはそれに対してだけ応答するようになりうる。一旦、特定の作業が完了すると、獲得する側のプロセス制御構成体は、獲得された側のプロセス制御構成体を解放しうる。そしてその後、獲得された側のプロセス制御構成体が、異なるプロセス制御構成体により獲得されうるようになるか、または少なくともその他のプロセス制御構成体により制御されるかまたはそれに応答できるようになる。
【０００７】
バッチ処理環境においては、例えば、複数のユニット動作が特定のプロセス・ユニット上で行われることを要するバッチ処理をバッチマネージャ・アプリケーションが実行しているかもしれない。複数のプロセス制御フィールド装置は、処理ユニットの動作と関連する各種処理ステップを制御するための処理ユニットと関連しうる。処理ユニットと関連する特定のプロセス制御装置、制御モジュールまたはその他の論理構成体は、処理ユニットでバッチ・ユニット動作が開始する前に処理ユニットと関連する補助的なフィールド装置の幾つかまたは全てに対する排他的な所有権を獲得する必要がありうる。一旦、プロセス制御装置、制御モジュールまたはその他の論理ユニットが、処理ユニットと関連する様々なフィールド装置を獲得すると、その他のプロセス制御装置、制御モジュールまたはその他の論理構成体は、獲得された側のプロセス制御フィールド装置の動作を達成することができない。一旦、処理ユニット上で行われたバッチ・ユニット動作が完了すると、処理ユニットに関連したプロセス制御装置、制御モジュールまたはその他の制御論理は、様々なプロセス制御フィールド装置を解放しうる。その後、開放されたプロセス制御フィールド装置を、その他の処理ユニットまたはバッチ動作と関連するその他のプロセス制御装置、制御モジュールまたはその他の論理構成体により獲得できるようになる。
【０００８】
二つ以上のプロセス制御装置、制御モジュールまたはその他の論理構成体が同時に同じプロセス制御装置またはその他のプロセス制御構成体を獲得しようと試みた場合にプロセス工場の中で対立が発生することは珍しくない。別のプロセス制御装置またはプロセス制御構成体による一つのプロセス制御装置またはプロセス制御構成体の所有権とは、獲得されたプロセス制御装置またはプロセス制御構成体の排他的制御を意味するので、同じプロセス制御装置またはその他のプロセス制御構成体を獲得するためには競争的需要間で決定を下さなければならない。
【０００９】
このような争いを解決するために、プロセス制御システムには設備所有権調停アプリケーションが含まれうる。通常、所有権調停アプリケーションは、プロセス制御システムに関連したユーザ・ワークステーションのような中央拠点で実行されることになる。例えば、プロセス工場内のバッチ処理を管理するためのバッチマネージャ・アプリケーションは、プロセス制御システムに関連したワークステーションにおいて実施されうる。バッチマネージャ・アプリケーションは調停マネージャを含みうる。バッチマネージャ・アプリケーションを実行しているコンピューター・ワークステーションは、ローカルエリアネットワークまたはその他の通信リンクを介して一つ又は複数のプロセスコントローラに接続されうる。単一のプロセス制御装置、制御モジュールまたはその他の論理構成体に対する所有権の競争的需要が発生した場合、調停依頼が調停マネージャに提供される。このような対立が発生した場合、調停マネージャは、競争的需要のどれが尊重され、どれが拒否または遅延されるかを決定する。調停マネージャは、調停マネージャ・アプリケーション内に組み込まれ事前に定義されている調停規則に基づいて調停の決定を下す。
【００１０】
ただこのような配備に伴う問題としては、集中型ワークステーション上で実行される調停マネージャでは、単一障害点を示す可能性があり、それによって調停依頼の処理が妨げられる可能性がある。ワークステーションが障害を起こした場合、またはＬＡＮ上の通信に障害が発生した場合には、調停依頼が対応されないままになりうる。既存の所有権調停システムに伴う別の問題として、プロセス構成体自体、その他のプロセス制御構成体を獲得している側のもの、及び獲得された側のものが、調停決定を認知していないということが挙げられる。適切に作動している場合、集中型調停マネージャは、他の何らかのプロセス制御構成体により獲得されたプロセス制御構成体が更に別のプロセス制御構成体により獲得されることを防ぐようになっている。但し、集中型調停マネージャが適切に作動していない場合、または調停マネージャおよび獲得された側のプロセス制御構成体の間の通信に割り込みが入って中断されてしまった場合は、獲得された側のプロセス制御構成体自体が、別のプロセス制御構成体の獲得要求を拒否する能力を失い、不正にもその他プロセス制御構成体の二つ以上により同時に所有されうる。最後に、制御システムは、複数のバッチマネージャを実施する複数のワークステーションを実施しうる。個々のバッチマネージャはそれぞれ、個々の調停マネージャを実行しうる。これら独立した調停マネージャは、その他の調停マネージャにより下された調停決定を認知していないかもしれない。ある一つの調停マネージャにより下された調停決定は、別の調停マネージャにより尊重されないかもしれず（または考慮されることさえないかもしれず）、この場合、プロセス制御構成体が不慮にも二つ以上のその他のプロセス制御構成体により同時に獲得されてしまう、という大抵のプロセス制御環境においては許容不可能な状況につながる可能性がある。
【発明の概要】
【課題を解決するための手段】
【００１１】
本開示はプロセス工場環境内の設備所有権争いを調停することに関する。プロセス制御システム内のプロセス制御構成体は制御モジュールにより表わされる。例えば、制御モジュールは、個々のプロセス制御装置、一群の装置、またはその他のプロセス関連機器を表わしうる。また、制御モジュールは、アプリケーション、制御ルーチン、サブルーチン、機能ブロック、およびその他のプロセス制御関連オブジェクトなどの論理構成体を表わすためにも提供されうる。分散型所有権調停システムによると、様々なプロセス制御構成体を表わす個々の制御モジュールが、設備調停情報を格納するための複数のリストまたは待ち行列を定義する。その他のプロセス制御構成体に対する所有権を獲得したいというプロセス制御構成体による依頼は、調停トークンにより表わされる。調停トークンは、獲得する側のプロセス制御構成体と獲得された側のプロセス制御構成体または標的プロセス制御構成体の間における既存のまたは所望の所有権関係を表わす。調停トークンのコピーは、制御モジュール間で通信され、獲得依頼の状態によって制御モジュールにより定義された様々な調停待ち行列に格納される。別のプロセス制御構成体から獲得依頼を受けて、標的プロセス制御構成体に関連した制御モジュールは、制御モジュール自体の中に組み込まれた調停規則に基づき標的プロセス制御構成体が依頼元の制御構成体により獲得できるようになっているかどうかを単独で決定する。標的プロセス制御構成体が一旦別のプロセス制御構成体により獲得されると、獲得する側のプロセス制御構成体がそれを解放するまでその他いかなるプロセス制御構成体によりそれを獲得しえない。プロセス制御システム内の様々なプロセス制御構成体に関連した制御モジュールは、適切な調停待ち行列に調停トークンを置くことによりその他プロセス制御構成体とそれ自体との関係を追跡する。
【００１２】
プロセス工場において設備所有権争いを調停するためのシステムの実施形態には、複数のプロセス制御要素、一つ又は複数のプロセスコントローラ、および一つ又は複数のプロセスコントローラにより実行される複数の制御モジュールが含まれる。複数のプロセス制御要素の最初の一つに関連した第１の制御モジュールは、複数のプロセス制御要素の二番目の一つに対する所有権を獲得することを依頼するべく適応される。複数のプロセス制御要素の二番目の一つに関連した第２の制御モジュールは、第２のプロセス制御要素が第１のプロセス制御要素により獲得されることができるどうかを決定するべく適応される。第２の制御要素が第１の制御要素により獲得されることができと第２の制御要素に関連する第２の制御モジュールが判断して獲得に服従した場合に限り、第１の制御要素は第２の制御要素に対する所有権を獲得する。
【００１３】
同様に、別の実施形態は、複数のプロセス制御装置を含むプロセス制御システムにおいて分散型調停システムを提供する。分散型調停システムは複数のプロセス制御装置に対応する複数のソフトウェア・オブジェクトを含む。ソフトウェア・オブジェクトはそれぞれ、対応する制御装置と関連する調停データを格納するための複数の所有権調停待ち行列を定義する。調停システムは、ソフトウェア・オブジェクトを実行するための一つ又は複数のプロセッサを更に含む。プロセッサにより実行されると、ソフトウェア・オブジェクトは調停データを交換し、調停待ち行列に調停データを格納し、調停待ち行列に保存された調停データに基づいて調停決定を下す。
【００１４】
更に別の実施形態は、第２のプロセス制御構成体に対する第１のプロセス制御構成体の所有権を調停する方法を提供する。該方法は、第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を依頼することを含む。依頼を受けて、第２のプロセス制御構成体は、第２のプロセス制御構成体が第１のプロセス制御構成体により獲得されることができるかどうか判断する。最後に、第２のプロセス制御構成体が第１のプロセス制御構成体により獲得されることができると第２のプロセス制御構成体が判断すると、第２のプロセス制御構成体は、第１のプロセス制御構成体による第２のプロセス制御構成体の獲得に服従する。
【００１５】
最後に、更に別の実施形態では、分散型設備所有権調停システムを実施する方法が提供される。該方法は、複数のプロセス制御装置を含むプロセス制御システムで実施され、この場合、一つ又は複数のプロセス制御装置が一つ又は複数のプロセス関連作業を行うためにその他プロセス制御装置の一つ又は複数に対する所有権を行使しなければならない。該方法には、プロセス制御装置に関連した複数の制御モジュールを実施することが含まれる。制御モジュールは、様々な制御モジュールが関連付けられているプロセス制御装置の所有権に関係する調停データを格納するための調停待ち行列を定義する。該方法では、第２の制御モジュールに関連したプロセス制御装置を獲得したいという第１の制御モジュールによる依頼と関連する調停トークンを作成することが更に求められる。更に、該方法では、第２の制御モジュールが関連付けられているプロセス制御装置が、第１のプロセス制御モジュールが関連付けられているプロセス制御装置により獲得されることができるかどうかを決定することと、そして、第２のプロセス制御モジュールが関連付けられているプロセス制御装置が、第１のプロセス制御モジュールが関連付けられているプロセス制御装置により獲得されることができる場合には、第２の制御モジュールにより定義された調停待ち行列に調停トークンを格納することと、第２の制御モジュールが関連付けられているプロセス制御装置が第１の制御モジュールが関連するプロセス制御装置により獲得されたことを示すことも求められる。更なる態様および利点については、以下の詳細な説明を図面と共に検討すれば通常の技術を有する当業者にとっては明白なはずである。構成および方法については様々な形式の実施形態を受け入れる余地がある間、本開示は例示的なものであり、本発明をここに記載される特定の実施形態に限定することを意図するものではないという前提のもとに、これ以降の説明には特定の実施形態を含むものとする。
【図面の簡単な説明】
【００１６】
【図１】プロセス工場の制御ネットワークの代表例となる部分を示すブロック図である。
【図２】分散型設備所有権調停システムを実施するための調停待ち行列を含む制御モジュールのブロック図である。
【図３】一対の制御モジュールを、第１の制御モジュールが調停依頼を始動する状態で示すブロック図である。
【図４】調停依頼を処理する途中経過での図３の制御モジュールのブロック図である。
【図５】第２の制御モジュールが第１の制御モジュールに調停応答を送信する状態における図３および図４の制御モジュールのブロック図である。
【図６】第１の制御モジュールが関連付けられているプロセス制御構成体による第２の制御モジュールが関連付けられているプロセス制御構成体の獲得が完了した状態を示す図３〜図５の制御モジュールのブロック図である。
【図７】図３〜図６の二つの制御モジュールを第３の制御モジュールと共に示すブロック図であり、第２の制御モジュールが関連するプロセス制御構成体が、第１の制御モジュールが関連するプロセス制御構成体により所有されている時に第２の制御モジュールが関連するプロセス制御構成体を獲得したいという調停依頼を該第３の制御モジュールが始動している状態を示す図である。
【図８】図７の三つの制御モジュールを示すブロック図であり、第１および第２の制御モジュールが、第２の制御モジュールが関連するプロセス制御構成体を、第１の制御モジュールが関連するプロセス制御構成体により所有されている状態から解放する過程にある状態を示す図である。
【図９】第３の制御モジュールが関連するプロセス制御構成体による第２の制御モジュールが関連するプロセス制御構成体の獲得が完了した時の図７および図８の三つの制御モジュールを示すブロック図である。
【発明を実施するための形態】
【００１７】
本開示は、プロセス制御システム内のプロセス制御構成体の所有権対立を調停するための機構に関係する。プロセス制御では多くの場合、特定のプロセス関連作業を行うために、第１のプロセス制御構成体が、他の何らかのプロセス制御構成体に対する排他的な所有権（即ち、制御）または半排他的な所有権を獲得することが必要になりうる。一旦、作業が完了すると、第１のプロセス制御構成体は、第２のプロセス制御構成体の所有権を放棄しうる。それによって、第２のプロセス制御構成体がそれ以降にその他のプロセス制御構成体により獲得され、プロセス工場内のその他の作業を行ったり、或いはその他の工程またはバッチ動作と関連して同じ作業を行ったりしうる。
【００１８】
ほとんどの場合、特定のプロセス制御構成体は一度にその他のプロセス制御構成体の一つによってのみ所有されうる。時々、二つ以上のプロセス制御構成体が、同じプロセス制御構成体を同時に獲得することを試みて、所有権対立が生じうる。例えば、第１のバッチ処理に関連した第１の獲得する側のプロセス制御構成体および第２のバッチ処理に関連した第２の獲得する側のプロセス制御構成体は、めいめいのバッチ処理においてフェーズまたはステップを行うために標的プロセス制御構成体を獲得する必要がありうる。獲得する側の構成体のうちの一つだけが標的構成体を一度に所有しうるので、第１および第２の獲得する側のプロセス制御構成体のうちの一つだけが標的構成体の獲得に成功できる。失敗に終わったその他獲得する側の構成体による標的構成体の獲得は、第１の獲得する側の構成体が標的構成体の所有権を放棄するまで遅延されなければならない。或いは、失敗に終わった獲得する側の構成体は、標的プロセス制御構成体の獲得が必要とされる特定の作業を行うために異なる標的構成体を獲得するべく他のところを見ても良い。プロセス工場の滑らかな運用を保証するためにも、潜在する工程とできるだけ干渉することなく迅速かつ効率的にかかる対立を解決しなければならない。
【００１９】
様々なプロセス制御構成体に関連した個々の制御モジュールが、それが関連するプロセス制御構成体がいつどのようにその他のプロセス制御構成体により獲得されうるかを管理するところの、所有権争いを解決するための分散型調停プロセスを、ここに記載される設備所有権調停システムは提供する。図１は、かかる分散型設備調停システムが採用されうる典型的なプロセス工場の制御ネットワーク１０の例となる部分を示す。プロセス工場の制御ネットワーク１０は、一つ又は複数の入・出力（Ｉ／Ｏ）装置（図示せず）および一式の通信回線及び／又はバス１８を介してプロセス工場内の幾多の装置および設備に連結されるコントローラ１２を含む。コントローラ１２に接続されている様々な装置および設備は、概して参照番号１６で示すものとする。コントローラ１２は例えばエマソン・プロセスマネジメント社により販売されているＤｅｌｔａＶ（登録商標）バッチ・コントローラでありうる。コントローラ１２は、プロセス工場内で行われる様々な工程を制御するために一つ又は複数のプロセス制御ルーチンを実行するべくプロセス工場全体の至る所に設置されるフィールド装置およびフィールド装置内の機能ブロックなどの様々なプロセス制御要素と通信する。プロセス制御ルーチンは連続プロセス制御ルーチンおよびバッチプロセス制御ルーチンの両方を含みうる。
【００２０】
また、プロセスコントローラ１２は、例えばイーサネット（登録商標）・ネットワークなどのようなローカルエリアネットワーク（ＬＡＮ）１５を介して一つ又は複数のワークステーション１４にも連結されうる。ワークステーション１４はパソコン、サーバーまたはその他のデータ処理装置でありうる。ワークステーション１４は、一つ又は複数のプログラム制御ルーチンを設計および実行する処理工場のエンジニア、オペレータ、またはその他の要員により、コントローラ１２により実行されるべく、また、かかるプロセス制御ルーチンを実施するべくコントローラと通信するべく、プロセス工場の運用に関係する情報を得て表示するべく、そしてそれ以外の場合はコントローラ（及び／又はその他のプロセスコントローラまたは制御装置）により実行されたプロセス制御ルーチンと対話処理を行うべく使用されうる。また、データヒストリアン１９をＬＡＮ  １５に接続しても良い。データヒストリアン１９は、プロセス工場内（コントローラ１２内、フィールド装置およびその他の設備１６、そして恐らくワークステーション１４自体の中で、を含む）で生成されたデータを自動的に収集しうる。ワークステーション１４は、インターフェース表示ページにプロセス工場の運用に関係する情報を投入するべく、データヒストリアン１９に、そして他のところに格納されたデータにアクセスしうる。
【００２１】
ワークステーション１４のそれぞれは、ＨＭＩアプリケーションなどのアプリケーションを格納するため、およびプロセス工場の運用に関係する連続プロセス変量データおよびバッチ処理データのようなデータを格納するためのメモリ２０を含む。また、ワークステーション１４のそれぞれは、その他数ある中でも特にユーザが非バッチまたは連続プロセスデータ並びにプロセス工場の運用に関係するバッチ処理データを表示することを可能にする一つ又は複数のアプリケーションを実行しうるプロセッサ２１も含む。コントローラ１２は、構成データを格納するためのメモリ２２と、プロセス工場内の設備１６を制御するために使用されるプロセス制御ルーチンと、プロセス制御方式を実施するためにプロセス制御ルーチンを実行するプロセッサ２４とを含む。ワークステーション１４はコントローラ１２と共に、プロセス制御ルーチン内の制御素子およびこれらの制御素子がプロセス工場の１６内で行われる工程の制御を提供するように設定される様態を図示することにより、コントローラ１２内のプロセス制御ルーチンの図形的描写をユーザに提供しうる。
【００２２】
図１に示される例示的なプロセス工場の制御ネットワーク１０では、コントローラ１２が、バス１８を介して、同じような構成を持つ二台の反応装置ユニット（リアクタ（反応装置）＿０１およびリアクタ＿０２）、並びに混合ユニット（混合機＿０１）に通信可能に接続される。リアクタ＿０１は、反応器槽１００と、流体入口配管を制御して例えばヘッドタンク（図示せず）から反応器槽１００の中に流体を供給するように接続されている二つの入力バルブ１０１および１０２と、流体出口配管を介して反応器槽１００から流出する流体を制御するように接続されている出力バルブ１０３とを含む。装置１０５は、温度センサ、圧力センサ、液面レベル計測器などのセンサ、または電熱器または蒸気加熱器のようなその他何らかの設備でありえ、反応器槽１００の中またはその近くに配置される。リアクタ＿０１はバルブ１０３を介して混合機＿０１に連結される。同様に、リアクタ＿０２は、反応器槽２００、二つの入力バルブ２０１および２０２、出力バルブ２０３および装置２０５を含む。リアクタ＿０２は出力バルブ２０３を介して混合機＿０１に連結される。混合機＿０１は混合容器３００と撹拌機３０１、および出口弁３０３を含む。
【００２３】
図１に示される如く、コントローラ１２は、バス１８を介して、バルブ１０１〜１０３、２０１〜２０３および３０３に、また装置１０５と２０５に、そして撹拌機３０１に通信可能に連結されており、これらの要素（ユニット、フィールド装置などでありうる）に関する一つ又は複数の操作を行うべくこれらの要素の動作を制御する。かかる動作には、例えば、反応器槽の充填、反応器槽内の材料の加熱、反応器槽１００と２００のうち一つまたは両方からの混合容器３００の充填、反応器槽１００および２００または混合容器３００の清掃、などが含まれる。もちろん、コントローラ１２は、付加的なバスを介して、４−２０ｍＡ回線やＨＡＲＴ通信回線などのような専用通信回線を介して、プロセス工場内の要素１６に連結することも可能である。
【００２４】
図１に示されるバルブ、センサおよびその他の設備は、例えばフィールドバス・フィールド装置、標準４−２０ｍＡフィールド装置、ＨＡＲＴフィールド装置など、如何なる所望の種類またはタイプの設備でありえ、且つ、フィールドバス・プロトコル、ＨＡＲＴプロトコル、４−２０ｍＡアナログ・プロトコルなどの如何なる周知または所望の通信プロトコルを使用してコントローラ１２と通信しうる。更にまた、その他のタイプの装置をコントローラ１２に接続し、如何なる所望の様態でコントローラにより制御するようにしても良い。また、プロセス工場１６に関連したその他の装置または区域を制御するためにそれ以外のコントローラを例えばイーサネット（登録商標）通信回線１５を介してコントローラ１２およびワークステーション１４に接続しても良いし、その際、かかる付加的なコントローラの動作を如何なる所望のまたは周知の様態で図１に示されるコントローラ１２の動作と協調させるようにしても良い。
【００２５】
一般的に言って、図１のプロセス制御システムは、例えば一つ又は複数のワークステーション１４がプロセス工場内の異なるバッチ運転を実施且つ協調するバッチ実行エンジンを実行するところのバッチ処理を実行するために使用されうる。かかるバッチ実行エンジン３０が図１のワークステーション１４ａに格納された状態で図示されているが、当然のことながら、バッチ実行エンジン３０をその他のワークステーション１４において格納および実行することも可能であるし、または付加的なバッチ実行エンジンをその他のワークステーションにおいて実行することも可能であるし、或いは（如何なるワイヤレス様態を含む）如何なる所望の様態でバス１５またはバス１８に通信可能に接続されたその他のコンピューターにおいて一つ又は複数のバッチ実行エンジンを格納および実行することも可能である。同様に、望ましい場合、バッチ実行エンジン３０は、プロセス工場内の異なるコンピューターまたはワークステーションにおいて格納および実行される様々な構成部分と関連付けられうるし、または様々な構成部分に分割されうる。
【００２６】
バッチ実行エンジン３０は、一般に高レベルの制御ルーチンであり、プロセス工場内に実行されるべき複数のバッチ運転をユーザが指定することを可能にすると共にプロセス工場の制御ネットワーク１０内に本質的に独立して作動するように複数の異なるバッチ運転またはバッチ処理を設定する一般にバッチキャンペーン・マネージャと呼ばれるものを含みうる。また、バッチ実行エンジン３０は、キャンペーン・マネージャーにより指定される異なるバッチ運転を実施および監視するバッチ執行ルーチンまたはアプリケーションも含みうる。かかるバッチ運転はそれぞれバッチの手順、ユニット手順、動作、フェーズおよびその他の下位部分（サブディビジョン）の動作を指図する。これを説明するにあたり、フェーズとは、ユニット上で行われる最下位レベルの処置またはステップで、コントローラ１２のうちの一つにおいて通常実施または実行されるものとする。動作とは、設備ユニット上で特定の機能を行う一式のフェーズであり、コントローラ１２内の一連のフェーズを呼び出すことによりワークステーション１４のうちの一つで通常実施または実行される。ユニット手順とは、単一ユニット上で行われる一つ又は複数の一連の動作であり、ワークステーション１４のうちの一つで一式の動作呼出しとして通常実施される。同様に、手順とは、例えばプロセス工場の１６中の異なる物理的ユニット上で行われうる一式のユニット手順である。その結果、如何なる手順は一つ又は複数のユニット手順を含むことができ、如何なるユニット手順は一つ又は複数の動作を含むことができ、また、如何なる動作は一つ又は複数のフェーズを含みうる。このように、バッチ処理はそれぞれ、食品、薬品などの製品を生成するために必要とされる異なるステップまたは段階（例えばユニット手順）を行う。
【００２７】
個々のバッチに対して異なる手順、ユニット手順、動作およびフェーズを実施するために、バッチ処理では、実行すべきステップ、およびステップと関連する量および時間、そしてステップの順序を指定する一般にレシピと呼ばれるものを使用する。一つのレシピに関するステップには、例えば、適切な材料または成分で反応器槽を充填すること、反応器槽内の材料を一定の時間をかけて一定の温度に加熱すること、反応器槽を空にしてから次のバッチの準備をするために反応器槽を清掃すること、材料を混合容器内で混合すること、などが含まれうる。異なるユニットに関連した一連のステップはそれぞれバッチのユニット手順を定義し、バッチ処理は、これらユニット手順のそれぞれ一つに対して異なる制御アルゴリズムを実行することになる。もちろん、特定の材料、材料の量、加熱温度および加熱時間などは、レシピにより異なりうる。従って、これらのパラメータは、製造または生産される製品および使用されるレシピによってバッチ運転ごとに変化しうる。
【００２８】
複数のバッチ処理がプロセス工場内で同時に行われる場合、設備の争いが発生しうる。ほぼ同時に実施される第１および第２のバッチ処理は、同じ設備で同時に行われることになっているフェーズを含みうる。図１では、例えば、リアクタ＿０１内反応器槽１００の中身が第１のバッチ処理と関連しうる間、リアクタ＿０２内反応器槽２００の中身が第２のバッチ処理と関連しうる。第１のバッチ処理は、リアクタ＿０１の反応器槽１００の中身が混合機＿０１の混合容器３００へと注がれ、ある程度の時間混合されることを求めうる。同様に、第２のバッチ処理は、リアクタ＿０２の反応器槽２００の中身が混合機＿０１の混合容器３００へ注がれ、ある程度の時間混合されることを求めうる。第１および第２のバッチは別の工程に対応する。リアクタ＿０１の反応器槽１００の中身をリアクタ＿０２の反応器槽２００の中身と混合することは望ましくない場合もあるので、リアクタ＿０１が反応器槽１００の中身を混合機＿０１の混合容器３００の中に注ぐ前に、第１のバッチ処理の混合フェーズが進行中にリアクタ＿０２またはその他いかなる反応装置ユニットが混合容器３００の中に不用な材料を投入しようとしないようにするために、リアクタ＿０１は、混合機＿０１を「所有」（即ち、それの排他的制御を保持）しなければならない。同様に、リアクタ＿０２は、反応器槽２００の中身を混合容器３００の中に注ぐことができる前に混合機＿０１を保持しなければならない。好ましくは、混合機＿０１がリアクタ＿０１により所有されている間はリアクタ＿０２が混合機＿０１を全く交信できず、且つ、混合機＿０１がリアクタ＿０２により所有されている間はリアクタ＿０１が混合機＿０１を交信できないようになっているのが良い。リアクタ＿０２で実行中のバッチ処理が混合機＿０１の所有権を獲得したいとリアクタ＿０２に求めるのと同時に、リアクタ＿０１で実行中のバッチ処理が混合機＿０１の所有権を獲得したいとリアクタ＿０１に求める場合にも対立が発生する。
【００２９】
かかる設備の争いが発生した場合、所有権調停システムは、獲得する側の構成体のうちどれに標的構成体の排他的な所有権を与えられるか、そして獲得する側の構成体の依頼のうちどれを遅延または否定するかを決定する。分散型所有権調停システムの実施形態によると、プロセス制御システムにおける様々なプロセス制御構成体に関連した制御モジュールは、それらが関連付けられているプロセス制御構成体がその他のプロセス制御構成体により獲得されうるかを判断する。一旦、標的プロセス制御構成体に関連した制御モジュールが、獲得する側の構成体による標的構成体の獲得に服従すると、該標的構成体は、獲得する側の構成体により解放されるまで、獲得する側の構成体に「属する」またはそれにより「所有される」。標的構成体が一旦別のプロセス制御構成体により獲得されたらその他のプロセス制御構成体はそれを獲得することが許されない。分散型所有権調停システムの実施形態によると、プロセス制御構成体は、後述される限られた状況を除いてその他のプロセス制御構成体を複数獲得しうる。また、特定のプロセス制御構成体は一度にその他のプロセス制御構成体のうち一つによってのみ所有されることができる。更に、その他のプロセス制御構成体を所有するプロセス制御構成体自体は、その他のプロセス制御構成体により獲得または所有されうる。本説明の目的上、プロセス制御構成体は、物理的なプロセス制御装置、処理ユニット、およびその他如何なるプロセス関連機器、または制御モジュール、機能ブロックなどの論理ユニットを含みうるとする。
【００３０】
分散型所有権調停システムによると、制御モジュールは様々なプロセス制御構成体と関連する。例えば、図１を参照すると、反応器槽１００、入口弁１０１、１０２、出口弁１０３および装置１０５を含む様々な構成部分によりリアクタ＿０１が構成されており、個々の制御モジュールがリアクタ＿０１と関連しうるようになっている。同様に、個々の制御モジュールは、リアクタ＿０２、および反応器槽２００、入口弁２０１、２０２、出口弁２０３および装置２０５を含むリアクタ＿０２を成す様々な構成部分と関連しうる。最後に、個々の制御モジュールは、混合機＿０１、および混合容器３００、撹拌機３０１および出口弁３０３を含む混合機＿０１を成す様々な構成部分とも関連しうる。
【００３１】
様々なプロセス制御構成体に関連した制御モジュールはそれぞれ、その他のプロセス制御構成体による様々なプロセス制御構成体の獲得および所有権を管理するための複数の調停待ち行列を定義する。図２は、代表例のプロセス制御モジュール１５０を、それの対応する調停待ち行列と共に示す図である。プロセス制御モジュール１５０は、保留中獲得待ち行列１５１、保留依頼待ち行列１５２、所有済み設備待ち行列１５３、および所有済み待ち行列１５４を定義する。保留中獲得待ち行列１５１は、その他のプロセス制御構成体を獲得したいというプロセス制御モジュール１５０による依頼に関係する情報を格納するが、保留依頼待ち行列１５２は、プロセス制御モジュール１５０が関連するプロセス制御構成体を獲得したいというその他のプロセス制御モジュールからの依頼に関係する情報を格納する。所有済み設備待ち行列１５３は、プロセス制御モジュール１５０が関連するプロセス制御構成体により所有されるプロセス制御構成体に関係する情報を格納し、また、所有済み待ち行列１５４は、プロセス制御モジュール１５０が関連するプロセス制御構成体を所有するその他のプロセス制御構成体の一つ又は複数に関係する情報を格納する。
【００３２】
分散型所有権調停システムの動作を図３〜図８に示す。図３〜図８は、図２の第１の制御モジュール１５０および第２のプロセス制御モジュール２５０を示す。第１の制御モジュール１５０はプロセス工場内の第１のプロセス制御構成体と関連し、第２の制御モジュール２５０はプロセス工場内の第２のプロセス制御構成体と関連する。例えば、第１の制御モジュール１５０はリアクタ＿０１（図１）の反応器槽１００と関連しうるし、第２の制御モジュール２５０は、リアクタ＿０１の反応器槽１００の中身を排出するための出口弁１０３と関連しうる。図２を参照して記載される如く、第１の制御モジュール１５０は、保留中獲得待ち行列１５１、保留依頼待ち行列１５２、所有済み設備待ち行列１５３および所有済み待ち行列１５４を含む。また第２の制御モジュール２５０は、保留中獲得待ち行列２５１、保留依頼待ち行列２５２、所有済み設備待ち行列２５３および所有済み待ち行列２５４を含む。
【００３３】
第１および第２の制御モジュール１５０と２５０は以下のように所有権争いを調停する。第１および第２の制御モジュール１５０と２５０は、第１の制御モジュール１５０が関連する第１のプロセス制御構成体が第２の制御モジュール２５０が関連する第２のプロセス制御構成体を獲得ことを要するバッチ処理フェーズを実行しているプロセス制御システムの一部であると推定する。例えば、制御システムは、反応器槽１００を充填することを求めるリアクタ＿０１のバッチ・フェーズを実行中でありうる。反応器槽１００を充填するためには、出口弁１０３が閉まっており、入口弁１０２および１０２のうち一つまたは両方が開かれなければならない。従って、その他のプロセス制御構成体が不適切な時にバルブ１０１、１０２、１０３を開いたり、または閉じたりして容器槽１００の充填の邪魔をしないようにするために、反応器槽１００は、出口弁１０３と入口弁１０１、１０２に対する所有権をこのフェーズ中に獲得しなければならない。本実施例では、第１の制御モジュール１５０が反応器槽１００と関連しえ、その場合、反応器槽１００が第１のプロセス制御構成体に対応する。また、第２の制御モジュール２５０は出口弁１０３と関連しえ、その場合、出口弁１０３が第２のプロセス制御構成体に対応する。但し、分散型所有権調停システムは、様々な制御モジュールが関連する特定のプロセス制御構成体にかかわらず同じ様態で作動することをここに述べておく。
【００３４】
反応器槽充填フェーズが実行されると、反応器槽１００に関連した第１の制御モジュール１５０は出口弁１０３の所有権を獲得する責任をつかさどり、また、出口弁１０３に関連した第２の制御モジュール２５０は、出口弁１０３が反応器槽１００（またはその他如何なるプロセス制御構成体）により獲得できるようになっているかどうかを決定する責任、並びに出口弁１０３が容器槽１００により獲得できるようになっていると判断された場合にかかる獲得に服従する責任をつかさどる。反応器槽１００を充填することを求めるバッチ・フェーズは、第１のプロセス制御構成体（反応器槽１００）が第２のプロセス制御構成体（出口弁１０３）を獲得しない限り、また獲得するまで先に進むことができない。
【００３５】
一旦、第１のプロセス制御構成体が第２のプロセス制御構成体を獲得すると、第１のプロセス制御構成体が積極的に第２のプロセス制御構成体を解放するまで第１のプロセス制御構成体は、第２のプロセス制御構成体の排他的な所有権を確保する。更に、一旦、第２のプロセス制御構成体が第１のプロセス制御構成体により獲得されたら、第２のプロセス制御構成体は、それが第１のプロセス制御構成体により解放されるまでその他如何なるプロセス制御構成体により獲得不可となりうる。
【００３６】
初期段階において、第１および第２の制御モジュール１５０と２５０の様々な調停待ち行列は空になっている。第１および第２の制御モジュール１５０と２５０が関連する第１および第２のプロセス制御構成体はいずれもが、その他如何なるプロセス制御構成体を獲得したことも、その他如何なるプロセス制御構成体により獲得されたこともなく、また、制御モジュール１５０および２５０が関連するプロセス制御構成体のいずれかをその他如何なるプロセス制御構成体に獲得させようとしたこともないし、その他如何なるプロセス制御構成体を制御モジュール１５０および２５０に獲得させようとしたこともない。
【００３７】
第１のプロセス制御構成体が第２のプロセス制御構成体を獲得できるように、第１の制御モジュール１５０は所有権調停トークンを生成する。調停トークンは、制御モジュール間で通信されうる一式のデータであり、プロセス制御構成体の関係を表すものである。様々なプロセス制御構成体と関連する制御モジュールにより調停トークンを迅速に同定および追跡できるように、調停トークンは、例えば、ソース（すなわち、別のプロセス制御構成体に対する所有権を依頼するまたは行使する制御モジュールまたはプロセス制御構成体）、宛先（すなわちソースが所有権を依頼または行使しているプロセス制御構成体または制御モジュール）、および調停トークンＩＤを同定しうる。望ましい場合、優先順位の値または所有権争いの調停に特に関係のないその他のデータなど、付加的なデータを含むように調停トークンを適応しうる。例えば、バッチ製品を生成するために行われる各種処理ステップを追跡するため、および各種の処理ステップが行われる設備を同定するために使用されうるバッチ履歴の作成を円滑に実施するべく、材料の追跡に関係するデータを調停トークンに含み、調停トークンと共に制御モジュール間でやり取りするようにしても良い。
【００３８】
第１の制御モジュール１５０は、それ自体の保留中獲得待ち行列１５１に調停トークンのコピーを格納し、調停依頼メッセージ１５６を第２の制御モジュール２５０に送信する。調停依頼メッセージには、調停トークンのコピーが含まれる。上述の如く、調停トークンは、依頼のソースおよび依頼の宛先または標的を同定する。よって、第２の制御モジュール２５０は、調停依頼を受け取った上で、第２のプロセス制御モジュール２５０が関連する第２のプロセス制御構成体に対する所有権を第１の制御モジュール１５０が関連する第１のプロセス制御構成体が獲得しようとしていることを学ぶ。
【００３９】
図４に示される如く、第１の制御モジュール１５０から調停依頼メッセージを受け取ると、第２の制御モジュール２５０は、それの保留依頼待ち行列２５２に調停トークンのコピーを格納する。調停トークンのコピーは、第１のプロセス制御構成体が第２のプロセス制御構成体の獲得に成功するまで、または（期間が限定されている場合は）調停トークンが期限切れになるまで、または第２のプロセス制御モジュールの獲得が完了する前に第１の制御モジュールが獲得依頼を取消す依頼を送信するまで、保留依頼待ち行列２５４に留まる。如何なる場合も、獲得依頼を受け取り、保留依頼待ち行列２５２に調停トークンのコピーを格納した上で、第２の制御モジュール２５０は、第２のプロセス制御構成体が第１のプロセス制御構成体により獲得されうるかどうか判断するためにそれ自体の調停待ち行列の状態を評価する。特に、第２の制御モジュール２５０は、第２のプロセス制御構成体が既にその他如何なるプロセス制御構成体により獲得されたかどうか判断するために、それの所有済み待ち行列２５４を評価する。別の調停トークンが所有済み待ち行列２５４に既に格納されている場合、第２のプロセス制御構成体は、既に別のプロセス制御構成体により獲得されており、現在第１のプロセス制御構成体により獲得されることができない。但し、第２の制御モジュールの所有済み待ち行列２５４が空の場合には、第２のプロセス制御構成体は別のプロセス制御構成体により獲得されることができる。
【００４０】
但し、第１のプロセス制御構成体が、第２のプロセス制御構成体を獲得する列の先頭にあるかどうかについて、または他の何らかのプロセス制御構成体が、第２のプロセス制御構成体の所有権を優先して獲得する資格を持っているかどうかについては決定待ちの状態に留まる。この質問を解決するために、第２の制御モジュールは保留依頼待ち行列２５２を評価する。分散型所有権調停システムの実施形態によると、様々な制御モジュールの保留依頼待ち行列は先入れ先出し方式で作動する。調停依頼メッセージがその他の制御モジュールから受け取ると、依頼を受け取る制御モジュールは、関連する調停トークンを受け取った順に保留依頼待ち行列に格納する。制御モジュールが関連するプロセス制御構成体が別のプロセス制御構成体により獲得できるようになると、制御モジュールは、待ち行列の先頭の調停トークンを選択する。言い換えると、標的プロセス制御構成体に関連した制御モジュールは、保留依頼待ち行列に最も長い間格納された調停トークンを選択する。その後、標的プロセス制御構成体に関連した制御モジュールは、調停トークンを保留依頼待ち行列から所有済み待ち行列に移動させる。よって、標的プロセス制御構成体を獲得したいという依頼のうち最長期にわたるものを有するプロセス制御構成体は、標的プロセス制御構成体が次回利用できるようになった時に標的プロセス制御構成体を獲得するプロセス制御装置である。その結果、分散型所有権調停システムのこの実施形態によると、所有権の対立は先着順方式で解決される。
【００４１】
代替的な実施形態における調停トークンは優先順位の値を含みうる。例えば、調停トークンは、標的プロセス制御構成体を獲得したいという対応する依頼が優先度の高い、中度の、または低い依頼であることを示す優先順位の値を含みうる。この実施形態によると、標的プロセス制御構成体と関連する制御モジュールは、それの保留依頼待ち行列を評価する際に最も高い優先順位の値を有する調停トークンを最初に選択しうる。保留依頼待ち行列に格納された複数の調停トークンのうち同じ優先順位の値をもの有するがある場合、標的プロセス制御構成体に関連した制御モジュールは、最も高い優先順位の値を有すると共に保留依頼待ち行列に最も長い間格納された調停トークンを選択しうる。よって、この代替的な実施形態によると、優先順位が最も高い依頼が先着順方式で一番最初に取り扱われるが、優先順位が低い方の依頼をいつ受け取ったかにかかわらず、優先順位が高い方の依頼は全て優先順位が低い方の依頼の前に取り扱われる。
【００４２】
図３〜図８に示される実施例に戻って参照するに、第２のプロセス制御構成体を獲得したいという一番最初のプロセス制御構成体による依頼に関連した調停トークン２５５が、第２の制御モジュール２５０の保留依頼待ち行列２５２に格納された唯一の調停トークンである。よって、調停トークン２５５は保留依頼待ち行列２５２の先頭にある。これは、その他の制御モジュールからの保留されている所有権依頼で優先度がより高いものがないことを意味する。従って、第２のプロセス制御構成体は獲得できないようになっているおり、また一番最初のプロセス制御構成体が保留中の最優先依頼を有するので、第２の制御モジュール２５０は、第２のプロセス制御構成体が一番最初のプロセス制御構成体により獲得可能であると判断してその獲得に服従する。図５に示される如く、第２の制御モジュールは、調停トークン２５５のコピーを保留依頼待ち行列２５２から所有済み待ち行列２５４に移動させる。また、第２の制御モジュール２５０は、調停応答メッセージ２５６を準備して第１の制御モジュール１５０へと送信する。調停応答メッセージ２５６は、第１のプロセス制御構成体が第２のプロセス制御構成体の獲得に成功したことを示す「獲得済み」状態を伴う元の調停トークンのコピーを含む。
【００４３】
図６に示される如く、第２の制御モジュール２５０から調停応答メッセージ２５６を受け取ると、第１の制御モジュール１５０は、調停トークン１５５のそれのコピーをそれの保留中獲得待ち行列１５１からそれの所有済み設備待ち行列１５３へと移動させる。これは、第１のプロセス制御構成体による第２のプロセス制御構成体の獲得が完了したことと、第１のプロセス制御構成体が第２のプロセス制御構成体を所有することを示す。この時点で、第１のプロセス制御構成体が第２のプロセス制御構成体を獲得することを要するバッチ・フェーズが先に進みうる。
【００４４】
一旦、第１のプロセス制御構成体が第２のプロセス制御構成体の所有権を獲得したら、第１のプロセス制御構成体は、第１の制御モジュール１５０が積極的に第２のプロセス制御構成体を解放するまで第２のプロセス制御構成体の所有権を維持する。一方、その他のプロセス制御構成体は、第２のプロセス制御構成体の所有権を獲得することができない。図７は、第３のプロセス制御モジュール３５０を、第２のプロセス制御構成体が依然として第１のプロセス制御構成体により所有されている時に第２の制御モジュール２５０に調停依頼メッセージに３５６を送信している状態で示す図である。第１の制御モジュール１５０からの第１の調停依頼メッセージ１５６の場合のように、第３の制御モジュール３５０からの調停依頼メッセージ３５６は、調停トークン３５７のコピーを含む。第２の制御モジュール２５０はそれの保留依頼待ち行列２５２に調停トークン３５７を格納する。繰り返して言うが、第２の制御モジュール２５０は、それの所有済み待ち行列２５４の状態を、第２のプロセス制御構成体を獲得できるようになっているかどうか判断するために検閲する。この場合、第２の制御モジュール２５０は、現在第２のプロセス制御構成体が第１のプロセス制御構成体により所有されると判断する。第２のプロセス制御構成体が既に別のプロセス制御構成体により所有されているので、第３のプロセス制御構成体またはその他如何なるプロセス制御構成体により獲得することができない。第３の制御モジュール３５０から受け取った調停トークン３５７のコピーは、第２のプロセス制御構成体が第１のプロセス制御構成体により解放されて再びその他のプロセス制御構成体により獲得できるようになるまで第２の制御モジュールの保留依頼待ち行列２５２に格納されたままになる。
【００４５】
第１のプロセス制御構成体は、第１のプロセス制御構成体が第２のプロセス制御構成体を獲得することを要するバッチ・フェーズが完了した時点で第２のプロセス制御構成体を解放しうる。図８に示される如く、第１の制御モジュール１５０は、第２のプロセス制御構成体を解放するべく第２の制御モジュール２５０へと調停解放メッセージ１５７を送信する。この場合も、調停解放メッセージは、元の調停トークン１５８のコピーを含む。調停解放依頼メッセージ１５７を受け取ると、第２の制御モジュール２５０は、解放依頼が現在第２のプロセス制御構成体を所有するプロセス制御構成体と関連する制御モジュールにより解放依頼が送信されたことを確認するために、調停解放メッセージ１５７に含まれる調停トークン１５８を、第２の制御モジュールの所有済みキュー２５４に格納された調停トークンと比較する。一旦、解放依頼が有効であることを第２の制御モジュールが保証すると、第２の制御モジュールは、それの所有済み待ち行列２５４から調停トークン２５５のコピーを削除する。その後、第２の制御モジュールは第１の制御モジュール１５０に調停応答メッセージに２５７を送信する。調停応答メッセージ２５７は、第２のプロセス制御構成体が解放されてもはや第１のプロセス制御構成体により所有されていないことを示す「解放済み」状態を伴う調停トークン２５８のコピーを含む。第１の制御モジュール１５０は、調停応答メッセージ２５７を受け取り、第１の制御モジュールの所有済み設備待ち行列１５３に格納されている調停トークンと調停応答メッセージ内の調停トークン２５８が一致することを確認して、所有済み設備待ち行列１５３から調停トークン１５５のコピーを削除する。
【００４６】
この時点において、第１のプロセス制御構成体はもはや第２のプロセス制御構成体を所有していない。第２のプロセス制御構成体は、この時点で第３のプロセス制御構成体を含むその他のプロセス制御構成体により獲得されうる。この時点で第３の制御モジュール３５０から受け取った調停トークン３５５が第２の制御モジュールの保留依頼待ち行列２５２の先頭にあるため、またこの時点で第２のプロセス制御構成体が獲得可能になっているので、第３のプロセス制御構成体はこの時点で第２のプロセス制御構成体を獲得しうる。第２の制御モジュールは、保留中獲得待ち行列２５２から所有済み待ち行列２５４へと調停トークン３５５を移動させ、そして第３のプロセス制御構成体がこの時点で第２のプロセス制御構成体の所有権を獲得したことを示す「獲得済み」状態を伴う調停応答を第３の制御モジュール３５０へと送信する。図９に示される如く、調停応答メッセージを受け取った上で、第３の制御モジュール３５０は、図９におけるそれの保留中獲得待ち行列３５１からそれの所有済み設備待ち行列３５３に調停トークン３５５のコピーを移動させ、第３のプロセス制御構成体による第２のプロセス制御構成体の獲得が完了する。
【００４７】
ここに開示される分散型所有権調停システムによると、様々なプロセス制御構成体に関連した制御モジュールは、プロセス制御構成体間の関係を管理する。制御モジュールは、それらが関連するプロセス制御構成体がいつその他のプロセス制御構成体により獲得されうるかを判断し、そしてそれらが関連するプロセス制御構成体をその他のプロセス制御構成体のうちどれが獲得しうるかを、制御モジュール自体の中に組み込まれた規則に基づいて決定する。例えば、制御モジュールは、先入れ先出し方式で、または保留中の依頼を備える調停トークン内に組み込まれた優先順位の値に基づいて、獲得依頼に応答するように構成されうる。プロセス制御構成体の獲得に関する付加的な規則および制限を、様々なプロセス制御構成体と関連する制御モジュールにプログラムしても良い。例えば、別のプロセス制御構成体が獲得しようとしている特定のプロセス制御構成体は、それ自体がその他のプロセス制御構成体を一つ又は複数獲得するまでそれ自体を獲得不可能にしうる。例えば、図１におけるリアクタ＿０１および混合機＿０１を考慮されたい。反応器槽１００の中身を混合容器３００の中に注ぐために、反応器槽１００は混合容器３００の所有権を獲得する必要があるかもしれない。但しそれに対して、反応器槽１００から材料を受け取るには、反応器槽１００からの材料が途中で混合容器から不慮に排出されないことを保障するためにも混合容器３００が出口弁３０３に対する排他的な所有権を持っていなければならない。従って、混合容器３００に関連した制御モジュールは、混合容器が出口弁３０３の所有権の獲得に成功するまで反応器槽１００による混合容器３００の獲得を拒絶するように構成されうる。言い換えると、混合容器３００が、それがバッチ処理に関係するそれ自体の作業を適切に行う必要があるその他の構成部分の全てに対する所有権を獲得するまで反応器槽が混合容器３００を獲得できないようにしうる。
【００４８】
別の実施形態において、第１のプロセス制御構成体に関連した獲得する側の制御モジュールは、条件付き獲得依頼を、第１のプロセス制御構成体が獲得しようとしている第２のプロセス制御構成体に関連した制御モジュールに送信するように適応されうる。この場合に、第２のプロセス制御構成体が獲得可能であると第２のプロセス制御モジュールが判断すると、第１のプロセス制御構成体は第２のプロセス制御構成体を直ちに獲得することになる。第２のプロセス制御構成体が獲得可能でない場合、獲得失敗応答メッセージが、第１のプロセス制御構成体と関連する獲得する側のプロセス制御モジュールに返信される。この場合、獲得トークンは決して、第１のプロセス制御構成体が獲得しようとしている第２のプロセス制御構成体に関連した第２のプロセス制御モジュールの保留依頼待ち行列に置かれない。その代わりに、第１のプロセス制御構成体に関連した獲得する側の制御モジュールは直ちに、同じまたは類似した機能を行う別のプロセス制御構成体に関連した制御モジュールへと条件付き獲得依頼を送信により、代わりのプロセス制御構成体を獲得しようと試みうる。このようにして、獲得する側の制御モジュールは、直ちに獲得可能なリソースを見つけられるまで複数の異なるリソースを迅速にポーリングしうる。特定の作業を行うリソースとして使用しうるもの全てをポーリングした後、獲得する側の制御モジュールは、リソースのどれもが直ちに獲得可能でない場合その他の制御モジュールのうちのどれかの保留依頼待ち行列に投入されるように、第１のプロセス制御構成体が獲得する必要のあるプロセス制御構成体に関連した一つ又は複数の制御モジュールへと、無条件獲得依頼を送信しうる。
【００４９】
先に述べたように、ほとんどの場合、所定のある時点において、特定のプロセス制御構成体は、その他のプロセス制御構成体のうち一つによってのみ所有されうる。但し、その他のプロセス制御構成体の二つ以上によりプロセス制御構成体を所有できることが望ましい場合もある。例えば、水または他の何らかのプロセス流体を複数のユニットに供給するヘッドタンクが、幾つかのユニットへの供給を同時に行うのに十分な規模のものでありうる。但し、図１のリアクタ＿０１およびリアクタ＿０２内の反応器槽１００と２００の両方に供給できるほどの大型ヘッドタンクでも、第３の反応装置ユニットへの供給を行うには十分な大きさを備えていないかもしれない。この場合、ヘッドタンクを二つのプロセス制御構成体により一度に獲得できるようにするが、第３のものによっては獲得できないようにすることが望ましいかもしれない。上述の分散型所有権調停システムは、プロセス制御構成体に関連した制御モジュールにおける所有済み待ち行列の規模を拡張するだけで、プロセス制御構成体がその他のプロセス制御構成体の複数により獲得されることを可能にするよう、容易に適応されうる。二つの反応器槽への供給を同時に行える能力を持つが第３のものへの供給を同時に行える能力を持たないヘッドタンクの例においては、ヘッドタンクに関連した制御モジュールの所有済み待ち行列を、二つの調停トークンを保持するように適応しうる。ヘッドタンクに関連した制御モジュールの所有済み待ち行列に二つ未満の調停トークンが格納されている限り、リアクタ＿０１またはリアクタ＿０２のようなプロセス制御構成体は、ヘッドタンクの半排他的な所有権を獲得しうる。但し、ヘッドタンクが既にその他のプロセス制御構成体の二つにより獲得されている場合、第３のプロセス制御構成体にはヘッドタンクの所有権が与えられない。制御モジュールの所有済み待ち行列は任意数の調停トークンを保持するように拡張することも可能である。このようにして、標的とされるプロセス制御構成体は、如何なる事前に定義された数のその他のプロセス制御構成体により同時に獲得または所有されるように構成されうる。
【００５０】
上述の分散型所有権調停システムの別の利点としては、プロセス制御構成体を、特定のバッチ・フェーズまたはその他のプロセス関連作業を行うために実際に必要となる前に、事前に保存しうるということが挙げられる。例えば、バッチ・ユニット動作は図１におけるリアクタ＿０２上で行われているとする。バッチ・ユニット動作が完了するのに１時間かかり、バッチ・ユニット動作の終わりに反応器槽２００の中身が混合機＿０１の混合容器３００に移動されなければならないと仮定する。反応器槽２００は、反応器槽２００の中身を混合容器３００の中に注ぐことができる前に混合容器３００の所有権を獲得しなければならない。反応器槽２００は混合容器３００を獲得する必要はない（但し、リアクタ＿０２上で実行されるバッチ・ユニット動作が開始されるまで）。バッチマネージャ、バッチキャンペーン・マネージャまたはその他何らかのアプリケーションなどの外部アプリケーションは、反応器槽２００が実際に混合容器を獲得しなければならない時点に到達する前に事前に混合容器３００に関連した制御モジュールへと獲得依頼メッセージを送信しうる。この獲得依頼メッセージは、混合容器３００に関連した制御モジュールがそれの保留依頼待ち行列に格納するダミーの調停トークンを含みうる。ダミーの調停トークンは、反応器槽１００が実際に混合容器３００を獲得するのに十分なデータを含んでいないが、混合容器３００に関連した制御モジュールの保留依頼待ち行列内のプレースホルダとして機能する。よって、反応器槽２００が実際に混合容器３００を獲得しなければならない時点でダミー調停トークンまたはプレースホルダが保留依頼待ち行列内に進んでいることになっており、それによって適時に反応器槽が混合容器３００を実際に獲得できるようになる。このようにして、バッチ処理は、遅れなく、反応器槽２００が混合容器３００に対する所有権を獲得しようと試みている間に混合ユニットのユニット動作に移ることができる。
【００５１】
ここに記載されるような分散型所有権調停システムは処理工場の滑らかな運用に備えるものである。プロセス工場内のプロセス制御構成体は、それ自体の間の所有権問題を事前に定義された規則に則って管理するが、それでも該規則は、プロセス工場のプロセス制御リソースが有効且つ賢明に採用されることを保証するのに十分な融通性を有する。
【００５２】
特定の実施例を参照して本発明を説明したが、上述のものは実施形態にすぎず本発明を限定するものではなく、通常の技術を有する当業者にとっては、本発明の精神と範囲から逸脱することなくここに開示される実施形態に変更、追加または削除を加えうることが明らかであろう。
【図１】
2010170545.tif 000003
【図２】
2010170545.tif 000004
【図３】
2010170545.tif 000005
【図４】
2010170545.tif 000006
【図５】
2010170545.tif 000007
【図６】
2010170545.tif 000008
【図７】
2010170545.tif 000009
【図８】
2010170545.tif 000010
【図９】
2010170545.tif 000011