Adaptive data synchronization based on data plan or network usage
First Claim
1. A method comprising:
- determining whether a data plan associated with an account associated with a portable computing device specifies a data quota identifying a maximum amount of data for communication by the portable computing device during a data quota time interval;
responsive to determining the data plan associated with the account specifies the data quota, determining a first data synchronization setting optimizing exchange of data between the portable computing device and a server;
responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximizing a frequency with which the portable computing device exchanges data with the server and capturing data describing the amount of data exchanged by the portable computing device over a captured data time interval;
calculating an estimated data usage for the data quota time interval based on the captured data;
determining whether the estimated data usage equals or exceeds the data quota; and
responsive to determining the estimated data usage equals or exceeds the data quota, dynamically modifying the frequency with which the portable computing device exchanges data with the server.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for modifying data synchronization of a portable computing device responsive to a data plan associated with an account associated with the portable computing device are disclosed. If the data plan specifies a data quota identifying a maximum amount of data for communication by the portable computing device, a data synchronization setting determines whether to minimize the frequency of synchronization between the portable computing device and a server or to dynamically modify the frequency of synchronization based on data usage. If data synchronization is dynamically modified, the data synchronization frequency is modified based on an estimated data usage of the portable computing device over a time interval. The data synchronization frequency is modified based on the difference between estimated data usage and the data quota and is reduced if the estimated data usage equals or exceeds the data quota.
15 Citations
26 Claims
-
1. A method comprising:
-
determining whether a data plan associated with an account associated with a portable computing device specifies a data quota identifying a maximum amount of data for communication by the portable computing device during a data quota time interval; responsive to determining the data plan associated with the account specifies the data quota, determining a first data synchronization setting optimizing exchange of data between the portable computing device and a server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximizing a frequency with which the portable computing device exchanges data with the server and capturing data describing the amount of data exchanged by the portable computing device over a captured data time interval; calculating an estimated data usage for the data quota time interval based on the captured data; determining whether the estimated data usage equals or exceeds the data quota; and responsive to determining the estimated data usage equals or exceeds the data quota, dynamically modifying the frequency with which the portable computing device exchanges data with the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a processor; a non-transitory computer readable storage device coupled to the processor, the non-transitory computer readable storage device including instructions that, when executed by the processor, cause the processor to; determine whether a data plan associated with an account associated with a portable computing device specifies a data quota identifying a maximum amount of data for communication by the portable computing device during a data quota time interval; responsive to determining the data plan associated with the account specifies a data quota, determine a first data synchronization setting optimizing exchange of data between the portable computing device and a server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximize a frequency with which the portable computing device exchanges data with the server and capture data describing the amount of data communicated by the portable computing device over a captured data time interval; calculate an estimated data usage for the data quota time interval based on the captured data; determine whether the estimated data usage equals or exceeds the data quota; and responsive to determining the estimated data usage equals or exceeds the data quota, dynamically modify the frequency with which the portable computing device exchanges data with the server. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
determining whether a data plan associated with an account associated with a portable computing device specifies a data quota identifying a maximum amount of data for communication by the portable computing device during a data quota time interval; responsive to determining the data plan associated with the account does not specify the data quota, maximizing a frequency with which the portable computing device exchanges data with a server; responsive to determining the data plan associated with the account specifies the data quota, determining a first data synchronization setting optimizing exchange of data between the portable computing device and the server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximizing the frequency with which the portable computing device exchanges data with the server and capturing data describing the amount of data exchanged between the portable computing device and the server over a captured data time interval; and responsive to determining a second data synchronization setting optimizing exchange of data between the portable computing device and the server, minimizing the frequency with which the portable computing device exchanges data with the server. - View Dependent Claims (20)
-
-
21. A method comprising:
-
determining whether a data roaming setting is enabled, the data roaming setting indicating a connection to a network associated with a provider different from a first provider associated with an account associated with a portable computing device, wherein the account is associated with a data quota for a data quota interval; responsive to determining the data roaming setting is enabled, determining a first data synchronization setting optimizing exchange of data between the portable computing device and a server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximizing a frequency with which the portable computing device exchanges data with the server and capturing data describing the amount of data exchanged between the portable computing device and the server over a captured data time interval; calculating an estimated data usage for the data quota time interval based on the captured data; and dynamically modifying the frequency with which the portable computing device exchanges data with the server based on the estimated data usage. - View Dependent Claims (22, 23, 24)
-
-
25. An apparatus comprising:
-
a processor; a non-transitory computer readable storage device coupled to the processor, the non-transitory computer readable storage device including instructions that, when executed by the processor, cause the processor to; determine whether a data plan associated with an account associated with a portable computing device specifies a data quota identifying a maximum amount of data for communication by the portable computing device during a data quota time interval; responsive to determining the data plan associated with the account does not specify the data quota, maximize a frequency with which the portable computing device exchanges data with a server; responsive to determining the data plan associated with the account specifies the data quota, determine a first data synchronization setting optimizing exchange of data between the portable computing device and the server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximize the frequency with which the portable computing device exchanges data with the server and capture data describing the amount of data exchanged between the portable computing device and the server over a captured data time interval; and responsive to determining a second data synchronization setting optimizing exchange of data between the portable computing device and the server, minimize the frequency with which the portable computing device exchanges data with the server.
-
-
26. An apparatus comprising:
-
a processor; a non-transitory computer readable storage device coupled to the processor, the non-transitory computer readable storage device including instructions that, when executed by the processor, cause the processor to; determine whether a data roaming setting is enabled, the data roaming setting indicating a connection to a network associated with a provider different from a first provider associated with an account associated with a portable computing device, wherein the account is associated with a data quota for a data quota interval; responsive to determining the data roaming setting is enabled, determine a first data synchronization setting optimizing exchange of data between the portable computing device and a server; responsive to determining the first data synchronization setting optimizing exchange of data between the portable computing device and the server and determining that a difference between the data quota and an amount of data exchanged by the portable computing device is less than a threshold value, maximize a frequency with which the portable computing device exchanges data with the server and capture data describing the amount of data exchanged between the portable computing device and the server over a captured data time interval; calculate an estimated data usage for the data quota time interval based on the captured data; and dynamically modify the frequency with which the portable computing device exchanges data with the server based on the estimated data usage.
-
Specification