Evolving streaming installation of software applications
First Claim
Patent Images
1. A computer-implemented method comprising:
- from a plurality of client devices installing an executable application available for installation and comprising a plurality of application chunks via a recipe file indicative of a nonlinear ordering of the application chunks, receiving application chunk access information, wherein the application chunk access information comprises indication of at least one application chunk requested during execution of the executable application but not resident at a reporting client device;
aggregating the application chunk access information, wherein aggregating the application chunk access information comprises identifying a particular application chunk as to be pre-fetched;
based on the application chunk access information from the plurality of client devices, generating a revised recipe file, wherein generating the revised recipe file comprises specifying that the particular application chunk is to be pre-fetched; and
publishing the revised recipe file for consumption by future client devices installing the executable application;
wherein;
the application chunk access information comprises a cache miss context; and
generating the revised recipe file comprises incorporating the cache miss context into the revised recipe file.
1 Assignment
0 Petitions
Accused Products
Abstract
High-performance streaming installation of software applications can be achieved by pre-fetching chunks of application files. Pre-fetching can be directed by a recipe file that can handle a wide variety of application behaviors. If a missing chunk is encountered during execution of the application, a cache miss record can be created and forwarded to a telemetry server. Cache miss records can be aggregated to generate a revised recipe file so that future installations of the application avoid the missing chunk scenario. Using the revised recipe file can cause fewer interruptions, result in less delay and otherwise improve performance.
-
Citations
18 Claims
-
1. A computer-implemented method comprising:
-
from a plurality of client devices installing an executable application available for installation and comprising a plurality of application chunks via a recipe file indicative of a nonlinear ordering of the application chunks, receiving application chunk access information, wherein the application chunk access information comprises indication of at least one application chunk requested during execution of the executable application but not resident at a reporting client device; aggregating the application chunk access information, wherein aggregating the application chunk access information comprises identifying a particular application chunk as to be pre-fetched; based on the application chunk access information from the plurality of client devices, generating a revised recipe file, wherein generating the revised recipe file comprises specifying that the particular application chunk is to be pre-fetched; and publishing the revised recipe file for consumption by future client devices installing the executable application; wherein; the application chunk access information comprises a cache miss context; and generating the revised recipe file comprises incorporating the cache miss context into the revised recipe file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computing system comprising:
-
one or more hardware processors; a plurality of application file chunks of an executable application available for installation by a plurality of requesting client devices; a recipe file comprising a nonlinear ordering of the application file chunks; an application installation service configured to receive a request for an application file chunk from a requesting client device and responsive to the request, send the application file chunk to the requesting client device; and a cache miss telemetry server configured to receive a report that an application file chunk associated with a chunk identifier resulted in a cache miss and generate a revised recipe file based on the chunk identifier of the report; wherein; the report further indicates a context in which the cache miss occurred; and the context is integrated into the revised recipe file. - View Dependent Claims (14, 15, 16, 17)
-
-
18. One or more computer-readable media comprising computer-executable instructions that when executed cause a computing system to perform a method comprising:
-
receiving a plurality of cache miss records from a plurality of client devices installing an executable application, wherein the cache miss records indicate a local chunk request history before a cache miss responsible for a cache miss record and further indicate a context in which the cache miss occurred; aggregating the plurality of cache miss records, wherein aggregating comprises identifying a troublesome application file chunk and a distinguishing common application file chunk in local chunk request histories associated with the troublesome application file chunk; generating an alternative path template comprising a chunk identifier of the distinguishing common application file chunk; generating an application file chunk path comprising a chunk identifier of the troublesome application file chunk; and incorporating the alternative path template and the application file chunk path into a revised recipe file, wherein the application file chunk path is activated for pre-fetching when a match is detected between the alternative path template and a local chunk request history, and the context in which the cache miss occurred is integrated into the revised recipe file.
-
Specification