IP Library Granted Patent US 10,732,964
Granted Patent B2
US 10,732,964 · App. 16/137,845 · Granted Aug 4, 2020

Systems and methods for updating multi-tier cloud-based application stacks

Inventors: Nagendra Krishnappa (Bangalore, IN); Biju Narayanan (Trivandrum, IN); Aneesh Azhakesan Sujatha (Kollam, IN); Milind Xete Chatim Aldoncar (Goa, IN); Deepankar Narayanan (Trivandrum, IN)
Assignee: Oracle International Corporation
G06F8/658G06F8/656G06F16/907G06F9/4401
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,732,964
App. No.
16/137,845
Granted
Aug 4, 2020
Kind
B2
Abstract

The present disclosure relates to automatically and periodically updating a multi-tier application stack in a cloud environment. More particularly, the present disclosure relates to systems and methods that access a central server to determine if new updates have been released, and when new updates have been released, automatically apply the new updates to an application environment with minimal network burden and service interruption.

Claims (66)

1. A computer-implemented method, comprising:

running an instance of an application environment in a production environment, wherein the application environment includes a plurality of components, and wherein each component of the plurality of components includes one or more objects;

detecting one or more updates configured to modify at least one object of a component of the plurality of components;

in response to detecting the one or more updates, accessing an update server to retrieve the one or more updates;

automatically generating a new instance of the application environment;

installing the one or more updates on the new instance of the application environment;

identifying metadata associated with the instance, the metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the instance;

identifying new metadata associated with the new instance, the new metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the new instance, and the new metadata characterizing a version of the at least one object of the component having been updated with the one or more updates;

comparing the metadata associated with the instance with the new metadata associated with the new instance, wherein the comparison is performed while the instance of the application environment is running in the production environment;

determining, based on a result of the comparison, one or more differences between the metadata associated with the instance with the new metadata associated with the new instance, wherein the one or more differences identifies the at least one object of the component that has been updated based on the one or more updates;

generating update data that includes each of the one or more identified differences; and

updating the instance of the application environment using the update data by incorporating the one or more identified differences into the instance, wherein updating the instance includes modifying the at least one object identified by the one or more differences, and wherein the at least one identified object is updated based on the new metadata.

2. The computer-implemented method of claim 1 , wherein updating the instance further comprises:

initiating a lock period during which all transactions associated with an application running in the application environment are stopped;

updating the instance with the update data during the lock period; and

releasing the lock period, the release of the lock period enabling transactions associated with the application to continue.

3. The computer-implemented method of claim 1 , wherein the metadata includes a first set of bug numbers associated with the instance, wherein the new metadata includes a second set of bug numbers associated with the new instance, wherein when the first set of bug numbers is different from the second set of bug numbers, a difference between the first set and the second set corresponds to one or more bug fixes included in the one or more updates.

4. The computer-implemented method of claim 3 , wherein the at least one object having been updated based on the new metadata is associated with the one or more bug fixes included in the one or more updates.

5. The computer-implemented method of claim 1 , wherein detecting the one or more updates stored on a central server includes periodically polling the central server for updates at a regular or irregular interval.

6. The computer-implemented method of claim 1 , wherein the metadata is associated with source code without the one or more updates, and wherein the new metadata is associated with the source code with the one or more updates.

7. The computer-implemented method of claim 1 , further comprising:

rebooting the updated instance.

8. A system, comprising:

one or more processors; and

a non-transitory computer-readable storage medium containing instructions configured to cause the one or more processors to perform operations including:

running an instance of an application environment in a production environment, wherein the application environment includes a plurality of components, and wherein each component of the plurality of components includes one or more objects;

detecting one or more updates configured to modify at least one object of a component of the plurality of components;

in response to detecting the one or more updates, accessing an update server to retrieve the one or more updates;

automatically generating a new instance of the application environment;

installing the one or more updates on the new instance of the application environment;

identifying metadata associated with the instance, the metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the instance;

identifying new metadata associated with the new instance, the new metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the new instance, and the new metadata characterizing a version of the at least one object of the component having been updated with the one or more updates;

comparing the metadata associated with the instance with the new metadata associated with the new instance, wherein the comparison is performed while the instance of the application environment is running in the production environment;

determining, based on a result of the comparison, one or more differences between the metadata associated with the instance with the new metadata associated with the new instance, wherein the one or more differences identifies the at least one object of the component that has been updated based on the one or more updates;

generating update data that includes each of the one or more identified differences; and

updating the instance of the application environment using the update data by incorporating the one or more identified differences into the instance, wherein updating the instance includes modifying the at least one object identified by the one or more differences, and wherein the at least one identified object is updated based on the new metadata.

9. The system of claim 8 , wherein updating the instance further comprises:

initiating a lock period during which all transactions associated with an application running in the application environment are stopped;

updating the instance with the update data during the lock period; and

releasing the lock period, the release of the lock period enabling transactions associated with the application to continue.

10. The system of claim 8 , wherein the metadata includes a first set of bug numbers associated with the instance, wherein the new metadata includes a second set of bug numbers associated with the new instance, wherein when first set of bug numbers is different from the second set of bug numbers, a difference between the first set and the second set corresponds to one or more bug fixes included in the one or more updates.

11. The system of claim 10 , wherein the at least one object having been updated based on the new metadata is associated with the one or more bug fixes included in the one or more updates.

12. The system of claim 8 , wherein detecting the one or more updates stored on a central server includes periodically polling the central server for updates at a regular or irregular interval.

13. The system of claim 8 , wherein the metadata is associated with source code without the one or more updates, and wherein the new metadata is associated with the source code with the one or more updates.

14. The system of claim 8 , further comprising:

rebooting the updated instance.

15. A computer-program product tangibly embodied in a non-transitory computer-readable storage medium, including instructions configured to cause a processing apparatus to perform operations including:

running an instance of an application environment in a production environment, wherein the application environment includes a plurality of components, and wherein each component of the plurality of components includes one or more objects;

detecting one or more updates configured to modify at least one object of a component of the plurality of components;

in response to detecting the one or more updates, accessing an update server to retrieve the one or more updates;

automatically generating a new instance of the application environment;

installing the one or more updates on the new instance of the application environment;

identifying metadata associated with the instance, the metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the instance;

identifying new metadata associated with the new instance, the new metadata characterizing each object of the one or more objects of each component of the plurality of components associated with the new instance, and the new metadata characterizing a version of the at least one object of the component having been updated with the one or more updates;

comparing the metadata associated with the instance with the new metadata associated with the new instance, wherein the comparison is performed while the instance of the application environment is running in the production environment;

determining, based on a result of the comparison, one or more differences between the metadata associated with the instance with the new metadata associated with the new instance, wherein the one or more differences identifies the at least one object of the component that has been updated based on the one or more updates;

generating update data that includes each of the one or more identified differences; and

updating the instance of the application environment using the update data by incorporating the one or more identified differences into the instance, wherein updating the instance includes modifying the at least one object identified by the one or more differences, and wherein the at least one identified object is updated based on the new metadata.

16. The computer-program product of claim 15 , wherein updating the instance further comprises:

initiating a lock period during which all transactions associated with an application running in the application environment are stopped;

updating the instance with the update data during the lock period; and

releasing the lock period, the release of the lock period enabling transactions associated with the application to continue.

17. The computer-program product of claim 15 , wherein the metadata includes a first set of bug numbers associated with the instance, wherein the new metadata includes a second set of bug numbers associated with the new instance, wherein when first set of bug numbers is different from the second set of bug numbers, a difference between the first set and the second set corresponds to one or more bug fixes included in the one or more updates.

18. The computer-program product of claim 17 , wherein the at least one object having been updated based on the new metadata is associated with the one or more bug fixes included in the one or more updates.

19. The computer-program product of claim 15 , wherein detecting the one or more updates stored on a central server includes periodically polling the central server for updates at a regular or irregular interval.

20. The computer-program product of claim 15 , wherein the metadata is associated with source code without the one or more updates, and wherein the new metadata is associated with the source code with the one or more updates.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2018
From: KRISHNAPPA, NAGENDRA; NARAYANAN, BIJU; SUJATHA, ANEESH AZHAKESAN; ALDONCAR, MILIND XETE CHATIM; NARAYANAN, DEEPANKAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 046936/0646 →
Continuity (2)
Provisional Application 62561599 · Sep 21, 2017
Related Publication 20190087176A1 · Mar 21, 2019
Cited By (1)
US 12,554,518