-
Die
vorliegende Erfindung betrifft drahtlose Kommunikationen und, im
besonderen, das Halten von drahtlosen Verbindungen zwischen Sendern
und Empfängern.
-
Bei
der drahtlosen Kommunikation werden Daten zwischen einem Sender
und einem Empfänger übertragen,
ohne daß zwischen
dem Sender und dem Empfänger
eine physische Verbindung hergestellt wird. Ein Beispiel für die drahtlose
Kommunikation ist die Datenübertragung
zwischen einem Computerprogramm, das durch einen Sender (wie etwa
eine mobile Rechenvorrichtung: mobile computing device oder MCD)
ausgeführt wird,
und einem Computerprogramm, das durch einen Empfänger (wie etwa einen Hostcomputer)
ausgeführt wird.
Um solch eine Datenkommunikation zu erreichen, werden Protokolle
und Standards zwischen dem Sender und dem Empfänger implementiert. Ein Modell
für solche
Protokolle und Standards ist das Modell des offenen Kommunikationssystems
(Open System Interconnect: OSI), das durch die International Standards
Organization (ISO) vorangetrieben wird. Das OSI-Modell gliedert
Kommunikationsprotokolle in Schichten, wie in die Anwendungsschicht,
die Darstellungsschicht, die Kommunikationssteuerungsschicht, die
Transportschicht, die Netzschicht, die Verbindungsschicht und die
physikalische Schicht.
-
Ein
Beispiel für
ein Netzwerkprotokoll, das zusammen mit dem OSI-Modell sowohl für die drahtgebundene
als auch für
die drahtlose Datenkommunikation verwendet wird, ist das Transport
Control Protocol/Internetwork Protocol (TCP/IP).
-
Zur
Zeit gibt es mehrere Netzverbindungstechniken, die das Ethernet,
das lokale Funkdatennetz (WLAN), Bluetooth, die Infrarottechnik
und andere enthalten. Eine Netzschnittstellenkarte (network interface card:
NIC) implementiert eine Netzverbindungstechnik. Charakteristisch
für nebenein ander
bestehende Netzverbindungen ist, daß es keine Lösung nach
einem allgemeingültigen
Schema gibt, in Rechenvorrichtungen wahrscheinlich mehrere Schnittstellen
installiert sind, mehrere Netzverbindungsoptionen die Konnektivität des Nutzers
verbessern (durch das Vorsehen von verschiedenen Netzverbindungsumgebungen
und redundanten Verbindungen) und sie ein wichtiges Merkmal für mobile
Rechenvorrichtungen sind.
-
Verschiedene
drahtlose Kommunikationstechniken werden typischerweise für verschiedene
Zwecke entwickelt. Zum Beispiel zielen Bluetooth (IEEE 802.15) und
die Infrarottechniken auf die persönliche Kurzstreckenkommunikation
(< 10 m), während das
Funk-LAN (IEEE 802.11, IEEE 802.11b, IEEE 802.11a) zum Bereitstellen
von Kommunikationsdienstleistungen im mittleren Bereich (< 1 km) dient. Andere
drahtlose Kommunikationstechniken, wie beispielsweise 3-G Wireless,
drahtlose Router (d. h. Flash-OFDM Radio Router von Flarion, etc.)
und der drahtlose satellitengestützte
Zugriff sollen ziemlich große
Versorgungsbereiche (Zellen) bedienen. Auf Grund der Kosten, der
Leistung und vieler anderer strittiger Punkte ist es wahrscheinlich,
daß mehrere
Techniken in der Welt der mobilen Rechentechnik nebeneinander bestehen
werden, da es einfach keine allgemeingültige Lösung gibt. Folglich werden
Konnektivitätsenthusiasten
in ihren Rechenvorrichtungen wahrscheinlich gleichzeitig mehrere
Schnittstellenkarten installiert haben. Auch in kleinen PDA-Vorrichtungen können mehrere
Netzschnittstellen vorhanden sein, wie etwa ein Infrarot-(IR)-Port
oder eine NIC durch PCMCIA-, USB- oder Compact-Flash-Schnittstellen.
Mit dem "Versorgungsbereich" von jeder drahtlosen
Kommunikationstechnik ist durchgängig
die geographische Region gemeint, in der die Verbindung unter normalen
Betriebsbedingungen funktionieren wird. Manchmal wird derselbe Ausdruck
bei einer drahtgebundenen Verbindungstechnik verwendet. In diesem
Fall ist damit die Region gemeint, in der der Nutzer das drahtgebundene Netzmedium
(Kabel) in seinen Computer stecken kann.
-
1 zeigt
eine beispielhafte Broadcast-Domäne 100,
die eine mobile Rechenvorrichtung (MCD) 110 enthält, die
mit dem Ethernet 120 gekoppelt ist. Die MCD 110 ist
drahtlos durch eine Bluetooth-Netzschnittstellenkarte (NIC) mit
einem Bluetooth-Zugriffspunkt 130 gekoppelt, der seinerseits
mit der drahtgebundenen Ethernet-Haupttrasse 120 gekoppelt
ist. Die MCD 110 ist durch die Netzschnittstellenkarte
(NIC) 802.11b auch drahtlos mit dem Zugriffspunkt 802.11b 140 gekoppelt,
der auch mit dem drahtgebundenen Ethernet 120 gekoppelt
ist. Die MCD 110 ist durch die Netzschnittstellenkarte
(NIC) 802.11a auch drahtlos mit dem Zugriffspunkt 802.11a 170 gekoppelt,
der auch mit dem drahtgebundenen Ethernet 120 gekoppelt
ist. Darüber
hinaus ist die MCD 110 durch die NIC 1000 baseT mit dem
Faserkanal 150 gekoppelt, der mit der Brücke 160 gekoppelt
ist, die ihrerseits mit dem Ethernet 120 gekoppelt ist.
Somit enthält
die in 1 gezeigte Broadcast-Domäne 100 eine mobile
Rechenvorrichtung 110 mit mehreren Verbindungsschnittstellen
in demselben Subnetz.
-
Netze
im Internet sind oft in Broadcast-Domänen gegliedert, um das Routing
und andere administrative Funktionen zu erleichtern. Eine Broadcast-Domäne ist die
Teilmenge eines Netzes, in dem Broadcast-ARP-Meldungen an alle beteiligten
Hostcomputer verteilt werden. Strukturell kann diese Domäne mehrere
Segmente von Broadcast-Medien enthalten, denen möglicherweise verschiedene Verbindungstechniken zugrunde liegen. Über jedes
einzelne Broadcast-Segment können
jegliche Datenrahmen, die durch das Netzmedium transportiert werden,
durch alle Hosts, die mit dem Segment verknüpft sind, empfangen werden.
Diese Segmente können über Vorrichtungen
wie beispielsweise Repeater, Hubs (Multi-Port-Repeater) und Schalter zusammen
verbunden werden, um größere Broadcast-Segmente
zu bilden. Diese größeren Broadcast-Segmente können dann
unter Verwendung der verschiedensten Brückenmechanismen (einschließlich aller
Varianten des Standards IEEE 802.1, wie etwa MAC-Brücken, die
durch IEEE 802.1D definiert sind, und die virtuellen LANs oder VLANs,
wie durch IEEE 802.1Q definiert) verbunden werden, um eine "Broadcast-Domäne" zu bilden. Da Brückenvorrichtungen
typischerweise eine Filterung auf dem Medium-Access-Control-(MAC)-Level (Zugriffskontrollebene)
ausführen
und nicht alle MAC-Broadcast-Rahmen über alle überbrückten Broadcast-Segmente verteilt
werden, schließt
ein gewisser allgemeiner Gebrauch des Ausdrucks "Broadcast-Domäne" überbrückte Broadcast-Segmente
aus. In der obigen Definition werden die überbrückten Broadcast-Segmente, solange
Broadcast-ARP-Meldungen
diese Brückenvorrichtungen
durchlaufen können,
als zu derselben Broadcast-Domäne
gehörend
angesehen. Der Einfachheit halber werden die Ausdrücke "Subnetz", "Lokales Datennetz" oder "LAN" und "Broadcast-Domäne" austauschbar verwendet.
Ferner werden in dem folgenden Kontext die Ausdrücke "Knoten", "Host" und "MCD" austauschbar verwendet.
Manchmal kann auf eine MCD auch unter Verwendung von einem dieser
Ausdrücke
Bezug genommen werden, wenn die Mobilität nicht besonders hervorgehoben
werden muß.
-
Die
Konfiguration der in 1 gezeigten MCD 110 ist
für End-Hosts
in dem drahtgebundenen Internet nicht gerade üblich, die gewöhnlich nur
eine Netzschnittstelle haben. Computer mit mehreren Netzschnittstellen
werden traditionell als "multi-homed" bezeichnet und sind
für Datenpaketweiterleitungszwecke
eingerichtet, wobei sie zum Beispiel als Router oder Gateway dienen
oder Firewall-Funktionen ausführen.
Unterschiedlichen Schnittstellenkarten auf einem "Multi-Homed"-Computer werden
typischerweise Adressen in verschiedenen Subnetzen zugeordnet. Da
das Internet-Routing schnittstellenorientiert ist, erfolgt das Leiten
eines Paketes zu der Schnittstelle A des Zielcomputers unabhängig davon,
wie ein Paket zu der Schnittstelle B desselben Computers geleitet
wird. Des weiteren wird das Netz das Routing zu der Schnittstelle
B so behandeln, als ob es ein Routing für einen völlig anderen Ziel-Host wäre.
-
Obwohl
keine Regeln dagegensprechen, daß ein Computer mit mehreren
Schnittstellenkarten IP-Adressen in demselben Subnetz erhält, sind
solche Konfigurationen in traditionellen Netzen selten zu finden.
Denn traditionelle LANs verwenden typischerweise eine einzelne Verbindungstechnik,
d. h. das Ethernet. In solch einem LAN injizieren mehrere Schnittstellen
desselben Computers Daten in dasselbe physische Medium und absorbieren
sie von ihm, und sie werden durch die Verbindungstechnik desselben
Typs bedient. Diese Schnittstellen werden typischerweise auch durch
denselben Satz von Servern in dem LAN bedient. Für das Vorhandensein von solch
einer Konfiguration ist der Nutzen gering.
-
Andererseits
ist in einem LAN unter Verwendung von drahtlosen Techniken die Situation
anders. Das LAN umfaßt
mehrere Verbindungstechniken, wie in 1 gezeigt.
Ein typisches LAN, das die drahtlose Technik verwendet, enthält drahtgebundene
Segmente und drahtlose Segmente, die ver schiedene Verbindungstechniken
nutzen (d. h., das Ethernet 120 für das verdrahtete Segment und
IEEE 802.11 140 für
das drahtlose Segment). Kompliziertere LANs können auch mehrere drahtlose
Segmente von verschiedenen drahtlosen Verbindungstechniken 130, 140 enthalten.
Um diese verschiedenen Verbindungstechniken zu nutzen, muß eine MCD 110 mehrere
Schnittstellenkarten für
diese Verbindungstechniken 130, 140 haben. Da
diese NICs mit demselben LAN 120 verbunden sind, werden
die NICs Adressen in demselben Subnetz haben. Da Versorgungsbereiche
von verschiedenen Verbindungstechniken überlappt sein können, kann
eine MCD 110 über mehrere
Verbindungen verfügen,
die mit demselben Subnetz verbinden. Die Mobilität des Nutzers erschwert die
Konnektivitätssituation
noch mehr. Auf Grund des Versorgungsbereichs der verschiedenen Verbindungstechniken
kann eine MCD über
verschiedene Sätze
von Verbindungstechniken an verschiedenen Orten verfügen.
-
Da
sich der Satz von Verbindungstechniken, die auf einer MCD zur Verfügung stehen,
bei Fortbewegung verändert,
muß die
MCD die zugrundeliegende Verbindungstechnik für laufende Kommunikationssessionen
entsprechend oft umschalten. Solch ein Umschalten kann in gegenwärtigen Systemen
jedoch nicht ohne Beeinträchtigung
der laufenden Session bewältigt
werden. Das Problem tritt in der Transportschicht auf. Kommunikationen
zwischen Anwendungen werden über
Transportschichtverbindungen hergestellt, die virtuelle Verbindungen
(Zustände)
sind, die durch kommunizierende Parteien aufrechterhalten werden.
Wenn sich die zugrundeliegende Verbindungstechnik ändert, können Transportschichtverbindungen
nicht intakt bleiben. Folglich kann das Umschalten nicht nahtlos
erfolgen. Um das Problem des Aufrechterhaltens der Transportverbindung über eine
Umschaltung über
Verbindungstechniken hinweg zu verdeutlichen, wird ein kurzer Überblick
darüber
gegeben, wie Transportschichtverbindungen gegenwärtig hergestellt werden und
warum ein simples Umschalten zwischen Verbindungstechniken zu einer
Beendigung der Transportverbindung führt.
-
Im
allgemeinen gibt es zwei Typen von Transportschichtverbindungen,
die in TCP/IP-Netzen existieren, nämlich die TCP-Verbindung und
die User-Datagram-Protocol-(UDP)-Verbindung. Die erstere ist verbindungsorientiert,
während
die letztere verbindunglos ist.
-
Wenn
ein Anwendungsprogramm (oder eine Anwendung) eine gleichberechtigte
(peer-to-peer) TCP-Verbindung zu einem abgesetzten Host einrichten
muß, öffnet die
Anwendung einen Stream-Socket und versucht, mit einem spezifischen
Port des abgesetzten Hosts zu verbinden. Jedes Ende eines Sockets
wird durch eine IP-Adresse und eine Port-Nummer identifiziert. Die
Port-Nummer ist ein interner Parameter für die Transportschicht, der
durch den Netzkern verwendet wird und typischerweise während der
Betriebslebenszeit des Sockets nicht modifiziert wird. Die Verbindung
ist durch das 4-Tupel (Quell-IP, Quell-Port, Ziel-IP, Ziel-Port) definiert.
Das lokale Ende des Sockets ist an eine besondere lokale Schnittstelle
(die durch die IP-Adresse der Schnittstelle identifiziert wird)
und einen Port gebunden. Die lokalen Bindungen können entweder durch die Anwendung
spezifiziert sein oder durch den IP-Kern zugeordnet werden. Die
Integrität
einer Verbindung hängt von
beiden Enden (IP-Adresse und Port-Nummer) der Verbindung ab, die
während
der Betriebslebenszeit der Verbindung fest bestehenbleibt. Die beiden
Enden der Verbindung werden nicht nur dazu verwendet, um die andere
Partei durch die Endpunkte zu identifizieren, sondern an diese Endpunkte
sind auch verschiedene Zustände
der Verbindung gebunden. Eine Voraussetzung, die unterstellt wird,
ist die, daß die
Port-Nummer durch keinerlei Veränderungen
einer unteren Schicht beeinflußt
wird, sondern die IP-Adresse potentiell durch das Umschalten der
Verbindungsschicht beeinflußt
wird.
-
Um
eine UDP-Verbindung zu öffnen, öffnet eine
Anwendung einen Datagramm-Socket. Obwohl es keine an die Endpunkte
gebundenen Verbindungszustandsinformationen für einen Datagramm-Socket gibt,
kann dennoch die Einschränkung
zum Festlegen von Verbindungsendpunkten existieren. Erstens kann
bei einer IP-Schicht-Kernimplementierung, falls die Zuordnung eines
Sockets und seiner lokal gebundenen Adresse (lokale Schnittstelle)
statisch ist, das Verändern
der Verbindungstechnik, durch die ein Socket bedient wird, während ein
Socket noch aktiv ist, zu einer Beendigung der Verbindung führen, da
der IP-Kern ankommende Pakete (von der Schnittstelle der neuen Verbindungstechnik)
nicht an den korrekten Socket (der noch an die Schnittstelle der
alten Verbindungstechnik gebunden ist) liefern kann. Der von dem
Socket abgehende Datenverkehr kann die neue Verbindungstechnik aus
demselben Grund nicht nutzen. Zweitens können in der Anwendungsschicht,
da Datagramm-Sockets dieselbe Anwendungsprogrammierschnittstelle
(Application Programming Interface: API) wie Stream-Sockets haben,
obwohl es nicht erforderlich ist, einige Anwendungen dennoch Datagramm-Sockets
an die lokale IP-Adresse und Port-Nummer zu Beginn des Socket-Aufrufs binden und
somit die Bindung fixieren. Während
manche anderen Anwendungen nur den verbindungslosen Teil der API-System-Anrufe
verwenden, können
sie sich intern an die IP-Adresse und die Port-Nummer des abgesetzten
Endes erinnern (entweder durch Lesen aus dem ersten Paket, das von
jenem Ende kommt, oder durch eine Nutzereingabe). Diese Anwendungen
lesen dann aus ihrem eigenen Speicher, um die Identität des Ziel-Sockets
zu erhalten, wenn die Anwendung ein Paket an das andere Ende sendet.
Falls dies geschieht, müssen
die Verbindungsendpunkte während
der Betriebslebenszeit eines Sockets unverändert bleiben.
-
Folglich
müssen
in der verwandten Technik zum Aufrechterhalten der Integrität einer
Transportschichtverbindung die IP-Adressen von beiden Enden der
Verbindung während
der gesamten Betriebslebenszeit der Verbindung unverändert bleiben.
Eine jede Veränderung
der Endpunktidentität
kann zur Beendigung der Verbindung führen.
-
Während ein
Empfänger
(d. h. ein Nutzer) bezüglich
eines Senders stationär
ist, stellt die obige Beschränkung
gewöhnlich
kein Problem dar, da die verfügbare
Verbindungstechnik während
der Betriebslebenszeit eines Sockets üblicherweise unverändert bleibt.
Falls sich jedoch entweder der Empfänger oder der Sender bewegt
(wie im Falle eines mobilen Nutzers), werden solche Einschränkungen
einen transparenten Wechsel über
Verbindungstechniken hinweg verhindern, wie es im folgenden Szenario
erläutert
wird.
-
Es
soll das Szenario betrachtet werden, daß ein Nutzer eine MCD 110 mit
einem Laptop hat, der mit einer 802.11-Karte und einer Ethernet-Karte versehen
ist. Wenn der Nutzer mit einer MCD 110 an dem Ort A ist,
der sowohl durch das Ethernet 130 als auch durch Zugriffspunkte
802.11 140 bedient wird, wird eine Transportverbindung über die
Schnittstellenkarte des Ethernet 130 hergestellt. Dann
zieht der Nutzer (das heißt,
von der MCD 110) das Ethernet-Kabel heraus. Auch wenn der
Laptop (oder die MCD 110) noch im Versorgungsbereich eines
802.11-Zugriffspunktes 140 ist und mit dem Rest des Netzes 120 verbunden
bleibt, kann die zuvor hergestellte Transportverbindung nicht fortgesetzt
werden, da die Verbindungsschichtverbindung für die Transportverbindung (über das
Ethernet) nicht mehr vorhanden ist.
-
2 zeigt
eine Transportverbindung 200, die zwischen Anwendungen 202 und 280 hergestellt
wird. Wie bei der Transportverbindung 200 gezeigt, ist
eine Anwendung 202 durch einen Socket 206 mit
einem Netzkern 204 gekoppelt. Der Socket 206 unterliegt
einer Bindung an eine Network Link Device Representation (NLDR) 208,
die mit einem Vorrichtungstreiber (MAC) 210 verbindet.
Die NLDR 210, wie sie hierin verwendet wird, ist die Netzschicht-Softwaredarstellung
einer Vorrichtung. Die MAC-Adresse 210 verbindet ihrerseits
mit einer Netzschnittstellenkarte, wie etwa der Ethernet-Netzschnittstellenkarte 220,
die mit einem Netz 240 verbindet. Das Netz 240 verbindet
dann mit einer Netzschnittstellenkarte, wie etwa der Ethernet-NIC 250,
die mit einem Vorrichtungstreiber 260 verbindet. Ein Vorrichtungstreiber 260 verbindet
dann mit dem Netzkern 270 (das Innere des Netzkerns 270 hat
dieselbe Struktur wie der Netzkern 204, der eine NLDR 274 und
einen Socket 272 hat), der mit der Anwendung 280 verbindet.
Beim Sender 296 existiert zusätzlich zu dem Stapel für das Ethernet
(208, 210 und 220) ein anderer, ähnlicher
Stapel für
die drahtlose LAN-Netzschnittstellenkarte 290, die mit
dem MAC 292 verbindet, der mit der NLDR 294 verbindet.
Da die Transportverbindung über
das Ethernet hergestellt wird, ist dieser drahtlose LAN-Stapel gegenwärtig an
keinen Socket gebunden, der durch die Anwendung 202 verwendet
wird.
-
Bei
der verwandten Technik gibt es Probleme, die mit dem Umschalten
auf eine alternative Netzverbindung zusammenhängen. Um einen spezifischen
Socket oder eine Transportverbindung ordnungsgemäß zu verwenden, muß die ordnungsgemäße Reihenfolge
von Modulen mit der korrekten Adresse und den Datenparametern aufgerufen
werden. Diese Beziehung wird als Bindung bezeichnet. In gegenwärtigen Systemen
ist die Bindung zwischen 210 und 220 statisch.
Sie entsteht, wenn die NIC initialisiert wird, und wird ausgelöst, wenn
die NIC gestoppt oder entfernt wird. Die Bindung zwischen 208 und 210,
die auch als MAC-an-IP-Bindung bezeichnet wird, ist semistatisch.
Semistatisch bedeutet, daß es
Möglichkeiten
zum Verändern
dieser Bindung (typischerweise durch manuell eingegebene Befehle)
gibt, aber die Veränderung
sollte nicht während der
normalen Operation erfolgen. Somit ist die Bindung von der NLDR 208 an
die physikalische Netzschnittstelle 220 statisch oder semistatisch.
Ferner ist auch die Zuordnung zwischen einer IP-Adresse, die als
Etikett für
die NLDR dient, und der NIC statisch oder semistatisch. Ein Socket
oder eine Transportschichtverbindung ist, wie zuvor diskutiert,
durch ein 4-Tupel (Quell-IP, Quell-Port, Ziel-IP, Ziel-Port) definiert, und dieses
4-Tupel sollte während
der Betriebslebenszeit des Sockets unverändert bleiben. Deshalb wird
auch die Zuordnung zwischen einem Socket und der Verbindungstechnik,
die er nutzt, statisch oder semistatisch. Innerhalb solch eines
Rahmens können
eine alternative Verbindungstechnik und ihr zugeordneter Stapel
(290, 292 und 294) durch die existierende
Transportverbindung, die über
die ursprüngliche
Verbindungstechnik hergestellt wurde, und ihren zugeordneten Stapel
(220, 210 und 208) auf Grund der statischen
oder semistatischen Bindungen nicht verwendet werden.
-
Ferner
sind in der Technik verschiedene Mehrfachverbindungsvorrichtungen
bekannt, wie etwa faseroptische Karten, die mehrere Verbindungen
zu einem Faserumschalter zur Fehlertoleranz haben (das heißt, für den Streckenschutz
auf dem Gebiet der Telekommunikation), und Zellulartelefone, die
zwischen dem Zellularmodus und dem schnurlosen Modus umschalten.
Zusätzlich
ist in der Technik die Verwendung von mehreren Verbindungen zum
Lastenausgleich und zum Vergrößern der
Bandbreite bekannt. Darüber
hinaus sind mehrere Verbindungen gleichzeitig zum Erhalten von großen Dateien
und zum Verringern der Dateizugriffszeiten verwendet worden. Die
Fehlertoleranz ist in der Technik bekannt und kommt im allgemeinen
in ein und derselben Verbindungstechnik zum Einsatz. Die herkömmliche
Fehlertoleranz unterbricht jedoch typischerweise die laufende Kommunikation,
falls sie nicht mit derselben Verbindungstechnik oder derselben
Schnittstellenkarte verwendet wird, wird im allgemeinen nicht bei
der mobilen Kommunikation genutzt und wird aufgerufen, wenn es sich
um einen Ausfall handelt.
-
Zum
Roaming oder Wechseln über
Verbindungstechnik-Versorgungsbereiche hinweg muß eine mobile Rechenvorrichtung
die Verbindungsverfügbarkeit
und -qualität
bestimmen können
und selektieren, welche Verbindungstechnik zu verwenden ist. Falls
nur eine Technik zur Verfügung
steht, muß eine
mobile Rechenvorrichtung diese detektieren und sie verwenden. Falls
mehrere Techniken zur Verfügung
stehen, sollte eine mobile Rechenvorrichtung herausfinden können, welche
am besten zu verwenden ist. In jüngster
Zeit wird ein gewisses Verbindungsselektionsvermögen in einigen Softwarepaketen
unter stützt
(wie z. B. in Windows XP oder Intel ProSet II), wodurch es einem
Nutzer möglich
ist, eine Prioritätsliste
von bevorzugten Verbindungen zu erstellen. Dann wird die Verbindung
mit höchster
Priorität,
die zur Verfügung
steht, als bevorzugte Verbindung selektiert, und die abgehenden
Routen können
aktualisiert werden. Bei diesen bestehenden Verfahren wird eine
Verbindung einzig auf der Basis der Verfügbarkeit ausgewählt, und
sie richten sich nicht auf das Problem des Umschaltens von Verbindungen,
während
die Transportverbindung beibehalten wird. Zusätzlich kann die Erwünschtheit
einer besonderen Verbindungstechnik von vielen Faktoren abhängen, wie
beispielsweise von dem Signal-Rausch-Verhältnis
(SNR), den Nutzungskosten, der Qualität der Dienstleistung oder der Verkehrsbelastung.
Diese Faktoren können,
zusätzlich
zu der Verfügbarkeit,
bei der Verbindungsselektion dynamisch bestimmt und verwendet werden.
-
Ioannidis
J. et al offenbart in "IP-based
Protocols for Mobile Intenetworking", Computer Communication Review, 21.
September (1991), Nr. 4, New York, USA, S. 235-245, einen Satz von
Protokollen auf IP-Basis, um den kontinuierlichen Netzzugriff für mobile
Computer vorzusehen. Ein Schlüsselmerkmal
ist die Abhängigkeit
von Hilfsmaschinen, nämlich
den Mobile Support Stations (MSSs), um den Standort der mobilen
Hosts aufzuspüren.
-
Ein
Aspekt der Erfindung ist das Vorsehen einer mobilen Vorrichtung,
die zum automatischen Erfassen der Dienstleistungsqualität von verschiedenen
Konnektivitätstechniken
und zum transparenten Konfigurieren des Systems in der Lage ist,
um die momentan beste Datenverbindung zu verwenden, um viel bessere
Werte- und Nutzererfahrungen zu bieten.
-
Ein
anderer Aspekt der Erfindung ist es, mobilen Nutzern das Beibehalten
von Transportverbindungen zu ermöglichen,
während
sie sich über
Grenzen der Versorgungsbereiche von verschiedenen Verbindungstechniken
innerhalb eines Subnetzes hinweg bewegen.
-
Ein
weiterer Aspekt der Erfindung ist das Vorsehen eines Verfahrens
zum Umschalten zwischen Verbindungstechniken innerhalb eines Subnetzes,
während
die Transportschichtverbindung beibehalten wird.
-
Die
vorliegende Erfindung, "Migration
Across Link Technologies (MALT)" (Umstellung über Verbindungstechniken
hinweg), umfaßt
in einer Ausführungsform
ein Verfahren, wodurch eine Vorrichtung zwischen Verbindungsschichttechniken
innerhalb eines Kommunikationssubnetzes unter Verwendung der Vernetzung auf
TCP/IP-Basis (wie in dem Internet) transparent umschalten kann.
-
Im
besonderen ist gemäß einer
Ausführungsform
des ersten Aspektes der vorliegenden Erfindung ein Verfahren zum
Umschalten zwischen Verbindungselementen, die mit einer Vorrichtung
verbunden sind, in einem Subnetz auf IP-Basis vorgesehen, mit: Selektieren,
wenn die Vorrichtung eine laufende Kommunikation über ein
erstes Verbindungselement hat, das eine erste Verbindungsschichtadresse
hat, eines zweiten Verbindungselementes, das eine zweite Verbindungsschichtadresse
hat, die sich von der ersten Verbindungsschichtadresse unterscheidet,
welche laufende Kommunikation durch eine IP-Adresse identifiziert
wird und eine Transportschichtverbindung enthält, die eine End-zu-End-Kommunikation
zwischen Anwendungen vorsieht; gekennzeichnet durch: Umstellen der
laufenden Kommunikation von dem ersten Verbindungselement auf das zweite
Verbindungselement, während
die laufende Kommunikation beibehalten wird, durch dynamisches Binden
der zweiten Verbindungsschichtadresse an die IP-Adresse; und Melden der zweiten Verbindungsschichtadresse
den beteiligten Hosts.
-
Gemäß der vorliegenden
Erfindung enthält
die laufende Kommunikation eine End-zu-End-Kommunikation. Die End-zu-End-Kommunikation tritt
zwischen Nutzeranwendungen auf, die in der Anwendungsschicht stattfinden.
Diese Anwendungen nutzen Verbindungen, die von der Transportschicht
und weiter oben, nicht aber durch die Netzschicht vorgesehen werden,
die die nächste
Verbindung zum Weiterleiten auswählt.
-
Darüber hinaus
ist gemäß einer
Ausführungsform
eines zweiten Aspektes der vorliegenden Erfindung eine mobile Rechenvorrichtung
vorgesehen, die betriebsfähig
ist, um zwischen Verbindungselementen umzuschalten, die mit der
Vorrichtung verbunden sind, auf einem Subnetz auf IP-Basis, mit:
einem Verbindungsumstellungsmodul, das betriebsfähig ist, wenn die Vorrichtung
eine laufende Kommunikation über
ein erstes Verbindungselement hat, das eine erste Verbindungsschichtadresse
hat, um ein zweites Verbindungselement zu selektieren, das eine
zweite Verbindungsschichtadresse hat, die sich von der ersten Verbindungsschichtadresse
unterscheidet, welche laufende Kommunikation durch eine IP-Adresse identifiziert
wird und eine Transportschichtverbindung enthält, die eine End-zu-End-Kommunikation
zwischen Anwendungen vorsieht; gekennzeichnet durch: das Verbindungsumstellungsmodul,
das ferner betriebsfähig
ist, um die laufende Kommunikation von dem ersten Verbindungselement
auf das zweite Verbindungselement umzustellen, während die laufende Kommunikation
beibehalten wird, indem die zweite Verbindungsschichtadresse dynamisch
an die IP-Adresse gebun den wird; und das Verbindungsumstellungsmodul,
das ferner betriebsfähig
ist, um beteiligten Hosts die zweite Verbindungsschichtadresse zu
melden. Die mobile Rechenvorrichtung (oder der Computer auf der
Seite des Clienten) kann ferner ein Dynamik-MAC-an-IP-Bindemodul
umfassen, das die Bindung einer IP-Adresse an eine verschiedene
MAC-Adresse auf der Basis der selektierten Verbindung dynamisch
verändern
kann.
-
In
einer Ausführungsform
der vorliegenden Erfindung bleibt die IP-(oder Internet-Protokoll)-Adresse für die Dauer
der Betriebslebenszeit der Transportverbindung bestehen, während die
MAC-Adresse dynamisch verändert
wird. Das heißt,
eine Ausführungsform
der vorliegenden Erfindung ändert
die Beziehung zwischen der MAC-Adresse und der IP-Adresse dynamisch.
-
Zusätzlich ist
gemäß einer
Ausführungsform
eines dritten Aspektes der vorliegenden Erfindung ein Programm vorgesehen,
das bei Ausführung
durch einen Computer bewirkt, daß der Computer das Verfahren gemäß dem obigen
ersten Aspekt der vorliegenden Erfindung ausführt. Das Programm kann auf
einem computerlesbaren Medium gespeichert sein.
-
Eine
andere Ausführungsform
der vorliegenden Erfindung gestattet es, daß eine Vorrichtung, wie beispielsweise
ein Laptop-Computer (oder eine mobile Rechenvorrichtung oder ein
anderer Computer auf der Seite des Clienten), zwischen zwei oder
mehr Kommunikationsverbindungstechniken (wie etwa dem Ethernet, der
Infrarottechnik und Funkverbindungen im drahtlosen lokalen Datennetz
nach IEEE 802.11) umschaltet, während
die Transportschichtverbindung bewahrt wird und somit eine Anwendung
des Nutzers ohne Unterbrechung beibehalten wird.
-
Eine
Ausführungsform
der vorliegenden Erfindung basiert auf einer Erweiterung des Address
Resolution Protocol (ARP) [RFC (Request for Comment, veröffentlicht
durch Internet Engineering Task Force (IETF) 826, D. Plummer, "An Ethernet Address
Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit
Ethernet Addresses for Transmission on Ethernet Hardware", RFC826, November
1982], die auf lokalen Datennetzen (LANs), die mit dem Internet
verbunden sind, gemeinsam genutzt wird.
-
Die
vorliegende Erfindung ist auf Verbindungen anwendbar, die in demselben
Subnetz stattfinden, und führt
zu einem effizienteren Betrieb. Die vorliegende Erfindung kann auf
einer MCD (oder auf einem Computer auf der Seite des Clienten) vollendet
werden, wodurch jegliche Modifikation an der Internet-Infrastruktur
vermieden wird. Herkömmliche
Verfahren auf der Basis von Mobile-IP- und Mobile-Ad-Hoc-Network-(MANET)-Lösungen für das Problem
können
das Problem eventuell lösen,
würden
aber Modifikationen an der Internet-Infrastruktur und einen größeren Overhead
hinsichtlich der Mitteilungsübermittlung
als die Anwendung der vorliegenden Erfindung mit sich bringen.
-
Diese
und andere Aspekte und Vorteile, die anschließend ersichtlich sein werden,
liegen in den Details der Konstruktion und Operation, wie sie im
folgenden eingehender beschrieben und beansprucht werden, wobei
Bezug auf die beiliegenden Zeichnungen genommen wird, die einen
Teil hiervon bilden und in denen gleiche Bezugszeichen durchgängig gleiche
Teile bezeichnen.
-
1 zeigt
eine Broadcast-Domäne
der verwandten Technik;
-
2 zeigt
eine Transportverbindung, die zwischen Anwendungen in der verwandten
Technik hergestellt wird;
-
3 zeigt
einen Überblick über die
Umstellung über
Verbindungstechniken hinweg, einschließlich der dynamischen MAC-an-IP-Bindung,
in einer Ausführungsform
der vorliegenden Erfindung;
-
4A zeigt
die Software-Module in einer MALT-fähigen MCD einer Ausführungsform
der vorliegenden Erfindung;
-
4B zeigt
eine Struktur des beteiligten Host-Caches (IHC) einer Ausführungsform
der vorliegenden Erfindung;
-
5 zeigt
ein MALT-Flußdiagramm
auf hoher Ebene einer Ausführungsform
der vorliegenden Erfindung;
-
6 zeigt
das Flußdiagramm
zu "update_preferred_interface
state" einer Ausführungsform
der vorliegenden Erfindung;
-
7 zeigt
die Funktion des Aktualisierens des IHC auf Grund der fremden Schnittstelle
einer Ausführungsform
der vorliegenden Erfindung;
-
8 zeigt
das Aktualisieren der ankommenden Verbindung unter Verwendung der
MALT einer Ausführungsform
der vorliegenden Erfindung;
-
9 zeigt
die MAC-zu-IP-Adreßzuordnung
(mapping) nach dem Umschalten von Verbindungstechniken und die MALT
einer Ausführungsform
der vorliegenden Erfindung.
-
Auf
einer mobilen Rechenvorrichtung bewirkt eine MALT, die die vorliegende
Erfindung verkörpert,
daß die
Kommunikation, die durch eine Schnittstelle der einen Verbindungstechnik
fließt,
umgeschaltet wird, um durch eine Schnittstelle einer anderen Verbindungstechnik
zu fließen.
Diese Verbindungstechnikschnittstellen sind im allgemeinen auf separaten
Netzschnittstellenkarten angeordnet und könnten von derselben Technik oder
von verschiedenen Techniken stammen. Diese Techniken können drahtlose
und drahtgebundene Medien enthalten. Somit stellt die MALT, die
die vorliegende Erfindung verkörpert,
die laufende Kommunikation über Verbindungstechniken
hinweg um.
-
Die
MALT, die die vorliegende Erfindung verkörpert, erreicht die Umstellung über Verbindungstechniken
hinweg durch dynamisches Binden einer neuen MAC-Adresse, die einer
neuen Verbindungstechnik entspricht, an eine IP-Adresse, die durch
eine Transportverbindung (durch die vorherige Bindung einer früheren MAC-Adresse
an dieselbe IP-Adresse) in Gebrauch ist, wodurch die Verbindungsveränderung
von der Transportverbindung abgeschirmt wird. Folglich ändert die
dynamische Bindung der MALT, die die vorliegende Erfindung verkörpert, die
IP-Adresse nicht, wodurch die Umstellung der vorliegenden Erfindung über Verbindungstechniken
hinweg vor der Transportverbindung verborgen wird.
-
Eine
Ausführungsform
der vorliegenden Erfindung umfaßt
ein Computerprogramm, das immer ausgeführt wird, nachdem das System
startet (auch als "daemon" oder Hintergrundroutine
bekannt). In Abhängigkeit von
dem Betriebssystem, das die mobile Rechenvorrichtung (MCD oder Computer
auf der Seite des Clienten) gerade verwendet, kann ein gewisser
Teil des Netzkerns des Betriebssystems der MCD modifiziert werden, um
eine Ausführungsform
der vorliegenden Erfindung zu implementieren.
-
Darüber hinaus
nutzt eine Ausführungsform
der vorliegenden Erfindung die Verfahren "Proxy ARP" und "Gratuitous ARP" (soviel wie unaufgefordertes ARP),
um IP-Pakete auf der Verbindungsebene im Anschluß an eine Umstellung der Verbin dungstechnik
korrekt umzuleiten, und das Halten von einem zugeordneten "beteiligten Host-Cache".
-
Ausführungsformen
der vorliegenden Erfindung können
mobilen Vorrichtungen die Fähigkeit
verleihen, die Dienstleistungsqualität von verschiedenen Konnektivitätstechniken
automatisch zu erfassen und das System transparent zu konfigurieren,
um die im Moment beste Datenverbindung zu verwenden, die viel bessere
Werte- und Nutzererfahrungen bietet. Des weiteren können Ausführungsformen
der vorliegenden Erfindung ermöglichen,
daß mobile
Nutzer Transportverbindungen beibehalten, während sie sich über Grenzen
der Versorgungsbereiche der verschiedenen Verbindungstechniken hinweg
bewegen.
-
3 zeigt
einen Überblick über die
Umstellung über
Verbindungstechniken hinweg (MALT) 400, einschließlich der
dynamischen MAC-an-IP-Bindung, in einer Ausführungsform der vorliegenden
Erfindung. Wie in 3 gezeigt, ist eine Nutzeranwendung 402 durch
einen Socket 406 und eine NLDR(IP) 408 mit einem Netzkern 404 gekoppelt.
Die NLDR 408 ist mit einem Vorrichtungstreiber 410 (in
der MAC-Schicht) gekoppelt, der mit einer Netzschnittstellenkarte 412 wie
etwa der Ethernet-Netzschnittstellenkarte gekoppelt ist. Die Ethernet-Netzschnittstellenkarte
ist mit dem Netz 414 gekoppelt. Das Netz 414 ist
mit verschiedenen anderen Netzkarten derselben MCD 430 gekoppelt,
einschließlich
einer Funk-LAN-Netzschnittstellenkarte 416.
Die WLAN-NIC 416 ist mit dem Vorrichtungstreiber 418 (in
der MAC-Schicht) gekoppelt, der mit der NLDR 420 und mit
dem Socket 422 und dann mit der Anwendung 424 gekoppelt
ist.
-
Wie
in 3 gezeigt, wird beim Ausführen der Verbindungsumschaltung 400 bei
der Umstellung über Verbindungs techniken
hinweg der vorliegenden Ausführungsform
die Kommunikation zwischen der NLDR 408 von dem Vorrichtungstreiber 410 auf
den Vorrichtungstreiber 418 umgeschaltet. Ferner wird bei
der MALT 400 der vorliegenden Erfindung, bei Bedarf, die
Kommunikation der NLDR 420 von dem Vorrichtungstreiber 418 auf
den Vorrichtungstreiber 410 umgeschaltet. Dieses Umschalten
bei der MALT der vorliegenden Ausführungsform 400 wird
als dynamische MAC-an-IP-Bindung bezeichnet.
-
Komponenten
der MALT 400 der vorliegenden Ausführungsform haben die Fähigkeit
zum dynamischen Selektieren der bevorzugten Verbindungstechnik.
Verfahren, die zur Selektion der Verbindungstechnik bei der MALT 400 zum
Einsatz kommen, enthalten das Abfragen eines Servers, das Senden
einer Ping-Mitteilung
an die spezielle IP-Adresse 224.0.0.1, die eine Multicast-IP-Adresse
ist, die zu jeder in dem Subnetz äquivalent ist (folglich wird
durch das Pingen dieser Adresse jede einzelne in dem Subnetz effektiv
gepingt), das Lesen der Statistik und andere Verfahren. Eine andere
Komponente der MALT der vorliegenden Ausführungsform enthält das Aktualisieren
der abgehenden Verbindung durch das Modifizieren der lokalen Routing-Tabelle.
Darüber
hinaus enthält
eine andere Komponente der MALT der vorliegenden Ausführungsform
das Einstellen der lokalen bevorzugten ankommenden Verbindung und
das Aktualisieren der Kenntnis des fremden Hosts der bevorzugten
ankommenden Verbindung durch eine Erweiterung des Address Resolution
Protocol (ARP).
-
Diese
Aspekte der vorliegenden Erfindung werden nach einem Überblick über die
primären
Software-Module, die an der Implementierung einer MALT-Lösung der
vorliegenden Erfindung in einer mobilen Rechenvorrichtung beteiligt
sind, eingehender erläutert.
-
Die
vorliegende Erfindung, nämlich
die Umstellung über
Verbindungstechniken hinweg (migration across link technologies:
MALT), umfaßt
in einer Ausführungsform
ein Verfahren zum Umschalten zwischen Verbindungstechniken innerhalb
eines Subnetzes, während
die Transportschichtverbindung beibehalten wird. Die MALT der vorliegenden
Ausführungsform
basiert auf einer Erweiterung des Address Resolution Protocol (ARP)
[RFC (IETF Request for Comment) 826].
-
4A zeigt
die Software-Module in einer MALT-fähigen MCD 500. Im
besonderen zeigt 4A die primären Software-Module, die an
der Implementierung einer MALT-Lösung der
vorliegenden Ausführungsform
in einer mobilen Rechenvorrichtung beteiligt sind, einschließlich konventioneller
Module, die in einer mobilen Rechenvorrichtung enthalten sind.
-
Wie
in 4A gezeigt, enthält die MALT, die die vorliegende
Erfindung verkörpert,
das Verbindungsumstellungsmodul (oder MALT-Modul) 510.
Das Verbindungsumstellungsmodul (Link Migration Module: LMM) 510 enthält das MALT-ARP-Modul
(MAM) 512 und das Verbindungserfassungsmodul (Link Sensing
Module: LSM) 514. Das MAM 512 (das sowohl Proxy-
als auch Gratuitous-ARP-Mitteilungen ausführt) enthält das Modul des beteiligten
Host-Cache (Interested Host Cache: IHC) 516. Wenn das MALT-Modul 510 eine
ARP-Mitteilung 518 senden muß, sendet es die Mitteilung über die
herkömmliche
Socket-Schicht 520.
Darüber
hinaus gibt das LMM 510 einen Befehl "Aktualisieren der lokalen MAC-zu-IP-Zuordnung" 522 an
die herkömmliche ARP-Maschine 524 aus,
so daß sie
auf künftige
Anfragen nach jeglichen der lokalen IPs der MCD mit der MAC-Adresse der bevorzugten
Schnittstelle antworten wird. Zusätzlich sendet das LMM 510 einen
Befehl "Aktualisieren
der Bindung" 526 zum
Initiieren der dynamischen MAC-an-IP-Bindungsoperation durch das
Dynamik-MAC-an-IP-Bindemodul (DBM) 528. Das DBM 528 verbindet
in der NDLR 529 zwischen der IP-Verarbeitung 530 und der MAC-Verarbeitung 532.
Darüber
hinaus verbindet das LSM 514 Schnittstellen 534 mit
Vorrichtungstreibern 536 und der Netzschnittstelle 538,
um Verbindungsqualitätsinformationen
zu erhalten.
-
Das
heißt,
die MALT 500 in einer mobilen Rechenvorrichtung wird durch
das LMM 510 implementiert, das mit herkömmlichen Software-Modulen verbindet,
die in einer mobilen Rechenvorrichtung enthalten sind. Bei Einsatz
der MALT 500 der vorliegenden Ausführungsform ist keine Modifizierung
an Anwendungen (oder Anwendungsprogrammen) 540, der Socket-Schicht 520 (einschließlich TCP-Sockets 542,
UDP-Sockets 544, Socket-Bindungsmechanismen 546),
der Routing-Hintergrundroutine 548, der Routing-Tabelle 550,
der IP-Verarbeitung 530, der MAC-Verarbeitung 532,
der Vorrichtungstreiber 536 oder der Netzschnittstellen 538 erforderlich.
Alternativ dazu könnten
die meisten der Funktionen der MALT der vorliegenden Ausführungsform als
Software-Modul laufen, das als Anwendung auf Nutzerniveau ausgeführt wird.
-
Die
MALT 500 in einer anderen Ausführungsform enthält ein computerlesbares
Medium, das ein Programm speichert, das bei Ausführung durch einen Computer
bewirkt, daß der
Computer die Funktionen der Umstellung über Verbindungstechniken hinweg
in einem Subnetz auf IP-Basis ausführt, während die laufende Kommunikation
aufrechterhalten wird. Das Programm/Medium umfaßt Programmabschnitte zum Selektieren einer
Verbindung, Umstellen der laufenden Kommunikation auf die selektierte
Verbindung und Melden der Adresse der selektierten Verbindung an
beteiligte Hosts.
-
Herkömmliche
mobile Rechenvorrichtungen enthalten statische Verbindungen zwischen
der IP-Verarbeitung 530 und der MAC-Verarbeitung 532,
woraus eine IP-Adresse pro Netzschnittstellenkarte resultiert. Jedoch
verbindet in der vorliegenden Ausführungsform das Dynamik-MAC-an-IP-Bindemodul 528 sowohl
mit den IP-Verarbeitungsmodulen 530 als auch mit mehreren
MAC-Verarbeitungsmodulen 532, wodurch eine dynamische MAC-an-IP-Bindung
ermöglicht
wird.
-
4B zeigt
eine Struktur vom beteiligten Host-Cache (IHC) 516 der
vorliegenden Erfindung. In dem lokalen Host (oder der mobilen Rechenvorrichtung)
ist der IHC ein Cache, der zum Speichern der IP- und MAC-Adressen
für jede
fremde (nichtlokale) Schnittstelle verwendet wird, die an der Kommunikation
mit einer lokalen Netzschnittstelle beteiligt ist. Der IHC umfaßt eine
Datenstruktur 590 für
jede lokale Schnittstelle, die durch die IP-Adresse der lokalen
Schnittstellen indexiert ist. In jeder Datenstruktur 590 gibt
es eine Tabelle für eine
MAC-zu-IP-Adreßzuordnung
für fremde
Schnittstellen. Jeder Eintrag in einer Tabelle entsteht, wenn eine fremde
Schnittstelle mit der entsprechenden lokalen Schnittstelle unter
Verwendung von ARP-Mitteilungen kommuniziert oder die lokale Schnittstelle
mit der fremden Schnittstelle unter Verwendung von ARP-Mitteilungen
kommuniziert. Wenn ein Eintrag erstellt wird, wird die Zeit des
lokalen Host-Computers als Eintragszeitvariable zur Verwendung beim
Löschen
des Eintrags gespeichert, falls er zu alt wird.
-
5 zeigt
ein MALT-Flußdiagramm
einer oberen Ebene 600 in einer Ausführungsform der vorliegenden
Erfindung. Eine Initialisierungsfunktion 604 selektiert
nach dem Start 602 die bevorzugte Netzschnittstelle, wie
in 5 gezeigt, aktualisiert die abgehende Routing-Tabelle
und stellt die Socket-Schnittstellenbindung ein. Diese Initialisierung
wird durch das Verbindungsumstellungsmodul 510 erreicht,
das in 4A gezeigt ist.
-
Dann
geht die Steuerung zu der Überwachungsfunktion 606 über. Falls
ein Zeitablauf oder eine Verbindungsstatusveränderung detektiert wird, wird
dann die Funktion "update_preferred_interface" 608, nämlich die
Aktualisierung der bevorzugten Schnittstelle, ausgeführt. Falls
ein Host eine ARP-Mitteilung über
eine lokale Schnittstelle sendet oder empfängt, wird dann die Funktion "update_IHC_for_foreign_interface" 610, nämlich das
Aktualisieren des IHC auf Grund der fremden Schnittstelle, auf dem
IHC für
die lokale Schnittstelle mit der IP- und MAC-Adresse der fremden
Schnittstelle ausgeführt.
Beispiele für
ARP-Mitteilungen, die durch die MCD empfangen werden, die die MALT
der vorliegenden Erfindung ausführt,
enthalten ARP_REPLY (ARP-Antwort) oder ARP_REQUEST (ARP-Anforderung).
-
Nachdem
jede der Funktionen 608 und 610 ausgeführt ist,
kehrt die Steuerung zu der Überwachungsfunktion 606 zurück. 6 zeigt
das Flußdiagramm "update_preferred_interface
state" 700,
nämlich
das Aktualisieren des bevorzugten Schnittstellenzustandes, der vorliegenden
Erfindung, das der Funktion "update_preferred_interface" 608 der
vorliegenden Erfindung entspricht, die in 5 gezeigt
ist. Unter Bezugnahme nun auf 6 wird nach
dem Beginn des Flußdiagramms "update_preferred_interface
state" 700 ein Verbindungsselektionsalgorithmus
bei 704 ausgeführt,
um die bevorzugte Schnittstelle zu bestimmen. Anschließend wird
bei 706 bestimmt, ob eine verschiedene Schnittstelle selektiert
wurde. Falls keine verschiedene Schnittstelle selektiert wurde,
endet dann das Flußdiagramm "update_preferred_interface
state" bei 708. Falls
alternativ dazu eine verschiedene Schnittstelle bei 706 selektiert
wurde, wird dann bei 710 unter Verwendung der neuen Schnittstelle
die lokale Routing-Tabelle
aktualisiert und die lokale dynamische MAC-an-IP-Bindung aktualisiert. Dann wird für jede lokale
Schnittstelle eine Gratuitous-ARP_REQUEST bei 712 als Broadcast-Meldung versandt,
die die neuen Zuordnungen mitteilt: (IP der lokalen Schnittstelle
wird MAC der bevorzugten Schnittstelle zugeordnet). Als nächstes,
und optional, wird eine ARP_REPLY bei 714 für jeden
Eintrag in dem IHC als Unicast-Meldung
versandt, die speziell die neue Zuordnung an jeden "beteiligten Host" meldet. Die Funktion 714 muß nicht
unbedingt ausgeführt
werden, falls der zugrundeliegende Kommunikationskanal für die Broadcast-Kommunikation äußerst zuverlässig ist.
Die Funktion 714 muß jedoch
ausgeführt
werden, wenn der Kanal nur für
die Unicast-Kommunikation zuverlässig
ist, aber für
Broadcast-Kommunikationen unzuverlässig ist.
-
Die
Steuerung geht dann zum Ende 708 über.
-
7 zeigt
die Funktion "update_IHC_for_foreign_interface" 800, nämlich das
Aktualisieren des IHC auf Grund der fremden Schnittstelle, der vorliegenden
Erfindung, die der Funktion "update_IHC_for_foreign_interface" 610 entspricht,
die in 5 gezeigt ist. Unter Bezugnahme nun auf 7 wird
nach dem Beginn bei 802 ein neuer IHC-Eintrag bei 804 erstellt, um
die fremde IP, die fremde MAC und die Eintragszeit in der Datenstruktur
(entsprechend 590 von 4B) für die lokale
Schnittstelle aufzuzeichnen, die die ARP-Mitteilung verarbeitet.
-
Dann
wird bei 806 darüber
entschieden, ob ein IHC-Eintrag für dieselbe fremde IP in derselben
Datenstruktur für die
lokale Schnittstelle existiert (wieder 590 von 4B).
Falls ein IHC-Eintrag für
dieselbe fremde IP existiert, wird dann der existierende IHC bei 808 unter
Verwendung des neuen IHC-Eintrags aktualisiert. Falls jedoch kein
IHC-Eintrag für dieselbe
fremde IP existiert, wird dann der neue IHC-Eintrag in den beteiligten Host-Cache
bei 810 eingefügt.
Falls es noch keine Datenstruktur 590 für die lokale Schnittstelle
gibt, wird eine neue Datenstruktur erstellt, und der neue IHC-Eintrag
wird in diese neu erstellte Datenstruktur eingefügt. In jedem Fall wird eine
IHC-Löschfunktion
bei 812 aufgerufen, um jeden IHC-Eintrag zu löschen, dessen
Eintragszeitwert älter
als eine im voraus spezifizierte Zeit ist, die als IHC-Lebensdauer
bezeichnet wird. Falls eine Datenstruktur entsprechend einer lokalen
Schnittstelle keine Einträge
hat, wird dann die Struktur gelöscht.
Die Funktion "update_IHC_for_foreign_interface" endet bei 814,
und die Steuerung kehrt zu der in 5 gezeigten Überwachungsfunktion 606 zurück.
-
Die
MALT der vorliegenden Erfindung ist auf Systeme anwendbar, die ein
einzelnes LAN enthalten, mit dem Zugriffspunkte für verschiedene
drahtlose Techniken verbunden sind. Eine mobile Rechenvorrichtung enthält mehrere
installierte Netzschnittstellen (drahtgebundene und drahtlose),
wobei jede Schnittstelle dazu in der Lage ist, ihre eigene Technik
zum Zugriff auf ein Netz zu verwenden.
-
8 zeigt,
wie Nutzeranwendungsdaten gepackt sind, während sie die TCP/IP-Protokollstapel
sowohl im Sender als auch im Empfänger sowie das Netz durchlaufen.
Die Sender-Anwendung 902 sendet
Nutzerdaten an den Netzkern 904, der den Transport-Header
und den IP-Header zu den Nutzerdaten hinzufügt und das resultierende Paket
zu der Vorrichtung (inklusive sowohl Software- als auch Hardware-Komponenten einer
Netzschnittstelle) 906 transportiert. Die Vorrichtung 906 fügt den MAC-Header
zu dem Paket hinzu und sendet die resultierenden Pakete an das Netz 908.
Auf der Seite des Empfängers
werden Schichten der Header in der umgekehrten Reihenfolge abgeschält, wenn
das Paket den Stapel nach oben durchläuft. Wenn ein ankommendes Paket
in dem LAN ankommt, wo sich die Empfangs-MCD befindet, ist es die
Ziel-MAC-Adresse des
Pakets, die bestimmt, welche Verbindung der MCD das Paket verwendet,
um in die MCD zu gelangen. Falls eine bevorzugte Verbindung der
MCD aktualisiert worden ist, muß also
anderen Hosts in demselben Subnetz die MAC-Adresse der neuen Verbindung
mitgeteilt werden, so daß künftige ankommende
Pakete an die MAC-Adresse der neuen Verbindung adressiert werden
und über
die bevorzugte Verbindung in der MCD korrekt ankommen. Unten folgt
eine eingehendere Beschreibung der Aktualisierung der ankommenden
Verbindung.
-
Bei
der vorliegenden Erfindung wird angenommen, daß ein Roaming zwischen Zugriffspunkten
derselben Verbindungstechnik (falls Versorgungsbereiche kontinuierlich
sind) innerhalb des Kommunikationsprotokolls jeder Verbindungstechnik
abgewickelt wird. Zum Beispiel wird ein Roaming zwischen verschiedenen 802.11b-Zugriffspunkten
typischerweise innerhalb des 802.11b-Protokolls abgewickelt. Solch
eine Übergabe wird
keine Unterbrechung von Transportverbindungen verursachen, da sie
durch Schnittstellen-Hardware und -Software von ein und derselben
Verbindungstechnik gelöst
wird. Die Identitäten
von Endpunkten der Verbindung bleiben dieselben.
-
VERBINDUNGSSELEKTION
-
Um
zwischen Verbindungstechniken umzuschalten, muß eine MCD die Verbindungsverfügbarkeit
detektieren können
und ein Qualitätsmaß für jede Verbindung
bestimmen und dann selektieren, welche Verbindungstechnik zu verwenden
ist. Die wünschenswerteste
Verbindung (mit der höchsten
Qualität)
zu irgendeinem beliebigen Zeitpunkt kann eine Funktion von vielen
Faktoren sein, einschließlich
eines Signal-Rausch-Verhältnisses
(SNR), der Nutzungskosten, der Qualität der Dienstleistung oder der
Verkehrsbelastung. Das in 4A gezeigte
Verbindungserfassungsmodul 514 des Verbindungsumstellungsmoduls 510 der vorliegenden
Erfindung trifft solch eine Bestimmung und implementiert einen Verbindungsdetektions-
und -selektionsalgorithmus der vorliegenden Erfindung.
-
Unter
Verwendung des Verbindungsdetektions- und -selektionsalgorithmus,
der in dem Verbindungserfassungsmodul 514 der vorliegenden
Erfindung enthalten ist, kann die Verbindungsverfügbarkeit
getestet werden, indem durch die mobile Rechenvorrichtung periodisch
ein Server in dem drahtgebundenen Abschnitt des Netzes über verschiedene
Verbindungstechniken abgefragt wird. Bei einer anderen Lösung braucht
der "Verbindungsverfügbarkeitsserver" nicht vorhanden
zu sein und kann die Implementierung vollständig auf der MCD erfolgen,
ohne zusätzliche
Komponenten für
das Netz einzuführen.
Zum Beispiel kann die mobile Rechenvorrichtung periodisch eine Ping-Mitteilung
an die "allen Hosts
gemeinsame" Multicast-Adresse
224.0.0.1 von jeder ihrer eigenen Schnittstellen senden und die
Rückmeldungen
beobachten, um die Verbindungsverfügbarkeit zu bestimmen. Die
Verbindungsqualität
kann über
verschiedene statistische und Statusanzeigewerte von der Vorrichtung
getestet werden, wie beispielsweise die Paketverlustrate, die Signalqualität, der Rauschpegel,
die Übertragungsrate,
etc. Der Nutzer kann auch einen Kostenfaktor für jede Technik eingeben, so
daß auch ökonomische Gründe in dem
Verbindungserfassungsmodul 514 berücksichtigt werden können. Eine
durch den Nutzer spezifizierte Prioritätsliste (die in der Technik
im allgemeinen bekannt ist) kann auch als Alternative oder zusätzlich zu
den obenerwähnten
Kriterien verwendet werden. Eine Verbindungsselektionshintergrundroutine
kann implementiert werden, die periodisch den Verbindungsdetektionsalgorithmus
abarbeitet, um zu bestimmen, welche Verbindung die beste Wahl ist.
Falls die gegenwärtige
Verbindung nicht mehr die beste Option ist und das neue Optimum
signifikant besser als die gegenwärtige Wahl ist, kann die Hintergrundroutine
eine Verbindungsumschaltung initiieren.
-
UMSCHALTUNG
DER VON DER MOBILEN RECHENVORRICHTUNG ABGEHENDEN VERBINDUNG
-
Nachdem
die beste Verbindung selektiert ist, konfiguriert die MALT der vorliegenden
Erfindung die mobile Rechenvorrichtung, um die selektierte Verbindung
als standardmäßige abgehende
Verbindung zu verwenden. Die dynamische MAC-an-IP-Bindung 528 wird
aktualisiert. In Abhängigkeit
von der Implementierung der NLDR kann es sein, daß auch die
existierenden Routen der internen Routing-Tabelle (einschließlich der
Standardroute) aktualisiert werden müssen, um die neu selektierte
Verbindung zu verwenden.
-
ABWICKLUNG
DES VERKEHRS DER ANKOMMENDEN VERBINDUNG
-
Das
Umleiten des gesamten ankommenden Verkehrs, um die neu selektierte
Schnittstelle zu verwenden, betrifft sowohl die mobile Rechenvorrichtung
als auch andere Parteien in dem Netz, die direkt mit der MCD kommunizieren
können.
Diese Parteien enthalten die Router und andere Hosts in demselben
LAN wie die MCD. Alle anderen Computer im Internet kommunizieren über die
Router, die das LAN bedienen, in dem sich die MCD befindet, indirekt
mit der MCD. Die MALT der vorliegenden Erfindung vollbringt die
Abwicklung des Verkehrs der ankommenden Verbindung.
-
NORMALE ABWICKLUNG VON
TRANSPORTPAKETEN DURCH UNTERE SCHICHTEN
-
Bevor
die MALT der vorliegenden Erfindung erläutert wird, folgt eine kurze
Erläuterung
der Abwicklung von Transportpaketen durch untere Schichten in einem
typischen System. In einem typischen System werden die logische
Verbindung, die Medienzugriffssteuerung (Medium Access Control:
MAC) und untere Schichten entweder in Hardware oder in Software
als Vorrichtungstreiber implementiert, die durch den Hardware-Verkäufer als
Teil ihres Netzschnittstellenkartenpaketes geliefert werden. Die
Hersteller des Betriebssystems (OS) veröffentlichen die Schnittstelle
für Vorrichtungstreiber,
um mit dem Betriebssystem in Wechselwirkung zu stehen, so daß andere
Parteien die Treiber unabhängig
entwickeln können,
ohne die Interna des Betriebssystems zu kennen. Andererseits werden
die Socket-Schicht und die NLDR-Schicht
gemeinsam als systemspezifische Teile des Betriebssystems implementiert,
und die Grenze zwischen dem Vorrichtungstreiber und der NLDR ist klar
definiert. Typische Wechselwirkungsmodelle zwischen diesen zwei
Schichten sind auch wohlbekannt.
-
Statisch
oder durch dynamische Mechanismen, wie beispielsweise durch das
Dynamic Host Configuration Protocol (DHCP), wird jeder Schnittstelle
eine IP-Adresse zugeordnet, wenn sie aktiviert wird. Betriebssysteme
sehen gewöhnlich
eine Schnittstelle für
Nutzer vor, um die Schnittstelle bei einer neuen IP-Adresse zurückzusetzen.
In diesem Fall wird die Schnittstelle jedoch zurückgesetzt und werden alle Verbindungen,
die die Schnittstelle nutzen, beendet. Der Diskussion halber bleibt
diese Adresse folglich unverändert,
bis die Schnittstelle deaktiviert wird. Bevor ein IP-Paket zu irgendeiner
Netzschnittstelle zur Übertragung
gelangt, muß das
System die MAC-Adresse (die auch als Hardware-Adresse bekannt ist) für die Empfangsschnittstelle
des nächsten
Hops herausfinden, an die das IP-Paket weitergeleitet wird. Das
IP-Paket muß in
einen MAC-Rahmen gepackt werden, der an die MAC-Adresse des nächsten Hops
adressiert ist. Falls die Größe eines
IP-Paketes die Nutzlastgrenze eines MAC-Rahmens überschreitet (die als größte Übertragungseinheit,
d. h. Maximum Transmission Unit oder MTU bekannt ist), muß das IP-Paket
fragmentiert werden. In diesem Fall wird ein IP-Paket in Stücke gebrochen
und in mehrere MAC-Rahmen gepackt (diese zusätzliche Komplikation hat keinen
Einfluß auf
die vorliegende Erfindung, so daß hier angenommen wird, daß keine
Fragmentierung erfolgt).
-
Die
Routing-Tabelle des OS-Netzkerns liefert jedoch nur die IP-Adresse
des nächsten
Hops. Somit muß diese
IP-Adresse des nächsten
Hops der entsprechenden MAC-Adresse, z. B. der Ethernet-Adresse,
zugeordnet werden, so daß der
oder die MAC-Rahmen ordnungsgemäß an die
Empfangsschnittstelle des nächsten
Hops adressiert werden können.
-
Solch
eine Zuordnung zwischen einer IP-Adresse und einer MAC bei einer
abgesetzten Schnittstelle wird typischerweise durch Knoten gelernt,
die ARP-Mitteilungen austauschen. Wenn eine Zuordnung benötigt wird,
aber unbekannt ist, sendet der Sendeknoten eine lokale Broadcast-Mitteilung
ARP_REQUEST aus, die anfragt: "Wer
die MAC-Adresse dieser IP-Adresse kennt, wird um Mitteilung gebeten". Die Schnittstelle,
an deren IP-Adresse die Frage gerichtet wird, wird dann in einer
Mitteilung ARP_REPLY, die die Zuordnung enthält, antworten. Die gelernten
Zuordnungsinformationen werden dann in einen ARP-Cache im anfordernden
Knoten gestellt, so daß künftige Anforderungen
nach der MAC-Adresse derselben IP-Adresse erledigt werden können, ohne
andere Knoten im Netz zu fragen. Einträge im Cache können altern
und schließlich
bei Zeitablauf entfernt werden.
-
VERBERGEN DER VERBINDUNGSUMSCHALTUNG
VOR DER TRANSPORTVERBINDUNG
-
Die
MALT der vorliegenden Erfindung verändert die MAC-Adresse, die einer
IP-Adresse zugeordnet ist, dynamisch und schnell und bewirkt, daß resultierende
ankommende Pakete zu der Schnittstelle geleitet werden, die der
neuen MAC-Adresse entspricht. Daher schaltet die MALT der vorliegenden
Erfindung zwischen Verbindungstechniken (die durch MAC-Adressen
identifiziert sind) um, ohne die Endpunkte (IP-Adresse, Port-Nummer)
von Transportverbindungen zu verändern.
Die MALT der vorliegenden Erfindung basiert auf dem schnellen Ausführen der
Umschaltung der zugrundeliegenden Verbindungstechnik, so daß der Zeitablaufmechanismus
der Transportverbindung (ein Mechanismus, den die Transportschicht
verwendet, um den Gesundheitszustand ihrer Verbindungen zu überwachen)
nicht getriggert wird, und solange die IP-Endpunkte einer Transportverbindung
unverändert
bleiben, bleibt die Transportverbindung ununterbrochen bestehen,
da jegliche Veränderung
unter der IP-Schicht durch die IP-Schicht verborgen wird. Deshalb
hat sich für
die Transportschicht scheinbar nichts verändert, und es kommt zu keiner
Störung
der laufenden Transportverbindung.
-
ZUORDNUNGSMITTEILUNG
AN ABGESETZTE KNOTEN
-
9 liefert
ein Beispiel, das die Bindungen zeigt, bevor und nachdem eine MCD
ihre bevorzugte Verbindung 1000 unter Verwendung der MALT
der vorliegenden Erfindung umschaltet. Das Umschalten erfolgt von
der Verbindung Tech1 1006 auf die Verbindung Tech2 1014.
Eine mobile Rechenvorrichtung hat zwei Schnittstellenkarten, wie
in 9 gezeigt. Die erste Schnittstellenkarte nutzt
die Verbindungstechnik Tech1 1006, die die MAC-Adresse
MAC1 1004 und die zugeordnete IP-Adresse IP1 1002 hat.
Die zweite Schnittstellenkarte hat die Verbindungstechnik Tech2 1014,
die MAC-Adresse
MAC2 1012 und die zugeordnete IP-Adresse IP2 1010.
Wenn eine Transportverbindung hergestellt wird, wird die Transportverbindung,
da zu der Zeit Tech1 1006 die selektierte Verbindungstechnik
ist, unter Verwendung der lokalen IP-Adresse IP1 1002 hergestellt.
Diese IP-Adresse ist der lokalen MAC-Adresse MAC1 1004 zugeordnet,
die die Hardware-Adresse für Tech1 1006 (Netzschnittstelle
1) ist. Nachdem sich der Nutzer aus dem Versorgungsbereich von Tech1
hinausbewegt, wird dann Tech2 das bevorzugte Verfahren hinsichtlich
der Konnektivität.
Somit wird die Zuordnung durch die MALT der vorliegenden Erfindung
für IP1 1020 von
MAC1 1022 auf MAC2 1032 verändert, so daß dann jegliche
IP-Pakete, die für
IP1 bestimmt sind, über
Tech2 geliefert werden. Solange eine IP-Adresse einer MAC-Adresse
eindeutig zugeordnet ist, braucht die Zuordnung nicht 1 zu 1 zu
sein.
-
Ein
Knoten muß die
MAC-Adresse der Empfangsschnittstelle kennen, um an sie ein etwaiges
IP-Paket zu senden. Das Address Resolution Protocol, oder ARP, ist
ein Protokoll zum Finden einer IP-Adressen-zu-MAC-Adressen-Zuordnung
und enthält
ARP_REQUEST und ARP_REPLY.
-
Das
heißt,
wenn ein Knoten die Zuordnung für
IP1 1020 von MAC1 1022 auf MAC2 1032 umschaltet, muß anderen
Knoten in demselben Subnetz die Zuordnungsveränderung mitgeteilt werden,
so daß dann,
falls sie Pakete für
IP1 1020 haben, die Pakete in MAC-Hüllen, die an MAC2 1032 adressiert
sind, (über
die Verbindung Tech2 1034) versendet werden können. Zum
Informieren anderer Knoten im Netz über die neue Zuordnung präsentiert
die MALT der vorliegenden Erfindung eine neue Erweiterung des ARP-Protokolls.
Die MALT-Erweiterung basiert auf einer Kombination aus "Proxy ARP" [RFC925, J. Postel, "Multi-LAN Address
Resolution Protocol, RFC925, Oktober 1984] und "Gratuitous ARP" [W. Richard Stevens, "TCP/IP Illustrated,
Bd. 1: The Protocols",
Seite 62, Addison-Wesley, Reading, Massachusetts, 1994], den zwei
gegenwärtigen
Spezialanwendungen des ARP-Protokolls. Das Proxy ARP ist der Mechanismus
für einen
Router zum Beantworten der ARP_REQUEST in einem seiner Netze für einen
Host in einem anderen seiner Netze.
-
Das
Gratuitous ARP ist das Merkmal, das es einem Host gestattet, eine
ARP_REQUEST zu senden, die nach seiner eigenen IP-Adresse sucht.
Diese Anforderung kann in zweierlei Hinsicht effektiv verwendet werden:
zum Detektieren, ob ein anderer Host in dem Netz mit derselben IP-Adresse
ist, und zum Auffrischen der ARP-Caches von anderen Hosts bezüglich der
Adreßzuordnung
der anfordernden Schnittstelle. Beim Gratuitous ARP fordert eine
Netzschnittstelle die MAC-Adresse
für ihre
eigene IP an, wodurch ihre eigene Zuordnung effektiv bekanntgegeben
wird.
-
Beim
Proxy ARP antwortet eine Netzschnittstelle für andere IP-Adressen unter
Verwendung ihrer eigenen MAC-Adresse. Da das Proxy ARP dafür bestimmt
ist, ein Netz von Hosts hinter einem einzelnen Multi-Homed-Computer
zu verstecken, ist es typischerweise erforderlich, daß das Netz
hinter dem Proxy (einschließlich
der Schnittstellen, die der Proxy-Host zur Verbindung mit jenem
Netz verwendet) ein maskierbares Subnetz des Netzes ist, mit dem
die Schnittstelle verbunden ist, die das Proxy ausführt. Als
Resultat von solch einer Adressierungseinschränkung ist das Proxy gewöhnlich einseitig
gerichtet. Das heißt,
nur eine Schnittstelle kann Proxy-Dienste für andere Schnittstellen ausführen. Eine
andere Problematik bei dem gegenwärtigen Proxy ARP besteht darin,
daß Einstellungen
nicht dynamisch verändert
werden können.
-
Die
MALT der vorliegenden Erfindung schränkt die Adressierung für Schnittstellen
nicht ein, solange sie sich in demselben Subnetz befinden. Eine
Schnittstelle sollte für
andere Schnittstellen in demselben Host proxyfähig sein. Andererseits läßt die MALT
zu jeder gegebenen Zeit nur die momentan "bevorzugte" Schnittstelle als Proxy für andere
lokale Schnittstellen durch das Reagieren auf die Anforderung von
ARP_REQUEST nach einer der Schnittstellen des Hosts zu. Bei der
ARP_REPLY wird die erbetene MAC-Adresse auf die MAC-Adresse der
bevorzugten Schnittstelle eingestellt.
-
Normalerweise
nutzt das existierende ARP ein "Abfrage"-Modell, bei dem ein Anfordernder anfragt und
die anderen Parteien antworten. Das Gratuitous ARP bietet eine Möglichkeit
zum "Aufdrücken" der Adreßzuordnungen
auf andere Hosts in dem Netz. Jedoch wird die "aufgedrückte" Zuordnung an das Netz in einer ARP_REQUEST-Broadcast-Mitteilung
gesendet. Auf Grund der speziellen Charakteristiken der drahtlosen und
mobilen Kommunikation ist solch ein Mechanismus äußerst unzuverlässig. Hosts,
die über
drahtlose Verbindungen mit dem Netz verbinden, können diese Mitteilung eventuell
nicht empfangen. Somit bietet die MALT der vorliegenden Erfindung
einen zusätzlichen
Mechanismus zum Auffrischen der Caches in anderen Hosts auf zuverlässigere
Weise.
-
MALT-Erweiterung
zu ARP
-
In
der MALT der vorliegenden Erfindung unterhält eine mobile Rechenvorrichtung
einen separaten Cache, der als Cache des beteiligten Hosts (Interested
Host Cache: IHC) bezeichnet wird und als Element 516 in den 4A und 4B gezeigt
ist. Der IHC 516 speichert die Identitäten von jenen, die nach MAC-Adreßzuordnungen
von einer von den MCD-eigenen
IP-Adressen gefragt haben, und von jenen, die durch die MCD nach
ihren Adreßzuordnungen
gefragt wurden. Diese fremden Hosts werden als "Beteiligte Hosts" bezeichnet. In dem ARP-Protokoll wird
sich der Host, dessen Hardware-Adresse
verlangt wurde, auch an die Adreßzuordnung des Anfordernden
erinnern, da das ARP eine bidirektionale Kommunikation voraussetzt.
Das heißt,
falls eine Host-Adreßzuordnung
verlangt wird, versucht also jemand, mit diesem Host zu kommunizieren,
und dieser Host wird wahrscheinlich antworten. Deshalb wird die
Cache-Speicherung der ARP-Adreßzuordnung
des Anfordernden diesen Host davor bewahren, den Anfordernden später wieder
zu fragen. Somit werden jene, von denen eine MCD die Adreßzuordnung
erfragte, auch die Zuordnung für
die MCD speichern (die in der durch die mobile Rechenvorrichtung
gesendeten ARP_REQUEST enthalten ist) und auch aktualisiert werden müssen.
-
Die
Einträge
des IHC 516 speichern sowohl die lokalen IP-Adressen der
entsprechenden MCD als auch die IP-Adressen und MAC-Adressen der
beteiligten Hosts. Jeder Eintrag in dem IHC 516 kann auch
altern und schließlich
entfernt werden. Jedoch sollte die Lebenszeit für Einträge in dem IHC 516 länger als
die Alterasblaufperiode bei allen ARP-Caches in dem Netz sein.
-
Während des
Umschaltens einer Verbindung muß zuerst
die MCD eine Gratuitous-ARP_REQUEST-Mitteilung hinsichtlich jeder
der lokalen Schnittstellen der MCD als Broadcast-Mitteilung versenden. In jeder dieser
Gratuitous-ARP_REQUEST-Mitteilungen
ist die Quell-IP-Adresse auf die IP-Adresse der entsprechenden lokalen
Schnittstelle eingestellt. Die Quell-MAC-Adressen all dieser Gratuitous-ARP_REQUEST-Mitteilungen
sind jedoch alle auf die MAC-Adresse
der bevorzugten lokalen Schnittstelle eingestellt. Dann muß die MCD
auch eine ARP_REPLY für
jeden in dem IHC gefunden Eintrag als Unicast-Meldung senden. In
jeder dieser ARP_REPLY-Mitteilungen ist die Quell-IP-Adresse auf
die MCD-IP-Adresse
der entsprechenden Datenstruktur 590 für den IHC-Eintrag eingestellt, während die Quell-MAC-Adresse
auf die MAC-Adresse der bevorzugten Schnittstelle eingestellt ist.
Die Ziel-IP-Adresse und MAC-Adresse sind auf die Werte für den beteiligten
Host eingestellt, wie es durch den IHC-Eintrag spezifiziert ist.
-
Unicasting
wird in der drahtlosen Kommunikation oft als zuverlässiger als
Broadcasting angesehen, da drahtlose Kommunikationstechniken von
der Empfängeridentität profitieren
können
und adäquate
Kanalreservierungs- und Bestätigungsmechanismen
ausführen
können.
Unter Verwendung sowohl der Gratuitous-ARP_REQUEST als auch der
Unicast-ARP_REPLY müßte also
die Wahrscheinlichkeit, daß irgendein Host,
der die MCD-Adreßzuordnung
hat, nicht aktualisiert wird, gering sein. Falls erforderlich, kann
die Gratuitous-ARP-Operation wenige Male periodisch wiederholt werden,
um solch eine Möglichkeit
weiter zu verringern. Gewisse Befürchtungen könnten bezüglich der Anzahl der durch
die Verbindungstechnikumschaltung der vorliegenden Erfindung getriggerten
ARP-Mitteilungen
bestehen. Da die MALT der vorliegenden Erfindung jedoch auf einer
MCD läuft,
die ein Host am Rande eines Netzes ist, wird die MCD wahrscheinlich
einen kleinen IHC 516 haben, und somit ist der Overhead
akzeptabel.
-
Bei
der MALT der vorliegenden Erfindung existieren mehrere Adressen
in demselben LAN und zugeordnete IP-Adressen in demselben Subnetz.
Sonst werden Pakete für
eine Schnittstelle nicht zu dem Subnetz geleitet, wo sich die anderen
Schnittstellen befinden, und Pakete werden über jene anderen Schnittstellen nicht
empfangen.
-
Die
MALT der vorliegenden Erfindung versetzt Hersteller von mobilen
Rechenvorrichtungen in die Lage, ihre Produkte für mobile Internet-Anwendungen
zu befähigen.
Da die MALT zusätzlich
zwischen Schnittstellen in einer MCD umschaltet, in der sowohl die
neuen als auch die alten Schnittstellen in demselben Subnetz erreichbar
sind, erfordert die MALT keine Modifizierung von Routing-Protokollen
oder der Routing-Infrastruktur
des Internets.
-
Die
MALT der vorliegenden Erfindung führt eine Cache-Speicherung der Identitäten aller
Hosts aus, die an der Kommunikation mit dem MALT-Knoten beteiligt
sind. Nachdem der Verbindungsselektionsalgorithmus ein Umschalten
der Verbindung vorschlägt,
aktualisiert die MALT der vorliegenden Erfindung ihre lokale ARP-Zuordnungstabelle 524 und
gibt Gratuitous-ARP-Mitteilungen aus, die die Zuordnung der IPs
all ihrer Schnittstellen zu der MAC der neu selektierten Verbindung
bekanntgeben. Anschließend überträgt die MALT der
vorliegenden Erfindung zu jedem an der Kommunikation beteiligten
Host eine spezielle Unicast-ARP_REPLY. Die MAC- Adresse der neu selektierten Verbindung
wird durch das ARP-Modul 524 in
jeder ARP-Mitteilung verwendet, die als Antwort auf ARP_REQUESTs
bei allen Schnittstellen gesendet werden.
-
TCP/IP-Stapel
-
Bei
gewissen Implementierungen des TCP/IP-Stapels wird, wenn eine Verbindungstechnik
nicht mehr verfügbar
ist, das System einen Widerruf an obere Schichten richten, so daß auch jegliche
Verbindungen der oberen Schichten unter Verwendung der beendeten
Verbindung mitgeteilt und abgebaut werden.
-
Bei
der MALT der vorliegenden Erfindung muß solch eine Funktion ausgeschaltet
werden. Sonst können,
nachdem eine MCD sich aus dem Versorgungsbereich für eine besondere
Technik hinausbewegt, solche Widerrufmechanismen getriggert werden,
was zu der Beendigung von Transportverbindungen führt, die
unter Verwendung dieser Technik aufgebaut wurden. Das Abschalten
des obenerwähnten
Merkmals ist im allgemeinen von der Implementierung abhängig, aber
unkompliziert.
-
Vorteile der MALT der
vorliegenden Erfindung
-
Unter
Verwendung der MALT der vorliegenden Erfindung sind mobile Nutzer
dazu in der Lage, ein Roaming über
verschiedene Typen von Netzen hinweg nahtlos auszuführen, ohne
daß laufende
Transportverbindungen fallengelassen werden. Darüber hinaus kann die MALT der
vorliegenden Erfindung vollständig
auf der Seite des Clienten als Software-Hintergrundroutine implementiert
werden; existierende Netzeinrichtungen brauchen nicht hochgerüstet zu
werden.
-
Weitere
Vorteile der MALT können
anhand des folgenden üblichen
Kommunikationsszenarios erläutert werden.
-
Ein
Nutzer initiiert einen Multimedia-Telefonanruf von seiner MCD an
seinem Schreibtisch. Zu jener Zeit ist die MCD mit einer Dockstation
verbunden, die eine drahtgebundene Netzkonnektivität bietet.
Während drahtlose
Schnittstellen in der MCD vorgesehen sind und die Konnektivität über diese
drahtlosen Techniken auch zur Verfügung steht, ist es offensichtlich
besser, in dem Moment die drahtgebundene Netzschnittstelle zu verwenden.
Dann muß sich
der Nutzer während
des Telefonanrufs in einen anderen Raum in einem Gebäude auf
der gegenüberliegenden
Straßenseite
begeben. Der Nutzer möchte
das Gespräch
während
des Hinübergehens
aufrechterhalten.
-
Während sein
Büro und
der Raum, in den er sich begibt, beide durch die drahtlose Technik
A (zum Beispiel Bluetooth) bedient werden, werden Zugriffspunkte
für eine
lokale Konnektivität
im Freien auf dem Campus durch eine verschiedene drahtlose Freiluft-Technik
B (zum Beispiel 802.11b) bedient. Alle Zugriffspunkte sind mit dem
Funk-LAN derselben Haupttrasse verbunden. Obwohl die Technik B in
der Realität
möglicherweise
in einem Büro
verwendet werden kann, ist die Verbindungsqualität auf Grund des Abfangens und Abschwächens der
Signale durch Wände
und Decken/Fußböden wahrscheinlich
schlecht. Deshalb ist es besser, die Technik A für die drahtlose Konnektivität in Innenräumen und
die Technik B im Freien zu verwenden.
-
Wie
zuvor diskutiert, ist ein nahtloses Roaming über die Verbindungstechnik
hinweg ohne Verlust der Transportverbindung ohne die MALT der Erfindung
nicht möglich.
In einem herkömmlichen
System wird die Transportschichtverbindung unterbrochen, nachdem
sich der Nutzer aus dem Versorgungsbereich seiner gegenwärtigen Verbindungstechnik
hinausbewegt. Der Nutzer muß das
Gespräch
neu initiieren (die Transportschichtverbindungen neu aufbauen),
wobei eine verschie dene Datenverbindungstechnik verwendet wird.
Falls die Telefontechnik intelligent genug ist, kann es sein, daß eine automatische
Wiederwahl versucht wird, um die Telefonverbindung mit minimaler
Mitwirkung durch den Nutzer erneut herzustellen. Bei dem obigen
Beispiel erfolgt solch eine Wiederwahl nach:
- 1.
der Entnahme der MCD von der Dockstation;
- 2. dem Entfernen der MCD aus dem Büro; und
- 3. dem Hineingelangen der MCD in den Raum am Ziel.
-
Unter
Verwendung der MALT-Prozeduren der vorliegenden Erfindung besteht
die Telefonverbindung jedoch fort, ohne spürbare Unterbrechung, die durch
die Notwendigkeit der Wiederwahl verursacht wird.
-
Ein
Vergleich zwischen dem, was in verschiedenen Netzschichten mit oder
ohne die MALT der vorliegenden Erfindung passiert, ist in Tabelle
1 zusammengefaßt.
-
Obwohl
gegenwärtig
verschiedene Verbindungsqualitätstestmechanismen
existieren, sind diese typischerweise nicht mit dem MCD-Netzkern
integriert. Falls eine MCD zwischen Verbindungstechniken umschalten
muß, muß der Nutzer
ohne die MALT-Technik die Veränderungen
manuell konfigurieren. Außerdem
werden während
des Umschaltens der Verbindungstechnik Transportverbindungen in
gegenwärtigen
Systemen beendet. Einige Anwendungen nutzen dennoch ihre eigenen "lebenserhaltenden" Mechanismen, um
Kommunikationssessionen in solchen Fällen aufrechtzuerhalten. Da
die Sessionsschicht typischerweise jedoch nicht über eine ausreichende API-Unterstützung verfügt, sind
diese Mechanismen sehr simpel. Auch bei diesen "intelligenten" Anwendungen dauert es gewöhnlich sehr
lange (zig Sekunden, oder sogar Minuten), bis die Anwendung die
Beendigung der Verbindung detektiert und die Verbindung neu aufbaut.
Da andererseits die MALT dazu in der Lage ist, Transportverbindungen
während
des Umschaltens zwischen Verbindungstechniken beizubehalten, werden
Kommunikationssessionen überhaupt
nicht beeinträchtigt.
-
-
Auf
Grund der Größe und der
Heterogenität
des Internets wird wahrscheinlich jede neue Technik versagen, die
ein obligatorisches Hochrüsten
von Netzeinrichtungen erfordert. Die MALT erfordert keine Modifizierung
der Infrastruktur und kann lediglich auf der MCD auf der Seite des
Clienten implementiert werden. Obwohl ein Verbindungsqualitätsdetektionsserver
der MALT beim Bestimmen der geeignetsten Schnittstelle helfen kann,
ist er nicht notwendig. Es gibt andere Verfahren zum Ausführen derselben
Aufgabe ohne Verwendung von zusätzlichen
Netzeinrichtungen. Unter Einsatz dieser Verfahren stellt die MALT
eine Lösung
völlig auf
der Seite der MCD dar. Dies bedeutet, daß ein MCD-Hersteller die MALT
in seinem Produkt implementieren kann, und zwar ohne die Mitwirkung
durch irgendwelche anderen Netzeinrichtungsprodukthersteller oder Dienstanbieter.
-
Die
MALT gründet
sich auf das Standard-ARP-Protokoll. Da ARP durch praktisch alle
existierenden IP-Netze unterstützt
wird, kann MALT in diese Netze gesteckt werden, ohne die Arbeitsweise
dieser Netze zu beeinträchtigen.
Somit ist die MALT mit existierenden IP-Netzeinrichtungen und Infrastrukturen
voll kompatibel. Das Einführen
eines mit der MALT-Funktion aufgewerteten Produktes verläuft unkompliziert.
-
Ausführungsformen
der vorliegenden Erfindung können
vorteilhaft sein, falls die IP-Adressen, die verschiedene Verbindungstechniken
nutzen, in demselben Subnetz liegen und durch verschiedene Vorrichtungstreiber
oder Netzschnittstellenkarten bedient werden. Falls verschiedene
Verbindungstechniken gemeinsam auf derselben Schnittstellenkarte
angeordnet sind und durch einen einzelnen Vorrichtungstreiber bedient
werden, könnte
das Umschalten zwischen den gemeinsam angeordneten Techniken innerhalb
solch einer speziellen Schnittstellenkarte adressiert sein. Durch
das Erhöhen
der Komplexität
der Schnittstellenkarte könnte das
Umschalten innerhalb der physikalischen und Datenverbindungsschichten
verborgen bleiben. Über
dem Vorrichtungstreiber würden
diese zwei Techniken als einzelne Netzschnittstelle erscheinen,
und was den Rest der MCD anbelangt, gibt es kein offensichtliches
Umschalten zwischen Netzschnittstellen. Die MALT, die die vorliegende
Erfindung verkörpert,
könnte
auch gemeinsam mit der speziellen Schnittstellenkarte verwendet werden,
um ein Umschalten zwischen jener speziellen Schnittstellenkarte
und Schnittstellenkarten einer anderen Verbindungstechnik vorzusehen.
Falls IP-Adressen für
die verschiedenen Verbin dungen in verschiedenen Subnetzen liegen,
sind dann noch andere, komplexere Verfahren erforderlich.
-
Ausführungsformen
der vorliegenden Erfindung können
ein nahtloses Roaming durch Verbindungstechniken hindurch in derselben
Broadcast-Domäne
und während
der Teilnahme an einer laufenden Transportschichtsession ermöglichen.
In gegenwärtigen
Systemen wird die aktive Transportschichtverbindung beendet, nachdem
sich ein Nutzer aus dem Versorgungsbereich seiner gegenwärtigen Verbindungstechnik
hinausbegibt. Das System, oder der Nutzer, muß das Gespräch unter Verwendung der alternierenden
Datenverbindungstechnik neu initiieren. Es kommt zu einer zunehmenden
Verzögerung
und dem möglichen
Verlust von wichtigen Informationen, wenn die Transportverbindung
unterbrochen wird, speziell wenn die Verbindungen drahtlose Techniken
nutzen. Ausführungsformen
der vorliegenden Erfindung können
es gestatten, daß die Nutzervorrichtung
auf eine alternierende Verbindung schaltet und bewirkt, daß alle Daten,
die für
die frühere Verbindung
bestimmt waren, an die neue Verbindung geliefert werden, ohne das
Transportprotokoll zu trennen. In vielen Anwendungen unter Einsatz
des TCP/IP, wie etwa beim multimedialen Konferenzbetrieb, beim Audio/Video-Streaming
und beim Browsen im World Wide Web mit drahtlosen Vorrichtungen,
wird die Ansprechempfindlichkeit außerordentlich verbessert.
-
Eine
MCD kann mit einer anderen Vorrichtung kommunizieren (d. h. eine
Transportverbindung haben), die irgendwo im Internet sein kann.
In einer Ausführungsform
der vorliegenden Erfindung ist nur die MCD, die die MALT ausführt, auf
die Bewegung zwischen Versorgungsbereichen innerhalb des Subnetzes
beschränkt; die
andere Vorrichtung (mit der die MCD, die die MALT ausführt, gerade
kommuniziert) kann ir gendwo im Internet sein. Hinsichtlich der anderen
Vorrichtung, die an der Verbindung beteiligt ist, gibt es keine
Beschränkung,
und die andere Vorrichtung kann die MALT, die die vorliegende Erfindung
verkörpert,
verwenden oder auch nicht. Falls die andere Vorrichtung die MALT
verwendet, die die vorliegende Erfindung verkörpert, könnte dann die andere Vorrichtung
am Roaming innerhalb ihres Subnetzes auch teilnehmen.
-
Darüber hinaus
kann eine Ausführungsform
der vorliegenden Erfindung Fehlertoleranz in einer mobilen Rechenumgebung
durch das Aufrechterhalten einer laufenden Kommunikation bieten.
-
Die
vorliegende Erfindung kann durch Modifizierungen an der Kommunikationssoftware
implementiert werden, die sich auf einer Kommunikationsvorrichtung
befindet, die mehrere Kommunikationsverbindungsschnittstellen enthält. Ferner
liegen die Schnittstellen in demselben IP-Subnetz. Die vorliegende
Erfindung kann die Operation des existierenden standardmäßigen Address
Resolution Protocol (ARP) modifizieren.
-
Obwohl
ein einfaches Verfahren präsentiert
wird, um zu bestimmen, wann eine Verbindungsumschaltung bewirkt
werden soll und wie die beste "Verbindung" bei einem Umschalten
auszuwählen
ist, ist die vorliegende Erfindung nicht auf solch ein Verfahren
begrenzt, da die verschiedensten Verfahren dafür möglich sind.
-
Darüber hinaus
kann die vorliegende Erfindung auf drahtlose Techniken erweitert
werden, die Schnittstellen für
eine Langstreckenkonnektivität
(das heißt,
ein drahtloses 3-G-Modem)
enthalten, denen zwar aus administrativen Gründen typischerweise keine Adressen
in demselben Subnetz wie Kurz- und
Mittelstreckenschnittstellen gegeben werden, bei denen aber ein
einzelner Netzwerkverwaltungskörper
Zugriffe über
mehrere Verbindungstechniken verwaltet und Schnittstellen Adressen
in demselben Subnetz verliehen werden. Zum Beispiel hat ein Laptop-Computer
in einem Büro
wahrscheinlich Adressen in demselben Subnetz für seine Ethernet-Karte, seine
IEEE-802.11-Karte und seine Bluetooth-Karte. Das Umschalten zwischen
Schnittstellen in verschiedenen Broadcast-Domänen ist nicht im Umfang der
vorliegenden Erfindung enthalten und kann durch Netzschicht-Techniken
wie etwa das Mobile IP oder andere Modifizierungen an den Routing-Protokollen bewältigt werden.
-
Vorteilhafterweise
enthält
eine Ausführungsform
der vorliegenden Erfindung die Möglichkeit
zum Aufrechterhalten der Transportschicht-Konnektivität durch
Verbindungsveränderungen,
was zufriedenere Nutzer zur Folge hat, wenn von einer mobilen Rechenvorrichtung
wie etwa einem Personal Digital Assistant (PDA) auf das Internet
zugegriffen wird. Das Aufrechterhalten der Transportschicht-Konnektivität durch
Verbindungsveränderungen
bei der vorliegenden Erfindung ist wichtig in Vorrichtungen mit
mehreren, drahtlosen Verbindungsoptionen, bei denen Versorgungsbereiche
klein sein können
und häufige
Verbindungsveränderungen
erforderlich sein können,
wenn sich ein Nutzer hinausbegibt.
-
Auf
Grund der Popularität
und des großen
Anwendungsraumes für
eine Vernetzung auf der Basis des Transport Control Protocol/Internetwork
Protocol (TCP/IP) ist es ratsam, anfangs Implementierungen mit neuer drahtloser
Technik als IP-Schnittstellen einzuführen, um Akzeptanz zu erlangen.
Nachdem eine neue drahtlose Technik ihre solide Position und ihren
Marktanteil behauptet, muß sie
dennoch, solange sie auf eine Mehrzweckkommunikation zwischen Rechenvorrichtungen
abzielt, den größten Teil
ihrer Kapazität
dem Transport von IP-Daten widmen. Deshalb wird die nutzer-, anwendungs-
und marktfreundlichste Produktform für neue drahtlose Kommunikationstechnik
eine Netzschnittstellenkarte (NIC) sein, die als Datenverbindungsschicht (und
darunter) für
den TCP/IP-Stapel
dient.
-
Wenn
die Nutzer nicht mehr an die Beschränkungen der drahtgebundenen
Konnektivität
gebunden sind, wird das zuvor beschriebene Szenario in dem Zeitalter
der mobilen Rechentechnik völlig
normal sein. Mit der gegenwärtigen
Technik können
diese anspruchsvollen mobilen Nutzer allerdings nicht zufriedengestellt werden.
Die MALT, die die vorliegende Erfindung verkörpert, sieht ein transparentes
Roaming über
verschiedene Verbindungstechniken hinweg vor und wird der Nachfrage
nach einer ununterbrochenen Konnektivität gerecht.
-
Die
vielen Merkmale und Vorteile der Erfindung gehen aus der eingehenden
Beschreibung hervor; und da die Fachwelt ferner ohne weiteres auf
zahlreiche Abwandlungen und Veränderungen
kommen wird, soll die Erfindung nicht auf die exakte Konstruktion
und Operation, die dargestellt und beschrieben ist, begrenzt sein, und
demzufolge können
alle geeigneten Abwandlungen und Äquivalente als in dem Umfang
der beigefügten Ansprüche fallend
angesehen werden.