DE60320486T2 - Systeme und Verfahren zur Lieferung von Anwendungen und zur Konfigurationsverwaltung für mobile Geräte - Google Patents

Systeme und Verfahren zur Lieferung von Anwendungen und zur Konfigurationsverwaltung für mobile Geräte Download PDF

Info

Publication number
DE60320486T2
DE60320486T2 DE60320486T DE60320486T DE60320486T2 DE 60320486 T2 DE60320486 T2 DE 60320486T2 DE 60320486 T DE60320486 T DE 60320486T DE 60320486 T DE60320486 T DE 60320486T DE 60320486 T2 DE60320486 T2 DE 60320486T2
Authority
DE
Germany
Prior art keywords
download
management server
user
mobile device
commands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60320486T
Other languages
English (en)
Other versions
DE60320486D1 (de
Inventor
John Wickens Lamb Redmond Merrill
Eric Lawrence Albert Sammamish Lantz
Luis E. Snohomish Esparragoza
Marcelo Seattle Truffat
Dennis Craig Seattle Marl
Russell Todd Redmond Wilson
Udiyan Ilanjeran Redmond Padmanabhan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60320486D1 publication Critical patent/DE60320486D1/de
Publication of DE60320486T2 publication Critical patent/DE60320486T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Description

  • 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.
  • 710 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 411 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 710 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
    Figure 00190001
  • 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 710 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 710 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
  • 710 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 311 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.
  • Figure 00340001
  • ANHANG A (Fortsetzung) Ein beispielhaftes Schema für Download-Befehle
    Figure 00350001
  • ANHANG B
  • Eine beispielhafte Planer-API
  • Das Folgende stellt eine beispielhafte Planer-API 430 aus 4 dar:
    Figure 00360001
    ANHANG B (Fortsetzung) Eine beispielhafte Planer-API
    Figure 00370001
    ANHANG B (Fortsetzung) Eine beispielhafte Planer-API
    Figure 00380001
    ANHANG B (Fortsetzung) Eine beispielhafte Planer-API
    Figure 00390001
    ANHANG B (Fortsetzung) Eine beispielhafte Planer-API
    Figure 00400001
    ANHANG B (Fortsetzung) Eine beispielhafte Planer-API
    Figure 00410001

Claims (43)

  1. Verfahren zum Durchführen von Konfigurations-Management an einer Mobilvorrichtung (304), wobei das Verfahren durch die Mobilvorrichtung durchgeführt wird und das Verfahren umfasst: Übertragen einer Anforderung (504) zu einem Server (302), wobei die Anforderung eine Zeit eines letzten erfolgreichen Download von einer URL anzeigt, die von dem Server gehostet wird; in Reaktion auf das Übertragen der Anforderung, die die Zeit des letzten erfolgreichen Download anzeigt, Empfangen (514) eines Satzes von Download-Befehlen von dem Server, wobei die Download-Befehle auf Basis eines Schemas formatiert werden und einen Ort anzeigen, von dem ein oder mehrere Angebot/e (410) herunterzuladen ist/sind, wobei das eine oder die mehreren Angebot/e seit der Zeit des letzten erfolgreichen Download verfügbar gemacht worden sind; Ermitteln des einen oder der mehreren Angebote/s aus den empfangenen Download-Befehlen; Informieren (520) eines Benutzers der Mobilvorrichtung über die ermittelten verfügbaren Angebote; Empfangen einer Auswahl-Anforderung (522) von dem Benutzer der Mobilvorrichtung, die eine gewünschte Aktion anzeigt, die wenigstens einem Angebot von dem einen oder den mehreren ermittelten Angebot/en entspricht; und Durchführen der gewünschten Aktion auf Basis von Informationen, die durch die Download-Befehle bereitgestellt werden.
  2. Verfahren nach Anspruch 1, wobei Übertragungen zwischen der Mobilvorrichtung und dem Server über ein sicheres Protokoll stattfinden.
  3. Verfahren nach Anspruch 2, wobei das sichere Protokoll HTTPS ist.
  4. Verfahren nach Anspruch 1, wobei Durchführen der gewünschten Aktion des Weiteren Präsentieren einer kurzen oder langen Beschreibung des wenigstens einen Angebotes für den Benutzer zur Begutachtung umfasst.
  5. Verfahren nach Anspruch 1, das des Weiteren umfasst: Exponieren einer Anwendungsprogrammierschnittstelle zum Hinzufügen oder Entfer nen von Informationen zu/von einer Liste vertrauenswürdiger Quellen; und Authentifizieren der Download-Befehle anhand einer Liste vertrauenswürdiger Quellen.
  6. Verfahren nach Anspruch 1, das des Weiteren Exponieren einer Anwendungsprogrammierschnittstelle zum Definieren eines oder mehrer Ereignisse/s umfasst, die von der Mobilvorrichtung genutzt werden können, um Scheduling einer Datei zum Herunterladen durchzuführen, wobei die Datei durch die empfangenen Download-Befehle identifiziert wird.
  7. Verfahren nach Anspruch 1, wobei Durchführen der gewünschten Aktion des Weiteren umfasst, dass angezeigt wird, dass der Benutzer nicht an dem wenigstens einen Angebot interessiert ist, indem das wenigstens eine Angebot aus einer lokal gecachten Angebotsliste entfernt wird.
  8. Verfahren nach Anspruch 1, wobei Durchführen der gewünschten Aktion des Weiteren umfasst: Übertragen einer Download-Anforderung zu dem Ort; in Reaktion auf das Übertragen der Download-Anforderung Empfangen des wenigstens einen Angebotes durch die Mobilvorrichtung; und Installieren des wenigstens einen Angebotes als eine oder mehrere Datei/en auf der Mobilvorrichtung.
  9. Verfahren nach Anspruch 1, wobei Durchführen der gewünschten Aktion des Weiteren umfasst: Scheduling eines Ereignisses auf Basis bestimmter Kriterien, wobei das Ereignis einer Übertragung einer Download-Anforderungsnachricht zu dem Ort entspricht; in Reaktion auf das Auftreten des Ereignisses Übertragen der Download-Anforderungsnachricht zu dem Ort; und in Reaktion auf das Übertragen der Download-Anforderungsnachricht Empfangen des wenigstens einen Angebotes durch die Mobilvorrichtung.
  10. Verfahren nach Anspruch 9, wobei die speziellen Kriterien auf einer Benutzereingabe, Koordinierungsinformationen, die durch die Download-Befehle bereitgestellt werden, einem Hardware-Ereignis oder einem Software-Ereignis oder einer Kombination aus mehreren von ihnen basieren.
  11. Verfahren nach Anspruch 1, das des Weiteren Empfangen vertrauenswürdiger Daten von einer nicht vertrauenswürdigen Server-Quelle durch Authentifizieren der Download-Befehle anhand einer Liste vertrauenswürdiger Quellen umfasst.
  12. Verfahren nach Anspruch 11, wobei die Mobilvorrichtung eine Mobilvorrichtung ist, die nicht durch eine Firmen-Firewall geschützt wird.
  13. Verfahren nach Anspruch 11, wobei weitere Vorgänge der Mobilvorrichtung umfassen: in Reaktion auf ein Ermitteln von Authentizität der Download-Befehle Anfordem wenigstens eines Teils des einen oder der mehreren Angebote/s; in Reaktion auf ein Anfordern des Teils Empfangen des Teils von dem Server; Ermitteln von Authentizität des Teils über eine Hash-Funktion; und in Reaktion auf ein Authentifizieren des Teils Installieren des Teils in einem Mobilvorrichtungs-Speicher.
  14. Computerlesbares Medium, das Computerprogramm-Befehle zum Durchführen von Konfigurations-Management einer Mobilvorrichtung umfasst, wobei die Computerprogramm-Befehle von einem Computer ausgeführt werden können und dazu dienen, Vorgänge eines Verfahrens nach Anspruch 1 durchzuführen.
  15. Mobilvorrichtung, die einen Prozessor umfasst, der mit einem Speicher verbunden ist, wobei der Speicher Computerprogramm-Befehle zum Durchführen von Konfigurations-Management einer Mobilvorrichtung umfasst und der Prozessor so konfiguriert ist, dass er die Computerprogramm-Befehle aus dem Speicher abruft und ausführt, um Vorgänge eines Verfahrens nach Anspruch 1 durchzuführen.
  16. Systemmanagement-Rahmenwerk (300), das einen Management-Server (302) und eine Mobil-Computervorrichtung (304) umfasst, wobei der Management-Server (302) so konfiguriert ist, dass er Download-Befehle zun Konfigurations-Management von Mobil-Computervorrichtungen (304) überträgt, wobei die Download-Befehle durch den Management-Server (302) in Reaktion auf ein Empfangen einer Anzeige einer Zeit eines letzten erfolgreichen Download von einer URL, die von dem Management-Server (302) gehostet wird, von der Mobil-Computervorrichtung (304) ermittelt werden; und die Mobil-Computervorrichtung (304) so konfiguriert ist, dass sie mit dem Management-Server über eine nicht dauerhafte Verbindung in Verbindung treten kann, und die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie die Download-Befehle (410) von dem Management-Server anfordern und empfangen kann; und die Mobil-Computervorrichtung (304) des Weiteren so konfiguriert ist, dass sie aus den empfangenen Download-Befehlen (410) einen Satz von Angeboten ermittelt, die zum Download und zur Installation durch die Mobil-Computervorrichtung verfügbar sind, wobei die Angebote die eine oder mehreren Datei/en darstellen; die Mobil-Computervorrichtung (304) des Weiteren so konfiguriert ist, dass sie es einem Benutzer der Mobilvorrichtung gestattet, Download und Installation einer oder mehrerer Datei/en zu akzeptieren oder abzulehnen, die seit einem letzten durch die Mobil-Computervorrichtung durchgeführten erfolgreichen Download-Vorgang verfügbar sind; und die Mobil-Computervorrichtung (304) des Weiteren so konfiguriert ist, dass sie dem Benutzer der Mobilvorrichtung alle ermittelten verfügbaren Angebote mitteilt; und die Mobil-Computervorrichtung (304) des Weiteren so konfiguriert ist, dass sie den Download und die Installation auf Basis einer Benutzerauswahl in Reaktion auf die Mitteilung über die ermittelten verfügbaren Angebote annehmen oder ablehnen kann.
  17. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Download-Befehle zu der Mobil-Computervorrichtung als separate Nachrichten übertragen werden, eine erste Nachricht eine Paket-Identifizierungsliste umfasst und eine zweite Nachricht detaillierte Download-Befehle für ein oder mehrere Pakete umfasst, das/die in der Paket-Identifizierungsliste angegeben ist/sind.
  18. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung so konfiguriert ist, dass sie die Download-Befehle von dem Management-Server entsprechend einem XML-Schema empfangt.
  19. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei Übertragungen zwischen dem Management-Server und der Mobil-Computervorrichtung unter Verwendung eines Secure-Socket-Layer-Protokolls zum sicheren Senden von Daten über das World Wide Web durchgeführt werden.
  20. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie wenigstens einen Teil der Angebote über eine Benutzerschnittstelle anzeigt, wobei die Benutzerschnittstelle Benut zerauswahl eines Angebotes des Teils zur anschließenden Lieferung und Konfiguration des Mobil-Client ermöglicht.
  21. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobilvorrichtung des Weiteren so konfiguriert ist, dass sie eine Datenermittlungs-Anforderung überträgt, die eine Anzeige des letzten erfolgreichen Download-Vorgangs umfasst; und wobei der Management-Server des Weiteren so konfiguriert ist, dass er in Reaktion auf Empfangen der Datenermittlungs-Anforderung eine oder mehrere Datei/en auf Basis der Anzeige identifiziert; die Angebote aktualisiert, um die eine oder die mehreren Datei/en anzuzeigen; und die Download-Befehle zu der Mobil-Computervorrichtung überträgt.
  22. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie Vorgänge durchführt, die umfassen: Ermitteln, dass der Benutzer ein bestimmtes Angebot der Angebote zur Lieferung an die Mobilvorrichtung ausgewählt hat; Übertragen einer Download-Anforderungsnachricht zu dem Management-Server, um die Lieferung einzuleiten; und Empfangen der Lieferung, die das bestimmte Angebot umfasst, von dem Management-Server.
  23. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie Vorgänge durchführt, die umfassen: Ermitteln, dass der Benutzer ein bestimmtes Angebot der Angebote zum Download ausgewählt hat; Scheduling von Download des bestimmten Angebotes auf Basis eines oder mehrerer vom Benutzer angegebener Kriteriums/Kriterien; in Reaktion auf das Auftreten des/der von dem Benutzer angegebenen einen/mehreren Kriteriums/Kriterien Übertragen einer Download-Anforderungsnachricht zu einem Server, um Download des bestimmten Angebots einzuleiten, wobei der Ser ver aus dem Management-Server oder einem anderen Server ausgewählt wird, der unabhängig von dem Management-Server ist; und Empfangen des bestimmten Angebots von dem Server.
  24. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie Vorgänge durchführt, die umfassen: Speichern der Angebote in einem lokalen Cache zur Anzeige an einen Benutzer unabhängig von einer Verbindung zu dem Management-Server; und Entfernen von Informationen, die einem Angebot der Angebote entsprechen, aus dem lokalen Cache in Reaktion auf erfolgreichen Download und Installation des Angebotes.
  25. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie automatisch ermittelt, ob ein verfügbares Angebot erforderlich ist; und in Reaktion auf Identifizieren eines erforderlichen Angebotes das erforderliche Angebot unabhängig von Benutzereingriff automatisch herunterlädt und installiert.
  26. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung des Weiteren so konfiguriert ist, dass sie in Reaktion auf das Auftreten eines vorkonfigurierten Ereignisses eine Datenermittlungs-Anforderung zu dem Management-Server überträgt; und wobei der Management-Server des Weiteren so konfiguriert ist, dass er in Reaktion auf Empfang der Datenermittlungs-Anforderung die Download-Befehle zu der Mobil-Computervorrichtung überträgt, wobei die Download-Befehle selektiv durch die Mobil-Computervorrichtung ausgeführt werden können, um Download der Angebote anzufordern.
  27. Systemmanagement-Rahmenwerk nach Anspruch 26, wobei das vorkonfigurierte Ereignis ein Kaltstart (cold-boot) der entfernten Computervorrichtung ist.
  28. Systemmanagement-Rahmenwerk nach Anspruch 26, wobei Scheduling des vorkonfigurierten Ereignisses von dem Benutzer durchgeführt wird.
  29. Systemmanagement-Rahmenwerk nach Anspruch 26, wobei vorgesehen ist, dass das vorkonfigurierte Ereignis zu einer beliebig ausgewählten Zeit auftritt.
  30. Systemmanagement-Rahmenwerk nach Anspruch 16, wobei die Mobil-Computervorrichtung und der Management-Server des Weiteren so konfiguriert sind, dass sie ein Mehrfachsignatur-System zur Lieferung einer vertrauenswürdigen Anwendung von einem nichtvertrauenswürdigen Server implementieren.
  31. Systemmanagement-Rahmenwerk nach Anspruch 30, wobei die Mobil-Computervorrichtung so konfiguriert ist, dass sie einen Teil des Mehrfachsignatur-Systems implementiert, indem sie die folgenden Vorgänge durchführt: Speichern einer Liste vertrauenswürdiger Quellen; Authentifizieren empfangener Download-Befehle über Informationen in der Liste vertrauenswürdiger Quellen; und in Reaktion auf erfolgreiche Verifizierung empfangener Download-Befehle Anfordern und Empfangen eines oder mehrerer Angebote/s von wenigstens einem Ort, der durch die empfangenen Download-Befehle angegeben wird.
  32. Systemmanagement-Rahmenwerk nach Anspruch 30, wobei die Mobil-Computervorrichtung so konfiguriert ist, dass sie einen Teil des Mehrfachsignatur-Systems implementiert, indem sie die folgenden Vorgänge durchführt: Speichern einer Liste vertrauenswürdiger Quellen; Authentifizieren empfangener Download-Befehle über Informationen in der Liste vertrauenswürdiger Quellen; in Reaktion auf erfolgreiche Verifizierung der empfangenen Download-Befehle Anfordern und Empfangen eines oder mehrerer Angebote/s von wenigstens einem Ort, der durch die empfangenen Download-Befehle angegeben wird; und Authentifizieren des einen oder der mehreren Angebote/s über eine oder mehrere Sicherheits-Hash-Funktion/en.
  33. Systemmanagement-Rahmenwerk nach einem der Ansprüche 16 bis 32, wobei die Mobil-Computervorrichtung eine Benutzerschnittstelle umfasst, die es dem Benutzer erlaubt, die Mobilvorrichtung selektiv mit einem oder mehreren Angeboten des zeitweise verbundenen Management-Servers zu konfigurieren, wobei die Benutzerschnittstelle umfasst: eine erste Benutzerschnittstellen-Komponente, die es dem Benutzer erlaubt, eine Datenermittlungs-Anforderung zu dem Management-Server zu senden; und einen zweiten Bereich, der anzeigt, ob der Management-Server über ein oder mehrere Angebot/e verfügt, die für die Mobilvorrichtung seit einem letzten erfolgreichen Download-Vorgang durch die Mobilvorrichtung von einer URL verfügbar sind, die mit dem Management-Server verknüpft ist, wobei der zweite Bereich mehrere durch Benutzer auswählbare Komponenten umfasst, die es dem Benutzer erlauben, alle verfügbaren Angebote zu betrachten oder zu ignorieren.
  34. Systemmanagement-Rahmenwerk nach Anspruch 33, wobei die Benutzerschnittstelle des Weiteren eine Dialogbox-Komponente umfasst, die auf Benutzereingabe zum a) Scheduling eines speziellen Angebotes des einen oder der mehreren Angebote/s zum Download auf die Mobilvorrichtung von dem Management-Server und b) Betrachten kurzer oder langer Beschreibungen des speziellen Angebotes anspricht.
  35. Systemmanagement-Rahmenwerk nach Anspruch 33, wobei die Benutzerschnittstelle des Weiteren eine Dialogbox-Komponente umfasst, die auf Benutzereingabe zum Angeben eines oder mehrerer Kriteriums/Kriterien zum Scheduling von Download eines speziellen Angebotes des einen oder der mehreren Angebote/s auf die Mobilvorrichtung anspricht, wobei das eine Kriterium bzw. die mehreren Kriterien auf Konnektivitäts-Attributen, Zeit und Kosten oder einer Kombination aus mehreren von ihnen basiert/basieren.
  36. Benutzerschnittstelle, die es einem Benutzer ermöglicht, selektiv eine Mobilvorrichtung (304) mit einem oder mehreren Angeboten von einem zeitweise verbundenen Management-Server zu konfigurieren, wobei die Benutzerschnittstelle umfasst: eine erste Benutzerschnittstellen-Komponente, die den Benutzer befähigt, eine Datenermittlungs-Anforderung (504) zu dem Management-Server (302) zu senden, wobei die Anforderung eine Zeit eines letzten erfolgreichen Download von einer URL anzeigt, die von dem Management-Server gehostet wird; und eine zweite Benutzerschnittstellen-Komponente, die anzeigt, ob der Management-Server über ein oder mehrere Angebot/e (410) verfügt, die für die Mobilvorrichtung seit einem letzten erfolgreichen Download-Vorgang durch die Mobilvorrichtung von einer mit dem Management-Server verknüpften URL verfügbar ist/sind, wobei die zweite Benutzerschnittstellen-Komponente mehrere durch Benutzer auswählbare Teile umfasst, die es dem Benutzer ermöglichen, alle verfügbaren Angebote zu betrachten oder zu ignorieren.
  37. Computerlesbares Medium, das Computerprogramm-Befehle umfasst, die von einem Computer zum Implementieren der Benutzerschnittstelle nach Anspruch 36 ausgeführt werden können.
  38. Ein computerlesbares Medium oder mehrere computerlesbare Medien, das/die Befehle für einen Konfigurationsmanagement-Server (203) zum Bereitstellen einer Anwendung zum Fernkonfigurieren einer Mobilvorrichtung (304) enthält/enthalten, wobei die Befehle durch den Management-Server (302) ausgeführt werden können, um Vorgänge durchzuführen, die umfassen: Empfangen (508) einer Datenermittlungs-Nachricht von einer Mobilvorrichtung (304), wobei die Datenermittlungs-Nachricht über eine nicht dauerhafte Verbindung zwischen dem Konfigurationsmanagement-Server und der Mobilvorrichtung empfangen wird und die Datenermittlungs-Nachricht eine Zeit eines letzten erfolgreichen Download anzeigt; und in Reaktion auf Empfangen der Datenermittlungs-Nachricht Anzeigen einer Zeit eines letzten erfolgreichen Download von einer URL, die von dem Konfigurationsmanagement-Server (302) gehostet wird, Ermitteln, dass wenigstens ein Angebot seit der Zeit des letzten erfolgreichen Download durch den Konfigurationsmanagement-Server (302) bereitgestellt worden ist; und Übertragen (512) von Download-Befehlen (410) zu der Mobilvorrichtung, wobei die Download-Befehle Informationen für die Mobilvorrichtung zum Ermitteln des wenigstens einen Angebotes umfassen und das ermittelte wenigstens eine Angebot durch die Mobilvorrichtung (304) genutzt wird, um einen Benutzer der Mobilvorrichtung über die ermittelten verfügbaren Dateien zu informieren, die durch die Angebote dargestellt werden.
  39. Ein computerlesbares Medium oder mehrere computerlesbare Medien nach Anspruch 38, wobei das wenigstens eine Angebot mit Hardware- und/oder Software-Attributen verknüpft ist, die mit der Mobilvorrichtung oder einer Identität eines Benutzers der Vorrichtung verknüpft sind.
  40. Ein computerlesbares Medium oder mehrere computerlesbare Medien nach Anspruch 38, wobei die Download-Befehle auf einem XML-Schema basieren.
  41. Ein computerlesbares Medium oder mehrere computerlesbare Medien nach Anspruch 38, wobei Übertragungen zwischen dem Computer und der Mobilvorrichtung unter Verwendung eines sicheren Netzwerkprotokolls durchgeführt werden.
  42. Ein computerlesbares Medium oder mehrere computerlesbare Medien nach Anspruch 38, wobei die Befehle des Weiteren durch den Computer ausgeführt werden können, um Vorgänge durchzuführen, die umfassen: Empfangen einer Anwendungs-Lieferungsanforderung von der Mobilvorrichtung, wobei die Anwendungs-Lieferungsanforderung gewünschten Download eines Paketes anzeigt, das wenigstens einem Teil des wenigstens einen Angebots entspricht; und in Reaktion auf Empfangen der Anwendungs-Lieferungsanforderung Übertragen des Paketes zu der Mobilvorrichtung.
  43. Konfigurationsmanagement-Server, der einen Prozessor und einen Speicher umfasst, der Computerprogramm-Befehle umfasst, wobei die Computerprogramm-Befehle dazu dienen, einer anfordernden Mobilvorrichtung eine Anwendung zu liefern, und der Prozessor so konfiguriert ist, dass er die Befehle zum Durchführen von Vorgängen nach Anspruch 38 ausführt.
DE60320486T 2002-06-28 2003-05-27 Systeme und Verfahren zur Lieferung von Anwendungen und zur Konfigurationsverwaltung für mobile Geräte Expired - Lifetime DE60320486T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US187312 2002-06-28
US10/187,312 US20040002943A1 (en) 2002-06-28 2002-06-28 Systems and methods for application delivery and configuration management of mobile devices

Publications (2)

Publication Number Publication Date
DE60320486D1 DE60320486D1 (de) 2008-06-05
DE60320486T2 true DE60320486T2 (de) 2009-05-07

Family

ID=29718038

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60320486T Expired - Lifetime DE60320486T2 (de) 2002-06-28 2003-05-27 Systeme und Verfahren zur Lieferung von Anwendungen und zur Konfigurationsverwaltung für mobile Geräte

Country Status (7)

Country Link
US (1) US20040002943A1 (de)
EP (1) EP1376930B1 (de)
JP (1) JP4519426B2 (de)
CN (1) CN100363921C (de)
AT (1) ATE393509T1 (de)
DE (1) DE60320486T2 (de)
TW (1) TWI327841B (de)

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169073A1 (en) * 2002-04-12 2007-07-19 O'neill Patrick Update package generation and distribution network
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US7653401B2 (en) * 2002-07-25 2010-01-26 Hai Qu Filtering of broadcast SMS messages
US20040021906A1 (en) * 2002-08-05 2004-02-05 Howard Dennis W. Peripheral device output job routing
US7149826B2 (en) * 2002-08-05 2006-12-12 Hewlett-Packard Development Company, L.P. Peripheral device output job routing
US7086051B2 (en) * 2002-08-21 2006-08-01 Defywire, Inc. Method and apparatus for just-in-time provisioning application-related information at a communication device
US7113776B2 (en) * 2002-08-30 2006-09-26 Qualcomm Inc. System and method for application and application metadata filtering based on wireless device capabilities
US20080313282A1 (en) * 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
TW589572B (en) * 2002-11-12 2004-06-01 Tatung Co Method for updating operating system
US9092286B2 (en) * 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
AU2003300431A1 (en) * 2002-12-31 2004-07-29 Bitfone Corporation Management of service components installed in an electronic device in a mobile services network
JP2004227080A (ja) * 2003-01-20 2004-08-12 Nec Corp 情報処理システム、携帯端末、及び、情報処理サーバ
US6944859B2 (en) * 2003-01-30 2005-09-13 Epocrates, Inc. System and method for automatically installing data on a handheld computer
US7337330B2 (en) * 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
SE0300670L (sv) * 2003-03-10 2004-08-17 Smarttrust Ab Förfarande för säker nedladdning av applikationer
US6728729B1 (en) * 2003-04-25 2004-04-27 Apple Computer, Inc. Accessing media across networks
US20040221022A1 (en) * 2003-04-30 2004-11-04 Gracyk Donna Jean Method and system for configuring a network node
US20050004954A1 (en) * 2003-07-01 2005-01-06 Hand Held Products, Inc. Systems and methods for expedited data transfer in a communication system using hash segmentation
US7367514B2 (en) 2003-07-03 2008-05-06 Hand Held Products, Inc. Reprogramming system including reprogramming symbol
US20050050174A1 (en) * 2003-09-03 2005-03-03 Shao-Tsu Kung Network system having automatic client configuration and method thereof
US7526771B2 (en) * 2003-11-12 2009-04-28 Ntt Docomo, Inc. Method and apparatus for configuring an application while the application is running
US8166422B2 (en) * 2003-11-21 2012-04-24 Kyocera Corporation System and method for arranging and playing a media presentation
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7546357B2 (en) * 2004-01-07 2009-06-09 Microsoft Corporation Configuring network settings using portable storage media
US20050198233A1 (en) * 2004-01-07 2005-09-08 Microsoft Corporation Configuring network settings of thin client devices using portable storage media
US7657612B2 (en) * 2004-01-07 2010-02-02 Microsoft Corporation XML schema for network device configuration
US20050198221A1 (en) * 2004-01-07 2005-09-08 Microsoft Corporation Configuring an ad hoc wireless network using a portable media device
US7769995B2 (en) * 2004-01-07 2010-08-03 Microsoft Corporation System and method for providing secure network access
JPWO2005073843A1 (ja) * 2004-01-28 2007-09-13 松下電器産業株式会社 セキュアデバイス、端末装置、ゲート機器、機器
GB2411801B (en) * 2004-03-05 2006-12-20 Toshiba Res Europ Ltd Wireless network
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
JP2005316610A (ja) * 2004-04-27 2005-11-10 Ntt Docomo Inc データ配信装置およびデータ配信方法
US7546299B2 (en) * 2004-05-12 2009-06-09 Alcatel-Lucent Usa Inc. Network supported network file sharing among mobile subscribers
US7600015B2 (en) * 2004-06-28 2009-10-06 Nokia Corporation User confirmation in data downloading
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8180860B2 (en) * 2004-08-24 2012-05-15 International Business Machines Corporation Wireless device configuration management
DE102004047368A1 (de) * 2004-09-29 2006-03-30 Siemens Ag Funkgestützte Kommunikationseinrichtung und Verfahren zum Updaten einer funkgestützten Kommunikationseinrichtung
US20060080659A1 (en) * 2004-10-13 2006-04-13 Jp Mobile Operating, L.P. System and method of provisioning software to mobile devices
US7710587B2 (en) * 2004-10-18 2010-05-04 Microsoft Corporation Method and system for configuring an electronic device
US9275052B2 (en) * 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US8131647B2 (en) * 2005-01-19 2012-03-06 Amazon Technologies, Inc. Method and system for providing annotations of a digital work
JP4734941B2 (ja) * 2005-01-31 2011-07-27 富士ゼロックス株式会社 カプセル化サーバ
US7826833B2 (en) * 2005-02-17 2010-11-02 Madhavan P G Channel assay for thin client device wireless provisioning
US7616588B2 (en) * 2005-03-31 2009-11-10 Microsoft Corporation Simplified creation and termination of an ad hoc wireless network with internet connection sharing
CA2604312C (en) * 2005-04-15 2014-12-09 Esprida Corporation Apparatus and method for managing a network of intelligent devices
CN100403690C (zh) * 2005-04-30 2008-07-16 华为技术有限公司 用户驻地设备配置管理方法及其系统
US8533097B2 (en) * 2005-05-16 2013-09-10 Jorge Arturo Maass Transaction arbiter system and method
JP4455403B2 (ja) * 2005-05-17 2010-04-21 キヤノン株式会社 管理方法及び管理装置
US20080096537A1 (en) * 2005-06-03 2008-04-24 Zeljko Milojkovic Operating A Mobile Device
US9824361B1 (en) * 2005-06-30 2017-11-21 Oracle America, Inc. System and method for discovering and managing remote assets related to distributed offerings
US10346149B1 (en) * 2005-06-30 2019-07-09 Oracle America, Inc. System and method for managing asset-side offering modules
US10235678B1 (en) * 2005-06-30 2019-03-19 Oracle America, Inc. System and method for managing distributed offerings
US8725610B1 (en) * 2005-06-30 2014-05-13 Oracle America, Inc. System and method for managing privacy for offerings
US9946585B1 (en) * 2005-06-30 2018-04-17 Oracle America, Inc. System and method for asset module isolation
US10657586B1 (en) * 2005-06-30 2020-05-19 Oracle America, Inc. System and method for dynamic offering deployment
US8577761B1 (en) * 2005-06-30 2013-11-05 Oracle America, Inc. System and method for dynamic offering topologies
US10733666B1 (en) 2005-06-30 2020-08-04 Sun Microsystems Inc. System and method for defining a privacy zone within a network
US8655757B1 (en) * 2005-06-30 2014-02-18 Oracle International Corporation System and method for assigning a unique asset identity
TWI273815B (en) * 2005-10-27 2007-02-11 Via Tech Inc File download system and method
US8346223B1 (en) * 2005-11-07 2013-01-01 Flurry, Inc. Delivering a customized service to a mobile device using a link
US20070109983A1 (en) * 2005-11-11 2007-05-17 Computer Associates Think, Inc. Method and System for Managing Access to a Wireless Network
EP1786140A1 (de) * 2005-11-15 2007-05-16 Siemens Aktiengesellschaft Serverunterstütztes Aufrufen von Anwenderprogrammen, Authentifizierung der Benutzer und Verbinden der gesicherten Netze
US20070143255A1 (en) * 2005-11-28 2007-06-21 Webaroo, Inc. Method and system for delivering internet content to mobile devices
US7934660B2 (en) 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US7676565B2 (en) * 2006-01-27 2010-03-09 Microsoft Corporation Light weight software and hardware inventory
US20070207800A1 (en) * 2006-02-17 2007-09-06 Daley Robert C Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US8352449B1 (en) 2006-03-29 2013-01-08 Amazon Technologies, Inc. Reader device content indexing
EP2025095A2 (de) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Geräteverwaltung in einem netzwerk
US8849913B2 (en) * 2006-06-23 2014-09-30 Sony Corporation Method and system for triggering activation of IMS applications on a mobile radio terminal
US20080005168A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Managing family information
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
CN100459602C (zh) * 2006-08-10 2009-02-04 华为技术有限公司 用于应用终端加载升级的控制方法和装置
WO2008022291A2 (en) * 2006-08-16 2008-02-21 Snapin Software Inc. Local triggering methods, such as applications for device-initiated diagnostic or configuration management
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
FR2911023B1 (fr) * 2006-12-29 2009-04-17 Radiotelephone Sfr Procede de securisation d'un flux de donnees.
US8572189B2 (en) * 2007-01-10 2013-10-29 Nuance Communications, Inc. Method and system for configuring E-mail for mobile devices
TW200830181A (en) * 2007-01-12 2008-07-16 An Chen Comp Co Ltd Mobile service device
US7751807B2 (en) 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US8024400B2 (en) 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US20080195962A1 (en) * 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US10089210B2 (en) * 2007-03-29 2018-10-02 Microsoft Technology Licensing, Llc Auto-generation of provider functionality
US20080243788A1 (en) * 2007-03-29 2008-10-02 Reztlaff James R Search of Multiple Content Sources on a User Device
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US8700005B1 (en) 2007-05-21 2014-04-15 Amazon Technologies, Inc. Notification of a user device to perform an action
US8635309B2 (en) 2007-08-09 2014-01-21 Hand Held Products, Inc. Methods and apparatus to change a feature set on data collection devices
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8190475B1 (en) * 2007-09-05 2012-05-29 Google Inc. Visitor profile modeling
US8964560B2 (en) * 2007-10-11 2015-02-24 Nokia Solutions And Networks Oy Apparatus, method, computer program product and system for requesting acknowledgment of transmitted data packets
US8839088B1 (en) 2007-11-02 2014-09-16 Google Inc. Determining an aspect value, such as for estimating a characteristic of online entity
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US20090182802A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Mobile device management scheduling
US8230436B2 (en) * 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US9544398B2 (en) 2008-02-15 2017-01-10 Good Technology Holdings Limited System and methods to store, retrieve, manage, augment and monitor applications on appliances
US9185554B2 (en) 2008-02-15 2015-11-10 Appcentral, Inc. System and methods to store, retrieve, manage, augment and monitor applications on appliances
US8225292B2 (en) * 2008-04-18 2012-07-17 Oracle America, Inc. Method and system for validating a knowledge package
US20090265586A1 (en) * 2008-04-18 2009-10-22 Sun Microsystems, Inc. Method and system for installing software deliverables
US7877461B1 (en) * 2008-06-30 2011-01-25 Google Inc. System and method for adding dynamic information to digitally signed mobile applications
US20100057910A1 (en) * 2008-09-02 2010-03-04 International Business Machines Corporation Concept for trusting client-side storage and distribution of asynchronous includes in an application server environment
US20100088367A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Mobile wireless communications device and system providing dynamic management of carrier applications and related methods
EP2175614B1 (de) * 2008-10-08 2013-04-10 Research In Motion Limited System und Verfahren zur Konfiguration einer Aktualisierungsfrequenz für Anwendungsaktualisierungen mobiler drahtloser Kommunikationsvorrichtungen und zugehörige Verfahren
EP2175366B1 (de) 2008-10-08 2012-10-10 Research In Motion Limited Server zum Senden neuer Anwendungsteile an mobile drahtlose Kommunikationsvorrichtungen und zugehörige Verfahren
EP2368362A4 (de) * 2008-12-24 2012-12-26 Lg Electronics Inc Iptv-empfänger und verfahren zum steuern einer anwendung in dem iptv-empfänger
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8378979B2 (en) * 2009-01-27 2013-02-19 Amazon Technologies, Inc. Electronic device with haptic feedback
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US9412137B2 (en) * 2009-04-01 2016-08-09 Honeywell International Inc. Cloud computing for a manufacturing execution system
US8555381B2 (en) * 2009-04-01 2013-10-08 Honeywell International Inc. Cloud computing as a security layer
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
US9218000B2 (en) 2009-04-01 2015-12-22 Honeywell International Inc. System and method for cloud computing
CN101959179B (zh) * 2009-07-17 2014-08-20 华为技术有限公司 一种提供移动终端应用程序的方法、服务器和移动终端
TWI488114B (zh) * 2009-07-22 2015-06-11 Mitake Information Corp 提供一行動裝置下載一相容軟體之裝置與方法
US8464243B2 (en) * 2009-08-21 2013-06-11 International Business Machines Corporation Updating client node of computing system
US8984657B2 (en) 2009-09-08 2015-03-17 Appcentral, Inc. System and method for remote management of applications downloaded to a personal portable wireless appliance
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8701104B2 (en) * 2009-12-14 2014-04-15 Opera Software Asa System and method for user agent code patch management
US8997092B2 (en) * 2010-02-03 2015-03-31 Symantec Corporation Method, system, and computer readable medium for provisioning and remote distribution
US8346796B2 (en) * 2010-04-23 2013-01-01 MobileRealtyApps.com, LLC System for searching property listings based on location
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
US9672022B2 (en) * 2010-06-23 2017-06-06 Microsoft Technology Licensing, Llc Applications including multiple experience modules
CN102348004B (zh) * 2010-08-04 2014-03-19 中国移动通信有限公司 一种业务组件的配置方法、系统及设备
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
US8517269B2 (en) 2010-11-09 2013-08-27 Hand Held Products, Inc. Using a user'S application to configure user scanner
US9342381B2 (en) 2011-02-03 2016-05-17 Symantec Corporation Method and system for establishing a DLP-compliant environment
KR101847073B1 (ko) 2011-02-11 2018-05-29 삼성전자주식회사 프로세싱 디바이스에서의 컨텐트 관리 방법 및 그 장치
US9301315B1 (en) * 2011-03-09 2016-03-29 Amdocs Software Systems Limited System, method, and computer program for transmitting network communications at a point in time automatically determined based on communication rates
JP2012221506A (ja) * 2011-04-07 2012-11-12 Kotatsu Kokusai Denshi Kofun Yugenkoshi ソフトウェアコンポーネント情報取得方法、ソフトウェアコンポーネント取得方法、サービスシステム
ES2429219B1 (es) * 2011-05-06 2014-09-03 Telefónica, S.A. Método de composición de cambios de configuración en un elemento de red
JP5847457B2 (ja) * 2011-06-27 2016-01-20 キヤノン株式会社 画像形成装置及びその処理方法
EP2727003A4 (de) * 2011-06-29 2015-03-11 Freestyle Technology Pty Ltd Systeme, verfahren, und/oder vorrichtung zur kommunikation zwischen geräten unter verwendung verschiedener kommunikationsprotokolle
US8707289B2 (en) 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US8701125B2 (en) 2011-09-06 2014-04-15 The Nielsen Company (Us), Llc Methods and apparatus to detect uninstallation of an on-device meter
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
EP2584754A1 (de) * 2011-10-17 2013-04-24 Alcatel Lucent Verfahren zur Verwaltung eines Netzwerks aus Clients
US9110750B2 (en) 2011-10-19 2015-08-18 Good Technology Corporation Application installation system
CN103907104B (zh) * 2011-10-27 2017-07-18 惠普发展公司,有限责任合伙企业 用于客户端设备远程管理的应用商店界面
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US9413893B2 (en) * 2012-04-05 2016-08-09 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
US8608053B2 (en) 2012-04-30 2013-12-17 Honeywell International Inc. Mobile communication terminal configured to display multi-symbol decodable indicia
US10044522B1 (en) 2012-08-21 2018-08-07 Amazon Technologies Inc. Tree-oriented configuration management service
US20140089376A1 (en) * 2012-09-27 2014-03-27 John T. Caldas Control of applications installed on a remote device
JP6361099B2 (ja) * 2012-12-11 2018-07-25 セイコーエプソン株式会社 システム
US9645834B2 (en) 2013-01-18 2017-05-09 Good Technology Holdings Limited Methods for remote configuration of software applications
US9906398B1 (en) * 2013-03-11 2018-02-27 Amazon Technologies, Inc. Remote management of device settings
US9558508B2 (en) * 2013-03-15 2017-01-31 Microsoft Technology Licensing, Llc Energy-efficient mobile advertising
CN103747426B (zh) * 2013-09-30 2019-03-15 北京宝利明威软件股份有限公司 一种移动终端管理系统和管理方法
CN103561053B (zh) * 2013-09-30 2018-10-23 北京宝利明威软件股份有限公司 一种移动终端管理系统和管理方法
CN103560901B (zh) * 2013-09-30 2018-09-14 北京宝利明威软件股份有限公司 一种移动终端管理系统和管理方法
US9763081B2 (en) * 2013-11-21 2017-09-12 Apple Inc. System and method for policy control functions management mechanism
CN103763428B (zh) * 2013-12-12 2017-11-07 北京宝利明威软件股份有限公司 一种移动终端上的应用管理系统和方法
US20150178477A1 (en) * 2013-12-25 2015-06-25 Carrier Iq, Inc. Data Collection Privacy Agent to Ensure, Absent an Agreement, that Only Public Standards are Collected, and to Package Private Data Exclusively for Intended Recipients
CN104753893A (zh) * 2013-12-31 2015-07-01 北龙中网(北京)科技有限责任公司 移动app可信验证方法及装置
US10175851B2 (en) * 2014-02-19 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Methods, management servers, and computer program products for managing network devices
US9817646B1 (en) 2014-03-17 2017-11-14 Google Llc Multiplatform and multichannel distribution of web applications across devices
KR102341154B1 (ko) * 2014-06-03 2021-12-21 삼성전자주식회사 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
CN104035797A (zh) * 2014-06-13 2014-09-10 四川长虹电器股份有限公司 应用程序的分发方法和应用程序的接收方法
TW201604778A (zh) * 2014-07-29 2016-02-01 Acaia Corp 藍牙電子秤之韌體更新方法
WO2016139301A1 (de) * 2015-03-05 2016-09-09 Volkswagen Aktiengesellschaft Intelligenter elektronischer schlüssel mit mobilfunk-fähigkeit
US10503145B2 (en) 2015-03-25 2019-12-10 Honeywell International Inc. System and method for asset fleet monitoring and predictive diagnostics using analytics for large and varied data sources
CN105022832B (zh) * 2015-08-07 2018-11-13 广东欧珀移动通信有限公司 App应用程序安全下载的方法、移动终端及下载服务器
US10491590B2 (en) * 2015-10-12 2019-11-26 AssetWorks LLC System and method for verifying and redirecting mobile applications
US10657199B2 (en) 2016-02-25 2020-05-19 Honeywell International Inc. Calibration technique for rules used with asset monitoring in industrial process control and automation systems
US10776706B2 (en) 2016-02-25 2020-09-15 Honeywell International Inc. Cost-driven system and method for predictive equipment failure detection
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
TWI607912B (zh) * 2016-10-14 2017-12-11 光陽工業股份有限公司 Program updating method and system of vehicle
EP3346672B1 (de) * 2017-01-04 2019-08-21 Samsung Electronics Co., Ltd. Elektronische vorrichtung und verfahren zur gemeinsamen nutzung von anwendungen dafür
US11301574B1 (en) * 2017-12-21 2022-04-12 Securus Technologies, Llc Convert community device to personal device
TWI693565B (zh) * 2018-02-08 2020-05-11 鼎新電腦股份有限公司 資料部署方法及資料部署系統
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis
EP3884449A1 (de) * 2018-11-19 2021-09-29 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und system für eine netzwerkvorrichtung zum erhalt einer sicheren zustandsrepräsentation des zustandes eines netzwerks mit verteilter ledger-technologie
TWI813962B (zh) * 2021-03-05 2023-09-01 中華電信股份有限公司 企業雲網整合監控之建置與演進系統、方法及電腦可讀媒介
CN114661397B (zh) * 2022-03-22 2024-01-23 北京字跳网络技术有限公司 一种下载管理方法、装置、电子设备以及存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US637869A (en) * 1897-05-19 1899-11-28 Frederick A Hetherington Portable paving repair plant.
FI955188A (fi) * 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6643506B1 (en) * 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
JPH10207710A (ja) * 1997-01-16 1998-08-07 Casio Comput Co Ltd ソフトウエアダウンロードシステム及びメニュー作成システム
US6219698B1 (en) * 1997-12-19 2001-04-17 Compaq Computer Corporation Configuring client software using remote notification
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6272333B1 (en) * 1998-06-12 2001-08-07 Motorola, Inc. Method and apparatus in a wireless communication system for controlling a delivery of data
JP2000132401A (ja) * 1998-10-27 2000-05-12 Matsushita Electric Ind Co Ltd 車載用制御装置
US6378069B1 (en) * 1998-11-04 2002-04-23 Nortel Networks Limited Apparatus and methods for providing software updates to devices in a communication network
FI108390B (fi) * 1999-04-15 2002-01-15 Nokia Corp Põõtelaitteen palvelukomponenttien hallinta
WO2001033867A2 (en) * 1999-11-03 2001-05-10 Motorola Inc. A method for validating an application for use in a mobile communication device
US6775536B1 (en) * 1999-11-03 2004-08-10 Motorola, Inc Method for validating an application for use in a mobile communication device
CN1297206A (zh) * 1999-11-23 2001-05-30 倚天资讯股份有限公司 利用移动电话更新软件的个人数字助理系统与方法
US6226739B1 (en) * 1999-12-14 2001-05-01 International Business Machines Corporation Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web
JP2001223799A (ja) * 2000-02-10 2001-08-17 Nec Corp 移動体通信システムおよびプログラム伝送方法
JP2001273147A (ja) * 2000-03-27 2001-10-05 Toshiba Corp 情報配布方法、情報配布システム、情報配布サーバ、端末機器および記録媒体
US6789077B1 (en) * 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
WO2001099346A2 (en) * 2000-06-20 2001-12-27 Invertix Corporation Method and system for interconnecting remote intelligent devices with a network
AU2001276516A1 (en) * 2000-08-05 2002-02-18 Idesta Group Limited Mobile computing system architecture
US6782253B1 (en) * 2000-08-10 2004-08-24 Koninklijke Philips Electronics N.V. Mobile micro portal
WO2002044892A2 (en) * 2000-11-28 2002-06-06 4Thpass Inc. Method and system for maintaining and distributing wireless applications
JP2002175237A (ja) * 2000-12-05 2002-06-21 Mitsubishi Electric Corp 中継方式及びプログラム中継システム及び中継方法及び中継プログラムを記録したコンピュータで読み取り可能な記録媒体
US6907530B2 (en) * 2001-01-19 2005-06-14 V-One Corporation Secure internet applications with mobile code
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
GB2373677B (en) * 2001-03-19 2005-08-10 Nokia Mobile Phones Ltd Client server system
US7155425B2 (en) * 2001-05-15 2006-12-26 Nokia Corporation Mobile web services
US20030014436A1 (en) * 2001-06-27 2003-01-16 Spencer Donald J. Closed-loop delivery to integrated download manager
US7092734B2 (en) * 2001-08-06 2006-08-15 Samsung Electronics Co., Ltd. IOTA software download via auxiliary device
US20030041125A1 (en) * 2001-08-16 2003-02-27 Salomon Kirk C. Internet-deployed wireless system
US20030145316A1 (en) * 2002-01-25 2003-07-31 Mckinlay Eric System, method and computer program product for initiating a software download
KR100421624B1 (ko) * 2001-11-02 2004-03-11 (주) 한정문 플랫폼 독립적인 소프트웨어 자동 검색/배포/설치 장치 및그 방법
US7219140B2 (en) * 2001-12-05 2007-05-15 Dennis Craig Marl Configuration and management systems for mobile and embedded devices
US20030199282A1 (en) * 2002-01-15 2003-10-23 Cezary Marcjan Mobile telephone active messaging system
WO2003083688A1 (en) * 2002-03-22 2003-10-09 Sun Microsystems, Inc. Mobile download system

Also Published As

Publication number Publication date
TWI327841B (en) 2010-07-21
EP1376930B1 (de) 2008-04-23
US20040002943A1 (en) 2004-01-01
JP4519426B2 (ja) 2010-08-04
EP1376930A2 (de) 2004-01-02
ATE393509T1 (de) 2008-05-15
EP1376930A3 (de) 2004-09-01
CN100363921C (zh) 2008-01-23
JP2004062892A (ja) 2004-02-26
TW200402965A (en) 2004-02-16
CN1471008A (zh) 2004-01-28
DE60320486D1 (de) 2008-06-05

Similar Documents

Publication Publication Date Title
DE60320486T2 (de) Systeme und Verfahren zur Lieferung von Anwendungen und zur Konfigurationsverwaltung für mobile Geräte
US7516478B2 (en) Remote management of mobile devices
DE602004012870T2 (de) Verfahren und system zur benutzerauthentifizierung in einer benutzer-anbieterumgebung
CA2518439C (en) Enterprise console
DE69932003T2 (de) System und Verfahren zur Kontrolle einer Netzwerkverbindung
US10044765B2 (en) Method and apparatus for centralized policy programming and distributive policy enforcement
US20180240130A1 (en) System, information management method, and information processing apparatus
DE112015005024T5 (de) Öffnen lokaler Anwendungen von Browsern
US20020004824A1 (en) Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network
US8869234B2 (en) System and method for policy based privileged user access management
DE202013012485U1 (de) System für Browseridentität
DE102004006951A1 (de) Aktualisieren einer Druckserversoftware basierend auf Aktualisierungs-E-Mails
DE102008030523A1 (de) System und Verfahren zur sicheren Dateiübertragung
CN102460389A (zh) 用于将应用启动到现有的隔离环境中的系统和方法
EP1265417A2 (de) System und Verfahren zur Verwaltung von Geräten
US10192262B2 (en) System for periodically updating backings for resource requests
DE602004001704T2 (de) Kommunikationsgerät und Programm
US9231827B2 (en) Formalizing, diffusing and enforcing policy advisories and monitoring policy compliance in the management of networks
DE602005005435T2 (de) System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen
US10013237B2 (en) Automated approval
CN101978665A (zh) 对网络通信请求的选择性过滤
DE102011077513A1 (de) Verfahren zur sicheren Verarbeitung von Daten
KR101083868B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법 및 기록 매체
DE10118064A1 (de) Erweiterung Browser-Bezogener Internetseiteninhaltskennzeichen und Kennwortüberprüfung auf Kommunikationsprotokolle
DE112021005026T5 (de) Persistente quellwerte für angenommene alternative identitäten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition