DE60035467T2 - Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen - Google Patents

Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen Download PDF

Info

Publication number
DE60035467T2
DE60035467T2 DE60035467T DE60035467T DE60035467T2 DE 60035467 T2 DE60035467 T2 DE 60035467T2 DE 60035467 T DE60035467 T DE 60035467T DE 60035467 T DE60035467 T DE 60035467T DE 60035467 T2 DE60035467 T2 DE 60035467T2
Authority
DE
Germany
Prior art keywords
message
data
remote
gateway
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60035467T
Other languages
English (en)
Other versions
DE60035467D1 (de
Inventor
Donald J. Bothell Kadyk
Leif Woodenville Pederson
Neil S. Bothwell Fishman
Marc E. Kenmore Seinfeld
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23629555&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60035467(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60035467D1 publication Critical patent/DE60035467D1/de
Publication of DE60035467T2 publication Critical patent/DE60035467T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Description

  • HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Datenverarbeitungssysteme. Insbesondere betrifft die vorliegende Erfindung einen Gateway für flexibles Koppeln eines breiten Bereiches von Daten-Sendevorrichtungen mit einem breiten Bereich von Daten-Empfangsvorrichtungen über einen breiten Bereich von Netzwerken.
  • Stand der Technik
  • Menschen kommunizieren miteinander, indem sie eine Menge von Regeln verwenden, die als Protokoll bezeichnet werden. Zum Beispiel kann es in einer Kultur angemessen sein, eine Konversation mit einem Geschäftpartner einzuleiten, indem man sich zur Begrüßung die Hand reicht. Während des Gespräches kann es angemessen sein, zuzuhören und nicht zu sprechen, während der Gesprächspartner spricht, und sich dabei in die Augen zu sehen. Um das Gespräch zu beenden, kann es angemessen sein, eine Schlussbemerkung zu machen, indem man zum Beispiel „Auf Wiedersehen° oder „Bis zum nächsten Mal." sagt. Ein Protokoll regelt auch die Art und Weise, auf die Computer in einem gegebenen Netzwerk kommunizieren oder Daten austauschen. Zum Beispiel wird ein Standard-Internetprotokoll das Hyper Text Transport Protocol oder HTTP-Protokoll genannt.
  • Um erneut auf die Analogie des Geschäftspartners sprechen zu kommen, kann es von einer Kultur zu einer anderen Kultur ein unterschiedliches Protokoll für die Einleitung eines Gespräches mit einem Geschäftspartner geben. In einer Kultur kann zum Beispiel ein Händedruck angemessen sein. In einer anderen Kultur kann eine leichte Verbeugung, ein gleichzeitiger Händedruck und ein nachfolgender Austausch von Geschäftskarten angemessen sein. In einer anderen Kultur wiederum kann ein Kuss auf die Wange angemessen sein. Was in einer Kultur angemessen ist, kann in einer ande ren Kultur vollkommen unangemessen oder unvorstellbar sein. Computernetzwerke können ebenfalls von einem Netzwerk zu einem anderen unterschiedliche Protokolle verwenden. Dennoch ist es wichtig, insbesondere mit dem Entstehen und der Verbreitung des Internets, dass Vorrichtungen von verschiedenen Netzwerken miteinander kommunizieren, auch wenn sie unterschiedliche Protokolle verwenden.
  • Ein Gateway ist eine Vorrichtung, die als Vermittler zwischen verschiedenen Netzwerken fungiert. Eine Daten-Sendevorrichtung wird Informationen über ein Netzwerk unter Verwendung eines für das betreffende Netzwerk geeigneten Protokolls kommunizieren. Der Gateway wird diese Informationen danach über ein anderes Netzwerk unter Verwendung eines für das zweite Netzwerk geeigneten Protokolls an die Zielvorrichtung weiterleiten. Mitunter sind die Protokolle des ersten und des zweiten Netzwerkes gleich; oft sind sie jedoch unterschiedlich. Somit ermöglicht der Gateway Datenkommunikation über mehrere Netzwerke hinweg, selbst wenn diese Netzwerke unterschiedliche Protokolle haben.
  • Gateways sind in ihrer Funktion nicht auf das Umwandeln von Protokollen beschränkt, sondern können weiterhin eine Vielzahl anderer Funktionen ausführen, wie zum Beispiel das Umsetzen von Nachrichtendaten aus dem von der Sendevorrichtung erzeugten Format in ein Format, das von der Zielvorrichtung erkannt werden kann. Zum Beispiel kann der Gateway eine Grafikdatei aus dem Format Graphics Interchange Format (GIF) in das Format Bitmap (BMP) umwandeln.
  • Gateways haben die Kommunikation zwischen den Netzwerken sehr erleichtert. Jedoch sind herkömmliche Gateways sehr unflexibel, da sie nur bestimmte Protokolle behandeln können. Ein Gateway, der Daten unter Verwendung des HTTP-Protokolls empfängt und diese Daten unter Verwendung eines anderen bestimmten Protokolls, wie zum Beispiel des Protokolls Kermit File Transfer Protokoll (Kermit FTP), überträgt, kann Daten nur unter Verwendung des HTTP-Protokolls empfangen und kann Daten nur unter Verwendung des Protokolls Kermit FTP übertragen. Der Gateway führt keine Übertragung unter Verwendung des HTTP-Protokolls oder irgendeines anderen Protokolls aus, sondern nur unter Verwendung des Protokolls Kermit FTP.
  • Eine weitere Einschränkung bei herkömmlichen Gateways besteht darin, dass der Gateway lediglich Datenformate von einem bestimmten Format in ein anderes bestimmtes Format umwandelt. Zum Beispiel führt ein Gateway, der Daten aus dem Format Rich Text Format (RTF) in das Format American Standard Code for Information Interchange (ASCII) umwandelt, nur Umwandlung aus dem RTF-Format in das ASCII-Format durch.
  • Aufgrund dieser Einschränkungen werden Gerätehersteller daran gehindert, neue Geräte einzuführen, die einen herstellereigenen oder proprietären Typ eines Datenformats erkennen. Insbesondere muss der Gerätehersteller gegebenenfalls eine Vielzahl von Gateways herstellen, um zu ermöglichen, dass Daten in ein neues Format übersetzt oder umgewandelt werden, das von dem neuen Gerät erkannt werden kann. Die Anzahl der Gateways, die für eine jeweilige Vorrichtung erforderlich sind, ist abhängig von der Anzahl der an den Gateway bereitgestellten Formate, der Anzahl der Protokolle, die verwendet werden, um die Daten zu dem Gateway zu kommunizieren, und der Anzahl der Protokolle, die verwendet werden, um die Daten von dem Gateway zu dem jeweiligen Gerät zu kommunizieren.
  • Weiterhin muss ein neuer Trägeranbieter, der sein eigenes Protokoll hat, gegebenenfalls ebenfalls eine Anzahl von Gateways bereitstellen. Diese Anzahl ist abhängig von der Anzahl der Datenformate und Protokolle, mit denen Daten zu dem Gateway übertragen werden, und von der Anzahl der Datenformate, die von einem jeden Gerät, mit dem der Träger kommuniziert, erkannt werden können.
  • In dem drahtlosen Netzwerk gibt es einen Hostrechner von drahtlosen Geräten, von denen viele nur ihr eigenes herstellereigenes oder prioritäres Datenformat erkennen. Weiterhin stehen zahlreiche drahtlose Träger zur Verfügung, die jeweils ihr eigenes Protokoll verwenden. Daher ist die Anzahl von herkömmlichen Gateways, die erforderlich sind, um alle drahtlosen Träger und alle drahtlosen Geräte unterzubringen, sehr groß. Somit besteht eine große Last der Bereitstellung von Gateways.
  • US-5,406,557 beschreibt ein Kommunikationszentrum, das einen Rechnerhub aufweist, der einen gemeinsamen Kern und eine Vielzahl von Eingabe-/Ausgabemodulen umfasst. Eine Vielzahl von unterschiedlichen Computern können mit dem Rechnerhub über ein Netz verbunden werden und können eine E-Mail-Nachricht unter Verwendung eines ersten Formats und eines ersten Kommunikationsprotokolls senden. Das Eingabemodul stellt eine Verbindung zu einem ersten Endbenutzer her und wandelt die E-Mail-Nachricht, die von dem ersten Endbenutzer gesendet wird, von dem ersten Format in ein Universalformat um. Der Hubkern stellt die Nachricht in eine Warteschlange und verwendet die Nachrichtenadresse, um zu entscheiden, welches Ausgabemodul zu verwenden ist. Der Hub leitet die Nachricht zwecks Umwandlung in ein zweites Format, das sich von dem ersten Format unterscheidet, für den Endbenutzer an das Ausgabemodul weiter. Das Ausgabemodul überträgt die Nachricht sodann über ein Ziel-Netz unter Verwendung eines zweiten Kommunikationsprotokolls, das sich von dem ersten Kommunikationsprotokoll unterscheidet, an den Ziel-Hostcomputer.
  • WO 99/33226 beschreibt ein Kommunikationssystem, das wenigstens zwei Kommunikationsnetze umfasst, die unterschiedliche Protokolle für Mitteilungsübermittlung implementieren. Die physischen Geräte stellen eine Verbindung zu den Kommunikationsnetzen zwecks Kommunikation her. Ein Kommunikationsserver agiert zwischen den Kommunikationsnetzen und Nachrichten zwischen den Kommunikationsnetzen gehen über den Kommunikationsserver. Der Kommunikationsserver umfasst eine Wissensbank, die Protokollumwandlungsinformationen speichert, auf die bei Empfang einer Nachricht zugegriffen wird. Der Kommunikationsserver wandelt das Protokoll des Netzes, über das die Nachricht empfangen wurde, in ein Protokoll um, das mit dem Kommunikationsnetz kompatibel ist, an das die Nachricht gesendet wird.
  • EP 0872990 beschreibt einen Makler-Anwendungsserver, der Kommunikation zwischen Sendern und Empfängern über ein Netz ermöglicht. Jeder Empfänger kann Daten in einem bevorzugten Format empfangen. Informationen, die das bevorzugte Datenformat eines jeden Empfängers identifizieren, werden in einer Datenbank in dem Makler-Anwendungsserver gespeichert. Der Makler-Anwendungsspeicher empfängt Pakete, die an einen Empfänger adressiert sind. Der Server extrahiert Daten und Adressinformationen aus dem Paket und prüft die Daten, um das Datenformat zu identifizieren. Wenn die Daten in dem für den adressierten Empfänger bevorzugten Format vorliegen, formatiert der Makler-Anwendungsserver diese in ein Paket und sendet sie an den jeweiligen Empfänger. Wenn die Daten nicht in dem bevorzugten Format des adressierten Empfängers vorliegen, werden die Daten in ein gemeinsames Datenformat und danach weiter in das bevorzugte Datenformat des adressierten Empfängers umgewandelt, Danach werden sie in ein digitales Paket formatiert und an den adressierten Empfänger gesendet.
  • Es ist wünschenswert, die Anzahl der Gateways, die benötigt werden, um Daten mit einem breiten Bereich von Netzen und Geräten, wie zum Beispiel in der drahtlosen Welt, auszutauschen, zu reduzieren.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren gemäß Definition in dem Anspruch 13 bereitgestellt.
  • Andere Aspekte der Erfindung stellen ein Computerprogrammerzeugnis gemäß Definition in Anspruch 1 und ein vernetztes Computersystem gemäß Definition in Anspruch 22 bereit.
  • Der Gateway ermöglicht Datenübertragung von einer Daten-Sendevorrichtung über eine Vielzahl von Netzen an eine Vielzahl von Zielgeräten, selbst wenn diese Netze unterschiedliche Protokolle verwenden und wenn die Geräte verschiedene Datenformate erkennen. Somit kann der Gateway Arbeit leisten, die vorher zahlreiche Gateways erforderte. Der Gateway ist insbesondere nützlich beim Kommunizieren über drahtlose Netze mit drahtlosen Geräten, da diese Netze und Geräte zusammen zahlreiche herstellereigene oder prioritäre Protokolle und Datenformate aufweisen. Der Vorteil des Gateways kann jedoch ebenso in verdrahtete Netze integriert werden, wie der Durchschnittsfachmann auf dem Gebiet der Computernetze aus der vorliegenden Offenlegungsschrift erkennen wird.
  • Nachdem der Gateway Informationen von einer Datenquelle empfängt, kann der Gateway den jeweiligen Gerätetyp des Zielgerätes identifizieren, und er kann den jeweiligen Netztyp des Zielnetzes erkennen, auf dem das Zielgerät läuft. Wenn die Information zum Beispiel an das Mobiltelefon von Max Mustermann gehen soll, bestimmt der Gateway den jeweiligen Typ des Mobiltelefons, das Max Mustermann benutzt (zum Beispielein ABC ALPHATEXT PHONE 50000), und das jeweilige Netz wird mit dem Telefon verbunden (zum Beispiel DRAHTLOSNETZWERK XYZ). Alternativ dazu können der jeweilige Gerätetyp und Netzwerktyp in den an den Gateway übergebenen Informationen beinhaltet sein.
  • Der Gateway ruft die jeweiligen Geräte- und Netzwerktreiber auf, die zu dem jeweiligen Gerät und Netzwerk gehören, um eine Kette aus Treibermodulen zu erzeugen, die an das Zielgerät und das Zielnetzwerk angepasst ist. Diese Treiberkette bringt die Daten in das Format, das von dem Zielgerät erkannt wird und stellt sodann die bearbeiteten Daten über das Zielnetzwerk unter Verwendung eines kompatiblen Protokolls an das Zielgerät bereit. Somit empfängt das Zielgerät die von der Datenquelle bereitgestellten Informationen richtig und interpretiert diese richtig.
  • Wenn unmittelbar darauf Daten an dem Gateway ankommen, die unter Verwendung eines Protokolls über ein unterschiedliches Netz an ein unterschiedliches Gerät geleitet werden sollen, kann der Gateway verschiedene Geräte- und Netzwerktreiber aufrufen, um eine Treiberkette für das jeweilige Gerät und das jeweilige Netz anzupassen.
  • Ein wichtiger Vorteil besteht darin, dass dieser Gateway Daten über eine breite Vielzahl von Netzen an eine breite Vielzahl von Geräten übertragen kann. Die Anzahl der Geräte und der Netze, mit denen der Gateway arbeiten kann, wird nur durch die Anzahl der dem Gateway zur Verfügung stehenden Geräte- und Netzwerktreiber eingeschränkt. Diese Flexibilität ist besonders vorteilhaft in der drahtlosen Welt, in der die Formate und Protokolle tendenziell von Gerät zu Gerät und von Netz zu Netz unterschiedlich sind.
  • Der Gateway ist ebenfalls dahingehend flexibel, dass er sowohl unidirektionale als auch bidirektionale Kommunikation ermöglicht. Informationen können von der Daten-Sendevorrichtung wie oben beschrieben zu dem Zielgerät übertragen werden. In Abhängigkeit von der Fähigkeit des Zielgerätes kann das Zielgerät jedoch auch Informationen an die Sendevorrichtung übertragen. Diese Informationen können zum Beispiel eine Anforderung nach Informationen, die die Sendevorrichtung an das Zielgerät senden soll, umfassen.
  • Der Gateway kann auch andere angepasste Treiber als die Geräte- und Netzwerktreiber aufrufen. Wenn das Zielgerät zum Beispiel mit bestimmten Verschlüsselungsprogrammen zum Dekodieren einer bestimmten Art von Verschlüsselung versehen ist, kann der Gateway zuerst identifizieren, ob Verschlüsselung für eine gegebene Nachricht auf der Grundlage der Gerätefähigkeiten gewünscht ist, danach den entsprechenden Verschlüsselungstreiber für eine bestimmte Art von Verschlüsselung identifizieren und danach das jeweilige Verschlüsselungsmodul aufrufen.
  • Zusätzliche Aufgaben und Vorteile der Erfindung werden in der folgenden Beschreibung genannt beziehungsweise teilweise aus derselben ersichtlich sein oder können aus der praktischen Ausführung der Erfindung abgeleitet werden. Die Aufgaben und Vorteile der Erfindung können mit den in den anhängenden Patentansprüchen ausdrücklich genannten Geräten und Kombinationen ausgeführt und erzielt werden. Diese und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den anhängenden Patentansprüchen ersichtlich sein oder können durch die Ausführung der Erfindung wie nachstehend beschrieben abgeleitet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Zur Beschreibung der Art und Weise, auf die die oben beschriebenen und weitere Vorteile und Aufgaben der Erfindung erzielt und gelöst werden, wird eine ausführlichere Beschreibung der Erfindung als die vorstehende unter Bezugnahme auf spezifische Ausführungsbeispiele derselben, die in den anhängenden Zeichnungen veranschaulicht werden, gegeben werden. In dem Verständnis, dass die genannten Zeichnungen lediglich typische Ausführungsbeispiele der Erfindung beschreiben und daher den Erfindungsbereich nicht einschränken, wird die Erfindung unter Bezugnahme auf die anhängenden Zeichnungen ausführlicher beschrieben werden.
  • Kurze Beschreibung der Zeichnungen:
  • 1 veranschaulicht ein beispielhaftes System, das eine geeignete Betriebsumgebung für die vorliegende Erfindung bereitstellt.
  • 2 ist ein Schema und zeigt den Durchgang einer Nachricht durch einen Gateway gemäß der vorliegenden Erfindung.
  • 3 ist ein Schema und veranschaulicht die Skalierbarkeit des in 1 gezeigten Gateways gemäß der vorliegenden Erfindung.
  • 4 ist ein Schema des Gateways aus 2 und 3 mit einem Lokator-Modul und der in der Lage ist, durch standardisierte Schnittstellen aus Bibliotheken von Gerätemodulen, Netzwerktreibermodulen und Verschlüsselungsmodulen aufzurufen.
  • 5 ist ein Schema einer Tabelle, die durch eine Datenstruktur dargestellt wird, die in dem Großspeicher aus 4 vorliegt, wobei die Tabelle eine auswählbare Adresse mit einer spezifischen Adresse des Zielgerätes aus 2 und 3 in Verbindung bringt; und
  • 6 ist ein Schema der durch die Datenstruktur, die in dem Großspeicher aus 4 vorliegt, dargestellten Tabelle, wobei die Tabelle die spezifische Adresse des Zielgerätes mit einem spezifischen Gerätetyp des Zielgerätes und einem spezifischen Netzwerktyp des Netzwerkes, auf dem das Zielgerät residiert, in Verbindung bringt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Ein flexibler Gateway ermöglicht Datenübertragung von einer Daten sendenden Vorrichtung über eine breite Vielzahl von Netzen an eine breite Vielzahl von Zielgeräten, selbst wenn diese unterschiedliche Protokolle verwenden und selbst wenn die Geräte unterschiedliche Datenformate erkennen. Somit kann der Gateway Arbeit ausführen, die zuvor eine Vielzahl von Gateways erforderte. Der Gateway ist besonders nützlich bei der Kommunikation über drahtlose Netzwerke, da diese Netzwerke und Geräte insgesamt eine Vielzahl von herstellereigenen oder prioritären Protokollen und Datenformaten erfordern. Der Vorteil des Gateways kann jedoch auch in verdrahtete Netzwerke integriert werden, wie der Durchschnittsfachmann aus dem Studium der vorliegenden Offenlegungsschrift erkennen wird.
  • Die Erfindung wird unten anhand von Schemata zur Veranschaulichung der Struktur oder der Verarbeitung von Ausführungsbeispielen zur Implementierung der Systeme und Verfahren der vorliegenden Erfindung beschriebenen werden. Die Nutzung der Schemata auf diese Weise zur Darstellung der Erfindung soll nicht als den Erfindungsbereich einschränkend verstanden werden. Die vorliegende Erfindung beinhaltet sowohl Methoden als auch Systeme zum Weiterleiten von Nachrichten von einer sendenden Vorrichtung an ein Zielgerät. Die Ausführungsbeispiele der vorliegenden Erfindung können einen Spezialrechner oder einen Allzweckrechner umfassen, einschließlich verschiedener Rechnerhardwarekomponenten, wie weiter unten ausführlicher diskutiert werden wird.
  • Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung beinhalten weiterhin computerlesbare Medien mit darauf gespeicherten computerausführbaren Anweisungen oder Datenstrukturen. Solche computerlesbaren Medien können beliebige Medien sein, auf die ein Allzweckrechner oder ein Spezialrechner zugreifen können. Beispielhaft, und nicht einschränkend, können solche computerlesbaren Medien unter anderem ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein EEPROM, eine CD-ROM oder andere optische Speicherplatten, Magnetspeicherplatten oder sonstige Magnetspeichervorrichtungen oder beliebige andere Medien sein, die genutzt werden können, um gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen aufzunehmen oder zu speichern, und auf die ein Allzweckrechner oder ein Spezialrechner zugreifen kann. Ein solches Medium kann unter anderem zum Beispiel ein drahtloses Trägersignal sein. Wenn Informationen über ein Netzwerk oder andere Kommunikationsverbindungen (hartverdrahtet oder drahtlos) an einen Computer übertragen werden, betrachtet der Computer die Verbindung richtig als computerlesbares Medium. Somit wird eine solche Verbindung richtigerweise als computerlesbares Medium bezeichnet. Kombinationen der Vorgenannten sollen gleichfalls als in den Bereich computerlesbarer Medien fallend gelten. Computerlesbare Anweisungen sind zum Beispiel unter anderem Anweisungen und Daten, die bewirken, dass ein Allzweckrechner, ein Spezialrechner oder eine Spezialverarbeitungsvorrichtung bestimmte Funktionen oder Gruppen von Funktionen ausführen.
  • 1 und die sich anschließende Diskussion sollen eine kurze, allgemeine Beschreibung einer geeigneten Berechnungsumgebung beschreiben, in der die Erfindung implementiert werden kann. Wenngleich dies nicht erforderlich ist, wird die Erfindung in dem allgemeinen Kontext von computerausführbaren Anweisungen, wie zum Beispiel Programmmodulen beschrieben werden, welche durch Rechner in Netzwerkumgebungen ausgeführt werden. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen etc., die besondere Aufgaben erfüllen oder besondere abstrakte Datentypen implementieren. Computerausführbare Anweisungen, zugehörige Datenstrukturen und Programmmodule sind Beispiele der Programmcodemittel zum Ausführen von Schritten der hierin offengelegten Verfahren und Methoden. Die jeweilige Reihenfolge solcher ausführbarer Anweisungen oder zugehöriger Datenstrukturen stellen Beispiele entsprechender Aktionen zum Implementieren der in den genannten Schritten beschriebenen Funktionen dar.
  • Der Durchschnittsfachmann wird erkennen, dass die Erfindung in Netzwerk-Berechnungsumgebungen mit zahlreichen Arten von Computersystemkonfigurationen durchgeführt werden kann, einschließlich Personalcomputer, Handheld-Computer, Multiprozessorsysteme, mikroprozessorbasierte oder programmierbare Verbraucherelektronik, Netzwerk-PCs, Minirechner, Großrechner und ähnliches. Die Erfindung kann ebenso in Berechnungsumgebungen verteilt werden, in denen Aufgaben durch lokale und entfernte Verarbeitungsgeräte, die über ein Kommunikationsnetzwerk miteinander verbunden sind (entweder durch hartverdrahtete oder durch drahtlose Verbindungen), ausgeführt werden. In einer verteilten Berechnungsumgebung können Programmmodule sowohl in lokalen als auch in entfernten Speichergeräten angeordnet sein.
  • 1 veranschaulicht einen herkömmlichen Computer 20, der Komponenten und Datenverarbeitungsfähigkeiten beinhaltet, die genutzt werden können, um Ausführungsbeispiele der Erfindung zu implementieren. Der Computer 20 ist ein Allzweck-Rechengerät, das eine Verarbeitungseinheit 21, einen Systemspeicher 22 und einen Systembus 23 enthält, der die verschiedenen Systemkomponenten, einschließlich des Systemspeichers 22, mit der Verarbeitungseinheit 21 verbindet. Der Systembus 23 kann eine von mehreren Arten von Busstrukturen aufweisen, einschließlich eines Speicherbusses oder einer Speicher-Steuereinheit, eines Peripheriebusses und eines lokalen Busses, unter Verwendung einer beliebigen aus einer Vielzahl von Busarchitekturen. Der Systemspeicher umfasst einen Nur-Lese-Speicher (ROM) 24 und einen Direktzugriffsspeicher (RAM) 25. Ein grundlegendes Eingabe-/Ausgabe-System (Basic Input- Output System, BIOS) 26, das die grundlegenden Routinen enthält, die der Informationsübertragung zwischen den Elementen in dem Computer 20 dienen, wie zum Beispiel während des Hochfahrens, können in dem Nur-Lese-Speicher (ROM) 24 gespeichert werden.
  • Der Computer 20 kann auch ein magnetisches Festplattenlaufwerk 27 zum Lesen von und Schreiben auf eine magnetische Festplatte 39, ein Magnetplattenlaufwerk 28 zum Lesen von und Schreiben auf eine entfernbare Magnetspeicherplatte 29 und ein optisches Laufwerk 30 zum Lesen von und Schreiben auf eine entfernbare optische Speicherplatte 31, wie zum Beispiel eine CD-ROM oder andere optische Speichermedien, umfassen. Das magnetische Festplattenlaufwerk 27, das Magnetplattenlaufwerk 28 und ein optisches Laufwerk 30 sind über eine Festplattenlaufwerk-Schnittstelle 32, eine Magnetlaufwerk-Schnittstelle 33 beziehungsweise eine Schnittstelle 34 für optisches Laufwerk mit dem Systembus verbunden. Die Laufwerke und ihre zugehörigen computerlesbaren Medien stellen einen nichtflüchtigen Speicher für computerausführbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten für den Computer 20 bereit. Wenngleich die in dieser Schrift beschriebene beispielhafte Umgebung eine magnetische Festplatte 39, eine entfernbare Magnetspeicherplatte 29 und eine entfernbare optische Speicherplatte 31 verwendet, können andere Arten von computerlesbaren Medien zum Speichern von Daten verwendet werden, wie unter anderem Magnetkassetten, Flash-Speicherkarten, Digital Video Discs, Bernoulli-Wechselplatten, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM) und ähnliche.
  • Programmcodemittel, die ein Programmmodul oder mehrere Programmmodule umfassen, können auf der Festplatte 39, der Magnetspeicherplatte 29, der optischen Speicherplatte 31, in dem Nur-Lese-Speicher (ROM) 24 oder dem Direktzugriffsspeicher 25 gespeichert werden, einschließlich eines Betriebssystems 35, eines Anwendungsprogramms oder mehrerer Anwendungsprogramme 36 oder Programmmodule 37 und Programmdaten 38. Ein Benutzer kann Befehle und Informationen über die Tastatur 40, ein Zeigegerät 42 oder andere Eingabegeräte (nicht gezeigt), wie zum Beispiel ein Mikrophon, einen Joystick, einen Spieleanschluss oder einen universalen seriellen Bus (USB) in den Computer eingeben. Ein Monitor 47 oder eine andere Anzeigevorrichtung ist ebenfalls über eine Schnittstelle, wie zum Beispiel einen Videoadapter 48, mit dem Systembus verbunden. Zusätzlich zu dem Monitor umfassen Personalcomputer übli cherweise andere periphere Ausgabegeräte (nicht gezeigt), wie zum Beispiel Lautsprecher und Drucker.
  • Der Computer 20 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren entfernten Computern, wie zum Beispiel die entfernten Computer 49a und 49b, arbeiten. Die entfernten Computer 49a und 49b können ein weiterer Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, ein Peer-Gerät oder ein anderer gemeinsamen Netzwerkknoten sein und umfassen üblicherweise zahlreiche oder alle der oben in Bezug auf den Computer 20 beschriebenen Elemente, wenngleich nur die Speichergeräte 50a und 50b und ihre zugehörigen Anwendungsprogramme 36a und 36b in 1 veranschaulicht worden sind. Die in 1 gezeigten logischen Verbindungen umfassen ein lokales Netzwerk (LAN) 51 und ein Fernnetzwerk (WAN) 52, die hier als Beispiel und nicht einschränkend dargestellt werden. Solche Netzwerkumgebungen sind in Büro-Computernetzwerken oder in Unternehmens-Computernetzwerken, in Intranets und in dem Internet weit verbreitet.
  • Bei Verwendung in einer LAN-Netzwerkumgebung ist der Computer 20 über eine Netzwerk-Schnittstelle oder einen Adapter 53 mit dem lokalen Netzwerk (LAN) 51 verbunden. Bei Verwendung in einer WAN-Netzwerkumgebung kann der Computer 20 zum Beispiel ein Modem 54 oder eine drahtlose Verbindung umfassen. Das Modem 54, welches ein internes oder ein externes sein kann, wird über die serielle Schnittstelle 46 mit dem Systembus 23 verbunden. In einer vernetzten Umgebung können die in Bezug auf den Computer 20 beschriebenen Programmmodule, oder Teile derselben, in einem entfernten Speichergerät gespeichert werden. Es wird ersichtlich sein, dass die gezeigten Netzwerkverbindungen beispielhaft sind und dass andere Mittel zum Herstellen von Kommunikationen über das Fernnetzwerk 52 verwendet werden können.
  • 2 zeigt ein Schema einer Umgebung 200 für einen Gateway 240 gemäß der vorliegenden Erfindung. Der Gateway 240 kann zum Beispiel einen Computer, wie zum Beispiel den Computer 20 aus 1, umfassen und wirkt mit den Netzwerken 220, 260 und 261 außerhalb des Computers 20 zusammen, wie in 2 gezeigt wird. Alternativ dazu kann der Gateway 240 in einem beliebigen anderen geeigneten Verarbeitungsgerät oder Verarbeitungssystem, das die hierin offengelegten Funktionen erfüllt und ausführt, implementiert werden. Der Gateway 240 der vorliegenden Erfindung ist flexibel, unterstützt zahlreiche Arten von Datenformatumwandlungen und zahlreiche Arten von Protokollumwandlungen.
  • In der Umgebung 200 aus 2 leitet eine sendende Vorrichtung 210 eine Nachricht 280 durch ein sendendes Netzwerk 220, durch eine Sende-Warteschlange 230 und zu einem Gateway 240. Die Nachricht 280 kann beliebige Daten umfassen, das heißt Text, Grafiken, ausführbare Anweisungen und andere. Der Gateway 240 verarbeitet die Nachricht 280 und leitet die Nachricht 280 durch eine entfernte Warteschlange 250, durch ein entferntes Netzwerk 260 und an ein entferntes Gerät 270. Das entfernte Netzwerk 261 und das entfernte Gerät 271 werden weiter unten ebenfalls beschrieben werden. In dieser Beschreibung entspricht „sendend" entweder der linken oder der rechten Seite des Gateways 240, und „entfernt" entspricht dem Empfangsnetzwerk oder dem Zielnetzwerk und dem (den) Gerät(en), das (die) sich ebenfalls auf der linken oder auf der rechten Seite des Gateways 240 befinden kann (können). „Sendend" und „entfernt" werden in der vorliegenden Beschreibung und in den Patentansprüchen lediglich verwendet, um eine Position von einer anderen zu unterscheiden, und sie stellen nicht mit Notwendigkeit eigentliche physische Positionen dar.
  • Um die Nachricht 280 zu erzeugen, umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches Vorrichtungen zum Erzeugen der Nachricht 280. Ein Beispiel einer solchen Vorrichtung wird in 2 als die sendende Vorrichtung 210 gezeigt. Die sendende Vorrichtung 210 führt Aktionen zum Erreichen des Schrittes des Erzeugens der Nachricht 280 wie beschrieben durch. Die sendende Vorrichtung 210 kann eine von zahlreichen Vorrichtungen sein, die eine elektronische Nachricht in einem spezifischen Format ausgeben kann. Als lediglich ein konkretes Beispiel kann die sendende Vorrichtung 210 ein Server sein, der einen darauf geladenen Microsoft Exchange Server aufweist. In dem Fall des Microsoft Exchange Server kann die nahe Vorrichtung 210 E-Mail-Nachrichten in dem Format Multipurpose Internet Mail Extensions (MIME), Kalendereinträge in dem Format iCal, Kontakteinträge in dem Format vCard und so weiter erzeugen. Die Art und die Anzahl der Formate, in denen die Nachricht 280 erzeugt wird, werden nur durch die Software- und Hardwarefähigkeiten der sendenden Vorrichtung 210 begrenzt.
  • Die Nachricht 280 kann „abgestoßen" erzeugt werden, das heißt als Antwort oder Reaktion auf ein anderes vorgegebenes Ereignis als die Anforderung der Nachricht 280. Zum Beispiel kann die sendende Vorrichtung 210 die Nachricht 280 zu einem vorgegebenen Zeitpunkt erzeugen, wie zum Beispiel zu jeder vollen Stunde. Die Nachricht 280 kann auch als Antwort oder Reaktion auf eine ankommende E-Mail-Nachricht oder als Antwort oder Reaktion auf andere von der sendenden Vorrichtung 210 erkannte Anregungen erzeugt werden. Die Nachricht 280 kann auch „angezogen" erzeugt werden, das heißt die Nachricht 280 wird als Antwort oder Reaktion auf eine bestimmte in der Nachricht 280 enthaltene Anforderung von Informationen erzeugt.
  • Unabhängig davon, ob die sendende Vorrichtung 210 die Nachricht 280 als Antwort oder Reaktion auf eine Anforderung oder als Antwort oder Reaktion auf eine Anregung erzeugt, erzeugt die sendende Vorrichtung 210 einen Körper 282 der Nachricht 280 zusammen mit Mitteln zum Adressieren des Zielgerätes 270 oder 271, von denen ein Beispiel als Adresse 281 in 2 gezeigt wird. Die einzige Anforderung, die an die Adresse 281 besteht ist die, dass sie den Standort einer entfernten Zielvorrichtung entweder direkt oder indirekt durch Bezug auf einen anderen Mechanismus, wie zum Beispiel eine Nachschlagetabelle, identifiziert. Zum Beispiel kann die Adresse 281 der Uniform Resource Locator (URL) oder die Telefonnummer der entfernten Zielgeräte 270 oder 271 sein. Alternativ dazu kann die Adresse 281 allgemeiner sein, wie zum Beispiel „Max Mustermann-Mobiltelefon", wobei die Adresse 281 mit einer Nachschlagetabelle verglichen werden muss, um die spezifische Adresse zu ermitteln, wie weiter unten beschrieben werden wird.
  • Die Nachricht 280 wird an den Gateway 240 übertragen, so dass die Nachricht 280 (oder ihre zugehörigen Adressinformationen) durch den Gateway 240 in Vorbereitung auf das Weiterleiten der Nachricht 280 zu einem entfernten Gerät oder 271 verarbeitet werden kann. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung eine Vorrichtung zum Senden der Nachricht 280 von der sendenden Vorrichtung 210 an den Gateway. Ein Beispiel einer solchen Vorrichtung wird in 2 als das sendende Netz 220 gezeigt. Zuerst empfängt das sendende Netz 220 die Nachricht 280 von der sendenden Vorrichtung 210 unter Nutzung eines Protokolls, das mit dem sendenden Netz 220 kompatibel ist. Das sendende Netz 220 kann ein beliebiges Medium sein, das in der Lage ist, die Nachricht 280 zu senden, unabhängig davon, ob es vollständig verdrahtet, vollständig drahtlos oder teilweise drahtlos ist. Das sendende Netz 220 kann ein Fernnetzwerk (WAN) oder ein lokales Netzwerk (LAN) oder eine Kombination aus beiden sein und ein beliebiges Protokoll verwenden, wie zum Beispiel das Protokoll HyperTextTransport Protocol (HTTP). In einem anderen Beispiel der Vorrichtung zum Senden der Nachricht von der sendenden Vorrichtung 210 zu dem Gateway 240 sind die sendende Vorrichtung 210 und der Gateway 240 beide in einer gemeinsamen Vorrichtung, wie zum Beispiel einem Server, angeordnet. In diesem Fall ist das sendende Netz 220 zu dem Server intern angeordnet.
  • Wahlweise und für Zwecke der Skalierbarkeit kann die Vorrichtung zum Senden der Nachricht 280 zu dem Gateway 240 weiterhin eine Sende-Warteschlange 230 umfassen. Die Sende-Warteschlange 230 kann Nachrichten von mehreren sendenden Netzen und/oder mehreren sendenden Vorrichtungen empfangen, so dass die Nachrichten an dem Gateway 240 zur Verfügung stehen und so dass die Nachrichten an mehrere Gateways übergeben werden können, wie in 3 gezeigt wird.
  • 3 zeigt, dass die Umgebung 200 dahingehend skalierbar ist, dass die Anzahl der sendenden Netze und die Anzahl der Gateways, die Nachrichten von diesen Netzen handhaben, nach Bedarf angepasst werden können. Insbesondere unter Bezugnahme auf 3 empfängt die Sende-Warteschlange 230 Nachrichten von einer Vielzahl von sendenden Vorrichtungen 210 und 211 über eine Vielzahl von sendenden Netzen 220 beziehungsweise 221. Weiterhin zeigt 3, dass die Sende-Warteschlange 230 Nachrichten an eine Vielzahl von Gateways 240 und 241 übergeben kann. Wenngleich lediglich zwei sendende Netze, sendende Vorrichtungen und Gateways gezeigt werden, wird aus der vorliegenden Beschreibung ersichtlich sein, dass die Anzahl der sendenden Vorrichtungen, sendenden Netze und Gateways nach Erfordernis herauf- oder herunterskaliert werden kann.
  • Wenn der Gateway 240 zum Beispiel schnell genug ist, um Nachrichten von zahlreichen sendenden Netzen zu verarbeiten, können zahlreiche sendende Netze Nachrichten in die Sende-Warteschlange 230 eingeben und eine geringere Anzahl von Gateways Nachrichten aus der Sende-Warteschlange 230 entfernen. Wenn der Gateway 240 andererseits nicht schnell genug ist, um Nachrichten von einem sendenden Netz zu verarbeiten, können relativ wenige sendende Netze Nachrichten an die nahe Warte schlange 230 bereitstellen, und eine größere Anzahl von Gateways (zum Beispiel die Gateways 240 und 241) können Nachrichten aus der Sende-Warteschlange 230 entfernen. Die Sende-Warteschlange 230 kann eine beliebige Warteschlange sein, die in der Lage ist, Nachrichten zu empfangen, Nachrichten zu speichern und diese Nachrichten für Entnahme durch den Gateway 240 bereitzuhalten. Zum Beispiel kann die Sende-Warteschlange 230 eine Microsoft Message Queue (MSMQ), entwickelt von der Microsoft Corporation, sein. Der Gateway 240 entfernt sodann die Nachricht 280 aus der Sende-Warteschlange 230.
  • Nach der Verarbeitung durch den Gateway 240 oder 241 wird die Nachricht zu einer entfernten Warteschlange 250 geleitet, die ebenfalls für Zwecke der Skalierbarkeit bereitgestellt wird, um zu ermöglichen, dass die Anzahl der entfernten Zielgerätedienste durch die Gateways nach Bedarf herauf- oder herunterskaliert werden kann. Die entfernte Warteschlange 250 wird weiter unten detaillierter beschrieben werden.
  • Der Gateway führt mehrere Funktionen aus, die in Bezug auf die 4, 5 und 6 detaillierter beschrieben werden. Auf einer hohen Funktionsebene bestimmt der Gateway 240 die Adresse der entfernten Vorrichtung 270, so dass die Nachricht 280 ordnungsgemäß weitergeleitet werden kann. Somit umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung eine spezifische Adresse des Zielgerätes 270.
  • In der vorliegenden Beschreibung und in den Patentansprüchen bedeutet der Ausdruck „spezifische Adresse" eine beliebige Adresse, die ausreichende Informationen enthält, um die zugehörige Nachricht über ein entferntes Netz 260 oder 261 ordnungsgemäß an eine entfernte Vorrichtung 270 oder 271 zu leiten. Beispiele einer spezifischen Adresse sind unter anderem eine Telefonnummer eines Uniform Resource Locators (URL). Wenn die Adresse 281, die zu der Nachricht 280 gehört, spezifisch ist, können die Vorrichtungen zum Bestimmen einer spezifischen Adresse eines Zielgerätes 270 oder 271 einfach Auslesen der Adresse 281 aus der Nachricht 280 umfassen.
  • „Generische Adresse" bedeutet eine beliebige Adresse, die die Hilfe einer Bezugsquelle erfordert, um den zugehörigen Posten zu seinem Ziel zu leiten. Zum Beispiel kann „Max Mustermanns private Telefonnummer in Chicago" nur dann ausreichend sein, um eine Nachricht über einen Telefonanruf ordnungsgemäß zu leiten, wenn Bezug auf ein Telefonbuch von Chicago genommen wird, um die spezifische Telefonnummer zu ermitteln. Wenn die Adresse 281 generisch ist, können die Vorrichtungen zum Ermitteln einer spezifischen Adresse eines Zielgerätes 270 oder 271 spezifische Aktionen durchführen, wie zum Beispiel das Auslesen der generischen Adresse und Nachschlagen der spezifischen Adresse, die zu der generischen Adresse zugehörig ist, in einer Tabelle oder einer anderen Informationsquelle.
  • Wie weiter oben beschrieben worden ist, muss das Format der Nachricht 280 häufig geändert werden, um das Format aufzuweisen, das von einem entfernten Gerät 270 oder 271 erkannt wird. Somit umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der Erfindung Vorrichtungen zum Handhaben oder Bearbeiten der Nachricht 280, damit diese in einem Format vorliegt, das von einem solchen entfernten Zielgerät erkannt wird. Diese und andere Vorrichtungen werden unter Bezugnahme auf 4 detaillierter beschrieben werden.
  • Um ordnungsgemäß an das entfernte Gerät 270 oder 271 gesendet zu werden, muss die Nachricht 280 unter Verwendung eines Protokolls, das von dem jeweiligen entfernten Netz 260 oder 261 erkannt wird, über ein entferntes Netz 260 gesendet werden. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Senden der Nachricht 280 unter Verwendung eines Protokolls, das mit dem gewünschten entfernten Netz 260 oder 261 kompatibel ist. Diese und andere Vorrichtungen werden unter Bezugnahme auf 4 detaillierter beschrieben werden.
  • Als Beispiel der Funktionalität des unter Bezugnahme auf 3 beschriebenen Gateways 240 gehen wir jedoch von der Annahme aus, dass die sendende Vorrichtung 210 eine E-Mail-Nachricht 280 in einem Format MIME (ein Standard-Intenet-E-Mail-Format, das Anhänge ermöglicht) erzeugt und die Nachricht 280 unter Verwendung des Standard-Internetprotokolls Hyper Text Transport Protocol (HTTP) über das sendende Netz 220 an den Gateway 240 sendet. Gehen wir weiter von der Annahme aus, dass das entfernte Netz 260 ein herstellereigenes oder proprietäres Drahtlosprotokoll Nr. 1 verwendet und dass das entfernte Gerät 270 Daten in dem herstellereigenen oder proprietären Drahtlosformat Nr. 2erkennt. In diesem Fall wandelt der Gateway 240 die Nach richt 280 aus dem Format MIME in das herstellereigene oder proprietäre Format Nr. 2 um und sendet die Nachricht 280 unter Nutzung des herstellereigenen oder proprietären Protokolls Nr. 1 über das entfernte Netz 280.
  • Danach kann der Gateway 240 eine weitere für ein anderes entferntes Gerät 271 über ein anderes entferntes Netz 261 bestimmte Nachricht umwandeln, selbst wenn das andere entfernte Netz 261 das herstellereigene oder proprietäre Datenformat Nr. 2 nicht erkennt und selbst wenn das andere entfernte Netz 261 nicht das herstellereigene oder proprietäre Protokoll Nr. 1 verwendet. Der Gateway 240 passt sich dynamisch nach Erfordernis an, um die Nachricht 280 umzuformatieren und um die umformatierte Nachricht 280 unter Verwendung des richtigen Protokolls wie hierin beschrieben bereitzustellen.
  • Nachdem der Gateway 240 die Nachricht 280 bearbeitet hat, damit diese in einem Format vorliegt, das von einem entfernten Gerät 270 oder 271 erkannt wird, wird die Nachricht 280 gesendet. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Senden der Nachricht 280 an ein entferntes Gerät 270 oder 271. Ein Beispiel dieser Vorrichtung wird in 2 als entferntes Netz 260 oder 261 gezeigt.
  • Der Gateway 240 sendet die umformatierte Nachricht 280 unter Verwendung eines Protokolls, das mit dem jeweiligen beschriebenen entfernten Netz, wie zum Beispiel 260 oder 261, kompatibel ist. Die entfernten Netze 260 oder 261 können beliebige Netze sein, die in der Lage sind, die Nachricht 280 an die entfernten Geräte 270 oder 271, zu senden, unabhängig davon, ob sie vollständig verdrahtet, vollständig drahtlos oder teilweise drahtlos sind. Das sendende Netz 220 kann ein Fernnetzwerk, ein lokales Netzwerk oder eine Kombination aus beiden sein und kann ein beliebiges Protokoll, wie zum Beispiel HTTP, oder herstellereigene oder proprietäre drahtlose Trägerprotokolle verwenden. Da drahtlose Träger üblicherweise ihre eigenen herstellereigenen oder proprietären Protokolle haben und da es zahlreiche Arten von drahtlosen Geräten gibt, die jeweils ihre eigenen Datenformate erkennen, ist der flexible Gateway 240 der vorliegenden Erfindung besonders nützlich in der Kommunikation mit drahtlosen Geräten.
  • Wahlweise, für Zwecke der Skalierbarkeit auf der entfernten Seite des Gateways 240, können die Vorrichtungen zum Senden der Nachricht 280 an das entfernte Gerät 280 ebenfalls eine entfernte Warteschlange 250 umfassen. Die entfernte Warteschlange 250 kann Nachrichten von mehreren Gateways empfangen und kann diese Nachrichten an mehrere entfernte Netzwerke bereitstellen, wie in 3 veranschaulicht wird. Wenn somit der Gateway 240 schnell genug ist, um Nachrichten für zahlreiche entfernte Netze zu verarbeiten, können relativ wenige Gateways Nachrichten in die entfernte Warteschlange 250 eingeben und eine große Anzahl von entfernten Netzen Nachrichten von der entfernten Warteschlange 250 empfangen. Wenn andererseits der Gateway 240 nicht schnell genug ist, um Nachrichten für ein einzelnes entferntes Netz zu verarbeiten, kann eine größere Anzahl von Gateways Nachrichten in die entfernte Warteschlange 250 eingeben und eine relativ kleine Anzahl von Netzen Nachrichten aus der entfernten Warteschlange 250 abziehen. Die entfernte Warteschlange 250 kann eine beliebige Warteschlange sein, die in der Lage ist, die Nachricht 280 zu empfangen, zu speichern und an das entfernte Netz 260 zu übergeben. Zum Beispiel kann die nahe Warteschlange 250 auch eine Warteschlange Microsoft Message Queue (MSMQ), entwickelt von der Microsoft Corporation, sein.
  • Nachdem die Nachricht 280 über ein entferntes Netz 260 oder 261 gesendet wird, wird sie von einem Zielgerät 270 oder 1271 empfangen. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Empfangen der Nachricht 280. Diese Vorrichtung wird in 2 als ein entferntes Gerät 270 oder 271 gezeigt. Das entfernte Gerät 270 kann ein beliebiges drahtloses Gerät sein, wie zum Beispiel ein Mobiltelefon mit oder ohne alphanumerischer Textempfangsfähigkeit, ein Textpager, ein Computerserver, ein Handheld-Computer oder ein beliebiges drahtloses Gerät. Das entfernte Gerät 271 kann ein „verdrahtetes" Gerät sein, wie zum Beispiel ein Tischcomputer, ein herkömmliches Telefon, ein Computerserver oder ein beliebiges verdrahtetes Gerät. In dieser Beschreibung und in den Patentansprüchen umfasst ein verdrahtetes" Gerät ein beliebiges Gerät, das nicht drahtlos ist und das in der Lage ist, eine elektronische Nachricht zu empfangen.
  • 4 ist ein detaillierteres Schema des Gateways 240 und der Warteschlangen 230 und 250 aus 2. Ein sendender Message-Handler 404 entfernt die Nachricht 280 aus der Sende-Warteschlange 230 und übergibt die Nachricht 280 an einen Mes sage Processor 406. Geräte und Module zum Auslesen von Daten aus einer Warteschlange und zum Schreiben der Nachricht in eine andere Einheit sind dem Durchschnittsfachmann bekannt. Der Message Processor 406 nutzt das Lokator-Modul 408, um auf Informationen in dem Großspeicher 410 zuzugreifen, nutzt die Gerätetreiber-Schnittstelle 412, um eine Kopplung mit einem der Gerätemodule A bis F herzustellen, die sich in der Gerätetreiber-Bibliothek 414 befinden, nutzt eine Verschlüsselungs-Schnittstelle 416, um eine Kopplung mit einem der in der Verschlüsselungs-Bibliothek 418 befindlichen Verschlüsselungsmodule A bis F herzustellen, nutzt eine Authentisierungs-Schnittstelle 420, um eine Kopplung mit einem Authentisierungs-Modul 422 herzustellen und nutzt eine Netzwerktreiber-Schnittstelle 424, um eine Kopplung mit einem der Netzwerktreiber-Module von der Netzwerktreiber-Bibliothek 426 herzustellen. Es ist zu beachten, dass wenngleich die Schnittstellen 408, 412, 416, 420, 424 und 434 als Kästen dargestellt sind, sie in Wirklichkeit eine Standardstruktur zum Aufrufen von Modulen und zum Abrufen von Informationen darstellen. Diese Aufruf- und Abruffunktionen können unter Verwendung einer Anwendungsprogramm-Schnittstelle oder API ausgeführt werden.
  • Der spezifische Betrieb eines beispielhaften Gateway 240 wird nunmehr beschrieben werden. Um die Nachricht 280 an ein jeweiliges Zielgerät 270 oder 271 (2) zu leiten, muss die spezifische Adresse des Zielgerätes bestimmt werden. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches Vorrichtungen zum Bestimmen einer spezifischen Adresse des Zielgerätes, wie zum Beispiel der Geräte 270 oder 271. Wenn zum Beispiel die zu der Nachricht 280 zugehörige Adresse 281 eine spezifische Adresse ist, umfasst die Vorrichtung zum Bestimmen der spezifischen Adresse eine Aktion des Lesens der Adresse 281 durch den Message Processor 406 und die entsprechende Hardware und/oder Software, die diese Aktion durchführt.
  • Alternativ dazu und wenn die zu der Nachricht zugehörige Adresse 281 eine generische Adresse ist, ist die Vorrichtung zum Bestimmen der spezifischen Adresse komplexer. Nach dem Lesen der Nachricht 280 sendet der Message Processor 406 zum Beispiel die Nachricht 280 zusammen mit der Adresse 281 an das Lokator-Modul 408, das zu dem Großspeicher 410 zugehörig ist. Der Großspeicher kann ein beliebiges geeignetes Gerät sein, und Beispiele hierfür sind unter anderem das magnetische Fest plattenlaufwerk 27, der Systemspeicher 22, die entfernbare Magnetspeicherplatte 29 oder die entfernbare optische Speicherplatte 31 aus 1. Die in dem Großspeicher 410 angeordnete Tabelle ordnet die generische Adresse zu einer spezifischen Adresse zu.
  • 5 zeigt eine solche Adressentabelle 500. Die beiden linken Spalten 504, 506 geben generische Parameter, wie zum Beispiel einen Benutzernamen, in der Spalte 504 und eine allgemeine Gerätebeschreibung in der Spalte 506 an. Zum Beispiel sind in der Zeile 502 der Adressentabelle 500 die generischen Parameter „Max Mustermann" und „Mobiltelefon". Das Lokator-Modul 408 liest die zu der generischen Adresse zugehörige spezifische Adresse aus der spezifischen Adressenspalte 508 der Adressentabelle 500 aus. Wenn zum Beispiel die generische Adresse der Adresse 281 Max Mustermanns Mobiltelefon ist, wird die aus der Tabelle 500 ausgelesene spezifische Adresse eine Telefonnummer, wie zum Beispiel 1-800-555-1212, sein. Das Lokator-Modul 408 übergibt diese spezifische Adresse an den Message Processor 406. Es kann viele Zeilen der Adressentabelle 500 geben, von denen eine jede einen zugehörigen Eintrag aufweist, der eine Entsprechung zwischen einer generischen Adresse und einer spezifischen Adresse herstellt.
  • Die entfernten Geräte 270 oder 271 erkennen nur Daten, die in bestimmten Formaten dargestellt werden. Wenn sich dieses Format von dem Format der von der sendenden Vorrichtung erzeugten Nachricht 280 unterscheidet, muss die Nachricht 280 so bearbeitet werden, dass sie in dem Format vorliegt, das von dem entfernten Gerät 270 oder 271 erkannt wird. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Bearbeiten der Nachricht 280 dergestalt, dass die Nachricht 280 in einem Format vorliegt, das von einem entfernten Gerät, wie zum Beispiel den Geräten 270 oder 271, erkannt wird. Ein Beispiel einer solchen Vorrichtung wird auch unter Bezugnahme auf 4 beschrieben.
  • Die Vorrichtung zum Bearbeiten der Nachricht 280 kann ausführbaren Code und/oder Hardware zum Transportieren der Nachricht 280 von Speicherort zu Speicherort zwischen den einzelnen Bearbeitungen umfassen. In 4 wird jedoch ein Nachrichtenobjekt 428 verwendet, um die Nachricht 280 in allen Stufen der Bearbeitung dar zustellen. Das Nachrichtenobjekt 428 kann zum Beispiel ein abstrakter Datentyp sein. Somit wird ein Speicherort zu der Nachricht 280 zugeordnet anstelle dass ein Speicherort einer jeden Bearbeitung der Nachricht 280 zugeordnet wird.
  • Um die Nachricht 280, die nunmehr in dem Nachrichtenobjekt 428 gespeichert ist, weiter bearbeiten zu können, bestimmt der Gateway 240 eine geeignete Kette eines Moduls oder mehrerer Module, das oder die benötigt wird oder werden, um die Nachricht ordnungsgemäß zu bearbeiten und zu leiten. Um diese Kette zu bestimmen, muss das Gerätemodul, das die Nachricht 280 bearbeiten kann, in einem Format vorliegen, das von dem entfernten Gerät 270 oder 271 erkennbar ist. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Identifizieren des Gerätemoduls. Es ist zu beachten, dass man mit dem Identifizieren des spezifischen Typs des entfernten Gerätes auch das Gerät identifiziert hat, da die Identität des Gerätemoduls eine hinlänglich bekannte Assoziation zu der Identität eines Gerätes aufweist. Zum Beispiel veröffentlichen Gerätehersteller die Namen der Gerätetreiber, die mit einem jeden ihrer Erzeugnisse arbeiten können, verbreitet über das Internet.
  • Unter Bezugnahme auf 4 werden nunmehr Beispiele einer solchen Vorrichtung zum Identifizieren des Gerätemoduls, das zu einem entfernten Zielgerät 270 zugehörig ist, beschrieben werden. Wenn die Nachricht 280 bereits eine spezifische Identifikation eines entfernten Gerätes, wie zum Beispiel des Gerätes 270, umfasst, kann die Vorrichtung ausführbaren Code und/oder Hardware zum Durchführen der Aktion des Identifizierens des Gerätetreibers, der zu der spezifischen Identifikation des entfernten Gerätes 270 zugehörig ist, durch einfaches Auslesen der spezifischen Identifikation des entfernten Gerätes 270 aus der Nachricht 280 umfassen.
  • Im anderen Fall, wenn die zu der Nachricht 280 zugehörige Adresse 281 eine spezifische Adresse ist, übergibt der Message Processor 406 die spezifische Adresse 281 an das Lokator-Modul 408, um den spezifischen Typ des entfernten Gerätes 270 in dem Großspeicher 410 unter Nutzung einer Datenstruktur, die eine Identifikationstabelle darstellt, nachzuschlagen. Alternativ dazu, wenn der Message Processor 406 zuvor eine generische Adresse an das Lokator-Modul 408 übergeben hat, kann die aus der Adres sentabelle 500 (5) ausgelesene spezifische Adresse verwendet werden, um den spezifischen Typ des entfernten Gerätes 270 nachzuschlagen.
  • 6 zeigt ein Beispiel einer Identifikationstabelle, die verwendet werden kann, um den spezifischen Typ eines entfernten Gerätes 270 oder 271 nachzuschlagen. Die linke Spalte 604 gibt die spezifische Adresse des entfernten Gerätes an. Die Zeile 602 der Spalte 604 nennt zum Beispiel die spezifische Adresse 1-800-555-1212, die in Spalte 508, Zeile 502, der Adressentabelle 500 identifiziert wird. Es wird ersichtlich sein, dass die Tabellen 500 und 600 in eine Tabelle integriert werden können, falls dies gewünscht wird. Die Spalte 606 gibt den spezifischen Typ des entfernten Gerätes an, wie zum Beispiel des Gerätes, das zu der spezifischen Adresse zugehörig ist, wie zum Beispiel „ABC Alphatext Phone 50000". Somit liest das Lokator-Modul 408 den spezifischen Typ des entfernten Gerätes 270 aus der Identifikationstabelle 600 aus und übergibt das Ergebnis an den Message Processor 406. Der Message Processor 406 bestimmt den Namen des Gerätemoduls auf der Grundlage der Identifikation des entfernten Gerätes 270 gemäß hinlänglich bekannter Verfahren, wie zum Beispiel Nachschlagen des Namens des Gerätemoduls in einer Tabelle. Alternativ dazu kann der Gerätemodulname in der Spalte 606 der Identifikationstabelle 600 anstelle der Identifikation des entfernten Gerätes 270 bereitgestellt werden.
  • Um die geeignete Treiberkette wie oben beschrieben zu bestimmen, kann es erforderlich sein, das Netzwerktreibermodul zu identifizieren, das die Nachricht 280 so bearbeiten kann, dass sie in einem Format vorliegt, das von dem entfernten Gerät 270 erkannt werden kann. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung eine Vorrichtung zum Identifizieren des Netzwerktreibermoduls. Die Vorrichtung zum Identifizieren des Netzwerktreibermoduls kann ähnlich der oben beschriebenen Vorrichtung zum Identifizieren des Gerätemoduls sein. Nachdem die spezifische Adresse bestimmt wurde, kann zum Beispiel die Identifikationstabelle genutzt werden, um die spezifische Identifikation des entfernten Netzwerkes oder die spezifische Identifikation des entfernten Netzwerktreibermoduls zu bestimmen. Zum Beispiel führt die Spalte 608 den spezifischen Typ des entfernten Netzwerkes 260 an, an dem sich das entfernte Gerät 270 befindet, zum Beispiel Drahtloses Netzwerk XYZ". Somit liest das Lokator-Modul 308 den spezifischen Typ aus der Spalte 604 und 606 der Identifikationstabelle 600 aus und übergibt die spezifischen Typen an den Message Processor 406. Die Namen „ABC Alphatext Phone 50000" und „Drahtloses Netzwerk XYZ" sind fiktiv und sollen kein reales Gerät oder Netzwerk darstellen. Diese Namen werden lediglich zum Zwecke der Veranschaulichung angeführt.
  • Es ist zu beachten, dass die Bestimmung der geeigneten Treiberkette in einem Schritt gleichzeitig mit der Bestimmung des Gerätemoduls durch Nachschlagen der spezifischen Adresse in der Tabelle 600 aus 6 durchgeführt werden kann. Dies ermöglicht, dass das geeignete Gerätemodul, der geeignete Netzwerktreiber gleichzeitig bestimmt werden können, indem nur ein Mal auf die Tabelle 600 zugegriffen wird.
  • Die Identifikationstabelle 600 aus 6 umfasst weiterhin eine Spalte 610 für Registrierungsdaten. Registrierungsdaten können gerätespezifische Informationen hinsichtlich des Empfangs von Nachrichten an einem entfernten Gerät 270 oder 271 enthalten. Zum Beispiel können Registrierungsdaten umfassen, welches Verschlüsselungsverfahren gegebenenfalls bei dem Verschlüsseln der Nachricht 280 verwendet werden soll. Dieses Verschlüsselungsverfahren entspricht dem Verschlüsselungsprogramm, das auf dem entfernten Gerät 270 vorliegt. Andere Präferenzen können unter anderem sein, welche Anhänge in der Nachricht 280 ausgelassen werden sollen. Zum Beispiel kann das entfernte Gerät 270 gegebenenfalls nicht in der Lage sein, einen Anhang darzustellen.
  • Auf diese Art und Weise kann der Message Processor 406 die Identifikation des Gerätemoduls, das zu einem entfernten Gerät 270 oder 271 zugehörig ist, die Identifikation des Netzwerktreibermoduls, das zu einem entfernten Netzwerk 270 oder 271 zugehörig ist, die Identifikation eines beliebigen zu verwendenden Verschlüsselungsmoduls und die Identifikation sonstiger Registrierungsdaten, die zu dem Typ eines entfernten Gerätes 270 oder 271 zugehörig sind, bestimmen.
  • Um die Kette von Modulen, die für ein entferntes Gerät 270 oder 271, ein entferntes Netzwerk 260 oder 261 geeignet ist, und zugehörige Präferenzen nutzen zu können, umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Zugreifen auf das Gerätemodul, das zu dem entfernten Gerät 270 zugehörig ist. Nachdem zum Beispiel das geeignete Gerätemodul bestimmt worden ist, ruft der Message Processor 406 das Gerätemodul aus einer Gerätemodul- Bibliothek 414 über eine Gerätetreiber-Schnittstelle 412 auf. Die Nachricht 280 wird danach als das Nachrichtenobjekt 428 über die Gerätetreiber-Schnittstelle 412 an das geeignete Gerätemodul übergeben. Das Gerätemodul bearbeitet danach die Nachricht 280 so, dass sie in einem Format vorliegt, das von dem entfernten Gerät 270 erkannt werden kann, und übergibt die umformatierte Nachricht 280 über die Gerätetreiber-Schnittstelle 412 als das Nachrichtenobjekt 428 zurück an den Message Processor 406.
  • Die Gerätetreiber-Schnittstelle 412 kann zum Beispiel eine COM-Schnittstelle sein und die Gerätemodule können COM-Module sein. Softwareanwendungen können unter Nutzung von Komponenten aufgebaut werden. Eine jede Komponente ist in der Lage, eine Funktion oder mehrere Funktionen zur Unterstützung der Softwareanwendung durchzuführen. COM ist eine Spezifikation zum Aufbauen von Komponenten und zum Erzeugen von Komponenten aus diesen Komponenten. Ein Vorteil der Nutzung von COM-Komponenten liegt darin, dass die Komponenten dynamisch mit der Anwendung verknüpft werden können, während die Anwendung läuft, indem sie durch die Anwendung aufgerufen werden. Das COM-Modul und die Anwendung werden über eine COM-Schnittstelle verknüpft. Somit kann das geeignete Gerätemodul dynamisch mit dem Message Processor 406 verknüpft werden, während der Message Processor 406 läuft.
  • Es gibt andere Strukturen und Methoden für das Zugreifen auf das geeignete Gerätemodul. Zum Beispiel können alle Gerätemodule in der gesamten Gerätetreiber-Bibliothek 414 dauerhaft mit dem Message Processor 406 verknüpft werden, wodurch die Notwendigkeit des dynamischen Verknüpfens des geeigneten Gerätemoduls beseitigt wird. Alternativ dazu können Gerätetreiber, auf die häufig zugegriffen wird, dauerhaft mit dem Message Processor 406 verknüpft werden, während Gerätemodule, auf die weniger häufig zugegriffen wird, über die COM-Schnittstelle dynamisch verknüpft werden können.
  • Ein jedes Modul kann durch einen Hersteller eines Gateways oder alternativ dazu durch einen Hersteller eines entfernten Gerätes bereitgestellt werden. Gerätemodule, die einem bestimmten Gerät entsprechen, sind üblicherweise von den Herstellern dieses Gerätes erhältlich. Die Auslegung der Gerätetreiber-Schnittstelle 412 ist willkürlich. Es ist lediglich notwendig, dass das Gerätemodul 414 eine Schnittstelle exportiert, die mit der Gerätetreiber-Schnittstelle 412 übereinstimmt, die von der aktuellen Erfindung unterstützt wird.
  • Das Gerätemodul, das durch den Message Processor 406 ausgerufen wird und an das die Nachricht 280 übergeben wird, ist das erste Modul in der Kette. Die aus der Identifikationstabelle 600 von 6 gewonnenen Präferenzdaten können anzeigen, dass Verschlüsselung gewünscht ist. Wenn Verschlüsselung gewünscht ist, werden die Präferenzdaten weiterhin das Verschlüsselungsmodul innerhalb der Verschlüsselungsmodul-Bibliothek 418 identifizieren, das auf dem entfernten Gerät 270 verfügbar ist. Somit umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Verschlüsseln der Nachricht 280. Insbesondere ruft der Message Processor 406 das identifizierte Verschlüsselungsmodul der Verschlüsselungsmodul-Bibliothek 418 über die Verschlüsselungs-Schnittstelle auf. Wie weiter oben für die Gerätemodule beschrieben worden ist, können einige oder alle Verschlüsselungsmodule dauerhaft mit dem Message Processor 406 verbunden sein. Die Funktion des Authentisierungsmoduls 422 wird unten weiter beschrieben werden.
  • Der Gateway 240 kann ebenfalls andere Bibliotheken von Modulen 432 umfassen, die der Message Processor 406 über eine Schnittstelle 434 koppelt. Zum Beispiel kann der Gateway 240 eine Bibliothek von Kompressionsmodulen umfassen. Der Kompressionsmodus, der einem bestimmten Typ von entferntem Gerät 270 oder 271 entspricht, kann in den Registrierungsdaten identifiziert werden, die aus dem Lokator-Modul 410 ausgelesen werden. Das geeignete Kompressionsmodul, das der Kompressionssoftware auf dem entfernten Gerät 270 entspricht, kann sodann aufgerufen und die Nachricht 280 kann zwecks Komprimierung an das Kompressionsmodul übergeben werden.
  • Schließlich, nach Bearbeitung durch das geeignete Gerätemodul und mögliche Bearbeitung durch das geeignete Verschlüsselungsmodul und/oder Kompressionsmodul sowie auf Wunsch durch andere Module, liegt die Nachricht 280 in einem Format vor, das das entfernte Gerät 270 oder 271 handhaben kann. Die umformatierte Nachricht wird danach über das entfernte Netzwerk 260 an ein entferntes Gerät, wie zum Beispiel das Gerät 270, übergeben. Das entfernte Netzwerk 260 kann zahlreiche Geräte umfassen, die unter Verwendung eines spezifischen Protokolls miteinander kommunizieren.
  • Daher wird die Nachricht 280 unter Verwendung eines Protokolls, das mit dem entfernten Netzwerk 260 kompatibel ist, über das entfernte Netzwerk 260 gesendet. Dementsprechend umfassen Ausführungsbeispiele innerhalb des Erfindungsbereiches der vorliegenden Erfindung Vorrichtungen zum Senden der Nachricht 280 unter Verwendung eines Protokolls, das mit dem entfernten Netzwerk 260 kompatibel ist. Ein Beispiel einer solchen Vorrichtung wird unter Bezugnahme auf 4 beschrieben.
  • Der Gateway 240 identifiziert zuerst den Netzwerktreiber, der zu einem entfernten Gerät 270 oder 271 zugehörig ist. Der Message Processor 406 greift danach unter Verwendung der Vorrichtung zum Zugreifen auf ein geeignetes Netzwerktreibermodul für ein entferntes Gerät auf den geeigneten Netzwerktreiber zu. Zum Beispiel ruft der Message Processor 406 das Netzwerktreibermodul über eine Netzwerktreiber-Schnittstelle 424 aus einer Netzwerktreiber-Bibliothek 426 auf. Die Nachricht 280 wird danach über die entfernte Warteschlange 250 an ein entferntes Netzwerk, wie zum Beispiel das Netzwerk 260, in dem richtigen Protokoll übergeben. Die Netzwerktreibermodule können COM-Module sein, und die Netzwerktreiber-Schnittstelle 424 kann ebenso eine COM-Schnittstelle sein. Schließlich wird die Nachricht an dem entfernten Gerät 270 empfangen, und die Nachricht 280 kann durch das entfernte Gerät 270 und von einem beliebigen Benutzer, der mit dem entfernten Gerät 270 verbunden ist, interpretiert werden.
  • Unter Bezugnahme auf 2 ist die sendende Vorrichtung 210 die sendende Vorrichtung und ist das entfernte Gerät 210 das Zielgerät, wenn die Nachricht 280 von der nahen Vorrichtung 210 zu dem entfernten Gerät 270 gesendet wird. Jedoch können Nachrichten auch von einem entfernten Gerät 270 oder 271 an die sendende Vorrichtung 210 gesendet werden. In diesem Fall ist das Gerät 270 oder 271 die sendende Vorrichtung und die Vorrichtung 210 ist das Zielgerät. Solche Nachrichten können eine Anforderung von Daten, wie zum Beispiel E-Mail-Nachrichten, Kontakteinträge oder Kalendereinträge umfassen. Zusätzlich kann das Zielgerät 210 ein entfernter Server sein, der an einer beliebigen Stelle in dem Internet residiert, wie zum Beispiel ein Instant Messaging Server oder ein Webserver, oder eine Webseite in dem Fall eines Webservers. Jedoch kann die Nachricht 280 eine beliebige andere Nachrichtenart sein.
  • Um eine Nachricht von einer sendenden Vorrichtung 270 oder 271 zu einem entfernten Gerät 210 zu senden, erzeugt die sendende Vorrichtung 270 oder 271 zuerst eine Nachricht in einem besonderen Format. Die Vorrichtung 270 oder 271 sendet danach diese Nachricht über das Netzwerk 260 oder 261 unter Verwendung eines spezifischen Protokolls an die entfernte Warteschlange 250. Der Gateway 240 entfernt die Nachricht sodann aus der Warteschlange 250 und übergibt die Nachricht an das Nachrichtenobjekt 428 des Message Processors 406.
  • Die Nachricht kann eine spezifische Adresse der Vorrichtung 270 oder 271 zusammen mit einer Identifikation der Vorrichtung 270 oder 271 umfassen. Die Nachricht 280 wird an das Lokator-Modul 408 übergeben, das das richtige Gerätemodul, das richtige Verschlüsselungsmodul und beliebige andere Module, die zu der sendenden Vorrichtung 270 zugehörig sind, bestimmt. Der Message Processor 406 baut danach eine Kette von Modulen auf, in dem er das geeignete Gerätemodul und beliebige andere Module nach Gegebenheit aufruft.
  • Entsprechende Sicherheit kann erlangt werden, indem die Nachricht unter Verwendung von Verschlüsselungssoftware von der Vorrichtung 270 oder 271 gesendet wird. Wahlweise kann ein gewisses Niveau an Sicherheit durch ein Authentisierungsmodul 422 erlangt werden, auf das der Message Processor 428 über die Authentisierungs-Schnittstelle 420 zugreifen kann. Das Authentisierungs-Modul kann ein Passwort überprüfen, das der Vorrichtung 270 oder 271 die Genehmigung erteilt, auf die in der Nachricht 280 angeforderten Informationen zuzugreifen.
  • Wenn dieser Zugriff genehmigt wird, wird die bearbeitete Nachricht danach durch einen Steckverbinder 430 (zum Beispielein HTTP-Steckverbinder) an die nahe Warteschlange 230 unter Verwendung des für das Netzwerk 220 geeigneten Protokolls, wie zum Beispiel des HTTP-Protokolls, gesendet. Die Nachricht wird danach über das Netzwerk 220 an das Zielgerät 210 gesendet, wo die Nachricht verarbeitet werden kann.
  • Wie oben beschrieben worden ist, verwendet der Message Processor 406 das Lokator-Modul 408 zum Ermitteln von Adressdaten zu dem nahen Gerät 210 und von Präferenzdaten und Moduldaten zu der Vorrichtung 270 oder 271. Somit muss der Message Processor 406 nicht auf das Lokator-Modul 408 zugreifen, um diese Informationen zu bestimmen, wenn er die Antwort auf diese ankommende Nachricht verarbeitet, wenn von der Annahme ausgegangen wird, dass der Message Processor 280 die Daten von dem Lokator-Modul 410 hält, bis die Antwort verarbeitet worden ist, und unter der Annahme, dass der Message Processor 408 die Antwort als Antwort auf die Nachricht erkennt.
  • Zusammenfassend wird ein flexibler Gateway bereitgestellt, der Kommunikation über einen breiten Bereich von Netzwerken zwischen einem breiten Bereich von Geräten ermöglicht. Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne dass von ihren wesentlichen Merkmalen abgewichen wird. Die beschriebenen Ausführungsbeispiele sind in allen Aspekten als ausschließlich veranschaulichend und nicht als einschränkend zu verstehen. Der Erfindungsbereich wird somit in den anhängenden Patentansprüchen definiert, nicht jedoch durch die vorstehende Beschreibung. Alle Änderungen, die in den Äquivalenzbereich der Patentansprüche fallen, sollen als in den Geltungsbereich derselben fallend behandelt werden.

Claims (25)

  1. Computerprogrammerzeugnis zum Einsatz in einem Gateway-Computer (240, 241) eines vernetzten Computersystems (200), das eine oder mehrere sendende Vorrichtungen (210, 211) zum Senden von Daten oder Nachrichten (280) enthält, wobei die sendenden Vorrichtungen mit einem oder mehreren sendenden Netzen (220) logisch verbunden sind, das/die logisch mit dem Gateway-Computer (240, 241) verbunden ist/sind, und unter Verwendung von einem oder mehren Sendeprotokoll/en mit ihm/ihnen kommunizieren, der Gateway-Computer seinerseits mit einem oder mehreren entfernten Netzen (260, 261) logisch verbunden ist, die mit einer Vielzahl entfernter Zielgeräte (270, 271) logisch verbunden sind, die jeweils ein anderes Daten- oder Nachrichtenformat erkennen, und unter Verwendung eines oder mehrerer Empfangsprotokolle, von denen sich wenigstens einige von den Sendeprotokollen unterscheiden, mit ihnen kommunizieren, wobei das Computerprogrammerzeugnis auf dem Gateway-Computer ein Verfahren zum Weiterleiten der Sende-Daten oder -Nachrichten (280) von dem einen oder den mehreren sendenden Geräten über den Gateway-Computer zu wenigstens einer der Vielzahl entfernter Zielgeräte unabhängig von den Unterschieden, die in den Sende- und Empfangsprotokollen verwendet werden, implementiert, und das Computerprogrammerzeugnis umfasst: ein computerlesbares Medium, das Computerprogramm-Codemittel bereitstellt, die von dem Gateway-Computer genutzt werden, um das Verfahren zu implementieren; und wobei die Computerprogramm-Codemittel aus ausführbarem Code zum Implementieren der folgenden Schritte bestehen: Empfangen von Daten oder einer Nachricht (280) an dem Gateway-Computer (240, 241), die an einem oder mehreren der sendenden Geräte in einem Sendeformat erzeugt wird/werden, und die an dem Gateway-Computer unter Verwendung eines Sendeprotokolls empfangen worden ist/sind, wobei die empfangenen Daten oder die Nachricht für wenigstens eines der Vielzahl entfernter Zielgeräte bestimmt ist/sind, das in der Lage ist, die empfangenen Daten oder die Nachricht in einem Zielformat zu erkennen, das sich von dem Sendeformat unterscheidet, und das in der Lage ist, die Daten oder die Nachricht unter Verwendung eines Empfangsprotokolls zu empfangen, das sich von dem Sendeprotokoll unterscheidet; Verwenden von Adressinformationen der Daten oder der Nachricht, um eine spezifische Adresse des vorgesehenen entfernten Zielgeräts direkt oder indirekt zu bestimmen; und Senden der Daten oder der Nachricht von dem Gateway-Computer über das eine oder die mehreren entfernten Netze zu dem vorgesehenen entfernten Zielgerät unter Verwendung des durch die einen oder mehreren Netzwerke erkannten Empfangsprotokolls und in dem von der vorgesehenen entfernten Zielvorrichtung erkannten Zielformat unabhängig von Unterschieden zwischen dem Sendeprotokoll und dem Empfangsprotokoll sowie dem Sendeformat und dem Empfangsformat, dadurch gekennzeichnet, dass die Programmcodemittel des Weiteren ausführbaren Code zum Implementieren der folgenden Schritte umfassen: an dem Gateway-Computer mit einem einzelnen Suchlauf unter Verwendung der spezifischen Adresse Identifizieren eines Gerätetreibermoduls (414), das mit dem spezifischen Gerätetyp des vorgesehenen entfernten Zielgeräts verknüpft ist, unter einer Vielzahl verschiedener Gerätetreibermodule und eines Netzwerktreibermoduls, das mit dem einen oder den mehreren entfernten Netzen verknüpft ist, unter einer Vielzahl verschiedener Netzwerktreibermodule, wobei jedes der Gerätetreibermodule empfangene Daten oder eine Nachricht von einem Sendeformat zu einem Zielformat ändern kann, und jedes der Netzwerktreibermodule die empfangenen Daten oder die Nachricht unter Verwendung eines anderen Protokolls senden kann; und Verketten des identifizierten Gerätetreibermoduls (414) und des identifizierten Netzwerktreibermoduls, um die empfangenen Daten oder die Nachricht von dem Sendeformat zu dem durch die beabsichtigte entfernte Zielvorrichtung erkannten Zielformat zu ändern und die Daten oder die Nachricht von dem Gateway-Computer über das eine oder die mehreren entfernten Netze zu der vorgesehenen entfernten Zielvorrichtung zu senden, so dass sich der Gateway-Computer nach Erfordernis dynamisch anpasst, um Daten oder Nachrichten in das Zielformat umzuformatieren und die umformatierten Daten oder Nachrichten unter Verwendung des geeigneten Empfangsprotokolls bereitzustellen.
  2. Computerprogrammerzeugnis nach Anspruch 1, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Identifizieren eines Gerätetreibermoduls, das mit dem vorgesehenen entfernten Zielgerät verknüpft ist, an dem Gateway-Computer ausführbare Befehle zum Lesen einer Adresse (218) der vorgesehenen entfernten Zielvorrichtung aus den Daten oder der Nachricht; Nachschlagen der Adresse in einer Lokator-Tabelle (600), die die Adresse mit einem spezifischen Gerätetyp (606) verknüpft, wobei der spezifische Gerätetyp dem Gerätetreibermodul entspricht, das mit der Zielvorrichtung verknüpft ist; und Lesen des spezifischen Gerätetyps aus der Lokator-Tabelle umfasst.
  3. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Verwenden des identifizierten Gerätemoduls zum Ändern der empfangenen Daten oder der Nachricht durch Computer ausführbare Befehle zum Aufrufen des Gerätetreibermoduls aus einer Bibliothek von Gerätetreibermodulen (414); und Koppeln mit dem Gerätetreibermodul über eine Schnittstelle (412) umfasst
  4. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Verwenden des identifizierten Gerätetreibermoduls zum Ändern der empfangenen Daten oder der Nachricht ausführbare Befehle zum Aufrufen eines COM(Component Object Model)-konformen Gerätetreibermoduls, das dem spezifischen Gerätetyp entspricht, aus einer Bibliothek von COM-Gerätetreibermodulen; Koppeln mit dem COM-Gerätetreibermodul über eine COM-Schnittstelle umfasst
  5. Computerprogrammerzeugnis nach Anspruch 1, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Identifizieren des Netzwerktreibermoduls, das mit dem entfernten Netzwerk verknüpft ist, ausführbare Befehle zum Durchführen der folgenden Schritte umfasst: Lesen einer Adresse (281) der vorgesehenen entfernten Zielvorrichtung aus den Daten oder der Nachricht; Nachschlagen der Adresse in einer Lokator-Tabelle (600), die die Adresse (602) mit einem spezifischen Netzwerktyp (608) verknüpft, wobei der spezifische Netzwerktyp dem Netzwerktreibermodul entspricht, das mit dem entfernten Netzwerk verknüpft ist; und Lesen des spezifischen Netzwerktyps aus der Lokator-Tabelle (600), und wobei die ausführbaren Befehle zum Durchführen des Schrittes zum Identifizieren eines Gerätetreibermoduls, das mit der vorgesehenen entfernten Zielvorrichtung verknüpft ist, ausführbare Befehle zum Durchführen der folgenden Schritte umfassen: Nachschlagen der Adresse in der Lokator-Tabelle (600), wobei die Lokator-Tabelle auch die Adresse (602) mit einem spezifischen Gerätetyp (606) verknüpft und der spezifische Gerätetyp dem Gerätetreibermodul entspricht, das mit der vorgesehenen entfernten Zielvorrichtung verknüpft ist; und Lesen des spezifischen Gerätetyps aus der Lokator-Tabelle.
  6. Computerprogrammerzeugnis nach Anspruch 5, wobei das Gerätetreibermodul und das Netzwerktreibermodul jeweils ein COM-Modul umfassen.
  7. Computerprogrammerzeugnis nach den Ansprüchen 5 oder 6, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Senden der Nachricht zu der vorgesehenen entfernten Zielvorrichtung des Weiteren ausführbare Befehle zum Senden der Nachricht zu einer Nachrichten-Warteschlange (250) umfassen.
  8. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Empfangen von Daten oder einer Nachricht, die an einer oder mehreren der sendenden Geräte erzeugt wird/werden, an dem Gateway-Computer ausführbare Befehle zum Empfan gen der Daten oder der Nachricht an einer Sende-Warteschlange (230) umfassen, die mit dem Gateway-Computer verknüpft ist.
  9. Computerprogrammerzeugnis nach Anspruch 8, wobei die ausführbaren Befehle zum Durchführen des Schritts zum Empfangen von Daten oder einer Nachricht, die an einer oder mehrerer der sendenden Vorrichtungen erzeugt werden/wird, an dem Gateway-Computer ausführbare Befehle für den Gateway-Computer zum Entfernen (404) der Daten oder der Nachricht aus der Sende-Warteschlange (230) umfassen.
  10. Computerprogrammerzeugnis nach Anspruch 8 oder 9, wobei die ausführbaren Befehle zum Empfangen der Daten oder der Nachricht, an einer Sende-Warteschlange des Weiteren ausführbare Befehle für die Sende-Warteschlange zum Ausgeben von Daten oder Nachrichten an eine Vielzahl von Gateway-Computern einschließlich des Gateway-Computers umfassen.
  11. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei der Computerprogrammcode des Weiteren aus ausführbarem Code zum Implementieren der folgenden Schritte besteht: Erzeugen der Daten oder der Nachricht (280), die für die wenigstens eine entfernte Zielvorrichtung bestimmt sind/ist, an einem oder mehreren der sendenden Zielgeräte; und Übertragen der erzeugten Daten oder der Nachricht (280) über ein oder mehrere sendende/s Netze (220, 221) zu dem Gateway-Computer unter Verwendung eines oder mehrerer Sendeprotokolle.
  12. Computerprogrammerzeugnis nach Anspruch 11, wobei der ausführbare Code zum Implementieren des Schrittes zum Übertragen ausführbaren Code zum Übertragen der erzeugten Daten oder Nachricht über ein oder mehrere sendendes/sendende Netz/e (220, 221) zu dem Gateway-Computer unter Verwendung des HTTP (Hyper Text Transfer Protocol)-Protokolls umfasst.
  13. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei der ausführbare Code zum Implementieren des Schrittes zum Senden ausführbaren Code zum Senden der Daten oder der Nachricht über ein drahtloses Netz zu dem vorgesehenen entfernten Zielgerät umfasst.
  14. Computerprogrammerzeugnis nach einem der vorangehenden Ansprüche, wobei der ausführbare Code zum Implementieren des Schrittes zum Senden ausführbaren Code zum Senden der Daten oder der Nachricht über ein entferntes Netz umfasst, das wenigstens teilweise drahtlos (260) ist.
  15. Verfahren in einem vernetzten Computersystem (200), das eine oder mehrere sendende Geräte (210, 211) zum Senden von Daten oder Nachrichten (280) enthält, wobei die sendenden Geräte logisch mit einem oder mehreren sendenden Netz/en (220, 221) verbunden sind, das/die logisch mit einem Gateway-Computer (240, 241) verbunden ist/sind, und unter Verwendung von einem oder mehreren Sendeprotokoll/en mit ihm/ihnen kommunizieren, der Gateway-Computer seinerseits mit einem oder mehreren entfernten Netzen (260, 261) logisch verbunden ist, die mit einer Vielzahl entfernter Zielgeräte (270, 271) logisch verbunden sind, die jeweils ein anderes Daten- oder Nachrichtenformat erkennen, und unter Verwendung eines oder mehrerer Empfangsprotokolle mit ihnen kommunizieren, von denen sich wenigstens einige von den Sendeprotokollen unterscheiden, zum Weiterleiten der Sende-Daten oder -Nachrichten von dem einen oder den mehreren sendenden Geräten über den Gateway-Computer zu wenigstens einem der Vielzahl entfernter Zielgeräte unabhängig von den Unterschieden, die in den Sende- und Empfangsprotokollen verwendet werden, wobei das Verfahren den Gateway-Computer umfasst, der die folgenden Schritte durchführt: Empfangen von Daten oder einer Nachricht (280), die an einem oder mehreren der sendenden Geräte (210, 211) in einem Sendeformat erzeugt werden/wird, wobei die empfangenen Daten oder die Nachricht für wenigstens eines der Vielzahl entfernter Zielgeräte (270, 271) bestimmt sind/ist, das in der Lage ist, die empfangenen Daten oder die Nachricht in einem Zielformat zu erkennen, das sich von dem Sendeformat unterscheidet, und das in der Lage ist, die Daten oder die Nachricht unter Verwendung eines Empfangsprotokolls zu empfangen, das sich von dem Sendeprotokoll unterscheidet; Verwenden von Adressinformationen der Daten oder der Nachricht, um eine spezifische Adresse des vorgesehenen entfernten Zielgerätes direkt oder indirekt zu bestimmen; und Senden der empfangenen Daten oder der Nachricht von dem Gateway-Computer (240, 241) über das eine oder mehreren entfernten Netze (260, 261) zu dem vor gesehenen entfernten Zielgerät unter Verwendung des Empfangsprotokolls und in dem Zielformat, das von dem vorgesehenen entfernten Zielgerät erkannt wird, unabhängig von Unterschieden des Sende- und des Zielprotokolls sowie des Sende- und des Empfangsformats, dadurch gekennzeichnet, dass das Verfahren des Weiteren umfasst, dass der Gateway-Computer die folgenden Schritte durchführt: an dem Gateway-Computer mit einem einzelnen Suchlauf unter Verwendung der spezifischen Adresse Identifizieren eines Gerätetreibermoduls (414), das mit dem spezifischen Gerätetyp des vorgesehenen entfernten Zielgerätes verknüpft ist, unter einer Vielzahl verschiedener Gerätetreibermodule und eines Netzwerktreibermoduls, das mit dem einen oder mehreren entfernten Netzen verknüpft ist, aus einer Vielzahl verschiedener Netzwerktreibermodule, wobei jedes der Gerätetreibermodule empfangene Daten oder eine Nachricht von einem Sendeformat zu einem Zielformat ändern kann und jedes der Netzwerktreibermodule die empfangenen Daten oder die Nachricht unter Verwendung eines anderen Protokolls senden kann; Verketten des identifizierten Gerätetreibermoduls und des identifizierten Netzwerktreibermoduls (414), um die empfangenen Daten oder die Nachricht von dem Sendeformat zu dem durch das vorgesehene entfernte Zielgerät erkannte Zielformat zu ändern und die empfangenen Daten oder die Nachricht von dem Gateway-Computer (240, 241) über das eine oder mehreren entfernten Netzwerke (260, 261) zu der vorgesehenen entfernten Zielvorrichtung zu senden, so dass sich der Gateway-Computer nach Erfordernis dynamisch anpasst, um Daten oder Nachrichten in das Zielformat umzuformatieren und die umformatierten Daten oder Nachrichten unter Verwendung des geeigneten Empfangsprotokolls bereitzustellen.
  16. Verfahren nach Anspruch 15, das des Weiteren Lesen einer Adresse (281) des vorgesehenen entfernten Zielgerätes aus den Daten oder der Nachricht nach dem Vorgang des Empfangens der Daten oder der Nachricht durch den Gateway-Computer umfasst.
  17. Verfahren nach Anspruch 15 oder 16, wobei der Schritt zum Identifizieren eines Gerätetreibermoduls Nachschlagen der Adresse in einer Lokator-Tabelle (600) um fasst, wobei die Lokator-Tabelle die Adresse (602) mit einer spezifischen Gerätekennung verknüpft.
  18. Verfahren nach einem der Ansprüche 15 bis 17, wobei der Schritt zum Verwenden des identifizierten Gerätetreibermoduls die folgenden Schritte umfasst: Aufrufen eines COM-Gerätemoduls, das dem vorgesehenen entfernten Zielgerät entspricht, aus einer Bibliothek von COM-Gerätemodulen; und Koppeln mit dem Gerätetreibermodul über eine COM-Gerätetreiberschnittstelle (412).
  19. Verfahren nach einem der Ansprüche 15 bis 18, das des Weiteren die folgenden Schritte umfasst: Identifizieren anderer Module (432), die mit dem vorgesehenen entfernten Zielgerät verknüpft sind; und Verwenden der anderen Module, um die empfangenen Daten oder die Nachricht zu ändern.
  20. Verfahren nach Anspruch 19, wobei die anderen Module ein Verschlüsselungsmodul (418) enthalten.
  21. Verfahren nach Anspruch 19 oder 20, wobei die anderen Module ein Kompressionsmodul (432) enthalten.
  22. Vernetztes Computersystem (200), das Übertragen von Daten oder Nachrichten (280), die unter Verwendung von einem oder mehreren Sendeprotokoll/en gesendet werden, über ein oder mehrere entfernte Netze (200, 220) zu einem entfernten Ziel zulässt, das ein Empfangsprotokoll verwendet, das sich von den Sendeprotokollen unterscheidet, wobei es umfasst: ein oder mehrere sendende Geräte (210, 211), das/die Daten oder Nachrichten unter Verwendung von einem oder mehreren Sendeprotokoll/en und einem oder mehreren Sendeformat/en sendet/senden; ein oder mehrere sendendes/sendende Netz/e (220, 221), das/die logisch mit dem einen oder den mehreren sendenden Geräten verbunden ist/sind und unter Ver wendung des einen oder des mehreren Sendeprotokolle mit ihnen kommuniziert/kommunizieren; einen Gateway-Computer (240, 241), der logisch mit dem einen oder den mehreren sendenden Geräten über das eine oder die mehreren sendenden Netz/e verbunden ist, um die Sende-Daten oder -Nachrichten in dem einen oder den mehreren Sendeformat/en unter Verwendung des einen oder der mehreren Sendeprotokolle zu empfangen, wobei der Gateway-Computer Einrichtungen umfasst, die a) Adressinformationen der Daten oder der Nachricht verwenden, um eine spezifische Adresse des vorgesehenen entfernten Zielgerätes direkt oder indirekt zu bestimmen, und d) die Daten oder die Nachricht von dem Gateway-Computer über ein oder mehrere entfernte Netz/e (260, 261) zu einem vorgesehenen Zielgerät (270, 271) unter Verwendung des Empfangsprotokolls und in dem Zielformat, das von dem vorgesehenen entfernten Zielgerät erkannt wird, unabhängig von Unterschieden der Sende- und der Empfangsprotokolle sowie der Sende- und Empfangsformate senden; ein oder mehrere entfernte Netz/e (260, 261), das/die logisch mit dem Gateway-Computer verbunden ist/sind; und eine Vielzahl entfernter Zielgeräte (270, 271), die jeweils ein anderes Daten- oder Nachrichtenformat erkennen und logisch über das eine oder die mehreren entfernten Netz/e verbunden sind, dadurch gekennzeichnet, dass der Gateway-Computer des Weiteren Einrichtungen umfasst, die b) an dem Gateway-Computer durch einen einzelnen Suchlauf unter Verwendung der spezifischen Adresse ein Gerätetreibermodul (414), das mit dem spezifischen Gerätetyp des vorgesehenen entfernten Zielgerätes verknüpft ist, unter einer Vielzahl verschiedener Gerätetreibermodule und ein Netzwerktreibermodul, das mit dem einen oder den mehreren entfernten Netz/en verknüpft ist, unter einer Vielzahl verschiedener Netzwerktreibermodule identifizieren, wobei jedes der Gerätetreibermodule empfangene Daten oder eine Nachricht von einem Sendeformat zu einem Zielformat ändern kann und jedes der Netzwerktreibermodule die empfangenen Daten oder die Nachricht unter Verwendung eines anderen Protokolls senden kann, und die c) das identifizierte Gerätetreibermodul und das identifizierte Netzwerktreibermodul verketten, um die empfangenen Daten oder die Nachricht (280) von einem Sendeformat zu dem von dem vorgesehenen entfernten Zielgerät erkannten Zielformat zu ändern und die Daten oder die Nachricht von dem Gateway-Computer über das eine oder die mehreren entfernten Netz/e (260, 261) zu dem vorgesehenen entfernten Zielgerät (270, 271) senden, so dass sich der Gateway-Computer je nach Erfordernis dynamisch anpasst, um Daten oder Nachrichten in das Zielformat umzuformatieren und umformatierte Daten oder Nachrichten unter Verwendung des geeigneten Empfangsprotokolls bereitzustellen.
  23. Vernetztes Computersystem nach Anspruch 22, wobei wenigstens eines von dem einen oder den mehreren entfernten Netz/en drahtlos (260) ist.
  24. Vernetztes Computersystem nach Anspruch 22 oder 23, wobei alle von dem einen oder den mehreren entfernten Netz/en drahtlos (260) sind.
  25. Vernetztes Computersystem nach einem der Ansprüche 22 bis 24, wobei wenigstens eines der entfernten Zielgeräte ein Mobiltelefon (270) umfasst.
DE60035467T 1999-10-04 2000-10-04 Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen Expired - Lifetime DE60035467T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US411594 1999-10-04
US09/411,594 US6674767B1 (en) 1999-10-04 1999-10-04 Flexible system and method for communicating between a broad range of networks and devices

Publications (2)

Publication Number Publication Date
DE60035467D1 DE60035467D1 (de) 2007-08-23
DE60035467T2 true DE60035467T2 (de) 2007-11-08

Family

ID=23629555

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60035467T Expired - Lifetime DE60035467T2 (de) 1999-10-04 2000-10-04 Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen

Country Status (4)

Country Link
US (1) US6674767B1 (de)
EP (1) EP1091532B1 (de)
AT (1) ATE367040T1 (de)
DE (1) DE60035467T2 (de)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046691B1 (en) * 1999-10-04 2006-05-16 Microsoft Corporation Methods and systems for dynamic conversion of objects from one format type to another format type by selectively using an intermediary format type
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US8073477B2 (en) 2000-04-11 2011-12-06 Telecommunication Systems, Inc. Short message distribution center
US6779038B1 (en) * 1999-12-31 2004-08-17 Nortel Networks Limited System and method for extending virtual synchrony to wide area networks
AU3689301A (en) * 2000-02-09 2001-08-20 Apriva Inc Communication systems, components, and methods operative with programmable wireless devices
US7349955B1 (en) * 2000-02-11 2008-03-25 Goamerica, Inc. Method of and system for transferring data over a wireless communications network
GB0004010D0 (en) * 2000-02-22 2000-04-12 Ibm Naming convention fjor different types of device and apparatus and methods using the naming convention
KR100847596B1 (ko) * 2000-03-02 2008-07-21 소니 가부시끼 가이샤 통신망 시스템, 게이트웨이, 데이터 통신방법과 프로그램제공매체
US6760580B2 (en) 2000-03-06 2004-07-06 America Online, Incorporated Facilitating instant messaging outside of user-defined buddy group in a wireless and non-wireless environment
US6714793B1 (en) 2000-03-06 2004-03-30 America Online, Inc. Method and system for instant messaging across cellular networks and a public data network
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US6839562B2 (en) * 2000-04-11 2005-01-04 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
US7522911B2 (en) * 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
US20070136592A1 (en) 2000-04-12 2007-06-14 Smith Richard A Wireless internet gateway
US6891811B1 (en) * 2000-04-18 2005-05-10 Telecommunication Systems Inc. Short messaging service center mobile-originated to HTTP internet communications
US7089562B1 (en) * 2000-05-04 2006-08-08 International Business Machines Corporation Universal driver server
US6988141B1 (en) * 2000-05-17 2006-01-17 Ricoh Company, Ltd. Method and system of remote diagnostic, control and information collection using a dynamic linked library of multiple formats and multiple protocols with restriction on protocol
US6959340B1 (en) * 2000-05-31 2005-10-25 Sun Microsystems, Inc. Platform independent business to business messenger in an enterprise computer system
EP1295492A1 (de) * 2000-06-19 2003-03-26 Mobilespear Ltd. Verfahren und system zum objektzugriff durch ein zugriffsgerät
US7587497B1 (en) * 2000-06-20 2009-09-08 Palmsource Inc. Information exchange between a handheld device and another computer system using an exchange manager and uniform resource locator (URL) strings
US7167923B2 (en) * 2000-08-24 2007-01-23 2Wire, Inc. System and method for selectively bridging and routing data packets between multiple networks
US7194526B2 (en) * 2000-09-22 2007-03-20 Kyocera Corporation Network device management method, and network devices
US8676921B1 (en) * 2000-10-03 2014-03-18 Nokia Corporation Contextual mapping based learning by converting information
US7519654B1 (en) * 2000-11-22 2009-04-14 Telecommunication Systems, Inc. Web gateway multi-carrier support
US20020087683A1 (en) * 2000-12-28 2002-07-04 Nokia Corporation WAP network printing
US20030023601A1 (en) * 2001-05-08 2003-01-30 Fortier Joseph W. System and method for intercommunication among disparate communication networks
US7383347B2 (en) * 2001-07-18 2008-06-03 International Business Machines Corporation Method and apparatus for providing extensible scalable transcoding of multimedia content
WO2003021900A1 (en) * 2001-09-05 2003-03-13 Rita Agarwal Methods and systems enabling communication in any of multiple communications formats
US20030079032A1 (en) * 2001-09-10 2003-04-24 John Orsolits Enterprise software gateway
US7554938B1 (en) * 2001-09-28 2009-06-30 At&T Intellectual Property I, L.P. System and method for providing an instant messaging function using a personal computer equipped with a wireless digital packet-switched modem
US7454195B2 (en) 2001-11-16 2008-11-18 At&T Mobility Ii, Llc System for the centralized storage of wireless customer information
US7793334B2 (en) 2001-11-16 2010-09-07 At&T Mobility Ii Llc System and method for password protecting a distribution list
US7549096B2 (en) 2001-11-16 2009-06-16 At&T Mobility Ii Llc Methods and systems for tracking and playing back errors in a communications network
US7657253B2 (en) * 2001-11-16 2010-02-02 At&T Mobility Ii Llc System and method for providing message notification
US8660537B2 (en) * 2001-11-16 2014-02-25 At&T Mobility Ii Llc System for the storage and retrieval of messages
US7617328B2 (en) * 2001-11-16 2009-11-10 At&T Mobility Ii Llc System for translation and communication of messaging protocols into a common protocol
US7487262B2 (en) * 2001-11-16 2009-02-03 At & T Mobility Ii, Llc Methods and systems for routing messages through a communications network based on message content
US7401148B2 (en) 2001-11-16 2008-07-15 At&T Mobility Ii Llc System for customer access to messaging and configuration data
US7319858B2 (en) 2001-11-16 2008-01-15 Cingular Wireless Ii, Llc System and method for querying message information
US7317697B2 (en) * 2001-11-16 2008-01-08 At&T Mobility Ii Llc System for handling file attachments
US6978305B1 (en) * 2001-12-19 2005-12-20 Oracle International Corp. Method and apparatus to facilitate access and propagation of messages in communication queues using a public network
US7277528B2 (en) * 2002-02-12 2007-10-02 Siemens Information And Communication Networks, Inc.- Boca Raton Call-content determinative selection of interception access points in a soft switch controlled network
EP1341356A3 (de) * 2002-02-25 2008-10-22 Alcatel Lucent Bidirektionale Video-Übergangseinrichtung und Verfahren zum herstellen einer Audio- und Video-Kommunikationsverbindung zwischen verschiedener Multimedia Endgeräte
CN1199514C (zh) * 2002-03-01 2005-04-27 华为技术有限公司 一种实现gsm与cdma网络信令互通的方法
JP2003271487A (ja) * 2002-03-12 2003-09-26 Nec Corp 通信システム、ゲートウエイ装置、ゲートウエイプログラム
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
EP1565830A4 (de) 2002-11-18 2008-03-12 America Online Inc Listen von leuten
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
JP2006526915A (ja) * 2003-03-21 2006-11-24 アクシズステル,インコーポレイテッド ワイヤレス・ゲートウェイ
US8117265B2 (en) 2003-03-26 2012-02-14 Aol Inc. Identifying and using identities deemed to be known to a user
US7493626B2 (en) * 2003-04-02 2009-02-17 Apple Inc. Method and apparatus for communicating between device drivers in a computer system
FR2855346A1 (fr) * 2003-05-19 2004-11-26 France Telecom Serveur de profil et application aux reseaux de communication
KR100716968B1 (ko) 2003-06-19 2007-05-10 삼성전자주식회사 유무선 복합 통신 장치 및 통신 방법
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
CA2539254A1 (en) * 2003-09-18 2005-04-14 Field2Base, Inc. Job site communications systems, methods, and computer program products
AU2004308435B2 (en) * 2003-12-22 2010-07-15 Linqware, Inc. System and method for initiating a conference call
DE102004001755A1 (de) * 2004-01-12 2005-08-11 Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG Verfahren zum Verschlüsseln von Daten in einem Netzwerk der Prozessautomatisierungstechnik
US9516483B2 (en) * 2004-02-20 2016-12-06 Broadcom Corporation Wireless communication between stations of differing protocols
JP4276105B2 (ja) * 2004-02-23 2009-06-10 アルゼ株式会社 電子メールシステム
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
AU2005223267B2 (en) 2004-03-16 2010-12-09 Icontrol Networks, Inc. Premises management system
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US11368429B2 (en) * 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US11159484B2 (en) * 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10339791B2 (en) * 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US20120066608A1 (en) 2005-03-16 2012-03-15 Ken Sundermeyer Control system user interface
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US7505574B2 (en) * 2004-03-26 2009-03-17 Microsoft Corporation Method and system for providing an improved communications channel for telephone conference initiation and management
US8195205B2 (en) * 2004-05-06 2012-06-05 Telecommunication Systems, Inc. Gateway application to support use of a single internet address domain for routing messages to multiple multimedia message service centers
GB2415335B (en) * 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US7660873B2 (en) * 2004-08-16 2010-02-09 General Electric Company Systems and methods for communicating messages
US20060047761A1 (en) * 2004-08-30 2006-03-02 Matsushita Electric Industrial Co., Ltd. Mechanism to support transparent roaming between IMP service providers in wireless networks
US8219665B2 (en) * 2005-03-07 2012-07-10 Microsoft Corporation Method and system for discovery via tribal knowledge
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US11615697B2 (en) * 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US8412826B2 (en) 2005-03-21 2013-04-02 Hewlett-Packard Development Company, L.P. Message exchange between software components
US7386533B2 (en) * 2005-04-21 2008-06-10 Sap Aktiengesellschaft Transferring data in a diverse file system landscape
US8566887B2 (en) * 2005-12-09 2013-10-22 Time Warner Cable Enterprises Llc Caption data delivery apparatus and methods
US7592912B2 (en) 2005-12-09 2009-09-22 Time Warner Cable Inc. Emergency alert data delivery apparatus and methods
JP4810282B2 (ja) * 2006-03-31 2011-11-09 キヤノン株式会社 モジュールインストール方法、モジュールインストール装置、及びプログラム
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
AU2007260587A1 (en) * 2006-06-14 2007-12-21 Jennifer Dawn Fowler Gaming host system
US8347378B2 (en) * 2006-12-12 2013-01-01 International Business Machines Corporation Authentication for computer system management
US20080153472A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Systems and methods for a cellular phone gateway
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
DE102007060675A1 (de) * 2007-06-11 2008-12-18 Rohde & Schwarz Gmbh & Co. Kg Vorrichtung und Verfahren zur Verarbeitung von Datenströmen
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) * 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8365202B2 (en) * 2008-02-04 2013-01-29 Microsoft Corporation Framework for computing device with auxiliary display
US8095610B2 (en) 2008-03-28 2012-01-10 Time Warner Cable Inc. Methods and apparatus for centralized and decentralized emergency alert messaging
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US8700731B2 (en) 2008-08-21 2014-04-15 Linqware, Inc. System and method for aggregating and providing audio and visual presentations via a computer network
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
US9191358B2 (en) 2011-09-13 2015-11-17 Level 3 Communications, Llc System and method for short message services to instant messaging conversion
US8929854B2 (en) 2011-10-27 2015-01-06 Telecommunication Systems, Inc. Emergency text messaging
US9472091B2 (en) 2013-10-21 2016-10-18 Time Warner Cable Enterprises Llc Systems and methods for providing emergency alerts
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US10623258B2 (en) 2015-06-22 2020-04-14 Arista Networks, Inc. Data analytics on internal state
US11893092B2 (en) * 2020-01-17 2024-02-06 Sony Group Corporation Privilege auto platform

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW226047B (de) * 1990-03-27 1994-07-01 Ibm
JPH0619771A (ja) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5406557A (en) * 1993-02-01 1995-04-11 National Semiconductor Corporation Interenterprise electronic mail hub
US5771459A (en) * 1994-06-21 1998-06-23 U.S. Philips Corporation Communication system for use with stationary and second entities, via a wireless intermediate network with gateway devices, a gateway device for use with such system, and a mobile entity provided with such gateway device
JPH10505725A (ja) * 1995-06-27 1998-06-02 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ネットワーク相互接続システム
US6393495B1 (en) * 1995-11-21 2002-05-21 Diamond Multimedia Systems, Inc. Modular virtualizing device driver architecture
US5951645A (en) * 1996-09-25 1999-09-14 Nec Corporation Network protocol for transferring data between applications running on different clients in a client-server system
SE510664C2 (sv) * 1996-10-29 1999-06-14 Ericsson Telefon Ab L M Metoder och anordning för meddelandehantering i ett kommunikationssystem
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
US20010039615A1 (en) * 1997-04-15 2001-11-08 At &T Corp. Methods and apparatus for providing a broker application server
US6097797A (en) * 1997-05-19 2000-08-01 Ricoh Company, Ltd. Network facsimile apparatus capable of E-mail communications
GB9715966D0 (en) * 1997-07-30 1997-10-01 Ibm Data communications management for use with networking applications and for mobile communications environments
US6044088A (en) * 1997-09-30 2000-03-28 Alcatel Usa Sourcing, L.P. System and circuit for telecommunications data conversion
US6526026B1 (en) * 1997-12-10 2003-02-25 Intel Corporation Digit transmission over wireless communication link
CA2225227A1 (en) * 1997-12-18 1999-06-18 Michael Coveley Intelligent communication and applications server
US6310888B1 (en) * 1997-12-30 2001-10-30 Iwork Software, Llc System and method for communicating data
US6453356B1 (en) * 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6339795B1 (en) * 1998-09-24 2002-01-15 Egrabber, Inc. Automatic transfer of address/schedule/program data between disparate data hosts
US6356529B1 (en) * 1999-08-12 2002-03-12 Converse, Ltd. System and method for rapid wireless application protocol translation

Also Published As

Publication number Publication date
ATE367040T1 (de) 2007-08-15
EP1091532A2 (de) 2001-04-11
US6674767B1 (en) 2004-01-06
EP1091532A3 (de) 2004-01-07
DE60035467D1 (de) 2007-08-23
EP1091532B1 (de) 2007-07-11

Similar Documents

Publication Publication Date Title
DE60035467T2 (de) Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen
DE69913953T2 (de) Verfahren und vorrichtung zur verarbeitung von elektronischen post
DE60027247T2 (de) Verfahren und Systeme zur Konvertierung von Datenformaten
DE602004009902T2 (de) System und verfahren für kompakte nachrichtenübermittlung in der netzwerkkommunikation
DE60123716T2 (de) System und Verfahren zur Bildkommunikation
DE60120920T2 (de) Nachrichtenübermittlungssystem
DE60211513T2 (de) Verfahren und System zur Nachrichtenverwaltung in einem mobilen Datenkommunkationsgerät
DE69822236T2 (de) Übertragungsvorrichtung mit Relaisfunktion und Relaisverfahren
DE60102314T2 (de) Verfahren und System zur Bereitstellung mobiler Dienste
DE69930420T2 (de) System und Verfahren zum Verschieben von Information von einem Hostsystem an eine mobile Datenkommunikationsvorrichtung
DE69926940T2 (de) Verfahren und System zum Auslagern der Konversionen von Nachrichtenanhängen
DE10202692A1 (de) E-Mail-Umwandlungsdienst
DE69835314T2 (de) Verfahren und Vorrichtung zur formatgesteuerten Interaktion zwischen Geräten
US6721785B1 (en) System for directing e-mail to selected recipients by applying transmission control directives on aliases identifying lists of recipients to exclude or include recipients
AT411312B (de) Verfahren zum übermitteln von kurznachrichten (sms) zwischen rechnern im internet
DE60103800T2 (de) Verfahren zur Bereitstellung von Zugriff auf Daten
DE69832057T2 (de) Datendienst in einem mobilen kommunikationsnetz
DE60021038T2 (de) Inhaltsanpassung von Multimedia-Nachrichten
DE60101566T2 (de) Gerätetreibererzeugung
EP1138162B1 (de) Verfahren zur übertragung von kurznachrichten
DE60213292T2 (de) Verfahren und vorrichtung zur übertragung elektronischer post auf drahtlose kommunikationsendgeräte durch ein push-verfahren
DE19812088A1 (de) Netzwerk-Faxapparat mit einer Funktion zum Weiterleiten einer E-Mail auf ein Faxgerät
EP1774805B1 (de) Verfahren zum übertragen applikationsspezifischer registrier-oder deregistrierdaten sowie system, server und kommunikationsendgerät hierfür
DE60318847T2 (de) Echtzeit-Nachrichtenaustausch in kooperativen Netzwerkumgebungen
US7822864B2 (en) Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product

Legal Events

Date Code Title Description
8364 No opposition during term of opposition