`
`(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