EP1616414A2 - Method and device for controlling data packet traffic at the input of a network - Google Patents

Method and device for controlling data packet traffic at the input of a network

Info

Publication number
EP1616414A2
EP1616414A2 EP04742535A EP04742535A EP1616414A2 EP 1616414 A2 EP1616414 A2 EP 1616414A2 EP 04742535 A EP04742535 A EP 04742535A EP 04742535 A EP04742535 A EP 04742535A EP 1616414 A2 EP1616414 A2 EP 1616414A2
Authority
EP
European Patent Office
Prior art keywords
tokens
priority level
network
token
packets
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.)
Withdrawn
Application number
EP04742535A
Other languages
German (de)
French (fr)
Inventor
Gérard Babonneau
Wissem Loudhaief
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of EP1616414A2 publication Critical patent/EP1616414A2/en
Withdrawn legal-status Critical Current

Links

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/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

Definitions

  • the field of the invention is that of communication networks, and in particular but not exclusively of networks of IP type or equivalent. More specifically, the invention relates to a method for controlling traffic of data packets entering a network, in the case where the traffic comprises a plurality of streams and / or substreams each associated with a priority level , and where each of the packets is marked with the priority level associated with the stream or substream to which this packet belongs. In other words, the invention relates to a network mechanism making it possible to optimize the flow of incoming traffic on a network.
  • the invention has numerous applications, such as for example the control of multimedia streams (for example MPEG streams), alone or by aggregates, or even the control of a multiplex of streams of different natures (for example a video stream / multiplex audio with a TCP stream, on an ADSL access).
  • multimedia streams for example MPEG streams
  • aggregates for example a video stream / multiplex audio with a TCP stream, on an ADSL access.
  • a multiplex of streams of different natures for example a video stream / multiplex audio with a TCP stream, on an ADSL access.
  • TCP Transmission Control Protocol
  • TCP Transmission Control Protocol
  • session level control the protocol parameters make it possible to detect possible congestion, and to adapt the bit rate of the source to the constraints of the network. The objective is then to limit the speed if the network cannot handle everything, and to avoid sending packets which will be lost.
  • Many studies today seek to apply equivalent mechanisms to video streams, with the real-time constraint of a dynamic adaptation of coders to the available bit rate.
  • the real-time and audiovisual protocols currently do little processing, and are mainly limited to marking the transmission time and the encapsulation of packets of the application for their routing in the IP layer (for example RTP / UDP), in charge of the applications to cope with the received data.
  • IP layer for example RTP / UDP
  • IntServ defines means for reserving a resource with guaranteed speed between two nodes of a network
  • DiffServ defines means for dynamically controlling the flow of flow aggregates as a function of the network load. Compared with end-to-end solutions (analogous to TCP) solutions located in routers have several advantages:
  • Processing in routers is based on a distinction between packets arriving in routers supporting “quality of service” (QoS, “Quality of Service”) mechanisms.
  • QoS quality of service
  • the size of the images P is generally much smaller than that of the images I, and coding with few I images makes it possible to obtain, at equivalent bit rate, a much higher decoding quality. Under these conditions, the loss of an image is not equivalent depending on the nature of the information it contains. This structure of information must lead to considering the importance or the weight of each piece of information in its processing by the network. There are two reasons for keeping images I:
  • Another way of considering this weight of information is to split an MPEG4 stream into several hierarchical levels to obtain a variable quality according to the overall content received by the user.
  • a hierarchical level N must be supported on the presence of the Nl lower levels to provide additional quality.
  • An elementary case is to consider a video made up of a basic stream (containing I and P images) and of an enhancement stream (containing P and B images). For this elementary case, the basic flow as a whole is considered to have higher priority than the enhancement flow.
  • ADSL Asymmetry Digital Subscriber Line
  • bursts are the most important information because they correspond to a change of scene or at least to a significant change in the content of the image. Very often, these images are of type I (Intra) whose loss is very critical, because it becomes impossible to reproduce the following images, even if the latter are correctly received.
  • I Intra
  • Traffic shaping and conditioning mechanisms are used in “quality of service” (QoS) IP networks.
  • QoS quality of service
  • TSPEC Traffic Specifier
  • Traffic specification Traffic smoothing
  • Traffic smoothing (TS) algorithms are however widely used in coding in order to control the bit rate of coders. This remains insufficient to control flows at the network level.
  • TS Smoothing smoothes the bursts by “buffering” (that is to say by buffering) the packets concerned by the excess of bursts in the border equipment of the network. It can reduce congestion to acceptable levels, especially that scheduling algorithms such as CBQ (“Class Based Queuing” ie “management of queues based on service classes) ”) Or PQ (“ Priority Queuing ”that is to say“ queue management by priorities ”) are not able to do this. Used alone, these mechanisms propagate bursts in the network.
  • CBQ Class Based Queuing
  • PQ Priority Queuing
  • traffic rule control limits the traffic rate to the configured rate. But instead of "buffering" packets like smoothing (TS), non-compliant packets are either rejected or noticed to lower their priorities. Traffic rule control (TP) therefore does not smooth traffic, but it does not introduce a "buffering" delay either.
  • the network service provider (NSP) is not required to treat MPEG streams differently.
  • the traffic aggregate resulting from several audio-visual streams is generally difficult to describe: - the packet arrival process is self-similar;
  • the media access gateway (MAG, for “Media Access Gateway”) is for example responsible for this task.
  • This MAG gateway manages traffic according to the specified SLS. This approach facilitates the negotiation of SLA / SLS for services in continuous mode (“Streaming”) and imposes on the client a very specific traffic profile.
  • the WRED Weighted Random Early Drop
  • This mechanism is based on an average filling rate of the transmission queue on a network link.
  • this technique introduces a random nature of packet rejections, and the filling rate of the queue is not optimized. Depending on the size of the bursts and their frequency, these rejections can occur for a low filling or a very high filling of the queue. This leads on the one hand to an underuse of the queue, and on the other hand to the reservation of consequent memory size for the realization of this queue. This problem exists for any type of application, and it is even more real for audiovisual streams because of their large bursts.
  • the WRED mechanism is therefore not suitable for controlling flows characterized by an average value over a fixed duration.
  • the invention particularly aims to overcome these drawbacks of the prior art and offer an optimal solution in the event of network congestion.
  • one of the objectives of the present invention is to provide a method and a device for traffic control making it possible to control gusts and to smooth traffic over a set of flows and / or substreams associated with levels of priorities.
  • an objective of the present invention is to provide a method and a device for traffic control making it possible to protect the important information from the bursts, in order to provide a solution to the contradiction between the optimization of a stream (for example a video stream) containing bursts and smoothing the bursts for quality transport in the network.
  • a stream for example a video stream
  • the invention also aims to provide such a method and device which are simple to implement and inexpensive.
  • Another objective of the invention is to provide such a method and device making it possible to efficiently offer traffic contracts (SLA / SLS) between network operators and service providers.
  • SLA / SLS traffic contracts
  • a method for controlling a traffic of data packets entering a network comprising N stream and / or substream each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or substream to which said packet belongs, said method comprising an implementation step an N-level token bucket mechanism with N token buffers each containing a number of available tokens, the tokens of each of the N token buffers being used to process one of the N levels of priority, each packet being accepted or refused depending on whether or not it is possible to allocate tokens according to it tokens available at least in the token buffer used to process the priority level of said packet.
  • the general principle of the invention therefore consists in using a multi-level token bucket (MLTB, for “Multi Layer Token Bucket”) to reject packets outside a required profile and characterized by the N operating levels of the bucket multi-level tokens.
  • MLTB multi-level token bucket
  • Each packet undergoes processing according to a marking corresponding to its priority level. Accepted packets are placed in a queue.
  • the multi-level token bucket makes it possible to selectively and jointly process several levels of flow priorities. It is well suited to characterizing traffic between the size of incoming gusts and the flow of outgoing traffic. We know that in the event of network congestion, it is illusory to seek available bandwidth.
  • the adjustment of the parameters of the multi-level token bucket ensures a relationship between the priority levels to balance the operating constraints between the flow rates by priority levels and the bursts acceptable by the token bucket according to the constraints of the transported applications.
  • the characterization of the parameters of the N sets of parameters of the multi-level token bucket allows numerous solutions and can be adapted to almost all operating cases:
  • an extreme case is the behavior with N sets of independent parameters acting like buckets with independent tokens;
  • another extreme case is the possibility for the highest priority level to take all the tokens and result in a rejection of the packets from all the other levels;
  • the invention therefore makes it possible to process bursts on the highest priority levels, because there is for each priority level a reserve available to prevent any sudden arrival of a set of data which must not be rejected.
  • a usual token bucket has only one operating level (it has a single set of parameters) and therefore processes all packets indiscriminately. Packets are therefore dropped in the event of network congestion regardless of their priority level.
  • the present invention is fully compatible with IP streams “unicast” (single recipient) and “multicast” (selectively broadcast). It will also be noted that the present invention makes it possible to transmit several groups of flows with different priorities in the same class of service.
  • the invention makes it possible to provide processing adapted to one or a group of video streams (IPB or hierarchical) in accordance with a contracted traffic profile (SLS) by characteristic values of the token bucket type.
  • SLS traffic profile
  • the easily measurable and adaptable parameters of a multi-level token bucket (MLTB) are an effective means of proposing traffic contracts (SLA / SLS) between network operators and service providers. The presence of priority information leads to the specification of this bucket.
  • the multiple versions of this bucket are a means of offering classes of services adapted to customer requirements.
  • the traffic profile involves the main elements of characterization of a flow in a network: the speed and the delay.
  • the invention is therefore a means of defining a contract with a negotiated compromise between the speed, the size of the bursts, and the transmission time.
  • the traffic comprises N sub-flows each corresponding to one of the N hierarchical levels of a hierarchical flow or of an aggregate of hierarchical flows.
  • the traffic comprises N sub-streams each corresponding to one of the N types of images of a multimedia stream or of an aggregate of multimedia streams.
  • the traffic comprises N streams each corresponding to one of the stream of a multiplex of at least two streams.
  • This is for example a multiplex video / audio stream with a TCP stream, on an ADSL access.
  • the traffic comprises N flows and / or substreams belonging to the same class of service.
  • the invention thanks to the multi-level token bucket, makes it possible to transmit several flows and / or sub-flows with different priorities in the same service class.
  • service classes such as for example the "streaming" class (containing audio and video streams, the "priority TCP” class, the "Best IP network effort” class, ...) and use a bucket with multi-level token for each class.
  • Each class of service can be defined by marking packets, by the source or destination IP address of the packets, by the protocol used for the packets, etc.
  • the refused packets are discarded.
  • the packets refused are those which do not comply with the traffic profile defined by the parameters of the N operating levels of the multi-level token bucket.
  • Another option, less efficient but which nevertheless falls within the scope of the present invention, is to transmit the refused packets after having marked them again with a lower priority level.
  • this option has the disadvantage of increasing the probability of packet rejection in congested network nodes.
  • the network is of IP type or equivalent.
  • each of the N operating levels of the token bucket mechanism is managed by a regulator bi (r b b ⁇ i;), i G ⁇ 1 to N ⁇ , with: r j the nominal flow rate of the regulator; - bn; the maximum size of the controller token buffer; bi (t) the instantaneous value of the filling of the regulator token buffer.
  • the tokens of the N token buffers are shared between the N priority levels, a packet of priority level i being able to be allocated tokens of a token buffer associated with a priority level j less priority when the tokens available in the token buffer of priority level i are not sufficient.
  • the allocation of tokens to a packet of priority level i is carried out according to a discontinuous mode per packet and consists in assigning: either tokens available in the token buffer memory of priority level i; - or tokens available in a token buffer of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
  • a packet can use resources (tokens) only on one level of operation of the multi-level token bucket.
  • the allocation of tokens to a packet of priority level i is carried out in a continuous mode per bit and consists in allocating: tokens available in the buffer of level tokens of priority i; and in addition to the tokens available in at least one buffer of tokens of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
  • a packet in the continuous mode, can use the resources (tokens) of several operating levels of the multi-level token bucket at a time.
  • the packets accepted by the token bucket mechanism with N operating levels are placed in a queue.
  • the method further includes a step of implementing a token bucket mechanism at a single level of operation with a single token buffer, so as to take the packets contained in the queue and send them over the network by performing traffic smoothing by limiting the instantaneous speed to a value acceptable by the network .
  • the single-level token bucket (TBTS, for “Token
  • Bucket Traffic Shaper therefore makes it possible to limit the peak bit rates emitted by the network equipment supporting the invention. It delays gusts when they exceed the tolerated flow in the network.
  • the invention also relates to a computer program comprising program code instructions for executing the steps of the method as mentioned above, when said program is executed on a computer.
  • the invention also relates to a device for controlling a traffic of data packets entering a network, the traffic comprising N streams and / or substreams each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or sub-stream to which said packet belongs, said device comprising means for implementing a token bucket mechanism with N operating levels with N token buffer memories each containing a number of tokens available, the tokens of each of the N token buffer memories being used to process one of the N priority levels, each of the packets being accepted or refused according to whether or not it is possible to assign tokens to it according to the tokens available at least in the token buffer memory used to process the priority level of said packet.
  • said method comprises means for sharing the tokens of the N token buffer memories between the N priority levels, a packet of priority level i being able to be allocated tokens from a token buffer associated with a lower priority level j when the tokens available in the token buffer of priority level i are not sufficient.
  • said sharing means comprise means for guaranteeing a quantity of tokens reserved exclusively for packets having said priority level.
  • the invention also relates to network equipment comprising a control device as mentioned above, said network equipment belonging to the group comprising: network equipment located between a network of an application or service provider and a network of a provider of 'a network service, constituting said network at the input of which is carried out the control of a data packet traffic; - routers included in nodes of a network of a network service provider, constituting said network at the input of which is carried out the control of a traffic of data packets
  • FIG. 1 presents an example of network architecture in which the traffic control method according to the invention can be implemented
  • FIG. 2 illustrates a particular embodiment of the method according to the invention, implementing two functions, based on the use respectively of a multi-level token bucket and a single-level token bucket
  • FIG. 3 illustrates a regulator managing an operating level of the multi-level token bucket illustrated in FIG. 2, as well as the use in this regulator of a parameter K j guaranteeing a minimum of resource for the priority level associated with this regulator;
  • FIG. 1 presents an example of network architecture in which the traffic control method according to the invention can be implemented
  • FIG. 2 illustrates a particular embodiment of the method according to the invention, implementing two functions, based on the use respectively of a multi-level token bucket and a single-level token bucket
  • FIG. 3 illustrates a regulator managing an operating level of the multi-level token bucket illustrated in FIG. 2, as well as the use in this regulator of a parameter K j guaranteeing a minimum of resource for the priority level associated with this regulator
  • FIG. 4 illustrates an example of allocation of tokens in the case where the operation of the multi-level token bucket is described with independent buffer memories (buffers);
  • FIG. 5 illustrates an example of allocation of tokens in the case where the operation of the multi-level token bucket is described with correlated buffers.
  • the invention therefore relates to a method for controlling data packet traffic entering a network.
  • the traffic is of the type comprising N streams and / or substreams each associated with a priority level, with N> 2.
  • Each of the packets is marked with the priority level associated with the stream or substream to which it belongs.
  • the invention makes it possible to transmit, as a priority, the essential information of a video stream, or of several video streams grouped in an aggregate.
  • this distinction is for example possible either by IBP type images (see definition above), or by the n layers of a hierarchical flow. If in the first case the average bit rate of the images I remains low compared to the global bit rate, in the second case the most important information and to be protected as much as possible is defined by the fraction of the global bit rate occupied by the base layer, and which can represent up to 50% of the flow. In general, the base layer is the only one to contain the reference information contained in the images I.
  • all data with the same priority level is treated the same.
  • all basic streams or all I frames are treated as a single higher bit rate stream than a single video.
  • Internet Service provider offering a streaming video transmission service.
  • the example of (simplified) architecture illustrated in Figure 1 includes:
  • IP network of type "DiffServ” an IP network of type "DiffServ" 1, managed by a network operator (also called network service provider, or NSP (for "Network service
  • Each network of service providers 3, 4 also comprises end equipment 8 , 9 connected to one of the routers on the IP network, called the edge router 2 , which is responsible for sending data from a server to a main route of an IP core network;
  • the method according to the invention is implemented in network equipment forming a traffic conditioner for entry into the IP network 1.
  • This network equipment can be located between the network of the service provider 3, 4 and the IP network 1 :
  • the network equipment implementing the method according to the invention can also be any router placed at a congestion point in the network (in particular for any access to an ADSL link).
  • FIG. 2 a particular embodiment of the method according to the invention. It protects important information from bursts and provides solutions to the contradiction between optimizing a video stream containing bursts and smoothing the bursts for quality transport in the network.
  • the overall mechanism forms a “multi-layer decentralized traffic conditioner” called “MLDTC” (for “Multi-Layers Decentralized Traffic Conditioner”). It consists of two functions executed sequentially:
  • MLTR Multi-Layers Traffic Regulator
  • N operating levels
  • N buffers of virtual tokens Each token buffer corresponds to a hierarchical level. Each operating level is defined by a set of parameters (see detailed discussion below).
  • TBTS for “Token Bucket Traffic Shaper” because it is based on a single-level token bucket algorithm (“Token Bucket”) (referenced 31) and performs a smoothing of the traffic for a regular flow on the network by limiting the instantaneous flow to a value acceptable by the network.
  • the TBTS function buffer is of reasonable capacity to guarantee a lower cost of the systems and a limited transfer time in the supply of information to the user.
  • the counterpart of the finite size is the limitation of the bursts accepted at the input of the network.
  • the MLTR function is adapted to the differentiated acceptance of bursts according to the priority level. It applies to IP packets (referenced 20 to 26 in Figure 2) whose DSCP (“Differentiated Services Code point”) field is marked either by the source or by a classification system.
  • Each priority level i has its own parameters, for a single buffer, common to the 3 levels, but with varying levels of acceptance of data packets. This mechanism meets the expectations of a video signal, since it does not process all information uniformly. Indeed, it is recalled that an MPEG coding results in several levels of information which should be treated differently according to their importance.
  • the objective is to favor the bursts of a level i compared to a level j, whose information is less important (j> i).
  • the packets relating to level i then have priority to exploit the available resources.
  • the same average bit rate is obtained for different burst sizes, and taking into account the interval separating them.
  • Such a mechanism is well suited to bursts of video streams, which are variable, due to the great diversity of content transported (sports, news, landscapes, ).
  • each operating level i of the token bucket with three operating levels 30 is managed by a regulator bj, bm ; ), i E ⁇ 1, 2, 3 ⁇ , with: - the nominal flow of this regulator;
  • Compliant packets i.e. those to which it has been possible to allocate tokens by the multi-level bucket 30
  • a buffer of packets to be sent 28 which forms a means of managing a queue wait. If an insufficient number of tokens is available in the multi-level bucket, the packets are then considered as non-compliant and are discarded. They are thrown in the trash referenced 27.
  • Another option is to transmit these packets with a lower priority. However, re-marking packets to give them a lower priority increases the probability of packet rejection in congested nodes.
  • a packet of priority level i can be allocated tokens from a token buffer associated with a priority level j of lower priority (j> i) when the tokens available in the buffer of level tokens of priority i are not sufficient.
  • the solution is to limit this borrowing by a parameter K j , specific to level j, the objective of which is to protect the latter from higher priority levels by guaranteeing a quantity of resources (tokens) reserved exclusively for packets of level j. Consequently, the parameter K j guarantees a threshold for filling the token buffers below which packets of a higher priority level can no longer be used.
  • the parameter K j of the level regulator j is illustrated in Figure 3.
  • K j The value of K j must be chosen such that bmj> K j > MTU.
  • K j is adapted to the useful size of a packet on the network (MTU (“Maximum Transfer Unit”, ie “maximum size of an elementary transfer unit”) for a network IP) corresponds to a guarantee of the nominal flow rate r j for level j but without guarantee of gusts. Token resources could be used by higher priority levels.
  • MTU Maximum Transfer Unit
  • FIG. 4 is a graphic representation of this token allocation algorithm in the case where the operation of the multi-level token bucket is described with independent buffers. It shows the possible use of the resources b t , b 2 and b 3 for each of the levels.
  • the thick lines (referenced 41, 42 and 43) show the filling of the token buffers (that is to say the number of tokens available) for each level, and the arrows the resources (that is to say tokens) taken by incoming packets (PI, P2 or P3) according to their priority.
  • B x ⁇ t + T) b x (t) + b 2 (t) + b 3 (t) + (r x + r 2 + r 3 ) l
  • B 2 (t + ⁇ ) b 2 ( ⁇ + b 3 (t) + (r 2 + r 3 ) TB 3 (t + T) ⁇ b 3 (t) + r 3 .T
  • FIG. 5 is a graphic representation of the token allocation algorithm in the case where the operation of the multi-level token bucket is described with correlated buffers. It shows the possible use of resources B ,, B 2 and B 3 for each of the levels. As in Figure 4, the thick lines (referenced 51, 52 and 53) show the filling of the token buffers (that is to say the number of tokens available) for each level, and the arrows the resources (i.e. tokens) taken by incoming packets (PI, P2 or P3) according to their priority.
  • a packet can only use one regulator
  • a packet can use several regulators at the same time.
  • the taking into account of the arrival of the packet is obtained by the following algorithm:
  • a packet is served by the resources of the level corresponding to the packet (level i) or of a lower priority level (level j). It should be noted that this operation is not optimal, since an incoming packet is rejected even if the sum of the available resources distributed over the 3 levels is sufficient.
  • the taking into account of the arrival of the packet is obtained by the following algorithm: shipment;
  • bits is more optimal than the discontinuous mode (packets). Indeed, it allows maximum use of own resources of the level before requesting resources at a lower priority level.
  • the single-level token bucket 31, on which this SELV function is based is for example defined by the following parameters:
  • - S the instantaneous value of filling the packet buffer 28 (S max is the maximum size of the packet buffer 28); - T, the time between the arrival of two consecutive packets;
  • Compliant packets i.e. those to which it was possible to allocate tokens by the single-level bucket 31
  • non-compliant packets are transmitted while non-compliant packets are delayed in the packet buffer 28 to contain them in the targeted traffic envelope.
  • the size of the packet buffer 28 should be handled with care because it can induce an additional delay, which must remain reasonable.

Landscapes

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

Abstract

The invention relates to a method of controlling data packet traffic at the input of a network, whereby the traffic comprises N streams and/or substreams which are each associated with a priority level, N = 2, and each of the aforementioned packets is marked with the priority level associated with the stream or substream to which said packet belongs. The inventive method comprises a step employing a token bucket mechanism with N operating levels and N token buffers each containing a number of available tokens, the tokens of each of the N token buffers being used to process one of the N priority levels. Moreover, each of the packets is accepted or refused according to whether or not it is possible for same to be attributed tokens depending on the tokens available at least in the token buffer which is used to process the priority level of each packet. In one particular embodiment of the invention, the tokens from the N token buffers are shared between the N priority levels, and a packet with priority level i can be attributed tokens from a token buffer which is associated with priority level j, said level having less priority, when there are not sufficient tokens available in the i priority level token buffer.

Description

Procédé et dispositif de contrôle d'un trafic de paquets de données en entrée d'un réseau, programme d'ordinateur et équipement réseau correspondants. Method and device for controlling data packet traffic entering a network, computer program and corresponding network equipment.
Le domaine de l'invention est celui des réseaux de communication, et notamment mais non exclusivement des réseaux de type IP ou équivalents. Plus précisément, l'invention concerne un procédé de contrôle d'un trafic de paquets de données en entrée d'un réseau, dans le cas où le trafic comprend une pluralité de flux et/ou sous-flux associés chacun à un niveau de priorité, et où chacun des paquets est marqué avec le niveau de priorité associé au flux ou sous-flux auquel appartient ce paquet. En d'autres termes, l'invention concerne un mécanisme réseau permettant d'optimiser l'écoulement d'un trafic entrant sur un réseau.The field of the invention is that of communication networks, and in particular but not exclusively of networks of IP type or equivalent. More specifically, the invention relates to a method for controlling traffic of data packets entering a network, in the case where the traffic comprises a plurality of streams and / or substreams each associated with a priority level , and where each of the packets is marked with the priority level associated with the stream or substream to which this packet belongs. In other words, the invention relates to a network mechanism making it possible to optimize the flow of incoming traffic on a network.
L'invention a de nombreuses applications, telles que par exemple le contrôle de flux multimédia (par exemple des flux MPEG), seuls ou par agrégats, ou encore le contrôle d'un multiplex de flux de différentes natures (par exemple un flux vidéo/audio multiplexe avec un flux TCP, sur un accès ADSL). On présente maintenant brièvement le contexte réseau dans lequel se situe la présente invention.The invention has numerous applications, such as for example the control of multimedia streams (for example MPEG streams), alone or by aggregates, or even the control of a multiplex of streams of different natures (for example a video stream / multiplex audio with a TCP stream, on an ADSL access). We now briefly present the network context in which the present invention is situated.
L'augmentation des performances des ordinateurs ainsi que les débits offerts par les nouvelles générations de réseaux ouvrent la voie à de nouveaux services basés sur les flux multimédias. De fait, le nombre d'informations audiovisuelles transmises sur les réseaux (par exemple de type IP (« Internet Protocol »)) croît sans cesse, et les algorithmes de compression (par exemple de type MPEG (« Moving Picture Experts Group »)) s'améliorent, offrant une qualité meilleure avec des débits plus faibles. Cependant, aujourd'hui le niveau de qualité n'est pas toujours acceptable. Si chaque maillon de la chaîne a les capacités intrinsèques pour fournir cette qualité, leur mise bout à bout et le partage des ressources réseau IP par de nombreux usagers aboutissent parfois à des résultats médiocres.The increase in computer performance as well as the speeds offered by new generations of networks open the way to new services based on multimedia streams. In fact, the number of audiovisual information transmitted over networks (for example of the IP type ("Internet Protocol")) is constantly increasing, and the compression algorithms (for example of the MPEG type ("Moving Picture Experts Group")) improve, providing better quality with lower flow rates. However, today the level of quality is not always acceptable. If each link in the chain has the intrinsic capacities to provide this quality, putting them end to end and the sharing of IP network resources by many users sometimes lead to poor results.
D'une manière générale, la transmission d'informations dans un réseau IP s'appuie sur la couche transport pour un contrôle de la qualité entre la source et les récepteurs. Cette couche, située entre le routage et les applications, est réalisée traditionnellement par le protocole TCP (« Transmission Control Protocol »). D'un point de vue application, TCP se charge de retransmettre les informations perdues ou mal reçues, par un contrôle au niveau de la session. D'un point de vue réseau, certains paramètres du protocole permettent de déceler des possibles congestions, et d'adapter le débit de la source aux contraintes du réseau. L'objectif est alors de limiter le débit si le réseau ne peut pas tout écouler, et d'éviter d'envoyer des paquets qui seront perdus. De nombreuses études cherchent aujourd'hui à appliquer des mécanismes équivalents aux flux vidéo, avec la contrainte temps réel d'une adaptation dynamique des codeurs au débit disponible.In general, the transmission of information in an IP network relies on the transport layer for quality control between the source and the receivers. This layer, located between the routing and the applications, is traditionally carried out by the TCP protocol (“Transmission Control Protocol”). From an application point of view, TCP takes care of retransmitting lost or bad information received, by session level control. From a network point of view, certain protocol parameters make it possible to detect possible congestion, and to adapt the bit rate of the source to the constraints of the network. The objective is then to limit the speed if the network cannot handle everything, and to avoid sending packets which will be lost. Many studies today seek to apply equivalent mechanisms to video streams, with the real-time constraint of a dynamic adaptation of coders to the available bit rate.
Mais en raison du temps important de réaction entre un ou plusieurs clients et la source vidéo, les protocoles temps réel et audiovisuels ne font actuellement que peu de traitements, et se limitent principalement au marquage du temps d'émission et à l'encapsulation des paquets de l'application pour leur routage dans la couche IP (par exemple RTP/UDP), à charge des applications de se débrouiller avec les données reçues.But due to the significant reaction time between one or more clients and the video source, the real-time and audiovisual protocols currently do little processing, and are mainly limited to marking the transmission time and the encapsulation of packets of the application for their routing in the IP layer (for example RTP / UDP), in charge of the applications to cope with the received data.
L'évolution des réseaux offre la possibilité de gérer la « qualité de service »The evolution of networks offers the possibility of managing "quality of service"
(QoS) dans les routeurs. Or, il est pertinent de remarquer que c'est le lieu où se produisent la plupart des pertes des réseaux IP, et des mécanismes sont mis en oeuvre à ce niveau pour traiter sélectivement les différents flux en vue d'assurer au mieux des objectifs de qualité. Les moyens déployés pour améliorer la qualité des flux transmis sont l'objet des travaux des groupes « IntServ » (pour « integrated services », c'est-à-dire « intégration de services ») et « DiffServ » (pour « differentiated services », c'est-à-dire « services différenciés ») à l'IETF (Internet Ingineering Task Force) :(QoS) in routers. However, it is relevant to note that this is the place where most of the losses of IP networks occur, and mechanisms are implemented at this level to selectively process the different flows in order to best ensure the objectives of quality. The means deployed to improve the quality of the flows transmitted are the subject of the work of the “IntServ” (for “integrated services”, ie “integration of services”) and “DiffServ” (for “differentiated services”) groups. ”, That is to say“ differentiated services ”) at the IETF (Internet Engineering Task Force):
- « IntServ » définit des moyens pour réserver une ressource en débit garantie entre deux nœuds d'un réseau ;- “IntServ” defines means for reserving a resource with guaranteed speed between two nodes of a network;
- « DiffServ » définit des moyens pour contrôler dynamiquement le débit d'agrégats de flux en fonction de la charge du réseau. En comparaison avec les solutions de bout en bout (analogues à TCP) les solutions localisées dans les routeurs ont plusieurs avantages :- "DiffServ" defines means for dynamically controlling the flow of flow aggregates as a function of the network load. Compared with end-to-end solutions (analogous to TCP) solutions located in routers have several advantages:
- elles s'affranchissent de toute contrainte de session ;- they are free from any session constraints;
- elles sont aussi adaptées au temps réel, car leur action dans les routeurs est immédiate sans nécessiter de retour d'informations en provenance des usagers ; - elles sont donc naturellement adaptées à la diffusion sélective (« multicast »), car indépendantes du nombre d'usagers alimentés par le flux et indépendantes de rapports en provenance d'un nombre variable d'usagers.- they are also adapted to real time, because their action in the routers is immediate without requiring feedback from users; - They are therefore naturally suitable for selective broadcasting (“multicast”), since they are independent of the number of users fed by the flow and independent of reports from a variable number of users.
Les traitements dans les routeurs s'appuient sur une distinction des paquets arrivant dans les routeurs supportant des mécanismes de « qualité de service » (QoS, pour « Quality of Service »).Processing in routers is based on a distinction between packets arriving in routers supporting “quality of service” (QoS, “Quality of Service”) mechanisms.
Cette distinction existe naturellement dans les flux MPEG, car la compression des flux vidéo MPEG aboutit à une suite de données de natures différentes et non indépendantes. On distingue trois types d'images : I, P et B. Les images de type I (Intra), sont chacune codées sans faire référence à une autre image, la compression étant limitée à la réduction des redondances spatiales au sein de chaque image. Pour optimiser la quantité d'informations transmises, les codeurs MPEG exploitent le fait que deux images consécutives sont peu différentes en général. Une détection de mouvement ne considère que la partie qui vient de changer par rapport à l'image précédente pour obtenir une information de taille réduite codée dans une image de type P (Prédite).This distinction naturally exists in MPEG streams, because the compression of MPEG video streams results in a series of data of different natures and not independent. There are three types of images: I, P and B. Type I (Intra) images are each coded without reference to another image, compression being limited to the reduction of spatial redundancies within each image. To optimize the amount of information transmitted, MPEG coders exploit the fact that two consecutive images are generally little different. A motion detection only considers the part which has just changed with respect to the previous image to obtain information of reduced size coded in a P-type image (Predicted).
D'autres moyens permettent d'obtenir une information encore plus réduite en interpolant les mouvements entre deux images de type I ou P ; ces images sont alors de type B (Bidirectionnelle).Other means make it possible to obtain even more reduced information by interpolating the movements between two type I or P images; these images are then type B (Bidirectional).
La taille des images P est beaucoup plus petite en général que celle des images I, et un codage avec peu d'images I permet d'obtenir, à débit équivalent, une qualité de décodage bien supérieure. Dans ces conditions, la perte d'une image n'est pas équivalente en fonction de la nature de l'information qu'elle contient. Cette structure de l'information doit conduire à considérer l'importance ou le poids de chaque information dans son traitement par le réseau. Deux raisons justifient la conservation d'images I :The size of the images P is generally much smaller than that of the images I, and coding with few I images makes it possible to obtain, at equivalent bit rate, a much higher decoding quality. Under these conditions, the loss of an image is not equivalent depending on the nature of the information it contains. This structure of information must lead to considering the importance or the weight of each piece of information in its processing by the network. There are two reasons for keeping images I:
- la re-synchronisation périodique du flux en cas de pertes ;- periodic re-synchronization of the flow in the event of losses;
- tout changement de scène car il n'est plus possible de s'appuyer sur les images précédentes pour un codage de mouvement.- any change of scene because it is no longer possible to rely on the previous images for movement coding.
Une autre manière de considérer ce poids de l'information est la découpe d'un flux MPEG4 en plusieurs niveaux hiérarchiques pour obtenir une qualité variable en fonction du contenu global reçu par l'usager. Un niveau hiérarchique N doit s'appuyer sur la présence des N-l niveaux inférieurs pour apporter un complément de qualité. Un cas élémentaire est de considérer une vidéo constituée d'un flux de base (contenant des images I et P) et d'un flux de rehaussement (contenant des images P et B). Pour ce cas élémentaire, le flux de base dans sa globalité est considéré plus prioritaire que le flux de rehaussement.Another way of considering this weight of information is to split an MPEG4 stream into several hierarchical levels to obtain a variable quality according to the overall content received by the user. A hierarchical level N must be supported on the presence of the Nl lower levels to provide additional quality. An elementary case is to consider a video made up of a basic stream (containing I and P images) and of an enhancement stream (containing P and B images). For this elementary case, the basic flow as a whole is considered to have higher priority than the enhancement flow.
La distinction de nature des images ou des flux dans le trafic MPEG est à exploiter dans les routeurs « DiffServ » pour traiter sélectivement les différentes informations d'un flux vidéo :The distinction in the nature of images or streams in MPEG traffic should be used in the "DiffServ" routers to selectively process the different information in a video stream:
- soit par un marquage du champs TOS (« type of service », c'est-à-dire « type de service ») ou DSCP (« Differentiated Services Code Point », c'est-à-dire- either by marking the TOS (“type of service”, ie “type of service”) or DSCP (“Differentiated Services Code Point”, ie
« valeur de marquage pour services différenciés ») des paquets par le serveur vidéo,"Markup value for differentiated services") of packets by the video server,
- soit par une classification effectuée par le routeur, ce qui aboutit également à un marquage des paquets IP. Dans le présent document, on considère que le marquage des paquets est possible dans tous les cas. Les moyens de réaliser ce marquage sont considérés comme bien connus de l'homme du métier. Ils ne sont donc pas discutés en détail.- or by a classification carried out by the router, which also results in a marking of IP packets. In this document, we consider that the marking of packets is possible in all cases. The means of carrying out this marking are considered to be well known to those skilled in the art. They are therefore not discussed in detail.
Quand une situation de congestion apparaît dans un routeur, les paquets reçus sont éliminés en fonction de la charge et de leur niveau de priorité. Une caractéristique importante des données contenus dans ces paquets est leur variation importante en fonction du contenu de la scène. Or, les informations les plus critiques pour la restitution à l'usager sont contenues dans les rafales les plus importantes, et le problème principal des réseaux IP de type « Best effort » (c'est-à-dire sans garantie) est leur difficulté à laisser passer les rafales en cas de congestion. De ce fait, le simple marquage des flux élémentaires d'un flux MPEG n'est pas suffisant pour leur traitement optimal. En effet, les mécanismes « DiffServ » usuels sont prévus pour accepter des rafales que l'on trouve habituellement dans les réseaux IP, avec les applications qui sont majoritaires aujourd'hui : le transfert d'URL (« Uniform Resource Locator ») pour les applications WEB et les transferts de fichiers par FTP (« File Transport Protocol »). Toutes ces applications exploitent le protocole TCP dont les mécanismes ont fait l'objet de nombreuses études afin d'obtenir une montée en charge progressive, et une adaptation du débit en fonction de la charge du réseau.When a congestion situation appears in a router, the received packets are discarded according to the load and their priority level. An important characteristic of the data contained in these packets is their significant variation depending on the content of the scene. However, the most critical information for the restitution to the user is contained in the largest bursts, and the main problem of IP networks of the “Best effort” type (that is to say without guarantee) is their difficulty. to let the gusts pass in case of congestion. Therefore, the simple marking of the elementary streams of an MPEG stream is not sufficient for their optimal processing. Indeed, the usual "DiffServ" mechanisms are designed to accept bursts that are usually found in IP networks, with the applications that are in the majority today: the transfer of URLs ("Uniform Resource Locator") for WEB applications and file transfers by FTP ("File Transport Protocol"). All these applications use the TCP protocol, the mechanisms have been the subject of numerous studies in order to obtain a gradual increase in load, and an adaptation of the flow according to the load of the network.
Or, les flux vidéo remettent en cause ce fonctionnement car leur comportement est qualifié d'agressif, dans la mesure où ils ignorent généralement l'état et la charge du réseau. De plus, la plupart des mécanismes introduits dans les réseaux IP ont tous pour objectif le lissage des flux pour favoriser un bon écoulement du trafic. Paradoxalement, les codeurs fournissent une qualité meilleure quand ils produisent des flux à débit variable, qui sont les plus maltraités dans les réseaux IP.However, video streams question this functioning because their behavior is qualified as aggressive, insofar as they generally ignore the state and the load of the network. In addition, most of the mechanisms introduced into IP networks all have the objective of smoothing flows to promote a smooth flow of traffic. Paradoxically, coders provide better quality when they produce variable rate flows, which are the most abused in IP networks.
L'introduction de flux vidéo dans le réseau IP se heurte donc à trois contradictions :The introduction of video streams into the IP network therefore faces three contradictions:
- augmenter la qualité des codages, conduit pour un débit moyen défini, à produire des rafales de paquets quand la séquence codée l'exige ;- increase the quality of coding, leading to a defined average bit rate, to produce bursts of packets when the coded sequence requires it;
- les réseaux d'accès offrent une bande passante maximale limitée (y compris en ADSL (« Asymétrie Digital Subscriber Line ») car les applications sont tentées d'exploiter un débit moyen proche du maximum pour procurer la meilleure qualité aux usagers ;- access networks offer a limited maximum bandwidth (including ADSL (“Asymmetry Digital Subscriber Line”) because applications are tempted to exploit an average speed close to the maximum to provide the best quality to users;
- les rafales sont les informations les plus importantes car elles correspondent à un changement de scène ou au moins à un changement important du contenu de l'image. Bien souvent, ces images sont du type I (Intra) dont la perte est très critique, car il devient impossible de reproduire les images suivantes, même si ces dernières sont correctement reçues. On présente maintenant les techniques connues de conditionnement de trafic visant à réduire les congestions dans les réseaux.- the bursts are the most important information because they correspond to a change of scene or at least to a significant change in the content of the image. Very often, these images are of type I (Intra) whose loss is very critical, because it becomes impossible to reproduce the following images, even if the latter are correctly received. We now present the known traffic conditioning techniques aimed at reducing congestion in networks.
On notera tout d'abord que les travaux sur l'application de la mise en forme pour les flux MPEG dans les réseaux IP en se basant sur UDP et RTP comme protocoles de transport sont très rares. La majorité des travaux concernent les réseaux ATMFirst of all, it should be noted that work on the application of formatting for MPEG flows in IP networks based on UDP and RTP as transport protocols is very rare. The majority of work concerns ATM networks
(« Asynchronous Transfer Mode ») et l'utilisation de TCP comme protocole de transport.("Asynchronous Transfer Mode") and the use of TCP as a transport protocol.
Les mécanismes de mise en forme et de conditionnement de trafic sont utilisés dans les réseaux IP à « qualité de service » (QoS). On peut notamment se reporter au document « Traffic Shaping for MPEG video transmission over next génération internet » (lissage de trafic pour la transmission de vidéo MPEG sur l'internet de prochaine génération), M.F Alan, M. Atiquzzaman, M.A. Karim. Dans ce document, le lissage de trafic (TS) est utilisé pour assurer la conformité des flux MPEG au TSPEC (« Traffic Spécifier » c'est-à-dire « spécification de trafic ») nécessaire à la réservation de ressources dans les réseaux « IntServ ». Pour les réseaux « DiffServ », le traitement se fait par agrégat de flux et donc sans trop se soucier des applications. Les algorithmes de lissage de trafic (TS) sont par contre largement utilisés au niveau du codage dans le but de contrôler le débit des codeurs. Ceci reste insuffisant pour maîtriser les flux au niveau réseau. L'utilisation de la mise en forme, par lissage de trafic (TS, pour « TrafficTraffic shaping and conditioning mechanisms are used in “quality of service” (QoS) IP networks. We can in particular refer to the document “Traffic Shaping for MPEG video transmission over next generation internet ”(traffic shaping for transmission of MPEG video over the next generation internet), MF Alan, M. Atiquzzaman, MA Karim. In this document, traffic smoothing (TS) is used to ensure the conformity of MPEG flows to the TSPEC ("Traffic Specifier", ie "traffic specification") necessary for the reservation of resources in networks " IntServ ". For "DiffServ" networks, the processing is done by flow aggregate and therefore without worrying too much about the applications. Traffic smoothing (TS) algorithms are however widely used in coding in order to control the bit rate of coders. This remains insufficient to control flows at the network level. The use of formatting, by traffic smoothing (TS, for "Traffic
Shaping ») ou contrôle des règles de trafic (ou TP, pour « Traffic Policing »), pour réduire la congestion dans le réseau peut améliorer d'une manière significative le niveau de « qualité de service » (QoS) que le réseau est capable de délivrer aux applications.Shaping ") or traffic rule control (or TP, for" Traffic Policing "), to reduce congestion in the network can significantly improve the level of" quality of service "(QoS) that the network is capable to deliver to applications.
Le lissage (TS) lisse les rafales en « bufferisant » (c'est-à-dire en mettant en mémoire-tampon) les paquets concernés par l'excès de rafales dans les équipements de frontière du réseau. Il peut réduire la congestion à des niveaux acceptables, surtout que les algorithmes d'ordonnancement (« scheduler ») tels que CBQ (« Class Based Queuing » c'est-à-dire « gestion de files d'attente basées par classes de services ») ou bien PQ (« Priority Queuing » c'est-à-dire « gestion de files d'attentes par priorités ») ne sont pas capables de le faire. Utilisés seuls, ces mécanismes propagent les rafales dans le réseau.Smoothing (TS) smoothes the bursts by “buffering” (that is to say by buffering) the packets concerned by the excess of bursts in the border equipment of the network. It can reduce congestion to acceptable levels, especially that scheduling algorithms such as CBQ (“Class Based Queuing” ie “management of queues based on service classes) ”) Or PQ (“ Priority Queuing ”that is to say“ queue management by priorities ”) are not able to do this. Used alone, these mechanisms propagate bursts in the network.
Comme le lissage (TS), le contrôle des règles de trafic (TP) limite le débit du trafic au débit configuré. Mais au lieu de « bufferiser » les paquets comme le lissage (TS), les paquets non-conformes sont soit rejetés, soit remarqués pour diminuer leurs priorités. Le contrôle des règles de trafic (TP) ne lisse pas par conséquent le trafic mais il n'introduit pas de délai de « bufferisation » non plus.Like smoothing (TS), traffic rule control (TP) limits the traffic rate to the configured rate. But instead of "buffering" packets like smoothing (TS), non-compliant packets are either rejected or noticed to lower their priorities. Traffic rule control (TP) therefore does not smooth traffic, but it does not introduce a "buffering" delay either.
Dans la majorité des architectures qui supportent la « qualité de service » (QoS), un contrat de service existe entre le fournisseur du service réseau (NSP, pour « Network Service Provider ») et le fournisseur de l'application (ASP, pour « Application Service Provider »). Dans les réseaux ATM, ce contrat est appelé « Contrat de trafic ». Dans les réseaux « DiffServ », les aspects de contractualisation sont traités dans le SLA (« Service Level Agreement ») et plus précisément dans le SLS (« Service Level Spécification »).In the majority of architectures that support "quality of service" (QoS), a service contract exists between the network service provider (NSP, for "Network Service Provider") and the application provider (ASP, for " Application Service Provider ”). In ATM networks, this contract is called "Traffic contract". In the "DiffServ" networks, the contractual aspects are dealt with in the SLA ("Service Level Agreement") and more specifically in the SLS ("Service Level Specification").
On connaît également le document suivant : RFC2475, « An Architecture for Differentiated Services » (une architecture pour des services différenciés), Décembre 1998. Il précise que les sources de trafic peuvent assurer les tâches de classification et de. conditionnement de trafic. En effet, le trafic peut être marqué avant de quitter le domaine source. Ce marquage initial est appelé « Initial Marking » ou « Pre-marking ». L'avantage du marquage initial est que les préférences et les besoins des applications peuvent être mieux pris en compte pour décider quels paquets doivent recevoir un meilleur traitement dans le réseau.We also know the following document: RFC2475, "An Architecture for Differentiated Services", December 1998. It specifies that traffic sources can perform classification and classification tasks. traffic conditioning. Indeed, traffic can be marked before leaving the source domain. This initial marking is called "Initial Marking" or "Pre-marking". The advantage of initial tagging is that application preferences and needs can be better taken into account when deciding which packets should receive better processing in the network.
La prévention contre la surcharge d'une classe de service donnée n'est pas une tâche facile dans les réseaux « DiffServ ». En plus, en cas de surcharge dans une classe de service, il faut noter que tous les flux de cette classe de service souffrent d'une dégradation de la « qualité de service » (QoS). En plus, plusieurs mécanismes utilisés dans la mise en œuvre de « DiffServ » fonctionnent d'une façon moins efficace en présence des rafales. Le mécanisme RED (« Random Early Drop »), par exemple, est plus efficace lorsqu'il est appliqué à un trafic lissé, sinon ce sont les flux lissés qui sont pénalisés alors que les flux en rafales ne subissent pas une amélioration significative. Les flux MPEG sont caractérisés par le fait qu'ils présentent des rafales (naturePreventing overloading of a given service class is not an easy task in "DiffServ" networks. In addition, in the event of an overload in a class of service, it should be noted that all the flows of this class of service suffer from a degradation of the “quality of service” (QoS). In addition, several mechanisms used in the implementation of "DiffServ" work less efficiently in the presence of gusts. The RED (“Random Early Drop”) mechanism, for example, is more effective when applied to smooth traffic, otherwise it is the smooth flows which are penalized while the burst flows do not undergo a significant improvement. MPEG streams are characterized by the fact that they present bursts (nature
« bursty ») et par leur sensibilité aux pertes de paquets. Ces pertes causent une dégradation de la qualité subjective, mais il est très difficile de prévoir le niveau de cette dégradation suite à des pertes. Cette dégradation est fortement liée à la nature des informations transportées par les paquets perdus. Les mécanismes de correction d'erreurs sont utilisés lors du décodage pour palier aux pertes."Bursty") and their sensitivity to packet loss. These losses cause a degradation of the subjective quality, but it is very difficult to predict the level of this degradation following losses. This degradation is strongly linked to the nature of the information transported by the lost packets. Error correction mechanisms are used during decoding to compensate for losses.
Gérer les flux MPEG dans le réseau, ou même dans les routeurs d'extrémité (ER, pour « Edge Router »), est une tâche compliquée. Le fournisseur du service réseau (NSP) n'est pas obligé de traiter différemment les flux MPEG. En plus, l'agrégat de trafic résultant de plusieurs flux audio-visuels est généralement difficile à décrire : - le processus d'arrivée de paquets est auto-similaire ;Managing MPEG flows in the network, or even in the end routers (ER, for "Edge Router"), is a complicated task. The network service provider (NSP) is not required to treat MPEG streams differently. In addition, the traffic aggregate resulting from several audio-visual streams is generally difficult to describe: - the packet arrival process is self-similar;
- grande variation des données transportées par les paquets ; - la dynamique des protocoles.- large variation in the data transported by the packets; - the dynamics of the protocols.
Une solution consiste à marquer les paquets et à leur attribuer le niveau de « qualité de service » (QoS) approprié avant qu'ils quittent le domaine du fournisseur de service sur Internet (ISP, pour « Internet Service Provider »). La passerelle d'accès au média (MAG, pour « Media Access Gateway ») est par exemple responsable de cette tâche. Cette passerelle MAG gère le trafic selon le SLS spécifié. Cette approche facilite la négociation de SLA/SLS pour les services en mode continu (« Streaming ») et impose au client un profil de trafic bien particulier.One solution is to mark the packets and assign them the appropriate level of "quality of service" (QoS) before they leave the domain of the Internet service provider (ISP). The media access gateway (MAG, for “Media Access Gateway”) is for example responsible for this task. This MAG gateway manages traffic according to the specified SLS. This approach facilitates the negotiation of SLA / SLS for services in continuous mode (“Streaming”) and imposes on the client a very specific traffic profile.
Parmi les techniques actuelles, la plus répandue pour contrôler le trafic est le mécanisme WRED (« Weighted Random Early Drop ») qui consiste en une perte de paquets aléatoire et différente en fonction du marquage des paquets. Ce mécanisme se base sur un taux de remplissage moyen de la file d'attente d'émission sur un lien d'un réseau. Mais cette technique introduit un caractère aléatoire des rejets de paquets, et le taux de remplissage de la file d'attente n'est pas optimisée. Selon les tailles des rafales et leur fréquence, ces rejets peuvent se produire pour un remplissage faible ou un remplissage très élevé de la file d'attente. Ce qui conduit d'une part à une sous utilisation de la file d'attente, et d'autre part à la réservation de taille mémoire conséquente pour la réalisation de cette file. Ce problème existe pour tout type d'application, et il est encore plus réel pour les flux audiovisuels en raison de leurs rafales importantes.Among the current techniques, the most widespread for controlling traffic is the WRED (Weighted Random Early Drop) mechanism which consists of a random and different packet loss depending on the marking of the packets. This mechanism is based on an average filling rate of the transmission queue on a network link. However, this technique introduces a random nature of packet rejections, and the filling rate of the queue is not optimized. Depending on the size of the bursts and their frequency, these rejections can occur for a low filling or a very high filling of the queue. This leads on the one hand to an underuse of the queue, and on the other hand to the reservation of consequent memory size for the realization of this queue. This problem exists for any type of application, and it is even more real for audiovisual streams because of their large bursts.
Pour détailler ce point, il est fondamental de remarquer tout d'abord que les rafales des flux vidéo sont imprévisibles, autant en taille qu'en durée, tout en garantissant un débit moyen sur une période de l'ordre d'une seconde. Cette fenêtre de calcul du débit moyen est beaucoup trop grande pour obtenir des tailles raisonnables des files d'attente associées. De fait, les routeurs réagissent en calculant les moyennes de remplissage sur une dizaine de paquets reçus, alors que certaines rafales peuvent largement dépasser les 20 paquets.To detail this point, it is fundamental to note first of all that the bursts of video streams are unpredictable, both in size and in duration, while guaranteeing an average bit rate over a period of the order of one second. This window for calculating the average throughput is far too large to obtain reasonable sizes of the associated queues. In fact, the routers react by calculating the filling averages over ten packets received, while certain bursts can greatly exceed 20 packets.
Ainsi, une succession de rafales peut aboutir à des rejets par saturation de la capacité de la file d'attente, inhibant le fonctionnement normal du mécanisme. A l'opposé, quand un trafic faible survient après une suite de rafales, la valeur moyenne peut rester temporairement anormalement élevée et des paquets sont rejetés alors que la file est pratiquement vide.Thus, a succession of bursts can lead to rejections by saturation of the capacity of the queue, inhibiting the normal operation of the mechanism. Conversely, when light traffic occurs after a series of gusts, the average value may remain temporarily abnormally high and packets are dropped while the queue is almost empty.
Le mécanisme WRED n'est donc pas adapté au contrôle de flux caractérisés par une valeur moyenne sur une durée fixe. L'invention a notamment pour objectif de pallier ces inconvénients de l'état de la technique et offrir une solution optimale en cas de congestion du réseau.The WRED mechanism is therefore not suitable for controlling flows characterized by an average value over a fixed duration. The invention particularly aims to overcome these drawbacks of the prior art and offer an optimal solution in the event of network congestion.
Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé et un dispositif de contrôle de trafic permettant de contrôler des rafales et de lisser le trafic sur un ensemble de flux et/ou sous-flux associés à des niveaux de priorités.More specifically, one of the objectives of the present invention is to provide a method and a device for traffic control making it possible to control gusts and to smooth traffic over a set of flows and / or substreams associated with levels of priorities.
En d'autres termes, un objectif de la présente invention est de fournir un procédé et un dispositif de contrôle de trafic permettant de protéger les informations importantes des rafales, afin d'apporter une solution à l'antinomie entre l'optimisation d'un flux (par exemple un flux vidéo) contenant des rafales et le lissage des rafales pour un transport de qualité dans le réseau.In other words, an objective of the present invention is to provide a method and a device for traffic control making it possible to protect the important information from the bursts, in order to provide a solution to the contradiction between the optimization of a stream (for example a video stream) containing bursts and smoothing the bursts for quality transport in the network.
L'invention a également pour objectif de fournir de tels procédé et dispositif qui soient simples à mettre en œuvre et peu coûteux.The invention also aims to provide such a method and device which are simple to implement and inexpensive.
Un autre objectif de l'invention est de fournir de tels procédé et dispositif permettant de proposer efficacement des contrats de trafic (SLA/SLS) entre opérateurs réseau et fournisseurs de services.Another objective of the invention is to provide such a method and device making it possible to efficiently offer traffic contracts (SLA / SLS) between network operators and service providers.
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de contrôle d'un trafic de paquets de données en entrée d'un réseau, le trafic comprenant N flux et/ou sous-flux associés chacun à un niveau de priorité, N > 2, chacun des paquets étant marqué avec le niveau de priorité associé au flux ou sous-flux auquel appartient ledit paquet, ledit procédé comprenant une étape de mise en œuvre d'un mécanisme de seau à jetons à N niveaux de fonctionnement avec N mémoires-tampons de jetons contenant chacune un nombre de jetons disponibles, les jetons de chacune des N mémoires-tampons de jetons étant utilisés pour traiter l'un des N niveaux de priorité, chacun des paquets étant accepté ou refusé selon qu'il est possible ou non de lui attribuer des jetons en fonction des jetons disponibles au moins dans la mémoire-tampon de jetons utilisée pour traiter le niveau de priorité dudit paquet.These various objectives, as well as others which will appear subsequently, are achieved according to the invention using a method for controlling a traffic of data packets entering a network, the traffic comprising N stream and / or substream each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or substream to which said packet belongs, said method comprising an implementation step an N-level token bucket mechanism with N token buffers each containing a number of available tokens, the tokens of each of the N token buffers being used to process one of the N levels of priority, each packet being accepted or refused depending on whether or not it is possible to allocate tokens according to it tokens available at least in the token buffer used to process the priority level of said packet.
Le principe général de l'invention consiste donc à utiliser un seau à jetons multi- niveau (MLTB, pour « Multi Layer Token Bucket ») pour rejeter les paquets en dehors d'un profil requis et caractérisé par les N niveaux de fonctionnement du seau à jetons multi-niveau. Chaque paquet subit un traitement selon un marquage correspondant à son niveau de priorité. Les paquets acceptés sont placés dans une file d'attente.The general principle of the invention therefore consists in using a multi-level token bucket (MLTB, for “Multi Layer Token Bucket”) to reject packets outside a required profile and characterized by the N operating levels of the bucket multi-level tokens. Each packet undergoes processing according to a marking corresponding to its priority level. Accepted packets are placed in a queue.
Le seau à jetons multi-niveau permet de traiter sélectivement et conjointement plusieurs niveaux de priorités de flux. Il est bien adapté à la caractérisation du trafic entre la taille des rafales en entrée et l'écoulement du trafic en sortie. On sait qu'en cas de congestion du réseau, il est illusoire de chercher de la bande passante disponible. Le réglage des paramètres du seau à jetons multi-niveau assure une relation entre les niveaux de priorité pour équilibrer les contraintes de fonctionnement entre les débits par niveaux de priorité et les rafales acceptables par le seau à jeton selon les contraintes des applications transportées. La caractérisation des paramètres des N jeux de paramètres du seau à jetons multi-niveau permet de nombreuses solution et peut s'adapter à peu près à tous les cas de fonctionnement :The multi-level token bucket makes it possible to selectively and jointly process several levels of flow priorities. It is well suited to characterizing traffic between the size of incoming gusts and the flow of outgoing traffic. We know that in the event of network congestion, it is illusory to seek available bandwidth. The adjustment of the parameters of the multi-level token bucket ensures a relationship between the priority levels to balance the operating constraints between the flow rates by priority levels and the bursts acceptable by the token bucket according to the constraints of the transported applications. The characterization of the parameters of the N sets of parameters of the multi-level token bucket allows numerous solutions and can be adapted to almost all operating cases:
- un cas extrême est le comportement avec N jeux de paramètres indépendants agissant comme des seaux à jetons indépendants ; - un autre cas extrême est la possibilité pour le niveau le plus prioritaire de prendre tous les jetons et d'aboutir à une rejet des paquets de tous les autres niveaux ;- an extreme case is the behavior with N sets of independent parameters acting like buckets with independent tokens; - another extreme case is the possibility for the highest priority level to take all the tokens and result in a rejection of the packets from all the other levels;
- entre ces deux extrêmes, toutes les configurations sont possibles, autorisant plus ou moins de rafales ou plus ou moins de débit réservé par niveau. L'invention permet donc de traiter des rafales sur les niveaux les plus prioritaires, du fait qu'il existe pour chaque niveau de priorité une réserve disponible pour prévenir toute arrivée soudaine d'un ensemble de données qui ne doivent pas être rejetées.- between these two extremes, all the configurations are possible, allowing more or less gusts or more or less reserved flow per level. The invention therefore makes it possible to process bursts on the highest priority levels, because there is for each priority level a reserve available to prevent any sudden arrival of a set of data which must not be rejected.
On rappelle qu'un seau à jeton habituel ne possède qu'un seul niveau de fonctionnement (il dispose d'un unique jeu de paramètres) et traite donc tous les paquets indistinctement. En cas de congestion du réseau, les paquets sont donc rejetés indépendamment de leur niveau de priorité.Remember that a usual token bucket has only one operating level (it has a single set of parameters) and therefore processes all packets indiscriminately. Packets are therefore dropped in the event of network congestion regardless of their priority level.
On notera que la présente invention est totalement compatible avec les flux IP « unicast » (à destinataire unique) et « multicast » (diffusés sélectivement). On notera également que la présente invention permet de transmettre dans une même classe de service plusieurs groupes de flux avec des priorités différentes. En particulier, l'invention permet de fournir un traitement adapté à un ou un groupe de flux vidéo (IPB ou hiérarchique) conformément à un profil de trafic contractualisé (SLS) par des valeurs caractéristiques de type seau à jeton. En effet, les paramètres facilement mesurables et adaptables d'un seau à jetons multi-niveau (MLTB) sont un moyen efficace de proposer des contrats de trafic (SLA/SLS) entre opérateurs réseau et fournisseurs de services. La présence d'informations prioritaires conduit à la spécification de ce seau. Les multiples déclinaisons de ce seau sont un moyen d'offrir des classes de services adaptées aux exigences des clients. Quelles que soient les applications, le profil de trafic fait intervenir les principaux éléments de caractérisation d'un flux dans un réseau : le débit et le délai. L'invention est donc un moyen de définir un contrat avec un compromis négocié entre le débit, la taille des rafales, et le délai de transmission.Note that the present invention is fully compatible with IP streams "unicast" (single recipient) and "multicast" (selectively broadcast). It will also be noted that the present invention makes it possible to transmit several groups of flows with different priorities in the same class of service. In particular, the invention makes it possible to provide processing adapted to one or a group of video streams (IPB or hierarchical) in accordance with a contracted traffic profile (SLS) by characteristic values of the token bucket type. Indeed, the easily measurable and adaptable parameters of a multi-level token bucket (MLTB) are an effective means of proposing traffic contracts (SLA / SLS) between network operators and service providers. The presence of priority information leads to the specification of this bucket. The multiple versions of this bucket are a means of offering classes of services adapted to customer requirements. Whatever the applications, the traffic profile involves the main elements of characterization of a flow in a network: the speed and the delay. The invention is therefore a means of defining a contract with a negotiated compromise between the speed, the size of the bursts, and the transmission time.
Dans une première application avantageuse de l'invention, le trafic comprend N sous-flux correspondant chacun à un des N niveaux hiérarchiques d'un flux hiérarchique ou d'un agrégat de flux hiérarchiques.In a first advantageous application of the invention, the traffic comprises N sub-flows each corresponding to one of the N hierarchical levels of a hierarchical flow or of an aggregate of hierarchical flows.
Il s'agit par exemple d'un flux hiérarchique audio/vidéo comprenant les sous- flux suivants : un sous-flux audio, un sous-flux vidéo de base et un sous-flux vidéo de réhaussement. Dans une deuxième application avantageuse de l'invention, le trafic comprend N sous-flux correspondant chacun à un des N types d'images d'un flux multimédia ou d'un agrégat de flux multimédia.It is for example an audio / video hierarchical stream comprising the following substreams: an audio substream, a basic video substream and an enhancement video substream. In a second advantageous application of the invention, the traffic comprises N sub-streams each corresponding to one of the N types of images of a multimedia stream or of an aggregate of multimedia streams.
Il s'agit par exemple d'un flux vidéo MPEG comprenant trois sous-flux correspondant aux trois types d'images I, P et B. Dans une troisième application avantageuse de l'invention, le trafic comprend N flux correspondant chacun à un des flux d'un multiplex d'au moins deux flux. Il s'agit par exemple d'un flux vidéo/audio multiplexe avec un flux TCP, sur un accès ADSL.It is for example an MPEG video stream comprising three substreams corresponding to the three types of images I, P and B. In a third advantageous application of the invention, the traffic comprises N streams each corresponding to one of the stream of a multiplex of at least two streams. This is for example a multiplex video / audio stream with a TCP stream, on an ADSL access.
Avantageusement, le trafic comprend N flux et/ou sous-flux appartenant à une même classe de service. Ainsi, l'invention, grâce au seau à jetons multi-niveau, permet de transmettre dans une même classe de service plusieurs flux et/ou sous-flux avec des priorités différentes. On peut distinguer plusieurs classes de service, telles que par exemple la classe « streaming » (contenant des flux audio et vidéo, la classe « TCP prioritaire », la classe « Best Effort de réseau IP », ...) et utiliser un seau à jeton multi-niveau pour chaque classe. Chaque classe de service peut être définie par marquage des paquets, par l'adresse IP source ou destination des paquets, par le protocole utilisé pour les paquets, etc.Advantageously, the traffic comprises N flows and / or substreams belonging to the same class of service. Thus, the invention, thanks to the multi-level token bucket, makes it possible to transmit several flows and / or sub-flows with different priorities in the same service class. We can distinguish several service classes, such as for example the "streaming" class (containing audio and video streams, the "priority TCP" class, the "Best IP network effort" class, ...) and use a bucket with multi-level token for each class. Each class of service can be defined by marking packets, by the source or destination IP address of the packets, by the protocol used for the packets, etc.
Préférentiellement, les paquets refusés sont jetés.Preferably, the refused packets are discarded.
Les paquets refusés sont ceux qui ne sont pas conformes au profil de trafic défini par les paramètres des N niveaux de fonctionnement du seau à jetons multi-niveau.The packets refused are those which do not comply with the traffic profile defined by the parameters of the N operating levels of the multi-level token bucket.
Une autre option, moins performante mais qui rentre néanmoins dans le cadre de la présente invention, est de transmettre les paquets refusés après les avoir à nouveau marqués avec un niveau de priorité plus faible. Cette option présente toutefois l'inconvénient d'augmenter la probabilité de rejet de paquets dans les nœuds congestionnés du réseau.Another option, less efficient but which nevertheless falls within the scope of the present invention, is to transmit the refused packets after having marked them again with a lower priority level. However, this option has the disadvantage of increasing the probability of packet rejection in congested network nodes.
Avantageusement, le réseau est de type IP ou équivalent.Advantageously, the network is of IP type or equivalent.
Selon une caractéristique avantageuse, chacun des N niveaux de fonctionnement du mécanisme de seau à jetons est géré par un régulateur bi(rb bπi;), i G {1 à N}, avec : rj le débit nominal du régulateur ; - bn ; la taille maximale de la mémoire-tampon de jetons du régulateur ; bi(t) la valeur instantanée du remplissage de la mémoire-tampon de jetons du régulateur.According to an advantageous characteristic, each of the N operating levels of the token bucket mechanism is managed by a regulator bi (r b bπi;), i G {1 to N}, with: r j the nominal flow rate of the regulator; - bn; the maximum size of the controller token buffer; bi (t) the instantaneous value of the filling of the regulator token buffer.
De façon préférentielle, les jetons des N mémoires-tampons de jetons sont partagés entre les N niveaux de priorité, un paquet de niveau de priorité i pouvant se voir attribuer des jetons d'une mémoire-tampon de jetons associée à un niveau de priorité j moins prioritaire lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants.Preferably, the tokens of the N token buffers are shared between the N priority levels, a packet of priority level i being able to be allocated tokens of a token buffer associated with a priority level j less priority when the tokens available in the token buffer of priority level i are not sufficient.
De cette façon, on favorise les rafales des niveaux les plus prioritaires.In this way, we favor the bursts of the highest priority levels.
Avantageusement, pour chaque niveau de priorité hormis le niveau de priorité le plus prioritaire, on garantit une quantité de jetons réservés exclusivement aux paquets possédant ledit niveau de priorité.Advantageously, for each priority level apart from the highest priority level, it guarantees a quantity of tokens reserved exclusively for packets having said priority level.
Ainsi, on garantit une ressource minimum pour chaque niveau de priorité, sans exclure un usage partiellement partagé des ressources (c'est-à-dire des jetons des différents niveaux de fonctionnement du seau à jetons multi-niveau). Dans un premier mode de réalisation particulier de l'invention, l'attribution de jetons à un paquet de niveau de priorité i est effectuée selon un mode discontinu par paquet et consiste à attribuer : soit des jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ; - soit des jetons disponibles dans une mémoire-tampon de jetons de niveau de priorité j moins prioritaire, lorsque les jetons disponibles dans la mémoire- tampon de jetons de niveau de priorité i ne sont pas suffisants.Thus, a minimum resource is guaranteed for each priority level, without excluding a partially shared use of the resources (ie tokens of the different operating levels of the multi-level token bucket). In a first particular embodiment of the invention, the allocation of tokens to a packet of priority level i is carried out according to a discontinuous mode per packet and consists in assigning: either tokens available in the token buffer memory of priority level i; - or tokens available in a token buffer of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
Ainsi, dans le mode discontinu, un paquet ne peut se servir des ressources (jetons) que d'un seul niveau de fonctionnement du seau à jetons multi-niveau. Dans un second mode de réalisation particulier de l'invention, l'attribution de jetons à un paquet de niveau de priorité i est effectuée selon un mode continu par bit et consiste à attribuer : des jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ; et en complément des jetons disponibles dans au moins une mémoire-tampon de jetons de niveau de priorité j moins prioritaire, lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants.Thus, in the discontinuous mode, a packet can use resources (tokens) only on one level of operation of the multi-level token bucket. In a second particular embodiment of the invention, the allocation of tokens to a packet of priority level i is carried out in a continuous mode per bit and consists in allocating: tokens available in the buffer of level tokens of priority i; and in addition to the tokens available in at least one buffer of tokens of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
En d'autres termes, dans le mode continu, un paquet peut se servir des ressources (jetons) de plusieurs niveaux de fonctionnement du seau à jetons multi-niveau à la fois.In other words, in the continuous mode, a packet can use the resources (tokens) of several operating levels of the multi-level token bucket at a time.
De façon avantageuse, les paquets acceptés par le mécanisme de seau à jetons à N niveaux de fonctionnement sont placés dans une file d'attente. Ledit procédé comprend en outre une étape de mise en œuvre d'un mécanisme de seau à jetons à un seul niveau de fonctionnement avec une unique mémoire-tampon de jetons, de façon à prendre les paquets contenus dans la file d'attente et les envoyer sur le réseau en exécutant un lissage du trafic par limitation du débit instantané à une valeur acceptable par le réseau. Le seau à jetons à un seul niveau de fonctionnement (TBTS, pour « TokenAdvantageously, the packets accepted by the token bucket mechanism with N operating levels are placed in a queue. The method further includes a step of implementing a token bucket mechanism at a single level of operation with a single token buffer, so as to take the packets contained in the queue and send them over the network by performing traffic smoothing by limiting the instantaneous speed to a value acceptable by the network . The single-level token bucket (TBTS, for “Token
Bucket Traffic Shaper ») permet donc de limiter les débits crêtes émis par l'équipement réseau supportant l'invention. Il réalise une temporisation des rafales quand elles dépassent le débit toléré dans le réseau.Bucket Traffic Shaper ”) therefore makes it possible to limit the peak bit rates emitted by the network equipment supporting the invention. It delays gusts when they exceed the tolerated flow in the network.
On utilise par exemple une zone mémoire, dont l'entrée est gérée par le seau multi-niveau (contrôle des rafales) et dont la sortie est gérée par le seau à un seul niveauWe use for example a memory zone, whose input is managed by the multi-level bucket (burst control) and whose output is managed by the bucket at one level
(lissage de trafic).(traffic smoothing).
L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé tel que précité, lorsque ledit programme est exécuté sur un ordinateur. L'invention concerne aussi un dispositif de contrôle d'un trafic de paquets de données en entrée d'un réseau, le trafic comprenant N flux et/ou sous-flux associés chacun à un niveau de priorité, N > 2, chacun des paquets étant marqué avec le niveau de priorité associé au flux ou sous-flux auquel appartient ledit paquet, ledit dispositif comprenant des moyens de mise en œuvre d'un mécanisme de seau à jetons à N niveaux de fonctionnement avec N mémoires-tampons de jetons contenant chacune un nombre de jetons disponibles, les jetons de chacune des N mémoires-tampons de jetons étant utilisés pour traiter l'un des N niveaux de priorité, chacun des paquets étant accepté ou refusé selon qu'il est possible ou non de lui attribuer des jetons en fonction des jetons disponibles au moins dans la mémoire-tampon de jetons utilisée pour traiter le niveau de priorité dudit paquet.The invention also relates to a computer program comprising program code instructions for executing the steps of the method as mentioned above, when said program is executed on a computer. The invention also relates to a device for controlling a traffic of data packets entering a network, the traffic comprising N streams and / or substreams each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or sub-stream to which said packet belongs, said device comprising means for implementing a token bucket mechanism with N operating levels with N token buffer memories each containing a number of tokens available, the tokens of each of the N token buffer memories being used to process one of the N priority levels, each of the packets being accepted or refused according to whether or not it is possible to assign tokens to it according to the tokens available at least in the token buffer memory used to process the priority level of said packet.
De façon préférentielle, ledit procédé comprend des moyens de partage des jetons des N mémoires-tampons de jetons entre les N niveaux de priorité, un paquet de niveau de priorité i pouvant se voir attribuer des jetons d'une mémoire-tampon de jetons associée à un niveau de priorité j moins prioritaire lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants. Avantageusement, pour chaque niveau de priorité hormis le niveau de priorité le plus prioritaire, lesdits moyens de partage comprennent des moyens de garantie d'une quantité de jetons réservés exclusivement aux paquets possédant ledit niveau de priorité. L'invention concerne encore un équipement réseau comprenant un dispositif de contrôle tel que précité, ledit équipement réseau appartenant au groupe comprenant : des équipements réseau situés entre un réseau d'un fournisseur d'application ou de service et un réseau d'un fournisseur d'un service réseau, constituant ledit réseau en entrée duquel est effectué le contrôle d'un trafic de paquets de données ; - des routeurs compris dans des nœuds d'un réseau d'un fournisseur d'un service réseau, constituant ledit réseau en entrée duquel est effectué le contrôle d'un trafic de paquets de donnéesPreferably, said method comprises means for sharing the tokens of the N token buffer memories between the N priority levels, a packet of priority level i being able to be allocated tokens from a token buffer associated with a lower priority level j when the tokens available in the token buffer of priority level i are not sufficient. Advantageously, for each priority level apart from the highest priority level, said sharing means comprise means for guaranteeing a quantity of tokens reserved exclusively for packets having said priority level. The invention also relates to network equipment comprising a control device as mentioned above, said network equipment belonging to the group comprising: network equipment located between a network of an application or service provider and a network of a provider of 'a network service, constituting said network at the input of which is carried out the control of a data packet traffic; - routers included in nodes of a network of a network service provider, constituting said network at the input of which is carried out the control of a traffic of data packets
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : la figure 1 présente un exemple d'architecture de réseaux dans laquelle peut être mis en œuvre le procédé de contrôle de trafic selon l'invention ; la figure 2 illustre un mode de réalisation particulier du procédé selon l'invention, mettant en œuvre deux fonctions, basées sur l'utilisation respectivement d'un seau à jetons multi-niveau et un seau à jetons à niveau unique ; la figure 3 illustre un régulateur gérant un niveau de fonctionnement du seau à jetons multi-niveau illustré sur la figure 2, ainsi que l'utilisation dans ce régulateur d'un paramètre Kj garantissant un minimum de ressource pour le niveau de priorité associé à ce régulateur ; la figure 4 illustre un exemple d'attribution de jetons dans le cas où le fonctionnement du seau à jetons multi-niveau est décrit avec des mémoires- tampons (buffers) indépendantes ; la figure 5 illustre un exemple d'attribution de jetons dans le cas où le fonctionnement du seau à jetons multi-niveau est décrit avec des mémoires- tampons (buffers) corrélées. L'invention concerne donc un procédé de contrôle d'un trafic de paquets de données en entrée d'un réseau. Le trafic est du type comprenant N flux et/ou sous-flux associés chacun à un niveau de priorité, avec N > 2. Chacun des paquets est marqué avec le niveau de priorité associé au flux ou sous-flux auquel il appartient. A titre d'exemple, l'invention permet de transmettre en priorité les informations essentielles d'un flux vidéo, ou de plusieurs flux vidéo regroupés dans un agrégat. Selon la nature du flux, cette distinction est par exemple possible soit par les images de type IBP (voir définition ci-dessus), soit par les n couches d'un flux hiérarchique. Si dans le premier cas le débit moyen des images I reste faible devant le débit global, dans le second cas l'information la plus importante et à protéger au maximum est définie par la fraction du débit global occupé par la couche de base, et pouvant représenter jusqu'à 50% du flux. En général, la couche de base est la seule à contenir les informations de références contenues dans les images I.Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of non-limiting example, and the accompanying drawings, in which: FIG. 1 presents an example of network architecture in which the traffic control method according to the invention can be implemented; FIG. 2 illustrates a particular embodiment of the method according to the invention, implementing two functions, based on the use respectively of a multi-level token bucket and a single-level token bucket; FIG. 3 illustrates a regulator managing an operating level of the multi-level token bucket illustrated in FIG. 2, as well as the use in this regulator of a parameter K j guaranteeing a minimum of resource for the priority level associated with this regulator; FIG. 4 illustrates an example of allocation of tokens in the case where the operation of the multi-level token bucket is described with independent buffer memories (buffers); FIG. 5 illustrates an example of allocation of tokens in the case where the operation of the multi-level token bucket is described with correlated buffers. The invention therefore relates to a method for controlling data packet traffic entering a network. The traffic is of the type comprising N streams and / or substreams each associated with a priority level, with N> 2. Each of the packets is marked with the priority level associated with the stream or substream to which it belongs. By way of example, the invention makes it possible to transmit, as a priority, the essential information of a video stream, or of several video streams grouped in an aggregate. Depending on the nature of the flow, this distinction is for example possible either by IBP type images (see definition above), or by the n layers of a hierarchical flow. If in the first case the average bit rate of the images I remains low compared to the global bit rate, in the second case the most important information and to be protected as much as possible is defined by the fraction of the global bit rate occupied by the base layer, and which can represent up to 50% of the flow. In general, the base layer is the only one to contain the reference information contained in the images I.
Dans un agrégat, toutes les données de même niveau de priorité subissent le même traitement. Par exemple, tous les flux de base ou toutes les images I sont traités comme un seul flux de débit plus important qu'une vidéo seule.In an aggregate, all data with the same priority level is treated the same. For example, all basic streams or all I frames are treated as a single higher bit rate stream than a single video.
On présente maintenant, en relation avec la figure 1, un exemple d'architecture de réseaux dans laquelle peut être mis en œuvre le procédé de contrôle de trafic selon l'invention. Dans cet exemple, on considère le cas de fournisseurs de service (ISP, pourWe now present, in relation to FIG. 1, an example of network architecture in which the traffic control method according to the invention can be implemented. In this example, we consider the case of service providers (ISP, for
« Internet Service provider ») offrant un service de transmission de vidéo en mode continu (« streaming »)."Internet Service provider") offering a streaming video transmission service.
L'exemple d'architecture (simplifiée) illustrée sur la figure 1 comprend :The example of (simplified) architecture illustrated in Figure 1 includes:
- un réseau IP de type « DiffServ » 1, géré par un opérateur réseau (aussi appelé fournisseur du service réseau, ou NSP (pour « Network service- an IP network of type "DiffServ" 1, managed by a network operator (also called network service provider, or NSP (for "Network service
Provider »)) et comprenant une pluralité de routeurs 2{ à 25 compris dans des nœuds du réseau IP ;Provider ")) and comprising a plurality of routers 2 { to 2 5 included in nodes of the IP network;
- deux réseaux de fournisseurs de service « streaming » 3 et 4, l'un comprenant deux serveurs 5 et 6, et l'autre un serveur 7. Chaque réseau de fournisseurs de service 3, 4 comprend en outre un équipement d'extrémité 8, 9 connecté à l'un des routeurs du réseau IP, appelé routeur d'extrémité (« edge routeur ») 2,, qui est chargé d'envoyer les données d'un serveur vers une artère principale d'un cœur de réseau IP ;- two networks of “streaming” service providers 3 and 4, one comprising two servers 5 and 6, and the other a server 7. Each network of service providers 3, 4 also comprises end equipment 8 , 9 connected to one of the routers on the IP network, called the edge router 2 ,, which is responsible for sending data from a server to a main route of an IP core network;
- deux terminaux clients 10 et 11, chacun connecté au réseau IP 1 par exemple via un lien ADSL 12, 13. On suppose qu'il existe deux contrats de trafic (symbolisés par les flèches référencées SLAl et SLA2 respectivement sur la figure 1) : l'un entre l'opérateur du réseau IP 1 et le fournisseur de service dont le réseau est référencé 3, et l'autre entre l'opérateur du réseau IP 1 et le fournisseur de service dont le réseau est référencé 4.- two client terminals 10 and 11, each connected to the IP network 1 for example via an ADSL link 12, 13. It is assumed that there are two traffic contracts (symbolized by the arrows referenced SLAl and SLA2 respectively in FIG. 1): one between the operator of the IP network 1 and the service provider whose network is referenced 3, and the other between the operator of the IP network 1 and the service provider whose network is referenced 4.
Le procédé selon l'invention est mis en œuvre dans un équipement réseau formant un conditionneur de trafic pour l'entrée dans le réseau IP 1. Cet équipement réseau peut être situé entre le réseau du fournisseur du service 3, 4 et le réseau IP 1 :The method according to the invention is implemented in network equipment forming a traffic conditioner for entry into the IP network 1. This network equipment can be located between the network of the service provider 3, 4 and the IP network 1 :
- soit dans l'un des équipements d'extrémité 8, 9 des réseaux de fournisseurs de service 3 et 4 ;- either in one of the end devices 8, 9 of the networks of service providers 3 and 4;
- soit dans le routeur d'extrémité 2, du réseau IP 1. L'équipement réseau implémentant le procédé selon l'invention peut également être tout routeur placé au niveau d'un point de congestion dans le réseau (en particulier pour tout accès à un lien ADSL).- or in the end router 2, of the IP network 1. The network equipment implementing the method according to the invention can also be any router placed at a congestion point in the network (in particular for any access to an ADSL link).
On présente maintenant, en relation avec la figure 2, un mode de réalisation particulier du procédé selon l'invention. Il permet de protéger les informations importantes des rafales et apporter des solutions à l'antinomie entre l'optimisation d'un flux vidéo contenant des rafales et le lissage des rafales pour un transport de qualité dans le réseau.We now present, in relation to FIG. 2, a particular embodiment of the method according to the invention. It protects important information from bursts and provides solutions to the contradiction between optimizing a video stream containing bursts and smoothing the bursts for quality transport in the network.
Dans ce mode de réalisation particulier du procédé selon l'invention, le mécanisme d'ensemble forme un « conditionneur de trafic décentralisé multi-couche » appelé «MLDTC » (pour « Multi-Layers Decentralized Traffic Conditioner »). Il est constitué de deux fonctions exécutées séquentiellement :In this particular embodiment of the method according to the invention, the overall mechanism forms a “multi-layer decentralized traffic conditioner” called “MLDTC” (for “Multi-Layers Decentralized Traffic Conditioner”). It consists of two functions executed sequentially:
- la première est appelée « MLTR » (pour « Multi-Layers Traffic Regulator ») du fait qu'elle forme un « régulateur de trafic multi-couche ». Elle assure le contrôle de rafales par niveau hiérarchique. Elle est basée sur la mise en œuvre d'un seau à jetons à N niveaux de fonctionnement (référencé 30), avec- the first is called "MLTR" (for "Multi-Layers Traffic Regulator") because it forms a "multi-layer traffic regulator". It provides burst control by hierarchical level. It is based on the implementation of a token bucket with N operating levels (referenced 30), with
N buffers (mémoires-tampons) de jetons virtuels. Chaque buffer de jetons correspond à un niveau hiérarchique. Chaque niveau de fonctionnement est défini par un jeu de paramètres (voir discussion détaillée ci-après). La fonction MLTR assure l'attribution de jetons en fonction de la priorité du paquet entrant et de la ressource disponible dans le buffer de jetons correspondant. Dans l'exemple de la figure 2, on a N = 3 et la représentation de trois seaux indique uniquement la distinction des trois jeux de paramètresN buffers of virtual tokens. Each token buffer corresponds to a hierarchical level. Each operating level is defined by a set of parameters (see detailed discussion below). The MLTR function allocates tokens according to the priority of the incoming packet and the resource available in the corresponding token buffer. In the example in Figure 2, we have N = 3 and the representation of three buckets only indicates the distinction of the three sets of parameters
(il n'y a en réalité qu'un seul seau à trois niveaux de fonctionnement) ;(there is actually only one bucket with three operating levels);
- la seconde est appelée « TBTS » (pour « Token Bucket Traffic Shaper ») du fait qu'elle est basée sur un algorithme de type seau à jetons à niveau unique (« Token Bucket ») (référencé 31) et exécute un lissage du trafic pour un écoulement régulier sur le réseau en limitant le débit instantané à une valeur acceptable par le réseau. La mémoire tampon de la fonction TBTS est de capacité raisonnable pour garantir un coût moindre des systèmes et un temps de transfert limité dans la fourniture de l'information à l'usager. La contrepartie de la taille finie est la limitation des rafales acceptées en entrée du réseau.- the second is called “TBTS” (for “Token Bucket Traffic Shaper”) because it is based on a single-level token bucket algorithm (“Token Bucket”) (referenced 31) and performs a smoothing of the traffic for a regular flow on the network by limiting the instantaneous flow to a value acceptable by the network. The TBTS function buffer is of reasonable capacity to guarantee a lower cost of the systems and a limited transfer time in the supply of information to the user. The counterpart of the finite size is the limitation of the bursts accepted at the input of the network.
La fonction MLTR est adaptée à l'acceptation différentiée des rafales en fonction du niveau de priorité. Elle s'applique aux paquets IP (référencés 20 à 26 sur la figure 2) dont le champ DSCP (« Differentiated Services Code point ») est marqué soit par la source, soit par un système de classification. Chaque niveau de priorité i dispose de ses propres paramètres, pour un tampon unique, commun aux 3 niveaux, mais avec des niveaux d'acceptation des paquets de données variables. Ce mécanisme répond aux attentes d'un signal vidéo, car il ne traite pas uniformément toutes les informations. En effet, on rappelle qu'un codage MPEG aboutit à plusieurs niveaux d'informations qu'il convient de traiter différemment selon leur importance. L'objectif est de favoriser les rafales d'un niveau i par rapport à un niveau j, dont les informations sont moins importantes (j > i). Les paquets relatifs au niveau i ont alors la priorité pour exploiter les ressources disponibles.The MLTR function is adapted to the differentiated acceptance of bursts according to the priority level. It applies to IP packets (referenced 20 to 26 in Figure 2) whose DSCP (“Differentiated Services Code point”) field is marked either by the source or by a classification system. Each priority level i has its own parameters, for a single buffer, common to the 3 levels, but with varying levels of acceptance of data packets. This mechanism meets the expectations of a video signal, since it does not process all information uniformly. Indeed, it is recalled that an MPEG coding results in several levels of information which should be treated differently according to their importance. The objective is to favor the bursts of a level i compared to a level j, whose information is less important (j> i). The packets relating to level i then have priority to exploit the available resources.
Grâce à la fonction TBTS, le même débit moyen est obtenu pour des tailles de rafales différentes, et tenant compte de l'intervalle les séparant. Un tel mécanisme est bien adapté aux rafales des flux vidéo, qui sont variables, en raison de la grande diversité des contenus transportés (sports, actualités, paysages, ...).Thanks to the TBTS function, the same average bit rate is obtained for different burst sizes, and taking into account the interval separating them. Such a mechanism is well suited to bursts of video streams, which are variable, due to the great diversity of content transported (sports, news, landscapes, ...).
On présente maintenant de façon détaillée un exemple de réalisation de la fonction MLTR, qui assure la régulation et le contrôle de rafales. Dans la suite de la description, on étudie à titre d'exemple le cas où cette fonction MLTR est basée sur un seau à jetons à trois niveaux de fonctionnement (N = 3).An exemplary embodiment of the MLTR function is now presented in detail, which provides regulation and control of bursts. In the following description, we study by way of example the case where this MLTR function is based on a token bucket with three operating levels (N = 3).
Comme illustré sur la figure 3, chaque niveau de fonctionnement i du seau à jetons à trois niveaux de fonctionnement 30 est géré par un régulateur bj , bm;), i E {1, 2, 3}, avec : - le débit nominal de ce régulateur ;As illustrated in FIG. 3, each operating level i of the token bucket with three operating levels 30 is managed by a regulator bj, bm ; ), i E {1, 2, 3}, with: - the nominal flow of this regulator;
- bmj la taille maximale du buffer de jetons de ce régulateur ;- bm j the maximum size of the token buffer for this regulator;
- bj(t) la valeur instantanée du remplissage du buffer de jetons de ce régulateur. La taille du buffer de jetons (b impose une taille maximale pour les rafales pour chaque niveau. La tolérance d'un régulateur de niveau i vis-à-vis des rafales de grande taille dépend de la taille du buffer de jetons b; et du débit .- b j (t) the instantaneous value of filling the token buffer of this regulator. The size of the token buffer (b imposes a maximum size for bursts for each level. The tolerance of a level regulator vis-à-vis large bursts depends on the size of the token buffer b ; and the debit .
Les paquets conformes (c'est-à-dire ceux à qui il a pu être attribué des jetons par le seau multi-niveau 30) sont placés dans un buffer de paquets à émettre 28, qui forme un moyen de gestion d'une file d'attente. Si un nombre insuffisant de jetons est disponible dans le seau multi-niveau, les paquets sont alors considérés comme non- conformes et sont éliminés. Ils sont jetés dans la poubelle référencée 27. Une autre option est de transmettre ces paquets avec une priorité plus faible. Cependant, le nouveau marquage des paquets pour leur attribuer une priorité plus faible augmente la probabilité de rejet de paquets dans les nœuds congestionnés.Compliant packets (i.e. those to which it has been possible to allocate tokens by the multi-level bucket 30) are placed in a buffer of packets to be sent 28, which forms a means of managing a queue wait. If an insufficient number of tokens is available in the multi-level bucket, the packets are then considered as non-compliant and are discarded. They are thrown in the trash referenced 27. Another option is to transmit these packets with a lower priority. However, re-marking packets to give them a lower priority increases the probability of packet rejection in congested nodes.
Pour favoriser les rafales des niveaux les plus prioritaires, les trois buffers de jetons, bl, b2 et b3 sont partagés entre les différents niveaux. En d'autres termes, un paquet de niveau de priorité i peut se voir attribuer des jetons d'un buffer de jetons associé à un niveau de priorité j moins prioritaire (j > i) lorsque les jetons disponibles dans le buffer de jetons de niveau de priorité i ne sont pas suffisants.To favor the bursts of the highest priority levels, the three token buffers, bl, b2 and b3 are shared between the different levels. In other words, a packet of priority level i can be allocated tokens from a token buffer associated with a priority level j of lower priority (j> i) when the tokens available in the buffer of level tokens of priority i are not sufficient.
Cependant, à cause de ce principe d'emprunt, les paquets de niveau i risquent d'utiliser toutes les ressources en jetons des niveaux moins prioritaires j. Ceci peut empêcher de garantir le débit nominal au niveau j au profit du niveau i. Comme illustré sur la figure 3, la solution est de limiter cet emprunt par un paramètre Kj, propre au niveau j, et dont l'objectif est de protéger ce dernier des niveaux plus prioritaires en garantissant une quantité de ressources (jetons) réservées exclusivement aux paquets de niveau j. Par conséquent, le paramètre Kj garantit un seuil de remplissage des buffers de jetons au-dessous duquel les paquets d'un niveau plus prioritaire ne peuvent plus se servir. Le paramètre Kj du régulateur de niveau j est illustré sur la figure 3.However, because of this borrowing principle, packets of level i risk using all the token resources of lower priority levels j. This can prevent guaranteeing the nominal flow at level j in favor of level i. As illustrated in FIG. 3, the solution is to limit this borrowing by a parameter K j , specific to level j, the objective of which is to protect the latter from higher priority levels by guaranteeing a quantity of resources (tokens) reserved exclusively for packets of level j. Consequently, the parameter K j guarantees a threshold for filling the token buffers below which packets of a higher priority level can no longer be used. The parameter K j of the level regulator j is illustrated in Figure 3.
La valeur de Kj doit être choisie telle que bmj > Kj > MTU.The value of K j must be chosen such that bmj> K j > MTU.
Ceci revient à garantir pour les paquets de niveau j le débit nominal et des rafales limitées par Kj. Le cas particulier où Kj est adapté à la taille utile d'un paquet sur le réseau (MTU (« Maximum Transfer Unit », c'est-à-dire « taille maximale d'une unité élémentaire de transfert ») pour un réseau IP) correspond à une garantie du débit nominal rj pour le niveau j mais sans garantie de rafales. Les ressources en jetons pourraient être utilisées par les niveaux plus prioritaires.This amounts to guaranteeing for packets of level j the nominal bit rate and bursts limited by K j . The particular case where K j is adapted to the useful size of a packet on the network (MTU (“Maximum Transfer Unit”, ie “maximum size of an elementary transfer unit”) for a network IP) corresponds to a guarantee of the nominal flow rate r j for level j but without guarantee of gusts. Token resources could be used by higher priority levels.
Les trois jeux de paramètres définissant les trois niveaux de fonctionnement du seau à jetons multi-niveau peuvent être décrits :The three sets of parameters defining the three operating levels of the multi-level token bucket can be described:
- soit par une représentation de trois buffers indépendants, avec un usage partagé des ressources entre les trois niveaux ;- either by a representation of three independent buffers, with a shared use of resources between the three levels;
- soit par une représentation cumulée des ressources faisant mieux ressortir les priorités entre les niveaux et les interdépendances de fonctionnement provenant du partage des ressources.- or by a cumulative representation of resources, making it easier to highlight the priorities between the levels and the interdependencies of operation stemming from the sharing of resources.
Toutefois, ces représentations sont identiques dans leur fonctionnement. On présente maintenant, en relation avec la figure 4, une description du fonctionnement du seau à jetons multi-niveau avec des buffers (mémoires-tampons) indépendants. Le rechargement des buffers de jetons est calculé pour chacun des trois niveaux au moment de l'arrivée d'un nouveau paquet, en fonction du temps le séparant du paquet précédent.However, these representations are identical in their operation. We now present, in relation to FIG. 4, a description of the operation of the multi-level token bucket with independent buffers. The reloading of token buffers is calculated for each of the three levels when a new packet arrives, as a function of the time separating it from the previous packet.
(Équation 1) La prise en compte du paquet arrivant de niveau i et de taille P, est obtenue par l'algorithme suivant : (mode paquets)(Equation 1) The incoming packet of level i and size P is taken into account by the following algorithm: (packet mode)
(Équation 2)(Equation 2)
La figure 4 est une représentation graphique de cet algorithme d'attribution de jetons dans le cas où le fonctionnement du seau à jetons multi-niveau est décrit avec des buffers indépendants. Elle montre l'usage possible des ressources bt, b2 et b3 pour chacun des niveaux. Les traits épais (référencés 41, 42 et 43) montrent le remplissage des buffers de jetons (c'est-à-dire le nombre de jetons disponibles) pour chacun des niveaux, et les flèches les ressources (c'est-à-dire les jetons) prises par les paquets entrants (PI, P2 ou P3) selon leur priorité.FIG. 4 is a graphic representation of this token allocation algorithm in the case where the operation of the multi-level token bucket is described with independent buffers. It shows the possible use of the resources b t , b 2 and b 3 for each of the levels. The thick lines (referenced 41, 42 and 43) show the filling of the token buffers (that is to say the number of tokens available) for each level, and the arrows the resources (that is to say tokens) taken by incoming packets (PI, P2 or P3) according to their priority.
On présente maintenant, en relation avec la figure 5, une description du fonctionnement du seau à jetons multi-niveau avec des buffers corrélés.We now present, in relation to FIG. 5, a description of the operation of the multi-level token bucket with correlated buffers.
Le fonctionnement avec trois régulateurs indépendants i G {1, 2, 3}, est équivalent au fonctionnement avec trois régulateurs dépendants Bi Ri,BMi ) avec :Operation with three independent regulators i G {1, 2, 3}, is equivalent to operation with three dependent regulators B i R i , BM i ) with:
- Biψ) la valeur instantanée du remplissage du buffer de jetons virtuel relatif aux paquets de niveau i ;- Biψ) the instantaneous value of the filling of the virtual token buffer relating to the packets of level i;
- BMj la taille maximale du buffer de jetons virtuel relatif aux paquets de niveau i.- BM j the maximum size of the virtual token buffer relating to level i packets.
Les tailles de buffers de jetons par niveau sont obtenus par : (Équation 3) The sizes of token buffers per level are obtained by: (Equation 3)
Ce mode implique que : Bl ≥ B2 ≥ B3This mode implies that: Bl ≥ B2 ≥ B3
Le rechargement des buffers de jetons peut alors s'exprimer sous une forme équivalente à Equation 1 par :The reloading of token buffers can then be expressed in a form equivalent to Equation 1 by:
Bx (t + B2 (t + T)= min[(b2 (t)+ min[(b3 (t)+ B3 (t + T ) = min[(&3 (t )+ r31 ) bm3 ]B x (t + B 2 (t + T) = min [(b 2 (t) + min [(b 3 (t) + B 3 (t + T) = min [(& 3 (t) + r 3 1) bm 3 ]
(Équation 4)(Equation 4)
Si on suppose que min[(ô1(t)+ r,.T')bmi.]= b,(t)+ r. , (Equation 4) devientIf we assume that min [(ô 1 (t) + r, .T ') bm i .] = B, (t) + r. , (Equation 4) becomes
Bx{t + T)= bx (t)+ b2 (t)+ b3 (t)+ (rx + r2 + r3 )l B2(t + τ)= b2+ b3(t)+ (r2 + r3 )T B3(t + T)≈ b3(t)+ r3.TB x {t + T) = b x (t) + b 2 (t) + b 3 (t) + (r x + r 2 + r 3 ) l B 2 (t + τ) = b 2+ b 3 (t) + (r 2 + r 3 ) TB 3 (t + T) ≈ b 3 (t) + r 3 .T
La figure 5 est une représentation graphique de l'algorithme d'attribution de jetons dans le cas où le fonctionnement du seau à jetons multi-niveau est décrit avec des buffers corrélés. Elle montre l'usage possible des ressources B,, B2 et B3 pour chacun des niveaux. De même que sur la figure 4, les traits épais (référencés 51, 52 et 53) montrent le remplissage des buffers de jetons (c'est-à-dire le nombre de jetons disponibles) pour chacun des niveaux, et les flèches les ressources (c'est-à-dire les jetons) prises par les paquets entrants (PI, P2 ou P3) selon leur priorité.FIG. 5 is a graphic representation of the token allocation algorithm in the case where the operation of the multi-level token bucket is described with correlated buffers. It shows the possible use of resources B ,, B 2 and B 3 for each of the levels. As in Figure 4, the thick lines (referenced 51, 52 and 53) show the filling of the token buffers (that is to say the number of tokens available) for each level, and the arrows the resources (i.e. tokens) taken by incoming packets (PI, P2 or P3) according to their priority.
Si les équations du rechargement traduisent exactement le même comportement pour les deux approches, le choix de l'attribution des jetons aux paquets à l'arrivée peut se réaliser par deux alternatives :If the reloading equations translate exactly the same behavior for the two approaches, the choice of the allocation of tokens to packets on arrival can be achieved by two alternatives:
- en mode discontinu (paquets): un paquet ne peut se servir que d'un seul régulateur ;- in batch mode (packets): a packet can only use one regulator;
- en mode continu (bits): un paquet peut se servir de plusieurs régulateurs à la fois. Selon le fonctionnement en mode discontinu (paquets), la prise en compte de l'arrivée du paquet est obtenue par l'algorithme suivant :- in continuous mode (bits): a packet can use several regulators at the same time. According to the operation in discontinuous mode (packets), the taking into account of the arrival of the packet is obtained by the following algorithm:
Il est à noter que (Equation 2) et (Equation 5) sont équivalentes.Note that (Equation 2) and (Equation 5) are equivalent.
Dans ce mode de fonctionnement discontinu (paquets), un paquet est servi par les ressources du niveau correspondant au paquet (niveau i) ou d'un niveau moins prioritaire (niveau j). Il est à noter que ce fonctionnement n'est pas optimal, car un paquet entrant est rejeté même si la somme des ressources disponibles réparties sur les 3 niveaux est suffisante.In this discontinuous operating mode (packets), a packet is served by the resources of the level corresponding to the packet (level i) or of a lower priority level (level j). It should be noted that this operation is not optimal, since an incoming packet is rejected even if the sum of the available resources distributed over the 3 levels is sufficient.
Selon le fonctionnement en mode continu (bits), la prise en compte de l'arrivée du paquet est obtenue par l'algorithme suivant : envoi;According to the operation in continuous mode (bits), the taking into account of the arrival of the packet is obtained by the following algorithm: shipment;
A priori ce mode de fonctionnement continu (bits) est plus optimal que le mode discontinu (paquets). En effet, il permet une utilisation maximale de ressources propres du niveau avant de demander des ressources à un niveau moins prioritaire.A priori this continuous operating mode (bits) is more optimal than the discontinuous mode (packets). Indeed, it allows maximum use of own resources of the level before requesting resources at a lower priority level.
On présente maintenant de façon détaillée un exemple de réalisation de la fonction TBTS qui assure la mise en forme du trafic.We now present in detail an embodiment of the SELV function which provides traffic shaping.
Le seau à jetons à niveau unique 31, sur lequel est basé cette fonction TBTS, est par exemple défini par les paramètres suivants :The single-level token bucket 31, on which this SELV function is based, is for example defined by the following parameters:
- R, le débit moyen ;- R, the average flow;
- Rmax, le débit maximal à la sortie ;- R max , the maximum flow at the outlet;
- B(t), la valeur instantanée du remplissage du buffer de jetons (Bmax est la taille maximale du buffer de jetons) ;- B (t), the instantaneous value of filling the token buffer (B max is the maximum size of the token buffer);
- S, la valeur instantanée du remplissage du buffer de paquets 28 (Smax est la taille maximale du buffer de paquets 28) ; - T, le temps séparant l'arrivée de deux paquets consécutifs ;- S, the instantaneous value of filling the packet buffer 28 (S max is the maximum size of the packet buffer 28); - T, the time between the arrival of two consecutive packets;
- τ, la durée d'une rafale de paquets.- τ, the duration of a burst of packets.
Les paquets conformes (c'est-à-dire ceux à qui il a pu être attribué des jetons par le seau à niveau unique 31) sont transmis alors que les paquets non-conformes sont retardés dans le buffer de paquets 28 pour les contenir dans l'enveloppe de trafic ciblé. La taille du buffer de paquets 28 est à manipuler avec précaution car elle peut induire un délai supplémentaire, qui doit rester raisonnable.Compliant packets (i.e. those to which it was possible to allocate tokens by the single-level bucket 31) are transmitted while non-compliant packets are delayed in the packet buffer 28 to contain them in the targeted traffic envelope. The size of the packet buffer 28 should be handled with care because it can induce an additional delay, which must remain reasonable.
Le fonctionnement du seau à niveau unique 31 (et donc de la fonction TBTS) peut être décrit par les équations suivantes :The operation of the single-level bucket 31 (and therefore of the SELV function) can be described by the following equations:
B(t + τ)= min[(B(t)+R.τ)Bm B (t + τ) = min [(B (t) + R.τ) B m
L.ï ≤ L, + ϋ.τ →τ ≤ - 5raax L.ï ≤ L, + ϋ.τ → τ ≤ - 5raax
La prise en compte du paquet P; est obtenue par l'algorithme suivant :Taking account of the P package ; is obtained by the following algorithm:
Si on considère rmax, le débit maximal à la sortie de la fonction MLTR, l'évolution du remplissage du buffer de paquets 28 entre l'arrivée de deux paquets consécutifs peut être décrit par l'équation suivante :If we consider r max , the maximum bit rate at the output of the MLTR function, the evolution of the filling of the packet buffer 28 between the arrival of two consecutive packets can be described by the following equation:
S(t + τ)≤ S(t)-Bmm + (rmsx -R)TS (t + τ) ≤ S (t) -B mm + (r msx -R) T
et S(t)-R.T-Bmm ≤ S(t + τ)≤ S{t)+ (rmax -R)τ and S (t) -RT-B mm ≤ S (t + τ) ≤ S {t) + (r max -R) τ

Claims

REVENDICATIONS
1. Procédé de contrôle d'un trafic de paquets de données en entrée d'un réseau, le trafic comprenant N flux et/ou sous-flux associés chacun à un niveau de priorité, N > 2, chacun des paquets étant marqué avec le niveau de priorité associé au flux ou sous-flux auquel appartient ledit paquet, caractérisé en ce qu'il comprend une étape de mise en œuvre d'un mécanisme de seau à jetons à N niveaux de fonctionnement avec N mémoires-tampons de jetons contenant chacune un nombre de jetons disponibles, les jetons de chacune des N mémoires- tampons de jetons étant utilisés pour traiter l'un des N niveaux de priorité, chacun des paquets étant accepté ou refusé selon qu'il est possible ou non de lui attribuer des jetons en fonction des jetons disponibles au moins dans la mémoire-tampon de jetons utilisée pour traiter le niveau de priorité dudit paquet.1. Method for controlling a traffic of data packets entering a network, the traffic comprising N streams and / or substreams each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or substream to which said packet belongs, characterized in that it comprises a step of implementing a token bucket mechanism with N operating levels with N token buffer memories each containing a number of tokens available, the tokens of each of the N token buffer memories being used to process one of the N priority levels, each of the packets being accepted or refused according to whether it is possible to allocate tokens or not according to the tokens available at least in the token buffer memory used to process the priority level of said packet.
2. Procédé selon la revendication 1, caractérisé en ce que le trafic comprend N sous-flux correspondant chacun à un des N niveaux hiérarchiques d'un flux hiérarchique ou d'un agrégat de flux hiérarchiques.2. Method according to claim 1, characterized in that the traffic comprises N sub-flows each corresponding to one of the N hierarchical levels of a hierarchical flow or of an aggregate of hierarchical flows.
3. Procédé selon la revendication 1, caractérisé en ce que le trafic comprend N sous-flux correspondant chacun à un des N types d'images d'un flux multimédia ou d'un agrégat de flux multimédia.3. Method according to claim 1, characterized in that the traffic comprises N sub-streams each corresponding to one of the N types of images of a multimedia stream or of an aggregate of multimedia streams.
4. Procédé selon la revendication 1, caractérisé en ce que le trafic comprend N flux correspondant chacun à un des flux d'un multiplex d'au moins deux flux.4. Method according to claim 1, characterized in that the traffic comprises N streams each corresponding to one of the streams of a multiplex of at least two streams.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le trafic comprend N flux et/ou sous-flux appartenant à une même classe de service.5. Method according to any one of claims 1 to 4, characterized in that the traffic comprises N streams and / or sub-streams belonging to the same class of service.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les paquets refusés sont jetés. 6. Method according to any one of claims 1 to 5, characterized in that the refused packets are discarded.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que le réseau est de type IP ou équivalent.7. Method according to any one of claims 1 to 6, characterized in that the network is of IP type or equivalent.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que chacun des N niveaux de fonctionnement du mécanisme de seau à jetons est géré par un régulateur bj η, bπij), i E {1 à N}, avec : - r-, le débit nominal du régulateur ; birii la taille maximale de la mémoire-tampon de jetons du régulateur ; bj(t) la valeur instantanée du remplissage de la mémoire-tampon de jetons du régulateur.8. Method according to any one of claims 1 to 7, characterized in that each of the N operating levels of the token bucket mechanism is managed by a regulator bj η, bπij), i E {1 to N}, with : - r-, the nominal flow rate of the regulator; birii the maximum size of the regulator token buffer; bj (t) the instantaneous filling value of the token buffer of the regulator.
9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que les jetons des N mémoires-tampons de jetons sont partagés entre les N niveaux de priorité, un paquet de niveau de priorité i pouvant se voir attribuer des jetons d'une mémoire-tampon de jetons associée à un niveau de priorité j moins prioritaire lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants.9. Method according to any one of claims 1 to 8, characterized in that the tokens of the N token buffer memories are shared between the N priority levels, a packet of priority level i being able to be allocated tokens d a token buffer associated with a lower priority level j when the tokens available in the token buffer of priority level i are not sufficient.
10. Procédé selon la revendication 9, caractérisé en ce que, pour chaque niveau de priorité hormis le niveau de priorité le plus prioritaire, on garantit une quantité de jetons10. Method according to claim 9, characterized in that, for each priority level apart from the highest priority level, a quantity of tokens is guaranteed
(Kj) réservés exclusivement aux paquets possédant ledit niveau de priorité.(K j ) reserved exclusively for packets having said priority level.
11. Procédé selon l'une quelconque des revendications 9 et 10, caractérisé en ce que l'attribution de jetons à un paquet de niveau de priorité i est effectuée selon un mode discontinu par paquet et consiste à attribuer : - soit des jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ; soit des jetons disponibles dans une mémoire-tampon de jetons de niveau de priorité j moins prioritaire, lorsque les jetons disponibles dans la mémoire- tampon de jetons de niveau de priorité i ne sont pas suffisants. 11. Method according to any one of claims 9 and 10, characterized in that the allocation of tokens to a packet of priority level i is carried out in a discontinuous mode per packet and consists in assigning: - either tokens available in the priority level token buffer i; or tokens available in a token buffer of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
12. Procédé selon l'une quelconque des revendications 9 et 10, caractérisé en ce que l'attribution de jetons à un paquet de niveau de priorité i est effectuée selon un mode continu par bit et consiste à attribuer : des jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ; et en complément des jetons disponibles dans au moins une mémoire-tampon de jetons de niveau de priorité j moins prioritaire, lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants. 12. Method according to any one of claims 9 and 10, characterized in that the allocation of tokens to a packet of priority level i is carried out in a continuous mode per bit and consists in allocating: tokens available in the memory -priority level i token buffer; and in addition to the tokens available in at least one buffer of tokens of priority level j with lower priority, when the tokens available in the buffer of tokens of priority level i are not sufficient.
13. Procédé selon l'une quelconque des revendications 1 à 12, caractérisé en ce que les paquets acceptés par le mécanisme de seau à jetons à N niveaux de fonctionnement sont placés dans une file d'attente, et en ce que ledit procédé comprend en outre une étape de mise en œuvre d'un mécanisme de seau à jetons à un seul niveau de fonctionnement avec une unique mémoire-tampon de jetons, de façon à prendre les paquets contenus dans la file d'attente et les envoyer sur le réseau en exécutant un lissage du trafic par limitation du débit instantané à une valeur acceptable par le réseau.13. Method according to any one of claims 1 to 12, characterized in that the packets accepted by the token bucket mechanism with N operating levels are placed in a queue, and in that said method comprises in in addition to a step of implementing a token bucket mechanism at a single operating level with a single token buffer, so as to take the packets contained in the queue and send them over the network by performing traffic smoothing by limiting the instantaneous speed to a value acceptable by the network.
14. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 3, lorsque ledit programme est exécuté sur un ordinateur.14. Computer program, characterized in that it comprises program code instructions for the execution of the steps of the method according to any one of claims 1 to 3, when said program is executed on a computer.
15. Dispositif de contrôle d'un trafic de paquets de données en entrée d'un réseau, le trafic comprenant N flux et/ou sous-flux associés chacun à un niveau de priorité, N > 2, chacun des paquets étant marqué avec le niveau de priorité associé au flux ou sous-flux auquel appartient ledit paquet, caractérisé en ce qu'il comprend des moyens de mise en œuvre d'un mécanisme de seau à jetons à N niveaux de fonctionnement avec N mémoires-tampons de jetons contenant chacune un nombre de jetons disponibles, les jetons de chacune des N mémoires- tampons de jetons étant utilisés pour traiter l'un des N niveaux de priorité, chacun des paquets étant accepté ou refusé selon qu'il est possible ou non de lui attribuer des jetons en fonction des jetons disponibles au moins dans la mémoire-tampon de jetons utilisée pour traiter le niveau de priorité dudit paquet.15. Device for controlling data packet traffic entering a network, the traffic comprising N streams and / or substreams each associated with a priority level, N> 2, each of the packets being marked with the priority level associated with the stream or sub-stream to which said packet belongs, characterized in that it comprises means for implementing a token bucket mechanism with N operating levels with N token buffer memories each containing a number of tokens available, the tokens of each of the N token buffer memories being used to process one of the N priority levels, each of the packets being accepted or refused according to whether it is possible to allocate tokens or not according to the tokens available at least in the token buffer memory used to process the priority level of said packet.
16. Dispositif selon la revendication 15, caractérisé en ce qu'il comprend des moyens de partage des jetons des N mémoires-tampons de jetons entre les N niveaux de priorité, un paquet de niveau de priorité i pouvant se voir attribuer des jetons d'une mémoire-tampon de jetons associée à un niveau de priorité j moins prioritaire lorsque les jetons disponibles dans la mémoire-tampon de jetons de niveau de priorité i ne sont pas suffisants.16. Device according to claim 15, characterized in that it comprises means for sharing the tokens of the N token buffer memories between the N priority levels, a packet of priority level i being able to be allocated tokens of a token buffer associated with a lower priority level j when the tokens available in the token buffer of priority level i are not sufficient.
17. Dispositif selon la revendication 16, caractérisé en ce que, pour chaque niveau de priorité hormis le niveau de priorité le plus prioritaire, lesdits moyens de partage comprennent des moyens de garantie d'une quantité de jetons (K,) réservés exclusivement aux paquets possédant ledit niveau de priorité.17. Device according to claim 16, characterized in that, for each priority level apart from the highest priority level, said sharing means comprise means for guaranteeing a quantity of tokens (K,) reserved exclusively for packets having said priority level.
18. Equipement réseau comprenant un dispositif de contrôle selon l'une quelconque des revendications 15 à 17, caractérisé en ce que ledit équipement réseau appartient au groupe comprenant : des équipements réseau situés entre un réseau d'un fournisseur d'application ou de service et un réseau d'un fournisseur d'un service réseau, constituant ledit réseau en entrée duquel est effectué le contrôle d'un trafic de paquets de données ; des routeurs compris dans des nœuds d'un réseau d'un fournisseur d'un service réseau, constituant ledit réseau en entrée duquel est effectué le contrôle d'un trafic de paquets de données. 18. Network equipment comprising a control device according to any one of claims 15 to 17, characterized in that said network equipment belongs to the group comprising: network equipment located between a network of an application or service provider and a network of a network service provider, constituting said network at the input of which data packet traffic control is carried out; routers included in nodes of a network of a network service provider, constituting said network at the input of which is carried out the control of data packet traffic.
EP04742535A 2003-04-18 2004-04-16 Method and device for controlling data packet traffic at the input of a network Withdrawn EP1616414A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0304903A FR2854018A1 (en) 2003-04-18 2003-04-18 Data packet e.g. MPEG flow, traffic controlling method for use in network e.g. Internet protocol network, involves accepting or refusing data packets based on possibility to attribute token according to availability of tokens
PCT/FR2004/000955 WO2004095783A2 (en) 2003-04-18 2004-04-16 Method and device for controlling data packet traffic at the input of a network

Publications (1)

Publication Number Publication Date
EP1616414A2 true EP1616414A2 (en) 2006-01-18

Family

ID=33041984

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04742535A Withdrawn EP1616414A2 (en) 2003-04-18 2004-04-16 Method and device for controlling data packet traffic at the input of a network

Country Status (4)

Country Link
US (1) US7542417B2 (en)
EP (1) EP1616414A2 (en)
FR (1) FR2854018A1 (en)
WO (1) WO2004095783A2 (en)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7545815B2 (en) * 2004-10-18 2009-06-09 At&T Intellectual Property Ii, L.P. Queueing technique for multiple sources and multiple priorities
JP4567433B2 (en) * 2004-12-27 2010-10-20 ルネサスエレクトロニクス株式会社 Host apparatus, device apparatus, communication system, and data transmission / reception method
EP1847071A4 (en) 2005-01-26 2010-10-20 Internet Broadcasting Corp B V Layered multicast and fair bandwidth allocation and packet prioritization
US7609634B2 (en) * 2005-03-22 2009-10-27 Alcatel Lucent Communication traffic policing apparatus and methods
US20070127521A1 (en) * 2005-12-02 2007-06-07 The Boeing Company Interface between network data bus application and avionics data bus
US20070157316A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Managing rogue IP traffic in a global enterprise
US9306852B2 (en) * 2006-01-27 2016-04-05 Avaya Inc. Coding and packet distribution for alternative network paths in telecommunications networks
US7817556B2 (en) * 2006-04-20 2010-10-19 Cisco Technology, Inc. Modification of policing methods to make them more TCP-friendly
CN101064672A (en) * 2006-04-24 2007-10-31 华为技术有限公司 Access equipment and its bandwidth control means
ATE545248T1 (en) * 2006-07-27 2012-02-15 Contextream Ltd DISTRIBUTED EDGE NETWORK
US7826358B2 (en) * 2006-12-29 2010-11-02 Ellacoya Networks, Inc. Hierarchical virtual queuing
US7848237B2 (en) * 2007-01-18 2010-12-07 Ineoquest Technologies, Inc. System and method for selective packet discard for the transport of multiple transportation streams of streaming media in packet-based networks
US8670394B2 (en) * 2007-08-14 2014-03-11 Qualcomm Incorporated Uplink requests
DE602007002820D1 (en) * 2007-08-31 2009-11-26 Alcatel Lucent Method for controlling a packet stream transmission
US8929372B2 (en) * 2007-10-30 2015-01-06 Contextream Ltd. Grid router
TWI351849B (en) * 2007-12-31 2011-11-01 Ind Tech Res Inst Apparatus and method for transmitting streaming se
US8467295B2 (en) * 2008-08-21 2013-06-18 Contextream Ltd. System and methods for distributed quality of service enforcement
US20100082353A1 (en) * 2008-09-29 2010-04-01 Apple Inc. Reward system for managing a digital workflow
US8000235B2 (en) * 2008-10-05 2011-08-16 Contextream Ltd. Bandwidth allocation method and apparatus
US8379516B2 (en) * 2009-12-24 2013-02-19 Contextream Ltd. Grid routing apparatus and method
US9772831B2 (en) 2010-04-26 2017-09-26 Pivotal Software, Inc. Droplet execution engine for dynamic server application deployment
US8813065B2 (en) 2010-04-26 2014-08-19 Vmware, Inc. Microcloud platform delivery system
US8572706B2 (en) 2010-04-26 2013-10-29 Vmware, Inc. Policy engine for cloud platform
US9448790B2 (en) 2010-04-26 2016-09-20 Pivotal Software, Inc. Rapid updating of cloud applications
US8904027B2 (en) 2010-06-30 2014-12-02 Cable Television Laboratories, Inc. Adaptive bit rate for data transmission
US9043767B2 (en) 2011-04-12 2015-05-26 Pivotal Software, Inc. Release management system for a multi-node application
US9170798B2 (en) 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US9047133B2 (en) 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US10031783B2 (en) 2012-03-02 2018-07-24 Vmware, Inc. Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
US9052961B2 (en) 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US9348652B2 (en) 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US9148379B1 (en) 2013-01-09 2015-09-29 “Intermind” société à responsabilité limitée Method and system for prioritizing audio traffic in IP networks
CN104079499A (en) * 2014-07-18 2014-10-01 福建星网锐捷网络有限公司 Message processing method and device based on token buckets
US20170104733A1 (en) * 2015-10-09 2017-04-13 Intel Corporation Device, system and method for low speed communication of sensor information
CA2944306C (en) 2015-10-30 2023-11-14 The Toronto-Dominion Bank Validating encrypted data from a multi-layer token
US9871610B2 (en) * 2015-10-30 2018-01-16 Citrix Systems, Inc. Method for packet scheduling using multiple packet schedulers
US11216808B2 (en) * 2015-11-04 2022-01-04 The Toronto-Dominion Bank Token-based system for excising data from databases
CA2943962C (en) * 2015-11-05 2024-01-16 The Toronto-Dominion Bank Securing data via multi-layer tokens
CN109729018B (en) * 2017-10-30 2022-12-13 北京华为数字技术有限公司 Burst size determining method based on flow shaping and related equipment
US10884815B2 (en) 2018-10-29 2021-01-05 Pivotal Software, Inc. Independent services platform
CN113938435B (en) * 2021-08-30 2024-01-16 奇安信科技集团股份有限公司 Data transmission method, device, electronic equipment, storage medium and program product

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247061B1 (en) * 1998-06-09 2001-06-12 Microsoft Corporation Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
AUPQ712500A0 (en) * 2000-04-27 2000-05-18 Commonwealth Scientific And Industrial Research Organisation Telecommunications traffic regulator
US6748435B1 (en) * 2000-04-28 2004-06-08 Matsushita Electric Industrial Co., Ltd. Random early demotion and promotion marker
US7095753B1 (en) * 2000-09-19 2006-08-22 Bbn Technologies Corp. Digital network processor-based multi-protocol flow control
EP1220493A1 (en) * 2000-12-28 2002-07-03 Alcatel Marker device and related method
US7382727B2 (en) * 2001-02-21 2008-06-03 Cisco Technology, Inc. System and method for asymmetrical bandwidth management
US6925055B1 (en) * 2001-03-05 2005-08-02 Advanced Micro Devices, Inc. Systems and methods for traffic shaping
US6901050B1 (en) * 2001-03-05 2005-05-31 Advanced Micro Devices, Inc. Systems and methods for flow-based traffic shaping
US7085236B2 (en) * 2002-05-20 2006-08-01 University Of Massachusetts, Amherst Active queue management for differentiated services
US7627675B2 (en) * 2003-05-01 2009-12-01 Cisco Technology, Inc. Methods and devices for regulating traffic on a network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004095783A2 *

Also Published As

Publication number Publication date
WO2004095783A2 (en) 2004-11-04
WO2004095783A3 (en) 2005-01-06
FR2854018A1 (en) 2004-10-22
US20070058548A1 (en) 2007-03-15
US7542417B2 (en) 2009-06-02

Similar Documents

Publication Publication Date Title
WO2004095783A2 (en) Method and device for controlling data packet traffic at the input of a network
EP3482531B1 (en) Bandwidth and abr video qoe management based on ott video providers and devices
US8971184B2 (en) Latency based random early discard for network packets
US9148386B2 (en) Managing bandwidth allocation among flows through assignment of drop priority
US20130205002A1 (en) Wide area network optimization
FR2850816A1 (en) Egress rate controller for packet-switched communication network, has leaky bucket with initial maximum number of token, and multiple token availability threshold level registers to specify multiple token amounts
US20020188732A1 (en) System and method for allocating bandwidth across a network
US20050013244A1 (en) System for actively controlling distributed applications
EP2504950B1 (en) Access control for a service subscription
FR2854296A1 (en) Flow packet processing device for use in network link, has scheduling module to schedule packet in queue based on analyzing incoming bit rate of flow relative to fair bit rate and fair queuing with priority algorithm
Hou et al. A differentiated services architecture for multimedia streaming in next generation Internet
Statovci-Halimi et al. QoS differentiation and Internet neutrality: A controversial issue within the future Internet challenge
EP0874533B1 (en) Fair packet scheduling
US9270616B1 (en) Low-latency quality of service
EP2103055B1 (en) Method for optimising the sharing of a plurality of network resources between a plurality of application flows
EP3989494A1 (en) Method for aggregation and control of messages via a restricted bi-directional communication channel
US20120106325A1 (en) Adaptive Shaper for Reliable Multicast Delivery over Mixed Networks
EP1039761B1 (en) Method for broadcasting digital data packets through a set of channels
Tawfeeq Network Congestion and Quality of Service Analysis Using OPNET
FR2867007A1 (en) Radio resource e.g. power, distribution process for cellular telecommunication system, involves allowing preemption of fraction of total power and code numbers by mobiles of high priority types based on comparison of needs of mobiles
Braun et al. Motivation and Basics
Nouman A resource based quality of service pricing model
Rosen Quality of Service for IP Networks: In Theory and Practice
Chaudhery A novel multimedia adaptation architecture and congestion control mechanism designed for real-time interactive applications
Heggi et al. A New Historical Based Policing Algorithm for IP Networks

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050927

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL HR LT LV MK

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LOUDHAIEF, WISSEM

Inventor name: BABONNEAU, GERARD

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20150408