(57)【要約】【課題】  作業者の手作業による設定手法や、サーバに接続する設定手法を採用することなく、簡単、低コスト、短時間でデバイスコントローラの設定を行う。【解決手段】  デバイスコントローラは、自己の構成記述ファイルを記憶する構成記述情報ドライバ１４、他のデバイスコントローラの構成記述ファイルを記憶する分散型共有メモリ１３とを備え、記憶制御部１２は、ネットワークＮＷに新規参加した場合などに、自己のＩＤと共にファイル転送リクエストを他のデバイスコントローラに送信し、他のデバイスコントローラからの構成記述ファイルを構成記述情報ドライバ１４に格納する。フィールドバス監視・制御部１７及びフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、構成記述ファイルを参照して、フィールドバスＡ，Ｂ，Ｃのデバイスを制御する。【選択図】      図２
2007179278.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知する処理と、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させる処理との少なくとも一方を行うデバイスコントローラを複数備え、
それぞれのデバイスコントローラは、
自己に接続されたサブネットワークのデバイスと通信するための情報であって、当該サブネットワークのデバイス構成を示す構成記述情報を記憶する構成記述情報記憶手段と、
前記構成記述情報を参照して、前記サブネットワークのデバイスと通信を行うデバイス制御手段と、
他のデバイスコントローラと通信回線を介して接続されて、当該他のデバイスコントローラと通信を行う通信手段と、
他のデバイスコントローラから送信されて前記通信手段で受信した構成記述情報を記憶し、当該他のデバイスコントローラの構成記述情報のバックアップメモリとして機能するバックアップ用記憶手段と、
前記構成記述情報記憶手段に記憶された自己の構成記述情報を他のデバイスコントローラのバックアップ用記憶手段に記憶させると共に、他のデバイスコントローラの構成記述情報を自己のバックアップ用記憶手段に記憶させる記憶制御手段とを備え、
それぞれのデバイスコントローラの構成記述情報記憶手段に記憶する構成記述情報を、一又は複数の他のデバイスコントローラのバックアップ用記憶手段に多重記憶させることを特徴とする情報記憶システム。
【請求項２】
前記デバイスコントローラは、自己に接続されたサブネットワークの構成が変化した場合に、当該変化した構成に応じて前記構成記述情報記憶手段に記憶された構成記述情報を更新させ、他のデバイスコントローラに構成記述情報を更新するリクエストを送信することを特徴とする請求項１に記載の情報記憶システム。
【請求項３】
前記デバイスコントローラは、新規に通信回線に接続されて、自己の識別子が与えられた場合に、当該自己の識別子を含む自己の構成記述情報の送信を要求する送信リクエストを、他のデバイスコントローラに送信して、他のバックアップ用記憶手段に記憶された構成記述情報を取得することを特徴とする請求項１に記載の情報記憶システム。
【請求項４】
前記デバイスコントローラは、自己の構成記述情報の送信を要求する送信リクエストを送信したことに応じて複数の構成記述情報を受信した場合に、最も新規な構成記述情報を選択して、前記構成記述情報記憶手段に記憶させることを特徴とする請求項１に記載の情報記憶システム。
【請求項５】
前記デバイスコントローラは、他のデバイスコントローラから構成記述情報の送信を要求する送信リクエストを受信した場合に、当該送信リクエストを受信した時点において構成記述情報を返信する処理能力がない場合には、構成記述情報の送信を停止することを特徴とする請求項１に記載の情報記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の設定情報に従ってデバイスを制御・監視するデバイスコントローラ間において当該設定情報を多重させて記憶させる情報記憶システムに関する。
【背景技術】
【０００２】
従来より、汎用バスに複数のデバイスからなるサブネットワークがデバイスコントローラが接続され、デバイスコントローラを交換する場合、当該デバイスコントローラを再設定して、サブネットワークの制御等を可能にする必要がある。
【０００３】
このデバイスコントローラを再設定する手法としては、作業員の手作業によって、デバイスコントローラの設定をインストールすることが挙げられる。例えば、作業員が設定ファイルを格納した携帯メディア（ＣＤ、フロッピー（登録商標）ディスク、ＵＳＢ（Universal Serial Bus）メモリ）を再設定するデバイスコントローラに挿入する。これによって、デバイスコントローラは、自己が使用する設定ファイルを検出して、自動的に設定ができるようになる。
【０００４】
また、デバイスコントローラを再設定する他の手法としては、デバイスコントローラの設定ファイルを蓄積したサーバと接続させ、当該サーバから設定ファイルをダウンロードする。これによって、デバイスコントローラが交換された時、デバイスコントローラからサーバに自己の設定ファイルの検索要求を出すことで、デバイスコントローラによってデバイスの監視、制御が可能となる。このようにサーバに設定ファイルをバックアップしておく技術としては、下記の特許文献１等が挙げられる。
【特許文献１】特開２００４−１０２４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したデバイスコントローラの設定方法では、設定ファイルを格納した携帯メディアが紛失する可能性があり、その場合にはデバイスコントローラの設定が不可能となる。更に、紛失した携帯メディアが悪意のある第三者に利用される可能性もある。また、携帯メディアに記憶された設定ファイルにダメージがあって、読み出し不能となってしまう可能性があり、これに備えて、常に新たな携帯メディアを用意しておく必要がある。更に、設定ファイルを格納した携帯メディアの作成及び使用を管理する作業者の設定ミスによって、携帯メディアに誤ったデータが格納されている場合がある。また、携帯メディアを読み込むディスク再生装置をデバイスコントローラに備える必要があり、高コストなる。
【０００６】
更に、デバイスコントローラは、サーバへの接続手段を備える必要があり、コストが高くなってしまう。更に、サーバが使用できない時にはデバイスコントローラの設定を行うことができない。
【０００７】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、作業者の手作業による設定手法や、サーバに接続する設定手法を採用することなく、簡単、低コスト、短時間でデバイスコントローラの設定を行うことができる情報記憶システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報記憶システムは、複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知すると共に、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させるデバイスコントローラを複数備えたものである。
【０００９】
それぞれのデバイスコントローラは、上述の課題を解決するために、自己に接続されたサブネットワークのデバイスと通信するための情報であって、当該サブネットワークのデバイス構成を示す構成記述情報を記憶する構成記述情報記憶手段と、前記構成記述情報を参照して、前記サブネットワークのデバイスと通信を行うデバイス制御手段と、他のデバイスコントローラと通信回線を介して接続されて、当該他のデバイスコントローラと通信を行う通信手段と、他のデバイスコントローラから送信されて前記通信手段で受信した構成記述情報を記憶し、当該他のデバイスコントローラの構成記述情報のバックアップメモリとして機能するバックアップ用記憶手段と、前記構成記述情報記憶手段に記憶された自己の構成記述情報を他のデバイスコントローラのバックアップ用記憶手段に記憶させると共に、他のデバイスコントローラの構成記述情報を自己のバックアップ用記憶手段に記憶させる記憶制御手段とを備え、それぞれのデバイスコントローラの構成記述情報記憶手段に記憶する構成記述情報を、一又は複数の他のデバイスコントローラのバックアップ用記憶手段に多重記憶させることを特徴とする。
【発明の効果】
【００１０】
本発明に係る情報記憶システムは、それぞれのデバイスコントローラの構成記述情報記憶手段に記憶する構成記述情報を、一又は複数の他のデバイスコントローラのバックアップ用記憶手段に多重させて記憶させるので、当該多重させて記憶させた構成記述情報をダウンロードするだけでデバイスコントローラの設定を行うことができ、作業者の手作業による設定手法や、サーバに接続する設定手法を採用することなく、簡単、低コスト、短時間でデバイスコントローラの設定を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
【００１２】
本発明は、例えば図１に示すように、汎用バスであるネットワークＮＷに複数のデバイスコントローラＤ１〜Ｄ４（以下、総称する場合には、単に「デバイスコントローラＤｉ」と呼ぶ。）が接続された分散記憶システムに適用される。汎用バスであるネットワークＮＷは、例えば、ＩＰ（Internet Protocol）を使用したインターネット等が挙げられる。複数のデバイスコントローラＤ１〜Ｄ４は、それぞれ、Ｐ２Ｐ（Peer-to-peer）通信が可能となっており、相互で情報の授受が可能となっている。
【００１３】
各デバイスコントローラＤｉは、複数のデバイスがフィールドバスに接続されてなるサブネットワークが接続されている。デバイスコントローラＤ１〜Ｄ４は、フィールドバスに接続された複数のデバイスの制御、監視等をするための情報を格納した構成記述ファイル（Ｆ１〜Ｆ４）が記憶されている。また、デバイスコントローラＤ１〜Ｄ４は、他のデバイスコントローラＤｉの構成記述ファイルを、それぞれ自己の分散型共有メモリ１−Ｄ１，１−Ｄ２，１−Ｄ３，１−Ｄ４に記憶している。この分散型共有メモリ１は、自己の構成記述ファイルを記憶する記憶手段とは別に設けられて、他のデバイスコントローラＤｉの構成記述ファイルのバックアップ用記憶手段として機能する。
【００１４】
このデバイスコントローラＤｉは、図２及び図３に示すように構成される。図２に示すように、デバイスコントローラＤｉには、機器埋め込み型ネットワーク技術（ＥＭＩＴ（Embedded Micro Internetworking Technology）、以下、ＥＭＩＴ技術と称する。）を利用してデバイスとデバイスコントローラＤｉとが通信を行うフィールドバスＡと、デバイスとデバイスコントローラＤｉとがパルス幅を変調するベースバンド伝送を行うことによって信号の送受信を実現する所定の多重伝送方式（エヌマスト方式）で通信を行うフィールドバスＢと、ＬＯＮ（Local Operating Network）と称される分散制御ネットワーク方式で通信を行うフィールドバスＣとが接続されている。なお、デバイスコントローラＤｉには、上記のＥＭＩＴ技術、エヌマスト方式、ＬＯＮを利用する場合のみならず、あらゆる方式でフィールドバスが接続されていても良い。
【００１５】
なお、フィールドバスＡには、デバイスＡ０〜Ａ２、Ｓ３〜Ｓ７・・・といったように複数のデバイスが接続され、デバイスＳ３として人感センサを含んでいる。また、フィールドバスＢには、デバイスＳ０，Ｓ１、Ａ１，Ａ３，Ａ４・・・といったように複数のデバイスが接続され、デバイスＡ１として照明を含んでいる。更に、フィールドバスＣには、デバイスＡ０〜Ａ２、Ｓ３〜Ｓ５・・・といったように複数のデバイスが接続され、デバイスＳ２として温度センサを含んでいる。
【００１６】
デバイスコントローラＤｉは、他のデバイスコントローラＤｉとＰ２Ｐ通信をするネットワークＮＷと接続したＰ２Ｐ通信処理部１１と、記憶制御部１２と、上述の分散型共有メモリ１−Ｄ１，１−Ｄ２，１−Ｄ３，１−Ｄ４に相当する分散型共有メモリ１３と、構成記述情報ドライバ１４と、変数テーブル１５と、アプリケーション処理部１６と、フィールドバス監視・制御部１７と、自己に接続された複数のフィールドバスＡ，Ｂ，Ｃに対応したフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃとを備える。
【００１７】
フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、それぞれのフィールドバスＡ，Ｂ，Ｃに対応した方式で通信を行うように設定されている。例えば、ＥＭＩＴ技術を採用したフィールドバスインターフェース１８Ａ及び当該フィールドバスインターフェース１８Ａに接続されたデバイスは、図４に示すように構成される。
【００１８】
デバイスには、ＥＭＩＴミドルウェア間で各種デバイスのコントロールデータやデバイスの状態信号等を送受するＭＯＳ（Micro Object Server）機能部２１が実装され、フィールドバスインターフェース１８Ａには、ＥＭＩＴミドルウェア間におけるルーティング処理、デバイスの認識処理等を行うＯＡＳ（Object Access Server）機能部３１が実装され、デバイスを管理するユーザの端末（図示せず）には、制御対象のデバイスへの制御・監視リクエストを出力すると共にデバイスの状態表示等を行うＯＡＬ（Object Access Library）機能部（図示せず）が実装されている。なお、図４では、フィールドバスインターフェース１８Ａ，１８Ｂ，１８ＣにＯＡＳ機能部３１のみが実装されている場合について説明するが、ＯＡＬ機能部が実装されていても良い。
【００１９】
デバイスは、ＭＯＳ機能部２１に、アプリケーション処理部２２、インターフェースモジュール２３が接続されている。
【００２０】
アプリケーション処理部２２は、例えばセンサとして機能する場合に、検出値（Ｉ／Ｆ値）を取得するアプリケーションコードが記憶されており、検出値を保持してＭＯＳ機能部２１に受け渡す。
【００２１】
インターフェースモジュール２３は、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるデータリンク層等の処理を行う。例えばデータリンク層においてイーサネット（登録商標）に従った処理を行う。このインターフェースモジュール２３の通信プロトコルバージョン、通信速度といった能力は、能力テーブル２４に格納されて、ＯＡＳ機能部３１によって取得可能となっている。
【００２２】
ＭＯＳ機能部２１は、アプリケーション処理部２２によるアプリケーション層とインターフェースモジュール２３によるトランスポート層との間のＥＭＩＴミドルウェアとして機能する。このＭＯＳ機能部２１には、フィールドバスインターフェース１８ＡのＯＡＳ機能部３１によって、デバイスがＥＭＩＴにおけるオブジェクトであることを識別するために、オブジェクトＩＤ２１ｄが与えられている。
【００２３】
ＭＯＳ機能部２１は、機能（function）２１ａ、イベント（event）２１ｂ、変数（variable）２１ｃで定義された動作を行う。このＭＯＳ機能部２１の動作は、サービステーブル２１ｅとして定義されており、フィールドバスインターフェース１８ＡのＯＡＳ機能部３１によって、インターフェースＩＤとして取得可能となっている。
【００２４】
デバイスがセンサである場合、機能２１ａは、検出値の出力機能となり、イベント２１ｂは、例えば検出値が所定値となったら検出値を出力するイベントとなり、変数２１ｃは、検出値そのものとなる。このようなデバイスは、検出値が所定値となるとイベント２１ｂでイベントを発生させ、機能２１ａによって変数２１ｃの検出値を出力する。
【００２５】
フィールドバスインターフェース１８ＡのＯＡＳ機能部３１は、通信モジュール３２が接続されている。
【００２６】
ＯＡＳ機能部３１は、後述のフィールドバス監視・制御部１７と接続され、当該フィールドバス監視・制御部１７の制御に従ってフィールドバスＡのデバイスと通信を行う。フィールドバス監視・制御部１７は、ユーザ及び管理者があるデバイスを制御・監視する通信をしたい場合には、その旨の制御・監視リクエストが供給され、当該制御・監視リクエストに対するレスポンスを返信する。
【００２７】
通信モジュール３２は、デバイスのインターフェースモジュール２３との間で通信を行うと共に、他のＯＡＳ機能部３１が実装された装置の通信モジュール３２と通信を行う。この通信モジュール３２は、ＯＳＩ参照モデルにおけるデータリンク層等の処理を行う。個々のデバイスが様々なインターフェースモジュール２３で構成されている場合、通信モジュール３２は、デバイスアクセスコントローラ３１ｃの制御に従って、デバイスや他のＯＡＳ機能部３１を備えた装置ごとの通信プロトコルバージョン、通信速度といったデバイスの能力に応じた通信処理を行う。
【００２８】
ＯＡＳ機能部３１は、フィールドバス監視・制御部１７の処理と通信モジュール３２による処理との間のＥＭＩＴミドルウェアとして機能する。このＯＡＳ機能部３１は、デバイスアクセスサーバ３１ａ、所定のメモリに格納されたサービス情報３１ｂ、デバイスアクセスコントローラ３１ｃを備えて構成されている。
【００２９】
デバイスアクセスサーバ３１ａは、クライアント（ＯＡＬ）との間で通信を行うために、クライアントからのリクエストを通信モジュール３２及びフィールドバス監視・制御部１７、Ｐ２Ｐ通信処理部１１を介して受信する。そしてデバイスアクセスサーバ３１ａは、当該制御・監視リクエストをデバイスアクセスコントローラ３１ｃ及び通信モジュール３２を介してデバイスに送信する動作を制御する。これによって、デバイスアクセスコントローラ３１ｃは、クライアントからの要求をデバイスに伝達して、デバイスを制御する。
【００３０】
デバイスアクセスコントローラ３１ｃは、デバイスのインターフェース定義及びサービス情報を取得するために、通信モジュール３２を介してデバイスのサービステーブル２１ｅ及び能力テーブル２４を検索する。これによって、デバイスアクセスコントローラ３１ｃは、各デバイスがどのようなサービス（機能２１ａ、イベント２１ｂ、変数２１ｃ）を有するかを判断して、各デバイスのオブジェクトＩＤ２１ｄとサービスリストとの対応関係を示すサービス情報３１ｂを作成する。また、デバイスアクセスコントローラ３１ｃは、各デバイスがどのような能力（通信プロトコルバーション、通信速度）を有するかを認識する。
【００３１】
デバイスアクセスコントローラ３１ｃは、ＭＯＳ機能部２１でイベントのイベントパケットを通信モジュール３２で受信すると、デバイスアクセスコントローラ３１ｃによって当該イベントパケットを解析して、デバイスアクセスサーバ３１ａに通知する。また、クライアントからの制御・監視リクエストをデバイスに送信する場合には、当該制御・監視リクエストに応答できるＭＯＳ機能部２１を、サービス情報３１ｂを参照して認識する。そして、当該制御・監視リクエストに送信先のオブジェクトＩＤ２１ｄを付加し、デバイスの能力に合わせて通信モジュール３２からデバイスにパケットを送信させる。
【００３２】
また、ＯＡＳ機能部３１には、他のＥＭＩＴミドルウェア対応機器が当該ＯＡＳ機能部３１を識別するために、オブジェクトＩＤ３１ｄが与えられている。このオブジェクトＩＤ３１ｄは、デバイスのＭＯＳ機能部２１や、他のＯＡＬが実装されたクライアント（パーソナルコンピュータ）等のＥＭＩＴミドルウェア対応機器と通信するに際して、送信するパケットに格納される。
【００３３】
このようなＯＡＳ機能部３１を備えたフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、図３に示すように、フィールドバスドライバ１８ａと、フィールドバスインターフェース部１８ｂとを備えて構成されている。
【００３４】
フィールドバスドライバ１８ａは、フィールドバス監視・制御部１７からのコントロールデータを受信すると、構成記述情報ドライバ１４からの構成記述情報を参照して、どのデバイスをどのように動作させるかを判定して、デバイスに向けてコマンドを送出する。また、フィールドバスインターフェース部１８ｂは、フィールドバスドライバ１８ａからコマンドを受け付けると、当該コマンドをフィールドバスＡ，Ｂ，Ｃに応じた信号に変換して、フィールドバスＡ，Ｂ，Ｃに送出する。
【００３５】
また、フィールドバスインターフェース部１８ｂは、フィールドバス監視・制御部１７にデバイスの状態変化、イベント発生を通知するモニタデータをフィールドバスＡ，Ｂ，Ｃから受信した場合には、当該モニタデータをフィールドバスドライバ１８ａに渡して、フィールドバス監視・制御部１７に送る。
【００３６】
フィールドバス監視・制御部１７は、変数テーブル１５を参照して、フィールドバスＡ，Ｂ，Ｃの制御を行う。この変数テーブル１５は、図６に示すように、フィールドバスＡ，Ｂ，Ｃごとに、デバイス名、デバイス状態、変数タイプ、フィールドバスＩＤ、フィールドバス内アドレスが対応付けられて構成されている。そして、フィールドバス監視・制御部１７は、フィールドバスＡ，Ｂ，Ｃのデバイスを監視して、変数テーブル１５の内容を更新し、変数テーブル１５を参照してフィールドバスＡ，Ｂ，Ｃのデバイスにコントロールデータを送出する。
【００３７】
このフィールドバス監視・制御部１７は、図３に示すように、フィールドバス監視部１７Ａとフィールドバス制御部１７Ｂとに機能が分割して構成される。フィールドバス監視部１７Ａは、フィールドバスドライバ１８ａからモニタデータを受信すると、変数テーブル１５の内容を更新する。このとき、フィールドバス監視部１７Ａは、モニタデータに含まれるデバイスのオブジェクトＩＤによってデバイス名を認識して、当該デバイスの状態を書き換える。フィールドバス制御部１７Ｂは、アプリケーション処理部１６からコントロールデータを受信した場合、変数テーブル１５及び構成記述ファイルを参照してコントロールデータの送出先のフィールドバス及びデバイス等を判定して、フィールドバスドライバ１８ａに転送する。
【００３８】
アプリケーション処理部１６は、デバイスが実現するアプリケーション処理を制御する。このアプリケーション処理部１６は、変数テーブルを参照して、フィールドバス監視・制御部１７に制御・監視リクエストを与える。これによって、ネットワークＮＷを介してユーザから送信された監視リクエスト、制御リクエストに従って、デバイスを動作させる。
【００３９】
また、このアプリケーション処理部１６は、図３に示すように、デバイスにコントロールデータを送出するアプリケーション処理部１６Ａと、後述の図７の連携テーブル１６Ｂと、自己の構成記述情報に従って連携テーブル１６Ｂを更新するアプリケーション更新部１６Ｃとして構成されていても良い。
【００４０】
構成記述情報ドライバ１４には、自己に接続されたフィールドバスＡ，Ｂ，Ｃを制御するための構成記述ファイルが格納されている。構成記述情報ドライバ１４は、図３に示すように、記憶制御部１２と接続され、自己の構成記述ファイルを記憶する構成記述ファイル記憶部１４ａを備える。構成記述情報ドライバ１４は、他のデバイスコントローラから複数の構成記述ファイルが送信された場合、構成記述ファイル記憶部１４ａの構成記述ファイルを、情報選択部１２Ｅで選択された構成記述ファイルに書き換える。また、構成記述情報ドライバ１４は、例えば、フィールドバスＡ，Ｂ，Ｃに新たなデバイスが接続された場合、フィールドバス監視部１７Ａによって新たなデバイスについての情報が変数テーブル１５に追加されたことがデバイスコントローラＩＤ記憶部１９から通知されると、当該フィールドバスＡ，Ｂ，Ｃの変更を構成記述ファイルに反映させる。これによって、構成記述ファイルを常に最新のものに保持できる。
【００４１】
この構成記述ファイルに含まれる情報（構成記述情報）には、図５に示ような自己に接続されているフィールドバスを定義するフィールドバステーブル、図６の変数テーブル１５、図７に示すようなデバイス間で行う連携動作を定義する連携テーブル、図８に示すようなその他のパラメータを格納したソフトウェアパラメータが含まれる。
【００４２】
図５に示すフィールドバステーブルは、フィールドバスＡ，Ｂ，ＣそれぞれのフィールドバスＩＤ（ｆｂ０，ｆｂ１，ｆｂ２，・・・）と、フィールドバスＡ，Ｂ，Ｃで採用している方式（ＥＭＩＴ、エヌマスト、ロン）を定義するフィールドバス情報とが対応付けられている。このフィールドバステーブルは、フィールドバス監視・制御部１７に読み込まれて、自己に接続されたフィールドバスＡ，Ｂ，Ｃを特定するために参照される。
【００４３】
図６に示す変数テーブル１５は、上述したように構成され、フィールドバス監視・制御部１７及びアプリケーション処理部１６によって、自己に接続されたデバイスの状態等を特定するために参照される。この変数テーブル１５は、図４に示す変数テーブル更新部１５Ａによって、構成記述情報を参照して更新される。
【００４４】
図７に示す連携テーブルは、連携動作を開始するトリガとなるデバイスのイベントを定義した連携発生イベント情報と、当該連携発生イベントが発生した場合に応答するデバイスを定義した連携応答デバイス情報と、当該連携応答デバイスが動作した結果を定義する連携結果情報とが対応付けられている。この連携テーブルは、イベント発生をフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃを介してフィールドバス監視・制御部１７で検知した時に、アプリケーション処理部１６によって参照される。そして、アプリケーション処理部１６は、連携テーブルに該当するイベントが発生したと判定した場合には、連携応答デバイスが連携結果を満たすように動作させる。なお、この連携テーブルは、図３に示すように、アプリケーション処理部１６の一部の機能（連携テーブル１６Ｂ）として構成されていても良い。
【００４５】
図８に示すソフトウェアパラメータには、パラメータとして記憶しておく情報の種類と、パラメータ種類情報と、パラメータ値とが対応付けられて格納されている。本例では、分散型共有メモリ１３のサイズ、自己の構成記述ファイルの容量、デバイスの制御回数をパラメータとして記憶している。また、このソフトウェアパラメータとしては、フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃで使用するパラメータ、アプリケーション処理部１６で使用するパラメータ、記憶制御部１２で使用するパラメータ、Ｐ２Ｐ通信処理部１１で使用するパラメータ等も含む。
【００４６】
例えば分散型共有メモリ１３のサイズは、記憶制御部１２によって参照されて、他のデバイスコントローラＤｉの構成記述ファイルが格納できるか否かが判定され、自己の構成記述ファイルの容量は、他のデバイスコントローラＤｉに自己の構成記述ファイルが格納できるか否かが判定される。
【００４７】
記憶制御部１２は、ネットワークＮＷの全体における分散型共有メモリ１を利用して、他のデバイスコントローラＤｉの分散型共有メモリ１３に自己の構成記述ファイルをバックアップさせる処理と、他のデバイスコントローラＤｉの構成記述ファイルを自己の分散型共有メモリ１３にバックアップする処理とを行う。記憶制御部１２は、自己の構成記述ファイルを他のデバイスコントローラＤｉにバックアップさせる場合、構成記述情報ドライバ１４に記憶された自己の構成記述ファイルを読み出して、Ｐ２Ｐ通信処理部１１から他のデバイスコントローラＤｉに送信させる。また、記憶制御部１２は、他のデバイスコントローラＤｉからバックアップリクエストをＰ２Ｐ通信処理部１１を介して受け付けて、分散型共有メモリ１３に他のデバイスコントローラＤｉの構成記述ファイルを格納する。
【００４８】
また、図４に示すように、デバイスコントローラＤｉは、作業者の操作パネルへの操作やディップスイッチへの動作などによって、デバイスコントローラＩＤが与えられる。このデバイスコントローラＩＤは、デバイスコントローラＩＤ記憶部１９に格納される。
【００４９】
このようなデバイスコントローラＤｉは、図３に示すように、記憶制御部１２として、情報受信部１２Ａ、情報更新部１２Ｂ、情報要求部１２Ｃ、構成記述情報メモリ１２Ｄ、情報選択部１２Ｅを備えている。
【００５０】
情報要求部１２Ｃは、構成記述ファイル記憶部１４ａ内のソフトウェアパラメータから自己の構成記述ファイルがないことを検知した場合には、デバイスコントローラＩＤを含むファイル転送リクエストをＰ２Ｐ通信処理部１１から送信させる。このファイル転送リクエストを送信したことに応じて、他のデバイスコントローラＤｉから一又は複数個の構成記述ファイルをＰ２Ｐ通信処理部１１で受信すると、当該構成記述ファイルを情報受信部１２Ａで受信する。情報受信部１２Ａは、複数個の構成記述ファイルを構成記述情報メモリ１２Ｄに蓄積すると、情報選択部１２Ｅは、構成記述情報メモリ１２Ｄに投票された形で格納された複数個の構成記述ファイルのうち、最新且つ改悪されていない構成記述ファイルＣＦＧｉを選択して、構成記述情報ドライバ１４で使用可能とする。このとき、情報選択部１２Ｅは、構成記述ファイルＣＦＧｉに付加されたタイムスタンプを参照して、最新の構成記述ファイルＣＦＧｉを選択する。これによって、構成記述情報ドライバ１４は、構成記述ファイル記憶部１４ａに格納された構成記述ファイルを最新のものとする。
【００５１】
また、記憶制御部１２は、例えばフィールドバスＡ，Ｂ，Ｃの構成が変化した場合や、古い構成記述ファイルを記憶しているデバイスコントローラＤｉが検知された場合に、当該構成記述ファイルを更新する必要がある。このとき、記憶制御部１２は、情報更新部１２Ｂによって、構成記述ファイルの更新が必要であることを、構成記述ファイル記憶部１４ａのソフトウェアパラメータから検知する。そして、情報更新部１２Ｂは、自己の構成記述ファイルを更新するファイル更新リクエストにデバイスコントローラＩＤを含めて、Ｐ２Ｐ通信処理部１１からブロードキャストさせる。
【００５２】
このように、自己に接続されたサブネットワークの構成が変化した場合に、当該変化した構成に応じて自己の構成記述ファイルを更新させ、他のデバイスコントローラの構成記述ファイルを更新するので、常に最新の構成記述ファイルを記憶しておくことができる。
【００５３】
更に、記憶制御部１２は、他のデバイスコントローラＤｉから構成記述ファイルを情報受信部１２Ａで受信した場合、当該他のデバイスコントローラＤｉの構成記述ファイルを分散型共有メモリ１３に記憶させる。また、記憶制御部１２は、他のデバイスコントローラＤｉから当該デバイスコントローラＤｉのファイル転送リクエストを受信した場合には、情報受信部１２Ａによって、当該ファイル転送リクエストに含まれるデバイスコントローラＩＤに該当する構成記述ファイルを読み出して、送信する。
【００５４】
例えば図９に示すように、デバイスコントローラＤ４の構成記述ファイルが作業者によって最新の構成記述ファイル（４＋）に交換された場合、デバイスコントローラＤ４は、他のデバイスコントローラＤ１〜Ｄ３に、自己のデバイスコントローラＩＤを含むファイル更新リクエストをブロードキャストする。これによって、他のデバイスコントローラＤ１〜Ｄ３の分散型共有メモリ１−Ｄ１，１−Ｄ２，１−Ｄ３の構成記述ファイルを最新の構成記述ファイル（４＋）に変更できる。
【００５５】
また、図１０（ａ）に示すように、デバイスコントローラＤ１〜Ｄ３にＰ２Ｐ接続されていたデバイスコントローラが交換された場合、交換された時点では、デバイスコントローラＩＤが与えられていない。そして、図１０（ｂ）に示すように、デバイスコントローラＤ４にデバイスコントローラＩＤ（ＩＤ：４）が与えられてデバイスコントローラＩＤ記憶部１９に記憶されると、情報要求部１２Ｃは、当該デバイスコントローラＩＤを含むファイル転送リクエストをブロードキャストする。これによって、図１０（ｃ）に示すように、デバイスコントローラＤ１〜Ｄ３のうち、デバイスコントローラＤ１，Ｄ２からデバイスコントローラＩＤ（４）に該当する構成記述ファイルが送信され、デバイスコントローラＤ４によって受信できる。ここで、デバイスコントローラＤｉ３は、現在記憶制御部１２を含む処理負荷が高いために、デバイスコントローラＤ４からのファイル転送リクエストをキャンセルしている。
【００５６】
つぎに、上述したように構成されて図９及び図１０に示すように動作する分散記憶システムの動作手順について、図１１及び図１２を参照して説明する。なお、図１１及び図１２は、ユーザ、他のデバイスコントローラ、デバイスコントローラＤｉの構成要件の間の関わりを矢印で示し、当該矢印の動作内容（ステップ）を左端に記載している。
【００５７】
図１１に示すように、デバイスコントローラは、先ず、作業者（ユーザ）の操作によって、デバイスコントローラＩＤ（＝４）が設定作業されると（ステップＳ１）、デバイスコントローラＩＤ記憶部１９のデバイスコントローラＩＤを変更する（ステップＳ２）。
【００５８】
次に、デバイスコントローラＩＤ記憶部１９は、デバイスコントローラＩＤが変更されたことを構成記述情報ドライバ１４に通知し、構成記述情報ドライバ１４は、構成記述ファイル記憶部１４ａの構成記述ファイルをリセットする（ステップＳ３）。
【００５９】
次に、構成記述ファイル記憶部１４ａから情報要求部１２Ｃに、構成記述ファイルがリセットされて空状態になっていることを通知し（ステップＳ４）、情報要求部１２Ｃは、ファイル転送リクエストをＰ２Ｐ通信処理部１１に渡す（ステップＳ５）。このファイル転送リクエストには、ステップＳ２で与えられた自己のデバイスコントローラＩＤを含める。次にＰ２Ｐ通信処理部１１は、情報要求部１２Ｃから受け取ったファイル転送リクエストを所定のパケットに変換して、他のデバイスコントローラＤ１〜Ｄ３にブロードキャストする（ステップＳ６）。
【００６０】
デバイスコントローラＤ１〜Ｄ３は、ファイル転送リクエストを受信すると、当該ファイル転送リクエストに含まれるデバイスコントローラＩＤ（＝４）に該当する構成記述ファイルを返信することによって、当該複数の構成記述ファイルを、デバイスコントローラＤ４のＰ２Ｐ通信処理部１１で受信させ、情報受信部１２Ａに渡す（ステップＳ７）。
【００６１】
この結果、情報受信部１２Ａは、自己の構成記述ファイルを複数個受信して（ステップＳ７）、当該複数個の構成記述ファイルを構成記述情報メモリ１２Ｄに格納させる（ステップＳ８）。
【００６２】
次に、構成記述情報メモリ１２Ｄに他のデバイスコントローラＤ１〜Ｄ３によって投票された形の格納された複数個の構成記述ファイルから、最新且つ改悪されていない構成記述ファイルを情報選択部１２Ｅで選択して（ステップＳ９）、構成記述情報ドライバ１４に渡し、構成記述情報ドライバ１４によって構成記述ファイル記憶部１４ａに構成記述ファイルを記憶させる（ステップＳ１０）。
【００６３】
次に、図１２に示すように、図１１のステップＳ１６で更新された構成記述ファイルによって、フィールドバス制御部１７Ｂ、フィールドバス監視部１７Ａ、フィールドバスドライバ１８ａ、フィールドバスインターフェース部１８ｂの動作を更新し（ステップＳ１２）、更に、変数テーブル更新部１５Ａによって変数テーブル１５を更新し（ステップＳ１３）、アプリケーション処理部１６フィールドバスＣによって連携テーブル１６Ｂを更新する（ステップＳ１４）。
【００６４】
このように、デバイスコントローラの構成記述ファイルを、一又は複数の他のデバイスコントローラの分散型共有メモリ１３に分散記憶させておくことで、当該分散記憶させた構成記述ファイルをダウンロードするだけでデバイスコントローラの設定を行うことができ、作業者の手作業による設定手法や、サーバに接続する設定手法を採用することなく、簡単、低コスト、短時間でデバイスコントローラの設定を行うことができる。また、ある構成記述ファイルにバグがあっても、他の構成記述ファイルを使用して設定を行うことができる。
【００６５】
また、フィールドバス制御部１７Ｂ、フィールドバス監視部１７Ａ、フィールドバスドライバ１８ａ、フィールドバスインターフェース部１８ｂの動作が更新されると、フィールドバスＡ，Ｂ，Ｃを動作開始させ（ステップＳ１５）、変数テーブル１５及び連携テーブル１６Ｂが更新されるとアプリケーション処理部１６の動作を開始させる（ステップＳ１６）。
【００６６】
そして、フィールドバスインターフェース部１８ｂによって、フィールドバスＡ，Ｂ，Ｃの温度センサや人感センサ等からセンサ情報を受信すると（ステップＳ１７）、フィールドバスドライバ１８ａによってモニタデータを作成して、フィールドバス監視部１７Ａに通知され、フィールドバス監視部１７Ａは、当該センサ情報を送信したデバイスに係わる変数テーブル１５のセンサ値を更新する（ステップＳ１８）。ここで、デバイスのＭＯＳ機能部２１によってセンサ値に基づくイベントが発生し、センサ値及びイベントがフィールドバス監視部１７Ａ（ＯＡＳ機能部３１）で検知されたものとする。
【００６７】
次に、アプリケーション処理部１６は、変数テーブル１５からフィールドバスＡ，Ｂ，Ｃの状態を読み出し（ステップＳ１９）、更に、連携テーブル１６ＢからステップＳ２３で受信したイベントが連携テーブル１６Ｂの連携発生イベントとして格納されていて、連携応答デバイスが設定されているかを判定する（ステップＳ２０）。次に、アプリケーション処理部１６は、受信したセンサ値によって変数テーブル１５のデバイス状態を更新し、連携テーブル１６Ｂによって判定された連携応答デバイスに対応した変数テーブル１５のデバイス状態を更新する（ステップＳ２１）。
【００６８】
これによって、フィールドバス制御部１７Ｂは、変数テーブル１５の変化を検出すると、当該更新内容に従って連携動作に相当するコントロールデータをフィールドバスドライバ１８ａに送信し（ステップＳ２２）、フィールドバスドライバ１８ａは、コントロールデータをコマンドに変換させてフィールドバスインターフェース部１８ｂから送信させる（ステップＳ２３）。
【００６９】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００７０】
【図１】本発明を適用した分散記憶システムの構成を示すシステム図である。
【図２】本発明を適用した分散記憶システムにおいてデバイスコントローラの構成を示すブロック図である。
【図３】本発明を適用した分散記憶システムにおいてデバイスコントローラの詳細な構成を示すブロック図である。
【図４】本発明を適用した分散記憶システムにおいて、ＥＭＩＴ技術を採用したデバイスとフィールドバスインターフェースの構成を示すブロック図である。
【図５】フィールドバステーブルの構成図である。
【図６】本発明を適用した分散記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれる変数テーブルの構成図である。
【図７】本発明を適用した分散記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれる連携テーブルの構成図である。
【図８】本発明を適用した分散記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれるソフトウェアパラメータを示す図である。
【図９】本発明を適用した分散記憶システムにおいて、デバイスコントローラの構成記述ファイルが更新された時の動作を説明するためのシステム図である。
【図１０】（ａ）はデバイスコントローラが交換される様子を示し、（ｂ）はデバイスコントローラにＩＤが与えられる様子を示し、（ｃ）はＩＤが与えられたデバイスコントローラに他のデバイスコントローラから構成記述ファイルが送信される様子を示す図である。
【図１１】本発明を適用した分散記憶システムにおいて、デバイスコントローラのＩＤが与えられて、構成記述ファイルを更新するまでの処理を示すシーケンス図である。
【図１２】本発明を適用した分散記憶システムにおいて、デバイスコントローラの構成記述ファイルを更新されて、デバイスコントローラによってデバイスを制御するまでの処理を示すシーケンス図である。
【符号の説明】
【００７１】
１  分散型共有メモリ
１１  Ｐ２Ｐ通信処理部
１２  記憶制御部
１２Ａ  情報受信部
１２Ｂ  情報更新部
１２Ｃ  情報要求部
１２Ｄ  構成記述情報メモリ
１２Ｅ  情報選択部
１３  分散型共有メモリ
１４  構成記述情報ドライバ
１４ａ  構成記述ファイル記憶部
１５  変数テーブル
１５Ａ  変数テーブル更新部
１６，１６Ａ  アプリケーション処理部
１６Ｂ  連携テーブル
１６Ｃ  アプリケーション更新部
１７  フィールドバス監視・制御部
１７Ａ  フィールドバス監視部
１７Ｂ  フィールドバス制御部
１８Ａ，１８Ｂ，１８Ｃ  フィールドバスインターフェース
１８ａ  フィールドバスドライバ
１８ｂ  フィールドバスインターフェース部
１９  デバイスコントローラＩＤ記憶部
２１  ＭＯＳ機能部
２１ａ  機能
２１ｂ  イベント
２１ｃ  変数
２１ｄ，３１ｄ  オブジェクトＩＤ
２１ｅ  サービステーブル
２２  アプリケーション処理部
２３  インターフェースモジュール
２４  能力テーブル
３１  ＯＡＳ機能部３１
３１ａ  デバイスアクセスサーバ
３１ｂ  サービス情報
３１ｃ  デバイスアクセスコントローラ
３２  通信モジュール
【図１】
2007179278.tif 000003
【図２】
2007179278.tif 000004
【図３】
2007179278.tif 000005
【図４】
2007179278.tif 000006
【図５】
2007179278.tif 000007
【図６】
2007179278.tif 000008
【図７】
2007179278.tif 000009
【図８】
2007179278.tif 000010
【図９】
2007179278.tif 000011
【図１０】
2007179278.tif 000012
【図１１】
2007179278.tif 000013
【図１２】
2007179278.tif 000014