-
HINTERGRUND DER ERFINDUNG
-
Das
vorliegende Dokument betrifft eine Technik zum Ausführen einer
Kommunikation über
Funk.
-
In
der letzten Zeit wurden Techniken untersucht, bei denen zwischen
Funkstationen eine Kommunikation erfolgt, ohne daß es eine
entsprechende Kommunikations-Infrastruktur gibt, etwa Funk-Basisstationen
vorhanden sind (Ad-hoc-Netzwerke). Schwerpunktmäßig werden die Untersuchungen
für die
Spezifikation und die Standardisierung bei der Arbeitsgruppe MANET
(Mobile Ad-hoc-NETworks) der IETF (Internet Engineering Task Force)
durchgeführt. Es
ist nicht nur eine direkte Kommunikation zwischen mobilen Stationen
(Einfachsprung) möglich,
sonder auch eine Kommunikation über
ein oder mehrere andere Stationen (Mehrfachsprung).
-
Wenn
jedoch eine mobile Station aufgrund einer Bewegung oder dergleichen
den Bereich des Gesamtnetzwerks verläßt, gibt es Zeiten, in denen keine
Kommunikation möglich
ist. Für
diesen Fall gibt es Techniken, bei denen, wenn von einem Daten übertragenden
Quellenterminal (im folgenden "Übertragungsquellenterminal" genannt) zu einem
Daten erhaltenden und aufnehmenden Zielterminal (im folgenden "Zielterminal" genannt) Daten übertragen werden,
ein Terminal A (im folgenden "Relaisterminal" genannt), zu dem
die Daten vom Übertragungsquellenterminal übertragen
wurden und das die Daten weiterleitet, nach einem Relais-Terminal
B sucht, zu dem die Daten im Anschluß übertragen werden sollen, und
die Daten weitergegeben. Die Daten legen somit den ganzen Weg zum
Zielterminal mittels Weitergabe zwischen Terminals zurück.
-
Es
gibt auch elektronische Mailsysteme für die Datenübertragung zu bestimmten Terminals.
In einem elektronischen Mailsystem gibt das Übertragungsquellenterminal
das Zielter minal an. Das Übertragungsquellenterminal
führt dann
die Datenübertragung
auf der Basis von bereits vorher bekannten Informationen über die
Netzwerktopologie und dergleichen über ein anderes Terminal als
Relaisterminal aus und fordert daraufhin eine Datenübertragung
zu dem betreffenden Relaisterminal an. Es gibt auch den Fall, daß das Übertragungsquellenterminal
oder das weiterleitende Relaisterminal einen Fehlerbericht erhält, wenn
die Datenübertragung
nicht erfolgreich abgeschlossen wurde. Es gibt darüberhinaus
den Fall, daß das
die Datenberichte aufnehmende Zielterminal eine Bestätigung über den
Erhalt der Daten an das Übertragungsquellenterminal
abgibt.
-
ZUSAMMENFASSUNG
-
In
Ad-hoc-Netzwerken ist es bei einer Mehrfachsprungkommunikation möglich, Daten
von einem Übertragungsquellenterminal über eine
Anzahl von Terminals zu übertragen,
die jeweils die Bedingungen für
ein Relaisterminal erfüllen,
es ergibt sich jedoch dabei das Problem, daß es nicht möglich ist festzustellen,
ob die Daten sicher an einem bestimmten Terminal angekommen sind.
-
Bei
elektronischen Mailsystemen ist es zwar möglich festzustellen, ob Daten
auf dem ganzen Weg vom Übertragungsquellenterminal
zum Zielterminal sicher übertragen
und abgeliefert wurden, bei diesen Systemen handelt es sich jedoch
nicht um Netzwerke, die wie Ad-hoc-Netzwerke eine sich dynamisch verändernde
Topologie aufweisen.
-
Entsprechend
ist es Aufgabe er vorliegen en Erfindung, ein System zu schaffen,
bei dem in einem Netzwerk mit sich dynamisch ändernder Topologie Daten übertragen
werden, wobei es möglich
ist festzustellen, ob die Daten auf dem ganzen Weg von einem Übertragungsquellenterminal
zu einem Zielterminal sicher übertragen
und abgeliefert wurden.
-
Zur
Lösung
des oben genannten Problems ist ein wünschenswerter Modus der vorliegenden
Erfindung der folgende.
-
In
einem Netzwerksystem, bei dem ein erstes und ein zweites Terminal über Funk
eine Kommunikation durchführen,
wählt das
erste Terminal auf der Basis eines im betreffenden ersten Terminal
gespeicherten Erwartungswerts ein Relaisterminal, das die ihm übertragenen
Daten weiterleitet, aus und überträgt die Daten
zusammen mit einem ersten Informationselement, das die Adresse des
ersten Terminals angibt, und einem zweiten Informationselement,
das die Adresse des zweiten Terminals angibt, an das Relaisterminal.
Das Relaisterminal überträgt die erhaltenen
ersten und zweiten Informationselemente sowie die Daten zum zweiten
Terminal. Das zweite Terminal nimmt die ersten und zweiten Informationselemente
sowie die Daten auf und überträgt auf der
Basis des im betreffenden zweiten Terminal gespeicherten Erwartungswerts
einen Abschlußbericht
an das erste Terminal.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
eine Blockdarstellung der Hardware eines Terminals;
-
2A, 2B, 2C zeigen
Beispiele von Situationen, in denen eine Datenübertragung ausgeführt wird;
-
3A, 3B, 3C zeigen
Datenübertragungstabellen
und 3D ein Beispiel für eine Datentabelle;
-
4 zeigt
ein Flußdiagramm
für eine
Datenübertragung;
-
5 zeigt
eine Blockdarstellung der Hardware eines Terminals;
-
6A, 6B zeigen
Datenformate;
-
7 zeigt
eine Darstellung der Datenübertragungsoperation
bei jedem Terminal;
-
8A, 8B zeigen
beispielhafte Darstellungen eines Verfahrens zum Bestimmen der Bewegungsrichtung
eines Terminals;
-
9 zeigt
beispielhaft einen Kommunikationszeit-Berechnungsabschnitt; und
-
10 eine
beispielhafte Darstellung der Ablaufsteuerung.
-
BESCHREIBUNG
DER AUSFÜHRUNGSFORMEN
-
Es
folgt eine Erläuterung
der Ausführungsformen
anhand der Zeichnungen.
-
Erste Ausführungsform
-
Die 1 zeigt
eine Darstellung der Hardware eines Terminals. Das betreffende Terminal
besteht aus einer CPU (Zentraleinheit) 1, einem Hauptspeicher 2,
einer nichtflüchtigen
Speichervorrichtung 3, einem Funkverbindungsinterface 4,
das über
eine Funkverbindung die Übertragung
und Aufnahme von Daten zu und von anderen Terminals ausführt, einer Ein/Ausgabevorrichtung 5 (eine
Anzeige, ein Lautsprecher, ein Touchscreen und dergleichen), die
die Ein/Ausgabe von und zu einem Sprecher/Betrachter, Operator und
dergleichen steuert, und einer Sensorinformationen-Aufnahmevorrichtung 6 (ein
Geschwindigkeitssensor, ein Bewegungs-Abstands-Sensor, GPS und dergleichen).
Diese Elemente sind über
eine Kommunikationsleitung 7 wie einen Bus miteinander
verbunden.
-
Die
CPU 1 führt
mittels des Ladens von in der Speichervorrichtung 3 gespeicherten
Programmen in den Hauptspeicher 2 und Ausführen der
Programme verschiedene Prozesse aus. Diese Programme und Daten können vorher
in der Speichervorrichtung 3 gespeichert worden sein, sie
können von
einem Speichermedium wie einer CD-ROM eingegebenen werden oder von
einer anderen Einrichtung über
das Netzwerk heruntergeladen werden. Die mittels der betroffenen
Programme ausgeführten Funktionen
können
auch mittels dafür
vorgesehener Hardware ausgeführt
werden.
-
Die 2A, 2B und 2C zeigen
Beispiele für
Situationen, bei denen eine Datenübertragung ausgeführt wird.
Es erfolgt hier eine Erläuterung der
Situation, daß ein
Terminal 21, das sich im Ad-hoc-Netzwerk 22 befindet,
Daten zu einem Terminal 23 überträgt, das sich in einem Ad-hoc-Netzwerk 24 befindet.
-
In
der 2A überträgt das Terminal 21 Daten 26 per
Funk zu einem Terminal 25 (hier einem Motorfahrzeug) in
der Umgebung. Das Motorfahrzeug 25 bewegt sich in die Richtung
des Ad-hoc-Netzwerks 24.
-
In
der 2B hat das Motorfahrzeug 25 das Ad-hoc-Netzwerk 24 erreicht.
Da nun das Motorfahrzeug 25 in der Lage ist, mit dem Terminal 23 in
Funkverbindung zu treten, werden die festgehaltenen Daten 26 vom
Terminal 21 zum Terminal 23 gesendet. Das Terminal 23 überträgt nach
Aufnahme der Daten 26 einen Abschlußbericht 27, der bestätigt, daß die Daten 26 erhalten
wurden, an das Motorfahrzeug 25. Das Motorfahrzeug 25 macht
dann eine Wendung in die Richtung des Ad-hoc-Netzwerks 22.
-
In
der 2C gibt das Motorfahrzeug 25, nachdem
es zum Ad-hoc-Netzwerk 22 zurückgekehrt ist, den Abschlußbericht 27 an
das Terminal 21 ab. Das den Abschlußbereicht übertragende Terminal kann auch
ein anderes Terminal als das Motorfahrzeug 25 sein. Wenn
bereits vorab festgestellt wird, daß das Übertragungsquellenterminal 21 und
das Zielterminal 23 eine Kommunikation über ein zellulares Mobilfunksystem
ausführen
können,
kann der Abschlußbericht
auch unter Verwendung des zellularen Mobilfunksystems abgegeben
werden.
-
Da
das Terminal 21 einen Abschlußbericht vom Terminal 23 erhält, ist
es somit möglich,
wenn es keinen Abschlußbericht
erhält,
die Daten sicherheitshalber noch einmal zu übertragen.
-
Die 3A, 3B, 3C und 3D zeigen
die im Hauptspeicher 2 oder der Speichervorrichtung 3 gespeicherten
Daten. Der Inhalt der Tabellen der 3A, 3B, 3C und 3D wird anhand
der Situationen in den 2A, 2B und 2C erläutert.
-
Die 3A zeigt
die Datenübertragungstabelle
im Terminal 21 vor dem Erscheinen des Terminals 25.
In diesem Fall bezeichnet der Zielort 31 das Terminal 23,
da sich jedoch das Terminal 21 und das Terminal 23 in
verschiedenen Ad-hoc-Netzwerken befinden,
können
sie nicht direkt miteinander in Verbindung treten. Folglich ist
der Erwartungswert 33 hinsichtlich des Terminals 23 gleich
0. Das Übertragungsziel 32 bezeichnet
ein Terminal, das die Daten zwischen dem Terminal 21 und
dem Terminal 23 weiterleitet. Im vorliegenden Fall ist
diese Spalte jedoch leer.
-
Die 3B zeigt
die Datenübertragungstabelle
im Terminal 21 nach dem Erscheinen des Terminals 25.
Da das Terminal 25, ein Relaisterminal, erschienen ist,
steigt die Wahrscheinlichkeit an, daß die Daten das Terminal 23 erreichen,
so daß sich
der Erwartungswert 33 ändert
(hier auf 40). Da die Wahrscheinlichkeit dafür hoch ist, daß es möglich ist,
die Daten über
das Terminal 25 als Übertragungsziel 32 zu übertragen,
nimmt der Erwartungswert für
das Terminal 25 einen großen Wert an (hier 80).
-
Die 3C zeigt
die Datenübertragungstabelle
im Terminal 25. Da die Wahrscheinlicht dafür hoch ist,
daß das
Terminal 25 Daten sowohl zum Terminal 21 als auch
zum Terminal 23 übertragen
kann, nimmt der Erwartungswert für
beide Terminals einen großen
Wert an (hier 80).
-
Die 3D zeigt
ein Beispiel für
eine Datentabelle. Sie besteht aus einem Datenidentifikator 34, der Übertragungsquelle 35,
der Daten-Gesamtlänge 36,
der Kopfposition 37, einer Daten-Teillänge 38 und dem Zielort 39.
-
Das Übertragungsziel 32 gibt
die Adressen des Übertragungsquellenterminals
und des/der Terminals an, mit dem oder mit denen eine Kommunikation
möglich
ist (ein Relaisterminal oder ein Zielterminal). Der Erwartungswert 33 gibt
das Ausmaß der Richtigkeit
der Tatsache an, daß das
Terminal, das den betreffenden Zielort handhabt, die Daten zum Zielterminal überträgt.
-
Der
Erwartungswert kann auf jede beliebige Weise festgelegt werden.
Zum Beispiel kann die Festlegung auf der Basis der Historie für die Kommunikationen
mit einem anderen Terminal (gegebenenfalls auf der Basis einer Tabelle
für die
in dem Ad-hoc-Netzwerk auftretenden Kommunikationswege) und der
Häufigkeit
davon (z.B. den Zeitanteil oder dergleichen in den letzten 24 Stunden,
in denen eine Kommunikation möglich
war) erfolgen. Wenn die GPS-Koordinaten des Zielterminals bekannt
sind und jedes Terminal Informationen über die Historie der Änderung
der eigenen GPS-Koordinaten in der Vergangenheit sowie Informationen über die
GPS-Koordinaten der zukünftig
vernetzten Zielorte enthält, kann
die Einstellung unter Verwendung dieser Informationen erfolgen.
Auch kann, wenn ein Terminal neu erscheint, mit dem eine Kommunikation
möglich geworden
ist und das sich in die Richtung des Ad-hoc-Netzwerkes mit dem Zielterminal
bewegt, der Erwartungswert auf einen großen Wert gesetzt werden.
-
Es
ist auch möglich
zu berücksichtigen,
daß im
Vergleich zu einem Terminal, das in der Umgebung des Übertragungsquellenterminals
relativ stationär
bleibt und mit dem sich die Möglichkeit
der Kommunikation gegenüber
früher
nicht verändert,
ein Terminal eine hohe Wahrscheinlichkeit dafür aufweist, daß es mit
einem Netzwerk verbunden werden kann, das sich von dem des Übertragungsquellenterminals unterscheidet,
wenn mit diesem Terminal neuerdings eine Kommunikation möglich geworden
ist. Auf der Basis von Überlegungen
wie diesen kann für
ein Terminal, mit dem neuerdings eine Kommunikation möglich geworden
ist, ein höherer
Erwartungswert festgelegt werden als für ein Terminal, mit dem bereits
früher
eine Kommunikation möglich
war. Wenn es eine ganze Anzahl von Terminals mit hohen Erwartungswerten
gibt, kann die Datenübertragung über eine Reihe
von Terminals erfolgen, um die Wahrscheinlichkeit der Ankunft am
Zielterminal zu erhöhen.
-
Der
Identifikator 34 ist ein Wert für die Identifikation von Daten
wie dem Dateinamen, und es ist möglich,
die Dateiidentifikation durch eine Kombination des Identifikators
mit z.B. der Übertragungsquelle 35 (nicht
nur dem Übertragungsquellenterminal, sondern
einschließlich
der die gleichen Daten übertragenden
Relaisterminals) durchzuführen.
Im Übertragungsquellenterminal
kann der Prozeß auch
dadurch ausgeführt
werden, daß der
Identifikator 34 innerhalb des gleichen Terminals auf einen
eindeutigen Wert festgelegt wird.
-
Die
Gesamtlänge 36 gibt
die Gesamtlänge der
vom Übertragungsquellenterminal
zum Zielterminal zu übertragenden
Daten an.
-
Die
Kopfposition 37 gibt die Kopfposition von Teildaten an
(einen Offsetwert, der anzeigt, wo die Kopfposition der Teildaten
liegt, wobei die Kopfposition der Gesamtdaten als Bezugspunkt dient),
wenn die Daten unterteilt und zu Teildaten geworden sind.
-
Die
Teillänge 38 gibt
die Größe der Teildaten an.
Wenn die Daten aufgeteilt wurden und die Kopfposition 37 den
Offset 0 hat, wird die Teillänge 38 gleich
der Gesamtlänge 36.
-
Der
Zielort 39 gibt den endgültigen Zielort (das Zielterminal)
für die
Daten an. Die Daten, die übertragen
und aufgenommen werden, werden mit dem Identifikator 34 (oder
einer Kombination des Identifkators 34 mit der Übertragungsquelle 35)
der Speichervorrichtung 3 oder des Hauptspeichers 2 verknüpft und
gespeichert.
-
Die 4 ist
ein Flußdiagramm
der Datenübertragung.
Die nachstehende Erläuterung
erfolgt im Vergleich zur 2. Der Kern
des Prozesses wird als im Terminal liegend erläutert, selbstverständlich liegt jedoch
der Kern im Falle einer Softwareausführung der betreffenden Prozesse
in der CPU 1, die die Programme ausführt.
-
Zuerst
prüft das
Terminal 21, ob das Zielterminal innerhalb des Kommunikationsbereichs 22 des Übertragungsquellenterminals
liegt (Schritt 401). Wenn es im Kommunikationsbereich liegt
(da sich die Kommunikationsbereiche 22 und 24 der
Terminals in der 2 nicht überlappen,
ist keine direkte Kommunikation möglich), nimmt das Terminal 21 das
Zielterminal als Übertragungsziel, überträgt die Daten
zum Zielterminal und aktualisiert die interne Datentabelle (oder
macht einen neuen Eintrag dafür)(Schritt 408). Das
Zielterminal nimmt dies auf und aktualisiert gegebenenfalls (die
Datenempfangssituation braucht nicht gespeichert zu werden, wenn
alle Daten in einem Empfangsereignis aufgenommen werden) die Daten tabelle
(oder macht einen neuen Eintrag dafür)(Schritt 402). Dann überträgt es einen
Abschlußbericht
zu dem Übertragungsquellenterminal
(Schritt 403). Das Übertragungsquellenterminal
nimmt den Abschlußbericht
auf und aktualisiert die Datentabelle (oder löscht sie, wenn die Übertragung
aller Daten abgeschlossen ist)(Schritt 404) und beendet
den Prozeß.
-
Wenn
das Zielterminal im Schritt 401 nicht innerhalb des Kommunikationsbereichs 22 liegt,
wird geprüft,
ob das Zielterminal 23 und ein oder mehrere Relaisterminalkandidaten,
von denen erwartet wird, daß sie
in der Zukunft zu Kommunikationen in der Lage sind, in Verbindung
treten können
(Schritt 405). Seitens der Relaisterminals wird die Datenübertragungstabelle
fortlaufend mit den Änderungen
in der Tabelle der Kommunikationswege oder der GPS-Positionen aktualisiert
(Schritt 410), und während
der Prüfung
durch das Übertragungsquellenterminal
wird der Erwartungswert für
das Terminal hinsichtlich des Zielterminals zurückgegeben (Schritt 411).
Wenn das Übertragungsquellenterminal
in der Lage ist, mit einem oder mehreren Relaisterminalkandidaten
in Verbindung zu treten, wird die Datenübertragungstabelle auf der
Basis der während
der Prüfung
erhaltenen Erwartungswerte usw. bis hin zum Zielterminal für jedes Relaisterminal
aktualisiert (Schritt 406). Aus den Relaisterminalkandidaten
wird dann ein Relaisterminal ausgewählt (das Terminal 25 in
den 2A, 2B, 2C) (Schritt 407).
Wenn es keine Möglichkeit
für eine
Kommunikation gibt, führt
das Übertragungsquellenterminal
Operationen wie das Starten eines Zeitgebers und Warten auf die
nächste Übertragungszeit
aus (Schritt 409), und wenn es wieder Übertragungszeit ist, werden
die Prozesse ab dem Schritt 401 wiederholt.
-
Das Übertragungsquellenterminal überträgt die Daten
zu dem ausgewählten
Relaisterminal und aktualisiert die Daten in der Datentabelle (oder
macht einen neuen Eintrag dafür)
(Schritt 408) und speichert die Daten bis zur Ankunft des
folgenden Abschlußberichts.
Wenn das ausgewählte
Relaistermi nal die übertragenen
Daten aufnimmt, erfolgt ebenfalls eine Aktualisierung (oder eine
neue Registrierung) der betreffenden Daten (Schritt 412).
-
Das
auf diese Weise ausgesuchte Relaisterminal für die Weitergabe der Daten
führt dann
die gleichen Prozesse aus wie das Übertragungsquellenterminal
(Schritt 413) und überträgt die Daten
in dem Moment, in dem eine Kommunikation mit dem Zielterminal 23 oder
einem anderen Relaisterminal möglich
wird. Das Zielterminal 23 führt die gleichen Prozesse aus
wie bei einem direkten Empfang vom Übertragungsquellenterminal 21.
Das Relaisterminal kann, bevor eine Kommunikation mit dem Zielterminal
möglich
wird, nach weiteren Relaisterminalkandidaten suchen, und die Datenübertragung
einem solchen Terminal übertragen
oder einem Terminal, das für
die Kommunikation mit dem Zielterminal einen höheren Erwartungswert aufweist.
Um die Wahrscheinlichkeit für
die Ankunft der Daten zu erhöhen,
kann das Relaisterminal auch weiterhin ein Relaisterminal bleiben,
während
ein anderer Relaisterminalkandidat als zusätzliches Relaisterminal ausgewählt und
die Datenübertragung
ausgeführt
wird.
-
Wenn
das Zielterminal innerhalb eines eingeschränkten Kommunikationsbereichs
wie dem Hotspot eines WLANs (drahtloses lokales Netzwerk) liegt
und der Datentransfer von einem Übertragungsquellenterminal
aus erfolgt, das den betreffenden Kommunikationsbereich durchquert,
werden die Daten vorab in eine Größe aufgeteilt, die während der Zeit
des Passierens des Kommunikationsbereichs übertragen werden kann, und
das Übertragungsquellenterminal überträgt die ersten
Teildaten zu dem Zielterminal. Für
die übrigen
Daten wird ein Terminal in einem folgenden Fahrzeug oder in einem
Fahrzeug, das in der Gegenrichtung fährt, als Relaisterminal ausgewählt, und
die Daten übertragen.
Das Relaisterminal, zu dem die Daten übertragen wurden, überträgt den Kopf
der verbleibenden Teildaten zum Zielterminal und die übrigen verbleibenden
Teildaten auf die gleiche Weise wie oben zu einem anderen Relaisterminal. Durch
diese Wiederholung wird es möglich,
alle Daten zum Zielterminal zu übertragen.
-
Wenn
das Übertragungsquellenterminal oder
das Relaisterminal eine Anzahl von verschiedenen Teildaten mit dem
gleichen Identifikator aufnimmt, kann es anhand der Kopfpositionen
dieser Teildaten und der Größe der Teildaten
feststellen, ob die verschiedenen Teildaten verbunden werden können, und
wenn die Teildaten verbunden wurden, kann das Zielterminal anhand
der betreffenden verbundenen Daten und der Gesamtgröße der Daten
feststellen, ob alle Daten erhalten wurden, und wenn alle Daten
erhalten wurden, einen Abschlußbericht
an das Übertragungsquellenterminal
senden.
-
Hinsichtlich
des Datentransfers kann zusammen mit den Daten auch ein Zertifikat
für die
Daten übertragen
werden. Ein Relaisterminal, das Daten mit einem Zertifikat erhält, kann
durch Prüfen
der Gültigkeit
des Zertifikats feststellen, ob ein unzulässiger Prozeß wie ein
Mißbrauch
des Übertragungsquellenterminals
oder ein Versuch der Veränderung der
Daten vorliegt. Da das Übertragungsquellenterminal
genau bezeichnet werden kann, ist es auch möglich festzulegen, ob z.B.
die an einem bestimmten Terminal angekommenen Daten auch weitergegeben
werden. Für
das Prüfen
des Zertifikats und dessen Gültigkeit
ist jedes Verfahren akzeptabel. Zum Beispiel können öffentliche Schlüssel von
einer oder mehreren Authentifizierungsstationen in der Speichervorrichtung 3 jedes
Terminals gespeichert und mit einem der öffentlichen Schlüssel geprüft werden,
ob ein Zertifikat richtig kodiert werden kann. Auch kann an die
Daten, wenn der genannte öffentliche
Schlüssel
als erster öffentlicher
Schlüssel
genommen wird, ein zweiter öffentlicher
Schlüssel
angehängt
werden, der mit dem ersten öffentlichen Schlüssel richtig
kodiert werden kann, wobei ein Zertifikat, das mit dem zweiten öffentlichen
Schlüssel richtig
kodiert werden kann, ein gültiges
Zertifikat ist.
-
Zweite Ausführungsform
-
Die 5 zeigt
eine Blockdarstellung der Hardware eines Terminals der Ausführungsform
2.
-
Das
Terminal kann zusätzlich
der der in der 1 gezeigten Hardware ein drahtloses
Kommunikationsinterface 50 enthalten, das Übertragungen
zu und einen Empfang von anderen Computern durch eine Verbindung
mit dem Internet ausführt.
-
Die
Speichervorrichtung 3 enthält die Daten eines Datenübertragungs-
und Empfangsabschnitts 501, eines Bewegungssituations-Übertragungs-
und Empfangsabschnitts 502, eines Relaisterminal-Auswahlabschnitts 503,
eines Datenerhalt-Bestätigungsabschnitts 504,
eines Funkfeldintensität-Feststellungsabschnitts 505,
eines Bewegungsrichtungs-Feststellungsabschnitts 506, eines
Kommunikationszeit-Berechnungsabschnitts 507 und Programme
wie einen Kopfinformationenbeschreibungsabschnitt 508 sowie
einen Übertragungserfolghistorienbericht 509,
eine Kommunikationswegtabelle 510, eine Datenübertragungstabelle 511 (3A)
und eine Datentabelle 512 (3D).
-
Die
Programme werden im folgenden so beschrieben, als ob jeweils sie
der ausführende
Kern wären,
es ist jedoch klar, daß der
die Aktionen ausführende
Kern die CPU 1 ist, die die Programme ausführt.
-
Der
Datenübertragungs-
und Empfangsabschnitt 501 überträgt die zu sendenden Daten vom Übertragungsquellenterminal
zum Zielterminal und nimmt von dort die zu empfangenden Daten auf (6A).
-
Der
Bewegungssituations-Übertragungs- und
Empfangsabschnitt 502 überträgt Informationen über die
Bewegungssituation des Terminals (6B) zu
anderen Terminals und nimmt Informationen über die Bewegungssituation
anderer Terminals von den betreffenden anderen Terminals auf.
-
Der
Relaisterminal-Auswahlabschnitt 503 wählt aus den Terminals in der
Umgebung als Relaisterminal ein Terminal mit einem hohen Erwartungswert
aus.
-
Der
Datenerhalt-Bestätigungsabschnitt 504 bestätigt den
Datenerhalt bei einem Relaisterminal oder dem Zielterminal.
-
Der
Funkfeldintensität-Feststellungsabschnitt 505 stellt
die Intensität
der von anderen Terminals ausgesendeten Funkwellen fest.
-
Der
Bewegungsrichtungs-Feststellungsabschnitt 506 stellt die
Bewegungsrichtungen von anderen Terminals fest.
-
Der
Kommunikationszeit-Berechnungsabschnitt 507 berechnet die
Zeit, während
der eine Kommunikation mit anderen Terminals möglich ist.
-
Der
Kopfinformationenbeschreibungsabschnitt 508 beschreibt
die auf dem Übertragungserfolghistorienbericht 509 beruhenden
Informationen im Kopfbereich der zu übertragenden Daten (6A).
-
Der Übertragungserfolghistorienbericht 509 enthält Informationen
wie die Übertragungszeitsituation,
die Kommunikationsparameter und den Übertragungserfolgsbericht.
-
Die
Kommunikationswegtabelle 510 enthält die Routeninformationen,
die anzeigen, durch welches Relaisterminal die Daten laufen, um
das Zielterminal zu erreichen.
-
Die
Datenübertragungstabelle 511 und
die Datentabelle 512 wurden bereits oben beschrieben (3).
-
Die 6A und 6B zeigen
Datenformate.
-
Die 6A zeigt
beispielhaft Daten, die aus einem Kopfbereich und einem Datenbereich
bestehen, die vom Übertragungsquellenterminal
zum Zielterminal übertragen
werden. Der Kopfbereich besteht aus dem ID 61 (laufende
Nummer, Dateiname, Datenbereich undsoweiter), der Zieladresse 62,
die die Adresse die Zielterminals (DST) angibt, die Übertragungsquellenadresse 63,
die die Adresse des Übertragungsquellenterminals
(SRC) angibt, eine Zielposition 64, die Positionsinformationen über das
Zielterminal enthält,
eine Übertragungsquellenposition 65, die
Positionsinformationen über
das Übertragungsquellenterminal
enthält,
die verstrichene Zeit 66, die den Unterschied zwischen
dem Zeitpunkt, als die Daten ausgesendet wurden, und dem gegenwärtigen Zeitpunkt
angibt, eine Gültigkeitsperiode 67,
die die Zeitspanne der Gültigkeit
der Daten angibt, ein Fehlerprüffeld 68 (CRC)
und einen Hashwert 69.
-
Die 6B zeigt
beispielhaft die Informationen, die die Bewegungssituation eines
Terminals angeben und die aus Positionsinformationen 69 (GIS, GPS
und dergleichen), der Bewegungsrichtung 602, einem Verbindungshistoriebericht 603 über Verbindungen
mit Basisstationen, einen Bewegungsweghistorienbericht 604,
einen Index 605 für
die Mobilität (mobiles
Terminal, festes Terminal und dergleichen) und Anbringungsinformationen 606 (über die
Anbringung an einem Bus als umlaufendes Fahrzeug, an einem Eisenbahnzug,
der sich in einer festen Richtung bewegt, usw.) umfassen.
-
Die 7 ist
eine Darstellung des Datenübertragungsvorgangs.
-
Im
folgenden werden die Informationen, die an das betreffende Terminal übertragen
werden, um darauf aufmerksam zu machen, daß ein Terminal von einem anderen
Terminal Daten erhalten hat, als "ACK" bezeichnet.
Das vom Relaisterminal abgegebene ACK wird ACK1 genannt und das
vom Zielterminal abgegebene ACK ACK2. Im ACK können Informationen wie Positionsinformationen über das
Terminal, das die Daten erhalten hat, und Informationen über die
Bewegungsrichtung des Terminals enthalten sein.
-
Im
folgenden wird angenommen, daß die
Positionsinformationen für
das Zielterminal bekannt sind (Zielposition 64).
-
Wenn
mit dem Zielterminal keine direkte Verbindung hergestellt werden
kann (wenn es in der Kommunikationswegtabelle 510 keine
Zielterminalinformationen gibt), verwendet der Relaisterminal-Auswahlabschnitt 503 des Übertragungsquellenterminals
den Bewegungsrichtungs-Feststellungsabschnitt 506, den
Kommunikationszeit-Berechnungsabschnitt 507 und dergleichen;
wählt aus
den Terminals in der Umgebung, mit denen eine Kommunikation möglich ist,
als Relaisterminal ein Terminal aus, das einen hohen Erwartungswert
hat (z.B. das Terminal, das dem Zielterminal am nächsten ist,
wenn im Erwartungswert der Nähe
zum Zielterminal eine große
Bedeutung beigemessen wird) (Schritt 701); und überträgt die Daten
zu dem betreffenden Relaisterminal (Schritt 702). Wenn
es die Daten vom Übertragungsquellenterminal
erhält
(Schritt 703), überträgt das Relaisterminal
ACK1 die Daten zum Übertragungsquellenterminal
(Schritt 704), und das Übertragungsquellenterminal
nimmt das ACK1 vom betreffenden Relaisterminal auf (Schritt 705).
Wenn mit dem Zielterminal eine direkte Verbindung aufgebaut werden
kann (wenn in der Kommunikationswegtabelle 510 Informationen über das
Zielterminal enthalten sind), werden die Daten direkt zum Zielterminal übertragen.
-
Wenn
das Relaisterminal direkt mit dem Zielterminal in Verbindung treten
kann, gibt das Relaisterminal die vom Übertragungsquellenterminal
erhaltenen Daten zum Zielterminal weiter (Schritt 706). Wenn
es die betreffenden Daten erhält
(Schritt 707), überträgt das Zielterminal
ACK2 zu dem betreffenden Relaisterminal (Schritt 708),
und wenn das Relaisterminal das ACK2 vom Zielterminal erhält (Schritt 709), überträgt es das
ACK2 zum Übertragungsquellenterminal
(Schritt 710), und das Übertragungsquellenterminal
nimmt das ACK2 vom Relaisterminal auf (Schritt 711).
-
Der
Datenerhalt-Bestätigungsabschnitt 504 stellt
durch das erhaltene ACK fest, daß die Daten am Relaisterminal
(oder am Zielterminal) angekommen sind.
-
Wenn
es nach einer festen Zeit (Ablaufzeit) kein ACK erhalten hat, überträgt das Übertragungsquellenterminal
(oder das Relaisterminal) die Daten erneut zum Relaisterminal (oder
Zielterminal), und wenn das ACK vor Zeitablauf erhalten wird, wird
die Ablaufzeit zurückgesetzt.
-
Dieses
Zurücksetzen
kann auf der Basis der bis zum Ankommen von ACK2 beim Übertragungsquellenterminal
verstrichenen Zeit oder einem statistischen Ergebnis davon dynamisch
erfolgen. Datenübertragungsprozesse,
die dadurch überflüssig werden,
werden unterdrückt,
so daß eine
effiziente Datenübertragung
möglich
ist. Wenn das Relaisterminal die Daten nicht innerhalb der festgelegten
Zeitspanne übertragen
konnte, kann es dem Übertragungsquellenterminal
einen Fehler melden. Darüberhinaus kann
es einen Fehler über
das zellulare Kommunikationsnetzwerk melden.
-
Wenn
sich das Relaisterminal, das die Daten aufgenommen hat, in eine
Richtung bewegt, die zum Erreichen des Zielterminals nicht geeignet
ist, oder wenn kein ACK zurückgegeben
wird, erhöht
das Übertragungsquellenterminal
(oder das Relaisterminal, das die Daten übertragen hat) den Erwartungswert
für das
Terminal, das als gegenwärtiges
Relaisterminal ausgewählt
wurde, und wählt
als Relaisterminal dann ein anderes Terminal aus, das in der Folge
mit den Daten versorgt wird und eine erneute Übertragung der Daten vornimmt.
-
Wenn
zwischen dem Übertragungsquellenterminal
und dem Zielterminal mehrere Relaisterminals liegen, führen diese
Relaisterminals jeweils die oben erläuterten Relaisterminalprozesse
aus, mit dem Ergebnis, daß die
Daten über
alle Relaisterminals zum Zielterminal übertragen werden.
-
Beim
Erstellen des Abschlußberichts überträgt das Zielterminal
auf die gleiche Weise wie oben das ACK zu den Terminals mit hohen
Erwartungswerten. Das Zielterminal aktualisiert wie erwähnt die Festlegung
der Erwartungswerte unter Verwendung eines Auto-Navigationssystems
oder dergleichen oder legt die Erwartungswerte auf der Basis der
von den Terminals in der Umgebung erhaltenen Daten neu fest.
-
Wenn
bekannt ist, daß das Übertragungsquellenterminal
und das Zielterminal von einem zellularen Telephonnetzwerk Gebrauch
machen, kann das ACK über
das zellulare Telephonnetzwerk vom Zielterminal zum Übertragungsquellenterminal übertragen
werden. Da beim ACK die Datengröße im Vergleich
zu den Daten der 6A sehr gering ist, sind auch
bei einem zellularen Telephonnetzwerk mit entsprechenden Kommunikationskosten
die Kosten nicht so groß.
Es kann somit auch dann der Abschlußbericht abgegeben werden,
wenn es in der Umgebung kein Terminal mit einem hohen Erwartungswert
gibt.
-
Die 8A und 8B sind
Darstellungen zur Erläuterung
eines Verfahrens zum Bestimmen der Bewegungsrichtung eines Terminals.
-
Die 8A zeigt
die Positionsbeziehungen zwischen einem Terminal, das als Relaisterminalkandidat
dient (im folgenden Relaisterminalkandidat genannt), und dem Zielterminal,
und die 8B ein Flußdiagramm für den Bewegungsrichtungs-Feststellungsabschnitt 506.
-
Der
Bewegungsrichtungs-Feststellungsabschnitt 506 berechnet
auf der Basis der Positionsinformationen über den Relaisterminalkandidaten,
die vom Bewegungssituations-Übertragungs-
und Empfangsabschnitt 502 erhalten werden, den Abstand
D des Relaisterminalkandidaten vom Zielterminal zum Zeitpunkt T,
den Abstand D' des
Relaisterminalkandidaten vom Zielterminal zum Zeitpunkt T + Δ und den Winkel θ zwischen
der geraden Linie, die den Relaisterminalkandidaten zum Zeitpunkt
T mit dem Zielterminal verbindet, und der geraden Linie, die die
Bewegungsrichtung des Relaisterminalkandidaten angibt (Schritt 81).
Der Feststellungsabschnitt enthält,
in der Speichervorrichtung 3 gespeichert oder dergleichen, die
Funktion P = α × θ + β × D (α, β: Gewichtungsparameter)
für die
Auswahl eines Relaisterminals.
-
Der
Relaisterminal-Auswahlabschnitt 503 stellt fest, ob D (oder
D') größer ist
als ein Schwellenwert Dth (Schritt 82), und wenn D (oder
D') > Dth ist, werden α und β so variiert,
daß θ über D die
Priorität hat,
und dann P berechnet (Schritt 83). Wenn D (oder D') ≤ Dth ist,
werden α und β so variiert,
daß D über θ die Priorität hat, und
dann P berechnet (Schritt 84). Um ein Relaisterminal auszuwählen, gibt
der Auswahlabschnitt einem Terminal mit einem hohen Wert von P die
Priorität
(Schritt 85). Dth kann dabei auf jede beliebige Weise festgelegt
werden. Zum Beispiel kann es auf der Basis von Simulationsergebnissen
für verschiedene
Umgebungen fest gelegt werden, oder es wird dynamisch in Reaktion
auf den Bereich festgelegt, in dem sich das Terminal bewegt. Der
genannte Algorithmus ist auch nicht auf dieses Verfahren beschränkt.
-
Die
Bewegungsrichtung kann auch auf der Basis von geographischen Informationen
wie dem Verlauf der Straße
und der befahrenen Spur (GIS-Informationen), von Informationen über die
Anbringung des Terminals, von Änderungen
in den Positionsinformationen; der Bewegungshistorie für das Terminal,
von Informationen über
die Historie des Zielortes, Informationen über die Verbindungen mit der
Basisstation, Informationen über
Sensoren wie GPS und dergleichen festgestellt werden. Die Bewegungsrichtung
kann darüberhinaus
auf der Basis von Änderungen
in der Intensität
der von. anderen Terminals ausgesendeten Funkwellen festgestellt
werden, die vom Funkfeldintensitäts-Feststellungsabschnitt 505 aufgenommen
werden. Zum Beispiel können
die Beziehungen zwischen den Abständen zwischen den Terminals
und der Intensität
des Funkfeldes (welcher Abstand zwischen den Terminals ergibt zu
welcher Zeit welche Intensität
des Funkfeldes) als bekannte Daten für jedes Terminal vorher abgespeichert
werden. Mittels der beiden Änderungswerte
in der aufgenommenen Intensität
des Funkfeldes und der Änderung
des Abstandes pro Zeiteinheit kann dann festgestellt werden, ob
der gegenwärtige
Abstand zwischen den Terminals zunimmt oder nicht.
-
Es
ist möglich,
die mit diesen Methoden erhaltenen Ergebnisse in den Erwartungswerten
wiederzugeben. Das Terminal kann auch durch Rückgriff auf den betreffenden
Erwartungswert Daten übertragen,
wenn es in der Umgebung ein Terminal mit einem Erwartungswert gibt,
der über
einem bestimmten festen Wert liegt, und keine Daten übertragen, wenn
es kein solches Terminal gibt, und auf das Erscheinen eines Terminals
mit einem Erwartungswert warten, der über dem bestimmten festen Wert
liegt.
-
Der
Datenübertragungs-
und Empfangsabschnitt 501 des Relaisterminals überträgt die Daten vom
eigenen Terminal zu einem anderen Terminal, wenn sich das eigene
Terminal vom Zielterminal weg bewegt. Wenn sich das eigene Terminal
nicht vom Zielterminal wegbewegt, werden keine Daten vom eigenen
Terminal zu einem anderen Terminal übertragen.
-
Die 9 ist
ein Flußdiagramm
für den
Kommunikationszeit-Berechnungsabschnitt 507.
-
Ein
Terminal, das eine Datenübertragung versucht,
berechnet bei der Auswahl eines Relaisterminals auf der Basis der
Intensität
R der empfangenen Funkwellen, der Änderungsrate ΔR davon,
der Positionsinformationen, der Bewegungsgeschwindigkeit und dergleichen
die Zeit, während
der eine Kommunikation mit dem Relaisterminalkandidaten möglich ist
(die Zeit, während
der eine Verbindung möglich
ist: Tcon) (Schritt 91). Dies kann auf die gleiche Weise
auch auf der Basis von gespeicherten bekannten Daten über die
Beziehungen zwischen dem Abstand zwischen den Terminals und der
empfangenen Intensität
des Funkfeldes und der beiden Werte für die empfangene Intensität des Funkfeldes
pro Zeiteinheit und der Änderung
des Abstandes pro Zeiteinheit berechnet werden.
-
Das
Terminal stellt dann fest, ob es möglich ist, innerhalb der berechneten
Zeit Tcon die Übertragung
der zu übertragenden
Dateneinheit zum Relaisterminal abzuschließen (Schritt 92),
und wenn sie feststellt, daß dies
möglich
ist, versucht es, die Daten zu übertragen,
und speichert den Erfolg/Mißerfolg dieses
Versuchs zusammen mit der Situation während der Übertragung und den Übertragungsbedingungen
als Übertragungserfolghistoriebericht 509 in der
Speichervorrichtung 3 (Schritt 93). Wenn es feststellt,
daß eine
vollständige Übertragung
nicht möglich
ist, beendet es die Übertragung
oder versucht, andere Daten zu übertragen
(Schritt 94).
-
Das
Terminal modifiziert das Datenübertragungsverfahren
(einseitige oder mehrseitige Übertragung
usw.) während
der Datenübertragung
in Reaktion auf die Situation des Terminals selbst und die Situation
an den, anderen Terminals. Wenn die genaue gegenwärtige Position
des Zielterminals unklar ist oder wenn sich das Zielterminal mit
hoher Geschwindigkeit bewegt, führt
das Übertragungsquellenterminal
eine Ausstrahlung an alle Terminals in der Umgebung aus, mit denen
eine Kommunikation möglich
ist, wenn die Bedingung erfüllt
ist, daß der
Abstand zwischen dem Übertragungsquellenterminal
(oder dem Relaisterminal) und der Position, an der sich das Zielterminal
zu Beginn befand (Zielposition 64) kleiner ist als ein
bestimmter Wert oder so.
-
Die 10 ist
ein Diagramm zur Erläuterung der
Ausführung
der Ablaufsteuerung.
-
Durch Übertragen,
zusätzlich
zu den Daten, der akkumulierten Transferlaufzeit für die Datenübertragung
zwischen den einzelnen Terminals und von ACK2 kann das Übertragungsquellenterminal
feststellen, wieviel Zeit bis zur Ankunft der Daten am Zielterminal
verstreicht. In Reaktion auf diese kumulative Transferlaufzeit ist
es möglich,
durch Einstellen der Werte für
die Paketgröße, die
Kommunikationsrate, die Paketübertragungsperiode
und dergleichen einen Datenstau zu vermeiden, und es ist möglich, Ressourcen
wie Puffer und CPUs effizient zu nutzen.
-
Mit
dem vorliegenden Dokument ist es möglich, ein System für ein Ad-hoc-Netzwerk
mit einer sich dynamisch ändernden
Topologie zu schaffen, mit dem Daten von einem Übertragungsquellenterminal
bis zu einem Zielterminal übertragen
werden können,
wobei bestätigt
werden kann, ob es möglich
war, die Daten sicher zu übertragen
und abzuliefern.
-
Der
Fachmann erkennt, daß,
auch wenn die vorstehende Beschreibung anhand von Ausführungsformen
der Erfindung erfolgte, die Erfindung darauf nicht beschränkt ist
und im Rahmen des Umfangs der Erfindung und der folgenden Patentansprüche verschiedenen Änderungen
und Modifikationen möglich
sind.