throbber
1111111111111111 IIIIII IIIII 11111 1111111111 1111111111 111111111111111 IIIII IIIIII IIII 11111111
`US 20070133419Al
`
`c19) United States
`c12) Patent Application Publication
`Segel
`
`c10) Pub. No.: US 2007/0133419 Al
`Jun. 14, 2007
`(43) Pub. Date:
`
`(54) COMMUNICATION TRAFFIC CONGESTION
`MANAGEMENT SYSTEMS AND METHODS
`
`(75)
`
`Inventor: Jonathan Dean Segel, Ottawa (CA)
`
`Correspondence Address:
`Arnold B. Silverman
`Eckert Seamans Cherin & Mellott, LLC
`44th Floor
`600 Grant Street
`Pittsburgh, PA 15219 (US)
`
`(73) Assignee: Alcatel
`
`(21) Appl. No.:
`
`11/301,714
`
`(22) Filed:
`
`Dec. 13, 2005
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`H04L 12126
`(2006.01)
`(52) U.S. Cl. .............................................................. 370/236
`
`(57)
`
`ABSTRACT
`
`Communication traffic congestion management systems and
`methods are disclosed. Communication traffic is analyzed to
`determine its type, and a traffic congestion management
`function to be applied to the received communication traffic
`is selected based on the determined type and a level of
`communication traffic congestion. Congestion levels may be
`determined from congestion feedback signals provided by
`downstream communication components to which a traffic
`flow controller outputs communication traffic. A traffic con(cid:173)
`gestion management function may be selected and applied
`on a packet-by-packet or other block-specific basis, or to an
`entire stream of communication traffic.
`
`END USER
`EQUIPMENT
`12
`
`NETWORK
`ELEMENT
`13
`
`NETWORK
`ELEMENT
`16
`
`END USER
`EQUIPMENT
`18
`
`Microsoft
`Ex. 1005 - Page 1
`
`

`

`Patent Application Publication Jun. 14, 2007 Sheet 1 of 6
`
`US 2007/0133419 Al
`
`10
`~
`
`END USER
`EQUIPMENT
`12
`
`NETWORK
`ELEMENT
`13
`
`COMMUNICATION
`NETWORK
`14
`
`NETWORK
`ELEMENT
`16
`
`END USER
`EQUIPMENT
`18
`
`FIG.1
`
`Microsoft
`Ex. 1005 - Page 2
`
`

`

`> :g -....
`(') a .... 0 =
`""O = O" = (') a .... 0 =
`
`2' =
`
`i,
`
`I
`
`Traffic
`-Flow
`controller ~
`24
`
`I'
`
`-
`
`:
`:
`
`I congestion
`Monitor
`27 -
`-
`Downstream
`component(s)
`25
`
`-
`
`-I
`
`20
`~
`
`Fro
`m
`ffic
`Tra
`Sour
`ce(~
`
`Traffic
`Type
`Lookup
`Module
`26
`
`-
`
`J
`
`I
`
`I
`
`Traffic Ty~e
`Determination
`Module
`22
`
`-
`
`Memory
`29
`I
`Traffic
`Processor t---J
`28 -
`
`FIG. 2
`
`Microsoft
`Ex. 1005 - Page 3
`
`

`

`Patent Application Publication Jun. 14, 2007 Sheet 3 of 6
`
`US 2007/0133419 Al
`
`Probability of
`Discard IPbl
`
`100%
`
`Pbl----
`
`- --
`
`0%
`
`1
`
`AQD1
`Minimum
`
`Maximum
`
`Congestion Feedback Level
`
`FIG. 3A
`
`Probability of
`Discard IPbl
`
`100%
`
`0%
`
`34
`
`32
`
`, , , , \~//<;:'
`
`~ -~ - - - - - · · · · · · · · · · · · · · · · ·
`
`Congestion Feedback Level
`
`FIG. 3B
`
`Microsoft
`Ex. 1005 - Page 4
`
`

`

`Patent Application Publication Jun. 14, 2007 Sheet 4 of 6
`
`US 2007/0133419 Al
`
`Pb
`
`100%
`
`MAXp
`
`Pb
`
`100%
`
`MINth MAXth
`
`Congestion Feedback Level
`
`FIG. 3C
`
`Congestion Feedback Level
`
`FIG. 3D
`
`Microsoft
`Ex. 1005 - Page 5
`
`

`

`Patent Application Publication Jun. 14, 2007 Sheet 5 of 6
`
`US 2007/0133419 Al
`
`Probability of
`Discard !Pb)
`
`100%
`
`Pbl
`
`0%
`
`Probability of
`Discard !Pb)
`
`100%
`
`0%
`
`Maximum
`
`Congestion Feedback Level
`
`FIG. 3E
`
`Maximum
`
`Congestion Feedback Level
`
`FIG. 3F
`
`Microsoft
`Ex. 1005 - Page 6
`
`

`

`Patent Application Publication Jun. 14, 2007 Sheet 6 of 6
`
`US 2007/0133419 Al
`
`40
`~
`
`Receive traffic
`
`Determine type
`
`42
`
`44
`
`y
`
`Select Congestion
`Management Function
`
`48
`
`Forward traffic
`
`49
`
`FIG. 4
`
`50
`~
`
`r 52
`Traffic
`Stream m
`
`r 53
`
`r 54
`
`r 55
`
`...
`
`Traffic Type
`
`...
`
`r 56
`Congestion
`Management
`Function
`
`r 57
`
`...
`
`FIG. 5
`
`Microsoft
`Ex. 1005 - Page 7
`
`

`

`US 2007/0133419 Al
`
`Jun. 14,2007
`
`1
`
`COMMUNICATION TRAFFIC CONGESTION
`MANAGEMENT SYSTEMS AND METHODS
`
`FIELD OF THE INVENTION
`[0001] This invention relates generally to connnunications
`and, in particular, to handling connnunication traffic con(cid:173)
`gestion.
`
`BACKGROUND
`[0002] A standard mechanism in Internet Protocol (IP)
`networks for dealing with congestion is Random Early
`Discard (RED), sometimes also known as Random Early
`Detection. When a router sees an impending problem con(cid:173)
`dition, it starts randomly throwing away packets. A Trans(cid:173)
`mission Control Protocol (TCP) protocol client, which
`would be aware of any packet loss, concludes from observed
`loss that it is sending packets too quickly, and throttles back
`its sending rate to thereby alleviate congestion.
`
`[0003]
`In general, the actual packet loss observed by a
`TCP client is a result of packets being dropped at a receiving
`device, namely a router in the above example. According to
`a simple discard mechanism, when the depth of packets in
`a traffic queue at the receiving device exceeds a discard
`threshold, packets arriving at that queue are dropped 'off the
`tail' of the queue until the queue depth recedes below the
`discard threshold. One problem with this procedure, in the
`case of TCP connections, is that packets can tend to be
`dropped from a single TCP connection, resulting in an unfair
`service impact between customers.
`
`[0004] RED can address this problem for TCP connections
`by using queue depth to determine whether to keep or
`discard each packet as it arrives at a queue. A packet discard
`probability, which is dependent on the average depth of the
`queue over some time period, is compared to a random
`number. The packet is discarded if its discard probability
`exceeds the random number. Discard probabilities may be
`determined using a discard probability function, which
`might remain at zero until a minimum threshold is reached,
`increase linearly until a maximum threshold is reached, and
`remain at 100% for average queue depths greater than the
`maximum threshold.
`
`[0005]
`In so-called weighted RED, there are multiple
`discard probability functions, each of which results in a
`different discard probability for the same average queue
`depth. The particular discard probability function that is
`used for a packet depends on the drop precedence of the
`packet, which is determined by examining the DiffServ
`Code Point (DSCP) field in the IP header of the packet.
`Packets that exceed agreements on their connections have
`their drop precedence and thus their discard probability
`function changed by an IP policing procedure. As with RED,
`the determination to keep or discard a packet is made by
`comparing the discard probability of the packet to a random
`number. A variation of this procedure uses different prob(cid:173)
`ability curves in accordance with a class of service (CoS) of
`a packet. The CoS of a packet is also determined by
`examining the DSCP field in the IP header.
`
`[0006] One of the limitations of standard or weighted RED
`is that these techniques are used only on TCP flows. As
`non-TCP applications such as streaming video, VoIP, and IP
`video-telephony increase in popularity, the effectiveness of
`RED decreases because it operates only on the TCP portion
`of traffic.
`
`[0007] This also creates issues with respect to ensuring
`fairness between users. In a mixed traffic scenario, RED may
`either discard all packet types, which means that it is
`degrading the quality of non-TCP traffic types to no useful
`effect, or it can discard only TCP traffic. In the latter case, it
`effectively treats all User Datagram Protocol (UDP) and
`other protocols that do not verify successful delivery as high
`priority and all TCP applications as low priority. This might
`not reflect the priorities that a service provider would prefer,
`since in this case radio-over-the-Internet streaming audio
`might have a higher priority than business-critical client
`server applications, for instance.
`[0008]
`Intelligent Deep Packet Inspection (DPI) engines
`are being developed which are capable of looking inside a
`stream of traffic (beyond the header of each packet) to detect
`what kind of traffic is flowing in a network. These engines
`can distinguish between web browsing, email, VoIP, gaming,
`peer-to-peer, and other application types, for example. How(cid:173)
`ever, DPI is not currently used for dealing with traffic
`congestion.
`[0009] There remains a need for improved connnunication
`traffic congestion management techniques.
`
`SUMMARY OF THE INVENTION
`[0010] As noted above, randomly discarding data packets
`to respond to traffic congestion can adversely affect some
`connnunication traffic types, such as traffic associated with
`different applications, more than others. Therefore, tech(cid:173)
`niques for intelligently discarding data packets or flows in
`order to manage traffic congestion would be useful.
`[0011] Embodiments of the invention combine the con(cid:173)
`cepts of RED and type- or application-sensitive traffic flow
`treatment to minimize the effect of discarding packets on
`certain types of applications. For example, data packets from
`peer-to-peer and file transfer traffic might be discarded
`initially. With increasing traffic congestion, data packets
`from other applications such as web browsing or gaming,
`which are more sensitive to packet loss, could then be
`discarded only as needed to control congestion. A discard
`mechanism that is aware of traffic types also offers the
`opportunity to discard entire traffic streams as opposed to
`packets. This enables management of traffic congestion for
`even non-TCP applications such as VoIP, which do not
`usually respond to RED, by preventing establishment of
`connnunication sessions when congestion is being experi(cid:173)
`enced.
`[0012]
`In addition, by spotting and blocking setup mes(cid:173)
`sages at the beginning of a connnunication session, the
`session establishment can be blocked, thereby reducing the
`load on the network even from non-TCP applications.
`[0013] According to one aspect of the present invention, a
`connnunication traffic congestion management apparatus
`includes a traffic type determination module and a traffic
`flow controller operatively coupled to the traffic type deter(cid:173)
`mination module. The traffic type determination module is
`adapted for determining a type of received connnunication
`traffic, and the traffic flow controller is adapted for selecting,
`based on the determined type and a level of connnunication
`traffic congestion, a traffic congestion management function
`to be applied to the received connnunication traffic.
`[0014] The traffic type determination module may include
`a communication traffic processor adapted for processing the
`received communication traffic to determine its type.
`
`Microsoft
`Ex. 1005 - Page 8
`
`

`

`US 2007/0133419 Al
`
`Jun. 14,2007
`
`2
`
`[0015] The traffic type determination module may also
`include a traffic type lookup module adapted for determining
`whether the received communication traffic belongs to a
`communication traffic stream for which a type has previ(cid:173)
`ously been determined, and for associating the received
`communication traffic with the previously determined type
`where the received communication traffic belongs to a
`communication traffic stream for which a type has previ(cid:173)
`ously been determined. The communication traffic processor
`may then process the received communication traffic where
`the received communication traffic does not belong to a
`communication traffic stream for which a type has previ(cid:173)
`ously been determined.
`
`[0016] The apparatus may also include a memory opera(cid:173)
`tively coupled to the traffic type lookup module and to the
`communication traffic processor. In this case, the commu(cid:173)
`nication traffic processor may be adapted for storing in the
`memory an indication of the determined type of the received
`communication traffic. The traffic type lookup module may
`then perform the associating by accessing an indication of
`traffic type stored in the memory.
`
`[0017]
`In some embodiments, the selecting operation
`involves selecting a traffic discard probability function to be
`used in a Random Early Discard (RED) procedure.
`
`[0018] The traffic flow controller may be further adapted
`for outputting communication traffic to one or more traffic
`queues, and for detecting communication traffic congestion
`based on at least one of: an amount of communication traffic
`stored in the one or more traffic queues and a rate at which
`traffic is being delivered to the one or more queues.
`
`[0019] According to some embodiments, the received
`communication traffic includes communication traffic of one
`or more communication traffic streams, and the traffic flow
`controller is further adapted for outputting communication
`traffic to a downstream component, for receiving one or
`more congestion feedback signals from the downstream
`component, for detecting one or more levels of communi(cid:173)
`cation traffic congestion based on the one or more conges(cid:173)
`tion feedback signals, for determining which of the one or
`more communication traffic streams pertain to each conges(cid:173)
`tion feedback signal, and for selecting a traffic congestion
`management function to be applied to a communication
`traffic stream based on the determined type of the received
`communication traffic and the congestion feedback signal to
`which the communication traffic stream pertains.
`
`[0020] The traffic congestion management functions may
`cause the traffic flow controller to discard communication
`traffic types in a predetermined order as detected levels of
`traffic congestion increase, and cause the traffic flow con(cid:173)
`troller to pass communication traffic types in a reverse order
`of the predetermined order as detected levels of traffic
`congestion decrease.
`
`[0021] Where the received communication traffic includes
`blocks of communication traffic of a communication traffic
`stream, and the traffic flow controller may select, for each
`block of the communication traffic stream, a traffic conges(cid:173)
`tion management function to be applied to the block.
`
`[0023]
`In some embodiments, the traffic congestion man(cid:173)
`agement function is a communication traffic stream discard
`function, the communication traffic stream is one of a
`plurality of communication traffic streams, and the traffic
`flow controller is further adapted for selecting a communi(cid:173)
`cation traffic stream for discard according to the communi(cid:173)
`cation traffic stream discard function using a random discard
`probability function.
`
`[0024] The traffic congestion management function may
`involve detecting and discarding a signalled setup of a
`communication session.
`
`[0025] According to another embodiment, the traffic con(cid:173)
`gestion management function involves dropping all traffic of
`a communication traffic stream for a period of time.
`
`[0026] A communication traffic congestion management
`method is also provided, and involves receiving communi(cid:173)
`cation traffic for transfer to a downstream communication
`component, determining a type of the received communi(cid:173)
`cation traffic, and selecting, based on the determined type of
`the received communication traffic and a communication
`traffic congestion level, a traffic congestion management
`function to be applied to the received communication traffic
`for discarding traffic so as to avoid traffic drops at the
`downstream communication component.
`
`[0027] Determining may involve one or more of: process(cid:173)
`ing the received communication traffic to determine its type,
`and determining whether the received communication traffic
`belongs to a communication traffic stream for which a type
`has previously been determined.
`
`[0028] Where the downstream communication component
`includes one or more traffic queues, the method may also
`involve detecting traffic congestion at the downstream com(cid:173)
`munication component based on at least one of: an amount
`of communication traffic stored in the one or more traffic
`queues, an average amount of traffic stored in the one or
`more queues over a period of time, a rate of change of the
`amount of traffic stored in the one or more queues, and the
`amount or proportion of traffic dropped from a queue of the
`one or more queues which has overflowed.
`
`[0029]
`In some embodiments, the traffic congestion man(cid:173)
`agement function comprises one of a plurality of traffic
`congestion management functions associated with respec(cid:173)
`tive levels of communication traffic congestion at the down(cid:173)
`stream communication component, the method also involves
`detecting a level of communication traffic congestion at the
`downstream communication component, and selecting
`involves selecting the traffic congestion management func(cid:173)
`tion to be applied to the received communication traffic
`based on the determined type of the received communication
`traffic and the detected level of congestion.
`
`[0030] The received communication traffic may include
`blocks of communication traffic of a communication traffic
`stream. In this case, selecting may involve selecting respec(cid:173)
`tive traffic congestion management functions to be applied
`to each block of the communication traffic stream or select(cid:173)
`ing a traffic congestion management function to be applied
`to all of the blocks of the communication traffic stream.
`
`[0022] The traffic flow controller may instead select a
`traffic congestion management function to be applied to all
`communication traffic of the communication traffic stream.
`
`[0031] A further aspect of the invention provides a
`machine-readable medium storing a data structure. The data
`structure includes an indication of a communication traffic
`
`Microsoft
`Ex. 1005 - Page 9
`
`

`

`US 2007/0133419 Al
`
`Jun. 14,2007
`
`3
`
`stream for which a communication traffic congestion level
`can be determined, an indication of a communication traffic
`type of the communication traffic stream, and an indication
`of a traffic congestion management function to be applied to
`communication traffic of the indicated type, the traffic con(cid:173)
`gestion management function defining a control action to be
`performed on traffic of the indicated type for a determined
`communication traffic congestion level.
`
`[0032] The identifier of a communication traffic stream
`may include a source and a destination of the communica(cid:173)
`tion traffic stream.
`
`[0033] The data structure may also include one or more
`linking data structures comprising information associating
`the indication of the communication traffic type with the
`indication of the traffic congestion management function.
`
`[0034] Other aspects and features of embodiments of the
`present invention will become apparent to those ordinarily
`skilled in the art upon review of the following description.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0035] Examples of embodiments of the invention will
`now be described in greater detail with reference to the
`accompanying drawings, in which:
`
`[0036] FIG. 1 is a block diagram of a communication
`system.
`
`[0037] FIG. 2 is a block diagram of a communication
`traffic congestion management apparatus.
`
`[0038] FIGS. 3A through 3F illustrate example traffic
`discard probability functions.
`
`[0039] FIG. 4 is a flow diagram showing a communication
`traffic congestion management method.
`
`[0040] FIG. 5 is a block diagram of a communication
`traffic congestion management data structure.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`[0041] FIG. 1 is a block diagram of a communication
`system, and is illustrative of a system in which embodiments
`of the present invention might be implemented. The com(cid:173)
`munication system 10 in FIG. 1 includes end user commu(cid:173)
`nication equipment 12, 18, network elements 13, 16, and a
`communication network 14. Although many installations of
`end user equipment 12, 18 and network elements 13, 16 may
`be connected to the communication network 14, only two
`examples of each of these components have been labelled in
`FIG. 1 to avoid visual complexity. It should therefore be
`appreciated that the system of FIG. 1, as well as the contents
`of the other drawings, are intended solely for illustrative
`purposes, and that the present invention is in no way limited
`to the particular example embodiments explicitly shown in
`the drawings and described herein.
`
`[0042] The end user equipment 12, 18 represents commu(cid:173)
`nication equipment that is configured to generate and trans(cid:173)
`mit and/or receive and terminate communication traffic.
`Although shown as being directly connected to the network
`elements 13, 16, it will be apparent that end user equipment
`12, 18 may communicate with the network elements 13, 16
`through other intermediate components (not shown).
`
`[0043] Switches and routers are illustrative of the types of
`communication equipment represented by the network ele(cid:173)
`ments 13, 16. The network elements 13, 16 provide access
`to the communication network 14 and thus have been shown
`separately in FIG. 1 for illustrative purposes.
`[0044] The communication network 14, in addition to the
`border or edge network elements 13, 16, may also include
`core network elements which route communication traffic
`through the communication network 14.
`[0045] Many different types of end user, intermediate, and
`network communication equipment, as well as the operation
`thereof, will be apparent to those skilled in the art. In
`general, communication traffic originating with the end user
`equipment 12, 18, and possibly other sources of communi(cid:173)
`cation traffic, for transfer to a remote destination through the
`communication network 14 is received by a network ele(cid:173)
`ment 13, 16, translated between different protocols or for(cid:173)
`mats if necessary, and routed through the communication
`network 14. Embodiments of the invention are not limited to
`any particular types of communication equipment, transfer
`mechanisms, or protocols.
`[0046] During transfer through the communication system
`10, communication traffic may become congested at any of
`various points. In communication equipment such as the
`network elements 13, 16, for example, communication traf(cid:173)
`fic may become congested at traffic queues in which traffic
`is stored before being scheduled for transmission through
`communication media. As described above, current tech(cid:173)
`niques for managing congestion are effective for only certain
`communication protocols such as TCP, and can lead to
`unfair or otherwise undesirable traffic discard patterns.
`[0047] One embodiment of the invention combines the
`concept of traffic type determination, which may use appli(cid:173)
`cation-aware DPI as described in further detail below, with
`type-specific
`traffic congestion management functions,
`which may use RED. In other words, when a network
`congestion problem threatens, communication traffic is ran(cid:173)
`domly discarded, but discards are handled differently for
`different traffic types, depending upon an application with
`which the traffic is associated, for instance.
`[0048] Traffic type-specific discarding, or more generally
`traffic type-specific congestion management, has several
`beneficial effects. A first benefit is that traffic that is least
`valuable or associated with an application for which loss of
`traffic, illustratively packet loss, is least important is dis(cid:173)
`carded first or more heavily. Another beneficial effect is that
`packet discards that will degrade performance of real-time
`applications and/or have no positive impact on congestion
`control can be avoided, at least until more serious congestion
`conditions arise. For example, VoIP over UDP is a real-time
`application for which discarding of packets will not have a
`positive effect on congestion control, since UDP does not
`respond to packet loss. A further benefit is that type-specific
`congestion management makes it possible to discard all
`communication traffic of a traffic stream, instead of discard(cid:173)
`ing traffic on a block-by-block basis, as might be imple(cid:173)
`mented at a packet data router in a packet-based communi(cid:173)
`cation system, for example. This stream discard feature
`provides a scheme for managing congestion, even from
`non-TCP applications, by randomly blocking session estab(cid:173)
`lishment under congestion conditions.
`[0049] The stream discard mode can operate in one of two
`fashions. In the first, the inspection discovers a session setup
`
`Microsoft
`Ex. 1005 - Page 10
`
`

`

`US 2007/0133419 Al
`
`Jun. 14,2007
`
`4
`
`message associated with the stream and discards it. In the
`absence of a successful setup response, the initiating appli(cid:173)
`cation will normally retry until the congestion condition
`passes and the setup attempt succeeds. A second fashion in
`which the stream based discard can operate, when rejecting
`a stream, involves associating a randomly selected 'isolation
`period' with an end point. During the isolation period, all
`traffic (signalling or media) associated with a particular type
`of traffic from that end point will be discarded. A service
`provider can choose to have get any given level of relief
`from network load by locking out more users for a shorter
`'isolation period' or fewer users for a longer isolation period,
`for example. Selection of a particular stream for discarding
`may be based on a random discard probability function.
`[0050] Thus, stream based discard may allow a small
`number of users to lose all of their traffic for a period of time,
`rather than many users losing traffic. This produces the
`maximum relief from load on the network with an impact on
`a minimum number of users. Stream based discard enables
`a local network element to respond appropriately to a
`congestion situation, whether or not there is a signalling
`controller which is capable of detecting and responding to
`congestion, for example by implementing a session admis(cid:173)
`sion control function. Furthermore, stream based discard can
`be applied even where a communication protocol is not
`understood or a signalling protocol is encrypted, by simply
`discarding all traffic associated with defined ports and pro(cid:173)
`tocols for a particular user for a period of time.
`[0051] Stream based discard can be a more reliable means
`of dealing with congestion in the presence of signalled
`stream based communications than admission control. An
`admission control function compares an estimated current
`load against the theoretically available capacity to determine
`if a new session can start without oversubscribing some
`network resource. Admission control can therefore act inap(cid:173)
`propriately if the estimated load or capacity is not accurate.
`Congestion control is not prone to this problem, in that it
`does not take corrective action unless a real problem exists,
`and when a real problem exists, it always takes action.
`[0052] FIG. 2 is a block diagram of a communication
`traffic congestion management apparatus. The apparatus 20,
`which might be implemented in communication equipment
`such as a packet router for instance, includes a traffic type
`determination module 22 and a traffic flow controller 24
`operatively coupled thereto. The traffic type determination
`module 22 has a traffic type lookup module 26, a traffic
`processor 28 operatively coupled to the traffic type lookup
`module 26, and a memory 29 operatively coupled to the
`traffic type lookup module 26 and to the traffic processor 28.
`[0053] Communication equipment incorporating the appa(cid:173)
`ratus 20 may include additional components, represented
`generally as downstream component(s) 25 comprising a
`congestion monitor 27. It should also be appreciated that the
`specific division of functions represented by the components
`22, 24, 26, 28, 29 is intended solely for the purposes of
`illustration and not to limit the scope of the invention. Other
`embodiments of the invention may include further, fewer, or
`additional components interconnected in a similar or differ(cid:173)
`ent manner. Further, multiple implementations of the com(cid:173)
`ponents shown in FIG. 2 may be provided in communication
`equipment, including one implementation for control of
`'upstream' traffic, and another separate implementation for
`control of 'downstream' traffic.
`
`[0054] The components of the apparatus 20 may be opera(cid:173)
`tively coupled to each other through physical connections
`such as conductive traces on a substrate where the compo(cid:173)
`nents are provided on the same electronic circuit card and/or
`backplane conductors where the components are distributed
`between multiple cards in the same equipment. Logical
`interconnections are also contemplated, where any of the
`components of the apparatus 20 are implemented using
`software for execution by one or more processing elements.
`In this case, components may access data stored in common
`storage locations in the memory 29, for example, and may
`thus be considered to be coupled to each other through a
`logical connection.
`
`[0055] From the foregoing, it should be apparent that
`many of the components of the apparatus 20 may be
`implemented using hardware, software, firmware, or any
`combination thereof. Those skilled in the art will be familiar
`with many devices which may be used in implementing the
`apparatus 20, including microprocessors, microcontrollers,
`Application Specific Integrated Circuits (ASICs), Program(cid:173)
`mable Logic Devices (PLDs), and/or Field Programmable
`Gate Arrays (FPGAs ), for example.
`
`[0056]
`In view of the many possible implementations of
`the components shown in FIG. 2, these components are
`described herein primarily in terms of their function. Based
`on these functional descriptions, a skilled person would be
`enabled to implement embodiments of the invention in any
`of various ways.
`
`[0057] The memory 29, however, would generally be
`provided as a hardware component, and may include one or
`more memory devices. Solid state memory devices are
`common
`in communication equipment, although
`the
`memory 29 may also or instead include memory devices for
`use with movable or even removable memory media.
`
`[0058]
`In operation, the traffic type determination module
`22 receives communication traffic from one or more traffic
`sources and determines a type of the received communica(cid:173)
`tion traffic. Based on the determined traffic type, and an
`observed level of congestion feedback which maps to that
`traffic type as discussed below, the traffic flow controller 24
`selects a traffic congestion management function to be
`applied to the traffic in order to reduce or prevent traffic
`congestion.
`
`[0059] Communication traffic type may be determined by
`the traffic type lookup module 26 or by the traffic processor
`28. The traffic type lookup module 26 accesses the memory
`29 to determine whether the type of the received traffic had
`previously been identified by the traffic processor 28. A
`received packet, for example, may belong to a traffic stream
`for which a type has already been determined and stored in
`the memory 29. Otherwise, the traffic processor 28 processes
`the traffic to determine its type.
`
`[0060] The expression 'traffic stream' as used herein may
`refer to a communication session between two end points,
`such as end user equipment 12 and 18 in FIG. 1, or
`communication traffic associated with such as session. A
`stream may be identified by source and destination IP
`address for instance, and also use an additional label such as
`IP port and protocol to distinguish different types of traffic
`between session end points. The phrase '5-tuple' (of IP
`source and destination address, source and destination port,
`
`Microsoft
`Ex. 1005 - Page 11
`
`

`

`US 2007/0133419 Al
`
`Jun. 14,2007
`
`5
`
`and protocol) is one example of a stream identifier that may
`be used in some embodiments of the invention.
`
`[0061] Considering an example ofreceiving a first packet
`in a traffic stream, a traffic type for that packet would not
`have been previously determined, and accordingly the
`packet is processed by the traffic processor 28. The packet
`may be passed to the traffic processor 28 by the traffic type
`lookup module 26 directly, or indirectly by storing the
`packet to the memory 29 for instance.
`
`[0062] According to one relatively simple implementa(cid:173)
`tion, the traffic processor 28 processes the packet to detect its
`port number and protocol, and to determine the type of the
`packet, and specifically the application associated with the
`traffic, on the basis of the port number and protocol. How(cid:173)
`ever, much more sophisticated recognition approaches are
`also contemplated. These approaches may involve identifi(cid:173)
`cation based on information outside the packet head

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket