-
Diese
Erfindung bezieht sich auf Konfigurations-Managementsysteme und
insbesondere auf den Einsatz solcher Systeme für dasc Liefern von Anwendungen
für die
Fernkonfiguration von Mobilvorrichtungen.
-
Computer
sind ein fester Bestandteil des Arbeitsplatzes geworden. In vielen
Organisationen verwendet nahezu jeder Mitarbeiter zumindest einen
Computer. Als Folge betreiben und verwalten große Unternehmen üblicherweise
ein sehr große
Zahl von Computern. Für
solche Unternehmen ist es wichtig, Verwaltungsaufgaben so weit wie
möglich
zu automatisieren.
-
Glücklicherweise
sind auch lokale Netzwerke (local area networks – LANs) und Weitverkehrsnetze
(wide area networks – WANs)
inzwischen verbreitet, was den verschiedenen Computern einer Organisation
ermöglicht,
Nutzen aus zentral bereitgestellten Computerdiensten wie zum Beispiel
Benutzerauthentifizierung, gemeinsamem Dateizugriff, E-Mail und verschiedenen
anderen Arten von Diensten zu ziehen.
-
Konfigurations-Managementsysteme
stellen eine Art von Dienst dar, der in einer vernetzten Umgebung
effektiv genutzt werden kann, um die Wartung und die Verwaltung
verschiedener ungleichartiger Computer in einer Organisation zu
automatisieren. Ein solcher Dienst stellt Werkzeuge für zentrale
Softwarebereitstellung, Anlagen-Management und Fehlerbehebung für entfernte
Systeme mit Bezug auf Bürocomputer,
Server und Serveranwendungen bereit. Der „Systems Management Server" der Microsoft Corporation
ist ein Beispiel eines zu diesem Zweck entwickelten Systems.
-
1 stellt
ein vereinfachtes Beispiel eines Computersystems 10 dar,
in das automatisiertes Konfigurations-Management implementiert ist.
Ein solches System umfasst einen Management-Server 12 und
eine Vielzahl von Clientcomputern 14. Die Clients 14 können miteinander
und mit dem Management-Server 12 über ein lokales Netzwerk oder
ein Weitverkehrsnetz 16 kommunizieren.
-
Obwohl
er in 1 als eine einzige Vorrichtung dargestellt wird,
könnte
der Management-Server 12 eine Vielzahl von einzelnen Computern
oder Servern umfassen, die sich nahe beieinander befinden können oder
die sich an verschiedenen unterschiedlichen Orten befinden können.
-
Moderne
Betriebssysteme und Anwendungssoftware stellen häufig clientseitige Unterstützung für automatisiertes
Konfigurations-Management von Computern bereit, auf denen sich die
Betriebssysteme und die Anwendungssoftware befinden. Zum Beispiel
verwaltet die Betriebssystemfamilie Microsoft Windows XP® detaillierte
Inventare sowohl von Hardware- als auch von Softwarekomponenten
in einer Datenbank, die programmatische Abfragen und Datenabgleich
sowohl von Komponenten in dem Computer selbst als auch von anderen
Computern ermöglichen.
In der Windows®-Umgebung
ist diese Funktion als Windows-Verwaltungsinstrumentation (Windows
Management Instrumentation) oder WMI bekannt. Änderungs- und Konfigurations-Managementsoftware
kann WMI-Informationen verwenden, um Inventare von einzelnen Computern
zu beziehen und auszuwerten, ob die Konfiguration eines Computers
aktualisiert oder geändert
werden sollte.
-
Über Betriebssystemunterstützung hinaus
werden einzelne Clientcomputer 14 üblicherweise mit Spezialsoftware
konfiguriert, um automatisiertes Konfigurations-Management zu unterstützen. Solche
Software ist normalerweise als Teil der Implementierung eines automatisierten
Konfigurations-Managementsystems eines bestimmten Anbieters konzipiert,
zum Beispiel als Teil des Produkts Microsoft® Systems
Management Server. Die Spezialsoftware arbeitet mit dem Betriebssystem
des Clientcomputers zusammen und führt so verschiedene Funktionen
zusammen mit dem Management-Server 12 aus. Folglich umfasst
das Gesamtrahmenwerk eines automatisierten Konfigurations-Managementsystems
sowohl Serverkomponenten als auch Clientkomponenten.
-
2 stellt
vereinfachte logische Komponenten des Konfigurations-Management-Rahmenwerks dar, das
durch das Produkt Microsoft® Systems Management Server
implementiert wird, einschließlich
Komponenten des Servers 12 und im Client 14 implementierten
Komponenten. Die dargestellten Komponenten stehen mit den Inventar-
und Softwareverteilungsfunktionen des Rahmenwerks in Zusammenhang.
-
Der
Management-Server 12 verfügt über eine Serverinventar- und
Ermittlungskomponente 20, die mit einer Clientinventar-
und Ermittlungskomponente 22, die sich auf dem Client 14 befindet,
zusammenarbeitet. Die Clientinventar- und Ermittlungskomponente 22 sammelt
Identifizierungsinformationen und Hardware- und Softwareinventare
des Clientcomputers 14, stellt diese Informationen zu Datenstrukturen
zusammen und stellt diese Informationen der Serverinventar- und
Ermittlungskomponente 20 des Servers 12 zur Verfügung. Die Identifizierungsinformationen
werden als Datenstrukturen, die als Ermittlungsdaten-Datensatz (Discovery
Data Record) oder DDRs bezeichnet werden, zusammengestellt und gemeldet.
Der Management-Server speichert diese Informationen in einer Datenbank,
um Anlagen-Managementfunktionen zu erleichtern. Im Client 14 wird ein
großer
Teil der Informationen unter Verwendung der WMI-Funktionalität des Betriebssystems
Windows XP® erfasst.
Kommunikationsvorgänge
zwischen dem Server 12 und dem Client 14 verwenden
vorgegebene proprietäre
Protokolle der jeweiligen Implementierung des automatisierten Konfigurations-Managementsystems.
-
Clientcomputer
sammeln und melden unter Umständen
mehr als 200 Eigenschaften einschließlich Einzelheiten wie zum
Beispiel:
- • Anzahl
der Plattenlaufwerke
- • Prozessortyp
- • Speicherkapazität
- • Betriebssystem
- • Bildschirm-
und Anzeigeeinstellungen
- • Computername
und IP-Adresse
- • Informationen über angeschlossene
Peripheriegeräte
- • Netzwerktyp
- • BIOS-Informationen
-
Darüber hinaus
meldet jeder Clientcomputer eine Liste aller auf dem Client installierten
Softwareanwendungen einschließlich
Hersteller- und Versionsangaben.
-
Der
Management-Server 12 umfasst einen Richtlinienpusher 24,
der Richtlinien, die auch als Ankündigung bezeichnet werden,
an verwaltete Computer wie zum Beispiel den Client 14 überträgt oder
automatisch verteilt. Richtlinien geben Softwarepakete an, die für den Download
und die Installation verfügbar
sind, und umfassen darüber
hinaus Informationen, die angeben, welche Clienttypen die angegebenen
Softwarepakete herunterladen und installieren sollten. Ein Softwarepaket
ist eine Zusammenstellung von Dateien zusammen mit Befehlen für das Herunterladen
und Installieren der Dateien.
-
Der
Client 14 verfügt über einen
Richtlinienauswerter 26, der die Richtlinien vom Server 12 empfängt und
diese Richtlinien auswertet, um festzustellen, welche an den Client 14 gerichtet
sind. Wenn der Richtlinienauswerter 26 feststellt, dass
eine Richtlinie an den Client 14 gerichtet ist, übergibt
der Richtlinienauswerter diese Information an eine Anwendungsinstallationskomponente 28 auf
dem Client 14. Die Installationskomponente 28 prüft die Richtlinieninformationen
und bestimmt, wie das zugehörige
Softwarepaket heruntergeladen werden soll. Sie stellt daraufhin
eine Verbindung zu einem mit dem Server 12 verknüpften Verteilungspunkt 29 her
und lädt
das Softwarepaket herunter. Nach dem Herunterladen des Pakets installiert
die Anwendungsinstallationskomponente 28 das Softwarepaket
gemäß den in
dem heruntergeladenen Softwarepaket enthaltenen Informationen.
-
Bestehende
automatisierte Konfigurations-Managementsysteme wie zum Beispiel
Microsoft® System Management
Server arbeiten gut in der in 1 dargestellten
herkömmlichen
vernetzten Umgebung, in der verwaltete Computer Büro- oder
andere Computer umfassen, die im Wesentlichen dauerhaft über eine
Netzwerkverbindung mit hoher Bandbreite an den Management-Server
angeschlossen sind. Es existiert jedoch eine zunehmende Entwicklung,
nach der einzelne Mitarbeiter in einer Organisation tragbare Computervorrichtungen
verwenden, die nicht dauerhaft in einer Verbindung mit hoher Bandbreite
mit einem Management-Server stehen, sondern die üblicherweise gelegentlich oder
zeitweise mit dem Management-Server über im Allgemeinen langsame
und häufig
unzuverlässige
Kommunikationspfade verbunden sind.
-
Zusätzlich weisen
solche tragbaren oder mobilen Computervorrichtungen üblicherweise
eine beschränktere
Funktionalität
als herkömmliche
Bürocomputer
auf. Insbesondere nimmt die starke Verbreitung von als persönliche digitale
Assistenten (personal digital assistants – PDAs) und Taschenpersonalcomputer (pocket
personal computers – PPCs)
bekannten Handgeräten
zu, und ihre Benutzer schließen
solche Vorrichtungen häufig
für Aufgaben
wie zum Beispiel das Anzeigen von E-Mails oder das Synchronisieren
von Kontaktlisten an Firmennetzwerke an. Eine Netzwerkverbindung
kann durch einen verknüpften
Bürocomputer
oder durch eine unabhängige
Netzwerkverbindung einschließlich
drahtloser und/oder entfernter Zugriffseinrichtungen hergestellt
werden.
-
Obwohl
viele Organisationen für
Handgeräte
wie zum Beispiel PDAs keine offizielle technische Unterstützung bereitstellen,
empfangen ihre Help Desks eine zunehmende Zahl von Unterstützungsanforderungen zu
diesen Vorrichtungen. Solche Anforderungen beziehen sich häufig auf
das Konfigurieren der Handgeräte und
auf das Beziehen neuer Aktualisierungen für Anwendungen, die auf den
Vorrichtungen installiert sind.
-
Es
gibt zahlreiche Umgebungen, in denen eine grolle Zahl von Computern
oder computerähnlichen Vorrichtungen
eingesetzt wird, die keine vollständige Desktop-Funktionalität (d. h.
begrenzte Speicher- und/oder Verarbeitungsressourcen) aufweist.
Automatisierungscontroller in Fabriken, elektronische Kassenterminals,
Zapfsäulen
usw. sind Beispiele für
gebräuchliche
Vorrichtungen, die häufig
vernetzt sind, aber nicht die vollständige Funktionalität und die
gesamten Ressourcen eines herkömmlichen
Bürocomputers
besitzen. Microsoft® Corporation hat eine
Spezialversion ihres Betriebssystems Windows® für solche
Vorrichtungen mit begrenzten Ressourcen entwickelt, die als das
Betriebssystem Windows CE® bekannt ist.
-
In
der Vergangenheit konnten zeitweise verbundene Mobilvorrichtungen
und solche mit begrenzten Ressourcen wie zum Beispiel PDAs und die übrigen oben
erwähnten
Beispiele nicht an automatisiertem Konfigurations-Management teilnehmen.
Eines der größten Hindernisse
für die
unternehmensweite Einführung von
Mobilvorrichtungen und entsprechender Technologie ist der Mangel
an Management-Optionen für
das Konfigurieren solcher Vorrichtungen. Vorhandene Konfigurations-Optionen
für Mobilvorrichtungen
sind im Wesentlichen in Bezug auf Unterstützungskosten, auf ein erhebliches
Ausmaß an
Benutzereingriffen, die üblicherweise
zum Implementieren solcher Management-Optionen erforderlich sind, und auf
unerwünschte
Sicherheitsgefahren (z. B. einen Man-In-The-Middle-Angriff (MITM-Angriff))
beschränkt.
-
Eine
bestehende Lösung
erfordert zum Beispiel, dass eine Mobilvorrichtung an einen Bürocomputer „angedockt" wird, der eine Konfigurationsanwendung
zum Platzieren von Dateien und Einstellungen auf der angedockten
Vorrichtung ausführt.
Eine angedockte Vorrichtung wird üblicherweise in einer Halterung
platziert oder anderweitig an ihren Hostrechner angeschlossen. Eine
weitere bekannte Technik erfordert, dass ein Benutzer über die
Mobilvorrichtung durch ein Unternehmensnetzwerk oder das Internet
navigiert, um eine Download-Site zu finden, und auf einen Hyperlink
für einen
Dateidownload tippt. Der Benutzer wird aufgefordert, den gewünschten
Speicherort auf der Vorrichtung anzugeben, und kann mit dem Installieren
der Anwendung fortfahren. Noch ein weiteres bestehendes Konfigurationsverfahren
zum Konfigurieren von Mobilvorrichtungen ist das Verteilen von Anwendungen
und/oder Daten auf eine Compact-Flash-Speicherkarte (CF- Speicherkarte), die
in die Vorrichtung eingesteckt werden kann. Die CF-Karte startet
möglicherweise
sogar automatisch ein Installationsskript.
-
Jedes
dieser Verfahren hat ihre besonderen Vorteile, aber alle erfordern
umfangreiche Benutzereingriffe, und sie bieten keine einfache Lösung, um
eine Vorrichtung, die zeitweise angeschlossen ist (z. B. an ein Firmennetzwerk)
im Laufe der Zeit auf dem neuesten Stand zu halten. Sie bieten eher
nur die Gelegenheit zu einmaliger Konfiguration. Noch weiter erschwert
wird diese Situation dadurch, dass Mobilvorrichtungen häufig über im Wesentlichen
langsame Kommunikationskanäle
(z. B. < 9.600
Baud) angeschlossen werden, was dazu führt, dass alle Anwendungen
und Datenaktualisierungen eine im Wesentlichen lange Zeit für die Durchführung benötigen.
-
Mit
Bezug auf unerwünschte
Sicherheitsgefahren (z. B. einen MITM-Angriff) ist zu berücksichtigen, dass
herkömmliche
Konfigurationstechnologie für
Mobilvorrichtungen üblicherweise
eine Mobilvorrichtung oder ein entferntes Gerät (d. h. eine Vorrichtung,
die nicht durch eine Firmen-Firewall geschützt wird) nicht vor Sicherheitsverstößen schützt, bei
denen ein böswilliger
Benutzer Daten, die in einem Netzwerk übertragen werden, abfängt und
möglicherweise ändert. Dies
bedeutet, dass Datenaustausch zwischen einem Client und einem bestimmten
Hostserver gefährdet
werden kann, wenn eine weitere Computervorrichtung sowohl dem Client
als auch dem Server vortäuscht,
dass sie direkt miteinander kommunizieren, während tatsächlich ein Angreifer den gesamten
Netzwerkverkehr zwischen den beiden Einheiten abfängt.
-
WO-02/44.892 legt ein Verfahren
und ein System zum Verwalten und Verteilen von drahtlosen Anwendungen
offen. Der Systemadministrator kann einem Teilnehmer eine Benachrichtigung
senden, dass für
eine der bereits von dem Teilnehmer heruntergeladenen Anwendungen
eine aktuelle Version verfügbar
ist. Darüber hinaus
können
sich die Systemadministratoren entschließen, Download-Anwendungen über das
drahtlose Netzwerk zu aktivieren oder zu deaktivieren. Es kann erzwungen
werden, dass instrumentierte Anwendungen beim Hostserver prüfen, ob
eine neue Version der Anwendung verfügbar ist, und sie können den
Teilnehmer auffordern zu bestimmen, ob die neue Version der Anwendung
heruntergeladen werden soll. Die Systemadministratoren widerrufen
oder beschränken
das Recht eines Teilnehmers zum Ausführen einer Anwendung. Ein Teilnehmer
kann außerdem
die Personalisierungswebsite
803 verwenden, um Kontodaten
und einen Verlauf von Downloadvorgängen oder Kontobewegungen zu
beziehen und zu ändern. Über die
Personalisierungswebsite
803 können die Systemadministrato ren
Teilnehmer von der Verfügbarkeit
von aktualisierten oder neuen Anwendungen benachrichtigen.
-
US-2002/019.237-A1
(USKELA SAMI) vom 14. Februar 2002 legt ein Konzept zum Verwalten
von Dienstkomponenten von mobilen Endgeräten offen, bei dem nach einer
ersten Ausführungsform
das Netzwerk eine Komponentenliste A von dem mobilen Endgerät empfängt und
des Weiteren eine Komponentenliste B von dem Heimatregister HLR
(home location register) empfängt,
die Komponenten enthält,
die von dem mobilen Endgerät
benötigt
werden. Danach werden beiden Listen verglichen, und es wird eine
Ladeliste erstellt, die die fehlenden Dienste und Komponenten umfasst,
und an das mobile Endgerät
gesendet. Vor dem Senden der Komponentenliste A an das Netzwerk
sendet das mobile Endgerät
einen Zeitstempel A an das Endgerät. Das Endgerät entscheidet,
ob der Zeitstempel nicht mehr aktuell ist, indem es ihn mit einem
aktuellen Zeitstempel B von dem Dienstanbieter vergleicht. Wenn
der Zeitstempel A nicht die neueste Version ist, wird das mobile Endgerät aufgefordert,
die Komponentenliste A an das Netzwerk zu senden. Nach einer zweiten
Ausführungsform
empfängt
das mobile Endgerät
die Komponentenliste B und vergleicht sie mit seiner eigenen Komponentenliste
A, um die fehlenden Komponenten anzufordern.
-
US-A-6.049.671 (MICROSOFT
CORPORATION) vom 11. April 2000 legt ein Verfahren zum Identifizieren
und Beziehen von Computersoftware von einem Netzwerkcomputer offen,
wobei ein Inventar der Computersoftware auf dem Benutzercomputer
an einen Aktualisierungsdienst gesendet wird, das mit einem Datenbankeintrag
verglichen wird, und wobei Informationen über verfügbare Computerdienste zurück an den
Computer gesendet werden.
-
Es
ist das Ziel der vorliegenden Erfindung, ein Verfahren und entsprechende
computerlesbare Medien und ein entsprechendes computerlesbares Systemmanagement-Rahmenwerk zum Ausführen von
Konfigurations-Management von durch den Benutzer auswählbaren
Downloads und Installationen auf einer Mobilvorrichtung bereitzustellen,
die insbesondere den Prozess des Anforderns und des Bereitstellens
von verfügbaren und
durch den Benutzer ausgewählten
Daten für
die Mobilvorrichtung verbessern.
-
Dieses
Ziel wird durch den Inhalt der Hauptansprüche erreicht.
-
Bevorzugte
Ausführungsformen
werden in den Unteransprüchen
definiert.
-
Es
wird ein Systemmanagement-Rahmenwerk für Anwendungslieferung und Konfigurations-Management
von Mobilvorrichtungen beschrieben. Das Rahmenwerk umfasst einen
Management-Server und eine Mobil-Computervorrichtung. Der Management-Server
wird so konfiguriert, dass er Download-Befehle um Zweck des Konfigurations-Managements von Mobil-Computervorrichtungen überträgt. Die
Mobil-Computervorrichtung
wird so konfiguriert, dass sie mit dem Management-Server über eine
nicht dauerhafte Verbindung in Verbindung tritt. Die Mobil-Computervorrichtung
fordert Download-Befehle von dem Management-Server an, um alle Angebote,
die möglicherweise
zum Download und zur Installation durch die Mobil-Computervorrichtung
verfügbar
sind, zu ermitteln. Alle durch den Management-Server aufgeführten Angebote
stellen eine oder mehrere Dateien dar, die seit einem letzten erfolgreichen
durch die Mobil-Computervorrichtung durchgeführten Download-Vorgang verfügbar gemacht
worden sind. Die Mobil-Computervorrichtung ermöglicht es einem Benutzer, den
Download und die Installation eines oder mehrerer der Angebote zu
akzeptieren oder abzulehnen.
-
Bei
einer Ausformung wird die Mobilvorrichtung so vorkonfiguriert, dass
sie Download-Befehle
von einer bestimmten Management-Serverquelle anfordert. Der bestimmten
Quelle entsprechende Authentifizierungsinformationen (z. B. ein
oder mehrere digitale Zertifikate) werden durch die Mobilvorrichtung
in einer Liste vertrauenswürdiger
Quellen verwaltet. Anschließend
an das Anfordern und Empfangen von Download-Befehlen von der bestimmten
Quelle authentifiziert die Mobilvorrichtung die empfangenen Befehle über die
Liste vertrauenswürdiger
Quellen. Bei erfolgreicher Verifizierung werden die Befehle verwendet,
um ein oder mehrere Angebote von zumindest einem Ort, der durch
die verifizierten Befehle angegeben wird, anzufordern und zu empfangen.
Das empfangene Angebot wird bzw. die empfangenen Angebote werden
des Weiteren auf Authentizität
zum Beispiel über
eine oder mehrere Sicherheits-Hash-Funktionen geprüft. Auf
diese Weise stellt das Systemmanagement-Rahmenwerk ein Mehrfachsignatur-System
bereit, das im Wesentlichen die unerwünschte Sicherheitsgefahr beseitigt,
wenn die Mobilvorrichtung jenseits des Schutzes durch eine Firmen-Firewall
arbeitet.
-
1 ist
ein Schaubild eines Systemmanagement-Rahmenwerks nach dem Stand
der Technik.
-
2 ist
ein Blockschaltbild, das logische Komponenten eines Konfigurations-Managementservers und
eines Clientcomputers darstellt, wie sie in einem Systemmana gement-Rahmenwerk
nach dem Stand der Technik wie dem in 1 abgebildeten
eingesetzt werden.
-
3 stellt
ein Blockschaltbild eines Systemmanagement-Rahmenwerks nach einer
Ausführungsform dieser
Erfindung dar.
-
4 ist
ein Blockschaltbild, das logische Komponenten eines Konfigurations-Managementservers und
eines mobilen Clientcomputers darstellt, wie sie in einem System
wie zum Beispiel dem in 3 abgebildeten eingesetzt werden.
-
5 und 6 sind
Blockschaltbilder, die methodologische Aspekte von Anwendungslieferung
und Fernkonfiguration von Mobilvorrichtungen eines Systemmanagement-Rahmenwerks der 3 und 4 darstellen.
-
7–10 zeigen
jeweilige Aspekte einer beispielhaften Benutzeroberfläche (user
interface – UI) dar,
die durch eine Client-Computervorrichtung wie zum Beispiel einen
mobilen Client dargestellt wird, zum Ausführen von Anwendungslieferung
und Konfiguration der Computervorrichtung in einem Systemmanagement-Rahmenwerk
der 3 und 4.
-
7 erläutert einen
Teil der UI, mit dem ein Benutzer neue Angebote von einem Management-Server anfordern
kann.
-
8 erläutert beispielhafte
Aspekte der UI des mobilen Clients, die einem Benutzer der mobilen
Clientvorrichtung 304 anzeigen, dass neue Angebote verfügbar sind,
die der Client herunterladen kann, und die des Weiteren dem Benutzer
ermöglichen,
die neuen Angebote anzuzeigen oder zu übergehen.
-
9 stellt
ein beispielhaftes Angebotsdialogfeld für die Darstellung und die Interaktion
mit einer Liste verfügbarer
Angebote dar, die zum Download auf eine mobile Clientvorrichtung
verfügbar
sind.
-
10 zeigt
Aspekte eines beispielhaften Dialogfeldes zum Darstellen von Einzelheiten
(z. B. von kurzen oder langen Angebotsbeschreibungen) und/oder Download-Optionen
für den
Benutzer.
-
11 stellt
eine beispielhafte Betriebsumgebung dar, in die die Systeme und
Vorgänge
der Anwendungslieferung und des Fernkonfigurations-Managements implementiert
werden können.
-
3 zeigt
eine Darstellung der obersten Ebene eines Systemmanagement-Rahmenwerks 300.
Das Rahmenwerk 300 umfasst ein Konfigurations-Managementsystem
oder einen Konfigurations-Management-Server 302 und eine
mobile Clientvorrichtung 304. Der Management-Server 302 und
die mobile Clientvorrichtung 304 kommunizieren über eine
drahtgebundene oder drahtlose Netzwerkverbindung 306 miteinander.
Das Konfigurations-Managementsystem 302 ist so konfiguriert,
dass es, wie oben beschrieben, mit mehreren kompatiblen Clientcomputern
kommuniziert und sie verwaltet. Wenn solche Clientcomputer Computer mit
vollem Funktionsumfang wie zum Beispiel herkömmliche Bürocomputer sind, wird auf den
Clientcomputern eine Spezialsoftware ausgeführt, wie oben beschrieben,
um Kompatibilität
mit der durch das Konfigurations-Managementsystem bereitgestellten
Funktionalität
zur Verfügung
zu stellen.
-
In
dem in 3 dargestellten Beispiel ist die Clientvorrichtung 304 jedoch
ein mobiler Client, der keine im Wesentlichen dauerhafte Netzwerkverbindung
mit dem Management-Server 302 aufweist. Stattdessen ist der
mobile Client gelegentlich oder zeitweise mit dem Management-Server über einen
möglicherweise
häufig im
Wesentlichen langsamen Kommunikationspfad verbunden, der durch die
Netzwerkverbindung 306 dargestellt wird. Beispiele für solche
entfernten Clientvorrichtungen umfassen Laptops, Handcomputer, PDAs,
Automatisierungscontroller in Fabriken, Kassenterminals, Zapfsäulen, Mobiltelefone
usw. Einige dieser Vorrichtungen haben möglicherweise begrenzte Verarbeitungsressourcen
und Speicherkapazitäten
im Vergleich zu Computern mit vollem Funktionsumfang. Jeder dieser
Aspekte des mobilen Clients 304 macht es unmöglich, unpraktisch
oder nicht wünschenswert,
Verfahren herkömmlichen
automatisierten oder anderen Konfigurations-Managements, wie oben
erörtert,
für Anwendungslieferung
und Fernkonfigurations-Management für den mobilen Client 304 einzusetzen.
-
Um
sichere Anwendungslieferung und sicheres Konfigurations-Management
für den
mobilen Client 304 zu erleichtern, findet Kommunikation
zwischen der mobilen Clientvorrichtung 304 und dem Management-Server 302 unter
Verwendung eines Secure-Socket-Layer-Protokolls
wie zum Beispiel Sicheres HTTP (HTTPS) zum sicheren Senden von Daten über das
World Wide Web statt. Die Mobilvorrichtung fragt periodisch einen
oder mehrere Management-Server 302 auf neue Angebote hin
ab. Ein Angebot könnte
das Laden einer oder mehrerer Anwendungen, Dateien und Installationsskripte
auf die Mobilvorrichtung 304 oder das Installieren von
Einstellungen auf der Vorrichtung 304 sein.
-
Die
Planungskomponente 308 auf der Mobilvorrichtung 304 steuert
die Häufigkeit
und die Bedingungen, unter denen das Abrufen solcher Angebote stattfindet.
Wenn neue Angebote verfügbar
sind, wird der Benutzer der Mobilvorrichtung 304 benachrichtigt,
und wenn der Benutzer ein Angebot annimmt, wird die Anwendung automatisch
auf die Mobilvorrichtung 304 heruntergeladen und dort installiert.
Zum Zweck dieser Erörterung
bedeutet Konfigurations-Management die Fähigkeit, den mobilen Client 304 durch
Verwalten von Inventarinformationen bezüglich der Vorrichtung zu verwalten,
Anwendungen zu der Mobilvorrichtung 304 hinzuzufügen und
Anwendungen von ihr zu entfernen, Abfrageereignisse zu planen, vertrauenswürdige Quellen
zu erstellen und so weiter. Die Planungskomponente 308 macht
die Planer-Anwendungsprogrammierschnittstelle (application programming
interface – API) 430 zum
Planen, Aktualisieren und anderweitigen Verwalten von Konfigurations-Management
auf der Mobilvorrichtung verfügbar.
Zahlreiche verschiedene Komponenten der Software auf der Vorrichtung
können
diese Abläufe
unterstützen:
Bei einer Ausformung werden diese Abläufe durch Software gesteuert,
die in die Haupt-UI-Komponente der Vorrichtung eingeschlossen ist.
Bei einer weiteren Ausformung werden diese Abläufe durch einen speziellen
sicheren Server unterstützt,
der in einem geschützten
Modus ausgeführt
wird. Eine beispielhafte Planer-API 430 wird unten in ANHANG
A dargestellt.
-
Bei
der beschriebenen Ausführungsform
werden Anwendungsdownload- und Konfigurationsbefehle, die auf Anforderung
durch den Management-Server 302 für den mobilen Client 304 bereitgestellt
werden, als XML-Daten (XML = Extensible Markup Language – erweiterbare
Auszeichnungssprache) gemäß einem XML-Datenschema
formatiert, wofür
ein Beispiel in nachfolgenden Abschnitten dieser Erörterung
erläutert wird.
Die Anwendungsdownload- und Konfigurationsbefehle umfassen ein Softwareinventar,
das die Anwendungen angibt, die für den Client zum nachfolgenden
Download verfügbar
sind. Genauer gesagt, umfassen die Dateien eine Liste von Paket-IDs,
die Paketen entsprechen, die für
die Clientvorrichtung zum Installieren verfügbar sind. Die Konfigurationsinformationen
können
darüber
hinaus ein Hardwareinventar angeben. Wie unten ausführlicher
mit Bezug auf 4–11 beschrieben
wird, kann jede Computervorrichtung wie zum Beispiel der Management-Server 302,
die Download-Befehle gemäß der folgenden
Beschreibung erzeugen und übertragen
kann, eine sichere Anwendungslieferung und -konfiguration für eine beliebige
Anzahl von mobilen Clientvorrichtungen bereitstellen.
-
4 stellt
logische Komponenten des Systemmanagement-Rahmenwerks 300 ausführlicher
dar. Das Management-Serversystem 302 umfasst eine Inventar-
und Ermittlungskomponente 402 und eine Verteilungskomponente 404.
Die Inventar- und Ermittlungskomponente 402 empfängt Ermittlungsdaten-Datensätze von
mehreren mobilen Clients 304 als eine oder mehrere elektronische
Dateien 406 zum Zweck des Anlagen-Managements. Die Inventar- und Ermittlungskomponente 402 ist
zuständig
für das
Identifizieren neuer Angebote 408 seit einer letzten erfolgreichen
Abfrage durch den entsprechenden Client. Der Datenermittlungs-Datensatz
umfasst zumindest eine Angabe darüber, wann, wenn überhaupt,
eine letzte erfolgreiche Abfrage der vorgesehenen Ressource (z.
B. über
eine eingeschlossene URL angegeben) ausgeführt wurde.
-
Bei
einer Ausformung wird, wenn die entsprechende URL nie erfolgreich
von dem mobilen Client 304 abgerufen worden ist, das Datum
des letzten erfolgreichen Abrufs als null angegeben. Bei einer weiteren
Ausformung überträgt der mobile
Client des Weiteren eine im Wesentlichen eindeutige ID (z. B. ein
Cookie) mit dem Datenermittlungs-Datensatz 406 an
den Management-Server 302 für den nachfolgenden Empfang
von benutzerdefinierten Download-Befehlen. Andere in einer Datenermittlungs-Nachricht
enthaltene Informationen umfassen zum Beispiel Angaben über mit
dem mobilen Client verknüpfte
Hardware- und/oder Software-Attribute, eine Identität eines
Benutzers des mobilen Clients usw. Diese Informationen werden üblicherweise
in einer Datenbank (ohne Abbildung) gespeichert, auf die durch Systemadministratoren
zugegriffen werden kann.
-
Obwohl 4 die
Angebote 408 mit dem Management-Server 302 verbunden
darstellt, können
solche Angebote durch jede Servervorrichtung bereitgestellt werden,
die mit dem mobilen Client 302 verbunden werden kann.
-
In
Reaktion auf das Empfangen des Datenermittlungs-Datensatzes 406 von
dem mobilen Client 304 erzeugt die Inventar- und Ermittlungskomponente 402 eine
entsprechende Download-Befehlsdatei. Die Befehle können Bedingungen
angeben, unter denen eine Anwendung heruntergeladen werden soll,
wie auch eine URL (einen einheitlichen Ortsangeber für Ressourcen),
von der die Anwendung heruntergeladen werden kann. Die Download-Befehlsdatei
kann Informationen über
ein oder mehrere Angebote 408 enthalten, und jedes Angebot
kann den Download von einer oder mehreren Dateien enthalten. Die
Verteilungskomponente 404 überträgt Download-Befehle als eine
oder mehrere elektronische Dateien 410 an den mobilen Client.
-
Die
Verteilungskomponente 404 ist darüber hinaus ein Verbindungspunkt,
mit dem sich der mobile Client 304 verbinden kann, um durch
Download-Befehle angegebene Anwendungen oder Pakete (z. B. die Angebote 408)
herunterzuladen. Ein Paket ist eine Zusammenstellung von Dateien
zusammen mit Befehlen für das
Herunterladen und Installieren der Dateien.
-
Logische
Komponenten der mobilen Clientvorrichtung 304 umfassen
eine Abfrage- und Benachrichtigungskomponente 412, eine
Planungskomponente 308, eine Downloadkomponente 414,
einen Installationsbefehlsinterpreter 416 und eine Programm-
oder Paketinstallationskomponente 418. Die Abfrage- und
Benachrichtigungskomponente überträgt und empfängt Nachrichten
jeweils an den bzw. von dem Management-Server 302. Übertragene
Nachrichten umfassen zum Beispiel Datenermittlungs-Anforderungen
zum Identifizieren eines oder mehrerer Angebote, die für den Download
verfügbar
sind, Downloadanforderungen, den Status (z. B. Erfolg, Fehler, unvollständig usw.)
der Angebotslieferung und -installation und so weiter. Durch die
Abfrage- und Benachrichtigungskomponente empfangene Nachrichten
von dem Management-Server umfassen zum Beispiel Download-Befehle
und heruntergeladene Pakete.
-
Bei
einer Ausformung umfassen von der Mobilvorrichtung 304 übertragene
Nachrichten darüber
hinaus eine Download-Befehlsanforderung, und empfangene Nachrichten
umfassen darüber
hinaus eine Paket-ID-Liste, die verfügbare Angebote spezifiziert.
Die Paket-ID-Liste ist getrennt von den ausführlichen Download-Befehlen.
Eine solche Ausformung wird unten mit Bezug auf eine alternative
Ausformung des Anwendungslieferungs- und Konfigurationsmanagement-Rahmenwerks 300 ausführlicher
beschrieben.
-
Die
Planungskomponente 308 plant Datenermittlungs- und Downloadereignisse
und führt
sie aus. Bei einer Ausformung werden die für die Planung verwendeten vorgegebenen
Kriterien durch eine Verwaltungseinheit vorkonfiguriert, um eine
positive Steuerung der Konfiguration der Mobilvorrichtung 304 bereitzustellen. Solche
vorkonfigurierten Ereignisse entsprechen einem automatisierten oder
verpflichtenden Betriebsmodus, wobei die Datenermittlungs- und/oder
Downloadereignisse automatisch erzeugt werden, um ein oder mehrere Pakete
ohne Benutzereingriff herunterzuladen oder zu installieren. Bei
einer weiteren Ausformung stellt die Abfrage- und Benachrichtigungskomponente 412 Benutzeroberflächenkomponenten
(UI-Komponenten) für
die Angabe von Aktionen durch den Benutzer bereit, die in geplante
Ereignisse übersetzt
werden, um eine Steuerung von Anwendungslieferung, -Download und
-installation durch den Benutzer bereitzustel len. Ein Beispiel für eine solche
UI wird in nachfolgenden Abschnitten dieser Erörterung mit Bezug auf 7–10 beschrieben.
-
Die
Abfrage- und Benachrichtigungskomponente 412 antwortet
auf solche Ereignisse durch Übertragen
entsprechender Nachrichten an den Management-Server 302.
Ein Datenermittlungsereignis verursacht eine Übertragung eines Datenermittlungs-Datensatzes 406 (z.
B. über
HTTPS) an den Management-Server, um Download-Befehle 410 für Angebote
zu erhalten. Ein Downloadereignis verursacht die Übertragung
eines Download-Befehls 420 an
den Management-Server. Zum Zweck dieser Erörterung werden Datenermittlungsereignisse
häufig
als Abfrageereignisse bezeichnet, da sie im Allgemeinen einen periodischen
Charakter aufweisen. Dennoch kann jedes einzelne Datenermittlungsereignis
auch für
einen einzigen Vorgang geplant werden.
-
Abfrage-
und Downloadereignisse werden auf Basis eines oder mehrerer vorgegebener
Kriterien einschließlich
beispielsweise jeder Kombination von Zeit- und Verbindungskriterien
geplant (z. B. jede Woche montags um 15.00 Uhr, wenn eine Verbindung
mit hoher Bandbreite vorhanden ist; zu einem beliebigen Zeitpunkt,
um im Wesentlichen sicherzustellen, dass alle Datenermittlungsnachrichten
von mehreren mobilen Clientvorrichtungen 304 in einer Weise
an den Management-Server 302 gesendet werden, bei der die
Verarbeitungsressourcen des Servers wahrscheinlich nicht überlastet
werden usw.). Bei dieser Ausformung wird jedes Ereignis mit einem
Namen/einer Beschreibung, Ereigniskriterien und einer URL für den Zugriff
auf die Erkennung und den Download eines Angebots verknüpft. Die
Planungskomponente 308 verwaltet eine Ereignisinformationstabelle 422 zum
Angeben von Abfrage- und Download-Ereignissen.
-
Die
Abfrage- und Benachrichtigungskomponente 412 empfängt und
analysiert eine oder mehrere Download-Befehlsdateien 410,
wobei sie die Download-Befehle mit der Planungskomponente 308 für die Ausführung gemäß der mit
den Befehlen verknüpften
Startzeit, Deltazeit und/oder Markierungen plant. Zu gegebener Zeit
befiehlt der Planer der Downloadkomponente 414, die in
der Download-Befehlsdatei beschriebenen Dateien herunterzuladen.
Der Befehls-/Skriptinterpreter 416 führt den bzw. die durch einen „Befehls"-Parameter der Download-Befehlsdatei
gekennzeichneten Befehl bzw. Befehle aus, was in den meisten Fällen eine
Installation der heruntergeladenen Dateien durch die Installationskomponente 418 auslöst (z. B.
das Kopieren von Dateien in passende Verzeichnisse auf der Clientvorrichtung,
das Laden von Registrierungswerten, das Löschen von temporären Dateien
und so weiter).
-
Die
mobile Clientvorrichtung 304 verfügt darüber hinaus über einen Programmspeicher 424,
in den die heruntergeladenen Anwendungen installiert werden, über eine
Datenbank oder eine andere Datenstruktur 426, in der die
Clientvorrichtung 304 eine Angebotsliste verwaltet oder
zwischenspeichert, die Anwendungen oder Pakete kennzeichnet, die
bereits durch vorhergehende Interaktionen mit dem Management-Server 302 für die Clientvorrichtung
verfügbar
gemacht worden sind, und über
eine Liste vertrauenswürdiger
Quellen (trusted source list – „TSL") 428 zum
Authentifizieren von Download-Befehlen 410,
die von dem Management-Server 302 empfangen wurden. Die
Angebotsliste ist unabhängig
von jeglicher Verbindung mit dem Management-Server für die Darstellung
für einen
Benutzer des entfernten Clients verfügbar. Der entfernte Client ist
so konfiguriert, dass er in Reaktion auf den Download und die Installation
eines Angebots auf den bzw. auf dem entfernten Client das Angebot
automatisch aus der Angebotsliste entfernt.
-
Diese
Komponenten des mobilen Clients 304 können mit einer Spezialsoftware
implementiert werden, die auf der Clientvorrichtung installiert
und mit Informationen wie zum Beispiel einer URL und anderen Angaben
sowie mit Authentifizierungsinformationen und Anmeldeinformationen
vorkonfiguriert ist. Die Interaktion dieser Komponenten miteinander
und mit dem Management-Server 302 wird in der folgenden
Erörterung
mit Bezug auf 5 ausführlicher erläutert.
-
5 stellt
methodologische Aspekte des in 4 dargestellten
Rahmenwerks dar. Aktionen auf der linken Seite der Abbildung werden
durch Komponenten der mobilen Clientvorrichtung 304 ausgeführt. Aktionen
auf der rechten Seite der Abbildung werden durch Komponenten des
Management-Servers 302 ausgeführt. Aktionen in der Mitte
werden durch einen Menschen wie zum Beispiel einen Administrator
des Management-Servers 302 oder
einen Benutzer des mobilen Clients ausgeführt, deren Einzelheiten unten
in der dem Vorgang entsprechenden Erörterung beschrieben werden.
Die Aktionen werden mit Bezug auf ein Szenario beschrieben, in dem
es erwünscht
ist, dass eine Anwendung an einen anfordernden mobilen Client verteilt
und dort installiert wird. Eine Beispielanwendung verfügt über zwei
Komponenten: golf.cab und golf.dat. Die Installation auf der Mobilvorrichtung
umfasst das Kopieren beider Komponenten in ein Verzeichnis mit der
Bezeichnung „\Programme\Foo".
-
Eine
erste Aktion 502 umfasst das Erzeugen eines Verteilungspaketes,
das die beiden Programmkomponenten „golf.cab" und „golf.dat" enthält. Die „CAB"-Datei ist ein gängi ges Format, das für die Verteilung
von Programmkomponenten verwendet wird und das durch die empfangende
Clientvorrichtung zur automatischen Installation auf der Clientvorrichtung
geöffnet
werden kann. Alternativ kann ein Nicht-CAB-Paket assembliert werden,
dass die Anwendungskomponenten und eine Datei umfasst, die ein Installationsskript
enthält
(das üblicherweise
von einer Person erzeugt wird, die als Systemadministrator fungiert),
das durch die Clientvorrichtung zum Durchführen der Installationsaufgaben
ausgeführt
werden kann. Bei diesem Beispiel umfassen die Download-Befehle 410 (die
unten mit Bezug auf TABELLE 1 ausführlicher beschrieben werden)
Installationsbefehle.
-
Der
Benutzer stellt eine Verbindung des mobilen Clients 304 mit
dem Management-Server 302 über eine
beliebige Kombination eines oder mehrerer drahtgebundener oder drahtloser
Netzwerke her. Bei einer Aktion 504 erzeugt der Benutzer
ein Abfrageereignis zum Anfordern einer Liste verfügbarer Angebote 408 von dem
Management-Server. Alternativ kann das Abfrageereignis in Reaktion
auf das Auftreten eines bestimmen Ereignisses (z. B. eines Kaltstarts
des mobilen Clients, eines Anmeldeereignisses usw.) und/oder in
einem oder mehreren vorkonfigurierten Intervallen, wie durch die
Planungskomponente 308 festgelegt, automatisch erzeugt
werden. Bei einer Ausformung wird zum Beispiel die Planungskomponente
so vorkonfiguriert, dass sie bei einem Kaltstart eine Liste verfügbarer Angebote 408 von
einem bestimmten Management-Server 302 anfordert.
-
Bei
einer Aktion 508 empfängt
die Inventar- und Ermittlungskomponente 402 aus 4 den
Datenermittlungs-Datensatz 406. In Reaktion auf das Empfangen
dieser Informationen führt
die Inventar- und Ermittlungskomponente die Aktion 510 des
Erzeugens einer Download-Befehlsdatei 410 auf Basis der
in dem empfangenen Datenermittlungs-Datensatz bereitgestellten Informationen
aus. Die erzeugte Download-Befehlsdatei umfasst verschiedene Parameter,
die sich darauf beziehen, wie, wann, woher und unter welchen Bedingungen
das betreffende Angebot 408 oder Paket durch den mobilen
Client 304 heruntergeladen werden kann.
-
Bei
einer Ausformung umfassen die Parameter die folgenden Elemente:
- • Kopfzeile
- • Inhaltsblock
- • ID
(GUID)
- • Antwort-URL
für Statusberichte
(optional)
- • Download-Befehle
- • Name
der Quelle
- • Name
des Angebots
- • Größe des Angebots
(z. B. in Byte)
- • Preis
des Angebots
- • Kurze
und/oder lange Beschreibung
- • Download-Befehle
für die
Darstellung für
einen Benutzer des mobilen Clients
- • Netzwerk – bevorzugtes
Transportmedium, über
das dieser Download gesendet werden soll.
- • Wiederauftrittsintervall
- • Wiederholungsintervall
für die
Fehlerbehebung (z. B. Standard = 60 Sekunden)
- • Wiederholungsbeschränkung (z.
B. Standard = 5)
- • Start-
oder Deltazeit (in mittlerer Greenwich-Zeit, GMT)
- • Markierungen
(Verbindungstyp oder Verbindungsklasse)
- • Downloadtyp
(z. B. eine ROM-Aktualisierung, eine CAB-Datei usw.)
- • Vorgeschrieben
(JA oder NEIN, Standard: NEIN)
- • Dateibeschreibung(en)
- • Quell-URL
- • Ziel
auf der Vorrichtung (Dateispeicherort als vollqualifizierter Pfad)
- • Signatur
(signierter Hash der Datei)
- • Befehl
zum Ausführen
auf der Vorrichtung nach dem Download (optional)
-
Der „Inhalts"-Block enthält Informationen,
die den Inhalt der Befehlsdatei 410 betreffen, einschließlich einer
URL, an die der mobile Client 304 Erfolg oder Fehlschlagen
der nachfolgend spezifizierten Aktionen melden soll. Die „Download-Befehle" spezifizieren ein „Wiederauftrittsintervall", das ein Intervall
bezeichnet, in dem der mobile Client periodisch Abrufereignisse
wie zum Beispiel ein Datenermittlungsereignis an den Management-Server 302 senden
soll. Andere „Download-Befehle" umfassen entweder
eine „Startzeit" oder eine „Deltazeit" (ein Intervall,
nach dem die Abläufe
starten sollen) sowie „Markierungen", die Bedingungen
angeben, unter denen der Download ablaufen dürfen soll. Die Markierungen
können
zum Beispiel angeben, dass der Download nur ausgelöst werden
soll, wenn bestimmte Übertragungsressourcen
vorhanden sind wie zum Beispiel das Bestehen einer Verbindung zu
einem Netzwerk über
ein Hochgeschwindigkeitsnetzwerk. Als weiteres Beispiel können die
Markierungen angeben, dass ein Download nur ausgelöst werden
soll, wenn der mobile Client an eine Wechselstromversorgung (im
Gegensatz zu Batteriestrom) angeschlossen ist. Obwohl dieses Beispiel „Markierungen" zum Angeben verschiedener
Informationen verwendet, können
solche Informationen auf unterschiedliche Weise dargestellt werden,
wie zum Beispiel als XML-Tags usw.
-
Der
Parameter „vorgeschrieben” gibt an,
ob das Paket auf dem mobilen Client 304 installiert werden muss.
Die „Dateibeschreibung(en)" geben die Quell-
und Zielspeicherorte von Dateien, die auf den mobilen Client kopiert
werden sollen, sowie Signaturen der Dateien an. Der Parameter „Befehl" gibt einen Befehl
an, der durch die Clientvorrichtung ausgeführt werden soll, nachdem die
zuvor in der Befehlsdatei angegebenen Dateien erfolgreich kopiert
worden sind.
-
Bei
einer Aktion 512 überträgt das Verteilungsmodul 404 erzeugte
Download-Befehle als eine oder mehrere elektronische Dateien 410 an
den mobilen Client 304. Die Download-Befehlsdatei wird bevorzugt an den mobilen
Client gemäß einem
durch die Datenbank 408 erzwungenen XML-Schema gemeldet.
Ein Beispiel für
ein solches XML-Schema wird unten in ANHANG A dargestellt. (Obwohl
es in 4 als Teil der Angebotsdatenbank 408 dargestellt
wird, in der Angebotsdaten gespeichert werden, kann das XML-Schema getrennt von
der Angebotsdatenbank gespeichert werden.)
-
TABELLE
1 stellt ein Beispiel für
die eigentlichen, gemäß dem XML-Schema
von ANHANG A formatierten Daten dar. Die XML-Daten stellen eine
beispielhafte Download-Befehlsdatei
dar, die üblicherweise
als ein HTTPS-Post an den mobilen Client 304 übertragen
wird. Zum Zweck der Veranschaulichung stellen fett gedruckte Zeichen
in der Download-Befehlsdatei Beispiele für variable Datenwerte dar.
-
TABELLE
1 EIN
BEISPIELHAFTER SATZ VON DOWNLOAD-BEFEHLEN
-
Die
vorhergehenden beispielhaften Download-Befehle in TABELLE 1 stellen
ein Angebot von „Value ISV" für Golf dar.
Die Befehle geben an, dass zwei Dateien in ein Verzeichnis \Programme\foo
heruntergeladen werden sollen. Die Download-Startzeit wird durch <Download StartTime>-Markierungsdaten gekennzeichnet. Durch <Reoccur Time>-Markierungsdaten wird angegeben, dass
Downloads periodisch wieder auftreten. Zeiten werden im Intel-Systemzeitformat
dargestellt. Das Programm „golf.cab" wird ausgeführt, nachdem
der Download abgeschlossen ist.
-
Bei
einer Aktion 514 empfängt
die Serverabfrage- und Benachrichtigungskomponente 412 des
mobilen Clients 304 Download-Befehle 410 von dem
Management-Server 302. Bei einer Ausformung enthalten die Download-Befehle
Informationen, damit die Planungskomponente 308 veraltete
Elemente aus der von dem mobilen Client gespeicherten Angebotsliste 426 entfernt.
Dies geschieht über
eine optionale Download-Befehlsmarkierung „Supercedes" („ersetzt"), die einen Satz
von ersetzten Angeboten durch ihre jeweiligen „Offering Name(s)" („Angebotsname(n)") kennzeichnet. Ersetzte
Angebote werden aus der Angebotsliste entfernt.
-
Um
sicherzustellen, dass die Downloads von Anwendungen für den mobilen
Client sicher bleiben, überprüft eine
Dateiverifizierungs- und Benutzerautorisierungskomponente 434 bei
einer Aktion 516 die digitale Signatur (d. h. die beanspruchte
Identität)
der empfangenen Download-Befehle anhand einer oder mehrerer vertrauenswürdiger Quellen,
deren Download-Befehle als sicher und zuverlässig gelten. Solche vertrauenswürdigen Quellen
werden in einer TSL 428 gespeichert. Die TSL ist zum Beispiel
ein Verzeichnis von Übermittlungsservern
für vertrauenswürdige Anwendungen
und ihrer öffentlichen
Schlüssel.
Die Planungskomponente 308 macht eine oder mehrere Schnittstellen über die
Planer-API 430 zum Aktualisieren und anderweitigen Verwalten
von Inhalten der TSL verfügbar.
Eine beispielhafte Planer-API 430 wird unten in ANHANG
A dargestellt.
-
Bei
einer Ausformung umfasst die TSL 428 ein X.600-Zertifikat
für den
Management-Server 302,
der einen RDN (einen Namen), einen öffentlichen Schlüssel usw.
umfasst. Obwohl ein Zertifikat in der TSL absichtlich oder versehentlich
aus der TSL gelöscht
werden kann, kann ein solches gelöschtes Zertifikat nicht einfach durch
einen weiteren Schlüssel
ersetzt werden. Dies stellt sicher, dass die Anwendungslieferung
des mobilen Clients 304 sicher bleibt. Selbst wenn ein
bestimmtes Zertifikat von einer vertrauenswürdigen Quelle absichtlich oder
versehentlich gelöscht
wird, kann darüber
hinaus das gelöschte
Zertifikat durch einen Kaltstart des mobilen Clients 304 wiederhergestellt
werden, sofern ein Teil des nicht flüchtigen Speichers des mobilen
Clients entsprechend vorkonfiguriert ist.
-
Bei
einer Aktion 518 stellt die Verifizierungskomponente 434 fest,
ob die empfangenen Download-Befehle 410 authentisch sind.
Falls nicht, wartet der Vorgang auf ein weiteres geplantes Ereignis
(oder auf ein anderes Ereignis) wie zum Beispiel ein Datenermittlungs-Ereignis,
wie durch eine Aktion 504 angezeigt. Hingegen benachrichtigt
die Planungskomponente 308 in Reaktion auf das Empfangen
eines authentifizierten Satzes von Download-Befehlen bei einer Aktion 520 den
Benutzer des mobilen Clients 304 über alle verfügbaren Angebote.
Wenn neue Downloads verfügbar
sind, speichert die Planungskomponente 308 die empfangenen
Download-Informationen 410 im Speicher (z. B. im Angebotsdatenspeicher 426).
-
Bei
einer Aktion 522 gibt der Benutzer über eine Benutzeroberfläche (user
interface – UI)
an, ob die neuen Angebote angezeigt oder übergangen werden sollen. Ein
Beispiel für
eine solche UI wird in nachfolgenden Abschnitten dieser Erörterung
mit Bezug auf 7–10 beschrieben.
Bei einer Aktion 524 wird festgelegt, dass die Angebote übergangen
werden sollen, und der Vorgang 500 wird fortgesetzt, wie
durch die On-Page-Referenz „A" angegeben. Nachdem
der Benutzer sich entschlossen hat, die Angebote anzuzeigen, wird
dem Benutzer bei einer Aktion 526 jedes angezeigte Download-Angebot
zusammen mit einem entsprechenden Status für die Anzeige und Interaktion über die
UI dargestellt. Der entsprechende Status kann zum Beispiel eine
Angabe über
die Neuheit oder das Absenden des bestimmten Angebots (z. B. neu,
das Absendedatum usw.), eine Angabe über den Fortschritt des Downloads
(z. B. Download akzeptiert, wird durchgeführt, installiert usw.) usw.
anzeigen. Der Vorgang wird, wie durch die On-Page-Referenz „B" angegeben, in einer
Aktion 602 in 6 fortgesetzt.
-
6 stellt
weitere Aspekte eines beispielhaften Vorgangs 500 für das Ausführen von
Anwendungslieferung und Fernkonfigurations-Management über das
Rahmenwerk aus 4 dar. Aktionen auf der linken Seite
von 6 werden durch Komponenten der mobilen Clientvorrichtung 304 ausgeführt. Aktionen
auf der rechten Seite der Abbildung werden durch Komponenten des
Management-Servers 302 ausgeführt. Aktionen in der Mitte
werden durch einen Benutzer des mobilen Clients ausgeführt. Die
Aktionen werden mit Bezug auf das Szenario aus 5 beschrieben.
-
Bei
einer Aktion 602 akzeptiert der Benutzer ein oder mehrere
bestimmte Angebote oder Zehnt sie ab. Eine beispielhafte UI 700,
mit der der Benutzer dies durchführen
kann, wird unten ausführlicher
mit Bezug auf 7–10 beschrieben.
Bei einer Aktion 604 stellt die Mobilvorrichtung fest,
ob der Benutzer der Mobilvorrichtung 304 ein Angebot 408 autorisiert
hat. In jedem Fall werden die Download-Befehle 410 für jedes
entsprechende angezeigte Angebot durch die Planungskomponente 308 gespeichert,
bis das Angebot auf dem Server abgelaufen ist oder der Benutzer
ein aufgeführtes
Angebot bestätigt
oder ablehnt. Wenn der Benutzer das oder alle der mehreren dargestellten
Angebote abgelehnt hat, wartet der Vorgang 500 darauf,
dass ein geplantes oder ein ungeplantes Ereignis verarbeitet wird,
wie zum Beispiel ein Datenermittlungs-Ereignis, wie in einer Aktion 504 in 5 angegeben
(d. h. wie durch die On-Page-Referenz „A" angegeben).
-
Nach
der Bestätigung
eines Angebots durch den Benutzer plant die Planungskomponente 308 in
einer Aktion 606, dass ein Download-Ereignis das bestätigte Angebot
von einem in den Download-Befehlen angegebenen Ort abruft. Das Download-Ereignis
kann gemäß vom Benutzer
angegebenen Kriterien oder gemäß der Startzeit,
Deltazeit und/oder Markierungen, die mit den Download-Befehlen verknüpft sind,
geplant werden. Das Download-Ereignis kann sofort ausgelöst werden
oder kann auf Basis eines oder mehrerer vorgegebener Kriterien wie
zum Beispiel bestimmter Verbindungsbedingungen (z. B. wenn der mobile
Client angedockt ist) geplant werden.
-
Bei
einem Ereignis 608 erzeugt die Planungskomponente 308 das
geplante Download-Ereignis
gemäß dem Plan
der Aktion 606. Bei einer Aktion 610 und nach
der Erfassung des erzeugten Download-Ereignisses überträgt die Downloadkomponente 414 eine
Download-Anforderung (z. B. über
HTTPS/IP) als eine oder mehrere elektronische Dateien 420 an
den Management-Server 302. Bei einer Aktion 612 empfängt die Verteilungskomponente 404 des
Management-Servers die übertragene
Download-Anforderung. In Reaktion auf das Empfangen der Download-Anforderung
ruft die Verteilungskomponente in einer Aktion 614 das
angeforderte Angebot bzw. die angeforderten Angebote 408 als
eine oder mehrere elektronische Dateien 432 ab und überträgt es bzw.
sie an den mobilen Client 304.
-
Bei
einer Aktion 616 empfängt
die Downloadkomponente 414 das übertragene Angebot bzw. die übertragenen
Angebote 408 von dem Management-Server 302. Die
Download-Komponente
verifiziert die Signatur des Downloads (z. B. einen Hash) bei einer
Aktion 618 und übergibt
die heruntergeladenen Dateien an den Befehlsinterpreter 416.
Bei ei ner Aktion 620 führt
der Befehlsinterpreter einen oder mehrere durch einen optionalen „Befehls"-Parameter der Download-Befehlsdatei 410 angegebenen
Befehle aus, der bzw. die zumeist die Installation der heruntergeladenen
Dateien durch die Installationskomponente 418 auslöst. Nach
der erfolgreichen Installation einer Anwendung und/oder von Konfigurationseinstellungen
wird der Benutzer in einer Aktion 622 über das Benachrichtigungsmodul 412 darüber benachrichtigt,
dass die Installation abgeschlossen ist. Bei einer Ausformung wird
der Server darüber
hinaus durch eine Erfolgs-/Fehler-Statusmeldung (ohne Abbildung) über die
Aktionen der Anwendungslieferung und der Fernkonfiguration des mobilen
Clients benachrichtigt.
-
Eine beispielhafte UI für die Anwendungslieferung
und die Konfiguration der Mobilvorrichtung
-
7–10 stellen
Aspekte einer beispielhaften Benutzeroberfläche (user interface – UI) 700,
die durch eine Client-Computervorrichtung wie zum Beispiel den mobilen
Client 304 dargestellt wird, für das Ausführen einer Anwendungslieferung
und Konfiguration der Computervorrichtung dar. 7 erläutert insbesondere
einen Teil der UI, mit dem ein Benutzer neue Angebote 408 von
dem Management-Server 302 anfordern kann. Wenn das Download-Symbol 702 durch
einen Benutzer ausgewählt
wird, veranlasst es die Planungskomponente, einen Datenermittlungs-Datensatz 406,
wie oben beschrieben, an den Management-Server zu senden. Anschließend an
das Schicken einer Anfrage zum Beziehen einer Liste neuer Angebote
gibt ein Blasenmenü 704 mit
dem Titel „Download-Anforderung" dem Benutzer an,
dass die Datenermittlungs-Anforderung an den Management-Server gesendet
worden ist, und gibt des Weiteren an, dass eine Antwort vom Server
aussteht.
-
8 stellt
beispielhafte Aspekte der UI 700 des mobilen Clients dar,
die einem Benutzer der mobilen Clientvorrichtung 304 anzeigen,
dass neue Angebote 408 für den Download auf den Client
verfügbar
sind. Insbesondere zeigt das Blasenmenü 704 dem Benutzer
an, dass neue Angebote für
den Download vom Management-Server 302 vorhanden sind;
der Blasentext lautet in diesem Fall „Es sind neue Downloads verfügbar". Ansonsten zeigt
der Blasentext an, dass „Keine
neuen Angebote" an
den Management-Server gesendet worden sind, seit die letzte Download-Anforderung
(falls es eine gab) von dem mobilen Client empfangen wurde.
-
Wenn
neue Angebote von dem Management-Server 302 für den Download
durch den Benutzer verfügbar
sind, stellt das Blasenmenü 704 darüber hinaus
zumindest zwei durch den Benutzer auswählbare Tasten zum Anzeigen
der Angebote oder zum Ablehnen der Angebotsbenachrichtigung dar.
Bei diesem Beispiel werden die Tasten jeweils als „Angebote
anzeigen" bzw. „Übergehen" bezeichnet. Über diese
Tasten kann der Benutzer angeben, ob die Darstellung der verfügbaren Angebote
für eine
mögliche
weitere Benutzerinteraktion (z. B. Download, Anforderung von zusätzlichen
Informationen usw.) gewünscht
wird oder nicht. Eine oder mehrere Benutzeraktionen können über ein
Zeigegerät
wie zum Beispiel einen Stift oder eine Maus oder eine andere Technologie
wie zum Beispiel mit Hilfe eines Sprachbefehls angegeben werden.
-
9 stellt
ein beispielhaftes Angebotsdialogfeld 902 für die Darstellung
und die Interaktion mit einer Liste verfügbarer Angebote dar, die zum
Download auf die mobile Clientvorrichtung 304 verfügbar sind.
Das Dialogfeld ist ein Beispiel für eine UI, die in Reaktion
auf die Benutzerauswahl der Taste „Angebote anzeigen" in 8 dargestellt
wird. Bei diesem Beispiel werden für den Benutzer zwei Angebote
angezeigt: ein „Sicherheitspatch
für einen
Pocket-Webbrowser" und
eine „Golf"-Anwendung wie zum
Beispiel diejenige, die in den oben erörterten beispielhaften Download-Befehlen
in TABELLE 1 angegeben wird. Die durch das Dialogfeld 902 dargestellte
Angebotsliste gibt „keine
Angebote" an, wenn
der Benutzer sie als eigenständige
Anwendung öffnet,
oder die gespeicherte Angebotsliste, die durch die Angebotsdaten 426 dargestellt
wird, ist leer.
-
Bei
diesem Beispiel ermöglicht
eine Tippen-und-Halten-Benutzeraktion über einem Angebot in der durch
das Dialogfeld 902 dargestellten Angebotsliste einem Benutzer,
Download-Optionen aus dem Popupmenü 904 „Akzeptieren..." auszuwählen. Eine
Tippen-und-Halten-Aktion über
dem Angebot „Sicherheitspatch für einen
Pocket-Webbrowser" ermöglicht dem
Benutzer, das Angebot jetzt (z. B. als Standard) über das
Menüelement „Akzeptieren" herunterzuladen
oder das Angebot später
herunterzuladen, zum Beispiel über
das Menüelement „Akzeptieren,
wenn angedockt".
Bei einer Ausformung umfasst das Dialogfeld 702 des Weiteren eine
Taste wie zum Beispiel eine Taste „Alle ablehnen", um dem Benutzer
zu ermöglichen,
die aufgelisteten Angebote schnell und einfach zu verwerfen.
-
10 stellt
weitere Aspekte der beispielhaften UI 700 für Anwendungslieferung
und Fernkonfiguration dar. Insbesondere zeigt 10 ein
Dialogfeld 1002, das dargestellt wird, um Einzelheiten
(z. B. kurze oder lange Angebotsbeschreibungen) und/oder Download-Optionen
für den
Benutzer zu zeigen. Bei einer Ausformung wird dieses Dialogfeld
in Reaktion auf eine Tippaktion des Benutzers (im Gegensatz zum
Tippen und Halten) über
einem bestimmten Angebot dargestellt.
-
Eine beispielhafte Betriebsumgebung
-
11 stellt
eine beispielhafte Betriebsumgebung 1100 dar, in die die
Systeme und Vorgänge
für Anwendungslieferung
und Fernkonfigurations-Management implementiert werden können. Die
oben beschriebenen Komponenten und die Funktionalität des Management-Servers 302 und
des mobilen Clients 304 werden jeweils mit einem oder mehreren
einzelnen Computern implementiert. 11 stellt
Komponenten eines typischen Beispiels eines solchen Computers dar,
worauf durch das Bezugszeichen 1106 verwiesen wird. Die
in 11 dargestellten Komponenten sind lediglich Beispiele
und sind nicht dazu bestimmt, den Umfang der Funktionalität der Erfindung
zu beschränken;
die Erfindung hängt
nicht unbedingt von den in 11 dargestellten
Merkmalen ab.
-
Im
Allgemeinen können
mehrere verschiedene Universal- oder Spezialkonfigurationen von
Computersystemen eingesetzt werden. Beispiele für allgemein bekannte Computersysteme,
-umgebungen und/oder -konfigurationen, die für den Einsatz mit der Erfindung
geeignet sein können,
umfassen mobile Clientvorrichtungen, Personal-Computer, Server-Computer,
Laptopgeräte,
Mehrprozessorsysteme, mikroprozessorbasierte Systeme, Netzwerk-PCs,
Minicomputer, Großrechner,
verteilte Computerumgebungen, Computervorrichtungen, die weniger
als die vollständige
Desktop-Funktionalität
aufweisen, die eines der oben stehenden Systeme oder eine der oben
stehenden Vorrichtungen umfassen, und dergleichen, sind aber nicht
auf diese beschränkt.
-
Die
Funktionalität
der Computer wird in vielen Fällen
durch computerausführbare
Befehle wie zum Beispiel Programm-Module, die durch die Computer
ausgeführt
werden, verkörpert.
Im Allgemeinen umfassen Programm-Module Routinen, Programme, Objekte,
Komponenten, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder
bestimmte abstrakte Datentypen implementieren. Aufgaben können auch
durch Fernverarbeitungsvorrichtungen ausgeführt werden, die durch ein Kommunikationsnetzwerk
verknüpft
sind. Bei einer verteilten Computerumgebung können sich Programm-Module sowohl
in lokalen als auch in entfernten Computerspeichermedien befinden.
-
Die
Befehls- und/oder Programm-Module werden zu unterschiedlichen Zeiten
in den verschiedenen computerlesbaren Medien gespeichert, die entweder
Teil des Computers sind oder die durch den Computer gelesen werden
können.
Programme werden üblicherweise
auf Disketten, CD-ROMs, DVD oder über eine Form von Kommunikationsmedien
wie zum Beispiel ein moduliertes Signal verteilt. Von da aus werden
sie installiert oder in den sekundären Speicher eines Computers
geladen. Bei der Ausführung
werden sie zumindest teilweise in den primären elektronischen Speicher
des Computers geladen. Die hier beschriebene Erfindung umfasst diese
und verschiedene andere Arten von computerlesbaren Medien, wenn
solche Medien Befehle, Programme und/oder Module für das Implementieren
der Schritte und Aktionen enthalten, die oben zusammen mit Mikroprozessoren
und anderen Datenprozessoren beschrieben werden. Die Erfindung umfasst
außerdem den
Computer selbst, wenn er den oben beschriebenen Methoden und Verfahren
entsprechend programmiert ist.
-
Zur
Veranschaulichung werden Programme und andere ausführbare Programmkomponenten
wie zum Beispiel das Betriebssystem hier als diskrete Blöcke dargestellt,
obwohl anerkannt wird, dass solche Programme und Komponenten sich
zu unterschiedlichen Zeiten in verschiedenen Speicherkomponenten
des Computers befinden und durch den Datenprozessor bzw. die Datenprozessoren
des Computers ausgeführt
werden.
-
Mit
Bezug auf 11 können die Komponenten des Computers 1106 eine
Verarbeitungseinheit 1114, einen Systemspeicher 1116 und
einen Systembus 1121 umfassen, der verschiedene Systemkomponenten einschließlich des
Systemspeichers mit der Verarbeitungseinheit 1114 verbindet,
sie sind aber nicht auf diese beschränkt. Der Systembus 1121 kann
einem von mehreren Typen von Busstrukturen einschließlich eines Speicherbusses
oder eines Speichercontrollers, eines peripheren Busses und eines
lokalen Busses entsprechen und eine Vielzahl von Busarchitekturen
einsetzen. Beispielsweise, und ohne einschränkend zu wirken, umfassen solche
Architekturen den ISA-Bus (ISA – Industriestandard-Architektur),
den MCA-Bus (MCA – Micro
Channel Architecture – Mikrokanal-Architektur),
den EISAA-Bus (EISAA – Enhanced
ISA – verbesserte ISA),
den lokalen VESA-Bus (VESA – Video
Electronics Standards Association) und den PCI-Bus (PCI – Peripheral
Component Interconnect – periphere
Komponentenverbindung), der auch als Mezzanine-Bus bekannt ist,
sie sind jedoch nicht auf diese beschränkt.
-
Der
Computer 1106 umfasst üblicherweise
eine Vielzahl von computerlesbaren Medien. Computerlesbare Medien
können
alle verfügbaren
Medien sein, auf die durch den Com puter 1106 zugegriffen
werden kann, und umfassen sowohl flüchtige als auch nicht flüchtige Medien,
entfernbare und nicht entfernbare Medien. Beispielsweise, und ohne
einschränkend
zu wirken, können
computerlesbare Medien Computerspeichermedien und Kommunikationsmedien
umfassen. Computerspeichermedien umfassen flüchtige und nicht flüchtige,
entfernbare und nicht entfernbare Medien, die mit einer beliebigen
Methode oder einem beliebigen Verfahren zum Speichern von Informationen
wie zum Beispiel von computerlesbaren Befehlen, Datenstrukturen,
Programm-Modulen oder anderen Daten implementiert sind. Computerspeichermedien
umfassen RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie,
CD-ROM, DVDs (digital versatile disks – digitale vielseitige Scheiben)
oder andere optische Plattenspeicher, Magnetkassetten, Magnetband,
Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder
jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet
werden kann und auf das durch den Computer 1106 zugegriffen
werden kann, sie sind jedoch nicht auf diese beschränkt. Ein
Kommunikationsmedium verkörpert üblicherweise
computerlesbare Befehle, Datenstrukturen, Programm-Module oder andere
Daten in einem modulierten Datensignal wie zum Beispiel einer Trägerwelle
oder einem anderen Transportmechanismus und umfasst ein beliebiges Informationslieferungsmedium.
Der Begriff „moduliertes
Datensignal" bedeutet
ein Signal, bei dem eine oder mehrere Eigenschaften in einer solchen
Weise eingestellt oder geändert
werden, dass Informationen in dem Signal verschlüsselt werden. Beispielsweise,
und ohne einschränkend
zu wirken, umfassen Kommunikationsmedien drahtgebundene Medien wie
zum Beispiel ein Kabelnetz oder eine direkt verdrahtete Verbindung
und drahtlose Medien wie zum Beispiel akustische, HF-, Infrarot-
und andere drahtlose Medien. Kombinationen von beliebigen der oben
stehenden Elemente sollten ebenso im Umfang der computerlesbaren
Medien enthalten sein.
-
Der
Systemspeicher 1116 umfasst ein Computerspeichermedium
in Form eines flüchtigen
und/oder nicht flüchtigen
Speichers wie zum Beispiel eines Festspeichers (read only memory – ROM) 1118 und
eines Speichers mit wahlfreiem Zugriff (random access memory – RAM) 1120.
Ein grundlegendes Eingabe-/Ausgabesystem (basic input/output system – BIOS) 1122,
das Grundprogrammroutinen enthält,
die dazu beitragen, dass Informationen zwischen den Elementen in
dem Computer 1106 übertragen
werden, wie zum Beispiel während
des Einschaltens, werden üblicherweise
im ROM 1118 gespeichert. Der RAM 1120 enthält üblicherweise
Daten und/oder Programm-Module, auf die unmittelbar durch die Verarbeitungseinheit 1114 zugegriffen werden
kann und/oder die zur Zeit durch die Verarbeitungseinheit 1114 verarbeitet
werden. Beispielsweise, und ohne einschränkend zu wirken, stellt 11 ein
Betriebssystem 1136, Anwendungsprogramme 1138,
andere Programm-Module 1142 und Programmdaten 1120 dar.
-
Wenn
der Computer 1106 als Management-Server 302 aus 4 implementiert
ist, umfassen die Anwendungsprogramme 1138 zum Beispiel
die Inventar- und Ermittlungskomponente 402 und die Verteilungskomponente 404.
Bei einer ähnlichen
Ausformung umfassen die Programmdaten 1144 zum Beispiel
eine oder mehrere von einem mobilen Clientcomputer 304 empfangene
Datenermittlungs-Nachrichten 406, Download-Befehle 410 zum
Anzeigen von einem oder mehreren Angeboten, die für den mobilen
Client verfügbar sind,
ein Schema 408 zum Durchsetzen der Semantik und Syntax
der Download-Befehle
und Angebote 408 zur Verteilung in Form von einer oder
mehreren elektronisches Dateien oder einem oder mehreren elektronischen
Paketen an den mobilen Client.
-
Wenn
der Computer 1106 als mobiler Clientcomputer 304 aus 4 implementiert
ist, umfassen die Anwendungsprogramme 1138 zum Beispiel
die Abfrage- und Benachrichtigungskomponente 412, die Planungskomponente 308,
die Downloadkomponente 414, den Befehls-/Skriptinterpreter 416,
die Installationskomponente 418 und die Dateiverifizierungs-
und Benutzerautorisierungskomponente 434 des Planers. Bei
einer ähnlichen
Ausformung umfassen die Programmdaten 1144 zum Beispiel:
(a) eine oder mehrere Datenermittlungs-Nachrichten 406 für die Übertragung
zum Management-Server 302; (b) Download-Befehle 410,
die von dem Management-Server empfangen und als Angebotsdaten 426 gespeichert
werden; (c) eine Liste vertrauenswürdiger Quellen 428 zum
Authentifizieren von Daten, die von dem Management-Server empfangen werden;
(d) heruntergeladene Anwendungen 424, die ursprünglich von
dem Management-Server als eine oder mehrere Dateien bzw. ein oder
mehrere Pakete 432 empfangen worden sind; und (e) eine
Abfrage- und Download-Ereignisbeschreibungstabelle 422 zum
Speichern von Informationen zum Planen von Datenermittlungs-Nachrichten
und Download-Anforderungen
für die Übertragung
zum Management-Server.
-
Der
Computer 1106 kann darüber
hinaus andere entfernbare/nicht entfernbare, flüchtige/nicht flüchtige Computerspeichermedien
enthalten. Nur als Beispiel stellt 11 ein
Festplattenlaufwerk 1124, das aus nicht entfernbaren, nicht
flüchtigen
magnetischen Medien ausliest oder auf nicht entfernbare, nicht flüchtige magnetische
Medien schreibt, ein Magnetplattenlaufwerk 1126, das aus
einer entfernbaren, nicht flüchtigen Magnetplatte 1128 ausliest
oder auf eine entfernbare, nicht flüchtige Magnetplatte 1128 schreibt,
und ein optisches Plattenlaufwerk 1130 dar, das aus einer
entfernbaren, nicht flüchtigen optischen
Platte 1132 ausliest oder auf eine entfernbare, nicht flüchtige optische
Platte 1132 schreibt, wie zum Beispiel eine CD-ROM oder andere
optische Medien. Andere entfernbare/nicht entfernbare, flüchtige/nicht
flüchtige
Computerspeichermedien, die in der beispielhaften Betriebsumgebung
eingesetzt werden können,
umfassen Magnetbandkassetten, Flash-Speicherkarten, digitale vielseitige
Scheiben, digitale Videobänder,
Halbleiter-RAM, Halbleiter-ROM und dergleichen, sind aber nicht
auf diese beschränkt.
Das Festplattenlaufwerk 1124, das Magnetplattenlaufwerk 1126 und
das optische Plattenlaufwerk 1130 werden üblicherweise
durch eine oder mehrere feste oder entfernbare Speicherschnittstellen
wie zum Beispiel die Schnittstelle 1134 mit dem Systembus 1121 verbunden.
-
Die
oben erörterten
und in 11 dargestellten Laufwerke und
die mit ihnen verknüpften
Computerspeichermedien stellen die Speicherung von computerlesbaren
Befehlen, Datenstrukturen, Programm-Modulen und anderen Daten für den Computer 1106 bereit.
In 11 wird ein Festplattenlaufwerk 1124 zum
Beispiel so dargestellt, dass es ein Betriebssystem 1137,
Anwendungsprogramme 1139, andere Programm-Module 1143 und
Programmdaten 1145 speichert. Es ist zu beachten, dass
diese Komponenten entweder dieselben wie ein Betriebssystem 1136,
Anwendungsprogramme 1138, andere Programm-Module 1142 und
Programmdaten 1144 oder andere als diese sein können; es
werden ihnen hier andere Bezugszeichen zugeordnet, um darzustellen,
dass es sich zumindest um unterschiedliche Kopien handelt. Ein Benutzer
kann Befehle und Informationen über
Eingabevorrichtungen wie zum Beispiel eine Tastatur 1146 und
ein Zeigegerät 1148,
das im Allgemeinen als Maus, Trackball oder Berührungsfeld bezeichnet wird,
in den Computer eingeben 1106. Andere Eingabevorrichtungen
(ohne Abbildung) können
ein Mikrofon, einen Joystick, ein Gamepad, eine Parabolantenne,
einen Scanner oder dergleichen umfassen. Diese und andere Eingabevorrichtungen
werden häufig
durch eine Benutzereingabeoberfläche 1150,
die mit dem Systembus verbunden ist, an die Verarbeitungseinheit 1114 angeschlossen,
können
jedoch durch andere Schnittstellen- und Busstrukturen wie zum Beispiel einen
Parallelanschluss, einen Gameport oder einen universellen seriellen
Bus (USB) angeschlossen werden. Ein Bildschirm 1152 oder
eine andere Art von Anzeigegerät
wird ebenfalls über
eine Schnittstelle wie zum Beispiel eine Videoschnittstelle 11308 an
den Systembus 1121 angeschlossen. Über den Bildschirm hinaus können Computer
außerdem
andere periphere Ausgabegeräte
(ohne Abbildung) wie zum Beispiel Lautsprecher oder einen Drucker
umfassen, die durch eine periphere Ausgabeschnittstelle 1155 angeschlossen
werden können.
-
Der
Computer ist so konzipiert, dass er unter Verwendung von logischen
Verbindungen mit einem oder mehreren Ferncomputern wie zum Beispiel
mit einem Ferncomputer 1102 in einer vernetzten Umgebung
arbeitet. Der Ferncomputer 1102 kann eine mobile Clientvorrichtung,
ein Personal-Computer, ein Management-Server, ein Router, ein Netzwerk-PC,
eine Peer-Vorrichtung oder ein anderer gemeinsamer Netzwerkknoten
sein und umfasst üblicherweise
viele oder alle der oben mit Bezug auf den Computer 1106 beschriebenen
Elemente, obwohl nur eine Speichervorrichtung 1169 in 11 dargestellt
worden ist. Die in 11 dargestellten logischen Verbindungen
umfassen ein lokales Netzwerk (LAN) 1157 und ein Weitverkehrsnetz (WAN) 1159,
sie können
jedoch darüber
hinaus andere Netzwerke wie zum Beispiel Heimnetzwerke, Organisationsintranets
und so weiter umfassen. Solche Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken,
Intranets und im Internet verbreitet.
-
Wenn
er in einer LAN-Netzwerkumgebung eingesetzt wird, wird der Computer 1106 durch
eine Netzwerkschnittstelle oder einen Netzwerkadapter 1166 mit
dem LAN 1157 verbunden. Wenn er in einer WAN-Netzwerkumgebung
eingesetzt wird, umfasst der Computer 1106 üblicherweise
ein Modem 1158 oder eine andere Einrichtung zum Aufbauen
einer Übertragungsverbindung über das
WAN 1159 wie zum Beispiel das Internet. Das Modem 1158,
das ein internes oder ein externes sein kann, kann über die
Benutzereingabeoberfläche 1150 oder
eine andere geeignete Vorrichtung mit dem Systembus 1121 verbunden
sein. In einer vernetzten Umgebung können die mit Bezug auf den
Computer 1106 dargestellten Programm-Module oder Teile
davon in der Fernspeichervorrichtung gespeichert werden. Beispielsweise,
und ohne einschränkend
zu wirken, stellt 11 Fernanwendungsprogramme 1169 so
dar, dass sie sich auf der an den Computer 1102 angeschlossenen
Speichervorrichtung befinden. Es ist zu erkennen, dass die dargestellten
Netzwerkverbindungen beispielhaft sind und andere Einrichtungen
zum Aufbauen einer Übertragungsverbindung
zwischen den Computern verwendet werden können.
-
Die
Clientvorrichtung 304 mit beschränkten Ressourcen wird unter
Verwendung von Technologien implementiert, die denjenigen in 11 ähnlich sind,
wenn auch in beschränkterem
Umfang. Des Weiteren verfügt
eine Clientvorrichtung mit beschränkten Ressourcen wie zum Beispiel
ein PDA, ein Mobiltelefon, ein Taschen-PC usw. üblicherweise nicht über alle
in 11 dargestellten Funktionalitäten. Zum Beispiel verfügt eine
Clientvorrichtung mit beschränkten
Ressourcen häufig
nicht über
Laufwerke für
entfernbare magnetische Medien wie zum Beispiel Disketten oder CD-ROMs.
Solche Clients haben üblicherweise
viel weniger Speicherkapazität,
kleinere Anzeigegeräte
und Tastaturen sowie langsamere und weniger leistungsfähige Prozessoren. Des
Weiteren verfügen
viele solcher Vorrichtungen über
elektronischen Flash-Speicher anstelle einer Festplatte. Darüber hinaus
führen
Vorrichtungen mit beschränkten
Ressourcen üblicherweise
ein Betriebssystem aus, das nicht über den vollständigen Satz
an von Desktop-Betriebssystemen
unterstützten
Funktionen verfügt. Vorrichtungen
mit beschränkten
Ressourcen können
zum Beispiel eher das Betriebssystem Windows CE® als das
Betriebssystem Windows XP® ausführen.
-
Alternative Ausführungsformen
-
Das
Anwendungslieferungs- und Konfigurationsrahmenwerk 300 aus
den 3 und 4 kann auf unterschiedliche
Weisen implementiert werden. Bei einer Ausformung empfängt die
Mobilvorrichtung 304 zum Beispiel eher eine Paket-Identifizierungsliste
(ID-Liste) von der Inventar- und Ermittlungskomponente 402,
als unmittelbar ausführliche
Download-Befehle
in Reaktion auf das Übertragen
einer Datenermittlungs-Anforderung an den Management-Server 302 zu
empfangen. Die Paket-ID-Liste identifiziert eine beliebige Anzahl
von (unter Umständen
null) Paketen (d. h. von Angeboten 408), die seit der letzten
erfolgreichen Abfrage durch die Mobilvorrichtung bei einer URL für die Mobilvorrichtung
verfügbar
geworden ist. Jedes identifizierte Paket ist für den mobilen Client zum Download
und zum Installieren verfügbar.
Die Verteilungskomponente 404 überträgt die erzeugte Paket-ID-Liste
als eine oder mehrere elektronische Dateien 410 an den
mobilen Client.
-
Im
Allgemeinen ist die Paket-ID-Liste im Wesentlichen klein im Vergleich
zu der Bytegröße einer
Datei, die alle Download-Befehle für alle verfügbaren Pakete enthält. Der
Grund dafür
ist, dass die Paket-ID-Liste keine ausführlichen Download-Informationen
(z. B. Bedingungen für
den Download, den Download-Ort, das bevorzugte Netzwerk-Transportmedium und
so weiter) enthält.
Stattdessen enthält
die Paket-ID-Liste nur die Informationen, die für die Mobilvorrichtung 304 oder
einen Benutzer der Mobilvorrichtung erforderlich sind, um jeweils
automatisch oder manuell zu ermitteln, dass es erwünscht ist,
dass das Paket nachfolgend heruntergeladen und geliefert wird (z.
B. als verbindliches Administrator-Download gegenüber einem
vom Benutzer erwünschten
Download).
-
Die
Paket-ID-Liste kann zum Beispiel für jedes dargestellte Paket
Folgendes angeben: einen Namen der Quelle, einen Namen des Angebots,
eine Größe des Angebots
(z. B. in Byte), einen Preis, eine kurze und/oder lange Beschreibung
und/oder eine Angabe, ob das Paket erforderlich ist – mit anderen
Worten, gerade genügend
Informationen, um zu ermitteln, ob das Paket automatisch durch die
Mobilvorrichtung heruntergeladen werden soll oder ob es dem Benutzer
zur manuellen Download-Auswahl angeboten werden soll. Eine beispielhafte
Benutzeroberfläche
(user interface – UI)
für die
benutzerspezifische Autorisierung zum Download eines bestimmten
Pakets wurde in vorhergehenden Teilen dieser Erörterung dargelegt.
-
Bei
einer Ausformung umfasst die Paket-ID-Liste nur die Angabe der Paket-ID
und die erforderlichen Angaben, wenn ein bestimmtes Paket erforderlich
oder verbindlich ist. Die Abfrage- und Benachrichtigungskomponente 412 markiert
den Status „erforderlich", so dass automatisch
entsprechende ausführliche
Download-Befehle von dem Management-Server 302 angefordert werden.
-
In
Reaktion auf das Ermitteln, dass ein Paket verpflichtend (d. h.
erforderlich) oder durch einen Benutzer erwünscht ist, überträgt die Abfrage- und Benachrichtigungskomponente 412 eine
Anforderung zum Empfangen von entsprechenden Download-Befehlen von
dem Management-Server 302. Wie oben erörtert, enthalten die Download-Befehle
ausführliche
Download-Informationen über
ein oder mehrere Pakete 408 oder Angebote, und jedes Angebot
kann den Download von einer oder mehreren Dateien enthalten. Die
Download-Befehle können
darüber
hinaus Bedingungen angeben, unter denen das Angebot heruntergeladen
werden soll, wie auch eine URL (einen einheitlichen Ortsangeber
für Ressourcen),
von der das Angebot heruntergeladen werden kann.
-
In
Reaktion auf das Empfangen der Download-Befehlsanforderung von dem
mobilen Client 304 überträgt, wie
oben erörtert,
die Verteilungskomponente 404 Download-Befehle für das angegebene Paket bzw.
die angegebenen Pakete 408 als eine oder mehrere elektronische
Dateien 410 an den mobilen Client. Diese Download-Befehle
werden für
die Ausführung
durch die Planungskomponente 304 gemäß den oben mit Bezug auf 3–11 erörterten
Vorgängen
geplant.
-
Obwohl
die Datenermittlungs-Nachrichten und Download-Befehlsanforderungen
sowie die Paket-ID-Listen und Download-Befehle in diesem Beispiel
jeweils als eine oder mehrere elektronische Dateien 406 und 410 dargestellt
werden, erfolgt dies nur zum Zweck der Erörterung, und jede Nachricht
stellt eine getrennte und unabhängige
Nachricht dar.
-
Schlussbemerkung
-
Obwohl
die Erfindung in einer Sprache beschrieben worden ist, die kennzeichnend
für die
Strukturmerkmale und/oder methodologischen Vorgänge oder Aktionen ist, ist
es selbstverständlich,
dass die in den beigefügten
Ansprüchen
definierte Erfindung nicht unbedingt auf die beschriebenen spezifischen
Merkmale oder Aktionen beschränkt
ist. Vielmehr werden die spezifischen Merkmale und Aktionen als
bevorzugte Formen der Ausformung der beanspruchten Erfindung offengelegt.
-
ANHANG A
-
Ein beispielhaftes Schema
für Download-Befehle
-
Zum
Zweck der Veranschaulichung stellen fett gedruckte Zeichen in dem
folgenden XML-Schema Beispiele für
Bezeichner, Datentypen, Einschränkungen
usw. dar.
-
-
ANHANG
A (Fortsetzung) Ein
beispielhaftes Schema für
Download-Befehle
-
ANHANG B
-
Eine beispielhafte Planer-API
-
Das
Folgende stellt eine beispielhafte Planer-API
430 aus
4 dar:
ANHANG
B (Fortsetzung) Eine
beispielhafte Planer-API
ANHANG
B (Fortsetzung) Eine
beispielhafte Planer-API
ANHANG
B (Fortsetzung) Eine
beispielhafte Planer-API
ANHANG
B (Fortsetzung) Eine
beispielhafte Planer-API
ANHANG
B (Fortsetzung) Eine
beispielhafte Planer-API