DE60009489T2 - Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät - Google Patents

Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät Download PDF

Info

Publication number
DE60009489T2
DE60009489T2 DE60009489T DE60009489T DE60009489T2 DE 60009489 T2 DE60009489 T2 DE 60009489T2 DE 60009489 T DE60009489 T DE 60009489T DE 60009489 T DE60009489 T DE 60009489T DE 60009489 T2 DE60009489 T2 DE 60009489T2
Authority
DE
Germany
Prior art keywords
content
profile
hierarchical structure
server
identifiers
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
DE60009489T
Other languages
English (en)
Other versions
DE60009489D1 (de
Inventor
Bruce Poole Dorset JACKSON
Nigel Robert Salisbury BROOKES
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.)
Qualcomm Poole Ltd
Original Assignee
Elata Ltd
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
Priority claimed from GBGB9910164.4A external-priority patent/GB9910164D0/en
Priority claimed from GB9923640A external-priority patent/GB2352539B/en
Application filed by Elata Ltd filed Critical Elata Ltd
Publication of DE60009489D1 publication Critical patent/DE60009489D1/de
Application granted granted Critical
Publication of DE60009489T2 publication Critical patent/DE60009489T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Description

  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein System und ein Verfahren für das Verwalten der Verteilung von Inhalt zu einem Gerät.
  • Beschreibung des Standes der Technik
  • Inhalt, mit dem ein Gerät ausgestattet werden soll, kann eine Vielzahl von unterschiedlichen Formen annehmen. Beispielsweise können Datenfiles dem Gerät bereitgestellt werden für die Verwendung mit bestimmten Applikationen, die auf dem Gerät installiert sind. Weiterhin können bestimmte Applikationsprogramme zu dem Gerät verteilt werden für die Installation auf dem Gerät, um neue Funktionen zu unterstützen, beispielsweise Textverarbeitungsprogramme, Tabellenkalkulationsprogramme, E-Mail-Programme usw.
  • Bis heute hat sich der Hauptteil der Entwicklung von Techniken für die Verwaltung der Verteilung von Inhalt zu Geräten auf den Bereich von stationären Computergeräten, die mit einem Computernetzwerk verbunden sind, zentriert. Innerhalb solch einer Umgebung ist es dann möglich, eine lokalisierte Verwaltungsunterstützungsstruktur bereitzustellen, um Inhalt auf dem Netzwerk bereitzustellen und um den Zugriff von einzelnen Geräten auf diesen Inhalt zu steuern.
  • Beispielsweise beschreibt die US-A-5,692,129 eine Technik für das Verwalten von Anwendungsprogrammen in einem Computernetzwerk. Wenn ein Computernetzwerk innerhalb einer Organisation bereitgestellt wird, ist es für eine Verzeichnisdienst-Datenbank, die auf dem Computernetzwerk bereitgestellt wird, üblich, ein Verzeichnis vom "White-Pages"-Stil (Service, über den nach Netzwerkbenutzern gesucht werden kann) betreffend Personen und anderen Ressourcen innerhalb der Organisation bereitzustellen. Häufig sind solche Verzeichnisdienst-Datenbanken objektorientierte Datenbanken. In Übereinstimmung mit der Lehre der US-A-5,692,129 wird solch eine objektorientierte Datenbank angepaßt, um den Einschluß von Applikationsobjekte definierenden Softwareapplikationen, die auf dem Netzwerk verfügbar sind, zu unterstützen. Weiterhin werden bestimmte Typen von Objekten in der Datenbank, wie z. B. Benutzerobjekte, angepaßt, um die Spezifizierung von Desktop-Attributen zu erlauben. Ein Applikationsobjekt kann dann als ein Desktop-Attribut für solch ein Objekt hinzugefügt werden, um anzuzeigen, daß die entsprechende Applikation dem Benutzer, der durch das Objekt dargestellt wird, verfügbar gemacht werden sollte.
  • Zusätzlich spezifiziert die US-A-5,692,129 die Benutzung einer Startapplikation, die für einen bestimmten Benutzer ausgelegt sein kann, um das Objekt des Benutzers abzufragen und den Desktop des Benutzers anzupassen, um Icons für jede Applikation, die durch Applikationsobjekte, die in den Desktop-Attributen des Benutzerobjekts identifiziert sind, spezifiziert sind, bereitzustellen. Somit kann durch den obigen Ansatz der Desktop des Benutzers automatisch aktualisiert werden, um diejenigen Applikationen, die auf dem Netzwerk installiert sind und dem Benutzer für den Zugriff verfügbar sind, anzuzeigen. Die Applikationen selbst werden zentral auf dem Netzwerk gehalten und der Benutzer greift auf sie über das Netzwerk zu.
  • Die US-A-5,581,764 beschreibt eine Technik für die Verwaltung der Verteilung von Inhalt zu einem Gerät. In Übereinstimmung mit der Technik der D1 wird eine hierarchische Inhaltsstruktur für eine Gruppe von Geräten entwickelt, die in D1 als Schema bezeichnet wird. Innerhalb des Schemas werden eine oder mehrere dynamische Verbindungen bereitgestellt, die, wenn eine "Should-have"-(SH-) Liste für jedes bestimmte Gerät erzeugt wird, aufgelöst werden, um zu bestimmen, welcher Inhalt zu diesem Gerät bereitgestellt werden sollte. Um die Auflösung der dynamischen Verbindungen zu ermöglichen, wird ein ursprünglicher Abfrageprozeß erfordert, um die Werte von bestimmten Variablen des Gerätes zu bestimmen.
  • Während diese Technik klar vorteilhaft bei Computergeräten ist, die permanent mit dem Netzwerk verknüpft sind und somit in der Lage sind, Applikationen auf dem Netzwerk ablaufen zu lassen, ist sie offensichtlich nicht geeignet für verteilte Geräte, die nur periodisch Verbindungen zu einem Netzwerk haben, und die, wenn sie nicht mit einem Netzwerk verbunden sind, immer noch den Inhalt selbst benötigen (d. h. der Inhalt muß lokal für ihre eigene Verwendung gespeichert sein). Solch ein Szenario wird jedoch immer üblicher mit der Verbreitung von tragbaren Computergeräten, Mobiltelefonen, persönlichen digitalen Assistenten (PDAs), elektronischen Organizern usw. Während es eindeutig wünschenswert für eine Organisation ist, es Individuen innerhalb der Organisation zu erlauben, solche tragbaren Geräte zu verwenden, wird es signifikant schwieriger, die Verteilung von Inhalt zu diesen Geräten zu steuern und zu verwalten.
  • Zusammenfassung der Erfindung
  • Von einem ersten Aspekt aus gesehen stellt die vorliegende Erfindung ein System für die Verwaltung der Verteilung von Inhalt zu einer Vorrichtung zur Verfügung, das aufweist: eine Datenbank für das Speichern einer Anzahl von Elementen als eine hierarchische Struktur von Einrichtungen, von Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft werden können, und von einem der Elemente, die die Einrichtung repräsentieren; einem Server für das Herstellen von Bezügen zu der hierarchischen Struktur in der Datenbank, um ein Profil für die Einrichtung zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierem enthält, die den der Einrichtung zur Verfügung zu stellenden Inhalt anzeigen, wobei das Profil alle Inhaltsidentifizierer, die mit dem Element verknüpft sind, das die Einrichtung darstellt, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen dieses Element abhängt, enthält; einen Gerätemanager, der mit dem Gerät bzw. der Einrichtung verknüpft und derart angeordnet ist, daß er das Profil von dem Server empfängt und die Inhaltsidentifizierer in dem Profil verwendet, um zu veranlassen, daß der Inhalt, der von dem Profil angezeigt wird, der Einrichtung zur Verfügung gestellt wird, wobei ein Eintrag beibehalten wird, der den Inhalt identifiziert, der in Übereinstimmung mit dem Profil zu der Vorrichtung geliefert wurde, wobei der Gerätemanager weiterhin derart angeordnet ist, daß er mit Empfang eines nachfolgenden Profils von dem Server die Inhaltsidentifizierer in dem nachfolgenden Profil mit dem Eintrag vergleicht, um den neuen Inhalt, der dem Gerät noch nicht bereitgestellt wurde, und den nicht länger dem Gerät zur Verfügung zu stellenden alten Inhalt zu bestimmen, wobei der Gerätemanager derart angeordnet ist, daß er die relevanten Inhaltsidentifizierer verwendet, um zu veranlassen, daß der neue Inhalt der Einrichtung bzw. dem Gerät zur Verfügung gestellt wird, und um zu veranlassen, daß der alte Inhalt entfernt wird.
  • In Übereinstimmung mit der vorliegenden Erfindung wird eine Datenbank bereitgestellt, die es ermöglicht, daß eine Anzahl von Elementen als eine hierarchische Struktur gespeichert werden, wobei zumindest eines der Elemente ein Gerät darstellt, zu dem Inhalt verteilt wird. Die Inhaltsidentifizierer, die bestimmten Inhalt identifizieren, können dann mit Elementen in der hierarchischen Struktur verknüpft sein. Weiterhin wird ein Server bereitgestellt, der in der Lage ist, auf die hierarchische Struktur in der Datenbank Bezug zu nehmen, um ein Profil für ein bestimmtes Gerät zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, wobei jeder Inhaltsidentifizierer einen Inhalt identifiziert, der diesem Gerät bereitzustellen ist. Ein Gerätemanager, der mit dem Gerät verknüpft ist, ist dann in der Lage, auf den Empfang des Profils zu agieren, um zu veranlassen, daß der Inhalt, der durch das Profil angezeigt wird, zu dem Gerät bereitgestellt wird, wobei ein Eintrag beibehalten wird, der den Inhalt, der in Übereinstimmung mit dem Profil dem Gerät zur Verfügung gestellt wurde, identifiziert. Der Eintrag wird vorzugsweise in einem logischen lokalen Speichergebiet relativ zu dem Gerät abgelegt, d. h. an einem Ort, an dem das Gerät immer lesen kann, unabhängig davon, ob es mit einem Netzwerk verbunden ist.
  • Der Gerätemanager kann auf dem Gerät gespeichert sein oder kann von dem Gerät entfernt sein. Im letzteren Fall wird typischerweise jedoch irgendetwas resident auf dem Gerät selbst sein, um zu veranlassen, daß der Gerätemanager ausgeführt wird, beispielsweise irgendeine Konfigurationsinformation.
  • In Übereinstimmung mit der vorliegenden Erfindung wird, wenn zu einem späteren Punkt der Gerätemanager ein nachfolgendes Profil von dem Server empfängt, dieses angeordnet, um die Inhaltsidentifizierer in dem nachfolgenden Profil mit dem beibehaltenen Eintrag zu vergleichen, um den Inhalt zu identifizieren, der dem Gerät in Übereinstimmung mit einem vorherigen Profil bereitgestellt wurde, um neuen Inhalt zu bestimmen, der noch nicht zu dem Gerät geliefert wurde, und um alten Inhalt zu bestimmen, der nicht länger dem Gerät bereitgestellt wird. Der neue Inhalt kann dann von dem Gerät abgerufen werden, während der alte Inhalt entfernt wird, beispielsweise durch tatsächliches Löschen dieses Inhalts oder durch das Entfernen von Zeigern auf den Inhalt in dem lokalen Speicher des Gerätes.
  • Durch diesen Ansatz ist das System der vorliegenden Erfindung in der Lage, eine breite Vielfalt von unterschiedlichen Geräten zu unterstützen, die länger oder kürzer mit einem Netzwerk verbunden sind und die es notwendig machen können, den Inhalt lokal zu speichern, um seine Verwendung zu erleichtern, während sie nicht mit dem Netzwerk verbunden sind. Es sollte ebenso bemerkt werden, daß das System ebenso die Verwendung mit Geräten unterstützt, die permanent mit dem Netzwerk verbunden sein können. Durch die Verwendung der vorliegenden Erfindung kann der Inhalt, der einem Gerät zur Verfügung gestellt wird, zentral verwaltet werden, so daß, sobald ein Inhaltsidentifizierer mit dem geeigneten Element in der hierarchischen Struktur verknüpft wurde, dann dieser Inhaltsidentifizierer in alle Profile, die danach für relevante Geräte vorbereitet werden, aufgenommen werden, wodurch der entsprechende Gerätemanager für solch ein Gerät veranlassen wird, daß Inhalt das nächste Mal, wenn das Profil empfangen wird, dem Gerät bereitgestellt wird. Angenommen jedoch, daß der Inhalt nicht lediglich zentral gehalten wird und auf diesen an dem zentralen Punkt durch die Geräte zugegriffen wird, sondern stattdessen typischerweise den Geräten zur Verfügung gestellt wird, erleichtert die vorliegende Erfindung weiterhin die Entfernung von altem Inhalt von einem Gerät durch den Vergleich eines nachfolgenden Profils, das von dem Server verteilt wird, mit einem Eintrag, der zurückbehalten wurde, um den Inhalt auf dem Gerät zu identifizieren, der in Übereinstimmung mit einem vorherigen Profil bereitgestellt wurde.
  • Es sollte bemerkt werden, daß in bevorzugten Ausführungsformen die vorliegende Erfindung einen Benutzer eines Gerätes nicht davon abhält, ebenso seinen eigenen Inhalt auf dem Gerät zu installieren, da solch ein Inhalt nicht in den Profilen enthalten wäre und somit durch die Steuerung des Gerätemanagers nicht dem Gerät zur Verfügung gestellt würde oder von dem Gerät entfernt würde. Die vorliegende Erfindung ermöglicht jedoch die Verteilung von bestimmtem Keminhalt zu Geräten, die zu verwalten sind, so daß dieser Inhalt bereitgestellt werden kann und im folgenden in einer strukturierten Art und Weise entfernt werden kann, ohne daß die Beteiligung des Benutzers des Gerätes notwendig ist.
  • Der Inhaltsidentifizierer kann eine Vielzahl von Formen einnehmen. In bevorzugten Ausführungsformen stellt jedoch jeder Inhaltsidentifizierer einen Namen für den entsprechenden Inhalt und einen Ortsindikator bereit, der einen Ort identifiziert, von dem der Inhalt erhalten werden kann. Wenn somit der Gerätemanager danach trachtet, den Inhalt für das Gerät zu erhalten, kann der Ortsindikator in dem entsprechenden Inhaltsidentifizierer verwendet werden, um den Ort zu bestimmen, von dem der Inhalt erhalten werden kann. In bevorzugten Ausführungsformen wird der Name nicht für den Inhaltsabfrageprozeß benötigt, stellt jedoch eine beschreibende Referenz für einen Netzwerkmanager, der für das Verwalten der hierarchischen Struktur auf der Datenbank verantwortlich ist, und tatsächlich dem Benutzer des Gerätes zur Verfügung, zu dem der Inhalt abgerufen wird.
  • Das System in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung kann verwendet werden, um die Verteilung einer Vielzahl von unterschiedlichen Inhaltstypen zu verwalten. Somit identifiziert der Inhaltsidentifizierer vorzugsweise weiterhin den Typ des entsprechenden Inhalts. Diese Information ist dann verfügbar für die Bezugnahme von einem Netzwerkmanager, der für das Verwalten der hierarchischen Struktur auf der Datenbank verantwortlich ist. Dies kann beispielsweise einen nützlichen Plausibilitätscheck bereitstellen, um dem Netzwerkmanager zu ermöglichen, sicherzustellen, daß Inhalt nur den Geräten zugewiesen wird, die in der Lage sind, diesen Inhaltstyp zu empfangen.
  • Es versteht sich, daß der Ortsidentifizierer eine Vielzahl von Formen einnehmen kann, vorausgesetzt, daß er dazu dient, den Ort zu identifizieren, von dem der Inhalt erhalten werden kann. In bevorzugten Ausführungsformen wird der Inhalt auf Servern abgelegt, die über das Internet kontaktierbar sind und der Ortsindikator ist eine URL-Adresse.
  • Es versteht sich, daß, wenn ein Inhalt dem Gerät bereitgestellt wird, vorbestimmte Aktionen von dem Gerät durchgeführt werden müssen, um den Inhalt korrekt zu empfangen und zu speichern. Das System von bevorzugten Ausführungsformen der vorliegenden Erfindung erleichtert dies durch das Bereitstellen einer Anzahl von Softwarepaketen für das Verknüpfen mit einer Inhaltsinformation, die erforderlich ist, um den Inhalt zu handhaben, wenn er von dem Gerät empfangen wird. Wenn somit ein Inhalt von dem Gerät empfangen wird unter Verwendung eines Inhaltsidentifizierers in dem Profil, empfängt das Gerät nicht nur den Inhalt, sondern ebenso jegliche in Bezug stehende Information, die erforderlich ist, um die korrekte Handhabung des Inhalts innerhalb des Geräts sicherzustellen. Dieser Inhalt und die in Bezug stehende Information, die dem Gerät bereitgestellt wird, wird im folgenden als ein "Package" bezeichnet.
  • Wie früher erwähnt wurde, kann die Verteilung einer Mehrzahl von unterschiedlichen Typen von Inhalt durch das System verwaltet werden. Folglich wird in bevorzugten Ausführungsformen ein Packager bzw. ein Softwarepaket bzw. ein Inhaltstyp bereitgestellt.
  • Es versteht sich, daß die Information, die innerhalb des Packages bereitgestellt wird, um zu beschreiben, wie der Inhalt gehandhabt werden soll, eine Vielzahl von unterschiedlichen Formen annehmen kann, abhängig von dem Inhalt selbst. Wenn beispielsweise der Inhalt ein Datenfile für eine bestimmte Anwendung ist, beispielsweise ein Microsoft Word-File, dann wird das Package den Inhalt als von diesem Typ seiend identifizieren und die Typinformation kann von dem Gerätemanager verwendet werden, um zu bestimmen, ob ein Installierer für das Installieren von Inhalt dieses Typs existiert. Falls nicht, würde der Inhalt typischerweise nur an einem voreingestellten Ort abgelegt, beispielsweise an einem, der von dem Gerätemanager spezifiziert wird. Wenn ein Installierer jedoch verfügbar ist, dann wird dieser verwendet, um den Inhalt auf dem Gerät zu installieren. Angenommen, ein Installierer wird verwendet, kann die Information in dem Package ebenso die erforderliche Versionsnummer von Microsoft Word, die erforderlich ist, um die Datei zu lesen, identifizieren. Der Installierer würde dann versuchen, diese Version von Word zu lokalisieren und beispielsweise den Benutzer des Gerätes warnen, wenn er sie nicht findet.
  • Wenn, als ein anderes Beispiel, der Inhalt ein Applikationsprogramm ist, dann muß es im allgemeinen von einem Installierer geeignet auf dem Gerät installiert sein. In solchen Fällen kann in bevorzugten Ausführungsformen die Information, die mit solch einem Inhalt verknüpft ist, eine Identifikation aufweisen, welche Datei die ausführbare Hauptdatei ist, eine Identifikation eines Icons aufweisen, das verwendet wird, um das Programm auf dem Desktop darzustellen usw. Der relevante Installierer kann dann diese Information nutzen, um zu ermöglichen, das Anwendungsprogramm korrekt zu installieren.
  • Es versteht sich, da Geräte sich mit der Zeit verändern können und/oder die Verwendung eines bestimmten Gerätes sich mit der Zeit verändern kann, was die Verknüpfung von unterschiedlichen Inhalten mit dem Gerät notwendig machen kann, daß es notwendig ist, in der Lage zu sein, die hierarchische Struktur in der Datenbank effizient zu verwalten, um solchen Veränderungen Rech nung zu tragen. Folglich hat das System von bevorzugten Ausführungsformen ein Verwaltungstool für das Bereitstellen einer Schnittstelle, um einen Benutzer in die Lage zu versetzen, die hierarchische Struktur, die auf der Datenbank abgelegt ist, zu verwalten. Wenn somit beispielsweise die hierarchische Struktur verwendet wird, um eine große Anzahl von Geräten innerhalb einer Organisation darzustellen, kann ein Benutzer in der Form eines Systemadministrators das Verwaltungstool verwenden, um die hierarchische Struktur zu verwalten, um sicherzustellen, daß jedes Gerät weiterhin an einem geeigneten Punkt in der hierarchischen Struktur dargestellt wird, so daß dieses Gerät den Inhalt empfängt, von dem gewünscht wird, daß er dem Gerät bereitgestellt wird.
  • Es versteht sich, daß es viele verschiedene Wege gibt, wie die hierarchische Struktur entwickelt werden kann. In bevorzugten Ausführungsformen beinhalten jedoch die Elemente innerhalb der hierarchischen Struktur eine oder mehrere Divisionen; jede Division stellt eine logische Gruppierung für die Geräte dar, wobei das Verwaltungstool es ermöglicht, daß die Divisionen erzeugt und gelöscht werden, und ermöglicht, daß die Inhaltsidentifizierer mit jeder Division verknüpft werden. Folglich ist es möglich, daß oben in der hierarchischen Struktur eine generische Division bereitgestellt wird, in die alle Geräte fallen werden, und dann bestimmte Divisionen zu erzeugen, die von der generischen Division abhängig sind. Beispielsweise kann eine Division des technischen Supports bereitgestellt werden, die alle Geräte beinhaltet, die von dem Personal des technischem Supports verwendet werden, während eine getrennte Kundenunterstützungsdivision erzeugt werden kann, die alle Geräte, die von dem Kundenunterstützungspersonal verwendet werden, beinhaltet. Es sollte erwähnt werden, daß der Benutzer, z. B. der Systemadministrator, in der Lage ist, Divisionen zu erzeugen und zu löschen, sofern und wenn dies notwendig ist, um eine geeignete hierarchische Struktur zu entwickeln, innerhalb der die Geräte, die innerhalb der hierarchischen Struktur dargestellt werden, kategorisiert werden.
  • Es sollte erwähnt werden, daß, da Inhaltsidentifizierer mit jeder Division verknüpft werden können, Inhalt, der für alle Geräte innerhalb einer bestimmten Division gleich ist, nicht einzeln für jedes Gerät spezifiziert werden muß, sondern lediglich einmal in Verbindung mit der entsprechenden Division spezifiziert sein kann. In bevorzugten Ausführungsformen enthält das Profil, das von dem Server erzeugt wird, alle Inhaltsidentifizierer, die mit dem Gerät verknüpft sind, und alle Inhaltsidentifizierer, die mit einer Division verknüpft sind, von der das Gerät in der hierarchischen Struktur abhängt. Es versteht sich, daß dies signifikant die Effizienz verbessert, mit der Inhalt mit irgendeinem bestimmten Gerät verknüpft werden kann. Wenn weiterhin ein Gerät von einer Division zu einer anderen bewegt wird, wird, wenn das nächste Mal ein Profil für dieses Gerät erzeugt wird, dieses automatisch ein aktualisiertes Profil empfangen, das den Inhalt anzeigt, der für das Gerät in seiner neuen Rolle relevant ist. Jeglicher neue Inhalt wird dann automatisch abgerufen, während alter Inhalt entfernt wird.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung ermöglicht das Verwaltungstool, daß Personenidentifizierer, die Individuen identifizieren, als Elemente in der hierarchischen Struktur bereitgestellt werden, wobei das Verwaltungstool verwendet werden kann, um innerhalb der hierarchischen Struktur das Gerät mit dem Einzelnen, dem das Gerät gehört, zu verknüpfen. Dieser Einschluß dieser Extra-Klassifikation ist nützlich, da häufig ein bestimmtes Individuum in einer Organisation mehr als ein Gerät haben kann, und Anfragen für jedes seiner/ihrer Geräte, die mit bestimmtem Inhalt beliefert werden sollen, übermitteln kann. Da die einzelnen Geräte dann von dem relevanten Personenidentifizierer in der hierarchischen Struktur abhängen können, ist es für den Systemadministrator einfach, dann den neuen Inhalt mit jedem Gerät zu verknüpfen. Weiterhin, wenn sich Individuen innerhalb der Organisation bewegen, ist der Systemadministrator in der Lage, die relevanten Personenidentifizierer zwischen den Divisionen zu bewegen. Dies wird automatisch verursachen, daß alle Geräte dieser Person sich ebenso bewegen und daß für den relevanten Inhalt für diese Geräte dann das nächste Mal, wenn ein Profil zu diesen Geräten geliefert wird, bereitgestellt wird.
  • Es versteht sich, daß es eine Anzahl von Mechanismen gibt, die verwendet werden könnten, um das Profil den Geräten bei vorbestimmten Intervallen zur Verfügung zu stellen. Wenn beispielsweise ein Gerät permanent mit dem Netzwerk verbunden ist, dann könnte der Server angeordnet sein, um das Profil in periodischen Abschnitten zu erzeugen. In bevorzugten Ausführungsformen unterstützt jedoch das System Geräte von vielen unterschiedlichen Typen, wovon zumindest einige nicht permanent mit dem Netzwerk verbunden sein müssen. In dieser Situation ist es somit notwendig, daß die Profile erzeugt und verteilt werden, wenn das Gerät mit dem Netzwerk verbunden wird. Folglich wird in bevorzugten Ausführungsformen der Gerätemanager ausgelegt, um eine Verbindung mit dem Server in vorbestimmten Zeitabständen aufzubauen, um das Profil abzurufen, wobei der Gerätemanager das Gerät identifiziert, für das das Profil erforderlich ist.
  • Somit kann beispielsweise der Gerätemanager das Profil, unmittelbar nachdem das Gerät eingeschaltet wurde, abfragen, wobei solch ein Ansatz für bandbreitenbeschränkte Geräte geeignet ist, die nur mit der Verfügbarkeit eines Netzwerks arbeiten können, z. B. GSM-Receiver. Alternativ kann der Gerätemanager ein Profil, unmittelbar nachdem eine Netzwerkverbindung errichtet wurde, abfragen, wobei solch ein Ansatz für diejenigen Geräte geeignet ist, die vollständig ohne Netzwerkverfügbarkeit arbeiten, von denen aber angenommen wird, daß sie gelegentlich Verbindung herstellen, z. B. tragbare Computer. Alternativ dazu kann als ein anderes Beispiel der Gerätemanager derart angeordnet sein, daß er das Profil auf einer periodischen Basis nach diskreten Zeitintervallen abfragt, wobei solch ein Ansatz für permanent verbundene Geräte mit hohen Bandbreiten, beispielsweise Kabelfernsehempfänger und Netzwerkcomputer, geeignet ist.
  • Wie vorher erwähnt wurde, kann die Verteilung einer Mehrzahl von unterschiedlichen Inhaltstypen von dem System verwaltet werden. In bevorzugten Ausführungsformen ist zumindest einer der Typen ein Computerprogramm.
  • Die Datenbank, die verwendet wird, um die hierarchische Struktur zu speichern, kann eine Vielzahl von Formen einnehmen. In bevorzugten Ausführungsformen ist jedoch die Datenbank eine relationale Datenbank. Es sollte erwähnt werden, daß in dieser bevorzugten Ausführungsform diese Datenbank vollständig getrennt von jeder Verzeichnisservicedatenbank ist, die als eine "White-Pages"-Datenbank für Ressourcen innerhalb einer Organisation bereitgestellt werden kann. Es wurde ebenso gefunden, daß es von Vorteil ist, diese Datenbank getrennt von der Verzeichnisservice datenbank zu halten, da dies die Datenbank von ihrer Bindung durch die Struktur, die bereits in der Verzeichnisservicedatenbank vorhanden ist, befreit. Während bestimmte Details über Ressourcen in der Organisation von der Verzeichnisservicedatenbank für die Verwendung in der Datenbank, die verwendet wird, um die Inhaltsverteilung zu verwalten, erhalten werden können, wird stattdessen die tatsächliche hierarchische Struktur der Datenbank frei bestimmt nur im Hinblick auf die zu verwaltenden Geräte und den Inhalt, der zu verteilen ist. Dies ermöglicht es, daß eine sehr effiziente hierarchische Struktur erzeugt wird.
  • Von einem zweiten Aspekt aus gesehen stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Verfügung, das ein Computerprogramm zur Verfügung stellt, das betreibbar ist, um einen Server für die Verwendung in einem System gemäß dem ersten Aspekt der vorliegenden Erfindung zu konfigurieren, wobei das Computerprogramm im Betrieb derart ausgelegt ist, daß es veranlaßt, daß der Server die Schritte ausführt von: Zugreifen auf eine Datenbank, die eine Anzahl von Elementen als eine hierarchische Struktur von Einrichtungen bzw. Geräten, die Inhaltsidentifizierer, die in der Lage sind, mit Elementen in der hierarchischen Struktur verknüpft zu sein, und eines der Elemente, das ein Gerät darstellt, zu dem Inhalt verteilt werden soll, zur Verfügung stellt, und Bezugnehmen auf die hierarchische Struktur in der Datenbank, um ein Profil für das Gerät zu erzeugen, wobei das Profil jeden Inhaltsidentifizierer, der mit dem Element, das die Einrichtung darstellt, verknüpft ist, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen dieses Element abhängt, enthält.
  • In einer Ausführungsform ist das Computerprogrammprodukt weiterhin derart betreibbar, daß es einen Computer derart konfiguriert, daß er eine Schnittstelle zur Verfügung stellt, um es einem Benutzer zu ermöglichen, die hierarchische Struktur, die in der Datenbank abgelegt ist, zu verwalten.
  • In einer Ausführungsform ist das Computerprogrammprodukt weiterhin derart betreibbar, daß es einen Computer konfiguriert, um eine Verknüpfung mit einer Inhaltsinformation durchzuführen, die erforderlich ist, um den Inhalt zu handhaben, wenn er von dem Gerät empfangen wird.
  • Von einem dritten Aspekt aus gesehen stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein Computerprogramm bereitstellt, das betreibbar ist, um einen Gerätemanager eines Geräts für die Verwendung in dem System gemäß dem ersten Aspekt der vorliegenden Erfindung zu konfigurieren, wobei das System eine Datenbank hat, die eine Anzahl von Elementen als eine hierarchische Struktur der Geräte, die Inhaltsidentifizierer, die mit den Elementen in der hierarchischen Struktur verknüpft werden können, und eines der Elemente, die das Gerät darstellen, bereitstellt, wobei das Computerprogramm im Betrieb derart ausgelegt ist, daß es den Gerätemanager veranlaßt, die folgenden Schritte auszuführen: Empfangen eines Profils von einem Server, wobei das Profil durch Bezugnahme auf die hierarchische Struktur in der Datenbank erzeugt wurde, um ein Profil für das Gerät zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, die den Inhalt, der dem Gerät bereitgestellt werden soll, anzeigen, wobei das Profil jeden Inhaltsidentifizierer, der mit dem Element, das das Gerät darstellt, verknüpft ist, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von der dieses Ele ment abhängt, enthält, Verwenden der Inhaltsidentifizierer in dem Profil, um zu veranlassen, daß der Inhalt, der von dem Profil angezeigt wird, dem Gerät bereitgestellt wird, mit Empfang eines nachfolgenden Profils von dem Server, Vergleichen der Inhaltsidentifizierer in dem nachfolgenden Profil mit einem Eintrag, der den Inhalt identifiziert, der dem Gerät in Übereinstimmung mit einem vorherigen Profil bereitgestellt wurde, um neuen Inhalt, der noch nicht zu dem Gerät geliefert wurde, und alten Inhalt, der nicht länger zu dem Gerät geliefert wird, zu bestimmen, und Verwenden der relevanten Inhaltsidentifizierer, um zu veranlassen, daß der neue Inhalt zu dem Gerät geliefert wird, und um zu veranlassen, daß der alte Inhalt entfernt wird.
  • Von einem vierten Aspekt aus gesehen stellt die vorliegende Erfindung ein Verfahren zum Verwalten der Verteilung von Inhalt zu einem Gerät zur Verfügung, das die Schritte aufweist: Speichern einer Anzahl von Elementen als eine hierarchische Struktur der Geräte in einer Datenbank, Speichern von Inhaltsidentifizierern, die in der Lage sind, mit Elementen in der hierarchischen Struktur verknüpft zu werden, und Speichern eines der Elemente, welches das Gerät repräsentiert, Bezugnehmen auf die hierarchische Struktur in der Datenbank, um ein Profil für das Gerät zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, die den zu dem Gerät zu liefernden Inhalt anzeigen, wobei das Profil alle Inhaltsidentifizierer, die mit dem Element, das das Gerät darstellt, verknüpft sind, zusammen mit allen Inhaltsidentifizierern enthält, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen dieses Element abhängt, Veranlassen unter Bezug auf die Inhaltsidentifizierer in dem Profil, daß der Inhalt, der von dem Profil angezeigt wird, dem Gerät zur Verfügung gestellt wird, Beibehalten eines Eintrages, der den Inhalt identifiziert, der in Übereinstimmung mit dem Profil zu dem Gerät geliefert wurde, Vergleichen mit Empfang eines nachfolgenden Profils der Inhaltsidentifizierer in dem nachfolgenden Profil mit dem Eintrag, um neuen Inhalt, der noch nicht zu dem Gerät geliefert wurde, und alten Inhalt, der nicht länger dem Gerät zur Verfügung gestellt wird, zu bestimmen, und Verwenden der relevanten Inhaltsidentifizierer, um zu veranlassen, daß neuer Inhalt zu dem Gerät geliefert wird, und um zu veranlassen, daß alter Inhalt entfernt wird.
  • Kurze Beschreibung der Figuren
  • Die vorliegende Erfindung wird weiter nur beispielhaft unter Bezug auf eine bevorzugte Ausführungsform hiervon beschrieben, wie sie in den begleitenden Zeichnungen dargestellt ist, in denen:
  • 1A, 1B und 1C Blockdiagramme sind, die schematische Darstellungen von Ausführungsformen der vorliegenden Erfindung bereitstellen,
  • 2 ein weiteres Blockdiagramm ist, das einen Architekturüberblick eines Systems in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung bereitstellt,
  • 3 detaillierter die Verbindungen zu dem Server in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung darstellt,
  • 48 eine Benutzerschnittstelle darstellen, die in bevorzugten Ausführungsformen der vorliegenden Erfindung verwendet werden, um einen Systemadministrator in die Lage zu versetzen, die hierarchische Struktur, die in der Datenbank abgelegt ist, zu verwalten,
  • 9 und 10 eine Darstellung von vereinfachten Beispielen der hierarchischen Struktur bereitstellen, die innerhalb der Datenbank abgelegt werden kann,
  • 11 ein Flußdiagramm ist, das die Schritte darstellt, die innerhalb eines Netzwerkgerätes durchgeführt werden, um ein Profil abzufragen, und um auf das Profil zu reagieren, wenn dieses erhalten wird,
  • 12 ein Flußdiagramm ist, das die Schritte darstellt, die in dem Server durchgeführt werden, um ein Profil zu dem Client zu liefern,
  • 13A13D Flußdiagramme sind, die detaillierter die Prozedur darstellen, die innerhalb eines Netzwerkgerätes durchgeführt wird, um auf dem empfangenen Profil von dem Server zu agieren,
  • 14 ein Flußdiagramm ist, das detaillierter darstellt, wie das Profil von dem Server in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung präpariert wird und
  • 15 eine schematische Darstellung bereitstellt, wie Packer in bevorzugten Ausführungsformen verwendet werden, um den Inhalt für die Verteilung zu packen.
  • Beschreibung einer bevorzugten Ausführungsform
  • In der Vergangenheit wurde eine relativ statische Anzahl von stationären Computergeräten durch eine lokalisierte Unterstützungsstruktur verwaltet, die in der Lage ist, komplexe Desktop-Umgebungen zu konfigurieren. Die Zukunft bietet uns jedoch die Aussicht auf einen Überfluß an Geräten, ob sie nun Computergeräte oder andere elektronische Geräte sind, wie z. B. Mobiltelefone, persönliche digitale Assistenten (PDAs), elektronische Organizer usw., die geographisch fest sein können oder nicht. Dies wird ein alternatives Verwaltungssystem erfordern, das flexibler ist.
  • Die bevorzugten Ausführungsformen der vorliegenden Erfindung bezwecken, solch ein alternatives Verwaltungssystem bereitzustellen für die verteilte Verwaltung von Netzwerkgeräten innerhalb eines Netzwerkes. Der Begriff "Netzwerkgerät", so wie er hier verwendet wird, ist dafür vorgesehen, sich auf ein Gerät zu beziehen, dessen Inhalt durch das System der bevorzugten Ausführungsformen der vorliegenden Erfindung verwaltet wird, ist jedoch nicht dafür vorgesehen, zu implizieren, daß irgendein solches Gerät permanent mit einem Netzwerk verbunden ist. Für die Zwecke der bevorzugten Ausführungsformen der vorliegenden Erfindung ist es ausreichend, daß jedes solche "Netzwerkgerät" in der Lage ist, zumindest gelegentlich Verbindungen zu einem Netzwerk herzustellen, entweder direkt oder über irgendein anderes Gerät. Beispielsweise können bestimmte Geräte ihre Verwaltung zu anderen Geräten übertragen, die wiederum in der Lage sein müssen, gelegentlich Netzwerkverbindungen herzustellen. Beispielsweise sind bestimmte Geräte vom PDA-Stil nicht inhärent netzwerkfähig, sondern verlassen sich auf einen PC, um bestimmte Dinge für sie zu tun, wie z. B. neue Programme zu installieren. Da der PC gelegentlich Netzwerkverbindungen herstellen kann, werden die PDAs ebenso "Netzwerkgeräte" sein, die von dem System in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung verwaltet werden können.
  • Jedes Netzwerkgerät ist in bevorzugten Ausführungsformen mit einem Client-Programm (das alternativ hier als Gerätemanager bezeichnet werden kann) ausgestattet, das derart ausgelegt ist, daß es mit einem Server in Kommunikationsverbindung steht, wobei der Server Inhaltsdetails (beispielsweise Programme oder Daten) beibehält, von denen gewünscht wird, daß sie auf jedem Gerät präsent sind. In bevorzugten Ausführungsformen identifiziert das Client-Programm dem Server das Netzwerkgerät und der Server sendet ein Profil des Inhalts, von dem gewünscht ist, daß er auf diesem Gerät präsent ist, zu. Das Client-Programm konfiguriert dann vorzugsweise das Netzwerkgerät, so daß es den Inhalt, der in dem Profil identifiziert wird, enthält, wobei jeglicher Inhalt, der gegenwärtig nicht auf dem Gerät präsent ist, jedoch in dem Profil identifiziert wird, in einer vorbestimmten Art und Weise abgerufen wird.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung arbeiten das Client-Programm und der Server auf einer JavaTM-Plattform. Die Allgegenwart von JavaTM auf Plattformen, so verschieden wie Kabelfernsehempfänger und Mobiltelefone, erlaubt die Möglichkeit, zentral nahezu jede Geräteart, die vollkommen entfernt ist, zu steuern, vorausgesetzt, daß zumindest gelegentlich erfolgreich Netzwerkverbindungen errichtet werden, um zu ermöglichen, daß diese Steuerung stattfindet.
  • In bevorzugten Ausführungsformen der Erfindung ist das Client-Programm auf jedem Netzwerkgerät verantwortlich für das autonome Aktualisieren der Konfiguration des Gerätes. Abhängig von der Art des Gerätes wird das Client-Programm in vorbestimmten Intervallen ausgeführt, nämlich entweder:
    • 1. unmittelbar nachdem das Gerät eingeschaltet wurde,
    • 2. unmittelbar nachdem eine Netzwerkverbindung errichtet wurde oder
    • 3. in diskreten Zeitintervallen.
  • Das erste Szenario ist vorgesehen für bandbreitenbeschränkte Geräte, die nur mit der Verfügbarkeit eines Netzwerkes arbeiten können, z. B. GSM-Empfänger. Das zweite wird für diejenigen Geräte verwendet, die vollständig ohne Netzwerkverfügbarkeit funktionsfähig sind, von denen jedoch angenommen wird, daß sie gelegentlich Netzwerkverbindungen herstellen, z. B. tragbare Computer. Das dritte Szenario ist für Geräte mit hoher Bandbreite, die permanent verbunden sind, gedacht, wie Kabelfernsehempfänger und Netzwerkcomputer.
  • Das Client-Programm kommuniziert die Identität des Gerätes zu einem Server, der mit einem Inhaltsprofil (z. B. Programme oder Daten) antwortet, der von einer Netzwerkautorität gewünscht wird, daß sie auf diesem Gerät präsent ist. Der Server überträgt nicht den Inhalt, sondern stattdessen den Ort, von dem der Inhalt abgerufen werden kann. Der Client zeichnet jeden Inhalt auf, den er abruft, so daß er in der Lage ist, selektiv neuen oder aktualisierten Inhalt abzurufen und Inhalt, der nicht länger erforderlich ist, zu löschen, wobei somit alle Verantwortlichkeit des Gerätebenutzers, das Gerät zu verwalten, abgeschafft wird.
  • Die Netzwerkautorität ist die Entitäts mit Verantwortung für das Festlegen des Profils der Geräte. Diese Aufgabe wird einfacher gemacht durch die Verwendung einer hierarchischen Definition/Struktur, d. h. jedes Gerät wird dargestellt als ein Mitglied einer logischen Gruppierung, die Division oder Bereich genannt wird. Jede Division kann wiederum Mitglied einer anderen Division sein in der Art eines linearen Baumes, bis der gemeinsame Vorfahr erreicht wird. Ein Profil kann für jede Division definiert sein. Somit besteht ein Profil für ein Gerät aus jeglichem Inhalt, der ihm explizit zugewiesen ist innerhalb der hierarchischen Definition plus dem seiner Division plus dem der Elterndivision usw. bis zu der Wurzeldivision. Beispielsweise unter Bezug auf 10, wo die Gerätenamen mit Klammern eingeschlossen sind, wird das Profil von Adelie nicht nur durch seine eigene Konfiguration, sondern ebenso durch die von Penguin, Bird und All definiert. Daher, falls Adelie Teil der Gull-Division würde, würde es immer noch die Konfiguration von Bird and All haben, würde jedoch nun die von Gull beinhalten statt der von Penguin.
  • Schematische Übersichten von beispielhaften Ausführungsformen des Systems der vorliegenden Erfindung sind in den 1A1C dargestellt.
  • 1A stellt eine mögliche Ausführungsform der vorliegenden Erfindung dar, in der eine Anzahl von Netzwerkgeräten 10 über ein LAN 50 mit einem Server 30 verbunden sind. In dieser Ausführungsform sind die Netzwerkgeräte wahrscheinlich PCs, müssen dies jedoch nicht sein, und könnten tatsächlich irgendein anderes geeignetes elektronisches Gerät sein, beispielsweise ein Router, ein intelligenter Hub usw. Weiterhin könnten die Netzwerkgeräte persönliche Organizer, PDAs usw. sein, die über einen PC mit dem Netzwerk verbunden sein können.
  • Der Server 30 ist mit einer Datenbank 40 verbindbar, die eine hierarchische Definition enthält, die die Geräte identifiziert und den Inhalt, der mit diesen Geräten verknüpft wird. Ein Systemadministrator kann die hierarchische Definition verwalten durch Verbinden mit dem Server 30 über ein Systemadministrationsgerät 20. Der Ort des Systemadministrationsgeräts kann verändert werden, jedoch ist in dem Beispiel von 1 das Systemadministrationsgerät mit dem Server über das LAN 50 verbunden.
  • Jedes Netzwerkgerät 10 wird in bevorzugten Ausführungsformen ein Client-Programm haben, das hierauf installiert ist und derart ausgelegt ist, daß es mit dem Server 30 kommuniziert, um ein Profil für das jeweilige Netzwerkgerät zu erhalten, wobei das Profil von dem Server unter Berücksichtigung der hierarchischen Definition abgeleitet wird. Das System in Übereinstimmung mit 1A stellt somit die verteilte Verwaltung von diesen Netzwerkgeräten zur Verfügung, da die hierarchische Definition zentral aufbewahrt wird und dann werden die Client-Programme unter den relevanten Netzwerkgeräten verteilt. Weiterhin kann die hierarchische Definition direkt von dem Server verwaltet werden oder kann alternativ von einem verteilten Punkt verwaltet werden, wie z. B. dem Systemadministrationsgerät 20.
  • 1B stellt eine Illustration einer alternativen Ausführungsform dar, in der die vorliegende Erfindung verwendet werden kann. In dieser Ausführungsform sind die Netzwerkgeräte über ein mobiles Telekommunikationsnetzwerk verbunden und die Netzwerkgeräte 10 werden elektronische Geräte sein, die derart angeordnet sind, daß sie über das mobile Netzwerk kommunizieren, bei spielsweise Mobiltelefone oder Laptop-Computer mit Mobiltelefonfähigkeit. In dieser Ausführungsform ist der Server 30 über eine Telekommunikationsinfrastruktur 60 mit einer Anzahl von Transmittern/Receivern 70 verbunden, die verwendet werden, um mit den Netzwerkgeräten 10 zu kommunizieren. Das System arbeitet im wesentlichen in der gleichen Art und Weise wie die, die unter Bezug auf 1A beschrieben wurden, wobei jedes Netzwerkgerät 10 mit einem Client-Programm ausgestattet ist, um zu ermöglichen, daß es mit dem Server 30 kommuniziert. Es sollte erwähnt werden, daß das Systemadministrationsgerät, das von dem Systemadministrator verwendet wird, um die hierarchische Definition innerhalb der Datenbank 40 zu verwalten, irgendwo innerhalb des Netzwerks sein kann, und somit auf dem Server 30 sein kann oder tatsächlich von einem Netzwerkgerät irgendwo innerhalb des Telekommunikationsnetzwerkes bereitgestellt sein kann.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung können viele unterschiedliche Typen von Geräten verwaltet werden, die mit dem Server 30 über unterschiedliche Mechanismen verbunden sein können. Dies ist schematisch dargestellt durch die in 1C gezeigte Ausführungsform. Hier können bestimmte Netzwerkgeräte 100, beispielsweise Desktop-Systeme, eine Verbindung zu dem Server direkt über eine Ethernet-Verbindung 130 herstellen. Weiterhin können andere Netzwerkgeräte 110, beispielsweise Taschen-Organizer, Mobiltelefone usw., über Funkverbindungen mit einem Transmitter/Receiver 70 mit dem Server eine Verbindung herstellen. Zusätzlich können andere Netzwerkgeräte 120, beispielsweise ein Laptop-Computer oder ein Multimedia-PC, eine Verbindung zu dem Server über das Internet 140 herstellen.
  • Wie vorher erwähnt wurde, ist das System von bevorzugten Ausführungsformen für Geräte verfügbar, die zumindest gelegentliche Netzwerkverbindungen unterstützen. In bevorzugten Ausführungsformen verwendet das System Java- und Internettechnologien, um die Fernverwaltung von einem diversen Bereich von Geräten zu ermöglichen. 2 stellt eine Darstellung des Architekturüberblicks des Systems von bevorzugten Ausführungsformen zur Verfügung. Der Server 30 verwendet die Remote Method Invocation (RMI) von Java und die Jini-Konnektivität, um sich selbst für die Client-Programme 200 als Konfigurationsdienst verfügbar zu machen. RMI ist ein Java-Mechanismus, der es zwei Programmen erlaubt, transparent über ein Netzwerk zu kommunizieren. Jini ist eine Software-Infrastruktur, die es ermöglicht, daß Dienste über das Netzwerk verfügbar gemacht werden, wobei der Leser auf die Website http://www.sun.com/jini/ für weitere Details hingewiesen wird.
  • Weiterhin verwendet der Server Standard-Internetprotokolle, wie z. B. HTTP oder FTP, um Inhalt zu verteilen. Somit kann, wie in 2 dargestellt ist, ein Client-Programm 200, das auf einem Netzwerkgerät resident ist, eine Verbindung zu dem Server 30 über entweder RMI- 220 oder Jini- 230 Mechanismen herstellen, um ein Profil von dem Server abzurufen und zu empfangen. Weiterhin kann ein Verwaltungstool 210 (vorzugsweise ein Computerprogramm) auf einem Gerät des Systemadministrators beispielsweise einen RMI-Mechanismus 220 verwenden, um Elementen (z. B. Divisionen, Geräten) innerhalb der hierarchischen Struktur, die auf der Datenbank 40 aufbewahrt wird, neuen Inhalt zuzuweisen. Zusätzlich, wenn das Profil empfangen wurde, kann das Client- Programm 200 den Inhalt von den Servern 250, 260 über das Internet 240 unter Verwendung der Standard-Internetprotokolle, wie z. B. HTTP oder FTP, wie geeignet sammeln.
  • Es sollte erwähnt werden, daß das System der bevorzugten Ausführungsform eine hochverteilte Anwendung ist. Die Datenbank 40, der Server 30, das Verwaltungstool 210 und tatsächlich jeder Verzeichnisserver, der verwendet werden kann, um Information zu erhalten, um sie innerhalb der Datenbank 40 zu verwenden, können alle auf getrennten Maschinen lokalisiert sein.
  • 3 stellt mehr Details über die Art zur Verfügung, auf die der Server in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung verbunden wird. Der Server 30 ist dafür ausgelegt, sich in existierende Server zu integrieren. Somit kann ein Datenbank-Back-End 40 verwendet werden, um die hierarchische Struktur zu speichern, die von dem Server verwendet wird, um Profile für Netzwerkgeräte zu erzeugen. Die Java-Datenbankkonnektivität (JDBC) erleichtert die Verbindung von dritten Datenbanken mit dem Server 30. Mehr Informationen betreffend JDBC können unter der Web-Adresse http://java.sun.com/products/jdbc/ abgerufen werden.
  • Weiterhin kann ein Standard-Verzeichnisserver, wie z. B. LDAP (ein Internet-Standardverzeichnisserver), ein NDS usw., mit dem Server 30 verbunden sein, um zu erlauben, daß Informationen über bestimmte Benutzer innerhalb der Organisation von dem Server 30 erhalten werden. Wie in 3 dargestellt ist, erlaubt es die Java-Naming- und -Directory-Schnittstelle (JNDI), daß unterschiedliche Typen von Verzeichnisservern mit dem Server 30 verbunden werden. Für mehr Informationen über JNDI wird der Leser auf die Website http://java.sun.com/products/jndi/ verwiesen. Während es klar ist, daß die hierarchische Struktur in der Datenbank 40 von Anfang an durch den Server 30 erzeugt werden könnte, ist es sehr wahrscheinlich, daß eine Organisation, die wünscht, daß ihre Geräte in Übereinstimmung mit dem System von bevorzugten Ausführungsformen der vorliegenden Erfindung verwaltet werden, bereits einen Verzeichnisserver haben wird, der relevante Details über die Benutzer usw. angibt. Somit kann die Aufgabe des Erzeugens der hierarchischen Struktur in der Datenbank 40 erheblich vereinfacht werden durch das Ermöglichen, daß der Server 30 die relevanten Details über Benutzer usw. von irgendeinem Standard-Verzeichnisserver, der bereits innerhalb der Organisation bereitgestellt wird, erhält.
  • Weiterhin hat es sich als höchst wünschenswert erwiesen, die hierarchische Struktur, die verwendet wird, um die Verteilung von Inhalt zu Geräten zu verwalten, in einer vollständig getrennten Datenbank 40 abzulegen, statt zu versuchen, die zusätzliche Information in der eher festen Struktur einer existierenden Verzeichnisserver-Datenbank aufzunehmen, da dies weit mehr Flexibilität in der Erzeugung von geeigneten Divisionen und Orten von Geräten innerhalb der Divisionen in Bezug auf die zu verwaltenden Geräte und den Inhalt, der zu diesen Geräten verteilt werden soll, zur Verfügung stellt.
  • In bevorzugten Ausführungsformen werden Standard-Internetserver 250 und 260 dann verwendet, um den tatsächlichen Inhalt, der zu den Geräten verteilt werden soll, zu speichern. Der Server 30 ist dann in der Lage, mit den Servern 250, 260, beispielsweise über Standard-Internetverbindungen, in Kommunikation zu treten, um zu überprüfen, ob Inhalt gespeichert wird, und um das Format zu überprüfen, in dem der Inhalt gespeichert wird usw.
  • Wie in 3 dargestellt ist, werden eine Standard-RMI-Registry und ein optionaler Jini-"Djinn" verwendet, um den Dienst den Netzwerkgeräten verfügbar zu machen. Eine RMI-Registry ist ein entferntes Programm, das Mechanismen bereitstellt für das Lokalisieren anderer entfernter Programme und somit die Verwendung des RMI-Mechanismus erleichtert, um Client-Programmen zu ermöglichen, mit dem Server 30 zu kommunizieren. "Djinn" ist der Name, der der Gruppe von Geräten, Ressourcen und Benutzern, die durch die Jini-Softwareinfrastruktur verbunden sind, gegeben wurde.
  • Betrachtet man nun die Client-Programme 200, die mit bestimmten Netzwerkgeräten verknüpft sind, können sich diese Client-Programme mit dem Server verbinden unter Verwendung von einem von zwei Verfahren abhängig von ihrer Konfiguration. Für Netzwerkgeräte mit eingebautem Client-Code kann der RMI-Mechanismus von Java verwendet werden, während dynamische, herunterladbare Client-Software als eine Alternative durch den optionalen Jini-Service bereitgestellt wird. Unter Verwendung des Jini-Ansatzes wird ein Gerät bereits das haben, was als Dienst- bzw. Servicebrowser bekannt ist, der nach Diensten sucht, die verfügbar sind. In diesem Fall wird das Client-Programm nicht lokal auf dem Gerät installiert, sondern der Prozeß kann automatisiert werden durch die Verwendung einer geeigneten Konfiguration, die auf dem Gerät vorhanden ist.
  • Auf jedem Netzwerkgerät wird eine Client-Registry geführt, die einen Eintrag des gesamten Inhalts enthält, der auf dem Gerät vorhanden ist, der in Übereinstimmung mit einem Profil, das von dem Server 30 empfangen wurde, erhalten wurde. Wenn der Server kontaktiert wird, wird ein Profil abgerufen, das beschreibt, was auf dem Gerät vorhanden sein sollte. Wie später detaillierter beschrieben wird, wird der neue und aktualisierte Inhalt, der durch das Profil angezeigt wird, abgerufen und nicht mehr bestehender Inhalt wird entfernt. Während dieses Prozesses werden vorzugsweise alle Installierer und Deinstallierer automatisch von dem Server 30 heruntergeladen und aufgerufen. Es soll erwähnt werden, daß dies alles ohne Eingriff durch den Benutzer des Netzwerkgerätes passiert.
  • In bevorzugten Ausführungsformen wird eine Verwaltungstoolapplikation bereitgestellt, um eine einfache graphische Oberfläche bereitzustellen, um einen Administrator oder dergleichen darin zu unterstützen, dem Systemadministrator zu ermöglichen, eine hierarchische Struktur von Divisionen und Geräten innerhalb der Datenbank 40 aufzubauen und zu erhalten. Inhaltsidentifizierer können dann mittels Drag & Drop auf bestimmte Elemente verschoben werden, die Divisionen und/oder Geräte darstellen, um Inhalt mit den Elementen der hierarchischen Struktur zu verknüpfen. Über die Integration mit einem Standard-Verzeichnisserver, wie früher unter Bezug auf 3 dargestellt wurde, ist der Systemadministrator in der Lage, zu bestimmen, wem ein bestimmtes Gerät auf dem Netzwerk gehört. Somit beinhaltet das Ausstatten eines Gerätes einer Person für eine neue Rolle einfach das Ziehen eines Icons, das diese Person darstellt, zu einer neuen Division. Diese Konzepte werden weiter dargestellt unter Bezug auf die 48, die Beispiel-Illustrationen der graphischen Oberflächen darstellen, die von dem Verwaltungstool bereitgestellt werden, um es einem Systemadministrator zu ermöglichen, die hierarchische Struktur, die von dem Server 30 auf der Datenbank 40 aufbewahrt wird, zu verwalten.
  • In 4 stellt das linke Fenster eine schematische Darstellung der hierarchischen Definition dar, während das rechte Fenster als ein Informationsanzeigebereich dient. Das Fenster unten auf dem Schirm enthält eine Liste von Inhaltsidentifizierern, die für die Zuweisung zu Elementen der hierarchischen Struktur verfügbar sind, die bestimmte Geräte oder Divisionen darstellen (in diesem Beispiel sind die Inhalte Computerprogramme). Wie in 4 zu erkennen ist, beinhaltet jeder Inhaltsidentifizierer einen Namen für den Inhalt und einen Ortsindikator, in diesem Fall eine URL-Adresse, die den Ort identifiziert, von dem der entsprechende Inhalt abgerufen werden kann. Optional kann der Inhaltsidentifizierer Informationen enthalten, wie z. B. Versionsnummern, Inhaltstyp und das Datum der letzten Modifizierung.
  • 5 zeigt die Information, die dargestellt werden wird, wenn der Systemadministrator die "Engineer"-Division auswählt. Wie in dem Informationsanzeigebereich zu erkennen ist, zeigt dies an, daß die Programme "Yellow", "Indigo" und "Orange" mit der Division "Engineer" verknüpft sind, und daß ebenso das Betriebssystem "Green" und die Anwendung "Red" von der Division "All" vererbt werden.
  • 6 stellt die Information dar, die bereitgestellt wird, wenn der Systemadministrator ein Individuum auswählen würde, in diesem Fall das Individuum Nigel Brookes, mit dem zwei Geräte verknüpft sind, nämlich "Hugh" und "Cuthbert". Schließlich stellt 7 die Programme dar, die mit dem Gerät "Hugh" verknüpft sind. Man sieht, daß das Gerät "Hugh" die direkt verknüpfte Anwendung "Violet" hat, jedoch ebenso die Programme erbt, die mit den Divisionen "Engineer" und "All" verknüpft sind.
  • 8 stellt die graphische Oberfläche dar, die für eine alternative Beispieldatenbankstruktur dargestellt werden kann. Hier ist ein Gerät namens Future Phone als einem Individuum, Nigel Brookes, gehörend angezeigt, der innerhalb der Engineer-Division verknüpft ist, die wiederum eine Division der Concept-Technology-Division ist. Weiterhin ist die Concept-Technology-Division innerhalb der Hugh-Symons-Division enthalten, die innerhalb der All-Division enthalten ist. Wie in 8 zu sehen ist, hat das Gerät Future Phone zwei hiermit verknüpfte Applikationen und erbt ebenso eine Applikation von der All-Division. In diesem Fall ist es klar, daß die Divisionen Hugh Symons, Concept Technologies und Engineers keine direkt mit diesen verknüpften Inhalte haben, da anderenfalls das Gerät Future Phone ebenso die Information bzw. den Inhalt von diesen Divisionen erben würde.
  • In 8 sieht man ebenso, daß die Inhaltsidentifizierer in diesem Fall ebenso optionale Informationen beinhalten, die eine voreingestellte Mietperiode identifizieren. Diese Information ermöglicht dem Client-Programm auf einem Netzwerkgerät automatisch, den Inhalt nach Ablauf der Mietperiode zu entfernen. Somit kann unter Bezug auf 8 gesehen werden, daß zwei der Applikationen, die dem Gerät Future Phone zugewiesen sind, auf einer fortwährenden Mietbasis sind, aber die Applikation JarBall Madness auf einer 30-Tage-Mietbasis ist, die am 26. August 1999 abläuft. Das Client-Programm kann diese Information verwenden, um an diesem Datum automatisch JarBall Madness von dem Future-Phone-Gerät zu entfernen.
  • Für die Vollständigkeit wird ebenso 9 bereitgestellt, um eine einfache Darstellung eines Teils einer hierarchischen Struktur zu geben, die innerhalb der Datenbank 40 aufbewahrt werden kann. Wie vorher erwähnt wurde, sind die Geräte in logischen, hierarchischen Gruppierungen, genannt Divisionen, organisiert. Jede Division erbt die Inhalte ihrer übergeordneten Division. Der Inhalt kann diesen Divisionen und den einzelnen Geräten zugewiesen werden, was dann die Erzeugung eines Profils für bestimmte Geräte erleichtert.
  • In 9 sehen wir, daß Sue Bar das Gerät "My Cell Phone" gehört. Sie ist Teil der Customer-Division und ebenso der Support- und All-Division. Ihr Gerät wird daher den Inhalt haben, der All, Support, Customer und diesem speziellen Gerät zugewiesen ist. Wenn Sue entscheidet, daß sie von einem Service Gebrauch machen möchte, der alle SMS- (Kurznachrichtendienst-) Nachrichten zu ihrem E-Mail-Account senden wird, kann sie diesen Service von dem relevanten Systemadministrator anfordern. Der Systemadministrator kann entscheiden, diesen Dienst nicht allgemein verfügbar zu machen und so ihn stattdessen nur ihrem Mobiltelefon zuzuweisen. Wenn dieses Gerät als nächstes ein Profil von dem Server abruft, wird es automatisch die relevante Applikation empfangen.
  • Der Systemadministrator behält die Verantwortung für die gesamte Hierarchie, ist jedoch in der Lage, die Steuerung von Unterdivisionen auf andere Verwalter zu delegieren. Unter Bezug auf 9 könnte somit der Netzwerkadministrator die Verantwortlichkeit für die All-Division behalten, könnte jedoch wählen, die Verwaltung der Customer-Support-Division und der Technical-Support-Division an einen oder mehrere andere Verwalter zu delegieren.
  • Die Flußdiagramme der 11 und 12 stellen eine kurze Darstellung des Prozesses bereit, der durchgeführt wird, wenn ein Client-Programm auf einem Gerät in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ausgeführt wird, wobei 11 die Verarbeitungsschritte darstellt, die von dem Client-Programm ausgeführt werden, und 12 die Verarbeitungsschritte darstellt, die von dem Server ausgeführt werden. Es ist klar, daß nicht alle Ausführungsformen die exakte Sequenz von Schritten, die in den 11 und 12 dargestellt sind, ausführen müssen; stattdessen sind die 11 und 12 dafür vorgesehen, eine bestimmte Ausführungsform zu illustrieren. Wenn beispielsweise der Server bestimmt, daß das Gerät nicht gegenwärtig in der Datenbank ist, dann kann er ausgelegt sein, um diesem Gerät den Zugriff auf das Netzwerk zu verweigern, statt einen neuen Eintrag für dieses Gerät in der "New-Devices"-Division zu erzeugen.
  • Unter Bezug auf die Ausführungsformen von 12 versteht es sich, daß, wenn eine "New-Devices"-Division bereitgestellt würde, sie im allgemeinen als Tochter bzw. Unterdivision der Division "All" bereitgestellt würde. Falls irgendein Inhalt mit der Division "All" verknüpft wäre, dann würde dieses neue Gerät diesen Inhalt erben. Alternativ können jedoch die beiden Divisionen "All" und "New Devices" derart ausgelegt sein, daß sie keinen verknüpften Inhalt haben, so daß das neue Gerät nicht mit irgendwelchem Inhalt ausgestattet wird zu dem Zeitpunkt, wenn es als erstes den Server kontaktiert.
  • Ungeachtet dessen, welcher Ansatz genommen wird, würde in bevorzugten Ausführungsformen der Netzwerkadministrator versuchen, alle Geräte, die innerhalb der "New-Devices"-Division plaziert sind, der geeigneten Division innerhalb der Hierarchie neu zuzuweisen. Beispielsweise mit Bezug auf die 47, wenn das neue Gerät tatsächlich innerhalb der "Support"-Division wäre, dann würde der Support-Administrator dieses Gerät von der "New-Devices"-Division zu der "Support"-Division bewegen, so daß in nachfolgenden Zugriffen das neue Gerät derart angeordnet wird, daß es den Inhalt empfängt, der für die "Support"-Division geeignet ist.
  • Die 13 und 14 sind Flußdiagramme, die eine detailliertere Darstellung des Prozesses zur Verfügung stellen, der durchgeführt werden kann, wenn ein Client-Programm auf einem Gerät ausgeführt wird. Die 13A13D können als eine detailliertere Darstellung der in 11 dargestellten Ausführungsform angesehen werden, während 14 eine andere Ausführungsform zu der in 12 dargestellten zeigt, wobei statt des Zuweisens von unbekannten Geräten zu einer neuen Gerätedivision der Prozeß, der in 14 dargestellt ist, lediglich den Prozeß abbricht und somit der Prozeß nur verwendet werden kann, sobald Geräte von dem Systemadministrator einem geeigneten Ort in der hierarchischen Struktur zugewiesen wurden.
  • Unter Bezug auf 13A, wenn das Client-Programm ausgeführt wird, startet es in Schritt 500 und setzt mit Schritt 510 fort, wo bestimmt wird, ob es irgendein verfügbares Netzwerk gibt. Falls nicht, endet der Prozeß in Schritt 520 und der Prozeß wird das nächste Mal, wenn das Client-Programm ausgeführt wird, erneut beginnen. Wie früher erwähnt wurde, ist das Client-Programm vorzugsweise derart ausgelegt, daß es in vorbestimmten Zeitintervallen ausgeführt wird, wobei diese Intervalle abhängig von dem Gerätetyp bestimmt werden.
  • Wenn das Netzwerk verfügbar ist, dann setzt der Prozeß mit Schritt 530 fort, wo das Gerät versucht, das Profil von dem Server 30 zu laden. In Schritt 540 wird bestimmt, ob der Lade- bzw. Downloadprozeß erfolgreich war, d. h. ob ein Profil von dem Server empfangen wurde, und falls nicht, wird der Prozeß zurück zu Schritt 530 geschleift. Es versteht sich, daß, falls es ein zeitweiliges Problem mit entweder dem Server oder dem Netzwerk gibt, das verhindert, daß das Profil zu dem Client-Programm geliefert wird, das Client-Programm an diesem Punkt stehenbleiben könnte. Folglich kann es in einigen Ausführungsformen dienlich sein, einen Timeout-Mechanismus hier bereitzustellen, wobei der Prozeß nach Schritt 520 verzweigt, falls innerhalb einer vorbestimmten Zeit kein erfolgreicher Download des Profils erreicht wurde. Aus Gründen der Einfachheit wurde jedoch dieser Prozeß in 13A nicht dargestellt.
  • Angenommen, daß der Profildownload erfolgreich ist, dann setzt der Prozeß mit Schritt 550 fort, wo das neue Profil mit einem Inhaltseintrag 560 verglichen wird, der auf dem Netzwerkgerät gehalten wird, um den Inhalt, der zu dem Gerät in Übereinstimmung mit einem vorherigen Profil abgerufen wurde, zu identifizieren. Bevor jedoch der Rest der 13A bis 13B erörtert wird, wird nun die Art und Weise, in der das Profil von dem Server 30 erzeugt wird, unter Bezug auf 14 beschrieben. Die Profilerzeugung wird vorzugsweise von Software durchgeführt, die auf dem Server 30 installiert ist. Der Prozeß beginnt in Schritt 700 und in Schritt 705 wartet der Server auf eine Geräteverbindung. Sobald das Gerät verbunden wurde, wird in Schritt 710 bestimmt, ob das Gerät bekannt ist, d. h. ob es in der hierarchischen Struktur dargestellt wird, und falls nicht, wird die Verbindung in Schritt 720 geschlossen. Der Prozeß kehrt dann zu Schritt 705 zurück, um eine weitere Geräteverbindung abzuwarten.
  • Unter der Annahme, daß das Gerät bekannt ist, setzt jedoch der Prozeß mit Schritt 715 fort, wo die Inhaltsidentifizierer für dieses Gerät von dem entsprechenden Element in der hierarchischen Struktur, das in der Datenbank 40 gehalten wird, abgerufen werden. Dann wird in Schritt 725 bestimmt, in welcher Division das Gerät in der hierarchischen Struktur enthalten ist, und dann werden die Inhaltsidentifizierer, die mit dieser Division verknüpft sind, ebenso zu den Inhaltsidentifizierern, die in Schritt 715 abgerufen wurden, hinzugefügt.
  • Als nächstes wird in Schritt 735 bestimmt, ob die Division eine Elterndivision innerhalb der hierarchischen Struktur hat, und falls dies der Fall ist, wird die Elterndivision in Schritt 730 abgerufen und die Inhaltsidentifizierer innerhalb dieser Division werden in Schritt 725 zu den bereits von der Datenbank abgefragten Inhaltsidentifizierern hinzugefügt. Dieser Prozeß wird fortgesetzt, bis in Schritt 735 bestimmt wird, daß die gegenwärtige Division keine Elterndivision hat (d. h. unter Bezug auf die vorherigen Beispiele bedeutet dies, daß die gegenwärtige Division die All-Division ist), an dessen Punkt bestimmt wird, daß alle zweckmäßigen Inhaltsidentifizierer lokalisiert wurden. Folglich werden diese Inhaltsidentifizierer zu dem Gerät in Schritt 740 als das angeforderte Profil gesendet. Der Prozeß kehrt dann zu Schritt 705 zurück, um auf eine weitere Geräteverbindung zu warten.
  • Unter Rückkehr zu 13A muß als ein Ergebnis von Schritt 550 jeder neue Inhalt, der abzurufen ist, alter Inhalt, der zu löschen ist, oder Inhalt, der zu aktualisieren ist, durch den Bereich des neuen Profils mit dem vorher gespeicherten Inhaltseintrag 560 bestimmt werden. Folglich setzt der Prozeß mit Schritt 570 in 13B fort, wo bestimmt wird, ob es irgendeinen Inhalt gibt, der zu entfernen ist. Falls dies der Fall ist, wird in Schritt 575 bestimmt, ob es zweckmäßig ist, einen Uninstaller auszuführen, um den Inhalt zu entfernen.
  • Bevor mit der Beschreibung von 13B fortgesetzt wird, wird der Mechanismus für das Bestimmen, ob ein Installer/Uninstaller erforderlich ist, detaillierter erörtert. Wie vorher erwähnt wurde, beinhaltet, wenn der Inhalt zu dem Netzwerkgerät abgerufen wird, dies ebenso in Beziehung stehende Information, die identifiziert, wie der Inhalt mit Empfang gehandhabt werden soll. In Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung wird die Verknüpfung dieser weiteren Information mit dem Inhalt über einen oder mehrere Packer, die von dem System von bevorzugten Ausführungsformen bereitgestellt werden, erzielt, wobei diese Packer vorzugsweise als Computerprogramme verkörpert werden. Dieser Prozeß wird schematisch in 15 dargestellt.
  • Der Inhaltsliefermechanismus ist sehr flexibel, was es Entwicklern erlaubt, neue Inhaltstypen zusammen mit jedem notwendigen Installierer und Deinstallierer einzuführen, ohne daß irgendeine clientseitige Software verändert werden muß. Beispielsweise könnte der gesamte Verkaufsstab in einer bestimmten Organisation die letzten Leistungsergebnisse zu ihren Geräten bereitgestellt haben und automatisch in einer Datenbankapplikation auf diesen Geräten installiert haben.
  • Diese Flexibilität wird erzielt durch das Bündeln von Inhalt in Standard-Java-Archiven (JAR-Files), die in bevorzugten Ausführungsformen mit einer gut bekannten Datei "META- INF/manifest.mf' verknüpft sind, und durch das Leiten dieser Java-Archive durch einen Packer, wie in 15 dargestellt ist. Eine JAR-Datei ist eine Datei oder Dateien unter Verwendung eines JAR-Tools, das mit dem Java-Development-Kit ausgeliefert wurde, die in eine einzelne Datei komprimiert wurden.
  • Wie in 15 dargestellt ist, wird der Inhalt 800 an einen geeigneten Packer innerhalb einer Gruppe von Packern 810 geleitet. Beispielsweise kann ein bestimmter Packer 830 für die Packapplikationen bereitgestellt werden, ein anderer Packer 840 kann für das Packen von Dokumenten bereitgestellt werden, und ein weiterer Packer 850 kann für das Packen anderer Inhaltstypen bereitgestellt werden. Der relevante Packer verändert den Inhalt der Manifest-Datei, um zumindest den Namen, den Typ und die Version des Inhalts zu beinhalten. Es steht dem Packer frei, in diese Datei irgendeine andere Variable, die erforderlich sein kann, aufzunehmen. Dies führt zu einer Bündelung 820, die in Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung zu Netzwerkgeräten verteilt werden kann. Es sollte erwähnt werden, daß das resultierende Bündel immer noch vollständig mit Java kompatibel ist.
  • In bevorzugten Ausführungsformen wird ein Packer für jeden Inhaltstyp bereitgestellt. Zusätzlich kann jeder Inhaltstyp optional einen Installierer/Deinstallierer haben, der bereitgestellt wird, um solch einen Inhalt auf einem Netzwerkgerät zu installieren/zu deinstallieren. Da die Packer typspezifisch sind und da alle Installierer/Deinstallierer ebenso typspezifisch sind, versteht es sich, daß der Packer ausgelegt sein kann, um alle Variablen, die spezifisch von dem entsprechenden Installierer/Deinstallierer erfordert werden, zu beinhalten. Wenn beispielsweise der Inhaltstyp ein Microsoft-Word-Dokument für PCs ist, könnte der Packer in das Bündel die erforderliche Versionsnummer von Microsoft Word aufnehmen, die erforderlich ist, um die Datei zu lesen. Der Installierer würde dann versuchen, diese Version von Word zu lokalisieren und beispielsweise den Benutzer eines Gerätes warnen, wenn er sie nicht findet.
  • Als ein anderes Beispiel könnte, wenn der Inhaltstyp ein Anwendungsprogramm ist, der Packer in die Bündelung eine Identifikation aufnehmen, welche Datei die hauptausführbare Datei ist, könnte eine Identifikation eines Icons aufnehmen, das zu verwenden ist, um das Programm auf dem Desktop darzustellen usw. Die relevanten Installierer können dann diese Information verwenden, um zu ermöglichen, daß das Anwendungsprogramm korrekt installiert wird.
  • Es kann somit gesehen werden, daß abhängig von dem Inhaltstyp ein Installierer/Deinstallierer notwendig sein kann oder nicht. Die gepackte Einheit, wie sie abgerufen wurde, spezifiziert unter anderem den Inhaltstyp, wie es tatsächlich der Inhaltsidentifizierer in dem Profil tut, und somit kann der Gerätemanager überprüfen, um zu sehen, ob ein Installierer/Deinstallierer mit diesem Inhaltstyp verknüpft ist. Dies kann beispielsweise zweckmäßig sein, wenn der Inhalt ein Anwendungsprogramm ist.
  • Zurück in 13B setzt der Prozeß, wenn in Schritt 575 bestimmt wird, daß ein Deinstallierer ausgeführt werden sollte, mit Schritt 585 fort, wo der geeignete Deinstallierer heruntergeladen und ausgeführt wird, um den relevanten Inhalt zu entfernen. In bevorzugten Ausführungsformen fragt das Client-Programm, um den geeigneten Deinstallierer herunterzuladen, die RMI-Registry 310, die in 3 dargestellt ist, ob ein Installierer/Deinstallierer für den empfangenen Inhaltstyp existiert. Falls solch ein Installierer/Deinstallierer existiert, wird er von der RMI-Registry zu dem Client-Programm heruntergeladen, wonach er ausgeführt werden kann, um den bestimmten in Frage stehenden Inhalt zu deinstallieren.
  • Es werden jedoch nicht alle Inhaltstypen einen Deinstallierer erfordern. Beispielsweise kann der Inhalt ein Datenfile sein, der lediglich das Löschen erfordert. In diesem Fall wird in Schritt 575 bestimmt, daß es nicht notwendig ist, einen Deinstallierer auszuführen, wobei in diesem Fall der Prozeß mit Schritt 580 fortsetzen wird, wo der Inhalt gelöscht wird. Der Prozeß kehrt dann zu Schritt 570 zurück, um zu bestimmen, ob irgendein weiterer Inhalt entfernt werden muß. Falls dies der Fall ist, wird der oben beschriebene Prozeß wiederholt.
  • Falls nicht, setzt der Prozeß mit Schritt 590 fort, wo bestimmt ist, ob es irgendwelchen zu aktualisierenden Inhalt gibt. Falls dies der Fall ist, setzt der Prozeß mit Schritt 595 fort, wo der aktualisierte Inhalt von dem Ort heruntergeladen wird, der in dem entsprechenden Inhaltsidentifizierer, der in dem Profil bereitgestellt wird, angezeigt wird. Wie vorher erwähnt wurde, wird der Inhalt vorzugsweise auf Internetservern gespeichert und in diesem Fall wird der Inhaltsidentifizierer eine geeignete Internetadresse identifizieren, von der der Inhalt herunterzuladen ist. Sobald der Inhalt heruntergeladen wurde, wird in Schritt 600 in 13C bestimmt, ob es notwendig ist, einen Installierer und/oder Deinstallierer auszuführen, wobei, wie oben erwähnt wurde, diese Entscheidung basierend auf dem Typ des zu aktualisierenden Inhalts getroffen wird.
  • Wenn beispielsweise der Inhalt ein Datenfile ist, dann ist es nicht zweckmäßig, einen Installierer und/oder Deinstallierer auszuführen, und folglich wird der Prozeß mit Schritt 615 fortsetzen, wo der veraltete Inhalt gelöscht wird und der aktualisierte Inhalt gesichert wird. Angenommen jedoch, daß bestimmt wird, daß ein Installierer und/oder Deinstallierer erforderlich ist, dann setzt der Prozeß mit Schritt 605 fort, wo jeder notwendige Installierer und/oder Deinstallierer unter Verwendung des früher unter Bezug auf Schritt 585 beschriebenen Prozesses heruntergeladen wird. Der Deinstallierer kann dann ausgeführt werden, um den veralteten Inhalt zu entfernen, wonach der Prozeß mit Schritt 610 fortsetzt, wo der notwendige Installierer ausgeführt wird, um den aktualisierten Inhalt zu installieren. Der Prozeß kehrt dann zu Schritt 590 zurück, um zu bestimmen, ob weiterer Inhalt aktualisiert werden muß. Falls dies der Fall ist, wird der oben beschriebene Prozeß wiederholt; falls dies nicht der Fall ist, setzt jedoch der Prozeß mit Schritt 620 fort, der in 13D gezeigt ist.
  • In Schritt 620 wird bestimmt, ob es neuen hinzuzufügenden Inhalt gibt. Falls dies der Fall ist, setzt der Prozeß mit Schritt 625 fort, wo der neue Inhalt heruntergeladen wird unter Verwendung der Information, die in dem relevanten Inhaltsidentifizierer, der in dem Profil enthalten ist, bereitgestellt wird. Dann wird in Schritt 630 entschieden, ob ein Installierer ausgeführt werden muß, und falls dies der Fall ist, setzt der Prozeß mit Schritt 635 fort, wo der geeignete Installierer heruntergeladen wird und ausgeführt wird, um den Inhalt zu installieren. Wenn in Schritt 630 bestimmt wird, daß ein Installierer nicht erforderlich ist, dann kann der Prozeß direkt mit Schritt 640 fortsetzen, wo der neue Inhalt gesichert wird. In Bezug auf die Ausgabe, ob neuer Inhalt gesichert werden sollte, wenn ein Installierer verwendet wird, kann er ausgelegt sein, um zu bestimmen, ob es einen voreingestellten Ort für die Speicherung dieses Inhaltstyps gibt. Beispielsweise, falls der Inhalt ein Microsoft-Word-File ist, kann der Installierer die Konfigurationseinstellungen des Gerätes durchsehen, um zu sehen, ob ein voreingestellter Ort für Microsoft-Word-Dateien spezifiziert ist, und falls dies der Fall ist, wird dieser Ort für das Speichern des Inhalts verwendet. Falls kein solcher voreingestellter Ort existiert oder falls kein Installierer verwendet wird, kann der Gerätemanager derart ausgelegt sein, daß er einen voreingestellten Ort spezifiziert, an dem der Inhalt zu speichern ist.
  • Sobald der neue Inhalt auf dem Gerät gespeichert wurde, setzt der Prozeß zurück in Schritt 620 fort, wo bestimmt wird, ob es weiteren hinzuzufügenden Inhalt gibt. Falls dies der Fall ist, wird der oben beschriebene Prozeß wiederholt, falls aber kein weiterer Inhalt hinzuzufügen ist, setzt der Prozeß dann mit Schritt 645 fort, wo das gegenwärtige Profil als Inhaltseintrag 560 gespeichert wird. In bevorzugten Ausführungsformen wird angenommen, daß an dieser Stufe das Gerät alle Inhalte enthält, wie in dem gegenwärtigen Profil angezeigt wird. In dem Fall jedoch, daß aus irgendeinem Grund das Gerät nicht in der Lage war, jeden bestimmten Eintrag des Inhalts in dem Profil abzurufen, beispielsweise da der entsprechende Server zu dieser Zeit außer Betrieb war, dann ist es bevorzugt, daß der Inhaltseintrag 560 aktualisiert wird, um den tatsächlichen Inhalt, der zu dem Gerät in Übereinstimmung mit dem Profil abgerufen wurde, zu reflektieren, anstatt lediglich das gegenwärtige Profil selbst zu speichern. Sobald der Inhaltseintrag aktualisiert wurde, setzt dann der Prozeß mit Schritt 655 fort, wo der Prozeß beendet wird.
  • Aus der obigen Beschreibung wird ersichtlich, daß das System von bevorzugten Ausführungsformen der vorliegenden Erfindung eine Plattform bereitstellt für das Verwalten von ungleichartigen, heterogenen, verteilten Geräten. Diese Geräte beinhalten, sind jedoch nicht hierauf beschränkt, Computer, digitale Mobiltelefone und Set-Top-Boxen. Das System von bevorzugten Ausführungsformen stellt einen einmaligen Mechanismus für die automatische Verteilung, die Installation und die Entfernung von nahezu jeder Art von Inhalt einschließlich Applikationen ohne irgendeinen Benutzereingriff zur Verfügung. Ein Systemadministrator verwendet ein Verwaltungswerkzeug, um ein Programm aus Inhalt für jedes Gerät oder jede Gruppe von Geräten aufzubauen. Bei vorbestimmten Intervallen vergleicht ein kleiner Teil des clientseitigen Codes ein Profil, das von dem Server erzeugt wird, mit einem Eintrag des Inhalts, der auf dem Gerät in Übereinstimmung mit dem vorherigen Profil abgelegt ist. Jeder neue oder zu aktualisierende Inhalt wird automatisch abgerufen und installiert und jeglicher alte Inhalt wird entfernt. In bevorzugten Ausführungsformen sind der Server, das Verwaltungswerkzeug und das Client-Programme alle Java-basiert.
  • Um die Vielseitigkeit des obigen Systems darzustellen, können die folgenden Beispielszenarien betrachtet werden.
  • Man betrachte als erstes die Situation, wo ein Mitglied eines Firmennetzwerkes ein neues Gerät einfügt. In Übereinstimmung mit bevorzugten Ausführungsformen der vorliegenden Erfindung fragt während der Synchronisation das Gerät nach der Identität des Benutzers. Der Server errichtet die Anwesenheit des Benutzers in dem Verzeichnisserver und installiert automatisch das Gerät als diesem Benutzer gehörend. Dem Gerät wird ein Profil zugewiesen basierend auf seinem Ort in der hierarchischen Struktur und es wird automatisch seinen geeigneten Inhalt empfangen.
  • Als ein zweites Beispiel betrachte man die Situation, wo ein Mitglied einer Organisationseinheit seine Funktion verändert. In bevorzugten Ausführungsformen der vorliegenden Erfindung wird deren Benutzericon innerhalb der hierarchischen Struktur mittels Drag & Drop zu der Division, die ihre neue Funktion darstellt, verschoben. Das Inhaltsprogrammpaket wird dann automatisch aktualisiert, um die Veränderungen widerzuspiegeln, wenn das Profil das nächste Mal von dem Gerät des Benutzers empfangen wird.
  • Als ein weiteres Beispiel betrachte man die Situation, wo ein Team einen Pool von Mobiltelefonen betreibt. Normalerweise gehören diese einer Organisationseinheit in dem Verzeichnisserver. Wenn ein Benutzer ein Gerät anfragt, wird es von der Organisationseinheit auf das Icon des Benutzers verschoben. Das Gerät wird dann automatisch mit dem Inhalt, der für diesen Benutzer zweckmäßig ist, ausgestattet.
  • Als ein weiteres Beispiel betrachte man die Situation, wo ein neues Programm eingeführt wird. Ein Verwalter packt das neue Programm unter Verwendung von einem der früher beschriebenen Packer, verschickt den gepackten Inhalt zu einem Webserver und sagt dem Server 30 den Netzwerkort dieses Inhalts. Ein entsprechender Inhaltsidentifizierer wird dann erzeugt und mit den geeigneten Divisionen/Geräten innerhalb der hierarchischen Struktur verknüpft.
  • Schließlich betrachte man das Szenario, wo ein Programm aktualisiert wird. Vorausgesetzt, daß es in der geeigneten Art und Weise unter Verwendung von einem der früher beschriebenen Packer gepackt ist, wird es automatisch als ein Upgrade verteilt und das Upgrade wird in Übereinstimmung mit den früher unter Bezug auf den in den 13A13D beschriebenen Prozeß installiert.
  • Obgleich eine bestimmte Ausführungsform der Erfindung hier beschrieben wurde, versteht es sich, daß die Erfindung nicht hierauf begrenzt ist und daß viele Modifikationen und Hinzufügungen innerhalb des Schutzbereiches der Erfindung durchgeführt werden können. Beispielsweise könnten verschiedene Kombinationen der Merkmale der folgenden abhängigen Ansprüche durchgeführt werden mit den Merkmalen der unabhängigen Ansprüche, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen.

Claims (23)

  1. System für die Verwaltung der Verteilung von Inhalt zu einer Einrichtung bzw. einem Gerät (10, 100, 110, 120), das aufweist: eine Datenbank (40) für das Speichern einer Anzahl von Elementen als eine hierarchische Struktur von Einrichtungen, von Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft werden können, und von einem der Elemente, das die Einrichtung repräsentiert, einem Server (30) für das Herstellen von Bezügen auf die hierarchische Struktur in der Datenbank, um ein Profil für die Einrichtung zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, die den der Einrichtung zur Verfügung zu stellenden Inhalt anzeigen, wobei das Profil alle Inhaltsidentifizierer, die mit dem Element verknüpft sind, das die Einrichtung darstellt, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen dieses Element abhängt, enthält, einen Gerätemanager (200), der mit der Einrichtung verknüpft ist und derart angeordnet ist, daß er das Profil von dem Server empfängt und die Inhaltsidentifizierer in dem Profil verwendet, um zu veranlassen, daß der Inhalt, der von dem Profil angezeigt wird, der Einrichtung zur Verfügung gestellt wird, wobei ein Eintrag beibehalten wird, der den Inhalt identifiziert, der in Übereinstimmung mit dem Profil zu der Vorrichtung geliefert wurde, wobei der Gerätemanager weiterhin derart angeordnet ist, daß er mit Empfang eines nachfolgenden Profils von dem Server die Inhaltsidentifizierer in dem nachfolgenden Profil mit dem Eintrag vergleicht, um den noch nicht der Einrichtung bereitgestellten neuen Inhalt und den nicht länger der Einrichtung zur Verfügung zu stellenden alten Inhalt zu bestimmen, wobei der Gerätemanager derart angeordnet ist, daß er die relevanten Inhaltsidentifizierer verwendet, um zu veranlassen, daß der neue Inhalt der Einrichtung zur Verfügung gestellt wird und um zu veranlassen, daß der alte Inhalt entfernt wird.
  2. System nach Anspruch 1, wobei jeder Inhaltsidentifizierer einen Namen für den entsprechenden Inhalt bereitstellt, und ein Ortsindikator einen Ort identifiziert, von dem dieser Inhalt erhalten werden kann.
  3. System nach Anspruch 2, in dem die Verteilung einer Mehrzahl von unterschiedlichen Inhaltstypen von dem System verwaltet werden und der Inhaltsidentifizierer weiterhin den Typ des entsprechenden Inhaltes identifiziert.
  4. System nach Anspruch 2 oder Anspruch 3, wobei Inhalt auf Servern (250, 260) gespeichert wird, die über das Internet kontaktierbar sind, und wobei der Ortsanzeiger eine URL-Adresse ist.
  5. System nach einem der vorherigen Ansprüche, das weiterhin eine Anzahl von Packern (810) aufweist für die Verknüpfung mit einer Inhaltsinformation, die erforderlich ist, den Inhalt zu handhaben, wenn er von der Einrichtung empfangen wird.
  6. System nach Anspruch 5, in dem die Verteilung einer Mehrzahl von unterschiedlichen Inhaltstypen von dem System verwaltet wird und ein Packer für jeden Inhaltstyp bereitgestellt wird.
  7. System nach Anspruch 5 oder Anspruch 6, in dem die Information, die mit einem Inhalt verknüpft ist, eine Identifikation eines zu verwendenden Installierers aufweist, um den Inhalt auf der Einrichtung zu installieren.
  8. System nach einem der vorherigen Ansprüche, das weiterhin ein Verwaltungstool bzw. – werkzeug (210) aufweist für das Bereitstellen einer Schnittstelle, um es einem Benutzer zu ermöglichen, die in der Datenbank gespeicherte hierarchische Struktur zu verwalten.
  9. System nach Anspruch 8, in dem die Elemente ein oder mehrere Bereiche beinhalten, wobei jeder Bereich eine logische Gruppierung für Einrichtungen bzw. Geräte darstellt, wobei das Verwaltungstool es ermöglicht, daß Bereiche erzeugt und gelöscht werden, und es ermöglicht, daß Inhaltsidentifizierer mit jedem Bereich verknüpft werden.
  10. System nach Anspruch 9, in dem das Profil, das von dem Server erzeugt wird, jeden Inhaltsidentifizierer enthält, der mit der Einrichtung verknüpft ist, und alle Inhaltsidentifizierer enthält, die mit einem Bereich verknüpft sind, von dem die Einrichtung in der hierarchischen Struktur abhängt.
  11. System nach einem der Ansprüche 8 bis 10, in dem das Verwaltungstool es ermöglicht, daß Personenidentifizierer, die Individuen identifizieren, als Elemente in der hierarchischen Struktur bereitgestellt werden, wobei das Verwaltungstool verwendet werden kann, um innerhalb der hierarchischen Struktur die Einrichtung mit den Individuen, die die Einrichtung besitzen, zu verknüpfen.
  12. System nach einem der vorherigen Ansprüche, in dem der Gerätemanager derart angeordnet ist, daß er zu vorbestimmten Zeitintervallen eine Verbindung mit dem Server herstellt, um das Profil abzufragen, wobei der Gerätemanager die Einrichtung identifiziert, für die das Profil erforderlich ist.
  13. System nach einem der vorherigen Ansprüche, in dem die Verteilung einer Mehrzahl von unterschiedlichen Inhaltstypen von dem System verwaltet wird und zumindest einer der Typen ein Computerprogramm-Typ ist.
  14. System nach einem der vorherigen Ansprüche, in dem die Datenbank eine relationale Datenbank ist.
  15. Computerprogrammprodukt, das ein Computerprogramm zur Verfügung stellt, das betreibbar ist, um einen Server (30) zu konfigurieren für die Verwendung in einem System nach einem der vorherigen Ansprüche, wobei das Computerprogramm im Betrieb derart angeordnet ist, daß es veranlaßt, daß der Server die Schritte ausführt: Zugreifen auf eine Datenbank, die eine Anzahl von Elementen als eine hierarchische Struktur von Einrichtungen bzw. Geräten, die Inhaltsidentifizierer, die in der Lage sind, mit Elementen in der hierarchischen Struktur verknüpft zu werden, und eines der Elemente, das eine Einrichtung darstellt, zu der Inhalt verteilt werden soll, zur Verfügung stellt, und Bezugnehmen (470) auf die hierarchische Struktur in der Datenbank, um ein Profil für die Einrichtung zu erzeugen, wobei das Profil, das eine Anzahl von Inhaltsidentifizierern enthält, Inhalt anzeigt, der zu der Einrichtung bereitgestellt wird, wobei das Profil jeden Inhaltsidentifizierer, der mit dem Element, das die Einrichtung darstellt, verknüpft ist, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen das Element abhängt, enthält.
  16. Computerprogrammprodukt nach Anspruch 15, das weiterhin derart betreibbar ist, daß es den Server konfiguriert, um das Profil zu einem Gerätemanager der Einrichtung zu übertragen (480).
  17. Computerprogrammprodukt nach Anspruch 16, wobei das Profil in Antwort auf eine Anfrage nach dem Profil von dem Gerätemanager erzeugt wird.
  18. Computerprogrammprodukt nach einem der Ansprüche 15 bis 17, das weiterhin derart betreibbar ist, daß es einen Computer konfiguriert, um eine Schnittstelle bereitzustellen, um es einem Benutzer zu ermöglichen, die hierarchische Struktur, die in der Datenbank gespeichert ist, zu verwalten.
  19. Computerprogrammprodukt nach Anspruch 18, in dem die Elemente in der hierarchischen Struktur ein oder mehrere Bereiche beinhalten, wobei jeder Bereich eine logische Gruppierung für Geräte darstellt, wobei das Computerprogramm ermöglicht, daß Bereiche erzeugt und gelöscht werden, und ermöglicht, daß Inhaltsidentifizierer mit jedem Bereich verknüpft werden.
  20. Computerprogrammprodukt nach Anspruch 18 oder Anspruch 19, wobei das Computerprogramm es ermöglicht, daß Personenidentifizierer, die Individuen identifizieren, als Elemente in der hierarchischen Struktur bereitgestellt werden, wobei das Computerprogramm verwendet werden kann, um innerhalb der hierarchischen Struktur das Gerät mit dem Individuum, das die Einrichtung besitzt, zu verknüpfen.
  21. Computerprogrammprodukt nach einem der Ansprüche 15 bis 20, das weiterhin derart betreibbar ist, daß es einen Computer konfiguriert, um eine Verknüpfung mit einer Inhaltsinformation durchzuführen, die erforderlich ist, um den Inhalt zu handhaben, wenn er von dem Gerät empfangen wird.
  22. Computerprogrammprodukt, das ein Computerprogramm bereitstellt, das betreibbar ist, um einen Gerätemanager (200) eines Gerätes bzw. einer Einrichtung (10, 100, 110, 120) für die Verwendung in einem System nach einem der Ansprüche 1 bis 14 zu konfigurieren, wobei das System eine Datenbank (40) hat, die eine Anzahl von Elementen als eine hierarchische Struktur von Geräten, Inhaltsidentifizierer, die mit Elementen in der hierarchischen Struktur verknüpft werden können, und eines der Elemente, das die Einrichtung darstellt, bereitstellt, wobei das Computerprogramm derart angeordnet ist, daß es im Betrieb veranlaßt, daß der Gerätemanager die Schritte durchführt: Empfangen (410) eines Profils von einem Server (30), wobei das Profil erzeugt wurde durch Bezugnehmen auf die hierarchische Struktur in der Datenbank, um ein Profil für die Einrichtung zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, die den Inhalt, der der Einrichtung bereitzustellen ist, anzeigt, wobei das Profil alle Inhaltsidentifizierer, die mit dem Element, das die Einrichtung darstellt, verknüpft sind, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen das Element abhängt, enthält, Verwenden der Inhaltsidentifizierer in dem Profil, um zu veranlassen, daß der Inhalt, der von dem Profil angezeigt wird, zu der Einrichtung bzw. zu dem Gerät bereitgestellt wird (430), Vergleichen (550) mit Empfang eines nachfolgenden Profils von dem Server, der Inhaltsidentifizierer in dem nachfolgenden Profil mit einem Eintrag (560), der den Inhalt identifiziert, der in Übereinstimmung mit einem vorherigen Profil dem Gerät bereitgestellt wurde, um neuen Inhalt, der noch nicht zu der Einrichtung bereitgestellt wurde, und alten Inhalt, der der Einrichtung nicht mehr länger bereitgestellt wird, zu bestimmen und Verwenden der relevanten Inhaltsidentifizierer, um zu veranlassen, daß der neue Inhalt zu der Einrichtung bereitgestellt wird (625), und um zu veranlassen, daß der alte Inhalt entfernt wird (580, 585).
  23. Verfahren zum Verwalten der Verteilung von Inhalt zu einem Gerät, das die Schritte aufweist: Speichern einer Anzahl von Elementen als hierarchische Struktur von Geräten von Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft werden können, und einem der Elemente, das die Einrichtung bzw. das Gerät darstellt, in einer Datenbank (40), Bezugnehmen (470) auf die hierarchische Struktur in der Datenbank, um ein Profil für das Gerät zu erzeugen, wobei das Profil eine Anzahl von Inhaltsidentifizierern enthält, die den Inhalt anzeigt, der dem Gerät bereitgestellt werden soll, wobei das Profil alle Inhaltsidentifizierer, die mit dem Element, das das Gerät darstellt, verknüpft sind, zusammen mit allen Inhaltsidentifizierern, die mit Elementen in der hierarchischen Struktur verknüpft sind, von denen das Element abhängt, enthält, Veranlassen, daß der Inhalt, der von dem Profil angezeigt wird, zu dem Gerät bereitgestellt wird (430) unter Bezug auf die Inhaltsidentifizierer in dem Profil, Beibehalten eines Eintrages (560), der den Inhalt identifiziert, der Einrichtungen in Übereinstimmung mit dem Profil bereitgestellt wird, Vergleichen (550) mit Empfang eines nachfolgenden Profils der Inhaltsidentifizierer in dem nachfolgenden Profil mit dem Eintrag, um neuen Inhalt, der noch nicht zu dem Gerät geliefert wurde, und alten Inhalt, der nicht länger zu dem Gerät geliefert wird, zu bestimmen und Verwenden der relevanten Inhaltsidentifizierer, um zu veranlassen, daß der neue Inhalt zu dem Gerät geliefert wird (625) und um zu veranlassen, daß der alte Inhalt entfernt wird (580, 585).
DE60009489T 1999-04-30 2000-04-20 Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät Expired - Lifetime DE60009489T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GBGB9910164.4A GB9910164D0 (en) 1999-04-30 1999-04-30 The distributed management of network devices
GB9910164 1999-04-30
GB9922348 1999-09-21
GBGB9922348.9A GB9922348D0 (en) 1999-04-30 1999-09-21 The distributed management of network devices
GB9923640A GB2352539B (en) 1999-04-30 1999-10-06 A system and method for managing distribution of content to a device
GB9923640 1999-10-06
PCT/GB2000/001557 WO2000067112A2 (en) 1999-04-30 2000-04-20 A system and method for managing distribution of content to a device

Publications (2)

Publication Number Publication Date
DE60009489D1 DE60009489D1 (de) 2004-05-06
DE60009489T2 true DE60009489T2 (de) 2004-12-23

Family

ID=27269713

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60009489T Expired - Lifetime DE60009489T2 (de) 1999-04-30 2000-04-20 Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät

Country Status (8)

Country Link
US (1) US6886017B1 (de)
EP (1) EP1185923B1 (de)
AT (1) ATE263392T1 (de)
AU (1) AU4132900A (de)
DE (1) DE60009489T2 (de)
ES (1) ES2215638T3 (de)
IL (1) IL145993A0 (de)
WO (1) WO2000067112A2 (de)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073477B2 (en) 2000-04-11 2011-12-06 Telecommunication Systems, Inc. Short message distribution center
US6956833B1 (en) * 2000-02-08 2005-10-18 Sony Corporation Method, system and devices for wireless data storage on a server and data retrieval
AU3689301A (en) * 2000-02-09 2001-08-20 Apriva Inc Communication systems, components, and methods operative with programmable wireless devices
US7522911B2 (en) * 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
US6839562B2 (en) 2000-04-11 2005-01-04 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
US20070136592A1 (en) 2000-04-12 2007-06-14 Smith Richard A Wireless internet gateway
US6891811B1 (en) * 2000-04-18 2005-05-10 Telecommunication Systems Inc. Short messaging service center mobile-originated to HTTP internet communications
GB2369958B (en) * 2000-12-07 2003-03-19 Idesta Group Ltd Mobile computing system architecture
US7519654B1 (en) * 2000-11-22 2009-04-14 Telecommunication Systems, Inc. Web gateway multi-carrier support
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US20030022657A1 (en) * 2001-07-18 2003-01-30 Mark Herschberg Application provisioning over a wireless network
US9554268B2 (en) 2001-07-26 2017-01-24 Kyocera Corporation System and method for updating persistent data in a wireless communications device
US7386846B2 (en) 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
US7184759B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7328007B2 (en) 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US7184793B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. System and method for over the air area code update
JP2003046697A (ja) * 2001-07-30 2003-02-14 Fuji Photo Film Co Ltd プリント用デジタルコンテンツおよびプリント注文システム並びにプログラム
EP1282282B1 (de) * 2001-08-03 2007-05-30 Siemens Aktiengesellschaft Verfahren zur Bildung eines Ad-hoc-Netzwerkes
US6658260B2 (en) 2001-09-05 2003-12-02 Telecommunication Systems, Inc. Inter-carrier short messaging service providing phone number only experience
NZ533176A (en) * 2001-12-25 2005-10-28 Ntt Docomo Inc Device and method for restricting content access and storage
JP4391056B2 (ja) * 2002-04-15 2009-12-24 ソニー株式会社 情報管理装置および方法、記録媒体、並びにプログラム
US20030204573A1 (en) * 2002-04-30 2003-10-30 Andre Beck Method of providing a web user with additional context-specific information
JP4346869B2 (ja) * 2002-06-26 2009-10-21 パナソニック株式会社 電子機器、及び情報処理方法
GB0230329D0 (en) * 2002-12-31 2003-02-05 British Telecomm Device profile generation
US7490142B2 (en) * 2003-04-25 2009-02-10 Microsoft Corporation Automatic client management authority assignment
US7895529B1 (en) * 2003-09-10 2011-02-22 Microsoft Corporation System and method for processing featured content
AR047414A1 (es) 2004-01-13 2006-01-18 Interdigital Tech Corp Un metodo y un aparato ofdm para proteger y autenticar informacion digital transmitida inalambricamente
WO2005074207A1 (ja) * 2004-01-30 2005-08-11 Matsushita Electric Industrial Co., Ltd. 通信システム、情報処理システム、情報処理装置、トンネル管理装置、情報処理方法、トンネル管理方法およびプログラム
WO2005089213A2 (en) 2004-03-12 2005-09-29 Interdigital Technology Corporation Watermarking of recordings
US7546956B2 (en) 2004-04-30 2009-06-16 Research In Motion Limited System and method of operation control on an electronic device
US7991411B2 (en) * 2004-05-06 2011-08-02 Telecommunication Systems, Inc. Method to qualify multimedia message content to enable use of a single internet address domain to send messages to both short message service centers and multimedia message service centers
US8195205B2 (en) 2004-05-06 2012-06-05 Telecommunication Systems, Inc. Gateway application to support use of a single internet address domain for routing messages to multiple multimedia message service centers
EP1757132B1 (de) * 2004-05-18 2013-07-17 Kyocera Corporation Modulare datenkomponenten für drahtlose kommunikationseinrichtungen
AU2008200175B2 (en) * 2004-05-18 2009-04-02 Kyocera Corporation System and method for interchangeable modular hardware components for wireless communication devices
JP2006031482A (ja) * 2004-07-16 2006-02-02 Toshiba Corp プロファイル管理方法及び管理システム
US9854058B2 (en) 2004-07-23 2017-12-26 At&T Intellectual Property I, L.P. Proxy-based profile management to deliver personalized services
US7272240B2 (en) 2004-12-03 2007-09-18 Interdigital Technology Corporation Method and apparatus for generating, sensing, and adjusting watermarks
US7321761B2 (en) 2004-12-03 2008-01-22 Interdigital Technology Corporation Method and apparatus for preventing unauthorized data from being transferred
TW200730836A (en) 2004-12-06 2007-08-16 Interdigital Tech Corp Method and apparatus for detecting portable electronic device functionality
US7904723B2 (en) 2005-01-12 2011-03-08 Interdigital Technology Corporation Method and apparatus for enhancing security of wireless communications
US7987369B2 (en) 2005-03-03 2011-07-26 Interdigital Technology Corporation Using watermarking to reduce communication overhead
US20070045400A1 (en) * 2005-08-23 2007-03-01 International Business Machines Corporation Distriubuted registry for personalization
US20070055629A1 (en) * 2005-09-08 2007-03-08 Qualcomm Incorporated Methods and apparatus for distributing content to support multiple customer service entities and content packagers
US7565506B2 (en) * 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
US20070078944A1 (en) * 2005-09-12 2007-04-05 Mark Charlebois Apparatus and methods for delivering and presenting auxiliary services for customizing a channel
US8893179B2 (en) * 2005-09-12 2014-11-18 Qualcomm Incorporated Apparatus and methods for providing and presenting customized channel information
US8528029B2 (en) * 2005-09-12 2013-09-03 Qualcomm Incorporated Apparatus and methods of open and closed package subscription
GB2430281A (en) * 2005-09-15 2007-03-21 Motorola Inc Distributed user profile
US8600836B2 (en) 2005-11-08 2013-12-03 Qualcomm Incorporated System for distributing packages and channels to a device
US8533358B2 (en) * 2005-11-08 2013-09-10 Qualcomm Incorporated Methods and apparatus for fragmenting system information messages in wireless networks
US8571570B2 (en) * 2005-11-08 2013-10-29 Qualcomm Incorporated Methods and apparatus for delivering regional parameters
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
DE102005061393A1 (de) * 2005-12-22 2007-07-05 Robert Bosch Gmbh Verfahren zur Verteilung von Softwaremodulen
US8290433B2 (en) 2007-11-14 2012-10-16 Blaze Mobile, Inc. Method and system for securing transactions made through a mobile communication device
US8949146B2 (en) * 2005-12-31 2015-02-03 Michelle Fisher Method for purchasing tickets using a mobile communication device
US8693995B2 (en) 2007-12-13 2014-04-08 Michelle Fisher Customized mobile applications for special interest groups
US20090132362A1 (en) * 2007-11-21 2009-05-21 Mobile Candy Dish, Inc. Method and system for delivering information to a mobile communication device based on consumer transactions
US8019365B2 (en) * 2005-12-31 2011-09-13 Michelle Fisher Conducting a payment using a secure element and SMS
US8275312B2 (en) 2005-12-31 2012-09-25 Blaze Mobile, Inc. Induction triggered transactions using an external NFC device
US8352323B2 (en) 2007-11-30 2013-01-08 Blaze Mobile, Inc. Conducting an online payment transaction using an NFC enabled mobile communication device
US20070156436A1 (en) * 2005-12-31 2007-07-05 Michelle Fisher Method And Apparatus For Completing A Transaction Using A Wireless Mobile Communication Channel And Another Communication Channel
US8190087B2 (en) * 2005-12-31 2012-05-29 Blaze Mobile, Inc. Scheduling and paying for a banking transaction using an NFC enabled mobile communication device
US8382593B2 (en) * 2006-01-20 2013-02-26 Cork Group Trading Ltd. Method and system for customizing electronic gaming machines
DE602006006787D1 (de) 2006-02-27 2009-06-25 Research In Motion Ltd Verfahren zum Personalisieren einer standardisierten IT-Richtlinie
US7974982B2 (en) * 2008-02-04 2011-07-05 Disney Enterprises, Inc. System and method for device profiling using cascaded databases
US9753712B2 (en) 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US10154300B2 (en) 2011-10-11 2018-12-11 Qualcomm Incorporated Dynamic content installer for mobile devices
US8929854B2 (en) 2011-10-27 2015-01-06 Telecommunication Systems, Inc. Emergency text messaging
US8260842B1 (en) 2012-04-27 2012-09-04 Wirespring Technologies, Inc. Device-agnostic content management, playback and status monitoring system
US9934610B2 (en) * 2013-05-31 2018-04-03 Facebook, Inc. Techniques for rendering and caching graphics assets
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US9674225B2 (en) 2013-09-20 2017-06-06 Open Text Sa Ulc System and method for updating downloaded applications using managed container
EP2851833B1 (de) 2013-09-20 2017-07-12 Open Text S.A. Anwendungs-Gateway-Architektur mit mehrstufigen Sicherheitspolitik- und Regelverkündigungen
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
WO2018134785A1 (es) * 2017-01-20 2018-07-26 Qoopa Sas Sistema y método de persistencia de agentes de seguridad en dispositivos electrónicos
EP4000287B1 (de) * 2019-07-18 2023-10-18 Nokia Solutions and Networks Oy Mechanismus zur erleichterung des signalisierungsverkehrs

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6969391A (en) 1989-11-30 1991-06-26 Seer Technologies, Inc. Software distribution system
WO1994025913A2 (en) 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
EP0752652B1 (de) 1995-07-03 1998-12-16 Sun Microsystems, Inc. Systen und Verfahren zum Implementieren einer hierarchischen Politik für die Administration eines Computersystems
US5742820A (en) * 1995-07-06 1998-04-21 Novell, Inc. Mechanism for efficiently synchronizing information over a network
US5692129B1 (en) 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
JPH0973487A (ja) * 1995-09-01 1997-03-18 Fujitsu Ltd コンテンツ売上金分配システム及び分配方法
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5826000A (en) 1996-02-29 1998-10-20 Sun Microsystems, Inc. System and method for automatic configuration of home network computers
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
JPH10161916A (ja) * 1996-11-28 1998-06-19 Hitachi Ltd データベースの複製に伴う更新競合の検出方法
US5875327A (en) 1997-02-18 1999-02-23 International Business Machines Corporation Hierarchy of preferences and preference groups
US5961590A (en) * 1997-04-11 1999-10-05 Roampage, Inc. System and method for synchronizing electronic mail between a client site and a central site
US6018762A (en) * 1998-03-31 2000-01-25 Lucent Technologies Inc. Rules-based synchronization of mailboxes in a data network
US6115715A (en) 1998-06-29 2000-09-05 Sun Microsystems, Inc. Transaction management in a configuration database
EP0975145B1 (de) * 1998-07-22 2008-07-30 Canon Kabushiki Kaisha Informationsverarbeitungsystem und -Verfahren
US6463447B2 (en) * 1998-12-16 2002-10-08 Rstar Corporation Optimizing bandwidth consumption for document distribution over a multicast enabled wide area network

Also Published As

Publication number Publication date
ES2215638T3 (es) 2004-10-16
ATE263392T1 (de) 2004-04-15
IL145993A0 (en) 2002-07-25
DE60009489D1 (de) 2004-05-06
US6886017B1 (en) 2005-04-26
WO2000067112A3 (en) 2001-01-25
AU4132900A (en) 2000-11-17
EP1185923B1 (de) 2004-03-31
WO2000067112A2 (en) 2000-11-09
EP1185923A2 (de) 2002-03-13

Similar Documents

Publication Publication Date Title
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
DE60009309T2 (de) System und verfahren zum presentieren von kanalisierten daten
DE60019839T2 (de) Verfahren zum Austauch von Daten zwischen einer Javasystemdatenbank und einem LDAP Verzeichnis
DE69936818T2 (de) Protokoll zum Austausch von Konfigurationsdaten in einem Computernetzwerk
DE112011102073B4 (de) Dienstimplementierung von einem Dienstverzeichnis
DE60224849T2 (de) Verfahren und einrichtung zur verwaltung des baumdatenaustauschs
DE69734048T2 (de) Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser
DE69907631T2 (de) Netzzugang zu inhaltsadressierbaren daten
DE60131683T2 (de) Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln
DE69730657T2 (de) Verfahren und System für gleichmässigen Zugriff auf mehrere Verzeichnisdienste
DE69924178T2 (de) Zugriffsteuerung mit Just-in-time Entdeckung von Mitteln
DE69709959T2 (de) Verwendung von polymorphischen dateipaketen zur aktualisierung von softwarekomponenten
DE60315558T2 (de) Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE69829442T2 (de) System und Verfahren für transparenten, globalen Zugang zu physikalischen Geräten in einem Rechnersystem
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE19844013A1 (de) Strukturierter Arbeitsordner
DE19617381A1 (de) Objektumwandlungsverfahren von einem flachen Objektraum in einen Klassen - strukturierten Raum
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE102010007967A1 (de) Verfahren, Computerprogramm-Produkt sowie computerlesbares Speichermedium zur generischen Erstellung eines Strukturbaums zur Beschreibung eines IT-Verfahrens
DE60002839T2 (de) Verfahren und vorrichtung zur datenverarbeitung durch einen proxy
DE102004022480A1 (de) Datenintegrationssystem mit programmatischen Quell- und Zielschnittstellen
DE602005005435T2 (de) System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen
DE10254055B4 (de) System und Verfahren zur automatisierten Erzeugung von druckbaren Dateien aus Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: QUALCOMM POOLE LTD., LONDON, GB

R082 Change of representative

Ref document number: 1185923

Country of ref document: EP

Representative=s name: WSL PATENTANWAELTE PARTNERSCHAFTSGESELLSCHAFT, 651