-
Diese
Anmeldung ist am 11. Dezember 2001 als PCT-Anmeldung von der MICROSOFT
CORPORATION eingereicht, einer Gesellschaft der USA und dort ansässig, und
nennt sämtliche
Staaten mit Ausnahme der USA.
-
Technisches Gebiet
-
Die
vorliegende Erfindung bezieht sich auf Verfahren und Systeme zum
Verwalten mehrerer Ressourcen in einer Netzwerkumgebung. Insbesondere
bezieht sich die vorliegende Erfindung auf das Bereitstellen eines
Verfahrens und eines Systems zum Ausführen szenariobasierter Aufgaben,
die eine Interaktion mit mehreren Ressourcen verlangen, während eine
einheitliche Benutzerschnittstelle für jede der zahlreichen Ressourcen
bereitgestellt wird.
-
Hintergrund der Erfindung
-
Netzwerkadministratoren,
die auch als Informationstechnologie-Personal bekannt sind, führen zahlreiche
Tätigkeiten
im Verlauf jedes Tages aus, um eine Anzahl unterschiedlicher Ressourcen
zu verwalten, die ihren jeweiligen Netzwerken zugeordnet sind. Diese
Netzwerke können
eine beliebige Zahl von hardwarebezogenen Computerressourcen, wie
etwa Druckern Computerstationen, Server, etc., wie auch eine Anzahl
von softwarebezogenen Ressourcen, wie etwa unter anderem Datenbanken,
Mitarbeiterprofile, E-Mail-Server und Applikationen, enthalten.
Normalerweise hat jede dieser Ressourcen ein eindeutig unterschiedliches Front-End
oder Benutzerschnittstelle, die der Administrator verwenden muss,
um diese Ressource abzuändern,
zu bewerten oder anderweitig zu konfigurieren.
-
Demzufolge
müssen
Administratoren, um ihre Aufgaben auszuführen, mit vielen unterschiedlichen
Typen von Systemen vertraut sein.
-
Die
Ressourcen werden normalerweise direkt an der Ressource an sich,
oder entfernt über
eine zweistufige Verbindung verwaltet. Das zweistufige System enthält (1) ein
Client-Computersystem oder "Front-End" und (2) die Ressourcen
an sich oder ein "Back-End". Beim zweistufigen
Modell muss das Client-Computersystem
mit den Ressourcen möglicherweise
durch einen Netzwerk-Server
verbunden sein und sämtliche
notwendige Software auf dem Front-End installiert haben, um die
Ressourcen zu verwalten. Die Software bezieht sich auf die Front-End-Benutzerschnittstelle
für jede
unterschiedliche Ressource.
-
Eines
der Probleme, das mit diesem zweistufigen System in Verbindung steht,
besteht hinsichtlich der Netzwerkadministration darin, dass es notwendig
ist, die geeigneten "Front-End"-Applikationen für jede Ressource
oder jeden Satz von entsprechenden Ressourcen an jedem Client-Ort
zu speichern und zu verwalten, an dem die Netzwerkadministration
stattfindet. Durch Anordnen der geeigneten "Front-End"-Applikationen auf der Ebene des Client-Computers,
erfordert die zweistufige Architektur einen beträchtlichen und fortwährenden Aufwand
von Technologie, Software und Datenaktualisierungen.
-
Ein
zusätzlicher
Nachteil bei diesem zweistufigen System besteht darin, dass jede
der Ressourcen und deren entsprechende Front-End-Benutzerschnittstellen-Applikationen eindeutig
und unabhängig
für jede der
Ressourcen arbeiten, die verwaltet werden. Wenn eine komplexe Mehrschrittaufgabe
(oder ein komplexes Szenario) ausgeführt werden müssen, erfordert
es daher die Unabhängigkeit
der Ressource, dass auf jedes separate Front-End zugegriffen wird,
um Funktionen auszuführen,
die mit der Ausführung
eines Schrittes der mehrschrittigen Aufgaben oder andernfalls mit
der Ausführung
der einzelnen Teile des Szenarios in Verbindung stehen. Um beispielsweise
einen neuen Benutzer einem Netzwerksystem hinzuzufügen, müssen zahlreiche
Aufgaben abgeschlossen sein, wie etwa das Hinzufügen des Benutzers zur Mitarbeiterdatenbank,
das Einrichten des Computers des Benutzers, das Einrichten eines
E-Mail-Kontos für
den Benutzer, das Versorgen des Benutzers mit einem Sicherheitskennzeichen
und dergleichen. Das unabhängige
Wesen der unterschiedlichen Ressourcen, das erforderlich ist, um
diese Aufgaben auszuführen,
führt zu
zahlreichen, bisweilen wiederholten Aktionen, die für jede Front-End-Applikation
immer dann ausgeführt
werden müssen,
wenn eine bestimmte Aufgabe abgeschlossen werden muss. Wenn es beispielsweise
versucht wird, Informationen zu finden, die mit einer Aufgabe in
Verbindung stehen, wie etwa ein Benutzer, muss auf zahlreiche unterschiedliche Ressourcen
wiederum unter Verwendung eindeutiger Front-End-Applikationen zugegriffen
werden, um nach den Informationen zu suchen, die sich auf einen
speziellen Gegenstand beziehen. Leider ist jedoch der Zugriff auf
unterschiedliche Ressourcen in dieser Art und Weise zeitaufwendig
und verlangt eine Beherrschung zahlreicher Typen von Applikationen
und Front-Ends.
-
Ein
weiterer Nachteil, der mit der Netzwerkadministration in Verbindung
steht, wie sie soweit beschrieben wurde, besteht darin, dass, um
jede der unterschiedlichen Ressourcen, die einen gegebenen Netzwerk zugeordnet
sind, wirkungsvoll zu verwalten, ein Netzwerkadministrator fachmännisch mit
jeder der "Front-End"-Applikationen oder Benutzerschnittstellen
vertraut sein muss, die verwendet werden, um die Ressourcen zu steuern.
Somit sind für
einen Administrator eine beträchtliche Übungszeit
und beträchtlicher
Aufwand erforderlich, um die Funktionsweise jeder der unterschiedlichen
Ressourcen, die dem Netzwerk zugeordnet sind, sowie der unterschiedlichen
zugehörigen
Front-End-Applikationen oder Benutzerschnittstellen zu lernen und
mit diesen Schritt zu halten.
-
Im
Bezug auf diese und andere Überlegungen
wurde die vorliegende Erfindung gemacht.
-
EP 0 813 139 A2 bezieht
sich auf eine graphische Benutzeroberfläche und auf Property-Sheet-Systeme,
die Property-Pages haben, die auf einer graphischen Benutzeroberfläche betrachtet
werden können.
Ein Benutzer des Systems kann Werte mit Hilfe unterschiedlicher
Property-Pages in einem visuellen Kontext betrachten und ändern, d.
h. diese gleichzeitig positioniert über einem Schreibtisch betrachten.
-
US 5.471.399 bezieht sich
auf ein Netzwerk-Verwaltungssystem, das eine Anzeigeeinrichtung
dafür hat,
sowie ein Netzwerkstatus-Anzeigeverfahren zum Anzeigen einer Netzwerkkonfiguration
und eines Netzwerkbetriebsstatus. Das Netzwerkverwaltungssystem
enthält
eine Datenbank mit einer Konfigurationsinformationstabelle, um darin
Konfigurationsinformationen zu speichern, die sich auf eine Vielzahl
verwalteter Objektinstanzen (Ressourcen) beziehen, die das Netzwerk
bilden, eine Eingrenzungsbeziehungs-Verwaltungstabelle, um darin
Verwaltungsinformationen der Objektinstanzen zu speichern, und eine
Ikonendatentabelle, um darin Bildschirmanzeigeinformationen zu speichern.
-
US 5.481.741 bezieht sich
auf graphische Systeme zum Erzeugen und Ausführen von Datenflussprogrammen.
-
US 6.078.920 bezieht sich
auf ein Datenbankverwaltungssystem, das einen Client- und einen
Server-Computer enthält.
Weiterhin werden Datenbankobjekte auf dem Server aktiviert oder
mit Datenbankobjekten verknüpft,
die auf dem Client-Computer
gespeichert sind, wodurch OLE-Objekte verwendet werden, die aktiviert
oder verknüpft
sind.
-
ÜBERSICHT ÜBER DIE ERFINDUNG
-
Das
Ziel der Erfindung besteht darin, ein wirkungsvolleres Verwaltungssystem
und -verfahren zur Verwaltung unterschiedlicher Ressourcen anzugeben,
die einem Netzwerk zugeordnet sind.
-
Dieses
Ziel wird mit der vorliegenden Erfindung erreicht, wie sie in den
unabhängigen
Ansprüchen
beansprucht ist.
-
Bevorzugte
Ausführungsformen
sind in den abhängigen
Ansprüchen
definiert.
-
Diese
Erfindung bezieht sich auf ein Verwaltungssystem zum Verwalten von
computerbezogenen Ressourcen innerhalb einer verteilten oder netzwerkartigen
Beziehung. Das Verwaltungssystem oder "Portal" verwendet zudem die Web- Technologie, vorzugsweise
die XML-Technologie, um den Overhead abzubauen, der mit bestehenden
Verwaltungswerkzeugen in Verbindung steht, die stark von einem zweistufigen
System abhängig
sind, das Client-Computer hat, die mit den Computerressourcen an
sich verbunden sind – die
inhärent nicht
einheitlicher Natur sind und die Verwaltung des Computersystems
schwierig machen. Bei einer Ausführungsform
der Erfindung ist das Verwaltungswerkzeug ein skalierbares, web-basiertes
Verwaltungs-Framework, das eine Vielzahl von Back-End-Ressourcen in einer
einheitlichen Art und Weise verwaltet. Die Ressourcen Kommunizieren
mit dem Verwaltungssystem über
einen normgerechten Dialog, der schemagesteuert ist. Mit Hilfe dieser
Kommunikationen ordnet das Verwaltungssystem einheitlich Informationen
von den unterschiedlichen Ressourcen über unterschiedliche mehrschrittige,
szenariobasierte Funktionen zu, wie etwa Suchen, Überwachen,
Skripterstellung, Softwareeinsatz etc. Das heißt, das Verwaltungssystem ist
in der Lage, dem Administrator einfachere Operationsoptionen höherer Ebene
auf der Basis der zugehörigen
Informationen bereitzustellen, die sich auf unterschiedliche Ressourcen
beziehen.
-
Im
Bezug auf bestimmte Aspekte bezieht sich die vorliegende Erfindung
auf ein System zum Verwalten einer Vielzahl von Ressourcen, wobei
das System über
ein Verwaltungsmodul in Kommunikation mit der Vielzahl von Ressourcen
verfügt.
Das Verwaltungsmodul ist in der Lage, eine Anforderung zu empfangen,
um auf Informationen zuzugreifen, die sich auf eine oder mehrere
der Vielzahl von Ressourcen beziehen, und in Erwiderung des Empfangs
einer Anforderung auf Informationen zuzugreifen, greift das Verwaltungsmodul
auf Informationen von mehr als einer Ressource zu. das Verwaltungsmodul
kann einen Konfigurations-Manager
haben, der Informationen von einer Vielzahl von Ressourcen empfängt, und
einen Konfigurations-Speicher, der vorbestimmte Informationen für die Vielzahl
von Ressourcen speichert. Zusätzlich
installiert der Konfigurations-Manager Ressourcen, so dass das Verwaltungsmodul
Konfigurationsinformationen für
die Vielzahl von Ressourcen in Erwiderung einer Anforderung abändern kann.
Darüber
hinaus stellt bei einer Ausführungsform jede
aus der Vielzahl von Ressourcen Informationen für den Konfigurations-Manager
im XML-Format bereit.
-
Gemäß anderen
Aspekten enthält
die Vielzahl von Ressourcen, die vom System verwaltet wird, ein oder
mehrere Objekte. Jedes dieser Objekte verfügt über ein oder mehrere Attribute,
wobei jedes Attribut ein Datenfeld und einen Wert hat. In ähnlicher
Weise hat jedes Objekt eine oder mehrere zugeordnete Aufgaben, die
am Objekt ausgeführt
werden können.
In diesem Fall greift das Modul auf Attribut- und Aufgaben-Informationen von den
zugehörigen
Ressourcen in Erwiderung einer Anforderung zum Zugreifen auf Informationen
zu. Darüber
hinaus können
die Attribut- und/oder Aufgaben-Informationen für ein einzelnes Objekt durch
mehr als eine Ressource bereitgestellt oder auf diese von mehr als
einer Ressource zugegriffen werden. Bei einer Ausführungsform
wird jedes Objekt durch ein Property-Sheet definiert, wobei die Attribut-
und/oder Aufgaben-Informationen eine Property-Page in dem Property-Sheet sind. Es
kann ein Property-Sheet-Manager verwendet werden, um Property-Sheet-Informationen
zu empfangen und zu speichern, die sich auf verwaltete Objekte beziehen.
-
Gemäß weiteren
Aspekten bezieht sich die vorliegende Erfindung auf ein System,
das enthält:
einen Konfigurations-Manager, der Informationen von einer Vielzahl
von Ressourcen empfängt,
wobei jede Ressource zugehörige
Objekte hat; einen Konfigurations-Speicher, der vorgegebene Informationen
für die
Vielzahl von Ressourcen speichert; und einen Such-Manager, der dazu
eingerichtet ist, vorgegebene Suchinformationen von einer Vielzahl
von Ressourcen zu empfangen; einen Suchdatenspeicher, der dazu eingerichtet
ist vorgegeben Suchinformationen für die unterschiedlichen Ressourcen
zu speichern, wobei der Such-Manager die Vielzahl von Ressourcen
in Erwiderung einer einzigen Suchanforderung absucht. Bei einer
weiteren Ausführungsform
kann das System einen Aufgaben-Manager anstelle des oder zusätzlich zum
Such-Manager haben. Der Aufgaben-Manager empfängt Aufgaben-Informationen
vom Konfigurations-Manager, die sich auf Aufgaben beziehen, die
bei der Verwaltung der Vielzahl von Ressourcen abgeschlossen werden
können.
-
Zusätzlich bezieht
sich die vorliegende Erfindung auf ein Verfahren zum Verwalten einer
Vielzahl von Ressourcen, wobei jede Ressource verwaltete Objekte
hat und jedes der Objekte zugehörige
Attribut- oder Aufgaben-Informationen hat. Zu Beginn bezieht sich
das Verfahren auf die Tätigkeiten
des Empfangens von Informa tionen von einer Ressource, die sich auf
Attribut-Informationen für
ein verwaltetes Objekt beziehen, und Empfangen von Informationen
von einer anderen Ressource, die sich auf Attribut-Informationen
für dasselbe
verwaltete Objekt beziehen. Das Verfahren speichert anschließend die
Informationen, die von der zweiten Ressource empfangen werden, mit
den Informationen, die von der ersten Ressource empfangen werden in
Verbindung mit dem ersten verwalteten Objekt. Als nächstes bezieht
sich das Verfahren bei der Verwaltung von Ressourcen auf das Empfangen
einer Anforderung zum Zugreifen auf Informationen, die sich auf
das verwaltete Objekt beziehen, und zum Zugreifen auf gespeicherte
Informationen von der ersten und der zweiten Ressource, um auf Informationen
zuzugreifen, die sich auf das verwaltete Objekt beziehen. Das Verfahren kann
weiterhin das Erzeugen eines Property-Sheets für das verwaltete Objekt und
das Verknüpfen
einer ersten Property-Page und einer zweiten Property-Page mit dem
Property-Sheet beinhalten.
-
Gemäß weiterer
Aspekte kann sich das Verfahren weiterhin auf das Empfangen einer
Such- oder Aufgaben-Anforderung von einem Client-Computersystem
und Suchen einer Vielzahl von Ressourcen in Erwiderung der einzelnen
Suchanfrage unter Verwendung von Informationen, die mit dem Property-Sheet
verknüpft sind,
oder auf das Anfordern einer Aufgaben-Erfüllung von einer Vielzahl von
Ressourcen beziehen. Das Verfahren kann weiterhin den Vorgang der
gemeinsamen Nutzung von Suchinformationen zwischen Ressourcen beinhalten.
-
Die
Erfindung kann als Computerprozess, ein Berechnungssystem oder als
Produktionsgegenstand, wie etwa ein Computerprogrammerzeugnis ausgeführt werden.
Das Computerprogrammerzeugnis kann ein Computerspeichermedium sein,
das von einem Computersystem gelesen werden kann und ein Computerprogramm
von Anweisungen zum Ausführen
eines Computerprozesses codieren. Das Computerprogrammerzeugnis
kann zudem ein ausgebreitetes Signal auf einer Trägerwelle
sein, die von einem Berechungssystem gelesen werden kann, und ein
Computerprogramm von Anweisungen zur Ausführung eines Computerprozesses
codieren.
-
Eine
umfassendere Wertschätzung
der vorliegenden Erfindung und seiner Verbesserungen erhält man durch
Bezugnahme auf die beiliegenden Zeichnungen, die kurz unten zusammengefasst
sind, und auf die folgende detaillierte Beschreibung vorliegender
bevorzugter Ausführungsformen
der Erfindung sowie die angefügten
Ansprüche.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
ein verteiltes Netzwerksystem, das Aspekte der vorliegenden Erfindung
enthält.
-
2 zeigt
ein Computersystem, das Aspekte eines Ressourcen-Verwaltungssystems gemäß der vorliegenden
Erfindung enthält.
-
3 zeigt
eine Softwareumgebung zum Ausführen
der vorliegenden Erfindung, wobei die Softwareumgebung ein Ressourcen-Verwaltungssystem
der vorliegenden Erfindung wie auch unterschiedliche Ressourcen,
die vom Ressourcen-Verwaltungssystem verwaltet werden und verwaltete
Objekte mit den verwalteten Ressourcen enthält.
-
4 ist
ein Flussdiagramm, das die Betriebseigenschaften darstellt, die
vom Ressourcen-Verwaltungssystem, das in 3 gezeigt
ist, beim Hinzufügen
einer neuen Ressource zum System ausgeführt werden.
-
5 zeigt
eine beispielhafte Bildschirmanzeige, die ein verwaltetes Objekt,
das ein Property-Sheet hat, und die Erweiterbarkeit des Property-Sheets
mit Hilfe von Property-Pages gemäß einer
Ausführungsform der
Erfindung darstellt.
-
6 ist
ein Flussdiagramm der Betriebsflusseigenschaften, die vom Ressourcen-Verwaltungssystem
beim Erweitern eines bestehenden Property-Sheets gemäß einer
Ausführungsform
der Erfindung ausgeführt
werden.
-
7 zeigt
eine Softwareumgebung zum Ausführen
eine Mehrschrittaufgabe in einer Ausführungsform der Erfindung.
-
8 ist
ein Flussdiagramm, das die Betriebsflusseigenschaften zeigt, die
vom Ressourcen-Verwaltungssystem und vom Aufgaben-Manager, die in 3 gezeigt
sind, beim Anzeigen einer Aufgabenliste bei einer Ausführungsform
der Erfindung ausgeführt
werden.
-
9 ist
ein Flussdiagramm, das die Betriebseigenschaften zeigt, die vom
Ressourcen-Verwaltungssystem beim Erzeugen eines Skriptes gemäß Aspekten
der vorliegenden Erfindung ausgeführt werden.
-
10 zeigt
eine Softwareumgebung zum Ausführen
einer Suche in einer Ausführungsform
der Erfindung.
-
11 ist
ein Flussdiagramm der Betriebseigenschaften, die vom Ressourcen-Verwaltungssystem und
dem Such-Manager, die in 3 gezeigt sind, beim Ausführen einer
Suche in einer Ausführungsform
der Erfindung ausgeführt
werden.
-
12 zeigt
allgemeine Merkmale einer Verwaltungskonsole einer graphischen Benutzerschnittstelle, die
unterschiedliche Elemente zum Steuern des und Zugreifen auf das
Ressourcen-Verwaltungssystem aus 3 enthält.
-
13 zeigt
unterschiedliche Merkmale der Verwaltungskonsole, die in 12 dargestellt
ist.
-
14 zeigt
zusätzliche
Merkmale und weitere Ausführungsformen
der Verwaltungskonsole aus 12.
-
15–19 zeigen
unterschiedliche Details und Merkmale eines Schnellsuchwerkzeuges,
das in der Verwaltungskonsole von 14 zu
sehen ist.
-
20 zeigt Benutzerschnittstellen-Elemente, die
in der Verwaltungskonsole aus Anspruch 3 infolge einer Suche erzeugt
werden, die mit dem Schnellsuchwerkzeug aus 15–19 ausgeführt wird.
-
21 zeigt unterschiedliche Details und Merkmale
eines Explorer-Werkzeugs,
das auf der graphischen Benutzerschnittstelle von 14 zu
sehen ist.
-
22 zeigt unterschiedliche Elemente eines beispielhaften
Moduls für
die Verwendung in der Verwaltungskonsole aus 12.
-
23 zeigt eine weitere Ausführungsform eines beispielhaften
Moduls für
die Verwendung in der Verwaltungskonsole aus 12.
-
Detaillierte Beschreibung
der Erfindung
-
Eine
verteilte Umgebung 100, die Aspekte der vorliegenden Erfindung
enthält,
ist in 1 gezeigt. Die Umgebung 100 hat wenigstens
ein Client-Computersystem, wie etwa das Client-Computersystem 102,
das mit wenigstens einem Server-Computersystem,
wie etwa dem Server-Computersystem 104, in einer verteilten Umgebung 106,
wie etwa dem Internet oder einer anderen verteilten Umgebung, z.
B. einem WAN, LAN und dergleichen, kommuniziert. Das Server-Computersystem 104 wird
verwendet, um eine oder mehrere Ressourcen 108 zu verwalten.
Die Ressourcen 108 beziehen sich im allgemeinen auf Computer-Ressourcen, die von einem
Netzwerkadministrator verwaltet werden können. Die Ressourcen 108 können Hardware-Vorrichtungen,
wie etwa Drucker, Workstations, Servers, etc. und softwarebezogene
Elemente, wie etwa Datenbanken, Sicherheitssysteme, E-Mail-Konten
und Benutzerkonten und dergleichen, enthalten. Beispielsweise kann
die Ressource 1, die mit 110 in 1 gezeigt
ist, ein E-Mail-System
sein, das die E-Mail für
ein spezielles Netzwerk steuert, wobei sich die Ressource 2,
die mit 112 dargestellt ist, auf alle Drucker für dieses
Netzwerk bezieht. Es wird darauf hingewiesen, dass das Netzwerk
eine beliebige Zahl von Ressourcen haben kann, wie es mit Ressource
N 114 dargestellt ist, wobei sich "N" auf
eine beliebige variable Zahl von Ressourcen bezieht.
-
Es
ist von Bedeutung, dass sich der Typ und der Umfang der Ressourcen 108 höchstwahrscheinlich von
einem Netzwerk zu einem weiteren unterscheiden und sich somit der
Geltungsbereich der vorliegenden Erfindung auf verwaltbare Ressourcen
im allgemeinen und nicht auf einen speziellen Satz von Ressourcen
bezieht. Darüber
hinaus können
potentiell neue und andere Ressourcen, die mit Hilfe von Aspekten
der vorliegenden Erfindung verwaltet werden können, im Laufe der Zeit aufkommen,
wobei die vorliegende Erfindung nicht durch die Tatsache beschränkt ist,
dass diese Ressourcen zuvor nicht verfügbar waren. Tatsächlich führt die
Verwendung der vorliegenden Erfindung diese selbst zur Erzeugung
neuer und anderer Ressourcen, die in Verbindung mit der vorliegenden
Erfindung arbeiten.
-
Die
Ressourcen 108 sind wirkungsmäßig mit dem Server-Computersystem 104 derart
verbunden, dass Informationen zu den Ressourcen gesendet und von
diesen empfangen werden können.
Diese Verbindungen sind in verteilten Umgebungen üblich und
können
drahtlos sein oder nicht. Die Protokolle, die verwendet werden,
um zwischen den Ressourcen und dem Server-Computersystem zu kommunizieren,
können
für die
Ressource und/oder den Server 104 proprietär sein.
Jedoch sollte das verwendete Protokoll vorzugsweise die Möglichkeit
zulassen, unterschiedliche Merkmale der Ressourcen zu steuern, wie
etwa, dass die Möglichkeit
besteht, die Konfiguration der Ressource zu ändern, so dass ihre Datenbank
aktualisiert, ihre Sicherheitsoptionen geändert werden können und
dergleichen.
-
Das
Client-Computersystem 102 kann mit dem Server-Computersystem 104 über zahlreiche
unterschiedliche Protokolle über
unterschiedliche Typen von Verbindungen kommunizieren. Wie es in 1 gezeigt ist,
können
die Systeme 102 und 104 über das Internet 106 mit
Hilfe des Hypertext Transfer Protocols (HTTP), Mark-Up-Languages oder
einem anderen Protokoll kommunizieren, das sich für die Verwendung
beispielsweise mit dem Internet eignet. Bei einer speziellen Ausführungsform
ist das Client-Computersystem 102 ein Microsoft.NET-Client,
wobei jedoch andere Nicht-Microsoft.NET-Clients verwendet werden
können.
-
Während des
Betriebs greift das Client-Computersystem 102 auf Informationen
vom Server-Computersystem 104 zu. Die Informationen, auf
die zugegriffen wird, beziehen sich auf die unterschiedlichen Ressourcen 108.
Sobald der Zugriff erfolgt ist, zeigt das Computersystem 102 eine
graphische Benutzerschnittstelle 116 an, die beim Verwalten
der Ressourcen 108 zu verwendet ist, oder es können bei
anderen Ausführungsformen
Befehlszeilen-Schnittstellen verwendet werden. Das Client-Computersystem 102 hat
eine graphische Benutzeroberfläche 116,
um wirkungsvolle Verwaltungsfähigkeiten
von Computerressourcen 108 durch das Server-Computersystem 104 bereitzustellen.
Alternative Ausführungsformen
verwenden jedoch nicht die graphische Benutzerschnittstelle (GUI) 116,
sondern anstelle dessen andere Einrichtungen zum Bereitstellen und
Empfangen von Informationen für
den und von dem Benutzer des Client-Computersystems 102.
Wie es im folgenden detaillierter beschrieben wird, stellt die Schnittstelle
Gleichheiten im Bezug auf die Möglichkeit bereit,
die unterschiedlichen Ressourcen zu verwalten, wenngleich jede Ressource
weiterhin einen Teil ihrer eigenen eindeutigen Eigenschaften haben
kann.
-
Bei
einer Ausführungsform
bezieht sich die vorliegende Erfindung auf eine Browser-Applikation,
die in Verbindung mit einem Verwaltungs-Modul oder -System arbeitet,
um Tätigkeiten
und Ereignisse hinter einer Firewall, wie etwa zwischen dem Server-Computersystem 104 und
den Ressourcen 108 zu koordinieren. Bei einer speziellen
Ausführungsform
ist das Verwaltungssystem in einen "Enterprise Namespace" (der Objekte und Aufgaben über eine
Betriebsdomäne
katalogisiert) integriert, wobei sämtliche Benutzerinteraktionen
mit Hilfe verteilter Dienste schemagesteuert sind, um sämtliche
Verwaltungsaufgaben auszuführen.
Das heißt, sämtliche
Interaktionen zwischen der Browser-Applikation und dem Verwaltungs-Modul
werden in XML oder einer anderen schemagesteuerten Sprache ausgedrückt.
-
In ähnlicher
Weise können
Kommunikationen zwischen dem Verwaltungssystem und anderen Ressourcen
ein definiertes Schema erfüllen.
Das Erfordernis konformer Kommunikationen zwischen Ressourcen und
der Verwaltungsebene stellt die Möglichkeit bereit, entsprechende
Informationen von unterschiedlichen Ressourcen gemeinsam zu nutzen
oder zu verknüpfen
und Teilfunktionen sowie Eigenschaftsinformationen logisch zu kombinieren.
Unter Verwendung der verknüpften
Informationen kann das Verwaltungsmodul dem Benutzer fortgeschrittene
Fähigkeiten
bereitstellen indem es aufgaben- oder szenariobasierte Operationen
zulässt,
die wirkungsvoll die zahlreichen Ressourcen 108 in Erwiderung
lediglich weniger Anforderungen verwalten, wie etwa dass eine Anforderung,
einen Benutzer hinzuzufügen,
wirkungsvoll Informationen in zwei oder mehr Ressourcen abändern kann.
Wie es im folgenden detaillierter beschrieben wird, kann das Verwaltungsmodul
zahlreiche unterschiedliche Teilmodule oder Komponenten beinhalten,
die unterschiedliche Mehrschrittaufgaben oder szenariobasierte Verwaltungsfunktionen
ausführen
Zusätzlich
können
andere Module ebenfalls enthalten sein, um Skripterstellungsfunktionen
(die keine Benutzerschnittstelle erfordern), Suchfunktionen, anpassende
und/oder andere administrative Funktionen mit Hilfe der verknüpften Informationen
von der Vielzahl von Ressourcen 108 auszuführen.
-
Ein
beispielhaftes Computersystem 200, das verwendet werden
kann, um die Funktionen entweder des Client-Computersystems 102 oder
des Server- Computersystems 104 auszuführen, um
die unterschiedlichen Ressourcen 108 innerhalb des Systems 100 gemäß der vorliegenden
Erfindung auszuführen,
ist in 2 gezeigt. Das System hat eine Verarbeitungseinheit
oder einen Prozessor 202 und einen Speicher 204.
Bei einer alternativen Ausführungsform
der Erfindung kann das System mehrere Prozessoren (nicht gezeigt)
haben.
-
In
seiner grundlegendsten Konfiguration ist das Berechnungssystem 200 in 2 mit
einer Strichlinie dargestellt. Zusätzlich kann das System weiterhin
zusätzlichen
Speicher (entnehmbaren und/oder nicht entnehmbaren) enthalten, der,
ohne darauf beschränkt
zu sein, magnetische oder optische Platten oder ein Band enthalten
kann. Derartiger zusätzlicher
Speicher ist in 2 durch einen entnehmbaren Speicher 208 und
einen nicht entnehmbaren Speicher 210 gezeigt. Normalerweise
wird der Großteil
der Datenbankinformationen in einem derartigen zusätzlichen
Speicher gespeichert. Computer-Speichermedien beinhalten flüchtige und nicht
flüchtige,
entnehmbare und nicht entnehmbare Medien, die bei einem beliebigen
Verfahren oder einer beliebigen Technologie zum Speichern von Informationen,
wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen
oder anderen Daten, eingesetzt werden können. Der Speicher 204,
der entnehmbare Speicher 208 und der nicht entnehmbare
Speicher 210 sind allesamt Beispiele von Computerspeichermedien.
Computerspeichermedien beinhalten, ohne darauf beschränkt zu sein
einen RAM, einen ROM, einen EEPROM, einen Flash-Speicher oder andere
Speichertechnologie, ein CD-ROM, DVDs oder anderen optischen Speicher,
Magnetkassetten, ein Magnetband, einen Magnetplattenspeicher oder
andere Magnetspeichervorrichtungen, oder ein beliebiges anderes
Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern
und auf das vom System 200 zugegriffen werden kann. Beliebige
derartige Computerspeichermedien können Teil des Systems 200 sein.
In Abhängigkeit
der Konfiguration und des Typs der Berechnungsvorrichtung kann der
Speicher 204 flüchtig,
nicht flüchtig
oder eine bestimmte Kombination aus diesen beiden sein.
-
Das
System kann zudem eine Kommunikationsverbindung (Kommunikationsverbindungen) 212 beinhalten,
die es der Vorrichtung gestattet, mit anderen Vorrichtungen zu kommunizieren.
Die Kommunikationsverbindung (Kommunikationsver bindungen) 212 ist
ein Beispiel eines Kommunikationsmediums. Das Kommunikationsmedium
verkörpert
normalerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule
oder andere Daten in einem modulierten Datensignal, wie etwa einer
Trägerwelle
oder einem andere Transportmechanismus, und enthält beliebige Informationszustellungsmedien.
Der Begriff "moduliertes
Datensignal" bezeichnet
ein Signal, bei dem eine oder mehrere seiner Eigenschaften derart
eingestellt oder geändert werden,
dass die Informationen im Signal codiert werden. Beispielsweise
beinhalten, ohne darauf beschränkt zu
sein, Kommunikationsmedien drahtgebundene Medien, wie etwa ein drahtgebundenes
Netzwerk oder eine driektverdrahtete Verbindung, und drahtlose Medien,
wie etwa Schall-, Hochfrequenz- oder andere Drahtlosmedien. Der
Begriff computerlesbares Medium, wie er hier verwendet wird, beinhaltet
sowohl Speichermedien als auch Kommunikationsmedien.
-
Das
System 200 kann zudem eine Eingabevorrichtung 214,
wie etwa eine Tastatur, eine Maus, einen Stift, eine Spracheingabevorrichtung,
eine Tasteingabevorrichtung und dergleichen beinhalten. Eine Ausgabevorrichtung 216,
wie etwa eine Anzeigeeinrichtung, Lautsprecher, ein Drucker und
dergleichen, können
ebenfalls enthalten sein. Alles diese Vorrichtungen sind nach dem
Stand der Technik hinlänglich
bekannt und müssen
hier nicht länger
ausgeführt
werden.
-
Bei
einer Ausführungsform
kann eine Softwareumgebung 300, die Aspekte der Erfindung
enthält,
dargestellt sein, wie es in 3 gezeigt
ist. Die Umgebung 300 enthält drei Bestandteile: ein Client-Computersystem 320,
ein Verwaltungsmodul 304 und Ressourcen 306. Eine
erste Komponente 302 bezieht sich auf das Client-Computersystem 302 und
wird von einem Netzwerkadministrator verwen- det, um unterschiedliche
Ressourcen zu verwalten. Die zweite Komponente 304 bezieht
sich auf ein Verwaltungsmodul, das mit dem Client-Computersystem 302 kommuniziert,
um die Verwaltung von Ressourcen 306 zu vereinfachen.
-
Bei
einer Ausführungsform
enthält
das System 302 Client-Computer-Systemsoftware 308 und ein
Benutzerschnittstellenmodul 310. Die Client-Computer-Systemsoftware 308 stellt
zahlreiche Funktionen bereit. Beispielsweise kommuniziert die Software 308 mit
dem Verwaltungsmodul 304, um Anforderun gen nach Informationen
und/oder Anforderungen für
die Fertigstellung von Aufgaben bereitzustellen. Diese Kommunikation kann
auf vielfältige
Art erfolgen, wie etwa dass sie den Transfer von Informationen über eine
Netzwerkverbindung, wie etwa das Internet, oder die Kommunikation
zwischen zwei getrennten Prozessen in einer einzelnen Maschine beinhaltet.
Einige dieser unterschiedlichen Verbindung sind oben unter Bezugnahme
auf 1 beschrieben.
-
Darüber hinaus
kommuniziert die Client-Computer-Systemsoftware 308 zudem
mit dem Benutzer durch das Schnittstellenmodul 310 oder
stellt ihm darüber
Funktionalitäten
bereit. Das Benutzerschnittstellenmodul 310 kann eine GUI
verwenden, wie etwa die GUI 116, die in 1 gezeigt
ist, oder kann eine Befehlszeilenschnittstelle verwenden. Bei einer
Ausführungsform,
die im Detail im folgenden beschrieben ist, enthält die Benutzerschnittstelle
eine Webbrowser-Applikation 311,
um die GUI 116 darzustellen. Um die Darstellung der GUI
im Webbrowser 311 zu vereinfachen, kann das Schnittstellenmodul 310 auch
ein Applet 313 beinhalten. Details, die sowohl den Webbrowser 313 als
auch das Applet 313 betreffen, sind im folgenden beschrieben.
Die Benutzerschnittstelle 310 kann weiterhin andere Elemente,
wie etwa Eingabeelemente beinhalten; so z. B. Tastaturen, Tastbildschirme,
Tasffelder, Mäuse
und dergleichen. Die Benutzerschnittstelle 310 kann zudem
Ausgabeelemente, wie etwa die graphische Benutzerschnittstelle 116,
wie sie in 1 gezeigt ist, oder andere Ausgabeelemente,
wie etwa Drucker, Lautsprecher und dergleichen, beinhalten. Ein
Endbenutzer, wie etwa ein Netzwerkadministrator, kommuniziert mit
der Computer-Systemsoftware 308 durch
das Benutzerschnittstellenmodul 310. Die Computer-Systemsoftware 308 kommuniziert
ihrerseits mit dem Verwaltungsmodul 304, um wirkungsvoll
Ressourcen 306 zu verwalten.
-
Im
Bezug auf die Ressourcen 306, die in 3 gezeigt
sind, sind die Ressourcen 312, 314, 316 ähnlich den
Ressourcen 110, 112, 114, die in 1 gezeigt
sind. Wiederum können
sich diese Ressourcen auf eine beliebige Computer-Ressource beziehen,
die von einem Netzwerkadministrator verwaltet werden kann. Diese
Ressourcen können
Software- und/oder Hardwarekomponenten beinhalten. Die Ressourcen
können weiterhin
Ressourcen-APIs, wie etwa die APIs 318, 320, 322,
beinhalten. Ressourcen-APIs beziehen sich auf Applikations programm-Schnittstellenmodule,
die eine Kommunikation zwischen der Ressource an sich und einen
separaten Computersystem, wie etwa dem Verwaltungssystem 304,
gestatten. Die APIs können
herkömmlich
oder speziell angepasst hergestellt sein, um eine Kommunikation
und letztendliche Verwaltung zu ermöglichen.
-
Bei
einer Ausführungsform
hat jede der Ressourcen 306 einen Datenspeicher, wie etwa
die Datenspeicher 323, 325, 327 zum Speichern
von Informationen, die sich auf diese Ressource beziehen. Darüber hinaus
verwaltet jede Ressource 306 ein oder mehrere Objekte,
wie etwa die Objekte 329, 331 und 333.
Ein Objekt ist ein spezieller Satz von Daten und Informationen,
die diese Daten beschreiben. Beispielsweise kann sich ein Benutzerobjekt
auf einen speziellen Benutzer im Netzwerk beziehen, wobei das Objekt
Beziehungs- oder Meta-Informationen über den Benutzer enthalten
kann. Natürlich
können
die unterschiedlichen Ressourcen andere Objekte verwalten, wie etwa
Objekte, die sich auf spezielle Hardware-Einheiten, wie etwa Drucker oder Workstations,
oder auf Ereignisse und Vorgänge
beziehen. Normalerweise beziehen sich die Informationen, die über ein
Objekt gespeichert sind, auf spezielle Eigenschaften oder Attribute,
die dem Objekt zugewiesen sind. Bei dem Beispiel, das sich auf ein
Benutzerobjekt bezieht, können
die Informationen Attribute, wie etwa einen Namen, eine Adresse,
einen Titel und dergleichen, kennzeichnen. Darüber hinaus können die
gespeicherten Informationen ebenfalls den Typ von Tätigkeiten
kennzeichnen, die im Bezug auf ein Objekt ausgeführt werden können, wie
z. B. das Editieren von Benutzerinformationen, das Löschen des
Benutzerobjektes und dergleichen.
-
Bei
einer speziellen Ausführungsform
können
die Ressourcen von einem Ressourcen-Entwickler erzeugt werden. Vor
dem Erzeugen einer Ressource, muss einem Entwickler bekannt sein,
welche Objekte, z. B. Objekte 329, verwaltet werden und
welche Objektaufgaben für
den Benutzer der Ressource beim Verwalten dieser Objekte zur Verfügung stehen
werden. Beispielsweise kann sich ein Objekt auf Systembenutzer beziehen,
und eine Aufgabe kann das Rücksetzen
eines Benutzerpasswortes beinhalten. Als nächstes können die folgenden XML-Dokumente erzeugt
werden: (1) ein Objekt-Typ-XML-Dokument, das eine Beschreibung der Objekttypen
bereitstellt, die vom Plugin verwendet werden; (2) ein Plugin-Information-XML-Dokument,
das die Plugin-Konfiguration und die Versionsinformationen bereitstellt;
(3) ein Property-Sheet-XML-Dokument, das die Property-Sheet-Informationen
bereitstellt; und (4) ein Aufgaben-XML-Dokument, das Informationen über die
Aufgaben bereitstellt, die für
die Objekte des Plugins verfügbar
sind. Die XML-Dokumente können
mit Hilfe eines beliebigen Texteditors oder einem XML-Authoring-Werkzeug
erstellt werden. Die XML-Dokumente beschreiben das Plugin und die
Plugin-Objekte, Aufgaben und Property-Sheets.
-
Als
nächstes
wird bei dieser Ausführungsform
eine Microsoft-".NET-Framework"-Anordnung erzeugt. Die Anordnung für das Plugin
kann die folgenden Schnittstellen implementieren: IPluginPropertySheet,
IPluginScope und IPluginSearch, die im allgemeinen Verfahren zum
Verwalten von Property-Sheets, Suchfunktionen und andere Elemente
des Plugins einsetzen. Um das Plugin zu verwalten, kann auf diese
Schnittstellen durch die Systemverwaltungsumgebung 304 zugegriffen
werden.
-
Das
Verwaltungsmodul 304, das sich auf einem Server-Computersystem,
wie etwa 104 befinden kann, das in 1 gezeigt
ist, stellt eine "Mittelstufe" des Verwaltungssystems 100 bereit,
das in 1 gezeigt ist. Bei einer speziellen Ausführungsform
basiert die Umgebung 300 auf dem Microsoft-".NET-Framework". Die serverseitige
Funktionalität
kann möglicherweise
in C# geschrieben sein und über
IIS und ASP+ kommunizieren und auf einem einzigen Server oder einer
Webfarm gehostet werden. Das Verwaltungsmodul 304 kann sich
in einer separaten Domäne
für den
Client und zudem für
die verwaltete Ressource befinden, wobei die Kommunikation zwischen
Firewalls stattfinden kann. Bei dieser Ausführungsform können die
verwalteten Ressourcen in einer beliebigen NET-konformen Sprache,
wie etwa C# oder VB.NET geschrieben sein. Die verwalteten Ressourcen
stellen vorzugsweise ebenfalls bestimmte Webdienstes bereit, um
die Kommunikation mit dem Verwaltungsmodul 304 zu vereinfachen.
Darüber
hinaus kann das Verwaltungsmodul 304 ein Webdienst sein,
der mit dem .NET-Framework verknüpft
ist. Webdienste sind detaillierter in dem Aufsatz mit dem Titel "The Progammable Web:
Web Services Provides Building Blocks für Microsoft .Net Framework" in dem Magazin "MSDN Magazine" in der Septemberausgabe
2000 beschrieben.
-
Das
Verwaltungsmodul 304 verwendet zahlreiche Elemente, um
die Verwaltung der Ressourcen 306 zu vereinfachen. Bei
einer Ausführungsform
der Erfindung hat das Verwaltungsmodul eine Vielzahl von Managern,
die voneinander unabhängig
arbeiten, um unterschiedliche Funktionen beim Verwalten der Ressourcen 306 auszuführen. Jeder
Manager kann weiterhin einen Speicher von Informationen haben, der
sich im Computersystem-Gehäuse
des Managers an sich befindet, wie es im folgenden detaillierter
beschrieben wird. Bei einer Ausführungsform
der Erfindung hat das Verwaltungsmodul 304 einen Such-Manager 324,
einen Schnittstellen-Manager 326, einen Aufgaben-Manager 328,
einen Konfigurations-Manager 330,
einen Property-Sheet-Manager 332 und einen Beständigkeits-Manager 334.
Bei alternativen Ausführungsformen
kann das Verwaltungsmodul weniger Manager beinhalten, als es in 3 gezeigt
ist. Die unterschiedlichen Manager kommunizieren miteinander, wie
es mit einer Verbindung gekennzeichnet ist, die in 3 gezeigt
ist.
-
Im
allgemeinen ist ein Manager eine Komponente, die datengesteuert
ist, so dass er im Verwaltungsmodul 304 für die Verwendung
durch einen anderen Manager oder eine Komponente innerhalb des Systems 304 relativ
automatisch verfügbar
ist. Darüber
hinaus können
andere Verwaltungs-Hosting-Benutzerschnittstellen-Komponenten
im Modul 304 enthalten sein, wie es für spezielle administrative
Funktionen, wie etwa die Benutzerverwaltung, die Vorgangsverwaltung,
das Konfigurieren von Diensten und dergleichen, erforderlich ist.
Diese Komponenten können
durch Drittanbieter erzeugt und verwendet werden, um eine spezielle
Benutzerschnittstellen-Unterstützung
für ihre
speziellen Ressourcen bereitzustellen.
-
Im
Bezug auf den Benutzerschnittstellen-Manager 326 stellt
der Manager 326 die Schnittstellenfunktionalität zwischen
dem Verwaltungsmodul 304 und der Client-Computer-Systemsoftware 308 bereit.
Bei einer Ausführungsform
stellt das Benutzerschnittstellenmodul zahlreiche fortgeschrittene
Merkmale bereit, wie etwa dass der Benutzerschnittstellen-Manager 326 Ausgabeinformationen
für ein
spezielles Client-Computersystem anpassen kann. Demzufolge gestattet
der Benutzerschnittstellen-Manager 326 die Verwendung zahlreicher
unterschiedlicher Ty pen von Client-Computersystemen, wie etwa Laptops,
Schreibtischrechnern, PDAs, Mobiltelefonen und dergleichen. Der
Benutzerschnittstellen-Manager kommuniziert mit dem Client-Computersystem,
um das geeignete Format und den geeigneten Umfang von Ausgabeinformationen,
wie auch Eingabeinformationen bereitzustellen. Weiterhin kann sich
der Benutzerschnittstellen-Manager auf unterschiedliche Netzwerkprotokolle
anpassen, die in verteilten Netzwerken verwendet werden können.
-
Details
des Benutzerschnittstellen-Managers 326 und der Interaktion
zwischen dem Verwaltungsmodul 304 und der Webbbrowser-Tätigkeit
auf dem Client-Computersystem 302 sind
im folgenden erläutert.
-
Im
allgemeinen fungiert der Beständigkeits-Manager 334 so,
dass er unterschiedliche vordefinierte und verfasste Layouts einer
graphischen Benutzeroberfläche
einer Verwaltungskonsole (Konsolen-Layouts) speichert, die im folgenden
detailliert beschrieben ist. Der Beständigkeits-Manager speichert
vorzugsweise diese Konsolen-Layouts als XML-Dateien in einem Speicher,
wie etwa dem Beständigkeitsspeicher 346,
der in 3 gezeigt ist.
-
Im
Bezug auf den Such-Manager 324 parst und führt dieser
Suchvorgänge
an Abschnitten von Daten aus, die im System 300 gespeichert
und verwendet werden. Normalerweise empfängt der Suchmanager eine Anfrage
von der Client-Computer-Systemsoftware 308 und
führt die
Anfrage mit Hilfe von Informationen, die im Suchspeicher 336 gespeichert
sind, wie auch durch funktionale Interaktion mit den Backend-Ressourcen 306 aus,
um dadurch dem Client 308 Suchergebnisse zurückzuschicken.
-
In ähnlicher
Weise empfängt
der Aufgaben-Manager 328 Aufgabenanforderungen von der
Client-Computer-Systemsoftware 308 und ist bei der Ausführung dieser
Aufgaben beteiligt. Die Aufgaben beziehen sich im allgemeinen auf
die tatsächliche
Verwaltung oder Konfiguration von Aufgabentypen, wie etwa das Hinzufügen neuer
Benutzer zum Netzwerk, können
sich jedoch auch auf andere Aufgaben, wie etwa das Bereitstellen
aufgabenbezogenen Informationen für den Benutzer beziehen. Der
Aufgabenmanager 328 kann Aufgaben durch Interaktion mit
einer oder mehreren Back-End-Ressourcen 306 durchführen. Um
eine angeforderte Aufgabe auszuführen,
hat der Aufgaben-Manager 328 Anweisungsinformationen, die
im Aufgabenspeicher 340 gespeichert sind und verwendet
werden, um die Funktionen zu erkennen, die bei der Ausführung einer
speziellen Aufgabe ausgeführt
werden sollen, wie etwa, welche Ressourcen informiert oder bei der Durchführung der
Aufgabe verwendet werden müssen.
Beim Hinzufügen
eines neuen Benutzers zum Netzwerk, kann es für den Aufgaben-Manager 328 erforderlich
sein, neue Benutzerinformationen zu einer Angestellten-Datenbank,
die von einem SQL-Server verwaltet wird, zu einem E-Mail-Server
und zu einer Sicherheits-Lösch-Applikation und dergleichen
zu senden. In einem derartigen Fall kann der Aufgaben-Manager im Aufgaben-Speicher 340 den
Satz von Applikationen oder Ressourcen speichern, die von der Tatsache
unterrichten werden müssen,
dass ein neuer Benutzer hinzugefügt
wird. Der Aufgaben-Manager 328, der Such-Manager 324 und
andere Manager sind im folgenden detailliert beschrieben, da sie
sich auf die tatsächliche
Verwaltung der Ressourcen 306 beziehen.
-
Vor
der Verwaltung einer Ressource, muss die Ressource im System installiert
oder dort registriert werden. 4 zeigt
die Vorgangsverlauf-Eigenschaften, die sich auf die Registrierung
einer neuen Ressource am Verwaltungsmodul 304 beziehen,
das in 3 gezeigt ist. Vor dem Beginn des Ablaufs 400 wird
die Ressource von einem Entwickler oder einem anderen Drittanbieter
erzeugt, wie es oben beschrieben wurde. Der Zweck des Prozesses 400 bezieht
sich auf die Registrierung dieser Ressource in der Art, dass sie
in das Verwaltungssystem 300 eingehakt wird und es dadurch
gestattet wird, dass die unterschiedlichen Manager, die oben beschrieben
wurden, auf die installierte Ressource zugreifen und diese verwalten.
Somit muss die Ressource im Framework des Systems, wie etwa des
Systems 300, enthalten sein und wird schließlich vom
Verwaltungsmodul 304 verwaltet. Weiterhin erkennt durch
den Registrierungsvorgang die installierte Ressource anschließend ein
Verfahren der Kommunikation mit dem Verwaltungsmodul 304,
wobei normalerweise die gesamte Kommunikation zwischen beiden gemäß diesem
Protokoll oder Verfahren ausgeführt
wird.
-
Zu
Beginn startet der Verlauf 400 als Empfangsvorgang und
empfängt
eine Anforderung, die anzeigt, dass angefordert wird, eine Ressource
oder "Plugin" im Sys tem zu installieren.
Ressourcen, die sich selbst im Verwaltungsmodul 304 einhaken,
werden im allgemeinen als Plugins bezeichnet, wobei das Plugin der
Teil der Ressource ist, der mit dem Verwaltungsmodul kommuniziert,
indem er Nachrichten sendet und empfängt. Die Anforderung kann durch
die Ressource an sich erfolgen, oder das System kann erkennen, dass
eine neue Ressource in das System eingefügt wird, womit die Anforderung
erzeugt wird. Bei einer Ausführungsform
empfängt
der Konfigurations-Manager 330 (3) die Anforderung.
Die Anforderung wie auch andere bereitgestellte Informationen haben
ein vorbestimmtes Format, wie etwa XML, so dass das Verwaltungsmodul 304 die Konfigurationsinformationen
versteht. Die Anforderung enthält
normalerweise einige vorbestimmte Informationen, wie etwa den Namen
der Ressource, den Ort unterschiedlicher XML-Dateien und dergleichen.
-
Bei
einer speziellen Ausführungsform
ist der Konfigurations-Manager 330 ein Webdienst, der definierte
Verfahren unterstützt,
die ein beliebiges Plugin aufrufen kann, um seine Installationsinformationen
zu registrieren, deren Registrierung aufzuheben und/oder zu aktualisieren.
In diesem Fall führt
die Anforderung vom Plugin lediglich eines oder mehrere dieser Verfahren
aus. Zudem beziehen sich bei dieser speziellen Ausführungsform
die Informationen, die vom Plugin zugeführt werden, auf das Verzeichnis,
in dem das Plugin im Netzwerk installiert ist, so dass das System
oder der Konfigurations-Manager 330 zusätzliche Informationen über das
Plugin finden können.
-
Neben
den Installationsinformationen kann während der anfänglichen
Kommunikationsphase 402 zwischen einem Plugin und dem System
das Plugin andere Informationen bereitstellen; die sich auf die
Objekte, wie etwa die Objekte 329, 331 und 333 (3),
beziehen, die von diesem Plugin verwaltet werden. Beispielsweise
kann der Empfangsvorgang 402 Informationen vom Plugin empfangen,
die sich auf die Typen von Objekten, die dem System bei Abschluss
des Installationsprozesses angezeigt werden sollen, auf Attribute
dieser Objekte, auf verfügbare
Aktionen, die an diesen Objekten verwendet werden können, und
auf suchbare Kriterien für
diese Objekte beziehen. Das Plugin kann weiterhin Auskunft über andere
Typen von Objekten geben, die vom Plugin erkannt, jedoch nicht unbedingt
angezeigt werden. Darüber
hinaus kann das Plugin verfügbare Aktio nen
bereitstellen, auf die zugegriffen werden kann und die sich auf
Objekte beziehen, die von einem weiteren Plugin verwaltet werden,
um das bestehende Objekt wirkungsvoll zu erweitern.
-
Beispielsweise
kann ein Active-Directory-Plugin im System existieren; wobei dieses
Objekte anzeigen kann, die sich auf spezielle Benutzer beziehen
und bei einer bevorzugten Ausführungsform
der Erfindung als Benutzerobjekte bekannt sind. Anschließend kann
eine E-Mail-Applikation installiert werden, die Benutzerobjekte
erkennt und insbesondere ein E-Mail-Adressenattribut den bestehenden
Benut- zerobjekten bereitstellt. Weiterhin kann die E-Mail-Applikation
verfügbare
Aktionen für
die Benutzerobjekte bereitstellten, wie etwa das Editieren von E-Mail-Adressen,
das Senden von E-Mail-Adressen, das Aktivieren oder Deaktivieren
eines E-Mail-Kontos
oder dergleichen. Diese Attribute und Aktionen, die sich auf existierende
Objekte beziehen, werden zum Konfigurations-Manager während des
Empfangsvorgangs 402 übermittelt.
Wie es im folgenden erläutert
ist, stellt das Empfangen derartiger zusätzlicher Informationen die
Möglichkeit
bereit, das Benutzerobjekt zu erweitern, damit die zusätzlichen
Informationen enthalten sind.
-
Bei
Empfang der Informationen vom Plugin prüft der Bewertungsvorgang 404 die
Informationen im bereitgestellten Verzeichnis um sicherzustellen,
dass das Plugin korrekt installiert ist. Bei einer Ausführungsform stellt
der Konfigurations-Manager
sicher, dass das Plugin mit den korrekten XML-Dateiformaten installiert
ist und bestätigt
die Webdienst-Schnittstellen, die die Plugins dem System 304 darbieten
sollen.
-
Nach
der Bewertung 404 führt
der Zuführvorgang 406 entsprechende
Informationen den anderen Managern, wie etwa dem Aufgaben-Manager 328,
dem Abfrage- oder
Such-Manager 324 und/oder dem Property-Sheet-Manager 332 zu.
Der Vorgang des Zuführens
der Informationen kann auf vielfältige
Art und Weise ausgeführt
werden. Beispielsweise kann der Konfigurations-Manager 330 die
unterschiedlichen Informationen durchsortieren, die vom Plugin bereitgestellt
werden, und anschließend
die Informationen zu jedem Manager senden, der ein spezielles Informationsstück als relevant
betrachten kann. In einem derartigen Fall wird jedes Attribut oder
jede Eigenschaft, die von der Ressource bereitgestellt wird, bewertet
um zu bestimmen, ob ein weiterer Manager im System an der neuen
Ressource oder einem bestimmten Teil derselben interessiert ist. Bei
Bestimmung, dass ein weiterer Manager an den Informationen von der
neuen Ressource interessiert sein könnte, setzt der Zuführvorgang 406 wirkungsvoll
den anderen Manager von der Information in Kenntnis. Bei einer weiteren
Ausführungsform
kann der Konfigurations-Manager 330 ein Ereignis initiieren,
das von anderen Managern aufgenommen wird, wobei das Ereignis kennzeichnet,
dass ein neues Plugin installiert wurde und die Registrierung anfordert.
Demzufolge ist jeder Manager für
das Auffinden und Sammeln der relevanten Informationen verantwortlich.
-
Sobald
die Informationen den unterschiedlichen Managern zugeführt sind,
speichert der Speichervorgang 408 relevante Informationen
in einem lokalen Speicher (in lokalen Speichern). Das heißt, jeder
Manager, der Informationen empfängt,
die sich auf ein neu installiertes und registriertes Plugin beziehen,
speichert einen Teil der Informationen, sofern sie relevant sind,
in seinem lokalen Speicher. Beispielsweise kann der Aufgaben-Manager 328 die
neuen Informationen bewerten und bestimmen, dass bestimmte aufgabenbezogene
Informationen im lokalen Speicher gespeichert werden sollen, der
dem Aufgaben-Manager entspricht. Wie es zuvor beschrieben wurde,
kann jeder Manager einen zugewiesenen Speicher von Informationen
für diesen Zweck
warten.
-
Nach
dem Speichervorgang 408 wird das Plugin als installiert
und am Verwaltungsmodul registriert angesehen, so dass eine zukünftige Verwaltung
durch das Verwaltungsmodul gesteuert werden kann und somit der Ablauf 400 bei
einem Endvorgang 410 endet.
-
Wenngleich
sich der Ablauf 400 im allgemeinen auf das Hinzufügen einer
neuen Ressource zum System bezieht, bezieht er sich ebenfalls auf
das Erweitern bestehender Objekte innerhalb des Systems. Es wird beispielsweise
angenommen, dass der Ablauf 400 eine E-Mail-Applikation
in einem bestehenden System installiert, das eine "Active-Directory"-Applikation hat,
die Benutzerobjekte darbietet. Da die E-Mail-Applikation Benutzerobjekte
unterstützt,
führt in
diesem Fall der Zuführvorgang 406 im
wesentlichen neue Benutzerobjekt-Informationen den Managern innerhalb
des Systems zu, wobei der Speichervorgang 408 die Informationen
für eine
spätere
Verwendung speichert. Die neuen Benutzerobjekt-Informationen können Aufgaben-Informationen,
wie etwa das Erstellen eines neuen E-Mail-Kontos, das Editieren einer E-Mail-Adresse,
das Aktivieren und Deaktivieren von Konten und dergleichen, für den Aufgaben-Manager
beinhalten. Ist die E-Mail-Adresse
ein suchbares Attribut, können
in ähnlicher
Weise diese Informationen zum Such-Manager 324 übermittelt werden.
Im wesentlichen wird das Benutzerobjekt, das vom Active Directory
unterstützt
wird, nun auch von der E-Mail-Applikation
unterstützt.
Von größerer Bedeutung
ist, dass das Kombinieren von Informationen von separaten Ressourcen
zu einem einzigen, dargebotenen Objekt einen relativ umfangreichen
Satz von Informationen über
jeden Benutzer, wie etwa sämtliche
Attribute und/oder Aktionen, bereitstellt, indem einfach auf das Objekt
zugegriffen wird.
-
Demzufolge
bezieht sich der Ablauf 400 auf die Installation einer
neuen Ressource und die gemeinsame Nutzung von Informationen zwischen
separaten Modulen, um zudem eine umfangreichere Aufgabenhandhabung
bereitzustellen. Bei dem Beispiel, das oben angeführt ist,
wird davon ausgegangen, dass sich eine der bestehenden Aktivitäten für Benutzerobjekte
auf das Hinzufügen
eines neuen Benutzers bezieht, wie es durch das Active Directory
angegeben wird. Als nächstes
wird davon ausgegangen, dass die E-Mail-Applikation gemäß dem Ablauf 400 installiert
wurde, und dass während
des Zuführvorgangs 406 der
Aufgaben-Manager 328 unterstützte Benutzerobjekt-Aufgaben
empfangen hat, die das Erzeugen eines neuen Kontos für eine neuen Benutzer
beinhalten. Der Aufgaben-Manager 328 kann
dann erkennen, dass, wenn eine Aufgabe "Füge
Benutzer hinzu" vom
Administrator ausgeführt
wird, das System sowohl die Active-Directory-Applikation aufruft, einen neues Benutzerprofil
hinzuzufügen,
wie auch die E-Mail-Applikation,
um ein neues E-Mail-Konto für
den neuen Benutzer zu erstellen.
-
Wie
es oben erwähnt
wurde, wird bei einer speziellen Ausführungsform das Hinzufügen neuer
Ressourcen vom Konfigurations-Manager 330 (gezeigt in 3)
gehandhabt, der mit Ressourcen kommuniziert, wenn diese dem System
hinzugefügt
werden. Vorzugsweise werden die Ressourcen im System installiert
und dann im Verwaltungsmodul 304 registriert. Der Konfigurations-Manager 330 kann
weiterhin die Ressourcen 306 konfigurieren, um eine Verwaltung
der Ressourcen zu gestatten, oder wenigstens einen Testvorgang ausführen um
sicherzustellen, dass die Ressourcen in Übereinstimmung mit den notwendigen
Mindestanforderungen installiert sind, um es anderen Managern zu
gestatten auf die Ressourcen zuzugreifen und diese zu verwalten.
Wenn beispielsweise eine neue Ressource zur Umgebung 300 hinzugefügt wird,
enthält
der Konfigurations-Manager 330 das Softwareelement, das
mit dieser Ressource kommuniziert, um die Ressource innerhalb des
Systems zu installieren und zu prüfen, ob die Ressource ordnungsgemäß installiert
ist.
-
Der
Konfigurations-Manager 330 versorgt zudem andere Manager,
wie etwa den Such-Manager 324 und den Aufgaben-Manager 328,
mit notwendigen Informationen, die sich auf eine neu installierte
und registrierte Ressource beziehen. Demzufolge können die
unterschiedlichen Manager in ihren jeweiligen Speichern beliebige
Informationen speichern, die sich auf die neue Ressource beziehen,
so dass zukünftige
Kommunikationen zwischen den Managern und dieser Ressource möglich sind.
Die neuen Informationen können
sich auf den Ort der neuen Ressource beziehen, wie mit der neuen
Ressource zu kommunizieren ist, dass die neue Ressource kontaktiert
werden sollte, wenn eine bestimmte Aufgabe ausgeführt wird,
den Typ von Informationen, der notwendig ist, um die Aufgabe auszuführen, und
dergleichen.
-
Wie
es erwähnt
wurde, ist bei einer Ausführungsform
der Konfigurations-Manager 330 ein Webdienst. Potentielle
Webdienst-Verfahren für
den Konfigurations Manager 330 sind im folgenden in Tabelle
1 aufgeführt. Die
Ressourcen 306 wie auch andere Manager, wie etwa der Such-Manager 324 und
der Aufgaben-
-
Manager
328,
können
die Verfahren verwenden, die in Tabelle 1 dargestellt und beschrieben
sind, um Informationen über
die Ressourcen oder Plugins
306 zu bekommen, die im System
installiert sind. Tabelle 1: Verfahren für den Konfigurationsmanager
Verfahren | Beispiel | Beschreibung |
PluginInstalled | String
PluginInstalled( string sPath
);
Wobei sPath der jeweilige
Pfad zum Plugin ist, das installiert werden soll | Dieses
Verfahren wird von einem Plugin aufgerufen, wenn es seine eigene
Installation abgeschlossen hat |
PluginUnInstalled | String
PluginUnInstalled( string sPath
);
Wobei sPath der jeweilige
Pfad zum Plugin ist, das deinstalliert werden soll | Dieses
Verfahren wird von einem Plugin aufgerufen, wenn es seine eigene
Deinstallation abgeschlossen hat. |
PluginUpdated | String
PlugInUpdated( string sPath
);
Wobei sPath der jeweilige
Pfad zum Plugin ist, das aktualisiert werden soll | Dieses
Verfahren wird aufgerufen, wenn ein Plugin seine Installation aktualisiert |
DisablePlugin | String
DisablePlugin( string sPath
);
Wobei sPath der jeweilige
Pfad zum Plugin ist, das außer
Kraft gesetzt werden soll | Dieses
Verfahren kann vom Administrator des Verwaltungsmoduls auf-gerufen werden, um
ein Plugin außer
Kraft zu setzen, das im Verwaltungsmodul registriert ist. |
EnablePlugin | String
EnablePlugin( string sPath
);
Wobei sPath der jeweilige
Pfad zum Plugin ist, das in Kraft gesetzt werden soll | Dieses
Verfahren kann vom Administrator des Verwaltungsmoduls aufgerufen
werden, um ein Plugin in Kraft zu setzen, das im Verwaltungsmodul
registriert ist. |
DisableAll | String
DisableAll();
DisableAll verlangt keine Parameter | Dieses
Verfahren kann vom Administrator des Verwaltungsmoduls aufgerufen
werden, um sämtliche
Plugins außer
Kraft zu setzen. |
EnableAll | String
EnableAll();
EnableAll verlangt keine Parameter | Dieses
Verfahren kann vom Administrator des Verwaltungsmoduls aufgerufen
werden, um sämtliche
Plugins in Kraft zu setzen |
GetPluginsXML | String
GetPluginsXML();
GetPluginsXML verlangt keine Parameter | Dieses
Verfahren gibt sämtliche In-formationen höherer Ebene über Plugins
zurück,
wie etwa deren Name, deren Beschreibung und den Verzeichnisinstallationspfad |
GetLocalApplicationRootDirectory | String
GetLocalApplicationRootDirectory();
GetLocalApplicationRootDirectory
verlangt keine Parameter | Plugins
können
dieses Verfahren verwenden, um Informationen über das Verwaltungsmodul-Applikationsverzeichnis
zu beziehen |
GetLocalApplicationBinDirectory | String
GetLocalApplicationBinDirectory();
GetLocalApplicationBinDirectory ver-langt keine Parameter | Plugins
können
dieses Verfahren verwenden, um Informationen über das Verwaltungsportal-Bin-Verzeichnis zu beziehen |
String
GetLocalApplicationPluginDirectory | String
GetLocalApplicationPluginDirectory();
GetLocalApplicationPluginDirectory
verlangt keine Parameter | Plugins
können
dieses Verfahren verwenden, um Informationen über das Verwaltungsportal-Plugin-Verzeichnis zu beziehen. |
-
Unter
Verwendung der Verfahren, die in Tabelle 1 dargestellt und beschrieben
sind, und in Verbindung mit dem Verlauf 400, der in 4 gezeigt
ist, können
Plugins dynamisch die Informationen, die sie dem Verwaltungsmodul 304 bereitstellen,
installieren, deinstallieren oder aktualisieren. Da das Verwaltungsmodul 304 in
einer Ausführungsform
eine web-basierte Applikation ist, müssen sämtliche neue Ressourcen nur
an einem Ort installiert werden, wobei deren Informationen von den
unterschiedlichen Managern aufgenommen wird und in ein integriertes
Front-End für
die Benutzer übersetzt
wird.
-
In
einer speziellen Ausführungsform
werden die Informationen, die dem Konfigurations-Manager 330 zugeführt werden,
im XML-Format bereitgestellt. Mit Hilfe des XML-Formates ist der
Konfigurations-Manager 330 in der Lage, die Informationen
zu parsen und zu verstehen, ob andere Manager über einen speziellen Aspekt
der XML-Datei in Kenntnis gesetzt werden müssen. Normalerweise konvertiert
die Ressource die Datei in das XML-Format von einer Sendung zum
Konfigurationsmanager 330. Alternativ jedoch kann eine
separate Komponente durch das System 304 zugeführt werden,
um die Übersetzung
auszuführen.
-
Die
Ressourcen 306 verwalten Objekte, wie etwa die Objekte 329.
Somit stellt jede Ressource 306 Informationen dem System 304 über ihre
Objekte zur Verfügung,
wie etwa dass die Ressource 312 Informationen über Objekte 329 bereitstellt.
Bei einer Ausführungsform
kann die Ressource Objektinformationen in einem Property-Sheet bereitstellen,
das das XML-Format haben kann und das ein generisches Objekt, wie
etwa ein generisches Benutzerobjekt definiert. Darüber hinaus
kann das Property-Sheet eine oder mehrere Property-Pages beinhalten.
Das Property-Sheet kann sich somit auf eine Kombination von Property-Pages
beziehen. Jede Property-Page ist in einem XML-formatierten Teil
von Code definiert, der das Layout beschreibt, wie etwa wo die Informationen
auf der Benutzer schnittstelle dargestellt werden, welche Steuertypen
sich auf der Page befinden und dergleichen. Zudem kann der XML-Code
einen Verweis zu einem Teil des Codes bereitstellen, der Datenbereiche
von Seiten bestückt,
wie auch einen weiteren Verweis, der einen weiteren Teil des Codes identifiziert,
der aufgerufen wird, um die Informationen zu modifizieren, wie etwa
mit einem Satz- oder Modifizierdatenbefehl.
-
Unter
Bezugnahme auf bestimmte Aspekte der vorliegenden Erfindung sind
die Property-Sheets, die dem System 304 durch eine Ressource
dargeboten werden, durch andere Ressourcen erweiterbar. 5 zeigt
das Konzept, bei dem sich eine separate, unabhängige Applikation oder Ressource
in ein bestehendes Property-Sheet
ausdehnen. In 5 ist ein Property-Sheet, das
ein spezielles Benutzerobjekt repräsentiert, auf der Anzeigeeinrichtung 500 dargestellt.
Demzufolge stellt die Anzeige 500 das Objekt selbst dar.
Das Objekt stellt einen Titelbalken 502, einen aktiven
Bereich 504 und eine Gültigkeitsliste 506 bereit.
Der Titel zeigt den Titel eines Objektes an, wie es durch das Property-Sheet
definiert ist. Der aktive Bereich 504 zeigt Steuerungen
und Datenfelder für
eine Property-Page an, wie sie aus der Liste 506 gewählt wird.
Die Liste 506 führt die
unterschiedlichen Property-Pages
auf, die im aktiven Bereich 504 angezeigt werden können und
sich auf das Benutzerobjekt 500 beziehen.
-
Wie
es in 5 gezeigt ist, wurde die Property-Page-Steuerung 508 für persönliche Informationen
gewählt,
weshalb der aktive Bereich 504 die Property-Page anzeigt,
die sich auf die persönlichen
Informationen für
den speziellen Benutzer beziehen. Andere Auswahlsteuerungen für zusätzliche
Property-Pages werden in der Gültigkeitsliste 506 angezeigt,
wie etwa eine Auftrags-Informationssteuerung 510 und eine
E-Mail-Informationssteuerung 512. Zusätzliche Informationen über die
visuelle Darstellung des Schemas am Client-Computersystem werden
darunter im Bezug auf die Verwaltungskonsole angezeigt.
-
Unabhängige Ressourcen
oder Applikationen können
eine oder mehrere Property-Pages definieren, die einem speziellen
Objekt, wie etwa dem Benutzerobjekt 500, zugeordnet sind,
das in 5 gezeigt ist. Es wird beispielsweise davon ausgegangen,
dass eine Active-Directory-Applikation das Benutzerobjekt 500 darge boten
hat. Zudem wird angenommen, dass die Active-Directory-Applikation
unterschiedliche Property-Pages definiert hat, wie etwa die persönliche Informations-Page, die sich auf
eindeutige persönliche
Identifikationsdaten bezieht, wie etwa Name, Heimadresse, Mitarbeiterzahl
und dergleichen. Drüber
hinaus wird angenommen, dass eine weitere auftragsbezogene Property-Page
ebenfalls von der Active-Directory-Applikation definiert wurde und
diese auftragsbezogene Informationen, wie etwa den Auftragstitel
einer Person, den Gebäudeort,
eine Gruppe und dergleichen, enthielt. Als nächstes wird davon ausgegangen,
dass eine weitere Applikation im System installiert ist, wie etwa
ein E-Mail-Server. Der E-Mail-Server kann Benutzerobjekte erkennen
und eine Property-Page zuführen,
die im Benutzerobjekt-Property-Sheet enthalten sein soll, um beispielsweise
eine E-Mail-Adresse
mit einem Benutzer zu verknüpfen.
Anstelle ein neues Property-Sheet zu erzeugen, das einen großen Teil
derselben Informationen enthalten würde, wie etwa den Namen des
Benutzer und dergleichen, wird die E-Mail-Adress-Property-Page 512 einfach
dem Benutzerobjekt-Property-Sheet hinzugefügt. Die Informationen, die
mit der E-Mail-Adress-Property-Page verknüpft sind, enthalten Verweise
zu Code, der sich auf dem E-Mail-Server befindet und sich auf verfügbare Aktionen
für ein
spezielles Benutzerobjekt bezieht, das sich auf E-Mail-Aufgaben
bezieht.
-
Wie
es oben erläutert
wurde, können
die Property-Pages auf einem XML-Schema basieren, das beide Typen
von Steuerungen, die eine Property-Page enthalten wird, und das
Layout dieser Steuerungen auf einer Page definiert. Tabelle 2 zeigt
ein Beispiel einer Document Type Definition oder DTD, die ein XML-Schema zum
Erzeugen einer Property-Page definiert. Tabelle 2: Beispiel-DTD für eine XML-Schema
für eine
Property-Page
<!ELEMENT propertySheets | (propertySheet+)> |
<!ELEMENT propertySheet | propertySheetID,
name, description, getDataHandler, (setDataHandler, propertyPage+)> |
<!ELEMENT propertyPage | (propertyPageID,
name, description, attributes, layout)> |
<!ELEMENT attributes | (attribute+)> |
<!ELEMENT attribute | (attributeID,
name, defaultValue?, displayHints?)> |
<!ELEMENT layout | (row+)> |
<!ELEMENT row | (item+)> |
<!ELEMENT item | (attributeID?,
displayHints)> |
<!ELEMENT displayHints | (Type,
(Text|Label)?, rows?, cols?, Size?, Show)> |
<!ELEMENT Label | (#PCDATA)> |
<!ATTLIST Label | width
CDATA "20%" style (left|right|top) "left"> |
<!ELEMENT Text | (#PCDATA)> |
<!ELEMENT rows | (#PCDATA)> |
<!ELEMENT cols | (#PCDATA)> |
<!ELEMENT propertySheetID | (#PCDATA)> |
<!ELEMENT propertyPageID | (#PCDATA)> |
<!ELEMENT attributeID | (#PCDATA)> |
<!ELEMENT name | (#PCDATA)> |
<!ELEMENT description | (#PCDATA)> |
<!ELEMENT getDataHandler | (#PCDATA)> |
<!ELEMENT setDataHandler | (#PCDATA)> |
<!ELEMENT defaultValue | (#PCDATA)> |
<!ELEMENT Type | (#PCDATA)> |
<!ELEMENT Size | (#PCDATA)> |
<!ELEMENT Show | (#PCDATA)> |
-
Eine
Beispieldefinition einer Property-Page ist in Tabelle 3 gezeigt.
Das Beispiel, das in Tabelle 3 gezeigt ist, bezieht sich auf das
Schema, das in Tabelle 2 gezeigt ist, und definiert eine Property-Page,
die ein Genus-Datenfeld enthält,
das es dem Benutzer gestattet, zwischen männlich und weiblich zu wählen. Die
Property-Page, die in Tabelle 3 gezeigt ist, versorgt zudem das
Verwaltungsmodul, wie etwa das Modul 304, das in 3 gezeigt
ist, mit Verweisen auf den Code, um das Genus-Datenfeld zu bestücken und die Daten zu handhaben,
sobald der Benutzer einen Genus gewählt hat. Weiterhin kennzeichnet
die Property-Page ihr zugehöriges
Property-Sheet, d. h. das Property-Sheet, das die Property-Page
enthält.
-
Tabelle
3: Beispiel-XML-Property-Page-Definition
-
Damit
eine Ressource die Property-Sheet-Funktionalität darbieten kann, schlägt eine
Ausführungsform
der Erfindung vor, dass die Ressource eine Schnittstelle implementiert,
wie etwa IPluginPropertySheet, auf die vom Verwaltungsmodul 304 zugegriffen
werden kann. Insbesondere kann eine Property-Sheet-Manager 322 als
Teil des Moduls 304 implementiert werden, um mit Ressourcen
zu kommunizieren, die Property-Sheet-Funktionalität dargeboten
haben. Die Schnittstelle IPluginPropeertySheet stellt eine Ressource
oder ein Plugin mit einer Property-Sheet-Handhabungseinrichtung bereit: eine
Schnittstelle, die vom Property-Sheet-Manager 322 aufgerufen werden
kann, um Property-Sheet-Informationen zu beziehen oder einzustellen.
Alternative Ausführungsformen
können
andere Kommunikationsverfahren verwenden, um Verwaltungsfähigkeiten über die
Property-Sheets
bereitzustellen.
-
Das
IPluginPropeertySheet-Objekt definiert die Verfahren, die unten
in Tabelle 4 dargestellt und beschrieben sind. Tabelle 4: Verfahren, die von der Ressourcen-Property-Sheet-Schnittstelle
imple mentiert werden
Verfahren | Beispiel | Beschreibung |
GetData | Properties
GetData( string strID string strObjectInstanceID
);
Wobei:
strID
das Kennzeichen für
das Pro-perty-Sheet
ist und strObjectInstanceID das Instanzkennzeichen für das Objekt
ist, dessen Daten von der Property-Page verwendet werden. | Ruft
Daten vom Property-Sheet ab.
Ein "Properties"-Objekt, das die Eigenschaften für das Objekt
enthält,
das durch strObjectInstanceID identifiziert wird, wird durch das
gegebene Beispiel zurückgegeben. |
GetDataForCondition | Properties
GetDataForCondition( ConditionData: conditiondata);
Wobei conditiondata
die Bedingung definiert, auf der die Eigenschaften basieren | Dieses Verfahren gibt
die Daten des Plugins der Daten für ein Property-Sheet auf der
Basis einer Bedingung im "Properties"Objekt zurück |
GetPagelnitData | Properties
GetPagelnitData ( PagelnitData pageinitdata);
Wobei pageinitdata
die Daten sind, die verwendet werden, um die Property-Page zu initialisieren | Ruft
Ausgangsdaten für
das Property-Sheet ab, d. h. initialisiert die Daten für eine Property-Page im "Properties"-Objekt |
SetData | Task
SetData( Properties psData);
Wobei psData die Property-Sheet-Datenwerte sind,
die sich geändert
haben. | Stellt Daten im Property-Sheet
ein Die Aufgabe ist ein Objekt, das auf einem Client-System laufen sollte. |
-
Mit
Hilfe der Verfahren, die in Tabelle 4 gezeigt sind, können das
Verwaltungsmodul 304 und insbesondere ein Property-Sheet-Manager
Daten von einem Plugin oder einer Ressource beziehen und Daten modifizieren,
die in der Ressource im Bezug auf die Property-Pages gespeichert
sind.
-
6 zeigt
die Funktionskomponenten oder die Vorgangsverlauf-Eigenschaften,
die sich auf die Erweiterung eines bestehenden Property-Sheets durch
eine weitere, separate Ressource beziehen. Das heißt, wenn
eine Ressource zu Beginn installiert wird, führt die Ressource Informationen
dem Konfigurations-Manager 330 zu, der in 3 gezeigt
ist. 6 zeigt einen beispielhaften Verlauf von Vorgängen während einer derartigen
Installationsprozedur und insbesondere für die Kommunikation zwischen
der Ressource und dem Property-Page-Manager 322, der in 3 gezeigt
ist. Darüber
hinaus bezieht sich die Prozedur, die in 6 gezeigt
ist, auf spezielle Vorgänge,
die während
der Vorgänge 406 und 408 auftreten,
die oben in Verbindung mit 4 beschrieben
wurden, wo neue Objektinformationen anderen Managern im Verwaltungsmoduls 304 zugeführt und
anschließend
von diesen Managern gespeichert werden.
-
Der
Verlauf beginnt bei 600, wenn der Empfangsvorgang 602 Informationen
empfängt,
die sich auf ein unterstütztes
Objekt beziehen. Bei einer Ausführungsform
bezieht sich der Empfangsvorgang auf den Property-Sheet-Manager 332,
der eine Property-Page und eine Kennzeichnung des Stammobjektes,
d. h. ein Property-Sheet für
diese Property-Page empfängt.
Bei Empfang der Property-Page bestimmt ein Bestimmungsvorgang 604,
ob das Stammobjekt, d. h. das Property-Sheet für diese Property-Page, bereits
durch andere Ressourcen definiert wurde.
-
Ist
dies der Fall, zweigt der Verlauf mit JA zu einem Anfügevorgang 606.
-
Der
Anfügevorgang 606 fügt die empfangene
Property-Page an das Property-Sheet
an. Es wird im wesentlichen die Property-Sheet-Definition etwa durch
den Property-Page-Manager abgeändert,
um einen Verweis auf die neue Property-Page zu enthalten. Somit werden, wenn
das nächste
mal ein Property-Sheet aufgerufen wird, neue Property-Page-Informationen
zusammen mit anderen Property-Pages
für das
unterstützte Objekt
angezeigt.
-
Nach
dem Anfügevorgang 606 speichert
ein Speichervorgang 608 die korrigierten. Property-Sheet-Informationen
etwa in einem Property-Sheet-Datenspeicher, wie etwa dem Speicher 344,
der in 3 gezeigt ist. Sobald die Informationen gespeichert
sind, endet der Verlauf beim Beendigungsvorgang 610. Wenn
jedoch der Bestimmungsvorgang 604 bestimmt, dass das Objekt
nicht definiert wurde, zweigt der Verlauf mit NEIN zu einem Objektdefinitionsvorgang 612 ab,
der das Property-Sheet für
das System definiert. Sobald das Objekt definiert ist, fährt der
Verlauf mit dem Anfügevorgang 606 fort,
der die empfangene Property-Page an das neu definierte Property-Sheet
anfügt.
Wie es oben erläutert
wurde, kann das Property-Sheet derart abgewandelt werden, dass es
einen Verweis auf die neue Property-Page enthält. Sobald das Property-Sheet
abgeändert ist,
werden wie zuvor die Informationen beim Speichervorgang 608 gespeichert,
und der Verlauf endet bei einem Beendigungsvorgang 610.
-
Die
Fähigkeit,
ein existierendes Property-Sheet durch andere, unabhängige Ressourcen
zu erweitern, versieht das Verwaltungsmodul 304 mit einer
wirkungsvollen Einrichtung zum Anzeigen und starten von Funktionen,
auf der Basis eines objektzentrierten Ansatzes. Das heißt, ein
Objekt, wie etwa ein Benutzerobjekt, kann vom Verwaltungsmodul 304 lokalisiert
und angezeigt werden. Das angezeigte Objekt kann Property-Pages
enthalten, die von mehr als einer Ressource zugeführt werden.
Somit basiert die Anzeige auf dem Benutzerobjekt und nicht auf den
zahlreichen und unterschiedlichen Ressourcen, die das Benutzerobjekt
unterstützen
könnten
oder auch nicht. Mit anderen Worten kann das Anzeigen eines Objektes
sämtliche
Informationen über
dieses Objekt anzeigen, selbst wenn ein Teil der Informationen durch
unterschiedliche Ressourcen zugeführt wird.
-
Neben
dem Ansatz, einen objektzentrierten Ansatz zum Anzeigen von Informationen
bereitzustellen, kann die Umgebung 300 (3)
zudem Funktionen auf der Basis eines aufgabenbasierten Ansatzes
anzeigen und starten, bei dem eine Kombination von Verwaltungsfunktionen über mehrere
Ressourcen zu einer einzigen Aufgabe kombiniert werden. 7 zeigt
den Aufgabenmanager in einer Ausführungsform der Erfindung und die
Anzeige einer Aufgabenliste gemäß dieser
Ausführungsform.
Das heißt,
die Umgebung 300 zeigt zahlreiche Funktionen an, die an
einem speziellen Objekt ausgeführt
werden können,
selbst wenn diese Funktionen die Verwendung unterschiedlicher Ressourcen
verlangen, wie etwa der Ressourcen 306 (3 und 7). Bei
einer alternativen Ausführungsform
können
Gruppen von Funktionen zu einem Skript kombiniert werden, um mehrere
Funktionen über
mehrere Ressourcen auszuführen,
die sich auf eine spezielle Aufgabe beziehen, wie etwa eine Aufgabe,
die ein Administrator in ihrer Auftragsfunktion ausführt. 7 zeigt
eine Softwareumgebung, die beim Anzeigen und Ausführen von
Aufgaben oder Gruppen von Aufgaben in einer Umgebung, wie etwa der
Umgebung 300 (3) verwendet wird. Es wird darauf
hingewiesen, dass einige der Komponenten in 7 ebenfalls
in 3 erscheinen, weshalb ähnliche Bezugszeichen in den
Zeichnungen bestehen bleiben.
-
Aufgaben
oder Aufgabengruppen können
auf der Benutzerschnittstellensteuerung 702 durch ein Aufgabenverwaltungs-Dienstmodul 704 angezeigt
werden. Eine weitere Beschreibung einer GUI die sich für die Benutzerschnittstellensteuerung 702 oder
die Aufgabenliste eignet, erfolgt unten im Bezug auf die Verwaltungs-
konsole. Bei einer speziellen Ausführungsform kann der Benutzer
des Systems nach Aufgaben suchen, indem er entweder Schnellsuchtechniken
oder fortgeschrittene Suchtechniken anwendet, wie es im folgenden beschrieben
ist. Das Suchen nach den Aufgaben bewirkt, dass der Aufgaben-Manager 328 und
der Aufgabenverwaltungsdienst 704 eine Liste von Aufgaben
zurückgibt,
die sich auf die Aufgabe, die angefordert wurde, beziehen oder mit
dieser übereinstimmen.
Alternativ kann der Benutzer eine Liste verfügbarer Aufgaben mit der Steuerung
des Aufgaben-Managers 328 durchsehen. Bei einer Ausführungsform
kann dieses Browsen mit Scrollen durch eine hierarchische Liste
von Aufgaben auf der Basis der Applikation oder Ressource, die mit der
Aufgabe verknüpft
ist, erfolgen, oder basierend darauf, welches Objekt mit der Aufgabe
verknüpft
ist.
-
Bei
einer speziellen Ausführungsform
zeigt die Aufgabenliste 702 eine Liste von Aufgaben, die
mit einer gegebenen Instanz oder einem gegebenen Objekt verknüpft sind.
Diese Aufgaben können
vom Framework in Erwiderung einer Abfrage und einer anschließenden Erzeugung
einer "Ergebnisliste" bereitgestellt werden,
die unten beschrieben ist. Somit versorgt das Framework den Endbenutzer
mit Aufgaben, die auf der Basis der Umgebung und des Zustands des
Datenobjektes. geeignet sind, wenn der Benutzer eine derartige Gruppe
lokalisiert und/oder sucht. Die Aufgabenliste kann zudem in Aufgabengruppen
segmentiert sein. Gruppen können
durch die Applikation vordefiniert sein oder durch den Administrator
neu definiert werden.
-
Sobald
der Satz von Aufgaben vom Benutzer entdeckt ist und in der Aufgabenliste 702 angezeigt
wird, stellt die Liste 702 einen Anfangspunkt für die Aufgaben
bereit. Das heißt,
der Benutzer kann eine Kennzeichnung zur Ausführung einer Aufgabe von der
Benutzerschnittstelle erhalten. Sobald sie gekennzeichnet ist, empfängt der
Aufgabenverwaltungsdienst 704 die Aufgabenanforderung.
Der Aufgaben-Manager 328 kann seinerseits beginnen, die
Aufgaben auszuführen.
Es kann erforderlich sein, dass der Aufgaben-Manager 328 die
Aufgabenanfrage mit Informationen im Aufgabenspeicher 340 in
Bezug setzt, um zu lokalisieren, auf welche Ressourcen zugegriffen
werden muss und welche Parameter zu diesen Ressourcen weitergeleitet
werden müssen.
-
Bei
Bestimmung auf welche Ressourcen zugegriffen werden muss, kommuniziert
der Aufgaben-Manager 328 mit diesen Ressourcen, wie etwa
den Ressour cen 318, 320 und 322, durch
einen SOAP-Proxy und eine Firewall, wie es in 7 gezeigt
ist. SOAP ist ein XML-basiertes Protokoll, das darauf ausgelegt
ist, strukturierte und typisierte Informationen im Web auszutauschen.
Der Zweck von SOAP besteht darin, umfangreiche und automatisierte
Webdienste auf der Basis einer gemeinsam genutzten und offenen Web-Infrastruktur zu
ermöglichen.
SOAP kann in Kombination mit einer Vielfalt bestehender Internetprotokolle
und -formate, die HTTP, SMTP und MIME enthalten, verwendet werden
und kann einen großen
Bereich von Applikationen von Nachrichtensystemen bis RPC unterstützen. Alternativ
können
andere Proxy-Kommunikationen verwendet werden, um das Kommunika tionsprotokoll
bereitzustellen. Die Ressourcen werden somit vom Aufgaben-Manager aufgerufen
und mit Informationen versehen, um spezielle Aufgaben auszuführen. Es
ist von Bedeutung, dass mehr als eine Ressource in Erwiderung einer
einzeigen Aufgabenanforderung vom Benutzer aufgerufen werden kann.
Das Verfahren des Kombinierens mehrerer Funktionen zu einer einzigen
Aufgabe, kann durch den Benutzer angepasst werden, wie es im folgenden
unter Bezugnahme auf die Skripterstellung beschrieben ist.
-
Beim
Anzeigen der Aufgaben können
unterschiedliche Anzeigeverfahren verwen det werden. Bei einer speziellen
Ausführungsform
der vorliegenden Erfindung werden eine XML-Definition von Aufgaben,
Aufgabengruppen und die Handhabungseinrichtungen für diese
Aufgaben verwendet. Eine beispielhafte XML-Definition von Aufgaben, Aufgabengruppen
und Handhabungseinrichtungen für
dieses Aufgaben ist unten in Tabelle 5 aufgeführt. In diesem Fall wird die "Manage-Computers"-Aufgabengruppe,
wenn sie dargestellt wird, eine "Properties"- und eine "Terminal-Server"-Task beinhalten. Tabelle
5: Beispiel-XML-Datei zum Erzeugen und darstellen einer Aufgabenliste
-
Mit
Hilfe einer XML-Datei, die jener gleicht, die in Tabelle 5 gezeigt
ist, kann eine Aufgabenliste, wie etwa eine Aufgabenliste 702,
die in 7 gezeigt ist, für den Benutzer beim Auswählen eines
Datenobjektes oder einer bestimmten anderen Funktion, wie etwa einer
Anforderung zum Anzeigen möglicher
Aufgaben, die für eine
spezielle Ressource ausgeführt
werden können,
erzeugt und angezeigt werden. 8 zeigt
die Funktionskomponenten oder die Vorgangsverlaufseigenschaften,
die sich auf die Erzeugung und die Anzeige einer derartigen Aufgabenliste
beziehen. Insbesondere bezieht sich der Verlauf, der in 8 gezeigt
ist, auf die Erzeugung und die Anzeige einer Aufgabenliste, die
sich auf spezielle Aufgaben bezieht, die für einen gegebenen Objekttyp
ausgeführt
werden können,
der beispielsweise vom Benutzer- ausgewählt wurde. Wenn somit bei dieser
Ausführungsform
eine Aufgabenliste für
die Anzeige auf der Benutzerschnittstelle erstellt wird, wird die
Liste mit einem oder mehreren Objekten verknüpft, die die Aufgaben unverzüglich anwenden
würden.
Bei einer speziellen Ausführungsform
stellt der Aufgaben-Manager 328 (3) die Funktionen
bereit, die in Verbindung mit 8 dargestellt
und beschrieben sind. Bei alternativen Ausführungsformen können andere
Manager verwendet werden, um einige oder sämtliche der Funktionen bereitzustellen,
die in 8 dargestellt sind.
-
Der
Verlauf 800 beginnt als Empfangsvorgang 802 und
empfängt
eine Anforderung, eine Aufgabenliste für ein gewähltes Objekt anzuzeigen. Das
heißt,
vor dem Empfangsvorgang, wählt
eine Benutzer oder das System ein Objekt und führt eine Anforderung aus, die
kennzeichnet, dass die verknüpften
Aufgaben für
dieses Objekt gesammelt und angezeigt werden sollten. Beispielsweise
kann ein Administrator ein bestimmtes Benutzerobjekt hervorheben.
Hervorheben oder anderweitiges Wählen
des Benutzerobjektes, kann bei einer Ausführungsform bewirken, dass eine
Anforderung für
die Aufgaben gemacht wird, die mit diesem Objekt verknüpft sind.
Die Anforderung, sämtliche
Aufgaben für
das Objekt zu sammeln und anzuzeigen, enthält normalerweise den Objekttyp
und die Informationen über
die Instanz oder den Kontext des Objektes.
-
Bei
Empfang der Anforderung sammelt ein Sammelvorgang 804 sämtliche
Definitionen, die statisch auf den speziellen Objekttyp zutreffen.
Statische Aufgaben sind als jene Aufgaben definiert, die ebenfalls
an einem speziellen Objekt ausgeführt werden können. Wenn
bei einer Ausführungsform
eine Aufgabe von einer Ressource erzeugt und mit einem Objekt verknüpft wird,
kann die Ressource diese Aufgabe als statische Aufgabe kennzeichnen,
wobei diese Aufgabe immer an einem beliebigen Objekt dieses Objekttyps
ausgeführt werden
kann. Bei einem Benutzerobjekt, das über Benutzerinformationen verfügt, können sich
die statischen Aufgaben beispielsweise auf das Editieren der Benutzerinformationen
und/oder das Löschen
des Objektes beziehen. Da diese Aufgaben statisch sind, kann der
Sammelvorgang 804 die Aufgaben in einem lokalen Speicher
von Informationen, wie etwa dem Speicher 340, der in 3 gezeigt
ist, lokalisieren oder die Aufgaben von der Ressource anfordern,
die die Aufgaben unterstützt.
-
Während der
Sammelvorgang 804 die statischen Aufgabendefinitionen sammelt,
bezieht ein Bezugsvorgang 806 die Aufgabenhandhabungsadresse
für den
speziellen Objekttyp. Die Aufgabenhandhabungsadresse kann sich in
der Definition des Objektes und/oder in der Property-Page an sich
befinden. Die Adresse kennzeichnet eine spezielle Ressource, die
dynamische Aufgaben haben kann, die angezeigt werden sollen. Unter
Verwendung der Aufgabenhandhabungsadresse wird eine Anforderung
erzeugt und zur identifizierten Ressource gesendet, um sämtliche
dynamischen Aufgaben zu sammeln. Dynamische Aufgabeninformationen beziehen
sich auf Funktionen, die an einem speziellen Datenobjekt, wie etwa
einem speziellen Benutzer, ausgeführt werden können, jedoch
nicht für
sämtliche
Objekte dieses Typs, wie etwa sämtliche
Benutzer, verfügbar
sein können.
Darüber
hinaus können
sich dynamische Aufgaben auf die spezielle Instanz eines Objektes beziehen,
wie etwa dass eine Aufgaben, die sich auf das Sperren eines Kontos
bezieht, dynamisch ist, da sie davon abhängt, ob das Konto aktiv ist.
-
Nach
der Anforderung der dynamischen Aufgaben bei Vorgang 806 empfängt ein
Empfangsvorgang 808 die dynamischen Aufgaben von der gekennzeichneten
Ressource. Sobald die statischen und dynamischen Funktionen gesammelt
und lokalisiert sind, verschmilzt ein Verschmelzvorgang 810 die
AufgabenInformationen. Beim Verschmelzen der Informationen stellt
eine Darstellungsvorgang 812 die Listeninformationen für den Benutzer
in Gestalt einer Aufgabenliste 702 (7) dar.
Bei einer Ausführungsform
stellt der Darstellungsvorgang 812 DHTML-Code dar, der
erforderlich ist, um die Aufgabenliste darzustellen. Zusätzlich stellt der
Darstellungsvorgang 812 Definitionen der Aufgabenhandhabungseinrichtungen
dar, die mit den unterschiedlichen Aufgaben verknüpft sind,
die in der Liste 702 dargestellt sind und die bei Auswahl
einer der angezeigten Aufgaben aufgerufen werden können.
-
Gemäß anderen
Aspekten der vorliegenden Erfindung kann der Aufgaben-Manager 328 zudem
die Möglichkeit
bereitstellen, Funktionen oder Aufgaben zu gruppieren, die über mehrere
Ressourcen ausgeführt werden
können.
Bei einer Ausführungsform
wird die Gruppierung von Funktionen als "Skripte" implementiert, wobei Aktionen, die
innerhalb der Benutzerschnittstelle vorgenommen werden, diese Skripte
auslösen,
wodurch unterschiedliche Parameter weitergeleitet werden. Die Parameter
können
explizit durch den Benutzer bereitgestellt werden, oder die Parameter
können
durch das Framework aus dem Kontext der Benutzerschnittstelle extrapoliert
werden, wenn ein spezielles Skript aufgerufen wird Das Einsetzen
sämtlicher
Funktionen als Skripte erhöht
die Verwaltbarkeit der Objekte. Skripte können auf einem lokalen Server
laufen, oder zu den verwalteten Ressourcen weitergeschoben und auf
der Ressource ausgeführt
werden. Darüber
hinaus können Skripte
während
des Prozesses vereinigt werden, um eine spezielle Anpassung für den Endbenutzer
zu unterstützen.
Die Erweiterbarkeit von Funktionen bezieht sich auf die Erweiterungs-Applikation,
die ein neues Skript einfach zur Bibliothek der ursprünglichen
Applikation oder Ressource addiert.
-
Bei
einer Ausführungsform
werden die Skripte für
sämtliche
Applikationen in einer zentralen Skriptbibliothek gespeichert, wobei
die Bezugnahme durch einen Skript-Identifikationswert erfolgt. Ein Endbenutzer kann
ein Skript aufrufen, indem er sich auf das Skript unter Verwendung
des Identifikationswertes bezieht, während er einen Satz von Parametern
einleitet. Alternativ kann eine Abfrage anstelle der Parameterliste
weitergereicht werden, was dazu führt, dass das Skript an allen
Objekten ausgeführt
wird, die die Abfrageparameter erfüllen.
-
9 zeigt
die Funktionskomponenten oder die Eigenschaften des Vorgangsverlaufs 900,
die sich auf die Erzeugung eines Skripts beziehen, das über zwei
oder mehr Funktionen verfügt,
die mit dem Skript verknüpft
sind. Zu Beginn führt
ein Ausführungsvorgang 902 die
Makrofunktion aus, die zwei oder mehr Benutzerfunktionen oder Operationen
in einem Makroformat aufzeichnet. Die Makrooperation und -funktion
gleicht anderen Makroaufzeichnungsoperationen. Das Makro enthält effektiv
sowohl Aufgaben als auch Parameter, die sich auf die tatsächlichen,
aufgezeichneten Benutzerschnittstellenfunktionen beziehen.
-
Nach
dem Ausführungsvorgang 902 wandelt
ein Umwandlungsvorgang 904 das Makro in eine XML-Formatdatei
um. Die Umwandlung trennt notwendigerweise die tatsächlichen
Aufgaben von den Parametern, die bei der Ausführung jeder Aufgabe verwendet
werden. Als nächstes
erzeugt unter Verwendung der XML-Datei
ein Erzeugungsvorgang 906 ein Skript aus der XML-Datei:
Das Erzeugen des Skriptes beinhaltet das Speichern der Aufgabeninformationen,
die von den Parametern unabhängig
sind. Es kann eine bestimmte Kennzeichnung zusam- men mit den Aufgabeninformationen
im Skript gespeichert werden, die den Benutzer auffordert, einen
oder mehrere erforderliche Parameter zuzuführen. Alternativ kann sich
die Kennzeichnung auf den Speicher beziehen, um die Informationen
aus dem Kontext zu bestimmen, in dem das Skript ausgeführt wurde,
oder um zugeführte
Parameter aus einer Anfrageliste zu lokalisieren.
-
Beim
Erzeugen eines Skriptes speichert ein Speichervorgang 908 das
Skript im Skriptdatenspeicher. Der Benutzer kann das Skript zu einem
späteren
Zeitpunkt aufrufen, um die Vielzahl von Funktionen auszuführen. Alternativ
kann das Skript automatisch in Erwiderung eines vorbestimmten Ereignisses
oder als eine periodisch terminierte Aufgabe ausgeführt werden.
-
Um
die Skriptfunktionalität
darzustellen, sei das folgende Beispiel betrachtet. Es wird davon
ausgegangen, dass ein menschlicher Ressourcenspezialist damit beauftragt
ist, ein neues Benutzerprofil innerhalb der Firma zu erstellen.
Der Spezialist kann ein Makro sämtlicher
separater Aufgaben aufzeichnen, die ausgeführt werden müssen, um
ein neues Benutzerprofil zu erstellen. Diese Aufgaben können das
Informieren der Buchhaltungsabteilung beinhalten, um diese davon
in Kenntnis zu setzen, dass sie Gehaltsabrechnungsinformationen
für den
Benutzer adressieren müssen,
und das informieren der Firmensicherheitsabteilung, der angezeigt
wird, dass eine neue Schlüsselkarte
erstellt werden sollte. in ähnlicher
Weise können
andere relevante Abteilungen informiert werden. Ein Skript für alle diese
Funktionen und Hinweise wird erstellt und in einem Skriptspeicher
derart gespeichert, dass, wenn das nächste mal ein neues Benutzerprofil
erzeugt werden muss, lediglich das Skript aufgerufen werden muss.
In diesem Fall fragt das Skript Benutzerinformationen vom Spezialisten
ab, um das Profil zu vervollständi gen,
worauf das Skript die Buchhaltung, die Firmensicherheit und dergleichen
informiert. Demzufolge muss der Spezialist keine wiederholten Schritte
bei der Erzeugung eines neuen Benutzerprofils für jeden neuen Benutzer erstellen.
-
Im
Bezug auf andere Aspekte der vorliegenden Erfindung stellt das Verwaltungsmodul 304 derartige Fähigkeiten
bereit. Die Umgebung 300 und das Verwaltungsmodul 304 enthalten
einen Such- oder Abfrage-Manager 324, der verwendet wird
um unterschiedliche Suchen auszuführen, wie etwa Suchen nach
Objekttypen, speziellen Objekten, Ressourcen, Aufgaben, Gruppen
von Aufgaben und dergleichen. Der Such-Manager 324 interagiert
mit dem Benutzerschnittstellen-Manager 326,
um Abfragen zu empfangen, und interagiert wiederum mit Ressourcen 312, 314 und 316,
um angeforderte Gegenstände
auf der Basis einer gegebenen Anfrage zu lokalisieren.
-
Bei
einer Ausführungsform
der Erfindung verwendet der Manager 324 ein schemagesteuertes
Suchverfahren, das in großem
Maße die
Flexibilität
herkömmlicher
Suchmöglichkeiten
verbessert, indem es gestattet wird, dass die Suchparameter vollständig durch
ein XML-Schema durch die Ressourcen selbst konfigurierbar sind.
Im wesentlichen kann eine Ressource wählen, welche Objektattribute
durchsucht werden können
und in welchen Domänen
die Suche ausgeführt
werden soll, während
weiterhin die Uniformität
der Benutzerschnittstelle und der architektonischen Schnittstelle über unterschiedliche
Darstellungen des Verwaltungsmoduls 304 beibehalten wird.
-
Insbesondere
kann bei einer Ausführungsform
das Plugin derartige Informationen dem Konfigurations-Manager bei
Schritt 402 zuführen,
wie es oben in Verbindung mit 4 beschrieben
ist. Das Plugin versorgt den Konfigurations-Manager 330 mit
einer Liste sämtlicher
Attribute, die deren Objekte definieren, und zudem mit einer Liste,
welche dieser Attribute bei nachfolgenden Suchen verwendet werden
könnten.
Darüber hinaus
kann das Plugin die verfügbaren
Gültigkeiten
für derartige
Suchen kennzeichnen. Dem Such-Manager 324 werden anschließend diese
Informationen beim Zuführvorgang 406 bereitgestellt.
-
Auf
der Basis der Informationen, die vom Plugin bereitgestellt werden,
kann das Verwaltungsmodul 304 die geeignete Benutzerschnittstelle
erzeugen wie auch das Schema zu anderen Ressourcen weiterleiten um
sicherzustellen, dass eine geeignete Suche ausgeführt wird
und die korrekten Suchergebnisse angezeigt werden. Bei dieser Ausführungsform
muss die Umgebung nicht sämtliche
Attributnamen festlegen, die für
alle möglichen
Objekte suchbar sind. Anstelle dessen stellt das Plugin diese Informationen
bereit.
-
Zusätzlich kann
wie es in 10 gezeigt ist, das Plugin seine
eigene Suchmaschine 1002 enthalten. Eine Ausführungsform
der vorliegenden Erfindung stellt dem Plugin die Fähigkeit
bereit, seine eigene Suchmaschine 1002 festzulegen und
sie in die Verwaltungsumgebung 304 und den Such-Manager 324 einzuhaken. Wenn
ein Benutzer eine Suche nach einem speziellen Objekttyp ausführt, dann
leitet das Verwaltungsmodul 304 somit die Suchzeichenfolge
zur zugeschnittenen Suchmaschine 1002 weiter und ruft die
korrekten Ergebnisse aus der Suchmaschine 1002 ab. Auf
diese Weise erfährt
der Endbenutzer ähnliche
Sucheigenschaften unabhängig
vom Objekt, das lokalisiert wird, oder vom Ort des Objektes. Darüber hinaus
ist es nicht erforderlich, dass ein Standardverfahren zum Suchen
in das Verwaltungsmodul 304 geschrieben ist, wie etwa ein
Verfahren, das der Suchsyntax und dem architektonischen Backend
zum Unterstützen
beliebiger und sämtlicher Suchen
nach beliebigen Objekttypen Rechnung trägt. Anstelle dessen werden
separate Suchmaschinen, wie etwa die Maschine 1002, in
das Verwaltungsmodul 304 eingehakt und über ein vorbestimmtes Protokoll
aufgerufen.
-
Bei
einer Ausführungsform
bezieht sich das Protokoll auf ein XML-Schema, das der folgenden
Document Type Definition (den Regeln des Schemas) entspricht, die
in Tabelle 6 gezeigt ist. Die DTD, die in Tabelle 6 gezeigt ist,
stellt das Schema zum Definieren eines Objekttyps bereit, der das
Schema enthält,
um die Objekttypparameter zu definieren. Tabelle 6: Objekttyp-XML-DTD
<!ELEMENT objectTypes | (objectType+)> |
<!ELEMENT objectType | (id,
domain?, name, imageURL, quickSearchHandlerURL, quickSearchHandlerType,
advancedSearchHandler, advancedSearchUI, adInfo?, attributes, tasks)> |
<!ELEMENT attributes | (attribute+)> |
<!ELEMENT attribute | (((isScope,
scopeHandlerURL, scopeHandlerType)| (isInstanceID?, id, name, isQuickSearchable?,
dataType, advancedQueryDisplayHints, resultsDisplayHints)))> |
<!ELEMENT advancedQueryDisplayHints | (show,
requiredValue, defaultValue, order, width)> |
<!ELEMENT resultsDisplayHints | (show,
order, width)> |
<!ELEMENT task | (static?,
dynamic?)> |
<!ELEMENT static | (taskgroup)> |
<!ELEMENT taskgroup | (id,
name, task+)> |
<!ELEMENT task | (name,
description, id, icon, handler)> |
<!ELEMENT handler | (#PCDATA)> |
<!ELEMENT dynamic | (publishers)> |
<!ELEMENT publishers | (publisher+)> |
<!ELEMENT adInfo | (objectCategory,
objectClass)> |
<!ELEMENT publisher | (#PCDATA)> |
<!ELEMENT objectCategory | (#PCDATA)> |
<!ELEMENT objectClass | (#PCDATA)> |
<!ELEMENT description | (#PCDATA)> |
<!ELEMENT icon | (#PCDATA)> |
<!ELEMENT show | (#PCDATA)> |
<!ELEMENT required
Value | (#PCDATA)> |
<!ELEMENT defaultValue | (#PCDATA)> |
<!ELEMENT order | (#PCDATA)> |
<!ELEMENT width | (#PCDATA)> |
<!ELEMENT scopeHandlerURL | (#PCDATA)> |
<!ELEMENT scopeHandlerType | (#PCDATA)> |
<!ELEMENT isInstanceID | (#PCDATA)> |
<!ELEMENT isQuickSearchable | (#PCDATA)> |
<!ELEMENT dataType | (#PCDATA)> |
<!ELEMENT isScope | (#PCDATA)> |
<!ELEMENT id | (#PCDATA)> |
<!ELEMENT domain | (#PCDATA)> |
<!ELEMENT name | (#PCDATA)> |
<!ELEMENT imageURL | (#PCDATA)> |
<!ELEMENT quickSearchHandlerURL | (#PCDATA)> |
<!ELEMENT quickSearchHandleType | (#PCDATA)> |
<!ELEMENTadvancedSearchHandler | (#PCDATA)> |
<!ELEMENT advancedSearchHandlerUI | (#PCDATA)> |
-
Ein
beispielhaftes XML-Schema zum Definieren einer Suchtabelle ist in
Tabelle 7 gezeigt.
-
Tabelle
7: Beispiel-XML-Schema, um eine Suche zu definieren
-
Das
oben beschriebene Beispiel definiert einen Teil eines Objektes,
das über
ein Attribut verfügt,
das "Office" genannt ist und
dem Suchsystem dargeboten werden soll. Das heißt, wenn ein Endbenutzer des
Verwaltungssystems 304 nach einem Objekt dieses Typs suchen
möchte,
kann dies mit Hilfe des Büroattributes erfolgen.
-
Bei
einer weiteren Ausführungsform
wird die Zeile
http://MMP/Search/ADS_Serach ASP" ersetzt durch
"htttp://MMP/Search/ADS_Search.asmx", so dass das Beispiel
einen Teil eines Objektes definiert, das einen Verweis zur Suchmaschine
enthält,
die verwendet werden soll, um nach Objekten des obigen Typs zu suchen. In
diesem Fall ist der Verweis nun http://MMP/Search/ADS_Search.
-
Bei
einer speziellen Ausführungsform
kann der Such-Manager 324 dem Benutzer zwei Optionen bereitstellen,
eine Schnellsuche und eine fortgeschrittene Suche. Im Bezug auf
die fortgeschrittene Suchfunktion kann der Benutzer eine Anfrage
einer fortgeschrittenen Suche dem Such-Manager 324 zuführen, der
seinerseits die Anfrage parst. Auf der Basis der Ergebnisse der
Pars-Aktion kann der Such-Manager
anschließend auf
die unterschiedlichen Ressourcen zugreifen und anschließend Informationen
suchen, die in Verbindung mit jenen Ressourcen gespeichert sind,
um die angeforderten Informationen zu lokalisieren. Es können zahlreiche fortgeschrittene
Suchalgorithmen eingesetzt werden, um die Suchfunktion auszuführen. Der
Such-Manager 324 steuert jedoch ausgeführten Suchen entweder mit Hilfe
von Plugin-Suchmaschinen, wie etwa der Suchmaschine 1002,
oder einer Suchmaschine, die sich auf dem Ressourcen-Verwaltungsmodul 304 befindet
und nicht gezeigt ist. Ergebnisse aus den Suchen können durch
einen Such-Verwaltungsdienst 1004 für den Benutzer zurückarangiert
werden und in der Benutzerschnittstelle 1106 angezeigt
werden, wie es unten beschrieben ist.
-
11 zeigt
einen Vorgangsverlauf 1100, der sich auf die Ausführung einer
Suchfunktion bezieht. Zu Beginn empfängt ein Empfangsvorgang 1102 eine
Suchanfrage. Die Anfrage kann vom Client-System 308 empfangen
werden. Bei anderen Ausführungsformen
kann das System 304 die Anfrage von anderen Res sourcen,
wie etwa einem der Manager, z. B. dem Aufgaben-Manager 328,
oder einer der Ressourcen 306 empfangen. Die Anfrage enthält Informationen,
die sich auf die Typen von Objekten oder Aufgaben beziehen, die
angefordert werden. Bei anderen Ausführungsformen kann die Anfrage
beliebige Informationen enthalten, die verwendet werden können, um
eine Suche entweder lokal auf dem Verwaltungsmodul 304 oder
auf einer oder mehreren Ressourcen 306 auszuführen.
-
Bei
Empfang der Anfrage sendet ein Sendevorgang 1104 die Anfrage
zum Such-Manager 324 (3).
Der Suchmanager 324 kann dann die Suchanforderung und die
verknüpfte
Anfrage parsen. Bei einer Ausführungsform
ist die Anforderung in einem XML-Format formatiert und enthält ein Kennzeichen,
das eine Such-Handhabungseinrichtung
identifiziert. Als nächstes
bestimmt ein Bestimmungs- vorgang 1106 die Such-Handhabungseinrichtung
aus der empfangenen Anfrage. Die Such-Handhabungseinrichtung wird
durch eine Adresse oder einen Verweis identifiziert, der sich in
der Anfrage oder innerhalb eines Property-Sheets befindet, das auf
der Basis der Anfragebegriffe bestimmt wird.
-
Nach
dem Bestimmungsvorgang 1106 packt ein Packungsvorgang 1108 die
Daten in eine XML-formatierte Datei. Die Anfrage kann Attribute
enthalten, die zu einer Ressource weitergeleitet werden können. Vor dem
Weiterleiten zur Ressource werden die Informationen jedoch zunächst in
ein bekanntes Format, wie etwa XML, gesetzt. Sobald sie gepackt
sind, sendet ein Sendevorgang 1110 die Informationen oder
Daten zur Ressource. Die Ressource, die die Informationen emp- fängt, bezieht
sich auf eine Ressource, die die Such-Handhabungseinrichtung verwaltet.
Die Ressource führt
anschließend
eine Suche innerhalb ihrer verwalte- ten Objekte aus um die angeforderten
Informationen zu lokalisieren.
-
Nach
dem Sendevorgang 1110, und sobald die Ressource die angeforderten
Informationen lokalisiert hat, empfängt ein Empfangsvorgang 1112 die
Ergebnisse von der Ressource. Die empfangenen Informationen können in
ein XML-Format formatiert werden. Zusätzlich kann ein beliebiges
Parsing der Ergebnisse durch den Empfangsvorgang 1112 erfolgen.
Sollten die Ergebnisse mehrere Seiten von Informationen enthalten,
kann der Empfangsvorgang 1112 die Ergebnisse ebenfalls
in den Speicher paginieren. Als nächstes sendet ein Sendevorgang 1114 die Ergebnisse
der Anfrage zum Client. Wie es erwähnt wurde, können die
Ergebnisse ein signifikantes Ausmaß von Informationen enthalten,
weshalb die Informationen in Seiten für den Client unterteilt werden
können.
-
Das
Verfahren, das in Verbindung mit 11 gezeigt
ist, kann entweder für
das Merkmal der fortgeschrittene Suche oder der Schnellsuche verwendet
werden. Die Option der fortgeschrittenen Suche stellt jedoch eine
Verarbeitungsebene bereit, die Anfragezeichenfolgen bewerten und
auf mehrere Ressourcen zugreifen kann, so dass die Gültigkeit
der Suche sehr weit gefasst sein kann. Tatsächlich können die Suchen allgemeiner
Natur sein, und die Ergebnisse können
eine Vielzahl von Objekten beinhalten. In einem derartigen Fall
können
sich die Objekte in unterschiedlichen Ressourcen befinden.
-
Anderseits
ist es mit dem Schnellsuchmerkmal beabsichtigt das Merkmal der fortgeschrittenen
Suche zu ergänzen,
indem das Plugin mit einer Möglichkeit
ausgestattet wird, ihre häufigst
gesuchten Daten dem Benutzer durch eine simple, einfach zu benutzenden
Suchschnittstelle darzubieten. Bei einer Ausführungsform ist das Schnellsuchmerkmal
ein Teilsatz der fortgeschrittenen Suche, d. h. seine Abfragen beschicken
den fortgeschrittenen Suchalgorithmus. Alternativ arbeitet die Schnellsuche
unabhängig
vom fortgeschrittenen Suchalgorithmus. Weitere Einzelheiten, die
sich auf die Schnellsuchmerkmale beziehen, sind im folgenden detailliert
unter Bezugnahme auf die GUI der Verwaltungskonsole erläutert.
-
Wie
es beschrieben wurde, gestatten die Systeme und Verfahren der vorliegenden
Erfindung eine Verwaltung oder Administration einer Anzahl unterschiedlicher
Ressourcen in einem Computernetzwerk. Wie es nun detaillierter erläutert wird,
kann die Verwaltung oder die Administration der unterschiedlichen
Ressourcen über
eine eindeutige graphische Benutzerschnittstelle ausgeführt werden,
die auf einem Client-Computersystem angezeigt wird, wie etwa dem
Client-Computersystem 302,
das in 3 gezeigt ist. Wie es nun erläutert wird, stellt bei einer
Ausführungsform
der vorliegenden Erfindung eine einzigartige "Verwaltungskonsole", die auf einer Web-Browserapplikation
auf einem Client-Computersystem
läuft,
eine konsistente Schnittstelle für eine
Vielzahl von "Back-End"-Ressourcen bereit,
so dass der Systemadministrator seine Netzwerkadmi nistrationsaufgaben
in klarer und präziser
Art und Weise von einer beliebigen Zahl von Berechnungsvorrichtungen ausführen kann,
die Zugang zum Internet haben.
-
Wie
es oben beschrieben wurde, stellt der Benutzerschnittstellen-Manager 326 des
Verwaltungsmoduls 304 geeignete Kommunikationsverbindungen
und -protokolle zwischen dem Client-Computersystem 302 und
dem Verwaltungsmodul 304 in einer Weise bereit, die es
einem Browser, wie etwa dem Webbrowser 116 auf dem Client-Computersystem 102 gestattet,
einem Systemadministrator entfernte Ressourcen-Verwaltungsmöglichkeiten
bereitzustellen. Bei einer Aus- führungsform enthält der Schnittstellen-Manager 326 einen Webdienst.
Wie es bekannt ist, ist ein Webdienst eine Einheit einer Applikationslogik,
die Daten und Dienste anderen Applikationen, wie etwa dem Webbrowser 116,
der auf dem Client-Computersystem 102 läuft, bereitstellt.
-
Wie
es ebenfalls oben beschrieben wurde, kann eine Applikation, wie
etwa der Webbrowser 116, auf den Webdienst des Schnittstellen-Managers 326 unter
Verwendung von Webprotokollen und Datenformaten, wie etwa HTTP,
XML und SOAP, zugreifen. Während
eines Anfangszugriffs des Schnittstellen-Managers 326 durch
den Browser 116, lädt
der Schnittstellen-Manager 326 eine kleine Applikation,
die hier als Konsolen-Applet 313 bezeichnet wird, in den
Webbrowser 311, wie es in 3 gezeigt
ist. Das Konsolen-Applet 313 kann beispielsweise, ohne
darauf beschränkt
zu sein, ein Java-Applet beinhalten. Das Konsolen-Applet 313 arbeitet innerhalb
des Browsers, um eine Verwaltungskonsole im Browser gemäß vorgegebenen
Festlegungen und Merkmalen für
ein Konsolenlayout darzustellen. Wie es ebenfalls im folgenden beschrieben
ist, verwaltet das Konsolen-Applet 313 ebenfalls das Senden
und Empfangen von Informationen zu und von dem Schnittstellen-Manager 326.
-
Bei
einer Ausführungsform
der vorliegenden Erfindung wird das Layout eines Formates der speziellen Verwaltungskonsole,
die im Browser 311 auf dem Client-Computersystem 116 dargestellt
wird, durch ein XML-Dokument festgelegt, das vom Schnittstellen-Manager 326 zum
Konsolen-Applet 313 gesendet wird. Bei dieser Ausführungsform öffnet das
Konsolen-Applet anschließend
die XML-Datei durch Laden der XML-Datei in ein XML-Document-Object-Model-(DOM-)
Objekt.
-
Das
DOM-Objekt wird anschließend
verwendet, um auf die Daten zuzugreifen, die das Format der Konsole
definieren. Das Konsolen-Applet 313 übersetzt anschließend die
Daten und erzeugt geeignetes HTML, DHTML oder Skripte (wie etwa
Java-Skript oder jscript), um die Verwaltungskonsole im Browser 311 darzustellen.
-
Zudem
können
Daten, die sich auf Anforderungen oder Abfragen von der Client-Umgebung 302 an das
Verwaltungsmodul 304 oder auf Antworten vom Verwaltungsmodul 304 an
die Client-Umgebung 302 beziehen, ebenfalls formatiert
und zwischen der Client-Umgebung 302 und dem Verwaltungsmodul 3304 übertragen
werden, wie XML-Dokumente. Sobald der Schnittstellen-Manager 326 eine
Anforderung oder Abfrage von der Client-Umgebung 302 empfangen
hat, verteilt der Schnittstellen-Manager die Anforderung oder die Abfrage
auf den geeigneten Manager oder die geeignete Ressource.
-
Das
Format der XML-Dokumente, die zwischen dem Konsolen-Applet 313 und
dem Schnittstellen-Manager 316 gesendet werden, sind vorbestimmt.
Bei einer Ausführungsform
ist das Format eines beliebigen XML-Dokumentes, das zwischen dem
Schnittstellen-Manager 326 und dem Konsolen-Applet 313 gesendet wird,
kennzeichnend für
den jeweiligen Manager, der schließlich auf die Daten, die im
XML-Dokument enthalten sind, zugreift oder diese handhabt. Wie es
oben beschrieben wurde, können
beispielsweise Informationen oder Anforderungen, die vom Such-Manager
gehandhabt werden sollen, in einem XML-Dokument gesendet werden,
das über
ein Formet verfügt,
das eindeutig für
die suchspezifischen Daten und Befehle konfiguriert ist.
-
Wie
es in 3 dargestellt ist, kann die Client-Umgebung 302 einen
Webbrowser 311, wie etwa den Browser 116, der
in 1 gezeigt ist, wie auch ein Applet 313 enthalten,
das auf dem Webbrowser 311 läuft. Das Applet 313 erzeugt
eine Ver- waltungskonsole, wie es im folgenden beschrieben wird,
im Webbrowser 311. Der Webbrowser 311 kann ein
beliebiger Standard-Webbrowser sein, der mit dem Microsoft ".NET-Framework" kompatibel ist.
-
Wie
es bekannt ist, ist ein Webbrowser eine Client-Applikation, eine
Software-Komponente
oder ein Betriebssystemwerkzeug, das mit Server-Computern über standardisierte
Protokolle, wie etwa HTTP, FTP und Gopher kommuniziert. Webbrowser
empfangen Dokumente vom Computernetzwerk und stellen sie einem Benutzer
dar. Der Microsoft Internet Explorer, der von der Microsoft Corporation
aus Redmont, Washington vertrieben wird, ist eine Beispiel eines
Webbrowsers.
-
12 zeigt
einige der Elemente einer Benutzerschnittstelle in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung. Wie es oben beschrieben wurde, enthält in einer
Ausführungsform
die Benutzerschnittstelle das, was hier als Verwaltungskonsole 1200 bezeichnet
ist, die in einem Fenster eines Web- browsers, wie etwa dem Webbrowser 311 (3)
angezeigt wird. Bei einer Ausführungsform
kann die Darstellung der Konsole 1200 vom Webbrowser 1211 gemäß einem
Markup-Language-Dokument, wie etwa, ohne darauf beschränkt zu sein,
einem XML-Dokument, einem HTML-Dokument oder einem DHTML-Dokument, gehandhabt
werden. Für
den Fall, dass die Konsole gemäß einem
XML-Dokument dargestellt wird, kann dieses Dokument in ein DOM-Objekt
umgewandelt und auf dieses in dieser Form zugegriffen werden.
-
Die
Konsole 1200 verwendet eine visuelle Darstellung eines
GUI-Typs, um Informationen zu transportieren und Befehle von Benutzern
zum Steuern von oder Zugreifen auf eine oder mehrere der Ressourcen
zu empfangen. Die Konsole 1200 greift auf eine Vielfalt
von GUI-Elementen oder -Objekten zurück, die Fenster, Ikonen, Text,
Drop-Down-Menüs,
Dialogboxen, Werkzeugleisten, Knöpfe,
Steuerungen und dergleichen enthalten. Ein Benutzer, wie etwa ein
Systemadministrator, kann mit der GUI-Darstellung der Konsole 1200 beispielsweise;
und ohne darauf beschränkt
zu sein, mit Hilfe einer Zeigevorrichtung (z. B. einer Maus), um
einen Zeiger oder einen Cursor über
einem Objekt zu plazieren und auf das Objekt zu "klicken", oder mit Hilfe von Tasten auf einer
Tastatur interagieren.
-
Das
Aussehen und das Verhalten einer beliebigen Komponente, die auf
der Konsole angeordnet wird, kann beibehalten werden. Benutzer können ihre
Konsolen vollständig
anpassen, wodurch alles vom Inhalt und der Konfiguration der Zonen
bis zum Grad der Informationen, die auf einer Property-Page angezeigt
werden, festgelegt wird. Angepasste Konsolen können für den persönlichen Gebrauch gesichert
oder für
die Verwendung durch andere Benutzer veröffentlicht werden.
-
Wie
es in 12 gezeigt ist, enthält die Konsole 1200 eine
Werkzeugleiste 1210 und drei Zonen, die eine erste Werkzeugzone 412,
eine Arbeitszone 1214 und eine zweite Werkzeugzone 1216 umfassen.
Bei einer Ausführungsform
befindet sich die Werkzeugleiste 1210 am obersten Rand 1202 der
Konsole 1200. Der Fachmann wird erkennen, dass die vorliegende
Erfindung nicht auf die hier beschriebene Werkzeugleiste beschränkt ist,
sondern ein beliebiger Typ einer Werk zeugleiste verwendet werden
kann, der Steuerelemente oder Befehle zum Steuern der Merkmale der
Konsolen 1200 enthält.
Die Werkzeugleiste 1210 kann eine beliebige Zahl von Steuerungen
beinhalten, die mit der Konsole 1200 verknüpft sind.
Bei einer Ausführungsform der
vorliegenden Erfindung enthält,
wie in 12 gezeigt, die Werkzeugleiste 1202 ein
Konsolen-Auswahlelement 1222, ein Zeige-Element 1224, ein erstes Zonen-Anzeigeelement 1218 und
ein zweites Zonen-Anzeigeelement 1220.
Diese Steuerungen führen
spezielle Funktionen in Zuordnung mit der Konsole 1200 aus,
wie es nun erläutert
wird.
-
Das
Konsolen Auswahl-Auswahlelement 1222 gestattet es einem
Benutzer, aus einer Anzahl vordefinierter Konsolen auszuwählen. Das
heißt,
der Benutzer kann das Konsolen-Auswahlelement 1222 verwenden, um
auf eine Anzahl unterschiedlicher "Konsolen-Layouts" zuzugreifen. Darüber hinaus können Konsolen
gesichert werden, wie es unten beschrieben ist. Ein Systemadministrator
kann eine Anzahl unterschiedlicher Konsolen "verfassen", die jeweils unterschiedliche Elemente
und Merkmale beinhalten können.
Beispielsweise können
Konsolen, ohne darauf beschränkt
zu sein, so verfasst werden, dass sie graphische Steuer- elemente enthalten,
die sich für
unterschiedliche Szenarien und Aufgaben eignen Alternativ können Konsolen
derart verfasst werden, dass sie graphische Steuerelemente enthalten,
die für
spezielle Auftragsfunktionen eines Benutzers oder eine administrative
Ebene kennzeichnend sind.
-
Wie
es in 13 gezeigt ist, enthält bei einer
Ausführungsform
das Konsolen-Auswahlelement 1222 einen
Eingabepunkt 1330 und ein Drop-Down-Menü 1332, das eine Liste
verfügbarer
Konsolen-Layouts umfasst, die für
eine Tätigkeit
durch einen Benutzer über
den Eingabepunkt 1330 dargeboten wird. Der Eingabepunkt 1330 kann
als herkömmlicher
Werkzeugleistenknopf oder als herkömmliches Menü oder durch
ein spezielles Steuerelement ausgeführt sein. Wenngleich diese
beispielhafte Ausführungsform
einen sichtbaren Eingabepunkt enthält, wird der Fachmann verstehen,
dass die Funktion des Wählens
eines gewünschten
Konsolen-Layouts auch durch "Klicken" einer gewählten Maustaste
eingesetzt werden kann, während
sich der Cursor über
einer bestimmten Stelle der Werkzeugleiste befindet.
-
Um
ein spezielles Konsolen-Layout zu wählen, kann der Benutzereine
Maus (o der Tastatur) verwenden, um einen Cursor zum Eingabepunkt 1330 zu
bewegen, und anschließend
auf den Eingabepunkt 1330 klicken (oder diesen wählen). Klickt
der Benutzer auf den Eingabepunkt 1330, wird das Drop-Down-Menü 1332 angezeigt,
wie es in 13 gezeigt ist. Diese beispielhafte
Ausführungsform
verwendet ein Drop-Down-Menü, das
Auswahlkennzeichen hat, die als Kontrollkästchen ausgeführt sein
können,
um zu kennzeichnen, ob ein spezielles Layout aus der Liste verfügbarer Konsolen-Layouts
gewählt
wurde. Um ein spezielles Konsolen-Layout zu wählen, kann die Maus verwendet
werden, um das gewünschte
Konsolen-Layout zu wählen.
Ein Kontrollkästchen
ist ein Typ einer interaktiven Steuerung die Bestandteil einer GUI
ist und verwendet wird, um zu kennzeichnen, welches der gewünschten
Konsolen-Layouts in dem Menu gewählt
wurde.
-
Zusätzlich befinden
sich im Drop-Down-Menü 1332 des
Konsolen-Auswahlelementes 1222 ein
Konsolenelement "Sichern" 1334 und
Konsolenknöpfe "Sichern als" 1336. Das
Konsolenelement "Sichern" 1334 kann
verwendet werden, um den momentanen Zustand- des Konsolen-Layouts 1200 unter
dem derzeitigen Konsolen-Namen zu sichern. Im Gegensatz dazu kann
das Konsolen- element "Sichern
als" 1336 verwendet werden,
um den momentanen Zustand der Konsole 1200 unter einem
anderen Konsolennamen zu sichern. Bei einer Ausführungsform können das
Konsolenelement "Sichern" 1334 und
das Konsolenelement "Sichern als" 1336 als
Knöpfe
ausgeführt
sein, die sich im Drop-Down-Menü 1332 befinden,
wie es in 13 gezeigt ist. Sobald es gesichert
ist, kann ein Layout einer Konsole beispielsweise als XML-Datei
durch den Beständigkeits-Manager 334 gesichert
werden. Die Auswahl dieser Elemente kann dann durch "Klicken" der Knöpfe mit Hilfe
einer Maus erfolgen. Alternativ können sich das Konsolenelement "Sichern" 1334 und
das Konsolenelement "Sichern
als" 1236 jedoch
auch, oder alternativ, in anderen Bereichen der Konsole 1200 befinden.
-
Wie
es in 13 dargestellt ist, gestattet
es das Zeige-Element 1224 einem Benutzer, die erste 1212 und
die zweite 1216 Zone zu zeigen und/oder zu verbergen. Bei
einer Ausführungsform
ist das Zeige-Element 1224 in ähnlicher Weise wie das Konsolen-Auswahlelement 1222 als
Zeige-Drop-Down-Menü 1340 dargestellt und
arbeitet in ähnlichen
Weise wie dieses. Im Zeige-Drop-Down-Menü 1340 befinden sich
ein Element "Verberge
linke Zone" 1342 und
ein Element "Verberge
rechte Zone" 1344.
Das Element "Verberge
linke Zone" 1342 gestattet
es einem Benutzer, die Anzeige der ersten Zone 1212 zu
wählen
oder abzuwählen.
Das Element "Verberge
rechte Zone" 1344 gestattet
es einem Benutzer, die Anzeige der zweiten Zone 1212 zu
wählen oder
abzuwählen.
-
Zusätzlich zum
Element "Verberge
linke Zone" 1342 und
zum Element "Verberge
rechte Zone" 1344 kann
bei einer Ausführungsform
das Zeige-Drop-Down-Menü 1340 zudem
andere Elemente zum Wählen
oder Abwählen
der Anzeige unterschiedlicher Werkzeuge beinhalten, die sich in
der ersten Zone 1212 und/oder der zweiten Zone 1216 der
Konsole 1200 befinden. Wie es beispielsweise in 13 gezeigt
ist, enthält
das Zeige-Drop-Down-Menü 1340 eine
Element "Verberge
Schnellsuchwerkzeug" 1346 und
ein Element "Verberge Monitorwerkzeug" 1348. Das
Wählen
oder Abwählen
der Anzeige unterschiedlicher der unterschiedlichen Werkzeuge, die
sich in der ersten Zone 1212 und/oder der zweiten Zone 1216 der
Konsole befinden, kann in ähnlicher
Weise bewerkstelligt werden, wie es oben unter Bezugnahme auf das
Element "Verberge
rechte Zone" 1344 und
das Element "Verberge
linke Zone" beschrieben
wurde.
-
Wendet
man sich wieder 12 zu, gestattet es das ersten
Zonen-Anzeigeelement 1218 einem
Benutzer, die erste Zone 1212 "auszuschalten" und/oder "einzuschalten". Das heißt, das erste Zonen-Anzeigeelement 1218 gestattet
es einem Benutzer, die erste Zone 1212 von der Konsole 1200 zu
entfernen oder dieser hinzuzufügen.
Wie es in 13 dargestellt ist, kann das
erste Zonen-Anzeigeelement 1218 als
ein Knopf ausgeführt
sein. Bei dieser Ausführungsform
ordnet der Benutzer die Maus über
dem ersten Zonen-Anzeigeknopf 1218 an und klickt auf den
Knopf 1218, um den Knopf zwischen einem ersten Zustand,
in dem die Zone 1212 auf der Konsole 1200 angezeigt
wird, und einem zweiten Zustand, in dem die erste Zone auf der Konsole 1200 nicht
angezeigt wird, "umzuschalten". Es kann eine Anzahl
von Mechanismen verwendet werden um zu kennzeichnen, wann der erste
Zustand gewählt
wurde, wie etwa Konzentrieren auf oder Hervorheben des Knopfes 1218,
wenn der erste Zustand gewählt
ist, Ändern
der Farbe, des gewählten
Knopfes 1218; wenn der erste Zustand gewählt ist,
Anzeigen einer anderen Ikone, wie etwa einer Glühbirne, wenn der erste Zustand
gewählt ist,
oder Verwenden von Auswahlknöpfen
und dergleichen.
-
Das
zweite Zonen-Anzeigeelement 1220 gestattet es einem Benutzer,
die zweite Zone 1216 "auszuschalten" und/oder "einzuschalten". Das heißt, das
zweite Zonen-Anzeigeelement 1220 gestattet es einem Benutzer,
die zweite Zone 1216 der Konsole 1220 hinzuzufügen oder
von dieser zu entfernen. Das zweite Zonen-Anzeigeelement 1220 kann in ähnlicher
Weise ausgeführt
sein, wie jene, die gerade unter Bezugnahme auf das erste Zonen-Anzeigeelement 1218 beschrieben
wurde.
-
Bei
einer Ausführungsform
der vorliegenden Erfindung können
die erste Zone 1212 und die zweite Zone 1216 derart
betätigt
werden, dass sie ein oder zwei Werkzeuge anzeigen, wobei ein Werkzeug
ein graphisches Benutzerschnittstellenelement ist, dass einem Benutzer
schnellen Zugriff auf Merkmale oder Funkti- onen der Konsole 1200 gewährt. Wie
es in 12 gezeigt ist, enthält die erste
Zone beispielsweise ein Schnellsuchwerkzeug 1240, das eine
hierarchische Auswahlstruktur bereitstellt, um es dem Benutzer zu
ermöglichen,
schnell unter schiedliche Objekte zu suchen und die Arbeitszone 1214 zu
bestücken.
Wie es ebenfalls in 12 gezeigt ist, enthält die zweite
Zone ein Monitorwerkzeug; das den Status der CPU-Auslastung anzeigt.
-
Die
Arbeitszone 1214 ist der Bereich, in dem ein Großteil der
Funktionalität
der Konsole 1200 ausgeführt
wird. Wie es in 12 gezeigt ist, wird in der
Arbeitszone 1214 ein Arbeitsbereich 1250 angezeigt.
Jeder Arbeitsbereich bildet auf eine einzelne Auftragsfunktion ab,
wie etwa das Verwalten von Servern oder Druckern. Wenngleich zahlreiche
Arbeitsbereiche in der Arbeitszone 1214 betrachtet werden können, kann
bei einer Ausführungsform
lediglich ein einziger Arbeitsbereich gleichzeitig in der Arbeitszone 1214 betrachtet
werden. Für
den Fall, dass eine Konsole mehr als einen Arbeitsbereich enthält, kann
der Benutzer ein Browserwerkzeug verwenden, um auf die unterschiedlichen
Arbeitsbereiche zuzugreifen, wie es im folgenden detaillierter beschrieben
wird.
-
Im
Arbeitsbereich befindet sich ein Arbeitsbereichsfenster 1252,
das so betätigt
werden, kann, dass es ein oder mehrere Module 1254 anzeigt.
Zudem ist im Ar- beitsbereich 1250 ein Scrollbalken 1255 enthalten. Der
Scrollbalken ist ein graphisches Steuerelement, das es einem Benutzer
gestattet, Informationen außerhalb der
Sichtfläche
des Arbeitsbereichsfensters 1252 zu betrachten. Beispielsweise
kann der Scrollbalken 1255 verwendet werden, um das Arbeitsbereich
fenster 1252 in einer Weise zu scrollen, dass ein oder
ein weiteres Modul der Module, die sich im Arbeitsbereich 1250 befinden,
in das Sichtfeld des Arbeitsbereichsfensters 1252 gebracht
werden. Normalerweise enthält
der Scrollbalken 1255 einen Scrollkasten 1256,
der innerhalb des Scrollbalkens mit Hilfe einer Maus nach oben und
unten bewegt werden kann. Scrollpfeile 1258 am Ende des Scrollbalkens 1255 können ebenfalls
angeklickt werden, um die Sichtfläche des Arbeitsbereiches 1252 in
eine festgelegte Richtung zu bewegen. Zusätzlich kann der Scrollkasten
innerhalb des Scrollbalkens 1255 nach oben und unten bewegt
werden, indem in den Scrollbalken in einen Bereich geklickt wird,
der nicht vom Scrollkasten 1256 belegt ist, wie es üblich ist.
-
Innerhalb
des Arbeitsbereichsfensters
1252 befinden sich ein oder
mehrere Module
1254. Wo ein Arbeitsbereich auf Auftragsfunktionen
abgebildet wird, bilden Module
1254 normalerweise auf spezielle
Objekte ab, an denen die Arbeit ausgeführt wird. Wie es oben beschrieben
wurde, gibt es zwei Typen eindeutiger Mo dule – jene, die sich in einem Arbeitsbereich
befinden und zu einem speziellen. Objekttyp gehören, und jene, die sich innerhalb
der ersten und der zweiten Zone befinden und im folgenden als Werkzeuge
bezeichnet werden. Tabelle 8, die unten aufgeführt ist, zeigt eine Liste zahlreicher
Module, die innerhalb der unterschiedlichen Zonen angezeigt werden
können. Tabelle 8 – Beispielmodule
Modulname | Funktion |
Schnellsuche | Modul,
um eine beliebige Auftragsfunktion durch schnelles Suchen von Objekttypen
zu starten und auszuführen. |
Explorer | Startpunkt
für Arbeitsbereiche
und Module Stellt dem Benutzer einen Schnappschuss des momentanen
Zustands der Konsole zur Verfügung |
Hinweise | Versorgt
den Benutzer mit expliziten Hinweisen, wenn vorbestimmte Regeln
erfüllt
werden |
Fortgeschrittene
Suche | Stellt
fortgeschrittene Suchfunktionen für den-Benutzer über die Fähigkeiten der Schnellsuche
hinaus bereit |
Browse | Alternative
Suchmöglichkeit
durch Browse-Techniken |
Ergebnisliste | Bereich
des Arbeitsbereiches zum Speichern der Ergebnisse einer Abfrage,
kann durch die Funktion der Schnellsuche und der fortgeschrittenen
Suche bereitgestellt werden |
Aufgabenliste | Bereich
des Arbeitsbereiches, der vorgesehen ist, um eine Liste von Aufgaben
anzuzeigen, die mit gegebenen Instanzen verknüpft sind. |
Aufgabenfelder | Werkzeug,
das die Anpassung von verfügbaren
Aufgaben gestattet |
Property
Sheets | Arbeitsbereichsanzeige
unterschiedlicher Eigenschaften für das spezielle Objekt, das
gewählt
ist. |
Wizards | Wizards
stellen die Möglichkeit
bereit, komplexe Arbeitsflussbeziehungen zwischen Seiten festzulegen |
Graphen | Bereich
des Arbeitsbereiches zum Betrachten uterschiedlicher Daten, wie
etwa überwechter
Daten im Graph-Format. |
Editierbares
Gitter | Editierbares
Gitter funktioniert ähnlich
einer Tabellenkalkulation. Gibt dem Benutzer die Möglichkeit, Tabellendaten
zu betrachten, zu editieren und zu modifizieren. |
Zeichenoberfläche | Zeichenbereich,
der eine visuelle Anzeige des Arbeitsflusses für Gegenstände wie Wizards und andere
Komponenten bereitstellt. |
Firmenereignis-Log | Betrachter,
um den Administrator mit der nützli |
| chen
Anzeige von Ereignissen, Warnmeldungen oder Problembereichen zu
versorgen. |
Zeitplanung | Modul
zur Zeitplanung von Ereignissen für verwaltete Objekte |
Gehostete
und verbreitete Applikationen | Andere
Applikationen, die innerhalb eines vorbestimmten Arbeitsbereiches
verwendet werden, wie etwa Instant Messenger oder Terminal Server |
-
Jedes
Modul 1254 enthält
ein Modulfenster 1260. Jedes Modulfenster 1260 enthält eine
oder mehrere zugehörige
Flächen.
Wie es in 12 gezeigt ist, enthält bei einer
Ausführungsform
das Modulfenster 1260 vier getrennte Flächen: eine Abfrage-Fläche 1262,
eine Objekt-Fläche 1264,
eine Aufgaben-Fläche 1266 und eine
Arbeits-Fläche 1268.
-
Im
allgemeinen kann die Objekt-Fläche 1264 so
betätigt
werden, dass sie Informationen über
ein oder mehrere Objekte anzeigt, die auf das Modul 1260 angewendet
werden können,
in dem sich die Objekt-Fläche 1264 befindet.
Die Objekt-Fläche 1264 kann
beispielsweise eine Liste von Objekten beinhalten, die mit einem gegebenen
Modul verknüpft
sind, das für
einen Zugriff durch den Benutzer gewählt werden kann. Die Objekte in
der Objekt-Fläche
können
auf vielfältige
Art dargestellt werden, abhängig
von der Zahl der Objekte, die angezeigt werden sollen, und der Präferenzen
des Autors der Konsole 1200. Beispielsweise, und ohne darauf beschränkt zu sein,
können
die Objekte in einer einfachen Objektliste dargestellt werden, wie
es in 14 gezeigt ist. Ein Benutzer
kann anschließend
eines oder mehrere der Objekte in der Liste für den Zugriff wählen.
-
Die
Aufgaben-Fläche 1266 kann
derart betätigt
werden, dass unterschiedliche Aufgaben angezeigt werden, die auf
ein Objekt, das in der Objekt-Fläche
gewählt
wurde, anwendbar oder für
dieses verfügbar
sind. Wie bei der Objekt-Fläche
können
die Aufgaben in der Aufgaben-Fläche 1266 auf
vielfältige
Art angezeigt werden, abhängig
von der Zahl der Aufgaben, die angezeigt werden sollen, und den
Präferenzen
des Autors der Konsole 1200. Beispielsweise, und ohne darauf
beschränkt
zu sein, können
die Aufgaben in der Aufgaben-Fläche 1266 als
einfache Aufgabenliste angezeigt werden, wie es in 14 gezeigt
ist. Ein Benutzer kann anschließend
eine oder mehrere Aufgaben in der Liste für den Zugriff anzeigen.
-
Sobald
eine Aufgabe aus der Aufgabenliste 1266 gewählt ist,
kann die Funktion der gewählten
Aufgabe unmittelbar ausgeführt
werden, oder es kann alternativ eine Arbeits-Fläche 1268 angezeigt
werden, die zusätzliche
Informationen darstellt und/oder eine zusätzliche Funktionalität oder Teilaufgaben
anzeigt, die sich auf die gewählte
Aufgabe beziehen. Die zusätzlichen
Informationen, die dargestellte zusätzliche Funktionalität und/oder
die entsprechenden Teilaufgaben können in der Arbeits-Fläche 1268 auf
vielfältige
Art angezeigt werden, abhängig
vom Typ der Informationen oder der Funktionalität, die angezeigt werden sollen,
und den Präferenzen
des Autors der Konsole 1200.
-
Die
Abfrage-Fläche 1262 kann
derart betätigt
werden, dass mehrere Ressourcen gesucht werden, die mit der Software-Umgebung 300 (3)
verknüpft
sind. Wie es zuvor beschrieben wurde, können Netzwerkadministratoren
mit zahlreichen unterschiedlichen Objekten unterschiedlicher Typen
arbeiten. Bei einer typischen Netzwerk-Administrationsumgebung kann
auf Objekte normalerweise nur durch Applikationen zugegriffen werden,
die für
jeden einzelnen oder eine Gruppe von Objekttypen kennzeichnend sind.
Wenn Netzwerkadministratoren mit einem speziellen Objekt oder einer
Gruppe von Objekten arbeiten müssen,
müssen
die Netzwerkadministratoren somit zunächst zur Applikation navigieren,
die mit dem gewünschten
Objekttyp verknüpft
ist, und anschließend
zum speziellen Objekt oder zur Gruppe der Objekte navigieren. Dies
sieht keine integrierte Benutzersachkenntnis vor. Im Gegensatz dazu
sieht die Abfrage-Fläche 1262 eine
integrierte Art und Weise vor, in der auf Objekte von mehreren Ressourcen
zugegriffen werden kann. Das heißt, die Abfrage-Fläche 1262 stellt
einen Mechanismus bereit, durch den die Objekt-Fläche 1264 durch
Objekte bestückt werden
kann, die aus einer Vielfalt von Referenzen stammen oder sch auf
diese beziehen.
-
Die
Abfrage-Fläche 1262 kann
auf vielfältige
Art dargestellt werden, abhängig
vom Typ der Ressourcen, die abgefragt werden sollen, und den Präferenzen
des Autors der Konsole 1200. Bei einer Ausführungsform,
wie sie etwa in 14 gezeigt ist, kann die Abfragebene 1262 einen
einfachen Textkasten 1470 enthalten, um Begriffe einer
gewünschten
Abfrage mit Hilfe einer Tastatur einzugeben. Eine Maus kann anschließend verwendet
werden, um einen "Los!"-Knopf zu klicken
und die Abfrage zu initiieren.
-
Bei
einer Ausführungsform
erzeugt das Ausführen
eine Abfrage einen von drei Zuständen:
1) keine Objekte gefunden; 2) Ein Objekt gefunden, oder 3) mehrere
Objekte gefunden. Wenn ein Objekt oder mehrere Objekte gefunden
werden, wer- den sie in der Objekt-Fläche 1264 angezeigt.
Somit kann eine Auffrischung oder Abänderung der Abfrage dazu führen, dass
unterschiedliche Objekte in der Objekt-Fläche
angezeigt werden.
-
Die
Abfrage-Fläche
sieht einen eindeutigen und zusammenhängenden Ansatz für die Objekt-Auswahl und
-Verwaltung vor. Anstelle von den Netzwerkadministratoren zu verlangen,
zu einer Applikation zu navigieren und anschließend zu einem Objekt oder einer
Gruppe von Objekten zu navigieren, wie es bei Netzwerk-Administrationswerkzeugen
des Standes der Technik üblich
war. Die Abfrage-Fläche 1262 gestattet
es einem Netzwerkadministrator, direkt zu einem Objekt oder einer
Gruppe von Objekten zu navigieren. Sobald ein Objekt (Objekte) lokalisiert
ist (sind), ist der Netzwerkadministrator in der Lage, sämtliche
Aufgaben auszuführen, die
mit diesem Objekt (diesen Objekten) verknüpft ist (sind).
-
Wendet
man sich nun 14 zu, so ist dort eine beispielhafte
Konsole 1400 dargestellt, die eine Werkzeugleiste 1410,
die an der Oberseite 1411 der Konsole 1400 angeordnet
ist, eine erste Zone 1412, die auf der linken Seite 1413 der
Konsole 1400 angeordnet ist, eine zweite Zone 1416,
die an der rechten Seite 1417 der Konsole 1400 angeordnet
ist, und eine Arbeitszone 1414 anzeigt, die in der Mitte 1415 der
Konsole 1400 angeordnet ist. In der ersten Zone 1412 sind
zwei Werkzeuge, eine Schnellsuchwerkzeug 1418 und ein Explorer-Werkzeug 1420,
angezeigt. In der zweiten Zone 1414 sind zwei weitere Werkzeuge,
ein Monitor-Werkzeug 1422 und
ein Hinweis-Werkzeug 1424, angezeigt. In der Arbeitszone 1414 befindet
sich ein Administrator-Arbeitsbereich 1426, der ein Modul 1454 enthält. Es versteht
sich, dass die spezielle Konsole, die in 14 gezeigt
ist, lediglich ein Beispiel einer Konsole ist und hier dargestellt
ist, um für
ein besseres Verständnis
unterschiedlicher Funktionalitäten
zu sorgen und Eigenschaften an zuzeigen, die im Bezug auf die Konsole
verfügbar
sind. Somit sollen das Layout und die Funktionen der speziellen
Konsole, die in 6 gezeigt ist, nicht sämtliche
Merkmale, Layouts und/oder Funktionalitäten beinhalten, die in einer
Konsole dargestellt werden können.
-
Wie
es oben beschrieben ist, stellt das Schnellsuchwerkzeug 1418 eine
hierarchische Auswahlstruktur bereit, die es einem Benutzer ermöglicht,
schnell nach unterschiedlichen Objekten aus einer Vielfalt von Ressourcen
zu suchen und die Arbeitszone 1414 zu bestücken. Insbesondere
enthält
das Schnellsuchwerkzeug 1418 GUI-Steuerungen, die es einem
Systemadministrator gestatten, auf einfach Art eine spezielle Objektinstanz
(oder Instanzen) und eine Aktion zu kombinieren, die an der Objektinstanz
ausgeführt
werden soll, sowie die Gültigkeit
der Suche festzulegen.
-
Wie
es in 15 gezeigt ist, verwendet das
Schnellsuchwerkzeug 618 herkömmliche GUI-Steuerungen, wie
etwa Drop-Down-Menüs,
Textkästen
und Knöpfe.
Die Steuerungen sind logisch angeordnet, um einen einfachen Arbeitsverlauf
zum Ausführen
der Aktion des Festlegens eines Objektinstanz-Aktionspaares zu unterstützen, das
zu finden ist. Bei einer Ausführungsform
enthält
das Schnellsuchwerkzeug 618 eine Werkzeugleiste 1510,
das eine Schnellsuch-Drop-Down-Menüwähleinrichtung 1512,
ein Bearbeitungselement 1514 und ein Schnellsuch-Schließelement 1516 beinhaltet.
Die Schnellsuch-Drop-Down-Menüwähleinrichtung 1512 enthält ein dreieckiges
visuelles Element, das mit einer Maus "angeklickt" werden kann, um das Schnellsuch-Drop-Down-Menü 1518 auf
herkömmliche
Art zu öffnen
oder zu schließen.
Das Schnellsuch-Schließelement 1516 enthält ein x-förmiges sichtbares
Element, auf das mit einer Maus "geklickt" werden kann, um
das Schnellsuch-Werkzeug 1518 auf herkömmliche Art und Weise zu schließen.
-
Bei
einer Ausführungsform
enthält
das Schnellsuch-Drop-Down-Menü 1518 ein
Objekttyp-Wählelement 1520,
ein Suchgültigkeits-Wählelement 1532,
ein Instanz-Wählelement 1534,
ein Aktions-Wählelement 1536 und
ein Schnellsuch-Initiierungselement 1538,
die jeweils im folgenden beschrieben werden.
-
Das
Objekttyp-Wählelement 1530 stellt
eine graphische Darstellung der unterschiedlichen Objekte bereit,
die von einem Benutzer, wie etwa einem Systemadministrator, gesucht
werden können.
Die Zahl und die Auswahl der unterschiedlichen Objekttypen, die
vom Objekttyp-Wählelement 1530 angezeigt
werden, kann etwa durch einen Autor der Konsole vorgewählt sein.
Zusätzlich
können
die Zahl und die Auswahl der unterschiedlichen Objekttypen, die
vom Objekttyp-Auswahlelement 1530 angezeigt
werden, variieren, wenn entweder eine andere Konsole 1400 oder
ein anderer Arbeitsbereich 1426 gewählt werden.
-
Das
Objekttyp-Auswahlelement 1530 kann die unterschiedlichen
Objekttypen zur Auswahl auf vielfältige Art anzeigen. Weiterhin
kann das Objekttyp-Auswahlelement 1530 eine
Anzahl unterschiedlicher Mechanismen bereitstellen, mit denen ein
Objekttyp aus der Anzeige der unterschiedlichen Objekttypen gewählt werden
kann. Beispielsweise, und ohne darauf beschränkt zu sein, kann das Objekttyp-Auswahlelement 1530 die unterschiedlichen
Objekttypen zur Auswahl in Gestalt einer Liste von Objekten in einem
Drop-Down-Menü 1610 anzeigen,
wie es in 16 gezeigt ist. Ein Benutzer
des Schnellsuchwerkzeuges kann dann ein spezielles Objekt aus der
Liste von Objekten 1612 wählen, indem er auf das gewünschte Objekt
mit einer Maus klickt. Alternativ könnte der Benutzer des Schnellsuchwerkzeuges
ein spezielles Objekt aus der Liste von Objekten 1612 mit
Hilfe von Tasten auf einer Tastatur wählen. Beispielsweise könnte der
Benutzer Auf- und Abwärtspfeile
auf der Tastatur verwenden, um durch die Liste von Objekten 1612 zu
navigieren.
-
Sobald
der Benutzer ein spezielles Objekt aus der Liste von Objekten 1612 ge-
wählt hat,
wird das Suchgültigkeits-Wählelement 1532 aktiviert
und kann verwendet werden, um die Gültigkeit der gewünschten Schnellsuche
zu definieren. Bei einer Ausführungsform
kann der Benutzer die Gültigkeit
der Suche durch Eingeben einer gewünschten Gültigkeit definieren. Alternativ
kann auf der Basis des gewählten
Objekttyps die Gültigkeit
der Suche definiert werden, um eine geeignete Liste von Bereichen
wiederzugeben, innerhalb derer es der Benutzer festgelegt hat, nach
dem Objektereignis zu suchen. Beispielweise hat der Benutzer, wie
es in 16 gezeigt ist, ein Benutzerobjekt
gewählt.
Ereignisse des Benutzerobjektes sind beispielsweise im Active Directory
gespeichert. In diesem Fall kann die Gültigkeit der Suche das Auswählen einer
Domäne
beinhalten, in der gesucht werden soll. Wenn als ein weiteres Beispiel
das Ereignis in einer SQL-Server-Datenbank
gespeichert ist, dann würde
die Gültigkeit
höchst
wahrscheinlich eine Liste von Datenbanknamen sein.
-
Das
Suchgültigkeits-Auswahlelement 1532 kann
die unterschiedlichen Suchgültigkeiten
zur Auswahl in vielfältiger
Art anzeigen. Weiterhin kann das Suchgültig- keits-Auswahlelement 1532 eine
beliebige Zahl unterschiedlicher Mechanismen bereitstellen, durch
die die Gültigkeit
aus der Anzeige der unterschiedlichen Suchgültigkeiten gewählt werden
kann. Beispielsweise, und ohne darauf beschränkt zu sein, kann das Suchgültigkeits-Auswahlelement
die unterschiedlichen Gültigkeiten
in Gestalt einer Liste in einem Drop-Down-Menü in derselben Weise anzeigen,
wie es oben unter Bezugnahme auf das Objekttyp-Wählelement 1530, das in 16 gezeigt
ist, beschrieben wurde. Ein Benutzer des Schnellsuchwerkzeugs 1418 könnte daraufhin
eine spezielle Gültigkeit
aus der Liste von Gültigkeiten
wählen,
indem er auf die gewünschte
Gültigkeit
mit einer Maus klickt. Alternativ könnte der Benutzer des Schnellsuchwerkzeugs
eine spezielle Gültigkeit
aus der Liste von Objekten mit Hilfe von Tasten auf einer Tastatur
wählen.
-
Wie
es in 17 gezeigt ist, wurde der Objekttyp
(Benutzer) gewählt,
wie es im Suchgültigkeits-Auswahlelement 1532 dargestellt
ist. Da die Ereignisse dieses Objekttyps in einem Active Directory
gespeichert sind, wäre
die Gültigkeit
eine Liste von Domänennamen.
Beim dargestellten Beispiel, das in 17 gezeigt ist,
hat der Benutzer die Standarddomäne,
Microsoft.com, akzeptiert, wobei diese Gültigkeit im Suchgültigkeits-Auswahlelement 1532 dargestellt
ist.
-
Nach
dem Auswählen
einer speziellen Gültigkeit
für die
Suche, kann der Benutzer anschließend eine Instanz des festgelegten
Objekttyps mit Hilfe des InstanzWählelementes 1534 wählen. Eine
Instanz eines Objekttyps ist ein spezielles, benanntes Objekt. Ist
ein Objekt von einem Typ des Typs "Benutzer", dann wird die Instanz ein tatsächlicher
Benutzer sein. Das Instanz-Wählelement 1534 kann
die unterschiedlichen Instanzen zur Auswahl auf vielfältige Art
darstellen. Darüber
hinaus kann das Instanz-Wählelement 1534 einen
beliebigen einer Anzahl von Mechanismen bereitstellen, durch den
die Instanz aus der Anzeige der Instanzen gewählt werden kann. Beispielsweise,
und ohne drauf beschränkt
zu sein, kann das Instanz-Wählelement 1534 die
unterschiedlichen Instanzen zur Auswahl in Gestalt einer Liste in
einem Drop-Down-Menü anzeigen.
Alternativ kann es das Instanz-Wählelement 1534 dem
Benutzer gestatten, die gewünschte
Instanz (die Instanzen) manuell einzugeben. Beispielsweise kann
der Benutzer, wie es in 17 gezeigt
ist, eine gewünschte
Instanz in einen Textkasten 1710 im Schnellsuch-Drop-Down-Menü 1518 eintippen.
Darüber
hinaus kann der Benutzer durch Verwenden eines Trennzeichens, wie
etwa eines Strichpunktes, mehrere Instanzen wählen. Der Benutzer kann zudem "Platzhalter", wie etwa ein Sternchen
oder ein Fragezeichen und dergleichen verwenden, wenn er Instanzen
festlegt. Instanznamen sind normalerweise ein eindeutiges Kennzeichen
für den
Objekttyp. Wenn beispielsweise ein Benutzerobjekt des Active Directory
gewählt
wurde, kann der Instanzname ein Login-Name sein.
-
Nach
dem Wählen
einer speziellen Instanz (spezielles Instanzen) kann der Benutzer
aus einer Zahl von Aktionen, die für den gewählten Objekttyp, die Gültigkeit
und die Instanz (die Instanzen) verfügbar sind, mit Hilfe des Aktions-Wählelementes 1536 wählen. Das
Aktions-Wählelement 1536 kann
die unterschiedlichen Aktionen zur Auswahl auf vielfältige Art
darstellen. Weiterhin kann das Aktions-Wählelement 1536 einen
beliebigen einer Zahl von unterschiedlichen Mechanismen wählen, durch
den eine Aktion aus der Anzeige von Aktionen gewählt werdenkann. Beispielsweise,
und ohne darauf beschränkt
zu sein, kann das Aktions Wählelement 1536 die
unterschiedlichen Instanzen zur Auswahl in Gestalt einer Aktionsliste
in einem Drop-Down-Menü 1810 anzeigen,
wie es in 18 gezeigt ist. Ein Benutzer
des Schnellsuchwerkzeugs 1418 könnte anschließend eine
spezielle Aktion, die abzuschließen ist, aus der Liste von
Aktionen wählen,
indem er auf die gewünschte
Aktion mit einer Maus klickt. Alternativ könnte der Benutzer des Schnellwählwerkzeugs 1418 eine spezielle
Aktion aus der Liste von Aktionen mit Hilfe von Tasten auf einer
Tastatur wählen.
-
Die
Liste verfügbarer
Aktionen wird mit einer Liste zulässiger Aktionen für das gewählte Objekt
bestückt,
wiederum bereitgestellt für
den Konfigurations-Manager von der Ressource während des Installationsvorgangs.
Wie es oben erläutert
wurde, können
verfügbare
Aktionen in statische und dynamische Aufgaben ge trennt werden. Eine
statische Aktion oder Aufgabe ist eine, von der der Ressource bekannt
ist, dass sie mit sämtlichen
Instanzen des gegebenen Objektes verknüpft wird; beispielsweise ist
die Aktion Passwort rücksetzen
eine Aktion, die mit sämtlichen
Benutzerobjekten verknüpft
wird, und kann somit als statisch gekennzeichnet werden. Eine dynamische
Aufgabe ist andererseits eine Aufgabe, die mit einem gegebenen Objekt
in Abhängigkeit
seines Zustandes verknüpft
werden kann oder nicht; beispielsweise ist die Aufgabe "Konto sperren" eine Aufgabe, die
lediglich für
Benutzer gültig
ist, deren Konten nicht gesperrt sind. Ist das Konto eines Benutzers
bereits gesperrt, dann wird die Aufgabe "Konto sperren" nicht in der Liste verfügbarer Aktionen,
wie etwa der Liste 1014, angezeigt. Bei einer Ausführungsform
wird die Drop-Down-Liste auf der Schnellsuch-Fläche nur mit statischen Aufgaben
bestückt.
Sobald die eingestellten Ergebnisse zurückgegeben sind und ein spezielles
Objekt gewählt
wurde, wird die Aufgabenliste im Ursprungsmodul sowohl mit dynamischen
als auch statischen Aufgaben bestückt. Die Aufgaben erhält man durch
Abfragen des Aufgaben-Managers, der oben beschrieben wurde.
-
Sobald
der Benutzer einen Objekttyp, eine Gültigkeit, eine Instanz (Instanzen)
und eine Aktion gewählt hat,
wird die Suche mit Hilfe des Schnellsuch-Initiierungselementes 1538 initiiert.
Das Schnellsuch-Initiierungselement 1538 kann auf vielfältige Art
angezeigt werden. Beispielsweise, und ohne darauf beschränkt zu sein, kann
das Schnellsuch-Initiierungselement 1538 als Suchknopf
angezeigt werden, wie es in 19 gezeigt
ist. Um die Suche zu initiieren, kann der Benutzer anschließend auf
den Suchknopf 1538 drücken.
Beim Beispiel, das in 19 gezeigt ist, ist der Suchknopf
mit "Los!" gekennzeichnet.
Es versteht sich jedoch, dass andere Kennzeichnungen möglich sind,
um die Funktion des Such- knopfes 1538 zu kennzeichnen
(z. B. Suche, Beginn, Start, OK, etc) Bei einer Ausführungsform
ist es für
den Benutzer Benutzer nicht erforderlich, eine Aktion mit dem Aktions-Wählelement 1536 zu
wählen,
bevor die Suche initiiert ist. Wenn in einem derartigen Fall der Benutzer
keine Aktion wählt,
werden die Ergebnisse der Suche, für welche Objektinstanz(en)
auch immer gewählt
wurde(n), zusammen mit sämtlichen
verknüpften
Aktionen zurückgegeben.
-
Wenn
der Benutzer den Los-Knopf 1538 wählt, wird eine Suchzeichenfolge
erzeugt und in einem XML-Dokument eingebettet, das oben unter Bezugnahme
auf Tabelle 7 beschrieben wurde. Das XML-Dokument wird zum Suchverwaltungsdienst
weitergeleitet (eine amx-Datei, die das Such-Manager-Objekt dargeboten
hat) und dann direkt zum Such-Manager 324 weitergeleitet.
Der Suchmanager 324 parst die Abfragezeichenfolge im XML-Dokument,
um die Objekttypkennzeichnung zu beziehen. Daraufhin sucht der Such-Manager
eine Objekttyp-Datenbank ab und bezieht das XML-Schema für den bereitgestellten
Objekttyp, wie etwa während
des Bestimmungsvorgangs 1106, der oben beschrieben wurde.
Anschließend
fügt der
Such-Manager die Abfragezeichenfolge vom Abfragezeichenfolgen-XML-Dokument in ein Attribut
ein, das als schnell suchbar gekennzeichnet ist.
-
Das
resultierende XML-Dokument hat sowohl eine Objekttypdefinition als
auch eine Suchzeichenfolge, wobei dieses XML-Dokument die Abfrage
bildet, die zur Ressource weitergeleitet wird. Die Abfrage enthält einen
URL oder ein anderes Kennzeichen für die Suchhandhabungseinrichtung,
wie es durch das Plugin festgelegt ist. Der Such-Manager 342 liest
den Wert der URL der Suchhandhabungseinrichtung, erzeugt einen Proxy
und leitet an diesen die URL und die XML-Abfrage weiter. Der Proxy
versetzt das System in die Lage, den URL unabhängig von dessen Ort (z. B.
hinter einer Firewall und dergleichen) zu erreichen, wie es in 10 gezeigt
ist.
-
Bei
einer speziellen Ausführungsform übermittelt
der Proxy das Abfrage-XML-Dokument
zur Suchhandhabungseinrichtung unter Verwendung von SOAP, wie es
in 10 gezeigt ist. Alternativ können andere Kommunikationsprotokolle
verwen- det werden. Bei dieser Ausführungsform muss die Suchhandhabungseinrichtung
(eine asmx-Datei – kompiliertes
ASP+) das Verfahren "ExecuteSearch" darbieten, das die
XML-Abfrage als Parameter verwendet. Sobald die Ressource ihre Suche
ausgeführt
hat, gibt sie die Ergebnisse zum Such-Manager zurück, indem
sie diese in ein weiteres XML-Schema einbettet und dieses XML als
Zeichenfolge von der Suchhandhabungseinrichtung zurückgibt.
Der Such-Manager 324 parst die Datei und sendet die Ergebnisse
zur Benutzerschnittstelle, die sie in einem Modul anzeigt, das in
der Konsole durch das Schnellsuchwerkzeug 1418 geöffnet wurde,
sobald der Benutzer den LOS-Knopf betätigt hatte.
-
Sobald
die Schnellsuche initiiert ist, können die Ergebnisse dieser
Suche auf unterschiedliche Art und Weise in der Konsole 1200 angezeigt
werden. Wie es beispielsweise in 20 gezeigt
ist, werden die Ergebnisse der definierten Suche im Modul 2010 in
einem Arbeitsbereich 2014 in einer Arbeitszone 2016 einer
Konsole 2018 angezeigt. Wie es in 20 gezeigt
ist, können
bei einer Ausführungsform
Parameter der Suche, die ausgeführt
wurde, als eine Suchzeichenfolge 2022 in einem Fenster
Suche 2020 angezeigt werden, dass sich in einer Suchfläche 2024 innerhalb
des Moduls 2010 befindet. In einem derartigen Fall kann
der Be- nutzer anschließend
eine neue oder eine zusätzliche
Suche ausführen,
indem er die Suchzeichenfolge 2022 in der Suche abändert. Ein
Suchen-Initiierungselement 2026,
wie etwa ein Knopf, kann dann verwendet werden, um die Suche zu
beginnen.
-
Mit
Hilfe des obigen Systems und des obigen Verfahrens sind Administratoren
in der Lage, ein suchgesteuertes Modell zum Lokalisieren und Arbeiten
mit Objekten unterschiedlicher Typen zu verwenden, ohne dass sie
durch sich ändernde
Applikationen navigieren müssen,
wodurch die Zufriedenheit des Benutzers und die Produktivität verbessert
wird. Das heißt,
da die Administratoren mit zahlreichen unterschiedlichen Objekten unterschiedlicher
Typen arbeiten, stellt das oben erwähnte System ein Framework bereit,
das es einem Benutzer gestattet, mit einem speziellen Objekt oder
einer Gruppe von Objekten zu arbeiten, ohne zunächst durch die Applikation
zu navigieren, die dem gewünschten
Objekttyp zugeordnet ist, und anschließend zum speziellen Objekt
oder einer Gruppe von Objekten zu navigieren. Anstelle vom Benutzer
zu verlangen, zu einer Applikation zu navigieren und anschließend zu
einem Objekt oder einer Gruppe von Objekte zu navigieren, gestattet
es das oben beschriebene Framework dem Benutzer, direkt zum Objekt
oder einer Gruppe von Objekten zu navigieren. Sobald ein Objekt
(Objekte) lokalisiert ist (sind), ist der Benutzer in der Lage,
sämtliche
Aufgaben auszuführen,
die mit diesem Objekt (diesen Objekten) verknüpft ist (sind).
-
Wendet
man sich wieder 14 zu, enthält, wie es oben beschrieben
ist, die dargestellte Konsole 1400 ein Explorer-Werkzeug 1420.
Im allgemeinen ist das Explorer-Werkzeug 1420 ein Navigationswerkzeug, das
verwendet wird, um Arbeits bereiche und Module in der Arbeitszone 1414 darzustellen.
Die einzelnen Arbeitsbereiche und Module, die in der Arbeitszone 1414 dargestellt
werden, hängen
davon ab, welche Arbeitsbereiche und Module für eine spezielle Konsole 1400 entwickelt
und/oder installiert sind. Wie es in 14 gezeigt
ist, enthält
das Explorer-Werkzeug 1420 eine
Anzahl graphischer Anzeigeelemente, die die Auswahl von Arbeitsbereichen
und Modulen mit Hilfe herkömmlicher
GUI-Steuerungen zulassen.
-
21 zeigt eine vergrößerte Ansicht des Explorer-Werkzeugs 1420,
das in 14 gezeigt ist. Wie in 21 gezeigt, enthält bei einer Ausführungsform
das Explorer-Werkzeug 1420 eine
Werkzeugleiste 2108 mit einer Explorer-Drop-Down-Menüwähleinrichtung 2110,
einem Bearbeitungselement 2112 und einem Explorer-Schließelement 2114.
Die Explorer-Drop-Down-Menüwähleinrichtung 2110 enthält ein dreieckiges sichtbares
Element 2116, auf das mit einer Maus "geklickt" werden kann, um ein Explorer-Drop-Down-Menü 1318 in
herkömmlicher
Art und Weise zu öffnen
oder zu schließen.
Das Explorer-Schließelement 2114 enthält ein x-förmiges visuelles
Element, auf das mit einer Maus "geklickt" werden kann, um
das Explorer-Werkzeug 1412 auf herkömmliche Art und Weise zu öffnen oder
zu schließen.
Bei einer Ausführungsform
stellt das Bearbeitungselement 2112 dem Benutzer die Funktionalität bereit,
Arbeitsbereiche innerhalb des Explorer hinzuzufügen, zu löschen und/oder zu bewegen.
-
Das
Explorer-Drop-Down-Menü 2118 kann
so betätigt
werden, dass es eine Liste von Arbeitsbereichen 2120 und
Modulen 2112 anzeigt, die mit den Arbeitsbereichen 2120 verknüpft sind,
wie es in 21 gezeigt ist. Jeder der Arbeitsbereiche 2120,
der im Explorer-Drop-Down-Menü 2118 gezeigt
ist, enthält
ein Dreieckiges Element 2124, auf das mit einer Maus "geklickt" werden kann, um
eine Drop-Down-Liste 2118 von
Modulen; die mit diesem Arbeitsbereich 2120 verknüpft sind,
zu öffnen
oder zu schließen
Beispielsweise sind, wie es in 221 gezeigt
ist, mit dem Monitor-Arbeitsbereich 2126, der im Explorer-Drop-Down-Menü 2118 angezeigt
ist, ein Computermodul 2128 und ein Agentenmodul 2130 verknüpft.
-
Bei
einer Ausführungsform
kann ein sichtbares Kennzeichen mit einem gewählten Arbeitsbereich und/oder
Modul verknüpft
sein. Es kann eine Anzahl von Me chanismen verwendet werden um zu
kennzeichnen, dass ein spezieller Arbeitsbereich und/oder ein spezielles
Modul gewählt
wurden. Wie es beispielsweise in 21 gezeigt
ist, wurden der Benutzer-Admin-Arbeitsbereich 2132 und
das zugehörige
Admin-Benutzer-Modul 2134 hervorgehoben um zu zeigen, dass
diese gewählt
wurden.
-
Die
Auswahl eines speziellen Arbeitsbereiches 2120 im Explorer-Werkzeug 1420 bewirkt,
dass dieser spezielle Arbeitsbereich in der Arbeitszone 1414 der
Konsole 1400 angezeigt wird, wie es in 14 gezeigt ist.
Darüber
hinaus bewirkt das Auswählen
eines speziellen Moduls 2122 im Explorer-Werkzeug 1420,
dass dieses spezielle Modul im Arbeitsbereich 2120 angezeigt
wird, der gewählt
wurde. Bei einer Ausführungsform wird,
wenn zum ersten mal ein spezieller Arbeitsbereich 2120 in
dieser Weise gewählt
wird, dieser mit sämtlichen
verfügbaren
Modulen 2122 geöffnet
dargestellt, wobei das oberste Modul an oberster Stelle des gewählten Arbeitsbereiches 2122 angezeigt
wird. Die darauf folgenden Male, bei denen der spezielle Arbeitsbereich aus
dem Explorer-Werkzeug 1420 gewählt wird, wird der spezielle
Arbeitsbereich im selben Zustand angezeigt, wie er zuletzt betrachtet
wurde.
-
Es
kann eine beliebige Zahl von Taxonomien des Explorer-Werkzeugs 1420 geben,
die die speziellen Arbeitsbereiche und Module, die in einem gegebenen
Explorer-Werkzeug 1420 erscheinen, und die Anordnung dieser
speziellen Arbeitsbereiche und Module in einem gegebenen Explorer-Werkzeug 1420 definieren. Tabelle
9 zeigt eine beispielhafte Explorer-Werkzeug-Taxonomie, die bei
der Verwaltung einer Anzahl von Ressourcen verwendet werden kann.
Es versteht sich, dass die spezielle Taxonomie, die in Tabelle 9
dargestellt ist in keiner Weise erschöpfend oder begrenzend ist.
Die beispielhafte Explorer-Werkzeug-Taxonomie gibt lediglich eine
beispielhafte Taxonomie an, um zu zeigen wie eine Explorer- Werkzeug-Taxonomie
aufgebaut sein kann.
-
Tabelle 9 – Beispielhafte Explorer-Werkzeug-Taxonomie
-
- – Benutzer
Benutzer
Gruppen
- – Server
Dienste
Registrierung
Protokolle
DNS
DHCP
WINS
- – Datenbanken
SQL
Oracle
DB2
Informix
- – Massaging
Konferierende
Server
Austausch
- – Clustern
- – Applikationen
Application-Center-Server
Versionen
- – Sicherheit
Kerberos
PKI
IPSec
- – Leistungsüberwachung
Zählersammlung
Schwellenwerte
Applikations-Abhängigkeiten
- – Vorgangverwaltung
Verteilte
Ereignisse
Modell-Applikationen und Abhängigkeiten
Änderung
Konfiguration
SLAs
- – Clients
Software-Verteilung
Füge Programm
hinzu/Entferne Programme
- – Hosting
Web-Strukturen
FTP
- – Drucker
Drucker
Fax
- – Multimedia
Netz-Treffen
Netz-Theater
Gestreamte
Medien
Speicher
RAID
Sicherungskopie
- – Dateien
und gemeinsame Nutzung
- – DFS
- – Gruppenrichtlinie
-
Wendet
man sich nun 22 zu, so ist dort ein beispielhaftes
Modul 2200 dargestellt, das eine Abfrage-Fläche 2210,
eine Objekt-Fläche 2212,
eine Aufgaben-Fläche 2214 und
eine Arbeits-Fläche 2216 enthält. Wie
es in 22 gezeigt ist, enthält die Objekt-Fläche 2212 eine
Liste von Objekten 2218. Aus dieser Liste von Objekten 2218 in
der Objekt-Fläche 2212 wird
ein spezielles Objekt für
den Zugriff von einem Benutzer gewählt. Beispielsweise wurde das
Objekt 2220 mit dem Titel "Kristy Wallace" aus der Objektliste 2218 gewählt, wie
es in 22 durch Hervor heben gezeigt
ist.
-
In
Erwiderung der Auswahl des speziellen Objektes 2220 wird
eine Liste anwendbarer Aufgaben 2222 in der Aufgaben-Fläche 2214 angezeigt.
In der Liste der anwendbaren Aufgaben 2222 ist eine Eigenschaften-Aufgabe 2224 enthalten,
die in der Aufgaben-Fläche
gewählt
wurde, wie es durch Hervorheben dargestellt ist. In Erwiderung auf
die Auswahl der Eigenschaften-Aufgabe 2224 wurde die Arbeits-Fläche 2216 mit
einem Property-Sheet 2226 bestückt, das dem speziellen Objekt 2220 zugeordnet
ist, das in der Objekt-Fläche 2212 gewählt ist.
-
Im
Property-Sheet 2226 ist eine Liste von Property-Pages 2228 enthalten,
die mit dem Property-Sheet 2226 verknüpft sind. In der Liste der
Property-Pages 2228 ist eine allgemeine Property-Page 2224 enthalten, die
gewählt
wurde, wie es durch Hervorheben dargestellt ist. In Erwiderung auf
die Auswahl der allgemeinen Property-Page 2224 wurde die
Arbeits-Fläche 2216 mit
einer Property-Page 2230 bestückt, die eine Anzahl von Steuerungen
zum Bearbeiten der allgemeinen Property-Page 2224 enthält. Bei
einer Ausführungsform kann
der Benutzer an dieser Stelle unterschiedliche Property-Sheets für unterschiedliche
Objekte vergleichen, indem er einfach ein weiteres Objekt in der
Objekt-Fläche
wählt.
Beispielsweise kann der Benutzer die Tabulatortaste drücken, um
zwischen den Objekten in der Objektebene zu "springen".
-
23 zeigt ein Merkmal einer Ausführungsform
der vorliegenden Erfindung, bei dem zwei oder mehr Property-Pages
in einem einzigen Fenster gleichzeitig betrachtet werden können. Das
Basis-Layout des Moduls 2300, das in 23 gezeigt ist, gleicht dem Modul 2200,
das in 22 gezeigt ist. Jedoch enthält, wie
es in 23 gezeigt ist, die Liste von
Aufgaben 2322 in der Aufgaben-Fläche 2314 eine Eigenschaften-Vergleichs-Aufgabe 2332.
Die Funktion der Eigenschaften-Vergleichs-Aufgabe 2332 besteht
darin, dass zwei oder mehr Property-Pages von zwei oder mehr Benutzern
in der Arbeits-Fläche 2316 angezeigt
und/oder bearbeitet werden können.
-
Bei
einer Ausführungsform
kann die Auswahl mehrerer Property-Sheets zum Anzeigen und/oder
Bearbeiten in der Arbeits-Fläche 2316 wie
folgt bewerkstelligt werden. Wie es in 23 gezeigt
ist, werden ein oder mehrere Objekte aus dieser Liste von Objekten 2318 in
der Objekt-Fläche 22312 gewählt. Beispielsweise wurden
das Objekt 2320 mit dem Titel "Kristy Wallace" und das Objekt 2334 mit dem
Titel "Tim Jones" aus der Objektliste 2318 gewählt.
-
In
Erwiderung auf die Auswahl der speziellen Objekte 2320 und 2334 wurde
eine Liste anwendbarer Aufgaben 2322 in der Aufgaben-Fläche 2314 angezeigt.
In der Liste der anwendbaren Aufgaben 2322 ist eine Eigenschaften-Vergleichs-Aufgabe 2332 enthalten,
die in der Aufgaben-Fläche
gewählt
wurde, wie es durch Hervorheben dargestellt ist. In Erwiderung auf
die Auswahl der Eigenschaften-Vergleichs-Aufgabe 2332 wurde ein
Abschnitt der Arbeits-Fläche 2316 mit
einem Property-Sheet 2326 bestückt, das mit dem Objekt 2320 mit dem
Titel "Kristy Wallace" verknüpft ist.
In den Property-Sheets 2326 ist eine Liste von Property-Pages 2328 enthalten,
die mit dem Property-Sheet 2326 verknüpft sind. In der Liste der
Property-Sheets 2326 ist eine allgemeine Property-Page 2324 enthalten,
die in der Liste der Property-Pages 2328 gewählt wurde,
wie es durch Hervorheben dargestellt ist. In Erwiderung der Auswahl
der allgemeinen Property-Page 2324 wurde die Arbeits-Fläche 2316 mit
einer allgemeinen Property-Page 2330, die mit dem "Kristy-Wallace"-Objekt 2320 verknüpft ist,
wie auch mit einer allgemeinen Property-Page 2340 bestückt, die
mit dem "Tim-Jones"-Objekt 2320 verknüpft ist.
Jede der Property-Pages enthält
eine Zahl von Steuerungen zum Bearbeiten der allgemeinen Property-Pages 2330 und 2340.
-
Für den Fall,
dass mehr als zwei Objekte zum Vergleich gewählt sind, können die Größe-und die Position der Arbeits-Fläche 2316 wie
auch die Größe und die
Position des Property-Sheets und der verknüpften Property-Pages dynamisch
eingestellt werden. Wenn darüber
hinaus eine große
Zahl von Objekten zum Vergleich durch einen Benutzer in der Arbeits-Fläche 2316 gewählt wurden,
können
alternative Anzeigeelemente verwendet werden, um das Property-Sheet
und die Property-Pages
zu zeigen. Beispielsweise, und ohne darauf beschränkt zu sein,
können
die unterschiedlichen Property-Pages, tabellarisch in der Arbeits-Fläche 2316 angezeigt
werden.
-
Wenngleich
die vorliegende Erfindung in einer Sprache beschrieben wurde, die
für strukturell
Merkmale, Verfahrensvorgänge
und computerlesbare Medien kennzeichnend ist, die derartige Vorgänge enthalten, versteht
es sich, das die Erfindung, die in den beigefügten Ansprüchen definiert ist, nicht auf
den speziellen Aufbau, die Vorgänge
oder Medien beschränkt
ist. Somit sind der spezielle Aufbau, die Vorgänge oder die Medien als bevorzugte
Formen der Ausführung
der beanspruchten Erfindung beschrieben.