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

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

Info

Publication number
JP2021108151A
JP2021108151A JP2021048960A JP2021048960A JP2021108151A JP 2021108151 A JP2021108151 A JP 2021108151A JP 2021048960 A JP2021048960 A JP 2021048960A JP 2021048960 A JP2021048960 A JP 2021048960A JP 2021108151 A JP2021108151 A JP 2021108151A
Authority
JP
Japan
Prior art keywords
connection
connections
tenant
cost
high cost
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.)
Granted
Application number
JP2021048960A
Other languages
English (en)
Other versions
JP2021108151A5 (ja
JP7174797B2 (ja
Inventor
ドゥ・ラバレーヌ,ジャン
De Lavarene Jean
チョウ,トン
Tong Zhou
サーバー,ダグラス
Surber Douglas
フェルツ,スティーブン
Felts Stephen
メリル,デイビッド
Merrill David
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
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)

Abstract

【課題】クラウドベースのマルチテナント環境において、コネクションプールに対して使用されるコネクションラベリングを行うシステムを提供する。【解決手段】システムは、ソフトウェアアプリケーションがデータベースへアクセスするときに使用するコネクションを提供する複数のコネクションオブジェクトを含むコネクションプールを備える。各コネクションは、特定のアプリケーションの構成に従ってラベル付けすることができ、また、高コストコネクションとしてラベル付けされたコネクションを識別し、作成又は転用を制御して複数のテナント又はテナントアプリケーションからの要求を満たすコネクションプールロジックを備える。また、高コストコネクションとしてラベル付けされたコネクションを識別し、コネクションの総数が特定のしきい値未満の場合は、高コストコネクションを用いて要求を満たすことがないようにするコネクションプールロジックを備える。【選択図】図7

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 (18)

  1. コネクションプールに対して使用されるコネクションラベリングのためのシステムであって、
    プロセッサおよびデータベースを含むコンピュータと、
    ソフトウェアアプリケーションが前記データベースへのアクセスを要求するために使用することができるコネクションを提供するコネクションオブジェクトを複数含むコネクションプールとを備え、前記コネクションは各々、特定のアプリケーションの構成に従ってラベル付けすることができ、
    高コストコネクションとしてラベル付けされたコネクションを識別し、前記ソフトウェアアプリケーションからの要求を満たすために、高コストコネクションの使用、作成、および転用のうちの1つ以上を制御する、コネクションプールロジックを備える、システム。
  2. 前記システムは、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記複数のテナントまたはテナントアプリケーションのうちの特定の各テナントまたはテナントアプリケーションを、ラベル付けされたコネクションタイプと関連付けることができ、前記特定のアプリケーションは前記コネクションタイプを前記特定のテナントのために使用して前記データベースに接続する、請求項1に記載のシステム。
  3. 前記システムは、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記コネクションプールは、前記特定のアプリケーションが構成コールバックを用いてコンテナを指定または設定し特定のコネクションを前記複数のテナントまたはテナントアプリケーションのうちの1つから前記複数のテナントまたはテナントアプリケーションのうちの別の1つに転用することに対するサポートを含み、これは特定のデータベースコネクションに対しテナントを切換えるという効果を有する、請求項1または2に記載のシステム。
  4. 前記コネクションプールロジックはプロセスを実行し、前記プロセスは、
    受けた要求について、既存の一致コネクションがあるか否か判断し、
    既存の一致コネクションがあれば、前記既存の一致コネクションを返し、既存の一致コネクションがなければ、
    最もコストの低い非一致コネクションを見つけ出し、前記最もコストの低い非一致コネクションのコストが高コスト値未満か否か判断し、高コスト値未満であれば、前記最もコストの低い非一致コネクションを前記要求に対して使用するために転用し、高コスト値未満でなければ、
    すべてのコネクションの総数がしきい値未満であれば、前記要求に対して使用するために新たなコネクションを作成して前記新たなコネクションを返し、
    すべてのコネクションの総数が前記しきい値以上であれば、前記最もコストの低いコネクションを前記要求に対して使用するために転用する、請求項1〜3のいずれか1項に記載のシステム。
  5. 前記コネクションプールロジックは、高コストコネクションとしてラベル付けされたコネクションを識別し、コネクションの総数が特定のしきい値未満の場合は前記高コストコネクションを用いて要求を満たすことがないようにする、請求項1〜4のいずれか1項に記載のシステム。
  6. 前記コネクションプールロジックは、アクティブコネクションとアイドルコネクションの総数が少ないときに特定のタイプの高コストコネクションの使用が要求されると結果と
    して既存のコネクションが転用されるのではなく新たな高コストコネクションが作成されるように、構成される、請求項1〜5のいずれか1項に記載のシステム。
  7. コネクションプールに対して使用されるコネクションラベリングのための方法であって、
    プロセッサおよびデータベースを含むコンピュータに、クラウドベース環境内の複数のテナントまたはテナントアプリケーションが使用するデータベースに対するアクセスを含むまたは提供するマルチテナントクラウド環境を提供することと、
    ソフトウェアアプリケーションが前記データベースへのアクセスを要求するために使用することができるコネクションを提供するコネクションオブジェクトを複数含むコネクションプールを提供することとを含み、前記コネクションは各々、特定のアプリケーションの構成に従ってラベル付けすることができ、
    高コストコネクションとしてラベル付けされたコネクションを識別し、前記複数のテナントまたはテナントアプリケーションからの要求を満たすために、高コストコネクションの作成または転用を制御するコネクションプールロジックを、使用することを含む、方法。
  8. 前記方法は、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記複数のテナントまたはテナントアプリケーションのうちの特定の各テナントまたはテナントアプリケーションを、ラベル付けされたコネクションタイプと関連付けることができ、前記特定のアプリケーションは前記コネクションタイプを前記特定のテナントのために使用して前記データベースにコネクションする、請求項7に記載の方法。
  9. 前記方法は、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記コネクションプールは、前記特定のアプリケーションが構成コールバックを用いてコンテナを指定または設定し特定のコネクションを前記複数のテナントまたはテナントアプリケーションのうちの1つから前記複数のテナントまたはテナントアプリケーションのうちの別の1つに転用することに対するサポートを含み、これは特定のデータベースコネクションに対しテナントを切換えるという効果を有する、請求項7または8に記載の方法。
  10. 前記コネクションプールロジックはプロセスを実行し、前記プロセスは、
    受けた要求について、既存の一致コネクションがあるか否か判断し、
    既存の一致コネクションがあれば、前記既存の一致コネクションを返し、既存の一致コネクションがなければ、
    最もコストの低い非一致コネクションを見つけ出し、前記最もコストの低い非一致コネクションのコストが高コスト値未満か否か判断し、高コスト値未満であれば、前記最もコストの低い非一致コネクションを前記要求に対して使用するために転用し、高コスト値未満でなければ、
    すべてのコネクションの総数がしきい値未満であれば、前記要求に対して使用するために新たなコネクションを作成して前記新たなコネクションを返し、
    すべてのコネクションの総数が前記しきい値以上であれば、前記最もコストの低いコネクションを前記要求に対して使用するために転用する、請求項7〜9のいずれか1項に記載の方法。
  11. 前記コネクションプールロジックは、高コストコネクションとしてラベル付けされたコネクションを識別し、コネクションの総数が特定のしきい値未満の場合は前記高コストコネクションを用いて要求を満たすことがないようにする、請求項7〜10のいずれか1項に記載の方法。
  12. 前記コネクションプールロジックは、アクティブコネクションとアイドルコネクションの総数が少ないときに特定のタイプの高コストコネクションの使用が要求されると結果として既存のコネクションが転用されるのではなく新たな高コストコネクションが作成されるように、構成される、請求項7〜11のいずれか1項に記載の方法。
  13. 格納された命令を含む非一時的なコンピュータ読取可能な媒体であって、前記命令は1つ以上のコンピュータによって読出されて実行されたときに前記1つ以上のコンピュータに方法を実行させ、前記方法は、
    プロセッサおよびデータベースを含むコンピュータに、クラウドベース環境内の複数のテナントまたはテナントアプリケーションが使用するデータベースに対するアクセスを含むまたは提供するマルチテナントクラウド環境を提供することと、
    ソフトウェアアプリケーションが前記データベースへのアクセスを要求するために使用することができるコネクションを提供するコネクションオブジェクトを複数含むコネクションプールを提供することとを含み、前記コネクションは各々、特定のアプリケーションの構成に従ってラベル付けすることができ、
    高コストコネクションとしてラベル付けされたコネクションを識別し、前記複数のテナントまたはテナントアプリケーションからの要求を満たすために、高コストコネクションの作成または転用を制御してコネクションプールロジックを、使用することを含む、媒体。
  14. 前記方法は、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記複数のテナントまたはテナントアプリケーションのうちの特定の各テナントまたはテナントアプリケーションを、ラベル付けされたコネクションタイプと関連付けることができ、前記特定のアプリケーションは前記コネクションタイプを前記特定のテナントのために使用して前記データベースにコネクションする、請求項13に記載の方法。
  15. 前記方法は、マルチテナントクラウドベース環境内の複数のテナントまたはテナントアプリケーションによる使用に適合化されており、前記コネクションプールは、前記特定のアプリケーションが構成コールバックを用いてコンテナを指定または設定し特定のコネクションを前記複数のテナントまたはテナントアプリケーションのうちの1つから前記複数のテナントまたはテナントアプリケーションのうちの別の1つに転用することに対するサポートを含み、これは特定のデータベースコネクションに対しテナントを切換えるという効果を有する、請求項13または14に記載の方法。
  16. 前記コネクションプールロジックはプロセスを実行し、前記プロセスは、
    受けた要求について、既存の一致コネクションがあるか否か判断し、
    既存の一致コネクションがあれば、前記既存の一致コネクションを返し、既存の一致コネクションがなければ、
    最もコストの低い非一致コネクションを見つけ出し、前記最もコストの低い非一致コネクションのコストが高コスト値未満か否か判断し、高コスト値未満であれば、前記最もコストの低い非一致コネクションを前記要求に対して使用するために転用し、高コスト値未満でなければ、
    すべてのコネクションの総数がしきい値未満であれば、前記要求に対して使用するために新たなコネクションを作成して前記新たなコネクションを返し、
    すべてのコネクションの総数が前記しきい値以上であれば、前記最もコストの低いコネクションを前記要求に対して使用するために転用する、請求項13〜15のいずれか1項に記載の方法。
  17. 前記コネクションプールロジックは、高コストコネクションとしてラベル付けされたコネクションを識別し、コネクションの総数が特定のしきい値未満の場合は前記高コストコネクションを用いて要求を満たすことがないようにする、請求項13〜16のいずれか1項に記載の方法。
  18. 前記コネクションプールロジックは、アクティブコネクションとアイドルコネクションの総数が少ないときに特定のタイプの高コストコネクションの使用が要求されると結果として既存のコネクションが転用されるのではなく新たな高コストコネクションが作成されるように、構成される、請求項13〜17のいずれか1項に記載の方法。
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 true JP2021108151A (ja) 2021-07-29
JP2021108151A5 JP2021108151A5 (ja) 2021-09-09
JP7174797B2 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開発者ガイド, vol. 11gリリース2(11.2) [online], JPN6022008459, October 2009 (2009-10-01), ISSN: 0004722816 *

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
JP2016526199A (ja) 2016-09-01
JP7174797B2 (ja) 2022-11-17

Similar Documents

Publication Publication Date Title
JP7075911B2 (ja) コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
US9547536B2 (en) Connection handler and method for providing applications with heterogeneous connection objects
US10909211B2 (en) System and method for control of maximum connections in a connection pool environment
US9116728B2 (en) Providing a persona-based application experience
CN105765578B (zh) 分布式文件系统中的数据的并行访问
US8694777B2 (en) Securely identifying host systems
JP7336554B2 (ja) マルチテナント・データベース環境においてテナントの動的再配置を提供するためのシステムおよび方法
US10742748B2 (en) System and method for supporting live addition of a tenant in a connection pool environment
US11290540B2 (en) System and method for use of server-side connection pool tagging in a multi-tenant environment
US9165027B2 (en) Dynamic directory control registration
US9021492B2 (en) Dual mode reader writer lock
US10200301B1 (en) Logical control groups for distributed system resources
US20230153155A1 (en) On-demand co-processing resources for quantum computing
CN113253931B (zh) 一种适用于rabbitmq自动切换使用云数据盘的方法
GB2516092A (en) Method and system for implementing a bit array in a cache line
CN105550043A (zh) 一种数据返回方法、接收方法、返回装置及接收装置
CN118316993A (zh) 服务调用方法、装置、电子设备及存储介质
US9501229B1 (en) Multi-tiered coarray programming

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