Verfahren und Vorrichtung zum Speichern und Auslesen von Daten
Die Erfindung befaßt sich mit einem Konzept eines Netz- Werkes von verteilten Speichergeräten. Insbesondere handelt es sich um ein Peer-to-Peer-Netzwerk.
Stand der Technik
Die Speicherkapazität von Festplattenlaufwerken und optischen Datenträgern hat eine beeindruckende Größe erreicht, die eine systematische Verwaltung des gespeicherten Inhalts erforderlich macht. Schon mit einer gängigen 120-GByte-Festplatte ergibt sich die Möglichkeit, z. B. 32 Spielfilme ä 100 Minuten Dauer bei 5 Mbit/s, die Inhalte von 185 CDs, 3200 einminütige Beiträge in Nachrichtensendungen ä 5 Mbit/s oder über 25.000 vierminütige Audiostücke im mp3-Format bei 160 kbit/s oder nahezu doppelt soviel im mp3PRO-Format zu speichern.
Wie an den genannten Zahlenwerten zu erkennen ist, stellt es für den Benutzer sicherlich schon heute ein erhebliches Problem dar, einen bestimmten Inhalt in Massenspeichern wie den beschriebenen in einer akzeptablen Zeitspanne bei erträglichem Aufwand wiederzufinden, denn bisher können keine geeigneten Hilfsmittel zur Suche zur Verfügung gestellt werden. Solange physikalisch und technologisch weiterhin Verdopplungszyklen der Speicherkapazität möglich sind, verschlimmert sich die Lage des Benutzer ebenso exponentiell .
Daraus ergibt sich das Problem der Notwendigkeit einer integrierten Datenwiedergewinnung .
BESTÄTIGU GS OPSE
Obwohl viele Anstrengungen unternommen worden sind und unternommen werden, um das Durchsuchen von beliebigem gespeicherten Audio- und Videomaterial zu ermöglichen, so ist eine praxistaugliche Lösung nicht in Sicht. Es gibt zwar hier und da recht verblüffende Einzellösungen, wie z. B. das Aufsuchen von Musikstücken durch Vorsummen, das sogenannte "Searching by Humming", doch weitere Lösungen für anderen Multimediaformate sind bisher nicht bekannt.
Ein eingeschlagener Weg zur Umgehung des Problems ist der folgende: Ähnlich wie bei einem Bibliothekskatalog soll der zu speichernde Inhalt so prägnant wie möglich anhand eines Kataloges von Kategorien beschrieben werden. Zur Beschreibung bieten sich z.B. der Titel einer Aufnahme, das Genre, in das die Aufnahme fällt, der oder die Autoren und der oder die wiedergebenden Künstler an. Es wird ein Katalog von Kategorien erstellt und der zu beschreibende Inhalt mit Hilfe dieser Kategorien klassifiziert. Die beschreibenden Zusatzinformationen werden üblicherweise als Metadaten, wörtlich als Daten über Daten bezeichnet. Anstelle des gesamten Inhaltes können nun die beschreibenden Metadaten durchsucht werden.
Beschreibende Metadaten, die auch schon bei frühen Produk- tionsschritten dem Inhalt hinzugefügt werden können, sind schon heute Bestandteil vieler Sendungen. So können mittlerweile z. B. Metadaten nach dem DVB-SI-Standard bei der digitalen Fernsehübertragung den ausgestrahlten Programmen hinzugefügt werden.
Aber nicht nur der Inhalt kann mit Metadaten beschrieben werden, sondern auch komplette Dienste rund um die Ausstrahlung von Fernsehprogrammen können auf zusätzlich
angehängte Metadaten gestützt werden. Das TV-Anytime Forum hat kürzlich über ETSI in „ETSI TS 102 822-1" große Teile einer entsprechenden Familie von Standards veröffentlicht.
Zusammenfassung der Erfindung
Die Erfindung beruht auf der grundlegenden Idee eines Peer- to-Peer-Systems verteilter Speicher. Zur Datenwiedergewin- nung werden dabei, anstelle des gespeicherten Inhaltes, mit dem Inhalt abgespeicherten Metadaten durchsucht. Erfindungsgemäß ist jedes der Speichergeräte des Peer-to- Peer-Netzwerkes mit einer Datenbank ausgestattet, um die Metadaten verwalten zu können, die den auf ihnen abgespei- cherten Inhalt beschreiben. Zur Unterstützung der Datenwiedergewinnung ist also ein ebenfalls verteiltes System von Datenbanken integraler Bestandteil des Systems verteilter Speicher.
Das erfindungsgemäße Verfahren zum Speichern und/oder Auslesen von Daten mit einem Gerät, das ein Knoten oder „peer" in einem peer-to-peer Netzwerk ist und das mit anderen Geräten, die ebenfalls Knoten oder „peers" in dem P2P Netzwerk sind, mit Hilfe von Nachrichten und Befehlen kommunizieren und Daten austauschen kann, wobei die gespeicherten Daten mit beschreibenden Metadaten verknüpft sind, ist dadurch gekennzeichnet, daß das Gerät und die anderen Geräte Datenbanken enthalten, die logisch miteinander zu einer verteilten Datenbank verbunden werden, weiter daß zum Auffinden von Auslesedaten nur die damit verknüpften Metadaten durchsucht werden,
weiter daß die Nachrichten und Befehle Statusmetadaten und Steuerungsmetadaten sind, wobei Statusmetadaten informativ und Steuerungsmetadaten steuernd wirken, und schließlich daß die Statusmetadaten, die Steuerungs- metadaten und die gespeicherten Daten einschließlich ihrer beschreibenden Metadaten eine einheitliche Datenstruktur aufweisen und dieselben Transportmechanismen und Transportprotokolle benutzen.
Dabei sind Metadaten solche Daten, die auf andere Daten verweisende Daten enthalten. Ferner benutzt die einheitliche Datenstruktur standardisierte Bezeichner für die verschiedenen Dateneinträge.
In einer Ausführungsform werden weiterhin Suchergebnisse, Antworten auf häufig gestellte Suchanfragen oder Zwischenergebnisse von abgebrochenen Suchen unter Benutzung der einheitlichen Datenstruktur abgespeichert.
In einer Ausführungsform entspricht die einheitliche Daten- Struktur dem XML-Standard.
In einer Ausführungsform stellt das peer-to-peer Netzwerk ein Heimnetzwerk dar.
In einer Ausführungsform speichert das Gerät denjenigen
Satz von Steuerungsmetadaten ab, den es versteht, und gibt ihn auf Anforderung an andere Geräte aus, wobei die Anforderung in Form von Steuerungsmetadaten gestellt wird.
In einer Ausführungsform werden die beschreibenden Metadaten, entsprechend ihrer semantischen Bedeutung, in systemeinheitliche Oberbegriffe oder „Core-Metadaten transformiert .
In einer Ausführungsform wird dabei die Transformationssprache XSL benutzt.
In einer Ausführungsform werden bei der Suche nach einem Begriff zunächst die systemeinheitlichen Oberbegriffe oder Core-Metadaten durchsucht, und im Fall eines Mißerfolgs die restlichen beschreibenden Metadaten durchsucht.
In einer Ausführungsform sind die beschreibenden Metadaten für den Benutzer nicht wahrnehmbar.
Eine erfindungsgemäße Vorrichtung zum Speichern und Auslesen von Daten ist ein Knoten oder peer in einem peer-to- peer Netzwerk, der mit anderen Vorrichtungen, die ebenfalls Knoten oder peers in dem P2P Netzwerk sind, mit Hilfe von Nachrichten und Befehlen kommunizieren und Daten austauschen kann, wobei die gespeicherten Daten mit beschreibenden Metadaten verknüpft sind, und die Vorrichtung ist dadurch gekennzeichnet, daß sie eine Datenbank enthält, die mit Datenbanken anderer zu dem Netzwerk gehörender Vorrichtungen zu einer verteilten Datenbank verbunden wird, daß sie weiter zum Auffinden von Auslesedaten nur die damit verknüpften Metadaten durchsucht, und daß sie zur Kommunikation und zum Datenaustausch
Statusmetadaten und Steuerungsmetadaten benutzt, wobei Statusmetadaten informativ und Steuerungsmetadaten steuernd wirken und wobei die Statusmetadaten, die Steuerungsmetadaten und die gespeicherten Daten einschließlich ihrer beschreibenden Metadaten eine einheitliche Datenstruktur mit standardisierten Bezeichnern für die verschiedenen Dateneinträge aufweisen und dieselben Transportmechanismen und Transportprotokolle benutzen. Dabei sind Metadaten
solche Daten, die auf andere Daten verweisende Daten enthalten.
Mögliche Ausführungsformen entsprechen z. B. den genannten Ausführungsformen des erfindungsgemäßen Verfahrens.
Kurze Beschreibung der Zeichnungen
Die Zeichnungen zeigen in
Bild 1 die Beschreibung von audio-visuellen Inhalten durch
Metadaten;
Bild 2 ein Speichergerät mit Festplatte;
Bild 3 ein logisches Peer-to-Peer-Netzwerk von verteilten Speichergeräten;
Bild 4 ein Modell der logischen Ebenen eines Speichergerätes; und
Bild 5 eine "Owner Zone", die als logisches JXTA-Netzwerk gebildet wird.
Detaillierte Ausführungsbeispiele der Erfindung
Im Folgenden wird die grundlegende Idee eines Peer-to-Peer- Systems verteilter Speicher vorgestellt. Zur Datenwiedergewinnung werden anstelle des gespeicherten Inhaltes mit dem Inhalt abgespeicherte Metadaten durchsucht. Jedes der Speichergeräte des Peer-to-Peer-Netzwerkes ist mit einer Datenbank ausgestattet, um die Metadaten verwalten zu können, die den auf ihnen abgespeicherten Inhalt beschreiben. Zur Unterstützung der Datenwiedergewinnung ist also ein ebenfalls verteiltes System von Datenbanken integraler
Bestandteil des Systems verteilter Speicher. Der Systementwurf ist hauptsächlich auf Heimanwendungen zugeschnitten.
Nach einigen grundsätzlichen Betrachtungen zu den tech- nischen Randbedingungen und den Vorteilen wird das Konzept des Systems von verteilten Speichern beschrieben. Die Beschreibung ist wie folgt gegliedert: • Datenwiedergewinnung • Zusammenspiel der verteilten Speicher • Logisches Netzwerk der Speicher
Diese Gliederung entspricht im wesentlichen den logischen Funktionseinheiten des Systems.
Im folgenden werden Randbedingungen und Vorteile eines Peer-to-Peer-Systems verteilter Speicher beschrieben.
Zunächst wird auf ein flexibles Netzwerkkonzept für Heimanwendungen eingegangen.
Neben der immer rascheren Erhöhung der Speicherdichten haben sich in fast gleichem Maße auch die Prozessorleistung und die Bandbreite der Netzwerke erhöht und erhöhen sich weiter. Bei Prozessoren sind 500 Mips Standard, und zumindest kabelgebundene Netzwerke stellen 1 Gbit/s an Datenrate bereits jetzt schon zur Verfügung. Zwar reichen diese beiden Angaben nicht aus für eine genaue Abschätzung der Leistungsfähigkeit von Netzwerken, die aus solchen Komponenten bestehen; jedoch läßt sich den Zahlen entnehmen, daß die zukünftig verfügbaren Ressourcen, die zudem sehr preiswert zu erhalten sein werden, ein weitaus flexibleres Netzwerkkonzept auch in Heimanwendungen zu gestatten scheinen als die konventionellen zentralisierten Ansätze: Die seit einiger Zeit diskutierten Peer-to-Peer-
Konzepte sind die vielversprechendsten Ansätze zum Aufbau eines solch flexiblen Systems, denn in einem derartigen System ist jedes angeschlossene Gerät gegenüber allen anderen gleich befähigt und gleichberechtigt.
Wenn im Heimbereich bisher hauptsächlich die Vernetzung und Fernbedienung von einzelnen Audio- und Videogeräten im Vordergrund stand, wird zukünftig sicherlich die logische Verknüpfung einzelner Systemkomponenten zur Erhöhung der Gesamtleistung eine Rolle spielen, so werden z. B. digitale Videorecorder in nächster Zukunft Festplattenspeicher beinhalten. Sind diese Geräte in einem Netzwerk miteinander verbunden, können die einzelnen Speicher der Geräte eine logische Einheit bilden und so bisher unbekannte Funktionen ermöglichen.
Im folgenden werden Anforderungen an ein flexibles System von verteilten Speichern beschrieben.
Um den Ansprüchen an ein flexibles Peer-to-Peer-System gerecht zu werden, muß das System einige allgemeine Anforderungen erfüllen: • Alle Geräte sollen gleich befähigt und gleichberechtigt sein. • Das System soll Möglichkeiten und Funktionen zur Datenwiedergewinnung als integralen Bestandteil enthalten. • Alle Systemfunktionen - Datenwiedergewinnung wie auch die Steuerung der Systemabläufe - sollen durch ein- heitlich strukturierte Nachrichten veranlaßt werden. • Soweit irgend möglich soll das System unabhängig von der zugrundeliegenden Netzwerktechnologie sein.
Im Folgenden werden die technischen und wirtschaftlichen Vorteile, die ein flexibles System verteilter Speicher bietet, beschrieben.
Zunächst wird auf technische Vorteile eingegangen.
Die hauptsächlichen Vorteile eines Systems verteilter
Speicher sind: • gemeinsame Speicherbenutzung von Geräten, die mit einem Festplattenlaufwerk oder einem wiederbeschreib- baren optischen Speichermedium ausgestattet sind, • einfach erweiterbare Speicherkapazität des gesamten Systems, und • Funktionswiederherstellung durch mehrfaches Verteilen des Inhaltes auf die einzelnen Geräte und entsprechend geringere Datenverlustwahrscheinlichkeit .
Die folgenden wirtschaftlichen Vorteile, z.B. für das Hei - netzwerkgeschäft, können sich durch die Erfindung ergeben: • Es sind keine großen Anfangsinvestitionen zu leisten, da kein zentrales Gerät und auch keine zentrale Funktion zur Verfügung stehen muß. • Das System kann so erweitert werden wie es zweckmäßig ist.
Im folgenden wird die durch Metadaten unterstützte Datenwiedergewinnung beschrieben.
Die Musikstücke, Bilder, Videosequenzen und Filme, die auf einem einzigen Speichergerät mit einer Standardfestplatte von z.B. 120 GByte gespeichert werden können, sind aufgrund
ihrer Zahl schon jetzt kaum mehr zu überschauen. Werden dann noch die möglichen Einsprungstellen z. B. nach Szenenschnitten oder Handlungssträngen dazugezählt, wächst die Zahl endgültig auf eine nicht mehr zu überblickende Größe an. Und selbstverständlich gilt das Gesagte erst recht für vernetzte Speichergeräte und die damit entsprechend erhöhte gesamte Speicherkapazität. Es ist daher dringend notwendig, eine leistungsfähige Suchfunktion bereitzustellen.
Obwohl viele Anstrengungen unternommen worden sind und unternommen werden, um das Durchsuchen von beliebigem gespeicherten Audio- und Videomaterial zu ermöglichen, so ist eine praxistaugliche Lösung nicht in Sicht, wie oben erwähnt. Bild 1 zeigt die Beschreibung von audio-visuellen Inhalten durch Metadaten, die sich z. B. auf Inhalte von Musik, Filmen, einzelne Bilder oder Spiele beziehen. Die bisher erwähnten Metadaten sind beschreibende Daten, die von einem Autor dem Inhalt hinzugefügt worden sind. Sie haben somit einen hohen semantischen Wert, so daß ein Benutzer, der einen bestimmten gespeicherten Inhalt sucht, ihn mit großer Wahrscheinlichkeit mit einer Suchanfrage nach einer dieser Kategorien wiederfinden wird.
Die Wirksamkeit des beschriebenen Ansatzes hängt von der Verfügbarkeit der entsprechenden beschreibenden Metadaten ab. Jedoch können, auch wenn keine dieser Metadaten vorhanden sind, immer noch die vom System bei der Aufnahme vergebenen allgemeinen Informationen, wie automatisch erzeugter Quasi-Titel, Aufnahmequelle, AufnahmeZeitpunkt, Aufnahme- dauer usw. als Grundlage der Suche herangezogen werden.
Zusätzlich zu den beschreibenden Metadaten, die fast ausschließlich von einem Autor verfaßt worden sind, aber auch
vom Benutzer während oder nach der Aufnahme hinzugefügt worden sein können, besteht grundsätzlich die Möglichkeit, Charakteristiken von Audiodaten und Bildern maschinell zu berechnen. Bei Audioaufnahmen kann beispielsweise die Stimmung der Musik und bei Bildern können unter anderem
Färb- und Helligkeitshistogramme oder aber auch Texturwerte berechnet werden. In der Praxis muß jedoch eine erhebliche Anzahl dieser aufwendig berechneten Kenngrößen vorliegen, um die zugrundeliegenden Ton- und Bilddaten unter Anwendung eines Ähnlichkeitsmaßes wiederfinden zu können: für dieses Problem, das als Suche in vieldimensionalen Vektorräumen bezeichnet wird, ist in absehbarer Zukunft keine praxisrelevante Lösung absehbar.
Anders als bei den charakteristischen Kenngrößen sieht es bei maschinell bestimmten Videozusammenfassungen aus. Die Szenenschnitte und Handlungsstränge können mit relativ geringem Aufwand berechnet werden und so interaktives Suchen („Browsing") unterstützen.
Im folgenden wird beschrieben, was unter Core-Metadaten verstanden werden soll.
Metadatenkataloge sehen oft verschiedene Begriffe für ein und dieselbe Bedeutung vor. So wird z. B. in einem Katalog der Begriff „Autor" gewählt, während in einem anderen „Verfasser" benutzt wird, obwohl in beiden Fällen der „Urheber" gemeint ist. Um die unterschiedlichen Begriffe der verschiedenen Metadatenkataloge mit ein und derselben seman- tischen Bedeutung unter einem im System eindeutigen Oberbegriff verwalten zu können, werden Transformationen durchgeführt, mit denen die entsprechenden Metadaten in sogenannte Core-Metadaten überführt werden. Die Transformationen
werden z.B. mit der standardisierten Transformationssprache XSL beschrieben. Da das System nicht in der Lage ist, aussagekräftige von weniger wichtigen Metadaten zu unterscheiden, werden alle angelieferten Metadaten abgespeichert. 5 Sollte eine Suche in dem Satz von Core-Metadaten keinen Erfolg haben, können die Suchmöglichkeiten dadurch erweitert werden, daß alle restlichen Metadaten durchsucht werden. In dem schon angesprochenen Sinne haben Core-Metadaten einen sehr hohen semantischen Wert und sind daher für 10 die Datenwiedergewinnung wertvoll.
Die Metadaten der unterschiedlichen Signalquellen haben ein unterschiedliches Format. Um sie effizient verwalten zu können, werden sie in ein XML-Format umgewandelt. Der Bezug
15 zum Inhalt wird mit einem Zeiger vermerkt, und das ganze Paket wird zur eindeutigen Identifizierbarkeit mit einer UUID (Universal User Identification) eindeutig gekennzeichnet. Dieses Format wird als „Metadata Onion" oder Zwiebelschalenmodell bezeichnet.
20 Da alle Metadaten nach der erwähnten Transformation in einem standardisierten Format vorliegen, z. B. XML, ist es möglich, sie in einer eigens für dieses Format angepaßten Datenbank zu speichern. Suchanfragen können somit direkt an
25. dieses Datenbanksystem gestellt werden. Dieser Ansatz bietet weitere Vorteile zur Verwaltung der Metadaten. So können z. B. Suchergebnisse, Antworten auf häufig gestellte Suchanfragen oder Zwischenergebnisse von abgebrochenen Suchen direkt abgespeichert werden. Zu diesem Zweck kann
30 man ein XML Data Base Management System benutzen.
Im folgenden wird ein Speichergerät mit integrierter XML- Datenbank beschrieben.
Bild 2 zeigt ein Speichergerät SP mit Festplatte HDD als Speichermedium sowie einer (logischen) Datenbank DB. Die Datenbank DB kann z. B. auf der Festplatte HDD gespeichert sein. Die beschreibenden Metadaten MD_1, MD_2 , MD_N des ein- gehenden Datenstroms IN sind hier nur der Übersichtlichkeit wegen „parallel" zum Inhalt angeordnet. Die zeitliche und logische Zuordnung ist nicht näher festgelegt. So können die Metadaten im Vorfeld, im nachhinein oder auch verteilt über die Aufnahme aufgezeichnet werden. Jedoch müssen die Verbindungen zum Inhalt eindeutig herstellbar sein.
Im folgenden wird ein System verteilter Speicher dargestellt.
Bild 3 zeigt ein logisches Peer-to-Peer-Netzwerk P2P von verteilten Speichergeräten (S1,...,S5). Jedes der Speichergeräte enthält je eine Datenbank DB. Im Folgenden wird das Zusammenspiel dieser Geräte beschrieben.
Metadaten sind nicht nur geeignet, um als „beschreibende
Metadaten" Audio- und Videomaterial zu beschreiben, sondern ebenso den Status jedes einzelnen vernetzten Gerätes (Status-Metadaten) . Dies schließt ein, daß der Status des gesamten Netzwerkes mit einem speziell definierten Satz von Metadaten beschrieben werden kann. Darüber hinaus können die Nachrichten zum Steuern des gesamten Systems in gleicher Weise als Metadaten interpretiert werden (Steuerungsmetadaten) . Von diesem allgemeinen Standpunkt aus gesehen, unterstützen Metadaten lediglich „Systemeigenschaften": Beschreibende Metadaten unterstützen die Datenwiedergewinnung, Statusmetadaten die Feststellung und Registrierung des Status der Geräte, und Steuerungsmetadaten unterstützen den Ablauf der Prozesse des gesamten Systems. Daher können
alle notwendigen Funktionen bzw. Verfahren zum Verarbeiten von Metadaten in allen Fällen die gleichen sein, wodurch diese Abstraktion der Metadaten alle beteiligten Prozesse vereinfacht. Insbesondere können dieselben Transportmecha- nismen und -protokolle benutzt werden, unabhängig von der Art der Metadaten; lediglich das Speichergerät entscheidet, welche Eigenschaft oder Funktion zu einem empfangenen Metadatum gehört.
Weiterhin sind Systemeigenschaften denkbar, die von denselben Funktionen bzw. Verfahren ermöglicht werden, wie die allgemeine Datenwiedergewinnung. So können z. B. Sequenzen von Steuerungsmetadaten, die eine bestimmte Aufgabe ausführen, entweder durch den Hersteller oder aber auch durch den Benutzer „programmiert" werden und in einfacher Weise von denselben Funktionen gespeichert und verarbeitet werden wie alle anderen Metadaten auch. Außerdem können gespeicherte Sequenzen auch von einer Anwendung durch Versenden einer gewöhnlichen Suchanfrage angefordert werden.
Weiterhin kann ein Gerät den Satz an Steuerungsmetadaten speichern, den es tatsächlich versteht. Dieser Satz kann dann von anderen Anwendungen abgerufen werden, um zu entscheiden, welcher Grad an Interoperabilität zwischen den Geräten möglich ist.
Nun wird das Prinzip eines Peer-to-Peer-Systems verteilter Speicher erläutert.
Das System verteilter Speicher soll, wie schon oben gesagt, ein strikt dezentrales Peer-to-Peer-System sein. Alle Speichergeräte sind demnach gleich befähigt und gleichberechtigt. Die Steuerung in einem solchen System erfolgt
durch an alle Geräte verschickte Nachrichten, wobei die an einem Prozeß beteiligten Geräte dem Sender der Anforderung in definierter Weise antworten. Wenn z. B. eine Anwendung die Abspeicherung eines Datenstroms initiiert, wird zuerst das gesamte System nach freiem Speicherplatz und freier Speichermöglichkeit gefragt. Die Geräte, die die Anforderung prinzipiell erfüllen können, senden ihre Befähigung hierzu in Form einer Nachricht. Nach einem geeigneten Auswahlkriterium, nach dem z.B. alle Aufzeichnungen von Sport- Veranstaltungen soweit wie möglich auf einem Speichergerät oder einer Gruppe von Speichergeräten abzulegen sind, wird der Speicherprozeß eingeleitet.
Folgende zwei hauptsächliche Funktionsweisen des Systems verteilter Speicher werden unterschieden: Zum einen kann eine Anwendung den Speicher, in dem ein Datenstrom abgelegt werden soll, direkt auswählen. Diese Speicherfunktion kann als „Verhalten mit direktem Speicherziel" bezeichnet werden. Wird von der Anwendung kein Speichergerät explizit ausgewählt, so soll das System sich selbst organisieren. In diesem Fall kann von einem „Verhalten als monolithischer Speicher" gesprochen werden; diese Bezeichnung soll ausdrücken, daß die Anwendung in diesem Fall nur einen logisch zusammenhängenden Speicher „sieht". Die letztgenannte Funk- tionsweise entlastet den Benutzer von der Aufgabe, die Speicherziele selbst verwalten zu müssen. Dies soll eine originäre Eigenschaft des Systems sein, und nicht einer Anwendungsebene zugeschlagen werden.
Zur automatischen Auswahl eines Speichergerätes müssen entsprechende Kriterien festgelegt werden. Hier besteht eine große Freiheit bei der Definition der Regeln. Die Bandbreite reicht von einer „chaotischen" Speicherverwaltung,
bei der einfach der „nächste" geeignete freie Speicher ausgewählt wird, bis zu einem Satz von Auswahlregeln, nach denen z. B. alle Sportveranstaltungen soweit wie möglich auf einem Speichergerät oder einer Gruppe von Speicher- geraten abzulegen sind.
Ein einfaches Modell der logischen Ebenen ist das folgende:
Die Funktionsweise des Systems verteilter Speicher basiert auf einem Systemmodell, das unter der Beachtung abstrakter Entwurfsregeln entwickelt wurde. Für einen Überblick über die Funktionsweise des Systems reicht es aus, das System anhand des folgenden sehr einfachen Modells der logischen Ebenen, wie sie sich in einem Speichergerät wiederfinden, zu beschreiben. Ein solches Modell der logischen Ebenen eines Speichergerätes ist in Bild 4 dargestellt. Es umfaßt über der physikalischen Ebene PHY_L eine Netzwerkebene NW_L, z. B. Ethernet, eine Betriebssystemebene OS_L, eine logische Netzwerkebene LNW_L, die in diesem Fall peer-to- peer Technologie benutzt, dann eine Steuermetadatenebene CMD_L und schließlich eine Anwendungsebene APL_L.
Das Speichergerät enthält eine Schnittstelle API zur Anwendungsebene. Allen angeschlossenen Anwendungen, z. B. der digitalen Videoaufzeichnung, wird eine solche Schnittstelle API zur Verfügung gestellt, die sowohl die Funktion „Direktes Speicherziel" als auch die Funktion „Monolithischer Speicher" erlaubt. Für letztere sind geeignete Kriterien zur Auswahl eines speziellen Speichergerätes nötig. Solche Kriterien werden im folgenden beschrieben.
Zunächst kann die Auswahl geordnet oder ungeordnet (chaotisch) erfolgen. Dabei muß das ausgewählte Gerät den
Anforderungen im Hinblick auf Transferdatenrate bzw. Prozessordatenrate entsprechen. Das betrifft ebenso die Anbindung des Gerätes innerhalb des Netzwerks, d.h. die Verbindung zum Gerät. Weiterhin soll das Gerät möglichst ausreichend Speicherkapazität zur Verfügung stellen. Beispielsweise sollte nicht ein kleines portables, temporär angeschlossenes Gerät wie ein Persönlicher Digitaler Assistent (PDA) automatisch ausgewählt werden, um einen Videodatenstrom zu speichern. Da aber nicht immer von Anfang an absehbar ist, wie groß eine zu speichernde Datei wird, sollte verteiltes Speichern einer einzigen Datei (File Splitting) im System möglich sein. Dabei sollte eine Datei in möglichst wenige Teile gespalten werden, d.h. sowohl die theoretisch mögliche wie auch die aktuell verfügbare Speicherkapazität der zur Verfügung stehenden Geräte wird mit der Anforderung verglichen und berücksichtigt. Weitere Kriterien sind das Alter eines Gerätes bzw. seine Einschaltdauer seit einem bestimmten Ereignis, z. B. der letzten Wartung oder Abschaltung. Schließlich kann auch der Nutzer oder ein übergeordneter Nutzer
Prioritäten für die einzelnen Speichergeräte vergeben oder Regeln für eine automatische Auswahl festlegen. Z. B. kann eine höhere Einschaltdauer sowohl' für als auch gegen ein bestimmtes Gerät sprechen, aber eine vom Benutzer festge- legte Regel besagt z. B., daß das älteste Gerät bevorzugt benutzt werden soll, weil es seiner Ansicht nach am verläßlichsten ist.
Aber auch einfache Kriterien können benutzt werden, wie z.B. festgelegte oder statistische Reihenfolgen verschiedener Geräte, Auswahl des am schnellsten eine Anforderung beantwortenden Gerätes oder des Gerätes mit der kürzesten Verbindung zur Datenquelle, Zuordnung von Geräten zu
bestimmten Datentypen, z.B. Videodaten eines bestimmten durch Metadaten angegebenen Genres werden zum gleichen Speichergerät geleitet, oder Benutzung von gleichartigen Geräten, z.B. der Speicher innerhalb eines Videogerätes wird nur für Videodaten auch anderer Quellen benutzt.
Ein Satz von Steuerungsmetadaten ergibt eine Steuerungssprache.
Auf der Ebene der Steuerungsmetadaten in dem Modell von Bild 4 wird das Zusammenspiel der Speichergeräte ermöglicht. Die einzelnen Steuerungsmetadaten haben klar definierte syntaktische Beziehungen zueinander. Sie und ihre Beziehungen sind daher als Steuerungssprache zur Steuerung des Systems verteilter Speicher zu betrachten.
Beispielsweise sind folgende Steuerungsmetadaten definiert worden, um eine Aufforderung zur Übertragung eines Inhaltes einzuleiten und zu befolgen: • DeviceCapabilitiesInfoRequest (Abfrage von Geräte- eigenschaften) • ContentlnfoRequest (Suche nach Inhalten) • InitiateTransferRequest (Initiieren einer Übertragung) • ForwardDataRequest (Einleiten der Übertragung) • Transferstatusinformation (Information über den Status der Übertragung)
Die entsprechenden Antworten ( „Responses") sind hier der Einfachheit halber weggelassen worden.
Aufforderungen sollen von einem Speichergerät nach ver- schiedenen Gesichtspunkten bearbeitet werden. So sollen Aufforderungen immer soweit wie möglich nach der Reihe ihres Empfangs „abgearbeitet" werden. Des weiteren können
die empfangenen Aufforderungen aber auch unterschiedliche Prioritäten aufweisen, und natürlich können auch Engpässe auftreten. Um diese Konflikte und Engpässe beherrschen zu können, sind ebenfalls Steuerungsmetadaten festgelegt worden.
Die Speichergeräte sollen zu einem beliebigen Zeitpunkt in das Netzwerk aufgenommen oder auch aus ihm herausgenommen werden können. Um diese Eigenschaft zu unterstützen, sind ebenfalls Steuerungsmetadaten definiert worden, wie beispielsweise: • DepartRequest (Aufforderung zum Verlassen des Netzwerks) • Departlnfor ation (Information über das Verlassen des Netzwerks)
Das System stellt ein logisches Netzwerk verteilter Speicher dar und soll ein Peer-to-Peer-System sein, das unabhängig von den zugrundeliegenden logischen Netzwerk- ebenen und der Softwareplattform der Speichergeräte ist.
Weiterhin kann die Erfindung als ein sogenanntes „Benutzerzonenkonzept" („Owner Zone Concept") realisiert werden: Eine „Owner Zone" stellt ein nach außen hin abgeschlossenes Benutzernetzwerk dar, das auch die mobilen Geräte des Eigentümers umfassen kann. Das Konzept sieht die Kommunikationsmöglichkeit zwischen verschiedenen „Owner Zones" vor. Damit nur ein geringstmöglicher Verwaltungsaufwand nötig ist, müssen Geräte, die mit einer „Owner Zone" verbunden werden, dieser „Owner Zone" selbständig logisch beitreten können. Eine vielversprechende Technologie, die es erlaubt, solch ein System zu realisieren, wird zur Zeit vom Projekt JXTA entwickelt.
Bild 5 zeigt eine "Owner Zone", die als logisches JXTA- Netzwerk gebildet wird. Auf einer logischen Ebene bilden die Speichergeräte N1,...,N5 unter Verwendung des JXTA Protokolls ein virtuelles Netzwerk, während die einzelnen Knoten auf der physikalischen Ebene z.B. das TCP/IP Protokoll benutzen.
JXTA ist ein Satz von Protokollen, gemäß denen XML-strukturierte Nachrichten ausgetauscht werden. Der Nachrichten- austausch dient anfänglich der Initiierung von JXTA-Peer- gruppen und im weiteren Verlauf der Bekanntgabe von Diensten, die Peers jeweils anderen Peers gegenüber bereitstellen oder einfordern. So bietet z. B. ein Peer, der die Möglichkeit zum Dateiaustausch bereitstellt, einen zugehö- rigen Dienst an. Außerdem erleichtert JXTA durch die
Definition von Peergruppen die Bildung von Owner Zones. Auch das JXTA-Konzept sieht einen Austausch von XML- strukturierten Nachrichten vor, die hier „Advertisements" genannt werden. Mit Advertisements werden die Dienste und Funktionseinheiten im JXTA-Netzwerk beschrieben.
JXTA beinhaltet eine Reihe von Protokollen, deren hierarchische Anordnung in drei Schichten L1,L2,L3 in Bild 6 dargestellt ist. Auf der ersten Ebene wird das „Peer Discovery Protocol" PDPr verwendet, um Ankündigungen (Advertisements) zu verteilen und zu entdecken. Das „Peer Information Protocol" PIPr unterstützt Peers bei der Sammlung von Informationen über den Zustand anderer Peers und des Netzwerks. Das „Pipe Binding Protocol" PBPr wird angewendet, um sogenannte „Pipes" als Verbindungen zum Datenaustausch zwischen Peers herzustellen. Das „Peer Resolver Protocol" PRPr der zweiten Ebene L2 stellt ein generisches Format zur Kommunikation zwischen Peers mit Anfragen und Antworten
bereit. Das „Rendezvous Protocol" RPr auf der dritten Ebene L3 ermöglicht die Nutzung eines Netzwerkknotens als Vermittlungsstelle.
Eine erfindungsgemäße Vorrichtung ermöglicht die beschriebene Konzeption eines Peer-to-Peer-Netzwerkes von verteilten Speichergeräten. Um den gespeicherten Inhalt handhaben zu können, sollen die mit den Audio-, Video-, aber auch anderen Daten ausgesendeten Metadaten genutzt und mit Datenbanken, die in die Speichergeräte integriert werden, verwaltet werden. Die Metadaten, die mit dem zugehörigen Speicherinhalt verknüpft sind, können dann unter anderem zum Zwecke der Datenwiedergewinnung durchsucht werden.
Das Speichersystem soll den angeschlossenen Anwendungen im wesentlichen zwei Funktionen bereitstellen: zum einen die Möglichkeit, ein Gerät zum Abspeichern aus dem Netzwerk direkt auswählen zu können, und zum anderen soll sich das System auch selbständig organisieren können, um so den Benutzer von dieser Aufgabe zu entlasten. Der Ablauf basiert dabei auf einem Frage-und-Antwort-Spiel: Eine Anwendung, die eine Anforderung hat, sendet eine Anfrage an alle vernetzten Speichergeräte. Die Geräte, die diese Anforderung erfüllen können, sind zu einer entsprechenden Antwort verpflichtet. Die Daten, die hierzu verschickt werden, haben für diese Prozesse dieselbe Bedeutung und auch dieselbe (XML-) Struktur wie die den Inhalt beschreibenden Metadaten. Somit können für alle Nachrichten dieselben Funktionseinheiten verwendet werden. Wenn das System mit Hilfe von JXTA-Protokollen realisiert wird, die ebenfalls auf XML-strukturierten Nachrichten beruhen, ist es weitgehend unabhängig von der zugrundeliegenden Netzwerktechnologie .
Die automatische Verwaltung der Speichergeräte beinhaltet auch die Funktion der Systemwiederherstellung. Ein weiterer wichtiger Punkt ist das formatunabhängige Speichern, das auch ein Aufspalten von Datenströmen beinhaltet.
Alle Daten, mediale Daten wie Audio- und Videodaten sowie auch Spieledaten und Dokumente werden durch beschreibende („descriptive") Metadaten beschrieben.
Dokumente sind meist textuelle Daten, die nach einzelnen Zeichenketten durchsucht werden können. Die Annahme ist, daß wenn eine Zeichenkette in einem Dokument vorgefunden wird, die Wahrscheinlichkeit groß ist, daß es sich um das gesuchte Dokument handelt.
A sei ein Ähnlichkeitsmaß mit den folgenden Eigenschaften: A (Input-Zeichenkette, Dokument) = 1 dann und nur dann, wenn mindestens eine Zeichenkette in dem Dokument vorhanden ist, die der Input-Zeichenkette entspricht. A (Input-Zeichenkette, Dokument) = 0 dann und nur dann, wenn keine Zeichenkette in dem Dokument vorhanden ist, die der Input-Zeichenkette entspricht.
Wenn N Dokumente nach einer Zeichenkette "Input-Zeichenkette" entsprechend dem Ähnlichkeitsmaß A durchsucht werden sollen, ergibt sich folgende Programmschleife (in quasi C- Notation)
for {n==l, n+1, N} { if { A (Input-Zeichenkette, Dokumentn) = 1 } then {
print ( "Zeichenkette in Dokument", n, "gefunden"); } }
Für audiovisuelle („mediale") Daten und auch für Spieledaten existiert weder die Möglichkeit, einen entsprechenden Suchbegriff als Zeichenkette zu definieren, noch existieren allgemeingültige Ähnlichkeitsmaße, mit denen eine Suche durchgeführt werden kann.
Als Beispiel zur Verdeutlichung kann der Wunsch dienen, nach einem Bild mit "dem abgebildeten roten Ferrari, der quietschend über den nächtlichen Boulevard fährt" zu suchen. Bisher existiert zumindest kein einfaches Verfah- ren, mit dem dieser Suchwunsch realisiert werden kann. Weder existiert eine geeignete maschinenverständliche Beschreibungsmöglichkeit des Wunsches noch ein angemessenes Ähnlichkeitsmaß .
Ein Ausweg ist, die medialen Daten und Spieledaten mit textuellen beschreibenden Metadaten zu versehen, und diese Metadaten anstelle der eigentlichen medialen- und Spieledaten entsprechend der oben angeführten Methode mit Hilfe eines textuellen Ähnlichkeitsmaßes zu durchsuchen.
Um diese textuellen beschreibenden Metadaten unter Systemen mit beliebiger Betriebssystem- und Softwareplattform austauschen zu können, werden die beschreibenden Metadaten XML-strukturiert .
Speichergeräte müssen im Allgemeinen daher nicht nur die medialen Daten und Spieledaten speichern, sondern auch die zugehörigen beschreibenden Metadaten. Um die Durchsuchung
der Metadaten zu beschleunigen, werden in die Speichergeräte Datenbanken integriert, um die XML-strukturierten Metadaten zu verwalten. Diese integrierten Datenbanken können nicht nur benutzt werden, um die beschreibenden Metadaten zu speichern, sondern auch Zwischenergebnisse von Suchanfragen, immer wiederkehrende Abläufe und auch Benutzervorlieben, soweit entsprechende benutzerbezogene Daten zur Verfügung stehen und "gesammelt" werden können.
Damit ein Speichergerät die gespeicherten Metadaten durchsuchen kann, können Suchanfragen gestellt werden. Zweckmäßigerweise handelt es sich dabei um Nachrichten an das Speichergerät, die ebenfalls XML strukturiert sind. Soll das Speichergerät ferngesteuert werden, können ebenso alle anderen Steuerbefehle, wie zum Beispiel "abspielen des Filmes Indiana Jones und die Legende der Kaisergruft" XML- strukturiert werden. Auf diese Weise ist ein von der Realisierungs- und Softwareplattform unabhängiger Betrieb möglich.
Die Datenbank zur Speicherung der beschreibenden Metadaten kann ebenso dazu benutzt werden, alle von einem Speichergerät interpretierbaren Befehle zu speichern, die von einer Anwendung, zum Beispiel einem Wiedergabegerät, abgerufen werden können, um den Umfang der möglichen Interaktionen feststellen zu können oder auch nur, um dem aktuellen Befehlssatz zu ermitteln.
Wenn XML-Speichergeräte vernetzt werden, kann die gesamte Steuerung des Zusammenspiels des Netzwerkes durch Austausch von XML-strukturierten Nachrichten erfolgen, wie auch die Suche nach gespeicherten Inhalten mittels XML-strukturierten Anfragen nach gespeichertem Inhalt erfolgt.
In jedes der vernetzen, erfindungsgemäß arbeitenden Speichergeräte ist eine XML-Datenbank, d.h. eine Datenbank die XML-Dokumente verwalten kann, integriert. Alle im System ausgetauschten Nachrichten, wie z. B. zum Steuern des Zusammenspiels der Speichergeräte, aber auch die Suchanfragen an die einzelnen Speichergeräte, sind gleichartig strukturiert, z. B. XML.
Die ausgetauschten Nachrichten zwischen den Speichergeräten können Suchanfragen oder Steuerungsnachrichten in beliebiger Reihenfolge sein.
Zum Transport, Abspeichern und Auswerten der XML-struktu- rierten Nachrichten können dieselben technischen Mittel und Protokolle benutzt werden.
Die integrierten Datenbanken der Speichergeräte können auch zu folgenden Zwecken benutzt werden:
Sie können den ausführbaren Befehlssatz eines Speichergerätes abspeichern, der von anderen Speichergeräten des Netzwerkes abgerufen werden kann, um den Grad der Interopera- bilität, oder der möglichen Zusammenarbeit, zu ermitteln.
Sie können im laufenden Betrieb die Systemabläufe abspeichern, um so gegebenenfalls eine Optimierung der Systemabläufe zu ermöglichen bzw. zu unterstützen. Sie können den laufenden Systembetrieb aufzeichnen und so gegebenenfalls Suchanfragen beschleunigt beantworten.
Sie können außerdem den Zustand des Netzwerkes bzw. jedes einzelnen Gerätes ermitteln, so daß anhand dieser gespeicherten Daten der Systemzustand nach einer Betriebsunterbrechung wiederhergestellt werden kann.
Sie können auch komplexe, immer wiederkehrende Steuerabfolgen einzelner Anwendungen oder Benutzer, oder auch Systemprogrammierungen der Benutzer abspeichern.