-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich auf Netzwerke drahtloser Vorrichtungen.
Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren
zum aktiven Suchen nach Informationen, die in einem solchen Netzwerk
gespeichert sind.
-
Hintergrund
der Technik
-
Ein
Ad-hoc-Netzwerk umfasst allgemein eine Anzahl von mobilen Vorrichtungen
(oder Knoten), die üblicherweise
miteinander unter Verwendung einer Art eines drahtlosen Signals
kommunizieren. Die Arten von drahtlosen Signalen, die verwendet
werden, können
Folgende umfassen, sind jedoch nicht auf dieselben beschränkt: Infrarotsignale
und Hochfrequenzsignale (HF-Signale), die Kurzwelle umfassen, Bluetooth
und IEEE 802.11.
-
Aufgrund
ihrer Mobilität
bewegen sich die Knoten in einem Ad-hoc-Netzwerk kontinuierlich
in und aus einem Kommunikationsbereich mit anderen Knoten. Somit
ist die Topologie eines solchen Netzwerks dynamisch und zeitlich,
da zwei Knoten in dem Kommunikationsbereich zu einem Zeitpunkt nicht
zu einer späteren
Zeit im Kommunikationsbereich sein können.
-
Aufgrund
ihres dynamischen Wesens kann das Suchen nach und Wiedergewinnen
von Informationen, die in dem Ad-hoc-Netzwerk residieren, problematisch sein.
Dieses Problem ist durch 1 gemäß dem Stand der Technik dargestellt.
-
1 gemäß dem Stand
der Technik stellt ein Ad-hoc-Netzwerk
dar, das aus den Knoten 3, 2, 6, 7 und 8 besteht.
-
Wie
dargestellt ist, können
die Knoten 7 und 8 direkt kommunizieren, sowie
auch die Knoten 6 und 7, Knoten 3 und 7,
Knoten 2 und 6 und Knoten 2 und 3.
Zusätzlich
dazu kann Knoten 8 z. B. indirekt mit Knoten 3 z.
B. über
Knoten 7 kommunizieren. Die anderen Knoten (1, 4, 5, 9, 10 und 11 sind
nicht innerhalb eines Kommunikationsbereichs von einem der Knoten 2, 3, 6, 7 oder 8.
-
Ein
Problem tritt z. B. auf, wenn Knoten 8 versucht, Informationen
aus einem der Knoten 2, 3, 6 oder 7 wiederzugewinnen.
Ein beliebiger dieser Knoten kann sich zu jeglicher Zeit aus dem
Kommunikationsbereich bewegen, was bedeutet, dass Knoten 8 nicht
mehr in der Lage wäre,
Informationen aus denselben wiederzugewinnen. Knoten, die mehr als
einen „Sprung" weg von Knoten 8 sind
(z. B. Knoten 2, 3 oder 6), können sich
in den und aus dem Bereich bewegen, ohne dass es Knoten 8 bemerkt.
Somit kann eine Meldung von Knoten 8, die für Knoten 2 gedacht
ist, Knoten 2 z. B. erreichen oder auch nicht. Wenn die
Meldung von Knoten 8 Knoten 2 tatsächlich erreicht,
dann können
sich Knoten 2 oder Knoten 8 (oder einer der dazwischenliegenden
Knoten 3, 6 oder 7) in der Zwischenzeit
aus dem Kommunikationsbereich bewegen, was die Kommunikationsverknüpfung zwischen
Knoten 2 und 8 verstärkt, bevor Knoten 2 antworten
kann. Zusätzlich
dazu ist möglicherweise
nicht jedem Knoten ein eindeutiger Identifizierer zugeordnet, und
so ist es allgemein nicht möglich,
eine Meldung (oder Antwort) zu einem bestimmten Knoten zu senden
(z. B. Knoten 8) oder eine Antwort auf eine Abfrage zurück entlang
demselben Weg zu senden, den sich die Abfrage bewegt hat.
-
Ein ähnliches
Problem tritt auf, wenn Knoten 8 z. B. Informationen sucht,
die auf Knoten 1 residieren. Bei dem Beispiel aus 1 gemäß dem Stand der
Technik sind Knoten 1 und 8 nicht in dem Kommunikationsbereich.
Ferner ist keiner der Knoten in dem Ad-hoc-Netzwerk (z. B. Knoten 2, 3, 6 und 7)
in der Lage mit Knoten 1 zu kommunizieren, so dass ein Kommunikationsweg
von Knoten 8 zu Knoten 1 nicht eingerich tet wird.
Es ist jedoch möglich,
dass zu einem zukünftigen
Zeitpunkt ein Kommunikationsweg zwischen Knoten 1 und 8 eingerichtet
werden kann, vielleicht über
einen oder mehrere Sprünge über dazwischenliegende
Knoten. Trotzdem sollte Knoten 8 eine Meldung zu Knoten 1 gelingen,
könnte
es für Knoten 1 trotzdem
nicht möglich
sein, Knoten 8 zu antworten, wie oben erklärt ist.
Tatsächlich,
wenn er von Knoten 8 mehrere Sprünge entfernt ist, weis Knoten 1 wahrscheinlich
nicht, dass Knoten 8 der informationssuchende Knoten ist,
und daher weis Knoten 1 nicht, wohin eine Antwort gerichtet
werden soll.
-
Daher
ist im Allgemeinen das Suchen nach und Wiedergewinnen von Informationen,
die in einem Ad-hoc-Netzwerk residieren, schwierig, da sich Kommunikationswege
zwischen Knoten kontinuierlich ändern.
Ein Kommunikationsweg, der vorhanden war, als eine Suche nach einem
Informationselement initiiert wurde, ist vielleicht zu der Zeit
nicht mehr vorhanden, zu der das Informationselement lokalisiert
wird. Ferner weis ein Knoten, der das gesuchte Informationselement
hat, vielleicht nicht einmal, wohin die Informationen gesendet werden
sollen. Dementsprechend wird ein Verfahren benötigt, das die Suche nach und
Wiedergewinnung von Informationen ermöglichen kann, die in einem
Ad-hoc-Netzwerk residieren. Was ebenfalls benötigt wird ist ein Verfahren, das
diesen Bedarf erfüllen
kann, ohne die Mobilität der
Knoten zu behindern, die das Ad-hoc-Netzwerk bilden. Die vorliegende
Erfindung liefert eine neue Lösung
für diese
Bedürfnisse.
-
Die
EP 0 993 163 A1 offenbart
ein System und ein Verfahren zum Ermöglichen, dass eine Datenpaketverteilung
durch eine Mehrzahl von Partner-Klienten ausgeführt wird, die miteinander durch ein
Netzwerk verbunden sind, wie z. B. ein LAN (local area network;
lokales Netz). Jeder Partnerklient kann Datenpakete von jedem anderen
oder von einem externen Server erhalten. Jeder Partnerklient erhält vorzugsweise Datenpakete
von anderen Partnerklienten und erhält nicht Datenpakete von dem
externen Server.
-
Die
WO 01/15374 A1 offenbart ein Verfahren zum Übertragen drahtloser Meldungen
in einem Kommunikationssystem mit einer Mehrzahl von Sende/Empfangs-Einheiten
zum Empfangen und Weiterübertragen
drahtloser Meldungen. In einem ersten Modus des Systems werden Meldungen
von einem ersten Sender zu einem Zielempfänger durch eine sequentielle Übertragung über zumindest
eine Sende/Empfangs-Einheit übertragen.
In einem zweiten Modus wird eine drahtlose Meldung, die Informationen
enthält,
die einen Zielempfänger
identifizieren, von einem ersten Sender übertragen. Der Zielempfänger überträgt ein Bestätigungssignal
ansprechend auf den Empfang der Meldung, und zumindest eine der
Sende/Empfangs-Einheit überträgt die Meldung, wenn
diese Einheit nicht innerhalb einer vorbestimmten Periode das Bestätigungssignal
oder die Übertragung
der Meldung durch eine vorbestimmte andere Sende/Empfangs-Einheit
erfasst.
-
Die
WO 98/39936 A2 offenbart ein zelluläres Netzwerk, das eine Mehrzahl
von mobilen Stationen und eine Mehrzahl von Basisstationen aufweist.
Die Basisstationen sind so angeordnet, dass jede Basisstation eine
Zone einer effektiven Abdeckung aufweist, die nicht mit den Zonen
der effektiven Abdeckung von benachbarten Basisstationen überlappt, wodurch
Zonen reduzierter Abdeckung zwischen den Basisstationen gelassen
werden. Wenn eine Senderstation, die außerhalb der Zone der effektiven
Abdeckung einer bestimmten Basisstation ist, eine Meldung zu dieser
Basisstation senden möchte,
wird die Meldung durch eine andere mobile Station zu der Zielortbasisstation
weitergeleitet. Die weiterleitende Station kann innerhalb der Zone
der effektiven Abdeckung oder in der Zone einer reduzierten Abdeckung der
Zielortbasisstation angeordnet sein. Die Senderstation, die Zielortstation
und die weiterleitende(n) Station(en) können alle mobile Stationen
sein, die in Zonen reduzierter Abdeckung angeordnet sind. In den
Zonen reduzierter Abdeckung werden Ressourcen, wie z. B. Sendeleistung,
Sendezeitschlitze und Frequenzkanäle auf einer reduzierten Basis
eingesetzt, wodurch die Ressourcen zwischen den Stationen effektiv
gemeinschaftlich verwendet werden.
-
Die
WO 98/17032 A1 offenbart ein drahtloses Parter-zu-Partner- bzw. Punkt-zu-Punkt-,
Fähigkeits-adressierbares
Netzwerk. Das Netzwerk berücksichtigt
jegliche Anzahl von Partner. Netzwerkverbindungen werden basierend
auf der Nähe
zwischen Partnern und auf einer Bedarfs- und Fähigkeits-Bewertung gebildet. Netzwerke unterstützen drei
Klassifizierungen von Dienstfähigkeiten: Dienstanforderung,
Dienstbereitstellung und Dienstweiterleitung. Drahtlose Kommunikationen
treten bei ausreichend niedriger Leistung auf, um eine Erfassungszone
von weniger als fünf
Metern für
viele Partner zu bilden.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zu schaffen,
das ermöglicht, dass
Informationen, die in drahtlosen Vorrichtungen eines Ad-hoc-Netzwerks
mit einer Mehrzahl von Knoten ohne zugeordnete eindeutige Adresse
residieren, durch einen Knoten gesucht und von dem Knoten wiedergewonnen
werden, unabhängig
von der dynamischen Topologie des Ad-hoc-Netzwerks.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
-
Offenbarung
der Erfindung
-
Ausführungsbeispiele
der vorliegenden Erfindung beziehen sich auf ein Verfahren von gerichteten
Informationen, die in einem Ad-hoc-Netzwerk eingeholt werden. Bei
dem vorliegenden Ausführungsbeispiel
wird eine Meldung, die das gesuchte Informationselement identifiziert
und eine Adresse für
ein Informations-Lager bzw. -Depot an einem ersten Knoten erzeugt.
Im Allgemeinen ist das Informationslager ein zentraler Ort, der
ohne Weiteres zugreifbar ist. Ein zweiter Knoten empfängt die
Inhalte dieser Meldung und antwortet mit den Informationselement, wenn
das Element verfügbar
ist. Ansonsten breitet der zweite Knoten die Meldung zu anderen
Knoten aus. Die Meldung wird von Knoten zu Knoten ausgebreitet,
bis sie einen Knoten erreicht, der das gesuchte Informationselement
aufweist. Wenn dieser Knoten eine Verbindung zu dem Informationslager
herstellen kann, sendet er das Informationselemente zu der Adresse,
die in der Meldung spezifiziert ist. Ansonsten fügt der Knoten das Informationselement
der Meldung hinzu, die zu anderen Knoten ausgebreitet wird, bis
die Meldung einen Knoten mit der Fähigkeit erreicht, eine Verbindung
mit dem Informationslager herzustellen. Dieser Knoten sendet die
Informationen zu der Adresse, die in der Meldung spezifiziert ist. Der
Urherber der Meldung kann dann das Informationselement wiedergewinnen
durch Zugreifen auf das Lager unter Verwendung jeglicher Vorrichtung
mit der Fähigkeit,
eine Verbindung mit dem Lager herzustellen.
-
Bei
einem Ausführungsbeispiel
ist das Informationslager eine Website und die Adresse ist eine Web-basierte
Adresse, wie z. B. ein Uniform Ressource Locator (einheitlicher
Ressourcenlokalisator). Bei diesem Ausführungsbeispiel können Knoten
mit Internetzugriff die gesuchten Informationen zu der Website senden
und der Urheber der Meldung kann die Informationen durch Zugreifen
auf die Website unter Verwendung jeglicher Vorrichtung mit Internetzugriff
wiedergewinnen.
-
Kurze Beschreibung
der Zeichnungen
-
Die
beiliegenden Zeichnungen, die integriert sind und einen Teil dieser
Beschreibung bilden, stellen Ausführungsbeispiele der Erfindung
dar, und dienen zusammen mit der Beschreibung zum Erklären der
Prinzipien der Erfindung:
-
1 gemäß dem Stand
der Technik stellt Knoten in einem Ad-hoc-Netzwerk dar.
-
2 ist
ein Blockdiagramm einer exemplarischen, drahtlosen Vorrichtung (Knoten),
an der Ausführungsbeispiele
der vorliegenden Erfindung praktiziert werden können.
-
3A und 3B stellen
Knoten in einem Ad-hoc-Netzwerk gemäß ei nem Ausführungsbeispiel
der vorliegenden Erfindung dar.
-
4 ist
ein Flussdiagramm, das ein Verfahren zeigt, bei dem eine Meldung
erzeugt und durch ein Ad-hoc-Netzwerk
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung ausgebreitet wird.
-
5 ist
ein Flussdiagramm, das ein Verfahren zeigt, bei dem Knoten auf eine
Meldung antworten, die durch ein Ad-hoc-Netzwerk ausgebreitet wird,
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
Beste Ausführung der
Erfindung
-
Es
wird nun detailliert Bezug auf die bevorzugten Ausführungsbeispiele
der Erfindung genommen, wobei Beispiele derselben in den beiliegenden Zeichnungen
dargestellt sind. Während
die Erfindung in Verbindung mit den bevorzugten Ausführungsbeispielen
beschrieben wird, ist verständlich,
dass sie nicht vorgesehen sind, um die Erfindung auf diese Ausführungsbeispiele
einzuschränken.
Im Gegensatz dazu soll die Erfindung Alternativen, Modifikationen
und Entsprechungen abdecken, die in dem Schutzbereich der Erfindung
umfasst sein können, wie
durch die beiliegenden Ansprüche
definiert wird. Ferner werden in der nachfolgenden, detaillierten
Beschreibung der vorliegenden Erfindung zahlreiche spezifische Details
ausgeführt,
um ein tiefgreifendes Verständnis
der vorliegenden Erfindung zu liefern. Es ist jedoch für einen
Durchschnittsfachmann auf dem Gebiet offensichtlich, dass die vorliegende
Erfindung ohne diese spezifischen Details praktiziert werden kann.
In anderen Fällen
wurden bekannte Verfahren, Vorgänge,
Komponenten und Schaltungen nicht detailliert beschrieben, um Aspekte
der vorliegenden Erfindung nicht unnötig zu verdecken.
-
Es
sollte jedoch beachtet werden, dass alle diese und ähnliche
Ausdrücke
den entsprechenden physischen Quantitäten zugeordnet sein sollen
und nur geeignete Etiketten sind, die diesen Quantitäten angehaftet
sind. Außer
dies ist spezifisch anderweitig angegeben, wie aus den nachfolgenden
Erörterungen
offensichtlich ist, wird darauf hingewiesen, dass durch die vorliegende
Anmeldung hindurch Erörterungen
unter Verwendung von Ausdrücken,
wie z. B. „empfangen", „erzeugen", „lesen", „senden", „ausbreiten" oder ähnlichem
sich auf die Aktionen und Prozesse eines Computersystems oder einer ähnlichen,
elektronischen Rechenvorrichtung beziehen. Das Computersystem oder
eine ähnliche,
elektronische Rechenvorrichtung manipuliert und transformiert Daten,
die als physische (elektronische) Quantitäten innerhalb der Register
und Speicher des Computersystems dargestellt sind, in andere Daten,
die auf ähnliche
Weise als physische Quantitäten
in den Speichern oder Registern des Computersystems dargestellt
sind oder in anderen solchen Informations-Speicher-, -Sende-, oder
-Anzeige-Vorrichtungen. Ausführungsbeispiele
der vorliegenden Erfindung sind ebenfalls gut geeignet für die Verwendung von
anderen Computersystemen, wie z. B. von optischen und mechanischen
Computern.
-
2 ist
ein Blockdiagramm eines Ausführungsbeispiels
einer drahtlosen Vorrichtung 200, auf der Ausführungsbeispiele
der vorliegenden Erfindung implementiert sein können. Die drahtlose Vorrichtung 200 kann
ein PDA (persönlicher
digitaler Assistent), eine PID (persönliche Informati onsvorrichtung),
ein Palmtop, ein handgehaltenes Computersystem oder Ähnliches
sein. Die drahtlose Vorrichtung 200 kann ebenfalls ein
Mobiltelefon (Zellulartelefon) oder eine ähnliche Vorrichtung sein. Die
drahtlose Vorrichtung 200 kann mobil sein, obwohl Ausführungsbeispiele
der vorliegenden Erfindung mit Vorrichtungen praktiziert werden
können,
die nicht mobil sind oder die stationär sind.
-
Die
drahtlose Vorrichtung 200 umfasst einen Adress/Daten-Bus 240 zum
Kommunizieren von Informationen, einen zentralen (Haupt-) Prozessor 250,
der mit dem Bus 240 zum Verarbeiten von Informationen und
Anweisungen gekoppelt ist, einen flüchtigen Speicher 210 (z.
B. Direktzugriffsspeicher, RAM), der mit dem Bus 240 zum
Speichern von Informationen und Anweisungen für den Hauptprozessor 250 gekoppelt
ist, und einen nichtflüchtigen
Speicher 230 (Nur-Lese-Speicher,
ROM), der mit dem Bus 240 zum Speichern statischer Informationen
und Anweisungen für
den Hauptprozessor 250 gekoppelt ist. Die drahtlose Vorrichtung 200 umfasst
ferner eine optionale Datenspeichervorrichtung 290 (z.
B. eine Secure-Digital-Karte oder eine Muli Media Card), die mit dem
Bus 240 zum Speichern von Informationen und Anweisungen
gekoppelt ist. Die Vorrichtung 290 kann entfernbar sein.
Die drahtlose Vorrichtung 200 enthält ferner eine Anzeigevorrichtung 205,
die mit dem Bus 240 zum Anzeigen von Informationen an den
Benutzer gekoppelt ist.
-
Bei
dem vorliegenden Ausführungsbeispiel umfasst
die drahtlose Vorrichtung 200 eine Kommunikationsschaltungsanordnung 220,
die mit dem Bus 240 gekoppelt ist. Bei einem Ausführungsbeispiel
ist die Kommunikationsschaltungsanordnung 220 ein universales,
asynchrones Sender-Empfänger-Modul (UART-Modul;
UART = universal asynchronous receiver-transmitter), das die Sende-
und Empfangs-Schaltungen liefert, die für eine serielle Kommunikation
sowohl für
den seriellen Port 270 als auch den Infrarotport 264 erforderlich
sind. Der Infrarotport 264 liefert die Fähigkeit
für eine
drahtlose Kommunikation unter Verwendung eines Infrarotsignals.
-
Bei
einem Ausführungsbeispiel
umfasst die drahtlose Vorrichtung 200 ein Funk-Sende-Empfangs-Gerät 208,
das dieselbe mit der Fähigkeit
für eine
drahtlose Kommunikation unter Verwendung einer drahtlosen Hochfrequenz-
(HF-) Kommunikationsverknüpfung
versieht, die zwischen der drahtlosen Vorrichtung 200 und
anderen Vorrichtungen eingerichtet ist, unter Verwendung von einem
der verschiedenen HF-Protokolle und -Standards. Bei diesem Ausführungsbeispiel
umfasst die Kommunikationsschaltungsanordnung 220 ferner
einen digitalen Signalprozessor (DSP; digital signal processor) 222 zum
Verarbeiten von Daten, die übertragen
werden sollen, oder Daten, die empfangen werden sollen, über das
Funk-Sende-Empfangs-Gerät 208.
Es wird darauf hingewiesen, dass das Funk-Sende-Empfangs-Gerät 208 in
die drahtlose Vorrichtung 200 integriert sein kann, oder
dass das Funk-Sende-Empfangs-Gerät 208 eine
separate Komponente sein kann, die mit der drahtlosen Vorrichtung 200 z.
B. unter Verwendung eines seriellen Ports 270 gekoppelt ist.
-
Ferner
ist in der drahtlosen Vorrichtung 200 eine optionale, alphanumerische
Eingabevorrichtung 106 umfasst, die bei einer Implementierung
ein Handschrifterkennungsfeld („Digitalisierer") ist. Die alphanumerische
Eingabevorrichtung 206 kann Informationen und Befehlsauswahlen
zu dem Hauptprozessor 250 über den Bus 240 kommunizieren.
Bei einer Implementierung ist die alphanumerische Eingabevorrichtung 206 eine
Berührungsbildschirmvorrichtung.
Die alphanumerische Eingabevorrichtung 206 ist in der Lage,
eine Position zu registrieren, wo ein Stiftelement (nicht gezeigt)
einen Kontakt herstellt.
-
Die
drahtlose Vorrichtung 200 umfasst ferner eine optionale
Cursorsteuerungs- oder Richtungs-Vorrichtung (Auf-Bildschirm-Cursorsteuerung 280),
die mit dem Bis 240 zum Kommunizieren von Benutzereingabeinformationen
und Befehlsauswahlen zu dem Hauptprozessor 250 gekoppelt
ist. Bei einer Implementierung ist eine Auf-Bildschirm-Cursorsteuervor richtung 280 eine
Berührungsbildschirmvorrichtung,
die in die Anzeigevorrichtung 205 eingelagert ist. Die
Auf-Bildschirm-Cursorsteuervorrichtung 280 ist
in der Lage, eine Position auf einer Anzeigevorrichtung 205 zu
registrieren, wo ein Stiftelement einen Kontakt herstellt. Die Anzeigevorrichtung 205,
die mit der drahtlosen Vorrichtung 200 verwendet wird,
kann eine Flüssigkristallanzeigevorrichtung (LCD-Vorrichtung;
LCD = liquid crystal display), eine Kathodenstrahlröhre (CRT;
cathode ray tube), ein Feldemissionsanzeigevorrichtung (auch genannt eine
Flach-Feld-CRT),
oder eine andere Anzeigevorrichtung sein, die zum Erzeugen graphischer
Bilder und alphanumerischer Zeichen geeignet ist, die für den Benutzer
erkennbar sind.
-
Bei
einem Ausführungsbeispiel
wird die drahtlose Vorrichtung 200 als eine Sensorvorrichtung verwendet,
die einen optionalen Sensor 285 einlagert, der mit dem
Bus 240 gekoppelt ist. Bei diesem Ausführungsbeispiel ist der Sensor 285 zum
Erfassen (Messen) eines Zustands außerhalb der Vorrichtung (z.
B. Temperatur). In dem Kontext dieses Ausführungsbeispiels der vorliegenden
Erfindung jedoch wird die Definition der drahtlosen Vorrichtung 200 als eine
Sensorvorrichtung ausgedehnt, um eine Eingabe von einem Benutzer
als eine Sensoreingabe zu umfassen. Eine solche Eingabe von einem
Benutzer kann die Form einer textbasierten Messung annehmen, die
geparsed oder anderweitig in eine Meldung integriert werden kann,
z. B. unter Verwendung einer Extensible Markup Language (XML; erweiterbare Markierungssprache).
Eine Benutzereingabe kann auch die Form einer Antwort auf spezifische
Fragen annehmen, ähnlich
zu einer Umfrage oder einer statistischen Erhebung, in der der Benutzer
Eingaben dadurch liefert, dass eine Auswahl aus einer Anzahl von
angebotenen Auswahlmöglichkeiten
getroffen wird. Zusätzlich
dazu kann die Benutzereingabe Informationen oder Daten sein, die
in einem Speicher residieren, der unter Verwendung bekannter Suchtechniken
oder Suchmaschinen durchsuchbar ist. Obwohl diese Formen einer Benutzereingabe
als Beispiele geboten werden, ist verständlich, dass andere Eingabetypen
gemäß den verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden können.
-
3A und 3B stellen
Knoten in einem Ad-hoc-Netzwerk gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung dar. Knoten 31–39 sind durch die
drahtlose Vorrichtung 200 aus 2 beispielhaft
gezeigt, obwohl darauf hingewiesen wird, dass auch andere Vorrichtungstypen
verwendet werden können.
-
Bei
einem Ausführungsbeispiel
wird die vorliegende Erfindung beispielhaft unter Verwendung der
Darstellungen aus 3A und 3B beschrieben.
Zuerst Bezug nehmend auf 3A sucht
Knoten 38 Informationen, die nur auf Knoten 31 residieren,
aber Knoten 38 weis nicht, ob Knoten 31 (oder einer
der anderen Knoten) die gesuchten Informationen hat. Gemäß dem vorliegenden
Ausführungsbeispiel
der vorliegenden Erfindung erzeugt Knoten 38 eine Meldung,
die das Informationselement identifiziert, das gesucht wird. Bei
einem Ausführungsbeispiel
ist die Meldung eine Abfragemeldung, wie weiter nachfolgend in Verbindung
mit 5 erklärt
wird. Ferner identifiziert gemäß dem vorliegenden
Ausführungsbeispiel
der vorliegenden Erfindung die Meldung eine Adresse für ein zentrales
Informationslager. Bei einem Ausführungsbeispiel ist die Adresse eine
webbasierte Adresse (z. B. ein Uniform Ressource Locator) für die Website 300.
Bei einem anderen Ausführungsbeispiel
kann die Meldung ferner einen eindeutigen Meldungsidentifizierer
(eine eindeutige Meldungs-ID) umfassen.
-
Weiter
Bezug nehmend auf 3A ist die Meldung, die durch
Knoten 38 erzeugt wird, durch andere Knoten innerhalb des
Kommunikationsbereichs lesbar (z. B. Knoten 33, 35, 37 und 39).
Bei einem Ausführungsbeispiel
wird die Meldung aus Knoten 38 durch jene Knoten innerhalb
des Bereichs gelesen; d. h. die Knoten 33, 35, 37 und 39 greifen
auf die Meldung zu, die auf Knoten 38 residiert, und lesen
die Informationen in der Meldung. Bei einem anderen Ausführungsbeispiel kann
die Meldung durch Knoten 38 zu diesen Knoten innerhalb
des Bereichs rundgesendet werden. In jedem Fall werden die Knoten 33, 35, 37 und 39 über die
Informationen informiert, die durch Knoten 38 gesucht werden.
-
Wenn
jegliche der Knoten 33, 35, 37 oder 39 die
gesuchten Informationen haben, liefern sie sie zu Knoten 38,
wenn sie noch in der Lage sind, mit Knoten 38 zu kommunizieren.
Wie jedoch oben beschrieben ist, hat zum Zweck dieses Beispiels
nur Knoten 31 die Informationen, die von Knoten 38 gesucht
werden.
-
Bezug
nehmend nun auf 3B bewegt sich Knoten 33 weiter
weg von Knoten 38 und Knoten 37 ist aus dem Netzwerk
entfernt (vielleicht hat sich Knoten 37 weiter weg bewegt,
wurde abgeschaltet, etc.). Gemäß dem vorliegenden
Ausführungsbeispiel
der vorliegenden Erfindung breitet Knoten 33 die Meldung
zu Knoten 31 aus, die von Knoten 38 ausgegangen
ist. Bei einem Ausführungsbeispiel
erreicht Knoten 33 dies durch Weiterleiten (z. B. durch
Rundsenden) der Meldung, die er von Knoten 38 empfangen
hat. Bei einem anderen Ausführungsbeispiel
erreicht Knoten 33 dies durch Lesen der Meldung von Knoten 38 und
Erzeugen einer Duplikat-Meldung, die wiederum von Knoten 31 gelesen
wird. In jedem Fall, wie oben, wird Knoten 31 über die
Informationen informiert, die von Knoten 38 gesucht werden.
-
Bei
diesem Beispiel hat Knoten 31 die Informationen, die von
Knoten 38 gesucht werden. Es wird jedoch darauf hingewiesen,
dass dies bei andern Beispielen vielleicht nicht der Fall ist, wobei
in dem Fall die Meldung, die von Knoten 38 stammt, von
Vorrichtung zu Vorrichtung ausgebreitet wird, bis ein Knoten mit
den gesuchten Informationen erreicht ist.
-
Knoten 31,
der die Informationen hat, aber keine Verbindung zu dem Informationslager
hat (z. B. eine Internetverbindung, die eine Kommunikation zu der
Website 300 ermög licht),
weis üblicherweise nicht,
wohin die Informationen gesendet werden sollen. Das heißt, Knoten 31 weis
nicht, dass Knoten 38 die Informationen sucht; sogar wenn
Knoten 31 weis, dass Knoten 38 die Informationen
empfangen soll, kann Knoten 31 üblicherweise eine Meldung nicht
direkt zu Knoten 38 leiten, da vielleicht kein Kommunikationsweg
zwischen den zwei Knoten existiert. Gemäß der vorliegenden Erfindung
erzeugt bei einem Ausführungsbeispiel
Knoten 31 eine Meldung, die die gesuchten Informationen
umfasst, und ferner die Adresse, die ursprünglich von Knoten 38 spezifiziert- wird.
Bei einem anderen Ausführungsbeispiel
der vorliegenden Erfindung fügt
Knoten 31 die gesuchten Informationen zu der Meldung hinzu,
die von Knoten 33 empfangen wurde. In jedem Fall werden
gemäß den verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung die Informationen und die Adresse durch
den Knoten 31 zu anderen Knoten (z. B. Knoten 32 und 34)
auf die oben beschriebene Weise ausgebreitet.
-
Knoten 32 empfängt die
Meldung von Knoten 31 (entweder durch Lesen der Meldung
die auf Knoten 31 residiert, oder durch Empfangen einer
Rundsendung der Meldung von Knoten 31). Knoten 32 hat die
Fähigkeit
eine Verbindung mit dem Informationslager herzustellen, und sendet
unter Verwendung eines bekannten Verfahrens die Informationen zu
der Adresse, die in der Meldung spezifiziert ist (z. B. zu einer
Website 300 über
eine Internetverbindung). Der Urheber der Meldung (z. B. ein Benutzer
an Knoten 38), kann dann die Informationen durch Zugreifen
auf das Informationslager wiedergewinnen. Bei einem Ausführungsbeispiel
kann der Benutzer auf die Website 300 unter Verwendung
jeglicher Vorrichtung mit Internetzugriff zugreifen.
-
Somit
kann gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung ein Ad-hoc-Netzwerk aus drahtlosen Vorrichtungen
aktiv nach einem spezifischen Informationselement durchsucht werden.
Sobald die Informationen erhalten sind, können sie in einem zentralen
Lager für
einfachen Zugriff und schnelle Bezugnahme gespeichert werden. Der
Knoten, an dem die Anforderung nach Informationen gestartet wurde,
muss nicht wissen wo die Informationen gespeichert sind noch die
Topologie des Netzwerks kennen, und der Knoten, der die Informationen liefert,
muss nicht wissen, welcher Knoten die Suche initiiert hat. Auch
muss kein direkter Weg zwischen dem Knoten, der die Suche gestartet
hat, und dem Knoten, der mit den gesuchten Informationen antwortet,
bestehen.
-
4 ist
ein Flussdiagramm 400, das ein Verfahren zeigt, bei dem
eine Meldung erzeugt und durch ein Ad-hoc-Netzwerk gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung ausgebreitete wird. 5 ist
ein Flussdiagramm 500, das ein Verfahren zeigt, bei dem
Knoten auf eine Meldung antworten, die durch ein Ad-hoc-Netzwerk
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung ausgebreitet wird. Flussdiagramm 400 und 500 umfassen
Prozesse der vorliegenden Erfindung, die bei einem Ausführungsbeispiel
durch einen Prozessor (z. B. Prozessor 250 aus 2)
unter der Steuerung von computerlesbaren und computerausführbaren Anweisungen
ausgeführt
werden. Die computerlesbaren und computerausführbaren Anweisungen residieren
z. B. in Datenspeichermerkmalen, wie z. B. einem computerlesbaren,
flüchtigen
Speicher 210, einem computerlesbaren, nichtflüchtigen
Speicher 230 und/oder einer Datenspeichervorrichtung 290 aus 2.
-
Obwohl
spezifische Schritte in den Flussdiagrammen 400 und 500 aus 4 bzw. 5 offenbart
sind, sind solche Schritte exemplarisch. Das heißt, Ausführungsbeispiele der vorliegenden
Erfindung sind gut geeignet zum Ausführen verschiedener anderer
Schritte oder Variationen der Schritte, die in den Flussdiagrammen 400 und 500 angegeben sind.
Es wird darauf hingewiesen, dass die Schritte in den Flussdiagrammen 400 und 500 in
einer unterschiedlichen Reihenfolge als der Vorgelegten ausgeführt werden
können,
und dass mögli cherweise
nicht alle der Schritte in den Flussdiagrammen 400 und 500 ausgeführt werden.
-
Bezug
nehmend zuerst auf 4 werden exemplarische Schritte
in dem Flussdiagramm 400 beschrieben. Bei einem Ausführungsbeispiel
erlaubt die vorliegende Erfindung, dass ein Ad-hoc-Netzwerk aus
Knoten (z. B. drahtlosen Vorrichtungen) nach einem bestimmten Informationselement
durchsucht wird, und dass das Informationselement zugreifbar ist,
sobald es ausfindig gemacht ist. Bei diesem Ausführungsbeispiel wird der Prozess
des Flussdiagramms 400 durch den Knoten implementiert,
der die Suche initiiert.
-
Bei
Schritt 410 wird bei dem vorliegenden Ausführungsbeispiel
ein Meldung erzeugt, die das gesuchte Informationselement identifiziert.
Die Meldung residiert in einem Speicher auf einem der Knoten in
dem Netzwerk. Die Art und Weise des Identifizierens des Informationselements,
das gesucht wird, kann viele unterschiedliche Formen annehmen, die Fachleuten
auf dem Gebiet bekannt sind. Zum Beispiel kann das Informationselement
unter Verwendung eines Schlüsselworts
oder mehrere Schlüsselwörter identifiziert
werden. Das Informationselement kann in der Form einer Abfrage identifiziert
werden, die in z. B. eine XML-Meldung geparsed werden kann. Es ist
ebenfalls denkbar, dass spezifische Softwareanwendungen, die sich
auf das Ermäglichen
eines Such- und Wiedergewinnungsprozesses gemäß Ausführungsbeispielen der vorliegenden
Erfindung richten, auf verschiedene Knoten geladen werden können. Tatsächlich können diese
Softwareanwendungen zusammen mit der Meldung getragen werden, wenn
die Meldung von Knoten zu Knoten ausgebreitet wird, um die Handhabung
der Informationen in der Meldung zu ermöglichen.
-
Gemäß dem vorliegenden
Ausführungsbeispiel
der vorliegenden Erfindung umfasst die Meldung, die bei Schritt 410 erzeugt
wird, ferner eine Adresse für
ein zentrales Informationslager. Bei einem Ausführungsbeispiel ist die Adresse
eine webbasierte Adresse, wie z. B. ein Uniform Ressource Locator
(URL). Wie oben erklärt
wurde, wird die Adresse als der Zielort für das Informationselement verwendet,
sobald das Informationselement ausfindig gemacht ist. Bei einem
Ausführungsbeispiel
umfasst die Meldung eine eindeutige Meldungs-ID.
-
Bei
Schritt 420 werden bei dem vorliegenden Ausführungsbeispiel
die Information in der Meldung zu einem zweiten Knoten (Vorrichtung)
ausgebreitet. Wie oben beschrieben ist, liest bei verschiedenen Ausführungsbeispielen
die zweite Vorrichtung die Meldung, wenn die Meldung auf dem Knoten
residiert, der die Meldung ausgesendet hat, oder die Meldung wird
zu der zweiten Vorrichtung rundgesendet. Es wird darauf hingewiesen,
dass in jedem Fall der Benutzer der zweiten Vorrichtung eine Steuerung darüber ausüben kann,
ob auf die Meldung zugegriffen oder diese empfangen werden soll
oder nicht. Die Art von Techniken, die zum Steuern oder Einschränken einer
Teilnahme an dem Such- und Wiedergewinnungsprozess gemäß den verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden können, sind in der Technik bekannt.
-
Wenn
bei Schritt 425 bei dem vorliegenden Ausführungsbeispiel
die gesuchten Informationen auf der zweiten Vorrichtung residieren,
dann werden sie an dem Ausgangsknoten von der zweiten Vorrichtung
empfangen. Ansonsten wird bei Schritt 430 die Meldung zu
anderen Knoten in dem Netzwerk ausgebreitet. Eine Ausbreitung der
Meldung tritt auf, wenn der aussendende Knoten in Kommunikation
mit anderen Knoten kommt, wodurch diesen Knoten erlaubt wird, entweder
die Meldung zu lesen oder die Meldung in einer Rundsendeübertragung
zu empfangen. Diese Knoten, die die zweite Vorrichtung umfassen, auf
die oben Bezug genommen wurde, breiten die Meldung ebenfalls aus,
wie ferner in Verbindung mit dem Ausführungsbeispiel beschrieben
wird, das in 5 dargestellt ist. Auf diese
Weise kann die Meldung ohne Weiteres durch die Knoten ausgebreitet werden.
Wenn die Knoten an einem Ad-hoc-Netzwerk teilnehmen, wird die Meldung
zu denselben verteilt. Zusätzlich
dazu, wenn die Knoten ein Ad-hoc-Netzwerk verlassen, werden sie
wahrscheinlich einem anderen Ad-hoc-Netzwerk beitreten oder ein
solches mit anderen Knoten bilden, wodurch die Meldung weiter durch
Tragen der Meldung zu anderen Knoten ausgebreitet wird. Somit kann
bei einem Ausführungsbeispiel
die Mobilität
der Knoten den Suchprozess verbessern, wenn die Meldung von Knoten
zu Knoten ausgebreitet wird.
-
Bezug
nehmend nun auf 5 werden die exemplarischen
Schritte in Flussdiagramm 500 beschrieben. Bei dem vorliegenden
Ausführungsbeispiel
wird der Prozess von Flussdiagramm 500 durch einen Knoten
implementiert, sobald ein Such- und Wiedergewinnungsprozess gemäß Ausführungsbeispielen
der vorliegenden Erfindung initiiert wurde (in Verbindung mit 4 beschrieben).
Obwohl dies für einen
einzelnen Knoten und eine einzelne Suche beschrieben ist, wird darauf
hingewiesen, dass die Schritte von Flussdiagramm 500 tatsächlich durch eine
Anzahl von Knoten implementiert werden können, die mehrere Suchen parallel
ausführen.
-
Bei
Schritt 510 aus 4 empfängt bei dem vorliegenden Ausführungsbeispiel
ein Knoten eine Adresse und Inhalt, die dem gesuchten Informationselement
zugeordnet sind. Diese Informationen können aus einer Meldung gelesen
werden, die auf einem anderen Knoten residiert, oder ein anderer
Knoten kann diese Informationen senden (z. B. rundsenden).
-
Der
Inhalt, der durch den Knoten empfangen wird, kann Informationen
umfassen, die das Informationselement identifiziere, das gesucht
wird, wie oben beschrieben ist. Der Inhalt kann stattdessen das
Informationselement umfassen, das gesucht wird. In dem letzteren
Fall hat einer der Knoten in Verarbeitungsrichtung aufwärts die
gesuchten Informationen lokalisiert hatte aber keine Internetverbindung,
und so werden die gesuchten Informationen ausgebreitet, bis sie
zu der spezifizierten Adresse gesendet werden können. In dem ersteren Fall
hat keiner der Knoten „in
Verarbeitungsrichtung aufwärts" die gesuchten Informationen
lokalisiert und so werden die Informationen, die die gesuchten Informationen
identifizieren, weiter ausgebreitet. Ansprechend darauf kann der
Knoten eine Durchsuchung seiner Speicher initiieren, um zu bestimmen,
ob die gesuchten Informationen darin enthalten sein können.
-
Wenn
der Knoten bei Schritt 520 bei dem vorliegenden Ausführungsbeispiel
die Fähigkeit
hat, eine Verbindung mit dem Informationslager herzustellen, das
die Adresse identifiziert wird, und wenn die gesuchten Informationen
verfügbar
sind, dann werden die Informationen zu der Adresse gesendet. Die
Informationen können
verfügbar
sein, da sie durch den Knoten bei Schritt 510 empfangen
wurden. Alternativ können
die Informationen verfügbar
sein, da sie auf dem Knoten angeordnet waren. Das heißt, wie
oben beschrieben wurde, kann der Knoten Informationen empfangen
haben, die die gesuchten Informationen identifizieren, eine Suche
durchgeführt
haben und die Informationen, die gesucht werden, lokalisiert haben.
Es wird darauf hingewiesen, dass der Knoten die gesuchten Informationen
von einem anderen Knoten empfangen kann, und dann denselben Informationen
hinzufügen
kann oder die Informationen auf andere Weise modifizieren kann.
Zum Beispiel können
die gesuchten Informationen in der Form einer Umfrage oder Abfrage
vorliegen; wenn die Meldung von Knoten zu Knoten ausgebreitet wird, werden
Antworten auf die Umfrage an jedem Knoten hinzugefügt.
-
Somit
können
sich im Allgemeinen die gesuchten Informationen im Lauf der Zeit
ansammeln und die Eingabe darstellen, die von verschiedenen Knoten
empfangen wird. Wenn eine Meldung, die die gesuchten Informationen
aufweist, ihren Weg zu dem Informationslager findet, kann sie durch
Knoten verlaufen, die zusätzliche
Informationen liefern können. Diese
Knoten können
ihre Informationen an die Meldung anhängen und die Meldung weiter
ausbreiten.
-
Wenn
die gesuchten Informationen nicht für den Knoten verfügbar sind,
oder wenn der Knoten nicht die Fähigkeit
hat, eine Verbindung mit dem Informationslager herzustellen, dann
fährt das
Flussdiagramm 500 mit Schritt 525 fort. Bei Schritt 525 werden
die Adresse und der Inhalt, die sich auf die gesuchten Informationen
beziehen, zu anderen Knoten ausgebreitet. Hier kann der Inhalt die
Informationen sein, die die Informationen identifizieren, die gesucht werden.
Ansonsten kann der Inhalt die gesuchten Informationen sein, wenn
diese Informationen für
den Knoten verfügbar
sind (d. h., entweder die gesuchten Informationen wurden durch den
Knoten von einem Knoten in Verarbeitungsrichtung aufwärts empfangen
oder sie wurden empfangen und durch den Knoten mit zusätzlichen
Informationen modifiziert, die auf dem Knoten verfügbar sind,
oder sie wurden auf dem Knoten angeordnet).
-
Gemäß Ausführungsbeispielen
der vorliegenden Erfindung kann der Prozess von Flussdiagramm 500 fortschreiten,
bis die gesuchten Informationen lokalisiert und zu dem Informationslager
gesendet wurden, das durch die Adresse identifiziert wird (z. B.
zu einer Website, die durch eine webbasierte Adresse identifiziert
ist). Bei verschiedenen Ausführungsbeispielen
können
jedoch Mechanismen eingesetzt werden, um die Ausbreitung von Meldungen
einzuschränken.
Zum Beispiel kann die Meldung, die einen Such- und Wiedergewinnungsprozess
gemäß Ausführungsbeispielen
der vorliegenden Erfindung gestartet hat, einen Stempel umfassen,
der ein Ablaufdatum für
die Suche spezifiziert. Die Suche könnte stattdessen abgeschlossen
werden, nachdem die Meldung eine spezifizierte Anzahl von Sprüngen zwischen
Knoten ausgeführt
hat, ohne dass die gesuchten Informationen gefunden wurden. Ferner
könnte
die Meldung Positionsinformationen umfassen, die die Position des
Knotens anzeigen, der die Suche gestartet hat; jeglicher Knoten,
der die Meldung empfängt
aber eine spezifizierte Distanz entfernt von dem Ursprungsknoten
ist, kann auswählen,
die Meldung zu ignorieren. Zusätzlich
dazu, unter Verwendung der eindeutigen Meldungs-ID der Ursprungsmeldung,
kann das Informationslager eine Rücksendemeldung initiieren,
die anzeigt, dass die gesuchten Informationen empfangen wurden;
diese Rücksendemeldung
kann sich auf dieselbe Weise ausbreiten wie die Suchmeldung und
würde dazu dienen,
Suchvorgänge
abzuschließen,
die der eindeutigen Meldungs-ID zugeordnet sind.
-
Zusammenfassend
liefern Ausführungsbeispiele
der vorliegenden Erfindung ein Verfahren, das erlaubt, dass Informationen,
die in drahtlosen Vorrichtungen residieren, gesucht und wiedergewonnen werden.
Die vorliegende Erfindung schafft ferner ein Verfahren, das dies
innerhalb des Rahmens eines Ad-hoc-Netzwerks aus Vorrichtungen erreicht.
Tatsächlich
verwendet bei einem Ausführungsbeispiel die
vorliegenden Erfindung vorteilhaft die Mobilität von Vorrichtungen, um den
Such- und Wiedergewinnungs-Prozess zu ermöglichen.
-
Das
bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung, ein Verfahren zum Suchen von Knoten
nach Informationen, wird somit beschrieben. Während die vorliegende Erfindung
bei bestimmten Ausführungsbeispielen
beschrieben wurde, sollte darauf hingewiesen werden, dass die Erfindung
nicht derart betrachtet werden sollte, dass sie auf solche Ausführungsbeispiele
beschränkt
ist, sondern stattdessen gemäß den nachfolgenden
Ansprüchen
ausgelegt ist.