Updating program packages at distribution endpoint
First Claim
1. A computing system, comprising:
- a distribution endpoint including one or more processors configured to;
receive a request from a developer computing device to update a program managed by the distribution endpoint, the program being previously packaged and signed;
receive a code file including a change to the program and a footprint file that tracks the change to the program from the developer computing device, the footprint file including an updated map of units of code in an updated version of the program and a hash value for each unit of code;
retrieve a package of the program that has not been updated with the change to the program;
generate an updated package of the program based on the footprint file by comparing hash values of each unit of code in the updated map to hash values of corresponding units of code in a previous map of units of code of the retrieved package to identify units of code that have changed in the updated version of the program and updating the identified units of code by adding the code file to the retrieved package of the program such that the updated package of the program logically represents a package of the updated program; and
distribute the updated package of the program to an end user computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing system is provided that includes a distribution endpoint including one or more processors configured to receive a request from a developer computing device to update a program managed by the distribution endpoint, the program being previously packaged and signed. The one or more processors of the distribution endpoint are further configured to receive a code file including a change to the program, retrieve a package of the program that has not been updated with the change to the program, generate an updated package of the program by adding the code file to the retrieved package of the program such that the updated package of the program logically represents a package of the updated program, and distribute the updated package of the program to an end user computing device.
-
Citations
21 Claims
-
1. A computing system, comprising:
a distribution endpoint including one or more processors configured to; receive a request from a developer computing device to update a program managed by the distribution endpoint, the program being previously packaged and signed; receive a code file including a change to the program and a footprint file that tracks the change to the program from the developer computing device, the footprint file including an updated map of units of code in an updated version of the program and a hash value for each unit of code; retrieve a package of the program that has not been updated with the change to the program; generate an updated package of the program based on the footprint file by comparing hash values of each unit of code in the updated map to hash values of corresponding units of code in a previous map of units of code of the retrieved package to identify units of code that have changed in the updated version of the program and updating the identified units of code by adding the code file to the retrieved package of the program such that the updated package of the program logically represents a package of the updated program; and distribute the updated package of the program to an end user computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 21)
-
11. A method comprising:
at a processor of a distribution endpoint of a computing system; receiving a request from a developer computing device to update a program managed by the distribution endpoint, the program being previously packaged and signed; receiving a code file including a change to the program and a footprint file that tracks the change to the program from the developer computing device, the footprint file including an updated map of units of code in an updated version of the program and a hash value for each unit of code; retrieving a package of the program that has not been updated with the change to the program; generating an updated package of the program based on the footprint file by comparing hash values of each unit of code in the updated map to hash values of corresponding units of code in a previous map of units of code of the retrieved package to identify units of code that have changed in the updated version of the program and updating the identified units of code by adding the code file to the retrieved package of the program such that the updated package of the program logically represents a package of the updated program; and distributing the updated package of the program to an end user computing device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
20. A computing device comprising a processor configured to:
-
receive an update to a program stored on the computing device, the program being previously packaged and signed; determine a code file including a change to the program and a footprint file that tracks the change to the program from the developer computing device, the footprint file including an updated map of units of code in an updated version of the program and a hash value for each unit of code; retrieve a package of the program that has not been updated with the change to the program; and generate an updated package of the program without repackaging the program based on the footprint file by comparing hash values of each unit of code in the updated map to hash values of corresponding units of code in a previous map of units of code of the retrieved package to identify units of code that have changed in the updated version of the program and updating the identified units of code by adding the code file to the retrieved package of the program and updating a manifest of the retrieved package to point to the added code file for the identified units of code such that the updated package of the program logically represents a package of the updated program.
-
Specification