[go: up one dir, main page]

DE10006416A1 - System und Verfahren für eine Peripheriesystemverwaltung unter Verwendung von Mehr-Objekt-Schnittstellen - Google Patents

System und Verfahren für eine Peripheriesystemverwaltung unter Verwendung von Mehr-Objekt-Schnittstellen

Info

Publication number
DE10006416A1
DE10006416A1 DE10006416A DE10006416A DE10006416A1 DE 10006416 A1 DE10006416 A1 DE 10006416A1 DE 10006416 A DE10006416 A DE 10006416A DE 10006416 A DE10006416 A DE 10006416A DE 10006416 A1 DE10006416 A1 DE 10006416A1
Authority
DE
Germany
Prior art keywords
interface
managed
mes
management
service
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.)
Withdrawn
Application number
DE10006416A
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.)
Hewlett Packard Development Co LP
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 DE10006416A1 publication Critical patent/DE10006416A1/de
Withdrawn 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

Die Erfindung ermöglicht, daß ein Computer Elemente eines Peripheriesystems verwaltet, wobei jede Peripherieeinheit des Systems einen oder mehrere Dienste für den Computer liefert. Jede Peripherieeinheit weist eine zugeordnete "Verwaltete-Entität"-Schnittstelle (ME-Schnittstelle) für jeden Dienst auf. Jede ME-Schnittstelle umfaßt einen Bezug (Bezüge) auf eine oder mehrere "Verwaltungsschnittstellen" (MI), die aus mehreren Verfahren zum Liefern von Informationen bezüglich eines Merkmals (von Merkmalen) der ME und/oder zum Bewirken, daß das Gerät, das die ME aufweist, eine Funktion durchführt, besteht. Der Computer umfaßt ein Eingabe/Ausgabe-Modul zum Ermöglichen von Kommunikationen mit jeder der Einheiten des Peripheriesystems und einen Speicher zum Speichern eines Explorer-Objekts. Ein Prozessor in dem Computer spricht auf eine Benutzerabfrage bezüglich einer Peripherieeinheit an, um (i) das Explorer-Objekt aufzurufen, um eine ME zu bestimmen, die der Peripherieeinheit entspricht, und (ii) ein Verfahren des Schnittstellenanbieter-Objekts aufzurufen, um ein MI-Objekt wiederzugewinnen, das der ME zugeordnet ist, das Informationen und Verfahren, die sich auf die Peripherieeinheit, die Aktivitäten derselben und die Benutzerabfrage beziehen, umfaßt.

Description

Diese Erfindung bezieht sich auf die Verwaltung von Periphe­ riesystemen und spezieller auf ein System und ein Verfahren für eine Peripheriesystemverwaltung, die Objektschnittstel­ len verwendet.
Ein Verwalten eines Peripheriesystems beinhaltet ein Konfi­ gurieren von Geräten, aus denen das Peripheriesystem be­ steht, ein Erhalten des Zustands derselben und ein Empfangen von Ereignissen von den Geräten. Die Fähigkeiten der Geräte variieren stark und Kommunikationsprotokolle, die verwendet werden, um mit den Geräten zusammenzuwirken, variieren eben­ falls stark. Eine Software, die ein Peripheriesystem verwal­ tet, muß diese Vielfalt unterbringen und ist folglich oft ziemlich komplex. Ein Peripheriesystem, wie der Ausdruck später verwendet wird, umfaßt Drucker, Scanner (Abtastvor­ richtungen), Server, Multifunktionsgeräte und Peripherie- Clients, wie beispielsweise Personalcomputer.
Verkäufer liefern dauernd neue Modelle von Peripheriegerä­ ten, Peripherieservern und Peripherie-Clients die weitere Herausforderungen an Entwickler von Peripheriesystemverwal­ tungs-Softwaresystemen darstellen. Eine solche Software muß dauernd überprüft werden, um solche neuen Geräte und neuen Gerätemerkmale zu unterstützen, was ferner die Komplexität solcher Software erhöht.
Die Fähigkeiten, die durch Peripheriegeräte, Peripherieser­ ver und Peripherie-Clients geliefert werden, variieren ba­ sierend auf deren jeweiligen Konfigurationen. Wenn Betriebs­ mittel, wie beispielsweise Festplatten, hinzugefügt oder entfernt werden, muß die Peripheriesystemverwaltung diese Fähigkeitsänderungen handhaben - was ferner die Komplexität der Peripheriesystemverwaltungssoftware erhöht.
Peripheriesystemverwaltungs-Anwendungen (PSM-Anwendungen; PSM = peripheral system management) ermöglichen oft Endbe­ nutzern, "Operationen" bezüglich einer Ansammlung von Gerä­ ten unter Verwendung eines einzigen Befehls durchzuführen, was im Gegensatz zum Ausgeben des selben Befehls immer wie­ der für jedes Gerät steht. Zum Beispiel ermöglichen PSM-An­ wendungen, daß einer Ansammlung von Geräten ihre Adressen durch eine Verwendung eines einzigen Befehls neu zugewiesen werden, wobei jedoch solche Anwendungen keine neuen Fähig­ keiten bezüglich solcher Geräte unterbringen. PSM-Anwendun­ gen zeigen ferner typischerweise Benutzerschnittstellenele­ mente an, die eine Ansammlung von Geräten, die verwaltet werden, darstellen. Durch diese Schnittstelle kann der Be­ nutzer Verwaltungshandlungen bezüglich mehrerer Geräte zur gleichen Zeit durchführen. Im allgemeinen ist diese Schnitt­ stelle nicht erweiterbar und liefert nicht die Fähigkeit; die Art, auf die eine PSM-Anwendung mehrere Geräte anzeigt, signifikant zu ändern. Im Gegensatz ermöglichen PSM-Anwen­ dungen, daß Geräteentwickler "Applet"-Erweiterungen (d. h. kleine Programme) beitragen, die spezifizieren, wie ein Ge­ rät unterstützt wird. Wenn ein Benutzer einen Wunsch an­ zeigt, ein einzelnes Gerät zu verwalten, wird das Applet verwendet, um eine gerätespezifische Benutzerschnittstelle für den Benutzer darzustellen. Auf dieselbe Art, auf die ein Geräteentwickler die Art erweitern kann, auf die ein einzel­ nes Gerät betrachtet wird, existiert ein Bedarf danach, eine Änderung der Art, auf die eine Ansammlung der Geräte darge­ stellt wird, zu ermöglichen.
Demgemäß existiert ein Bedarf nach einem Peripheriesystem­ verwaltungssystem, das fähig ist, mit mehreren Typen von Ge­ räten in dem Peripheriesystem zusammenzuwirken; das auf Gruppen von Geräten wirken kann, die dieselben Fähigkeiten liefern; das fähig ist, zu bestimmen, ob ein Element des Sy­ stems eine besondere Fähigkeit liefert oder nicht; das er­ weiterbar ist, um neu eingebaute Gerätefähigkeiten unterzu­ bringen, sowohl vor als auch nach einem Verkauf an einen Kunden; das Änderungen der Art und Weise unterbringen kann, auf die Gruppen von Geräten dargestellt werden; und das aus­ reichend dynamisch ist, um zu ermöglichen, daß die Fähigkei­ ten der Peripheriesystemelemente während des Betriebs auf­ treten und verschwinden.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein System und ein Speichermedium zu schaffen, die eine flexible Verwaltung einer Mehrzahl von Einheiten eines Peripheriesy­ stems ermöglichen.
Diese Aufgabe wird durch ein System gemäß Anspruch 1 und ein Speichermedium gemäß Anspruch 9 gelöst.
Die Erfindung ermöglicht, daß ein Computer Elemente eines Peripheriesystems verwaltet, wobei jede Peripherieeinheit einen oder mehrere Dienste für den Computer liefert. Jede Peripherieeinheit weist eine zugeordnete "Verwaltete-Enti­ tät"-Datenstruktur (ME-Datenstruktur; ME = Managed Entity) für jeden Dienst auf. Jede ME-Datenstruktur umfaßt einen Be­ zug (Bezüge) auf ein oder mehrere "Verwaltungsschnittstel­ len"-Objekte (MI-Objekte; MI = Management Interface), die aus einem oder mehreren Verfahren zum Liefern von Informa­ tionen bezüglich eines Merkmals (Merkmalen) der ME und/oder zum Bewirken, daß das Gerät, das die ME aufweist, eine Funk­ tion durchführt, bestehen. Der Computer umfaßt ein Einga­ be/Ausgabe-Modul zum Ermöglichen von Kommunikationen mit je­ der der Einheiten des Peripheriesystems und einen Speicher zum Speichern eines "Explorer"-Objekts (Erforscher-Objekt). Ein Prozessor in dem Computer spricht auf eine Benutzerab­ frage bezüglich einer Peripherieeinheit an, um (i) das Ex­ plorer-Objekt aufzurufen, um eine ME, die der Peripherieein­ heit zugeordnet ist, zu bestimmen, und (ii) ein Verfahren eines Schnittstellenanbieterobjekts aufzurufen, um ein MI- Objekt, das der ME zugeordnet ist und Informationen und Ver­ fahren, die sich auf die Peripherieeinheit, die Aktivitäten derselben und die Abfrage des Benutzers beziehen, umfaßt, wiederzugewinnen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung einer typischen ME- Datenstruktur;
Fig. 2 eine vereinheitlichte Modellierungsprachen-Darstel­ lung der Beziehungen zwischen einer ME-Klasse und einer MI-Klasse, die zeigt, daß die ME eine Unter­ klasse der MI ist;
Fig. 3 unterschiedliche Arten von MEs;
Fig. 4 ein Beispiel der Ableitung von ME-Klassen und fer­ ner zwei MIs, die nicht auch MEs sind. Fig. 4 zeigt ferner, wie eine vielfache Vererbung durch eine ME verwendet werden kann;
Fig. 5 ein Blockdiagramm eines Systems zum Durchführen des Verfahrens der Erfindung; und
Fig. 6 und Fig. 7 ein logisches Flußdiagramm eines Bei­ spiels des Verfahrens der Erfindung.
Eine Netzsoftware muß mit physischen Geräten zusammenwirken, die mit dem Netz verbunden sind. In der Vergangenheit wurde dies durch ein Beschreiben einer physischen Topologie und ein Zuweisen eines Namens zu jeder Maschine erreicht. Jedoch kann eine Software, die an vielen Orten entwickelt wird, auf diese Weise nicht beschrieben werden, da physische Topolo­ gien von Ort zu Ort variieren. Diese Erfindung verwendet ei­ ne logische Topologie, die die Rollen (oder Dienste) be­ schreibt, die Maschinen spielen/liefern, und spezifiziert nicht spezielle Maschinen.
Beispiele von Rollen, die Maschinen in einer Peripheriesy­ stemverwaltungs-Software (PSM-Software) spielen, die die Er­ findung verkörpert, sind im folgenden angegeben:
  • - "Verwaltungs-Client-Maschine": Die Rolle einer Maschine, die eine Benutzerschnittstelle für eine PSM-Software dar­ stellt. Zum Beispiel wird die Rolle des Verwaltungs- Client durch die Maschine durchgeführt, die ein Netzsuch­ programm (Web-Browser) ausführt, das verwendet wird, um auf ein Netzadministrationsprogramm zuzugreifen.
  • - "Verwaltungsservermaschine": Die Rolle einer Maschine, die eine Logik für eine PSM-Software liefert. Zum Bei­ spiel führt die Servermaschine, in der ein Netzadmini­ strationsprogramm installiert ist, die Rolle einer Ver­ waltungsservermaschine aus.
  • - "Peripherie-Client-Maschine": Die Rolle einer Maschine, die Dienste verwendet, die durch ein Peripheriegerät ge­ liefert werden. Eine Endbenutzerworkstation, die einen Drucker verwendet, ist ein Beispiel einer Peripherie- Client-Maschine.
  • - "Peripherieservermaschine": Die Rolle einer Maschine, die einen Zugriff auf die Dienste, die durch ein Peripherie­ gerät geliefert werden, vermittelt. Eine Windows-NT-Ma­ schine (eine Marke der Microsoft Corporation), die ihre Drucker teilt, ist ein Beispiel einer Peripherieserverma­ schine.
  • - "Peripheriemaschine": Die Rolle einer Maschine, die als ein Peripheriegerät dient. Drucker und Scanner sind Bei­ spiele von Peripheriegeräten.
  • - "Peripherie-Verzeichnis-Maschine": Die Rolle einer Ma­ schine, die einen Dienst liefert, der verwendet wird, um Peripheriemaschinen und Peripherieservermaschinen zu fin­ den.
Es sei angemerkt, daß eine physische Maschine mehrere Rollen durchführen kann und mehrere Dienste liefern kann. Zum Bei­ spiel kann ein zentraler Server sowohl als eine Verwaltungs­ servermaschine (eine Maschine, in der ein Netzadministra­ tionsprogramm installiert ist) als auch als eine Periphe­ rieservermaschine (z. B. ein Druckserver) dienen.
Die Peripherieverwaltungssoftware, die die Erfindung bein­ haltet, ist fähig, MEs, die sich auf Peripheriegeräte bezie­ hen, zu entdecken, zu organisieren, anzuzeigen, zu modifi­ zieren und zu überwachen. Eine ME ist ein Softwareobjekt, durch das die Rolle eines Geräts und ein Dienst, den das Ge­ rät liefert, verwaltet werden können. Es sei erneut betont, daß ein einzelnes Gerät mehrere Rollen haben kann und somit mehreren MEs zugeordnet sein kann.
  • - Eine ME ist eine Architektur-Abstraktion, die verwendet wird, um etwas zu modellieren, das verwaltet wird.
  • - MEs werden durch eine "Explorer"-Architektur-Abstraktion entdeckt.
  • - MEs werden durch eine "Datenbank"-Architektur-Abstraktion organisiert.
  • - MEs werden durch eine "Ansicht"-Architektur-Abstraktion angezeigt.
  • - MEs werden durch eine "Operation"-Architektur-Abstraktion modifiziert.
  • - MEs werden unter Verwendung von "Ereignis"- und "Hand­ lung"-Architektur-Abstraktionen überwacht.
Wie aus der folgenden Erörterung klar wird, ist jede der Ab­ straktionen, die oben identifiziert sind, als ein Software­ objekt konfiguriert, das in dem klassischen Sinn seinen zu­ stand in "Variablen" beibehält und sein Verhalten mit einem oder mehreren Verfahren implementiert. Die verschiedenen Ob­ jekte, die unten beschrieben werden, versehen die PSM-Soft­ ware, die die Erfindung beinhaltet, mit einer beträchtlichen Flexibilität, um System- und Software-Modifikationen unter­ zubringen.
Verwaltete Entitäten Definition
Eine ME (verwaltete Entität) ist ein Objekt, das ein be­ nutzererkennbares Element in der Peripherieverwaltungspro­ blemdomäne darstellt. Eine ME liefert eine Ansammlung von einer oder mehreren Verwaltungsschnittstellen (MIs). Eine MI ist ein Satz von einer oder mehreren Funktionen, die verwendet werden, um mit einer ME zusammenzuwirken (oder diese zu identifizieren).
Ein Benutzer, der für das Verwalten von Druckern verantwort­ lich ist, erkennt die Existenz von Druckern, Druckservern und Druck-Clients. Mit oder ohne PSM-Software wird dieser Benutzer mit jedem dieser Elemente interagieren, um Probleme zu lösen. Derselbe Benutzer wird wahrscheinlich die detail­ lierte Architektur eines Spoolers nicht kennen. Die Existenz einer Torüberwachungsvorrichtung oder eines Druckprozessors wird aller Wahrscheinlichkeit nach für einen solchen Benut­ zer irrelevant sein. Bei dem Lösen von Problemen setzt sich dieser Benutzer lediglich mit denjenigen Problemen auseinan­ der, die ihm vertraut sind. Diese vertrauten und einfach er­ kannten Elemente sind die Basiseinheit der Verwaltung, von der Benutzer erwarten, daß sie dieselbe in der PSM-Software finden. Die Objekte, die diese Basiseinheiten der Verwaltung darstellen, werden MEs genannt.
Jede dieser Basiseinheiten der Verwaltung wird in zusätzli­ che Elemente unterteilt. Zum Beispiel ist ein Druckserver aus einem Spooler, der aus noch weiteren Elementen gebildet ist, wie Treibern, Torüberwachungseinrichtungen und Druck­ prozessoren, gebildet. Obwohl es möglich ist, daß jedes die­ ser Elemente verwaltet werden muß, werden diese typischer­ weise im Zusammenhang mit dem Verwalten des Druckservers verwaltet. Ein Benutzer rüstet den Treiber auf einem beson­ deren Druckserver durch eine Interaktion mit dem Druckserver nach.
Die Ansammlung von MIs, die durch eine ME geliefert wird, ist erweiterbar. Zum Beispiel kann ein Drucker eine Schnitt­ stelle zum Verwalten von Merkmalen des Druckers (d. h. Hinzu­ fügen, Entfernen) liefern, sogar wenn diese Schnittstelle vorher nicht in der PSM-Software geplant war. Um eine Schnittstelle zu verwenden, sind "Operation"- und "An­ sicht"-Objekte (die unten beschrieben werden) vorgesehen.
Die Ansammlung von MIs, die durch eine ME geliefert wird, ist ferner dynamisch. Während des Betriebs kann die Ansamm­ lung von MIs modifiziert werden. Als Betriebsmittel, die für eine ME-Änderung verfügbar sind, können die MIs, die durch diese ME geliefert werden, geändert werden. Zum Beispiel kann ein Drucker eine Festplatte aufweisen oder nicht. Da die Anwesenheit einer Festplatte bestimmt, ob es möglich ist, Massenspeicherschriftarten zu verwalten oder nicht, wird die MI, die sich auf eine Verwaltung von Massenspei­ cherschriftarten bezieht, nicht geliefert, falls keine Fest­ platte verfügbar ist.
MIs (und die Funktionen, die dieselben aufweisen), die durch eine besondere ME unterstützt werden, können während des Be­ triebs abgefragt werden. Eine Anwendung, die die MIs ab­ frägt, muß nicht notwendigerweise wissen, wie dieselben zu verwenden sind. Die Anwendung kann statt dessen einfach ver­ folgen, welche MIs jede ME liefert, und diese Informationen verwenden, um MIs mit Komponenten, die diese Schnittstellen verstehen, auf Übereinstimmung prüfen. Zum Beispiel kann ei­ ne Anwendung, die nichts über die MI, die verwendet wird, um Schriftarten zu verwalten, weiß, eine "Operation", die die Schriftartverwaltungsschnittstelle erfordert, mit MEs, die diese Schnittstelle liefern, auf Übereinstimmung prüfen.
Verwaltungsschnittstellen
Normalerweise weist ein Objekt eine einzelne, statische Schnittstelle auf. Jedoch bedeutet das Aufweisen lediglich einer Schnittstelle, daß die Schnittstelle jedesmal überar­ beitet werden muß, wenn die Fähigkeiten des Objekts geändert werden. Vielfache Überarbeitungen derselben Schnittstelle führen zu Konfusionen. Dies wird gemäß dieser Erfindung durch ein Sicherstellen, daß eine ME mit mehreren Schnitt­ stellen durch ein oder mehrere Objekte dargestellt wird, vermieden, von denen jedes als "Verwaltungsschnittstelle" (MI) bezeichnet wird. Eine MI weist ein oder mehrere Verfah­ ren zum Bilden von Schnittstellen mit einer spezifischen Fä­ higkeit der ME auf. Demgemäß können andere einzelne Objekte diese MIs wiederverwenden. Ferner können diese MIs während des Betriebs - ohne ein Neukompilieren - auftreten und ver­ schwinden.
Die Granularität von MIs ist eine Entwurfsentscheidung, die nicht ihre Nutzbarkeit beeinflußt. Eine MI kann einen großen Satz von voneinander unabhängigen Funktionen oder einen kleinen Satz von eng verwandten Funktionen umfassen. Zum Beispiel kann eine MI, die "Neuer-LaserJet" genannt wird, definiert sein, die Funktionen für Merkmale, die in allen neuen LaserJet-Druckern (LaserJet ist eine Marke der Hew­ lett-Packard Company) gefunden werden, umfaßt. Derselbe Satz von Funktionen kann ferner in mehreren MIs plaziert werden, die sich auf spezifische Merkmale, wie beispielsweise "Ände­ re-Online-Zustand" und "Drucke-Testseite" beziehen. Es ist ferner möglich, Schnittstellen sowohl einer feineren als auch einer gröberen Granularität unter Verwendung einer vielfacher Vererbung zu unterstützen, um grobe Schnittstel­ len aus mehreren feinen Schnittstellen zu bilden. Die Ver­ wendung von grobkörnigeren Schnittstellen erfordert weniger Code, wobei jedoch feinkörnigere Schnittstellen typischer­ weise einfacher zu verstehen sind und eine größere Erweiter­ barkeit liefern.
Fig. 1 stellt ein typisches ME-Objekt mit Bezügen auf MIs dar, die eine Wiedergewinnung von Merkmalsinformationen des Geräts, das die Rolle, die durch die ME dargestellt wird, liefert, ermöglichen. Jede MI enthält eine oder mehrere Funktionen, wobei einige von diesen eine Wiedergewinnung der Informationen von dem Gerät ermöglichen, und andere von die­ sen ermöglichen können, daß das zugeordnete Gerät eine Funk­ tion durchführt. Wieder sei daran erinnert, daß die ME sich auf eine Rolle bezieht, die durch ein Gerät durchgeführt wird, und nicht notwendigerweise auf das Gerät als Ganzes - es sei denn, das Gerät führt lediglich eine Rolle durch.
Das Vererbungsdiagramm von Fig. 2 ist ein vereinheitlichtes Modellierungssprachen-Diagramm, das zeigt, wie MIs mit MEs zusammenhängen. Die Pfeile, die den ME-Block mit den MI- und "Verwaltungsschnittstellenanbieter"-Blöcken verbinden, zei­ gen eine Vererbung an. Spezieller diktiert die Vererbung, daß, wenn ein Programm kompiliert wird, das ME-Objekt alle Verfahren der vererbten Schnittstellen implementiert. ME- Objekte sind sowohl Anbieter von MIs als auch MIs selbst.
Das "Verwaltungsschnittstellenanbieter"-Objekt, das in Fig. 2 gezeigt ist, umfaßt drei Funktionen, die durch die PSM- Software verwendet werden. Die Funktion "Besitzt-Verwal­ tungsschnittstelle()" bestimmt, ob eine ME einen Zeiger zu einer spezifizierten MI zurückgeben kann. Die Funktion "Er­ halte-Verwaltungsschnittstelle()" gibt eine MI zurück, die verwendet werden soll, um Informationen bezüglich einer zu­ geordneten ME wiederzugewinnen, oder um zu veranlassen, daß die ME einige Funktionen durchführt. Die Funktion "Erhalte- Verwaltungsschnittstellenliste()" gibt eine Liste von zuge­ ordneten MIs zurück.
In Fig. 3 sind die unterschiedlichen Arten von MEs ausführ­ licher dargestellt. Peripheriegeräte, Peripherieserver und Peripherie-Clients werden von "Druckweg-Verwaltete-Entität" abgeleitet, um deren gemeinsame Beziehung dahingehend, daß dieselben ein Teil des Druckwegs sind, zu identifizieren. Fig. 3 ist nicht dazu bestimmt, vollständig zu sein. Es ist möglich, andere Typen von MEs vorzusehen. Zum Beispiel kann ein Drucker einen nachgerüsteten Ausgabebehälter eines ande­ ren Herstellers aufweisen, der Blätter faltet und in Um­ schläge steckt. Ein solches Gerät kann eine ME sein, die sich von der ME unterscheidet, die den Drucker darstellt.
MIs können von anderen MIs abgeleitet werden. Wenn eine ab­ geleitete MI durch eine ME unterstützt wird, sollte diese ME die Eltern-MIs dieser abgeleiteten MI unterstützen. Da die meisten Komponententechnologien eine Schnittstellenvererbung unterstützen, ist ein Liefern von Elternschnittstellen übli­ cherweise trivial.
Fig. 4 liefert ein Beispiel dafür, wie exemplarische Verwal­ tete-Entität-Klassen abgeleitet werden. Fig. 4 enthält zwei Verwaltungsschnittstellen, die nicht auch MEs sind: "Ände­ re-Online-Zustand" und "Drucke-Testseite". "LaserJet2000" und "LaserJet2001" müssen nicht notwendigerweise als einzig­ artige MEs definiert sein. Dieselben können einfach als Drucker-MEs definiert sein und liefern alle anderen MIs, die unterstützt werden.
Ort von MEs
Ein ME-Objekt kann an einem von drei Plätzen angeordnet sein:
  • - eingebettet in die Maschine, die dasselbe darstellt (wie anhand eines Beispiels unten beschrieben wird);
  • - angeordnet in einer Maschine, die direkt mit der Maschine verbunden ist, die dasselbe darstellt;
  • - angeordnet in einer Verwaltungsservermaschine.
Der Hauptvorteil des Einbettens von ME-Objekten ist die Be­ seitigung der Abhängigkeit von existierenden Protokollen. Wenn ein ME-Objekt in ein Gerät eingebettet ist, kann das­ selbe mit diesem Gerät auf eine gerätespezifische Art und Weise zusammenwirken. Da es nicht zweckmäßig ist, alle exi­ stierenden Peripheriegeräte mit eingebetteten ME-Objekten nachzurüsten, können ME-Objekte auf einer Verwaltungsserver­ maschine angeordnet sein und können unter Verwendung von existierenden Protokollen kommunizieren. Dies ist der Haupt­ vorteil des Anordnens von Objekten innerhalb einer Verwal­ tungsservermaschine. Der Hauptvorteil des Anordnens von MEs in direkt verbundenen Maschinen besteht darin, Situationen zu bewältigen, bei denen ein Peripheriegerät nicht mit einem Netz verbunden ist. Da eine Technologie mit verteilten Kom­ ponenten eine Netzverbindbarkeit erfordert, muß eine ME auf der direkt verbundenen Maschine ein Stellvertreter für ein direkt verbundenes Gerät sein, auf das nicht durch das Netz zugegriffen werden kann.
Der Ort einer ME kann sich mit der Zeit ändern. Es sei ein Peripheriegerät mit einer eingebetteten ME, die nicht mit einer IP-Adresse konfiguriert wurde, betrachtet. Ohne eine IP-Adresse (oder eine andere Netzprotokollunterstützung) ist es nicht möglich, mit der eingebetteten ME zu kommunizieren. Um diese Situation unterzubringen, kann eine Stellvertre­ ter-MB, die im folgenden als Proxy-ME bezeichnet wird, in der Verwaltungsservermaschine erzeugt werden. Diese Proxy-ME wird nicht alle Schnittstellen, die durch die eingebettete ME geliefert werden, unterstützen, sondern wird die Schnitt­ stelle unterstützen, die ermöglicht, daß die IP-Adresse ein­ gestellt wird. Nachdem die IP-Adresse eingestellt wurde, wird die eingebettete ME dem ME-Proxy, der auf der Verwal­ tungsservermaschine angeordnet ist, übergeordnet sein (su­ percede). Die "Datenbank"- und "Explorer"-Abstraktionen (die nachfolgend beschrieben werden) sind für das Erzeugen und Ersetzen der MEs verantwortlich.
"Explorer" Definition
Ein "Explorer" ist ein Objekt, das Geräte entdeckt, die den MEs entsprechen, MEs erzeugt, die diesen Geräten ent­ sprechen (falls erforderlich) und ME-Bezüge zu einer Da­ tenbank, die verwendet wird, um dieselben zu verfolgen, liefert. "Explorer" haben einen Zustand und können konfi­ guriert werden.
"Operationen" und "Ansichten" (die unten beschrieben werden) wirken nicht direkt mit den Geräten zusammen. Stattdessen wirken diese mit weiteren Objekten, z. B. einer ME, zusammen. Dies befreit das Objekt von der Kenntnis der Einzelheiten dessen, wie mit einem besonderen Gerät kommuniziert wird, da die verschiedenen Implementierungen der ME-Abstraktion diese Kenntnis einkapseln. MEs sind entweder in das Gerät einge­ bettet, das dieselben darstellen oder auf einer anderen Ma­ schine (d. h. den Proxies (Stellvertretern)) angeordnet. Ein­ gebettete MEs werden spezialisiert (instantiated), wenn das Gerät, in dem sie sich befinden (und das sie darstellen), gebootet wird. Nicht eingebettete MEs existieren nicht, bis das Gerät, das sie darstellen, entdeckt wird. Wenn dies auf­ tritt, wird der geeignete Typ einer ME spezialisiert. (Der geeignete Typ wird durch ein Abfragen des Geräts während der Entdeckung bestimmt.)
Unterschiedliche "Explorer" werden zum Entdecken von unter­ schiedlichen MEs geliefert, d. h. einer für MEs, die eine Druckerrolle durchführen, einer für MEs, die eine Scanner­ rolle durchführen, etc.. "Explorer" entdecken einfach Gerä­ te, erzeugen MEs, falls erforderlich, und übergeben die ME an eine "Datenbank"-Abstraktion (die unten erörtert wird).
Es existieren mehrere hundert Typen von Geräten, die MEs entsprechen, wobei jedes Jahr weitere hinzukommen. Um dies anzugehen, kann ein "Explorer" eine Tabelle verwenden, die Gerätetypen auf ME-Erzeugungsverfahren abbildet, um zu be­ stimmen, wie eine ME, die einem besonderen Gerätetyp ent­ spricht, zu erzeugen ist. Da MEs den Mechanismus für eine Kommunikation einkapseln, können unterschiedliche Typen von MEs, abhängig davon, wie ein besonderer Gerätetyp verbunden ist, erzeugt werden. Zum Beispiel kann ein direkt verbunde­ ner Laserdrucker durch einen anderen Typ einer ME darge­ stellt werden, als ein Laserdrucker, der durch ein Netz ver­ bunden ist. Da ein anderer Typ eines "Explorers" verwendet wird, um direkt verbundene Geräte zu entdecken, als zum Ent­ decken von Netzgeräten verwendet wird, wird der "Explorer" ein anderes ME-Erzeugungsverfahren verwenden, um die ME zu erzeugen.
Obwohl oben ein spezifisches Verfahren zum Spezialisieren der MEs erörtert wurde, ist es wichtig, daß angemerkt wird, daß die Verfahren, die oben beschrieben wurden, lediglich ein Beispiel dafür sind, wie MEs spezialisiert werden kön­ nen. Jeder "Explorer" ist frei, seinen eigenen Mechanismus zum Spezialisieren von MEs zu implementieren. Tatsächlich spezialisiert ein "Explorer" überhaupt keine MEs, wenn be­ reits existierende MEs (z. B. eingebettet in das Gerät) ent­ deckt werden (da diese bereits spezialisiert wurden, als das Gerät gebootet wurde).
Beispiele von "Explorern" "Lokales-IP-Unternetz-Explorer"
Oft sind die am meisten interessierenden Geräte diejenigen Geräte, die auf einem lokalen Unternetz angeordnet sind. Diese Geräte können durch ein Netzadministrationsprogramm entdeckt werden, wobei jedoch statt eines Erzeugens von Auf­ zeichnungen für die Programm-"Datenbank" eine ME des geeig­ neten Typs erzeugt wird.
"Direktverbindungs-Explorer"
Ein "Explorer" kann erzeugt werden, der alle lokalen Tore nach direkt verbundenen Geräten untersucht, und, basierend auf seinen Ergebnissen, den geeigneten Typ von MEs als Stellvertreter für direkt verbundene Geräte erzeugt.
"Server-Explorer"
Ein "Explorer" kann erzeugt werden, der die MEs von einem Server "entdeckt". Ein solcher "Explorer" wird in Umgebungen verwendet, in denen ein Server, der routinemäßig Entdeckun­ gen durchführt, bereits existiert. Dies kann verwendet wer­ den, um den Netzverkehr zu reduzieren und das Verhalten zu verbessern.
"Verwaltete-Entität-Explorer"
Es ist nicht geeignet, jede ME auf einem Netz zu entdecken. Viele MEs werden Proxies sein, die auf dem Verwaltungsserver angeordnet sind und dazu bestimmt sind, lediglich für die Verwaltungsanwendung auf dem Verwaltungsserver verwendet zu werden. Jedoch können andere mit der Absicht in ein Periphe­ riegerät eingebettet sein, daß diese MEs durch eine entfern­ te Peripherieverwaltungssoftware verwendet werden. Die PSM- Software kann diejenigen MEs entdecken, die geeigneterweise entdeckt werden sollen, ohne MEs zu entdecken, die geeigne­ terweise nicht entdeckt werden sollen, unter Verwendung ei­ nes bereits existierenden Benennungsdienstes, z. B. eines CORBA-Benennungsdienst (Common Object Request Broker Archi­ tecture = gemeinsame Objektanforderungsvermittlungsarchitek­ tur). Da MEs selbst wissen, ob auf sie extern zugegriffen werden soll oder nicht, können diese sich bei dem Benen­ nungsdienst registrieren, was ermöglicht, daß dieselben auf­ findbar sind. Diese Lösung kann erfordern, daß ein einzelner Benennungsdienst auf dem Netz eingerichtet wird. Eine weite­ re Lösung besteht darin, unter Verwendung eines weiteren Protokolls (z. B. SNMP = Simple Network Management Protocol einfaches Netzverwaltungsprotokoll) Geräte zu entdecken und ein Attribut des Protokolls zu verwenden, um die eingebette­ te ME des Geräts zu identifizieren. Obwohl jedes zugrunde­ liegende Protokoll einen unterschiedlichen "Explorer" benö­ tigt, um die Entdeckung von eingebetteten MEs zu unterstüt­ zen, könnte die Bereitstellung eines Benennungsdienstes ver­ mieden werden.
"Operationen" Definition
Eine "Operation" ist ein Objekt, das bezüglich einer An­ sammlung von MEs unter Verwendung von MIs wirksam ist. Je­ de ME in der Ansammlung, die bearbeitet wird, muß die MIs unterstützen, die durch die Operation benötigt werden. "Operationen" haben einen Zustand und können konfiguriert sein.
Wenn neue MIs definiert sind, können neue "Operationen" de­ finiert werden, die diese MIs verwenden. PSM-Anwendungen können einfach "Operationen" im allgemeinen - ohne spezifi­ sche Kenntnis einer besonderen "Operation" - unterstützen. Eine "Operation" benötigt bestimmte MIs von den MEs, bezüg­ lich derer dieselbe wirksam ist. Eine "Operation" kann mehr als eine MI benötigen, benötigt jedoch mindestens eine.
Abhängig von der "Operation" kann die Reihenfolge der MEs in einer Ansammlung signifikant sein oder nicht. Zum Beispiel ist die Anzahl signifikant für eine "Operation", die verwen­ det wird, um IP-Adressen einer Ansammlung von MEs zuzuwei­ sen. Die Reihenfolge ist jedoch unwichtig für eine "Opera­ tion", die verwendet wird, um Firmware nachzurüsten.
"Operationen" können abhängig von der "Operation" konfigu­ rierbar sein oder nicht. Eine "Operation", die lediglich den Zustand auf "online" ändert, erfordert keine Konfiguration. Bei "Operationen", die konfigurierbar sind, wird ein Applet vorgesehen, das weiß, wie dieser Typ einer "Operation" kon­ figuriert werden soll. Ein Applet ist verantwortlich für das Liefern einer Benutzerschnittstelle, die ermöglicht, daß ein Zustand modifiziert wird. Ein solches Applet wird auf der Verwaltungs-Client-Maschine laufen und die "Operation" durch ein Aufrufen der Verfahren konfigurieren. Bei einer bevor­ zugten Implementation ist das Applet in Java geschrieben.
Beispiele von "Operationen" "Online-Oneration"
Es sei an MI "Ändere-Online-Zustand", die in dem Klassenhie­ rarchiediagramm von Fig. 4 gezeigt ist, erinnert. Diese MI ermöglicht, daß der Online-Zustand einer ME, die diese MI unterstützt, geändert wird. Eine "Operation" ist geschaffen, die die MI "Ändere-Online-Zustand" verwendet, um sicherzu­ stellen, daß der Online-Zustand "online" ist. Die Online- "Operation" ist zum Erzeugen einer Verwaltungsanwendung ver­ wendbar, die periodisch alle Drucker auf "online" einstellt.
"Installiere-Schriftart-Operation"
Man betrachte die folgende Schnittstelle, die verwendet wird, um True-Typ-Schriftarten zu verwalten:
Schnittstelle "True-Type-Schriftartverwaltung"
Man betrachte nun eine Peripheriesystemverwaltungsanwendung, die Schriftarten auf Endbenutzermaschinen (z. B. PCs) und Druckern installiert. Eine solche Anwendung kann unter Ver­ wendung einer "Operation" aufgebaut werden, die eine Schriftart auf einer Maschine installiert, die die Schnitt­ stelle "True-Type-Schriftartverwaltung" unterstützt. Die An­ wendung identifiziert einfach alle MEs, die die Schnittstel­ le "True-Type-Schriftartverwaltung" unterstützen, konfigu­ riert die "Operation" "Installiere-Schriftart" mit der er­ wünschten Schriftartdatei und ruft die "Operation" bei hin­ sichtlich der MEs, die vorher identifiziert wurden, auf.
"Zuweisen-Sequentieller-Netzadressen-Operation"
Wenn ein physisches Netz von einem Unternetz in ein anderes geändert wird, ist es erforderlich, alle Geräte in dem phy­ sischen Netz neu zu numerieren. Netzadministrationsprogramme unterstützen Mechanismen zum Neuzuweisen von Netzadressen nacheinander zu allen Geräten (die durch solche Anwendungen verwaltet) auf dem physischen Netz. Dies kann unter Verwendung einer "Operation" erreicht werden. Eine solche "Operation" ist mit einem Bereich von Netzadressen konfigu­ riert. Die Peripheriegeräte, die neu numeriert werden sol­ len, werden dann durch die Anwendung ausgewählt (mit oder ohne Benutzereingriff, abhängig von der Anwendung). Schließ­ lich wird die "Zuweisen-Sequentieller-Netzadressen-Opera­ tion" auf der vorher ausgewählten Ansammlung der Peripherie­ gerät-MEs auf gerufen.
"Ansichten" Definition
Eine "Ansicht" ist ein Objekt, das eine Ansammlung von MEs anzeigt, die MIs verwenden. Jede ME in der Ansammlung, die angezeigt wird, muß die MIs, die durch die "Ansicht" benö­ tigt werden, unterstützen. "Ansichten" haben einen Zustand und können konfiguriert werden.
Eine "Ansicht" ist einer "Operation" sehr ähnlich, mit der Ausnahme, daß statt eines Arbeitens bezüglich der geliefer­ ten MEs die MEs angezeigt werden. Eine "Ansicht" kann in drei Teile geteilt werden: einen Zustand, eine Konfiguration und eine Anzeige. Der Zustand verfolgt die gegenwärtige Kon­ figuration und hat keine Benutzerschnittstelle. Die Konfigu­ ration ist ähnlich einem Konfigurations-Applet für eine "Operation". Diese ist für ein Darstellen einer Benutzer­ schnittstelle verantwortlich, die ermöglicht, daß der Zu­ stand modifiziert wird. Die Anzeige ist für ein Anzeigen ei­ ner Ansammlung von MEs verantwortlich. Die Reihenfolge der MEs kann, abhängig von der "Ansicht", wichtig sein oder nicht. Einige "Ansichten" können die Reihenfolge der MEs in einer Ansammlung ignorieren und einfach die obersten drei "interessierenden" MEs anzeigen (und den Rest zusammenfas­ sen). Andere können alle MEs in der Reihenfolge, in der sie in der Ansammlung geliefert werden, anzeigen. Mehr als ein Fall einer "Ansicht" kann zur selben Zeit existieren, mit einem unterschiedlichen Zustand.
Beispiele von "Ansichten" "Verbrauchsmaterial-Ansicht"
Es ist kostspielig, wenn bei einem Drucker der Toner aus­ geht. Da Benutzer oft untrainiert sind, dauert das Wechseln einer Tonerkassette länger, als wenn ein Techniker die Kas­ sette ersetzt. Untrainierte Benutzer können ferner verse­ hentlich den Drucker beschädigen. Um diesem Problem zu be­ gegnen, ist es nützlich, eine Einrichtung zu besitzen, die herausfindet, welche Drucker fast keinen Toner mehr haben, so daß der Toner ersetzt werden kann, bevor derselbe er­ schöpft ist. Dies wird unter Verwendung einer "Ansicht" er­ reicht. Eine solche "Ansicht" zeigt Drucker unter einer ge­ wissen Tonerschwelle an, der Reihe nach von einer geringsten bis zu einer höchsten Tonermenge. Durch ein Ändern der Nie­ drigtonerschwelle kann der Benutzer die Anzahl von Druckern, die angezeigt werden, variieren. Alle Drucker werden ange­ zeigt, wenn die Niedrigtonerschwelle auf 100% gesetzt ist.
"Scanner-Ansicht"
Diese "Ansicht" zeigt MEs eines spezifischen Typs an. Eine "Ansicht" kann für Drucker erzeugt werden und würde die ma­ ximale Zahl der Seiten pro Minute zeigen, die der Drucker liefern kann. Eine "Ansicht" für Scanner kann ein Feld ha­ ben, das anzeigt, ob der Scanner Farbe unterstützt. Demgemäß können "Ansichten" erzeugt werden, um spezifische Typen von MEs zu unterstützen und Felder anzuzeigen, die für diesen Typ sinnvoll sind.
"Abbildungs-Ansicht"
Eine "Ansicht" kann aufgebaut werden, die, wenn diese mit einer Abbildung konfiguriert ist, MEs gemäß deren Ort auf der Abbildung anzeigt. Der Ort der MEs wird von einer Orts­ datei abgeleitet, die den Zustand der Abbildungs-"Ansicht" umfaßt. Da "Ansichten" einen Zustand haben, kann dieser Zu­ stand verwendet werden, um Informationen, die aus Interak­ tionen zwischen dem Benutzer und der Ansicht resultieren, zu speichern.
"Datenbanken" Definition
Eine "Datenbank" ist ein Objekt, das MEs annimmt, Duplika­ te handhabt und MEs für eine spätere Verfügbarkeit spei­ chert. Eine "Datenbank" kann ferner von einer besonderen ME oder allen MES gelöscht werden.
Die "Datenbank"-Abstraktion ermöglicht, daß andere Architek­ turabstraktionen (wie beispielsweise "Explorer") mit vielen Typen von "Datenbanken" zusammenwirken, ohne den spezifi­ schen Typ der "Datenbank" zu kennen. Eine Anwendung, die den spezifischen Typ der "Datenbank", die verwendet wird, kennt, ist weiterhin frei, um die volle Funktionalität jedes ver­ wendeten zugrundeliegenden "Datenbank"-Verwaltungssystems zu verwenden. Das Ziel der "Datenbank"-Abstraktion besteht da­ rin, ein Objekt zu liefern, mit dem "Explorer" zusammenwir­ ken können und das eine Kommunikation mit dem Speichermecha­ nismus der Anwendung ermöglicht.
Beispiele von "Datenbanken" "Dateibasierte Datenbank"
Bei einigen Anwendungen kann das einfache Besitzen einer Da­ tei, die eine Liste der MEs enthält, akzeptabel sein. Eine dateibasierte "Datenbank" kann durch ein Implementieren der Schnittstelle, die für die "Datenbank"-Abstraktion spezifi­ ziert ist, erzeugt werden ("Hinzufügen", "Entfernen Einer", "Entfernen Aller"), so daß Informationen, die sich auf MEs beziehen, in einer Datei aufgezeichnet werden. Wenn zu der "Datenbank" eine ME hinzugefügt wird, kann eine Zeile zu der Datei mit den Informationen, die durch die Anwendungen benö­ tigt werden, sowie mit Informationen, die erforderlich sind, um die ME eindeutig zu identifizieren, hinzugefügt werden (um "Entfernen-Einer"- und "Handhabungs"-Duplikationen zu unterstützen).
"Objektorientierte Datenbank"
Bei einigen Anwendungen kann die Flexibilität, die durch ei­ ne objektorientierte "Datenbank" geliefert wird, attraktiv sein. Eine solche "Datenbank" kann ähnlich zu der implemen­ tiert werden, die für eine dateibasierte "Datenbank" imple­ mentiert ist (lediglich am Anfang einer objektorientierten "Datenbank").
"Relationale Datenbank"
Bei einigen Anwendungen, die ein Datenbankverhalten benöti­ gen, kann es attraktiv sein, eine relationale "Datenbank" zu verwenden. Eine solche "Datenbank" kann ähnlich zu der im­ plementiert werden, die für eine dateibasierte "Datenbank" implementiert ist (lediglich am Anfang einer relationalen "Datenbank").
Systemkonfiguration
Bezugnehmend auf Fig. 5 wird ein System zum Implementieren der Erfindung dargestellt. Ein Client-Computer 10 umfaßt ei­ ne Zentral-Verarbeitungs-Einheit (CPU) 12, ein Netzverbin­ dungsmodul 14 und einen Speicher 16, der ein PSM-Objekt 18 hält. Das PSM-Objekt 18 umfaßt den notwendigen Code, um die verschiedenen Objekte zu verwenden, die oben beschrieben wurden, um eine Mehrzahl von Peripheriegeräten zu verwalten, auf die durch ein Netz 20 zugegriffen werden kann.
Jedes der Peripheriegeräte 22 und 24 umfaßt ein "Verwal­ tungsschnittstellenanbieter-Objekt" 26, das wiederum einen Zugriff auf ein "Besitzt-Schnittstellen-Verfahren" 28, "Schnittstellen-Auflisten-Verfahren" 30 und ein "Schnitt­ stellen-Erhalten-Verfahren" 32 ermöglicht. Jedes Peripherie­ gerät umfaßt ferner ein oder mehrere eingebettete ME-Objek­ te, wobei jedes einen Bezug auf eine oder mehrere MI(s) er­ möglicht, die eine Wiedergewinnung von Informationen bezüg­ lich einer jeweiligen Peripheriegerätrolle ermöglichen. Es sei in Erinnerung gerufen, daß jede MI ein Objekt ist, das mindestens eine Funktion umfaßt, deren Ausführung die Wie­ dergewinnung von Informationen bezüglich einer Rolle, die durch das jeweilige Peripheriegerät durchgeführt wird, er­ möglicht.
Hierin anschließend wird angenommen, daß alle Objekte be­ reits in den Speicher geladen sind und für eine Verwendung bereit sind. Jedoch liegt es im Schutzbereich dieser Erfin­ dung, solche Objekte auf einem oder mehreren Datenspeicher­ geräten zu liefern, wie beispielsweise einer Magnetplatte 29, wobei der Inhalt dieser auf einer Bedarfsbasis in den Speicher geladen werden kann.
Der Speicher 16 umfaßt ferner ein oder mehrere "Explorer"- Objekte 34, von denen jedes ein Verfahren zum Erhalten von Bezügen auf ME-Objekte enthält; "Ansicht"-Objekte 36, die das Betrachten von ausgewählten MEs, Zuständen und Konfigu­ rationen ermöglichen (wie oben beschrieben ist); "Opera­ tions"-Objekte 38, die bezüglich einer Ansammlung von MEs unter Verwendung von MIs wirksam sind (wie oben beschrieben ist); und ein "Datenbank"-Objekt 40 (wie oben beschrieben ist).
Beispielanwendung "Aktualisiere-Firmware"
Um die "Operation" des PSM-Verfahrens 18 besser zu verste­ hen, wird auf die Fig. 6 und 7 Bezug genommen, die ein logi­ sches Flußdiagramm des Verfahrens der Erfindung umfassen, das eine Anwendung darstellt, die für eine Nachrüstung der Firmware der Netzdrucker verantwortlich ist. Die Anwendung führt die folgenden Aktivitäten durch:
  • 1. Lokalisieren aller verfügbaren Drucker auf dem Netz.
  • 2. Anzeigen einer Liste von Druckern, deren Firmware nachgerüstet werden kann, was durch ein Druckermodell organisiert wird.
  • 3. Ermöglichen, daß der Benutzer einen oder mehrere Drucker von der Liste von Druckern auswählt.
  • 4. Nachrüsten der Firmware auf jedem der ausgewählten Drucker.
Hintergrund
Drucker enthalten Software, die verwendet wird, um Druckjobs zu verarbeiten, die Firmware genannt wird (da sich dieselbe in dem ROM oder einem anderen halbpermanenten Speicher, wie beispielsweise einem Flash-Speicher befindet). Es ist manch­ mal wünschenswert, die Druckerfirmware wie die Software auf einem PC zu aktualisieren, um Defekte zu reparieren oder neue Merkmale hinzuzufügen. Es ist wünschenswert, daß die Verwalter eine Möglichkeit besitzen, die Firmware aller Drucker des gleichen Modells zu aktualisieren, und nicht je­ den Drucker als eine einzelne Handlung manuell zu aktuali­ sieren.
Ausführung
  • 1. Die Anwendung "Aktualisiere-Firmware" startet (Schritt 100, Fig. 6). An diesem Punkt hat die Anwendung keine MEs.
  • 2. Die Anwendung lokalisiert MEs unter Verwendung von ei­ nem oder mehreren "Explorern". Die Anwendung besitzt eine Liste von bekannten "Explorern", die beim Hochfahren aufge­ baut wird. Diese Liste kann auf mehrere Arten aufgebaut wer­ den, wobei jedoch der Einfachheit halber angenommen wird, daß die Liste durch ein Lesen einer Datei erhalten wird. Man nehme ferner an, daß sich jeder "Explorer" in einer getrenn­ ten, dynamisch verbundenen Bibliothek (DLL; DLL = Dynamic Linked Library) befindet und die Liste den Ort in dem Datei­ system von DLLs identifiziert, die den ausführbaren Code für jedes "Explorer"-Objekt enthalten. Man nehme ferner an, daß die Liste von "Explorern" lediglich einen Eintrag hat. Die Anwendung liest die Liste, lädt die DLL (unter Verwendung von Betriebssystemaufrufen) und ruft eine exportierte Funk­ tion der DLL auf, um einen Fall des "Explorer"-Objekts zu spezialisieren (Schritt 102).
  • 3. Nun hat die Anwendung ein "Explorer"-Objekt. Der näch­ ste Schritt besteht darin, das "Explorer"-Objekt zu verwen­ den, um eine Liste von MEs zu erhalten, was ein Aufrufen des "Explorer"-Objekts erfordert. Das Verfahren des "Explorer- "-Objekts gibt eine Datenstruktur, wie beispielsweise ein Array, das eine Liste von entdeckten MEs liefert, zurück. Die folgende abstrakte Basisklasse in C++ demonstriert eine mögliche Schnittstelle für einen "Explorer" (und insbesonde­ re die Schnittstelle, die bei diesem Beispiel verwendet wird):
  • 4. Die obige abstrakte Basisklasse liefert die Schnitt­ stelle eines "Explorers", beschreibt jedoch nicht die Imple­ mentierung. Da sehr viele Implementierungen existieren kön­ nen, wird der Einfachheit halber angenommen, daß der "Explo­ rer" einen Bezug auf eine Textdatei enthält, die eine Liste von MEs, die in Drucker eingebettet sind, enthält. (Jede dieser MEs wurde erzeugt, als der Drucker eingeschaltet wur­ de.) Jedes der ME-Objekte von der Textdatei wird zu der auf­ rufenden Anwendung zurück geleitet.
  • 5. Nach dem Aufrufen des Erforschungsverfahrens auf dem "Explorer"-Objekt hat die Anwendung nun eine Ansammlung von MEs in einem Array. Der nächste Schritt besteht darin, sol­ che MEs anzuzeigen, die eine MI "Fern-Firmware-Aktualisie­ rung" liefern (Schritt 104). Um dies zu erreichen, muß die Anwendung bestimmen, ob jede ME die MI "Fern-Firmware-Aktua­ lisierung" liefert oder nicht. Dies wird durch ein Aufrufen eines Verfahrens "Besitzt-Schnittstelle" 28 bezüglich jeder der MEs erreicht. Zum Beispiel kann die Schnittstelle einer MI durch die folgende abstrakte Basisklasse von C++ darge­ stellt werden:
  • 6. Wenn "Besitzt-Schnittstelle" aufgerufen wird, muß jede ME "wahr" oder "falsch" zurückgeben (Schritt 106). Die Ant­ wort, die jede ME liefert, wird durch ein Konsultieren einer internen Tabelle bestimmt, die jeden der MI-Namen auflistet, die durch die ME unterstützt werden. Die Funktion "Besitzt- Schnittstelle" vergleicht einfach den gelieferten MI-Namen mit jedem der MI-Namen, die in der Tabelle enthalten sind. Wenn keine Übereinstimmung gefunden wurde, gibt "Besitzt- Schnittstelle" ein "falsch" zurück. Falls eine Übereinstim­ mung gefunden wurde, gibt "Besitzt-Schnittstelle" ein "wahr" zurück. Obwohl die obige Beschreibung MEs als eine Tabelle mit Verwaltungsschnittstellennamen aufweisend darstellt, ist dies nicht notwendigerweise die Art, auf die alle MEs imple­ mentiert werden.
  • 7. Sobald jede der MEs abgefragt wurde, um zu bestimmen, ob dieselbe die Verwaltungsschnittstelle "Fern-Firmware- Nachrüstung" unterstützt, besteht der nächste Schritt darin, solche MEs anzuzeigen, die diese Schnittstelle unterstützen. Die Anwendung könnte direkt Informationen über diese MEs an­ zeigen, wobei es jedoch flexibler ist, diese MEs unter Ver­ wendung eines "Ansicht"-Objekts anzuzeigen. Ein "Ansicht"- Objekt ist wiederverwendbar und kann bei anderen Anwendungen als der Anwendung, die gegenwärtig erörtert wird, verwendet werden. Ein "Ansicht"-Objekt erfordert eine oder mehrere be­ sondere MEs, um zu funktionieren. In diesem Fall wird das -"Ansicht"-Objekt die MI "Fern-Firmware-Nachrüstung" benöti­ gen.
    Die Verwaltungsschnittstelle "Fern-Firmware-Nachrüstung" kann durch die folgende abstrakte Basisklasse dargestellt werden:
    Obwohl bei einer tatsächlichen Implementierung die Funktion "Drucker-Modell" ein Teil einer anderen allgemeineren MI sein würde, ist dieselbe in der MI "Fern-Firmware-Nachrü­ stung" enthalten, um dieses Beispiel zu vereinfachen. Die MI "Fern-Firmware-Nachrüstung" enthält alle Funktionen, die er­ forderlich sind, um dieses Beispiel zu vollenden. Vor einem Anzeigen der MEs, die die MI "Fern-Firmware-Nachrüstung" un­ terstützen, ist es notwendig, ein "Ansicht"-Objekt zu spe­ zialisieren (Schritt 108).
  • 8. Das Spezialisieren eines Ansicht-Objekts wird (bei die­ sem Beispiel) durch ein Laden einer DLL in den Speicher un­ ter Verwendung von Betriebssystem-APIs und ein Aufrufen ei­ nes Verfahrens, um das "Ansicht"-Objekt zu erzeugen, er­ reicht.
  • 9. Sobald das "Ansicht"-Objekt erzeugt ist, kann dasselbe verwendet werden, um die MEs anzuzeigen. Eine "Ansicht" kann als die folgende Schnittstelle, die als eine abstrakte Ba­ sisklasse von C++ definiert ist, aufweisend aufgefaßt wer­ den:
    Um eine Ansammlung von MEs anzuzeigen, wird das Anzeigever­ fahren mit einem Array von ME-Zeigern aufgerufen. Anspre­ chend hierauf führt das "Ansicht"-Objekt folgende Schritte aus:
    • - Verifizieren, daß jede ME, die in dem ME-List-Array ge­ liefert wird, die MI "Fern-Firmware-Nachrüstung" durch ein Aufrufen des Verfahrens "Besitzt-Schnittstelle" be­ züglich jeder ME unterstützt. Ansprechend darauf wird, wie vorher beschrieben wurde, jede ME eine interne Da­ tenstruktur konsultieren, um zu bestimmen, ob die ge­ lieferte MI unterstützt wird. Wenn eine ME, die die MI "Fern-Firmware-Nachrüstung" nicht unterstützt, in dem ME List-Array existiert, tritt ein Fehler auf.
    • - Erhalten der tatsächlichen MI "Fern-Firmware-Nachrü­ stung" von jeder ME (Schritt 108). Dies wird durch ein Aufrufen der Funktion "Erhalte-Verwaltungsschnittstel­ le" bezüglich jeder ME mit dem Namen der erwünschten MI erreicht, der in diesem Fall "Fern-Firmware-Nachrü­ stung" ist. Jede MI ist als ein Zeiger auf eine MI- Klasse dargestellt. Man erinnere sich, daß sich die tatsächlichen MEs entfernt in Druckern befinden. Dies bedeutet, daß die Implementierungen der Funktionen, die die MIs bilden, sich ebenfalls entfernt in dem Drucker befinden. Obwohl eine Client-Software, wie beispiels­ weise das "Ansicht"-Objekt, mit lokalen Schnittstellen (z. B. "Fern-Firmware-Nachrüstung") zusammenwirken, ver­ wenden diese lokalen Schnittstellen eingerichtete Kom­ munikationsverfahren, um Parameter und Verfahren von den tatsächlichen Implementierungen, die sich in dem Drucker befinden, zusammenszustellen. Sobald diese er­ halten werden, werden die MIs typmäßig als MIs "Fern- Firmware-Nachrüstung" eingeteilt und in einer Tabelle gespeichert. Diese Tabelle enthält einen lokalen Zeiger auf die ME, einen lokalen Zeiger auf die MI "Fern-Firm­ ware-Nachrüstung" für die entsprechende ME, eine Ver­ sionsnummer (die unten erörtert wird) und ein Modell (das unten erörtert wird).
    • - Erhalten der Versionsnummer jeder ME durch ein Aufrufen des Verfahrens "Firmware-Version", das durch die MI "Fern-Firmware-Nachrüstung" geliefert wird (jede ME hat ihre eigene unabhängige Implementierung dieser MI). Der Wert, der erhalten wird, wird in der Tabelle gespei­ chert, die verwendet wird, um Informationen für jede ME zu speichern (wie beispielsweise Schnittstellenzeiger).
    • - Erhalten des Druckermodells jeder ME durch ein Aufrufen der Funktion "Drucker-Modell", die durch die MI "Fern- Firmware-Nachrüstung" geliefert wird (jede ME weist ih­ re eigene unabhängige Implementierung dieser MI auf). Der Wert, der erhalten wird, wird in der Tabelle ge­ speichert, die verwendet wird, um Informationen für je­ de ME zu speichern (wie beispielsweise Schnittstellen­ zeiger).
  • 10. Da die Tabelle, die verwendet wird, um Informationen für jede ME zu speichern, nun bevölkert ist, kann die Tabel­ le durch das Druckermodell und die Firmwareversion sortiert werden. Ein Sortieren kann durch jede von mehreren einge­ richteten Einrichtungen erreicht werden. Das "Ansicht"-Ob­ jekt kann dann ein Fenster öffnen und die sortierte Liste der ME-Informationen anzeigen. In dieser Liste kann dasselbe spezifisch das Druckermodell und die Firmwareversion zeigen. Wenn das "Ansicht"-Fenster angeklickt wird, bestimmt das "Ansicht"-Objekt, welcher ME-Eintrag in der Tabelle ange­ klickt wurde und führt zwei Dinge aus. Erstens hebt das "An­ sicht"-Objekt diesen Eintrag in dem Fenster hervor. Zweitens modifiziert das Ansichtobjekt ein Feld in der ME-Tabelle, um anzuzeigen, daß das Feld ausgewählt ist.
    Wie oben angezeigt ist, wurde die Tabelle, die verwendet wird, um die MEs innerhalb des "Ansicht"-Objekts zu verfol­ gen, derart beschrieben, daß dieselbe Felder für einen loka­ len Bezug auf die ME, einen lokalen Bezug auf eine MI "Fern-Firmware-Nachrüstung", einen Modellnamen und eine Firmwareversionsnummer, aufweist. Diese Tabelle wird erwei­ tert, um ein neues boolsches Feld zu umfassen, das anzeigt, ob ein neuer besonderer Eintrag durch die Benutzerschnitt­ stelle ausgewählt wurde.
  • 11. Sobald der Benutzer die erwünschten MEs für eine Nach­ rüstung ausgewählt hat (d. h. Drucker) (Schritt 110), kann der Benutzer durch eine Benutzerschnittstelle, die durch die Anwendung geliefert wird, wie beispielsweise ein Menüsymbol, anzeigen, daß eine Firmwarenachrüstung durchgeführt werden soll. Dies kann durch ein Herunterziehen eines Menüs, das "Operationen" genannt wird, und Auswählen von "Nachrüsten ferner Firmware" erreicht werden. "Operationen" sind Hand­ lungen, die bezüglich einer Ansammlung von MEs durchgeführt werden. Bevor "Operationen" verwendet werden können, müssen jedoch zwei Dinge geschehen. Erstens müssen dieselben spe­ zialisiert werden. Zweitens müssen dieselben konfiguriert werden. Die folgende abstrakte Basisklasse von C++ liefert eine mögliche Schnittstelle für "Operationen":
  • 12. Das Erzeugen einer "Operation" kann auf mehrere Arten erfolgen, d. h. ähnlich zu der Art, auf die "Ansichten" und "Explorer" erzeugt werden. Um den Sachverhalt zu vereinfa­ chen, wird die "Operation" durch ein Laden einer DLL in ei­ nen Speicher unter Verwendung von Betriebssystemaufrufen und Aufrufen einer Funktion, die durch diese DLL exportiert wird, um die Operation zu spezialisieren, erzeugt.
  • 13. Sobald die "Operation" erzeugt ist, muß diese konfigu­ riert werden. Dies wird durch ein Aufrufen des "Konfigurie­ ren"-Verfahrens, das durch das "Operation"-Objekt geliefert wird, erreicht. Dieses Verfahren zeigt einen Konfigurations­ dialog an, der dem Benutzer ermöglicht, das "Operation"-Ob­ jekt zu konfigurieren. Die Benutzerschnittstelle enthält einen Texteditierblock mit einer Beschriftung in dessen Nä­ he, die anzeigt, daß der Texteditierblock den Ziel-URL (URL = Unified Resources Locator = Einheitliche-Betriebsmittel- Lokalisierer) enthält, in dem Druckerfirmware, die nachge­ rüstet werden soll, gespeichert ist. Der Benutzer gibt eine Zeichenfolge ein, die einen gültigen URL dorthin liefert, wo die Druckerfirmware angeordnet ist. Sobald der Benutzer den URL eingegeben hat, ist das "Operation"-Objekt konfiguriert und betriebsbereit.
  • 14. Als erstes muß die Anwendung die Liste von ausgewählten MEs erhalten, so daß dieselbe diese MEs zu dem "Operation"- Objekt leiten kann (Schritt 112). Um dies zu tun, ruft die Anwendung das Verfahren "Erhalte-Ausgewählte-MEs" von dem "Ansicht"-Objekt auf. Dieses Verfahren durchläuft die Tabel­ le der MEs und plaziert jede ME, die ausgewählt ist (was aus dem ausgewählten Feld in der ME-Tabelle bestimmt wird), in einem Array. Dieses Array wird dann zu der Anwendung zurück­ gegeben. Da die Anwendung nun die ausgewählten MEs in einem Array hat, kann dieselbe das Verfahren des "Operation"-Ob­ jekts aufrufen.
  • 15. Das Verfahren führt folgende Teilschritte aus (Schritt 114):
    • - Verifizieren, daß jede der MEs, die zu demselben gelei­ tet wird, eine MI "Fern-Firmware-Nachrüstung" besitzt, durch ein Aufrufen der Funktion "Besitzt-Schnittstelle" jeder ME.
    • - Erhalten eines lokalen Zeigers auf die MI "Fern-Firm­ ware-Nachrüstung" durch ein Aufrufen des Verfahrens "Erhalte-Schnittstelle" für jede ME. Dies wird durch ein Leiten des MI-Namens der MI "Fern-Firmware-Nachrü­ stung" zu dem Verfahren "Erhalte-Schnittstelle" er­ reicht. Nach dem Verifizieren, daß alle gelieferten MEs die MI "Fern-Firmware-Nachrüstung" liefern, wird jede ME einzeln verarbeitet, bevor zu der nächsten ME ge­ sprungen wird. Mit anderen Worten heißt das, daß der nächste Schritt abgeschlossen und dann das Verarbeiten der ME begonnen wird.
    • - Aufrufen des Verfahrens "Nachrüstung-Firmware" nach ei­ nem Erhalten der MI "Fern-Firmware-Nachrüstung". Das Verfahren "Nachrüstung-Firmware" wird als ein Teil der MI "Fern-Firmware-Nachrüstung" geliefert. Dieses Ver­ fahren nimmt eine Zeichenfolge an, die den URL be­ schreibt, an dem die Firmware angeordnet ist.
  • 16. Wie oben angemerkt wurde, werden sowohl MEs als auch MIs durch lokale Proxy-Objekte dargestellt (d. h. die ab­ strakten Basisklassen, die bei diesem Beispiel verwendet werden). Diese Klassen liefern ein vorderes Ende für ein Kommunikationsprotokoll. Die tatsächliche Implementierung des Verfahrens "Nachrüstung-Firmware" ist in jedem Drucker angeordnet (man erinnere sich, daß jeder Drucker eine ME, die in denselben eingebettet ist, enthält). Wenn das Verfah­ ren "Nachrüstung-Firmware" aufgerufen wird, führt die Imple­ mentierung in jedem Drucker die erforderlichen Handlungen durch, um die Firmware von dem Server, der durch den URL spezifiziert ist, herunterzuladen (Schritt 116). Sobald das Firmware-Bild heruntergeladen wurde, wird der Drucker das Firmware-Bild durch ein Überprüfen der Gültigkeit der Prüf­ summe verifizieren (oder durch andere Techniken, die geeig­ net sind) und das Firmware-Bild in einen halbpermanenten Speicher schreiben. Schließlich wird der Drucker sich selbst neu einstellen (Warmneustart), um mit der neuen Firmware zu laufen. Sobald jede ME verarbeitet wurde und alle Firmware- Bilder nachgerüstet wurden, wird die Anwendung beendet.

Claims (15)

1. System zum Ermöglichen, daß ein Verwaltungscomputer (10) Einheiten (22, 24) eines Peripheriesystems verwaltet, wobei jede verwaltete Einheit einen oder mehrere Dienste für einen Computer liefert, der der Verwaltungscomputer (10) sein kann oder nicht, und ferner ein Verwaltungs­ schnittstellenanbieter-Objekt speichert, das ermöglicht, daß Verfahren bezüglich Schnittstellenobjekten durchge­ führt werden, wobei jeder Dienst eine zugeordnete Ver­ waltete-Entität-Schnittstelle (ME-Schnittstelle) (33) aufweist, die einen oder mehrere Bezüge auf eine oder mehrere Verwaltungsschnittstellen (MIs) umfaßt, wobei jede MI ein oder mehrere Verfahren aufweist, um zumin­ dest (i) Informationen bezüglich eines oder mehrerer Merkmale des Dienstes, der durch die ME (33) dargestellt wird und durch eine verwaltete Einheit (22, 24) durchge­ führt wird, zu liefern, oder (ii) zu bewirken, daß die verwaltete Einheit (22, 24) eine Funktion durchführt, wobei der Computer (10) folgende Merkmale aufweist:
eine Eingabe/Ausgabe-Einrichtung (14) zum Ermöglichen von Kommunikationen mit jeder der verwalteten Ein­ heiten (22, 24);
einen Speicher (16) zum Speichern eines Explorer-Ob­ jekts (34); und
eine Verarbeitungseinrichtung (12), die auf eine Be­ nutzerabfrage bezüglich eines Verwaltete-Einheit- Diensts anspricht, um (i) das Explorer-Objekt (34) aufzurufen, um eine ME (33), die dem Verwaltete-Ein­ heit-Dienst entspricht, zu bestimmen, und (ii) ein Verfahren des Schnittstellenanbieter-Objekts (26) auf­ zurufen, um ein MI-Objekt wiederzugewinnen, das der ME (33) zugeordnet ist, die einen Zugriff auf Informatio­ nen, die sich auf die verwaltete Einheit (22, 24) be­ ziehen, ermöglicht, oder die bewirkt, daß die verwal­ tete Einheit (22, 24) fallabhängig eine Funktion durchführt, wobei sich die Informationen oder die Funktion auf die Benutzerabfrage beziehen.
2. System gemäß Anspruch 1, bei dem der Speicher (16) fer­ ner ein Ansicht-Objekt (36) umfaßt und der Prozessor (12) ein Verfahren aufruft, das dem Ansicht-Objekt (36) zugeordnet ist, um MEs (33) anzuzeigen, wobei mindestens eine der MEs (33) dem Verwaltete-Einheit-Dienst ent­ spricht, wodurch ermöglicht wird, daß ein Benutzer vor dem Aufrufen einer Funktion des Schnittstellenanbieter- Objekts (26) eine oder mehrere der MEs (33) auswählt.
3. System gemäß Anspruch 1 oder 2, bei dem der Speicher (16) ferner ein Ansicht-Objekt (36) umfaßt und der Pro­ zessor (12) ein Verfahren aufruft, das dem Ansicht-Ob­ jekt (36) zugeordnet ist, um einen Zustand einer Gruppe von MEs anzuzeigen.
4. System gemäß einem der Ansprüche 1 bis 3, bei dem das Verwaltungsschnittstellenanbieter-Objekt (26) folgende Merkmale umfaßt:
ein Verfahren (28) zum Bestimmen, ob eine ME (33) ein zugeordnetes MI-Objekt aufweist, das einem abgefragten Merkmal entspricht;
ein Verfahren (32) zum Wiedergewinnen des zugeordneten MI-Objekts; und
ein Verfahren zum Auflisten von MI-Objekten, die einer ME zugeordnet sind;
wobei der Prozessor (12) mindestens eines der Verfahren verwendet, um das MI-Objekt, das der ME zugeordnet ist, wiederzugewinnen.
5. System gemäß einem der Ansprüche 1 bis 4, bei dem jede verwaltete Einheit (22, 24), die einen besonderen Dienst umfaßt, den Dienst mit einer im wesentlichen identischen ME-Schnittstelle zeigt.
6. System gemäß Anspruch 5, bei dem jede verwaltete Einheit (22, 24), die ein besonderes Merkmal umfaßt, das Merkmal mit einem im wesentlichen identischen MI-Objekt zeigt.
7. System gemäß Anspruch 6, bei dem der Prozessor (12) das Schnittstellenanbieter-Verfahren bei der Verwaltung al­ ler Peripherieeinheiten, die ME- und MI-Objekte zeigen, einsetzt.
8. System gemäß einem der Ansprüche 1 bis 7, bei dem minde­ stens eine der verwalteten Einheiten (22, 24) mit dem Computer (10) über ein Netz (20) verbunden ist.
9. Speichermedium (29) zum Steuern eines Verwaltungscompu­ ters (10), um Einheiten eines Peripheriesystems zu ver­ walten, wobei jede verwaltete Einheit (22, 24) einen oder mehrere Dienste für einen Computer liefert, der der Verwaltungscomputer (10) sein kann oder nicht, und fer­ ner ein Verwaltungsschnittstellenanbieter-Objekt spei­ chert, das ermöglicht, daß Verfahren bezüglich Schnitt­ stellenobjekten durchgeführt werden, wobei jeder Dienst eine zugeordnete Verwaltete-Entität-Schnittstelle (ME- Schnittstelle) aufweist, die einen oder mehrere Bezüge auf eine oder mehrere Verwaltungsschnittstellen (MIs) umfaßt, wobei jede MI ein oder mehrere Verfahren auf­ weist, um zumindest (i) Informationen bezüglich eines oder mehrerer Merkmale des Dienstes, der durch die ME (33) dargestellt wird und durch eine verwaltete Einheit (22, 24) durchgeführt wird, zu liefern, oder (ii) zu be­ wirken, daß die verwaltete Einheit (22, 24) eine Funk­ tion durchführt, wobei der Verwaltungscomputer (14) eine Eingabe/Ausgabe-Einrichtung (14) zum Ermöglichen von Kommunikationen mit jeder der verwalteten Einheiten (22, 24) und einen Speicher (16) zum Speichern eines Explo­ rer-Objekts (34) aufweist, wobei das Speichermedium (29) folgende Merkmale aufweist:
  • a) eine Einrichtung (29) zum Steuern des Verwaltungscom­ puters (10), um auf eine Benutzerabfrage bezüglich eines Verwaltete-Einheit-Diensts anzusprechen, um das Explorer-Objekt (34) aufzurufen, um eine ME (33), die dem Verwaltete-Einheit-Dienst entspricht, zu bestim­ men; und
  • b) eine Einrichtung (29) zum Steuern der verwalteten Einheit (22, 24), um ein Verfahren des Schnittstel­ lenanbieter-Objekts (26) aufzurufen, um ein MI-Objekt wiederzugewinnen, das der ME (33) zugeordnet ist, die einen Zugriff auf Informationen, die sich auf die verwaltete Einheit (22, 24) beziehen, ermöglicht oder bewirkt, daß die verwaltete Einheit (22, 24) fallab­ hängig eine Funktion durchführt, wobei sich die In­ formationen oder die Funktion auf die Benutzerabfrage beziehen.
10. Speichermedium (29) gemäß Anspruch 9, bei dem der Spei­ cher (16) ferner ein Ansicht-Objekt (36) umfaßt und die Einrichtung b) den Verwaltungscomputer (10) steuert, um ein Verfahren aufzurufen, das dem Ansicht-Objekt (36) zugeordnet ist, um MEs anzuzeigen, wobei mindestens eine der MEs dem Verwaltete-Einheit-Dienst entspricht, wo­ durch ermöglicht wird, daß ein Benutzer eine oder mehre­ re der MEs vor dem Aufrufen einer Funktion des Schnitt­ stellenanbieter-Objekts auswählt.
11. Speichermedium (29) gemäß Anspruch 9 oder 10, bei dem der Speicher (16) ferner ein Ansicht-Objekt (36) umfaßt und die Einrichtung b) den Verwaltungsprozessor (10) steuert, um ein Verfahren, das dem Ansicht-Objekt (36) zugeordnet ist, aufzurufen, um einen Zustand einer Grup­ pe von MEs anzuzeigen.
12. Speichermedium (29) gemäß einem der Ansprüche 9 bis 11, bei dem das Schnittstellenanbieter-Objekt (26) folgende Merkmale umfaßt:
ein Verfahren (28) zum Bestimmen, ob eine ME (33) ein zugeordnetes MI-Objekt aufweist, das einem abgefragten Merkmal entspricht;
ein Verfahren (32) zum Wiedergewinnen des zugeordneten MI-Objekts; und
ein Verfahren (30) zum Auflisten von MI-Objekten, die einer ME (33) zugeordnet sind;
wobei die Einrichtung b) die verwaltete Einheit (22, 24) steuert, um mindestens eines der Verfahren zu verwenden, um das MI-Objekt, das der ME (33) zugeordnet ist, wie­ derzugewinnen.
13. Speichermedium (29) gemäß einem der Ansprüche 9 bis 12, bei dem jede verwaltete Einheit (22, 24), die einen be­ sonderen Dienst umfaßt, den Dienst mit einer im wesent­ lichen identischen ME-Datenstruktur zeigt.
14. Speichermedium (29) gemäß Anspruch 13, bei dem jede ver­ waltete Einheit (22, 24), die ein besonderes Merkmal um­ faßt, das Merkmal mit einem im wesentlichen identischen MI-Objekt und enthaltenen Verfahren zeigt.
15. Speichermedium (29) gemäß Anspruch 14, bei dem der Pro­ zessor das Schnittstellenanbieter-Verfahren bei der Ver­ waltung aller Peripherieeinheiten, die ME- und MI-Objek­ te zeigen, einsetzt.
DE10006416A 1999-04-23 2000-02-14 System und Verfahren für eine Peripheriesystemverwaltung unter Verwendung von Mehr-Objekt-Schnittstellen Withdrawn DE10006416A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29859099A 1999-04-23 1999-04-23

Publications (1)

Publication Number Publication Date
DE10006416A1 true DE10006416A1 (de) 2000-11-02

Family

ID=23151175

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10006416A Withdrawn DE10006416A1 (de) 1999-04-23 2000-02-14 System und Verfahren für eine Peripheriesystemverwaltung unter Verwendung von Mehr-Objekt-Schnittstellen

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565209B2 (en) 2004-07-02 2009-07-21 Panasonic Corporation Device control apparatus

Families Citing this family (3)

* 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
JP4023508B2 (ja) 2006-03-28 2007-12-19 松下電工株式会社 ネットワークシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565209B2 (en) 2004-07-02 2009-07-21 Panasonic Corporation Device control apparatus

Also Published As

Publication number Publication date
JP2000311129A (ja) 2000-11-07

Similar Documents

Publication Publication Date Title
DE60131683T2 (de) Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
DE69709959T2 (de) Verwendung von polymorphischen dateipaketen zur aktualisierung von softwarekomponenten
DE69832354T2 (de) Netzwerkverwaltungsrahmenwerk
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE19940210B4 (de) Verfahren zum Herstellen eines Computersystems und zum Modifizieren einer grafischen Benutzeroberfläche, die von einem Betriebssystem kontrolliert wird
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE69131745T2 (de) Verfahren und Gerät zum Verschaffen einer Kundenschnittstelle zu einem objektorientierten Aufruf eines Anwendungsprogramms
DE69636887T2 (de) System und Verfahren,um verschiedenen Anbietern von Namen zu ermöglichen,sich dynamisch einer Namensföderation anzuschliessen
DE69829442T2 (de) System und Verfahren für transparenten, globalen Zugang zu physikalischen Geräten in einem Rechnersystem
US7496890B2 (en) Generation of configuration instructions using an abstraction technique
DE19926115B4 (de) Transaktionshandhabung in einer Konfigurationsdatenbank
DE69712560T2 (de) System zur Konfiguration von vorkonfigurierten Programmen auf vernetzten offenen Systemen in einer verteilten Umgebung und Verfahren zur Durchführung dieses Systems
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE69735348T2 (de) Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten
DE69131245T2 (de) Verfahren und Gerät zum Verschaffen von dynamischen Aufrufen von Anwendungsprogrammen in einer verteilten heterogenen Umgebung
DE60003457T2 (de) Verfahren und system zur konfiguration von komponenten, ausgebbar in einem netzwerk
DE69838139T2 (de) Verfahren und system zur schaffung von datenbankanwendungssoftware,die minimales programmieren benötigen
DE69131122T2 (de) Graphische Konfiguration eines Datenverarbeitungsnetzwerkes
CN100484031C (zh) 一种可扩展的网络管理系统和方法
DE112005001033T5 (de) Verfahren und Vorrichtung für den Zugriff auf Prozesssteuerdaten
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE112011105186T5 (de) Graphdatenbanken zum Speichern mehrdimensionaler Modelle von Software-Angeboten
DE10045133C2 (de) Wiederverwendbares computerimplementiertes Auftrags-Editier und Liefer-Verfahren
DE19954268A1 (de) Verfahren und System zur Verbesserung des Workflow-Durchsatzes in Workflow-Anwendungssystemen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),

8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8130 Withdrawal