throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2012/0023190 A1
`(43) Pub. Date:
`Jan. 26, 2012
`Backholm et al.
`
`US 20120023190A1
`
`(54)
`
`MOBILE NETWORK TRAFFIC
`COORONATION ACROSS MULTIPLE
`APPLICATIONS
`
`(76)
`
`Inventors:
`
`Ari Backholm, Espoo (FI);
`Michael Luna, San Jose, CA (US);
`Heikki Ylinen, Espoo (FI)
`
`(21)
`
`Appl. No.:
`
`13/115,631
`
`(22)
`
`Filed:
`
`May 25, 2011
`
`(60)
`
`Related U.S. Application Data
`Provisional application No. 61/367,871, filed on Jul.
`26, 2010, provisional application No. 61/367,870,
`filed on Jul. 26, 2010, provisional application No.
`61/408,858, filed on Nov. 1, 2010, provisional appli
`cation No. 61/408,839, filed on Nov. 1, 2010, provi
`sional application No. 61/408,829, filed on Nov. 1,
`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,826, filed on Nov. 1, 2010, provisional appli
`cation No. 61/408,820, filed on Nov. 1, 2010, provi
`sional application No. 61/416,020, filed on Nov. 22,
`
`2010, provisional application No. 61/416,033, filed on
`Nov. 22, 2010, provisional application No. 61/430,
`828, filed on Jan. 7, 2011.
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 9/46
`(2006.01)
`G06F 5/16
`(52) U.S. Cl. ......................................... 709/217; 71.9/313
`(57)
`ABSTRACT
`Systems and methods for mobile network traffic coordination
`across multiple applications are disclosed. In one aspect,
`embodiments of the present disclosure include a distributed
`proxy and cache system, including, a local proxy on a mobile
`device for intercepting a data request made via a mobile
`device, and a proxy server coupled to the mobile device and a
`content server to which the data request is directed. One
`embodiment includes, delaying transfer of a first data transfer
`request initiated by a first application until another data trans
`ferrequest initiated by a second application is detected on the
`mobile device and transferring, the first data transfer request
`of the first application and the other data transfer request of
`the second application a single transfer operation over the
`network.
`
`Application Behavior Detector 236
`
`
`
`Pattern Detector 237
`
`
`
`User Activity Module L.
`215
`
`
`
`Prioritization
`Engine 241
`
`
`
`. - Correlation Detector 238
`
`Application Profile Generator
`239
`
`Application Status
`Detector 240
`
`Traffic Shaping Engine 255
`
`Alignment Module 256
`
`Batching Module
`257
`
`Delay Module
`258
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 1 of 34
`
`GOOGLE EXHIBIT 1011
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 1 of 14
`
`US 2012/0023190 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 2 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 2 of 14
`
`US 2012/0023190 A1
`
`
`
`
`
`
`
`
`
`110
`
`App Server/
`Content Provider
`
`NetWork
`108
`
`Optional Caching
`Proxy Server
`
`100
`
`- -
`
`- - - - -- - - -
`
`Host Server
`
`
`
`
`
`
`
`Proxy server
`
`Server Cache
`135
`
`
`
`
`
`Short Message
`Service Center
`112
`
`Netwo
`rk
`106
`
`
`
`150
`
`/
`
`
`
`Page 3 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 3 of 14
`
`US 2012/0023190 A1
`
`
`
`Mobile Device
`250
`
`Proxy-Unaware
`Mobile
`Application
`210
`
`Proxy-Aware Mobile
`Application
`220
`
`Proxy API 225
`
`Caching Policy
`Manager
`245
`Application
`Protocol
`Module
`248
`-
`
`USer
`Activity
`Module
`215
`-
`
`Request/Transaction Manager
`235
`Application Behavior
`Detector 236
`Pattern Detector
`237
`
`Prioritiza
`tion
`Engine
`241
`
`Application Profile
`Generator 239
`
`Traffic Shaping Engine 255
`Alignment
`Batching
`Module
`Module
`256
`257
`
`Connection
`Manager 265
`
`Controller 266
`Heartbeat
`Manager 267
`
`Network interface 208
`SMS I/F
`WiFi/F Cellular IF
`
`Context AP
`206
`
`Operating
`s"
`
`FIG. 2A
`
`Page 4 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 4 of 14
`
`US 2012/0023190 A1
`
`Application Behavior Detector 236
`
`
`
`
`
`Pattern Detector 237
`
`
`
`User Activity Module L.
`215
`
`
`
`Correlation Detector 238
`
`Prioritization
`Engine 241
`
`Application Profile Generator
`239
`
`Application Status
`DetectOr 240
`
`Traffic Shaping Engine 255
`
`Alignment Module 256
`
`Batching Module
`257
`
`Delay Module
`258
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 5 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 5 of 14
`
`US 2012/0023190 A1
`
`
`
`
`
`Application Server/
`Service Provider
`310
`
`Network Interface 308
`
`Host Server
`300
`
`Proxy Server
`325
`
`HTTP ACCeSS
`Engine 345
`
`New Data
`Detector 347
`
`Proxy Controller 365
`Activity/Behavior
`Awareness Module 366
`Priority Awareness
`Module 367
`Data invalidator Module
`368
`
`Traffic Shaping
`Engine 375
`
`Control Protocol
`376
`Batching Module
`377
`
`Caching Policy
`Manager 355
`Application
`Protocol
`Module
`
`Connection Manager 395
`
`Radio
`Controller
`396
`
`Internet/WiFi
`Controller
`397
`
`Heartbeat
`Manager
`398
`
`
`
`Connection and
`Content Metadata
`Repository 312
`
`
`
`Device information
`Repository 314
`
`
`
`
`
`Network Service
`Provider
`Repository 316
`
`FIG. 3
`
`Page 6 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 6 of 14
`Jan. 26, 2012 Sheet 6 of 14
`
`US 2012/0023190 A1
`US 2012/0023190 A1
`
`
`
`Emficootmamman?
`
`V»65%
`
`a525.;
`
`
`
`NS»EmaL9:52)—
`
`
`
`ivmwcoammmmEmw
`
` o3“820$.
`mmvmwcoawmmvwmcmcocosmoczoz23:95
`
`
`
`
`omvEND5::22w;wcomo_woo._Ein.umcwzmwuwmzawm
`
`
`
`
`a58;.flmg6%?
`
`mcfomo>xoi$0045259:01
`
`
`
`
`
`at»omv
`
`
`
`
`
`mn_w¢w>._wmmoSwD£522
`
`56585955
`
`£295
`
`omv
`
`{|J\I||l\
`
`Page 7 0f 34
`
`
`
`Emauw_xo.n_
`
`8v393m
`
`
`
`Emauflxoi
`
`wowwmcoammm
`
`Ema8:52
`
`wwv
`
`
`
`San.2:on
`
`m3.$331
`
`
`
`Emaum_x9n_
`
`
`
`mmv“wwsumm
`
`
`
`
`
`wmvxEn.nm>>mcfomoE:u_umzmzmw“mmzcmm
`
`Page 7 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 7 of 14
`
`US 2012/0023190 A1
`
`
`
`Page 8 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 8 of 14
`
`US 2012/0023190 A1
`
`
`
`Application
`Server/content
`provider 510A
`
`Application
`Severlocontent
`provider 510B
`
`User Activity 502
`
`inactive period
`Default = 1200 (20 mins)
`
`Power saving starts 504 C
`
`
`
`New Data
`
`Period One
`Default = 900 (15 mins)
`
`-
`- - - - - - ->New Data
`- - - - - -Power Save Period
`'New Data
`
`New Data
`
`o
`Target time for earliest
`next data 506
`
`New Data
`
`C
`N1TN--------- X
`
`Nels'-la-'-y-e X
`Period One
`Default = 900 (15 mins) -----' r- " -tra- - -
`Tardet time for earliest
`C
`next data 508
`N1 N'-------
`
`targestigies
`
`Period One
`Default = 900 (15 mins)
`N
`Target time for
`O CanCe
`earliest next data
`NYT Power save
`---...-------------------------.
`: User Activity 512 ..........N. RPC as not in
`------------------------------------
`batch period
`New Data
`
`
`
`New Data
`
`5 O3
`
`Period One
`Default = 900 (15 mins)
`
`Target time for
`earliest next data
`
`4-1
`C
`N1 N- - - - - Power Save Period
`
`
`
`505
`
`Period TWO
`Default = 3600 (1 hour)
`N period ones followed
`by period twos
`{UserActivity...N. CanCEl POWe?. Says.
`“..............--...-----
`y. Cancel Power save.
`FIG. 5
`
`Page 9 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 9 of 14
`
`US 2012/0023190 A1
`
`9 (9 IAI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 10 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 10 of 14
`
`US 2012/0023190 A1
`
`Radio turned
`on by another
`event 702
`
`Time period
`elapsed
`704
`
`User trigger
`7O6
`
`The first
`application
`exits 708
`
`Application
`mOVeS into the
`foreground
`710
`
`
`
`
`
`Transfer the data request over the wireless network
`712
`
`FIG. 7
`
`Page 11 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 11 of 14
`
`US 2012/0023190 A1
`
`
`
`Track data transfer
`requests made by the
`first application on the
`mobile device
`802
`
`Track data transfer
`requests made by the
`Second application on the
`mobile device
`804
`
`Determine a first timing
`characteristic of data
`transfer requests made by
`the first application
`806
`
`Determine a second timing
`characteristic of data
`transfer requests made by
`the second application
`808
`
`Delaying the transfer of the
`first data request using the
`first and second timing
`characteristics
`810
`
`Delaying the transfer of the
`second data request using
`the first and second timing
`characteristics
`810
`
`FIG. 8
`
`Page 12 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 12 of 14
`
`US 2012/0023190 A1
`
`
`
`Detect application behavior of multiple
`applications on a mobile device 902
`
`Align some of the content requests
`made by at least a portion of the
`multiple applications from the mobile
`device Over the network 904
`
`Transfer some of the content requests
`that are delayed in a single transfer
`operation over the network 906
`
`FIG. 9
`
`Page 13 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 13 of 14
`
`US 2012/0023190 A1
`
`
`
`
`
`Determine the
`Determine priority
`Determine
`useable
`of a specific
`.
`an amount of
`lifetire 5. data
`data involved
`applies.
`application relative "Y" transferred in
`to other
`request
`the content
`applications
`E.
`request
`
`- 1006
`
`
`
`
`
`
`
`1002
`
`Determine a
`nature of
`data involved
`"SYS
`request
`S
`
`m-
`
`Determine the
`Determine a
`network
`Status of the
`characteristics
`application
`maige E.
`request
`E.
`1010
`1012
`
`
`
`
`
`
`
`
`
`--
`
`--
`
`Factor in any user configurations or other overriding settings
`1014
`
`
`
`Determine the amount of time to delay some of the content
`requests to align i Content requests
`1016
`
`FIG. IO
`
`Page 14 of 34
`
`

`

`Patent Application Publication
`
`Jan. 26, 2012 Sheet 14 of 14
`
`US 2012/0023190 A1
`
`1100
`
`Processor
`
`Instructions
`
`
`
`Main Memory
`
`n
`
`a
`
`Instructions
`
`
`
`Non-volatile Memory
`
`
`
`Network interface Device
`
`Video Display
`
`Alpha-numeric Input Device
`
`Cursor Control Device
`
`Drive Unit
`Machine-readable
`(Storage) Medium
`
`- N
`
`Instructions
`
`Signal Generation Device
`
`FIG. II
`
`Page 15 of 34
`
`

`

`US 2012/0023190 A1
`
`Jan. 26, 2012
`
`MOBILE NETWORK TRAFFIC
`COORONATION ACROSS MULTIPLE
`APPLICATIONS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`0001. This application claims the benefit of U.S. Provi
`sional Patent Application No. 61/367,871 entitled “CON
`SERVING POWER CONSUMPTION IN APPLICATIONS
`WITH NETWORKINITIATED DATA TRANSFERFUNC
`TIONALITY, which was filed on Jul. 26, 2010, U.S. Provi
`sional Patent Application No. 61/367,870 entitled “MANAG
`ING AND IMPROVING NETWORK RESOURCE
`UTILIZATION, PERFORMANCE AND OPTIMIZING
`TRAFFIC IN WIRE LINE AND WIRELESS NETWORKS
`WITH MOBILE CLIENTS, which was filed on Jul. 26,
`2010, U.S. Provisional Patent Application No. 61/408,858
`entitled "CROSS APPLICATION TRAFFIC COORDINA
`TION', which was filed on Nov. 1, 2010, U.S. Provisional
`Patent Application No. 61/408,839 entitled “ACTIVITY
`SESSION AS METHOD OF OPTIMIZING NETWORK
`RESOURCE USE, which was filed on Nov. 1, 2010, U.S.
`Provisional Patent Application No. 61/408,829 entitled “DIS
`TRIBUTED POLICY MANAGEMENT, which was filed
`on Nov. 1, 2010, U.S. Provisional Patent Application No.
`61/408,846 entitled “INTELLIGENT CACHE MANAGE
`MENT IN CONGESTED WIRELESS NETWORKS,
`which was filed on Nov. 1, 2010, U.S. Provisional Patent
`Application No. 61/408,854 entitled “INTELLIGENT
`MANAGEMENT OF NON-CACHABLE CONTENT IN
`WIRELESS NETWORKS, which was filed on Nov. 1, 2010,
`U.S. Provisional Patent Application No. 61/408,826 entitled
`“ONE WAY INTELLIGENT HEARTBEAT, which was
`filedon Nov. 1, 2010, U.S. Provisional Patent Application No.
`61/408,820 entitled “TRAFFIC CATEGORIZATION AND
`POLICY DRIVING RADIO STATE, which was filed on
`Nov. 1, 2010, U.S. Provisional Patent Application No.
`61/416,020 entitled “ALIGNING BURSTS FROM SERVER
`TO CLIENT', which was filed on Nov. 22, 2010, U.S. Pro
`visional Patent Application No. 61/416,033 entitled “POLL
`ING INTERVAL FUNCTIONS, which was filed on Nov. 22,
`2010, U.S. Provisional Patent Application No. 61/430,828
`entitled DOMAIN NAME SYSTEM WITH NETWORK
`TRAFFICHARMONIZATION, which was filed on Jan. 7,
`2011, the contents of which are all incorporated by reference
`herein.
`
`BACKGROUND
`0002. When WCDMA was specified, there was little
`attention to requirements posed by applications whose func
`tions are based on actions initiated by the network, in contrast
`to 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 con
`Sume 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 with network
`initiated functionalities, such as push email.
`0003 Lack of proper support has prompted a number of
`Vendors to provide documents to guide their operator partners
`and independent Software vendors to configure their net
`works and applications to perform better in WCDMA net
`works. This guidance focuses on: configuring networks to go
`to stay on high-power radio mode as short as possible and
`making periodic keep alive messages that are used to main
`tain an always-on TCP/IP connection as infrequent as pos
`sible. Such solutions typically assume lack of coordination
`between the user, the application and the network.
`0004 Furthermore, application protocols may provide
`long-lived connections that allow servers to push updated
`data to a mobile device without the need of the client to
`periodically re-establish the connection or to periodically
`query for changes. However, the mobile device needs to be
`Sure that the connection remains usable by periodically send
`ing some data, often called a keep-alive message, to the server
`and making sure the server is receiving this data. While the
`amount of data sent for a single keep-alive is not a lot and the
`keep-alive interval for an individual application is not too
`short, the cumulative effect of multiple applications perform
`ing this individually will amount to Small pieces of data being
`sent very frequently. Frequently sending bursts of data in a
`wireless network also result in high battery consumption due
`to the constant need of powering/re-powering the radio mod
`ule.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0005 FIG. 1A illustrates an example diagram of a system
`where a host server facilitates management of traffic between
`client devices and an application server or content provider in
`a wireless network for resource conservation.
`0006 FIG. 1B illustrates an example diagram of a proxy
`and cache system distributed between the host server and
`device which facilitates network traffic management between
`a device and an application server/content provider for
`resource conservation.
`0007 FIG. 2A depicts a block diagram illustrating an
`example of client-side components in a distributed proxy and
`cache system residing on a mobile device that manages traffic
`in a wireless network for resource conservation.
`0008 FIG.2B depicts a block diagram illustrating another
`example of components in the application behavior detector
`and the traffic shaping engine in the local proxy on the client
`side of the distributed proxy system shown in the example of
`FIG. 2A
`0009 FIG. 3 depicts a block diagram illustrating an
`example of server-side components in a distributed proxy and
`cache system that manages traffic in a wireless network for
`resource conservation.
`0010 FIG. 4A depicts a timing diagram showing how data
`requests from a mobile device to an application server/con
`tent provider in a wireless network can be coordinated by a
`distributed proxy system in a manner Such that network and
`battery resources are conserved through using content cach
`ing and monitoring performed by the distributed proxy sys
`tem.
`FIG. 4B depicts a timing diagram showing how data
`0011
`requests from a mobile device to an application server/con
`
`Page 16 of 34
`
`

`

`US 2012/0023190 A1
`
`Jan. 26, 2012
`
`tent provider in a wireless network can be aligned at the local
`proxy in the distributed proxy system to optimize network
`and radio use.
`0012 FIG.5 depicts a diagram showing one example pro
`cess for implementing a hybrid IP and SMS power saving
`mode on a mobile device using a distributed proxy and cache
`system (e.g., Such as the distributed system shown in the
`example of FIG. 1B).
`0013 FIG. 6 depicts a flow chart illustrating example
`selection processes through which data transfer requests of
`multiple applications can be coordinated into a single transfer
`operation.
`0014 FIG. 7 depicts an example of triggering events that
`would cause a data request to be transferred without align
`ment with another data request.
`0015 FIG. 8 depicts a flow chart illustrating an example
`process for using timing characteristics of data requests made
`by individual applications to delay transfer of one or more of
`the data requests made by one of the individual applications.
`0016 FIG. 9 depicts a flow chart illustrating an example
`process for using application behavior of multiple applica
`tions to align their content requests made over the network.
`0017 FIG. 10 depicts an example of processes through
`which the time of delay for content requests can be deter
`mined to align content requests over the wireless network.
`0018 FIG. 11 shows a diagrammatic representation of a
`machine in the example form of a computer system within
`which a set of instructions, for causing the machine to per
`formany one or more of the methodologies discussed herein,
`may be executed.
`
`DETAILED DESCRIPTION
`0019. The following description and drawings are illustra
`tive and are not to be construed as limiting. Numerous specific
`details are described to provide a thorough understanding of
`the disclosure. However, in certain instances, well-known or
`conventional details are not described in order to avoid
`obscuring the description. References to one or an embodi
`ment in the present disclosure can be, but not necessarily are,
`references to the same embodiment; and, such references
`mean at least one of the embodiments.
`0020 Reference in this specification to “one embodiment'
`or “an embodiment’ means that aparticular feature, structure,
`or characteristic described in connection with the embodi
`ment is included in at least one embodiment of the disclosure.
`The appearances of the phrase “in one embodiment in vari
`ous places in the specification are not necessarily all referring
`to the same embodiment, nor are separate or alternative
`embodiments mutually exclusive of other embodiments.
`Moreover, various features are described which may be
`exhibited by some embodiments and not by others. Similarly,
`various requirements are described which may be require
`ments for some embodiments but not other embodiments.
`0021. The terms used in this specification generally have
`their ordinary meanings in the art, within the context of the
`disclosure, and in the specific context where each term is
`used. Certainterms that are used to describe the disclosure are
`discussed below, or elsewhere in the specification, to provide
`additional guidance to the practitioner regarding the descrip
`tion of the disclosure. For convenience, certain terms may be
`highlighted, for example usingitalics and/or quotation marks.
`The use of highlighting has no influence on the scope and
`meaning of a term; the scope and meaning of a term is the
`
`same, in the same context, whether or not it is highlighted. It
`will be appreciated that same thing can be said in more than
`one way.
`0022 Consequently, alternative language and synonyms
`may be used for any one or more of the terms discussed
`herein, nor is any special significance to be placed upon
`whether or not a term is elaborated or discussed herein. Syn
`onyms for certain terms are provided. A recital of one or more
`synonyms does not exclude the use of other synonyms. The
`use of examples anywhere in this specification including
`examples of any terms discussed herein is illustrative only,
`and is not intended to further limit the scope and meaning of
`the disclosure or of any exemplified term. Likewise, the dis
`closure is not limited to various embodiments given in this
`specification.
`0023. Without intent to limit the scope of the disclosure,
`examples of instruments, apparatus, methods and their
`related results according to the embodiments of the present
`disclosure are given below. Note that titles or subtitles may be
`used in the examples for convenience of a reader, which in no
`way should limit the scope of the disclosure. Unless other
`wise defined, all technical and scientific terms used herein
`have the same meaning as commonly understood by one of
`ordinary skill in the art to which this disclosure pertains. In
`the case of conflict, the present document, including defini
`tions will control.
`0024. Embodiments of the present disclosure include sys
`tems and methods for mobile network traffic coordination
`across multiple applications.
`0025. One embodiment of the disclosed technology
`includes, a system that optimizes multiple aspects of the
`connection with wired and wireless networks and devices
`through a comprehensive view of device and application
`activity including: loading, current application needs on a
`device, controlling the type of access (push vs. pull or hybrid),
`location, concentration of users in a single area, time of day,
`how often the user interacts with the application, content or
`device, and using this information to shape traffic to a coop
`erative client/server or simultaneously mobile devices with
`out a cooperative client. Because the disclosed server is not
`tied to any specific network provider it has visibility into the
`network performance across all service providers. This
`enables optimizations to be applied to devices regardless of
`the operator or service provider, thereby enhancing the user
`experience and managing network utilization while roaming.
`Bandwidth has been considered a major issue in wireless
`networks today. More and more research has been done
`related to the need for additional bandwidth to solve access
`problems—many of the performance enhancing solutions
`and next generation standards, such as those commonly
`referred to as 4G, namely LTE, 4G, and WiMAX are focused
`on providing increased bandwidth. Although partially
`addressed by the standards a key problem that remains is lack
`of bandwidth on the signaling channel more so than the data
`channel.
`0026. Embodiments of the disclosed technology includes,
`for example, alignment of requests from multiple applica
`tions to minimize the need for several polling requests; lever
`age specific content types to determine how to proxy/manage
`a connection/content; and apply specific heuristics associated
`with device, user behavioral patterns (how often they interact
`with the device/application) and/or network parameters.
`0027 Embodiments of the present technology can further
`include, moving recurring HTTP polls performed by various
`
`Page 17 of 34
`
`

`

`US 2012/0023190 A1
`
`Jan. 26, 2012
`
`widgets, RSS readers, etc., to remote network node (e.g.,
`Network operation center (NOC)), thus considerably lower
`ing device battery/power consumption, radio channel signal
`ing, and bandwidth usage. Additionally, the offloading can be
`performed transparently so that existing applications do not
`need to be changed.
`0028. In some embodiments, this can be implemented
`using a local proxy on the mobile device which automatically
`detects recurring requests for the same content (RSS feed,
`Widget data set) that matches a specific rule (e.g. happens
`every 15 minutes). The local proxy can automatically cache
`the content on the mobile device while delegating the polling
`to the server (e.g., a proxy server operated as an element of a
`communications network). The server can then notify the
`mobile/client proxy if the content changes, and if content has
`not changed (or not changed sufficiently, or in an identified
`manner or amount) the mobile proxy provides the latest ver
`sion in its cache to the user (without need to utilize the radio
`at all). This way the mobile device (e.g., a mobile phone,
`Smartphone, etc.) does not need to open up (e.g., thus pow
`ering on the radio) or use a data connection if the request is for
`content that is monitored and that has been not flagged as
`new/changed.
`0029. The logic for automatically adding content sources/
`application servers (e.g., including URLS/content) to be
`monitored can also check for various factors like how often
`the content is the same, how often the same request is made (is
`there a fixed interval/pattern?), which application is request
`ing the data, etc. Similar rules to decide between using the
`cache and request the data from the original Source may also
`be implemented and executed by the local proxy and/or
`SeVe.
`0030. For example, when the request comes at an unsched
`uled/unexpected time (user initiated check), or after every (n)
`consecutive times the response has been provided from the
`cache, etc., or if the application is running in the background
`VS. in a more interactive mode of the foreground. As more and
`more mobile applications base their features on resources
`available in the network, this becomes increasingly impor
`tant. In addition, the disclosed technology allows elimination
`of unnecessary chatter from the network, benefiting the
`operators trying to optimize the wireless spectrum usage.
`
`Cross Application Traffic Coordination
`0031. In one embodiment of the present disclosure, a
`group of applications A, B, C, ... I may have a timeline of
`transfers of data from the mobile device (or client (e.g.,
`mobile application, Software agent, widget) on the mobile
`device) to the network, or from the network to the mobile
`device (for receipt by the client). The time of the transfers can
`be represented as:
`0032. Application A: tA1, tA2, tA3, . . .
`0033. Application B: thB1, thB2, t33, ...
`0034) Application C: tC1, tC2, tC3, ...
`0035 Each of the times t can have a natural point of
`occurring based upon the independent activity of the corre
`sponding application as operations are executed at the appli
`cation server/provider and/or on the software client on the
`mobile device. For example, an application can transfer a
`message, an event, or other types of data to the network (or
`Vice versa) at a regular or semi-regular series of times as part
`of polling, satisfying a device, application, or user request,
`application maintenance, or other operation.
`
`0036 Similarly, an application can transfer a message,
`event, or other types data via the network (or vice versa) at a
`regular, semi-regular, or irregular series of times to perform
`its inherent functions or operations, such as Synchronizing
`two data stores, determining the contents of a data store,
`accessing new data from the application server/service pro
`vider, communicating with a peer device (e.g., another device
`with the same application or another application with which
`the requesting application interacts), exchanging control
`messages, etc.
`0037. In some instances, there is typically no correlation
`or weak correlation between the times at which data transfers
`or event transactions occur for one application as compared to
`a second application on a given mobile device, or for different
`data requests for the same application. In some cases, there
`may be a stronger correlation between the times at which a
`transfer occurs for one application as compared to a second
`application (e.g., where an operation of a first application is
`dependent upon or triggers an operation of a second applica
`tion, or where a user typically executes an operation of one
`application in conjunction with an operation of a second
`application). Note that in Some instances, the second appli
`cation may be the same application as the first application and
`that correlations can be tracked and determined for multiple
`requests sent by one application in a similar fashion.
`0038. In some embodiments, in order to optimize (e.g.,
`typically to minimize) the number of times that a device (e.g.,
`a mobile device or Smartphone) radio is turned on to decrease
`the consumption of power (and hence conserve its battery or
`other power source), a distributed proxy system including a
`local proxy and/or proxy server can operate to intercept the
`events or transactions (or requests for transfer) of informa
`tion. When intercepted, the local proxy and/or the proxy
`server can delay (or expedite) the time at which one or more
`of these transfers would normally occur in order to perform
`multiple transfers together as part of a single transfer opera
`tion (i.e., instead of performing multiple, individual trans
`fers). Alternatively, the local and/or proxy server can pre
`retrieve data for a non-priority application or less important/
`time sensitive application whose polls are typically expected
`to happen before another application having higher priority,
`for example. In other words, a delay could be negative result
`ing in content pre-retrieval for alignment with an anticipated
`data request which typically happens before the request of the
`lesser priority application.
`0039. The delay time (D) can represent a maximum time
`delay value (or in some instances, expedited time value) after
`receipt of a request to make such a transfer, with the value of
`D determined so as to enable the collection of as many of the
`transfers as feasible in a single, optimized data transfer. The
`delay times or expedited times of one or more transfers are
`determined so as to factor in any potential impact on perfor
`mance and user experience. Ideally, the system determines D
`to prevent undesired penalties or inefficiencies, and to prevent
`undesired impact on the user experience. Note that as
`described above, the delay D' could be negative or positive
`for alignment purposes (e.g., to implement a delayed or an
`expedited transfer).
`0040. In some embodiments, delay time 'D' (use to repre
`sent both positive and negative delays (effectively and expe
`dited transfer)) can be determined based on consideration of
`one or more of the following factors: the priority of the
`application (or the relative priority of one application in com
`parison to another), the nature or amount of data involved in
`
`Page 18 of 34
`
`

`

`US 2012/0023190 A1
`
`Jan. 26, 2012
`
`the transfer (e.g., whether it represents fresh data, a house
`keeping function, a control instruction, etc.), the status of the
`application (e.g., active, inactive, background, foreground,
`etc.), a useable lifetime of the data to be transferred (a period
`before it becomes stale), the interval between the transfer
`times of multiple data requests for a single application, the
`interval between the transfer times across more than one
`application (e.g., the largest transfer time interval based on
`consideration of all active applications), network character
`istics (available bandwidth, network latency, etc.), or another
`relevant factor.
`0041. In some embodiments, the delay time 'D' of specific
`events/transactions can be controlled by the mobile device
`(e.g., platform, device settings, or OS specifications), net
`work service provider, and/or the user as part of optimizing
`the battery life to align data transfer requests across multiple
`applications or the same application, as opposed to perform
`ing each data transfer individually. In some instances, the user
`can manually configure a setting specifying that requests
`across multiple applications or the same application are to be
`batched. The user can enable the setting, and allow the system
`to configure the details. In addition, the user can specify
`preferences, priorities, or any other constraints related to
`alignment of data request transfer of the mobile network.
`0042 FIG. 1A illustrates an example diagram of a system
`where a host server 100 facilitates management of traffic
`between client devices 102 and an application server or con
`tent provider 110 in a wireless network for resource conser
`Vation.
`0043. The client devices 102A-D can be any system and/or
`devi

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