Background transfer service for applications on mobile devices
First Claim
Patent Images
1. A system comprising:
- at least one processing unit; and
a background transfer service implemented on the at least one processing unit and configured to run on a mobile device at a platform-level to control data transfers of a plurality of applications, the data transfers comprising data transfers from a first background application and a second background application, the at least one processing unit programmed to;
manage application requests for the data transfers based upon one or more policies that control resource usage of background application data transfers to limit interference with foreground application operations, wherein the one or more policies comprise one or more of the following;
a maximum number of outstanding transfers at a time, a data size-based limitation, a connection rule, a bandwidth limitation, and one or more conditions comprising;
other application data transfer requests, available cellular service, Wi-Fi availability, desktop pass-through availability, power state, battery power level, and a charging state;
prioritize a first data transfer for the first background application over a second data transfer for the second background application;
generate one or more notifications associated with the data transfers current progress; and
provide the one or more notifications to the plurality of applications that requested the data transfers.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application'"'"'s ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
93 Citations
20 Claims
-
1. A system comprising:
-
at least one processing unit; and a background transfer service implemented on the at least one processing unit and configured to run on a mobile device at a platform-level to control data transfers of a plurality of applications, the data transfers comprising data transfers from a first background application and a second background application, the at least one processing unit programmed to; manage application requests for the data transfers based upon one or more policies that control resource usage of background application data transfers to limit interference with foreground application operations, wherein the one or more policies comprise one or more of the following;
a maximum number of outstanding transfers at a time, a data size-based limitation, a connection rule, a bandwidth limitation, and one or more conditions comprising;
other application data transfer requests, available cellular service, Wi-Fi availability, desktop pass-through availability, power state, battery power level, and a charging state;prioritize a first data transfer for the first background application over a second data transfer for the second background application; generate one or more notifications associated with the data transfers current progress; and provide the one or more notifications to the plurality of applications that requested the data transfers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computing environment, a method performed at least in part on at least one processor, the method comprising:
transferring data on behalf of one or more applications including a foreground application and a first background application and a second background application that are in the background during at least part of the transferring of the data, wherein transferring the data further comprises; receiving a first data transfer request from the first background application and a second data transfer request from the second background application; prioritizing the first data transfer request over the second data transfer request based upon one or more policies that control resource usage of background application data transfers, wherein the one or more policies comprise one or more of the following;
a maximum number of outstanding transfers at a time, a data size-based limitation, a connection rule, a bandwidth limitation, and one or more conditions comprising;
other application data transfer requests, available cellular service, Wi-Fi availability, desktop pass-through availability, power state, battery power level, and a charging state;queuing information corresponding to the first and second data transfer requests from the first background application and the second background application in a request queue based upon the one or more policies that control resource usage of background application data transfers; and processing the information from the request queue. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. One or more computer storage devices having computer-executable instructions, which on execution perform operations, comprising:
-
receiving data transfer requests from a plurality of applications, the plurality of applications comprising a first background application and a second background application, the data transfer requests comprising a first data transfer request to download data on behalf of the first background application and a second data transfer request to download data on behalf of the second background application; prioritizing the first data transfer request over the second data transfer request based upon one or more policies that control usage of background application data transfers, wherein the one or more policies comprise one or more of the following;
a maximum number of outstanding transfers at a time, a data size-based limitation, a connection rule, a bandwidth limitation, and one or more conditions comprising;
other application data transfer requests, available cellular service, Wi-Fi availability, desktop pass-through availability, power state, battery power level, and a charging state;queuing information corresponding to the first data transfer request in a request queue; processing the information from the request queue, including downloading data on behalf of the first background application into a request store; and communicating with a service that has access rights to move or copy the data from the request store to isolated storage associated with the first background application. - View Dependent Claims (18, 19, 20)
-
Specification