(57)【要約】【課題】通信機能を分割することなく接続先が必要な機能のみを利用できる通信効率の優れた分散アプリケーションシステムを提供すること。【解決手段】ネットワークを介して相互に接続された機器に分散配置されたアプリケーションを連携動作させるように構築された分散アプリケーションシステムにおいて、  接続元は必要な通信機能のみを用いて接続先と情報交換を行うようにした。【選択図】                    図１
2009015488.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された機器に分散配置されたアプリケーションを連携動作させるように構築された分散アプリケーションシステムにおいて、
接続元は必要な通信機能のみを用いて接続先と情報交換を行うことを特徴とする分散アプリケーションシステム。
【請求項２】
前記接続元の通信処理部は接続先のアプリケーションごとに提供するプロトコルリストを備え、このプロトコルリストに記載されたプロトコル機能のみを用いて接続先と情報交換を行うことを特徴とする請求項１記載の分散アプリケーションシステム。
【請求項３】
前記ネットワークを介して相互に接続された機器は、プロセス制御システムを構築するフィールド機器であることを特徴とする請求項１または請求項２記載の分散アプリケーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散アプリケーションシステムに関し、詳しくは、ネットワークを介して相互に接続された機器に分散配置されたアプリケーションを連携動作させるように構築されたシステムの改良に関するものである。
【背景技術】
【０００２】
たとえばプロセス制御システムは、センサ、アクチュエータ、コントローラ、コンピュータなどのフィールド機器がネットワークを介して相互に接続され、制御点や制御用計測点などの主要な箇所にセンサやアクチュエータが配置され、コントローラやコンピュータにより目的とする制御が正確に行われるように構築されている。
【０００３】
このようなプロセス制御の分野においても、リソースを効率的に利用するために、ソフトウェアを機能に応じて分割（部品化）することが行われている。これにより、ソフトウェアの再利用性が高まり、一部を修正しても全体を再構築せずに済むので開発効率が向上する。また、分割したソフトウェアを複数のフィールド機器で役割分担して実行することにより、効率的なリソースの活用が可能となる（特許文献１参照）。
【０００４】
また、分散アプリケーションシステムにおいて、それぞれのアプリケーションがインタフェース定義を公開し、この公開情報に基づいてアプリケーション同士が接続することにより、アプリケーションの初期構築時だけでなく運用開始後であっても動作中のアプリケーションを止めずにその機能を利用するアプリケーションを新たに追加でき、データのやり取りが発生していない間もアプリケーション間の利用関係を把握できるようにすることも提案されている（特許文献２参照）。
【０００５】
【特許文献１】特開２０００−２７８２９７号公報
【特許文献２】特開２００６−３５０５８０号公報
【０００６】
ところで、これらネットワークを介して相互に接続された機器に分散配置されたアプリケーション間を接続する通信機能は、図６に示すようにいくつかのプロトコル機能を合わせて実装されている。
【０００７】
図６において、アプリケーションＡとアプリケーションＢはネットワークを介して相互に接続された図示しない機器に分散配置されたものであり、「データモニタ通信」と「イベント通知通信」の２つのプロトコル機能よりなる通信機能Ａを介して接続されている。アプリケーションＡは、自分が有する機能を、通信機能Ａを介してアプリケーションＢに提供する。アプリケーションＢは、アプリケーションＡが提供する機能を、通信機能Ａを介して接続することにより利用する。
【０００８】
このようにアプリケーションＡとアプリケーションＢが通信機能Ａを介して接続されている状態において、図７に示すように図示しない他の機器に分散配置された新たなアプリケーションＣがアプリケーションＡに接続されることがある。ここで、アプリケーションＣの要求仕様がイベント受信機能とすると、アプリケーションＡが提供する通信機能Ａの２つのプロトコル機能のうち、「イベント通知通信」のみが必要になる。
【０００９】
図７において、アプリケーションＣは通信機能Ａの「データモニタ通信」の機能が不要であるにも拘らず何らかの処理が必要になり、アプリケーションＣの開発工数の増加要因になる。
【００１０】
また、アプリケーションＡからアプリケーションＣを見た場合、アプリケーションＡはアプリケーションＣが通信機能Ａの「データモニタ通信」を不要としていることは認識できず、通信機能Ａのデータモニタ通信に関わる情報が送信されることになり、通信トラフィックが増加することになる。
【００１１】
アプリケーションＣに通信機能Ａの「データモニタ通信」が不要な場合、アプリケーションＣには通信機能Ａのデータモニタ通信に関連する機能を不実装にしたり接続しないようにできるが、アプリケーションＡはアプリケーションＣが通信機能Ａの「データモニタ通信」を不要としているのか、なんらかの問題でデータモニタ通信が行えないのかを区別できない。
【００１２】
この問題に対しては、アプリケーションＣがアプリケーションＡへ必要なプロトコル機能を通知する方法が考えられるが、たとえばネットワーク障害など何らかの問題で通知が行えない場合、アプリケーションＡは、アプリケーションＣが必要とするプロトコル機能を知ることができない。
【００１３】
さらに他の方法として、図８に示すように、通信機能の粒度を細かくし、プロトコル機能ごとに提供することも考えられる。しかし、この場合、アプリケーション間の接続がプロトコル機能ごとに発生し、それに伴って管理操作や接続設定操作が増えて管理コストが増加することになる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明はこれらの問題を解決するものであり、その目的は、ネットワークを介して相互に接続された機器に分散配置され連携動作するアプリケーションにおいて、通信機能を分割することなく接続先が必要な機能のみを利用できるプロトコル処理部のソフトウェア部品の再利用性を向上させた分散アプリケーションシステムを提供することにある。
【００１５】
他の目的は、接続先処理部を使用するアプリケーションの開発効率を向上させた分散アプリケーションシステムを提供することにある。
【００１６】
さらに他の目的は、アプリケーション同士の接続における設定操作を改善できる分散アプリケーションシステムを提供することにある。
【００１７】
このような課題を達成するために、本発明のうち請求項１記載の発明は、ネットワークを介して相互に接続された機器に分散配置されたアプリケーションを連携動作させるように構築された分散アプリケーションシステムにおいて、
接続元は必要な通信機能のみを用いて接続先と情報交換を行うことを特徴とする。
【００１８】
請求項２記載の発明は、請求項１記載の分散アプリケーションシステムにおいて、前記接続元の通信処理部は接続先のアプリケーションごとに提供するプロトコルリストを備え、このプロトコルリストに記載されたプロトコル機能のみを用いて接続先と情報交換を行うことを特徴とする。
【００１９】
請求項３記載の発明は、請求項１または請求項２記載の分散アプリケーションシステムにおいて、前記ネットワークを介して相互に接続された機器は、プロセス制御システムを構築するフィールド機器であることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、通信機能を分割することなく接続先が必要な機能のみを利用できるプロトコル処理部のソフトウェア部品の再利用性が高く、接続先処理部を使用するアプリケーションの開発効率の向上を図ることができ、アプリケーション同士の接続における設定操作を改善できる分散アプリケーションシステムが実現できる。
【発明を実施するための最良の形態】
【００２１】
以下本発明について、図面を用いて詳細に説明する。図１は本発明に係る分散アプリケーションシステムを構成する機器の主要部分の一実施例を示す構成ブロック図であり、アプリケーションを連携動作させるための連携制御部のソフトウェア構成を示している。なお、機器はセンサ、アクチュエータ、コントローラ、通信測定器、計測器、記録装置、サーバなどのフィールド機器とし、図示しない他のフィールド機器とともに図示しないネットワークを介して相互に接続されるものとする。
【００２２】
図１において、連携制御部は、通信処理部１０と第１のプロトコル処理部２０と第２のプロトコル処理部３０とで構成されている。
【００２３】
通信処理部１０は、通信機能Ａに基づき、接続元のアプリケーションたとえばアプリケーションＡが提供する機能を処理する。通信機能Ａが使用するデータモニタ通信とイベント通知通信の２つのプロトコル機能は、通信機能定義情報格納部１１内に通信機能Ａプロトコルリストとして定義されている。
【００２４】
接続元処理部１２と接続先処理部１３は、それぞれ通信機能Ａの２つのプロトコル機能の接続元処理および接続先処理を行うもので、通信処理部１０内に実装されているが、接続元および接続先のアプリケーション内でそれぞれ動作する。
【００２５】
接続元処理部１２には接続先ごとのアプリケーション情報が格納された接続先情報格納部１４が合成集約され、接続先情報格納部１４には接続先ごとにプロトコル機能を利用するか否かに関する情報を有する接続先向け提供プロトコルリスト１５が合成集約されている。図１の接続先向け提供プロトコルリスト１５には、データモニタ通信とイベント通知通信が記載されている。
【００２６】
接続先処理部１３には、接続元ごとのアプリケーション情報が格納された接続元情報格納部１６が合成集約されている。
【００２７】
第１のプロトコル処理部２０はイベント通知通信処理を行うものであり、イベント通知通信接続元処理部２１とイベント通知通信接続先処理部２２が設けられている。イベント通知通信接続元処理部２１は接続元処理部１２に集約され、イベント通知通信接続先処理部２２は接続先処理部１３に集約されている。
【００２８】
第２のプロトコル処理部３０はデータモニタ通知通信処理を行うものであり、データモニタ通信接続元処理部３１とデータモニタ通信接続先処理部３２が設けられている。データモニタ通信接続元処理部３１は接続元処理部１２に集約され、データモニタ通信接続先処理部３２は接続先処理部１３に集約されている。
【００２９】
図２は通信機能Ａに基づくアプリケーションの接続例を示す説明図である。図２において、アプリケーションＡは接続元アプリケーションを表し、アプリケーションＢ、Ｃは接続先アプリケーションを表す。ここで、アプリケーションＢはアプリケーションＡの通信機能Ａの全ての機能を使用する。これに対し、アプリケーションＣは、アプリケーションＡの通信機能Ａのイベント通知機能のみを使用する。なお、これらアプリケーションＡ〜Ｃは、図示しないネットワークを介して相互に接続された図示しない機器に分散配置されているものとする。
【００３０】
アプリケーションＢ向け提供プロトコルリストおよびアプリケーションＣ向け提供プロトコルリストは、接続先向け提供プロトコルリスト１５に記載されているものであり、接続元処理部１３により接続先ごとのプロトコル機能利用有無の判断に使用される。
【００３１】
アプリケーションＢ利用プロトコルリストおよびアプリケーションＣ利用プロトコルリストは、アプリケーションＢおよびアプリケーションＣそれぞれが必要とする通信機能Ａのプロトコル機能を定義した情報である。これらは、アプリケーションＢおよびアプリケーションＣそれぞれのアプリケーション仕様定義情報として、通信機能Ａとは別途定義される。
【００３２】
図３は図２の接続構成における通信処理動作手順の説明図である。
アプリケーションＡがデータモニタ情報を接続先アプリケーションに送信するのにあたり、接続元処理部１２は、接続先向け提供プロトコルリスト１５を参照して、それぞれの接続先アプリケーションに応じた処理を実行する。
【００３３】
まず、アプリケーションＢに送信する場合、アプリケーションＢ向け提供プロトコルリストのデータモニタ通信がＯＮであることから、データモニタ通信接続元処理を用いてモニタデータの送信を行う。
【００３４】
次に、アプリケーションＣに送信する場合、アプリケーションＣ向け提供プロトコルリストのデータモニタ通信がＯＦＦであるため、データモニタ通信接続元処理は用いず、モニタデータの送信を省略する。
【００３５】
アプリケーションＡがイベント情報を接続先アプリケーションに送信する場合も、接続元処理部１２は、接続先向け提供プロトコルリスト１５を参照して、それぞれの接続先アプリケーションに応じた処理を実行する。
【００３６】
アプリケーションＢに送信する場合、イベント通信がＯＮであるため、イベント通知通信接続元処理を用いてイベント情報の送信を行う。
【００３７】
アプリケーションＣに送信する場合も、イベント通信がＯＮであるため、イベント通知通信接続元処理を用いてイベント情報の送信を行う。
【００３８】
接続元処理部１２が参照する接続先向け提供プロトコルリスト１５の設定操作について説明する。
【００３９】
アプリケーションＡ、アプリケーションＢ、アプリケーションＣなどを用いたアプリケーションシステムの構築操作には、たとえばアプリケーション構築用ツールを用いる。アプリケーション構築用ツールは、アプリケーションの仕様が定義されているアプリケーション仕様定義情報を、アプリケーションの設定時およびアプリケーション間の接続時に参照し、アプリケーションシステム構成情報を生成する。
【００４０】
アプリケーション仕様定義情報は、アプリケーションＡ、アプリケーションＢ、アプリケーションＣそれぞれに存在する。接続先アプリケーション（アプリケーションＢ、アプリケーションＣ）のアプリケーション仕様定義情報には、図２に示したアプリケーション利用プロトコルリストが定義されているものとする。アプリケーション利用プロトコルリストは、その接続先アプリケーションが接続元のアプリケーションが提供するプロトコル機能のうちどの機能を利用するかが定義されている。ここでは、アプリケーションＡ、アプリケーションＢ、およびアプリケーションＣを接続する接続設定操作手順内で行われるアプリケーションＢおよびアプリケーションＣ向け提供プロトコルリストの生成について説明する。
【００４１】
アプリケーションＡとアプリケーションＢの接続設定操作を行う。それぞれのアプリケーション仕様定義情報内で、アプリケーションＡは通信機能Ａ接続元処理機能を持ち、アプリケーションＢは通信機能Ａ接続先処理機能を持っていると定義されている。アプリケーション構築用ツールは、アプリケーションＢの通信機能Ａ接続先処理情報内アプリケーションＢ利用プロトコルリストに基づき、アプリケーションＢ向け提供プロトコルリストを生成する。
【００４２】
アプリケーションＢ利用プロトコルリストには、データモニタ通信とイベント通信が設定されている。よって、アプリケーション構築用ツールは、アプリケーションＢ向け提供プロトコルリストにおけるデータモニタ通信をＯＮ、イベント通信もＯＮとする。
【００４３】
また、同様に、アプリケーションＡとアプリケーションＣの接続設定にあたり、アプリケーションＣの通信機能Ａ接続先処理情報内のアプリケーションＣ利用プロトコルリストに基づき、アプリケーションＣ向け提供プロトコルリストを生成する。
【００４４】
アプリケーションＣ利用プロトコルリストには、イベント通信のみが設定されている。よって、アプリケーション構築用ツールは、アプリケーションＣ向け提供プロトコルリストにおけるデータモニタ通信をＯＦＦ、イベント通信をＯＮとする。
【００４５】
上記設定操作終了後、アプリケーション構築用ツールは、アプリケーションＢ向け提供プロトコルリスト、アプリケーションＣ向け提供プロトコルリストを、アプリケーションＡの接続元処理部１２の設定情報として設定する。
【００４６】
このように構成することにより、接続元のアプリケーションが提供する機能のうちの一部機能のみを必要とするアプリケーションを接続された場合、通信機能のうち限定したプロトコル機能のみを使用して接続先のアプリケーションが必要とする機能だけを提供することができる。
【００４７】
通信機能の機能を分割することなく機能を限定できるため、管理操作や接続設定操作の対象が増えることはなく、管理コストの増加が抑制できる。
【００４８】
接続先アプリケーションは必要な機能のみを開発すればよく、開発工数を削減できる。
【００４９】
接続元アプリケーションから接続先アプリケーションに対して、使用しない機能に関連した不要な通信が発生することはなく、通信トラフィックを削減できる。
【００５０】
また、不要な通信は行わないことから、接続先アプリケーションに本来不要な通信処理機能を実装しなくてもよく、不要な通信処理に伴って発生しうる不具合を完全に排除できる。
【００５１】
これらの設定は、ユーザがプロトコル機能の選択操作など行うことなく、アプリケーションの設定や接続操作の中でたとえばアプリケーション構築用ツールを用いて比較的簡単に行うことができる。
【００５２】
さらに、接続先アプリケーションは、不要な機能のモジュールをメモリ上へロードさせる必要がなく、リソースを節約できる。
【００５３】
図４は本発明の他の実施例を示す構成ブロック図であり、図１と共通する部分には同一符号を付けている。図４において、連携制御部は、通信処理部１０と第１のプロトコル処理部２０と第３のプロトコル処理部４０とで構成されている。
【００５４】
通信処理部１０は、通信機能Ｂに基づき、接続元のアプリケーションが提供する機能を処理する。通信機能Ｂが使用するログ情報問合せ通信とイベント通知通信の２つのプロトコル機能は、通信機能定義情報格納部１１内に通信機能Ｂプロトコルリストとして定義されている。
【００５５】
接続元処理部１２と接続先処理部１３は、それぞれ通信機能Ｂの２つのプロトコル機能の接続元処理および接続先処理を行うもので、通信処理部１０内に実装されているが、接続元および接続先のアプリケーション内でそれぞれ動作する。
【００５６】
接続元処理部１２には接続先ごとのアプリケーション情報が格納された接続先情報格納部１４が合成集約され、接続先情報格納部１４には接続先ごとにプロトコル機能を利用するか否かに関する情報を有する接続先向け提供プロトコルリスト１５が合成集約されている。図４の接続先向け提供プロトコルリスト１５には、ログ情報問合せ通信とイベント通知通信が記載されている。
【００５７】
接続先処理部１３には、接続元ごとのアプリケーション情報が格納された接続元情報格納部１６が合成集約されている。
【００５８】
第１のプロトコル処理部２０はイベント通知通信処理を行うものであり、イベント通知通信接続元処理部２１とイベント通知通信接続先処理部２２が設けられている。イベント通知通信接続元処理部２１は接続元処理部１２に集約され、イベント通知通信接続先処理部２２は接続先処理部１３に集約されている。
【００５９】
第３のプロトコル処理部４０はログ情報問合せ通信処理を行うものであり、ログ情報問合せ通信接続元処理部４１とログ情報問合せ通信接続先処理部４２が設けられている。ログ情報問合せ通信接続元処理部４１は接続元処理部１２に集約され、ログ情報問合せ通信接続先処理部４２は接続先処理部１３に集約されている。
【００６０】
ここで、図１に示す通信機能Ａに基づく連携制御部の構成のうち、通信機能Ｂにも共通するイベント通知通信処理を行う第１のプロトコル処理部２０はそのまま再利用できるので、たとえばログ情報問い合せ通信に対応するための改めての実装が不要になり、連携制御部を新規に作成する場合に比べて作成工数を削減できる。
【００６１】
図５は図１に示す通信機能Ａに基づく連携制御部と図４に示す通信機能Ｂに基づく連携制御部を用いた複数アプリケーションの接続例説明図である。
【００６２】
図５において、アプリケーションＡとアプリケーションＢの間では通信機能Ａに基づくデータモニタ通信とイベント通知通信よりなる連携制御が行われ、アプリケーションＡとアプリケーションＣの間では通信機能Ａに基づくイベント通知通信のみによる連携制御が行われる。そして、アプリケーションＣとアプリケーションＤの間では通信機能Ｂに基づくイベント通知通信のみによる連携制御が行われ、アプリケーションＤとアプリケーションＥの間では通信機能Ｂに基づくログ情報問合せ通信とイベント通知通信よりなる連携制御が行われる。なお、これらアプリケーションＡ〜Ｅは、図示しないネットワークを介して相互に接続された図示しない機器に分散配置されているものとする。
【００６３】
図５の構成によれば、これらアプリケーションＡ〜Ｅは通信機能のうち限定されたプロトコル機能のみを使用して不要な通信処理を伴うことなく互いに連携して動作することになり、通信効率の優れた分散アプリケーションシステムが実現できる。
【００６４】
なお、上記実施例では、センサ、アクチュエータ、コントローラ、コンピュータなどのフィールド機器がネットワークを介して相互に接続され、制御点や制御用計測点などの主要な箇所にセンサやアクチュエータが配置され、コントローラやコンピュータにより目的とする制御が正確に行われるように構築されているプロセス制御システムについて説明したが、これに限るものではなく、各種の分散アプリケーションシステムにも適用できるものである。
【図面の簡単な説明】
【００６５】
【図１】本発明に係る分散アプリケーションシステムを構成する機器の主要部分の一実施例を示す構成ブロック図である。
【図２】通信機能Ａに基づくアプリケーションの接続例を示す説明図である。
【図３】図２の接続構成における通信処理動作手順の説明図である。
【図４】本発明の他の実施例を示す構成ブロック図である。
【図５】図１に示す通信機能Ａに基づく連携制御部と図４に示す通信機能Ｂに基づく連携制御部を用いた複数アプリケーションの接続例説明図である。
【図６】従来のアプリケーション間を接続する通信機能の一例を示す説明図である。
【図７】従来のアプリケーション間を接続する通信機能の他の例を示す説明図である。
【図８】従来のアプリケーション間を接続する通信機能の他の例を示す説明図である。
【符号の説明】
【００６６】
１０  通信処理部
１１  通信機能定義情報格納部
１２  接続元処理部
１３  接続先処理部
１４  接続先情報格納部
１５  接続先向け提供プロトコルリスト
１６  接続元情報格納部
２０  第１のプロトコル処理部
２１  イベント通知通信接続元処理部
２２  イベント通知通信接続先処理部
３０  第２のプロトコル処理部
３１  データモニタ通信接続元処理部
３２  データモニタ通信接続先処理部
４０  第３のプロトコル処理部
４１  ログ情報問合せ通信接続元処理部
４２  ログ情報問合せ通信接続先処理部
【図１】
2009015488.tif 000003
【図２】
2009015488.tif 000004
【図３】
2009015488.tif 000005
【図４】
2009015488.tif 000006
【図５】
2009015488.tif 000007
【図６】
2009015488.tif 000008
【図７】
2009015488.tif 000009
【図８】
2009015488.tif 000010