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

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

Info

Publication number
JP7075911B2
JP7075911B2 JP2019100686A JP2019100686A JP7075911B2 JP 7075911 B2 JP7075911 B2 JP 7075911B2 JP 2019100686 A JP2019100686 A JP 2019100686A JP 2019100686 A JP2019100686 A JP 2019100686A JP 7075911 B2 JP7075911 B2 JP 7075911B2
Authority
JP
Japan
Prior art keywords
connection
tenant
cost
connections
pool
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
JP2019100686A
Other languages
English (en)
Other versions
JP2019175487A (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 JP2019175487A publication Critical patent/JP2019175487A/ja
Priority to JP2021048960A priority Critical patent/JP7174797B2/ja
Application granted granted Critical
Publication of JP7075911B2 publication Critical patent/JP7075911B2/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 (15)

  1. コネクションプールに対して使用されるコネクションラベリングのためのシステムであって、
    プロセッサとデータベースとを含むコンピュータを備え、前記コンピュータは、クラウドベース環境内の複数のテナントアプリケーションが使用する、前記データベースへのアクセスを含むまたは提供するマルチテナントクラウド環境を提供し、
    前記複数のテナントアプリケーションが前記データベースへのアクセスを要求するために使用するコネクションを提供するコネクションオブジェクトを複数含むコネクションプールを備え、前記コネクションは各々、前記複数のテナントアプリケーションのうちの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. コネクションプールに対して使用されるコネクションラベリングのための方法であって、
    プロセッサとデータベースとを含むコンピュータにおいて、クラウドベース環境内の複数のテナントアプリケーションが使用する、前記データベースへのアクセスを含むまたは提供するマルチテナントクラウド環境を提供することと、
    コネクションプールを提供することとを含み、前記コネクションプールは、前記複数のテナントアプリケーションが前記データベースへのアクセスを要求するために使用するコネクションを提供するコネクションオブジェクトを複数含み、前記コネクションは各々、前記複数のテナントアプリケーションのうちの1つ以上のテナントアプリケーションの構成情報に従ってラベル付けされ、
    テナントアプリケーションから、特定のラベルとのコネクションを求める要求を受けることと、
    前記コネクションプールにおける各アイドルコネクションについて、前記各アイドルコネクションを前記特定のラベルに関連付けられた状態に再構成するコストを計算するためのコストコールバック方法を呼び出すことと、
    コネクションプールロジックを用いて、前記アイドルコネクションのうちの1つ以上のアイドルコネクションを、各アイドルコネクションに関連付けられた前記計算したコストを、判断基準として予め定義された高コスト値と比較することにより、高コストコネクションであると特定することと、
    前記コネクションプールにおけるアクティブコネクションおよびアイドルコネクションの総数が、前記テナントアプリケーションによって定められたしきい値未満であるか否かを判断することと、
    前記総数が前記しきい値未満であることに基づいて、新たなコネクションを生成するか、または、前記総数が前記しきい値以上であることに基づいて、前記特定した高コストコネクションのうちの特定した1つの高コストコネクションを、前記テナントアプリケーションからの要求を満たすために転用することとを含む、方法。
  9. 前記複数のテナントアプリケーションのうちの各テナントアプリケーションは、前記テナントアプリケーションが前記データベースに接続するために使用するラベル付けされたコネクションタイプに関連付けられており、
    ラベル付けされたコネクションがある場合に、前記コネクションプールロジックは、前記要求を与えたテナントアプリケーションに、前記コネクションを返す、請求項8に記載の方法。
  10. 前記コネクションプールは、前記テナントアプリケーションが構成コールバックを用いて特定のコネクションを前記テナントアプリケーションから前記複数のテナントアプリケーションのうちの別のテナントアプリケーションに転用することに対するサポートを含み、これは特定のコネクションに対しテナントアプリケーションを切換えるという効果を有する、請求項8または9に記載の方法。
  11. 前記コネクションプールロジックはさらに、
    前記受けた要求について、既存の一致コネクションがあるか否か判断するステップと、
    既存の一致コネクションがあれば、前記既存の一致コネクションを返すステップとを含むステップを実行する、請求項8~10のいずれか1項に記載の方法。
  12. 前記各アイドルコネクションを前記特定のラベルに関連付けられた状態に構成するコストは、推定値である、請求項8~11のいずれか1項に記載の方法。
  13. 前記転用するコネクションは、前記コネクションプールにおける、最もコストが低い、前記特定した高コストコネクションである、請求項8~12のいずれか1項に記載の方法。
  14. 前記状態は前記特定のラベルによって定められる、請求項8~13のいずれか1項に記載の方法。
  15. 請求項8~14のいずれか1項に記載の方法をコンピュータに実行させる、プログラム。
JP2019100686A 2013-04-26 2019-05-29 コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート Active JP7075911B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201361816610P 2013-04-26 2013-04-26
US201361816623P 2013-04-26 2013-04-26
US61/816,623 2013-04-26
US61/816,610 2013-04-26
US13/912,098 2013-06-06
US13/912,086 US9251178B2 (en) 2013-04-26 2013-06-06 System and method for connection labeling for use with connection pools
US13/912,086 2013-06-06
US13/912,098 US9268798B2 (en) 2013-04-26 2013-06-06 Support for cloud-based multi-tenant environments using connection labeling

Related Parent Applications (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2019175487A JP2019175487A (ja) 2019-10-10
JP7075911B2 true JP7075911B2 (ja) 2022-05-26

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

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

Family Applications After (1)

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

Country Status (5)

Country Link
US (2) US9251178B2 (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
US9886267B2 (en) * 2014-10-30 2018-02-06 Equinix, Inc. Interconnection platform for real-time configuration and management of 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
US10496614B2 (en) 2015-10-07 2019-12-03 Oracle International Corporation DDL processing in shared databases
CN106599711A (zh) * 2015-10-15 2017-04-26 华为技术有限公司 一种数据库访问控制方法,及装置
CN105279263A (zh) * 2015-10-23 2016-01-27 国网信息通信产业集团有限公司 一种支持多应用共享的数据库连接系统及方法
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
US10469621B2 (en) 2016-01-27 2019-11-05 Oracle International Corporation System and method of host-side configuration of a host channel adapter (HCA) in a high-performance computing environment
US10594627B2 (en) 2016-01-27 2020-03-17 Oracle International Corporation System and method for supporting scalable representation of switch port status 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
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
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
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
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
EP3361701B1 (en) * 2016-05-11 2021-09-01 Oracle International Corporation Multi-tenant identity and data security management cloud service
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a 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
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
CN105956138B (zh) * 2016-05-11 2019-07-12 北京百度网讯科技有限公司 数据库连接的控制方法和装置
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
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
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
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
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
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10909211B2 (en) 2016-08-12 2021-02-02 Oracle International Corporation System and method for control of maximum connections in a connection pool 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
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
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials 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
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
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10616224B2 (en) 2016-09-16 2020-04-07 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
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
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 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
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution 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
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
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
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
WO2006073865A2 (en) 2004-12-31 2006-07-13 Bea Systems, Inc. Multipool manager
US20060146877A1 (en) * 2004-12-31 2006-07-06 Bea Systems, Inc. Multipool using automatically maintained active connection pool list
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
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
EP2786262A4 (en) 2011-12-01 2014-12-03 Huawei Tech Co Ltd SYSTEMS AND METHODS FOR CONNECTING CONNECTIONS FOR TRANSMITTING VIDEO STREAMS ON CONTENT PROVIDING 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月,[検索日:2018.05.01],インターネット<URL:https://docs.oracle.com/cd/E16338_01/java.112/b56283/title.htm>

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7075911B2 (ja) コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート
US9547536B2 (en) Connection handler and method for providing applications with heterogeneous connection objects
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
US9378060B2 (en) Runtime co-location of executing logic and frequently-accessed application data
CN111367983A (zh) 数据库访问方法、系统、设备和存储介质
CN105765578B (zh) 分布式文件系统中的数据的并行访问
US8694777B2 (en) Securely identifying host systems
US10742748B2 (en) System and method for supporting live addition of a tenant in a connection pool environment
US20180046730A1 (en) System and method for control of maximum connections in a connection pool environment
WO2015027865A1 (en) Method and apparatus for deploying virtual machine in computing environment
US9990189B2 (en) Method to optimize provisioning time with dynamically generated virtual disk contents
KR20150023335A (ko) 트랜잭셔널 미들웨어 기계 환경에서 라우팅 기반 버전을 지원하는 시스템 및 방법
CN105404542A (zh) 云计算系统及在其上运行高性能计算的方法
JP2022070941A (ja) マルチテナント・データベース環境においてテナントの動的再配置を提供するためのシステムおよび方法
JP2019528490A (ja) マルチテナント・データベース環境における接続の効率的な転用のためのシステムおよび方法
US9021492B2 (en) Dual mode reader writer lock
US11290540B2 (en) System and method for use of server-side connection pool tagging in a multi-tenant environment
US20030182353A1 (en) Method, computer program product, and system for automatic application buffering
US10200301B1 (en) Logical control groups for distributed system resources
CN112015515B (zh) 一种虚拟网络功能的实例化方法及装置
CN112130900A (zh) 一种bmc的用户信息管理方法、系统、设备以及介质
CN113253931B (zh) 一种适用于rabbitmq自动切换使用云数据盘的方法
CN105550043A (zh) 一种数据返回方法、接收方法、返回装置及接收装置
WO2023136943A2 (en) On-demand co-processing resources for quantum computing
CN118316993A (zh) 服务调用方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210323

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210323

C11 Written invitation by the commissioner to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C11

Effective date: 20210406

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210706

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210713

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20211022

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20211026

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211109

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220315

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220420

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220516

R150 Certificate of patent or registration of utility model

Ref document number: 7075911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150