JP2000311129A - 周辺装置管理システム - Google Patents

周辺装置管理システム

Info

Publication number
JP2000311129A
JP2000311129A JP2000079686A JP2000079686A JP2000311129A JP 2000311129 A JP2000311129 A JP 2000311129A JP 2000079686 A JP2000079686 A JP 2000079686A JP 2000079686 A JP2000079686 A JP 2000079686A JP 2000311129 A JP2000311129 A JP 2000311129A
Authority
JP
Japan
Prior art keywords
management
managed
interface
peripheral
devices
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
JP2000079686A
Other languages
English (en)
Inventor
Shell S Simpson
シェル・エス・シンプソン
James Clough
ジェームズ・クラフ
M Scott Gartner
エム・スコット・ガートナー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000311129A publication Critical patent/JP2000311129A/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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】管理コンピュータが周辺システムの装置を管理
することを可能にするオブジェクト指向システムを提供
する。 【解決手段】管理対象周辺装置は、それが提供するサー
ビスの各々に関連する"管理対象エンティティ(ME)"を
持つ。各MEは、MEの機能に関する情報を提供し、M
Eを含む装置が1つの機能を実行することを可能にする
複数のメソッドから構成される"管理インタフェース(M
I)"オブジェクトに対する参照を含む。管理側コンピュ
ータは、ユーザ照会に応答して、対象周辺装置に対応す
るMEを決定するためエクスプローラ・オブジェクトを
起動し、その周辺装置、その活動およびユーザの照会に
関連する情報および諸メソッドを含むMEに関連するM
Iオブジェクトを復元するためインタフェース・プロバ
イダ・オブジェクトのメソッドを起動することによっ
て、所望の周辺装置の管理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、周辺システムの管
理に関するもので、特に、オブジェクト・インタフェー
スを利用する周辺システム管理に関するものである。
【0002】
【従来の技術】周辺システムの管理は、周辺システムを
構成する装置の構成、それら装置の状態の取得およびそ
れら装置からのイベントの受領を伴う。それら装置の能
力は広範囲にわたり、また、それら装置と対話するため
使用される通信プロトコルもまた広範囲にわたる。周辺
システムを管理するソフトウェアは、この多様性に対応
しなければならず、その結果しばしば非常に複雑であ
る。周辺システムという用語は、本明細書において使用
される場合、プリンタ、スキャナ、サーバ、多機能装置
およびパーソナル・コンピュータのような周辺クライア
ントを含む。
【0003】周辺装置、周辺サーバおよび周辺クライア
ントの新しいモデルが絶えず業者から出荷されるので、
それは、周辺システム管理ソフトウェア・システムの開
発者に一層の挑戦を与える。そのようなソフトウェア
は、そのような新しい装置と新しい装置機能をサポート
するため絶えず修正されなければならず、そのため、ソ
フトウェアの複雑性が一層増大する。周辺装置、周辺サ
ーバおよび周辺クライアントによって提供される能力は
それらのそれぞれの構成によって変わる。ハードディス
クのような資源が追加または削除されると、周辺システ
ム管理は、そのような能力変更を取り扱わなければなら
ず、そのため周辺システム管理ソフトウェアの複雑性が
一層増大する。
【0004】以下の記述において、周辺システム管理は
その英語表現の"peripheral systemmanagement"を略称
してPSMと呼称される場合がある。PSMアプリケー
ションは、エンドユーザが各装置に同一のコマンドを繰
り返して発信するのではなく単一のコマンドを使用して
装置の集合に対してオペレーションを実行することを可
能にする。例えば、PSMアプリケーションは、単一の
コマンドの使用を通して装置の集合にアドレスを再割り
当てするが、そのような装置の新しい能力には対処しな
い。また、PSMアプリケーションは、典型的には、管
理対象装置の集合を表すユーザ・インタフェース・エレ
メントを表示する。このインタフェースを通して、ユー
ザは同時にいくつかの装置に対する管理活動を実行する
ことができる。
【0005】
【発明が解決しようとする課題】一般的に、このインタ
フェースは、拡張性がなく、PSMアプリケーションが
複数装置を表示する方法を大幅に変更する能力を備えて
いない。対照的に、PSMアプリケーションは、装置設
計者が装置をサポートする方法をカスタマイズする"ア
プレット"(すなわち小さいプログラム)の拡張を行うこ
とを可能にする。ユーザが個々の装置を管理する要求を
示す時、ユーザに装置固有のユーザ・インタフェースを
提示するためアプレットが使用される。装置設計者が個
々の装置を見る方法を拡張することができる場合と同様
の方法で、装置の集合が提示される方法の変更を可能に
する必要性が存在する。このように、必要とされる周辺
システム管理システムは、周辺システムにおける複数の
タイプの装置と対話することができ、同じ能力を備える
装置グループに対して作用することができ、システムの
1つのエレメントが特定の能力を備えているか否かを判
断することができ、新たに組み込まれた能力に対してカ
スタマへの出荷の前および後いずれにおいても対処する
ことができ、装置グループが提示される方法の変更に対
処することができ、かつ、周辺装置システム・エレメン
トの能力を実行時に付与または削除することができるよ
うに十分に動的な周辺システム管理システムである。
【0006】
【課題を解決するための手段】発明の課題を解決するた
め、管理コンピュータが周辺システムの装置を管理する
ことを可能にするシステムが提供される。該システムに
おいて、管理対象装置の各々は、必ずしも上記管理コン
ピュータではないコンピュータのため1つまたは複数の
サービスを提供すると共に、インタフェース・オブジェ
クトに関するメソッドが実行されることを可能にする管
理インタフェース・プロバイダ・オブジェクトを記憶
し、上記サービスの各々は、1つまたは複数の管理イン
タフェースに対する参照を含む関連する管理対象エンテ
ィティ・インタフェースを有し、上記管理インタフェー
スの各々は、上記管理対象エンティティによって表さ
れ、上記管理対象装置によって実行される上記サービス
の機能に関する情報を提供するかまたは上記管理対象装
置が関数を実行することを可能にするか少なくともいず
れかを実行する1つまたは複数のメソッドを備える。ま
た、上記管理コンピュータは、上記管理対象装置の各々
との通信を可能にする入出力手段、エクスプローラ・オ
ブジェクトを記憶するメモリ、および、管理対象装置の
サービスに関するユーザ照会に応答して、上記管理対象
装置のサービスに対応する管理対象エンティティを決定
するため上記エクスプローラ・オブジェクトを起動し、
また、上記照会に関連し上記管理対象装置に関する情報
へのアクセスを可能にするかまたは上記管理対象装置が
上記照会に関連する関数を実行することを可能にする上
記管理対象エンティティに関連する管理インタフェース
を復元するため上記インタフェース・プロバイダ・オブ
ジェクトを起動するプロセッサ手段を備える。
【0007】本発明は、コンピュータが周辺システムの
複数エレメントを管理することを可能にする。複数エレ
メントの各々は該コンピュータのため1つまたは複数の
サービスを提供する。各周辺装置またはエレメントは、
各サービスについて関連した"管理対象エンティティ"デ
ータ構造を持つ。"管理対象エンティティ"はその英語表
記"managed entity"の頭文字を取って以下"ME"と略称
される。各MEデータ構造は、1つまたは複数の"管理
インタフェース"オブジェクトに対する参照を含む。"管
理インタフェース"はその英語表記"management interfa
ce"の頭文字を取って以下"MI"と略称される。MIオ
ブジェクトは、MEの機能に関する情報を提供し、ME
を含む装置が1つの機能を実行することを可能にする1
つまたは複数のメソッドから構成される。該コンピュー
タは、周辺システム装置の各々との通信を可能にする入
出力モジュールおよびエクスプローラ・オブジェクトを
記憶するメモリを含む。該コンピュータにおけるプロセ
ッサは、周辺装置に関するユーザ照会に応答して、(i)
その周辺装置に対応するMEを決定するためエクスプロ
ーラ・オブジェクトを起動し、(ii)その周辺装置、その
活動およびユーザの照会に関連する情報および諸メソッ
ドを含むMEに関連するMIオブジェクトを復元するた
めインタフェース・プロバイダ・オブジェクトのメソッ
ドを起動する。
【0008】
【発明の実施の形態】ネットワーク・ソフトウェアは、
ネットワークに接続している物理装置と対話しなければ
ならない。過去においては、これは、物理的トポロジを
記述して各マシンに名前を割り当てることによって達成
された。しかし、物理トポロジはサイトごとに変わるの
で、多数の位置に展開されるソフトウェアはそのように
記述されることができない。本発明は、特定のマシンを
指定するのではなく、マシンが演ずるまたは提供する役
割またはサービスを記述する論理トポロジを使用する。
本発明を実施する周辺システム管理(PSM)ソフトウェ
アにおいてマシンが演ずる役割の例は次の通りである。 *管理クライアント・マシン:PSMソフトウェアのた
めユーザ・インタフェースを提供するマシンの役割。例
えば、管理クライアントの役割は、ネットワーク管理プ
ログラムにアクセスするために使用されるウェブ・ブラ
ウザを実行させるどのようなマシンによっても演じられ
る。 *管理サーバ・マシン:PSMソフトウェアのため論理
を提供するマシンの役割。例えば、ネットワーク管理プ
ログラムが導入されているサーバ・マシンは管理サーバ
・マシンの役割を実行する。 *周辺クライアント・マシン:周辺機器によって提供さ
れるサービスを利用するマシンの役割。プリンタを利用
するエンドユーザ・ワークステーションは周辺クライア
ント・マシンの1例である。 *周辺サーバ・マシン:周辺装置によって提供されるサ
ービスに対するアクセスを調停するマシンの役割。プリ
ンタを共有するウインドウズ(登録商標)NTマシンは
周辺サーバ・マシンの1例である。 *周辺マシン:周辺機器の役をつとめるマシンの役割。
プリンタおよびスキャナは周辺装置の例である。 *周辺ディレクトリ・マシン:周辺マシンおよび周辺サ
ーバ・マシンを見つけ留ために使用されるサービスを提
供するマシンの役割。
【0009】1つの物理マシンが複数の役割を実行し複
数のサービスを提供することができる点注意する必要が
ある。例えば、中央サーバは、管理サーバ・マシン(ネ
ットワーク管理プログラムが導入されているマシン)と
周辺サーバ・マシン(例えばプリント・サーバ)の両方の
役割を果たすことができる。本発明を取り入れる周辺管
理ソフトウェアは、周辺機器に関連するMEを検出、構
成、表示、修正および監視することができる。MEは、
装置の役割および装置が提供するサービスがそれを通し
て管理されることができるソフトウェア・オブジェクト
である。上述のように、単一の装置は複数の役割を持つ
ことができるので、複数MEに関連づけられることがで
きる。
【0010】管理対象エンティティ(ME)の特徴 ・MEは、管理対象をモデル化するために使用されるア
ーキテクチャ・アブストラクトである。 ・MEは、エクスプローラのアーキテクチャ・アブスト
ラクトによって発見される。 ・MEは、データベースのアーキテクチャア・アブスト
ラクトによって構成される。 ・MEは、ビユーのアーキテクチャ・アブストラクトに
よって表示される。 ・MEは、オペレーションのアーキテクチャ・アブスト
ラクトによって修正される。 ・MEは、イベント(Event)および行動(Action)のアー
キテクチャ・アブストラクトを使用して監視される。
【0011】以下の説明から理解されることであろう
が、上記識別されたアブストラクトの各々は、古典的な
意味において"変数"の状態を維持し、1つまたは複数の
メソッドでその動作を実行するソフトウェア・オブジェ
クトとして構成される。以下に記述される種々のオブジ
ェクトによって、本発明を取り入れるPSMソフトウェ
アは、システムおよびソフトウェア修正の適応に対する
大幅な柔軟性を与えられる。
【0012】管理対象エンティティ(ME) 定義 MEは、周辺管理問題ドメインにおいてユーザが認識で
きるエレメントを表すオブジェクトである。MEは、1
つまたは複数の管理インタフェース(MI)の集合を提供
する。MIは、MEと対話(またはMEを識別)するため
に使用される1つまたは複数の関数セットである。
【0013】プリンタを管理する責任があるユーザは、
プリンタ、プリント・サーバおよびプリント・クライア
ントの存在を認識する。PSMソフトウェアの有無にか
かわらず、このユーザは、問題を解決するため、これら
のエレメントの各々と対話する。同じこのユーザは、ス
プーラの詳細なアーキテクチャについて知識をたぶん持
たないであろう。ポート・モニタまたはプリント・プロ
セッサの存在もおそらくそのようなユーザと無関係であ
ろう。問題を解決する際、このユーザは、よく知ってい
るエレメントだけに関心を持つ。そのようなよく知られ
ていて容易に認識されるエレメントが、PSMソフトウ
ェアにおいてユーザが見つけることを期待する管理の基
本単位である。このような管理の基本単位を表すオブジ
ェクトがMEと呼ばれる。
【0014】これら管理基本単位の各々は、付加的エレ
メントに再分割される。例えば、プリント・サーバはス
プーラから構成され、更にこのスプーラがドライバ、ポ
ート・モニタおよびプリント・プロセッサのように一層
多くのエレメントから構成される。これらのエレメント
の各々が管理される必要があるにもかかわらず、それら
は典型的にはプリント・サーバの管理という文脈におい
て管理される。ユーザは、プリント・サーバと対話する
ことによって特定のプリント・サーバ上のドライバをア
ップグレードする。
【0015】MEによって提供されるMIの集合は拡張
性がある。例えば、プリンタは、たたえ対象となるイン
タフェースがPSMソフトウェアにすでに認識されてい
ないとしても、(追加または削除のような)プリンタの機
能を管理するためのインタフェースを提供することがで
きる。インタフェースを使用するため、オペレーション
およびビユー・オブジェクトが提供される(後述)。ま
た、MEによって提供されるMIの集合は動的である。
MI集合は実行時に修正されることができる。MEの変
更に対する資源が使用可能であれば、そのMEによって
提供されるMIは変わることができる。例えば、プリン
タがハードディスクを持つことも持たないこともある。
ハードディスクの存在が大容量記憶フォントを管理する
ことが可能か否かを左右するので、ハードディスクが使
用可能でなければ、大容量記憶フォントの管理に関連す
るMIは提供されない。
【0016】特定のMEによってサポートされるMI
(およびそれらMIが含む関数)は実行時に照会されるこ
とができる。MIを照会するアプリケーションは、必ず
しもそれらMIを使用する方法を知る必要はない。むし
ろ、アプリケーションは、各MEがどのMIを提供し、
どのMIがこの情報を使用してこれらインタフェースを
理解するコンポーネントとMIを一致させるか単に追跡
することができる。例えば、フォントを管理するために
使用されるMIについて何も知らないアプリケーション
でも、フォント管理インタフェースを必要するオペレー
ションをそのインタフェースを供給するMEと一致させ
ることができる。
【0017】管理インタフェース 通常、1つのオブジェクトは、単一の静的インタフェー
スを持つ。しかしながら、1つのインタフェースだけを
持つということは、オブジェクトの能力が変更される都
度インタフェースが修正されなければならないことを意
味する。同じインタフェースの複数のバージョンを持つ
ことは混同をもたらす。本発明において、複数インタフ
ェースを持つ1つのMEは、各々が管理インタフェース
(MI)と呼ばれる1つまたは複数のオブジェクトによっ
て表現されることを保証することによって、上記の問題
点が回避される。MIは、MEの特定の能力とインタフ
ェースする1つまたは複数のメソッドを含む。従って、
他の個々のオブジェクトはこれらMIを再使用すること
ができる。更に、これらMIは再コンパイルなしに実行
時に出し入れができる。
【0018】MIの細分性は、それらの有用性に影響を
及ぼさない設計決定である。MIは、無関係な関数から
なる比較的大きいセットであろうが、あるいは密接に関
係する関数からなる小さいセットであろうが、どのよう
なセットをも含むことができる。例えば、すべての新し
いLaserJetプリンタにおいて見出される機能のための関
数を含むNewLaserJetと呼ばれるMIを定義することが
できる(LaserJetはヒューレット・パッカード社の商標
である)。また、同じ関数セットを、"ChangeOnlineStat
e"(オンライン状態変更)および"PrintTestPage"(テスト
・ページ印刷)のような特定の機能に関連するいくつか
のMIに置くことができる。複数継承を使用していくつ
かの細いインタフェースから粗いインタフェースを組み
立てることによって、一層細かい細分性インタフェース
おび一層粗い細分性インタフェースの両方をサポートす
ることが可能である。粗い細分性インタフェースの使用
は少ないコードですむが、細かい細分性インタフェース
は、典型的には、理解が一層容易であり一層大きな拡張
性を提供する。
【0019】図1は、当該MEによって表される役割を
提供する装置に関する機能情報の取り出しを可能にする
複数MIに関連づけられた典型的なMEオブジェクトを
示している。各MIは、1つまたは複数の関数を含み、
それら関数の一部は、装置からの情報の取り出しを可能
にし、その他の関数は、関連装置が関数を実行すること
を可能にする。上述のように、MEは、ある装置によっ
て実行される役割に対応し、その装置が1つの役割だけ
を実行しない限り必ずしも全体としてその装置に対応し
ない。
【0020】図2の継承流れ図は、複数MIがどのよう
にMEに関連するかを示す統一モデル化言語流れ図であ
る。MEボックスをMIおよびManagementInterfacePro
viderボックスに接続する矢印は、継承を表す。具体的
には、プログラムがコンパイルされる時、継承は、継承
されるインタフェースのすべてのメソッドをMEオブジ
ェクトが実施することを指示する。MEオブジェクト
は、MIプロバイダとMI自身の両方である。図2に示
されているManagementInterfaceProvider(管理インタフ
ェース・プロバイダ)オブジェクトは、PSMソフトウ
ェアによって利用される3つの関数を含む。関数"HasMa
nagementInterface()"は、MEが指定されたMIにポイ
ンタを戻すことができるか否かを決定する。関数"GetMa
nagementInterface()"は、関連MEに関する情報を取り
出すためまたはめに何らかの関数を実行させるために利
用されるべきMIを戻す。関数"GetManagementInterfac
eList()"は、関連するMIのリストを返す。
【0021】図3は、Peripheral(周辺機器)、Peripher
alServer(周辺サーバ)およびPeripheralClient(周辺ク
ライアント)など異なる種類のMEを示している。それ
らは、プリント・パスの一部であるという共通の関係を
識別するためPrintPathManagedEntity(プリント・パス
管理対象エンティティ)から導出されている。図3は、
完全な図であることを意図されてなく、他の種類のME
を含むことが可能である。例えば、プリンタは、ページ
を折り重ね、封筒に詰め込む第3者アドオン出力ビンを
持つことができる。そのような装置は、プリンタを表示
しているMEとは別のMEであることができる。MIは
他のMIから導出されることができる。導出されたMI
がMEによってサポートされる時、そのMEは、その導
出されたMIの親のMIをサポートしなければならな
い。多くのコンポーネント技術がインタフェース継承を
サポートするので、親インタフェースの提供は通常容易
である。
【0022】図4は、典型的な管理対象エンティティ・
クラスが導出される方法の1つの例を示している。図4
は、ChangeOnlineStateおよびPrintTestPageという(M
Eではない)2つの管理インタフェースを含む。LaserJe
t2000およびLaserJet2001は必ずしもユニークなMEと
して定義される必要はない。それらは、単にプリンタM
Eとして定義されることができ、サポートされる他のど
のようなMIをも提供することができる。
【0023】MEの位置 MEオブジェクトは、次の3つの場所のうちの1つに配
置することができる。 ・それが表すマシンの範囲内に埋め込まれる(以下に例
が示される)。 ・それが表すマシンに直接接続されるマシンに配置され
る。 ・管理サーバ・マシンの範囲内に配置される。
【0024】MEオブジェクトを埋め込む主な利点は、
既存のプロトコルに対する依存性の排除である。MEオ
ブジェクトが装置に埋め込まれるとすれば、そのMEオ
ブジェクトはその装置と装置固有の形態で対話すること
ができる。埋め込まれたMEオブジェクトを持つすべて
の既存の周辺機器を改造することは実際的でないので、
MEオブジェクトを管理サーバ・マシンに配置すれば、
MEオブジェクトは既存のプロトコルを使用して通信す
ることができる。これは、管理サーバ・マシンの範囲内
にオブジェクトを配置する主要な利点である。直接接続
されたマシンにMEを配置する主要な利点は、周辺機器
がネットワークに接続されていない状況を克服すること
ができる点である。分散型コンポーネント技術はネット
ワーク接続性を必要とするので、直接接続されたマシン
上のMEは、ネットワーク経由のアクセスが不可能な直
接接続された装置のプロキシの役割をつとめなければな
らない。
【0025】MEの位置は時間経過と共に変わり得る。
IPアドレスで構成されなかった埋め込みMEを持つ周
辺機器を考察すると、IPアドレス(または他のなんら
かのネットワーク・プロトコル・サポート)がなけれ
ば、埋め込みMEと通信することは不可能である。この
状況に対処するため、管理サーバ・マシン上にプロキシ
MEが作成される。このプロキシMEは、埋め込みME
によって提供されるすべてのインタフェースをサポート
しないが、IPアドレスがセットされることを可能にす
るインタフェースをサポートする。IPアドレスがセッ
トされた後、埋め込みMEが、管理サーバ・マシン上に
配置されたMEプロキシを置き換える。データベースお
よびエクスプローラ・アブストラクト(後述)は、MEを
作成し置き換える責任を持つ。
【0026】エクスプローラ 定義 エクスプローラは、MEに対応する装置を発見し、(必
要に応じて)これらの装置に対応するMEを作成し、そ
れらを追跡するために使用されるデータベースにME参
照を送り届けるオブジェクトである。エクスプローラ
は、状態を持ち、構成されることができる。
【0027】オペレーションおよびビューは、装置と直
接対話せず、もう1つのオブジェクトMEと対話する。
これは、特定の装置と通信する方法を知ることからオブ
ジェクトを解放する。なぜなら、MEアブストラクトの
種々の実施形態がそのような知識をカプセル化するから
である。MEは、それらが表す装置に埋め込まれるか、
あるいは、他のなんらかのマシン(すなわちプロキシ)に
配置される。埋め込まれたMEは、それらが位置する装
置がブートされる時、インスタンス化される。埋め込ま
れないMEは、それらが表す装置が発見されるまで、存
在しない。装置が発見される時、適切なタイプのMEが
インスタンス化される(適切なタイプは発見の間に行わ
れる装置の照会によって決定される)。
【0028】プリンタ役割を実行するMEのため1つの
エクスプローラ、スキャナ役割を実行するMEのため1
つのエクスプローラというように、異なるMEを発見す
るため異なるエクスプローラが提供される。エクスプロ
ーラは、装置を単に発見し、必要に応じてMEを作成
し、MEをデータベース・アブストラクトに渡す。ME
に対応する数百種類の装置があり、更に年々多数が加え
られる。この状態に対処するため、エクスプローラは、
特定の装置タイプに対応するMEを作成する方法を決定
するため、装置タイプをME作成プロシージャにマップ
するテーブルを使用する。MEは通信メカニズムをカプ
セル化するので、特定タイプの装置が接続される方法に
従って異なるタイプのMEが作成される。例えば、直接
接続されるレーザー・プリンタは、ネットワークに接続
するレーザー・プリンタとは異なるタイプによって表さ
れることができる。ネットワーク装置を発見する場合と
は異なるタイプのエクスプローラが直接接続装置を発見
するために使用されるので、そのエクスプローラは、M
Eを構築する異なるME作成プロシージャを利用する。
【0029】MEをインスタンス化する特定の方法を上
述したが、上述の方法はMEインスタンス化の単なる1
例に過ぎない点は特に注意されるべきことであろう。各
エクスプローラは、MEをインスタンス化するそれ自身
のメカニズムを自由に実施することができる。実際、既
存のME(例えば装置の範囲内に埋め込まれたME)を発
見する時、エクスプローラは、MEを全くインスタンス
化しない(装置がブートした時それらはすでにインスタ
ンス化されているので)。
【0030】エクスプローラの例:LocalIPSubnetExplo
rer 最大の関心を持つ装置がローカルのサブネットに配置さ
れている装置であることが多い。これらの装置はネット
ワーク管理プログラムによって発見されることができる
が、データベースのためのレコードの生成の代わりに、
適切なタイプのMEが作成される。
【0031】DirectConnectExplorer:すべてのローカ
ル・ポートに直接接続された装置がないか検出し、検出
に基づいて、直接接続された装置のプロキシのはたらき
をする適切なタイプのMEを作成するエクスプローラが
作成される。
【0032】ServerExplorer:サーバからMEを"発見
する"エクスプローラが作成される。日常的ルーチンと
して発見を実行するサーバがすでに存在する環境におい
てそのようなエクスプローラが使用される。これは、ネ
ットワーク・トラフィックを減らしてパフォーマンスを
向上させるため使用されることができる。
【0033】ManagedEntityExplorer ネットワーク上のあらゆるMEを発見することは適切で
はない。多くのMEは、管理サーバに配置されるプロキ
シであり、その管理サーバ上の管理アプリケーションの
ためだけに使用されるように意図されている。しかしな
がら、遠隔周辺管理ソフトウェアによって使用される意
図をもって周辺機器の範囲内に埋め込まれているMEも
ある。PSMソフトウェアは、COBRA(Common Obje
ct RequestBroker Architecture)のような既存の名前付
けサービスを使用して発見することが適切でないMEを
発見することなく、発見することが適切なMEを発見す
ることができる。ME自体は、それらが外部的にアクセ
スされるべきか否かを知っているので、名前付けサービ
スに名前を登録することができるので、遠隔に配置する
ことが可能である。この解決策は、ネットワーク上に単
一の名付けサービスが確立されることを必要とする。も
う1つの解決策は、別のプロトコル(例えばSNMP)を
使用して装置を発見し、そのプロトコルの属性を使用し
て装置に埋め込まれたMEを識別するものである。基礎
をなすプロトコルの各々が埋め込まれたMEの発見を助
けるため異なるエクスプローラを必要とするが、名前付
けサービスを備えることは避けられる。
【0034】オペレーション 定義 オペレーションは、MIを使用するMEの集合に作用す
るオブジェクトである。作用される集合における各ME
は、オペレーションによって必要とされるMIをサポー
トしなければならない。オペレーションは、状態を持
ち、構成されることができる。
【0035】新しいMIが定義されると、それらのMI
を使用する新しいオペレーションが定義されることがで
きる。PSMアプリケーションは、一般に、特定のオペ
レーションについての特定の知識なしに、オペレーショ
ンをサポートすることができる。1つのオペレーション
は、それが作用するMEからの一定のMIを必要とす
る。1つのオペレーションは、複数のMIを必要とする
ことができるが、少なくとも1つのMIを必要とする。
オペレーションに従って、集合における1つのMEの順
序が有意であることもそうでないこともある。例えば、
MEの集合にIPアドレスを割り当てるオペレーション
の場合、順序は重要である。しかし、ファームウェアを
アップグレードするために使用されるオペレーションの
場合順序は重要でない。
【0036】オペレーションは、構成可能なものもそう
でないものもあり得る。単に状態をオンラインに変更す
るオペレーションは、構成を全く必要としない。構成可
能なオペレーションに関して、そのタイプのオペレーシ
ョンを構成する方法を知っているアプレットが提供され
る。アプレットは、状態が修正されることを可能にする
ユーザ・インタフェースを提供する責任を持つ。そのよ
うなアプレットは、管理クライアント・マシン上で実行
され、メソッドを起動することによってオペレーション
を構成する。1つの好ましい実施形態において、アプレ
ットはJavaで書かれる。
【0037】例 オンライン・オペレーション 図4のクラス階層に示されているChangeOnlineStateと
いうMIを参照すれば、このMIは、このMIをサポー
トしているMEのオンライン状態が変更されることを可
能にする。オンライン状態がオンラインであることを保
証するため、"ChangeOnlineState"MIを使用するオペ
レーションが構築される。オンライン・オペレーション
は、すべてのプリンタを定期的にオンラインに復元する
管理アプリケーションを構築するため使用することがで
きる。
【0038】InstallFontオペレーション ツルー・タイプ・フォントを管理するために使用される
次のようなインタフェースを考察する。
【0039】
【表1】
【0040】ここで、エンドユーザ・マシン(例えばP
C)およびプリンタ上にフォントを導入する周辺システ
ム管理アプリケーションを考察する。そのようなアプリ
ケーションは、TrueTypeFontManagementインタフェース
をサポートするマシン上にフォントを導入するオペレー
ションを使用して構築されることができる。アプリケー
ションは、単にTrueTypeFontManagementインタフェース
をサポートするすべてのMEを識別し、所望のフォント
・ファイルに関するInstallFontオペレーションを構成
し、識別されたMEに対するオペレーションを起動す
る。
【0041】AssignSequentialNetworkAddressesオペレ
ーション 1つのサブネットから他のサブネットへ物理ネットワー
クを変更する時、物理ネットワーク上のすべての装置の
番号を再割り当てする必要がある。ネットワーク管理プ
ログラムは、物理ネットワーク上の(そのようなアプリ
ケーションによって管理されている)すべての装置にネ
ットワーク・アドレスをシーケンシャルに再割り当てす
るメカニズムをサポートする。これは、オペレーション
を使用して達成される。そのようなオペレーションはネ
ットワーク・アドレスの範囲を用いて構成される。次
に、番号を再割り当てされるべき周辺機器が、(アプリ
ケーション次第でユーザの介入があることもないことも
あるが)アプリケーションによって選択される。最後
に、選択された周辺機器MEの集合に対して、AssignSe
quentialNetworkAddressesオペレーションが起動され
る。
【0042】ビュー 定義 ビューは、MIを使用するMEの集合を表示するオブジ
ェクトである。表示されている集合における各MEは、
ビューによって必要とされるMIをサポートしなければ
ならない。ビューは、状態を持ち、構成されることがで
きる。ビューは、オペレーションとほとんど同じである
が、オペレーションが与えられたMEに対して作用する
のに対して、ビューはMEを表示する点が相違する。ビ
ューは、状態、構成および表示という3つの部分に分解
される。状態は、現在の構成を追跡し、ユーザ・インタ
フェースを持たない。構成は、オペレーションのための
構成アプレットと同様である。構成は、状態が修正され
ることを可能にするユーザ・インタフェースを提示する
責任を持つ。表示は、MEの集合を表示する責任を持
つ。MEの順序は、ビューによっては、重要であること
も、そうでもないこともある。一部のビューは、集合に
おけるMEの順序を無視して、単に上述の3つの関係M
Eを表示する(残りはまとめられる)。別のビューは、集
合に与えられる順序ですべてのMEを表示する。異なる
状態を持つビューの複数のインスタンスが同時に存在す
ることができる。
【0043】例 消耗品ビュー プリンタがトナーを使い果たす時手間がかかる。 ユー
ザが訓練されていないことが多いので、トナー・カート
リッジの交換は、技術者がカートリッジを取り替える場
合より長い時間を要する。また、訓練されていないユー
ザは、プリンタを偶然傷つけることがある。この問題に
対処するため、使い果たす前にトナーを交換することが
できるように、どのプリンタがトナーを使い果たしそう
か検出する手段を持つことは役立つ。これは、ビューを
使用して達成されることができる。そのようなビュー
は、一定のトナーしきい値より下のプリンタを、トナー
の量の少ないものから多いものへの順番で、表示する。
トナーしきい値を変更することによって、ユーザは表示
されるプリンタの数を変えることができる。トナーしき
い値が100%にセットされると、すべてのプリンタが
表示される。
【0044】スキャナ・ビュー このビューは、特定のタイプのMEを表示する。プリン
タに関してビューを作成することができる。このビュー
は、プリンタが印刷する分あたりの最大ページ数を示
す。スキャナの場合、このビューは、スキャナがカラー
をサポートするか否かを標示するフィールドを持つ。こ
のように、特定タイプのMEをサポートしそのタイプに
とって意味のあるフィールドを表示するビューを作成す
ることができる。
【0045】マップ・ビュー マップで構成され、マップ上の位置に従ってMEを表示
するビューを構築することができる。MEの位置は、マ
ップ・ビューの状態を含む位置ファイルから導出され
る。ビューが状態を持つので、ユーザとビューの間の交
信から派生する情報を記憶するためその状態を使用する
ことができる。
【0046】データベース 定義 データベースは、MEを受け入れ、複製を取り扱い、後
の使用に備えてMEを記憶するオブジェクトである。ま
た、特定のMEまたはすべてのMEについてデータベー
スを消去することができる。
【0047】データベース・アブストラクトは、(エク
スプローラのような)他のアーキテクチャ上のアブスト
ラクトが特定タイプのデータベースについての知識を持
つことなく多くのタイプのデータベースと対話すること
を可能にする。使用中のデータベースの特定のタイプに
ついて知識を持つアプリケーションは、当然のことなが
ら、どのようなデータベース管理システムが基礎として
使用されていようともそれらの全機能性を自由に使用す
ることができる。データベース・アブストラクトの意図
は、エクスプローラが対話することができ、アプリケー
ションの記憶メカニズムとの通信を可能にするオブジェ
クトを提供することにある。
【0048】例 ファイル型データベース アプリケーションによっては、単にMEのリストを含む
ファイルを持つことを受け入れる。MEに関連した情報
がファイルに記録されるように、データベース・アブス
トラクトに関して指定されるインタフェース(例えばad
d、removeOne、removeAll)を実施することによってファ
イル型データベースを作成することができる。MEがデ
ータベースに加えられる時、アプリケーションによって
必要とされる情報と共に、(removeOneおよび複製処理を
サポートするため)MEをユニークに識別するために必
要とされる情報を含む行がファイルに付加される。
【0049】オブジェクト指向データベース 一部のアプリケーションの場合、オブジェクト指向デー
タベースによって提供される柔軟性が魅力的である。そ
のようなデータベースは、ファイル型データベースの場
合と同様に(但しオブジェクト指向データベースに基づ
いて)実施されることができる。
【0050】リレーショナル・データベース 高いデータベース・パフォーマンスを必要とするアプリ
ケーションの場合、リレーショナル・データベースを使
用することが魅力的かもしれない。そのようなデータベ
ースは、ファイル型データベースの場合と同様に(但し
リレーショナル・データベースに基づいて)実施される
ことができる。
【0051】システム構成 図5には、本発明を実施するシステムが図示されてい
る。クライアント・コンピュータ10は、中央処理装置
(CPU)12、ネットワーク相互接続モジュール14、
およびPSMオブジェクト18を保有するメモリ16を
含む。PSMオブジェクト18は、ネットワーク20を
経由してアクセス可能な複数のPeripheral(周辺装置)を
管理するため、上述の種々のオブジェクト(Object)を利
用するために必要なコードを含む。
【0052】周辺装置22および24の各々は、Manage
mentInterfaceProvider(管理インタフェース・プロバイ
ダ)オブジェクト26を含む。ManagementInterfaceProv
iderオブジェクト26は、"has interface method"メソ
ッド8、"list interface method"メソッド30および"
get interface method"メソッド32へのアクセスを可
能にする。各周辺装置は、更に、1つまたは複数の埋め
込みMEオブジェクトを含み、それら埋め込みME(Man
aged Entity)オブジェクトの各々は、それぞれの周辺装
置役割に関する情報の検索を可能にする1つまたは複数
のMI(Management Interface)への参照を可能にする。
上述のように、各MIは、その実行がそれぞれの周辺装
置によって演じられる役割に関する情報の検索を可能に
する少なくとも1つの関数を含むオブジェクトである。
【0053】以下の記述においては、すべてのオブジェ
クトがすでにメモリにロードされ、使用の準備ができて
いると仮定する。しかしながら、磁気ディスク29のよ
うな1つまたは複数のデータ記憶装置上にそのようなオ
ブジェクトを記憶しておき、その内容を必要に応じてメ
モリにロードすることも可能である。
【0054】メモリ16は、更に、選択されたME、状
態および構成の表示を可能にするビュー・オブジェクト
36、MIを使用するMEの集合に作用するオペレーシ
ョン・オブジェクト38、データベース・オブジェクト
40というMEオブジェクトに対する参照を取得するた
めのMethod(メソッド)を各々含む1つまたは複数のエク
スプローラ・オブジェクト34を含む。
【0055】例としてのアプリケーション:"UpdateFir
mware" 図6および図7を参照して、PSMプロシージャ18の
オペレーションの詳細を以下に記述する。図6および図
7は、ネットワーク・プリンタのファームウェアをアッ
プグレードする責任を持つアプリケーションを例示する
本発明の方法の論理の流れ図を含む。このアプリケーシ
ョンは、次のような活動を実行する。 1. ネットワーク上のすべての使用可能プリンタを特定
する。 2. それぞれのファームウェアをアップグレードおよび
構成する能力を備えるプリンタのプリンタ・モデル別リ
ストを表示する。 3. プリンタ・リストから1つまたは複数のプリンタを
ユーザが選択することを可能にする。 4. 選択されたプリンタの各々のファームウェアをアッ
プグレードする。
【0056】背景 プリンタは、プリント・ジョブを処理するために使用さ
れる(ROMまたはフラッシュメモリのような他のなん
らかの半永久的メモリに記憶されるので)ファームウェ
アと呼ばれるソフトウェアを含む。PC上のソフトウェ
アと同様に、ファームウェアは、時々、欠陥を修復した
り、新機能を追加する。独立した活動として各プリンタ
を更新するのではなく、管理者が同じモデルのすべての
プリンタのファームウェアを更新する手段を持つことが
望ましい。
【0057】実行 1. UpdateFirmware(ファームウェア更新)アプリケーシ
ョンが始動する(図6ステップ100)。この時点ではア
プリケーションはMEをなにも持っていない。 2. アプリケーションは、1つまたは複数のエクスプロ
ーラを使用するMEを特定する。アプリケーションは、
起動時に構築される既知のすべてのエクスプローラを含
むリストを所有している。このリストはいくつかの方法
で構築することができるが、単純化のため、リストは、
ファイルを読み取ることによって取得されると仮定す
る。また、各エクスプローラは、独立した動的リンク・
ライブラリ(すなわちDLL)に含まれていて、上記リス
トが、DLLのファイル・システムにおいて各エクスプ
ローラ・オブジェクトのための実行可能コードを含む位
置を識別すると仮定する。更に、エクスプローラのリス
トはただ1つのエントリを持つと仮定する。アプリケー
ションは、リストを読み、(オペレーティング・システ
ム呼び出しを使用して)DLLをロードし、エクスプロ
ーラ・オブジェクトのインスタンスをインスタンス化す
るためDLLのエクスポートされた関数を起動する(ス
テップ102)。
【0058】3. 今や、アプリケーションはエクスプロ
ーラ・オブジェクトを持つ。次のステップは、エクスプ
ローラ・オブジェクトを使用して、MEのリストを取得
することであるが、それはエクスプローラ・オブジェク
トの起動を必要とする。エクスプローラ・オブジェクト
のメソッドは、発見されたMEのリストを提供するアレ
イのようなデータ構造を戻す。以下のC++アブストラ
クト基本クラスは、エクスプローラのための可能なイン
タフェース(および特に、本例において使用されるイン
タフェース)を例示する。
【0059】
【表2】 class Explorer { virtual void explore(ManagedEntity *MEList, int *MEListLength) = O; };
【0060】4. アブストラクト基本クラスはエクスプ
ローラのインタフェースを与えるが、実施形態を記述し
ない。多数の実施形態があり得るが、単純化のため、こ
のエクスプローラはプリンタの範囲内に埋め込まれるM
Eのリストを含むテキスト・ファイルへの参照を含む
(これらのMEの各々はプリンタが始動した時作成され
た)と仮定する。 5. エクスプローラ・オブジェクト上のエクスプローラ
・メソッドを起動した後、アプリケーションはアレイの
形態のMEの集合を持つ。次のステップは、RemoteFirm
wareUpdate(遠隔ファームウェア更新)MIを供給するM
Eを表示する(ステップ104)。このステップを達成す
るため、アプリケーションは、各MEがRemoteFirmware
UpdateMIを提供するか否か判断しなければならない。
これは、MEの各々の上の"hasInteface"メソッド28
を起動することによって行われる。例えば、MIのイン
タフェースは、次のようなC++アブストラクト基本ク
ラスによって表されることができる。
【0061】
【表3】 class ManagedEntity { boolean hasManagementInterface(string mi_name) = O; ManagementInterface *getManagementInterface(string mi_name) = O; void getManagementInterfaceList(string *strList, int *strListLen) = 0; };
【0062】6. hasInterfaceが起動される時、各ME
は真または偽を返さなければならない(ステップ10
6)。各MEが提供する応答は、MEによってサポート
されているMI名の各々をリストする内部テーブルを調
べることによって決定される。hasInterface関数は、供
給されたMI名をテーブルに含まれるMI名の各々と比
較する。hasInterfaceは、一致が見つからなければ、偽
を返し、一致が見つかれば、真を返す。上記説明は管理
インタフェース名のテーブルを含むものとしてMEを示
しているが、必ずしもすべてのMEがそのように実施さ
れるとは限らない。
【0063】7. MEの各々がRemoteFirmwareUpgrade
管理インタフェースをサポートしているか否か照会され
た後、次のステップは、このインタフェースをサポート
するMEを表示するものである。アプリケーションはこ
れらのMEに関する情報を直接表示することはできる
が、ビュー・オブジェクトを使用してこれらのMEを表
示する方が一層柔軟である。ビュー・オブジェクトは、
再使用可能であり、ここに取り上げているアプリケーシ
ョン以外のアプリケーションにおいても使用することが
できる。ビュー・オブジェクトは、作業すべき1つまた
は複数の特定MIを必要とする。この場合、ビュー・オ
ブジェクトは、RemoteFirmwareUpgradeMIを必要とす
る。RemoteFirmwareUpgrade管理インタフェースは、次
のようなアブストラクト基本クラスによって表されるこ
とができる。
【0064】
【表4】 class RemoteFirmwareUpgrade : ManagementInterface { unsigned long firmwareVersion version () = O; void upgradeFirmware ( string newFirmwareURL ) = 0; string printerModel() = O; };
【0065】実際の実施形態においては、printerModel
関数は、なんらかの別のもっと一般的MIの一部であろ
うが、この例では単純化のためRemoteFirmwareUpgrade
MIに含まれている。RemoteFirmwareUpgradeMIは、
本例を完了するために必要とされるすべての関数を含
む。RemoteFirmwareUpgradeMIをサポートするMEを
表示する前に、ビュー・オブジェクトをインスタンス化
する必要がある(ステップ108)。
【0066】8. (本例における)ビュー・オブジェクト
のインスタンス化は、オペレーティング・システムAP
Iを使用してDLLをメモリにロードして、ビュー・オ
ブジェクトを作成するメソッドを呼び出すことによって
実行される。 9. 一旦ビュー・オブジェクトが作成されたなら、それ
を使用してMEを表示することができる。ビューは、C
++アブストラクト基本クラスとして定義される次のよ
うなインタフェースを持つものとみなされる。
【0067】
【表5】 class ManagementView { void display(ManagedEntity *me_list, int *me_listLen) = O; void getSelectedMEs (ManagedEntity *me_list, int *me_listLen) = O; };
【0068】MEの集合を表示するため、MEポインタ
のアレを用いるdisplay(表示)メソッドが起動される。
それに応じて、ビュー・オブジェクトは以下のようにオ
ペレーションを実行する。 ・各MEに関してhasInterfaceメソッドを起動すること
によって、MEリスト・アレイにおいて与えられた各M
EがRemoteFirmwareUpgradeMIをサポートすることを
検証する。これに応答して、前述のように、各MEは内
部データ構造を調べて与えられたMIがサポートされて
いるか否か判断する。RemoteFirmwareUpgradeMIをサ
ポートしないMEがMEリスト・アレイの中に存在すれ
ば、エラーが発生する。 ・各MEから実際のRemoteFirmwareUpgradeMIを取得
する(ステップ108)。これは、各MEに関して所望の
MI名(このケースでは"RemoteFirmwareUpgrade")を用
いてgetManagementInterface関数を起動することによっ
て達成される。各MIは、MIクラスへのポインタとし
て表現される。前述のように、実際のMEはプリンタの
範囲内で遠隔場所に存在する。これは、MIを構成する
関数の実施もまた遠隔に存在することを意味する。ビュ
ー・オブジェクトのようなクライアント・ソフトウェア
がローカルのインタフェース(例えばRemoteFirmwareUpg
rade)と対話するとしても、これらローカル・インタフ
ェースは、プリンタの範囲内に存在する実際の実施形態
からのパラメータおよびメソッドを利用する確立された
通信プロシージャを使用する。一旦MIが取得される
と、MIはRemoteFirmwareUpgradeとしてのタイプを与
えられ、テーブルに記憶される。このテーブルは、ME
へのローカル・ポインタ、対応するMEに関するRemote
FirmwareUpgradeMIへのローカル・ポインタ、バージ
ョン番号(後述)およびモデル(後述)を含む。
【0069】・RemoteFirmwareUpgradeMIによって提
供されるfirmwareVersionメソッドを起動することによ
って各MEのバージョン番号を取得する(各MEは、こ
のMIのそれ自身の独立した実施形態を持つ)。取得さ
れた値は、各MEに関する情報(例えばインタフェース
・ポインタ)を記憶するために使用されるテーブルに記
憶される。 ・RemoteFirmwareUpgradeMIによって提供されるprint
erModel関数を起動することによって各MEのプリンタ
・モデルを取得する(各MEは、このMIのそれ自身の
独立した実施形態を持つ)。取得された値は、各MEに
関する情報(例えばインタフェース・ポインタ)を記憶す
るために使用されるテーブルに記憶される。
【0070】10. 今や、各MEに関する情報を記憶す
るために使用されるテーブルが利用可能であるので、テ
ーブルをプリンタ・モデルおよびファームウェア・バー
ジョンによってソートすることができる。ソートは、確
立されているいくつかの手段のいずれによってでも実施
することができる。次に、ビュー・オブジェクトは、ウ
ィンドウをオープンし、記憶されているME情報リスト
を表示することができる。このリストにおいて、ビュー
・オブジェクトは、プリンタ・モデルおよびファームウ
ェア・バージョンを特に示すことができる。ビュー・ウ
ィンドウがクリックされる時、ビュー・オブジェクト
は、テーブルにおけるどのMEエントリがクリックされ
たかを判断して、次の2つのオペレーションを行う。第
1に、ビュー・オブジェクトは、ウィンドウにおいてそ
のエントリをハイライトする。第2に、ビュー・オブジ
ェクトは、MEテーブルにおけるフィールドを修正して
そのフィールドが選択されていることを示す。
【0071】上述のように、ビュー・オブジェクトの範
囲内でMEを追跡するために使用されるテーブルは、M
Eへのローカル・ポインタ、対応するMEに関するRemo
teFirmwareUpgradeMIへのローカル・ポインタ、ファ
ームウェア・バージョン番号およびモデル名を含むもの
として記述された。このテーブルは、ユーザ・インタフ
ェースを通して特定のエントリが選択されたことを標示
する新しいブーリアン・フィールドを含むように拡張さ
れる。
【0072】11. 一旦ユーザがアップグレードすべき
所望のME(例えばプリンタ)を選択したならば、ユーザ
は、アプリケーションによって提供されるメニュー項目
のようなユーザ・インタフェースを通して、ファームウ
ェア・アップグレードが実行されるべきことを標示する
ことができる。これは、オペレーションと呼ばれるメニ
ューをプルダウンして、"upgrade remote firmware"を
選択することによって達成されることができる。オペレ
ーションは、MEの集合に対して実行されるAction(ア
クション)である。しかし、オペレーションが使用され
ることができる前に、次の2点が起きなければならな
い。第1に、オペレーションがインスタンス化されなけ
ればならない。第2に、オペレーションが構成されなけ
ればならない。次のようなC++アブストラクト基本ク
ラスがオペレーションに関する可能なインタフェースを
提供する。
【0073】
【表6】
【0074】12. オペレーションの作成は、ビューお
よびエクスプローラの作成の場合と同様な方法で行われ
る。すなわち、オペレーティング・システム呼び出しを
使用してDLLをメモリへロードして、そのDLLによ
ってエクスポートされた関数を起動することによって、
オペレーションがインスタンス化される。
【0075】13. 一旦作成されたならば、オペレーシ
ョンは構成される必要がある。これは、オペレーション
・オブジェクトによって供給される"configure"メソッ
ドを起動することによって、実行される。このメソッド
は、ユーザがオペレーション・オブジェクトを構成する
ことを可能にする構成ダイアログを表示する。ユーザ・
インタフェースは、テキスト編集ボックスおよびそれに
続くラベルを含む。ラベルは、アップグレードされるべ
きプリンタ・ファームウェアが記憶されているターゲッ
トURLをテキスト編集ボックスが含むべきものである
ことを標示する。ユーザは、プリンタ・ファームウェア
が置かれている有効なURLを与えるストリングを入力
する。ユーザがURLに入力したならば、オペレーショ
ン・オブジェクトは構成され、動作の準備ができる。
【0076】14. 最初に、アプリケーションは、選択
されたMEをオペレーション・オブジェクトに渡すこと
ができるように、選択されたMEのリストを取得しなけ
ればならない(ステップ112)。このため、アプリケー
ションはビュー・オブジェクトからgetSelectedMEsメソ
ッドを起動する。このメソッドは、MEのテーブルをア
クセスして、選択されている各MEをアレイに書き込
む。その後、このアレイはアプリケーションに返され
る。今や、アプリケーションはアレイの中に選択された
MEを持つので、オペレーション・オブジェクトのメソ
ッドを起動することができる。
【0077】15. メソッドは次のように動作する。 ・各MEのhasInterfaceを起動することによって、渡さ
れたMEの各々がRemoteFirmwareUpgradeMIを所有し
ていることを検証する。 ・各MEに関してgetInterfaceメソッドを起動すること
によってRemoteFirmwareUpgradeMIに対するローカル
・ポインタを取得する。これは、RemoteFirmwareUpgrad
eMIのMI名をgetInterfaceメソッドに渡すことによ
って実行される。供給されたMEのすべてがRemoteFirm
wareUpgradeMIを提供することを確認した後、各ME
はMEごとにそれぞれ個別に処理される。換言すれば、
次のステップが完了した後、MEの処理が開始する。 ・RemoteFirmwareUpgradeMIを取得した後upgradeFirm
wareメソッドを起動する。upgradeFirmwareメソッドはR
emoteFirmwareUpgradeMIの一部として提供される。こ
のメソッドは、ファームウェアが置かれているURLを
記述するストリングを受け入れる。
【0078】上述のように、MEおよびMIは、ローカ
ル・プロキシ・オブジェクト(すなわち本例によって使
用されているアブストラクト基本クラス)によって表さ
れている。これらのクラスは、通信プロトコルのためフ
ロントエンドを提供する。実際に実施されるupgradeFir
mwareメソッドは、各プリンタに配置される(上述のよう
に各プリンタは埋め込みMEを含む)。upgradeFirmware
メソッドが起動される時、各プリンタの範囲内に実施さ
れるメソッドが、URLによって指定されるサーバから
ファームウェアをダウンロードするために必要なAction
を実行する。一旦ファームウェア・イメージがダウンロ
ードされると、プリンタは、チェックサムの確認(また
は他の適切な技法)によってファームウェア・イメージ
を検査し、ファームウェア・イメージを半永久記憶装置
へ書き込む。最後に、プリンタは、新しいファームウェ
アを実行させるためそれ自身をリセット(ウォーム・リ
ブート)する。各MEが処理され、すべてのファームウ
ェア・イメージがアップグレードされたならば、アプリ
ケーションは終了する。
【0079】上記記述が本発明を例示する目的からのみ
行われた点は理解されるべきことであろう。本発明の理
念を逸脱することなく当業者によって上記実施形態に種
々の修正および変更を加えられることができるであろ
う。
【0080】本発明には、例として次のような実施様態
が含まれる。 (1)管理コンピュータが周辺システムの装置を管理する
ことを可能にするシステムであって、管理対象装置の各
々が、必ずしも上記管理コンピュータではないコンピュ
ータのため1つまたは複数のサービスを提供すると共
に、インタフェース・オブジェクトに関するメソッドが
実行されることを可能にする管理インタフェース・プロ
バイダ・オブジェクトを記憶し、上記サービスの各々
が、1つまたは複数の管理インタフェースに対する参照
を含む関連する管理対象エンティティ・インタフェース
を有し、上記管理インタフェースの各々が、上記管理対
象エンティティによって表され、上記管理対象装置によ
って実行される上記サービスの機能に関する情報を提供
するかまたは上記管理対象装置が関数を実行することを
可能にするか少なくともいずれかを実行する1つまたは
複数のメソッドを備え、上記管理コンピュータが、上記
管理対象装置の各々との通信を可能にする入出力手段
と、エクスプローラ・オブジェクトを記憶するメモリ
と、管理対象装置のサービスに関するユーザ照会に応答
して、上記管理対象装置のサービスに対応する管理対象
エンティティを決定するため上記エクスプローラ・オブ
ジェクトを起動し、また、上記照会に関連し上記管理対
象装置に関する情報へのアクセスを可能にするかまたは
上記管理対象装置が上記照会に関連する関数を実行する
ことを可能にする上記管理対象エンティティに関連する
管理インタフェースを復元するため上記インタフェース
・プロバイダ・オブジェクトを起動するプロセッサ手段
と、を備える、周辺装置管理システム。
【0081】(2)上記メモリがビュー・オブジェクトを
含み、上記プロセッサが、上記ビュー・オブジェクトに
関連するメソッドを起動して上記管理対象装置サービス
に対応する上記管理対象エンティティのうちの少なくと
も1つを表示し、それによって、ユーザが上記インタフ
ェース・プロバイダ・オブジェクトの関数を起動する前
に1つまたは複数の上記管理対象エンティティを選択す
ることを可能にする、前記(1)に記載の周辺装置管理シ
ステム。 (3)上記メモリがビュー・オブジェクトを含み、上記プ
ロセッサが、上記ビュー・オブジェクトに関連するメソ
ッドを起動して上記管理対象エンティティのグループの
状態を表示する、前記(1)に記載の周辺装置管理システ
ム。 (4)上記管理インタフェース・プロバイダ・オブジェク
トが、照会された機能に対応する関連する管理インタフ
ェースを有するか否かを判断するメソッドと、上記関連
する管理インタフェース・オブジェクトを取り出すメソ
ッドと、管理対象エンティティに関連する管理インタフ
ェース・オブジェクトをリストするメソッドと、を含
み、上記プロセッサが、上記管理対象エンティティに関
連する上記管理インタフェース・オブジェクトを復元す
るため上記メソッドの少なくとも1つを使用する、前記
(1)に記載の周辺装置管理システム。
【0082】(5)特定のサービスを含む上記管理対象装
置の各々が、実質的に同等の管理対象エンティティ・イ
ンタフェースで上記サービスを表す、前記(1)に記載の
周辺装置管理システム。 (6)特定の機能を含む上記管理対象装置の各々が、実質
的に同等の管理対象インタフェース・オブジェクトで上
記機能を表す、前記(1)に記載の周辺装置管理システ
ム。 (7)上記管理対象装置の少なくとも一部が1つのネット
ワークを経由して上記コンピュータと相互接続される、
前記(1)に記載の周辺装置管理システム。
【0083】(8)周辺システムの装置を管理するため管
理コンピュータを制御するメモリ媒体であって、管理対
象装置の各々が、必ずしも上記管理コンピュータではな
いコンピュータのため1つまたは複数のサービスを提供
すると共に、インタフェース・オブジェクトに関するメ
ソッドが実行されることを可能にする管理インタフェー
ス・プロバイダ・オブジェクトを記憶し、上記サービス
の各々が、1つまたは複数の管理インタフェースに対す
る参照を含む関連する管理対象エンティティ・インタフ
ェースを有し、上記管理インタフェースの各々が、上記
管理対象エンティティによって表され、上記管理対象装
置によって実行される上記サービスの機能に関する情報
を提供するかまたは上記管理対象装置が関数を実行する
ことを可能にするか少なくともいずれかを実行する1つ
または複数のメソッドを備え、上記管理コンピュータが
上記管理対象装置の各々との通信を可能にする入出力手
段およびエクスプローラ・オブジェクトを記憶するメモ
リを有し、管理対象装置のサービスに関するユーザ照会
に応答して、上記管理対象装置のサービスに対応する管
理対象エンティティを決定するため上記エクスプローラ
・オブジェクトを起動するように上記管理コンピュータ
を制御する手段と、上記照会に関連しかつ上記管理対象
装置に関する情報へのアクセスを可能にするか、また
は、上記管理対象装置が上記照会に関連する関数を実行
することを可能にする上記管理対象エンティティに関連
する管理インタフェースを復元するため上記インタフェ
ース・プロバイダ・オブジェクトを起動するように上記
管理対象装置を制御する手段と、を備える、メモリ手
段。
【0084】(9)上記メモリがビュー・オブジェクトを
含み、上記ビュー・オブジェクトに関連するメソッドを
起動して上記管理対象装置サービスに対応する上記管理
対象エンティティのうちの少なくとも1つを表示し、そ
れによって、ユーザが上記インタフェース・プロバイダ
・オブジェクトの関数を起動する前に1つまたは複数の
上記管理対象エンティティを選択することを可能にする
ように上記管理コンピュータを制御する、前記(8)に記
載のメモリ手段。 (10)上記メモリがビュー・オブジェクトを含み、上記ビ
ュー・オブジェクトに関連するメソッドを起動して上記
管理対象エンティティのグループの状態を表示するよう
に、上記管理コンピュータを制御する、前記(8)に記載
のメモリ手段。
【0085】(11)上記管理インタフェース・プロバイダ
・オブジェクトが、照会された機能に対応する関連する
管理インタフェースを有するか否かを判断するメソッド
と、上記関連する管理インタフェース・オブジェクトを
取り出すメソッドと、管理対象エンティティに関連する
管理インタフェース・オブジェクトをリストするメソッ
ドと、を含み、上記管理対象エンティティに関連する上
記管理インタフェース・オブジェクトを復元するため上
記メソッドの少なくとも1つを使用するように上記管理
コンピュータを制御する、前記(8)に記載のメモリ手
段。 (12)特定のサービスを含む上記管理対象装置の各々が、
実質的に同等の管理対象エンティティ・データ構造で上
記サービスを表す、前記(12)に記載のメモリ媒体。 (13)特定の機能を含む上記管理対象装置の各々が、実質
的に同等の管理対象インタフェース・オブジェクトおよ
び内包されたメソッドで上記機能を表す、前記(12)に記
載のメモリ媒体。
【0086】
【発明の効果】本発明によると、オブジェクト・インタ
フェースを利用して、効率的で、拡張性の高い周辺シス
テム管理が実現される。
【図面の簡単な説明】
【図1】典型的なMEデータ構造のブロック図である。
【図2】MEがMIのサブクラスであるという関係を示
す統一モデル言語表現を表すブロック図である。
【図3】種々の種類のMEを示すブロック図である。
【図4】MEクラスの導出の1例を示すブロック図であ
る。
【図5】本発明の方法を実行するシステムの構成を示す
ブロック図である。
【図6】図7と共に、本発明の方法の1例の論理の流れ
図である。
【図7】図6と共に、本発明の方法の1例の論理の流れ
図である。
【符号の説明】
10 管理コンピュータ 14 ネットワーク相互接続機構すなわち入出
力手段 16 メモリ 22、24 管理対象周辺装置 26 管理インタフェース・プロバイダ・オブ
ジェクト 33 管理対象エンティティ
フロントページの続き (72)発明者 ジェームズ・クラフ アメリカ合衆国83642アイダホ州メリディ アン、イースト・ワクリー・ストリート 465 (72)発明者 エム・スコット・ガートナー アメリカ合衆国83713アイダホ州ボイジー、 ウェスト・パーム・ストリート 11082

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】管理コンピュータが周辺システムの装置を
    管理することを可能にするシステムであって、 管理対象装置の各々が、必ずしも上記管理コンピュータ
    ではないコンピュータのため1つまたは複数のサービス
    を提供すると共に、インタフェース・オブジェクトに関
    するメソッドが実行されることを可能にする管理インタ
    フェース・プロバイダ・オブジェクトを記憶し、 上記サービスの各々が、1つまたは複数の管理インタフ
    ェースに対する参照を含む関連する管理対象エンティテ
    ィ・インタフェースを有し、 上記管理インタフェースの各々が、上記管理対象エンテ
    ィティによって表され、上記管理対象装置によって実行
    される上記サービスの機能に関する情報を提供するかま
    たは上記管理対象装置が関数を実行することを可能にす
    るか少なくともいずれかを実行する1つまたは複数のメ
    ソッドを備え、 上記管理コンピュータが、 上記管理対象装置の各々との通信を可能にする入出力手
    段と、 エクスプローラ・オブジェクトを記憶するメモリと、 管理対象装置のサービスに関するユーザ照会に応答し
    て、上記管理対象装置のサービスに対応する管理対象エ
    ンティティを決定するため上記エクスプローラ・オブジ
    ェクトを起動し、また、上記照会に関連し上記管理対象
    装置に関する情報へのアクセスを可能にするかまたは上
    記管理対象装置が上記照会に関連する関数を実行するこ
    とを可能にする上記管理対象エンティティに関連する管
    理インタフェースを復元するため上記インタフェース・
    プロバイダ・オブジェクトを起動するプロセッサ手段
    と、 を備える、周辺装置管理システム。
JP2000079686A 1999-04-23 2000-03-22 周辺装置管理システム Pending JP2000311129A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29859099A 1999-04-23 1999-04-23
US09/298590 1999-04-23

Publications (1)

Publication Number Publication Date
JP2000311129A true JP2000311129A (ja) 2000-11-07

Family

ID=23151175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000079686A Pending JP2000311129A (ja) 1999-04-23 2000-03-22 周辺装置管理システム

Country Status (2)

Country Link
JP (1) JP2000311129A (ja)
DE (1) DE10006416A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006003817A1 (ja) * 2004-07-02 2006-01-12 Matsushita Electric Industrial Co., Ltd. 機器制御装置
US7417754B2 (en) 2001-09-05 2008-08-26 Hewlett-Packard Development Company, L.P. Wireless printing interface kit and method
US7565398B2 (en) 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
KR100960586B1 (ko) 2006-03-28 2010-06-03 파나소닉 전공 주식회사 네트워크 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7417754B2 (en) 2001-09-05 2008-08-26 Hewlett-Packard Development Company, L.P. Wireless printing interface kit and method
US7565398B2 (en) 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
WO2006003817A1 (ja) * 2004-07-02 2006-01-12 Matsushita Electric Industrial Co., Ltd. 機器制御装置
JPWO2006003817A1 (ja) * 2004-07-02 2008-04-17 松下電器産業株式会社 機器制御装置
US7565209B2 (en) 2004-07-02 2009-07-21 Panasonic Corporation Device control apparatus
JP4657209B2 (ja) * 2004-07-02 2011-03-23 パナソニック株式会社 機器制御装置、機器制御装置の制御方法、プログラムおよび記録媒体
KR100960586B1 (ko) 2006-03-28 2010-06-03 파나소닉 전공 주식회사 네트워크 시스템
US8089896B2 (en) 2006-03-28 2012-01-03 Panasonic Electric Works Co., Ltd. Network system

Also Published As

Publication number Publication date
DE10006416A1 (de) 2000-11-02

Similar Documents

Publication Publication Date Title
US6405310B1 (en) System and method for peripheral system management using operation object interfaces for device control
US6008806A (en) Shell extensions for an operating system
US6173289B1 (en) Apparatus and method for performing actions on object-oriented software objects in a directory services system
US7047257B2 (en) Computer file management system
US7917855B1 (en) Method and apparatus for configuring a user interface
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US7596611B1 (en) Method and apparatus for maintaining information for use in the configuration of a client
US6353926B1 (en) Software update notification
JP4215373B2 (ja) Java環境の管理可能性及び有用性を改善するシステム、方法及び記録媒体
US5893106A (en) Object oriented server process framework with interdependent-object creation
US5862386A (en) Apparatus and method for providing a facility for managing versions and configurations of persistent and transient objects
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US20080098309A1 (en) Managing virtual machines and hosts by property
US20040088397A1 (en) System and method for management of software applications
JP3688571B2 (ja) 情報処理装置
US7840942B2 (en) Configuration file sharing
KR20010080372A (ko) 운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및장치
US7974987B1 (en) Database for storing device handle data in an extensible firmware interface environment
WO2008074603A1 (en) Application server provisioning by disk image inheritance
KR20010041294A (ko) 분산 시스템에서 동적 룩업 서비스
US6944620B2 (en) File system creator
US7930378B2 (en) Method to support XML-based consoles in pre-boot and post operating system execution environments
US11522967B2 (en) System metamodel for an event-driven cluster of microservices with micro frontends
CA2016396C (en) Initial program load (ipl) based on an object abstraction for a data processing system
US20060206458A1 (en) Serving program elements through a unified interface