JP6047564B2 - セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 - Google Patents
セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP6047564B2 JP6047564B2 JP2014518968A JP2014518968A JP6047564B2 JP 6047564 B2 JP6047564 B2 JP 6047564B2 JP 2014518968 A JP2014518968 A JP 2014518968A JP 2014518968 A JP2014518968 A JP 2014518968A JP 6047564 B2 JP6047564 B2 JP 6047564B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- affinity
- application
- data source
- session
- 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
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000006870 function Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 description 8
- 239000011800 void material Substances 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 241000677635 Tuxedo Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この特許文献の開示の一部分は、著作権保護の対象である題材を含む。特許商標庁の特許ファイルまたは記録に出現する限りにおいては、著作権所有者はいずれかの者による特許文献または特許開示の複製に異議はないが、それ以外のすべての著作権を一切留保する。
本願は、「セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法("SYSTEM AND METHOD FOR PROVIDING SESSION AFFINITY IN CLUSTERED DATABASE ENVIRONMENT")」と題された2012年2月16日付けの米国特許出願番号第13/398,538号、および「セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法("SYSTEM AND METHOD FOR IMPROVING CONNECTIVITY IN CLUSTERED DATABASE ENVIRONMENT")」と題された2012年2月16日付けの米国特許出願番号第13/398,606号の優先権の利益を主張し、それぞれ「アプリケーションサーバおよびクラスタ化されたデータベースとともにデータソースを使用する際に改良をもたらすためのシステムおよび方法("SYSTEM AND METHOD FOR PROVIDING IMPROVEMENTS IN USING DATA SOURCE WITH AN APPLICATION SERVER AND CLUSTERED DATABASE")」と題された2011年6月27日付けの米国仮特許出願番号第61/501,583号の優先権を主張する。上記出願の各々は引用によってここに援用される。
発明は概して、データベース、ミドルウェア、およびクラスタ化されたデータソースなどのコンピュータシステムおよびソフトウェアに関し、特に、アプリケーションサーバおよびクラスタ化されたデータベースとともにデータソースを使用する際の様々な改良に関する。
本願は、「ミドルウェアマシンプラットフォーム("MIDDLEWARE MACHINE PLATFORM")」と題された2010年9月15日付けの米国仮特許出願番号第61/383,285号および「ミドルウェアマシンプラットフォーム("MIDDLEWARE MACHINE PLATFORM")」と題された2010年9月17日付けの米国仮特許出願番号第61/384,227号の優先権を主張する「ミドルウェアマシン環境を含むシステム("SYSTEM INCLUDING MIDDLEWARE MACHINE ENVIRONMENT")」と題された2011年9月15日付けの米国特許出願番号第13/234,027号と、「GRIDLINKデータソースを用いてクラスタ化されたデータベースにアプリケーションサーバをコネクトするためのシステムおよび方法("SYSTEM AND METHOD FOR USING GRIDLINK DATA SOURCE TO CONNECT AN APPLICATION SERVER WITH CLUSTERED DATABASE")」と題された2011年6月24日付けの米国特許出願番号第13/168,506号とに関し、これら出願の各々は引用によってここに援用される。
Oracle Real Application Cluster(RAC)などの製品を用いてクラスタ化されたデータベース環境を実装することができ、その結果として拡張性および高い可用性がエンドユーザアプリケーションに提供される。クラスタ化されたデータベースは、WebLogicサーバ(WLS)などの他の製品と統合して、アプリケーションサーバ/クラスタ化されたデータベース環境を提供することもできる。これらは、発明の実施例が扱うことが意図される概略的な分野である。
発明は、概してミドルウェアおよびクラスタ化されたデータソースなどのコンピュータシステムおよびソフトウェアに関し、特に、アプリケーションサーバおよびクラスタ化されたデータベースとともにデータソースを使用する際の様々な改良に関する。
一実施例によれば、クラスタ化されたデータベース環境(データベースクラスタと称することもある)は1つ以上の相互接続されたコンピュータまたはサーバを含み、エンドユーザおよびエンドユーザアプリケーションにとっては、それらは一体として単一のサーバであるかのように見える。概してデータベース記憶装置とデータベースインスタンスとの間に一対一の関係を提供する単一インスタンスデータベースとは異なり、クラスタ化されたデータベースは、データベース記憶装置といくつかのデータベースインスタンスとの間に一対多数の関係を提供することができる。
一実施例によれば、システムは、ウェブセッションとの使用のために、セッションアフィニティの使用をサポートする。ここで言及される限りにおいて、セッションまたはセッションベースのアフィニティは一時的なアフィニティの一形態であり、それによって、アプリケーションが特定のデータセットへ関連付けられた多重の更新を行なっているかもしれない期間中は、アプリケーションによって要求されるデータベース動作は特定のデータベースインスタンスに向けられる。そのような動作を単一のデータベースインスタンスに向けることを用いて、高められたローカルキャッシュ利用を活用し、かつ全体的なアプリケーションパフォーマンスを向上させることができる。
一実施例に従って、上記のセッションアフィニティ機能のためのJava(登録商標)プログラミングインターフェースの一例を以下に示す。例示的なJava(登録商標)プログラミングインターフェースは例示および説明の目的で示され、包括的であるものまたは発明を開示されている形態そのものに限定するものとは意図されない。
データソースのOracleデータベース関連のパラメータを含む。データソースのOracle特有の挙動についての設定パラメータは、Oracleのパラメータbeanを使用して特定することができる。
データソースに使用されるアフィニティポリシーを特定する。オプションは、トランザクションアフィニティを特定するトランザクションと、ウェブセッションアフィニティ(デフォルト)を特定するセッションと、データアフィニティを特定するデータとを含むことができる。
public interface ConnectionAffinityCallback
Oracle RACアフィニティのためのインターフェースをコールバックする。
アフィニティコンテキストを設定する。パラメータはaffinityContext、つまり不透明(opaque)型のコンテキストオブジェクトを含むことができる。コンテキストオブジェクトが首尾よく設定されるとtrueを返し、そうでない場合はfalseを返す。
アフィニティコンテキストオブジェクトを返す。
setAffinityPolicy(ConnectionAffinityCallback.AffinityPolicypolicy)
このコールバックに使用するためのアフィニティポリシーを設定する。パラメータはポリシー、つまり使用するアフィニティポリシーを含むことができる。
oracle.ucp.ConnectionAffinityCallback.AffinityPolicygetAffinityPolicy()
このコールバックから現在のアフィニティポリシーを取得する。このコールバックについて設定されたアフィニティポリシーを返す。
このアフィニティポリシーについてアプリケーションコンテキストが存在するかどうかを確認する。このポリシーについてアプリケーションコンテキストが存在する場合はtrueを返し、そうでない場合はfalseを返す。
このコールバック実装例内のアプリケーションによって使用されるデータキーオブジェクトを設定する。パラメータは、キーオブジェクト、つまりデータキーオブジェクトを含むことができる。データキーオブジェクトが首尾よく設定されるとtrueを返し、そうでない場合はfalseを返す。
データベースのアフィニティについて論理的区分識別子を取得する。この上記のコールバック内のデータキーセットに特有の論理的区分識別子を返す。
Oracle RACアフィニティのためのインターフェースをコールバックする。AffinityCallbackインターフェースは、アフィニティプロバイダを登録するためにデータソースサービスとともに使用されるベースインターフェースである。インターフェースはUCP ConnectionAffinityCallbackインターフェースを拡張し、追加的なメソッドを規定する。既存のUCPアフィニティ実装例を下位分類して、AffinityCallbackインターフェースを実装し得る。
このアフィニティポリシーについてアプリケーションコンテキストが存在するかどうかを確認する。このポリシーについてアプリケーションコンテキストが存在する場合はtrueを返し、そうでない場合はfalseを返す。
DataBasedConnectionAffinityCallback
Oracle RACデータアフィニティのためのインターフェースをコールバックする。
内部データソースサービスオペレーション。コンポーネントはこのサービスインタフェースを使用して、情報を取得し、データソースサブシステム上でグローバルオペレーションを行なうべきである。
アフィニティについて設定されるすべてのデータソースによって呼出されることになるグローバルアフィニティコールバックを登録する。パラメータは、コールバック、つまり登録するべきコールバックインスタンスを含むことができる。
特定されたアフィニティコールバックを登録しない。パラメータはコールバック、つまり登録しないコールバックインスタンスを含むことができる。コールバックが以前に登録されている場合はtrueを返し、そうでない場合はfalseを返す。
特定のアフィニティポリシーとともにデータソースが導入されるかまたは導入されていない場合、実装例をDatasourceServiceによって登録して通知を受信することができる。
一実施例によれば、システムはドライバ(たとえばJDBC)再現機能を含み、該機能は、アプリケーションから見て作業の回復を可能にし、多くのシステム、通信、およびハードウェア障害、ならびにハングをマスキングする汎用の、アプリケーションに依存しないインフラストラクチャを配信する。セマンティクスは、エンドユーザトランザクションをオンタイムでかつ最高で一回実行することができることを確実に行なうことを支援する。正味の結果は、エンドユーザがサービスの中断を見なければならないのは、継続しているポイントがないような停電時のみである。
ラベリングコールバックがコネクションプールに対して登録されると無視される。さもなければ、プールからのコネクション確認ごとに、かつ再現の際に回復可能なエラーに続いて再コネクションが成功するたびに実行される。実行時および再現において同じコールバックを使用することにより、当初のセッションが確立された時に使用されたのとまったく同じ初期化が実行時に再び確立されることを確実に行なうことができる。これがそうであることを確実に行なうのがコールバックの応答性の作成者である。コールバック呼出しが失敗した場合、再現はそのコネクション上で無効とされる。次の例は、単純な初期化コールバック実装例を実証する。
一実施例によれば、上記のJDBCドライバ再現機能のためのJava(登録商標)プログラミングインターフェースの一例が以下に示される。例示的なJava(登録商標)プログラミングインターフェースは例示および説明の目的で示され、包括的であるものまたは発明を開示されている形態そのものに限定するものとは意図されない。
nillable="true" minOccurs="0">
コネクション初期化コールバックの名前。これは、データソースが作成されると、registerConnectionlnitializationCallbackに自動的に渡される。
public interface ConnectionInitializationCallback
プールからのコネクション確認ごとに、かつ再現時の回復可能なエラーに続いて再コネクションが成功するたびに呼出されるAPI。
プールからのコネクション確認ごとに、かつ再現時の回復可能なエラーに続いて再コネクションが成功するたびに呼出されるAPI。実行時および再現において同じコールバックを使用することで、当初のセッションが確立された時に使用されたのとまったく同じ初期化が実行時に再び確立されることを確実に行なうことができる。これがそうであることを確実に行なうのがコールバックの応答性の作成者である。コールバック呼出しが失敗した場合、再現はそのコネクション上で無効とされる。
public void setConnectionInitializationCallback();
本発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリ、および/またはコンピュータ読み取り可能な記録媒体を含む1つ以上の従来の汎用もしくは特殊デジタルコンピュータ、計算装置、マシン、またはマイクロプロセッサを使用して好都合に実装され得る。ソフトウェア分野の当業者には明白であるように、熟練したプログラマによって、本開示の教示に基づいて適切なソフトウェアコーディングを容易に準備することができる。いくつかの実施例によれば、本発明に従って開発されたシステムおよびコンポーネントは、コンピュータハードウェア、ソフトウェア、ファームウェア、もしくはそのいずれかの組合せを含むことができるかまたは、コンピュータハードウェア、ソフトウェア、ファームウェア、もしくはそのいずれかの組合せとして実装されるかもしくは提供されることができる。
Claims (15)
- データソースおよびクラスタ化されたデータベース環境においてアフィニティをサポートするためのシステムであって、
クラスタ化されたデータベースシステムおよび前記データベースシステムの中の複数のデータベースインスタンスに関連付けられた通知サービスを備え、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを備え、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることが実施される、システム。 - 複数のデータソースにわたって全体的に、または各データソースについて個々にアフィニティポリシーを規定することができ、前記アフィニティポリシーは、どの種類のアフィニティが実行時に当該データソースによって使用されるかを規定する、請求項1に記載のシステム。
- 実行時に、アプリケーションがセッションアフィニティポリシーセットを有するデータソースからのコネクションを要求すると、前記システムは、いずれかの利用可能なウェブセッションコンテキストを得るためにコールバックを行ない、そのようなウェブセッションコンテキストが利用可能である場合、前記システムはそれを使用して最も適切なコネクションを選択することができる、請求項2に記載のシステム。
- 前記システムは、リクエストによって前記システムのまわりを伝播するワークコンテキストといった機能を使用することができ、サーブレットコンテナは、ウェブセッションとともに継続されるワークコンテキストから、アフィニティポリシーが設定されているかどうかを判断することができ、そうであれば前記ワークコンテキストを適宜設定し、追加的な情報を検索して、次いで最も適切なコネクションを選択する、請求項3に記載のシステム。
- データソースおよびクラスタ化されたデータベース環境においてアフィニティをサポートする方法であって、
クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを含み、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを含み、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
前記方法は、さらに、
前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることを実施するステップと、を含む、方法。 - 命令を含むコンピュータプログラムであって、前記命令は、1つ以上のコンピュータによって読み取られ実行されると、当該1つ以上のコンピュータに、
クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを行なわせ、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを行なわせ、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
さらに、当該1つ以上のコンピュータに、
前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることを実施するステップを行なわせる、コンピュータプログラム。 - データソースおよびクラスタ化されたデータベース環境において向上したアプリケーションコネクティビティを提供するためのシステムであって、
クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスを備え、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを備え、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、
前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点まで再現する、システム。 - 機能は非トランザクショナル読み出しオンリーまたは選択オンリーの場合に使用される、請求項7に記載のシステム。
- 前記データベースドライバはJDBCドライバである、請求項7または8に記載のシステム。
- 前記JDBCドライバは、データベースインスタンスからの読み出しオンリーまたは選択データの結果を前記メモリスペースそのものに記録する、請求項9に記載のシステム。
- データソースおよびクラスタ化されたデータベース環境において向上したアプリケーションコネクティビティを提供するための方法であって、
クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを含み、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを含み、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、
前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点まで再現する、方法。 - 命令を含むコンピュータプログラムであって、前記命令は、1つ以上のコンピュータによって読み取られ実行されると、当該1つ以上のコンピュータに、
クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを行なわせ、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを行なわせ、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点まで再現する、コンピュータプログラム。 - 前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けて、
前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項1に記載のシステム。 - 前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けるステップをさらに含み、
前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項5に記載の方法。 - 前記1つ以上のコンピュータに、前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けるステップをさらに行わせ、
前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項6に記載のコンピュータプログラム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161501583P | 2011-06-27 | 2011-06-27 | |
US61/501,583 | 2011-06-27 | ||
US13/398,538 | 2012-02-16 | ||
US13/398,606 | 2012-02-16 | ||
US13/398,606 US8732191B2 (en) | 2011-06-27 | 2012-02-16 | System and method for improving application connectivity in a clustered database environment |
US13/398,538 US8635185B2 (en) | 2011-06-27 | 2012-02-16 | System and method for providing session affinity in a clustered database environment |
PCT/US2012/044429 WO2013003482A2 (en) | 2011-06-27 | 2012-06-27 | System and method for providing session affinity and improved connectivity in a clustered database environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014525083A JP2014525083A (ja) | 2014-09-25 |
JP2014525083A5 JP2014525083A5 (ja) | 2015-07-02 |
JP6047564B2 true JP6047564B2 (ja) | 2016-12-21 |
Family
ID=47745085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014518968A Active JP6047564B2 (ja) | 2011-06-27 | 2012-06-27 | セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8732191B2 (ja) |
EP (1) | EP2724265A2 (ja) |
JP (1) | JP6047564B2 (ja) |
CN (1) | CN103917972B (ja) |
WO (1) | WO2013003482A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2743551C1 (ru) * | 2020-05-12 | 2021-02-19 | Акционерное общество "Кондор-Эко" | Способ изготовления элементов осадительного электрода для электрофильтра |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8965921B2 (en) | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
US8712971B2 (en) * | 2012-07-13 | 2014-04-29 | Symantec Corporation | Restore software with aggregated view of content databases |
US9372891B2 (en) | 2013-12-13 | 2016-06-21 | Red Hat, Inc. | System and method for querying hybrid multi data sources |
US9542220B2 (en) | 2014-04-28 | 2017-01-10 | Oracle International Corporation | System and method for supporting resource manager (RM) instance awareness in a transactional environment |
US9569224B2 (en) * | 2014-05-06 | 2017-02-14 | Oracle International Corporation | System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine |
US9690608B2 (en) * | 2014-06-12 | 2017-06-27 | Vmware, Inc. | Method and system for managing hosts that run virtual machines within a cluster |
US9519509B2 (en) * | 2014-10-21 | 2016-12-13 | Oracle International Corporation | System and method for supporting transaction affinity based request handling in a middleware environment |
CN104503989B (zh) * | 2014-12-03 | 2019-04-19 | 中建材国际贸易有限公司 | 一种完成异构数据库归集的方法 |
GB2533379A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A system and server for receiving transaction requests |
GB2533432A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A device system, method and computer program product for processing electronic transaction requests |
GB2533562A (en) | 2014-12-18 | 2016-06-29 | Ipco 2012 Ltd | An interface, method and computer program product for controlling the transfer of electronic messages |
GB2537087A (en) | 2014-12-18 | 2016-10-12 | Ipco 2012 Ltd | A system, method and computer program product for receiving electronic messages |
CN104679717B (zh) * | 2015-02-15 | 2018-11-27 | 北京京东尚科信息技术有限公司 | 集群弹性部署的方法和管理系统 |
CN104794026B (zh) * | 2015-04-29 | 2017-09-15 | 上海新炬网络信息技术有限公司 | 一种集群实例多数据源绑定的故障转移方法 |
US9547508B2 (en) | 2015-05-11 | 2017-01-17 | Red Hat, Inc. | Universal database driver |
US10140121B2 (en) | 2015-07-21 | 2018-11-27 | Oracle International Corporation | Sending a command with client information to allow any remote server to communicate directly with client |
US10129364B2 (en) | 2015-09-30 | 2018-11-13 | International Business Machines Corporation | Data consistency maintenance for sequential requests |
US10419401B2 (en) | 2016-01-08 | 2019-09-17 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
US9996432B2 (en) | 2016-02-03 | 2018-06-12 | International Business Machines Corporation | Automated local database connection affinity and failover |
KR101662137B1 (ko) * | 2016-02-26 | 2016-10-05 | 주식회사 티맥스 소프트 | 다수의 데이터 객체들에 대한 트랜잭션을 설정하는 방법, 서버 및 컴퓨터 판독 가능한 기록 매체 |
CN109145061B (zh) * | 2018-07-26 | 2022-02-01 | 创新先进技术有限公司 | 一种数据库分配会话对象的方法、数据库和服务器 |
CN109144748B (zh) * | 2018-07-26 | 2021-12-07 | 创新先进技术有限公司 | 一种服务器、分布式服务器集群及其状态驱动方法 |
US11038952B2 (en) | 2019-07-12 | 2021-06-15 | Ebay Inc. | Connection service discovery and load rebalancing |
US11301316B2 (en) | 2019-07-12 | 2022-04-12 | Ebay Inc. | Corrective database connection management |
US11151150B2 (en) | 2019-09-13 | 2021-10-19 | Salesforce.Com, Inc. | Adjustable connection pool mechanism |
KR102684936B1 (ko) | 2019-09-19 | 2024-07-16 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US11636067B2 (en) | 2019-10-04 | 2023-04-25 | Salesforce.Com, Inc. | Performance measurement mechanism |
US11165857B2 (en) | 2019-10-23 | 2021-11-02 | Salesforce.Com, Inc. | Connection pool anomaly detection mechanism |
CN112054919B (zh) * | 2020-08-03 | 2022-08-16 | 华人运通(江苏)技术有限公司 | 容器集群无状态下的id生成方法、装置、存储介质及系统 |
US11695849B2 (en) | 2021-01-19 | 2023-07-04 | International Business Machines Corporation | Transaction tracking for high availability architecture using a tracking token and middleware instance information |
US11809839B2 (en) | 2022-01-18 | 2023-11-07 | Robert Lyden | Computer language and code for application development and electronic and optical communication |
US11863610B2 (en) * | 2022-05-12 | 2024-01-02 | Xactly Corporation | Transaction management of multiple networked resources |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109384A (en) | 1988-11-02 | 1992-04-28 | Tseung Lawrence C N | Guaranteed reliable broadcast network |
US6424992B2 (en) * | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US6571274B1 (en) | 1998-11-05 | 2003-05-27 | Beas Systems, Inc. | Clustered enterprise Java™ in a secure distributed processing system |
US6701367B1 (en) | 1999-09-24 | 2004-03-02 | Sun Microsystems, Inc. | Mechanism for enabling customized session managers to interact with a network server |
AU2001249402A1 (en) | 2000-03-29 | 2001-10-08 | Nextset Software Inc. | System and method of generating and using proxy beans |
US20030120822A1 (en) | 2001-04-19 | 2003-06-26 | Langrind Nicholas A. | Isolated control plane addressing |
US7209921B2 (en) | 2000-09-01 | 2007-04-24 | Op40, Inc. | Method and system for deploying an asset over a multi-tiered network |
US20020174136A1 (en) | 2000-12-14 | 2002-11-21 | Ducan Cameron | Method and system for high performance transaction processing using a relational database management system |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US6895590B2 (en) | 2001-09-26 | 2005-05-17 | Intel Corporation | Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API |
US7143227B2 (en) | 2003-02-18 | 2006-11-28 | Dot Hill Systems Corporation | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US7376953B2 (en) | 2001-10-29 | 2008-05-20 | Hewlett-Packard Development Company, L.P. | Apparatus and method for routing a transaction to a server |
US7403996B2 (en) | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
US7406692B2 (en) * | 2003-02-24 | 2008-07-29 | Bea Systems, Inc. | System and method for server load balancing and server affinity |
US7554993B2 (en) | 2003-03-27 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing connection management with multiple stacks |
US7536673B2 (en) | 2003-07-22 | 2009-05-19 | Sap Ag | Application business object processing |
US7043518B2 (en) | 2003-07-31 | 2006-05-09 | Cradle Technologies, Inc. | Method and system for performing parallel integer multiply accumulate operations on packed data |
US7483374B2 (en) * | 2003-08-05 | 2009-01-27 | Scalent Systems, Inc. | Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing |
US7937493B2 (en) * | 2003-08-14 | 2011-05-03 | Oracle International Corporation | Connection pool use of runtime load balancing service performance advisories |
US7953860B2 (en) | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
JP2005100344A (ja) * | 2003-08-18 | 2005-04-14 | Ricoh Co Ltd | 情報処理装置、セッションの復旧方法、セッション復旧プログラム及び記録媒体 |
US20050223109A1 (en) | 2003-08-27 | 2005-10-06 | Ascential Software Corporation | Data integration through a services oriented architecture |
US7366109B2 (en) | 2003-10-29 | 2008-04-29 | Nortel Networks Limited | Virtual private networks within a packet network having a mesh topology |
US20050102412A1 (en) | 2003-11-10 | 2005-05-12 | Jan Hirsimaki | Transmission performance of a transport layer protocol connection |
US7640357B2 (en) | 2004-04-30 | 2009-12-29 | Sap Ag | Transmitting enterprise messages based on buffer sizes |
US7649854B2 (en) | 2004-05-19 | 2010-01-19 | Bea Systems, Inc. | System and method for providing channels in application servers and transaction-based systems |
WO2007014186A2 (en) | 2005-07-22 | 2007-02-01 | The Thomson Corporation | Systems, methods, and software for online courses |
US7635987B1 (en) | 2004-12-13 | 2009-12-22 | Massachusetts Institute Of Technology | Configuring circuitry in a parallel processing environment |
US8984140B2 (en) | 2004-12-14 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Managing connections through an aggregation of network resources providing offloaded connections between applications over a network |
US7562138B2 (en) | 2004-12-28 | 2009-07-14 | Sap | Shared memory based monitoring for application servers |
US20060176884A1 (en) | 2005-02-04 | 2006-08-10 | Sytex, Inc. | Sytems, Methods And Devices For Remotely Administering A Target Device |
US7409709B2 (en) | 2005-02-14 | 2008-08-05 | Etsec, Inc. | Systems and methods for automatically reconfiguring a network device |
ATE373399T1 (de) | 2005-03-04 | 2007-09-15 | Alcatel Lucent | Vermittlung für integrierte telekommunikationssnetzwerke |
CA2609979A1 (en) | 2005-06-05 | 2006-12-14 | Starkey Laboratories, Inc. | Communication system for wireless audio devices |
US7480823B2 (en) | 2005-06-24 | 2009-01-20 | Sun Microsystems, Inc. | In-memory replication of timing logic for use in failover within application server node clusters |
CN1901537A (zh) * | 2005-07-22 | 2007-01-24 | 国际商业机器公司 | 自适应会话压缩管理方法、压缩管理器及会话管理系统 |
US8166547B2 (en) | 2005-09-06 | 2012-04-24 | Fortinet, Inc. | Method, apparatus, signals, and medium for managing a transfer of data in a data network |
JP2007226398A (ja) | 2006-02-22 | 2007-09-06 | Hitachi Ltd | データベース接続管理方法及び計算機システム |
US7685131B2 (en) | 2006-02-28 | 2010-03-23 | International Business Machines Corporation | Web services database cluster architecture |
US8131860B1 (en) | 2006-03-30 | 2012-03-06 | Emc Corporation | Serialization and deserialization |
US20090172636A1 (en) | 2006-03-31 | 2009-07-02 | Tim Griffith | Interactive development tool and debugger for web services |
US7371014B2 (en) | 2006-08-21 | 2008-05-13 | Intel Corporation | Monolithic active optical cable assembly for data device applications and various connector types |
US9064010B2 (en) | 2006-12-13 | 2015-06-23 | Quickplay Media Inc. | Encoding and transcoding for mobile media |
US7991904B2 (en) | 2007-07-10 | 2011-08-02 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US20090024764A1 (en) | 2007-07-18 | 2009-01-22 | International Business Machines Corporation | Tracking The Physical Location Of A Server In A Data Center |
US9141435B2 (en) | 2007-07-30 | 2015-09-22 | Sybase, Inc. | System and methodology providing workload management in database cluster |
US8391295B2 (en) | 2007-07-31 | 2013-03-05 | Oracle International Corporation | Temporal affinity-based routing of workloads |
US7809925B2 (en) | 2007-12-07 | 2010-10-05 | International Business Machines Corporation | Processing unit incorporating vectorizable execution unit |
US20090182642A1 (en) | 2008-01-14 | 2009-07-16 | Neelakantan Sundaresan | Methods and systems to recommend an item |
US8306951B2 (en) | 2009-09-18 | 2012-11-06 | Oracle International Corporation | Automated integrated high availability of the in-memory database cache and the backend enterprise database |
JP4343249B2 (ja) | 2008-02-26 | 2009-10-14 | 株式会社東芝 | 電子機器、および接続機器探索方法 |
US8612930B2 (en) | 2009-01-30 | 2013-12-17 | Oracle America, Inc. | Methods and apparatus for dynamic class reloading and versioning |
US9230002B2 (en) | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
EP2406787B1 (en) * | 2009-03-11 | 2014-05-14 | Google, Inc. | Audio classification for information retrieval using sparse features |
CN101938502B (zh) * | 2009-07-14 | 2013-03-27 | 北京邮电大学 | 一种服务器集群系统及负载均衡方法 |
CN101989922B (zh) | 2009-07-31 | 2014-05-28 | 国际商业机器公司 | 用于恢复会话初始协议事务的方法和系统 |
CN101621413A (zh) * | 2009-08-20 | 2010-01-06 | 中兴通讯股份有限公司 | 实现对web服务器进行负载均衡和容灾的装置及方法 |
US8566509B2 (en) | 2009-08-25 | 2013-10-22 | International Business Machines Corporation | Efficiently implementing a plurality of finite state machines |
US8130776B1 (en) | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
EP2293524A1 (en) | 2009-09-07 | 2011-03-09 | Nxp B.V. | Set-up of media stream transmission and server and client for media stream transmission |
US8811417B2 (en) | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
IT1397440B1 (it) | 2009-12-30 | 2013-01-10 | St Microelectronics Srl | Procedimento e sistemi per la distribuzione di contenuti mediali e relativo prodotto informatico |
US8874961B2 (en) | 2010-03-22 | 2014-10-28 | Infosys Limited | Method and system for automatic failover of distributed query processing using distributed shared memory |
US8260757B1 (en) | 2010-04-22 | 2012-09-04 | Wal-Mart Stores, Inc. | Data access layer |
-
2012
- 2012-02-16 US US13/398,606 patent/US8732191B2/en active Active
- 2012-02-16 US US13/398,538 patent/US8635185B2/en active Active
- 2012-06-27 JP JP2014518968A patent/JP6047564B2/ja active Active
- 2012-06-27 WO PCT/US2012/044429 patent/WO2013003482A2/en unknown
- 2012-06-27 EP EP12737386.8A patent/EP2724265A2/en not_active Ceased
- 2012-06-27 CN CN201280029715.9A patent/CN103917972B/zh active Active
-
2014
- 2014-05-05 US US14/270,062 patent/US9064003B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2743551C1 (ru) * | 2020-05-12 | 2021-02-19 | Акционерное общество "Кондор-Эко" | Способ изготовления элементов осадительного электрода для электрофильтра |
Also Published As
Publication number | Publication date |
---|---|
US8732191B2 (en) | 2014-05-20 |
US20140236948A1 (en) | 2014-08-21 |
EP2724265A2 (en) | 2014-04-30 |
US8635185B2 (en) | 2014-01-21 |
WO2013003482A3 (en) | 2014-04-17 |
US20130054516A1 (en) | 2013-02-28 |
US20130054600A1 (en) | 2013-02-28 |
US9064003B2 (en) | 2015-06-23 |
CN103917972B (zh) | 2017-12-08 |
WO2013003482A2 (en) | 2013-01-03 |
JP2014525083A (ja) | 2014-09-25 |
CN103917972A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6047564B2 (ja) | セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 | |
US10805227B2 (en) | System and method for controlling access to web services resources | |
JP6195958B2 (ja) | アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法 | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
US8996482B1 (en) | Distributed system and method for replicated storage of structured data records | |
US10289443B2 (en) | System and method for sharing global transaction identifier (GTRID) in a transactional middleware environment | |
US9977694B2 (en) | System and method for supporting transaction affinity based on resource manager (RM) instance awareness in a transactional environment | |
JP4729172B2 (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
CN104598459B (zh) | 数据库处理、数据访问方法及系统 | |
US9164806B2 (en) | Processing pattern framework for dispatching and executing tasks in a distributed computing grid | |
US9749445B2 (en) | System and method for updating service information for across-domain messaging in a transactional middleware machine environment | |
TW201229795A (en) | Web service patterns for globally distributed service fabric | |
US20170161352A1 (en) | Scalable snapshot isolation on non-transactional nosql | |
CN107786527B (zh) | 实现服务发现的方法及设备 | |
US11449241B2 (en) | Customizable lock management for distributed resources | |
US7853646B2 (en) | Assured validation for facade method invocations | |
US20090063420A1 (en) | Grid based file system | |
JP5375205B2 (ja) | 共通資源管理システム、方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160810 |
|
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: 20161101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6047564 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |