(57)【特許請求の範囲】
【請求項１】
第１の外部機器から収集した第１の情報を記憶する記憶部と、
自己が他のデータサーバユニットを管理する親機能であるか、又は他のデータサーバユニットに管理される子機能であるかを設定する親子管理部と、
前記親子管理部で親機能が設定されている場合、外部のクライアントからデータ収集要求を受信すると、前記データ収集要求に対応する情報を前記記憶部又は前記他のデータサーバユニットから前記クライアントに送信し、前記親子管理部で子機能が設定されている場合、前記親機能の設定されている前記他のデータサーバユニットに前記第１の情報を送信する制御部と、
を備えることを特徴とするデータサーバユニット。
【請求項２】
前記第１の外部機器と自己との間の第１の接続関係、および前記他のデータサーバユニットと前記他のデータサーバユニットに接続された第２の外部機器との間の第２の接続関係を示す接続構成情報を有し、
前記制御部は、前記データ収集要求を受信すると、前記接続構成情報に基づき、前記第１の外部機器が収集した前記第１の情報または前記第２の外部機器が収集した第２の情報を選択して前記クライアントに送信する
ことを特徴とする請求項１に記載のデータサーバユニット。
【請求項３】
前記制御部は、
前記データ収集要求で前記第２の外部機器が指定されている場合、前記接続構成情報に基づいて、前記第２の外部機器から前記第２の情報を収集した前記他のデータサーバユニットを特定し、前記他のデータサーバユニットから収集した前記第２の情報を前記クライアントに送信する、
ことを特徴とする請求項２に記載のデータサーバユニット。
【請求項４】
前記制御部は、
前記子機能が設定された場合に、前記クライアントから前記データ収集要求を受信すると、前記親機能の設定されている前記他のデータサーバユニットに前記データ収集要求を転送する、
ことを特徴とする請求項１から３のいずれか１つに記載のデータサーバユニット。
【請求項５】
前記第１の外部機器との間で通信を行なう通信インタフェースをさらに備え、
前記第１の外部機器は、前記通信インタフェースに接続されたデバイスまたは前記通信インタフェースに接続された外部ユニットであり、
前記第１の情報は、前記デバイスの情報または前記外部ユニット内の情報である、
ことを特徴とする請求項１から４のいずれか１つに記載のデータサーバユニット。
【請求項６】
前記制御部は、
前記親機能が設定された場合には、前記クライアントから前記データ収集要求を受信した際、または一定の周期毎に、前記他のデータサーバユニットから前記第２の情報を読み出す、
ことを特徴とする請求項２に記載のデータサーバユニット。
【請求項７】
前記制御部は、
前記子機能が設定された場合には、前記他のデータサーバユニットから要求があった際、または一定の周期毎に、前記親機能の設定されている前記他のデータサーバユニットに前記第１の情報を送信する、
ことを特徴とする請求項１から６のいずれか１つに記載のデータサーバユニット。
【請求項８】
前記第１の外部機器から前記第１の情報を収集する収集部をさらに備え、
前記収集部は、イベントが発生した際または一定の周期毎に前記第１の外部機器から前記第１の情報を収集する、
ことを特徴とする請求項１から７のいずれか１つに記載のデータサーバユニット。
【請求項９】
前記制御部は、ＯＰＣまたはＯＰＣ  ＵＡで規定されるフォーマットに従って前記クライアントとの間のデータ通信を制御する、
ことを特徴とする請求項１から８のいずれか１つに記載のデータサーバユニット。
【請求項１０】
前記制御部は、ＯＰＣまたはＯＰＣ  ＵＡで規定されるフォーマットに従って前記他のデータサーバユニットとの間のデータ通信を制御する、
ことを特徴とする請求項１から９のいずれか１つに記載のデータサーバユニット。
【請求項１１】
第１のデバイスから第１のデバイス情報を収集する第１のデータサーバユニットと、
第２のデバイスから第２のデバイス情報を収集する第２のデータサーバユニットと、
前記第１のデータサーバユニットおよび前記第２のデータサーバユニットから前記第１のデバイス情報および前記第２のデバイス情報を収集するクライアントと、
を有し、
前記第１のデータサーバユニットは、
前記第１のデータサーバユニットが収集した前記第１のデバイス情報を記憶するデータ記憶部と、
前記第２のデータサーバユニットを管理する機能である親機能または前記第２のデータサーバユニットに管理される機能である子機能の何れかを設定可能な親子管理部と、
前記親機能が設定された場合には、前記第２のデータサーバユニットが収集した前記第２のデバイス情報を前記第２のデータサーバユニットから収集して前記データ記憶部に記憶させ、前記子機能が設定された場合には、前記親機能の設定されている前記第２のデータサーバユニットに前記第１のデバイス情報を送信する制御部と、
を備え、
前記制御部は、
前記親機能が設定された場合には、
前記第２のデータサーバユニットと前記第１のデバイスとの間の第１の接続関係および前記第２のデータサーバユニットと前記第２のデバイスとの間の第２の接続関係を示す接続構成情報を記憶しておき、
前記クライアントからデータ収集の要求であるデータ収集要求を受信すると、前記データ収集要求および前記接続構成情報に基づいて、前記第１のデバイス情報または前記第２のデバイス情報を選択して前記クライアントに送信する、
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を収集するデータサーバユニットおよび通信システムに関する。
【背景技術】
【０００２】
工場の生産工程の自動化を図るＦＡ（Factory  Automation）の分野で用いられる制御システムでは、ＦＡコントローラであるデータサーバユニット（以下、単にデータサーバと呼ぶ）が、センサやロボット等のデバイスから生産設備に関するデータを収集している。制御システムではデータサーバが複数存在する場合もあり、コンピュータであるクライアントは所望のデータを収集するデータサーバに接続することで、クライアントは所望のデバイスの情報を、データサーバを介して収集している。【０００３】
特許文献１には、クライアントがデータサーバ（フィールドサーバに相当）を介して、データサーバに接続されたデバイス（フィールド機器に相当）を操作し、デバイスが自発的にデバイスに関係する情報をデータサーバに送信することで、データサーバがデバイスに関係する情報を収集することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７７５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術である特許文献１では、単体のデータサーバしか記載されておらず、デバイスの接続されたデータサーバが複数ある場合、クライアントは、所望のデバイスに関する情報を入手するには、所望のデバイスが接続されたデータサーバを選択し、選択したデータサーバと通信する必要があった。【０００６】
本発明は、上記に鑑みてなされたものであって、複数のデータサーバが組み合わされたシステムにおいて、クライアントがどのデータサーバに接続しても、所望のデータを取得することができるデータサーバユニットを得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、第１の外部機器から収集した第１の情報データを記憶する記憶部と、自己が他のデータサーバユニットを管理する親機能であるか、又は他のデータサーバユニットに管理される子機能であるかを設定する親子管理部と、親子管理部で親機能が設定されており、外部のクライアントからデータ収集要求を受信すると、データ収集要求に応じた情報データを記憶部又は他のデータサーバユニットからクライアントに送信する制御部と、を備えるようにした。
【発明の効果】
【０００８】
本発明にかかるデータサーバユニットは、他のデータサーバユニットと組み合わせがなされ、クライアントがどのデータサーバユニットに接続しても、クライアントに所望のデータを送信できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかるデータサーバユニットを備えた通信システムの構成を示す図
【図２】実施の形態にかかるサーバシステムの構成を示す図
【図３】実施の形態にかかるデータサーバユニットの構成を示す図
【図４】実施の形態にかかる親データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図
【図５】実施の形態にかかる親データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャート
【図６】実施の形態にかかる子データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図
【図７】実施の形態にかかる子データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャート
【図８】実施の形態にかかるデータサーバユニットが第１の接続構成で接続されている場合の接続構成図
【図９】実施の形態にかかるデータサーバユニットが第３の接続構成で接続されている場合の接続構成図
【図１０】実施の形態にかかる第１の親子設定処理を説明するための図
【図１１】実施の形態にかかる第２の親子設定処理を説明するための図
【図１２】実施の形態にかかる第３の親子設定処理を説明するための図
【図１３】実施の形態にかかる第４の親子設定処理を説明するための図
【図１４】実施の形態にかかるエンジニアリングツールが、親子設定処理を行う際に表示させる画面例を説明するための図
【図１５】実施の形態にかかるデータサーバユニットのハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるデータサーバユニット（以下、単にデータサーバと呼ぶ）および通信システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態
まず、実施の形態にかかるデータサーバが適用される通信システムの構成例について説明する。図１は、実施の形態にかかるデータサーバを備えた通信システムの構成を示す図である。
【００１２】
通信システム１０２は、ホスト装置である１つまたは複数のクライアント１と、クライアント１に接続されたプログラマブルロジックコントローラ（ＰＬＣ：Programmable  Logic  Controller）システム９１と、ＰＬＣシステム９１に接続されたＰＬＣシステム９２と、クライアント１に接続された上位装置２６とを備えている。
【００１３】
上位装置２６は、クライアント１の上位側のコンピュータであり、インターネット２７に接続されている。上位装置２６は、クライアント１を含む複数のクライアントに接続されており、複数のクライアントから情報データ（以下、単に情報と呼ぶ）を収集する。なお、上位装置２６は、インターネット２７以外のネットワークに接続されていてもよいし、更に他の上位装置に接続されていてもよい。また、クライアント１がインターネット２７に接続されてもよいし、ＰＬＣシステム９１がインターネット２７を介してクライアント１に接続されてもよい。また、本実施の形態では、上位装置２６を備えているが、上位装置２６が無くても良い。
【００１４】
クライアント１は、上位装置２６に接続されており、上位装置２６からの指示データ（以下、単に指示と呼ぶ）に従って動作する。なお、クライアント１は、ユーザからの指示に従って動作してもよい。クライアント１は、クライアント１よりも下位側に接続されているＰＬＣシステム９１，９２から情報を収集するコンピュータである。クライアント１は、ＰＬＣシステム９１，９２から見て上位側に接続された上位情報処理装置である。クライアント１は、スキャダ（ＳＣＡＤＡ：Supervisory  Control  And  Data  Acquisition）であってもよいし、基幹系情報システムのＥＲＰ（Enterprise  Resource  Planning）に適用されるコンピュータであってもよい。ＳＣＡＤＡは、産業制御システムであり、コンピュータによってシステム監視およびプロセス制御を行う。ＳＣＡＤＡは、データ収集および監視制御システムとも呼ばれる。
【００１５】
ＰＬＣシステム９１，９２は、複数のＰＬＣを配置することが可能なよう構成されている。ＰＬＣは、機械制御に特化したラダー言語によって種々の機器を制御するＦＡ用コントローラである。ここでのＰＬＣシステム９１は、ＰＬＣであるＣＰＵ（Central  Processing  Unit）８、およびＰＬＣであるデータサーバ１０Ｘ，１０Ｙ，１０Ｚを有している。ＰＬＣシステム９１がユニット間でのデータ転送機能を有するベースユニットを有している場合、ＣＰＵ８およびデータサーバ１０Ｘ，１０Ｙ，１０Ｚは、ベースユニットに接続される。また、ＰＬＣシステム９２は、ＰＬＣであるＣＰＵ９、およびＰＬＣであるデータサーバ１１Ｘ，１１Ｙを有している。ＰＬＣシステム９２がベースユニットを有している場合、ＣＰＵ９およびデータサーバ１１Ｘ，１１Ｙは、ベースユニットに接続される。
【００１６】
ＣＰＵ８は、ＰＬＣシステム９１に配置されるとともに、ＰＬＣシステム９１に配置されているデータサーバ１０Ｘ，１０Ｙ，１０Ｚを制御するユニットである。ＣＰＵ９は、ＰＬＣシステム９２に配置されるとともに、ＰＬＣシステム９２に配置されているデータサーバ１１Ｘ，１１Ｙを制御するユニットである。
【００１７】
高度な情報処理が可能なユニットであるインテリジェント機能ユニットの一例である、データサーバ１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙは、ＦＡの分野で用いられるデータサーバ装置である。ＦＡは、ファクトリーオートメーションまたは工場自動化とも呼ばれる。データサーバ１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙは、下位側に接続されているデバイスを制御するとともに、下位側に接続されているデバイスのデバイス情報を収集するユニットである。デバイス情報の例は、デバイスの位置、デバイスの状態、デバイスの配置されている環境またはデバイスが検出した検出値である。データサーバ１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙに接続されるデバイスは、工場に配置されるフィールドデバイスである。
【００１８】
ＰＬＣシステム９１は、後述するバスＢ１を有しており、ＣＰＵ８およびデータサーバ１０Ｘ〜１０ＺがＰＬＣシステム９１に配置されることにより、ＣＰＵ８およびデータサーバ１０Ｘ〜１０ＺがバスＢ１に接続される。バスＢ１は、ＰＬＣであるＣＰＵ８およびデータサーバ１０Ｘ〜１０Ｚと、図示しない入出力モジュールと、を接続する通信経路である。なお、ＰＬＣシステム９１は、データサーバ１０Ｘ〜１０Ｚ以外のインテリジェント機能ユニットを有していてもよい。インテリジェント機能ユニットは、バスＢ１に接続可能な拡張モジュールである。
【００１９】
ＰＬＣシステム９２は、図示しないバスを有しており、ＣＰＵ９と、データサーバ１１Ｘと、データサーバ１１Ｙとがバスに接続される。なお、ＰＬＣシステム９２は、データサーバ１１Ｘ，１１Ｙ以外のインテリジェント機能ユニットを有していてもよい。
【００２０】
データサーバ１０Ｘは、クライアント１と、デバイスであるセンサ２１−１と、デバイスであるバーコードリーダー（ＢＣＲ：Bar-Code  Reader）２２と、デバイスであるロボット２３−１とに接続されている。センサ２１−１は、工場内の状態を計測し、計測結果をデータサーバ１０Ｘに送る。ＢＣＲ２２は、工場内でバーコードを読み取り、読み取り結果をデータサーバ１０Ｘに送る。ロボット２３−１は、データサーバ１０Ｘからの指示に従って動作する。
【００２１】
データサーバ１０Ｙは、デバイスであるセンサ２１−２と、デバイスであるロボット２３−２とに接続されている。センサ２１−２は、センサ２１−１と同様のセンサであり、計測結果をデータサーバ１０Ｙに送る。ロボット２３−２は、データサーバ１０Ｙからの指示に従って動作する。
【００２２】
データサーバ１０Ｚは、ＰＬＣシステム９２のデータサーバ１１Ｙに接続されており、ＰＬＣシステム９２内に格納されている情報であるＰＬＣシステム内情報を収集する。ＰＬＣシステム内情報は、ＰＬＣシステム９２内のユニットが収集した情報であり、ＰＬＣシステム９２内のユニットの情報であってもよいし、ＰＬＣシステム９２に接続されているデバイスのデバイス情報であってもよい。
【００２３】
データサーバ１１Ｘは、デバイスであるセンサ２１−３に接続されている。センサ２１−３は、センサ２１−１と同様のセンサであり、計測結果をデータサーバ１１Ｘに送る。データサーバ１１Ｙは、デバイスであるロボット２３−３に接続されている。ロボット２３−３は、データサーバ１１Ｙからの指示に従って動作する。
【００２４】
クライアント１は、標準の通信規格であるＯＰＣ（ＯＬＥ（Object  Linking  and  Embedding）  for  Process  Control）  ＵＡ（Unified  Architecture）に従って、データサーバ１０Ｘとの間でデータ通信を行なう。換言すると、クライアント１は、ＯＰＣ  ＵＡに規定されたフォーマットに従って動作する。また、データサーバ１０Ｘは、ＯＰＣ  ＵＡに従ってクライアント１との間でデータ通信を行ない、ＯＰＣ  ＵＡに従ってＣＰＵ８およびデータサーバ１０Ｙ，１０Ｚとの間でデータ通信を行なう。したがって、データサーバ１０Ｘ〜１０Ｚは、ＯＰＣ  ＵＡサーバである。
【００２５】
実施の形態では、データサーバ１０Ｘ〜１０Ｚが、下位側に接続されているデバイスの第１の情報であるデバイス情報を収集する。また、データサーバ１０Ｘ〜１０Ｚは、同一のバスＢ１に接続されており、データサーバ１０Ｘ〜１０Ｚ間でデータ通信を行なう。これにより、データサーバ１０Ｘ〜１０Ｚの何れか１つの代表のユニットが、代表以外のその他のデータサーバが収集した第２の情報であるデバイス情報をその他のデータサーバから収集する。代表のユニットが、後述する親データサーバであり、その他のユニットが子データサーバである。そして、代表のユニットである親データサーバは、クライアント１からの要求に従ってクライアント１にデバイス情報を送信する。
【００２６】
このように、データサーバ１０Ｘ〜１０Ｚは、データサーバ１０Ｘ〜１０Ｚ間で連携してデータ通信を行なっているので、クライアント１は、複数のデータサーバ１０Ｘ〜１０Ｚが存在することを意識することなく、単一のデータサーバにアクセスするように動作することができる。したがって、実施の形態では、クライアント１は、デバイス情報の格納位置を意識することなくデバイス情報を要求できる。これにより、クライアント１は、１台のデータサーバが設置されているように見えるシームレスなアクセスとスケーラビリティを実現することが可能となる。
【００２７】
なお、データサーバ１０Ｘは、ＯＰＣ  ＵＡ以外の通信方法に従ってクライアント１との間でデータ通信を行なってもよいし、ＯＰＣ  ＵＡ以外の通信方法に従ってＣＰＵ８およびデータサーバ１０Ｙ，１０Ｚとの間でデータ通信を行なってもよい。
【００２８】
以下では、クライアント１およびデータサーバ１０Ｘが、クライアント１とデータサーバ１０Ｘとの間でＯＰＣ  ＵＡに従ってデータ通信を実行し、ＰＬＣシステム９１内では、各ユニットがＯＰＣ  ＵＡ以外のデータ通信方法に従ってユニット間でデータ通信を実行する場合について説明する。ＯＰＣ  ＵＡ以外のデータ通信方法の例は、ＯＰＣに従ったデータ通信またはイーサネット（登録商標）を用いたデータ通信である。
【００２９】
なお、図１では、通信システム１０２に２段のＰＬＣシステム９１，９２が配置されている場合について説明したが、通信システム１０２に配置されるＰＬＣシステムは、１段であってもよいし、３段以上であってもよい。
【００３０】
また、通信システム１０２は、実施の形態にかかるデータサーバ１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙが適用される通信システムの一例であり、データサーバ１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙは、他の通信システムに適用されてもよい。
【００３１】
図２は、実施の形態にかかるサーバシステムの構成を示す図である。サーバシステム１０１は、通信システム１０２の一部であり、複数のデータサーバを有したデータサーバ群１００を備えている。図２では、データサーバ群１００が、第１のデータサーバであるデータサーバ１０Ｘと、第２のデータサーバであるデータサーバ１０Ｙとを備えている場合を示している。なお、データサーバ群１００には、データサーバ１０Ｚが含まれていてもよい。また、図２では、データサーバ１０Ｘが、フィールドデバイスであるデバイス３１Ｘ，３２Ｘに接続され、データサーバ１０Ｙが、フィールドデバイスであるデバイス３１Ｙ，３２Ｙに接続されている場合を示している。サーバシステム１０１は、生産システムといった産業用のシステムに適用される。
【００３２】
図１では、データサーバ１０Ｘ，１０Ｙが、同一のバスに接続されている場合について説明したが、図２では、データサーバ１０Ｘ，１０Ｙが、バス以外の個々の通信線４で接続されている場合について説明する。
【００３３】
第１のデバイスであるデバイス３１Ｘ，３２Ｘは、前述のセンサ２１−１、ＢＣＲ２２またはロボット２３−１といった第１の外部機器である。また、第２のデバイスであるデバイス３１Ｙ，３２Ｙは、前述のセンサ２１−２またはロボット２３−２といった第２の外部機器である。
【００３４】
データサーバ１０Ｘは、通信線４を介してデータサーバ１０Ｙに接続されている。そして、データサーバ１０Ｘおよびデータサーバ１０Ｙは、通信線４を介して、データサーバ１０Ｘ，１０Ｙ間のデータ通信を行なう。データサーバ１０Ｘは、デバイス３１Ｘ，３２Ｘにアクセスし、デバイス３１Ｘ，３２Ｘから第１のデバイス情報であるデバイス３１Ｘ，３２Ｘのデバイス情報を収集して保存する。また、データサーバ１０Ｙは、デバイス３１Ｙ，３２Ｙにアクセスし、デバイス３１Ｙ，３２Ｙから第２のデバイス情報であるデバイス３１Ｙ，３２Ｙのデバイス情報を収集して保存する。
【００３５】
サーバシステム１０１では、データサーバ１０Ｘ，１０Ｙの一方がクライアント１からのデータ収集要求に応答する親データサーバになり、他方が親データサーバにデバイス情報を提供する子データサーバになる。
【００３６】
データサーバ１０Ｘ，１０Ｙは、データサーバ１０Ｘ，１０Ｙの何れが親データサーバであり、何れが子データサーバであるかの親子情報を記憶している。親データサーバは、クライアント１からデバイス情報の要求であるデータ収集要求を受信すると、このデータ収集要求が親データサーバへの要求であるか子データサーバへの要求であるかを判定する。実施の形態では、クライアント１からデータ収集要求があると、親データサーバが、データを収集してクライアント１に送る。
【００３７】
具体的には、親データサーバは、親データサーバへのデータ収集要求を受信すると、親データサーバに接続されているデバイスからデバイス情報を収集してクライアント１に送る。一方、親データサーバは、子データサーバへのデータ収集要求を受信すると、子データサーバにデータを収集させる。これにより、子データサーバは、子データサーバに接続されているデバイスからデバイス情報を収集して親データサーバに送る。そして、親データサーバは、子データサーバから収集したデバイス情報をクライアント１に送る。また、子データサーバは、クライアント１からデータ収集要求を受信すると、親データサーバにデータ収集要求を転送する。
【００３８】
このように、サーバシステム１０１は、データサーバ１０Ｘ，１０Ｙ間でデバイス情報の送受信を行う。そして、クライアント１からデータサーバ１０Ｘ，１０Ｙの何れかにデータ収集要求があると、親データサーバがデバイス情報を収集してクライアント１に送信する。
【００３９】
図３は、実施の形態にかかるデータサーバの構成を示す図である。なお、ここではデータサーバが、データサーバ１０Ｘ，１０Ｙの２つである場合について説明するが、データサーバは３つ以上であってもよい。データサーバ１０Ｘ，１０Ｙは、データサーバ１０Ｘ，１０Ｙの何れか一方が親データサーバに設定され、他方が子データサーバに設定される。データサーバが３つ以上接続される場合には、１つのデータサーバが親データサーバに設定され、残りのデータサーバは、子データサーバに設定される。
【００４０】
なお、図３から図７の説明では、クライアント１に接続されるデータサーバがデータサーバ１０Ｘであり、クライアント１に接続されることなくデータサーバ１０Ｘに接続されるデータサーバがデータサーバ１０Ｙである場合について説明する。
【００４１】
データサーバ１０Ｘは、クライアント１およびエンジニアリングツール２８に接続可能なよう構成されている。図３では、データサーバ１０Ｘがクライアント１およびＰＬＣのパラメータ等を設定するエンジニアリングツール２８に接続されている場合を示しているが、データサーバ１０Ｘの稼働前にはエンジニアリングツール２８がデータサーバ１０Ｘに接続し、データサーバ１０Ｘの稼働中はクライアント１がデータサーバ１０Ｘに接続する。
【００４２】
エンジニアリングツール２８は、外部の装置であるコンピュータに格納されているツールである。エンジニアリングツール２８は、コンピュータとデータサーバ１０Ｘとが接続されることによって、データサーバ１０Ｘにアクセス可能となる。なお、エンジニアリングツール２８の動作を実行するためのソフトウェアを外部メモリに格納しておいてもよい。この場合、外部メモリがデータサーバ１０Ｘに接続され、データサーバ１０Ｘがソフトウェアを実行することによって、エンジニアリングツール２８が動作する。エンジニアリングツール２８が格納される外部メモリの例は、ＵＳＢ（Universal  Serial  Bus）メモリまたはＳＤ（Secure  Digital）カードである。以下では、エンジニアリングツール２８が外部の装置であるコンピュータに格納されている場合について説明する。
【００４３】
エンジニアリングツール２８は、データサーバ１０Ｘ，１０Ｙが稼働する前にデータサーバ１０Ｘにアクセスし、データサーバ１０Ｘ，１０Ｙの何れか一方を親データサーバに設定し、他方を子データサーバに設定する。エンジニアリングツール２８は、データサーバ１０Ｘが備えるＲＡＭ（Random  Access  Memory）９３Ｘに接続されてもよいし、データサーバ１０Ｘが備える後述のバスＢ２に接続されていてもよい。
【００４４】
エンジニアリングツール２８は、データサーバ１０Ｘ，１０Ｙを親データサーバに設定するか子データサーバに設定するかの指示をデータサーバ１０Ｘ，１０Ｙに送る。また、エンジニアリングツール２８は、データサーバ１０Ｘを親データサーバに設定する場合、後述の接続構成情報をデータサーバ１０Ｘに送る。この場合、エンジニアリングツール２８は、データサーバ１０Ｘを親データサーバに設定する指示と、接続構成情報とをデータサーバ１０Ｘに送る。
【００４５】
接続構成情報は、データサーバ群１００内に配置されているデータサーバの台数およびアドレスを含んでいる。ここでは、ＰＬＣシステム９１に配置されているデータサーバがデータサーバ１０Ｘ，１０Ｙの２台なので、接続構成情報は、「２台」を示す情報と、データサーバ１０Ｘ，１０Ｙのアドレスとを含んでいる。また、接続構成情報は、データサーバ１０Ｘ，１０ＹのＰＬＣシステム９１内における接続スロット番号またはＩＯ（Input  Output）番号を含んでいてもよい。
【００４６】
また、接続構成情報は、データサーバ１０Ｘが何れのデバイスに接続されているかを示す第１の接続関係の情報と、データサーバ１０Ｙが何れのデバイスに接続されているかを示す第２の接続関係の情報とを含んでいる。データサーバ１０Ｘが何れのデバイスに接続されているかを示す情報は、デバイス３１Ｘ，３２Ｘといったデータサーバ１０Ｘの下位側に接続されているデバイスの一覧である。また、データサーバ１０Ｙが何れのデバイスに接続されているかを示す情報は、デバイス３１Ｙ，３２Ｙといったデータサーバ１０Ｙの下位側に接続されているデバイスの一覧である。したがって、エンジニアリングツール２８は、データサーバ１０Ｘを親データサーバに設定する場合、データサーバ１０Ｘがデバイス３１Ｘ，３２Ｘに接続され、データサーバ１０Ｙがデバイス３１Ｙ，３２Ｙに接続されていることを示す接続構成情報をデータサーバ１０Ｘに送る。
【００４７】
一方、エンジニアリングツール２８は、データサーバ１０Ｙを親データサーバに設定する場合、接続構成情報をデータサーバ１０Ｙに送る。この場合、エンジニアリングツール２８は、データサーバ１０Ｙを親データサーバに設定する指示と、接続構成情報とをデータサーバ１０Ｙに送る。
【００４８】
データサーバ１０Ｘは、ユニット間でデータの送受信を行うユニット間連携部１２Ｘと、エンジニアリングツール２８から送られてくる指示および情報を一時的に記憶するＲＡＭ９３Ｘとを備えている。
【００４９】
データサーバ１０Ｘは、エンジニアリングツール２８から送られてくる指示または情報のうち、データサーバ１０Ｘへの指示または情報を、ユニット間連携部１２Ｘに格納する。また、データサーバ１０Ｘは、エンジニアリングツール２８から送られてくる指示または情報のうち、データサーバ１０Ｙへの指示または情報を、データサーバ１０Ｙに転送する。
【００５０】
ユニット間連携部１２Ｘは、集積回路を用いて構成されており、ＲＡＭ９３Ｘに接続されている。ユニット間連携部１２Ｘは、データサーバ１０Ｘが親データサーバであるか子データサーバであるかの情報である親子情報を管理する親子管理部１４Ｘと、デバイス３１Ｘ，３２Ｘからデバイス情報を収集するデバイス管理部１６Ｘと、デバイス管理部１６Ｘが収集したデバイス情報を記憶する構成管理部１５Ｘと備えている。
【００５１】
また、ユニット間連携部１２Ｘは、データサーバ１０Ｙへのデータの送信を行うとともにデータサーバ１０Ｙからのデータの受信を行うデータ転送部１７Ｘと、データサーバ１０Ｘ，１０Ｙ間で通信を行なう際に通信プロトコルを変換するプロトコル変換部１８Ｘとを備えている。ユニット間連携部１２Ｘは、後述する通信インタフェース７５を介して、クライアント１に接続されている。
【００５２】
データ転送部１７Ｘは、親子管理部１４Ｘ、デバイス管理部１６Ｘ、構成管理部１５Ｘおよびプロトコル変換部１８Ｘに接続されている。また、データ転送部１７Ｘは、データサーバ１０Ｙに接続されている。
【００５３】
ＲＡＭ９３Ｘは、データサーバ１０Ｘ内のバスＢ２を介して、親子管理部１４Ｘ、デバイス管理部１６Ｘ、構成管理部１５Ｘ、データ転送部１７Ｘおよびプロトコル変換部１８Ｘに接続されている。
【００５４】
親子管理部１４Ｘは、データサーバ１０Ｙを管理する親機能またはデータサーバ１０Ｙに管理される子機能の何れかを設定可能となっている。このように親機能と子機能とを設定可能な親子設定部である親子管理部１４Ｘは、エンジニアリングツール２８からの指示に従って、データサーバ１０Ｘを親データサーバまたは子データサーバに設定する。親子管理部１４Ｘは、データサーバ１０Ｘを親データサーバまたは子データサーバに設定するとともに親子情報を記憶する。
【００５５】
親子管理部１４Ｘは、後述する通信インタフェース７５を介してクライアント１に接続されており、通信インタフェース７５を介してクライアント１からのデータ収集要求を受付ける。親子管理部１４Ｘは、クライアント１からのデータ収集要求を構成管理部１５Ｘに送る。
【００５６】
なお、サーバシステム１０１において、データサーバ１０Ｘ，１０Ｙといったデータサーバが３つ以上接続されている場合、親子管理部１４Ｘは、接続されているデータサーバの親子情報を管理する。
【００５７】
デバイス管理部１６Ｘは、任意のタイミングでデバイス３１Ｘ，３２Ｘからデバイス情報を収集する収集部の機能を有している。デバイス管理部１６Ｘが、デバイス３１Ｘ，３２Ｘからデバイス情報を収集するタイミングの一例は、エンジニアリングツール２８によって設定されたタイミングである。
【００５８】
なお、デバイス管理部１６Ｘは、データサーバ１０Ｘが子データサーバである場合、親データサーバであるデータサーバ１０Ｙからデータ収集要求があった際に、デバイス３１Ｘ，３２Ｘからデバイス情報を収集してもよい。
【００５９】
また、デバイス管理部１６Ｘは、データサーバ１０Ｘが親データサーバである場合、クライアント１からのデータ収集要求があった際にデバイス３１Ｘ，３２Ｘからデバイス情報を収集してもよい。
【００６０】
また、デバイス管理部１６Ｘは、データサーバ１０Ｘが親データサーバである場合、クライアント１からデータ収集要求があった際に、子データサーバにデータ収集要求を送信してもよい。なお、子データサーバへのデータ収集要求は、構成管理部１５Ｘが送信してもよい。
【００６１】
デバイス管理部１６Ｘは、デバイス３１Ｘ，３２Ｘといったデータサーバ１０Ｘの下位側に接続されているデバイスの一覧を保持しており、この一覧に格納されているデバイスのデバイス情報を収集する。
【００６２】
デバイス管理部１６Ｘは、エンジニアリングツール２８によって設定されたタイミングでデバイス情報を収集する場合、デバイス３１Ｘ，３２Ｘからトランジェントまたはサイクリックにデバイス情報を収集する。
【００６３】
デバイス管理部１６Ｘは、デバイス情報をトランジェント収集する場合には、エンジニアリングツール２８によって設定されたイベントが発生すると、デバイス３１Ｘ，３２Ｘからデバイス情報を収集する。なお、エンジニアリングツール２８は、デバイス情報毎にデバイス情報を収集するためのイベントをデバイス管理部１６Ｘに設定しておく。
【００６４】
また、デバイス管理部１６Ｘは、デバイス情報をサイクリックに収集する場合には、エンジニアリングツール２８によって設定された周期でデバイス３１Ｘ，３２Ｘからデバイス情報を収集する。なお、エンジニアリングツール２８は、デバイス情報毎にデバイス情報を収集する周期をデバイス管理部１６Ｘに設定する。デバイス管理部１６Ｘは、デバイス３１Ｘ，３２Ｘから収集したデバイス情報を、構成管理部１５Ｘに送る。
【００６５】
構成管理部１５Ｘは、収集したデバイス情報を記憶するデータ記憶部１９Ｘを備えている。データ記憶部１９Ｘは、データサーバ１０Ｘが子データサーバである場合、デバイス３１Ｘ，３２Ｘのデバイス情報を記憶する。また、データ記憶部１９Ｘは、データサーバ１０Ｘが親データサーバである場合、デバイス３１Ｘ，３２Ｘのデバイス情報と、子データサーバであるデータサーバ１０Ｙから収集したデバイス３１Ｙ，３２Ｙのデバイス情報とを記憶する。このように、構成管理部１５Ｘは、データサーバ１０Ｘに接続されているデータサーバ１０Ｙのデバイス情報をロギングする。
【００６６】
構成管理部１５Ｘは、ユニット間連携部１２Ｘ内のデータ処理を制御する。したがって、構成管理部１５Ｘは、データ処理を制御する制御部の機能を有している。構成管理部１５Ｘが実行するデータ処理には、データの送受信またはデータ解析が含まれる。実施の形態の構成管理部１５Ｘは、親子管理部１４Ｘ、デバイス管理部１６Ｘおよびデータ転送部１７Ｘを制御する。構成管理部１５Ｘは、クライアント１との間でデータ通信を行なう際に親子管理部１４Ｘを制御し、データサーバ１０Ｙとの間でデータ通信を行なう際にデータ転送部１７Ｘを制御する。また、構成管理部１５Ｘは、デバイス３１Ｘ，３２Ｘとの間でデータ通信を行なう際に、デバイス管理部１６Ｘを制御する。
【００６７】
構成管理部１５Ｘは、ＯＰＣ  ＵＡに従ってクライアント１またはデータサーバ１０Ｙとの間でデータ通信を行なうために、ＯＰＣ  ＵＡ規格によって規定されるプロトコルに従った制御を実行するＯＰＣ  ＵＡ制御部の機能を備えている。なお、構成管理部１５Ｘは、プロトコル変換部１８Ｘを制御してもよい。この場合、構成管理部１５Ｘは、プロトコル変換部１８Ｘに接続される。
【００６８】
構成管理部１５Ｘは、データサーバ１０Ｘが親データサーバである場合に、クライアント１からデバイス３１Ｘ，３２Ｘのデバイス情報が要求されると、デバイス３１Ｘ，３２Ｘのデバイス情報を、親子管理部１４Ｘを介してクライアント１に送る。
【００６９】
また、構成管理部１５Ｘは、データサーバ１０Ｘが親データサーバである場合に、クライアント１からデバイス３１Ｙ，３２Ｙのデバイス情報が要求されると、データサーバ１０Ｙから収集したデバイス３１Ｙ，３２Ｙのデバイス情報を、親子管理部１４Ｘを介してクライアント１に送る。
【００７０】
また、構成管理部１５Ｘは、データサーバ１０Ｘが子データサーバである場合に、クライアント１からデータ転送要求があると、データ転送部１７Ｘを介してデータサーバ１０Ｙにデータ転送要求を転送する。
【００７１】
また、構成管理部１５Ｘは、データサーバ１０Ｘが子データサーバである場合に、親データサーバであるデータサーバ１０Ｙからデバイス情報の要求があると、デバイス３１Ｘ，３２Ｘのデバイス情報を、データ転送部１７Ｘを介してクライアント１に転送する。また、構成管理部１５Ｘは、クライアント１から送られてきた親子情報をデータサーバ１０Ｘに転送する。
【００７２】
データ記憶部１９Ｘは、エンジニアリングツール２８から送られてくる接続構成情報を記憶する。データサーバ１０Ｘが親データサーバである場合、データ記憶部１９Ｘは、データサーバ１０Ｙがデバイス３１Ｙ，３２Ｙに接続され、データサーバ１０Ｘがデバイス３１Ｘ，３２Ｘに接続されていることを示す接続構成情報を記憶する。なお、データ記憶部１９Ｘは、構成管理部１５Ｘの外部に配置されてもよい。
【００７３】
プロトコル変換部１８Ｘは、サーバシステム１０１内で通信プロトコルを変換し、異なる通信プロトコルを用いたネットワークを繋げる。具体的には、プロトコル変換部１８Ｘは、クライアント１とデータサーバ１０Ｘとの間の通信プロトコルを、データサーバ１０Ｘ，１０Ｙ間の通信プロトコルに変換する。また、プロトコル変換部１８Ｘは、データサーバ１０Ｘ，１０Ｙ間の通信プロトコルに従ったデータを、クライアント１とデータサーバ１０Ｘとの間の通信プロトコルに従ったデータに変換する。
【００７４】
プロトコル変換部１８Ｘは、クライアント１とデータサーバ１０Ｘとの間の通信プロトコルがＯＰＣ  ＵＡであり、データサーバ１０Ｘ，１０Ｙ間の通信プロトコルがイーサネットである場合、ＯＰＣ  ＵＡ形式のデータをイーサネット形式のデータに変換し、イーサネットをＯＰＣ  ＵＡに変換する。
【００７５】
データ転送部１７Ｘは、データサーバ１０Ｘ内のデータを、通信線４により伝送可能な形式の電気信号に変換する。換言すると、データ転送部１７Ｘは、データサーバ１０Ｘ，１０Ｙ同士のデータ授受の際に、通信データを指定のフォーマットに変換する。そして、データ転送部１７Ｘは、変換後の情報を、通信線４を介してデータサーバ１０Ｙに送信する。また、データ転送部１７Ｘは、データサーバ１０Ｙから送られてきた電気信号を、データサーバ１０Ｘ内で扱うことができるデータに変換する。また、データ転送部１７Ｘは、データサーバ１０Ｘ，１０Ｙ間の通信を調停する。
【００７６】
データサーバ１０Ｙは、データサーバ１０Ｘと同様の構成を有している。すなわち、データサーバ１０Ｙは、ユニット間連携部１２Ｘと同様の機能を有したユニット間連携部１２Ｙと、ＲＡＭ９３Ｘと同様の機能を有したＲＡＭ９３Ｙとを備えている。そして、ユニット間連携部１２Ｙは、親子管理部１４Ｘと同様の機能を有した親子管理部１４Ｙと、デバイス管理部１６Ｘと同様の機能を有したデバイス管理部１６Ｙと、構成管理部１５Ｘと同様の機能を有した構成管理部１５Ｙと備えている。また、構成管理部１５Ｙは、データ記憶部１９Ｘと同様の機能を有したデータ記憶部１９Ｙを備えている。また、ユニット間連携部１２Ｙは、データ転送部１７Ｘと同様の機能を有したデータ転送部１７Ｙと、プロトコル変換部１８Ｘと同様の機能を有したプロトコル変換部１８Ｙとを備えている。なお、データサーバ１０Ｘが備える構成要素間の接続関係と、データサーバ１０Ｙが備える構成要素間の接続関係も同様の接続関係を有している。
【００７７】
データサーバ１０Ｙが親データサーバである場合、データ転送部１７Ｙは、データ転送部１７Ｘから送られてくるクライアント１からのデータ収集要求を受信する。データ転送部１７Ｙは、受信したデータ収集要求を親子管理部１４Ｙに送る。これにより、親子管理部１４Ｙは、クライアント１からのデータ収集要求を受付ける。そして、親子管理部１４Ｙは、クライアント１からのデータ収集要求を構成管理部１５Ｙに送る。
【００７８】
なお、データサーバ１０Ｚが配置される場合、データサーバ１０Ｚが備える図示しないデータ転送部１７Ｚがデータサーバ１０Ｙのデータ転送部１７Ｙに接続される。また、デバイス管理部１６Ｘは、デバイス３１Ｘ，３２Ｘに限らずＰＬＣといった他のユニットから情報を収集してもよい。この場合、構成管理部１５Ｘのデータ記憶部１９Ｘは、構成管理部１５Ｘが他のユニットから収集した情報を記憶する。デバイス管理部１６Ｘが他のユニットにアクセスして情報を収集する場合、デバイス管理部１６Ｘがアクセスする他のユニットが第１の外部機器である。また、デバイス管理部１６Ｙが他のユニットにアクセスして情報を収集する場合、デバイス管理部１６Ｙがアクセスする他のユニットが第２の外部機器である。構成管理部１５Ｘが他のユニットから情報を収集する場合、エンジニアリングツール２８は、他のユニットが何れの情報を収集しているかの情報を接続構成情報内に含めておく。
【００７９】
つぎに、クライアント１からデータ収集要求があった場合のデバイス情報の収集処理について説明する。図４は、実施の形態にかかる親データサーバにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図である。図４では、クライアント１に接続されているデータサーバ１０Ｘが親データサーバになる場合のデバイス情報の収集処理について説明する。サーバシステム１０１は、データサーバ１０Ｘが親データサーバになる場合、データサーバ１０Ｙが子データサーバになる。
【００８０】
図４における親データサーバ４０Ａは、クライアント１に接続されているデータサーバ１０Ｘであり、図４における子データサーバ４０Ｂは、クライアント１に接続されていないデータサーバ１０Ｙである。この場合、子データサーバ４０Ｂは、親データサーバ４０Ａから見て他のデータサーバである。データサーバ１０Ｘは、稼働を開始する前に、エンジニアリングツール２８からの指示に従って親データサーバ４０Ａに設定される。また、データサーバ１０Ｙは、稼働を開始する前に、エンジニアリングツール２８からの指示に従って子データサーバ４０Ｂに設定される。
【００８１】
これにより、親子管理部１４Ｘ，１４Ｙは、エンジニアリングツール２８からの指示である親子情報を記憶する。親子管理部１４Ｘが記憶する親子情報は、データサーバ１０Ｘが親データサーバ４０Ａになっていることを示す親情報である。親子管理部１４Ｙが記憶する親子情報は、データサーバ１０Ｙが子データサーバ４０Ｂになっていることを示す子情報である。また、データサーバ１０Ｙが記憶する親子情報は、どのデータサーバが親データサーバ４０Ａであるかの情報を含んでいる。
【００８２】
なお、図４では、親データサーバ４０Ａが有しているＲＡＭ９３Ｘ、プロトコル変換部１８Ｘおよびデータ記憶部１９Ｘの図示を省略している。同様に、図４では、子データサーバ４０Ｂが有しているＲＡＭ９３Ｙ、プロトコル変換部１８Ｙおよびデータ記憶部１９Ｙの図示を省略している。
【００８３】
子データサーバ４０Ｂが稼働を開始すると、デバイス管理部１６Ｙは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４３を収集する。ここでの自サーバ情報４３は、子データサーバ４０Ｂに接続されているデバイス３１Ｙ，３２Ｙのデバイス情報である。構成管理部１５Ｙは、デバイス管理部１６Ｙが収集した自サーバ情報４３をデータ記憶部１９Ｙ内に格納する。
【００８４】
また、親データサーバ４０Ａが稼働を開始すると、デバイス管理部１６Ｘは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４１を収集する。ここでの自サーバ情報４１は、親データサーバ４０Ａに接続されているデバイス３１Ｘ，３２Ｘのデバイス情報である。
【００８５】
また、親データサーバ４０Ａが稼働を開始すると、構成管理部１５Ｘは、エンジニアリングツール２８によって指定されたタイミングで子データサーバ４０Ｂから他サーバ情報４２を収集する。ここでの他サーバ情報４２は、子データサーバ４０Ｂが収集した自サーバ情報４３の一部または全部である。実施の形態の構成管理部１５Ｘは、何れのタイミングで、子データサーバ４０Ｂから他サーバ情報４２を収集してもよい。具体的には、構成管理部１５Ｘは、エンジニアリングツール２８によって指定された一定期間ごとに他サーバ情報４２を収集する。なお、構成管理部１５Ｘは、デバイス３１Ｙ，３２Ｙのデバイス情報を要求するデータ収集要求を、クライアント１から受信した際に、他サーバ情報４２を収集してもよい。この場合、構成管理部１５Ｘは、クライアント１からのデータ収集要求で指定されているデバイス情報を抽出して収集してもよいし、最新の他サーバ情報４２を全て収集してもよい。以下では、構成管理部１５Ｘが、エンジニアリングツール２８によって指定された一定期間ごとに他サーバ情報４２を収集する場合について説明する。
【００８６】
なお、クライアント１は、クライアント１が親データサーバ４０Ａといった親データサーバに接続されている場合と、クライアント１が子データサーバ４０Ｂといった子データサーバに接続されている場合とで同様の処理を行う。すなわち、クライアント１は、データサーバ１０Ｘ，１０Ｙの何れが親データサーバであっても、同様のデータ収集要求をデータサーバ１０Ｘに送る。具体的には、クライアント１は、デバイスの接続位置を認識することなく、デバイス情報を指定したデータ収集要求をデータサーバ１０Ｘに送る。
【００８７】
クライアント１が親データサーバ４０Ａに接続されている場合、クライアント１は、デバイス情報を親データサーバ４０Ａに要求する。具体的には、クライアント１は、デバイス３１Ｘ，３２Ｘ，３１Ｙ，３２Ｙの何れかのデバイス情報を要求するためのデータ収集要求を、データサーバ１０Ｘの親子管理部１４Ｘに送信する。ここでの親子管理部１４Ｘは、データサーバ１０Ｘが親データサーバ４０Ａであることを示す親情報を記憶しているので、構成管理部１５Ｘに親情報およびデータ収集要求を送る。
【００８８】
これにより、構成管理部１５Ｘは、データサーバ１０Ｘが親データサーバ４０Ａになっていると判断し、デバイス情報の収集処理を開始する。データ収集要求は、収集を要求するデバイス情報を識別するデバイス指定情報を含んでいる。ここでのデバイス指定情報は、デバイスの何れかを指定する情報と、デバイス情報の中に含まれる情報の何れかを指定する情報とを含んでいる。デバイスの何れかを指定する情報は、デバイス３１Ｘ，３２Ｘ，３１Ｙ，３２Ｙの何れかを指定する情報である。また、デバイス情報の中に含まれる情報の何れかを指定する情報は、デバイス情報の種類を指定する情報であり、この情報の例は、デバイスの位置、デバイスの状態、デバイスの配置されている環境またはデバイスが検出した検出値である。
【００８９】
構成管理部１５Ｘは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、デバイス指定情報で指定されているデバイスが何れのデータサーバに接続されているデバイスであるかを判定する。
【００９０】
構成管理部１５Ｘは、デバイス指定情報で指定されているデバイスが親データサーバ４０Ａに接続されているデバイス３１Ｘ，３２Ｘであると判定した場合、親データサーバ４０Ａがデバイス情報を管理していると判断する。
【００９１】
また、構成管理部１５Ｘは、デバイス指定情報で指定されているデバイスが子データサーバ４０Ｂに接続されているデバイス３１Ｙ，３２Ｙであると判定した場合、子データサーバ４０Ｂがデバイス情報を管理していると判断する。
【００９２】
（ケースＡ１）
まず、クライアント１からのデバイス情報の要求が、親データサーバ４０Ａに接続されているデバイス３１Ｘ，３２Ｘのデバイス情報である場合について説明する。
【００９３】
構成管理部１５Ｘは、クライアント１からデータ収集要求のあったデバイス情報が親データサーバ４０Ａによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を自サーバ情報４１から読み出す。このように、クライアント１が親データサーバ４０Ａに接続されたデバイス３１Ｘ，３２Ｘを指定した場合、構成管理部１５Ｘは、デバイス３１Ｘ，３２Ｘのデバイス情報を自サーバ情報４１から読み出す。
【００９４】
そして、構成管理部１５Ｘは、読み出したデバイス情報を親子管理部１４Ｘに送り、親子管理部１４Ｘは、構成管理部１５Ｘから送られてきたデバイス情報をクライアント１に送信する。これにより、クライアント１は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースＡ１における処理である。
【００９５】
（ケースＡ２）
つぎに、クライアント１からのデバイス情報の要求が、子データサーバ４０Ｂに接続されているデバイス３１Ｙ，３２Ｙのデバイス情報である場合について説明する。
【００９６】
構成管理部１５Ｘは、クライアント１からデータ収集要求のあったデバイス情報が子データサーバ４０Ｂによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を他サーバ情報４２から読み出す。この場合において、構成管理部１５Ｘは、デバイス指定情報で指定されたデバイス情報が他サーバ情報４２内に無い場合、デバイス指定情報で指定されたデバイス情報を子データサーバ４０Ｂから収集して、他サーバ情報４２に追加する。そして、構成管理部１５Ｘは、デバイス指定情報に対応するデバイス情報を他サーバ情報４２から読み出す。なお、構成管理部１５Ｘは、子データサーバ４０Ｂに、デバイス指定情報を送信し、子データサーバ４０Ｂにデバイス指定情報に対応するデバイス情報を抽出させてもよい。この場合、子データサーバ４０Ｂは、抽出したデバイス情報を、親データサーバ４０Ａに送る。
【００９７】
クライアント１がデバイス指定情報によってデバイス３１Ｙ，３２Ｙを指定した場合、構成管理部１５Ｘは、デバイス３１Ｙ，３２Ｙのデバイス情報を他サーバ情報４２から読み出す。そして、構成管理部１５Ｘは、読み出したデバイス情報を親子管理部１４Ｘに送り、親子管理部１４Ｘは、構成管理部１５Ｘから送られてきたデバイス情報をクライアント１に送信する。これにより、クライアント１は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。
【００９８】
なお、データサーバ群１００内にデータサーバ１０Ｚが配置される場合、データサーバ１０Ｘは、データサーバ１０Ｚからデバイス情報を収集する際に、データサーバ１０Ｙを介してデータサーバ１０Ｚにデバイス情報の収集要求を送信する。そして、データサーバ１０Ｚは、デバイス情報を、データサーバ１０Ｙを介してデータサーバ１０Ｘに送信する。以上が、ケースＡ２における処理である。
【００９９】
つぎに、図４で説明した収集処理の処理手順について説明する。図５は、実施の形態にかかる親データサーバにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャートである。ここでは、クライアント１に接続されているデータサーバ１０Ｘが親データサーバ４０Ａになる場合のデバイス情報の収集処理手順について説明する。なお、図５で説明する処理のうち、図４で説明した処理と同様の処理については、説明を省略する。
【０１００】
子データサーバ４０Ｂが稼働を開始すると、ステップＳ１０において、子データサーバ４０Ｂは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４３を収集する。
【０１０１】
また、親データサーバ４０Ａが稼働を開始すると、ステップＳ２０において、親データサーバ４０Ａは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４１を収集する。
【０１０２】
また、親データサーバ４０Ａが稼働を開始すると、ステップＳ３０において、親データサーバ４０Ａは、エンジニアリングツール２８によって指定されたタイミングで子データサーバ４０Ｂから他サーバ情報４２を収集する。この他サーバ情報４２は、自サーバ情報４３の一部または全部である。なお、サーバシステム１０１は、ステップＳ１０からＳ３０の処理を何れの順番で実行してもよい。
【０１０３】
この後、ステップＳ４０において、クライアント１が、親データサーバ４０Ａにデータ収集要求を送信し、これによりクライアント１が、親データサーバ４０Ａにデバイス情報を要求する。
【０１０４】
これにより、ステップＳ５０において、親データサーバ４０Ａは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、クライアント１から要求されているデバイス情報の収集装置である管理元が親データサーバ４０Ａまたは子データサーバ４０Ｂの何れであるかを判定する。
【０１０５】
親データサーバ４０Ａは、デバイス情報の管理元が子データサーバ４０Ｂであると判定した場合、すなわちステップＳ５０において「子」の場合、ステップＳ６０において、親データサーバ４０Ａは、他サーバ情報４２からデバイス情報を抽出してクライアント１に送る。具体的には、親データサーバ４０Ａは、クライアント１からのデバイス指定情報に対応するデバイス情報を他サーバ情報４２から抽出する。そして、親データサーバ４０Ａは、抽出したデバイス情報を、クライアント１に送る。
【０１０６】
親データサーバ４０Ａは、デバイス情報の管理元が親データサーバ４０Ａであると判定した場合、すなわちステップＳ５０において「親」の場合、ステップＳ７０において、親データサーバ４０Ａが、自サーバ情報４１からデバイス情報を抽出する。具体的には、親データサーバ４０Ａは、クライアント１からのデバイス指定情報に対応するデバイス情報を自サーバ情報４１から抽出する。そして、親データサーバ４０Ａは、抽出したデバイス情報を、クライアント１に送る。
【０１０７】
つぎに、クライアント１に接続されているデータサーバ１０Ｘが子データサーバになり、クライアント１に接続されていないデータサーバ１０Ｙが親データサーバになった場合の、デバイス情報の収集処理について説明する。
【０１０８】
図６は、実施の形態にかかる子データサーバにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図である。図６では、クライアント１に接続されているデータサーバ１０Ｘが子データサーバになる場合のデバイス情報の収集処理について説明する。サーバシステム１０１は、データサーバ１０Ｘが子データサーバになる場合、データサーバ１０Ｙが親データサーバになる。なお、図６で説明する処理のうち、図４で説明した処理と同様の処理については、説明を省略する。
【０１０９】
図６における子データサーバ４０Ｄは、クライアント１に接続されているデータサーバ１０Ｘであり、図６における親データサーバ４０Ｃは、クライアント１に接続されていないデータサーバ１０Ｙである。この場合、子データサーバ４０Ｄは、親データサーバ４０Ｃから見て他のデータサーバである。データサーバ１０Ｘは、稼働を開始する前に、エンジニアリングツール２８からの指示に従って子データサーバ４０Ｄになる。また、データサーバ１０Ｙは、稼働を開始する前に、エンジニアリングツール２８からの指示に従って親データサーバ４０Ｃになる。
【０１１０】
これにより、親子管理部１４Ｘ，１４Ｙは、エンジニアリングツール２８からの指示である親子情報を記憶する。親子管理部１４Ｘが記憶する親子情報は、データサーバ１０Ｘが子データサーバ４０Ｄになっていることを示す子情報である。親子管理部１４Ｙが記憶する親子情報は、データサーバ１０Ｙが親データサーバ４０Ｃになっていることを示す親情報である。また、データサーバ１０Ｘが記憶する親子情報は、どのデータサーバが親データサーバ４０Ｃであるかの情報を含んでいる。
【０１１１】
なお、図６では、親データサーバ４０Ｃが有しているＲＡＭ９３Ｙ、プロトコル変換部１８Ｙおよびデータ記憶部１９Ｙの図示を省略している。同様に、図６では、子データサーバ４０Ｄが有しているＲＡＭ９３Ｘ、プロトコル変換部１８Ｘおよびデータ記憶部１９Ｘの図示を省略している。
【０１１２】
子データサーバ４０Ｄが稼働を開始すると、デバイス管理部１６Ｘは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４３を収集する。ここでの自サーバ情報４３は、子データサーバ４０Ｄに接続されているデバイス３１Ｘ，３２Ｘのデバイス情報である。構成管理部１５Ｘは、デバイス管理部１６Ｘが収集した自サーバ情報４３をデータ記憶部１９Ｘ内に格納する。
【０１１３】
また、親データサーバ４０Ｃが稼働を開始すると、デバイス管理部１６Ｙは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４１を収集する。ここでの自サーバ情報４１は、親データサーバ４０Ｃに接続されているデバイス３１Ｙ，３２Ｙのデバイス情報である。
【０１１４】
また、親データサーバ４０Ｃが稼働を開始すると、構成管理部１５Ｙは、エンジニアリングツール２８によって指定されたタイミングで子データサーバ４０Ｄから他サーバ情報４２を収集する。ここでの他サーバ情報４２は、子データサーバ４０Ｄが収集した自サーバ情報４３の一部または全部である。実施の形態の構成管理部１５Ｙは、図４で説明した構成管理部１５Ｘと同様に、何れのタイミングで子データサーバ４０Ｄから他サーバ情報４２を収集してもよい。
【０１１５】
クライアント１が子データサーバ４０Ｄに接続されている場合、クライアント１は、デバイス情報を子データサーバ４０Ｄに要求する。具体的には、クライアント１は、デバイス３１Ｘ，３２Ｘ，３１Ｙ，３２Ｙの何れかのデバイス情報を要求するためのデータ収集要求を、データサーバ１０Ｘの親子管理部１４Ｘに送信する。ここでの親子管理部１４Ｘは、データサーバ１０Ｘが子データサーバ４０Ｄであることを示す子情報を記憶しているので、構成管理部１５Ｘに子情報およびデータ収集要求を送る。これにより、構成管理部１５Ｘは、データサーバ１０Ｘが子データサーバ４０Ｄになっていると判断し、親データサーバ４０Ｃにデータ収集要求を送る。
【０１１６】
構成管理部１５Ｙは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、デバイス指定情報で指定されているデバイスが何れのデータサーバに接続されているデバイスであるかを判定する。
【０１１７】
構成管理部１５Ｙは、デバイス指定情報で指定されているデバイスが親データサーバ４０Ｃに接続されているデバイス３１Ｙ，３２Ｙであると判定した場合、親データサーバ４０Ｃがデバイス情報を管理していると判断する。
【０１１８】
また、構成管理部１５Ｙは、デバイス指定情報で指定されているデバイスが子データサーバ４０Ｄに接続されているデバイス３１Ｘ，３２Ｘであると判定した場合、子データサーバ４０Ｄがデバイス情報を管理していると判断する。以下、ケースＢ１とケースＢ２とに分けて、親データサーバ４０Ｃと子データサーバ４０Ｄの処理を説明する。
【０１１９】
（ケースＢ１）
クライアント１からのデバイス情報の要求が、親データサーバ４０Ｃに接続されているデバイス３１Ｙ，３２Ｙのデバイス情報である場合について説明する。
【０１２０】
構成管理部１５Ｙは、クライアント１からデータ収集要求のあったデバイス情報が親データサーバ４０Ｃによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を自サーバ情報４１から読み出す。このように、クライアント１が親データサーバ４０Ｃに接続されたデバイス３１Ｙ，３２Ｙを指定した場合、構成管理部１５Ｙは、デバイス３１Ｙ，３２Ｙのデバイス情報を自サーバ情報４１から読み出す。
【０１２１】
そして、構成管理部１５Ｙは、読み出したデバイス情報を親子管理部１４Ｙに送り、親子管理部１４Ｙは、構成管理部１５Ｙから送られてきたデバイス情報をクライアント１に送信する。この時、親データサーバ４０Ｃは、デバイス情報を子データサーバ４０Ｄに送り、子データサーバ４０Ｄは、デバイス情報をクライアント１に送る。このように、クライアント１は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースＢ１における処理である。
【０１２２】
（ケースＢ２）
つぎに、クライアント１からのデバイス情報の要求が、子データサーバ４０Ｄに接続されているデバイス３１Ｘ，３２Ｘのデバイス情報である場合について説明する。
【０１２３】
構成管理部１５Ｙは、クライアント１からデータ収集要求のあったデバイス情報が子データサーバ４０Ｄによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を他サーバ情報４２から読み出す。この場合において、構成管理部１５Ｙは、デバイス指定情報で指定されたデバイス情報が他サーバ情報４２内に無い場合、デバイス指定情報で指定されたデバイス情報を子データサーバ４０Ｄから収集して、他サーバ情報４２に追加する。そして、構成管理部１５Ｙは、デバイス指定情報に対応するデバイス情報を他サーバ情報４２から読み出す。このように、クライアント１がデバイス指定情報によってデバイス３１Ｘ，３２Ｘを指定した場合、構成管理部１５Ｙは、デバイス３１Ｘ，３２Ｘのデバイス情報を他サーバ情報４２から読み出す。
【０１２４】
そして、構成管理部１５Ｙは、読み出したデバイス情報を親子管理部１４Ｙに送り、親子管理部１４Ｙは、構成管理部１５Ｙから送られてきたデバイス情報をクライアント１側に送信する。換言すると、親データサーバ４０Ｃは、クライアント１側である子データサーバ４０Ｄにデバイス情報を送信する。具体的には、親データサーバ４０Ｃは、クライアント１を宛先に設定して子データサーバ４０Ｄにデバイス情報を送信する。そして、子データサーバ４０Ｄが、クライアント１にデバイス情報を送信する。これにより、クライアント１は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースＢ２における処理である。
【０１２５】
なお、データサーバ群１００内にデータサーバ１０Ｚが配置された場合に、データサーバ１０Ｚが親データサーバになる場合がある。この場合、クライアント１からのデータ収集要求は、データサーバ１０Ｘがデータサーバ１０Ｙに送信し、データサーバ１０Ｙがデータサーバ１０Ｚに送信する。また、データサーバ１０Ｚは、クライアント１から要求のあったデバイス情報を、データサーバ１０Ｙに送信し、データサーバ１０Ｙがデータサーバ１０Ｘに送信する。そして、データサーバ１０Ｘが、デバイス情報をクライアント１に送信する。
【０１２６】
つぎに、図６で説明した収集処理の処理手順について説明する。図７は、実施の形態にかかる子データサーバにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャートである。ここでは、クライアント１に接続されているデータサーバ１０Ｘが子データサーバ４０Ｄになる場合のデバイス情報の収集処理手順について説明する。なお、図７で説明する処理のうち、図５および図６で説明した処理と同様の処理については、説明を省略する。
【０１２７】
子データサーバ４０Ｄが稼働を開始すると、ステップＳ１１０において、子データサーバ４０Ｄは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４３を収集する。
【０１２８】
また、親データサーバ４０Ｃが稼働を開始すると、ステップＳ１２０において、親データサーバ４０Ｃは、エンジニアリングツール２８によって指定されたタイミングで自サーバ情報４１を収集する。
【０１２９】
また、親データサーバ４０Ｃが稼働を開始すると、ステップＳ１３０において、親データサーバ４０Ｃは、エンジニアリングツール２８によって指定されたタイミングで子データサーバ４０Ｄから他サーバ情報４２を収集する。なお、サーバシステム１０１は、ステップＳ１１０からＳ１３０の処理を何れの順番で実行してもよい。
【０１３０】
この後、ステップＳ１４０において、クライアント１が、子データサーバ４０Ｄにデータ収集要求を送信し、これによりクライアント１が、子データサーバ４０Ｄにデバイス情報を要求する。
【０１３１】
これにより、ステップＳ１５０において、子データサーバ４０Ｄが、親データサーバ４０Ｃにデータ収集要求を送信する。そして、ステップＳ１６０において、親データサーバ４０Ｃは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、クライアント１から要求されているデバイス情報の管理元が親データサーバ４０Ｃまたは子データサーバ４０Ｄの何れであるかを判定する。
【０１３２】
親データサーバ４０Ｃは、デバイス情報の管理元が子データサーバ４０Ｄであると判定した場合、すなわちステップＳ１６０において「子」の場合、ステップＳ１７０において親データサーバ４０Ｃは、他サーバ情報４２からデバイス情報を抽出する。具体的には、親データサーバ４０Ｃは、クライアント１からのデバイス指定情報に対応するデバイス情報を他サーバ情報４２から抽出する。そして、親データサーバ４０Ｃは、抽出したデバイス情報を、子データサーバ４０Ｄを介してクライアント１に送る。
【０１３３】
親データサーバ４０Ｃは、デバイス情報の管理元が親データサーバ４０Ｃであると判定した場合、すなわちステップＳ１６０において「親」の場合、ステップＳ１８０において、親データサーバ４０Ｃが、自サーバ情報４１からデバイス情報を抽出してクライアント１に送る。具体的には、親データサーバ４０Ｃは、クライアント１からのデバイス指定情報に対応するデバイス情報を自サーバ情報４１から抽出する。そして、親データサーバ４０Ｃは、抽出したデバイス情報を、クライアント１に送る。
【０１３４】
このように、実施の形態のクライアント１は、デバイス情報に対応するデバイスの位置を把握することなく、デバイスを指定したデータ収集要求を、クライアント１に接続されているデータサーバ１０Ｘに送信すれば、所望のデバイス情報を収集することができる。この結果、クライアント１によるアクセスの利便性が向上するとともに、システム規模を削減することが可能となる。
【０１３５】
つぎに、通信システム１０２におけるクライアント１とデータサーバ１０Ｘ〜１０Ｚとの接続構成例について説明する。図１で説明したように、通信システム１０２は、クライアント１およびデータサーバ１０Ｘ〜１０ＺがＰＬＣシステム９１内のバスＢ１を介して接続されていてもよい。図１で説明したクライアント１とデータサーバ１０Ｘ〜１０Ｚとの接続構成を、以下では第１の接続構成という。
【０１３６】
図８は、実施の形態にかかるデータサーバが第１の接続構成で接続されている場合の接続構成図である。データサーバ１０Ｘ〜１０Ｚが第１の接続構成で接続されている場合、クライアント１およびデータサーバ１０Ｘ〜１０Ｚは、バスＢ１に接続される。なお、クライアント１は、バスＢ１に接続されなくてもよい。この場合、クライアント１は、データサーバ１０Ｘ〜１０Ｚの何れかに接続される。
【０１３７】
また、図２で説明したように、通信システム１０２は、クライアント１とデータサーバ１０Ｘとが接続され、データサーバ１０Ｘとデータサーバ１０Ｙとが接続されてもよい。また、データサーバ１０Ｙと図２では図示していないデータサーバ１０Ｚとが接続されてもよい。換言すると、通信システム１０２は、クライアント１およびデータサーバ１０Ｘ〜１０Ｚが、直列接続されてもよい。図２で説明したクライアント１とデータサーバ１０Ｘ〜１０Ｚとの接続構成を、以下では第２の接続構成という。データサーバ１０Ｘ〜１０Ｚが第２の接続構成で接続されている場合の接続構成図は、図２のデータサーバ群１００に示した通りである。
【０１３８】
また、通信システム１０２は、第１の接続構成と第２の接続構成との両方を適用してもよい。以下では、第１および第２の接続構成の両方を適用した接続構成を第３の接続構成という。
【０１３９】
図９は、実施の形態にかかるデータサーバが第３の接続構成で接続されている場合の接続構成図である。データサーバ１０Ｘ〜１０Ｚが第３の接続構成で接続されている場合、クライアント１およびデータサーバ１０Ｘ〜１０Ｚは、バスＢ１に接続される。また、データサーバ１０Ｘ〜１０Ｚは、データサーバ１０Ｘとデータサーバ１０Ｙとが通信線４で接続され、データサーバ１０Ｙとデータサーバ１０Ｚとが通信線５で接続される。換言すると、データサーバ１０Ｘ〜１０Ｚが第３の接続構成で接続されている場合、クライアント１およびデータサーバ１０Ｘ〜１０Ｚは、バスＢ１に接続されたうえで直列接続される。なお、この場合もクライアント１は、バスＢ１に接続されなくてもよい。
【０１４０】
図２、図８および図９に示した第１から第３の接続構成において、クライアント１とデータサーバ１０Ｘとの間は、クライアント１およびデータサーバ１０Ｘが、ＯＰＣ  ＵＡで規定された通信方法でデータ通信を行なう。また、データサーバ１０Ｘ，１０Ｙとの間は、データサーバ１０Ｘ，１０Ｙが、イーサネットで規定された通信方法でデータ通信を行なう。
【０１４１】
つぎに、エンジニアリングツール２８による親データサーバおよび子データサーバの設定処理について説明する。エンジニアリングツール２８は、クライアント１およびデータサーバ１０Ｘ，１０Ｙの接続構成毎に種々の設定方法で親データサーバおよび子データサーバの設定をデータサーバ１０Ｘ，１０Ｙに実行する。以下では、データサーバ１０Ｘ，１０Ｙが、親データサーバまたは子データサーバの設定を行う処理を親子設定処理という。
【０１４２】
図１０は、実施の形態にかかる第１の親子設定処理を説明するための図である。なお、図１０では、データサーバ１０Ｘ，１０Ｙ間が通信線４で接続されている場合を図示しているが、データサーバ１０Ｘ，１０Ｙ間はバスＢ１で接続されていてもよい。
【０１４３】
第１の親子設定処理では、ステップＳＴ１において、エンジニアリングツール２８が、エンジニアリングツール２８に接続されたデータサーバ１０Ｘに指示を送る。この指示は、データサーバ１０Ｘ，１０Ｙの何れか一方を親データサーバに設定させ、他方を子データサーバに設定させるための指示である。したがって、データサーバ１０Ｘは、エンジニアリングツール２８からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
【０１４４】
さらに、第１の親子設定処理では、ステップＳＴ２において、データサーバ１０Ｘが、データサーバ１０Ｘに接続されたデータサーバ１０Ｙに、エンジニアリングツール２８からの指示を転送する。そして、データサーバ１０Ｙは、エンジニアリングツール２８からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
【０１４５】
これにより、データサーバ１０Ｘが親データサーバ４０Ａになる場合には、データサーバ１０Ｙが子データサーバ４０Ｂになり、データサーバ１０Ｙが親データサーバ４０Ｃになる場合には、データサーバ１０Ｘが子データサーバ４０Ｄになる。
【０１４６】
なお、データサーバ１０Ｙにデータサーバ１０Ｚが接続されている場合、エンジニアリングツール２８は、データサーバ１０Ｘへの指示に、データサーバ１０Ｚを親データサーバまたは子データサーバにさせるための指示も含めておく。これにより、データサーバ１０Ｘが、エンジニアリングツール２８からの指示をデータサーバ１０Ｙに転送し、データサーバ１０Ｙが、エンジニアリングツール２８からの指示をデータサーバ１０Ｚに転送する。この結果、データサーバ１０Ｘ〜１０Ｚのうちの何れか１つが、親データサーバになり、他は子データサーバになる。
【０１４７】
図１１は、実施の形態にかかる第２の親子設定処理を説明するための図である。第２の親子設定処理は、エンジニアリングツール２８が、データサーバ１０Ｘ，１０Ｙの両方に接続されている場合に行われる処理である。第２の親子設定処理では、エンジニアリングツール２８が、データサーバ毎に親データサーバまたは子データサーバにさせる指示を送る。
【０１４８】
具体的には、第２の親子設定処理では、ステップＳＴ１１において、エンジニアリングツール２８が、バスＢ１を介してデータサーバ１０Ｘに指示を送る。この指示は、データサーバ１０Ｘを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ１０Ｘは、エンジニアリングツール２８からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
【０１４９】
また、第２の親子設定処理では、ステップＳＴ１２において、エンジニアリングツール２８が、バスＢ１を介してデータサーバ１０Ｙに指示を送る。この指示は、データサーバ１０Ｙを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ１０Ｙは、エンジニアリングツール２８からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。なお、エンジニアリングツール２８は、データサーバ１０Ｘを親データサーバに設定する場合には、データサーバ１０Ｙを子データサーバに設定し、データサーバ１０Ｙを親データサーバに設定する場合には、データサーバ１０Ｘを子データサーバに設定する。
【０１５０】
これにより、データサーバ１０Ｘが親データサーバになる場合には、データサーバ１０Ｙが子データサーバになり、データサーバ１０Ｙが親データサーバになる場合には、データサーバ１０Ｘが子データサーバになる。
【０１５１】
なお、エンジニアリングツール２８は、ステップＳＴ１１の処理とステップＳＴ１２の処理との何れを先に実行してもよい。また、バスＢ１にデータサーバ１０Ｚが接続されている場合、エンジニアリングツール２８は、データサーバ１０Ｚにも指示を送る。この指示は、データサーバ１０Ｚを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ１０Ｚは、エンジニアリングツール２８からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。この場合、データサーバ１０Ｘ〜１０Ｚのうちの何れか１つが、親データサーバになり、他は子データサーバになる。
【０１５２】
図１２は、実施の形態にかかる第３の親子設定処理を説明するための図である。なお、図１２では、データサーバ１０Ｘ，１０Ｙ間が通信線４で接続されている場合を図示しているが、データサーバ１０Ｘ，１０Ｙ間はバスＢ１で接続されていてもよい。
【０１５３】
第３の親子設定処理では、ステップＳＴ２１において、エンジニアリングツール２８が、エンジニアリングツール２８に接続されたデータサーバ１０Ｘに指示を送る。この指示は、データサーバ１０Ｘ，１０Ｙ間で調停処理を実行させる指示である。調停処理は、データサーバ１０Ｘ，１０Ｙが、情報を交換することによって、何れか一方を親データサーバに設定し、他方を子データサーバに設定することを決定する処理である。
【０１５４】
データサーバ１０Ｘが、調停処理を実行させる指示を受信すると、ステップＳＴ２２において、データサーバ１０Ｘ，１０Ｙの構成管理部１５Ｘ，１５Ｙが調停処理を実行する。構成管理部１５Ｘ，１５Ｙは、データサーバ１０Ｘ，１０Ｙが有している固有の情報を用いて調停処理を実行する。データサーバ１０Ｘ，１０Ｙが有している固有の情報の例は、データサーバ１０Ｘ，１０Ｙの製品のシリアルナンバー、データサーバ１０Ｘ，１０ＹのＩＰ（Internet  Protocol）アドレス、データサーバ１０Ｘ，１０ＹのＭＡＣ（Media  Access  Control）アドレスである。構成管理部１５Ｘ，１５Ｙは、製品のシリアルナンバーの大小、ＩＰアドレスの大小またはＭＡＣアドレスの大小に基づいて、調停処理を実行する。例えば、構成管理部１５Ｘ，１５Ｙが製品のシリアルナンバーを用いて調停処理を実行する場合、構成管理部１５Ｘ，１５Ｙは、最も小さなシリアルナンバーのデータサーバを親データサーバに設定してもよいし、最も大きなシリアルナンバーのデータサーバを親データサーバに設定してもよい。
【０１５５】
データサーバ１０Ｘ，１０Ｙは、調停処理が完了すると、調停結果に従って、親データサーバまたは子データサーバになるための設定を実行する。これにより、データサーバ１０Ｘが親データサーバになる場合には、データサーバ１０Ｙが子データサーバになり、データサーバ１０Ｙが親データサーバになる場合には、データサーバ１０Ｘが子データサーバになる。
【０１５６】
なお、エンジニアリングツール２８が、データサーバ１０Ｘ，１０Ｙに接続されている場合、エンジニアリングツール２８は、調停処理を実行させる指示を、データサーバ１０Ｘ，１０Ｙの何れに送ってもよい。
【０１５７】
また、データサーバ１０Ｙにデータサーバ１０Ｚが接続されている場合、エンジニアリングツール２８は、データサーバ１０Ｘ〜１０Ｚ間で調停処理を実行させる指示を、データサーバ１０Ｘに送る。
【０１５８】
また、エンジニアリングツール２８が、データサーバ１０Ｘ〜１０Ｚに接続されている場合、エンジニアリングツール２８は、調停処理を実行させる指示を、データサーバ１０Ｘ〜１０Ｚの何れに送ってもよい。
【０１５９】
図１３は、実施の形態にかかる第４の親子設定処理を説明するための図である。なお、図１３では、データサーバ１０Ｘ，１０Ｙ間が通信線４で接続されている場合を図示しているが、データサーバ１０Ｘ，１０Ｙ間はバスＢ１で接続されていてもよい。
【０１６０】
第４の親子設定処理では、ステップＳＴ３１において、データサーバ１０Ｘ，１０Ｙが調停処理を実行する。すなわち、第４の親子設定処理では、エンジニアリングツール２８からの指示を受けることなくデータサーバ１０Ｘ，１０Ｙが調停処理を実行する。データサーバ１０Ｘ，１０Ｙは、起動した際に調停処理を実行する。第４の親子設定処理でも第３の親子設定処理と同様に、データサーバ１０Ｘ，１０Ｙは、データサーバ１０Ｘ，１０Ｙが有している固有の情報を用いて調停処理を実行する。
【０１６１】
そして、データサーバ１０Ｘ，１０Ｙは、調停処理が完了すると、調停結果に従って、親データサーバまたは子データサーバになるための設定を実行する。これにより、データサーバ１０Ｘが親データサーバになる場合には、データサーバ１０Ｙが子データサーバになり、データサーバ１０Ｙが親データサーバになる場合には、データサーバ１０Ｘが子データサーバになる。なお、データサーバ１０Ｙにデータサーバ１０Ｚが接続されている場合、データサーバ１０Ｘ〜１０Ｚが、調停処理を実行する。
【０１６２】
つぎに、親子設定処理を行う際の処理画面について説明する。図１４は、実施の形態にかかるエンジニアリングツールが、親子設定処理を行う際に表示させる画面例を説明するための図である。
【０１６３】
エンジニアリングツール２８は、親子設定処理を行う際にデータサーバ１０Ｘに接続されるとともに、表示装置に画面８０を表示させる。画面８０は、ユーザによって設定されるユニットを表示する画面である。ここでは、画面８０が、ＣＰＵ８のユニット名である「ＣＰＵ」と、データサーバ１０Ｘ，１０Ｙ，１０Ｚのユニット名である「ＤＳ１」、「ＤＳ２」および「ＤＳ３」を表示している場合を示している。
【０１６４】
ユーザによってユニットの選択操作が実行されると、エンジニアリングツール２８は、選択操作を受付ける。ここでは、エンジニアリングツール２８が、データサーバ１０Ｙのユニット名である「ＤＳ２」を選択する選択操作を受付けた場合を示している。
【０１６５】
エンジニアリングツール２８は、データサーバ１０Ｘ〜１０Ｚの何れかを選択する選択操作を受付けると、受付けたユニットへの設定項目を示すページを画面８０に表示させる。ここでは、画面８０が、データサーバ１０Ｙの親子設定を行うためのページ８１を表示している場合を示している。画面８０が表示するページ８１は、データサーバ１０Ｙを親データサーバに設定するか、子データサーバに設定するか、または調停を行わせるかを選択させるページである。
【０１６６】
エンジニアリングツール２８は、親データサーバに設定する選択操作を受付けると、データサーバ１０Ｙを親データサーバに設定させる指示を生成する。また、エンジニアリングツール２８は、データサーバ１０Ｘ，１０Ｚに対して子データサーバに設定する選択操作を受付けると、データサーバ１０Ｘ，１０Ｚを子データサーバに設定させる指示を生成する。そして、エンジニアリングツール２８は、生成した指示をデータサーバ１０Ｘ〜１０Ｚの何れか又は全てに送信する。
【０１６７】
また、エンジニアリングツール２８は、調停処理を示す「調停」の選択操作を受付けると、調停処理を実行させる指示を生成して生成した指示をデータサーバ１０Ｘ〜１０Ｚの何れか又は全てに送信する。
【０１６８】
ここで、実施の形態で説明したデータサーバ１０Ｘ〜１０Ｚのハードウェア構成について説明する。なお、データサーバ１０Ｘ〜１０Ｚは、同様のハードウェア構成を有しているので、ここではデータサーバ１０Ｘのハードウェア構成について説明する。
【０１６９】
図１５は、実施の形態にかかるデータサーバのハードウェア構成例を示す図である。データサーバ１０Ｘは、プロセッサ７１、メモリ７２、通信インタフェース７４，７５，７６、ユニット間連携部１２ＸおよびバスＢ２を備えている。データサーバ１０Ｘでは、プロセッサ７１、メモリ７２、通信インタフェース７４，７５，７６およびユニット間連携部１２Ｘが、バスＢ２を介して接続されている。ユニット間連携部１２Ｘは、親子管理部１４ＸがバスＢ２に接続されてもよいし、ユニット間連携部１２Ｘ内の各構成要素がバスＢ２に接続されてもよい。
【０１７０】
プロセッサ７１は、ＣＰＵ（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰともいう）、システムＬＳＩ（Large  Scale  Integration）などである。
【０１７１】
メモリ７２は、ＲＡＭ９３、ＲＯＭ（Read  Only  Memory）９４またはフラッシュメモリといった不揮発性または揮発性の半導体メモリであってもよいし、磁気ディスクまたはフレキシブルディスクであってもよい。図１５では、メモリ７２が、ＲＡＭ９３およびＲＯＭ９４である場合を示している。ＲＡＭ９３は、データサーバ１０Ｘに固有の情報を一時的に記憶し、ＲＯＭ９４は、データサーバ１０Ｘで用いるソフトウェアまたはファームウェアを記憶する。
【０１７２】
データサーバ１０Ｘは、プロセッサ７１が、メモリ７２で記憶されている、データサーバ１０Ｘとして動作するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、データサーバ１０Ｘの手順または方法をコンピュータに実行させるものであるともいえる。また、プロセッサ７１は、ユーザが作成した設定に基づいてデータサーバ１０Ｘを動作させてもよい。メモリ７２は、プロセッサ７１が各種処理を実行する際の一時メモリとしても使用される。
【０１７３】
このように、プロセッサ７１が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（non-transitory）記録媒体を有するコンピュータプログラムプロダクトである。プロセッサ７１が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
【０１７４】
ユニット間連携部１２Ｘは、親子設定と、自サーバ情報４１の収集と、他サーバ情報４２の収集と、自サーバ情報４１からのデバイス情報の抽出と、他サーバ情報４２からのデバイス情報の抽出とを行う処理回路である。この処理回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものが該当する。なお、ユニット間連携部１２Ｘの機能について、一部を専用のハードウェアである処理回路で実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。データサーバ１０Ｘは、ユニット間連携部１２Ｘをソフトウェアまたはファームウェアで実現する場合、プロセッサ７１およびメモリ７２を用いてユニット間連携部１２Ｘの機能を実現する。
【０１７５】
通信インタフェース７４，７５の一例は、イーサネットインターフェースである。通信インタフェース７４は、データサーバ１０Ｘに接続されている他機器と通信を行なうための通信インタフェースである。データサーバ１０Ｘは、通信インタフェース７４を用いて、デバイス３１Ｘ，３２Ｘ以外のデバイス、またはデータサーバ１０Ｙ以外の他ユニットと通信を行なう。
【０１７６】
通信インタフェース７５は、データサーバ１０Ｘに接続されているデバイス３１Ｘ，３２Ｘまたはクライアント１と通信を行なうための通信インタフェースである。通信インタフェース７５は、ユニット間連携部１２Ｘに接続されており、ユニット間連携部１２Ｘからの指示に従って動作する。
【０１７７】
なお、データサーバ１０Ｘが、ＯＰＣ  ＵＡに従ってクライアント１との間でデータ通信を行なう場合、通信インタフェース７５は、ＯＰＣ  ＵＡインタフェースの機能を含んでいる。
【０１７８】
通信インタフェース７６は、データサーバ１０Ｙと通信を行なうための通信インタフェースである。データサーバ１０Ｘ，１０Ｙがバスで接続されている場合、通信インタフェース７６は、バスインタフェースである。また、データサーバ１０Ｘ，１０Ｙがイーサネット規格で接続されている場合、通信インタフェース７６は、イーサネットインターフェースである。また、データサーバ１０Ｘが、ＯＰＣ  ＵＡに従ってデータサーバ１０Ｙとの間でデータ通信を行なう場合、通信インタフェース７６は、ＯＰＣ  ＵＡインタフェースの機能を含んでいる。
【０１７９】
このように実施の形態によれば、データサーバ１０Ｘ〜１０Ｚは、連携しているので、クライアント１は、複数のデータサーバが存在することを意識することなく、単一のデータサーバにアクセスするように操作することができる。したがって、簡易な構成で他のデータサーバ内の情報を効率良く収集することが可能となる。
【０１８０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１８１】
１  クライアント、４，５  通信線、１０Ｘ〜１０Ｚ，１１Ｘ，１１Ｙ  データサーバ、１２Ｘ，１２Ｙ  ユニット間連携部、１４Ｘ，１４Ｙ  親子管理部、１５Ｘ，１５Ｙ  構成管理部、１６Ｘ，１６Ｙ  デバイス管理部、１７Ｘ，１７Ｙ  データ転送部、１９Ｘ，１９Ｙ  データ記憶部、２６  上位装置、２７  インターネット、２８  エンジニアリングツール、３１Ｘ，３１Ｙ，３２Ｘ，３２Ｙ  デバイス、４０Ａ，４０Ｃ  親データサーバ、４０Ｂ，４０Ｄ  子データサーバ、４１，４３  自サーバ情報、４２  他サーバ情報、１０１  サーバシステム。
【要約】
データサーバ（１０Ｘ）において、デバイス（３１Ｘ，３２Ｘ）から収集した第１の情報を記憶するデータ記憶部（１９Ｘ）と、自己がデータサーバ（１０Ｙ）を管理する親機能であるか、又はデータサーバ（１０Ｙ）に管理される子機能であるかを設定する親子管理部（１４Ｘ）と、親子管理部（１４Ｘ）で親機能が設定されている場合、外部のクライアント（１）からデータ収集要求を受信すると、データ収集要求に対応する情報をデータ記憶部（１９Ｘ）又はデータサーバ（１０Ｙ）からクライアント（１）に送信し、親子管理部（１４Ｘ）で子機能が設定されている場合、親機能の設定されているデータサーバ（１０Ｙ）に第１の情報を送信する構成管理部（１５Ｘ）と、を備える。【図１】
0006333504.tif 000002
【図２】
0006333504.tif 000003
【図３】
0006333504.tif 000004
【図４】
0006333504.tif 000005
【図５】
0006333504.tif 000006
【図６】
0006333504.tif 000007
【図７】
0006333504.tif 000008
【図８】
0006333504.tif 000009
【図９】
0006333504.tif 000010
【図１０】
0006333504.tif 000011
【図１１】
0006333504.tif 000012
【図１２】
0006333504.tif 000013
【図１３】
0006333504.tif 000014
【図１４】
0006333504.tif 000015
【図１５】
0006333504.tif 000016