JP7174797B2 - コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート - Google Patents

コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート Download PDF

Info

Publication number
JP7174797B2
JP7174797B2 JP2021048960A JP2021048960A JP7174797B2 JP 7174797 B2 JP7174797 B2 JP 7174797B2 JP 2021048960 A JP2021048960 A JP 2021048960A JP 2021048960 A JP2021048960 A JP 2021048960A JP 7174797 B2 JP7174797 B2 JP 7174797B2
Authority
JP
Japan
Prior art keywords
connection
connections
cost
pool
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021048960A
Other languages
English (en)
Other versions
JP2021108151A5 (ja
JP2021108151A (ja
Inventor
ドゥ・ラバレーヌ,ジャン
チョウ,トン
サーバー,ダグラス
フェルツ,スティーブン
メリル,デイビッド
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2021108151A publication Critical patent/JP2021108151A/ja
Publication of JP2021108151A5 publication Critical patent/JP2021108151A5/ja
Application granted granted Critical
Publication of JP7174797B2 publication Critical patent/JP7174797B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

著作権に関する注意
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
優先権の主張
本願は、2013年4月26日に出願され「SYSTEM AND METHOD FOR CONNECTION LABELING FOR USE WITH CONNECTION POOLS(コネクションプールに対して使用されるコネクシ
ョンラベリングのためのシステムおよび方法)」と題された米国仮特許出願第61/816,610号(代理人整理番号ORACL-05448US0)、2013年6月6日に出願され「SYSTEM AND METHOD FOR CONNECTION LABELING FOR USE WITH CONNECTION POOLS」と題された米国特許出願第13/912,086号(代理人整理番号ORACL-0
5448US1)、2013年4月26日に出願され「SUPPORT FOR CLOUD-BASED MULTI-TENANT ENVIRONMENTS USING CONNECTION LABELING(コネクションラベリングを使用する
クラウドベースのマルチテナント環境に対するサポート)」と題された米国仮特許出願第61/816,623号(代理人整理番号ORACL-05449US0)、および、2013年6月6日に出願され「SUPPORT FOR CLOUD-BASED MULTI-TENANT ENVIRONMENTS USING CONNECTION LABELING」と題された米国特許出願第13/912,098号(代理人
整理番号ORACL-05449US1)に基づく優先権の利益を主張し、上記出願各々を本明細書に引用により援用する。
発明の分野
本発明の実施形態は、概してコネクションプールに関し、具体的には、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムおよび方法に関する。
背景
一般的に説明すると、コネクションプールは、データベースコネクションオブジェクトのキャッシュである。コネクションオブジェクトは、ソフトウェアアプリケーションがデータベースに接続するために使用することができる物理的なデータベースコネクションを意味する。実行時において、アプリケーションはプールにコネクションを要求することができる。この要求を満たすことができるコネクションがプールに含まれている場合、プールはそのコネクションをアプリケーションに返す。コネクションが見つからない場合は、新たなコネクションを作成してアプリケーションに返すことができる。アプリケーションは、このコネクションを用いてデータベースにアクセスし作業を実行してからコネクションをプールに返す。そうすればこのコネクションは後のコネクション要求に対して使用できるようになる。
コネクションの作成は、時間という点からしてもリソースという点からしても高いコストを要する可能性がある。たとえば、ネットワーク通信、認証、トランザクションへの登録、およびメモリ割当等のタスクはすべて、コネクションオブジェクトの作成に要する時間とリソースの量の一因となる。コネクションプールは、このようなコネクションオブジ
ェクトを再利用できるようにし、オブジェクトを作成しなければならない回数を減らす。
コネクションプールの一例として、JDBCコネクションをキャッシュするためのコネクションプールを提供するOracle Universal Connection Pool(UCP)がある。データベース集約型のJava(登録商標)アプリケーションは、コネクションプールを使用することによってシステムリソースのパフォーマンス利用を改善することができる。UCPコネクションプールは、任意のJDBCドライバを使用することによって、その後プールによって管理される物理コネクションを作成することができる。コネクションプールは、アプリケーションのパフォーマンスおよび可用性要求に基づいて、プールの動作を最適化するために使用されるプロパティを用いて構成することができる。
概要
クラウド環境等のマルチテナント環境またはFusion Applicationsのマルチテナント環
境に関しては、コネクションのタイプは非常に複雑である場合がある。なぜなら、複数のテナントに対応する必要があるとともに、たとえば異なるテナントからデータベースへのそれぞれのアクセス間のセキュリティを管理する必要があるからである。こういった複雑なコネクションは、高コストコネクションとみなされる。高コストコネクションを扱う手法は、システムパフォーマンス、および/またはクラウド環境内で機能するアプリケーションのパフォーマンスの改善に役立ち得る。
ある実施形態に従い、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムおよび方法について説明する。ある実施形態に従うと、このシステムは、ソフトウェアアプリケーションがデータベースへのアクセスを要求するために使用することができるコネクションを提供するコネクションオブジェクトを複数含むコネクションプールを備え、上記コネクションは各々、特定のアプリケーションの構成に従ってラベル付けすることができ、このシステムはまた、高コストコネクションとしてラベル付けされたコネクションを識別し、複数のテナントまたはテナントアプリケーションからの要求を満たすために、高コストコネクションの作成または転用を制御する、コネクションプールロジックを備える。ある実施形態に従うと、このシステムは、高コストコネクションとしてラベル付けされたコネクションを識別しコネクションの総数が特定のしきい値未満の場合は高コストコネクションを用いて要求を満たすことがないようにするコネクションプールロジックを備える。
ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムを示す。 ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。 ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。 ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。 ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのプロセスを示すフローチャートである。 ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムを示す。 ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。 ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのプロセスを示すフローチャートである。
詳細な説明
ある実施形態に従い、コネクションプールを含むシステムについて説明する。このシステムは、高コストコネクションを識別し、コネクションの総数が特定のしきい値未満の場合はこれら高コストコネクションを使用して要求を満たすことのないようにすることができる。ある実施形態に従うと、このシステムは、コネクションプールを介してデータベースにアクセスできるようにするクラウドベースのまたはマルチテナントクラウド環境に対して使用することができる、または、この環境に対するサポートを提供することができる。
ある実施形態に従うと、こうすることによって、コネクションプールは、新たな物理コネクションを使用してさまざまなテナントアプリケーション等のさまざまなアプリケーションからのコネクション要求を、既にプールされている可能性がある他のコネクション(たとえば他のテナントコネクション)に再初期化のオーバヘッドを発生させることなく、満たすことができる。
コネクションラベリング
図1は、ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムを示す。図1に示されるように、Fusion Applications環境等
のアプリケーションサーバ/データベース環境100は、データベース102に対するアクセスを含むまたは提供することができる。図1にさらに示されるように、このシステムはまた、現在使用中のコネクション108およびアイドル状態のコネクション110を含むコネクションプール106におけるオブジェクトの作成および使用を制御する105。
ソフトウェアアプリケーション109は、コネクションプールから取出されたコネクション111を、このコネクションの使用前に初期化し得る。初期化の例は、アプリケーションコード内でのメソッドコールを必要とする単純な状態の再初期化、または、ネットワーク上でのラウンドトリップを必要とするデータベース操作を含むより複雑な初期化を含む。後者のタイプの初期化のコストは非常に高い可能性がある。
Oracle Universal Connection Pool(UCP)といったある種のコネクションプールは、そのコネクションプールをコネクションプールプロパティを用いて構成できるようにしたものである。このプロパティは、プール対応のデータソースインスタンスを通して利用可能なメソッドを取得し設定している。これらメソッドは、プールをプログラムで構成するには便利な方法である。設定されているプールプロパティがない場合、コネクションプールはデフォルトプロパティ値を使用する。
図2は、ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。
ある実施形態に従うと、コネクションをラベル付けすることにより、アプリケーションは、任意の名称/値のペアをコネクションに付けることができる。そうすると、アプリケーションは、コネクションプールに対し、所望のラベルを有するコネクションを要求する
ことができる。特定のラベルを特定のコネクション状態に関連付けることにより、アプリケーションは、既に初期化されているコネクションをプールから取出すことができるとともに再初期化の時間とコストを避けることができる。コネクションラベリングによってユーザ定義のキーまたは値が意味付けされることはなく、ユーザ定義のキーおよび値の意味は、アプリケーションによってのみ定義される。
たとえば図2に示されるように、コネクションプールは、ここではコネクションA112およびB114として示されている、現在使用中の複数のコネクションを含み得る。これらコネクションは各々ラベル付けすることができる。図2に示される例では、コネクションA112は(青)でラベル付けされ、コネクションB114は(緑)でラベル付けされている。これらのラベル/色は説明のために設けたものである。さまざまな実施形態に従い、異なるタイプのラベルを使用して異なるコネクションタイプ間の区別を行なってもよい。
図2にさらに示されるように、コネクションプールは、ここではコネクションC116、D118、E120、F122、G124、およびN126として示されている、アイドル状態の複数のコネクションも含み得る。各アイドルコネクションも同様にラベル付けすることができる。この例では(青)または(緑)でラベル付けされている。これらのラベル/色も、説明のために設けたものである。
図2にさらに示されるように、ある実施形態に従うと、ソフトウェアアプリケーション130が、特定のタイプのコネクション、たとえば(赤)コネクションを用いて、データベースに対する要求を行なうことを求める場合、このアプリケーションはgetConnection
(赤)要求132を行なえばよい。これに応じて、コネクションプールロジックは、ここではX134(赤)として示される新たな(赤)コネクションを作成するか、または、既存のアイドルコネクションを、(青または緑)から、ここではE135(赤)として示される(赤)に転用する。
図3は、ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。
ある実施形態に従うと、各ソフトウェアアプリケーションは、コストファンクションコールバックを使用して構成情報(configuration information)136を提供することが
できる。構成情報は、このアプリケーションに関して、コネクションの転用に関連するコスト、ならびに、高コストコネクションおよびしきい値等のその他の構成情報を規定している。
たとえば、特定のアプリケーションは、(青)コネクションを(赤)コネクションに転用するコストの値を50、(緑)コネクションを(赤)コネクションに転用するコストの値を80、高コストコネクションの値を70、妥当なしきい値を10とみなしてもよい。これらの値の意味も同様にアプリケーションによって規定される。上記値は説明のために設けたものである。さまざまな実施形態に従い、異なる数値または数字でない値を用いて異なるコネクションコスト間の区別を行なうことができる。
ある実施形態に従うと、コネクションプールロジックは、プール内の利用可能な各コネクションに対して繰返される。各コネクションに対し、コネクションプールロジックはコストメソッドをコールする。コストメソッドの結果は、コネクションを必要な状態に再構成するのに必要なコストの見積もりを表わす整数である。この値が大きいほどコネクションを再構成する(reconfigure)コストは高い。
ある実施形態に従うと、アプリケーション138が提供する構成情報140を用いて、コネクションプールロジックは、コネクション、特に高コストコネクションを作成するか転用するかの判断141を下すことができる。たとえば、ある実施形態に従うと、システムは以下の疑似コードによって示されるものと同様のプロセスを実行することができる。
High-Cost: 70 //高コスト:70
Threshold: 10 //しきい値:10
getConnection(Red)
IF perfect match (Red) //完全一致(赤)?
THEN return it //そうであれば、これを返す
ELSE find cheapest connection
//そうでなければ、最もコストの低いコネクションを見つけ出す
IF cheapest connection’s cost < High-Cost
//最もコストの低いコネクションのコスト<高コスト?
THEN repurpose this connection //そうであれば、このコネクションを転用
ELSE IF sum connections < Threshold
//そうでなければ、コネクションの総数<しきい値?
THEN create new connection and apply label
//そうであれば、新たなコネクションを作成しラベルを付与
ELSE sum conn ≧ Threshold THEN repurpose cheapest connection
//そうでなければ、コネクションの総数≧しきい値であれば、
//最もコストの低いコネクションを転用
上記例を用いた場合、ある実施形態に従うと、特定のアプリケーションは、高コストを70、しきい値を10と定義してもよい。
システムが特定のコネクションタイプ(たとえば赤)の要求を受けたとき、コネクションプールロジックは先ず完全な/既存の一致(すなわちアイドル状態の赤コネクション)があるか否か判断し、あれば、このコネクションをアプリケーションによる使用のために返す。そうでなければ、コネクションプールロジックは、(赤コネクションに)転用できる最もコストの低いコネクションを見つけ出す。最もコストの低いコネクションのコストが高コスト(70)未満であれば、このコネクションを転用する。そうでなく、コネクションの総数がしきい値(10)未満であれば、新たな(赤)コネクションを作成しそのようにラベル付けしてアプリケーションに与える。そうでなく、コネクションの総数がしきい値以上であれば、最もコストの低いコネクションを(赤)コネクション142として転用する。
図4は、ある実施形態に従う、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。
ある実施形態に従うと、アクティブコネクションとアイドルコネクションの総数が少ないときに特定のタイプの高コストコネクションの使用が要求されると、結果として、既存の(潜在的にはこれも高コストの)コネクションが転用されるのではなく、新たな高コストコネクションY144(赤)が作成されるであろう。よって、この新たなタイプのコネクションを、その後のこのタイプの要求に対して使用することができる。この提案されている手法では、結果として、既存の(潜在的にはこれも高コストの)コネクションが転用されるのではなく、高コストコネクションが作成されることになるであろうが、この手法は、特に複雑な、たとえば一般的に高コストコネクションを利用するマルチテナントクラウド環境において、パフォーマンスを大幅に改善することができる。
図5は、ある実施形態に従う、コネクションプールに対して使用されるコネクションラ
ベリングのプロセスを示すフローチャートである。図5に示されるように、ある実施形態に従うと、ステップ152において、システムは、データベースへのコネクションの要求(たとえばgetConnection(赤))を受ける。
ステップ154において、システムは、完全な/既存のコネクション一致(赤)があるか否か判断する。一致する既存のコネクションがあれば、ステップ156で、既存の(赤)コネクションが返される。そうでなければ、ステップ158で、最もコストの低い既存の非一致コネクション(たとえば青、緑)を見つけ出す。
ステップ160で、システムは、最もコストの低い非一致コネクションのコストが高コスト未満か否か判断する。高コスト未満であれば、ステップ162で、この最もコストの低い非一致コネクションを(赤)コネクションとして転用する。
ステップ164で、システムは、すべてのコネクションの総数がしきい値未満か否か判断する。しきい値未満であれば、ステップ166で、新たなコネクションが作成され、適切なコネクションラベル(赤)が新たなコネクションに付与される。そうでない場合として、ステップ168で、すべてのコネクションの総数がしきい値以上であれば、最もコストの低いコネクションが(赤)コネクションとして転用される。
これまで説明してきたのは、コネクション、特に高コストコネクションを作成するか転用するか判断するための1つの手法である。他の実施形態および実装例に従い、他の手法を使用してもよい。また、先に述べたようにラベル/色は説明のために設けているのであって、他の実施形態では異なるタイプのラベルを使用して異なるコネクションタイプ間の区別を行なってもよい。
マルチテナント環境に対するコネクションラベリング
ある実施形態に従うと、コネクションプールに対して使用されるコネクションラベリングのためのシステムおよび方法は、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含み得る。ある実施形態に従うと、このタイプの環境は「サービスとしてのアプリケーション」(Application as a Service)(AaaS)環境とみなすことができる。
図6は、ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムを示す。図6に示されるように、マルチテナントクラウド環境は、Fusion Applications環境等のアプリケーションサーバ/データベース環
境100を含み得る。環境100は、クラウドベース環境170内の複数のテナントまたはテナントアプリケーション172、174、176が使用する、データベース102に対するアクセスを含むまたは提供する。図6にさらに示されるように、このシステムはまた、コネクションプール106におけるオブジェクトの作成を制御するコネクションプールロジック104を含む。
テナントがクラウド171を介してアクセスするソフトウェアアプリケーションは、コネクションプールから取出されたコネクション178を、このコネクションの使用前に初期化し得る。先に述べたように、初期化の例は、アプリケーションコード内でのメソッドコールを必要とする単純な状態の再初期化、または、ネットワーク上でのラウンドトリップを必要とするデータベース操作を含むより複雑な初期化を含み、後者のタイプの初期化のコストは非常に高い可能性がある。これも先に述べたように、コネクションをラベル付けすることにより、アプリケーションは、任意の名称/値のペアをコネクションに付けることができ、そうすると、アプリケーションは、コネクションプールに対し、所望のラベ
ルを有するコネクションを要求することができる。特定のラベルを特定のコネクション状態に関連付けることにより、アプリケーションは、既に初期化されているコネクションをプールから取出すことができるとともに再初期化の時間とコストを避けることができる。ここでも、コネクションラベリングによってユーザ定義のキーまたは値が意味付けされることはなく、ユーザ定義のキーおよび値の意味は、アプリケーションによってのみ定義される。
たとえば、図6に示されるように、コネクションプールは、ここではコネクションA112およびB114として示されている、現在使用中の複数のコネクション108を含み得るとともに、ここではコネクションC116、D118、E120、F122、G124、およびN126として示されている、アイドル状態の複数のコネクション110も含み得る。各コネクションは同様にラベル付けすることができ、この例では(青)または(緑)でラベル付けされている。ここでも、これらのラベル/色は説明のために設けたものであり、さまざまな実施形態に従って、異なるタイプのラベルを使用して異なるコネクションタイプ間の区別を行なってもよい。
図7は、ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのためのシステムをさらに示す。
ある実施形態に従うと、ソフトウェアアプリケーション130が、特定のタイプのコネクション、たとえば(赤)コネクションを用いて、データベースに対する要求を行なうことを求める場合、このアプリケーションはgetConnection(赤)要求180を行なえばよ
い。これに応じて、コネクションプールロジックは、新たな(赤)コネクションを作成するか、または、既存のアイドルコネクションを(青または緑)から(赤)に転用する。
ある実施形態に従うと、コネクションプールは、アプリケーションがconfiguration()
コールバック(構成コールバック)を用いて「SET CONTAINER」を指定すなわちコンテナ
を設定し特定のコネクションをあるテナントから別のテナントに転用することをサポートし、これは、特定のデータベースコネクション上のテナントを切換えるという効果を有する。
ある実施形態に従うと、各ソフトウェアアプリケーションは、コストファンクションコールバックを使用して構成情報136を提供することができる。構成情報は、このアプリケーションに関して、コネクションの転用に関連するコスト、ならびに、高コストコネクションおよびしきい値等のその他の構成情報を規定している。
たとえば、特定のアプリケーションは、(青)コネクションを(赤)コネクションに転用するコストの値を50、(緑)コネクションを(赤)コネクションに転用するコストの値を80、高コストコネクションの値を70、妥当なしきい値を10とみなしてもよい。これらの値の意味も同様にアプリケーションによって規定される。上記値は説明のために設けたものである。さまざまな実施形態に従い、異なる数値または数字でない値を用いて異なるコネクションコスト間の区別を行なうことができる。
ある実施形態に従うと、コネクションプールロジックは、プール内の利用可能な各コネクションに対して繰返される。各コネクションに対し、コネクションプールロジックはコストメソッドをコールする。コストメソッドの結果は、コネクションを必要な状態に再構成するのに必要なコストの見積もりを表わす整数である。この値が大きいほどコネクションを再構成するコストは高い。
ある実施形態に従うと、アプリケーションが提供する構成情報を用いて、コネクションプールロジックは、コネクション、特に高コストコネクションを作成するか転用するかの判断を下すことができる。たとえば、ある実施形態に従うと、システムは上記プロセスと同様のプロセスを実行することができる。
上記例を用いた場合、ある実施形態に従うと、特定のアプリケーションは、高コストを70、しきい値を10と定義してもよい。システムが特定のコネクションタイプ(たとえば赤)の要求を受けたとき、コネクションプールロジックは先ず完全な/既存の一致(すなわちアイドル状態の赤コネクション)があるか否か判断し、あれば、このコネクションをアプリケーションによる使用のために返す。そうでなければ、コネクションプールロジックは、(赤コネクションに)転用できる最もコストの低いコネクションを見つけ出す。最もコストの低いコネクションのコストが高コスト(70)未満であれば、このコネクションを転用する。そうでなく、コネクションの総数がしきい値(10)未満であれば、ここではZ184(赤)として示されている新たな(赤)コネクションを作成しそのようにラベル付けしてアプリケーションに与える。そうでなく、コネクションの総数がしきい値以上であれば、最もコストの低いコネクションを、ここではE182(赤)として示されている(赤)コネクションとして転用する。
ある実施形態に従うと、アクティブコネクションおよびアイドルコネクションの総数が少ないときに特定のタイプの高コストコネクションの使用が要求されると、その結果、既存の(潜在的にはこれも高コストの)コネクションが転用されるのではなく、新たな高コストコネクションが作成されるであろう。よって、この新たなタイプのコネクションを、その後のこのタイプの要求に対して使用することができる。
この提案されている手法では、結果として、既存の(潜在的にはこれも高コストの)コネクションが転用されるのではなく、高コストコネクションが作成されることになるであろうが、この手法は、特に複雑な、たとえば一般的に高コストコネクションを利用するマルチテナントクラウド環境において、パフォーマンスを大幅に改善することができる。
たとえば、図7に示されるように、このシステムは、クラウドベース環境内の複数のテナントまたはテナントアプリケーションによって使用されることができる。このようなマルチテナント環境では、コネクションのタイプは非常に複雑である場合がある。なぜなら、複数のテナントに対応する必要があるとともに、たとえば異なるテナントからデータベースへのそれぞれのアクセス間のセキュリティを管理する必要があるからである。本明細書に記載の手法を用いて、クラウド環境内で機能するアプリケーションのパフォーマンスを改善することができる。
図8は、ある実施形態に従う、コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポートを含む、コネクションプールに対して使用されるコネクションラベリングのプロセスを示すフローチャートである。図8に示されるように、ある実施形態に従うと、ステップ192で、複数のテナントまたはテナントアプリケーションが使用するデータベースへのアクセスを含むまたは提供するマルチテナントクラウド環境が提供される。
ステップ194で、ソフトウェアアプリケーションがデータベースへのアクセスを要求するために使用することができるコネクションを提供するコネクションプールが提供され、コネクションは特定のアプリケーションの構成に従ってラベル付けすることができる。
ステップ196で、複数のテナントまたはテナントアプリケーションからのコネクション要求をコネクションラベリングおよびコネクションコスト情報とともにサポートするよ
うにソフトウェアアプリケーションが構成される。
ステップ198で、高コストコネクションとしてラベル付けされたコネクションが識別され、システムはその後、高コストコネクションの作成または転用を制御して複数のテナントまたはテナントアプリケーションからの要求を満たす。
実装例
以下は、さまざまな実施形態に従う、Oracle UCP環境においてコネクションプールに対しコネクションラベリングを如何にして使用できるかを示す例である。他の実施形態に従い、たとえばWebLogicサーバコネクションプールまたはその他の種類のコネクションプールに対して使用される機能を提供することができる。
Oracle UCPにおいて、コネクションラベリング(Connection Labeling)(
CL)は、高コストコネクションを識別するためのメカニズムを提供する。ある実施形態に従うと、CLは、少なくとも離散値をサポートしなければならず、ある範囲の値をサポートし得る。CLは、再利用高コストコネクションしきい値の構成パラメータ(minpoolsize、maxpoolsizeと同様)を提供し得る。利用できる最小コストのコネクションが高コストコネクションであった場合、このシステムは、現在のプールサイズを、再利用高コストコネクションしきい値に対してテストするとともに、最小プールサイズに対してテストすることができる。現在のプールサイズ<最小プールサイズ、または、現在のプールサイズ<しきい値であれば、システムは新たなコネクションを返す。そうではなく、(現在のプールサイズ>=しきい値)であれば、システムは、最小コストの高コストコネクションを返す。利用できるコネクションがないときは、現在の動作を保ち(すなわち最大プールサイズを条件として新たなコネクションを返し、>=最大プールサイズであれば、タイムアウト等を条件として、コネクションが利用できるようになるのを待つ)。
ある実施形態に従うと、UCPコネクションラベリング動作、UCPのコネクションラベリングの特徴は、プール内のコネクションの初期化および再初期化のコストをいずれかのアプリケーションが求めるための、コネクションラベリングコールバックの実装おけるcost()メソッドをサポートする。このプールは、アプリケーションの要求に合わせて十分にカスタマイズすることができるフレキシブルなコスト値の範囲をサポートする。プールは、コールバックから返されたcost()値を用いて、各コネクション要求を満たすために最適のコネクション候補を決定する。これは常に最小コスト値のコネクションを選ぶ。0である最小コスト値は、再初期化がないことを示す。一方、Integer.MAX_VALUEは、要求を
満たすために新たな物理コネクションを使用することをプールに強制する。プールは、ラベルが付与されたコネクションとラベルがないコネクションを区別する。コネクションラベリングが起動されると、プールは常に、ラベルが付与されているプール内のコネクションを先ずチェックし、要求を満たすために利用できるラベル付きのコネクションを見つけ出すことができない場合のみ、ラベルのないコネクションから利用できるものを見つけ出そうとする。これに失敗したときは、プールにまだ成長の余地があれば、新たな物理コネクションを作成しようとする。
さまざまな実施形態に従う、上記の変形は、下記のものを含み得る。
新たなUCPプールのプロパティとしてConnectionLabelingHighCost(UCPデータソースPoolxxxDataSource上でも利用可能)を追加する。設定値が0よりも大きいとき、コ
スト値がこのプロパティ値以上であるコネクションは、「高コスト」コネクションとみなされる。デフォルト値はInteger.MAX_VALUEである。たとえば、プロパティ値が5に設定
されている場合、ラベリングコールバックからの計算されたコスト値が5以上であるコネクションは、高コストコネクションとみなされる。
新たなUCPプールのプロパティとしてHighCostConnectionReuseThreshold(UCPデータソースPoolxxxDataSource上でも利用可能)を追加する。設定値が0よりも大きいと
き、これは、プール内のコネクションの総数のしきい値を指定し、このしきい値よりも大きい場合、コネクションラベリングはプール内の高コストコネクションを再利用して要求を満たすことができる。このしきい値よりも小さい場合、コネクションラベリングは、利用できる低コストのコネクションを使用するか、または新たな物理コネクションを作成して、要求を満たす。たとえばこのプロパティ値が20に設定されている場合、利用できる低コストのコネクションがなくコネクションの総数が20に達すると、コネクションラベリングは高コストコネクションを再利用する。HighCostConnectionReuseThresholdのデフォルト値は0である。コネクションラベリングのコールバックは、このプロパティの実施と同時に登録されねばならない。有効なコネクションラベリングのコールバック登録は、コネクションラベリングを起動し続ける。プーリング(pooling)ロジックは、コスト-
選択の繰返し後に、最小コスト結果がConnectionLabelingHighCost以上のとき、新たなしきい値をチェックする。この新たなしきい値がチェックされる時点におけるコネクションの総数は、アクティブなコネクション作成要求の数を説明する(プールはこの情報を抽出するためのコードを既に有している)。このチェックは、MinPoolSizeおよびMaxPoolSize双方を説明するものでなければならない。なお、コスト値としてInteger.MAX_VALUEを有
する、ラベル付けされたコネクションは、新たなしきい値に達した後であっても再利用されない。このことは、新たなしきい値およびConnectionLabelingHighCostが設定されていないときの既存のコネクションラベリングの動作と一致する。
ある実施形態に従うと、ラベルを有するコネクション要求(すなわちラベル付けされた要求)を満たすために、プール内のラベルがない(ステートレスな)コネクションを再利用してはならないという要件はない。HighCostConnectionReuseThresholdに達しコネクションラベリングが起動されると、プールは引続き、新たな物理コネクションの作成よりもラベルがない(ステートレスな)コネクションを優先する。
ある実施形態に従うと、特殊なコネクションラベリングコールバック実装をサポートするために、いずれのコネクションに対しても、アプリケーションは、高コストを考慮し、このようなコールバックにおけるcost()メソッドは、(1)プールサイズがHighCostConnectionReuseThresholdに達する前に、単にこのようなコネクションに対してInteger.MAX_VALUEを返し、(2)しきい値に達した後は実際の高コスト値を返すようにスイッチする
。これにより、しきい値を下回った場合に、既存のUCPコードが高コストコネクションを再利用して要求を満たすのを効果的に禁止する。コールバック実装は、プールサイズをしきい値に対して動的にチェックすることができる。
本発明の実施形態は、本開示の教示に従いプログラムされた、1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実装し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できるものである。これはソフトウェア技術における当業者には明らかであろう。
実施形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納された非一時的な記録媒体または(1つまたは複数の)コンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。この記録媒体の例は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または
、命令および/またはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
本発明の実施形態に関するこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者が本発明のさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。

Claims (13)

  1. コネクションプールに対して使用されるコネクションラベリングのための方法であって、
    プロセッサとデータベースとを含むコンピュータにおいて、クラウドベース環境内の複数のテナントアプリケーションによる使用のために、前記データベースへのアクセスを含むまたは提供するマルチテナントクラウド環境を提供することと、
    コネクションプールを提供することとを含み、前記コネクションプールは、前記複数のテナントアプリケーションが前記データベースへのアクセスを要求するために使用する複数のコネクションを提供する複数のコネクションオブジェクトを含み、前記複数のコネクションの各々は、前記複数のテナントアプリケーションのうちの1つ以上のテナントアプリケーションの構成情報に従ってラベル付けされており、
    テナントアプリケーションから、特定のラベルとのコネクションを求める要求を受けることと、
    前記コネクションプールにおける各アイドルコネクションについて、当該アイドルコネクションを前記特定のラベルに関連付けられた状態に再構成するためのコストを計算することと、
    コネクションプールロジックを用いて、各アイドルコネクションに関連付けられた前記計算されたコストを、判断基準として予め定義された高コスト値と比較することにより、前記複数のアイドルコネクションのうちの1つ以上のアイドルコネクションから、最も低コストのコネクション特定することと、
    前記コネクションプールにおけるアクティブなコネクションとアイドルコネクションの総数が、前記テナントアプリケーションによって定められたしきい値未満であるか否かを判断することと、
    前記総数が前記しきい値未満であることに基づいて、新たなコネクションを生成すること、または、前記総数が前記しきい値以上であることに基づいて、前記特定されたコストコネクションを、前記テナントアプリケーションからの要求を満たすために転用すること、とを含む、方法。
  2. 前記複数のテナントアプリケーションのうちの各テナントアプリケーションは、前記テナントアプリケーションが前記データベースに接続するために使用するラベル付けされたコネクションタイプに関連付けられており、
    前記ラベル付けされたコネクションがあるときに、前記コネクションプールロジックは、前記要求を与えたテナントアプリケーションに、前記コネクションを返す、請求項1に記載の方法。
  3. 前記コネクションプールは、前記テナントアプリケーションが構成コールバックを用いて特定のコネクションを前記テナントアプリケーションから前記複数のテナントアプリケーションのうちの別のテナントアプリケーションに転用することに対するサポートを含み、これは特定のコネクションに対しテナントアプリケーションを切換えるという効果を有する、請求項1または2に記載の方法。
  4. 前記コネクションプールロジックはさらに、
    前記受けた要求について、既存の一致コネクションがあるか否かを判断することと、
    既存の一致コネクションがあれば、前記既存の一致コネクションを返すこととを含むステップを実行する、請求項1~3のいずれか1項に記載の方法。
  5. 各アイドルコネクションを前記特定のラベルに関連付けられた状態に構成するためのコストは、推定値である、請求項1~4のいずれか1項に記載の方法。
  6. 前記転用されるコネクションは、前記コネクションプールにおいて最もコストが低いと特定された高コストコネクションである、請求項1~5のいずれか1項に記載の方法。
  7. 前記状態は前記特定のラベルによって定められる、請求項1~6のいずれか1項に記載の方法。
  8. コネクションプールと共に使用されるコネクションラベリングのための方法であって、
    プロセッサとデータベースとを含むコンピュータにおいて、ソフトウェアアプリケーションが前記データベースへのアクセスを要求するために使用できるコネクションを提供する複数のコネクションオブジェクトを含むコネクションプールを提供することを含み、
    各アプリケーションは、特定のラベルを特定のコネクション状態に関連付けて、かつ、当該アプリケーションについて、一つの状態から他の状態へコネクションを再利用することに関連付けられたコストを規定する構成情報に関連付けられており、それにより、各コネクションが当該アプリケーションによって規定される構成情報に従って当該アプリケーションによる使用のためにラベル付けされ、
    前記方法はさらに、
    ラベル付けされたコネクションについてアプリケーションからの要求を受信すると当該アプリケーションによる使用のためのコネクションを生成または再利用するか否かを決定する時に使用するために、高コストコネクションを識別するための処理を実行して、かつ、コネクションの総数が前記構成情報に含まれる閾値以下であるときに要求に応えるために新たなコネクションを作成するコネクションプールロジックを用いることを含む、方法。
  9. 前記コネクションプールロジックは、アクティブなコネクションとアイドルコネクションの総数が特定の閾値以下であると判断されたときに、特定のタイプの高コストコネクションを使用する要求は、既存のコネクションが再利用されるよりはむしろ、新たな高コストコネクションを前記コネクションプールロジックに作成させる、請求項8に記載の方法。
  10. 前記コネクションプールは、データベースへのアクセスを提供するユニバーサルコネクションプール(UCP)である、請求項8または9に記載の方法。
  11. 前記コネクションプールロジックは、受信した要求について、既存の一致するコネクションが存在するか否かを判断する処理を実行し、もし、既存の一致するコネクションが存在する場合には、当該既存の一致するコネクションを返し、そうでなければ、一致しない最も低コストのコネクションを探して、当該一致しない最も低コストのコネクションが高コスト値以下であるか否かを判断し、そうであれば、前記一致しない最も低コストのコネクションを前記要求と共に使用するために再利用し、そうでなければ、全てのコネクションの合計が閾値より少ない場合は前記要求と共に使用するための新たなコネクションを生成して、前記新たなコネクションを返し、全てのコネクションの合計が前記閾値以上である場合は前記要求と共に使用するために前記最も低コストのコネクションを再利用する、請求項8~10のいずれかに記載の方法。
  12. 請求項1~11のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
  13. コネクションプールに対して使用されるコネクションラベリングのためのシステムであって、
    請求項12に記載のプログラムを格納したメモリと、
    前記プログラムを実行するためのプロセッサとを備える、システム。
JP2021048960A 2013-04-26 2021-03-23 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート Active JP7174797B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361816623P 2013-04-26 2013-04-26
US201361816610P 2013-04-26 2013-04-26
US61/816,610 2013-04-26
US61/816,623 2013-04-26
US13/912,086 US9251178B2 (en) 2013-04-26 2013-06-06 System and method for connection labeling for use with connection pools
US13/912,098 US9268798B2 (en) 2013-04-26 2013-06-06 Support for cloud-based multi-tenant environments using connection labeling
US13/912,098 2013-06-06
US13/912,086 2013-06-06
JP2019100686A JP7075911B2 (ja) 2013-04-26 2019-05-29 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019100686A Division JP7075911B2 (ja) 2013-04-26 2019-05-29 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート

Publications (3)

Publication Number Publication Date
JP2021108151A JP2021108151A (ja) 2021-07-29
JP2021108151A5 JP2021108151A5 (ja) 2021-09-09
JP7174797B2 true JP7174797B2 (ja) 2022-11-17

Family

ID=51790200

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016510763A Active JP6606064B2 (ja) 2013-04-26 2014-04-23 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
JP2019100686A Active JP7075911B2 (ja) 2013-04-26 2019-05-29 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
JP2021048960A Active JP7174797B2 (ja) 2013-04-26 2021-03-23 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2016510763A Active JP6606064B2 (ja) 2013-04-26 2014-04-23 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
JP2019100686A Active JP7075911B2 (ja) 2013-04-26 2019-05-29 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート

Country Status (5)

Country Link
US (2) US9268798B2 (ja)
EP (1) EP2989546B1 (ja)
JP (3) JP6606064B2 (ja)
CN (1) CN104871134B (ja)
WO (1) WO2014176363A1 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129078B2 (en) 2014-10-30 2018-11-13 Equinix, Inc. Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange
CN104572974B (zh) * 2014-12-31 2018-10-12 北京奇虎科技有限公司 业务请求处理方法和装置
EP3286664B1 (en) * 2015-04-20 2021-10-13 Oracle International Corporation System and method for providing access to a sharded database using a cache and a shard topology
US10862803B2 (en) * 2015-09-02 2020-12-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Repurposing a target endpoint to execute a management task
US10331634B2 (en) 2015-10-07 2019-06-25 Oracle International Corporation Request routing and query processing in a sharded database
CN106599711A (zh) * 2015-10-15 2017-04-26 华为技术有限公司 一种数据库访问控制方法,及装置
CN105279263A (zh) * 2015-10-23 2016-01-27 国网信息通信产业集团有限公司 一种支持多应用共享的数据库连接系统及方法
US10355992B2 (en) 2016-01-27 2019-07-16 Oracle International Corporation System and method for supporting router SMA abstractions for SMP connectivity checks across virtual router ports in a high performance computing environment
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US10756961B2 (en) 2016-01-27 2020-08-25 Oracle International Corporation System and method of assigning admin partition membership based on switch connectivity in a high-performance computing environment
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10200308B2 (en) 2016-01-27 2019-02-05 Oracle International Corporation System and method for supporting a scalable representation of link stability and availability in a high performance computing environment
US10936966B2 (en) * 2016-02-23 2021-03-02 At&T Intellectual Property I, L.P. Agent for learning and optimization execution
US10171353B2 (en) 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment
EP3311548B1 (en) * 2016-05-11 2019-04-10 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US9781122B1 (en) * 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
CN105956138B (zh) * 2016-05-11 2019-07-12 北京百度网讯科技有限公司 数据库连接的控制方法和装置
US10353910B2 (en) * 2016-07-15 2019-07-16 Ebay Inc. Preemptive connection pool adjustments
US20180039628A1 (en) * 2016-08-03 2018-02-08 Oracle International Corporation System and method for providing dynamic relocation of tenants in a multi-tenant database environment
US11120036B2 (en) * 2016-08-03 2021-09-14 Oracle International Corporation System and method for efficient repurposing of connections in a multi-tenant database environment
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10742748B2 (en) 2016-08-12 2020-08-11 Oracle International Corporation System and method for supporting live addition of a tenant in a connection pool environment
US10824750B2 (en) * 2016-08-12 2020-11-03 Oracle International Corporation System and method for performing connection validation in a multi-tenant environment
US11290540B2 (en) 2016-08-12 2022-03-29 Oracle International Corporation System and method for use of server-side connection pool tagging in a multi-tenant environment
US10909211B2 (en) 2016-08-12 2021-02-02 Oracle International Corporation System and method for control of maximum connections in a connection pool environment
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
CN109565511B (zh) 2016-09-16 2021-06-29 甲骨文国际公司 用于多租户身份和数据安全管理云服务的租户和服务管理
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
CN108600349B (zh) * 2018-04-11 2021-01-05 北京小米移动软件有限公司 连接池中的连接管理方法及装置
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11194773B2 (en) 2019-09-12 2021-12-07 Oracle International Corporation Integration of existing databases into a sharding environment
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11176155B2 (en) * 2019-12-13 2021-11-16 Paypal, Inc Self-adjusting connection pool in a distributed system
CN111935313B (zh) * 2020-09-24 2020-12-25 武汉中科通达高新技术股份有限公司 一种连接池管理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063301A1 (ja) 2010-11-08 2012-05-18 株式会社日立製作所 計算機システム、マルチテナント制御方法及びマルチテナント制御プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015411A1 (en) 1996-06-27 2005-01-20 Gerald Altman Systems, processes, and products for storage and retrieval of electronic files
US7031987B2 (en) 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
US8145759B2 (en) 2002-11-04 2012-03-27 Oracle America, Inc. Dynamically configurable resource pool
US8051144B2 (en) 2003-07-29 2011-11-01 At&T Intellectual Property I, L.P. J2EE enterprise information system (EIS) common object request broker architecture (CORBA) connector
US8434027B2 (en) 2003-12-15 2013-04-30 Quantum Matrix Holdings, Llc System and method for multi-dimensional organization, management, and manipulation of remote data
US7761502B2 (en) 2004-12-31 2010-07-20 Bea Systems, Inc. Callback interface for multipools
KR20070110011A (ko) 2004-12-31 2007-11-15 비이에이 시스템즈 인코포레이티드 다중 풀 관리자
US8539504B2 (en) 2007-08-30 2013-09-17 International Business Machines Corporation Heterogeneous architecture in pooling management
US8185880B2 (en) 2007-10-04 2012-05-22 International Business Machines Corporation Optimizing heap memory usage
US9372712B2 (en) 2009-12-17 2016-06-21 International Business Machines Corporation Optimizing virtual storage size in a virtual computer system based on information related to virtual machines, user inputs and/or configuration parameters
EP2363806A1 (en) * 2010-03-03 2011-09-07 Software AG Connection handler and method for providing applications with heterogeneous connection objects
US8893093B2 (en) * 2010-05-07 2014-11-18 Salesforce.Com, Inc. Method and system for automated performance testing in a multi-tenant environment
US8856460B2 (en) 2010-09-15 2014-10-07 Oracle International Corporation System and method for zero buffer copying in a middleware environment
US9124674B2 (en) 2011-12-01 2015-09-01 Futurewei Technologies, Inc. Systems and methods for connection pooling for video streaming in content delivery networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063301A1 (ja) 2010-11-08 2012-05-18 株式会社日立製作所 計算機システム、マルチテナント制御方法及びマルチテナント制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tulika Das,外1名,Oracle Universal Connection Pool for JDBC開発者ガイド,11gリリース2(11.2) [online],Oracle Corporation,2009年10月,インターネット<URL:https://docs.oracle.com/cd/E16338_01/java.112/b56283/title.htm>

Also Published As

Publication number Publication date
EP2989546B1 (en) 2021-08-11
EP2989546A1 (en) 2016-03-02
CN104871134A (zh) 2015-08-26
US9251178B2 (en) 2016-02-02
JP2019175487A (ja) 2019-10-10
CN104871134B (zh) 2018-12-14
US20140324910A1 (en) 2014-10-30
JP6606064B2 (ja) 2019-11-13
JP7075911B2 (ja) 2022-05-26
WO2014176363A1 (en) 2014-10-30
US9268798B2 (en) 2016-02-23
US20140324911A1 (en) 2014-10-30
JP2021108151A (ja) 2021-07-29
JP2016526199A (ja) 2016-09-01

Similar Documents

Publication Publication Date Title
JP7174797B2 (ja) コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
US9785687B2 (en) System and method for transparent multi key-value weighted attributed connection using uni-tag connection pools
US8572137B2 (en) Data de-duplication in a distributed network
US10909211B2 (en) System and method for control of maximum connections in a connection pool environment
US9547536B2 (en) Connection handler and method for providing applications with heterogeneous connection objects
JP5989001B2 (ja) ペルソナベースのアプリケーションエクスペリエンスの提供
US20150026213A1 (en) System and method for providing a shareable global cache for use with a database environment
JP7336554B2 (ja) マルチテナント・データベース環境においてテナントの動的再配置を提供するためのシステムおよび方法
US9420035B2 (en) Transaction isolation during multi-tenant transaction requests
US10742748B2 (en) System and method for supporting live addition of a tenant in a connection pool environment
TWI659305B (zh) 用於擴展私用快取中快取行之獨佔持有之設備
WO2015000378A1 (en) Method to optimize provisioning time with dynamically generated virtual disk contents
US11290540B2 (en) System and method for use of server-side connection pool tagging in a multi-tenant environment
US9774661B1 (en) System, method, and computer program for processing interdependent transactions between a requesting system and a target system
US10200301B1 (en) Logical control groups for distributed system resources
CN113253931B (zh) 一种适用于rabbitmq自动切换使用云数据盘的方法
US20230153155A1 (en) On-demand co-processing resources for quantum computing
US20130332611A1 (en) Network computing over multiple resource centers
CN118316993A (zh) 服务调用方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221107

R150 Certificate of patent or registration of utility model

Ref document number: 7174797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150