-
HINTERGRUND DER ERFINDUNG
-
Erfindungsgebiet
-
Die
vorliegende Erfindung betrifft Verfahren und Systeme zum Herstellen
einer Verbindung mit Drahtlos-Vorrichtungen und insbesondere Verfahren
und Systeme zum Herstellen einer Verbindung mit einer Vorrichtung
in einem privaten Netzwerk von einer Vorrichtung in einem öffentlichen
Netzwerk aus, um eine virtuelle Ende-Zu-Ende-Verbindung herzustellen.
-
Hintergrundinformationen
-
Die
Notwendigkeit der Verbindung vernetzter Computer mit anderen Computernetzwerken
ist zunehmend wichtiger geworden, da unsere globale Gesellschaft
aus geschäftlichen
und persönlichen
Gründen
danach strebt, international zu kommunizieren. Diese Notwendigkeit
hat Fachkreise veranlasst, sich Möglichkeiten zu überlegen,
wie Vorrichtungen auf unterschiedlichen physikalischen Netzen miteinander
verbunden werden, so dass verschiedene und gleiche Netzwerke einheitlich
(oder standardmäßig) miteinander
kommunizieren können.
Eine solche Verbindungstechnologie wird oft auch als „Internetworking", „Internetworks" oder einfach „Internets" bezeichnet. Eine
derartige globale Internetworking-Implementierung ist das Internet,
wie es ursprünglich
von der ARPA, NSF usw. für
Bildungs- und staatliche Zwecke entwickelt worden ist. Das Internet
in seiner gegenwärtig
erweiterten Version existiert als eine komplexe Infrastruktur aus
Netzwerk-Backbones,
die an Netzwerke in der ganzen Welt angeschlossen sind. Andere (lokale,
regionale, private oder öffentliche)
Netzwerke sind über
Gateways oder Router (ebenfalls bekannt als Gateway-Server, Gateway-Systeme,
Router-Server und Router-Systeme) mit dem Internet-Backbone verbunden.
Bei dem vorliegenden Dokument können
die Begriffe „Router" oder „Gateway" für sich allein
oder zur Modifizierung eines anderen Substantivs austauschbar verwendet
werden und bezeichnen im Allgemeinen jegliche Hardware oder Software,
Teilsysteme, Systeme oder Codes, mit denen ein Datenpaket (auf einer
beliebigen Ebene des Netzwerks bzw. des physikalischen Datentransfers)
zwischen zwei oder mehreren homogenen oder heterogenen Maschinen,
Systemen oder Teilsystemen ungeachtet des speziellen Gateways/Routers
oder Dienstes übertragen werden
kann. In der Internet-Umgebung zeigt das Vorliegen eines Routers
oder Gateways meist eine Fähigkeit
an, ein Internet-Datagramm zu einem anderen Router oder einer anderen
Maschine zu leiten. Maschinen, auf denen Anwendungen laufen sollen,
werden in der Netzwerkterminologie als „Host" oder „Host-Maschinen" bezeichnet, wobei
im vorliegenden Fall ein Router/Gateway eine Funktion einer Host-Maschine
oder einer separate Vorrichtung sein kann.
-
Im
Internet kommunizieren die einzelnen Netzwerke und Vorrichtungen
mit Hilfe von Standard-Netzwerkprotokollen und -Modellen, z. B.
TCP/IP (oder UDP/IP). Wenngleich angenommen wird, dass der Leser des
vorliegenden Dokuments mit Netzwerkkonzepten, -protokollen und -standards
vertraut ist, wird zum leichteren Verständnis hier eine kurze Zusammenfassung
gegeben. Ausführliche
Hintergrundinformationen über das
Internetworking, Internets, das Internet und damit zusammenhängende Begriffe
und dazugehörige
Technologien findet man in Tanenbaum, A. Computer Networks, Prenctice-Hall, N. J. 3. Auflage,
1996, und in Comer, D. Internetworking with TCP/IP, Principles,
Protocols, and Architectures, Prentice Hall, N.J. 4. Auflage, 2000.
-
TCP/IP
und UDP/IP (oft als „UDP" bezeichnet) bezieht
sich auf Kombinationen aus einer populären Transportschicht und Netzwerkschicht-Protokollen,
die man üblicherweise
in Internetworking-Umgebungen vorfindet (auf jeder dieser Schichten
stehen ebenfalls andere Protokolle zur Verfügung). Das „IP" in TCP/IP steht für „Internet Protocol", wobei es sich um
ein Netzwerkschicht-Protokoll handelt, welches festlegt, wie Daten
organisiert und dargestellt werden (das Format und die Bedeutung
von Datagrammen), und die Kommunikations-Transaktionen, die zum
Routen von selbigen verwendet werden. TCP („Transmission Control Protocol") und UDP („User Datagram
Protocol"), bei
denen es sich jeweils um Transportschichtprotokolle handelt, die
zusätzlich
zu einem IP-Protokoll implementiert werden können, unterstützen die
verbindungsbasierte bzw. die verbindungslose Datenübertragung.
Unter einer verbindungsbasierten Datenübertragung versteht man, dass
eine Quellen- und eine Zielvorrichtung eine Verbindung anfordern
und anschließend über die „virtuelle" Verbindung nacheinander
Daten zueinander senden (typischerweise umfassen sie Handshake-Mechanismen).
Mit dem Begriff „virtuell" ist hier gemeint,
dass, wenngleich die Verbindung nicht unbedingt verdrahtet sein
muss, die Verbindung dennoch eine direkte Leitung zwischen einer
Quelle (Anforderer) und einem Ziel (Empfänger) bereitzustellen scheint.
Die Daten strömen
dabei durch die unteren Protokollschichten, so dass sie letztendlich über ein
physikalisches Übertragsmedium übertragen
werden. Die verbindungslose Datenübertragung impliziert, dass
die Quelle ein Datagramm zum Ziel sendet, jedoch nicht sicherstellt,
dass die Daten in einer bestimmten Reihenfolge geliefert werden
bzw. ankommen.
-
Des
Weiteren definiert das IP-Protokoll einen einheitlichen Netzwerkadressier-Mechanismus, so dass Maschinen,
die Protokolle implementieren, welche IP verwenden, z. B. TCP oder
UDP, in der Lage sind, Quellen und Ziele für ihre Datenübertragungen
anzubieten. Der Netzwerkadressier-Mechanismus gibt eine abstrakte
Adresse und ein Bindungsprotokoll zum Abbilden der abstrakten Adresse
auf eine physikalische Hardware-Adresse an. Bei der vorliegenden
Beschreibung wird der einheitliche Netzwerkadressier-Mechanismus im
Allgemeinen als „IP-Adresse" bezeichnet. Oft
werden IP-Adressen
in der „gepunkteten
Dezimal-Notation" geschrieben,
die eine Adresse als „w.x.y.z" angibt (z. B. kennzeichnet
in einer 32-Bit-Adresse jeder Buchstabe ein Byte an Informationen).
So kann beispielsweise eine IP-Adresse wie „192.251.0.1" eine Host-Maschine im Netzwerk „192", Teilnetz „251 ", Domain „0" angeben. Bei Verwendung
von IP sind im typischen Fall eine Reihe von Adressen für die private
Netzwerknutzung und die übrigen
IP-Adressen entweder für
andere Verwendungszwecke oder für öffentliche
(routable) Adressen reserviert, die von einer Genehmigungsorganisation
zugeordnet werden. Mehrere private Netzwerke können intern die gleichen (non-routable)
IP-Adressen zuordnen (gegenwärtig die
Internet Corporation for Assigned Names and Numbers), müssen jedoch
einheitliche IP-Adressen verwenden, um sich an das Internet anzuschließen. Z.
B. können
in Netzwerken der Klasse B (die mit Hilfe von klassenbasierten Adressabkommen
jeweils bis zu 254 Host-Maschinen zulassen) private Adressen von
192.168.0.0 bis 192.168.255.0 reichen. Adressierabkommen sind den
Fachleuten auf diesem Gebiet hinlänglich bekannt sind, und folglich
wird davon ausgegangen, dass sie auch dem Leser der vorliegenden Schrift
bekannt sind. Bei der vorliegenden Anmeldung wird davon ausgegangen,
dass eine IP-Adresse eine beliebige Adresse ist, die in einer besonderen
Internet-Working-Umgebung sinnvoll ist (und definiert ist), obwohl
auch auf Beispiele verwiesen werden kann, die die Internet-IP-Adressierung
anwenden. Ein Netzwerk, welches IP unterstützt, kann mit einem anderen
TCP/IP-basierten oder UDP/IP-basierten Internet oder dem Internet
verbunden werden, indem ein Router geschaffen wird, der auf der
Grundlage einer IP-Adresse Daten zu einem anderen Router oder einer
anderen Host-Maschine schickt. Im typischen Fall enthält der Router
(oder Router-Server/Dienst) eine Routing-Tabelle, die festlegt,
zu welcher Maschine (und optional zu welchem Port) ein Datagramm
angesichts einer bestimmten Ziel-IP-Adresse gesendet wird. Die IP-Adresse
identifiziert einen Router/eine Host-Maschine eindeutig und kann
in einem typischen TCP/IP-Netzwerk auf einen String-Namen abgebildet
werden, der z. B. eine spezielle Maschine als Teil eines größeren Domains
identifiziert. (Wenngleich hier oft auf ein TCP/IP-basiertes Netzwerk
Bezug genommen wird, liegt es für
Fachleute auf der Hand, dass es sich bei dem Netzwerk auch um ein
UDP-basiertes (verbindungsloses) handeln kann und ein anderes Sitzungsverwaltungssystem
unterstützen
kann.)
-
In
einem typischen TCP/IP-(Inter)network sind die Maschinen entsprechend
einer Namensgebungshierarchie angeordnet. Eine solche Hierarchie
ist das Domain Name System („DNS"), welches angibt,
wie eine spezielle Maschine mit den anderen verbunden ist. (Der
Begriff DNS wird mitunter auch dazu verwendet, einen Server oder
Dienst zu identifizieren, der das DNS-Protokoll implementiert.)
Z. B. kann der String (die Zeichenkette) „initials_machine.4thpass.service_provider.com„ dazu
verwendet werden, eine Maschine anzugeben, die Ihnen gehört und an
das LAN der 4th Pass Company angeschlossen ist, welches wiederum
an das WAN (Wide Area Network) eines Service Providers angeschlossen
ist. TCP/IP und UDP/IP definieren Tools/Bibliotheken für Client-Systeme, mit denen
von einem String-Namen eines speziellen Routers/einer Maschine eine IP-Adresse
(eine logische Adresse in einem Internet) ermittelt wird. Ein derartiges
Tool wird auch als DNS-Abfrage bezeichnet und enthält beispielsweise
eine API mit dem Namen „GetHostByName". GetHostByName gibt
für einen
String eine IP-Adresse zurück.
In der vorliegenden Beschreibung wird eine Server-Maschine, die den
DNS-Standard für eine spezielle
Organisation, ein Netzwerk oder ein Teilnetzwerk implementiert,
einfach als DNS bezeichnet, wenngleich DNS-Dienste auch mit anderen
Netzwerkdiensten zusammen auf ein und derselben physikalischen Maschine
bereitgestellt werden können.
-
1 ist
ein Beispiel-Blockdiagramm der grundlegenden Internet-Kommunikation
zum Senden eines Datenpakets mit Hilfe von TCP/IP oder UDP/IP. In 1 ist
eine Host-Maschine 101 über eine
Leitung 102 an das Internet 110 angeschlossen.
Andere verdrahtete Vorrichtungen, z. B. die Host-Maschinen 140 und 141, sind
in der Abbildung an ein privates (oder öffentliches) Netzwerk 130 angeschlossen,
bei dem es sich beispielsweise um ein lokales Netzwerk (LAN) handeln
könnte.
Die Vorrichtungen im Netzwerk 130 kommunizieren über das
Internet 110 mit Hilfe einer zusätzlichen Maschine, eines Routers 121,
der in der Abbildung über einen
Draht angeschlossen ist (z. B. eine Telefonleitung). Ein DNS-Server 120 ist
ebenfalls über
eine Leitung an das Internet 110 angeschlossen. In einer
typischen Grundoperation führt
die Quellenvorrichtung (Host-Maschine 101),
mit der ein Datenpaket zur Vorrichtung 140 (über TCP
oder UDP) gesendet werden soll, zuerst eine DNS-Abfrage aus, um
eine IP-Adresse zu erhalten, wel che einem String-Namen entspricht,
der die Vorrichtung 140 repräsentiert. Um beispielsweise
Daten zu „initials_machine.4thpass.service_provider.com" zu senden, kann
das DNS 120 einem DNS-Server für „4thpass.com" entsprechen. Der
Server weiß,
wie er Maschinen in seiner Domain" lokalisiert, z. B. die „initials_machine", und kann diese
entsprechende öffentliche IP-Adressen
abrufen. Nach dem Ermitteln der korrekten (öffentlichen) IP-Adresse gibt
das DNS 120 diese Adresse an die Quellenvorrichtung 101 zurück. Die
Qellenvorrichtung 101 kann entweder eine TCP-Verbindung
herstellen, um mit der Zielvorrichtung 140 zu kommunizieren,
oder einfach Pakete über
UDP oder ein anderes verbindungsloses Protokoll unter Zuhilfenahme
der zurückgeschickten öffentlichen
IP-Adresse zu senden.
-
EP-A-1003315
legt ein Verfahren in einem Computer-Netzwerk entsprechend dem einleitenden
Teil von Anspruch 1 offen.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung wird ausschließlich durch die unabhängigen Ansprüche 1, 13–17 definiert. Die
abhängigen
Ansprüche
beziehen sich auf bevorzugte Ausführungsformen.
-
Ausführungsformen
der vorliegenden Erfindung schaffen computer- und netzwerkbasierte
Systeme für eine
in zwei Richtungen initiierte bidirektionale Kommunikation mit Drahtlos-Vorrichtungen
unter Zuhilfenahme von verbindungsbasierten oder verbindungslosen
Protokollen, beispielsweise TCP/IP und UDP/IP. Beispiel-Ausführungsformen
schaffen ein Adressverwaltungs-Proxysystem („Address Management Proxy
System – AMPS"), welches an ein öffentliches
Internets-Netzwerk, z. B. das Internet, angeschlossene Vorrichtungen
und Systeme in die Lage versetzt, eine Verbindung mit an ein privates
drahtloses Netzwerk angeschlossenen Drahtlos-Vorrichtungen herzustellen,
um Daten an selbige zu senden, ohne die nicht non-routable privaten
Adressen dieser Drahtlos-Vorrichtungen offen zu legen. Das AMPS
ordnet mit Hilfe einer Anforderungsvorrichtung für die temporäre Nutzung
eine öffentliche
(routable) Netzwerkadresse in einem externen öffentlichen Netzwerk zu, um
mit einer Drahtlos-Vorrichtung in einem privaten Drahtlos-Netzwerk
zu kommunizieren. Bei einer Ausführungsform
wird ein Pool öffentlicher
Adressen, z. B. öffentliche
IP-Adressen, von dem AMPS verwaltet und den Vorrichtungen des Drahtlos-Netzwerks
nach Bedarf dynamisch zugeordnet. Das Abbilden einer temporären öffentlichen
Adresse auf die private Adresse einer Drahtlos-Vorrichtung wird
von dem AMPS mit Hilfe von Routing-Tabellen und anderen Abbildungs-Datenstrukturen
gepflegt und transparent aktualisiert.
-
Bei
einer Ausführungsform
umfasst das AMPS einen oder mehrere modifizierte DNS/API-Server,
einen oder mehrere Adress-Proxy/Router, einen Adressverwaltungs-Datenserver, einen
oder mehrere Adressverwaltungs-Daten-Repository und wahlweise eine
Lastenausgleichseinrichtung. Der DNS'/API-Server des AMPS empfängt eine
Anforderung von einer Vorrichtung in einem öffentlichen Netzwerk im Hinblick
auf eine spezielle Drahtlos-Vorrichtung und gibt eine entsprechende
temporäre öffentliche
Adresse aus und zurück,
die intern auf die private Adresse der Drahtlos-Vorrichtung abgebildet
wird. Anschließend
kann die öffentliche Adresse
von der Vorrichtung in dem externen öffentlichen Netzwerk dazu verwendet
werden, Daten zu der Drahtlos-Vorrichtung zu senden. Die temporäre öffentliche
Adresse ist beispielsweise eine Adresse, die mit einem der Adress-Proxy/Router
verknüpft
ist, die mit dem externen öffentlichen
Netzwerk verbunden sind und Zugang zu den privaten Adressen im privaten
Drahtlos-Netzwerk haben. In einigen Fällen verwendet die Vorrichtung
im öffentlichen
Netzwerk, die Daten an die Drahtlos-Vorrichtung senden möchte, ein
verbindungsbasiertes Protokoll, z. B. TCP/IP, um Daten zu senden.
In anderen Fällen
verwendet die Vorrichtung ein verbindungsloses Protokoll, z. B.
UDP (UDP/IP), um die Daten zu senden.
-
Gemäß einer
Herangehensweise erzeugt das AMPS einen modifizierten DNS-Server,
der das, was als Ergebnis eines Anrufs zurückgeführt wird, in eine standardmäßige DNS-Abfragefunktion ändert, z.
B. GetHostByName. Bei einem anderen Ansatz implementiert das AMPS
eine spezielle API für
eine Vorrichtung in einem öffentlichen
Netzwerk, welche für
die Abfrage einer öffentlichen
Adresse einer bestimmten Drahtlos-Vorrichtung verwendet wird. Mit Hilfe
der speziellen API-Implementierung, zusammen mit dem Internet-Protokoll, kann
das AMPS private Adressen auf Adressen abbilden, die lediglich IP-Adressen
umfassen, oder kann sie als ein Paar aus IP-Adresse und Port abbilden.
Durch letztere Implementierung kann sich der Nutzwert eines speziellen öffentlichen
Adressraumes vergrößern.
-
Die
AMPS-Verfahren können
von einer verdrahteten Vorrichtung in einem privaten oder öffentlichen Netzwerk
oder von einer Drahtlos-Vorrichtung in einen derartigen Netzwerk
verwendet werden, die in der Eigenschaft als Quellenvorrichtung
wirksam wird, solange die Vorrichtung an ein öffentliches Netzwerk angeschlossen
ist, welches das AMPS adressieren kann und von selbigem adressiert
werden kann. Folglich können die
AMPS-Mechanismen
von Vorrichtungen in verschiedenen privaten, Drahtlos-Netzwerken
genutzt werden, um miteinander zu kommunizieren. Darüber hinaus
können
die AMPS-Mechanismen
mit anderen Internetworks verwendet werden, z. B. ATM-Netzwerken,
und mit anderen Datenübertragungsprotokollen
als dem TCP/IP oder UDP.
-
Um
eine größere Sicherheit
zu gewährleisten,
behält
das AMPS nach einer Ausführungsform
bei jeder Adressabbildung einen Time-to-Live-Parameter (TTL) bei.
Somit kann das AMPS immer dann, wenn der TTL-Wert anzeigt, dass
die Abbildung beendet ist, die Abbildung vernichten und ebenso jegliche
Verbindung. Weiterhin setzt das AMPS in einigen Ausführungsformen
einen Zeitstempel in eine ihrer eigenen Abbildungstabellen. Nachdem
eine gewisse Zeitspanne, ausgehend von dem Zeitstempel, abgelaufen
ist, kann das AMPS die Abbildung vernichten, wodurch periodisch
das Initiieren einer neuen Abbildung erzwungen wird.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 ist
ein Beispiel-Blockdiagramm für
ein grundlegendes Internet bzw. eine Internet-Verbindung, um ein Datenpaket mit Hilfe
von TCP/IP oder UDP/IP zu senden.
-
2 ist
ein Blockdiagramm eines Beispiel-Adressverwaltungs-Proxysystems,
welches bei der bidirektionalen Kommunikation mit einer Drahtlos-Vorrichtung
verwendet wird.
-
3 ist
ein Beispiel-Blockdiagramm von Komponenten eines Beispiel-Adressverwaltungs-Proxysystems.
-
4 ist
ein Beispiel-Blockdiagramm eines allgemeinen Computersystems zur
Anwendung von Ausführungsformen
des Adressverwaltungs-Proxysystems.
-
5 ist
ein Beispiel-Flussdiagramm des Prozesses, der von einer Vorrichtung
in einem öffentlichen Netzwerk
ausgeführt
wird, um Daten mit Hilfe des Adressverwaltungs-Proxysystems zu einer Drahtlos-Vorrichtung
zu senden, die sich in einem privaten Drahtlos-Netzwerk befindet.
-
6 ist
ein Beispiel-Blockdiagramm einiger Daten-Repository-Tabellen des
Adressverwaltungs-Proxysystems, mit denen Routinen der DNS'/API-Server und der
Adress-Proxy/Router
unterstützt
werden.
-
7 ist
ein Beispiel-Flussdiagramm einer Beispielroutine, die von einem
DNS'/API-Server des Adressverwaltungs-Proxysystems
erzeugt wird, um eine öffentliche
Adresse zurückzugeben,
die einem bestimmten eindeutigen Identifier entspricht.
-
8 ist
ein Beispiel-Flussdiagramm einer Beispielroutine innerhalb eines
Adress-Proxys/Routers
eines Beispiel-Adressverwaltungs-Proxysystems, welche Daten empfängt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Ausführungsformen
der vorliegenden Erfindung erzeugen computer- und netzwerkbasierte
Verfahren und Systeme für
eine in beide Richtungen initiierte, bidirektionale Kommunikation
mit Drahtlos-Vorrichtungen unter Verwendung verbindungsbasierter
oder verbindungsloser Protokolle, z. B. TCP/IP und UDP/IP. Beispiel-Ausführungsformen
erzeugen ein Adressverwaltungs-Proxysystem („AMPS"), welches Vorrichtungen und Systeme,
die an ein öffentliches
Internet angeschlossen sind, z. B. das Internet, um eine Kommunikation mit
Drahtlos-Vorrichtungen herzustellen, die an ein privates drahtloses
Netzwerk angeschlossen sind, und Daten an sie zu senden, ohne die
non-routable privaten Adressen dieser Drahtlos-Vorrichtungen offen
zu legen.
-
Bei
vorhandenen Systemen kann die Datenkommunikation (Kommunikation
auf einem Datenkanal) zwischen einer Drahtlos-Vorrichtung, die an
ein privates Drahtlos-Netzwerk angeschlossen ist, und einer verdrahteten
Vorrichtung, die an öffentliches
verdrahtetes Netzwerk angeschlossen ist (z. B. das Internet), lediglich
von der Drahtlos-Vorrichtung hergestellt werden. Einige Netzbetreiber
haben Drahtlos-Vorrichtungen feststehende öffentliche IP-Adressen zugeordnet,
allerdings benötigen
dann die Drahtlos-Vorrichtungen
die Fähigkeit
von Client-Programmen (z. B. ein UDP-Stapel), mit der eingehende
Kommunikationspakete empfangen und bearbeitet werden können. Darüber hinaus
sind diese Drahtlos-Vorrichtungen dann Teil eines öffentlichen Drahtlos-Netzwerkes und nicht
eines privaten Drahtlos-Netzwerkes. Da öffentliche IP-Adressen immer
rarer werden und es gegenwärtig
immer teurer wird, Dienste für
ein Netzwerk aus mehreren Millionen Vorrichtungen bereitzustellen,
können
Netzbetreiber praktisch nicht darauf zählen, für jede Vorrichtung im Netzwerk
eine feststehende öffentliche
IP-Adresse zu haben. (Wenngleich die Verschiebung hin zu IPv6 mehr
Adressen zulassen wird, sind die gegenwärtigen Definitionen von IPv4
begrenzt, und die potenzielle Anzahl von Drahtlos-Nutzern, die größere Netzbetreiber
abonnieren, ist sehr groß.
In einigen Regionen der Welt ist das aktuelle öffentliche Adresszuordnungsschema
noch stärker
eingegrenzt.) Darüber
hinaus würde
diese Adressierbarkeit jede Vorrichtung weiteren Sicherheitsrisikos
aussetzen, da jede dieser Vorrichtungen Teil eines öffentlich
zugänglichen Netzwerkes
ist und es immer schwieriger wird, Sicherheitsmaßnahmen einzuführen und
zu vollstrecken. Daher wird in vorhandenen Drahtlos-Netzwerken das
Zuordnen privater IP-Adressen zu den Vorrichtungen dem Zuordnen
feststehender öffentlicher
IP-Adressen zu den Vorrichtungen bevorzugt. Wenn die Drahtlos-Netzwerke privat
sind, werden die Orte (Adressen) der Drahtlos-Vorrichtungen absichtlich
durch die Infrastruktur eines Netzbetreibersystems (in einigen Ländern als
Operator bezeichnet,) der öffentlichen
Betrachtung vorenthalten.
-
Drahtlos-Systeme
in privaten Netzwerken nutzen ähnliche
Verfahren wie die Technologie der Network Address Translation (NAT),
um Daten von einer Drahtlos-Vorrichtung zu der öffentlichen Netzwerkwelt zu
senden. Bei einer typischen Netzbetreiber-Infrastruktur, die ein
privates Netzwerk nutzt, „registriert
sich" eine Drahtlos-Vorrichtung
selbst bei der Netzbetreiber-Infrastruktur, wenn sie eingeschaltet
wird (oder unter anderen Umständen,
wenn die Vorrichtung versucht, Datenleistungen in Gang zu setzen).
Mit Hilfe eines DHCP-Servers (oder DHCP-artigen Servers) ordnet
der Netzbetreiber der Drahtlos-Vorrichtung
dynamisch eine private non-routable Adresse zu. Die Information über die
Abbildung der vorübergehenden
privaten IP-Adresse auf die öffentliche
IP-Adresse der Vorrichtung ist in einer internen Datenbank des Netzbetreibers gespeichert
und wird von Netzbetreiberdiensten verwaltet, wie z. B. von einem
RADIUS-Server.
-
Der
tatsächliche
Pfad, der von Daten zurückgelegt
wird, wenn sie von einer Drahtlos-Vorrichtung in einem privaten Netzwerk
zum Internet (oder umgekehrt) gesendet werden, ist sehr stark von
der Infrastruktur des Netzwerkes und von dessen Technologie abhängig und
proprietär.
In einem GPRS-Netzwerk z. B. verwaltet ein SGSN (Service GPRS Node)
die Kommunikation mit Drahtlos-Vorrichtungen; während das SGSN mit einem GGSN
(Gateway GPRS Node) verbunden ist, so dass die Verbindung zum Internet-Netzwerk
hergestellt wird. Ungeachtet des verwendeten mobilen Netzwerks gehört zu der
Datenkommunikation zwischen einer Drahtlos-Vorrichtung und dem Internet
eine Vielzahl verschiedener Netzwerkelemente wie GGSN (oder ähnliche
Elemente) auf der Basis von GPRS, GSM, CDMA oder einem anderen Netzwerk),
DNS-Server, Router und Gateways.
-
Begrenzte
Möglichkeiten
existieren für
das Senden von Kurznachrichten von einer verdrahteten Vorrichtung
in einem öffentlichen
Netzwerk zu einer mobilen Vorrichtung in einem Drahtlos-Netzwerk
(mit einer privaten Adresse), wiederum abhängig von dem Netzbetreiber
und der Netzwerktechnologie. Das SMS-(Short Message System)-Protokoll
definiert ein Format für
derartige Nachrichten, bietet jedoch keinerlei Hinweis auf die zugrunde
liegenden Strukturen oder die Datenübertragung. Darüber hinaus
haben derartige Nachrichten eine feststehende (sehr geringe) Länge und
nutzen einen besonderen Kanal zum Senden der Steuerinformationen
(ein Signalkanal), und nicht einen Datenkanal.
-
Demzufolge
gibt es keinen vorhandenen Mechanismus für das Erstellen eines bidirektionalen
Kommunikationskanals für
die Kommunikation mit Drahtlos-Vorrichtungen, die unter Verwendung
eines Standard-Adressierschemas über
ein privates Netzwerk mit der Netzbetreiber-Infrastruktur verbunden
sind. Außerdem
gibt es keinen Mechanismus zum In-Gang-Setzen der Kommunikation
mit einer derartigen Drahtlos-Vorrichtung von einer Vorrichtung
aus, die an ein öffentliches
Netzwerk angeschlossen ist. Somit können Aus führungsformen vorhandener Systeme
keinerlei programmatischen „Schub" von Daten von verdrahteten
Vorrichtungen, die sich außerhalb
der Infrastruktur eines Netzbetreibers befinden, zu Drahtlos-Vorrichtungen
unterstützen.
Des Weiteren kann auf die Nachricht, die von der Drahtlos-Vorrichtung
zu einer Vorrichtung in einem öffentlichen
(auch verdrahteten) Netzwerk gesendet werden, von der verdrahteten
Vorrichtung nicht direkt geantwortet werden, da die Adresse der
Drahtlos-Vorrichtung, die in der Nachricht enthalten ist, möglicherweise nicht
mehr gültig
ist. Zudem ist es nicht möglich,
mit diesem System Drahtlos-Anwendungen bereitzustellen und einen
anderen Code von einer Vorrichtung außerhalb der Netzbetreiber-Infrastruktur
zu einer Drahtlos-Vorrichtung zu senden. Die Drahtlos-Bereitstellung
und dazugehörige
Verfahren zum dynamischen Erzeugen und Downloaden von Anwendungen
auf Drahtlos-Vorrichtungen sind genauer in der Schrift WO 02 448
92 mit dem Titel „Method
and System for Maintaining and Distributing Wireless Applications", veröffentlicht
am 6.6.2002, erörtert.
Folglich ist ein Mechanismus, der es einer externen Vorrichtung
mit einer öffentlichen IP-Adresse
ermöglicht,
eine bidirektionale Kommunikation mit einer Drahtlos-Vorrichtung
herzustellen, höchst erwünscht. Das
Adressverwaltungs-Proxysystem erreicht die in zwei Richtungen initiierte
bidirektionale Kommunikation durch Implementierung eines modifizierten
DNS-Servers, der als Proxy/Router für Vorrichtungen im privaten
Drahtlos-Netzwerk dient, wenn sie eine Schnittstelle zu der öffentlichen
verdrahteten Internetwelt bilden. Zusammenfassend lässt sich
sagen, dass vom AMPS ein Pool öffentlicher
Adressen aufrechterhalten und je nach Bedarf zwischen aktiven Drahtlos-Vorrichtungen
dynamisch verteilt wird.
-
2 ist
ein Blockdiagramm eines Beispiel-Adressverwaltungs-Proxysystems,
das in der bidirektionalen Kommunikation mit einer Drahtlos-Vorrichtung
verwendet wird. Unter dem Begriff „bidirektional" ist in vorliegender
Beschreibung zu verstehen, dass die Datenpfade und die Kommunikation
zwischen zwei Endpunkt-Systemen in beide Richtungen verlaufen können. 2 zeigt
die Drahtlos-Vorrichtungen 201, 202 und 203,
die an das öffentliche
Netzwerk 210 angeschlossen sind. Fachleuten ist klar, dass
diese Vorrichtungen auch an ein anderes privates oder öffentliches
Netzwerk angeschlossen sein könnten,
welches dann wiederum über
eine oder mehrere verdrahtete Vorrichtungen mit dem öffentlichen
Netzwerk 210 verbunden sind, und noch immer die hier erörterte Funktionalität erreichen
könnten.
Jede dieser Varianten stellt eine äquivalente Funktionalität dar und
wird explizit bedacht und als Teil der Erfindung betrachtet. Auf
der Drahtlosseite ist das AMPS 220, das in seiner Eigenschaft
als Proxy (und Router) für
Drahtlos-Vorrichtungen
agiert, sowohl über die
Verdrahtung mit dem öffentlichen
Netzwerk 210 als auch über
standardmäßige Netzbetreiber-Infrastrukturelemente
(nicht abgebildet) an das Drahtlos-Netzwerk 230 angeschlossen
dargestellt. Es wird davon ausgegangen, dass der Leser über Grundkenntnisse
der Elemente einer Netzbetreiber-Infrastruktur und die grundlegenden
Mechanismen zum Routing sowie zum Umwandeln von Paketen aus einem
verdrahteten Netzwerk in ein Drahtlos-Netzwerk hat. Hierbei kann
eine analoge oder eine digitale Technologie zur Anwendung kommen
und Protokollumwandlungen erforderlich machen, um die physikalischen
Daten z. B. über
einen Satelliten letztendlich zu den Drahtlos-Vorrichtungen zu senden
und zu übertragen.
Detaillierte Hintergrundinformationen über die Drahtlos-Technologie
und Drahtlos-Routing-Mechanismen sind in Stallings, W. Wireless
Communications and Networks, Prentice Hall, N. J., 2002 beschrieben.
In 2 ist die Drahtlos-Vorrichtung 240 über verschiedene
Drahtlos-Elemente
(nicht abgebildet) an das Drahtlos-Netzwerk 230 angeschlossen.
-
Wenn
eine verdrahtete Vorrichtung, wie z. B. die verdrahtete Vorrichtung 201,
während
des Betriebs Daten zu einer Drahtlos-Vorrichtung 240 senden
möchte,
muss sie zuerst eine Position einer routable Adresse der Drahtlos-Vorrichtung 240 im öffentlichen
Netzwerk 210 ermitteln. Allerdings ist aus 2 ersichtlich,
dass die Drahtlos-Vorrichtung 240 nicht direkt mit dem öffentlichen
Netzwerk 210 verbunden ist. Daher muss die verdrahtete
Vorrichtung das Adressverwaltungs-Proxysystem 220 nutzen,
um eine routable (öffentliche)
Adresse festzulegen, zu der die für die Drahtlos-Vorrichtung 240 bestimmten
Daten gesendet werden. Dazu führt
die verdrahtete Vorrichtung 201 eine Abfrage (z. B. eine
modifizierte DNS-Abfrage) durch, um so eine routable öffentliche
Adresse zu finden, die der Drahtlos-Vorrichtung 240 entspricht.
Das Adressverwaltungs-Proxysystem 220 empfängt die
Abfrage und legt eine öffentliche
(routable) Adresse aus einem Adressenpool fest und ordnet diese
zu, wobei diese Adresse als Zieladresse für Datenpakete verwendet werden
kann, die zu der Drahtlos-Vorrichtung 240 gelangen sollen.
Man sollte beachten, dass das Adressverwaltungs-Proxysystem, wenngleich
hier als DNA-Abfrage dargestellt, wie im Weiteren beschrieben die
DNS-Abfrage-Implementierung modifiziert, um die Drahtlos-Vorrichtungstechnologie
zu nutzen und/oder eine alternative API zu erzeugen, mit der eine
geeignete routable Adresse festgelegt wird. Nachdem das Adressverwaltungs-Proxysystem 220 eine
routable Adresse an die verdrahtete Vorrichtung 201 zurückgegeben
hat, kann die verdrahtete Vorrichtung 201 Daten zu jener
Adresse senden. Das Adressverwaltungs-Proxysystem 220 empfängt die
Daten, wandelt Format und Protokolle usw. nach Bedarf um und sendet
die konvertierten Daten über
das Drahtlos-Netzwerk 230 zu
der Drahtlos-Vorrichtung 240.
-
3 ist
ein Beispiel-Blockdiagramm von Komponenten eines Beispiel-Adressverwaltungs-Proxysystems.
Bei einer Ausführungsform
umfasst das Adressverwaltungs- Proxysystem
(AMPS) einen oder mehrere modifizierte DNS'/API-Server 302, einen oder
mehrere Adress-Proxy/Router 305, einen Adressverwaltungs-Datenserver 303,
der eine Datenbank oder andere Repositories, z. B. das Adressverwaltungs-Daten-Repository 304 verwaltet,
und optional eine Lastenausgleichseinrichtung 301. Die
DNS'/API-Server 302 sind
entweder einzeln an ein öffentliches
Netzwerk 310 angeschlossen oder mit der Lastenausgleichseinrichtung 301 verbunden,
die wiederum an das öffentliche
Netzwerk 310 angeschlossen ist. Genauso ist auch jeder Adress-Proxy/Router 305 mit
dem öffentlichen
Netzwerk 310 verbunden, und zwar über die routable (öffentliche)
Adresse, zu der die von dem externen Netzwerk 310 für die Drahtlos-Vorrichtungen
bestimmten Daten gesendet werden. Die DNS'/API-Server 302 sind entweder
modifizierte Implementierungen eines DNS-Servers, um eine Funktionalität hinzuzufügen, die
für die
Kommunikation mit Drahtlos-Vorrichtungen notwendig ist, oder sie
sind Server, die eine oder mehrere spezielle APIs implementieren,
wie nachstehend beschrieben wird. Die DNS'/API-Server 302 nutzen den
Adressverwaltungs-Datenserver 303 beim Abbilden eines eindeutigen
Identifiers (z. B. String-Name) für eine Drahtlos-Vorrichtung
auf eine öffentliche
Adresse im öffentlichen Netzwerk 310.
Der Pool öffentlicher
Adressen wird auch von dem Adressverwaltungs-Datenserver 303 und dem
Daten-Repository 304 verwaltet. Der Adressverwaltungs-Datenserver 303 und
der Adressverwaltungs-Daten-Repository 304 können mit
Hilfe der vorhandenen Datenbanktechnologie, z. B. ODBC-Technologie,
implementiert sein, oder als eine Struktur, wie eine einfache Textdatei.
Fachleuten ist klar, dass jede Ausführungsform zum Speichern einer
Gruppe von Tabellen, Daten, Listen oder Abbildungen verwendet werden kann.
Des Weiteren verwendet jeder Adress-Proxy/Router 305 den Adressverwaltungs-Datenserver 303 oder ein Äquivalent
von ihm, um eine Serie von Routing-Tabellen zu erzeugen und zu aktualisieren,
die je nach Bedarf zum Zuordnen öffentlicher
Adressen zu den Drahtlos-Vorrichtungen und zum Aktualisieren der
verschiedenen Abbildungen zwischen den öffentlichen Adressen und den
non-routable (privaten) Adressen der Drahtlos-Vorrichtungen verwendet
werden. Die Tabellen und Abbildungen, die im Namen der DNS'/API-Server 203 und
der Adress-Proxy/Router 305 von
dem Adressverwaltungs-Datenserver 303 gehalten werden,
werden nachstehend anhand von 6 beschrieben.
-
Obwohl
die Verfahren des AMPS allgemein auf jede verdrahtete Vorrichtung
anwendbar sind, die mit einer Drahtlos-Vorrichtung kommuniziert,
ist unter dem Ausdrucköffentliches
Netzwerk" (oder "verdrahtetes Netzwerk") jede Art einer
durch ein Internet verbundenen Umgebung einschließlich eines öffentlichen
Netzwerks oder eines Backbones zu verstehen, der sich irgendwo auf
der Leitungsstrecke befindet und an eines oder mehre re private oder öffentliche
Netzwerke angeschlossen ist. Obwohl bei den hier beschriebenen Beispielen
oft auf das Internet Bezug genommen wird, erkennen Fachleute, dass
die beschriebenen Konzepte und Erfindungen auf andere Formen und
Ausführungsformen
des Internetworking, einschließlich
von Beispielen bei ATM-Netzwerken, ebenso anwendbar sind. Folglich
können
die erfindungsgemäßen Verfahren
auch von einer Vorrichtung in einem ersten Drahtlos-Netzwerk genutzt
werden, die mit einer anderen Drahtlos-Vorrichtung in einem zweiten
Netzwerk kommunizieren will – schließlich kommuniziert
jede Vorrichtung mit dem Adress-Proxy/Router des anderen Netzwerks.
Dieses Szenario ist denkbar, da jedes Drahtlos-Netzwerk (oder dessen
Netzbetreiber-Infrastruktur) an einen Proxy/Router angeschlossen
ist, der ebenfalls (über
eine öffentliche
Adresse) mit einem öffentlichen
Netzwerk verbunden ist. Wengleich zudem ein öffentliches Netzwerk hier mitunter
auch als verdrahtetes Netzwerk bezeichnet wird, liegt es für Fachleute
auf der Hand, dass jedes Netzwerk mit routable (öffentlichen) Adressen impliziert
sein kann. Folglich kann auch ein Drahtlos-Netzwerk mit einer eindeutigen öffentlichen
(und routable) Adresse erfindungsgemäße Verfahren zum Ausführen der
bidirektionalen Kommunikation nutzen. Ebenso ist es Fachleuten klar,
dass Begriffe wie beispielsweise Drahtlos-Vorrichtung, Telefon,
Taschencomputer, usw. austauschbar verwendet werden und jede Art
Drahtlos-Vorrichtung angeben, die mit dem AMPS arbeiten kann. Weiterhin
können
Begriffe auch eine unterschiedliche Schreibweise haben oder explizit
Erwähnung
finden oder auch nicht, wobei Fachleute erkennen, dass all diese Varianten
der Begriffe mit einbezogen sein sollen.
-
Die
hier beschriebenen Beispiel-Ausführungsformen
stellen Anwendungen, Tools, Datenstrukturen und andere Unterstützungseinrichtungen
da, mit denen Abbildungen privater Adressen über eines oder mehrere verdrahtete
oder Drahtlos-Netzwerke für
die bidirektionale Kommunikation auf öffentliche Adressen implementiert
werden. Weiterhin ist es Fachleuten klar, dass andere Ausführungsformen
der erfindungsgemäßen Verfahren
und Systeme für
viele weitere Zwecke zum Einsatz kommen können, wozu auch das Verschieben von
Informationen und/oder Daten oder Codes von einem öffentlichen
Netzwerk wie dem Internet zu einer Drahtlos-Vorrichtung gehört. Obwohl
sich diese Beschreibung vorrangig auf "Daten" bezieht, die über die Netzwerke versendet
werden, liegt es für
Fachleute außerdem
auf der Hand, das sämtliche
Datenarten mit Hilfe der hier beschriebenen Verfahren übertragen
werden können,
unter anderem Text, Grafiken, Audio- und Videoelemente.
-
In
der nachfolgenden Beschreibung sind zahlreiche spezielle Details
angegeben, z. B. Datenformate und Codesequenzen, usw., die ein tief
greifendes Verständnis
der erfin dungsgemäßen Verfahren
und Systeme bieten sollen. Natürlich
wissen Fachleute, dass die vorliegende Erfindung auch ohne einige
der beschriebenen speziellen Details oder mit anderen speziellen
Details, z. B. Änderungen
in der Reihenfolge des Code-Flusses, in die Praxis umgesetzt werden
können.
-
4 ist
ein Beispiel-Blockdiagramm eines allgemeinen Computersystems für die Umsetzung
von Ausführungsformen
des Adressverwaltungs-Proxysystems. Das allgemeine Computersystem 400 kann
einen oder mehrere Server- und/oder Client-Computersysteme umfassen,
die verschiedene Standorte überspannen. Weiterhin
kann jeder Block einen oder mehrere solche Blöcke repräsentieren, wenn dies für eine spezielle
Ausführungsform
angemessen ist, oder mit anderen Blöcken kombiniert werden. Die
einzelnen Blöcke
des Adressverwaltungs-Proxysystems 410 können sich
physisch auf einer oder mehreren Maschinen befinden, die zum Kommunizieren
miteinander standardmäßige Interprozess-Kommunikationsmechanismen
anwenden. Bei der abgebildeten Ausführungsform umfasst das Computersystem 400 einen
Computerspeicher („Speicher") 401, eine
Anzeige 402, eine zentrale Verarbeitungseinheit („CPU") 403 sowie
Eingabe-/Ausgabevorrichtungen 404. In der Abbildung ist
das Adressverwaltungs-Proxysystem 410 im Speicher 401 untergebracht.
Die Komponenten des Adressverwaltungs-Proxysystem 410 laufen vorzugsweise
auf der CPU 403 und verwalten die Adressabbildung von Drahtlos-Vorrichtungen
in einem Drahtlos-Netzwerk, wie in den vorigen Figu- ren beschrieben, damit
andere verdrahtete Systeme mit den Drahtlos-Vorrichtungen kommunizieren
können.
In dem Speicher 410 befinden sich außerdem weitere herunter geladene
Codes 405 und möglicherweise
weitere Daten-Repositories, die vorzugsweise auf einem oder mehreren
CPUs 403 laufen. Bei einer typischen Ausführungsform enthält das AMPS 410 einen
oder mehrere DNS'/API-Server 411,
einen oder mehrere Adress-Proxy/Router 412,
einen Adressverwaltungs-Datenserver 413 und Adressverwaltungs-Daten-Repositories 414.
Wie bereits zuvor beschrieben, kann das AMPS je nach der speziellen
Implementierung auch weitere Daten-Repositories und Komponenten
enthalten, z. B. eine Lastenausgleichseinrichtung.
-
Bei
einer Beispiel-Ausführungsform
werden die Komponenten des AMPS 410 durch Modifizierung
einer vorhandenen UDP-basierten Technologie z. B. als DNS-Server
und Router implementiert, die im typischen Fall auf Linux/Unix-Systemen
implementiert sind, die in der C-Programmiersprache geschrieben
sind. Programmierschnittstellen zu den DNS'/API-Servern 411 und Adress-Proxys/Routern 412 können standardmäßig z. B. über C, C++,
C# und Java API sowie durch Datenschreibsprachen, z. B. XML, oder über Web-Server
zur Verfügung
gestellt werden, welche diese unterstützen. Zwecks Skalier barkeit
sind Adressverwaltungs-Datenserver 413 und die Adressverwaltungs-Daten-Repositories 414 vorzugsweise
als Datenbanksystem implementiert und nicht als eine Textdatei,
und können
mit Hilfe eines SQL-ODBC-Datenbankverwaltungssystems implementiert
werden. Die DNS'/API-Server 411 und
Adress-Proxys/Router 412 werden typischerweise mit Hilfe
von Linux, UNIX oder anderen Unix-basierten oder Unix-artigen Menschen
implementiert.
-
Fachleute
erkennen, dass das AMPS 410 in einer verteilten Umgebung
implementiert sein kann, die aus mehreren, sogar heterogenen Computersystemen
und Netzwerken bestehen kann. Z. B. befinden sich bei einer Ausführungsform
die DNS'/API-Server 411,
die Adress-Proxy/Router-Komponenten 412 und die Adressverwaltungs-Datenserver 413 mit
ihren Daten-Repositories 414 sämtlich in physisch unterschiedlichen
Computersystemen. Bei einer anderen Ausführungsform sind verschiedene
Komponenten des AMPS 410 jeweils auf einer separaten Servermaschine
untergebracht und können
entfernt von den Tabellen angeordnet sein, die in dem Adressverwaltungs-Daten-Repository 414 gespeichert
sind. Darüber
hinaus kann unter bestimmten Bedingungen das gesamte AMPS-System 410 innerhalb
einer Netzbetreiber-Infrastruktur enthalten und vollständig darin
eingeschlossen sein. Für
die Anwendung der erfindungsgemäßen Verfahren
sind unterschiedliche Konfigurationen und Anordnungen von Programmen
und Daten denkbar. Bei Beispiel-Ausführungsformen können diese
Komponenten gleichzeitig oder asynchron laufen, folglich können die
Komponenten mit Hilfe hinlänglich
bekannter Nachrichten-Weiterleitungsverfahren miteinander kommunizieren.
Fachleute erkennen ebenfalls, dass äquivalente Synchronausführungen
ebenfalls von einer AMPS-Implementierung unterstützt werden. Weiterhin könnten auch
andere Schritte für
jede Routine implementiert werden und auch in anderer Reihenfolge
und in anderen Routinen, solange die Funktionen des AMPS erfüllt werden.
-
Für die Komponenten
des Adressverwaltungs-Proxysystems gibt es verschiedene Implementierungsansätze, von
denen hier drei beschrieben werden. Fachleuten ist klar, dass auch
verschiedene andere Ansätze und
Kombinationen möglich
sind. Alle drei Ansätze
ordnen für
die temporäre
Nutzung durch eine verdrahtete Vorrichtung für die Kommunikation mit einer
Drahtlos-Vorrichtung eine öffentliche
(routable) Netzwerdadresse zu. Bei einer Ausführungsform wird ein Pool öffentlicher
Adressen, z. B. öffentliche
IP-Adressen, gepflegt und den Vorrichtungen des Drahtlos-Netzwerks
nach Bedarf dynamisch zugeordnet. Z. B. ermöglicht ein typischer Internet-Netzwerkadressenblock
der Klasse B etwa 65000 gleichzeitige Verbindungen zu Drahtlos-Vorrichtungen.
Wenngleich diese Anzahl auf den ersten Blick groß erscheint, so ist sie dennoch
recht begrenzt, wenn man bedenkt, wie viele Handy und tragbare Geräte es gibt,
die mit einem Netzbetreiber verbunden sind.
-
Die
erste Herangehensweise schafft die Abbildung einer öffentlichen
Adresse für
eine Drahtlos-Vorrichtung und stellt sie mit Hilfe eines UDP-Protokolls
zur Verfügung.
Hierbei handelt es sich um einen Speicher-Weiterleitungs-Ansatz.
Ein Vorteil dieses Ansatzes besteht darin, dass er den UDP-basierten
Verkehr zu Drahtlos-Vorrichtungen über eine Drahtlos-Verbindung
erleichtert und es einer an die öffentliche
Seite der Verbindung angeschlossenen Vorrichtung ermöglicht,
eine Verbindung herzustellen. Allerdings liegt ein Nachteil darin,
dass entweder das standardmäßige UDP-Protokoll
modifiziert werden muss oder ein zusätzlicher API-Anruf hinzugefügt wird,
damit die anfordernde Vorrichtung die gewünschte Drahtlos-Vorrichtung
identifizieren kann. Diese Modifizierungen sind notwendig, da das
UDP-Protokoll lediglich die Bezeichnung einer IP-Adresse unterstützt und
keine alternative Einrichtung für
das eindeutige Identifizieren einer Vorrichtung bietet (wie z. B.
ein String wie bei dem TCP/IP-Protokoll). Da es wünschenswert
ist, diese (private) Adresse zu verbergen, reicht der standardmäßige UDP-Anruf
zum Senden der Daten nicht aus.
-
Der
zweite Ansatz zum Implementieren des AMPS unterstützt die
vollständige
bidirektionale Kommunikation über
Punkt-Zu-Punkt-Verbindungen, die z. B. mit Hilfe des TCP/IP-Protokolls aufgebaut
werden. (Es ist anzumerken, dass die gleichen Verfahren ebenfalls
verbindungslose direktionale UDP-Kommunikationen unterstützen.) Der
zweite Ansatz kann durch Schaffung einer modifizierten Implementierung
einer standardmäßigen UDP- oder TCP/IP-Funktion
implementiert werden, „GetHostByName". Die GetHostByName-API ermöglicht es
einer String-Bezeichnung, die angegebene Vorrichtung zu identifizieren,
und gibt eine IP-Adressdatenstruktur aus. Als Alternative dazu kann
das AMPS zum Erhöhen
des Sicherheitsniveaus eine spezielle API implementieren, um die
dynamisch zugeordnete öffentliche
Adresse zurückzugeben,
die (jetzt) der angeforderten Drahtlos-Vorrichtung entspricht. Ein Nachteil
dieses speziellen API-Ansatzes besteht darin, dass die Vorrichtung
am öffentlichen
Netzwerk (oder eine andere Vorrichtung, die eine Verbindung mit
der Drahtlos-Vorrichtung erzielen möchte) einen speziellen Code
in der Anwendung auf der anfordernden Vorrichtung aufweisen muss.
-
Die
dritte Herangehensweise ist der zweiten ähnlich, ermöglicht jedoch mit Hilfe eines „Port"-Konzepts mehr gleichzeitig
mögliche
Verbindungen. Bei diesem Ansatz gibt das AMPS nicht nur eine Host-Adresse
auf dem verdrahteten Netzwerk zurück, die der Drahtlos-Vorrichtung
entspricht (eine öffentliche
Adresse eines Adress-Proxys/Routers), sondern auch eine spezielle
Port-Bezeichnung an der Host-Maschine (Adress- Proxy/Router). Ports und deren Implementierung
sind auf dem Fachgebiet hinlänglich
bekannt und entsprechen im Allgemeinen Warteschlangen, die von der
Maschine implementiert werden, welche die Daten empfängt, um die
für die
verschiedenen Orte vorgesehenen Nachrichten zu verfolgen. Die Maschinen,
die die Daten empfangen, leiten die Nachrichten ausgehend von den
Port-Bezeichnungen in der Nachricht zu den verschiedenen Zielen
weiter und wickeln auf Port-Basis die Folgeverarbeitung und das
Handshaking ab.
-
Ports
werden meist dazu verwendet, mehrere virtuelle Kanäle an einer
einzigen physikalischen Adresse zu öffnen und potenziell eine einzige
physikalische Adresse für
weitere etwas 65000 Verbindungen zu erweitern. Dadurch wird es einem
AMPS ermöglicht,
beispielsweise IP-Adressen der Klasse C zu verwenden, die im typischen
Fall viel kostengünstiger
und leichter zu erhalten sind als andere Arten von Adressen, um
etwa 16 Millionen gleichzeitige Verbindungen zu Drahtlos-Vorrichtungen
(mit Hilfe eines UNIX-basierten
Systems) zu erreichen. Für
Fachleute liegt es auf der Hand, dass die Anzahl der verfügbaren Ports
und deren jeweilige Implementierung von dem Betriebssystem abhängig ist
und in direkter Korrelation zu der Anzahl der Bits steht, die eine
Port-Adresse angeben.
-
Das
UDP- (genauso wie das TCP/IP)-Protokoll unterstützt gegenwärtig eine Port-Abstraktion; allerdings
gestattet die standardmäßige DNS-Abfrage,
die bei UDP- und TCP/IP-Systemen (z. B. GetHostByName) zur Anwendung
kommt, nicht die Rückmeldung
einer Port-Bezeichnung und überlässt die
Steuerung der Port-Bezeichnung der anfordernden Vorrichtung und
nicht dem empfangenden Router. Folglich werden entsprechend dem
dritten Ansatz zum Implementieren des AMPS Ports vorzugsweise von
dem Adress-Proxy/Router mit Hilfe einer speziellen API angegeben
und mit der Bezeichnung der Host-Maschine an die anfordernde Vorrichtung
zurückgegeben.
-
Bei
einer Ausführungsform
kann eine Schreibsprachenschnittstelle, z. B. XML, anstelle einer
speziellen API (Code-Schnittstelle) verwendet werden, um eine Schnittstelle
zu einer speziellen Adress-Abbildungsfunktion zu bilden. Bei Verwendung
des XML akzeptiert der DNS'/API-Server
API-Anrufe als XML-Sendevorgänge
und gibt formatierte SML-Antworten
zurück. Ähnliche
Unterstützung
zum Aufrufen dieser Abbildungsfunktion mit Hilfe anderer Sprachmodelle
und/oder anderer Programmiersprachen ist ebenfalls denkbar und funktioniert
mit dem erfindungsgemäßen Verfahren.
Eine XML-Schnittstelle minimiert die Kosten für die Integration einer API
in die Software der anfordernden Vorrichtung.
-
Bei
Verwendung einer speziellen API kann die anfordernde Vorrichtung
darüber
hinaus zusätzliche Daten
zu der privaten Drahtlos-Vorrichtung verschieben, ohne dass dazu
weitere Codieranstrengungen erforderlich sind. Z. B. kann ein Abrechnungscode,
der auf die Abrechnung der Drahtlos-Vorrichtung für die Art
der Verbindung ausgerichtet ist, die mit der verdrahteten Vorrichtung
hergestellt wird, mit Hilfe dieses Verfahrens zu der Drahtlos-Vorrichtung
verschoben werden. Ein Beispiel für einen Abrechnungscode-Mechanismus ist in der
US-Patentanmeldung Nr. 10/085,981 mit dem Titel „Method and System for Transmission-Based
Billing of Applications" mit
Einreichungsdatum vom 26.02.2002 erörtert.
-
Es
gibt zahlreiche Sicherheitsgründe,
die ebenfalls das Versenden einer speziellen API anstelle der standardmäßigen GetHostByName-API
des UDP- und TCP/IP-Protokolls nahe legen. Zu diesen Sicherheitsgründen kann
der Wunsch gehören,
den portbasierten Mechanismus zu verwenden, der ebenfalls eine spezielle
API benötigt.
Zuerst einmal ist jede bidirektionale Kommunikation, die die „GetHostByName"-API und ein Router-Protokoll verwendet,
anfällig
für die
Dienstverweigerungsattacken (Denial of Service Attacks – DOS), die
mit jenem Host-Namen verknüpft
sind. DOS-Attacken können
auftreten, wenn eine oder mehrere Maschinen gleichzeitig denselben
GetHostByName mit demselben Eingabeparameter angeben, wodurch ausgeschlossen
wird, dass genug öffentliche
Adressen (Adressen von Proxy/Router-Maschinen) zur Verfügung stehen.
Zweitens macht die Verwendung der GetHostByName- (oder jeder anderen
standardmäßigen) API
das AMPS ebenfalls anfällig
für Sicherheitsattacken
im Ergebnis einer DNS-Zonenübertragung.
Eine DNS-Zonenübertragung
findet beispielsweise statt, wenn ein DNS eine DNS-Abfrage an einen
oder mehrere andere DNS-Server überträgt, um den
angeforderten Host-Namen zu finden. Ein typisches Szenario umfasst
mehrere DNS-Sprünge von
Land zu Land. Die Idee hinter DNS-Zonenserverattacken besteht darin,
Informationen auf einem speziellen DNS-Server zu erfassen, indem
ein bösartiger
Code als bösartiger
DNS-Server eingefügt und
die Zieladresse simuliert wird. Und Drittens kann auch die Unaufmerksamkeit
im Hinblick auf die Dauer einer Verbindung Daten für nicht
berechtigte Anforderungs-Vorrichtungen verfügbar machen. Da eine Abbildung
zwischen der öffentlichen
Vorrichtung und einer Drahtlos-Vorrichtung hergestellt wird, kann
speziell die öffentliche
Vorrichtung annehmen, dass die Abbildung nicht weiter besteht, und
tatsächlich
oder potenziell (böswillig
oder nicht) mit der falschen Vorrichtung kommunizieren. Dies würde erfolgen,
da einige DNS-Serverimplementierungen „Time-to-Live"-Einstellungen
ignorieren. Mit einer modifizierten DNS-Serverimplementierung, ob
nun die standardmäßige GetHostByName-API
oder eine spezielle API, wird dieses Prob lem verhindert, indem an
den TTL-Eigenschaften der hergestellten Abbildung zwischen der privaten
und öffentlichen Adresse
festgehalten wird.
-
Die 5–8 beschreiben
verschiedene Beispiel-Ausführungsformen
der speziellen Routinen, die von den DNS'/API-Servern und den Adress-Proxys/Routern
implementiert werden, um die anhand der 2 und 3 beschriebene
Funktionalität
zu erreichen. 5 ist ein Beispiel-Flussdiagramm
des Prozesses, der von einer Vorrichtung in einem öffentlichen
Netzwerk ausgeführt
wird, um mit Hilfe des Adressverwaltungs-Proxysystems Daten zu einer Drahtlos-Vorrichtung
in einem privaten Drahtlos-Netzwerk zu senden. In Schritt 501 fordert
die Quellen-Vorrichtung (z. B. verdrahtete Vorrichtung) eine öffentliche
(routable) Adresse für
die festgelegte Drahtlos-Vorrichtung von dem AMPS an. Wie oben beschrieben,
besteht ein Mechanismus zum Abrufen einer solchen Adresse darin,
dass das AMPS eine modifizierte Schnittstelle für DNS-Dienste implementiert, z.
B. als eine modifizierte GetHostByName-Routine. Z. B. kann eine
GetHostByName-Routine aufgerufen werden, um eine eindeutige Bezeichnung
für eine
Drahtlos-Vorrichtung
in Form eines Strings anzugeben. Der String „personname.phone.wsp.com" ist ein Beispiel-String,
der eine Drahtlos-Vorrichtung angibt, die einer Person mit dem Namen „person" entspricht, welche
eine Telefonnummer „phone" hat und sich auf
der Webseite eines Drahtlos-Service-Providers (DNS) mit der Abkürzung „wsp.com" befindet. (Z. B.
kann sich susan.ph.2065551212.sprint.com auf eine Person, Susan,
mit der Telefonnummer 2065551212 auf einem Netzwerk Sprint beziehen.)
Ein anderer Mechanismus, der von dem AMPS implementiert werden kann,
besteht in der Bereitstellung einer separaten (speziellen) API,
z. B. „GetProxyIP", die einen Hinweis
auf eine öffentliche (routable)
Adresse zurückgibt,
welche der angegebenen Drahtlos-Vorrichtung entspricht. Die Verwendung
einer separaten API ist aus Sicherheitsgründen sinnvoll. Z. B. wird es
schwieriger für
eine kriminelle Vorrichtung, die routable Adresse durch Spoofing
abzufangen. Ein weiterer Grund besteht darin, das tatsächliche
Format der zurückgegebenen
Adressinformationen zu steuern, um beispielsweise in der Lage zu
sein, eine Port-Bezeichnung zusätzlich
zu einer Host-Adresse des Adress-Proxys/Routers zur Verfügung zu
stellen. Die Implementierung sowohl einer GetHostByName-API oder
einer speziellen API, z. B. GetProxyIP, wird nachstehend anhand
von 7 näher
erläutert.
-
In
Schritt 502 extrahiert die Quellenvorrichtung, nachdem
die öffentliche
für die
Drahtlos-Vorrichtung von
dem AMPS zurückgeführt wurde,
aus den angegebenen Adressinformationen eine aktuelle Adressenangabe
(IPdata.ip), einen Time-to-Live-Parameter (IPdata.TTL) und wahlweise
gegebenenfalls eine Port-Kennzeichnung (IPdata.port), z. B. wenn
die standardmäßige GetHostByName-API
nicht verwendet wird. Wenn die Quel lenvorrichtung eine verbindungsbasierte
Datenübertragung
mit der Drahtlos-Vorrichtung ausführen will, öffnet sie in Schritt 503 eine
Verbindung, z. B. über
einen Steckdosenanschluss. In Schritt 504 stellt die verdrahtete
Vorrichtung fest, ob der Time-to-Live-Parameter angibt, dass die
zurückgegebene öffentliche
Adresse der Drahtlos-Vorrichtung ungültig geworden ist, und falls
dies der Fall ist, kehrt sie zu Schritt 501 zurück, um eine
andere Adresse anzufordern, ansonsten geht sie weiter zu Schritt 505.
Der Time-to-Live-Parameter
wird von dem AMP verwendet um sicherzustellen, dass eine öffentliche
Adresse für
eine Drahtlos-Vorrichtung (die entweder ständig an das Drahtlos-Netzwerk
angeschlossen und eingeschaltet ist oder nicht) nicht über eine Periode
hinaus reicht, die für
jene Drahtlos-Vorrichtung sinnvoll wäre. Bei einigen Ausführungsformen
wird ein sehr kurzer TTL-Parameter verwendet, um Sicherheitsverstöße zu verhindern,
bei denen eine verdrahtete Vorrichtung imstande ist, die Aktivität an einer
speziellen öffentlichen
Adresse zu überwachen
und diese Adresse anschließend
für andere
Zwecke zu nutzen. In Schritt 505 sendet die verdrahtete
Vorrichtung ein Datenpaket (über
eine Verbindung oder nicht) zu der Drahtlos-Vorrichtung. Es wird
davon ausgegangen, jedoch nicht dargestellt, dass die verdrahtete
Vorrichtung und die Drahtlos-Vorrichtung mit Hilfe der standardmäßigen Anrufe kommunizieren,
die in dem verwendeten Übertragungsprotokoll
angegeben sind, z. B. UDP oder TCP/IP. Wenn die Datenübertragung
abgeschlossen ist, ist die verdrahtete Vorrichtung dann in Schritt 506 fertig,
ansonsten kehrt sie zwecks Überprüfung des
TTL-Parameters zu Schritt 504 zurück, um weitere Daten zu senden.
Die nachstehende Tabelle 1 enthält
einen Pseudo-Code, der mit Hilfe eines Beispiels für eine Implementierung
beschreibt, wie eine öffentliche
(Anforderer-)Vorrichtung eine modifizierte GetHostByName-Abfrage wie
in 5 nutzen kann, um eine öffentliche Adresse zu erhalten,
die einem Nutzer entspricht, der mit Hilfe des Adressverwaltungs-Proxysystems unter
der Telefonnummer „2065551212" identifiziert worden
ist. Aus der Sicht der öffentlichen
Vorrichtung werden standardmäßige UDP-
und TCP/IP-Anrufer standardmäßig aufgerufen.
-
-
Die
unten stehende Tabelle 2 enthält
einen Pseudo-Code, der eine Beispiel-Implementierung eines speziellen
Apis-Mechanismus aus 5 beschreibt, welcher von einer öffentlichen
(Anforderer)-Vorrichtung zum Erhalt einer öffentlichen Adresse eines Nutzers
verwendet wird, der über
die gleiche Telefonnummer identifiziert wird. In Tabelle 2 ruft
die öffentliche
Vorrichtung eine spezielle API, GetProxyIP an, um eine Datenstruktur
zu erhalten, die die benötigten
Informationen einschließlich
der zugeordneten öffentlichen
Adresse des Adress-Proxys/Servers enthält. Anschließend kann
die öffentliche
Vorrichtung die gleichen Verfahren (standardmäßiges UDP- oder TCP/IP-Protokoll)
zum Versenden der Daten anwenden.
-
-
-
6 ist
ein Beispiel-Blockdiagramm einiger Daten-Repository-Tabellen des
Adressverwaltungs-Proxysystems, die zur Unterstützung von Routinen der DNS'/API-Server und der
Adress-Proxys/Router verwendet werden. Bei einer Ausführungsform
umfasst das Adressverwaltungs-Daten-Repository drei Tabellen: eine Tabelle 610 für eindeutige
Kennungen (eindeutige ID) für
private Adressen, eine Tabelle 630 für öffentlich-private Adressen
und eine Tabelle 620 für
eine öffentliche
Adresse zu einer Proxy/Router-Maschine.
Wenngleich drei Tabellen abgebildet sind, erkennen Fachleute, dass
diese Tabellen auch andere Daten enthalten und anders aufgebaut
sein könnten,
dazu gehört
auch eine andere Anzahl von Tabellen mit anderen Spalten oder Feldern.
Darüber
hinaus kann jedes beliebige Verfahren zum Speichern einer Tabelle
oder Datenliste verwendet werden. Zum Unterstützen von Ausführungsformen,
die eine Host-Adresse plus einen Port-Bezeichner für eine Drahtlos-Vorrichtung
abbilden, werden die Tabellen entsprechend modifiziert.
-
Die
eindeutige ID-Tabelle 610 bildet eindeutige String-Namen
von Drahtlos-Vorrichtungen zu privaten Drahtlos-Netzwerkadressen
ab, die im typischen Fall von der Infrastruktur eines Netzbetreibers
zugeordnet wurden. In einigen Ausführungsformen ordnet die Netzbetreiber-Infrastruktur
mit Hilfe von Verfahren, die einem DHCP-Protokoll ähnlich sind,
dynamisch private Drahtlos-Netzwerkadressen zu, wenn sich die Drahtlos-Vorrichtung
nach dem Einschalten selbst bei der Netzbetreiber-Infrastruktur
registriert. Somit kann die Tabelle 610 der eindeutigen
IDs nur mäßig gefüllt werden
bzw. Einträge
werden dynamisch erzeugt und anschließend dynamisch gelöscht, wenn
sich Vorrichtungen bei dem System der Netzbetreiber-Infrastruktur
anmelden und abmelden.
-
Die
Tabelle 630 der öffentlich-privaten
Adressen umfasst mehrere Felder/Spalten, unter anderem für eine öffentliche
Netzwerkadresse 631, eine private (Drahtlos)-Netzwerkadresse 602,
ein Flag 632, das angibt, ob die in dem Feld 631 gespeicherte öffentliche
Adresse frei ist oder bereits genutzt wird, einen Time-to-Live(TTL)-Parameter 633 und
andere Verbindungsdaten 634. Bei einer Ausführungsform
fragen die DNS'/API-Server
des AMPS die Tabelle 630 ab, um eine öffentliche Netzwerkadresse
zu ermitteln, die einer bestimmten privaten Drahtlos-Netzwerkadresse
entspricht, oder um eine ungenutzte öffentliche Netzwerkadresse
(wie im Feld 632 angegeben) zuzuordnen und die ermittelte
ungenutzte öffentliche
Adresse auf eine private Netzwerkadresse abzubilden, die im Feld 602 gespeichert
ist.
-
Die
Tabelle 620 der öffentlichen
Adressen zu der Proxy/Router-Maschine umfasst ein öffentliches Netzwerk-Adressfeld 631 und
einen Hinweis auf eine funktionierende Proxy/Router-Maschine 621.
Durch eine solche Abbildung ist das AMPS in der Lage, Proxy/Router-Maschinen
durch andere Proxy/Router-Maschinen zu ersetzen und so eine größere Robustheit
zu gewährleisten.
Jede Proxy/Router-Maschine hat einen vorkonfigurierten Satz öffentlicher
Netzwerkadressen, die meist von Netzwerkkarten konfiguriert werden,
die in die Proxy/Router-Maschine eingesetzt werden. Diese Adressen
werden standardmäßig beim
vorherigen Kauf zugeordnet oder von einer Adressgenehmigungsbehörde erteilt,
gegenwärtig
ist dies die Internet Corporation for Assigned Names and Numbers
(ICANN). Wenn eine Maschine zur Verwendung in das AMPS eingefügt wird, werden
die Hinweise auf diese Adressen in dem Feld 631 gespeichert.
-
Bei
einer Ausführungsform
wird in Tabelle 630 weiterhin ein Zeitstempel des Abbildens
zwischen einer öffentlichen
Netzwerkadresse und einer privaten Adresse vermerkt. Nachdem ausgehend
von diesem Zeitstempel eine bestimmte Frist abgelaufen ist, sendet
der Adressverwaltungs-Datenserver eine Anforderung an den Adress-Proxy/Router,
der mit diesem Abbildungsvorgang verknüpft ist, um die Abbildung der öffentlich-privaten
Adresse rückgängig zu
machen, und aktualisiert die Abbildungstabelle 630, wodurch
die dazugehörige öffentliche
Adresse an den Pool ungenutzter öffentlicher
Netzwerkadressen zurückgegeben
wird.
-
7 ist
ein Beispiel-Flussdiagramm einer Beispiel-Routine, die von einem
DNS'/API-Server des Adressverwaltungs-Proxysystems
bereitgestellt wird, um eine öffentliche
Adresse zurückzugeben,
die einer bestimmten eindeutigen Kennung entspricht. Im Grunde implementiert
diese Routine eine DNS-Abfrage oder eine DNS-artige Abfragefunktionali tät für das AMPS
mit Hilfe einer modifizierten GetHostByName-Schnittstelle oder einer
speziellen API, z. B. GetProxyIP, die anhand von 5 beschrieben
wurde. Zusammenfassend lässt
sich sagen, dass die Routine dynamisch eine geeignete Adress-Proxy/Router-Maschine
zuordnet, die mit der Drahtlos-Vorrichtung verknüpft ist, und die öffentliche
Adresse jener Maschine (zusammen mit einem TTL-Parameter und potenziell
weiteren Parametern) zurückgibt.
Speziell in Schritt 701 ermittelt die Routine die private
(non-routable) Adresse der Drahtlos-Vorrichtung, die von einem String-Parameter
gekennzeichnet ist, der als Eingabe in die Routine gelangt. Z. B.
kann der String-Parameter Felder verwenden, wie beispielsweise „uniquelD.hostname.domain.tld", das eine typische
Person/Dienst-Hierarchie in einer Maschine angibt, die den Namen „hostname" auf einer Domain,
z. B. einem Computernetzwerk auf der obersten Domain, z. B. „org", „com", „edu", usw. Für Fachleute
liegt es auf der Hand, dass auch viele andere String-Parameter-Bezeichnungen
verwendet werden könnten.
Ein Mechanismus zum Implementieren dieser Routine besteht in der
Abfrage von Informationen aus dem Adressverwaltungs-Daten-Repository.
Bei einer Ausführungsform
speichert das Daten-Repository eine Tabelle, die eindeutige IDs
auf private Netzwerkadressen abbildet (siehe Tabelle 610 aus 6).
Vorzugsweise speichert jener Mechanismus, der von dem AMPS-System zum Einsatz
gebracht wird, diese Daten sicher, um die Adressen des Drahtlos-Netzwerks geheim
zu halten. In Schritt 702 fragt die Routine die Adresse
des öffentlichen
Netzwerks ab, die der Adresse des privaten Drahtlos-Netzwerks der
bestimmten Vorrichtung entspricht, falls dieser Vorrichtung von
dem AMPS bereits eine zugeordnet wurde und noch gültig ist.
Bei einer Ausführungsform
speichert das Daten-Repository diese Abbildungsinformationen zwischen
dem privaten Drahtlos-Netzwerk und der Adresse des öffentlichen
Netzwerks (siehe z. B. Tabelle 630 in 6).
Wenn noch keine öffentliche
Netzwerkadresse zugeordnet worden oder keine gültige vorhanden ist, veranlasst
die Routine, dass eine neue öffentliche
Netzwerkadresse zugeordnet und die neue öffentliche Adresse mit der
Adresse des privaten Drahtlos-Netzwerks verknüpft wird. Anschließend werden
die entsprechenden Tabellen in dem Daten-Repository aktualisiert.
In Schritt 703 ermittelt die Routine die Adress-Proxy/Router-Maschine,
die mit der zugeordneten öffentlichen
Netzwerkadresse verknüpft
ist (z. B. mit Hilfe der Tabelle 620 in 6).
In Schritt 704 sendet die Routine eine Anforderung an die
ermittelte Proxy/Router-Maschine,
die Routing-Tabellen zu aktualisieren, um die ermittelte Netzwerkadresse
auf die private Drahtlos-Netzwerkadresse abzubilden. In Schritt 705 aktualisiert
die Routine die Informationen in dem Daten-Repository und schließt alle
weiteren verbindungsbezogenen Informationen ein (z. B. Feld 634 in
Tabelle 630 aus 6) und gibt einen Time- to-Live(TTL)-Parameter
für die
Verknüpfung
der öffentlichen
mit der privaten Adresse an (z. B. Feld 633 in Tabelle 630 aus 6).
Nachdem sämtliche
Tabellen sowohl im Proxy/Router als auch im Daten-Repository aktualisiert
worden sind, gibt der DNS'/API-Server die ermittelte öffentliche
Netzwerkadresse der verknüpften
Adress-Proxy/Router-Maschine
zurück.
Wie bereits beschrieben, kann es sich bei der öffentlichen Adresse um ein
Paar (Host-Name, Port) handeln, wenn eine portbasierte Implementierung
zum Einsatz kommt.
-
8 ist
ein Beispiel-Flussdiagramm einer Beispiel-Routine innerhalb eines
Adress-Proxys/Routers eines
Beispiel-Adressverwaltungs-Proxysystems, welches Daten empfängt. Diese
Routine wird in einem Adress-Proxy/Router implementiert, so dass
Daten mit Hilfe der relevanten Protokolle (z. B. TCP/IP, UDP/IP, usw.)
von den verdrahteten Vorrichtungen empfangen werden. (Daten werden
zu einem speziellen Adress-Proxy/Router gesendet, da die öffentliche
(routable) Adresse jenes Adress-Proxys/Routers als Reaktion auf
eine Abfrage des DNS'/API-Servers
des AMPS an die anfordernde/Quellen-Vorrichtung zurückgegeben wurde. Der Proxy/Router
ist verantwortlich für
alle Konvertierungen von Daten, die notwendig sind, um Daten von
dem verdrahteten Netzwerk zu dem Drahtlos-Netzwerk zu senden (wenn
beispielsweise die Netzbetreiber-Infrastruktur eine Konvertierung
auf dieser Ebene wünscht).
Der Proxy/Router ist ebenfalls verantwortlich für das Weiterleiten der Daten über das
Drahtlos-Netzwerk zu der privaten Drahtlos-Adresse der Drahtlos-Vorrichtung,
die der öffentlichen
Adresse entspricht, die zum Aufrufen des Proxys/Routers verwendet
wurde.
-
Konkret
ermittelt die Routine in Schritt 801 (z. B. aus dem Adressverwaltungs-Daten-Repository) die private
Drahtlos-Adresse, die der aufgerufenen öffentlichen Adresse und dem
TTL-Parameter dieser Abbildung entspricht. Diese Werte können beispielsweise
aus der Tabelle 630 der öffentlich-privaten Adresse
aus 6 erhalten werden. In Schritt 802 stellt
die Routine fest, ob der Wert des ermittelten TTL-Parameters angibt,
dass die Abbildung bereits beendet ist, und falls dies der Fall
ist, wird ein Fehler ausgegeben, ansonsten geht es weiter zu Schritt 803.
In Schritt 803 bestimmt die Routine das von der Zielvorrichtung
geforderte Format (das Drahtlos-Netzwerkformat). In Schritt 804 bestimmt
die Routine, ob eine Protokoll-Konvertierung notwendig ist, und
falls ja, geht sie weiter zu Schritt 805, ansonsten zu
Schritt 806. Es sei angemerkt, dass die Protokoll-Konvertierung für eine spezielles
Drahtlos-Netzwerk, z. B. das Konvertieren der Daten in ein „HTTP"-Paket mit Hilfe
des Proxys/Routers erfolgen kann oder durch eine andere Komponente
innerhalb der Netzbetreiber-Infrastruktur. Fachleuten ist klar,
dass dieses Beispielschritte sind und dass verschiedene Formatierungen oder
andere Protokollkon vertierungsroutinen je nach der speziellen Umgebung
hinzugefügt
oder weggelassen werden können.
In Schritt 806 sendet die Adress-Proxy/Router-Routine das
Datenpaket (das formatiert worden ist und dessen Protokoll gegebenenfalls
konvertiert wurde) an die ermittelte verknüpfte private Adresse der Drahtlos-Vorrichtung
und kehrt wieder zurück.
Für Fachleute
ist es offensichtlich, dass die hier erörterten Verfahren und Systeme
zur Herstellung einer bidirektionalen Kommunikation auch auf andere
Arten öffentlicher
Netzwerke und Protokolle als das Internet, TCP/IP und UDP anwendbar
sind oder sogar auf eine Vielzahl derartiger Netzwerke. Z. B. können Abbildungen
privater Adressen auf öffentliche
Adressen für
ATM-Netzwerke geschaffen werden, um die Vorrichtungen in einem ATM-Netzwerk
mit einer Drahtlos-Vorrichtung zu verbinden. Für Fachleute liegt es ebenfalls
auf der Hand, dass die hier erörterten
Verfahren und Systeme auf andere Protokolle, Kommunikationsmedien
(optische, Kabel-, drahtlose, usw.) und Drahtlos-Vorrichtungen (z.
B. Drahtlos-Handgeräte,
elektronische Organizer, persönliche
digitale Assistenten, tragbare E-Mail-Geräte, Spielgeräte, Pager,
Navigationsvorrichtungen, z. B. GPS-Empfänger, usw.) anwendbar sind,
genauso wie auf andere verdrahtete Vorrichtungen (Kiosks, Personalcomputer,
Großrechner)
und Drahtlos-Vorrichtungen mit verdrahteten Verbindungsfunktionen,
z. B. Drahtlos-E-Mail- oder PDA-Vorrichtungen, die zum Synchronisieren an
eine Docking-Station angeschlossen werden.