(57)【要約】      （修正有）【課題】アプリケーションステーションが故障しても履歴パラメータを適切に維持する。【解決手段】プロセス制御システムにおいて利用されるアプリケーションステーションは、冗長マネージャと、前記冗長マネージャに結合された冗長リンクサブシステムとを備えている。前記冗長マネージャは冗長通信リンクを利用して第二のアプリケーションステーションと通信するように構成されている。前記冗長マネージャは、前記第二のアプリケーションステーションと冗長コンテキストを確立し、該冗長コンテキストを利用して前記第二のアプリケーションステーションの動作を追跡する。さらに、前記冗長マネージャは、前記冗長リンクと前記冗長リンクサブシステムとを利用して前記第二のアプリケーションステーションから情報を受信し、その情報に応答して、前記第二のアプリケーションステーションから前記アプリケーションステーションに動作を切換える。【選択図】図１
2010044781.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムで利用されるアプリケーションステーションであって、
冗長マネージャと、
前記冗長マネージャに連結され、冗長通信リンクを用いて第二のアプリケーションステーションと通信するように構成されている冗長リンクサブシステムと
を備えているアプリケーションステーション。
【請求項２】
前記冗長マネージャが前記第二のアプリケーションステーションと冗長コンテキストを確立している請求項１記載のアプリケーションステーション。
【請求項３】
前記冗長マネージャは、前記アプリケーションステーションの動作が前記第二のアプリケーションステーションの動作を追従するように、前記冗長コンテキストを維持管理している請求項２記載のアプリケーションステーション。
【請求項４】
前記冗長リンクおよび前記冗長リンクサブシステムを利用して前記第二のアプリケーションステーションから情報を受信し、該情報に応答して、前記第二のアプリケーションステーションの動作を前記アプリケーションステーションに切換えるように前記冗長マネージャが構成されている請求項１記載のアプリケーションステーション。
【請求項５】
前記第二のアプリケーションステーションから受信される前記情報は、監視下にあるリソースのステータスを有している請求項４記載のアプリケーションステーション。
【請求項６】
前記第二のアプリケーションステーションから受信される前記情報は、前記第二のアプリケーションステーションの動作の調子を示す情報を含んでいる請求項４記載のアプリケーションステーション。
【請求項７】
前記第二のアプリケーションステーションから受信される前記情報は、故障情報および切換えを実行するためのユーザの指示に関連する情報のうちの一つの情報を有している請求項４記載のアプリケーションステーション。
【請求項８】
前記第二のアプリケーションステーションの動作は仮想制御動作を有している請求項４記載のアプリケーションステーション。
【請求項９】
前記第二のアプリケーションステーションの動作は冗長アプリケーションの動作を含んでいる請求項４記載のアプリケーションステーション。
【請求項１０】
前記第二のアプリケーションステーションの動作はネットワーク通信の動作を含んでいる請求項４記載のアプリケーションステーション。
【請求項１１】
前記冗長マネージャに通信可能に接続されている冗長アプリケーションをさらに有している請求項１記載のアプリケーションステーション。
【請求項１２】
前記冗長アプリケーションが階層構造型のアプリケーションである請求項１１記載のアプリケーションステーション。
【請求項１３】
前記冗長マネージャに通信可能に接続されている仮想制御ブロックをさらに有している請求項１記載のアプリケーションステーション。
【請求項１４】
前記冗長マネージャに通信可能に接続されている通信サブシステムをさらに有している
請求項１記載のアプリケーションステーション。
【請求項１５】
前記冗長リンクサブシステムは、イーサネット（登録商標）通信スキームを利用して、前記冗長リンクを介して通信するように構成されている請求項１記載のアプリケーションステーション。
【請求項１６】
アプリケーションステーションで利用される冗長マネージャであって、
ハートビートマネージャと、
アプリケーションプログラミングインターフェイスと、
前記ハートビートマネージャおよび前記アプリケーションプログラミングインターフェイスに通信可能に接続されているリソース監視装置と
を備えている冗長マネージャ。
【請求項１７】
前記ハートビートマネージャが、アプリケーションステーションから受信される情報を監視し、該情報が該アプリケーションステーションの動作ステータスに関連している請求項１６記載の冗長マネージャ。
【請求項１８】
前記アプリケーションプログラミングインターフェイスは、アプリケーション登録機能、アプリケーション登録抹消機能、および指示による切換え機能のうちの一つを有している請求項１６記載の冗長マネージャ。
【請求項１９】
前記アプリケーションプログラミングインターフェイスは、複数のクライアントを前記冗長マネージャに接続するように構成されている請求項１６記載の冗長マネージャ。
【請求項２０】
前記リソース監視装置が複数のアプリケーションステーションリソースに通信可能に接続されている請求項１６記載の冗長マネージャ。
【請求項２１】
第一のアプリケーションステーションおよび第二のアプリケーションステーションを有するプロセス制御システム内に冗長コンテキストを確立する方法であって、
前記第一のアプリケーションステーションに関連するコンフィギュレーションを前記第二のアプリケーションステーションにダウンロードすることと、
十分な質のサービスを前記第一のアプリケーションステーションが提供すると判定することと、
前記第一のアプリケーションステーションにより利用される一組のリソースに関する情報を前記第二のアプリケーションステーションに送信することと、
前記第一のアプリケーションステーションにより利用される一組の前記リソースに前記第二のアプリケーションステーションがアクセスしていることを判定することと、
前記第一のアプリケーションステーションにより利用される一組の前記リソースに前記第二のアプリケーションステーションがアクセスしているとの判定に応答して、前記プロセス制御システム内に前記冗長コンテキストを確立すること
を有している方法。
【請求項２２】
前記第一のアプリケーションステーションに関連するコンフィギュレーションを前記第二のアプリケーションステーションにダウンロードすることは、プロセス制御ネットワークを利用して情報を伝送することを有している請求項２１記載の方法。
【請求項２３】
十分な質のサービスを前記第一のアプリケーションステーションが提供すると判定することは、前記第一のアプリケーションステーションが少なくとも前記第二のアプリケーションステーションにより提供される質のサービスを提供すると判定することを有している請求項２１記載の方法。
【請求項２４】
前記第一のアプリケーションステーションが少なくとも前記第二のアプリケーションステーションにより提供される質のサービスを提供すると判定することは、最大許容データ潜伏パラメータおよび最大許容制御時間損失パラメータのうちの一つを評価することを有している請求項２３記載の方法。
【請求項２５】
十分な質のサービスを前記第一のアプリケーションステーションが提供すると判定することは、プロセッサクラスおよび利用可能メモリ量を判定することを有している請求項２１記載の方法。
【請求項２６】
前記第一のアプリケーションステーションにより利用される一組の前記リソースに関する情報を前記第二のアプリケーションステーションに送信することは、制御情報および通信情報のうちの一つを送信することを有している請求項２１記載の方法。
【請求項２７】
プロセス制御システム内で冗長コンテキストを確立するシステムであって、
第一のアプリケーションステーションと、
前記第一のアプリケーションステーションに通信可能に結合された第二のアプリケーションステーションとを備え、
前記第一のアプリケーションステーションは、コンフィギュレーションを前記第二のアプリケーションステーションにダウンロードし、十分な質のサービスを前記第一のアプリケーションステーションが提供すると判定し、前記第一のアプリケーションステーションにより利用される一組のリソースに関する情報を前記第二のアプリケーションステーションに送信するようにプログラムされており、
前記第二のアプリケーションステーションは、前記第一のアプリケーションステーションにより利用される一組の前記リソースに該第二のアプリケーションステーションがアクセスしていることを判定し、前記第一のアプリケーションステーションにより利用される一組の前記リソースに前記第二のアプリケーションステーションがアクセスしているとの判定に応答して、前記プロセス制御システム内に前記冗長コンテキストを確立するようにプログラムされているシステム。
【請求項２８】
前記第一のアプリケーションステーションは、プロセス制御ネットワークを利用して情報を伝送することにより、前記コンフィギュレーションを前記第二のアプリケーションステーションにダウンロードするようにプログラムされている請求項２７記載のシステム。
【請求項２９】
前記第一のアプリケーションステーションは、  前記第一のアプリケーションステーションが少なくとも前記第二のアプリケーションステーションにより提供される質のサービスを提供すると判定することにより、十分な質のサービスを前記第一のアプリケーションステーションが提供すると判定するようにプログラムされている請求項２７記載のシステム。
【請求項３０】
前記第一のアプリケーションステーションは、制御情報および通信情報のうちの一つを送信することにより、前記第一のアプリケーションステーションにより利用される一組の前記リソースに関する情報を前記第二のアプリケーションステーションに送信するようにプログラムされている請求項２７記載のシステム。
【請求項３１】
データを格納しているマシンアクセス可能媒体であって、
該データが実行されると、マシンに、
第一のアプリケーションステーションに関連するコンフィギュレーションを第二のアプリケーションステーションにダウンロードさせ、
十分な質のサービスを前記第一のアプリケーションステーションが提供することを判定
させ、
前記第一のアプリケーションステーションにより利用される一組のリソースに関する情報を前記第二のアプリケーションステーションに送信させ、
前記第一のアプリケーションステーションにより利用される一組の前記リソースに前記第二のアプリケーションステーションがアクセスしていることを判定させ、
前記第一のアプリケーションステーションにより利用される一組の前記リソースに前記第二のアプリケーションステーションがアクセスしているとの判定に応答して、前記プロセス制御システム内に前記冗長コンテキストを確立させる、マシンアクセス可能媒体。
【請求項３２】
実行されると、前記マシンに、プロセス制御ネットワークを利用して情報を伝送することにより、前記第一のアプリケーションステーションに関連するコンフィギュレーションを前記第二のアプリケーションステーションへダウンロードさせるデータを格納している請求項３１記載のマシンアクセス可能媒体。
【請求項３３】
実行されると、前記マシンに、前記第一のアプリケーションステーションが少なくとも前記第二のアプリケーションステーションにより提供される質のサービスを提供することを判定することにより、十分な質のサービスを前記第一のアプリケーションステーションが提供することを判定させるデータを格納している請求項３１記載のマシンアクセス可能媒体。
【請求項３４】
実行されると、前記マシンに、制御情報および通信情報のうちの一つを送信することにより、前記第一のアプリケーションステーションにより利用される一組の前記リソースに関する情報を前記第二のアプリケーションステーションに送信させるデータを格納している請求項３１記載のマシンアクセス可能媒体。
【請求項３５】
第一のアプリケーションステーションおよび第二のアプリケーションステーションを備えるプロセス制御システムにおいて冗長コンテキストを維持管理する方法であって、
第一の冗長マネージャおよび冗長リンクを利用して、前記第一のアプリケーションステーションのコンディションの変更を前記第二のアプリケーションステーションに通信することと、
第二の冗長マネージャを利用して、前記コンディションの変更に基づいて前記第二のアプリケーションステーション内の情報を更新することと
を有している方法。
【請求項３６】
前記第一の冗長マネージャおよび前記冗長リンクを利用して、前記第一のアプリケーションステーションのコンディションの変更を前記第二のアプリケーションステーションに通信することは、コンフィギュレーション変更、動作パラメータ変更、シーケンシング情報、バッチフェーズ情報、アラーム情報、イベント情報、およびリソースロッキング情報のうちの一つを通信することを有している請求項３５記載の方法。
【請求項３７】
前記第一の冗長マネージャおよび前記冗長リンクを利用して、前記第一のアプリケーションステーションのコンディションの変更を前記第二のアプリケーションステーションに通信することは、カスタム機能ブロックに関連する情報を通信することを有している請求項３６記載の方法。
【請求項３８】
前記第二の冗長マネージャを利用して、前記コンディションの変更に基づいて前記第二のアプリケーションステーション内の情報を更新することは、前記第二のアプリケーションステーション内の冗長アプリケーションを更新することを有している請求項３５記載の方法。
【請求項３９】
前記第二の冗長マネージャを利用して、前記コンディションの変更に基づいて前記第二のアプリケーションステーション内の情報を更新することは、前記第二のアプリケーションステーション内の仮想制御ブロックを更新することを有している請求項３５記載の方法。
【請求項４０】
プロセス制御システムにおいて冗長コンテキストを維持管理するシステムであって、
第一のアプリケーションステーションと、
冗長リンクを利用して、前記第一のアプリケーションステーションに通信可能に接続されている第二のアプリケーションステーションとを備え、
前記第一のアプリケーションステーションは、第一の冗長マネージャおよび前記冗長リンクを利用して、前記第一のアプリケーションステーションのコンディションの変更を前記第二のアプリケーションステーションに通信するようにプログラムされており、
前記第二のアプリケーションステーションは、第二の冗長マネージャを利用して、前記コンディションの変更に基づいて前記第二のアプリケーションステーション内の情報を更新するようにプログラムされているシステム。
【請求項４１】
前記第一のアプリケーションステーションのコンディションの変更がコンフィギュレーション変更および動作パラメータ変更のうちの一つである請求項４０記載のシステム。
【請求項４２】
前記第二のアプリケーションステーションは、前記第二のアプリケーションステーション内の冗長アプリケーションを更新することにより、第二の冗長マネージャを利用して、前記第二のアプリケーションステーション内の情報を前記コンディションの変更に基づいて更新するようにプログラムされている請求項４０記載のシステム。
【請求項４３】
前記第二のアプリケーションステーションは、前記第二のアプリケーションステーション内の仮想制御ブロックを更新することにより、第二の冗長マネージャを利用して、前記第二のアプリケーションステーション内の情報を前記コンディションの変更に基づいて更新するようにプログラムされている請求項４０記載のシステム。
【請求項４４】
データを格納しているマシンアクセス可能媒体であって、
該データが実行されると、マシンに、
第一の冗長マネージャおよび冗長リンクを利用して、第一のアプリケーションステーションのコンディションの変更を第二のアプリケーションステーションに通信させ、
プロセス制御システムにおいて冗長コンテキストを維持管理するために、第二の冗長マネージャを利用して、前記第二のアプリケーションステーション内の情報を前記コンディションの変更に基づいて更新させる、マシンアクセス可能媒体。
【請求項４５】
実行されると、マシンに、コンフィギュレーション変更および動作パラメータ変更のうちの一つを通信させることにより、前記第一の冗長マネージャおよび前記冗長リンクを利用して、前記第一のアプリケーションステーションのコンディションの変更を前記第二のアプリケーションステーションに通信させるデータを格納している請求項４４記載のマシンアクセス可能媒体。
【請求項４６】
実行されると、マシンに、前記第二のアプリケーションステーション内の冗長アプリケーションを更新させることにより、前記第二の冗長マネージャを利用して、前記第二のアプリケーションステーション内の情報を前記コンディションの変更に基づいて更新させるデータを格納している請求項４４記載のマシンアクセス可能媒体。
【請求項４７】
実行されると、マシンに、前記第二のアプリケーションステーション内の仮想制御ブロックを更新させることにより、前記第二の冗長マネージャを利用して、前記第二のアプリ
ケーションステーション内の情報を前記コンディションの変更に基づいて更新させるデータを格納している請求項４４記載のマシンアクセス可能媒体。
【請求項４８】
冗長アプリケーションステーションシステムであって、
第一の冗長マネージャを有した第一のアプリケーションステーションと、
第二の冗長マネージャを有した第二のアプリケーションステーションと、
前記第一の冗長マネージャおよび前記第二の冗長マネージャに通信可能に接続された冗長リンクと
を備えている冗長アプリケーションステーションシステム。
【請求項４９】
前記第一のアプリケーションステーションおよび前記第二のアプリケーションステーションが、前記冗長リンクを利用してステータス情報を通信するように構成されている請求項４８記載の冗長アプリケーションステーションシステム。
【請求項５０】
前記第一のアプリケーションステーションおよび前記第二のアプリケーションステーションが、前記ステータス情報に基づいてプロセス制御システム内の冗長コンテキストを維持管理するように構成されている請求項４９記載の冗長アプリケーションステーションシステム。
【請求項５１】
前記第一のアプリケーションステーションおよび前記第二のアプリケーションステーションが、前記ステータス情報に基づいて前記第一のアプリケーションステーションの動作を前記第二のアプリケーションステーションに切換えることができるように構成されている請求項５０記載の冗長アプリケーションステーションシステム。
【請求項５２】
アプリケーションステーションのコンフィギュレーションを変更する方法であって、
前記アプリケーションステーションとスタンドバイアプリケーションステーションとの間に冗長コンテキストを確立することと、
前記アプリケーションステーションの動作を前記スタンドバイアプリケーションステーションに切換える切換え動作を実行することと、
前記切換え動作を動作不能状態にすることと、
前記アプリケーションステーションのコンフィギュレーション情報を変更することと、
前記切換え動作を動作可能状態にすることと、
前記スタンドバイアプリケーションステーションの動作を前記アプリケーションステーションに切換える切換え動作を実行することと
を有している方法。
【請求項５３】
前記アプリケーションステーションの前記コンフィギュレーション情報を変更することは、前記アプリケーションステーション内のアプリケーションをアップグレードすることを有している請求項５２記載の方法。
【請求項５４】
前記アプリケーションステーションの前記コンフィギュレーション情報を変更することは、前記アプリケーションステーションの仮想制御機能をアップグレードすることを有している請求項５３記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にプロセス制御システムに関するものであり、さらに詳細には、プロセス制御システムにおいて利用される冗長アプリケーションステーションに関するものである。
【関連技術および発明が解決しようとする課題】
【０００２】
化学プロセス、石油プロセス、または他のプロセスにおいて利用されるプロセス制御システムは、アナログバス、デジタルバス、またはアナログとデジタルを組み合わせたバスを介して、少なくとも一つのホストワークステーションまたはオペレータワークステーションと一または複数のフィールドデバイスとに通信可能に接続された一または複数の中央集中型プロセスコントローラを備えていることが一般的である。フィールドデバイスは、たとえば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ（たとえば、温度センサ、圧力センサ、および流量センサ）などであり、バルブの開閉や、プロセスパラメータの測定の如きプロセス内の機能を実行する。また、プロセスコントローラは、フィールドデバイスにより測定されたプロセスの測定結果を示す信号および／またはそのフィールドデバイスに関する情報を受信し、この情報を用いて制御ルーチンを実行し、次いで、制御信号を発生する。その信号は、プロセス動作を制御するために、上述のバスまたは他の通信回線を通って、フィールドデバイスに送信される。これらのフィールドデバイスおよびコントローラからの情報は、オペレータワークステーションにより実行される一つまたは複数のアプリケーションに提供されてもよく、その結果、たとえばプロセスの現行条件の閲覧や、プロセス動作の修正などの如き、プロセスに関する所望の機能をオペレータが実行することができるようになる。
【０００３】
また、プロセス制御システムの多くは一または複数のアプリケーションステーションを備えている。通常、これらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）を介してプロセス制御システム内のコントローラ、オペレータワークステーション、および他のシステムに通信可能に結合されたパーソナルコンピュータ、ワークステーションなどを利用して実現される。各アプリケーションステーションは、プロセス制御システム内でキャンペイン管理機能、保守管理機能、仮想制御機能、診断機能、リアルタイム監視機能などを実行する一または複数のソフトウェアアプリケーションを実行しうる。
【０００４】
アプリケーションステーションおよび／またはプロセス制御システム内のその他の場所におけるたとえばソフトウェア不良またはハードウェア不良（たとえば、ネットワーク通信の停止、電力の停止など）に起因してアプリケーションステーションが故障すると、その故障しつつあるまたは故障してしまったアプリケーションステーションにより実行されている機能およびアプリケーションが停止してしまうという結果をもたらす。一部のプロセス制御システムまたはアプリケーションステーションのなかには、制限付きアプリケー
ション再生機能を提供するように構成されているものもある。たとえば、公知のアプリケーションステーションの一部には、実行する機能および／またはアプリケーションに関連する設定情報、制御パラメータおよび制御値、履歴データなどを格納しているものもある。この格納された履歴情報または履歴データは、終了したアプリケーション、停止したアプリケーション、またはハードウェアおよび／もしくはソフトウェアの異常もしくは不良により動作不能となったアプリケーションを回復するために、アプリケーションステーションを再起動（たとえば、リブート）したあとプロセス制御システムにより利用されうる。
【０００５】
残念なことには、公知のアプリケーションステーション回復技術では、アプリケーションステーションをコールドスタートまたは再ブートしたあとに、どうしても、時間のかかるデータ回復プロセスと、アプリケーションステーションにより実行されたソフトウェアアプリケーションの非同期式再インストールとが引き続き行われる。これらの公知のアプリケーションステーション回復技術は一部のプロセス制御アプリケーションには適切でありうるが、全てのプロセス制御アプリケーションに対して適切であるということではなく、場合によっては、危険な結果および／またはコストのかかる結果を招くことになる場合がある。具体的には、公知のアプリケーションステーション回復技術は、アプリケーションステーションの故障とその回復との間に著しい遅延時間を必要とすることが普通であるので、シームレスまたは「バンプレス」であるとはいえない。したがって、その比較的長期の回復期間の間に発生する装置条件またはプロセス条件の変動のせいで、故障以前に格納された履歴パラメータ値はもはや適切なものではなくなる。場合によっては、そのような履歴パラメータ値を使用すると、コストのかかる結果および／または危険な結果を招くことになる場合がある。たとえば、仮想制御アプリケーションおよびキャンペイン管理アプリケーションの場合には、不適切なパラメータ値を使用すると、バッチの損失、作業員および／または装置への損害などを招く結果となる場合がある。さらに、アプリケーションステーションの故障が回復不可能なハードウェアの故障により発生した場合には、そのハードウェアが交換または修理されるまでアプリケーションは停止される。この停止期間は許容できないほど長期にわたることがある。
【発明の開示】
【課題を解決するための手段】
【０００６】
一つの態様では、プロセス制御システムにおいて利用されるアプリケーションステーションは、冗長マネージャと、この冗長マネージャに結合され、冗長通信リンクを利用して第二のアプリケーションステーションと通信するように構成された冗長リンクサブシステムとを備えている。かかる冗長マネージャは、第二のアプリケーションステーションと冗長コンテキストを確立し、第二のアプリケーションステーションの動作を追従するためにこの冗長コンテキストを利用しうる。さらに、かかる冗長マネージャは、冗長リンクと冗長リンクサブシステムとを利用して第二のアプリケーションステーションから情報を受信し、その情報に応答して、第二のアプリケーションステーションからアプリケーションステーションに切換えるように構成されうる。
【０００７】
他の態様によれば、アプリケーションステーションにおいて利用される冗長マネージャは、ハートビートマネージャと、アプリケーションプログラムインターフェイスと、ハートビートマネージャおよびアプリケーションプログラムインターフェイスと通信可能に結合されたリソース監視装置とを備えている。かかるハートビートマネージャは、アプリケーションステーションから受信した動作ステータス情報を監視しうる。
【０００８】
さらに他の態様では、第一および第二のアプリケーションステーションを備えたプロセス制御システム内に冗長コンテキストを確立するシステムおよび方法は、第一のアプリケーションステーションに関連するコンフィギュレーションを第二のアプリケーションステ
ーションにダウンロードし、第一のアプリケーションステーションが充分なサービスの質を提供していることを判定し、第一のアプリケーションステーションにより利用されている一組のリソースに関する情報を第二のアプリケーションステーションに送信する。さらに、かかるシステムおよび方法は、第一のアプリケーションステーションにより利用されている一組のリソースに第二のアプリケーションステーションがアクセス可能であることを判定し、第一のアプリケーションステーションにより利用されている一組のリソースに第二のアプリケーションステーションがアクセス可能であるとの判定に応答して、プロセス制御システム内に冗長コンテキストを確立しうる。
【実施例１】
【０００９】
図１は、本明細書において記載される冗長アプリケーションステーションのための装置および方法を利用するプロセス制御システムの一例を示すブロック線図である。図１に例示するように、プロセス制御システム10は、コントローラ12と、オペレータステーション14と、アクティブアプリケーションステーション16と、スタンドバイアプリケーションステーション18とを備え、それらはすべて、バスまたはローカルエリアネットワークを利用して通信可能に結合されうる。一般的に、これをアプリケーション制御ネットワーク（ＡＣＮ）と呼ぶ。オペレータステーション14およびアプリケーションステーション16、18は、一または複数のワークステーションまたはその他の適切なコンピュータシステムもしくは処理ユニットを用いて実現されうる。たとえば、アプリケーションステーション16、18は、単一プロセッサ型パーソナルコンピュータ、単一プロセッサ型または多重プロセッサ型のワークステーションなどを用いて実現されうる。さらに、ＬＡＮ（ラン）20は、任意の所望の通信媒体および通信プロトコルを用いて実現されうる。たとえば、ＬＡＮ20はハードワイヤードまたは無線のイーサネット（登録商標）通信スキームをベースにしうる。イーサネット（登録商標）通信スキームは周知技術であるので本明細書ではその詳細をさらには記載しない。しかしながら、当業者により容易に理解されるように、その他の適切な通信媒体および通信プロトコルを採用してもかまわない。さらに、単一のＬＡＮが例示されているが、アプリケーションステーション16、18の間に冗長通信パスを提供するために、アプリケーションステーション16、18内に一を超えるＬＡＮおよび適切な通信ハードウェアを利用してもよい。
【００１０】
コントローラ12は、デジタルデータバス28および入力／出力（Ｉ／Ｏ）デバイス30を介して、複数のスマートフィールドデバイス22、24、26に結合されうる。スマートフィールドデバイス22〜26はＦｉｅｌｄｂｕｓ（フィールドバス）に準拠したバルブ、アクチュエータ、センサなどでありうる。その場合、スマートフィールドデバイス22〜26は、周知のＦｉｅｌｄｂｕｓプロトコルを利用して、デジタルデータバス28を介して通信する。もちろん、それに代えて、他のタイプのスマートフィールドデバイスおよび通信プロトコルを採用してもよい。たとえば、スマートフィールドデバイス22〜26は、Ｐｒｏｆｉｂｕｓ（プロフィバス）通信プロトコルおよびＨＡＲＴ（ハート）通信プロトコルを利用して、データバスを介して通信するＰｒｏｆｉｂｕｓ準拠デバイスまたはＨＡＲＴ準拠デバイスであってもよい。コントローラ12にＩ／Ｏデバイス（Ｉ／Ｏデバイス30と同等または同一のデバイス）をさらに結合することにより、Ｆｉｅｌｄｂｕｓデバイス、ＨＡＲＴデバイスなどでありうるスマートフィールドデバイスのさらなる群をコントローラ12と通信できるようにしてもよい。
【００１１】
さらに、スマートフィールドデバイス22〜26に加えて、非スマートフィールドデバイス32、34をコントローラ12に通信可能に結合しうる。非スマートフィールドデバイス32、34の各々は、たとえば、それに対応するハードワイヤードリンク36、38を利用してコントローラ12と通信する従来の４〜２０ミリアンペア（ｍＡ）デバイスまたは０〜１０ボルト直流電圧（ＶＤＣ）デバイスでありうる。
【００１２】
コントローラ12は、たとえば、フィッシャーローズマウントシステムズ社より販売され
ているＤｅｌｔａＶ（登録商標）でありうる。しかしながら、それに代えて、その他のコントローラを採用してもよい。さらに、図１には一つのコントローラのみが例示されているが、任意の所望のタイプのまたはそれらのタイプを組み合わせたコントローラをさらにＬＡＮ20に結合してもよい。いずれの場合であっても、コントローラ12は、プロセス制御システム10に関連する一または複数のプロセス制御ルーチンを実行しうる。これらのプロセス制御ルーチンは、システムエンジニアまたは他のシステムオペレータによりオペレータステーション14を利用して作成され、コントローラ12にダウンロードされ、そこでインスタンス化されたものである。
【００１３】
図１に例示するように、プロセス制御システム10は、また、通信リンク42およびＬＡＮ44を介してアプリケーションステーション16、18に通信可能に結合されている遠隔オペレータステーション40を備えうる。この遠隔オペレータステーション40は地理的に離れて設置されうる。その場合、通信リンク42は、無線通信リンク、インターネットベースもしくは他のパケット交換ベースの通信ネットワーク、電話回線（たとえば、デジタル加入者線）、またはそれらの任意の組み合わせであること好ましいが必ずしもそれに限定されるわけではない。
【００１４】
図１に例示するように、アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18とは、ＬＡＮ20および冗長リンク46を介して、通信可能に結合されている。冗長リンク46は、アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18との間の個々の専用（すなわち、非共有）通信リンクでありうる。冗長リンク46は、たとえば、専用イーサネット（登録商標）リンク（たとえば、相互に結合されたアプリケーションステーション16、18の各々の内の専用イーサネット（登録商標）カード）を利用して実現されうる。しかしながら、他の例としては、冗長リンク46は、アプリケーションステーション16、18に通信可能に結合されている、専用回線でなくてもよいＬＡＮ20または冗長ＬＡＮ（図示せず）を利用して実現されうる。
【００１５】
一般的にいえば、アプリケーションステーション16、18は、冗長コンテキストを確立・維持管理するために、冗長リンク46を利用して連続的に、または場合によっては定期的に（たとえば、パラメータ値の変更、アプリケーションステーションのコンフィギュレーションの変更などに応答して）情報を交換する。冗長コンテキストにより、アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18との間でシームレスにまたはバンプレスに制御を引渡すことまたは交換することが可能になる。たとえば、冗長コンテキストにより、アクティブアプリケーションステーション16内のハードウェアまたはソフトウェアの不良に応答して、またはシステムユーザもしくはシステムオペレータまたはプロセス制御システム10のクライアントアプリケーションからの指示に応答して、制御の引渡しまたは交換を行うことが可能になる。
【００１６】
いずれの場合であっても、アプリケーションステーション16、18は、冗長対として機能する、ＬＡＮ20上の単一ノードでありうる。具体的には、スタンドバイアプリケーションステーション18は、アクティブアプリケーションステーション16が故障した場合にまたはユーザから切換えの指示を受信した場合に、時間の要する初期化または他のユーザによる介入を必要とすることなく、アクティブアプリケーションステーション16により実行されていたアプリケーションまたは機能の制御を迅速にかつシームレスに引き継ぎ、そして継続する“ホット”スタンドバイアプリケーションステーションとして機能する。そのような“ホット”スタンドバイスキームを実現するために、現時点でアクティブなアプリケーションステーション（たとえば、アクティブアプリケーションステーション16）は、冗長リンク46を利用して、たとえばコンフィギュレーション情報、制御パラメータ情報などの如き情報をその冗長パートナーアプリケーションステーション（たとえば、スタンドバイアプリケーションステーション18）に通信するために冗長コンテキストを利用する。この
ように、スタンドバイアプリケーションステーション18の準備が整い、制御の引き継ぎが可能である限りは、現時点においてアクティブであるアプリケーションステーション（たとえば、アクティブアプリケーションステーション16）からその冗長パートナーまたはスタンドバイアプリケーションステーション（たとえば、スタンドバイアプリケーションステーション18）にシームレスにまたはバンプレスに制御を移転または変更することが可能である。
【００１７】
スタンドバイアプリケーションステーション18が準備が整い、現時点においてアクティブアプリケーションステーション16により実行されているアプリケーション、仮想制御機能、通信機能などの制御を引き継ぐことが可能であることを確実にするために、冗長コンテキストは、スタンドバイアプリケーションステーション18が物理的リソース（たとえば、ＬＡＮ20、他の外部データソースなど）にアクセス可能であるか否か、必要なプログラミング情報（たとえば、コンフィギュレーション情報および接続情報）を有しているか否か、および必要なサービスの質（たとえば、プロセッサ速度、メモリ要件など）が利用可能か否かを判定する。さらに、冗長コンテキストは、スタンドバイアプリケーションステーション18が常に制御を引き継ぐ準備ができていることを確実にすることができるように維持管理される。この冗長コンテキストの維持管理は、冗長アプリケーションステーション16、18間において動作の同期を維持するために必要とされるステータス情報、コンフィギュレーション情報、またはその他の情報を伝送することにより実行される。
一部の例では、アクティブアプリケーションステーション16が故障したが、最終的には、調子のよい状態にまで回復したかまたは修理もしくは交換された（そして適切に設定された）場合には、そのアクティブアプリケーション16がスタンドバイアプリケーションステーション18から制御を再び取り戻し、スタンドバイアプリケーションステーション18がホットスタンドバイステーションとしてのステータスに再帰するようにアプリケーションステーション16、18が構成されているものもある。しかしながら、所望ならば、スタンドバイアプリケーションステーション18は、システムユーザの承認またはなんらかの他のタイプのユーザの介入がない限り、回復したアプリケーションステーションが制御を再び取り戻すことができないように構成されていてもよい。
【００１８】
アクティブアプリケーションステーション16は、通常、仮想制御機能、キャンペイン管理アプリケーション、保守管理アプリケーション、診断アプリケーション、および／またはプロセス制御システム10内において必要なプロセス制御活動、エンタプライズ最適化活動などの管理もしくは監視のうちの少なくとも一つに関しうるその他の所望の機能もしくはアプリケーションを実行する責務を有している。スタンドバイアプリケーションステーション18はアクティブアプリケーションステーション16と同様に構成されており、したがってアクティブアプリケーションステーション16内での実行に必要な機能およびアプリケーションの各々のコピーを有している。さらに、スタンドバイアプリケーションステーション18は、アクティブアプリケーションステーション16が利用可能なリソースと同一のもしくは少なくとも機能的には同等のハードウェアを備え、および／またはアクティブアプリケーションステーション16が利用可能なリソースと同一のもしくは少なくとも機能的には同等のリソースにアクセス可能である。さらに、スタンドバイアプリケーションステーション18は、冗長リンク46を利用して、アクティブアプリケーションステーション16の動作（たとえば、アクティブアプリケーションステーション16内で実行されているアプリケーションにより利用される現向のパラメータ値）を追従する。
【００１９】
図２は、図１に示された冗長アプリケーションステーション16、18が実現されうる態様の一例を示すさらに詳細なブロック線図である。図２の例で示されているように、アクティブアプリケーションステーション16は、一または複数の冗長アプリケーション52に通信可能に結合された冗長マネージャ50と、仮想制御ブロック54と、通信サブシステム56と、オペレーティングシステム58と、冗長リンクサブシステム60とを備えている。同様に、ス
タンドバイアプリケーションステーション18は、冗長マネージャ62と、一または複数の冗長アプリケーション64と、仮想制御ブロック66と、通信サブシステム68と、オペレーティングシステム70と、冗長リンクサブシステム72とを備えている。スタンドバイアプリケーションステーション18に例示されている機能ブロック62〜72は、アクティブアプリケーションステーション16内の機能ブロック50〜60とそれぞれ対応しており、それらの対応する機能と同一または少なくとも略同一の機能を提供するが、アプリケーションステーション16、18の動作の記述を明確にするために、異なる参照番号が対応する機能ブロックに対して用いられている（たとえば、ブロック50に対してブロック62）。具体的にいえば、アクティブアプリケーションステーション16およびスタンドバイアプリケーションステーション18において対応している機能ブロックは、同一の（または、略同一の）機能を提供しうるが、それらの機能ブロックは、アプリケーションステーション16、18のうちの対応するアプリケーションステーション内で別々にインスタンス化されているので、同一瞬間においてまったく同一の動作状態では必ずしもない。
【００２０】
一般的に、機能ブロック50〜60および機能ブロック62〜72の場合には、冗長コンテキストを確立・維持管理するため、機能ブロック50〜60が冗長マネージャ50と、機能ブロック62〜72が冗長マネージャ62と協働して相互に作用する。冗長コンテキストにより、スタンドバイアプリケーションステーション18はアクティブアプリケーションステーション16の動作を追跡または追従することが可能になる。さらに詳細にいえば、アプリケーションステーション16、18は、それぞれ、その対応する冗長リンクサブシステム60、72を利用して情報を交換しており、その結果、アプリケーションステーション16、18の一方は、アプリケーションステーション16、18の他方の動作の調子（すなわち、動作ステータス）を判定することができる。さらに、動作パラメータ値および他の情報は、冗長リンク46を利用して、アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18との間で伝送されうる。スタンドバイアプリケーションステーション18の冗長マネージャ62は、アクティブアプリケーションステーション16の動作状態に略同期および／または追従するようにスタンドバイアプリケーションステーション18内の動作状態を維持するために、必要に応じて、アクティブアプリケーションステーション16から受信するパラメータ情報またはパラメータ値を、冗長アプリケーション64のうちの一または複数、仮想制御ブロック66、通信サブシステム68、および／またはオペレーティングシステム70などに伝送しうる。
【００２１】
冗長マネージャ50および62とそれらに対応するローカルサブシステムまたは機能ブロック52〜60および64〜70との間の相互作用または協働をさらによく理解するために、機能ブロック52〜60および64〜70の動作のさらに詳細な説明を以下で行う。冗長アプリケーション52、64は、たとえば、キャンペイン管理アプリケーション、保守管理アプリケーション、リアルタイム監視アプリケーション、診断アプリケーションなどを含んでいる。冗長アプリケーション52、64は、階層構造式のソフトウェアアプリケーション（すなわち、他のソフトウェアアプリケーションの上に重ねられているソフトウェアアプリケーション）であることが一般的であるが必ずしもそれに限定されるわけではない。たとえば、キャンペイン管理アプリケーションは一または複数のバッチ管理アプリケーションの上に重ねられることが一般的である。
【００２２】
冗長アプリケーション52および64は、それぞれ、それに対応する冗長マネージャ50および62に登録されているので、冗長マネージャ50および62により作成・維持管理される冗長コンテキスト内で完全に統合される。換言すれば、冗長アプリケーション52および64は冗長対のアプリケーションとして機能することができ、その結果、たとえば、冗長アプリケーション52のうちの一つが機能しなくなった場合、冗長アプリケーション64内のそれに対応する同一のパートナーアプリケーションは、アクティブアプリケーションステーション16からスタンドバイアプリケーションステーション18への切換えのあと、機能しなくなっ
たアプリケーションが停止したところから実行を継続することができる。
【００２３】
冗長アプリケーション52、64の冗長コンテキストへの参加を可能にするために、アプリケーション52、64は、アプリケーション52、64の現状だけでなく、アクティブアプリケーションステーション16およびスタンドバイアプリケーションステーション18の現状にも関するステータス情報および他の情報を交換する。切換えが開始される場合（たとえば、アクティブアプリケーションステーション16の故障に応答してまたはシステムユーザの指示に応答して、スタンドバイアプリケーションステーション18がアクティブアプリケーションステーション16の制御を引き継ぐ場合）、冗長マネージャ62は、切換えが進行中であることを冗長アプリケーション64に通知する。次いで、スタンドバイアプリケーションステーション18は、たとえばオペレータステーション14、40のうちの一方または両方を利用してシステムユーザに通信・提示されうる一または複数のシステムアラームまたはシステムイベントを生成しうる。また、たとえばアクティブアプリケーションステーション16がスタンドバイアプリケーションステーション18の故障を検出した場合、冗長アプリケーション52がその状態の通知を受信し、所望ならば、一または複数の適切なアラームまたはイベントが、アクティブアプリケーションステーション16により生成され、オペレータステーション14、40に、および／またはプロセス制御システム10に結合された他のシステムに伝送されてもよい。いずれの場合であっても、冗長アプリケーション52、64内のアプリケーションの各々は、切換えが進行中であるという通知、スタンドバイアプリケーションステーション18が故障したという通知などに、そのアプリケーションにとって適切な方法で応答するように構成されている。
【００２４】
仮想制御ブロック54および66は、それぞれ、それに対応する冗長マネージャ50および62に、仮想制御機能を実行するために必要なたとえばメモリ量、プロセッサ速度、入力／出力情報などの如き物理的リソース情報を提供する。たとえば、冗長マネージャ62は、切換えが必要な場合に、アクティブアプリケーションステーション16の制御を取得または引き継ぐための能力（すなわち、適切な物理的リソース）をスタンドバイアプリケーションステーション18が有しているか否かを判定するために物理的リソース情報を利用しうる。さらに、仮想制御ブロック54、66は、それぞれ、その対応する冗長マネージャ50、62に、たとえば動作データ、タイミングデータなどの如き利用情報をアプリケーションステーション16、18のうちの対応するステーション内において更新する必要があることを示す指標を提供する。このようにして、機能ブロック実行、シーケンシング、バッチ動作などが完全に同期化される。同様に、仮想制御ブロック54、66により、ユーザ、オペレータ、第三者などがカスタム機能ブロックを生成することができる場合には、それらのカスタム機能ブロックは冗長マネージャ50、62により同期化される。したがって、仮想制御ブロック66は、仮想制御ブロック54の動作を追従することができ（すなわち、完全に同期化され）、その結果、アクティブアプリケーションステーション16からスタンドバイアプリケーションステーション18への切換えの際に、仮想制御ブロック66は、シームレスまたはバンプレスな方法で仮想制御ブロック54の仮想制御責務を引き継ぐ（すなわち、取得する）ことができる。また、仮想制御ブロック66は、そのパラメータ値が切換え時点における仮想制御ブロック54内の対応するパラメータ値と一致している状態で、モジュール、方法などの実行を開始することが好ましい。
【００２５】
さらに、仮想制御ブロック54、66は、切換えを動作不能にするまたは妨げる状態が仮想制御ブロック54、66のうちの一方または両方の内に存在することを示す指標を提供するように構成されている。たとえば、アクティブアプリケーションステーション16のコンフィギュレーションが変更されているのにスタンドバイアプリケーションステーション18が更新されていない場合、スタンドバイアプリケーションステーション18内のアプリケーション（たとえば、冗長アプリケーション64のうちの一つ）が機能しなくなった場合などに、そのような指標が提供されうる。
【００２６】
通信サブシステム56、68の各々により、その対応するアプリケーションステーション16、18、すなわちその内部の機能ブロックの各々が、ＬＡＮ20を利用して、プロセス制御システム10内の他のシステムだけでなく相互にも通信することができる。さらに、冗長マネージャ50、62により確立・維持管理される冗長コンテキスト内におけるアプリケーションステーション16、18の協働を可能かつ容易にするために、各通信サブシステム56、68は、その対応する冗長マネージャ50、62にサービスおよび／または情報を提供する。具体的にいえば、通信サブシステム56、68は、たとえば、通信サブシステム56、68を動作不能にするサービス、アクティブアプリケーションステーション16がスタンドバイアプリケーションステーション18と同一のＬＡＮ（すなわち、ＬＡＮ20）に結合されていることを検証するサービス、通信サブシステムが故障したことを示す指標を提供するサービス、切換え時点で、新規のアクティブアプリケーションステーション（たとえば、スタンドバイアプリケーションステーション18）が今やアクティブでなくなってしまったアプリケーションステーション（たとえば、アクティブアプリケーションステーション16）のＬＡＮ20上の通信責務を引き継ぐことができるようにするサービスなどの如きサービスを提供しうる。たとえば、新規のアクティブアプリケーションステーションは、ＬＡＮ20を利用して、以前アクティブであったアプリケーションステーションを他のシステム、デバイスなどに再び通信接続しうる。
【００２７】
また、通信サブシステム56、68の各々は、その管理するデータ（すなわち、接続情報、ルーチング情報など）が変わったので冗長パートナーアプリケーションステーションにおいて更新されなければならないことを示す指標を提供しうる。たとえば、アクティブアプリケーションステーション16の通信サブシステム56は、アクティブアプリケーションステーション16に新規の接続が確立されたことをスタンドバイアプリケーションステーション18に示しうる。この新規の接続情報は、冗長リンクサブシステム60、冗長リンク46、および冗長リンクサブシステム72を利用して、冗長マネージャ50により冗長マネージャ62に伝送されうる。次いで、冗長マネージャ62は、冗長コンテキストを維持管理する新規の接続を確立するために、通信サブシステム68と通信しうる。このようにして、冗長マネージャ62は、切換え時点において、スタンドバイアプリケーションステーション18がアクティブアプリケーションステーション16の通信責務を引き継ぐことができる状態にスタンドバイアプリケーションステーション18を維持管理する。
【００２８】
冗長リンクサブシステム60、72の各々は、アプリケーションステーション16、18のうちの対応する一つのステーションが冗長リンク46を利用して通信チャネルまたは通信リンクを確立することができるサービスを提供する。さらに、冗長リンクサブシステム60、72の各々は、その対応する冗長マネージャ50、62に、アプリケーションステーション16、18間の通信チャネルまたは通信リンクが故障した場合に指標を提供する。さらに、冗長リンクサブシステム60、72は、冗長アプリケーション52、64、仮想制御ブロック54、66通信サブシステム56、68、オペレーティングシステム58、70などに関連する動作データがアプリケーションステーション16、18間で交換できるサービスを提供する。
【００２９】
以下でさらに詳細に説明するように、冗長マネージャ50、62は、監視リソースに関するステータス情報を伝送するために、冗長リンクサブシステム60、72および冗長リンク46の情報伝送機能を利用する。そのようなステータス情報は、アクティブアプリケーションステーション16の調子ステータスおよび／または動作ステータスを示す「ハートビート」信号または「ハートビート」情報を提供するために、パラメータ値および／またはコンフィギュレーションの変化などに応答して、たとえばアクティブアプリケーションステーション16によりスタンドバイアプリケーションステーション18に伝送されうる。その結果、アクティブアプリケーションステーション16の調子が著しく損傷されていることをハートビート信号が示す場合、および／またはハートビート信号がまったく存在しない場合、スタ
ンドバイアプリケーションステーション18は切換えを開始し、故障したまたは故障しつつあるアクティブアプリケーションステーション16の制御責務を引き継ぎうる。
【００３０】
オペレーティングシステム58、70は、たとえばＷｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）などの如き任意の所望のオペレーティングシステムであり、その中に、アプリケーションステーション16、18のランタイム環境が組み込まれうる。図１に示されたプロセス制御システム10の一例では、ランタイム環境はＤｅｌｔａＶランタイム環境でありうる。オペレーティングシステム58、70は、アプリケーションステーション16、18に関連するハードウェアプラットフォームのステータス、調子、機能などに関する情報などの如き情報を冗長マネージャ50、62に提供しうる。もちろん、そのような情報は、アプリケーションステーション16、18を実現するために利用されるハードウェアに基づいて変更されてもよい。たとえば、アプリケーションステーション16、18が多重プロセッサワークステーションを利用して実現されている場合には、あるタイプの情報が提供され、アプリケーションステーション16、18が単一プロセッサパーソナルコンピュータを利用して実現された場合には、他のタイプまたは数量の情報が提供されてもよい。
【００３１】
冗長マネージャ50、62の各々は、その対応する、冗長アプリケーション52、64、仮想制御ブロック54、66、通信サブシステム56、68、オペレーティングシステム58、70、および冗長リンクサブシステム60、72と協働して通信し、冗長コンテキストを確立・維持管理する。さらに、冗長マネージャ50、62は、現時点においてアクティブなアプリケーションステーションの故障により自動的にまたはユーザからの指示に応答して、アプリケーションステーション16、18間の切換えを管理する。さらに、冗長マネージャ50、62は、冗長コンテキストに関する診断情報を保守する。たとえば、状態情報、データ潜伏情報などが保守され、所望の場合には、たとえば最適化アプリケーションおよび／または診断アプリケーションによりアクセス・利用されうる。上述の最適化アプリケーションおよび／または診断アプリケーションは、冗長アプリケーション52、64のなかの一つであるか、あるいは、図３に関連してさらに詳細に説明する方法で冗長マネージャ50、62と通信するクライアントアプリケーションでありうる。
【００３２】
図３は、図２に示された冗長マネージャ50、62が実現されうる態様の一例を示すさらに詳細なブロック線図である。理解しやすいように、図３に示された一例は、スタンドバイアプリケーションステーション18の冗長マネージャ62として詳細に説明されている。しかしながら、図３の詳細なブロック線図およびそれに続く説明も同様にアクティブアプリケーションステーション16の冗長マネージャ50に適用可能である。いずれの場合であっても、図３に例示されるように、冗長マネージャ62は、ハートビートマネージャ100と、リソ
ース監視装置102と、冗長マネージャアプリケーションプログラミングインターフェイス
（ＡＰＩ）104と、冗長クライアントサービス106とを備えている。
【００３３】
冗長マネージャＡＰＩ104により、一または複数の冗長アプリケーションまたは冗長ク
ライアント108が冗長コンテキストに加わることができる。この冗長アプリケーションま
たは冗長クライアント108には、図２において示されている冗長アプリケーション64およ
び他のアプリケーションまたはクライアント（図２に図示せず）が含まれうる。換言すれば、冗長マネージャＡＰＩ104は、ステータスイベントまたはステータス情報の変更（た
とえば、所与のアプリケーションステーションの切換えステータス、パラメータ値またはコンフィギュレーションの変更など）を受信するために、アプリケーションまたはクライアント108のうちの一または複数を冗長マネージャ62に接続（すなわち、通信）できるよ
うにする機能を有している。ステータス情報または冗長マネージャ62により冗長アプリケーション／クライアント108に伝送される情報の変更は、ハートビートマネージャ100により冗長リンクサブシステム72から受信された情報および／またはたとえば通信サブシステム68およびオペレーティングシステム70などの如き一または複数のリソースからリソース
監視装置102により受信された情報から導き出されうるし、または、それらの情報をベー
スにしうる。
【００３４】
冗長マネージャＡＰＩ104は、冗長アプリケーション／クライアント108内のアプリケーションまたはクライアントを冗長マネージャ62と通信できるようにするアプリケーション登録機能を実行する。このアプリケーション登録機能は、冗長マネージャ62が、必要なときに、スタンドバイアプリケーションステーション18内でアプリケーションを探し出せるようにするために、各登録アプリケーションに対して固有の識別子を作成しうる。さらに、アプリケーション登録機能は、冗長マネージャ62による冗長イベント（たとえば、切換え、コンフィギュレーション変更など）の登録済みアプリケーションへの伝送を可能にするコールバック機能（ヘルパースレッドを利用して実現されうる機能）を備えうる。
【００３５】
また、冗長マネージャＡＰＩ104は、登録済みアプリケーションのリストから選択され
たアプリケーションを取り除くアプリケーション登録取消機能を実行する。アプリケーション登録取消機能は、冗長マネージャ62により、アプリケーションの機能不良から区別されることが可能であるので、不必要な切換えを発動させることなく、アプリケーションの取り除きまたは登録取消を可能にする。たとえば、アクティブアプリケーションステーション16に登録されているアプリケーションが、故障以外の理由で、登録抹消になる場合であって、当該アプリケーションがなんらかの目的で登録取消になっており、もはや利用することができないことをハートビートマネージャ100が認識している場合、スタンドバイ
アプリケーションステーション18は切換えを自動的に発動しない。
【００３６】
また、冗長マネージャＡＰＩ104は、強制切換え機能を備えており、冗長アプリケーシ
ョン／クライアント108内のアプリケーションまたはクライアントによりこの強制切換え
機能が実行されると、アクティブアプリケーションステーション16からスタンドバイアプリケーションステーション18に切換えられる。さらに、冗長マネージャＡＰＩ104は、冗
長マネージャ62の現時点での役割、すなわち冗長マネージャ62が属するアプリケーションステーションの冗長役割を返答する機能を備えており、図３の一例では、そのアプリケーションステーションとはスタンドバイアプリケーションステーション18のことである。したがって、上述の冗長役割返答機能を利用して、冗長アプリケーション／クライアント108のうちの一または複数により問い合わせられると、冗長マネージャＡＰＩ104は、冗長マネージャ62およびスタンドバイアプリケーションステーション18がスタンドバイとしての役割を実行していることを示す情報を返す。同様の問い合わせがアクティブアプリケーションステーション16内の冗長マネージャＡＰＩになされると、その冗長マネージャＡＰＩはアクティブとしての役割を示す情報を返す。いうまでもなく、冗長マネージャＡＰＩ104はその他の所望の機能を備えていてもよい。
【００３７】
動作状態では、冗長マネージャ50、62は、切換えが実行されるまえに、冗長コンテキストを確立する。まず、アプリケーションステーション16、18が同一に（または少なくとも略同一に）構築される。アクティブアプリケーションステーション16の構成を、たとえばスタンドバイアプリケーションステーション18にＬＡＮ20を利用してダウンロードすることが好ましいが必ずそれに限定するわけではない。スタンドバイアプリケーションステーション18内にフラッグまたは他の標識を配置または設定し、そのステーションがスタンバイとしての役割を担っていることを示しうる。アクティブアプリケーションステーション16の構成がスタンドバイアプリケーションステーション18にダウンロードされたあと、スタンドバイアプリケーションステーション18は、冗長リンク46を利用してアクティブアプリケーションステーション16との通信を開始する。
【００３８】
スタンドバイアプリケーションステーション18は、冗長コンテキストを確立するために要求されるサービスの質についての情報をアクティブアプリケーションステーション16に
提供すべく、冗長リンク46を利用してアクティブアプリケーションステーション16と通信する。たとえば、上述のサービスの質は、最大許容データ潜伏パラメータ、最大許容制御時間損失、またはプロセス制御システム10に関連する性能、保全、コストなどに影響を与えうるその他のパラメータもしくは数値を有しうる。要求されるサービスの質をアクティブアプリケーションステーション16が提供できない場合、冗長コンテキストは確立されない。
【００３９】
また、スタンドバイアプリケーションステーション18は、アクティブアプリケーションステーション16がすでに他のアプリケーションステーションとの冗長コンテキストに加入しているか否かを判定するために、アクティブアプリケーションステーション16に問い合わせをなしうる。アクティブアプリケーションステーション16がすでにアプリケーションステーションの冗長対のメンバーとして従事している場合、冗長コンテキストは確立されない。
【００４０】
アクティブアプリケーションステーション16が、すでに他のアプリケーションステーションとの冗長パートナーとして加入して（すなわち、すでに他の冗長コンテキストの一部になって）おらず、確立されようとしている冗長コンテキストをサポートするために要求されるサービスの質を提供できる場合、アクティブアプリケーションステーション16は、該アクティブアプリケーションステーション16の動作を実行するために必要なリソースに関する情報を送信する。たとえば、スタンドバイアプリケーションステーション18とアクティブアプリケーションステーション16との間で交換されるリソース情報には、アクティブアプリケーションステーション16の責務を実行するために必要なメモリ要件および処理ユニットクラス、アクティブアプリケーションステーション16によりサポートされるプロキシ情報（すなわち、クライアントおよびサーバ）、および通信サブシステム情報（たとえば、ソケット情報、インターネットプロトコルルーチング情報など）が含まれる。
【００４１】
リソース情報を受信したあと、スタンドバイアプリケーションステーション18は必要なリソースにアクセス可能か否かを判定し、必要なリソースにアクセス可能でない場合、適切なエラー指標をアクティブアプリケーションステーション16に送信し、冗長コンテキストは確立されない。これに対して、スタンドバイアプリケーションステーション18が必要なリソースにアクセス可能な場合、スタンドバイアプリケーションステーション18は、アクティブアプリケーションステーション16の責務を実行するために必要な情報をリソースから取得するために、アクティブアプリケーションステーション16、通信サブシステム68、および、その他のサブシステムまたはデバイスと通信を確立する。いったんスタンドバイアプリケーションステーション18が、必要なリソース情報を取得するために必要な通信を確立すると、冗長コンテキストが確立されたことを示すためのフラッグまたはその他の標識が設定されうる。
【００４２】
アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18との間に冗長コンテキストがいったん確立されると、そのコンテキストは、アクティブアプリケーションステーション16に関連するコンフィギュレーション変更、動作パラメータ変更、通信サブシステム変更、オペレータ変更、シーケンシャル情報、バッチフェーズ情報、アラーム通知、イベント情報、リソースロッキング情報（たとえば、ヘッダーまたはリアクタの如き共有装置の取得）などをスタンドバイアプリケーションステーション18に通信することにより維持管理される。たとえば、システムユーザまたはシステムオペレータがアクティブアプリケーションステーション16のコンフィギュレーションを変更した場合、これらの変更は、冗長リンクサブシステム60、72および冗長リンク46を利用して、冗長マネージャ50により冗長マネージャ62に通信される。次いで、冗長マネージャ62は、アクティブアプリケーションステーション16のコンフィギュレーションに一致させるために、スタンドバイアプリケーションステーション18のコンフィギュレーションを更新
する。同様に、アクティブアプリケーションステーション16の制御責務を引き継ぐ、スタンドバイアプリケーションステーション18の能力に影響を与える方向に、仮想制御ブロック54に関連するたとえばタイミングデータ、制御ループパラメータ値などの如きパラメータ値が変更された場合、これらのパラメータ値は、スタンドバイアプリケーションステーション18に通信され、そこで更新される。以上にように、アクティブアプリケーションステーション16の動作変更がスタンドバイアプリケーションステーションに伝達され、その結果、アクティブアプリケーションステーション16の動作にスタンドバイアプリケーションステーション18が実質上同期化される。
【００４３】
アクティブアプリケーションステーション16に対してコンフィギュレーションの変更がなされ、その変更がスタンドバイアプリケーションステーション18に伝達された場合、冗長マネージャ50、62は自動切換え（すなわち、アクティブアプリケーションステーション16の故障に起因する切換え）を無効にする。自動切換えが無効にされても、変更されたコンフィギュレーション情報は、冗長リンクサブシステム60、72および冗長リンク46を利用して、スタンドバイアプリケーションステーション18に伝送される。コンフィギュレーション情報が、首尾よく、スタンドバイアプリケーションステーション18に転送され、そこで更新されると、自動切換えが有効にされる。これとは反対に、コンフィギュレーション情報の転送および／更新が失敗に終わると、冗長コンテキストが解消され、または、終了される。その場合、アプリケーションステーション16、18は冗長対としてもはや機能しなくなる。
【００４４】
以上のように、切換えは、システムユーザもしくはシステムオペレータの指示に従い手動的に、またはアクティブアプリケーションステーション16の責務のスタンドバイアプリケーションステーション18による引き継ぎを必要とするような状態もしくは他のイベントの検出に応答して自動的に開始されうる。手動的切換えは、アクティブアプリケーションステーション16の冗長マネージャ50内の冗長マネージャＡＰＩに適切な機能コールを送信することにより、認可されたユーザにより発動されうる。この冗長マネージャＡＰＩは冗長マネージャＡＰＩ104と同等または同一でありうる。
【００４５】
自動切換えは、アクティブアプリケーションステーション16が、冗長リンク46を介して、「ハートビート」（すなわち、アクティブアプリケーションステーション16の動作の調子が良好であることを示す、監視下のリソースに関するステータス情報）をもはや伝送していないというハートビートマネージャ100による判定に応答して開始される。したがっ
て、冗長コンテキストパートナー（たとえば、スタンドバイアプリケーションステーション18がアクティブアプリケーションステーション16の冗長コンテキストパートナーである）が消滅した場合、冗長リンクサブシステム60、72の各々は、その対応する冗長マネージャ50、62に通知するように構成されている。さらに、通信サブシステム56、68の各々は、その対応する冗長マネージャ50、62に、アプリケーションステーション16、18のうちのその対応する一つのステーションとのＬＡＮ通信が消滅した場合に通知するように構成されている。たとえば、アクティブアプリケーションステーション16がＬＡＮ20上で通信不良に陥った場合、通信サブシステム56は、その不良のことを冗長マネージャ50に通知する。次いで、冗長マネージャ50は、その冗長リンクサブシステム60を利用して、スタンドバイアプリケーションステーション18内の冗長マネージャ62にその通信不良のことを（冗長リンク46を介して）通知する。
【００４６】
以上のように、切換えはユーザの指示に応答して発動されうる。具体的にいえば、システムユーザまたはシステムオペレータは、冗長マネージャＡＰＩ104を介して冗長アプリ
ケーション／クライアント108（図３）のうちの一または複数と相互動作して、切換えを
発動する機能を呼び出しうる。切換えの要求はアクティブアプリケーションステーション16内の冗長マネージャ50に送信されることが好ましいが必ずしもそれに限定されるわけで
はない。冗長マネージャ50が切換え要求を受信すると、冗長マネージャ50は仮想制御ブロック54に切換えるように通知し、アクティブアプリケーションステーション16をサポートしているプロキシは動作不能にされる。さらに、アクティブアプリケーションステーション16をサポートしているリソースは、切換えが開始されたことを通知される。たとえば、通信サブシステム56は、切換えが要求されたことを通知される。切換えの通知に応答して、通信サブシステム56は、スタンドバイアプリケーションステーション18のアクティブ化（制御の引き継ぎ）に対してアクティブアプリケーションステーション16が干渉を起こさないことを確実にする。さらに、通信サブシステム56は、すべてのアプリケーションステーションメッセージ（たとえば、動作変更要求、チューニング要求など）がアクティブアプリケーションステーション16に送信されることを確実にする。
【００４７】
リソースに対して切換えを通知したあと、冗長マネージャ50は、スタンドバイアプリケーションステーション18内の冗長マネージャ62に切換え命令または切換え要求を送信するために、冗長リンクサブシステム60、72および冗長リンク46を利用して通信する。スタンドバイアプリケーションステーション18は、仮想制御ブロック66に切換えを行うように通知することにより、また仮想制御ブロック66をサポートするために必要な全てのプロキシ（アクティブアプリケーションステーション16内の前回動作不能にされたプロキシ）を動作可能にすることにより、切換え命令または切換え要求に応答する。次いで、仮想制御ブロック66をサポートしているリソースはその切換えについて通知される。たとえば、通信サブシステム68は、切換えが進行状態にあることを通知され、それに応答して、インターネットプロトコルルーチング情報の更新、ＴＣＰ接続再確立などを実行させうる。もちろん、それに代えて、アクティブアプリケーションステーション16の故障に応答して切換えが自動的に開始されてもよい。
【００４８】
冗長アプリケーションステーション16、18は、アクティブアプリケーション１６のオンラインコンフィギュレーション変更または「ホット」コンフィギュレーション変更を実行すべく利用されうる。たとえば、アクティブアプリケーションステーション16とスタンドバイアプリケーションステーション18との間に冗長コンテキストを確立したあと、アクティブアプリケーションステーション16の動作をスタンドバイアプリケーションステーション18に切換える切換え動作を実行しうる。そのあと、切換え動作または切換え機能は一時的に動作不能状態にされ、アクティブアプリケーションステーション16のコンフィギュレーションが任意の所望の方法で変更されうる。このコンフィギュレーション変更には、冗長アプリケーション52のうちの一もしくは複数のアップグレードもしくは変更、仮想制御ブロック54の変更、またはその他の所望の変更が含まれる。そのあと、切換え動作または切換え機能は再び動作可能状態にされ、スタンドバイアプリケーションステーション18の動作をアクティブアプリケーションステーション16に切換える切換え動作が実行される。
【００４９】
例示のアプリケーションステーション16、18に示されている機能ブロックは、ソフトウェア、ファームウェア、およびハードウェアの任意の所望の組み合わせを用いて実現されうる、たとえば、本明細書で記載されている方法および装置の実行および実現のために、一または複数のマイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）などが、マシンアクセス可能記録媒体またはプロセッサアクセス可能記録媒体に格納されているインストラクションまたはデータにアクセスしうる。かかる記録媒体には、たとえば読み取り書き込みメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能読み取り専用メモリ（ＥＥＰＲＯＭ）などの如き半導体記録媒体、光学式記録媒体、磁気式記録媒体などが含まれる。さらに、機能ブロックを実現すべく用いられるソフトウェアは、これに加えてまたはこれに代えて、インターネット、電話回線、衛星通信などを利用して、上述のプロセッサまたはそのプロセッサを実行する他の一または複数のデバイスに配送されうるし、またそれらによりアクセスされうる。
【００５０】
以上のように、本発明の開示は特定の例を提供しているが、それらは、例示のみを意図したものであり、本発明を制限することを意図したものではない。したがって、本発明の精神および範疇から逸脱することなく開示された実施例に変更、追加、または削除を加えうることは当業者にとり明らかである。
【図面の簡単な説明】
【００５１】
【図１】本明細書において記載される冗長アプリケーションステーション用の装置および方法を利用するプロセス制御システムの一例を示すブロック線図である。
【図２】図１に示された前記冗長アプリケーションステーションが実現されうる態様の一例を示すさらに詳細なブロック線図である。
【図３】図２に示された冗長マネージャが実現されうる態様の一例を示すさらに詳細なブロック線図である。
【符号の説明】
【００５２】
10  プロセス制御システム
14  オペレータステーション
16  アクティブアプリケーションステーション
18  スタンドバイアプリケーションステーション
20  ＬＡＮ
40  遠隔オペレータステーション
42  通信リンク
44  ＬＡＮ
46  冗長リンク
【図１】
2010044781.tif 000003
【図２】
2010044781.tif 000004
【図３】
2010044781.tif 000005
【手続補正書】
【提出日】平成21年11月13日(2009.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションステーションで利用される冗長マネージャであって、
ハートビートマネージャと、
アプリケーションプログラミングインターフェイスと、
前記ハートビートマネージャおよび前記アプリケーションプログラミングインターフェイスに通信可能に接続されているリソース監視装置と
を備えている冗長マネージャ。
【請求項２】
前記ハートビートマネージャが、アプリケーションステーションから受信される情報を監視し、該情報が該アプリケーションステーションの動作ステータスに関連している請求項１記載の冗長マネージャ。
【請求項３】
前記アプリケーションプログラミングインターフェイスは、アプリケーション登録機能、アプリケーション登録抹消機能、および指示による切換え機能のうちの一つを有している請求項１記載の冗長マネージャ。
【請求項４】
前記アプリケーションプログラミングインターフェイスは、複数のクライアントを前記冗長マネージャに接続するように構成されている請求項１記載の冗長マネージャ。
【請求項５】
前記リソース監視装置が複数のアプリケーションステーションリソースに通信可能に接続されている請求項１記載の冗長マネージャ。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
一つの態様では、アプリケーションステーションにおいて利用される冗長マネージャは、ハートビートマネージャと、アプリケーションプログラムインターフェイスと、ハートビートマネージャおよびアプリケーションプログラムインターフェイスと通信可能に結合されたリソース監視装置とを備えている。かかるハートビートマネージャは、アプリケーションステーションから受信した動作ステータス情報を監視しうる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】