System and method of updating programs and data
First Claim
Patent Images
1. A method of generating a patch comprising:
- converting a first version of a program into a first alternate representation, the first alternate representation distinguishing between first references and first non-references, where the first references are portions of the first version that refer to other portions of the first version and where the first non-references are portions of the first version that do not refer to other portions of the first version;
converting a second version of the program into a second alternate representation where portions of the second version are the same as the first version and where portions of the second version are different than the first version, the second alternate representation distinguishing between second references and second non-references, where the second references are portions of the second version that refer to other portions of the second version and where the second non-references are portions of the second version that do not refer to other portions of the second version;
modifying, using a processor, a portion of the second alternate representation based on a comparison of the second references with the first references while retaining information to convert the modified second alternate representation back into the second version; and
generating a patch representing the differences between the first alternate representation and the modified second alternate representation.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided to (a) convert an older or base version of software into an alternate representation of the base version; (b) convert a newer or updated version of software into an alternate representation of the updated version; (c) compare the alternate updated version with the alternate base version (d) modify portions of the alternate updated version based on the comparison and (e) create a patch, where the patch represents the differences between the alternate updated version and the alternate base version.
255 Citations
37 Claims
-
1. A method of generating a patch comprising:
-
converting a first version of a program into a first alternate representation, the first alternate representation distinguishing between first references and first non-references, where the first references are portions of the first version that refer to other portions of the first version and where the first non-references are portions of the first version that do not refer to other portions of the first version; converting a second version of the program into a second alternate representation where portions of the second version are the same as the first version and where portions of the second version are different than the first version, the second alternate representation distinguishing between second references and second non-references, where the second references are portions of the second version that refer to other portions of the second version and where the second non-references are portions of the second version that do not refer to other portions of the second version; modifying, using a processor, a portion of the second alternate representation based on a comparison of the second references with the first references while retaining information to convert the modified second alternate representation back into the second version; and generating a patch representing the differences between the first alternate representation and the modified second alternate representation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a memory storing instructions and data, the data comprising a first version of a program and a second version of the program; a processor to execute the instructions and to process the data;
wherein the instructions comprise;converting the first version of the program into a first alternate representation, the first alternate representation distinguishing between first references and first non-references, where the first references are portions of the first version that refer to other portions of the first version and where the first non-references are portions of the first version that do not refer to other portions of the first version; converting the second version of the program into a second alternate representation where portions of the second version are the same as the first version and where portions of the second version are different than the first version, the second alternate representation distinguishing between second references and second non-references, where the second references are portions of the second version that refer to other portions of the second version and where the second non-references are portions of the second version that do not refer to other portions of the second version; modifying a portion of the second alternate representation based on a comparison of the second references with the first references while retaining information to convert the modified second alternate representation back into the second version; and storing, in the memory, a patch representing the differences between the first alternate representation and the modified second alternate representation. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A system comprising:
-
a first computer at a first node of a network, the first computer comprising a first memory storing a first set of instructions and a first processor that processes data in accordance with the first set of instructions; the first computer having access to a first version of a program; a second computer at a second node of a network, the second computer comprising a second memory storing a second set of instructions and a second processor that processes data in accordance with the second set of instructions; the second computer having access to the first version of the program and having access to a second version of the program; wherein the second set of instructions comprise; converting the first version of the program into a first alternate representation, the first alternate representation distinguishing between first references and first non-references, where the first references are portions of the first version that refer to other portions of the first version and where the first non-references are portions of the first version that do not refer to other portions of the first version; converting the second version of the program into a second alternate representation where portions of the second version are the same as the first version and where portions of the second version are different than the first version, the second alternate representation distinguishing between second references and second non-references, where the second references are portions of the second version that refer to other portions of the second version and where the second non-references are portions of the second version that do not refer to other portions of the second version; modifying a portion of the second alternate representation based on a comparison of the second references with the first references while retaining information to convert the modified second alternate representation back into the second version; generating a patch representing the differences between the first alternate representation and the modified second alternate representation, and transmitting the patch to the first computer; and wherein the first set of instructions comprise; converting the first version of the program into the first alternate representation; receiving the patch representing the differences between the first alternate representation and the modified second alternate representation; creating, based on the patch, the modified second alternate representation from the first alternate representation; and converting the modified second alternate representation into the second version of the program. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
Specification