System and method for using directed acyclic graph (DAG) for application updates
First Claim
1. A method comprising:
- determining, by a host system including at least a machine having a processor system including at least one processor and a memory system communicatively coupled to the processor system, a sequence of update steps from a currently installed version of an application to a new version of the application to be being installed;
automatically building a graph of updates from the currently installed version to the new version comprising at least determining update steps that do not require a format change, and computing a shortest path between the currently installed version and the new version based, at least in part, on the determined steps that do not require a format change, wherein a format change causes a change to an underlying schema and manner in which data is stored, and wherein the computing includes running a breadth-first-search algorithm of the graph of updates;
combining, by the processor system, the sequence of update steps that do not require a format change into one update step;
determining, by the processor, one or more update steps that require a format change;
building, by the host system, an update from a combination of the sequence of update steps that do not require a format change and one or more update steps that require a format change; and
sending from the host from the host system to the user system, the built update.
0 Assignments
0 Petitions
Accused Products
Abstract
The system automatically creates an update from an old version to a new version despite the old version possibly being several version prior to the new version. There may be some increments in the version for which no change needs to be made to the application running on the client system, even though the code running on the host may have been updated. A graph of the versions is constructed based on the new version and old version. The updates for consecutive versions for which no format change is needed are collapsed into a single no operation update or combined into a single update with an update that requires an operation. Then the shortest path along the graph connecting the current version and new version is determined. The update steps along the shortest path are automatically combined into a single update, and then the update is performed.
128 Citations
18 Claims
-
1. A method comprising:
-
determining, by a host system including at least a machine having a processor system including at least one processor and a memory system communicatively coupled to the processor system, a sequence of update steps from a currently installed version of an application to a new version of the application to be being installed; automatically building a graph of updates from the currently installed version to the new version comprising at least determining update steps that do not require a format change, and computing a shortest path between the currently installed version and the new version based, at least in part, on the determined steps that do not require a format change, wherein a format change causes a change to an underlying schema and manner in which data is stored, and wherein the computing includes running a breadth-first-search algorithm of the graph of updates; combining, by the processor system, the sequence of update steps that do not require a format change into one update step; determining, by the processor, one or more update steps that require a format change; building, by the host system, an update from a combination of the sequence of update steps that do not require a format change and one or more update steps that require a format change; and sending from the host from the host system to the user system, the built update. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory machine-readable medium carrying one or more sequences of instructions for using directed acyclic graph (DAG) for application updates in a multi-tenant database system, which instructions, when executed by one or more processors, cause the one or more processors to:
-
determine, by a host system including at least a machine having a processor system including at least one processor and a memory system communicatively coupled to the processor system, a sequence of update steps from a currently installed version of an application to a new version of the application to be installed; automatically build a graph of updates from the currently installed version to the new version comprising at least determining update steps that do not require a format change, and computing a shortest path between the currently installed version and the new version based, at least in part, on the determined steps that do not require a format change, wherein a format change causes a change to an underlying schema and/or manner in which data is stored, and wherein the computing includes running a breadth-first-search algorithm of the graph of updates; combine, by the host system, the sequence of update steps that do not require a format change; determine, by the host system, one or more update steps that require a format change; build, by the host system, an update from a combination of the sequence of update steps that do not require a format change and one or more update steps that require a format change; and perform, by the host system, the resulting update steps.
-
Specification