DE60017724T2 - System zur datenübertragung über mehrere kommunikationswege - Google Patents

System zur datenübertragung über mehrere kommunikationswege Download PDF

Info

Publication number
DE60017724T2
DE60017724T2 DE60017724T DE60017724T DE60017724T2 DE 60017724 T2 DE60017724 T2 DE 60017724T2 DE 60017724 T DE60017724 T DE 60017724T DE 60017724 T DE60017724 T DE 60017724T DE 60017724 T2 DE60017724 T2 DE 60017724T2
Authority
DE
Germany
Prior art keywords
data
communication paths
transmission
information
unit
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
DE60017724T
Other languages
English (en)
Other versions
DE60017724D1 (de
Inventor
Mats Karlsson
Martin Bergek
Magnus Agervald
Kristian Axelsson
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.)
Icomera AB
Original Assignee
Icomera AB
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
Priority claimed from SE9901621A external-priority patent/SE513338C2/sv
Application filed by Icomera AB filed Critical Icomera AB
Publication of DE60017724D1 publication Critical patent/DE60017724D1/de
Application granted granted Critical
Publication of DE60017724T2 publication Critical patent/DE60017724T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13098Mobile subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13138Least cost routing, LCR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13164Traffic (registration, measurement,...)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13166Fault prevention
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13208Inverse multiplexing, channel bonding, e.g. TSSI aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13296Packet switching, X.25, frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13389LAN, internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein System zur Übertragung von Daten zwischen mindestens zwei Einheiten, die zum Interkommunizieren angepasst sind, wobei dieses System mehrere mögliche Kommunikationswege umfasst, die unterschiedliche Qualitäten haben. Die Erfindung umfasst desgleichen ein entsprechendes Verfahren, und eine Terminaleinheit zur Verwendung gemeinsam mit dem System gemäß der Erfindung.
  • ALLGEMEINER STAND DER TECHNIK
  • Der Bedarf an schneller Übertragung von Daten steigt ständig und aus diesem Grund werden neue Lösungen zur Datenübertragung benötigt. Bestehende Netze, die für andere direkte Verwendungen bestimmt sind, wie zum Beispiel Fernsehen oder Elektrizität, können in einigen Fällen ebenfalls für Datenübertragung verwendet werden. Die Aussichten steigender Einnahmen werden die Entwicklung wahrscheinlich hin zu einer umfangreicheren Verwendung dieser gegenwärtig freien Kapazität richten.
  • Zusätzlich ist es wahrscheinlich, dass mobile Kommunikationsnetze entwickelt werden, um immer größere Übertragungsgeschwindigkeiten bereitzustellen. Diese Entwicklung wird in mehreren Schritten erfolgen und innerhalb der nächsten paar Jahre zu vielfachen Steigerungen der Geschwindigkeit auf den mobilen Netzen führen. Außerdem werden mehr Geräte drahtlos an Peripheriegeräte und andere Geräte angeschlossen werden, die sich sowohl in deren unmittelbarer Nähe befinden, als auch für Kommunikation über große Entfernungen. Folglich steigt der Bedarf an schneller und verlässlicher Datenübertragung umso mehr.
  • Die heutigen Benutzer haben oft Zugriff auf vielfache Kommunikationsverbindungen auf Netze, wie zum Beispiel Internet oder Intranets von einzelnen Unternehmen. Es wird indes jeweils nur eine Verbindung verwendet und infolgedessen bleiben beträchtliche Kapazitäten ungenutzt. Es besteht die Möglichkeit, Daten über eine Kommunikationsverbindung zu senden und Daten auf einer anderen Kommunikationsverbindung zu empfangen, dies erfolgt jedoch auf eine unintelligente und statische Art.
  • In den heutigen Datenübertragungssystemen ist die letzte Verbindung zum Benutzer die schwächste. Dies trifft zum Beispiel zu im Falle von Daten-Services, die über GSM oder stationäre Modems getätigt werden, aber auch ISDN und andere etwas schnellere Übertragungsverfahren sind Engpässe, die die Datenübertragung aufhalten, da die Geschwindigkeit auf dem Internet um ein Vielfaches höher ist.
  • Des Weiteren, werden feste Verbindungen mit dem Internet in einer wachsenden Anzahl von Haushalten und Büros installiert, was zu einem neuen Standard der für den Durchschnittsbenutzer verfügbaren Übertragungsgeschwindigkeiten führt. Folglich werden viele der Datenübertragungssysteme der Zukunft Schwierigkeiten haben, den Ansprüchen des neuen Standards gerecht zu werden, und dies trifft insbesondere zu, was die mobilen Systeme anbelangt.
  • Zusätzlich ist das Erreichen einer ausreichenden Abdeckung, ebenfalls ein Problem der heutigen Systeme. Unabhängig davon, wo sich der Benutzer befindet, wird er/sie auf das Internet zugreifen wollen und infolgedessen müssen die Einrichtungen zur Internetverbindung global verfügbar sein. Die Einrichtungen zur Verbindung können von Ort zu Ort variieren und Folgendes umfassen:
    • – feste Verbindungen
    • – Verbindung über Modem
    • – Verbindung über mobile Kommunikation, und
    • – Verbindung über Satellitenkommunikation.
  • Die Abdeckung von mobilen Services ist beschränkt durch die Tatsache, dass die mobilen Netze nicht vollständig ausgebreitet sind und wegen Problemen, die entstehen wegen Funkschatten im entsprechenden Netz, was manchmal einen Ausfall der Abdeckung verursacht. Kein Kommunikationssystem ist fehlerfrei. Außerdem ist kein System in der Lage, Kapazitäten für eine unbegrenzte Anzahl von Benutzern zu bieten.
  • Die fehlende Flexibilität der Auswahl des Benutzers zwischen mehreren Kommunikationswegen führt zu einer schwachen Ausnutzung der Kapazitäten der entsprechenden Kommunikationssysteme und somit zu einem beeinträchtigten Service für den einzelnen Benutzer. Zusätzlich würde der Wettbewerb zwischen unterschiedlichen Kommunikationssystemen verbessert werden, wenn die Auswahl zwischen diesen Systemen flexibler wäre.
  • Folglich besteht ein Bedarf an einem Datenübertragungssystem, das verschiedene Übertragungsverbindungen effizienter nutzt, sowohl, um bestehende Übertragungskanäle effizienter zu nutzen als auch um verbesserte Leistung bereitzustellen und ein höheres Niveau an Benutzerzufriedenheit zu erreichen.
  • Von EP-O 696 010 ist ein System bekannt, das es Daten ermöglicht, auf mehreren verfügbaren Kanälen übertragen zu werden. Nicht verfügbare Kanäle werden zu nicht auswählbaren Kanälen gemacht, durch Verwendung eines Notchfiltersystems und die Anmeldung betrifft hauptsächlich diesen Aspekt. Dieses System löst indes nicht die vorhergehenden Probleme, die Datenübertragungs-Betriebsabläufe in Bezug auf Verfügbarkeit, Abdeckung, Kosten, usw. effizienter zu machen.
  • Von US-5 787 079 ist bekannt, dass ein Datenfluss auf mehrere Teilkanäle in einem Funkkanal aufgeteilt wird und der Datenfluss kann parallel auf unterschiedlichen Teilkanälen übertragen werden und anschließend durch den Empfangsapparat wieder zusammengefügt werden. Wie EP 0 699 010 , betrifft diese Patentspezifikation lediglich die Technologie der Übertragung von Daten zwischen einer Basisstation und einer mobilen Einheit. Auch dieses System löst nicht die Probleme, die die vorliegende Erfindung betrifft, insbesondere, was Verfügbarkeit, Abdeckung und Kosten anbelangt.
  • Des Weiteren ist ein Verfahren der asymmetrischen Übertragung (Asymmetrical Digital Subscriber Line, ADSL) bekannt, welches ein Verfahren zur Steigerung der Übertragungsgeschwindigkeit vom Internet auf einen lokalen Computer ist, wohingegen die Geschwindigkeit in die entgegengesetzte Richtung beschränkt ist. ADSL kann eine physische Verbindung verwenden, die, abhängig von der Signalmodulation, unterschiedliche Übertragungsgeschwindigkeiten hat. Es können auch zwei physisch separate Verbindungen zum Netz beteiligt sein. Eine mögliche Konfiguration könnte ein gewöhnliches Telefonmodem für die Aufwärts-Verbindung und das Kabelfernsehnetz für die Abwärts-Verbindung sein. ADSL kann indes nur in Fällen verwendet werden, in denen hohe Übertragungsgeschwindigkeiten nicht in beide Richtungen erforderlich sind. Somit sind Anwendungen wie Videokonferenzen nicht machbar. Wegen der fehlenden Dynamik des Systems werden die Probleme der Verfügbarkeit, Abdeckung und Kosten auch hier nicht gelöst.
  • Die Teilung von Daten in mehrere parallele Datenströme ist von anderen Anwendungen bekannt. Obwohl in vielen Fällen gesteigerte Übertragungsgeschwindigkeiten erreicht werden, führen sie nicht zu einer befriedigenden Lösung der Probleme, die die vorliegende Erfindung betrifft, nämlich Verbesserung der Möglichkeiten des Benutzers, alleine relevante Optimierungsbedingungen, wie zum Beispiel Übertragungsgeschwindigkeiten, Zuverlässigkeit, Verfügbarkeit und Kosten auszuwählen. Wenn parallele Leitungen in bestehenden Anwendungen verwendet werden, wird normalerweise lediglich die gleiche Art von Kommunikationsverbindung verwendet, manchmal sogar die gleiche physische Verbindung. Das Ergebnis ist eine schlechtere Leistung und gesteigerte Risiken eines totalen Unterbruchs des Datenflusses.
  • AUFGABE DER ERFINDUNG
  • Eine Aufgabe dieser Erfindung ist es daher, die vorhergehend genannten Nachteile, die dem bisherigen Stand der Technik eigen sind, vollständig oder zumindest teilweise zu beseitigen und ein System bereitzustellen, das effizientere und schnellere Datenübertragungs-Betriebsabläufe ermöglicht.
  • Diese Aufgabe wird gemäß der Erfindung erfüllt, wie letztere in den angefügten Ansprüchen definiert ist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die Erfindung weist ein System zur Übertragung von Daten zwischen mindestens zwei Einheiten auf, die zur Interkommunikation angepasst sind, wobei dieses System mehrere mögliche Kommunikationswege umfasst, die unterschiedliche Merkmale aufweisen. Jede Einheit umfasst des Weiteren eine Übertragungseinheit, die Informationen über die Merkmale der möglichen Kommunikationswege erfasst und den Datenfluss basierend auf diesen Informationen und auf einer durch den Benutzer gegebenen Optimierungsbedingung, vorzugsweise in der Form eines Datenpakets, zwischen mindestens zwei dieser Kommunikationswege teilt. Jede Einheit umfasst ebenfalls eine entsprechende Empfangseinheit, die den über diese mindestens zwei Kommunikationswege übertragenen Datenfluss wieder verbindet. Es wird somit eine aktive Auswahl des Kommunikationswegs vorgenommen, um der Optimierungsbedingung der Wahl des Benutzers gerecht zu werden, und, zusätzlich, wird eine Wahl getroffen basierend auf den durch die Übertragungseinheit erfassten relevanten Informationen. Auf diese Art, wird mehr Zufriedenheit für den Benutzer erreicht, da die Optimierungsbedingung zu einem größeren Ausmaß erfüllt wird als in Systemen des bisherigen Stands der Technik, wobei zugleich bestehende Kommunikationswege und ähnliches besser genutzt werden können durch das Liefern relevanter Statusinformationen an die Übertragungseinheiten. Die Übertragungseinheiten erfassen vorzugsweise kontinuierlich Informationen und führen die Teilung des Datenflusses automatisch basierend auf diesen Informationen aus, was die vorhergehend genannten Vorteile noch ersichtlicher macht. Spezifisch geeignete Informationselemente, die erfasst werden sollten, sind eines oder mehrere der folgenden: feste und variable Preise für die Kommunikationswege, maximale und momentane Geschwindigkeit der letzteren, Größe der Pakete, die übertragen werden könnten, Transportzeit (End-to-End-Transportzeit für Pakete), ID oder gleichartige Informationen über die Übermittlungseinheiten, d. h. Einheiten, die in den Kommunikationswegen eingeschlossen sind, und vorbestimmte Prioritäten, die beispielsweise durch den Benutzer in Bezug auf die Wahl spezifischer Kommunikationswege, spezifischer Übermittlungseinheiten oder dergleichen festgelegt wurden. Basierend auf solchen Informationen wird es beispielsweise möglich, die Übertragung in Bezug auf einen oder mehrere Optimierungsparameter, wie zum Beispiel Preis, Geschwindigkeit, und Präferenzen in Bezug auf Zwischenübermittlungseinheiten zu optimieren.
  • Das System gemäß der Erfindung ist insbesondere geeignet für Datenübertragungs-Betriebsabläufe, wobei mindestens einer der Kommunikationswege ein drahtloser Weg ist, da der Bedarf an einer solchen aktiven Optimierung in diesen Fällen am größten ist. Zusätzlich ist das System besonders gut geeignet, um Datenübertragungsprobleme zu lösen, wenn eine der Kommunikationseinheiten wiederum an ein zusätzliches Netz zur Übermittlung von Daten zu und von diesem Netz angeschlossen ist. Auf diese Art, kann das Übertragungssystem gemäß der Erfindung in einigen besonders empfindlichen Teilen einer Übertragungskette verwendet werden. Diese Teile könnten zum Beispiel besonders teuer oder besonders langsam sein oder eine besonders kleine Übertragungskapazität oder ähnliches haben. Die Erfindung könnte verwendet werden für mobile, das heißt drahtlose Verbindung mit größeren stationären Netzen, wie dem Internet.
  • Die Erfindung betrifft ebenfalls ein Verfahren, das dem vorhergehend umrissenen System entspricht, und eine in einem solchen System zu verwendende Terminaleinheit.
  • Gemäß einem anderen Aspekt betrifft die Erfindung ein System zur Übertragung von Daten zwischen mindestens zwei Einheiten (1, 2), die zur Interkommunikation angepasst sind, wobei dieses System mindestens zwei mögliche Kommunikationswege (35) umfasst, von denen jeder unterschiedliche Merkmale hat, und wobei jede Einheit eine Übertragungseinheit umfasst, die angepasst ist, um Informationen über die Merkmale dieser möglichen Kommunikationswege zu erfassen und den Datenfluss zu teilen, vorzugsweise in der Form von Datenpaketen, und welche einen dieser mindestens zwei Kommunikationswege basierend auf den somit erfassten Informationen und auf einer durch den Benutzer für jeden solchen Datenflussteil gegebenen Optimierungsbedingung wählt. Jede Einheit umfasst des Weiteren eine entsprechende Empfangseinheit, die den über diese mindestens zwei Kommunikationswege übertragenen Datenfluss wieder zusammenfügt.
  • Auf diese Art wird eine Wahl des Kommunikationsweges für jedes Paket oder dergleichen getroffen und somit wird ein glatter Übergang von einem Kommunikationsweg auf einen anderen möglich gemacht, während zugleich gewährleistet wird, dass immer der bevorzugte Kommunikationsweg verwendet wird.
  • Zusätzlich betrifft die Erfindung ein entsprechendes Verfahren.
  • Die Erfindung umfasst desgleichen ein System zur Übertragung von Daten zwischen mindestens zwei Einheiten, die zur Interkommunikation angepasst sind, wobei dieses System mindestens zwei mögliche drahtlose Kommunikationswege über unterschiedliche Basisstationen umfasst und wobei jede Einheit eine Übertragungseinheit umfasst, die den Datenfluss vorzugsweise in der Form von Datenpaketen zwischen diesen mindestens zwei Kommunikationswegen teilt und wobei jede Einheit des Weiteren eine entsprechende Empfangseinheit umfasst, die den über diese mindestens zwei Kommunikationswege übertragenen Datenfluss wieder zusammenfügt. Da mindestens einige der Kommunikationswege in diesem Falle mobil sind, wird das System besonders leistungsfähig, wenn die Netze von mehreren unterschiedlichen Betreibern (Basisstationen) verwendet werden. Auf diese Art wird ein Zugriff auf eine größere Anzahl von Frequenzen erreicht, was eine verbesserte Abdeckung, Verfügbarkeit und Übertragungsgeschwindigkeit bietet. Dies sollte verglichen werden mit der Verwendung eines einzigen Netzes, dessen beschränkt verfügbare Frequenzen auf die Eingangsleitungen verteilt werden müssen. Im vorhergehenden Fall ist, wenn die Netzmerkmale statisch und gleichartig sind, das Erfassen von Informationen und die nachfolgende Optimierung indes nicht notwendig, um die Ziele der Erfindung zu erreichen. Da die Übertragungseinheit den Datenfluss in Teile gleicher Größe teilt und die Empfangseinheit diese wieder zusammenfügt, wird das erwünschte Ergebnis erreicht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird nachfolgend zum Zweck der Erläuterung mittels einiger Ausführungsformen und unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
  • 1 eine schematische allgemeine Ansicht des Systems gemäß der Erfindung ist;
  • 2 eine schematische Ansicht einer Ausführungsform des Systems ist, das verschiedene Kommunikationswege in einer physischen Einheit umfasst;
  • 3 eine schematische Darstellung von einer Ausführungsform des Systems ist, die mehrere separate Kommunikationswege umfasst;
  • 4 eine schematische Darstellung von einer Ausführungsform des Systems ist, die eine Kommunikationseinheit umfasst, die mehrere Kommunikationswege hat;
  • 5 eine schematische Darstellung von einer Ausführungsform des Systems ist, die mehrere Benutzer einschließt, die mehrere Kommunikationswege haben;
  • 6 eine schematische Ansicht einer Ausführungsform des Systems ist, die eine integrierte Einheit umfasst, die mehrere Kommunikationswege hat;
  • 7 ein Ausführungsbeispiel eines kombinierten Optimierungsbetriebsablaufs veranschaulicht, der mehrere Optimierungsparameter einschließt;
  • 8 ein Beispiel eines NDIS-Wrappers gemäß der Erfindung veranschaulicht, der installierte PAM und NDM aufweist;
  • 9 ein Beispiel von über drei NDMs übermittelten Ausgangssignalen veranschaulicht;
  • 10 eine allgemeine Ansicht ist, die das Verhältnis zwischen den PAM-Klassen gemäß dem Beispiel veranschaulicht; und
  • 11 eine allgemeine Ansicht ist, die das Verhältnis zwischen den NDM-Klassen gemäß dem Beispiel veranschaulicht;
  • 12 schematisch veranschaulicht, wie unterschiedliche Kommunikationstechnologien unterschiedliche Abdeckungsbereiche bereitstellen können. Die Abdeckung erstreckt sich von landesweit (mobile Netze) bis punktbasiert (Bluetooth, LAN, Modem) sowie allem, was dazwischen liegt. Das in dieser Patentanmeldung beschriebene Verfahren macht ein Roaming zwischen diesen unterschiedlichen Technologien möglich; und
  • 13 eine schematische Darstellung eines Systems gemäß der Erfindung ist, wobei der Client über einen Server im System mit einem „Remote-Server" kommuniziert.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Wie in 1 veranschaulicht, umfasst das System der Erfindung mehrere parallele Kommunikationsverbindungen, deren Ziel es ist, die vorhergehend hierin umrissenen Probleme zu lösen oder zu vermindern. Das System umfasst mindestens zwei Einheiten 1, 2, die zur Interkommunikation angepasst sind und das System umfasst mehrere mögliche Kommunikationswege 35, die unterschiedliche Merkmale aufweisen. Jede Einheit umfasst eine Übertragungseinheit, die Informationen über die Eigenschaften der möglichen Kommunikationswege erfasst und, basierend auf diesen Informationen und auf einer durch den Benutzer gegebenen Optimierungsbedingung, den Datenfluss vorzugsweise in der Form von Datenpaketen zwischen mindestens zwei dieser Kommunikationswege teilt. Zusätzlich umfasst jede Einheit eine entsprechende Empfangseinheit, die den über diese mindestens zwei Kommunikationswege übertragenen Datenfluss wieder zusammenfügt.
  • Der Benutzer oder die Anwendung 6, die das System gemäß der Erfindung verwenden, können beispielsweise die Kommunikation mit einer anderen Einheit anfordern, um einen Service 7 auf dem Internet zu erhalten. Normalerweise wird eine Anforderung dieser Art direkt an den Lieferanten dieses Services übertragen, der dann seine Antwort, falls vorhanden, über die gleiche Kommunikationsverbindung, auf der die Ausgangsanforderung übermittelt wurde, zurück sendet. In Ausnahmefällen ist die Antwortverbindung nicht die gleiche wie die Ausgangsverbindung aber in diesen Fällen wird die Wahl der Aufwärts- und Abwärts-Verbindung statisch bestimmt. Durch das Anordnen einer Empfangseinheit in der Form von z. B. einem Computer im Internet und durch Durchleiten sämtlicher Anforderungen und Antworten hierdurch, wird eine aktive Wahl der Kommunikationswege innerhalb des Systems möglich gemacht.
  • Der nachfolgende Benutzerfall beschreibt den Fluss von der Instanz, von der die Anforderung getätigt wird, bis zur Rückkehr der Ergebnisse. Der Benutzer führt anfangs einen Betriebsablauf in einer Anwendung durch, wodurch die Übertragung einer Anforderung verursacht wird (Schritt S1). Die Übertragungseinheit des Benutzers, d. h. der Client-Teil des Systems, verarbeitet die Anforderung und leitet sie über eine oder mehrere Kommunikationsverbindungen weiter an die Empfangseinheit, d. h. den Server-Teil des Systems, welcher wiederum an ein anderes Netz, wie zum Beispiel das Internet, angebunden sein kann. Gemeinsam mit der Anforderung werden auch andere Informationen, die vom Server benötigt werden, um die Übermittlung der Antwort auf die Anforderung zu optimieren (Schritt S2), übermittelt.
  • Der Server erhält dann die Anforderung (Schritt S3) und führt den angeforderten Service aus. Dies kann ein lokaler Service auf dem Server sein oder es kann einbeziehen, dass der Server wiederum eine Anforderung eines Services auf dem Internet übermittelt (Schritt S4).
  • Die Antwort auf die Anforderung wird dann durch den Server empfangen (Schritt S5), und die Antwort wird basierend auf den über die bestehenden Kommunikationsverbindungen erfassten Informationen geteilt und über mehrere Kommunikationsverbindungen an den Client zurückgesendet (Schritt S6). Wie nachfolgend detaillierter beschrieben werden wird, verwendet der Server für den Optimierungsbetriebsablauf Informationen über den Empfänger, die gemessene Übertragungsgeschwindigkeit und Informationen über den gegenwärtigen Preis in Bezug auf die verschiedenen Kommunikationswege, usw. Der Client empfängt dann Daten über die unterschiedlichen Kommunikationsverbindungen und fügt den Datenfluss wieder in seiner ursprünglichen Form zusammen (Schritt S7), und das Ergebnis wird an die Anwendung geliefert, die die Anforderung ausgegeben hat (Schritt S8).
  • Das System gemäß der Erfindung trifft eine aktive und „intelligente" Wahl von unterschiedlichen Kommunikationsverbindungen in beide Richtungen, was Optimierungsmöglichkeiten in Bezug auf mehrere unterschiedliche Kriterien zum Ergebnis hat.
  • In Fällen, in denen die Merkmale der Kommunikationsverbindungen gleich und statisch sind, ist keine Optimierung des Datenflusses notwendig (die Schritte S2 und S6 werden geändert).
  • Die Anwendung 6 könnte beispielsweise ein Mail-Programm, ein Browser oder irgendein anderes Programm, das Datenübertragung verwendet, sein. Die Übertragung gemäß der Erfindung wird vorzugsweise transparent für die Applikation durchgeführt, da die Teilung im Computer auf Protokollniveau stattfindet.
  • Der Client-Teil 1 kann in der Form eines Treibers für die Netzverbindung realisiert werden. Alle Kommunikationen mit dem Netz finden dann über diesen neuen Treiber statt, welcher folglich die Fähigkeit besitzt, den Fluss zu optimieren. Gemäß der Erfindung kann der Client beispielsweise die folgenden Informationen erfassen und auf sie zugreifen, nämlich:
    • – maximale und momentane Übertragungsgeschwindigkeiten in der entsprechenden Richtung, was eine Optimierung der Geschwindigkeit ermöglicht, indem bei großen Datenmengen Verbindungen mit hoher Geschwindigkeit die Priorität gegeben wird.
    • – Art des Abonnements und des liefernden Betreibers, Preissystem und gegenwärtige Tarife, was eine Preisoptimierung durch Auswahl der billigsten Kommunikationsverbindung, die zugleich eine ausreichende Übertragungsgeschwindigkeit bietet, ermöglicht,
    • – Identifizierung der verfügbaren Übermittlungsserver für die unterschiedlichen Kommunikationswege und ihre einzelnen gemeinsamen Merkmale, was eine Maximierung der Geschwindigkeit durch Auswahl eines Servers unter geringer Belastung und Preisminimierung durch Auswahl eines Servers, der sich an einem geographisch vorteilhaften Ort befindet, ermöglicht.
  • Die Kommunikationswege 35 bestehen aus einer Verbindung mit der Empfangseinheit, die eine gut definierte Schnittstelle mit dem Client-Teil hat. Vorzugsweise verwenden alle Kommunikationsverbindungen das gleiche Kommunikations protokoll, zum Beispiel TCP/IP, was das Verfahren der Übertragung von Datenpaketen über die verschiedenen Wege erleichtert. Die Kommunikationswege können aus Festnetzen, wie zum Beispiel lokalen Datennetzen (LAN), elektrischen Hauptleitungen oder Kabelfernsehnetzen, oder mobilen Netzen, wie zum Beispiel GSM-900 (Global Service Mobile 900), GSM-1800, GPRS (General Packet Radio Service), EDGE, WCDMA, Bluetooth und Funk-LAN bestehen. Wenn das System mobile Netze verwendet, ist es ebenfalls möglich, obwohl nicht obligatorisch, die mobilen Netze von unterschiedlichen Betreibern als separate Kommunikationswege zu verwenden. Wenn das Netz des gleichen Betreibers für mehrere Kommunikationsverbindungen verwendet wird, müssen letztere nicht notwendigerweise für die Übertragungskapazität im Wettbewerb stehen, wenn die Verbindung beispielsweise bei unterschiedlichen Frequenzen an die gleiche Basisstation oder an unterschiedliche Basisstationen stattfindet. In diesem Fall, liegt die Optimierung innerhalb der Spezifikationen der mobilen Netze und findet automatisch statt.
  • Es ist besonders vorteilhaft, das Datenübertragungsverfahren gemäß der Erfindung zu verwenden, wenn eine der Kommunikationseinheiten mit einem zusätzlichen Netz verbunden ist. Dieses zusätzliche Netz könnte ein Intranet, ein WAN (Wide Area Network), wie zum Beispiel das Internet, oder ein lokales Netz (LAN) sein, an das ein oder mehrere Computer angeschlossen sind. Die Einheit, die an das Netz angeschlossen ist, hat vorzugsweise eine oder mehrere Hochgeschwindigkeitsverbindungen mit dem Netz. Anforderungen werden empfangen oder weitergeleitet und die entsprechenden Antworten werden an den Client zurückgesendet. Der Server könnte beispielsweise die folgenden Informationen erfassen und folglich auf sie zugreifen, nämlich:
    • – maximale und momentane Übertragungsgeschwindigkeit in den entsprechenden Richtungen, was eine Geschwindigkeitsoptimierung durch Setzen einer Priorität auf Hochgeschwindigkeitsverbindungen ermöglicht;
    • – Art des Abonnements einschließlich Betreiber, Preissystem und gegenwärtige Tarife, was eine Preisoptimierung durch Auswahl der billigsten Kommunikationsverbindung, die zugleich eine ausreichende Übertragungsgeschwindigkeit bietet, ermöglicht.
    • – Identifizierung der Client-Kommunikationsverbindungen und ihrer einzelnen und gemeinsamen Merkmale, was eine Maximierung der Geschwindigkeit für Marktsegmentierung und gesteigerte Übertragungszuverlässigkeit ermöglicht.
    • – Benutzer- und Passwortidentifikation, was Prüfungen der Benutzeridentifikation und Autorisation ermöglicht.
  • Die externen Services, die auf den zusätzlichen Netzen verfügbar sind und mit denen der Benutzer auf diese Weise über das Übertragungssystem gemäß der Erfindung in Kontakt kommen kann, können hauptsächlich irgendeiner der bestehenden und zukünftigen über Netz gelieferten Services sein. Dies wird möglich gemacht, da alles, was benötigt wird, um den Service durchzuführen, durch die Anwendung als Eingabedaten zum Client geboten wird. Die Eingabedaten werden durch den Client-Teil in ihrer Originalform wiederhergestellt.
  • DURCH DIE SYSTEMEINHEITEN ERFASSTE INFORMATIONEN, WENN ERFORDERLICH
  • Im System gemäß der Erfindung findet eine „intelligente" Teilung der Daten und ein Wiederzusammenfügen davon sowie eine „intelligente" Wahl von unterschiedlichen Kommunikationsverbindungen zum Optimieren der Übertragung in Bezug auf unterschiedliche Kriterien statt. Um dies zu erreichen, ist es notwendig, dass jede der zwei Kommunikationseinheiten, d. h. die Client- und Server-Teile, den Datenfluss über eine Vielzahl von Kommunikationsverbindungen senden kann und dieses intelligente Teilen und Wiederzusammenfügen des Datenflusses durchführen kann. Diese intelligente Teilung wird möglich gemacht, da die Kommunikationseinheiten Informationen erfassen, die eine Optimierung der Übertragung von Daten zwischen den Einheiten, d. h. zwischen dem Client und dem Server, ermöglichen.
  • Eine Art von relevanter Information, die erfasst werden kann, ist der Preis. Unter Preis sind hierin einerseits die festen und andererseits die variablen Kosten zu verstehen. Die festen Preise können z.B. der Preis pro Anruf, pro Verbindung oder pro Monat sein. Der variable Teil bezieht sich auf einen pro Zeiteinheit oder pro Paket/Bit berechneten Preis. Normalerweise variieren die Preise sowohl kurz- als auch langfristig, und das erfinderische System verfügt über die Fähigkeit, diese Tatsache zu berücksichtigen. Die Preisinformation wird vorzugsweise im Server gespeichert und wird von dort an alle beteiligten Clients verbreitet. Die Preisangabe könnte eine bis auf weiteres gültige Eigenschaft haben oder nur für einen bestimmten Zeitraum gültig sein. Der ersten Preisangabe wird vorzugsweise eine Versionsnummer gegeben, was dem Client-Programm einen einfachen Zugriff auf die neuesten Angaben mit lediglich minimaler Kommunikation mit dem Server bietet.
  • Zusätzlich ist die Geschwindigkeit von herausragender Wichtigkeit. Die Geschwindigkeit ist hierin definiert als die pro Zeiteinheit übermittelte Datenmenge. Sie könnte Geschwindigkeit, so wie sie durch den Benutzer erfahren wird, und die Geschwindigkeit auf einer im System einge schlossenen Verbindung sein. Die meisten Netze, und insbesondere das Internet, bestehen aus einer großen Anzahl von Verbindungen von denen die schwächste weitgehend die Übertragungsgeschwindigkeit zwischen zwei Punkten bestimmt. Daraus folgt, dass die Geschwindigkeit des Flusses der empfangenen Daten der Geschwindigkeit der schwächsten Verbindung entspricht. Einige Verbindungen können in unterschiedlichen Richtungen unterschiedliche Geschwindigkeiten haben. Zum Beispiel ist es wahrscheinlich, dass GPRS anfangs auf der Aufwärts-Verbindung größere Kapazitäten bietet als auf der Abwärts-Verbindung.
  • Für jede Art von Kommunikationsverbindung ist ebenfalls eine maximale Paketgröße definiert. Zum Beispiel verwendet der CAN-Bus in Fahrzeugen Pakete mit einer Größe von 8 Bytes, während die Paketgröße in GPRS wahrscheinlich in einer Größenordnung von 300 Bytes liegen wird.
  • Für jede Verbindung zwischen zwei Punkten in einem Netz wird es immer eine bestimmte Mindestzeit für den Transport des Pakets geben. Diese Information ist interessant, da eine Anforderung oft genau innerhalb dieser Pakete untergebracht werden könnte und weil es in diesen Fällen vorteilhaft ist, die Verbindung zu verwenden, wo die Transportzeit die kürzeste ist. Die Transportzeit zum Client jedes Benutzers wird bei einer vorbestimmten Periodizität aktualisiert. Im Fall von GPRS ist die Zeitmessung vom Server zur Übermittlungseinheit (Gateway, GW) des Betreibers frei, während das Messen der Zeit bis hin zum Client Geld kostet. Aus diesem Grund wird die Transportzeit zum GW in diesem Fall vorzugsweise gemessen, um eine Standard-Gebühr für zusätzliche Zeit für die Kommunikation zwischen GW und Client einzuschließen. Wenn die Anzahl von GWs für GPRS pro Land beschränkt ist, wird die Information über die Transportzeit von einem Server zum GW von jedem Betreiber bei einer vorbestimmten Periodizität messbar und infolgedessen wird es für den Server möglich, diese Information zu speichern und sie für sämtliche Kommunikationen zum Benutzer, der GPRS-Einheiten hat, zu verwenden. Es gibt nichts, was eine häufigere Messung der Transportzeiten über die mobilen Verbindungen verhindern würde aber da dies teurer ist, ist es wünschenswert, zu vermeiden, dass dies so oft wie möglich getan wird. Von der Übermittlungszeit ist die Transportzeit im Fall von kleinen Datenmengen der dominierende Faktor während die Übermittlungszeit bei großen Datenmengen der entscheidende Faktor ist.
  • Eine wesentliche Information könnte ebenfalls die Identität und die Information über die im System enthaltenen Server sein. Es gibt mehrere Gründe, weswegen die Benutzer die Verwendung von unterschiedlichen Servern wünschen würden. Ein solcher Grund könnte beispielsweise ein zeitlich begrenzter Aufenthalt in einem anderen Land mit einem lokalen Server sein. Durch Verwendung dieses Servers kann die Verringerung der Übermittlungszeit möglich sein. Ein anderer Grund kann in der Steigerung der Systemsicherheit liegen und darin, dass das Verbinden und Trennen von Servern ohne Beeinträchtigung der Benutzer oder ohne dass die Benutzer dies überhaupt bemerken, ermöglicht wird. Das System benötigt ebenfalls Informationen über den geographischen Ort der Server und über die Kapazität der Verbindung mit dem Netz. Schließlich werden ebenfalls Informationen über die Kosten für die Verbindung des Servers mit dem Netz benötigt. Alle diese Informationen können mit der Tageszeit variieren. Zum Beispiel können einige Server nur während bestimmter Stunden zugänglich sein.
  • Es kann desgleichen von Interesse sein, eine Verbindung basierend auf anderen Gründen als dem Preis oder der Übertragungsgeschwindigkeit zu wählen. Wenn die Übertragungsverbindungen drei mobile Verbindungen aufweist, kann ein Betreiber zunächst eine Verwendung der Kapazitäten seines eigenen Netzes wünschen bevor er Kapazitäten von einem anderen Betreiber kauft. Diese Art von Information über die Prioritäten der Auswahl kann im Server gespeichert sein. Zusätzlich könnte es während dem Betrieb für den Benutzer möglich sein, eine Präferenz vorzunehmen, ob das System in Bezug auf den vorteilhaftesten Preis oder auf die höchste Geschwindigkeit zu optimieren ist, wie nachfolgend detaillierter beschrieben werden wird.
  • Wenn die Einheit des Benutzers konfiguriert wird, werden vorzugsweise ebenfalls einige Informationen eingegeben. Diese Informationen beziehen sich auf die Art der Verbindungen und die Informationen, die erforderlich sind, um damit zu kommunizieren. Dies umfasst ebenfalls Informationen in Bezug auf wie oft der Kunde den Server aktualisiert und über die Entwicklung der Kommunikation.
  • Zusätzlich kann es wichtig sein, den geographischen Ort des Kunden zu kennen. Wenn der Ort, an dem sich der Benutzer befindet, bekannt ist, wird es möglich, den vorteilhaftesten Server auszuwählen. Es könnte für den Benutzer ebenfalls möglich sein, seine geographische Lage selbst einzugeben.
  • Die nachfolgende Tabelle ist eine Zusammenfassung von Beispielen von Informationen, deren Erfassen für die im System gemäß der Erfindung enthaltenen Einheiten wertvoll sein könnte, wo solche Informationen erfasst werden können sowie, wie solche Erfassungstätigkeiten getätigt werden können.
  • Figure 00200001
    Zusammenfassende Tabelle über die Informationserfassung
  • OPTIMIERUNG DER DATENÜBERTRAGUNG
  • Das System ist komplex und es kann eine beträchtliche Anzahl von Parametern und Präferenzen haben, die das Optimierungsverfahren leiten. Die Optimierung basiert indes auf einer durch den Benutzer definierten Optimierungsbedingung. Diese Optimierungsbedingung könnte indes wiederum mehrere unterschiedliche Optimierungsparameter umfassen. In diesem Fall sollten indes unterschiedliche Prioritäten den unterschiedlichen Parametern zugeordnet werden, um ihre Wichtigkeit in Bezug aufeinander anzugeben. Nachstehend werden vier Beispiele von Optimierungsbereichen ausgeführt.
  • Gemäß dem ersten Beispiel wird die Optimierung basierend auf dem Parameter Preis vorgenommen, was oft erwünscht ist. Vorausgesetzt, dass alle notwendigen Informationen über den Preis in der vorhergehend angegebenen Art für jede einzelne Verbindung vorhanden sind, wird der Gesamtpreis für die entsprechende Verbindung berechnet. Eine der Verbindungen wird die billigste sein. Eine rein auf dem Preis basierende Optimierung wird daher zum Ergebnis führen, dass sämtliche Übertragungen auf der billigsten Verbindung durchgeführt werden. Da die Preise variieren können, kann dies indes während einem Übertragungsbetriebsablauf geändert werden.
  • Ein sehr wichtiger Optimierungsparameter ist die Übertragungsgeschwindigkeit. Die Geschwindigkeitsoptimierung kann basierend auf den folgenden Formeln durchgeführt werden: f (x1, x2,..., xn) = max (t1, t2,... tn) [1] ti = [t10 + s · x1 / vi) · h (xi) für i = 1, 2,..., n [2] h (xi) = 1 für xi > 0 und = 0 für xi <= 0 für i = 1, 2,..., n [3] x1 + x2 + ... + xn = 1 [4] 0 <= xi <= 1 für i = 1, 2,..., n [5]wenn n >= 2; wo xi die auf der Verbindung i übertragenen Teildaten sind; ti die Zeit vom Versand des ersten Pakets zum Empfang des letzten Pakets über die Verbindung i ist; t10 die Transportzeit zwischen Server und Cliennt in der entsprechenden Richtung auf der Verbindung i ist; vi die Übertragungsgeschwindigkeit auf der Verbindung i ist; und s die Gesamtmenge an zu übertragenden Daten ist.
  • Das Optimierungsverfahren ist in drei Teile geteilt: die Anforderung wird an den Server gesendet, der Server führt den Service durch und schließlich wird die Antwort an den Client zurückgeschickt. Im untenstehenden Text n=3.
  • Damit der Versand der Anforderung, in Teil 1, so schnell wie möglich erfolgt, wird sie an die Verbindung gesendet, die die kürzeste Transportzeit hat, d. h. min (t1, t2, t3). Die Information darüber, welche der Verbindungen die kürzeste Transportzeit hat, wird einerseits von den vorher gehenden Übertragungen und andererseits vom Verbindungsverfahren in Verbindung mit der laufenden Sitzung abgeleitet. Gemeinsam mit der Anforderung, sendet der Client ebenfalls Informationen über die Geschwindigkeit (v1, v2, v3) mit der der Client die vorhergehende Übertragung auf der entsprechenden Verbindung erhalten hat.
  • Die Zeit, die der Server benötigt, um den Service durchzuführen, d. h., Teil 2, ist außerhalb der Kontrolle des Systems und wird vorzugsweise nicht durch den Optimierungsalgorithmus verarbeitet.
  • Das in Teil 3 vom Server an den Client zu versendende Ergebnis ist zwischen den drei Verbindungen des Systems aufzuteilen. Während der Anforderung des Clients in Teil 1, wurden Informationen über die neuesten Empfangsgeschwindigkeiten des Clients gesendet. Diese zwei Informationen werden gemeinsam mit den Transportzeitdaten in Bezug auf die drei Verbindungen verwendet, um [1] in Bezug auf x1, x2, x3 gemäß den sekundären Bedingungen [4] und [5] zu minimieren. Mit anderen Worten besteht das Ziel darin, die für das letzte empfangene Paket benötigte Zeit zu minimieren, was zu einer prozentualen Teilung des Datenflusses zwischen den unterschiedlichen Verbindungen führt.
  • f ist eine Funktion in R3. Die sekundäre Bedingung [4] ist eine Ebene, die in A=(1, 0, 0), B=(0, 1, 0) und C=(0, 0, 1) geschnitten wird. [5] verursacht eine Begrenzung des definierten Satzes von f für die dreieckige Fläche, die durch A, B und C definiert wird. Das Maximum von t1 ist bei A und fällt linear in Richtung der Linie BC und auf der Linie BC wird es unstetig Null; das Maximum von t2 ist bei B und fällt linear in Richtung der Linie AC und auf der Linie AC wird es unstetig Null; das Maximum von t3 ist bei C und sinkt linear in Richtung der Linie AB und auf der Linie AB wird es unstetig Null. In Fällen, in denen sich die Größenordnungen der drei Transportzeiten entsprechen, wird eine unzweideutige Lösung x1, x2, x3 irgendwo zwischen A, B und C und t1 = t2 = t3 erhalten. Wenn beispielsweise t10 >= t30 + s / V2 und t10 >= t30 + s/v3, wird eine Lösung irgendwo auf der Linie zwischen B und C, d. h. x1=0 erhalten. Wenn sowohl t20>= t10 + s / V1 und t30 >= t10 + s/v1, wird eine Lösung in Punkt A erhalten, d. h. x1=1 und x2=x3=0.
  • Der Client informiert den Server über die gemessenen Werte von v1, wenn eines der beiden Kriterien erfüllt wird, nämlich: entweder eine vorbestimmte Menge von Daten wurde empfangen oder eine vorbestimmte Zeit ist abgelaufen. Diese beiden Parameter werden durch den Benutzer eingestellt. Dementsprechend kann der Server die Auswahl von Kommunikationsverbindungen während schnellen Änderungen der Übertragungsgeschwindigkeiten über die unterschiedlichen Verbindungen anpassen. Kleine Mengen an Daten werden denjenigen Verbindungen die Präferenz geben, die die kürzeste Transportzeit aufweisen, während große Mengen an Daten vorzugsweise über Hochgeschwindigkeits-Übertragungsverbindungen gesendet werden. Sollte die Funktion einer Verbindung unterbrochen werden, wird der Server als Ergebnis daraus, dass v1 auf Null vermindert wird, dementsprechend informiert, was de facto das Sperren der Verbindung verursacht. Sollte der Client später herausfinden, dass die Kommunikation über diese Verbindung wieder aufgenommen wurde, wird der Server dementsprechend informiert und die Verbindung wird erneut in Betrieb genommen.
  • Wie vorhergehend erwähnt, ist es ebenfalls möglich, mehrere Optimierungsparameter innerhalb des Bereichs der Erfindung zu kombinieren. Beispielsweise können Geschwindigkeit und Preis kombiniert werden. Um Kompromisslösungen zu ermöglichen und es somit möglich zu machen, genau die Kapazität zu bieten, die der Kunde bereit ist zu bezahlen, wird dem Benutzer eine Option angeboten, die es ihm erlaubt zu wählen, wie der Preis und beziehungsweise die Geschwindig keit im Optimierungsverfahren gewichtet werden sollten. Oft sind Preis und Geschwindigkeit Gegensätze, d. h. es ist nicht möglich, gleichzeitig den niedrigsten Preis und die höchste Übertragungsgeschwindigkeit zu erreichen. Die Extreme der Optimierung von Preis und beziehungsweise Geschwindigkeit wurden vorhergehend beschrieben. Die Kombination davon kann durch einfache Linearisierung hergestellt werden, wie in 7 gezeigt. Zur linken Seite in der Figur der Zeichnung, werden alle Daten auf der billigsten Verbindung gesendet. Zur rechten Seite werden die Daten geteilt in der Art, die die vorteilhafteste Übertragungsgeschwindigkeit, wie in der vorhergehend beschriebenen Art berechnet, bereitstellt, übertragen.
  • Die Optimierung kann ebenfalls basierend auf der Wahl des Servers erfolgen. Das nachfolgende Verfahren wird beispielsweise befolgt, wenn ein System, das aus drei mobilen, über mehrere GWs mit dem Internet verbundenen, Verbindungen besteht, gestartet wird. Der Client verbinde sich mit dem gleichen Server wie bei der letzten Instanz der Verwendung. Der Server sieht dann, mit welchem Betreiber-Gateway der Client kommuniziert. Der Server informiert alle anderen Server, dass er einen Client über das GW von einem bestimmten Betreiber hat. Alle anderen Server messen dann die Transportzeit zum gleichen GW und das Ergebnis wird an den ursprünglichen Server gesendet. Der ursprüngliche Server sieht, ob ein anderer Server eine vorteilhaftere Transportzeit zu diesem GW bieten kann. Sollte ein Server in der Lage sein, dem GW des Betreibers eine wesentlich bessere Transportzeit zu bieten, überträgt der Server diesem Server die Verantwortung.
  • Die Transportzeiten der Server zu den geläufigsten Gateways werden indes eher statisch sein und infolgedessen könnte es Gründe geben, die entsprechenden Daten in jedem Server zu speichern.
  • BEISPIELE VON ALTERNATIVEN AUSFÜHRUNGSFORMEN
  • Die fünf Komponenten, die in der Ausführungsform des Systems gemäß der vorhergehend beschriebenen Erfindung (Anwendung, Client-Teil, Verbindung, Netz und Server) enthalten sind, können auf unterschiedliche Arten physisch kombiniert werden und somit unterschiedliche Verwendungsgebiete und Funktionen bereitstellen.
  • Gemäß einer Ausführungsform, die in 2 veranschaulicht wird, sind die Anwendung 6 und der Client-Teil 1 in einer Einheit, zum Beispiel einem tragbaren Computer, integriert, d. h. die Steuerungsroutinen zur Teilung von Daten usw. sind auf dem Computer installiert. Die geteilten Daten werden über Kabel oder auf drahtlose Art an die Kommunikationseinheit gesendet, welche in diesem Fall eine physische Einheit ist, die mehrere unabhängige Telefoneinheiten 1a–c umfasst. Vorzugsweise sind die Telefoneinheiten in nächster Nähe voneinander angeordnet und sie teilen vorzugsweise die gleiche Stromquelle aber sie kommunizieren ansonsten nicht miteinander. Der Datenfluss wird nur durch die Telefoneinheiten weitergeleitet, die in den Kommunikationseinheiten zum Netz der entsprechenden Kommunikationsverbindung eingeschlossen sind. Die Netze der Kommunikationsverbindungen sind mit stationären Netzen wie dem Internet verbunden, wo der empfangende Serverteil 2 angeordnet ist.
  • Gemäß einer alternativen Ausführungsform, die in 3 gezeigt wird, sind die Applikation 6 und der Client-Teil 1 auf die gleiche Art miteinander verbunden, wie in der vorhergehenden Ausführungsform. In diesem Fall sind die verschiedenen Kommunikationseinheiten 1a–c indes nicht in eine physische Einheit integriert sondern bilden separate Einheiten. Wenn der Benutzer über mehrere parallele Leitungen mit dem Internet kommunizieren möchte, selbst aber nur mit einer Kommunikationsverbindung dazu beitragen kann, könnten mehrere Verbindungen durch Leihen von Kapazitäten von benachbarten Kommunikationseinheiten verfügbar gemacht werden. Diese könnten das Leihen von Kapazitäten im Voraus akzeptiert haben oder sonst könnte die Frage der Vergütung mittels eines intelligenten Zahlungssystems gelöst werden. Um eine Übertragung zwischen dem Client-Teil des Benutzers und den verschiedenen Kommunikationseinheiten zu ermöglichen, die so zweckdienlich wie möglich ist, wird vorzugsweise eine drahtlose Übertragungsart verwendet. Die verschiedenen Kommunikationsverbindungen müssen indes in diesem Fall nicht von der gleichen Art sein. Zum Beispiel können Modems, elektrische Hauptleitungen oder Kabelfernsehen als Kommunikationsverbindungen verwendet werden.
  • In einer weiteren Alternative, die in 4 gezeigt wird, ist der Client-Teil 1 mit einer oder mehreren Kommunikationseinheiten 1a–c in der gleichen Einheit verbunden. Auf diese Art wird eine unabhängige Einheit geschaffen, die die Fähigkeit besitzt, einerseits mit einer separaten Anwendung 6 und andererseits in Richtung eines Netzes einer separaten Kommunikationsverbindung zu kommunizieren. Somit wird eine separate Kommunikationseinheit möglich gemacht, die keine andere Funktion hat, außer die Daten auf intelligente Weise zwischen unterschiedlichen Leitungen zu teilen. Die Anwendung muss separat angeschlossen werden, beispielsweise über einen seriellen Anschluss.
  • Die Anwendung 6, der Client-Teil 1 und die Kommunikationseinheit 1a–d könnten ebenfalls drei physisch separate Einheiten sein. Somit kann der Client-Teil die Rolle „der Spinne im Zentrum des Spinnennetzes" spielen und einerseits in Kontakt mit den entsprechenden Anwendungen 6 von einem oder mehreren Benutzern und andererseits mit einer oder mehreren Kommunikationsverbindungen 1a–d sein. Diese Situation ist schematisch in 5 veranschaulicht. In diesem Fall koordiniert der Client-Teil die Daten von den unterschiedlichen Benutzern und optimiert die Verwendung der unterschiedlichen Kommunikationsverbindungen. Ein typisches Verwendungsfeld ist eine Gruppe von Benutzern, beispielsweise Berater, die einen Kunden besuchen, die ein und dasselbe Kommunikationsverfahren teilen möchten.
  • Als Alternative könnte die Anwendung 6, der Client-Teil 1 und die Kommunikationseinheit 1a–c ebenfalls in einer gemeinsamen Einheit integriert sein, wie in 6 gezeigt. Diese Einheit verfügt somit über die Fähigkeit, sämtlichen Bedürfnissen des Benutzers auf der Client-Seite gerecht zu werden. Physisch kann das Produkt einem kleinem Handheld-Computer ähnlich sein, der mehrere mobile Telefonantennen hat oder ein Telefon, das als mobiles Laptop-Modem verwendet werden kann.
  • Die physische Einheit, die verwendet werden könnte, um Daten über vielfache Leitungen zu übertragen, könnte somit wie folgt ausgeführt werden: Das Terminal hat vielfache parallele Leitungen auf einer oder mehreren Leiterplatten in einer physischen Einheit. Dementsprechend können die Leitungen des Terminals aus mehreren separaten Telefoneinheiten bestehen, von denen jede ihre eigene SIM-Karte hat. Als Alternative kann eine gemeinsame SIM-Karte für eine Anzahl von Leitungen verwendet werden. Die Einheit ist ebenfalls ausgestattet mit einer Übertragungsstufe und einer Antenne pro Leitung. Auch in diesem Fall ist es als Alternative möglich, die Übertragungsstufe und/oder die Antenne zwischen mehreren Leitungen zu teilen. Während die Leitungen des Terminals somit separat sind, können sie indes vorzugsweise die gleiche Batterie und das gleiche Gehäuse teilen. Die unterschiedlichen Leitungen im Terminal verfügen vorzugsweise ebenfalls über die Fähigkeit zur internen Interkommunikation, was bestimmte Informationen betrifft, wie zum Beispiel die Steuerungsinformationen, derart, dass nicht alle Leitungen gleichzeitig auf der maximalen Leistung übermitteln, was die Batteriekapazität übersteigen könnte. Die unterschiedlichen Leitungen können den gleichen Bluetooth, Pufferspeicher, usw. teilen. Die verschiedenen Leitungen des Terminals können aus der gleichen Art von Einheiten oder sonst aus unterschiedlichen Einheiten bestehen, wie zum Beispiel, drei GPRS-Einheiten, zwei GPRS-Einheiten und eine EDGE-Einheit, eine GPRS-Einheit, eine EDGE-Einheit und eine W-CDMA-Einheit.
  • Das Terminal kann darauf ausgerichtet sein, nur Daten zu übertragen aber es könnte ebenfalls herkömmliche Mobiltelefonfunktionen haben, d. h. es kann als ein herkömmliches Mobiltelefon verwendet werden. Das Terminal, das vielfache Leitungen hat, könnte ebenfalls die Funktion eines Handheld-Computers umfassen, d. h. der Computer und das Terminal könnten in einer Einheit gebaut sein.
  • In einigen Anwendungen besteht ein Bedarf an Übertragungen mit Geschwindigkeiten, die höher sind, als diejenigen, die durch herkömmliche Netzwerkschnittstellenkarten bewältigt werden können. Um höhere Geschwindigkeiten zu erhalten, wird es notwendig, leistungsfähigere Netzwerkschnittstellenkarten zu vielfach höheren Kosten zu kaufen. Die Erfindung macht es möglich, dieses Problem mit einem Bruchteil der Kosten zu lösen, durch Übertragen von Daten auf mehreren parallelen Leitungen, wobei die Karten Standard-Netzwerkschnittstellenkarten sind.
  • AUSFÜHRUNGSBEISPIELE DER ERFINDUNG
  • Nachfolgend wird eine Ausführungsform beschrieben, die mehrere Übertragungsleitungen parallel verwendet. Insbesondere richtet sich die Ausführungsform auf eine paketbasierte parallele Datenübertragung, die auf einer Client/Server-Lösung basiert, wo das Betriebssystem, hier das Netzwerkteilsystem von Windows NT, derart verändert wird, dass der TCP/IP-Stack über die Fähigkeit verfügt, transparent Pakete über mehrfache Übertragungsleitungen zu senden. Das gleiche Verfahren wird wiederholt für den Dateneingang, d. h. der TCP/IP-Stack ist sich dessen nicht gewahr, dass die Pakete parallel übertragen werden.
  • In dieser Ausführungsform wird Windows NT als das Betriebssystem des Systems verwendet. Das Teilsystem von Windows, das für die Handhabung der unteren Schichten der Vernetzung zuständig ist, wird NDIS-Wrapper genannt (NDIS = Network Device Interface Specification) und stellt die Schnittstelle zwischen den verschiedenen Teilen des Netzwerks bereit. Die Teile selbst sind als Miniports vertreten, in der Regel in der Form von Dateien mit der Endung „SYS". Diese Einheiten-Treiber können in zwei Kategorien unterteilt werden, Protokolle und Adapter. Der NDIS-Wrapper ist für das Laden dieser Treiber und für das Aufzeichnen, welche Protokolle welche Adapter verwenden, verantwortlich. Dies ist ebenfalls als Binding bekannt, d. h. ein Protokoll verbindet sich mit einem oder mehreren Adaptern.
  • Die Protokoll-Einheiten-Treiber führen ein spezifisches Kommunikationsprotokoll auf der Transportschicht, d. h. IP aus. Sie sind verantwortlich für die Reihenfolgesicherung eines Datenflusses in Paketen und das Framing dieser Pakete. Unter Framing ist hier das Verfahren des Hinzufügens von Kopfinformationen zum Paket gemeint.
  • Die Treiber der Adaptereinheit sind verantwortlich für die Übermittlung von Datenblöcken an das physische Medium. Sie sind ebenfalls verantwortlich für die Signalisierung an die oberen Schichten, wenn eingehende Daten verfügbar sind.
  • Der TCP/IP-Stack auf Windows NT ist die Komponente, die für die Ausführung des IP-Protokolls und der verbundenen Services verantwortlich ist, z.B. TCP und UDP. Das Protokoll selbst erfordert eine IP-Adresse für jeden Adapter an das es sich bindet. Der Stack verfügt ebenfalls über die Fähigkeit der IP-Übermittlung, was bedeutet, dass sämtliche IP-Pakete, die mit einer Zieladresse eintreffen, die nicht eine des lokalen Adapters ist, an einen anderen Computer „weitergeleitet" werden. Der TCP/IP-Stack entscheidet, welcher Adapter zu verwenden ist, wenn IP-Pakete basierend auf den Inhalten einer Routingtafel gesendet werden. Diese Tafel enthält eine Liste von IP-Adressen und verbundenen Masken, d. h. Werte, die angeben, welche Teile der entsprechenden IP-Adresse während dem Ausführen der Routingberechnungen als gültig betrachtet werden sollen.
  • Es wird bevorzugt, dass das System so transparent wie möglich ist. Dies könnte ausgeführt werden durch Erzeugen eines sogenannten NDIS-Intermediate-Treibers. Ein solcher Intermediate-Treiber ist ein Treiber, der zwischen bestehenden Protokollen und Adaptern angeordnet ist. Sie treten für Protokolle als Adapter und für Adapter als Protokolle auf. Der Intermediate-Treiber gemäß der Erfindung wird ein Protokoll-Adapter-Modul (PAM) genannt. Das PAM verwendet bei der Kommunikation mit den Übertragungsverbindungen Adapter, die als Network Driver Modules (NDM) bekannt sind. Ein NDIS-Wrapper mit installierten PAM und NDM ist in 8 veranschaulicht.
  • Das PAM bindet sich an die geeigneten Adapter und/oder NDMs. Es zeigt sich dann als ein Netzadapter und wird anschließend an das/die darüberliegenden Protokoll (e) gebunden. Es ändert und splittet, wenn nötig, die abgehenden Pakete und fügt den gesplitteten Paketen (auch Fragmente genannt) bestimmte Kopfdaten hinzu. Es zeichnet auf, welche NDMs aktiv sind und welches ihre Übertragungsleistungen sind. Es verwendet dies dann als eine Basis beim Senden der Fragmente. Es bildet eine Warteschlange mit den eingehenden Fragmenten und fügt diese, wenn nötig, wieder zusammen, bevor es sie an die verbundenen darüberliegenden Protokolle weiterleitet.
  • Vorzugsweise ist ein NDM für jede logische Verbindung vorhanden. Diese sind entweder Standard-Miniports, die durch den Hersteller der Hardware bereitgestellt werden, oder speziell entwickelt, wenn kein regulärer Miniport vorhanden ist. In beiden Fällen werden sie vorzugsweise als Standard-NDIS-Adapter ausgeführt.
  • Alle Einheiten-Treiber könnten als Dynamic Link Libraries (DLL) ausgeführt sein.
  • In einer bevorzugten Ausführungsform ruft der NDIS die Treiber während der Binding-Phase auf, wenn es die Registry analysiert. Die Adapter empfangen einen einzelnen Aufruf an ihre Initialisierungsroutine, zu welchem Zeitpunkt sie das Anfordern von Hardwareressourcen versuchen und Kontakt zu ihren NIC (Netzwerkschnittstellenkarten) aufnehmen sollen. Andererseits erhalten die Protokolle einen Aufruf für jeden Adapter, mit dem sie verbunden sind. Dies ermöglicht es ihnen, einen Speicherbereich zuzuteilen, in dem sie Zustandsinformationen für jeden Adapter speichern können.
  • Die Adapter werden durch die NDIS auf ihre Ressourcen abgefragt, z.B. maximale Paketgröße, unterstützte Medien, Verbindungsgeschwindigkeit, usw. NDIS verwendet diese Informationen bei der Verarbeitung von Paketen.
  • Wenn ein Protokoll ein Paket durch NDIS sendet, wird erwartet, dass der Adapter, der für die tatsächliche Übertragung zuständig ist, dem Protokoll signalisiert, wann er das Senden des Pakets beendet hat. Durch Aufrufen einer Funktion in NDIS mit einem Pointer auf das entsprechende Paket wird dies ausgeführt. Dieses Verfahren ist bekannt als das Vervollständigen des Pakets.
  • Wenn der TCP/IP-Stack das Öffnen und Initialisieren seiner Adapter beendet hat, sendet er eine ARP (Address Resolution Protocol) Anforderung mit der IP-Adresse, die diejenige des/der lokalen Schnittstelle(n) ist. Er tut dies, um herauszufinden, ob irgendwelche Konflikte in den erreichbaren Netzen sind. Wenn keine Antwort erhalten wird, nimmt der Stack an, dass kein Konflikt vorhanden ist und aktiviert den Adapter. Wenn hingegen eine ARP-Antwort empfangen wird, ist offensichtlich ein Konflikt vorhanden, und das TCP/IP druckt eine Fehlermeldung und sperrt den Adapter.
  • Wenn das TCP/IP ein Paket sendet, muss es zwei Dinge wissen: welcher Adapter zu verwenden ist und welche Ethernet-Adresse für die Zieladresse zu verwenden ist. Die Ethernet-Adresse wird mittels einer ARP-Anforderung abgefragt und wird in einer Tafel gespeichert. Der zu verwendende Adapter wird durch Abfrage der Routingtafel bestimmt.
  • Ein Eintrag in der Routingtafel umfasst vorzugsweise die folgenden Informationen:
    • – Netzwerkziel: Dies ist die IP-Zieladresse.
    • – Netzwerkmaske: Bevor irgendwelche Vergleiche basierend auf der IP-Adresse vorgenommen werden, wird zuerst ein logisches UND zwischen ihr und dem Netzwerkmaskenwert durchgeführt. Dies ermöglicht es, Vergleiche basierend auf Gruppen von Werten anstatt auf jeweils nur einem Wert gleichzeitig vorzunehmen.
    • – Gateway: Dies ist die IP-Adresse des „Gateways", d. h. des Hosts, der weiß, wohin die Pakete mit einer IP-Adresse, die zu derjenigen des Netzwerkziels passt, zu senden sind.
    • – Schnittstelle: Die Schnittstelle ist die IP-Adresse des Adapters, der für das Senden des Pakets verantwortlich ist.
    • – Metrik: Die Metrik ist ein einfacher Wert, der beim Wählen der zu verwendenden Schnittstelle verwendet werden würde, wenn mehr als eine für den jeweiligen Weg möglich wäre.
  • DAS ÜBERTRAGUNGSVERFAHREN
  • Das System gemäß dem Beispiel besteht im Grunde aus zwei Datenflüssen in zwei Richtungen; einer, der vom darüberliegenden Protokoll abgeht und einer, der vom darunterliegenden NDMs eingeht. Es könnten indes ebenfalls mehrere eingehende und abgehende Flüsse verwendet werden. Die Datenflüsse werden als Pakete empfangen und gesendet. Jedes der eingehenden Pakete wird in Fragmente gesplittet, wenn es zu groß ist, um in ein einzelnes NDM-Paket zu passen. Das Fragment (das aus einem einzelnen Paket bestehen kann, wenn das Paket klein genug ist) hat Kopfdaten, die ihm hinzugefügt werden, bevor es zur weiteren Übertragung an ein NDM gesendet wird. Dies wird in 9 schematisch veranschaulicht.
  • Das Verfahren wird für die eingehenden Fragmente in umgekehrter Reihenfolge wiederholt, außer, dass aus vielfachen Fragmenten bestehende Pakete in einer Liste gespeichert werden, bis sämtliche Fragmente, die zu einem bestimmten Paket gehören, eingetroffen sind. Wenn ein bestimmter Zeitraum vergeht, ohne dass irgendwelche Fragmente, die zu dem teilweise wieder zusammengefügten Paket gehören, ankommen, wird das Paket als verloren betrachtet und alle Fragmente, die zu ihm gehören, werden ausgeschieden.
  • EIN BEISPIEL EINES ERFINDERISCHEN PROTOKOLL-ADAPTER-MODULS (PAM) GEMÄß DER ERFINDUNG
  • Das PAM ist verantwortlich für die „Eins-zu-Viele"-Schnittstelle, d. h. es wirkt als ein einzelner Ethernet-Adapter für NDIS, aber es verbindet sich an mehrere Adapter unter ihm. Ein PAM wird durch den Client-Computer verwendet aber auch durch den Router-Gateway. Der einzige Unterschied zwischen ihnen ist, dass das PAM auf dem Router-Gateway sich an einen Ethernet-Adapter bindet sowie an das serielle NDM und ARP-Anforderungen, die die IP-Adresse des Clients betreffen und von anderen Computern als dem Router-Gateway kommen, auffängt und auf sie antwortet.
  • Das PAM gemäß der Erfindung umfasst vorzugsweise die folgenden Klassen von Objekten. Die funktionelle Beziehung zwischen diesen Klassen im PAM wird in 10 veranschaulicht.
    • – Main: Dies ist die Klasse, die für die Erzeugung von allen anderen Objekten verantwortlich ist. Sie umfasst ebenfalls die globale Treibereingangsfunktion, die durch NDIS aufgerufen wird sobald der Einheiten-Treiber geladen ist. Das Main-Objekt erzeugt alle anderen Objekte und speichert ihre Adressen in öffentlichen Pointern. Die anderen Objekte verfügen über die Fähigkeit, über diese Pointer unter Verwendung eines globalen Pointers auf das Main-Objekt aufeinander zuzugreifen.
    • – SplitJoin: Diese Klasse ist die „Spinne im Netz". Sie empfängt abgehende Pakete vom UpperAdapter und splittet diese Pakete, wenn nötig, in kleinere Pakete, die Fragmente genannt werden. Sie lässt dann das Framing fragmentspezifische Header hinzufügen, bevor der durch den Router bestimmte LowerAdapter aufgerufen und aufgefordert wird, das Fragment zu senden. Es lässt ebenfalls Arp falsche APR-Antworten aufbauen und sendet diese zurück an UpperAdapter. Das Verfahren wird für eingehende Fragmente in umgekehrter Reihenfolge wiederholt; das Framing überprüft sie und entfernt die unnötigen Kopfdaten. Die Fragmente werden dann in einer Liste gespeichert und es wird gewartet, bis die anderen Fragmente, die das Originalpaket bilden, eintreffen. Wenn das gesamte Paket empfangen wurde, baut SplitJoin dieses wieder zusammen und lässt Framing einen Ethernet-Header hinzufügen, bevor es an UpperAdapter gesendet wird.
    • – Router: diese Klasse entscheidet, welches NDM das nächste Paketfragment bekommen wird. Sie verwendet Daten von den Statistics Objekten und vergleicht Übertragungsgeschwindigkeiten, Kosten, usw. Von jetzt an teilt der Algorithmus einfach das erste Paket dem ersten NDM, das zweite Paket dem zweiten NDM, usw., nach Round-Robin-Art zu.
    • – Framing: Die Framing-Klasse stellt eine Funktion bereit, die verwendet wird, wenn die Fragment-Header den ihr durch SplitJoin übergebenen Paketen hinzugefügt werden. Sie überprüft ebenfalls die Integrität der eingehenden Fragmente und entfernt die Header. Wenn Split-Join eingehende Pakete an den TCP/IP-Stack sendet, fügt Framing die falschen Ethernet-Header hinzu. Um dies durchzuführen, fragt es Config nach der falschen Ethernet-Adresse des PAM ab.
    • – Arp: Diese Klasse stellt eine Funktion bereit, die verwendet wird, wenn die Ethernet-ARP-Anforderungen ermittelt werden und darauf geantwortet wird. Da TCP/IP nichts senden wird, bevor es eine Ethernet-Adresse erhalten hat, die der IP-Zieladresse entspricht, muss eine „falsche" Ethernet-Adresse bereitgestellt werden. Zugleich ist es nicht erwünscht, falsche Ethernet-Adressen für irgendetwas anderes als die IP der Clients bereitzustellen. Somit muss Arp Config nach der IP-Adresse des Clients abfragen.
    • – UpperAdapter: Dies ist die Klasse, die die „eine" Schnittstelle bereitstellt. Sie ist verantwortlich für die obere Kommunikation mit den Protokollen, die mit dem PAM verbunden sind, z.B. TCP/IP. Sie informiert NDIS, dass sie ein „spät verbindender" Adapter ist, d. h. sie wird bei NDIS nicht als ein Ethernet-Adapter registriert werden, bevor nicht mindestens ein NDM mit dem Protokollteil des PAM verbunden ist. UpperAdapter ist ebenfalls verantwortlich für die Bearbeitung von Abfragen von NDIS, wie zum Beispiel die Ethernet-Adresse des PAM, die Verbindungsgeschwindigkeit, die unterstützte maximale Paketgröße, usw.
    • – LowerAdapter: Diese Klasse stellt die unteren Adapter, die mit dem PAM verbunden sind, dar. Da das Protokoll für das Beibehalten der Zustandsinformationen für seine Adapter verantwortlich ist, erzeugt Protocol eine Instanz von dieser Klasse für jedes sich verbindende NDM. Ihre Hauptverantwortlichkeit ist die Benachrichtigung von SplitJoin über eingehende Pakete. Im veränderten PAM auf dem Router-Gatewaycomputer in der Prototype Test Configuration, wird ein spezieller LowerAdapter für die Ethernet-Karte, die bei der IP-Übermittlung verwendet wird, erzeugt. Die einzige Aufgabe dieses LowerAdapters liegt darin, die ARP-Anforderungen von anderen Computern in Bezug auf das IP des Clients aufzufangen. Da ARP-Anforderungen nicht an den Client weitergeleitet werden, erzeugt das PAM eine ARP-Antwort und sendet diese zurück, ohne dass sie die TCP/IP-Schicht erreicht.
    • – Protocol: Diese Klasse stellt den Protokollteil des PAM dar. Während der Binding-Phase, wird sie durch NDIS benachrichtigt, wann sie die mit ihm verbundenen Adapter öffnen sollte. Sobald sie das erste NDM geöffnet hat, ruft sie den UpperAdapter auf und informiert ihn, dass er seine Schnittstelle dem NDIS zur Verfügung stellen kann.
    • – Statistics: Für jeden LowerAdapter gibt es ein Statistics-Objekt, und sie haben eine Eins-zu-Eins-Beziehung. Das Statistics-Object wird jedes Mal durch seinen LowerAdapter-Partner aufgerufen, wenn er ein Paket sendet oder empfängt. Es wird ebenfalls über schlechte oder unvollständige Pakete, usw., informiert. Das Router-Objekt fragt das Statistics-Objekt ab, wenn es entscheidet, welcher LowerAdapter beim Senden des nächsten Pakets verwendet werden wird.
    • – Control: Dies ist die Klasse, die verantwortlich ist für die Kommunikation mit anderen Verfahren. Sie tut dies, durch Antworten auf die Device IO Control Codes, oder IOCTLs (Device Input Output Control Code). Diese werden zum Beispiel durch die Benutzerschnittstelle gesendet, wenn sie anfordert, dass ein Übertragungsparameter geändert werden soll.
    • – Config: UpperAdapter ruft bei seiner Initialisierung diese Klasse auf. Dies ermöglicht es ihm, die PAM-spezifischen Parameter, die in der Registry gespeichert sind, zu lesen. Er wird ebenfalls durch die LowerAdapter aufgerufen und liest Parameter, die auf pro-NDM-Basis gespeichert sind. Solche Parameter könnten der zu verwendende COM-Port, die Übertragungsgeschwindigkeit, inaktiv bei Start, usw., sein.
  • EIN BEISPIEL EINES ERFINDERISCHEN NETWORK DRIVER MODULES (NDM) GEMÄß DER ERFINDUNG
  • Das NDM erscheint dem NDIS vorzugsweise als ein Ethernet-Adapter. Das NDM gemäß der Erfindung umfasst die folgenden Klassen von Objekten. Diese Klassen und die Beziehung zwischen ihnen sind in 11 veranschaulicht.
    • – Main: Dies ist die Klasse, die für die Erzeugung von allen anderen Objekten verantwortlich ist. Sie umfasst ebenfalls die Treiber-Eingangsfunktion. Das einzige globale Symbol im NDM ist ein Pointer auf das Main-Objekt. Es hat wiederum öffentliche Pointer zu allen Instanzen der anderen Objekte. Main nimmt nicht an irgendwelchen Aktionen teil, nachdem die anderen Objekte initialisiert wurden; es wirkt lediglich als „globaler" Datenbereich.
    • – Adapter: Diese Klasse stellt die NDIS-Adapterschnittstellen-Callbacks bereit. Es öffnet den darunter liegenden seriellen Anschluss durch die Verwendung des Serials's Open Verfahrens. Der Adapter umfasst ebenfalls Callbacks die durch Serial aufgerufen werden, wenn es Benachrichtigungen über neue eingehende Pakete oder die vervollständigte Sendung eines abgehenden Pakets bereitstellt. Gesendete Pakete werden dann zu NDIS vervollständigt.
    • – Arp: Diese Klasse analysiert Pakete, die vom darüberliegenden Protokoll empfangen werden. Wenn es sich als eine Ethernet-ARP-Anforderung herausstellt, stellt Arp Verfahren zum Konstruieren einer entsprechenden ARP-Antwort bereit. Da das PAM ARP-Anforderungen abfängt, bevor sie das NDM erreichen, wird die Funktion dieser Klasse nicht verwendet, wenn das NDM nur mit dem PAM verbunden ist.
    • – Serial: Diese Klasse ist direkt verantwortlich für die Übersetzung und Übermittlung der Paketdaten über das RS-232-Medium. Es sendet zuerst den Serial-Test-Protocol-Header, gefolgt von den Paketdaten selbst. Dieses Sendeverfahren wird auf asynchrone Art durchgeführt. Es empfängt ebenfalls (und, wenn die Synchronisierung verloren geht, synchronisiert es erneut) die Daten, die in die entgegengesetzte Richtung übertragen werden. Diese Daten werden dann als ein Chunk an den Callback, der beim Initialisieren der Serial-Klasse durch die Verwendung des Open-Verfahrens angegeben wurde, weitergeleitet. Die Daten, die an das E-/A-Teilsystem gesendet oder von ihm empfangen wurden, werden durch die I/O Request Packets (IRPs), eine Datenstruktur, die in Windows NT von allen Kernelkomponenten verwendet wird, übermittelt.
  • Die Ausführungen für das vorhergehend vorgestellte PAM und NDM sind indes nur ein Beispiel und mehrere Alternativen sind möglich. Zum Beispiel basiert die vorhergehende Ausführung auf dem Betriebssystem (OS) Windows NT. Die Erfindung kann indes ebenfalls auf anderen OS, wie UNIX/Linux ausgeführt werden. Die vorhergehenden Referenzen auf Windows sollten deshalb nicht in der alleinigen Bedeutung der spezifischen durch Windows bereitgestellten Merkmale und Objekte aufgefasst werden, sondern alle gleichartigen Merkmale und Objekte in anderen OS umfassen.
  • Des Weiteren ist eine zusätzliche interessante Anwendung des Systems gemäß der Erfindung im mobilen Datenbereich die Kombination von leitungsvermittelten und paketvermittelten Datenverbindungen. Man kann eine reguläre GSM-Verbindung (globales System für mobile Kommunikation) oder, noch wahrscheinlicher, eine High-Speed Circuit-Switched Data Verbindung verwenden, Weiterentwicklungen von GSM, das höhere Übertragungsgeschwindigkeiten ermöglicht, HSCSD-Verbindungen (High-Speed Circuit-Switched Data) und Kombinationen davon mit einer GPRS-Verbindung (General Packet Radio Service). Die HSCSD-Verbindungen würde enden wie gewöhnlich, obwohl Fragmente, die durch sie gesendet würden, an das Router-Gateway gerichtet würden, da die HSCSD-Verbindung schließlich auf dem Internet endet. Die GPRS-Verbindung, die von Anfang an paketvermittelt ist, würde in gleichartiger Weise behandelt werden. Der größte Vorteil dieser Einrichtung wäre, dass die GPRS-Verbindung eine „immer eingeschaltet" Eigenschaft bereitstellen würde, die es dem Benutzer ermöglichen würde, konstant verbunden zu sein, ohne zu bezahlen, außer wenn Daten übermittelt werden. Die HSCSD-Verbindung könnte dann freigegeben werden, wenn der Bedarf an größeren Bandbreiten entsteht, wobei die Gesamtkosten minimal gehalten werden, während zugleich größere Übertragungsgeschwindigkeiten bereitgestellt würden als mit GPRS oder HSCDS allein möglich ist. Es gibt eine Anzahl von möglichen Optimierungsoptionen, wie beispielsweise das Ausgleichen von Geschwindigkeit und Kosten, Minimierung der für die Verbindung mit der HSCSD-Verbindung erforderlichen Zeit, usw.
  • EIN BEISPIEL EINER ANDEREN ERFINDERISCHEN AUSFÜHRUNGSFORM DER ERFINDUNG
  • Die Erfindung, wie vorhergehend beschrieben, kann des Weiteren als ein Verfahren verwendet werden, durch welches ein Computer transparent vielfache Kommunikationsverbindungen mit einzelnen IP-Adressen verwenden kann. Das Verfahren ermöglicht ein Roaming zwischen IP-Netzwerktechnologien.
  • Diese Lösung hat viele Vorteile:
    • – Die Verbindung wird sogar dann aufrechterhalten, wenn einzelne Verbindungen wegen Abdeckung, Überlastung, schlechtem Empfang oder irgendeinem anderen Grund ausfallen
    • – Nur eine IP-Adresse wird extern verwendet, was Schwierigkeiten beim Wechseln der Verbindungen (nur für IP-Adressierung) beseitigt
    • – Es ist möglich, die Übertragung nach Geschwindigkeit oder Kosten zu optimieren
    • – Das Roaming zwischen unterschiedlichen Technologien oder Instanzen der gleichen Technologie ist möglich (z. B. ist ein Roaming mit WLAN möglich, was in sich selbst Probleme mit der Bereitstellung der Möglichkeit hat). Während der Zeit, während der der Benutzer nicht durch WLAN abgedeckt ist, wird irgendeine andere Kommunikationsverbindung verwendet, um die Verbindung aufrecht zu erhalten.
    • – Der Benutzer bekommt alle Vorteile von allen unterschiedlichen Kommunikationsverbindungen, was eine Lösung ergibt, die besser ist als jede der einzelnen Verbindungen.
  • In der heutigen verbundenen Welt, ist eine Internetverbindung für viele Menschen und Anwendungen eine absolute Notwendigkeit. Bisher haben sich Menschen mit einer Vielzahl von Verfahren mit dem Internet verbunden, z.B.:
    • – Modem
    • – Local Area Network
    • – ISDN
    • – Kabel
    • – usw.
  • Bisher war nur eine dieser Verbindungen die zu irgendeinem gegebenen Zeitpunkt aktive Kommunikationsverbindung.
  • Obwohl ISDN tatsächlich in der Lage ist, vielfache Kommunikationsverbindungen parallel zu verwenden (B-Kanäle), enden diese Verbindungen am gleichen Ort und sind leitungsvermittelt. Im Prinzip kann ISDN daher als eine einzelne Kommunikationsverbindung betrachtet werden.
  • Die Mobilität ist auch eine Frage, die in der Vergangenheit nicht von großer Bedeutung war. Es wurden einige Fortschritte erreicht aber die verfügbare Bandbreite war viel zu niedrig, um eine praktische Verwendung zu ermöglichen. Mobile Kommunikationslösungen hatten meistens einen halbstationären Charakter, z. B. tragbare Computer mit eingebautem Modem, das verwendet wird zur Verbindung mit dem Public Switched Telephone Network (PSTN).
  • Es ist wahrscheinlich, dass das Szenario in der Zukunft komplexer sein wird, mit einer Vielzahl von Auswahlmöglichkeiten zur Verbindung mit dem Internet. Abhängig von den unterschiedlichen Gründen (erforderliche Bandbreite, Kostenfragen, Abdeckung, praktische Machbarkeit, usw.) wird der Benutzer normalerweise jedes Mal eine der verfügbaren Kommunikationsverbindungen auswählen. Dies wird funktionieren bei stationären Benutzern, die eine Auswahl treffen können und die Verwendung der gewählten Lösung über einige Stunden fortsetzen. Für mobile Benutzer ist die Situation nicht ganz so einfach, obwohl Steigerungen bei der mobilen Bandbreite mobile Datenkommunikation interessanter machen werden.
  • Dadurch, dass er sich umherbewegt, wird sich der Benutzer zu unterschiedlichen Zeiten innerhalb der Abdeckung von unterschiedlichen Netzzugangsverfahren befinden, wie schematisch in 12 gezeigt. Zu Hause oder im Büro wird ein drahtloses LAN (WLAN) wahrscheinlich das bevorzugte Verfahren sein. Zu anderen Zeitpunkten kann es dem Benutzer möglich sein, Verbindungspunkte zu verwenden, die auf Bluetooth oder anderen Systemen mit kurzer Reichweite basieren. Wenn er sich außerhalb der Reichweite von allen anderen Systemen befindet, kann ein mobiles Kommunikationssystem wie GPRS, EDGE oder WCDMA (Wide-band Code Division Multiple Access) oder irgendeiner ihrer Nachfolger Abdeckung bereitstellen. Selbstverständlich sind traditionellere Verfahren wie LAN oder Modem immer noch möglich. Die nachfolgende Tabelle zeigt die Reichweite solcher bekannter Kommunikationstechnologien:
  • Figure 00430001
  • Das Umschalten zwischen diesen Systemen bedeutet, dass der Benutzer konstant die IP-Adresse ändern wird, durch die er auf dem Netz bekannt ist. Dies bedeutet wiederum, dass der Benutzer die Verbindungen wieder aufnehmen muss. Dies beinhaltet:
    • – Unterbrechen der ersten Kommunikationsverbindung
    • – Verbindung über eine neue Kommunikationsverbindung (die funktionieren kann oder nicht)
    • – Neubeginn der Transfers, die bereits in Gang sind (Dateitransfers, usw.), wobei die Transfers, die bisher bereits Minuten oder Stunden benötigt haben, aber noch nicht beendet wurden, abgebrochen werden.
    • – Wiederherstellen der IPSec-Tunnel, da die Authentifizierung erfolglos sein wird weil die IP-Adresse sich geändert hat.
  • Bis zu einem gewissen Grad werden WCDMA und andere weit verbreitete mobile Systeme es möglich machen, während dem Datentransfer mobil zu sein. Die Kosten, die mit solchen Verfahren verbunden sind, werden es für dauernde Verwendung unausführbar machen. Der Benutzer wird daher immer noch das Verbindungsverfahren wählen müssen.
  • Eine Lösung für das vorhergehend beschriebene Problem besteht darin, die Daten auf vielfachen Kommunikationsverbindungen zu tunneln. Eine oder mehrere dieser Verbindungen sind zu jeder Zeit aktiv und das System wird das Hinzufügen oder Entfernen von Verbindungen unterstützen, entweder manuell oder automatisch. Der Grund dafür, dass Kommunikationsverbindungen hinzugefügt oder entfernt werden, könnte folgender sein, ist aber nicht darauf beschränkt:
    • – Verlust der Abdeckung
    • – Eine Kommunikationsverbindung, die schneller oder billiger ist, als diejenige(n), die gegenwärtig verwendet wird/werden, wurde hinzugefügt (z.B. Ankunft im Büro)
    • – Manuelle Auswahl durch den Benutzer
  • Zwei funktionelle Einheiten müssen hinzugefügt werden, um die Lösung zu ermöglichen:
    • – Client-Software
    • – Server-Software
  • Der Kern der Client-Software wird unter dem TCP/IP-Stack des Clients angeordnet. Die Client-Software ist verantwortlich für die Übermittlung der Daten auf einer oder mehreren der verfügbaren Kommunikationsverbindungen. Eine Ausführungsform des Systems gemäß dieses Aspekts der Erfindung ist schematisch in 13 veranschaulicht.
  • Der Client ist indes nicht auf die Verwendung von drei Kommunikationsverbindungen, wie in der Illustration bildlich dargestellt, beschränkt. Die Art der Verbindung ist ebenfalls unabhängig von der Lösung, solange alle Kommunikationsverbindungen über die Fähigkeit verfügen, IP-Pakete zum und vom Internet zu transportieren.
  • Die Server-Software empfängt Daten von einer Vielzahl von Clients, von denen jeder Daten über mehrfache Kommunikationsverbindungen übertragen kann. Der Server leitet die Daten an den Remote-Server weiter und gibt die Antwort zurück an den Client, der die Anfangsanforderung vorgenommen hat. Der Remote-Server kann irgendein Server sein, der Informationen an den Client liefert, z.B. ein Web-Server.
  • Das System kann die Möglichkeit bieten, die Verwendung auf einzelne Benutzer oder Gruppen von Benutzern zu beschränken.
  • Wenn Daten von Remote-Servern durch den Server empfangen werden, gibt es zwei Möglichkeiten zum Identifizieren, welcher Client die Daten empfangen sollte:
    • – Anschlussnummern
    • – IP-Adressen
  • Diese beiden Verfahren werden in den nachfolgenden beiden Abschnitten beschrieben.
  • Die Vorteile dieser Lösung sind viele:
    • – Die Verbindung wird sogar dann beibehalten, wenn die einzelnen Verbindungen wegen Abdeckung, Überlastung, schlechtem Empfang oder irgendeinem anderen Grund ausfallen
    • – Nur eine IP-Adresse wird extern verwendet, was Schwierigkeiten beim Wechsel zwischen den Verbindungen (nur für IP-Adressierung) beseitigt
    • – Es ist möglich, den Transfer nach Geschwindigkeit oder Kosten zu optimieren
    • – Das Roaming zwischen unterschiedlichen Technologien oder Instanzen der gleichen Technologie ist möglich (z. B. ist ein Roaming mit WLAN möglich, was in sich selbst Probleme mit der Bereitstellung der Möglichkeit hat). Während der Zeit, während der der Benutzer nicht durch WLAN (Wireless Local Area Network) abgedeckt ist, wird irgendeine andere Kommunikationsverbindung verwendet, um die Verbindung aufrecht zu erhalten.
    • – Der Benutzer bekommt alle Vorteile von allen unterschiedlichen Kommunikationsverbindungen, was eine Lösung ergibt, die besser ist, als jede der einzelnen Verbindungen.
  • Die Anschlussadressierung funktioniert durch Anschlussnummern zum Identifizieren des beabsichtigten Ziels der Daten. Daten, die von einem Client gesendet werden, haben eine der IP-Adressen des Clients als Absender. Der Server wird eine Verbindung zum Remote-Server öffnen, die Absenderadresse durch seine eigene ersetzen(IPS0) und dann die Daten übermitteln. Wenn der Server eine Antwort empfängt, untersucht er die Anschlussadresse, um zu entscheiden, welcher Client das Ergebnis empfangen sollte.
  • Der Server sendet dann die Daten, gemeinsam mit allen anderen Informationen, die der Client benötigt, um das IP-Paket wieder aufzubauen.
  • Das PAM (Protokoll-Adapter-Modul) meldet eine IP-Adresse an den TCP/IP-Stack. Diese Adresse kann die IP-Adresse von einer der Verbindungen sein, aber das muss nicht so sein. Wenn es die IP-Adresse von einer der Verbindungen ist, kann die Adresse sogar dann noch verwendet werden, wenn diese Kommunikationsverbindung ausgefallen ist, was es somit möglich macht, sogar dann eine Verbindung aufrecht zu erhalten, wenn die Verbindung mit dieser IP-Adresse ausgefallen ist.
  • Die Anschlussadressierung funktioniert für die meisten Transfers. Sie funktioniert insbesondere für Web-Transfers (HTTP). Die Anschlussadressierung wird wichtig, wenn die IP-Adressen ein knappe Ressource werden, da eine einzelne IP-Adresse (IPS0) auf dem Server viele Clients bedienen kann. Mit diesem Verfahren können mehr Clients bedient werden, durch Zuteilung von zusätzlichen IP-Adressen vom Pool von Adressen (IPS0-IPSn) für die Anschlussadressierung.
  • In einigen Fällen kann die Anschlussadressierung nicht verwendet werden. In diesen Fällen wird die IP-Adressierung verwendet.
  • Dem Server wird in diesem Fall ein Bereich von IP-Adressen gegeben (in der Illustration IPS0-IPSn, minus die, die für die Anschlussadressierung verwendet werden), die den Clients gegeben werden können. Diese Adressen werden den Clients temporär zugeteilt, in einer Art, die derjenigen der Verwendung von DHCP (Dynamic Host Configuration Protocol) sehr ähnlich ist.
  • Der Client (genauer gesagt das PAM) fordert eine dynamische oder statische IP-Adresse vom Server an. Diese Adresse (IPSx) könnte diejenige sein, die PAM an den TCP/IP-Stack meldet, obwohl der Stack konfiguriert sein könnte, um eine statische IP-Adresse zu verwenden, die außerhalb des Clients niemals sichtbar wird. Alle gesendeten Pakete werden diese Adresse als Absenderadresse haben. Das PAM sendet Pakete (nachdem es sie möglicherweise in kleinere Fragmente gesplittet hat) auf den vielfachen Kommunikationsverbindungen, jede mit ihrer eigenen IP-Adresse, durch Gateways an den Server. Der Server fügt die Pakete wieder zusammen und übermittelt das sich daraus ergebende IP-Paket, d. h. ein Paket, das identisch ist mit demjenigen, das von der IP-Schicht des Clients gesendet wurde. Das IP-Paket, das den Server verlässt, hat die IP-Adresse IPSx als Absender.
  • IP-Pakete, die vom Netz an den Client gesendet werden, werden an die IP-Adresse adressiert, die zum Client gehört (IPSx). Pakete, die an diese Adresse gesendet werden, werden an den Server geroutet, welcher sie an den Client übermittelt, indem er die IP-Zieladresse dynamisch verändert, möglicherweise, nachdem ex das Paket in Fragmente gesplittet hat. Der Server muss keine Anschlussnummern verwenden, da die IP-Adresse lediglich das Ziel identifiziert.
  • Das PAM sammelt die Fragmente wieder und baut das anfängliche IP-Paket wieder auf, welches an die IP-Schicht des TCP/IP-Stack weitergeleitet wird.
  • Der Client sieht das PAM als einen regulären Netzadapter. Das Netz sieht gleichermaßen die IP-Adresse des Clients als die einzige IP-Adresse des Clients. Was im Tunnel geschieht, ist für die Kommunikation der oberen Schichten vollständig transparent. Folglich werden alle Anwendungen funktionieren wie vorgesehen, ohne die vielfachen Kommunikationsverbindungen, die verwendet werden, um die Daten zu transportieren, zu kennen.
  • Die IP-Adressierung erfordert die Verwendung einer extra IP-Adresse für jeden aktiven Client. Wegen dieser Tatsache wird die Anschlussadressierung verwendet, wenn immer dies möglich ist, solange die IP-Adressen knapp sind.
  • Die Erfindung kann verwendet werden, um unterschiedliche bekannte Kommunikationsverfahren, wie beispielsweise HSCSD & GPRS zu kombinieren. In diesem Fall hat der Benutzer eine HSCSD-Karte (High Speed Circuit Switched Data) im Computer und ein externes GPRS-Telefon. Jedes dieser Elemente könnte für mobile Datenkommunikation verwendet werden. Mit der in dieser Schrift vorgestellten Lösung können sie in Verbindung miteinander verwendet werden. GPRS wird dann verwendet, um online zu bleiben, während HSCSD die Möglichkeit einer dedizierten Bandbreite bereitstellt. Für den Benutzer bedeutet dies weniger Kosten und eine größere Bandbreite. Für den Betreiber bedeutet dies eine effizientere Verwendung der Funkressourcen.
  • Ein anderes Beispiel ist die Kombination von WLAN & WCDMA. In diesem Fall hat der Benutzer einen Computer mit WLAN- und WCDMA-Ressourcen, entweder intern oder extern. WLAN ist das bevorzugte Kommunikationsverfahren, da es eine höhere Bandbreite sowie niedrigere Kosten bereitstellt. WLAN fehlt es indes an Abdeckung und kann keine Möglichkeiten für Roaming bereitstellen. WCDMA wird deshalb verwendet, um bei der Bewegung zwischen den unterschiedlichen WLAN-Bereichen die Verbindung beizubehalten. Es ist nicht notwendig, während diesen Zeiten große Mengen von Daten über WCDMA zu übertragen. Es müssen lediglich kleine Datenmengen übertragen werden, um die Verbindung auf recht zu erhalten bis der Benutzer einen anderen Bereich erreicht, der durch WLAN abgedeckt ist. Sobald sich der Benutzer erneut innerhalb der WLAN-Abdeckung befindet, wird entweder WLAN oder WCDMA verwendet, um die neue IP-Adresse für die WLAN-Verbindung an den Server zu melden.
  • Des Weiteren kann überdies Bluetooth und GPRS/EDGE/WCDMA kombiniert werden. In diesem Fall wird eine mobile Kommunikationseinrichtung sowohl mit Bluetooth als auch mit der Fähigkeit, mit einem mobilen Kommunikationsnetz, wie beispielsweise GPRS, EDGE oder WCDMA, zu kommunizieren, ausgerüstet. Innerhalb der Reichweite eines Netzes, auf das mit Bluetooth zugegriffen werden kann, ist dieses Netz wegen der höheren Geschwindigkeit und den niedrigeren Kosten die erste Wahl. Beim Umherbewegen wird das mobile Netz verwendet, um Daten zu übertragen. Durch Ausführen des in dieser Schrift beschriebenen Verfahrens, ist die Kommunikationsausrüstung immer online und verwendet immer die bevorzugte Technologie, von denjenigen, die verfügbar sind.
  • Die Erfindung wurde hierin mittels einer Ausführungsform beschrieben. Mehrere Änderungen sind indes möglich. Zum Beispiel kann das System verwendet werden zur Übertragung zwischen zwei gleichwertigen Einheiten, von denen keine als Server wirkt und an ein zusätzliches Netz angeschlossen ist. Zusätzlich sind andere Arten von Optimierung vorstellbar, und infolgedessen sind ebenfalls andere Arten von Informationen erforderlich. Zusätzlich könnten die Informationen kontinuierlich zu vorbestimmten Zeiten/oder wenn benötigt erfasst werden oder ansonsten bei getrennten Gelegenheiten eingegeben werden. Das System könnte ebenfalls eine größere Anzahl von Einheiten, wie mehr Clients, die mit einem gemeinsamen Server kommunizieren, umfassen. Diese und andere nahe liegende Varianten müssen als innerhalb des Bereichs des Schutzes der Erfindung, wie nachfolgend in den angefügten Ansprüchen definiert, betrachtet werden.

Claims (22)

  1. System zur Übertragung von Daten zwischen mindestens zwei Einheiten (1, 2), die zur Interkommunikation angepasst sind, wobei dieses Eystem mindestens zwei mögliche Kommunikationswege (35) umfasst, die unterschiedliche Merkmale haben, wobei das Merkmal mindestens eines dieser Wege während der Datenübertragung variabel ist, und wobei jede Einheit eine Übertragungseinheit umfasst, die Mittel zum Erfassen von Informationen über die Merkmale der möglichen Kommunikationswege umfasst, wobei die Informationen zumindest teilweise während der Datenübertragung erfasst werden, dadurch gekennzeichnet, dass jede Einheit des Weiteren Mittel zum Teilen des Datenflusses basierend auf den Informationen und auf einer Optimierungsbedingung umfasst, vorzugsweise in der Form von Datenpaketen, zwischen mindestens zwei der Kommunikationswege, und wobei jede Einheit des Weiteren eine entsprechende Empfangseinheit mit Mitteln zur Wiederverbindung des durch die mindestens zwei Kommunikationswege übertragenen Datenflusses umfasst, wobei die Teilung des Datenflusses zwischen den mindestens zwei Kommunikationswegen während der Datenübertragung kontinuierlich gemäß der Optimierungsbedingung optimiert wird.
  2. System nach Anspruch 1, wobei die Übertragungseinheit des Weiteren Mittel zum Teilen des Datenflusses umfasst, vorzugsweise in der Form von Datenpaketen wobei das Teilen zwischen den Kommunikationswegen erreicht wird durch Wähler von einem der mindestens zwei Kommunikationswege für jeden derart geteilten Teil und basierend auf den erfassten Informationen und auf einer Optimierungsbedingung.
  3. System nach Anspruch 1 oder 2, wobei die Übertragungseinheit angepasst ist, um kontinuierlich Informationen über die Merkmale der Kommunikationswege (35) zu erfassen und um automatisch die Teilung des Datenflusses basierend auf diesen Informationen durchzuführen.
  4. System nach einem der Ansprüche 1–3, wobei die Merkmale, über die die Übertragungseinheit Informationen sammelt, eine oder mehrere der nachfolgenden sind, nämlich feste und variable Preise, maximale und momentane Geschwindigkeit, Paketgröße, Transportzeit, ID oder ähnliche Information über Übermittlungseinheiten, und vorbestimmte Prioritäten.
  5. System nach einem der vorhergehenden Ansprüche, wobei die Optimierungsbedingung einen oder mehrere Optimierungsparameter, wie zum Beispiel, Preis, Geschwindigkeit, Präferenzen in Bezug auf Zwischenübermittlungseinheiten, umfasst.
  6. System nach Anspruch 5, wobei die Optimierungsbedingung mehrere Optimierungsparameter und eine im Voraus gegebene Angabe von Prioritäten in Bezug auf diese Optimierungsparameter umfasst.
  7. System nach einem der vorhergehenden Ansprüche, wobei mindestens einer der Kommunikationswege (3) ein drahtloser Weg ist.
  8. System nach Anspruch 7, wobei die Kommunikationswege drahtlose Kommunikationswege sind, die mehrere Basisstationen umfassen.
  9. System nach einem der vorhergehenden Ansprüche, wobei mindestens eine der kommunizierenden Einheiten (2) wiederum mit einem weiteren Netz verbunden ist zum Übermitteln von Daten zu und von diesem Netz.
  10. System nach einem der vorhergehenden Ansprüche, wobei die Übertragungseinheit ein Modul umfasst, das eine einheitliche Schnittstelle mit zusätzlichen Systemen hat, während es gleichzeitig die Fähigkeit besitzt, über die mindestens zwei Kommunikationswege zu kommunizieren, wobei letztere sich vorzugsweise in Bezug auf mindestens die Schnittstelle oder das Transportmedium unterscheiden.
  11. System nach Anspruch 1 oder 2, wobei mindestens einer der mindestens zwei Kommunikationswege durch eine separate Einheit bereitgestellt wird, die drahtlos mit einer der zwei Einheiten verbunden ist.
  12. System nach Anspruch 11, wobei die Vergütung für die Benutzung dieser separaten Einheit mit Hilfe eines intelligenten Zahlungssystems gelöst ist.
  13. Verfahren zum Übertragen von Daten zwischen mindestens zwei Einheiten (1, 2) die angepasst sind zur Interkommunikation über mindestens zwei mögliche Kommunikationswege (3, 5), die unterschiedliche Merkmale haben, wobei das Merkmal mindestens eines dieser Wege während der Datenübertragung variabel ist, den folgenden Schritt umfassend: Erfassen von Informationen über die Merkmale der möglichen Kommunikationswege, wobei diese Informationen zumindest teilweise während der Datenübertragung erfasst werden; gekennzeichnet durch die weiteren Schritte des: Erfassens von Informationen über eine Optimierungsbedingung; Teilen des Datenflusses basierend auf diesen Informationen; Übertragen jedes Teiles des derart geteilten Datenflusses, vorzugsweise in der Form von Datenpaketen, an einen der zwei Kommunikationswege, wobei die Auswahl des Kommunikationswegs für jeden Teil durch die erfasste Information und durch die gegebene Optimierungsbedingung gesteuert wird; und Empfangen und Wiederverbinden des über die mindestens zwei Kommunikationswege übertragenen Datenflusses; wobei das Teilen des Datenflusses zwischen den mindestens zwei Kommunikationswegen während der Datenübertragung kontinuierlich gemäß der Optimierungsbedingung optimiert wird.
  14. Verfahren nach Anspruch 13, wobei die Merkmale, über die Informationen erfasst werden, eine oder mehrere der nachfolgenden sind: feste und variable Preis, maximale und momentane Geschwindigkeit, Paketgröße Transportzeit, ID oder ähnliche Information über Übermittlungseinheiten, und vorbestimmte Pioritäten.
  15. Verfahren nach einem der Ansprüche 13–14, wobei die Optimierungsbedingung einen oder mehrere Optimierungsparameter, wie zum Beispiel, Preis, Geschwindigkeit, Präferenzen in Bezug auf Zwischenförderungseinheiten, umfasst.
  16. Verfahren nach einem der Ansprüche 13–15, des Weiteren umfassend den zusätzlichen Schritt des Übertragens der empfangenen Daten an ein anderes Netz.
  17. Verfahren nach Anspruch 13, wobei mindestens einer der mindestens zwei Kommunikationswege durch eine separate Einheit bereitgestellt wird, die drahtlos mit einer dieser zwei Einheiten verbunden ist.
  18. Verfahren nach Anspruch 17, wobei die Vergütung für die Benutzung dieser separaten Einheit mit Hilfe eines intelligenten Zahlungssystems gelöst wird.
  19. Terminaleinheit zur Übertragung von Daten über mindestens zwei Kommunikationswege (35), die unterschiedliche Merkmale haben, wobei das Merkmal von mindestens einem dieser Wege während der Datenübertragung variabel ist, wobei die Terminaleinheit eine Übertragungseinheit (1) umfasst, die mit den mindestens zwei Kommunikationswegen (35) und einer Empfangseinheit (2) verbunden ist, dadurch gekennzeichnet, dass die Übertragungseinheit angepasst ist, um einen Datenfluss in Teile zu teilen und diese Datenflussteile im Wesentlichen simultan auf den mindestens zwei Kommunikationswegen (35) zu übertragen, und dadurch, dass die Empfangseinheit (2) angepasst ist, um Teile eines Datenflusses auf verschiedenen Leitungen zu empfangen und diese wieder zu einem Fluss zu verbinden.
  20. Terminaleinheit nach Anspruch 19, wobei mindestens einer und vorzugsweise alle Kommunikationswege (3) drahtlose Wege sind.
  21. Terminaleinheit nach Anspruch 20, die mehrere Antennen und vorzugsweise eine Antenne pro drahtloser Kommunikationsweg umfasst.
  22. Terminaleinheit nach Anspruch 20 oder 21, wobei die Terminaleinheit mehrere Übertragungseinheiten, und vorzugsweise eine Übertragungseinheit pro drahtlosen Kommunikationsweg umfasst.
DE60017724T 1999-05-04 2000-05-04 System zur datenübertragung über mehrere kommunikationswege Expired - Lifetime DE60017724T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
SE9901621A SE513338C2 (sv) 1999-05-04 1999-05-04 System för överförande av data via flera kommunikationsvägar
SE9901621 1999-05-04
SE0000707 2000-03-01
SE0000707A SE0000707D0 (sv) 1999-05-04 2000-03-01 System för överförande av data via flera kommunikationsvägar
PCT/SE2000/000883 WO2000067435A1 (en) 1999-05-04 2000-05-04 A system for data transmission via several communication routes

Publications (2)

Publication Number Publication Date
DE60017724D1 DE60017724D1 (de) 2005-03-03
DE60017724T2 true DE60017724T2 (de) 2005-12-29

Family

ID=26655006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60017724T Expired - Lifetime DE60017724T2 (de) 1999-05-04 2000-05-04 System zur datenübertragung über mehrere kommunikationswege

Country Status (9)

Country Link
EP (1) EP1175757B1 (de)
JP (1) JP2002544682A (de)
CN (1) CN1349698A (de)
AT (1) ATE288162T1 (de)
AU (1) AU4792500A (de)
DE (1) DE60017724T2 (de)
ES (1) ES2235880T3 (de)
SE (1) SE0000707D0 (de)
WO (1) WO2000067435A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011110968A1 (de) 2011-06-30 2013-01-03 Continental Automotive Gmbh Verfahren und System zur Übertragung von Daten in einem Kraftfahrzeug

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757269B2 (en) * 2001-02-27 2004-06-29 Motorola, Inc. Mobile wireless router
US7230921B2 (en) * 2001-04-02 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Concurrent use of communication paths in a multi-path access link to an IP network
MXPA03010868A (es) * 2001-05-30 2004-02-17 Thomson Licensing Sa SISTEMA DE COMUNICACIoN MOVIL DE MULTIPLES REDES.
SE0102546D0 (sv) * 2001-07-16 2001-07-16 Icomera Ab Network-aware application in a 4g environment
US6744753B2 (en) * 2001-11-01 2004-06-01 Nokia Corporation Local service handover
US7023878B2 (en) * 2001-12-20 2006-04-04 Sierra Wireless, Inc. Architecture for emulating an Ethernet network interface card
US7340214B1 (en) 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7624165B2 (en) 2002-05-03 2009-11-24 Coco Communications Corp. Method and apparatus for persistent connections to a device through the use of multiple physical network connections and connection hand-offs between multiple bands, modes and networks
FR2841077B1 (fr) * 2002-06-17 2004-11-19 Orange France Sa Systeme et procede de gestion sur un terminal de l'architecture dediee a un reseau de communication
GB0224224D0 (en) * 2002-10-18 2002-11-27 Univ Lancaster Network communication
FR2848052B1 (fr) * 2002-11-29 2005-03-18 Orange France Systeme et procede de selection dans un terminal pour une architecture dediee a un reseau de communication
GB2397201A (en) * 2003-01-08 2004-07-14 Ttpcomm Ltd Downloading data files in two parts
AU2003240568A1 (en) * 2003-06-05 2005-01-04 Ipass Inc. Method and system to manage a network connection application
CN100382552C (zh) * 2003-10-17 2008-04-16 西安大唐电信有限公司 穿透防火墙建立voip通信的方法
US7904090B2 (en) 2003-12-01 2011-03-08 Telefonaktiebolaget L M Ericsson (Publ) Traffic control method
SE0303576D0 (sv) * 2003-12-23 2003-12-23 Ericsson Telefon Ab L M Cost determination in a multihop network
EP1754338A1 (de) 2004-03-03 2007-02-21 Nokia Corporation Verfahren, vorrichtung und system zur datenübertragung
JP4394541B2 (ja) * 2004-08-23 2010-01-06 日本電気株式会社 通信装置、データ通信方法およびプログラム
CN101015174B (zh) * 2004-09-06 2013-01-02 艾利森电话股份有限公司 经由不同接入技术的多接入通信
FR2877179B1 (fr) * 2004-10-26 2006-12-15 Bouygues Telecom Sa Procede de transmission d'un flux video dans un reseau de telecommunications mobiles a debit restreint
KR100654449B1 (ko) * 2005-02-01 2006-12-06 삼성전자주식회사 단일 무선 네트워크 인터페이스에서 다수의 무선 링크를통해 데이터를 송수신하는 장치 및 방법
JP4572306B2 (ja) * 2005-03-04 2010-11-04 学校法人慶應義塾 通信装置、通信方法及びプログラム
DE102005010525A1 (de) * 2005-03-04 2006-09-07 Marcus Harzem Verfahren und Vorrichtung zur Bereitstellung eines mobilen Zugangs zu einem externen Datendienst aus einem portablen Sekundärnetz
US7813314B2 (en) 2005-08-02 2010-10-12 Waav Inc. Mobile router device
JP4991151B2 (ja) * 2005-12-21 2012-08-01 エヌ・ティ・ティ・コムウェア株式会社 ファイル転送システム及びファイル転送方法
US7599393B1 (en) 2006-03-24 2009-10-06 Sierra Wireless, Inc. Architecture for emulating an ethernet network interface card
KR100779834B1 (ko) 2006-05-04 2007-11-28 텔레폰악티에볼라겟엘엠에릭슨(펍) 트래픽 제어 방법
CN1984020A (zh) * 2006-06-08 2007-06-20 华为技术有限公司 一种传输数据的方法及装置
US8279893B2 (en) 2006-06-16 2012-10-02 Nvidia Corporation System and method for communicating data utilizing multiple types of data connections
KR100886485B1 (ko) * 2006-09-06 2009-03-05 노키아 코포레이션 데이터 전송 방법, 장치 및 시스템
US8606862B2 (en) 2007-08-21 2013-12-10 Microsoft Corporation Electronic mail delay adaptation
US8706819B2 (en) 2007-08-21 2014-04-22 Microsoft Corporation Electronic mail delay adaptation
US8909714B2 (en) * 2007-08-21 2014-12-09 Microsoft Corporation Electronic mail delay adaptation
US20090055491A1 (en) * 2007-08-21 2009-02-26 Microsoft Corporation Electronic mail delay adaption
JP2010045662A (ja) * 2008-08-14 2010-02-25 Nec Corp 通信回線選択装置、通信回線選択方法、およびプログラム
CN101778032B (zh) * 2009-01-14 2012-04-18 宋非 通过聚合隧道链路实现的互联网接入方法
EP2472740A1 (de) 2010-12-30 2012-07-04 Icomera AB Drahtloses Zugskommunikationssystem
DK2518977T3 (da) 2011-04-29 2019-07-15 Icomera Ab Køretøjskommunikationssystem
WO2012151849A1 (zh) 2011-07-27 2012-11-15 中兴通讯股份有限公司 一种实现单机上多种网络资源共用的系统及方法
EP2665331B1 (de) 2012-05-16 2021-03-03 Icomera Ab Drahtloses Kommunikationssystem für sich bewegende Fahrzeuge
US9100904B2 (en) * 2012-09-13 2015-08-04 First Principles, Inc. Data stream division to increase data transmission rates
CN104754491B (zh) * 2013-12-26 2021-02-09 索尼公司 移动终端、以及移动终端之间协作传输的实现方法
EP2942971B8 (de) 2014-05-08 2019-07-17 Icomera AB Verfahren und system zur bandbreitenbeschränkten datenströmung auf ein sich bewegendes fahrzeug
LT2943001T (lt) 2014-05-08 2018-01-25 Icomera Ab Būdas ir sistema tinklo klaidos detekcijai
PL2943011T3 (pl) 2014-05-08 2019-12-31 Icomera Ab System komunikacji bezprzewodowej dla poruszających się pojazdów
SE537935C2 (sv) 2014-07-24 2015-11-24 Icomera Ab Metod och system för tillförsel av tillsatsmedel till 13
WO2016038697A1 (ja) * 2014-09-10 2016-03-17 株式会社日立製作所 チャネル装置及び入出力処理システム
SE542194C2 (en) 2014-10-30 2020-03-10 Icomera Ab Wireless communication system for trains using voice over wifi (vowifi)
SE540595C2 (en) 2015-12-02 2018-10-02 Icomera Ab Method and system for identifying alterations to railway tracks or other objects in the vicinity of a train
SE541941C2 (en) 2015-12-04 2020-01-07 Icomera Ab Dynamic traffic shaping for communication networks in moving vehicles, such as trains
SE540061C2 (en) 2015-12-04 2018-03-13 Icomera Ab Method and system for dynamic selection of communication paths for a moving vehicle
SE539532C2 (en) 2016-01-29 2017-10-10 Icomera Ab Wireless communication system and method for trains and other vehicles using trackside base stations
SE540352C2 (en) 2016-01-29 2018-07-24 Icomera Ab Wireless communication system and method for trains and other vehicles using trackside base stations
SE1650680A1 (en) 2016-05-19 2017-11-20 Icomera Ab Wireless communication system
SE542226C2 (en) 2016-07-14 2020-03-17 Icomera Ab Distributed wireless communication system for moving vehicles
SE540574C2 (en) 2016-07-14 2018-10-02 Icomera Ab Train communication system with silent compartments
SE542673C2 (en) 2016-07-22 2020-06-23 Icomera Ab Wireless communication system for vehicles using both trackside wlan and cellular network communication
SE542198C2 (en) 2017-05-17 2020-03-10 Icomera Ab Communication system for aircrafts with altitude based frequency band selection
WO2019004923A1 (en) * 2017-06-30 2019-01-03 DeviceRadio AB MODULE FOR MANAGING A DATA STREAM ON MULTIPLE CHANNELS OF WIRELESS COMMUNICATION
US20190007286A1 (en) * 2017-06-30 2019-01-03 DeviceRadio AB Module for handling a stream of data over multiple wireless communication channels
SE1950326A1 (en) 2019-03-15 2020-07-14 Icomera Ab Wireless communication system for ground based vehicles
SE1950325A1 (en) 2019-03-15 2020-09-16 Icomera Ab Electric train system with integrated communication system
JP7396368B2 (ja) * 2019-11-12 2023-12-12 日本電気株式会社 方法、システム及び変換装置
SE545043C2 (en) 2020-12-21 2023-03-07 Icomera Ab Multi-router wireless communication system with client balancing
SE546099C2 (en) 2021-01-20 2024-05-21 Icomera Ab Wireless communication system with poe network switches for moving vehicles
SE2151550A1 (en) 2021-12-17 2023-06-18 Icomera Ab Wireless communication system for moving vehicles, such as trains, with improved prioritization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0615391A1 (de) * 1993-03-09 1994-09-14 ALCATEL BELL Naamloze Vennootschap Mobilkommunikationsnetzwerk
US6016307A (en) * 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
EP0855820A3 (de) * 1996-12-13 2003-04-16 International Business Machines Corporation Verfahren und System zur Optimierung der Bandbreitebelegung von einer Datenübertragungsleitung in einer Umgebung mit Mehrfachprioritätsdatenverkehr
FI105976B (fi) * 1998-02-09 2000-10-31 Nokia Networks Oy Matkaviestimen suurinopeuksinen liityntä TCP/IP-verkkoon

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011110968A1 (de) 2011-06-30 2013-01-03 Continental Automotive Gmbh Verfahren und System zur Übertragung von Daten in einem Kraftfahrzeug
WO2013000594A1 (de) 2011-06-30 2013-01-03 Continental Automotive Gmbh Verfahren und system zur übertragung von daten in einem kraftfahrzeug

Also Published As

Publication number Publication date
AU4792500A (en) 2000-11-17
WO2000067435A1 (en) 2000-11-09
JP2002544682A (ja) 2002-12-24
SE0000707D0 (sv) 2000-03-01
EP1175757B1 (de) 2005-01-26
DE60017724D1 (de) 2005-03-03
EP1175757A1 (de) 2002-01-30
ES2235880T3 (es) 2005-07-16
ATE288162T1 (de) 2005-02-15
CN1349698A (zh) 2002-05-15

Similar Documents

Publication Publication Date Title
DE60017724T2 (de) System zur datenübertragung über mehrere kommunikationswege
DE69934734T2 (de) Mehrstrecken Punkt-zu-Punkt Protokoll
DE69632425T2 (de) System mit Funkverbindung von variabler Bandbreite
DE60319058T2 (de) Funkressourcenverwaltung basierend auf Interferenz zwischen mehreren Funkbetreibern
DE69833111T2 (de) Bestimmung von trägerdiensten in einem funkzugriffsnetz
DE69434896T2 (de) Zugriffsverfahren auf ein drahtloses lokales ad-hoc Netzwerk über ein zellulares Weitbereichnetzwerk mit Koppelung des LAN-MAC-Paketkopfes.
DE60101841T2 (de) Verfahren und vorrichtung zum verteilen der last in einer rechnerumgebung
DE19950653B4 (de) Verfahren zum Betreiben eines Mobilfunknetzes
DE19800772C2 (de) Verfahren und Vorrichtung zur Verbindung mit einem Paketaustauschnetz
DE60304117T2 (de) Drahtlose Kommunikationskostenvorhersage für ein drahtloses Gerät
DE60224212T2 (de) Netzwerk mit mehreren sub-netzwerken
DE60110974T2 (de) Abfangverfahren und -vorrichtung zur Kompensation nachteiliger Eigenschaften eines Kommunikationsprotokolls
DE60031566T2 (de) Signalisierungsverfahren und apparate in einem zellularen netz
DE60201733T2 (de) Funkzugriffsnetz und Netzwerkelement
EP2104394B1 (de) Verfahren und Telekommunikationsanordnung zum Bereitstellen einer Telekommunikationsverbindung (TK-Verbindung) zu einem gerufenen Mobilfunkendgerät
DE602004000324T2 (de) Ein Verfahren zur Uebertragung eines Datenrahmens von einer ersten Station zu einer zweiten Station und ein entsprechendes CDMA-Telekommunikationsnetz
DE60201422T2 (de) Verbinden eines Endgerätes über ein Funkzugangsnetz oder ein lokales Zugangsnetz mit dem Kernnetz eines Mobilfunkkommunikationssystems
DE10311980A1 (de) Verfahren zum Bereitstellen von mit einer Kennung versehenen Einsteckkarten in einem Mobilfunkendgerät
DE60108324T2 (de) System und Verfahren zur Erhöhung von Nachrichtendurchsatz in einem Funknetzwerk
DE60204215T2 (de) Mobiles kommunikationsnetz, verfahren und geräte
DE69924413T2 (de) Drahtloses System zur Übermittlung von Datenpaketen über gemietete Leitungen
DE60109054T2 (de) Syteme und verfahren zur fehlerverwaltung in einem mobilen kommunikationsnetz mit einer proxy-vermittlungsstelle
DE69833124T2 (de) Adaptives prozessorsystem
DE19860756C5 (de) Verfahren zur Übertragung von Rückkanal-Daten in einer Verbindung zwischen einem Endgerät und einem Server eines Paketvermittlungsnetzes
DE60215150T2 (de) Verfahren zur Durchfürung TCP/IP-basierter Kommunikation über ein System mit mehreren IP-Netzen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition