-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese Erfindung bezieht sich auf
das Konfigurieren und Verteilen von Software in Netzwerkumgebungen
einschließlich
Web-zentrierter und Internet-zentrierter Umgebungen und genauer
gesagt auf das Konfigurieren von steckbaren bzw. einfügbaren Komponenten
vor der Verteilung zu eingebetteten (%embedded%) Servern in einer
Netzwerkumgebung.
-
2. Beschreibung des verwandten
Standes der Technik
-
Das Internet wächst mit einer beispiellosen
Geschwindigkeit und zieht dabei neue Arten von Benutzern an. In
den frühen
1990er Jahren hatten nur Universitäten, die Regierung und einige
technische Fachleute einen Web-Zugang; nun sind Verbraucher, kleine
Firmen und kleine Einrichtungen im Internet. In dem Maße, in dem
mehr und mehr Personen und Geräte
online werden, eröffnen
sich Möglichkeiten
für neue
Anwendungen.
-
Während
das Internet schnell zu einem Transportmittel ersten Ranges für schnellen
Informationszugriff gewachsen ist, hat sich nebenbei auch ein unerwarteter
günstiger
Nebeneffekt herausgestellt bzw. entwickelt- das Internet ist der
ideale Mechanismus zum Ermöglichen,
Programmieren, Aktualisieren und Erweitern von "eleganten" bzw. "intelligenten" Vorrichtungen und Geräten. Für zuvor "dumme" Geräte wie Waschanlagen bzw.
Spülmaschinen,
Klima- und Berieselungsanlagen werden leistungsfähige neue Fähigkeiten möglich, indem eine Kombination
von Internetzugang, "eingebauten" Mikrochips und "intelligenter" Software verwendet wird.
-
Eingebettete Anwendungen laufen auf
Mikrocomputern ab, die in elektronischen Geräten bzw. Einrichtungen wie
(Haushalts)Geräten,
Verkaufsautomaten, Benzinpumpen, Mobiltelefonen und Funkrufempfängern bzw.
Pagern eingebaut sind. Eingebettete Systeme werden auch verwendet,
um eine neue Linie von ausgeklügelten
Geräten
bzw. Einrichtungen wie persönliche
Datenassistenten (Personal Data Assistants, PDAs), Smart Pager und
Web-Telefone zu entwickeln. Die jüngsten Web-Telefone unterstützen nun
eine Vielzahl von nützlichen
Diensten wie ein Adreßbuch,
eine automatische Wähleinrichtung,
einen Internet-Browser und einen Kalender. Diese eingebetteten Computer
sind bezüglich
Platz bzw. Raum, Leistung, Speicher und Netzwerkanschluß- bzw. – verbindungsfähigkeit
eingeschränkt.
Aber gemäß Moore's Gesetz haben sich
diese Randbedingungen bzw. Einschränkungen entspannt bzw. gelockert,
und eingebettete Systeme sind viel leistungsfähiger geworden.
-
Obwohl Speicher(platz) nicht mehr
ganz so knapp ist, wie er einmal war, haben eingebettete Systeme immer
noch beschränkte
lokale Speicherressourcen. Der Platz reicht gerade für vorinstallierte
Dienste. Aber wenn Dienste auf Nachfrage bzw. Anfrage geladen werden
können,
dann kann ein kleiner Mikroprozessor ein viel wandlungsfähigeres
bzw. vielseitigeres Verarbeitungssystem werden. Wo zunächst ein
Gerät nur
eine oder zwei Operationen bzw. Arbeitsabläufe durchführen konnte, kann es nun eine
breite Vielfalt von Operationen durchführen. Dieser Ansatz zu eingebetteten
Diensten vereinfacht die Verwaltung der Geräte. Die Dienste können an
einer zentralen Stelle aufrecht erhalten bzw. gewartet und verwaltet
und über
das Netzwerk, je nach Bedarf, ausgeliefert werden. Benutzer brauchen
nicht mehr das ganze Gerät
zu ersetzen, um es auf neue Dienste oder Fähigkeiten hochzurüsten. Sie
laden einfach eine neue Version des steuernden Dienstes.
-
Die Eingebettete Servertechnologie
wurde entwickelt, um ein Rahmenwerk zur Unterstützung von eingebetteten Diensten
zur Verfügung
zu stellen. Java Embedded ServerTM (JES)
von Sun Microsystems ist ein Beispiel eines Rahmenwerkes für eingebettete
Server. 1 veranschaulicht
als Beispiel einen Embedded Server 100 mit verschiedenen
installierten, über
das Netzwerk auslieferbaren Diensten 102 einschließlich eines
HTTP-Protokoll-Dienstes, eines Protokollierungs- bzw. Logging-Dienstes,
eines Management-Dienstes, eines SNMP-Protokoll-Dienstes und eines
Kalenderdienstes.
-
Ausführungsformen eines Rahmenwerkes
für eingebettete
Server können
verschiedene Komponenten beinhalten. Ein eingebetteter Server kann
ein Laufzeit-Rahmenwerk bereitstellen, welches das Laden, Installieren,
Aktivieren, Ausführen
und Entfernen eines oder mehrerer Dienste und/oder steckbarer Komponenten
verwaltet. Ein Dienst kann ein spezifischer Satz von Funktionen
bzw. Funktionalität
sein, die eine Schnittstelle implementiert, die von dem eingebetteten
Server bereitgestellt wird. Zum Beispiel könnte ein Dienst eine Anwendung,
eine spezifische Implementierung eine Protokolls wie HTTP oder Remote
Method Invocation (RMI, entfernter Methodenaufruf) oder ein anderer
Code-Satz sein, der für
einen spezifischen Zweck wie einen Logging-Dienst vorgesehen ist.
Ein Dienst kann durch das definiert werden, was er tut. Eine Dienstbeschreibung
kann definiert werden als der Name, unter dem ein Dienst beim eingebetteten
Server registriert ist. Dienstbeschreibungen ermöglichen es dem eingebetteten
Server-Rahmenwerk, mehrere Instanzen und/oder Implementierungen
derselben Schnittstelle zu beherbergen. Ein Wizard (Zauberer bzw.
Hexenmeister) kann Code sein, der vom eingebetteten Server-Rahmenwerk
verwendet wird, um den Lebenszyklus eines Dienstes korrekt zu verwalten.
Die Verwaltung des Lebenszyklus kann das Installieren, Konfigurieren,
Aktivieren, Aktualisieren, Deaktivieren und Deinstallieren eines
Dienstes umfassen
-
Nach einer Ausführungsform kann eine steckbare
Komponente, die auch als Bündel
bezeichnet werden kann, ein „Behälter" sein (z. B. eine
Java ARchive (JAR) Datei), die die vollständige Menge von Klassen und
Methoden (z. B. Java-Klassen und -Methoden) und/oder andere Ressourcen
(z. B. Dateien, Daten, Konfigurationsinformation einschließlich Präferenzen,
etc.) enthalten kann, die gebraucht werden, um einen Dienst oder
Dienste (und die Menge von Wizards, die zum Verwalten des Dienstes
benötigt
werden) auf einem eingebetteten Server zu implementieren. Eine steckbare
Komponente kann einen oder mehrere Dienste und Mengen von Wizards
enthalten. Eine steckbare Komponente kann eng definiert werden und
nur eine begrenzte Anzahl von Dateien und Funktionalität enthalten,
oder sie kann breit definiert werden und viel mehr enthalten. Den
Code, der in einer steckbaren Komponente enthalten ist, kann man
sich, wenn er ausgeführt
wird, als ein Programm oder eine Anwendung vorstellen. Das Programm
wird in einem Komponentenkontext oder Bündelkontext ausgeführt. Jede
steckbare Komponente in einem eingebetteten Server kann seinen eigenen
eindeutigen bzw. einzigartigen Komponentenkontext haben. Dies macht
es möglich,
daß verschiedene
Instanzen derselben steckbaren Komponente gleichzeitig bzw. nebeneinander
innerhalb eines eingebetteten Servers ablaufen, wobei jede ihren
eigenen Komponentenkontext und Satz von Wizards hat. Ein Manifest
kann als eine Datei innerhalb einer steckbaren Komponente definiert
werden, in der Information bezüglich
der steckbaren Komponente, zum Beispiel Konfigurationsinformation
und Anhängigkeiten
von anderen steckbaren Komponenten oder Ressourcen, angegeben werden
kann.
-
Dienste können in einen eingebetteten
Server als Teil einer steckbaren Komponente installiert werden. Es
gibt jedoch nicht notwendigerweise eine eins-zu-eins Zuordnung zwischen
einer steckbaren Komponente und einem Dienst. Der Code, der zwei
oder mehrere Dienste ausmacht, kann in eine steckbare Komponente gepackt
sein und in den eingebetteten Server installiert werden.
-
Ein eingebetteter Server kann sich
auf einer Einrichtung wie einem eingebetteten System befinden, auf
der installierte Dienste ausgeführt
werden, oder kann sich auf einer Zugangs- bzw. Gatewayeinrichtung
befinden, die einer oder mehreren Einrichtungen dient. 2 veranschaulicht ein Wohngebäudesystem
mit einer Anzahl von Einrichtungen, die mit einer Gatewayeinrichtung
verbunden sind, welche einen eingebetteten Server beherbergt. Nach
dieser Ausführungsform
kann der eingebettete Server auf der Gatewayeinrichtung steckbare
Komponenten vom Netzwerk empfangen und die steckbaren Komponenten
und/oder Dienste, welche von den steckbaren Komponenten bereitgestellt
werden, an eine oder mehrere der angeschlossenen Einrichtungen liefern.
Die Gatewayeinrichtung kann die steckbaren Komponenten speichern
oder kann die steckbaren Komponenten löschen, wenn sie nicht mehr
benötigt
werden. Eine Gatewayeinrichtung kann eine alleinstehende bzw. selbständige Einrichtung
sein. Alternativ kann ein Gerät
wie ein VCR (Videorekorder) oder ein Heimcomputer als eine Gatewayeinrichtung
dienen. Dasselbe Model wie in dem Wohngebäudesystem-Beispiel von 2 dargestellt, kann auf
andere Systeme wie Unternehmenssysteme, die Verarbeitungssysteme, Drucker,
PDAs, Router, Modems, etc. umfassen, angewandt werden.
-
Aktuell werden steckbare Komponenten
nach der Auslieferung typischerweise manuell konfiguriert oder individuell
konfiguriert (einzeln nacheinander), um mehrere Clients mit unterschiedlichen
Konfigurationen zu unterstützen.
Darüber
hinaus können
einige steckbare Komponenten nach der Auslieferung nicht konfigurierbar
sein. Daher ist es wünschenswert,
ein Verfahren zur Verfügung
zu stellen, um über
ein Netzwerk auslieferbare, steckbare Komponenten zu konfigurieren,
bevor die Komponenten eingesetzt bzw. verwendet werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es werden Ausführungsformen eines Bündelkonfigurierungsdienstprogramms
(Bundle Configuration Utility, BCU) zum Konfigurieren von über ein
Netzwerk auslieferbaren, steckbaren Komponenten, die auch als Bündel bezeichnet
werden, zum Einsatz in eingebetteten Servern beschrieben. Nach einer
Ausführungsform ist
eine BCU ein Dienstprogramm, das das Konfigurieren einer Menge von
Eigenschaften, die einer oder mehreren steckbaren Komponenten zugeordnet
sind, vor der Verteilung ermöglicht.
Die Eigenschaften können
als Voreinstellungs- bzw. Standardwerte von den steckbaren Komponenten
verwendet werden, wenn sie in einen eingebetteten Server installiert
werden. Die Standardwerte der Eigenschaften, auf die von der steckbaren Komponente
zur Laufzeit zugegriffen wird, können
als Präferenzen
der steckbaren Komponente bezeichnet werden. Es sind diese Präferenzen,
welche die BCU einem Benutzer zu konfigurieren erlaubt. Ausführungsformen
einer BCU können
verschiedene Funktionen vorsehen einschließlich, jedoch nicht beschränkt auf:
Liefern einer Liste von Eigenschaften und ihrer Werte; Ermöglichen,
daß der
einem Eigenschaftsnamen zugeordnete Wert geändert wird; Aktualisieren der
Konfigurationsinformation in der Quelle der steckbaren Komponente;
Erzeugen einer neuen steckbaren Komponente mit einem neuen Satz
von Konfigurationsinformation; und Zurücksetzen der Konfigurationsinformation
in der steckbaren Komponente auf Standardwerte.
-
Nach einer Ausführungsform kann eine BCU mit
bevorzugten Objekten operieren, die innerhalb der steckbaren Komponente,
die zu konfigurieren ist, angesiedelt sind. Nach einer Ausführungsform
können
die bevorzugten Objekte in einer Präferenzdatei liegen, die ihrerseits
in der steckbaren Komponente angesiedelt sein kann. Individuelle
Präferenzen
können
einen (aktuellen) Wert, eine Klasse oder einen Typ und einen Standardwert
haben. Beim Konfigurieren der steckbaren Komponente können die
Präferenzen
mit Anfangswerfen versehen und/oder modifiziert werden, bevor sie
an die eingebetteten Server ausgeliefert werden. Nach einer Ausführungsform
kann das Konfigurieren in einem Stapel- bzw. Batchmodus erledigt
werden, wobei verschiedene steckbare Komponenten während der
Ausführung
eines Batchjobs oder einer Batchdatei konfiguriert werden. Dadurch
kann eine BCU das Konfigurieren mehrerer steckbarer Komponenten
im Wesentlichen gleichzeitig vor der Auslieferung ermöglichen.
Nach der Auslieferung kann bzw. können die steckbare(n) Komponente(n) über eingebaute
Logik verfügen,
die dafür
eingerichtet ist, die Präferenzwerte
zu lesen und Eigenschaften des Komponentenkontextes und/oder der
Dienste, die von der steckbaren Komponente geliefert werden, gemäß den Präferenzen
bereitzustellen. Daher kann die Notwendigkeit einer manuellen Konfiguration
einer steckbaren Komponente nach der Auslieferung beseitigt werden.
-
Nach einer Ausführungsform kann ein Benutzer
oder können
Benutzer eines Konfigurationssystems (d. h. eines Systems, das eine
BCU beinhaltet) zuerst eine oder mehrere steckbare Komponenten erzeugen und/oder
kompilieren. Alternativ können
die steckbaren Komponenten von einem anderen System oder Speichergerät bzw. -einrichtung
empfangen worden sein. Nach einer Ausführungsform können die
steckbaren Komponenten mit Präferenzwerten,
welche Standardwerte als Anfangswerte haben, erstellt werden. Der
Benutzer kann dann die BCU verwenden, um Präferenzwerte für eine oder
mehrere der steckbaren Komponenten zu setzen und/oder zu ändern. Nach
einer Ausführungsform
kann ein Benutzer die BCU aufrufen, um Präferenzen von einer oder mehreren
steckbaren Komponenten anzuzeigen, einen oder mehrere Werte der
angezeigten Präferenzen
zu ändern
und die geänderten
steckbaren Komponenten mit den geänderten Präferenzen zu sichern. Nach einer
Ausführungsform
können
steckbare Komponenten Bündel
bzw. Gebinde wie JAR-Dateien
sein, die Präferenz(en)dateien
zum Speichern von Präferenzwerten
der steckbaren Komponenten beinhalten können. Nach einer Ausführungsform
kann jede steckbare Komponente ein Manifest enthalten (z. B. eine
Manifestdatei in der JAR-Datei), die von der BCU verwendet werden
kann, eine oder mehrere Präferenz(en)dateien
in der steckbaren Komponente zu lokalisieren.
-
Nach einer Ausführungsform kann ein Benutzer
auf steckbare Komponenten über
eine grafische Benutzeroberfläche
(Graphical User Interface, GUI) zugreifen, die von der BCU zur Verfügung gestellt
wird. Nach einer Ausführungsform
kann die BCU eine Kommandozeilenoberfläche zur Verfügung stellen,
um es dem Benutzer zu ermöglichen,
Kommandos zum Zugriff auf und zum Ändern von steckbaren Komponenten
einzugeben. Zum Beispiel kann das Konfigurationssystem ein Betriebssystem
(z. B. Unix, DOS, etc.) beinhalten, das eine Kommandozeilenoberfläche zur
Verfügung
stellt, und die BCU-Kommandos können
auf dem Konfigurationssystem über
die zur Verfügung
gestellte Kommandozeilenoberfläche
eingegeben und ausgeführt
werden. Nach einer Ausführungsform
kann ein Benutzer eine Batchdatei erstellen, die ein oder mehrere
Kommandos zum Zugriff auf und zum Ändern von einer oder mehreren
steckbaren Komponenten enthält,
und die Batchdatei kann auf der Kommandozeilenoberfläche aufgerufen
und von der BCU ausgeführt
werden, um die steckbaren Komponenten, die durch die Kommandos in
der Batchdatei angegeben sind, zu konfigurieren. Somit können mehrere
steckbare Komponenten durch die BCU im Batchmodus durch das Ausführen einer
zuvor erstellten Batchdatei geändert
werden. Nach der Erstellung, Kompilierung und Konfiguration können die
steckbaren Komponenten auf ein oder mehrere Systeme mit eingebetteten
Servern verteilt werden. Auf die steckbaren Komponenten kann dann
auf den eingebetteten Servern zugegriffen werden, um einen oder
mehrere Dienste auf den eingebetteten Serversystemen zur Verfügung zu
stellen.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine Darstellung eines herkömmlichen
eingebetteten Servers, in dem verschiedene eingebettete Dienste
installiert sind;
-
2 ist
ein Beispiel eines herkömmlichen
Wohngebäude-Gatewaysystems
mit eingebettetem Server;
-
3 veranschaulicht
ein beispielhaftes Konfigurations- und Verteilungssystem für steckbare
Komponenten gemäß einer
Ausführungsform;
-
4 zeigt
ein beispielhaftes Fenster einer grafischen Benutzeroberfläche (Graphical
User Interface, GUI) für
ein Bündelkonfigurationsdienstprogramm
(Bundle Configuration Utility, BCU) gemäß einer Ausführungsform;
-
5 zeigt
ein weiteres beispielhaftes GUI-Fenster für eine BCU gemäß einer
Ausführungsform;
-
6 zeigt
ein "Bündel"-Menü einer BCU
gemäß einer
Ausführungsform;
-
7 zeigt
ein Bearbeitungs-Menü einer
BCU gemäß einer
Ausführungsform;
-
8 ist
ein Flußdiagramm
eines Verfahrens zum Konfigurieren von steckbaren Komponenten unter Verwendung
einer GUI zu einer BCU gemäß einer
Ausführungsform;
-
9 ist
ein Flußdiagramm
eines Verfahrens zum Konfigurieren von steckbaren Komponenten unter Verwendung
einer Kommandozeilenoberfläche
zu einer BCU gemäß einer
Ausführungsform;
-
10 ist
ein Flußdiagramm
eines Verfahrens zum Konfigurieren von steckbaren Komponenten gemäß einer
Ausführungsform
unter Verwendung einer Batchdatei, die BCU-Kommandos enthält und von
einer Kommandozeilenoberfläche
aus ausgeführt
wird.
-
Bezugszahlen für Gegenstände in den Figuren können in
mehr als einer Figur wiederholt werden, um Gegenstände zu bezeichnen,
die in den Figuren im Wesentlichen gleich sind.
-
Während
bei der Erfindung verschiedene Modifikationen und alternative Gestaltungen
möglich
sind, werden spezifische Ausführungsformen
davon als Beispiel in den Zeichnungen dargestellt und hier genauer beschrieben.
Es versteht sich jedoch, daß die
Zeichnungen und detaillierten Beschreibungen dazu nicht dafür gedacht
sind, die Erfindung auf die bestimmte, offenbarte Ausgestaltung
einzuschränken,
sondern die Erfindung soll im Gegenteil alle Modifikationen, Äquivalenzen
und Alternativen abdecken, die in den Anwendungs- bzw. Schutzbereich
der vorliegenden Erfindung, wie in den angefügten Ansprüchen definiert, fallen.
-
DETAILLIERTE
BESCHREIBUNG VERSCHIEDENER AUSFÜHRUNGSFORMEN
-
Es werden Ausführungsformen eines Bündelkonfigurierungsdienstprogramms
(Bundle Configuration Utility, BCU) zum Konfigurieren von über ein
Netzwerk auslieferbaren, steckbaren Komponenten zum Einsatz in eingebetteten
Servern beschrieben. Eine BCU ist ein Dienstprogramm, das die Änderung
(Konfigurierung) eines Satzes von Eigenschaften ermöglicht,
die einer steckbaren Komponente zugeordnet sind. Die Eigenschaften
können
von der steckbaren Komponente als Standardwerte verwendet werden,
wenn sie in einem eingebetteten Server installiert ist. Der steckbaren
Komponente zugeordnete Eigenschaften werden in diesem Dokument Präferenzen
genannt, um sie von den Eigenschaften des Komponentenkontextes und/oder
der Dienste, die es zur Laufzeit gibt, zu unterscheiden.
-
Nach einer Ausführungsform kann eine BCU auf
Konfigurationsinformation (z. B. Präferenzen) operieren, die innerhalb
der steckbaren Komponente, die zu konfigurieren ist, angesiedelt
sind. Nach einer Ausführungsform
kann die Konfigurationsinformation in einer Konfigurationsdatei
(auch als Präferenz(en)datei
bezeichnet) liegen. Nach einer Ausführungsform kann die Konfigurationsinformation
in einer standardmäßigen java.lang.Properties-Datei
enthalten sein. Individuelle Präferenzen
können
einen Wert, eine Klasse und einen Standardwert haben. Beim Konfigurieren
der steckbaren Komponente kann die Konfigurationsinformation vor der
Auslieferung mit Anfangswerten versehen und/oder modifiziert werden.
Nach einer Ausführungsform
kann das Konfigurieren in einem Batchmodus erfolgen, wobei verschiedene
steckbare Komponenten während
der Ausführung
einer Batchdatei konfiguriert werden. Dadurch kann eine BCU das
Konfigurieren mehrerer steckbarer Komponenten im Wesentlichen gleichzeitig
ermöglichen.
Nach der Auslieferung kann die steckbare Komponente über eine
eingebaute Logik verfügen,
die dafür
eingerichtet ist, die Konfigurationsinformation zu lesen und Eigenschaften
des Komponentenkontextes und/oder der Dienste, die von der steckbaren
Komponente bereitgestellt werden, gemäß der Konfigurationsinformation
bereitzustellen. Somit kann die Notwendigkeit einer manuellen Konfiguration
einer steckbaren Komponente nach der Auslieferung beseitigt werden.
-
3 veranschaulicht
ein beispielhaftes Konfigurations- und Verteilungssystem für steckbare
Komponenten in Übereinstimmung
mit einer Ausführungsform.
Nach dieser Ausführungsform
kann das System mindestens ein Konfigurationssystem 202 und ein
oder mehrere eingebettete Serversysteme 212 beinhalten. In diesem
Beispiel können
zwei eingebettete Serversysteme, 212A und 212B, mit dem Konfigurationssystem
202 über
ein Netzwerk 200 verbunden werden. Das Konfigurationssystem 202
ist vorzugsweise ein Computersystem und kann verschiedene Standardkomponenten
enthalten einschließlich
eines oder mehrerer Prozessoren oder CPUs, eines Speichermediums,
eines oder mehrerer Busse, eines oder mehrerer Netzwerkanschlüsse zum
Verbinden mit und Kommunizieren über
Netzwerke wie das Netzwerk 200, etc. Die eingebetteten Serversysteme
212A und 212B können
irgendeine von verschiedenen Arten von Einrichtungen sein, einschließlich eines
Computersystems, einer Internetvorrichtung, einer Informationsvorrichtung,
eines persönlichen,
digitalen Assistenten (Personal Digital Assistant, PDA), eines Fernsehgerätes (z.
B. eines digitalen Fersehgerätes), einer
Set-Top-Box oder eines Kabelmodems, einer Gatewayeinrichtung, Haushaltsgeräte (z. B.
Kühlschränke, Mikrowellengeräte, etc.)
mit eingebetteten Systemen oder anderer, ähnlicher Einrichtungen. Jedes
der eingebetteten Serversysteme 212A und 212B kann Standardcomputerkomponenten
wie einen Prozessor oder eine CPU, ein Speichermedium und/oder eine
Anzeige, einen oder mehrere Netzwerkanschlüsse zum Verbinden mit und Kommunizieren über Netzwerke
wie das Netzwerk 200, etc. beinhalten. Das Netzwerk 200 kann ein beliebiges
von verschiedenen Typen oder Kombinationen aus lokalem Netzwerk
und/oder Weitverkehrsnetzwerk sein, einschließlich des Internets.
-
Der Begriff "Computersystem" kann in dem hier verwendeten Sinn im
allgemeinen die Hardware- und Softwarekomponenten beschreiben, die
in Kombination die Ausführung
von Computer programmen ermöglichen.
Die Computerprogramme können
in Software, in Hardware oder einer Kombination von Software und Hardware
implementiert sein. Die Hardware eines Computersystems umfaßt im allgemeinen
einen Prozessor, ein Speichermedium und Eingabe/Ausgabe- (Input/output,
I/O) Geräte
bzw. Einrichtungen. Ein Computersystem kann verschiedene Formen
annehmen einschließlich
eines Personal-Computersystems, eines Großrechnersystems, eines Arbeitsplatzrechners
bzw. einer Workstation, einer Netzwerkvorrichtung, einer Internetvorrichtung,
einer Informationsvorrichtung, eines persönlichen, digitalen Assistenten
(Personal Digital Assistant, PDA), eines Fernsehsystems, eines Haushaltgerätes mit
eingebettetem System oder eines anderen Gerätes bzw. einer anderen Einrichtung.
Im allgemeinen kann der Begriff "Computersystem" umfassend definiert
werden, um jede beliebige Einrichtung mit einem Prozessor, der Befehle
bzw. Anweisungen von einem Speichermedium ausführt, zu umfassen.
-
Im hier verwendeten Sinn beschreibt
der Begriff "Prozessor" die logischen Schaltkreise,
die auf die Basisbefehle, die ein Computersystem betreiben, reagieren
und diese verarbeiten. Der Begriff "Speichermedium" umfaßt verschiedene Arten von Speicher
einschließlich
eines Installationsmediums, z. B. einer CD-ROM oder Disketten; eines
flüchtigen
Computersystemspeichers wie DRAM, SRAM, EDO RAM, Rambus RAM, DDR SDRAM,
etc.; oder eines nicht-flüchtigen
Speichers wie eines optischen Speichers oder eines magnetisches Mediums,
z. B. einer Festplatte. Der Begriff "Speicher" wird hier synonym zu "Speichermedium" verwendet. Das Speichermedium
kann andere Arten von Speicher oder Kombinationen davon umfassen.
Darüber
hinaus kann das Speichermedium in einem ersten Computer liegen,
in dem die Programme ausgeführt
werden, oder kann in einem zweiten Computer liegen, der mit dem
ersten Computer über
ein Netzwerk verbunden ist. Im letzteren Fall liefert der zweite
Computer die Programmbefehle an den ersten Computer zur Ausführung.
-
Das Speichermedium, das in dem Konfigurationssystem
202 enthalten ist, speichert vorzugsweise ein Softwareprogramm oder
-programme, um das Konfigurationssystem 202 in die Lage zu versetzen,
die Präferenzen
von steckbaren Komponenten 208 zu setzen und/oder zu verändern und
die steckbaren Komponenten 208 an die eingebetteten Serversysteme
212A und 212B auszuliefern bzw. zu verteilen. Nach einer Ausführungsform
kann das Konfigurationssystem 202 auch ein Softwareprogramm oder
-programme zum Erstellen und/oder Kompilieren von steckbaren Komponenten
208 vor dem Einstellen und/oder Ändern
der Präferenzen der
steckbaren Komponenten 208 speichern. Das in den eingebetteten Serversystemen
212A und 212B enthaltene Speichermedium kann Software enthalten,
um die Systeme 212A und 212B in die Lage zu versetzen, steckbare
Komponenten 208 auszuführen
und somit Dienste 210 auf den Systemen 212A und 212B bereitzustellen.
Nach einer Ausführungsform
können
die eingebetteten Serversysteme 212A und 212B eingebettete Server
zum Ausführen
von steckbaren Komponenten 208 beinhalten. Nach einer Ausführungsform
können
die eingebetteten Server Java Embedded Server (JES) sein. Das bzw.
die Softwareprogramme) kann bzw. können in irgendeiner von verschiedenen
Weisen implementiert sein einschließlich prozedurbasierter Techniken,
komponentenbasierter Techniken und/oder objektorientierter Techniken,
unter anderen. Zum Beispiel kann das Softwareprogramm unter Verwendung
von ActiveX-Steuerelementen, C++-Objekten, Java, JavaBeans, Microsoft
Foundation Classes (MFC) oder anderen Technologien oder Methodologien
je nach Wunsch implementiert werden. Eine CPU, die Code und Daten
von einem Speichermedium ausführt,
beinhaltet einen Mechanismus bzw. ein Hilfsmittel zum Erstellen
und Ausführen
des Softwareprogramms oder der -programme entsprechend den Verfahren,
Flußdiagrammen
und/oder Blockdiagrammen, die nachfolgend beschrieben sind.
-
In 3 kann
ein Benutzer des Konfigurationssystems 202 zuerst eine oder mehrere
steckbare Komponenten 208 erstellen und/oder kompilieren. Alternativ
können
die steckbaren Komponenten auf dem Konfigurationssystem 202 von
einem anderen System oder einer Speichereinrichtung empfangen worden
sein. Zum Beispiel können
die steckbaren Komponenten auf einem oder mehreren anderen Systemen
erstellt und/oder kompiliert und (z. B. über das Netzwerk 200) an das
Konfigurationssystem 202 ausgeliefert worden sein. Nach einer Ausführungsform
können
die steckbaren Komponenten mit Präferenzwerten, deren Anfangswerte
auf Standardwerte eingestellt sind, erstellt werden.
-
Das Konfigurationssystem 202 kann
ein Bündelkonfigurierungsdienstprogramm
(BCU) 206 umfassen, das verwendet werden kann, um Präferenzwerte
in den steckbaren Komponenten 208A und 208B einzustellen und/oder
zu ändern.
Nach einer Ausführungsform
kann ein Benutzer des Konfigurationssystems 202 die BCU 206 ausführen, um
die Präferenzen
von einer oder mehreren steckbaren Komponenten 208 anzuzeigen, einen oder
mehrere Werte der angezeigten Präferenzen
zu ändern
und die geänderten
steckbaren Komponenten zu sichern. Nach einer Ausführungsform
können
die steckbaren Komponenten 208 Bündel
wie JAR-Dateien sein und Präferenz(en)dateien
zum Speichern der Präferenzwerte
für die
steckbaren Komponenten 208 enthalten. Nach einer Ausführungsform
kann jede steckbare Komponente ein Manifest (z. B. eine Manifestdatei
in der JAR-Datei)
enthalten, das von der BCU 206 verwendet werden kann, um eine oder
mehrere Präferenz(en)dateien
in der steckbaren Komponente 208 zu lokalisieren.
-
Nach einer Ausführungsform kann ein Benutzer
auf die steckbaren Komponenten 208 über eine grafische Benutzeroberfläche (Graphical
User Interface, GUI) zugreifen, die von der BCU 206 zur Verfügung gestellt
wird. Nach einer Ausführungsform
kann die BCU 206 eine Kommandozeilenoberfläche bereitstellen, um es dem
Benutzer zu ermöglichen,
Kommandos zum Zugriff auf und zum Ändern von steckbaren Komponenten 208
einzugeben. Zum Beispiel kann das Konfigurationssystem 202 ein Betriebssystem
(z. B. Unix, DOS. etc.) enthalten, das eine Kommandozeilenoberfläche zur
Verfügung
stellt, und die BCU-Kommandos können
auf dem Konfigurationssystem 202 über die bereitgestellte Kommandozeilenoberfläche eingegeben
und ausgeführt
werden. Nach einer Ausführungsform
kann ein Benutzer eine Batchdatei erstellen, die ein oder mehrere Kommandos
zum Zugriff auf und zum Ändern
von einer oder mehreren steckbaren Komponenten 208 enthält, und
die Batchdatei kann auf der Kommandozeilenoberfläche aufgerufen und von der
BCU 206 ausgeführt
werden, um die steckbaren Komponenten 208, die durch die Kommandos
in der Batchdatei angegeben sind, zu ändern. Somit können mehrere
steckbare Komponenten durch die BCU 206 im Batchmodus durch das
Ausführen
einer zuvor erstellten Batchdatei geändert werden. Batchdateien
können
gespeichert werden (z. B. auf dem Konfigurationssystem 202), und
es kann später
auf sie zugegriffen werden und sie können geändert und/oder ausgeführt werden,
um auf dieselbe Menge oder eine andere Menge von steckbaren Komponenten zuzugreifen
und sie zu ändern.
-
Nach der Erstellung, Kompilierung
und Konfiguration durch die BCU 206 können die steckbaren Komponenten
208 an ein oder mehrere Systeme mit eingebetteten Serversystemen
212 verteilt werden. Nach einer Ausführungsform können Kommandos,
die auf einer Kommandozeilenoberfläche eingegeben werden, dazu verwendet
werden, eine oder mehrere steckbare Komponenten 208 an ein oder
mehrere eingebettete Serversysteme 212 zu verteilen. Nach einer
Ausführungsform
kann eine Batchdatei mit einem oder mehreren Kommandos zum Verteilen
von steckbaren Komponenten 208 erstellt werden. Ein Kommando zum
Verteilen von einer oder mehreren steckbaren Komponenten 208 an
ein oder mehrere eingebettete Senrersysteme 212 kann Information
zum Identifizieren (z. B. Name, Verzeichnispfad, etc.) für die steckbare(n)
Komponente(n) 208, die zu verteilen ist bzw. sind, und Information
zum Lokalisieren (z. B. Netzwerkadresse, URL, etc.) von einem oder
mehreren eingebetteten Serversystemen 212 enthalten. Nach einer
Ausführungsform
kann eine grafische Benutzeroberfläche zum Verteilen von steckbaren
Komponenten 208 zur Verfügung
gestellt werden. Nach anderen Ausführungsform können andere
Verfahren zum Verteilen von steckbaren Komponenten 208 verwendet
werden. Zum Beispiel kann nach einer Ausführungsform eine steckbare Komponente
208 auf ein tragbares, magnetisches Medium (z. B. eine Diskette,
eine Zip-Platte, eine CD-ROM oder ein anderes beliebig verfügbares Medium)
kopiert und physikalisch an das bzw. die eingebettete(n) Serversystem(e)
212 verteilt werden.
-
In dem in 3 dargestellten Beispiel ist die steckbare
Komponente 208A an die eingebetteten Serversysteme 212A und 212B
geliefert worden, während
die steckbare Komponente 208B an das eingebettete Serversystem 212A
geliefert worden ist. Auf die steckbaren Komponenten kann zugegriffen
werden, um einen oder mehrere Dienste 210 auf den eingebetteten
Serversystemen 212 zur Verfügung
zu stellen. In diesem Beispiel können
Teile der steckbaren Komponente 208A ausgeführt werden, um den Dienst 210A
auf den eingebetteten Serversystemen 212A und 212B zur Verfügung zu
stellen. Ein erster Teil der steckbaren Komponente 208B kann auf
dem eingebetteten Serversystem 212A ausgeführt werden, um den Dienst 210B
zur Verfügung zu
stellen, und ein zweiter Teil der steckbaren Komponente 208B kann
auf dem eingebetteten Serversystem 212A ausgeführt werden, um den Dienst 210C
zur Verfügung
zu stellen.
-
Ausführungsformen einer BCU 206
können
verschiedene Funktionen zur Verfügung
zu stellen, einschließlich,
jedoch nicht beschränkt
auf:
- – Bereitstellen
einer Liste von Eigenschaften und ihrer Werte.
- Ermöglichen,
daß der
einem Eigenschaftsnamen zugeordnete Wert geändert/editiert wird.
- – Aktualisieren
der Konfigurationsinformation in der Quelle der steckbaren Komponente 208.
- – Erstellen
einer neuen, steckbaren Komponente 208 mit einem neuen Satz von
Konfigurationsinformation darin.
- – Zurücksetzen
der Konfigurationsinformation in der steckbaren Komponente 208 auf
die ab Werk eingestellten Standardwerte.
-
Wie erwähnt operiert eine BCU nach
einer Ausführungsform
auf einer Präferenz(en)datei
(z. B. einer standardmäßigen java.lang.Properties-Datei),
die innerhalb der zu konfigurierenden, stecbaren Komponente 208
liegt. Nach einer Ausführungsform
kann eine Präferenz(en)datei
zur Entwicklungszeit erstellt werden und Einträge für jede konfigurierbare Präferenz enthalten.
Nach einer Ausführungsform
kann die Information, welche die BCU 206 anweist, wo die Präferenz(en)datei
in der steckbaren Komponente 208 zu finden ist, in der steckbaren
Komponente enthalten sein. Nach einer Ausführungsform kann diese Information
in einer Manifestdatei der steckbaren Komponente enthalten sein.
Nach einer Ausführungsform
kann die BCU 206 in dem Fall, daß es keine Präferenz(en)datei
oder keinen Manifesteintrag für
die Präferenz(en)datei
gibt, nicht in der Lage sein, die steckbare Komponente zu lokalisieren
und zu ändern,
und sie kann einen Fehler melden oder auf andere Weise das Problem
anzeigen. Nach einer Ausführungsform
kann ein Eintrag in der Manifestdatei ähnlich zum folgenden, beispielhaften
Eintrag sein:
-
BundlePreferences: some/directory/foo.properties
-
Nach einer Ausführungsform kann der Eintrag
einen Pfad enthalten, der sich auf eine Datei innerhalb der steckbaren
Komponente 208 relativ zu einer Wurzel der steckbaren Komponente
bezieht, anstatt eine allgemeine URL zu einer Ressource zu sein.
-
Nach einer Ausführungsform kann die BCU 206
es einem Benutzer ermöglichen,
die Werte für
irgendeine der enthaltenen Präferenzen
zu ändern,
aber nicht das Erstellen oder Löschen
von Präferenzen
in der Präferenz(en)datei
erlauben. Nach einer Ausführungsform
können
Präferenzen
nur zur Entwicklungszeit erstellt oder gelöscht werden. Individuelle Präferenzen
können
einen Wert, eine Klasse und einen Standardwert haben. Nach einer
Ausführungsform
kann es die BCU 206 einem Benutzer erlauben, nur den Wert einer Präferenz zu ändern. Nach
einer Ausführungsform
werden eingegebene Präferenzwerte
durch die BCU 206 validiert, z. B. durch Typüberprüfung.
-
Nach einer Ausführungsform können alle
Präferenzen
in einer Präferenz(en)datei
vor der Installation (z. B. während
der Kompilierung) als Ausgangswerte Standardwerte erhalten und vor
der Installation, wenn gewünscht,
auf andere Werte durch Verwendung der BCU 206 geändert werden. Somit können ansonsten identische
steckbare Komponenten für
die Verwendung in verschiedenen Ausführungsumgebungen durch Ändern der
Präferenzwerte
konfiguriert werden. Nach einer Ausfüh rungsform sind Eigenschaften,
auf die Nutzer der steckbaren Komponente 208 nach der Installation
nicht zugreifen können
sollen, nicht in der Präferenz(en)datei
enthalten. Nach einer Ausführungsform
kann eine steckbare Komponente 208 in einem eingebetteten Serversystem
212 installiert werden, ohne mit einer BCU 206 konfiguriert zu werden.
Zum Beispiel kann eine steckbare Komponente 208 in einem eingebetteten
Serversystem 212 mit Standardwerten, wie während der Kompilierung zugewiesen,
auf einem eingebetteten Serversystem 212 installiert werden, das
keine Anpassung der Präferenzwerte
benötigt.
-
Nach einer Ausführungsform kann beim Installieren
einer steckbaren Komponente 208 in einem eingebetteten Serversystem
212 eine interessierte Partei (z. B. ein Aktivierungs-Wizard, eine
Konfigurierungs-Bean oder ein Service) die Präferenz(en)datei in der steckbaren
Komponente 208 lokalisieren (z. B. durch das Manifest) und alle
Werte, die von Interesse sind, extrahieren. Nach einer Ausführungsform
kann es einer interessierten Partei nicht erlaubt sein, die Präferenzwerte
in einer steckbaren Komponente 208 zu ändern, nachdem die steckbare
Komponente 208 in einem eingebetteten Serversystem 212 installiert
ist. Nach einer weiteren Ausführungsform
kann es einer interessierten Partei erlaubt sein, zumindest einige
der Präferenzwerte
in einer steckbaren Komponente 208 zu ändern, nachdem die steckbare
Komponente 208 in einem eingebetteten Serversystem 212 installiert
ist. Nach einer Ausführungsform
kann eine steckbare Komponente 208 bezogen auf den ändernden
Zugriff auf die Präferenzwerte
in der Komponente nach der Installation in einem eingebetteten Serversystem
212 anpaßbar
sein, wodurch der Grad von ändernden
Zugriffen (z. B. keine Präferenzen
dürfen
geändert
werden, einige Präferenzen
können
geändert
werden, alle Präferenzen
können
geändert
werden, etc.) abhängig
von den Bedürfnissen
der Installation variiert werden kann.
-
Nach einer Ausführungsform können die
Aktionen der BCU 206 so eingeschränkt werden, daß es einem
Benutzer nicht erlaubt ist, Aktionen auf einer Präferenz(en)datei
und/oder einer steckbaren Komponente 208 durchzuführen, die
eine steckbare Komponente 208"ungültig" machen können wie
zum Beispiel das Entfernen benötigter
Dateien. Nach einer Ausführungsform
kann es einem Benutzer der BCU 206 möglich sein, einen Wert anzugeben,
der außerhalb
des Gültigkeitsbereichs
liegt oder in der Präferenz(en)datei
anderweitig ungültig
ist. In solchen Fällen
kann der Abnehmer bzw. Bedarfsträger
der Datei nach der Installation die Standardwerte für die Eigenschaft
verwenden und einen Fehler melden.
-
Nach einer Ausführungsform kann die Präferenz(en)datei
in einem Format vorliegen, das durch die Java-Klasse java.lang.Properties
geliefert wird. Nach einer Ausführungsform
kann es für
jede Präferenz
in der Datei bis zu drei Eigenschaften der angegebenen bzw. spezifizierten
Präferenz
geben: den aktuellen Wert, die Klasse der Präferenz und einen Standardwert.
Für die
beispielhafte Präferenz "myPref' sind dies Beispiele
von allen drei Eigenschaften der Präferenz:
-
-
-
Regeln für Präferenzen in Präferenz(en)dateien
können
umfassen, sind jedoch nicht beschränkt auf das Folgende:
-
Auslassungen bzw. Weglassungen:
-
Wenn die Eigenschaft "aktueller Wert" weggelassen wird,
kann der Standardwert verwendet werden.
-
Wenn die Klasse weggelassen wird,
kann eine Standardklasse (z. B. java.lang.String) unterstellt bzw. vorausgesetzt
werden.
-
Wenn der Standardwert weggelassen
wird, können
0, false, '''',
NULL oder ein anderer Wert verwendet werden, wie es für den Typ
der Präferenz
passend ist.
-
Klassennamen sollten vollständig qualifiziert
werden.
-
Namen von Präferenzen sollten kein ''.''-Zeichen enthalten.
-
Namen von Präferenzen dürfen nicht mit ".class" oder ".default" enden, um Vorwärtskompatibilität sicherzustellen.
-
Die BCU braucht Kommentare und die
Reihenfolge der Eigenschaften in der Datei nicht beizubehalten.
-
Die GUI kann überprüfen, daß alle Werte und Standardwerte
akzeptabel (gültig)
sind, wenn sie eine steckbare Komponente öffnet.
-
Die GUI braucht nur diejenigen Präferenzen
zu validieren, die sie zu lesen oder zu modifizieren beauftragt
ist.
-
Fehler:
-
Wenn die Klasse keine aus einer zulässigen Menge
von Klassen ist, kann die BCU einen Fehler melden. Zum Beispiel
sind die Folgenden Beispiele von Klassen, die in einer Java-Implementierung
zugelassen werden können:
-
-
-
Wenn der Wert nicht auf einen Wert
der Klasse gebracht werden kann, dann kann ein Fehler gemeldet werden.
-
Ausführungsformen einer BCU 206
können
eine Kommandozeilenoberfläche,
eine grafische Benutzeroberfläche
(Graphical User Interface, GUI) oder beide Formen von Oberflächen bzw,
Schnittstellen im selben ausführbaren
Modul bzw. Programm enthalten. Eine Ausführungsform einer BCU 206 kann
es ermöglichen,
mehrere steckbare Komponenten 208 im Wesentlichen gleichzeitig zu
konfigurieren. Eine Ausführungsform
einer BCU 206 kann standardmäßige Editiermöglichkeiten
wie Copy/Paste und Undo/Redo bereitstellen. Nach einer Ausführungsform
können
mehrere steckbare Komponenten unter Verwendung von Skripten (Batchdateien),
welche BCU-Kommandos in der Kommandozeile aufrufen, konfiguriert
werden. Nach dem Konfigurieren einer steckbaren Komponente 208 unter
Verwendung der BCU 206 kann sie für den Einsatz als eine steckbare
Einheit auf dem Netzwerk bereit sein, zum Beispiel auf einem eingebetteten
Server, auf dem die Dienste, die von der steckbaren Komponente 208
zur Verfügung
gestellt werden, aus der neuen Präfrenz(en)datei lesen und Ausgangswerte
setzen können.
-
4 veranschaulicht
ein GUI-Fenster 300A für
eine BCU 206 in Übereinstimmung
mit einer Ausführungsform.
Das Fenster 300 in 4 zeigt
eine beispielhafte Liste von Präferenzen
für eine
steckbare Komponente an. Die Liste von Präferenzen enthält einen
Namen 304 für
jede Eigenschaft der steckbaren Komponente 208 in den Präferenzen
und einen entsprechenden Präferenzwert 306 für jede Eigenschaft 304.
Das GUI-Fenster 300A kann auch ein oder mehrere Menüs 302 enthalten,
um auf verschiedene Funktionen der BCU 206 zuzugreifen. Nach einer
Ausführungsform
kann die BCU 206 mehrere GUI-Fenster 300 unterstützen, die
zur selben Zeit geöffnet
sind, wobei jedes einen Satz von Präferenzen für eine andere steckbare Komponente
208 anzeigt. Nach einer Ausführungsform
kann die BCU 206 durch das Schließen aller aktuell geöffneter GUI-Fenster 300 beendet
werden. Nach einer Ausführungsform
können
die Namensfelder 304 in der BCU 206 nicht selektiert oder
editiert werden. Individuelle Präferenzwerte
können
in "Zellen" angezeigt werden.
Nach einer Ausführungsform
können
die vertikalen Pfeiltasten auf der Tastatur, die Return-Taste und
die Shift-Return-Tastenkombination den (Eingabe-)Fokus vertikal
auf die nächste
oder vorige Zelle verschieben. Nach einer Ausführungsform kann eine Cursorsteuervorrichtung
wie eine Maus verwendet werden, um eine Zelle zu selektieren. Nach
einer Ausführungsform
kann die Tab-Taste den Tastaturfokus zu einer nächsten Komponente übertragen.
-
Nach einer Ausführungsform haben alle Felder
(d. h. Zellen) mindestens zwei sichtbare Zustände. Ein erster sichtbarer
Zustand liegt dann vor, wenn es keinen Tastaturfokus in einer Zelle
gibt, der zweite, wenn der Fokus in der Zelle ist. Nach einer Ausführungsform
können
Text- und Zahlenfelder es einem Benutzer erlauben, einen Textbereich
zu selektieren. Somit kann, wenn der Tastaturfokus in die Zelle übertragen
wird (unter Verwendung der Pfeil- oder Eingabetasten oder alternativ
einer Cursorsteuervorrichtung wie einer Maus), der Inhalt anfänglich vollständig selektiert
sein. Nach einer Ausführungsform
können
horizontale Pfeiltasten verwendet werden, um die Plazierung der
Eingabestelle und die Selektion in den Textfeldern zu beeinflussen. Nach
einer Ausfürungsform
kann ein Bool'sches
Feld (wie eine Checkbox bzw. ein Markierungsfeld) mit einer Tastaturaktion
hin- und hergeschaltet werden. Zum Beispiel kann nach einer Ausführungsform
die Leertaste verwendet werden, um den Zustand eines Bool'schen Feldes hin-
und herzuschalten. Nach einer Ausführungsform kann das Eintippen
eines ungültigen
Zeichens in einem Feld, das eine Eingabevalidierung durchführt, keinen
aktuell selektierten Text beeinflussen.
-
5 veranschaulicht
ein GUI-Fenster 300B für
eine BCU 206 in Übereinstimmung
mit einer Ausführungsform.
In dem GUI-Fenster 300B enthält die Liste von Präferenzen
mehr Eigenschaften, und nicht alle sind innerhalb der physikalischen
Grenzen des Fensters 300B anzeigbar. Das Fenster 300B enthält einen
Rollbalken bzw. Scrollbar 308, um auf Eigenschaften und
ihre zugeordneten Werte zuzugreifen, die aktuell im Fenster 300B nicht
sichtbar sind.
-
6 veranschaulicht
ein "Bündel"-Menü 310,
auf das in der BCU 206 in Übereinstimmung mit einer Ausführungsform
zugegriffen werden kann. Das Menü 310 kann
ein oder mehrere Menükommandos
wie Kommandos zum Öffnen,
Schließen
und Sichern von Präferenzen
steckbarer Komponenten 208 enthalten. Ein "Öffnen"-Kommando kann verwendet
werden, um eine erste steckbare Komponente zu öffnen und ihre Präferenzen
in einem GUI-Fenster 300 wie denjenigen, die in den 4 und 4 abgebildet sind, anzuzeigen. Nach einer
Ausführungsform
kann das Auswählen
des "Öffnen"-Menükommandos
dazu führen,
daß ein "Öffnen"-Dialog angezeigt wird, in dem Null
oder mehrere steckbare Komponenten 208 aufgelistet sein können. Der
Benutzer kann dann eine oder mehrere der steckbaren Komponenten
208, die geöffnet
werden sollen, auswählen.
Wenn die Präferenzen
einer steckbaren Komponente bereits in einem GUI-Fenster 300 angezeigt
werden, kann das "Öffnen"-Kommando verwendet
werden, um eine oder mehrere zusätzliche
steckbare Komponenten 208 zu öffnen
und ihre Präferenzen
in zusätzlichen
GUI-Fenstern 300 anzuzeigen, wobei die Präferenzen
für eine
steckbare Komponente 208 in jeweils einem GUI-Fenster 300 angezeigt
werden. Nach einer Ausführungsform
können
steckbare Komponenten 208, die aktuell in der BCU 206 geöffnet sind,
von einem "Öffnen"-Dialog, der als
Reaktion auf das "Öffnen"-Menükommando
angezeigt wird, ausgeschlossen werden. Nach einer weiteren Ausführungsform
kann das Auswählen
eines bereits geöffneten
Bündels
in dem "Öffnen"-Dialog dessen GUI-Fenster 300 nach
vorn bringen.
-
Das "Schließen"-Kommando von Menü 310 kann verwendet
werden, um ein aktuell geöffnetes GUI-Fenster 300 zu
schließen.
Nach einer Ausführungsform
kann die BCU 206, wenn das Fenster Präferenzen für eine steckbare Komponente
208 anzeigt und wenn irgendeine der Präferenzen geändert wurden, den Benutzer
auffordern, die Änderungen
zu sichern, die Änderungen
zurückzunehmen
und/oder den Schließvorgang
abzubrechen. Das "Sichern"-Kommando von Menü 310 kann
verwendet werden, um jedwede in dem GUI-Fenster 300 angezeigte
Präferenz
für eine
steckbare Komponente 208 zu sichern, die geändert wurde, seitdem die steckbare
Komponente 208 zuletzt geöffnet
oder gesichert wurde. Das "Sichern-als"-Kommando von Menü 310 kann
verwendet werden, um die aktuell geöffnete steckbare Komponente
208, die in dem GUI-Fenster 300 angezeigt wird, in eine
neue steckbare Komponente 208 zu sichern, und kann es dem Benutzer
ermöglichen,
einen neuen Namen für
die neue steckbare Komponente 208 einzugeben. Nach einer Ausführungsform
kann das "Sichern-als"-Kommando dazu führen, daß ein "Sichern-als"-Dialog angezeigt wird,
in dem der Benutzer einen neuen Namen und/oder eine neue Stelle
für die
steckbare Komponente 208 eingeben kann. Alle Änderungen an den Präferenzen,
die in dem GUI-Fenster 300 vorgenommen wurden, können in
der neuen steckbaren Komponente 208 gesichert werden. Das "Werkseinstellungen-Verwenden"-Kommando von Menü 310 kann
verwendet werden, um alle Präferenzen
in der aktuell geöffneten
steckbaren Komponente 208 auf ihre Standardwerte zurückzusetzen.
Nach einer Ausführungsform
kann eine steckbare Komponente 208 zwei Werte für jede Eigenschaft vorhalten:
einen aktuellen Wert und einen Standardwert (Wert ab Werk). Der
Benutzer kann das "Ende"-Kommando von Menü 310 wählen, um
alle aktuell geöffneten GUI-Fenster 300 zu
schließen
und die BCU 206 zu beenden. Nach einer Ausführungsform kann der Benutzer in
dem Fall, daß es
ungesicherte Änderungen
gibt, aufgefordert werden, die Änderungen
vor dem Beenden der BCU 206 zu sichern oder die Schließoperation
abzubrechen.
-
Nach einer Ausführungsform können die "Öffnen"-, "Schließen"-, "Sichern"- und "Sichernals"-Kommandos darauf
beschränkt
werden, mit Dateien eines bestimmten Typs oder bestimmter Typen
zu arbeiten. Nach einer Ausführungsform
sind steckbare Komponenten Java ARchive (JAR) Dateien, und die Kommandos können darauf
beschränkt
werden, mit JAR-Dateien zu arbeiten. Nach einer Ausführungsform
können JAR-Dateien
durch eine ".jar"-Dateierweiterung
identifiziert werden.
-
7 veranschaulicht
ein Editier-Menü 312,
auf das von der BCU 206 in Übereinstimmung
mit einer Ausführungsform
zugegriffen werden kann. Das Editier-Menü 312 kann verschiedene
Menü-Kommandos
enthalten, die beim Editieren von Präferenzwerten, die aktuell in
einem GUI-Fenster 300 angezeigt werden, verwendet werden
können
wie "Rückgängig-Machen"- bzw. "Undo"- und "Erneut-Ausführen"- bzw. "Redo"-Kommandos zum Rückgängig-Machen
einer vorangegangenen Editieraktion bzw. zum Erneut-Ausführen einer
zuvor rückgängig gemachten
bzw. ausgeführten
Editieraktion. Das Editier-Menü 312 kann
auch "Ausschneiden"-, "Kopieren"- und "Einfügen"-Kommandos enthalten,
mit denen die Zwischenablage zum Ausschneiden, Kopieren und Einfügen von
Teilen der angezeigten Präferenzwerte
verwendet werden kann. Das Editier-Menü 312 kann auch ein "Alles-Selektieren"-Kommando zum Selektieren
aller aktuell aktiven Präferenzwerte
enthalten oder alternativ zum Selektieren aller Präferenzwerte
in der aktuell geöffneten
steckbaren Komponente 208.
-
Nach einer Ausführungsform macht das "Undo"-Kommando die letzte Änderung
an den Präferenzwerten
im Fenster 300 rückgängig. Nach
einer Ausführungsform
wird das Rückgängig-Machen auf einer "Feldniveau"-Granularität durchgeführt, das
heißt,
es macht nicht individuelle Tastenbetätigungen rückgängig, sondern es macht statt
dessen Änderungen
an dem zuletzt geänderten
Feld rückgängig. Nach
einer Ausführungsform
gibt das Rückgängig-Machen
für den
Fall, daß der
Benutzer begonnen hat, einen Wert zu ändern, die Version des Wertes
vor der Änderung
zurück.
Nach einer Ausführungsform
wird der Inhalt des zuvor besuchten Feldes rückgängig gemacht, wenn der Benutzer
den Fokus zu einem anderen Feld umschaltet und dann Rückgängig-Machen
bzw. Undo wählt.
Nach einer Ausführungsform
können
die Rückgängig-Machen-Operationen (und
die entsprechenden Redos bzw. Erneut-Ausführen-Operationen) den Eingabepunkt
bzw. die Eingabestelle (d. h. den Fokus) zu der Position bewegen,
an der er bzw. sie war, bevor die letzte Aktion vorgenommen wurde.
Nach einer Ausführungsform
kann Rückgängig-Machen über das
letzte Sichern hinweg bis zum Beginn der aktuellen Sitzung durchgeführt werden.
-
Eine Ausführungsform einer BCU 206 kann
auch "Hilfe"- und "Über"- bzw. "About"-Menüs
enthalten.
-
Kommandozeilenoberfläche
-
Einige Ausführungsformen einer BCU 206
können
auch eine Kommandozeilenoberfläche
enthalten, die verwendet werden kann, um Kommandos zum Durchzuführen verschiedener
Aktionen der BCU 206 einzugeben und auszuführen. Nach einer Ausführungsform
kann ein Konfigurationssystem, auf dem sich die BCU 206 befindet,
ein Kommandozeilenfenster (z. B. Unix, DOS, etc.) zur Verfügung stellen,
in dem die BCU-Kommandos eingegeben und ausgeführt werden können. Nach
einer Ausführungsform
kann die Kommandozeilenoberfläche
der BCU 206 verwendet werden, um verschiedene Aktionen einschließlich der
folgenden, jedoch nicht beschränkt
auf diese, durchzuführen:
- – Auflisten
der Eigenschaften spezifischer Bündel
- – Aktualisieren
von Werten der Eigenschaften eines Bündels
- – Aktualisieren
von Werten von Eigenschaften und Erstellen einer neuen Version des
Bündels,
das die aktualisierten Eigenschaftswerte enthält
- – Ablaufen
lassen der grafischen Benutzeroberfläche der BCU
-
Das Folgende sind Beispiele von Formaten
und Inhalten für
Kommandozeilenoberflächen-Kommandos in Übereinstimmung
mit einer Ausführungsform.
Die Formatierung dieser Kommandos dient exemplarischen Zwecken und
ist nicht gedacht, einschränkend
zu sein. Andere Kommandoformate, Kommandonamen, etc. können in
anderen Ausführungsformen
verwendet werden.
-
-
-
help
-
Das help-Kommando kann Hilfe-Information
anzeigen, die beschreibt, wie ein Kommandozeilen-Kommando der BCU
zu verwenden ist. Wenn kein Kommando angegeben wird, kann eine Kommandozeilen-Übersicht
bzw. -Zusammenfassung und eine vollständige Beschreibung aller Kommandooptionen
und Unterkommandos angezeigt werden. Wenn ein Unterkommando angegeben
wird, gibt es nur Information für
dieses Unterkommando aus. Zum Beispiel:
-
-
list <bundle-file>...
-
Listet die Eigenschaften und ihre
Werte in dem angegebenen Bündel
(d. h. der steckbaren Komponente) auf. Es kann eine mehrspaltige "Tabelle" zur Standardausgabe
(standard out) ausgeben. Nach einer Ausführungsform können die
Breiten der Spalten angepaßt
werden, um den breitesten Wert darin aufzunehmen mit Leerzeichen
als Spaltentrennzeichen. Nach einer Ausführungsform können die
Werte aufsteigend nach dem Präferenznamen
sortiert werden. Das Folgende ist ein Beipiel der Verwendung des
list-Kommandos in Übereinstimmung
mit einer Ausführungsform:
-
-
Ändert
den Wert der angegebenen Eigenschaft in dem angegebenen Bündel. Wenn "--output" enthalten ist, kann
das überarbeitete
Bündel
in die Ausgabedatei geschrieben werden und das ursprüngliche
Bündel bleibt
unverändert.
Nach einer Ausführungsform
ist die --properties-Option ein Sammeloption (Collection Option)
und folgt den standardmäßigen Regeln
für Sammeloptionen.
Nach einer Ausführungsform
kann das update-Kommando den Regeln für Schlüssel:Wert-Paare (Key:Value
Pairs) folgen. Nach einer Ausführungsform kann
das Bündel
nicht geändert
werden, wenn ein oder mehrere der Präferenznamen in dem Bündel nicht
existieren oder der angegebenen Wert nicht in den deklarierten Typ
umgewandelt werden kann, und es kann ein von Null verschiedener
Statuscode zurückgeliefert
werden. Nach einer Ausführungsform
wird das ursprüngliche
Bündel
aktualisiert, wenn die --output-Option nicht angegeben wird. Wenn
sie jedoch angegeben wird, dann kann das Argument als ein Pfadname
behandelt werden und eine aktualisierte Version des Quellbündels dorthin
geschrieben werden. Das folgende Beispielkommando ändert die
Werte der "accessTime"- und der "accessSpeed"-Eigenschaften in
der steckbaren Komponente "myBundle":
-
-
usegui <bundle-file>...
-
Startet die grafische Oberfläche für die BCU
206, wobei optional eine oder mehrere Bündeldateien angegeben werden,
welche die BCU 206 in ihren eigenen Fenstern 300 in der
GUI der BCU 206 öffnet.
Nach einer Ausführungsform
wird ein Statuscode von 0 zurückgeliefert,
wenn die Syntax der Kommandozeile korrekt ist (das heißt, Fehler,
die in der GUI auftreten, werden nicht in der Kommandozeilen-Shell
widergespiegelt).
-
Fehlermeldung
-
Die folgende Tabelle listet die Fehlercodes
auf, welche die BCU 206 entweder in der Kommandozeilenoberfläche oder
in der GUI melden kann. Es ist zu beachten, daß einige Codes für mehrere
Fehlerbedingungen verwendet werden können. Die Codes werden nur
für Beispielzwecke
verwendet und sollen keine Beschränkung sein. Die Fehlercodes
können
enthalten, sind jedoch nicht beschränkt auf:
-
-
-
Die 8–10 sind Flußdiagramme,
die verschiedene Ausführungsformen
von Verfahren zum Konfigurieren steckbarer Komponenten 208 unter
Verwendung einer BCU 206 veranschaulichen. 8 veranschaulicht ein Verfahren zum Konfigurieren
steckbarer Komponenten unter Verwendung einer grafischen Benutzeroberfläche (Graphical
User Interface, GUI) zu einer BCU 206 in Übereinstimmung mit einer Ausführungsform. 9 veranschaulicht ein Verfahren
zum Konfigurieren steckbarer Komponenten unter Verwendung einer
Kommandozeilenoberfläche
zu einer BCU in Übereinstimmung
mit einer Ausführungsform. 10 veranschaulicht ein Verfahren
zum Konfigurieren steckbarer Komponenten unter Verwendung einer
Batchdatei, die BCU-Kommandos enthält und von einer Kommandozeile
ausgeführt
wird. Verschiedene Ausführungsformen
einer BCU 206 können
ein oder mehrere dieser Verfahren zur Verfügung stellen.
-
In 8 kann
ein Benutzer eine steckbare Komponente 208 selektieren, die aus
der GUI der BCU 206 heraus konfiguriert werden soll, wie bei Schritt
400 angegeben. Nach einer Ausführungsform
kann die GUI von der Kommandozeile unter Verwendung eines BCU-Kommandos
(z. B. "usegui" wie oben beschrieben)
aufgerufen worden sein. Nach einer Ausführungsform kann der Benutzer
die steckbare Komponente 208, die in der GUI zu konfigurieren ist,
in der Kommandozeile, die die BCU 206 aufruft, angeben. Nach einer
Ausführungsform
kann der Benutzer ein "Öffnen"-Menü-Kommando
auswählen,
um einen Datei-Öffnen-Dialog
aus dem GUI-Fenster anzuzeigen, und kann die zu konfigurierende,
steckbare Komponente 208 aus dem Datei-Öffnen-Dialog selektieren.
-
Die BCU 206 kann die editierbaren
Präferenzen
der in Schritt 400 ausgewählten
steckbaren Komponente 208 in einem GUI-Fenster 300 anzeigen, wie
in Schritt 402 angegeben. Nach einer Ausführungsform können die
Präferenzen
im Wesentlichen in ähnlicher
Weise wie in den Beispiel-GUI-Fenstern 300A und 300B, wie
in den 4 bzw. 5 dargestellt, angezeigt
werden. Der Benutzer kann dann einen oder mehrere Präferenzwerte,
die in dem GUI-Fenster angezeigt werden, ändern oder austauschen, wie
in Schritt 404 angegeben. Nach einer Ausführungsform kann der Benutzer
Verfahren zum Editieren der Präferenzwerte ähnlich denen verwenden,
die in der vorstehenden 4 beschrieben
sind. In Schritt 406 kann der Benutzer dann die geänderten
Präferenzen
in der steckbaren Komponente 208 speichern. Nach einer Ausführungsform
kann der Benutzer eine oder mehrere Menüfunktionen zum Speichern der
geänderten
Präferenzen
in der aktuell geöffnete steckbaren
Komponente 208 oder zum Speichern der geänderten Präferenzen in einerneue steckbare
Komponente 208 wählen.
Nach einer Ausführungsform
kann der Benutzer ein Menükommando
verwenden, um eine Kopie der ursprünglichen steckbaren Komponente
zu erstellen, wobei die neu konfigurierten Präferenzwerte in der neuen steckbaren
Komponente 208 gesichert bzw. gesepeichert werden. Nach einer Ausführungsform
kann der Benutzer das aktuell geöffnete
GUI-Fenster 300 schließen (z.
B. unter Verwendung eines Menükommandos
oder der Schließbox
in dem Fenster) und kann aufgefordert werden, die geänderten
Präferenzwerte
in der steckbaren Komponente 208 zu speichern. In Schritt 408 aktualisiert
die BCU den einen oder die mehreren geänderten Präferenzwerte in der steckbaren
Komponente 208 als Reaktion auf das Speichern bzw. Sichern, das
vom Benutzer in Schritt 406 eingeleitet wurde.
-
Wenn gewünscht kann der Benutzer die
Schritte 400–408
für eine
oder mehrere steckbare Komponenten 208 wie in Schritt 410 angegeben
wiederholen. Somit kann der Benutzer die GUI verwenden, um eine Mehrzahl
von steckbaren Komponenten 208 vor dem Verteilen der Komponenten
an eingebettete Serversysteme 212 zu konfigurieren. In Schritt 412
kann bzw. können
die konfigurierte(n) steckbare(n) Komponente(n) 208 an ein oder
mehrere eingebettete Serversysteme 212 ausgeliefert werden. Nach
einer Ausführungsform können die
steckbaren Komponenten 208 an die eingebetteten Serversysteme 212
aus dem Konfigurationssystem 202 über ein Netzwerk (z. B. das
Internet) ausgeliefert werden.
-
In 9 kann
ein Benutzer ein BCU-Kommando wie oben beschrieben in eine Kommandozeilenoberfläche einer
BCU auf einem Konfigurationssystem für steckbare Komponenten eingeben
und dabei eine oder mehrere steckbaren Komponenten 208 und eine
oder mehrere Änderungen
an Präferenzwerten
der steckbaren Komponenten 208 angeben, wie bei Schritt 420 angegeben.
Das eingegebene BCU-Kommando wird ausgeführt, wobei die angegebenen
Präferenzen
in den angegebenen steckbaren Komponenten 208 aktualisiert werden,
wie bei Schritt 422 angegeben.
-
Wenn gewünscht, kann der Benutzer die
Schritte 420–422
für eine
oder mehrere steckbaren Komponenten 208 wiederholen, wie bei Schritt
424 angegeben. Somit kann der Benutzer die Kommandozeilenoberfläche verwenden,
um eine Mehrzahl von steckbaren Komponenten 208 vor dem Verteilen
der Komponenten an eingebettete Serversysteme 212 zu konfigurieren.
In Schritt 426 kann bzw. können
die konfigurierte(n) steckbare(n) Komponente(n) 208 an ein oder
mehrere eingebettete Serversysteme 212 ausgeliefert werden. Nach
einer Ausführungsform
können
die steckbaren Kom ponenten 208 an die eingebetteten Serversysteme 212
aus dem Konfigurationssystem 202 über ein Netzwerk (z. B. das
Internet) ausgeliefert werden.
-
In 10 kann
ein Benutzer eine zuvor vorhandene Batchdatei erstellen und/oder öffnen, wie
bei Schritt 430 angegeben. In Schritt 432 kann der Benutzer ein
oder mehrere BCU-Kommandos in der Batchdatei eingeben, wie oben
beschrieben, wobei jedes Kommando eine oder mehrere steckbaren Komponenten
und eine oder mehren Änderungen
an den Präferenzwerten
der angegebenen steckbaren Komponenten 208 angibt. Die Batchdatei
kann dann von der Kommandozeilenoberfläche des Konfigurationssystems
für steckbare Komponenten
aus ausgeführt
werden, wie bei Schritt 434 angegeben. Die Ausführung des einen oder der mehreren
Kommandos in der Batchdatei durch die BCU kann die angegebenen Präferenzen
in den angegebenen steckbaren Komponenten aktualisieren, wie bei
Schritt 436 angegeben.
-
Wenn gewünscht, kann der Benutzer die
Schritte 430–434
für eine
oder mehrere Batchdateien wiederholen, wie bei Schritt 438 angegeben.
Somit kann der Benutzer Batchdateien verwenden, um eine Mehrzahl
von steckbaren Komponenten 208 vor dem Verteilen der Komponenten
an eingebettete Serversysteme 212 zu konfigurieren. In Schritt 440
kann bzw. können
die konfigurierte(n) steckbare(n) Komponente(n) 208 an ein oder
mehrere eingebettete Serversysteme 212 ausgeliefert werden. Nach
einer Ausführungsform
können die
steckbaren Komponenten 208 an die eingebetteten Serversysteme 212
aus dem Konfigurationssystem 202 über ein Netzwerk (z. B. das
Internet) ausgeliefert werden.
-
Verschiedene Ausführungsformen können ferner
das Empfangen, Senden oder Speichern von Befehlen und/oder Daten
umfassen, die in Übereinstimmung
mit der vorstehenden Beschreibung auf einem Trägermedium implementiert sind.
Allgemein gesprochen kann ein Trägemedium
sowohl Festspeichermedien oder Arbeitsspeichermedien wie magnetische
oder optische Medien, z. B. Platte oder CD-ROM, flüchtige oder nicht-flüchtige Medien
wie RAM (z. B. SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc. als
auch Übertragungsmedien
oder Signale wie elektrische, elektromagnetische oder digitale Signale
umfassen, die über
ein Kommunikationsmedium wie ein Netzwerk und/oder eine kabellose
Verbindung transportiert werden.