throbber
USOO9264868B2
`
`(12) United States Patent
`Giaretta et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9.264,868 B2
`Feb. 16, 2016
`
`(54) MANAGEMENT OF NETWORKACCESS
`REQUESTS
`(75) Inventors: Gerardo Giaretta, San Diego, CA (US);
`Jay Kumar Sundararajan, San Diego,
`CA (US); Satashu Goel, San Diego, CA
`(US); Arnaud Meylan, San Diego, CA
`(US); Debesh Kumar Sahu, Hyderabad
`(IN); Sachin Jain, Hyderabad (IN);
`Ajith Tom Payyappily, San Diego, CA
`(US); Tejash Rajnikant Shah, San
`Diego, CA (US); Lorenzo Casaccia,
`Rome (IT): Dino Flore, Rome (IT)
`(73) Assignee: QUALCOMM Incorporated, San
`Diego, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`(21) Appl. No.: 13/288,933
`
`(*) Notice:
`
`(22) Filed:
`
`Nov. 3, 2011
`
`(65)
`
`Prior Publication Data
`US 2012/O185577 A1
`Jul. 19, 2012
`
`Related U.S. Application Data
`(60) Provisional application No. 61/434.253, filed on Jan.
`19, 2011, provisional application No. 61/454,457,
`filed on Mar. 18, 2011, provisional application No.
`61/503,395, filed on Jun. 30, 2011.
`
`(51) Int. Cl.
`G06F 5/73
`H0474/6
`
`(2006.01)
`(2009.01)
`(Continued)
`
`(52) U.S. Cl.
`CPC ............... H04 W4/16 (2013.01); H04L 67/289
`(2013.01); H04L 67/2819 (2013.01);
`(Continued)
`
`
`
`(58) Field of Classification Search
`CPC ....... H04W 4/16; H04W 52/00; H04W 4/003;
`H04W 52/0264; H04W 4/02; H04W 4/22:
`H04L 67/289; H04L 67/2819; G06F 2209/542
`USPC .......... 709/223-229; 370/311,329, 335, 336,
`370/468; 455/434
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4/1998 Martin et al.
`5,737,687 A
`6,115,744. A * 9/2000 Robins et al. ................. 709,227
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`CN
`EP
`
`9, 2011
`102186,167 A
`1, 2009
`2O19517 A1
`(Continued)
`OTHER PUBLICATIONS
`
`dictionary.com, delay, retrieved Jan. 14, 2015.*
`(Continued)
`
`Primary Examiner — Brian J Gillis
`Assistant Examiner — Michael A. Keller
`
`ABSTRACT
`(57)
`Methods, systems, and devices are described for intercepting
`requests from applications installed on a mobile device. The
`requests are system calls that establish communication chan
`nels for the mobile device. The requests are captured and held
`from reaching TCP/IP stack of an operating system executing
`on the mobile device. An intercepted request is aggregated
`with other intercepted requests. The aggregated requests are
`bundled together and released to the operating system upon
`the detection of a triggering event. The capture, holding, and
`aggregation of requests from applications occur when the
`mobile device is in a background mode.
`33 Claims, 14 Drawing Sheets
`
`Page 1 of 29
`
`GOOGLE EXHIBIT 1004
`
`

`

`US 9.264.868 B2
`Page 2
`
`(51) Int. Cl.
`H0474/00
`H04752/02
`H04L 29/08
`HO4W 4/O2
`HO4W 4/22
`(52) U.S. Cl.
`CPC ......... H04 W4/003 (2013.01); H04W 52/0264
`(2013.01); G06F 2209/542 (2013.01); H04W
`4/02 (2013.01); H04W 4/22 (2013.01)
`
`(2009.01)
`(2009.01)
`(2006.01)
`(2009.01)
`(2009.01)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`6,122,514. A
`9/2000 Spaur et al.
`6,181,919 B1
`1/2001 Ozluturk
`6,198.911 B1
`3/2001 Lea et al.
`7,107,063 B1
`9/2006 Bates et al.
`7,251,490 B2
`7/2007 Rimoni
`2:3: R 358 (S.I.A.
`7,610,057 B2 10/2009 Bahl et al.
`7,664,838 B2 *
`2/2010 Monga et al. ................. 709,223
`7,756,068 B2
`7/2010 Tao et al.
`7,769,887 B1
`8/2010 Bhattacharyya et al.
`7,860,469 B2 12/2010 Mohanty et al.
`7,873,746 B2
`1, 2011 Li
`7,940,735 B2
`5/2011 Kozisek et al.
`7.990,897 B2
`8/2011 Jing et al.
`8,312,531 B2 11/2012 Walter et al.
`2002/0001292 A1
`1/2002 Miyamoto
`2002fOO52790 A1
`5, 2002 Tomishima
`2002/0095524 A1
`7/2002 Sanghviet al.
`2002/O123356 Al
`9, 2002 Michaud et al.
`2003/0134632 A1
`7/2003 Loughran
`2003/0153317 A1
`8/2003 Friman et al.
`2004/0009751 A1
`1/2004 Michaelis et al. .............. 455,62
`2004/0097254 A1* 5, 2004 Laroia et al. .................. 455,522
`2004/O158729 A1
`8, 2004 SZOr
`2004/0172481 A1
`9/2004 Engstrom
`2004/0192391 A1
`9/2004 Nagai
`2004/0264396 A1* 12/2004 Ginzburg et al. ............. 370,311
`2005, OO60583 A1
`3, 2005 Lin
`2005/01493.76 A1
`7/2005 Guyan et al.
`2005, 0182958 A1
`8, 2005 Pham et al.
`2006/015585.6 A1* 7/2006 Nakashima et al. .......... 709,227
`2006/021711.6 A1
`9, 2006 Cassett et al.
`2006/0221953 A1* 10, 2006 Basso et al. ................... 370,389
`2006/0274750 A1 12, 2006 Babbar et al.
`2007/0174469 A1* 7/2007 Andress et al. ............... 709,227
`2007/0178876 A1
`8/2007 Yaqub et al.
`20070201369 A1
`8/2007 Pedersen et al.
`2007/0245171 A1 10/2007 Ohly et al.
`2007/028.6222 A1* 12/2007 Balasubramanian ......... 370,412
`2007/0294410 A1* 12/2007 Pandya et al.
`709,226
`2008/0019339 A1* 1/2008 Raju et al. ..................... 370,338
`2008.0102815 A1
`5/2008 Sengupta et al.
`2008/0183857 A1* 7/2008 Barfield et al. ............... TO9,224
`2008/0234012 A1
`9, 2008 Liu et al.
`2009/0005127 A1
`1/2009 Frenger et al.
`2009/0022095 A1* 1/2009 Spaur et al. ................... 370,329
`2009.0049518 A1
`2/2009 Roman et al.
`2009,0183186 A1
`7/2009 Murtagh
`2009/0296641 A1 12/2009 Bienas et al.
`2009/0318124 A1 12/2009 Haughn
`2009/0325512 A1 12/2009 Granlund et al.
`2010/0045422 A1
`2/2010 Teng et al.
`2010, 0142477 A1
`6, 2010 Yokota
`2010, O144332 A1
`6/2010 Savoor
`2010/0231383 Al
`9, 2010 Levine et al.
`2010/02797.45 A1 11, 2010 Westcott et al.
`2010/028.5776 A1* 11/2010 de Froment ................... 455,411
`2010/0287281 A1* 1 1/2010 Tirpak .......................... TO9,226
`2010/0322124 A1 12/2010 Luoma et al.
`2011/0003592 A1
`1/2011 Matsumoto
`2011/OO19557 A1
`1/2011 Hassan et al.
`
`
`
`TO3/23
`
`2/2011 Waung et al.
`2011/0028085 A1
`38: SAFal
`38: 836 A
`OgSanvil et al. ...............
`6, 2011 E.et al.
`2011/O149797 A1
`7, 2011 Black et al.
`2011/0182220 A1
`7, 2011 Black et al.
`2011/0185202 A1
`2011/0188394 A1* 8, 2011 Seo ............................... 370,252
`38885. A
`58 SATA". 370s
`un et al. ......................
`2012/01295.03 A1
`5/2012 Lindeman et al.
`2012/0134361 A1
`5/2012 Wong et al.
`2012/0214527 A1
`8/2012 Meylan et al.
`2012fO236772 A1
`9, 2012 Kondratiev
`2012fO257512 A1 10, 2012 Lim
`2012/0270538 A1 10/2012 Meylan et al.
`2013/0052965 A1
`2/2013 Meylan et al.
`2013/00530 13 A1
`2/2013 Giaretta et al.
`2013/0165181 A1
`6, 2013 Hasegawa
`5358
`N,
`858. MSE
`2013/0217357 A1
`8/2013 Menezes et al.
`2013/0225100 A1
`8/2013 Chen et all
`2014/0286256 Al
`9,2014 Chowdhuryetal
`yet al.
`FOREIGN PATENT DOCUMENTS
`H10178453. A
`6, 1998
`2001.3394.65 A 12/2001
`2002091841 A
`3, 2002
`2004.509539 A
`3, 2004
`2004297218 A 10, 2004
`2008048072 A
`2, 2008
`2008072568 A
`3, 2008
`2008187377 A
`8, 2008
`2009021966 A
`1, 2009
`2009038653. A
`2, 2009
`2009 182443. A
`8, 2009
`200954O687. A 11, 2009
`2010074818 A
`4/2010
`2010 183414. A
`8, 2010
`201153O860. A 12/2011
`2012529807 A 1 1/2012
`0223362 A1
`3f2002
`O3036491 A1
`5.2003
`2007 146549 A2 12/2007
`2008011420 A1
`1/2008
`200909641.0 A1
`8, 2009
`2010016849 A1
`2/2010
`2011023.096 A1
`3f2011
`2011 146831 A1 11 2011
`
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`OTHER PUBLICATIONS
`
`Kravets Retal: "Application-Driven Power Management for Mobile
`Communication' Wireless Networks, ACM, New York, NY, US, vol.
`6, No. 4, Sep. 2000, pp. 263-277, XPOO 1036334 ISSN: 1022-0038.
`Ananthanaravaran G. et al., “A New Communications API'. Elec
`araya
`trical Engineering and Computer SciencesUniversity of California at
`Berkeley, May 25, 2009, pp. 1-14, XP002676108, Retrieved from the
`Internet: URL:http://www.eecs.berkeley.edu/Pubs/Tech Rpts/2009/
`EECS-2009-84.pdfretrieved on May 16, 2012).
`Andrea Passarella: “Power Management Policies for Mobile Com
`puting”. Feb. 1, 2005, pp. 1-151, XP0550 19616, Retrieved from the
`Internet: URL:http://cnd.iit.cnrit?andreaf docs/passarella phd the
`sis.pdfretrieved—on Feb. 16, 2012 * chapter 5.3, 5.3.1.
`Chen L., et al., “QoS aware power efficiency in IEEE 802.11 LAN”.
`Consumer Communications and Networking Conference, 2005.
`CCNC. 2005 Second IEEE, IEEE, Piscataway, NJ, USA, Jan. 3,
`2005, pp. 85-90, XPO 10787616, DOI: 10.1109/CCNC.2005.
`1405149, ISBN: 978-0-7803-8784-3 * chapter III C* figures 3-2.
`Hare, et al., “A Network-Assisted System for Energy Efficiency in
`d
`Mobile Devices.” 2011 Third International Conference on Commu
`nication Systems and Networks, COMSNETS, pp. 1-10, Jan. 2011.
`International Search Report and Written Opinion—PCT/US2011/
`059439 ISA/EPO Feb. 24, 2012.
`Liu China MOB1 LeYuri Ismai Lov Ericsson Z. Cao China Mobile D:
`"Socket API Extension for MIF Host; draft-liu-mif-api-extension
`
`Page 2 of 29
`
`

`

`US 9.264.868 B2
`Page 3
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`
`03.txt”. Socket API Extension for MIF Host; draft-liu-mi f-api-ex
`tension-03.txt,
`Internet
`Engineering Task Force,
`IETF;
`Standardworkingdraft, Internet Society (ISOC) 4, Rue Des Falaises
`CH-1205 Geneva, Switzerland, No. 3, Oct. 25, 2010, pp. 1-8,
`XPO15072273, retrieved on Oct. 25, 2010 abstract chapters 3-7 *
`figure 1.
`Liu China Mobile Yuri Ismailov Ericsson Z. Cao China Mobile D:
`"Socket API Extension for MIF Host; draft-liu-mif-api-extension
`04.txt”. Socket API Extension for MIF Host; draft-liu-mif-api-exten
`sion-04.txt, Internet Engineering Task Force, IETF. Standardworki
`Ngdraft, Internet Society (ISOC) 4, Rue Des Falaises CH-1205
`Geneva, Switzerland, No. 4, Mar. 15, 2011, pp. 1-9, XPO15074974,
`retrieved on Mar. 15, 2011 abstract *chapter 3-5 * figure 1.
`Liu H., et al: "TailTheft: Leveraging the Wasted Time for Saving
`Energy in Cellular Communications'. MobiArch 11 Proceedings of
`
`the sixth international workshop on MobiArch Jun. 28, 2011, pp.
`31-36, XP002676107, ISBN: 978-1-4503-0740-6 Retrieved from the
`Internet: URL:http://delivery.acm.org/10.1145/2000000/1999925/
`p31-liu.pdfip=145.64.134.245&acc=ACTIVE%20SERVICE&
`CFID=103451 177&CFTOKEN=63558822& acm =
`1337160633 c5.b6dc53c6b1c977ac53b9dfb0180831 retireved on
`May 16, 2012.
`Larsson H Levkowetz H Mahkonen T Kauppinen Ericsson C: "A
`Filter Rule Mechanism for Multi-access Mobile IPv6; draft-larsson
`monami 6-filter-rules-02.txt” IETF Standard-Working-Draft,
`Internet Engineering Task Force, IETF, CH, No. 2, Mar. 5, 2007.
`XPO150501 12, ISSN: 0000-0004.
`Pering T. et al., “Coolspots: Reducing the Power Consumption of
`Wireless Mobile Devices With Multiple Radio Interfaces,” the 4th.
`International Conference on Mobile Systems, Applications and Ser
`vices, Jun. 19-22, 2006, pp. 220-232.
`* cited by examiner
`
`Page 3 of 29
`
`

`

`U.S. Patent
`US. Patent
`
`Feb. 16, 2016
`Feb. 16, 2016
`
`Sheet 1 of 14
`Sheet 1 of 14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`EX; ems~z=;:szz'§£:
`
`(,
`F1 (3-.
`
`3.
`
`Page 4 of 29
`
`Page 4 of 29
`
`

`

`U.S. Patent
`US. Patent
`
`Feb. 16, 2016
`Feb. 16, 2016
`
`Sheet 2 of 14
`Sheet 2 of 14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`
`
`W 51:59???
`
`{IT-£3315mc'iéviiy ingsm
`
`
`
`
`
`, Hffi'ba
`
` {Egalitméi's‘sg Maw;
`
`
` giwkei My,“
`
`
`W 388
`
`.P‘ii'fi. 1?.
`
`Page 5 0f 29
`
`Page 5 of 29
`
`

`

`U.S. Patent
`
`Feb. 16, 2016
`
`Sheet 3 of 14
`
`US 9.264.868 B2
`
`
`
`*:::::::::: Sys:x:33.
`
`8::::ity is:
`
`Page 6 of 29
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 2016
`
`Sheet 4 of 14
`Sheet 4 0f 14
`
`US 9.264.868 B2
`Us 9,2649868 B2
`
`
`
`
`
`Mama
`
`
`
`3,3wmmfiamfi
`

`
`wummmmwMM
`
`Page 7 0f 29
`
`‘‘‘aaaaaaaaaaaaaaaaaaaaaaaaaw\
`
`88-8-8-8-8-8-8-8-8-8-8-8-8-8883&xxx
`
`
`Va.:..{bx.
`
` a.mA?a$3.awmx
`
`
`
`
`
`wfivmafiwflkcwmmmmwfimm
`
`w.vaw
`
`Page 7 of 29
`
`
`

`

`US. Patent
`
`Feb. 16, 2016
`
`Sheet 5 of 14
`
`US 9,264,868 B2
`
`E9}
`
`EH13? ,é’agépiiim’éiram
`
`£:{‘3:‘£‘3I‘3~£3(:t{}
`
`
`
`
`
`"fiat-€-
`iii}
`fiii'éi‘? uz-g , i
`Cfizifiefli f:
`
`
`H z
`
`fidfifififi Aggy} Eczsgfz‘iém
`
`m‘zzamzrii'}
`
`
`
`
`“341.
`"'i‘Séz'afm {u
`{':(‘3¥3I'3<€:i3§{} "
`fig}§.,;§.,
`
`
`K 58%:
`
`Page 8 0f 29
`
`Page 8 of 29
`
`

`

`U.S. Patent
`US. Patent
`
`Feb. 16, 2016
`Feb. 16, 2016
`
`Sheet 6 of 14
`Sheet 6 of 14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`Aygiiiiéziiéix‘z was;
`
`.w€33’.‘£il~éfii:§2}
`
`‘ "; .‘
`fig 9:535
`{figfl‘flififl

`
`;
`3
`3
`
`2
`.
`kix‘aéiim i
`:'
`., ”xii
`;
`
`' gift?
`A mfimf m,
`1,
`
`PK}, ('3:
`
`Page 9 0f 29
`
`Page 9 of 29
`
`

`

`US. Patent
`
`Feb. 16, 2016
`
`Sheet 7 of 14
`
`US 9,264,868 B2
`
`Ema 5,33%:
`am: (32:13.
`Vzagygiéi
`riimrim, firm Fflfl'g'ELE'i’f-‘é; Ming. 2%.
`Ewm
`f'
`"$iE3‘3EE :2:
`mmmamém
`valEEEa‘me fix?
`
`'
`
`Era; ggiz’arufzg mam
`
`:
`
`'
`
`E-EEEEEE {E313}
`Ehihgiififi.’ 2'; "E‘E,
`aim {ngg‘fiiififr
`mu. EEEEEEEZ m . - .r:
`
`mix:
`EEZE:
`
`$15}, ’3’
`
`Page 10 of 29
`
`Page 10 of 29
`
`

`

`U.S. Patent
`
`Feb. 16, 2016
`
`Sheet 8 of 14
`
`US 9.264.868 B2
`
`
`
`is 8::::: sixxix: i: 8 xii:
`
`(; 8
`
`Page 11 of 29
`
`

`

`US. Patent
`
`Feb. 16, 2016
`
`Sheet 9 of 14
`
`US 9,264,868 B2
`
`{335355513395 23 $3353? 5333;315:553: 53:55:};
`‘
`5:353:535753’53035 555'
`5-3
`f3.“
`'
`
`
`
`55 55:53:53 vza'gkgiésszztiwsa 1-35 :55
`3: 33:53 :3:
`
`
`
`5:5 E. S
`
`V 3:3 55}
`
`'53 mi: :‘i’i'tfliifi :
`
`{33583953335155 551*;5'3275fi
`
`
`
`mguefii 5:51:23} 55 Sawmirtsai
`
`
`SigfsgSiiczziam5 s: a s21: :56
`
`
`
`‘
`
`
`- ‘a‘a‘a‘a‘a‘a‘ah‘hx
`'
`N
`\ f
`‘5' 53:5
`\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
`
`
`
`§~3x>53§ 1525* 3:55
`
`
`’l-
`:r
`,-
`
`,t’fiii?“mama“ -
`
`3555553 3533': fiaiz'sii
`
`533.5; 153255 {53.3535
`553535;. m;
`
`1322-215: 3?}: 59555295535 1% -
`
`u
`S3455
`
`w w:
`w:
`513256333 5;; URQQ-fifi was???
`
`
`«3565,55 iaym‘ {135" 5355; 5. _, C'E‘55ii'13'5gg:
`
`Rama; 5535c raga-£53555} :55 25‘s
`
`SEQ
`
`£31313, ‘9
`
`Page 12 of 29
`
`Page 12 of 29
`
`

`

`US. Patent
`
`Feb. 16, 2016
`
`Sheet 10 of 14
`
`US 9,264,868 B2
`
`
`
` Edam f3;
`I-zv’grs-isfis‘e‘égiaabsrs Eimfi,
`':
`mi“; {3.9% '2‘ 3m <32:
`
`
`
`E {31E}???-
`
`7
`
`. Rivera??? 2M"idi%:§~i.ma§ 2% mats; in
`'63 :>'gtsiim’?
`
`
`
`
`
`REE-22a zaa'EdE'Eém‘azjgi Emma :25;
`
`
`fifizgfiifi‘fi' a: EEw flxgfié’ififiiiifi fiémg:
`6311?" ms: fimi Eifflifi‘i‘
`
`gm ,1
`
`
`
`
`,
`$}"§2£TEEE'{.‘5§'SES{" 66:32:91 €35}?
`»»»»»»»»»»»»»» i
`zapigziiizzzééé'imz§:;
`, .Msuézfi‘fijié WEE:
`
`sisxgzi'z‘mé €E§§'W¥S§
`
`E {33%
`
`‘ Eiiflififi
`
`$15}, 1%}
`
`Page 13 of 29
`
`Page 13 of 29
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 2016
`Feb.16,2016
`
`Sheet 11 of 14
`Sheet11,0f14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`
`
`ufi‘mnmmmmmmmmm
`X---------------------
`
`3amcfigfigmWu”gunman
`
`”$3,
`
`,2Mg
`
`3%wfifiawflaw,“mi
`
`
`
`
`
`Page 14 of 29
`
`Page 14 of 29
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 2016
`Feb.16,2016
`
`Sheet 12 of 14
`Sheet120f14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`mtg«$qumfifigw«Emfiivfi.wan““mgEtta;
`
`
`
`
`
`
`
`
`
`5%qu3.ufifiw,5Egg.a3,am...
`
` fig.
`
`xx
`
`fl.g
`
`
`
`.umwmw,Mfimfiwmwmmmflwm
`
`
`
`
`
`Page 15 of 29
`
`Page 15 of 29
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 2016
`Feb. 16, 2016
`
`Sheet 13 of 14
`Sheet 13 0f 14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`m
`
`
`
`maanfimwumfim3Ewan:”$3,
`
`
`
`
`
`
`
`Page 16 of 29
`
`3,.mwfi,.m.
`
`Jfixxxxxxxxxxxxxxxxxxxx
`
`at»
`-X--------------------
`
`
`
`fl?”"‘"""""""‘"'"""""
`x-.................
`
`x
`
`X
`
`Page 16 of 29
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 2016
`Feb. 16, 2016
`
`Sheet 14 of 14
`Sheet 14 0f 14
`
`US 9.264.868 B2
`US 9,264,868 B2
`
`
`
`
`
`
`
`
`
`Am,Agfi“mafia“ammmw.$5$3.M...............................................
`
`
`
`
`
`&&&&&&&&&&&
`
`E3%maAWAF.EA?.fiwmam
`
`a,a
`
`.A
`
`
`
`afiafia“,33mmEEK3mmAAA
`
`3
`
`”NW2,wwknfiawmnmnawwmafiwywm“a633%.33
`
`
`m$33..a:.A..~AAAg“;ma
`
`
`
`AwmagAfiwfinfifi,A.«Aggwwmfi..fixfi:....................
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 17 of 29
`
`Page 17 of 29
`
`
`
`

`

`US 9,264,868 B2
`
`1.
`MANAGEMENT OF NETWORKACCESS
`REQUESTS
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`This application claims the benefit under 35 U.S.C. S 119
`(e) to U.S. Provisional Patent Application No. 61/434.253
`entitled SYSTEMS AND METHODS FOR SYNCHRO
`10
`NIZING DATA CONNECTION REQUESTS filed on Jan.
`19, 2011, to U.S. Provisional Patent Application No. 61/454,
`457, entitled “CONNECTIVITY MANAGEMENT FOR
`APPLICATIONS ON AUSER DEVICE by Giaretta et al.,
`filed Mar. 18, 2011, to U.S. Provisional Patent Application
`No. 61/503,395 entitled “CONTROLLINGAPPLICATION
`ACCESS TO A NETWORK filed on Jun. 30, 2011 the
`disclosures of which are expressly incorporated by reference
`herein in their entireties.
`
`15
`
`BACKGROUND
`
`2
`occurs. The capturing, holding, and releasing of requests may
`occur when the mobile device is in a background mode.
`In one configuration, the request may be aggregated with
`other intercepted requests to perform a communication for
`the mobile device. The interception of the request from the
`application and the interception of the other requests may
`occurat different times.
`In one example, instructions for a wrapper may be
`executed. The executed wrapper may perform the intercep
`tion of the request from the first application. In one configu
`ration, the wrapper may be located between an application
`layer and a socket layer of the operating system of the mobile
`device.
`In one configuration, the first application may be identified
`as a class of application from which requests are held. An
`application may be identified as a critical application or a
`non-critical application. Only requests from non-critical
`applications may be held.
`In one embodiment, the triggering event may include at
`least one of an expiry of a timer, a status change of a display,
`a status change of a microphone, a status change of a speaker,
`a status change of a global positioning system (GPS) sensor of
`the mobile device, an indication that a universal serial bus port
`is in use, an indication that an audio equipment is connected
`to the mobile device, an indication that a video equipment is
`connected to the mobile device, an indication that a connec
`tion to a Wi-Fi type of network is available, or an indication
`that a radio connection to a cellular type of network is open.
`Further, in one example, a delay tolerance of the first appli
`cation may be determined. In addition, a callback function
`may be provided to the first application based on the deter
`mined delay tolerance. The callback function may instruct the
`first application to connect to the communication resources.
`In one configuration, an expiration time of a first timer
`associated with the first application may be determined. a
`tolerance and expiration time of a second timer associated
`with a second application may also be determined. The sec
`ond timer may be forced to expire based on the expiration
`time of the first timer, the tolerance, and the expiration time of
`the second timer. The request from the first application and an
`intercepted request from the second application may be
`released to perform a communication for the mobile device.
`In one example, a deadline may be received from the appli
`cation. The request may be held until before the deadline. The
`request to connect to the communications resources may be
`released prior to the deadline. In one configuration, the
`request may include a system call to establish a communica
`tions channel for the mobile device. The request may be
`released to a socket layer of the operating system upon detect
`ing the triggering event.
`In one embodiment, an indication for an interval pertaining
`to how often the releasing of the request occurs may be
`received. The interval may be less than a timeout value in a
`stateful Internet Protocol (IP) middlebox in a network.
`A mobile device configured for wireless communication is
`also described. The device may include a processor and
`memory in electronic communication with the processor. The
`memory may include an operating system. The processor
`may include a connectivity engine. The engine may be con
`figured to execute instructions to intercept a request from a
`first application on the mobile device. The request may be a
`request to perform a communication for the mobile device.
`The engine may be further configured to hold the request from
`reaching TCP/IP stack of an operating system executing on
`the mobile device, and release the request to the operating
`System upon detecting a triggering event.
`
`Applications or device applets are now available that oper
`ate to provide a wide range of add-on services and features to
`wireless devices. For example, it is now possible for wireless
`devices to download and launch device applets to perform
`value added functions such as shopping, searching, position
`location, driving navigation, or an array of other functions.
`Network and application providers generally offer these
`device applets to device users for additional fees. Thus, the
`use of device applets may increase the functionality and
`usability of wireless devices and offers device users features
`and convenience not originally available on the devices them
`selves.
`Typically, a wireless device interfaces with one or more
`communication networks using any of a number of radios.
`For example, the wireless device may include a variety of
`radios providing communications using Cellular, WiFi, Blue
`tooth, or other types of radio access technologies. Accord
`ingly, applications executing on the wireless device interface
`with a radio to establish a communications channel and the
`channel is used by the applications to communicate with the
`appropriate network.
`Applications may continue to interface with radios on the
`wireless device to establish communication channels even
`when the device is in a background mode. With an increasing
`number of applications installed on a device, the battery
`power of the device may be unnecessarily consumed from the
`repeated establishment of network communications while the
`device is not active. Further, the increasing usage of wireless
`devices, such as Smartphones, data networks may become
`overloaded by network signaling associated with the setup of
`communication channels.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`SUMMARY
`
`Methods, systems, and devices for managing the connec
`tivity between a network and an application executing on a
`mobile device are described. In one example, a request for
`network access from the application executing on the device
`may be intercepted. For example, a wrapper may be placed
`between the application and the operating system of the
`mobile device to intercept the request. Upon intercepting the
`request, the request may be held from reaching a Transmis
`sion Control Protocol/Internet Protocol (TCP/IP) stack of the
`operating system. In one example, the request may be
`released to the operating system when a triggering event
`
`55
`
`60
`
`65
`
`Page 18 of 29
`
`

`

`US 9,264,868 B2
`
`3
`An apparatus configured to manage requests for network
`access from applications on a mobile device is also described.
`The apparatus includes means for intercepting a request from
`an application on the mobile device. The request may be a
`request to perform a communication for the mobile device.
`The apparatus may further include means for holding the
`request from reaching a TCP/IP stack of an operating system
`executing on the mobile device, and means for releasing the
`request to the operating system upon detecting a triggering
`event.
`A computer program product configured to manage
`requests for network access from applications on a mobile
`device is also described. The product may include a non
`transitory computer-readable medium. The medium may
`include code to intercept a request from an application on the
`mobile device. The request may be a request to perform a
`communication for the mobile device. The medium may fur
`ther include code to hold the request from reaching a TCP/IP
`stack of an operating system executing on the mobile device,
`and code to release the request to the operating system upon
`detecting a triggering event.
`The foregoing has outlined rather broadly the features and
`technical aspects of examples according to disclosure. Addi
`tional features will be described hereinafter. The conception
`and specific examples disclosed may be readily utilized as a
`basis for modifying or designing other structures for carrying
`out the same purposes of the present disclosure. Such equiva
`lent constructions do not depart from the spirit and scope of
`the appended claims. Features which are believed to be char
`acteristic of the concepts disclosed herein, both as to their
`organization and method of operation, will be better under
`stood from the following description when considered in
`connection with the accompanying figures. Each of the fig
`ures is provided for the purpose of illustration and description
`only and not as a definition of the limits of the claims.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`4
`FIG.10 is a flow chart illustrating one example of a method
`to synchronize data connection requests;
`FIG. 11 illustrates a timing diagram wherein three appli
`cations periodically initiate connection requests;
`FIG. 12 illustrates the timing diagram of FIG. 11, wherein
`certain of the connection requests have been synchronized;
`FIG. 13 illustrates a timing diagram wherein three appli
`cations periodically initiate connection requests; and
`FIG. 14 illustrates the timing diagram of FIG. 13, wherein
`certain of the connection requests have been synchronized.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`Methods, systems, and devices are described to intercept
`requests from applications installed on a mobile device. The
`requests may be system calls that establish communication
`channels for the mobile device. The terms “requests’ and
`“system calls' may be used interchangeably. The requests
`may be captured and held from reaching a TCP/IP stack of an
`operating system executing on the mobile device. An inter
`cepted request may be aggregated with other intercepted
`requests. The aggregated requests may be bundled together
`and released to the operating system at approximately the
`same time upon detecting a triggering event on the mobile
`device. The capture, holding, and aggregation of requests
`from applications may occur when the mobile device is in a
`background mode.
`In mobile devices such as Smartphones, personal digital
`assistants, etc., Software applications may continue to operate
`even though the user is not actively using the device. Appli
`cations such as Social networking applications, email or other
`communication applications, data feeds, etc. (popular
`examples include FacebookR), Gmail(R), Twitter(R), etc.) may
`continue to send and receive data even though a user is not
`using the device. Even under an inactivity mode of operation,
`power consumption and spikes in activity may occur from
`applications that continue to operate even when the device is
`ostensibly not in use. The activity by these applications may
`utilize communication resources such as provided by an
`external network.
`The applications may trigger frequent transitions by the
`mobile device from background mode to connected mode, or
`they may otherwise interfere with the device entering back
`ground mode or other alternate connection modes Such as
`discontinuous reception (DRX). These elevated levels of
`radio activity by the applications when the user is not actively
`engaging the device may result in premature drain of battery
`life, undesired increased on the load of radio networks, or
`other undesired effects.
`A mobile device may be in background mode when certain
`inputs of the device are not operational or are in a sleep state.
`In other words, the device may be in background mode when
`a user is not using the device. For example, when audio inputs
`(such as a microphone) are off, the device may be considered
`to be in a background mode. In addition, when visual inputs
`(such as a display of the device) are off, the device may be
`determined to be in a background mode. Additional inputs
`may be used to determine whether or not the mobile device is
`in a background mode, as will be described below.
`Management of connectivity between a network and an
`application executing on a mobile device is described. When
`a number of applications installed on a mobile device request
`access to a network when the device is in a background mode,
`an unnecessary amount of network signaling may occur. For
`example, a first application may initiate a system call to
`establish a communication channel and then after the data
`have been transmitted/received, the channel may be discon
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`A further understanding of the nature of the present inven
`tion may be realized by reference to the following drawings.
`40
`In the appended figures, similar components or features may
`have the same reference label. Further, various components of
`the same type may be distinguished by following the refer
`ence label by a dash and a second label that distinguishes
`among the similar components. If only the first reference
`label is used in the specification, the description is applicable
`to any one of the similar components having the same first
`reference label irrespective of the second reference label.
`FIG. 1 shows a block diagram of a network environment;
`FIG. 2 shows a block diagram illustrating an architecture
`for a mobile device;
`FIG.3 shows a block diagram of a mobile device providing
`delaying of requests for network access;
`FIG. 4 shows a sample block diagram of architecture on a
`mobile device for delaying requests for network access;
`FIG. 5 shows an example timing diagram for aggregating
`requests for network access;
`FIG. 6 shows one example of an architecture implemented
`on a mobile device;
`FIG. 7 is a flow chart illustrating one example of a method
`for delaying requests for network access;
`FIG. 8 is a flow chart illustrating one example of a method
`for delaying requests for network access based on a classifi
`cation of an application;
`FIG. 9 is a flow chart illustrating one example of a method
`for aggregating requests for network access received from a
`number of mobile device;
`
`50
`
`55
`
`60
`
`65
`
`Page 19 of 29
`
`

`

`US 9,264,868 B2
`
`10
`
`15
`
`25
`
`35
`
`5
`tinued. A second application may then initiate a system call to
`also establish a communication channel to transmit/receive
`data. Each time a communication channel is established, the
`amount of network signaling may increase so that the avail
`able bandwidth of the network may decrease. In addition,
`when a number of applications request access to a network
`while the device is in a background mode, an unnecessary
`amount of battery power may be consumed. Each time a
`communication channel is established, the battery power may
`decrease so that the available power is lower when the mobile
`device enters an active mode. As a result, the present systems
`and methods may hold and aggregate requests for network
`access to reduce network signaling and conserve batter
`power. As previously mentioned, this may occur when the
`device is not active. In addition, the holding and aggregation
`of system calls may occur when the battery power of the
`device falls below a certain threshold amount. When a trig
`gering event occurs (e.g., the device enters an active mode),
`the aggregated requests may be released together to reduce
`the amount of network signaling as well as reduce the con
`Sumption of batter power associated with each separate
`request.
`The holding and aggregation of requests may be performed
`when a mobile device is in an inactive mode so as to not
`interfere with the use of the device by a user. In one example,
`a request for network access from an application on a user
`device may be intercepted. For example, a wrapper may be
`placed between an application layer of the mobile device and
`an operating system layer of the device to intercept requests.
`In one example, the wrapper may be a Software entity which
`intercepts requests. The wrapper may be transparent to the
`applications in the application layer as well as the operating
`system in the operating system layer. Upon intercepting the
`request, the request may be held or delayed from reaching the
`operating system. In one configuration, the request may be
`aggregated with other intercepted requests received from
`additional applications in the application layer. When a trig
`gering event is detected, the aggregated requests may be
`released to the operating system. As a result, the wrapper may
`transparently intercept and aggregate requests and then relay
`40
`the aggregated requests when additional processing is com
`pleted.
`In addition, an interval may be determined that indicates
`how often held requests are to be released to the operating
`system of the device. The interval may determined so as to
`maintain a state of a middlebox, which is described below. In
`one example, Internet Protocol (IP) hosts may be separated by
`stateful middleboxes. A stateful middlebox may perform fire
`wall and network address translation (NAT) functions. A
`function of a firewall may be to determine which inbound/
`50
`ou

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