WO2006082443A1 - Policing networks - Google Patents

Policing networks Download PDF

Info

Publication number
WO2006082443A1
WO2006082443A1 PCT/GB2006/000417 GB2006000417W WO2006082443A1 WO 2006082443 A1 WO2006082443 A1 WO 2006082443A1 GB 2006000417 W GB2006000417 W GB 2006000417W WO 2006082443 A1 WO2006082443 A1 WO 2006082443A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
greediness
messages
measure
path
Prior art date
Application number
PCT/GB2006/000417
Other languages
French (fr)
Inventor
Arnaud Jacquet
Robert John Briscoe
Carla Di Cairano-Gilfedder
Alessandro Salvatori
Original Assignee
British Telecommunications Public Limited Company
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
Priority claimed from GB0502483A external-priority patent/GB0502483D0/en
Priority claimed from EP05255164A external-priority patent/EP1758313A1/en
Application filed by British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Priority to CN200680004192.7A priority Critical patent/CN101116292B/en
Priority to KR1020077019177A priority patent/KR101228288B1/en
Priority to JP2007553706A priority patent/JP4705115B2/en
Priority to US11/795,949 priority patent/US7948878B2/en
Priority to EP06709661.0A priority patent/EP1847081B1/en
Publication of WO2006082443A1 publication Critical patent/WO2006082443A1/en

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/20Traffic policing
    • 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/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • 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/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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

Landscapes

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

Abstract

Methods and apparatus for policing flow in a data network by determining a measure of greediness of a flow through a node, comparing said measure of greediness with a measure indicative of acceptable greediness dependent on the expected greediness of a compliant flow experiencing substantially similar path conditions, and designating the flow for possible sanction in the event that the greediness is not in accordance with said acceptable greediness. Such methods and apparatus allow for the policing of a data network wherein one or more fields in a data packet that carry information relating to a characterisation of an end-to-end path and/or a downstream path of said data packet are used in order to police said data network.

Description

Policing Networks
Technical Field
The present invention relates primarily to the control of data in a network, and to methods and systems for enabling the policing of use of networks such as the Internet for communicating data.
Background to the Invention and Prior Art
Importance of responsible reaction to network congestion
The current Internet architecture is often criticised for trusting hosts to respond voluntarily to congestion; an oversight commonly put down to the environment of mutual trust in which these algorithms emerged. Unresponsive applications can effectively steal whatever share of bottleneck resources they need from responsive flows. Although it is believed that the large majority of current sources behave well, free-riding is more than just irritating. At the most alarmist, without knowing what makes the current co-operative consensus stable, we may unwittingly destabilise it, leading to congestion collapse with no way back. But a more gradual erosion threatens the Internet's viability, because unresponsive applications require more capacity investment per average bandwidth. New Quality of Service ("QoS") products that manage congestion properly will never be viable if anyone can take whatever they want anyway, without contributing to the investment needed. But investment in these new services will be too risky, creating a gap for even more misbehaving applications. So well-behaved applications will be trapped within a vicious circle of under-investment and misbehaviour.
Some applications need to be unresponsive (e.g. interactive voice, video and games). Others simply choose to be aggressive to give themselves premium service. Also, some users continuously fill their access link with more flows than others, whether deliberately (peer-to-peer file sharing) or unwittingly (worm infected zombie hosts). Even if each flow is responsive, in total more congestion results.
Characterisation of rate adaptation policies The TCP rate control algorithm [7] was developed in the late 1980s in response to a major congestion collapse on the Internet. It was designed to ensure that the rate of every flow traversing the Internet rapidly adapted to the level of congestion it experienced in such a way that each flow would tend towards a rate that shared capacity of any congested router or link fairly.
The TCP rate control algorithm runs within the operating system of the sending host. The programmer of an application can choose to use it or not. Programmers of applications that cannot tolerate rapid variation of bit rate, such as interactive voice or video applications, invariably choose not to use it.
Originally the TCP algorithm characterised the path being used across the Internet by detecting losses through missing acknowledgements and by measuring the round trip delay before those acknowledgements arrived. Recently, the TCP/IP standard was improved by the optional addition of Explicit Congestion Notification (ECN), so that a router experiencing early signs of congestion could mark packets before forwarding. The acknowledgement protocol was also changed to allow these marks to be conveyed back to the source. The standard for the TCP algorithm was altered to require the sending host to respond to these returned marks as if there had been a loss.
Among many others, Padhye et al [1] have developed a formula for the long-term average of TCP flows in steady-state, which is used in particular as the guidance for the rate adjustment of TCP-Friendly Rate Control (TFRC, a rate-based version of TCP's window- based mechanism, only with smoother adaptation) [2]. When congestion remains small (m«0.2), this value can be approximated to the square-root law, as given in Equation (1)
k - s x =τrη= (D
where x is the expectation of the throughput, k is a constant of the order of V(3/2), s is the packet size for the flow, T is its round-trip-time, and m is the end-to-end congestion metric (as represented by the proportion of marked and dropped packets within the flow).
There exist other models for the allocation of congested network resources among concurrent flows. For instance, Crowcroft and Oechslin [6] showed how easy it was to use more capacity than others by writing a version of TCP called MuITCP with a weight parameter ω that would mimic ω parallel TCP flows. Kelly et al [3] have developed a rate control algorithm based on an economic optimisation of utilisation of a network where Internet users define their own willingness-to-pay for the traffic they generate. Users effectively adopt a rate adaptation policy in order to maintain a constant spending rate over the course of the data transfer irrespective of the amount of data exchanged. The congestion status of the data path will cause the transfer duration to shrink and stretch dynamically. Such a policy is characterised by a throughput equation given in Equation (2):
* = ^ (2) m
where x, m, and s have the same meaning as above while w is the willingness-to-pay parameter of the user.
All these rate control algorithms depend on metrics of the path over which the transmission is conveyed. For whatever metric, whether loss, explicit congestion or round trip delay, the current arrangements for characterising the metric depend on the truthful compliance of both the receiver and the sender in a protocol designed to limit the rate with which they can communicate. Whole path congestion only emerges at the destination to be fed back from receiver to sender in a back-channel. But, in any data network, back- channels need not be visible to relays, as they are essentially communications between the end-points (they may be encrypted, or asymmetrically routed, or omitted entirely). So no network element can reliably intercept them. An earlier patent application by the present applicant related to a rate control mechanism that runs on network equipment intercepting acknowledgements passing back to the sender (see WO 03/049319), which has been embodied in a cellular radio network controller described in a paper later published by Siris [8]). However, such mechanisms ultimately rely on the receiver allowing its feedback to be visible and truthfully declaring path characteristics within it. Even then, the sender must also be relied upon to alter its rate correctly in response to path congestion and delay.
[1] J. Padhye, V. Firoiu, D. Towsley, and J. Kurose, "Modeling TCP Throughput: A Simple Model and its Empirical Validation", Proc ACM SIGCOMM 1998.
[2] S. Floyd, M. Handley, J. Padhye and J. Widmer, "Equation-Based Congestion Control for Unicast Applications". Proc. ACM SIGCOMM. August 2000. [3] FP. Kelly, A.K. Maulloo, and D.K.H. Tan, "Rate control for communication networks: shadow prices, proportional fairness and stability", Journal of the Operational Research Society, 49(3):237-252, 1998.
[6] Jon Crowcroft and Philippe Oechslin, "Differentiated End to End Internet Services using a Weighted Proportional Fair Sharing TCP," In: Computer Communication Review 28 pp. 53-69 (July, 1998).
[7] Van Jacobsen. Congestion avoidance and control. Proc. ACM SIGCOMM'88, Computer Communication Review, 18(4):314-329, 1988.
[8] Vasilios A. Siris. Resource control for elastic traffic in CDMA networks. In Proc. ACM International Conference on Mobile Computing and Networks (MobiCom'02), URL: http://www.ics.forth.gr/netlab/wireless.html , September 2002. ACM.
Rate Policing
In the current Internet, should senders stop complying with the reaction mechanism specified in the TCP standard, it would create havoc on the network. This is why several proposals have been developed for policing flows so users don't abuse their ability to send any rate of traffic over the network.
As was explained above, an Internet network element cannot currently know the relevant metrics about the path to verify that a sender is complying with the TCP protocol. Commercially available policers (e.g. from Sandvine ( www.sandvine.com ), or Riverhead Networks ( www.riverhead.com ) ensure that no flow exceeds a maximum rate, irrespective of the condition of each path being used through the rest of the network. Some such policers can use their knowledge of any local congestion on the equipment itself, but not elsewhere.
Indeed proposed policers that reduce the amount of state required by these commercial policers [4,5,12,13,14,15,16] must be sited on relays that are congested themselves in order to work. All these policers, which we will refer to as "bottleneck policers", detect unusually high bit rates, but a high sending rate might be perfectly legitimate if the path is uncongested or the round-trip time is short. Similarly, other policers on the latest broadband remote access servers enforce monthly volume caps in an attempt to control high volume file-sharing. But they punish traffic that fills troughs as much as traffic that causes peaks in utilisation.
Floyd and Fall [4] have proposed a penalty box mechanism based on the random early detection (RED) mechanism. RED is a widely used queue management mechanism on Internet routers, where the longer the output queue to the line, the higher is the probability of dropping (or marking if ECN is enabled) packets arriving at the queue. Their idea is to monitor the drop history of the RED algorithm. Any flow that predominates in the drop history after a long enough period is considered misbehaving, blacklisted and submitted to the appropriate sanction (dropping, declassing...). CHOKe [5] also exploits the idea that a grossly misbehaving flow will appear far more in the data stream than a compliant TCP flow. Whenever a packet arrives, it is compared with another randomly picked from the queue. If the two are from the same flow, that flow is suspected of misbehaving. CHOKe shows very good results in forcing down unusually high rate traffic.
Many research proposals have made incremental improvements on techniques for rate policing initially proposed by Floyd and Fall [4]. Stabilized RED (SRED [12]) was published in parallel, while later improvements include CHOKe [5], RED with Preference Dropping (RED-PD [13]), Least Recently Used RED (LRU-RED [14]), XCHOKe [16], and Approx. Fair Dropping (AFD [15]).
However in all cases, rate is policed with no respect to the specific characteristics of the path. For instance, let us consider two flows crossing a common bottleneck: flow A with a short round-trip time passes over an otherwise barely congested path while flow B has a round trip-time four times as long and experiences four times as much congestion on its path. In the long-term, flow B should get only 1/8 of the bandwidth flow A gets. Nevertheless, with all existing policers, if congestion is elsewhere than on the network element housing the policer itself, both packets will be considered equally responsible, and flow A will therefore be much more likely to be constrained than flow B.
Clerget & Dabbous [17] have proposed another type of distributed rate policing. In their proposed framework "Tag-based Unified Fairness" (TUF), bottlenecks police traffic so that flows of a given type all get the same share of the bottleneck bandwidth. The TUF approach is capable of ensuring intra-class fairness but not inter-class fairness: if n_TCP TCP flows and nJJDP UDP flows share a bottleneck, each TCP flows will get a share x_TCP and each UDP flow will get a share xJJDP so that n_TCP * x_TCP + n_UDP * x_UDP = C where C is the forwarding capacity of the node, however x_TCP != xJJDP for any level of congestion other than two very specific levels. Further to not achieving inter-class fairness, the TUF approach also exhibits the weaknesses of bottleneck policers.
Also in the prior art, Raisinghani & lyer[18] discloses a mechanism whereby a receiver dynamically prioritises its flows by controlling the achievable congestion window they should aim for, assuming drops are all caused on the final wireless section of the path. It appears that this relates to the problem of inter-flow congestion control, and that the receiver tampers with the congestion signal in order to adjust priorities between its flow. This document includes a discussion of RED-DT, which is another single-bottleneck fairness optimisation on RED. The optimisation only relies on local information (i.e. local with respect to the node concerned), such as queue lengths, buffer size, and a number of per-flow variables all specific to the node.
A further prior art document, Nikolouzou et al [19] describes a generic Differentiated Services (DiffServ) arrangement, and addresses the definition and deployment of specific network services in a DiffServ environment.
Recently, proposals have been made to enable the rate control algorithm of a data source to quickly find out how fast it can send data across a high capacity network. In these proposals, the source places a request in a protocol field. In XCP [11], the request is in terms of how much data can be sent before any acknowledgement has been received (termed the amount of data in flight, or the congestion window). In Quick-Start [10], the field is in terms of sending rate. As a packet traverses the network, if the value of the metric that a router can tolerate is less than the request, it re-writes the field. However, the resulting field must still be returned to the sender, and the sender must ensure its future rate complies with the network's response to its request. So both schemes still depend on the co-operation of sender and receiver against their own interests. The router could remember the response it had given on the previous round, and check a source complied next time, however, this would require flow state to be held on routers, losing the benefits of the stateless connectionless model of packet forwarding characteristic of the Internet. In connection-oriented networks, such as ATM, network elements send congestion backpressure messages [9] along each connection, duplicating any end-to-end feedback because they don't trust it. But it is inherently hard to use similar techniques in a connectionless datagram network without losing the benefits of low connection set-up latency and robustness of a packet network.
In a co-pending application filed by the present applicant having publication number WO2005/096566, the subject matter of which is incorporated herein by reference, a novel feedback mechanism was proposed termed "re-feedback", this term being indicative of the idea of "Receiver-Normalised" feedback. According to the re-feedback mechanism, the sender sets the initial value of any path characterisation field so that, by the time it has accumulated path information, it tends to arrive at the destination set to a commonly standardised value. Feedback from the destination to the source is then used to continuously correct any error in the destination value when future data is sent. A principal advantage is that data effectively carries with it a "prediction" of its own downstream path for use by in-line equipment along the transmission path.
Further, in another co-pending application filed by the same applicant having publication number WO2005/109783, the subject matter of which is also incorporated herein by reference, a novel dropping policer was proposed that would intercept traffic to ensure the downstream path metrics (e.g. congestion or delay) within packets were not persistently negative. It used sanctions such as packet truncation or discarding. Together, embodiments of the inventions of these two applications may be used to ensure that the sender must "pre-load" a sufficiently high value into the path metric fields of each packet so that they remain positive even after having been decremented in proportion to the congestion and delay experienced during transmission across an inter-network.
[4] S. Floyd and K. Fall, "Promoting the Use of End-to-End Congestion Control in the Internet", IEEE/ACM Transactions on Networking, May 1999.
[5] R. Pan, B. Prabhakar, and K Psounis. "CHOKe - A stateless active queue management scheme for approximating fair bandwidth allocation". [9] "Traffic control and congestion control in B-ISDN". Recommendation 1.371 (03/04), ITU-T, URL: http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T- REC-1.371 , March 2004.
[10] Amit Jain, Sally Floyd, Mark Allman, and Pasi Sarolahti. "Quick-Start for TCP and IP". Internet Draft draft-amitquick-start-03, Internet Engineering Task Force, URL: http://www.icir.orq/flovd/quickstart.html , September 2004. (Work in progress).
[11] Dina Katabi, Mark Handley, and Charlie Rohrs. "Congestion control for high bandwidth-delay product networks". Proc. ACM SIGCOMM'02, Computer Communication Review, 32(4):89-102, October 2002.
[12] Teunis J. Ott, T. V. Lakshman, and Larry H. Wong. "SRED: Stabilized RED". In Proc. IEEE Conference on Computer Communications (lnfocom'99), pages 1346-1355, URL: http://citeseer.ni.nec.com/ott99sred.html , March 1999. IEEE.
[13] Ratul Mahajan, Sally Floyd, and David Wetheral. "Controlling high-bandwidth flows at congested router". In Proc. IEEE International Conference on Network Protocols (ICNP'01), URL: http://citeseer.ni.nec.com/545435.html , 2001.
[14] Smitha A. L. Narasimha Reddy. "LRU-RED: An active queue management scheme to contain high bandwidth flows at congested routers". In Proc Globecomm'01 , URL: http://citeseer.nj.nec.com/473674.html , November 2001.
[15] Rong Pan, Lee Breslau, Balaji Prabhaker, and Scott Shenker. "Approximate fairness through differential dropping". Computer Communication Review, 33(2):23-40, April 2003.
[16] P Chhabra, S Chuig, A Goel, A John, A Kumar, H Saran and R Shorey. "XCHOKE: Malicious Source Control for Congestion Avoidance at Internet Gateways". Proc. ICNP, November 2002.
[17] Antoine Clerget & WaNd Dabbous: "TUF: Tag-based Unified Fairness", Proceedings of IEEE INFOCOM Conference on Computer Communications, April 2001. [18] Vijay Raisinghani & Sridhar Iyer: "Analysis of receiver window control in the presence of a fair router", IEEE Intl. Conf. on Personal and Wireless Communications, Jan 2005.
[19] Nikolouzou, Maniatis, Sampatakos, Tsetsekas & Venieris: "Network Services Definition and Deployment in a Differentiated Services Architecture" , IEEE Intl. Conf. on Communications 2002.
Summary of the Invention
As explained above, according to existing policing methods, rate is policed with no respect to the specific characteristics of the path. By virtue of this, existing policers deny themselves opportunities for optimising certain policing characteristics, including their responsiveness (i.e. ability to detect misbehaving flows quickly), their robustness (i.e. ability to identify as misbehaving as few compliant flows as possible, thus avoiding "false positives"), and in particular the trade-off between characteristics such as these.
According to a first aspect of the present invention, there is provided method of policing flow in a data network, said data network providing a network service having an associated reference rate adaptation policy, said method comprising steps of: determining a measure of greediness of a flow through a node; comparing said measure of greediness with a measure indicative of acceptable greediness; and designating the flow for possible sanction in the event that the greediness is not in accordance with the acceptable greediness; characterised in that said measure indicative of acceptable greediness is determined in dependence on the expected greediness of a flow conforming to the reference rate adaptation policy associated with said network service and experiencing substantially similar path conditions.
According to a related aspect of the invention, there is also provided apparatus for policing flow in a data network, said apparatus comprising means for carrying out the steps for implementing methods according to the first aspect above.
Flow in a data network can in general be regarded as comprising a plurality of messages, these being the individual data-carrying items applicable to the network and/or protocol in question. Where such a policing method is used in relation to current Internet Protocol (IP), it will be understood that the messages will in general be IP packets.
If fields in messages or packets arrive at network elements carrying a prediction of their downstream path (as was shown to be possible in the co-pending application referred to above having publication number WO2005/096566), it further becomes possible to police the rate at which they should arrive using these fields. If a dropper is located at the remote egress of the inter-network, as described in the co-pending application referred to above having publication number WO2005/109783, it becomes possible to force, persuade or at least incentivise the sender not to understate downstream congestion or delay.
Host-based rate control algorithms maintain state about the recent condition of each flow's path, which determines the sending rate. For instance, TCP maintains a congestion window variable while TCP-friendly rate control and Kelly's algorithm maintain a variable holding the current sending rate.
Once path characterisation arrives at a network element in each packet, the element can maintain its own path state for each flow. Then it can derive its own view of how fast the flow should transmit. It can use this to shape the rate of the flow by buffering packets, but it is preferred for it to merely check that the source is correctly adapting its rate in response to the changing path, termed policing. We have already said that schemes that require per flow state to be held on network elements are less preferable. It would be less problematic, however, for an edge access router to hold per flow state as it already maintains state for each access customer (such as the customer's allowed maximum rate).
Similarly, it is not sufficient to take bottleneck policing approaches, such as those proposed by Floyd and Fall (see [4] above), because they are not able to police the throughput of flows crossing multiple bottlenecks. Furthermore, Clerget et al's TUF approach (see [17] above) doesn't provide adequate inter-class fairness. The path-specific approach proposed according to embodiments of the present invention is capable of addressing these shortcoming by ensuring that all traffic sent over a given network service may be benchmarked on the same reference: the throughput a compliant flow would have for the rate adaptation policy agreed for this network service (e.g. TCP rate adaptation). Figure 1 outlines the difference between bottleneck policers (Hg 1 (a)) and the path- specific policer we propose (Fig 1 (b)). We illustrate the difference specifically for a congestion metric, although the same concept can be used for other metrics too. We consider a flow between source S and destination D crossing four network nodes with local congestion Hi1, m2, m3, m4. Policing nodes are represented with the local level of congestion "m" and the information "y" upon which they will perform the policing. We define as "x(y)" the throughput they are designed to let through.
For bottleneck policers, y = mi, which means a policer is required on every potential bottleneck, that is every router on the path. The effect of each bottleneck policer is:
Figure imgf000013_0001
) which gives an overall effect Xn = min( X0 , x(mi) , x(m2), ... , x(mn) ). We must further note that x(m) is a decreasing function, therefore: min(x(rrii) ) = x( max(rrii) ) which means that the overall effect is the effect of the worst bottleneck alone.
On the other hand, for the path-specific policer, y=M, the end-to-end congestion level. In that case, instead of having a throughput adjustment at each network node ( X0 , Xi , ... X4) there is only one potential throughput adjustment from xs to xD.
To alleviate the state requirements of the path-specific solution, below we describe alternative embodiments of the present invention, which require less state. The trade-off may be between how much state should be maintained and how fast the policer can detect misbehaving flows. A misbehaving flow may be defined as a flow that uses significantly more bandwidth than would a compliant flow given the same path conditions. According to preferred embodiments of the invention, it is proposed to detect misbehaving flows by recording the flow description of packets in the stream, with a probability in inverse proportion to their expected throughput. Equation (1) (see above) is used as an example of how expected throughput may be determined, noting that is based on the specific path characterisation values obtained from the packet. If a flow is consistently more greedy in its rate adaptation than is allowed or deemed acceptable, it will appear much more often in the polling record and can be singled out for sanction (which may simply involve marking as a warning, but may include more punitive action such as declassing, dropping, etc..) possibly after a period of further scrutiny. The allowed rate adaptation algorithm may be the standard one of TCP, or alternatively some other algorithm agreed between the sender and the ingress network operator, such as those of MuITCP or Kelly. In these latter cases, the weight parameter ω or willingness to pay parameter w may need to be part of the agreement between sender and ingress network. This parameter could be associated with a class of traffic, with certain flow identifiers, with a certain type of access interface, or with some field carried in some or all of the packets. This agreement might be signalled as and when a parameter is needed, or agreed contractually over long time periods.
A specific aspect by virtue of which preferred embodiments differ from prior art schemes is that misbehaving flows are not characterised only because of their absolute throughput, but rather on their throughput relative to that a compliant flow would get with the same network conditions on the data path. This is much more accurate in selecting which flows to sanction.
In addition to the above mechanism which ensures each flow is responsive to congestion, a further mechanism should preferably operate at the granularity of each sending user, rather than each flow. A "per user" counter should be maintained of the accumulated total of all the congestion values from packets probabilistically selected for the polling record. Then this counter can be used to weight the "per flow" algorithms more harshly against users who cause more congestion.
Without this addition, it would be possible for users to circumvent the per-flow policer by simply splitting a single misbehaving flow into multiple well-behaved flows to the same destination. Also two senders might always ensure flows are compliant, but one might continuously fill its access line with compliant flows while the other might be an occasional user.
This adaptation of a policer's strictness with long term behaviour ensures heavy users can still send at a high rate, but only into paths with low congestion or where the path is short. Whereas light users will be allowed to send at the full TCP rate at all times. This leads to advantageous differences over what is possible using embodiments of a scheme set out in another co-pending application filed by the present applicant having publication number WO2005/032068, which uses data volume as the metric for determining sanctions (whether sent during peaks or troughs in utilisation) and limits data access rate as the sanction (even if sending into an uncongested path).
As explained above, we have shown that by using the "re-feedback" concept, it is possible to detect and remove traffic at the network ingress that doesn't respond to congestion in the manner that TCP should, solely by inspecting network layer headers, using IP unchanged across unmodified core and border routers. Thus if an Internet service- provider wishes to charge for VoIP or video, users may be prevented from being able to benefit by hiding their unresponsive traffic in with best-effort to avoid the charges (e.g. using encrypted "Skype" peer-to-peer - see www.skype.com ).
In order to overcome such problems, it is not sufficient to use rate policers such as those available from vendors such as Sandvine or Riverhead Networks (see above). It is certainly desirable to be able to limit the rate, and hence the value that lower-tier customers can derive from a network. But such limits represent the maximum under the best conditions. To maximize the value all customers derive from a network and to balance revenues and the costs of interconnect with other networks, the allowed rate should further depend on path conditions across the whole or any relevant part of the inter-network.
It is also not sufficient to use deep packet inspection (DPI) to detect misbehaving flows, because misbehaviour may be concerned with the rate at which packets arrive, rather than with the data they carry. A packet may label itself as TCP, but not behave in compliance with the TCP algorithm. Similarly, a packet may label itself as UDP or Skype or whatever, but be sent using an algorithm friendly to TCP.
Using a policer according to a preferred embodiment of the present invention, it is made possible to push back harder the more congestion people cause cumulatively over periods, measured in days for example. So use of the network for high-bandwidth activities such as p2p file-sharing can be pushed into the troughs and off the peaks at the network edge.
Further, coupled where necessary with the "re-feedback" concept referred to above, edge network devices according to preferred embodiments of the present invention can police any desired congestion response, not just TCP, thereby enabling inter-provider QoS to be carried out by carrying out policing solely at the very edges of the Internet.
Brief Description of the Drawings
Preferred embodiments of the invention will now be described in more detail with reference to the accompanying drawings, in which:
Figure 1 outlines a fundamental difference between bottleneck policers (Fig 1 (a)) and a path-specific policer (Fig 1 (b)) operating according to the present invention; Figure 2 shows graphs indicating potential differences in policing behaviour between a classic policer (Fig 2(a)) and a path-specific policer operating according to a preferred embodiment of the present invention (Fig 2(b));
Figure 3 is a diagram showing a policer according to a comparatively generic embodiment of the present invention;
Figure 4 is a diagram showing a policer operating according to an embodiment of the present invention, using the model of a token bucket of fixed depth; Figure 5 is a diagram showing a policer operating according to a preferred embodiment of the present invention, wherein greediness is monitored by sampling traffic in inverse proportion to its expected throughput;
Figure 6 is a flow-chart showing steps taken by a policer operating according to an embodiment of the present invention wherein greediness is monitored without sampling traffic;
Figure 7 is a flow-chart showing steps taken by a policer operating according to an embodiment of the present invention wherein greediness is monitored by sampling traffic; Figure 8 is a graph showing the expected throughput of a TCP flow through a policer operating in accordance with a preferred embodiment of the invention.
Description of Preferred Embodiments of the Invention
Detection of potential abusers
Definitions and notations
We consider a node in a "re-feedback" network. Rows 1..J..J send packets 1.1.N] between times t=0 and t=τ, characterising the observation period. Implicitly, notations J and Nj depend on T. We consider the situation where sources are saturated with payload data, and therefore send as many packets as they possibly can, according to their compliant rate adaptation policy for behaving sources, or to their excessive bandwidth usage for misbehaving sources.
We define xapp, the apparent throughput for flow j over period T, as the ratio between the volume of data sent over the observation period, given by Equation (3)
Figure imgf000017_0001
where sμ and ty are the size and arrival time of packet i of flow j.
In today's Internet, most flows would be expected to be TCP-compliant and their long-term throughput would never be expected to exceed that of a concurrent TCP flow experiencing the same path conditions for too long. This TCP-equivalent rate is given by Equation (1) which we repeat here as Equation (4).
Figure imgf000017_0002
where s, T, and m are respectively the average values over T for the packet size, the round-trip-time and the end-to-end congestion level, and
Figure imgf000017_0003
.5.
In the future, other rate adaptation policies may become as common, which would result in a different expression of the long-term expected throughput x# = f(T,m,s) with respect of the path and flow characteristic.
We would use x# as a reference compliant rate for policing the traffic with respect to the conditions of the path they follow, where # denotes the rate adaptation policy used for that class of traffic. xTCp becomes a special case of x#.
An example of such an alternative rate adaptation defined by Kelly assumes users with a constant willingness-to-pay, in a context where a fixed price may be charged for each congestion mark detected in the flow. The expected long-term throughput for a flow using that rate adaptation policy is characterised by Equation (2) (see earlier).
We finally define the apparent greediness q of a flow as the ratio between its apparent rate xapp and its expected compliant rate x#, as given in Equation (5)
a , = ^sε- (5) Note that the expected greediness of a flow compliant to the rate adaptation policy against which it is policed is 1.
In order to perform path-specific policing, we also define the compliant greediness α# and the ceiling greediness α*. If the greediness αj of flow j reaches α* for a period of time longer than a reference period T*, the flow will be considered incompliant, and submitted to further scrutiny and sanction.
For the simplicity of the presentation but without loss of generality, we will only describe the policer in the context of TCP rate adaptation in the remainder of the document, and thus set x# = XTCP and α # = α TCP.
Design of the path-specific policer
Generic objective of the policer
Figure 3 outlines the objective of the policer: it has to flag any flow whose apparent greediness q is higher than the ceiling α* for a period of time T*. Flow j arrives at the policer at a rate xapp. The effect of the policer is to identify whether the flow is behaving (ctj< α*) or misbehaving (θj> α*) and to segregate their subsequent treatment based on that information.
The value of xTCp has to be maintained per flow and can be updated whenever a packet is received. For instance, xTGp may be obtained for each packet from the re-feedback fields thanks to Equation (4). We describe below several mechanisms to monitor q per flow, and segregate for sanction those flows with a greediness higher than the ceiling α* for a period of time T*.
Note that the exact definition of the flow is left open. Preferably, it would be the packets of an end-to-end connection, as identified by the source and destination addresses and ports. It may also be an aggregate of such connections: for instance, all connections incoming on a given interface of the policer and destined to an IP prefix.
A difference with respect to current "classic" policers, which may be of one of the types referred to above as "bottleneck policers", is outlined in Figure 2. Until now, policers single out suspect flows on the basis of their apparent rate only, irrespective of the conditions (transmission delay, congestion...) of the path they follow. This is not efficient in policing flows that follow a path-specific rate adaptation policy, and in particular TCP flows, which constitute the large majority of current Internet traffic. Figure 2 shows this distinction. While high-rate flows experiencing bad path conditions (characterised by long round-trip times and/or high congestion for instance) are caught with both a classic policer (Fig 2(a)) and a path-specific policer (Fig 2(b)) (see zone 1 in each figure), and while low-rate flows experiencing good path conditions are let through in both cases again (zone 2), classic policers would wrongly characterise two categories of flows:
- in zone 3, a classic policer will not categorise as misbehaving some flows with a throughput not so high in absolute terms, but already too high given the unfavourable path conditions, while a path-specific policer would catch it, in zone 4, a classic policer will categorise as misbehaving some flows with very high throughput in absolute terms, but perfectly acceptable given the very favourable path conditions, while a path-specific policer would let them through.
Another significant difference is that existing policers have to be deployed at all the potential points of congestion in the network. Embodiments of the invention allow instead for the policing to be performed at the upstream edge of the network, therefore enabling a more efficient protection of the network.
Token-bucket policer
A possible mechanism is to monitor the cumulative discrepancy between the greediness Oj of the flow and the expected greediness αTCp=1 of a compliant flow in the same path conditions. Figure 4 shows how this can be done by means of a token bucket. Whenever a packet arrives, αTcp-dtj,j is added to the token bucket (where dtjj is the inter-arrival time since the last packet), while k-rcp-Tjj.Vmy is taken out of it (where Ty and m^ are obtained from the fields in the packet). If the bucket is not empty after the adjustment, the packet is served as requested. If on the other hand the bucket is empty, the flow is flagged for sanction and the packet is dealt with appropriately.
Figure 6 describes the flow chart related to Figure 4. When a packet arrives, it is associated with its flow id j, the downstream congestion metric mlt\ , the round-trip time Ty and the time tnew when it is received. First, the policer checks whether the flow is on the blacklist (no flow is on the blacklist at first). If it is not on the blacklist, the policer determines
Figure imgf000019_0001
If a bucket Bj doesn't exist for this flow, the policer creates one, and initialises the number of tokens in it Bj = B0 and the time of the last update tj=tπβw Then in all cases the number of tokens in the flow is adjusted by adding tnew- tj - nTCp and capped by Bmax. We recommend Bmax= B0= B as given in Equation 6 (see below). The final step is to check that the bucket is not empty at the end of this operation. If Bj<0 the flow id is blacklisted and the packet is treated for sanction, while if Bj>0 the packet is processed normally.
Determining nTCp is not a very simple computational operation as it may require extracting a square root (or a cubic root, as explained in the section dealing with Obtaining the path metrics"). Therefore, if the implementation of the policer is required to minimise delay in forwarding packets, the order of operation may be different. First the number of tokens in the bucket would be checked. If Bj>0, the packet would be forwarded immediately. Updating the state of the token bucket would be done offline, but quickly enough so that the update occurs within a round-trip time. The delay minimisation in the packet processing may come at the expense of responsiveness, as it may take longer to detect misbehaving flows.
When packet i of flow j arrives, the bucket fill is adjusted by (+αTCp.dtj,ι -Tμ.Vrrij/k). The cumulative adjustment over period T is sumi=1..Nj (+ αrcp-dtjj - kTcp-Tj,j.Vnrij,j) which is equivalent to (αTcp-cij).τ. (see Annex A1)
For a full-speed TCP flow, Exp[ sumi=1..Ni(+ατcp.dtj,| -Tj]i.Vrrij,i/k) ] = (αTCp-
Figure imgf000020_0001
and the trend will be for the number of tokens to oscillate around its starting position.
The bucket for an unsaturated TCP-friendly flow (q< αTcp) will fill up linearly until saturation, because Exp[
Figure imgf000020_0002
- kγcp.Tjj.Vmy) ]= (αTcp- θj).τ > 0.
The bucket for a misbehaving flow (αj*) will empty linearly until no token is left, because Exp[
Figure imgf000020_0003
kTcp.Tj,i.Vmj,i) ]= (αTCp- α,).τ < 0.
The depth of the bucket follows from the objective of the policer. The policer should flag any flow whose apparent greediness α, is higher than the ceiling α* for a period of time T*. For such a flow with greediness α*, the bucket should be empty after T*, even if the bucket is full at the start:
B + Exp[sumi=1..N (+ α-rcp.dtjj - kTcp.Tμ.Vmy)] = B + (αTCp-α*).τ* = 0 In other words, the bucket depth B is given by Equation (6)
B=(α*TCP).τ* (6)
Practically, this means that 50% of flows with a greediness α* will be detected after a period of time T*, while only a very small proportion of TCP-compliant packets will be wrongly identified as misbehaving.
Another variant on the design, illustrated in Figure 5, limits the requirements on per-flow state for small flows. It monitors the greediness by sampling traffic in each flow in inverse proportion to its expected throughput, given by xTCp as previously.
Whenever a packet arrives, a random test is performed. We first draw Uj from a uniform distribution over [0,1]. If U1 > λ.Sj/xTCp where λ is a constant sampling parameter, the packet is served as requested. If U1 < λ.Sj/xTcp , λ.ατcp-dtj,j is added to the token bucket, while 1 token is drawn out of it - the resulting adjustment is λ.αTcp-dtjfi -1. If the bucket is not empty after the adjustment, the packet is served as requested. If on the other hand the bucket is empty, the flow is flagged for sanction and the packet is dealt with appropriately. This time, the cumulative adjustment is equivalent to λ. (αTCp-αj).τ. (See Annex A2.)
The advantage of the sampling version for the policer is that small compliant flows will not require the creation of a token bucket, which will reduce the state requirement (number of active token buckets) of the policer when compared to a non-sampling embodiment. This feature is important in protecting the policer against denial-of-service attacks.
Figure 7 describes the flow chart related to Figure 5. When a packet arrives, it is associated with its flow id j, the downstream congestion metric mjj , the round-trip time Ty and the time tnθW when it is received. First, the policer checks whether the flow is on the blacklist (no flow is on the blacklist at first). If it is not, the policer determines nTcp = krcp.Tjj.Vmjj. At this stage, a sampling policer selects a random variable Uj picked in the range [0..1] and compares it to λ.nTCp. If Uj> λ.nTcp , the packet is processed for forwarding without further delay. Otherwise, if a bucket Bj doesn't exist for this flow, the policer creates one, and initialises the number of tokens in it Bj = B0 and the time of the last update tj=tnew. Then in all cases the number of tokens in the flow is adjusted by adding λ. (tnew- tj) -1 and capped by λ.Bmax. We recommend B0= B as given in Equation 6. The final step is to check that the bucket is not empty at the end of this operation. If Bj<0 the flow id is blacklisted and the packet is treated for sanction, while if Bj>0 the packet is processed normally.
The choice of λ will enable control of the state requirement for the policer. Higher values with spare the policer from creating token buckets for the shortest, most-compliant flows.
Sanction
A wide number of options are possible for treating packets of blacklisted flows, such as:
- they can be dropped; - they can be demoted to a class of lower priority if one exists;
- they can be marked as a warning for the source to react.
The state of the token bucket Bj may still be updated at that point. One treatment may be applied when the flow has just been blacklisted, a harsher treatment may be applied if the number of tokens in the bucket remains negative, and the flow may be removed from the blacklist when the number of tokens in the bucket becomes positive again (as would happen if the flow drastically reduces its sending rate).
Obtaining the path metrics For that purpose, three values may be extracted from the packet header: the flow id j, the re-feedback congestion field hj, and the re-feedback downstream delay Dj.
Preferably the policer should be located close to the ingress of the network. Indeed the re- feedback fields may only characterise the downstream path while end-to-end metrics are required for the compliance test. If the policer is located close to the network ingress, there are two options: either the discrepancy might be ignored because the upstream contribution to the end-to-end metrics can be shown to be negligible, or the upstream contribution could be monitored by the policing node and used together with the downstream metrics in order to obtain the end-to-end metrics. This may require the policing node to keep permanent state of its upstream paths, which may only be manageable at a network ingress where the number of upstream nodes is limited.
In accordance with preferred embodiments, it is proposed to derive nrij from the downstream metric extracted from hj, which is a standard re-feedback operation. This assumes that the upstream network between the ingress access element and the sending host doesn't experience significant congestion.
Note that the value of rrij derived from the re-feedback field will characterise the probability nripkt that a packet gets marked, while Equation (1) requires for m the probability nirtt that one such mark occurs for one or more packets in a round-trip time. It may happen in the future that mpkt is more appropriate, but at the moment mm is more appropriate. A close approximation of the relation between these two values is that m^ ~ mPkt.cwnd where cwnd=Xτcp.T/s=k/mrtt Λ(1/2). This leads to m^ ~ (k.mpkt)Λ(2/3).
Also in accordance with preferred embodiments, it is proposed to keep on the policing node a record of the upstream round-trip delay T0 between each upstream source and itself using the minimum of a number of tests at uncongested periods. The round-trip time can be obtained as Tj = T0 + 2.Dj assuming symmetric routing. Other techniques might be used to retrieve the roundtrip: see for instance Jiang & Dovrolis [20].
[20] Hao Jiang & Constantinos Dovrolis: "Passive estimation of TCP round-trip times", ACM SIGCOMM Computer Communication Review Volume 32, Issue 3 (July 2002).
Setting the ceiling conditions
Below, we outline how α* should be chosen in order to achieve a sufficient level of robustness (by putting a tight upper limit to the proportion of compliant flows that may be deemed as misbehaving).
The ceiling greediness α* is the main control parameter of the policer. Its choice is key in setting the trade-off between responsiveness (detecting misbehaving flows quickly) and robustness (identifying as misbehaving as few compliant flows as possible) of the policer. We explain here how to set α* so that the proportion of compliant flows identified as misbehaving (that is, the proportion of false positives) remains smaller than ε (we would expect ε to take very small values, say 103 at most).
First we show how α should be set if the observation period is the round-trip time Tj of the flow, during which mj congestion is constant, before showing how this result can be extended to give absolute value for all flows through the policing node. As an example, Figure 8, which results from modelling TCP's rate adaptation mechanisms as a Markov chain, shows on a log scale the cumulative probability distribution y=log(P(cwnd<ε)) of the congestion window cwnd of a TCP connection over one round- trip-time Tj for a congestion level nrij=10"2. In effect, this is the expected throughput of a TCP flow over a reference observation period equal to its round-trip time: τ*= Tj .
The requirement is for the policer to get a proportion of false positives smaller than ε over T*, α* should therefore be set so that the probability for the congestion window to exceed α* times the expected average cwndavg is smaller than ε, which is given by P(cwnd>α*.cwndavg)< ε.
Figure 8 shows how to find α* when ε =10"3. In this example, we get α*.cwndavg ~ 35 while cwndavg -12.7 (the value of the average comes from analysis of the TCP congestion window as a Markov chain). This gives α*~3 for ε =10"3. This means that after T* at least 50% of flows with a greediness higher than α* will be rightly qualified as misbehaving while no more than 0.1% of TCP-compliant flows will be wrongly identified as misbehaving if the bucket depth is set to (α*- αTcp). T*. Let the observation period grow and the robustness of the policer will get better (although it will get less responsive).
If the policer is to be dimensioned for responsiveness rather than robustness, then the depth of the bucket should be set to a lower value.
If the sampling version of the policer is to be dimensioned to minimise its state requirement (as defined by the number of buckets necessary to monitor the traffic flowing through), a shorter bucket will reduce the state requirement, as well as a smaller value for the sampling parameter λ.
Further embodiment adjusting the compliance test to each user's congestion history It is possible to address the above issue by keeping track of the amount of congestion caused by a user over a recent period. For instance, a record of the volume of the congestion mk resulting from the data sent could be maintained for each user, while the contracted usage over the period Uk is known. Further, estimates of the aggregate usage over all users U and of the resulting congestion M would also be computed. The sampling coefficient λ can be adjusted to take into account the ratio (mk /Uk)/(M/U). For instance, rather than using the same sampling coefficient λ for all users, it is possible to define the sampling coefficient for user k as λk= λ. max{1 , (mk /Uk)/(M/U)} so that data for user k is policed much more strictly when user k has used up the congestion "budget" (M/U)*Uk.
Possible Alternatives
We have proposed in the above sections a design for a rate policer that may detect flows whose rate adaptation need not be responsive to their path characteristics with respect to established rate adaptation principles (the TCP standard). We have illustrated this mechanism for long-lived TCP flows in steady state. As the steady-state throughput is the maximum long-term throughput a compliant TCP flow can achieve, the policer could indeed be effective for any TCP flow. The policer can however use other compliance . criteria. For instance the long-term TCP rate formula could be substituted by Kelly's "constant willingness to pay formula" (see Equation (2) above). This would in general require each packet to carry a "willingness-to-pay" field.
Different classes of traffic may also be tested against different compliance formulas by using different classes.
Annexes - Analysis on Token Bucket Mechanism
Annex A1 : Token Bucket Without Sampling Proposition: The amount of token in the bucket is equivalent to (αTCP - αj).τ Proof Outline:
Every time a packet arrives, the number of tokens increases by αTCp-(ti - tM) and decreases by Tj.Vm/k. After a time T, the bucket will contain sumi=i..n(T)Tcp-(tr tj.i)- Ti.Vm/k) where n(τ)=Nj(τ).τ. The bias of the estimate is: b = sumi=i..n(τ)Tcp-(trti-i)) - sumi=1..n(τ) (Ti.Vm/k) - (αTGp -dj).τ = αTCP.τ - sumi=1..n(T) (Ti.Vmi/k) - αTCp.τ + q .T
- sumi=1..n(T) (Ti.Vmi/k) + αj .τ - sumi=1..n(τ) (Ti.Vm/k) + (napp/nTcp)-τ
= n(τ) . est(T.Vm/k) - sumi=1..π(τ) (Tf-Vm/k) + (napp/nTcp).τ - n(τ). est(T.Vm/k) = n(τ) .{est(T.Vm/k)-sumi=1..n(T)(Ti.Vm/k) / n(τ)} + n(τ).(1/nTCp - est(T.Vm/k) )
+ n(τ).(1/nTCp - est(T.Vm/k) )' by defining est(T.Vm/k)=sumi=1..n(T)(Ti.Vm/k) /n(τ)
So in the end b = n(τ). ( i/nTcp - est(T.Vm/k) ) In order to get | b | < ε we need to have n(τ). 1 1/nTCP - est(T.Vm/k) | < ε
By transcribing "xTcp = k.s/ (T.Vm) " which is effectively an equivalence, we get: For any ε^ , there exists T1 so that 1 1/nTCp - est(T.Vm/k) | < zλ
If we further assume that εi = O(1/n(τ)), which stresses that the equivalence is stronger for longer flows, we get: For any ε2 , there exists T2 so that 1 1/nTCp - est(T.Vm/k) | < ε2/ n(τ2)
If we choose T2 so that ε = ε2/n(τ2), we get | b | < ε and therefore the proposed equivalency.
Note: this doesn't require averaging at the policer. If an exponentially-weighted moving average (EWMA) is used, we could define est(T.Vm/k)=sumi=1..π(τ)(EWMA(Ti.Vrni/k))/n(τ) instead, and all the rest of the proof is just as relevant. This may not improve the performance of the policer as far as the average is concerned. Most likely, there would be an impact on the performance with respect to the variance. Annex A2: Token Bucket with Sampling Proposition:
The amount of tokens in the bucket is equivalent to (αTCp-αj).λ.τ Proof Outline: Very similar. We define L(τ) as the number of sampled packets: L(τ) = n(τ).λ b = sumi=i..L(T)TCp-λ.(trt|.i)) - sumM..L(T) (1 ) - (αTCp -αj). λ.τ
= αTCp.λ.τ - sumi=1..n(T) (Ui) + α,. λ.τ - αTGp λ.τ
= - sumi=1..n(τ) (Ui) + αj. λ.τ
=sumi=i..n(T) (λ.Ti.Vm/k-u,) - sumi=1..n(T) (λ.Ti.Vm/k) + q. λ.τ =sumi=1..n(τ) (λ.Ti.Vm/k-Ui) - sumi=1..n(τ) (λ.Ti.Vm/k) + (napp/nTcp).λ.τ
= sumi=1..n(τ) (λ.Ti.Vm/k-Ui) - sumi=1..n(T) (AT1. Vm/k) + (napp/nTcp).λ.τ
+n(τ).λ.est(T.Vm/k)-n(τ).λ.est(T.Vm/k) (λ.Tj.Vm/k-Ui) + n(τ).λ.( 1/nτcp - est(T. VnVk))
+ n(τ).λ.{est(T.Vm/k)- sumi=1..n(T) (Tj-Vm/k) /n(τ)}
= sumi=1..n(τ) (λ.Tj.Vm/k-Ui) + n(τ).λ.( 1/nTcp - est(T.Vm/k)) by defining est(T.Vm/k)=sumi=i..n(T)(Ti.Vm/k) /n(τ), as in A1
This time we get b=λ.n(τ).(1/nTcp - est(T.Vm/k)) + sumi=1..n(T) (λ.Ti.Vm/k-Uj). We can choose T3 so that ε/2 = ε2/ n(τ3), for the reasons given in A1.
If moreover |sumi=i..n(τ) (λ.Ti.Vmj/k-Ui)|< ε/2 when τ>τ4 then b< ε when τ>max(τ34).

Claims

1. A method of policing flow in a data network, said data network providing a network service having an associated reference rate adaptation policy, said method comprising steps of: determining a measure of greediness of a flow through a node; comparing said measure of greediness with a measure indicative of acceptable greediness; and designating the flow for possible sanction in the event that the greediness is not in accordance with the acceptable greediness; characterised in that said measure indicative of acceptable greediness is determined in dependence on the expected greediness of a flow conforming to the reference rate adaptation policy associated with said network service and experiencing substantially similar path conditions.
2. A method according to claim 1 wherein the flow comprises a plurality of messages.
3. A method according to claim 2 wherein said messages are data packets.
4. A method according to claim 2 or 3 wherein said messages carry information indicative of one or more characteristics of a path used by the messages in traversing a data network.
5. A method according to claim 4 wherein said messages carry information indicative of a characteristic of an end-to-end path in said data network.
6. A method according to claim 4 or 5 wherein said messages carry information indicative of a characteristic of a downstream path in said data network.
7. A method according to any of claims 4, 5 and 6 wherein said messages carry information indicative of congestion.
8. A method according to any of claims 4 to 7 wherein said messages carry information indicative of a round-trip time (RTT) for messages traversing said path in said data network.
9. A method according to any of claims 2 to 8, further comprising a step of selecting one or more messages from said flow, wherein said step of comparing is performed in relation to said selected messages.
10. A method according to claim 9 wherein the probability of a particular message being selected from said flow is dependent on the greediness of said flow
11. A method according to any of the preceding claims, wherein said measure of greediness is determined in dependence on a rate adaptation policy of said flow.
12. A method according to any of the preceding claims, wherein said expected greediness is determined with reference to a measure of greediness of a TCP-compliant flow.
13. A method according to any of the preceding claims, wherein said measure indicative of acceptable greediness is determined with reference to a desired level of robustness of a node when performing the method.
14. A method according to any of the preceding claims, wherein said measure indicative of acceptable greediness is determined with reference to a desired level of responsiveness of a node when performing the method.
15. A method according to any of the preceding claims, wherein said measure indicative of acceptable greediness is determined with reference to state requirements of a node when performing the method.
16. A method according to any of the preceding claims, wherein said step of designating the flow for possible sanction is taken in the event that the greediness of the flow passes a threshold level of acceptable greediness.
17. A method according to any of the preceding claims, wherein the likelihood of said step of designating a flow for possible sanction being taken is dependent on a measure of disparity between said greediness and said acceptable greediness.
18. A method according to any of the preceding claims, wherein the severity of any possible sanction for which a flow is designated is dependent on a measure of disparity between said greediness and said acceptable greediness.
19. A method according to any of the preceding claims, further comprising a step of taking action in relation to flows designated for possible sanction.
20. A method according to claim 19 wherein said action comprises dropping one or more messages from one or more flows designated for possible sanction.
21. A method according to claim 19 or 20 wherein said action comprises demoting one or more messages from one or more flows designated for possible sanction to a traffic class having a lower priority.
22. A method according to any of claims 19, 20 or 21 wherein said action comprises marking one or more messages from one or more flows designated for possible sanction.
23. A method according to claim 22 wherein said action of marking comprises marking messages with a notification to a source of said flows indicating that further sanction may be taken in the event that said source fails to react appropriately to said marking.
24. A method according to any of claims 19 to 23 wherein said action comprises delaying one or more subsequent messages from one or more flows designated for possible sanction.
25. A method according to any of claims 19 to 24 wherein said action comprises subjecting one or more flows designated for possible sanction to rate control.
26. A method according to any of the preceding claims wherein said measure indicative of acceptable greediness in respect of a flow may be varied in dependence on a measure of past behaviour in respect of said flow.
27. A method according to any of the preceding claims wherein the severity and/or likelihood of any possible sanction in respect of a flow may be varied in dependence on a measure of past behaviour in respect of said flow.
28. A method according to any of the preceding claims wherein said measure indicative of acceptable greediness and/or said expected greediness in respect of a flow may be varied in dependence on a class of traffic of said flow.
29. Apparatus for policing flow in a data network, said apparatus comprising means for carrying out the steps for implementing methods according to any of the preceding claims.
PCT/GB2006/000417 2005-02-07 2006-02-07 Policing networks WO2006082443A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN200680004192.7A CN101116292B (en) 2005-02-07 2006-02-07 Policing networks
KR1020077019177A KR101228288B1 (en) 2005-02-07 2006-02-07 Policing networks
JP2007553706A JP4705115B2 (en) 2005-02-07 2006-02-07 Network monitoring
US11/795,949 US7948878B2 (en) 2005-02-07 2006-02-07 Policing networks
EP06709661.0A EP1847081B1 (en) 2005-02-07 2006-02-07 Policing networks

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0502483.1 2005-02-07
GB0502483A GB0502483D0 (en) 2005-02-07 2005-02-07 Policing networks
EP05255164.5 2005-08-22
EP05255164A EP1758313A1 (en) 2005-08-22 2005-08-22 Policing networks

Publications (1)

Publication Number Publication Date
WO2006082443A1 true WO2006082443A1 (en) 2006-08-10

Family

ID=36103258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2006/000417 WO2006082443A1 (en) 2005-02-07 2006-02-07 Policing networks

Country Status (6)

Country Link
US (1) US7948878B2 (en)
EP (1) EP1847081B1 (en)
JP (1) JP4705115B2 (en)
KR (1) KR101228288B1 (en)
CN (1) CN101116292B (en)
WO (1) WO2006082443A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2234346A1 (en) 2009-03-26 2010-09-29 BRITISH TELECOMMUNICATIONS public limited company Policing in data networks
EP2398194A1 (en) 2010-06-17 2011-12-21 British Telecommunications Public Limited Company Monitoring path characterisation information
EP2541850A1 (en) 2011-06-30 2013-01-02 British Telecommunications Public Limited Company Determining path congestion measures
WO2013001271A1 (en) 2011-06-30 2013-01-03 British Telecommunications Public Limited Company Determining path congestion measures
EP2575303A1 (en) 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Determining congestion measures
WO2013045878A1 (en) 2011-09-30 2013-04-04 British Telecommunications Plc Attribution of congestion contributions

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7965717B2 (en) * 2003-01-17 2011-06-21 Nortel Networks Limited Multi-staged services policing
EP2106068A1 (en) * 2008-03-28 2009-09-30 British Telecommunications Public Limited Company Measuring data source-specific network metrics
CN101557335B (en) * 2008-04-11 2012-11-21 华为技术有限公司 Method for controlling node to join peer-to-peer network and device thereof
US8000235B2 (en) * 2008-10-05 2011-08-16 Contextream Ltd. Bandwidth allocation method and apparatus
US20110083175A1 (en) * 2009-10-06 2011-04-07 Sonus Networks, Inc. Methods and Apparatuses for Policing and Prioritizing of Data Services
US8340126B2 (en) 2010-06-07 2012-12-25 Lockheed Martin Corporation Method and apparatus for congestion control
US10284356B2 (en) 2011-02-03 2019-05-07 The Board Of Trustees Of The Leland Stanford Junior University Self-interference cancellation
US10230419B2 (en) * 2011-02-03 2019-03-12 The Board Of Trustees Of The Leland Stanford Junior University Adaptive techniques for full duplex communications
US10243719B2 (en) 2011-11-09 2019-03-26 The Board Of Trustees Of The Leland Stanford Junior University Self-interference cancellation for MIMO radios
CN102571570A (en) * 2011-12-27 2012-07-11 广东电网公司电力科学研究院 Network flow load balancing control method based on reinforcement learning
TWI459768B (en) * 2011-12-30 2014-11-01 Ind Tech Res Inst Communication system and method for assisting transmission of tcp packets
US9325432B2 (en) 2012-02-08 2016-04-26 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for full-duplex signal shaping
KR101475935B1 (en) 2013-06-20 2014-12-23 고려대학교 산학협력단 Adaptive probabilistic packet filtering router and method thereof
US9698860B2 (en) 2013-08-09 2017-07-04 Kumu Networks, Inc. Systems and methods for self-interference canceller tuning
US11163050B2 (en) 2013-08-09 2021-11-02 The Board Of Trustees Of The Leland Stanford Junior University Backscatter estimation using progressive self interference cancellation
US8976641B2 (en) 2013-08-09 2015-03-10 Kumu Networks, Inc. Systems and methods for non-linear digital self-interference cancellation
US9036749B2 (en) 2013-08-09 2015-05-19 Kumu Networks, Inc. Systems and methods for frequency independent analog self-interference cancellation
US9054795B2 (en) 2013-08-14 2015-06-09 Kumu Networks, Inc. Systems and methods for phase noise mitigation
CN105493416A (en) 2013-08-29 2016-04-13 库姆网络公司 Full-duplex relays
US10673519B2 (en) 2013-08-29 2020-06-02 Kuma Networks, Inc. Optically enhanced self-interference cancellation
US9520983B2 (en) 2013-09-11 2016-12-13 Kumu Networks, Inc. Systems for delay-matched analog self-interference cancellation
US9794210B1 (en) 2013-11-14 2017-10-17 The United States Of America, As Represented By The Secretary Of The Army Priority assignment based on similarity
US9774405B2 (en) 2013-12-12 2017-09-26 Kumu Networks, Inc. Systems and methods for frequency-isolated self-interference cancellation
US10230422B2 (en) 2013-12-12 2019-03-12 Kumu Networks, Inc. Systems and methods for modified frequency-isolation self-interference cancellation
US9712312B2 (en) 2014-03-26 2017-07-18 Kumu Networks, Inc. Systems and methods for near band interference cancellation
US11209536B2 (en) 2014-05-02 2021-12-28 The Board Of Trustees Of The Leland Stanford Junior University Method and apparatus for tracking motion using radio frequency signals
US10225195B2 (en) * 2014-05-07 2019-03-05 Adtran, Inc. Telecommunication systems and methods using dynamic shaping for allocating network bandwidth
WO2015179874A1 (en) 2014-05-23 2015-11-26 Kumu Networks, Inc. Systems and methods for multi-rate digital self-interference cancellation
US9521023B2 (en) 2014-10-17 2016-12-13 Kumu Networks, Inc. Systems for analog phase shifting
US9712313B2 (en) 2014-11-03 2017-07-18 Kumu Networks, Inc. Systems for multi-peak-filter-based analog self-interference cancellation
US9673854B2 (en) 2015-01-29 2017-06-06 Kumu Networks, Inc. Method for pilot signal based self-inteference cancellation tuning
US9537777B1 (en) * 2015-03-30 2017-01-03 EMC IP Holding Company LLC Adjusting input/output operation arrival times to represent a token bucket that enforces maximum rate and burst size limits
US9948561B2 (en) * 2015-04-14 2018-04-17 Cisco Technology, Inc. Setting delay precedence on queues before a bottleneck link based on flow characteristics
CN105119778B (en) * 2015-09-09 2018-09-07 华为技术有限公司 The method and apparatus for measuring time delay
US9634823B1 (en) 2015-10-13 2017-04-25 Kumu Networks, Inc. Systems for integrated self-interference cancellation
US9742593B2 (en) 2015-12-16 2017-08-22 Kumu Networks, Inc. Systems and methods for adaptively-tuned digital self-interference cancellation
US9800275B2 (en) 2015-12-16 2017-10-24 Kumu Networks, Inc. Systems and methods for out-of band-interference mitigation
US9819325B2 (en) 2015-12-16 2017-11-14 Kumu Networks, Inc. Time delay filters
US10666305B2 (en) 2015-12-16 2020-05-26 Kumu Networks, Inc. Systems and methods for linearized-mixer out-of-band interference mitigation
US10153974B2 (en) * 2016-04-13 2018-12-11 Futurewei Technologies, Inc. Software defined network traffic congestion control
US9979374B2 (en) 2016-04-25 2018-05-22 Kumu Networks, Inc. Integrated delay modules
US10454444B2 (en) 2016-04-25 2019-10-22 Kumu Networks, Inc. Integrated delay modules
US10338205B2 (en) 2016-08-12 2019-07-02 The Board Of Trustees Of The Leland Stanford Junior University Backscatter communication among commodity WiFi radios
EP3300411B1 (en) 2016-09-21 2018-12-12 Swisscom AG Data-driven roll-out planning optimization method
EP3532981A4 (en) 2016-10-25 2020-06-24 The Board of Trustees of the Leland Stanford Junior University Backscattering ambient ism band signals
EP3602776B1 (en) 2017-03-27 2021-04-21 Kumu Networks, Inc. Enhanced linearity mixer
KR102234970B1 (en) 2017-03-27 2021-04-02 쿠무 네트웍스, 아이엔씨. System and method for mitigating interference outside of tunable band
WO2018183384A1 (en) 2017-03-27 2018-10-04 Kumu Networks, Inc. Systems and methods for intelligently-tunded digital self-interference cancellation
US10200076B1 (en) 2017-08-01 2019-02-05 Kumu Networks, Inc. Analog self-interference cancellation systems for CMTS
WO2019169047A1 (en) 2018-02-27 2019-09-06 Kumu Networks, Inc. Systems and methods for configurable hybrid self-interference cancellation
US10868661B2 (en) 2019-03-14 2020-12-15 Kumu Networks, Inc. Systems and methods for efficiently-transformed digital self-interference cancellation
US11888749B2 (en) 2021-10-25 2024-01-30 Hewlett Packard Enterprise Development Lp Reverse loss detection for communication network bandwidth estimation with token buckets

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266327B1 (en) * 1998-03-20 2001-07-24 Lucent Technologies Inc. Non-conformance indicator for the guaranteed frame rate service
US6724721B1 (en) * 1999-05-07 2004-04-20 Cisco Technology, Inc. Approximated per-flow rate limiting
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US6839321B1 (en) * 2000-07-18 2005-01-04 Alcatel Domain based congestion management
US6898182B1 (en) * 2000-07-21 2005-05-24 Arris International, Inc Congestion control in a network device having a buffer circuit
JP3788908B2 (en) * 2000-12-28 2006-06-21 株式会社エヌ・ティ・ティ・ドコモ Admission control device and new connection admission control method
US7027393B1 (en) * 2001-03-02 2006-04-11 Cisco Technology, Inc. TCP optimized single rate policer
US6958998B2 (en) * 2001-07-09 2005-10-25 International Business Machines Corporation Traffic management in packet-based networks
CN1170444C (en) * 2001-08-10 2004-10-06 华为技术有限公司 Device and method for flow monitoring and managing every packet data protocol context
US7006440B2 (en) * 2001-10-26 2006-02-28 Luminous Networks, Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US7295516B1 (en) * 2001-11-13 2007-11-13 Verizon Services Corp. Early traffic regulation techniques to protect against network flooding
US7092357B1 (en) * 2001-11-13 2006-08-15 Verizon Services Corp. Anti-flooding flow-control methods and apparatus
WO2003049319A1 (en) 2001-11-30 2003-06-12 British Telecommunications Public Limited Company Method of resource control in a wireless network
US7376159B1 (en) * 2002-01-03 2008-05-20 The Directv Group, Inc. Exploitation of null packets in packetized digital television systems
CN1319326C (en) * 2003-04-01 2007-05-30 华为技术有限公司 Band width statistical multiplex method based on acknowledged cut in speed
GB0322770D0 (en) 2003-09-29 2003-10-29 British Telecomm Bandwith allocation
GB0407144D0 (en) 2004-03-30 2004-05-05 British Telecomm Networks
GB0410254D0 (en) 2004-05-07 2004-06-09 British Telecomm Processing of data in networks
US8248932B2 (en) * 2004-05-26 2012-08-21 West Lane Data Llc Method and apparatus for fairly sharing excess bandwidth and packet dropping amongst subscribers of a data network
US7782793B2 (en) * 2005-09-15 2010-08-24 Alcatel Lucent Statistical trace-based methods for real-time traffic classification
JP4722964B2 (en) * 2008-05-30 2011-07-13 富士通株式会社 Channel setting method in mobile communication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NIKOLOUZOU E ET AL: "Network services definition and deployment in a differentiated services architecture", ICC 2002. 2002 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS. CONFERENCE PROCEEDINGS. NEW YORK, NY, APRIL 28 - MAY 2, 2002, IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 5, 28 April 2002 (2002-04-28), pages 1057 - 1062, XP010589653, ISBN: 0-7803-7400-2 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2234346A1 (en) 2009-03-26 2010-09-29 BRITISH TELECOMMUNICATIONS public limited company Policing in data networks
WO2010109201A1 (en) 2009-03-26 2010-09-30 British Telecommunications Public Limited Company Policing in data networks
US9154422B2 (en) 2009-03-26 2015-10-06 British Telecommunications Plc Policing in data networks
EP2398194A1 (en) 2010-06-17 2011-12-21 British Telecommunications Public Limited Company Monitoring path characterisation information
WO2011157984A1 (en) 2010-06-17 2011-12-22 British Telecommunications Public Limited Company Monitoring path characterisation information
EP2541850A1 (en) 2011-06-30 2013-01-02 British Telecommunications Public Limited Company Determining path congestion measures
WO2013001271A1 (en) 2011-06-30 2013-01-03 British Telecommunications Public Limited Company Determining path congestion measures
EP2575303A1 (en) 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Determining congestion measures
WO2013045878A1 (en) 2011-09-30 2013-04-04 British Telecommunications Plc Attribution of congestion contributions
US9998400B2 (en) 2011-09-30 2018-06-12 British Telecommunications Public Limited Company Attribution of congestion contributions

Also Published As

Publication number Publication date
JP4705115B2 (en) 2011-06-22
JP2008530841A (en) 2008-08-07
CN101116292B (en) 2014-11-05
US7948878B2 (en) 2011-05-24
KR101228288B1 (en) 2013-01-30
EP1847081A1 (en) 2007-10-24
US20080192636A1 (en) 2008-08-14
KR20070100899A (en) 2007-10-12
EP1847081B1 (en) 2014-12-24
CN101116292A (en) 2008-01-30

Similar Documents

Publication Publication Date Title
EP1847081B1 (en) Policing networks
US8289851B2 (en) Lightweight bandwidth-management scheme for elastic traffic
Bedi et al. Mitigating congestion based DoS attacks with an enhanced AQM technique
Podlesny et al. RD network services: differentiation through performance incentives
EP1758313A1 (en) Policing networks
Seddigh et al. Experimental study of assured services in a Diffserv IP QoS network
Chandrayana et al. Uncooperative congestion control
Muhammad et al. Study on performance of AQM schemes over TCP variants in different network environments
Mohammed et al. Active queue management for congestion control: Performance evaluation, new approach, and comparative study
Habib et al. Monitoring and controlling QoS network domains
Yamaguchi et al. A queue management algorithm for fair bandwidth allocation
Mellia et al. TCP-aware packet marking in networks with diffserv support
Haider et al. Congestion control algorithms in high speed telecommunication networks
Chatranon et al. Fairness of AQM schemes for TCP-friendly traffic
Herrerı́a-Alonso et al. Improving aggregate flow control in differentiated services networks
Hassayoun et al. Loss synchronization, router buffer sizing and high-speed TCP versions: Adding RED to the mix
Akintola et al. Modeling and Performance Analysis of Dynamic Random Early Detection (DRED) Gateway for Congestion Avoidance.
Habib et al. Network tomography-based unresponsive flow detection and control
Prasad et al. A stateless and light-weight bandwidth management mechanism for elastic traffic
Aweya et al. WINTRAC: A TCP window adjustment scheme for bandwidth management
Zhu A new class-based traffic queue management algorithm in the internet
Li et al. Core‐stateless fair rate estimation fair queuing
Liberatore Local flow separation
Casetti et al. A lightweight marker with partial state information for DiffServ networks
Kinicki et al. A Performance Studym of Explicit Congestion Notification (ECN) with Heterogeneous TCP Flows

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006709661

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 5747/DELNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 11795949

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200680004192.7

Country of ref document: CN

Ref document number: 2007553706

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020077019177

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2006709661

Country of ref document: EP