System and method for updating application archive files
First Claim
Patent Images
1. A method for updating an application installed in a computing device, the method comprising:
- comparing, in an application distribution system, a first version of an application resident on said application distribution system with a received updated version of the application;
creating, in the application distribution system, a manifest file describing differences between the first version of the application and the received updated version of the application;
said manifest file including pointers to each of;
file portions that are not changed in the updated version of the application with respect to the first version of the application,file portions that are deleted from the updated version of the application with respect to the first version of the application, andfile portions that are changed in the updated version of the application with respect to the first version of the application; and
distributing the manifest file to the computing device wherein the computing device updates said installed application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the first version of the application.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and non-transitory computer-readable storage media for updating software applications installed on client computing devices, creating a manifest file describing the differences between multiple versions of application archives present in an application distribution system, and coordinating an update process for updating the applications on the client computing devices are disclosed. A scheme of hard-linking to existing files, downloading new files, and erasing unwanted files can be used.
-
Citations
23 Claims
-
1. A method for updating an application installed in a computing device, the method comprising:
-
comparing, in an application distribution system, a first version of an application resident on said application distribution system with a received updated version of the application; creating, in the application distribution system, a manifest file describing differences between the first version of the application and the received updated version of the application; said manifest file including pointers to each of; file portions that are not changed in the updated version of the application with respect to the first version of the application, file portions that are deleted from the updated version of the application with respect to the first version of the application, and file portions that are changed in the updated version of the application with respect to the first version of the application; and distributing the manifest file to the computing device wherein the computing device updates said installed application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the first version of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
a network-based application distribution system including one or more processors configured to connect the network-based application distribution system with a plurality of client devices and with a plurality of application developers, an application database storing a resident version of a software application; a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors of a computing device, cause the network-based application distribution system to; compare said resident version of the application with an updated version of the application received from an application developer; create a manifest file describing differences between said resident version and said updated version received from said application developer, said manifest file containing scheme of pointers to; file portions that are not changed in the updated version with respect to the resident version, file portions that are deleted from the updated version with respect to the resident version, file portions that are changed in the updated version with respect to the resident version; and distribute the manifest file to the client devices wherein the client devices can update a previous version of the application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the previous version of the application. - View Dependent Claims (14, 15)
-
16. A non-transitory computer-readable storage medium storing instructions which, when executed by a computing device, cause the computing device to:
-
compare a first version of an application with a received updated version of the application; create a manifest file describing differences between the first version of the application and the received updated version of the application, said manifest file including a scheme of pointers to; file portions that are not changed in the updated version with respect to the first version, file portions that are deleted from the updated version with respect to the first version, and file portions that are changed in the updated version with respect to the first version; and distribute the manifest file to a computing client device containing an installed version of said application, wherein the computing device updates said installed application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the first version of the application. - View Dependent Claims (17, 18, 19)
-
-
20. A method for updating an application installed in a computing device, the method comprising:
-
receiving, in a client device, a manifest file describing updates to the application having a first version that is stored on the client device, said manifest file including pointers to; file portions that are not changed by the updates with respect to the first version of the application, file portions that are deleted by the updates with respect to the first version of the application, and file portions that are changed by the updates with respect to the first version of the application; and creating an updated version of the application by ignoring the file portions that are deleted in the updated version of the application, hard-linking the file portions to that do not change in the updated version of the application, and downloading the file portions that are changed by the updates with respect to the first version of the application from an application distribution system, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the first version of the application such that the file portions that do not change do not consume memory resources and such that errors caused by unnecessarily replacing the file portions that do not change while updating the application are prevented. - View Dependent Claims (21, 22, 23)
-
Specification