Accelerating application and sub-package installations

US11416232B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11416232-B2
Application numberUS-201917311657-A
CountryUS
Kind codeB2
Filing dateSep 3, 2019
Priority dateSep 3, 2019
Publication dateAug 16, 2022
Grant dateAug 16, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In some examples, a method includes downloading, from an application provider, a patch to be applied to a first application element and a stripped version of the application that does not include one or more application elements to be reused during installation of the application, decompressing the first application element to generate a decompressed version of the first application element, and decompressing the patch to generate a decompressed version of the patch. The method may also include applying the decompressed version of the patch to the decompressed version of the first application element to generate a patched application element, compressing the patched application element to generate a compressed patched application element, and installing the application using the compressed patched application element, the stripped version of the application, and the one or more application elements other than the first application element.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a computing device, a user input to install an application that is not currently installed at the computing device, wherein a plurality of applications are currently installed at the computing device, and wherein each of the plurality of applications includes a respective plurality of application elements; responsive to receiving the user input, sending, by the computing device and to an application provider, a request to install the application; receiving, by the computing device and from the application provider, an indication of one or more application elements from the respective plurality of application elements included in the plurality of applications currently installed at the computing device, wherein the one or more application elements are to be reused during installation of the application, wherein the one or more application elements include a first application element that is to be updated from a current version to a different version required by the application, and wherein the first application element is stored at the computing device in a compressed format; downloading, by the computing device and from the application provider, a patch to be applied to the first application element and a stripped version of the application that does not include the one or more application elements to be reused during installation of the application; decompressing, by the computing device, the first application element to generate a decompressed version of the first application element; decompressing, by the computing device, the patch to generate a decompressed version of the patch; applying, by the computing device, the decompressed version of the patch to the decompressed version of the first application element to generate a patched application element; compressing, by the computing device, the patched application element to generate a compressed patched application element that is the different version of the first application element required by the application; and installing, by the computing device, the application at the computing device using the compressed patched application element, the stripped version of the application, and the one or more application elements other than the first application element. 2. The method of claim 1 , wherein: the application that is not currently installed at the computing device is an application sub-package for a particular application from the plurality of applications already installed at the computing device; the application sub-package is not currently installed at the computing device; the particular application comprises a plurality of application sub-packages; a subset of the plurality of application sub-packages are currently installed at the computing device; each application sub-package from the plurality of application sub-packages of the particular application is separately installable and provides a discrete set of functionality for the particular application; and installing the application comprises installing the application sub-package at the computing device using the compressed patched application element, the stripped version of the application sub-package, and the one or more application elements other than the first application element. 3. The method of claim 2 , wherein receiving the indication of the one or more application elements, downloading the patch and the stripped version of the application sub-package, decompressing the first application element, decompressing the patch, applying the decompressed version of the patch, compressing the patched application element, and installing the application sub-package are performed while the particular application is executing at the computing device. 4. The method of claim 2 , wherein: the user input is received while the particular application is executing at the computing device; and the user input to install the application is a user input that requests previously unused functionality of the particular application. 5. The method of claim 4 , wherein execution of the particular application is managed by an application container executing at the computing device, the method further comprising: responsive to receiving the user input, determining, by the application container, whether an installable application sub-package that provides functionality of the particular application requested by the user input is not installed at the computing device; and responsive to determining that the installable application sub-package is not installed at the computing device, generating, by the application container, the request to install the application sub-package. 6. The method of claim 1 , wherein downloading the patch and the stripped version of the application comprises: initiating, by the computing device, download of the patch to be applied to the first application element; and initiating, by the computing device, download of the stripped version of the application that does not include the one or more application elements to be reused during installation of the application. 7. The method of claim 6 , further comprising: establishing, by the computing device and with the application provider, at least two download streams, wherein initiating download of the patch includes initiating download of the patch using a first download stream from the at least two download streams, and wherein initiating download of the stripped version of the application includes initiating download of the stripped version of the application using a second download stream from the at least two download streams. 8. The method of claim 6 , wherein decompressing the patch, applying the patch, and compressing the patched application element are performed while the stripped version of the application is being downloaded. 9. The method of claim 6 , wherein decompressing the first application element is performed while the patch is being downloaded. 10. The method of claim 1 , further comprising: creating, by the computing device, a respective copy of each application element from the one or more application elements currently stored at the computing device including a copy of the first application element. 11. A computing device comprising: one or more processors; a presence-sensitive display that detects a user input to install an application that is not currently installed at the computing device; a communication unit; and a computer-readable storage medium that stores a plurality of applications, wherein each of the plurality of applications includes a respective plurality of application elements and stores instructions that, when executed by the one or more processors, causes the one or more processors to: responsive to receiving the user input, send, to an application provider via the communication unit, a request to install the application; receive, from the application provider via the communication unit, an indication of one or more application elements from the respective plurality of application elements included in the plurality of applications currently installed at the computing device, wherein the one or more application elements are to be reused during installation of the application, wherein the one or more application elements include a first application element that is to be updated from a current version to a different version required by the application, and wherein the first application element is stored at the computing device in a compressed format; retrieve, from the application provider via the communication unit, a patch to be applied to the first application element and a stripp

Assignees

Inventors

Classifications

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/61Primary

    Installation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11416232B2 cover?
In some examples, a method includes downloading, from an application provider, a patch to be applied to a first application element and a stripped version of the application that does not include one or more application elements to be reused during installation of the application, decompressing the first application element to generate a decompressed version of the first application element, an…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/61. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 16 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).