IP Library Granted Patent US 9,916,153
Granted Patent B2
US 9,916,153 · App. 15/098,839 · Granted Mar 13, 2018

System and method for supporting patching in a multitenant application server environment

Inventors: Nazrul Islam (Santa Clara, CA); Jacob Lindholm (Londonderry, NH); Josh Dorr (San Jose, CA); Christopher Kasso (Los Altos, CA); Yamini K. Balasubramanyam (Bangalore, IN); Steven Liu (Beijing, CN); Rajiv Mordani (Sunnyvale, CA); Abhijit Kumar (Cupertino, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F8/68G06F8/65G06F9/5077G06F11/14
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 9,916,153
App. No.
15/098,839
Granted
Mar 13, 2018
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for supporting patching in a multi-tenant application server environment. The system can associate one or more partitions with a tenant, for use by that tenant, wherein a partition is a runtime and administrative subdivision or slice of a domain. A patching process can take advantage of high-availability features provided by an application server clustering environment, to apply patches in a controlled, rolling restart, which maintains a domain's ability to operate without interruption, or with zero downtime. The process can be used to automate complex or long running tasks, including preserving an unpatched or prior version of an application server, application, or other software component for possible rollback, or providing automatic reversion in the event of an unrecoverable error.

Claims (52)

1. A system for supporting patching in a multitenant application server environment, comprising:

at least one computer and an application server environment executing thereon;

a plurality of managed server instances that operate within the application server environment as part of a domain that supports at least one partition or a plurality of partitions,

wherein each partition, of the at least one partition or the plurality of partitions, provides a subdivision of the domain that provides a runtime for use by that partition, and

wherein the system enables each partition, of the at least one partition or the plurality of partitions, to be associated with a tenant of the multitenant application server environment for use by that tenant; and

wherein the system uses a patching process that is performed by the application server environment to update the plurality of managed server instances in a controlled manner that maintains operations of the domain without interruption, including:

creating a patched home directory, and

performing a rollout of the patched home directory to the plurality of managed server instances, including for each managed server instance of the plurality of managed server instances:

shutting down the managed server instance,

updating the managed server instance to use an instance of the patched home directory, and

restarting the managed server instance to cause the managed server instance to be updated according to the instance of the patched home directory.

2. The system of claim 1 , further comprising a traffic director that is configured for use with the multitenant application server environment including that, when a particular managed server of the plurality of managed server instances becomes unavailable, the traffic director receives a message indicative of the particular managed server of the plurality of managed server instances being unavailable, and attempts to contact another managed server of the plurality of managed server instances.

3. The system of claim 1 , further comprising:

a patch database that includes information for a plurality of versions of at least one application server, application, or other component;

wherein the system enables different partitions to be at least one of migrated or patched at different times.

4. The system of claim 1 , further comprising one or more resource groups, which include groupings of deployable resources for use by a partition within a domain, including that each partition, of the at least one partition or the plurality of partitions, includes at least one resource group for use by that partition.

5. The system of claim 1 , further comprising a node manager which supports patching within the multitenant application server environment.

6. The system of claim 1 , wherein the system is provided within a cloud environment to support multiple tenants operating within the cloud environment.

7. A method for supporting patching in a multitenant application server environment, comprising:

executing, on at least one computer, an application server environment, together with a plurality of managed server instances that operate within the application server environment as part of a domain that supports at least one partition or a plurality of partitions,

wherein each partition, of the at least one partition or the plurality of partitions, provides a subdivision of the domain that provides a runtime for use by that partition, and

wherein each partition, of the at least one partition or the plurality of partitions, is enabled to be associated with a tenant of the multitenant application server environment for use by that tenant; and

performing, by the application server environment, a patching process to update the plurality of managed server instances in a controlled manner that maintains operations of the domain without interruption, including:

creating a patched home directory, and

performing a rollout of the patched home directory to the plurality of managed server instances, including for each managed server instance of the plurality of managed server instances:

shutting down the managed server instance,

updating the managed server instance to use an instance of the patched home directory, and

restarting the managed server instance to cause the managed server instance to be updated according to the instance of the patched home directory.

8. The method of claim 7 , further comprising providing a traffic director that is configured for use with the multitenant application server environment including that, when a particular managed server of the plurality of managed server instances becomes unavailable, the traffic director receives a message indicative of the particular managed server of the plurality of managed server instances being unavailable, and attempts to contact another managed server of the plurality of managed server instances.

9. The method of claim 7 , further comprising:

providing a patch database that includes information for a plurality of versions of at least one application server, application, or other component;

wherein different partitions are enabled to be at least one of migrated or patched at different times.

10. The method of claim 7 , further comprising providing one or more resource groups, which include groupings of deployable resources for use by a partition within a domain, including that each partition, of the at least one partition or the plurality of partitions, includes at least one resource group for use by that partition.

11. The method of claim 7 , further comprising providing a node manager which supports patching within the multitenant application server environment.

12. The method of claim 7 , wherein the method is provided within a cloud environment to support multiple tenants operating within the cloud environment.

13. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform a method comprising:

executing, on at least one computer, an application server environment, together with a plurality of managed server instances that operate within the application server environment as part of a domain that supports at least one partition or a plurality of partitions,

wherein each partition, of the at least one partition or the plurality of partitions, provides a subdivision of the domain that provides a runtime for use by that partition, and

wherein each partition, of the at least one partition or the plurality of partitions, is enabled to be associated with a tenant of the multitenant application server environment for use by that tenant; and

performing, by the application server environment, a patching process to update the plurality of managed server instances in a controlled manner that maintains operations of the domain without interruption, including:

creating a patched home directory, and

performing a rollout of the patched home directory to the plurality of managed server instances, including for each managed server instance of the plurality of managed server instances:

shutting down the managed server instance,

updating the managed server instance to use an instance of the patched home directory, and

restarting the managed server instance to cause the managed server instance to be updated according to the instance of the patched home directory.

14. The non-transitory computer readable storage medium of claim 13 , further comprising providing a traffic director that is configured for use with the multitenant application server environment including that, when a particular managed server of the plurality of managed server instances becomes unavailable, the traffic director receives a message indicative of the particular managed server of the plurality of managed server instances being unavailable, and attempts to contact another managed server of the plurality of managed server instances.

15. The non-transitory computer readable storage medium of claim 13 , further comprising:

providing a patch database that includes information for a plurality of versions of at least one application server, application, or other component;

wherein different partitions are enabled to be at least one of migrated or patched at different times.

16. The non-transitory computer readable storage medium of claim 13 , further comprising providing one or more resource groups, which include groupings of deployable resources for use by a partition within a domain, including that each partition, of the at least one partition or the plurality of partitions, includes at least one resource group for use by that partition.

17. The non-transitory computer readable storage medium of claim 13 , further comprising providing a node manager which supports patching within the multitenant application server environment.

18. The non-transitory computer readable storage medium of claim 13 , wherein the method is provided within a cloud environment to support multiple tenants operating within the cloud environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2018
From: ISLAM, NAZRUL; LINDHOLM, JACOB; DORR, JOSH; KASSO, CHRISTOPHER; BALASUBRAMANYAM, YAMINI K; LIU, STEVEN; MORDANI, RAJIV; KUMAR, ABHIJIT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 044788/0123 →
Continuity (3)
Continuation 14864695 · Sep 24, 2015
Provisional Application 62054903 · Sep 24, 2014
Related Publication 20160231998A1 · Aug 11, 2016