throbber
I|||||||||||||||||||||I|||I|||||||||I||l||||||||||||||||||||||||||||||III||||||||||||II||
`
`US 20080l44502Al
`
`(19) United States
`(12; Patent Application Publication (10) Pub. N0.: US 2008/0144502 A1
`Jackowski et a].
`(43) Pub. Date:
`Jun. 19, 2008
`
`(54)
`
`[IV—BAN I) QUALITY—OF-SERVICE
`SIGNALING TO ENDPOINTS THAT
`ENFORCE TRAFFIC POLICIES AT TRAFFIC
`SOURCES USING POLICY MESSAGES
`PIGGYBACKICD ONTO Dlli‘Ii‘Sl'CRV BITS
`
`(75)
`
`Inventors:
`
`Steven J. Jackowski. Santa C 1112.
`(‘A (US): Seith K. Keith. Ins
`Gatos. CA (US)
`
`Correspondence Address:
`STUART 'l‘ AUVIN 1*] N
`429 26TH AVENUE
`SANTA CRUZ. (IA 95062-5319
`
`(73)
`
`Assignee:
`
`DETERMINIS'I'IC NETWORKS,
`INC.. Santa Cruz. (TA (US)
`
`(21)
`
`Appl. No;
`
`ll!613,073
`
`(22)
`
`Filed:
`
`Dec. 19., 2006
`
`Publication Classification
`
`Int. (11.
`H041. 12/156
`[1.5. Ci.
`
`(5 I)
`
`(52}
`
`(57}
`
`(2006.01)
`
`ABSTRACT
`
`3701'235
`
`11’ packets are scheduled at source devices such as cell phones
`on a private network that connect to the lnlernet at an edge
`device. A private trailic controller by the edge device detects
`pre—Intcrnet congestion on the private network. The private
`traffic controller uses in—band piggybackcd signaling of
`policy changes by intercepting return packets to the source
`devices and modifying hits such as DSCP bits in the header.
`Source traffic controllers in the source devices read the modi-
`lied DSCP hits and implement specified policy changes.
`dropping or delaying packets at the source device before
`transmission. Congestion on RF links from cell phones is
`reduced by the source traflic controllers dropping packets
`before transmission. The source device limits or drops future
`packets in response to the policies signaled by the DSC P bits.
`Rather than indicate the existing packet's priority. private
`DSCI‘ bits signal policy changes to the source device.
`
`
`
`TRAFFIC
`
`CTLR fl
`
`SRC
`TRAFFIC
`
`
`
`
`SERVER
`
`fl
`
`POLICY
`
`PKTS
`
`ROUTER
`
`1_CI
`
`
`
`
`INTERNET
`EDGE
`IL'IEVICEfl
`
`RETURN
`PRIVATE
`
`PACKET
`
`CEL LU LAR
`MODIFIER
`
`NETWORK
`
`
`as
`
`RFQ
`BASE
`STATION
`
`PRIVATE
`TRAFFIC
`
`CTLR g
`
`PRIVATE
`NETWORK
`MONITOR
`
`Microsoft
`
`Ex.1017- Page 1
`
`Microsoft
`Ex. 1017 - Page 1
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 1 0f 11
`
`US 2008l0144502 A1
`
`FIG. 1
`
`PRIOR ART
`
`
`
`
`12
`
`
`12
`
`DRO‘F)
`
`IP
`
`20
`
`24
`
`PKTS
`
`IPv4
`
`26
`
`PRIOR ART
`
`SRC
`TYPE OF
`VER LEN SERVICE FLAGS CKSM IP
`
`
`
`(1'08)
`
`ADR
`
`ADR
`
`
`
`FIG. 2A
`
`DST
`|p
`
`DATA
`
`122 124;
`
`126
`
`126
`
`132
`
`134
`
`136
`
`6—BIT
`'3' DSCP

`
`.
`
`'
`
`22
`
`415
`
`DEFAULT. BEST-EFFORT;
`
`EXPEDITED FORWARDING;
`ASSURED FORWARDING;
`CLASS SELECTOR PHB'S
`
`w
`
`FIG. 2B
`
`
`
`TRAFFIC FLOW
`VER CLASS
`LBL
`(TC)
`
`NXT
`LEN HDR 3?:
`
`SRC
`1p
`ADR
`
`DST
`1p
`ADR
`
`DATA
`
`122
`
`144
`
`142
`
`124
`
`146
`
`148
`
`132
`
`134
`
`136
`
`Microsoft
`
`Ex. 1017 - Page 2
`
`Microsoft
`Ex. 1017 - Page 2
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 2 0f 11
`
`US 20081’0144502 A1
`
`
`
`
`TRAFFIC
`CTLR §§
`
`
`
`PRIVATE
`
`
`
`CELLULAR
`NETWORK
`E
`
`ROUTER
`
`RF 3
`BASE
`
`/ STATION
`
`INTERNET
`EDGE 38
`
`DEVICE—
`
`Ell
`=_=
`
`E
`55
`
`—
`
`2—3
`-:
`
`@
`
`@
`
`
`
`
`PRE-INTERNET
`CONGESTlON
`
`FIG- 3
`
`
`
`30
`
`PRIOR ART
`
`Microsoft
`
`Ex. 1017 - Page 3
`
`Microsoft
`Ex. 1017 - Page 3
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 3 0f 11
`
`US 20081’0144502 A1
`
`(-Hllg
`
`.NCRYPT
`
`.OUTER.0
`
`SERVER
`
`
`fl
`
`
`DECRYPT
`
`PRIOR ART
`
`F:|(3. 41
`
`Microsoft
`
`Ex. 1017 - Page 4
`
`Microsoft
`Ex. 1017 - Page 4
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 4 0f 11
`
`US 20081’0144502 A1
`
`SRC
`
`TRAFHC
`
`
`
`
`l
`SERVER
`
`
`TRAFHC
`
`CTLR §§
`
`PKTS
`
`‘—
`
`ROUTER
`
`1g
`
`
`
`
`SRC
`
`TRAFFIC
`CTLR fl
`
`SRC
`TRAFFIC
`
`CTLR 50
`
`PRIVATE
`CEI—I-U LAR
`NETWORK
`
`3g
`
`PRIVATE
`
`NETWORK
`
`MONITOR
`
`INTERNET
`
`EDGE 38
`DEVICE—
`
`RETURN
`
`PACKET
`MODIFIER
`
`gg
`
`RF
`BASE
`
`STATION
`
`PRIVATE
`
`TRAFFIC
`
`CTLR 2
`
`Microsoft
`
`Ex. 1017 - Page 5
`
`Microsoft
`Ex. 1017 - Page 5
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 5 0f 11
`
`US 20081’0144502 A1
`
`CTLR E
`
`REQ PKT
`
`REQ PKT
`
`SRC
`TRAFFIC
`
`CLIENT DATA
`
`CLIENT DATA
`
` INTERN ET
`fl
`
`SRC
`
`TRAFFIC
`
`CTLR E
`
`INTERNET
`
`EDGE
`DEVICEE
`
`;
`
`58
`
`1‘
`RETURN
`DSCP
`_ -.
`PACKET
`WRITER
`. ‘.
`MODIFIER
`
`
`CELLULAR
`
`
`
` PRIVATE
`
`
`
`NETWORK
`
`
`
`SRC
`
`TRAFFIC
`CTLR fl
`
`E
`
`PRIVATE
`NETWORK
`
`MONITOR
`
`RF _
`BASE
`
`STATION
`
`STATUS
`
`PRIVATE
`TRAFFIC
`
`CTLR Q
`
`ACTIVATE
`
`Microsoft
`
`Ex. 1017 - Page 6
`
`Microsoft
`Ex. 1017 - Page 6
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 6 0f 11
`
`US 2008l0144502 A1
`
`SRC
`
`TRAFFIC
`
`CTLR 50
`
`SRC
`TRAFFIC
`
`CTLR 50
`
`SERVER
`
`@
`
`RTN PKT
`
`SVR DATA
`
`
`INTERNET
`_
`l
`
`.l
`
`A"
`
`INTERNET
`EDGE
`DEVICEfi
`
`58
`
`
`
`
`
`RETURN
`DSCP
`
`PACKET
`WRITER
`MODIFIER
`
`
`
`SRC
`TRAFFIC
`CTLR fill
`
`PRIVATE
`NETWORK
`
`STATUS
`
`PRIVATE
`TRAFFIC
`
`
`MONITOR
`CTLR Q
`ACTIVATE
`
`Microsoft
`
`Ex. 1017 - Page 7
`
`PRIVATE
`CELLULAR
`NETWORK
`
`E
`
`32
`RF
`BASE _
`STATION
`
`DSCP=MSG
`
`
`
`
`Microsoft
`Ex. 1017 - Page 7
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 7 0f 11
`
`US 20081’0144502 A1
`
`
`
`
`
`§§
`
`
`SRC
`TRAFFIC
`
`CTLR fl
`
`SRC
`TRAFFIC
`
`CTLR E
`
`PRIVATE
`
`CELLULAR
`NETWORK
`
`SRC
`TRAFFIC
`CTuaéfl
`
`STATUS
`
`PHVATE
`NETWORK
`MONITOR
`
`DEVICE E RETURN
`
`SERVER
`
`@
`
`RTN PKT
`
`SVR DATA
`
`RTN PKT
`
`DSCP=MSG
`
`SVR DATA
`
` INTERN ET
`E .
`
`INTERN ET
`EDGE
`
`PACKET
`
`MODIFIER
`
`RF_
`BASE
`
`STATION
`
`PRNATE
`TRAFFIC
`CTLR fl
`
`ACTIVATE
`
`Microsoft
`
`Ex. 1017 - Page 8
`
`Microsoft
`Ex. 1017 - Page 8
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 8 0f 11
`
`US 2008l0144502 A1
`
`SVR DATA
`
`SERVER
`
`fl
`
` INTERNET
`fl
`
`
`
`
`E
` PRIVATE
`
`
`
`SRC
`
`TRAFFIC
`
`CTLR E
`
`SRO
`TRAFFIC
`CTLRQQ
`
`58
`
`DSCP
`WRITER
`
`DSCP=MSG
`
`INTERNET
`
`EDGE
`DEVICEE
`
`RETURN
`PACKET
`MODIFIER
`
`32
`RF
`BASE _
`STATION
`
`PRIVATE
`TRAFFIC
`
`CTLR 5—2
`
`CELLULAR
`
`NETWORK
`
`STATUS
`
`PRIVATE
`NETWORK
`
`MONITOR
`
`Microsoft
`
`Ex. 1017 - Page 9
`
`Microsoft
`Ex. 1017 - Page 9
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 9 0f 11
`
`US 20081’0144502 A1
`
`POLICY
`
`AGENT
`
`T74
`
`SIGNALLING
`
`PROTOCOL
`
`MODULE 7—0
`
`INCOMING
`66
`PACKET —
`SCHEDULER
`
`OUTGOING
`6—7
`PACKET
`SCH EDULER
`
`XMIT E
`MEDIA
`
`DRIVER LOCAL fl
`
`PROCESSES
`
`SOURCE TRAFFIC
`
`CONTROLLER
`
`50
`
`FIG. 7
`
`Microsoft
`
`Ex.1017- Page 10
`
`Microsoft
`Ex. 1017 - Page 10
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 10 ofll
`
`US 2008l0144502 A1
`
`SCH EDULERS PRIVATE TRAFFIC
`
`SIGNALLING
`
`PROTOCOL
`
`MODULE @
`
`OUTGOING
`PACKET E
`
`XMIT
`NETWORK
`
`38
`
`INCOMING
`PACKET E
`
`SCHEDULER
`
`CONTROLLER
`
`99-
`
`INTERFACES
`
`FIG. 8
`
`Microsoft
`
`Ex.1017- Page 11
`
`Microsoft
`Ex. 1017 - Page 11
`
`

`

`PatentApplication Publication
`
`Jun. 19, 2008 Sheet 11 ofll
`
`US 20081’0144502 A1
`
`TRIGGERWG
`PRIVATE TRAFFIC
`EVENT
`CONTROLLER 90
`— ..... DETECTED
`‘_______
`_______________D_919?: -SEET POLICY
`________________ ’
`
`—30URCETRAFF'C
`
`99W 50
`_
`
`DSCP= ACK SET ...................... '
`¢_____________________
`
`_______________Os_C_P= |NDX1=5
`____________________ *
`
`DSCP= ACK |NDX1 ...................... '
`4- _____________________
`
`_______________qs_c_:P= |NDX2=3
`_____________________ .
`
`DSCP= ACK INDXZ ...................... T
`4- .................
`
`_______________D-3193: POLICY RULE
`____________________ .
`
`DSCP= ACK RULE .......................'
`
`4'"""""""""
`
`l
`
`SOURCE
`POLICY
`
`FIG 9
`
`IMPLEMENTED
`
`Microsoft
`
`Ex.1017- Page 12
`
`Microsoft
`Ex. 1017 - Page 12
`
`

`

`US 2008K} 144502 Al
`
`Jun. 19, 2008
`
`IN-BAND QUALITY-OF—SERVICE
`SIGNALING TO ENDPOINTS 'l‘I-IAT
`ENFORCE TRAFFIC POLICIES AT TRAFFIC
`SOURCES USING POLICY MESSAGES
`PIGGYBACKEI) ONTO DI FFSERV BITS
`
`FIELD OF THE INVENTION
`
`[0001] This invention relates to network traffic control. and
`more particularly to in~band signaling to traffic sources for
`source control.
`
`BACKGROUND OF THE INVENTION
`
`[0002] Networks such as the public Internet and private
`cellular networks carry data that is encapsulated by packets
`that are switched through the networks. As user applications
`become more sophisticated. the amount of data increases.
`such as to carry video rather thanjust voice. Networks tend to
`get swamped by such increases in traffic.
`Intermediate
`switches or routers may be overwhelmed by the number of
`packets received and [nay be forced to drop sortie of the
`packets.
`[0003] Various trafiic control techniques have been imple-
`mented. Rather than just drop packets randomly.
`traffic
`classes can be established. Packets fora lower-priority traffic
`class are drapped, while packets with higher-priority traffic
`classes are passed through a congested router. Thus the lim-
`ited bandwidth of a congested router can be reserved for
`higher-priority traffic. The Quality-of-Service (QoS)
`for
`[uglier-priority packets can be improved.
`traffic
`[0004] Quality of Service (Q08) ensures that
`receives the correct attention in a network. Inherently. the
`Internet
`fairly shares network resources on a packet-by-
`packet basis. However, difi'erent types of traffic may need
`different levels of service. Unfortunately the type of traffic is
`not visible on a packet by packet basis. Quality of Service
`encompasses a variety of traflfic characteristics and control
`methods. Priority. maximum bandwidth, minimum band—
`width, latency, jitter, and error rates are parameters for (208.
`[0005]
`FIG. 1 slums a prior-art router that drops packets
`based on QoS rules. Router 10 is an intermediate node in a
`network such as the Internet and receives Internet Protocol
`(IF) packets 12. and routes these IP packets to other routers or
`devices along paths toward the packets’ destinations.
`[0006]
`Sometimes router 10 receives more incoming IP
`packets 12 than it can process. Router 10 may have an input
`buffer or queue that can store a limited amount ofdata. When
`too many Il’ packets 12 are received in a short period oftirne.
`this input buffer can fill up. and any additional IP packets are
`lost since there is no more room in the input buffer. Even when
`the input buffer does not overflow. packets entering the input
`buffer may be significantly delayed.
`[0007]
`To prevent this input—bufl‘er overflow. router 10
`implements a tratfic policy to guarantee a Quality—of—Service
`(Q08) for some higher-priority packets. Q08 rules 14 are
`received from a centraliaed QoS traffic controller that moni-
`tors network tratl'ic and issues updated to Q08 rules 14 as
`network conditions change. For example. when there is no
`congestion on the network, QoS rules 14 may instruct router
`10 to pass all IP packets 12 through. However. when sortie
`network congestion is detected. QoS rules 14 may be updated,
`causing router 10 to drop packets that have the lowest priority
`level. while passing higher-priority ll" packets 12 to its output.
`
`[0008] Using QoS rules helps to ensure that higher-priority
`packets are provided with a higher level or quality ofservice.
`For example. streaming data such as voice or video transmisv
`sions. or traffic from users who pay a premium for premium
`service. may have packets marked for a higher level ofservicc
`than data packets for web browsing or for text messages that
`may be safely delayed.
`[0009]
`FIGS. 2A-l3 show IP packets marked for service
`levels. FIG. 2A shows an older 11’ version 4 [IPv4) packet.
`IPv4 packet 20 carries data in data field 136 that is preceded
`by an IP header. Data lield I36 may contain headers for
`higher-level protocols, such as a 'l‘ransport-(Iontrol-Protocol
`(PCP) header. Version field 122 indicates the IP version that
`packet 20 is using. Length field 124 indicates the packet‘s
`length. while source IP address field 132 contains the IP
`address of the packet‘s source or sender. while destination IP
`address field 134 contains the IP address of the packet’s
`destination or ultimate receiver. These IP addresses may be
`altered such as to hide the sender’s true IP address behind a
`firewall. or to redirect or load-balance destination servers.
`
`[0010] Checksum field 128 contains a cyclical-redun-
`dancy-check (C RC J checksum of packet 20 that is useful for
`detecting errors. Flags 126 contain various flags.
`[0011] Typecf—service TOS field 26 is used to indicate the
`service level or priority. A widely used QoS protocol is Dif—
`ferentiated Services [l')ilI‘Serv). which uses 6 bits in T08 field
`26 that are known as the I.)ilTerentiatcd Services Code Point
`(DSCP) bits. The DSCP bits 22 in T08 field 26 can be set to
`certain predefined values to indicate the packet‘s traffic level
`or priority.
`[0012]
`For example. DSCI’ bits 22 in T08 field 26 can be
`set to indicate a lowest priority, which is the default. A router
`uses its best efforts to pass a packet with this default service
`level. A higher level of service is expedited Rim-aiding. while
`assured forwarding is an even higher level of service. Packets
`marked for assured forwarding are much more likely to be
`processed through a router than default packets. which are
`most likely to be dropped when congestion occurs.
`[0013] DSCP bits 22 in T08 field 26 can be set to other
`values. such as for class Selector per-hop-Ixthaviors {PI 18‘s]
`that can more precisely control service at certain routers.
`[0014]
`F 16. 213 shows a newer 1? version 6 (IPv6) packet.
`IPv6 packet 24 carries data in data field 136, and also has
`version field 122. length field 124. source IP address field
`132. and destination IP address field 134. Flow label field 142
`and next header field 146 allow for expanded functionality.
`[0015] Traffic class field 144 contains DSCP bits 22. much
`as 'l‘OS field 26 did for IPv4 packet 20. The traffic class or
`priority of this packet cart be set by 0861’ hits 22 in traffic
`class field 144. Hop limit field 148 can be used for limiting
`hops. which can also be used to network control tra fiic.
`[0016]
`FIG. 3 shows pro-Internet congestions despite (205
`traffic control on the Internet. Traffic control using QoS rules
`and Dift‘Serv setting of DSCP bits 22 in Haiti: class or type—
`of-service bytes in IP packets can help to manage traffic
`within lnterrtet 34. Traffic controller 33 monitors tra the and
`
`congestion and sends policy packets 35 to devices such as
`router 10 and edge device 38 to regulate tralfic. Policy packets
`35 can set QoS rules that indicate when to drop packets and
`what trafi‘lc classes to process.
`[0017] QoS policies may be implemented in two distinct
`entities: a policy decision point (PDP) and a policy enforce—
`ment point (PEP). In practice. these are often run in the same
`physical device, such as in a traffic controller. Traffic control-
`
`Microsoft
`
`Ex.1017- Page 13
`
`Microsoft
`Ex. 1017 - Page 13
`
`

`

`US 2008K} 144502 Al
`
`Jun. 19, 2008
`
`ler 33 is a Policy Decision Point (PD?) while routers and edge
`devices act as Policy Enforcement Points (PEP).
`[0018] While such traffic control is effective in handling
`congestion on Internet 34, sometimes congestion can occur in
`locations that are not controlled by trailic controller 33. For
`example. private cellular network 36 has thousands of cell
`phones 30 that send packets by radio-frequency (RF) trans-
`mission to base stations 32. Base station 32 refomlats these
`packets and sends them to edge device 38, where the packets
`enter Internet 34. The packets are then routed through Internet
`34.
`
`Intermediate devices such as router II] and edge
`[0019]
`device 38 can regulate packets from cell phones 30 using QoS
`rules. but only once these packets reach Internet 34. When too
`many packets are sent from cell phones 30. packets are
`dropped as they enter Internet 34. at edge device 38. However.
`these packets still pass between cell phones 30 and base
`station 32 before reaching edge device 38. causing congestion
`on the RI" links. This pro-Internet congestion on private cel-
`lular network 36 is undesirable. since voice calls may be
`blocked by IP packets to edge device 38 that are ultimately
`dropped.
`[0020] RF bandwidth is wasted by these dropped packets.
`Cell phones 30 may simply retransmit these packets over and
`over again. clogging the RI“ links with packets that are tilti-
`mately dropped by the Internet edge device anyway.
`[002]]
`l-‘IG. 4 shows that a virtual-private-netwurk (V’PN)
`tunnel can frustrate traffic control. Encryptor 42 on cell
`phones 30 or on another device before the Internet edge
`device may encrypt data in IP packets. The encrypted IP
`packets are sent over the Internet and routed by router 1t) and
`others to server 40. the destination. Server 40 decrypts the
`data in the IP packets using decryption software 44.
`[0022]
`Iincrypting the data in IP packets prevents others
`from reading the encrypted data. However. some higher—level
`[leaders may be included in the data field that is encrypted.
`These higher-level protocols may include information such as
`the name or type ofapplication program. a higher-level port.
`or flow information that may be useful in classifying the IP
`packets into trallic classes. A trailic classifier that looks for
`such information to classify the IF packet by writing DSCP
`bits 22 using Difi‘Serv may not be able to classify encrypted
`packets. and may use the lowest-priority default setting.
`[0023] When the traffic classifier examines packets within
`the VPN tunnel. after encryptor 42. information from these
`higher-level protocols can be hidden, preventing proper clas-
`sification. Intermediate routers such as router 10 are forced to
`use default priority settings, or must guess at the traffic class
`of these packets. Thus intermediate traffic control. such as
`within Internet 34 of FIG. 3. may be thwarted by packet
`encryption.
`[0024] What is desired is a traffic control mechanism that is
`effect ive despite packet encryption and VPN tunnels. A tratIic
`controller that can control traffic on both the Internet and on
`
`pro-Internet private networks is desirable. A traffic controller
`that adjusts packet traffic at the source is desirable to avoid
`bandwidth wasted by transmission of packets that are later
`dropped.
`
`BRIEF DESCRIPTION 01" Till? DRAWINGS
`
`FIG. 1 shows a prior~art router that drops packets
`[0025]
`based on QoS rules.
`[0026]
`PIGS. 2A-13 show IP packets marked for service
`levels.
`
`FIG. 3 shows pre-Intemet congestions despite QOS
`[0027]
`tratfrc control on the Internet.
`
`FIG. 4 shows that a virtual-privatehetwork (VPN)
`[0028]
`tunnel can frustrate traffic control.
`[0029]
`FIG. 5 highlights source tra Ilic control.
`[0030]
`FIGS. 6A-D illustrate source-based traffic control
`using in-band signaling of return packets.
`[0031]
`FIG. 7 is a block diagram ofa source traffic control-
`ler.
`
`[0032]
`ler.
`
`FIG. 8 is a block diagram ofa private traffic control~
`
`FIG. 9 is a flow diagram of meSsages being
`[0033]
`exchanged between a source tratfic controller and the private
`traffic controller.
`
`DETAILED DESCRIPTION
`
`[0034] The present invention relates to an improvement in
`pre—Internet traffic control. The following description is pre—
`sented to enable one of ordinary skill in the art to make and
`use the invention as provided in the context of a particular
`application and its requirements. Various modifications to the
`preferred embodiment will be apparent to those with skill in
`the art. and the general principles defined herein may be
`applied to other embodiments. Therefore, the present inven-
`tion is not intended to be limited to the particular embodi~
`ments shown and described. but is to be accorded the widest
`scope consistent with the principles and novel features herein
`disclosed.
`
`[0035] The inventors have realized that congestion on pri-
`vate networks before reaching the edge ofthe Internet can be
`a problem even when Internet traffic control methods such as
`QoS and DiffServ are deployed. Standard traffic control
`methods do not reach back into these private networks. The
`inventors realize that controlling tratllc at the source of the
`traffic can relieve pro-Internet congestion as well as lntemet
`congestion.
`[0036] The inventors further realize that generating addi-
`tional policy packets to control traffic is counter-productive.
`since the additional policy packets add to the congestion.
`Instead. iii—band signaling of policy using existing packets is
`desirable. since no additional packets are sent to signal policy
`changes. A further improvement to in-band signaling is to
`piggyback the policy information so that the sizes of the
`packet do not have to increase. Policy changes are signaled
`in-band by using existing packets. Policy changes are further
`piggybacked by setting trafl'ic control bits in the packets. The
`DSCP bits are used for this signaling, not to set the existing
`packet‘ s priority. but to signal the source device without using
`additional bandwidth. The source device Illen limits or drops
`future packets in response to the policies signaled by the
`DSCP bits.
`[0037] The standard use of DSCP bits is to indicate the
`priority of the current packet carrying DSCP bits. Each QoS
`router reads these DSCP bits from the current packet as that
`(208 router is switching the current packet. The inventors
`realize that the DSCP bits can be used in a different way to
`send a message back to the source of the packets. to instruct
`the source to stop or reduce transmission rates of future pack-
`ets.
`
`FIG. 5 highlights source traffic control. Source trafv
`[0038]
`fic controllers 50 are installed on cell phones 30. which are the
`source devices that generate packets sent over private cellular
`network 36 and Internet 34 to server 40 and other servers.
`
`Source traffic controllers 50 can be activated to drop packets
`
`Microsoft
`
`Ex. 1017 - Page 14
`
`Microsoft
`Ex. 1017 - Page 14
`
`

`

`US 2008K} 144502 AI
`
`Jun. 19, 2008
`
`before being transmitted over RF links to base station 32 by
`in-band signaling. Return packets from server 40 back to cell
`phones 30 are intercepted by return packet modifier 60. which
`sets DSCP bits in the return packets. When the modified
`return packet reaches cell phones 30. source traffic controllers
`50 detect the set DSC‘P bits and extract the traffic-control
`instructions. Traffic-control
`instructions can cause source
`
`traffic controllers 50 to drop future packets. to change the
`priorities of packets. to adjust latencies and jitter. and to
`provide for bandwidth limits and guarantees. Back—pressure
`can be applied to the source applications, causing source
`applications to reduce packet transmission rates.
`[0039] Once congestion on private cellular network 36
`cases as more cell phones 30 drop or delay packets before
`transmission. private network tnonitor 54 detects the reduc-
`tion in congestion. and signals the spare bandwidth to private
`traffic controller 52. Private traffic controller 52 adjusts the
`current policies on private cellular network 36 and instructs
`return packet modifier 60 to intercept return packets to cell
`phones 30. Return packet modifier 60 sets [)S(.‘P bits in these
`return packets. and when these return packets are received by
`cell phones 30. their source traffic controllers 50 read the
`DSCP bits and adjust their traffic policies. For example. the
`policy may be adjusted so that source traflfic controllers 50 no
`longer drop or delay packets.
`[0040]
`Tire flow of packets over private cellular network 36
`and into Internet 34 is controlled at the source of the packets.
`on cell phones 30. Source traffic controllers 50 can drop or
`delay packet transmission. freeing up bandwidth on the RF
`links to base station 32. Congestion is also reduced at down-
`stream locations. such as at edge device 38 and router 10 on
`Internet 34.
`
`[0041] This private traffic control can co-cxist with prior-
`art (205 signaling that controls trafiic within Internet 34.
`Traffic controller 33 generates policy packets 35 that are sent
`to router I 0. edge device 38. and other devices within Internet
`34 to signal QoS policies to implement using prior-art QoS
`signaling and traffic control. However. such priorvart QoS
`signaling is not effective at controlling traffic on private cel—
`lular network 36 since this is a private network before edge
`device 38.
`
`FIGS. 6A-D illustrate source-based traffic control
`[0042]
`using ill-band signaling of return packets. In FIG. 6A. a
`micro-browser or other application running on cell phone 30
`generates a request that causes request packet 62 to be sent
`across RF links to base station 32. The DSCP bits in request
`packet 62 are set to a default value. indicating that request
`packet 62 has a low priority for QoS-enabled routers such as
`router 10. Client data such as a cookie, query data, account
`information. etc. may be included in request packet 62. More
`than one request packet 62 may be sent. and several request
`and return packets may be exchanged with server 40.
`[0043] Base station 32 receives request packet 62 and for—
`wards it to edge device 38. which sends request packet 62'
`through Internet 34 to server 40. the destination of request
`packet 62. Some modification of reqimst packet 62 may occur
`during routing.
`[0044] Congestion on private cellular network 36 is
`detected by private network monitor 54. A status indicating
`the congestion is sent from private network monitor 54 to
`private traffic controller 52. Private traffic controller 52
`responds to the congestion by imposing tigrter policy restric—
`tions on cell phones 30. Return packet modifier 60 is activated
`by private traffic controller 52 to modify return packets to cell
`
`phones 30 to send the new policy to source traffic controllers
`50. Return packet modifier 60 waits for a retum packet to
`arrive from Internet 34.
`
`In FIG. 1513, server 40 responds to the client requests
`[0045]
`in request packet 62' by generating server data that is encap-
`sulated in one or more return packets 64. Return packet 64 has
`its destination address set
`to the source IP address from
`
`request packet 62' which is for one of cell phones 30. Retum
`packet 64 is routed through renters in Internet 34 and arrives
`at edge device 38 as it exits Internet 34 and enters private
`cellular network 36.
`[0046]
`In I'IG. 6C, private traffic controller 52 activates
`DSCP code generator 56 to generate an iii-band message to
`cell phones 30 to implement the new traffic policy. A special
`encoding of the 6 DSC‘P bits carries the message about the
`new traffic policy. When return packet 64 passes through edge
`device 38. it is sent to return packet modifier 60. DSC P writer
`58 over—writes the DSCP bits in retum packet 64 with the
`message MSG front private traffic controller 52. Modified
`return packet 64' is sent from return packet modifier 60 to base
`station 32. and is transmitted over the RF links of private
`cellular network 36 to cell phone 30.
`[0047]
`In FIG. 6]). cell phone 30 receives modified retum
`packet 64' with message MSG in the DSCP bits. The server
`data in return packet 64‘
`is sent
`to the application that
`requested the server data. Source traffic controller 50 detects
`that the DSCP bits contain message MSG. since the DSCP
`bits are marked as a “private DSCP". Source traffic controller
`50 decodes the embedded message MSG. and implements the
`new traffic policy.
`[0048]
`For example. message MSG may indicate to drop all
`data packets. but allow voice packets. Any data packets gen~
`eraled in the future by applications on cell phone 30 are
`dropped or prevented from being transmitted by source traffic
`controller 50. Voice packets may continue to be transmitted.
`[0049] Altemately. the message may limit the bandwidth
`used by cell phone 30. The policy may indicate a number of
`packets or aggregate size of data that may be transmitted by
`cell phone 30 over a period oftime such as 1 second. Once the
`limit is reached. Source traffic controller 50 blocks further
`packet transmission ttnlil the I second time limit has expired.
`[0050]
`Policies can be triggered for congestion control, to
`give different levels of service to users or applications. and to
`provide better network control by the users or by the network
`operators. 'I‘ne policies themselves may differ on different
`source endpoints. Policies may include bandwidth limits.
`guarantees. or priorities for the user, system. application.
`Policies may also include priorities to certain destinations
`(such as favoring the servers at the carrier as opposed to those
`on the Internet). latency guarantees. jitter controls. Policies
`may also block destinations. applications, and certain traffic
`types (cg broadcast traffic). Policies may include requests
`for additional bandwidth or access permissions. and may
`limit the number of sessions from this host. Many other poli—
`cies could be implemented.
`[0051] Other retum packets to other cell phones 30 could
`also be intercepted by return packet modifier 60 and modified
`with message MSG. causing the bandwidth used by cell
`phones 30 to decrease as more and more cell phones imple-
`ment the new traffic policy. Some cell phones 30 may not be
`transmitting request packets and thus may not receive return
`packets with the new policy: however, since they are not
`generating traffic. not receiving the new traffic policy has
`little effect on the bandwidth usage. Cell phones that are
`
`Microsoft
`
`Ex.1017- Page 15
`
`Microsoft
`Ex. 1017 - Page 15
`
`

`

`US 2008K} 144502 Al
`
`Jun. 19, 2008
`
`actively sending packets and causing the congestion are
`throttled back more rapidly than othercell phones that arej ust
`sending requests sporadically. Thus private traffic controller
`52 tends to target the sources that are causing the congestion.
`[0052]
`Private traffic controller 52 could also specify that
`some cell phones are signaled with the new policy while other
`cell phones are not signaled. A destination IP-address filter in
`return packet modifier 60 can identify which return packets to
`modify. Cell phones for users on a premium service plan
`could be allowed to continue with a less restrictive traffic
`policy while cell phones for lower-cost plans could receive
`return packets with the new restrictive policy.
`[0053]
`FIG. 7 is a block diagram ot'a source traffic control-
`ler. Source traffic controller 50 can intercept inbound and
`outbound packets. Inbound packets [such as return packets
`from servers) are received by media receiver 78 and pass
`through packet filer 72. Signaling protocol module 70 reads
`the DSCP bits in the header of each inbound packet and
`compares the values of the DSCP bits to pre-dcfined values.
`Sometimes the DSCP bits match values defined by DiffScrv
`or other public protocols. and these DSC P values are ignored
`by signaling protocol [nodule 70, and the packets are passed
`on to incoming packet scheduler 66 to be sent to one of local
`processes 68 that are running on the local client device (such
`as cell phone 30 ). An application table may be used by incom—
`ing packet scheduler 66 to associate incoming packets with
`applications and their local processes 68. such as by matching
`ports or sockets from higher—level headers in the data field.
`[0054] When the DSCP bits match proprietary values
`defined by the private traffic controller. signaling protocol
`module ’70 decodes these DSCI’ bits to re-generate the mes-
`sage that was sent by private traffic controller 52 (FIGS. 5, 6).
`This message may set, clear. or modify a current policy that is
`implemented by policy agent '74. For example. the message
`may be to stop all outgoing data packets.
`[0055] Once the DSCP bits are read. signaling protocol
`module 70 passes the incoming packet to incoming packet
`scheduler 66 to be sent to one of local processes 68. The
`server data in the return packet can be sent to the requesting
`application.
`[0056] When one or more local processes 68 generates a
`request packet to be sent out as an outgoing packet. the
`request packet is sent to signaling protocol module 70. When
`an acknowledgement message needs to be sent back to private
`tra [Iic controller 52. signaling protocol module 70 writes the
`acknowledgement message into the DSCP bits of the outgo—
`ing packet. The outgoing packet is sent from signaling pro—
`tocol module '70 to packet filter '72.
`[0057]
`Packet filter '72 is used by policy agent ’74 to enforce
`policies that have been set by messages received in return
`packet that were intercepted by private trafiic control ler 52. A
`policy to block all data packets is implemented by policy
`agent ’74 causing packet filter 72 to pass through voice pack~
`ets, but drop all data packets. Packet filter ’72 can perform
`packet classification. In a source-based system. the applica-
`tions that generate the traffic can be seen so that packet filter
`72 may not need to perform stateful inspection to identify
`types oft'rafiic. A policy to limit the number of'packets trans-
`mitted per tilue unit could increment a counter for each packet
`sent. and then drop all packets alter the counter reached the
`packet limit. Policy agent 74 or another process could clear
`the counter at the end of each time unit.
`
`[0058] A policy to drop all packets to a certain range ofIP
`address could cause packet Iilter ‘72 to examine the destina-
`
`tion IP addresses. and drop packets [hatching the prohibited
`range oflP addresses. Another pol icy might block all packets
`from a certain high~level application that is identifiable by a
`port used by that application. Packet filter 72 can scan packets
`for this p011. and drop packets with the matching port. A table
`that contains secondary information of each outgoing packet.
`such as port numbers or application names. m

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