DE202009019134U1 - Technik zur Regulierung von Linkverkehr - Google Patents

Technik zur Regulierung von Linkverkehr Download PDF

Info

Publication number
DE202009019134U1
DE202009019134U1 DE202009019134.6U DE202009019134U DE202009019134U1 DE 202009019134 U1 DE202009019134 U1 DE 202009019134U1 DE 202009019134 U DE202009019134 U DE 202009019134U DE 202009019134 U1 DE202009019134 U1 DE 202009019134U1
Authority
DE
Germany
Prior art keywords
conversations
users
server
rate
peering link
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
DE202009019134.6U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202009019134U1 publication Critical patent/DE202009019134U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Ein Computerprogrammprodukt, das in Verbindung mit einem Computersystem verwendet wird, wobei dieses Produkt ein computerlesbares Speichermedium sowie einen darin eingebetteten Computerprogrammmechanismus zum Konfigurieren des Computersystems umfasst, wobei der Mechanismus Folgendes beinhaltet: Anweisungen zum Bestimmen von Rückübertragungsraten von Datenpaketen während eines ersten Satzes an Konversationen zwischen einer Gruppe von Benutzern und dem Server über einen Peering-Link in einem Netzwerk, worin eine angegebene Konversation im ersten Satz der Konversationen innerhalb des ersten Zeitintervalls initiiert wurde; Anweisungen für den Vergleich von Rückübertragungsraten und einer historischen Rückübertragungsrate von Datenpaketen während eines zweiten Satzes an Konversationen zwischen einer zweiten Gruppe von Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im zweiten Satz der Konversationen innerhalb eines zweiten Zeitintervalls auftritt und worin der zweite Satz an Konversationen den ersten Satz an Konversationen umfasst, die zweite Gruppe von Benutzern die erste Gruppe von Benutzern umfasst, und das zweite Zeitintervall das erste Zeitintervall umfasst; Anweisungen zum Anpassen der anvisierten Akzeptanzrate des Servers für Anfragen, um Konversationen mit zusätzlichen Benutzern über den Peering-Link basierend auf dem Vergleich zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate zu initiieren; und Anweisungen zum Anpassen oder Ablehnen einer Anfrage zum Initiieren einer Konversation zwischen einem anderen Benutzer und dem Server über den Peering Link basierend auf einer tatsächlichen Akzeptanzrate des Servers für Anfragen, die Konversationen mit zusätzlichen Benutzern über den Peering-Link und die anvisierte Akzeptanzrate zu initiieren, wobei die Kommunikationsleistung des Peering-Links beibehalten wird.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegenden Ausführungsformen betreffen die Regulierung von Kommunikation. Genauer gesagt, betreffen die vorliegenden Ausführungsformen die Annahme oder Ablehnung von Anfragen, um Konversationen über einen Link in einem Netzwerk zu starten.
  • Verwandtes Gebiet
  • Ein Server in einem Netzwerk, wie dem Internet oder dem World Wide Web (WWW), kann mit Benutzern Daten durch ein multi-homed Netzwerk, das z.B. anhand mehrerer Links verbunden ist, austauschen. Im Allgemeinen können finanzielle Vereinbarungen zwischen dem Betreiber des Servers und den Providern, die die Links betreiben, in zwei Kategorien eingeteilt werden: (1) Vereinbarungen für bezahlten Transit, in denen einer oder mehrere Provider für den Datentransport bezahlt werden und/oder (2) Gegenzugsvereinbarungen, in denen der Serverbetreiber und einer oder mehrere zusätzliche Provider üblicherweise vereinbaren, einander unentgeltlich Datentransfer anzubieten. Während Vereinbarungen für bezahlten Transit üblicherweise den Verkehr zu und von allen Benutzern im Netzwerk über sogenannte ‘Transit'-Links erlauben, bieten 'Peering'-Links in Verbindung mit einer Gegenzugsvereinbarung generell nur den Verkehr, der von oder zu Benutzern gesendet wird, die in einem Subnetzwerk angesiedelt sind, das von dem jeweiligen Partner der Gegenzugsvereinbarung (wie etwa zusätzlichen Providern) betrieben wird.
  • Im Netzwerk werden die Routen für Datenpakete zu oder vom Server üblicherweise durch Nutzung eines Border Gateway Protocol (BGP) bestimmt. Zum Beispiel können Provider von Transitlinks BGP nutzen, um das Ziel, das mit einem oder mehreren Router-Informations-Blöcken (RIBs) verknüpft ist, zu spezifizieren. Im Gegensatz dazu indizieren die zusätzlichen Provider mit Gegenzugsvereinbarung geben üblicherweise nur die RIBs der Benutzer an, die in ihrem Teil des Subnetzwerks angesiedelt sind, weil sie nicht den Verkehr, der mit anderen Benutzern im Netzwerk verknüpft ist, weiterleiten wollen.
  • Leider kann es schwierig sein, die Menge an Verkehr auf den Transitlinks und/oder den Peering-Links zu regulieren, was dazu führen kann, dass der jeweilige Link an die Grenze seiner Kapazität stößt. Der resultierende Überlauf resultiert häufig in einem Abbau der Leistung, wie etwa dem Re-Buffern eines Videos während des Video Streamings. Dieses Problem kann bei Peering-Links deutlich schwerwiegender sein, weil diese im Vergleich zu Transitlinks eher dazu neigen, zu schwach ausgestattet zu sein.
  • ZUSAMMENFASSUNG
  • Eine Ausführungsform bietet ein System zur Regulierung der Kommunikation mit dem Server. Während einer ersten Gruppe an Konversationen zwischen einer Benutzergruppe und dem Server über einen Peering-Link entscheidet das System während des Betriebs über eine Rückübertragungsrate der Datenpakete, wobei die erste Gruppe an Konversationen innerhalb eines ersten Zeitintervalls gestartet wurde. Während einer zweiten Gruppe an Konversationen zwischen einer zweiten Benutzergruppe und dem Server über einen Peering-Link vergleicht das System dann die Rückübertragungsrate und die historische Rückübertragungsrate der Datenpakete, wobei die zweite Gruppe an Konversationen in einem zweiten Zeitintervall stattgefunden hat. In einigen Ausführungsformen beinhaltet die zweite Gruppe an Konversationen die erste Gruppe der Konversationen, die zweite Gruppe der Benutzer beinhaltet die erste Gruppe der Benutzer und das zweite Zeitintervall beinhaltet das erste Zeitintervall.
  • Als nächstes passt das System die anvisierte Akzeptanzrate des Servers für Anfragen über den Peering-Link eine Unterhaltung mit zusätzlichen Teilnehmern zu starten, an, wobei die anvisierte Akzeptanzrate auf dem Vergleich der Rückübertragungsrate und der historischen Rückübertragungsrate basiert. Darüber hinaus, akzeptiert oder lehnt das System Anfragen zum Starten einer Unterhaltung zwischen anderen Benutzern und dem Server über den Peering-Link ab, basierend auf dem Vergleich der tatsächlichen Akzeptanzrate des Servers und der anvisierten Akzeptanzrate, wobei die Kommunikationsleistung des Peering-Links aufrechterhalten wird.
  • In einigen Ausführungsformen beinhaltet das Netzwerk das Internet.
  • In einigen Ausführungsformen beinhaltet das erste Zeitintervall eine Minute und/oder das zweite Zeitintervall beinhaltet einen Tag.
  • In einigen Ausführungsformen beinhaltet die historische Rückübertragungsrate einen Moment für die Verteilung der Rückübertragungsrate während des zweiten Zeitintervalls. Dieser Moment kann zum Beispiel den Medianwert beinhalten.
  • In einigen Ausführungsformen beinhaltet das Netzwerk zumindest einen Transitlink, der mit einem anderen Server verbunden ist, und zumindest ein Transitlink kann den Server mit einem Internet Service Provider (ISP) verbinden. Zum Beispiel kann ISP einem Betreiber des Servers den Transport der Datenpakete in Rechnung stellen. Außerdem kann die Ablehnung einer Anfrage Anweisungen der Umleitung von anderen Benutzern an andere Server beinhalten, wie etwa die Weiterleitung des Verkehrs an einen Backup-Server.
  • In einigen Ausführungsformen akzeptiert oder lehnt das System Anfragen ab, basierend auf der Differenz zwischen tatsächlicher Akzeptanzrate und anvisierter Akzeptanzrate.
  • In einigen Ausführungsformen beinhaltet ein Peering-Link einen siedlungsunabhängigen Link zwischen einem Betreiber des Servers und einer anderen Instanz im Netzwerk. Zum Beispiel können die Instanz und der Betreiber sich auf einen unentgeltlichen Transport von Datenpaketen untereinander einigen.
  • In einigen Ausführungsformen sammelt das System statistische Informationen über die zweite Gruppe an Konversationen, wobei die Rückübertragungsrate, zumindest teilweise, basierend auf den gesammelten statistischen Informationen, ermittelt wird.
  • In einigen Ausführungsformen bestimmt das System, basierend auf Informationen des Border Gateway Protocol (BGP), welche Konversationen wahrscheinlich mit dem Peering-Link verknüpft werden.
  • In einigen Ausführungsformen ist die anvisierte Akzeptanzrate des Servers, die über die Zeit verändert werden kann, größer als ein Minimalwert und kleiner als ein Maximalwert, der fix sein kann. Darüber hinaus, kann die anvisierte Akzeptanzrate des Servers zweimal kleiner als die tatsächliche Akzeptanzrate des Servers sein.
  • In einigen Ausführungsformen wird die anvisierte Akzeptanzrate basierend auf einem Jacobsenschen Kontrollmodel angepasst.
  • In einigen Ausführungsformen wird die anvisierte Akzeptanzrate angepasst, basierend auf der Differenz zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate. Außerdem kann die Akzeptanzrate angepasst werden, wenn die Rückübertragungsrate die historische Rückübertragungsrate um einen vordefinierten Wert übersteigt. Es sei angemerkt, dass die Anpassung auch die Reduzierung der anvisierten Akzeptanzrate um einen multiplikativen Faktor beinhalten kann.
  • Zusätzlich kann das System die anvisierte Akzeptanzrate erhöhen, wenn die Unterhaltung endet. Die anvisierte Akzeptanzrate kann zum Beispiel beim Ende einer Konversation eine additive Erhöhung erfahren, wobei die additive Erhöhung so gewählt wird, dass eine assoziierte Steigerungsrate in der anvisierten Akzeptanzrate geringer ist als die Senkungsrate in der anvisierten Akzeptanzrate, die mit dem multiplikativen Faktor verbunden ist.
  • In einigen Ausführungsformen ist das System durch ein Computersystem implementiert, welches einen Server beinhalten kann oder in einem Server beinhaltet sein kann.
  • Eine andere Ausführungsform bietet ein Verfahren, das zumindest einige der oben beschriebenen Operationen, die vom System ausgeführt werden, beinhaltet.
  • Eine andere Ausführungsform bietet ein Computer-Programm zur Nutzung in Verbindung mit dem System. Dieses Computerprogramm kann die Anweisungen entsprechend zumindest einiger der oben genannten Operationen beinhalten, die durch das System ausgeführt werden.
  • Eine andere Ausführungsform bietet einen Server. Dieser Server kann einen Eingabeknoten beinalten, der konfiguriert ist, sich mit einem Netzwerk zu verbinden, das einen Peering-Link enthält, der konfiguriert ist, Datenpakte zwischen Benutzern und dem Server auszutauschen. Außerdem kann der Server einen Peeringmanager enthalten, der konfiguriert ist, um: die Rückübertragungsrate zu bestimmen, die Rückübertragungsrate mit der historischen Rückübertragungsrate zu vergleichen und eine Anfrage anzunehmen oder abzulehnen.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 ist ein Blockschaltbild, das die Ausführungsform eines Kommunikationssystems veranschaulicht.
  • 2 ist ein Flussdiagramm, das die Ausführungsform eines Prozesses zur Regulierung der Kommunikation mit einem Server veranschaulicht.
  • 3 ist ein Flussdiagramm, das die Ausführungsform eines Prozesses zur Regulierung der Kommunikation mit einem Server veranschaulicht.
  • 4, ist ein Blockschaltbild von einer Ausführungsform eines Systems.
  • 5 ist ein Blockschaltbild, das eine Ausführungsform einer Datenstruktur zeigt.
  • 6 ist ein Blockschaltbild, das eine Ausführungsform einer Datenstruktur zeigt.
  • Gleiche Referenzziffern beziehen sich in allen Zeichnungen auf die dazugehörigen Teile.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung wird vorgelegt, um es einem Fachmann zu ermöglichen, die Ausführungsformen herzustellen und zu verwenden, und wird im Rahmen einer bestimmten Applikation und deren Anforderungen bereitgestellt. Mehrere Änderungen an den offenbarten Ausführungsformen sind für den Fachmann augenscheinlich, und die hierin definierten allgemeinen Grundsätze können auf andere Ausführungsformen und Applikationen übertragen werden, ohne vom Geist und von der Reichweite der gegenwärtigen Ausführungsformen abzuweichen. Somit soll die vorliegende Erfindung nicht auf die hierin dargestellten Ausführungsformen beschränkt sein, sondern den weitest möglichen Umfang haben, der mit den hierin offen gelegten Prinzipien und neuartigen Merkmalen vereinbar ist.
  • Ausführungsformen eines Systems (welches ein Computersystem sein kann), eines Servers, eines Verfahrens und eines Computerprogramms (z.B. Software) zur Nutzung mit dem System und/oder dem Server wie beschrieben. Diese Geräte und Ausführungen können genutzt werden, um die Kommunikation mit dem Server zu regulieren. Insbesondere die anvisierte Akzeptanzrate des Servers (wie etwa Zulassungsziele für eine Anzahl an Bytes pro Sekunde) auf Anfragen, Konversationen mit zusätzlichen oder neuen Benutzern über den Link in einem Netzwerk (wie dem Internet) zu starten, kann angepasst werden, basierend auf einem Vergleich der Rückübertragungsrate der Datenpakete und der historischen Rückübertragungsrate der Datenpakete. Zum Beispiel kann die anvisierte Akzeptanzrate basierend auf einer Differenz zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate angepasst werden. In der folgenden Erläuterung wird ein Peering-Link als Veranschaulichungsbeispiel für einen Link genutzt. Es sei angemerkt, dass der Peering-Link für einen gegebenen Benutzer basierend auf den BGP-Informationen identifiziert wird.
  • Zusätzlich können Anfragen, eine Unterhaltung mit einem anderen Benutzer und dem Server über einen Peering-Link zu starten, angenommen oder abgelehnt werden, basierend auf der tatsächlichen Akzeptanzrate (wie etwa der tatsächlich zulässigen Anzahl an Bytes pro Sekunde) auf Anfragen, eine Unterhaltung mit zusätzlichen Benutzern über einen Peering-Link zu starten, und der anvisierten Akzeptanzrate. Zum Beispiel können Anfragen angenommen oder abgelehnt werden, basierend auf der Differenz zwischen der tatsächlichen Akzeptanzrate und der anvisierten Akzeptanzrate. Auf diese Weise kann die Kommunikationsleistung beim Peering-Link aufrechterhalten werden und/oder die Auslastung des Peering-Links erhöht werden.
  • Es sei angemerkt, dass die Rückübertragungsrate auf Konversationen basieren kann, die zwischen Benutzern und dem Server über den Peering-Link innerhalb eines ersten Zeitintervalls (wie etwa eine Minute) gestartet wurden, und dass die historische Rückübertragungsrate auf Konversationen basieren kann, die zwischen Benutzern und dem Server über den Peering-Link innerhalb eines zweiten Zeitintervalls (wie etwa einem Tag) gestartet wurden.
  • In der folgenden Erklärung kann der Peering-Link einen Link zwischen dem Betreiber des Services und einer anderen Instanz des Netzwerks enthalten. Die Instanz und der Betreiber können sich zum Beispiel auf einen unentgeltliche oder eine siedlungsunabhängige Basis für den Transport von Datenpaketen untereinander einigen (z.B. basierend auf einer Gegenzugsvereinbarung). Während in einigen Ausführungsformen eine Ansiedlung für den Transport von Daten zu einem Peering-Link enthalten sein kann, ist der Peering-Link im Allgemeinen ein Link zwischen zwei Instanzen im Netzwerk, die vereinbaren, Daten zwischen ihren Benutzern kostenlos auszutauschen. Es sei angemerkt, dass die andere Instanz ein ISP sein kann.
  • Außerdem kann ein Transitlink einen Link zwischen dem Server und einem ISP beinhalten, wobei der ISP dem Betreiber des Servers den Transport von Daten zum und vom Server in Rechnung stellt. Eine allgemeinere Definition eines Transitlinks sieht ihn als Link zwischen zwei Instanzen im Netzwerk, wobei zumindest eine der Instanzen der anderen den Transport von Datenpaketen in Rechnung stellt.
  • In einigen Ausführungsformen ist der Betreiber des Servers ein ISP oder ein Anwendungsprovider.
  • Es sei angemerkt, dass das Netzwerk folgendes beinhalten kann: das Internet oder World Wide Web (WWW), ein Intranet, eine lokale Netzwerkumgebung (LAN) (wie etwa IEEE 802.11 oder WiFi), ein Weitverkehrsnetz (WAN) (wie etwa IEEE 802.16 oder WiMAX), ein Glasfasernetz (MAN), ein Satellitennetz, ein Drahtlosnetzwerk (wie etwa ein Mobilfunknetz), ein optisches Netzwerk, und/oder eine Kombination an Netzwerken oder anderen Technologien, die eine Kommunikation zwischen Computersystemen und elektronischen Geräten ermöglichen.
  • Wir beschreiben nun Ausführungsformen eines Kommunikationssystems, die ein Netzwerk enthalten. 1 zeigt ein Blockschaltbild des Kommunikationssystems 100. In diesem System stellt ein Server 110-1 Daten (zum Beispiel ein Videostream) für Benutzer, wie etwa Benutzer 122, über einen Router 112 und ein Netzwerk, wie das Internet, zur Verfügung. Die sogenannten "Verbindungen" oder "Konversationen" zwischen den Benutzern und dem Server 110-1 können über die Links, welche auch Transitlinks 114 und/oder Peering-Links 116 enthalten können, erfolgen. Wie zuvor angemerkt, kann der Peering-Link, der mit einem gegebenen Benutzer verknüpft ist, basierend auf den BGP-Informationen identifiziert werden.
  • Es sein angemerkt, dass die Transitlinks 114 mit ISPs 120-1 und/oder 120-2 verknüpft sein können, während Peering-Links 116 mit ISP 120-3 (und allgemeiner mit einer Instanz im Netzwerk) verknüpft sein können. Außerdem können ISPs 120-1 und 120-2 einen anderen Status oder Ebenen im Netzwerk haben als ISP 120-3 oder der Betreiber des Servers 110-1 (der entweder mit ISPs 120 verknüpft sein kann oder nicht). Zum Beispiel können ISPs 120-1 und 120-2 Tier 1 Provider sein, während ISP 120-3 ein Tier 2 oder 3 Provider sein kann. Jedoch können ISPs 120 unterschiedliche Tier Provider sein oder auch nicht. Des Weiteren, wie bereits erwähnt, können ISPs 120-1 und 120-2 durch den Betreiber des Servers 110-1 für den Transport der Daten bezahlt werden, während ISP 120-3 eine Gegenzugsvereinbarung mit dem Betreiber des Servers 110-1 haben können, d.h., ISP 120-3 können Daten zu und von Benutzern 122 transportieren, die in einem von ISP 120-3 betriebenen Subnetzwerk sind, ohne das dem Betreiber des Servers 110-1 in Rechnung zu stellen, (d.h. siedlungsunabhängiger Transport).
  • Wenn der Server 110-1 die Daten an die Benutzer 122 bereitstellt, können leider einer oder mehrere Peering-Links 116 ihre Maximalkapazität erreichen, obwohl adere Peering-Links in den Peering-Links 116 immer noch große Kapazitäten für weitere Konversationen verfügbar haben. Das kann dazu führen, dass Datenpakete in den betroffenen Peering-Links fallen gelassen werden. Zusätzlich kann dieser Verfall der Leistung aufgrund von Ressourcenbeschränkungen im Server 110-1 auftreten.
  • Um den Herausforderungen an die Leistung zu entsprechen, können einer oder mehrere Server im Kommunikationssystem 100, wie etwa Server 110-1, einen Peeringmanager 124 beinhalten. Der Peeringmanager kann ermitteln, ob eine Anfrage zum Starten einer Unterhaltung mit einem neuen Benutzer über einen gegebenen Peering-Link angenommen wird oder nicht und/oder ob zusätzliche Daten aus einer bestehenden Unterhaltung mit einem oder mehreren Benutzern 122 über den gegebenen Peering-Link angenommen werden oder nicht. die Entscheidung des Peeringmanagers 124 kann zum Beispiel zumindest teilweise auf einer Leistungsmetrik basieren, die mit einem gegebenen Peering-Link verknüpft ist, wie etwa Verlustraten des Transmission Control Protocol (TCP), die innerhalb eines oder mehrerer Zeitintervalle beobachtet werden. Wenn eine Anfrage abgelehnt wird, kann der Peeringmanager 124 Anweisungen zur Verfügung stellen, um einen oder mehrere Benutzer an einer oder mehrere zusätzliche/n Server im Netzwerk, wie etwa Server 110-2, weiterzuleiten.
  • Wie näher untenstehend mit Referenz auf 2 und 3 beschrieben, kann der Peeringmanager 124 während der Operation die Rückübertragungsrate der Datenpakete ermitteln, die im Zuge einer kürzlich gestarteten Konversation (wie etwa in der letzten Minute) über einen gegebenen Peering-Link transportiert werden. Ebenso kann er eine historische Rückübertragungsrate der Datenpakete ermitteln, die im Zuge einer länger dauernden Konversation (wie etwa während des vorherigen Tages) über einen gegebenen Peering-Link transportiert wurden. Basierend auf einem Vergleich dieser Rückübertragungsraten kann der Peeringmanager 124 eine anvisierte Akzeptanzrate oder Ablehnungsrate anpassen, um Anfragen, eine neue Unterhaltung über den gegebenen Peering-Link zu starten, und/oder Anfragen, zusätzliche Daten, die mit einer existierenden Unterhaltung über den gegebenen Peering-Link verknüpft sind, zu empfangen, anzunehmen oder abzulehnen. Außerdem kann der Peeringmanager 124 solche Anfragen basierend auf der anvisierten Akzeptanzrate und der tatsächlichen Akzeptanzrate annehmen oder ablehnen.
  • Es sei angemerkt, dass der Peeringmanager 124 diese Rückübertragungsraten zumindest teilweise unter Nutzung statistischer Informationen, die vom Sammler 126 gesammelt werden, ermittelt. Genauer gesagt, kann der Sammler 126 Informationen über Konversationen, Links und die damit verknüpften Rückübertragungsraten, wie etwa die TCP Verlustraten, innerhalb eines oder mehrerer Zeitintervall/e, sammeln.
  • Es sei außerdem angemerkt, dass die Kommunikation im Netzwerk über verschiedene Hops zwischen Netzknoten 118 auftreten kann. ISP 120-1 und 120-2 können Informationen über die relative Position eines gegebenen Netzknoten in ihrem Subnetzwerk an einen bestimmten Benutzer geben, um die angemessene Weiterleitung oder Rechnungsstellung zu ermitteln. In einigen Ausführungsformen enthält die Information folgendes: BGP-Informationen, RIB-Informationen, und/oder CIDR-Blöcke (Classless Inter-Domain Routing), welche Listen von IP-Bereichen, die mit bestimmten Links verknüpft sind, beinhalten. In ähnlicher Weise können ISP 120-3 Informationen, wie etwa BGP-Informationen, für Benutzer 122 in ihren Subnetzwerken zur Verfügung stellen, um der widerrechtlichen Nutzung einer Gegenzugsvereinbarung mit einem Betreiber des Servers 110-1 vorzubeugen.
  • In einigen Ausführungsformen können Peeringmanager 124 diese Informationen, wie etwa BGP-Informationen, nutzen, um zu ermitteln, welche Benutzer mit einem gegebenen Peering-Link verknüpft sind. In einigen Ausführungsformen können Router 112 die Informationen empfangen und diese Informationen können vom Sammler 126 zur anschließenden Nutzung durch den Peeringmanager 124 gesammelt werden.
  • Durch die Regulierung der Kommunikation mit dem Server 110-1 kann dieses Verfahren eine hochauslastende Kommunikation über einen oder mehrere Peering-Links 116 vereinfachen, ohne Schwankungen und mit weniger oder ausgeschlossener Verschlechterung der Leistung, wie etwa dem Rebuffern eines Videostreams. Außerdem kann diese Technik diese Kommunikation ohne eine Überlastung der Peering-Links 116 vereinfachen, z.B. kann zusätzliche Kapazität bei einem oder mehreren Peering-Links 116 ohne das Auftreten eines Überlaufzustands genutzt werden.
  • Das Kommunikationssystem 100 kann weniger Komponenten oder zusätzliche Komponenten enthalten. Zum Beispiel können sechzehn Server 110 vorhanden sein, wobei jeder dieser Server einen assoziierten Peeringmanager hat. (Es sei angemerkt, dass auch wenn diese Peeringmanager unabhängig voneinander arbeiten, sie möglicherweise dennoch dieselben Feedbackinformationen aus gemeinsamen Puffern nutzen, die zur gleichen Zeit überlaufen können. Wenn also ein oder mehrere Peeringmanager aggressiv arbeiten, werden die anderen Peeringmanager weniger aggressiv arbeiten, um die Gesamtkapazität der Peering-Links 116 aufrecht zu erhalten.) Außerdem können zwei oder mehr Komponenten zu einer einzelnen Komponente kombiniert werden und/oder die Position einer oder mehrerer Komponenten geändert werden. Der Peeringmanager 124 kann zum Beispiel die Kommunikation, die mit verschiedenen Servern 110 verknüpft ist, regulieren.
  • Im Folgenden beschreiben wir Ausführungsformen eines Verfahrens zur Regulierung der Kommunikation mit einem Server. 2 zeigt ein Flussdiagramm eines Prozesses 200 zur Regulierung der Kommunikation mit einem Server (wie etwa Server 110-1 in 1), welcher von einem System, das einen Server beinhaltet oder in einem Server beinhaltet ist, durchgeführt wird. Während der Ausführung bestimmt das System die Rückübertragungsrate der Datenpakete während einer ersten Gruppe an Konversationen zwischen Benutzern und dem Server über einen Peering-Link in einem Netzwerk, wobei eine gegebene Konversation in der ersten Gruppe der Konversationen innerhalb eines ersten Zeitintervalls gestartet wurde (210). Danach vergleicht das System die Rückübertragungsrate und die historische Rückübertragungsrate der Datenpakete während einer zweiten Gruppe an Konversationen zwischen einer zweiten Benutzergruppe und dem Server über einen Peering-Link, wobei die zweite Gruppe an Konversationen in einem zweiten Zeitintervall (212) stattgefunden hat. Es sein angemerkt, dass die zweite Gruppe an Konversationen die erste Gruppe der Konversationen beinhaltet, die zweite Gruppe der Benutzer die erste Gruppe der Benutzer beinhaltet, und das zweite Zeitintervall das erste Zeitintervall beinhaltet.
  • Als nächstes passt das System die anvisierte Akzeptanzrate des Servers für Anfragen, eine Unterhaltung mit zusätzlichen Teilnehmern über den Peering-Link zu starten, an, wobei die anvisierte Akzeptanzrate auf dem Vergleich der Rückübertragungsrate und der historischen Rückübertragungsrate (214) basiert. Darüber hinaus akzeptiert oder weist das System Anfragen zum Starten einer Unterhaltung zwischen anderen Benutzern und dem Server über den Peering-Link ab, basierend auf dem Vergleich der tatsächlichen Akzeptanzrate des Servers und der anvisierten Akzeptanzrate (216), wobei die Kommunikationsleistung des Peering-Links aufrechterhalten wird.
  • 3 zeigt ein Flussdiagramm des Prozesses 300 zur Regulierung der Kommunikation mit einem Server (wie etwa Server 110-1 in 1), welcher von einem System, das einen Server beinhaltet oder in einem Server beinhaltet ist, durchgeführt werden kann. Während der Ausführung kann eine Konversation mit dem Server eingeleitet werden (310) Ein Benutzer kann sich zum Beispiel mit dem Server über einen gegebenen Peering-Link verbinden. Welchen Link dieser Benutzer benutzt kann durch die Nutzung aktueller BGP-Informationen von externen Systemen entschieden werden, wie etwa Sammler 126 (1), welcher diese Informationen basierend auf der Spiegelung der Router in einem Netzwerk sammeln kann. Insbesondere können diese Informationen Schnittstellen von Routern und RIBs für jeden Link im Netzwerk bereitstellen und eintreffende Daten, die mit einem gegebenen Benutzer verknüpft sind, können einem gegebenen Link zugeordnet werden, indem die IP Adresse einem der bereit gestellten RIBs zugeordnet wird.
  • Basierend auf gesammelten statistischen Informationen kann das System danach die tatsächliche Rückübertragungsrate für neue Konversationen (312) über einen gegebenen Peering-Link (wie etwa Konversationen, die in der letzten Minute gestartet wurden) ermitteln. Ebenso kann es eine historische Rückübertragungsrate (314) über einen gegebenen Peering-Link (wie etwa Konversationen, die während des/den vorherigen Tags/Tagen stattgefunden haben) ermitteln. Um die Regulierung nicht in Richtung der Verlustraten von Benutzern mit langsamen Verbindung zu verzerren, wird die aktuelle Rückübertragungsrate basierend auf den neuen Benutzern, wie etwa denen, die innerhalb der letzten drei Minuten eine Unterhaltung gestartet haben, ermittelt. Zusätzlich kann die historische Rückübertragungsrate als Vergleichsbasis dienen, um (wie unterstehend näher beschrieben) die anvisierte Akzeptanzrate relativ zur "normalen" Verlustrate bei einem gegebenen Link anpassen zu können (das kann von Link zu Link unterschiedlich sein).
  • Es sei angemerkt, dass diese Rückübertragungsraten auf TCP-Verlustraten innerhalb von einem oder mehreren Zeitintervallen basieren kann, welche Leistungsabfallmetriken in Verbindung mit der Netzwerkkapazität bereitstellen. Insbesondere unter Nutzung des sogenannten ‚getsocketopt‘ Systemaufrufs in Linux kann die Anzahl der rückübertragenen TCP-Datenpakete bei jedem Socket ermittelt werden. In dem dieser Wert mit einer maximalen Segmentgröße für dieses Socket multipliziert und durch die Anzahl an gesendeten Bytes geteilt wird, liefert er eine Schätzung für die Verlustrate bei Datenpaketen.
  • Zusätzlich kann in einigen Ausführungsformen die historische Rückübertragungsrate einen Moment der Verteilung der Rückübertragungsrate beinhalten. Dieser Moment kann zum Beispiel den Medianwert beinhalten, welcher jede Minute über den Zeitraum eines 24-Stunden-Intervalls ermittelt wird. Dieser Ansatz kann den Einfluss von statistischen Ausreißern reduzieren oder ganz ausschließen.
  • Als nächstes kann das System die aktuelle Rückübertragungsrate mit der historischen Rückübertragungsrate in Relation zu einem Grenzwert (316) vergleichen. Das System kann zum Beispiel die Differenz zwischen der aktuellen Rückübertragungsrate und der historischen Rückübertragungsrate berechnen. In einer beispielhaften Ausführungsform kann die anvisierte Akzeptanzrate, die mit einem gegebenen Peering-Link verknüpft ist, angepasst (318) (und insbesondere reduziert werden), wenn die aktuelle Rückübertragungsrate die historische Rückübertragungsrate um mehr als 3% übersteigt. Dieser Schwellenwert bietet einen Spielraum, dank dem sich die Leistung über den angegebenen Peering-Link für die Dauer der Kommunikation beibehalten lässt.
  • In einer Beispielausführungsform passt das System die mit dem angegebenen Peering-Link verbundene Akzeptanzrate mithilfe eines Jacobsenschen Kontrollmodells an. Mithilfe eines multiplikativen Faktors kann die mit dem angegebenen Peering-Link verbundene anvisierte Akzeptanzrate gesteigert und mithilfe eines anderen multiplikativen Faktors reduziert werden. In anderen Ausführungsformen kann die mit einem angegebenen Peering-Link verknüpfte anvisierte Akzeptanzrate zusätzlich gesteigert oder reduziert werden. Beachten Sie jedoch, dass die Nutzung multiplikativer Faktoren die Anpassung anvisierter Akzeptanzraten für Peering-Links bewirken kann, die ganz unterschiedliche Kapazitäten aufweisen, wodurch eine Überschreitung oder eine langsame Reaktion verhindert wird.
  • Wie bereits festgestellt, stellt der Vergleich von Rückübertragungsraten zu unterschiedlichen Zeitintervallen eine Einschränkung oder eine Obergrenze bezüglich Steigerungen der anvisierten Akzeptanzrate dar. Darüber kann die mit einem verbundenen Peer-Link anvisierte Akzeptanzrate größer als ein Mindestwert und geringer als ein Höchstwert sein (ungeachtet der Rückübertragungsrate). Zusätzlich kann die mit dem angegebenen Peering-Link verbundene anvisierte Akzeptanzrate zweimal geringer sein als die entsprechende aktuelle Akzeptanzrate.
  • Anpassungen an der mit dem angegebenen Peering-Link verbundenen anvisierten Akzeptanzrate (insbesondere Senkungen der anvisierten Akzeptanzrate) können in jeder Minute vorgenommen werden (wie nachfolgend erörtert, können Steigerungen der anvisierten Akzeptanzrate auftreten, sobald eine Konversation beendet wird). Wenn die Differenz zwischen der aktuellen Rückübertragungsrate und der historischen Rückübertragungsrate den Schwellenwert unterschreitet, wird die anvisierte Akzeptanzrate um den multiplikativen Faktor gesteigert, der um das zehnfache geringer ist als der andere multiplikative Faktor. Wenn eine Konversation beendet wird, geht die mit dem angegebenen Peering-Link verbundene aktuelle Akzeptanzrate zurück und die entsprechende anvisierte Akzeptanzrate kann so gesteigert werden, dass nach einem Zeitintervall von der durchschnittlichen Dauer eines typischen Videos (ca. eine Minute), die Steigerung ca. 10 % entspricht (effektiv können für die Akzeptanz 1.1 neue Videos anstelle eines neuen Videos angestrebt werden). Diese Steigerung kann auf einer zusätzlichen Steigerung basieren, die so ausgewählt werden kann, dass eine Steigerungsrate in der anvisierten Akzeptanzrate die Reduzierung der anvisierten Akzeptanzrate unterschreitet, die mit dem multiplikativen Faktor verbunden ist. Die Steigerungsrate kann als Zeitfunktion um das Zehnfache geringer als die Senkungsrate als Zeitfunktion sein, sodass es zehn Mal so lange dauern kann, bis die zusätzliche Steigerung die Wirkung des multiplikativen Faktors beendet.
  • Wenn die Differenz zwischen der aktuellen Rückübertragungsrate und der historischen Rückübertragungsrate größer als der Schwellenwert ist, kann die anvisierte Akzeptanzrate um den anderen multiplikativen Faktor reduziert werden. Diese Reduzierung kann in Intervallen von einer Minute implementiert werden. In einigen Ausführungsformen entspricht die anvisierte Akzeptanzrate der Hälfte der alten anvisierten Akzeptanzrate.
  • Wenn der Vergleichswert den Schwellenwert unterschreitet (316) oder wenn die anvisierte Akzeptanzrate angepasst wurde (318), kann das System Anfragen wie etwa jene nach einer neuen Konversation zwischen einem neuen Benutzer und dem Server oder nach der Übermittlung zusätzlicher Daten während einer vorhandenen Konversation zwischen einem anderen Benutzer und dem Server regulieren (320). Der Server kann insbesondere eine Anfrage nach einer Konversation (neu oder bestehend) über den angegebenen Peering-Link, basierend auf dem angegebenen Peering-Link und der tatsächlichen Akzeptanzrate, die mit dem angegebenen Peering-Link verbunden ist, annehmen oder ablehnen. Wenn die tatsächliche Akzeptanzrate die anvisierte Akzeptanzrate überschreitet, kann die Anfrage abgelehnt werden, ist die tatsächliche Akzeptanzrate geringer als die anvisierte Akzeptanzrate, kann sie angenommen werden. Hinweis: Wenn eine Anfrage abgelehnt wird, kann der Benutzer angewiesen werden (beispielsweise über ein Hypertext Transfer-Protokoll oder über eine HTTP-Umleitung), auf einen anderen Server zu wechseln.
  • In einigen Ausführungsformen gibt die anvisierte Akzeptanzrate ein Ziel für eine Anzahl von Bytes an, die pro Sekunde über den angegebenen Peer-Link zugelassen werden sollen. Die tatsächliche Akzeptanzrate gibt die tatsächliche Anzahl der Bytes an, die über den angegebenen Peer-Link pro Sekunde zugelassen werden. In einigen Ausführungsformen entspricht die tatsächliche mit einer neuen Konversation verbundene Akzeptanzrate der aktuellen Anzahl der zugelassenen Bits pro Sekunden zuzüglich der erwarteten Anzahl Bits pro Sekunde, die mit der neuen Konversation verbunden sind. Wenn eine Konversation beendet wird, kann die tatsächliche Akzeptanzrate um die erwartete Bitzahl pro Sekunde reduziert werden, die mit dieser Konversation verbunden ist.
  • In anderen Ausführungsformen kann die Regulierungstechnik andere Parameter verwenden. Beispiel: Die Zeitintervalle, die verwendet wurden, um Rückübertragungsraten zu bestimmen, können abweichen oder einen anderen Spielraum (z.B. einen anderen Schwellenwert) verwenden, wenn die aktuelle Rückübertragungsrate und die historische Rückübertragungsrate verglichen werden. Außerdem können ein oder mehrere Momente der Rückübertragungsverteilung anstelle des Medianwerts (wie z. B. der Durchschnitt) verwendet werden.
  • In einigen Ausführungsformen werden anstelle des TCP-Datenpaketverlusts andere Metriken verwendet, die angeben, welche Netzwerkkapazität verwendet werden kann: bei einem Router abgelegte Datenpakete (wie z. B. Router 112 in 1), ein Prozentsatz des abgelegten Datenverkehrs oder die Menge des Toleranzbereichs (wobei der Toleranzbereich für das Verhältnis der gelieferten Bytes im Gegensatz zu den Bytes steht, die ohne Pufferaustausch abgespielt werden mussten). Beispiel: Wenn der Toleranzbereich für alle Benutzer auf einem angegebenen Peering-Link unter 1,0 fällt, kann Neupufferung auftreten, während für höhere Werte des Toleranzbereichs normalerweise kein Bedarf an Neupufferung besteht.
  • Während in der bisherigen Erörterung die Kosten des Lesens einer Anfrage und/oder die Ausgabe von Umleiteanweisungen ignoriert wurden (was für große Downloads über 1 MB angemessen sein kann), kann die Regulierung in anderen Ausführungsformen die mit diesen Vorgängen verknüpften Kosten beinhalten.
  • In einigen Ausführungsformen des Prozesses 200 (2) und 300 gibt es zusätzliche oder weniger Operationen. Außerdem kann die Reihenfolge der Operationen geändert werden und mindestens zwei Operationen können zu einer einzelnen Operation kombiniert werden.
  • Wir beschreiben jetzt die Ausführungsformen eines Systems, das mindestens ein Verfahren zum Regulieren der Kommunikation mit einem Server (wie z. B. der Server 110-1 in 1) implementieren kann. 4 stellt ein Blockdiagramm dar, in dem die Ausführungsform des Systems 400 dargestellt wird. Das System 400 umfasst: einen oder mehrere Prozessoren 410, eine Kommunikationsschnittstelle 412, eine Benutzeroberfläche 414, ein oder mehrere Signallinien 422 und die Verkupplung dieser Komponenten. Beachten Sie, dass eine oder mehrere Prozessoreinheiten 410 parallele Verarbeitung und/oder Multithread-Operation unterstützen können. Die Kommunikationsschnittstelle 412 kann eine dauerhafte Kommunikationsverbindung haben und eine oder mehrere Signallinien 422 bilden einen Kommunikationsbus. Die Benutzeroberfläche 414 kann zudem folgendes beinhalten: eine Anzeige 416, eine Tastatur 418 und/oder eine Maus 420.
  • Speicher 424 im System 400 kann einen flüchtigen Speicher und/oder einen nicht-flüchtigen Speicher beinhalten. Konkreter beinhaltet der Speicher 424: ROM, RAM, EPROM, EEPROM, Flash, eine oder mehrere Smart-Karten, einen oder mehrere magnetische Plattenspeicher und/oder eine oder mehrere optische Speichermedien. Speicher 424 kann eine Betriebssystem 426 speichern, das Prozeduren (oder einen Satz an Anweisungen) zur Abwicklung verschiedener grundlegender Systemdienstleistungen beinhaltet, die zur Durchführung hardwareabhängiger Aufgaben dienen. Obwohl nicht dargestellt in 4, kann das Betriebssystem 426 einen Browser (oder einen Satz an Anweisungen) zum Bereitstellen und/oder Präsentieren von Operationen auf Webseiten beinhalten. Speicher 424 kann auch Kommunikationsprozeduren (oder einen Satz an Anweisungen) in einem Kommunikationsmodul 428 speichern. Diese Kommunikationsprozeduren können für die folgenden Kommunikationsarten verwendet werden: mit einem oder mehreren Computern, Geräten und/oder Servern, einschließlich Computern, Geräten und/oder Servern an einem vom System 400 entfernten Standort.
  • Speicher 424 kann auch ein oder mehrere Programmmodule (oder einen Satz an Anweisungen) beinhalten, einschließlich des Peering-Managermoduls 430 (oder einen Satz an Anweisungen). Das Peering-Managermodul 430 kann Kommunikationsstatistiken 432 analysieren, wie beispielsweise jene zu Konversationen zwischen Benutzern und Servern über einen oder mehrere Links in einem Netzwerk (beispielsweise Konversation A auf Link A 434-1 und/oder Konversation B auf Link A 434-2), um die Rückübertragungsraten 440 zu verschiedenen Zeitintervallen zu ermitteln. Die Rückübertragungsrate für Konversationen, die mit einem angegebenen Link assoziiert sind und in der letzten Minute initiiert wurden, können ermittelt werden. Auf ähnliche Weise kann eine Rückübertragungsrate für Konversationen, die mit dem angegebenen Link am letzten Tag assoziiert sind, ermittelt werden. Beachten Sie, dass die Informationen über Konversationen und den Zeitpunkt ihrer Initiierung (und ob sie nach wie vor stattfinden) in den Peering-Managerdaten 436 enthalten sein können, die solche Informationen für mehrere Links (einschließlich des Links A 438-1 und/oder des Links B 438-2) enthalten können.
  • Auf Basis der Rückübertragungsraten 440 kann das Peering-Managermodul 430 eine oder mehrere anvisierte Akzeptanzraten 442 für einen oder mehrere Links ermitteln. Beispiel: Die anvisierten Akzeptanzraten 442 können basierend auf einem Jacobsenschen Kontrollmodell angepasst werden. Auf Basis der anvisierten Akzeptanzraten 442 und der tatsächlichen Akzeptanzraten 444 für diese Links (die mithilfe der Kommunikationsstatistik 432 ermittelt werden können), kann das Peering-Managermodul 430 Anfragen 446 annehmen oder ablehnen, um eine weitere Konversation mit einem anderen Benutzer auf dem angegebenen Link zu initiieren.
  • In einigen Ausführungsformen kann das Peering-Managermodul 430 einen anderen Server anfordern, wenn die Anfragen 446 abgelehnt werden. Darüber hinaus kann das Peering-Managermodul 430 in einigen Ausführungsformen die anvisierte Akzeptanzrate 442 um einen oder mehrere Links steigern, wenn eine oder mehrere Konversationen beendet werden.
  • Anweisungen in den verschiedenen Modulen im Speicher 424 können folgendermaßen implementiert werden: in einer prozeduralen Sprache auf hoher Ebene, in einer objektorientierten Programmiersprache und/oder in einer Assembler- oder Maschinensprache. Die Programmiersprache kann kompiliert oder interpretiert sein, d.h. sie ist konfigurierbar und kann so konfiguriert werden, dass sie durch eine oder mehrere Prozesseinheiten 410 ausgeführt werden kann.
  • Obwohl das System 400 mit einer Reihe diskreter Komponenten dargestellt wird, ist 4 als Beschreibung der verschiedenen Funktionen konzipiert, die im System 400 vorhanden sein können, anstelle eines strukturellen Schemas der hier beschriebenen Ausführungsformen. In der Praxis und wie das erfahrene Benutzer erkennen werden, können die Funktionen des Systems 400 über eine große Anzahl von Servern und Computern verteilt werden, wobei verschiedene Gruppen der Server oder Computer bestimmte Untergruppen der Funktionen ausführen.
  • In einigen Ausführungsformen können einige oder alle Funktionen des Systems 400 in eine oder mehrere anwendungsspezifische Schaltungen ASICs) und/oder einen oder mehrere Signalprozessoren implementiert werden (DSPs).
  • System 400 kann mehr oder weniger Komponenten umfassen. Außerdem können mindestens zwei Komponenten zu einer einzelnen Komponente kombiniert und/oder eine Position von einer oder mehreren Komponenten geändert werden. In einigen Ausführungsformen kann die Funktionalität von System 400 eher in Hardware als in Software oder umgekehrt implementiert werden, so wie in der Technik bekannt.
  • Wir erläutern nun die Ausführungsformen der in System 400 verwendeten Datenstrukturen. 5 präsentiert ein Blockdiagramm, das eine Ausführungsform einer Datenstruktur 500 darstellt. Diese Datenstruktur kann die Kommunikationsstatistik 510 umfassen. Beispiel: Kommunikationsstatistik 510-1 kann folgendes umfassen: eine oder mehrere IP-Adressen 512-1, einen oder mehrere Links 514-1 und/oder Statistiken 516-1 (wie TCP-Verlustraten).
  • 6 stellt ein Blockdiagramm dar, das die Ausführungsform einer Datenstruktur 600 präsentiert. Diese Datenstruktur kann Informationen über Links 610 beinhalten. Die Informationen über den Link 610-1 können folgendes umfassen: eine anvisierte Akzeptanzrate 612-1, eine tatsächliche Akzeptanzrate 614-1 und/oder einen oder mehrere Zeitstempel 616-1, die angeben, wann die entsprechenden Konversationen 618-1 initiiert oder beendet wurden.
  • In einigen Ausführungsformen umfassen Datenstrukturen 500 (5) und 600 weniger oder mehr Komponenten. Außerdem können mindestens zwei Komponenten zu einer einzelnen Komponente kombiniert und/oder eine Position von einer oder mehreren Komponenten geändert werden.
  • Während die vorangegangenen Ausführungsformen die Kommunikation zum Beispiel über einen Peering-Link reguliert haben, können die zuvor erwähnten Techniken in anderen Ausführungsformen verwendet werden, um die Kommunikation über andere Linktypen zu steuern (z.B. über eine oder mehrere Transitverbindungen).
  • Die obigen Beschreibungen von Ausführungsformen wurden nur zum Zweck der Illustration und Beschreibung dargestellt. Sie sind nicht als erschöpfend zu verstehen und begrenzen die vorliegende Erfindung auch nicht auf die offengelegten Formen. Dementsprechend sind viele Modifikationen und Variationen für Fachleute offensichtlich. Außerdem ist die obige Offenbarung nicht dazu gedacht, die vorliegenden Ausführungsformen zu beschränken. Die Reichweite der Ausführungsformen wird durch die angefügten Ansprüche definiert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.11 [0037]
    • IEEE 802.16 [0037]

Claims (4)

  1. Ein Computerprogrammprodukt, das in Verbindung mit einem Computersystem verwendet wird, wobei dieses Produkt ein computerlesbares Speichermedium sowie einen darin eingebetteten Computerprogrammmechanismus zum Konfigurieren des Computersystems umfasst, wobei der Mechanismus Folgendes beinhaltet: Anweisungen zum Bestimmen von Rückübertragungsraten von Datenpaketen während eines ersten Satzes an Konversationen zwischen einer Gruppe von Benutzern und dem Server über einen Peering-Link in einem Netzwerk, worin eine angegebene Konversation im ersten Satz der Konversationen innerhalb des ersten Zeitintervalls initiiert wurde; Anweisungen für den Vergleich von Rückübertragungsraten und einer historischen Rückübertragungsrate von Datenpaketen während eines zweiten Satzes an Konversationen zwischen einer zweiten Gruppe von Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im zweiten Satz der Konversationen innerhalb eines zweiten Zeitintervalls auftritt und worin der zweite Satz an Konversationen den ersten Satz an Konversationen umfasst, die zweite Gruppe von Benutzern die erste Gruppe von Benutzern umfasst, und das zweite Zeitintervall das erste Zeitintervall umfasst; Anweisungen zum Anpassen der anvisierten Akzeptanzrate des Servers für Anfragen, um Konversationen mit zusätzlichen Benutzern über den Peering-Link basierend auf dem Vergleich zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate zu initiieren; und Anweisungen zum Anpassen oder Ablehnen einer Anfrage zum Initiieren einer Konversation zwischen einem anderen Benutzer und dem Server über den Peering Link basierend auf einer tatsächlichen Akzeptanzrate des Servers für Anfragen, die Konversationen mit zusätzlichen Benutzern über den Peering-Link und die anvisierte Akzeptanzrate zu initiieren, wobei die Kommunikationsleistung des Peering-Links beibehalten wird.
  2. Ein Computersystem, welches das Folgende umfasst: Mittel zum Berechnen; Speicher; Ein Programmmodul, worin ein Programmmodul im Speicher gespeichert und so konfiguriert ist, dass es durch die Mittel ausgeführt wird, das Programmmodul umfassend: Anweisungen zum Bestimmen von Rückübertragungsraten von Datenpaketen während eines ersten Satzes an Konversationen zwischen einer Gruppe von Benutzern und dem Server über einen Peering-Link in einem Netzwerk, worin eine angegebene Konversation im ersten Satz der Konversationen innerhalb des ersten Zeitintervalls initiiert wurde; Anweisungen für den Vergleich von Rückübertragungsraten und einer historischen Rückübertragungsrate von Datenpaketen während eines zweiten Satzes an Konversationen zwischen einer zweiten Gruppe von Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im zweiten Satz der Konversationen innerhalb eines zweiten Zeitintervalls auftritt und worin der zweite Satz an Konversationen den ersten Satz an Konversationen umfasst, die zweite Gruppe von Benutzern die erste Gruppe von Benutzern umfasst, und das zweite Zeitintervall das erste Zeitintervall umfasst; Anweisungen zum Anpassen der anvisierten Akzeptanzrate des Servers für Anfragen, um Konversationen mit zusätzlichen Benutzern über den Peering-Link basierend auf dem Vergleich zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate zu initiieren; und Anweisungen zum Anpassen oder Ablehnen einer Anfrage zum Initiieren einer Konversation zwischen einem anderen Benutzer und dem Server über den Peering Link basierend auf einer tatsächlichen Akzeptanzrate des Servers für Anfragen, die Konversationen mit zusätzlichen Benutzern über den Peering-Link und die anvisierte Akzeptanzrate zu initiieren, wobei die Kommunikationsleistung des Peering-Links beibehalten wird.
  3. Ein Computersystem, welches das Folgende umfasst: einen Prozessor; Speicher; ein Programmmodul, worin das Programmmodul im Speicher gespeichert und zur Ausführung durch den Prozessor konfiguriert ist, wobei das Programmmodul Folgendes umfasst: Anweisungen zum Bestimmen von Rückübertragungsraten von Datenpaketen während eines ersten Satzes an Konversationen zwischen einer Gruppe von Benutzern und dem Server über einen Peering-Link in einem Netzwerk, worin eine angegebene Konversation im ersten Satz der Konversationen innerhalb des ersten Zeitintervalls initiiert wurde; Anweisungen für den Vergleich von Rückübertragungsraten und einer historischen Rückübertragungsrate von Datenpaketen während eines zweiten Satzes an Konversationen zwischen einer zweiten Gruppe von Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im zweiten Satz der Konversationen innerhalb eines zweiten Zeitintervalls auftritt und worin der zweite Satz an Konversationen den ersten Satz an Konversationen umfasst, die zweite Gruppe von Benutzern die erste Gruppe von Benutzern umfasst, und das zweite Zeitintervall das erste Zeitintervall umfasst; Anweisungen zum Anpassen der anvisierten Akzeptanzrate des Servers für Anfragen, um Konversationen mit zusätzlichen Benutzern über den Peering-Link basierend auf dem Vergleich zwischen der Rückübertragungsrate und der historischen Rückübertragungsrate zu initiieren; und Anweisungen zum Anpassen oder Ablehnen einer Anfrage zum Initiieren einer Konversation zwischen einem anderen Benutzer und dem Server über den Peering Link basierend auf einer tatsächlichen Akzeptanzrate des Servers für Anfragen, die Konversationen mit zusätzlichen Benutzern über den Peering-Link und die anvisierte Akzeptanzrate zu initiieren, wobei die Kommunikationsleistung des Peering-Links beibehalten wird.
  4. Ein Server, der Folgendes umfasst: einen Eingabeknoten, der für die Verkuppelung mit einem Netzwerk konfiguriert ist, das einen Peering-Link beinhaltet, der für die Übermittlung von Datenpaketen zwischen Benutzern und dem Server konfiguriert ist; und einen Peering-Manager, der für folgende Aufgaben konfiguriert ist: Bestimmen einer Rückübertragungsrate von Datenpaketen während eines ersten Satzes an Konversationen zwischen einer Gruppe von Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im ersten Satz der Konversationen innerhalb eines Zeitintervalls initiiert wird; Vergleichen einer Rückübertragungsrate und einer historischen Rückübertragungsrate von Datenpaketen während eines zweiten Satzes an Konversationen zwischen einer zweiten Gruppe an Benutzern und dem Server über den Peering-Link, worin eine angegebene Konversation im zweiten Satz der Konversationen in einem anderen Zeitintervall stattfindet und worin der zweite Satz an Konversationen den ersten Satz an Konversationen beinhaltet, die zweite Gruppe von Benutzern die erste Gruppe von Benutzern beinhaltet und das andere Zeitintervall das Zeitintervall beinhaltet; Anpassen einer anvisierten Akzeptanzrate des Servers für Anfragen, um Konversationen mit zusätzlichen Benutzern über den Peering-Link basierend auf dem Vergleich der Rückübertragungsrate und der historischen Rückübertragungsrate zu initiieren; und Annehmen oder Ablehnen einer Anfrage zum Initiieren einer Konversation zwischen einem anderen Benutzer und dem Server über den Peering-Link basierend auf einer tatsächlichen Akzeptanzrate des Servers für Anfragen, die Konversationen mit zusätzlichen Benutzern über den Peering-Link und die anvisierte Akzeptanzrate zu initiieren, wobei die Kommunikationsleistung des Peering-Links beibehalten wird.
DE202009019134.6U 2008-05-02 2009-04-29 Technik zur Regulierung von Linkverkehr Expired - Lifetime DE202009019134U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/114,350 US7882231B2 (en) 2008-05-02 2008-05-02 Technique for regulating link traffic
US12/114,350 2008-05-02

Publications (1)

Publication Number Publication Date
DE202009019134U1 true DE202009019134U1 (de) 2017-01-15

Family

ID=41255747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202009019134.6U Expired - Lifetime DE202009019134U1 (de) 2008-05-02 2009-04-29 Technik zur Regulierung von Linkverkehr

Country Status (10)

Country Link
US (1) US7882231B2 (de)
EP (1) EP2314037B1 (de)
JP (1) JP5408811B2 (de)
KR (1) KR101537835B1 (de)
CN (1) CN102067547B (de)
AU (1) AU2009243136B2 (de)
BR (1) BRPI0912001A2 (de)
CA (1) CA2723208C (de)
DE (1) DE202009019134U1 (de)
WO (1) WO2009134845A2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817653B2 (en) * 2009-10-30 2014-08-26 At&T Intellectual Property I, L.P. Detecting irregular retransmissions
KR101917766B1 (ko) * 2012-05-25 2018-11-13 삼성전자주식회사 무선 통신 시스템에서 혼잡 제어 방법 및 장치
CN103796228B (zh) 2012-10-31 2018-09-11 中兴通讯股份有限公司 一种无线网络毛细管道性能评估方法及装置
US8959152B2 (en) 2012-12-13 2015-02-17 Microsoft Corporation Peer-to-peer communication to increase download throughput
CN105208067A (zh) * 2014-06-26 2015-12-30 格瑞菲技术有限公司 异步多源流式传输
CN113206795B (zh) * 2021-04-12 2022-05-17 烽火通信科技股份有限公司 传输策略调整方法、装置、设备及可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307867B1 (en) * 1998-05-14 2001-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Data transmission over a communications link with variable transmission rates
EP2265075B1 (de) * 2000-06-26 2017-08-09 Panasonic Intellectual Property Corporation of America Mobile Kommunikationssystem wobei Datenübertragungsratewerte werden von der Mobilstation zur Basisstation gemeldet
KR100695830B1 (ko) * 2000-09-05 2007-03-19 유티스타콤코리아 유한회사 무선통신 시스템에서 데이터 반복 전송 방법
KR100735692B1 (ko) * 2001-07-12 2007-07-06 엘지전자 주식회사 적응 부호화와 재전송을 이용한 부호화 변환 방법
WO2003028237A1 (en) * 2001-09-28 2003-04-03 Divxnetworks, Inc. Dynamic bit rate control process
US7225459B2 (en) 2001-10-17 2007-05-29 Numerex Investment Corproation Method and system for dynamically adjusting video bit rates
TWI250741B (en) 2003-02-26 2006-03-01 Realtek Semiconductor Corp Method for automatically and dynamically adjusting packet transmission speed of wireless communication network system
US7729252B2 (en) 2003-05-30 2010-06-01 Alcatel-Lucent Usa Inc. Methods and devices for providing fast and robust overload control
JP2005065177A (ja) * 2003-08-20 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
US20070008884A1 (en) * 2003-10-08 2007-01-11 Bob Tang Immediate ready implementation of virtually congestion free guarantedd service capable network
US7243284B2 (en) * 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
JP4687343B2 (ja) * 2005-09-06 2011-05-25 日本電気株式会社 チャネル帯域占有率評価方法、無線通信システム、チャネル帯域占有率評価装置及びプログラム
JP4805081B2 (ja) * 2006-09-29 2011-11-02 富士通株式会社 無線中継装置、無線中継方法および無線中継プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE 802.11
IEEE 802.16

Also Published As

Publication number Publication date
CA2723208A1 (en) 2009-11-05
JP2011524107A (ja) 2011-08-25
WO2009134845A3 (en) 2010-02-18
EP2314037A4 (de) 2013-07-24
KR101537835B1 (ko) 2015-07-17
US7882231B2 (en) 2011-02-01
CN102067547B (zh) 2014-05-28
US20090276518A1 (en) 2009-11-05
CA2723208C (en) 2013-06-18
EP2314037B1 (de) 2017-08-09
BRPI0912001A2 (pt) 2015-10-13
CN102067547A (zh) 2011-05-18
WO2009134845A2 (en) 2009-11-05
AU2009243136B2 (en) 2013-03-21
KR20110013408A (ko) 2011-02-09
JP5408811B2 (ja) 2014-02-05
AU2009243136A1 (en) 2009-11-05
EP2314037A2 (de) 2011-04-27

Similar Documents

Publication Publication Date Title
DE60202136T2 (de) Cache-eintrag-auswahlverfahren und -vorrichtung
DE60029879T2 (de) System zur mehrschichtigen Bereitstellung in Computernetzwerken
DE602005001815T2 (de) Verfahren zur effizienten Mehrfachverbreitung von Inhalten in einem Peer-to-peer Netzwerk
DE112018003482B4 (de) Serveranfrageverwaltung
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE60114097T2 (de) Verfahren und System zur Verbesserung der Netzleistungsfähigkeit unter Verwendung eines leistungssteigernden Proxies
DE60316494T2 (de) Zeitfensterbeschränkte Mehrfachsendung unter Benutzung von Verbindungsablau ffolgeplanung
DE60211524T2 (de) Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes
DE60210733T2 (de) System und Verfahren zur Überlastregelung in Netzwerken
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE60016977T2 (de) Verfahren und system zur datenübertragung über einen optimierten datenpfad in einem netzwerk
DE60109809T2 (de) Verfahren und system für betriebsmittelreservierungen in einem multicast-netzwerk
DE69926109T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE69926477T2 (de) Verfahren und Vorrichtung zur dynamischen Steuerung der Bereitstellung von differenzierter Diensten
DE69919569T2 (de) Verwaltung von verbindungsorientierten diensten über das internet-protokoll
DE602004000808T2 (de) Verfahren zur Abfrage eines elektronischen Briefkastens
DE60127120T2 (de) Verfahren und netzwerk zur ausbreitung von statusinformationen
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE202016107454U1 (de) System für die Aufrechterhaltung der Service-Level von Netzwerken
DE202009019134U1 (de) Technik zur Regulierung von Linkverkehr
DE60100927T2 (de) Verbesserter Internet Protocolpaketrouter
EP1178409A1 (de) Cookiemanager zur Kontrolle des Cookietransfers in Internet-Client-Server Computersystem
EP1133112B1 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
DE602004010056T2 (de) Verfahren und System zur Verwaltung des Netzwerkverkehrs unter Berücksichtung von mehreren Zwangsbedingungen
DE60208955T2 (de) System zur Bandbreitegewährleistung, Relaisvorrichtung und Netzwerkmanagement-Server

Legal Events

Date Code Title Description
R207 Utility model specification
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R071 Expiry of right