`Luna et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,553,816 B2
`Jan. 24, 2017
`
`USO09553816B2
`
`(54)
`
`(71)
`
`(72)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`OPTIMIZING MOBILE NETWORK TRAFFIC
`COORONATION ACROSS MULTIPLE
`APPLICATIONS RUNNING ON A MOBILE
`DEVICE
`
`Assignee:
`
`Applicant: Seven Networks, LLC, Marshall, TX
`(US)
`Inventors: Michael Luna, San Carlos, CA (US);
`Ari Backholm, San Carlos, CA (US);
`Steve Petersen, Los Gatos, CA (US)
`Seven Networks, LLC, Marshall, TX
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 15/077,370
`
`Notice:
`
`Filed:
`
`Mar. 22, 2016
`
`Prior Publication Data
`US 2016/0205O28A1
`Jul. 14, 2016
`
`Related U.S. Application Data
`Continuation of application No. 14/710,167, filed on
`May 12, 2015, which is a continuation of application
`(Continued)
`
`Int. C.
`H04L (2/825
`H04L 29/08
`
`(2013.01)
`(2006.01)
`(Continued)
`
`U.S. C.
`CPC ............. H04L 47/25 (2013.01); H04L 47/122
`(2013.01); H04L 65/608 (2013.01); H04L
`67/28 (2013.01);
`
`(Continued)
`Field of Classification Search
`CPC. H04L 67/145; H04L 67/2833; H04L 67/288;
`H04L 67/2895; H04L 67/289; H04L
`
`67/32;YO2B 60/46; G06F 1/3231; H04W
`74/06; H04W 74/02; H04W 72/1221
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`7,062,567 B2
`7.587,510 B1
`
`6/2006 Benitez et al.
`9/2009 Klager et al.
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`
`2009070415 A1
`2012128792 A1
`
`6, 2009
`9, 2012
`
`OTHER PUBLICATIONS
`
`USPTO, Final Rejection for U.S. Appl. No. 14/748,218, mailed on
`May 6, 2016.
`
`(Continued)
`Primary Examiner — Ian N Moore
`Assistant Examiner — Mewale Ambaye
`(74) Attorney, Agent, or Firm — NK Patent Law, PLLC
`(57)
`ABSTRACT
`A system with distributed proxy for reducing traffic in a
`wireless network to satisfy data requests made by a mobile
`application is provided. The system includes a mobile device
`having a local proxy for intercepting a data request made by
`the mobile application. The local proxy simulates applica
`tion server responses for the mobile application on the
`mobile device for data requests where responses are avail
`able in the local cache. A proxy server is coupled to the
`mobile device and an application server to which the data
`request is made. The proxy server is able to communicate
`with the local proxy. The local proxy forwards the data
`request to the proxy server for transmission to the applica
`tion server for a response to the data request. The proxy
`server queries the application server independent of activi
`ties of the mobile application for any changes to the data
`request.
`
`16 Claims, 29 Drawing Sheets
`
`A....
`
`112
`
`
`
`
`
`giri - 110
`
`Cottetowice
`
`---
`fe.
`\---
`-N
`
`dar-Spria:
`
`Corporate snai
`erseila
`a
`S.S.
`S. oisef
`Messaging
`
`Gras intaine
`
`Scicisetsworks, cter
`88W:e:S
`
`14.
`--Q
`
`? C -
`
`k--- n
`
`n
`
`Page 1 of 57
`
`GOOGLE EXHIBIT 1024
`
`
`
`US 9,553,816 B2
`Page 2
`
`Related U.S. Application Data
`No. 14/467,922, filed on Aug. 25, 2014, now Pat. No.
`9,247.019, which is a division of application No.
`13/188,553, filed on Jul. 22, 2011, now Pat. No.
`8,886,176, application No. 15/077,370, which is a
`continuation of application No. 14/710,167, filed on
`May 12, 2015, which is a continuation of application
`No. 13/115,631, filed on May 25, 2011, now Pat. No.
`9,043,433, application No. 15/077,370, which is a
`continuation of application No. 14/710,167, filed on
`May 12, 2015, which is a continuation of application
`No. 13/407,406, filed on Feb. 28, 2012, which is a
`continuation of application No. 13/178.598, filed on
`Jul. 8, 2011, now abandoned, application No. 15/077,
`370, which is a continuation of application No.
`14/710,167, filed on May 12, 2015, which is a con
`tinuation of application No. 13/355,443, filed on Jan.
`20, 2012, now Pat. No. 9,049,179, which is a contin
`uation of application No. 13/115,631, filed on May
`25, 2011, now Pat. No. 9,043,433.
`(60) Provisional application No. 61/430,828, filed on Jan.
`7, 2011, provisional application No. 61/416,033, filed
`on Nov. 22, 2010, provisional application No.
`61/416,020, filed on Nov. 22, 2010, provisional
`application No. 61/408,846, filed on Nov. 1, 2010,
`provisional application No. 61/408,854, filed on Nov.
`1, 2010, provisional application No. 61/408,858, filed
`on Nov. 1, 2010, provisional application No.
`61/408,829, filed on Nov. 1, 2010, provisional
`application No. 61/408,826, filed on Nov. 1, 2010,
`provisional application No. 61/408,820, filed on Nov.
`1, 2010, provisional application No. 61/408,839, filed
`on Nov. 1, 2010, provisional application No.
`61/367,870, filed on Jul. 26, 2010, provisional
`application No. 61/367,871, filed on Jul. 26, 2010.
`(51) Int. Cl.
`H0474/18
`H04W 88/8
`H04L 12/803
`H04L 29/06
`H04W 28/02
`HO4W 84/04
`(52) U.S. Cl.
`CPC ......... H04L 67/289 (2013.01); H04L 67/2842
`(2013.01); H04L 67/2885 (2013.01); H04L
`67/32 (2013.01); H04W 4/18 (2013.01);
`H04W 28/02 (2013.01); H04W 88/182
`(2013.01); H04W 84/042 (2013.01)
`References Cited
`
`(2009.01)
`(2009.01)
`(2013.01)
`(2006.01)
`(2009.01)
`(2009.01)
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`8,904,206 B2 * 12/2014 Black ................ HO4W 52fO258
`T13,300
`
`2002/0108121 A1
`8, 2002 Alao et al.
`2004/0081088 A1
`4/2004 Schinner et al.
`2004/0259542 A1
`12/2004 Vitamaki et al.
`12/2004 Ginzburg et al.
`2004/0264396 A1
`2005/0216844 A1
`9, 2005 Error et al.
`2007/OO73766 A1
`3, 2007 Porter
`2007/026O718 A1
`11/2007 Shenfield
`1/2008 Fyke
`2008, 0008313 A1
`6/2008 Rybak
`2008. O140794 A1
`2008/0242370 A1* 10, 2008 Lando ................... HO4L 12.581
`455,574
`
`2009/0011791 A1
`
`2009/0055467 A1
`2009/0239574 A1
`2009/0275349 A1
`2010, OO77035 A1
`2010, 0083255 A1*
`
`2010/0241312 A1
`2011 OO19555 A1
`2011 OO45847 A1
`2011/O177847 A1*
`
`2011 0194539 A1
`2011 O255444 A1
`2012/02601.18 A1
`2013,0163431 A1
`
`1/2009 Tashiro ................. G06F 1,3203
`455,550.1
`
`2/2009 Petersen
`9, 2009 Hussain
`11/2009 Bae et al.
`3/2010 Li et al.
`4/2010 Bane ..................... HO4L 51,043
`T18, 101
`
`9/2010 Preston et al.
`1/2011 Gotoh et al.
`2/2011 Roin et al.
`7/2011 Huang .............. HO4W 52,0216
`455,574
`
`8/2011 Blasinski et al.
`10/2011 Soliman et al.
`10/2012 Jiang et al.
`6, 2013 Backholm et al.
`
`OTHER PUBLICATIONS
`
`EPO, Application No. 11818512.3, File history from Jul. 8, 2011 to
`Apr. 7, 2016.
`EPO, Application No. 11814939.2, File history from May 25, 2011
`to Apr. 7, 2016.
`EPO, Application No. 11814940, File history from May 25, 2011 to
`Apr. 7, 2016.
`EPO, Application No. 11814973.1, File history from Jul. 8, 2011 to
`Apr. 7, 2016.
`EPO, Application No. 11814971.5, File history from Jul. 8, 2011 to
`Apr. 7, 2016.
`EPO, Application No. 11748780.1, File history from Jul. 22, 2011
`to Apr. 7, 2016.
`EPO, Application No. 11838705.9, File history from Nov. 1, 2011
`to Apr. 7, 2016.
`EPO, Application No. 11842623.8, File history from Nov. 22, 2011
`to Apr. 7, 2016.
`EPO, Application No. 11843111.3, File history from Nov. 18, 2011
`to Apr. 7, 2016.
`Canadian Patent Office, Application No. 2806557, file history from
`Jul. 22, 2011 to Apr. 7, 2016.
`Canadian Patent Office, Application No. 2857458, File history from
`Jul. 22, 2011 to Apr. 7, 2016.
`Canadian Patent Office, Application No. 2806529, File history from
`May 25, 2011 to Apr. 7, 2016.
`Canadian Patent Office, Application No. 2806549, File history from
`Jul. 8, 2011 to Apr. 7, 2016.
`Canadian Patent Office, Application No. 2798523, File history from
`Nov. 18, 2011 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB130 1258.8, File
`history from Jul. 8, 2011 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB1310340.3, File
`history from Jul. 22, 2011 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB1400059, File
`history from Jul. 22, 2011 to Apr. 4, 2016.
`Great Britain Property Office, Application No. GB13075734, File
`history from Nov. 1, 2011 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB1309234.1, File
`history from Nov. 22, 2011 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB1309373.7, File
`history from May 25, 2044 to Apr. 7, 2016.
`Great Britain Property Office, Application No. GB1316847.1, File
`history from Nov. 1, 2011 to Apr. 7, 2016.
`USPTO, Final Rejection for U.S. Appl. No. 14/872,009, mailed on
`Apr. 15, 2016.
`USPTO, Non-Final Rejection for U.S. Appl. No. 13/477,625,
`mailed on Mar. 23, 2016.
`USPTO, Notice of Allowance for U.S. Appl. No. 14/467,881,
`mailed on Apr. 11, 2016.
`USPTO, Notice of Allowance for U.S. Appl. No. 13/351,176,
`mailed on Mar. 25, 2016.
`USPTO, corrected Notice of Allowance for U.S. Appl. No.
`13/351,176, mailed on Apr. 13, 2016.
`
`Page 2 of 57
`
`
`
`US 9,553,816 B2
`Page 3
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`
`CIPO, Letter from Patent Appeal Board for Canadian Patent Appli
`cation No. 2,806,527, mailed on Mar. 30, 2016.
`Gigaom: “How to Stretch Battery Life on the HTC EVO 4G", Jun.
`10, 2010, https://gigaom.com/2010/06/10/how-to-stretch-battery
`life-on-the-htc-evo-4g/.
`Quintana, D.: “Mobile Multitasking”, Apr. 14, 2010, http://
`davidquintana.com/entry/mobile-multitasking?.
`USPTO, Final Rejection for U.S. Appl. No. 14/468,032, mailed on
`May 26, 2016.
`USPTO, Advisory Action for U.S. Appl. No. 14/748,218, mailed on
`Jun. 7, 2016.
`USPTO, Non-Final Rejection for U.S. Appl. No. 14/710,167,
`mailed on Jun. 6, 2016.
`InnovationQ—IP.com: Search results of “Mobile traffic optimiza
`tion and coordination and . . .
`. May 30, 2016. https://iqip.com/
`discover.
`
`IEEE Xplore Search Results: Search results of “Mobile traffic
`optimization and coordination and user experience enhancement'.
`May 30, 2016, http://ieeexplore.ieee.org/search.
`USPTO, Notice of Allowance for U.S. Appl. No. 15/132,400,
`mailed on Jul. 14, 2016.
`USPTO, Notice of Allowance for U.S. Appl. No. 14/467,838,
`mailed on Jul. 15, 2016.
`USPTO, Non-Final Rejection for U.S. Appl. No. 14/872,009,
`mailed on Jun. 29, 2016.
`USPTO, Non-Final Rejection for U.S. Appl. No. 14/147.468,
`mailed on Jul. 13, 2016.
`USPTO, Non-Final Rejection for U.S. Appl. No. 14/147.434,
`mailed on Jul. 11, 2016.
`CIPO, Commissioner's Decision for Canadian Patent Application
`No. 2,806,527, dated Jul. 20, 2016.
`USPTO, Final Rejection for U.S. Appl. No. 14/745.796, mailed Sep.
`12, 2016.
`USPTO, Notice of Allowance for U.S. Appl. No. 15/205,036,
`mailed Nov. 17, 2016.
`
`* cited by examiner
`
`Page 3 of 57
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 24, 2017
`Jan, 24, 2017
`
`Sheet 1 of 29
`Sheet 1 of 29
`
`US 9,553,816 B2
`US 9,553,816 B2
`
`CEL
`BoeLaTUyJAPIAOIgJLIB]UO
`
`
`JasGSUOTEaay
`
`
`
`FAISuoyesyd
`
`POLOOL
`
`
`
`
`
`
`
`
`
`Page 4 of 57
`
`P2907]
`
`auoes
`
`Gel
`
`iSO
`
`Jaaias
`
`
`
`HeUUIZapesodioy
`
`HRW[BUOSIOd
`
`VIOld
`
`SAAS
`
`Hurbessayy
`
`
`
`JUENUI‘SfeOe
`
`
`
`
`
`JBUJO‘SJOMJaL[RIOOS
`
`
`
`
`
`J3U}0‘SWISWS
`
`Page 4 of 57
`
`
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 2 of 29
`
`US 9,553,816 B2
`
`App Servert
`Corterit rowicer
`
`1.
`
`Optionai Caching
`Proxy Server
`
`is a
`
`res are are
`
`a
`
`st Server
`
`-
`
`
`
`
`
`
`
`
`
`
`
`Sery
`Proys
`
`
`
`Serye Cathe
`135
`
`Short Message
`Service Cente?
`112
`
`Page 5 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 3 of 29
`
`US 9,553,816 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Robie Device
`2SO
`---
`
`Proxy-Jaware
`Obike
`Application
`2.
`
`Proxy-Aware &obile
`Application
`230
`
`OCai
`Proxy
`2S
`
`Cachirig Policy
`Manager
`243
`Application
`rotoco
`Module
`243
`
`ser
`Activity
`cities
`
`
`
`wanager
`Request ransaction
`233
`
`Application Behavior
`Detector 333
`Patter eiector
`23.
`Application profile
`Generator 23S
`
`rofit:2a
`O
`Engine
`24.
`
`Traffic Shaping Engire 2.
`Alignment
`Batching
`odule
`ROdie
`
`
`
`
`
`Corection
`Manager 265
`Racid
`CCtroiler 288
`
`heatea
`Watage 6.
`
`jetwork intefface 23
`sus iff
`: WiFi if
`Cear if
`
`
`
`
`
`
`
`
`
`
`
`text A-
`26
`
`Creating
`S
`
`FIG. 2A
`
`Page 6 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 4 of 29
`
`US 9,553,816 B2
`
`
`
`Application Behavior Detector 236
`
`Pattern Detector 237
`
`User Activity Module
`
`Correlation Detector 238
`
`Engine 241
`
`Application Profile Generator
`239
`
`Application Status
`Detector 240
`
`Traffic Shaping Engine 255
`
`Alignment Module 256
`
`Batching Module
`257
`
`Delay Module
`258
`
`Page 7 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 5 Of 29
`
`US 9,553,816 B2
`
`
`
`User Activity Module 215
`
`Prediction Engine
`216
`
`FIG. 2C
`
`Page 8 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 6 of 29
`
`US 9,553,816 B2
`
`
`
`Sever
`Cacie
`333
`
`Application Serveti
`Service Provide
`3.
`
`Network interface 38
`SMS if
`AF if
`Cearf
`
`Host Sever
`
`Proxy Server
`325
`
`-- Acess
`Engie 345
`
`New Cata
`Detector &
`
`Proxy Controlier 365
`Activity: Betavior
`Awareness kilodule 386
`Priority Awareness
`Module 33.
`Data invasior Module
`
`traffic Shaping
`Engire 375
`
`Cortfoli Protocol
`378
`Baichigode
`
`Caching Policy
`Marager 335
`Application
`rotoc}
`Fodule
`
`Connection Manager 395
`
`Radio
`Cotes
`S38
`
`terreff
`Cotoe
`39.
`
`-eatea
`Aanager
`398
`
`
`
`Correction a?
`Conteft Aetadata
`Repository 32
`
`Device foration
`Repository 34
`
`
`
`
`
`Netwok Service
`rvice
`Repositoy 3S
`
`FIG. 34
`
`Page 9 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 7 of 29
`
`US 9,553,816 B2
`
`
`
`Traffic Shaping
`Engine 375
`
`Control Protocol
`376
`
`Batching Module
`377.
`
`Delay Module
`378
`
`User Experience Enhancement Engine 385
`
`Activity prediction engine 386
`
`Pre-caching
`Module 390
`Com
`
`Sever
`Activity
`Tracker
`387
`
`Contextual
`Data
`Tracker
`389
`
`FIG. 3B
`
`Page 10 of 57
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan, 24, 2017
`
`Sheet 8 of 29
`
`US 9,553,816 B2
`US 9,553,816 B2
`
`VRDIA
`
`G6P48PlAold
`
`JUsUOH/SAJESddySBPJeMasSoH
`GLPAxOldSGPJeBpiAA
`
`
`BulyoedUS8IOSSWOH
`
`OLrOSr
`
`
`
`CLPBYEJOWUOW|
`
`
`
`Plyasuodsaysuesejeqpalxold
`
`9LPjsanbey
`
`
`
`eyeqpelxaid
`
`90Jsenbey
`
`
`
`eyegpalxaid
`
`807esuodsey
`
`
`
`eyeqJOWUOY|
`
`OLsenbey
`
`
`
`
`
`aplS-JeAIaSa0lAaqsiIqow
`
`
`
`es
`
`
`
`Axoldpaynquysiq
`
`WayskS
`
`09P
`
`Page 11 of 57
`
`
`
`ZzpasuodsaypebueyDUONESJNONSyepl|eAu|
`
`
`
`
`
`vev
`
`
`
`eyeqpslxold
`
`9ZPIsanboy
`
`
`
`8ZPrAXOlgGanBuiyoeDwaspeysiesysenbey
`
`
`
`
`
`
`
`
`
`OcByeqJOUblrsyoes|je007Wilypeysiesjsenbsy
`
`
`
`
`
`Page 11 of 57
`
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 9 of 29
`
`US 9,553,816 B2
`
`GhDIA
`
`Ovy
`
`9Dpueg‘Vysjsanbeay
`
`Ber
`
`95Jsanbey
`
`9er
`
`Gey
`
`olpesaalaeqqisenboyzqAejeq
`
`ver
`
`uopauiny
`
`
`
`
`
`VvJsonboy
`
`cer
`
`LaAejaq
`
`cer
`
`
`JUaUOD/JeAIaSddy
`SGPJeplAdid
`
`GBPJSM8SJSOHBulyoe9
`
`
`
`SorSGPJ95pIAA
`
`— G
`
`7PAxold
`
`
`
`Axoldpaynquisiq
`
`waysks
`
`09r
`
`SpPIS-1aAIESM$
`
`
`
`ea!naqsIIqoW
`
`___________/
`—_____,_______/
`
`OLY
`
`os
`
`Page 12 of 57
`
`
`
`AXOJdJe907]
`
`
`
`Use8JOSSWOH
`
`Page 12 of 57
`
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 10 of 29
`
`US 9,553,816 B2
`
`
`
`
`
`Application
`Server/content
`provider 510A
`
`Application
`Server/Content
`provider 510B
`
`User Activity 502
`
`Inactive period
`Default = 1200 (20 mins)
`
`Power saving starts 504
`
`C
`
`New Data
`
`New Data
`
`
`
`Period One
`Default = 900 (15 mins)
`
`Y------- PowerSave Period ---------PNew Data
`New Data
`
`New Data
`
`y
`
`POWer Sae Period
`New Data
`Power Save Period-x.
`y
`Power Save Period - X
`New Data
`4-1 New Data
`POWer Save Period
`- - - - - - - Power Saye Period.-------X
`
`s
`|
`
`No Cancel
`POWer Save
`RPC as not in
`batch period
`New Data
`Power Save Period
`
`
`
`New Data
`
`Target time for earliest
`next data 506
`
`Period One
`Default = 900 (15 mins)
`Target time for earliest
`next data 508
`
`C
`
`Period One
`Default = 900 (15 mins)
`Target time for
`earliest next data
`{User Activity 512...N.
`
`SN
`
`O3
`5
`
`Period One
`Default = 900 (15 mins)
`
`Tardet time for
`earliest next data
`
`AAEa
`
`505
`
`Period Two
`Default = 3600 (1 hour)
`N period ones followed
`by period twos
`
`Page 13 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 11 of 29
`
`US 9,553,816 B2
`
`SO2A
`
`Detect characteristics of user activity or the nobile device
`
`64A
`
`64A
`
`618A
`
`
`
`Adjust behavior of the
`mobile device to optimize
`battery consumption of the
`nobile device
`
`Contricate the
`chaiacteristics of the user
`activity from the mobile
`deyice to the server
`
`Adjust comintification
`frequercy of a serve? with
`the role device
`
`8CSA
`
`618A
`
`60. A
`
`Des cache data
`RE at the sewer
`a.
`for the
`SefWe
`
`Adjust use of radio or the
`role device
`68A
`-
`
`Cic face
`
`610A
`A.
`Cache cata at
`the robe
`device
`
`Low powerfhigh
`power radio
`node
`
`S2A
`
`FIG. 6A
`
`Page 14 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 12 of 29
`
`US 9,553,816 B2
`
`Detect application behavior of multiple applications accessed on a mobile device
`
`64B
`
`Align content requests for
`the at least Sorne of the
`finultiple agplications
`
`Detect recurrences in
`application requests made
`by the multiple applications
`
`Generate an application
`profile using the application
`behavior of the multiple
`applications
`
`
`
`
`
`
`
`
`
`Pot over tie Wireless
`network in accordance with
`the alignment to satisfy
`data requests of the
`nultiple-applications
`
`
`
`
`
`
`
`using the recurrences, to
`offload poting of content
`Sources that would rest
`from the application
`requesis that would be
`performed at the mobile
`device to be performed
`instead, by a proxy server
`remote for the nobile
`device in the wireless
`network
`
`62B
`
`the proxy serve notifies
`the nobile device when
`content change is detected
`in response to the poiling
`of the Conte?t sources
`
`FIG. 6B
`
`
`
`
`
`Page 15 of 57
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 24, 2017
`Jan. 24, 2017
`
`Sheet 13 Of 29
`Sheet 13 of 29
`
`US 9,553,816 B2
`US 9,553,816 B2
`
`ON
`
`
`
`
`
`alowuoneoiddeUlpSyelulyyBuoeseyu!uonjeolddeJeyBbiyJouoreatjdde
`
`
`
`DUDES8U}jsonbaleyepjesnepuossspuasss
`
`Jesn0}ssuodsalpucoes3y}ey)ulBuluunsay}ueUyAyoud
`
`
`
`
`
`éUOl}OeJ3}UIEuonealjddeépunosGeol€uoyeoddejsut
`JSUJOS|s|Su}S|Su}S|
`
`32930293819,3919
`
`SoA
`
`
`
`uoieolddepuoseseAq
`
`
`
`Epepsjepuseq
`
`D9DIA
`
`09 (5) IA?
`
`‘Jalsuesy
`pueuoleal|ddeysuljay}Jo}onbaJajsuedyeyepJsulJay)
`
`
`
`
`a[6uls&uoleol|ddepuosasay}JojsanbelJajsueseyepJaUOay}
`
`
`
`
`
`
`YJOMJOUBU}JBAOUOIyeEdOJaJsUeIY
`
`
`
`
`
`
`
`payeiuljsenbaiJajsuedy
`
`JOOJoMeUSsajeJlMay}JeAOJsanbaeyepayyJajsuelLON
`
`
`
`
`
`Gul]}OBJ9}U!Jas
`
`ySdlySY}YM
`
`éuoles|dde
`
`S|
`
`Jl)OU)
`
`Sy}ulUoNned|dde
`
`2809¢uoJZIsenbe
`
`sey
`
`
`
`OIpesau]S|Jajsuel)eyepJSJlJOU)Josajsued)Aejaq
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ysonbeuJejsuedyepJsiyeBAIBIOY
`
`
`
`
`
`IZOPvoweoijddeysayeAqpoyentul
`
`Page 16 of 57
`
`
`
`eyepJayjoue
`
`Page 16 of 57
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 14 of 29
`
`US 9,553,816 B2
`
`
`
`Detect user activity at a
`mobile device 602D
`
`Detect server activity of a
`host server with which the
`mobile device interacts to
`satisfy content requests at
`the mobile device 804D
`
`Track the user activity at
`the mobile device 606 D
`
`Track the server activity of
`the host server 608D
`
`
`
`
`
`Determine timing with which to
`transfer impending data from the
`host server to the mobile device
`based on the user activity and the
`server activity 610 D
`
`Detect and track server activities
`of multiple host servers with
`which the nobile device interacts
`to satisfy content requests at the
`mobile device S18)
`
`Transfer impending data from the
`host server to the nobile device
`according to the timing
`612)
`
`Predict the likelihood that an
`activity session initiated at the
`nobile device will interact with a
`given host server, based on the
`server activities 63D
`
`Optimize network resource use
`614)
`
`Prioritize each of the multiple
`host Serves 620D
`
`FIG. 6 D
`
`Page 17 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 15 Of 29
`
`US 9,553,816 B2
`
`FOA
`
`Yes
`
`s
`he user actively
`interacting with
`tee
`evics?
`
`FO4A
`
`
`
`Wait to seridow
`priority transactions
`for the mobile device
`until aftef the user
`activity has been
`dormant for a period of
`tine
`
`72A
`
`73A
`
`importace data to
`be set to the foale
`
`Yes
`
`Motify the
`Oile device
`
`o
`- FO6A
`)ecrease data L?
`push frequency
`for the sever
`
`
`
`f O8.
`
`etect that the
`SSS
`st 83sequerity
`active after being
`active
`
`erec f FCA
`Seid data
`as a rest of
`ceCreased
`Cornication
`frequency, to the
`fobe device
`
`FIG. 7A
`
`Page 18 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 16 of 29
`
`US 9,553,816 B2
`
`702B
`
`intercept a data request made by the mobile
`application on a mobile device
`
`
`
`704B
`
`Query a local database on the mobile device
`
`
`
`
`
`Provide the locally stored
`response to the mobile
`Y
`is EYS." eS device without the mobile
`r
`device needing to access
`the cellular network
`
`Send the data request to a remote proxy which
`forwards the data request to a content source
`
`
`
`Receive a.
`response provided
`by the content
`source through the
`remote proxy
`
`locally store the
`response in the
`local database on
`the mobite device
`for subsequent use
`in satisfying same
`or similar data
`requests
`
`712 B
`Detect data request to
`the Content source has
`yielded same results to
`be returned to the
`mobile device
`
`7 4.B
`Notify the remote proxy
`m
`to monitor responses
`received for the data
`request from the
`content source for
`changed results prior
`to returning the result
`to the nobile device
`
`NO
`
`? 703
`
`71.68
`
`718B
`
`72OB
`
`722B
`
`724B
`
`7268
`
`728B
`
`Query a remote proxy for
`remotely stored response
`
`Provide the remotely stored
`response to the mobile device
`without the nobie device
`needing to access the cellular
`network
`
`The remote proxyperforms te
`data request identified for
`Oritori
`9
`
`w
`Notify the mobile device when
`an unexpected response to the
`data request is detected
`
`
`
`Erase or replace the locally
`stored response on the mobile
`device when notified of the
`unexpected response to the
`data request
`
`FIG, 7B
`
`Page 19 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 17 Of 29
`
`US 9,553,816 B2
`
`
`
`Radio turned
`on by another
`event 702C
`
`Time period
`elapsed
`704C
`
`User trigger
`7O6C
`
`The first
`application
`exits 708C
`
`Application
`moves into the
`foreground
`710C
`
`Transfer the data request over the wireless network
`712C
`
`FIG. 7C
`
`Page 20 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 18 of 29
`
`US 9,553,816 B2
`
`Detect a pattern
`of user-initiated
`events at the
`mobile device
`
`rack user
`activity given the
`time of day or
`day of the week
`
`Track user
`activity given the
`time of day or
`day of the week
`
`
`
`rack an order with
`which new data is
`accessed of an order
`with which applications
`are accessed on the
`mobile device 708 D
`
`collaborative
`filtering 710
`
`Predict the user behavior 712D
`
`FIG. 7D
`
`Page 21 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 19 Of 29
`
`US 9,553,816 B2
`
`Detect user activity at a device
`separate from a mobile device
`
`
`
`
`
`
`
`
`
`user activity at
`the device is able to
`8CCeSS the Sarre data
`so able to be ceivered
`to the foie
`device?
`
`
`
`808A
`
`CeCrease Cornicatio
`frequency from a server to the
`fooie device
`
`FIG. 8A
`
`Page 22 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 20 Of 29
`
`US 9,553,816 B2
`
`Detect, at a mobile device, applications attempting to send keep-ative messages to a content
`Sewer
`
`
`
`802 E.
`
`intercept the keep-alive
`messages and prevent
`them from being sent from
`the nobile device over the
`wireless network to the
`Content sever
`
`806B
`
`Generate the keep-alive
`messages at a proxy
`Sever renote for the
`robjie device
`
`808B
`
`
`
`
`
`
`
`Send the keep-alive
`messages from the proxy
`Server to the content server
`
`FIG. 8B
`
`Page 23 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 21 of 29
`
`US 9,553,816 B2
`
`
`
`Track data transfer
`requests made by the
`first application on the
`mobile device
`802C
`
`Track data transfer
`requests made by the
`second application on the
`mobile device
`804C
`
`Determine a first timing
`characteristic of data
`transfer requests made by
`the first application
`806C
`
`Determine a second timing
`characteristic of data
`transfer requests made by
`the second application
`808C
`
`Delaying the transfer of the
`first data request using the
`first and second timing
`characteristics
`810C
`
`Delaying the transfer of the
`second data request using
`the first and second timing
`characteristics
`810C
`
`FIG. 8C
`
`Page 24 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 22 of 29
`
`US 9,553,816 B2
`
`Determine last-accessed time
`or a frequency of access of the
`host server 802D
`
`
`
`Determine amount of
`impending data to be
`transferred to the nobile
`device 804D
`
`
`
`Detect server activity
`characteristics
`806.D
`
`FIG, 8 D
`
`Page 25 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 23 Of 29
`
`US 9,553,816 B2
`
`
`
`Detect multiple occurrences of everts havirga first priority type initiated on the mobile device
`
`Cliniate the multiple occurrences of events having the first priority type
`
`Stect
`OCC Frence of
`an event of a
`second priority
`type
`
`ata trasfer
`for
`a serve
`tg
`
`A period of
`tirne elapses
`
`User trigger,
`fesponse to
`iser prompt
`
`Detect
`application
`being exited of
`noved to the
`background
`
`Eatch transfer the catac events to a serve
`device
`
`wresess Collicatio with the ice
`
`FIG. 94
`
`Page 26 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 24 of 29
`
`US 9,553,816 B2
`
`
`
`Detect application behavior of multiple
`applications on a mobile device 902B
`
`Align some of the content requests
`made by at least a portion of the
`multiple applications from the mobile
`device over the network 904B
`
`Transfer some of the content requests
`that are delayed in a single transfer
`operation over the network 906B
`
`FIG. 9B
`
`Page 27 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 25 of 29
`
`US 9,553,816 B2
`
`Detect user activity characteristics at a mobile
`device and server activity characteristics of a
`host server 902C
`
`
`
`
`
`
`
`
`
`
`
`Anticipate a future activity
`Session at the mobile
`device 904C
`
`Decision is made to pre-cache content on
`the mobile device to support predicted data
`activity for the future activity session that
`has been predicted 906C
`
`Transfer impending content from the host
`server the mobile device to pre-cache
`Content 908C
`
`Enhance user experience with a mobile
`application 910C
`
`FIG. 9C
`
`Page 28 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 26 of 29
`
`US 9,553,816 B2
`
`-at
`etect multiple occrreices of events having a first priority type at a server wirelessly coupled to
`a nobile device
`
`(C2A
`
`14. A
`
`Curnt date the multiple occurrences of events having the first priority type
`
`Detect
`OCC Frence of
`an event of a
`second priority
`type at the
`Seve
`
`
`
`
`
`Data transfer
`from the
`nobile device
`&radicates radio
`Se of the
`nobile device
`
`A period of
`time elapses
`
`User trigger
`response to
`
`air
`being exited of
`novec into the
`background
`
`OSA
`
`83tch transfe; the Curated eyents to the moie device
`
`FIG. I.O.A.
`
`Page 29 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 27 Of 29
`
`US 9,553,816 B2
`
`Determine priority
`of a specific
`application or
`SEE,
`application relative
`to other
`applications
`
`10O2B
`
`Determine the
`Determine
`useable
`an amount of
`lifetime of data
`data involved
`to be
`In a given
`transferred i
`Content
`aSeeC
`the Content
`"E request
`
`o 1006B
`
`Determine a
`nature of
`data involved
`in a given
`Content
`request
`1008B
`
`Determine a
`status of the
`application
`making the
`Content
`request
`1010B
`
`Determine the
`network
`characteristics
`when the
`request is
`made
`1012 B
`
`
`
`Factor in any user configurations or other overriding settings
`1014B
`
`Determine the amount of time to delay some of the content
`requests to align the content requests
`1016B
`
`FIG. IOB
`
`Page 30 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 28 of 29
`
`US 9,553,816 B2
`
`
`
`
`
`Detect any contextual data for
`the anticipation of the future
`activity session
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`location changes
`of the nobile
`device
`O34C
`
`
`
`
`
`Changes in
`readings of
`hardware Sensors
`of the mobile
`device
`996 C
`
`
`
`
`
`Delta Of
`applications on the
`mobile device
`3C
`
`
`
`FIG. It)C
`
`Page 31 of 57
`
`
`
`U.S. Patent
`
`Jan. 24, 2017
`
`Sheet 29 Of 29
`
`US 9,553,816 B2
`
`1 OO
`
`video Display
`
`Alpha-numeric input Cevice
`
`ClifSO Conio Cevice
`
`it
`five
`faChine-featable
`(Storage) &edium
`
`instructioS
`
`Signal Generation Device
`
`Processor
`NCN
`
`structions
`
`
`
`Aain Memory
`NMs
`instructions
`
`
`
`Non-volatile Memory
`
`Network interface Device
`
`
`
`
`
`FIG. II
`
`Page 32 of 57
`
`
`
`US 9,553,816 B2
`
`1.
`OPTIMIZING MOBILE NETWORK TRAFFIC
`COORONATION ACROSS MULTIPLE
`APPLICATIONS RUNNING ON A MOBILE
`DEVICE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`10
`
`15
`
`30
`
`35
`
`This application is a continuation of U.S. application Ser.
`No. 14/710,167 filed on May 12, 2015, the entire contents of
`which are incorporated by reference herein.
`U.S. application Ser. No. 14/710,167 is a continuation of
`U.S. application Ser. No. 13/477,625 filed May 22, 2012,
`which is a division of U.S. application Ser. No. 13/407.406
`filed Feb. 28, 2012, which is a continuation of U.S. appli
`cation Ser. No. 13/178,598 filed Jul. 8, 2011, which claims
`the benefit of U.S. Provisional Applications 61/430,828 filed
`Jan. 7, 2011, 61/416,033 filed Nov. 22, 2010, 61/416,020
`filed Nov. 22, 2010, 61/408,846 filed Nov. 1, 2010, 61/408,
`854 filed Nov. 1, 2010, 61/408,858 filed Nov. 1, 2010,
`61/408,829 filed Nov. 1, 2010, 61/408,826 filed Nov. 1,
`2010, 61/408,820 filed Nov. 1, 2010, 61/408,839 filed Nov.
`1, 2010, 61/367,870 filed Jul. 26, 2010, and 61/367,871 filed
`Jul. 26, 2010, each of which is incorporated herein by
`reference in its entirety.
`25
`U.S. application Ser. No. 14/710,167 is a continuation of
`U.S. application Ser. No. 14/467,922 filed Aug. 25, 2014,
`which is a division of U.S. application Ser. No. 13/188,553
`filed Jul. 22, 2011, which claims the benefit of U.S. Provi
`sional Applications 61/430,828 filed Jan. 7, 2011, 61/416,
`033 filed Nov. 22, 2010, 61/416,020 filed Nov. 22, 2010,
`61/408,846 filed Nov. 1, 2010, 61/408,854 filed Nov. 1,
`2010, 61/408,858 filed Nov. 1, 2010, 61/408,829 filed Nov.
`1, 2010, 61/408,826 filed Nov. 1, 2010, 61/408,820 filed
`Nov. 1, 2010, 61/408,839 filed Nov. 1, 2010, 61/367,870
`filed Jul. 26, 2010, and 61/367,871 filed Jul. 26, 2010, each
`of which is incorporated herein by reference in its entirety.
`U.S. application Ser. No. 14/710,167 is a continuation of
`U.S. application Ser. No. 13/355,443 filed Jan. 20, 2012,
`which is a continuation of U.S. application Ser. No. 13/115,
`631 filed May 25, 2011, which claims the benefit of U.S.
`Provisional Applications 61/430,828 filed Jan. 7, 2011,
`61/416,033 filed Nov. 22, 2010, 61/416,020 filed Nov. 22,
`2010, 61/408,846 filed Nov. 1, 2010, 61/408,854 filed Nov.
`1, 2010, 61/408,858 filed Nov. 1, 2010, 61/408,829 filed
`Nov. 1, 2010, 61/408,826 filed Nov. 1, 2010, 61/408,820
`filed Nov. 1, 2010, 61/408,839 filed Nov. 1, 2010, 61/367,
`870 filed Jul 26, 2010, and 61/367,871 filed Jul 26, 2010,
`each of which is incorporated herein by reference in its
`entirety.
`50
`U.S. application Ser. No. 14/710,167 is a continuation of
`U.S. application Ser. No. 13/115,740 filed May 25, 2011,
`which claims the benefit of U.S. Provisional Applications
`61/430,828 filed Jan. 7, 2011, 61/416,033 filed Nov. 22,
`2010, 61/416,020 filed Nov. 22, 2010, 61/408,846 filed Nov.
`1, 2010, 61/408,854 filed Nov. 1, 2010, 61/408,858 filed
`Nov. 1, 2010, 61/408,829 filed Nov. 1, 2010, 61/408,826
`filed Nov. 1, 2010, 61/408,820 filed Nov. 1, 2010, 61/408,
`839 filed Nov. 1, 2010, 61/367,870 filed Jul 26, 2010, and
`61/367,871 filed Jul. 26, 2010, each of which is incorporated
`herein by reference in its entirety.
`
`40
`
`45
`
`55
`
`60
`
`BACKGROUND
`
`When WCDMA was specified, there was little attention to
`requirements posed by applications whose functions are
`based on actions initiated by the network, in contrast to
`
`65
`
`2
`functions initiated by the user or by the device. Such
`applications include, for example, push email, instant mes
`saging, visual Voicemail and Voice and video telephony, and
`others. Such applications typically require an always-on IP
`connection and frequent transmit of Small bits of data.
`WCDMA networks are designed and optimized for high
`throughput of large amounts of data, not for applications that
`require frequent, but low-throughput and/or Small amounts
`of data. Each transaction puts the mobile device radio in a
`high power mode for considerable length of time—typically
`between 15-30 seconds. As the high power mode can
`consume as much as 100x the power as an idle mode, these
`network-initiated applications quickly drain battery in
`WCDMA networks. The issue has been exacerbated by the
`rapid increase of popularity of applications wit