IP Library Granted Patent US 10,853,055
Granted Patent B2
US 10,853,055 · App. 16/398,887 · Granted Dec 1, 2020

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/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,853,055
App. No.
16/398,887
Granted
Dec 1, 2020
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 (36)

1. A system for patching in a multitenant application server environment, including support for session handling and incompatibility, comprising:

a plurality of managed server instances that operate within an application server environment as part of a domain that includes a plurality of partitions, wherein each partition, of the plurality of partitions, provides a subdivision of the domain; and

wherein a patching process updates the plurality of managed server instances while providing support for session handling and incompatibility, including, during rollout of a patch to the plurality of managed server instances,

loading session data associated with a plurality of replicated sessions at particular managed server instances of the plurality of managed server instances,

receiving a request associated with a particular session,

attempting to load the particular session at a first managed server instance of the plurality of managed server instances associated with a first patch version, and

if the first managed server instance of the plurality of managed server instances cannot load the particular session, due to an incompatibility in patch version, then directing the particular session to be loaded at a second managed server instance of the plurality of managed server instances associated with a second patch version.

2. The system of claim 1 , wherein directing of requests associated with sessions, at particular managed server instances of the plurality of managed server instances, enables requests associated with particular versions of the application server environment, application, or other component, to be directed to managed server instances handling those particular versions of the application server environment, application, or other component.

3. The system of claim 1 , further comprising, if the first managed server instance of the plurality of managed server instances cannot load the particular session, providing a response code to a traffic director indicative of one or more other managed server instances of the plurality of managed server instances that can load the particular session.

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 plurality of partitions, includes at least one resource group for use by that partition.

5. The system of claim 1 , wherein the system is provided within a cloud environment and supports multiple tenants operating within the cloud environment, including that each particular partition, of the plurality of partitions, is associated with a particular tenant of the cloud environment.

6. The system of claim 1 , wherein during the patching process, the plurality of managed server instances are configured to perform a lazy de-serialization of the session data associated with the plurality of replicated sessions at the particular managed server instances of the plurality of managed server instances.

7. A method for patching in a multitenant application server environment, including support for session handling and incompatibility, comprising:

providing a plurality of managed server instances that operate within an application server environment as part of a domain that includes a plurality of partitions, wherein each partition, of the plurality of partitions, provides a subdivision of the domain; and

updating, using a patching process, the plurality of managed server instances while providing support for session handling and incompatibility, including, during rollout of a patch to the plurality of managed server instances,

loading session data associated with a plurality of replicated sessions at particular managed server instances of the plurality of managed server instances,

receiving a request associated with a particular session,

attempting to load the particular session at a first managed server instance of the plurality of managed server instances associated with a first patch version, and

if the first managed server instance of the plurality of managed server instances cannot load the particular session, due to an incompatibility in patch version, then directing the particular session to be loaded at a second managed server instance of the plurality of managed server instances associated with a second patch version.

8. The method of claim 7 , wherein directing of requests associated with sessions, at particular managed server instances of the plurality of managed server instances, enables requests associated with particular versions of the application server environment, application, or other component, to be directed to managed server instances handling those particular versions of the application server environment, application, or other component.

9. The method of claim 7 , further comprising, if the first managed server instance of the plurality of managed server instances cannot load the particular session, providing a response code to a traffic director indicative of one or more other managed server instances of the plurality of managed server instances that can load the particular session.

10. The method of claim 7 , 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 plurality of partitions, includes at least one resource group for use by that partition.

11. The method of claim 7 , wherein the patching process is provided within a cloud environment and supports multiple tenants operating within the cloud environment, including that each particular partition, of the plurality of partitions, is associated with a particular tenant of the cloud environment.

12. The method of claim 7 , wherein during the patching process, the plurality of managed server instances are configured to perform a lazy de-serialization of the session data associated with the plurality of replicated sessions at the particular managed server instances of the plurality of managed server instances.

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:

providing a plurality of managed server instances that operate within an application server environment as part of a domain that includes a plurality of partitions, wherein each partition, of the plurality of partitions, provides a subdivision of the domain; and

updating, using a patching process, the plurality of managed server instances while providing support for session handling and incompatibility, including, during rollout of a patch to the plurality of managed server instances,

loading session data associated with a plurality of replicated sessions at particular managed server instances of the plurality of managed server instances,

receiving a request associated with a particular session,

attempting to load the particular session at a first managed server instance of the plurality of managed server instances associated with a first patch version, and

if the first managed server instance of the plurality of managed server instances cannot load the particular session, due to an incompatibility in patch version, then directing the particular session to be loaded at a second managed server instance of the plurality of managed server instances associated with a second patch version.

14. The non-transitory computer readable storage medium of claim 13 , wherein directing of requests associated with sessions, at particular managed server instances of the plurality of managed server instances, enables requests associated with particular versions of the application server environment, application, or other component, to be directed to managed server instances handling those particular versions of the application server environment, application, or other component.

15. The non-transitory computer readable storage medium of claim 13 , further comprising, if the first managed server instance of the plurality of managed server instances cannot load the particular session, providing a response code to a traffic director indicative of one or more other managed server instances of the plurality of managed server instances that can load the particular session.

16. The non-transitory computer readable storage medium of claim 13 , 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 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 , wherein the patching process is provided within a cloud environment and supports multiple tenants operating within the cloud environment, including that each particular partition, of the plurality of partitions, is associated with a particular tenant of the cloud environment.

18. The non-transitory computer readable storage medium of claim 13 , wherein during the patching process, the plurality of managed server instances are configured to perform a lazy de-serialization of the session data associated with the plurality of replicated sessions at the particular managed server instances of the plurality of managed server instances.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: ISLAM, NAZRUL; LINDHOLM, JACOB; DORR, JOSH; KASSO, CHRISTOPHER; BALASUBRAMANYAM, YAMINI K; LIU, STEVEN; MORDANI, RAJIV; KUMAR, ABHIJIT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 049060/0982 →
Continuity (6)
Continuation 15466267 · Mar 22, 2017
Continuation In Part 15098839 · Apr 14, 2016
Continuation 14864695 · Sep 24, 2015
Provisional Application 62311831 · Mar 22, 2016
Provisional Application 62054903 · Sep 24, 2014
Related Publication 20190258478A1 · Aug 22, 2019