DE69917308T2 - Rechnerkommunikation mit versorgung der dienstqualität - Google Patents

Rechnerkommunikation mit versorgung der dienstqualität Download PDF

Info

Publication number
DE69917308T2
DE69917308T2 DE69917308T DE69917308T DE69917308T2 DE 69917308 T2 DE69917308 T2 DE 69917308T2 DE 69917308 T DE69917308 T DE 69917308T DE 69917308 T DE69917308 T DE 69917308T DE 69917308 T2 DE69917308 T2 DE 69917308T2
Authority
DE
Germany
Prior art keywords
data
computer
client
client computer
server computer
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
DE69917308T
Other languages
English (en)
Other versions
DE69917308D1 (de
Inventor
Terence Geoffrey Hodgkinson
Younes Cherradi
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69917308D1 publication Critical patent/DE69917308D1/de
Publication of DE69917308T2 publication Critical patent/DE69917308T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5634In-call negotiation
    • 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/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • 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/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

  • Diese Erfindung bezieht sich auf Verfahren zur Datenkommunikation zwischen einem Server-Rechner und einem Client-Rechner.
  • Die Qualität der Dienste (Quality of Service, QoS), die von den Betreibern von Kommunikationsnetzen und -systemen angeboten werden, ist von großer Bedeutung, insbesondere in Bereichen, bei denen eine zuverlässige, schnelle Versorgung mit Information erforderlich ist, z. B. bei Bankgeschäften, Aktienhandel etc. Die Zunahme der Multimediakommunikation über Computernetze, zum Beispiel Audio- und Videoübertragung, Fernsehversorgung und Rundfunk etc. führt zu einer Zunahme der Schwierigkeiten, die im Zusammenhang mit der Versorgung aller Anwender mit diesen Diensten bei akzeptabler QoS auf Grund der hohen Bandbreiten und der Echtzeitverarbeitung der Daten bestehen. Während es möglich ist, eine gewünschte QoS durch Erweiterung der Netzkapazität zu erreichen, d. h. durch Erweiterung der Kapazität der Übertragungsverbindungen und durch Erweiterung der Schaltkapazitäten von Switch-Vorrichtungen und Routern, wird dadurch ein erheblicher Aufwand an Kapital notwendig, und diese Investition kann die Kosten für die bereitgestellten Dienste prohibitiv erhöhen. Es ist klar, dass es erhebliche Vorteile bringt, wenn Dienste mit gegebener QoS angeboten werden können, ohne Netzinvestitionen in einer derart hohen Größenordnung vornehmen zu müssen.
  • Ein typisches Beispiel für die Netzwerk-Ressourcen, die benötigt werden, um garantierte QoS-Pegel einzuhalten, sind die verbindungsbasierenden Netze und verbindungslosen Netze. Ein Beispiel für verbindungsbasierende Netze ist das öffentliche Telefonwahlnetz (Public Switched Telephone Network, PSTN), bei dem eine Verbindung durch das Wählen der entsprechenden Telefonnummer hergestellt wird. Ein Beispiel für ein verbindungsloses Netz ist das Internet, bei dem Da tenpakete über das Netz zu ihrem Bestimmungsort weitergeleitet werden, wobei der Anwender keinerlei Kontrolle über den Weg hat, den die einzelnen Pakete nehmen. Der Nachteil beim Einrichten einer Verbindung besteht darin, dass im Allgemeinen ein hoher Preis dafür bezahlt werden muss, die Verbindung aufrechtzuerhalten und somit die Übertragung der Information zu garantieren, während die Übertragung einer Folge von Paketen auf die verbindungslose Art auf Grund von Veränderungen bei den zwischengeschalteten Netzelementen gestört sein kann, sei es auf Grund von Versagen der Einrichtungen oder Überlastung des Netzes. Die Unterbrechung bei einer Folge von Paketen ist ein geringeres Problem, wenn beispielsweise eine Textdatei von einem Server-Rechner heruntergeladen wird. Bei Echtzeitdaten, wie zum Beispiel Video oder Audio, ist die Unterbrechung einer Paketfolge, so dass Pakete außerhalb ihrer Reihenfolge oder mit einer niedrigeren Rate als für die Wiedergabe erforderlich ankommen, mit schwerwiegenderen Folgen verbunden. Dementsprechend gibt es insbesondere im Zusammenhang mit Computerkommunikationsvorgängen den Wunsch, die Qualität des Dienstes, der über verbindungsbasierende Übertragungsverfahren bereitgestellt wird, ohne zusätzliche Kosten für das Herstellen einer Verbindung aufrechtzuerhalten.
  • In der europäischen Patentanmeldung EP 0 853 404 wird ein Relais-Knoten beschrieben, an dessen Eingang Videodaten anliegen, die eine hohe Änderungsrate aufweisen. Am Ausgang werden die gleichen Videodaten mit einer gleichförmigeren Rate erzeugt. Der Relais-Knoten enthält schnelle und langsame Speichereinrichtungen – die langsame Speichereinrichtung wird verwendet, wenn der verbleibende Platz in dem schnellen Speicher unter einen Schnellenwert sinkt.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Übertragen von Daten von einem Server-Rechner zu einem Client- Rechner über ein Kommunikationsnetz angegeben, wobei die Daten zwischen dem Server- und dem Client- Rechner durch einen Netzknoten weitergeleitet werden; wobei der Netzknoten einen Eingang zum Empfangen von Daten von dem Server-Rechner aufweist, wobei der Eingang mit einem ersten und einem zweiten Pufferelement verbunden ist, wobei die Pufferelemente mit einem Ausgangskanal einer vorgegebenen Bandbreite verbunden sind, wobei dem ersten Pufferelement vorzugsweise ein Teil der Ausgangsbandbreite zugeordnet ist und dem zweiten Pufferelement der restliche Teil der Ausgangsbandbreite zugeordnet ist, so dass die Pakete, die in dem ersten Pufferelement empfangen wurden, bevorzugt gegenüber denjenigen Paketen übertragen werden, die in dem zweiten Pufferelement empfangen wurden, wobei das Verfahren umfasst:
    • (i) Übertragen von Daten von dem Server-Rechner an den Client-Rechner unter Verwendung des ersten Pufferelements des Netzknotens, wobei das Verfahren gekennzeichnet ist durch:
    • (ii) Übertragen von Daten von dem Server-Rechner an den Client-Rechner unter Verwendung des zweiten Pufferelements des Netzknotens nach Empfang eines ersten Steuersignals von dem Client-Rechner durch den Server-Rechner. Zusätzlich kann das Verfahren als weiteren Schritt umfassen:
    • (iii) Neuaufnahme der Übertragung von Daten von dem Server-Rechner an den Client-Rechner unter Verwendung des ersten Pufferelements des Netzknotens nach Empfang eines zweiten Steuersignals von dem Client-Rechner durch den Server-Rechner. Das erste Steuersignal kann durch den Client-Rechner in Abhängigkeit davon erzeugt werden, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen ersten, oberen Schwellenwert erreicht. Das zweite Steuersignal kann durch den Client-Rechner in Abhängigkeit davon erzeugt werden, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen zweiten Schwellenwert erreicht, der unter dem ersten Schwellenwert liegt.
  • Darüber hinaus kann der Kommunikationspfad zwischen dem Server-Rechner und dem Client-Rechner mehr als einen Netzknoten aufweisen, und die Auswahl entweder des ersten oder des zweiten Pufferelements in Abhängigkeit von einem Steuersignal erfolgt innerhalb eines oder mehrerer der Netzknoten auf dem Kommunikationspfad zwischen dem Server-Rechner und dem Client-Rechner.
  • Ein Datenträger kann einen Code enthalten, der durch einen Rechner ausgeführt werden kann, so dass er in einen Rechner geladen werden kann, um eines der obigen Verfahren durchzuführen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Empfangen von Daten von einem Server-Rechner durch einen Client-Rechner angegeben, wobei die Daten über ein Kommunikationsnetz durch einen Netzknoten weitergeleitet werden, wobei der Netzknoten einen Eingang zum Empfangen von Daten von dem Server-Rechner aufweist, wobei der Eingang mit einem ersten und einem zweiten Pufferelement verbunden ist, wobei die Pufferelemente mit einem Ausgangskanal einer vorgegebenen Bandbreite verbunden sind, wobei dem ersten Pufferelement vorzugsweise ein Teil der Ausgangsbandbreite zugeordnet ist und dem zweiten Pufferelement der restliche Teil der Ausgangsbandbreite zugeordnet ist, so dass die Pakete, die in dem ersten Pufferelement empfangen wurden, bevorzugt gegenüber denjenigen Paketen übertragen werden, die in dem zweiten Pufferelement empfangen wurden, wobei das Verfahren umfasst:
    • (i) Empfangen von Daten von dem Server-Rechner durch den Client-Rechner über das erste Pufferelement des Netzknotens, wobei das Verfahren gekennzeichnet ist durch:
    • (ii) Empfangen von Daten von dem Server-Rechner über das zweite Pufferelement des Netzknotens durch den Client-Rechner in Abhän gigkeit von der Übertragung eines ersten Steuersignals von dem Client-Rechner an den Server-Rechner. Zusätzlich kann das Verfahren als weiteren Schritt umfassen:
    • (iii) Neuaufnahme der Übertragung von Daten von dem Server-Rechner an den Client-Rechner unter Verwendung des ersten Pufferelements des Netzknotens nach Empfang eines zweiten Steuersignals von dem Client-Rechner durch den Server-Rechner.
  • Das erste Steuersignal kann durch den Client-Rechner in Abhängigkeit davon erzeugt werden, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen ersten, oberen Schwellenwert erreicht. Das zweite Steuersignal kann durch den Client-Rechner in Abhängigkeit davon erzeugt werden, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen zweiten Schwellenwert erreicht, der unter dem ersten Schwellenwert liegt. Außerdem kann die Kommunikationsleitung zwischen Server-Rechner und dem Client-Rechner mehr als einen Netzknoten umfassen, und die Auswahl entweder des ersten oder des zweiten Pufferelements kann in Abhängigkeit von einem Steuersignal in einem oder mehreren derjenigen Netzknoten erfolgen, über die die Kommunikationsleitung zwischen dem Server-Rechner und dem Client-Rechner verläuft. Ein Datenträger kann einen Code enthalten, der durch einen Rechner ausgeführt werden kann, so dass er in einen Rechner geladen werden kann, um eines der obigen Verfahren durchzuführen.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Server-Rechner zum Übertragen von Daten an einen Client-Rechner über ein Kommunikationsnetz geschaffen, wobei die Daten durch einen Netzknoten weitergeleitet werden, wobei die Daten von dem Server-Rechner als mehrere Datenpakete übertragen werden; wobei der Server-Rechner im Betrieb Datenpakete überträgt, die eine erste Identifizierung enthalten, um die bevorzugte Weiterleitung der Daten pakete an den Client-Rechner in dem Netzknoten zu ermöglichen, und der Server-Rechner dadurch gekennzeichnet ist, dass der Server-Rechner in Abhängigkeit von einem ersten Steuersignal von dem Client-Rechner Datenpakete überträgt, die eine zweite Identifizierung enthalten, um die bevorzugte Weiterleitung von Datenpaketen an den Client-Rechner in dem Netzknoten zu verhindern. Zusätzlich kann der Server-Rechner in Abhängigkeit von einem zweiten Steuersignal von dem Client-Rechner Datenpakete übertragen, die die erste Identifizierung enthalten, um die bevorzugte Weiterleitung der Datenpakete an den Client-Rechner in dem Netzknoten erneut zu ermöglichen.
  • Ausführungsformen der Erfindung werden im Folgenden als Beispiel beschrieben, wobei Bezug genommen wird auf die beigefügten Zeichnungen.
  • 1 zeigt eine schematische Darstellung eines Kommunikationsnetzes, bei dem ein Kommunikationsverfahren gemäß der Erfindung eingesetzt werden kann.
  • 2 zeigt eine weitere schematische Darstellung eines Kommunikationsnetzes, bei dem ein Kommunikationsverfahren gemäß der Erfindung eingesetzt werden kann.
  • 3 zeigt eine schematische Darstellung eines Kommunikationsnetzes, bei dem ein Kommunikationsverfahren gemäß einer weiteren Ausführungsform der Erfindung eingesetzt werden kann.
  • 1 zeigt eine schematische Darstellung eines Kommunikationsnetzes, bei dem ein Kommunikationsverfahren gemäß der Erfindung eingesetzt werden kann. Der Server-Rechner 10 ist mit einem Client-Rechner 20 über ein verbindungsloses Kommunikationsnetz 30 verbunden, das wenigstens einen Netzknoten 40 auf dem Kommunikati onspfad zwischen dem Server-Rechner 10 und dem Client-Rechner 20 enthält. Jeder Netzknoten umfasst zwei Pufferelemente 41 und 42, in denen ankommende Pakete bei ihrer Ankunft in jedem Netzknoten einsortiert werden. Ein Flag in dem Header jedes Datenpakets legt fest, welches Pufferelement für das Paket gewählt werden soll. Eines der Pufferelemente 41 ist als Puffer hoher Priorität bestimmt, während das andere Pufferelement 42 als Puffer niedrigerer Priorität bestimmt ist. Der Puffer 41 hoher Priorität hat bevorzugten Zugriff auf den Ausgang des Netzknotens, so dass ein Großteil der Bandbreite, die von dem Netzknoten belegt wird, für den Puffer hoher Priorität reserviert ist. Der Rest der Ausgangsbandbreite des Netzknotens ist für den Puffer 42 niedrigerer Priorität reserviert, wenn der Puffer hoher Priorität jedoch die ihm zugeordnete Bandbreite nicht voll nutzt, kann der Puffer niedriger Priorität die Bandbreite temporär nutzen, die dem Puffer hoher Priorität zugeordnet ist, bis der Puffer hoher Priorität Bedarf anmeldet, wieder seine zugewiesene Bandbreite zu nutzen. Die Pufferelemente können Puffer beliebiger bekannter Form sein, beispielsweise Schreib-Lesespeicher (Random Access Memory), Verzögerungsleitungen, etc., und sie können entweder elektronische oder optische Pufferelemente sein, je nach Aufbau des Netzknotens. Die beiden Pufferelemente 41 und 42 können virtuell oder physikalisch voneinander getrennt sein. Der Netzknoten kann mehr als ein Pufferelement hoher Priorität und/oder mehr als ein Pufferelement niedriger Priorität umfassen.
  • Ein Beispiel für einen derartigen Netzknoten findet man in der internationalen Patentanmeldung GB98/02727. Der Netzknoten kann ein IP-(Internet Protocol)Router, ein ATM-(Asynchronous Transfer Mode)Switch, der IP-Daten über ein ATM-Netz weiterleitet, oder eine Einrichtung mit ähnlicher oder äquivalenter Funktion sein.
  • Die Kommunikation wird durch den Client-Rechner initiiert, der eine Anfrage an den Server-Rechner richtet, eine Daten-Ressource zu übermitteln, wie zum Beispiel eine Audio- oder Videodatei in Echtzeit, die auf dem Server-Rechner oder an anderer Stelle, jedoch unter der Kontrolle des Server-Rechners abgespeichert ist. Die Anfrage beinhaltet genügend Information bezüglich des Client-Rechners (beispielsweise wenigstens eine Netzadresse des Client-Rechners), so dass der Server-Rechner eine Folge von Datenpaketen an den Client-Rechner schicken kann. Ein Flag in dem Header jedes übertragenen Datenpakets in der Folge bewirkt, dass die Folge von Paketen in den Puffer hoher Priorität bei jedem Netzknoten auf dem Kommunikationspfad zwischen dem Server-Rechner und dem Client-Rechner geschaltet wird. Dieses hat zur Folge, dass die Datenpakete an den Client-Rechner mit wenigstens der geringsten garantierten Ausgaberate übertragen werden.
  • Die garantierte Ausgaberate kann durch den Client-Rechner angefordert werden, wenn die Ausgabe der Echtzeit-Daten-Ressource benötigt wird. Typischerweise wird die obere Grenze für die garantierte Ausgaberate je nach Übertragungsrate festgelegt, die über die langsamste Kommunikationsverbindung auf dem Server-Rechner-Client-Rechner-Kommunikationspfad zur Verfügung steht. Dies kann die Verbindung zwischen dem Client-Rechner und dem Kommunikationsnetz sein, wobei es sich um ein Einwähl-Modem oder einen Terminal-Adapter für die Verbindung eines LAN mit dem Kommunikationsnetz handeln kann. Der niedrigere Grenzwert für die garantierte Ausgaberate kann je nach Wiedergaberate festgelegt werden, die für die Echtzeit-Daten-Ressource erforderlich ist. Wenn der Anwender des Client-Rechners jedoch bereit ist, vor der Aufnahme der Wiedergabe der Daten zu warten und genügend Kapazität des lokalen Cache hat, so kann der Server je nach Bedarf bei dem Client Daten an den Client mit einer Rate schicken, die niedriger als die Wiedergaberate ist. Wenn die Ausgabe von Daten unter Verwendung des Pufferelements hoher Priorität bei jedem Netzknoten erfolgt, so sollte die tatsächliche Ausgaberate signifikant über den kleinsten Werten für die garantierte Ausgaberate liegen. Wenn die Daten an den Client über einen Proxy-Server oder ein Netz-Cache in einen zweiten Server-Rechner ausgegeben werden, so ist es möglich, dass die Datenfolge an den Proxy-Server mit höherer Rate als der Client-Ausgaberate ausgegeben wird, wobei der Proxy-Server die zusätzlichen Daten im Cache zwischenspeichert.
  • Unter den meisten Umständen empfängt der Client-Rechner die Folge von Datenpaketen mit einer Rate, die wesentlich größer ist als die, die für die Wiedergabe der Echtzeit-Daten-Ressource erforderlich ist. Die überschüssigen Daten, die von dem Client-Rechner empfangen werden, müssen in einem Cache-Speicher abgelegt werden, so dass sie für die Wiedergabe zur Verfügung stehen, wenn dies erforderlich wird. Dieser Cache-Speicher kann ein lokaler Speicher sein, beispielsweise ein RAM-Speicher oder ein Laufwerk, oder es kann sich um einen abseits von dem Client-Rechner befindlichen Speicher handeln, der jedoch unter der Kontrolle des Client-Rechners ist (beispielsweise ein Netz-Cache-Speicher oder ein Plattenbereich eines Servers, der über ein LAN mit dem Client-Rechner verbunden ist. In diesem Fall ist die Datenübertragungsrate von einem solchen entfernten Cache-Speicher wesentlich größer anzusetzen als die Wiedergaberate irgendeiner Echtzeit-Daten-Ressource, so dass der Transfer von Daten von dem entfernten Cache-Speicher zu dem Client-Rechner nicht für die Begrenzung der Kommunikationsverbindung steht.). Die Größe des lokalen Cache-Speichers hängt im wesentlichen von den Möglichkeiten des Client-Rechners ab, aber es besteht die Möglichkeit, dass der Umfang der überschüssigen Daten, die von dem Client-Rechner empfangen werden, größer als die Kapazität des lokalen Cache-Speichers ist. Um einen Überlauf des lokalen Cache- Speichers zu verhindern, infolgedessen es zu einem Datenverlust käme, ist es notwendig, dass der Client eine Steuernachricht an den Server-Rechner schickt, wenn der lokale Cache-Speicher bis zu einem oberen Schwellenwert aufgefüllt ist, der kleiner (typischerweise nur wenig kleiner) als die Gesamtkapazität des lokalen Cache-Speichers sein sollte (womit der Zeit Rechnung getragen wird, die für die Übertragung und Verarbeitung der Steuernachricht benötigt wird).
  • Die Steuernachricht bewirkt bei Empfang durch den Server-Rechner, dass der Server-Rechner die Internet-Arbeitsprotokolle veranlasst, das Flag umzusetzen, mit dem überwacht wird, in welches Netzknotenpufferelement die Datenfolgen geschaltet werden, so dass die Datenpakete in das Pufferelement niedriger Priorität in jedem Netzknoten auf dem Kommunikationspfad zwischen dem Server und dem Client umgeleitet werden. Dies hat den Effekt, dass die garantierte Ausgabe der Datenpaketfolgen an den Client angehalten wird, wobei die Folge der Datenpakete auf der Basis des "geringsten Aufwandes" ausgegeben wird. Außerdem bedeutet die Verwendung des Puffers niedriger Priorität, dass Pakete zwischen Server und Client verloren gehen können oder dass Datenpakete außerhalb ihrer Reihenfolge in der Datenpaketfolge ankommen. Wenn diese Effekte eintreten, müssen die Protokolle, die zur Steuerung der Kommunikation zwischen dem Server und dem Client eingesetzt werden, in der Lage sein, dies zu korrigieren, d. h. die erneute Übertragung von Paketen anzufordern und Pakete außerhalb ihrer Reihenfolge neu einzuordnen.
  • Wenn der Client die Paketfolge mit einer Rate erhält, die noch über der Wiedergaberate der Echtzeit-Daten-Ressource liegt, so wird der lokale Cache-Speicher weiterhin gefüllt werden, wenngleich mit einer niedrigeren Rate. Dies bedeutet ein wenig belastetes Kommunikationsnetz, was eher selten auftritt. Wenn diese Situation weiterhin fortbestehen sollte, so besteht die Möglichkeit, dass es zu einem Überlauf des lokalen Cache-Speichers kommt, was zu Datenverlust führt. Diese Situation kann umgangen werden, indem der Client ein Steuersignal an den Server schickt, mit dem der Server aufgefordert wird, die Datenfolge mit einer niedrigeren Rate zu übertragen. Wenn niedrige Anforderungen außerdem sowohl an den Puffer hoher Priorität als auch den Puffer niedriger Priorität gestellt werden, so besteht die Möglichkeit, dass die Datenausgaberate tatsächlich angehoben werden kann, wenn der Puffer niedriger Priorität eingesetzt wird. Wenn diese Situation gegeben ist, kann der Client ein Steuersignal an den Server senden, mit dem der Server aufgefordert wird, die Datenfolge mit einer niedrigeren Rate zu übertragen.
  • Wenn die Paketfolge an den Client mit genau der Wiedergaberate der Echtzeit-Daten-Ressource ausgegeben wird, so wird der Speicherpegel des lokalen Cache-Speichers konstant gehalten, bis alle Datenpakete durch den Client empfangen worden sind, wobei zu diesem Zeitpunkt der Speicherpegel des lokalen Cache-Speichers abnehmen wird, da der Rest der Echtzeit-Daten-Ressource aus dem lokalen Cache-Speicher heraus wiedergegeben wird.
  • Wenn die Paketfolge an den Client mit einer kleineren als der Wiedergaberate ausgegeben wird, so wird der Speicherpegel des lokalen Cache-Speichers mit einer Rate abnehmen, die gleich der Differenz zwischen der Wiedergaberate und der Datenausgaberate ist. Wenn der lokale Cache-Speicher relativ groß ist und die Rate, mit der der lokale Cache-Speicher geleert wird, relativ klein ist, so kann die gesamte Echtzeit-Daten-Ressource empfangen werden und dann durch den Client wiedergegeben werden, ohne dass der lokale Cache-Speicher geleert wird und Daten verlorengehen. Wenn der lokale Cache-Speicher jedoch relativ klein ist und die Rate, mit der der lokale Cache-Speicher geleert wird, relativ groß ist, so wird der lokale Ca che-Speicher geleert werden, während die Datenpaketfolge mit einer Rate ausgegeben wird, die niedriger ist, als es für die Wiedergabe erforderlich ist, was zu einem teilweisen oder vollständigen Verlust der Wiedergabe der Echtzeit-Daten-Ressource führt. Um dies zu vermeiden, sendet der Client eine zweite Steuernachricht an den Server, wenn der Speicherpegel des lokalen Cache-Speichers auf einen niedrigeren Schwellenwert sinkt, der wenigstens etwas über dem Punkt liegen sollte, an dem der lokale Cache-Speicher leer wird. Diese zweite Steuernachricht bewirkt bei ihrem Empfang durch den Server-Rechner, dass der Server-Rechner das Flag verändert, mit dem kontrolliert wird, in welches Netzknotenpufferelement die Datenpakete geschaltet werden, was dazu führt, dass die Datenpakete in das Pufferelement hoher Priorität in jedem Netzknoten auf dem Kommunikationspfad zwischen dem Server und dem Client geschaltet werden. Dies hat den Effekt, dass die garantierte Ausgabe der Datenpaketfolge an den Client wieder aufgenommen wird, wodurch die Rate angehoben wird, mit der die Datenpaketfolge durch den Client empfangen wird, und der Client veranlasst wird, ausreichend Daten für die unterbrechungsfreie Wiedergabe der Echtzeit-Daten-Ressource zu empfangen, während gleichzeitig der Speicherpegel des lokalen Cache-Speichers angehoben wird.
  • Dieser Prozess kann je nach Bedarf iterativ wiederholt werden, wobei die Datenausgaberate in dem Maße gesenkt wird, in welchem sich der Speicherpegel des lokalen Cache-Speichers dem oberen Schwellenwert nähert, und die Datenausgaberate in dem Maße angehoben wird, in welchem der Speicherpegel des lokalen Cache-Speichers den niedrigeren Schwellenwert erreicht, bis die gesamte Daten-Ressource an den Client ausgegeben worden ist und vom Client wiedergegeben wurde.
  • Bei dem Kommunikationsnetz gemäß der Erfindung kann das Standard-Internet-Arbeitsprotokoll eingesetzt werden, d. h. TCP/IP, aber die Erfindung kann auch unter Verwendung irgendeines beliebigen verbindungslosen Kommunikationsnetzes implementiert werden. Der Server-Rechner kann ein World Wide Web-(WWW)Server sein, der Client-Rechner kann ein Arbeitsplatzrechner (Personal Computer, PC) oder ein Netzwerkrechner (Network Computer, NC) sein, auf dem ein WWW-Browser-Anwendungsprogramm läuft, wie zum Beispiel Netscape Navigator (Handelsmarke) oder Microsoft Internet Explorer (Handelsmarke), oder es kann sich um ein elektronisches Notizbuch (Personal Digital Assistant, PDA) wie einen Palm Pilot (Handelsmarke) oder einen Psion Organiser (Handelsmarke) handeln. Außerdem können Terminals für Mobilsysteme der dritten Generation (wie zum Beispiel UMTS [Universal Mobile Telephony System]) und mobile Handtelefone mit erweiterter Funktionalität als Client-Rechner verwendet werden.
  • Es versteht sich, dass bei großen Kommunikationsnetzen mehrere Server-Rechner und mehrere Client-Rechner vorhanden sind, wobei viele Datenfolgen zwischen verschiedenen Kombinationen von Servern und Clients übermittelt werden. Um sicherzustellen, dass die Netzknoten auf dem Kommunikationspfad zwischen einem bestimmten Server und einem bestimmten Client in der Lage sind, die Datenfolge mit der garantierten Datenausgaberate zu übertragen, ist es notwendig, dass in gewisser Form eine Zulässigkeitskontrolle bei dem Netzknoten stattfindet. Auf der niedrigsten Ebene kann dieses beinhalten, dass jeder Netzknoten nur eine gewisse Anzahl von Datenfolgen in dem Puffer hoher Priorität zulässt, ohne dass weitere Datenfolgen zugelassen werden, sobald die gesamte Bandbreite, die dem Puffer hoher Priorität zugeordnet wurde, belegt wird. Der Netzknoten kann auch Datenfolgen zurückweisen, wenn es zu wenig Pufferkapazität gibt, um alle Datenfolgen zu berücksichtigen. Eine weitere Über legung ist es, dass eine Datenfolge, die über den Puffer niedriger Priorität übertragen wird, umgeschaltet werden muss auf den Puffer hoher Priorität, wenn der lokale Cache-Speicher des entsprechenden Client-Rechners nahezu leer ist. Um einen effizienten Nutzbetrieb sicherzustellen, ist es notwendig, dass die Wahrscheinlichkeit dafür, dass eine Datenfolge aus dem Puffer niedriger Priorität nicht in dem Puffer hoher Priorität zugelassen wird, klein ist.
  • Eine alternative Variante zu dem oben erläuterten Verfahren, mit der die Frequenz reduziert werden kann, mit der Datenfolgen von einem Puffer in den anderen umgeschaltet werden, lässt sich durch Verwendung von adaptiven Wiedergaberaten verwirklichen, wobei die Grenzen hier durch den Client-Rechner festgelegt werden können. Wenn Daten an den Client unter Verwendung der Puffer hoher Priorität übertragen werden und der Speicherpegel des lokalen Cache-Speichers zunimmt, so ist es wahrscheinlich, dass der obere Schwellenwertpegel erreicht werden wird, was zur Folge hat, dass der Client-Rechner dem Server-Rechner signalisiert, dass die Daten unter Einsatz der Puffer niedriger Priorität übertragen werden sollen. Um dieses zu vermeiden und die Frequenz zu reduzieren, mit der Datenfolgen zwischen den Puffern hin- und hergeschaltet werden, wird durch den Client-Rechner die Wiedergaberate auf der Basis eines Algorithmus angehoben, der von der unmittelbaren mittleren Rate abhängt, mit der der Wiedergabepuffer gefüllt wird. Unter der Bedingung, dass die Wiedergaberate sich nicht zu schnell ändert und innerhalb bestimmter Grenzen verbleibt, kann die Wiedergabequalität innerhalb akzeptabler Grenzen gehalten werden. Wenn auf ähnliche Art der Speicherpegel des lokalen Cache-Speichers abnimmt, so kann die Wiedergaberate adaptiv zurückgenommen werden, um die Möglichkeit zu verringern, dass der untere Schwellenwert erreicht wird. Die Grenzen der Wiedergaberate können in Abhängigkeit von der Übertragungsleistungsfähigkeit oder Auslastung des Netzes oder durch den Anwender des Client-Rechners festgelegt werden. Diese Technik ist besonders nützlich bei der Ausstrahlung, da verschiedene Anwender in den Ausstrahlungsgruppen mit verschiedenen Auslastungsbedingungen konfrontiert sein können, und die Steuerung der Server unter diesen Bedingungen kann wenig vorteilhaft sein, es sei denn, sie ist absolut unumgänglich.
  • Dieser Ansatz stellt in erster Linie ein Verfahren für die temporäre Verzögerung jeglicher Aktion außer derjenigen in dem Client dar, um auf vorübergehende Überlastungen zu reagieren. Die Vorteile bestehen darin, dass auf kurzfristige Überlastungen reagiert werden kann, ohne den/die Puffer ändern zu müssen, der/die eingesetzt wird/werden, um Datenfolgen zu übertragen, und dass die Anzahl der Steuersignale, die in dieser Phase erzeugt werden können, reduziert wird.
  • Ein weiteres alternatives Verfahren zum Übertragen von Echtzeitdaten an den Client ist vorstellbar, wenn die Anfrage durch den Client an den Server zur Initiierung der Übertragung von der Echtzeit-Daten-Ressource zusätzliche Befehle enthält, die dafür sorgen, dass definierte Abschnitte der Echtzeit-Daten-Ressource unter Verwendung der ausgewählten Puffer übertragen werden. Beispielsweise könnte der Server durch die Anfrage angewiesen werden, eine definierte Anzahl von Bits unter Verwendung des Puffers hoher Priorität zu übertragen und dann unter Verwendung des Puffers niedriger Priorität mit der Übertragung des Restes der Echtzeit-Daten-Ressource zu beginnen. Der Client würde in diesem Fall die Kenntnis über die eigenen Ressourcen und Verarbeitungsgeschwindigkeiten, momentane Netzleistungsfähigkeit etc. nutzen, um die Anzahl von Bits festzulegen, die unter Verwendung des Puffers hoher Priorität übertragen werden sollen. Damit umgeht man die Notwendigkeit, dass der Client eine Steuernachricht an den Server senden muss, wenn der Speicherpegel des lokalen Cache-Speichers den oberen Schwellen wert erreicht. Dieser Ansatz kann auch eingesetzt werden, wenn eine Rückkehr zu dem Puffer hoher Priorität durch den Speicherpegel des lokalen Cache-Speichers veranlasst wird, wodurch der vorgegebene niedrige Schwellenwert abgesenkt wird. Dabei fordert der Client, dass ein Anteil der Echtzeit-Daten-Ressource unter Verwendung des Puffers hoher Priorität übertragen wird, wobei die Größe des Anteils derart berechnet wird, dass der Speicherpegel des lokalen Cache-Speichers auf etwa den oberen Schwellenwert zurückgesetzt wird.
  • Ein Vorteil dieses Verfahrens besteht darin, dass bei der Rückkehr zum Einsatz des Puffers hoher Priorität der Server in der Lage ist, dem/den Netzwerkknoten die Anzahl von Bits mitzuteilen, die unter Verwendung des Puffers hoher Priorität übertragen werden würden, wodurch ausgefeilte Techniken für die effiziente Kontrolle der Benutzung des Puffers hoher Priorität eingesetzt werden können.
  • 3 zeigt eine schematische Darstellung eines Kommunikationsnetzes, bei dem ein Kommunikationsverfahren gemäß einer alternativen Ausführungsform der Erfindung eingesetzt werden kann. Der Server-Rechner 10 ist mit dem Server-Rechner 20 über ein Kommunikationsnetz 130 verbunden.
  • Über das Kommunikationsnetz 130 können Daten zwischen Computern verschickt werden, die mit dem Kommunikationsnetz verbunden sind, und zwar unter Verwendung von Kommunikationsverbindungen, die verschiedenen Dienstqualitäts-(QoS)Klassen angehören, das heißt einige der Kommunikationsverbindungen bieten eine höhere Klasse bezüglich QoS, während andere der Kommunikationsverbindungen eine niedrigere Klasse von QoS bieten. Im Allgemeinen gilt, je höher die Ebene der QoS ist, die bei der Kommunikationsverbindung zur Verfügung gestellt wird, desto höher ist die Ebene der Ressourcen, die erforderlich sind für die Kommunikationsverbindung.
  • Das Kommunikationsnetz umfasst wenigstens eine Kommunikationsverbindung 50 hoher Qualität zwischen dem Server-Rechner 10 und dem Client-Rechner 20. Die Kommunikationsverbindungen 50 hoher Qualität bieten eine garantierte Qualität bei den Diensten in Bezug auf die Übertragung zwischen Server-Rechner und Client-Rechner, d. h. sie gehören zu einer höheren Klasse bezüglich QoS. Das Kommunikationsnetz umfasst außerdem wenigstens eine Kommunikationsverbindung 60 niedriger Qualität zwischen dem Server-Rechner 10 und dem Client-Rechner 20. Die Kommunikationsverbindungen niedrigerer Qualität bieten entweder eine garantierte Dienstqualität mit niedrigerem QoS-Pegel als eine Kommunikationsverbindung hoher Qualität, oder es werden Daten auf der Basis des "geringsten Aufwands" übermittelt, d. h. mit einer niedrigen Klasse von QoS.
  • Auf ähnliche Art, wie sie oben beschrieben wurde, werden Daten von dem Server-Rechner 10 unter Verwendung der Kommunikationsverbindung 50 hoher Qualität auf Anfrage von dem Client-Rechner, ihm von dem Server-Rechner eine Echtzeit-Daten-Ressource zu schicken, an den Client-Rechner 20 übertragen. Wenn die Datenfolge an den Client-Rechner mit einer größeren Rate als der Wiedergaberate der Echtzeit-Daten-Ressource übermittelt wird, so werden die "Überschuss"-Daten in einem lokalen Cache-Speicher in dem Client-Rechner gespeichert. Um zu vermeiden, dass der lokale Cache-Speicher überläuft, sendet der Client-Rechner eine Steuernachricht an den Server-Rechner, wenn ein oberer Schwellenwert bezüglich der Cache-Kapazität erreicht wird. Die Steuernachricht veranlasst den Server-Rechner, die Datenübertragung von der Kommunikationsverbindung hoher Qualität auf eine Kommunikationsverbindung niedriger Qualität umzuschalten. Wenn die Datenausgaberate der Kommunikationsverbindung niedriger Qualität ausreicht, so wird es für den Client-Rechner möglich, die Gesamtheit der Echtzeit-Daten-Ressource zu empfangen und wiederzugeben. Wenn die Datenausga berate der Kommunikationsverbindung niedriger Qualität jedoch erheblich geringer ist als die Wiedergaberate der Echtzeit-Daten-Ressource, so kann ein niedriger Schwellenwert der Kapazität des lokalen Cache-Speichers erreicht werden. Wenn dies eintritt, so wird, um zu verhindern, dass der lokale Cache-Speicher geleert wird und die Wiedergabe der Echtzeit-Daten-Ressource unterbrochen wird, eine weitere Steuernachricht von dem Client-Rechner an den Server-Rechner gesendet. Diese Steuernachricht veranlasst den Server-Rechner, die Datenübertragung von der Kommunikationsverbindung niedriger Qualität auf eine Kommunikationsverbindung hoher Qualität umzuschalten, so dass Daten mit einer Rate an den Client ausgegeben werden, die größer als die Wiedergaberate für die Echtzeit-Daten-Ressource ist. Das Umschalten zwischen Kommunikationsverbindungen hoher Qualität und niedriger Qualität (und umgekehrt) kann so oft wiederholt werden, wie es erforderlich ist, um eine Echtzeit-Daten-Ressource von dem Server-Rechner an den Client-Rechner zu übermitteln.
  • Alternativ kann der Server-Rechner Daten an den Client-Rechner unter Verwendung zunächst der Kommunikationsverbindung niedriger Qualität übermitteln und dann auf eine Kommunikationsverbindung hoher Qualität umschalten.
  • Das Kommunikationsnetz 130 kann ein ATM-(Asynchronous Transfer Mode)Netz sein, was ein verbindungsbasierendes Netz ist, und in diesem Fall können die Kommunikationsverbindungen hoher Qualität in Form von einer virtuellen Vermittlung (Switched Virtual Circuit, SVC) vorliegen, und die Kommunikationsverbindungen niedriger Qualität können durch Übertragung von Daten mittels Verbindungen auf der Basis verfügbarer Bit-Rate (Available Bit Rate, ABR) oder Verbindungen mit konstanter Bit-Rate (Constant Bit Rate, CBR) bei niedriger Übertragungsrate erfolgen.
  • Bei dem Kommunikationsnetz können Internet-Arbeitsprotokolle eingesetzt werden (d. h. ein verbindungsloses Netz), und die Kommunikationsverbindungen hoher Qualität können mit dem Ressourcen-Reservierungsprotokoll (Resource Reservation Set-up Protocol, RSVP) eingerichtet werden, und die Kommunikationsverbindungen niedriger Qualität können unter Einsatz des Internet-Protokolls (Internet Protocol, IP) eingerichtet werden.
  • Es versteht sich, dass die obigen Verfahren zum Übertragen und Empfangen von Daten implementiert werden können, indem geeignete Computerprogramme (ein geeignetes Computerprogramm) auf dem Server-Rechner und dem Client-Rechner implementiert werden (wird). Wenn der Server-Rechner beispielsweise ein WWW-Server ist, dann können derartige Programme parallel zu Software-Programmen laufen, die erforderlich sind, um einen WWW-Server zu betreiben, oder sie können innerhalb eines derartigen WWW-Server-Programms integriert sein. Wenn der Client-Rechner ein PC oder ein NC ist, auf dem ein WWW-Browser läuft, so können (kann) auf ähnliche Weise geeignete Programme (ein geeignetes Programm) integriert werden mit oder parallel laufen zu dem WWW-Browser-Programm. Diese geeigneten Programme können auf einem Datenträger wie zum Beispiel einer Floppy-Disk, einer CD-ROM, einer magneto-optischen Platte, einer DVD (Digital Versatile Disk), etc. abgespeichert werden. Ähnlich können derartige Programme über ein Telekommunikationsnetz zur Verfügung gestellt werden. 2 zeigt Datenträger 70 und 80, auf denen geeignete Programme für Server-Rechner bzw. Client-Rechner abgespeichert sind, und 3 zeigt ähnliche Datenträger 170 und 180, auf denen geeignete Programme für den Server-Rechner bzw. Client-Rechner abgespeichert sind.

Claims (14)

  1. Verfahren zum Übertragen von Daten von einem Server-Rechner (10) zu einem Client-Rechner (20) über ein Kommunikationsnetz (30, 130), wobei die Daten zwischen dem Server- (10) und dem Client-(20)Rechner durch einen Netzknoten (30, 130) weitergeleitet werden; wobei der Netzknoten (30, 130) einen Eingang zum Empfangen von Daten von dem Server-Rechner (19) aufweist, wobei der Eingang mit einem ersten (41) und einem zweiten (42) Pufferelement verbunden ist, wobei die Pufferelemente mit einem Ausgangskanal einer vorgegebenen Bandbreite verbunden sind, wobei dem ersten Pufferelement (41) vorzugsweise ein Teil der Ausgangsbandbreite zugeordnet ist und dem zweiten Pufferelement (42) der restliche Teil der Ausgangsbandbreite zugeordnet ist, so dass die Pakete, die in dem ersten Pufferelement (41) empfangen wurden, bevorzugt gegenüber denjenigen Paketen übertragen werden, die in dem zweiten Pufferelement (42) empfangen wurden, wobei das Verfahren umfasst: (i) Übertragen von Daten von dem Server-Rechner (10) an den Client-Rechner (20) unter Verwendung des ersten Pufferelements (41) des Netzknotens (30, 130), wobei das Verfahren gekennzeichnet ist durch: (ii) Übertragen von Daten von dem Server-Rechner (10) an den Client-Rechner (20) unter Verwendung des zweiten Pufferelements (42) des Netzknotens (30, 130) nach Empfang eines ersten Steuersignals von dem Client-Rechner (20) durch den Server-Rechner (10).
  2. Verfahren zum Übertragen von Daten von einem Server-Rechner (10) an einen Client-Rechner (20) nach Anspruch 1, bei dem das Verfahren als weiteren Schritt umfasst: (iii) Neuaufnahme der Übertragung von Daten von dem Server-Rechner (10) an den Client-Rechner (20) unter Verwendung des ersten Pufferelements (41) des Netzknotens (30, 130) nach Empfang eines zweiten Steuersignals von dem Client-Rechner (20) durch den Server-Rechner (10).
  3. Verfahren zum Übertragen von Daten von einem Server-Rechner (10) an einen Client-Rechner (20) nach Anspruch 1 oder 2, bei dem das erste Steuersignal durch den Client-Rechner (20) in Abhängigkeit davon erzeugt wird, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen ersten, oberen Schwellenwert erreicht.
  4. Verfahren zum Übertragen von Daten von einem Server-Rechner (10) an einen Client-Rechner (20) nach Anspruch 2 oder 3, soweit sich dieser auf Anspruch 2 bezieht, bei dem das zweite Steuersignal durch den Client-Rechner (20) in Abhängigkeit davon erzeugt wird, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen zweiten Schwellenwert erreicht, der unter dem ersten Schwellenwert liegt.
  5. Verfahren zum Übertragen von Daten von einem Server-Rechner (10) an einen Client-Rechner (20) nach einem der vorangehenden Ansprüche, bei dem: die Kommunikationsleitung zwischen Server-Rechner (10) und dem Client-Rechner (20) mehr als einen Netzknoten (30, 130) umfasst und die Auswahl entweder des ersten (41) oder des zweiten (42) Pufferelements in Abhängigkeit von einem Steuersignal in einem oder mehreren derjenigen Netzknoten (39, 10) erfolgt, über welche die Kommunikationsleitung zwischen dem Server-Rechner (10) und den Client-Rechner (20) verläuft.
  6. Datenträger (70, 80, 170, 180) mit einem Code, der durch einen Rechner ausgeführt werden kann, welcher in einen Rechner geladen werden kann, um das Verfahren nach einem der Ansprüche 1 bis 5 durchzuführen.
  7. Verfahren zum Empfangen von Daten von einem Server-Rechner (10) durch einen Client-Rechner (10), wobei die Daten über ein Kommunikationsnetz durch einen Netzknoten (30, 130) weitergeleitet werden, wobei der Netzknoten (30, 130) einen Eingang zum Empfangen von Daten von dem Server-Rechner (19) aufweist, wobei der Eingang mit einem ersten (41) und einem zweiten (42) Pufferelement verbunden ist, wobei die Pufferelemente mit einem Ausgangskanal einer vorgegebenen Bandbreite verbunden sind, wobei dem ersten Pufferelement (41) vorzugsweise ein Teil der Ausgangsbandbreite zugeordnet ist und dem zweiten Pufferelement (42) der restliche Teil der Ausgangsbandbreite zugeordnet ist, so dass die Pakete, die in dem ersten Pufferelement (41) empfangen wurden, bevorzugt gegenüber denjenigen Paketen übertragen werden, die in dem zweiten Pufferelement (42) empfangen wurden, wobei das Verfahren umfasst: (i) Empfangen von Daten von dem Server-Rechner (10) durch den Client-Rechner (20) über das erste Pufferelement (41) des Netzknotens (30, 130), wobei das Verfahren gekennzeichnet ist durch: (ii) Empfangen von Daten von dem Server-Rechner (10) über das zweite Pufferelement (42) des Netzknotens (30, 130) durch den Client-Rechner (20) in Abhängigkeit von der Übertragung eines ersten Steuersignals von dem Client-Rechner (20) an den Server-Rechner (10).
  8. Verfahren zum Empfangen von Daten von einem Server-Rechner (10) durch einen Client-Rechner (20) nach Anspruch 7, bei dem das Verfahren als zusätzlichen Schritt umfasst: (iii) Empfangen von Daten von dem Server-Rechner (10) über das erste Pufferelement (42) des Netzknotens (30, 130) durch den Client-Rechner (20) in Abhängigkeit von der Übertragung eines zweiten Steuersignals von dem Client-Rechner (20) an den Server-Rechner (10).
  9. Verfahren zum Empfangen von Daten von einem Server-Rechner (10) durch einen Client-Rechner (20) nach Anspruch 7 oder 8, bei dem das erste Steuersignal durch den Client-Rechner (20) in Abhängigkeit davon erzeugt wird, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen ersten, oberen Schwellenwert erreicht.
  10. Verfahren zum Empfangen von Daten von einem Server-Rechner (10) durch einen Client-Rechner (20) nach Anspruch 8 oder 9, soweit sich dieser auf Anspruch 8 bezieht, bei dem das zweite Steuersignal durch den Client-Rechner (20) in Abhängigkeit davon erzeugt wird, ob der Umfang der Daten in einem Client-Rechner-Daten-Cache einen zweiten Schwellenwert erreicht, der unter dem ersten Schwellenwert liegt.
  11. Verfahren zum Empfangen von Daten von einem Server-Rechner (10) durch einen Client-Rechner (20) nach einem der Ansprüche 7 bis 10, bei dem: die Kommunikationsleitung zwischen Server-Rechner (10) und dem Client-Rechner (20) mehr als einen Netzknoten (30, 130) umfasst und die Auswahl entweder des ersten (41) oder des zweiten (42) Pufferelements in Abhängigkeit von einem Steuersignal in einem oder mehreren derjenigen Netzknoten (39, 10) erfolgt, über welche die Kommunikationsleitung zwischen dem Server-Rechner (10) und den Client-Rechner (20) verläuft.
  12. Datenträger (70, 80, 170, 180) mit einem Code, der durch einen Rechner ausgeführt werden kann, welcher in einen Rechner geladen werden kann, um das Verfahren nach einem der Ansprüche 7 bis 11 durchzuführen.
  13. Server-Rechner (10) zum Übertragen von Daten an einen Client-Rechner (20) über ein Kommunikationsnetz, wobei die Daten durch einen Netzknoten (30, 130) weitergeleitet werden, wobei die Daten von dem Server-Rechner als mehrere Datenpakete übertragen werden; wobei der Server-Rechner (10) im Betrieb Datenpakete überträgt, die eine erste Identifizierung enthalten, um die bevorzugte Weiterleitung der Datenpakete an den Client-Rechner (20) in dem Netzknoten (30, 130) zu ermöglichen, und der Server-Rechner (10) dadurch gekennzeichnet ist, dass der Server-Rechner (10) in Abhängigkeit von einem ersten Steuersignal von dem Client-Rechner (20) Datenpakete überträgt, die eine zweite Identifizierung enthalten, um die bevorzugte Weiterleitung von Datenpaketen an den Client-Rechner (20) in dem Netzknoten (30, 130) zu verhindern.
  14. Server-Rechner (10) zum Übertragen von Daten an einen Client-Rechner (20) nach Anspruch 13, bei dem der Server-Rechner (10) außerdem in Abhängigkeit von einem zweiten Steuersignal von dem Client-Rechner (20) Datenpakete überträgt, die die erste Identifizierung enthalten, um die bevorzugte Weiterleitung der Datenpakete an den Client-Rechner (20) in dem Netzknoten (30, 130) erneut zu ermöglichen.
DE69917308T 1998-10-15 1999-10-11 Rechnerkommunikation mit versorgung der dienstqualität Expired - Lifetime DE69917308T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB9822550.1A GB9822550D0 (en) 1998-10-15 1998-10-15 Computer communications
GB9822550 1998-10-15
PCT/GB1999/003353 WO2000022795A1 (en) 1998-10-15 1999-10-11 Computer communication providing quality of service

Publications (2)

Publication Number Publication Date
DE69917308D1 DE69917308D1 (de) 2004-06-17
DE69917308T2 true DE69917308T2 (de) 2005-05-12

Family

ID=10840660

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69917308T Expired - Lifetime DE69917308T2 (de) 1998-10-15 1999-10-11 Rechnerkommunikation mit versorgung der dienstqualität

Country Status (10)

Country Link
US (1) US7209437B1 (de)
EP (1) EP1121791B1 (de)
JP (1) JP4536928B2 (de)
CN (1) CN1323483A (de)
AT (1) ATE266922T1 (de)
AU (1) AU6217599A (de)
CA (1) CA2347018C (de)
DE (1) DE69917308T2 (de)
GB (1) GB9822550D0 (de)
WO (1) WO2000022795A1 (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349333B2 (en) * 1997-07-30 2008-03-25 At&T Delaware Intellectual Property, Inc. Associated systems and methods for providing data services using idle cell resources
US6069882A (en) * 1997-07-30 2000-05-30 Bellsouth Intellectual Property Corporation System and method for providing data services using idle cell resources
GB2359209A (en) * 2000-02-09 2001-08-15 Motorola Ltd Apparatus and methods for video distribution via networks
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
EP1239635A1 (de) * 2001-03-07 2002-09-11 BRITISH TELECOMMUNICATIONS public limited company Verfahren zur Bereitstellung von Dienstklassen in einem Paketübertragungsnetzwerk
EP1251669A1 (de) * 2001-04-19 2002-10-23 BRITISH TELECOMMUNICATIONS public limited company Kommunikationsnetzwerk
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US7293100B2 (en) * 2001-08-31 2007-11-06 Adaptec, Inc. Methods and apparatus for partially reordering data packets
US8199647B2 (en) * 2001-09-20 2012-06-12 Nokia Siemens Networks Gmbh & Co. Kg Data transmission in a packet-oriented communication network
EP1326460A1 (de) * 2001-12-21 2003-07-09 Siemens Aktiengesellschaft Verfahren und System zum Funkzellenwechsel in einem zellularen Paketnetzwerk
EP1335535A1 (de) * 2002-01-31 2003-08-13 BRITISH TELECOMMUNICATIONS public limited company Auswahl von Netzwerkdiensten
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
WO2004019521A1 (ja) * 2002-07-31 2004-03-04 Sharp Kabushiki Kaisha データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体
JP4058326B2 (ja) * 2002-10-17 2008-03-05 株式会社エヌ・ティ・ティ・ドコモ 無線基地局、制御装置、無線通信システム及び通信方法
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7616638B2 (en) * 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US9350566B2 (en) * 2003-04-30 2016-05-24 Nokia Technologies Oy Handling traffic flows in a mobile communications network
US7698453B2 (en) 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7085894B2 (en) * 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
US7987268B2 (en) * 2003-10-23 2011-07-26 International Business Machines Corporation Methods and systems for dynamically reconfigurable load balancing
KR100601043B1 (ko) * 2003-11-13 2006-07-14 한국전자통신연구원 패킷을 스케줄링하는 라우터 및 그 방법
US7454496B2 (en) * 2003-12-10 2008-11-18 International Business Machines Corporation Method for monitoring data resources of a data processing network
US8102764B2 (en) * 2004-06-30 2012-01-24 Telecom Italia S.P.A. Method and system for performance evaluation in communication networks, related network and computer program product therefor
WO2006092645A1 (en) * 2005-03-03 2006-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Ip multiservice network and method for making resource reservations for priority traffic
US7676591B2 (en) * 2005-09-22 2010-03-09 Packet Video Corporation System and method for transferring multiple data channels
US7471664B2 (en) * 2005-11-02 2008-12-30 Intel Corporation Network management policy and compliance in a wireless network
CN1825957B (zh) * 2006-03-31 2011-09-07 北京华旗数码技术实验室有限责任公司 一种无线显示装置
US8406402B2 (en) * 2006-06-01 2013-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Service change and service fallback in intelligent networks
US8582972B2 (en) * 2006-08-31 2013-11-12 The Trustees Of Columbia University In The City Of New York Systems and methods for storing optical data
US7706266B2 (en) 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US20080285971A1 (en) * 2007-03-23 2008-11-20 Odile Liboiron-Ladouceur Switch for optical interconnection networks
US8194657B2 (en) * 2007-05-22 2012-06-05 Actiontec Electronics, Inc. Systems and methods for dynamic quality of service
US20080291916A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
US7911948B2 (en) * 2007-10-17 2011-03-22 Viasat, Inc. Methods and systems for performing TCP throttle
CN101540881B (zh) * 2008-03-19 2011-04-13 华为技术有限公司 实现流媒体定位播放的方法、装置及系统
CN101561783B (zh) * 2008-04-14 2012-05-30 阿里巴巴集团控股有限公司 一种Cache异步淘汰的方法和装置
US7844705B2 (en) * 2008-05-30 2010-11-30 General Electric Company Networked image visualization image quality enhancement method and system
US7864676B2 (en) * 2008-07-14 2011-01-04 The Mitre Corporation Network cross-domain precedence and service quality conflict mitigation
CA2759880C (en) * 2009-03-23 2013-09-24 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US20140006537A1 (en) * 2012-06-28 2014-01-02 Wiliam H. TSO High speed record and playback system
US8909196B2 (en) 2012-12-10 2014-12-09 Actiontec Electronics, Inc. Systems and methods for facilitating communication between mobile devices and wireless access points
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
CN106649139B (zh) * 2016-12-29 2020-01-10 北京奇虎科技有限公司 一种基于多个缓存的数据淘汰方法及装置
CN110097393A (zh) * 2019-03-28 2019-08-06 苏州德沃雄氏信息科技有限公司 一种基于saas服务的云收银零售管理方法及管理系统
US20220330096A1 (en) * 2019-08-22 2022-10-13 Lg Electronics Inc. Resource allocation adjustment for low-latency queue

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5125096A (en) * 1988-10-31 1992-06-23 International Business Machines Corporation System for implementing to a packet switch protocol for a multinode data communications network utilizing separate data and control paths
JP2845588B2 (ja) * 1990-08-09 1999-01-13 富士通株式会社 セル交換用バッファメモリ制御回路、および、該セル交換用バッファメモリ制御回路を具備するセル交換機、および、セル交換用バッファメモリの制御方法
JP2886976B2 (ja) * 1990-11-30 1999-04-26 富士通株式会社 Atm交換機の通話路における品質クラス制御方式
JPH0530138A (ja) * 1991-07-25 1993-02-05 Nippon Telegr & Teleph Corp <Ntt> マルチメデイア転送方式
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
FI92362C (fi) 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
EP0657824A1 (de) * 1993-11-05 1995-06-14 Advanced Micro Devices, Inc. Anordnung für Ethernet-Paketempfang
JPH10501110A (ja) * 1994-05-27 1998-01-27 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー チャンネル切換え手段を有するデータ通信システム
CA2168484C (en) * 1995-03-13 2000-12-05 Mehmet Reha Civanlar Client-server architecture using internet and public switched networks
US5917822A (en) 1995-11-15 1999-06-29 Xerox Corporation Method for providing integrated packet services over a shared-media network
JPH1098476A (ja) * 1996-09-25 1998-04-14 Hitachi Ltd インターネットワーク装置
US5875175A (en) 1997-05-01 1999-02-23 3Com Corporation Method and apparatus for time-based download control
JP3213697B2 (ja) * 1997-01-14 2001-10-02 株式会社ディジタル・ビジョン・ラボラトリーズ 中継ノードシステム及び同システムにおける中継制御方法
US5898673A (en) * 1997-02-12 1999-04-27 Siemens Information And Communication Networks, Inc. System and method for prevention of cell loss due to quality of service contracts in an ATM network
US6041039A (en) * 1997-03-20 2000-03-21 Nokia Telecommunications, Oy System and method for determining network bandwidth availability using priority level feedback
US5982736A (en) 1997-05-15 1999-11-09 Pierson; Gerald A. Trading card optical compact disc and methods of using and forming same
AU9084398A (en) * 1997-09-09 1999-03-29 British Telecommunications Public Limited Company Packet network
US6307836B1 (en) * 1997-12-10 2001-10-23 Mci Communications Corporation High-speed transparent access to multiple services
US6108307A (en) 1997-12-12 2000-08-22 Newbridge Networks Corporation Frame relay priority queses to offer multiple service classes
JP3092580B2 (ja) * 1998-03-02 2000-09-25 日本電気株式会社 帯域割当て方法、及び伝送システム
US6320845B1 (en) * 1998-04-27 2001-11-20 Cisco Technology, Inc. Traffic management and flow prioritization on a routed computer network
US6304578B1 (en) * 1998-05-01 2001-10-16 Lucent Technologies Inc. Packet routing and queuing at the headend of shared data channel
US6154778A (en) * 1998-05-19 2000-11-28 Hewlett-Packard Company Utility-based multi-category quality-of-service negotiation in distributed systems
US6229788B1 (en) 1998-05-27 2001-05-08 Nortel Networks Limited Method and apparatus for traffic shaping in a broadband fiber-based access system
US6308281B1 (en) * 1998-09-02 2001-10-23 International Business Machines Corporation Virtual client to gateway connection over multiple physical connections
US6771648B1 (en) * 1999-03-31 2004-08-03 Marconi Communications, Inc. Method and apparatus for a dynamic call admission control algorithm
US6418474B1 (en) * 1999-04-16 2002-07-09 Peerless Systems Corporation Data transfer protocol flow controller and method

Also Published As

Publication number Publication date
JP2002527999A (ja) 2002-08-27
CA2347018A1 (en) 2000-04-20
WO2000022795A1 (en) 2000-04-20
AU6217599A (en) 2000-05-01
EP1121791B1 (de) 2004-05-12
CN1323483A (zh) 2001-11-21
JP4536928B2 (ja) 2010-09-01
EP1121791A1 (de) 2001-08-08
CA2347018C (en) 2009-12-22
DE69917308D1 (de) 2004-06-17
US7209437B1 (en) 2007-04-24
ATE266922T1 (de) 2004-05-15
GB9822550D0 (en) 1998-12-09

Similar Documents

Publication Publication Date Title
DE69917308T2 (de) Rechnerkommunikation mit versorgung der dienstqualität
DE69632425T2 (de) System mit Funkverbindung von variabler Bandbreite
EP1451980A1 (de) Verfahren zur uebertragung von daten von applikationen mit unterschiedlicher qualität
DE60108942T2 (de) System und verfahren zum messungsbasierten adaptiven zwischenspeichen von virtuellen verbindungen
DE60311065T2 (de) Datenübertragungsverfahren für ein mehrbenutzer-mehrpunkt-zu-mehrpunkt-digitaldatenübertragungssystem
EP1133112A2 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
EP1273138B1 (de) Verfahren zum übertragen breitbandiger ip-basierter datenströme in einem punkt-zu-mehrpunkt-kommunikationsnetz
DE60315496T2 (de) Parallelzugriff auf Daten über ein Paketnetzwerk
EP1315340B1 (de) Verfahren und Steuergerät für ein paketorientiertes Datennetzwerk zur Übertragung von Daten in variablen Zeitschlitzen
DE69737343T2 (de) Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten
DE10023037A1 (de) Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld
WO2000036792A1 (de) Verfahren zur bereitstellung einer stabilen qualitätsgüte für datendienste innerhalb eines paketvermittelnden netzes
DE69833124T2 (de) Adaptives prozessorsystem
DE69838965T2 (de) Paketvermittlungsnetzwerk, Paketvermittlungseinrichtung und Netzwerkmanagementeinrichtung
EP1805952A1 (de) Verfahren zur übermittlung von in form von datenpaketen zur verfügung stehenden daten
DE69631744T2 (de) Anlage und Verfahren zur Bandbreitenverwaltung in Netzwerken mit mehreren Diensten
EP1185133A2 (de) Bereitstellen eines Dienstes oder einer Applikation mit einer bestimmten QoS-Klasse
EP0719047B1 (de) Verfahren zur Steuerung eines Verbindungsaufbaus für interaktive Dienste
EP0998093B1 (de) Verfahren zur Übertragung von Rückkanal-Daten in einer Verbindung zwischen einem Endgerät und einem Server eines Paketvermittlungsnetzes
DE69938391T2 (de) Telefonvermittlungsstelle mit integrierten internetzugriffservern
DE10014522C2 (de) Verfahren und Anordnung zur Zulässigkeitsprüfung einer Dienstnutzung
WO1999012312A1 (de) Datenübertragungssystem und verfahren zum übertragen von echtzeit-daten und/oder speicher-daten in datenkommunikationsnetzen
DE19819292A1 (de) Verfahren zum Transfer eines Datensatzes sowie Rechnerknoten und Kommunikations-Applikationen
DE10246034B3 (de) Verfahren zum Betrieb einer, insbesondere heterogenen, Telekommunikationsanlage
EP1047281A2 (de) Verfahren und Vorrichtung zum Bereitstellen von Internet-Diensten mit hoher Qualität

Legal Events

Date Code Title Description
8364 No opposition during term of opposition