-
Die
Erfindung bezieht sich auf einen Zugriff auf ein digitales Dokument
in einem Kommunikationsnetzwerk, insbesondere vom Station-zu-Station-Typ,
wobei das Dokument zumindest erste und zweite Daten aufweist, die
in einer gewählten
hierarchischen Beziehung miteinander verbunden sind.
-
Sie
findet allgemein Anwendung bei einem schnellem zuverlässigem Zugriff
auf digitale Daten, die in einem Kommunikationsnetzwerk und insbesondere
in einem Kommunikationsnetzwerk vom Station-zu-Station-Typ verteilt
sind.
-
Öffentliche
Kommunikationsnetzwerke, wie etwa das Internet, die weit verbreitet
als Mittel zum weltweiten Austausch von Informationen verwendet werden,
sind bekannt.
-
Im
sogenannten „konventionellen" Verteilmodus verbindet
sich eine Client-Vorrichtung mit einem entfernten Server, um Informationen
zu beziehen. Diese Informationen sind so bezeichnet, dass die entfernte
Servervorrichtung eindeutig identifiziert ist. Zum Beispiel wird
eine Adresse oder eine Stelle, die gemäß der englischen Abkürzung für „Uniform
Resource Locator" auch
als URL bezeichnet wird, einer Ressource (einer Datendatei) zugeordnet,
um die genaue Adresse der Internet- Servervorrichtung zu identifizieren,
die diese Ressource speichert.
-
In
einem Verteilmodus diesen Typs ergibt die Latenzzeit, die in Bezug
auf den Zugriff auf die Daten verursacht wird, direkt die Zeit,
die erforderlich ist, die Daten von der entfernten Servervorrichtung
an der Client-Vorrichtung
wiederzuerlangen.
-
Es
sind ebenfalls sogenannte „Station-zu-Station"- oder verteilte
Kommunikationsnetzwerke bekannt, die auf Englisch allgemein als „Peer-to-Peer"-Topologie bezeichnet
werden.
-
In
einem Station-zu-Station-Netzwerk legt die Geräteausstattung gemäß einer Gleich-zu-Gleich-Teilungsphilosophie
Ressourcen zusammen. Daher verhält
sich jedes Gerät
in einem Station-zu-Station-Netzwerk sowohl wie ein Client als auch
wie ein Server.
-
Solche
Netzwerke unterscheiden sich daher von den konventionellen „Client-Server"-Netzwerken, bei
denen die Ressourcen in einer zentralen Servervorrichtung archiviert
werden.
-
Wegen
ihrer niedrigen Einrichtungskosten, dem Vorhandensein von sehr vielen
Computern, die an dem Netzwerk angeschlossen sind, und der Entwicklung
von hochratigen Verbindungen, greift die Verteilung von Daten gegenwärtig mehr
und mehr auf Station-zu-Station-Netzwerke
zurück.
-
Allerdings
sind Station-zu-Station-Netzwerke instabil. Dies ist der Fall, weil
sich Client-Vorrichtungen (und folglich Servervorrichtungen) periodisch
mit dem Netzwerk verbinden und von diesem trennen, wodurch das Vorhandensein
der Daten sehr zufällig wird.
Zusätzlich
sind die Adressen der Client- und/oder Servervorrichtungen unvorhersagbar
und dem unterlegen, dass sie bei jeder Verbindung verschieden sind.
-
Folglich
stellt ein Zugriff auf die Inhalte in einem Kommunikationsnetzwerk
des Station-zu-Station-Typs noch immer eine erhebliche Schwierigkeit dar,
da die Latenzzeit bei Beschaffung der Daten nicht mehr nur wie in
einer konventionellen Client-Server-Topologie auf der Zeit beruht,
die zum Wiedererlangen der Daten benötigt wird, sondern auch auf
der Zeit zum Suchen nach einer Servervorrichtung, die diese Daten
verfügbar
hat. Gemäß der Topologie
des betroffenen Station-zu-Station-Netzwerks, kann diese Suchphase nicht
unwesentlich sein.
-
Eine
bekannte Lösung
zum Verbessern eines Zugriffs auf Daten im Hinblick auf Geschwindigkeit
besteht darin, eine Servervorrichtung zu verwenden, die als ein „Proxy-Cache-Server" oder Proxy-Server
mit Cache bekannt ist, die als ein Vermittler zwischen den Computern
in einem lokalen Netzwerk und dem Internet dient.
-
In
der Praxis ist es eine Sache eines Servers, der von einer Anwendung „autorisiert" wird, an seinem
Standort eine Anfrage an das Internet zu richten. Daher wird sich,
wenn sich ein Nutzer mit Hilfe einer Client-Anwendung, die konfiguriert
ist, eine Proxy-Servervorrichtung zu verwenden, mit dem Internet verbindet,
die Anwendung zuerst mit der Proxy-Servervorrichtung verbinden und
an sie ihre Anfrage richten. Dann wird sich die Proxy-Servervorrichtung mit
der Servervorrichtung verbinden, an die sich die Client-Anwendung
anschließen
möchte,
und wird die Anfrage an diese übermitteln.
Die Servervorrichtung wird dann ihre Antwort an die Proxy-Servervorrichtung
geben, die diese wiederum an die Client-Anwendung übermittelt.
-
Die
Mehrheit von Proxy-Servervorrichtungen erfüllt daher eine Cache-Funktion,
nämlich
die Fähigkeit,
die am häufigsten
durch die Nutzer des lokalen Netzwerkes besuchten Seiten im Speicher
(im „Cache") zu behalten, um
in der Lage zu sein, ihnen diese so schnell wie möglich bereitzustellen.
-
Daher
reduziert eine Proxy-Servervorrichtung mit Cache auf der einen Seite
die Verwendung der Bandbreite zu dem Internet, und reduziert für die Nutzer
die Zugriffszeit auf die Dokumente.
-
Um
diese Aufgabe zu bewältigen,
ist es für die
Proxy-Servervorrichtung
allerdings notwendig, die Daten, die sie gerade im Cache-Speicher
speichert, regelmäßig mit
den entfernten Daten zu vergleichen, um sicherzustellen, dass die
Daten im Cache noch gültig
sind.
-
Folglich
ist eine Proxy-Cache-Servervorrichtung für den wiederholten Zugriff
auf dieselben Daten nicht nur für
die Zugriffsgeschwindigkeit, sondern auch zum Reduzieren des Internetverkehrs
vorteilhaft.
-
Allerdings
ist eine Proxy-Cache-Servervorrichtung für einen ersten Zugriff auf
Daten uneffektiv.
-
In
einem Cache-System von Datenorten, wie es in der WO 02/15011 offenbart
ist, lokalisiert das System des Weiteren die benötigte Komponente, sobald ein
Objekt nicht im Cache vorhanden ist, und konstruiert das Objekt
in dem Cache auf diese Weise systematisch aus den Teilen des Objektes,
die es von den vorherigen Orten heruntergeladen hat. Dieses Verfahren
limitiert die Netzwerkbandbreite.
-
Es
ist auch die Lösung
bekannt, die als Suchen durch Vorgriff, oder auf Englisch „prefetching" bekannt ist, die
auf der Idee basiert, dass, während ein
Nutzer das Internet durchstöbert,
die Seiten, die er in der nächsten
Zukunft vermutlich anzeigen wird, automatisch im Vorgriff auf deren
Anforderung durch den Nutzer heruntergeladen werden (WO 02/46946 A1).
-
Daher
kann das Programm, mit welchem das Internet durchstöbert wird,
zum Zeitpunkt der tatsächlichen
Anforderung die im Vorgriff heruntergeladenen Daten unverzüglich anzeigen.
Dieses Verfahren limitiert die Datenzugriffslatenzzeit.
-
Allerdings
ist diese Lösung
nicht vollständig zufriedenstellend,
da sehr oft die im Vorgriff heruntergeladenen Daten niemals verwendet
werden, was bedeutet, dass das Verfahren die Auslastung der Netzwerkbandbreite
unnötig überlädt.
-
Folglich
trägt in
Systemen, die eine solche Lösung
verwenden, diese Erhöhung
der Last zu einer Erhöhung
der Wartezeit für
die Anforderungen des Nutzers (Anforderungen durch den Nutzer für nicht vorgegriffene
Daten) bei, was den gegenteiligen Effekt zu dem erstrebten hat und
die Leistungsfähigkeit herabsetzt.
Zusätzlich
würde der
unerwünschte
Effekt auf dem Internet (der Zusatz von Netzwerkverkehr und Überlastung
der Server) nicht unerheblich sein, wenn alle Browserprogramme für das Internet solch
ein Verfahren der Suche durch Vorgriff verwenden würden.
-
Der
Anmelder hat sich selbst dem Problem einer Optimierung (im Hinblick
auf Geschwindigkeit) eines Zugriffs auf digitale Daten in einem
5 Kommunikationsnetzwerk, insbesondere vom Station-zu-Station-Typ, ohne
den Nachteilen der zuvor genannten Technologien des Standes der
Technik gestellt.
-
Die
Erfindung bietet genau eine Lösung
zu diesem Problem.
-
Sie
bezieht sich auf ein Verfahren zum Zugriff auf ein digitales Dokument
in einem Kommunikationsnetzwerk, insbesondere vom Station-zu-Station-Typ,
wobei das Verfahren in einer Client-Vorrichtung implementiert wird.
-
Gemäß einer
allgemeinen Definition der Erfindung weist das Verfahren die folgenden
Schritte auf:
- – Auswählen eines ersten Datenelements
in einem digitalen Dokument, das durch einen vorbestimmten Bezeichner
bezeichnet wird, wobei das digitale Dokument zumindest ein erstes
und ein zweites Datenelement aufweist, die in einer gewählten hierarchischen
Beziehung miteinander verknüpft
sind;
- – Verifizieren
des Vorliegens von zumindest einer Adresse einer Stelle in einer
Speichereinrichtung der Client-Vorrichtung, die das zweite Datenelement
des digitalen Dokuments enthält;
- – Suchen
der Adresse in dem Netzwerk bei Fehlen der Adresse in der Speichereinrichtung
der Client-Vorrichtung;
- – Speichern
der Adresse in der Speichereinrichtung der Client-Vorrichtung im
Falle einer positiven Suche; und
- – anschließendes Zugreifen
auf das zweite Datenelement des Dokuments von der Adresse, die so durch
Vorgriff gespeichert und unverzüglich
verfügbar
ist.
-
Das
Verfahren gemäß der Erfindung
gewährleistet
eine Einsparung von Wartezeit, um das zweite Datenelement des digitalen
Dokumentes nach der Auswahl des Bezeichners des Dokuments durch
den Nutzer wiederzuerlangen bzw. -herzustellen, wobei das erste
Datenelement des digitalen Dokuments in der Praxis zumindest identifiziert
und lokalisiert wird. Die Erhöhung
der Dienstgüte
ist direkt erkennbar (die Verminderung der Wartezeit verursacht
eine erhöhte Zufriedenheit
des Nutzers).
-
Das
Verfahren gemäß der Erfindung
beachtet ebenfalls die Auslastung der Bandbreite des Netzwerkes
durch Limitieren der Übermittlung
von unnötigen
Daten. Zum Beispiel wird der potentielle Überverbrauch im Vergleich mit
den Prefetching-Systemen des Standes der Technik stark reduziert.
-
Zusätzlich ist
das Verfahren gemäß der Erfindung
mit allen Kommunikationsnetzwerktopologien, speziell des Station-zu-Station-Typs,
sowie mit den Suchverfahren in diesen Netzwerken kompatibel.
-
Wegen
seiner Auswirkung auf die Handhabung der Datensuchphase kann das
Verfahren gemäß der Erfindung
mit den verschiedenen Systemen in Verbindung gebracht werden, die
sich auf eine Verbesserung der eigentlichen Beschaffung der Daten konzentrieren
(zum Beispiel Proxy-Server).
-
In
der Praxis ist die Adresse der Stelle, die das zweite Datenelement
des digitalen Dokumentes enthält,
lokal oder entfernt.
-
Zum
Beispiel wird der Schritt zum Suchen nach der Adresse des zweiten
Datenelements des digitalen Dokuments vor jeder neuen, vom Nutzer
ausgehenden Zugriffsanfrage implementiert.
-
Das
digitale Dokument gehört
zu der Gruppe, die durch Standbilder oder Fotografien, Videosequenzen,
Computerdateien einer Büroanwendung oder
dergleichen gebildet wird.
-
Gemäß einem
Ausführungsbeispiel
ist die hierarchische Beziehung im Hinblick auf die Auflösung horizontal,
wobei das erste und das zweite Datenelement von der gleichen Auflösung sind.
Zum Beispiel ist das digitale Dokument eine Sammlung, die eine Liste
von Objekten aufweist, wobei jedes einen Bezeichner besitzt.
-
Gemäß einer
anderen Lösung
ist die hierarchische Beziehung im Hinblick auf die Auflösung vertikal,
wobei das erste und das zweite Datenelement von verschiedener Auflösung sind.
-
Zum
Beispiel ist die Auflösung
des ersten Datenelements niedriger als die des zweiten Datenelements.
-
Gemäß einem
anderen Ausführungsbeispiel weist
das digitale Dokument mehr als zwei unterschiedliche Auflösungen auf.
-
Gemäß einem
noch weiteren Ausführungsbeispiel
weist das Verfahren die folgenden Schritte auf:
- – Bestimmen
der aktuellen Auflösung
des digitalen Dokuments, das an der Client-Vorrichtung verfügbar ist;
- – Verifizieren
des Vorliegens von zumindest einer Adresse einer Stelle in der Speichereinrichtung der
Client-Vorrichtung, die eine höhere
Auflösung des
digitalen Dokuments enthält;
- – Suchen
der Adresse im Netzwerk bei Fehlen der Adresse in der Speichereinrichtung;
- – Speichern
der Adresse in der Speichereinrichtung der Client-Vorrichtung im
Falle einer positiven Suche; und
- – anschließendes Zugreifen
auf die höhere
Auflösung
des Dokuments von der Adresse, die so durch Vorgriff gespeichert
und unverzüglich
lokal verfügbar
ist.
-
Eine
weitere Aufgabe der Erfindung ist eine Vorrichtung zum Zugriff auf
ein digitales Dokument in einem Kommunikationsnetzwerk, wobei die
Zugriffsvorrichtung in der Lage ist, in einer Client-Vorrichtung des
Netzwerkes eingebunden zu sein.
-
Gemäß einem
weiteren Aspekt der Erfindung weist die Zugriffsvorrichtung auf:
- – eine
Einrichtung zum Auswählen
eines ersten Datenelements eines digitalen Dokuments, das durch
einen vorbestimmten Bezeichner bezeichnet wird, wobei das digitale
Dokument zumindest ein erstes und ein zweites Datenelement aufweist, die
gemäß einer
gewählten
hierarchischen Beziehung miteinander verbunden sind;
- – eine
Verarbeitungseinrichtung, die fähig
ist zum Verifizieren des Vorliegens von zumindest einer Adresse
einer Stelle in einer Speichereinrichtung der Client-Vorrichtung, die
ein zweites Datenelement des digitalen Dokuments enthält;
- – eine
Sucheinrichtung, die fähig
ist zum Suchen der Adresse in dem Netzwerk bei Fehlen der Adresse
in der Speichereinrichtung; wobei die Speichereinrichtung im Falle
einer positiven Suche fähig
ist, die Adresse zu speichern; und
- – eine
Einrichtung zum anschließenden
Zugreifen auf das zweite Datenelement des Dokuments von der Adresse,
die so durch Vorgriff gespeichert und unverzüglich lokal verfügbar ist.
-
Im
Falle eines Mehrfachauflösungsdokumentes
ist die Verarbeitungseinrichtung ebenso dazu fähig, die aktuelle Auflösung des
digitalen Dokumentes zu bestimmen, das an der Client-Vorrichtung
verfügbar
ist; und das Vorliegen von zumindest einer höheren Auflösung des digitalen Dokumentes
in der Speichereinrichtung der Client-Vorrichtung zu verifizieren, während die
Sucheinrichtung ebenfalls dazu fähig
ist, bei Fehlen der höheren
Auflösung
des digitalen Dokuments in der Speichereinrichtung im Netzwerk eine
Adresse einer Stelle zu suchen, welche die höhere Auflösung des digitalen Dokuments
enthält; ist
die Sucheinrichtung dazu fähig,
die Adresse zu speichern, und ist die Zugriffseinrichtung dazu fähig, auf
die höhere
Auflösung
des Dokumentes von der durch Vorgriff gespeicherten und unverzüglich lokal verfügbaren Adresse
zuzugreifen.
-
Die
Erfindung bezieht sich ebenfalls auf ein System zum Zugriff auf
ein digitales Dokument in einem Kommunikationsnetzwerk, das eine
Beschaffungsvorrichtung aufweist, die in einer Client-Vorrichtung
wie zuvor kurz beschrieben eingebunden ist.
-
Die
Erfindung bezieht sich ebenfalls auf ein Informationsmedium, das
von einem Computersystem gelesen werden kann, eventuell vollkommen oder
teilweise entfernbar, insbesondere eine CD-ROM oder ein magnetisches
Medium, wie etwa eine Festplatte oder eine Diskette, oder ein übertragbares
Medium, wie etwa ein elektrisches oder optisches Signal, und Anweisungen
eines Computerprogramms enthält,
ein Beschaffungsverfahren wie zuvor kurz beschrieben zu implementieren,
wenn dieses Programm in ein Computersystem geladen und von diesem
ausgeführt
wird.
-
Die
Erfindung bezieht sich ebenfalls auf ein Computerprogramm, das auf
einem Informationsmedium gespeichert ist, wobei das Programm Anweisungen
zur Implementierung eines Beschaffungsverfahrens wie zuvor kurz
beschrieben aufweist, wenn dieses Programm in ein Computersystem
geladen und von diesem ausgeführt
wird.
-
Weitere
Merkmale und Vorteile der Erfindung werden sich angesichts der folgenden
detaillierten Beschreibung und der Zeichnungen ergeben, in welchen:
-
1 ein
Kommunikationsnetzwerk darstellt, in welchem das Zugriffsverfahren
gemäß der Erfindung
implementiert ist;
-
2 eine
detaillierte Darstellung einer Zugriffsvorrichtung gemäß der Erfindung
ist;
-
3 eine
Beschreibung einer Sammlung ist;
-
4 schematisch
eine Architektur der Daten aus einer Sammlung darstellt;
-
5 ein
Flussdiagramm ist, das die Schritte des Zugriffsverfahrens gemäß der Erfindung
veranschaulicht; und
-
6 ein
Flussdiagramm ist, welches das Verhalten einer Client-Maschine zum
Zeitpunkt einer Anforderung eines Zugriffs auf eine Datendatei (Ressource)
gemäß der Erfindung
veranschaulicht.
-
Unter
Bezugnahme auf 1 weist ein Kommunikationsnetzwerk 120 mehrere
Instanzen 100, 110 auf, die mit dem Netzwerk 120 verbunden
sind. Das Netzwerk 120 ist zum Beispiel das Internet, das eine
Kommunikation mit einer Architektur des Client-Server-Typs erlaubt, wo
jede Vorrichtung oder Client-Maschine 100, die als CLIENT
1, CLIENT 2, CLIENT 3 individualisiert sind, periodisch auf Servervorrichtungen
wie etwa die Zentralservervorrichtung 110 zugreift.
-
Verbindungen
des „Station-zu-Station"- oder „Peer-to-Peer"-Typs zwischen den
Client-Vorrichtungen 100 können, ebenfalls eingerichtet
werden, um unabhängig
von der Zentralservervorrichtung 110 gemeinsam genutzte
Daten auszutauschen.
-
Die
Client-Vorrichtungen 100 können unter Verwendung von Hochgeschwindigkeits-Technologien
(zum Beispiel vom DSL-Typ,
was für
Digitale-Teilnehmer-Leitung bzw. „Digital Subscriber Line" steht, oder Kabelmodem)
oder Niedergeschwindigkeits-Technologien (56 kbits/s-Modem) mit
dem Netzwerk 120 verbunden werden. Das Netzwerk 120 kann
ebenso gut ein privates lokales LAN-Netzwerk sein. Die Zentralservervorrichtung 110 kann
aus mehreren Servervorrichtungen aufgebaut sein, die miteinander
gekoppelt und über
eine einzige Netzwerkadresse zugänglich
sind. Die Topologie des Netzwerkes 120 kann vom hybriden Peer-to-Peer-Typ
(mit Zentralserver 110) oder vollkommen verteilt sein,
wobei kein Zentralserver 110 existiert.
-
Zum
Beispiel weist die Client-Vorrichtung 100, die als CLIENT
1 individualisiert ist, eine flüchtige
Datenspeichervorrichtung 160 (man spricht dann von einem Cache-Speicher,
der langlebige Daten wie Bilder, aber auch weniger permanente Daten
wie Adressenlisten beinhalten kann) und eine Mensch-Maschine-Schnittstelle
auf, die eine Interaktion mit den Nutzern ermöglicht.
-
Die
Vorrichtungen 100 können
eine Client-Anwendung in der Form von Computer-Software 135 ausführen, die
dazu fähig
ist, die Verfahren und Algorithmen zu implementieren, die nachstehend ausführlicher
beschrieben werden.
-
Die
Software-Programme 135 weisen ebenfalls eine Anzeige-Schnittstelle 140 auf,
die ein Äquivalent
zu einer Browser-Software oder einer speziellen Software, wie etwa
einem dedizierten Fotoalbum, sein kann. Die Anzeige- Schnittstelle 140 ist
mit einer lokalen Dateiservervorrichtung 150 gekoppelt.
-
Die
Client-Software 135, die auf den Maschinen 100 ausgeführt wird,
kann von einer Zentralservervorrichtung 110 heruntergeladen
werden. Als eine Option kann die Software 135 als ein Erweiterungsmodul
(plug-in) eines Standard-Internetbrowsers installiert werden.
-
Bei
einer Variante kann die Software 135 zwei ausgeprägte Elemente
aufweisen, die miteinander kommunizieren. Das erste Element ist
zum Beispiel eine Software des Schnittstellen-Typs, die dazu in
der Lage ist, die Anzeige-Schnittstelle 140 zu manipulieren.
Das zweite Element besteht zum Beispiel aus Software vom Server-Typ,
die von der lokalen Servervorrichtung 150 ausgeführt wird,
sobald die Client-Maschine 100 eingeschaltet wird.
-
Zum
Beispiel werden die Algorithmen, die nachstehend ausführlicher
beschrieben werden, durch das zweite Element (die Server-Software)
der Software 135 ausgeführt.
-
In
der Praxis durchläuft
in einer Maschine 100, die eine Verbindung des Station-zu-Station-Typs
aufbaut, jede durch die Schnittstelle 140 abgegebene Anforderung
die Server-Software 150, so dass die Letztere über die
zu ergreifende Maßnahme entscheidet.
Die Server-Software 150 kann eine Rolle eines ernannten
Servers (oder Proxy) einnehmen, mit welchem ein Aufbewahrungsspeicherbereich 160 assoziiert
ist.
-
Mit
Bezug auf 2 ist die Vorrichtung, die die
Client-Vorrichtung 100 bildet,
die mit Bezug auf 1 beschrieben ist, zum Beispiel
ein Mikrocomputer 200, eine Workstation bzw. ein Arbeitsplatzsystem,
ein digitales Assistenzsystem, eine Kamera, ein Mobiltelefon oder
dergleichen.
-
Die
Vorrichtung 200 ist mit verschiedenen Periphäriegeräten verbunden,
wie etwa zum Beispiel einer Digitalkamera 201 (oder einem
Scanner oder einer beliebigen Bilderfassungs- oder Speichereinrichtung),
die mit einer Grafikkarte verbunden ist und die Vorrichtung mit
Multimedia-Daten beliefert.
-
Die
Vorrichtung 200 weist einen Kommunikationsbus 202 auf,
mit dem verbunden ist:
- – eine Zentralverarbeitungseinheit
oder CPU 203, zum Beispiel vom Mikroprozessor-Typ;
- – ein
Speicher oder ROM 204, der Programme „PROG" enthalten kann, welche die Erfindung
unterstützen;
- – ein
Direktzugriffsspeicher oder RAM 206 (Cache-Speicher), der Register
enthält,
die zum Aufzeichnen von während
des Ausführens
der zuvor genannten Programme erzeugten oder modifizierten Variablen
und Parametern angepasst sind;
- – ein
Bildschirm 208 zum Anzeigen von Daten und/oder Dienen als
grafische Schnittstelle für den
Nutzer, der dazu fähig
sein wird, mit Hilfe der Tastatur 210 oder jeglicher anderer
Einrichtung, wie etwa einer Zeigevorrichtung, wie zum Beispiel einer
Maus 211 oder einem optischen Stift, mit den Programmen
gemäß der Erfindung
zu interagieren;
- – eine
Kommunikationsschnittstelle 218, die mit einem verteilten
Kommunikationsnetzwerk 220, zum Beispiel dem Internet,
wie unter Bezug auf 1 beschrieben, verbunden ist,
wobei die Schnittstelle dazu fähig
ist, Daten zu senden und zu empfangen.
-
Im
Falle von Audiodaten kann die Vorrichtung 200 ebenfalls
eine mit einem Mikrofon 222 verbundene (nicht gezeigte)
Eingangs-/Ausgangskarte aufweisen. Die Vorrichtung 200 kann
optional eine Festplatte 212, die dazu fähig ist,
die Programme „PROG" zu enthalten, und
ein Diskettenlaufwerk 214 besitzen, das dazu fähig ist,
eine Diskette 216 aufzunehmen und verarbeitete oder zu
verarbeitende Daten davon zu lesen oder darauf zu schreiben.
-
Der
Kommunikationsbus 202 ermöglicht eine Kommunikation und
Interoperabilität
zwischen den verschiedenen Elementen, die in dem Mikrocomputer 200 enthalten
oder mit ihm verbunden sind. Die Darstellung des Busses ist nicht
limitierend, und insbesondere ist die Zentraleinheit 203 dazu
fähig,
Anweisungen an jedes Element des Mikrocomputers 200 direkt
oder mit Hilfe eines anderen Elements des Mikrocomputers 200 zu
kommunizieren.
-
Der
ausführbare
Code jedes Programms, der der programmierbaren Vorrichtung ermöglicht, die
Prozesse gemäß der Erfindung
zu implementieren, kann zum Beispiel auf der Festplatte 212 oder
im Lesespeicher 204 gespeichert werden.
-
Gemäß einer
Variante kann die Diskette 216 sowohl Daten als auch den
ausführbaren
Code der zuvor erwähnten
Programme beinhalten, der auf der Festplatte 212 gespeichert
wird, sobald er von der Vorrichtung 200 gelesen wurde.
-
In
einer anderen Variante kann der ausführbare Code der Programme mit
Hilfe des Kommunikationsnetzwerkes 220 über die Schnittstelle 218 empfangen
werden, um auf eine identische Art und Weise zu der zuvor beschriebenen
gespeichert zu werden.
-
Die
Disketten können
durch jegliches Informationsmedium, wie zum Beispiel eine Kompakt-Disk
(CD-ROM) oder eine Speicherkarte, ersetzt werden.
-
In
allgemeinen Worten ist eine Informationsspeichereinrichtung, die
mit einem Computer oder mit einem Mikroprozessor gelesen werden
kann, ob in der Vorrichtung integriert oder nicht, möglicherweise
entfernbar, angepasst, ein oder mehr Programme, deren Ausführung das
Verfahren gemäß der Erfindung
zu implementieren ermöglicht,
zu speichern.
-
In
allgemeinen Worten kann das Programm oder können die Programme in eine
der Speichereinrichtungen der Vorrichtung 200 geladen werden,
bevor es/sie ausgeführt
wird/werden.
-
Die
Zentraleinheit 203 steuert und leitet die Ausführung von
den Anweisungen oder Teilen von Softwarecode des Programms oder
der Programme gemäß der Erfindung,
von Anweisungen, die auf der Festplatte 212 oder in dem
Lesespeicher 204 oder in den anderen zuvor genannten Speicherelementen gespeichert
sind.
-
Beim
Hochfahren wird/werden das/die Programm/Programme, die in einem
permanenten Speicher, zum Beispiel der Festplatte 212 oder
dem Lesespeicher 204, gespeichert sind, in den Schreib-Lese-Speicher 206 (RAM)
transferiert, der dann den ausführbaren
Code des Programms oder der Programme gemäß der Erfindung, sowie Register
zum Speichern der Variablen und Parameter enthält, die für die Implementierung der Erfindung
notwendig sind. Die Vorrichtung 200, die die Vorrichtung
gemäß der Erfindung
aufweist, kann ebenfalls eine programmierte Vorrichtung sein. Diese
Vorrichtung beinhaltet dann den Code des Computerprogramms oder
der -programme, zum Beispiel fest in einer anwendungsspezifischen
integrierten Schaltung (ASIC).
-
In
allgemeinen Worten bezieht sich die Erfindung auf einen Zugriff
auf ein digitales Dokument, das zumindest ein erstes und ein zweites
Datenelement aufweist, die miteinander in einer gewählten hierarchischen
Beziehung verbunden sind.
-
Die
hierarchische Beziehung gilt, was die Auflösung betrifft, als horizontal,
wenn die ersten und zweiten Datenelemente von der gleichen Auflösung sind.
-
Umgekehrt
gilt die hierarchische Beziehung, was die Auflösung betrifft, als vertikal,
wenn die ersten und zweiten Datenelemente von unterschiedlichen
Auflösungen
sind.
-
Mit
Bezug auf 3 ist das digitale Dokument
zum Beispiel eine Sammlung 300, die einen Satz von Referenzen
bzw. Verweisen (Bezeichnern) auf Medieninhalte (Bilder, Videos,
Töne) mit
Metadaten bildet.
-
Durch
Erweiterung kann eine Sammlung daher Sammlungen (die auch als Untersammlungen bezeichnet
werden) enthalten.
-
Daher
ist in einer Sammlung jedes Objekt oder sind jegliche Daten Di von
der gleichen oder ähnlichen
Auflösung.
Die hierarchische Beziehung zwischen jedem Datenelement Di ist hier
vom horizontalen Typ.
-
In
einer Sammlung werden die Objekte gemäß ihrem Rang i voneinander
unterschieden, der gemäß einem
gewählten
Kriterium, wie etwa einer alphanumerischen Reihenfolge, einer Größe oder
dergleichen, indiziert ist.
-
Wie
nachstehend ausführlicher
zu sehen sein wird, kann das digitale Dokument mehrfachauflösend sein,
wobei die ersten Daten von einer Auflösung r sind, die verschieden
von der, gewöhnlich niedrigeren
als die der zweiten ist.
-
In
der Praxis bedeutet:
- – „Miniaturbild": die niedrigauflösende Version
r = 0 (erstes Datenelement) eines digitalen Bildes (THUMBNAIL auf
Englisch); und
- – „Bild": die hochauflösende Version
r = 1 (zweites Datenelement) von diesem digitalen Bild (digitales Dokument).
-
Es
ist klar, dass die Erfindung nicht auf lediglich zwei Auflösungen beschränkt ist,
sondern ebenfalls bei mehr Auflösungsgraden
r oder bei digitalen Dokumenten, die in dem Netzwerk in mehreren
Versionen, Darstellungen, Größen und/oder
Formaten verfügbar
sind, angewendet werden kann.
-
Gleichermaßen kann
man die Erfindung bei Video anwenden.
-
In
diesem Fall kann der Start eines Videostromes zum Beispiel eine
minimale Beschreibung des kompletten Videos darstellen. Die Erfindung kann
man ebenfalls bei Computerdateien einer Büroanwendung anwenden. Zum Beispiel
ermöglichen die
ersten Bytes dieser Dateien, den Typ von Software-Anwendung zu erkennen,
die notwendig ist, diese zu lesen, und daher kann der Nutzer, der
das Ziel der Aufteilung darstellt, die Bytes der Dateien auswählen, die
er anzeigen kann.
-
Anschließend werden
beide digitalen Bilder in einem Mehrfachauflösungsformat, wie zum Beispiel
dem JPEG-2000-Format,
und digitale Einzelauflösungsbilder
(zum Beispiel das JPEG-Format) als ein Mehrfachauflösungsbild
benannt. Im Fall von digitalen Einzelauflösungsbildern wird das Konzept der
Mehrfachauflösung
durch die Konstruktion von unabhängigen
Dateien unterstützt,
die unterschiedlichen, von derselben hochauflösenden Bilddatei erhaltenen
Unterauflösungen
entsprechen.
-
Das
Erzeugen einer Sammlung von digitalen Bildern ist Fachmännern bekannt.
Daher wird es hier nicht ausführlicher
beschrieben. In Kürze
gesagt besteht es aus einem Verbinden von digitalen Bildern mit
einem Bildcontainer (ansonsten „Sammlung" genannt), zum Beispiel mit Hilfe einer
geeigneten graphischen Schnittstelle.
-
In
der Praxis besitzen alle Versionen eines digitalen Bildes (Miniaturbild
und Bild, das heißt
erste und zweite Daten) denselben eindeutigen Bezeichner 303.
-
Zum
Beispiel wird der eindeutige Bezeichner 303 automatisch
generiert, sobald ein neues Bild zu einer Sammlung hinzugefügt wird.
Um die Versionen des durch den eindeutigen Bezeichner 303 identifizierten
digitalen Dokumentes zu bestimmen, wird dieser Bezeichner 303 einem
Daten-„Typ" zugeordnet. In dem
hier beschriebenen Beispiel kann dieser Typ zwei Werte annnehmen,
nämlich
den „Miniaturbild"-Typ und den „Bild"-Typ.
-
Als
Beispiel (3) weist eine Sammlung 300 auf:
- – erstens
ein Kopffeld 300H mit einem Titel 301 und einem
Bezeichner 302 der Sammlung; und
- – zweitens
einen Körper 300B mit
einer Liste von Bezeichnern 303 der digitalen Bilder in
dieser Sammlung.
-
Eine
Sammlung 300 kann möglicherweise selbst
eine oder mehrere andere Sammlungen aufweisen, das heißt, die
Sammlung 300 kann in ihrem Teil 300B zumindest
den Bezeichner 302 einer anderen Sammlung beinhalten.
-
Der
auf der Maschine des Nutzers erzeugte Bezeichner 303 wird
durch die Client-Anwendung zugewiesen, auch wenn die Client-Maschine 100 nicht mit
dem Netzwerk 120 verbunden ist.
-
Die
Zuweisung der Bezeichner 303 kann eine lokale Erzeugung
von Zufallszahlen verwenden. In der Praxis sind diese Bezeichner 303 eindeutig, um
Suchen in dem Netzwerk zu erleichtern. Werkzeuge bzw. Hilfsmittel,
die Fachmännern
wohlbekannt sind, ermöglichen
es, Bezeichner mit einer niedrigen Wahrscheinlichkeit einer Doppelung
zu erzeugen.
-
Wie
man vorstehend sehen kann, werden die Bilder durch die Anwendung
der Client-Maschine durch einen Bezeichner 303 definiert,
sobald ein neues Bild zu einer Sammlung hinzugefügt wird. Wenn das Bild aus
einer existierenden Sammlung kopiert wird, behält das Bild den ursprünglichen
Bezeichner.
-
Die
längste
Zeit ist der Datentyp, der ermöglicht,
das Miniaturbild von dem Bild zu unterscheiden, gemäß den über das
Netzwerk gesendeten Anfragen implizit. Zum Beispiel wird im Fall
eines Herunterladens das Bild angefordert, während das Miniaturbild für eine einfache
Anzeige nützlich
ist.
-
Ein
Nutzer kann die Bilder, die Sammlung und die Untersammlung so strukturieren,
dass jede Sammlung 300 schließlich in der Form einer Liste von
Bezeichnern von Bildern, einer Untersammlung aufgezeichnet wird.
Jede Sammlung kann möglicherweise
eine oder mehrere Metadateneinheiten einer kleinen Speichergröße aufweisen,
zum Beispiel ein Miniaturbild, das die gesamte Sammlung oder die Schlüsselwörter oder
eine textuelle Beschreibung etc. darstellt.
-
Eine
Sammlung kann ebenfalls eine im Internet verbreitete Seite sein,
die für
die Anzeige dieses Dokuments notwendige Metadaten in einer geeigneten
Auszeichnungssprache enthält,
wie etwa der HTML-Sprache, was im Englischen für „Hypertext Markup Language" steht, und Verbindungen
zu Objekten in Form von Bezeichnern 303 im Austausch zu konventionellen
Web-Adressen enthält.
-
Mit
Bezug auf 4 ist das Flussdiagramm dargestellt,
das die Baumstruktur der Ablauffolge der Zugriffe auf die Daten
veranschaulicht, die eine Sammlung bilden.
-
Eine
Sammlung ist das Basiselement, von welchem ein Nutzer Bilder Di
auf der Schnittstelle 140 anzeigen kann. Wenn eine Sammlung über die Nutzerschnittstelle 140 ausgewählt wird,
ist die Anzeige der Daten Di im Kontext 400 einer Sammlung A
angeordnet. In diesem Kontext ermöglicht das Verfahren gemäß der Erfindung
dem Nutzer das Anzeigen eines ersten Auflösungsgrads r = 0 (hier der
Miniaturbilder) der Elemente, die diese erste Sammlung bilden. Daher
werden diese Miniaturbilder von allen von deren Bezeichner 303 identifizierten
Bildern (Bild D (i = 1) und Bild D (i = 2)) angezeigt.
-
Es
existieren ebenfalls Miniaturbilder (r = 0), die eine Sammlung repräsentieren:
Hier zum Beispiel für
die (Unter-) Sammlung B.
-
Mit
anderen Worten kann ein zugehöriges Miniaturbild
r = 0 existieren, das indifferent einem Bild in der Sammlung, einer
Anordnung von mehreren Bildern in der Sammlung, etc. entspricht.
-
In
einem möglichen
Ausführungsbeispiel werden
die Miniaturbilder, die einem Bild entsprechen, in jede Sammlung
eingebunden, die sich auf die Bilder bezieht. In einem anderen Ausführungsbeispiel
sind die Miniaturbilder auf einem im Internet zugänglichen
Server (zum Beispiel dem Zentralserver im Falle eines Station-zu-Station-Netzwerks des Hybrid-Topologie-Typs)
verfügbar,
und/oder können
in dem Peer-to-Peer-Netzwerk auf die gleiche Weise wie die Bilder
reproduziert werden.
-
Wenn
der Nutzer ein Bild Di (Bild D (i = 1) oder Bild D (i = 2)) aus
dem Kontext 400 auswählt, wird
der Anzeigekontext zu 401 oder 403 hin verschoben.
Die verschiedenen Bildauflösungen
können
aus Bildkontexten 401/403 beginnend mit der Auflösung (r
= 1) angezeigt werden, die gerade höher ist als die bereits im
Kontext 400 (das ist sozusagen Auflösungsgrad r = 0) angezeigte.
Wenn ein Bild Di ausgewählt
wird, wird der erste Teil (erste Schleife) des Algorithmus bezüglich eines
Mehrfachauflösungsdokumentes
ausgeführt,
der mit Bezug auf 5 beschrieben wird.
-
Wenn
der Nutzer eine Untersammlung (zum Beispiel Sammlung B) auswählt, wird
der Anzeigekontext zu einem Sammlungskontext. Zum Beispiel entspricht
der Untersammlungskontext 402 einem Sammlungskontext, der ähnlich zu 400 ist,
von dem aus Zugriff auf alle Elemente der Sammlung B existiert (die
Bilder D (i = 3) und D (i = 4) sind jetzt zugänglich).
-
Wenn
eine Sammlung/Untersammlung ausgewählt wird, wird der zweite Teil
des Algorithmus (die zweite Schleife) ausgeführt, der mit Bezug auf 5 beschrieben
wird.
-
Wenn
der Nutzer von anderen Maschinen 100 im Netzwerk 120 einen
Auflösungsgrad
anzeigt und wiederherstellt, der lokal nicht bekannt ist, wird diese
Auflösung
von der lokalen Servervorrichtung 150 im Speicherbereich 160 gesichert,
um im Falle einer folgenden Anfrage lokal verfügbar zu sein.
-
Nun
wird auf 5 Bezug genommen.
-
Schritt
E500 entspricht einem Eintrittspunkt des Algorithmus von einem Satz
von Daten Di in einem digitalen Dokument D.
-
Gemäß Schritt
E502 wählt
der Nutzer ein Datenelement Di in diesem Satz D aus.
-
Jedes
Datenelement wird durch einen Bezeichner 302 oder 303 bezeichnet.
-
Wenn
der Satz D leer ist (Schritt E504), endet der Algorithmus.
-
Gemäß Schritt
E506 bestimmt das Verfahren bei Vorliegen eines nicht leeren Satzes
D die aktuelle Auflösung
r des Datenelements Di.
-
Gemäß Schritt
E508 überprüft das Verfahren,
wenn das Datenelement Di mehrfachauflösend ist (d.h. es existiert
eine Auflösung
(r + 1), die höher ist
als die aktuelle Auflösung
r), ob zumindest eine Adresse einer Stelle, die die höhere Auflösung r +
1 des Datenelements Di bezüglich
der aktuellen Auflösung
r enthält,
im lokalen Speicherbereich (Cache) 160 vorhanden ist. Die
gesuchte Adresse kann lokal oder entfernt sein.
-
Gemäß Schritt
E510 sucht die Software 135, wenn die Adresse der höheren Auflösung r +
1 in der Speichereinrichtung 160 fehlt, im Netzwerk nach
der Adresse einer Stelle, die die höhere Auflösung r + 1 enthält.
-
Im
Fall einer positiven Suche speichert die Speichereinrichtung 160 die
so gefundene Adresse (oder Adressen) des Datenelements Di (r + 1).
-
Schritt
E510 schließt
die erste Schleife des Algorithmus im Fall eines mehrfachauflösenden digitalen
Dokuments ab.
-
Die
erste Schleife kann für
andere Daten Di in dem Satz D wiederholt werden.
-
Ebenso
kann die erste Schleife für
andere höhere
Ruflösungen
des Datenelements, zum Beispiel die Auflösung r + 2 oder die Auflösung r +
3, wiederholt werden, wenn solche Auflösungen existieren.
-
In
einem optionalen Ausführungsbeispiel kann
die erste Schleife durch direktes Anfragen der Adressen der Auflösungen r
+ 1 bis m ausgeführt werden,
wobei m größer als
r + 1 ist (zum Beispiel ist m die maximale Auflösung). In diesem Fall wird
eine einzige Suchanfrage über
das Peer-to-Peer-Kommunikationsnetzwerk gesendet, während die
empfangenen Antworten mehr Informationen enthalten: Ein Paar kann
in der gleichen Mitteilung alle verfügbaren Auflösungen angeben, die für ein Bild
angeboten werden.
-
Der
Algorithmus kann dann mit der Suche nach Daten mit derselben Auflösung wie
derjenigen fortfahren, die in Schritt E502 ausgewählt wird,
und einen unterschiedlichen Rang i besitzt (die zweite Schleife
im Algorithmus).
-
Gemäß Schritt
E512 überprüft die Software, ob
das Datenelement D (i + 1) vom Rang i + 1 existiert.
-
Gemäß Schritt
E514 sucht die Software 135, wenn keine Adresse einer Stelle,
die das Datenelement D (i + 1) enthält, im Cache 160 vorhanden
ist, im Netzwerk die Adresse von einer dieser Stelle. Wenn nicht,
ist zumindest eine Adresse einer Stellen, die das Datenelement D
(i + 1) enthält,
im Cache 160 enthalten, wobei die Adresse eine lokale oder
entfernte Adresse ist.
-
Im
Fall einer positiven Suche speichert die Speichereinrichtung 160 die
Adresse des so gefundenen Datenelements D (i + 1).
-
Die
zweite Schleife des Algorithmus kann für andere Daten Di im Satz D
wiederholt werden.
-
Gleichermaßen kann
die zweite Schleife des Algorithmus für andere Ränge des Datenelements wiederholt
werden, zum Beispiel den Rang i + 2 oder den Rang i + 3, wenn solche
Ränge existieren.
-
Zum
Beispiel kann die Anzahl von zu analysierenden Rängen gemäß der Möglichkeit des Anzeigens auf
der Anzeigeschnittstelle 140 entschieden werden.
-
Mit
Bezug auf 6 wird die Funktionsweise der
Software 135 beschrieben, die durch die lokale Servervorrichtung 150 einer
Client-Maschine 100 während
des Wiederherstellens der Stellen der Daten im Cache-Speicher durch
Vorgriff ausgeführt wird.
-
Während Schritt
E600 empfängt
die lokale Servervorrichtung 150 eine Anfrage für einen
Zugriff auf ein Element oder ein Objekt in einer Sammlung (es kann
ein Fall einer Sammlung, einer Untersammlung oder eines Auflösungsgrads
eines mehrfachauflösenden
Bildes sein).
-
Wenn
das angefragte Objekt im Cache 160 vorhanden ist, führt der
Test E610 direkt zu Schritt E680, in dem das Objekt zu der Nutzerschnittstelle 140 übermittelt
wird, um beispielsweise angezeigt zu werden.
-
Wenn
das angefragte Objekt im Cache 160 fehlt, wird in Schritt
E620 eine Suche ausgeführt,
um zu prüfen,
ob der Cache 160 gültige
Adressen (Stellen) für
dieses Objekt enthält,
die durch Vorgriff gemäß dem mit
Bezug auf 5 beschriebenen Verfahren wiederhergestellt
wurden.
-
Wenn
Adressen im Cache 160 vorhanden sind, führt die lokale Servervorrichtung 150 Schritt E630
aus, um eine der möglichen
Adressen auszuwählen,
um das Herunterladen des Dokuments auszuführen (Schritt E640), auf das
die Adresse zeigt, die so durch Vorgriff in der Speichereinrichtung 160 gespeichert
wurde.
-
Daher
ermöglicht
ein Speichern der Adressen durch Vorgriff, das Dokument von der
Stelle, deren Adresse unverzüglich
lokal verfügbar
ist, sozusagen in der Speichereinrichtung 160 der Client-Vorrichtung,
zu erhalten (herunterzuladen), ohne die für das Wiederherstellen dieser
Adresse im Netzwerk benötigte
Zeit zu warten.
-
Im
Fall von unvollständigem
Herunterladen oder einem, das in einem Fehler beim Herunterladen resultiert
(Schritt E650) ist es möglich,
zu Schritt E620 zurückzukehren,
um eine andere Adresse im Cache zu versuchen.
-
Wenn
dort keine Adresse ist oder keine Adresse mehr im Cache 160 verfügbar ist,
wird eine Vorkehrung getroffen zum Suchen nach einer Stelle auf
eine konventionelle Weise und zum Herunterladen dieser Ressource
von der so konventionell gefundenen Stelle, sozusagen ohne Vorgriff.
-
Daher
ermöglicht
ein Vorgreifen der Stelle gemäß der Erfindung,
schneller und ohne Überlastung
des Netzwerkverkehrs auf ein Dokument zuzugreifen.