(57)【要約】【課題】簡易な構成で機器の状態に関する情報を取得することが可能な情報管理システム、端末およびサーバを得ること。【解決手段】機器データを外部機器４から受信する通信ＩＦ部５２と、外部機器４の状態値を含む実オブジェクトを生成するとともに、仮想オブジェクトを生成するための実オブジェクト情報を生成する実オブジェクト生成部５３と、を有するネットワーク５上の端末１と、実オブジェクト生成部５３で生成された実オブジェクト情報を記憶するデータベース３０を有するネットワーク５上のオブジェクトディレクトリサーバ３と、データベース３０の実オブジェクト情報に基づいて仮想オブジェクトを生成する仮想オブジェクト生成部６３を有するネットワーク５上のサーバ２と、を備える情報管理システムであって、サーバ２は、仮想オブジェクトによって実オブジェクトから外部機器４の状態値を受信する。【選択図】        図２
2006004095.tif 000002
【特許請求の範囲】
【請求項１】
機器の状態に関する情報を前記機器から受信する情報受信部と、前記機器の状態に関する情報に基づいて前記機器の状態値を含む第１の実オブジェクトを生成するとともに、前記第１の実オブジェクトに対応する仮想的な仮想オブジェクトを生成するための仮想オブジェクト生成情報を前記機器の状態に関する情報に基づいて生成する第１の実オブジェクト生成部と、を有する通信ネットワーク上の情報取得端末と、
前記第１の実オブジェクト生成部で生成された前記仮想オブジェクト生成情報を記憶する記憶部を有する通信ネットワーク上の情報記憶サーバと、
前記記憶部で記憶される前記仮想オブジェクト生成情報に基づいて前記仮想オブジェクトを生成する仮想オブジェクト生成部を有する通信ネットワーク上の情報取得サーバと、
を備える情報管理システムであって、
前記情報取得サーバは、前記仮想オブジェクトによって前記第１の実オブジェクトから前記機器の状態値を受信することを特徴とする情報管理システム。
【請求項２】
前記仮想オブジェクト生成情報は、前記状態値に対応する前記端末を識別するための情報、前記状態値に対応する前記機器を識別するための情報および前記機器の状態値の種類を識別するための状態値識別情報を含み、
前記仮想オブジェクト生成部は、前記仮想オブジェクト生成情報に基づいて前記機器の前記状態値毎に前記仮想オブジェクトを生成することを特徴とする請求項１に記載の情報管理システム。
【請求項３】
前記情報取得端末は、前記機器の状態値の変化を検出すると、変化のあった前記機器の状態値を前記情報取得サーバに送信することを特徴とする請求項１または２に記載の情報管理システム。
【請求項４】
前記情報取得サーバは、前記機器の状態値に対応した実オブジェクトを有する前記情報取得端末に前記機器の状態値の送信要求の指示情報を送信する情報要求部をさらに備えることを特徴とする請求項１〜３のいずれか１つに記載の情報管理システム。
【請求項５】
前記情報取得サーバは、前記機器の制御を行うための制御指示情報を、前記制御を行なう機器と接続された前記情報取得端末に送信する制御指示部をさらに備え、
前記情報取得端末は、前記制御指示情報に基づいて前記機器の制御を行う制御部をさらに備えることを特徴とする請求項１〜４のいずれか１つに記載の情報管理システム。
【請求項６】
前記情報取得サーバは、前記仮想オブジェクト生成部で生成した１〜複数の仮想オブジェクトに基づいて、前記仮想オブジェクトに対応した前記機器の状態値を含む階層化された第２の実オブジェクトを生成する第２の実オブジェクト生成部をさらに備えることを特徴とする請求項１〜５のいずれか１つに記載の情報管理システム。
【請求項７】
前記情報取得サーバの前記第２の実オブジェクト生成部は、前記第２の実オブジェクトを生成する際の前記状態値識別情報を生成し、
前記情報記憶サーバの前記記憶部は、前記第２の実オブジェクト生成部で生成された前記状態値識別情報を記憶することを特徴とする請求項６に記載の情報管理システム。
【請求項８】
機器の状態に関する情報を前記機器から受信する情報受信部と、
前記機器の状態に関する情報に基づいて前記機器の状態値を含む第１の実オブジェクトを生成するとともに、前記第１の実オブジェクトに対応する仮想的な仮想オブジェクトを生成するための仮想オブジェクト生成情報を前記機器の状態に関する情報に基づいて生成する実オブジェクト生成部と、
前記仮想オブジェクト生成情報を記憶する情報記憶サーバに、前記実オブジェクト生成部で生成された前記仮想オブジェクト生成情報を送信するとともに、前記情報記憶サーバで記憶される前記仮想オブジェクト生成情報に基づいて前記仮想オブジェクトを生成する情報取得サーバに、前記機器の状態値を前記実オブジェクトから送信する送信部と、
を備えることを特徴とする端末。
【請求項９】
機器の状態に関する情報を前記機器から受信して前記機器の状態値を含む第１の実オブジェクトを生成する情報取得端末および前記第１の実オブジェクトに対応する仮想的な仮想オブジェクトを生成するための仮想オブジェクト生成情報を記憶する情報記憶サーバと接続されたサーバであって、
前記情報記憶サーバで記憶される前記仮想オブジェクト生成情報に基づいて前記仮想オブジェクトを生成する仮想オブジェクト生成部を備え、
前記仮想オブジェクトは、前記第１の実オブジェクトから前記機器の状態値を受信することを特徴とするサーバ。
【請求項１０】
機器の状態に関する情報を前記機器から受信して、前記機器の状態に関する情報に基づいて前記機器の状態値を含む第１の実オブジェクトを生成するとともに、前記第１の実オブジェクトに対応する仮想的な仮想オブジェクトを生成するための仮想オブジェクト生成情報を前記機器の状態に関する情報に基づいて生成する情報取得端末から送信される前記仮想オブジェクト生成情報を記憶する記憶部と、
前記記憶部で記憶される前記仮想オブジェクト生成情報に基づいて前記仮想オブジェクトを生成するとともに前記仮想オブジェクトが前記第１の実オブジェクトから前記機器の状態値を受信する情報取得サーバに対し、前記仮想オブジェクト生成情報を送信する送信部と、
を備えることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の端末に接続された機器の状態に関する情報を管理する情報管理システム、端末およびサーバに関するものである。
【背景技術】
【０００２】
従来、産業用機器等を管理するため、産業用機器に接続された管理装置によって管理を行っている。管理装置は産業用機器を管理するためのアプリケーションを備えており、産業用機器を管理装置によって管理する際、産業用機器と管理装置の間で監視指示や監視結果をやりとりし、管理装置が産業用機器に関する情報を取得し集計する。
【０００３】
産業用機器間の通信や産業用機器と管理装置の間の通信にそれぞれの独自プロトコルが使用されるとともに、通信経路も独自の方式が使われている。複数の産業用機器を一元管理するアプリケーションとして、ＳＣＡＤＡ（Supervisory Control and Data Acquisition）アプリケーションがある。ＳＣＡＤＡアプリケーションを作成する場合、各産業用機器の製造メーカが異なれば上述のように通信プロトコルや通信路が異なるため、複数の製造メーカで製造された産業用機器を操作するアプリケーションを作成することは困難であった。
【０００４】
特許文献１に記載のサービス提供システムは、オブジェクト指向言語で記述されたフレームワークを用いて監視システムを構築している。フレームワークは、監視対象となる外部機器に関連するデータを保持するモデル部と、ユーザとの間に介在するビュー部と、外部機器との間で所定の通信プロトコルに従ってデータをやりとりするプロキシー部と、コントローラ部とを含んでいる。コントローラ部は、モデル部のデータを管理するとともに、モデル部とビュー部とを結び付け、ユーザまたは外部機器から与えられるデータに基づいて外部機器に対して各種のサービスを提供している。そして、プロキシー部が、通信データを監視システム内部で扱われる内部データの形式に変換している。
【０００５】
【特許文献１】特開２００１−１６６９３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術によればフレームワークはモデル部（データ保持部）が情報管理機器の内部に存在するため、アプリケーションは複数の外部機器の情報を一括して管理することができない。フレームワークは１つのシステム（１台の情報管理機器）と複数の外部機器を接続して外部機器を監視しており、複数の場所に分散されて配置された複数の外部機器の機器情報を統合して管理することはできないといった問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、簡易な構成で機器の状態に関する情報を取得することが可能な情報管理システム、端末およびサーバを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、機器の状態に関する情報を前記機器から受信する情報受信部と、前記機器の状態に関する情報に基づいて前記機器の状態値を含む第１の実オブジェクトを生成するとともに、前記第１の実オブジェクトに対応する仮想的な仮想オブジェクトを生成するための仮想オブジェクト生成情報を前記機器の状態に関する情報に基づいて生成する第１の実オブジェクト生成部と、を有する通信ネットワーク上の情報取得端末と、前記第１の実オブジェクト生成部で生成された前記仮想オブジェクト生成情報を記憶する記憶部を有する通信ネットワーク上の情報記憶サーバと、前記記憶部で記憶される前記仮想オブジェクト生成情報に基づいて前記仮想オブジェクトを生成する仮想オブジェクト生成部を有する通信ネットワーク上の情報取得サーバと、を備える情報管理システムであって、前記情報取得サーバは、前記仮想オブジェクトによって前記第１の実オブジェクトから前記機器の状態値を受信することを特徴とする。
【０００９】
この発明によれば、情報取得サーバが仮想オブジェクトによって実オブジェクトから機器の状態値を受信するので、情報取得サーバは仮想オブジェクトおよび機器の状態値に基づいて機器の状態に関する情報を取得することが可能となる。
【発明の効果】
【００１０】
この発明によれば、情報記憶サーバを介して機器に接続している実オブジェクトと情報取得サーバの仮想オブジェクトを接続しているため、機器の位置や機器と情報取得端末が接続されているプロトコルに依存することなく、情報取得サーバは、仮想オブジェクトにアクセスすることによって機器の状態に関する情報を取得することが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかる情報管理システム、端末およびサーバの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
まず、本実施の形態１に係る情報管理システムの概念について説明する。図１は実施の形態１に係るオブジェクト指向フレームワークを説明するための図である。図１において情報管理システムは、互いにネットワーク５で接続された端末（情報取得端末）１、サーバ（情報取得サーバ）２、オブジェクトディレクトリサーバ（情報記憶サーバ）３を備えている。また、外部機器４は端末１と接続されている。
【００１３】
端末１はデバイスドライバ１０、オブジェクトドライバ１１、フレームワークライブラリ１００からなる。端末１は、ソフトウェアであるデバイスドライバ１０によって外部機器４と通信し、ソフトウェアであるオブジェクトドライバ１１によって外部機器４に対応したインスタンス（実オブジェクト１２）を仮想フレームワーク２００上に生成する。
【００１４】
オブジェクトの生成や管理等は、ソフトウェアであるフレームワークライブラリ１００によって行なわれる。仮想フレームワーク２００は、複数の実オブジェクト（第１の実オブジェクト）１２と複数の仮想オブジェクト２１によって構成されるものである。仮想フレームワーク２００は、アプリケーション２０と外部機器４を仮想的に接続するフレームワークである。
【００１５】
実オブジェクト１２は、デバイスドライバ１０を介して所定の外部機器４と通信するとともに、外部機器４と通信する専用プロトコルを仮想フレームワーク２００内の共通プロトコルに変換する機能を有している。実オブジェクト１２は、外部機器４から取得した機器データ４１を定期的にネットワーク５上の全ての機器（ネットワーク５に接続されたサーバ２など）にブロードキャストすることによって機器データ４１を仮想オブジェクト２１に送信する。
【００１６】
オブジェクトディレクトリサーバ３は、オブジェクトデータベース３０を有している。オブジェクトデータベース３０は、複数の実オブジェクト情報（仮想オブジェクト生成情報）３１を記憶（保存）し、この実オブジェクト情報３１をサーバ２に提供する。実オブジェクト情報３１は、実オブジェクト１２から仮想オブジェクト２１を生成するための情報であり、端末１のフレームワークライブラリ１００によってオブジェクトデータベース３０に登録される。実オブジェクト１２がデータ、構造、処理等の情報を含むのに対し、実オブジェクト情報３１は実オブジェクト１２を生成するための枠組み（スケルトン）に関する情報を含んでいる。
【００１７】
実オブジェクト情報３１には、端末名３２、機器名３３、機器データリスト３４が含まれる。端末名３２は、実オブジェクト情報３１に対応する実オブジェクト１２が存在する端末１の名称等の情報（識別情報）である。端末名３２は、ネットワーク５上で一意に端末１を指定（識別）できる識別子等の情報を含んでいる。このためネットワーク５がＩＰネットワークであれば端末名３２はＩＰアドレスであっても良い。機器名３３は、実オブジェクト情報３１に対応する実オブジェクト１２において、実オブジェクト１２に対応する外部機器４の名称等の情報（識別情報）である。機器データリスト３４は、複数の外部機器４に対応する機器データ情報（状態値識別情報）３５を有している。
【００１８】
機器データ情報３５は、実オブジェクト情報３１に対応する実オブジェクト１２の外部機器４から取得できる外部機器４に関する情報であり、機器データ名３６、機器データタイプ３７、機器データ詳細情報３８を含んでいる。
【００１９】
機器データ名３６は、外部機器４から取得できるデータに対応するデータの名称である。例えば、外部機器４がタンクの場合、タンクの「水量」や「温度」などが機器データ名３６として格納される。機器データタイプ３７は、外部機器４から取得できるデータの種類を表す。機器データタイプ３７は、データの種類として例えば「整数型」、「文字列型」などを格納する。機器データ詳細情報３８は、外部機器４から取得できるデータの説明に関する情報である。機器データ詳細情報３８は、外部機器４から取得できるデータのデータ単位などを記述する際に使用する。
【００２０】
端末１の実オブジェクト１２やオブジェクトディレクトリサーバ３の実オブジェクト情報３１に基づいて、サーバ２にインスタンス（仮想オブジェクト２１）が生成される。サーバ２は、アプリケーション２０、フレームワークライブラリ１００を備えており、アプリケーション２０、フレームワークライブラリ１００によって仮想オブジェクト２１から外部機器４に関する情報を取得（利用）する。
【００２１】
仮想オブジェクト２１は、アプリケーション２０が所定の外部機器４に関する情報を利用する際に、端末１が有する所定の実オブジェクト１２と仮想フレームワーク２００上で通信する機能を有している。
【００２２】
仮想オブジェクト２１にはタイムスタンプ２５、コールバック２６、機器データ２７が含まれる。タイムスタンプ２５は、機器データ２７を取得した時刻に関する情報である。コールバック２６は、機器データ２７に変化がある場合に、アプリケーション２０を呼び出すために登録する関数のポインタである。機器データ２７は、仮想オブジェクト２１が保持する外部機器４の状態を示す値（機器データ４１）である。外部機器４の状態値は、例えばレジスタのＩ／Ｏの状態等がある。
【００２３】
このように、情報管理システムにおいて端末１のオブジェクトドライバ１１が外部機器４に対応した実オブジェクト１２を仮想フレームワーク２００上に生成し、オブジェクトディレクトリサーバ３が実オブジェクト１２から仮想オブジェクト２１を生成するための実オブジェクト情報３１をサーバ２に提供する。そして、サーバ２が端末１の実オブジェクト１２やオブジェクトディレクトリサーバ３の実オブジェクト情報３１に基づいて、サーバ２に仮想オブジェクト２１を生成し、仮想オブジェクト２１から外部機器４に関する情報（機器データ２７）を取得する。
【００２４】
つぎに、本実施の形態１に係る情報管理システムのシステム構成について説明する。図２は実施の形態１に係る情報管理システムのシステム構成を示す機能ブロック図である。情報管理システムは、オブジェクト指向フレームワーク（再利用可能な設計の雛型）に基づいて外部機器４の情報を収集するシステムである。情報管理システムは、端末１、サーバ２、オブジェクトディレクトリサーバ３、外部機器４、ネットワーク５からなる。端末１、サーバ２、オブジェクトディレクトリサーバ３はネットワーク５によって接続され、外部機器４は端末１と接続されている。
【００２５】
端末１は、外部機器４に関する情報を取得してサーバ２やオブジェクトディレクトリサーバ３へ提供するための種々のソフトウェアを保存するとともに此れらのソフトウェアを実行するハードウェアであり、例えばパーソナルコンピュータ等からなる。端末１は、ソフトウェア格納部５１、通信ＩＦ部（情報受信部）５２、実オブジェクト生成部（第１の実オブジェクト生成部）５３、制御部５９を備える。
【００２６】
ソフトウェア格納部５１は、図１に示したデバイスドライバ１０、オブジェクトドライバ１１、フレームワークライブラリ１００等を格納する。デバイスドライバ１０は、外部機器４と通信するためのソフトウェアであり、オブジェクトドライバ１１は外部機器４に対応したインスタンス（実オブジェクト１２）を仮想フレームワーク２００上に生成するためのソフトウェアである。フレームワークライブラリ１００は、実オブジェクト（クラス）１２等を使用するためのソフトウェアであり、オブジェクトの生成や管理等を行う。
【００２７】
実オブジェクト１２は、フレームワークライブラリ１００がオブジェクトドライバ１１の要求に応じて仮想フレームワーク２００上に生成するソフトウェアのインスタンスである。ソフトウェアのインスタンスとは、ソフトウェアが実行されている状態を表し、例えば１つのソフトウェアを複数実行した場合、それぞれがソフトウェアのインスタンスとなる。実オブジェクト１２は、デバイスドライバ１０を介して所定の外部機器４と通信するとともに、外部機器４と通信する専用プロトコルを仮想フレームワーク２００内の共通プロトコルに変換する機能を有している。
【００２８】
実オブジェクト生成部５３は、ソフトウェア格納部５１のオブジェクトドライバ１１に基づいて実オブジェクト１２を仮想フレームワーク２００上に生成する。オブジェクトドライバ１１は、フレームワークライブラリ１００に実オブジェクト１２を生成させる。実オブジェクト生成部５３は、フレームワークライブラリ１００に基づいてオブジェクトの生成や管理を行う。また、実オブジェクト生成部５３は、ソフトウェア格納部５１のオブジェクトドライバ１１に基づいて外部機器４に対応する実オブジェクト情報３１を生成する。端末１における実オブジェクト１２は、実オブジェクト生成部５３に含まれるＲＡＭ等のメモリ機能（図示せず）によって記憶される。
【００２９】
通信ＩＦ部５２は、ソフトウェア格納部５１のデバイスドライバ１０に基づいて外部機器４と情報の送受信を行う。通信ＩＦ部５２は、サーバ２やオブジェクトディレクトリサーバ３と情報の送受信を行う。
【００３０】
制御部５９は、ソフトウェア格納部５１、通信ＩＦ部５２、実オブジェクト生成部５３を制御する。制御部５９は、図示しないＣＰＵ（Central Processing Unit）、図示しないＲＡＭ（Random Access Memory）を含んで構成され、ＣＰＵがソフトウェア格納部５１に格納される各種プログラムなどを読み出してＲＡＭ内のプログラム格納領域に展開して各種処理を実行し、この処理に際して生じる各種データをＲＡＭ内に形成されるデータ格納領域に一時的に記憶して、端末１の各処理部を制御する機能を有する。
【００３１】
サーバ２は、外部機器４の情報を利用する際のアプリケーション２０を保存するとともにこのアプリケーション２０を実行するハードウェアであり、例えばパーソナルコンピュータ等からなる。サーバ２は、ソフトウェア格納部６１、通信ＩＦ部６２、仮想オブジェクト生成部６３、制御部６９を備え、外部機器４の状態に関する情報等を管理する。
【００３２】
ソフトウェア格納部６１は、アプリケーション２０、フレームワークライブラリ１００を格納する。アプリケーション２０はユーザ（情報管理システムの使用者）が外部機器４に関する情報を利用する際に実行するソフトウェアである。フレームワークライブラリ１００は、ここでは仮想オブジェクト２１を使用するためのソフトウェアとして機能する。フレームワークライブラリ１００は、端末１上とサーバ２上において同一のものが記憶されている。
【００３３】
仮想オブジェクト２１は、フレームワークライブラリ１００がアプリケーション２０からの要求に応じて仮想フレームワーク２００上に生成するソフトウェアのインスタンスである。
【００３４】
仮想オブジェクト生成部６３は、ソフトウェア格納部６１のアプリケーション２０に基づいて仮想オブジェクト２１を仮想フレームワーク２００上に生成する。アプリケーション２０は、ソフトウェア格納部６１のフレームワークライブラリ１００に仮想オブジェクト２１を生成させる。仮想オブジェクト生成部６３は、フレームワークライブラリ１００に基づいてオブジェクトの生成や管理を行う。サーバ２における仮想オブジェクト２１は、仮想オブジェクト生成部６３に含まれるＲＡＭ等のメモリ機能（図示せず）によって記憶される。
【００３５】
通信ＩＦ部６２は、端末１やオブジェクトディレクトリサーバ３と情報の送受信を行う。制御部６９は、ソフトウェア格納部６１、通信ＩＦ部６２、仮想オブジェクト生成部６３を制御する。
【００３６】
オブジェクトディレクトリサーバ３は、ソフトウェアとしてオブジェクトデータベース３０を保存するとともにこのオブジェクトデータベース３０の内容を実行するハードウェアであり、例えばパーソナルコンピュータ等からなる。オブジェクトディレクトリサーバ３は、ソフトウェア格納部７１、通信ＩＦ部７２、制御部７９を備える。
【００３７】
ソフトウェア格納部７１は、オブジェクトデータベース（記憶部）３０を格納する。オブジェクトデータベース３０は、複数の実オブジェクト情報３１を実オブジェクト情報３１毎に記憶し、サーバ２のアプリケーション２０からの要求に応じて実オブジェクト情報３１をサーバに提供（送信）するソフトウェアである。通信ＩＦ部７２は、端末１やサーバ２と情報の送受信を行う。制御部７９は、ソフトウェア格納部７１、通信ＩＦ部７２を制御する。
【００３８】
外部機器４は、アプリケーション２０で利用される機器データ４１を有するハードウェアであり、例えば産業用のタンクなどの機器である。機器データ４１は、外部機器４から取得できるデータであり、デバイスドライバ１０を介して端末１によって取得される。ネットワーク５は、端末１、サーバ２、オブジェクトディレクトリサーバ３を接続するインターネットなどの通信ネットワークである。
【００３９】
つぎに、情報管理システムの動作手順について説明する。まず、端末１が仮想フレームワーク２００に実オブジェクト１２を登録する処理手順について説明する。図３は、実施の形態１に係る端末の動作手順を示すフローチャートである。
【００４０】
端末１が起動すると、ハードウェア（端末１）が初期化され、プログラム起動の準備が開始される（ステップＳ１００）。この時、外部機器４は既に起動されており動作中の状態であるとする。
【００４１】
まず、端末１のソフトウェア格納部５１に格納されているデバイスドライバ１０が起動し、通信ＩＦ部５２によって外部機器４との通信を開始する（ステップＳ１１０）。つぎに、端末１のソフトウェア格納部５１に格納されているオブジェクトドライバ１１が起動する（ステップＳ１２０）。オブジェクトドライバ１１は、デバイスドライバ１０を介して外部機器４が正常に動作していることを確認する。
【００４２】
実オブジェクト生成部５３は、ソフトウェア格納部５１のオブジェクトドライバ１１に基づいて外部機器４に対応する実オブジェクト情報３１を生成する。実オブジェクト生成部５３は、実オブジェクト情報３１を登録するための要求を端末１のソフトウェア格納部５１に格納されているフレームワークライブラリ１００に対して行なう（ステップＳ１３０）。
【００４３】
フレームワークライブラリ１００は、実オブジェクト情報３１を、通信ＩＦ部５２、ネットワーク５を介してオブジェクトディレクトリサーバ３のソフトウェア格納部７１のオブジェクトデータベース３０に登録する（ステップＳ１４０）。実オブジェクト情報３１をオブジェクトディレクトリサーバ３に登録することによって、実オブジェクト情報３１がサーバ２から利用可能な状態となる。
【００４４】
また、オブジェクトドライバ１１は外部機器４に対応するインスタンスである実オブジェクト１２を、フレームワークライブラリ１００を介して仮想フレームワーク２００上に生成する（ステップＳ１５０）。具体的には、実オブジェクト１２を実オブジェクト生成部５３のメモリ機能に格納し、サーバ２から利用可能な状態にする。
【００４５】
実オブジェクト１２は、デバイスドライバ１０を介して所定の外部機器４と通信するとともに、外部機器４と通信する専用プロトコルを仮想フレームワーク２００内の共通プロトコルに変換する機能を有している。
【００４６】
これにより、サーバ２はオブジェクトディレクトリサーバ３の実オブジェクト情報３１と端末１の実オブジェクト１２に基づいて外部機器４に関する情報（機器データ４１）が使用可能となる。すなわち、サーバ２はオブジェクトディレクトリサーバ３の実オブジェクト情報３１と端末１の実オブジェクト１２に基づいて仮想フレームワーク２００上に仮想オブジェクト２１を生成することができ、サーバ２上のアプリケーション２０から外部機器４に関する情報が使用可能となる。
【００４７】
つぎに、サーバ２が仮想フレームワーク２００に仮想オブジェクト２１を登録する処理について説明する。図４は、実施の形態１に係るサーバの動作手順を示すフローチャートである。
【００４８】
サーバ２が起動し、サーバ２のソフトウェア格納部６１に格納されたアプリケーション２０が起動する（ステップＳ２００）。サーバ２は、アプリケーション２０に基づき、フレームワークライブラリ１００を介してオブジェクトディレクトリサーバ３に実オブジェクト情報３１の機器名３３および端末名３２のリストを要求する。そして、アプリケーション２０によってオブジェクトディレクトリサーバ３から実オブジェクト情報３１のリスト（機器名３３や端末名３２のリスト）を取得する（ステップＳ２１０）。
【００４９】
アプリケーション２０は、ユーザからの入力情報や過去の実行時に必要とされた外部機器４のリストなどに基づいて情報（状態値）の取得を行なう対象となる外部機器４を決定する。そして、ソフトウェア格納部６１のアプリケーション２０は、サーバ２のフレームワークライブラリ１００を介して情報の取得を行なう外部機器４への接続要求（接続要求情報の送信）を行なう（ステップＳ２２０）。
【００５０】
アプリケーション２０から外部機器４への接続要求を受けたフレームワークライブラリ１００は、オブジェクトディレクトリサーバ３から外部機器４に対応する実オブジェクト情報３１を取得する（ステップＳ２３０）。
【００５１】
フレームワークライブラリ１００は、実オブジェクト情報３１から機器データリスト３４を抽出し、全ての機器データ情報３５に対応する変数を含んだ仮想オブジェクト２１を生成する（ステップＳ２４０）。
【００５２】
生成された仮想オブジェクト２１は、仮想オブジェクト生成部６３に記憶し、フレームワークライブラリ１００によって管理可能な状態にする。フレームワークライブラリ１００は、生成した仮想オブジェクト２１をアプリケーション２０によって利用可能な状態にする（ステップＳ２５０）。具体的には、生成した仮想オブジェクト２１をアプリケーション２０に関連付けて、仮想オブジェクト生成部６３で記憶する。
【００５３】
このとき、必要に応じてアプリケーション２０は仮想オブジェクト２１にコールバック２６を登録する（ステップＳ２６０）。また、必要に応じてアプリケーション２０は不要な機器データ２７を仮想オブジェクト２１から削除する（ステップＳ２７０）。
【００５４】
これにより、サーバ２に仮想オブジェクト２１が生成され、アプリケーション２０は機器データ２７を随時仮想オブジェクト２１から取得できるようになる。すなわち、仮想オブジェクト２１は、アプリケーション２０が所定の外部機器４に関する情報を利用する際に、端末１が有する所定の実オブジェクト１２と仮想フレームワーク２００上で通信を行なうことが可能となる。また、アプリケーション２０は、コールバック２６を登録することによって機器データ２７の変更をデータ受信時に即座に知ることが可能となる。
【００５５】
つぎに、機器データ４１の変更をサーバ２に通知する処理について説明する。図５は、機器データの変更を通知する処理の動作手順を示すフローチャートである。外部機器４の操作や温度センサによる温度変化検出などが起こると、外部機器４の機器データ４１が更新される（ステップＳ３００）。機器データ４１が更新されると、通信ＩＦ部５２から更新された機器データ４１がオブジェクトディレクトリサーバ３に送信され、機器データ情報３５に含まれる情報も更新される。
【００５６】
実オブジェクト１２は、定期的にデバイスドライバ１０をポーリングして機器データ情報３５に含まれるデータを取得している。実オブジェクト１２は、機器データ４１が更新されると機器データ４１の変化を検出し、検出した時刻を保存する（ステップＳ３１０）。
【００５７】
実オブジェクト１２は、例えばＸＭＬ等の構造化が可能な言語で端末名３２、機器名３３、および変化を検出した機器データ名３６、機器データタイプ３７、変化後の外部機器４の状態値（機器データ詳細情報３８）、変化を検出した時刻をまとめて１つのパケットとし、ネットワーク５にブロードキャスト（ネットワーク５に接続されている全てのサーバ２が受信する形式でパケットを送信）する（ステップＳ３２０）。
【００５８】
端末１の実オブジェクト１２からパケットを取得したサーバ２は、フレームワークライブラリ１００を介して取得したパケットから端末名３２および機器名３３を抽出する。サーバ２上に生成されている仮想オブジェクト２１に対応する端末名３２および機器名３３を抽出した場合は、取得したパケットを仮想オブジェクト２１に渡す（ステップＳ３３０）。具体的には、取得したパケットがアプリケーション２０によって使用可能な状態になるよう取得したパケットをアプリケーション２０に関連付けて仮想オブジェクト生成部６３に記憶させる。仮想オブジェクト２１に対応する端末名３２および機器名３３を抽出できなかった場合は、取得したパケットを破棄する。
【００５９】
パケットを取得した仮想オブジェクト２１（仮想オブジェクト生成部６３）はパケットから機器データ情報３５に対応するデータ（機器データ名３６、機器データタイプ３７、機器データ詳細情報３８）を抽出する（ステップＳ３４０）。機器データ名３６、機器データタイプ３７、機器データ詳細情報３８が仮想オブジェクト２１で保持している機器データ名３６、機器データタイプ３７、機器データ詳細情報３８と一致する場合、（アプリケーション２０が必要としている外部機器４のデータである場合）、取得したパケットから外部機器４の状態値を抽出する。
【００６０】
仮想オブジェクト２１内のタイムスタンプ２５と受信したパケットに含まれる外部機器４が変化を検出した時刻を比較して、パケットに含まれる時刻（時刻の情報）がタイムスタンプ２５の時刻より新しい場合は、機器データ２７を更新して仮想オブジェクト２１（仮想オブジェクト生成部６３）内にタイムスタンプ２５を保存する（ステップＳ３５０）。
【００６１】
仮想オブジェクト２１に登録されているコールバック２６がある場合は、登録されているアプリケーション２０の関数をコールバックする（ステップＳ３６０）。これにより、アプリケーション２０は機器データ２７の変化を認識することが可能となる。アプリケーション２０は、機器データ２７の変化を図示しない表示装置などに表示させることによってサーバ２のユーザ等に機器データ２７の変化を認識させることが可能となる。
【００６２】
なお、本実施の形態１においては、情報管理システムが１つの端末、１つのサーバ２、１つのオブジェクトディレクトリサーバ３を備える構成としたが、情報管理システムの構成はこの構成に限られず、複数の端末１、複数のサーバ２、複数のオブジェクトディレクトリサーバ３を備える構成としてもよい。また、端末１と接続される外部機器４は１つである場合に限られず、端末１と複数の外部機器４が接続される構成としてもよい。
【００６３】
また、本実施の形態１においては、オブジェクトデータベース３０に１つの実オブジェクト情報３１が登録されている場合について説明したが、実オブジェクト情報３１は１つに限られず複数の実オブジェクト情報３１を登録してもよい。
【００６４】
また、本実施の形態１においては、サーバ２上に１つの仮想オブジェクト２１が存在する場合について説明したが、仮想オブジェクト２１はサーバ２上に複数存在してもよい。また、機器データリスト３４に１つの機器データ情報３５が含まれている場合について説明したが、機器データリスト３４に複数の機器データ情報３５が含まれる構成としてもよい。また、仮想オブジェクト２１にタイムスタンプ２５と機器データ２７がそれぞれ１つずつ含まれる場合について説明したが、仮想オブジェクト２１に複数のタイムスタンプ２５と機器データ２７が含まれる構成としてもよい。
【００６５】
このように実施の形態１によれば、オブジェクトディレクトリサーバ３を介して実際の外部機器４に接続している実オブジェクト１２とアプリケーション２０がアクセスする仮想オブジェクト２１を接続しているため、実際の外部機器４の位置や外部機器４と端末１が接続されているプロトコルに依存することなく、アプリケーション２０はサーバ２内の仮想オブジェクト２１にアクセスするだけで必要な外部機器４に関する情報（状態値）を取得することが可能となる。
【００６６】
また、機器データ２７としては必要なデータ（変化があった状態値）のみが端末１からサーバ２に送られるため、ネットワーク資源を無駄にすることがなく、データ処理能力が低い端末１に対してもＣＰＵパワー（処理能力）を無駄にすることがなくなる。
【００６７】
また、サーバ２上で実行されている仮想オブジェクト２１が常に機器データ２７を記憶しているため、アプリケーション２０は必要なデータを迅速に取得することが可能となる。
【００６８】
また、機器データ２７は外部機器４の状態値とともに、端末１によって外部機器４の状態値を取得した時刻に関する情報も保持しているため、アプリケーション２０は情報の新しさ（鮮度）を容易に判断することが可能となる。
【００６９】
また、遠隔地から外部機器４のメンテナンスを行う際に必要となる外部機器４の種々の情報を同時に外部機器４から直接取得することが容易に行なえる。外部機器４に接続されている実オブジェクト１２に定期的に外部機器４の情報を取得させることによって、アプリケーション２０は仮想オブジェクト２１を介して同時性の保持された種々の情報を取得することが可能となる。
【００７０】
また、実オブジェクト１２と仮想オブジェクト２１から構成される実体のない仮想フレームワーク２００を生成するので、アプリケーション２０とデバイスドライバ１０を分離して配置する構成にすることが可能となる。アプリケーション２０の作成者はデバイスドライバ１０の構成や通信路、プロトコルを意識することなくプログラムを作成することができるとともに、デバイスドライバ１０の作成者はアプリケーション２０がどこで実行され、どのようにデバイスドライバ１０にアクセスしてくるかを意識することなくデバイスドライバ１０を作成することが可能となる。
【００７１】
実施の形態２．
図３〜図８を用いてこの発明の実施の形態２について説明する。この実施の形態２においては、サーバ２が階層化された実オブジェクト（第２の実オブジェクト）を生成するとともに、この生成された実オブジェクトをオブジェクトディレクトリサーバ３に登録する。
【００７２】
図６は、この発明の実施の形態２にかかるオブジェクト指向フレームワークを説明するための図であり、図６の情報管理システムの各構成要素のうち図１に示す実施の形態１の情報管理システムと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００７３】
また、図７はこの発明の実施の形態２に係る情報管理システムのシステム構成を示す機能ブロック図であり、図７の情報管理システムの各構成要素のうち図２に示す実施の形態２の情報管理システムと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００７４】
図６に示すように、本実施の形態２においてはサーバ２がアプリケーション２０、フレームワークライブラリ１００に加えてオブジェクトドライバ２２を備えている。オブジェクトドライバ２２は、サーバ２上に実オブジェクト２３を生成するためのソフトウェアである。実オブジェクト２３はオブジェクトドライバ２２の要求に応じてフレームワークライブラリ１００が仮想フレームワーク２００上に生成するインスタンスである。そして、情報管理システムのサーバ２が、産業用オブジェクト指向フレームワークのオブジェクトの階層化を行なう。
【００７５】
図７に示すように、実施の形態２に係る情報管理システムのサーバ２は、ソフトウェア格納部６１、通信ＩＦ部６２、仮想オブジェクト生成部６３、制御部６９に加えて実オブジェクト生成部（第２の実オブジェクト生成部）６５を備える。
【００７６】
ソフトウェア格納部６１は、アプリケーション２０、フレームワークライブラリ１００に加えてオブジェクトドライバ２２を格納する。実オブジェクト生成部６５は、ソフトウェア格納部６１のオブジェクトドライバ２２に基づいて実オブジェクト２３を仮想フレームワーク２００上に生成する。また、実オブジェクト生成部６５は、ソフトウェア格納部６１のオブジェクトドライバ２２に基づいて外部機器４に対応する実オブジェクト情報３１を生成する。サーバ２における実オブジェクト２３は、実オブジェクト生成部６５に含まれるＲＡＭ等のメモリ機能によって記憶される。オブジェクトディレクトリサーバ３は、端末１からの実オブジェクト情報３１とともに、サーバ２からの実オブジェクト情報３１をオブジェクトデータベース３０で記憶する。
【００７７】
つぎに、情報管理システムの動作手順について説明する。端末１やオブジェクトディレクトリサーバ３の動作は図３や図５に示した実施の形態１の端末１やオブジェクトディレクトリサーバ３と同様の処理を行なうため、その説明は省略する。図８は、オブジェクトの階層化を行うサーバの動作手順を示すフローチャートである。サーバ２の起動から不要な機器データ２７の削除までは図４に示した実施の形態１のサーバ２と同様の処理を行なう。すなわち、サーバ２が起動し、サーバ２のソフトウェア格納部６１において格納されているアプリケーション２０が起動する（ステップＳ４００）。
【００７８】
サーバ２は、アプリケーション２０に基づき、フレームワークライブラリ１００を介してオブジェクトディレクトリサーバ３に実オブジェクト情報３１のリストを要求する。そして、アプリケーション２０によってオブジェクトディレクトリサーバ３から実オブジェクト情報３１のリストを取得する（ステップＳ４１０）。
【００７９】
サーバ２は、ユーザからの入力情報などに基づいて情報取得を行なう外部機器４を決定する。そして、ソフトウェア格納部６１のアプリケーション２０は、サーバ２のフレームワークライブラリ１００を介して情報取得の対象となる外部機器４への接続要求を行なう（ステップＳ４２０）。
【００８０】
アプリケーション２０から外部機器４への接続要求を受けたフレームワークライブラリ１００は、オブジェクトディレクトリサーバ３から外部機器４に対応する実オブジェクト情報３１を取得する（ステップＳ４３０）。
【００８１】
フレームワークライブラリ１００は、実オブジェクト情報３１から機器データリスト３４を抽出し、全ての機器データ情報３５に対応する変数を含んだ仮想オブジェクト２１を生成する（ステップＳ４４０）。
【００８２】
生成された仮想オブジェクト２１は、仮想オブジェクト生成部６３に記憶し、フレームワークライブラリ１００によって管理可能な状態にする。フレームワークライブラリ１００は、生成した仮想オブジェクト２１をアプリケーション２０に渡す（ステップＳ４５０）。
【００８３】
このとき、必要に応じてアプリケーション２０は仮想オブジェクト２１にコールバック２６を登録する（ステップＳ４６０）。また、必要に応じてアプリケーション２０は不要な機器データ２７を仮想オブジェクト２１から削除する（ステップＳ４７０）。
【００８４】
つぎに、アプリケーション２０は階層化オブジェクト用のオブジェクトドライバ２２を起動する（ステップＳ４８０）。オブジェクトドライバ２２は実オブジェクト２３を生成するのに必要な１〜複数の仮想オブジェクト２１が既に生成されていることを確認する。
【００８５】
実オブジェクト生成部６５は、ソフトウェア格納部６１のオブジェクトドライバ２２に基づいて機器データリスト３４を生成する。ここでの機器データリスト３４は、新たに生成される実オブジェクト２３に対応した機器データリスト３４が生成される。実オブジェクト生成部６５は、通信ＩＦ部６２、ネットワーク５を介してオブジェクトディレクトリサーバ３のデータベース３０に生成した機器データリスト３４を登録する（ステップＳ４９０）。
【００８６】
オブジェクトドライバ２２は、仮想オブジェクト２１の機器データ２７に基づいて、新たに生成した情報を有する実オブジェクト２３を、フレームワークライブラリ１００を介して仮想フレームワーク２００上に生成する（ステップＳ５００）。換言すると、サーバ２のオブジェクトドライバ２２が複数の仮想オブジェクト２１内の情報に基づいて、情報の変換、抽出、組み合わせ、計算などによって新たな情報を生成し、生成した情報を実オブジェクト２３として仮想フレームワーク２００に追加する。具体的には、実オブジェクト１２を実オブジェクト生成部５３のメモリ機能などに格納し、サーバ２から利用可能な状態にする。
【００８７】
このように、階層化された実オブジェクト２３が生成されるとともに、実オブジェクト２３に対応する実オブジェクト情報３１がオブジェクトディレクトリサーバ３に登録されるため、複数のサーバ２上のアプリケーション２０から機器データ４１を使用可能な状態になる。
【００８８】
このように実施の形態２によれば、階層化された実オブジェクト２３を生成することが可能となる。また、アプリケーション２０は機器データ４１を随時仮想オブジェクト２１から取得できるとともに、機器データ４１に基づいて生成（計算）等されたデータを利用することが可能となる。また、オブジェクトを階層化することによって、外部機器４に関する情報を直接見るためのメンテナンスアプリケーション等と、売上など種々の情報を計算した結果に関する情報を見るためのＥＲＰ（Enterprise Resources Planning）アプリケーション等を、同じ仮想フレームワーク２００上で扱うことが可能となる。
【００８９】
実施の形態３．
図３、図４、図７、図９、図１０を用いてこの発明の実施の形態３について説明する。この実施の形態３においては、サーバ２が外部機器４に対して機器データ４１の要求や外部機器４への動作制御を行なう。
【００９０】
図９は、この発明の実施の形態３にかかるオブジェクト指向フレームワークを説明するための図であり、図９に示す情報管理システムの各構成要素のうち図１に示す実施の形態１の情報管理システムや図６に示す実施の形態２の情報管理システムと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００９１】
図９に示すように、本実施の形態３においてはサーバ２のアプリケーション２０が生成する仮想オブジェクト２１に実オブジェクト情報２８が含まれる。実オブジェクト情報２８は、仮想オブジェクト２１から実オブジェクト１２に直接アクセスするための情報である。実オブジェクト情報２８は、オブジェクトディレクトリサーバ３の実オブジェクト情報３１と同様の情報を含んでいる。実オブジェクト情報２８は、オブジェクトデータベース３０から取得し、仮想オブジェクト生成部６３に記憶される仮想オブジェクト２１内で記憶する。また、本実施の形態３においては、例えば図７に示した実施の形態２の情報管理システムを用いる。
【００９２】
つぎに、情報管理システムの動作手順について説明する。仮想フレームワーク２００に外部機器４に関する情報（機器データ４１）が登録されて使用可能になるまでの端末１の動作は実施の形態１や実施の形態２と同様であり、仮想フレームワーク２００にサーバ２上の仮想オブジェクト２１が登録され、アプリケーション２０から機器データ４１が使用可能になるまでのサーバ２の動作も実施の形態１や実施の形態２と同様である。このように、端末１やオブジェクトディレクトリサーバ３の動作は図３や図４に示した実施の形態１の端末１やオブジェクトディレクトリサーバ３と同様の動作を行なうため、その説明は省略する。
【００９３】
ここでは、仮想フレームワーク２００に実オブジェクト１２と仮想オブジェクト２１が生成された後に、アプリケーション２０からの要求によって機器データ４１がアプリケーション２０に通知されるまでの動作および外部機器４の制御を行うまでの動作について説明する。図１０は、機器データの取得および外部機器の制御処理の手順を示すフローチャートである。
【００９４】
アプリケーション２０は、必要に応じて仮想オブジェクト２１にリアルタイムの機器データ４１の取得要求の指示情報（以下、データ取得指示情報という）または外部機器４の制御要求の指示情報（以下、機器制御指示情報という）を送信する（ステップＳ６００）。
【００９５】
データ取得指示情報や機器制御指示情報が、外部機器４に対して初めての送信である場合（各外部機器４に対して最初の送信時）、仮想オブジェクト２１はフレームワークライブラリ１００によってオブジェクトディレクトリサーバ３から実オブジェクト情報３１を取得する。ここで、データ取得指示情報や機器制御指示情報が、外部機器４に対して初めての送信であるか否かは、データ取得指示情報や機器制御指示情報の送信履歴等に基づいて判断する。例えば、アプリケーション２０が外部機器４毎にデータ取得指示情報や機器制御指示情報の送信履歴を記憶しておく。そして、外部機器４に対して初めてのデータ取得指示情報や機器制御指示情報であると判断された場合、アプリケーション２０がオブジェクトディレクトリサーバ３に実オブジェクト情報３１の取得要求を送信し、通信ＩＦ部６２を介してオブジェクトディレクトリサーバ３から実オブジェクト情報３１を受信（取得）する。受信した実オブジェクト情報３１は、実オブジェクト生成部６５に含まれるＲＡＭ等のメモリ機能によって記憶される（ステップＳ６１０）。
【００９６】
実オブジェクト生成部６５は、実オブジェクト生成部６５に記憶されている実オブジェクト情報３１から、実オブジェクト１２の存在する端末名３２を抽出する。仮想オブジェクト２１は、ネットワーク５を介して実オブジェクト１２に、データ取得指示情報や機器制御指示情報を送信する（ステップＳ６２０）。
【００９７】
仮想オブジェクト２１が制御部６９上で動作し、実オブジェクト１２にデータ取得指示情報の送信を行う処理が特許請求の範囲に記載の情報要求部の処理に対応し、実オブジェクト１２に機器制御指示情報の送信を行う処理が特許請求の範囲に記載の制御指示部の処理に対応する。
【００９８】
端末１は、所定のソフトウェア等によってデータ取得指示情報と機器制御指示情報のいずれの指示情報をサーバ２から受信したかを判断する（ステップＳ６２５）。端末１がデータ取得指示情報を受信した場合（ステップＳ６２５、データ取得）、実オブジェクト１２はデバイスドライバ１０を介して機器データ情報３５で指定される機器データ４１を外部機器４から取得し、機器データ４１を取得した時刻を記録する（ステップＳ６３０）。
【００９９】
実オブジェクト１２は、例えばＸＭＬのような構造化可能な言語で端末名３２、機器名３３、機器データ名３６、機器データタイプ３７、外部機器４から取得した状態値（機器データ４１）、この状態値を取得した時刻の情報をまとめて１つのパケットとし（ステップＳ６４０）、サーバ２の仮想オブジェクト２１に返信する（ステップＳ６５０）。
【０１００】
サーバ２は、通信ＩＦ部６２によって端末１の実オブジェクト１２からパケットを取得（受信）し、受信したパケットをフレームワークライブラリ１００を介して仮想オブジェクト２１に送信する（ステップＳ６５０）。仮想オブジェクト２１に送信されたパケットは仮想オブジェクト２１と対応付けられ、仮想オブジェクト２１で利用可能となる。
【０１０１】
パケットを取得した（対応付けられた）仮想オブジェクト２１は、パケットからアプリケーション２０が要求する機器データ情報３５、外部機器４の状態値、外部機器４の状態値を取得した時刻の情報を抽出する（ステップＳ６６０）。仮想オブジェクト２１は、アプリケーション２０に抽出した機器データ情報３５、外部機器４の状態値、外部機器４の状態値を取得した時刻の情報を送信し（ステップＳ６７０）、アプリケーション２０によってこれらのデータを使用可能な状態にする（アプリケーション２０とデータを対応付ける）。
【０１０２】
ステップＳ６２５において、実オブジェクト１２が機器制御指示情報を受信した場合（ステップＳ６２５、機器制御）、デバイスドライバ１０は機器制御指示情報に基づいて外部機器４を制御し、外部機器４からの戻り値（機器データ４１）を取得する。このとき、端末１の実オブジェクト１２は、外部機器４を制御した時刻を記録しておく（ステップＳ６８０）。
【０１０３】
実オブジェクト１２は、例えばＸＭＬのような構造化可能な言語で端末名３２、機器名３３、機器制御指示情報に対する外部機器４からの戻り値をまとめて１つのパケットとし（ステップＳ６９０）、このパケットを仮想オブジェクト２１に返信する（ステップＳ７００）。
【０１０４】
サーバ２は、通信ＩＦ部６２によって端末１の実オブジェクト１２からパケットを取得し、受信したパケットをフレームワークライブラリ１００を介して仮想オブジェクト生成部６３（仮想オブジェクト２１）に送信し（ステップＳ７００）、仮想オブジェクト２１でパケット内の情報を使用可能な状態にする。
【０１０５】
パケットを取得した仮想オブジェクト生成部６３は、仮想オブジェクト２１上でパケットからアプリケーション２０の制御要求に対応した外部機器４からの戻り値を抽出する（ステップＳ７１０）。仮想オブジェクト生成部６３は、アプリケーション２０に対し、抽出した外部機器４からの戻り値を送信する（ステップＳ７２０）。
【０１０６】
このように、アプリケーション２０が機器データ４１を随時仮想オブジェクト２１から取得できるようになるとともに、アプリケーション２０は外部機器４の制御を行うことが可能となる。
【０１０７】
なお、サーバ２が、サーバ２から機器データ４１の取得要求や外部機器４の制御指示を送信するか否かを設定可能な構成としてもよい。すなわち、アプリケーション２０が機器データ４１（情報）を必要とするときに限り、仮想オブジェクト２１が実オブジェクト１２にアクセスして機器データ４１を取得する。
【０１０８】
このように実施の形態３によれば、アプリケーション２０からの要求に応じて逐次外部機器４のデータを取得することができる。また、メンテナンスアプリケーションなどによって情報の変化を即時に把握する必要がある場合であっても、トランジェントな通信方式で情報を取得することが可能になるとともに、外部機器４の動作制御を行うことが可能となる。
【産業上の利用可能性】
【０１０９】
以上のように、本発明にかかる情報管理システム、端末およびサーバは、端末に接続された機器の状態に関する情報の取得に適している。
【図面の簡単な説明】
【０１１０】
【図１】実施の形態１に係るオブジェクト指向フレームワークを説明するための図である。
【図２】実施の形態１に係る情報管理システムのシステム構成を示す機能ブロック図である。
【図３】実施の形態１に係る端末の動作手順を示すフローチャートである。
【図４】実施の形態１に係るサーバの動作手順を示すフローチャートである。
【図５】機器データの変更を通知する処理の動作手順を示すフローチャートである。
【図６】実施の形態２にかかるオブジェクト指向フレームワークを説明するための図である。
【図７】実施の形態２に係る情報管理システムのシステム構成を示す機能ブロック図である。
【図８】オブジェクトの階層化を行うサーバの動作手順を示すフローチャートである。
【図９】実施の形態３にかかるオブジェクト指向フレームワークを説明するための図である。
【図１０】機器データの取得および外部機器の制御処理の手順を示すフローチャートである。
【符号の説明】
【０１１１】
１  端末
２  サーバ
３  オブジェクトディレクトリサーバ
４  外部機器
５  ネットワーク
１０  デバイスドライバ
１１，２２  オブジェクトドライバ
１２，２３  実オブジェクト
２０  アプリケーション
２１  仮想オブジェクト
２５  タイムスタンプ
２６  コールバック
２７，４１  機器データ
２８  実オブジェクト情報
３０  オブジェクトデータベース
３１  実オブジェクト情報
３２  端末名
３３  機器名
３４  機器データリスト
３５  機器データ情報
３６  機器データ名
３７  機器データタイプ
３８  機器データ詳細情報
４１  外部機器データ
５１，６１，７１  ソフトウェア格納部
５２，６２，７２  通信ＩＦ部
５３，６５  実オブジェクト生成部
５９，６９，７９  制御部
６３  仮想オブジェクト生成部
１００  フレームワークライブラリ
２００  仮想フレームワーク
【図１】
2006004095.tif 000003
【図２】
2006004095.tif 000004
【図３】
2006004095.tif 000005
【図４】
2006004095.tif 000006
【図５】
2006004095.tif 000007
【図６】
2006004095.tif 000008
【図７】
2006004095.tif 000009
【図８】
2006004095.tif 000010
【図９】
2006004095.tif 000011
【図１０】
2006004095.tif 000012