(57)【特許請求の範囲】
【請求項１】
複数のサービスについて各サービスと各サービスの対象物である１つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している１つ以上のデータ機器とを対応付ける関係情報であって、２つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶する情報記憶部と、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力部と、
データ機器からデータを取得するデータ取得部と、
前記データ取得部によるデータ取得状況を監視する監視部と、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求が前記取得対象データ機器に対する新規のデータ取得要求であるか、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるかを前記監視部の監視結果により判断し、前記入力データ取得要求が新規のデータ取得要求であれば、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からのデータ取得を指示し、前記データ取得部が同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないデータ取得制御部とを有することを特徴とするデータ処理システム。
【請求項２】
前記入力部は、
要求元のサービスと当該サービスのいずれかのサービス対象物と取得対象のデータの種類とが示され、当該サービス対象物の当該種類のデータの取得を要求するデータ取得要求を入力し、
前記データ取得制御部は、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、前記入力データ取得要求について取得対象データ機器を特定するとともに、前記入力データ取得要求が前記取得対象データ機器及び前記種類のデータに対する新規のデータ取得要求であるか、前記先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器から同一の種類のデータを取得中であるかを前記監視部の監視結果により判断し、前記入力データ取得要求が新規のデータ取得要求であれば、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からの前記種類のデータの取得を指示し、前記データ取得部が同一の取得対象データ機器から同一種類のデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないことを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記データ処理装置は、更に、
前記データ取得部によりいずれかのデータ機器からデータが取得された際に、前記データ取得部により取得されたデータの取得元のデータ機器と前記関係情報において対応付けられている２つ以上のサービスのサービスアプリケーションからアクセス可能なように、前記データ取得部により取得されたデータを所定の記憶装置に格納するデータ格納部であって、
前記関係情報において相互に異なるデータ対象物を介してデータ取得元のデータ機器と対応付けられている２つ以上のサービスのサービスアプリケーションであっても各々からアクセス可能なように、前記データ取得部により取得されたデータを前記記憶装置に格納するデータ格納部を有することを特徴とする請求項１又は２に記載のデータ処理システム。
【請求項４】
前記データ取得部は、
優先度が高いデータ取得処理を優先して実行し、
前記データ取得制御部は、
前記入力データ取得要求が前記取得対象データ機器に対する新規のデータ取得要求であるか、前記データ取得部が前記先行データ取得要求に基づき前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるかを判断した結果、前記データ取得部が同一の取得対象データ機器からデータを取得中である場合に、
前記先行データ取得要求に基づくデータ取得処理の優先度を高くすることを特徴とする請求項１〜３のいずれかに記載のデータ処理システム。
【請求項５】
複数のサービスについて各サービスと各サービスの対象物である１つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している１つ以上のデータ機器とを対応付ける関係情報であって、２つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶するコンピュータが、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力ステップと、
データ機器からデータを取得するデータ取得ステップと、
前記データ取得ステップによるデータ取得状況を監視する監視ステップと、
前記入力ステップによりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求が前記取得対象データ機器に対する新規のデータ取得要求であるか、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得ステップが前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるかを前記監視ステップの監視結果により判断し、前記入力データ取得要求が新規のデータ取得要求であれば、前記入力データ取得要求に基づき前記データ取得ステップに前記取得対象データ機器からのデータ取得を指示し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得ステップに行わないデータ取得制御ステップとを有することを特徴とするデータ処理方法。
【請求項６】
複数のサービスについて各サービスと各サービスの対象物である１つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している１つ以上のデータ機器とを対応付ける関係情報であって、２つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶するコンピュータに、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力ステップと、
データ機器からデータを取得するデータ取得ステップと、
前記データ取得ステップによるデータ取得状況を監視する監視ステップと、
前記入力ステップによりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求が前記取得対象データ機器に対する新規のデータ取得要求であるか、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得ステップが前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるかを前記監視ステップの監視結果により判断し、前記入力データ取得要求が新規のデータ取得要求であれば、前記入力データ取得要求に基づき前記データ取得ステップに前記取得対象データ機器からのデータ取得を指示し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得ステップに行わないデータ取得制御ステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部のデータ機器からデータを取得する処理を効率化する技術に関する。
【背景技術】
【０００２】
データベースをインタフェースとするシステムを利用するクライアントプログラムにおいて、従来では要求データを登録し、登録したデータの処理状態を定期的に監視し、完了し次第結果データを取得して処理するという方法が用いられていた。
しかし、この方法ではクライアントプログラムが多くなるとデータベースへの接続数が多くなり、データベースに対する接続負荷が大きくなるため、クライアントプログラムとデータベースの間に中間層を設け、中間層で接続をまとめることによりデータベースへの負荷を軽減する方法が用いられていた。
さらに、要求数の増加に対しては、データベースのインデックスを中間層に分散し検索処理を高速化するなどしてその負荷を軽減する方法が用いられていた（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１５７２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
遠隔にあるシステムと通信しデータを取得するデータベースインタフェースの通信システムがあり、あるサービスアプリケーションが通信システムを用いて遠隔システムからデータを取得し、他のサービスアプリケーションから共通的に利用できるストレージ等にデータを展開するようなことを考える。
サービスアプリケーションが遠隔システムのデータを用いて提供するサービスと遠隔システムとして設置されている機器の物理的な構成が異なる場合（例えば、遠隔システムの契約はビルを単としており、遠隔システムの契約範囲となるビルには棟が２つあり、ビル全体のデータを提供する機器が片方の棟にあるが、サービスでは棟を単位として扱いたい場合）、サービスアプリケーションのデータ取得要求はサービス識別子と棟識別子、通信システムのインタフェースはビル識別子と機器識別子となり、契約と物理構成に差異が生じ、サービスアプリケーションからの異なる要求でもデータの重複取得の発生やそれに伴う負荷増大や取得したデータの展開時に競合が発生するという課題がある。
【０００５】
従来技術では、サービスアプリケーションと通信システムとの間に中間層を設けて、負荷を分散することや、通信システムに対する検索負荷を軽減するという点においては解決されているが、分散されているため取得したデータの競合制御やデータの重複取得を解決できないという課題とサービスアプリケーションが遠隔システムの物理構成を意識なければならないという課題があった。
【０００６】
この発明は上記のような課題を解決することを主な目的としており、データの取得元である遠隔システムの物理構成と各サービスが対象としているサービス対象物の範囲との差異を吸収して、データの重複取得を回避することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るデータ処理システムは、
複数のサービスについて各サービスと各サービスの対象物である１つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している１つ以上のデータ機器とを対応付ける関係情報であって、２つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶する情報記憶部と、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力部と、
データ機器からデータを取得するデータ取得部と、
前記データ取得部によるデータ取得状況を監視する監視部と、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを前記監視部の監視結果により判断し、前記データ取得部が同一の取得対象データ機器からデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からのデータ取得を指示し、前記データ取得部が同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないデータ取得制御部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明では、先行データ取得要求に基づいて入力データ取得要求と同一の取得対象データ機器からデータを取得中である場合は、入力データ取得要求と先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を行わない。
このため、データの取得元であるデータ機器の物理構成と各サービスが対象としているサービス対象物の範囲との差異を吸収することができ、データの重複取得を回避することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係る共有ファイルのデータ構成例を示す図。
【図３】実施の形態１に係る契約・物理構成データのデータ構成例を示す図。
【図４】実施の形態１に係る要求状態データのデータ構成例を示す図。
【図５】実施の形態１に係る入出力データベースのデータ構成例を示す図。
【図６】実施の形態１に係る処理シーケンス例を示す図。
【図７】実施の形態１に係る処理シーケンス例を示す図。
【図８】実施の形態１に係る処理シーケンス例を示す図。
【図９】実施の形態１に係る要求セッションマージ部の動作例を示すフローチャート図。
【図１０】実施の形態１に係る状態監視部の動作例を示すフローチャート図。
【図１１】実施の形態１に係る要求サーバ装置等のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
本実施の形態では、遠隔システムの物理構成を意識することなく、データの重複取得をなくし、分散したシステム構成においても保存時の競合制御を不要とする構成を説明する。
【００１１】
図１は、本実施の形態に係るデータ処理システムの構成例を示す。
本実施の形態に係るデータ処理システムは、データベースをインタフェースとする遠隔システムへの通信システムの要求処理と結果処理を分散し、データ取得要求を契約や物理構造に基づいてマージする。
【００１２】
図１において、サービスアプリケーション１００は、データ取得要求を送信するクライアントプログラムである。
要求制御サーバ装置２００は、任意のサービスアプリケーション１００からデータ取得要求を受け付けるサーバ装置である。
監視サーバ装置３００は、通信システム４００への要求処理と結果処理を分散して行うサーバ装置である。
通信システム４００は、遠隔システム５００との通信を行うデータベースインタフェースのシステムである。
遠隔システム５００は、取得対象となるデータを保持する遠隔のシステムである。
共有ファイルサーバ装置６００は、遠隔システム５００から取得展開したデータを保管するファイルサーバ装置である。
【００１３】
要求制御サーバ装置２００、監視サーバ装置３００、通信システム４００及び共有ファイルサーバ装置６００は、物理的に単一のコンピュータにより構成されていてもよいし、別のコンピュータにより構成されていてもよい。
別のコンピュータにより構成されている場合は、図１に示すリクエスト及びレスポンスがコンピュータ間で送受信される。
また、サービスアプリケーション１００は、要求制御サーバ装置２００及び共有ファイルサーバ装置６００と通信可能なクライント・コンピュータで実行されている。
サービスアプリケーション１００と要求制御サーバ装置２００及び共有ファイルサーバ装置６００との間の通信は、クライント・コンピュータに実装されている通信機能を用いて行われる。
【００１４】
共有ファイルサーバ装置６００における共有ファイルのデータ構成例を図２に示す。
共有ファイルは、サービスを親として、取得したデータを機器データとして管理する。
【００１５】
要求制御サーバ装置２００において、要求受付部２０１はサービスアプリケーション１００へデータ取得のインタフェースを公開する。
より具体的には、サービスアプリケーション１００から、データ取得要求を入力する。
データ取得要求には、データ取得要求の要求元のサービスと当該サービスのサービス対象物（例えば、ビル内の棟）、取得対象のデータの種類（例えば、電力消費量の推移を示すデータや室温の推移を示すデータ）が示されている。
サービス対象物のデータは、複数のデータ機器（以下、単に機器ともいう）のうちのいずれかのデータ機器で管理されている。
サービスアプリケーション１００は、サービス対象物は把握しているが、サービス対象物のデータを管理しているデータ機器は把握していない。
なお、要求受付部２０１は入力部の例である。
【００１６】
要求セッションマージ部２０２は、サービスアプリケーション１００からのデータ取得要求と処理中のデータ取得要求を突き合わせてマージする。
より具体的には、要求セッションマージ部２０２は、要求受付部２０１により新たに入力されたデータ取得要求（入力データ取得要求）と、現在、通信システム４００により処理中のデータ取得要求（先行データ取得要求）とが同じデータを対象とし、同じデータ機器を対象としている場合は、サービス対象物が異なっていても、新たなデータ取得要求により更にデータ取得を指示することはしない。
このため、新たなデータ取得要求に基づくデータ取得が行われず、同じデータに対して重複した取得処理が行われるのを回避することができる。
本明細書では、新たなデータ取得要求が先行するデータ取得要求と同じデータ及び同じデータ機器を対象にしているため、要求セッションマージ部２０２が、新たなデータ取得要求に基づくデータ取得の指示を行わないことをマージという。
なお、要求セッションマージ部２０２は、要求振り分け部２０６及び要求登録変更部３０１とともに、データ取得制御部の例である。
【００１７】
契約・物理構成データ記憶部２０３は、契約・物理構成データを記憶する。
契約・物理構成データは、遠隔システム５００の契約範囲と実際の物理構成の関係を示す情報である。
詳細は後述するが、契約・物理構成データは、例えば、図３に示す情報である。
契約・物理構成データは関係情報の例である。
また、契約・物理構成データ記憶部２０３は、情報記憶部の例である。
【００１８】
監視状態管理部２０４は、各データ取得要求に対する処理状態を管理する。
つまり、監視状態管理部２０４は、データ取得要求ごとに、通信システム４００によりデータ取得処理中であるか、取得したデータを共有ファイルサーバ装置６００に展開中（格納中）であるかという処理状態を管理する。
【００１９】
要求状態データ記憶部２０５は、要求状態データを記憶する。
要求状態データは、通信システム４００で取得処理中のデータ取得要求の一覧が示される情報である。
【００２０】
要求振り分け部２０６は、データ取得要求を監視サーバ装置３００に振り分ける。
つまり、複数の監視サーバ装置３００が存在する場合に、要求振り分け部２０６は、データ取得要求を処理させる監視サーバ装置３００を複数の監視サーバ装置３００の中から選択する。
要求振り分け部２０６は、要求セッションマージ部２０２及び要求登録変更部３０１とともに、データ取得制御部の例である。
【００２１】
ここで、契約・物理構成データ記憶部２０３で記憶されている契約・物理構成データの構成を図３に示す。
【００２２】
契約・物理構成データは、図３（ａ）に示すサービス・棟データ２０３１と、図３（ｂ）に示すビル・サービス関係データ２０３２と、棟・機器関係データ２０３３から構成される。
サービス・棟データ２０３１は、「サービス」の識別子であるサービスＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）と「棟」の識別子である棟ＩＤの関係を表す情報である。
ビル・サービス関係データ２０３２は、「ビル」の識別子であるビルＩＤとサービスＩＤの関係を表す情報である。
棟・機器関係データ２０３３は、棟ＩＤと「機器」の識別子である機器ＩＤの関係を表す情報である。
図３（ａ）〜（ｃ）のサービス・棟データ２０３１、ビル・サービス関係データ２０３２及び棟・機器関係データ２０３３は、図３（ｄ）に示すビルＸ、棟α、棟β、棟γ、サービスＡ、サービスＢ、サービスＣ、データ機器１、データ機器２の関係を示している。
ビルＸは、棟α、棟β、棟γから構成され、また、ビルＸに対するサービスとしては、サービスＡ、サービスＢ、サービスＣがある（図３（ｂ））。
また、サービスは棟を単位としており、サービスＡとサービスＢはともに棟αと棟γをサービス対象物とし、サービスＣは棟βと棟γをサービス対象物としている（図３（ａ））。
更に、棟αのデータはデータ機器１とデータ機器２に分かれて管理されており、棟βと棟γのデータはデータ機器３で一括して管理されている（図３（ｃ））。
【００２３】
次に、要求状態データ記憶部２０５で記憶されている要求状態データの構成を図４に示す。
要求状態データは、要求を一意に識別する要求キーを主キーとしてビルＩＤと機器ＩＤと対象データ名と処理状態と振り分け先を管理する情報である。
図４において、ビルＩＤは例えば図３のビルＸである。
また、機器ＩＤは例えば図３のデータ機器１〜３のいずれかである。
対象データ名が指定されるのは、各データ機器で複数種のデータを記憶しているからである。
各データ機器は、例えば、該当する棟の電力消費量の推移データや室温の推移データといった複数種類のデータを記憶している。
また、処理状態には、通信システム４００がデータを取得中であるか、通信システム４００により取得されたデータを共有ファイルサーバ装置６００に展開中であるかが示される。
振り分け先とは監視サーバ装置３００を表し、要求状態データで振り分け先を管理するのは、複数の監視サーバ装置３００が存在する場合を想定しているからである。
【００２４】
次に、図１に戻り、監視サーバ装置３００において、要求登録変更部３０１は通信システム４００に対してデータ取得指示を新規に登録もしくは既存の要求内容を変更する。
より具体的には、要求登録変更部３０１は、要求セッションマージ部２０２により新たなデータ取得要求が現在処理中のデータ取得要求にマージされた場合は、現在処理中のデータ取得処理の優先度を上げるよう要求登録変更部３０１に通知する。
また、マージがされない場合は、新たなでデータ取得要求に基づくデータ取得指示を通信システム４００に登録する。
要求登録変更部３０１は、要求セッションマージ部２０２及び要求振り分け部２０６とともに、データ取得制御部の例である。
【００２５】
状態監視部３０２は、通信システム４００のデータ取得状況を監視する。
状態監視部３０２は、監視部の例である。
【００２６】
展開処理部３０３は、通信システム４００が遠隔システム５００から取得した結果データを共有ファイルサーバ装置６００へ展開（格納）する。
展開処理部３０３は、データ格納部の例である。
【００２７】
進捗通知部３０４は、要求が通信システム４００においてデータ取得処理中か展開処理部３０３によるデータ展開処理中かといった進捗状態を、要求制御サーバ装置２００の監視状態管理部２０４に通知する。
【００２８】
通信システム４００において、入出力データベース４０１はデータ取得指示の受付と結果格納を行うインタフェースとなるデータベースである。
通信装置４０２は、入出力データベース４０１に入力された指示に応じて遠隔システム５００と通信し、取得したデータを結果として入出力データベース４０１に格納する。
通信システム４００は、データ取得部の例である。
【００２９】
入出力データベース４０１のデータ構成を図５に示す。
入出力データベース４０１は要求キーを主キーとしてビルＩＤと機器ＩＤと対象データ名と処理優先度と処理状態と結果データを管理する。
入出力データベース４０１は、処理優先度が高いデータ取得処理を優先して実行する。
【００３０】
遠隔システム５００には、図３に示した複数のデータ機器が含まれており、データ取得指示で指定されたデータ機器から対象のデータを抽出し、抽出したデータを通信システム４００に送信する。
【００３１】
次に動作について説明する。
図６、図７及び図８は本実施の形態における動作を示した処理シーケンス図である。
これを用いてサービスアプリケーション１００がサービスＩＤと棟ＩＤを基に要求制御サーバ装置２００経由で通信システム４００を用いてデータを取得する動作を説明する。
【００３２】
サービスアプリケーション１００は、要求受付部２０１へデータ取得要求としてサービスＩＤと棟ＩＤと対象データ名を送信する（Ｍ０１００）。
サービスＩＤは要求元のサービス、すなわち、データ取得要求の送信元のサービスアプリケーション１００の識別子である。
また、前述したように、サービスでは棟単位で管理しているので、データ取得の対象となる棟の識別子が棟ＩＤとして含まれる。
【００３３】
要求受付部２０１は、受信したデータ取得要求を要求セッションマージ部２０２へ渡す（Ｍ０１０１）。
要求セッションマージ部２０２は、契約・物理構成データ（図３）を参照し、データ取得要求に含まれているサービスＩＤに対応するビルＩＤを割り出し、また、データ取得要求に含まれている棟ＩＤに対応する機器ＩＤを割り出し、一意な取得対象と関連するサービスＩＤ一覧を得る（Ｍ０１０２）。
サービスＩＤ一覧には、契約・物理構成データにおいて、データ取得要求から割り出された機器ＩＤと対応付けられているサービスＩＤが示されている。
例えば、サービスＩＤ：サービスＣ、棟ＩＤ：棟βが示されているデータ取得要求を入力した場合は、要求セッションマージ部２０２は、棟βから機器３を割り出す。
また、要求セッションマージ部２０２は、機器３に対応付けられている棟β及び棟γを割り出し、棟γに対応付けられているサービスＡとサービスＢ、棟β及び棟γに対応付けられているサービスＣを割り出し、割り出したサービスＡとサービスＢとサービスＣが示されるサービスＩＤ一覧を生成する。
このサービスＩＤ一覧は、後述するデータ展開（Ｍ０１２３）の際に用いられる。
【００３４】
次に、要求セッションマージ部２０２は、監視状態管理部２０４から取得対象の処理状態（取得処理中か展開処理中か新規か）を取得する（Ｍ０１０３、Ｍ０１０４）。
より具体的には、要求セッションマージ部２０２は、監視状態管理部２０４にビルＩＤと機器ＩＤと対象データ名を通知する。
監視状態管理部２０４は、通知されたビルＩＤと機器ＩＤと対象データ名の組み合わせに対応するデータを通信システム４００が取得処理中であるか、共有ファイルサーバ装置６００に対して展開処理中であるか、いずれでもないかを要求状態データ記憶部２０５の要求状態データ２０５０（図４）を参照して判断する。
そして、監視状態管理部２０４は、取得対象の処理状態（取得処理中か展開処理中か新規か）を要求セッションマージ部２０２に通知する。
取得処理中である場合は、監視状態管理部２０４は、取得処理中である先行するデータ取得要求に割り当てられている要求キー（要求状態データで管理されている要求キー）を要求セッションマージ部２０２に通知する。
【００３５】
次に、要求セッションマージ部２０２は、監視状態管理部２０４から通知された処理状態が取得処理中であれば、優先度を変更するよう指示する優先度変更指示を要求振り分け部２０６に出力し、新規であれば、対象となるデータを取得するよう指示するデータ取得指示を要求振り分け部２０６に出力する（Ｍ０１０５）。
このように、処理状態が取得処理中の場合、すなわち、先行するデータ取得要求に基づき同じデータ機器から同じデータに対する取得処理が行われている場合は、要求セッションマージ部２０２は、Ｍ０１００で入力されたデータ取得要求に基づくデータ取得指示は生成しない。
優先度変更指示には、優先度変更指示であることを示すコマンドＩＤと、Ｍ０１０４で通知された要求キーが含まれる。
また、データ取得指示には、データ取得指示であることを示すコマンドＩＤと、Ｍ０１０１で入力したデータ取得要求に含まれる対象データ名と、Ｍ０１０２で得たビルＩＤと機器ＩＤとサービスＩＤ一覧とが含まれる。
なお、監視状態管理部２０４から通知された処理状態が処理状態が展開中の場合は、要求セッションマージ部２０２は、何もせずに処理を返す。
【００３６】
要求振り分け部２０６は、優先度変更指示又はデータ取得指示が振り分けされる監視サーバ装置３００を監視状態管理部２０４から取得する（Ｍ０１０６、Ｍ０１０７）。
この処理は、監視サーバ装置３００が複数台存在する場合の処理である。
要求振り分け部２０６は、要求セッションマージ部２０２から優先度変更指示が出力された場合は、優先度変更指示に含まれる要求キーを監視状態管理部２０４に通知する。
監視状態管理部２０４は、要求状態データ記憶部２０５の要求状態データ２０５０（図４）を参照して、要求振り分け部２０６から通知された要求キーと同じ要求キーが割り振られている監視サーバ装置３００を検索し、該当する監視サーバ装置３００を応答する。
また、要求振り分け部２０６は、要求セッションマージ部２０２からデータ取得指示が出力された場合は、当該データ取得指示を監視状態管理部２０４に出力して、監視サーバ装置３００を問い合わせる。
このとき、監視状態管理部２０４は、新規に要求キーを生成するとともに、要求振り分け部２０６から入力したデータ取得指示に対して、要求状態データ２０５０（図４）を生成する。
また、監視状態管理部２０４は、例えば、ラウンドロビンにより監視サーバ装置３００を選択し、選択した監視サーバ装置３００と要求キーを応答する。
【００３７】
次に、要求振り分け部２０６は、取得した振り分け先の監視サーバ装置３００の要求登録変更部３０１へ優先度変更指示又はデータ取得指示を送信する（Ｍ０１０８）。
優先度変更指示を送信する場合は、要求振り分け部２０６は、Ｍ０１０５で入力した優先度変更指示をそのまま送信する。
一方、データ取得指示を送信する場合は、要求振り分け部２０６は、Ｍ０１０５で入力したデータ取得指示にＭ０１０７で取得した要求キーを付加して送信する。
つまり、要求キーとビルＩＤと機器ＩＤと対象データ名とサービスＩＤ一覧が含まれるデータ取得指示を送信する。
【００３８】
要求登録変更部３０１は、優先度変更指示を受信した場合は、要求キーを入出力データベース４０１に通知し、優先度の変更を指示し、データ取得指示を受信した場合は、要求キーとビルＩＤと機器ＩＤと対象データ名を入出力データベース４０１に通知し、これらの情報の新規登録を指示する（Ｍ０１０９、Ｍ０１１０）。
【００３９】
次に、要求登録変更部３０１は、入出力データベース４０１に新規登録を指示した要求キーと、当該要求キーに対応するサービスＩＤ一覧（Ｍ０１０２で取得したサービスＩＤ一覧）を状態監視部３０２に非同期で渡し（Ｍ０１１１）、処理を返す（Ｍ０１１２〜Ｍ０１１５）。
【００４０】
状態監視部３０２は、保持している要求キーのデータ取得処理の状態を入出力データベース４０１から定期的に検索する（Ｍ０１１６、Ｍ０１１７）。
【００４１】
次に、状態監視部３０２は、保持している要求キーの処理状態が「取得処理中」から「取得完了」に変わっていれば進捗通知部３０４に処理状態として「展開中」を通知し（Ｍ０１１８）、進捗通知部３０４が状態監視部３０２からの進捗通知を監視状態管理部２０４へ通知する（Ｍ０１１９）。
監視状態管理部２０４は、進捗通知に応じて要求状態データ２０５０（図４）の「処理状態」を更新する。
【００４２】
また、状態監視部３０２は、展開処理部３０３に処理要求として要求キーとサービスＩＤ一覧を渡す（Ｍ０１２０）。
【００４３】
展開処理部３０３は、要求キーを基に入出力データベース４０１から結果データを取得する（Ｍ０１２１、Ｍ０１２２）。
【００４４】
次に、展開処理部３０３は、取得した結果データを共有ファイルサーバ装置６００の各サービスＩＤの展開先に展開する（Ｍ０１２３）。
つまり、展開処理部３０３は、Ｍ０１２０で取得したサービスＩＤ一覧に示されているサービスＩＤの展開先に結果データを展開する。
なお、契約・物理構成データ（図３）において、相互に異なるデータ対象物（棟）を介して結果データの取得元のデータ機器と対応付けられている２つ以上のサービスであっても、各々のサービスの展開先に結果データが展開される。
例えば、前述したように、例えば、サービスＩＤ：サービスＣ、棟ＩＤ：棟βが示されているデータ取得要求を入力した場合に、要求セッションマージ部２０２は、棟βから機器３を割り出し、棟γを介して機器３に対応付けられているサービスＡとサービスＢもサービスＩＤ一覧に含め、展開処理部３０３は、サービスＣからのデータ取得要求に基づいて取得された結果データを、サービスＩＤ一覧に含まれているサービスＡとサービスＢの展開先に展開する。
この結果、棟γを介して機器３と対応付けられているサービスＡとサービスＢのサービスアプリケーションも、棟β（と棟γ）を介して機器３と対応付けられているサービスＣのサービスアプリケーションとともに、結果データにアクセス可能である。
【００４５】
次に、展開処理部３０３は、進捗通知部３０４に展開処理の完了を通知する（Ｍ０１２４）。
進捗通知部３０４は、展開処理部３０３から受けた進捗通知を監視状態管理部２０４へ通知する（Ｍ０１２５）。
【００４６】
次に、要求セッションマージ部２０２の詳しい動作について説明する。
図９は、要求セッションマージ部２０２における処理フローチャートである。
【００４７】
要求セッションマージ部２０２では契約・物理構成データ（図３）を基に入力されたサービスＩＤから紐付くビルＩＤを特定する（Ｓ０１００）。
次に、同様にして入力された棟ＩＤから紐付く機器ＩＤとサービスＩＤ一覧を特定する（Ｓ０１０１）。
次に、特定したビルＩＤと機器ＩＤと要求の対象データ名から監視状態管理部２０４に対応する取得処理の実行状態を問い合わせる（Ｓ０１０２）。
次に、問い合わせた結果、要求が「処理中」かどうかを判断する（Ｓ０１０３）。
「処理中」であった場合、その処理状態が「取得中」か「展開中」かを判断する（Ｓ０１０４）。
「取得中」であった場合、要求振り分け部２０６へ優先度を上げる指示を送る（Ｓ０１０５）。
「展開中」であった場合は何もせずに処理を返す（Ｓ０１０６）。
ステップＳ０１０３において「処理中」で無かった場合、新規にデータ取得指示を送る（Ｓ０１０７）。
【００４８】
このように、サービスアプリケーションからの要求パラメータ（データ取得要求に含まれるサービスＩＤ、棟ＩＤ）が異なっても（例えば、図３における構成でサービスＡが棟γのデータ取得要求を既に登録した後にサービスＣが棟βのデータ取得要求を出す場合や、サービスＣが棟βのデータ取得要求を登録した後にサービスＣが棟γのデータ取得要求を出す場合）、要求セッションマージ部２０２によって、物理的に同一のデータを取得する場合は実際に遠隔システムと通信を行う通信システムへ要求を登録せずに上位でマージすることで、処理負荷の分散とデータの競合制御を行うことができる。
【００４９】
次に、状態監視部３０２の詳しい動作について説明する。
図１０は、状態監視部３０２における処理フローチャートである。
【００５０】
状態監視部３０２では定期的に処理が実行される（Ｓ０２００）。
まず、保持している要求キーを基に入出力データベース４０１から監視対象となる要求の一覧を検索する（Ｓ０２０１）。
次に、検索して得られた各要求の内容について処理を行う（Ｓ０２０２）。
処理状態が「処理中」か「完了」かを判断する（Ｓ０２０３）。
「処理中」であった場合、何もしない（Ｓ０２０４）。
「完了」であった場合、その要求キーとサービスＩＤ一覧を展開処理部３０３へ送る（Ｓ０２０５）。
次に、その要求キーを監視対象から外し、進捗通知部３０４へ進捗通知する（Ｓ０２０６）。
【００５１】
以上のように、データベースをインタフェースとする遠隔システムへの通信システムの要求処理と結果処理を分散し、データ取得要求を契約や物理構造に基づいて処理要求をマージすることで、データ取得処理の効率化を行うことができる。
また、同一データに対する要求がマージされるため分散処理時においても得られたデータの保存時の競合制御を不要とすることができる。
また、契約・物理構造データは契約業務で得られるサービスとビルの関係、工事業務で得られる棟と機器の関係から生成の自動化も可能であるため、データ取得者は物理構造を意識せずにデータ取得要求を行うことができる。
【００５２】
以上、本実施の形態では、
任意のサービスアプリケーションから利用できるデータ取得の受付を公開する手段と、契約と物理構成の関係から処置中のデータ取得要求をマージする手段を備えたデータ処理システムを説明した。
【００５３】
また、本実施の形態では、
前記データ処理システムが、データ取得要求の処理分散先の状態を管理する手段と、要求を分散先へ振り分ける手段と振り分け先において処理進捗を通知する手段を備えていることを説明した。
【００５４】
また、前記データ処理システムが、データベースインタフェースのシステムへ要求を登録する手段と、登録した要求の処理状態を監視する手段と、要求の結果を共通に利用できる領域に展開する手段を備えていることを説明した。
【００５５】
また、前記データ処理システムが、契約情報や工事情報から契約と物理構成の関係を生成する手段を備えていることを説明した。
【００５６】
最後に、本実施の形態に示した要求制御サーバ装置２００、監視サーバ装置３００及び通信システム４００（以下、要求制御サーバ装置２００等と表記する）のハードウェア構成例について説明する。
図１１は、本実施の形態に示す要求制御サーバ装置２００等のハードウェア資源の一例を示す図である。
なお、図１１の構成は、あくまでも要求制御サーバ装置２００等のハードウェア構成の一例を示すものであり、要求制御サーバ装置２００等のハードウェア構成は図１１に記載の構成に限らず、他の構成であってもよい。
【００５７】
図１１において、要求制御サーバ装置２００等は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
本実施の形態で説明した「〜記憶部」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００５８】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）に接続されている。
また、通信ボード９１５は、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などにも接続可能である。
【００５９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００６０】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００６１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
要求制御サーバ装置２００等の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００６２】
上記プログラム群９２３には、本実施の形態の説明において「〜部」（「〜記憶部」以外、以下同様）、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００６３】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の比較」、「〜の取得」、「〜の更新」、「〜の設定」、「〜の特定」、「〜の登録」、「〜の選択」、「〜の指示」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６４】
また、本実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「データ処理方法」を実現することができる。
また、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００６５】
このように、本実施の形態に示す要求制御サーバ装置２００等は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００６６】
１００  サービスアプリケーション、２００  要求制御サーバ装置、２０１  要求受付部、２０２  要求セッションマージ部、２０３  契約・物理構成データ記憶部、２０４  監視状態管理部、２０５  要求状態データ記憶部、２０６  要求振り分け部、３００  監視サーバ装置、３０１  要求登録変更部、３０２  状態監視部、３０３  展開処理部、３０４  進捗通知部、４００  通信システム、４０１  入出力データベース、４０２  通信装置、５００  遠隔システム、６００  共有ファイルサーバ装置。
【図１】
0005660986.tif 000002
【図２】
0005660986.tif 000003
【図３】
0005660986.tif 000004
【図４】
0005660986.tif 000005
【図５】
0005660986.tif 000006
【図６】
0005660986.tif 000007
【図７】
0005660986.tif 000008
【図８】
0005660986.tif 000009
【図９】
0005660986.tif 000010
【図１０】
0005660986.tif 000011
【図１１】
0005660986.tif 000012