-
Diese
Erfindung betrifft den Zugriff auf Daten aus einer Datenbank, und
insbesondere den Zugriff auf große Dateien oder Videostreams
(Nicht-Echtzeit) von entfernten Web-Seiten.
-
Wenn
derzeit ein Benutzer mit einer ADSL (asymmetrischen digitalen Teilnehmerschleife,
asynchronous digital subscriber loop)-Verbindung mit einer hohen Bitrate (2
Mb/s) versucht, eine Video-Computerdatei
mit hoher Bitrate von einer entfernten Stelle, vielleicht in einem
anderen Land, zu „streamen", ist die empfangene
Bitrate wegen Stau und Konkurrenz um Kapazität mit anderen Benutzern über gemeinsame
internationale Verbindungen oft sehr viel kleiner, als es die Verbindung
des Benutzers es ermöglicht,
vielleicht nur 100- 400
kb/s. Bei dieser Übertragungsrate
wäre die
Videoqualität
schlecht und praktisch inakzeptabel. Es ist möglich, das zu Grunde liegende
Netz zu verändern,
sodass es zum Beispiel 2 Mb/s Durchsatz für den bestimmten Benutzer bereitstellt,
aber dies erfordert Änderungen
an dem Internetprotokoll (IP)-Kernnetz. Das Konzept, mehrfache virtuelle
Verbindungen und Zugangsverbindungen zu verwenden, um verbesserten
Durchsatz zu unterstützen,
ist schon in Form von inversem Multiplex für ATM (IMA, Inverse Multiplexing
for ATM) (ATM-Forum AF-PHY-0086.0010) umgesetzt und implementiert:
für den
Internetzugriff bekommt der Endbenutzer eine einzelne IP-Adresse und der Zugangsserver
setzt die Daten für
die Leitweglenkung über das
Internet zu einem Stream neu zusammen. Es sei bemerkt, dass der
Zugangsserver der Gateway zwischen dem verbindungsorientierten ATM-Zugangsnetz
und dem Kernnetz mit IP-Leitweglenkung
ist. Es ist deshalb kein Vorteil, wenn der Engpass tatsächlich zwischen
dem Zugangsserver und der Datenbank liegt, auf die zugegriffen wird.
-
Die
meisten Netze haben die Fähigkeit,
einem Endbenutzer, wenn er dies so auswählt, zu ermöglichen, mehrfach gleichzeitig
Zugriff zu bekommen, wobei dieselben oder andere Internet-Diensteanbieter
verwendet werden. Jedesmal, wenn sich der Benutzer einloggt, bekommt
er eine andere IP-Adresse. Dem Kern-IP-Netz erscheinen diese Adressen
alle als separate Benutzer. Wenn es stark belastet ist, teilt das
Kernnetz seine Bandbreite gleichmäßig zwischen den Adressen auf,
die im Wettbewerb um Zugang stehen, folglich bekommt ein Benutzer,
der sich dreimal eingeloggt hat, dreimal so viel Bandbreite, wie
ein Benutzer, der sich nur einmal eingeloggt hat. Der Mechanismus,
sich mehrmals einzuloggen, können
permanente oder vermittelte virtuelle Verbindungen (PVCs (permanent
virtual connections) oder SVCs (switched virtual connections)) im
mehrfachem asynchronem Übertragungsmodus
(ATM, asynchronous transfer mode) oder das PPPoE (Punkt-zu-Punkt-Protokoll über Ethernet (Point
to Point Protocol over Ethernet)) sein. Wenn jedoch die Internetanwendung,
die die Daten zu dem Endbenutzer streamt, Anfragen nach einem bestimmten
Stream von drei verschiedenen IP-Adressen empfängt, sendet sie dieselben Daten
zu allen drei Adressen, und folglich ist die zusätzliche Bandbreite nicht von
praktischen Nutzen, da die Daten für die verschiedenen Verbindungen
einfach dupliziert werden.
-
Die
Patentanmeldung der Vereinigten Staaten
US2002/0083193 veröffentlicht
ein System, das Datenquellen ermöglicht,
einen Leitweg anzugeben, der genommen werden soll. Das hier veröffentlichte System
erfordert jedoch, dass das Internet auf eine bestimmte Weise konfiguriert
ist, sodass es eine Funktionalität
für unterschiedliche
Leitweglenkung unterstützt.
Die vorliegende Erfindung soll eine Schnittstelle mit dem bestehenden
Internet ohne Einschränkungen
bezüglich
seiner Konfiguration bilden.
-
Nach
einem Aspekt der Erfindung wird ein Verfahren zum Zugreifen auf
Daten von einer Internetanwendung aus über ein verteiltes Informationsnetz
geschaffen, bei dem ein Benutzerendgerät mehrere Anfragen nach Zugriff
auf dieselben Daten erzeugt, die von der Internetanwendung über mehrere Leitwege
geliefert werden sollen, wobei jedem der Leitwege ein Internet-Dienstanbieter
zugeordnet ist und alle Anfragen eine Angabe über ihren gemeinsamen Ursprung
an die Ziel-Internetanwendung übermitteln,
die Internetanwendung feststellt, ob mehrere Adressen, die Anfragen
nach den selben Daten machen, zu dem selben Endbenutzer gehören, und wenn
dies der Fall ist, die angeforderten Daten aufteilt und verschiedene
Teile der Daten an die verschiedenen Adressen streamt, die sie anfordern,
und das Benutzerendgerät
die angefragten Daten über mehrere
Leitwege empfängt
und sie zu einem einzelnen Stream zusammensetzt.
-
Nach
einem anderen Aspekt der Erfindung weist eine Internetanwendung
zur Bereitstellung von Daten über
ein Informationsnetz auf den Empfang von Anfragen von Benutzerendgeräten hin
eine Einrichtung auf, die feststellt, ob jede von mehreren solchen
Anfragen nach denselben Daten, die von mehreren Adressen über Leitwege
empfangen werden, die einem der Internetdienstanbieter zugeordnet sind,
jede eine Angabe über
ein gemeinsames Ursprungs-Benutzerendgerät übermittelt, und wenn dies der
Fall ist, die angeforderten Daten aufteilt und die verschiedenen
Teile der Daten an die verschiedenen Adressen streamt, die sie anfordern.
Nach einem ergänzenden
Aspekt ist die Anwendung des Endbenutzers mit einer Einrichtung
ausgestattet, die mehrere Anfragen nach Zugriff auf dieselben Daten
erzeugt, die von der Internetanwendung über mehrere Leitwege an mehrere
Adressen geliefert werden sollen, die dem Benutzerendgerät zugeordnet
sind, wobei jede Anfrage eine Angabe über ihr gemeinsames Ursprungs-Benutzerendgerät an die
Ziel-Internetanwendung übermittelt,
und ist mit einer Einrichtung ausgestattet, die die angefragten
Daten empfängt und
die Daten, die über
die mehreren Leitwege gesendet wurden, zu einem einzelnen Stream
für den Zugriff
durch den Benutzer zusammensetzt.
-
Wenn
der Verkehr über
einen Pfad langsamer ist als über
einen anderen, kann Puffern erforderlich sein.
-
In
einer bevorzugten Ausführung
umfasst die Internetanwendung eine Einrichtung zum Identifizieren
von Korrelationscodes, die den Anfragen nach Daten zugeordnet sind,
eine Einrichtung zum Zuordnen jeder solchen Anfrage nach Daten zu
irgendwelchen vorangegangenen Anfragen nach denselben Daten, die
denselben Korrelationscode haben, und eine Einrichtung zum Aufteilen
der angefragten Daten auf die Adressen, die zu den Anfragen nach
Daten gehören.
Das entsprechende Benutzerendgerät umfasst
eine Einrichtung zum Erzeugen einer ersten Anfrage nach Zugriff,
die einen Korrelationscode hat, der ihren Ursprung angibt, eine
Einrichtung, die feststellt, ob die Datenrate der empfangenen Daten
als Reaktion auf die erste Anfrage einem zuvor festgelegten Niveau
entspricht, und eine Einrichtung, die eine oder mehrere weitere
Anfragen über
verschiedene Leitwege erzeugt, die denselben Korrelationscode verwenden.
-
Die
Erfindung bietet verbesserte Dienstqualität und verbesserte Geschwindigkeit
beim Herunterladen. Die Erfindung erfordert, dass die Internetanwendung
und die Ausrüstung
des Benutzers derart kooperieren, dass die Internetanwendung Adressen von
Benutzern identifizieren kann, die diese Erfindung nutzen, erfordert
aber keine Änderungen
an den Internet-Kernnetzen oder -IP-Netzen, die aktuell eingesetzt
werden, oder Komponenten der Ausrüstung (Router und Zugangsserver).
Der Benutzer kann sich konventionell mehrfach mit dem selben Internetdiensteanbieter
verbünden,
oder kann bevorzugen, sich gleichzeitig mit mehreren Internetdiensteanbieter
zu verbinden – eine
Möglichkeit,
von der bekannt ist, dass sie mit mehreren, entweder permanenten
oder vermittelten, virtuellen Kanälen möglich ist.
-
Deshalb
kann der Endbenutzer mit einer einfachen Änderung an dem Breitband-Zugangsnetz, der
Client-Software des Endbenutzers und der Internetanwendung Nicht-Echtzeit-Daten
mit der mehrfachen Geschwindigkeit eines Benutzers mit nur einer einfachen
Internetverbindung empfangen. Die Verwaltungs- und Supportsysteme
des Zugangsnetzes können
Modifikationen erfordern, um die Funktionalität bereitzustellen, die Breitband-Internetverbindung des
Benutzers als mehrere virtuelle Kanäle zu betreiben, von denen
jeder mit einem anderen Internet-Diensteanbieter verbunden sein
kann.
-
Die
größere Verzögerung und
die größere Variation
dieser Verzögerung
kann größere anfängliche
Puffer erfordern, und kann dazu führen, dass das Video längere Zeit
braucht, nachdem es angefragt wurde, bis es beginnt und auf dem
Bildschirm erscheint. In einer bevorzugten Ausführung ist ein erster Stream
auf herkömmliche
Weise verbunden, wobei andere hinzugefügt werden, wenn die empfangene
Bitrate als nicht angemessen erachtet wird. Folglich wird die anfängliche
Verzögerung
minimiert. Zuschauer, die häufig
zwischen verschiedenen Fernsehkanälen umschalten, sind deshalb
in der Lage, ohne Verzögerung
festzustellen, was auf dem Kanal gezeigt wird, müssen aber möglicherweise darauf warten,
dass die Qualität
ein optimales Niveau erreicht.
-
Eine
Ausführung
der Erfindung wird nun als Beispiel mit Bezug auf die Zeichnungen
im Anhang beschrieben, in denen
-
1 eine
schematische Darstellung eines herkömmlichen Verbindungsdienstes
mit einem einzelnen Internetdiensteanbieter nach dem Stand der Technik
ist;
-
2 eine
schematische Darstellung der Verwendung von drei vermittelten virtuellen
Verbindungen (SVCs, switched virtual connections) zu drei Internetprotokoll
(IP)-Adressen ist;
-
3 eine
schematische Darstellung davon ist, warum das Streamen über mehrfache
herkömmliche
SVCs nicht funktionieren würde;
-
4 ist
eine schematische Darstellung eines Systems, das nach der Erfindung
mit korreliertem Streamen über
mehrere Pfade arbeitet.
-
5 ist
ein Flussdiagramm, das die Funktionsweise einer Ausführung der
Erfindung darstellt.
-
Wie
in 1 gezeigt ist, wird derzeit eine einzelne permanente
virtuelle Leitung (PVC) 10 zwischen dem Benutzerendgerät 1 eines
ADSL-Benutzers und dem Zugangsserver 11 aufgebaut. Der
Zugangsserver 11 schließt die PVC und die PPP-Signalisierung
(12) ab, die auf der PVC eingekapselt ist. Außerdem gibt
er dem Endbenutzerendgerät 1 eine IP-Adresse 1X,
um ihm zu ermöglichen,
sich mit dem Internet 14 zu verbinden und Daten zu irgendeiner anderen
Internetanwendung zu senden, zum Beispiel einem Broadcast-Webserver 13 (3 und 4).
-
Mit
einem ADSL-Multiplexer (DSLAM) 20 für vermittelte virtuelle Leitungen
(SVP) kann sich das Endgerät
des Endbenutzers 15 gleichzeitig mit mehreren Zugangsservern 21, 22 und 23 verbinden. 2 zeigt
den Benutzer, wie er bei drei verschiedenen Internetdiensteanbietern
eingeloggt ist. Wiederum wird ihm mit PPP für jede Verbindung eine eindeutige,
für Leitwege
nutzbare IP-Adresse 21X, 22X und 23X zugeordnet.
Obwohl die erhöhte
Anzahl von Verbindungen das Wettbewerbsniveau (die Anzahl von individuellen
IP-Adressen, die versuchen, auf Daten zuzugreifen) anhebt, bekommt
der einzelne Benutzer, der mit drei Internetdienstanbietern verbunden
ist, wie in 2, in Zeiten mit hohem Datenverkehrsaufkommen
fast dreimal so viele Daten, wie ein Benutzer, der mit einem einzelnen
Internetdiensteanbieter verbunden ist, wie in dem Beispiel in 1.
(Die tatsächliche
Steigerung der Rate ist zu 3n/(n + 2), wobei n die Gesamtanzahl
von IP-Adressen ist, die auf die Daten zugreifen. Wenn das Verkehrsaufkommen
hoch ist, ist der Wert von „n" groß, und folglich
konvergiert der Ausdruck auf den Wert 3,0.)
-
Wenn
alle drei Verbindungen mit demselben Zielserver 13 hergestellt
sind, gewinnt der Benutzer 15 in der Anordnung in 2 nichts
bei der Gesamtinformationsübertragungsrate,
weil die meisten Daten dupliziert werden. 3 zeigt,
wie der Server 3, auf den zugegriffen wird, mit den bestehenden IP-Streaming-Protokollen
für Netzwerke
den Benutzer 15 als drei verschiedene Benutzer betrachtet, weil
er Anfragen von drei verschiedenen IP-Adressen 21X, 22X und 23X bekommt.
Er sendet dann dieselben Daten an den Endbenutzer 15 über jeden
der drei verschiedenen Leitwege über
die Zugangsserver 21, 22 und 23, folglich
gibt es natürlich
wenig Vorteile beim Aufbauen von zusätzlichem SVCs und dem Versuch,
Daten darüber
herunterzustreamen.
-
Es
sei das Szenario betrachtet, bei dem der Benutzer 15 versucht,
Videodaten mit 500 kb/s von einem Broadcast-Webserver 13 auf
einem anderen Kontinent herunterzustreamen. Jede der Verbindungen 21, 22 und 23 ist
stark belastet, und jede kann nur 200kb/s liefern. Der Benutzer
erhält
nützliche
Daten nur mit der Rate der schnellsten der drei Verbindungen.
-
In
der Ausführung,
die in den 4 und 5 gezeigt
ist, ist ein verbessertes Streaming-Protokoll bereitgestellt, das
eine Korrelations-ID von dem Endbenutzer enthält. Die Korrelations-ID wird derart
gewählt,
dass es unwahrscheinlich ist, dass sie von anderen Benutzern dupliziert
wird. Sie kann auf viele Weisen erzeugt werden, entweder zufällig oder
auf Basis der eindeutigen Adresse des Benutzers.
-
Wie
in 5 gezeigt ist, loggt sich das Benutzerendgerät 15 bei
den Zugangsservern von mehreren Internetdiensteanbietern 21, 22, 23,
..., ein, wobei es eine verschiedene Adresse X, Y, Z, ... von jedem
Server erhält
(Schritt 50). Es ist möglich,
zwei oder mehr Verbindungen mit demselben Internetdiensteanbieter
aufzubauen. Manche Internetdiensteanbieter haben jedoch Authentifizierungssysteme, die
dazu entworfen sind, mehrfaches Einloggen desselben Benutzers zu
verhindern, um betrügerischen Zugang
zu verhindern. Solche Authentifizierungssysteme erfordern Neukonfiguration,
um zu ermöglichen,
dass mehrfaches Einloggen stattfindet.
-
Das
Benutzerendgerät 15 macht über einen ersten
Zugangsserver 21 eine anfängliche Anfrage nach Streaming 51,
die den eindeutigen Korrelationscode einschließt.
-
Der
Broadcast-Webserver 13 prüft die Anfrage mit einem Speicher
mit vorherigen Anfragen (Schritt 52), findet jedoch keine
derartigen Anfragen mit demselben Korrelationscode. Da dies die
erste Anfrage nach diesen Daten ist, die der Benutzer 1 gemacht
hat, wurde keine vorangegangene Anfrage aufgezeichnet und der Videostream
wird dem Benutzer 1 auf herkömmliche Weise zurückgeliefert
(Schritt 53).
-
Das
Benutzerendgerät 15 überprüft nun die Datenübertragungsrate
des Videostreams gegenüber
einem zuvor festgelegten Wert (Schritt 54). Wenn die Datenrate
zu gering ist, sendet das Benutzerendgerät 1 eine ähnliche
Anfrage 55, wobei es denselben Korrelationscode verwendet,
aber einen anderen Zugangsserver 22 verwendet.
-
Das
Benutzerendgerät
kann auch damit beginnen, den Videostream mit verringerter Qualität zu zeigen,
die durch die geringe Bitrate erzwungen wird, sodass der Benutzer
sehen kann, was empfangen wird. Alternativ können die Daten gepuffert werden, sodass
der Stream insgesamt mit voller Qualität gezeigt werden kann, wenn
der weitere Stream oder die Streams hinzugefügt wurden. Die Verringerung
der Qualität
der ersten Option wird bevorzugt, wenn Verzögerung unerwünscht ist,
wie etwa wenn ein Echtzeitsignal gesendet wird, oder wenn ein Benutzer mehrere
Eingaben macht, um zu sehen, was verfügbar ist.
-
Der
Webserver 13 überprüft wiederum
die Anfrage 55 mit dem Speicher mit vorangegangenen Anfragen
(Schritt 52), erkennt aber diesmal, dass die Anfragen 51 und 55,
obwohl sie von verschiedenen IP-Adressen 21X und 22V kommen,
tatsächlichen vom
selben Ursprung 1 stammen. Der Server 3 teilt dann
die Daten auf die Verbindungen 21 und 22 entsprechend
der Übertragungsraten
auf, die sie jeweils unterstützen
können
(Schritt 56). Die Information über erreichbare Datenraten
kann z. B. aus der gleitenden TCP-Fenstergröße im aktuellem TCP/IP-Stack
erhalten werden. Die Fenstergröße passt
sich an den Datendurchsatz in der aktuellen Internet-TCP-Sitzung
an, folglich ist sie eine geeignet genaue Wiedergabe des Durchsatzes.
Ein kleiner Umfang an Verwaltungsdaten in den übertragenen Daten ist erforderlich,
um die Reihenfolge anzugeben, in der die Daten wieder zusammengesetzt
werden sollen.
-
Dieser
Prozess wird wiederholt, bis das Benutzerendgerät 1 feststellt (Schritt 54),
dass die Datenübertragungsrate
ausreichend ist (oder alle verfügbar
Adressen verwendet wurden), und die empfangenen Daten werden dann
gepuffert und in der richtigen Reihenfolge wieder zusammengesetzt (Schritt 57).
Folglich ist die effektive Datenrate des Benutzers, wenn er über mehrere
Dienstanbieter 21, 22 und 23 geht, die
Summe der Durchsätze
der Dienstanbieter, statt nur die schnellste allein. Folglich liefern
in diesem Beispiel drei Verbindungen mit 200kb/s 600kb/s. Folglich
kann ein 500kb/s-Fernseh-Stream durch das Zusammenarbeiten der drei Verbindungen
unterstützt
werden, wobei keine von ihnen dies allein könnte. Um Überlastung des Netzes durch
Benutzer zu vermeiden, die riesige Anzahlen von parallelen Zugriffsversuchen
starten, kann die Internetanwendung die Anzahl von Verbindungen
begrenzen, die für
irgendeinen gegebenen Benutzer verfügbar ist. In der Praxis erfährt ein
Benutzer, der versucht, mehr als einige wenige Verbindungen zu verwenden,
keinen größeren Vorteil,
da die Bandbreite seiner eigenen Zugangsverbindung der begrenzende
Faktor wird.
-
Die
Erfindung kann in Verbindung mit der Erfindung verwendet werden,
die in der internationalen Patentanmeldung
WO04/040851 des Anmelders beschrieben
ist, die zum selben Datum wie die vorliegende Anmeldung eingereicht
wurde und die Priorität der
Patentanmeldung des vereinigten Königreichs 0225359.9 in Anspruch
nimmt. Diese andere Anmeldung beschreibt ein Verfahren zur Verbesserung
der Verzögerung
(Verspätung)
eines Signals, indem es vollständig über mehrere
parallele Kanäle
gesendet wird, sodass für
jedes Paket, das zu dem Ziel gesendet wird, das erste Exemplar dieses
Paketes, das ankommt, mit dem ersten Exemplar der anderen Pakete zusammengesetzt
wird, die ankommen, um einen einzelnen Ausgangsstrom zu bilden.
Wenn zum Beispiel sechs Eingabestellen (IP-Adressen) verwendet werden,
kann ein Stream in zwei aufgeteilt werden, um die Bandbreite nach
der vorliegenden Erfindung zu verdoppeln, und diese zwei Streams
werden dann dreimal dupliziert, um die Verzögerung zu verringern.