JP4603106B2 - オブジェクトの遠隔的ブラウズ方法及びシステム - Google Patents

オブジェクトの遠隔的ブラウズ方法及びシステム Download PDF

Info

Publication number
JP4603106B2
JP4603106B2 JP28439298A JP28439298A JP4603106B2 JP 4603106 B2 JP4603106 B2 JP 4603106B2 JP 28439298 A JP28439298 A JP 28439298A JP 28439298 A JP28439298 A JP 28439298A JP 4603106 B2 JP4603106 B2 JP 4603106B2
Authority
JP
Japan
Prior art keywords
machine
bean
page
remote
registered
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.)
Expired - Fee Related
Application number
JP28439298A
Other languages
English (en)
Other versions
JPH11288395A (ja
Inventor
オスマン・アブドゥール・イスマエル
セルジュ・アンドレ・リゴリ
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 JPH11288395A publication Critical patent/JPH11288395A/ja
Application granted granted Critical
Publication of JP4603106B2 publication Critical patent/JP4603106B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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)

Description

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

Claims (24)

  1. クライアント・マシンから通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    (a)前記リモート・マシンが、当該リモート・マシンにおける少なくとも1つのオブジェクトを登録することにより、予め修正することなく、前記登録された少なくとも1つのオブジェクトへのリモート・アクセスを可能にするステップと、
    (b)前記クライアント・マシンからの要求に応答して、前記リモート・マシンがマシン・ページを動的に生成するステップであって、前記マシン・ページは、HTMLページを含み、かつ前記登録された少なくとも1つのオブジェクトを含み、前記マシン・ページの生成は前記登録された少なくとも1つのオブジェクトを前記マシン・ページへマッピングすることを含む、ステップと、
    (c)前記クライアント・マシンが、前記クライアント・マシン自体におけるブラウザの動作に応答して、前記リモート・マシンにおけるネットワーク・アダプタと前記マシン・ページとを通じて、前記登録された少なくとも1つのオブジェクトをブラウズするステップと、
    を含み、前記リモート・マシンは、エージェント・フレームワークを備えており、ステップ(b)において、前記ネットワーク・アダプタは、前記エージェント・フレームワークへの問い合わせを行い、前記登録された少なくとも1つのオブジェクトを識別することを特徴とする方法。
  2. 請求項記載の方法において、前記フレームワークは、関連するレポジトリ・オブジェクトを備えており、ステップ(a)は、前記少なくとも1つのオブジェクトと前記ネットワーク・アダプタとの少なくとも一方を前記レポジトリ・オブジェクトに登録するステップを含むことを特徴とする方法。
  3. 請求項記載の方法において、前記エージェント・フレームワークと前記ネットワーク・アダプタとの少なくとも一方はビーンであることを特徴とする方法。
  4. 請求項記載の方法において、ステップ(b)は、イントロスペクションによってビーン・メソッドを抽出するステップを含むことを特徴とする方法。
  5. 請求項記載の方法において、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションのサポートとを含むビーンであることを特徴とする方法。
  6. 請求項記載の方法において、前記ビーンはHTMLテーブルとして表現され、前記HTMLテーブルにおいて、
    第1のコラムは、プロパティ名を含み、
    第2のコラムは、プロパティ型を含み、
    第3のコラムは、アクセス権を含み、
    第4のコラムは、プロパティ値を含むことを特徴とする方法。
  7. クライアント・マシンから通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    (a)前記リモート・マシンが、当該リモート・マシンにおける少なくとも1つのオブジェクトを登録することにより、予め修正することなく、前記登録された少なくとも1つのオブジェクトへのリモート・アクセスを可能にするステップと、
    (b)前記クライアント・マシンからの要求に応答して、前記リモート・マシンがマシン・ページを動的に生成するステップであって、前記マシン・ページは、HTMLページを含み、かつ前記登録された少なくとも1つのオブジェクトを含み、前記マシン・ページの生成は前記登録された少なくとも1つのオブジェクトを前記マシン・ページへマッピングすることを含む、ステップと、
    (c)前記クライアント・マシンが、前記クライアント・マシン自体におけるブラウザの動作に応答して、前記リモート・マシンにおけるネットワーク・アダプタと前記マシン・ページとを通じて、前記登録された少なくとも1つのオブジェクトをブラウズするステップと、
    を含み、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションに対するサポートとを含むビーンであることを特徴とする方法。
  8. クライアント・マシンから通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    (a)前記リモート・マシンが、当該リモート・マシンにおける少なくとも1つのオブジェクトを登録することにより、予め修正することなく、前記登録された少なくとも1つのオブジェクトへのリモート・アクセスを可能にするステップと、
    (b)前記クライアント・マシンからの要求に応答して、前記リモート・マシンがマシン・ページを動的に生成するステップであって、前記マシン・ページは、HTMLページを含み、かつ前記登録された少なくとも1つのオブジェクトを含み、前記マシン・ページの生成は前記登録された少なくとも1つのオブジェクトを前記マシン・ページへマッピングすることを含む、ステップと、
    (c)前記クライアント・マシンが、前記クライアント・マシン自体におけるブラウザの動作に応答して、前記リモート・マシンにおけるネットワーク・アダプタと前記マシン・ページとを通じて、前記登録された少なくとも1つのオブジェクトをブラウズするステップと、
    を含み、前記オブジェクトは被管理オブジェクト・ビーンであることを特徴とする方法。
  9. クライアント・マシンから通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    (a)前記リモート・マシンが、当該リモート・マシンにおける少なくとも1つのオブジェクトを登録することにより、予め修正することなく、前記登録された少なくとも1つのオブジェクトへのリモート・アクセスを可能にするステップと、
    (b)前記クライアント・マシンからの要求に応答して、前記リモート・マシンがマシン・ページを動的に生成するステップであって、前記マシン・ページは、HTMLページを含み、かつ前記登録された少なくとも1つのオブジェクトを含み、前記マシン・ページの生成は前記登録された少なくとも1つのオブジェクトを前記マシン・ページへマッピングすることを含む、ステップと、
    (c)前記クライアント・マシンが、前記クライアント・マシン自体におけるブラウザの動作に応答して、前記リモート・マシンにおけるネットワーク・アダプタと前記マシン・ページとを通じて、前記登録された少なくとも1つのオブジェクトをブラウズするステップと、
    を含み、前記オブジェクトは、前記リモート・マシンにおける1組のビーンの中の1つであり、
    クライアント・マシンにおいて、前記クライアント・マシンから遠隔的に修正可能である前記リモート・マシンにおけるビーンの表現を表示するステップと、
    表示されたビーン表現の前記クライアント・マシンにおけるユーザ選択に応答して、前記クライアント・マシンにおいて、遠隔的に修正可能なビーン・プロパティを表示するステップと、
    前記クライアント・マシンにおけるユーザ入力に遠隔的に応答して、前記ビーンの選択されたパラメータを修正するステップと、
    を含むステップ(d)を含むことを特徴とする方法。
  10. 通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    前記リモート・マシンが、当該リモート・マシンにおける前記オブジェクトの外部的にアクセス可能なマシン・ページへのマッピングを受け取るステップであって、該ステップは前記オブジェクトを登録するステップを含み、前記マシン・ページはHTMLページを含む、ステップと、
    クライアント・マシンからの要求に応答して、前記リモート・マシンが、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するステップと、
    前記クライアント・マシンにおけるブラウザの動作に応答して、前記マシン・ページを通じて前記オブジェクトをブラウズするステップと、
    を含み、前記リモート・マシンが前記マッピングを受け取るステップは、
    前記リモート・マシンにおけるネットワーク・アダプタの起動と、
    前記オブジェクトのエージェント・フレームワークへの登録と、
    前記ネットワーク・アダプタが、前記エージェント・フレームワークに問い合わせを行い登録されたオブジェクトを識別するステップと、
    を含むことを特徴とする方法。
  11. 通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    前記リモート・マシンが、当該リモート・マシンにおける前記オブジェクトの外部的にアクセス可能なマシン・ページへのマッピングを受け取るステップであって、該ステップは前記オブジェクトを登録するステップを含み、前記マシン・ページはHTMLページを含む、ステップと、
    クライアント・マシンからの要求に応答して、前記リモート・マシンが、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するステップと、
    前記クライアント・マシンにおけるブラウザの動作に応答して、前記マシン・ページを通じて前記オブジェクトをブラウズするステップと、
    を含み、前記ブラウズするステップは、
    前記ブラウザの動作に応答して、前記マシン・ページにアクセスするステップと、
    前記ブラウザの動作に応答して、前記アクセスされたマシン・ページから前記オブジェクトを選択するステップと、
    を含み、前記ブラウズするステップは、前記ブラウザの動作に応答して前記選択されたオブジェクトを修正するステップを更に含むことを特徴とする方法。
  12. 通信ネットワークを通じてリモート・マシンにおけるオブジェクトにアクセスするコンピュータ実装方法であって、
    前記リモート・マシンが、当該リモート・マシンにおける前記オブジェクトの外部的にアクセス可能なマシン・ページへのマッピングを受け取るステップであって、該ステップは前記オブジェクトを登録するステップを含み、前記マシン・ページはHTMLページを含む、ステップと、
    クライアント・マシンからの要求に応答して、前記リモート・マシンが、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するステップと、
    前記クライアント・マシンにおけるブラウザの動作に応答して、前記マシン・ページを通じて前記オブジェクトをブラウズするステップと、
    を含み、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションに対するサポートとを含むビーンであることを特徴とする方法。
  13. 請求項10記載の方法において、前記ネットワーク・アダプタがHTMLアダプタであることを特徴とする方法。
  14. 通信ネットワークを通じて遠隔的にアクセス可能なコンピュータ・システムであって、リモート・マシンにおける外部的にアクセス可能なマシン・ページにオブジェクトをマッピングするように構成されたマッピング機構であって、前記マシン・ページはHTMLページを含み、前記マッピング機構は、前記オブジェクトを登録する登録機構を備え、前記マッピング機構は、クライアント・マシンからの要求に応答して、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するように更に構成された、前記マッピング機構を備え、よって、前記オブジェクトはブラウザを用い前記マシン・ページを通じて外部的にアクセス可能であり、前記リモート・マシンにおける前記オブジェクトは予め修正することなくアクセスされ、前記マッピング機構は、エージェント・フレームワークを更に含み、前記登録機構は前記オブジェクトを前記エージェント・フレームワークに登録することを特徴とするシステム。
  15. 請求項14記載のシステムであって、前記エージェント・フレームワークへの問い合わせを行い登録されたオブジェクトを識別するように構成されたネットワーク・アダプタを備えていることを特徴とするシステム。
  16. 請求項15記載のシステムにおいて、前記登録機構は、前記オブジェクトと前記ネットワーク・アダプタとの少なくとも一方が登録されるレポジトリ・オブジェクトを備えていることを特徴とするシステム。
  17. 請求項16記載のシステムにおいて、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションに対するサポートとを含むビーンであることを特徴とするシステム。
  18. 請求項17記載のシステムであって、前記マシン・ページを通じて前記ビーンに遠隔的にアクセスするブラウザを備えていることを特徴とするシステム。
  19. 請求項18記載のシステムにおいて、前記ブラウザは、前記マシン・ページからの前記ビーンの選択を可能とすることを特徴とするシステム。
  20. 請求項19記載のシステムにおいて、前記ブラウザは、更に、前記選択されたビーンの修正を可能とすることを特徴とするシステム。
  21. 通信ネットワークを通じて遠隔的にアクセス可能なコンピュータ・システムであって、リモート・マシンにおける外部的にアクセス可能なマシン・ページにオブジェクトをマッピングするように構成されたマッピング機構であって、前記マシン・ページはHTMLページを含み、前記マッピング機構は、前記オブジェクトを登録する登録機構を備え、前記マッピング機構は、クライアント・マシンからの要求に応答して、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するように更に構成された、前記マッピング機構を備え、よって、前記オブジェクトはブラウザを用い前記マシン・ページを通じて外部的にアクセス可能であり、前記リモート・マシンにおける前記オブジェクトは予め修正することなくアクセスされ、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションに対するサポートとを含むことを特徴とするシステム。
  22. 請求項14記載のシステムにおいて、前記マッピング機構はHTMLアダプタであることを特徴とするシステム。
  23. 請求項14記載のシステムにおいて、前記マッピング機構はソフトウエア機構を備えていることを特徴とするシステム。
  24. 通信ネットワークを通じてオブジェクトへのリモート・アクセスを可能にする、少なくとも1つの記憶デバイス上のソフトウエア・システムであって、
    外部的にアクセス可能なマシン・ページにオブジェクトをマッピングするように構成されたマッピング機構であって、前記マシン・ページはHTMLページを含み、前記マッピング機構は、前記オブジェクトを登録する登録機構を備え、前記マッピング機構は、クライアント・マシンからの要求に応答して、登録された前記オブジェクトを含む前記マシン・ページを動的に生成するように更に構成された、前記マッピング機構を備えており、よって、ブラウザを用い前記マシン・ページを通じて前記オブジェクトにアクセス可能であり、前記オブジェクトは予め修正することなくアクセスされ、前記オブジェクトは、1組のプロパティとアクションを実行する1組のメソッドとイベント及びイントロスペクションに対するサポートとを含むビーンであることを特徴とするシステム。
JP28439298A 1997-10-06 1998-10-06 オブジェクトの遠隔的ブラウズ方法及びシステム Expired - Fee Related JP4603106B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US944383 1997-10-06
US08/944,383 US6356931B2 (en) 1997-10-06 1997-10-06 Method and system for remotely browsing objects

Publications (2)

Publication Number Publication Date
JPH11288395A JPH11288395A (ja) 1999-10-19
JP4603106B2 true JP4603106B2 (ja) 2010-12-22

Family

ID=25481290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28439298A Expired - Fee Related JP4603106B2 (ja) 1997-10-06 1998-10-06 オブジェクトの遠隔的ブラウズ方法及びシステム

Country Status (4)

Country Link
US (1) US6356931B2 (ja)
EP (1) EP0908816A3 (ja)
JP (1) JP4603106B2 (ja)
CA (1) CA2249485A1 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826759B2 (en) * 1997-04-01 2004-11-30 Sun Microsystems, Inc. Method and apparatus for discovering and activating software components
EP0915419A3 (en) * 1997-10-06 2003-11-12 Sun Microsystems, Inc. Remote object access
CA2315210C (en) * 1997-12-16 2006-12-12 Sourcenet Corporation Method and apparatus for receiving full-motion digital video multi-casts, interactive data and interactive voice via a dsl circuit
US7143421B2 (en) * 1998-09-09 2006-11-28 Microsoft Corporation Highly componentized system architecture with a demand-loading namespace and programming model
US8434099B2 (en) 1998-09-09 2013-04-30 Microsoft Corporation Efficient linking and loading for late binding and platform retargeting
US8082322B1 (en) 1998-10-27 2011-12-20 Parametric Technology Corporation Federation of information from multiple data sources into a common, role-based distribution model
US6886047B2 (en) * 1998-11-13 2005-04-26 Jp Morgan Chase Bank System and method for managing information retrievals for integrated digital and analog archives on a global basis
US6637020B1 (en) 1998-12-03 2003-10-21 International Business Machines Corporation Creating applications within data processing systems by combining program components dynamically
US6466974B1 (en) * 1998-12-04 2002-10-15 Sun Microsystems, Inc. Environment for creating and managing network management software objects
US6779027B1 (en) * 1999-04-30 2004-08-17 Hewlett-Packard Development Company, L.P. Intelligent management module application programming interface with utility objects
US6857015B1 (en) * 1999-06-14 2005-02-15 Wind River International, Ltd. Method and system for remotely observing and controlling objects
US7150000B1 (en) * 1999-08-17 2006-12-12 Nash Controlware, Inc. Component development with autonomous and compiled components to implement and consume services with components operate in edit and run mode
US6539383B2 (en) * 1999-11-08 2003-03-25 International Business Machines Corporation Communication and interaction objects for connecting an application to a database management system
KR20010048347A (ko) * 1999-11-26 2001-06-15 민병국 인터넷상의 통합 브라우져 및 통합 서버시스템
JP2001337917A (ja) * 2000-05-30 2001-12-07 Matsushita Electric Ind Co Ltd Gui装置端末装置、リソース制御装置、ネットワークシステム、媒体及び情報集合体
US7086067B1 (en) * 2000-07-14 2006-08-01 International Business Machines Corporation Dynamic Java bean for VisualAge for Java
US7610588B1 (en) * 2000-10-27 2009-10-27 Global 360, Inc. Distributed application management software
GB2369014A (en) * 2000-11-07 2002-05-15 Roke Manor Research Web based management engine for network entities incorporating web page generation
US20020149619A1 (en) * 2001-02-12 2002-10-17 Perot Systems Corporation System and method for constructing a graphical user interface
US6965932B1 (en) * 2001-04-19 2005-11-15 3Com Corporation Method and architecture for a dynamically extensible web-based management solution
US6890968B2 (en) * 2001-05-16 2005-05-10 Kerr Corporation Prepolymerized filler in dental restorative composite
WO2002101572A1 (en) * 2001-06-11 2002-12-19 Totalecare, Inc. Apparatus, method, and article of manufacture for managing changes on a compute infrastructure
US7571215B2 (en) 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US7409420B2 (en) * 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6918013B2 (en) * 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US7702791B2 (en) 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US20030055867A1 (en) * 2001-07-31 2003-03-20 Openwave Systems Inc. Inter-device linking for presentation of information on devices connected to a communication system
US7028030B2 (en) 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US20030046586A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access to data between peers
US7249131B2 (en) * 2001-09-06 2007-07-24 Initiate Systems, Inc. System and method for dynamically caching dynamic multi-sourced persisted EJBs
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US7930704B2 (en) * 2002-02-06 2011-04-19 Oracle International Corporation J2EE component extension architecture
US7392302B2 (en) 2002-02-21 2008-06-24 Bea Systems, Inc. Systems and methods for automated service migration
US7617289B2 (en) 2002-02-22 2009-11-10 Bea Systems, Inc. System and method for using a data replication service to manage a configuration repository
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
US7698434B2 (en) 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
AU2002332912A1 (en) * 2002-09-04 2004-03-29 Journee Software Corporation System and method for dynamically mapping dynamic multi-sourced persisted ejbs
JP3862652B2 (ja) * 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
EP1460540A1 (en) 2003-03-20 2004-09-22 Dassault Systèmes S.A. Server process with interface adapters for accessing data from various types of client processes
US7542476B2 (en) * 2003-08-29 2009-06-02 Flash Networks Ltd Method and system for manipulating IP packets in virtual private networks
US7870504B1 (en) 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
US7822826B1 (en) 2003-12-30 2010-10-26 Sap Ag Deployment of a web service
US8166152B1 (en) * 2003-12-30 2012-04-24 Sap Ag Architecture and method for monitoring system resources within an enterprise network
US7475401B1 (en) 2003-12-30 2009-01-06 Sap Ag Filtered unified logging service
US7739374B1 (en) 2003-12-30 2010-06-15 Sap Ag System and method for configuring tracing and logging functions
US7725572B1 (en) 2003-12-30 2010-05-25 Sap Ag Notification architecture and method 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
US7493624B1 (en) 2003-12-30 2009-02-17 Sap Ag Management architecture and method employed within a clustered node configuration
US7941521B1 (en) 2003-12-30 2011-05-10 Sap Ag Multi-service management architecture employed within a clustered node configuration
US7681204B2 (en) * 2004-03-01 2010-03-16 Microsoft Corporation Event filtering at a performance-based interface
US7721266B2 (en) * 2004-03-26 2010-05-18 Sap Ag Unified logging service with a logging formatter
US7661066B2 (en) * 2004-03-26 2010-02-09 Sap Ag Visual administrator providing java management bean support
US7703019B2 (en) * 2004-03-26 2010-04-20 Sap Ag Visual administrator for specifying service references to support a service
US7526550B2 (en) * 2004-03-26 2009-04-28 Sap Ag Unified logging service with a log viewer
US20050216510A1 (en) * 2004-03-26 2005-09-29 Reinhold Kautzleben System and method to provide a visual administrator in a network monitoring system
US8156429B2 (en) 2004-10-22 2012-04-10 Flash Networks. Ltd Method and system for accelerating downloading of web pages
US7788226B2 (en) * 2004-12-30 2010-08-31 Sap Ag Monitoring availability of applications
US7810075B2 (en) * 2005-04-29 2010-10-05 Sap Ag Common trace files
US7526486B2 (en) * 2006-05-22 2009-04-28 Initiate Systems, Inc. Method and system for indexing information about entities with respect to hierarchies
US8332366B2 (en) 2006-06-02 2012-12-11 International Business Machines Corporation System and method for automatic weight generation for probabilistic matching
US7685093B1 (en) 2006-09-15 2010-03-23 Initiate Systems, Inc. Method and system for comparing attributes such as business names
US8356009B2 (en) 2006-09-15 2013-01-15 International Business Machines Corporation Implementation defined segments for relational database systems
US7698268B1 (en) 2006-09-15 2010-04-13 Initiate Systems, Inc. Method and system for filtering false positives
US8359339B2 (en) 2007-02-05 2013-01-22 International Business Machines Corporation Graphical user interface for configuration of an algorithm for the matching of data records
US8515926B2 (en) * 2007-03-22 2013-08-20 International Business Machines Corporation Processing related data from information sources
US8321393B2 (en) * 2007-03-29 2012-11-27 International Business Machines Corporation Parsing information in data records and in different languages
US8423514B2 (en) 2007-03-29 2013-04-16 International Business Machines Corporation Service provisioning
US8370355B2 (en) 2007-03-29 2013-02-05 International Business Machines Corporation Managing entities within a database
US8429220B2 (en) 2007-03-29 2013-04-23 International Business Machines Corporation Data exchange among data sources
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US20110010214A1 (en) * 2007-06-29 2011-01-13 Carruth J Scott Method and system for project management
US8713434B2 (en) 2007-09-28 2014-04-29 International Business Machines Corporation Indexing, relating and managing information about entities
CA2701043C (en) 2007-09-28 2016-10-11 Initiate Systems, Inc. Method and system for associating data records in multiple languages
BRPI0817507B1 (pt) * 2007-09-28 2021-03-23 International Business Machines Corporation Método para análise de um sistema para associação de registro de dados, mídia de armazenamento legível por computador e sistema computacional para análise de um centro de identidade
US8201246B1 (en) 2008-02-25 2012-06-12 Trend Micro Incorporated Preventing malicious codes from performing malicious actions in a computer system
US9529573B2 (en) * 2009-01-28 2016-12-27 Microsoft Technology Licensing, Llc Graphical user interface generation through use of a binary file
US8788513B2 (en) 2009-10-30 2014-07-22 Dassault Systemes Americas Corp. Computer method and system providing access to data of a target system
US20110125994A1 (en) * 2009-11-05 2011-05-26 TAP Innovations, Inc. Methods and systems for secure online browsing
US20120117490A1 (en) * 2010-11-10 2012-05-10 Harwood William T Methods and systems for providing access, from within a virtual world, to an external resource
US8479294B1 (en) 2011-02-15 2013-07-02 Trend Micro Incorporated Anti-malware scan management in high-availability virtualization environments
US8484732B1 (en) 2012-02-01 2013-07-09 Trend Micro Incorporated Protecting computers against virtual machine exploits
US8966632B1 (en) 2012-02-17 2015-02-24 Trend Micro Incorporated In-the-cloud sandbox for inspecting mobile applications for malicious content
US9300720B1 (en) 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US9444912B1 (en) 2013-05-21 2016-09-13 Trend Micro Incorporated Virtual mobile infrastructure for mobile devices
US9225799B1 (en) 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
US9049169B1 (en) 2013-05-30 2015-06-02 Trend Micro Incorporated Mobile email protection for private computer networks
US9507617B1 (en) 2013-12-02 2016-11-29 Trend Micro Incorporated Inter-virtual machine communication using pseudo devices
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system
US5822585A (en) * 1995-02-21 1998-10-13 Compuware Corporation System and method for cooperative processing using object-oriented framework
US5724503A (en) * 1995-03-31 1998-03-03 Sun Microsystems, Inc. Method and apparatus for interpreting exceptions in a distributed object system
US6055522A (en) * 1996-01-29 2000-04-25 Futuretense, Inc. Automatic page converter for dynamic content distributed publishing system
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5881230A (en) * 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
US5848246A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6178432B1 (en) * 1996-09-30 2001-01-23 Informative Graphics Corp. Method and apparatus for creating interactive web page objects
US5953528A (en) * 1996-10-30 1999-09-14 Electronic Data Systems Corporation Knowledge object registration
US5920692A (en) * 1997-03-24 1999-07-06 International Business Machines Corp. Method and system for a remote notification service for a multi-user server architecture
US6046739A (en) * 1997-03-28 2000-04-04 International Business Machines Corporation System and method for organizing objects managed within a desktop
US5991534A (en) * 1997-06-03 1999-11-23 Sun Microsystems, Inc. Method and apparatus for editing a software component
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6195794B1 (en) * 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
US6061721A (en) * 1997-10-06 2000-05-09 Sun Microsystems, Inc. Bean-based management system
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects

Also Published As

Publication number Publication date
EP0908816A3 (en) 2003-10-01
EP0908816A2 (en) 1999-04-14
CA2249485A1 (en) 1999-04-06
JPH11288395A (ja) 1999-10-19
US6356931B2 (en) 2002-03-12
US20010054062A1 (en) 2001-12-20

Similar Documents

Publication Publication Date Title
JP4603106B2 (ja) オブジェクトの遠隔的ブラウズ方法及びシステム
US6851118B1 (en) Remote object access
US6134581A (en) Method and system for remotely browsing objects
US6061721A (en) Bean-based management system
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US8949364B2 (en) Apparatus, method and system for rapid delivery of distributed applications
US5848273A (en) Method for generating OLE automation and IDL interfaces from metadata information
US7200651B1 (en) Dynamic configuration and up-dating of integrated distributed applications
EP0817101A2 (en) Method and system for uniformly accessing multiple directory services
US20090019422A1 (en) Device configuration and management development system
US8850388B2 (en) Controlling application features
CA2391733A1 (en) Framework to access a remote system from an integrated development environment
EP0783733A1 (en) Methodology for generating object structures for accessing conventional, non-object-oriented business applications
US6427153B2 (en) System and method for implementing Java-based software network management objects
US7127721B2 (en) Core object model for network management configuration applications in telecommunication systems
US6886172B2 (en) Method for mapping procedural C++ code to java object-oriented classes
US9049044B1 (en) Method of management and distribution of device adapters for element management systems
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
EP1548588A2 (en) Method of translating computer program code, communications system and network management entity therefor
Festor et al. Integration of WBEM-based Management Agents in the OSI Framework
US7805459B2 (en) Extensible controls for a content data repository
Fossa Interactive configuration management for distributed systems
JP2000311129A (ja) 周辺装置管理システム
Ban Towards an object-oriented framework for multi-domain management
Ganti et al. Network Management Software and User Interfaces: Issues and Approaches

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070719

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081024

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100903

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees