Support for cloud-based multi-tenant environments using connection labeling

US9268798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9268798-B2
Application numberUS-201313912098-A
CountryUS
Kind codeB2
Filing dateJun 6, 2013
Priority dateApr 26, 2013
Publication dateFeb 23, 2016
Grant dateFeb 23, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for connection labeling for use with connection pools, including support for cloud-based multi-tenant environments using connection labeling. In accordance with an embodiment, the system comprises a connection pool, including a plurality of connection objects which provide connections that software applications can use to make requests to access the database, wherein each of the connections can be labeled according to the configuration of particular applications; and a connection pool logic that identifies connections labeled as high-cost connections, and controls the creation or repurposing of high-cost connections to serve requests from the multiple tenants or tenant applications.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for connection labeling for use with connection pools, comprising: a computer including a processor and a database, and providing a multi-tenant cloud environment that includes or provides access to the database, for use by a plurality of tenant applications in a cloud-based environment; a connection pool, including a plurality of connection objects which provide connections that the plurality of tenant applications use to make requests to access the database, wherein each connection of the connections is labeled according to configuration information of one or more of the plurality of tenant applications; and a connection pool logic that operates to receive a request, from a tenant application, for a connection with a particular label, invoke a cost callback method to calculate, for each idle connection in the connection pool, a cost for reconfiguring that idle connection to a state associated with the particular label, identify one or more of the idle connections as high-cost connections by comparing the calculated cost associated with each idle connection, with a high-cost value, wherein each identified high-cost connection is associated with a calculated cost larger than the high-cost value, determine whether a total number of active and idle connections in the connection pool is less than a threshold value defined by the tenant application, and based on a result of the determining, create a new connection, or repurpose one identified high-cost connection of the identified high-cost connections to serve the request from the tenant application. 2. The system of claim 1 , wherein each particular one of the plurality of tenant applications is associated with a labeled connection type that the tenant application uses to connect to the database. 3. The system of claim 1 , wherein the connection pool includes support for the tenant application to use a configure callback to repurpose a particular connection from the tenant application to another of the plurality of tenant applications, which has the effect of switching the tenant application on the particular connection. 4. The system of claim 1 , wherein the connection pool logic further performs the steps comprising determining, for the received request, if there is an existing matching connection; and if there is an existing matching connection, returning the existing matching connection. 5. The system of claim 1 , wherein the cost for configuring each idle connection to the state associated with the particular label is an estimated value. 6. The system of claim 1 , wherein the repurposed connection is the cheapest identified high-cost connection in the connection pool. 7. The system of claim 1 , wherein the state is defined by the particular label. 8. A method for connection labeling for use with connection pools, comprising: providing, at a computer including a processor and a database, a multi-tenant cloud environment that includes or provides access to the database, for use by a plurality of tenant applications in a cloud-based environment; providing a connection pool, including a plurality of connection objects which provide connections that the plurality of tenant applications use to make requests to access the database, wherein each connection of the connections is labeled according to configuration information of one or more of the plurality of tenant applications; receiving a request, from a tenant application, for a connection with a particular label; invoking a cost callback method to calculate, for each idle connection in the connection pool, a cost for reconfiguring that idle connection to a state associated with the particular label; identifying, using a connection pool logic, one or more of the idle connections as high-cost connections by comparing the calculated cost associated with each idle connection, with a high-cost value; determining whether a total number of active and idle connections in the connection pool is less than a threshold value; and based on a result of the determining, creating a new connection, or repurposing one identified high-cost connection of the identified high-cost connections to serve the request from the tenant application. 9. The method of claim 8 , wherein each particular one of the plurality of tenant applications is associated with a labeled connection type that the tenant application uses to connect to the database. 10. The method of claim 8 , wherein the connection pool includes support for the tenant application to use a configure callback to repurpose a particular connection from the tenant application to another of the plurality of tenant applications, which has the effect of switching the tenant application on the particular connection. 11. The method of claim 8 , wherein the connection pool logic further performs the steps comprising determining, for the received request, if there is an existing matching connection; and if there is an existing matching connection, returning the existing matching connection. 12. The method of claim 8 , wherein the cost for configuring each idle connection to the state associated with the particular label is an estimated value. 13. The method of claim 8 , wherein the repurposed connection is the cheapest identified high-cost connection in the connection pool. 14. The method of claim 8 , wherein the state is defined by the particular label. 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 steps comprising: configuring, at a computer including a processor and a database, a multi-tenant cloud environment that includes or provides access to the database, for use by a plurality of tenant applications in a cloud-based environment; configuring a connection pool, including a plurality of connection objects which provide connections that the plurality of tenant applications use to make requests to access the database, wherein each connection of the connections is labeled according to configuration information of one or more of the plurality of tenant applications; receiving a request, from a tenant application, for a connection with a particular label; invoking a cost callback method to calculate, for each idle connection in the connection pool, a cost for reconfiguring that idle connection to a state associated with the particular label; identifying, using a connection pool logic, one or more of the idle connections as high-cost connections by comparing the calculated cost associated with each idle connection, with a high-cost value; determining whether a total number of active and idle connections in the connection pool is less than a threshold value; and based on a result of the determining, creating a new connection, or repurposing one identified high-cost connection of the identified high-cost connections to serve the request from the tenant application. 16. The non-transitory computer readable storage medium of claim 15 , wherein each particular one of the plurality of tenant applications is associated with a labeled connection type that the tenant application uses to connect to the database. 17. The non-transitory computer readable storage medium of claim 15 , wherein the connection pool includes support for the tenant application to use a configure callback to repurpose a particular connection from the tenant application to another of the plurality of tenant applications, which has the effect of switching the tenant application on the particu

Assignees

Inventors

Classifications

  • Pool · CPC title

  • Details of database functions independent of the retrieved data types · CPC title

  • G06F9/5011Primary

    the resources being hardware resources other than CPUs, Servers and Terminals · CPC title

  • G06F16/21Primary

    Design, administration or maintenance of databases · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9268798B2 cover?
A system and method for connection labeling for use with connection pools, including support for cloud-based multi-tenant environments using connection labeling. In accordance with an embodiment, the system comprises a connection pool, including a plurality of connection objects which provide connections that software applications can use to make requests to access the database, wherein each of…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/5011. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).