(57)【要約】【課題】独立した分散システムを構築し、円滑なアプリケーション処理を実現する。  【解決手段】ＡＰ要素によりデータ通信の要求がなされると（ステップＳ１１；Ｙ）、管理テーブルの仮想通信アドレスの設定情報に基づき、要求されたデータ通信は同一分散システム内でのデータ通信か否かを判断し（ステップＳ１２）、同一分散システム内であると判断すると（ステップＳ１２；Ｙ）、当該データ通信を許可し、ＯＳに対して通信先の仮想通信アドレスを通知して当該通信先とのデータ通信を要求する（ステップＳ１３）。【選択図】図７
2009003625.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の他のフィールド機器とデータ通信を行い、複数の分散システムを構成するフィールド機器において、
各分散システムに応じた分散アプリケーション処理を行うアプリケーション実行手段と、
前記複数の分散システムを構成する各フィールド機器に対して、分散システム毎に割り当てられた仮想通信アドレスの設定情報を記憶する記憶手段と、
前記アプリケーション実行手段によりデータ通信の要求がなされると、前記記憶された仮想通信アドレスの設定情報に基づき、要求されたデータ通信は同一分散システム内でのデータ通信か否かを判断し、同一分散システム内であると判断すると、当該データ通信を許可し、管理手段に対して通信先の仮想通信アドレスを通知して当該通信先とのデータ通信を要求する制御手段と、
前記通知された仮想通信アドレスを用いて、通信先とのデータ通信に係る通信処理を行う管理手段と、
を備えるフィールド機器。
【請求項２】
前記記憶手段は、分散システム毎に定められた通信仕様に係る設定情報をさらに記憶し、
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信であると判断した場合、前記記憶された通信仕様に係る設定情報に基づき、当該分散システムについて定められた通信仕様による通信処理を行うよう前記管理手段を制御する請求項１に記載のフィールド機器。
【請求項３】
前記記憶手段は、分散システム毎に定められたシステム仕様に係る設定情報を記憶し、
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信であると判断した場合、前記記憶されたシステム仕様に係る設定情報に基づき、当該分散システムについて定められたシステム仕様により動作するよう前記アプリケーション実行手段及び／又は前記管理手段を制御する請求項１又は２に記載のフィールド機器。
【請求項４】
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信ではないと判断した場合、当該データ通信を禁止する請求項１〜３の何れか一項に記載のフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器に関する。
【背景技術】
【０００２】
近年、フィールド上の多種多様な機器（以下、フィールド機器という）により構築される分散システムに関して、様々な提案がなされている（例えば、特許文献１参照）。
図９は、従来の分散システムを構築するフィールド機器Ａ〜Ｃを概念的に示した図である。
図９に示すように、ネットワーク上の複数のフィールド機器Ａ、Ｂ、Ｃが２つの分散システム１、２を構成している。各フィールド機器Ａ〜Ｃは、分散アプリケーション処理を実行するアプリケーション要素（以下、ＡＰ要素と略す）を一又は複数備え、これらＡＰ要素による処理サービスを他のフィールド機器Ａ〜Ｃに提供し、また提供されることで各分散システム１、２において目的とするアプリケーションを実現している。
【０００３】
各フィールド機器Ａ〜Ｃには、フィールド機器に固有の機器通信アドレス（例えば、ＴＣＰ／ＩＰ通信の場合はＩＰアドレス）が割り当てられているので、データ通信を行う際、各フィールド機器Ａ〜ＣのＯＳ（Operating System）は通信先の他のフィールド機器Ａ〜Ｃを機器通信アドレスで特定することができる。よって、従来は各ＡＰ要素にポート番号（例えば、ＴＣＰ／ＩＰ通信のポート番号又はサービス番号）を割り当てて、前記機器通信アドレスと処理を要求するＡＰ要素を示すポート番号との組合せを指定することで、フィールド機器Ａ〜Ｃ及びＡＰ要素を特定できる構成としていた。
【特許文献１】特開２００４−３３３２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のように既存の機器通信アドレスとポート番号との組合せでは、処理を要求する側で要求の対象となるＡＰ要素を特定できない場合がある。これは、複数の分散システムを並行に動作させる環境では、１つのフィールド機器上で同じ処理を提供する複数のＡＰ要素を同時に動作させるため、ＡＰ要素を識別するポート番号が重複するからである。重複すると競合によりデータ通信できないこととなる。状況に応じてポート番号を変更し、競合を回避することも考えられるが、この場合、通信先のポート番号を特定できない。
【０００５】
また、各フィールド機器Ａ〜ＣのＯＳは、データ通信の際には分散システムの区別なく共通の通信仕様で通信処理を提供する。そのため、各分散システムで必要なネットワーク環境を、他の分散システムから独立して構築することができない。すなわち、分散システム毎に区別せずにＯＳの通信機能を共通に利用するため、利用する通信機能が分散システム間で互いに影響し合うこととなってしまう。
【０００６】
本発明の課題は、独立した分散システムを構築し、円滑なアプリケーションを実現することである。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、
ネットワーク上の他のフィールド機器とデータ通信を行い、複数の分散システムを構成するフィールド機器において、
各分散システムに応じた分散アプリケーション処理を行うアプリケーション実行手段と、
前記複数の分散システムを構成する各フィールド機器に対して、分散システム毎に割り当てられた仮想通信アドレスの設定情報を記憶する記憶手段と、
前記アプリケーション実行手段によりデータ通信の要求がなされると、前記記憶された仮想通信アドレスの設定情報に基づき、要求されたデータ通信は同一分散システム内でのデータ通信か否かを判断し、同一分散システム内であると判断すると、当該データ通信を許可し、管理手段に対して通信先の仮想通信アドレスを通知して当該通信先とのデータ通信を要求する制御手段と、
前記通知された仮想通信アドレスを用いて、通信先とのデータ通信に係る通信処理を行う管理手段と、を備える。
【０００８】
請求項２に記載の発明は、請求項１に記載のフィールド機器において、
前記記憶手段は、分散システム毎に定められた通信仕様に係る設定情報をさらに記憶し、
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信であると判断した場合、前記記憶された通信仕様に係る設定情報に基づき、当該分散システムについて定められた通信仕様による通信処理を行うよう前記管理手段を制御する。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載のフィールド機器において、
前記記憶手段は、分散システム毎に定められたシステム仕様に係る設定情報を記憶し、
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信であると判断した場合、前記記憶されたシステム仕様に係る設定情報に基づき、当該分散システムについて定められたシステム仕様により動作するよう前記アプリケーション実行手段及び／又は前記管理手段を制御する。
【００１０】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載のフィールド機器において、
前記制御手段は、前記要求されたデータ通信が同一の分散システム内でのデータ通信ではないと判断した場合、当該データ通信を禁止する。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、仮想通信アドレスにより、要求元において、通信先で動作させる分散アプリケーション処理を分散システム毎に識別することができる。また、データ通信を監視し、同一分散システム内でのデータ通信のみ行うよう制御することができる。従って、各分散システムを独立したものとして扱うことができ、円滑なアプリケーションを実現することができる。
【００１２】
請求項２に記載の発明によれば、各分散システムで通信仕様を共通化することができるとともに、分散システム単位で必要な通信仕様をもったネットワーク環境を構築することができる。すなわち、各分散システムのネットワーク環境を独立させることができる。
【００１３】
請求項３に記載の発明によれば、各分散システムでシステム仕様を共通化することができるとともに、分散システム単位で必要なシステム仕様を持ったシステム環境を構築することができる。すなわち、各分散システムのシステム環境を独立させることができる。
【００１４】
請求項４に記載の発明によれば、異なる分散システム間のデータ通信を防ぐことができ、ある分散システムが他の分散システムに不正アクセスして不要な通信処理による悪影響（例えば、ｐｉｎｇ爆弾等）を与えることを回避することができる。
【発明を実施するための最良の形態】
【００１５】
まず、構成について説明する。
図１に、本実施形態に係るフィールド機器１ａ、１ｂ、１ｃを示す。なお、図１では３台のフィールド機器１ａ〜１ｃの例を示したが、その台数は限定されない。
図１に示すように、各フィールド機器１ａ〜１ｃはネットワークＮを介して相互に接続され、各フィールド機器１ａ〜１ｃ間で処理サービスを提供することにより、一又は複数の分散システムを構築し、各分散システムで目的とするアプリケーションを実現する。
【００１６】
また、図１に示すように、各フィールド機器１ａ〜１ｃはネットワークＮを介して情報処理装置３に接続されている。情報処理装置３は、各フィールド機器１ａ〜１ｃの設定を行うためのものである。情報処理装置３としては、例えばＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistant）等、制御手段、表示手段、操作手段、記憶手段、通信手段等を備えた一般的なコンピュータ装置が適用可能である。なお、情報処理装置３を別途設ける場合を示したが、これに限らず、情報処理装置３の設定機能を何れかのフィールド機器１ａ〜１ｃに組み込む構成としてもよい。
ネットワークＮは、公衆回線、電話回線、無線通信回線、光通信回線等により構築されるＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等である。
【００１７】
フィールド機器１ａ〜１ｃは、センサ、アクチュエータ、コントローラ、通信測定器、計測器、ＩＣ（Integrated Circuit）テスタ、カメラ、ルータ、スイッチ等のネットワーク機器である。
以下、フィールド機器１ａ〜１ｃの構成について説明するが、各フィールド機器１ａ〜１ｃの基本構成は同一であるので、ここではフィールド機器１ａを代表として説明を行う。
【００１８】
図２は、フィールド機器１ａの主な構成を示すブロック図である。
フィールド機器１ａは、図２に示すように制御手段１１、アプリケーション実行手段１２、記憶手段１３、通信手段１４、管理手段１５を備えて構成されている。なお、図２に示すのは主な構成部分であり、この他、各フィールド機器１ａ〜１ｃに必要な機能部分（例えば、センサであればセンサ機能部分、カメラであればカメラ機能部分等）を適宜備えればよい。
【００１９】
制御手段１１は、ＣＰＵ（Central Processing Unit）、メモリ等と、記憶手段１３に記憶されたミドルウェア用のソフトウェアとの協働により、アプリケーション実行手段１２、管理手段１５等の動作を制御し、ミドルウェアの機能を実現する。
【００２０】
アプリケーション実行手段１２は、ＣＰＵ、メモリ等と、記憶手段１３に記憶されたアプリケーションソフトウェアとの協働により、各種演算を行って分散アプリケーション処理（アプリケーションの一部を担う処理）を実行し、ＡＰ要素の機能を実現する。
【００２１】
管理手段１５は、ＣＰＵ、メモリ等と、記憶手段１３に記憶されたＯＳのソフトウェアとの協働により、ＯＳの機能を実現する。すなわち、管理手段１５は、記憶手段１３のメモリ管理、ハードウェア資源の割り当て等の資源管理の他、通信処理等の各ＡＰ要素に共通する処理の提供等を行う。
【００２２】
図３は制御手段１１、アプリケーション実行手段１２、管理手段１５によって実現される機能を概念的に示した図である。
図３に示すように、各フィールド機器１ａ〜１ｃ内では、ミドルウェア２１がＡＰ要素２４とＯＳ２２との間にあってデータ通信時の動作を制御する。上述のように、ミドルウェア２１は制御手段１１によって実現される機能である。ＯＳ２２はＡＰ要素２４からの要求に応じてハードウェア２３の資源割り当て、他のフィールド機器１ｂ、１ｃとの通信処理等を行う。ＯＳ２２は管理手段１５により実現される機能である。通信Ｉ／Ｆ、センサ等の各種ハードウェア２３はＯＳ２２の制御に従って動作する。ＡＰ要素２４は各フィールド機器１ａ〜１ｃにおいて一又は複数含まれ、他のフィールド機器１ｂ、１ｃのＡＰ要素２４とデータ通信を行って処理サービスを提供し合うことにより、１つのアプリケーションを実現する。ＡＰ要素２４はアプリケーション実行手段１２によって実現される機能である。
【００２３】
記憶手段１３は、ハードディスク、メモリ等であり、上記ミドルウェア、ＯＳ、アプリケーションソフトウェア等のソフトウェアや、パラメータ等を記憶する。
また、記憶手段１３は、管理テーブル１３１を記憶している。管理テーブル１３１は分散システムの管理に用いるものである。
図４に、管理テーブル１３１の例を示す。
管理テーブル１３１には、図４に示すように各分散システムに対して割り当てられた識別子（例えば、「１」、「２」等のＩＤ）の情報に対応付けて、機器通信アドレス及び仮想通信アドレスの設定情報と、各分散システムについて定められた通信仕様の設定情報が登録されている。
【００２４】
ここで、機器通信アドレスとは、各フィールド機器１ａ〜１ｃを一意に特定する通信用のアドレスであり、例えばＴＣＰ／ＩＰプロトコルであればＩＰアドレスをいう。一方、仮想通信アドレスとは、各フィールド機器１ａ〜１ｃにおいて分散システム毎のデータ通信を識別するためのアドレスである。前記機器通信アドレスとは別に付与され、同一分散システムに属する各ＡＰ要素２４間のデータ通信に専用に用いられるものである。
【００２５】
通信仕様は、分散システム毎に共通に設定するものであり、セキュリティ、ＱｏＳに関する設定情報がある。セキュリティの設定情報としては、データの暗号化方式、鍵交換方式、通信相手の認証方式（認証情報の通知手順を含む）等が含まれる。ＱｏＳの設定情報としては、通信に使用する使用帯域、通信遅延とそのジッタ、分散システム間における通信処理の優先度（優先度が低いものから順に１、２の数字で示す）、通信データの損失率等が含まれる。なお、通信仕様の設定情報はここに挙げたものに限られず、その他同一分散システム内で共通化したいものを登録すればよい。例えば、無線ネットワークで使用する場合には周波数帯域に関する設定情報等がある。
【００２６】
図４に示す例では、それぞれ機器通信アドレス「192.168.0.1」、「192.168.0.2」、「192.168.0.3」が割り当てられているフィールド機器１ａ〜１ｃに対し、識別子１の分散システムではそれぞれ「192.168.1.1」、「192.168.1.2」、「192.168.1.3」の仮想通信アドレスが定められている。一方、同じフィールド機器１ａ、１ｂであっても識別子２の分散システムでは、それぞれ「192.168.2.1」、「192.168.2.2」の仮想通信アドレスが定められている。
また、識別子１の分散システムではセキュリティについて「ＡＥＳ」の暗号化方式、「ＩＫＥ」の鍵交換方式が定められており、ＱｏＳについても使用帯域「６Mbps」、優先度「２」、キューサイズ「５０ＫＢ」とする通信仕様が定められている。これに対し、識別子２の分散システムでは、「３ＤＥＳ」の暗号化方式、「ＫＩＮＫ」の鍵交換方式とする等、識別子１とは異なる通信仕様が定められている。
【００２７】
なお、管理テーブル１３１には、デフォルト設定に係る通信仕様の設定情報も登録されている。これは、ＯＳ２２が分散システム毎に定められた通信機能をサポートしていない場合に採用される通信仕様である。図４では、デフォルト設定の通信仕様として、セキュリティ「暗号化なし」、ＱｏＳ「ベストエフォート」とする設定情報の例を示している。
【００２８】
通信手段１４は通信Ｉ／Ｆを備え、管理手段１５に従って他のフィールド機器１ｂ、１ｃや情報処理装置３との通信を行う。
【００２９】
次に、動作について説明する。
各フィールド機器１ａ〜１ｃでは、データ通信を行う前に情報処理装置３を介して上記仮想通信アドレス等の設定を行う必要がある。この設定時に行われる処理について図３及び図５を参照して説明する。図３は設定を行う際の情報処理装置３及びフィールド機器１ａ〜１ｃを概念的に示す図であり、図５は処理の流れを示すフローチャートである。
【００３０】
図５に示すように、情報処理装置３ではまず構築する分散システムの数に応じて識別子を付与し、当該識別子を元にテーブルのエントリを生成する（ステップＳ１）。このテーブルの構成は、上述した管理テーブル１３１と同一である。つまり、分散システムの識別子毎に各フィールド機器１ａ〜１ｃの機器通信アドレス、仮想通信アドレス、通信仕様の設定情報を登録可能に構成されている。オペレータは情報処理装置３の操作手段を介して、各分散システムに属するフィールド機器の機器通信アドレス、分散システム毎に定めた各フィールド機器１ａ〜１ｃの仮想通信アドレス、分散システム毎に定めた通信仕様の各設定情報の入力操作を行う。
【００３１】
情報処理装置３では、前記入力操作に応じて、前記テーブルにおいて分散システムの識別子に対応付けて、入力された機器通信アドレス、仮想通信アドレスの設定情報を登録する（書き込む）（ステップＳ２）。同様に、入力操作に応じて通信仕様の設定情報をテーブルに登録する（ステップＳ３）。
登録を終えると、このテーブルの情報とともに、当該テーブルの登録内容に応じて設定を行うよう要求する要求情報を各フィールド機器１ａ〜１ｃに送信する（ステップＳ４）。
【００３２】
各フィールド機器１ａ〜１ｃでは、情報処理装置３から送信されたテーブルの情報に基づいて、ミドルウェア２１が管理テーブル１３１に各種設定情報を書き込み、登録する（ステップＳ５）。次いで、ミドルウェア２１はこの管理テーブル１３１に基づいて、自己のフィールド機器１ａ〜１ｃについての仮想通信アドレスの設定を行う（ステップ６）。具体的には、ＯＳ２２に対して仮想通信アドレスの設定を要求し、ＯＳ２２が設定を行う。例えば、ＯＳ２２がLinuxであればＶＩＰ（Virtual IP）アドレスをnetconfコマンドで設定する。
【００３３】
次に、ミドルウェア２１は、設定した自己のフィールド機器１ａ〜１ｃの仮想通信アドレスと、他のフィールド機器１ａ〜１ｃの仮想通信アドレス間の通信チャネルをグループ化する。そして、管理テーブル１３１において定められている通信仕様の設定情報に基づき、各グループに対して要求された通信仕様の設定をＯＳ２２に要求する。ＯＳ２２はこの要求に応じて通信仕様の設定を行う（ステップＳ７）。なお、管理テーブル１３１に登録された分散システム以外の通信チャネルについては、管理テーブル１３１のデフォルト設定に係る通信仕様を設定する。
【００３４】
図４に示す管理テーブル１３１に従って、フィールド機器１ａに識別子１の分散システム用の通信仕様を設定する場合を例に、具体的に説明する。この場合、識別子１の分散システムに属する、仮想通信アドレス「192.168.1.1」と「192.168.1.2」間の通信チャネルと、「192.168.1.1」と「192.168.1.3」間の通信チャネルとをそれぞれグループ化する。そして、これらのグループの通信チャネルに対して設定されているセキュリティの設定、つまり「ＡＥＳ」の暗号化方式と、「ＩＫＥ」の鍵交換方式をＯＳ２２において使用可能とする。これは例えばLinuxであればracoonを使用する。また、ＱｏＳの設定情報に基づいて、通信帯域はネットワークの物理帯域の一部である６Mbpsを確保する。これは例えばiproute2 tcを使用すればよい。なお、この通信チャネル以外のデータ通信に対しては、デフォルト設定に従い、暗号化せずに通信時の空き帯域を使用するので特に設定は必要ない。
【００３５】
上記設定を行った結果、各フィールド機器１ａ〜１ｃ間で構築される通信チャネルの概念図を、図６に示す。
図６に示すように、識別子１、２の分散システム毎に仮想通信アドレスを割り当て、自己の仮想通信アドレスと、同一分散システムに属する他のフィールド機器１ｂ、１ｃの仮想通信アドレスとをそれぞれグループ化して通信チャネルを構築した結果、各フィールド機器１ａ〜１ｃ内のＡＰ要素２４がそれぞれ属する分散システム毎に区分けされ、仮想的に各分散システムを独立させた環境を形成することが可能となっている。図６において網掛けした部分が仮想的な分散システム環境を示している。これにより、同一フィールド機器１ａ〜１ｃ内でポート番号が重複する場合であっても、各分散システムに属するＡＰ要素２４を当該仮想通信アドレスにより特定可能となっている。
【００３６】
以上のようにして設定がなされると、各フィールド機器１ａ〜１ｃ間でデータ通信が可能となる。
図７を参照して、データ通信を行う際に行われるフィールド機器１ａ〜１ｃの処理について説明する。なお、以下の説明では代表としてフィールド機器１ａの処理を説明するが、他のフィールド機器１ｂ、１ｃにおいても行われる処理の内容は同じである。
【００３７】
データ通信には、データを他のフィールド機器１ｂ、１ｃに送信して分散アプリケーション処理を要求する場合と、逆に他のフィールド機器１ｂ、１ｃのＡＰ要素２４からデータが送信されて分散アプリケーション処理が要求される場合とがあるが、ここでは前者の場合を説明する。
図７に示すように、まずＡＰ要素２４がミドルウェア２１に対し、データ通信の要求情報を送信する。要求情報には、処理すべきデータ及び通信先、つまり分散アプリケーション処理の依頼先となるＡＰ要素２４に対応する仮想通信アドレスの情報を含める。
【００３８】
ミドルウェア２１は、ＡＰ要素２４からデータ通信の要求情報が入力されると（ステップＳ１１；Ｙ）、当該要求情報から通信先として指定された仮想通信アドレスを抽出する。そして、管理テーブル１３１を参照し、要求元のＡＰ要素２４の仮想通信アドレスと抽出した仮想通信アドレスとを元に、要求されたデータ通信は同一分散システム内でのデータ通信か否かを判断する（ステップＳ１２）。例えば、要求元のＡＰ要素２４の仮想通信アドレスが「192.168.1.1」であり、通信先として「192.168.1.2」の仮想通信アドレスが指定された場合、管理テーブル１３１（図４参照）では何れの仮想通信アドレスも識別子１の分散システムに属するので、要求されたデータ通信は同一分散システム内でのデータ通信であると判断する。
【００３９】
同一分散システム内でのデータ通信であると判断した場合（ステップＳ１２；Ｙ）、ミドルウェア２１は要求されたデータ通信を許可する。そして、ミドルウェア２１はＯＳ２２に対し、要求元及び通信先の仮想通信アドレスを通知するとともに、要求元のＡＰ要素２４から入力された処理対象のデータを出力し、データ通信を要求する（ステップＳ１３）。ＯＳ２２は、この要求を受けて入力されたデータを、通知された仮想通信アドレスへ送信する。このとき、ＯＳ２２は通知された要求元及び通信先の仮想通信アドレス間を結ぶ通信チャネルに対して設定した通信仕様に従ってデータ通信を行う。上記例の場合、仮想通信アドレス「192.168.1.1」、「192.168.1.2」間の通信チャネルについて設定されている通信仕様によりデータ通信を行う。つまり、暗号化方式ＡＥＳによりデータの暗号化を行い、鍵交換方式ＩＫＥにより鍵交換等を行う。また、２つの通信チャネルの帯域の合計は６Ｍｂｐｓである。
【００４０】
一方、要求元の仮想通信アドレスが「192.168.1.1」であり、通信先として例えば「192.168.2.2」の仮想通信アドレスが指定された場合、管理テーブル１３１によれば要求元の仮想通信アドレスは識別子１の分散システム、通信先の仮想通信アドレスは識別子２の分散システムに属するものであるので、この場合は同一分散システム内でのデータ通信ではないと判断する。同一分散システム内でのデータ通信ではないと判断した場合（ステップＳ１２；Ｎ）、ミドルウェア２１は通信エラーの通知情報を生成し、これを要求元のＡＰ要素２４に出力して指定された通信先とのデータ通信を禁止する制御を行う（ステップＳ１４）。
【００４１】
以上のように、本実施形態によれば、各フィールド機器１ａ〜１ｃに固有の機器通信アドレスの他に分散システム毎に固有の仮想通信アドレスを割り当て、当該仮想通信アドレスを用いて自己のフィールド機器１ａ〜１ｃと他のフィールド機器１ａ〜１ｃのＡＰ要素２４を結ぶ通信チャネルを構築する。ＡＰ要素２４間でデータ通信を行う際には要求元及び通信先の仮想通信アドレスから、要求されたデータ通信が同一分散システム内でのデータ通信か否かを判断し、同一分散システム内でのデータ通信である場合にはＯＳ２２に通信先の仮想通信アドレスを通知してデータ通信を行わせる。また、同一分散システム内でのデータ通信ではない場合には要求元のＡＰ要素２４に対しエラーを通知してデータ通信を禁止する。このように、分散システムにおけるデータ通信を監視し、異なる分散システム間でのデータ通信を防止することにより、各分散システムを独立化させ、また円滑なアプリケーションを実現することが可能となる。さらに、異なる分散システム間のデータ通信を防ぐため、データ通信自体を禁止することにより、分散システムが他の分散システムに不正アクセスして不要な通信処理による悪影響（例えば、ｐｉｎｇ爆弾等）を与えることを回避することができる。
【００４２】
また、仮想通信アドレスを用いることにより、同じフィールド機器１ａ〜１ｃ上で同じポート番号のＡＰ要素２４を動作させる場合でも、他のフィールド機器１ａ〜１ｃにおいて、動作させるＡＰ要素２４を分散システム毎に識別することが可能となる。一般的なＷｅｂサービスシステムで用いられているwell-knownポート番号を採用している場合には、当該ポート番号を変更することなく、かつ同一分散システム内のデータ通信が可能となるので、特に有効である。
【００４３】
また、分散システム毎に定められた通信仕様の設定情報を記憶し、この設定情報に基づいてＯＳ２２において分散システム毎に構築した各通信チャネルに対し当該分散システムに応じた通信仕様を設定させる。これにより、データ通信を行う場合には、分散システムに対応する通信仕様を用いて通信処理を行うよう制御することができる。その結果、各分散システム内で通信仕様を共通化することができるとともに、分散システム単位でその分散システムで必要な通信仕様をもったネットワーク環境を構築することができる。すなわち、各分散システムのネットワーク環境を独立させることができる。
【００４４】
また、ミドルウェア２１がＡＰ要素２４とＯＳ２２の間にあって、分散システムにおけるデータ通信を監視し、異なる分散システム間でのデータ通信を禁止するよう制御するので、分散システムのネットワーク環境の独立化やそれに伴うデータ通信の制御等のために、ＯＳ２２やＡＰ要素２４について特に設計変更等を加える必要もなく、従来のものを適用できる。よって、コストをかけることなく、円滑なアプリケーションを実現することができる。
【００４５】
〈他の実施形態〉
上記実施形態では、分散システム毎に通信仕様を共通化した例を示したが、システム仕様についても分散システム毎に共通化することとしてもよい。
以下、システム仕様についても共通化する場合の実施形態について説明する。
システム仕様を共通化する場合にも、上述した実施形態と同様に各フィールド機器１ａ〜１ｃの記憶手段１３に、分散システム毎に定められたシステム仕様に係る設定情報を記憶しておけばよい。図８にこのシステム仕様に係る設定情報を記憶した管理テーブル１３２の例を示す。
【００４６】
システム仕様は、ＡＰ要素２４での分散アプリケーション処理だけでなく、当該分散アプリケーション処理に関してＯＳ２２で行われるハードウェア資源の管理、ユーザ認証の処理等についての仕様も含まれる。
図８に示すように、システム仕様としては実行優先度、バッファサイズ、Ｉ／Ｏ拡張名、ユーザ認証等が挙げられる。実行優先度は各分散システム間における分散アプリケーション処理の実行優先度を示す情報であり、例えば優先度が低い順に０（優先度が最低）から２（優先度が高い）の数字で示される。なお、ＱｏＳの通信仕様における通信処理の優先度をこの実行優先度と関連付けて設定することとしてもよい。
【００４７】
バッファサイズは各分散システムで扱うデータ量であり、各ＡＰ要素２４がイベントドリブンで動作する場合にイベント時に扱うデータ量を定義するものである。なお、ＱｏＳの通信仕様における送受信キューサイズは、このバッファサイズの設定と関連づけて設定することとしてもよい。Ｉ／Ｏ拡張名は、各分散システムで使用する名前空間を定義するものである。各分散システム間でＩ／Ｏアクセス名が衝突しないように異なる拡張名が適用される。ユーザ認証は、分散システムによる処理の実行が許可されたユーザを認証するための情報を規定するものである。例えば、ユーザ氏名やパスワード等が含まれる。
【００４８】
なお、管理テーブル１３２には、デフォルト設定に係るシステム仕様の設定情報も登録されている。これは、ＯＳ２２が分散システム毎に定められたシステム仕様をサポートしていない場合に採用されるシステム仕様である。図８では、デフォルト設定に係るシステム仕様として、実行優先度「０」、バッファサイズ及びＩ／Ｏ拡張名を「無し」、ユーザ認証時のユーザ名、パスワードをそれぞれ「ＲＯＯＴ」、「ｒｏｏｔ」とする設定情報の例を示している。
【００４９】
また、管理テーブル１３２においては、各フィールド機器１ａ〜１ｃ内のどのＡＰ要素２４がどの分散システムに属するのかを管理するため、ＡＰ識別子の情報を登録する。ＡＰ識別子は、各フィールド機器１ａ〜１ｃ内のＡＰ要素２４群に対し、各フィールド機器１ａ〜１ｃ内で独立して割り当てられる識別子である。例えば、フィールド機器１ａにおいて１、２、３の識別子がそれぞれ割り当てられた３つのＡＰ要素２４があり、識別子１のＡＰ要素２４が識別子１の分散システムに属し、識別子２、３のＡＰ要素２４が識別子２の分散システムに属する場合、図８に示すように識別子１の分散システムに対応付けてＡＰ要素２４の識別子１の情報を登録し、識別子２の分散システムに対応付けてＡＰ要素２４の識別子２、３の情報を登録する。
【００５０】
上記システム仕様に係る設定情報の管理テーブル１３２への登録方法については、上記実施形態と同様である。すなわち、情報処理装置３においてテーブルのエントリを生成し、オペレータの入力操作に応じてシステム仕様に係る設定情報を登録する。そして、情報処理装置３が各フィールド機器１ａ〜１ｃに対して登録された内容で設定を行うよう要求する。各フィールド機器１ａ〜１ｃは、ミドルウェア２１により管理テーブル１３２に仮想通信アドレス、システム仕様、通信仕様等の各分散システムの設定情報を登録する。また、ミドルウェア２１がＯＳ２２及びＡＰ要素２４に対し、通信チャネルのグループ毎に要求された通信仕様、システム仕様を設定させる。この設定により、実際のデータ通信時には分散システムに応じた通信仕様、システム仕様で動作するようＡＰ要素２４、ＯＳ２２を制御することができる。
【００５１】
例えば、実行優先度の場合、分散システム毎の実行優先度を、ＯＳ２２が管理する各ＡＰ要素２４の実行優先度にマッピングして設定する。バッファサイズは、例えば送受信したデータをＡＰ要素２４が処理するために使用するバッファサイズとしてＯＳ２２が記憶手段１３のメモリ領域を確保しておく。また、Ｉ／Ｏ拡張名は、ＯＳ２２が管理するユーザ毎のルートディレクトリにマッピングして設定する。ユーザ認証の設定時には、ＯＳ２２がユーザ情報（ユーザ氏名等）に認証情報（パスワード等）を対応付けて記憶手段１３に記憶させる。
【００５２】
ミドルウェア２１では、ＡＰ要素２４間のデータ通信を監視し、ＡＰ要素２４から要求されたデータ通信が同一分散システム内でのデータ通信である場合のみデータ通信を許可して、ＯＳ２２に通信処理を実行させる。一方、異なる分散システム間でのデータ通信である場合には当該データ通信を禁止する。また、データ通信の際にユーザ認証の情報をやりとりすることにより、同一分散システムであっても当該分散システムについて設定されているユーザ認証の情報が一致しない場合についてもデータ通信を禁止する。これにより分散システム単位でユーザ認証が可能となる。
【００５３】
データ通信が許可される場合には上記設定により、ＡＰ要素２４間でデータ通信を行う際にはその分散システムに応じた通信仕様、システム仕様によりＯＳ２２及びＡＰ要素２４が動作する。例えば、図８に示す管理テーブル１３２によれば、識別子１の分散システムは識別子２のものより実行優先度が高いため、同じフィールド機器１ａの中でも識別子１の分散システムに属するＡＰ要素２４（ＡＰ要素２４の識別子１）の方が、識別子２の分散システムに属するＡＰ要素２４（ＡＰ要素２４の識別子２、３）よりも優先して分散アプリケーション処理を実行するよう、ＯＳ２２により調整されることとなる。
【００５４】
また、フィールド機器１ａにおける識別子１のＡＰ要素２４は、分散アプリケーション処理によって生成したファイルに「.sys1」の拡張子を付す。一方、同じフィールド機器１ａであっても識別子２、３のＡＰ要素２４の場合、生成したファイルに「.sys2」の拡張子を付すこととなる。拡張子により、各ファイルが何れの分散システムで生成されたものであるかを容易に判別できる。
このように、管理テーブル１３２に基づく設定を行うことにより、分散システム毎に通信仕様及びシステム仕様を共通化することが可能となる。
【００５５】
以上のように、この実施形態によれば、分散システム毎に定められたシステム仕様の設定情報をさらに記憶し、この設定情報に基づいてＡＰ要素２４、ＯＳ２２に分散システムに応じたシステム仕様を設定させる。これにより、設定したシステム仕様で動作するよう制御することができる。その結果、上述した実施形態の効果に加えて、各分散システムに応じた分散アプリケーション処理を実現するという効果を得ることができる。すなわち、分散システム毎にシステム仕様を共通化して、分散システム単位でその分散システムで必要なシステム仕様をもったシステム環境を構築することが可能となる。
【００５６】
また、ＡＰ識別子を用いて、各フィールド機器１ａ〜１ｃにおけるＡＰ要素２４の動作を、分散システム毎に管理することができる。
【００５７】
本実施形態は、ＡＰ要素２４間のデータ通信にイベントドリブン機能を必要とする場合に特に有効である。例えば、追加するシステム機能が、設備監視システム等のように一定周期に収集する測定値を指標値に加工してトレンドを表示し、それが閾値を超えると当該指標値とともにアラームイベントを生成して通知するような場合である。この場合、各ＡＰ要素２４や、通信処理時にイベントドリブンで処理するデータ量（バッファサイズ）、実行優先度を各分散システムで共通化することにより、高信頼性のイベントドリブン機能を実現することができる。
【００５８】
なお、ＯＳ２２が分散システム毎に要求された通信仕様を提供できない場合、ミドルウェア２１がＯＳ２２に代わって要求された通信仕様による通信処理を提供することとしてもよい。また、上述したようなミドルウェア２１による仮想通信アドレス、通信仕様、システム仕様等の設定や、データ通信の監視等の機能は、ＯＳ２２内で実現することとしてもよい。
【図面の簡単な説明】
【００５９】
【図１】分散システムを構築する複数のフィールド機器を示す図である。
【図２】フィールド機器の主な構成を示す図である。
【図３】情報処理装置と各フィールド機器の機能を概念的に示す図である。
【図４】管理テーブルの一例を示す図である。
【図５】フィールド機器の設定を行う際に実行される処理を説明するフローチャートである。
【図６】各フィールド機器間で分散システム毎に構築された通信チャネルを示す概念図である。
【図７】フィールド機器間でのデータ通信時に実行される処理を説明するフローチャートである。
【図８】他の実施形態における管理テーブルの一例を示す図である。
【図９】従来の分散システムを構築するフィールド機器を概念的に示す図である。
【符号の説明】
【００６０】
１ａ〜１ｃ  フィールド機器
１１  制御手段
１２  アプリケーション実行手段
１３  記憶手段
１４  通信手段
１５  管理手段
２１  ミドルウェア
２２  ＯＳ
２３  ハードウェア
２４  ＡＰ要素
【図１】
2009003625.tif 000003
【図２】
2009003625.tif 000004
【図３】
2009003625.tif 000005
【図４】
2009003625.tif 000006
【図５】
2009003625.tif 000007
【図６】
2009003625.tif 000008
【図７】
2009003625.tif 000009
【図８】
2009003625.tif 000010
【図９】
2009003625.tif 000011