throbber
1111111111111111 IIIIII IIIII 1111111111 11111 111111111111111 IIIII IIIII IIIII IIIIII IIII 11111111
`US 20130322242Al
`
`c19) United States
`c12) Patent Application Publication
`Swenson et al.
`
`c10) Pub. No.: US 2013/0322242 Al
`Dec. 5, 2013
`(43) Pub. Date:
`
`(54) REAL-TIME NETWORK MONITORING AND
`SUBSCRIBER IDENTIFICATION WITH AN
`ON-DEMAND APPLIANCE
`
`(71) Applicant: Skyfire Labs, Inc., Mountain View, CA
`(US)
`
`(72)
`
`Inventors: Erik R. Swenson, San Jose, CA (US);
`Nitin Bhandari, Fremont, CA (US)
`
`(21) Appl. No.: 13/907,847
`
`(22) Filed:
`
`May 31, 2013
`
`Related U.S. Application Data
`
`(60) Provisional application No. 61/654,689, filed on Jun.
`1, 2012, provisional application No. 61/754,391, filed
`on Jan. 18, 2013.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`H04W28/06
`H04W24/00
`
`(2006.01)
`(2006.01)
`
`(52) U.S. Cl.
`CPC .............. H04W 28106 (2013.01); H04W 24100
`(2013.01)
`USPC ........................................... 370/232; 370/252
`
`(57)
`
`ABSTRACT
`
`A system and a method are disclosed for selectively monitor(cid:173)
`ing traffic in a service provider network. The system receives
`a notice for a beginning of a network data flow, which
`responds to a request from a user device for content at an
`origin server. The system then determines whether to monitor
`the data flow from the origin server to the user device. If so
`determined, the system collects statistic information of the
`data flow and stores the statistic information to a flow record
`in a database. The system also maps the flow record to a
`subscriber of the service provider network by analyzing the
`statistic information of the data flow and estimates bandwidth
`provided to the data flow by the service provider's network
`based on the analysis of the statistic information of the data
`flow.
`
`/100
`
`I
`
`VIDEO
`OPTIMIZER
`150
`
`NETWORK
`CONTROLLER
`140
`
`USER
`DEVICE
`110A
`
`~
`r
`USER ~ STEERING
`
`DEVICE
`130
`
`NETWORK 120
`
`'
`.................
`
`.•"•····
`·············•··
`
`V
`
`ORIGIN
`SERVER
`160
`
`DEVICE
`110B
`
`"
`
`V
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 1 of 23
`
`

`

`Patent Application Publication
`
`Dec. 5, 2013 Sheet 1 of 8
`
`US 2013/0322242 Al
`
`z 0:: w
`(9 > §I
`0:: 0:: w
`0 CJ)
`
`j~
`
`------ .. .---·-·-- .. ..
`
`.. -··
`
`------...
`
`,l
`
`(
`
`\. __
`..
`
`-'
`
`\._
`
`.. "\
`..... ..
`
`0
`N ..--
`
`::::s::::
`0::
`0
`$
`I-w
`z
`
`-----··
`
`..
`
`·---
`
`·---- .... -._ -----····
`
`)
`
`'
`
`..
`
`\ / ..
`
`I
`
`I
`
`0 w
`0
`>
`
`0:: w
`N ~I ~
`I-a..
`0
`
`K
`
`c::
`
`~
`
`~
`
`0
`0 ..--
`
`,
`
`,
`
`(9
`z w
`0:: u ~I
`w > w w
`
`I- 0
`CJ)
`
`-
`
`-
`
`0::
`::::s:::: w
`0:: _J
`_J
`0 0
`$ 0::
`I- I-w z
`z 0 u
`
`~I
`
`w
`0:: u <( W-o
`
`CJ)>..-(cid:173)
`::::, W ..--
`0
`
`w
`0:: u aJ W-o
`CJ)>..-(cid:173)
`::::> w ..--
`0
`
`■
`
`C) -LL
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 2 of 23
`
`

`

`Patent Application Publication
`
`Dec. 5, 2013 Sheet 2 of 8
`
`US 2013/0322242 Al
`
`/200
`
`GRAPHICS
`DISPLAY
`210
`
`ALPHA-NUMERIC
`INPUT DEVICE
`212
`
`CURSOR
`CONTROL
`DEVICE
`214
`
`STORAGE UNIT
`216
`
`MACHINE(cid:173)
`READABLE
`MEDIUM
`222
`
`INSTRUCTIONS
`224
`
`PROCESSOR
`202
`
`INSTRUCTIONS
`224
`
`MAIN MEMORY
`204
`
`INSTRUCTIONS
`224
`
`STATIC
`MEMORY
`206
`
`NETWORK
`INTERFACE
`DEVICE
`220
`
`NETWORK
`110
`
`FIG. 2
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 3 of 23
`
`

`

`Patent Application Publication
`
`Dec. 5, 2013 Sheet 3 of 8
`
`US 2013/0322242 Al
`
`~I
`c:::
`w
`
`_J
`_J
`
`0
`c:::
`I--
`z
`0 u
`:::s:'.
`c:::
`0
`s
`I--
`w
`z
`
`>- w
`u ~ s;tl
`_J (9 ..---
`0 z C'0
`0.. w
`
`Cl'.'.
`w
`s N NI
`0 >- ..---
`_J _J C")
`LL <(
`z
`<(
`
`Cl'.'. ~
`0 w I--
`w ~ u col
`0 ~ w ..---
`-~C:::C'0
`> 0.. 0
`ow
`c:::
`
`w
`(9
`zwU
`- u <(
`c::: - LL '°I
`w>c:::..---
`w w w C")
`I-- 0
`I--
`z
`CJ)
`
`11)
`
`Cl'.'. w
`~ (9 '<ti
`UON
`CJ) _J C")
`11)
`::J
`CJ)
`
`w
`s I NI
`OUN
`_J <( C")
`LL U
`
`■
`
`~
`C)
`LL
`
`-
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 4 of 23
`
`

`

`Patent Application Publication
`
`Dec. 5, 2013 Sheet 4 of 8
`
`US 2013/0322242 Al
`
`NETWORK CONTROLLER
`140
`
`FLOW ANALYZER
`312
`
`*
`
`STEERING DEVICE
`INTERFACE 316
`ICAP SERVER 406 I
`
`I
`
`USER i.------4• 16
`DEVICE
`11 0
`
`_____.._A 11
`
`,__ _
`
`415 414
`
`•
`ICAP CLIENT
`404
`
`t
`t
`
`I
`I
`L - - -
`
`I
`I
`I
`__ J
`
`-
`
`---------- ~
`DATA SWITCH
`402
`
`STEERING DEVICE
`130
`
`FIG. 4A
`
`13---------1
`4
`
`A
`
`12-----
`
`ORIGIN
`SERVER
`160
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 5 of 23
`
`

`

`Patent Application Publication
`
`Dec. 5, 2013 Sheet 5 of 8
`
`US 2013/0322242 Al
`
`NETWORK CONTROLLER
`140
`
`FLOW ANALYZER
`312
`
`'
`STEERING DEVICE
`INTERFACE 316
`ICAP SERVER 406 I
`·~
`
`I
`
`426
`
`425
`
`1
`
`ICAP CLIENT
`404
`
`*
`
`USER --------£J.•24
`DEVICE
`110A 1---------4• 21
`
`----------
`
`A 23---------<
`
`A 22-------
`
`---------
`DATA SWITCH
`402
`
`STEERING DEVICE
`130
`
`ORIGIN
`SERVER
`160
`
`FIG. 4B
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 6 of 23
`
`

`

`USER
`DEVICE
`110
`
`STEERING
`DEVICE
`130
`
`NETWORK
`CONTROLLER
`140
`
`VIDEO
`OPTIMIZER
`150
`
`ORIGIN
`SERVER
`160
`
`HTTP GET 512
`
`..
`
`....
`
`.
`
`HTTP REDIRECT 520
`-
`
`ICAP REQ 516
`
`RESPONSE 518
`
`--~
`
`HTTP REDIRECT 520
`
`HTTP GET 512
`
`RESPONSE 514
`
`VIDEO 528
`
`•
`
`OPTIMIZEDIVIDEO 526
`
`~
`
`OPTIMIZED VIDEO 526 -~
`VIDEO 528
`
`FIG. 5
`
`HTTP GET 522
`
`....
`
`VIDEO 524
`
`""O
`~ .....
`
`(')
`
`~ .....
`
`('D = ..... t "e -....
`.... 0 = ""O = O" -....
`.... 0 =
`c ('D
`
`(')
`
`~ .....
`
`~
`~Ul
`N
`
`0 ....
`
`~
`
`('D
`('D
`
`rJJ =(cid:173)
`.....
`O'I
`0 ....
`
`QO
`
`c
`rJJ
`N
`0 ....
`~ ---0
`
`~
`N
`N
`N
`.i;...
`N
`
`> ....
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 7 of 23
`
`

`

`USER
`DEVICE
`110
`
`STEERING
`DEVICE
`130
`
`NETWORK
`CONTROLLER
`140
`
`VIDEO
`OPTIMIZER
`150
`
`HTTP GET 612
`
`•
`•
`
`HTTP REDIRECT 620
`
`... -
`
`ICAP REQ 616
`
`RESPONSE 618
`
`---~
`
`HTTP REDIRECT 620
`
`HTTP GET 612
`
`RESPONSE 614
`
`-
`
`OPTIMIZED VIDEO 626
`-
`
`OPTIMIZEDIVIDEO 626
`
`... -
`.
`
`ICAP REQ 628 •
`ICAP RESPONSE 630
`-
`
`ICAP COUNTING
`UPDATES 632
`
`....
`
`FIG. 6
`
`ORIGIN
`SERVER
`160
`
`--
`
`""O
`~ .....
`
`(')
`
`~ .....
`
`('D = ..... t "e -....
`.... 0 = ""O = O" -....
`.... 0 =
`c ('D
`
`(')
`
`~ .....
`
`.. -
`
`---
`
`HTTP GET 622
`
`VIDEO 624
`
`.. -
`
`~
`~Ul
`N
`
`0 ....
`
`~
`
`('D
`('D
`
`rJJ =(cid:173)
`.....
`-....J
`0 ....
`
`QO
`
`c
`rJJ
`N
`0 ....
`~ ---0
`
`~
`N
`N
`N
`.i;...
`N
`
`> ....
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 8 of 23
`
`

`

`FLOW CACHE MAP 700
`
`FLOW CACHE ENTRY
`710
`
`FLOW CACHE ENTRY
`712
`
`;
`
`FLOW CACHE ENTRY
`......
`
`FLOW CACHE BLOCK
`720
`
`SOURCE IP
`722
`
`USER FLOW BLOCK
`730
`
`DEFAULT USER
`FLOWS ill
`
`I>-----~ 1
`
`MAPPED USER
`FLOWS 726
`
`SUBSCRIBER ID
`732
`
`ESTIMATED B/W
`734
`
`LIST OF FLOWS
`736
`
`COOKIE HASHES
`738
`
`FIG. 7
`
`FLOW STATISTICS BLOCK
`740
`
`srclP, dstlP, srcPort, dstPort
`742
`
`CURRENT DOMAIN AND
`COOKIE 744
`
`TOT AL rx/tx BYTES
`746
`
`LAST rx/tx BYTES
`748
`
`■■■■■■
`
`""O
`~ .....
`
`(')
`
`~ .....
`
`('D = ..... t "e -....
`.... 0 = ""O = O" -....
`.... 0 =
`c ('D
`
`(')
`
`~ .....
`
`~
`~Ul
`N
`
`0 ....
`
`~
`
`('D
`('D
`
`rJJ =(cid:173)
`.....
`QO
`0 ....
`
`QO
`
`c
`rJJ
`N
`0 ....
`~ ---0
`
`~
`N
`N
`N
`.i;...
`N
`
`> ....
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 9 of 23
`
`

`

`US 2013/0322242 Al
`
`Dec. 5, 2013
`
`1
`
`REAL-TIME NETWORK MONITORING AND
`SUBSCRIBER IDENTIFICATION WITH AN
`ON-DEMAND APPLIANCE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application claims the benefit of U.S. Provi(cid:173)
`sional Application No. 61/654,689 filed on Jun. 1, 2012 and
`U.S. Provisional Application No. 61/754,391 filed on Dec.
`21, 2012, both of which are incorporated by reference in their
`entirety.
`
`BACKGROUND
`
`[0002]
`1. Field of Art
`[0003] The disclosure generally relates to improving user
`experience on a network, and more specifically, to monitoring
`bandwidth consumption of the many devices connected to a
`given node in the network.
`[0004] 2. Description of the Related Art
`[0005] Mobile devices, such as smart phones and tablets,
`have become prevalent in recent years. Given the fast advance
`in mobile computing power and far-reaching wireless Inter(cid:173)
`net access, more and more users view streamed videos on
`their mobile devices. The detection of network congestion has
`become
`increasingly
`important for network operators
`attempting to maximize user experience on the network. Even
`as network operators are ever increasing the capacity of their
`networks, the demand for bandwidth is growing at an even
`faster pace. Managing network growth and dealing with con(cid:173)
`gestion in the infrastructure is particularly important in the
`mobile space because of the high cost of radio spectrum and
`radio access network (RAN) equipment utilized by wireless
`mobile networks. These high costs prevent mobile service
`providers from engineering excess capacity into each net(cid:173)
`work access point through the purchase of additional RAN
`infrastructure. The same situation can, however, also happens
`to other types of network infrastructure.
`[0006] Existing network elements can give operators a
`view into the current state of traffic in their network, but they
`do not provide a measure of "goodness," i.e., how much
`elasticity is left or how much more data can the network
`handle. This measure is important for multimedia content
`delivery since a good user experience usually depends on the
`network's ability to deliver data in a reliable and sustainable
`fashion. A minimum data rate is required to prevent stalling
`and re-buffering during the streaming of multimedia content,
`hence ensuring sufficient bandwidth is important to quality of
`experience. Typically, multimedia content providers are suf(cid:173)
`ficiently equipped to deliver multimedia content at levels far
`beyond the capabilities of wireless infrastructure. Hence, the
`burden falls on wireless service providers to implement net(cid:173)
`work data optimization to ease the traffic burden and maxi(cid:173)
`mize the experience of each and every user on the network.
`Currently, however, mobile service providers are often forced
`to use very coarse tools that have little visibility into which
`network segments are congested and tend to apply optimiza(cid:173)
`tion to flows that may not need any optimization.
`[0007] Typically, mobile service providers use inline net(cid:173)
`work appliances that monitor every bit of subscriber traffic in
`order to make estimates of network throughput. This puts a
`huge burden on the system since it must scale to handle
`hundreds of thousands to millions of network requests per
`second through a single network access point. Furthermore,
`
`network service providers often must utilize these monitoring
`techniques on a micro-scale ( e.g., per RAN equipment instal(cid:173)
`lation) in order to react to the condition of the network, which
`results in increased cost. In addition, a large portion of web
`traffic consists of small object requests, which can obscure
`network monitoring at any level due to their short lifetime and
`bursty characteristics.
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`[0008] The disclosed embodiments have other advantages
`and features which will be more readily apparent from the
`detailed description, the appended claims, and the accompa(cid:173)
`nying figures ( or drawings). A briefintroduction of the figures
`is below.
`[0009] FIG. 1 illustrates a high-level block diagram of an
`example communications environment for selective on-de(cid:173)
`mand real-time network monitoring and subscriber identifi(cid:173)
`cation.
`[0010] FIG. 2 illustrates one embodiment of components of
`an example machine able to read instructions from a machine(cid:173)
`readable medium and execute them in a processor (or con(cid:173)
`troller).
`[0011] FIG. 3 illustrates one embodiment of an example
`architecture of a network controller for providing selective
`real-time network monitoring and subscriber identification.
`[0012] FIGS. 4A-4B illustrate embodiments of example
`working modes of the network controller for providing selec(cid:173)
`tive on-demand network monitoring and subscriber identifi(cid:173)
`cation.
`[0013] FIG. 5 illustrates one example embodiment of event
`trace of an example network controller in "continue" working
`mode for selective on-demand real-time network monitoring
`and subscriber identification.
`[0014] FIG. 6 illustrates one example embodiment of event
`trace of an example network controller in "counting" working
`mode for selective on-demand real-time network monitoring
`and subscriber identification.
`[0015] FIG. 7 illustrates one embodiment of components of
`an example flow cache managed by a network controller.
`
`DETAILED DESCRIPTION
`
`[0016] The Figures (FIGS.) and the following description
`relate to preferred embodiments by way of illustration only. It
`should be noted that from the following discussion, alterna(cid:173)
`tive embodiments of the structures and methods disclosed
`herein will be readily recognized as viable alternatives that
`may be employed without departing from the principles of
`what is claimed.
`[0017] Reference will now be made in detail to several
`embodiments, examples of which are illustrated in the
`accompanying figures. It is noted that wherever practicable
`similar or like reference numbers may be used in the figures
`and may indicate similar or like functionality. The figures
`depict embodiments of the disclosed system (or method) for
`purposes ofillustration only. One skilled in the art will readily
`recognize from the following description that alternative
`embodiments of the structures and methods illustrated herein
`may be employed without departing from the principles
`described herein.
`
`Overview
`
`[0018] Embodiments disclosed include a network control(cid:173)
`ler system for real-time data gathering on the state of existing
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 10 of 23
`
`

`

`US 2013/0322242 Al
`
`Dec. 5, 2013
`
`2
`
`network traffic flows and mapping flow data to respective
`users in the network to predict available bandwidth and level
`of congestion. By gathering a history of flow statistics in the
`network, the network controller system establishes a relation(cid:173)
`ship between base stations ( or other network segments) and
`their capability to deliver the amount of data typically
`required by a particular user of the network. The very recent
`history of network flows can be used to predict the near future
`congestions in a substantially real-time fashion. Furthermore,
`the history of flow statistics can be used to build a long-term
`map of user behavior on the network, which can more effec(cid:173)
`tively predict on demand data delivery requirements for the
`collection of users utilizing a given network access point in a
`consistent manner. The network controller keeps a flow state
`database, which groups flow data in a number of ways, such
`as on per station/cell tower, per subscriber, per time-of-day, or
`per geography area basis. As new flows are presented to the
`system for inspection, database can be queried to estimate the
`network congestion level for new flows to determine whether
`existing, new or future flows require optimizations in order to
`maintain the desired level of user satisfaction.
`[0019]
`In one embodiment, an on-demand network moni(cid:173)
`toring method is adopted to gather data about network flows
`as they traverse the network. For example, network flows can
`be monitored selectively or on-demand based on the types of
`the content carried in the flows. Furthermore, the network
`monitoring can also be performed selectively at inline level,
`as well as out-of-band to improve efficiency. Both TCP and
`UDP flows are monitored to gather information about the
`state of the network, such as the average network throughput
`for each flow and end-to-end latency between, for example, a
`client device and an origin server providing multimedia con(cid:173)
`tent to the client device. For each TCP or UDP flow, the
`system tracks the number of bytes sent ( and in some embodi(cid:173)
`ments acknowledged). In TCP, the current window size may
`also be tracked. Records on network flows are stored in a flow
`statistics database, which can be indexed by subscriber iden(cid:173)
`tification (ID), cell tower (base station), and network segment
`etc. As many flow records accumulate, this database repre(cid:173)
`sents both historical and current network condition and
`capacity for delivering data. Network throughput can be mea(cid:173)
`sured by calculating an average number of bytes delivered
`over a period of time. Steps may be taken to filter out spurious
`data from small flows with size less than a certain threshold
`that, when measured, cause very noisy results in measuring
`bandwidth and/or latency. For example, any flow having
`delivery time of less than 500 ms can be filtered.
`[0020]
`In another embodiment, large objects, such as video
`files and data, traversing the network are monitored and
`paced. Rather than just measuring the bandwidth associated
`with large object delivery, estimates for future bandwidth
`needs of the network are determined based on the measure(cid:173)
`ments. In turn, large objects may be selectively optimized to
`preserve network throughput. For video objects, streaming
`bit rate of the flow provides a parameter, which can be com(cid:173)
`pared against network capacity to determine if the network is
`able to sustain the required level of throughput. It is often
`advantageous to pace the transfer speed to not exceeding a
`known cap. If a flow can be delivered at a rate between the
`minimum level needed to keep the video from stalling and the
`upper limit of the pacing limit, then the network segment on
`which the flow traverses is said to be capable of sustain the bit
`rate required for the flow. Large objects like video and images
`take a period of time to be delivered, which aids in measuring
`
`the origin server latency and detecting network congestion
`more accurately than small flows. For example, a reasonable
`size threshold for separating a large object from a small object
`can be set between 512 kB to 1 MB, and 50 kB and up for
`medium-sized objects. Other values are also possible.
`[0021]
`In some embodiments, the bandwidth attained by a
`single flow may be sufficient to determine the capacity of the
`network segment( s) the flow traverses. Therefore, with a
`fairly small deployment of network controller( s ), an accurate
`detection of key network congestion points can be derived.
`Specifically, one does not need to monitor every flow going
`through a network segment to detect congestions. Since video
`currently comprises around 50% of the traffic on a network
`but only around 5% of total flows, a relatively small number
`of flow samples of large objects can map a statistically sig(cid:173)
`nificant portion of the network.
`[0022] The unpredictable and transient nature of network
`congestion means that mitigation of the network congestion
`will be too late if not acted upon in near real-time after
`congestion is detected. In one embodiment, the network con(cid:173)
`troller selects large video or image flows through an on(cid:173)
`demand video optimizer to optimize large object delivery and
`thus available network bandwidth. With the controller and/or
`optimizer to intelligently and selectively handle the measure(cid:173)
`ment and optimization, these operations are offloaded from
`network routing appliances.
`
`Real-Time Traffic Monitoring
`
`[0023] FIG. 1 illustrates a high-level block diagram of an
`example communications environment 100 for selective on(cid:173)
`demand real-time network monitoring and subscriber identi(cid:173)
`fication. The environment 100 comprises user devices 110, an
`origin server 160, a steering device 130, a network controller
`140, a video optimizer 150, and a network 120. The network
`120 is a communication network that transmits data between
`the user devices 110, the steering device 130 and the origin
`server 160 and/or the video optimizer 150. In one embodi(cid:173)
`ment the network 120 includes wireless network and the
`Internet.
`[0024] A network efficiency strategy that aspires to keep
`capital expenditure from outpacing revenues has to be bal(cid:173)
`anced with demands from consumers for better user experi(cid:173)
`ences that rely increasingly on higher data usage. Today,
`mobile operators are employing a variety of tools to manage
`capacity including data usage caps, Wi-Fi offload and intel(cid:173)
`ligent optimization. The environment 100 demonstrates such
`a solution that provides a unified foundation with deep ses(cid:173)
`sion intelligence, integrated services management, and
`dynamic adaptability to fit any service offering. Together, the
`network controller 140 and the video optimizer 150 deliver a
`world-class media optimization solution that brings a surgical
`capacity advantage to wireless operators as well as Internet
`service providers with better peak capacity savings than alter(cid:173)
`native solutions.
`[0025]
`In one embodiment, the user devices 110 are com(cid:173)
`puting devices with network capabilities. Oftentimes, for
`example, the user devices 110 are wireless enabled mobile
`computing device with a web browser and media display
`capability. The user devices 110 as mobile computing devices
`may include laptops, netbooks, tablets, smart telephones, or
`personal digital assistants (PDAs ). While only two user
`devices HOA and HOB are illustrated in FIG. 1, the environ(cid:173)
`ment 100 may include thousands or millions of such devices.
`The web browsers may be software applications running on
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 11 of 23
`
`

`

`US 2013/0322242 Al
`
`Dec. 5, 2013
`
`3
`
`mobile devices 110 for retrieving web content from the origin
`server 160 and presenting the web content on a display
`coupled to the mobile device. Web content accessed by the
`user devices 110 include text, images, audio and video con(cid:173)
`tent. The multimedia content can be played back by the
`browsers, for example, HTML5 compatible browsers, plug(cid:173)
`in or a standalone media player. The browsers can also invoke
`the media players or plug-ins available on the user devices
`110 and passes images, audio and/or video to the media
`player or plug-in for playback.
`
`[0026] The steering device 130 may be a load balancer or a
`router located between the user device 110 and the network
`120. The steering device 130 provides the user device 110
`with access to the network and thus, provides the gateway
`through which the user device traffic flows onto the network
`and vice versa. In one embodiment, the steering device 130
`categorizes traffic routed through it to identify flows of inter(cid:173)
`est for further inspection at the network controller 140. Alter(cid:173)
`natively, the network controller 140 interfaces with the steer(cid:173)
`ing device 130
`to coordinate
`the monitoring and
`categorization of network traffic, such as identifying large
`and small objects in HTTP traffic flows. In this case, the
`steering device 130 receives instructions from the network
`controller 140 based on the desired criteria for categorizing
`flows of interest for further inspection.
`
`[0027] However, information on the wireless/cellular user
`devices 110 side is often not available at the steering device
`130 that sits between the cellular network and the wired
`Internet. For example, there is often no information about the
`identifiers of the towers associated with the mobile devices
`110. Tower association information only broadcasted when
`the mobile devices first attached to the network. In addition,
`user devices 110 do not usually report any identification
`information except their IP addresses. Therefore, monitoring
`of the network traffic and detection of the congestion is auto(cid:173)
`mated and managed by the detector 140 so that network can
`be optimized for end user's experience without the mobile
`user's knowledge.
`
`[0028]
`In contrast to conventional inline TCP throughput
`monitoring devices that monitor every single data packets
`transmitted and received, the network controller 140 is an
`"out-of-band" computer server that interfaces with the steer(cid:173)
`ing device 130 to selectively inspect user flows of interest.
`The network controller 140 may further identify user flows
`(e.g., among the flows of interest) for optimization. In one
`embodiment, the network controller 140 may be imple(cid:173)
`mented at the steering device 130 to monitor traffic. In other
`embodiments, the network controller 140 is coupled to and
`communicates with the steering device 130 for traffic moni(cid:173)
`toring and optimization. When queried by the steering device
`130, the network controller 140 determines ifa given network
`flow should be ignored, monitored further or optimized. Opti(cid:173)
`mization of a flow is often decided at the beginning of the flow
`because it is rarely possible to switch to optimized content
`mid-stream once non-optimized content delivery has begun.
`However, the network controller 140 may determine that
`existing flows associated with a particular subscriber or other
`entity should be optimized. In turn, new flows ( e.g., resulting
`from seek requests in media, new media requests, resume
`after pause, etc.) determined to be associated with the entity
`may be optimized. The network controller 140 uses the net(cid:173)
`work state as well as historical traffic data in its decision for
`
`monitoring and optimization. Knowledge on the current net(cid:173)
`work state, such as congestion, deems critical when it comes
`to data optimization.
`[0029] As a flow is sent to the network controller 140 for
`inspection, historical network traffic data stored at the net(cid:173)
`work controller 140 may be searched. The historical network
`traffic data includes information such as subscriber informa(cid:173)
`tion, the cell towers to which the user devices attached, rout(cid:173)
`ers through which the traffic is passing, geography regions,
`the backhaul segments, and time-of-day of the flows. For
`example, in a mobile network, the cell tower to which a user
`device is attached can be most useful, since it is the location
`where most congestion occurs due to limited bandwidth and
`high cost of the radio access network infrastructure. The
`network controller 140 looks into the historical traffic data for
`the average of the bandwidth per user at the particular cell
`tower. The network controller 140 can then estimate the
`amount ofbandwidth or degree of congestion for the new flow
`based on the historical record.
`[0030] The video optimizer 150 is a computer server that
`provides video and image optimization and delivers opti(cid:173)
`mized video and image content to the user devices 110 via the
`network 120. The video and image optimization is an on(cid:173)
`demand service provided through the transcoding of the
`video and image content. For example, when a user device
`attempts to retrieve video from the origin server 160, the
`network controller 140 may decide that the flow meets certain
`criteria for content optimization. The network controller 140
`then redirected the user devices 110 to the video optimizer
`150 to retrieve the optimized content. The video optimizer
`150 receives information in the redirect request from the user
`devices 110 or from the network controller 140 about the
`video or image content to be optimized and retrieve the video
`or image content from the corresponding origin server 160 for
`optimization and subsequent delivery to the user devices 110.
`[0031] The disclosed embodiments focus on the video opti(cid:173)
`mization because video is of far greater importance than all
`other traffic types when network congestion is considered.
`Video traffic makes up around half of all network traffic-and
`the percentage is growing every year. Therefore, optimizing
`video traffic massively reduces congestion in the network.
`Video flows or streams are also long lived, having large
`packet size, and demanding high bitrates, monitoring video
`streams is an effective ways of detecting congestion in the
`network. Furthermore, because video streams require steady
`and consistent bandwidth, they are among first to be impacted
`when congestion occurs and available network bandwidth
`reduces. By contrast, web page text and images are generally
`not affected under mild network congestion with unnotice(cid:173)
`able longer load times. Video optimization differs in one key
`aspect to optimizing other web content: it is long form, and
`the optimization policy decisions made at the beginning of a
`video have significant impact on the ability to deliver a con(cid:173)
`sistent experience for the length of the video.
`[0032] The video optimizer 150 and the origin server 160
`are typically formed of one or more computers. While only
`one server of each video optimizer 150 and origin server 160
`is shown in the environment 100 of FIG. 1, different embodi(cid:173)
`ments may include multiple web servers and video servers
`operated by a single entity or multiple entities. In other
`embodiments, a single server may also provide different func(cid:173)
`tionalities, such as delivering web content as a web server, as
`well as serving optimized video content.
`
`Exhibit 1007
`Cisco v. Orckit – IPR2023-00554
`Page 12 of 23
`
`

`

`US 2013/0322242 Al
`
`Dec. 5, 2013
`
`4
`
`Computing Machine Architecture
`
`[0033] FIG. 2 is a block diagram illustrating components of
`an example machine able to read instructions from a machine(cid:173)
`readable medium and execute them in a processor (or con(cid:173)
`troller) to implement the disclosed system for on-demand
`real-time network monitoring and subscriber identification.
`Specifically, FIG. 2 shows a diagrammatic representation of a
`machine in the example form of a computer system 200
`within which instructions 224 ( e.g., software) for causing the
`machine to perform any one or more of the methodologies
`discussed herein may be executed. In alternative embodi(cid:173)
`ments, the machine operates as a standalone device or may be
`connected (e.g., networked) to other machines. In a net(cid:173)
`worked deployment, the machine may operate in the capacity
`of a server machine or a client machine in a server-client
`network environment, or as a peer machine in a peer-to-peer
`( or distributed) network environment.
`[0034] The machine may be a server computer, a client
`computer, a personal computer (PC), a tablet PC, a set-top
`box (STB), a personal digital assistant (PDA), a cellular tele(cid:173)
`phone, a smart phone, a web appliance, a network router,
`switch or bridge, or any machine capable of executing
`instructions 224 ( sequential or otherwise) that specify actions
`to be taken by that machine. Further, while only a single
`machine is illustrated, the term "machine" shall also be taken
`to include any collection of machines that individually or
`jointly execute instructions 224 to perform any one or more of
`the methodologies discussed herein.
`[0035] The example computer system 200 includes one or
`more processors 202 ( e.g., a central processing unit (CPU), a
`graphics processing unit (GPU), a digital signal processor
`(DSP), one or more application specific integrated circuits
`(ASICs), one or more radio-frequency integrated circuits
`(RFICs), or any combination of these), a main memory 204,
`and a static memory 206, which are configured to communi(cid:173)
`cate with each other via a bus 208. The computer system 200
`may further include graphics display unit 210 ( e.g., a plasma
`display panel (PDP), a liquid crystal display (LCD), a pro(cid:173)
`jector, or a cathode ray tube (CRT)). The computer system
`200 may also include alphanumeric input device 212 ( e.g., a
`keyboard), a cursor control device 214 ( e.g., a mouse, a track(cid:173)
`ball, a joystick, a motion sensor, or other pointing instru(cid:173)
`ment), a storage unit 216, and a network interface device 220,
`which also are configured to communicate via the bus 208.
`[0036] The storage unit 216 includes a machine-readable
`medium 222 on which is stored instructions 224 (e.g., soft(cid:173)
`ware) embodying any one or more of the methodologies or
`functions described herein. The instructions 224 (e.g., soft(cid:173)
`ware) may also reside, completely or at least partially, within
`the main memory 204 or within the processor 202 ( e.g.,
`within a processor's cache memory) during execution thereof
`by the computer system 200, the main memory 204 and the
`processor 202 also constituting machine-readable media. The
`instructions 224 (e.g., software) may be transmitted or
`received over a network 110 via the network interface device
`220.
`[0037] While machine-readable medium 222 is shown

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