-
HINTERGRUND DER ERFINDUNG
-
1. GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein das Herunterladen von Digitalinhalt
und insbesondere das Unterstützen
von Abhängigkeiten,
die mit dem Herunterladen des zusätzlichen Inhalts assoziiert sind.
-
2. BESCHREIBUNG DER VERWANDTEN
TECHNIK
-
Seit
dem Erscheinen des Internets und der Popularität mobiler Computereinrichtungen
ist eine Fülle
von Digitalinhalt zum Herunterladen verfügbar. Gegenwärtig kann
ein Benutzer benachrichtigt werden, dass ein bestimmtes Plug-in
erforderlich ist, um einen bestimmten MIME-Typ abzuspielen. Beispielsweise
kann ein Browser ein Fenster erzeugen, das anzeigt, dass ein bestimmtes
Plug-in, z. B. ein Viewer wie REAL ONE, für die Darstellung des digitalen
Videoinhalts erforderlich ist. Der Mechanismus, mit dem der Browser
einen MIME-Typ auf ein Plug-in abbildet, wird durch den Browser-Verkäufer bestimmt und
nicht durch den Inhaltsentwickler.
-
Gegenwärtig in
Gebrauch befindlichen generischen Download-Protokollen zum Beschaffen
von Anwendungen und Inhalt für
ein Benutzersystem fehlt die Fähigkeit,
alle Abhängigkeiten
zu bestimmen, die erforderlich sind, um den herunterzuladenden erwünschten
Digitalinhalt auszuführen.
Wenn der zum Herunterladen verfügbare
Inhalt anspruchsvoller wird, verlangen die Erfordernisse zum Ausführen des
Inhalts typischerweise mehr als die Installation eines Plug-ins.
Beispielsweise kann zusätzlich
zu einem Viewer-Plug-in eine geteilte Bibliothek oder eine andere
passende Entität
oder ein Code erforderlich sein, die für die Ausführung des Digitalinhalts gebraucht
werden. Außerdem
können
die zusätzlichen Entitäten mit
anderen Entitäten
verknüpft
sein, die auch heruntergeladen werden müssen. Das heißt, eine
Kette von Entitäten
kann für
die Ausführung
des gewünschten
Inhalts erforderlich sein. Die gegenwärtig verfügbaren Download-Protokolle
sind nicht dazu fähig,
jede der Entitäten
in der Kette zu identifizieren, und sind als solche unfähig, jede
Entität
der Kette automatisch herunterzuladen.
-
In
Anbetracht des Vorhergehenden ist es wünschenswert, ein Schema zu
implementieren, um einem Download-Protokoll zu ermöglichen,
mehrfache Abhängigkeiten
für herunterzuladenden
Digitalinhalt zu identifizieren, und außerdem dem Benutzer eine Option
zum Herunterladen der vollständigen Menge
(transitiven Hülle)
der Abhängigkeiten
als eine Einzeltransaktion anzubieten.
-
US 2002/0129129 (Bloch
et al.) beschreibt ein System zum Einsatz von Anwendungen über ein verteiltes
Netz in webfähigen
Einrichtungen. Ein Anwendungs-Assembler lädt herunter und installiert
auf jede webfähige
Einrichtung. Der Anwendungs-Assembler lädt einen oder mehrere Textdateien
vom Server herunter, ruft Programmlogik von jedem der heruntergeladenen
Textdateien ab und assembliert die abgerufene Programmlogik in eine
funktionierende Anwendung. In einigen Fällen wird ein Plug-in, das
auf jede webfähige
Einrichtung heruntergeladen und installiert wird, durch Webseiten
auf dem Server zum Starten des Anwendungs-Assemblers aktiviert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Allgemein
gesprochen stellt die vorliegende Erfindung ein Schema zum Aufnehmen
mehrfacher Abhängigkeiten
bereit, die mit dem Herunterladen von Digitalinhalt assoziiert sind.
Die vorliegende Erfindung kann auf zahlreiche Weisen implementiert werden,
einschließlich
als ein Prozess, eine Vorrichtung, ein System, eine Einrichtung
oder ein Verfahren. Mehrere Ausführungsarten
der vorliegenden Erfindung werden unten beschrieben.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Herunterladen von Digitalinhalt bereitgestellt, umfassend: Identifizieren
von den Digitalinhalt beschreibenden Daten; Identifizieren einer
Abhängigkeit,
die Ausführung
des Digitalinhalts aus den Daten betreffend, die den Digitalinhalt
beschreiben; Bestimmen, ob eine Entität lokal verfügbar ist,
die mit der die Ausführung
des Digitalinhalts betreffenden Abhängigkeit assoziiert ist; Bestimmen,
ob eine zusätzliche
Abhängigkeit
erforderlich ist, die die Ausführung
des Digitalinhalts betrifft; falls die Entität nicht lokal verfügbar ist
und eine zusätzliche
Abhängigkeit
erforderlich ist, enthält
das Verfahren das Ermitteln sowohl der Entität von einer durch die den Digitalinhalt
beschreibenden Daten bereitgestellten Adresse als auch einer Entität, die mit der
einen zusätzlichen
Abhängigkeit
assoziiert ist; und das Bestimmen, ob ein Empfänger des Digitalinhalts für die Entität und die
Entität,
die mit der einen zusätzlichen
Abhängigkeit
assoziiert ist, eine annehmbare Kapazität hat.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein computerlesbares
Medium mit Programmbefehlen zum Herunterladen von Digitalinhalt
bereitgestellt, umfassend: Programmbefehle zum Identifizieren von
den Digitalinhalt beschreibenden Daten; Programmbefehle zum Identifizieren
einer Abhängigkeit,
die Ausführung
des Digitalinhalts aus den Daten betreffend, die den Digitalinhalt
beschreiben; Programmbefehle zum Bestimmen, ob eine herunterladbare
Entität
lokal verfügbar ist,
die mit der die Ausführung
des Digitalinhalts betreffenden Abhängigkeit assoziiert ist; Programmbefehle
zum Bestimmen, ob eine zusätzliche,
die Ausführung
des Digitalinhalts betreffende Abhängigkeit erforderlich ist;
Programmbefehle zum Ermitteln sowohl der herunterladbaren Entität von einer
durch die den Digitalinhalt beschreibenden Daten bereitgestellten
Adresse als auch einer herunterladbaren Entität, die mit der einen zusätzlichen
Abhängigkeit
assoziiert ist, falls die herunterladbare Entität nicht lokal verfügbar ist
und eine zusätzliche
Abhängigkeit
erforderlich ist; und Programmbefehle zum Bestimmen, ob ein Empfänger des
Digitalinhalts eine annehmbare Kapazität für die herunterladbare Entität und für die herunterladbare
Entität
hat, die mit der einen zusätzlichen
Abhängigkeit
assoziiert ist.
-
Gemäß einem
weiteren erfindungsgemäßen Aspekt
wird ein System bereitgestellt, umfassend: einen Server, konfiguriert
zum Bereitstellen von Digitalinhalt; einen Client, konfiguriert
zum Empfangen des Digitalinhalts vom Server; der Client ist zum
Identifizieren eines Deskriptors konfiguriert, der eine Liste von
Abhängigkeiten
zum Ausführen
des Digitalinhalts vor Empfang des Digitalinhalts enthält; der
Client ist außerdem
zum Extrahieren zusätzlicher
Abhängigkeiten
vom Deskriptor konfiguriert, wobei der Deskriptor Adressen für ein Paket
enthält,
einer jeden der Abhängigkeiten
und der zusätzlichen
Abhängigkeiten
entsprechend, sodass der Client jedes Paket von den entsprechenden
Adressen erhalten kann, worin der Client Logik enthält zum Bestimmen,
ob der Client eine annehmbare Kapazität für alle Pakete hat.
-
Andere
Aspekte und Vorteile der Erfindung werden aus der folgenden detaillierten
Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich werden,
wobei die Grundlehren der Erfindung durch Beispiele veranschaulicht
werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
beigefügten
Zeichnungen, die einen Teil dieser Beschreibung bilden und in sie
eingegliedert sind, veranschaulichen exemplarische Ausführungsarten
der Erfindung und dienen in Verbindung mit der Beschreibung dazu,
die Grundlehren der Erfindung zu erklären.
-
1 ist
ein vereinfachtes schematisches Diagramm eines Datenpakets gemäß einer
erfindungsgemäßen Ausführungsart.
-
2 ist
eine alternative Ausführungsart
des in 1 beschriebenen Pakets.
-
3 ist
ein vereinfachtes schematisches Diagramm von zusammenhängenden
Paketen gemäß einer
erfindungsgemäßen Ausführungsart.
-
4 ist
eine vereinfachte schematische Zeichnung, die das Herunterladen
eines exemplarischen Dienstes gemäß einer erfindungsgemäßen Ausführungsart
veranschaulicht.
-
5 ist
ein schematisches Diagramm, das einen exemplarischen Dienst veranschaulicht,
der heruntergeladen werden kann, und die assoziierten Abhängigkeiten
gemäß einer
erfindungsgemäßen Ausführungsart.
-
6 ist
ein Flussdiagramm, das die Verfahrensoperationen zum Herunterladen
eines Pakets mit mehrfachen Abhängigkeiten
gemäß einer
erfindungsgemäßen Ausführungsart
veranschaulicht.
-
7 ist
ein Flussdiagramm, das die Verfahrensoperationen für einen
Client beim Auflösen
von Abhängigkeiten
veranschaulicht, die mit dem Herunterladen eines Pakets gemäß einer
erfindungsgemäßen Ausführungsart
assoziiert sind.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSARTEN
-
Es
wird eine Erfindung beschrieben für ein System, eine Einrichtung
und ein Verfahren zum Identifizieren von Abhängigkeiten, assoziiert mit
herunterzuladendem Digitalinhalt, und zum Bereitstellen von Zugriff
auf die Abhängigkeiten.
Einem Fachmann wird jedoch offensichtlich sein, dass die vorliegende Erfindung
ohne einige oder alle dieser spezifischen Details praktiziert werden
kann. In anderen Fallen wurden bekannte Prozessoperationen nicht
detailliert beschrieben, um die vorliegende Erfindung nicht unnötigerweise
unklar zu machen.
-
Die
Ausführungsarten
der vorliegenden Erfindung stellen ein Verfahren und ein System
zur Verfügung,
um Netzbenutzern zu ermöglichen,
Digitalinhalt wirkungsvoller herunterzuladen. Das System definiert
ein Client-Server-Verhältnis
zum Herunterladen von Digitalinhalt über ein verteiltes Netz. In
einer Ausführungsart
wird ein generisches Download-Protokoll erweitert, um mehrfache
mit der Digitalinhaltsausführung
assoziierte Abhängigkeiten
aufzunehmen. Außerdem
ist die Protokollerweiterung fähig, mehrfache
Abhängigkeiten
anzunehmen, die in einem wie unten beschriebenen Kettenverhältnis konfiguriert
sind. In einer Ausführungsart
führt das
hierin beschriebene Schema eine logische Auswertung vor dem Herunterladen
des Digitalinhalts aus. Zuerst ermittelt das System Metadaten, die
den Inhalt beschreiben, der identifiziert, welche Abhängigkeiten erfüllt sein
müssen,
um den Inhalt zu benutzen. So zieht das Schema logische Schlussfolgerungen,
um zu bestimmen, ob alle Abhängigkeiten
erfüllt
werden können
und welche Systemressourcen, z. B. Speicherkapazität usw.,
für den
Inhalt erforderlich sind.
-
Im
hierin benutzten Sinn ist der Terminus Paket eine separat lieferbare
(herunterladbare) Entität. Ein
Paket wird entweder als Ganzes oder gar nicht heruntergeladen. Das
Paket ist im Allgemeinen durch einen Einzeldeskriptor und ein oder
mehrere Objekte repräsentiert.
Jedes Paket hat die folgenden Attribute: einen Paketnamen, der ein
zugewiesener Paketname oder eine Identifikation (ID) ist, und eine
Paketversion, die eine Version des Pakets ist. Vom Standpunkt des
Clients haben Pakete, die verschiedene Zwecke erfüllen, verschiedene
Namen. Zwei verschiedene Pakete können denselben Namen haben, aber
die beiden verschiedenen Pakete sind als zwei verschiedene Versionen
identifizierbar, wo eine Version ein Upgrade für eine andere Version ist.
-
Der
Terminus Objekt im hierin verwendeten Sinn ist eine atomare Entität wie sie
durch eine Einrichtung identifiziert ist. Ein oder mehrere Objekte können ein
Paket bilden. Beispielsweise ist eine Filmdatei ein Objekt oder
eine Kalenderanwendung ist ein Objekt. Ein Objekt kann, wie unten
beschrieben, in verschiedene Typen gradiert werden. Beispielsweise kann
ein Objekt als eine Anwendung gradiert werden, was sich auf eine
interaktive Anwendung bezieht. Die Anwendung erscheint einem Benutzer
durch eine graphische Benutzerschnittstelle (GUI), sodass ein Benutzer
starten und stoppen und mit der Anwendung auf andere Weisen interagieren
kann. Das Objekt kann auch als ein Dienst gradiert werden. Ein Dienst
ist eine Menge von Bits, die im Clientsystem registriert sind und
Exporte bereitstellen. Diese Exporte können von anderen Anwendungen
oder Diensten gefunden werden, sodass sie diesen Dienst benutzen
können.
Beispielsweise kann ein Energie-Abrechnungsdienst Anwendungs-Programmierschnittstellen
(APIs) freilegen, die eine Anwendung beim Starten aufrufen kann,
oder eine Graphikbibliothek, falls registriert, die Zugriff auf
einige nützliche Funktionen
gewährt,
die der Abrechnungsdienst bereitstellt. Man sollte verstehen, dass
diese Konfiguration die Flexibilität ermöglicht, zwei verschiedene Dienste
zu haben, von zwei verschiedenen Entwicklern bereitgestellt, mit
verschiedenen Namen, um durch Freilegen desselben Exports dieselbe
Funktionalität
freizulegen. Außerdem
kann das Objekt als ein Abspieler gradiert werden. Bin Abspieler
ist ein ausführbares
Programm, kann aber nur dann gestartet werden, wenn ihm ein bestimmtes
Paket zur Verfügung
gestellt wird. Meistens assoziiert ein Abspieler eine oder mehrere
MIME(Vielzweck-Inernet-Mail-Erweiterungen)-Typen und eine oder mehrere
Operationen, die der Abspieler auf einem MIME-Typ ausführen kann.
Fachleuten wird deutlich sein, dass ein Abspieler zur gleichen Zeit
auch eine Anwendung sein kann gemäß einer erfindungsgemäßen Ausführungsart,
z. B. dann, wenn der Abspieler auch seine eigene Benutzerschnittstelle
(UI) hat. Wie allgemein bekannt ist, ist MIME ein Industriestandard
zum Kategorisieren der Inhaltstypen von Dateien.
-
Der
Terminus Daten, wie hierin verwendet bezieht sich auf beliebige
Daten, meistens durch einen Standort und einen MIME-Typ identifiziert.
Daten können
lokal beschafft (heruntergeladen) werden, oder es kann von außerhalb
des Netzes auf sie Bezug genommen werden. Damit in einer Ausführungsart
ein Download-Protokoll Abhängigkeiten
unterstützt,
wird die herunterladbare Entität
durch die oben definierten Termini repräsentiert, oder ein Clientcode muss
in der Lage sein, diese Information aus einem Altdownload-Protokoll
zusammenzustellen.
-
Ein
Paket kann zu den mit ihm spezifizierten Abhängigkeiten Null aufweisen.
Eine Abhängigkeit kann
ein Erfordernis oder eine Anforderung sein. Falls eine der Erfordernis-Abhängigkeiten
nicht erfüllt ist,
wird das Paket auf einer Benutzereinrichtung nicht laufen, z. B.
wird eine MPEG(Filmexpertengruppe)-Datei auf einer Benutzereinrichtung
ohne einen passenden MPEG-Abspieler nicht laufen. Die Anforderungs-Abhängigkeiten
müssen
nicht erfüllt
sein, um das Paket auszuführen,
aber das Paket kann für die
in diesen Erfordernis-Abhängigkeiten
spezifizierten Entitäten
Verwendung finden. Fordert beispielsweise ein Nachrichtendienst
eine Audiobibliothek an, um Alarmbenachrichtigungen zu spielen,
ist aber die Audiobibliothek nicht verfügbar oder fehlt sie, dann läuft der
Nachrichtendienst noch, aber ohne Ton.
-
In
einer Ausführungsart
kann eine Abhängigkeit
auf drei verschiedenen Entitäten
angefordert werden, d. h. einem Paket, einer exportierten Entität und einem
MTME-Typ-Abspieler. Bezüglich
eines spezifischen Pakets wird das Anfordern eines spezifischen
Paketnamens und eines Paket-Versionsmusters eine Abhängigkeit
erfüllen.
Beispielsweise das Paket „B:
hängt von
Paket A, Version 2.* ab" bedeutet,
dass jede Version ausreicht, die mit 2 anfängt. Auf einer exportierten
Entität
muss es einen Dienst geben, der diese Entität exportiert, um diese Abhängigkeit
aufzulösen.
Auf einem MIME-Typ-Abspieler oder auf einen bestimmten MIME-Typ
und einer Aktion wird eine Abspieler installiert, der diesen MIME-Typ
handhaben kann, um die Abhängigkeit
aufzulösen.
-
In
allen drei oben aufgelisteten Fällen
gibt es eine Menge von verschiedenen Attributen für jeden definierten
Abhängigkeitstyp.
In einem Fall seinen referenzierten Namen und seine Version, in
einem anderen Fall seinen MIME-Typ usw. Alle diese drei Typen können ein
weiteres Attribut tragen, das, falls vorhanden, den Standort repräsentieren
sollte, wo diese Abhängigkeit
aufgelöst
werden kann. Die Standortinformation hängt sehr von der verwendeten tatsächlichen
Download-Spezifikation, den Backendserver-Fähigkeiten usw. ab. Ist beispielsweise
ein OMA(Open Mobile Alliance)-Download-Protokoll beteiligt, und der Client
kann eine HTML-Datei mit Referenzen auf einige wenige OMA-Deskriptoren verarbeiten,
dann kann dieser Standort entweder ein URI (Uniform Resource Identifier)
für einen
OMA-Deskriptor sein, der dieses spezifische Paket hat, oder ein
URI für
eine HTML-Seite, die ihrerseits eine Referenz auf einen Deskriptor
enthält,
der diese Abhängigkeit
auflöst.
Fachleuten wird deutlich sein, dass eine exemplarische Download-Spezifikation,
mit der die hierin beschriebenen Ausführungsarten verwendet werden
können,
die OMA generische Inhalts-Download-Spezifikation ist.
-
1 ist
ein vereinfachtes schematisches Diagramm eines Datenpakets gemäß einer
erfindungsgemäßen Ausführungsart.
Hier enthält
Paket 104 den Datenbereich 102 und den Metadatenbereich 100.
Man sollte verstehen, dass der Metadatenbereich 100 Daten
enthält,
die den Inhalt des Datenbereichs 102 definieren. Das heißt, der
Metadatenbereich 100 enthält Daten, die die im Bereich 102 enthaltenen
Daten beschreiben. Beispielsweise kann der Metadatenbereich 100 Daten
enthalten, die eine mit dem Datenbereich 102 assoziierte
Größe angeben,
eine Beschreibung des Datentyps, der sich im Datenbereich 102 findet,
zusätzliche
mit den Daten assoziierte Dateien usw. Wie unten detaillierter beschrieben
wird, können
die Metadaten Zeiger auf zusätzliche
mit den Daten assoziierte Dateien enthalten und Zeiger auf Metadaten
für zusätzliche
mit den Daten assoziierte Pakete.
-
2 ist
eine alternative Ausführungsart
des in 1 beschriebenen Pakets. Hier enthält Paket 104 Metadaten 100,
die Zeiger auf verschiedene Dateien enthalten. Beispielsweise zeigen
Metadaten 100 auf Dateien F1 106a und
F2 106b. F2 106b wiederum
enthält
Zeiger auf zusätzliche
Dateien 106c bis 106e. Die Dateien 106a bis 106e entsprechen den
Daten innerhalb des Datenbereichs 102 der 1.
Hier können
Metadaten 100 auf Dateien zeigen, die erforderlich sind,
um den Digitalinhalt auszuführen,
der durch Abhängigkeiten
herunterzuladen ist, wie unten erörtert wird.
-
3 ist
ein vereinfachtes schematisches Diagramm von zusammenhängenden
Paketen gemäß einer
erfindungsgemäßen Ausführungsart.
Hier hängen
die Pakete 104a und 104b durch Abhängigkeit 108a zusammen.
Man sollte verstehen, dass die Metadaten 100a mit den Abhängigkeiten
D1, D2 bzw. D3 108a bis 108c assoziiert sind.
Abhängigkeit
D1 108a zeigt auf Paket 104b. Paket 104b enthält Metadaten 100b mit
Abhängigkeit 108d,
die mit Datei F3 106f assoziiert
ist. Abhängigkeit
D2 108b zeigt auf Datei F2 106b,
die mit zusätzlichen
Dateien 106c bis 106e assoziiert ist. Abhängigkeit
D3 108c zeigt auf Datei F1 106a.
Man sollte Folgendes verstehen: Wo einem System ein bestimmter Abspieler
fehlt, beispielsweise könnte
ein Benutzer MP3s abspielen wollen, aber dem System könnte ein
MP3 Abspieler fehlen, weshalb ein MP3 Abspieler heruntergeladen werden
muss. So wird durch die hierin beschriebenen Ausführungsarten
eine lieferbare Entität
zum Herunterladen freigegeben, um MP3s abzuspielen. Als Teil des
MP3-Pakets können
jedoch ein zusätzliches Paket
oder zusätzliche
Dateien zur Ausführung
notwendig sein. Beispielsweise werden die Abhängigkeiten D2 bis D3 auf zusätzliche
mit Metadaten 100 assoziierte Dateien zeigen, während die
Abhängigkeit
D1 108a auf ein zusätzliches
Paket zeigen wird, das notwendig ist. Beispielsweise kann eine bestimmte
Bibliothek erforderlich sein. Dementsprechend kann jedes Paket mit
mehrfachen Abhängigkeiten
assoziiert sein. Außerdem
kann das Paket mit mehrfachen anderen Paketen assoziiert sein. Obwohl
in 3 ein Einzelpaket als mit einem anderen Paket
assoziiert veranschaulicht ist, sollte man verstehen, dass Paket 104b mit
einem oder mehreren anderen Paketen assoziiert sein kann usw. usf.
Wie weiter unten erklärt
wird, können
die Abhängigkeiten D1
bis D4 108a bis 108b jeweilig Standortdaten enthalten,
z. B. Uniform Resource Locator (URL), Universal Resource Identifier
(URI) usw., die angeben, von wo die assoziierten Dateien heruntergeladen werden.
Beispielsweise kann ein Abspieler mit einem MIME assoziiert sein,
auf den von einem zentralisierten Standort zugegriffen werden kann.
Fachleuten wird deutlich sein, dass Industriestandards festgelegt und
angewendet wurden, um MIMEs leicht verfügbar zu machen.
-
4 ist
eine vereinfachte schematische Zeichnung, die das Herunterladen
eines exemplarischen Dienstes gemäß einer erfindungsgemäßen Ausführungsart
veranschaulicht. Man sollte verstehen, dass die hierin beschriebenen
Ausführungsarten
das Herunterladen lieferbarer Anwendungen und des assoziierten Inhalts
auf ein Benutzersystem durch Abhängigkeiten
ermöglicht,
die geändert
werden können
oder wo mehrfache Abhängigkeiten
mit einem Einzelpaket assoziiert sind. So können Benutzer mobiler und nicht
mobiler Einrichtungen über
generische Download-Protokolle, die die wie hierin beschriebenen
Abhängigkeiten
unterstützen,
effizient auf Digitalinhalt zugreifen und ihn herunterladen. Mobile
Einrichtungen, z. B. Laptop 120, Zellulartelefon 118,
Fahrzeug 114 usw., können
mit einem verteilten Netz wie dem Internet 112 über eine
verdrahtete oder drahtlose Verbindung kommunizieren. Server 110 kommuniziert
auch mit dem Internet 112. Man sollte verstehen, dass,
obwohl 4 drahtlose Verbindungen veranschaulicht, die
Erfindung nicht auf drahtlose Verbindungen beschränkt ist,
da auch verdrahtete Verbindungen mit den hierin beschriebenen Ausführungsarten
eingesetzt werden können.
Hat also ein Benutzer eine der veranschaulichten mobilen Einrichtungen
und will Digitalinhalt herunterladen, wie beispielsweise MP3 Inhalt
oder einen Film, ist diese Funktionalität durch die Erweiterung auf
ein hierin beschriebenes Download-Protokoll aktiviert. Das heißt, falls
eine der mobilen oder nicht mobilen Einrichtungen, z. B. ein Tischrechner,
einen MP3 Abspieler oder einen Filmabspieler braucht, können der
passende Abspieler und assoziierte Dateien durch die oben beschriebenen
Ausführungsarten heruntergeladen
werden, wobei Metadaten benutzt werden, um die Dateien, die zur
Ausführung
des Digitalinhalts notwendig sind, und den Standort dieser Dateien
zu bestimmen.
-
5 ist
ein schematisches Diagramm, das einen exemplarischen Dienst veranschaulicht
der heruntergeladen werden kann, und die assoziierten Abhängigkeiten
für diesen
Dienst gemäß einer
erfindungsgemäßen Ausführungsart.
Hier enthält
der Metadatenbereich 122 Daten, die einen Karten-Navigationsdienst
beschreiben, der für
ein Fahrzeug heruntergeladen werden kann. Die assoziierten Abhängigkeiten
enthalten Gleitkomma-Abhängigkeit 124, Standort-Dienst-Abhängigkeit 126 und
Karten-Abhängigkeit 128.
Mit jeder der Abhängigkeiten 124 bis 128 wird
ein Standort eingeschlossen, wo die assoziierte Datei geholt werden
kann. Mit Bezug auf 4: Der Karten-Navigationsdienst
kann in das Modul 116 des Fahrzeugs 114 heruntergeladen
werden. Um den Karten-Navigationsdienst bereitzustellen, müssen die
Abhängigkeiten 124, 126 und 128 erfüllt sein. So
sind Gleitkomma-Modul 124, Standort-Dienst-Modul 126 und Karten-Modul 128 alle
eingeschlossen, wobei jedes mit einer URL-Adresse ausgestattet ist, um
auf die Daten zuzugreifen. Wie oben erörtert ist, können die
Abhängigkeiten 124, 126 und 128 sowohl auf
zusätzliche
Pakete wie auf Dateien zeigen. Man sollte verstehen, dass vor dem
Herunterladen des Digitalinhalts die Metadaten heruntergeladen und
ausgewertet werden, um zu bestimmen, ob der Client den Dateninhalt
ausführen
und die durch die Abhängigkeiten
definierten lieferbaren Entitäten
erhalten kann.
-
6 ist
ein Flussdiagramm, das die Verfahrensoperationen zum Herunterladen
eines Pakets mit mehrfachen Abhängigkeiten
gemäß einer
erfindungsgemäßen Ausführungsart
veranschaulicht. Das Verfahren beginnt mit Operation 140,
wo die Metadaten heruntergeladen werden. Fachleuten wird deutlich
sein, dass die Metadaten als Antwort auf eine Anforderung eines
Clients oder eines Servers heruntergeladen werden. Ein Benutzer
kann beispielsweise das Herunterladen eines Abspielers usw. anfordern,
oder ein Server kann eine Anforderung zum Herunterladen eines Dienstes
auf einen Client veranlassen. Das Verfahren geht dann weiter zu Operation 142,
wo mit den Metadaten assoziierte Abhängigkeiten identifiziert werden.
Wie oben erklärt ist,
können
Abhängigkeiten
auf andere Dateien oder andere Pakete zeigen. Das Verfahren geht
dann weiter zur Entscheidungsoperation 144, wo bestimmt wird,
ob die Abhängigkeiten
mit zusätzlichen
Paketen assoziiert sind. Falls die Abhängigkeiten mit zusätzlichen
Paketen assoziiert sind, dann kehrt das Verfahren zu Operation 140 zurück und wiederholt,
wie oben beschrieben ist. Falls die Abhängigkeiten nicht mit zusätzlichen
Paketen assoziiert sind, dann geht das Verfahren zu Operation 146,
wo bestimmt wird, ob alle Pakete auf die Einrichtung passen. Das
heißt, es
wird bestimmt, ob die Einrichtung ausreichende Ressourcen hat, z.
B. Speicherkapazität,
um die Pakete unterzubringen. Falls die die Einrichtung nicht genug
Speicherkapazität
hat, um das Paket unterzubringen, dann wird in Operation 148 eine
Fehlermeldung erzeugt. Falls alle notwendigen Pakete auf die Einrichtung
passen, dann geht das Verfahren zu Operation 150, wo die
notwendigen Pakete geholt werden. Hier können die Adressen zum Zugreifen
auf die notwendigen Pakete in den Abhängigkeitsdaten bereitgestellt
sein.
-
7 ist
ein Flussdiagramm, das die Verfahrensoperationen veranschaulicht
die ein Client beim Auflösen
von Abhängigkeiten
ausführt,
die mit einem Paket assoziiert sind, das gemäß einer erfindungsgemäßen Ausführungsart
heruntergeladen wird. Das Verfahren beginnt mit Operation 160,
wo der Client einen Deskriptor empfängt, der eine Abhängigkeitsliste
enthält.
Man sollte verstehen, dass der Client in einer Ausführungsart
eine mit dem Deskriptor assoziierte Anforderung auslösen kann.
Als Alternative kann die Anforderung vom Server ausgehst werden, z.
B. kann ein Benutzer einen bestimmten Dienst bezahlen. Der Dienst
wird dann nach Auslösung
durch den Server auf den Client heruntergeladen gemäß den hierin
beschriebenen Ausführungsarten.
Das Verfahren geht dann zu Operation 162, wo ein Abhängigkeitsvektor
vom Client initialisiert wird. Man sollte verstehen, dass alle Abhängigkeiten
zum Vektor hier hinzugefügt
werden. Der Client wird einen Deskriptorvektor initialisieren und,
zusätzlich
zum Initialisieren eines Vektors der Abhängigkeitsfehler, den Deskriptor
dem Deskriptorvektor hinzufügen. Der
Vektor der Abhängigkeitsfehler
ist anfänglich leer.
Das Verfahren geht dann zu Operation 164, wo der Client
versucht, die Abhängigkeit
mit einem schon auf dem Client installierten Paket aufzulösen, d.
h. einem lokalen Paket. Beispielsweise kann der Client einen notwendigen
Abspieler lokal installiert haben, eine notwendige Bibliothek lokal
installiert haben usw. Man sollte verstehen, dass für jede lokal aufgelöste Abhängigkeit
die Abhängigkeit
aus dem Abhängigkeitsvektor
entfernt wird. Das Verfahren geht dann zur Entscheidungsoperation 166,
wo bestimmt wird, ob der Abhängigkeitsvektor
leer ist. Falls der Abhängigkeitsvektor
nicht leer ist, geht das Verfahren zu Operation 168, wo
für jede
Abhängigkeit
im Abhängigkeitsvektor
ein Versuch gemacht wird, einen Deskriptor für ein Paket zu erfassen, d.
h. herunterzuladen. In einer Ausführungsart wird der mit der Abhängigkeit
bereitgestellte Standort benutzt, um den Deskriptor zu erfassen.
Wie mit Bezug auf 3 und 5 beschrieben
wurde, kann eine Adresse, z. B. URL, URI usw., bereitgestellt werden,
um den Deskriptor zu erfassen.
-
Das
Verfahren von 7 geht dann zu Operation 170,
wo für
jeden während
der Operation 168 heruntergeladenen Deskriptor alle mit
dem betreffenden Deskriptor assoziierten Abhängigkeiten extrahiert werden.
Hier werden die extrahierten Abhängigkeiten
dem Abhängigkeitsvektor
hinzugefügt.
Außerdem
wird jeder während
der Operation 168 heruntergeladene Deskriptor dem Deskriptorvektor
hinzugefügt.
Falls in einer Ausführungsart
eine Abhängigkeit nicht
aufgelöst
werden kann, d. h. es kann extern kein sie auflösender Deskriptor gefunden
werden, wird die unaufgelöste
Abhängigkeit
aus dem Abhängigkeitsvektor
entfernt und dem Vektor der Abhängigkeitsfehler
hinzugefügt.
Das Verfahren kehrt dann zu Operation 164 zurück und wiederholt,
wie oben beschrieben ist. Falls der Abhängigkeitsvektor in Entscheidungsoperation 166 leer
ist, dann geht das Verfahren zu Entscheidungsoperation 172,
wo bestimmt wird, ob der Vektor der Abhängigkeitsfehler mindestens
eine erforderliche Abhängigkeit
enthält.
Falls der Vektor der Abhängigkeitsfehler
mindestens eine erforderliche Abhängigkeit enthält, dann
geht das Verfahren zu Operation 174, wo der Benutzer alarmiert werden
kann, dass das Herunterladen der Anwendung versagt hat. Falls der
Vektor der Abhängigkeitsfehler
keine erforderlichen Abhängigkeiten
enthält, dann
geht das Verfahren zu Operation 176, wo die mit jedem der
im Deskriptorvektor gefunden Deskriptoren assoziierten Pakete heruntergeladen
werden.
-
Zusammenfassend:
Die vorliegende Erfindung stellt ein Schema zum wirkungsvollen Herunterladen
von Digitalinhalt auf eine Einrichtung bereit, wenn die Einrichtung
mehrfache Abhängigkeiten
erfassen muss, die mit dem Ausführen
oder Darstellen des Digitalinhalts assoziiert sind. In einer Ausführungsart
ist das Schema eine Erweiterung zu einem generischen Download-Protokoll.
Metadaten, die das Paket als Ganzes beschreiben, enthalten Zeiger
oder Referenzen auf zusätzliche
Deskriptoren, die mit der Ausführung
oder Darstellung des Digitalinhalts assoziiert sind. Wie oben beschrieben
wurde, werden durch die Deskriptoren die notwendigen mit dem Digitalinhalt
assoziierten Komponenten identifiziert und heruntergeladen, sodass
ein Benutzer auf den Digitalinhalt zugreifen kann. Der Digitalinhalt
kann auf jede passende Computereinrichtung heruntergeladen werden,
z. B. Telefone, persönliche
digitale Assistenten (PDAs), Laptopcomputer, Tischcomputer usw.
Man sollte verstehen, dass die hierin beschriebenen Ausführungsarten
nicht auf ein bestimmtes Download-Protokoll beschränkt sind,
sondern angewendet werden können,
um jedes passende Download-Protokoll zu erweitern. Beispielsweise
kann ein Protokoll seine eigenen Einschränkungen haben, die einige der
Abhängigkeiten
und Attribute obsolet oder unanwendbar machen. In diesen Situationen
wird die Abhängigkeitserweiterung
auf die entsprechende Einschränkung
des Protokolls beschränkt.
-
Im
Hinblick auf die obigen Ausführungsarten sollte
verstanden werden, dass die Erfindung verschiedene computerimplementierte
Operationen einsetzen kann, an denen in Computersystemen gespeicherte
Daten beteiligt sind. Diese Operationen enthalten Operationen, die
physische Manipulation physischer Quantitäten erfordern. Meistens, aber nicht
notwendigerweise, nehmen diese Quantitäten die Form von elektrischen
oder magnetischen Signalen an, die gespeichert, übertragen, kombiniert, verglichen
und anderweitig manipuliert werden können. Außerdem bezieht man sich auf
die ausgeführten Manipulationen
oft mittels solcher Termini wie Herstellen, Identifizieren, Bestimmen
oder Vergleichen.
-
Die
oben beschriebene Erfindung kann mit anderen Computersystemkonfigurationen
praktiziert werden, einschließlich
handgehaltener Einrichtungen, Mikroprozessorsystemen, mikroprozessorbasierter
oder programmierbarer Konsumelektronik, Minirechnern, Großrechnern
u. Ä. Die
Erfindung kann auch in verteilten Computerumgebungen praktiziert werden,
wo Aufgaben durch entfernte Prozesseinrichtungen ausgeführt werden,
die durch ein Kommunikationsnetz miteinander verbunden sind.
-
Die
Erfindung kann auch als computerlesbarer Code auf einem computerlesbaren
Medium ausgeführt
werden. Das computerlesbare Medium ist irgendeine Datenspeichereinrichtung,
die Daten speichern kann, die anschließend von einem Computersystem
gelesen werden können.
Das computerlesbare Medium enthält
auch eine elektromagnetische Trägerwelle,
in der der Computercode ausgeführt
ist. Beispiele des computerlesbaren Mediums umfassen Festplatten,
NAS-Speicher, Festwertspeicher, Direktzugriffspeicher, CD-ROMS,
CD-Rs, Magnetbänder und
andere optische und nicht optische Datenspeichereinrichtungen. Das
computerlesbare Medium kann auch über ein Netz in Verbindung
mit einem Computersystem verteilt sein, sodass der computerlesbare
Code verteilt gespeichert und ausgeführt wird.
-
Obwohl
die vorgehende Erfindung der Klarheit und Verständlichkeit wegen detailliert
beschrieben wurde, wird deutlich sein, dass bestimmte Veränderungen
und Modifikationen vorgenommen werden können. Dementsprechend sind
die vorliegenden Ausführungsarten
als veranschaulichend und nicht als beschränkend anzusehen.