Abstract:
This application sets forth techniques for managing the allocation of memory storage space in a non-volatile memory to improve the operation of a camera application. A camera application monitors an amount of available memory storage space in the non-volatile memory. Responsive to various triggering events, the camera application compares the amount of available memory storage space to a threshold value. When the amount of available memory storage space is less than the threshold value, the camera application transmits a request to a background service to free additional memory storage space within a temporary data store associated with one or more applications installed on the computing device. The temporary data store provides a location for local data to improve the efficiency of the applications, which can be exploited by the camera application to free up memory to avoid a low-memory condition that could prevent the camera application from performing certain operations.
Abstract:
This application sets forth techniques for managing the allocation of storage space within a storage device that is communicably coupled to a computing device. Requests are received from a plurality of applications executing on the computing device, in which each request specifies a respective amount of storage space to be reserved within the storage device. Detection is performed for the availability of a minimum amount of free space that corresponds to an optimal amount of space for executing at least one application of the plurality of applications. A respective priority ranking for each application is identified based on historical data gathered for the applications. Based on the priority rankings, a subset of requests from the plurality of requests is established. For each request of the subset, at least a portion of the respective amount of space specified by the request is reserved while maintaining the minimum amount of free space.
Abstract:
The disclosed embodiments provide a system that delivers content to an electronic device, The system includes a content provider that obtains a public address of the electronic device from a first request for the content from the electronic device, Next, the content provider uses the public address to identify a local caching server on a local area network (LAN) of the electronic device. Finally, the content provider provides a local address of the local caching server to the electronic device, wherein the local address is used by the electronic device to obtain the content from the local caching server and the LAN without accessing a content delivery network (CDN) outside the LAN.
Abstract:
Systems, methods, devices and non-transitory, computer-readable mediums are disclosed for device-to-device caching. In some implementations, a method includes: registering, by an electronic device, a cache service on a local area network (LAN), the LAN including other registered electronic devices; generating, by the electronic device, a content map for cached content, the content map generated from descriptors of the cached content and including data indicating that the cached content described by the content descriptors is possibly cached or is definitely not cached by the electronic device; advertising, by the electronic device, the registered cache service and the content map; receiving, by the electronic device, a request for content from a requesting electronic device registered on the LAN; determining, by the electronic device, that the requested content is cached; and sending, by the electronic device, the requested content to the requesting electronic device.
Abstract:
In response to detecting a storage management input, a device displays a storage management user interface including a first storage management affordance that is associated with a first storage management operation and a second storage management affordance that is associated with a second storage management operation. While displaying the storage management user interface, the device detects a selection input selecting the first storage management affordance. In response to detecting the selection input, the device initiates a process for performing the first storage management operation. After initiating the process for performing the first storage management operation, the device displays the storage management user interface including the second storage management affordance and a third storage management affordance that is associated with a third storage management operation that is different from the first storage management operation and the second storage management operation.
Abstract:
Disclosed herein is a technique for managing storage space in a user device. Users are provided with options to manage storage space usage in an organized and efficient manner. The options can include recommendations to the user regarding automatically and/or manually purging data from the user device to free up a particular amount of storage space that is needed to carry out a particular task.
Abstract:
In accordance with some embodiments, a method is performed at a device with one or more processors, a display, and one or more input devices. The method includes detecting, via the one or more input devices, a storage management input indicative of a request to manage data stored on the device. In response to detecting the storage management input, the method includes displaying, on the display, a storage management user interface including a first storage management affordance that is associated with a first storage management operation and a second storage management affordance that is associated with a second storage management operation that is different from the first storage management operation. While displaying the storage management user interface, the method includes detecting, via the one or more input devices, a selection input selecting the first storage management affordance. In response to detecting the selection input, the method includes initiating a process for performing the first storage management operation. After initiating the process for performing the first storage management operation, the method includes displaying, on the display, the storage management user interface including the second storage management affordance and a third storage management affordance that is associated with a third storage management operation that is different from the first storage management operation and the second storage management operation. In accordance with some embodiments, a method is performed at a device with one or more processors, a display, and one or more input devices. The method includes, while an application is installed on the device and a representation of the application has a designated location in a respective portion of an application launching user interface, detecting, via the one or more input devices, an application-demotion request to delete the application from the device without deleting the associated data for the application. In response to detecting the application-demotion request, the method includes deleting the application from the device without deleting the associated data for the application. After deleting the application from the device, the method includes detecting a request to display the respective portion of the application launching user interface and, in response to detecting the request to display the respective portion of the application launching user interface, displaying, on the display, the respective portion of the application launching user interface, including displaying the representation of the application in the designated location in the respective portion of the application launching user interface.
Abstract:
In the described embodiments, local caching servers (LCSs) are configured to cache content so that the content can be acquired by client electronic devices that are located on local area networks (LANs) with the LCSs. In some embodiments, to enable the acquisition of the cached content, a client electronic device sends, to a registration server, a request for identifiers for LCSs that are located on a LAN with the client electronic device. The request includes one or more “listen ranges,” each of which includes an indication of client electronic devices for which a corresponding LCS is to provide content. The registration server uses the listen ranges to select one or more LCSs, and returns identifiers for the one or more LCSs to the client electronic device. Using the one or more identifiers, the client electronic device acquires the content from an LCS via the LAN.
Abstract:
In the described embodiments, local caching servers (LCSs) are configured to cache content so that the content can be acquired by client electronic devices that are located on local area networks (LANs) with the LCSs. In some embodiments, to enable the acquisition of the cached content, a client electronic device sends, to a registration server, a request for identifiers for LCSs that are located on a LAN with the client electronic device. The request includes one or more “listen ranges,” each of which includes an indication of client electronic devices for which a corresponding LCS is to provide content. The registration server uses the listen ranges to select one or more LCSs, and returns identifiers for the one or more LCSs to the client electronic device. Using the one or more identifiers, the client electronic device acquires the content from an LCS via the LAN.
Abstract:
The described embodiments electronically deliver content (e.g., digitally-encoded files) to an electronic device using groups of accounts. In the described embodiments, a content provider obtains a public address of the electronic device and at least one account identifier for the electronic device from a request for the content received from the electronic device. Next, the content provider uses the public address to identify a local caching server (LCS) on a local area network (LAN) to which the electronic device is connected and uses the account identifier to determine that an account associated with the LCS is associated with a group of accounts with which an account for the electronic device is also associated. The content provider then provides a local address of the LCS to the electronic device, which uses the local address to obtain the content from the LCS via the LAN without accessing a content delivery network outside the LAN.