WO2012112404A2 - Service de transfert en arrière-plan pour des applications sur des dispositifs mobiles - Google Patents

Service de transfert en arrière-plan pour des applications sur des dispositifs mobiles Download PDF

Info

Publication number
WO2012112404A2
WO2012112404A2 PCT/US2012/024789 US2012024789W WO2012112404A2 WO 2012112404 A2 WO2012112404 A2 WO 2012112404A2 US 2012024789 W US2012024789 W US 2012024789W WO 2012112404 A2 WO2012112404 A2 WO 2012112404A2
Authority
WO
WIPO (PCT)
Prior art keywords
application
request
transfer
data
background
Prior art date
Application number
PCT/US2012/024789
Other languages
English (en)
Other versions
WO2012112404A3 (fr
Inventor
Marc David MCCLURE
Abolade Gbadegesin
Chittur Padmanabhan SUBBARAMAN
Jianping Yin
Jorge I. RAASTROEM
Yasser SHAABAN
Timothy Daniel NOONAN
Rachel JIANG
Peter John TORR
Vishal GHOTGE
Gregory Arthur DE SOUZA
Pavan Rajamohan HULLUMANE
Adrian Dragomir
Darin Miller
Megan Galbraith DONAHUE
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to EP12747603.4A priority Critical patent/EP2676206B1/fr
Publication of WO2012112404A2 publication Critical patent/WO2012112404A2/fr
Publication of WO2012112404A3 publication Critical patent/WO2012112404A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • Allowing applications e.g., third party applications
  • Allowing applications e.g., third party applications
  • This is a problem on mobile devices where system resources are limited and foreground experiences are expected to run with full fidelity and responsiveness.
  • CPU, memory, and network bandwidth are limited system resources; moreover, bandwidth is highly variable in certain network conditions.
  • a background transfer service configured to run on a mobile device to control a transfer of network data communications for applications.
  • the background transfer service manages application requests for data transfers based upon one or more policies that control resource usage of the background application data transfers in a way that limits interference with foreground application operations.
  • the background transfer service is coupled to a download manager that is configured to make the remote connections to transfer data to or from a remote source to satisfy a transfer request.
  • a data sharing service moves or copies data transferred (downloaded) from the remote source into local storage accessible by an application.
  • the data sharing service moves or copies data from storage accessible by an application for transferring (uploading) data to a remote source.
  • an application instance manager provides notifications related to uninstall status, license revocation or reinstatement status of an application to the background transfer service, which may respectively cancel, pause and/or resume each pending transfer request for that application.
  • the policies may be directed towards allowing only a maximum number of i o outstanding transfers at a time, a data size-based limitation, connection rules (e.g., Wi-Fi versus cellular), and/or a bandwidth limitation.
  • the policies may be based upon conditions, such as other application data transfer requests, available cellular service, Wi-Fi availability, desktop pass-through availability, power state, battery power level, and/or charging state.
  • data is transferred on behalf of one or more applications.
  • Managing of the data transfer request may include determining whether one or more transfer conditions
  • Managing of the data transfer request also may include determining whether to allow the request based upon the size of the data to transfer, throttling the data transfer based upon available bandwidth and/or the presence of streaming media in the foreground, prioritizing a foreground
  • detecting for a slow transfer state by checking whether a transfer rate is below a threshold, and if detected, waiting for a changed condition before resuming the transferring of the data for that application. If the associated application is currently executing (either in the foreground or the background), it is made aware
  • notifications commonly referred to as “events” and can also query the transfer service to determine the current status of any of its requests (including those that have completed successfully or in error).
  • managing the data transfer request upon receiving information (e.g., a notification) indicating that an application is being uninstalled, comprises canceling each data transfer request corresponding to that application.
  • managing the data transfer request comprises pausing each data transfer request corresponding to that application; upon receiving information indicating that the license of the application is reinstated, managing the data transfer request comprises resuming each paused data transfer request corresponding to that application.
  • managing the data transfer request comprises re-prioritizing at least one pending data transfer request of the new foreground application.
  • managing the data transfer request may comprise re-prioritizing at least one pending data transfer request of the background application.
  • a data transfer request comprising a request to transfer data on behalf of an application
  • information corresponding to the request is queued in a request queue.
  • the information from the request queue is processed, comprising downloading data on behalf of the application into a file cache, including when the application is a background application.
  • a service that has access rights to storage associated with the application is used to move or copy the data from the file cache to the isolated storage.
  • the data can be moved or copied either incrementally while the transfer is in progress, or in a single operation once the transfer is complete; in one implementation, a move from the request store to the isolated store is done only when transfer is complete with no errors.
  • Uploading operates similarly, e.g., an upload request is queued and processed, including communicating with a service that has rights to access the application's storage that contains the data to upload, so as to upload the data on behalf of the application. If the associated application is currently executing (either in the foreground or the background) it is periodically made aware of the transfer progress via notifications commonly referred to as
  • FIGURE 1 is a block diagram representing example components used in performing background transfers of data for applications via a background transfer service.
  • FIG. 2 is an example of applications using a background transfer service to download content.
  • FIG. 3 is a dataflow diagram representing example components and data communicated in performing background transfers of data.
  • FIG. 4 is an example timing sequence / dataflow diagram showing how an application establishes a connection to the background transfer service.
  • FIG. 5 is an example timing sequence / dataflow diagram showing how an application enqueues a background transfer request.
  • FIG. 6A and 6B comprise a flow diagram showing example steps for checking conditions and based upon those conditions, delaying or requesting transfer of data.
  • FIG. 7 is an example timing sequence / dataflow diagram showing calling into the background transfer service to register for progress / completed notifications.
  • FIG. 8 is a timing sequence / dataflow diagram showing example operations related to obtaining a transfer progress notification.
  • FIG. 9 is a timing sequence / dataflow diagram showing example operations related to obtaining a completion notification.
  • FIG. 10 is a timing sequence / dataflow diagram showing example operations related to canceling a background transfer request.
  • FIG. 1 1 is a timing sequence / dataflow diagram showing example operations related to querying for background transfer request status.
  • FIG. 12 is a timing sequence / dataflow diagram showing example operations related to pausing a background transfer.
  • FIG. 13 is a timing sequence / dataflow diagram showing example operations related resuming a background transfer.
  • FIG. 14 is a timing sequence / dataflow diagram showing example operations related to querying for background transfer service status.
  • FIG. 15 is a state diagram showing example states of a transfer request in the background transfer service
  • FIG. 16 is a block diagram representing an exemplary non-limiting computing system or operating environment, e.g., in the example of a mobile phone device, in which one or more aspects of various embodiments described herein can be implemented.
  • Various aspects of the technology described herein are generally directed towards a background transfer service that provides platform-level support for applications to queue transfers to run in the background. This ensures that applications can perform appropriate data transfer tasks in the background, without offering applications complete flexibility to run whatever code they want.
  • the background transfer service allows applications to queue requests, cancel requests, check request status and continue transferring (upload / download) content while the application is not running in the foreground.
  • Applications can download content essentially in parallel, e.g., via a round-robin fairness mechanism that provides resources to the applications in a fair way.
  • An application may specify transfer preferences, however policies associated with the background transfer service control what applications can do, e.g., an application may only have some maximum number of outstanding transfers at a time, data transfer may be limited to some size when over cellular and Wi-Fi is unavailable or if external power is absent, a background application may not be allowed to use a 2G/EDGE cellular connection, different actions may be taken when on battery power, low power or when connected to AC / USB charging, and so forth.
  • the background transfer service allows for control by first and third party applications with respect to the amount of bandwidth and/or other device resources being used, to preserve the foreground experience (where "first party” as used herein refers to trusted code such as provided by the operating system vendor, and third party refers to applications from vendors, regardless of their source or trustworthiness).
  • first party refers to trusted code such as provided by the operating system vendor
  • third party refers to applications from vendors, regardless of their source or trustworthiness
  • Foreground applications can request additional bandwidth if necessary for heavy-bandwidth utilization activities, and the background transfer (depending on circumstances) may throttle the bandwidth to preserve the foreground experience so as to limit (e.g., reduce or avoid) interference with foreground application operations.
  • any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and data transfer in general.
  • background transfer service 102 controls application data transfer requests according to one or more policies 103 associated with (e.g., incorporated into or externally coupled to) the background transfer service 102.
  • the background transfer service 102 via a BTS client API 104, allows applications such as the application 106 to download / upload content from / to a network endpoint, even when the application 106 is not in the foreground (e.g., when deactivated or dehydrated). This is also available when an application is tombstoned (moved to the background rather than closed, with the operating system maintaining state information for later when the application returns to the foreground).
  • foreground applications can add requests to the background transfer service's request queue; foreground/background applications can find requests in the background transfer service's request queue and remove requests from the background transfer service's request queue. These requests are subject to control by the background transfer service 102 according to the one or more policies 103. Other functions may be provided, such as to allow for status updates as described herein. As also shown in FIG. 1 , tasks and/or services 107 (e.g., first party applications) may use the background service via a similar (or the same) API set, shown in FIG. 1 as API 105. [0035] As described below, for security and the like, each application has its own local storage 108 and 109, which in one implementation is accessed via a data sharing service 1 10.
  • the background transfer service runs in a standard rights chamber
  • applications run in a low privilege chamber
  • the data sharing service 1 10 runs in a standard chamber
  • the data sharing service 1 10 has the right to access the application's Iocalstorage108 or 109 (restricted to only a particular folder in the storage), and the background transfer service 102 uses the data sharing service 1 10 to get downloaded data in, or to get data out for uploading.
  • Using the data sharing service 1 10 (with elevated rights) to transfer data to and from the isolated stores provides additional security.
  • scenarios for background transfer from the web 220 or other network source include an application downloading extra levels or game content for games, media content download/upload for applications such as video streaming (e.g., application 206), e-readers (e.g., application 207), turn-by-turn navigators, and so forth.
  • applications such as video streaming (e.g., application 206), e-readers (e.g., application 207), turn-by-turn navigators, and so forth.
  • Each application e.g., 206 and 207) may have its own isolated store, shown in FIG. 2 as 208 and 209, respectively.
  • a foreground application may use the background transfer service 102.
  • the background transfer service 102 may apply a different policy or have other rules, e.g., to prioritize the foreground application transfer requests over those of background applications, use different limits (or even no limits) and so forth. This also applies when a background application is using the service and gets changed to the foreground application; its queued requests are moved up in priority (other application requests may be paused), limits may be changed or not enforced, and so forth.
  • transfers through the background transfer service 102 may proceed in parallel with reasonable fairness, and without starving one another, as controlled by the service 102.
  • a large transfer does not block further requests indefinitely, and the background transfer service 102 may enforce hard restrictions on a transfer's content sizes while minimizing disruption to background audio streaming, foreground video streaming, gaming, and foreground activities that use the network, for example.
  • audio streaming is sensitive to resource starvation, and the background transfer service attempts to not interrupt this scenario, while not starving resource-intensive applications nor degrading foreground experiences that require network bandwidth, e.g., music streaming, multiplayer gaming scenarios, gaming scenarios, video streaming, a browser, social networks, and so forth.
  • the service may adapt and/or otherwise operate to maximize battery life through efficient resource use, including battery and bandwidth.
  • Cost awareness may be another consideration, e.g., to not allow a rogue or poorly written application to use too much of a user's limited data plan on a cellular connection.
  • the background transfer service 102 may comprise a Windows® Phone service running inside servicesd.exe in the standard rights chamber.
  • RPC Remote Procedure Call
  • IPC interprocess communication
  • the service 102 thus offers an RPC interface that is accessible by low privileged chamber BTS-aware (e.g., Yamanote) applications as well as other higher-privileged processes.
  • BTS-aware e.g., Yamanote
  • IPC mechanisms are available in the Windows® Phone platform.
  • the RPC interface exposes the APIs 104, 105 for queuing, canceling and querying the status of an individual transfer.
  • the RPC interface also exposes the APIs 104, 105 for queuing, canceling and querying the status of an individual transfer.
  • the RPC interface also exposes the APIs 104, 105 for queuing, canceling and querying the status of an individual transfer.
  • the RPC interface also exposes the APIs 104, 105 for queuing, canceling and querying the status of an individual transfer.
  • the RPC interface also exposes the
  • the background transfer service 102 is persists a transfer request in its request store 1 12 until the conditions are right to delete the request (e.g., the response has been successfully sent to the requestor).
  • the request store 1 12 comprises a persistent store in the file system where the background transfer service saves the application's transfer request.
  • the background transfer service 102 may use the services of an entertainment download manager 1 14 (EDM) for managing http/https transfer requests such as starting, canceling and pausing a request.
  • EDM entertainment download manager 1 14
  • the entertainment download manager 1 14 is exemplified herein as a separate component, in an alternative implementation, the entertainment download manager 1 14 (e.g., its functionality) or part thereof may be incorporated into the background transfer service 102, or vice-versa.
  • the entertainment download manager 1 14 may be a separate component (in whole or in part), or may be a sub-part of the background transfer service 102, (or vice- versa).
  • the entertainment download manager 1 14 is essentially a straightforward queuing service with round robin logic (e.g., dividing available parallel slots among the one or more requesting applications) that processes requests, provides for progress callbacks / notifications, and so forth.
  • the entertainment download manager 1 14 has its own file cache 1 15 and request queue, and in general maintains state data to handle the operations of communicating with the endpoints to transfer the content to and from the endpoints, using retry mechanisms as needed, and so forth.
  • the entertainment download manager 1 14 also may watch for notifications from a resource manager component to vary (e.g., in one implementation, pause certain ones of) the transfers when an application changes from background to foreground.
  • the data sharing service 1 10 moves / copies data from / to the file cache 1 15 to the corresponding isolated storage for each application as appropriate via a transfer folder.
  • the background transfer service 102 uses an application instance manager 1 16 (AIM) to receive notifications regarding application uninstall and license revocation and reinstatement.
  • AIM application instance manager 1 16
  • the application instance manager 1 16 comprises a component that sends notifications about application uninstall and license revoke / reinstatement to the background transfer service 102.
  • the BTS-aware (e.g., third party) application 106 uses the managed APIs 104 provided by the platform.
  • a task/service 107 may be a headless task or another background service that is part of the platform.
  • the background transfer service comprises a platform background service (e.g., hosted in servicesd.exe, a platform component process that hosts multiple services), which comprises the RPC server side component implementing the transfer APIs.
  • the background transfer service client API may be a platform-native DLL that exposes the native background transfer service APIs, which uses local RPC to communicate with background transfer service.
  • the data sharing service 1 10 comprises a platform background service that serves as a secure broker for platform components to access the low privileged application's isolated storage 108.
  • the entertainment download manager 1 14 comprises a background service used by platform components to transfer content.
  • One design of the background transfer service 102 uses the entertainment download manager 1 14 for interfacing with wininet and performing the actual http file transfers.
  • the persistent store choice for the background transfer service may comprise any suitable data structure / mechanism, including any suitable database, the registry, or one file per request.
  • EDB an
  • embedded database engine is used for such a mechanism, in part because it provides reasonable support for likely request patterns (e.g., hundreds of requests, creation/deletion over time), and because it supports transactions.
  • FIG. 3 provides a system overview along with a numbered flow of operations.
  • the background transfer service client API 304 comprises a library that an application 306 references to gain access to the background transfer service 102.
  • the client API 304 creates a temporary file (inside the application's isolated storage 308, shown within the application for convenience) for download requests, and renames / moves this temporary file to the desired filename upon download completion. Note that in one implementation, moving is not a double- write on the file system as long as it does not cross volumes and thus improves performance. P2 caching may be enabled to avoid flushing to flash/SD unless needed.
  • the application 306 requests a token for a given file handle from the data sharing service 1 10 (via RPC), and enqueues (labeled arrow three (3)) or dequeues requests by providing the request information (file handle's token, requestID) to the background transfer service (via RPC).
  • the data sharing service 1 10 provides a mechanism for creating a handle to a file within an application's isolated storage 308, and for granting access to the aforementioned handle to the background transfer service 102 through the exchange of a shared secret (token). These are represented in FIG. 3 by labeled arrows four (4) and five (5).
  • the background transfer service 102 is responsible for managing the application request queues, preserving the state of requests across the lifetime the of application (on the device), managing queue priority and management, and interfacing with the data sharing service 1 10 for copying from or moving file to application storage (by providing a token), as described above. Also, the background transfer service 102 via the client API 304 relays progress
  • the application instance manager 1 16 provides an API or the like to get information about a task instance that a background service 102 may need to validate the identity of a task instance and to make policy decisions about whether to accept a request or not.
  • the background transfer service 120 subscribes to and fulfills requests from the application instance manager 1 16 for uninstall and revocation and other application lifecycle events.
  • the application instance manager 1 16 informs the background transfer service 102 when an application registered by the background transfer service with it is uninstalled, its license revoked or reinstated.
  • the background transfer service 102 cancels outstanding requests of an application when the application is being uninstalled, and pauses the requests made by an application when the license of the application is revoked.
  • the background transfer service 102 resumes these requests when the application license is reinstated.
  • a resource manager may be used to control the pausing and resumption of the background transfer service 102.
  • the application instance manager 1 16 may disable the entertainment download manager 1 14. Because requests are looked up using a combination of the requestID and application ID, to ensure sandboxing of request look-ups and to ensure that the application ID is not provided by the application, the background transfer service has some means to determine this information.
  • the product id of the application may be obtained by calling the security system, given the process ID of the application.
  • a first step that the background transfer service client takes is to establish an RPC
  • the request ID is assumed to be unique to the system and is enforced by the background transfer service 102.
  • the caller can specify whether the request ID is an existing request, in which case the background transfer service will verify the product ID of the caller, (using the caller process ID obtained from RPC run time and use that to retrieve the product ID from the accounts database) and cross-check that with the existing request ID's product ID.
  • the background transfer service 102 can also obtain the product ID of the RPC caller from the application instance manager using an API call, e.g., the
  • GetTasklnstancelnformation API however that requires the task ID of the client process to be passed in to the API.
  • the task ID can be passed in through the RPC for BtsCreateBackgroundTransferRequest from the background transfer service client library.
  • the background transfer service may independently verify the validity of the task ID by comparing the process ID of the task process obtained from GetTasklnstancelnformation with the caller process ID obtained from RPC.
  • Enqueuing a background transfer request is generally represented in FIG. 5.
  • the background transfer service 102 supports an application to queue a file transfer request using a combination of a unique request ID string, URI, a transfer file name and an HTTP verb.
  • Supported verbs include GET (for download), and POST (for upload).
  • the application can specify an allowed set of custom HTTP headers to be added to the request).
  • the application can also specify whether the transfer requires the device to be plugged into AC power (including USB charging) and/or Wi-Fi.
  • FIG. 5 An example sequence diagram for the enqueue request is shown in FIG. 5.
  • the server side flow of the API is also shown. The different components shown in the diagram have been described above.
  • the background transfer service client API 104 uses the RPC context handle obtained in FIG. 4 to communicate with the background transfer service 102.
  • the background transfer service client API 104 uses the data sharing service's API to translate the transfer file name into a file token ID string because the background transfer service (running in the standard rights chamber) cannot access the application's isolated storage directly.
  • the background transfer service API calls into the background transfer service 102 through local (sync) RPC passing in the RPC context handle created before and the transfer parameters mentioned above, which includes the file token ID.
  • the background transfer service 102 gets the RPC call, the service checks to see if the conditions are right to send the request to the entertainment download manager 1 14, or whether the background transfer service instead is to enqueue the request and send it to the entertainment download manager 1 14 later, when the conditions are right.
  • FIGS. 6A and 6B exemplify different conditions that may be checked.
  • step 602 validates the parameters, and only if validated is step 604 performed for notifying the application instance manager 1 16.
  • the background transfer service allows an application to specify that a transfer request be delayed until AC power is available.
  • the background transfer service only starts the transfer process with the entertainment download manager 1 14 when the phone is on AC power (e.g., USB powered).
  • the background transfer service starts monitoring for a power state change, and if it turns to battery, the ongoing transfers may be paused in the entertainment download manager 1 14, until resumed when the phone returns to AC power.
  • the background transfer service monitors for a low battery state, as well as checking the battery state at startup. If the background transfer service gets a low battery state notification, it will pause transfers that it queued with the entertainment download manager 1 14. The transfers are resumed when the battery state transitions from low.
  • step 628 represents preparing the download manager and continuing to step 620 (entry point EP1 ) of FIG. 6B.
  • Step 628 represents the successful branch of step 624 or the branch of one of the above-described condition sets (steps 606, 608, 610 and 612). Step 628 enqueues the request to an in-memory queue, and persists the request.
  • Step 628 represents the successful branch of step 624 or the branch of one of the above-described condition sets (steps 606, 608, 610 and 612). Step 628 enqueues the request to an in-memory queue, preserves the request and persists the request.
  • the background transfer service calls into the application instance manager 1 16 to notify that a request has been accepted using NotifyRequestCreated(), corresponding to step 604 of FIG. 6A. This API may also return the license status of the application, which will be used to determine if the transfer can be started, by calling into the entertainment download manager 1 14. If there are failures in this background transfer service API further down, the application instance manager 1 16 is informed using
  • NotifyRequestCompleted() corresponding to step 626 of FIG. 6B.
  • the background transfer service calls into the entertainment download manager 1 14 API, DownloadManagerCreate, to create a download ID.
  • the transfer parameters may be passed through to the entertainment download manager 1 14 API directly, e.g., with DM_TYPE_CONTENT
  • DM_TYPE_CONTENT DM_TYPE_CONTENT
  • DM_FETCH_CACHED DM_DONT_WANT_RESPONSE_STREAM flags set.
  • the transfer parameters specify the policies, namely allow 3G cellular transfers and Wi-Fi transfers or allow Wi-Fi only transfers. It also specifies the method of transfer, POST or GET.
  • the application product ID (GUID) as well as media key (same as application request ID), may be specified.
  • the application product ID is used by the entertainment download manager 1 14 to round-robin transfers across applications to mitigate starvation.
  • the media key is used to have the entertainment download manager 1 14 store a downloaded file to the entertainment download manager 1 14 persistent cache as a unique file.
  • the background transfer service 102 moves the file from the cache to the application's store when the transfer is successful, e.g., using MoveFile support in the data sharing service 1 10. Note that the MoveFile API does not copy the data when the move is not across different logical volumes.
  • the entertainment download manager 1 14 In response to DownloadManagerCreate, the entertainment download manager 1 14 returns a download ID which the background transfer service saves in memory (download IDs are not valid across reboots) together with the rest of the transfer request parameters. The background transfer service then calls the entertainment download manager 1 14, DownloadManagerStart, and starts the transfer process. [0066] Once the call to the entertainment download manager 1 14 for starting the transfer is successful, the background transfer service saves the request including the target file token ID associated with the request to EDB (corresponding to step 628). Note that the data sharing service 1 10 supports persisting file token IDs across reboots.
  • a per-application limit of outstanding requests (e.g., a default of five) which if present is enforced by the background transfer service.
  • a registry setting or the like may override the default limit. This prevents one application from consuming too much of the system resources, such as network bandwidth, battery, background transfer service memory, transfer file space and persistent store space.
  • a background transfer service client can optionally subscribe to receive transfer progress notifications and an application callback will be made at specific completion points of the transfer. The points at which the callback will be made depend on the entertainment download manager 1 14's callback into background transfer service, which occurs at intervals dependent on the size of the file being transferred.
  • the background transfer service client may use the RPC context handle obtained in the creation step to make an RPC call into background transfer service to register for progress / completed notifications.
  • This RPC may be an asynchronous RPC, since it is undesirable to have any dedicated threads blocked in the client or in the server. Note that notifications can arrive at a later point in time after the asynchronous RPC call is made.
  • FIGS. 8 and 9 represent the transfer progress and completion
  • the background transfer service 102 listens to the progress and completion notifications from the entertainment download manager 1 14. In the completion case, the background transfer service uses the services of the data sharing service 1 10 to move the transfer file into the application's isolated storage in the case of a download. Once the request is delivered to the client, the background transfer service 102 also deletes it from its persistent store. The application instance manager 1 16 is also notified that the request has been deleted, e.g., using NotifyRequestDeleted().
  • An application can cancel a transfer request that it queued at any point in time; the sequence diagram for the cancel operation is shown in FIG. 10.
  • the request is identified using the opaque RPC context handle which was received as part of the creation step.
  • the cancel request is successful, the transfer request is deleted from memory and the persistent store.
  • the application instance manager 1 16 is also notified that the request has been completed using
  • An application may query the status of a transfer request (FIG. 1 1 ) that it queued using the request handle received after calling the
  • BtsCreateBackgroundTransferRequest API The following information may be returned from the latest cached result of the entertainment download manager 1 14 state in background transfer service:
  • An application can close the request handle at any point in time. Closing the request handle does not cancel the request but tears down the RPC connection between the client process and the server process. If the client
  • the RPC run time notifies the background transfer service 102 using context handle rundown callback.
  • An application can enumerate the outstanding requests queued by itself thus far using an API ("BtsEnumBackgroundTransferRequests"). This is useful when an application has queued a few requests with the background transfer
  • FIG. 12 is directed towards pausing the background transfer service 102.
  • a platform component such as a resource manager can request that the o background transfer service 102 be paused (e.g., if it detects that one or more foreground networking applications are running).
  • the background transfer service enumerates the transfers that are queued into the entertainment download manager 1 14 using DownloadManagerEnumDownloads API, with the task ID specified as part of each Download ManagerCreate call.
  • DownloadManagerPauseTaskDownloads API may be provided in the entertainment download manager 1 14 to make the above sequence doable with one API call.
  • the background transfer service 102 there need not be a timer in the background transfer service 102 for automatic resumption from a pause.
  • the resource manager ensures that the application is in the foreground, still running, and is not i o under a lock screen. A crash of the resource manager reboots the mobile device because it is hosted in a shell program.
  • the background transfer service 102 ensures that only an appropriate chamber caller can call the pause API. Note that with a timer, an application is able to repeatedly call into the API, whereby a timer provides little benefit yet has some effect on battery life as well as other
  • FIG. 13 is directed towards resuming background transfer service 102. This resumes any transfers that background transfer service 102 had paused earlier, e.g., due to a pause API call.
  • the background transfer service 102 ensures that only an appropriate chamber caller can call the resume API.
  • the 20 resumption order is the same as the request queue order in background transfer service. This may be done using the DownloadManagerResume API; the entertainment download manager 1 14 may provide an API that makes the resume sequence doable with one API call. For a download, the entertainment download manager 1 14 will resume from the last paused point if the server supports HTTP 25 range headers.
  • the background transfer service state may be active (meaning that it is running and not necessarily transferring), or paused and may be queried using an API. In addition, the background transfer service may also return the count of the number
  • a transfer request goes through the following states in the background transfer service, as represented in FIG. 15: State 1501 .
  • Created A background transfer service request has been created by a background transfer service client using the
  • the background transfer service client has queued the transfer request with the background transfer service using the
  • the background transfer service was paused by a first party application using the BtsPauseBackgroundTransferService API request was paused due to the application instance manager 1 16 notifying the background transfer service 102 that the application's license has been revoked. This will pause the transfers queued in background transfer service thus far, including the waiting, transferring and created transfer states. As opposed to using just the waiting state, this state is useful for an application to distinguish whether the delay of the transfer is deliberate because a first party application (e.g., resource manager application instance manager 1 16) paused the transfer or whether it is accidental due to transfer conditions not being met.
  • a first party application e.g., resource manager application instance manager 1 16
  • the entertainment download manager 1 14 may detect slow and hung transfers by checking whether the transfer rate is below a threshold, so as to consider them as failed and apply retry policies on them. For example, if the transfer rate drops below x kbps on Wi-Fi, the transfer will be paused and resumed at a later time. The entertainment download manager 1 14 will fail transfers that are over 20MB if Wi-Fi is not available with a specific error. In that case, the background transfer service will monitor for Wi-Fi connectivity and requeue the transfers with the entertainment download manager 1 14 when Wi-Fi is back up.
  • the background transfer service may cancel the request with the entertainment download manager 1 14 and return an error to the application.
  • the callback will carry both the expected total file size and currently transferred size.
  • the entertainment download manager 1 14 may only allow a maximum number of concurrent background transfers (e.g., limited to two or four or a similar limit by default).
  • the entertainment download manager 1 14 may throttle back the maximum number of concurrent transfers (default of one) if it detects that the media stack is streaming. Note that when there is no throttling support exposed for clients (including the background transfer service) to use, the background transfer service 102 has to pause and resume transfers automatically based on conditions in the system.
  • the entertainment download manager 1 14 moves a transfer request to a waiting state and starts the transfer when connectivity comes back on. If connectivity does not come back on within a timeout, the transfer is canceled by the entertainment download manager 1 14 and a connection timeout error reported to the background transfer service 102. In that case, the background transfer service will monitor for connectivity and requeue the transfers with the entertainment download manager 1 14 when connectivity is back up.
  • a connection manager chooses from available connections based upon bandwidth. Thus, in the absence of any specific preferences or requirements (or mapping policy), it will select DTPT (Desktop Pass-through), Wi-Fi, and cellular in that order. Note that in one implementation, once a transfer has started, the type of connection will not change.
  • the background transfer service 102 performs monitoring in order to queue requests into the entertainment download manager 1 14, including whether the device has connectivity or not. This is done because the entertainment download manager 1 14 fails a transfer if connectivity is not available in a certain time, (e.g., 1 minute by default). Hence, the background transfer service monitors connection availability. The background transfer service also monitors the device's power state (AC/battery, battery status). [0084] The background transfer service may queue application requests with the same priority with the entertainment download manager 1 14, e.g., background priority (DM_TYPE_CONTENT, DM_PRIORITY_OPPORTUNISTIC), which is the lowest of the three entertainment download manager 1 14 priorities. This is to make sure that third party transfers do not interfere much with first party transfers such as marketplace downloads.
  • background priority DM_TYPE_CONTENT, DM_PRIORITY_OPPORTUNISTIC
  • the entertainment download manager 1 14 supports an application ID to be passed along with each Download ManagerCreate call as part of the transfer parameters.
  • the background transfer service passes the application product ID as the application ID when it creates the transfer request with the entertainment download manager 1 14.
  • the entertainment download manager 1 14 will round robin using the application ID in each queue so that requests from one application ID cannot starve other application requests. Thus, if the entertainment download manager 1 14 queue contains Appld0(0), Appld0(1 ), Appld1 (0),Appld2(0), the scheduling algorithm picks these requests in order:
  • the entertainment download manager 1 14 may limit the maximum number of concurrent transfers for acceptable device performance. In order to prevent one application from taking all the transfer slots in the
  • entertainment download manager 1 14 may time slice (e.g., two minutes) among applications in a round robin basis and forcibly pause transfers if needed. Note that the entertainment download manager 1 14 marketplace downloads can take a while go into the opportunistic queue and will multiplex with the background transfer service applications and be included in the round-robin.
  • the background transfer service 102 may run in the standard rights chamber and be co-hosted with other services in
  • RPC security policy may be specified for the background transfer service to allow low privileged chamber applications to call into background transfer service using RPC.
  • the background transfer service cross checks the calling process's product ID using the accounts database APIs and ensure that one application cannot call background transfer service APIs on behalf of another application. Note that because most background transfer service third party application APIs use RPC context handles (not directly but as a side effect of using request handles are wrappers of RPC context handles), they should be protected from spoofing since RPC runtime is hardened against that.
  • BtsCreateBackgroundTransferRequest does not take an RPC context handle and instead takes a request ID (which is preferably a GUID) because it is 5 the API that creates the context handle. That API may be hardened against
  • the background transfer service 102 starts when the first call to the API is made by an application. It then checks if it needs to resume any previously incomplete transfers it can start up at boot. For performance reasons, processing i o immediately after service startup may be delayed, e.g., by using the
  • the background transfer service 102 checks the persistent store looking for request items that have been marked with the transferring, paused, or waiting states and then sends them to the entertainment download manager 1 14 to start the transfer process, or queues them in memory
  • the background transfer service can enable its RPC interface and start receiving calls from clients. It also calls into the application instance manager 1 16 to indicate startup using NotifyBackgroundServiceStart(), and calls NotifyRequestCreated() to inform the
  • background transfer service 102 calls into the application instance manager 1 16 using NotifyRequestCreated only once per request.
  • the background transfer service 102 may also check if its request queue has been empty for more than some time (e.g., two minutes) and self-stop on idle.
  • the background transfer service 102 can be reactivated by the background transfer service client using ActivateService() . It will also call into the application instance manager 1 16 to indicate stop using NotifyBackgroundServiceStop().
  • the background transfer service 102 may depend on the entertainment download manager 1 14 to surface transfer errors to it. Once a transfer error is reported by the entertainment download manager 1 14, or there are other background transfer service errors that prevent a request from completion, it will move the request to the completed state but save the completed status, bytes transferred so far, total expected bytes, and http status along with the request in the persistent store so that an application can later query it. The application deletes requests from the store when it has acted on the result of the transfer appropriately.
  • the background transfer service 102 authors an in-process COM server that implements the IBackgroundServiceProxy interface so that the application instance manager 1 16 can notify the background transfer service when an application is uninstalled or its license revoked / reinstated.
  • the background transfer service notifies the application instance manager 1 16 of the creation and deletion of each request as well as when the background transfer service 102 has started and is ready to accept notifications from the application instance manager 1 16
  • the background transfer service deletes the requests corresponding to the application.
  • the background transfer service changes the request state to paused along with the status that indicates that the license has been revoked. In this state, APIs that change transfer request state
  • a candidate list (based on access rate) includes:
  • the background transfer service 102 does not park threads for rare events and instead uses thread pooling.
  • a background transfer service client can optionally subscribe to transfer progress notifications and an application callback will be made at specific completion points of the transfer. The points at which the callbacks are made depend on the entertainment download manager 1 14's callback into the background transfer service, which occurs at arbitrary intervals.
  • the background transfer service client may use the RPC context handle obtained in the creation step to make an RPC call into background transfer service to register for
  • the background transfer service provides service to third party applications for transferring files from / to the application's isolated storage in the background, e.g., by using the http/https protocol.
  • the background transfer service provides a set of APIs to third party applications for submitting file transfer i o requests, checking request status, registering for complete and progress
  • the background transfer service manages requests and processes them even when the application has been dehydrated, terminated or following device reboot. It reports the status back to application.
  • FIG. 16 illustrates an example of a suitable mobile device 1600 on which aspects of the subject matter described herein may be implemented.
  • the mobile device 1600 is only one example of a device and is not intended to suggest any limitation as to the scope of use or functionality of aspects of the subject matter described herein. Neither should the mobile device 1600 be interpreted as having
  • an exemplary device for implementing aspects of the subject matter described herein includes a mobile device 1600.
  • the mobile device 1600 comprises a cell phone, a handheld device 25 that allows voice communications with others, some other voice communications device, or the like.
  • the mobile device 1600 may be equipped with a camera for taking pictures, although this may not be required in other embodiments.
  • the mobile device 1600 may comprise a personal digital assistant (PDA), hand-held gaming device, notebook computer,
  • PDA personal digital assistant
  • the mobile device 1600 may comprise devices that are generally considered non-mobile such as personal computers, servers, or the like.
  • Components of the mobile device 1600 may include, but are not limited to, a processing unit 1605, system memory 1610, and a bus 1615 that couples various system components including the system memory 1610 to the processing unit 1605.
  • the bus 1615 may include any of several types of bus structures including a memory bus, memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures, and the like.
  • the bus 1615 allows data to be transmitted between various components of the mobile device 1600.
  • the mobile device 1600 may include a variety of computer-readable media.
  • Computer-readable media can be any available media that can be accessed by the mobile device 1600 and includes both volatile and nonvolatile media, and removable and non-removable media.
  • Computer-readable media may comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the mobile device 1600.
  • Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, Bluetooth®, Wireless USB, infrared, Wi- Fi, WiMAX, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
  • the system memory 1610 includes computer storage media in the form of volatile and/or nonvolatile memory and may include read only memory (ROM) and random access memory (RAM).
  • ROM read only memory
  • RAM random access memory
  • operating system code 1620 is sometimes included in ROM although, in other embodiments, this is not required.
  • application programs 1625 are often placed in RAM although again, in other embodiments, application programs may be placed in ROM or in other computer-readable memory.
  • the heap 1630 provides memory for state associated with the operating system 1620 and the application programs 1625. For example, the operating system 1620 and application programs 1625 may store variables and data structures in the heap 1630 during their operations.
  • the mobile device 1600 may also include other removable/non-removable, volatile/nonvolatile memory.
  • FIG. 16 illustrates a flash card 1635, a hard disk drive 1636, and a memory stick 1637.
  • the hard disk drive 1636 may be miniaturized to fit in a memory slot, for example.
  • the mobile device 1600 may interface with these types of non-volatile removable memory via a removable memory interface 1631 , or may be connected via a universal serial bus (USB), IEEE 16394, one or more of the wired port(s) 1640, or antenna(s) 1665.
  • the removable memory devices 1635-1637 may interface with the mobile device via the communications module(s) 1632.
  • not all of these types of memory may be included on a single mobile device.
  • one or more of these and other types of removable memory may be included on a single mobile device.
  • the hard disk drive 1636 may be connected in such a way as to be more permanently attached to the mobile device 1600.
  • the hard disk drive 1636 may be connected to an interface such as parallel advanced technology attachment (PATA), serial advanced technology attachment (SATA) or otherwise, which may be connected to the bus 1615.
  • PATA parallel advanced technology attachment
  • SATA serial advanced technology attachment
  • removing the hard drive may involve removing a cover of the mobile device 1600 and removing screws or other fasteners that connect the hard drive 1636 to support structures within the mobile device 1600.
  • the removable memory devices 1635-1637 and their associated computer storage media provide storage of computer-readable instructions, program modules, data structures, and other data for the mobile device 1600.
  • the removable memory device or devices 1635-1637 may store images taken by the mobile device 1600, voice recordings, contact information, programs, data for the programs and so forth.
  • a user may enter commands and information into the mobile device 1600 through input devices such as a key pad 1641 and the microphone 1642.
  • the display 1643 may be touch-sensitive screen and may allow a user to enter commands and information thereon.
  • the key pad 1641 and display 1643 may be connected to the processing unit 1605 through a user input interface 1650 that is coupled to the bus 1615, but may also be connected by other interface and bus structures, such as the communications module(s) 1632 and wired port(s) 1640.
  • Motion detection 1652 can be used to determine gestures made with the device 1600.
  • a user may communicate with other users via speaking into the microphone 1642 and via text messages that are entered on the key pad 1641 or a touch sensitive display 1643, for example.
  • the audio unit 1655 may provide electrical signals to drive the speaker 1644 as well as receive and digitize audio signals received from the microphone 1642.
  • the mobile device 1600 may include a video unit 1660 that provides signals to drive a camera 1661 .
  • the video unit 1660 may also receive images obtained by the camera 1661 and provide these images to the processing unit 1605 and/or memory included on the mobile device 1600.
  • the images obtained by the camera 1661 may comprise video, one or more images that do not form a video, or some combination thereof.
  • the communication module(s) 1632 may provide signals to and receive signals from one or more antenna(s) 1665.
  • One of the antenna(s) 1665 may transmit and receive messages for a cell phone network.
  • Another antenna may transmit and receive Bluetooth® messages.
  • Yet another antenna (or a shared antenna) may transmit and receive network messages via a wireless Ethernet network standard.
  • an antenna provides location-based information, e.g., GPS signals to a GPS interface and mechanism 1672.
  • location-based information e.g., GPS signals
  • the GPS mechanism 1672 provides location-based information, e.g., GPS signals to a GPS interface and mechanism 1672.
  • a single antenna may be used to transmit and/or receive messages for more than one type of network.
  • a single antenna may transmit and receive voice and packet messages.
  • the mobile device 1600 may connect to one or more remote devices.
  • the remote devices may include a personal computer, a server, a router, a network PC, a cell phone, a media playback device, a peer device or other common network node, and typically includes many or all of the elements described above relative to the mobile device 1600.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the subject matter described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a mobile device.
  • program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types.
  • aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • server may be used herein, it will be recognized that this term may also encompass a client, a set of one or more processes distributed on one or more computers, one or more stand-alone storage devices, a set of one or more other devices, a combination of one or more of the above, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La présente invention se rapporte à un service de transfert en arrière-plan qui procure un support de niveau plate-forme à des applications tierces. Ceci a pour but de mettre en file d'attente des transferts de données de telle sorte qu'ils s'exécutent en arrière-plan, y compris lorsque l'application ne s'exécute pas en arrière-plan. Selon la présente invention, des applications peuvent ainsi accomplir des tâches de téléchargement et de chargement en arrière-plan. Cependant, le service de transfert en arrière-plan gère les demandes de transfert de données de sorte à limiter la capacité de chaque application qui s'exécute en arrière-plan à interférer avec des applications qui s'exécutent en avant-plan. En d'autres termes, l'utilisation des ressources est contrôlée sur la base d'une règle, ou plus.
PCT/US2012/024789 2011-02-14 2012-02-12 Service de transfert en arrière-plan pour des applications sur des dispositifs mobiles WO2012112404A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP12747603.4A EP2676206B1 (fr) 2011-02-14 2012-02-12 Service de transfert en arrière-plan pour des applications sur des dispositifs mobiles

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US201161442735P 2011-02-14 2011-02-14
US201161442701P 2011-02-14 2011-02-14
US201161442713P 2011-02-14 2011-02-14
US201161442753P 2011-02-14 2011-02-14
US201161442740P 2011-02-14 2011-02-14
US61/442,735 2011-02-14
US61/442,753 2011-02-14
US61/442,740 2011-02-14
US61/442,713 2011-02-14
US61/442,701 2011-02-14
US13/164,678 2011-06-20
US13/164,678 US9560405B2 (en) 2011-02-14 2011-06-20 Background transfer service for applications on mobile devices

Publications (2)

Publication Number Publication Date
WO2012112404A2 true WO2012112404A2 (fr) 2012-08-23
WO2012112404A3 WO2012112404A3 (fr) 2012-12-27

Family

ID=46637513

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2012/024789 WO2012112404A2 (fr) 2011-02-14 2012-02-12 Service de transfert en arrière-plan pour des applications sur des dispositifs mobiles
PCT/US2012/024790 WO2012112405A2 (fr) 2011-02-14 2012-02-12 Commutation de tâches sur des dispositifs mobiles

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2012/024790 WO2012112405A2 (fr) 2011-02-14 2012-02-12 Commutation de tâches sur des dispositifs mobiles

Country Status (4)

Country Link
US (8) US20120209413A1 (fr)
EP (1) EP2676206B1 (fr)
CN (3) CN102779070A (fr)
WO (2) WO2012112404A2 (fr)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2937780A1 (fr) * 2014-04-25 2015-10-28 Canon Kabushiki Kaisha Dispositif et procédé pour limiter la transmission de données en arrière-plan
US9218497B2 (en) 2014-02-24 2015-12-22 Microsoft Technology Licensing, Llc Incentive-based app execution
US9432472B2 (en) 2014-02-24 2016-08-30 Microsoft Technology Licensing, Llc Accelerated training of personal daemons
US9473944B2 (en) 2014-02-24 2016-10-18 Microsoft Technology Licensing, Llc Local personal daemon
US9560055B2 (en) 2014-04-30 2017-01-31 Microsoft Technology Licensing, Llc Client-side integration framework of services
US9798580B2 (en) 2014-08-26 2017-10-24 Alibaba Group Holding Limited Method and apparatus for managing background application
US10528228B2 (en) 2017-06-21 2020-01-07 Microsoft Technology Licensing, Llc Interaction with notifications across devices with a digital assistant

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
TWI374382B (en) * 2008-09-01 2012-10-11 Htc Corp Icon operation method and icon operation module
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9538003B2 (en) * 2009-09-18 2017-01-03 Audionow Ip Holdings, Llc System and method for interactive advertisement augmentation via a called voice connection
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
WO2011148210A1 (fr) * 2010-05-25 2011-12-01 Sony Ericsson Mobile Communications Ab Interface utilisateur pour écran tactile sur un dispositif électronique
US8910259B2 (en) 2010-08-14 2014-12-09 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US8886773B2 (en) 2010-08-14 2014-11-11 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US9110743B2 (en) 2010-12-21 2015-08-18 Microsoft Technology Licensing, Llc Extensible system action for sharing while remaining in context
US20120209413A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Background Audio on Mobile Devices
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
JP5772132B2 (ja) * 2011-03-25 2015-09-02 富士通株式会社 データ転送装置、データ転送方法および情報処理装置
US9398103B2 (en) * 2011-04-15 2016-07-19 Qualcomm Incorporated Methods and apparatus for enhancing device performance through flow control
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9069380B2 (en) 2011-06-10 2015-06-30 Aliphcom Media device, application, and content management using sensory input
US8594617B2 (en) 2011-06-30 2013-11-26 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US9201812B2 (en) * 2011-07-25 2015-12-01 Aliphcom Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates
US20130054325A1 (en) * 2011-08-29 2013-02-28 Ebay Inc. Mobile platform for redeeming deals
US9032413B2 (en) * 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
US20130060661A1 (en) * 2011-09-06 2013-03-07 Apple Inc. Managing access to digital content items
US8701125B2 (en) * 2011-09-06 2014-04-15 The Nielsen Company (Us), Llc Methods and apparatus to detect uninstallation of an on-device meter
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
KR102008495B1 (ko) * 2012-02-24 2019-08-08 삼성전자주식회사 데이터 공유 방법 및 이를 위한 이동 단말기
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US8681801B2 (en) * 2012-03-09 2014-03-25 Alcatel Lucent Method and apparatus for determining available bandwidth for wireless communication
US10528994B2 (en) * 2012-03-29 2020-01-07 International Business Machines Corporation Allocation of application licenses within cloud or infrastructure
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8990534B2 (en) 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9201693B2 (en) * 2012-09-04 2015-12-01 Microsoft Technology Licensing, Llc Quota-based resource management
US20140113616A1 (en) * 2012-10-19 2014-04-24 Sony Mobile Communications Ab Network initiated terminal background activity control
DK2728893T3 (da) * 2012-11-05 2020-06-29 Accenture Global Services Ltd Styring af en datastrøm
US10194239B2 (en) * 2012-11-06 2019-01-29 Nokia Technologies Oy Multi-resolution audio signals
US11372536B2 (en) * 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US9477313B2 (en) 2012-11-20 2016-10-25 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving outward-facing sensor of device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
CN103076944A (zh) * 2013-01-05 2013-05-01 深圳市中兴移动通信有限公司 一种基于webos系统的应用切换方法、系统及移动手持终端
CN103915095B (zh) 2013-01-06 2017-05-31 华为技术有限公司 语音识别的方法、交互设备、服务器和系统
CN103973729B (zh) * 2013-01-28 2018-07-03 联想(北京)有限公司 信息处理方法和信息处理装置
KR102103057B1 (ko) 2013-02-07 2020-04-21 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10223450B1 (en) 2013-03-14 2019-03-05 Google Llc Data delivery
CN103176842B (zh) * 2013-03-15 2016-04-27 广东欧珀移动通信有限公司 后台进程管理方法及其移动终端
US10356579B2 (en) 2013-03-15 2019-07-16 The Nielsen Company (Us), Llc Methods and apparatus to credit usage of mobile devices
US9301173B2 (en) 2013-03-15 2016-03-29 The Nielsen Company (Us), Llc Methods and apparatus to credit internet usage
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014157893A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Procédé et dispositif pour la fourniture d'une page privée
WO2014157897A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Procédé et dispositif permettant de commuter des tâches
KR102164454B1 (ko) * 2013-03-27 2020-10-13 삼성전자주식회사 개인 페이지 제공 방법 및 이를 위한 디바이스
WO2014157886A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Procédé et dispositif permettant d'exécuter une application
US9996246B2 (en) 2013-03-27 2018-06-12 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157885A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Procédé et dispositif de présentation d'une interface avec menus
WO2014157908A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Dispositif et procédé permettant d'afficher le résultat d'exécution d'une application
US10229258B2 (en) 2013-03-27 2019-03-12 Samsung Electronics Co., Ltd. Method and device for providing security content
WO2014157894A1 (fr) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Appareil d'affichage affichant une interface d'utilisateur et procédé de présentation de l'interface d'utilisateur
KR20140123818A (ko) * 2013-04-15 2014-10-23 삼성전자주식회사 오디오 출력 제어 방법 및 이를 지원하는 장치
KR102083316B1 (ko) 2013-04-24 2020-04-14 삼성전자주식회사 사용자 디바이스의 메모리 관리 방법 및 장치
US9955286B2 (en) * 2013-05-08 2018-04-24 Natalya Segal Smart wearable devices and system therefor
US20140359637A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Task continuance across devices
KR20140142996A (ko) * 2013-06-05 2014-12-15 삼성전자주식회사 복수의 시큐어 엘리먼트에 구비된 애플릿의 데이터 처리 방법 및 장치
WO2014197335A1 (fr) 2013-06-08 2014-12-11 Apple Inc. Interprétation et action sur des commandes qui impliquent un partage d'informations avec des dispositifs distants
US10223156B2 (en) * 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
JP6259911B2 (ja) 2013-06-09 2018-01-10 アップル インコーポレイテッド デジタルアシスタントの2つ以上のインスタンスにわたる会話持続を可能にするための機器、方法、及びグラフィカルユーザインタフェース
US8789040B1 (en) * 2013-07-16 2014-07-22 Appenity LLC Converting non-natively executable programs to downloadable executable programs
KR20150020350A (ko) * 2013-08-12 2015-02-26 삼성전자주식회사 통신 시스템에서 멀티미디어 컨텐츠 위임 방법 및 장치
CN104424432B (zh) * 2013-08-26 2017-11-28 联想(北京)有限公司 一种信息处理方法及电子设备
CN103561299B (zh) * 2013-10-31 2017-09-08 宇龙计算机通信科技(深圳)有限公司 多媒体文件播放方法、移动终端及多媒体文件播放系统
CN104639721B (zh) * 2013-11-06 2018-11-27 阿里巴巴集团控股有限公司 在移动终端设备中提供应用程序信息的方法及装置
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
TWI616803B (zh) * 2013-12-27 2018-03-01 宏碁股份有限公司 螢幕畫面的縮放及操作方法、裝置與電腦程式產品
CN104750351A (zh) * 2013-12-30 2015-07-01 比亚迪股份有限公司 移动终端及其退回至桌面的方法和装置
CN103744671B (zh) * 2013-12-31 2017-06-27 联想(北京)有限公司 一种信息处理的方法及电子设备
US9558787B2 (en) 2014-01-29 2017-01-31 Google Inc. Media application backgrounding
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
CN104899199B (zh) * 2014-03-04 2018-12-28 阿里巴巴集团控股有限公司 一种数据仓库数据处理方法和系统
US9871741B2 (en) * 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US9760417B2 (en) 2014-03-10 2017-09-12 Microsoft Technology Licensing, Llc Application dehydration and rehydration during application-to-application calls
TWI602125B (zh) * 2014-04-17 2017-10-11 國立臺灣大學 資源分配方法
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9690685B2 (en) 2014-05-30 2017-06-27 Apple Inc. Performance management based on resource consumption
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10552179B2 (en) 2014-05-30 2020-02-04 Apple Inc. Resource management with dynamic resource policies
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
EP3480811A1 (fr) 2014-05-30 2019-05-08 Apple Inc. Procédé d'entrée à simple énoncé multi-commande
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9537852B2 (en) * 2014-06-04 2017-01-03 Sonos, Inc. Cloud queue access control
CN104038806B (zh) * 2014-06-11 2017-09-29 深圳市九洲电器有限公司 一种应用界面显示方法及机顶盒
CN104346560B (zh) * 2014-06-25 2017-06-16 腾讯科技(深圳)有限公司 一种安全验证方法及装置
CN104023147B (zh) * 2014-06-27 2016-05-11 广东欧珀移动通信有限公司 一种可使移动终端稳定休眠的方法及系统
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9665248B2 (en) 2014-07-15 2017-05-30 Google Inc. Adaptive background playback behavior
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
CN105446803A (zh) * 2014-08-18 2016-03-30 阿里巴巴集团控股有限公司 一种应用程序管理方法和装置
US20160085840A1 (en) * 2014-09-22 2016-03-24 Microsoft Corporation Universal Interaction for Capturing Content to Persistent Storage
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US9678640B2 (en) 2014-09-24 2017-06-13 Microsoft Technology Licensing, Llc View management architecture
US9860306B2 (en) * 2014-09-24 2018-01-02 Microsoft Technology Licensing, Llc Component-specific application presentation histories
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
CN104407981B (zh) * 2014-10-28 2018-03-20 小米科技有限责任公司 内存管理方法和装置
US9762688B2 (en) 2014-10-31 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to improve usage crediting in mobile devices
US10192549B2 (en) 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
CN104503740A (zh) * 2014-12-01 2015-04-08 小米科技有限责任公司 内存管理方法和装置
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US11423420B2 (en) 2015-02-06 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to credit media presentations for online media distributions
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US20160291846A1 (en) * 2015-03-31 2016-10-06 Airwatch Llc Generating carousel user interface with graphics processing unit
CN104793846A (zh) * 2015-04-27 2015-07-22 小米科技有限责任公司 应用程序的界面展示方法及装置
US9405597B1 (en) 2015-05-01 2016-08-02 Salesforce.Com, Inc. Centralized throttling service
US20160335265A1 (en) * 2015-05-11 2016-11-17 Samsung Electronics Co., Ltd. User terminal apparatus and controlling method thereof
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
KR20160143429A (ko) * 2015-06-05 2016-12-14 엘지전자 주식회사 이동단말기 및 그 제어방법
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10069785B2 (en) 2015-06-05 2018-09-04 Apple Inc. Network messaging for paired devices
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10659845B2 (en) 2015-08-06 2020-05-19 Google Llc Methods, systems, and media for providing video content suitable for audio-only playback
US10216694B2 (en) * 2015-08-24 2019-02-26 Google Llc Generic scheduling
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) * 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
CN105335242B (zh) * 2015-11-02 2019-03-26 传线网络科技(上海)有限公司 Ios系统中后台下载视频文件的方法及系统
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10462745B2 (en) * 2016-01-15 2019-10-29 Google Llc Systems and methods for extending battery life by monitoring device activity
US10268254B2 (en) * 2016-01-15 2019-04-23 Google Llc Systems and methods for extending battery life by monitoring mobile application activity
US11086418B2 (en) * 2016-02-04 2021-08-10 Douzen, Inc. Method and system for providing input to a device
KR102459031B1 (ko) * 2016-02-15 2022-10-26 삼성전자 주식회사 전자 장치 및 그 어플리케이션 표시 방법
WO2017157428A1 (fr) * 2016-03-16 2017-09-21 Sony Mobile Communications Inc Commande de la lecture de données audio contenant des paroles
CN105868624A (zh) * 2016-03-23 2016-08-17 北京小米移动软件有限公司 应用程序权限的管理方法及装置
US10216370B2 (en) * 2016-03-29 2019-02-26 Microsoft Technology Licensing, Llc Tabs in system task switchers
CN105704239B (zh) * 2016-03-31 2018-08-24 广州指点网络科技有限公司 高速下载无线热点云终端及应用方法
CN107291549B (zh) * 2016-03-31 2020-11-24 阿里巴巴集团控股有限公司 一种管理应用程序的方法及装置
WO2017185263A1 (fr) * 2016-04-27 2017-11-02 华为技术有限公司 Procédé et appareil de récupération de mémoire
US20170353603A1 (en) * 2016-06-03 2017-12-07 Facebook, Inc. Recommending applications using social networking information
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10520979B2 (en) 2016-06-10 2019-12-31 Apple Inc. Enhanced application preview mode
US10747467B2 (en) 2016-06-10 2020-08-18 Apple Inc. Memory management for application loading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10725761B2 (en) * 2016-06-10 2020-07-28 Apple Inc. Providing updated application data for previewing applications on a display
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
CN105955701A (zh) * 2016-06-21 2016-09-21 深圳市金立通信设备有限公司 一种音量调节方法及终端
KR20180013608A (ko) * 2016-07-29 2018-02-07 삼성전자주식회사 전자 장치의 전력 소모 감소를 위한 방법 및 장치
US20180063670A1 (en) * 2016-08-26 2018-03-01 Microsoft Technology Licensing, Llc Background management of mobile applications
US11599383B2 (en) * 2016-08-30 2023-03-07 Microsoft Technology Licensing, Llc Concurrent execution of task instances relating to a plurality of applications
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN107968960A (zh) * 2016-10-20 2018-04-27 中兴通讯股份有限公司 一种后台音视频播放控制方法和装置
CN106559572B (zh) * 2016-11-15 2020-12-01 泾县谷声信息科技有限公司 杂音定位方法及装置
US10353686B1 (en) * 2016-12-28 2019-07-16 Facebook, Inc. Application installation system
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10666707B2 (en) * 2017-01-11 2020-05-26 Microsoft Technology Licensing, Llc Nonconsecutive file downloading
US10536322B2 (en) 2017-01-17 2020-01-14 Microsoft Technology Licensing, Llc Resource management for services
CN106897135A (zh) * 2017-02-28 2017-06-27 努比亚技术有限公司 一种应用中断后的恢复方法及装置
US10117083B1 (en) 2017-04-28 2018-10-30 Motorola Solutions, Inc. Method and apparatus for audio prioritization
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
WO2019028912A1 (fr) * 2017-08-11 2019-02-14 华为技术有限公司 Procédé et dispositif de commutation d'application
US11196875B2 (en) * 2017-09-20 2021-12-07 Fujifilm Business Innovation Corp. Application apparatus, image processing apparatus, and non-transitory computer readable medium with plurality of recovery methods for applications switching to be in operation target state
CN107678817A (zh) * 2017-09-21 2018-02-09 北京三快在线科技有限公司 视图切换方法和装置以及计算设备
CN107678796A (zh) * 2017-09-28 2018-02-09 惠州Tcl移动通信有限公司 一种优化系统资源的方法、存储设备及移动终端
CN107634962B (zh) * 2017-10-11 2019-06-18 Oppo广东移动通信有限公司 网络带宽的管理方法及相关产品
WO2019071619A1 (fr) * 2017-10-13 2019-04-18 华为技术有限公司 Procédé de gestion d'application et terminal
CN107770381B (zh) * 2017-10-25 2020-08-14 Oppo广东移动通信有限公司 网络管理方法及相关产品
CN109714640B (zh) * 2017-10-26 2022-01-21 创盛视联数码科技(北京)有限公司 播放直播视频的方法
US11068127B2 (en) * 2017-10-27 2021-07-20 Oracle International Corporation Springboard interface for quick task transitions
KR102477043B1 (ko) * 2017-11-08 2022-12-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10366766B2 (en) 2017-12-12 2019-07-30 Western Digital Technologies, Inc. Power shaping and peak power reduction by data transfer throttling
CN109992398B (zh) * 2017-12-29 2021-06-25 Oppo广东移动通信有限公司 资源管理方法、装置、移动终端及计算机可读存储介质
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11010498B1 (en) 2018-02-06 2021-05-18 Life360, Inc. App usage detection based on screen lock state
US11627215B1 (en) 2018-02-14 2023-04-11 Life360, Inc. Smart usage monitoring and access control of web and mobile applications
US10764143B2 (en) * 2018-02-26 2020-09-01 Verizon Patent And Licensing Inc. System and method for enforcing group policies for MTC devices to perform background data transfers
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
JP7041559B2 (ja) * 2018-03-14 2022-03-24 キヤノン株式会社 通信装置、データ転送装置およびそれらの制御方法、並びにプログラム
CN108600817B (zh) * 2018-03-15 2021-03-16 聚好看科技股份有限公司 智能电视以及便于浏览显示设备中应用安装进度的方法
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
EP3777344A1 (fr) * 2018-04-06 2021-02-17 Convida Wireless, LLC Procédés de gestion de connexions à un réseau de données local (ladn) dans un réseau 5g
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10713212B2 (en) 2018-05-21 2020-07-14 Microsoft Technology Licensing Llc Mobile remote direct memory access
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11055110B2 (en) * 2018-06-05 2021-07-06 Microsoft Technology Licensing, Llc Operating system service for persistently executing programs
CN108882041B (zh) * 2018-07-09 2021-03-05 海信视像科技股份有限公司 播放器状态获取方法及装置
CN110806925B (zh) * 2018-08-06 2022-08-23 成都鼎桥通信技术有限公司 音频播放方法及设备
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN111045632B (zh) * 2018-10-11 2024-01-30 瑞昱半导体股份有限公司 音频播放装置及其运行方法
US11159601B1 (en) * 2018-10-16 2021-10-26 Amazon Technologies, Inc. Triggering a content-related action based on a network identifier
CN109634549A (zh) * 2018-10-23 2019-04-16 中国平安人寿保险股份有限公司 音频播放方法、音频播放器、计算机装置及可读存储介质
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109088997B (zh) * 2018-10-26 2021-05-21 努比亚技术有限公司 一种游戏音频控制方法、终端及计算机可读存储介质
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
MX2021015527A (es) 2019-06-17 2022-02-03 Ericsson Telefon Ab L M Un metodo para actualizar una politica de transferencia de datos en segundo plano negociada entre una funcion de aplicacion y una red central, una funcion de control de politicas y una funcion de aplicacion.
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
CN112685167A (zh) * 2019-10-17 2021-04-20 伊姆西Ip控股有限责任公司 资源使用方法、电子设备和计算机程序产品
US11775362B2 (en) * 2019-10-22 2023-10-03 Vmware, Inc. Content provisioning to virtual machines
US11422844B1 (en) 2019-11-27 2022-08-23 Amazon Technologies, Inc. Client-specified network interface configuration for serverless container management service
US11392422B1 (en) * 2019-11-27 2022-07-19 Amazon Technologies, Inc. Service-managed containers for container orchestration service
CN111200753A (zh) * 2020-02-20 2020-05-26 四川长虹电器股份有限公司 提升Android电视网络视频播放流畅度的方法
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
CN116018187A (zh) * 2020-06-22 2023-04-25 奥迪奥莫布有限公司 向数字作品添加音频内容
KR20230012635A (ko) 2020-06-22 2023-01-26 오디오몹 리미티드 디지털 저작물에 오디오 콘텐츠 전송
US11403150B1 (en) 2020-06-23 2022-08-02 Amazon Technologies, Inc. Replenishment-aware resource usage management
US11573816B1 (en) 2020-06-26 2023-02-07 Amazon Technologies, Inc. Prefetching and managing container images using cluster manifest
US11487591B1 (en) 2020-06-29 2022-11-01 Amazon Technologies, Inc. Automatically configuring execution of a containerized application
CN111880875B (zh) * 2020-07-15 2023-12-22 百度在线网络技术(北京)有限公司 多媒体播放的控制方法、装置、设备、存储介质和系统
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
WO2022018592A1 (fr) * 2020-07-21 2022-01-27 Appnomic Systems Private Limited Identification précoce de problèmes lors de l'exécution de processus d'arrière-plan
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11567800B2 (en) 2020-07-21 2023-01-31 Appnomic Systems Private Limited Early identification of problems in execution of background processes
US11853807B1 (en) 2020-12-01 2023-12-26 Amazon Technologies, Inc. Cluster scaling based on task state information
CN112650958B (zh) * 2020-12-28 2023-12-19 北京达佳互联信息技术有限公司 页面处理方法、装置、电子设备及计算机可读存储介质
US11797287B1 (en) 2021-03-17 2023-10-24 Amazon Technologies, Inc. Automatically terminating deployment of containerized applications
US11892418B1 (en) 2021-06-30 2024-02-06 Amazon Technologies, Inc. Container image inspection and optimization
US11995466B1 (en) 2021-06-30 2024-05-28 Amazon Technologies, Inc. Scaling down computing resource allocations for execution of containerized applications
US11989586B1 (en) 2021-06-30 2024-05-21 Amazon Technologies, Inc. Scaling up computing resource allocations for execution of containerized applications
CN116737104A (zh) * 2022-09-16 2023-09-12 荣耀终端有限公司 音量调节方法和相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257386A (en) 1990-04-05 1993-10-26 Fujitsu Limited Data transfer control system for virtual machine system
WO2009097555A2 (fr) 2008-01-30 2009-08-06 Google Inc. Notification d'événements de dispositif mobile
US20090327481A1 (en) 2008-06-30 2009-12-31 International Business Machines Corporation Adaptive data throttling for storage controllers

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL97894A0 (en) 1991-04-17 1992-06-21 Ibm Multi-processor computer system
US5398723A (en) * 1994-02-28 1995-03-21 Aeroquip Corporation Fluid coupling with adjustable pressure relief valve
US5850518A (en) 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5754776A (en) 1995-12-28 1998-05-19 Intel Corporation Re-prioritizing background data transfers in multipoint conferencing
US8120652B2 (en) * 1997-04-02 2012-02-21 Gentex Corporation System for controlling vehicle equipment
US6324411B1 (en) 1997-05-20 2001-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Background software loading in cellular telecommunication systems
US6005488A (en) * 1997-12-03 1999-12-21 Ford Motor Company User control interface architecture for automotive electronic systems
US6874145B1 (en) 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
US6957395B1 (en) * 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US7275085B1 (en) 2000-04-14 2007-09-25 International Business Machines Corporation Method and apparatus for maintaining state information for web pages using a directory server
US7058947B1 (en) 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
AU2001257510A1 (en) 2000-05-03 2001-11-12 Worldgate Service, Inc. System and method to control and distribute processing and memory resources among applications in a television terminal
US6629227B1 (en) 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US20020012329A1 (en) * 2000-06-02 2002-01-31 Timothy Atkinson Communications apparatus interface and method for discovery of remote devices
US7124424B2 (en) 2000-11-27 2006-10-17 Sedna Patent Services, Llc Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces
US7512952B1 (en) 2001-04-06 2009-03-31 Palmsource, Inc. Task switching with state preservation for programs running on an electronic device
US7539483B2 (en) 2001-05-02 2009-05-26 Qualcomm Incorporated System and method for entering alphanumeric characters in a wireless communication device
US20050024341A1 (en) * 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US7546602B2 (en) * 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US6683938B1 (en) 2001-08-30 2004-01-27 At&T Corp. Method and system for transmitting background audio during a telephone call
US20030061260A1 (en) 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management
US7237240B1 (en) * 2001-10-30 2007-06-26 Microsoft Corporation Most used programs list
US7346855B2 (en) 2001-12-21 2008-03-18 Microsoft Corporation Method and system for switching between multiple computer applications
US20040153504A1 (en) * 2002-11-21 2004-08-05 Norman Hutchinson Method and system for enhancing collaboration using computers and networking
KR20040046483A (ko) * 2002-11-27 2004-06-05 삼성전자주식회사 컴퓨터시스템 및 그 제어방법
US20040194153A1 (en) 2003-03-24 2004-09-30 Sony Corporation And Sony Electronics Inc. Conservation of system resources by efficiently activating/de-activating applications
US7076616B2 (en) 2003-03-24 2006-07-11 Sony Corporation Application pre-launch to reduce user interface latency
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7146439B1 (en) 2003-06-27 2006-12-05 Emc Corporation Management of background copy task for point-in-time copies
GB0315492D0 (en) 2003-07-02 2003-08-06 Symbian Ltd A method of enabling a multitasking wireless information device to conserve battery power
US8032890B2 (en) 2003-07-22 2011-10-04 Sap Ag Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources
US20050026654A1 (en) 2003-07-30 2005-02-03 Motorola, Inc. Dynamic application resource management
JP4651623B2 (ja) * 2003-12-01 2011-03-16 リサーチ イン モーション リミテッド 小型スクリーンデバイス上の新しいイベントのプレビューイング
CA2831359A1 (fr) 2004-03-13 2005-09-29 Adaptive Computing Enterprises, Inc. Systeme et procede pour co-attribuer une reservation englobant differents types de ressources de calcul
EP1743322A4 (fr) * 2004-04-30 2008-04-30 Hillcrest Lab Inc Procedes et dispositif permettant de supprimer un mouvement non intentionnel dans des dispositifs de pointage en espace libre
US20050278449A1 (en) 2004-05-28 2005-12-15 Moss Douglas G Method of restricting access to certain materials available on electronic devices
US20080154601A1 (en) 2004-09-29 2008-06-26 Microsoft Corporation Method and system for providing menu and other services for an information processing system using a telephone or other audio interface
EP1657888A1 (fr) * 2004-11-16 2006-05-17 Abb Research Ltd. Réception de trames redondantes et non redondantes
JP4611000B2 (ja) 2004-11-17 2011-01-12 パナソニック株式会社 携帯端末装置
US7668576B2 (en) * 2004-12-16 2010-02-23 Dashjack, Inc. Incorporating a portable digital music player into a vehicle audio system
US20060136882A1 (en) 2004-12-17 2006-06-22 Nokia Corporation System and method for background JAVA application resource control
US20060213754A1 (en) 2005-03-17 2006-09-28 Microsoft Corporation Method and system for computer application program task switching via a single hardware button
US7673255B2 (en) * 2005-04-22 2010-03-02 Microsoft Corporation Interface and system for manipulating thumbnails of live windows in a window manager
EP1724955A3 (fr) 2005-05-17 2007-01-03 Samsung Electronics Co.,Ltd. Méthode pour prendre un appel téléphonique pendant la réception d'un service de radiodiffusion, ainsi que terminal numérique de radiodiffusion multimédia utilisant cette méthode.
US20060288336A1 (en) 2005-06-21 2006-12-21 Microsoft Corporation Module initialization
US20070036137A1 (en) * 2005-07-29 2007-02-15 Horner Richard M Indicating presence of a contact on a communication device
US7663045B2 (en) 2005-09-20 2010-02-16 Microsoft Corporation Music replacement in a gaming system
ATE511258T1 (de) 2005-09-30 2011-06-15 Research In Motion Ltd Verfahren und vorrichtungen zum dynamischen justieren einer datenpaket-fenstergrösse für die datenpaketübertragung in einem drahtlosen kommunikationsnetz
US9274774B2 (en) * 2005-10-28 2016-03-01 Google Inc. Common installer server
US8082008B2 (en) 2006-02-10 2011-12-20 Access Co., Ltd. User-interface and architecture for portable processing device
JP4177873B2 (ja) 2006-03-13 2008-11-05 株式会社カシオ日立モバイルコミュニケーションズ 電子機器及びプログラム
US8745526B2 (en) 2006-03-14 2014-06-03 Blackberry Limited Screen display in application switching
US7706903B2 (en) * 2006-04-13 2010-04-27 International Business Machines Corporation Selective muting of applications
US20070294699A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
KR100700951B1 (ko) 2006-08-23 2007-03-28 삼성전자주식회사 이동통신 시스템에서 다중 작업 관리를 위한 장치 및 방법
WO2008026252A1 (fr) * 2006-08-29 2008-03-06 Pioneer Corporation Dispositif et procédé d'enregistrement et de reproduction d'informations et programme informatique associé
KR100784973B1 (ko) 2006-09-11 2007-12-11 삼성전자주식회사 영상 데이터의 변조를 이용한 영역 표시 방법
US20080082936A1 (en) 2006-09-28 2008-04-03 Richard Eric Helvick Method and system for displaying alternative task data on mobile electronic device
US8245154B2 (en) * 2006-11-03 2012-08-14 International Business Machines Corporation Most-recently-used task switching among parent and child windows
TWI377813B (en) 2006-11-24 2012-11-21 Inst Information Industry Apparatus, method, computer program, and computer readable medium for transnitting data via a plurality of network interfaces
US8448067B2 (en) 2006-12-07 2013-05-21 Sony Computer Entertainment America, LLC Graphics command management tool and methods for analyzing performance for command changes before application modification
US7827358B2 (en) 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
US20080172698A1 (en) 2007-01-12 2008-07-17 Berger Adam L Performing support functions on a portable device
JP2010517161A (ja) 2007-01-23 2010-05-20 アギア システムズ インコーポレーテッド デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え
US8499312B2 (en) 2007-03-09 2013-07-30 Microsoft Corporation Administrator level access to backend stores
WO2008113986A2 (fr) 2007-03-16 2008-09-25 British Telecommunications Public Limited Company Programmateur de transmission de données
US8261205B2 (en) * 2007-05-30 2012-09-04 Hewlett-Packard Development Company, L.P. User interface for presenting a list of thumbnail items associated with media items
JP5327497B2 (ja) * 2007-07-11 2013-10-30 日立オートモティブシステムズ株式会社 地図データ配信システム及び地図データ更新方法
US7823076B2 (en) * 2007-07-13 2010-10-26 Adobe Systems Incorporated Simplified user interface navigation
US20090028127A1 (en) 2007-07-26 2009-01-29 Gordon Kent Walker Methods and apparatus for providing computational load allocation in a network environment
WO2009037522A2 (fr) 2007-08-30 2009-03-26 Nokia Corporation Messagerie mobile
JP5184018B2 (ja) * 2007-09-14 2013-04-17 京セラ株式会社 電子機器
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
US8943520B1 (en) * 2007-11-28 2015-01-27 Sprint Communications Company L.P. Uniform resource locator application initiation
US8059570B2 (en) 2008-01-11 2011-11-15 Apple Inc. Mobile network device battery conservation system and methods
US8555201B2 (en) 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
US20090327953A1 (en) 2008-06-30 2009-12-31 Nokia Corporation Unified navigation model between multiple applications
US8196213B2 (en) 2008-07-11 2012-06-05 Microsoft Corporation Verification of un-trusted code for consumption on an insecure device
US9542222B2 (en) * 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US20100153877A1 (en) * 2008-12-11 2010-06-17 Mika Antero Rautava Task Switching
US8458498B2 (en) 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
US8495403B2 (en) 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US8175653B2 (en) * 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
DE102009016742B4 (de) 2009-04-09 2011-03-10 Technische Universität Braunschweig Carolo-Wilhelmina Mehrprozessor-Computersystem
US20100281481A1 (en) 2009-04-30 2010-11-04 Nokia Corporation Apparatus and method for providing a user interface within a computing device
WO2010135359A2 (fr) * 2009-05-19 2010-11-25 Smx Inet Global Services Sa Fourniture à un dispositif local de services informatiques à partir d'un hôte distant
US8340099B2 (en) * 2009-07-15 2012-12-25 Microsoft Corporation Control of background data transfers
US10394582B2 (en) 2009-10-01 2019-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for managing persistent rich internet applications
US9152299B2 (en) * 2009-10-08 2015-10-06 Red Hat, Inc. Activity management tool
US9420602B2 (en) 2009-12-21 2016-08-16 At&T Intellectual Property I, L.P. Emergency and prioritized access to wireless resources
CN101788926B (zh) 2009-12-28 2014-04-30 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置
EP2357575A1 (fr) * 2010-02-12 2011-08-17 Research In Motion Limited Navigation prédictive et à base d'image
US20110252423A1 (en) 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking
US20120084737A1 (en) * 2010-10-01 2012-04-05 Flextronics Id, Llc Gesture controls for multi-screen hierarchical applications
US8856798B2 (en) 2010-10-21 2014-10-07 Qualcomm Incorporated Mobile computing device activity manager
US8635630B2 (en) 2010-10-25 2014-01-21 Microsoft Corporation Application lifetime management
US9763140B2 (en) 2010-11-02 2017-09-12 Cisco Technology, Inc. Resource reservation on networks comprising wireless and wired segments
US9600780B2 (en) 2010-11-29 2017-03-21 Nokia Technologies Oy Method and apparatus for sharing and managing resource availability
US9288230B2 (en) * 2010-12-20 2016-03-15 Qualcomm Incorporated Methods and apparatus for providing or receiving data connectivity
US20120158827A1 (en) 2010-12-21 2012-06-21 Verizon Patent And Licensing Inc. Active server system monitor
US8698822B1 (en) * 2010-12-30 2014-04-15 The Mathworks, Inc. Managing visual updates
US20120174020A1 (en) * 2010-12-31 2012-07-05 International Business Machines Corporation Indication of active window when switching tasks in a multi-monitor environment
US20120209413A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Background Audio on Mobile Devices
US9104440B2 (en) * 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9439208B2 (en) 2011-11-04 2016-09-06 Intel Corporation Scheduling requests for wireless communication devices running background applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257386A (en) 1990-04-05 1993-10-26 Fujitsu Limited Data transfer control system for virtual machine system
WO2009097555A2 (fr) 2008-01-30 2009-08-06 Google Inc. Notification d'événements de dispositif mobile
US20090327481A1 (en) 2008-06-30 2009-12-31 International Business Machines Corporation Adaptive data throttling for storage controllers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"iOS", 13 February 2011, pages: 1 - 10
See also references of EP2676206A4

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218497B2 (en) 2014-02-24 2015-12-22 Microsoft Technology Licensing, Llc Incentive-based app execution
US9432472B2 (en) 2014-02-24 2016-08-30 Microsoft Technology Licensing, Llc Accelerated training of personal daemons
US9473944B2 (en) 2014-02-24 2016-10-18 Microsoft Technology Licensing, Llc Local personal daemon
US9760401B2 (en) 2014-02-24 2017-09-12 Microsoft Technology Licensing, Llc Incentive-based app execution
US9842228B2 (en) 2014-02-24 2017-12-12 Microsoft Technology Licensing, Llc Local personal daemon
EP2937780A1 (fr) * 2014-04-25 2015-10-28 Canon Kabushiki Kaisha Dispositif et procédé pour limiter la transmission de données en arrière-plan
US10491492B2 (en) 2014-04-25 2019-11-26 Canon Kabushiki Kaisha Information processing terminal and control method
US9560055B2 (en) 2014-04-30 2017-01-31 Microsoft Technology Licensing, Llc Client-side integration framework of services
US9781128B2 (en) 2014-04-30 2017-10-03 Microsoft Technology Licensing, Llc Client-side integration framework of services
US9798580B2 (en) 2014-08-26 2017-10-24 Alibaba Group Holding Limited Method and apparatus for managing background application
US10031772B2 (en) 2014-08-26 2018-07-24 Alibaba Group Holding Limited Method and apparatus for managing background application
US10528228B2 (en) 2017-06-21 2020-01-07 Microsoft Technology Licensing, Llc Interaction with notifications across devices with a digital assistant

Also Published As

Publication number Publication date
US10631246B2 (en) 2020-04-21
US20120209946A1 (en) 2012-08-16
CN102779070A (zh) 2012-11-14
US10009850B2 (en) 2018-06-26
CN102685729A (zh) 2012-09-19
US9060196B2 (en) 2015-06-16
CN102685729B (zh) 2018-05-04
US20180352516A1 (en) 2018-12-06
EP2676206A4 (fr) 2016-08-03
US9560405B2 (en) 2017-01-31
WO2012112405A3 (fr) 2012-11-29
WO2012112405A2 (fr) 2012-08-23
US20180139700A9 (en) 2018-05-17
US10542496B2 (en) 2020-01-21
US20120210326A1 (en) 2012-08-16
US20120210321A1 (en) 2012-08-16
US20120209413A1 (en) 2012-08-16
EP2676206B1 (fr) 2017-08-16
US20120210266A1 (en) 2012-08-16
US20200154360A1 (en) 2020-05-14
CN102866913A (zh) 2013-01-09
US20170238259A1 (en) 2017-08-17
EP2676206A2 (fr) 2013-12-25
US11006369B2 (en) 2021-05-11
WO2012112404A3 (fr) 2012-12-27
CN102866913B (zh) 2018-03-30

Similar Documents

Publication Publication Date Title
US11006369B2 (en) Background transfer service for applications on mobile devices
US10528390B2 (en) Idempotent task execution in on-demand network code execution systems
US20240015112A1 (en) Load adaptation architecture framework for orchestrating and managing services in a cloud computing system
US8813175B2 (en) Multimodal computing device
US10884787B1 (en) Execution guarantees in an on-demand network code execution system
EP2893444B1 (fr) Gestion de ressources à base de quota
US20070245334A1 (en) Methods, media and systems for maintaining execution of a software process
KR101702698B1 (ko) 적응형 프로세스 중요도
JP2015531500A (ja) 安全なファームウェア更新
US20130055237A1 (en) Self-adapting software system
US11861577B2 (en) System and method for distributed enforcement of configuration limitations
US20230221784A1 (en) System and method for power state enforced subscription management
US20230221997A1 (en) System and method for subscription management using composed systems
JP2013516711A (ja) 電子デバイスにおける電力を制御するシステムおよび方法
CN103559080B (zh) 移动设备上的后台应用代码的受约束执行
US11455185B2 (en) Service schedule optimization for background execution limits
Huai et al. {XFUSE}: An Infrastructure for Running Filesystem Services in User Space
TWI525544B (zh) 用於行動設備上的應用程式的背景傳輸服務
US11275668B2 (en) Dynamically enhancing the performance of a foreground application
US20230412693A1 (en) Network-aware endpoint data loss prevention for web transactions
Zhao et al. SMILE: streaming management of applications and data for mobile terminals

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12747603

Country of ref document: EP

Kind code of ref document: A2

REEP Request for entry into the european phase

Ref document number: 2012747603

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012747603

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE