IP Library › Granted Patent US 10,348,822
Granted Patent B2
US 10,348,822 · App. 14/866,601 · Granted Jul 9, 2019

System and method for clustering in a multitenant application server environment

Inventors: Lenny Phan (Sunnyvale, CA); Mohamed Abdelaziz (Santa Clara, CA); Rajiv Mordani (Sunnyvale, CA); Nazrul Islam (Santa Clara, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/1095H04L41/0843H04L41/0893H04L41/12H04L67/1004H04L67/148
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,348,822
App. No.
14/866,601
Granted
Jul 9, 2019
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for supporting clustering in a multitenant application server environment. The system includes a domain with a plurality of server clusters, and a plurality of partitions, wherein each cluster is homogenously configured and targeted by one or more partitions. An application programming interface (API) can be used to initiate a resource group across-cluster migration within a partition. The API can invoke a replication manager, which queries a target cluster for a runtime topology for use in determining where to store primary session; migrates the primary session to a determined server instance in the target cluster. Additional clustering features, such as cluster messaging service, leasing service, singleton service management, session replication, clustered JNDI, and use of domain front-end load balancing, can be supported.

Claims (54)

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

a plurality of computers, each including a microprocessor;

an application server domain provided on the plurality of computers;

a source cluster and a target cluster included in the application server domain, wherein the source cluster comprises a first subset of the plurality of computers and wherein the target cluster comprises a second subset of the plurality of computers;

a first partition that is active on a computer of the first subset of computers that comprises the source cluster, wherein the first partition includes a resource group;

a second partition that is active on a computer in the second subset of computers that comprises the target cluster, wherein the first partition and the second partition represent respective runtime subdivisions of the application server domain;

an application programming interface (API) exposed by the application server domain; and

a replication manager;

wherein the API receives a plurality of parameters, including an identifier of the resource group, an identifier of the first partition, and an identifier of the target cluster, and invokes the replication manager to migrate a session state associated with a session of the resource group; and

wherein the replication manager, upon the invocation:

queries the target cluster, based on the identifier of the target cluster, for a runtime topology of the target cluster,

uses the runtime topology to determine that the computer in the second subset of computers that comprises the target cluster can be used to store the session in the target cluster, and

migrates, based on the identifier of the resource group, the session state associated with the session of the resource group to the second partition.

2. The system of claim 1 , wherein a partition configuration of the partition defines the resource group and a set of resources included in the resource group.

3. The system of claim 1 , wherein the replication manager obtains configuration information of the target cluster from a domain configuration.

4. The system of claim 3 , wherein the replication manager uses the configuration information to query the target cluster for the runtime topology.

5. The system of claim 1 , wherein the partition is configured and activated in the target cluster before the resource group migration is initiated.

6. The system of claim 1 , wherein when a client request is directed to a computer instance in the target cluster that is different from the computer in the second subset of computers that comprises the target cluster for storing the session, the target cluster retrieves the session from the computer in the second subset of computers that comprises the target cluster, and piggy-backs information of the computer in the second subset of computers that comprises the target cluster on a response to the client request to the client.

7. The system of claim 1 , wherein the target cluster uses a pre-configured approach to select a computer instance for storing a replica of the session after the session is migrated.

8. The system of claim 7 , wherein information of the computer instance for storing the session replica is piggy-backed on the response to the client request to the client.

9. The system of claim 1 , wherein each computer instance in the source and target clusters supports one or more partitions.

10. The system of claim 1 , wherein a first computer instance in a cluster support a first partition, and a second computer instance in the cluster supports a second partition.

11. A method for supporting clustering in a multitenant application server environment, comprising:

providing an application server domain on a plurality of computers;

providing a plurality of application server clusters as part of the application server domain, wherein the plurality of application server clusters includes a source cluster and a target cluster, and wherein the source cluster comprises a first subset of the plurality of computers and wherein the target cluster comprises a second subset of the plurality of computers;

providing a first partition that is active on a computer of the first subset of computers that comprises the source cluster, wherein the first partition includes a resource group;

providing a second partition that is active on a computer in the second subset of computers that comprises the target cluster, wherein the first partition and the second partition represent respective runtime subdivisions of the application server domain;

exposing an application programming interface (API) by the application server domain; and

providing a replication manager;

receiving, by the API, a plurality of parameters, including an identifier of the resource group, an identifier of the partition, and an identifier of the target cluster;

invoking, by the API, the replication manager to migrate a session state associated with a session of the resource group;

upon the invocation, querying the target cluster, based on the identifier of the target cluster, for a runtime topology of the target cluster;

using the runtime topology to determine that the computer in the second subset of computers that comprises the target cluster can be used to store the session in the target cluster; and

migrating, based on the identifier of the resource group, the session state associated with the session of the resource group to the second partition.

12. The method of claim 11 , wherein a partition configuration of the partition defines the resource group and a set of resources included in the resource group.

13. The method of claim 11 , wherein the replication manager obtains configuration information of the target cluster from a domain configuration.

14. The method of claim 13 , wherein the replication manager uses the configuration information to query the target cluster for the runtime topology.

15. The method of claim 11 , wherein the partition is configured and activated in the target cluster before the resource group migration is initiated.

16. The method of claim 11 , wherein when a client request is directed to a computer instance in the target cluster that is different from the computer in the second subset of computers that comprises the target cluster for storing the session, the target cluster retrieves the session from the computer in the second subset of computers that comprises the target cluster, and piggy-backs information of the computer in the second subset of computers that comprises the target cluster on a response to the client request to the client.

17. The method of claim 11 , wherein the target cluster uses a pre-configured approach to select a computer instance for storing a replica of the session after the session is migrated.

18. The method of claim 17 , wherein information of the computer instance for storing the session replica is piggy-backed on the response to the client request to the client.

19. The method of claim 11 , wherein each computer instance in the source and target clusters supports one or more partitions.

20. 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 steps comprising:

providing an application server domain on a plurality of computers;

providing a plurality of application server clusters as part of the application server domain, wherein the plurality of application server clusters includes a source cluster and a target cluster, and wherein the source cluster comprises a first subset of the plurality of computers and wherein the target cluster comprises a second subset of the plurality of computers;

providing a first partition that is active on a computer of the first subset of computers that comprises the source cluster, wherein the first partition includes a resource group;

a second partition that is active on a computer in the second subset of computers that comprises the target cluster, wherein the first partition and the second partition represent respective runtime subdivisions of the application server domain;

exposing an application programming interface (API) by the application server domain; and

providing a replication manager;

receiving, by the API, a plurality of parameters, including an identifier of the resource group, an identifier of the partition, and an identifier of the target cluster;

invoking, by the API, the replication manager to migrate a session state associated with a session of the resource group;

upon the invocation, querying the target cluster, based on the identifier of the target cluster, for a runtime topology of the target cluster;

using the runtime topology to determine that the computer in the second subset of computers that comprises the target cluster can be used to store the session in the target cluster; and

migrating, based on the identifier of the resource group, the session state associated with the session of the resource group to the second partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2015
From: PHAN, LENNY; ABDELAZIZ, MOHAMED; MORDANI, RAJIV; ISLAM, NAZRUL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 036927/0612 →
Continuity (2)
Provisional Application 62056440 · Sep 26, 2014
Related Publication 20160094406A1 · Mar 31, 2016
Cited By (4)
US 12,250,267 US 12,339,750 US 12,561,125 US 12,675,368