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 that do not require a format change, based upon a currently installed version of an application and a new version of the application being installed;
combining, by the processor system, the sequence of update steps that do not require a format change into one update step;
building, by the host system, an update from a combination of the sequence of update steps that do not require a format change and an update step that requires a format change andsending from the host system to the user system, the update that result from the combination to the user system.
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.
-
Citations
19 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 that do not require a format change, based upon a currently installed version of an application and a new version of the application being installed; combining, by the processor system, the sequence of update steps that do not require a format change into one update step; building, by the host system, an update from a combination of the sequence of update steps that do not require a format change and an update step that requires a format change and sending from the host system to the user system, the update that result from the combination to the user system. - 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 carry out the steps of:
-
Determining, by a host system, a sequence of update steps that do not require a format change, based upon the currently installed version and the version being installed, the host system including at least a processor system having one or more processors and or memory systems; Combining, by the host system, the sequence of steps that do not require a format change into one update step; and performing, by the host system, the resulting update step.
-
-
19. A method comprising:
-
receiving, at a host system, a request for an update; determining, by the host system, the host system having at least a machine having a processor system including at least one processor and a memory system communicatively coupled to the processor system, a currently installed version; determining, by the host system, a version being installed; determining, by the processor system, a sequence of update steps based upon the currently installed version and the version being installed; and performing, by the host system, an update for every upgrade step in the sequence.
-
Specification