IP Library Granted Patent US 10,394,550
Granted Patent B2
US 10,394,550 · App. 15/890,601 · Granted Aug 27, 2019

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

Inventors: Nazrul Islam (Santa Clara, CA); Jacob Lindholm (Burlington, MA); Josh Dorr (Redwood City, CA); Christopher Kasso (Santa Clara, CA); Yamini K Balasubramanyam (Bangalore, IN); Steven Liu (Beijing, CN); Rajiv Mordani (Santa Clara, CA); Abhijit Kumar (Santa Clara, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F8/658G06F8/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 10,394,550
App. No.
15/890,601
Granted
Aug 27, 2019
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 (46)

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

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

a plurality of managed servers that operate within the application server environment as part of a domain;

wherein a patching process is performed within the application server environment to update the plurality of managed servers, including for each managed server of the plurality of managed servers,

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

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

wherein a load balancer is configured for use with the application server environment including, during the patching process, as each particular managed server of the plurality of managed servers is updated, directing requests associated with sessions to particular managed servers of the plurality of managed servers.

2. The system of claim 1 , wherein the system is configured to, during the patching process:

receive, at the load balancer, a request for a session,

attempt to load the requested session at a first managed server of the plurality of managed servers, and

if the first managed server of the plurality of managed servers cannot load the requested session, then load the requested session at a second managed server of the plurality of managed servers.

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 directing of requests associated with sessions to particular managed servers of the plurality of managed servers enables requests associated with particular versions of the at least one application server, application, or other component to be directed to the particular managed servers handling the particular versions of the at least one application server, application, or other component.

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

5. The system of claim 1 , wherein each partition of a plurality of partitions is enabled to be associated with a tenant of the application server environment for use by the tenant of the 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 an application server environment, comprising:

executing, on at least one computer, an application server environment, including a plurality of managed servers that operate within the application server environment as part of a domain;

performing a patching process within the application server environment to update the plurality of managed servers, including for each managed server of the plurality of managed servers,

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

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

during the patching process, as each particular managed server of the plurality of managed servers is updated, directing requests associated with sessions to particular managed servers of the plurality of managed servers.

8. The method of claim 7 , wherein the patching process comprises:

receiving a request for a session,

attempting to load the requested session at a first managed server of the plurality of managed servers, and

if the first managed server of the plurality of managed servers cannot load the requested session, then loading the requested session at a second managed server of the plurality of managed servers.

9. The method of claim 7 , further comprising accessing a patch database that includes information for a plurality of versions of at least one application server, application, or other component;

wherein the directing of requests associated with sessions to particular managed servers of the plurality of managed servers enables requests associated with particular versions of the at least one application server, application, or other component to be directed to the particular managed servers handling the particular versions of the at least one application server, application, or other component.

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

11. The method of claim 7 , wherein each partition of a plurality of partitions is enabled to be associated with a tenant of the application server environment for use by the tenant of the application server environment.

12. The method of claim 7 , wherein the patching process is performed 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, including a plurality of managed servers that operate within the application server environment as part of a domain;

performing a patching process within the application server environment to update the plurality of managed servers, including for each managed server of the plurality of managed servers,

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

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

during the patching process, as each particular managed server of the plurality of managed servers is updated, directing requests associated with sessions to particular managed servers of the plurality of managed servers.

14. The non-transitory computer readable storage medium of claim 13 , wherein the patching process comprises:

receiving a request for a session,

attempting to load the requested session at a first managed server of the plurality of managed servers, and

if the first managed server of the plurality of managed servers cannot load the requested session, then loading the requested session at a second managed server of the plurality of managed servers.

15. The non-transitory computer readable storage medium of claim 13 , further comprising accessing a patch database that includes information for a plurality of versions of at least one application server, application, or other component;

wherein the directing of requests associated with sessions to particular managed servers of the plurality of managed servers enables requests associated with particular versions of the at least one application server, application, or other component to be directed to the particular managed servers handling the particular versions of the at least one application server, application, or other component.

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

17. The non-transitory computer readable storage medium of claim 13 , wherein each partition of a plurality of partitions is enabled to be associated with a tenant of the application server environment for use by the tenant of the application server environment.

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 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 047554/0129 →
Continuity (4)
Continuation 15098839 · Apr 14, 2016
Continuation 14864695 · Sep 24, 2015
Provisional Application 62054903 · Sep 24, 2014
Related Publication 20180165087A1 · Jun 14, 2018