US Pat. No. 9,445,368

OPTIMIZING KEEPALIVE AND OTHER BACKGROUND TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, Mar...

1. A method of optimizing network transactions originating at a mobile device, comprising:
categorizing a network transaction from an application as a safe or an unsafe network transaction, wherein a safe network
transaction is a candidate for network transaction optimization and wherein categorizing the network transaction includes:

gathering a number of messages associated with the network transaction;
determining a rule set including one or more rules using rule learning to identify messages associated with a safe network
transaction and messages associated with an unsafe network transaction;

calculating, for each rule in the rule set, a probability of success and a confidence probability threshold;
determining whether to apply each rule in the rule set based on the calculated probability of success compared with the confidence
probability threshold;

blocking a safe network transaction from being transmitted to a server over a wireless network for network transaction optimization;
wherein blocking the safe network transaction includes blocking a port of the application or blocking the application until
an unblocking event is detected;

wherein the unblocking event is not associated with the end of a defined duration of time; and
wherein blocking the safe network transaction includes applying the rule set to messages not used for rule learning.

US Pat. No. 9,485,732

DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A mobile terminal comprising:
a communications interface;
a battery;
the mobile terminal in conjunction with the communications interface is configured for:
establishing a first connection over a network between a mobile terminal and a remote entity;
sending keep-alive messages at varying intervals via the first connection in response to inactivity in the first connection;
wherein the first connection is disconnected after a first period of inactivity;
establishing a second connection over the network between the mobile terminal and the remote entity;
wherein the second connection is disconnected after a second period of inactivity, and
sending keep-alive messages in response to inactivity in a subsequent connection, wherein the keep-alive messages are sent
at a safe interval that meets a criterion of statistical confidence that is based on the first period of inactivity and the
second period of inactivity.

US Pat. No. 9,326,097

SURROUNDING ESTIMATION BASED ON SENSORS OF A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A method for sensing a surrounding of a mobile device, the method comprising:
requesting a weather condition that is received from a remote server;
deriving, based on the weather condition, a plurality of weights for sensors on the mobile device;
applying each weight to an output of a corresponding sensor on the mobile device;
determining whether the mobile device is likely to be indoor or outdoor based on one or more weighted outputs from the sensors;
detecting whether the mobile device is in motion by a method comprising using an accelerometer to detect if a user of the
mobile device has traveled a predetermined number of steps within a given time period;

adjusting a timing for determining whether the mobile device is indoor or outdoor based on whether a location change of the
mobile device exceeds a threshold; and

if the user of the mobile device has traveled a predetermined number of steps within a given time period, using a global positioning
satellite (GPS) receiver to determine how many satellites' signals can be received by the GPS receiver; and determining that
the mobile device is likely to be indoor if a number of satellites with receivable signals is below a threshold.

US Pat. No. 9,608,968

CONNECTION ARCHITECTURE FOR A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A server that manages transactions between first and second devices, the server comprising:
a communication interface;
a processor communicatively coupled to the communication interface; and
a memory communicatively coupled to the processor, the memory containing instructions executable by the processor whereby
the server is operable to:

receive a first connection from a first device;
authenticate the first device over the first connection;
receive a first transaction from the first device in response to user input at the first device, wherein the first connection
is maintained independently of the first transaction;

generate a trigger for a second device based on the first transaction from the first device, wherein the trigger is pushed
to the second device;

after the generation of the trigger for the second device, receive a second connection from the second device while the first
connection is maintained;

authenticate the second device over the second connection,
wherein the trigger notifies the second device of new data from the first transaction to be received by the second device
from the server for display to a user; and

send a second transaction to the second device using the second connection, wherein the second transaction contains the new
data,

wherein the trigger is pushed over a connection different from the second connection,
wherein a third transaction is received by the server in response to user input at the second device.

US Pat. No. 9,326,185

MOBILE NETWORK CONGESTION RECOGNITION FOR OPTIMIZATION OF MOBILE TRAFFIC

Seven Networks, LLC, Mar...

1. A method implemented by a mobile device for congestion detection in a mobile network, the method, comprising:
sampling, at a mobile device, setup times for establishing a data connection between the mobile device and one or more base
stations in the mobile network;

analyzing at least the sampled setup times and thereby detecting congestion at a base station from the one or more base stations
in the mobile network; and

applying a blocking policy on traffic from the mobile device in response to detecting congestion at the base station,
wherein the analyzing comprises using a baseline determined from the sampled setup times to detect an increase in setup times
associated with subsequent data connections established between the mobile device and the one or more base stations.

US Pat. No. 9,460,104

DATABASE SYNCHRONIZATION VIA A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method for synchronizing a database between an A party and a B party, wherein the parties communicate with each other
via a mobile communication network and the database contains data items to be synchronized, the method comprising:
installing in each of the A party and the B party a client part and a server part of a client-server communication module,
wherein the client part of the client-server communication module of a party communicates via the mobile communication network
with the server part of the client-server communication module of the other party;

maintaining in each of the A party and the B party a respective copy of the database; and
in response to a changed data item being generated by either the A party or the B party, a change detection logic located
in the party having generated the changed data item detects the changed data item and signals the changed data item to the
client-server communication module of the party having generated the changed data item thereby causing the party having generated
the changed data item to initiate a synchronization event via the client part of its client-server communication module, wherein
the synchronization event comprises sending a notification message that indicates said changed data item to the other party
via the mobile communication network;
wherein the method further comprises:
storing changed data items in a buffer during connection interruptions between the parties;
sending the changed data items stored in the buffer after connection re-establishment; and
if a newly-changed data item relates to a changed data item stored in the buffer, combining the newly-detected changed data
item with the changed data item stored in the buffer;

wherein combining the newly-detected changed data item with the changed data item stored in the buffer includes the newly-changed
data item overriding the changed data item stored in the buffer.

US Pat. No. 9,161,309

OPTIMIZING KEEPALIVE AND OTHER BACKGROUND TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, San...

1. A method of optimizing background traffic originating at a mobile device, comprising:
identifying a background request to be delayed for transmission to a wireless network;
delaying the background request for a period of time when a state of the mobile device meets a delay criteria;
responsive to detecting a change in the state of the mobile device or expiration of the period of time, transmitting the background
request to the wireless network;

identifying a tolerance for the background request, wherein a background request's tolerance is the shorter of the longest
period during which an application that generated the background request will not display an error message to a user of the
mobile device and the longest period beyond which the application will stop retrying to establish a connection to the wireless
network after a failed attempt.

US Pat. No. 9,325,662

SYSTEM AND METHOD FOR REDUCTION OF MOBILE NETWORK TRAFFIC USED FOR DOMAIN NAME SYSTEM (DNS) QUERIES

Seven Networks, LLC, Mar...

1. A method for reducing network traffic used for DNS queries in a wireless network, the method, comprising:
querying cached DNS entries in a local cache on a mobile device for a host name associated with an outgoing DNS query from
the mobile device, wherein each cached DNS entry stores an association between a domain name and a network address; and

providing a matching cached DNS entry as a response to the outgoing DNS query without accessing the wireless network;
wherein the matching cached DNS entry is invalidated in the local cache when a proxy remote from the mobile device detects
a response for the outgoing DNS query and notifies the mobile device to invalidate the matching locally cached DNS entry;
and

wherein the matching cached DNS entry is also invalidated in the local cache when a proxy remote from the mobile device originates
a DNS query, detects a changed DNS response to the proxy-originated DNS query, and, in response to detecting the changed DNS
response for the proxy-originated DNS query, notifies the mobile device to invalidate the matching locally cached DNS entry,

wherein the proxy-originated DNS query is performed in response to sending, by the mobile device, a polling task to the proxy
that instructs the proxy to poll a name server to monitor for changes in responses to the proxy-originated DNS query,

wherein the polling task includes timing data such that the proxy-originated DNS query occurs before the mobile device performs
a corresponding query to its local cache,

wherein the timing data is determined based on the freshness of mobile content.

US Pat. No. 9,369,424

TARGETED NOTIFICATION OF CONTENT AVAILABILITY TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A system comprising:
a first computing device client associated with a first user in a community of users operable to:
send content to publish to a data aggregation server,
wherein the data aggregation server has a hardware processor operable to:
receive the content to publish from the first computing device client;
host a first user profile associated with the first user of the first computing device client;
store relationship data in the first user profile, the relationship data reflecting relationships between the first user and
one or more other users in the community of users,

wherein the relationship is established by mutual agreement between users by inviting the one or more other users to establish
a relationship with the first user and the one or more other users confirming the relationship;

identify targeted recipients in the community of users based on the relationship data, the targeted recipients being a subset
of the community of users;

authenticate the targeted recipients by comparing information provided by the targeted recipients with information stored
by the data aggregation server; and

disseminate the content received from the first computing device client to a second computing device client associated with
at least one of the targeted recipients without receiving input from the first computing device client explicitly specifying
the targeted recipient to whom the content is disseminated and without receiving input from the second computing device specifying
the first user from which the content originated.

US Pat. No. 9,060,032

SELECTIVE DATA COMPRESSION BY A DISTRIBUTED TRAFFIC MANAGEMENT SYSTEM TO REDUCE MOBILE DATA TRAFFIC AND SIGNALING TRAFFIC

Seven Networks, Inc., Sa...

1. A method for enhancing resource management in a wireless network through selective data compression to reduce mobile data
traffic and signaling traffic, the method, comprising:
compressing, using a compression dictionary, an uncompressed data chunk in a data stream to be transmitted over the wireless
network to generate a compressed data chunk;

comparing sizes of the uncompressed data chunk with the compressed data chunk;
transmitting an optimized data stream comprising of the uncompressed data chunk or the compressed data chunk over the wireless
network, depending on which is smaller in size;

wherein, a header is included in the optimized data stream to indicate which of uncompressed data chunk and the compressed
data chunk is transmitted;

wherein the data stream runs above a transport layer and below a session layer, and
wherein the compression dictionary is updated if the compressed chunk is transmitted and wherein the compression dictionary
is not updated if the uncompressed chunk is transmitted.

US Pat. No. 9,408,105

CELLULAR OR WIFI MOBILE TRAFFIC OPTIMIZATION BASED ON PUBLIC OR PRIVATE NETWORK DESTINATION

Seven Networks, LLC, Mar...

1. A method of cellular or WIFI traffic optimization, the method, comprising:
detecting outgoing traffic from a mobile device connected to a server and subscribed to an operator of a public Internet Protocol
(IP) network;

performing, at the mobile device, one of (i) optimization of the outgoing traffic based on an optimization policy set of the
operator and (ii) allowing optimization of the output traffic by a remote entity of the server and based on the optimization
policy set, when the outgoing traffic is directed towards the private IP network and the private IP network is owned by the
operator, the optimization policy set being same for the private IP network and the public IP network,

allowing, by the mobile device, the outgoing traffic to reach the destination corresponding to the destination network address
without optimization by the mobile device or the remote entity, when the outgoing traffic is directed towards the private
IP network and the private IP network is not owned by the operator of the public IP network, and

receiving a response from the remote entity when the outgoing traffic is directed to the public IP network,
wherein the response to the outgoing traffic directed towards the public IP network is optimized by the remote entity based
on the optimization policy set.

US Pat. No. 9,369,539

METHOD AND DEVICE FOR POWER SAVING FOR DOWNLOADING FILES

Seven Networks, LLC, Mar...

1. A method for transferring data between a mobile device and a server, comprising, with a processor of the mobile device,
controlling the mobile device for:
querying a user of a first mobile device by displaying a notification on a user interface of the first mobile device to select
whether to enter a power save mode;

wherein a second mobile device shares a same user account with the first mobile device;
upon selection by a user of entering the power save mode at the first mobile device, optimizing traffic at the first mobile
device by blocking transmission of at least some traffic from the first mobile device;

wherein content selected for download from the server at the second mobile device is delayed for download at the first mobile
device when the first mobile device is in the power save mode,

wherein the content selected for download at the second mobile device is downloaded at the second mobile device when the second
mobile device is not in the power save mode.

US Pat. No. 9,473,914

SYSTEM AND METHOD FOR PROVIDING A NETWORK SERVICE IN A DISTRIBUTED FASHION TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A method comprising:
receiving a unique authentication token from each of a first device and a second device;
transferring to a content selection interface on the first device an indication of content available from a content provider;
transmitting selected content to the first device in response to a user selection of the content available from the content
provider at the first device;

automatically transmitting the selected content to the second device,
wherein the selected content is transmitted to the first device through a first connection and transmitted to the second device
through a second connection distinct from the first connection.

US Pat. No. 9,444,752

DISTRIBUTED CACHING SYSTEMS WITH CONFIGURABLE EXTENDED CACHING OPTIMIZATION

Seven Networks, LLC, Mar...

1. A method for distributed caching of information using extended caching optimization, the method comprising:
at a mobile device for operating in a wireless network, the device including a local proxy for monitoring requests issued
from an application located within the device to an external entity not located within the device and for storing, in a local
cache, responses to the monitored requests received from the external entity:

identifying a request as one that meets a first criterion for optimization; and
in response to identifying the request as one that meets a first criterion for optimization, applying an extended caching
optimization, wherein applying an extended caching optimization includes:

preventing the identified request from being transmitted to the external entity; and
providing a response to the identified request from the local cache.

US Pat. No. 9,407,713

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A method for reducing traffic in a cellular network used to satisfy data requests made by a mobile application, the method
comprising:
intercepting, on a mobile device, a first data request made by the mobile application;
querying a local cache on the mobile device;
determining that a locally stored first response is invalid;
querying a remote proxy for a remotely stored first response responsively to the locally stored first response being determined
invalid;

providing the remotely stored first response to the mobile application without the mobile application accessing the cellular
network;

intercepting a second data request made by the mobile application on the mobile device;
querying the local cache on the mobile device;
determining that a locally stored second response is valid;
providing the second response to the mobile application without the mobile application accessing the cellular network;
sending the first data request to a content source via forwarding through the remote proxy;
notifying the remote proxy to monitor responses received for the first data request from the content source for changed results;
receiving, from the remote proxy in response to notifying the remote proxy to monitor, a notification that a changed result
from the content source is detected; and

replacing a locally stored response on the mobile device when notified of the changed result.

US Pat. No. 9,344,393

SECURE END-TO-END TRANSPORT THROUGH INTERMEDIARY NODES

Seven Networks, LLC, Mar...

19. A method for encrypting information, comprising:
programming a network processing device to associate different types of items in transactions with different security associations;
processing various different transactions at the network processing device;
correlating security associations with different data channels in the transactions;
encrypting or decrypting the items in the transactions according to the corresponding security associations,
configuring the network processing device with different security associations containing encryption keys, the security associations
correlated with at least some of the data channels;

decrypting only the items from the data channels having corresponding known security associations with configured encryption
keys, while keeping the channels without known security associations encrypted;

processing the transactions according to the decrypted items;
re-encrypting only the items in the processed transactions having corresponding security associations while preserving unmodified
the data channels without known security associations and

transporting the transactions containing re-encrypted and/or unmodified data channels to an endpoint.

US Pat. No. 9,325,600

OFFLOADING APPLICATION TRAFFIC TO A SHARED COMMUNICATION CHANNEL FOR SIGNAL OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC UTILIZING PROPRIETARY AND NON-PROPRIETARY PROTOCOLS

Seven Networks, LLC, Mar...

1. A method of reducing network traffic comprising:
blocking a first channel to reduce network signaling and battery consumption, wherein the first channel includes a non-common
channel;

offloading application traffic of an application onto a second channel, wherein the second channel includes a common channel;
monitoring the application traffic of the application over the second channel;
unblocking the first channel based on the monitored application traffic so that the application can perform an action; and
re-blocking the first channel after the action has been completed.

US Pat. No. 9,239,800

AUTOMATIC GENERATION AND DISTRIBUTION OF POLICY INFORMATION REGARDING MALICIOUS MOBILE TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, Mar...

1. A method for automatically generating and distributing policy information for malicious mobile traffic in a wireless network,
the method, comprising:
aggregating suspicious activity information detected across multiple mobile devices in a wireless network;
wherein, the suspicious activity information is detected, by each of the mobile devices, in mobile application activities
occurring on at least one mobile application on the multiple mobile devices;

wherein the mobile application activities comprises traffic to and from each mobile device in response to requests from the
at least one mobile application, generating policy information for malicious mobile traffic using the suspicious activity
information; and

distributing the policy information among the multiple mobile devices or other mobile devices in the wireless network,
wherein, the policy information includes an identification of the mobile application and rules which either automatically
uninstalls the at least one mobile application or automatically blocks future installations of the at least one mobile application,
wherein the suspicious activity information is used to determine cacheability of the response.

US Pat. No. 9,241,314

MOBILE DEVICE WITH APPLICATION OR CONTEXT AWARE FAST DORMANCY

Seven Networks, LLC, Mar...

1. A mobile device which implements fast dormancy in a manner that is application aware, the mobile device, comprising:
a local proxy on the mobile device, the local proxy configured to:
monitor activity behavior of each of a plurality of applications on the mobile device, the activity behavior of each of the
plurality of applications comprising, for each particular application, identification of each connection opened by the particular
application, and whether the particular application is scheduled to engage in upcoming transmitting or receiving via each
opened connection;

determine whether activity of each particular application of the plurality of applications is complete based at least in part
on the monitored activity behavior of the particular application;

when the activity of a particular application is determined to be complete, immediately send a radio release request message
for at least one connection opened by the particular application; and

when the activity of a particular application is determined to be not complete, adjust, by delaying or accelerating based
at least in part on the monitored activity behavior of the particular application, an initiation time to send a radio release
request message for at least one connection opened by the particular application.

US Pat. No. 9,173,128

RADIO-AWARENESS OF MOBILE DEVICE FOR SENDING SERVER-SIDE CONTROL SIGNALS USING A WIRELESS NETWORK OPTIMIZED TRANSPORT PROTOCOL

Seven Networks, LLC, San...

1. A mobile device which receives control signals over an alternate channel to an IP channel that is open, the mobile device,
comprising:
a processor;
a memory unit having instructions stored thereon which when executed by the processor, causes the mobile device to:
determine a timeout parameter corresponding to an amount of time a radio of the mobile device will be active;
receive the control signals over the alternate channel, without utilizing the IP channel, in response to determining that
a timing specified by the timeout parameter has been reached or exceeded;

wherein receiving the control signals over the alternate channel does not utilize a cellular radio of the mobile device,
wherein the control signals are generated by a server that is aware of the mobile device's radio state and the mobile device's
radio state is used by the server to select a communications channel for sending the control signals which does not cause
the mobile device radio to power on or to otherwise switch on to a higher powered state.

US Pat. No. 9,161,258

OPTIMIZED AND SELECTIVE MANAGEMENT OF POLICY DEPLOYMENT TO MOBILE CLIENTS IN A CONGESTED NETWORK TO PREVENT FURTHER AGGRAVATION OF NETWORK CONGESTION

Seven Networks, LLC, San...

1. A method of managing deployment of network management policies in a mobile network, the method comprising:
identifying a current location of a mobile device in the mobile network;
receiving, at the mobile device, a stability notification, the stability notification including a stability interval;
determining that the current location of the mobile device is a stable location based on the mobile device remaining in a
particular area for the stability interval;

receiving a congested area list indicating a plurality of congested areas in a mobile network;
determining that the stable location is in a first congested area indicated by the congested area list; and
responsive to determining that the stable location is in the first congested area, applying, with the mobile device, a first
network management policy associated with the first congested area to the mobile device.

US Pat. No. 9,444,812

SYSTEMS AND METHODS FOR AUTHENTICATING A SERVICE

Seven Networks, LLC, Mar...

1. A method for authenticating a user to provide a service, the method comprising:
storing information associated with a user of a first device on a server, wherein the stored information includes a phone
number associated with a second device of the user and is stored during an event;

wherein additional information is needed to authenticate the first device to provide a service;
querying the user for additional information to authenticate the first device to provide the service,
wherein the additional information has a length of time in which the additional information is valid;
querying the user to verify the phone number associated with the second device provided during the event before sending one
or more communications associated with providing the service to the first device; and

sending, based on the stored information and the additional information, the one or more communications to provide the service.

US Pat. No. 9,330,196

WIRELESS TRAFFIC MANAGEMENT SYSTEM CACHE OPTIMIZATION USING HTTP HEADERS

Seven Networks, LLC, Mar...

1. A method for wireless traffic reduction by web content cache optimization, the method, comprising:
storing web content from a web server as cached elements in a local cache on a mobile device;
retrieving the cached elements from the local cache to respond to a request made at the mobile device regardless of expiration
indicated in headers of the web content that is cached, wherein the request is at least partially responded to using some
of the cached elements retrieved from the local cache; and

generating a validator from a tag in the headers of the web content; wherein the validator indicates which of the cached elements
have changed.

US Pat. No. 9,591,688

DETECTION AND REPORTING OF KEEPALIVE MESSAGES FOR OPTIMIZATION OF A KEEPALIVE TRAFFIC IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of identifying keepalives from a Transport Control Protocol (TCP) stream, comprising:
on a mobile device having a keepalive detector that includes a network log data analyzer, using at least a processor and memory
for:

identifying, with the network log data analyzer, patterns of data sent from and received by a mobile application on a mobile
device, wherein the patterns have variable intervals and sizes;

detecting, with the network log data analyzer using statistical analyses performed on the patterns of data, that a pattern
from among the identified patterns is regular;

detecting, with the network log data analyzer using statistical analyses performed on the patterns of data, that a pattern
from among the identified patterns includes regular byte sizes; and

identifying, with the network log data analyzer, the keepalives from the TCP stream occurring over the same TCP session based
on information relating to the pattern that is detected as regular and the regular byte sizes.

US Pat. No. 9,386,433

SYSTEM AND METHOD FOR PROVIDING A NETWORK SERVICE IN A DISTRIBUTED FASHION TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A system for providing mobile network services comprising:
a first server communicatively coupled to a mobile device over a mobile network, the first server configured to:
receive a unique authentication token from the mobile device over the mobile network, and
provide a service to the mobile device via the mobile network, wherein the service is associated with the unique authentication
token and branded by an entity other than an entity that operates the mobile network;

wherein the service is provided by: the first server transmitting a list of available digital content stored at the first
server to the mobile device, and transferring a representation of at least a portion of the digital content to the mobile
device in response to a user selection,

a second server configured to monitor usage of the mobile network by the mobile device, the usage related to the service associated
with the unique authentication token and provided to the mobile device by the first server,

wherein the second server is controlled by an entity other than an entity that operates the mobile network.

US Pat. No. 9,444,916

ENHANCED CACHING OF DOMAIN NAME SYSTEM (DNS) AND REVERSE DNS QUERIES FOR TRAFFIC MANAGEMENT FOR SIGNALING OPTIMIZATION IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method for enhanced domain name system (DNS) caching, the method comprising:
at a mobile device operating in a wireless network:
providing, within the mobile device, a local DNS cache that stores results of DNS lookup queries received from a DNS server
for responding to reverse DNS lookup queries issued from applications hosted within the mobile device, wherein each response
received from the DNS server is associated with a first time-to-live (TTL) value for that response;

assigning to each query/response pair in the local DNS cache a second TTL value that is larger than that response's first
TTL value, wherein the second TTL value is used in place of the first TTL value and the second TTL value is provided by a
local DNS harmonizer component within the mobile device that operates to optimize or reduce DNS-related traffic transmitted
over the wireless network between the mobile device and the DNS server; and

using mobile device or application status to determine whether to provide a response to a reverse DNS lookup query from the
local DNS cache or whether to transmit the reverse DNS lookup query over the wireless network.

US Pat. No. 9,298,792

DATABASE SYNCHRONIZATION

Seven Networks, LLC, Mar...

1. A method for synchronizing a first data storage and a second data storage, the method comprising:
maintaining by a processor a first change count and a second change count for a data item a first data storage, wherein the
first change count maintained the processor indicates a number of changes made to the data item at the first data storage,
wherein the second change count maintained by the processor indicates a number of changes made to a corresponding data item
at a second data storage; and

responsive to a synchronization trigger that is generated when the data item is changed and a data connection is available:
receiving an identifier for the changed data item along with a first change count and a second change count maintained at
the second data storage;

detecting a conflict in the data item between the first and second data storages based on the maintained first and second
change counts and the received first and second change counts; and

resolving the conflict according to a set of predetermined rules,
wherein applicable rules of the set of predetermined rules are displayed as a menu on a user interface for selection by a
user; and

wherein one application is responsible for receiving the identifier for the changed data item and another application is responsible
for the changes made to the data item at the first data storage.

US Pat. No. 9,066,370

PROVIDING DATA TO A MOBILE APPLICATION ACCESSIBLE AT A MOBILE DEVICE VIA DIFFERENT NETWORK CONNECTIONS WITHOUT INTERRUPTION

Seven Networks, Inc., Sa...

26. A method of providing data to a mobile application accessible at a mobile device via multiple different network connections
without interruption, the method comprising:
receiving, by a connectivity engine of the mobile device, data for the mobile application over a second network connection
different than a first network connection;

anticipating that the first network connection is to be disconnected;
in response to anticipating that the first network connection is to be disconnected, determining an amount of data to be received
from the first network connection to provide the mobile application with continuous data flow when connecting to the second
network connection;

providing the determined amount of data received over the second network connection after providing data received by the connectivity
engine from the first network connection to the mobile application in a continuous data flow without interruption;

wherein the amount of the data received from the first network connection is determined based on connection quality or bandwidth
of the second network connection or the first network connection;

wherein the connectivity engine anchors the continuous data flow such that different network connection parameters utilized
by the network connection and the first network connection are not visible to or detectable by the mobile application,

wherein the determined amount of data received over the second network connection and the data received by the connectivity
engine from the first network connection are retrieved or received at an interface able to identify an application class of
the application to which the data is directed, wherein, the interface is associated with a relay for the application class
based on a protocol utilized for the application class.

US Pat. No. 9,438,550

MOBILE DEVICE POWER MANAGEMENT IN DATA SYNCHRONIZATION OVER A MOBILE NETWORK WITH OR WITHOUT A TRIGGER NOTIFICATION

Seven Networks, LLC, Mar...

1. A method for transferring data between a mobile device and a host, comprising:
sending, in response to instructions from a processor, application data requests from a mobile device to a host over a first
connection at a first frequency;

receiving data from the host responsive to the sent application data requests;
selecting a power management mode, from a plurality of power management modes, based on an amount of battery power remaining
on the mobile device, wherein selecting a power management mode is further based on the amount of battery power remaining
being below a predetermined amount;

changing the frequency that the application data requests are sent from the first frequency to a second frequency associated
with the selected power management mode;

wherein at least two of the power management modes are a low power mode configured to conserve the amount of battery power
remaining on the mobile device and a normal operation mode,

wherein the normal operation mode is configured to allow the mobile device to send application data requests more frequently
than when the mobile device is in low power mode,

wherein the frequency at which some application data requests are sent is not changed to the second frequency while the mobile
device is in the low power mode; and

exiting the low power mode when an amount of battery power remaining is above a predetermined amount.

US Pat. No. 9,275,163

REQUEST AND RESPONSE CHARACTERISTICS BASED ADAPTATION OF DISTRIBUTED CACHING IN A MOBILE NETWORK

Seven Networks, LLC, San...

1. A method of determining cacheability of content received for a client on a mobile device, the method, comprising:
tracking requests generated by the client at the mobile device to detect periodicity of the requests generated by the client;
tracking responses received for requests generated by the client to detect repeatability in content of the responses;
determining whether the content received for the client is cacheable on the mobile device based on one or more of the periodicity
in the requests and the repeatability in the content of the responses;

wherein, a host which sends the responses is monitored at a rate to verify relevance or validity of the cache entry for the
requests;

wherein, the rate at which the host is monitored is determined only from the requests generated in the background by the client
rather than requests generated from user interaction with the client.

US Pat. No. 9,208,123

MOBILE DEVICE HAVING CONTENT CACHING MECHANISMS INTEGRATED WITH A NETWORK OPERATOR FOR TRAFFIC ALLEVIATION IN A WIRELESS NETWORK AND METHODS THEREFOR

Seven Networks, LLC, Mar...

1. A method of integration of content caching with a mobile network operator for traffic alleviation of a mobile network,
the method comprising:
in response to determining that a cached element stored in a local cache of a mobile device is invalid, detecting, by an operator
proxy of the mobile network operator, a poll from an application on the mobile device which would have been served using the
cache element from the local cache on the mobile device if the cache element had not been invalid;

forwarding, at the operator proxy, the poll from the application on the mobile device to a mobile network operator;
receiving, at the operator proxy, a response to the poll from the mobile network operator and providing the response to the
server-side proxy server; and

wherein, the response is invalid if the response provided to the server-side proxy server is not the same as a prior response
for same or similar content at the server-side proxy server and the server-side proxy server transmits an invalidate message
to the mobile device to invalidate the cached element.

US Pat. No. 9,124,500

SIGNALING OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC BASED ON HEART-BEAT MESSAGES

Seven Networks, Inc., Sa...

1. A method of optimizing management of presence information over a mobile network, comprising:
determining, by a host server, the presence information of a user of a mobile application on a mobile device based on heartbeat
messages, while a first connection between the mobile device and the host server is closed, wherein the user is determined
to be online when heartbeat messages are received from the mobile device in regular intervals of time, and wherein the user
is determined to be offline when heartbeat messages are not received from the mobile device; and

maintaining or closing a second connection between the host server and a content server based on the presence information
of the user, wherein maintaining the second connection allows the content server to determine that the user is online, and
closing the second connection allows the content server to determine that the user is offline.

US Pat. No. 9,077,630

DISTRIBUTED IMPLEMENTATION OF DYNAMIC WIRELESS TRAFFIC POLICY

Seven Networks, Inc., Sa...

1. A system for optimizing resources in a mobile network, the system comprising:
a mobile device having a local proxy to aggregate client-side parameters, the client-side parameters including user activity
status indicating whether the user is active or inactive;

a proxy server to aggregate server-side parameters, the proxy server being coupled to the mobile device and being wirelessly
coupled to a server with which the mobile device interacts, the proxy server being able to wirelessly communicate with the
local proxy;

wherein the local proxy and the proxy server each communicate the client-side parameters and the server-side parameters, respectively,
to the other component, to formulate a policy for traffic control in the mobile network between the mobile device and the
server based on both of the client-side parameters and the server-side parameters;

wherein the policy is jointly implemented by the local proxy and the proxy server and dynamically adjustable in real-time
based on continued communication between the local proxy and the proxy server;

wherein the local proxy and the proxy server each communicate the client-side parameters and server-side parameters before
a first formulation of a traffic policy;

wherein the client-side parameters include identification of an application installed on the mobile device and polling frequency
of the application;

wherein the proxy server uses the client-side parameters to determine frequency with which polling by the application yields
new data and creates a probability profile for the application using the determined frequency; and

wherein the local proxy uses the probability profile to determine whether to respond to an application poll using a local
cache on the mobile device.

US Pat. No. 9,247,019

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device configured for reducing traffic in a wireless network, the device configured to:
delay content requests made by multiple mobile applications;
align content requests using observed activity of a user of the mobile device that includes a time since a last key press
and mobile device properties;

poll in accordance with the aligned content requests to satisfy content requests of at least some of the multiple mobile applications,
monitor the time since a last key press, and, when the time exceeds a predetermined time period, locally adjust the mobile
device by suppressing the aligned content requests at the mobile device for a first suppression period, and after expiration
of the first suppression period, transmit any aligned content requests,

suppress subsequent content requests at the mobile device for a second suppression period, where the second suppression period
is longer than the first suppression period.

US Pat. No. 9,203,864

DYNAMIC CATEGORIZATION OF APPLICATIONS FOR NETWORK ACCESS IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A computer-implemented method of determining network access permissions for managing network bandwidth consumption of a
mobile device application, the method comprising:
using at least one processor of the mobile device for:
receiving a request from the mobile device application to access a network;
on a client side, determining an application traffic category of a plurality of categories to which the mobile device application
is assigned based on an activity associated with either the mobile device or the mobile device application including at least
one of: application status, communications directionality, communications priority, device location, time, usage pattern,
and traffic content, wherein each of the plurality of application traffic categories is associated with a network access policy;

on the client side, determining a content category of a plurality of categories to which the mobile device application is
assigned based on a time criticality associated with either the mobile device or the mobile device application including at
least one of: high priority, low priority, time critical, and non-time critical, wherein each of the plurality of content
categories is associated with a content delivery policy;

receiving a second set of application traffic categories associated with a network access policy;
receiving a second set of content categories associated with a content delivery policy;
determining if the client side determined application traffic category of a plurality of categories and the second set of
application traffic categories of a plurality of categories are consistent;

determining if the client side determined content category of a plurality of categories and the second set of content categories
of a plurality of categories are consistent;

in response to a determination that the client side determined application traffic category and the second set of application
traffic categories have network access policies that are consistent, providing to the mobile device application access to
the network according to the network access policy associated with the application traffic category;

in response to a determination that the client side determined application traffic category and the second set of application
traffic categories have network access policies that are not consistent, determining a network access policy to allow the
application access to the network;

in response to a determination that the client side determined content category and the second set of content categories have
content delivery policies that are consistent, providing to the mobile device application content from the network according
to the content delivery policy associated with the content category; and

in response to a determination that the client side determined content category and the second set of content categories have
content delivery policies that are not consistent, determining a content delivery policy to deliver content to the mobile
device.

US Pat. No. 9,503,544

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device comprising:
a memory;
a radio; and
a processor,
the mobile device is configured for:
determining a predicted launch time of a first application executing in a background of the mobile device, wherein the predicted
launch time is based on historical activity related to the first application, wherein the historical activity is related to
a time of day when a user has accessed the first application; and

establishing a connection with a server based on the predicted launch time, wherein the connection is established while the
first application is executing in the background of the mobile device;

wherein data is fetched for the first application over the connection while the application remains executing in the background
before the predicted launch time, wherein the data is provided by a server in communication with the mobile device.

US Pat. No. 9,323,862

PREDICTIVE CONTENT DELIVERY

Seven Networks, LLC, Mar...

1. A method of operating a server device comprising:
receiving, from a mobile device, behavioral information, the behavioral information reflecting user behavior of a user associated
with the mobile device;

determining an accuracy rate for previously predicted content, the previously predicted content determined by a predictive
model based on previous behavioral information;

identifying a trend of content access based on the accuracy rate;
determining predicted content for the user based on the trend; and
sending, to the mobile device, prior to selection at the mobile device for the predicted content, the predicted content, wherein
the predicted content comprises one or more predicted content items.

US Pat. No. 9,251,193

EXTENDING USER RELATIONSHIPS

Seven Networks, LLC, Mar...

1. A method for managing personal information management
(PIM) data amongst users in a network, the method comprising:
accessing a third-party application server to identify personal information management (PIM) data of a first user including
a first network of contacts corresponding to an account of the first user of a social networking application hosted by the
third-party application server;

accessing a third-party application server to identify PIM data of a second user including a second network of contacts corresponding
to an account of the second user of the social networking application hosted by the third-party application server;

external to the third-party application server, allowing access to the first network of contacts of the first user by the
second user in accordance with first user permission settings set by the first user; and

creating a link between the first user and the second user, wherein creating the link includes:
identifying shared calendar information common to the PIM data of the first user and the PIM data of the second user, respectively,
wherein the shared calendar information includes embedded metadata, and

updating, based on the shared calendar information, the PIM data of the second user using the PIM data of the first user,
wherein updating the PIM data includes:

reading the embedded metadata from the shared calendar information;
based on the metadata, acquiring additional information not expressly provided by the calendar data; and
automatically updating the shared calendar information to reflect the additional information.

US Pat. No. 9,325,598

BANDWIDTH MEASUREMENT

Seven Networks, LLC, Mar...

1. A method for measuring bandwidth available to a mobile device, the method comprising:
in response to user browsing of content stored on a content server via the mobile device, transferring the content to the
mobile device over a network to satisfy the user browsing of the content;

while the user continues to browse the content:
determining any other transfers taking place over the network;
transparently measuring a plurality of transfer times of the transferred content based in part on actual packet loss and stoppages
in the transfer;

wherein based on the determining any other transfers taking place over the network, the measuring of each of the plurality
of transfer times is performed at least one of continuously, according to a schedule, or randomly to ensure up-to-date measurements
while preventing intrusive measuring;

determining a plurality of measured bandwidths based on the measured plurality of transfer times;
determining a network bandwidth to the mobile device based on performing statistical analysis of the determined plurality
of measured bandwidths to reduce or remove any impact of anomalous bandwidth measurements;

based on the statistical analysis, storing the determined network bandwidth in a log of other determined bandwidth measurements,
the log including times that each stored bandwidth measurements was determined;

identifying trends based on the stored bandwidth measurements;
based on the identified trends and the determined network bandwidth, determining an effective transfer rate for transferring
content to the mobile device; and

providing the effective transfer rate to the content server;
wherein the content server, based on the effective transfer rate and based on a selection of a selected content by the mobile
device, optimizes the selected content such that during transfer of the selected content to the mobile device, the effective
transfer rate is not exceeded.

US Pat. No. 9,094,481

ADAPTIVE DOWNLOADING OR STREAMING TO CONSERVE MOBILE DEVICE OR NETWORK RESOURCES

Seven Networks, Inc., Sa...

1. A method of adaptively adjusting downloaded or streamed network traffic in a mobile network, the method comprising:
providing a mobile device including an optimization engine, the mobile device executing one or more applications;
intercepting, by the optimization engine, data network requests to be transmitted from the mobile device to the mobile network,
the data network requests initiated by the one or more mobile applications and intercepted before the data network requests
are transmitted from the mobile device, wherein the intercepted data network requests include at least a header portion and
a body portion, the header portion including at least a source and a destination network address;

detecting, by the optimization engine, that one or more of the intercepted data network requests are associated with downloading
or streaming media files;

acquiring, by the optimization engine, user-specific information of a user of the mobile device, the user-specific information
of a user of the mobile device being acquired separately from the one or more intercepted network requests;

based on the acquired user-specific information, adaptively modifying, by the optimization engine, the detected data network
requests that are associated with downloading or streaming the media files, wherein the adaptively modifying causes the downloading
or streaming of the media files to be adjusted; and

directing, by the optimization engine, the adaptively modified data network request to a content server corresponding to the
destination network address via the mobile network.

US Pat. No. 9,532,317

OPTIMIZING TRAFFIC BY CONTROLLING KEEP-ALIVES

Seven Networks, LLC, Mar...

1. A method comprising:
at a mobile device:
monitoring keep-alive messages sent at varying intervals between the mobile device and a remote entity as part of one or more
transactions;

determining a tolerance of delay of keep-alive messages that includes:
increasing the tolerance of delay until an application executing on the mobile device times out by increasing the tolerance
of delay for a combination comprising at least two of: the application, a protocol, and a communications port communicating
with the application; and

reducing the tolerance of delay after the application times out;
identifying a transaction as unnecessary when the transaction includes user-initiated data transmitting from the mobile device
in addition to a keep-alive message, wherein a respective transaction includes user-initiated data when the traffic originates
in response to output mechanisms of the mobile device, or when the transaction is associated with a keep-alive message that
has not been sent when the application times out, wherein a timer for the application timing out is set if the application
is to be delayed; and

blocking the keep-alive message for the unnecessary transaction.

US Pat. No. 9,131,397

MANAGING CACHE TO PREVENT OVERLOADING OF A WIRELESS NETWORK DUE TO USER ACTIVITY

Seven Networks, Inc., Sa...

1. A method for preventing overloading of a wireless network due to user activity, the method comprising:
receiving an indication of detected activity of a user in using an application on a mobile device operating in the wireless
network;

receiving a determined timing characteristics of the activity of the user in the wireless network;
receiving a determined time to live (TTL) for a temporary polling interval, indicating an amount of time for which a resource
is to be queried, wherein the TTL is determined in relation to the detected activity by a local proxy operating on the mobile
device;

substituting a regular polling interval with the temporary polling interval with the TTL;
querying, remotely from the mobile device during the TTL, the resource requested in the activity based on the temporary polling
interval;

receiving a response for the querying of the resource;
wherein the response is used to determine if cached content on the mobile device for the activity directed towards the resources
is valid; and

providing the response to the mobile device before expiration of the TTL if the cached content is determined not valid;
wherein the received determined TTL is determined at a local proxy operating on the mobile device, and
wherein a proxy server, remote from the mobile device, queries the resource and receives the TTL in a poll request from the
local proxy,

wherein the TTL is calculated as a multiple of an interval period between requests generated by the detected activity; and
resuming a regular polling interval after the TTL expires after providing the response to the mobile device before expiration
of the TTL if the cached content is determined not valid.

US Pat. No. 9,094,395

SECURE MECHANISM TO DELIVER MOBILE TRAFFIC MANAGEMENT CONFIGURATION UPON STUB ACTIVATION ON A MOBILE DEVICE OF A GLOBAL SERVICE DISCOVERY SERVER

Seven Networks, Inc., Sa...

1. A system comprising:
a mobile device having an embedded stub with a stub configuration;
an operating server having traffic management protocols configured to support the communications of the mobile device; and
a global service discovery server for receiving the stub configuration and for informing the mobile device about the operating
server.

US Pat. No. 9,084,105

DEVICE RESOURCES SHARING FOR NETWORK RESOURCE CONSERVATION

Seven Networks, Inc., Sa...

1. A method for network resource conservation through device resource sharing, the method, comprising:
detecting that multiple devices are attempting to access a same content source over a cellular mobile network through separate,
respective polls of the cellular mobile network, wherein the multiple devices are managed by different users and not associated
with the same user;

detecting that mobile devices meet a criteria;
wherein, the attempt to access the same content source is made over the mobile network that includes 3G, 4G or LTE network;
wherein, the same content source is polled once in a single poll event by a single one device of the multiple devices;
transmitting content received in response to the single poll event of the one same content source to the one device of the
multiple devices and a second device of the multiple devices over a wireless network;

wherein the transmitting occurs when it is determined that the content received responsive to the single poll event is relevant
to the different users who use the one device and the second device;

wherein the content received in response to the single poll event is stored in a local cache of the one device to satisfy
subsequent requests of the second device or other devices of the multiple devices,

wherein the multiple mobile devices are each cellular phones operating over the mobile network,
wherein the criteria includes a spacial criterion and a social criterion, and
notifying a local proxy on the one device that the content stored in the local cache is no longer valid, wherein the response
is removed from the local cache when the response is no longer valid.

US Pat. No. 9,432,486

SELECTIVE DATA COMPRESSION BY A DISTRIBUTED TRAFFIC MANAGEMENT SYSTEM TO REDUCE MOBILE DATA TRAFFIC AND SIGNALING TRAFFIC

Seven Networks, LLC, Mar...

1. A method for enhancing resource management in a wireless network through selective data compression and messaging alignment
to reduce mobile data traffic and signaling traffic, the method, comprising:
compressing, using a compression dictionary, an uncompressed data chunk in a data stream to be transmitted over the wireless
network to generate a compressed data chunk;

comparing sizes of the uncompressed data chunk with the compressed data chunk;
optimizing the data stream by batching multiple transactions for transmission over the wireless network such that a wireless
connection need not be established in the wireless network every time each of the multiple transactions occurs;

wherein the data is individually batched for each of the users;
optimizing the data stream by delaying transmission thereof until detection of a trigger; and
transmitting the optimized data stream comprising of the uncompressed data chunk or the compressed data chunk over the wireless
network, depending on which is smaller in size,

wherein the compression dictionary is updated if the compressed chunk is transmitted and wherein the compression dictionary
is not updated if the uncompressed chunk is transmitted.

US Pat. No. 9,342,684

FLEXIBLE REAL-TIME INBOX ACCESS

Seven Networks, Marshall...

1. A system for authenticating access to one or more email data stores, the system comprising:
a server device comprising:
a server communication interface;
a processor communicatively coupled to the server communication interface; and
a memory communicatively coupled to the processor, the memory containing instructions executable by the processor whereby
the server device is operable to:

receive a first notification message of an update in email data at the one or more email data stores, wherein the first notification
message comprises an indication of a presence of new email data or a change to existing email data and does not include all
of the information associated with the new or changed email data; and

send a second notification message to a mobile device, wherein the second notification message informs the mobile device of
the update in email data; and

the mobile device comprising:
an Internet Protocol connection manager comprising a mobile communication interface;
a mobile processor communicatively coupled to the Internet Protocol connection manager; and
a mobile memory communicatively coupled to the mobile processor, the mobile memory containing instructions executable by the
mobile processor whereby the mobile device is operable to:

receive the second notification message from the server device; and
initiate, through the Internet Protocol connection manager, a synchronization operation that occurs asynchronously and in
a background of other mobile device operations.

US Pat. No. 9,100,873

MOBILE NETWORK BACKGROUND TRAFFIC DATA MANAGEMENT

Seven Networks, Inc., Sa...

1. A method for aligning data transfer with a mobile device to optimize connections made at the mobile device in a wireless
network, the method, comprising:
batching data of multiple transactions associated with mobile clients on the mobile device for transmission over the wireless
network such that a connection need not be established at the mobile device every time each of the multiple transactions occurs;

wherein, the data that is batched includes non user-interactive data of the mobile clients;
generating an adjusted polling interval for a first service based on a polling interval of a second service, wherein the first
service and the second service have initially different default polling intervals and are associated with different applications
executing on the mobile device;

wherein, the adjusted polling interval is determined by a local proxy on the mobile device in communication with the first
and second services through a proxy server;

wherein, the first and second services are accessed on the mobile device and serviced by distinct hosts, wherein a third service
accessed on the mobile device does not have an adjusted polling interval relative to a default polling interval of the third
service;

wherein the adjusted polling interval for the first service is used in aligning traffic directed towards the distinct hosts
due to operation a mobile device of the first and second services;

selecting a mutual starting point in time for a first poll of the distinct hosts servicing the first and second services such
that both of the first service and the second service begin polling at the adjusted polling interval at the mutual starting
point; and

communicating, to the proxy server, the mutual starting point in time for the first poll to the proxy server, wherein, the
mutual starting point in time is in the future to compensate for a period of communication delay, wherein, after the period
of communication delay ends and the mutual starting point begins, the mobile device begins polling for at least the first
second, second service, and the third service,

wherein, the local proxy communicates the adjusted polling interval of the first service to the proxy server for use in aligning
the traffic to the mobile device from the distinct hosts,

wherein, the proxy server polls the distinct hosts servicing the first and second services on the mobile device at a schedule
based on the adjusted polling interval of the first service and the polling interval of the second service,

wherein the mobile device transfers the batched data to the proxy server and the proxy server transfers data from the distinct
host to the mobile device based on the adjusted polling interval and mutual starting point.

US Pat. No. 9,271,325

DETECTION AND REPORTING OF KEEPALIVE MESSAGES FOR OPTIMIZATION OF KEEPALIVE TRAFFIC IN A MOBILE NETWORK

Seven Networks, LLC, San...

1. A method of identifying network transactions from a Transport Control Protocol (TCP) stream, comprising:
using at least a processor and memory for:
examining, using statistical analysis, patterns of data sent from and received by a mobile application on a mobile device;
determining one or more network transaction parameters based on the examination;
identifying network transactions from the TCP stream based on the one or more network transaction parameters; and
optimizing in real-time data sent over a mobile network based on the identified network transactions,
wherein the network transactions occur over a same TCP session, and
wherein the one or more network transaction parameters include content following a certain pattern, wherein the one or more
network transaction parameters include a regular interval and a regular size, both determined from the patterns of data sent
from and received by the mobile application based on the statistical analysis.

US Pat. No. 9,065,765

PROXY SERVER ASSOCIATED WITH A MOBILE CARRIER FOR ENHANCING MOBILE TRAFFIC MANAGEMENT IN A MOBILE NETWORK

Seven Networks, Inc., Sa...

1. A method for mobile traffic management on a mobile carrier or mobile operator, comprising:
delaying, at a proxy server, a batch of transactions initiated by an application server directed towards a mobile device until
a predetermined transfer time period,

wherein the application server is associated with a mobile application on the mobile device;
wherein, a batch of transactions originating from the mobile application on the mobile device is delayed;
detecting arrival of a trigger that includes a message of high priority, time critical, or an urgent transaction directed
to the mobile device and initiated by the application server;

transferring, at the proxy server, the message associated with the trigger to the mobile device in response to detecting the
trigger;

wherein, in response to transferring the message associated with the trigger, the batched transactions originating from the
mobile application are transferred to the proxy server and the batched transactions initiated by the application server continue
to be delayed until the predetermined transfer time period,

wherein the proxy server is associated with or residing on the mobile carrier or the mobile operator.

US Pat. No. 9,307,493

SYSTEMS AND METHODS FOR APPLICATION MANAGEMENT OF MOBILE DEVICE RADIO STATE PROMOTION AND DEMOTION

Seven Networks, LLC, San...

1. A mobile device which promotes or demotes a radio state based on an application accessed or installed thereon, the mobile
device comprising:
a radio;
a processor;
a memory unit having instructions stored thereon which when executed by the processor, causes the radio to transition between
a lower powered state and a higher powered state based on at least:

a determination of whether the application transmits background or foreground data over a wireless network,
wherein the memory unit further has instructions stored thereon which when executed by the processor, causes the mobile device
to:

monitor the mobile device and the application while the radio is in the lower-powered state;
determine, based on the monitored mobile device and application, whether rate-limiting data transmission from the mobile device
would avoid causing the radio to transition to the higher powered state; and

in response to determining that rate-limiting data transmission from the mobile device would avoid causing the radio to transition
to the higher powered state, transmit data through a rate-limited proxy configured to limit at least one of a speed of transmission
of the data and a buffer size.

US Pat. No. 9,300,719

SYSTEM AND METHOD FOR A MOBILE DEVICE TO USE PHYSICAL STORAGE OF ANOTHER DEVICE FOR CACHING

Seven Networks, Inc., Sa...

1. A system to enable a mobile device to use physical storage of another device for social caching, the system, comprising:
a local proxy on the mobile device which detects or receives a response to a request to a content source;
wherein, the local proxy wirelessly accesses the physical storage of another device via a wireless network to cache the response
or content for the mobile device;

wherein, responsive to subsequent requests at the mobile device which would be satisfied by the content or the response, the
physical storage of the other device is further accessed via the wireless network to access the cache to satisfy the request
at the mobile device;

wherein, the physical storage of the other device is accessed in response to detecting commonalities between the mobile device
and the other device;

wherein, the commonalities include common interests in users of the mobile device and the other device;
wherein the system further comprises a proxy server wirelessly coupled to communicate with the local proxy, wherein, the proxy
server monitors the content source to determine when the response cached is no longer valid;

wherein, the local proxy notifies a remote proxy when the response is cached; and
wherein, the remote proxy notifies the local proxy on the mobile device when the response is no longer valid.

US Pat. No. 9,277,443

RADIO-AWARENESS OF MOBILE DEVICE FOR SENDING SERVER-SIDE CONTROL SIGNALS USING A WIRELESS NETWORK OPTIMIZED TRANSPORT PROTOCOL

Seven Networks, LLC, San...

1. A method, comprising:
identifying a radio state of a mobile device, irrespective of whether a TCP connection is open between a server and the mobile
device, wherein identifying the radio state of the mobile device includes receiving a packet having a header portion containing
an attribute field added as an extension to the packet header,

wherein the attribute field specifies a delay value indicating a radio timeout of the mobile device and includes a field ID
and a field payload,

wherein a highest order bit of the field ID indicates whether the attribute field is the last attribute field to be added
to the packet header and the remaining bits of the field ID include a value defining a format of the field payload,

wherein a highest order bit of the field payload indicates whether the remaining portion of the field payload is associated
with the field ID,

wherein the remaining bits of the field payload contain a numeric payload indicating a radio timeout of the mobile device;
sending a server-generated message to the mobile device over either a TCP connection or short message service (SMS) based
on the radio state.

US Pat. No. 9,271,238

APPLICATION OR CONTEXT AWARE FAST DORMANCY

Seven Networks, LLC, San...

1. An application aware method of mobile network radio state transitioning from a higher power state to a lower power state,
comprising:
providing a radio access network that receives mobile network radio signals including an information element, the radio access
network further selectively transmitting a transition radio signal following receipt of the information element;

providing user equipment that transmits mobile network radio signals and that receives transition radio signals and then transitions
the user equipment from a higher power state to a lower power state, wherein providing user equipment includes operating a
fast dormancy optimizer that:

determines that the information element is to be sent to cause a transition from a higher power state to a lower power state
based on a monitoring of a running application;

implements context awareness and learning and modifies, following the determination that the information element is to be
sent, a send time at which the information element is to be sent based on said context awareness and learning; and

sends the information element, following the modification of the send time at which the information element is to be sent,
at the modified send time.

US Pat. No. 9,247,455

HIERARCHIES AND CATEGORIES FOR MANAGEMENT AND DEPLOYMENT OF POLICIES FOR DISTRIBUTED WIRELESS TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A method of utilizing hierarchies for managing policies for wireless traffic optimization in a wireless network, the method,
comprising:
providing a global policy set among the policies for wireless traffic management;
providing at least one of a mobile device policy set and a user policy set among the policies for a mobile device operating
in the wireless network;

detecting a conflict between any policy set of the global policy set and the at least one of a mobile device policy set and
a user policy set for at least one user; and

in response to detecting a conflict, overwriting the any policy set of the global policy set with the at least one of a mobile
device policy set and a user policy set.

US Pat. No. 9,326,189

USER AS AN END POINT FOR PROFILING AND OPTIMIZING THE DELIVERY OF CONTENT AND DATA IN A WIRELESS NETWORK

Seven Networks, LLC, Mar...

1. A method of user behavior based resource allocation in a wireless network, the method comprising:
tracking user behavior with respect to mobile usage for a user; and
controlling the resource allocated to the user in the wireless network based on the user behavior with respect to the mobile
usage,

wherein the resource allocated to the user is controlled by throttling radio power states of a mobile device which the user
uses by throttling between high and lowered power states based on the user habit of a user using the mobile device in mobile
usage sessions, and

wherein, the radio is throttled among three power states when connected to a 3G wireless network; wherein, the radio is throttled
among two power states when connected to a 4G or LTE network.

US Pat. No. 9,603,049

EXTENDING DELAY TOLERANCE OF MOBILE APPLICATIONS FOR OPTIMIZING MOBILE TRAFFIC MANAGEMENT

Seven Networks, LLC, Mar...

1. A method for managing mobile traffic in a mobile device, comprising:
on a mobile device having a memory and a processor, the mobile device having mobile applications each having an initial timeout:
extending, by the processor, tolerance of mobile applications on the mobile device to delay in establishing a connection to
a wireless network, wherein extending the tolerance of the mobile applications to delay includes modifying one or more system
functions, wherein the system function includes an ability to access the wireless network for the mobile applications, and

wherein the mobile device is further configured, by the processor, to determine:
a first tolerance based on receipt of a message over a wireless radio directed to one of the applications;
a second tolerance based on detection of a screen on the mobile device being turned on; and
a third tolerance that is a predetermined value;
and wherein the mobile device is configured, by the processor, to select a shorter of the first, second, and third tolerances;
based on the tolerance that is extended, batching, by the processor, over a period of time, requests from the mobile applications
such that transfer of the requests during the period of time is delayed,

wherein the tolerance that is extended includes:
the first tolerance when the first tolerance is shorter than the second tolerance and the third tolerance;
the second tolerance when the second tolerance is shorter than the first tolerance and the third tolerance
the third tolerance when the third tolerance is shorter than the first tolerance and the second tolerance;
determining, by the processor, connection timeouts to extend the tolerance of the mobile applications to delay.

US Pat. No. 9,351,254

METHOD FOR POWER SAVING IN MOBILE DEVICES BY OPTIMIZING WAKELOCKS

Seven Networks, LLC, Mar...

1. A mobile device comprising:
a display screen;
a memory, and a processor, the mobile device configured to:
acquire a system wakelock in response to an application wakelock acquisition request;
detect an activity state of the mobile device based on a status of the display screen;
enter a power optimization state based on the detected activity state;
release the system wakelock based upon entering the power optimization state when the application that made the acquisition
request is not critical to user experience, wherein the application is non-critical when the application is not identified
on a whitelist;

acquire the system wakelock in response to a subsequent wakelock acquisition request from another application on the mobile
device when the another application making the subsequent wakelock acquisition request is identified on the whitelist.

US Pat. No. 9,271,237

OPTIMIZING KEEPALIVE AND OTHER BACKGROUND TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, San...

1. A method of optimizing network transaction traffic originating at a mobile device, comprising:
identifying network transaction parameters corresponding to an application;
utilizing the network transaction parameters to execute a network transaction in advance of an expected schedule or after
a delay to optimize the network transaction traffic,

wherein execution of the network transaction in advance of the expected schedule is triggered in response to detecting a radio
state of the mobile device transitioning from an idle state to a connected state after a socket for the application has been
idle for longer a pull in period.

US Pat. No. 9,055,102

LOCATION-BASED OPERATIONS AND MESSAGING

Seven Networks, Inc., Sa...

10. A method for determining a medium for communications to a user of a first mobile device, comprising:
receiving information concerning an identification of the user of the first mobile device, the first mobile device receiving
telephone calls and electronic messages;

receiving location information from the first mobile device, wherein the location information identifies a physical location
of the first mobile device;

providing the user information and the location information to a second mobile device, the second mobile device receiving
telephone calls and electronic messages, wherein the second mobile device is configured to communicate with the user, based
on at least the location of the first mobile device;

wherein, communication received via the communication medium and other communication mediums at the first mobile device are
accessible via an integrated user environment, wherein, a database is provided that includes information concerning communication
media associated with each of the first mobile device and the second mobile device, the database further correlating location
information with a particular mode of communication, the database further including preferences of one of the first and second
mobile devices about a particular mode of communication, the particular mode of communication related to preferences regarding
to at least one of telephone calls and electronic messages; and

wherein the second mobile device identifies a communication medium of the first mobile device for communication based on the
physical location and the information included in the database.

US Pat. No. 9,049,179

MOBILE NETWORK TRAFFIC COORDINATION ACROSS MULTIPLE APPLICATIONS

Seven Networks, Inc., Sa...

1. A method of coordinating traffic among applications on a mobile device, the method, comprising:
delaying transfer of a first data transfer request initiated by a first application until another data transfer request initiated
by a second application that is more data intensive than the first application is detected on the mobile device wherein, the
second application is of higher priority than the first application and the another data transfer request initiated by the
second application is of higher priority than the first data transfer request;

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 a mobile network;

tracking data transfer requests made by the first and second applications on the mobile device;
determining a correlation between a first timing characteristic of data transfer requests made by the first application and
a second timing characteristic of data transfer requests made by the second application;

using the correlation between the first and second timing characteristics in performing the delaying the transfer of the first
data request.

US Pat. No. 9,049,613

RADIO OR NETWORK EVALUATION FOR SELECTION BASED ON MEASUREMENTS USING APPLICATION LAYER PROTOCOLS AT A MOBILE DEVICE

Seven Networks, Inc., Sa...

1. A method for selecting a network from a number of available networks at a mobile device for communication, the method comprising:
measuring ,using an application layer protocol, a set of parameters for each of the available networks;
determining an overall quality level for each of the available networks based on the parameters; and
choosing a respective network based on the determined overall quality levels,
wherein the determining is performed on an application-by-application basis,
further including:
repeating the measuring and determining periodically; and
performing the choosing when an overall quality level of a previously selected network deteriorates by a predetermined level.

US Pat. No. 9,047,142

INTELLIGENT RENDERING OF INFORMATION IN A LIMITED DISPLAY ENVIRONMENT

Seven Networks, Inc., Sa...

1. A method for presenting information in a limited user interface display environment, comprising:
selecting a set of textual and graphical components for possible rendering in the limited user interface display environment,
wherein the set of textual and graphical components are part of a user interface that allows a user to control a progression
of an application or device through a predetermined set of states; and

without user interaction, determining whether one of the set of components will be rendered incorrectly as a result of a limitation
of the limited user interface display environment based upon the present state of the application or device;

in response to determining that the one component will be rendered incorrectly as a result of a limitation of the limited
user interface display environment, determining whether the size of the one component can be adjusted;

in response to determining that the size of the one component can be adjusted, adjusting the size of the one component prior
to rendering it in the limited user interface display environment;

in response to determining that the size of the one component cannot be adjusted, not rendering the one component in the limited
user interface display environment;

identifying a change in the state of the application or device to a new state;
in response to identifying a first component that is presently not displayed but relevant to the new state, adding the identified
first component to the user interface;

determining whether an other of the set of components will be rendered incorrectly as a result of a limitation of the limited
user interface display environment based upon the new state;

in response to determining that the other component will be rendered incorrectly as a result of a limitation of the limited
user interface display environment, determining whether the size of the other component can be adjusted;

in response to determining that the size of the other component can be adjusted, adjusting the size of the other component
prior to rendering it in the limited user interface display environment;

in response to determining that the size of the other component cannot be adjusted, not rendering the other component in the
limited user interface display environment.

US Pat. No. 9,516,129

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device which improves network resource utilization in a wireless network, the mobile device, comprising:
a radio;
user interface;
a memory unit having instructions stored thereon;
a processor configured to:
enter a first power management mode, wherein to enter the first power management mode is based on input from a user;
while in the first power management mode, block transmission of outgoing application data requests for at least one application
executing in a background of the mobile device and allow transmission of outgoing application data requests for at least one
application executing in a foreground of the mobile device;

enter a second power management mode, wherein entry into the second power management mode is based on a detected activity
status, wherein the detected activity status is based on a backlight status of the mobile device being off;

while in the second power management mode, block transmission of outgoing application data requests for at least one application
executing in background of the mobile device for a predetermined period of time.

US Pat. No. 9,603,056

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device configured to optimize connections made by the mobile device in a wireless network, the mobile device comprising:
a memory;
a radio; and
a processor, the mobile device configured to:
batch data from a first application and a second application for transmission to a respective first application server and
a second application server over the wireless network,

wherein, the batched data from the first application and the second application is batched while a backlight of the mobile
device is off in response to inactivity of the mobile device;

allow a first message from a remote server distinct from the first application server and the second application server to
be received while the batched data from the first application and the second application is batched;

wherein the first message from the remote server is directed to the first application and contains data from the first application
server and is associated with the mobile device and the first application;

transmit a second message associated with the first application to the remote server or the first application server in response
to receipt of the first message from the remote server;

transmit the batched data to the respective first application server and the second application server over the wireless network
while the backlight of the mobile device remains off;

wherein the batching of data for the first application and the second application can be enabled or disabled by a user of
the mobile device on an application-by-application basis.

US Pat. No. 9,516,127

INTELLIGENT ALARM MANIPULATOR AND RESOURCE TRACKER

Seven Networks, LLC, Mar...

1. A method for managing resources on a mobile device, comprising:
entering a power save mode based on a backlight status and sensed motion of a mobile device;
delaying a timing of one or more triggers for multiple applications on the mobile device,
wherein the timing is delayed such that the triggers execute within a window of time,
wherein at least a subset of the triggers are associated with wakelocks; and
exiting the power save mode when the backlight of the mobile device turns on or motion of the mobile device is sensed.

US Pat. No. 10,009,940

NETWORK-INITIATED DATA TRANSFER IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method for Internet Protocol communication from a communications server to a wireless terminal, the method comprising:receiving data for communication to the wireless terminal, the data is received at the communications server;
identifying an unavailability of Internet Protocol connectivity with the wireless terminal;
determining an availability of an out-band messaging mechanism with the wireless terminal;
initiating a delivery of a message for establishing an Internet Protocol connection with an access network to the wireless terminal in response to a determination that the Internet Protocol connection is unavailable;
establishing the Internet Protocol connection with the wireless terminal via the access network; and transferring the data to the wireless terminal, wherein the wireless terminal is configured to enter a periodic polling mode in an absence of a previously established Internet Protocol connection and an unavailability of the out-band messaging mechanism with the communications server.

US Pat. No. 9,578,492

SECURE MECHANISM TO DELIVER MOBILE TRAFFIC MANAGEMENT CONFIGURATION UPON STUB ACTIVATION ON A MOBILE DEVICE OF A GLOBAL SERVICE DISCOVERY SERVER

Seven Networks, LLC, San...

1. A network, comprising:
a mobile device having a mobile device processor, mobile device transient memory, a SIM card, mobile device non-transitory
memory storing a mobile device profile, mobile device bi-directional communication capabilities, a mobile device operating
system embedded in the mobile device non-transitory memory, and a configurable stub having a stub configuration embedded in
the mobile device non-transitory memory;

an operating server having an operating server processor, operating server non-transitory memory, operating server bi-directional
communication capabilities, an operating server operating system stored in the operating server non-transitory memory, wherein
the operating server is configured to support traffic management protocols that support the bi-directional communications
of the mobile device subject; and

a processor controlled global service discovery server configured to receive the stub configuration and to inform the mobile
device about the operating server,

wherein the global service discovery server sends the mobile device at least one of a location and network identity, a mobile
network code (MNC), and information required to obtain a device identity,

wherein the global service discovery server stores a key, the operator server stores the same key, the global service discovery
server sends the key to the mobile device, the mobile device sends that key to the operator server, and the operator server
verifies the validity of the key and sends the mobile device application software if the key if valid.

US Pat. No. 9,578,027

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A server communicatively coupled to a network and one or more data stores, the server comprising:
a processor; and
a memory, wherein the server is configured to:
receive, from a client device, a unique identifier for the client device, wherein the unique identifier is transmitted between
the client device and the server as part of an initial communication, wherein the unique identifier is also used in a subsequent
communication;

store the unique identifier for the client device;
identify the client device using the stored unique identifier;
receive registration information from the client device;
store the registration information;
associate the stored registration information with the unique identifier of the client device;
receive, via a communication with the client device, a request for the client device to receive information from the one or
more data stores, wherein the request includes the unique identifier;

configure a service to access the one or more data stores on behalf of the client device using the stored registration information;
and

forward the requested information from the one or more data stores to the client device based on the unique identifier that
is included within the request.

US Pat. No. 9,883,548

DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A network-node device comprising:
a communication interface operable to communicatively couple the network-node device to a network; and
a processor and a memory storing program codes, coupled to the communication interface, operable to:
determine, for a first mobile terminal, keep-alive message information, the keep-alive message information used in maintaining
a first Internet Protocol connection between the first mobile terminal and a first device over the network;

store the keep-alive message information; and
apply, for a second mobile terminal, the keep-alive message information, the keep-alive message information used in maintaining
a second Internet Protocol connection between the second mobile terminal and a second device over the network.

US Pat. No. 9,860,769

OPTIMIZATION OF MOBILE TRAFFIC DIRECTED TO PRIVATE NETWORKS AND OPERATOR CONFIGURABILITY THEREOF

Seven Networks, LLC, Mar...

1. A method of optimizing mobile traffic on a mobile device connected to a server and subscribed to a public IP network, the
method, comprising:
hosting a first mobile application and a second mobile application;
receiving a network policy originating from within a private IP network, wherein policy enforcement related to the network
policy is performed on an application-by-application basis;

identifying the public IP network and the private IP network accessed by mobile traffic at the mobile device;
enforcing the network policy on the mobile device wherein:
outgoing traffic of the first mobile application is sent to a first application server via a distributed proxy system, the
distributed proxy system includes a client side proxy component on the mobile device and a server side proxy component on
the first application server; and

outgoing traffic of the second mobile application is sent to a second application server and bypasses the distributed proxy
system;

intercepting traffic for the first mobile application server using the client side component of the distributed proxy system;
and

determining whether (i) a network destination of outgoing traffic of the first mobile application is within the private IP
network and the private IP network is owned by operator of the public IP network or (ii) the network destination is within
the public IP network;

performing optimization of the outgoing traffic of the first mobile application via the client side proxy component by using
an optimization policy set when (i) or (ii) is affirmative, the optimization set being same for the private IP network and
the public IP network;

sending the outgoing traffic without performing optimization to the first application server when neither (i) nor (ii) is
affirmative.

US Pat. No. 10,091,734

OPTIMIZING MOBILE NETWORK TRAFFIC COORDINATION ACROSS MULTIPLE APPLICATIONS RUNNING ON A MOBILE DEVICE

Seven Networks, LLC, Mar...

9. A method comprising:receiving instructions, at a mobile device, from a user to enter a power save mode;
while in the power save mode, blocking transmission of outgoing application data requests, wherein the outgoing application data requests are background application requests for more than one application;
while in the power save mode, allowing transmission of additional outgoing application data requests in response to occurrence of receipt of data transfer from a remote entity and user input in response to a prompt displayed to the user, and a change in a background status of an application executing on the mobile device, wherein the additional outgoing application data requests are foreground application requests,
wherein the remote entity is an intermediary server that provides connectivity between an application server and the mobile device,
exiting the power save mode based on received instructions from the user to exit the power save mode,
wherein, when the power save mode is exited, the outgoing application data requests occurring while the mobile device is not in the power save mode are blocked by user selection on an application-by-application basis, wherein the user selection instructs the mobile device whether to block the outgoing application data requests for each application that is selected by the user for blocking.

US Pat. No. 9,717,017

MOBILE DEVICE EQUIPPED WITH MOBILE NETWORK CONGESTION RECOGNITION TO MAKE INTELLIGENT DECISIONS REGARDING CONNECTING TO AN OPERATOR NETWORK FOR OPTIMIZE USER EXPERIENCE

Seven Networks, LLC, Mar...

1. A method comprising:
at a mobile device having a processor and a memory, the mobile device configured for:
determining a packet call quality (PCQ) associated with transmission of packets between the mobile device and a mobile communications
network, including:

determining a numerical indication of call quality; and
determining a delay for packet access while a screen of the mobile device is on;
and
determining a measure of congestion based on the PCQ that indicates a total delay experienced by a user of the mobile device
during the transmission of packets.

US Pat. No. 10,091,211

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A method for authenticating one or more devices to provide a service:storing, during an event, information associated with a user of a first device on a server, wherein the stored information includes a phone number associated with a second device of the user;
receiving user input indicating whether to use additional information to authenticate the first device to provide the service to the first device,
wherein the service is related to data stored in one or more data stores associated with the service;
querying the user to verify the phone number associated with the second device provided during the event before sending one or more communications to provide the service to the first device;
identifying the first device using an identifier associated with the first device;
storing, after the event, information associated with the first device,
wherein the information associated with the first device includes information related to a previous authentication of the first device;
determining whether additional information is needed to authenticate the first device to provide the service to the first device,
wherein the determination of whether additional information is needed is based on the identifier associated with the first device and a selection by the user related to authentication provided during the previous authentication of the first device;
in response to determining that additional information is needed to authenticate the first device, querying the user for the additional information to authenticate the first device to provide the service to the first device;
in response to determining that additional information is not needed to authenticate the first device, authenticating the first device to provide the service to the first device;
sending the one or more communications to provide the service to the first device; and
sending one or more communications to provide the service to the second device.

US Pat. No. 9,661,103

MOBILE DEVICE HAVING IMPROVED POLLING CHARACTERISTICS FOR BACKGROUND APPLICATIONS

Seven Networks, LLC, Mar...

1. A mobile device configured for aligning data transfer from the mobile device to optimize connections made by the mobile
device in a wireless network, the mobile device comprising:
a memory;
a backlight
a radio; and
a processor, the mobile device configured to:
while the backlight of the mobile device is on:
detect that a first application is executing in a background of the mobile device;
detect that a second application is executing in a foreground of the mobile device;
batch a first set of data for the first application;
transmit the first set of batched data for the first application; and
transmit data for the second application at a time when the second application requests transmission;
while the backlight of the mobile device is off in response to inactivity of the mobile device:
detect that the second application is executing in the background of the mobile device;
batch a second set of data for the first application and the second application; and
transmit the second set of batched data for the first application and the second application, wherein the transmission of
the second set of batched data occurs after at least a predetermined period of time.

US Pat. No. 9,860,389

SYSTEM AND METHOD FOR PROVIDING A NETWORK SERVICE IN A DISTRIBUTED FASHION TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A server of a mobile virtual network, the server having a processor and configured to:
receive a unique authentication token from a mobile device, and
provide phone call and data services to the mobile device, wherein the phone call and data services are associated with the
unique authentication token and branded by a provider of the mobile virtual network that is other than a provider of a mobile
network;

wherein the mobile device includes application software for allowing the phone call and data services, wherein the application
software is branded by the provider of the mobile virtual network,

wherein an identifier associated with the mobile device is maintained by the provider of the mobile virtual network and the
provider of the mobile network, wherein the phone call and data services are associated with the identifier, wherein the identifier
is distinct from the unique authentication token;

wherein the server is configured to:
provide the phone call services to the mobile device through each of a Wi-Fi network and the mobile network; and
provide the data services to the mobile device through each of the Wi-Fi network and the mobile network.

US Pat. No. 9,769,680

MODELING NETWORK SIGNALING IN A MOBILE NETWORK BASED ON ELAPSED TIME

Seven Networks, LLC, Mar...

1. A method comprising:
determining whether a mobile application executing on a mobile device is associated with network signaling that requires a
corresponding radio connection,

filtering at least a portion of the network signaling caused by the mobile application, wherein the filtered network signaling
does not cause a corresponding radio connection;

calculating a signaling efficiency indicating a total number of radio connections that are prevented as a result of the filtering,
wherein calculating the signaling efficiency includes calculating a time gained as a result of filtering, where the time gained
includes a difference between the time the mobile device can remain powered on without the filtering and the time the mobile
device can remain powered on with the filtering;

determining one or more congested areas in the network based on the calculated signaling efficiency;
determining corrective actions based on the calculated signaling efficiency; and
applying the corrective actions in the one or more congested areas.

US Pat. No. 9,602,457

MOBILE DEVICE HAVING POWER SAVE FEATURE FOR ESTABLISHING COMMUNICATIONS

Seven Networks, LLC, Mar...

1. A mobile device located in a mobile network, comprising:
a battery;
a processor configured to:
send application data requests from an application operating on the mobile device to a first server;
enter a power save mode based on a battery level;
while in the power save mode:
alter behavior of sending application data requests from the application;
receive a message over a connection with a second server when content received at the second server is new content that is
associated with a predetermined identifier, wherein the message is related to the application sending application data requests;
and

establish a subsequent connection with the first server to receive data related to the new content based on receipt of the
message,

wherein the second server is an intermediate server that is configured for providing connectivity between the first server
and the mobile device,

wherein the power save mode is entered when an amount of battery power remaining is below a predetermined amount, and
wherein the processor is further configured to send login data to authenticate a user of the mobile device.

US Pat. No. 10,045,393

DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A network-node device comprising:a communication interface operable to communicatively couple the network-node device to a network; and
a processor and a memory storing program codes, coupled to the communication interface, operable to:
determine, for a first mobile terminal, a first keep-alive message interval, wherein the keep-alive message interval defines a maximum time interval between sending keep-alive messages from the first mobile terminal and a first device over the network in order to prevent disconnection of a first Internet Protocol connection between the first mobile terminal to the first device;
determine, for the first mobile terminal, a first keep-alive message schedule for sending keep-alive messages over a period of time, wherein the first keep-alive message schedule is based on the first keep-alive message interval; and
send, to a second mobile terminal, instructions for sending, from the mobile terminal, keep-alive messages to a second device in order to maintain a second Internet Protocol connection between the second mobile terminal and the second device over the network, wherein the instructions are based on the first keep-alive message schedule.

US Pat. No. 9,671,851

OPTIMIZING MOBILE NETWORK TRAFFIC COORDINATION ACROSS MULTIPLE APPLICATIONS RUNNING ON A MOBILE DEVICE

Seven Networks, LLC, Mar...

9. A method comprising:
entering a power save mode on a mobile device based on received user input to enter the power save mode, wherein, when the
mobile device is in the power save mode;

blocking outgoing network traffic related to a first application, wherein the first application is executing in a background
of the mobile device; and

receiving a message directed towards the first application, wherein the message is received from an intermediary server that
provides connectivity between an application server for the first application and the mobile device, wherein the first application
is allowed to access the network after receipt of the message; and

exiting the power save mode based on a power status of the mobile device, wherein, when the mobile device has exited the power
save mode:

adjusting behavior of the mobile device by reducing frequency of outgoing network traffic related to the first application
while allowing access of local data for the first application and transmitting data for a second application at a time when
the second application requests transmission, wherein the second application is operating in a foreground of the mobile device,

wherein reducing frequency is based on a frequency that the first application is accessed by a user and a time when the first
application was last accessed.

US Pat. No. 9,491,703

DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method for network communication between a mobile terminal and a remote entity in a network, the method comprising:
establishing a first connection over a network between a mobile terminal and a remote entity;
sending, from the mobile terminal, keep-alive messages at varying intervals via the first connection in response to inactivity
in the first connection;

wherein the first connection is disconnected after a first period of inactivity;
establishing a second connection over the network between the mobile terminal and the remote entity;
sending, from the mobile terminal, keep-alive messages at varying intervals via the second connection in response to inactivity
in the second connection;

wherein the second connection is disconnected after a second period of inactivity;
sending, from the mobile terminal, keep-alive messages at a safe interval via a subsequent connection over the network in
response to inactivity in the subsequent connection, wherein the safe interval is based on the first disconnection and the
second disconnection.

US Pat. No. 10,143,031

DETECTION AND REPORTING OF KEEPALIVE MESSAGES FOR OPTIMIZATION OF KEEPALIVE TRAFFIC IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of detecting keepalives being used by a mobile application on a mobile device, comprising:monitoring a plurality of data transfers over a network to and from the mobile application;
analyzing one or more characteristics of a data transfer to identify a pattern indicating that the data transfer may include a keepalive,
wherein the characteristics of the data transfer include the amount of time elapsed between the data transfer and a previous data transfer, and the pattern is identified based on a variance in the amount of time elapsed between the data transfer and previous data transfers being less than a threshold;
detecting a keepalive based on the identified pattern;
maintaining a record of the detected keepalives;
reporting the detected keepalives to a server; and
performing keepalive optimization based on the detected keepalives.

US Pat. No. 9,912,671

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A server device for authenticating access to one or more data stores, comprising:
a server communication interface;
a processor communicatively coupled to the server communication interface; and
a memory communicatively coupled to the processor, the memory containing instructions executable by the processor whereby
the server device is operable to:

receive a first notification message of an update in data at one or more data stores, wherein the first notification message
comprises an indication of a presence of new data and does not include all information associated with the new data

determine whether an Internet Protocol connection exists between a mobile device and the server device;
if an Internet Protocol connection exists, generate a second notification message for the mobile device to inform the mobile
device of the update in data at the one or more data stores; and

if no Internet Protocol connection exists, cause an Internet Protocol connection manager on the mobile device to open an Internet
Protocol connection to the server device to allow a synchronization operation.

US Pat. No. 9,820,330

OPTIMIZING KEEPALIVE AND OTHER BACKGROUND TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, Mar...

1. A method comprising:
gathering keepalive messages between a mobile device and a remote entity for a training period, wherein the keepalive messages
are defined by at least one of a plurality of keepalive predictor data;

storing the keepalive messages in a local database storage;
applying a predetermined first set of rules to separate the keepalive messages into a group of safe keepalive messages and
a group of unsafe keepalive messages;

creating a second set of rules for identifying safe keepalive messages by:
creating subrules based on each of the plurality of keepalive predictor data;
applying each of the subrules to the keepalive messages to identify and remove safe keepalive messages from the keepalive
messages until no more safe keepalive messages can be identified;

creating a list of the subrules that were applied;
intercepting a current keepalive message between a mobile device and a remote entity;
determining whether the current keepalive message is a safe keepalive message by applying the second set of rules to the current
keepalive message; and

in response to a determination that the current keepalive message is a safe keepalive message, blocking the current keepalive
message from reaching the remote entity.

US Pat. No. 9,801,135

METHOD FOR POWER SAVING IN MOBILE DEVICES BY OPTIMIZING WAKELOCKS

Seven Networks, LLC, Mar...

1. A method comprising:
detecting a wakelock acquisition request on a mobile device;
determining whether to acquire a wakelock in response to the wakelock acquisition request, wherein a wakelock optimizer identifies
patterns and periodicity in one or more wakelocks and performs one or more queries to determine patterns of the one or more
wakelocks;

determining whether the wakelock matches a pattern known to be caused by a targeted wakelock, wherein a targeted wakelock
is a wakelock that is considered unnecessary or potentially unnecessary based on pre-determined criteria; and

identifying and removing an unnecessary wakelock that is indifferent to an end user experience.

US Pat. No. 9,712,986

MOBILE DEVICE CONFIGURED FOR COMMUNICATING WITH ANOTHER MOBILE DEVICE ASSOCIATED WITH AN ASSOCIATED USER

Seven Networks, LLC, Mar...

1. A first device configured for communicating with a second device associated with a same user, the first device comprising:
a memory;
a processor configured for:
authenticating the first device of a user;
accessing content in response to a selection at an application at the first device;
transmitting a representation of the accessed content to an application at a second device associated with the user, wherein
the second device is authenticated over a mobile network,

wherein the content is transmitted to the second device in response to a selection at the second device, wherein the selection
identifies accessed content at the first device to be transmitted,

wherein, subsequent to the second device authenticating over the mobile network, the second device is authenticated with the
first device before the content is transmitted,

wherein the application at the first device and the application at the second device are branded by a same entity,
wherein the same entity is other than a provider that operates the mobile network.

US Pat. No. 9,712,476

SECURE END-TO-END TRANSPORT THROUGH INTERMEDIARY NODES

Seven Networks, LLC, Mar...

1. A method comprising:
encrypting, at a first computer, first data of a first data path in a transaction using a first security association, wherein
the first data path is through an intermediary server that provides connectivity between the first computer and a second computer,
and wherein the first security association is not known to the intermediary server;

wherein the transaction comprises a transaction message that includes control data and payload data;
transmitting the control data to the intermediary server, wherein the control data includes a token associated with the intermediary
server and the token provides transaction routing information;

encrypting second data of a second data path using a second security association, wherein the second data path is distinct
from the intermediary server; and

transmitting the payload data through the second data path.

US Pat. No. 9,553,816

OPTIMIZING MOBILE NETWORK TRAFFIC COORDINATION ACROSS MULTIPLE APPLICATIONS RUNNING ON A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A method of optimizing traffic on a mobile device, comprising:
determining a time a first application on a mobile device was last accessed;
determining whether the first application is inactive based on the time the first application was last accessed;
wherein, when the first application is determined to be inactive:
adjusting behavior of the mobile device for traffic from the first application by blocking outgoing network traffic from the
first application for a first period of time and allowing outgoing network traffic from the first application after the first
period of time for a second period of time while allowing outgoing network traffic for a second application;

receiving a message directed towards the first application during the first period of time, wherein the message is received
from an intermediary server that provides connectivity between an application server for the first application and the mobile
device;

allowing outgoing network traffic from the first application when the mobile device is plugged into an external power source;
and

wherein a frequency of communications directed towards the first application is altered by the adjusting behavior of the mobile
device for traffic from the first application.

US Pat. No. 10,136,441

SYSTEMS AND METHODS OF BUFFERING APPLICATION DATA OPERABLE AT A DELIVERY CONTROL SERVER

Seven Networks, LLC, Mar...

1. A method of buffering application data operable at a delivery control server, comprising:receiving information, from a mobile device, that identifies applications used by the mobile device;
receiving a request, from the mobile device, to buffer application data for the identified applications, wherein buffering application data conserves signaling bandwidth;
receiving, from one or more application servers, an application data transmission for at least one of the identified applications used by the mobile device;
storing the application data in a buffer as a result of receiving the request;
receiving an activity notification from the mobile device indicating an opportunity to transmit the application data to the mobile device; and
transmitting the application data from the buffer to the mobile device in response to receiving the activity notification.

US Pat. No. 10,098,036

SYSTEM AND METHOD FOR GENERATING A REPORT TO A NETWORK OPERATOR BY DISTRIBUTING AGGREGATION OF DATA

Seven Networks, LLC, Mar...

1. A method comprising:capturing, on a mobile device, metadata related to activities on the mobile device, wherein the metadata indicates a type of activities of an application on the mobile device;
storing, on a local cache of the mobile device, the captured metadata;
intercepting, at the mobile device subsequently to storing the captured metadata, a data request initiated on the mobile device by the application;
transferring, by the mobile device, the stored captured metadata and the data request to a remote entity, wherein the captured metadata includes request timing history;
intercepting, at the mobile device, additional data requests initiated on the mobile device by the application or other applications;
satisfying at least some of the additional data requests using content stored on the local cache; and
capturing data requests on the mobile device, and delaying transfer of the data requests.

US Pat. No. 10,039,029

PREDICTIVE FETCHING OF MOBILE APPLICATION TRAFFIC

Seven Networks, LLC, Mar...

1. A mobile device having an established multiplexed connection for optimizing communications, the mobile device comprising:a memory; and
a processor configured for:
receiving a selection from a user whether to enable an application for fetching;
communicating over the established multiplexed connection;
predicting an activity session based on application access history, wherein the application access history includes historical application usage;
fetching data for the application before the activity session to support the predicted activity session before beginning the activity session, wherein the application is operating in a background of the mobile device, wherein the data is fetched if the fetching is enabled by the user selection for the application, wherein at least some of the fetched data is for background requests made by the application on the mobile device;
wherein a second connection is established that is other than the established multiplexed connection with the mobile device,
wherein fetching data occurs over the second connection; and
disconnecting from the second connection.

US Pat. No. 9,973,965

TRANSPORT PROTOCOL LAYER OPTIMIZATION FOR MANAGING SIGNALING AND POWER CONSUMPTION

Seven Networks, LLC, Mar...

1. A mobile device, comprising:a memory; and
a processor, the mobile device configured to:
detect a request from a mobile application on the mobile device to close a network connection over a mobile network with an application server;
detect that the mobile network is unreliable and a connection to the application server cannot be established through another network, wherein the mobile network is unreliable when the mobile network is one of congested, inoperative, or non-responsive; and
cause the network stack to utilize a second mechanism instead of a first mechanism in closing the network connection when the mobile network is unreliable so as to prevent additional signaling in the mobile network,
wherein a source of the additional signaling includes at least one of the network stack or a change in a radio state of the mobile device from an idle state to a connected state,
wherein the network stack is a Transport Control Protocol (TCP) stack and wherein the second mechanism closes the network connection using a TCP RST and the first mechanism is configured to close a network connection using a TCP FIN,
wherein closing the network connection using the TCP RST avoids the need for the application server to send an acknowledgement and prevents the network stack from retrying to close the network connection if a prior attempt failed.

US Pat. No. 9,912,599

INTELLIGENT CUSTOMER SERVICE/CALL CENTER SERVICES ENHANCED USING REAL-TIME AND HISTORICAL MOBILE APPLICATION AND TRAFFIC-RELATED STATISTICS COLLECTED BY A DISTRIBUTED CACHING SYSTEM IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of providing information from a server to a mobile device service provider, the method comprising:
collecting, at the server, data in conjunction with management and optimization of traffic over one or more mobile networks
to or from a plurality of mobile devices, wherein the management and optimization of traffic to or from each mobile device
is performed by a service provider and a client-side proxy on each of the mobile devices and is based upon analysis of at
least one of: mobile device application behavior, mobile device user behavior, and mobile network conditions;

detecting, at the server, a customer service request sent to the service provider from a respective mobile device;
identifying a nature of the customer service request from the detected customer service request based on the collected data;
transmitting at least some of the collected data pertaining to use of the plurality of mobile devices to the service provider,
wherein the transmitted collected data is used by the service provider when responding to the customer service request;

receiving a first request for information from the service provider for monitoring a given mobile network, wherein the at
least some of the collected data is responsive to the first request; and

aggregating from the plurality of mobile devices further data pertaining to use of the plurality of mobile devices,
wherein the aggregated data comprises battery consumption data for the plurality of mobile devices.

US Pat. No. 9,830,191

TEMPORARY OR PARTIAL OFFLOADING OF MOBILE APPLICATION FUNCTIONS TO A CLOUD-BASED ENVIRONMENT

Seven Networks, LLC, Mar...

1. A method of offloading operations of a mobile application, comprising:
establishing an application copy of a mobile application installed on a mobile device at a remote virtual machine;
suspending the mobile application on the mobile device; and
tracking resource consumption by a plurality of mobile applications on the mobile device;
selecting the mobile application for offloading based on the resource consumption that is tracked;
determining a period of time during which the operations of the mobile application are offloaded to the application copy at
the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and
client-side contextual data, wherein the client-side contextual data includes user activity patterns,

wherein the selected mobile application is offloaded during a time period in which no user activity is detected; and
offloading operations of the mobile application to the application copy at the remote virtual machine for the period of time.

US Pat. No. 9,819,552

MODELING NETWORK SIGNALING IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of allocating signaling in a mobile network, the method comprising:
accessing a radio log associated with a mobile device operating in the mobile network, the radio log indicating states of
a mobile device radio;

accessing a traffic activity log associated with the mobile device, the traffic activity log indicating various traffic metrics
measured at multiple measurement points in the mobile device;

modeling an optimization technique that includes filtering, based on the states of the mobile device radio accessed from the
radio log and the various traffic metrics accessed from the traffic activity log, to determine whether transactions initiated
by mobile applications executing on the mobile device in the mobile network cause network signaling requiring a corresponding
radio connection to be established; and

filtering, by a traffic optimization engine, the network signaling such that at least a first portion of the network signaling
is filtered and at least a second portion of the network signaling is unfiltered, wherein the filtered network signaling does
not cause a corresponding radio connection and the unfiltered network signaling does cause corresponding radio connection
on the mobile device;

wherein filtering the network signaling includes reducing a number of requests that are satisfied over the mobile network
by: accumulating low priority data and sending the low priority data in batches, compressing and/or transcoding the network
signaling, and reducing a number of times and/or amount of time that the mobile device radio is powered on.

US Pat. No. 9,716,663

OFFLOADING APPLICATION TRAFFIC TO A SHARED COMMUNICATION CHANNEL FOR SIGNAL OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC UTILIZING PROPRIETARY AND NON-PROPRIETARY PROTOCOLS

Seven Networks, LLC, Mar...

1. A method of reducing network traffic comprising:
blocking a first channel to reduce network signaling and battery consumption, wherein the first channel is a channel specific
to a first application executing on a mobile device;

wherein traffic for the first application is offloaded onto a second channel, wherein the second channel includes a common
channel over which a second application executing on the mobile device also communicates over;

monitoring the application traffic for the first application over the second channel;
unblocking the first channel based on the monitored application traffic so that the first application can perform an action,
wherein the monitored application traffic is receipt of a message directed to the first application over the second channel;
and

re-blocking the first channel after a predetermined period of time.

US Pat. No. 9,648,557

SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR USER EQUIPMENT DECISION-MAKING CRITERIA FOR CONNECTIVITY AND HANDOVER

Seven Networks, LLC, Mar...

1. A method of operating a mobile device comprising:
connecting to a WIFI network and a cellular network;
displaying an indication of availability of the WIFI network and the cellular network;
accessing data through the WIFI network in response to an application request from an application executing on the mobile
device;

detecting a first condition indicative of a quality of the WIFI network;
detecting, in response to a subsequent application request and before or at a time of receiving a response to the subsequent
application request, a second condition indicative of a time responsiveness of the WIFI network;

evaluating user settings, wherein the user settings include a roaming rule, a connectivity rule, and an application profile
of the application;

in response to detecting the first condition and the second condition and evaluating the user settings, determining a time
responsiveness of the cellular network; and

based on the detected first condition and detected second condition, the evaluated user settings, the time responsiveness
of the cellular network, and the application executing on the mobile device, sending the subsequent application request through
the cellular network in response to the application request executing on the mobile device, wherein requests from another
application executing on the mobile device continue to access data through the WIFI network.

US Pat. No. 10,021,590

MOBILE DEVICE EQUIPPED WITH MOBILE NETWORK CONGESTION RECOGNITION TO MAKE INTELLIGENT DECISIONS REGARDING CONNECTING TO AN OPERATOR NETWORK FOR OPTIMIZED USER EXPERIENCE

Seven Networks, LLC, Mar...

1. A method comprising:at a mobile device:
determining a packet call quality (PCQ) associated with transmission of packets between the mobile device and a mobile communications network, the PCQ including a numerical indication of call quality,
wherein the PCQ is based, in part, on a maximum, a minimum, or an average amount of time a user has waited to get packet access while the mobile device's screen is in an active state;
determining a measure of congestion based on the PCQ that indicates a total delay experienced by a user of the mobile device during the transmission of packets; and
applying a blocking policy to block outgoing packets from being transmitted from the mobile device when the measure of congestion is above a threshold.

US Pat. No. 9,965,143

3D MOBILE USER INTERFACE WITH CONFIGURABLE WORKSPACE MANAGEMENT

Seven Networks, LLC, Mar...

1. A mobile terminal comprising:a display unit configured to display a three-dimensional image comprising a first interface at a first depth selectable to access one or more of at least a plurality of objects, and a second interface at a second depth selectable to access one or more of at least a plurality of objects;
a memory unit configured to store property information for a plurality of applications, wherein each of the plurality of applications corresponds to one object of the plurality of objects of the first or second interface; and
a controller configured to:
detect a selection of the plurality of objects,
execute the plurality of applications corresponding to the selected plurality of objects,
generate priority information to determine priority levels for the executed plurality of applications based on the property information, and
control the display unit to arrange a display of the executed plurality of applications on the three-dimensional image based on position information mapped to the generated priority information;
wherein one of the first and second interfaces is partially shielded from view by the other according to the first depth and second depth; and
wherein at least one of the first depth and the second depth is automatically changed based on a location of the mobile terminal.

US Pat. No. 9,961,584

MOBILE DEVICE EQUIPPED WITH MOBILE NETWORK CONGESTION RECOGNITION TO MAKE INTELLIGENT DECISIONS REGARDING CONNECTING TO AN OPERATOR NETWORK

Seven Networks, LLC, Mar...

1. A system comprising a mobile client implemented on a mobile device for reducing signaling overload on a mobile network, the mobile client comprising:one or more processors;
one or more memories including program instructions, when executed are configured for:
detecting an increase in setup times for connection requests in a mobile network from a baseline based on a first timestamp and a second timestamp;
recognizing congestion at a mobile base station in the mobile network based at least in part on the increase in setup times, wherein, the congestion is recognized by the mobile client before a rejection to a connection request is received from the mobile base station; and
applying a blocking policy to selectively block traffic from the mobile device from reaching the mobile network in response to recognizing and confirming that the mobile network is congested, wherein confirming that the mobile network is congested comprises:
determining a signal strength range from at least one of a cell identifier and a location area code;
comparing a received signal strength to the signal strength range; and
determining the increase in setup times is not due to a low signal strength, wherein the mobile client uses the first timestamp and the second timestamp to determine a time elapsed to establish a connection with the mobile base station in the mobile network.

US Pat. No. 9,832,095

OPERATION MODES FOR MOBILE TRAFFIC OPTIMIZATION AND CONCURRENT MANAGEMENT OF OPTIMIZED AND NON-OPTIMIZED TRAFFIC

Seven Networks, LLC, Mar...

1. A method of routing requests from mobile device applications running on a mobile device, the method comprising:
monitoring, by a client-side proxy on the mobile device, communications between the client-side proxy and a server, wherein
the server is remote from the client-side proxy and operates in conjunction with the client-side proxy to optimize traffic
in a wireless network to satisfy data needs of one or more mobile device applications;

upon determining, by the client-side proxy, a problem communicating with the server, routing requests from the one or more
mobile device applications directly to a service provider, wherein the routed traffic bypasses the client-side proxy;

upon determining, by the client-side proxy, that communications with the server have resumed normal operation, re-routing
requests from the mobile device applications to the client-side proxy for analysis of requests from the mobile device applications,
wherein the analysis comprises identifying recurrent patterns in the requests, wherein traffic related to requests having
identified recurrent patterns is optimizable, and traffic related to requests not having an identifiable pattern is not optimizable;

upon identifying recurrent patterns in the requests from the mobile device applications, optimizing network traffic related
to the requests, wherein optimizing network traffic comprises caching at the mobile device a request and a corresponding first
response, requesting that the server poll the service provider on behalf of the mobile device application originating the
request with the identified recurrent patterns, providing the cached first response to the mobile device application on at
least a subsequent recurrent request; and

upon receiving a new response to the cached request, invalidating at the mobile device the cached first response and caching
at the mobile device the new response.

US Pat. No. 9,800,511

OPTIMIZING TRAFFIC BY CONTROLLING KEEP-ALIVES

Seven Networks, LLC, Mar...

1. A method comprising:
at a mobile device:
intercepting a keepalive message sent from an application executing on the mobile device to a remote entity as part of a transaction;
determining whether to delay the keepalive message by sending the keepalive message to a delay pool buffer;
determining whether to flush the keepalive message delay pool buffer;
setting a timer to a predetermined time, wherein the timer is associated with a keepalive message delay pool buffer, and
determining whether a radio on the mobile device is up;
wherein determining whether to delay the keepalive message includes:
determining whether the timer has fired;
in response to a determination that the radio is not up and a determination that the timer has not fired, sending the keepalive
message to the keepalive message delay pool buffer; and

setting the timer to a maximum time allowed without harming communications between the mobile device and the remote entity,
wherein determining whether to flush the keepalive delay pool buffer includes, in response to a determination that the radio
is up, flushing the keepalive delay pool buffer.

US Pat. No. 9,736,681

SYSTEM FOR PROVIDING POLICY BASED CONTENT SERVICE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A policy-based content delivery system comprising:
a mobile device selecting and receiving video content directly from a content source; and
the content source providing video content selected by the mobile device directly to the mobile device, the content source
further reformatting content selected by the mobile device prior to providing the selected content to the mobile device;

wherein the content source provides a list of detected content to the mobile device for selection, the content source further
provides the content in accordance with a service provider policy,

wherein video content selected and received by the mobile device bypasses and is not sent through a policy-based content server,
and

wherein the service provider policy is based on a bandwidth allocation and a screen size of the mobile device, and the video
content is automatically reformatted by transcoding to a larger resolution than a resolution for the screen size in order
to allow the video content to be zoomed at the mobile device and satisfy the bandwidth allocation.

US Pat. No. 9,769,176

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A server for providing access to one or more data stores, comprising:
a memory and a processor, the server communicatively coupled to a network and the one or more data stores, wherein the server
is configured to:

send a first identifier for a client device upon the client device communicating with the server for the client device to
present the first identifier in a subsequent connection with the server;

receive registration information for a data store from the client device, wherein a second identifier is generated and associated
with the data store and the registration information, wherein the second identifier is send to the client device;

receive, via the subsequent connection with the client device, a request for the client device to receive information from
the data store, wherein the subsequent connection includes the first identifier;

configure a service to receive data from the data store on behalf of the client device, wherein the service is based on the
second identifier;

receive a first message indicative of new information at the data store;
transmit a second message to the client device in response to receipt of the first message;
wherein additional information associated with the first message is sent from the data store to the client device upon receipt
of the second message by the client device.

US Pat. No. 9,756,677

DETECTION AND REPORTING OF KEEPALIVE MESSAGES FOR OPTIMIZATION OF KEEPALIVE TRAFFIC IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of detecting keepalives from stream data on a mobile device, comprising:
detecting a message including stream data for a socket;
based on information in the message, determining whether to create or update a connection object, the connection object associated
with a data structure including an identifier for the connection object and time the socket was created;

evaluating the connection object to determine whether a keepalive is detected, the data structure further including a flag
for indicating whether the keepalive was detected.

US Pat. No. 10,142,863

OPTIMIZATION OF MOBILE TRAFFIC DIRECTED TO PRIVATE NETWORKS AND OPERATOR CONFIGURABILITY THEREOF

Seven Networks, LLC, Mar...

1. A method of optimizing mobile traffic on a mobile device connected to a server and subscribed to an operator of a public Internet Protocol (IP) network comprising:hosting a first mobile application and a second mobile application;
receiving a network policy originating from within a private IP network, wherein the private IP network is owned by an operator of the public IP network and policy enforcement related to the network policy is performed to conserve battery of the mobile device;
identifying the public IP network and the private IP network accessed by mobile traffic at the mobile device;
detecting outgoing traffic from one of the first or second mobile application executing on the mobile device;
assigning a priority level to the outgoing traffic, wherein the priority level is based on an application status, and wherein the priority level is one of a first priority corresponding to the first mobile application and a second priority corresponding to the second mobile application;
sending first priority outgoing traffic to an application server bypassing a distributed proxy system, including at least a client side proxy component on the mobile device and a server side proxy on a host server;
intercepting second priority outgoing traffic at a client side proxy of the distributed proxy system;
determining whether a network destination of the second priority outgoing traffic is within (i) the public IP network or (ii) the private IP network;
performing optimization based on the network policy of the second priority outgoing traffic to conserve battery and radio usage when (i) or (ii) is affirmative and sending the optimized outgoing traffic to the network destination; and sending the second priority outgoing traffic to the application server without optimization at the client side proxy when neither (i) nor (ii) is affirmative.

US Pat. No. 10,097,477

BLOCKING/UNBLOCKING ALGORITHMS FOR SIGNALING OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC UTILIZING PROPRIETARY AND NON-PROPRIETARY PROTOCOLS

Seven Networks, LLC, Mar...

1. A method of optimizing signaling, comprising:entering a first signaling optimization mode upon determining that a first application on a mobile device is inactive, the determination that the first application is inactive being based on usage history of the first application and further based on an expiration of a timer that begins after the first application is moved to the background,
wherein, while in the first signaling optimization mode, the method further comprises:
blocking outgoing network traffic originating from the inactive first application;
allowing receipt by the inactive first application of a first push message directed to the inactive first application;
allowing, for a first period of time, outgoing network traffic originating from the inactive first application while a screen state of the mobile device is idle; and
exiting the first signaling optimization mode when the first application is moved to the foreground; and
entering a second signaling optimization upon determining that the mobile device is inactive, the determination that the mobile device is inactive being based on user activity and further based on the screen state of the mobile device being idle,
wherein, while in the second signaling optimization mode, the method further comprises:
blocking outgoing network traffic for one or more applications; and
exiting the second signaling optimization mode when user activity is detected.

US Pat. No. 9,942,341

APPLICATION AND/OR SERVER STABILITY IN SIGNALING OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC UTILIZING PROPRIETARY AND NON-PROPRIETARY PROTOCOLS

Seven Networks, LLC, Mar...

1. A method for signaling optimization in a wireless network utilizing proprietary and non-proprietary protocols, the method comprising:establishing a first connection between a client application on a mobile device and a local proxy on the mobile device, wherein the first connection comprises a first Transmission Control Protocol (TCP) session;
establishing a second connection between the local proxy and a proxy server not located on the mobile device, wherein the second connection comprises a second TCP session;
establishing a third connection between the proxy server and a server in a wireless network, wherein the third connection comprises a third TCP session;
communicating a byte stream between the client application and the server via the first, second, and third TCP sessions;
identifying a pattern of communication within the byte stream using the local proxy wherein the local proxy is unaware of an underlying protocol;
in response to identifying the pattern of communication within the byte stream, tearing down the second TCP session; and
replaying the pattern of communication to the client application on behalf of the server using the local proxy.

US Pat. No. 9,928,307

PREDICTIVE CONTENT DELIVERY

Seven Networks, LLC, Mar...

1. A method comprising:receiving first information identifying a first user logged in at a mobile device;
receiving, from the mobile device, a first search query generated by the first user at the mobile device;
transmitting a first set of results to the mobile device in response to the first search query;
associating the first set of results with a first profile associated with the first user;
receiving second information identifying the mobile device in use by an unidentified user without identifying the first user logged in at the mobile device;
receiving, from the mobile device, a second search query generated by the unidentified user at the mobile device;
transmitting a second set of results to the mobile device in response to the second search query;
associating the second set of results with a second profile associated with the mobile device in use without the first user logged in;
determining a first predicted content for the mobile device based on the first profile;
determining a second predicted content for the mobile device based on the second profile;
transmitting at least a portion of the first predicted content to the mobile device for display before receiving a subsequent search request; and
transmitting at least a portion of the second predicted content to the mobile device for display before receiving the subsequent search request,
wherein the first predicted content is different from the second predicted content,
wherein the first predicted content is reformatted in response to a user selection at the mobile device.

US Pat. No. 9,930,478

LOCATION-BASED OPERATIONS AND MESSAGING

Seven Networks, LLC, Mar...

1. A mobile device comprising:a radio;
a memory; and
a processor configured to receive information concerning a physical location of another mobile device and automatically provide a user of the mobile device a prioritized plurality of communication medium options for communication with a user of the another mobile device based on the physical location of the another mobile device,
wherein:
a contacts database is provided for the mobile device such that the prioritized plurality of communication medium options are determined with the user of the another mobile device based on the contacts database and the physical location of the another mobile device;
wherein a communication medium determines a type of message to use for communication to the user of the another mobile device based on the physical location of the another mobile device indicated by the received information identifying the physical location and an association between the communication medium and the physical location, wherein the association is stored at the mobile device;
the mobile device is configured to receive an indication of availability of the user of the another mobile device; and
wherein the prioritized plurality of communication medium options are determined from a selection of at least two of a home telephone medium, a mobile telephone medium, an audio/visual medium, a short messaging service (SMS) medium, an instant messaging (IM) medium, and an electronic mail (e-mail) medium.

US Pat. No. 9,838,905

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device which improves network resource utilization in a wireless network, the mobile device, comprising:
a radio;
user interface;
a memory unit having instructions stored thereon;
a processor configured to:
enter a first power management mode, wherein to enter the first power management mode is based on input from a user;
while in the first power management mode, block transmission of outgoing application data requests for at least one application
executing in a background of the mobile device and allow transmission of outgoing application data requests for at least one
application executing in a foreground of the mobile device;

enter a second power management mode, wherein entry into the second power management mode is based on a detected activity
status, wherein the detected activity status is based on an idle status of a screen of the mobile device;

while in the second power management mode, block transmission of outgoing application data requests for at least one application
executing in a background of the mobile device for a predetermined period of time.

US Pat. No. 9,800,600

DEVICE ACTIVITY AND DATA TRAFFIC SIGNATURE-BASED DETECTION OF MOBILE DEVICE HEALTH

Seven Networks, LLC, Mar...

1. A method of providing malware protection on a mobile device, the method comprising:
creating a traffic signature by monitoring data traffic associated with the mobile device;
creating a behavior signature by monitoring behavior information based on non-traffic data associated with the mobile device;
creating a device activity signature that includes the traffic signature and the behavior signature;
determining a classification of the device activity signature; and
applying a policy decision for the mobile device based on the determined classification, wherein the policy decision includes
blocking activity associated with an application.

US Pat. No. 9,769,702

MOBILE DEVICE CONFIGURED FOR OPERATING IN A POWER SAVE MODE AND A TRAFFIC OPTIMIZATION MODE AND RELATED METHOD

Seven Networks, LLC, Mar...

1. A method comprising:
at a mobile device configured for operating in a power save mode and a traffic optimization mode:
receiving a selection from a user at the mobile device whether to enter the traffic optimization mode, wherein, in response
to entering the traffic optimization mode, traffic optimization functions reducing traffic in a wireless network are performed
by a server in communication with the wireless network;

determining optimization efficiency for traffic in the wireless network;
tracking user-related information in the wireless network;
generating, based on at least one of the optimization efficiency and the user-related information, a first report, wherein
the first report is generated based on information provided in response to the mobile device operating in the wireless network
while in the traffic optimization mode;

wherein the mobile device is configured for entering the power save mode based on inactivity of the mobile device;
wherein a battery consumption of the mobile device is adjusted based on entry into the power save mode and further through
the traffic optimization functions after entry into the traffic optimization mode,

wherein a second report related to battery consumption is generated.

US Pat. No. 10,182,466

OPTIMIZING KEEPALIVE AND OTHER BACKGROUND TRAFFIC IN A WIRELESS NETWORK

Seven Networks, LLC, Mar...

1. A method of optimizing network transactions originating at a mobile device, comprising:identifying a keepalive period of a mobile application executing on a mobile device, wherein the mobile application is connected to a server;
determine a pull-in period by:
tracking traffic patterns of the mobile device;
using the traffic patterns of the mobile device to determine a first probability and a second probability,
wherein the first probability is the probability of the mobile application consuming resources, and
wherein the second probability is the probability of the radio of the mobile device turning on; and
calculating the pull-in period based on the first probability and the second probability, wherein the pull-in period is a value selected to minimize the mobile application's consumption of resources and the number of instances where the radio of the mobile device needs to be turned on;
wherein the pull-in period has a shorter duration than the keepalive period;
when the mobile application has been idle for longer than the pull-in period, detecting whether a radio of the mobile device turns on;
in response to detecting the radio of the mobile device turn on, triggering a new keepalive to the server before the end of the keepalive period.

US Pat. No. 10,089,376

DATABASE SYNCHRONIZATION VIA A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. Within a system comprising an Internet Protocol (IP) network coupled between a first computer and a second computer, a method comprising:establishing and maintaining a data path over the IP network between the first computer and the second computer using a tunnelling protocol;
maintaining a first database on the first computer, the first database having an existing data item;
maintaining a second database on the second computer, the second database having a corresponding data item that has been previously synchronized with the existing data item;
detecting a change in the existing data item by the first computer; and
transmitting a notification message from the first computer to the second computer over the data path, the notification message comprising:
an indication the existing data item has changed; and
the change in the existing data item;
and
updating the corresponding data item, wherein detecting the change, verifying the data path, and transmitting the notification message are executed in near real-time.

US Pat. No. 10,051,514

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device which improves network resource utilization in a wireless network, the mobile device comprising:a radio;
user interface;
a memory having instructions stored thereon;
a processor configured to:
enter a first power management mode, wherein entry into the first power management mode is based on an input from a user, wherein the input includes instructions to enter the first power management mode, wherein the input is provided at the user interface,
wherein, while in the first power management mode, block transmission of outgoing application data requests for at least a first application executing in a background of the mobile device and allow transmission of outgoing application data requests for at least a second application executing in a foreground of the mobile device;
enter a second power management mode, wherein entry into the second power management mode is based on a detected activity status, and wherein the detected activity status is based on a time that a screen of the mobile device has been idle exceeding a time;
while in the second power management mode, block transmission of outgoing application data requests for at least a third application for a predetermined period of time,
wherein the blocked outgoing application data requests are generated by the at least a third application, and
wherein the blocking transmission of outgoing application data requests for the at least a third application is based on user selected application settings,
wherein outgoing application data requests for at least a fourth application are allowed during the predetermined period of time based on the user selected application settings,
wherein the application settings are enabled and disabled on an application-by-application basis,
wherein the mobile device is able to receive a message directed to the at least a third application from a remote server during the predetermined period of time,
wherein the remote server is an intermediary server that provides connectivity with application servers, and the message contains data from one of the application servers, and
wherein the at least a third application can access local data during the predetermined period of time,
wherein, during at least the predetermined period of time, the mobile device maintains a connection with the remote server for the receipt of the message by sending a keep alive message to the remote server,
exit the first power management mode when the mobile device is plugged into an external power source; and
exit the second power management mode when the mobile device is plugged into the external power source.

US Pat. No. 10,027,619

MESSAGING CENTRE FOR FORWARDING E-MAIL

Seven Networks, LLC, Mar...

1. A method for forwarding an e-mail message from one of a plurality of e-mail servers to a mobile terminal, the method comprising:receiving, at an intermediary system, an e-mail message associated with an e-mail address of a user of a mobile terminal and sent by one of a plurality of e-mail servers,
wherein the e-mail address is associated with an identifier of the mobile terminal, wherein an email account, associated with the email address, is hosted by one of the plurality of e-mail servers, and
wherein the identifier is generated by the mobile terminal;
encrypting the e-mail message using encryption information associated with a temporary identifier,
wherein the temporary identifier is based on a connection to the mobile terminal; and transmitting the encrypted e-mail message to the mobile terminal;
receiving, at the intermediary system, an automatic control message from the mobile terminal indicating that the user has read the e-mail message; and
in response to receiving the automatic control message, signaling the one of a plurality of e-mail servers to mark the e-mail message as read.

US Pat. No. 10,313,464

TARGETED NOTIFICATION OF CONTENT AVAILABILITY TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A data aggregation server adapted to establish one or more publication links between users of an information service, comprising:a memory operable to host personal information associated with the users of the information service, the personal information including data indicating one or more communities of which a user is a part and further including data indicating one or more publication links that have been established between users; and
a hardware processor operable to:
pull personal information from an electronic device that is communicatively coupled to the data aggregation server,
wherein the pulled personal information includes personal information associated with a first user that was not provided by the first user during a registration process for the information service;
determine one or more community relationships between the first user and one or more other users,
wherein the determination of community relationships is based on a correlation between the personal information of the first user and the personal information of the other users;
select, from a subset of the other users that do not have an established publication link with the first user, a second user to suggest to the first user,
wherein the selection of the second user is based on at least one determined community relationship between the first user and the second user;
seek to establish a publication link between the first user and the second user by providing a suggestion to the first user via a client software application associated with the first user,
wherein the suggestion identifies the second user and the publication link defines an association between the first user and the second user such that the first user is provided access to publication information published by the second user and the second user is provided access to publication information published by the first user; and
after the publication link between the first user and the second user has been established, push publication information published by the second user to the first user via the client software application associated with the first user such that the first user is provided immediate access to the publication information.

US Pat. No. 10,257,203

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A method for authenticating a user to provide a service, the method comprising:storing information associated with a user of a first device on a first server, wherein the stored information includes a phone number associated with a second device of the user and is stored during an event;
wherein additional information is needed to authenticate the first device to provide a service to the first device related to data stored in one or more data stores associated with the service;
querying the user for the additional information to authenticate the first device to provide the service to the first device,
wherein authentication of the first device includes delivering a notification message from a second server to the second device, wherein the notification message is related to querying the user for the additional information, and
wherein the second server delivers one or more notification messages related to the service to the second device after authentication of the first device in response to new data being available at the one or more data stores associated with the service;
sending, based on the stored information and the additional information, one or more communications to provide the service to the first device; and
sending one or more communications to provide the service to the second device,
wherein the one or more communications to provide the service to the second device include communications between the second server and the second device that are exchanged through a first connection that is an Internet Protocol (IP) connection maintained by the second device, and
wherein the one or more communications to provide the service to the second device include synchronization communications with the second device that are exchanged through a second connection to synchronize data with the one or more data stores associated with the service, wherein the synchronization communications are initiated in response to the one or more notification messages.

US Pat. No. 10,135,771

SECURE END-TO-END TRANSPORT THROUGH INTERMEDIARY NODES

Seven Networks, LLC, Mar...

1. A non-transitory computer-readable storage medium storing instructions to be implemented by a first computer having a processor, wherein the instructions, when executed by the processor, cause the first computer to perform steps comprising:receiving a token issued by an intermediary server; and
transmitting a transaction message comprising payload data to the intermediary server, wherein the payload data is transmitted to a second computer by the intermediary server based on the token and the intermediary server is coupled to the second computer over a mobile network.

US Pat. No. 10,084,739

METHOD AND MOBILE DEVICE FOR SENDING EMAILS WITH ATTACHMENTS

Seven Networks, LLC, Mar...

1. A mobile device for accessing content stored on a first server over a mobile network, the mobile device, comprising:memory; and
a processor configured to direct the mobile device to:
receive input relating to composition of an email message;
receive input relating to selection of an option to insert a file within the composed email message;
in response to receiving input relating to selecting the option to insert the file, receive at least a portion of a list of files from a first server for display to the mobile device,
wherein the list identifies at least some files saved on a second device associated with a user account of the mobile device,
wherein the list of files is generated based on information received by the first server from the second device,
wherein the list of files represents less than all of the files stored on the second device,
process a selection to identify a file from the list,
wherein the selected file is associated with the composed email message,
wherein the selected file has a size that exceeds a capability to be uploaded within the email message composed on the mobile device;
associate an identifier with the selected file,
wherein the identifier is inserted into the email message as a hyperlink within the email message,
wherein less than a totality of the email message and selected file is sent through a first connection,
wherein the first connection is a connection that is maintained; and
transmit the composed email message and the identifier associated with the selected file in an email transaction,
wherein a second connection is established and the selected file is sent through the second connection in response to receipt of the less than a totality of the email message and selected file.

US Pat. No. 10,063,486

OFFLOADING APPLICATION TRAFFIC TO A SHARED COMMUNICATION CHANNEL FOR SIGNAL OPTIMIZATION IN A WIRELESS NETWORK FOR TRAFFIC UTILIZING PROPRIETARY AND NON-PROPRIETARY PROTOCOLS

Seven Networks, LLC, Mar...

1. A method of reducing network traffic comprising:detecting user inactivity on a mobile device;
in response to detected inactivity:
blocking a first channel to reduce network signaling in a network and to reduce battery consumption, wherein the first channel is a channel specific to a first application executing on the mobile device;
wherein the first application is configured to receive communications over a second channel that is established over the network,
wherein a second application executing on the mobile device is configured to receive communications over the second channel;
monitoring the application traffic for receipt of a message for the first application over the second channel, wherein the message informs the mobile device that there is new data for receipt at an application server associated with the first application;
unblocking the first channel based on the monitored application traffic so that the first application can perform an action over the first channel; and
re-blocking the first channel after a predetermined period of time;
unblocking the first channel when user activity is detected, wherein the user activity is based on whether the mobile device is being interacted with by a user.

US Pat. No. 10,201,035

DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method of maintaining an IP connection between a mobile terminal and a network node in a network, comprising:sending, by a first mobile terminal to a first network node, keep-alive messages in an absence of network traffic through the IP connection between the first mobile terminal and the first network node in a first network;
monitoring the lengths of several periods of inactivity at which the first mobile network node disconnects the IP connection,
wherein a maximum interval between keep-alive messages is determined based on the several monitored lengths of periods of inactivity such that the maximum interval meets a predetermined criterion of statistical confidence;
storing the maximum determined interval in the first mobile terminal;
providing the maximum determined interval to a second mobile terminal prior to the second mobile terminal connecting to a second network node in a second network,
wherein the second mobile terminal sends keep-alive messages at the maximum determined interval.

US Pat. No. 10,194,398

SERVER HAVING PRIORITIZED NOTIFICATIONS FOR CONSERVING RESOURCES ON A MOBILE DEVICE

Seven Networks, LLC, Mar...

5. A method comprising:receiving, at a server, notifications from content providers, wherein the notifications are indicative of new content at the content providers, and wherein the notifications are one of a first priority or a second priority, wherein the content providers include a first application server and a second application server;
sending a message associated with a notification of the first priority over a first connection to a mobile device in response to receipt of the notification of the first priority from one of the content providers;
receiving a first communication over the first connection from the mobile device that informs the server that the mobile device is in the inactive state, wherein entry into the inactive state is based on an idle status of a screen of the mobile device;
sending a first set of messages associated with notifications of the second priority over the first connection to the mobile device after expiration of a predetermined period of time when the mobile device is in the inactive state, wherein the sending of the first set of messages is delayed until after the expiration of the predetermined period of time;
receiving a second communication from the mobile device over the first connection that informs the server that the mobile device is changing to an active state from the inactive state;
sending a second set of messages associated with notifications of the second priority over the first connection to the mobile device in response to the mobile device changing to the active state from the inactive state;
wherein, in response to receipt of any one of the messages by the mobile device, a second connection is established from the mobile device to one of the content providers to access the new content associated with the any one of the messages,
wherein, in response to receipt of the first set of messages, the mobile device is allowed to execute application data requests associated with the first set of messages during a transmission window of a predetermined length of time, and
wherein the second connection is different than the first connection between the mobile device and the server.

US Pat. No. 10,187,416

DEVICE ACTIVITY AND DATA TRAFFIC SIGNATURE-BASED DETECTION OF MOBILE DEVICE HEALTH

Seven Networks, LLC, Mar...

1. A method of providing malware protection on a mobile device, the method comprising:creating a traffic signature by monitoring data traffic associated with the mobile device;
creating a behavior signature based on non-traffic data associated with the mobile device;
and
blocking activity associated with an application installed on the mobile device based on the traffic signature and the behavior signature.

US Pat. No. 10,178,199

INTELLIGENT ALARM MANIPULATOR AND RESOURCE TRACKER

Seven Networks, LLC, Mar...

11. A mobile device, comprising:a memory; and
a processor, the mobile device configured for:
executing alarms set by multiple applications executing on the mobile device;
altering a behavior of the mobile device based on a detected activity status, wherein the detected activity status is based on a screen status and sensed motion of the mobile device;
wherein the altering behavior includes:
delaying a timing of one or more alarms for the multiple applications,
wherein the timing is delayed such that the one or more delayed alarms execute within a window of time, and
wherein at least a subset of the one or more delayed alarms are associated with one or more wakelocks;
wherein the altering behavior is based on application settings, wherein the application settings enable the altering behavior in response to a user selecting the application for the altering behavior and disable the altering behavior in response to a user deselecting the application for the altering behavior.

US Pat. No. 10,122,607

SYSTEM OF REDUNDANTLY CLUSTERED MACHINES TO PROVIDE FAILOVER MECHANISMS FOR MOBILE TRAFFIC MANAGEMENT AND NETWORK RESOURCE CONSERVATION

Seven Networks, LLC, Mar...

1. A method for providing fault tolerance in mobile traffic management services, the method, comprising:detecting that a first component of a set of multiple redundantly clustered components for providing mobile traffic management services is non-operational, at capacity, or near capacity;
identifying a mobile device serviced by the first component;
retrieving information for the mobile device serviced by the first component, from a repository coupled to each of the multiple redundantly clustered components (“common repository node”);
re-assigning the mobile device originally serviced by the first component to a second component of the set of the multiple redundantly clustered components for servicing;
in response to detecting that the first component is non-operational, at capacity, or near capacity, communicating, via the common repository node, with the second component of the multiple redundantly clustered components to service communication requests of the mobile device such that mobile traffic is optimized using subscription information for the mobile device,
wherein the subscription information includes at least one of user information, user behavior information, device information, and information regarding mobile applications on the mobile device, and
wherein mobile traffic is optimized by performing at least one of batching requests originated from the mobile device, categorizing the mobile traffic based on whether it is foreground or background traffic, prioritizing the mobile traffic based on time criticality, aligning or delaying polling requests from the mobile device, monitoring application behavior on the mobile device, and monitoring user behavior on the device.

US Pat. No. 10,110,534

CONNECTION ARCHITECTURE FOR A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A server that manages transactions between first and second devices, the server comprising:a communication interface;
a processor communicatively coupled to the communication interface; and
a memory communicatively coupled to the processor, the memory containing instructions executable by the processor, whereby the server is operable to:
receive a first connection associated with a first device;
receive a first message from the first device over the first connection;
generate a second message for a second device based on the first message from the first device;
send the second message to the second device;
receive a second connection associated with the second device, wherein the first connection includes a connection that is initiated by the first device, wherein the second connection includes a connection that is initiated by the second device;
receive a third message from the second device, wherein the third message is generated by the second device in response to receipt of the second message, wherein the third message contains a latest version of data stored at the second device and wherein the first message comprises a data query that is transmitted from the first device for the latest version of the data stored at the second device;
generate a fourth message, wherein the fourth message includes data from the third message; and
send the fourth message to the first device over the first connection.

US Pat. No. 10,097,504

ENHANCED CACHING OF DOMAIN NAME SYSTEM (DNS) AND REVERSE DNS QUERIES FOR TRAFFIC MANAGEMENT FOR SIGNALING OPTIMIZATION IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A method for enhanced domain name system (DNS) caching, the method comprising:at a server communicatively coupled between a wireless network and a DNS server:
storing a DNS record in a local cache, wherein the DNS record comprises a hostname, a first IP address, and a first time-to-live (TTL) value;
transmitting a query, associated with the DNS record, to the DNS server;
receiving a response, associated with the query, comprising a second IP address and a second TTL value;
determining the second IP address is different than the first IP address;
determining a third TTL value based on a status of a first mobile device;
updating the DNS record with the second IP address; and
transmitting the second IP address and the third TTL value to the first mobile device on the wireless network, wherein the first mobile device updates a corresponding DNS record with the second IP address and the third TTL value that is greater than the second TTL value.

US Pat. No. 10,299,161

PREDICTIVE FETCHING OF BACKGROUND DATA REQUEST IN RESOURCE CONSERVING MANNER

Seven Networks, LLC, Mar...

1. A mobile device having improved resource management, the mobile device comprising:a memory; and
a processor configured for:
receiving a notification from a remote server directed towards an application indicating new data for receipt by the mobile device, wherein the remote server is an intermediary server that provides connectivity between the mobile device and a first application server and a second application server, wherein the notification is received over an established multiplexed connection;
predicting that a user is likely to access the application based on prior application access history;
wherein the application is in a background of the mobile device,
wherein the user of the mobile device is inactive and a screen status of the mobile device is off;
wherein a second connection is established while the established multiplexed connection remains connected,
wherein the second connection is other than the established multiplexed connection,
wherein data for the application is fetched based on the prediction,
wherein data for the application is fetched over the second connection before the application is accessed,
wherein the fetched data is for background requests made by the application on the mobile device,
wherein the fetched data is delivered to the application; and
disconnecting the second connection.

US Pat. No. 10,292,072

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device configured to optimize connections made by the mobile device in a wireless network, the mobile device comprising:a memory;
a radio; and
a processor, the mobile device configured to:
batch data from a first application and a second application for transmission to a respective first application server and a second application server over the wireless network,
wherein, the batched data from the first application and the second application is batched while a backlight of the mobile device is off in response to inactivity of the mobile device;
allow a first message from a remote server to be received while the batched data from the first application and the second application is batched, wherein the remote server is an intermediary server that provides connectivity between the first application server and the mobile device and provides connectivity between the second application server and the mobile device;
wherein the first message from the remote server is directed to the first application and contains data from the first application server and is associated with the mobile device and the first application;
transmit a second message associated with the first application to the first application server in response to receipt of the first message from the remote server;
transmit the batched data to the respective first application server and the second application server over the wireless network while the backlight of the mobile device remains off;
wherein the batching of data for the first application and the second application can be enabled or disabled by a user of the mobile device on an application-by-application basis.

US Pat. No. 10,291,537

METHODS FOR REDUCING TRAFFIC FOR A MOBILE DEVICE COMMUNICATING OVER MULTIPLE CHANNELS

Seven Networks, LLC, Mar...

2. A server for reducing network traffic comprising:a memory; and
a processor configured to:
block, at a mobile device, a first channel to reduce network signaling in a network and to reduce battery consumption, wherein the first channel includes an application-specific channel;
offload application traffic of an application onto a second channel, wherein the second channel includes a channel shared by multiple applications;
monitor the application traffic of the application over the second channel;
unblock the first channel based on the monitored application traffic so that the application can perform an action;
re-block the first channel after the action has been completed; and
unblock the first channel when user activity is detected, wherein the user activity includes whether the mobile device is being interacted with.

US Pat. No. 10,243,962

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A server, comprising:a memory and a processor, the server communicatively coupled to a network and a plurality of data stores, wherein the server is configured to:
send a first identifier to a client device upon the client device communicating with the server over a connection;
receive registration information from the client device;
send a second identifier to the client device in response to the received registration information;
configure a service to receive data from a first data store on behalf of the client device, wherein the service is based on the second identifier;
receive a communication from the client device to receive data from the plurality of data stores,
wherein the communication includes the first identifier;
receive a first message from the first data store, wherein the first message is indicative of new data at the first data store;
transmit a second message to the client device in response to receipt of the first message and authentication of the client device, wherein the second message is transmitted over a subsequent connection, and wherein the authentication of the client device is based on the first identifier,
wherein the subsequent connection is an IP connection between the client device and the server; and
receive a keep-alive message from the client device for maintenance of the subsequent connection,
wherein additional information associated with the first message is sent from the first data store to the client device upon receipt of the second message by the client device.

US Pat. No. 10,216,549

METHODS AND SYSTEMS FOR PROVIDING APPLICATION PROGRAMMING INTERFACES AND APPLICATION PROGRAMMING INTERFACE EXTENSIONS TO THIRD PARTY APPLICATIONS FOR OPTIMIZING AND MINIMIZING APPLICATION TRAFFIC

SEVEN NETWORKS, LLC, Mar...

1. A method for optimizing and minimizing application traffic in a wireless network, the method comprising:defining an application programming interface (API) for controlling application traffic between an application client residing on a mobile device that operates within a wireless network and an application server not residing on the mobile device; and
using the API to optimize application traffic in the wireless network including controlling, by the mobile device, traffic sent by the application server to the mobile device, wherein using the API to optimize application traffic includes using the API for:
providing a subscriber tiering and reporting service having a premium subscriber tier;
providing delivery notification to a sending entity subscribing to the premium subscriber tier;
sending a plurality of data packets together as a batch within a defined window of time, wherein the defined window of time is determined by a time criticality of the plurality of data packets;
adjusting message priority for entities subscribing to the premium subscriber tier; and
providing special traffic reporting to a reporting server based on a reporting policy received from a policy management server.

US Pat. No. 10,165,466

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device configured for reducing traffic in a wireless network, the mobile device configured to:delay content requests made by multiple mobile applications;
align content requests using observed activity of a user of the mobile device that includes a time since a last key press and mobile device properties;
poll in accordance with the aligned content requests to satisfy content requests of at least some of the multiple mobile applications;
monitor a time that a screen of the mobile device has been idle in response to user inactivity, and, when the time that the screen of the mobile device has been idle exceeds a predetermined time period, locally adjust the mobile device by suppressing the aligned content requests from multiple mobile applications at the mobile device for a first suppression period;
transmit content requests after expiration of the first suppression period,
wherein the first suppression period is predetermined by the mobile device;
suppress subsequent content requests at the mobile device for a second suppression period, wherein the second suppression period occurs after the first suppression period and is longer than the first suppression period when user activity has not been detected during the first suppression period;
maintain a connection for receipt of a message from a remote server during the first suppression period and the second suppression period by sending a keep-alive message,
wherein the remote server is an intermediary server that provides connectivity with application servers and the message contains data from one of the application servers;
receive a message during at least one of the first suppression period and the second suppression period,
wherein receipt of the message allows for network access for satisfying content requests.

US Pat. No. 10,154,432

MOBILE APPLICATION TRAFFIC OPTIMIZATION

Seven Networks, LLC, Mar...

1. A mobile device comprising:a memory; and
a processor configured for:
entering a power save mode based on an idle status of a screen of the mobile device exceeding an amount of time;
while in the power save mode:
suppressing transmission of application data requests during a first time period;
allowing transmission of application data requests after expiration of the first time period;
suppressing transmission of application data requests during a second time period, wherein the second time period occurs after the first time period;
maintaining a connection with a remote server during each of the first time period and the second time period for receipt of a message during either of the first time period and the second time periods;
allowing transmission of an application data request in response to receipt of the message;
exiting the power save mode in response to detected user activity,
wherein the message indicates that new data is available at one of a first application server and a second application server associated with a respective first application and a second application executing on the mobile device,
wherein the remote server provides connectivity between the first application server and the mobile device, and between the second application server and the mobile device,
wherein the suppressing is enabled and disabled for each of the first application and the second application based on a user selection for each of the first application and the second application.

US Pat. No. 10,298,708

TARGETED NOTIFICATION OF CONTENT AVAILABILITY TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A system comprising:a first device associated with a first user in a community of users operable to:
send new content that has been created at the first device to publish to a data aggregation server,
wherein the data aggregation server has a hardware processor operable to:
receive the new content to publish from the first device;
host a first user profile associated with the user of the first device;
host a second user profile associated with a user of a second device;
store relationship data of the first user profile, the relationship data reflecting relationships between the user of the first device and the user of the second device in the community of users, wherein the relationship is established when the user of the first device sends a relationship request to the user of the second device from the first device to the second device and the user of the second device confirms the relationship request on the second device;
authenticate the user of the first device and the user of the second device;
send a message to the second device related to the new content, wherein the message contains less than a totality of the new content and an indication of the new content, and wherein the message is sent if the new content meets qualifications specified by the user of the second device;
disseminate the new content to the second device, wherein the new content is disseminated in response to the user of the second device requesting the new content after receiving the message,
wherein the message is sent through an intermediary server that provides connectivity between the second device and the data aggregation server.

US Pat. No. 10,244,479

METHOD FOR POWER SAVING IN MOBILE DEVICES BY OPTIMIZING WAKELOCKS

Seven Networks, LLC, Mar...

1. A mobile device comprising:a display screen;
a memory, and a processor, the mobile device configured to:
acquire a system wakelock in response to an application wakelock acquisition request;
detect an activity state of the mobile device based on a status of the display screen;
enter a power optimization state based on the detected activity state;
release the system wakelock upon entering the power optimization state when the application that made the acquisition request is not critical to user experience, wherein the criticality is characterized on an application-by-application basis;
acquire, while in the power optimization state, the system wakelock in response to a subsequent wakelock acquisition request from another application on the mobile device, wherein to acquire the system wakelock is based on the characterized criticality.

US Pat. No. 10,348,736

MULTIPLE DATA STORE AUTHENTICATION

Seven Networks, LLC, Mar...

1. A method for provisioning an application for a mobile device, the method comprising:registering a user at a network server in response to receiving a user request for a service,
wherein the service provides access to data stored in a data store associated with the service, and
wherein the user request for the service includes mobile device information and user information from the mobile device, and
wherein the data stored in the data store associated with the service includes an application for the mobile device;
provisioning the service for the mobile device based on the user information and the mobile device information;
generating a token for authentication based on the user request,
wherein the token for authentication comprises a unique string of data;
sending the token for authentication to the mobile device;
receiving, at the network server, an authentication request from the mobile device,
wherein the authentication request includes the token for authentication that was previously sent to the mobile device;
authenticating the mobile device for the service based on the received token for authentication to provide the service to the mobile device;
using the user information and mobile device information to determine at least partial requirements for operating the application on the mobile device; and
providing the service to the mobile device by sending the application to the mobile device over an IP connection after successfully authenticating the mobile device,
wherein the application is sent in response to a selection of the application made at the mobile device, and
wherein the application is configured for the mobile device based on the at least partial requirements for operating the application.

US Pat. No. 10,263,899

ENHANCED CUSTOMER SERVICE FOR MOBILE CARRIERS USING REAL-TIME AND HISTORICAL MOBILE APPLICATION AND TRAFFIC OR OPTIMIZATION DATA ASSOCIATED WITH MOBILE DEVICES IN A MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A non-transitory machine readable medium storing instructions which when executed by a machine, cause the machine to:collect data in conjunction with management and optimization of traffic to or from a plurality of mobile devices over a given mobile network over a period of time;
transmit at least a portion of the collected data to a service provider of one of a plurality of mobile networks accessed by the plurality of mobile devices;
generate one or more reports from the collected data, wherein the collected data includes, for each particular mobile device of the plurality of mobile devices, mobile device application data and device model information identifying a device model of the particular mobile device; and
transmit the one or more reports to the service provider,
wherein the one or more reports: identifies a plurality of device models ranked according to an amount of data sent to or from, over said period of time, the mobile devices of the plurality of mobile devices of a particular device model; and presents a ranking of device models measured by the number of users using them.

US Pat. No. 10,264,531

OPTIMIZING MOBILE NETWORK TRAFFIC COORDINATION ACROSS MULTIPLE APPLICATIONS RUNNING ON A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A mobile device comprising:a memory; and a processor coupled to the memory and configured for:
entering a power save mode based on received user input to enter the power save mode, wherein the received user input is a user selection at a user interface of the mobile device, wherein, when the mobile device is in the power save mode:
blocking outgoing network traffic related to a first application; and
receiving a message directed towards the first application, wherein the message is received from an intermediary server that provides connectivity between an application server for the first application and the mobile device, wherein the message contains data from the application server for the first application,wherein the first application is allowed to access a network after receipt of the message,wherein a keep-alive message is sent between the intermediary server and the mobile device to maintain the connectivity between the application server for the first application and the mobile device for receipt of the message;exiting the power save mode based on a power status of the mobile device; and
selecting a second application based on received user input for altering behavior of the second application; wherein, when the mobile device has exited the power save mode:
allowing the first application to transmit outgoing network traffic, wherein a rate at which the first application is allowed to access the network is based off of a history of prior access of the first application; and
blocking outgoing network traffic for the second application, wherein blocking outgoing network traffic for the second application is based on a background status of the second application, wherein a frequency of sending keep-alive messages is changed from an initial frequency to an adjusted frequency to conserve battery resources.

US Pat. No. 10,250,513

SYSTEMS AND METHODS FOR ENHANCING MOBILE TRAFFIC MANAGEMENT AT A PROXY SERVER ASSOCIATED WITH OR RESIDING ON A MOBILE CARRIER FOR ALIGNING TRAFFIC IN THE MOBILE NETWORK

Seven Networks, LLC, Mar...

1. A system for aligning requests in a mobile network to enhance mobile traffic management, comprising:a proxy server associated with a mobile operator, and configured to:
intercept and accumulate requests initiated and routed by third party servers to a mobile device;
send a response corresponding to at least one intercepted request to at least the particular third party server that initiated the at least one intercepted request to prevent the particular third party server from retrying the at least one intercepted request;
align the intercepted and accumulated requests initiated by third-party servers with a radio state of a mobile device to reduce a number of network connections, wherein the requests are aligned by delaying the requests;
detect promotion of a radio on the mobile device to a connected state or a high power state on the mobile device by receiving data from the mobile device; and
transfer the requests that were delayed to the mobile device over a single connection between the mobile device and the mobile network upon detecting promotion of the radio to the connected state or the high power state.

US Pat. No. 9,473,914

SYSTEM AND METHOD FOR PROVIDING A NETWORK SERVICE IN A DISTRIBUTED FASHION TO A MOBILE DEVICE

Seven Networks, LLC, Mar...

1. A method comprising:
receiving a unique authentication token from each of a first device and a second device;
transferring to a content selection interface on the first device an indication of content available from a content provider;
transmitting selected content to the first device in response to a user selection of the content available from the content
provider at the first device;

automatically transmitting the selected content to the second device,
wherein the selected content is transmitted to the first device through a first connection and transmitted to the second device
through a second connection distinct from the first connection.