(57)【要約】  階層データモデルのナビゲーションシステムをプログラムする方法が、プロセッサを出力装置と電子データ通信で結合するステップを含む。この方法は、プロセッサ内でデータベースの階層データモデルをプログラムするステップをも含む。階層データモデルは、複数のオブジェクトを表す階層を有する。複数のオブジェクトのうちの少なくとも１つのオブジェクトは、少なくとも１つの属性を有する。この方法はさらに、プロセッサ内の階層データモデルの少なくとも一部へのエントリポイントをプログラムするステップをさらに含む。エントリポイントは、少なくとも１つの共通属性を有する複数のオブジェクトの各オブジェクトを含む情報リストを生成するようにプログラムされる。情報リストは、出力装置上で読取り可能である。【選択図】図２
2011501851.tif 000002
【特許請求の範囲】
【請求項１】
階層データモデルのナビゲーションシステムをプログラムする方法であって、
プロセッサを出力装置と電子データ通信で結合するステップと、
前記プロセッサ内でデータベースの階層データモデルをプログラムするステップであって、前記階層データモデルが、複数のオブジェクトを表す階層を有し、前記複数のオブジェクトのうちの少なくとも１つのオブジェクトが少なくとも１つの属性を有する、ステップと、
前記プロセッサ内の前記階層データモデルの少なくとも一部へのエントリポイントをプログラムするステップであって、前記エントリポイントが、少なくとも１つの共通属性を有する前記複数のオブジェクトの各オブジェクトを含む情報リストを生成するようにプログラムされ、前記情報リストが前記出力装置上で読取り可能である、ステップとを含む方法。
【請求項２】
前記階層の上に少なくとも１つの仮想層をプログラムするステップをさらに含み、前記エントリポイントが前記少なくとも１つの仮想層内に常駐する、請求項１記載の方法。
【請求項３】
前記階層の上に少なくとも１つの仮想層をプログラムするステップが、少なくとも１つのマークアップ言語を使用して前記少なくとも１つの仮想層をプログラムするステップを含む、請求項２記載の方法。
【請求項４】
エントリポイントをプログラムするステップが、少なくとも１つの仮想層内に少なくとも１つのビットマスクをプログラムするステップを含む、請求項２記載の方法。
【請求項５】
階層データモデルをプログラムするステップが、前記階層内に少なくとも１つのカテゴリ化ビットフィールドをプログラムするステップを含み、前記少なくとも１つのカテゴリ化ビットフィールドが、前記少なくとも１つの共通属性を少なくとも部分的に定義するようにプログラムされる、請求項１記載の方法。
【請求項６】
少なくとも１つの共通属性を有する前記複数のオブジェクトの各オブジェクトを有する情報リストを生成するように前記階層データモデルの少なくとも一部へのエントリポイントをプログラムするステップが、前記情報リストを生成するために前記階層の少なくとも一部をフラットにするステップを含む、請求項１記載の方法。
【請求項７】
データベースの階層データモデルをプログラムするステップが、複数のデータ分岐を含む少なくとも１つのデータツリーをプログラムするステップを含み、前記複数のデータ分岐の各データ分岐が、前記少なくとも１つの属性によって前記階層データモデル内に少なくとも部分的に定義された前記複数のオブジェクトのうちの少なくとも１つのオブジェクトを含み、前記エントリポイントが、前記少なくとも１つの共通属性を有する前記階層データモデル内に定義された少なくとも１つのオブジェクトを前記情報リストに読み込むようにプログラムされる、請求項１記載の方法。
【請求項８】
データベースの階層データモデルをプログラムするステップが、前記階層データモデルを、前記複数のオブジェクトのうちの少なくとも１つのオブジェクトのそれぞれの少なくとも１つの属性を含む前記データベースを実質的に表現するようにプログラムするステップを含む、請求項１記載の方法。
【請求項９】
階層データモデルのナビゲーションシステムであって、前記データモデルが複数のオブジェクトを表し、前記複数のオブジェクトの各オブジェクトが前記データモデル内の階層を少なくとも部分的に形成する少なくとも１つの属性を有し、前記ナビゲーションシステムが、前記階層データモデルの少なくとも一部への少なくとも１つのエントリポイントを含み、前記少なくとも１つのエントリポイントが少なくとも１つのプロセッサ内で、少なくとも１つの共通属性を有する各オブジェクトを含む情報リストを生成するようにプログラムされ、前記情報リストが少なくとも１つの出力装置上で読取り可能である、ナビゲーションシステム。
【請求項１０】
前記階層の上にプログラムされた少なくとも１つの仮想層をさらに含み、前記少なくとも１つのエントリポイントが前記少なくとも１つの仮想層内に常駐する、請求項９記載の階層データモデルのナビゲーションシステム。
【請求項１１】
前記少なくとも１つの仮想層が少なくとも１つのマークアップ言語でプログラムされ、前記少なくとも１つの仮想層が、前記情報リストを形成するために前記階層の少なくとも一部をフラットにすることを容易にするようにさらにプログラムされる、請求項１０記載の階層データモデルのナビゲーションシステム。
【請求項１２】
前記少なくとも１つのエントリポイントが、少なくとも１つの共通属性を少なくとも部分的に定義する少なくとも１つのカテゴリ化ビットフィールドをフィルタリングするようにプログラムされる少なくとも１つのビットマスクを含む、請求項９記載の階層データモデルのナビゲーションシステム。
【請求項１３】
前記階層データモデルが、複数のデータ分岐を含む少なくとも１つのデータツリーを含み、前記複数のデータ分岐の各データ分岐が、前記少なくとも１つの属性によって前記階層データモデル内に少なくとも部分的に定義された前記複数のオブジェクトのうちの少なくとも１つのオブジェクトを含み、前記少なくとも１つのエントリポイントが、前記少なくとも１つの共通属性を有する前記階層データモデル内に定義された前記複数のオブジェクトの各オブジェクトを前記情報リストに読み込むようにプログラムされる、請求項９記載の階層データモデルのナビゲーションシステム。
【請求項１４】
前記階層データモデルが、各オブジェクトの前記少なくとも１つの属性を含むデータベースを実質的に表す、請求項１３記載の階層データモデルのナビゲーションシステム。
【請求項１５】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサと電子データ通信で結合された少なくとも１つの出力装置と、
前記少なくとも１つのプロセッサ内でプログラムされ、複数のオブジェクトを表す少なくとも１つの階層データモデルであって、前記複数のオブジェクトの各オブジェクトが、前記少なくとも１つの階層データモデル内の階層を少なくとも部分的に形成する少なくとも１つの属性を有する、少なくとも１つの階層データモデルと、
前記少なくとも１つの階層データモデルの少なくとも一部への少なくとも１つのエントリポイントを含むナビゲーションシステムであって、前記少なくとも１つのエントリポイントが前記少なくとも１つのプロセッサ内で、少なくとも１つの共通属性を有する前記複数のオブジェクトの各オブジェクトを含む情報リストを生成するようにプログラムされ、前記情報リストが前記少なくとも１つの出力装置上で読取り可能である、ナビゲーションシステムと、
を含む監視制御データ取得（ＳＣＡＤＡ）システム。
【請求項１６】
前記階層の上にプログラムされた少なくとも１つの仮想層をさらに含み、前記少なくとも１つのエントリポイントが前記少なくとも１つの仮想層内に常駐する、請求項１５記載のＳＣＡＤＡシステム。
【請求項１７】
前記少なくとも１つの仮想層が少なくとも１つのマークアップ言語でプログラムされ、前記少なくとも１つの仮想層が、前記情報リストを形成するために前記階層の少なくとも一部をフラットにすることを容易にするようにさらにプログラムされる、請求項１６記載のＳＣＡＤＡシステム。
【請求項１８】
前記少なくとも１つのエントリポイントが、前記少なくとも１つの共通属性を少なくとも部分的に定義する少なくとも１つのカテゴリ化ビットフィールドをフィルタリングするようにプログラムされる少なくとも１つのビットマスクを含む、請求項１５記載のＳＣＡＤＡシステム。
【請求項１９】
前記少なくとも１つの階層データモデルが、複数のデータ分岐を含む少なくとも１つのデータツリーを含み、前記複数のデータ分岐の前記データ分岐のそれぞれが、前記少なくとも１つの属性によって前記階層データモデル内に少なくとも部分的に定義された前記複数のオブジェクトのうちの少なくとも１つのオブジェクトを含み、前記少なくとも１つのエントリポイントが、前記少なくとも１つの共通属性を有する前記少なくとも１つの階層データモデル内に定義された前記複数のオブジェクトの各オブジェクトを前記情報リストに読み込むようにプログラムされる、請求項１５記載のＳＣＡＤＡシステム。
【請求項２０】
前記少なくとも１つの階層データモデルが、各オブジェクトの少なくとも１つの属性を含むデータベースを実質的に表す、請求項１９記載のＳＣＡＤＡシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、階層データモデルに関し、より具体的には、大きい階層型の分散データモデル、およびそれをナビゲートするための方法に関する。
【背景技術】
【０００２】
一般に、階層データモデルは、属性によって定義された、ユーザ中心のオブジェクト集合である。こうしたデータモデルは、関連データとの関係を有する階層に配列される。こうした階層は一般に、ユーザが担い得る特定のユーザ役割および作業をし易くするように構成される。知られているこうした１つの階層は、保守要員が機器の保守関連属性にだけアクセスするように産業用施設内の機器を表すようにプログラムされる。階層データモデルは、少なくとも１つのデータツリーから形成され、こうしたデータツリーは、複数のデータ分岐から形成される。これらのデータ分岐は、ユーザ優先度を実質的に表現する連続パターンで編成される。
【０００３】
少なくとも一部の知られている大きい階層型の分散データモデルは、ナビゲートするのが難しい。データは、不明瞭なデータ分岐の何レベルも奥深くに埋まっていることがある。また、データの一部はその性質上、たとえば機器を周期的に置き換えるために、動的なものであり得る。さらに、データツリーは、複数のユーザによって変更可能なデータを含むことがある。したがって、ユーザが使用できるデータについての知識をどのユーザもが維持することは難しいことがある。さらに、データベースからデータを抽出する少なくとも一部の知られている方法は、多くの時間および／またはリソースを消費する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＫＡＹ  Ａ、「ＣＯＭＰＵＴＥＲ  ＳＯＦＴＷＡＲＥ」、ＳＣＩＥＮＴＩＦＩＣ  ＡＭＥＲＩＣＡＮ、ＳＣＩＥＮＴＩＦＩＣ  ＡＭＥＲＩＣＡＮ  ＩＮＣ．社、ニューヨーク、ニューヨーク州、米国、２５１巻、第３、１９８４年９月１日、４１〜４７頁、ＸＰ０００７１５８８４、ＩＳＳＮ：００３６−８７３３
【発明の概要】
【課題を解決するための手段】
【０００５】
一態様では、階層データモデルのナビゲーションシステムをプログラムする方法が提供される。この方法は、プロセッサを出力装置と電子データ通信で結合するステップを含む。この方法は、プロセッサ内でデータベースの階層データモデルをプログラムするステップをも含む。階層データモデルは、複数のオブジェクトを表す階層を有する。複数のオブジェクトの各オブジェクトは、少なくとも１つの属性を有する。この方法はさらに、プロセッサ内の階層データモデルの少なくとも一部へのエントリポイントをプログラムするステップをさらに含む。エントリポイントは、少なくとも１つの共通属性を有する複数のオブジェクトの各オブジェクトを含む情報リストを生成するようにプログラムされる。情報リストは、出力装置上で読取り可能である。
【０００６】
別の態様では、階層データモデルのナビゲーションシステムが提供される。データモデルは、複数のオブジェクトを表す。複数のオブジェクトの各オブジェクトは、データモデル内の階層を少なくとも部分的に形成する少なくとも１つの属性を有する。ナビゲーションシステムは、階層データモデルの少なくとも一部への少なくとも１つのエントリポイントを含む。エントリポイントは、少なくとも１つのプロセッサ内で、少なくとも１つの共通の属性を有する複数のオブジェクトの各オブジェクト含む情報リストを生成するようにプログラムされる。情報リストは、少なくとも１つの出力装置上で読取り可能である。
【０００７】
さらなる態様では、監視制御データ取得（ＳＣＡＤＡ：ｓｕｐｅｒｖｉｓｏｒｙ  ｃｏｎｔｒｏｌ  ａｎｄ  ｄａｔａ  ａｃｑｕｉｓｉｔｉｏｎ）システムが提供される。ＳＣＡＤＡシステムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサと電子データ通信で結合された少なくとも１つの出力装置とを含む。ＳＣＡＤＡシステムは、少なくとも１つのプロセッサ内でプログラムされた少なくとも１つの階層データモデルをも含む。少なくとも１つの階層データモデルは、複数のオブジェクトを表す。複数のオブジェクトの各オブジェクトは、少なくとも１つの階層データモデル内の階層を少なくとも部分的に形成する少なくとも１つの属性を有する。ＳＣＡＤＡシステムは、少なくとも１つの階層データモデルの少なくとも一部への少なくとも１つのエントリポイントを含むナビゲーションシステムをも含む。少なくとも１つのエントリポイントは、プロセッサ内で、少なくとも１つの共通属性を有する複数のオブジェクトの各オブジェクト含む情報リストを生成するようにプログラムされる。情報リストは、少なくとも１つの出力装置上で読取り可能である。
【図面の簡単な説明】
【０００８】
【図１】例示的な監視制御データ取得（ＳＣＡＤＡ）システムの概略図である。
【図２】図１に示されたＳＣＡＤＡシステムで使用することができる例示的なユーザインターフェース画面の図である。
【図３】図１に示されたＳＣＡＤＡシステムで使用することができる例示的な階層ツリーの図である。
【図４】図３に示された階層ツリーに追加されたエントリポイントの一部を示す図である。
【図５】図４に示されたエントリポイントの例示的な結果の図である。
【発明を実施するための形態】
【０００９】
図１は、例示的な監視制御データ取得（ＳＣＡＤＡ）システム１００の概略図である。例示的な実施形態では、システム１００は、それだけに限らないが、精製所、工場、組立工場、発電プラントおよび化学工場を含めて、産業用施設（図示せず）内に置かれる。あるいは、システム１００は、それだけに限らないが、病院、高層ビル、行楽地および遊園地など、商用施設内に置かれる。さらに、別法として、システム１００は、任意の施設内に置かれる。また、例示的な実施形態では、システム１００は、ＧＥ  Ｆａｎｕｃ  Ａｕｔｏｍａｔｉｏｎ，Ｉｎｃ．社、Ｃｈａｒｌｏｔｔｅｓｖｉｌｌｅ、バージニア州、米国から市販されているＰｒｏｆｉｃｙ（商標）システムである。あるいは、システム１００は、それだけに限らないが、分散制御システム（ＤＣＳ：ｄｉｓｔｒｉｂｕｔｅｄ  ｃｏｎｔｒｏｌ  ｓｙｓｔｅｍ）を含めて、任意のＳＣＡＤＡシステムである。
【００１０】
システム１００は、ネットワークバックボーン１０２を含む。ネットワークバックボーン１０２は、たとえばツイストペアケーブル、シールド同軸ケーブルまたは光ファイバケーブルで作られた、配線接続されたデータ通信経路であってもよいし、少なくとも部分的に無線であってもよい。任意の数の任意の機器アセンブリが、ネットワークバックボーン１０２に通信可能に接続されてよい。機器アセンブリの第１の部分は、ネットワークバックボーン１０２に配線接続することができ、機器アセンブリの第２の部分は、システム１００に通信可能に結合された基地局１０４を介してバックボーン１０２に無線結合することができる。無線基地局１０４は、産業用施設から離れて位置するが、産業用施設内のシステム１００に類似の１つまたは複数のシステムにやはり相互接続されている機器またはセンサと共になど、システム１００の有効通信範囲を拡大するために使用することができる。
【００１１】
システム１００は、複数の機器アセンブリに関連する動作パラメータを受け取り表示し、自動制御信号を生成し、産業用施設の機器アセンブリの動作を制御するための手動制御入力を受け取るように構成されてよい。例示的な実施形態では、システム１００は、十分なソフトウェアコードと処理リソースとを含み、産業工場機器アセンブリのオンライン監視および診断を可能にするシステム１００で受け取られたデータに関連するデータ処理および解析アクティビティを制御するように構成される。プロセスパラメータデータは、それだけに限らないが、ポンプおよびモニタ、関連するプロセスセンサ、関連する機器コントローラを含めた各機器アセンブリ、ならびにそれだけに限らないが、たとえば振動、地震、周囲温度および周囲湿度センサを含めたローカル環境センサから収集することができる。データは、ローカル診断モジュールまたはリモート入出力モジュール（いずれも図示せず）によって前処理されてもよいし、システム１００に生の形で送信されてもよい。
【００１２】
システム１００は、産業用施設を制御するように独立に動作してもよいし、１つまたは複数の他の制御システム１０６に通信可能に結合されてもよい。それぞれのシステム１０６は、ネットワークセグメント１０８を介して他のシステム１０６およびシステム１００と通信してもよいし、任意のネットワークトポロジ、それだけに限らないがたとえばスター構成（図示せず）を介して通信してもよい。
【００１３】
例示的な実施形態では、システム１００は、少なくとも１つのサーバシステム１１０と、それぞれがバックボーン１０２と電子データ通信で結合された複数のクライアントシステム１１２を含む。サーバシステム１１０はさらに、データベースサーバ１１４と、アプリケーションサーバ１１６と、ウェブサーバ１１８と、ファックスサーバ１２０と、ディレクトリサーバ１２２と、メールサーバ１２４とを含む。例示的な実施形態では、それぞれのサーバ１１４、１１６、１１８、１２０、１２２および１２４は、サーバシステム１１０と電子データ通信で結合される。あるいは、それぞれのサーバ１１４、１１６、１１８、１２０、１２２および１２４は、サーバシステム１１０上で実行されるソフトウェアとして実施される。さらに、別法として、サーバ１１４、１１６、１１８、１２０、１２２および１２４の任意の組合せを、単独に実施してもよいし、たとえば本明細書に述べられたようにローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）内で電子データ通信で結合された別個のサーバ上で組み合わせて実施してもよい。ディスク記憶装置１２６は、サーバシステム１１０と電子データ通信で結合される。さらに、それだけに限らないがシステム管理者ワークステーション、ユーザワークステーションおよび／または監視ワークステーションを含む複数のワークステーション１２８は、ＬＡＮ  １３０と電子データ通信で結合される。あるいは、ワークステーション１２８は、インターネットリンクを使用してＬＡＮ  １３０に結合され、またはイントラネットを介して接続される（いずれも図示せず）。
【００１４】
それぞれのワークステーション１２８は、ウェブブラウザを有するパーソナルコンピュータであってよい。ワークステーションで実施される機能は一般に、それぞれのワークステーション１２８で実施されるものとして示されるが、こうした機能は、ＬＡＮ  １３０に結合された多くのパーソナルコンピュータのうちの１つで実施することができる。ワークステーション１２８は、ＬＡＮ  １３０へのアクセスを有する個人によって実施可能なそれぞれ異なるタイプの機能についての理解を促すためだけに、それぞれ別個の例示的な機能に関連するものとして示されている。
【００１５】
サーバシステム１１０は、従業員１３２および第三者、それだけに限らないが、たとえばサービスプロバイダ１３４を含めて、様々な個人に通信可能に結合されるように構成される。例示的な実施形態の通信は、インターネットを使用して実施されるものとして示される。しかし、代替実施形態では他の任意の広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）タイプの通信を使用することができ、すなわち、システムおよびプロセスは、インターネットを使用して実行されることに限定されない。
【００１６】
例示的な実施形態では、ワークステーション１２８を有する、許可された個人が、システム１００にアクセスすることができる。クライアントシステムのうちの少なくとも１つは、遠隔地に置かれたマネージャワークステーション１３６を含んでよい。また、ワークステーション１２８は、サーバシステム１１０と通信するように構成される。さらに、ファックスサーバ１２０は、電話リンク（図示せず）を使用するクライアントシステム１３８を含めて、遠隔地に置かれたクライアントシステムと通信する。ファックスサーバ１２０は、他のクライアントシステム１３２、１３４および１３６とも通信するように構成される。
【００１７】
システム１００に関連するコンピュータ化されたモデリングおよび解析のツールは、サーバシステム１１０に格納され、クライアントシステム１１２のいずれか１つのクライアントシステム上の要求元からアクセスすることができる。例示的な実施形態では、クライアントシステム１１２は、サーバシステム１１０にクライアントシステム１１２からアクセスできるようにウェブブラウザを含むコンピュータであり、このクライアントシステム１１２は、ＬＡＮ  １３０などのネットワークを含むインターフェースを介してインターネットに相互接続される。あるいは、こうしたインターネット接続性は、広域ネットワーク（ＷＡＮ）、ダイヤルイン接続、ケーブルモデムおよび特別高速ＩＳＤＮ線（いずれも図示せず）によって作られる。あるいは、別法として、クライアントシステム１１２は、それだけに限らないが、ウェブベースの電話、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）または他のウェブベースの接続可能機器を含めて、インターネットに相互接続可能な任意の装置である。システム１００は、ＬＡＮ  １３０と電子データ通信で結合された複数の遠隔監視局１４０をも含む。こうした局１４０は、システム１００に関連する任意のプロセスの遠隔監視を円滑に進める。
【００１８】
例示的な実施形態では、データベースサーバ１１４は、サーバ１１４内で実施されるデータベース１４２に接続される。下記により詳細に述べられるように、データベース１４２は、産業用施設に関する情報を含む。データベース１４２は、階層型データベースモデル（図１に図示せず）で組み立てられる。あるいは、データベース１４２は、本明細書に述べられるように、システム１００を操作し易くする任意の構造を有する。代替実施形態では、集中型データベース１４２は、サーバシステム１１０内に格納され、クライアントシステム１１２のうちの１つのクライアントシステム上の潜在ユーザによって、クライアントシステム１１２のうちの１つを介してサーバシステム１１０にログオンすることによってアクセスすることができる。さらなる代替実施形態では、データベース１４２は、サーバシステム１１０およびサーバ１１４から離れて格納されており、非集中型であってもよい。さらに、別法として、他の産業用施設システムは、ＬＡＮ  １３０への独立した接続を介して、サーバシステム１１０および／またはクライアントシステム１１２からアクセス可能なデータを提供してもよい。
【００１９】
例示的な実施形態では、システム１００は、サーバシステム１１０、サーバ１１４、１１６、１１８、１２０、１２２および１２４内に、ならびにワークステーション１２８上に組み込まれた複数のプロセッサ（図示せず）を含む。システム１００は、サーバシステム１１０と、サーバ１１４、１１６、１１８、１２０、１２２および１２４と、ワークステーション１２８と、モニタ１４０とを含む複数の出力装置をも含む。出力装置は、プリンタ、ならびに上述したようにシステム１００と電子データ通信で結合され得る他の任意の装置を含むこともできる。
【００２０】
また、例示的な実施形態では、システム１００は、複数のコントローラを含む。具体的には、システム１００は、ライン１組立コントローラ１４４と、ライン１ミキサーコントローラ１４６と、ライン２組立コントローラ１４８と、サブミキサーコントローラ１５０とを含む。それぞれのコントローラ１４４、１４６、１４８および１５０は、上記に論じられた方法によってシステム１００と電子データ通信で結合される。
【００２１】
図２は、ＳＣＡＤＡシステム１００と共に使用することができる例示的なユーザインターフェース画面２００の図である。システム１００は、スクリーン２００を含むヒューマンマシンインターフェース（ＨＭＩ：ｈｕｍａｎ−ｍａｃｈｉｎｅ  ｉｎｔｅｒｆａｃｅ）特徴を含む。データベース１４２は、画面２００上に少なくとも部分的に示された階層データモデル２０２を含み、画面２００が、従来の階層ナビゲータ２０４を含む。ナビゲータ２０４は、階層データモデル２０２のナビゲーションシステム２０６の第１の部分を表し、この階層データモデル２０２は、システム１００内に組み込まれ、それに統合される。例示的な実施形態では、ナビゲーションシステム２０６は、上述されたプロセッサおよび出力装置に統合される。ナビゲーションシステム２０６の第２の部分もまた、画面２００上に、エントリポイントナビゲータ２０８として示されている。
【００２２】
例示的な実施形態では、階層データモデル２０２は、少なくとも１つのデータツリー（図示せず）を有する大きい階層型分散データモデルであり、それぞれのデータツリーが複数のデータ分岐（図示せず）を有する。データツリー、およびデータ分岐は、オブジェクトの定義された属性から形成される。具体的には、階層データモデル２０２は、階層に配列されたユーザ中心のオブジェクト集合であり、このオブジェクト集合は、ユーザが担い得る特定の役割および／または作業をし易くするように編成される。データをモデルに分けると、機器を保守する役割を担う人々による階層ナビゲーションが容易になる。具体的には、関心のないオブジェクトに触れる（ｅｘｐｏｓｅ）ことなしに階層をナビゲーションすることが容易になる。こうした階層ナビゲーションは一般に、複数のユーザ選択メニューを介して複数のドリリング活動を行うことによって遂行される。
【００２３】
階層ナビゲータ２０４は、階層データモデル２０２の少なくとも一部を示している。一般には、産業用施設は、複数の機器アセンブリを含む。それぞれのアセンブリは、いくつかの属性を有し、こうしたアセンブリおよび属性が、上記に論じられたデータツリーおよびデータ分岐を形成する。たとえば、産業用施設内の機器アセンブリは、機器モデル２１０に編成される。示された実施形態では、機器モデル２１０は、５つのパネルを含む。具体的には、機器モデル２１０は、データツリーの内の「企業」レベルで、産業用施設内の機器アセンブリに関連するアイテムまたは属性のリストを示す第１のパネル２１２を含む。例示的な実施形態では、「ＧＥ  Ｆａｎｕｃ」は、階層内のこうした比較的高いレベルの唯一の属性である。「ＧＥ  Ｆａｎｕｃ」は、初期設定によって、またはユーザ動作によって（太字の輪郭で示すように）選択されている。
【００２４】
パネル２１２内の属性を選択すると、第２のパネル２１４にデータが読み込まれる（ｐｏｐｕｌａｔｅ）。例示的な実施形態では、パネル２１４には、「Ｆｏｘｂｏｒｏ」、「Ｅｄｍｏｎｔｏｎ」、「Ａｌｂａｎｙ」および「Ｃｈａｒｌｏｔｔｅｓｖｉｌｌｅ」を含めて４つの「場所」属性が読み込まれている。また、例示的な実施形態では、パネル２１２および２１４は、それぞれ「親」および「子供」関係を有する。ユーザによるさらなるドリルダウン活動は、第３のパネル２１６に、「２５階」、「２６階」および「２７階」の属性を含む「エリア」属性が読み込まれるように、「Ｅｄｍｏｎｔｏｎ」属性（太字の輪郭で示される）を選択することを含む。パネル２１４および２１６は、それぞれ「親」および「子供」関係を有する。ユーザによる追加のドリルダウン活動は、第４のパネル２１８に「生産ユニット」および「格納ユニット」属性が読み込まれるように、「２７階」属性（太字の輪郭で示される）を選択することを含む。パネル２１６および２１８は、それぞれ「親」および「子供」の関係を有する。属性「生産ユニット」は、「Ｌａｂ  １  ＰＬＣラック」と「Ｌａｂ  ２  ＰＬＣラック」とを含む複数の属性を含む。属性「格納ユニット」は、単一の属性「Ｌａｂ  １  ＰＬＣ戸棚」を含む。ユーザによって引き続き行われるドリルダウン活動は、第５のパネル２２０に、「ＰＬＣ  Ａ０００１３」属性を含む「ユニット」属性が読み込まれるように、「Ｌａｂ  ２  ＰＬＣラック」属性（太字の輪郭で示される）を選択することを含む。パネル２１８および２２０は、それぞれ「親」および「子供」関係を有する。
【００２５】
ナビゲーションシステム２０６を含まない従来のＳＣＡＤＡシステムでは、パネル２１２〜２２０のそれぞれに類似した個々の複数の画面を介してドリリングを行うことが必要であった。具体的には、従来は、Ｅｄｍｏｎｔｏｎ場所内のすべてのＰＬＣのリストを生成するには、パネル２１６内の３つの「エリア」属性についてパネル２１８に示されている「生産ユニット」および「保管ユニット」属性のそれぞれについて、各パネル２１６〜２２０に類似の個々の画面を介してオペレータが選択およびドリリングを行うことが必要である。こうしたドリリングには時間がかかる。
【００２６】
ナビゲーションシステム２０６は、階層ナビゲータ２０４と協力するエントリポイントナビゲータ２０８をも含む。階層ナビゲータ２０４は、エントリポイントナビゲータ２０８の操作の結果として生じるオブジェクトおよび属性のリストを横断するための水平ベースのナビゲータである。エントリポイントナビゲータ２０８は、複数の「モデル」を含む第１のパネル２２２と、複数の「エントリポイント」を含む第２のパネル２２４とを含み、それぞれの「モデル」が少なくとも１つの対応する「エントリポイント」を含む。例示的な実施形態では、パネル２２２内で選択された「機器」モデル（太字の輪郭で示される）は、１０個の「エントリポイント」を含み、パネル２２４内で選択されたエントリポイントは「企業」である（太字の輪郭で示される）。上述されたように、こうした選択によってパネル２１２にデータが読み込まれ、パネル２１２内のユーザ選択によって、パネル２１４〜２２０内のユーザ選択が容易に行われる。
【００２７】
例示的な実施形態では、既存の階層の上に形成される仮想層（図示せず）をプログラムするために、マークアップ言語層が使用される。ナビゲーションシステム２０６を操作し易くする任意の適切なマークアッププログラミング言語が使用される。上述のデータは、パネル２２２内に示されたように、モデルに編成される。こうしたモデルは、オブジェクトおよび関連する属性に関連するデータの論理的なグループ化であり、こうしたグループ化は、少なくとも部分的にユーザ要件に依存する。オブジェクトおよびその属性をさらにカテゴリ化することによって、定義されたエントリポイントに基づいてデータツリーおよびデータ分岐をデータモデルへと少なくともいくらか明らかに再編成することが容易になる。エントリポイントの定義については、下記にさらに論じる。
【００２８】
図３は、ＳＣＡＤＡシステム１００と共に使用することができる例示的な階層ツリー３００の図である。ツリー３００は、認識可能な階層３０１を有する階層データモデル２０２の一部である。ツリー３００は、「工場」というタイトルの第１の分岐３０２を含む。分岐３０２は、それぞれ「１階」および「２階」というタイトルの２つの従属分岐３０４、３０６を含む。分岐３０４は、「製造エリア」分岐３０８を含み、分岐３０６は、「製造エリア」分岐３１０を含む。分岐３０８は、「組立ライン１」分岐３１２を含み、分岐３１０は、「組立ライン２」分岐３１４を含む。
【００２９】
さらに、分岐３１２は、「ライン１組立コントローラ」分岐３１６を含み、分岐３１４は、「ライン２組立コントローラ」分岐３１８を含む。また、分岐３１２は、「ミキサーグループ」分岐３２０を含み、この分岐３２０は引き続いて、「ライン１ミキサーコントローラ」分岐３２２と、「ミキサー１」分岐３２４と、「ミキサー２」分岐３２６とを含む。さらに、分岐３１４は、「ミキサー３」分岐３２８を含み、この分岐３２８は引き続いて、「サブミキサーコントローラ」分岐３３０と、「サブミキサー１」分岐３３２と、「サブミキサー２」分岐３３４とを含む。
【００３０】
図４は、階層ツリー３００に追加されたエントリポイント４００の一部を示す図である。エントリポイント４００は、マークアップ言語層で、順次クエリ論理（ＳＱＬ：ｓｅｑｕｅｎｔｉａｌ  ｑｕｅｒｙ  ｌｏｇｉｃ）クエリを使用せずに、またはテーブルスキーマを操作せずに、定義された属性に基づいてオブジェクトの階層３０１をフラットにするようにプログラムされる。ＳＱＬクエリのプログラミングと対照的に、エントリポイント４００のプログラミングでは、より効率的でコスト効果の高いクエリプログラミング、性能の加速、および情報技術リソースのより効率的な使用が促される。例示的な実施形態では、エントリポイント４００は、データモデル２０２の階層への構成可能な「ビュー」であり、この「ビュー」は、下記にさらに論じられるように、ビットマップ／ラディックス実装を活用して、階層３０１からオブジェクトを「プル」し、リスト内にそれを表示する。例示的な実施形態では、任意の数のビューの任意の数のオブジェクトの任意の数のエントリポイントが、本明細書に述べられるようにシステム１００を操作し易くするようにプログラムされる。
【００３１】
エントリポイント４００は、階層３０１内のあらゆるオブジェクトに付けられた複数のビットフィールド４０２を含む。一般に、各ビットフィールドの個々のビット（図示せず）は、オブジェクトの定義可能などんな属性または特性をも表すようにプログラムすることができ、エントリポイントは、等価のビットマスク（図示せず）をプログラミングすることによって定義される。
【００３２】
例示的な一実施例では、システム１００内に定義されたすべてのオブジェクトが、それぞれのビットが１つの属性を表している４つのビットで表されるものとする。具体的には、ビット０は、ミキサーであるオブジェクトを表す。ビット１は、現在認証されている（ｉｎ  ｃｅｒｔｉｆｉｃａｔｉｏｎ）オブジェクトを表し、ビット２は、Ｅｄｍｏｎｔｏｎに置かれたオブジェクトを表し、ビット３は、Ｆｏｘｂｏｒｏに置かれたオブジェクトを表す。この例は、複数の属性を表す何千ものビットが実現可能になる程度にまで拡張することができる。ビット０〜３は、ビット３−ビット２−ビット１−ビット０の順序で表される。
【００３３】
ビットフィールドの第１の例は、０１１１のビットフィールドを有する認証されたＥｄｍｏｎｔｏｎミキサーであるミキサー１を定義する。また、ビットフィールドの第２の例は、０１０１のビットフィールドを有する認証されていないＥｄｍｏｎｔｏｎミキサーであるミキサー２を定義する。さらに、ビットフィールドの第３の例は、１０１１のビットフィールドを有する認証されたＦｏｘｂｏｒｏミキサーであるミキサー３を定義する。さらに、ビットフィールドの第４の例は、１００１のビットフィールドを有する認証されていないＦｏｘｂｏｒｏミキサーであるミキサー４を定義する。
【００３４】
さらに、たとえば、「すべてのエドモントンミキサー」というタイトルのエントリポイントが、ビットマスク「０１０１」を生成することによってプログラムされ、このビットマスク「０１０１」は、論理「ＡＮＤ」操作を用いて関連する階層内のすべてのオブジェクトに適用される。その後、適切な属性で少なくとも部分的には定義されていないすべてのオブジェクトが取り除かれる。こうした操作は、データベースへの照会を必要とせずに処理装置のメモリ部分で実行され、それによって、実質的に瞬間的な結果が生成される。その後、Ｅｄｍｏｎｔｏｎに置かれていることと、ミキサーであることの両方の属性を有するすべてのオブジェクトが取り出され、操作に関連する時間の短さは、フィルタリングされる単一の属性を有する時間性能に実質的に類似する。一般に、ビットマスク表現と同一の結果をもたらす論理式「ＩＦ（オブジェクトビットフィールド）ＡＮＤ（エントリポイントビットマスク）」からのいずれの結果も「ヒット」である。具体的には、この例では、ミキサー１は、「Ｅｄｍｏｎｔｏｎミキサー」のエントリポイントビットマスク「０１０１」を用いた「ＡＮＤ」演算に論理的に関連する認証されたＥｄｍｏｎｔｏｎのミキサーに対応する「０１１１」ビットフィールドを有するので、「０１０１」の結果が生成される。さらに、具体的には、ビットフィールド「０１０１」を有するミキサー２との論理「ＡＮＤ」結合でビットマスク「０１０１」を使用すると、「０１０１」の結果、したがって、ミキサー２への「ヒット」がもたらされる。それぞれ「１０１１」および「１００１」のビットフィールドを有するミキサー３および４は両方について「０００１」の結果を生成し、「０００１」が「０１０１」と一致しないので、ミキサー３および４は取り除かれる。要約すると、「すべてのＥｄｍｏｎｔｏｎミキサー」に対応する「０１０１」のビットマスクを使用することにより、ミキサー１およびミキサー２の結果が生成される。
【００３５】
さらに、エントリポイント属性は、より複雑なやり方で組み合わせることができる。「ＯＲ」演算を使用すると、非ゼロの結果を生成することができ、この結果は、この場合、「ヒット」に対応する。たとえば、「Ｅｄｍｏｎｔｏｎ内のいずれかの機器  ＯＲ  いずれかのミキサー」のコマンドまたはクエリは、「０１０１」のビットマスクおよび「０００１」のビットマスクを必要とする。ブール論理を使用してこれらを「０００１」（すなわち「０１１１」ＯＲ「１００１」）の結果ビットマスクへと組み合わせ、また結果として生じるそのビットマップを使用して階層内のすべてのオブジェクトをすべてフィルタリングすると、その結果、非ゼロの結果を生成するすべてのオブジェクトによって「ヒット」がもたらされる。この例では、ミキサー１、２、３および４がそれぞれ、「ヒット」をもたらす。
【００３６】
さらなる例として、エントリポイント属性は、「ＯＲ」演算と併せて「ＡＮＤ」演算を使用して、より複雑なやり方で組み合わせることができる。具体的には、上述された４つの同じミキサーおよび４つのビットフィールドを使用して、Ｅｄｍｏｎｔｏｎの認証されたミキサー  ＯＲ  Ｆｏｘｂｏｒｏの認証されていないいずれかのミキサーを求めるクエリを生成することができる。マルチパス手法を使用する際、上記に論じられた「すべてのＥｄｍｏｎｔｏｎミキサー」に対応する「０１０１」の「ビットマスク」を使用することによって、ミキサー１およびミキサー２の結果が生成される。第２に、認証されていないＦｏｘｂｏｒｏミキサーの「１００１」のビットマスクが、ミキサー４について「ヒット」をもたらす４つのすべてのミキサーで使用され、ミキサー１、２および３が取り除かれる。したがって、要するにこの方法は、ミキサー１、ミキサー２およびミキサー４の結果を生成する。
【００３７】
「ＯＲ」または「ＡＮＤ」演算は、いくつの属性がテストされるかに関係なく、それ自体それぞれ、１つのクエリで実施することができる。上記に論じられたように、「ＯＲ」の場合では、「ヒット」は、非ゼロの結果を返すいずれかのオブジェクトである。「ＡＮＤ」の場合、結果として生じるビットフィールドは、元のマスクに正確に一致しなければならない。しばしばブール代数を使用して、「ＯＲ」と「ＡＮＤ」演算子の両方を含むクエリは、オブジェクトリストの１回のパススルーが所望の結果の生成に十分であるように、単一の「ＯＲ」または「ＡＮＤ」演算に減らすことができる。したがって、クエリがどれほど複雑かに関係なく、システム性能は、どんな複雑なブールビットマスクセットをもブール代数を使用して単一のマスクに減少させることができるので実質的に類似し、その結果のセットは、オブジェクトセットに適用する必要がある唯一のマスクである。
【００３８】
ナビゲーションシステム２０６をシステム１００内に組み込む前に、産業用施設内の様々なコントローラ上のソフトウェアを保守する作業が課された場合にユーザは、複数の組立ラインを通してドリリングし、すべてのコントローラを見つけるために任意のレベルを通してドリルダウンしなればならない。例示的な実施形態では、エントリポイントおよびカテゴリ化を使用してすべてのコントローラは、「コントローラ」のエントリポイントに等価なカテゴリ分類で「マークアップ」される。具体的には、図４を参照すると、タグ４０４は、「コントローラ」というタイトルのエントリポイント４００を少なくとも部分的に形成するマークアップ言語でプログラムされる。より具体的には、例示的な実施形態では、複数のビットを有する大きいカテゴリビットフィールド（図示せず）の一部（この場合は単一のビット）は、「Ｃｏ」のエントリに実質的に等価であるようにプログラムされる。「Ｃｏ」のこうした等価なビットプログラミングは、各オブジェクトに関連するタグが、ユーザに見えず、「コントローラ」の関連属性を有するどんな関連オブジェクトをもユーザへのコントローラとして示すように構成される。
【００３９】
図５は、図４に示されたエントリポイント４００の例示的な結果５００を示す図である。階層データモデル２０２のナビゲーションシステム２０６をプログラムする例示的な方法は、プロセッサ（たとえば図１に示されたサーバシステム１１０）を出力装置（たとえば図１に示されたワークステーション１２８）と電子データ通信で結合するステップを含む。この方法は、プロセッサ内のデータベース１４２（図１に示される）の階層データモデル２０２をプログラムすることをも含む。階層データモデル２０２は、複数のオブジェクトを表す階層３０１を含む。複数のオブジェクトのうちの少なくとも１つのオブジェクトは、少なくとも１つの属性を有する。この方法は、プロセッサ内の階層データモデル２０２の少なくとも一部へのエントリポイント４００をプログラムするステップをさらに含む。その技術的な効果は、情報リスト、すなわち少なくとも１つの共通の属性を有する複数のオブジェクトの各オブジェクトを含む結果５００を生成するように、少なくとも１つのエントリポイント４００をプログラムすることである。情報リストは、出力装置上で読出し可能である。
【００４０】
例示的な実施形態では、エントリポイント４００は、「コントローラ」というタイトルである。タグ「Ｃｏ」を表すビットを含む関連ビットフィールドを有するすべてのオブジェクトを識別するのに十分なプログラミングを含む適切なビットマスク（図示せず）を有するエントリポイント４００を適用することによって、図５に示された結果のリストが返される。具体的には、オブジェクト３１６、３２２、３１８および３３０が、エントリポイント４００を選択することにより識別される。
【００４１】
さらに、カテゴリがビットフィールドによって表されるので、オブジェクトの任意のグループ化を作成するためにブール論理を適用することができる。たとえば、組立ライン１のすべてのオブジェクトが「ライン１」ビットでカテゴリ化され、すべてのコントローラが「コントローラ」ビットを有する場合、「ライン１コントローラ」と呼ばれるエントリポイントを、両方のビットが設定されているすべてのオブジェクトを取り出すようにプログラムすることができる。あるいは、「ライン１−コントローラを除く」というタイトルのカテゴリを、オブジェクトビットフィールドを介して論理「ライン１  ＡＮＤ  ＮＯＴ  コントローラ」演算を実施することによってプログラムしてもよい。
【００４２】
ナビゲーションシステム２０６は、例示的な実施形態では、それだけに限らないが全文検索、ハイパーリンク、および従来の折り畳み可能ツリーナビゲータを含むデータベースデータ検索の他の方法に勝るいくつかの利点を提供する。具体的には、データモデル、エントリポイントおよびビットフィールドに基づくカテゴリ化を組み合わせることによって、特定のユーザの必要性を満たす最適なやり方でデータの複雑な階層を提示することが容易になる。より具体的には、複雑な階層は、ユーザにとって有用な特性を使用して、定義されたエントリポイントを構成することによって選択的にフラット化される。したがって、それぞれのユーザは、一意のデータクエリを表示するためのカテゴリ化を作成し、それによって、固定された階層を維持しながらもユーザのための組織的な柔軟性を促すことができる。さらに、ユーザ定義のクエリおよびフィルタリングは、ユーザ一意で構成可能な容易に得られるナビゲーション特徴を有する直感的グラフィカルナビゲーションを備えたフロントエンドを使用して実行され、このナビゲーション特徴によって、ナビゲーションシステム２０６は、従来のツリー型ナビゲータと視覚的かつ概念的に区別される。ナビゲーションシステム２０６は引き続いて、階層へのドリルダウンに必要な時間および計算リソースの削減を促し、データ分岐を下方へとより簡単にナビゲートすることを容易にし、データを見つけるためのスクロールおよび／またはクリックの削減を促す。
【００４３】
さらに、例示的な実施形態では、リレーショナルデータベースの制限の一部が回避される。たとえば、リレーショナルデータベースでは、テーブルが最初に、適切なカラム上で適切なキーおよびインデックスを伴って設定されていない場合、性能が悪化する。具体的には、時間と共にデータ変更の探索が必要になるにつれて、新しいカラムおよび追加されたインデックス（再インデックス付けと呼ばれる）でデータベース自体を修正しなければならず、または性能が悪化する可能性が高くなる。したがって、ナビゲーションシステム２０６は、クエリのための新しい属性をいつでも追加することができ、またナビゲート面で性能に悪影響を及ぼさずに、それらの属性を用いてクエリを活用するためのエントリポイントを追加することもできるという意味で、実質的に拡張可能である。
【００４４】
さらに、ほとんどのデータベースの１つの特徴は、複数のユーザがデータ変更および追加のアクセスを有することである。さらに、多くのユーザは、ユーザにとって興味のある階層の部分の「イメージ（ｍｅｎｔａｌ  ｐｉｃｔｕｒｅ）」をうまく形成できないことがある。したがって、データエントリのソースに関係なく、最も最近のデータで更新された極めて重要なオブジェクトを優先付けし編成するためにカテゴリ化を使用して、ユーザ特有のデータの可視性を高めることによって、データに依存するユーザタスクの実施の効率向上を促す。
【００４５】
本明細書に述べられた階層データモデルのナビゲーションシステムをプログラムする方法によって、監視制御データ取得（ＳＣＡＤＡ）システムの組立てが容易になる。より具体的には、上記に述べられた階層データモデルをナビゲートする方法によって、動的な材料構成（ｍａｔｅｒｉａｌ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）を伴う複雑な産業用施設のための保守および運用活動に関連する時間および労働力の減少が促される。
【００４６】
階層データモデルおよびＳＣＡＤＡシステムに関連するナビゲーションシステムの例示的な実施形態について、上記に詳細に述べられている。この方法、装置およびシステムは、本明細書に述べられた特定の実施形態、または示された特定の階層データモデルおよびＳＣＡＤＡシステムに限定されない。
【００４７】
本発明について様々な特定の実施形態について述べられているが、本発明は、特許請求の範囲の精神および範囲内の修正を加えて本発明を実行できることが当業者には認識されよう。
【符号の説明】
【００４８】
１００  システム
１０４  無線基地局
１０６  制御システム
１０８  ネットワークセグメント
１１０  サーバシステム／サーバ装置
１０２  バックボーン
１１２  クライアントシステム
１１４  データベースサーバ
１１６  アプリケーションサーバ
１１８  ウェブサーバ
１２０  ファックスサーバ
１２２  ディレクトリサーバ
１２４  メールサーバ
１２６  ディスク記憶装置
１２８  ワークステーション
１３０  ＬＡＮ
１３２  従業員
１３４  サービスプロバイダ
１３６  マネージャワークステーション
１３８  クライアントシステム
１４０  遠隔監視局／モニタ
１４２  データベース
１４４  ライン１組立コントローラ
１４６  ライン１ミキサーコントローラ
１４８  ライン２組立コントローラ
１５０  サブミキサーコントローラ
２００  ユーザインターフェース画面
２０２  階層データモデル
２０４  階層ナビゲータ
２０６  ナビゲーションシステム
２０８  エントリポイントナビゲータ
２１０  機器モデル
【図１】
2011501851.tif 000003
【図２】
2011501851.tif 000004
【図３】
2011501851.tif 000005
【図４】
2011501851.tif 000006
【図５】
2011501851.tif 000007
【国際調査報告】
2011501851.tif 000008
2011501851.tif 000009
2011501851.tif 000010