IP Library Granted Patent US 9,843,629
Granted Patent B2
US 9,843,629 · App. 14/866,618 · Granted Dec 12, 2017

System and method for protocol support in a multitenant application server environment

Inventors: Mohamed Abdelaziz (Santa Clara, CA); Prashant Agarwal (San Jose, CA); Sindhu Subramanyam (San Jose, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/10G06F9/54H04L67/1027H04L67/42
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,843,629
App. No.
14/866,618
Granted
Dec 12, 2017
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for supporting an object-based stateful protocol (for example, T3 protocol) in a multitenant application server environment. The system includes a domain with a plurality of server instances, and a plurality of partitions thereon, wherein two or more partitions can spread across a first server instance and a second server instance of the plurality of server instances. Each of the first and second server instances can include a single remote java virtual machine (RJVM) that manages connections established through a single server channel on that server instance using the object-based stateful protocol. The application server instance initiating the connections can associate each connection with a particular partition using a token, and use a smart stub to recover a failed connection. A standalone Java application can similarly initiate connections to an application server instance.

Claims (32)

1. A system for supporting an object-based stateful protocol in a multitenant application server environment, comprising:

one or more computers, each computer including one or more microprocessors;

an application server environment executing on the one or more computers, wherein the application server environment includes a plurality of partitions, wherein at least two or more of the plurality of partitions reside on a particular server instance;

a client application that initiates a plurality of partition-level connections and one or more domain-level connections to the particular server instance using an object-based stateful protocol;

a remote Java virtual machine (RJVM) on each of the client application and the particular server instance for use in managing the partition-level and domain-level connections.

2. The system of claim 1 , further comprising

a smart stub for each partition-level connection on the client application, wherein the smart stub contains a partition name and a plurality of references to server instances in a particular cluster.

3. The system of claim 1 , wherein, in the event of a failure of a connection, the client application dynamically constructs a connection URI using the information in the smart stub to connect to a new server instance.

4. The system of claim 1 , wherein the partition-level and domain-level connections are established through a single server channel.

5. The system of claim 1 , wherein the client application is selected from a group consisting of a standalone Java application and a server instance.

6. The system of claim 1 , wherein each partition-level connection is associated with a partition context that associates that connection with a partition.

7. The system of claim 1 , each partition-level connection is associated with a token for use in identifying the connection.

8. The system of claim 1 , wherein each connection is added to a partition connection table.

9. The system of claim 1 , wherein all communications between the client application and the particular server instance pass through a traffic director in the domain.

10. The system of claim 1 , further comprising a connection manager, which references a partition connection table, to determine if an existing connection for a particular connection already exists before attempting to establish a new connection for the partition.

11. The system of claim 1 , wherein the object-based stateful protocol is T3protocol.

12. A method for supporting an object-based stateful protocol in a multitenant application server environment, comprising:

providing an application server environment executing on one or more computers, wherein each computer includes one or more microprocessors, wherein the application server environment includes a plurality of partitions, wherein at least two or more of the plurality of partitions reside on a particular server instance;

providing a client application that initiates a plurality of partition-level connections and one or more domain-level connections to the particular server instance using an object-based stateful protocol; and

providing a remote Java virtual machine (RJVM) on each of the client application and the particular server instance for use in managing the partition-level and domain-level connections.

13. The method of claim 12 , further comprising

providing a smart stub for each partition-level connection on the client application, wherein the smart stub contains a partition name and a plurality of references to server instances in a particular cluster.

14. The method of claim 12 , wherein, in the event of a failure of a connection, the client application dynamically constructs a connection URI using the information in the smart stub to connect to a new server instance.

15. The method of claim 12 , wherein the partition-level and domain-level connections are established through a single server channel.

16. The method of claim 12 , wherein the client application is selected from a group consisting of a standalone Java application and a server instance.

17. The method of claim 12 , wherein each partition-level connections is associated with a partition context that associates that connection with a partition.

18. The method of claim 12 , wherein each partition-level connection is associated with a token for use in identifying the connection.

19. The method of claim 12 , wherein each connection is added to a partition connection table.

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 environment executing on the one or more computers, wherein each computer includes one or more microprocessors, wherein the application server environment includes a plurality of partitions, wherein at least two or more of the plurality of partitions reside on a particular server instance;

providing a client application that initiates a plurality of partition-level connections and one or more domain-level connections to the particular server instance using an object-based stateful protocol; and

providing a remote Java virtual machine (RJVM) on each of the client application and the particular server instance for use in managing the partition-level and domain-level connections.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: ABDELAZIZ, MOHAMED
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 041145/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: AGARWAL, PRASHANT; SUBRAMANYAM, SINDHU
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 040874/0559 →
Continuity (2)
Provisional Application 62056447 · Sep 26, 2014
Related Publication 20160094627A1 · Mar 31, 2016