JPH11224196A - リモート・オブジェクト・アクセス - Google Patents

リモート・オブジェクト・アクセス

Info

Publication number
JPH11224196A
JPH11224196A JP10284159A JP28415998A JPH11224196A JP H11224196 A JPH11224196 A JP H11224196A JP 10284159 A JP10284159 A JP 10284159A JP 28415998 A JP28415998 A JP 28415998A JP H11224196 A JPH11224196 A JP H11224196A
Authority
JP
Japan
Prior art keywords
client
bean
target object
network
remote access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10284159A
Other languages
English (en)
Inventor
Osman Abdoul Ismael
オスマン・アブドゥール・イスマエル
Serge Andre Rigori
セルジュ・アンドレ・リゴリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH11224196A publication Critical patent/JPH11224196A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 目標オブジェクトの表現を形成するクライア
ント・オブジェクトを生成することにより、目標オブジ
ェクトに対するリモート・アクセスを行なう。 【解決手段】 クライアント・オブジェクトは、遠隔的
にアクセス可能な目標オブジェクトのメソッドを識別
し、遠隔的にアクセス可能な目標オブジェクトを実装す
る。目標オブジェクトはリモート・ステーションにおい
て、またクライアント・オブジェクトはクライアント・
マシンにおいて、おのおのネットワーク・プロトコルに
対するネットワーク・アダプタと関連付けられる。こう
して、クライアント・アプリケーションは、クライアン
ト・オブジェクトを通して、遠隔の目標オブジェクトに
アクセスすることができる。目標オブジェクトを修正し
たり、特定の通信コードをそれに含ませる必要はない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト、特
に、ビーン(bean)として知られているオブジェクトの制
御および/またはアクセスに関するものである。
【0002】
【従来の技術】ビーン、例えば、JavaBeansコ
ンポーネント(JavaBeansは、サンマイクロシ
ステムズ社(Sun Microsystems, Inc.の登録商標であ
る)は、再利用可能なソフトウエア・コンポーネントで
あり、ビルダ・ツール(例えば、エディタまたはグラフ
ィカル・ユーザ・インターフェース・ビルダ(GUIビ
ルダ))において視覚的に操作することができる。ビル
ダ・ツールの一例に、JavaBeans開発キット(J
avaBeans Development Kit)がある。ビーンに関する更
なる詳細は、多くの異なる書物において見ることがで
き、例えば、Synbexによって発行されたLawrence Vanhe
lsuwe著のMastering JavaBeans(JavaBeansの
習得)と題する本(ISBN-0-7821-2097-0)があげられる。
これは、表題に「JavaBeans」を有しJava
Beansについて説明する、広い意味で同等な市販の
多くの本の一例に過ぎない。Mastering JavaBeansを含
むこれらの本の多くは、上述のビーン開発キットに対応
する(supply)ものである。
【0003】ビーンはそのファンクショナリティ(funct
ionality)が様々に変化するが、典型的に、ある種の共
通した定義構造を共有しており、1組のプロパティ、ア
クションを実行する1組のメソッド、ならびにイベン
ト、およびリフレクション(reflection)としても知られ
ているイントロスぺクション (introspection:内省) に
対するサポート(support)を与える。プロパティは、ビ
ーンのプログラム的な操作を可能とし、ビーンのカスタ
ム化(customization)をサポートする。メソッドはプロ
パティを実装する。イベントに対するサポートは、ビー
ンがイベントを発火(fire)することを可能とし、発火す
ることができるイベントを定義する。イントロスぺクシ
ョンに対するサポートは、ビーンのプロパティ、イベン
トおよびメソッドを、外部から検分することを可能にす
る。
【0004】
【発明が解決しようとする課題】しかしながら、通常、
ビーンは、当該ビーンが存在する仮想マシン環境内での
み、その制御および操作が可能である。米国特許第5,
315,703号および米国特許第5,367,633
号は、変更通知機能を与える、オブジェクトに基づくシ
ステムについて記載する。しかしながら、これらの特許
は、スタンド・アロンのシステムについて記載するに過
ぎない。
【0005】例えば、ネットワークを通じて、遠方から
ビーンにアクセスしたり、ビーンを制御することができ
れば望ましいであろう。しかしながら、これは、適切な
メソッドをビーン自体の中に実際に含ませ、その必要と
されるメソッドを露出させなければ可能ではない。しか
しながら、遠隔的なアクセスを可能とするようにビーン
を特定的に適合化させなければならないことは望ましく
ない。したがって、事前の修正なく、あらゆるビーンを
遠隔的にアクセス、制御、および修正することができれ
ば、望ましいであろう。
【0006】したがって、本発明の目的は、この問題に
対処することである。
【0007】
【課題を解決するための手段】本発明によれば、通信ネ
ットワークを通じて、クライアント・ステーションか
ら、リモート・ステーションにおける目標オブジェクト
にアクセスする方法が提供され、この方法は、 a)目標オブジェクトの表現を形成するクライアント・
オブジェクトを生成し、遠隔的にアクセス可能な目標オ
ブジェクトのメソッドを識別し、遠隔的にアクセス可能
なメソッドを実装するようにクライアント・オブジェク
トを構成するステップと、 b)目標オブジェクトとネットワーク・プロトコルに対
するネットワーク・アダプタとを、リモート・ステーシ
ョンにおけるフレームワークに登録するステップと、 c)クライアント・マシンにおいて、クライアント・オ
ブジェクトを、ネットワーク・プロトコルに対するネッ
トワーク・アダプタと関連付けるステップと、 d)クライアント・オブジェクトをインスタンス化する
ことにより、クライアント・アプリケーションが目標タ
ーゲットにアクセスすることを可能にするステップと、
から成る。
【0008】クライアント・ステーションおよびリモー
ト・ステーションにおいてネットワーク・プロトコル・
アダプタを用い、更に目標オブジェクトのクライアント
・オブジェクト表現を用いることによって、リモート・
ステーションにおいて、目標オブジェクトのリモート・
アクセス、制御、および修正が、必要であれば、可能と
なり、しかも目標オブジェクトを予め修正したり、目標
オブジェクトにそれ自体の内部リモート・アクセス・メ
ソッドを含むことを要求する必要はない。
【0009】本発明の好適な実施形態では、目標オブジ
ェクトをネットワーク・エージェントのフレームワーク
のレポジトリ・サービスに登録することによって、目標
オブジェクトをネットワーク・アダプタと関連付ける。
ネットワーク・アダプタは、リモート・アクセス要求に
応答し、フレームワークに、レポジトリ・サービスを参
照することによって、目標オブジェクトに対するアクセ
スを起動させる。
【0010】好ましくは、ステップ(a)は、目標オブ
ジェクトをコンパイルし、目標オブジェクトのどのメソ
ッドが遠隔的にアクセス可能であるかを識別する目標オ
ブジェクト・インターフェースと、および遠隔的にアク
セス可能なメソッドを実装する目標オブジェクト・スタ
ブとから成るクライアント・オブジェクトを生成するス
テップを含む。コンパイルするステップは、リモート・
ステーションまたはクライアント・ステーションにおい
て実行することができ、得られたコードは、例えば、ネ
ットワークを通じて転送することができる。しかしなが
ら、代替案として、コンパイルは、クライアント・ステ
ーションおよびリモート・ステーション双方において行
なうことができる。
【0011】好ましくは、ステップ(d)は、目標オブ
ジェクト・スタブを選択的に交換し、実行時においてク
ライアント・アプリケーションのビヘービャを動的に変
更するステップを含む。例えば、第1および第2のスタ
ブをそれぞれ用いて、目標オブジェクトに対するリード
・オンリ・アクセスを指定するか、あるいはリード−ラ
イト・アクセスを指定することができる。
【0012】本発明は、ビーンの形態のオブジェクトに
対して、特に適用されるものである。ビーンは、1組の
プロパティ、アクションを実行する1組のメソッド、な
らびにイベントおよびイントロスペクションに対するサ
ポートから成る。イントロスペクションに対するサポー
トは、コンパイラがクライアント・オブジェクト(また
は複数のクライアント・オブジェクト)を生成すること
を可能とし、ユーザ・アプリケーションがクライアント
・オブジェクト(または複数のクライアント・オブジェ
クト)と相互作用を行い、目標オブジェクトの少なくと
も選択されたメソッドにアクセスし表示することを可能
にする。実際には、ステップ(a)は、イントロスペク
ションによって目標オブジェクトのメソッドを抽出する
ステップを含むことが好ましい。
【0013】本発明は、目標オブジェクトが被管理オブ
ジェクトであり、クライアント・アプリケーションがネ
ットワーク管理アプリケーションであるネットワーク管
理システムに、特に適用されるものであるが、これのみ
に限定される訳ではない。
【0014】本発明の別の態様によれば、クライアント
・ステーションにおいて、通信ネットワークを通じて、
リモート・ステーションにおける目標オブジェクトにア
クセスするための、リモート・アクセス・サポート機構
が提供され、このリモート・アクセス・サポート機構
は、目標オブジェクトの表現を形成するクライアント・
オブジェクトであって、遠隔的にアクセス可能な目標オ
ブジェクトのメソッドを識別し、遠隔的にアクセス可能
なメソッドを実装するクライアント・オブジェクトと、
クライアント・オブジェクトに応答するネットワーク・
アダプタと、から成り、クライアント・オブジェクト
が、クライアント・アプリケーションによってインスタ
ンス化され、クライアント・アプリケーションが目標タ
ーゲットにアクセスしそれを修正することを可能にする
ように構成されている。
【0015】本発明の更に別の態様によれば、通信ネッ
トワークを通じて、第1のマシンにおける目標オブジェ
クトにクライアント・マシンからのリモート・アクセス
を可能とする、第1のマシンにおけるリモート・アクセ
ス・サポート機構が提供され、このリモート・アクセス
・サポート機構は、少なくとも1つの目標オブジェクト
と、ネットワーク・プロトコルに対応する少なくとも1
つのネットワーク・アダプタと、から成り、目標オブジ
ェクト(または複数の目標オブジェクト)とネットワー
ク・アダプタ(または複数のネットワーク・アダプタ)
が、第1のマシンにおけるフレームワークに登録可能で
あり、ネットワーク・アダプタが、プロトコルにしたが
って、クライアント・マシンからのリモート・アクセス
要求に応答し、フレームワークを通じて目標オブジェク
トにアクセスする。
【0016】本発明の更に他の態様によれば、通信ネッ
トワークを通じて、第1のマシンにおける目標オブジェ
クトにクライアント・マシンからのリモート・アクセス
を可能とする、コンピュータ用データ担体上のリモート
・アクセス・サポート機構が提供され、このリモート・
アクセス・サポート機構は、少なくとも1つの目標オブ
ジェクトと、ネットワーク・プロトコルに対応する少な
くとも1つのネットワーク・アダプタと、から成り、目
標オブジェクト(または複数の目標オブジェクト)とネ
ットワーク・アダプタ(または複数のネットワーク・ア
ダプタ)が、第1のマシンにおけるフレームワークに登
録可能であり、ネットワーク・アダプタが、プロトコル
にしたがって、クライアント・マシンからのリモート・
アクセス要求に応答して、フレームワークを通じて目標
オブジェクトにアクセスする。
【0017】
【発明の実施の形態】これより本発明の代表的な実施形
態について、一例としてのみ、添付図面を参照しながら
説明する。図面において、同様の参照符号は、同様のエ
レメントに関連するものとする。
【0018】図1は、マルチ・ステーション・ネットワ
ークを基本としたシステム1の概略図であり、3箇所の
ステーション、即ち、ノード、またはマシン3、4、5
がネットワーク2を通じて接続されている。ネットワー
ク2は、公衆電話交換網および/またはローカル・エリ
ア・ネットワーク、および/またはローカル・エリアお
よび/またはより広いエリア内の専用ネットワーク接続
コンピュータおよびその他の機器、および/またはイン
ターネットまたはイントラネットのようなオープン・ネ
ットワーク、あるいはその組み合わせ、あるいは実際に
は通信管理情報の交換に対応可能な他のあらゆる形式の
通信ネットワークを基本とすることができる。ネットワ
ークは、レベル構造、ピラミッド階層等のような、任意
の所望の構造でよい。
【0019】ステーション3、4、5の任意の1つ又は
複数は、ネットワーク管理ステーションとして、そのコ
ンフィギュレーションを設定することができる。図1に
示す例では、ステーション3を管理ステーションとし、
ステーション4、5を被管理ステーションとする。いず
れの数の管理ステーションおよび被管理ステーションで
も設けることができ、図1においてステーションを3箇
所としたのは、例示の目的のために過ぎないことは認め
られよう。また、管理および被管理機能は相互に交換可
能であり、実際には、管理機能および被管理機能は、1
つの同じステーションにおいてサポートすることが可能
である。
【0020】ステーションは、多くの形態を取ることが
できる。例示の目的のために、双方ともコンピュータ・
ワークステーションから成るものと仮定する。図2は、
コンピュータ・ワークステーションのコンフィギュレー
ションの概略図である。図2に示すように、これは、デ
ィスプレイ8、キーボードおよびその他の入力デバイス
9を有するシステム・ユニット11を備えたサーバ・コ
ンピュータ10によって実装されている。図2のAは、
システム・ユニット11の内容の態様を表す概略ブロッ
ク図である。図2のAに示すように、システム・ユニッ
ト11は、プロセッサ17、メモリ18、磁気および/
または光ディスク・ドライブ13、14、および通信ネ
ットワーク2に接続するための1又は複数の通信ライン
15に接続するための通信アダプタ16を含む。図2の
Aに示すように、このシステム・ユニットのコンポーネ
ントは、バス配列19を通じて接続されている。図2お
よび図2のAは、ルータを形成するためのサーバ・コン
ピュータに対する、1つの可能なコンフィギュレーショ
ンの概略図である。また、代わりのコンフィギュレーシ
ョンも多数提供可能であることも認められよう。
【0021】ワークステーションによって管理ステーシ
ョンが実装される場合には、1又は複数の管理アプリケ
ーションとインターフェース構造とは、典型的に、ソフ
トウエアで供給され、このソフトウエアはワークステー
ションのメモリに格納され、ワークステーションのプロ
セッサによって実行される。
【0022】ワークステーションによって被管理ステー
ションが実装される場合には、エージェントが、ネット
ワークを通じた管理アプリケーションからの離れた管理
要求に応答し、被管理ステーションにおける被管理オブ
ジェクトへのインターフェースを与える。エージェント
および被管理オブジェクト構造は、典型的に、ソフトウ
エアで供給され、このソフトウエアはワークステーショ
ンのメモリに格納され、ワークステーションのプロセッ
サによって実行される。
【0023】オブジェクトは、典型的に、1台の機器、
当該機器のコンポーネント、機器あるいはそのコンポー
ネントまたはリソースの動作等をモデル化するために用
いられるパラメータおよびメソッドを備えている。
【0024】通信ネットワークの管理は、種々のサイズ
および複雑度を有するアプリケーションを必要とする。
重要なマネージャ(heavy manager)、中間マネージャ、
拡張可能なエージェント、スマート・エージェント(sma
rt agent)およびアプライアンス(appliance)は全て、通
信ネットワークの管理において役割を有する。本発明を
組み込むネットワーク管理システムは、拡張可能なエー
ジェント・フレームワークを提供し、これらの異なるア
プリケーション・タイプの全てを、同一アーキテクチャ
上で構築することを可能とする。この拡張可能なエージ
ェント・フレームワークは、ネットワーク管理システム
のコンポーネントによって与えられる。このコンテキス
トにおける拡張可能なエージェント・フレームワークに
対する代わりの用語として、「動的フレームワーク」ま
たは「オープン・フレームワーク」または「ランタイム
・コンポーネント」とすることも可能であるが、ここで
は「フレームワーク」または「拡張可能なエージェント
・フレームワーク」を用いることにする。
【0025】ネットワーク管理システムには、1組のコ
ア管理サービスが供給される。この1組のサービスから
選択を行うことができ、更に特定のアプリケーションを
開発するために拡張することができる。異なるサービス
を静的にまたは動的にフレームワークにロードし、特定
のアプリケーションの要件を満たすようにする。
【0026】本発明を組み込んだネットワーク・エージ
ェントの一例における被管理オブジェクトは、好ましく
は、ビーン(bean)として、更に好ましくは、Java
Beansコンポーネントとして実装される。ビーン
(およびJavabeans コンポーネント)は、再利用可能な
ソフトウエア・コンポーネントであり、構築ツール(bui
lder tool)(例えば、エディタまたはグラフィカル・ユ
ーザ・インターフェース・ビルダ(GUIビルダ))に
おいて視覚的に操作することができる。構築ツールの一
例として、JavaBeans開発キットがあげられ
る。ビーンはそのファンクショナリティが様々に変化す
るが、典型的に、ある種の共通した定義構造を共有して
おり、1組のプロパティ、アクションを実行する1組の
メソッド、ならびにイベントおよびイントロスぺクショ
ンに対するサポートを与える。プロパティは、ビーンの
プログラム的な操作を可能とし、ビーンのカスタム化(c
ustomization)をサポートする。メソッドはプロパティ
を実装する。イベントに対するサポートは、ビーンズが
イベントを発火(fire)することを可能とし、発火するこ
とができるイベントを定義する。イントロスぺクション
に対するサポートは、ビーンのプロパティ、イベントお
よびメソッドを、外部から検分することを可能にする。
GET、SET、ACTION、CREATEおよびD
ELETEというような動作をサポートすることができ
る。
【0027】エージェントにおける被管理オブジェクト
は、それがフレームワークに登録されると直ちに管理可
能となる。この構成によって、このネットワーク管理シ
ステムにしたがって開発されたエージェントは、エージ
ェントの設計に対する影響を最少に抑えて、管理可能と
なる。
【0028】先に示したように、ネットワーク管理シス
テムの一例は、JavaBeansコンポーネント・モ
デルを用いることによって、アプリケーションの開発を
容易にする。この例では、コア管理サービスの全てが、
JavaBeansコンポーネントとして用意されてい
る。したがって、広く知られたJavaBeans開発
キットのような、Javaアプリケーション・ビルダを
用いて、それらへのアクセスが可能になる。被管理オブ
ジェクトは、JavaBeansコンポーネントとして
開発される。ネットワーク管理システム・エージェント
におけるJavaBeansコンポーネントは、局所的
にまたは遠隔的にアクセスすることができる。これは、
このネットワーク管理システムを用いて被管理オブジェ
クトを開発する場合、どの通信プロトコルに被管理オブ
ジェクトがアクセスするのかについて知る必要がないこ
とを意味する。
【0029】ネットワーク管理システムは、拡張可能エ
ージェントの開発を簡略化する。ネットワーク管理シス
テムが提供する1組のコア管理サービスを拡張し、エー
ジェントが実行されている間に、それにロードすること
ができる。コア管理サービスの殆どはオプションであ
る。これが意味するのは、ネットワーク管理システムを
用いて開発したエージェントは、それが用いるサービス
を実装するだけでよいということである。この構造は、
異なるサイズおよび複雑度のエージェントの開発を可能
にする。
【0030】また、ネットワーク管理システムを用いて
開発したエージェントは、スマート・エージェントでも
ある。スマート・エージェントは、管理要求を処理する
ために必要とされるサービスを提供する。スマート・エ
ージェントでは、処理の多くは、エージェント自体の中
で局所的に行うことができるので、エージェントと管理
システムとの間のネットワーク接続上の負荷が減少す
る。
【0031】図3は、ネットワーク管理システム・エー
ジェントのアーキテクチャの一態様を示し、ネットワー
ク管理システムのコンポーネント間の関係を含む。ま
た、図3は、ネットワーク管理システム・エージェント
と管理アプリケーションとの間の関係も示す。
【0032】図3に示すように、ネットワーク管理シス
テム・エージェントは、Java仮想マシン(VM:vi
rtual machine)の内側にある多数のコンポーネントか
ら成る。これらは、 − m−ビーン29、 − フレームワーク24、 − コア管理サービス25、26、27、28、 − 被管理オブジェクト・アダプタ・サーバ30、3
2、34、36、38、 を含む。これらのコンポーネントについて、以下で更に
詳細に説明する。
【0033】被管理オブジェクト(managed object)と
は、エージェントによって制御され監視される、リソー
スのソフトウエア抽象化(software abstraction)であ
る。被管理オブジェクト(例えば28)のことを、管理
ビーンまたはm−ビーンと呼ぶ。ネットワーク管理シス
テムの一例では、全てのm−ビーンはJavaBean
sコンポーネントとして実装される。したがって、先に
述べたJavaBeans開発キットのような、従来の
Javaアプリケーション・ビルダを用いて、これらにアク
セスすることができる。
【0034】他のいずれの被管理オブジェクトに関して
も、m−ビーンは1組のプロパティを有し、1組のアク
ションを実行することができ、1組の通知またはイベン
トを送出することができる。ネットワーク管理システム
は、m−ビーンにおけるリード専用プロパティとリード
/ライト・プロパティとの間で区別することを可能とす
る。
【0035】m−ビーンは、フレームワーク24によっ
て登録されると直ちに管理可能となる。m−ビーンが登
録されると、オブジェクト名がそれに関連付けられる。
このオブジェクト名が、m−ビーン・レポジトリ(以下
を参照のこと)内の当該m−ビーンを一意的に識別す
る。それによって、管理アプリケーションが、管理処理
を実行しようとするm−ビーンを識別することが可能に
なる。m−ビーンのオブジェクト名は、任意の名称であ
り、m−ビーンがどのように実装されるかには、全く依
存しない。
【0036】フレームワーク24は管理サービスを制御
し、エージェント20のm−ビーンはフレームワーク2
4にロードされる。フレームワーク、即ち、ランタイム
・コンポーネント24は、JavaBeansコンポー
ネントであり、1組のプロパティ、アクションを実行す
るための1組のメソッド、ならびにイベントおよびイン
トロスぺクションに対するサポートを備えている。プロ
パティは、ゲッタ(getter)およびセッタ(setter)プロパ
ティを含む。メソッドは、ゲッタおよびセッタ・プロパ
ティを実装するメソッドを含む。また、フレームワーク
は、オブジェクト追加機能(add object function)およ
びオブジェクト除去機能(remove objectfunction)を実
行することも可能である。
【0037】エージェント20が、ネットワーク・アダ
プタを介して受信した管理処理を実行するように要求さ
れたときはいつでも、フレームワーク24は、適切なサ
ービスをコールし、要求された処理を実行する。また、
フレームワーク24は、m−ビーン28と被管理オブジ
ェクト・アダプタ・サーバ30〜38との間の通信も取
り扱う。m−ビーンは、フレームワーク24に問い合わ
せを行い、フレームワーク24の同じインスタンスにロ
ードされている他のm−ビーン28に関する情報を得る
ことができる。フレームワーク24の1つのインスタン
スのみが、仮想マシン22内で許される。
【0038】ネットワーク管理システムは、多数のコア
管理サービスを提供する。このシステムの一例では、コ
ア管理サービスは、Javaインターフェースとして定
義される。コア管理サービスはオプションである。これ
が意味するのは、ネットワーク管理システムを用いて開
発したエージェントは、それが用いるサービスのみを実
装すればよいということである。コア管理サービスは、
m−ビーンとして登録することができ、これによって、
いくつかの管理処理をその上で形成し、そのビヘービャ
(behaviour)を調整(tune)することを可能にする。
【0039】このシステムの好適な例では、コア管理サ
ービスは、JavaBeansコンポーネントとして与
えられる。したがって、先に述べたJavaBeans
開発キットのような、従来のJavaアプリケーション
・ビルダを用いて、これらにアクセスすることができ
る。
【0040】次に、多数のコア管理サービスについて説
明する。
【0041】m−ビーン・レポジトリ・サービス27
は、m−ビーンへのポインタを得る。m−ビーンがフレ
ームワーク24に登録される毎に、フレームワーク24
は、m−ビーン・レポジトリ・サービス27をコール
し、当該m−ビーンの識別子(identity)を格納する。m
−ビーンには名称が関連付けられる。m−ビーン・レポ
ジトリ27に問い合わせをすると、エージェントおよび
マネージャ・アプリケーションは、m−ビームをその名
称によって識別することができる。m−ビーン・レポジ
トリ・サービス27は、異なる実装方法が可能である。
あるインプリメンテーションでは、永続的なm−ビーン
を格納するためにリレーショナル・データベースを用
い、一方、別のインプリメンテーションでは、非永続的
なm−ビームを格納するために単純なメモリを用いる。
【0042】レポジトリ・ユニットによって与えられる
構造を考慮しながら、エージェントのコンポーネント間
の関係の別の表現を図4に示す。これは、被管理オブジ
ェクト・アダプタ・サーバ、管理サービス、および非管
理オブジェクトに対するビーンのm−ビーン・レポジト
リ・サービス・ビーンへの登録(registration)を考慮し
たものである。
【0043】フィルタリング・サービス(filtering ser
vice)29は、m−ビーンを管理処理の主題に選択す
る。選択は、特定の属性の存在および値を基準とする。
例えば、フィルタは、属性カラーが赤にセットされてい
る全てのm−ビーンを選択することができる。
【0044】メタデータ・サービス(metadata service)
25は、m−ビーンの構造に関する情報を与える。例え
ば、フレームワーク24は、メタデータ・サービス25
に問い合わせを行い、m−ビーン内のプロパティを得て
設定するためのメソッドにアクセスする。メタデータ・
サービス25は、イントロスぺクションを実行するJa
vaBeans開発キットによって与えられるリフレク
ションAPIに基づく。
【0045】動的クラス・ローディング・サービス(dyn
amic class loading service)は、新しいクラスをフレ
ームワーク24にロードする。新しいクラスがロードさ
れるのは、リモート・エントリが、フレームワーク24
にロードされていないクラスのインスタンスの作成を要
求するときである。新しいクラスは、リモート・クラス
・サーバからロードすることができる。また、動的ロー
ディング・サービスは、ネットワーク管理システム・エ
ージェントの実行中に、コア管理サービスをこれに追加
することを可能にする。例えば、フィルタリング・サー
ビスがなくとも、エージェントを開始することができ
る。そして後に、フィルタリング・サービスが必要とさ
れるときに、それをエージェントに動的に追加すること
ができる。
【0046】アクセス制御サービス(access control s
ervice)は、m−ビーンへのアクセスを制御するために
提供することができる。m−ビーン上で管理処理を実行
しようとする前に、その処理が有効であることを確認す
るために、アクセス制御サービスに問い合わせするよう
に、フレームワーク24を構成することができる。
【0047】イベント・サービス(event service)は、
m−ビーンからイベント報告を受け取り、それらを受け
取ることを要求した任意のエンティティにそれらを送出
するために提供することができる。
【0048】関係サービス(relationship service)は、
m−ビーン間の関係を、それらが要求されるときに定義
することを可能にするために提供することができる。関
係を前もって定義しておく必要はない。m−ビーン間の
関係に関する情報は、m−ビーン自体には格納されるの
ではなく、関係サービスから得ることができる。
【0049】動的ネーティブ・ライブラリ・ローディン
グ・サービス(dynamic native library loading servic
e)は、ネーティブ・コードをフレームワーク24にロー
ドするために提供することができる。ネーティブ・ライ
ブラリは、ネーティブ・コードを含む新しいクラスをロ
ードするときに、ロードすることができる。ロードされ
るライブラリは、ハードウエア・プラットフォーム、お
よびフレームワークが実行されるオペレーティング・シ
ステムに依存する。ネーティブ・ライブラリは、離れた
エンティティからロードすることができる。
【0050】続いて、被管理オブジェクト・アダプタ・
サーバ30〜38の説明を行う。
【0051】被管理オブジェクト・アダプタ・サーバと
は、通信プロトコルの抽象化を与えるプロトコル・アダ
プタである。それぞれの被管理オブジェクト・アダプタ
・サーバは、特定の通信プロトコルを通じて、m−ビー
ンへのアクセスを与える。被管理オブジェクト・アダプ
タ・サーバは、管理アプリケーションが、ネットワーク
管理システム・エージェント上で管理処理を実行するこ
とを可能にする。
【0052】ネットワーク管理システム・エージェント
を管理可能とするためには、少なくとも1つの被管理オ
ブジェクト・アダプタ・サーバを介してそれを接続す
る。しかし、ネットワーク管理システム・エージェント
は、任意の数の被管理オブジェクト・アダプタ・サーバ
に接続可能であり、異なるプロトコルを用いるリモート
管理アプリケーションがそれに問い合わせを行うことが
できる。
【0053】ネットワーク管理システムは、被管理オブ
ジェクト・アダプタ・サーバを、標準的なプロトコルお
よびプロプライエタリ(proprietary)なプロトコルに与
える。
【0054】例えば、被管理オブジェクト・アダプタ・
サーバを、1又は複数の標準的プロトコル、例えば、H
TML/HTTP、SNMP、およびCORBAのため
に与えることができる。
【0055】標準的なプロトコルのための被管理オブジ
ェクト・アダプタ・サーバは、それらを用いる管理アプ
リケーションと直接通信する。
【0056】例えば、HTML/HTTP被管理オブジ
ェクト・アダプタ・サーバは、ユーザがウエブ・ブラウ
ザを用いて、m−ビーン内に含まれる管理情報を見た
り、ネットワーク管理システム・エージェント上で管理
処理を行うことを可能にする。HTML/HTTP被管
理オブジェクト・アダプタ・サーバは、m−ビーンから
管理情報を得て、この管理情報を表すHTMLページを
生成する。
【0057】SNMP被管理オブジェクト・アダプタ・
サーバは、特定的に定義されたSNMP管理情報ベース
(MIB:management information base)を用い、S
NMPマネージャがネットワーク管理システム・エージ
ェント上で管理処理を行うことを可能にするように構成
することができる。
【0058】また、ネットワーク管理システムは、被管
理オブジェクト・アダプタ・サーバを、1又は複数の次
のプロプラエタリなプロトコル、RMI、Java/H
TTP、およびセキュア・ソケット・レイヤ(SSL:
Secure Sockets Layer)のために与えるように構成する
ことも可能である。ネットワーク管理システムの一例で
は、被管理オブジェクト・アダプタ・クライアントは、
Java APIを提供する。したがって、被管理オブ
ジェクト・アダプタ・クライアントを用いるどの管理ア
プリケーションも、Java言語で書かれることにな
る。
【0059】ネットワーク管理システムを用いて開発さ
れたエージェントは、異なる通信または管理プロトコル
を用いて管理することができる。標準的な管理プロトコ
ルを用いて管理するためには、ネットワーク管理システ
ム・エージェントを、当該プロトコルのための被管理ア
ダプタ・サーバに接続する必要がある。標準的なプロト
コルのための被管理オブジェクト・アダプタ・サービス
は、それを用いる管理アプリケーションと直接通信す
る。
【0060】図4のエージェントの表現を用いて、この
構造の一例を図5に示す。図5では、エージェントに
は、ウエブ・ブラウザ46によってアクセスする。ここ
では、HTMLアダプタによって、ビーンがHTMLペ
ージにマップされることが可能になる。HTMLのよう
なプロトコルを用いることによって、クライアント・ス
テーション90におけるブラウザ46が、リモート・ス
テーション20においてビーンをブラウズし、従来のウ
エブ・ブラウザ機能を用いてそれらにアクセスし、更に
必要であれば修正することができる。図4に示す構造に
よれば、レポジトリ・サービス27はフレームワーク2
4に登録(register)されており、HTMLアダプタ34
およびビーン(複数のビーン)29はレポジトリ・サー
ビスに登録されており、これによってビーン(複数のビ
ーン)は、HTMLアダプタ34がサポートするHTM
Lページに有効に登録される。図5において、同様の参
照番号は、図4に示した構成の同様の構造(feature)に
関連する。
【0061】図6は、リモート・マシンにおいてビーン
のプロパティの修正を可能にするステップを示すフロー
・チャートである。ステップ92において、HTMLア
ダプタ34が、リモート・ステーション20における仮
想マシン22内で起動され、ステップ94において、遠
隔的にアクセス可能であるべきその仮想マシン22のビ
ーン(複数のビーン)29を、フレームワーク、更に特
定すれば、上述のようなレポジトリ・サービス27に登
録する。これは、HTMLアダプタがフレームワーク2
4に問い合わせする場合、フレームワーク24は、レポ
ジトリ・サービスを参照して、アクセスすべきビーン2
9を識別し、HTMLアダプタにそのビーン29にアク
セスさせることができるということを意味する。
【0062】HTMLアダプタ34は、従来のHTTP
交換を用いて、ネットワーク上での通信を可能にする。
これは、HTTPサーバとして振る舞う。要求を受信し
た場合、現在レポジトリ・オブジェクト27に登録され
ているビーン(オブジェクト)29のリストを含むペー
ジを動的に生成する。
【0063】ビーンは、HTMLでは、HTMLテーブ
ルとして表され、その中では、第1コラムがプロパティ
名を含み、第2コラムがプロパティ型を含み、第3コラ
ムがアクセス権(リード/ライト)を含み、第4コラム
がプロパティ値を含む。
【0064】前述のように、プロパティがリード/ライ
トの場合、HTMLフォームが生成される。
【0065】ステップ96では、前述のように、HTT
P交換を用いてHTMLアダプタとの通信を行う従来の
ウエブ・ブラウザを用いてHTMLページにアクセスす
ることにより、ビーンのHTML表現を用いて、クライ
アント・ステーションにおいて(ディスプレイ98によ
って表されている)ビーンを表示する。次に、ステップ
100において、ユーザは、従来のウエブ・ブラウザ機
能を用いて、ビーンを選択することができる。次に、ウ
エブ・ブラウザは、HTTP GET要求をHTMLア
ダプタ34に発行する。HTMLアダプタは、イントロ
スぺクションを用いて、ビーン・プロパティを抽出し、
HTMLポスト応答(HTML post response)をブラウザに
返し、これによって、ステップ102に示すように、ブ
ラウザはプロパティを表示することができ、更に、ビー
ンにサポートされるアクションおよびイベントも表示す
ることができる。従来のブラウザ機能を用いてブラウザ
を更に利用することにより、ユーザは、ビーンの態様に
対する修正、例えば、プロパティに対する変更を選択し
指定することができる。HTML GETおよび/また
はSET要求およびPOST応答を更に交換することに
より、ウエブ・ブラウザおよびHTMLアダプタは、ス
テップ104で、リモート・ステーションにおいてビー
ンの対応するプロパティを修正し、これらの変更をクラ
イアント・ステーションにおいてユーザに表示すること
ができる。
【0066】このように、この機構は、クライアントの
マシンから、リモート・マシンにおけるビーンのような
オブジェクトに、リモート通信ネットワークを通じてア
クセスするコンピュータによる実装方法を提供する。そ
の際、リモート・マシンにおける外部からアクセス可能
なマシン・ページに当該オブジェクトをマップし、ブラ
ウザを用いてそのマシン・ページを介してオブジェクト
をブラウズする。
【0067】図3に示す構造の別の例を図7に示す。こ
こでは、図3の表現を用い、ネットワーク管理システム
・エージェント20が、SNMPマネージャ・アプリケ
ーションによって管理される。図7において、同様の参
照番号は、図3に示した構成の同様の構造に関連する。
【0068】図8に表すネットワーク管理システムの一
例は、アダプタAPIを備え、Java管理アプリケー
ションが、ネットワーク管理システム・エージェントと
通信することを可能にする。アダプタAPIは、特定の
通信プロトコルを通じて被管理オブジェクトにアクセス
するために、被管理オブジェクト・アダプタ・クライア
ントを与える。ネットワーク管理システムは、Java
管理アプリケーションのためにm−ビーンの表現を定義
し、m−ビーンからそのような表現を自動的に生成する
ためのコンパイル・ツールを与える。名称サービスを供
給し、Java管理アプリケーションを、特定の通信プ
ロトコルとは独立させる。
【0069】被管理オブジェクト・アダプタ・クライア
ントとは、Java管理アプリケーションが被管理オブ
ジェクトにアクセスできるようにする、抽象Javaク
ラス(abstract Java class)である。Java管理アプ
リケーションに対する被管理オブジェクトのプログラム
的表現は、被管理オブジェクト・アダプタ・クライアン
トによって決定される。かかる機構は、同一の被管理オ
ブジェクトを異なる表現で、異なるJava管理アプリ
ケーションに提示することを可能にする。ネットワーク
管理システムは、1つ以上の次のプロトコル、RMI、
HTTP、およびSSLを通じて被管理オブジェクトに
アクセスするために、被管理オブジェクト・アダプタ・
クライアントを与える。
【0070】被管理オブジェクト・アダプタ・クライア
ントは、アダプタ管理オブジェクト・インターフェース
(adaptor managed object interface)の定義を与える。
アダプタ管理オブジェクト・インターフェースは、Ja
va管理アプリケーションが、ネットワーク管理システ
ム・エージェント上で、次の管理処理の1つ又は複数を
実行することを可能にする。
【0071】− m−ビーンを検索すること、 − リモートm−ビーンのプロパティを得るまたはセッ
トすること、 − リモートm−ビーンのメソッドをコールすること、 − m−ビーンのインスタンスを作成すること、 − m−ビーンを削除すること、および − リモートm−ビーンによって送出されたイベントを
受信すること。
【0072】被管理オブジェクト・アダプタ・クライア
ントは、Java管理アプリケーションに、リモート・
エージェントにおける被管理オブジェクト上の「ハンド
ル」を与える。これらのハンドルは、Java管理アプ
リケーションが、被管理オブジェクトを直接操作するこ
とを可能にする。Java管理アプリケーションは、被
管理オブジェクトによって用いられるプロトコルに関す
る情報を必要としない。Java管理アプリケーション
が必要とするのは、被管理オブジェクトが表すオブジェ
クトのクラスだけである。例えば、アカウントを処理す
るためのJava管理アプリケーションは、アカウント
を表すための抽象クラスを用いる。アカウントを操作す
るために、Java管理アプリケーションは、被管理オ
ブジェクト・アダプタ・クライアントから、アカウント
被管理オブジェクト(account managed object)を得る。
次に、アカウント被管理オブジェクトを、当該オブジェ
クトを表す抽象クラスに組み込む(cast)。このようにし
て、アプリケーション・コードは、被管理オブジェクト
がどのように実装されるかとは無関係となる。
【0073】図8は、クライアント・ビーン(c−ビー
ン)54とm−ビーン28との間の関係の概略図であ
る。c−ビーン54は、Java管理アプリケーション
に対する、m−ビーンの表現である。本発明の好適実施
例では、c−ビーン54は、m−ビーン28と同様に、
JavaBeansコンポーネントとして実装される。
c−ビーン54は、Java管理アプリケーションがど
のようにしてm−ビーン28にアクセスするのかを定義
する。
【0074】図8に見られるように、c−ビーン54
は、m−ビーンのメソッドの内どれがJava管理アプ
リケーションにアクセス可能かを定義する被管理オブジ
ェクト・インターフェース(MOインターフェース)5
6と、MOインターフェース56において定義されたメ
ソッドを実装する被管理オブジェクト・スタブ(MOス
タブ)58とから成る。
【0075】Java管理アプリケーションは、アダプ
タMOインターフェース60を用いることによって、c
−ビーンへの参照を得る。アダプタMOインターフェー
スは、c−ビーン54をインスタンス化する。c−ビー
ン54の同じインプリメンテーションが、アダプタMO
インターフェース60を実装する任意の被管理オブジェ
クト・アダプタ・クライアント上で実行することができ
る。同じ被管理オブジェクトの異なるインプリメンテー
ションを、異なるJava管理アプリケーションに提示
することができる。このようにして、単一のm−ビーン
を、いくつかのc−ビーン54と関連付けることができ
る。
【0076】Java管理アプリケーションは、それに
関連するc−ビーン54のメソッドをコールすることに
より、m−ビーン上で管理処理を実行する。Java管
理アプリケーションから見ると、c−ビーン54は、リ
モートJavaオブジェクト(m−ビーン28)のロー
カル表現となる。
【0077】アダプタMOインターフェース60は、c
−ビーン54をインスタンス化する。c−ビーンの同じ
インプリメンテーションは、アダプタMOインターフェ
ース60を実装する、任意の被管理オブジェクト・アダ
プタ・クライアント62上で実行することができる。同
じ被管理オブジェクトの異なる表現を、異なるJava
管理アプリケーションに提示することができる。このよ
うにして、単一のm−ビーンをいくつかのc−ビーンと
関連付けることができる。
【0078】Java管理アプリケーションは、それに
関連するc−ビーンのメソッドをコールすることによっ
て、m−ビーン上で管理処理を実行する。Java管理
アプリケーションから見ると、c−ビーンはリモートJ
avaオブジェクト(m−ビーン)のローカル表現とな
る。
【0079】図9は、m−ビーンからのc−ビーン54
の生成を表す概略図である。本発明の一実施例では、c
−ビーンは、リフレクションAPIを用いて、m−ビー
ン28から自動的に生成される。生成されたc−ビーン
は、m−ビーンと同じプロパティ、メソッド、およびイ
ベントを有する(exhibit)。これは、例えば、アクセス
制御ポリシー(access control policy)が執行されない
場合である。
【0080】m−ビーン28からc−ビーン54を自動
的に生成するために、コンパイラ60が、m−ビーン2
8を入力として取り込み、c−ビーン54のMOインタ
ーフェースおよびMOスタブを出力として生成する。例
えば、accountと称するJavaクラスを表すm−ビー
ン28をコンパイルする場合、コンパイラ60は、accm
ountMOと称するMOインターフェース56およびaccoun
tMOSTUB58と称するJavaクラスを生成する。accou
ntMOSTUB58は、accoutMOインターフェース56を実装
する。
【0081】Java管理アプリケーションは、MOイ
ンターフェースの定義を用いて、開発することができ
る。異なるスタブをロードすることによって、adaptorM
Oインターフェースは、実行時に、Java管理アプリ
ケーションのビヘービャを修正することができる。例え
ば、リード・オンリ・スタブをロードする場合、Jav
a管理アプリケーションは、m−ビーン28内のプロパ
ティを修正することはできない。
【0082】コンパイラ60は、リード・オンリ・スタ
ブまたはリード/ライト・スタブを生成することができ
る。生成されたスタブは、adaptorMOインターフェース
を利用する。したがって、それらのビヘービャは、被管
理オブジェクト・アダプタ・クライアントのインプリメ
ンテーションとは無関係に、adaptorMOインターフェー
スを実装する任意の被管理オブジェクト・アダプタ・ク
ライアント上においても同一である。
【0083】図10は、図8に示す構造を用いて、ロー
カル管理(クライアント)ステーションから、リモート
(サーバ)ステーションにおけるビーンにアクセスする
ためのステップを示すブロック図である。
【0084】管理ステーションにおける管理アプリケー
ション(例えば、Java管理アプリケーション)は、
ステップ80において、クライアント・ステーションに
おけるadaptorMOへの獲得要求(get request)を生成す
る。ステップ81において、adaptorMOは、クライアン
ト・ステーションにおけるMOスタブおよびネットワー
ク・アダプタを用いて、適切なネットワーク・プロトコ
ル(例えば、HTTP)にしたがって要求を生成する。
【0085】このようにネットワークを通じて被管理シ
ステムに送られる要求は、例えば、被管理オブジェクト
の管理プロパティのためのGET要求の形態とすること
ができる。
【0086】適切な被管理オブジェクト・アダプタ・サ
ーバ30〜38が、用いられるプロトコルに従って、ス
テップ82において、外部要求を受信する。次に、ステ
ップ83において、フレームワーク24にアクセスし、
適切なメソッドを得る。フレームワークは、ステップ8
3において、当該要求に対する被管理オブジェクト・メ
ソッドを獲得し、ステップ84において、その被管理オ
ブジェクトの管理プロパティをアダプタに返す。一方、
アダプタは、ステップ85において、同じネットワーク
・プロトコル(例えば、HTTP)にしたがって、リタ
ーン・メッセージをその結果と合成する。結果のメッセ
ージは、ステップ86において、クライアント・アダプ
タおよびadaptorMOにおいて受信され、その結果を管理
アプリケーションに返す。
【0087】管理アプリケーションを特定の通信プロト
コルから独立させる名称サービスが提供される。Jav
a管理アプリケーションは、この名称サービスを用い
て、エージェントにアクセスするためにどの被管理オブ
ジェクト・アダプタ・クライアントを用いるべきかを決
定する。図11は、名称サービスの処理を示す概略フロ
ー・チャートである。
【0088】ステップ62において、管理アプリケーシ
ョンは、アクセスすべきエージェントの識別子(identit
y)を主サービスに渡す。
【0089】ステップ64において、名称サーバは、被
管理オブジェクト・アダプタ・クライアントのクラス
名、例えば、Java RMIシステムによるエージェ
ントのアクセスの場合であれば、sunw.jaw.moa.rmiを返
す。
【0090】ステップ66において、Java管理アプ
リケーションは、そのデフォルトのクラス・ローダを用
いて、被管理オブジェクト・アダプタ・クライアントを
動的にロードし、それをインスタンス化する。Java
管理アプリケーションは、次に、通信プロトコルには無
関係に、被管理オブジェクト・アダプタ・クライアント
を通じて、エージェントと相互処理を行う。
【0091】前述のように、管理ビーン即ちm−ビーン
は、ネットワーク管理システム・エージェントにおける
被管理オブジェクトである。被管理オブジェクトは、当
該エージェントによって制御および監視されるリソース
のソフトウエア抽象化(software abstraction)である。
ネットワーク管理システムの例では、全てのm−ビーン
は、JavaBeansコンポーネントとして実装され
る。これらには、Java Beans開発キットのよ
うな、従来のJavaアプリケーション・ビルダを用い
てアクセスすることができる。m−ビーン内では、ネッ
トワーク管理システムによって提供されるサービスのコ
ールおよび使用が可能である。
【0092】JavaBeansコンポーネントは、当
該JavaBeansコンポーネントの外観またはビヘ
ービャに影響を与え得る個別の名称付き属性(named att
ribute)を形成するプロパティを含む。例えば、イーサ
ネット・ドライバを表すm−ビーンは、入来するパケッ
ト数を表すIpacketsと称するプロパティを有することが
できる。プロパティは任意の値を有することができ、ビ
ルトインJavaエンド型およびjava.awt.colorのよう
なクラスまたはインターフェース型の双方を含む。プロ
パティは、常に、それらを所有するオブジェクト上での
メソッド・コールを通じてアクセスされる。読み取り可
能なプロパティでは、プロパティ値を読み取るためのge
tメソッドがある。書込可能なプロパティでは、プロパ
ティ値を更新可能にするsetメソッドがある。
【0093】プロパティを位置付けるために、次のよう
なデフォルトの設計パターンを使用することができる。
【0094】 public PropertyType get PropertyName(); public void set PropertyName (PropertyType値); クラス定義が、セッタ(setter)のパラメータ型に対応す
るゲッタ(getter)のリターン型と一致する1対のget Pr
opertyNameおよびset PropertyNameメソッドを含む場
合、これらのメソッドは、リード/ライト・プロパティ
を定義する。クラス定義がこれらのメソッドの一方のみ
を含む場合、その名称は、PropertyNameと呼ばれるリー
ド・オンリまたはライト・オンリ・プロパティのいずれ
かを定義する。
【0095】ブーリアン・プロパティ(Boolean propert
y)に加えて、次の設計パターンを用いてgetメソッドを
定義することが可能である。
【0096】public boolean isPropertyName() このPropertyNameメソッドは、getPropertyNameメソッ
ドの代わりに提供することもでき、その場合、getPrope
rtyNameメソッドに加えて備えてもよい。
【0097】インデックス・プロパティとは、以下の形
態のメソッドによってアクセスされるアレイPropertyEl
ement[]である。
【0098】public PropertyElement getPropertyName
(int index); public void setPropertyName (int index, PropertyEl
ementb) クラス定義がいずれかの種類のメソッドを含む場合、Pr
opertyNameはインデックス・プロパティとなる。これら
のメソッドは、プロパティ値を読み取るためおよび書き
込むために用いることができる。これらのメソッドは、
単純なプロパティのために定義されるメソッドに加えて
定義することができる。したがって、インデックス・プ
ロパティは、4つのアクセサ・メソッド(accessor meth
od)によって表すことができる。
【0099】デフォルトでは、次の設計パターンを用い
て、どのイベントをm−ビームがマルチキャスト(multi
cast)することができるのかについて判定を行なう。
【0100】public void addEventListenerType(Event
ListenerType a); public removeEventListenerType(EventListenerType
a); これらのメソッドは双方共、EventListenerType 型のア
ーギュメントを取り、EventlistenerType型はjava.uti
l.EventListenerインターフェースに継承し、最初のメ
ソッドはaddから開始し、2番目のメソッドはremoveか
ら開始し、EventListenerType型名は、Listenerで終わ
る。
【0101】この設計パターンは、Javaビーンが、
EventListenerType インターフェースにおいて指定され
たイベントに対して、マルチキャスト・イベント・ソー
スとして動作することを想定している。
【0102】JavaBeansモデルに従うために、
JavaBeansコンポーネントの全てのパブリック
・メソッドは、コンポーネントによるアクセスのために
コンポーネント環境内では外部メソッドとして露出させ
なければならない。デフォルトでは、これはプロパティ
・アクセサ・メソッドを、そして最終的にリスナ・レジ
ストリ・メソッド(listener registry method)を含む。
【0103】設計パターン・エレメントのためのJav
aBeansコンポーネント・モデルに加えて、ネット
ワーク管理システムは、アクションを、遠方からコール
する意味のあるm−ビーンのパブリック・メソッドとし
て定義することができる。アクションは、他のローカル
m−ビーンに対して露出されるm−ビーンのパブリック
・メソッドの、遠方からコールすることができるパブリ
ック・メソッドからの差別化を容易にする。アクション
のための設計パターンは次の通りである。
【0104】 public AnyJavaType performAnAction (AnySignature); m−ビーンは、ネーティブなライブラリを含むことがで
きる。これは、m−ビーンの言語(例えば、Java)
で書かれていないライブラリである。ネットワーク管理
システムは、m−ビーンと同じリモート・クラス・サー
バからネーティブなライブラリをロードする機構を提供
することができる。m−ビーンがこの機構を使用するこ
とを可能とするために、フレームワーク・クラスの静的
なloadLibraryメソッドをコールすることができ、その
際、コール元が、当該コール元のJavaクラスへの参
照を含む。かかる情報は、フレームワーク24が、クラ
スをロードするために用いるクラス・ローダを識別する
ために用いられる。
【0105】上述のコア管理サービスは、全てのエージ
ェントに共通である多くの管理処理のためのものであ
り、これによってエージェントの開発を簡略化する。こ
れらのコア・サービスを提供することにより、ネットワ
ーク管理システムは、特定のアプリケーションに特有の
エージェントの部品、即ち、m−ビーンおよびそれらを
制御し管理するアプリケーションの開発に、努力を集中
させることができる。
【0106】図12は、ネットワーク管理システム・エ
ージェント20の初期化を示す概略フロー・チャートで
ある。この初期化プロセスは、以下のステップを含む。
【0107】− ステップ70において、フレームワー
ク24のインスタンスを作成する。
【0108】− ステップ72において、m−ビーン・
レポジトリ・サービス27を追加する。
【0109】− ステップ74において、メタデータ・
サービス29を追加する。
【0110】− ステップ76において、少なくとも1
つの被管理オブジェクト・アダプタ・サーバ(30〜3
8)を追加し、管理アプリケーションがエージェントに
アクセスできるようにする。
【0111】ネットワーク管理システム・エージェント
20がいったん初期化されると、エージェントを開始す
る前に、それ以上の管理サービスを追加する必要はな
い。これらは、エージェントの実行中に、動的にそれに
追加することができる。
【0112】フレームワーク24は、ネットワーク管理
システムを用いて開発したエージェント20の管理サー
ビスおよびm−ビーンを制御する。この好適実施例で
は、これは、Javaクラスjava.jaw.agent.cmf.Frame
workによって実装される。エージェントは、フレームワ
ークのインスタンスを1つ含まなければならない。即
ち、好適実施例では、java.jaw.agent.cmf.Frameworkク
ラスの1つのインスタンスを含まなければならない。
【0113】この好適実施例では、m−ビーンは、エー
ジェント20のm−ビーン・レポジトリ27にオブジェ
クト名を登録した場合にのみ管理することができる。し
たがって、エージェント20が動作状態となる前に、ス
テップ72においてm−ビーン・レポジトリ・サービス
27を追加する。m−ビーン・レポジトリ・サービス2
7は、m−ビーンとそのオブジェクト名との間の関連(a
ssociation)を格納し検索するために用いられる。この
好適実施例のm−ビーン・レポジトリ・サービスは、J
avaインターフェースjava.jaw.agent.services.MoRe
pSrvIfとして定義される。エージェントは、常に一度に
1つのm−ビーン・レポジトリ・サービスとのみ関連付
けることができる。しかし、エージェントが動作状態に
ある間には、当該エージェントが関連付けられているm
−ビーン・レポジトリ・サービスを変更することは可能
である。
【0114】m−ビーン・レポジトリは、揮発性記憶装
置または永続的記憶装置として実現することができる。
揮発性レポジトリでは、m−ビーンに関する全ての情報
をメモリに格納する。揮発性レポジトリ内の全ての情報
は、エージェントを停止したときに失われる。したがっ
て、揮発性レポジトリを用いてエージェントを開始する
場合には、情報をレポジトリに再ロードしなければなら
ない。永続的レポジトリでは、m−ビーンに関する情報
の全てはデータベースに格納され、それによって、エー
ジェントを停止した場合でも、永続的レポジトリ内の情
報は失われない。また、混合レポジトリを実施すること
によって、m−ビーンに関する情報をメモリまたはデー
タベースに格納することも可能である。
【0115】先に引用したメタデータ・サービスを用い
て、m−ビーンがによってサポートされるプロパティお
よびアクションを得る。メタデータ・サービスの好適な
実施形態は、イントロスペクションを実行する公知のJ
ava開発キットによって与えられるリフレクションA
PIに基づく。
【0116】前述のように、少なくとも1つの被管理オ
ブジェクト・アダプタ・サービスが、ネットワーク管理
システム・エージェントとして、サーバの仮想マシンに
おいて実行していなければならない。ネットワーク管理
システムは、特定のインターフェース定義またはインプ
リメンテーションに従うために、被管理オブジェクト・
アダプタ・サーバを必要としない。被管理オブジェクト
・アダプタ・サーバは、フレームワーク24にアクセス
して、エージェント内に含まれる情報を検索し変更する
ように構成されている。与えられる被管理オブジェクト
・アダプタ・サーバは、m−ビーンとして実装される。
被管理オブジェクト・アダプタ・サーバの例について
は、先に述べた。本発明のこの好適実施例では、被管理
オブジェクト・アダプタ・サーバは、適切なJavaク
ラスとして実装される。
【0117】例えば、RMI被管理オブジェクト・アダ
プタ・サーバは、Javaクラスsunw.jaw.agent.adapt
or.rmi.AdaptorServerImplとして実装することができ
る。これは、Java管理アプリケーションが、Jav
aリモート・メソッド呼び出し(RMI:remote metho
d invocation)システムを用いてエージェントにアクセ
スすることを可能にする。上述のように、Java管理
アプリケーションは、Javaクラスsunw.jaw.agent.a
daptor.rmi.AdaptorClientとして実装された被管理オブ
ジェクト・アダプタ・クライアントを通じて、このサー
バにアクセスする。
【0118】前述のようにエージェントがいったん初期
化されると、そのエージェントの実行中に、エージェン
トにコア管理サーバを追加することができる。次の方法
のいずれかで、コア・サービスをエージェントに追加す
ることができる。
【0119】− フレームワーク・クラス内のサービス
に対して直接setメソッドをコールする。
【0120】− m−ビーンに対する方法と同じ方法
で、m−ビーン・レポジトリにサービスを追加する。
【0121】コア管理サービスを直接追加すると、コア
管理サービスをm−ビーン・レポジトリに追加する場合
よりも、動作(performance)の高速化が図れる。その理
由は、フレームワークが、サービスを得るためにm−ビ
ーン・レポジトリに問い合わせする必要がないからであ
る。しかし、直接追加されたコア管理サービスには、次
のようないくつかの制約が適用される場合がある。
【0122】− サービスは、リモート・アプリケーシ
ョンには可視的でない。
【0123】− サービスに関する情報を、永続的記憶
装置に格納することは不可能である。
【0124】したがって、コア管理サービスがリモート
・アプリケーションから可視的であるのが望ましい場合
には、サービスをm−ビーン・レポジトリに追加する必
要がある。コア管理サービスに関する情報を永続的記憶
装置に格納することが望まれる場合も、サービスをm−
ビーン・レポジトリに追加する必要がある。サービスが
追加されるm−ビーン・レポジトリは、永続的格納をサ
ポートしていなければならない。
【0125】クラス・サービス名は、エージェントのた
めに実装されているサービスをフレームワーク24が識
別する名称を含む。フレームワーク24は、以下のよう
にして、必要なサービスを検索する。
【0126】1.フレームワーク24は、サービスが直
接setメソッドを用いて定義されたのか否かについてチ
ェックを行なう。サービスがこのように定義された場
合、フレームワーク24はこのサービスを用いる。
【0127】2.サービスが、直接setメソッドを用い
て定義されたのではない場合、フレームワークは、m−
ビーン・レポジトリに問い合わせを行い、当該サービス
を実装するクラスのインスタンスである全てのm−ビー
ンを得る。例えば、メタデータ・サービスでは、フレー
ムワーク24は、m−ビーン・レポジトリに問い合わせ
を行い、ServiceName.METAと称するクラスのインスタン
ス全てを得る。
【0128】− レポジトリが、そのクラスのインスタ
ンスをいくつか含む場合、フレームワーク24は、m−
ビーン・レポジトリによって返された最初のインスタン
スを用いる。
【0129】− m−ビーン・レポジトリがそのクラス
のインスタンスを全く含まない場合、フレームワーク
は、ServiceNotFound例外(Exception)を投げる。
【0130】ネットワーク管理サービス・エージェント
内では、種々の処理を行なうことができる。例えば、あ
るエージェント内のオブジェクトは、コア管理サービス
を用いて、 − m−ビーンをインスタンス化する、 − m−ビーンをm−ビーンに登録する、 − m−ビーン・レポジトリからm−ビーンを検索す
る、 − m−ビーン内のプロパティの値を獲得し、セットす
る、そして、 − m−ビーン間の関係を定義する。
【0131】オブジェクト名は、m−ビーンを一意的に
識別する。管理アプリケーションは、オブジェクト名を
用いて、管理処理を実行するm−ビーンを識別する。い
ずれの命名方式を使用することも可能である。例えば、
本発明の好適実施例では、Microsoft Corporation(マ
イクロソフト社)がハイパー・メディア管理方式(HM
MS:Hyper Media Management Scheme)のために定義し
た命名方式を用いることができる。
【0132】m−ビーンをインスタンス化するために、
フレームワーク・クラスの以下のメソッドの1つをコー
ルすることができる。
【0133】m−ビーンを格納するためのユーザのデフ
ォルト格納機構に対するnewObject、m−ビーンが永続
的であることを指定するnewDBObject。
【0134】これらのメソッドのいずれかを用いる場合
には、次のものを提供することが必要である。
【0135】− インスタンス化するm−ビーンのJa
vaクラス、および − m−ビーンを登録するために用いられるオブジェク
ト名。
【0136】デフォルトでは、フレームワーク24は、
デフォルト・クラス・ローダを用いて、作成すべきm−
ビーンのJavaクラスを配置する。次に、そのクラス
のインスタンスを作成する。いったんm−ビーンをイン
スタンス化すれば、それを初期化し、登録して、フレー
ムワーク24にアクセス可能となるようにする。
【0137】− m−ビーン自体に定義されているメソ
ッド、または − フレームワーク24、を用いることによって、m−
ビーンの初期化および登録を行なうことができる。
【0138】m−ビーン自体に定義されているメソッド
を用いてm−ビーンのレジスタを初期化するためには、
当該m−ビーンのJavaクラス定義は、以下のものを
含まなければならない。
【0139】− 初期化メソッド、 − m−ビーン自体をm−ビーン・レポジトリに登録す
るために必要なコード。
【0140】いったんm−ビーンがインスタンス化され
たならば、フレームワーク24はメタデータ・サービス
27を用いて、新たに作成されたm−ビーン内において
初期化メソッドを見つけ出す。かかるメソッドがm−ビ
ーン内に存在する場合、フレームワーク24は、 − 第1のパラメータとして、それ自体に対する参照、 − 第2のパラメータとして、m−ビーンの登録に用い
るためのオブジェクト名、を与えて、メソッドをコール
する。
【0141】したがって、m−ビーンは、与えられたコ
ードを用いて、それ自体をm−ビーン・レポジトリに登
録することができる。
【0142】m−ビーンに初期化メソッドが与えられて
いない場合、フレームワークは、この目的のために与え
られた機能を用いて、そのm−ビーンを初期化し、登録
する。
【0143】JavaBeansコンポーネントをm−
ビーン・レポジトリ25に登録することによって、その
コンポーネントをエージェント20によって管理するこ
とが可能となる。JavaBeansコンポーネントを
登録する際、当該JavaBeansコンポーネント自
体におけるコードの変更を必要としない。代わりに、必
要なのは、m−ビーン・レポジトリ内にそれを登録する
ためのコードの追加だけである。したがって、あらゆる
既存のJavaBeansコンポーネントを、m−ビー
ン・レポジトリ内に登録することができる。いったん登
録されたならば、エージェント20は、あらゆるm−ビ
ーンと同様に、JavaBeansコンポーネントを管
理する。m−ビーンを登録する際、これにはオブジェク
ト名が割り当てられる。オブジェクト名は、明示的に特
定することができる。オブジェクト名が明示的に特定さ
れていない場合には、フレームワーク24は、デフォル
トの名称を当該m−ビーンに割り当てる。
【0144】ネットワーク管理システムは、m−ビーン
・レポジトリからm−ビーンを検索するためのサービス
を与える。これらのサービスは、 − オブジェクト名に対するパターン照合(matchin
g)、または − それらが含むJavaプロパティに関するクエリ
(フィルタ)を用いて、m−ビーンの検索を可能とす
る。
【0145】m−ビーンのオブジェクト名のパターン照
合を用いることによって、 − そのオブジェクト名全体を用いる特定のm−ビー
ン、 − 当該オブジェクト名で表されるのと同じ論理クラス
を共有する1組のm−ビーン、 − 同じドメイン名を共有する1組のm−ビーン、また
は − エージェントに含まれる全てのm−ビーン、を検索
することができる。
【0146】クエリ(queries)を用いると、Java
プロパティおよびm−ビーン内におけるそれらの値にし
たがって、m−ビーンの検索が可能となる。m−ビーン
・レポジトリは、プロパティを評価することが可能な場
合、それを行なう。さもなければ、フレームワーク自体
がクエリを評価する。レポジトリがクエリにアクセス可
能か否かについて判定を行なうために、フレームワーク
は、この目的のために、クエリ・メソッドを生成する。
【0147】ネットワーク管理システムは、m−ビーン
のプロパティを得るためおよびセットするためにサービ
スを与える。エージェントがメタデータ・サービスを与
える場合、m−ビーンのgetメソッドまたはsetメソッド
に対するコールにおいて供給する必要があるのは、以下
のもので全てである。
【0148】− 検索するまたはセットすべきプロパテ
ィの名称、 − 当該プロパティを含むm−ビーンのオブジェクト
名。
【0149】エージェントがメタデータ・サービスを与
えない場合、m−ビーンのgetメソッドまたはsetメソッ
ドの直接コールすることが依然として可能である。この
場合も、コールするメソッドの名称および署名(signatu
re)を、コール元に供給する必要がある。
【0150】関係サービスは、m−ビーンが要求された
ときに、それらの間の関係を定義することを可能にす
る。関係は、前もって定義しておく必要はない。m−ビ
ーン間の関係に関する情報は、m−ビーン自体に格納す
るのではなく、関係に格納する。関係は、m−ビーン・
レポジトリに格納する必要がある。関係は、 − 1組の役割(role)、(例えば、所有関係では、人が
本を所有し、本は人に所有される) − 関係において、要求された役割の数に対応する度合
い(degree)、によって定義される。
【0151】ある関係に関与するm−ビーンは、それら
のオブジェクト名によって、関係内において参照され
る。起動時、またはエージェントの実行中に、特定のク
ラス・ローダをエージェントに追加することができる。
m−ビーン・レポジトリに登録されているのであれば、
同一エージェント内にいくつかのクラス・ローダを有す
ることが可能である。新たなオブジェクトの作成が要求
された場合、オブジェクトをロードするために用いられ
るクラス・ローダを指定することができる。この場合、
クラス・ローダは、そのオブジェクト名によって識別さ
れる。システムは、ネットワーク・クラス・ローダのい
くつかのインプリメンテーションを与え、各インプリメ
ンテーションは、異なるプロトコルを用い、異なるクラ
ス・サーバを必要とする。
【0152】このシステムは、異なる通信プロトコルを
通じてイベントのフィルタリング、ロギング(loggin
g)、および送出(forwarding)を行なうために、イベント
・ハンドリング・サービスを与える。イベントを放出す
るために、センド・イベント・メソッド(send event me
thod)をコールする。このメソッドがコールされると、
フレームワーク24は、イベント・ハンドリング・サー
ビスに対応する全てのm−ビーンを検索し、検索された
各イベント・ハンドラのイベント・ハンドリング・メソ
ッドをコールする。このメソッドは、イベントを扱う役
割を担う。
【0153】図9は、m−ビーン28からのc−ビーン
54のコンパイルを表す概略図である。コンパイラ60
は、c−ビーンを生成するための1つの変換方式を実装
する。しかしながら、要件に応じて、異なる変換方式を
実装することも可能である。
【0154】図13は、Aと称する単一のm−ビーンを
コンパイルするコンパイラ60の出力の一例を示す。図
14は、コンパイルされたm−ビーンが、特定のイベン
トAnEventに対するaListenerを含む場合の、コンパイラ
60の出力を示す。
【0155】したがって、m−ビーンがリスナ(listene
r)を含む場合、コンパイラ60は、 − MOインターフェース内に含まれるリスナに対する
Javaインターフェース、 − m−ビーン・イベントを捕獲し、それらをフレーム
ワーク24に送出するためのm−ビーン・リスナのイン
プリメンテーションであるリスナ・スタブ、および − EventMOと呼ばれる、リスナに関連するイベントの
Java管理アプリケーションのビュー(view)、を生成
する。
【0156】コンパイラ60は、適用可能な設計パラメ
ータを用いて、m−ビーンを解析(パーシング)する。
パーシングの後、コンパイラ60は、多数の規則を用い
てc−ビーンを生成する。
【0157】m−ビーンの各プロパティは、同じアクセ
サ・メソッドを有するc−ビーン内に存在する。したが
って、あるプロパティがm−ビーンにおいてリード・オ
ンリである場合、そのプロパティはc−ビーンにおいて
もリード・オンリである。
【0158】図15のAは、図15のBに示すコード例
によって定義されたm−ビーンをコンパイルした場合に
生成される単純なc−ビーンの図である。加えて、コン
パイラ60は、単純なMOインターフェースのインプリ
メンテーションを含むファイルを生成する。
【0159】プロパティ・アクセサに加えて、コンパイ
ラ60は、リモート・アクセスを与えることが意味のあ
るパブリック・メソッドに対してのみ、コードを生成す
る。他のパブリック・メソッドは、コンパイラ60によ
って生成されるc−ビーンには現れない。
【0160】図16のAは、図16のBにおけるように
定義されたm−ビーンにおいてアクション・メソッドを
コンパイルした場合にコンパイラ60が生成する、MO
インターフェースのc−ビーンにおけるアクション・メ
ソッドのサブセットを示す。
【0161】m−ビーンが、Aと称するリスナを含む場
合、コンパイラ60は、c−ビーン内にAIfMOと称する
リスナを含む。
【0162】c−ビーンを用いる場合、アプリケーショ
ンは、Aifmoインターフェースを実装し、c−ビーン内
のリスナを追加または除去しなければならない。通常、
リスナは、所定数のメソッドを含むインターフェースで
ある。各メソッドは、1つの入力パラメータを有する。
入力パラメータは、関係するイベント・オブジェクトに
継承する。
【0163】一例では、リスナA内に定義された各メソ
ッドは、この例の目的のために、AnEventと呼ばれるイ
ベント・オブジェクトを参照する。したがって、Aifmo
インターフェースにおいては、このイベント・オブジェ
クトはAnEventMOと呼ばれる。このように、リスナAに
対して、コンパイラ60は、 − Aifmo.java、 − AneventMO.java、というファイルを生成する。
【0164】加えて、コンパイラ60は、Astub.javaと
称するリスナAのインプリメンテーションを生成する。
【0165】コンパイラ60によって生成されたコード
は、JavaBeansコンポーネント・モデルによっ
て設計された設計パラメータを用いてコンパイルする。
このため、コンパイラ60によって生成されたオブジェ
クトはこのモデルに従う開発環境に統合することができ
る。加えて、コンパイラ60は、JavaBeansコ
ンポーネント・モデルによって定義された設計パターン
に従わない、いくつかのパブリック・メソッドを追加す
る。追加されたメソッドは、m−ビーンとc−ビーンと
の間のネットワーク・トラフィックを制限するように設
計される。例えば、c−ビーン上である関数をコールす
ることにより、対応するm−ビーンの全てのプロパティ
を読み出すことができる。
【0166】コンパイラ60は、Javaソース・コー
ドを生成する。生成したコードを編集し、それを修正し
て、m−ビーンの特定のビューを定義することができ
る。インターフェースおよびスタブの双方を修正する代
わりに、インターフェースを保持し、スタブのみを修正
する方がよい。コンパイラ60によって生成されたコー
ドは、インターフェースを用いてアプリケーションを構
築することを可能にする。一度に、adaptorMOによって
どのスタブがロードされたかに応じて、ビヘービャは変
化する。例えば、コンパイラは、同じインターフェース
に、リード・オンリ・スタブまたはリード−ライト・ス
タブを生成することができる。したがって、m−ビーン
・ブラウザは、インターフェースに基づいて開発するこ
とができる。前述のように、ブラウザは、これによっ
て、リード・オンリ・スタブまたはリード−ライト・ス
タブのどちらがロードされたかに応じて、異なるビヘー
ビャを有することになる。
【0167】adaptorMOインターフェースは、エージェ
ント20を管理するために定義されたJavaインター
フェースである。ネットワーク管理システムは、前述の
ように、異なる通信プロトコルに基づいて、adaptorMO
インターフェースのいくつかのインプリメンテーション
を与える。しかしながら、adaptorMOインターフェース
は、プロトコルには独立している。したがって、インタ
ーフェースを用いて書かれたコードのいずれの部分で
も、ネットワーク管理システムによって与えられたイン
プリメンテーションのいずれにおいても実行することが
できる。
【0168】adaptorMOインターフェース内には、2つ
の異なるレベルがある。リモート・オブジェクト(m−
ビーン)をそれらの名称を用いて操作する低レベル、お
よびリモート・オブジェクト(m−ビーン)を当該リモ
ート・オブジェクトのローカル・ビュー(c−ビーン)
を用いて操作する高レベルである。高レベルは、低レベ
ル・インターフェースの上に構築する。
【0169】低レベル・インターフェースを用いること
は、汎用的なアプリケーション(HTMLオブジェクト
・ビューアまたはMIBブラウザのような)を構築する
ためには実用的である。高レベルのインターフェースを
用いることは、それより低いレベルのインターフェース
を用いるよりも、かなり容易である。しかしながら、ア
プリケーションが操作するc−ビーンのセマンティック
(semantic)を、当該アプリケーションが知っていること
を前提とする。加えて、アプリケーション(またはadap
torMOインターフェース)が、MOおよびMOスタブに
対するアクセスを有することを要求する。アダプタを初
期化する第1ステップは、adaptorMOインターフェース
のインプリメンテーションを初期化することから成る。
【0170】アダプタを初期化するために、クライアン
ト・アプリケーションは、adaptorMOインターフェース
内に定義されている、"connect"メソッドを呼び出す。
エージェントのホスト名、使用するポート番号、および
通常基本的な通信機構に依存する論理名に関連するパラ
メータを与える。使用するアダプタのインプリメンテー
ション名を与えるのと同時に、名称サーバまたはディレ
クトリ・サービスから、情報の異なる部分を得ることが
できる。adaptorMOインターフェースが用いる、基本的
な通信機構に応じて、"connect"へのコールは、クライ
アントとエージェントとの間でメッセージ交換を全く伴
わない場合もある。
【0171】アダプタは、 − 特定のm−ビーン(そのオブジェクト名によって判
明する)を表すために用いる、Javaクラス名を得る
ための名称サーバ、 − c−ビーンをロードするためのクラス・ローダ、を
利用する。
【0172】クライアント・アプリケーションが実行中
のマシン上に存在する場合、c−ビーンに対するJav
aクラス全てが特定のクラス・ローダを使用する必要は
ない。代わりに、ネットワークを通じてクラスを得るた
めのネットワーク・クラス・ローダを用いることができ
る。
【0173】ネットワーク・クラス・ローダを用いるた
めに、クライアント・アプリケーションは、ネットワー
ク・クラス・ローダをインスタンス化する必要がある。
オブジェクトをインスタンス化する場合、アプリケーシ
ョンはオブジェクト名を与える。オブジェクト名は、い
ずれかのドメインおよびいずれかのクラス名を含むこと
ができる。
【0174】しかしながら、オブジェクト名は、以下の
キー・プロパティを含まなければならない。
【0175】− ホスト(クラス・サーバが実行中のホ
ストの名称)、 − ポート(使用するポート番号)、 − サービス(呼び出すべきRMIサービスの名称)。
【0176】アダプタがいったん初期化されると、アプ
リケーションは、リモート・エージェント上で管理処理
を実行する準備ができたことになる。アプリケーション
は、エージェントによって管理されているm−ビーンの
サブセットまたは全てを検索することができる。オブジ
ェクトを検索する場合、アプリケーションはクエリを指
定することができる。検索の結果は、次の2つの異なる
方式で得ることができる。
【0177】− オブジェクト名(ベクトルによって表
される)のリスト、 − c−ビーン(検索された各オブジェクト名毎に、ア
ダプタはc−ビーンをインスタンス化する)のリスト。
【0178】リモートm−ビーンのプロパティを読み取
るために、低レベルadaptorMOインターフェース・レベ
ルを用いる場合、プロパティ名が必要となる。高レベル
・インターフェースを用いる場合、c−ビーンを検索
し、次いでプロパティに関連するゲッタを呼び出す。
【0179】リモートm−ビーンのプロパティ、プロパ
ティ名、およびプロパティ・オブジェクト型をセットす
ることは、低レベルadaptorMOインターフェース・レベ
ルを用いる場合に必要とされる。ある値をセットする場
合、オペレータ・クラスの名称を指定することができ
る。エージェント側では、指定されたオペレータがイン
スタンス化され、プロパティ値をセットするために呼び
出される。低レベルadaptorMOインターフェース・レベ
ルを用いる場合、変更のリストを用い、1つのメソッド
・コールによって、いくつかのプロパティをセットする
ことができる。
【0180】高レベルadaptorMOインターフェース・レ
ベルを用いる場合、c−ビーンが得られ、次いでデベロ
ッパは、プロパティに関連する前述の1組を呼び出す。
【0181】adaptorMOインターフェースによって、リ
モート・エージェント内においてm−ビーンのインスタ
ンス化を要求することが可能となる。インスタンス化を
要求する場合、新しいクラス・ローダを指定することが
でき、これを通じて、エージェントはインスタンス化す
る新しいクラスをロードすることになる。クラス・ロー
ダは、そのオブジェクト名を用いて指定することができ
る。クラス・ローダを指定しない場合、エージェントは
デフォルトのクラス・ローダを用いる。ローカルm−ビ
ーンをインスタンス化する場合、新しく作成したm−ビ
ーンを表すために、c−ビーンを直接得ることができ
る。名称が与えられず、名称サーバが指定された場合、
アダプタは、エージェント側でインスタンス化するJa
vaクラスの名称を得るために、名称サーバに問い合わ
せを行なう。その他の場合、インスタンス化するクラス
のクラス名を判定するのは、エージェントの役割であ
る。エージェントにおいてm−ビーンをインスタンス化
する場合、オブジェクトが永続的であることを明示的に
要求することができる。
【0182】adaptorMOインターフェースによって、J
avaオブジェクトをクライアントからエージェントに
転送することが可能となる。これを行なうために、adap
torMOインターフェースは、オブジェクトをシリアル化
し、当該オブジェクトを送り、エージェントにおいてこ
のオブジェクトをデシリアル化(deserialise)する。
【0183】更に、adaptorMOインターフェースによっ
て、リモート・エージェントからm−オブジェクトを除
去することも可能となる。m−ビーンは仮想マシンから
除去されるのではなく、エージェントのオブジェクト・
レポジトリからだけ除去される。
【0184】図17は、上述の管理システムを作成し動
作させるステップの概要を示すフロー・チャートであ
り、ビーンに基づく環境を用いて少なくとも1つの管理
ビーンを含むネットワーク管理モデルを定義するステッ
プと、前記モデルをコンパイルして前記コンピュータ・
ネットワーク管理システムを前記ビーンに基づく環境に
おいて実装するステップとを含む。
【0185】ステップ110において、ビーンに基づく
環境を用いてモデルを作成する。好適なビーンに基づく
環境は、ビーンをJavaBeansとしたJava環
境である。
【0186】前述のように、ビーンは、1組のプロパテ
ィ、アクションを実行する1組のメソッド、ならびにイ
ベントおよびイントロスペクションに対するサポートを
与える。従来より、プロパティは、ビーンをプログラム
的に操作すること、およびビーンのカスタム化に対応す
ることを可能にし、メソッドはプロパティを実装し、イ
ベントに対するサポートは、ビーンがイベントを発火さ
せ、発火させることができるイベントを定義することを
可能にする。イントロスペクションに対するサポート
は、ビーンのプロパティ、イベント、およびメソッド
を、外部から検査することを可能にする。
【0187】したがって、ステップ110は、被管理リ
ソースのプロパティをモデル化するための少なくとも1
つのプロパティ、および/または前記被管理リソースの
ためのアクションをモデル化するためのメソッドおよび
/または前記リソースのイベントをモデル化するための
少なくとも1つのイベントに対するサポート、および/
または前記ビーンの組成の外部分析を可能にするイント
ロスペクションに対するサポートをを与える、少なくと
も1つの前記管理ビーンを生成することを含む。また、
このステップは、被管理リソース間の関係および相互作
用を表すものとして、管理ビーン間の関係および相互作
用を定義することも含む。更に、このステップは、少な
くとも1つの管理ビーンに関して、少なくとも1つのリ
スナ・イベントを定義することを含む。
【0188】このネットワーク管理システムに関して、
ビーンは従来の役割を超えて使用し、管理すべきリソー
スを直接モデル化するための管理ビヒクル(管理ビー
ン)を与えることができることが、初めて認識された。
例えば、被管理リソースのプロパティ(例えば、メモリ
のサイズ、バッファに受信されているメッセージの数等
のリソースの属性)をモデル化するために、管理ビーン
内のあるプロパティを用いることができる。被管理リソ
ースのアクション(例えば、システム休止)をモデル化
するために、管理ビーンのメソッドを用いることができ
る。また、ビーンは、被管理リソースのためのイベント
(例えば、ディスク・フル・イベント)に対するサポー
トを与えるために用いることも可能である。例えば、管
理ビーンがリスナ・イベントに対するサポートを与える
ことができ、これによって、1つの管理ビーンが別の管
理ビーン上のイベントに応答することが可能となる。イ
ントロスペクションに対するサポートによって、管理ビ
ーンは、ビーンの組成の外部的な分析、およびビーン間
の情報の交換が可能となる。管理ビーンは、被管理リソ
ース間の関係および相互作用を表すものとして、管理ビ
ーン間の関係および相互作用の定義を含むことができ
る。
【0189】ビーンは再利用可能なソフトウエア・コン
ポーネントであり、ビルダ・ツール(例えば、エディタ
またはグラフィカル・ユーザ・インターフェース・ビル
ダ(GUIビルダ))において視覚的に操作することが
できるので、ステップ110において、ユーザは、Ja
vaBeans開発キットのような従来のビルダ・ツー
ルを用いて、システム・リソース、それらの関数および
システム・リソース間の関係および相互作用を定義する
ビーンを含む、管理システム・モデルを生成することが
できる。ビーン・モデルは、例えば、Java仮想マシ
ン内においてJavaBeansを用いて、ビーンに基
づく環境を形成する仮想マシン内で定義される。これに
よって、管理システム・モデルの生成が格段に容易に行
なえるようになる。モデルの確認およびデバッギング
は、イントロスペクションおよびその他の技法を用い
て、容易に行なうことができる。
【0190】ステップ112において、一旦モデルが生
成されたなら、例えば、図9に示したコンパイラ60の
ような、ビーンに基づく環境のための従来のコンパイラ
を用いて、モデルを直接コンパイルすることができる。
ビーンに基づく環境においてモデルを定義することによ
り、ビーンに基づくモデルを直接コンパイルし、例え
ば、Javaコンパイラを用いてJavaBeansを
コンパイルすることによって、ビーンに基づく環境のた
めの標準的なコンパイラを用いて、ビーンに基づくイン
プリメンテーションを形成することが可能となる。した
がって、結果的に得られるビーン管理システムも、同じ
Java環境内において定義される。これによって、コ
ンパイラが、モデルの信頼性高く類似したインプリメン
テーションを強制するので、この管理システムの生成段
階が大幅に簡略化される。
【0191】したがって、実行時において、ステップ1
14では、本明細書の冒頭に記載した管理システムは、
従来のネットワーク管理システムの難問や欠点がなく、
ロバスト性が高く容易に修正可能な構造を与える。
【0192】ステップ114は、1つ以上の管理ビーン
を、拡張可能なエージェント・フレームワークに登録
し、ネットワーク通信プロトコルのための1つ以上のネ
ットワーク・アダプタ(例えば、ネットワーク・アダプ
タ・ビーン(複数のビーン))を拡張可能なエージェン
ト・フレームワークに登録し、ネットワーク・アダプタ
(複数のアダプタ)を通じた管理ビーン(複数のビー
ン)に対する、ネットワークを通じた外部アクセスを可
能にする、図12に関連して説明したステップを含む。
【0193】図12に関して説明したように、拡張可能
なエージェント・フレームワークは、関連するレポジト
リ・ビーンを含み、1つ以上の管理ビーンおよび/また
はネットワーク・アダプタを登録するステップは、1つ
以上の管理ビーンおよび/またはネットワーク・アダプ
タをレポジトリ・ビーンに登録するステップから成るも
のとすることができる。
【0194】以上、特に図8ないし図10を参照して、
クライアント・マシンまたはステーションから、通信ネ
ットワークを通じて、リモート・マシンまたはステーシ
ョンにおける目標オブジェクトにアクセスする方法およ
び機構について説明した。
【0195】特定して説明した例では、目標オブジェク
トをコンパイルし、前記目標オブジェクトのどのメソッ
ドが遠隔的にアクセス可能であるかを識別する目標オブ
ジェクト・インターフェースと、遠隔的にアクセス可能
なメソッドを実装する目標オブジェクト・スタブとから
成るクライアント・オブジェクトを生成することによっ
て、目標オブジェクトの表現を形成するクライアント・
オブジェクトを生成する。目標オブジェクト・スタブ
は、実行時にクライアント・アプリケーションのビヘー
ビャを動的に変更するために、交換可能であることが好
ましい。
【0196】クライアント・オブジェクトは、遠隔的に
アクセス可能な目標オブジェクトのメソッドを識別し、
遠隔的にアクセス可能なメソッドを実装するように構成
されている。目標オブジェクトは、リモート・ステーシ
ョンにおいて、ネットワーク・プロトコルに対するネッ
トワーク・アダプタと関連付けられる。クライアント・
オブジェクトは、クライアント・マシンにおいて、ネッ
トワーク・プロトコルに対するネットワーク・アダプタ
と関連付けられる。これによって、クライアント・アプ
リケーションは、クライアント・オブジェクトをインス
タンス化することにより、目標オブジェクトにアクセス
することが可能となる。
【0197】記載した好適な実施形態では、クライアン
ト・オブジェクトおよび目標オブジェクトはビーンであ
り、各々、1組のプロパティ、アクションを実行する1
組のメソッド、ならびにイベントおよびイントロスぺク
ションに対するサポートを備えており、これによって、
クライアント・ビーンは、イントロスペクションにより
目標オブジェクトのメソッドを抽出する。本発明の好適
な用途は、ネットワーク管理システムにあり、目標オブ
ジェクトが被管理オブジェクト、クライアント・アプリ
ケーションがネットワーク管理アプリケーションとな
る。
【0198】以上のように、目標オブジェクトを修正し
たり、特定の通信コードを目標オブジェクトに含ませる
ことなく、目標オブジェクトの表現を形成するクライア
ント・オブジェクトまたは複数のクライアント・オブジ
ェクトを生成することにより、遠方からのオブジェクト
(リモート・ビーン)に対するアクセスを与えることを
可能にする方法および機構について説明した。クライア
ント・オブジェクト(または複数のクライアント・オブ
ジェクト)は、遠隔的にアクセス可能な目標オブジェク
トのメソッドを識別し、遠隔的にアクセス可能な目標オ
ブジェクトを実装する。目標オブジェクトには、リモー
ト・ステーションにおいて、ネットワーク・プロトコル
に対するネットワーク・アダプタと関連付けられる。ク
ライアント・オブジェクトには、クライアント・マシン
において、ネットワーク・プロトコルに対するネットワ
ーク・アダプタと関連付けられる。こうして、クライア
ント・アプリケーションは、クライアント・オブジェク
トをインスタンス化することによって、目標オブジェク
トにアクセスすることが可能となる。
【0199】以上、本発明の特定実施形態について説明
したが、特許請求の範囲に定義される本発明の精神およ
び範囲内において、多くの変更/追加および/または交
換も可能であることは認められよう。特許請求の範囲を
参照することにより、本発明の精神および範囲内におい
て、請求項に明示的に列挙されているもの以外の従属項
の特徴を他の従属項および/または独立項の特徴と適宜
組み合わせることも可能であることを注記すべきであろ
う。
【図面の簡単な説明】
【図1】通信ネットワークを通じて接続された3箇所の
ステーションを表す図である。
【図2】図2と図2のAとから構成される。図1のステ
ーションに対するコンピュータ・サーバの概略図を形成
する図である。
【図3】管理対象ステーションに対するエージェントの
概略図である。
【図4】図3のエージェントを示す別の図である。
【図5】エージェントのコンフィギュレーションの一例
を示す図である。
【図6】図5に示すエージェントを用いる動作を示すフ
ロー・チャートである。
【図7】管理システムのコンフィギュレーションの一例
を示す図である。
【図8】管理システムのコンフィギュレーションの別の
例を示す図である。
【図9】図8のコンフィギュレーションの作成の一態様
を示す図である。
【図10】図8のシステムの動作を示すフロー・チャー
トである。
【図11】命名サービスの動作を示すフロー・チャート
である。
【図12】汎用エージェントの作成の処理を示すフロー
・チャートである。
【図13】コンパイラの別の処理を示す図である。
【図14】コンパイラの別の処理を示す図である。
【図15】A及びBから構成される。管理ビーンをコン
パイルする効果を示すために用いる図である。
【図16】A及びBから構成される。同様に管理ビーン
をコンパイルする効果を示すために用いる図である。
【図17】管理システムを生成するステップを示すフロ
ー・チャートである。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 セルジュ・アンドレ・リゴリ フランス共和国 38120 プロヴィズオー, プランファイ

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワークを通じて、クライアン
    ト・ステーションから、リモート・ステーションにおけ
    る目標オブジェクトにアクセスする方法であって、 a)前記目標オブジェクトの表現を形成するクライアン
    ト・オブジェクトを生成するステップであって、前記ク
    ライアント・オブジェクトは、遠隔的にアクセス可能な
    前記目標オブジェクトのメソッドを識別し、前記遠隔的
    にアクセス可能なメソッドを実装するように構成されて
    いる、ステップと、 b)前記目標オブジェクトとネットワーク・プロトコル
    に対するネットワーク・アダプタとを、前記リモート・
    ステーションにおけるフレームワークに登録するステッ
    プと、 c)クライアント・マシンにおいて、前記クライアント
    ・オブジェクトを、前記ネットワーク・プロトコルに対
    するネットワーク・アダプタと関連付けるステップと、 d)前記クライアント・オブジェクトをインスタンス化
    することにより、クライアント・アプリケーションが前
    記目標オブジェクトにアクセスすることを可能にするス
    テップと、 を含むことを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、ステップ
    (a)は、目標オブジェクトをコンパイルし、前記目標
    オブジェクトのどのメソッドが遠隔的にアクセス可能で
    あるかを識別する目標オブジェクト・インターフェース
    と、遠隔的にアクセス可能なメソッドを実装する目標オ
    ブジェクト・スタブとから成るクライアント・オブジェ
    クトを生成するステップを含むことを特徴とする方法。
  3. 【請求項3】 請求項2記載の方法において、ステップ
    (d)は、前記目標オブジェクト・スタブを選択的に交
    換し、実行時において前記クライアント・アプリケーシ
    ョンのビヘービャを動的に修正するステップを含むこと
    を特徴とする方法。
  4. 【請求項4】 請求項1記載の方法において、前記クラ
    イアント・オブジェクトおよび前記目標オブジェクト
    は、ビーンであって、それぞれが、1組のプロパティ、
    アクションを実行する1組のメソッド、ならびにイベン
    トおよびイントロスペクションに対するサポートから成
    ることを特徴とする方法。
  5. 【請求項5】 請求項4記載の方法において、ステップ
    (a)は、イントロスペクションによって目標オブジェ
    クトのメソッドを抽出するステップを含むことを特徴と
    する方法。
  6. 【請求項6】 請求項1記載の方法において、前記目標
    オブジェクトは、被管理オブジェクトであり、前記クラ
    イアント・アプリケーションは、ネットワーク管理アプ
    リケーションであることを特徴とする方法。
  7. 【請求項7】 クライアント・ステーションにおいて、
    通信ネットワークを通じて、リモート・ステーションに
    おける目標オブジェクトにアクセスするための、リモー
    ト・アクセス・サポート機構であって、 前記目標オブジェクトの表現を形成するクライアント・
    オブジェクトであって、遠隔的にアクセス可能な前記目
    標オブジェクトのメソッドを識別し、前記遠隔的にアク
    セス可能なメソッドを実装するクライアント・オブジェ
    クトと、 前記クライアント・オブジェクトに応答するネットワー
    ク・アダプタと、 を備えており、前記クライアント・オブジェクトは、ク
    ライアント・アプリケーションによってインスタンス化
    され、前記クライアント・アプリケーションが前記目標
    オブジェクトにアクセスしそれを修正することを可能と
    するように構成されていることを特徴とするリモート・
    アクセス・サポート機構。
  8. 【請求項8】 請求項7記載のリモート・アクセス・サ
    ポート機構において、前記クライアント・オブジェクト
    は、目標オブジェクトからコンパイルされ、前記目標オ
    ブジェクトのどのメソッドが遠隔的にアクセス可能であ
    るかを識別する目標オブジェクト・インタフェースと、
    前記遠隔的にアクセス可能なメソッドを実装する目標オ
    ブジェクト・スタブとを含むことを特徴とするリモート
    ・アクセス・サポート機構。
  9. 【請求項9】 請求項8記載のリモート・アクセス・サ
    ポート機構において、前記目標オブジェクト・スタブ
    は、選択的に交換可能であり、実行時に前記クライアン
    ト・アプリケーションのビヘービャを動的に修正するこ
    とを特徴とするリモート・アクセス・サポート機構。
  10. 【請求項10】 請求項9記載のリモート・アクセス・
    サポート機構において、前記クライアント・オブジェク
    トは、1組のプロパティ、アクションを実行する1組の
    メソッド、ならびにイベントおよびイントロスペクショ
    ンに対するサポートを有するオブジェクトであることを
    特徴とするリモート・アクセス・サポート機構。
  11. 【請求項11】 請求項10記載のリモート・アクセス
    ・サポート機構において、前記クライアント・オブジェ
    クトおよび前記目標オブジェクトは、ビーンであって、
    それぞれが、1組のプロパティ、アクションを実行する
    1組のメソッド、ならびにイベントおよびイントロスペ
    クションに対するサポートから成ることを特徴とするリ
    モート・アクセス・サポート機構。
  12. 【請求項12】 請求項11記載のリモート・アクセス
    ・サポート機構であって、イントロスペクションによっ
    て前記目標オブジェクトのメソッドを抽出し、前記クラ
    イアント・オブジェクトを生成するコンパイラを備えて
    いることを特徴とするリモート・アクセス・サポート機
    構。
  13. 【請求項13】 請求項11記載のリモート・アクセス
    ・サポート機構において、前記目標オブジェクトは、被
    管理オブジェクトであり、前記クライアント・アプリケ
    ーションは、ネットワーク管理アプリケーションである
    ことを特徴とするリモート・アクセス・サポート機構。
  14. 【請求項14】 請求項13記載のリモート・アクセス
    ・サポート機構であって、ソフトウエア機構を備えてい
    ることを特徴とするリモート・アクセス・サポート機
    構。
  15. 【請求項15】 通信ネットワークを通じて第1のマシ
    ンにおける目標オブジェクトに対するクライアント・マ
    シンからのリモート・アクセスを可能とする、前記第1
    のマシンにおけるリモート・アクセス・サポート機構で
    あって、 少なくとも1つの目標オブジェクトと、 ネットワーク・プロトコルをサポートする少なくとも1
    つのネットワーク・アダプタと、 を備えており、前記少なくとも1つの目標オブジェクト
    と前記少なくとも1つのネットワーク・アダプタとは、
    前記第1のマシンにおけるフレームワークに登録可能で
    あり、前記ネットワーク・アダプタは、前記プロトコル
    にしたがって、前記クライアント・マシンからのリモー
    ト・アクセス要求に応答して、前記フレームワークを通
    じて前記目標オブジェクトにアクセスすることを特徴と
    するリモート・アクセス・サポート機構。
  16. 【請求項16】 請求項15記載のリモート・アクセス
    ・サポート機構であって、ソフトウエア機構を備えてい
    ることを特徴とするリモート・アクセス・サポート機
    構。
  17. 【請求項17】 通信ネットワークを通じて、第1のマ
    シンにおける目標オブジェクトに対するクライアント・
    マシンからのリモート・アクセスを可能とする、コンピ
    ュータ用データ・キャリア上のリモート・アクセス・サ
    ポート機構であって、 少なくとも1つの目標オブジェクトと、 ネットワーク・プロトコルに対応する少なくとも1つの
    ネットワーク・アダプタと、 を備えており、前記少なくとも1つの目標オブジェクト
    と前記少なくとも1つのネットワーク・アダプタとは、
    前記第1のマシンにおけるフレームワークに登録可能で
    あり、前記ネットワーク・アダプタは、前記プロトコル
    にしたがって、前記クライアント・マシンからのリモー
    ト・アクセス要求に応答して、前記フレームワークを通
    じて前記目標オブジェクトにアクセスすることを特徴と
    するリモート・アクセス・サポート機構。
JP10284159A 1997-10-06 1998-10-06 リモート・オブジェクト・アクセス Pending JPH11224196A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US944396 1986-12-19
US94439697A 1997-10-06 1997-10-06

Publications (1)

Publication Number Publication Date
JPH11224196A true JPH11224196A (ja) 1999-08-17

Family

ID=25481322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10284159A Pending JPH11224196A (ja) 1997-10-06 1998-10-06 リモート・オブジェクト・アクセス

Country Status (4)

Country Link
US (1) US6851118B1 (ja)
EP (1) EP0915419A3 (ja)
JP (1) JPH11224196A (ja)
CA (1) CA2249487A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085851B2 (en) 2002-07-03 2006-08-01 International Business Machines Corporation SNMP interface to existing resource management extension-enabled management agents

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385661B1 (en) * 1998-10-19 2002-05-07 Recursion Software, Inc. System and method for dynamic generation of remote proxies
US6490616B1 (en) 1999-06-14 2002-12-03 Wind River International, Ltd. Method and apparatus for incremental download from server to client
US6857015B1 (en) * 1999-06-14 2005-02-15 Wind River International, Ltd. Method and system for remotely observing and controlling objects
US6678743B1 (en) 1999-11-30 2004-01-13 Recursion Software, Inc. Method for moving objects in a distributed computing environment
US6947965B2 (en) 1999-11-30 2005-09-20 Recursion Software, Inc. System and method for communications in a distributed computing environment
US8060587B2 (en) * 2001-10-05 2011-11-15 International Business Machines Corporation Methods and apparatus for launching device specific applications on storage area network components
US7290267B2 (en) * 2002-01-23 2007-10-30 International Business Machines Corporation Multi-protocol object distribution
JP3862652B2 (ja) * 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
US20040204778A1 (en) * 2003-01-06 2004-10-14 Harish Lalapeth Method for persisting SNMP MIB data in files
WO2004093384A1 (en) * 2003-04-04 2004-10-28 Computer Associates Think, Inc. Method and system for discovery of remote agents
US7822826B1 (en) 2003-12-30 2010-10-26 Sap Ag Deployment of a web service
US7493624B1 (en) 2003-12-30 2009-02-17 Sap Ag Management architecture and method employed within a clustered node configuration
US7739374B1 (en) 2003-12-30 2010-06-15 Sap Ag System and method for configuring tracing and logging functions
US7941521B1 (en) 2003-12-30 2011-05-10 Sap Ag Multi-service management architecture employed within a clustered node configuration
US7756968B1 (en) 2003-12-30 2010-07-13 Sap Ag Method and system for employing a hierarchical monitor tree for monitoring system resources in a data processing environment
US7475401B1 (en) 2003-12-30 2009-01-06 Sap Ag Filtered unified logging service
US8166152B1 (en) * 2003-12-30 2012-04-24 Sap Ag Architecture and method for monitoring system resources within an enterprise network
US7725572B1 (en) 2003-12-30 2010-05-25 Sap Ag Notification architecture and method employed within a clustered node configuration
US20050216510A1 (en) * 2004-03-26 2005-09-29 Reinhold Kautzleben System and method to provide a visual administrator in a network monitoring system
US7526550B2 (en) * 2004-03-26 2009-04-28 Sap Ag Unified logging service with a log viewer
US7721266B2 (en) * 2004-03-26 2010-05-18 Sap Ag Unified logging service with a logging formatter
US9077611B2 (en) * 2004-07-07 2015-07-07 Sciencelogic, Inc. Self configuring network management system
US9537731B2 (en) 2004-07-07 2017-01-03 Sciencelogic, Inc. Management techniques for non-traditional network and information system topologies
US7788226B2 (en) * 2004-12-30 2010-08-31 Sap Ag Monitoring availability of applications
US8543379B1 (en) 2005-01-07 2013-09-24 Interactive TKO, Inc. System and method for parsing a text buffer using a graphical user interface
US8117591B1 (en) 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
US7810075B2 (en) * 2005-04-29 2010-10-05 Sap Ag Common trace files
US7676549B2 (en) * 2005-05-27 2010-03-09 Microsoft Corporation Techniques for providing accessibility options in remote terminal sessions
US7765537B2 (en) * 2005-11-21 2010-07-27 International Business Machines Corporation Profiling interface assisted class loading for byte code instrumented logic
WO2007087194A2 (en) 2006-01-20 2007-08-02 Glenbrook Associates, Inc. System and method for the automated processing of physical objects
SE529620C2 (sv) * 2006-02-24 2007-10-09 Abb Ab Styrning av verkliga objekt i sammankopplade datoriserade styrsystem
US8661407B2 (en) * 2008-06-26 2014-02-25 Microsoft Corporation Framework for programming embedded system applications
US9111019B2 (en) 2008-09-30 2015-08-18 Interactive TKO, Inc. Modeling and testing interactions between components of a software system
US8825810B1 (en) 2010-07-09 2014-09-02 Open Invention Network, Llc Domain name service based remote programming objects
US8984490B1 (en) 2010-10-26 2015-03-17 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8966454B1 (en) 2010-10-26 2015-02-24 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9430255B1 (en) 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
US10025839B2 (en) 2013-11-29 2018-07-17 Ca, Inc. Database virtualization
US9448827B1 (en) * 2013-12-13 2016-09-20 Amazon Technologies, Inc. Stub domain for request servicing
US9727314B2 (en) 2014-03-21 2017-08-08 Ca, Inc. Composite virtual services
US9531609B2 (en) 2014-03-23 2016-12-27 Ca, Inc. Virtual service automation
US9898390B2 (en) 2016-03-30 2018-02-20 Ca, Inc. Virtual service localization
US10114736B2 (en) 2016-03-30 2018-10-30 Ca, Inc. Virtual service data set generation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491796A (en) * 1992-10-23 1996-02-13 Net Labs, Inc. Apparatus for remotely managing diverse information network resources
US5515536A (en) * 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
JPH09502547A (ja) 1992-11-13 1997-03-11 マイクロソフト コーポレイション 遠隔手続き呼び出しのためのインターフェイスポインタをマーシャリングする方法及びシステム
US5315703A (en) 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system
US5544320A (en) 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5517645A (en) 1993-11-05 1996-05-14 Microsoft Corporation Method and system for interfacing components via aggregate components formed by aggregating the components each with an instance of a component manager
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5642511A (en) 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
DE69528749T2 (de) * 1995-02-17 2003-09-18 International Business Machines Corp., Armonk Objektorientierte Programmierschnittstelle zur Entwicklung und zur Ausführung einer Netzwerkverwaltungsapplikation auf einer Netzwerkkommunikationsinfrastruktur
US5758351A (en) 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5802367A (en) 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US5737607A (en) 1995-09-28 1998-04-07 Sun Microsystems, Inc. Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats
US6094600A (en) * 1996-02-06 2000-07-25 Fisher-Rosemount Systems, Inc. System and method for managing a transaction database of records of changes to field device configurations
US6393497B1 (en) * 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6374308B1 (en) * 1996-04-23 2002-04-16 Sun Microsystems, Inc. Method and apparatus for interactively connecting distributed objects to a graphic user interface
US5995756A (en) 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US5999988A (en) 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US6040830A (en) * 1997-06-20 2000-03-21 Autodesk, Inc. Intelligent proxy objects
CA2210755C (en) * 1997-07-17 2003-12-23 Ibm Canada Limited - Ibm Canada Limitee Creating proxies for distribution of beans and event objects
US6173297B1 (en) * 1997-09-12 2001-01-09 Ericsson Inc. Dynamic object linking interface
US6356931B2 (en) * 1997-10-06 2002-03-12 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6209018B1 (en) * 1997-11-13 2001-03-27 Sun Microsystems, Inc. Service framework for a distributed object network system
US6336118B1 (en) * 1998-12-03 2002-01-01 International Business Machines Corporation Framework within a data processing system for manipulating program objects
US6633888B1 (en) * 1999-02-03 2003-10-14 International Business Machines Corporation Method and apparatus for visually creating and testing object oriented components
US7433917B2 (en) * 2001-09-28 2008-10-07 Bea Systems, Inc. Method and apparatus for using Java dynamic proxies to interface to generic, bean-like management entities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085851B2 (en) 2002-07-03 2006-08-01 International Business Machines Corporation SNMP interface to existing resource management extension-enabled management agents

Also Published As

Publication number Publication date
US6851118B1 (en) 2005-02-01
CA2249487A1 (en) 1999-04-06
EP0915419A2 (en) 1999-05-12
EP0915419A3 (en) 2003-11-12

Similar Documents

Publication Publication Date Title
JP4603106B2 (ja) オブジェクトの遠隔的ブラウズ方法及びシステム
US6851118B1 (en) Remote object access
US6061721A (en) Bean-based management system
US6134581A (en) Method and system for remotely browsing objects
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US5949998A (en) Filtering an object interface definition to determine services needed and provided
US5845289A (en) Methodology for generating object structures for accessing conventional, non-object-oriented business applications
US5848273A (en) Method for generating OLE automation and IDL interfaces from metadata information
US6349333B1 (en) Platform independent alarm service for manipulating managed objects in a distributed network management system
US8296720B2 (en) Framework to access a remote system from an integrated development environment
US7200651B1 (en) Dynamic configuration and up-dating of integrated distributed applications
EP1711891B1 (en) Method and apparatus for composite user interface creation
US20090019422A1 (en) Device configuration and management development system
US6769123B1 (en) Method and apparatus of using a single computer program source code base to provide a program that is operable in either a client-server mode or a standalone mode
US9049044B1 (en) Method of management and distribution of device adapters for element management systems
US20040216146A1 (en) Method for mapping procedural C++ code to java object-oriented classes
EP1061445A2 (en) Web-based enterprise management with transport neutral client interface
Fossa et al. Implementing interactive configuration management for distributed systems
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
US6308226B1 (en) Communication method and system for objects movable in network
US7805459B2 (en) Extensible controls for a content data repository
US7209248B1 (en) Managing the lifetime of distributed resource data using temporal scopes
Newell et al. Interoperable object models for large scale distributed systems
Fossa Interactive configuration management for distributed systems
Poon Inside a trader in global trading

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080423