IP Library Granted Patent US 10,873,624
Granted Patent B2
US 10,873,624 · App. 16/415,636 · Granted Dec 22, 2020

System and method for use of a global runtime in a multitenant application server environment

Inventors: Rajiv Mordani (Sunnyvale, CA); Nazrul Islam (Santa Clara, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/1044G06F9/5077G06F16/213G06F16/217H04L47/70H04L67/1002H04L67/1097
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,873,624
App. No.
16/415,636
Granted
Dec 22, 2020
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for providing an end-to-end lifecycle in a multi-tenant application server environment. A lifecycle manager enables configuration integration across different components, for example application servers, traffic directors or load balancers, and database or other components, which may have their own partition-specific configurations. In accordance with an embodiment, the end-to-end lifecycle infrastructure includes a plugin-based mechanism which enables the different components within a multi-tenant application server environment to use a lifecycle plugin to provide their own component-specific lifecycle functionality. In accordance with an embodiment, the system includes support for a tenant onboarding functionality, which can be used to onboard a tenant for a service to a particular partition. In accordance with an embodiment, the system supports the use of a global runtime within the multi-tenant application server environment.

Claims (38)

1. A system for supporting a global runtime in an application server environment, comprising

one or more computers, comprising an application server environment executing thereon that enables deployment and execution of software applications, wherein the application server environment includes:

a domain configuration that defines an application server domain for execution of the software applications, and a plurality of partitions of the domain; and

a plurality of resources that can be used within the application server environment;

wherein each partition, of the plurality partitions, is associated with a partition configuration and provides a subdivision of the domain, and includes one or more resources or resource groups for use with the partition;

wherein the application server operates a global runtime scoped to the application server domain, that includes one or more applications or resources that are specified at the domain level and can execute either in a global context or a partition or tenant context; and

wherein the global runtime is adapted to perform operations associated with the partitions, including, for an operation associated with a particular partition, switching a thread context from the global context to at least one of a partition or tenant context associated with the particular partition, and executing the operation at the particular partition.

2. The system of claim 1 , wherein the global runtime includes one or more applications or libraries that are shareable with tenant-specific applications running in the one or more partitions.

3. The system of claim 1 , further comprising a lifecycle manager that configures components of the application server environment with partition-specific configurations, for use with the one or more partitions, wherein each particular component, of a plurality of components, is associated with a component-specific lifecycle that enables lifecycle operations to be performed with the particular component.

4. The system of claim 3 , wherein, during tenant onboarding, the system performs lifecycle operations, within a context of a determined tenant context, to configure one or more components of the application server environment, with partition-specific configurations.

5. The system of claim 1 , wherein resources in a resource group are targeted to all targets specified for the resource group, and wherein when the resource group is targeted to a cluster, applications therein run on the managed servers in the cluster.

6. The system of claim 1 , further comprising, for each tenant of a plurality of tenants, a tenant context associated with the tenant that can is mapped to a partition context for use with the tenant.

7. The system of claim 1 , further comprising one or more resource group templates that enable information to be associated with a referenced resource group template, to indicate partition-specific information for one or more of the deployable resources.

8. A method for supporting a global runtime in an application server environment, comprising:

providing, at one or more computers, an application server environment executing thereon that enables deployment and execution of software applications, wherein the application server environment includes:

a domain configuration that defines an application server domain for execution of the software applications, and a plurality of partitions of the domain; and

a plurality of resources that can be used within the application server environment;

wherein each partition, of the plurality partitions, is associated with a partition configuration and provides a subdivision of the domain, and includes one or more resources or resource groups for use with the partition;

wherein the application server operates a global runtime scoped to the application server domain, that includes one or more applications or resources that are specified at the domain level and can execute either in a global context or a partition or tenant context; and

wherein the global runtime is adapted to perform operations associated with the partitions, including, for an operation associated with a particular partition, switching a thread context from the global context to at least one of a partition or tenant context associated with the particular partition, and executing the operation at the particular partition.

9. The method of claim 8 , wherein the global runtime includes one or more applications or libraries that are shareable with tenant-specific applications running in the one or more partitions.

10. The method of claim 8 , further comprising providing a lifecycle manager that configures components of the application server environment with partition-specific configurations, for use with the one or more partitions, wherein each particular component, of a plurality of components, is associated with a component-specific lifecycle that enables lifecycle operations to be performed with the particular component.

11. The method of claim 10 , wherein, during tenant onboarding, lifecycle operations are performed, within a context of a determined tenant context, to configure one or more components of the application server environment, with partition-specific configurations.

12. The method of claim 8 , wherein resources in a resource group are targeted to all targets specified for the resource group, and wherein when the resource group is targeted to a cluster, applications therein run on the managed servers in the cluster.

13. The method of claim 8 , further comprising, for each tenant of a plurality of tenants, providing a tenant context associated with the tenant that can is mapped to a partition context for use with the tenant.

14. The method of claim 8 , further comprising providing one or more resource group templates that enable information to be associated with a referenced resource group template, to indicate partition-specific information for one or more of the deployable resources.

15. 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 the method comprising:

providing an application server environment that enables deployment and execution of software applications, wherein the application server environment includes:

a domain configuration that defines an application server domain for execution of the software applications, and a plurality of partitions of the domain; and

a plurality of resources that can be used within the application server environment;

wherein each partition, of the plurality partitions, is associated with a partition configuration and provides a subdivision of the domain, and includes one or more resources or resource groups for use with the partition;

wherein the application server operates a global runtime scoped to the application server domain, that includes one or more applications or resources that are specified at the domain level and can execute either in a global context or a partition or tenant context; and

wherein the global runtime is adapted to perform operations associated with the partitions, including, for an operation associated with a particular partition, switching a thread context from the global context to at least one of a partition or tenant context associated with the particular partition, and executing the operation at the particular partition.

16. The non-transitory computer readable storage medium of claim 15 , wherein the global runtime includes one or more applications or libraries that are shareable with tenant-specific applications running in the one or more partitions.

17. The non-transitory computer readable storage medium of claim 15 , further comprising providing a lifecycle manager that configures components of the application server environment with partition-specific configurations, for use with the one or more partitions, wherein each particular component, of a plurality of components, is associated with a component-specific lifecycle that enables lifecycle operations to be performed with the particular component.

18. The non-transitory computer readable storage medium of claim 17 , wherein, during tenant onboarding, lifecycle operations are performed, within a context of a determined tenant context, to configure one or more components of the application server environment, with partition-specific configurations.

19. The non-transitory computer readable storage medium of claim 15 , wherein resources in a resource group are targeted to all targets specified for the resource group, and wherein when the resource group is targeted to a cluster, applications therein run on the managed servers in the cluster.

20. The non-transitory computer readable storage medium of claim 15 , further comprising, for each tenant of a plurality of tenants, providing a tenant context associated with the tenant that can is mapped to a partition context for use with the tenant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2019
From: MORDANI, RAJIV; ISLAM, NAZRUL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 049272/0339 →
Continuity (6)
Continuation 14864723 · Sep 24, 2015
Provisional Application 62056427 · Sep 26, 2014
Provisional Application 62055856 · Sep 26, 2014
Provisional Application 62055577 · Sep 25, 2014
Provisional Application 62055575 · Sep 25, 2014
Related Publication 20190273778A1 · Sep 5, 2019