DE102015111438B3 - Method for transporting data packets - Google Patents

Method for transporting data packets Download PDF

Info

Publication number
DE102015111438B3
DE102015111438B3 DE102015111438.0A DE102015111438A DE102015111438B3 DE 102015111438 B3 DE102015111438 B3 DE 102015111438B3 DE 102015111438 A DE102015111438 A DE 102015111438A DE 102015111438 B3 DE102015111438 B3 DE 102015111438B3
Authority
DE
Germany
Prior art keywords
activity value
value
level
user
activity
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 - Fee Related
Application number
DE102015111438.0A
Other languages
German (de)
Inventor
Michael Menth
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.)
Eberhard Karls Universitaet Tuebingen
Original Assignee
Eberhard Karls Universitaet Tuebingen
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 Eberhard Karls Universitaet Tuebingen filed Critical Eberhard Karls Universitaet Tuebingen
Priority to DE102015111438.0A priority Critical patent/DE102015111438B3/en
Application granted granted Critical
Publication of DE102015111438B3 publication Critical patent/DE102015111438B3/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/215Flow control; Congestion control using token-bucket
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6265Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Übertragen von Datenpaketen in einem Netzwerk, wobei an einem ersten Netzwerkknoten den Datenpaketen Aktivitätswerte zugewiesen werden und an einem zweiten Netzwerkknoten basierend auf den Aktivitätswerten eine Verwurfswahrscheinlichkeit zum Verwerfen oder Markieren des jeweiligen Datenpakets berechnet wird. Dies führt zu einer besseren und gerechteren Aufteilung vorhandener Netzwerkkapazitäten über unterschiedliche Benutzer.The invention relates to a method for transmitting data packets in a network, activity values being assigned to the data packets at a first network node and a probability of discard for discarding or marking the respective data packet being calculated on the basis of the activity values at a second network node. This leads to a better and fairer sharing of existing network capacity across different users.

Description

Hintergrund und Stand der TechnikBackground and state of the art

Die Erfindung betrifft ein Verfahren zum Transport von Datenpaketen über zumindest einen ersten Netzwerkknoten und einen zweiten Netzwerkknoten. Jedes Datenpaket ist dabei einem aus einer Mehrzahl von Benutzern zugeordnet.The invention relates to a method for transporting data packets via at least a first network node and a second network node. Each data packet is assigned to one of a plurality of users.

Daten werden zum Transport über Netzwerkknoten üblicherweise in Datenpakete zerlegt. Datenpakete können dabei feste oder auch variable Längen aufweisen. Zum Transport solcher Datenpakete werden typischerweise Netzwerke verwendet, welche im Regelfall von einer Mehrzahl von Benutzern gleichzeitig genutzt werden. Mit anderen Worten überträgt das Netzwerk Datenpakete von mehreren Benutzern gleichzeitig, was auch bedeutet, dass typischerweise Mechanismen zum Zuordnen von Datenpaketen an jeweilige Benutzer vorhanden sind.Data is usually broken down into data packets for transport via network nodes. Data packets can have fixed or variable lengths. To transport such data packets typically networks are used, which are usually used simultaneously by a plurality of users. In other words, the network transmits data packets from multiple users simultaneously, which also means that there are typically mechanisms for associating data packets with respective users.

Ein typisches Netzwerk weist mehrere oder auch eine hohe Vielzahl von Netzwerkknoten auf. Diese können beispielsweise als Netzwerkserver oder Netzwerkkomponenten wie Hubs oder Switches ausgebildet sein. Die einzelnen Netzwerkknoten sind typischerweise über Datenverbindungen miteinander verbunden, welche beispielsweise als elektrische Leitungen, als Glasfaserleitungen, als Funkverbindungen, als Satellitenverbindungen oder auf andere Art und Weise ausgeführt sein können.A typical network has several or even a large number of network nodes. These can be designed, for example, as network servers or network components such as hubs or switches. The individual network nodes are typically connected to one another via data connections, which can be embodied, for example, as electrical lines, as optical fiber lines, as radio links, as satellite links or in another manner.

Bei Datenverkehr, welcher über ein Netzwerk gesendet bzw. ausgetauscht wird, sind insbesondere zwei Typen von Datenverkehr vorherrschend.In the case of data traffic which is sent or exchanged over a network, in particular two types of data traffic are predominant.

Zum einen handelt es sich hierbei um den Verkehr mit Statuskontrolle, bei welchem der Empfang eines jeden Datenpakets vom Empfänger an den Sender bestätigt wird. Dabei wird überprüft, ob das Datenpaket korrekt beim Empfänger angekommen ist. Sofern festgestellt wird, dass das Datenpaket nicht korrekt beim Empfänger angekommen ist, wird das Datenpaket erneut gesendet, um eine korrekte Übermittlung sicherzustellen. Ein Protokoll, welches häufig für Verkehr mit Statuskontrolle verwendet wird, ist das Transport Control Protocol (TCP), auf welchem auch große Teile des Internets basieren. Derartige Protokolle werden insbesondere verwendet, wenn es auf die Übertragung jedes einzelnen Bits von einer bestimmten Datenmenge ankommt, wie beispielsweise bei der Übertragung von Texten, Bildern oder ausführbaren Programmen.On the one hand, this is traffic with status control, in which the receipt of each data packet is confirmed by the receiver to the sender. It checks whether the data packet has arrived correctly at the receiver. If it is determined that the data packet has not arrived correctly at the receiver, the data packet is retransmitted to ensure correct transmission. One protocol that is commonly used for traffic with status control is the Transport Control Protocol (TCP), which also relies on large parts of the Internet. Such protocols are used in particular when it comes to the transmission of each individual bit of a particular amount of data, such as in the transmission of texts, images or executable programs.

Als weitere Art gibt es außerdem den Verkehr ohne Statuskontrolle, bei welchem Daten vom Sender lediglich ausgesendet werden, wobei jedoch der Empfang nicht überprüft wird. Beispielsweise kann hierfür das auch im Internet häufig verwendete User Datagram Protocol (UDP) verwendet werden. Derartige Protokolle werden insbesondere dann eingesetzt, wenn der Verlust eines Teils der Daten zwar unter Umständen zu einer gewissen Qualitätseinbuße führt, die tatsächlich empfangenen Daten dadurch aber nicht nutzlos werden. Dies ist beispielsweise der Fall bei der Übertragung von Medieninhalten wie Musik oder Videos.As a further type, there is also the traffic without status control, in which data are only transmitted by the transmitter, but the reception is not checked. For example, the User Datagram Protocol (UDP), which is also frequently used on the Internet, can be used for this purpose. Such protocols are used in particular if the loss of some of the data may lead to a certain loss of quality, but the data actually received thereby will not become useless. This is the case, for example, when transferring media content such as music or videos.

Typische Netzwerke wie das Internet werden von einer Vielzahl von Benutzern äußerst unregelmäßig, teilweise aber sehr intensiv genutzt. Dem steht eine typischerweise nur begrenzte Kapazität zur Datenübertragung gegenüber. Somit kann es an einzelnen Netzwerkknoten zu Verstopfungen kommen. Dies bedeutet insbesondere, dass an einem Netzwerkknoten mehr Datenpakete zum Weitersenden ankommen als mit einer bestimmten Verbindung zu einem anderen Netzwerkknoten tatsächlich weitergesendet werden können. Für solche Fälle weisen Netzwerkknoten typischerweise Warteschlangen (englische Bezeichnung: „queue”) auf, in welchen Datenpakete für das Weitersenden gespeichert werden können.Typical networks such as the Internet are used by a large number of users extremely irregularly, but sometimes very intensively. This is offset by a typically limited capacity for data transmission. This can lead to blockages at individual network nodes. This means, in particular, that more data packets arrive at a network node for forwarding than can actually be forwarded with a specific connection to another network node. For such cases, network nodes typically have queues in which data packets can be stored for retransmission.

Durch die Verwendung von Warteschlangen alleine kann jedoch noch nicht zwingend einer Situation Rechnung getragen werden, in welcher dauerhaft mehr Datenpakete zum Weitersenden ankommen als tatsächlich weitergesendet werden können. Für derartige Zwecke wurden Mechanismen entwickelt, welche bei einer zu hohen Zahl von Datenpaketen einzelne Datenpakete verwerfen oder auch markieren, um dadurch die Sender zu einer Reduzierung ihrer Senderaten anzuhalten. Insbesondere bei Verkehr mit Statuskontrolle, beispielsweise bei TCP-Verkehr, ist hierfür typischerweise eine geeignete Statuskontrolle implementiert. Derartige Mechanismen werden als aktives Warteschlangenmanagement (englische Bezeichnung: „Active Queue Management”, AQM) oder auch als Verstopfungsmanagement (englische Bezeichnung: „Congestion Management”) bezeichnet.By using queues alone, however, a situation can not necessarily be taken into account in which permanently more data packets arrive for further transmission than can actually be forwarded. Mechanisms have been developed for such purposes which discard or mark individual data packets if the number of data packets is too high, thereby stopping the transmitters to reduce their transmission rates. Particularly in the case of traffic with status control, for example in the case of TCP traffic, a suitable status control is typically implemented for this purpose. Such mechanisms are referred to as active queue management (English name: "Active Queue Management", AQM) or as constipation management (English term: "Congestion Management").

Verstopfungsmanagement detektiert typischerweise Verstopfung in einem Netzwerk und verwirft oder markiert Pakete, um der Verstopfung entgegenzuwirken. Es ist eine Herausforderung, die richtigen Pakete fallenzulassen oder zu markieren, wenn eine faire Kapazitätsaufteilung gewünscht wird. Dies gilt insbesondere dann, wenn wenige Intensivnutzer die Bandbreite monopolisieren, zum Beispiel durch das parallele Öffnen von vielen Datenverbindungen oder durch Verwendung von Protokollen für Verkehr ohne Statuskontrolle.Clogging management typically detects clogging in a network and discards or tags packets to counteract clogging. It's a challenge to get the right packages drop or mark, if a fair capacity allocation is desired. This is especially true when few intensive users monopolize the bandwidth, for example by opening many data links in parallel or by using protocols for traffic without status control.

Betreiber von Netzwerkknoten wie beispielsweise Internet Service Provider (ISP) verwenden Verstopfungsmanagement-Mechanismen, um die beste Dienstqualität für die meisten Anwendungen, die meisten Benutzer und die meiste Zeit basierend auf den verfügbaren Netzwerkressourcen bereitzustellen. Dies ist motiviert durch die Beobachtung, dass eine Verstopfung häufig aufgrund von wenigen Intensivnutzern entsteht, welche die verfügbare Bandbreite monopolisieren, was die Qualität der Datenübertragung für die meisten anderen Benutzer stark beeinflusst. Somit wird gegenüber bestimmten Benutzern, bestimmtem Verkehr oder bestimmten Anwendungen im Fall einer Verstopfung regelnd eingegriffen, um eine bessere Qualität für andere bereitzustellen. Dies hilft, mit begrenzten Ressourcen einen besseren Dienst bereitzustellen.Network node operators such as Internet Service Providers (ISPs) use clogging management mechanisms to provide the best quality of service for most applications, most users, and most of the time based on available network resources. This is motivated by the observation that congestion often arises because of a few intensive users monopolizing the available bandwidth, which greatly affects the quality of data transmission for most other users. Thus, in the case of clogging, certain users, traffic, or applications are given regulatory action to provide better quality for others. This helps to provide a better service with limited resources.

In den letzten Jahren gab es mehrere Anläufe, insbesondere der Internet Engineering Task Force (IETF), um das Verstopfungsmanagement für Netzwerke mit Bezug auf Verzögerung und Fairness zu verbessern. Neue AQM-Algorithmen wurden standardisiert oder befinden sich derzeit in der Standardisierung. Hierunter ist insbesondere „Congestion Exposure” (ConEx) zu nennen, welches versucht, eine Verstopfung in der Internetprotokoll(IP)-Schicht sichtbar zu machen, um eine bessere Verwaltung des Verkehrs zu ermöglichen. Dem liegt der Gedanke zugrunde, dass Teile des Verkehrs verworfen werden, wenn dieser mehr als eine vorher festgelegt Menge an Stau oder Verstopfung erzeugt. Dies erhöht im Falle einer Verstopfung die Fairness unter mehreren Benutzern. Eines der Ziele ist es, eine Umgebung bereitzustellen, welche die Verwendung von verstopfungssensitiveren Protokollen wie „Low Extra Delay Background Transport” (LEDBAT, siehe S. Shalunov et al., RFC 6817, Dezember 2012) fördert. RTP-Medien-Verstopfungsvermeidungstechniken (RMCAT) versehen Echtzeit-Datenflüsse mit einer geeigneten Verstopfungssteuerung.There have been several attempts in recent years, notably the Internet Engineering Task Force (IETF), to improve network clogging management with respect to delay and fairness. New AQM algorithms have been standardized or are currently in the process of standardization. Among them is in particular "Congestion Exposure" (ConEx) to call, which tries to make a blockage in the Internet Protocol (IP) layer visible to allow better management of traffic. This is based on the idea that parts of the traffic are discarded if it generates more than a predetermined amount of congestion or obstruction. This increases fairness among multiple users in the event of constipation. One of the goals is to provide an environment that promotes the use of more clog-sensitive protocols such as Low Extra Delay Background Transport (LEDBAT, see S. Shalunov et al., RFC 6817, December 2012). RTP Media Clogging Prevention Techniques (RMCAT) provide real-time data flows with appropriate clogging control.

Einen guten Überblick über Mechanismen und Technologien zum Verstopfungsmanagement gibt beispielsweise der technische Report „Real-Time Network Management of Internet Congestion” der Broadband Internet Technical Advisory Group (BITAG) vom Oktober 2013. Das Verstopfungsmanagement beinhaltet typischerweise die Klassifikation von Paketen, die Zugangskontrolle, das Reservieren von Ressourcen, das Zwischenspeichern oder Speichern, die Ratensteuerung, das Formen von Verkehr, das Routing, die Verkehrssteuerung, das Verwerfen von Paketen, das Einteilen von Paketen und zahlreiche andere technologiespezifische Ansätze.For example, the October October 2013 Broadband Internet Technical Advisory Group (BITAG) technical report "Real-Time Network Management of Internet Congestion" provides a good overview of mechanisms and technologies for clogging management. Clogging management typically involves packet classification, access control, and so on Reserve resources, cache or save, rate control, traffic shaping, routing, traffic control, packet dropping, packet scheduling, and many other technology-specific approaches.

Es hat sich jedoch gezeigt, dass bei aus dem Stand der Technik bekannten Mechanismen zum Umgang mit Verstopfungen in Netzwerken häufig unerwünschte Ergebnisse eintreten. So ist es beispielsweise bei zahlreichen Betreibern von Mobilfunknetzen üblich, jedem Benutzer eine entsprechend seinem Tarif festgelegte Datenmenge zuzuordnen, welche er innerhalb eines Zeitraums wie beispielsweise eines Monats verwenden kann. Überschreitet der Benutzer diese Datenmenge, so wird seine Datenübertragung stark gedrosselt oder abgeschaltet. Dies erlaubt eine Differenzierung zwischen Benutzern, führt jedoch auch dazu, dass eine hohe Belastung des Netzes durch einen Benutzer, welcher seine Datenmenge noch nicht erschöpft hat, nicht vermieden werden kann, wohingegen er nach Erschöpfung seiner Datenmenge selbst dann keine oder nur noch wenige Datenpakete übertragen kann, wenn das Netz ansonsten nur schwach belastet ist.However, it has been found that in known from the prior art mechanisms for dealing with blockages in networks often undesirable results. For example, it is customary for numerous operators of mobile networks to assign to each user an amount of data determined according to his tariff, which he can use within a period of, for example, a month. If the user exceeds this amount of data, then his data transmission is severely throttled or turned off. This allows a differentiation between users, but also means that a high load of the network by a user who has not yet exhausted his data, can not be avoided, whereas he even after exhaustion of his data, no or only a few data packets transmitted can, if the network is otherwise only slightly loaded.

Das Dokument von Ion Stoica, Scott Shenker, Hui Zhang, ”Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High-Speed Networks”, IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 1, FEBRUARY 2003, S. 33 ff zeigt ein Verfahren, bei welchem Stau ermittelt wird, indem gemessene Ankunftsraten von Paketen mit einer a priori bekannten Weiterleitungsrate verglichen werden. Für eine solche indirekte Stauerkennung sind Ratenmessverfahren erforderlich, welche eine gewisse Trägheit haben.Ion Stoica, Scott Shenker, Hui Zhang, "Core Stateless Fair Queuing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High-Speed Networks," IEEE / ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 1, FEBRUARY 2003, p. 33 et seq. Shows a method in which congestion is detected by comparing measured arrival rates of packets with an a priori known forwarding rate. For such an indirect congestion detection rate measurement methods are required, which have a certain inertia.

Das Dokument US 2008/0101354 A1 zeigt eine Paketverarbeitung in einem Netzwerkgerät. Dabei werden einkommende Pakete ausgewertet, um Informationen aus mehreren Feldern der Pakete zu extrahieren. Dabei wird auch eine verwendete Bandbreite überwacht.The document US 2008/0101354 A1 shows a packet processing in a network device. Incoming packets are evaluated to extract information from multiple fields of the packets. It also monitors a used bandwidth.

Das Dokument US 2008/0186918 A1 zeigt Systeme und Verfahren zum aktiven Management von Warteschlangen in einem drahtlosen Netzwerk. Das Management von Warteschlangen kann in einer Basisstation oder in einem Terminal ausgeführt werden, wobei in Abhängigkeit von einer adaptiven Antwortfunktion Datenpakete markiert oder verworfen werden.The document US 2008/0186918 A1 shows systems and methods for actively managing queues in a wireless network. The management of queues may be carried out in a base station or in a terminal, wherein data packets are marked or discarded depending on an adaptive response function.

Das Dokument US 2004/0057376 A1 zeigt ein Kommunikationssystem mit einer endlichen Bandbreite für die Kommunikation von Datenverkehr einer Mehrzahl von Benutzern unter Verwendung von Überwachungsmitteln zum Überwachen der Bandbreitenverwendung jedes Benutzers. Dabei können Pakete pseudozufällig verworfen werden. The document US 2004/0057376 A1 shows a communication system with a finite bandwidth for the communication of data traffic of a plurality of users using monitoring means for monitoring the bandwidth usage of each user. In this case, packets can be discarded pseudorandomly.

Aufgabe und LösungTask and solution

Es ist deshalb eine Aufgabe der Erfindung, ein Verfahren zum Transport von Datenpaketen über zumindest einen ersten Netzwerkknoten und einen zweiten Netzwerkknoten bereitzustellen, welches einen alternativen, insbesondere verbesserten, Umgang mit Verstopfungen oder eine bessere Aufteilung der verfügbaren Kapazität unter Benutzern ermöglicht.It is therefore an object of the invention to provide a method for transporting data packets via at least a first network node and a second network node, which allows an alternative, in particular improved, handling of blockages or a better allocation of available capacity among users.

Dies wird erfindungsgemäß durch ein Verfahren nach Anspruch 1 erreicht. Bevorzugte Ausgestaltungen können beispielsweise den Unteransprüchen entnommen werden. Der Inhalt der Ansprüche wird durch ausdrückliche Inbezugnahme zum Inhalt der Beschreibung gemacht.This is achieved according to the invention by a method according to claim 1. Preferred embodiments can be taken for example from the subclaims. The content of the claims is made by express reference to the content of the description.

Die Erfindung betrifft ein Verfahren zum Transport von Datenpaketen über zumindest einen ersten Netzwerkknoten und einen zweiten Netzwerkknoten. Jedes Datenpaket ist einem aus einer Mehrzahl von Benutzern zugeordnet. Jedem Benutzer ist ein jeweiliger benutzerspezifischer Wertesatz zugeordnet, welcher zumindest eine Referenzrate aufweist.The invention relates to a method for transporting data packets via at least a first network node and a second network node. Each data packet is assigned to one of a plurality of users. Each user is assigned a respective user-specific value set which has at least one reference rate.

Bei einem Benutzer kann es sich beispielsweise um einen Computer, ein Mobiltelefon oder ein anderes Daten sendendes und/oder Daten empfangendes Gerät handeln. Unter einem Benutzer kann jedoch auch beispielsweise eine Anzahl von solchen Geräten verstanden werden, welche beispielsweise einem bestimmten Betrieb, einem Haushalt oder einer Person zugeordnet sein können.A user may be, for example, a computer, a mobile phone or other device that transmits data and / or receives data. A user may, however, also be understood to mean, for example, a number of such devices, which may be associated, for example, with a specific operation, a household or a person.

Die Referenzrate ist hier typischerweise eine vorgegebene Rate, mittels welcher eine Differenzierung zwischen Benutzern möglich ist. So können Benutzern unterschiedliche Referenzraten zugeordnet werden, um ihnen unterschiedliche Dienstqualitäten, insbesondere im Fall einer hohen Auslastung, zu geben. Durch unterschiedlich hohe Referenzraten können anders ausgedrückt auch unterschiedlich hohe Prioritäten den Benutzern zugewiesen werden.The reference rate is typically a predetermined rate by which differentiation between users is possible. Thus, users can be assigned different reference rates to give them different quality of service, especially in the case of high utilization. Differently high reference rates, in other words also different priorities, can be assigned to the users.

Bei jedem Eintreffen eines Datenpakets, das einem Benutzer zugeordnet ist, am ersten Netzwerkknoten werden unter Verwendung des dem Benutzer zugeordneten Wertesatzes folgende Schritte ausgeführt:

  • – Ermitteln eines Aktivitätswerts, welcher anzeigend ist für eine Abweichung einer dem Benutzer zugeordneten Senderate von der Referenzrate des dem Benutzer zugeordneten Wertesatzes, und
  • – Zuweisen des Aktivitätswerts zu dem Datenpaket.
Each time a data packet is assigned to a user at the first network node, the following steps are performed using the value set associated with the user:
  • Determining an activity value which is indicative of a deviation of a transmission rate associated with the user from the reference rate of the value set assigned to the user, and
  • Assign the activity value to the data packet.

Bei der Senderate handelt es sich dabei vorzugsweise um eine aktuelle Senderate, welche also beispielsweise innerhalb eines bestimmten Zeitfensters, insbesondere eines kleinen Zeitfensters, ermittelt werden kann. Der Aktivitätswert gibt dabei insbesondere grundsätzlich an, wie sehr die Senderate die Referenzrate übersteigt. Es sei verstanden, dass sich die Senderate typischerweise sowohl auf einen Upload wie auch einen Download des Benutzers beziehen kann. Es können sowohl Upload wie auch Download getrennt voneinander oder auch zusammen miteinander behandelt werden.The transmission rate is preferably a current transmission rate, which can therefore be determined, for example, within a specific time window, in particular a small time window. The activity value indicates, in principle, how much the transmission rate exceeds the reference rate. It should be understood that the sending rate may typically refer to both an upload and a download of the user. Both upload and download can be handled separately or together with each other.

Bei jedem Eintreffen eines Datenpakets, dem ein Aktivitätswert zugeordnet ist, am zweiten Netzwerkknoten werden folgende Schritte ausgeführt:

  • – Aktualisieren eines Referenzaktivitätswerts in Abhängigkeit von dem Aktivitätswert des eingetroffenen Datenpakets,
  • – Ermitteln einer Abweichung zwischen dem Aktivitätswert des eingetroffenen Datenpakets und dem Referenzaktivitätswert,
  • – Ermitteln einer Verwurfswahrscheinlichkeit in Abhängigkeit von der Abweichung,
  • – Durchführen eines Zufallsprozesses, wobei der Zufallsprozess zu einem positiven oder negativen Ergebnis kommen kann und derart durchgeführt wird, dass das positive Ergebnis mit der Verwurfswahrscheinlichkeit auftritt, und
  • – Verwerfen oder Markieren des Datenpakets, sofern der Zufallsprozess zu dem positiven Ergebnis gekommen ist.
Each time a data packet is assigned an activity value at the second network node, the following steps are performed:
  • Updating a reference activity value depending on the activity value of the arrived data packet,
  • Determining a deviation between the activity value of the arrived data packet and the reference activity value,
  • Determining a probability of discard depending on the deviation,
  • Performing a random process, wherein the random process can come to a positive or negative result and is performed such that the positive result with the probability of discard occurs, and
  • Discard or mark the data packet if the random process has come to the positive result.

Bei dem Referenzaktivitätswert handelt es sich typischerweise um einen Wert, welcher die Aktivität aller Benutzer bzw. aller relevanten Benutzer in einem bestimmten Zeitfenster, insbesondere in der jüngsten Vergangenheit, angibt. Der Referenzaktivitätswert kann beispielsweise ein Durchschnitt, insbesondere ein gleitender Durchschnitt, sein. Es sei verstanden, dass das Verfahren grundsätzlich auch ohne den Schritt des Aktualisierens oder mit diesem Schritt des Aktualisierens erst am Ende der angegebenen Schritte ausgeführt werden kann.The reference activity value is typically a value that represents the activity of all users or all relevant users in a particular time window, in particular in the recent past, indicates. The reference activity value may be, for example, an average, in particular a moving average. It should be understood that the method can basically be performed without the step of updating or with this step of updating until the end of the specified steps.

Die Abweichung zwischen dem Aktivitätswert und dem Referenzaktivitätswert kann insbesondere als Absolutwert und/oder als relativer Wert angegeben werden. Es können auf derartige absolute oder relative Werte auch Funktionen wie beispielsweise ein Logarithmus, insbesondere ein Zweierlogarithmus, angewendet werden.The deviation between the activity value and the reference activity value can be specified in particular as an absolute value and / or as a relative value. Functions such as a logarithm, in particular a two-logarithm, can also be applied to such absolute or relative values.

Die Verwurfswahrscheinlichkeit ist typischerweise eine Wahrscheinlichkeit, mit welcher das jeweilige Datenpaket verworfen oder markiert wird. Insbesondere bei hoher Auslastung und/oder hoher Aktivität des Benutzers, insbesondere über der Referenzrate, soll typischerweise eine hohe Verwurfswahrscheinlichkeit ermittelt werden, um den Benutzer dazu anzuhalten, seine Senderate zu verringern. Der Zufallsprozess kann beispielsweise mittels eines programmierten oder auch andersartig implementierten Zufallsgenerators durchgeführt werden. Es kann sich beispielsweise um einen Pseudo-Zufallsprozess handeln. Es kann auch anhand der Verwurfswahrscheinlichkeit bestimmt werden, dass jedes Datenpaket nach einer bestimmten Anzahl von Datenpaketen verworfen oder markiert wird. Beispielsweise kann bei einer Verwurfswahrscheinlichkeit von 25% grundsätzlich jedes vierte Datenpaket verworfen oder markiert werden. In diesem Fall kann auf das Vorsehen eines Zufallsgenerators verzichtet werden.The probability of discarding is typically a probability with which the respective data packet is discarded or marked. In particular, in the case of high utilization and / or high activity of the user, in particular above the reference rate, a high probability of littering is typically to be determined in order to force the user to reduce his transmission rate. The random process can be carried out, for example, by means of a programmed or differently implemented random generator. It may, for example, be a pseudo-random process. It can also be determined on the basis of the probability of discarding that each data packet is discarded or marked after a certain number of data packets. For example, with a throw probability of 25%, basically every fourth data packet can be discarded or marked. In this case, can be dispensed with the provision of a random number generator.

Wird ein Datenpaket verworfen, so wird es nicht mehr weiter übermittelt und die in ihm enthaltenen Daten gehen typischerweise unwiederbringlich verloren. Bei Verkehr mit Statuskontrolle wird dies vom Sender erkannt. Typische Protokolle wie insbesondere TCP sind so implementiert, dass im Fall eines Verlusts von Datenpaketen die Senderate verringert wird. Auf diese Weise ist es möglich, durch das Verwerfen von Datenpaketen auf die Senderate eines Senders bzw. eines Benutzers Einfluss zu nehmen.If a data packet is discarded, it is no longer transmitted and the data contained in it is typically irretrievably lost. In traffic with status control this is detected by the transmitter. Typical protocols, such as TCP in particular, are implemented in such a way that the transmission rate is reduced in the event of loss of data packets. In this way it is possible to influence the transmission rate of a transmitter or a user by discarding data packets.

Das Markieren eines Datenpakets erfolgt typischerweise nur dann, wenn bekannt ist, dass ein solches Markieren in ähnlicher Weise zu einer Verringerung der Senderate führt. Datenpakete von Benutzern, welche auf das Markieren entsprechend reagieren, können insbesondere entsprechend gekennzeichnet sein. Typischerweise wird das Datenpaket mit einer solchen Markierung versehen, wobei die Markierung vom Empfänger mit der Bestätigung an den Sender zurückgemeldet wird, woraufhin dann wiederum der Sender seine Senderate verringert.Marking a data packet is typically done only if it is known that such marking will similarly result in a reduction in the transmission rate. Data packets from users who respond accordingly to the marking can in particular be marked accordingly. Typically, the data packet is provided with such a mark, wherein the mark is returned by the receiver with the confirmation to the transmitter, after which in turn the transmitter reduces its transmission rate.

Mittels des erfindungsgemäßen Verfahrens ist es möglich, vorhandene Netzwerkressourcen gerechter und auch zweckdienlicher unter einer Mehrzahl von Benutzern aufzuteilen. Die eingangs beschriebenen unerwünschten Situationen können vermieden werden. Dies hat der Erfinder der vorliegenden Anmeldung erkannt, wie weiter unten noch detailliert beschrieben werden wird.By means of the method according to the invention, it is possible to divide existing network resources more equitably and also more conveniently among a plurality of users. The unwanted situations described above can be avoided. The inventor of the present application has recognized this, as will be described in detail below.

Das erfindungsgemäße Verfahren kann auch als Activity Based Congestion Management, ABC, bezeichnet werden.The method according to the invention can also be referred to as Activity Based Congestion Management, ABC.

Bevorzugt wird der Aktivitätswert numerisch angegeben. Er wird, zumindest betragsmäßig, bevorzugt umso größer ermittelt, je mehr die Senderate des Benutzers die Referenzrate übersteigt. Hierzu kann, wie weiter oben bereits erwähnt, auch der Unterschied zwischen der Senderate und der Referenzrate sowohl absolut wie auch relativ oder auch durch Spezifizierung einer sonstigen Funktion, welche beispielsweise auf einem derartigen absoluten oder relativen Unterschied basieren kann, angegeben werden.The activity value is preferably specified numerically. It is determined, at least in terms of amount, preferably the greater, the more the transmission rate of the user exceeds the reference rate. For this purpose, as already mentioned above, the difference between the transmission rate and the reference rate both absolutely and relatively or by specifying another function, which may be based on such an absolute or relative difference, for example.

Es sei erwähnt, dass in dieser Anmeldung an mehreren Stellen angegeben wird, dass ein Wert „zumindest betragsmäßig” eine Bedingung erfüllt oder erfüllen soll. Es sei verstanden, dass dies deshalb erfolgt, um der Möglichkeit Rechnung zu tragen, dass der entsprechende Wert – wie beispielsweise der gerade erwähnte Aktivitätswert – grundsätzlich sowohl positiv wie auch negativ sein kann bzw. im Vergleich zu einer Implementierung, bei welcher positive Werte einen bestimmten Zustand anzeigen, auch eine Implementierung mit entsprechenden negativen Werten möglich ist. Im Fall von negativen Werten würde sich dann die angegebene Bedingung oder der angegebene Zustand des Werts typischerweise auf den Absolutbetrag beziehen. Solche Implementierungen sind typischerweise gleichwertig. Es sei jedoch auch verstanden, dass die Offenbarung dieser Anmeldung auch umfasst, dass alle Wortfolgen „zumindest betragsmäßig” aus den Ansprüchen und/oder der Beschreibung entfernt werden.It should be noted that this application states in several places that a value "at least in terms of amount" should fulfill or fulfill a condition. It should be understood, therefore, that this is done to account for the possibility that the corresponding value - such as the activity value just mentioned - may in principle be both positive and negative, or in comparison to an implementation in which positive values determine a particular one Display state, even an implementation with corresponding negative values is possible. In the case of negative values, the specified condition or condition of the value would then typically refer to the absolute value. Such implementations are typically equivalent. However, it should also be understood that the disclosure of this application also includes removing all word sequences "at least in amount" from the claims and / or description.

Es sei auch verstanden, dass bei den hier verwendeten Werten typischerweise auch ein Offset vorgesehen sein kann, so dass der entsprechende Wert beispielsweise nicht von null aus zählt, sondern von einer anderen positiven oder negativen Zahl aus. Auch solche Implementierungen sind typischerweise gleichwertig. It should also be understood that typically an offset may also be provided at the values used herein, such that the corresponding value does not count from zero, for example, but from another positive or negative number. Even such implementations are typically equivalent.

Gemäß einer vorteilhaften Ausführung wird beim Schritt des Aktualisierens eines Referenzaktivitiätswerts ein Gewichtungsfaktor verwendet, welcher einen Wertebereich zwischen null und eins annehmen kann. Der Referenzaktivitätswert wird bevorzugt dadurch aktualisiert, dass

  • – ein vorheriger Referenzaktivitätswert mit dem Gewichtungsfaktor multipliziert wird und
  • – dazu ein Wert addiert wird, welcher als Produkt aus
  • – dem Aktivitätswert und
  • – der Differenz aus der Zahl eins abzüglich des Gewichtungsfaktors
ermittelt wird. Dies entspricht einer Berechnung eines gleitenden Durchschnitts, welcher sich nach den Erfahrungen des Erfinders für die Anwendung im Rahmen des hierin beschriebenen Verfahrens als vorteilhaft erwiesen hat.According to an advantageous embodiment, the step of updating a reference activity value uses a weighting factor which can assume a value range between zero and one. The reference activity value is preferably updated by
  • - a previous reference activity value is multiplied by the weighting factor and
  • - to which a value is added, which as a product
  • - the activity value and
  • - the difference between the number one minus the weighting factor
is determined. This corresponds to a calculation of a moving average, which according to the inventor's experience has proved to be advantageous for use in the context of the method described herein.

Formelmäßig kann eine mögliche Implementierung einer solchen Berechnung eines gleitenden Durchschnitts beispielsweise folgendermaßen ausgedrückt werden: Aavg = wA·Aavg + (1 – wA)·A (1) By way of example, one possible implementation of such a moving average calculation may be expressed as follows, for example: A avg = w A * A avg + (1-w A ) * A (1)

Dabei bedeuten:

Aavg:
Referenzaktivitätswert
A:
Aktivitätswert des Datenpakets
wA:
Gewichtungsfaktor.
Where:
A avg :
Reference activity value
A:
Activity value of the data packet
w A :
Weighting factor.

Der Gewichtungsfaktor kann beispielsweise einen Wert zwischen 0,9 und 0,9999, zwischen 0,99 und 0,9999 oder zwischen 0,999 und 0,9999 haben. Er kann insbesondere einen Wert von 0,9, 0,99, 0,999 oder 0,9999 haben.For example, the weighting factor may have a value between 0.9 and 0.9999, between 0.99 and 0.9999, or between 0.999 and 0.9999. In particular, it can have a value of 0.9, 0.99, 0.999 or 0.9999.

Gemäß einer bevorzugten Ausführung wird beim Schritt des Ermittelns einer Verwurfswahrscheinlichkeit die Verwurfswahrscheinlichkeit umso größer ermittelt, je mehr der Aktivitätswert den Referenzaktivitätswert, zumindest betragsmäßig, übersteigt. Dadurch werden Nutzer mit einer umso höheren Verwurfswahrscheinlichkeit belegt, je mehr diese die ihnen zugedachte Referenzrate übersteigen. Besonders aktive Benutzer können auf diese Weise eingedämmt werden.According to a preferred embodiment, in the step of determining a probability of discarding, the probability of discarding is determined the greater the more the activity value exceeds the reference activity value, at least in terms of amount. As a result, users are subject to a higher probability of being rejected the more they exceed their intended reference rate. Particularly active users can be contained in this way.

Gemäß einer vorteilhaften Ausführung wird die Verwurfswahrscheinlichkeit umso größer ermittelt, je voller eine dem zweiten Netzwerkknoten zugeordnete Warteschlange für Datenpakete ist. Damit kann berücksichtigt werden, dass die Verwurfswahrscheinlichkeit nicht nur von der Aktivität eines jeweiligen Benutzers abhängen soll, sondern vorteilhafterweise auch von dem Warteschlangenfüllstand einer solchen Warteschlange abhängt. Eine solche Warteschlange kann beispielsweise diejenigen Datenpakete aufnehmen, welche von dem zweiten Netzwerkknoten aus über eine Datenverbindung zu einem anderen Netzwerkknoten oder auch mehrere Netzwerkknoten gesendet werden sollen. Typischerweise besteht dabei nur dann ein Anlass zum Verwerfen oder Markieren von Datenpaketen, wenn diese Warteschlange auch zumindest bis zu einem gewissen Grad gefüllt ist. Bei leerer Warteschlange oder nur geringfügig gefüllter Warteschlage können häufig auch alle Datenpakete durchgelassen werden oder es kann auf das Markieren verzichtet werden.According to an advantageous embodiment, the probability of discarding is determined to be the greater, the fuller a queue for data packets assigned to the second network node is. It can thus be taken into account that the probability of discarding should not only depend on the activity of a respective user, but advantageously also depends on the queue fill level of such a queue. Such a queue can record, for example, those data packets which are to be sent from the second network node via a data connection to another network node or also several network nodes. Typically, this is only an occasion for discarding or marking data packets when that queue is also filled at least to some extent. With empty queue or only slightly filled queue often all data packets can be passed or it can be dispensed with the marking.

Gemäß einer Ausführung ist vorgesehen, dass die Verwurfswahrscheinlichkeit den Wert null erhält, wenn die Warteschlange höchstens bis zu einem Schwellenwert gefüllt ist. Damit kann bei einer nur geringfügig gefüllten oder auch leeren Warteschlange auf das Verwerfen oder Markieren von Datenpaketen vollständig verzichtet werden, da die Netzkapazität offenbar zum Weiterleiten aller Datenpakete ausreicht.According to one embodiment, it is provided that the probability of discard is zero when the queue is filled at most up to a threshold. This can be completely dispensed with the discarding or marking of data packets in a slightly filled or empty queue, since the network capacity apparently sufficient to forward all data packets.

Gemäß einer bevorzugten Ausführung wird beim Schritt des Ermittelns einer Verwurfswahrscheinlichkeit die Verwurfswahrscheinlichkeit dadurch ermittelt, dass

  • – eine Ausgangswahrscheinlichkeit, welche einen Wertebereich zwischen null und eins annehmen kann,
  • – mit einem Wert potenziert wird, welcher wiederum durch Potenzierung der Zahl 2 oder einer anderen positiven Zahl mit einem Exponenten erhalten wird,
  • – wobei dieser Exponent durch Multiplikation von –1 mit einem Differenzierungsfaktor und mit der Differenz zwischen dem Aktivitätswert und dem Referenzaktivitätswert ermittelt wird.
According to a preferred embodiment, in the step of determining a probability of discard, the probability of discard is determined by:
  • An output probability, which can assume a value range between zero and one,
  • - is raised to a value obtained by exponentiation of the number 2 or another positive number with an exponent,
  • - where this exponent is determined by multiplying -1 by a differentiation factor and by the difference between the activity value and the reference activity value.

Ein solches Vorgehen bei der Ermittlung der Verwurfswahrscheinlichkeit hat sich nach den Erfahrungen des Erfinders als vorteilhaft für das hier offenbarte Verfahren erwiesen. Als Formel ausgedrückt kann eine beispielhafte Implementierung beispielsweise folgendermaßen wiedergegeben werden:

Figure DE102015111438B3_0002
Such an approach in determining the probability of throwing has proved, in the experience of the inventor, to be advantageous for the method disclosed here. Expressed as a formula, an example implementation may be represented, for example, as follows:
Figure DE102015111438B3_0002

Dabei bedeuten:

pA:
Verwurfswahrscheinlichkeit
p:
Ausgangswahrscheinlichkeit
γ:
Differenzierungsfaktor
Where:
p A :
Verwurfswahrscheinlichkeit
p:
output probability
γ:
differentiation factor

Dabei kann erkannt werden, dass gemäß dieser Formel als mögliche Implementierung der eben beschriebenen Vorgehensweise die Verwurfswahrscheinlichkeit umso höher wird, je größer der Unterschied zwischen dem Aktivitätswert des Datenpakets und dem Referenzaktivitätswert ist. Dies entspricht auch einer vorteilhaften Ausführung im Rahmen des hierin offenbarten Verfahrens.It can be seen that, according to this formula, as a possible implementation of the procedure just described, the greater the difference between the activity value of the data packet and the reference activity value, the higher the probability of discarding. This also corresponds to an advantageous embodiment within the scope of the method disclosed herein.

Der Differenzierungsfaktor hat bevorzugt einen Wert zwischen 2 und 4, insbesondere zwischen 2,5 und 3,5 und besonders bevorzugt von 3.The differentiation factor preferably has a value between 2 and 4, in particular between 2.5 and 3.5 and particularly preferably of 3.

Bevorzugt wird die Ausgangswahrscheinlichkeit derart festgesetzt, dass bei Weiterleitung aller nicht verworfenen oder nicht markierten Datenpakete ein vorgegebener Maximaldurchsatz gerade nicht überschritten wird. Dies führt zu einer besonders vorteilhaften Auslastung der vorhandenen Kapazität. Ein Paketverlust aufgrund Pufferüberlauf, auch als „tail-drop” bezeichnet, sollte möglichst vermieden werden, wobei vorzugsweise rechtzeitig vorher die Ausgangswahrscheinlichkeit und/oder andere Parameter entsprechend angepasst werden sollten.The output probability is preferably set in such a way that a predetermined maximum throughput is not exceeded when forwarding all data packets that are not discarded or not marked. This leads to a particularly advantageous utilization of the existing capacity. A packet loss due to buffer overflow, also referred to as "tail-drop", should be avoided as far as possible, preferably preferably in advance the output probability and / or other parameters should be adjusted accordingly.

Beispielsweise kann die Ausgangswahrscheinlichkeit folgendermaßen ermittelt werden:

Figure DE102015111438B3_0003
For example, the starting probability can be determined as follows:
Figure DE102015111438B3_0003

Dabei bedeuten:

p(Q):
Ausgangswahrscheinlichkeit in Abhängigkeit eines Warteschlangenfüllstands
Q:
Warteschlangenfüllstand einer Warteschlange, welche dem zweiten Netzwerkknoten zugeordnet ist
Q0, Q1, Q2:
Schwellenwerte
p1:
Wahrscheinlichkeitsparameter.
Where:
p (Q):
Initial probability depending on a queue fill level
Q:
Queue level of a queue associated with the second network node
Q 0 , Q 1 , Q 2 :
thresholds
p 1 :
Probability parameters.

Bei einer solchen Implementierung ist also insbesondere auch eine Abhängigkeit von dem Warteschlangenfüllstand einer Warteschlange vorgesehen, wie dies bereits weiter oben erwähnt wurde. Sofern die Warteschlange bis maximal zum Wert Q0 gefüllt ist, werden die Ausgangswahrscheinlichkeit und damit auch die Verwurfswahrscheinlichkeit auf den Wert null festgesetzt. Dies entspricht der Erkenntnis, dass bei nur geringfügig gefüllter Warteschlange ein Verwerfen oder Markieren nicht notwendig ist. Mit zunehmender Füllung der Warteschlange steigen die Ausgangswahrscheinlichkeit und damit auch die Verwurfswahrscheinlichkeit an, um den Verkehr im Netzwerk zu reduzieren.In such an implementation, in particular, a dependency on the queue fill level of a queue is provided, as has already been mentioned above. If the queue is filled up to the value Q 0 at most , the output probability and thus also the probability of discarding are set to the value zero. This corresponds to the recognition that discarding or marking is not necessary if the queue is only slightly filled. As the queue is filled, the probability of likelihood increases, and hence the likelihood of discarding, to reduce traffic on the network.

Es sei jedoch erwähnt, dass die eben beschriebene Formel lediglich eine beispielhafte Implementierung zum Berechnen einer Ausgangswahrscheinlichkeit ist. Es können auch andere Implementierungen zum Berechnen einer solchen Ausgangswahrscheinlichkeit bzw. Verwurfswahrscheinlichkeit verwendet werden, wobei insbesondere solche vorteilhaft sind, welche modifizierbar sind.It should be noted, however, that the formula just described is merely an example implementation for calculating an output probability. Other implementations may be used to calculate such an output probability, in particular those which are modifiable.

Beispielsweise kann das „Adaptive RED”-Verfahren verwendet werden, siehe hierzu S. Floyd et al., „Adaptive RED: An Algorithm for Increasing the Robustness of RED's Active Queue Management”, Technical Report, 2001 oder das PIE-Verfahren, welches in dem Artikel „PIE: A Lightweight Control Scheme to Address the Bufferbloat Problem” von Rong Pan et al. in HPSR (IEEE High-Performance Switching and Routing Workshop) 2013 veröffentlicht wurde. Weitere mögliche Verfahren finden sich beispielsweise in dem Artikel von Richelle Adams, „Active Queue Management: A Survey”, COMST (IEEE Communications Surveys & Tutorials Journal), Ausgabe 15, Nr. 3, Jahr 2013, Seiten 1425–1476. For example, the "Adaptive RED" method can be used, see S. Floyd et al., "Adaptive RED: An Algorithm for Increasing the Robustness of RED's Active Queue Management," Technical Report, 2001, or the PIE method, which is incorporated herein by reference the article "PIE: A Lightweight Control Scheme to Address the Bufferbloat Problem" by Rong Pan et al. published in HPSR (IEEE High-Performance Switching and Routing Workshop) 2013. Other possible methods can be found, for example, in the article by Richelle Adams, "Active Queue Management: A Survey", COMST (IEEE Communications Surveys & Tutorials Journal), Issue 15, No. 3, Year 2013, pages 1425-1476.

Gemäß einer Ausführung ist der zweite Netzwerkknoten einem Netzabschnitt mit begrenztem Maximaldurchsatz zugeordnet. Insbesondere kann es sich dabei um einen Flaschenhals handeln. Als solche werden typischerweise Netzabschnitte bezeichnet, welche in vielen oder in allen Fällen das insgesamt übertragbare Datenvolumen oder die insgesamt erzielbare Datenübertragungsrate begrenzen. Beispielsweise kann es sich hierbei um einen besonders schwachen oder langsamen Netzabschnitt handeln, insbesondere eine entsprechend schwache oder langsame Verbindung zwischen zwei Netzwerkknoten.In one embodiment, the second network node is associated with a limited maximum throughput network section. In particular, it may be a bottleneck. As such, typically network sections are designated which in many or in all cases limit the overall transferable data volume or the overall achievable data transmission rate. For example, this may be a particularly weak or slow network section, in particular a correspondingly weak or slow connection between two network nodes.

An einem solchen Netzabschnitt mit begrenztem Maximaldurchsatz bzw. einem Flaschenhals treten besonders häufig Limitierungen des Durchsatzes auf, weshalb eine entsprechende Regelung des Datenverkehrs bevorzugt an einem solchen Netzabschnitt bzw. an einem Netzwerkknoten, welcher einem solchen Netzabschnitt zugeordnet ist, durchgeführt wird.At such a network section with limited maximum throughput or a bottleneck, flow rate limitations are particularly frequent, which is why appropriate regulation of the data traffic is preferably carried out at such a network section or at a network node which is assigned to such a network section.

Der Netzabschnitt mit begrenztem Maximaldurchsatz, insbesondere der Flaschenhals, kann beispielsweise an dem zweiten Netzwerkknoten beginnen und/oder mit diesem unmittelbar in Verbindung stehen.The network section with limited maximum throughput, in particular the bottleneck, may for example start at the second network node and / or be in direct communication with it.

Nachfolgend werden mögliche Implementierungsdetails einer möglichen Ausführung zur Berechnung eines Aktivitätswerts im Rahmen des hierin beschriebenen Verfahrens angegeben und beschrieben. Es sei erwähnt, dass sich diese Details bzw. Merkmale im Rahmen von Versuchen des Erfinders als besonders vorteilhaft für das hierin beschriebene Verfahren herausgestellt haben. Es sei jedoch auch erwähnt, dass grundsätzlich auch andere Implementierungen zur Ermittlung eines Aktivitätswerts verwendet werden können. Außerdem sei erwähnt, dass die hierin angeführten Merkmale beliebig untereinander kombiniert werden können und alle entsprechenden Kombinationen zur Offenbarung dieser Anmeldung zählen.Hereinafter, possible implementation details of a possible implementation for calculating an activity value are given and described in the context of the method described herein. It should be noted that these details or features have been found to be particularly advantageous for the method described herein in the context of experiments by the inventor. However, it should also be mentioned that in principle also other implementations can be used to determine an activity value. In addition, it should be mentioned that the features cited herein may be combined with each other as desired and all corresponding combinations belong to the disclosure of this application.

Gemäß einer Ausführung ist vorgesehen, dass jeder benutzerspezifische Wertesatz ferner einen Füllstand aufweist. Bei dem Füllstand handelt es sich insbesondere um einen Wert, welcher typischerweise erheblich häufiger verändert wird als die Referenzrate. Während die Referenzrate typischerweise nur selten verändert wird, beispielsweise wenn ein Benutzer einen anderen Tarif gebucht hat, kann ein Füllstand bereits nach kurzen Zeitabschnitten und/oder bei jedem Eintreffen eines Datenpakets verändert werden.According to one embodiment, it is provided that each user-specific value set also has a fill level. In particular, the level is a value which is typically changed considerably more frequently than the reference rate. While the reference rate is typically only rarely changed, for example, when a user has booked a different rate, a level can be changed already after short periods of time and / or each time a data packet arrives.

Bei dem Füllstand handelt es sich bevorzugt um eine Zahl, welche sowohl positive wie auch negative Werte annehmen kann.The fill level is preferably a number which can assume both positive and negative values.

Es sei erwähnt, dass das Konzept des Füllstands generalisiert werden kann. Der Füllstand kann relativ zu einem Referenzfüllstand angegeben werden. In einer typischen Implementierung hat der Referenzfüllstand den Wert null. Gemäß einer ersten Variante gilt der Füllstand als positiv, wenn der Füllstand größer als der Referenzfüllstand ist. Gemäß einer zweiten Variante gilt der Füllstand als positiv, wenn der Füllstand kleiner als der Referenzfüllstand ist. In einer typischen Implementierung beträgt der Referenzfüllstand null und es wird die erste Variante verwendet. In diesem Fall gibt also ein positiver Wert des Füllstands einen positiven Füllstand an. Die hier gegebene Generalisierung soll insbesondere darauf hinweisen, dass das grundsätzliche Konzept des Füllstands unterschiedlich implementiert werden kann, wobei beispielsweise der Wert an dem Referenzfüllstand gespiegelt werden kann und durch Wahl eines nicht trivialen, also von null verschiedenen Referenzfüllstands ein Offset eingefügt werden kann. Aus Gründen der Leserlichkeit wurde darauf verzichtet, diese Generalisierung in die Ansprüche dieser Anmeldung mit einzupflegen. Es sei jedoch explizit darauf hingewiesen, dass bei allen Bezugnahmen auf einen Füllstand, insbesondere auf einen positiven oder negativen Füllstand, die Generalisierung angewendet werden kann und entsprechende veränderte Implementierungen nicht aus dem Schutzbereich der jeweiligen Ansprüche herausführen.It should be noted that the concept of level can be generalized. The level can be specified relative to a reference level. In a typical implementation, the reference level is zero. According to a first variant, the level is considered positive when the level is greater than the reference level. According to a second variant, the level is considered positive when the level is less than the reference level. In a typical implementation, the reference level is zero and the first variant is used. In this case, a positive value of the level indicates a positive level. In particular, the generalization given here should indicate that the basic concept of the fill level can be implemented differently, wherein, for example, the value at the reference fill level can be mirrored and an offset can be inserted by selecting a non-trivial, ie non-zero, reference fill level. For the sake of legibility has been omitted to incorporate this generalization in the claims of this application with. However, it should be explicitly pointed out that in all references to a level, in particular to a positive or negative level, the generalization can be applied and corresponding modified implementations do not lead out of the scope of the respective claims.

Der Füllstand erlaubt insbesondere eine dynamische Ermittlung des Aktivitätswerts, ohne dass auf eine intervallbasierte Ermittlung der Aktivität bzw. der Senderate zurückgegriffen werden muss. Dies hat insbesondere den Vorteil, dass nicht erst bis zum Ende eines jeweiligen definierten Intervalls gewartet werden muss, bis ein neuer Aktivitätswert bereitsteht. Vielmehr kann bei jedem Eintreffen eines Datenpakets der Aktivitätswert sofort und ohne Zeitverzögerung mit einfachen Mitteln berechnet werden. Bevorzugte Implementierungen sind nachfolgend angegeben.In particular, the level allows a dynamic determination of the activity value, without having to resort to an interval-based determination of the activity or the transmission rate. This has the particular advantage that you do not have to wait until the end of each defined interval until a new activity value is available. Rather, with each arrival of a data packet, the activity value be calculated immediately and without delay with simple means. Preferred implementations are given below.

Es sei auch erwähnt, dass durch die Verwendung eines Füllstands das typische Abwägungsproblem bei intervallbasierten Aktivitäts- oder Ratenbestimmungen umgangen werden kann, welches darin besteht, dass eine hohe Genauigkeit nur mit langen Intervallen zu erhalten ist, wohingegen die langen Intervalle zu dem eben beschriebenen Problem einer späten Berechnung führen.It should also be mentioned that the use of a fill level can circumvent the typical trade-off problem with interval-based activity or rate determinations, which is that high accuracy can only be obtained with long intervals, whereas the long intervals add to the problem just described lead to late calculation.

Des Weiteren sei jedoch auch erwähnt, dass auch intervallbasierte Verfahren zur Bestimmung des Aktivitätswerts grundsätzlich verwendet werden können, wie auch nachfolgend weiter beschrieben werden wird.Furthermore, however, it should also be mentioned that even interval-based methods for determining the activity value can basically be used, as will also be described further below.

Gemäß einer Ausführung wird bei jedem Schritt des Ermittelns eines Aktivitätswerts zunächst der Füllstand des dem Benutzer zugeordneten Wertesatzes aktualisiert. Alternativ oder zusätzlich kann der Füllstand auch kontinuierlich, in festgelegten Zeitabständen oder nach einem festgelegten Schema aktualisiert werden. Der Füllstand kann insbesondere in Abhängigkeit von der Referenzrate aktualisiert werden.According to one embodiment, at each step of determining an activity value, first the level of the value set associated with the user is updated. Alternatively or additionally, the level can also be updated continuously, at fixed time intervals or according to a defined scheme. The fill level can in particular be updated as a function of the reference rate.

Dies entspricht zumindest in etwa einer bekannten Token-Bucket-Implementierung, welche häufig eingesetzt wird, um eine Aktivität eines Benutzers zu steuern bzw. zu begrenzen. Der Füllstand ist dabei auf einen implementierten Bucket, also einen Eimer bzw. einen virtuellen Eimer, bezogen. Typischerweise wird der Füllstand umso mehr bzw. umso schneller erhöht, je größer die Referenzrate ist. Der Füllstand entspricht typischerweise der Anzahl an „tokens”, welche für die Weiterleitung von Datenpaketen im Eimer zur Verfügung stehen. Bei einer üblichen Token-Bucket-Implementierung ist vorgesehen, dass jedes empfangene und weitergeleitete Datenpaket den Füllstand verringert, beispielsweise um einen Wert von eins. Dies kann auch so interpretiert werden, dass sich jedes Datenpaket ein token oder auch ein token pro byte Paketlänge oder pro Einheit einer anderen Eigenschaft des Pakets aus dem Eimer herausnimmt. Anders ausgedrückt können nur so viele Datenpakete eines bestimmten Benutzers weitergeleitet werden, wie durch den Füllstand bzw. dessen Aktualisierung anhand der Referenzrate vorgegeben ist. Wie der Erfinder herausgefunden hat, kann eine abgeänderte bzw. angepasste Version einer Token-Bucket-Implementierung dazu verwendet werden, um im Rahmen des hierin beschriebenen Verfahrens einen Aktivitätswert zu bestimmen. Dies hat sich für typische Anwendungsfälle als vorteilhaft erwiesen.This is at least approximately equivalent to a well-known token-bucket implementation, which is often used to control a user's activity. The fill level is based on an implemented bucket, ie a bucket or a virtual bucket. Typically, the higher the reference rate, the faster or faster the fill level increases. The level typically corresponds to the number of "tokens" that are available for forwarding data packets in the bucket. A typical token-bucket implementation provides that each received and forwarded data packet reduces the level, for example, by one. This can also be interpreted as meaning that each data packet extracts one token or token per byte packet length or per unit of another property of the packet from the bucket. In other words, only so many data packets of a particular user can be forwarded, as determined by the level or its update based on the reference rate. As the inventor has found, a modified version of a token-bucket implementation can be used to determine an activity value in the context of the method described herein. This has proved to be advantageous for typical applications.

Es sei erwähnt, dass unter dem Begriff einer Aktualisierung hierin typischerweise eine Änderung des Füllstands aufgrund Füllung mit der Referenzrate im Zeitverlauf verstanden wird. Dies grenzt sich insbesondere gegen andere Änderungen, beispielsweise basierend auf einem ermittelten Aktivitätswert, ab.It should be noted that the term update herein typically refers to a change in level due to filling with the reference rate over time. This is different in particular from other changes, for example based on a determined activity value.

Gemäß einer bevorzugten Ausführung wird beim Schritt des Aktualisierens des Füllstands ein gespeicherter früherer Füllstand, welcher einem bereits vergangenen Zeitpunkt zugeordnet ist, um das Produkt aus der Referenzrate und einer Zeitdifferenz zum vergangenen Zeitpunkt erhöht. Damit kann der Füllstand in einfacher Weise aktualisiert werden, wobei die zwischen dem vergangenen Zeitpunkt und dem jetzigen Zeitpunkt aufgelaufenen Tokens berücksichtigt werden, d. h. dass der Füllstand um einen entsprechenden Wert erhöht wird.In a preferred embodiment, in the step of updating the level, a stored previous level associated with an already past time is increased by the product of the reference rate and a time difference from the past time. Thus, the level can be easily updated, taking into account the token accumulated between the past time and the present time, i. H. that the level is increased by a corresponding value.

Bevorzugt weist jeder benutzerspezifische Wertesatz einen maximalen Füllstand auf, wobei der Füllstand nicht über den jeweiligen maximalen Füllstand erhöht wird. Dies vermeidet ein endloses Anwachsen des Füllstands, insbesondere in Zeiten, in welchen wenig oder keine Aktivität des Benutzers vorhanden ist. Der Füllstand kann insbesondere auch in einer typischen Token-Bucket-Implementierung angeben, wie viele Datenpakete kurzfristig im Rahmen eines Bursts mit einer Rate über der Referenzrate gesendet werden können.Each user-specific value set preferably has a maximum fill level, wherein the fill level is not increased above the respective maximum fill level. This avoids an endless increase in level, especially at times when there is little or no user activity. In particular, in a typical token-bucket implementation, the level can also indicate how many data packets can be sent in the short term as part of a burst at a rate above the reference rate.

Bevorzugt wird bei jedem Schritt des Ermittelns eines Aktivitätswerts der Aktivitätswert in Abhängigkeit von dem Füllstand nach dessen Aktualisierung ermittelt. Anders ausgedrückt wird der Füllstand erst aktualisiert, bevor der Aktivitätswert ermittelt wird. Damit wird der Aktivitätswert basierend auf einem aktuellen Füllstand ermittelt.Preferably, at each step of determining an activity value, the activity value is determined as a function of the level after its update. In other words, the level will be updated before the activity value is determined. This determines the activity value based on a current fill level.

Bei jedem Schritt des Ermittelns eines Aktivitätswerts wird der Füllstand vorzugsweise in Abhängigkeit von dem ermittelten Aktivitätswert verändert. Insbesondere kann er dabei verringert werden. Dies entspricht einer Modifikation einer Token-Bucket-Implementierung, und zwar insbesondere dahingehend, dass beim Eintreffen eines Datenpakets nicht wie bei einer reinen Token-Bucket-Implementierung der Füllstand um einen konstanten Betrag, sondern vielmehr um einen variablen Betrag verändert wird. Somit dient der Aktivitätswert nicht nur dazu, den zweiten Netzwerkknoten über die Aktivität des Benutzers zu informieren, sondern beeinflusst auch den Betrag der Füllstandsänderung.At each step of determining an activity value, the level is preferably changed in dependence on the determined activity value. In particular, it can be reduced thereby. This corresponds to a modification of a token-bucket implementation, in particular to the effect that when a data packet arrives, the fill level is not changed by a constant amount, as is the case with a pure token-bucket implementation, but rather by a variable amount. Thus, the activity value serves Not only to inform the second network node about the activity of the user, but also affects the amount of the level change.

Bevorzugt wird der Füllstand umso weniger verändert, je größer der Aktivitätswert, zumindest betragsmäßig, ist. Damit kann erreicht werden, dass sich Aktivitätswert und Füllstand jeweiligen Grenzwerten annähern, wie weiter unten näher beschrieben werden wird.Preferably, the level is changed less, the greater the activity value, at least in terms of amount. It can thus be achieved that the activity value and level approach respective limit values, as will be described in more detail below.

Der Füllstand kann auch umso mehr verändert werden, je größer eine Länge des Datenpakets ist. Damit kann auch die Länge des Datenpakets berücksichtigt werden, wobei der Tatsache Rechnung getragen wird, dass ein längeres Datenpaket auch zu einer höheren Belastung des Netzwerks führt.The fill level can also be changed the more, the greater a length of the data packet. Thus, the length of the data packet can be taken into account, taking into account the fact that a longer data packet also leads to a higher load of the network.

Es sei des Weiteren erwähnt, dass der Füllstand grundsätzlich auch erhöht werden kann, und zwar auch außerhalb der bereits weiter oben beschriebenen Aktualisierung. Insbesondere kann beispielsweise bei einem besonders niedrigen Aktivitätswert bzw. bei einer besonders niedrigen Aktivität des Benutzers der Füllstand erhöht werden, um diesen für sein ressourcenschonendes Verhalten zu belohnen.It should also be mentioned that the level can in principle also be increased, even outside the update already described above. In particular, for example, with a particularly low activity value or with a particularly low user activity, the fill level can be increased in order to reward it for its resource-conserving behavior.

Beim Schritt des Verringerns des Füllstands kann der Füllstand insbesondere um einen Wert verringert werden, welcher durch die Division

  • – einer Länge des Datenpakets durch
  • – die Zahl 2 oder eine andere positive Zahl potenziert mit dem Aktivitätswert
ermittelt wird.In the step of reducing the level, the level can be reduced, in particular, by a value which is determined by the division
  • - a length of the data packet through
  • - the number 2 or another positive number exponentiates with the activity value
is determined.

Als Formel dargestellt kann dies folgendermaßen implementiert werden: F = F – L·2–A (4) Represented as a formula, this can be implemented as follows: F = F - L · 2 -A (4)

Dabei bedeuten:

F:
Füllstand
L:
Länge des Datenpakets.
Where:
F:
level
L:
Length of the data packet.

Ein derartiges Vorgehen hat sich bei Versuchen des Erfinders als besonders vorteilhaft erwiesen. Wie weiter unten gezeigt wird, kann damit insbesondere eine Aktivität mittels des Füllstands gemessen werden, welche zumindest im stationären Zustand einem Zweierlogarithmus aus dem Verhältnis von Senderate zu Referenzrate entspricht.Such a procedure has proved to be particularly advantageous in experiments by the inventor. As will be shown below, it is thus possible in particular to measure an activity by means of the fill level which, at least in the stationary state, corresponds to a two-logarithm of the ratio of transmission rate to reference rate.

Bevorzugt wird beim Schritt des Ermittelns eines Aktivitätswerts ein Aktivitätswert in Höhe eines Ausgangsaktivitätswerts ermittelt, wenn der Füllstand einen nichtnegativen Wert aufweist. Insbesondere kann der Ausgangsaktivitätswert null sein. Damit wird angezeigt, dass der Füllstand null oder positiv ist und somit keine erhöhte Aktivität des Benutzers vorliegt. Der Ausgangsaktivitätswert kann auch einen anderen Wert als Null aufweisen, beispielsweise einen positiven oder negativen Wert, was einem Offset des Aktivitätswerts entspricht.Preferably, in the step of determining an activity value, an activity value equal to an output activity value is determined when the level has a non-negative value. In particular, the output activity value may be zero. This indicates that the level is zero or positive and thus there is no increased user activity. The output activity value may also have a value other than zero, for example a positive or negative value, which corresponds to an offset of the activity value.

Es kann auch beim Schritt des Ermittelns eines Aktivitätswerts ein negativer Aktivitätswert ermittelt werden, wenn der Füllstand einen nichtnegativen Wert aufweist. Damit kann sogar eine Belohnung für das ressourcenschonende Verhalten eines Benutzers vorgesehen werden, da ein nichtnegativer Wert des Füllstands auf eine besonders geringe Nutzung durch einen Benutzer hinweist. Ein solcher negativer Aktivitätswert könnte beispielsweise im Rahmen der Bestimmung einer Verwurfswahrscheinlichkeit am zweiten Netzwerkknoten verwendet werden, um dementsprechend die Verwurfswahrscheinlichkeit aufgrund des negativen Aktivitätswerts zu verringern. Dies kann dazu führen, dass Datenpakete von besonders ressourcenschonenden Benutzern mit einer geringeren Wahrscheinlichkeit verworfen oder markiert werden.Also, in the step of determining an activity value, a negative activity value may be determined when the level has a non-negative value. Thus, even a reward for the resource-saving behavior of a user can be provided, since a non-negative value of the level indicates a particularly low usage by a user. Such a negative activity value could be used, for example, in the context of the determination of a likelihood of being littered at the second network node, in order accordingly to reduce the likelihood of littering due to the negative activity value. This can result in data packages that are particularly likely to be discarded or tagged by particularly resource-efficient users.

Gemäß einer bevorzugten Ausführung ist vorgesehen, dass der Aktivitätswert zumindest betragsmäßig umso größer ermittelt wird, je mehr die Senderate des Benutzers die Referenzrate übersteigt.According to a preferred embodiment, it is provided that the activity value is determined to be greater, at least in absolute terms, the more the transmission rate of the user exceeds the reference rate.

Beim Schritt des Ermittelns eines Aktivitätswerts kann der Aktivitätswert bevorzugt derart ermittelt werden, dass bei einem negativen Füllstand der Aktivitätswert umso größer wird, je größer ein Absolutbetrag des Füllstands ist. Der Aktivitätswert kann auch umso kleiner werden, je größer die Referenzrate ist. Damit wird erreicht, dass der Aktivitätswert deutlich anzeigt, ob und inwieweit der Benutzer mehr Ressourcen in Anspruch nimmt als ihm aufgrund seiner Referenzrate eigentlich zustehen. Im Fall eines positiven Aktivitätswerts liegt bei typischen Implementierungen ein negativer Füllstand vor, so dass ein größerer Absolutbetrag typischerweise einem negativeren Füllstand entspricht.In the step of determining an activity value, the activity value may preferably be determined in such a way that, in the case of a negative fill level, the greater the absolute value of the fill level, the greater the activity value becomes. The activity value can also become smaller, the larger the reference rate. This ensures that the activity value clearly indicates whether and to what extent the user is using more resources takes as he is due due to his reference rate actually. In the case of a positive activity value, typical implementations have a negative fill level so that a larger absolute level typically corresponds to a more negative fill level.

Beim Schritt des Ermittelns eines Aktivitätswerts wird der Aktivitätswert bevorzugt derart ermittelt, dass bei einem negativen Füllstand der Aktivitätswert durch Division eines Absolutbetrags des Füllstands zumindest durch die Referenzrate ermittelt wird. Dies kann formelmäßig folgendermaßen dargestellt werden:

Figure DE102015111438B3_0004
In the step of determining an activity value, the activity value is preferably determined such that, in the case of a negative fill level, the activity value is determined by dividing an absolute value of the fill level by at least the reference rate. This can be represented formulaically as follows:
Figure DE102015111438B3_0004

Dabei bedeutet:

Rr:
Referenzrate.
Where:
R r :
Reference rate.

Jeder benutzerspezifische Wertesatz kann ferner ein Trägheitsmaß aufweisen. Bei jedem Ermitteln eines Aktivitätswerts kann der Aktivitätswert dabei zumindest betragsmäßig umso kleiner ermittelt werden, je größer das Trägheitsmaß, zumindest betragsmäßig, ist. Mittels eines solchen Trägheitsmaßes kann das zeitliche Ansprechverhalten der Aktivitätswertsbestimmung variiert werden. Insbesondere kann ein großes Trägheitsmaß, d. h. ein hoher Wert des Trägheitsmaßes, dazu führen, dass der Aktivitätswert auf eine Vergrößerung oder Verringerung der Senderate nur verhältnismäßig langsam reagiert. Damit kann eine gewisse zeitliche Glättung erreicht werden.Each user-specific set of values may further comprise an inertial measure. At each determination of an activity value, the activity value can be determined to be the smaller the greater the amount of inertia, at least in terms of magnitude, at least in absolute terms. By means of such an inertial measure, the temporal response of the activity value determination can be varied. In particular, a large degree of inertia, i. H. a high value of the inertia measure, cause the activity value to react only relatively slowly to an increase or decrease in the transmission rate. Thus, a certain temporal smoothing can be achieved.

Es sei erwähnt, dass das Trägheitsmaß sich hier insbesondere auf das gerade beschriebene Vorgehen zum Ermitteln einer Aktivität, also insbesondere das intervalllose Ermitteln einer Aktivität, bezieht. Bei aus dem Stand der Technik bekannten, insbesondere intervallbasierten Verfahren zur Bestimmung der Aktivität, kann das Trägheitsmaß beispielsweise einer Intervalllänge entsprechen, würde aber in einem solchen Fall typischerweise nicht zur Berechnung der Aktivität herangezogen werden.It should be mentioned that the inertial measure here refers in particular to the procedure just described for determining an activity, that is to say in particular the interval-free determination of an activity. In the case of prior art, in particular interval-based, methods for determining the activity, the degree of inertia may correspond, for example, to an interval length, but would typically not be used to calculate the activity in such a case.

Beim Schritt des Ermittelns eines Aktivitätswerts wird der Aktivitätswert gemäß einer Ausführung derart ermittelt, dass bei einem negativen Füllstand der Aktivitätswert durch Division eines Absolutbetrags des Füllstands durch die Referenzrate und durch das Trägheitsmaß ermittelt wird. Dies kann formelmäßig beispielsweise folgendermaßen dargestellt werden:

Figure DE102015111438B3_0005
In the step of determining an activity value, according to an embodiment, the activity value is determined such that at a negative level, the activity value is determined by dividing an absolute level of the level by the reference rate and the inertia measure. This can be represented formulaically, for example, as follows:
Figure DE102015111438B3_0005

Dabei bedeutet:

I:
Trägheitsmaß.
Where:
I:
Trägheitsmaß.

Eine solche Implementierung hat sich im Rahmen von Versuchen des Erfinders als vorteilhaft erwiesen. Sie führt insbesondere zu einer rechnerisch einfachen Integration des Trägheitsmaßes, mit welchem das Ansprechverhalten wie eben beschrieben gesteuert werden kann.Such an implementation has proved to be advantageous in the context of attempts by the inventor. In particular, it leads to a computationally simple integration of the inertial measure with which the response behavior can be controlled as just described.

Das Trägheitsmaß kann beispielsweise einen Wert zwischen 0,1 s und 3 s, zwischen 0,2 s und 2,5 s, zwischen 0,5 s und 2 s oder zwischen 0,8 s und 1,2 s, insbesondere von 1 s haben.The inertial measure may for example be a value between 0.1 s and 3 s, between 0.2 s and 2.5 s, between 0.5 s and 2 s or between 0.8 s and 1.2 s, in particular of 1 s to have.

Es sei darauf hingewiesen, dass sich die eben vorgestellte Implementierung zum Ermitteln eines Aktivitätswerts von einer aus dem Stand der Technik bekannten Token-Bucket-Implementierung insbesondere dadurch unterscheidet, dass negative Füllstände zulässig sind, und dass eine Änderung, insbesondere Verringerung des Füllstands, beim Empfangen eines Datenpakets variabel ist. Wie der Erfinder dieser Anmeldung herausgefunden hat, kann damit eine besonders vorteilhafte Ermittlung eines Aktivitätswerts erreicht werden, wobei sich bei Tests diese Art der Ermittlung bewährt hat. Wie insbesondere weiter unten näher ausgeführt werden wird, führt eine solche Ermittlung eines Aktivitätswerts zu vorteilhaften Ergebnissen.It should be pointed out that the implementation just presented for determining an activity value differs from a token-bucket implementation known from the prior art in that negative fill levels are permissible and that a change, in particular reduction of the fill level, is received a data packet is variable. As the inventor of this application has found out, a particularly advantageous determination of an activity value can thus be achieved, whereby this type of determination has proved successful during tests. As will be explained in more detail below, such a determination of an activity value leads to advantageous results.

Es sei jedoch erwähnt, dass es aus dem Stand der Technik auch noch nicht bekannt ist, eine intervallbasierte Messung zur Ermittlung eines Aktivitätswerts zu verwenden. Hierzu kann insbesondere beim Schritt des Ermittelns eines Aktivitätswerts

  • – die Senderate des Benutzers intervallbasiert gemessen werden,
  • – ein Quotient aus der Senderate geteilt durch die Referenzrate gebildet werden,
  • – und basierend auf diesem Quotienten der Aktivitätswert berechnet werden.
It should be noted, however, that it is also not known from the prior art to use an interval-based measurement to determine an activity value. For this purpose, in particular in the step of determining an activity value
  • The user's sending rate is measured interval-based,
  • A quotient of the transmission rate divided by the reference rate is formed,
  • - and based on this quotient the activity value can be calculated.

Vorzugsweise kann dies durch Berechnen eines Logarithmus, insbesondere eines Zweierlogarithmus, aus diesem Quotienten erfolgen.This can preferably be done by calculating a logarithm, in particular a two logarithm, from this quotient.

Die Verwendung einer solchen intervallbasierten Messung zur Ermittlung eines Aktivitätswerts hat beispielsweise den Vorteil, dass auf eine bewährte Implementierung einer intervallbasierten Messung zurückgegriffen werden kann, wobei diese im vorliegenden Kontext für einen Zweck verwendet wird, für welchem sie im Stand der Technik noch nicht verwendet wurde.The use of such an interval-based measurement to determine an activity value has, for example, the advantage that it is possible to fall back on a proven implementation of an interval-based measurement, which in the present context is used for a purpose for which it has not yet been used in the prior art.

Gemäß einer Ausführung wird beim Eintreffen eines Datenpakets am ersten Netzwerkknoten vor dem Schritt des Ermittelns eines Aktivitätswerts das Datenpaket in eine Anzahl von weiteren Datenpaketen vorgegebener Länge aufgeteilt. Alle weiteren Schritte werden dann mit den weiteren Datenpaketen durchgeführt. Dies dient dazu, die Länge der im Rahmen des hierin beschriebenen Verfahrens zu verwendenden Datenpakete zu standardisieren. Damit kann dem Effekt entgegengewirkt werden, dass bei bestimmten Implementierungen der Empfang zweier Datenpakete mit jeweiliger Länge zu unterschiedlichen Ergebnissen führt verglichen mit dem Empfang eines einzigen Datenpakets, welches die gleiche Länge hat wie die beiden einzelnen Datenpakete zusammen. Dies hat der Erfinder erkannt, wobei es sich hierbei je nach Implementierung nicht zwingend um einen nachteiligen Effekt handelt.According to one embodiment, when a data packet arrives at the first network node prior to the step of determining an activity value, the data packet is divided into a number of further data packets of predetermined length. All further steps are then carried out with the further data packets. This serves to standardize the length of the data packets to be used in the method described herein. Thus, the effect can be counteracted that in certain implementations the reception of two data packets of respective length leads to different results compared to the reception of a single data packet which has the same length as the two individual data packets together. This has been recognized by the inventor, which is not necessarily an adverse effect depending on the implementation.

Beim Schritt des Zuweisens des Aktivitätswerts zu dem Datenpaket kann der Aktivitätswert bevorzugt in einen Kopf, typischerweise auch als Header bezeichnet, oder in einen Trailer des Datenpakets geschrieben werden. Damit können Aktivitätswerte bei nachfolgenden Netzwerkknoten an klar erkennbaren Stellen des Datenpakets wieder ausgelesen werden.In the step of assigning the activity value to the data packet, the activity value may preferably be written in a header, typically also called a header, or in a trailer of the data packet. In this way, activity values at subsequent network nodes can be read out again at clearly recognizable points in the data packet.

Der erste Netzwerkknoten ist vorzugsweise als Zugangsknoten für den Benutzer ausgebildet. Dies erlaubt eine vorteilhafte Erfassung der Aktivitätswerte unmittelbar an demjenigen Punkt des Netzwerks, an welchem die Verbindung zu den Benutzern hergestellt wird. Es sei jedoch verstanden, dass das Verfahren insbesondere auch in einem Fall durchführbar ist, in welchem alle Datenpakete über einen weiteren Netzwerkknoten laufen, an welchem bereits eine Zuordnung zu Benutzern erfolgen kann. Dies kann insbesondere im Fall eines Datenverkehrs zu den Benutzern hin, auch als Download bezeichnet, zu einer Implementierung des Verfahrens verwendet werden.The first network node is preferably designed as an access node for the user. This allows advantageous detection of the activity values immediately at the point of the network where the connection to the users is made. However, it should be understood that the method can also be carried out in particular in a case in which all data packets run via a further network node on which an assignment to users can already take place. This can be used, in particular in the case of data traffic to the users, also referred to as download, for implementing the method.

Die Erfindung betrifft des Weiteren ein Netzwerk mit zumindest einem ersten Netzwerkknoten und einem zweiten Netzwerkknoten, welche dazu konfiguriert sind, das erfindungsgemäße Verfahren gemäß einer oder mehrerer der beschriebenen Varianten und Ausführungen auszuführen.The invention further relates to a network having at least a first network node and a second network node, which are configured to carry out the method according to the invention in accordance with one or more of the variants and embodiments described.

Die Erfindung betrifft des Weiteren einen ersten Netzwerkknoten, welcher dazu ausgebildet ist, den auf den ersten Netzwerkknoten entfallenden Teil des erfindungsgemäßen Verfahrens gemäß einer oder mehrerer der hierin beschriebenen Varianten und Ausführungen auszuführen.The invention furthermore relates to a first network node, which is designed to execute the part of the method according to the invention attributable to the first network node in accordance with one or more of the variants and embodiments described herein.

Die Erfindung betrifft des Weiteren einen zweiten Netzwerkknoten, welcher dazu konfiguriert ist, den auf den zweiten Netzwerkknoten entfallenden Teil des hierin beschriebenen Verfahrens gemäß einer oder mehrerer der hierin beschriebenen Varianten und Ausführungen auszuführen.The invention further relates to a second network node configured to execute the portion of the method described herein attributable to the second network node in accordance with one or more of the variants and embodiments described herein.

Es sei erwähnt, dass der erste Netzwerkknoten und der zweite Netzwerkknoten grundsätzlich auch eine Einheit bilden können, so dass beispielsweise beide Funktionalitäten auf einem Netzwerkknoten, beispielsweise einem Server, implementiert sind. Dies kann beispielsweise verwendet werden, wenn ein Flaschenhals direkt an einem Zugangsknoten beginnt.It should be mentioned that the first network node and the second network node can in principle also form a unit, so that, for example, both functionalities are implemented on a network node, for example a server. This can be used, for example, when a bottleneck starts directly at an access node.

Gemäß einer Ausführung interveniert das Verfahren durch Verwerfen oder Markieren von Paketen nur dann, wenn eine tatsächliche Verstopfung vorliegt. Insbesondere dann kommt es hinsichtlich seiner Vorteile besonders zur Geltung. Eine Verstopfung kann beispielsweise basierend auf einer Tageszeit, auf gleichzeitig verwendeten benutzerspezifischen Schwellenwerten, Bandbreiteschwellenwerten oder Dienstqualität von Benutzern ermittelt werden. Es können auch Anwendungen priorisiert werden und es können gewisse Richtlinien erzwungen werden wie beispielsweise eine Priorisierung, ein Verteilungsmechanismus, eine Ratenbegrenzung oder andere Mechanismen.According to one embodiment, the method intervenes by discarding or marking packets only when there is an actual blockage. In particular, it comes in terms of its advantages particularly well. For example, a congestion may be determined based on a time of day, user concurrent thresholds, bandwidth thresholds, or user quality of service. Applications may also be prioritized and certain policies enforced, such as prioritization, distribution mechanism, rate limiting or other mechanisms.

Mechanismen zum Umgang mit Verstopfungsmanagement, wie beispielsweise das hier beschriebene Verfahren, können beispielsweise pro Benutzer oder auch pro Anwendung durchgeführt werden. Mechanisms for dealing with constipation management, such as the method described herein, may be performed, for example, per user or even per application.

Das oben bereits erwähnte Markieren von Datenpaketen basiert typischerweise auf dem Prinzip der sogenannten „Explicit Congestion Notification” (ECN). ECN-fähige TCP-Sender markieren typischerweise Pakete mit einem Hinweis, dass sie ECN-fähig sind, so dass ein Datenpaket markiert werden kann anstatt es zu verwerfen, wobei der Sender seine Senderate verringert, wenn er erfährt, dass das Datenpaket markiert wurde. Auf diese Weise kann das Verwerfen von Datenpaketen und der damit verbundene Verlust von Zeit und Ressourcen vermieden werden.The marking of data packets already mentioned above is typically based on the principle of Explicit Congestion Notification (ECN). ECN-capable TCP senders typically tag packets with an indication that they are ECN-enabled so that a data packet can be tagged instead of discarded, with the sender reducing its send rate when it learns that the data packet has been tagged. In this way, the discarding of data packets and the associated loss of time and resources can be avoided.

Es sei verstanden, dass Datenpakete, insbesondere nach dem Schritt des Zuweisens des Aktivitätswerts, vom ersten Netzwerkknoten an den zweiten Netzwerkknoten weitergeleitet werden können. Außerdem können sie, insbesondere nach der hierin beschriebenen Verarbeitung am zweiten Netzwerkknoten, also insbesondere nach Durchführung des Zufallsprozesses, vom zweiten Netzwerkknoten an einen weiteren Netzwerkknoten, beispielsweise einen dritten Netzwerkknoten, weitergeleitet werden, und zwar insbesondere dann, wenn sie nicht verworfen wurden.It should be understood that data packets, in particular after the step of assigning the activity value, can be forwarded by the first network node to the second network node. In addition, in particular after the processing described here at the second network node, ie in particular after the random process has been performed, they can be forwarded by the second network node to a further network node, for example a third network node, in particular if they have not been discarded.

Technische Effekte und VorteileTechnical effects and advantages

Es sei verstanden, dass das hierin beschriebene Verfahren, welches auf der Ermittlung eines Aktivitätswerts und der Ermittlung einer Verwurfswahrscheinlichkeit abhängig von diesem Aktivitätswert basiert, bei typischen Netzwerken zu einer erheblich besseren Ausnutzung der vorhandenen Ressourcen und zu einer gerechteren Zuweisung der Ressourcen an mehrere Benutzer führt. Wie weiter unten anhand von Simulationen und Versuchen, welche der Erfinder durchgeführt hat, beschrieben werden wird, kann mittels des erfindungsgemäßen Verfahrens einer Monopolisierung des Netzwerks durch einzelne besonders intensive Benutzer entgegengewirkt werden, was zu einer im Vergleich zum Stand der Technik erheblich höheren Netzverfügbarkeit für schwächere Benutzer führt. Ähnlich wie bei bereits aus dem Stand der Technik bekannten Verfahren kann eine Differenzierung zwischen Benutzern vorgenommen werden, wobei im Vergleich zur eingangs beschriebenen Zuweisung von Datenmengen, welche in bestimmten Zeiträumen übertragen werden dürfen, auch Benutzern mit schlechterer Priorität ein hohes Datenvolumen zur Verfügung gestellt werden kann, wenn die Netzauslastung dies erlaubt, d. h. insbesondere wenn die Interessen von anderen Benutzern dem nicht entgegenstehen. Die Zuweisung einer Priorität kann dabei insbesondere durch die Zuweisung der Referenzraten vorgenommen werden, wobei eine höhere bzw. niedrigere Priorität einer höheren bzw. niedrigeren Referenzrate entspricht. Auf Seiten der Benutzer führt die Verwendung des erfindungsgemäßen Verfahrens somit dazu, dass in den meisten Situationen die verfügbaren Bandbreiten bzw. Datenübertragungsmengen, insbesondere für schwache Benutzer, d. h. für Benutzer mit wenig Sendeaufkommen, deutlich höher sind als bei Verfahren gemäß dem Stand der Technik. Auf Seiten der Netzbetreiber führt die Verwendung des erfindungsgemäßen Verfahrens zu einer besseren Auslastung des Netzes, beispielsweise durch die Übertragung des Datenverkehrs von Benutzern mit hohem Sendeaufkommen in Zeiten mit sonst niedriger Verkehrslast, und ermöglicht beispielsweise die Verschiebung von Erweiterungsinvestitionen.It should be understood that the method described herein, which is based on determining an activity value and determining a probability of discard depending on this activity value, results in significantly better utilization of existing resources and fairer allocation of resources to multiple users in typical networks. As will be described below on the basis of simulations and experiments carried out by the inventor, by means of the method according to the invention a monopolization of the network by individual, particularly intensive users can be counteracted, resulting in a considerably higher network availability for the weaker ones compared to the prior art User leads. Similar to methods already known from the prior art, a differentiation can be made between users, whereby a high data volume can be made available to users with a lower priority compared to the initially described allocation of data volumes which may be transmitted in certain periods of time if the network utilization allows this, d. H. especially if the interests of other users do not conflict with this. The assignment of a priority can be carried out in particular by the assignment of the reference rates, with a higher or lower priority corresponding to a higher or lower reference rate. On the user side, using the method according to the invention thus results in most situations in the available bandwidths or data transmission quantities, in particular for weak users, ie. H. for users with low transmission rates, are significantly higher than in prior art methods. On the part of the network operators, the use of the method according to the invention leads to a better utilization of the network, for example by the transmission of the traffic of users with high transmission volumes in times with otherwise low traffic load, and allows, for example, the postponement of expansion investments.

Es sei des Weiteren erwähnt, dass das hierin beschriebene Verfahren skalierbar ist, da Netzwerkknoten keine Benutzerzustände, keine mehreren Warteschlangen und keine spezielle Signalisierung benötigen. Dies bezieht sich insbesondere auf den zweiten Netzwerkknoten.It should be further noted that the method described herein is scalable because network nodes do not require user states, multiple queues, and no special signaling. This refers in particular to the second network node.

Studien des Erfinders, welche auf Analyse und auf Simulation basieren und welche weiter unten wiedergegeben sind, zeigen, dass das hierin beschriebene Verfahren zu einer fairen Aufteilung einer vorhandenen Kapazität zwischen Benutzern führt, welche ungefähr proportional ist zu ihren Referenzraten. Dies gilt sowohl für TCP-Verkehr, für sonstigen Verkehr mit Statuskontrolle wie auch für Verkehr ohne Statuskontrolle oder Mischungen davon.Studies by the inventor based on analysis and simulation, and which are presented below, show that the method described herein results in a fair sharing of existing capacity between users that is approximately proportional to their reference rates. This applies to TCP traffic, other traffic with status control as well as traffic without status control or mixtures thereof.

Wie sich bei Versuchen des Erfinders des Weiteren herausgestellt hat, unterstützt das Verfahren in vorteilhafter Weise kurze Übertragungen für ansonsten zurückhaltende Benutzer und schützt außerdem Verkehr mit Statuskontrolle gegenüber Verkehr ohne Statuskontrolle. Es kann beispielsweise in Netzwerken zur Versorgung von Privathaushalten und/oder Firmen, in Mobilfunknetzwerken sowie in Netzwerken von Rechenzentren eingesetzt werden.Further, as the inventor has found, the method advantageously supports short transfers for otherwise restrained users and also protects traffic with status control over traffic without status control. It can be used, for example, in networks for the supply of private households and / or companies, in mobile radio networks as well as in networks of computer centers.

Kurze Beschreibung der Zeichnung Short description of the drawing

Nachfolgend werden mögliche Implementierungen des hierin beschriebenen Verfahrens als Ausführungsbeispiele beschrieben. Dabei werden auch Ergebnisse von Analyse und Simulation dieser Implementierungen gegeben, um die Wirksamkeit des erfindungsgemäßen Verfahrens insbesondere hinsichtlich einer besseren Ressourcennutzung und einer gerechteren Aufteilung der Ressourcen auf Benutzer zu zeigen. Teilweise wird auf die am Ende der Beschreibung angehängten Tabellen Bezug genommen.Hereinafter, possible implementations of the method described herein will be described as embodiments. Results of analysis and simulation of these implementations are also given in order to demonstrate the effectiveness of the method according to the invention, in particular with regard to a better use of resources and a fairer allocation of resources to users. Partial reference is made to the tables appended at the end of the description.

1 zeigt einen Überblick über ein Netzwerk mit drei Netzwerkknoten und mehreren Benutzern, 1 shows an overview of a network with three network nodes and multiple users,

2 zeigt den zeitlichen Verlauf von Aktivitätswerten für einen Benutzer mit konstanter Bitrate, 2 shows the time course of activity values for a constant bit rate user,

3 zeigt den zeitlichen Verlauf von Aktivitätswerten für einen Benutzer mit konstanter Bitrate mit unterschiedlichen Trägheitsmaßen, 3 shows the time course of activity values for a constant bit rate user with different inertial measures,

4 zeigt einen Durchsatz eines Benutzers in Abhängigkeit von einer Senderate, 4 shows a throughput of a user as a function of a transmission rate,

5 zeigt den Durchsatz eines Benutzers in Abhängigkeit von der Senderate mit anderen Parametern, 5 shows the throughput of a user as a function of the transmission rate with other parameters,

6 zeigt einen simulierten Aufbau, 6 shows a simulated structure,

7 zeigt ein Durchsatzverhältnis in Abhängigkeit von einer Referenzrate, 7 shows a throughput ratio as a function of a reference rate,

8 zeigt ein Durchsatzverhältnis eines Benutzers in Abhängigkeit von Parametern. 8th shows a throughput ratio of a user depending on parameters.

Detaillierte Beschreibung der AusführungsbeispieleDetailed description of the embodiments

Es sei verstanden, dass alle Merkmale, Implementierungen und Ausführungsformen, welche nachfolgend beschrieben werden, Merkmale der Erfindung darstellen können und dementsprechend auch zur Abgrenzung der Ansprüche gegenüber dem Stand der Technik oder zur Neuformulierung von Ansprüchen verwendet werden können. Auch wenn bestimmte Merkmale zusammen erwähnt werden gelten sie trotzdem als separat offenbart. Es sei auch darauf hingewiesen, dass Ausführungen, welche sich aus den nachfolgenden Betrachtungen als vorteilhaft ergeben haben oder als vorteilhaft ableiten lassen, ebenfalls zur Offenbarung dieser Anmeldung zählen und zur Abgrenzung gegenüber dem Stand der Technik verwendet werden können.It should be understood that all features, implementations and embodiments described below may constitute features of the invention and accordingly may be used to delineate the claims from the prior art or to reformulate claims. Although certain features are mentioned together, they are still considered separately disclosed. It should also be noted that embodiments which have been found to be advantageous from the following considerations or can be derived as advantageous, also include the disclosure of this application and can be used to delineate the prior art.

1 zeigt ein Netzwerk 1 mit einem ersten Netzwerkknoten 100, einem zweiten Netzwerkknoten 200 und einem dritten Netzwerkknoten 300. Der erste Netzwerkknoten 100 ist als Zugangsknoten ausgebildet, wobei an diesem Netzwerkknoten ein erster Benutzer 10, ein zweiter Benutzer 20, ein dritter Benutzer 30 und ein vierter Benutzer 40 angeschlossen sind. Diese greifen also über den ersten Netzwerkknoten 100 auf das Netzwerk 1 zu. 1 shows a network 1 with a first network node 100 , a second network node 200 and a third network node 300 , The first network node 100 is formed as an access node, wherein at this network node, a first user 10 , a second user 20 , a third user 30 and a fourth user 40 are connected. These therefore access the first network node 100 on the network 1 to.

Der erste Netzwerkknoten 100 und der zweite Netzwerkknoten 200 sind über eine erste Netzwerkleitung 110 miteinander verbunden. Der zweite Netzwerkknoten 200 und der dritte Netzwerkknoten 300 sind über eine zweite Netzwerkleitung 210 miteinander verbunden. Vorliegend ist die zweite Netzwerkleitung 210 diejenige von beiden Netzwerkleitungen 110, 210, welche die geringere Kapazität zur Datenübertragung aufweist. Die zweite Netzwerkleitung 210 kann somit auch als Flaschenhals bezeichnet werden.The first network node 100 and the second network node 200 are over a first network line 110 connected with each other. The second network node 200 and the third network node 300 are over a second network line 210 connected with each other. Here is the second network line 210 the one from both network lines 110 . 210 having the lower capacity for data transmission. The second network line 210 can therefore also be called a bottleneck.

Am ersten Netzwerkknoten 100 und am zweiten Netzwerkknoten 200 ist eine mögliche Implementierung des erfindungsgemäßen Verfahrens realisiert, welche nachfolgend beschrieben wird.At the first network node 100 and at the second network node 200 is realized a possible implementation of the method according to the invention, which will be described below.

Zunächst wird ein Überblick über diese Implementierung gegeben.First, an overview of this implementation is given.

Jedem der Benutzer 10, 20, 30, 40 wird eine jeweilige Referenzrate Rr zugeordnet, welche üblicherweise für einen längeren Zeitraum konstant bleibt. Durch das Zuweisen von unterschiedlichen Referenzraten Rr können den Benutzern unterschiedliche Prioritäten bzw. unterschiedliche Rechte hinsichtlich der Benutzung des Netzwerks 1 zugewiesen werden. Jeder der Benutzer 10, 20, 30, 40 sendet mit einer jeweiligen Übertragungsrate Rt. Diese kann größer oder kleiner als die Referenzrate Rr sein.Each of the users 10 . 20 . 30 . 40 is assigned a respective reference rate R r , which usually remains constant for a longer period. By assigning different reference rates R r , the users may have different priorities or different rights regarding the use of the network 1 be assigned to. Each of the users 10 . 20 . 30 . 40 transmits at a respective transmission rate R t . This may be greater or less than the reference rate R r .

In dem ersten Netzwerkknoten 100 ist das Verfahren zum Ermitteln eines Aktivitätswerts implementiert. In dem zweiten Netzwerkknoten 200 ist das Verfahren zum Bestimmen einer Verwurfswahrscheinlichkeit und darauf basierend zufälligem Verwerfen oder Markieren von Datenpaketen implementiert. Somit werden gegebenenfalls nicht alle Datenpakete von den Benutzern 10, 20, 30, 40 zu dem dritten Netzwerkknoten 300 weitergeleitet. In the first network node 100 For example, the method for determining an activity value is implemented. In the second network node 200 For example, the method is implemented for determining a probability of discard and based on random discarding or marking of data packets. Thus, if necessary, not all data packets from the users 10 . 20 . 30 . 40 to the third network node 300 forwarded.

Die in dem ersten Netzwerkknoten 100 verwendete Implementierung kann als Aktivitätsmeter bezeichnet werden. Das Aktivitätsmeter ist vorliegend in Form eines Token Bucket mit einer Eimergröße B implementiert, deren Füllstand F sich mit der Referenzrate Rr des Benutzers im Verlauf der Zeit erhöht. Der Füllstand F wird durch den gemessenen Verkehr verringert und kann im Gegensatz zu normalen Token-Bucket-Implementierungen auch negativ werden. Wenn ein Paket der Länge L zur Zeit tnow ankommt, werden die angekommenen Tokens seit der letzten Paketankunft tlast zu dem Füllstand anhand folgender Formel addiert: F = min(B, F + Rr·(tnow – tlast)) (7) The in the first network node 100 The implementation used can be called an activity meter. In the present case, the activity meter is implemented in the form of a token bucket with a bucket size B whose fill level F increases with the user's reference rate R r over time. The level F is reduced by the measured traffic and, unlike normal token-bucket implementations, can also become negative. When a packet of length L at time t now arrives, the arrived tokens since the last packet arrival t load to the level added using the formula: F = min (B, F + R r · (t now -t last )) (7)

Die Zeit tlast wird mit tnow aktualisiert. Anschließend wird der Aktivitätswert bzw. die Aktivität A folgendermaßen berechnet:

Figure DE102015111438B3_0006
The time t last is updated with t now . Then the activity value or activity A is calculated as follows:
Figure DE102015111438B3_0006

Der hierdurch ermittelte Aktivitätswert A wird in den Kopf des Pakets geschrieben. Anschließend wird der Füllstand folgendermaßen geändert: F = F – L·2–A (9) The activity value A thus determined is written in the header of the packet. Then the level is changed as follows: F = F - L · 2 -A (9)

Sowohl B wie auch I sind konfigurierte Werte, wobei I ein Trägheitsmaß darstellt, mittels welchem das Ansprechverhalten des Systems verändert werden kann. Die Eimergröße B wird in Bytes angegeben und drückt bei normalen Token-Bucket-Implementierungen aus, wie umfangreich ein Burst sein kann. Ein Aktivitätsmeter mit einem vollen Eimer ignoriert mindestens diese Menge an Verkehr, bevor angezeigt wird, dass die Senderate Rt die Referenzrate Rr übersteigt. Das Trägheitsmaß I wird in Sekunden angegeben und steuert, wie schnell der Aktivitätswert ansprechend auf eine Ratenänderung oder einen Burst reagiert. Vorliegend werden beispielhaft Standardwerte von B = 0 KB und I = 0,6 s verwendet.Both B and I are configured values, where I represents an inertial measure by means of which the response of the system can be changed. The bucket size B is specified in bytes and, in normal token bucket implementations, expresses how extensive a burst can be. An activity meter with a full bucket ignores at least this amount of traffic before it is indicated that the transmission rate R t exceeds the reference rate R r . The inertia measure I is given in seconds and controls how fast the activity value responds in response to a rate change or burst. In the present example, default values of B = 0 KB and I = 0.6 s are used.

Im zweiten Netzwerkknoten 200 wird bei Eintreffen eines Datenpakets vom ersten Netzwerkknoten 100 über die erste Netzwerkleitung 110 eine Verwurfswahrscheinlichkeit für das jeweilige Datenpaket berechnet. Das Ziel ist es dabei, die Verwurfswahrscheinlichkeit derart anzupassen, dass Pakete von Benutzern mit größerem oder kleinerem Aktivitätswert als einem Referenzaktivitätswert bzw. einem Durchschnitt höhere oder niedrigere Verwurfswahrscheinlichkeiten bekommen.In the second network node 200 becomes upon arrival of a data packet from the first network node 100 over the first network line 110 calculated a Verwurfswahrscheinlichkeit for each data packet. The goal is to tailor the probability of discard so that packets from users with a greater or lesser activity value than a reference activity value or an average get higher or lower probability of discarding.

Hierzu wird beim Eintreffen eines Datenpakets mit im Kopf befindlichem Aktivitätswert A zunächst ein exponentiell gewichteter Mittelwert (Exponentially Weighted Moving Average, EWMA) folgendermaßen berechnet: Aavg = wA·Aavg + (1 – wA)·A (10) For this purpose, when a data packet with in-head activity value A arrives, an exponentially weighted moving average (EWMA) is first calculated as follows: A avg = w A · A avg + (1 - w A ) · A (10)

Dabei bezeichnet wA einen Gewichtungsfaktor, wobei 0 < wA < 1 gilt. Der Gewichtungsfaktor wA steuert, wie schnell der Referenzaktivitätswert Aavg auf eine Änderung von Aktivitätswerten reagiert. Vorliegend wird beispielhaft ein Standardwert von wA = 0,99 verwendet.Here, w A denotes a weighting factor, where 0 <w A <1. The weighting factor w A controls how fast the reference activity value A avg responds to a change in activity values . In the present case, a standard value of w A = 0.99 is used by way of example.

Die Verwurfswahrscheinlichkeit wird anschließend folgendermaßen berechnet:

Figure DE102015111438B3_0007
The throwing probability is then calculated as follows:
Figure DE102015111438B3_0007

Hierbei wird ein Differenzierungsfaktor γ verwendet, welcher den Einfluss der Aktivitätsdifferenz (A – Aavg) auf die Änderung der modifizierten Verwurfswahrscheinlichkeit pA von einer Ausgangswahrscheinlichkeit p hat. Positive Werte von γ erhöhen pA für positive Differenzen, was erwünscht ist. Ein Wert von γ = 0 verhindert eine Unterscheidung, und negative Differenzierungsfaktoren führen typischerweise zu unerwünschten Ergebnissen. Vorliegend wird beispielhaft ein Standardwert von γ = 3 verwendet.In this case, a differentiation factor γ is used which has the influence of the activity difference (A-A avg ) on the change of the modified throw probability p A from an output probability p. Positive values of γ increase p A for positive differences, which is desirable. A value of γ = 0 prevents discrimination, and negative differentiation factors typically lead to undesirable results. In the present case, a standard value of γ = 3 is used by way of example.

Die gezeigte Implementierung basiert grundsätzlich auf den folgenden Parametern: Referenzrate Rr, Eimergröße B, Trägheitsmaß I pro Benutzer sowie Differenzierungsfaktor γ und Gewichtsfaktor wA, wobei die beiden letzteren Werte typischerweise nicht benutzerspezifisch sind. Sie müssen jedoch nicht im gesamten Netzwerk 1 identisch sein. Insbesondere können unterschiedliche oder auch gleiche Referenzraten Rr den Benutzern 10, 20, 30, 40 zugewiesen werden.The implementation shown is basically based on the following parameters: reference rate R r , bucket size B, inertia measure I per user, and differentiation factor γ and weight factor w A , the latter two values typically being non-user specific. However, they do not have to be in the entire network 1 be identical. In particular, different or even the same reference rates R r can be used by the users 10 . 20 . 30 . 40 be assigned to.

Im zweiten Netzwerkknoten 200 wird nach Berechnung der Verwurfswahrscheinlichkeit ein Zufallsprozess ausgeführt, welcher mit der Verwurfswahrscheinlichkeit pA zu einem positiven Ergebnis führt. Hierbei wird auf einen Zufallsgenerator zurückgegriffen. Ergibt der Zufallsprozess ein positives Ergebnis, so wird das Datenpaket verworfen, andernfalls wird es an den dritten Netzwerkknoten 300 weitergeleitet. Ein positives Ergebnis kann beispielsweise darin bestehen, dass eine ermittelte Zufallszahl aus einem Wertebereich zwischen 0 und 1 einen Schwellenwert übersteigt, wobei der Schwellenwert anhand der Verwurfswahrscheinlichkeit festgesetzt wird.In the second network node 200 After calculation of the throwing probability, a random process is carried out, which leads to a positive result with the throwing probability p A. Here, a random generator is used. If the random process yields a positive result, the data packet is discarded, otherwise it is sent to the third network node 300 forwarded. A positive result may be, for example, that a determined random number from a value range between 0 and 1 exceeds a threshold value, wherein the threshold value is set on the basis of the probability of discarding.

Der Aktivitätswert kann beispielsweise codiert werden, insbesondere in IPv6-Extension-Headern oder in zusätzlichen Headern unterhalb von IP. Das letztgenannte erscheint insbesondere sinnvoll in Open-Flow-basierten Netzwerken.The activity value can be coded, for example, in IPv6 extension headers or in additional headers below IP. The latter seems particularly useful in open-flow-based networks.

Die gezeigte Implementierung ist typischerweise derart aufgebaut, dass jeglicher Upload-Verkehr eines Benutzers in seiner Aktivität gemessen wird und mit dem Aktivitätswert versehen wird, was in einem einzigen Ort in der Nähe des jeweiligen Benutzers 10, 20, 30, 40, insbesondere am ersten Netzwerkknoten 100, problemlos durchgeführt werden kann. Wenn das Verfahren für Downloads angewendet werden soll, kann der für einen Benutzer vorgesehene Verkehr bei einer Anzahl von Eingangsknoten durch ein verteiltes Aktivitätsmeter gemessen werden. Dies erscheint insbesondere aufgrund von zwei Gründen machbar. Zum einen wurde ein verteilter Ansatz zur Kontrolle und Erzwingung einer Datenrate für Verkehr, der von verschiedenen Zugängen kommt bereits gezeigt, beispielsweise in B. Raghavan et al., „Cloud Control with Distributed Rate Limiting” in ACM SIGCOMM, August 2007, zum anderen ergibt die Aktivitätsmessung gleiche Resultate, wenn ein Fluss lastbalanciert wird über zwei Aktivitätsmeter, welche mit der halben Referenzrate konfiguriert sind.The implementation shown is typically constructed such that any upload traffic of a user is measured in its activity and provided with the activity value, which is in a single location in the vicinity of the respective user 10 . 20 . 30 . 40 , in particular at the first network node 100 , can be done easily. If the method is to be applied to downloads, the traffic intended for a user may be measured at a number of ingress nodes by a distributed activity meter. This seems feasible, in particular, for two reasons. Firstly, a distributed approach to control and enforce a data rate for traffic coming from different approaches has already been demonstrated, for example, in B. Raghavan et al., "Cloud Control with Distributed Rate Limiting" in ACM SIGCOMM, August 2007 the activity measurement gives the same results when a flow is load balanced over two activity meters configured at half the reference rate.

Mathematische AnalyseMathematical analysis

Nachfolgend wird zunächst eine mathematische Analyse der hier vorgestellten Implementierung gegeben. Hierbei wird ein beliebiger Benutzer entsprechend einem der oben erwähnten Benutzer 10, 20, 30, 40 mit konstanter Bitrate („Constant Bit Rate”, CBR) betrachtet. Ein solcher Benutzer wird nachfolgend als CBR-Benutzer, sein Verkehr als CBR-Verkehr bezeichnet. Zunächst wird das Verhalten des Aktivitätsmeters betrachtet. Dann wird das Ergebnis der Kapazitätsverteilung des Verfahrens unter unterschiedlichen Umständen betrachtet. Schließlich wird erklärt, warm einige implizite Parameter keinen Einfluss auf die Bandbreitenverteilung haben. Außerdem werden Empfehlungen für vorteilhafte Weiterbildungen insbesondere hinsichtlich der Konfiguration von Referenzraten gegeben.In the following a mathematical analysis of the presented implementation will be given. Here, an arbitrary user corresponding to one of the above-mentioned users 10 . 20 . 30 . 40 considered at constant bit rate (CBR). Such a user is referred to below as CBR user, his traffic as CBR traffic. First, the behavior of the activity meter is considered. Then, the result of the capacity distribution of the method under different circumstances is considered. Finally, it is explained that some implicit parameters have no effect on the bandwidth distribution. In addition, recommendations are given for advantageous developments, in particular with regard to the configuration of reference rates.

Zunächst wird der zeitliche Verlauf des Aktivitätswerts eines Benutzers mit einer Senderate Rt, Referenzrate Rr, Eimergröße B und Trägheitsmaß I betrachtet. Der Benutzer beginnt mit der Übertragung von CBR-Verkehr zur Zeit t = 0 s und beendet dies zur Zeit t = 5 s. Der Verlauf des Füllstands F des Eimers des Token Bucket wird für jede Datenpaketankunft modelliert.First, the time history of the activity value of a user with a transmission rate R t , reference rate R r , bucket size B and inertia measure I is considered. The user starts transmitting CBR traffic at time t = 0 s and ends it at time t = 5 s. The history of the bucket F level of the token bucket is modeled for each data packet arrival.

Zunächst erhöht sich der Füllstand F um die Anzahl von Tokens, welche seit der letzten Paketankunft angekommen sind, und zwar entsprechend Formel (7). Dann wird der Aktivitätswert entsprechend Formel (8) berechnet. Schließlich wird der Füllstand F entsprechend Formel (9) verringert. Diese Schritte werden bei jeder Ankunft eines Datenpakets wiederholt, was im Wesentlichen den zeitlichen Verlauf des Füllstands F angibt.First, the level F increases by the number of tokens that have arrived since the last parcel arrival, according to formula (7). Then the activity value is calculated according to formula (8). Finally, the level F is reduced according to formula (9). These steps are repeated each time a data packet arrives, which essentially indicates the time course of the filling level F.

2 zeigt den Verlauf des gemessenen Aktivitätswerts mit der Zeit für einen CBR-Benutzer mit Referenzrate Rr = 1 Mb/s, einer Senderate von Rt = 2 Mb/s, einer Eimergröße B = 100 KB, und einem Trägheitsmaß von I = 0,1 s. Der Aktivitätswert wird positiv, wenn der Füllstand F unter null fällt. Dies passiert zur Zeit

Figure DE102015111438B3_0008
für Rt > Rr. Somit bekommt man t + / A = 0,8 s für B = 100 KB und Rr = 2 Mb/s, t + / A = 0,11 s für B = 100 KB und Rt = 8 Mb/s, und t + / A = 0 für B = 0 KB. Dies ist auch in der 2 gezeigt. 2 shows the course of the measured activity value over time for a CBR user with reference rate R r = 1 Mb / s, a transmission rate of R t = 2 Mb / s, a bucket size B = 100 KB, and an inertia measure of I = 0, 1 s. The activity value becomes positive when the level F falls below zero. This is happening at the moment
Figure DE102015111438B3_0008
for R t > R r . So you get t + / A = 0.8 s for B = 100 KB and R r = 2 Mb / s, t + / A = 0.11 s for B = 100 KB and R t = 8 Mb / s, and t + / A = 0 for B = 0 KB. This is also in the 2 shown.

Zur Zeit t + / A erhöht sich der Aktivitätswert schnell und nähert sich langsam einem stationären Aktivitätswert As. Wenn die stationäre Aktivität erreicht wird, gleicht die Rate, mit welcher Tokens von dem Token Bucket entfernt werden, der Referenzrate Rr:

Figure DE102015111438B3_0009
was die Berechnung der stationären Aktivität bzw. des stationären Aktivitätswerts erleichtert:
Figure DE102015111438B3_0010
For now t + / A the activity value increases rapidly and slowly approaches steady state activity value A s . When steady-state activity is reached, the rate at which tokens are removed from the token bucket is equal to the reference rate R r :
Figure DE102015111438B3_0009
which facilitates the calculation of inpatient activity or inpatient activity value:
Figure DE102015111438B3_0010

Somit ist die Aktivität der Logarithmus, genauer gesagt der Zweierlogarithmus des Faktors, um welchen die Senderate Rt die Referenzrate Rr übersteigt. Sie hängt von Rt und Rr ab, jedoch nicht vom Trägheitsmaß L 2 zeigt dies folgendermaßen: Man entnimmt As = 1 für Rt = 2 Mb/s und As = 3 für Rt = 8 Mb/s unabhängig von dem Trägheitsmaß I.Thus, the activity is the logarithm, more precisely the two logarithm of the factor by which the transmission rate R t exceeds the reference rate R r . It depends on R t and R r , but not on the inertia measure L 2 this is shown as follows: A s = 1 for R t = 2 Mb / s and A s = 3 for R t = 8 Mb / s independently of the measure of inertia I.

Der Benutzer beendet das Senden zur Zeit t = 5 s. Da der Aktivitätswert seinen stationären Wert As erreicht hat, beträgt der Füllstand ungefähr F = Rr·I·As. Von diesem Zeitpunkt an erhöht sich der Füllstand linear mit der Zeit und der Aktivitätswert A erreicht linear den Wert null. Dieser Vorgang dauert

Figure DE102015111438B3_0011
an Zeit. Die 2 zeigt, dass der Aktivitätswert für I = 0,1 s sehr schnell auf null zurückgeht, wenn der Benutzer das Senden beendet, und dass es länger dauert für I = 1,0 s.The user stops sending at time t = 5s. Since the activity value has reached its steady state value A s , the level is approximately F = R r * I * A s . From this point on, the level increases linearly with time and the activity value A linearly reaches zero. This process takes
Figure DE102015111438B3_0011
in time. The 2 shows that the activity value for I = 0.1 s very quickly goes back to zero when the user stops sending, and that it takes longer for I = 1.0 s.

Auf ähnliche Weise hängt die Zeit nach dem Beginn der Übertragung, in welcher der Aktivitätswert in die Nähe seines stationären Werts As – ε kommt, von dem Trägheitsmaß I ab, während der Einfluss des tatsächlichen Werts von As eher gering ist. Dies kann durch langwierige elementare Berechnungen gezeigt werden. Dies ist auch in 2 gezeigt, wo die zwei Kurven mit I = 0,1 s nahezu identische Form haben.Similarly, the time after the start of the transmission in which the activity value comes close to its steady state value A s - ε depends on the inertial measure I, while the influence of the actual value of A s is rather small. This can be demonstrated by lengthy elementary calculations. This is also in 2 shown where the two curves with I = 0.1 s almost identical shape.

Das Trägheitsmaß I beeinflusst den Widerstand des Aktivitätswerts gegenüber Bursts. Man kann die Eimergröße V berechnen, welche benötigt wird, um den Aktivitätswert eines Benutzers mit einer Senderate Rt und stationärem Wert As um eins zu erhöhen. Bei Ankunft des Bursts erhöht sich der Aktivitätswert A von As auf As + 1. Somit muss sich der Füllstand F um Rr·I Bytes verringern. Da Pakete nur mit einem Teil zwischen

Figure DE102015111438B3_0012
und
Figure DE102015111438B3_0013
beitragen, wird eine Eimergröße von
Figure DE102015111438B3_0014
benötigt. Mit der Gleichung (12) kann diese Ungleichung in Rt·I ≤ V < 2·Rt·I umgeformt werden. Somit hängt die Eimergröße, welche benötigt wird, um den Aktivitätswert A um eins zu erhöhen, von der Senderate Rt und dem Trägheitsmaß I ab, aber sie ist unabhängig von der konfigurierten Referenzrate Rr.The inertia measure I affects the resistance of the activity value to bursts. One can calculate the bucket size V which is needed to increase the activity value of a user by one with a transmission rate R t and steady state value A s . Upon arrival of the burst, the activity value A increases from A s to A s + 1. Thus, the level F must decrease by R r × I bytes. Since packages only with a part between
Figure DE102015111438B3_0012
and
Figure DE102015111438B3_0013
will contribute a bucket size of
Figure DE102015111438B3_0014
needed. With the equation (12), this inequality can be transformed into R t * I ≦ V <2 * R t * I. Thus, the bucket size required to increase the activity value A by one depends on the transmission rate R t and the inertia measure I, but it is independent of the configured reference rate R r .

Der Abstand zwischen Füllständen in den Token Buckets, deren korrespondierende Aktivitätswerte um eins auseinanderliegen, ist Rr·I. Um sicherzugehen, dass die Ankunft eines Pakets nicht einen Sprung von eins in dem Aktivitätswert verursacht, soll das Trägheitsmaß derart gewählt werden, dass Rr·I mindestens eine Paketlänge L ausmacht: Rr·I ≥ L (14) The distance between fill levels in the token buckets whose corresponding activity values are one apart is R r * I. To ensure that the arrival of a packet does not cause a jump of one in the activity value, the inertia measure should be chosen such that R r * I is at least one packet length L: R r I I ≥ L (14)

Wenn ein niedriges Trägheitsmaß verwendet wird, können Aktivitätswerte stark oszillieren, und zwar sogar für CBR-Verkehr, welcher die Referenzrate nur schwach übersteigt.When a low inertia measure is used, activity values can oscillate strongly, even for CBR traffic, which only slightly exceeds the reference rate.

3 zeigt dieses Phänomen für eine kleine Referenzrate Rr = 0,01 Mb/s, eine Senderate von Rt = 0,02 Mb/s, eine Sendezeit von 5 s und für unterschiedliche Trägheitsmaße I. Nur die Punkte repräsentieren Aktivitätswerte bei Ankünften von Datenpaketen, wohingegen die Linien lediglich verbinden, um anzuzeigen, dass sie zusammengehören. Die Kurve für ein Trägheitsmaß von I = 1,2 s ist noch glatt, weil sie die Vorgabe Rt·I ≤ 1000 Bytes respektiert. Kurven für geringere Trägheitsmaße tendieren zum Oszillieren, insbesondere sind die Aktivitätswerte für das zweite Paket erhöht. 3 shows this phenomenon for a small reference rate R r = 0.01 Mb / s, a transmission rate of R t = 0.02 Mb / s, a transmission time of 5 s and for different inertial measures I. Only the points represent activity values on arrivals of data packets whereas the lines merely connect to indicate that they belong together. The curve for an inertial measure of I = 1.2 s is still smooth because it is the default R t · I ≤ 1000 bytes respected. Curves for smaller inertial measures tend to oscillate, in particular, the activity values for the second packet are increased.

Nachfolgend wird analysiert, wie zwei Benutzer, welche CBR-Verkehr senden, eine Bandbreite von Cb = 10 Mb/s an einen gemeinsamen Flaschenhals, vorliegend an der zweiten Netzwerkleitung 210, mit und ohne Verwendung des beschriebenen Verfahrens aufteilen. Zunächst wird der Einfluss des Differenzierungsfaktors γ betrachtet und es wird gezeigt, dass ungleiche Kapazitätsverteilung absichtlich erzwungen werden kann. Dann wird gezeigt werden, dass das implementierte Verfahren einen fairen Anteil für Benutzer mit niedriger Aktivität gegenüber Benutzern mit höherer Aktivität sicherstellt.The following section analyzes how two users transmitting CBR traffic have a bandwidth of C b = 10 Mb / s to a common bottleneck, in this case on the second network line 210 , with and without using the method described. First, the influence of the differentiation factor γ is considered and it is shown that unequal capacity distribution can be deliberately enforced. It will then be shown that the implemented method ensures a fair share for users with low activity over users with higher activity.

In einem Experiment wird die Senderate R 0 / t von Benutzer 0 variiert und die Senderate von Benutzer 1 wird auf R 1 / t = 7,5 Mb/s festgesetzt. Ohne das erfindungsgemäße Verfahren wird die Kapazität des Flaschenhalses proportional zu den Senderaten von beiden Benutzern (R 0 / t:R 1 / t) aufgeteilt. Die gestrichelte Kurve in 4 zeigt den Durchsatz T0 von Benutzer 0 unter diesen Bedingungen und abhängig von seiner Senderate R 0 / t. Sein Durchsatz T0 erhöht sich stetig mit erhöhter Senderate R 0 / t. Für kleine Senderaten erreicht der Benutzer 0 nur einen kleinen Durchsatz, und für hohe Senderaten monopolisiert er die Kapazität des Flaschenhalses.In an experiment, the transmission rate becomes R 0 / t varies by user 0 and the transmission rate of user 1 is on R 1 / t = 7.5 Mb / s set. Without the method according to the invention, the capacity of the bottleneck becomes proportional to the transmission rates of both users (R 0 / t: R 1 / t) divided up. The dashed curve in 4 shows the throughput T 0 of user 0 under these conditions and depending on its transmission rate R 0 / t. Its throughput T 0 increases steadily with increased transmission rate R 0 / t. For small transmission rates, user 0 achieves only a small throughput, and for high transmission rates it monopolizes the capacity of the bottleneck.

Nun wird die Verteilung der Bandbreite mit der beschriebenen Implementierung gemäß der Erfindung analysiert. Die stationären Aktivitätswerte der Benutzer hängen von ihren Senderaten R i / t und Referenzraten R i / t ab. Sie können mit Formel (13) berechnet werden. Am Flaschenhals wird die durchschnittliche Aktivität Aavg = (Σi∊{0,1}A i / s·R i / t)/(Σi∊{o,1}R i / t) berechnet, und zwar durch Gewichtung der Aktivitätswerte der Benutzer mit ihren Senderaten R i / t. Basierend auf der durchschnittlichen Aktivität Aavg und den Aktivitätswerten der Benutzer werden die durchschnittlichen Verwurfswahrscheinlichkeiten p i / A für beide Benutzer mit Formel (11) angepasst. Jedoch benötigt diese Gleichung eine Ausgangswahrscheinlichkeit p. Diese wird derart gewählt, dass die Summe der Durchsatzwerte Ti der Bandbreite Cb des Flaschenhalses entspricht: Σi∊{0,1}Ti = Σi∊{0,1}(1 – p i / A)·R i / t = Cb. Es wird die Ausgangswahrscheinlichkeit p durch eine iterative Approximation berechnet, welche auch die gewünschten Durchsatzwerte Ti für i ∊ {0; 1} ergibt. Weiter unten wird das analytische Ergebnis mit Daten von einer paketbasierten Simulation verifiziert. Es wird auch gezeigt, dass die Analyse sehr genaue Resultate ergibt.Now the distribution of the bandwidth is analyzed with the described implementation according to the invention. The stationary activity values of the users depend on their transmission rates R i / t and reference rates R i / t from. They can be calculated using formula (13). At the bottleneck is the average activity A avg = (Σ iε {0,1} A i / s · R i / t) / (Σ iε {o, 1} R i / t) calculated by weighting users' activity values with their transmission rates R i / t. Based on the average activity A avg and the user activity values, the average discard probabilities become pi / A adapted for both users with formula (11). However, this equation needs an output probability p. This is chosen such that the sum of the throughput values T i corresponds to the bandwidth C b of the bottleneck: Σ iε {0,1} T i = Σ iε {0,1} (1 - pi / A) · R i / t = C b . The output probability p is calculated by an iterative approximation which also includes the desired throughput values T i for i ε {0; 1} results. Below, the analytical result is verified with data from a packet-based simulation. It is also shown that the analysis gives very accurate results.

Um den Effekt von ungleichen Referenzraten zu untersuchen, wird die Referenzrate des Benutzers 1 auf R 1 / r = 1 Mb/s festgesetzt, und diejenige des Benutzers 0 auf R 0 / r = 2 Mb/s. Somit ist eine Verteilung der Bandbreiten von

Figure DE102015111438B3_0015
beabsichtigt, so dass der Benutzer 0 dazu in der Lage sein sollte, einen Durchsatz von T0 = 6,67 Mb/s zu erreichen. Die durchgezogenen Linien in 4 zeigen den Durchsatz T0 von Benutzer 0 abhängig von seiner Senderate R 0 / t für unterschiedliche Differenzierungsfaktoren γ. Die erfindungsgemäße Implementierung führt dazu, dass der Benutzer 0 einen größeren Anteil der Bandbreite bekommt als ohne die erfindungsgemäße Implementierung, und zwar bereits für niedrige Senderaten, und dass er nicht für große Senderaten R 0 / t die Verbindung monopolisiert. Die Kurven hängen klar erkennbar von dem Differenzierungsfaktor γ ab. Da ein Differenzierungsfaktor von γ = 0 keine Verwurfswahrscheinlichkeiten differenziert, gleichen entsprechende Resultate denjenigen ohne die erfindungsgemäße Implementierung. Kleine Werte von γ ∊ {0,5; 1} führen zunächst zu einem leichten Anstieg von T0, und führen außerdem dazu, das T0 weiter wächst, und zwar sogar für große Werte von R 0 / t. Größere Werte von γ ∊ {1,5; 2; 3; 4; 5} führen zu einem noch weiteren Anstieg von T0 für kleine Werte von R 0 / t, führen zu einem Überschießen des beabsichtigten Anteils, und führen ferner dazu, dass T0 schließlich für große R 0 / t zu der Rate konvergiert, welche von dem Benutzer 1 nicht verwendet wird, welche in dem vorliegenden Fall Cb – R 1 / t = 2,5 Mb/s ist. Somit kann der Benutzer 0 nicht die Bandbreite des Flaschenhalses durch Erhöhung seiner Senderate monopolisieren. Vielmehr wird sein Verkehr mit einer niedrigeren Priorität versehen, wenn er seine Referenzrate mehr als konkurrierende Benutzer übersteigt. Dies bedeutet, dass er seinen Durchsatz T0 maximieren kann, indem er seine Senderate R 0 / t in einem niedrigeren Bereich hält.In order to examine the effect of unequal reference rates, the user's reference rate 1 becomes R 1 / r = 1 Mb / s fixed, and that of the user 0 R 0 / r = 2 Mb / s. Thus, a distribution of the bandwidths of
Figure DE102015111438B3_0015
intended so that user 0 should be able to achieve a throughput of T 0 = 6.67 Mb / s. The solid lines in 4 show the throughput T 0 of user 0 depending on its transmission rate R 0 / t for different differentiation factors γ. The implementation according to the invention results in the user 0 receiving a greater proportion of the bandwidth than without the implementation according to the invention, even for low transmission rates, and not for large transmission rates R 0 / t monopolized the connection. The curves clearly depend on the differentiation factor γ. Since a differentiation factor of γ = 0 does not differentiate any discard probabilities, corresponding results are similar to those without the implementation according to the invention. Small values of γ ε {0.5; 1} initially lead to a slight increase in T 0 , and also cause T 0 to continue to grow, even for large values of R 0 / t. Larger values of γ ε {1,5; 2; 3; 4; 5} lead to yet another increase of T 0 for small values of R 0 / t, lead to an overshoot of the intended share, and further lead to T 0 finally being large R 0 / t converges to the rate which is not used by the user 1, which in the present case C b - R 1 / t = 2.5 Mb / s is. Thus, the user 0 can not monopolize the bandwidth of the bottleneck by increasing its transmission rate. Rather, its traffic is given a lower priority if it exceeds its reference rate more than competing users. This means that it can maximize its throughput T 0 by changing its transmission rate R 0 / t keeps in a lower range.

Alle Kurven schneiden sich bei R 0 / t = 15 Mb/s . Sowohl Benutzer 0 wie auch Benutzer 1 haben die gleiche Kapazität von

Figure DE102015111438B3_0016
in diesem Zustand. Somit erfahren sie gleiche Verwurfswahrscheinlichkeiten und teilen sich die Kapazität des Flaschenhalses mit dem Verhältnis an Durchsätzen T0:T1 = R 0 / r:R 1 / r = 2:1. Jedoch führen geeignete Werte des Differenzierungsfaktors von γ ∊ {1,5; 2; 3; 4; 5} zu anderen Punkten, wo eine Senderate R 0 / t kleiner als 15 Mb/s den gleichen fairen Anteil bekommt. Dies ist der bevorzugte Betriebspunkt, da er zu einem geringen Verlust an Datenpaketen führt.All curves intersect R 0 / t = 15 Mb / s , Both user 0 and user 1 have the same capacity of
Figure DE102015111438B3_0016
in this condition. Thus, they experience the same Verwurfswahrlichkeiten and share the capacity of the bottleneck with the ratio of throughputs T 0 : T 1 = R 0 / r: R 1 / r = 2: 1. However, suitable values of the differentiation factor of γ ε {1.5; 2; 3; 4; 5} to other points where a sending rate R 0 / t less than 15 Mb / s gets the same fair share. This is the preferred operating point as it results in a small loss of data packets.

Somit verringert die gezeigte Implementierung mit einem geeigneten Differenzierungsfaktor γ die Priorität von Benutzern, welche ihre Referenzraten um einen größeren Faktor als andere Benutzer überschreiten. Dies kann dazu führen, dass aggressive Benutzer noch nicht einmal ihren fairen Anteil erreichen, was zudem eine effektive Verteidigung gegen Denial-of-Service-Angriffe (DoS-Angriffe) ist. Die Tatsache, dass der Benutzer 0 seinen fairen Anteil zwischen 6 2/3 Mb/s < R 0 / t < 15 Mb/s erreichen kann, erscheint zwar auf den ersten Blick problematisch, jedoch ist der Grund dafür darin zu sehen, dass der Aktivitätswert des Benutzers 1 größer ist als diejenige von Benutzer 0. Der Benutzer 1 kann durch einfaches Verringern seiner Senderaten seinen vollen fairen Anteil erreichen. Dies wird im Folgenden gezeigt.Thus, the implementation shown with a suitable differentiation factor γ reduces the priority of users who exceed their reference rates by a greater factor than other users. This can result in aggressive users not even reaching their fair share, which is also an effective defense against denial-of-service (DoS) attacks. The fact that the user 0 his fair share between 6 2/3 Mb / s <R 0 / t <15 Mb / s While this may appear problematic at first glance, the reason for this is that user 1's activity value is greater than that of user 0. User 1 can achieve his full fair share simply by reducing his transmission rates. This is shown below.

Nachfolgend wird der Schutz von fairen Anteilen von Benutzern mit niedriger Aktivität gezeigt.Below is the protection of fair shares of low activity users.

In einem Experiment wurde untersucht, wie der Benutzer 1 die Kapazitätsverteilung auf dem Flaschenhals beeinflussen kann. Er kann seine Senderate R 1 / t entweder erhöhen oder verringern. 5 zeigt den resultierenden Durchsatz T0 für den Benutzer 0 mit (durchgezogene Linien) und ohne (gestrichelte Linien) die beschriebene erfindungsgemäße Implementierung (R 0 / t = 2 Mb/s, R 1 / r = 1 Mb/s) Ein Differenzierungsfaktor von γ = 3 ist hierfür konfiguriert. Wenn der Benutzer 1 seine Senderate auf R 1 / t = 10 Mb/s erhöht, erhält der Benutzer 0 einen noch größeren Anteil für R 0 / t ∊ [6 2/3; 20] Mb/s. Wenn er seine Senderate auf R 1 / t = 3 1/3 Mb/s verringert, kann der Benutzer kaum mehr als 6 2/3 Mb/s erreichen. Der sehr kleine Überschuss verringert sich sogar noch mehr mit einem höheren Differenzierungsfaktor γ. Somit stellt die beschriebene Implementierung eine Umgebung bereit, welche einem CBR-Benutzer erlaubt, seinen fairen Anteil wie durch seine Referenzrate vorgegeben durch Senden mit seiner fairen Rate zu erreichen. Es wird sogar ein Anreiz für Benutzer gegeben, ihre Aktivität im Fall einer Verstopfung zu minimieren, um ihren Durchsatz zu erhöhen. Weiter unten wird noch gezeigt werden, dass die beschriebene Implementierung zu ungefähr einer fairen Bandbreitenverteilung mit verstopfungsgesteuertem TCP-Verkehr führt.In an experiment it was examined how the user 1 can influence the capacity distribution on the bottleneck. He can change his transmission rate R 1 / t either increase or decrease. 5 shows the resulting throughput T 0 for the user 0 (solid lines) and without (dashed lines) the described inventive implementation (R 0 / t = 2 Mb / s, R 1 / r = 1 Mb / s) A differentiation factor of γ = 3 is configured for this purpose. When user 1 sets his transmission rate R 1 / t = 10 Mb / s increases, the user receives 0 an even larger share for R 0 / t ε [6 2/3; 20] Mb / s. When he sets his broadcasting rate R 1 / t = 3 1/3 Mb / s the user can hardly reach more than 6 2/3 Mb / s. The very small excess decreases even more with a higher differentiation factor γ. Thus, the described implementation provides an environment that allows a CBR user to achieve his fair share as dictated by his reference rate by sending at his fair rate. There is even an incentive for users to minimize their activity in the event of constipation in order to increase their throughput. It will be further shown below that the implementation described results in about a fair bandwidth distribution with congestion-driven TCP traffic.

Die Analyse kann noch erweitert werden für drei Benutzer mit Senderaten R 0 / t, R 1 / t, R 2 / t und Referenzraten R 0 / r = R 1 / r = R 2 / r = 1. Es wird R 2 / t = 10 gewählt. Der faire Anteil der Benutzer ist 3 1/3 Mb/s. Wenn jedoch der Benutzer 0 4,7 Mb/s sendet, kann er einen höheren Durchsatz von ungefähr T0 = 4,06 Mb/s unabhängig von der Senderate R 1 / t von Benutzer 1 erreichen. Dies liegt daran, dass der Benutzer 2 eine niedrigere Priorität zugewiesen bekommt, und zwar aufgrund seiner höheren Aktivität als Benutzer 0 und Benutzer 1, so dass die Benutzer 0 und 1 einen größeren Anteil als ihr fairer Anteil bekommen. Wenn der Benutzer 2 seine Senderate verringert, kann er seinen Durchsatz T2 erhöhen, während T0 und T1 verringert werden. Somit wurde gezeigt, dass die grundsätzlichen Prinzipien auch für mehrere Benutzer gelten.The analysis can be extended for three users with transmission rates R 0 / t, R 1 / t, R 2 / t and reference rates R 0 / r = R 1 / r = R 2 / r = 1. It will R 2 / t = 10 selected. The fair share of users is 3 1/3 Mb / s. However, if the user sends 0 4.7 Mb / s, he can have a higher throughput of about T 0 = 4.06 Mb / s regardless of the transmission rate R 1 / t reach from user 1. This is because the user 2 is assigned a lower priority due to his higher activity as user 0 and user 1, so that users 0 and 1 get a bigger share than their fair share. If the user 2 reduces his transmission rate, he can increase his throughput T 2 while decreasing T 0 and T 1 . Thus, it has been shown that the basic principles also apply to multiple users.

Nachfolgend wird der Einfluss bestimmter Parameter untersucht.The influence of certain parameters is examined below.

Das Aktivitätsmeter verwendet Paketgrößen multipliziert mit 2–A gemäß der oben erwähnten Formel (9). Die Formel (13) trägt dieser Tatsache durch die Division durch ln(2) Rechnung, wenn die stationäre Aktivität As für einen CBR-Benutzer berechnet wird. Dieser Faktor ist in jedem Aktivitätswert oder Durchschnitt davon enthalten. Jeglicher Einfluss dieses Faktors kann durch die Wahl eines geeigneten Differenzierungsfaktors γ kompensiert werden, so dass die Basis 2 in Gleichung (9) ohne Beschränkung der Allgemeinheit verändert werden kann. Wenn eine unterschiedliche Basis verwendet wird, erreicht ein angepasster Differenzierungsfaktor gleiche Bandbreitenverteilungen. Obwohl die Verwendung der Basis 2 nicht essenziell ist, wird es typischerweise der Fall sein, dass alle Aktivitätsmeter in dem Netzwerk die gleiche Basis für die Berechnung von netzwerkweit konsistenten Aktivitätswerten verwenden.The activity meter uses packet sizes multiplied by 2 -A according to the above-mentioned formula (9). Formula (13) accounts for this fact by dividing by ln (2) when computing the steady state activity A s for a CBR user. This factor is included in each activity value or average of it. Any influence of this factor can be compensated for by choosing a suitable differentiating factor γ, so that the basis 2 in equation (9) can be changed without loss of generality. If a different base is used, an adjusted differentiation factor will achieve equal bandwidth distributions. Although the use of the base 2 is not essential, it will typically be the case that all activity meters in the network use the same basis for the calculation of network-wide consistent activity values.

Es wird ferner gezeigt werden, dass die Kapazitätsverteilung nur von dem Verhältnis der Referenzraten R i / r von unterschiedlichen Benutzern 0 ≤ i ≤ n mit CBR-Verkehr abhängt, aber nicht von den Absolutwerten. Es werden modifizierte Referenzraten R i / r' = x·R i / r für alle Benutzer angenommen, und zwar unter der Bedingung, dass die Ungleichung R i / r' = R i / t erfüllt ist. Die stationäre Aktivität A i / s von Benutzer i wird dann folgendermaßen berechnet

Figure DE102015111438B3_0017
It will further be shown that the capacitance distribution only depends on the ratio of the reference rates R i / r depends on different users 0 ≤ i ≤ n with CBR traffic, but not on the absolute values. There will be modified reference rates R i / r '= x · R i / r accepted for all users, under the condition that the inequality R i / r '= R i / t is satisfied. The stationary activity A i / s User i is then calculated as follows
Figure DE102015111438B3_0017

Die sich daraus ergebende Referenzaktivität wird folgendermaßen berechnet:

Figure DE102015111438B3_0018
The resulting reference activity is calculated as follows:
Figure DE102015111438B3_0018

Deshalb ist die Differenz (A i / s – Aavg) unabhängig von dem Skalierungsfaktor x, so dass eine skalare Multiplikation von allen Referenzraten weder die Verwurfswahrscheinlichkeiten noch die Durchsätze in der Analyse für CBR-Verkehr beeinflusst.That's why the difference (A i / s - A avg ) regardless of the scaling factor x, such that scalar multiplication of all reference rates does not affect either the chewing probabilities or the throughputs in the analysis for CBR traffic.

Vorteilhaft werden Referenzraten so klein bemessen, dass Fairness erzwungen werden kann. Wenn die Summe der Referenzraten von potenziellen Benutzern, welche sich einen Flaschenhals teilen, nicht die Bandbreite des Flaschenhalses übersteigt, kann eine Verstopfung nur dann auftreten, wenn einige Benutzer schneller senden als ihre Referenzraten. Dies führt zu Datenpaketen mit erhöhten Aktivitätswerten, welche bevorzugt im zweiten Netzwerkknoten verworfen oder markiert werden, wodurch die Aufteilung der Bandbreite fairer ist. Im Gegensatz dazu sollten Referenzraten nicht so klein gesetzt werden, dass sie der Gleichung (14) widersprechen. Auch dies würde nämlich einen Verlust von Fairness bedeuten. Wenn jedoch Referenzraten nicht geeignet gesetzt sind, führt dies trotzdem nicht zu einer schlechteren Verwendung der vorhandenen Ressourcen, weil Verkehr nur dann verworfen wird, wenn tatsächlich eine Verstopfung auftritt.Advantageously, reference rates are so small that fairness can be enforced. If the sum of the reference rates of potential users sharing a bottleneck does not exceed the bottleneck, bottlenecking can occur only if some users send faster than their reference rates. This leads to data packets with increased activity values, which are preferably discarded or marked in the second network node, whereby the distribution of the bandwidth is fairer. In contrast, reference rates should not be set so small that they contradict equation (14). This would also mean a loss of fairness. However, if reference rates are not set properly, it still does not result in a poorer use of existing resources because traffic is discarded only when congestion actually occurs.

Simulationsimulation

Nachfolgend wird die Bandbreitenverteilung unter Verwendung einer Implementierung des erfindungsgemäßen Verfahrens untersucht, und zwar mittels stochastischer Diskret-Ereignis-Simulation. Zunächst wird die Vorgehensweise beschrieben. Anschließend wird das analytische Modell, welches weiter oben vorgestellt wurde, validiert. Es wird gezeigt werden, dass das Verfahren die Fähigkeit besitzt, eine Fairness auf Benutzerebene für TCP-Verkehr sicherzustellen, und es wird die Abhängigkeit von Konfigurationsparametern und Netzwerkumgebungen untersucht. Schließlich wird die Koexistenz von Verkehr mit und ohne Statuskontrolle untersucht.Hereinafter, the bandwidth distribution is examined using an implementation of the method according to the invention, by means of stochastic discrete-event simulation. First, the procedure is described. Subsequently, the analytical model presented above is validated. It will be shown that the method has the ability to ensure user-level fairness for TCP traffic, and it examines the dependency of configuration parameters and network environments. Finally, the coexistence of traffic with and without status control is examined.

Es wurden Simulationen durchgeführt unter Verwendung von INET 2.4.0 in einer OMNet++ Netzwerksimulationsumgebung 4.4.1. Es wurde ein „Network Simulation Cradle 0.5.3” verwendet, um gesättigte TCP-Quellen zu verwenden. Dies erleichtert die Simulation von tatsächlichen Netzwerkstapeln von einem Linux-Kernel, von welchem die Version 2.6.29 verwendet wurde. Es wurde TCP Reno verwendet, um eine Studie mit und ohne ECN durchzuführen. Es wurde eine maximale Transfereinheit von MTU = 1500 Bytes auf Schicht 2 verwendet. Für Experimente mit Verkehr ohne Statuskontrolle wurden CBR-UDP-Quellen mit einer maximalen Paketgröße verwendet.Simulations were performed using INET 2.4.0 in an OMNet ++ network simulation environment 4.4.1. A "Network Simulation Cradle 0.5.3" was used to use saturated TCP sources. This facilitates the simulation of actual network stacks from a Linux kernel that used version 2.6.29. TCP Reno was used to conduct a study with and without ECN. A maximum transfer unit of MTU = 1500 bytes on layer 2 was used. For experiments with traffic without status control, CBR UDP sources with a maximum packet size were used.

Es wurde speziell das in 6 gezeigte Szenario verwendet. Dabei kommunizieren mehrere Benutzer mit einem Server über einen Router, eine Zugriffsverbindung sowie eine Flaschenhalsverbindung, was einer einseitigen Hanteltopologie entspricht. Die Benutzer sind unterteilt in eine Benutzergruppe 0 (UG0) und eine Benutzergruppe 1 (UG1). Wenn die Experimente eine Unterscheidung zwischen starken und schwachen Benutzern erfordern, werden die starken Benutzer in UG0 eingruppiert, wohingegen die schwachen Benutzer in UG1 eingruppiert werden. Die Benutzergruppen haben ui Benutzer, welche alle mit der gleichen Referenzrate R i / r konfiguriert sind. Alle Benutzer einer Benutzergruppe kommunizieren auf die gleiche Art und Weise mit dem Server. Im Fall von TCP-Kommunikation hat jeder Benutzer in UGi fi TCP-Verbindungen. Im Fall von Verkehr ohne Statuskontrolle hat ein Benutzer nur eine einzige UDP-Verbindung, welche CBR-Verkehr mit einer Senderate von R i / r sendet. Alle Zugriffsverbindungen haben die gleiche Verzögerung Da und Bandbreite Ca. Die Flaschenhalsverbindung wird von allen Benutzern geteilt und hat eine Verzögerung von Db und eine Kapazität von Cb. Somit ergibt sich eine untere Grenze für die Rundlaufzeit („round trip time”, RTT) von 2·(Da + Db).It was specially designed in 6 shown scenario used. Several users communicate with a server via a router, an access connection and a bottleneck connection, which corresponds to a one-sided dumbbell topology. The users are subdivided into a user group 0 (UG0) and a user group 1 (UG1). If the experiments require a distinction between strong and weak users, the strong users are grouped into UG0, whereas the weak users are grouped into UG1. The user groups have u i users, all with the same reference rate R i / r are configured. All users of a user group communicate with the server in the same way. In the case of TCP communication, every user in UGi f i has TCP connections. In the case of traffic without status control, a user has only a single UDP connection, which has CBR traffic with a transmission rate of R i / r sends. All access connections have the same delay D a and bandwidth C a . The bottleneck connection is shared by all users and has a delay of D b and a capacity of C b . This results in a lower limit for the round trip time (RTT) of 2 × (D a + D b ).

Die Flaschenhalsverbindung hat einen einfachen AQM-Algorithmus, welcher Pakete verwirft oder markiert. Die Wahrscheinlichkeit dafür hängt vom derzeitigen Warteschlangenfüllstand Q ab, welcher in Paketen ausschließlich neu angekommener Pakete angegeben wird. Sie wird durch die folgende Wahrscheinlichkeitsfunktion bestimmt:

Figure DE102015111438B3_0019
The bottleneck connection has a simple AQM algorithm which discards or tags packets. The likelihood of this depends on the current queue level Q, which is specified in packets of newly arrived packets only. It is determined by the following probability function:
Figure DE102015111438B3_0019

Diese Wahrscheinlichkeitsfunktion hat vier Parameter: Schwellenwerte Q0, Q1, Q2 sowie Wahrscheinlichkeit p1. Nachfolgend werden spezifische Funktionen durch „pf-Q0-Q1-Q2-p1” bezeichnet. Mit diesem AQM kann die Warteschlange einen Füllstand von Q2 Paketen im Fall des Verwerfens nicht überschreiten, so dass die Anzahl von Paketen eine ausreichende Puffergröße ist. Bei ECN-fähigen Verbindungen werden Pakete markiert anstatt sie zu verwerfen, so dass der Warteschlangenfüllstand signifikant höher sein kann als Q2. Um die Wahrscheinlichkeit für einen Paketverlust aufgrund Pufferüberlauf („tail-drop”) von Datenpaketen zu minimieren, wird vorliegend im Allgemeinen eine Puffergröße von Qmax = 50 Pakete verwendet. Bei Zugriffsverbindungen werden ebenfalls Warteschlangen mit einer Puffergröße von 50 Paketen verwendet.This probability function has four parameters: thresholds Q 0 , Q 1 , Q 2 and probability p 1 . Hereinafter, specific functions are denoted by "pf-Q 0 -Q 1 -Q 2 -p 1 ". With this AQM, the queue can not exceed a level of Q 2 packets in case of discarding, so that the number of packets is a sufficient buffer size. For ECN-enabled connections, packets are marked instead of discarded, so the queue fill level can be significantly higher than Q 2 . To minimize the likelihood of packet loss due to data packet tail-drop, a buffer size of Q max = 50 packets is generally used herein. Access connections also use queues with a buffer size of 50 packets.

Es wurden mehrere Experimente durchgeführt, welche sich nur in wenigen Parameter unterscheiden. Die Tabelle 1 stellt Standardwerte zusammen, welche in allen Experimenten verwendet wurden, sofern nicht anders angegeben.Several experiments were performed, which differ only in a few parameters. Table 1 summarizes standard values used in all experiments unless otherwise stated.

Eine mögliche Absicht der oben vorgestellten Implementierung des erfindungsgemäßen Verfahrens ist es, die Bandbreite im Falle einer Verstopfung proportional zu den Referenzraten der Benutzer zu verteilen. Es wurde untersucht, bis zu welchem Grad dieses Ziel erreicht werden kann, wenn starke Benutzer mit schwachen Benutzern konkurrieren, und zwar unter unterschiedlichen Netzwerkbedingungen.One possible intent of the above-presented implementation of the method according to the invention is to distribute the bandwidth in the case of a blockage in proportion to the user's reference rates. It has been investigated to what extent this goal can be achieved when strong users compete with weak users under different network conditions.

Ohne das erfindungsgemäße Verfahren teilen sich gesättigte TCP-Verbindungen, d. h. Verbindungen, welche laufend Daten zu senden haben, die Bandbreite an der Flaschenhalsverbindung ungefähr gleich, wobei Benutzern mit mehr Verbindungen ein höherer Durchsatz gegeben wird. Es wurden starke und schwache TCP-Benutzer mit f0 und f1 TCP-Verbindungen (f0 ≥ f1) simuliert, was zu einer konfigurierten Unfairness von

Figure DE102015111438B3_0020
führt. Als starke Benutzer gelten solche mit einer hohen Senderate. Als schwache Benutzer gelten solche mit einer niedrigen Senderate. Um Verkehr ohne Statuskontrolle zu untersuchen, wird ein einziger Benutzer pro Benutzergruppe simuliert, welcher eine einzige Verbindung hat, die CBR-Verkehr mit einer Rate von R i / t sendet. Wenn zwei Benutzer mit Verkehr ohne Statuskontrolle um die Bandbreite einer Verbindung ohne das erfindungsgemäße Verfahren konkurrieren, wird die Bandbreite proportional zu den Senderaten geteilt. Dies führt zu einer konfigurierten Unfairness von
Figure DE102015111438B3_0021
Without the inventive method, saturated TCP connections, ie, connections that are constantly transmitting data, roughly equal the bandwidth at the bottleneck connection, giving higher-throughput users with more connections. Strong and weak TCP users with f 0 and f 1 TCP connections (f 0 ≥ f 1 ) were simulated, resulting in a configured unfairness of
Figure DE102015111438B3_0020
leads. Strong users are those with a high transmission rate. Weak users are those with a low transmission rate. To examine traffic without status control, a single user is simulated per user group, which has a single connection, the CBR traffic at a rate of R i / t sends. When two users compete with traffic without status control for the bandwidth of a connection without the inventive method, the bandwidth is divided in proportion to the transmission rates. This leads to a configured unfairness of
Figure DE102015111438B3_0021

Ein möglicher Zweck des erfindungsgemäßen Verfahrens ist faire Bandbreitenverteilung. Die Fairness der Bandbreitenverteilung wird durch das Durchsatzverhältnis

Figure DE102015111438B3_0022
charakterisiert, wobei T i der durchschnittliche Durchsatz pro Benutzer von UGi ist. Wenn TR = 1 gilt, wird die Bandbreite fair unter Benutzern von beiden Gruppen aufgeteilt. Im Fall von TR > 1 haben die Benutzer von UG0 einen höheren Durchsatz als die Benutzer von UG1. Im Fall von TR < 1 werden die Benutzer von UG1 bevorzugt. Die Maximierung der benutzerbasierten Fairness bedeutet, dass TR möglichst nahe bei 1 sein soll.A possible purpose of the method according to the invention is fair bandwidth distribution. The fairness of the bandwidth distribution is determined by the throughput ratio
Figure DE102015111438B3_0022
characterized, wherein T i the average throughput per user of UGi is. If T R = 1, the bandwidth is fairly divided among users of both groups. In the case of T R > 1, the users of UG0 have a higher throughput than the users of UG1. In the case of T R <1, users of UG1 are preferred. Maximizing user-based fairness means that T R should be as close to 1 as possible.

Für jedes Experiment mit TCP-Verbindungen wurde eine Warmlaufphase von 15 s verwendet und anschließend wurden Simulationsdaten über einen Zeitraum von 10 s erfasst. Es werden Mittelwerte über 50 Durchläufe berichtet. Die TCP-Quellen wurden zufällig gestartet innerhalb der ersten 5 s der Simulation. In dem Fall, dass ausschließlich UDP-Benutzer vorhanden sind, werden Mittelwerte über 100 Durchläufe berichtet, und zwar mit einer Datenerfassung über einen Zeitraum von 5 s.For each experiment with TCP connections, a warm-up phase of 15 s was used and then simulation data was collected over a period of 10 s. It will average over 50 Runs reported. The TCP sources were started randomly within the first 5 seconds of the simulation. In the case that only UDP users are present, averages over 100 runs are reported, with a data collection over a period of 5 s.

Bei der obigen Analyse wurde eine AQM-Wahrscheinlichkeit p angenommen, welche für alle Pakete konstant ist, sich jedoch mit der Zeit verändert. Die Analyse wird durch Simulation validiert, und zwar für ausgewählte Datenpunkte in 4. Es werden zwei Benutzer simuliert, einer mit einer Referenzrate von R 0 / r = 2 Mb/s und der andere mit einer Referenzrate von R 1 / r = 1 Mb/s. Jeder hat eine einzige CBR-Verbindung, welche UDP-Verkehr mit Raten R 0 / t ∊ {10; 20} Mb/s und R 1 / t = 7,5 Mb/s sendet. Es wurden Experimente mit unterschiedlichen Differenzierungsfaktoren γ ∊ {0; 0,5; 1; 1,5; 2; 3; 4; 5} durchgeführt. Die Resultate werden als Punkte in 4 gezeigt. Sie stimmen mit den analytischen Kurven sehr genau überein, was die weiter oben im Rahmen der mathematischen Analyse gezogenen Schlussfolgerungen bestätigt.In the above analysis, an AQM probability p was assumed which is constant for all packets but changes over time. The analysis is validated by simulation for selected data points in 4 , Two users are simulated, one with a reference rate of R 0 / r = 2 Mb / s and the other with a reference rate of R 1 / r = 1 Mb / s. Everyone has a single CBR connection, which rates UDP traffic R 0 / t ε {10; 20} Mb / s and R 1 / t = 7.5 Mb / s sends. Experiments with different differentiation factors γ ε {0; 0.5; 1; 1.5; 2; 3; 4; 5} performed. The results are called points in 4 shown. They agree very well with the analytic curves, confirming the conclusions drawn earlier in the mathematical analysis.

Es wird nun der Einfluss von Parametern des Verfahrens, AQM-Parametern und ECN-fähigen TCP-Verbindungen untersucht. Es wird gezeigt, dass das erfindungsgemäße Verfahren auch heterogene Kapazitätsverteilung unterstützt und Upload-Zeiten signifikant verringern kann. In allen durchgeführten Experimenten ist die Bandbreitenausnutzung der Flaschenhalsverbindung 100%. Somit zeigt das erfindungsgemäße Verfahren keinen negativen Einfluss auf die Nutzung von Verbindungen.The influence of parameters of the method, AQM parameters and ECN-capable TCP connections is examined. It is shown that the method according to the invention also supports heterogeneous capacity distribution and can significantly reduce upload times. In all experiments carried out, the bandwidth utilization of the bottleneck connection is 100%. Thus, the method of the invention shows no negative impact on the use of compounds.

Zunächst wird der Einfluss des Differenzierungsfaktors γ für unterschiedliche Kombinationen von Anzahlen von Benutzern u0/u1 und Flaschenhalsverzögerungen Db untersucht, weil diese Parameter den Verstopfungsgrad an der Flaschenhalsverbindung beeinflussen. Die konfigurierte Unfairness ist

Figure DE102015111438B3_0023
in allen betrachteten Szenarien. Die Tabelle 2 zeigt, dass das Durchsatzverhältnis TR ohne das erfindungsgemäße Verfahren (γ = 0) ungefähr TR ≈ 10 ist. Bei höherem γ verringert sich TR signifikant, so dass TR sogar unter 1,0 für große Werte von γ fällt. Exakte Zahlen hängen von dem Verstopfungsgrad ab, welcher niedrig ist für Db = 50 ms und u0/u1 = 1/10 Verbindungen, und höher für Db = 5 ms und u0/u1 = 9/90 Verbindungen. Als vorteilhafter Wert hat sich γ = 3 herausgestellt, weil dies sogar unter ungünstigen Bedingungen (u0/u1 = 1/10 und Db = 50 ms) einen relativ hohen Anteil der Bandbreite für schwache Benutzer (TR = 1,37) sicherstellt. In diesem Fall erreichen die schwachen Benutzer niedrigeren Durchsatz als die starken Benutzer, weil sie ihren relativ großen Kapazitätsanteil nicht voll ausnutzen können. Kleinere Flaschenhalsverzögerungen Db führen dazu, dass schwache Benutzer ihre Rate schneller anpassen und eine bessere Chance zum Ausnutzen ihres fairen Anteils haben. Mehr Benutzer u0/u1 führen dazu, dass alle Benutzer einen kleineren fairen Anteil bekommen, welchen schwache Benutzer mit nur einer einzigen Verbindung besser ausnutzen können als große Anteile. Schwache Benutzer können sogar einen größeren Anteil an der Kapazität bekommen als starke Benutzer in anderen Szenarien (TR = 0,89 für u0/u1 = 9/90 und Db = 5 ms, TR = 0,86 für u0/u1 = 9/90 und Db = 50 ms). Dies wird bevorzugt, insbesondere gegenüber Durchsatzverhältnissen, welche größer sind als eins, weil starke Benutzer ihre Senderate verringern können, um ihren Durchsatz zu verbessern. Somit gibt das erfindungsgemäße Verfahren Anreize an starke Benutzer, um geeignete Mechanismen zur Verstopfungskontrolle anzuwenden, und nicht diesen Effekt durch die Erhöhung der Anzahl von Verbindungen zu umgehen. Da Varianten von TCP-Implementierungen hinsichtlich ihrer Vorgehensweise unterschiedlich sein können, können die Experimente leicht unterschiedliche Ergebnisse liefern für andere Versionen von TCP.First, the influence of the differentiation factor γ on different combinations of numbers of users u 0 / u 1 and bottleneck delays D b is examined because these parameters influence the degree of congestion at the bottleneck connection. The configured unfairness is
Figure DE102015111438B3_0023
in all considered scenarios. Table 2 shows that the throughput ratio T R without the method according to the invention (γ = 0) is approximately T R ≈ 10. At higher γ, T R decreases significantly so that T R falls even below 1.0 for large values of γ. Exact numbers depend on the degree of clogging, which is low for D b = 50 ms and u 0 / u 1 = 1/10 connections, and higher for D b = 5 ms and u 0 / u 1 = 9/90 connections. As an advantageous value, γ = 3 has been found, because even under unfavorable conditions (u 0 / u 1 = 1/10 and D b = 50 ms) this results in a relatively high proportion of bandwidth for weak users (T R = 1.37). ensures. In this case, the weak users reach lower throughput than the strong users because they can not fully utilize their relatively large capacity share. Smaller bottleneck delays Db cause weak users to adjust their rates faster and have a better chance of taking advantage of their fair share. More users u 0 / u 1 cause all users to get a smaller fair share, which weak users can make better use of with just one connection than large ones. Weak users can even get a larger share of capacity than strong users in other scenarios (T R = 0.89 for u 0 / u 1 = 9/90 and D b = 5 ms, T R = 0.86 for u 0 / u 1 = 9/90 and D b = 50 ms). This is preferred, especially to throughput ratios greater than one, because strong users can reduce their transmission rate to improve their throughput. Thus, the method of the present invention provides incentives to strong users to apply appropriate clogging control mechanisms rather than circumventing this effect by increasing the number of links. Because variations of TCP implementations may differ in their approach, the experiments may yield slightly different results for other versions of TCP.

Nachfolgend wird der Einfluss des Trägheitsmaßes I für γ = 3 und unterschiedliche Verstopfungsgrade untersucht. Die Tabelle 3 zeigt, dass ein höheres Trägheitsmaß I das Durchsatzverhältnis TR für alle Verstopfungsgrade verringert. Jedoch erhöht ein höheres Trägheitsmaß I auch die Anpasszeit des Aktivitätsmeters bei verringerten Lastbedingungen, wie bereits weiter oben erläutert wurde. Somit wird hier I = 0,6 s als Kompromiss in der Simulation genommen. Dies erlaubt, kleine Referenzraten von 0,02 Mb/s zu verwenden, ohne dabei oszillierende Aktivitätswerte zu riskieren.The influence of the inertia measure I for γ = 3 and different degrees of clogging will be examined below. Table 3 shows that a higher inertia measure I reduces the flow rate ratio T R for all clogging levels. However, a higher degree of inertia I also increases the adjustment time of the activity meter under reduced load conditions, as explained earlier. Thus, here I = 0.6 s is taken as a compromise in the simulation. This allows to use small reference rates of 0.02 Mb / s without risking oscillating activity values.

Nachfolgend wird der Einfluss der Referenzrate Rr für unterschiedliche Anzahlen von starken und schwachen Benutzern u0/u1 und für unterschiedliche Flaschenhalsverzögerungen Db untersucht. Alle Benutzer werden mit der gleichen Referenzrate Rr konfiguriert. 7 zeigt, dass starke und schwache Benutzer ungefähr den gleichen Durchsatz erhalten, solange die Referenzrate klein genug ist. Wenn eine kritische Rate überschritten wird, erhalten starke Benutzer bis zu zehn Mal mehr Durchsatz als schwache Benutzer. Die kritische Rate hängt von der Anzahl von Benutzern ab. Dabei ergibt sich 0,1 Mb/s für 9/90 Benutzer und 1 Mb/s für 1/11 Benutzer, und dies ist unabhängig von der Flaschenhalsverzögerung Db. Diese Werte bestätigen, dass die Summe von Referenzraten von allen Benutzern die Flaschenhalsbandbreite nicht übersteigen soll. Jedoch zeigen die Ergebnisse für 1/10 Benutzer, dass ein leichtes Überbuchen nicht schadet: (u0 + u1)·Rr = 11·1 Mb/s = 11 Mb/s > 10 Mb/s = Cb. Obwohl die kritische Rate von der Anzahl von Benutzern abhängt, kann das erfindungsgemäße Verfahren unabhängig von diesem Wissen konfiguriert werden, weil es auch für kleine Referenzraten hervorragend funktioniert. Vorteilhaft wird die Übertragungsrate durch eine maximal angenommene Zahl möglicher Benutzer auf dem Link geteilt um eine Referenzrate zu ermitteln. Das System funktioniert genauso gut bei noch kleineren Referenzraten, bei größeren Referenzraten oder mehr Nutzern als maximal angenommen kann es sein, dass die Fairness nicht mehr ganz so gut gewährleistet ist, die Auslastung des Links leidet aber nicht darunter. Dies bestätigt die analytischen Ergebnisse für Verkehr ohne Statuskontrolle, welche weiter oben erläutert wurden.The influence of the reference rate R r for different numbers of strong and weak users u 0 / u 1 and for different bottleneck delays D b is examined below. All users are configured with the same reference rate R r . 7 shows that strong and weak users get about the same throughput as long as the reference rate is small enough. If a critical rate is exceeded, strong users receive up to ten times more throughput than weak users. The critical rate depends on the number of users. This results in 0.1 Mb / s for 9/90 users and 1 Mb / s for 1/11 users, and this is independent of bottleneck delay D b . These values confirm that the sum of reference rates of all users should not exceed the bottleneck bandwidth. However, the results for 1/10 users show that a slight overbooking does not hurt: (u 0 + u 1 ) * R r = 11 * 1 Mb / s = 11 Mb / s> 10 Mb / s = C b . Although the critical rate depends on the number of users, the method of the invention can be configured independently of this knowledge because it works well even for small reference rates. Advantageously, the transmission rate is divided by a maximum number of possible users on the link to determine a reference rate. The system works just as well with even smaller reference rates, with larger reference rates or more than maximum users it may be that the fairness is not quite as good, but the load on the link does not suffer. This confirms the analytical results for traffic without status control, which were explained above.

Bei der beschriebenen Implementierung des erfindungsgemäßen Verfahrens wird die Referenzaktivität Aavg gemäß einer Ausführung aus Aktivitätswerten in empfangenen Paketen unter Verwendung eines gleitenden Durchschnitts berechnet, wie weiter oben beschrieben wurde. Der Gewichtungsfaktor wA bestimmt, wie schnell Aavg sich ändernden Aktivitätswerten anpasst. Somit hängt die Anpassgeschwindigkeit von wA und der Rate, mit welcher neue Pakete ankommen, ab. Es wurden wA ∊ {0,9; 0,99; 0,999; 0,9999} für die gleichen Szenarien wie oben untersucht. Die Werte wA ∊ {0,9; 0,9999} führen zu deutlich erhöhten Durchsatzverhältnissen unter bestimmten Bedingungen, während wA ∊ {0,99; 0,999} zu Durchsatzverhältnissen in der Nähe von 1 unter allen getesteten Bedingungen führen.In the described implementation of the inventive method, the reference activity A avg is computed according to an embodiment of activity values in received packets using a moving average, as described above. The weighting factor w A determines how quickly A avg adapts to changing activity values . Thus, the fitting speed depends on w A and the rate at which new packets arrive. W A ε {0.9; 0.99; 0.999; 0.9999} for the same scenarios as examined above. The values w A ε {0,9; 0.9999} lead to significantly increased throughput ratios under certain conditions, while w A ε {0.99; 0.999} at throughput ratios near 1 under all conditions tested.

Aktivitätswerte können in Paketheadern oder anderen Einheiten von Paketen typischerweise nur mit begrenzter Genauigkeit angegeben werden. Sie können in ganzzahligen Vielfachen einer Basisgranularität g angegeben werden. Aktivitätswerte können aufgerundet werden zu Ag = ⌈ A / g⌉·g. Somit sind die berichteten Aktivitätswerte höchstens g größer als der exakte Wert, wobei sie in keinem Fall kleiner sind. Als Konsequenz führen leicht unterschiedliche Senderaten (beispielsweise zwischen Rr·2n·g – ε und Rr·2n·g + ε) zu gerundeten Aktivitätswerten, welche sich um g unterscheiden, was andeutet, dass sich die Raten um einen Faktor von 2g unterscheiden. Umgekehrt können Senderaten, welche sich um einen Faktor von nahezu 2g unterscheiden, die gleiche Aktivität ergeben (beispielsweise zwischen Rr·2n·g + ε und Rr·2(n+1)·g – ε). Typischerweise ist es nicht möglich, bessere Durchsatzverhältnisse als 2g für CBR-Verkehr unter ungünstigen Bedingungen zu erhalten. Deshalb sollte g klein genug gewählt werden. Zusätzliche Experimente haben gezeigt, dass die Granularität weniger Einfluss auf die Bandbreitenverteilung bei TCP-Verkehr hat, weil Raten von starken und schwachen Benutzern sich anpassen. Eine Granularität von g = 1 hat nur einen geringen Einfluss auf Durchsatzverhältnisse in den Experimenten. Bevorzugt wird eine Granularität zwischen 0,5 und 1, zwischen 0,6 und 0,9 oder von weniger als 1 oder höchstens 1 verwendet.Activity values can typically be specified in package headers or other units of packets only with limited accuracy. They can be specified in integer multiples of a base granularity g. Activity values can be rounded up to A g = ⌈ A / g⌉ · g. Thus, the reported activity values are at most g greater than the exact value, and under no circumstances are they smaller. As a consequence, slightly different transmission rates (for example, between R r · 2 n · g -ε and R r · 2 n · g + ε) lead to rounded activity values which differ by g, indicating that the rates are a factor of 2 g differ. Conversely, transmission rates that differ by a factor of nearly 2 g can give the same activity (for example, between R r * 2 n * g + ε and R r * 2 (n + 1) * g - ε). Typically, it is not possible to obtain better throughput ratios than 2 g for CBR traffic under unfavorable conditions. Therefore g should be chosen small enough. Additional experiments have shown that granularity has less impact on bandwidth distribution in TCP traffic because rates of strong and weak users adapt. A granularity of g = 1 has only a small influence on throughput ratios in the experiments. Preferably, a granularity between 0.5 and 1, between 0.6 and 0.9 or less than 1 or at most 1 is used.

Es wird ferner gezeigt, dass vorteilhaft implementierte AQM-Wahrscheinlichkeitsfunktionen die Fairness unter den Benutzern bei dem erfindungsgemäßen Verfahren maximieren. Es werden nachfolgend die Wahrscheinlichkeitsfunktionen diskutiert, welche in Tabelle 4 aufgelistet sind, und zwar zunächst für ein Szenario mit niedriger Verstopfung (Db = 50 ms und u0/u1 = 1/l0 Benutzer) und dann für ein Szenario mit hoher Verstopfung (Db = 5 ms und u0/u1 = 9/90 Benutzer).It is further shown that advantageously implemented AQM probability functions maximize fairness among users in the method of the invention. The probability functions listed in Table 4 are discussed below, first for a low constipation scenario (D b = 50 ms and u 0 / u 1 = 1/10 users) and then for a high constipation scenario ( D b = 5 ms and u 0 / u 1 = 9/90 users).

Mit pf-10-23-24-0 wird eine Stufenfunktion implementiert. Pakete werden für Warteschlangenfüllstände zwischen 0 und 23 Paketen akzeptiert und werden verworfen, wenn die Warteschlange 24 Pakete beinhaltet. Dies limitiert den maximalen Füllstand der Warteschlange. Es führt zu einem Durchsatzverhältnis von ungefähr TR = 10. Eine Stufenwahrscheinlichkeitsfunktion kann das erfindungsgemäße Verfahren ganz oder teilweise faktisch deaktivieren, weil eine Wahrscheinlichkeit, welche größer als null und kleiner als eins ist, praktisch nicht vorkommen kann. Die Funktion mit einfacher Steigung pf-10-{11, 17, 22}-24-0 akzeptiert alle Pakete für Warteschlangenfüllstände zwischen 0 und {11, 17, 22} Pakete und verwirft alle Pakete für Warteschlangenfüllstände von 24. Dazwischen werden Pakete mit linear ansteigender Wahrscheinlichkeit verworfen.With pf-10-23-24-0 a step function is implemented. Packets are accepted for queue levels between 0 and 23 packets and are discarded if the queue contains 24 packets. This limits the maximum fill level of the queue. It results in a throughput ratio of approximately T R = 10. A level probability function can in fact partially or completely deactivate the method according to the invention, because a probability which is greater than zero and less than one can practically not occur. The simple-slope function pf-10- {11, 17, 22} -24-0 accepts all queue-level packets between 0 and {11, 17, 22} packets and discards all queue-level packets of 24. In between, packets become linear increasing probability discarded.

Die Funktion pf-10-22-24-0 erlaubt eine Differenzierung nur für einen Warteschlangenfüllstand von 23, was bereits das Durchsatzverhältnis von 9,75 auf 4,27 verglichen mit der Stufenfunktion verringert. Die Funktionen pf-10-17-24-0 und pf-10-11-24-0 sehen 6 und 12 Warteschlangenfüllstände zur Differenzierung vor und verringern das Durchsatzverhältnis weiter auf 2,32 und 1,82. Es wurde erkannt, dass bei Funktionen mit einfacher Steigung durchschnittliche Warteschlangenlängen Qavg so kurz sind, dass Verwurfswahrscheinlichkeiten meistens null sind, was eine Differenzierung nicht erlaubt. Der Grund dafür ist, dass auch der erste Füllstandsbereich mit nicht trivialer Wahrscheinlichkeit einer Funktion mit einfacher Steigung so groß ist, dass der Füllstand der Warteschlange meistens unter diesem Wert bleibt, und zwar insbesondere im Fall von niedriger Verstopfung bzw. niedriger Belastung. Deshalb werden Funktionen mit zwei Steigungen (pf-11-17-24-{0,01; 0,1} betrachtet, deren Wahrscheinlichkeit sich erst linear erhöht, und zwar auf einen kleinen Wert, und dann wiederum linear auf 1 ansteigt. Sie führen zu längeren durchschnittlichen Warteschlangenlängen, welche näher sind an dem Bereich, an welchem eine Differenzierung möglich ist. Sie führen zu einem niedrigst möglichen Durchsatzverhältnis von TR = 1,37. Für die weiteren Experimente wurde die Funktion pf-11-17-24-0,01 als Standard gewählt. Es sei jedoch verstanden, dass auch komplexere Funktionen möglich sind.The function pf-10-22-24-0 only allows for a queue level of 23, which already reduces the throughput ratio from 9.75 to 4.27 compared to the step function. The pf-10-17-24-0 and pf-10-11-24-0 features 6 and 12 queue levels for differentiation and further reduces the throughput ratio to 2.32 and 1.82. It has been recognized that for simple slope functions, average queue lengths Q avg are so short that discard probabilities are mostly zero, which does not allow differentiation. The reason for this is that even the first non-trivial probability level of a simple slope function is so large that the level of the queue will tend to remain below that value, especially in the case of low clogging. Therefore functions with two slopes (pf-11-17- 24- {0.01; 0.1}, whose probability first increases linearly, to a small value, and then increases linearly to 1. They result in longer average queue lengths, which are closer to the range at which differentiation is possible. They lead to a lowest possible throughput ratio of T R = 1.37. For the further experiments the function pf-11-17-24-0,01 was chosen as standard. However, it should be understood that even more complex functions are possible.

Ein Szenario mit hoher Verstopfung führt zu deutlich höheren durchschnittlichen Warteschlangenfüllständen Qavg, so dass der Warteschlangenfüllstand meistens in einem Bereich ist, welcher eine Differenzierung von Verwurfswahrscheinlichkeiten ermöglicht. Dies führt zu niedrigeren Durchsatzverhältnissen. Eine Stufenfunktion ist wiederum eine Ausnahme, welche das erfindungsgemäße Verfahren faktisch deaktivieren kann.A high congestion scenario results in significantly higher average queue levels Q avg , so that the queue level is mostly in a range that allows differentiation of discard probabilities. This leads to lower throughput ratios. A step function is again an exception which can actually deactivate the method according to the invention.

Das erfindungsgemäße Verfahren wird nunmehr für ECN-fähige Verbindungen untersucht, deren Pakete markiert werden, anstatt sie zu verwerfen. Da die Warteschlange signifikant ansteigen kann, werden Warteschlangen mit einer Puffergröße von 24 und 50 Paketen untersucht. Nahezu jeder Warteschlangenfüllstand bei hoher Last (Warteschlangenfüllstand 12 bis 23) in der kurzen Warteschlange führt zu einer nicht trivialen Verwurfswahrscheinlichkeit, während die lange Warteschlange zusätzliche Warteschlangenfüllstände 25 bis 50 hat, bei welchen Pakete markiert oder sogar verworfen werden, ohne Möglichkeit der Differenzierung. Das Durchsatzverhältnis und die durchschnittliche Warteschlangenlänge werden entsprechend ermittelt und in Tabelle 5 wiedergegeben, einschließlich Vergleichsresultaten ohne ECN.The method of the invention will now be examined for ECN-enabled compounds whose packets are tagged instead of discarded. Since the queue can increase significantly, queues with a buffer size of 24 and 50 packets are examined. Almost any high-load queue level (queue level 12-23) in the short queue results in a non-trivial probability of discard, while the long queue has additional queue levels 25-50 at which packets are flagged or even discarded without the possibility of differentiation. The throughput ratio and the average queue length are determined accordingly and reported in Table 5, including comparison results without ECN.

Es wurde herausgefunden, dass das Durchsatzverhältnis TR größer ist für ECN und eine Puffergröße von Qmax = 24 Paketen als ohne ECN, insbesondere für lange RTT. Dies kann folgendermaßen erklärt werden. Da Pakete von starken Benutzern eher markiert als verworfen werden, füllen starke Benutzer Positionen bei hoher Last der Warteschlange im Fall von Verstopfung, wenn die Verbindungen ihre Raten nicht schnell genug verringern. Dann erfahren Pakete von starken und schwachen Benutzern die gleiche Wahrscheinlichkeit eines Paketverlusts aufgrund Pufferüberlauf („tail-drop”). Dies verringert den Grad von differenzierender Behandlung für starke und schwache Benutzer und erhöht das Durchsatzverhältnis. Als andere Konsequenz kann sich der durchschnittliche Warteschlangefüllstand Qavg erhöhen, insbesondere in Szenarien bei hoher Last. Im Fall von sehr geringer Verstopfung, d. h. langes Db und nur wenige Benutzer, wird das Durchsatzverhältnis auch erhöht, weil das Markieren von Paketen statt des Verwerfens bevorzugt wird, insbesondere bei starken Benutzern.It has been found that the throughput ratio T R is greater for ECN and a buffer size of Q max = 24 packets than without ECN, especially for long RTT. This can be explained as follows. Because packets are tagged by strong users rather than discarded, strong users fill high-queue positions in the event of congestion if the links do not slow down their rates fast enough. Then, packets from strong and weak users experience the same likelihood of packet loss due to tail-drop. This reduces the degree of differential treatment for strong and weak users and increases the throughput ratio. As another consequence, the average queue level Q avg may increase, especially in high load scenarios. In the case of very low clogging, ie long D b and only a few users, the throughput ratio is also increased because tagging of packets rather than discarding is preferred, especially for heavy users.

Mit einer Puffergröße von Qmax = 50 Paketen erhöht sich das Durchsatzverhältnis noch mehr, insbesondere für hohe Verstopfung. Die durchschnittliche Warteschlangenlänge Qavg erhöht sich bis zu einem Bereich, wo alle Pakete markiert oder verworfen werden, und eine Differenzierung basierend auf Aktivitätswerten ist nicht länger möglich. Deshalb werden Verbindungen von starken und schwachen Benutzern gleichermaßen behandelt, solange die Warteschlange in diesem Bereich verbleibt, wodurch das Durchsatzverhältnis erhöht wird. Im schlechtesten derzeit denkbaren Fall deaktiviert dies faktisch das erfindungsgemäße Verfahren, was zu Durchsatzwerten um 10 führt. Somit wurde herausgefunden, dass das erfindungsgemäße Verfahren sich insbesondere für kurze Warteschlangen eignet. Deshalb kann es bevorzugt sein, dass bei Ausführung des erfindungsgemäßen Verfahrens ECN ignoriert wird, d. h. ECN-Pakete werden verworfen anstatt sie zu markieren.With a buffer size of Q max = 50 packets, the throughput ratio increases even more, especially for high blockage. The average queue length Q avg increases to an area where all packets are marked or discarded, and differentiation based on activity values is no longer possible. Therefore, connections of strong and weak users are treated equally as long as the queue remains in that area, thereby increasing the throughput ratio. In the worst case currently conceivable, this in fact deactivates the method according to the invention, which leads to throughput values of 10. Thus, it has been found that the method of the invention is particularly suitable for short queues. Therefore, it may be preferred that ECN is ignored when the method according to the invention is carried out, ie ECN packets are discarded instead of being marked.

Das erfindungsgemäße Verfahren kann Upload-Zeiten für zeitweilige Übertragungen von moderater Größe verringern. Dies wurde modelliert durch einen einzigen Testbenutzer, welcher eine Übertragung von 1 MB auf der Anwendungsschicht überträgt. Hintergrundverkehr wird durch u1 Benutzer erzeugt, welche jeweils mit f1 gesättigten TCP-Verbindungen senden. Upload-Zeiten für diese Übertragung werden in Tabelle 7 wiedergegeben. Ohne das erfindungsgemäße Verfahren erhöhen sich die Upload-Zeiten signifikant mit der Gesamtzahl an Verbindungen (u1·f1 + 1) und sie sind länger für Db = 50 ms als für Db = 5 ms.The inventive method can reduce upload times for temporary transmissions of moderate size. This was modeled by a single test user transmitting a 1 MB transfer at the application layer. Background traffic is generated by u 1 users, each sending f 1 saturated TCP connections. Upload times for this transfer are shown in Table 7. Without the method according to the invention, the upload times increase significantly with the total number of connections (u 1 .f 1 + 1) and they are longer for D b = 50 ms than for D b = 5 ms.

Die gleichen Experimente wurden auch mit dem erfindungsgemäßen Verfahren durchgeführt, während die Eimergröße des Testbenutzers variiert wurde. Tabelle 7 zeigt nur eine kleine Verringerung der Upload-Zeit für Hintergrundbenutzer mit f1 = 1 Verbindungen und einer Eimergröße von B = 0 Bytes. Wenn Hintergrundbenutzer f1 = 4 Verbindungen haben, werden die Upload-Zeiten bereits erheblich reduziert, weil das erfindungsgemäße Verfahren die Flaschenhalsbandbreite gleich unter den Benutzern aufteilt. Beim Erhöhen der Eimergröße B verringert sich die Upload-Zeit sogar weiter, bis B die Größe der Übertragung zusätzlich eines Protokoll-Overheads und erneut übertragenen Paketen übersteigt. Für sehr große B ist die Upload-Zeit um Größenordnungen geringer als ohne das erfindungsgemäße Verfahren. Das erfindungsgemäße Verfahren priorisiert im Wesentlichen die Übertragung des Testnutzers gegenüber anderem Verkehr, solange die Eimergröße verhindert, dass der Füllstand des Aktivitätsmeters negativ wird.The same experiments were also carried out with the method according to the invention, while the bucket size of the test user was varied. Table 7 shows only a small reduction in upload time for background users with f 1 = 1 connections and a bucket size of B = 0 bytes. If background users have f 1 = 4 connections, the upload times are already considerably reduced because the method according to the invention divides the bottleneck bandwidth equally among the users. As the bucket size B is increased, the upload time even further decreases until B exceeds the size of the transmission in addition to a protocol overhead and retransmitted packets. For very large B, the upload time is orders of magnitude lower than without the inventive method. The inventive method essentially prioritizes the transmission of the test user to other traffic as long as the bucket size prevents the level of the activity meter from becoming negative.

Es wird nunmehr ein einziger starker Benutzer betrachtet, welcher CBR-UDP-Verkehr mit einer Rate R 0 / t sendet, und welcher mit u1 = 10 schwachen Benutzern mit einer jeweiligen einzelnen TCP-Verbindung konkurriert. Ohne das erfindungsgemäße Verfahren verbraucht TCP-Verkehr ungefähr die Kapazität, welche vom UDP-Verkehr übriggelassen wird, was zu einem niedrigen Durchsatz für TCP-Benutzer führt. 8 zeigt, dass dies bei dem erfindungsgemäßen Verfahren unterschiedlich ist. Für γ = 3 zeigt das Durchsatzverhältnis TR einen Überschuss bei dem fairen Verhältnis, aber fällt schnell unter 1 ab für höheres R 0 / t, d. h. TCP-Benutzer erhalten einen größeren Kapazitätsanteil als UDP-Benutzer mit zu großer UDP-Senderate R 0 / t. Das Durchsatzverhältnis erhöht sich wiederum für sehr große R 0 / t. Weitere Experimente haben gezeigt, dass der letztgenannte Effekt durch Wahrscheinlichkeitsfunktionen mit drei Steigungen vermieden werden kann, insbesondere wenn die dritte Steigung bei einem hohen Wahrscheinlichkeitswert anfängt und bei 1 endet. Mit dieser Modifizierung kann das erfindungsgemäße Verfahren TCP-Verkehr gegen Quellen mit Verkehr ohne Statuskontrolle schützen, welche mit einer Rate senden, welche größer ist als ihr fairer Anteil. Dies führt auch dazu, dass mittels des erfindungsgemäßen Verfahrens Denial-of-Service-Angriffe wirkungsvoll vermieden werden können. A single strong user is now considered to have CBR UDP traffic at a rate R 0 / t and which competes with u 1 = 10 weak users with a respective single TCP connection. Without the inventive method, TCP traffic consumes approximately the capacity left over by UDP traffic, resulting in low throughput for TCP users. 8th shows that this is different in the method according to the invention. For γ = 3, the throughput ratio T R shows an excess at the fair ratio, but drops rapidly below 1 for higher R 0 / t, ie TCP users get more capacity than UDP users with excessive UDP send rate R 0 / t. The throughput ratio increases again for very large R 0 / t. Further experiments have shown that the latter effect can be avoided by three-slope probability functions, especially when the third slope starts at a high probability value and ends at one. With this modification, the inventive method can protect TCP traffic against sources with traffic without status control, which send at a rate which is greater than their fair share. This also means that by means of the method according to the invention denial of service attacks can be effectively avoided.

Bei einem Differenzierungsfaktor von γ = 2 werden höhere Durchsatzverhältnisse erreicht, was UDP-Benutzern ermöglicht, unter bestimmten Bedingungen die Bandbreite zu monopolisieren. Auch eine erhöhte AQM-Wahrscheinlichkeitsfunktion kann nicht verhindern, dass UDP-Benutzer 50% mehr Bandbreite bekommen als TCP-Benutzer für R 0 / t = 20 Mb/s und Db = 50 ms. Dies bestätigt, dass ein Wert von γ = 3 vorteilhaft ist.With a differentiation factor of γ = 2, higher throughput ratios are achieved, allowing UDP users to monopolize bandwidth under certain conditions. Even an increased AQM probability function can not prevent UDP users from getting 50% more bandwidth than TCP users for R 0 / t = 20 Mb / s and Db = 50 ms. This confirms that a value of γ = 3 is advantageous.

Abschließende technische BetrachtungenFinal technical considerations

Abschließend ist festzustellen, dass gezeigt wurde, dass mittels des erfindungsgemäßen Verfahrens das technische Problem einer fairen und sinnvollen Aufteilung vorhandener Kapazitäten zur Datenübertragung auf unterschiedliche Benutzer gelöst wird. Dies erfolgt insbesondere durch die Zuweisung von Aktivitätswerten an Pakete und durch das gezielte, sinnvolle Verwerfen oder Markieren von Datenpaketen im Sinne einer gerechten und sinnvollen Ressourcenaufteilung. Für die Benutzer wird ein Anreiz geschaffen, sich beim Senden an einer fairen Rate zu orientieren, welche auf der ihnen zugewiesenen Referenzrate basiert, da ansonsten bei höherer Senderate ihr tatsächlich erzielter Durchsatz nicht erhöht, sondern vielmehr verringert wird. Mittels des erfindungsgemäßen Verfahrens ist es auch möglich, eine im Vergleich zum Stand der Technik sinnvollere Zuweisung von Prioritäten vorzunehmen. Benutzer mit hoher Priorität werden bei dem erfindungsgemäßen Verfahren besonders in dem Fall bevorzugt, wenn eine hohe Auslastung vorliegt. Ist die Auslastung jedoch gering, kann auch Benutzern mit niedrigerer Priorität eine höhere Übertragungskapazität zur Verfügung gestellt werden. Dies ermöglicht eine im Vergleich zum Stand der Technik deutliche Verbesserung der Übertragungsqualität für Benutzer mit niedriger Priorität, beispielsweise mit günstigen Datentarifen, ohne die Qualität für Benutzer mit hoher Priorität zu verschlechtern.Finally, it has been found that it has been shown that the technical problem of a fair and meaningful allocation of available capacities for data transmission to different users is solved by means of the method according to the invention. This is done in particular by the assignment of activity values to packets and by the deliberate, meaningful discarding or marking of data packets in the sense of a fair and meaningful allocation of resources. Users are incentivized to follow a fair rate when sending based on the reference rate assigned to them, otherwise, at higher transmission rates, their actual achieved throughput will not be increased but rather reduced. By means of the method according to the invention, it is also possible to make a more meaningful assignment of priorities compared to the prior art. High priority users are preferred in the method of the invention particularly in the case of high utilization. However, if the load is low, users with lower priority can be provided with a higher transmission capacity. This provides a significant improvement in transmission quality for low priority users, such as low data rates, compared to the prior art, without degrading quality for high priority users.

Allgemeine Anmerkungengeneral remarks

Erwähnte Schritte des erfindungsgemäßen Verfahrens können in der angegebenen Reihenfolge ausgeführt werden. Sie können jedoch auch in einer anderen Reihenfolge ausgeführt werden. Das erfindungsgemäße Verfahren kann in einer seiner Ausführungen, beispielsweise mit einer bestimmten Zusammenstellung von Schritten, in der Weise ausgeführt werden dass keine weiteren Schritte ausgeführt werden. Es können jedoch grundsätzlich auch weitere Schritte ausgeführt werden, auch solche welche nicht erwähnt sind.Mentioned steps of the method according to the invention can be carried out in the order given. However, they can also be executed in a different order. In one of its embodiments, for example with a specific set of steps, the method according to the invention can be carried out in such a way that no further steps are carried out. However, in principle also further steps can be carried out, even those which are not mentioned.

Die zur Anmeldung gehörigen Ansprüche stellen keinen Verzicht auf die Erzielung weitergehenden Schutzes dar.The claims belonging to the application do not constitute a waiver of the achievement of further protection.

Sofern sich im Laufe des Verfahrens herausstellt, dass ein Merkmal oder eine Gruppe von Merkmalen nicht zwingend nötig ist, so wird anmelderseitig bereits jetzt eine Formulierung zumindest eines unabhängigen Anspruchs angestrebt, welcher das Merkmal oder die Gruppe von Merkmalen nicht mehr aufweist. Hierbei kann es sich beispielsweise um eine Unterkombination eines am Anmeldetag vorliegenden Anspruchs oder um eine durch weitere Merkmale eingeschränkte Unterkombination eines am Anmeldetag vorliegenden Anspruchs handeln. Derartige neu zu formulierende Ansprüche oder Merkmalskombinationen sind als von der Offenbarung dieser Anmeldung mit abgedeckt zu verstehen.If, in the course of the procedure, it turns out that a feature or a group of features is not absolutely necessary, it is already desired on the applicant side to formulate at least one independent claim which no longer has the feature or the group of features. This may, for example, be a subcombination of a claim present at the filing date or a subcombination of a claim limited by further features of a claim present at the filing date. Such newly formulated claims or feature combinations are to be understood as covered by the disclosure of this application.

Es sei ferner darauf hingewiesen, dass Ausgestaltungen, Merkmale und Varianten der Erfindung, welche in den verschiedenen Ausführungen oder Ausführungsbeispielen beschriebenen und/oder in den Figuren gezeigt sind, beliebig untereinander kombinierbar sind. Einzelne oder mehrere Merkmale sind beliebig gegeneinander austauschbar. Hieraus entstehende Merkmalskombinationen sind als von der Offenbarung dieser Anmeldung mit abgedeckt zu verstehen.It should also be noted that embodiments, features and variants of the invention, which are described in the various embodiments or embodiments and / or shown in the figures, can be combined with each other as desired. Single or multiple features are arbitrarily interchangeable. Resulting combinations of features are to be understood as covered by the disclosure of this application.

Rückbezüge in abhängigen Ansprüchen sind nicht als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen Schutzes für die Merkmale der rückbezogenen Unteransprüche zu verstehen. Diese Merkmale können auch beliebig mit anderen Merkmalen kombiniert werden. Recoveries in dependent claims are not to be understood as a waiver of obtaining independent, objective protection for the features of the dependent claims. These features can also be combined as desired with other features.

Merkmale, die lediglich in der Beschreibung offenbart sind oder Merkmale, welche in der Beschreibung oder in einem Anspruch nur in Verbindung mit anderen Merkmalen offenbart sind, können grundsätzlich von eigenständiger erfindungswesentlicher Bedeutung sein. Sie können deshalb auch einzeln zur Abgrenzung vom Stand der Technik in Ansprüche aufgenommen werden.Features that are disclosed only in the specification or features that are disclosed in the specification or in a claim only in conjunction with other features may, in principle, be of independent significance to the invention. They can therefore also be included individually in claims to distinguish them from the prior art.

Es sei erwähnt, dass in dieser Anmeldung einige Formeln angegeben sind, in welchen eine Variable sowohl links wie auch rechts des Gleichheitszeichens vorkommt. Dabei handelt es sich typischerweise nicht um Gleichungen, sondern um Zuweisungsvorschriften, also um Angaben, wie ein Wert zu aktualisieren ist. Dies entspricht der üblichen Notation in der Informatik.It should be noted that in this application some formulas are given in which a variable occurs both to the left and to the right of the equal sign. These are typically not equations, but assignment rules, which is how to update a value. This corresponds to the usual notation in computer science.

Sollten bei Formeln Dimensionen nicht kompatibel sein, können beispielsweise Dimensionen als dimensionslose Größen angegeben werden oder es können die Dimensionen weggelassen werden.If dimensions are not compatible with formulas, for example, dimensions may be specified as dimensionless sizes, or the dimensions may be omitted.

Es sei des Weiteren erwähnt, dass in den Figuren dieser Anmeldung als Trennzeichen zu Nachkommastellen von Werteangaben nicht das Komma, sondern der Punkt verwendet wird, wie dies im Englischen üblich ist.It should also be mentioned that in the figures of this application as a separator to decimal places of value specifications not the comma, but the point is used, as is common in English.

Werden in dieser Anmeldung zu einem Parameter beispielhafte oder vorteilhafte Intervalle angegeben, so gelten auch alle weiteren Intervalle, welche eine beliebige offenbarte untere Grenze sowie eine beliebige offenbarte obere Grenze haben, als Teil der Offenbarung dieser Anmeldung. Tabelle 1: Werte der Verzögerungsparameter für die Experimente

Figure DE102015111438B3_0024
Tabelle 2: Durchsatzverhältnis TR in Abhängigkeit vom Differenzierungsfaktor γ Db (ms) Benutzer u0/ui Differenzierungsfaktor γ 0 1 2 3 4 5 5 1/10 9/90 9,80 10,26 1,85 1,35 1,24 0,99 1,04 0,89 0,95 0,83 0,90 0,81 50 1/10 9/90 10,04 10,40 2,74 1,53 1,71 0,99 1,37 0,86 1,21 0,78 1,11 0,72 Tabelle 3: Durchsatzverhältnis TR in Abhängigkeit vom Trägheitsmaß I Db (ms) u0/ui Trägheitsmaß der Aktivität I(s) 0,15 0,3 0,6 1,2 2,4 4,8 5 1/10 9/90 1,12 1,01 1,06 0.94 1,04 0,89 1,02 0,86 1,01 0,84 1,00 0,81 50 1/10 9/90 1,43 1,17 1,38 0,88 1,37 0,86 1,33 0,84 1,30 0,82 1,25 0,81 Tabelle 4: Einfluss der Wahrscheinlichkeitsfunktionen Db u0/ui 5 ms 9/90 50 ms 1/10 Wahrscheinlichkeitsfunktion TR Qavg (Pakete) TR Qavg (Pakete) pf-10-23-24-0 10,98 22,09 9,75 15,44 pf-10-22-24-0 1,59 21,54 4,27 15,97 pf-10-17-24-0 0,93 18,89 2,32 13,42 pf-10-11-24-0 0,89 15,78 1,82 8,32 pf-11-17-24-0,1 0,90 18,46 1,38 9,83 pf-11-17-24-0,01 0,89 18,84 1,37 11,63 Tabelle 5: Einfluss von ECN-fähigen Flüssen Szenario Db = 5 ms Db = 50 ms ECN u0/u1 TR Qavg TR Qavg Aus 1/10 3/30 9/90 1,04 0,90 0,89 16,08 17,54 18,96 1,37 1,02 0,86 12,14 15,96 18,15 An Qmax = 24 Pakete 1/10 3/30 9/90 1,04 0,95 2,68 17,48 21,70 22,03 2,07 2,14 1,30 7,09 14,23 21,63 An Qmax = 24 Pakete 1/10 3/30 9/90 1,97 1,04 10,33 14,41 31,79 48,81 2,30 5,00 5,49 7,06 14,23 41,83

  • Tabelle 6: Durchsatzverhältnis TR für einen privilegierten Benutzer mit einem einzigen Fluss und einer skalierten Referenzrate R 0 / t = s·R 1 / t
Db (ms) Anzahl Benutzer u0/u1 Skalierungsfaktor s 1 2 4 8 16 5 1/1 1/10 1/100 1,00 1,00 1,01 1,88 1,82 2,00 3,25 3,23 3,78 5,95 5,71 5,98 10,45 10,39 10,91 50 1/1 1/10 1/100 1,01 1,00 1,01 1,55 1,68 1,85 2,47 2,75 3,03 3,78 4,62 5,07 4,30 7,85 7,39 Tabelle 7: Upload-Zeiten (s) mit und ohne erfindungsgemäßes Verfahren (ABC) Db (ms) ABC B (MB) f1 = 1 f1 = 4 u1 = 10 u1 = 20 u1 = 10 u1 = 20 5 Nein n/a 10,3 20,2 34,2 61,4 Ja 0 0,25 0,5 0,75 1 1,25 9,1 8,7 6,5 5,1 2,8 2,7 19,7 15,7 11,3 7,7 3,0 2,7 11,5 9,6 7,5 5,5 2,9 2,7 18,8 15,7 11,6 7,9 3,2 2,7 50 Nein n/a 20,3 29,2 47,7 85,2 Ja 0 0,25 0,5 0,75 1 1,25 9,5 7,2 5,9 3,4 2,8 2,6 18,5 14,8 11,4 7,3 3,7 3,3 12,2 10,6 8,6 6,6 4,3 4,0 21,7 18,2 14,5 10,6 6,4 5,3 If exemplary or advantageous intervals are specified for a parameter in this application, all other intervals which have any disclosed lower limit as well as any disclosed upper limit also apply as part of the disclosure of this application. Table 1: Values of delay parameters for the experiments
Figure DE102015111438B3_0024
Table 2: Throughput ratio T R as a function of the differentiation factor γ Db (ms) User u 0 / u i Differentiation factor γ 0 1 2 3 4 5 5 1/10 9/90 9.80 10.26 1.85 1.35 1.24 0.99 1.04 0.89 0.95 0.83 0.90 0.81 50 1/10 9/90 10.04 10.40 2.74 1.53 1.71 0.99 1.37 0.86 1.21 0.78 1.11 0.72 Table 3: Throughput ratio T R as a function of the inertia measure I Db (ms) u 0 / u i Inertia measure of activity I (s) 0.15 0.3 0.6 1.2 2.4 4.8 5 1/10 9/90 1.12 1.01 1.06 0.94 1.04 0.89 1.02 0.86 1.01 0.84 1.00 0.81 50 1/10 9/90 1.43 1.17 1.38 0.88 1.37 0.86 1.33 0.84 1.30 0.82 1.25 0.81 Table 4: Influence of the probability functions D b u 0 / u i 5 ms 9/90 50 ms 1/10 probability function T R Q avg (packages) T R Q avg (packages) pf-10-23-24-0 10.98 22.09 9.75 15.44 pf-10-22-24-0 1.59 21.54 4.27 15.97 pf-10-17-24-0 0.93 18,89 2.32 13.42 pf-10-11-24-0 0.89 15.78 1.82 8.32 pf-11-17-24-0,1 0.90 18.46 1.38 9.83 pf-11-17-24-0,01 0.89 18.84 1.37 11.63 Table 5: Influence of ECN-capable flows scenario Db = 5 ms Db = 50 ms ECN u 0 / u 1 T R Q avg T R Q avg Out 1/10 3/30 9/90 1.04 0.90 0.89 16.08 17.54 18.96 1.37 1.02 0.86 12:14 15,96 18,15 At Q max = 24 packets 1/10 3/30 9/90 1.04 0.95 2.68 17,48 21,70 22,03 2.07 2.14 1.30 7.09 14.23 21.63 At Q max = 24 packets 1/10 3/30 9/90 1.97 1.04 10.33 14.41 31.79 48.81 2.30 5.00 5.49 7.06 14.23 41.83
  • Table 6: Throughput ratio T R for a privileged single flow user with a scaled reference rate R 0 / t = s · R 1 / t
Db (ms) Number of users u 0 / u 1 Scaling factor s 1 2 4 8th 16 5 1/1 1/10 1/100 1.00 1.00 1.01 1.88 1.82 2.00 3.25 3.23 3.78 5.95 5.71 5.98 10.45 10.39 10.91 50 1/1 1/10 1/100 1.01 1.00 1.01 1.55 1.68 1.85 2.47 2.75 3.03 3.78 4.62 5.07 4,30 7,85 7,39 Table 7: Upload times (s) with and without method (ABC) according to the invention Db (ms) ABC B (MB) f 1 = 1 f 1 = 4 u 1 = 10 u 1 = 20 u 1 = 10 u 1 = 20 5 No n / A 10.3 20.2 34.2 61.4 Yes 0 0.25 0.5 0.75 1 1.25 9.1 8.7 6.5 5.1 2.8 2.8 2.7 19.7 15.7 11.3 7.7 3.0 2.7 11.5 9.6 7.5 5.5 2.9 2.7 18.8 15.7 11.6 7.9 3.2 2.7 50 No n / A 20.3 29.2 47.7 85.2 Yes 0 0.25 0.5 0.75 1 1.25 9.5 7.2 5.9 3.4 2.8 2.6 18.5 14.8 11.4 7.3 3.3 3.3 12.2 10.6 8.6 6.6 4.3 4.0 21.7 18.2 14.5 10.6 6.4 5.3

Claims (22)

Verfahren zum Transport von Datenpaketen über zumindest einen ersten Netzwerkknoten (100) und einen zweiten Netzwerkknoten (200), – wobei jedes Datenpaket einem aus einer Mehrzahl von Benutzern zugeordnet ist, – wobei jedem Benutzer ein jeweiliger benutzerspezifischer Wertesatz zugeordnet ist, welcher zumindest eine Referenzrate aufweist, – wobei bei jedem Eintreffen eines Datenpakets, das einem Benutzer zugeordnet ist, am ersten Netzwerkknoten (100) unter Verwendung des dem Benutzer zugeordneten Wertesatzes folgende Schritte ausgeführt werden: – Ermitteln eines Aktivitätswerts, welcher anzeigend ist für eine Abweichung einer dem Benutzer zugeordneten Senderate von der Referenzrate des dem Benutzer zugeordneten Wertesatzes, und – Zuweisen des Aktivitätswerts zu dem Datenpaket, und – wobei bei jedem Eintreffen eines Datenpakets, dem ein Aktivitätswert zugeordnet ist, am zweiten Netzwerkknoten (200) folgende Schritte ausgeführt werden: – Aktualisieren eines Referenzaktivitätswerts in Abhängigkeit von dem Aktivitätswert des eingetroffenen Datenpakets, – Ermitteln einer Abweichung zwischen dem Aktivitätswert des eingetroffenen Datenpakets und dem Referenzaktivitätswert, – Ermitteln einer Verwurfswahrscheinlichkeit in Abhängigkeit von der Abweichung, – Durchführen eines Zufallsprozesses, wobei der Zufallsprozess zu einem positiven oder negativen Ergebnis kommen kann und derart durchgeführt wird, dass das positive Ergebnis mit der Verwurfswahrscheinlichkeit auftritt, und – Verwerfen oder Markieren des Datenpakets, sofern der Zufallsprozess zu dem positiven Ergebnis gekommen ist.Method for transporting data packets via at least one first network node ( 100 ) and a second network node ( 200 ), Wherein each data packet is assigned to one of a plurality of users, - each user being assigned a respective user-specific value set having at least one reference rate, - each time a data packet being assigned to a user arrives at the first network node ( 100 using the value set associated with the user, the steps of: determining an activity value indicative of a deviation of a transmission rate associated with the user from the reference rate of the value set associated with the user, and assigning the activity value to the data packet; at each arrival of a data packet to which an activity value is assigned, at the second network node ( 200 the following steps are carried out: updating a reference activity value in dependence on the activity value of the arrived data packet, determining a deviation between the activity value of the arrived data packet and the reference activity value, determining a probability of discard depending on the deviation, performing a random process, wherein the Random process can come to a positive or negative result and is performed such that the positive result occurs with the Verwurfswahrscheinlichkeit, and - Discard or mark the data packet, if the random process has come to the positive result. Verfahren nach Anspruch 1, – wobei der Aktivitätswert numerisch angegeben wird und zumindest betragsmäßig umso größer ermittelt wird, je mehr die Senderate des Benutzers die Referenzrate übersteigt.Method according to claim 1, - The activity value is given numerically and at least the amount is determined the greater, the more the transmission rate of the user exceeds the reference rate. Verfahren nach einem der vorhergehenden Ansprüche, – wobei beim Schritt des Aktualisierens eines Referenzaktivitätswerts ein Gewichtungsfaktor verwendet wird, welcher einen Wertebereich zwischen 0 und 1 annehmen kann, und – wobei der Referenzaktivitätswert dadurch aktualisiert wird, dass – ein vorheriger Referenzaktivitätswert mit dem Gewichtungsfaktor multipliziert wird, und – dazu ein Wert addiert wird, welcher als Produkt aus – dem Aktivitätswert und – der Differenz aus der Zahl eins abzüglich des Gewichtungsfaktors ermittelt wird.Method according to one of the preceding claims, wherein - in the step of updating a reference activity value, a weighting factor is used which can assume a value range between 0 and 1, and - wherein the reference activity value is updated by multiplying a previous reference activity value by the weighting factor, and adding thereto a value which is the product of the activity value and the difference of the number one minus the weighting factor is determined. Verfahren nach einem der vorhergehenden Ansprüche, – wobei beim Schritt des Ermittelns einer Verwurfswahrscheinlichkeit die Verwurfswahrscheinlichkeit – umso größer ermittelt wird, je mehr der Aktivitätswert den Referenzaktivitätswert, zumindest betragsmäßig, übersteigt, und/oder – umso größer ermittelt wird, je voller eine dem zweiten Netzwerkknoten (200) zugeordnete Warteschlange für Datenpakete ist, und/oder – den Wert Null erhält, wenn die Warteschlange höchstens bis zu einem Schwellenwert gefüllt ist.Method according to one of the preceding claims, - wherein in the step of determining a Verwurfswahrscheinlichkeit the Verwurfswahrscheinlichkeit - the greater the activity value exceeds the reference activity value, at least in amount, and / or - the greater, the full one the second network node ( 200 ), and / or - receives the value zero if the queue is filled to a maximum of one threshold. Verfahren nach einem der vorhergehenden Ansprüche, – wobei beim Schritt des Ermittelns einer Verwurfswahrscheinlichkeit die Verwurfswahrscheinlichkeit dadurch ermittelt wird, dass – eine Ausgangswahrscheinlichkeit, welche einen Wertebereich zwischen 0 und 1 annehmen kann, – mit einem Wert potenziert wird, welcher wiederum durch Potenzierung der Zahl zwei oder einer anderen positiven Zahl mit einem Exponenten erhalten wird, – wobei dieser Exponent durch Multiplikation von minus eins mit einem Differenzierungsfaktor und mit der Differenz zwischen dem Aktivitätswert und dem Referenzaktivitätswert ermittelt wird.Method according to one of the preceding claims, - wherein in the step of determining a Verwurfswahrscheinlichkeit the Verwurfswahrscheinlichkeit is determined by the fact that An output probability which can assume a value range between 0 and 1, - is exponentiated with a value, which in turn is obtained by exponentiation of the number two or another positive number with an exponent, - where this exponent is determined by multiplying minus one by a differentiation factor and by the difference between the activity value and the reference activity value. Verfahren nach Anspruch 5, – wobei die Ausgangswahrscheinlichkeit derart festgesetzt wird, dass bei Weiterleitung aller nicht verworfenen oder nicht markierten Datenpakete ein vorgegebener Maximaldurchsatz gerade nicht überschritten wird.Method according to claim 5, - Wherein the output probability is set so that when forwarding all not discarded or unmarked data packets a predetermined maximum throughput is not exceeded. Verfahren nach einem der vorhergehenden Ansprüche, – wobei der zweite Netzwerkknoten (200) einem Netzabschnitt mit begrenztem Maximaldurchsatz zugeordnet ist.Method according to one of the preceding claims, - wherein the second network node ( 200 ) is associated with a network section with limited maximum flow rate. Verfahren nach einem der vorhergehenden Ansprüche, – wobei jeder benutzerspezifischer Wertesatz ferner einen Füllstand aufweist.Method according to one of the preceding claims, - Each user-specific value set also has a level. Verfahren nach Anspruch 8, – wobei bei jedem Schritt des Ermittelns eines Aktivitätswerts zunächst der Füllstand des dem Benutzer zugeordneten Wertesatzes aktualisiert wird, und/oder – wobei der Füllstand kontinuierlich, in festgelegten Zeitabständen oder nach einem festgelegten Schema aktualisiert wird, und/oder – wobei der Füllstand in Abhängigkeit von der Referenzrate aktualisiert wird, und/oder – wobei beim Schritt des Aktualisierens des Füllstands ein gespeicherter früherer Füllstand, welcher einem bereits vergangenen Zeitpunkt zugeordnet ist, um das Produkt aus der Referenzrate und einer Zeitdifferenz zum vergangenen Zeitpunkt erhöht wird; und/oder – wobei jeder benutzerspezifische Wertesatz einen maximalen Füllstand aufweist und wobei der Füllstand nicht über den jeweiligen maximalen Füllstand erhöht wird.Method according to claim 8, Wherein, at each step of determining an activity value, the level of the value set associated with the user is first updated, and or - the level is updated continuously, at fixed intervals or according to a fixed schedule, and or Wherein the level is updated in dependence on the reference rate, and or Wherein, in the step of updating the level, a stored previous level associated with an already past time is increased by the product of the reference rate and a time difference from the past time; and or - Each user-specific value set has a maximum level and wherein the level is not increased above the respective maximum level. Verfahren nach einem der Ansprüche 8 oder 9, – wobei bei jedem Schritt des Ermittelns eines Aktivitätswerts der Aktivitätswert in Abhängigkeit von dem Füllstand nach dessen Aktualisierung ermittelt wird.Method according to one of claims 8 or 9, Wherein, at each step of determining an activity value, the activity value is determined as a function of the level after its update. Verfahren nach einem der Ansprüche 8 bis 10, – wobei bei jedem Schritt des Ermitteln eines Aktivitätswerts der Füllstand in Abhängigkeit von dem ermittelten Aktivitätswert verändert und/oder verringert wird.Method according to one of claims 8 to 10, Wherein at each step of determining an activity value, the level is changed and / or reduced in dependence on the determined activity value. Verfahren nach Anspruch 11, – wobei der Füllstand umso weniger verändert wird, je größer der Aktivitätswert, zumindest betragsmäßig, ist; und/oder – wobei der Füllstand umso mehr verändert wird, je größer eine Länge des Datenpakets ist.Method according to claim 11, - The level is changed the less, the greater the activity value, at least in terms of amount; and or - The level is changed the more, the greater a length of the data packet. Verfahren nach einem der Ansprüche 11 oder 12, – wobei beim Schritt des Verringerns des Füllstands der Füllstand um einen Wert verringert wird, welcher durch Division – einer Länge des Datenpakets durch – die Zahl zwei oder eine andere positive Zahl potenziert mit dem Aktivitätswert ermittelt wird. The method of any of claims 11 or 12, wherein in the step of reducing the level, the level is decreased by a value determined by dividing - a length of the data packet by - the number two or some other positive number, exponentiated with the activity value. Verfahren nach einem der Ansprüche 8 bis 13, – wobei beim Schritt des Ermitteln eines Aktivitätswerts ein Aktivitätswert in Höhe eines Ausgangsaktivitätswerts ermittelt wird, wenn der Füllstand einen nichtnegativen Wert aufweist; oder – wobei beim Schritt des Ermittelns eines Aktivitätswerts ein negativer Aktivitätswert ermittelt wird, wenn der Füllstand einen nichtnegativen Wert aufweist.Method according to one of claims 8 to 13, Wherein, in the step of determining an activity value, an activity value equal to an output activity value is determined when the level has a non-negative value; or - wherein in the step of determining an activity value, a negative activity value is determined when the level has a non-negative value. Verfahren nach einem der Ansprüche 8 bis 14, – wobei beim Schritt des Ermittelns eines Aktivitätswerts der Aktivitätswert derart ermittelt wird, dass bei einem negativen Füllstand – der Aktivitätswert umso größer wird, je größer ein Absolutbetrag des Füllstands ist, und – der Aktivitätswert umso kleiner wird, je größer die Referenzrate ist.Method according to one of claims 8 to 14, - In the step of determining an activity value of the activity value is determined such that at a negative level The activity value increases, the greater an absolute value of the filling level, and The activity value decreases the greater the reference rate. Verfahren nach einem der Ansprüche 8 bis 15, – wobei beim Schritt des Ermittelns eines Aktivitätswerts der Aktivitätswert derart ermittelt wird, dass bei einem negativen Füllstand der Aktivitätswert durch Division eines Absolutbetrags des Füllstands zumindest durch die Referenzrate ermittelt wird.Method according to one of claims 8 to 15, - In the step of determining an activity value of the activity value is determined such that at a negative level, the activity value is determined by dividing an absolute value of the level at least by the reference rate. Verfahren nach einem der vorhergehenden Ansprüche, – wobei jeder benutzerspezifische Wertesatz ferner ein Trägheitsmaß aufweist, und – wobei bei jedem Ermitteln eines Aktivitätswerts der Aktivitätswert, zumindest betragsmäßig, umso kleiner ermittelt wird, je größer das Trägheitsmaß, zumindest betragsmäßig, ist.Method according to one of the preceding claims, - each user-specific value set further having an inertial measure, and - In each determination of an activity value of the activity value, at least in magnitude, the smaller is determined, the greater the degree of inertia, at least in terms of amount. Verfahren nach Anspruch 17, – wobei beim Schritt des Ermittelns eines Aktivitätswerts der Aktivitätswert derart ermittelt wird, dass bei einem negativen Füllstand der Aktivitätswert durch Division eines Absolutbetrags des Füllstands durch die Referenzrate und durch das Trägheitsmaß ermittelt wird.Method according to claim 17, Wherein, in the step of determining an activity value, the activity value is determined such that at a negative level the activity value is determined by dividing an absolute value of the level by the reference rate and by the inertia measure. Verfahren nach Anspruch 1 bis 7, wobei beim Schritt des Ermittelns eines Aktivitätswerts – die Senderate des Benutzers intervallbasiert gemessen wird, – ein Quotient aus der Senderate geteilt durch die Referenzrate gebildet wird, – und basierend auf diesem Quotienten der Aktivitätswert berechnet wird, vorzugsweise durch Berechnen eines Logarithmus aus dem Quotienten.Method according to claims 1 to 7, wherein at the step of determining an activity value The user's transmission rate is measured interval-based, A quotient of the transmission rate divided by the reference rate is formed, - And based on this quotient of the activity value is calculated, preferably by calculating a logarithm of the quotient. Verfahren nach einem der vorhergehenden Ansprüche, – wobei beim Eintreffen eines Datenpakets am ersten Netzwerkknoten (100) vor dem Schritt des Ermittelns eines Aktivitätswerts das Datenpaket in eine Anzahl von weiteren Datenpaketen vorgegebener Länge aufgeteilt wird, – wobei alle weiteren Schritte mit den weiteren Datenpaketen durchgeführt werden.Method according to one of the preceding claims, - wherein upon arrival of a data packet at the first network node ( 100 ) before the step of determining an activity value, the data packet is divided into a number of further data packets of predetermined length, - wherein all further steps are performed with the further data packets. Verfahren nach einem der vorhergehenden Ansprüche, – wobei beim Schritt des Zuweisens des Aktivitätswerts zu dem Datenpaket der Aktivitätswert in einen Kopf, Header oder Trailer des Datenpakets geschrieben wird.Method according to one of the preceding claims, Wherein, in the step of assigning the activity value to the data packet, the activity value is written to a header, header or trailer of the data packet. Verfahren nach einem der vorhergehenden Ansprüche, – wobei der erste Netzwerkknoten (100) als Zugangsknoten für die Benutzer ausgebildet ist.Method according to one of the preceding claims, - wherein the first network node ( 100 ) is designed as an access node for the user.
DE102015111438.0A 2015-07-15 2015-07-15 Method for transporting data packets Expired - Fee Related DE102015111438B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015111438.0A DE102015111438B3 (en) 2015-07-15 2015-07-15 Method for transporting data packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015111438.0A DE102015111438B3 (en) 2015-07-15 2015-07-15 Method for transporting data packets

Publications (1)

Publication Number Publication Date
DE102015111438B3 true DE102015111438B3 (en) 2016-10-27

Family

ID=57110765

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015111438.0A Expired - Fee Related DE102015111438B3 (en) 2015-07-15 2015-07-15 Method for transporting data packets

Country Status (1)

Country Link
DE (1) DE102015111438B3 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021100455A1 (en) 2021-01-13 2022-07-14 Audi Aktiengesellschaft Adjustment unit and adjustment device for adjusting a relative position of components mounted against one another

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040057376A1 (en) * 2000-02-08 2004-03-25 Gyorgy Sasvari Communications system
US20080101354A1 (en) * 2006-10-31 2008-05-01 Arndt Manfred R Packet processing
US20080186918A1 (en) * 2006-12-05 2008-08-07 Qualcomm Incorporated Method and system for reducing backhaul utilization during base station handoff in wireless networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040057376A1 (en) * 2000-02-08 2004-03-25 Gyorgy Sasvari Communications system
US20080101354A1 (en) * 2006-10-31 2008-05-01 Arndt Manfred R Packet processing
US20080186918A1 (en) * 2006-12-05 2008-08-07 Qualcomm Incorporated Method and system for reducing backhaul utilization during base station handoff in wireless networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STOICA, I. [u.a.]: Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High-Speed Networks. In: IEEE, 2003, S.33-46. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021100455A1 (en) 2021-01-13 2022-07-14 Audi Aktiengesellschaft Adjustment unit and adjustment device for adjusting a relative position of components mounted against one another
WO2022152441A1 (en) 2021-01-13 2022-07-21 Audi Ag Adjustment unit and adjustment device for adjusting the relative position of components supported against one another

Similar Documents

Publication Publication Date Title
DE60313037T2 (en) Flow control in network units
DE69937537T2 (en) Monitoring of Internet disparate services for transaction usages
DE602004004831T2 (en) A method and apparatus for scheduling packets on a network connection with an input-rate-based priority
EP1451980B1 (en) Method for transmitting data of applications with different quality
DE69818846T2 (en) PACKET NETWORK
DE69927252T2 (en) On the monitoring of buffer occupancy based planning of network capacity
DE3780799T2 (en) ARRANGEMENT FOR OVERLOAD CONTROL BY BANDWIDTH MANAGEMENT FOR PACKET SWITCHING SYSTEM.
DE69833928T2 (en) Network bandwidth control
DE19983404B4 (en) Method and apparatus for use in setting a TCP sliding window
DE60317837T2 (en) Method and system for measuring load and capacity on a variable capacity channel
DE69930992T2 (en) A method and computer program product for efficiently and securely transmitting small data messages from a sender to a large number of receiving systems
DE60217361T2 (en) Method and system for overload control in a communication network
DE602005002006T2 (en) Method and apparatus for determining the available bandwidth in a data packet network
DE112019002669T5 (en) DATA TRAFFIC DESIGN ON PLCA-CAPABLE 10SPE NETWORKS
DE60306723T2 (en) Queue system for Diffserv router with multiple operating modes
DE112016002847T5 (en) Quality of service in a wireless backhaul
DE60125901T2 (en) Approximation of Weighted Random Early Detection Buffer Entry Algorithm
DE602004010224T2 (en) Traffic control device and corresponding service system
DE102012207929A1 (en) A method of transmitting data in a packet-oriented communication network and appropriately configured user equipment on the communication network
DE69921183T2 (en) CORDLESS PARTNER CONNECTION SYSTEM AND USEFUL METHOD FOR THIS
DE102015111438B3 (en) Method for transporting data packets
DE602004001605T2 (en) Improvement of Early Randomly Dropping Data Packages (RED)
DE202009019134U1 (en) Technology for regulating link traffic
DE602005003906T2 (en) System and method for providing differentiated service qualities
DE102018202902A1 (en) Dynamic TCP proxy selection for speeding up short network flows

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012833000

Ipc: H04L0012823000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012823000

Ipc: H04L0047320000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee