-
HINTERGRUND DER ERFINDUNG
-
I. Bereich der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen Kommunikationen zwischen öffentlich
und privat vernetzten Computern oder Datenvorrichtungen und insbesondere
ein System und Verfahren zum Initiieren von Kommunikationen mit
Kommunikationsvorrichtungen in einem privaten Netzwerk von Quellen
außerhalb
des privaten Netzwerks.
-
II. Betroffener Stand der Technik
-
Wenn
einer herumschaut in den meisten Firmen, Universitäten und
Organisationen heute, würde er
entdecken, dass jede mit Computern gefüllt ist, die verwendet werden,
um elektronische Post auszutauschen und zum Surfen in dem World
Wide Web über das
Internet. Das Internetprotokoll (IP) ist das Verfahren auf das sich
am meisten verlassen wird, um den Computern zu ermöglichen
miteinander zu kommunizieren. Das IP Adressieren verwendet ein 32
Bit Adressierungsschema zum Identifizieren jedes Computers, der
mit dem Internet verbunden ist (zum Beispiel 126.7.2.5). Infolgedessen
sind da nur 232 einzigartige IP Adressen
verfügbar
zur weltweiten Verwendung. Aufgrund der beschränkten Verfügbarkeit von IP Adressen wird
jeder Firma, Universität
und Organisation, die Zugang zu dem Internet wünscht, normalerweise nur eine
von den 232 verfügbaren Internetadressen bereitgestellt.
-
Aber
Firmen, Universitäten
und ähnliche
Organisationen verfügen über hunderte
wenn nicht tausende von Computern oder anderen mit dem Netzwerk verbundenen
Vorrichtungen. Um das IP Adressierungsschema zu verwenden und jeder
Arbeitsstation oder verbundenen Vorrichtung Zugang zu dem öffentlichen
Netzwerk bereitzustellen, werden lokale (das heißt, private) Netzwerke implementiert.
Diese privaten Netwerke können
als isolierte Vorrichtungsgemeinden angesehen werden. Jedem Computer (Vorrichtung)
in einer isolierten Gemeinde wird eine von den 232 IP
Adressen zugewiesen. Jegliche Anzahl von Computern kann dieselbe
IP Adresse haben, unter der Vorraussetzung, dass sie in separaten, isolierten
Gemeinden (das heißt,
privaten Netzwerken) sind. Aber zwei verbundene Vorrichtungen innerhalb
des gleichen privaten Netzwerks können nicht dieselbe IP Adresse
haben. Aus diesem Grund können
die IP Adressen, die Computern zugewiesen sind, die mit privaten
Netzwerken verbunden sind, nicht außerhalb von dem privaten Netzwerk
verwendet werden. Deshalb wird eine Netzwerkadressen-Übersetzung
benötigt,
um Kommunikationen zwischen Computern angeordnet in unterschiedlichen
Netzwerken zu ermöglichen,
insbesondere wenn solche Kommunikationen übers Internet stattfinden.
-
Netzwerkadressen-Übersetzung
wird verwendet zum Abbilden der IP Adresse, die verwendet wird von
Computern innerhalb eines lokalen Netzwerks, auf eine von den 232 öffentlich
zugänglichen
IP Adressen zugewiesen zu der Firma, Universität oder Organisation. Zum Beispiel,
wenn ein Benutzer eines Computers innerhalb eines privaten Netwerks
eine Anfrage zum Kommunizieren initiiert (zum Beispiel FTP, Telnet
oder andere Verbindungen, die den Austausch von Datagrammen beinhalten) überträgt es Daten
mit einer Ursprungs-IP Adresse, zum Beispiel 129.98.3.5 (das ist
die eigene IP Adresse innerhalb des privaten Netzwerks). Ein Netzwerkadressen-Übersetzer
würde dann
die Ursprungs-IP Adresse auf die öffentlich zugängliche
IP Adresse zugewiesen zu der Organisation (zum Beispiel 128.97.6.3) abbilden.
Entsprechend würden
die Datagramme über
das Netzwerk gesendet mit einer Ursprungs-IP Adresse von 128.97.6.3
anstatt 129.98.3.5 (der tatsächlichen
IP Adresse von dem Computer der die Datagramme sendet). Jegliche
Antworten auf die Anfrage zu kommunizieren wurden infolgedessen gerichtet
werden an die IP Adresse 128.97.6.3. Der Netzwerkadressen-Übersetzer
würde dann
die 128.97.6.3 Adresse auf 129.98.3.5 abbilden und das Datagramm
zu dem richtigen Computer innerhalb des privaten Netzwerks leiten.
Auf diese Weise wird die tatsächliche
IP Adresse von dem Computer innerhalb des privaten Netzwerkes niemals öffentlich
offenbart.
-
Wenn
der Austausch von Informationen abgeschlossen ist, wird das Abbilden
gelöscht,
so dass die öffentlich
zugängliche
IP Adresse anderen Computern oder Vorrichtungen innerhalb des privaten Netzwerkes,
die extern kommunizieren möchten,
zugänglich
gemacht werden kann. Aber, da die IP Adressen von den Computern
innerhalb des privaten Netzwerks nicht öffentlich bekannt sind und
da das Abbilden nicht dauerhaft aufrecht erhalten wird, funktioniert
dieser Kommunikationsvorgang nicht in der entgegen gesetzten Richtung
(das heißt,
wenn ein Computer außerhalb
des privaten Netzwerkes eine Kommunikation mit einem Computer innerhalb
des privaten Netzwerkes initiieren möchte). In dem vorliegenden
Beispiel würde
zum Beispiel jegliche Anfrage zum Kommunizieren mit einem Computer
innerhalb des privaten Netzwerkes mit einer Ziel-IP Adresse von
128.97.6.3 gesendet (das heißt,
mit der öffentlich zugänglichen
IP Adresse). Wenn die Anfrage bestimmt war für den Computer mit der IP Adresse 129.98.3.5,
würde keine
Möglichkeit
bestehen die Anfrage richtig zu leiten, da kein Abbilden (das heißt, Zuordnen
von den zwei IP Adressen) gemacht wurde.
-
In
WO 00/39980 wird dieses Problem gelöst durch Verwenden eines Namen-
und Adress-Servers in dem öffentlichen
Netzwerk, einer Schnittstelle, die die Adressenübersetzung sicherstellt und
einer Verwaltungseinheit in dem privaten Netzwerk. Um eine Maschine,
die in einem privaten Netzwerk angeordnet ist, durch eine Maschine,
die in dem öffentlichen Netzwerk
angeordnet ist, zu adressieren, sendet der Namen- und Adress-Server
in dem öffentlichen
Netzwerk ein Paket mit dem Namen von der adressierten Maschine zu
einer zweiten Adresse in dem öffentlichen
Netzwerk. Die Schnittstelle überträgt dieses
Paket zu einer Verwaltungseinheit in dem privaten Netzwerk, welche
eine Adresse von der adressierten Maschine beschafft. Die Verwaltungseinheit
sendet ein Paket mit der beschafften Adresse zu der Schnittstelle,
wobei die Schnittstelle die beschaffte Adresse mit einer weiteren
Adresse austauscht und die weitere Adresse zu dem Namen- und Adress-Server überträgt.
-
Deshalb
wird ein Verfahren und System zum Generieren einer öffentlich
zugänglichen
IP Adresse für
eine lokale Vorrichtung benötigt,
wenn die Kommunikationsanfrage von einer Vorrichtung außerhalb von
dem privaten Netzwerk initiiert wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung ist ein Verfahren und ein System zur Verwendung
eines spezialisierten Domainnamen-Servers zum Verarbeiten von Anfragen
von entfernten Computern oder anderen verbundenen Vorrichtungen,
um mit lokalen Computern oder verbundenen Vorrichtungen in einem
privaten Netzwerk zu kommunizieren. Verbundene Vorrichtungen können zum
Beispiel Personalcomputer, Arbeitsstationen, Sensoren, drahtlose
Schnittstellen oder Portale, drahtlose Kommunikationsvorrichtungen,
Ausgabevorrichtungen, wie zum Beispiel Drucker, visuelle Anzeigevorrichtungen
oder andere wohl bekannte Vorrichtungen, die geeignet sind zum Kommunizieren über ein
Netzwerk, beinhalten. Die Anfragen werden initiiert durch die entfernten
Vorrichtungen und identifizieren die privat vernetzte Vorrichtung,
wie zum Beispiel Computer, durch ihre Domainnamen. Beim Verarbeiten
von Kommunikationsanfragen, empfängt
der spezialisierte Domainnamen-Server zunächst über ein öffentliches Netzwerk eine Anfrage
für eine
entfernte Vorrichtung zum Kommunizieren mit einer lokalen Vorrichtung
angeordnet innerhalb des privaten Netzwerkes. Die Anfrage verwendet
einen Domainnamen zugewiesen zu der lokalen Vorrichtung. Als nächstes generiert
der spezialisierte Domainnamen-Server eine anschließende Anfrage
für die
lokale Vorrichtung, um mit dem spezialisierten Domainnamen- Server zu kommunizieren. Diese
anschließende
Anfrage wird generiert als Antwort auf das Empfangen der Anfrage
für die
entfernte Vorrichtung mit der lokalen Vorrichtung zu kommunizieren.
-
Der
spezialisierte Domainnamen-Server überträgt dann die anschließende Anfrage
zu einem Netzwerkadressen-Übersetzer
(NAT). Als Antwort auf das Empfangen der anschließenden Anfrage
für die
lokale Vorrichtung mit dem spezialisierten Domainnamen-Server zu
kommunizieren, generiert der NAT eine öffentliche Netzwerkadresse
und sendet diese zu den spezialisierten Domainnamen-Server. Nach
dem Empfangen der öffentlichen
Netzwerkadresse, generiert der spezialisierte Domainnamen-Server
eine Antwort auf die Anfrage für
die entfernte Vorrichtung mit der lokalen Vorrichtung zu kommunizieren.
Diese Antwort beinhaltet die öffentliche
Netzwerkadresse für
die lokale Vorrichtung. Schließlich überträgt der spezialisierte
Domainnamen-Server die generierte Antwort zu der entfernten Vorrichtung.
Die entfernte Vorrichtung ist dann fähig, mit der lokalen Vorrichtung
zu kommunizieren unter Verwendung der öffentlichen Netzwerkadresse.
-
Die
Aufgabe wird gelöst
durch ein Verfahren gemäß Anspruch
1, durch einen spezialisierten Domainnamen-Server gemäß Anspruch
3 und durch ein entsprechendes System gemäß Anspruch 6. Weitere Ausführungsformen,
Merkmale und Vorteile der vorliegenden Erfindung sowie die Struktur
und der Betrieb der verschiedenen Ausführungsformen der vorliegenden
Erfindung sind weiter unten im Detail beschrieben mit Bezug auf
die beiliegenden Zeichnungen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung ist beschrieben mit Bezug auf die beiliegenden
Zeichnungen. In den Zeichnungen bezeichnen die gleichen Bezugszeichen
im Allgemeinen identische, funktionell ähnliche und/oder strukturell ähnliche Elemente.
Die Zeichnung, in welcher ein Element zuerst erscheint, wird angezeigt
durch die am weitesten links stehende Zahl oder Zahlen in den entsprechenden
Bezugszeichen. Die beiliegenden Zeichnungen veranschaulichen die
vorliegende Erfindung und dienen weiter, zusammen mit der Beschreibung,
zum Erläutern
der Prinzipien der Erfindung und zum Ermöglichen eines Fachmanns, die
Erfindung zu machen und zu verwenden.
-
1 veranschaulicht
eine Beispielsveranschaulichung eines Systems zum Kontaktieren einer lokalen
Vorrichtung in einem privaten Netzwerk über ein öffentliches Netzwerk unter
Verwendung eines spezialisierten Domainnamen-Servers gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
2 ist
eine Blockdiagramm-Veranschaulichung eines Beispiels eines spezialisierten
Domainnamen-Servers gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
3 ist
ein Flussdiagramm veranschaulichend ein Bespiel eines Verfahrens
zur Verwendung eines spezialisierten Domainnamen-Servers zum Bereitstellen
einer öffentlichen
Netzwerkadresse für eine
lokale Vorrichtung in einem privaten Netzwerk an eine entfernte
Vorrichtung in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung.
-
4 ist
eine Blockdiagramm-Implementierung von dem beispielhaften Verfahren
veranschaulicht in 3.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung ist ein Verfahren und System zur Verwendung
eines spezialisierten Domainnamen-Servers zum Verarbeiten von Anfragen
für entfernt angeordnete
Vorrichtungen zum Kommunizieren mit lokalen Vorrichtungen in einem privaten
Netzwerk. Die vorliegende Erfindung wird beschrieben im Hinblick
auf die Beispiele, die hierin enthalten sind, wie zum Beispiel das
Verwenden von Computern die verbunden sind, um über Netzwerke zu kommunizieren.
Dies ist nur der Einfachheit halber und es ist nicht beabsichtigt,
die Anmeldung der vorliegenden Erfindung zu beschränken. Vielmehr
wird es dem Fachmann nach dem Lesen der folgenden Beschreibung offensichtlich
sein, wie die folgende Erfindung in alternativen Ausführungsformen
implementiert werden kann, zum Beispiel unter Verwendung von drahtlosen
Vorrichtungen und Schnittstellen zu Netzwerken.
-
Die
folgenden Begriffe werden durchweg im Rest dieses Dokuments verwendet.
-
Der
Begriff „privates
Netzwerk" (private
network) bezeichnet ein proprietäres
Computernetzwerk, wie zum Beispiel ein lokales Netzwerk (local area
network LAN) oder Intranet, mit welchem Computervorrichtungen verbunden
sind und Netzwerkadressen zugewiesen sind, die einzigartig sind
für das private
Netzwerk.
-
Der
Begriff „öffentliches
Netzwerk" („public network") bezeichnet das
Internet oder andere großflächige weitzugängliche
Netzwerke.
-
Der
Begriff „lokale
Vorrichtung" („local
device") bezeichnet
einen Mehrzweckcomputer oder jegliche andere computervernetzte Vorrichtungen
angeordnet innerhalb des privaten Netzwerkes. Vernetzte Vorrichtungen
können
zum Beispiel ohne Beschränkung
beinhalten: Personalcomputer, Arbeitsstationen, Modems, Sende-/Empfängermodule,
Sensorelemente oder Vorrichtungen, drahtlose Schnittstellen oder
Portale, drahtlose Kommunikationsvorrichtungen, Ausgabevorrichtungen,
wie zum Beispiel Drucker, Faxgeräte,
visuelle Anzeigevorrichtungen oder andere wohlbekannte Vorrichtungen,
die geeignet sind zum Kommunizieren über ein Netzwerk.
-
Der
Begriff „entfernte
Vorrichtung" („remote device") bezeichnet einen
Mehrzweckcomputer oder jegliche andere computervernetzte Vorrichtungen, die
außerhalb
des privaten Netzwerkes angeordnet ist, wie zum Beispiel die, die
oben zum Zwecke der Veranschaulichung diskutierten sind.
-
Der
Begriff „Benutzer-Datagramm-Protokoll" („user datagram
protocol", UDP)
bezeichnet ein Kommunikationsverfahren zum Austauschen von Datagrammen
von einem Computer zu einem anderen.
-
Der
Begriff „Netzwerkadressen-Übersetzer" („network
address translator",
NAT) bezeichnet kommerziell verfügbare
Computerrouter, die verwendet werden, um öffentliche Netzwerkadressen
lokalen Vorrichtungen zuzuweisen.
-
Die 1 ist
ein Blockdiagramm, das das System 100 beschreibt. Das System 100 ist
eine typische Betriebsumgebung, in welcher die verschiedenen Merkmale
der vorliegenden Erfindung implementiert werden können. Es
ist ein Vorteil der Erfindung, dass sie auf verschiedene Arten in
unterschiedlichen Umgebungen und auf vielen unterschiedlichen Computern
oder Computersystemen oder unter Verwendung verschiedenster netzwerkfähiger Vorrichtungen
implementiert werden kann. Das System 100 enthält entfernte
Vorrichtungen 105A, 105B und 105C (gemeinsam
bezeichnet als 105). Die entfernten Vorrichtungen 105 sind
verbunden mit einem öffentlichen
Netzwerk (zum Beispiel dem Internet) 110. Das System 100 weist
weiter einen spezialisierten Domainnamen-Server (SDNS) 115,
einen NAT 120 und eine Mehrzahl von lokalen Vorrichtungen 125A, 125B und 125C (gemeinsam
bezeichnet als 125) auf. Die lokalen Vorrichtungen 125 sind
verbunden mit einem privaten Netzwerk (zum Beispiel Intranet oder
LAN) 130.
-
In
der offenbarten Ausführungsform
sind die entfernten Vorrichtungen 105 und die lokalen Vorrichtungen 125 gezeigt
als Mehrzweckcomputer 105A und 125A; beziehungsweise
als drahtlose Kommunikationsvorrichtungen 107, 127,
welche in Kommunikation mit den drahtlosen Netzwerkschnittstellen 105B beziehungsweise 125B sind;
und Faxgerät 105C und
Drucker 125C.
-
Wenn
die drahtlosen Kommunikationsvorrichtungen verwendet werden mit
den lokalen oder entfernten Netzwerken, dann kommunizieren diese typischerweise
mit dem Netzwerk unter Verwendung einer drahtlosen Schnittstellenvorrichtung
einer gewissen Art. Ein Beispiel einer bekannten Schnittstelle ist
die Verwendung von spezialisierten drahtlosen Sende/Empfangsgeräte für Computernetzwerke
für den
Hausgebrauch. Andere Beispiele beinhalten, aber sind nicht beschränkt auf
drahtlose Ethernetverbindungen bereitgestellt durch Schaltungen
hergestellt in Übereinstimmung
mit den Institute of Electrical and Electronics Engineers (IEEE)
Standards bezeichnet als 802.11, 802.11b oder 802.11a, ein wohl bekannter
neuerer Schnittstellenstandard für
drahtlose Kommunikationen bezeichnet als „Bluetooth". Diese Arten von Vorrichtungen stellen
Portale oder Verbindungen (Knoten) für Netzwerke zur drahtlosen Übertragung
von Signalen unter Verwendung von Vorrichtungen bereit, die physikalisch
mit Netzwerken verbunden sind, die als Verteiler („hubs") oder Basisstationen
für die
drahtlosen Vorrichtungen betrieben werden. Derartige Apparate oder
Vorrichtungen sind im Stand der Technik bekannt.
-
Alternativ
können
eine Mehrzahl von drahtlosen Telefonen, PDAs oder modemartigen Vorrichtungen
verwendet werden zum Verbinden mit lokalen oder entfernten Netzwerken
und können
andersrum verbunden werden mit einer Mehrzahl von Computern beinhaltend
transportierbare, Notebooks oder in der Hand zu haltende Arten.
Diese Vorrichtungen können
verbunden werden durch Kommunizieren mit kleinen Verteilern, spezialisierten
Verstärkerstationen oder
Basisstationen in Gebäuden
verbunden mit einem Netzwerk; oder durch eines von einer Mehrzahl bekannten
drahtlosen Kommunikationssystemen, zellularer Telefoninfrastruktur
oder drahtlose Dienste, welche Verbindungen von Basisstationen zu
dem Internet oder Netzwerkdienstleistungen bereitstellen können. Beispiele
von bekannten zellularen Systemen beinhalten das zellulare „Analog
Advanced Mobile Phone System (AMPS)" und die folgenden digitalen zellularen
Systeme: Code Division Multiple Access (CDMA) Spread Spectrum Systeme;
Time Division Multiple Access (TDMA) Systeme; und neuere hybrid
digitale Kommunikationssysteme, welche beide TDMA- und CDMA-Technologien verwenden.
Ein CDMA zellulares System ist beschrieben in „Telecommunications Industry
Association/Electronic Industries Association (TIA/EIA) Standard
IS-95". Kombinierte
AMPS- & CDMA-Systeme
sind beschrieben in TIA/EIA Standard IS-98. Andere Kommunikationssysteme
sind beschrieben in „International
Mobile Telecommunications System 2000/Universal Mobile Telecommunications
Systems" oder IMT-2000/UM Standards,
welche abdecken, was im Allgemeinen als Breitband CDMA („Wideband
CDMA" WCDMA), cdma2000
(wie zum Beispiel cdma2000 1x-rxtt cdma2000 1x, 3x oder MC Standards,
als Beispiel) oder TD-SCDMA bezeichnet werden. Satellitenbasierte
Kommunikationssysteme verwenden auch diese oder ähnliche bekannte Standards.
-
Den
lokalen Vorrichtungen 125 sind jeweils Domainnamen und
IP Adressen zugewiesen, die einzigartig sind in dem privaten Netzwerk 130,
in welchem sie angeordnet sind. Domainnamen und IP Adressen werden
verwendet, um einen Computer in einem Netzwerk von einem anderen
zu unterscheiden. In dem vorliegenden Beispiel hat die lokale Vorrichtung 125A einen
Domainnamen von PC125A@private_network.com und eine IP Adresse von
129.98.3.5. Nach dem Lesen dieser Beschreibung wird dem Fachmann
die Konfiguration von lokalen Vorrichtungen 125 und entfernten
Vorrichtungen 105 ersichtlich sein.
-
Wie
vorher diskutiert, können
die IP Adressen, die den lokalen Vorrichtungen 125 zugewiesen sind,
außerhalb
des privaten Netzwerkes nicht verwendet werden. Deshalb wird eine
Netzwerkadressen-Übersetzung
benötigt,
um Kommunikationen zwischen entfernten Vorrichtungen 105 und
lokalen Vorrichtungen 125 zu ermöglichen. NAT 120 kann jeglicher
Standardrouter sein, der konfiguriert ist zum Durchführen von
Netwerkadressen-Übersetzung.
-
Entsprechend
ist NAT 120 verantwortlich zum Abbilden der privaten Netzwerk
IP Adressen für lokale
Vorrichtungen 125 auf eine von 232 öffentlich zugänglichen
IP Adressen. In der offenbarten Ausführungsform generiert (das heißt, bildet
ab) der NAT 120 eine öffentliche
Netzwerkadresse für
eine von den lokalen Vorrichtungen 125 als Antwort auf
das Empfangen einer Anfrage der lokalen Vorrichtung 125 mit
SDNS 115 zu kommunizieren. SDNS 115 ist verantwortlich
für das
Bereitstellen von entfernten Vorrichtungen 105 mit den
von NAT generierten öffentlichen
Netzwerkadressen für
lokale Vorrichtungen 125. Eine detaillierte Beschreibung
von SDNS 115 wird bereitgestellt mit Bezug auf 2.
-
SDNS 115 kann
verwendet werden zum Implementieren von Ausführungsformen von Computerprogramm-Produkten
von der vorliegenden Erfindung. Die beispielhafte Ausführungsform
von 2 ist veranschaulichend und nicht beabsichtigt
zum Beschränken
der vorliegenden Erfindung. Hier repräsentiert SDNS 115 jeglichen
Einzel- oder Mehrprozessorcomputer. Einzelgängige und mehrgängige Computer
können
verwendet werden. Vereinigte oder verteilte Speichersysteme können verwendet werden.
Aber die Fachmänner
werden einfach feststellen, dass andere Arten von Steuerungs- und Kommandovorrichtungen,
bestimmte Netzwerkkontroller, Router oder spezialisierte Server
sowie andere bekannte Elemente verwendet werden können, um
diese Funktion zu implementieren.
-
SDNS 115 beinhaltet
einen oder mehrere Prozessoren, wie zum Beispiel Prozessor 204.
Einer oder mehrere Prozessoren 204 können Software ausführen und
alle oder Teile der Merkmale der vorliegenden Erfindung, die hierin
beschrieben ist, implementieren. Jeder Prozessor 204 ist
mit einer Kommunikationsinfrastruktur 202 (zum Beispiel
einem Kommunikationsbus, Querriegel oder Netzwerk) verbunden. In
der offenbarten Ausführungsform,
nach dem Empfangen einer Anfrage für eine von den entfernten Vorrichtungen 105 mit
einer von den lokalen Vorrichtungen 125 zu kommunizieren,
wird der Prozessor 204 verwendet zum Generieren einer anschließenden Anfrage
für eine
von den lokalen Vorrichtungen 125 mit SDNS 115 zu
kommunizieren. Beispiele, für
welche Anfragen zum Kommunizieren initiiert werden können, beinhalten
FTP, Telnet, „Voice
over IP (VOIP)" oder
viele andere Instanzen oder Prozesse, die den Austausch von Datagrammen
involvieren. Die Anfragen zum Kommunizieren spezifizieren die Domainnamen,
die jeder von den jeweiligen lokalen Vorrichtungen 125A, 125B und 125C zugewiesen
sind. Der Prozessor 204 ist weiterhin verantwortlich zum
Generieren einer Antwort auf die Anfrage für eine von den entfernten Vorrichtungen 105 mit
einer von den lokalen Vorrichtungen 125 zu kommunizieren.
Diese generierte Antwort beinhaltet eine öffentliche Netzwerkadresse
für eine
von den lokalen Vorrichtungen 125. Die öffentliche Netzwerkadresse
wird generiert durch den NAT 120. Nach dem Lesen dieser
Beschreibung wird es für
den Fachmann ersichtlich sein, wie die Erfindung implementiert werden
kann unter Verwendung von anderen Computersystemen und/oder Computerarchitekturen
oder Firmware, Software oder anderen Steuerungsprozessoren und Vorrichtungen.
-
SDNS 115 beinhaltet
auch oder ist verbunden mit einem Hauptspeicher 212, vorzugsweise
in der Form eines „Random
Access Memory (RAM)", und
kann außerdem
einen sekundären
Speicher 214 beinhalten. In der beispielhaften Ausführungsform befindet
sich in dem Hauptspeicher 212 eine Nachschlagtabelle, die
die Privatnetz-Domainnamen und IP Adressen vor jeder jeweiligen
lokalen Vorrichtung 125A, 125B und 125C auflistet.
Der sekundäre
Speicher 214 kann beinhalten zum Beispiel ein Festplattenlaufwerk 216 und/oder
ein entfernbarer Speicher-Laufwerk 218, vertreten durch
ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optische Disk-Laufwerk
usw., wobei die Verwendung von jeder Vorrichtung im Stand der Technik
wohlbekannt ist. Das entfernbarer Speicher-Laufwerk 218 liest
von und/oder schreibt auf eine entfernbare Speichereinheit 220 in
einer wohlbekannten Art. Die entfernbare Speichereinheit 220 repräsentiert
eine Diskette, ein magnetisches Band, eine optische Disk usw., welche gelesen
wird oder auf welche geschrieben wird durch das entfernbarer Speicher-Laufwerk 218.
Wie verstanden wird, beinhaltet die entfernbare Speichereinheit 220 ein
Computer-verwendbares-Speichermedium, in welchem Computersoftware
und/oder Daten gespeichert sind.
-
In
alternativen Ausführungsformen
kann der sekundäre
Speicher 214 andere ähnliche
Mittel beinhalten zum Ermöglichen,
dass Computerprogramme oder andere Instruktionen in den SDNS 115 geladen werden.
Derartige Mittel können
beinhalten zum Beispiel eine entfernbare Speichereinheit 224 und
eine Schnittstelle 222. Beispiele können beinhalten ein Programm-Steckmodul
und eine Steckmodul-Schnittstelle (so eine, wie sie in Videospielvorrichtungen
gefunden werden kann), einen entfernbaren Speicherchip (wie zum
Beispiel ein EPROM oder PROM) und zugeordnete Dose und andere entfernbare
Speichereinheiten 224 und Schnittstellen 222, welche
ermöglichen,
dass Software und Daten von der entfernbaren Speichereinheit 224 zu
dem SDNS 115 transferiert werden können.
-
SDNS 115 kann
außerdem
beinhalten eine oder mehrere Kommunikationsschnittstellen und einen
oder mehrere Kommunikationspfade. In der offenbarten Ausführungsform
beinhaltet SDNS 115 zwei Kommunikationsschnittstellen:
eine erste Kommunikationsschnittstelle 230 und eine zweite
Kommunikationsschnittstelle 240. In der offenbarten Ausführungsform
beinhaltet SDNS 115 weiter zwei Kommunikationspfade: einen
ersten Kommunikationspfad 235 und einen zweiten Kommunikationspfad 245.
-
Die
erste Kommunikationsschnittstelle 230 ermöglicht,
dass Software und Daten transferiert werden zwischen SDNS 115 und
externen Vorrichtungen über
das öffentliche
Netzwerk 110 mit Hilfe des ersten Kommunikationspfads 235.
In der offenbarten Ausführungsform
wird die erste Kommunikationsschnittstelle 230 verwendet,
um Anfragen für
eine von den entfernten Vorrichtungen 105 zum Kommunizieren
mit einer von den lokalen Vorrichtungen 125 zu empfangen.
Diese Anfragen werden über
das öffentliche
Netzwerk 110 unter Verwendung des ersten Kommunikationspfads 235 übertragen.
Die erste Kommunikationsschnittstelle 230 wird außerdem verwendet
zum Empfangen einer öffentlichen
Netzwerkadresse generiert für
eine von den lokalen Vorrichtungen 125 durch NAT 120.
Die öffentliche
Netzwerkadresse wird empfangen über
das öffentliche
Netzwerk 110 unter Verwendung des ersten Kommunikationspfads 235.
Außerdem
wird die erste Kommunikationsschnittstelle 230 auch verwendet
zum Übertragen
der Antwort, die durch den Prozessor 204 generiert wird.
Diese Antwort wird übertragen
zu der entfernten Vorrichtung 105, die die Anfrage zum Kommunizieren
mit einer von den lokalen Vorrichtungen 125 initiiert hat.
Außerdem
wird diese Antwort übertragen über den
ersten Kommunikationspfad 235. Beispiele von der ersten
Kommunikationsschnittstelle 230 können beinhalten ein Modem,
eine Netzwerkschnittstelle (wie zum Beispiel eine Ethernet Karte),
einen Kommunikationsanschluss usw. Software und Daten, die über den
ersten Kommunikationspfad 235 transferiert werden, haben
die Form von Signalen, welches elektronische, elektromagnetische,
optische oder andere Signale sein können, die geeignet sind, um
von der ersten Kommunikationsschnittstelle 230 empfangen
zu werden.
-
Die
zweite Kommunikationsschnittstelle 240 ermöglicht,
dass Software und Daten übertragen werden
zwischen dem SDNS 115 und externen Vorrichtungen über das
private Netzwerk 130. In der offenbarten Ausführungsform
wird die zweite Kommunikationsschnittstelle 240 verwendet
zum Übertragen der
generierten anschließenden
Anfrage für
eine von den lokalen Vorrichtungen 125 zum Kommunizieren mit
SDNS 115. Diese Übertragung
wird über
das private Netzwerk 130 über den zweiten Kommunikationspfad 245 gesendet.
Beispiele für
die zweite Kommunikationsschnittstelle 240 können beinhalten
ein Modem, eine Netzwerkschnittstelle (wie zum Beispiel eine Ethernet
Karte), eine drahtlose Netzwerkschnittstelle oder Übertragungsverbindung,
ein Kommunikationsanschluss usw.. Software und Daten, die über den
zweiten Kommunikationspfad 245 übertragen werden, haben die
Form von Signalen, die elektronische, elektromagnetische, optische
oder andere Signale sein können,
die geeignet sind, um von der zweiten Kommunikationsschnittstelle 240 empfangen
zu werden.
-
Die
vorliegende Erfindung kann implementiert werden unter Verwendung
von Software, die läuft
(das heißt,
ausgeführt
wird) in einer Umgebung, die ähnlich
ist zu der, die oben mit Bezug zu 2 beschrieben
wurde. In diesem Dokument wird der Begriff „Computerprogramm-Produkt" verwendet, um im
Allgemeinen zu bezeichnen die entfernbare Speichereinheit 220,
eine Festplatte installiert in einem Festplattenlaufwerk 218 oder
eine Trägerwelle
oder andere Signale, die die Software über einen Kommunikationspfad 235 (drahtlose
Verbindung oder Kabel) zu der Kommunikationsschnittstelle 230 tragen.
Ein Computer verwendbares Medium kann magnetische Medien, optische
Medien oder andere aufzeichenbare Medien oder Medien, die eine Trägerwelle übertragen,
beinhalten. Diese Computerprogramm-Produkte sind Mittel zum Bereitstellen
der Software an den SDNS 115.
-
Computerprogramme
(auch als Computersteuerungslogik bezeichnet) werden gespeichert
in dem Hauptspeicher 212 und/oder dem sekundären Speicher 214.
Computerprogramme können
auch empfangen werden durch die Kommunikationsschnittstelle 230.
Derartige Computerprogramme ermöglichen,
wenn sie ausgeführt
werden, dem SDNS 115 die Merkmale der vorliegenden Erfindung,
wie hierin diskutiert, durchzuführen.
Insbesondere ermöglichen
die Computerprogramme, wenn ausgeführt, dem Prozessor 204 die
Merkmale der vorliegenden Erfindung durchzuführen. Entsprechend repräsentieren
derartige Computerprogramme Kontroller von SDNS 115.
-
In
einer Ausführungsform,
in der die Erfindung implementiert ist unter Verwendung von Software,
kann die Software gespeichert werden in einem Computerprogramm-Produkt
und geladen werden in den SDNS 115 unter Verwendung des
entfernbarer Speicher-Laufwerks 218, Festplattenlaufwerks 216 oder
Kommunikationsschnittstelle 230. Alternativ kann das Computerprogramm- Produkt runtergeladen
werden zu dem SDNS 115 über
den Kommunikationspfad 235, welcher einen drahtlosen Bereich und/oder
einen drahtlosen oder optischen Leiterbereich beinhalten kann. Die
Kontrolllogik (Software) verursacht, wenn ausgeführt durch einen oder mehrere
Prozessoren 204, dass der Prozessor beziehungsweise die
Prozessoren 204 die Funktionen der Erfindung, wie hierin
beschrieben, durchführen.
-
In
einer weiteren Ausführungsform
ist die Erfindung hauptsächlich
Firmware und/oder Hardware implementiert unter Verwendung von beispielsweise Hardwarekomponenten,
wie zum Beispiel Anwendungs-spezifischen integrierten Schaltungen
(Application Specific Integrated Circuits ASICs). Eine Implementierung
einer Hardware-Statusmaschine, um die Funktionen, die hierin beschrieben
sind, durchzuführen,
wird dem Fachmann ersichtlich sein.
-
Die 3 ist
ein Flussdiagramm eines Verfahrens 300 (Schritte 305-330),
zeigend einen Prozess zum Generieren einer öffentlich zugänglichen
IP Adresse für
lokale Vorrichtungen 125 in Übereinstimmung mit einer Ausführungsform
der vorliegenden Erfindung.
-
Am
Anfang, in Schritt 305, empfängt SDNS 115 eine
Anfrage für
eine von den entfernten Vorrichtungen 105 zum Kommunizieren
mit einer von den lokalen Vorrichtungen 125. Die Anfrage
zum Kommunizieren wird empfangen über die öffentliche Netzwerkschnittstellen-Karte 117.
Wie oben erläutert,
identifiziert die Anfrage zum Kommunizieren die lokale Vorrichtung 125 durch
ihren Domainnamen. In Übereinstimmung
mit dem Standard-Domainnamen-Service-Protokoll können verschiedene Namenserver durchsucht
werden, bis ein Namenserver, der den Domainnamen erkennt, der in
der Anfrage zum Kommunizieren spezifiziert ist, gefunden wird. Ein
Namenserver erkennt einen Domainnamen, wenn ein entsprechender Eintrag
in der Nachschlagtabelle des Namenservers für den Domainnamen gefunden
wird. In diesem Beispiel würde der
SDNS 115 die Anfrage zum Kommunizieren verarbeiten, da
er den Domainnamen der lokalen Vorrichtung 125 erkennt.
-
Als
nächstes
generiert der SDNS 115 in Schritt 310 eine anschließende Anfrage
für die
lokale Vorrichtung 125 zum Kommunizieren mit dem SDNS 115.
Um die anschließende
Anfrage zu generieren, durchsucht der SDNS 115 einen Speicher
oder ein Speicherelement, wie zum Beispiel eines mit einer Nachschlagtabelle,
nach dem Domainnamen von der lokalen Vorrichtung 125 spezifiziert
in der Kommunikationsanfrage, und findet die entsprechende IP Adresse
von der lokalen Vorrichtung in dem privaten Netzwerk 130.
Die II Adresse der lokalen Vorrichtung in dem privaten Netzwerk 130 wird
verwendet als Ursprungs-IP Adresse in der generierten anschließenden Anfrage
zum Kommunizieren. Die Ziel-IP Adresse ist die IP Adresse von dem
SDNS 115. Auf diese Weise erscheint es, dass die lokale
Vorrichtung eine Anfrage zum externen Kommunizieren initiiert.
-
Als
nächstes
wird in Schritt 315 die generierte anschließende Anfrage
für die
lokale Vorrichtung zum Kommunizieren mit dem SDNS 115 übertragen an
den NAT 120 über
das private Netzwerk 130 unter Verwendung der privaten
Netzwerkschnittstellen-Karte 118. Da die Anfrage erscheint,
als stamme sie von einer von den lokalen Vorrichtungen 125,
wird der NAT 120 nach dem Empfangen der generierten anschließenden Anfrage
eine von den 232 öffentlich zugänglichen
IP Adressen auf die IP Adresse für
die lokale Vorrichtung 125, spezifiziert in der generierten anschließenden Anfrage,
abbilden. NAT 120 wird dann ein Paket zu der Zieladresse
weiterleiten, bestimmt in der Anfrage (das heißt, SDNS 115). Das Paket
wird zeigen, dass die Ursprungs-Adresse eine von den 232 öffentlich
zugänglichen
IP Adressen ist, die der lokalen Vorrichtung durch NAT 120 zugewiesen
ist und die Ziel-Adresse als die von SDNS 115.
-
In
Schritt 320 empfängt
SDNS 115 das Paket von NAT 120. Dieses Paket wird
empfangen über
das öffentliche
Netzwerk 130 unter Verwendung der öffentlichen Netzwerkschnittstellen-Karte 117.
-
In
Schritt 325 generiert SDNS 115 eine Antwort zu
der Anfrage empfangen in Schritt 305 (das heißt, für die entfernte
Vorrichtung zum Kommunizieren mit einer lokalen Vorrichtung). Die
Antwort gibt die Ursprungs-Adresse als die öffentlich zugängliche IP
Adresse an, bereitgestellt in dem Paket, das in Schritt 320 empfangen
wurde, und die Ziel-Adresse als die IP Adresse der entfernten Vorrichtung 105.
-
Schließlich, in
Schritt 330, wird die generierte Antwort zu der entfernten
Vorrichtung 105, die die Anfrage zum Kommunizieren initiiert
hat, übertragen. Auf
diese Weise ist eine entfernte Vorrichtung 105 geeignet,
eine Kommunikation mit einer lokalen Vorrichtung 125 zu
initiieren unter Verwendung seiner eigenen IP Adresse als die Ursprungs-Adresse
und einer öffentlich
zugänglichen
IP Adresse abgebildet auf die lokale Vorrichtung 105 für das Ziel.
-
Die 4 zeigt
eine beispielhafte Implementierung des Verfahrens 300.
Das Ereignis 1 beschreibt, dass der entfernte Computer 105A eine
Anfrage zum Kommunizieren mit dem lokalen Computer 125A erstellt.
In diesem Beispiel ist die IP Adresse von dem entfernten Computer 105A (das
heißt,
die Ursprungs-Adresse)
973.65.2.5 und die Ziel-Adresse von dem lokalen Computer 125A ist „PC125A@private_network.com". Diese Anfrage wird
kommuniziert über
das Internet.
-
Beim
Ereignis 2 (siehe Schritte 305-315, in 3)
empfängt
SDNS 115 die Anfrage. Als Antwort sucht SDNS 115 einen
Speicher oder eine Nachschlagtabelle und bestimmt, dass die entsprechende private
Netzwerk IP Adresse für
PC 125A@private_network.com 129.98.3.5 ist. Entsprechend wird eine
anschließende
Anfrage für
den lokalen Computer 125A zum Kommunizieren mit SDNS 115 generiert.
In diesem Beispiel wird die anschließende Anfrage eine Ursprungs-Adresse
von 129.98.3.5 (der privaten Netzwerk IP Adresse von 125A)
und eine Ziel-Adresse von 126.35.6.2 (die IP Adresse von SDNS 115)
zeigen. Diese Anfrage wird dann übertragen
zu NAT 120 über
das private Netzwerk 130 unter Verwendung der privaten
Netzwerkschnittstellen-Karte 118.
-
Beim
Ereignis 3 hat NAT 120 die anschließende Anfrage zum Kommunizieren
empfangen und als Antwort darauf dem lokalen Computer 125A 128.97.6.3
zugewiesen. Diese IP Adresse ist eine von den 232 öffentlich
zugänglichen
IP Adressen. Entsprechend wird ein Paket mit 128.97.6.3 als eine
Ursprungs-Adresse
und 126.35.6.2 als eine Ziel-Adresse (IP Adresse von SDNS 115) über das öffentliche Netzwerk 110 geschickt.
-
Schließlich, beim
Ereignis 4 (siehe Schritte 320-330 in 3),
hat SDNS 115 das Paket, das im Ereignis 3 übertragen
wurde, empfangen. Dieses Paket wird empfangen von SDNS 115 durch
die öffentliche
Netzwerkschnittstellen-Karte 117. Als Antwort auf das Empfangen
dieses Pakets erstellt SDNS 115 eine Antwort auf die Kommunikationsanfrage,
repräsentiert
durch Ereignis 1. Diese Antwort wird dann übertragen zu dem entfernten
Computer 105A. In diesem Beispiel zeigt die Antwort 128.97.6.3
als die Ursprungs-Adresse (die IP Adresse von dem lokalen Computer 125A,
zugewiesen durch NAT 120) und 973.65.2.5 als die Ziel-Adresse
(die IP Adresse von dem entfernten Computer 105A, der die
Anfrage zum Kommunizieren mit dem lokalen Computer PC125A@private_network.com
initiiert hat). Der entfernte Computer 105A kann nun mit
dem lokalen Computer 125A kommunizieren unter Verwendung der öffentlich
zugänglichen
IP Adresse empfangen von SDNS 115. Auf diese Weise ist
der entfernte Computer 105A geeignet, Kommunikationen mit
dem lokalen Computer 125A zu initiieren. Unter Verwendung
der gleichen Prozessschritte kann der Computer 105A Kommunikation
mit lokalen drahtlosen Vorrichtungen 125B oder dem lokalen
Drucker 125C initiieren, oder das entfernte Faxgerät 105C kann
mit dem lokalem Computer 125A kommunizieren, oder die zwei
drahtlosen Vorrichtungen 105B und 125B können miteinander
kommunizieren, und so weiter.
-
Während verschiedene
Ausführungsformen der
vorliegenden Erfindung oben beschrieben wurden, sollte verstanden
werden, dass diese nur als Beispiel präsentiert wurden und nicht als
Beschränkung.
Deshalb sollte die Breite und der Schutzbereich der vorliegenden
Erfindung nicht beschränkt werden
durch jegliche von den oben beschriebenen beispielhaften Ausführungsformen,
sondern sollte nur definiert werden in Übereinstimmung mit den folgenden
Ansprüchen
und ihren Äquivalenten.