JP6047564B2 - セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 - Google Patents

セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 Download PDF

Info

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
Application number
JP2014518968A
Other languages
English (en)
Other versions
JP2014525083A (ja
JP2014525083A5 (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 JP2014525083A publication Critical patent/JP2014525083A/ja
Publication of JP2014525083A5 publication Critical patent/JP2014525083A5/ja
Application granted granted Critical
Publication of JP6047564B2 publication Critical patent/JP6047564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/23Updating
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/28Databases 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)などの他の製品と統合して、アプリケーションサーバ/クラスタ化されたデータベース環境を提供することもできる。これらは、発明の実施例が扱うことが意図される概略的な分野である。
概要
発明は、概してミドルウェアおよびクラスタ化されたデータソースなどのコンピュータシステムおよびソフトウェアに関し、特に、アプリケーションサーバおよびクラスタ化されたデータベースとともにデータソースを使用する際の様々な改良に関する。
クラスタ化されたデータベース環境(たとえばOracle Real Application Cluster(RAC))は、1つのサーバのように見える多数のデータベースインスタンスを含む。アプリケーションサーバ(たとえばWebLogicサーバ(WLS))は、データソース(たとえばOracleのGridLinkデータソース)およびコネクションプールを使用して、クラスタ化されたデータベースにコネクトすることができる。通知サービスは、データベースインスタンスにおける状態変化を示す通知をブロードキャストし、それらは次いで、データベースインスタンスへのアクセスを制御するためにデータソースおよびコネクションプールによって使用される。
一実施例によれば、データソース設定によって、データアフィニティ、一時的なアフィニティ、および/またはセッションもしくはセッションベースのアフィニティポリシーなどの好ましいアフィニティポリシーの特定が可能となる。セッションアフィニティポリシーを用いて、ウェブセッションのコンテキストの下でなされたデータベースアクセスに、データベースインスタンスアフィニティを与える。つまり、セッションアフィニティは、一時的なアフィニティの一形態であり、それによって、アプリケーションが特定のデータセットへ関連付けられた多重の更新を行なっているかもしれない期間中は、データベース動作は特定のインスタンスに向けられる。そのような動作を単一のデータベースインスタンスに向けることを用いて、高められたローカルキャッシュ利用によってアプリケーション性能を向上させることができる。
一実施例によれば、システムは、アプリケーション連続性のための選択オンリーの場合を含むクラスタ化されたデータベース環境におけるアプリケーションコネクティビティを向上させる多くの機能を含む。たとえばJava(登録商標)Database Connectivity(JDBC)ドライバ内に実装される、アプリケーションに依存しないインフラストラクチャにより、アプリケーションから見て作業の回復が可能となり、システムコミュニケーション、ハードウェア障害、およびハングがマスキングされる。
一実施例に係る、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの実例を示す図である。 一実施例に係る、アフィニティ設定を利用してクラスタ化されたデータベースとともに使用される多数のアプリケーションサーバおよび/またはデータソースの実例を示す図である。 一実施例に係る、ウェブアプリケーションを含み、かつデータソースおよびクラスタ化されたデータベースとともに使用されるウェブセッションアフィニティをサポートするシステムの実例を示す図である。 一実施例に係る、例示的なウェブセッションアフィニティインタラクションの実例を示す図である。 一実施例に係る、ウェブセッションアフィニティを提供するための方法のフローチャートである。 一実施例に係る、ドライバ再現機能とともに、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの実例を示す図である。 一実施例に係る、選択データを再現するのに使用されるドライバ再現機能とともに、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの別の実例を示す図である。 一実施例に係る、ドライバ再現機能を提供するための方法のフローチャートである。
詳細な説明
一実施例によれば、クラスタ化されたデータベース環境(データベースクラスタと称することもある)は1つ以上の相互接続されたコンピュータまたはサーバを含み、エンドユーザおよびエンドユーザアプリケーションにとっては、それらは一体として単一のサーバであるかのように見える。概してデータベース記憶装置とデータベースインスタンスとの間に一対一の関係を提供する単一インスタンスデータベースとは異なり、クラスタ化されたデータベースは、データベース記憶装置といくつかのデータベースインスタンスとの間に一対多数の関係を提供することができる。
たとえば、Oracle Real Application Cluster(RAC)データベースシステムは、複数のサーバをともにバインドするためにOracleクラスタウェアインフラストラクチャを使用してOracleのデータベースのクラスタ化を可能にし、したがってサーバは単一のシステムとして動作することができる。RACデータベースシステムは多くのデータベースインスタンスを含むことができ、その各々は単一のデータベース記憶装置にアクセスすることができる。このように、そのような複数のサーバの組合せられた処理能力は、単一のサーバを用いて実現可能なものよりも大きなスループットおよび拡張性を提供することができる。
一実施例によれば、データソース(他の形態のデータソースを使用してもよいが、ここで説明されるいくつかの例ではGridLinkデータソースと称する)を用いて、WebLogicサーバ(WLS)インスタンスなどのアプリケーションサーバを、クラスタ化されたデータベースにコネクトすることができる。クラスタ化されたデータベースによって通知サービスを用いて、複数のそのデータベースインスタンス内のいずれかの状態変化を示す通知(Oracle RAC製品において使用される高速アプリケーション通知(Fast Application Notification)すなわち「FAN」通知またはイベントなど)をブロードキャストすることができる。データソースは、クラスタ化されたデータベース中の複数のデータベースインスタンスへの一組のコネクションを管理するコネクションプールを含む。データソースは、通知サービスを用いて登録し、クラスタ化されたデータベースの変更に関する通知を受信することができる。アプリケーションサーバは次いで、ランタイムにおけるクラスタ化されたデータベースのいずれかの状態変化に従って、クラスタ化されたデータベースへのコネクトを適切に設定し、および/または、管理することができる。
図1は、一実施例に係る、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの実例を示す。図1に示されるように、データソース104(他の形態のデータソースを使用してもよいが、この例ではGridLinkデータソースと称する)はアプリケーションサーバ101と関連付けられる。
データソースは、アプリケーションサーバとの、またはアプリケーションサーバによる、クラスタ化されたデータベース102の使用を単純化し、クラスタ化されたデータベースを使用するために必要とされる設定および管理の複雑度を低下させる。データソースはコネクションプール106を含み、コネクションプール106はさらにデータベースクラスタ中の異なるデータベースインスタンス114,116,118への一組の異機種コネクション128,129を提供する。その結果、異なるデータベースインスタンスが単一のまたは共用記憶装置120にコネクトすることができる。
コネクションプールにおけるコネクションの管理は、最小/最大容量などのコネクションプールに対して設定された静的な設定112またはタイムアウト、および/またはデータベースクラスタ内の状態変化をデータソースに知らせる通知サービス124から受信されるイベントメッセージ126に示されているコネクションプールに関するリアルタイム情報のいずれかに基づくことができる。
アプリケーション108,110がデータソースからのコネクションを要求すると、好適なコネクションがコネクションプールから選択され、たとえばコネクションプールが受信した負荷バランシング情報および/またはプールからの使用時のコネクションの現時点分布に基づいて、アプリケーションに供給することができる。
1つの例示的な例では、上記のシステムを用いて、Oracleのデータベースサービスを提供することができる。当該データベースサービスは、たとえば作業負荷、作業負荷の優先順位付け、リアルトランザクションのための性能手段、ならびに性能目標が破られた場合の警告および措置のための単一のシステムイメージを提供することができる。データベースサービスにより、データベース管理責任者が作業負荷を単一のエンティティとして設定し、管理し、有効/無効にし、かつ測定することが可能となる。データベースサービスは、作業負荷を論理的な分類に分けるためにさらに使用することができ、各サービスは、作業負荷を、共通の属性、サービスレベルのしきい値、および優先順位で表わす。アプリケーションサーバは、クラスタ化されたデータベースによって発せられた負荷バランシングアドバイザリイベントメッセージを受信し、それに応じてデータベースノードまたはインスタンスへのデータベースコネクションを調整することができる。次いでシステムは、データソース上で実行時に負荷バランシング設定を行なうことができ、データベースから受信された負荷バランシングアドバイザリメッセージに基づいて、アプリケーションサーバがデータベースコネクションをディスパッチすることが可能となる。次いでデータベースコネクションを特定のデータベースノードに向けて、データベース管理責任者によって設定された性能目標を満たすことができる。
別の例では、システムは、分散トランザクション(XA)アフィニティをサポートして、グローバルトランザクションのコンテキスト内でデータベースクラスタに対して行なわれるすべてのデータベース動作が同じデータベースインスタンスに向けられることを確実に行なうことができる。そのようなXAアフィニティは、個別のデータソースの代わりにグローバルトランザクションIDに基づいて確立され、同じデータベースクラスタについて設定される異なるデータソースから得られるコネクションがすべて同じデータベースインスタンスに関連付けられること、またはクラスタ化されたデータベースに対して行なわれるグローバルトランザクションのためのデータベース動作がすべて同じデータベースインスタンスに向けられることを確実に行なうことができる。たとえば、XAトランザクションの第1のコネクション要求を負荷バランシングし、アフィニティコンテキストを割当てることができる。次のコネクション要求は最初のコネクションのアフィニティコンテキストを用いて、同じデータベースインスタンスにルーティングすることができる。
上記の特徴に加えて、システムは、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのコネクションモジュールとして、ユニバーサルコネクションプール(UCP)ライブラリの使用などの追加的な特徴および機能を採用することができる。一般に、UCPライブラリは、データベースサーバから見てクライアント側ライブラリのように見え、論理的には、データベースにコネクトするために使用されるJava(登録商標)データベースコネクティビティ(JDBC)ドライバの拡張機能である。そのようなデータベースコネクションモジュールの使用は、総括的なJDBCコネクションプーリング実装の提供に加えて、クラスタ化されたデータベースのための高い可用性およびパフォーマンス能力をサポートすることができる。
上記の特徴および機能のうちのいくつかを含むデータソースシステムの様々な実施例のさらなる説明は、「GRIDLINKデータソースを用いてクラスタ化されたデータベースにアプリケーションサーバをコネクトするためのシステムおよび方法("SYSTEM AND METHOD FOR USING GRIDLINK DATA SOURCE TO CONNECT AN APPLICATION SERVER WITH CLUSTERED DATABASE")」と題された2011年6月24日付けの米国特許出願番号第13/168,506号に示されており、当該出願は引用によってここに援用される。
クラスタ化されたデータベース環境におけるセッションアフィニティ
一実施例によれば、システムは、ウェブセッションとの使用のために、セッションアフィニティの使用をサポートする。ここで言及される限りにおいて、セッションまたはセッションベースのアフィニティは一時的なアフィニティの一形態であり、それによって、アプリケーションが特定のデータセットへ関連付けられた多重の更新を行なっているかもしれない期間中は、アプリケーションによって要求されるデータベース動作は特定のデータベースインスタンスに向けられる。そのような動作を単一のデータベースインスタンスに向けることを用いて、高められたローカルキャッシュ利用を活用し、かつ全体的なアプリケーションパフォーマンスを向上させることができる。
図2は、一実施例に係る、1つ以上のアフィニティ設定を利用して、多数のアプリケーションサーバおよび/またはデータソースがクラスタ化されたデータベースとともに使用されている環境の実例を示す。図2に示されるように、アプリケーションサーバ環境140は、1つ以上のアプリケーションサーバインスタンス142,162を含むことができる。各アプリケーションサーバインスタンスは、各々それ自身のコネクションプール146,166を有する1つ以上のデータソース144,164とコネクションプール設定154,174とを含むことができる。データソースはクラスタ化されたデータベースへのコネクション158,178をアプリケーション150,170にともに与え、アプリケーションとクラスタ化されたデータベースとの間により深い統合を与えるために、データベースサービスの消費を無制限にサポートする。
一実施例によれば、データソースソースレベルごとに特定することができる、またはアプリケーションサーバ環境内のすべてあるいは複数のデータソースもしくはアプリケーションサーバにわたって特定することができる、1つ以上のアフィニティ設定156,176と、各データソースとを関連付けることもできる。使用することができるアフィニティスキームの例は、XAアフィニティ、およびセッションもしくはセッションベースのアフィニティを含む。
ウェブアプリケーションのコンテキストでは、ウェブセッションの寿命は、ユーザによるeコマースショッピングカート機能の操作などのウェブアプリケーションとデータベースとの間の比較的長寿命のインタラクションとすることができる。セッションアフィニティが使用される際は、システムはそのウェブセッションの寿命のためにアフィニティコンテキストを保持する。これはアプリケーションパフォーマンスに利点をもたらす。システムはその特定のウェブセッション中に同じデータベースインスタンスに常に戻り、そのデータベース上でローカルキャッシュを利用することになるからである。そのようなセッションアフィニティ機能を使用することの他の利点は、データベース上のクラスタ待ち時間の短縮を含み、RACのコンテキストでは、RACクラスタデータセットの同期にあまり依存しないことを含む。
一実施例によれば、セッションアフィニティおよび他のアフィニティスキームの両方をサポートする際に使用されるアフィニティ情報は、クラスタ全体にわたって複製されることが意図されるいずれかの負荷アドバイザリなどとともに、通知サービスによってそのFAN通知またはイベント内で拡張することができる。いくつかの実装例では、システムは、様々なアプリケーションによって使用されているデータからキーを抽出し、それらのキーに基づいて適切なサーバへのコネクションをルーティングすることができる。いくつかの実装例では、システムは、実行時にUCPを活用して、アプリケーションが実装することができるアプリケーションコールバックAPIを提供し、次いで実行時にアプリケーションをそのためにコールバックし、適切なルーティングを決定するために使用することができるキーを提供することもできる。
一実施例によれば、複数のデータソースにわたって全体的に、または各データソースについて個々に、アフィニティポリシーを規定することができる。アフィニティポリシーは、(もしあるならば)どの種類のアフィニティが実行時にそのデータソースによって使用されるかを規定する。ウェブアプリケーションとの使用が意図される一実施例によれば、セッションアフィニティは、データソース環境内の各データソースにおいてデフォルトアフィニティポリシーとして設定される。全体的なポリシー設定は、リソースごとのポリシー設定に優先する。
実行時に、アプリケーションが(特定的にまたはデフォルトで)セッションアフィニティポリシーセットを有するデータソースからのコネクションを要求すると、システムはいずれかの利用可能なウェブセッションコンテキストを得るためにコールバックを行なう。そのようなウェブセッションコンテキストが利用可能である場合、システムは、それを用いて最も適切なコネクションを選択することができる。別な方法として、システムはたとえばUCPを用いて、実行時の負荷バランシングなどの他の要因に基づいてコネクションを選択することができる。システムの構成に依存して、次いでそのウェブセッションについてアフィニティコンテキストを設定することができ、したがってアプリケーションが次に要求を行なう時には、適切なセッションアフィニティ情報をそのコンテキストに有する。
WebLogic環境などの環境では、セッションが内部で受渡しされない場合がある。そのような環境では、システムは、リクエストによってシステムのまわりを伝播するワークコンテキストといった機能を代りに使用することができる。サーブレットコンテナは、ウェブセッションとともに継続されるワークコンテキストから、アフィニティポリシーが設定されているかどうかを判断することができ、設定されている場合は、ワークコンテキストを適宜設定し、追加的な情報を検索し、次いで最も適切なコネクションを選択する。
図3は、一実施例に係る、データソースおよびクラスタ化されたデータベースとともに使用するためにウェブセッションとともにウェブアプリケーションを含むシステムの実例を示す。図3に示されるように、各アプリケーションサーバインスタンスは、各々それ自身のコネクションプール205を有する1つ以上のデータソース203とコネクションプール設定210とを含むことができる。ウェブアプリケーション206が実行され、ウェブセッション208中にリクエストの一部としてデータソースコネクションが呼出されると、セッションまたはセッションベースのアフィニティ212が使用されている場合、セッション218中で使用するためにコネクションがアプリケーション216に戻される。アプリケーションリクエストの実行が終了した後、かつサーブレットコンテナがそのレスポンスを終了する前に、コンテナは、いずれかの既存のセッションベースのアフィニティコンテキストをセッションおよび/またはワークコンテキストマップに保存し、したがってアフィニティコンテキストは、その同じウェブセッション中の次のリクエスト220によって使用されるようにセッションと関連付けられる。
図4は、一実施例に係る、例示的なウェブセッションアフィニティインタラクションの実例を示す。一実施例によれば、一組のアフィニティコールバックインターフェースを、たとえばoracle.ucpパッケージにおいて規定することができる。一実施例によれば、getConnectionAffinityContextメソッドとsetConnectionAffinityContextメソッドとがデータソースおよびアフィニティ実装例によって使用され、アフィニティコンテキストの、アプリケーションコンテキストとの関連付けを管理する。各コネクション保持リクエストについては、getConnectionAffinityContextメソッドが呼出され、アプリケーションコンテキスト(たとえばグローバルトランザクションまたはウェブセッション)と関連付けられたアフィニティコンテキストが既にあるかどうかを判定する。もしなければ、その後、ランダムにまたは実行時のコネクション負荷バランシングに従ってコネクションが選択され、選択されたデータベース(たとえばRAC)インスタンスを識別するコンテキストオブジェクトによってsetConnectionAffinityContextメソッドが呼出される。アフィニティポリシー実装例は次いで、次のコネクション保持リクエストで使用するためのアプリケーションコンテキストとともにインスタンス情報を格納する。図4に示されるように、サーブレットコンテナによってリクエストが受信されると、サーブレットコンテナは、アプリケーションサーブレット/jspを実行する前にワークコンテキスト(ワークコンテキストはセッション内部属性とマップとの両方に格納される)をinitまたは回復する。240において、アプリケーションが実行され、datasource.getConnectionメソッドが呼出される。242において、データソース(この例ではGridLinkデータソース)によってSessionAffinityCallback.getAffnityContext()が呼出される。最初は「AffinityContext」は格納されていないため、244ではnullが返される。246において、SessionAffnityCallback.setAffinityContext(…)がデータソースによって呼出され、この例ではワークコンテキストマップにaffinityContextが格納される。248において、コネクションがアプリケーションに返される。250において、getConnection()がアプリケーションによって再び呼出されると、affinityContextをワークコンテキストマップからフェッチすることができ、次いで同じコネクションが返される。252において、アプリケーションリクエストの実行が終了された後かつサーブレットコンテナがレスポンスを終了する前に、サーブレットコンテナはいずれかの既存の「AffinityContext」をセッションおよびマップに保存し、したがってアフィニティコンテキストは、次のリクエスト254,256によって使用されるようにセッションと関連付けられる。
一実施例によれば、アフィニティコンテキストは次のキー値:サービス名、およびデータベース固有名を含む。これらは正確なデータベースおよびサービスを確認するために使用され、そのインスタンスについてaff=trueである場合はインスタンスIDを返す。1つのコンテキストに対して1つのブラウザがある場合、次のチェックアウトリクエストは、これらの属性が一致することを確認するべきである。たとえば、前回のコンテキストとは異なるサービスが別のサービスに関係する場合、別のインスタンスを使用することができる。RACにおける算出はクロスサービスではなくサービスごとである。多くのブラウザウィンドウがある場合は、各々がそれ自身のコンテキスト情報を有し、それ自身のデータベースおよびサービスにアフィニティを保持するべきである。
WebLogic環境の例では、RACセッションアフィニティ機能をサポートするために、アフィニティコンテキストをHTTPセッションに関連付けることができる。この例では、アフィニティコンテキストは、データベース名、インスタンス名、サービス名等を含み、RACからのコネクションを得るために使用される。同じHTTPセッション(URLまたはクエリパラメータまたはクッキーヘッダーにおける同じJSESSIONID)のリクエストについては、getConnection()は同じコネクションを返すことが保証される。エンドユーザが1つまたは複数のブラウザおよび複数のブラウザウィンドウを使用しているかどうかは重要ではない。セッションアフィニティは、同じデータベースおよびサービスについて複数のデータソースにまたがる。
図5は、一実施例に係る、ウェブセッションアフィニティインタラクションを提供するための方法のフローチャートを示す。図に示されるように、ステップ260において、アプリケーションが実行され、データソースコネクションが呼出される。ステップ262において、既に格納されているアフィニティコンテキストがない場合、セッションベースアフィニティコンテキストがワークコンテキストマップに格納され、コネクションがアプリケーションに返される。ステップ264において、コネクションがアプリケーションによって再び呼出されると、セッションベースアフィニティコンテキストがワークコンテキストマップからフェッチされ、次いで同じコネクションが返される。ステップ266において、アプリケーションの実行が終了した後であってサーブレットコンテナがそのレスポンスを終了する前に、コンテナはいずれかの既存のセッションベースアフィニティコンテキストをセッションおよびマップに保存し、したがってアフィニティコンテキストは、次のリクエストによって使用されるようにセッションと関連付けられる。
一実施例によれば、APIを内部コンポーネントによって使用されるように規定して、セッションおよびデータアフィニティポリシーを実装することができる。「セッション」アフィニティポリシー(デフォルト)は、アフィニティコンテキストがウェブアプリケーションセッションコンテキストの継続時間に関連付けられ、その継続時間中に使用されるべきであることを示す。このポリシーはXAアフィニティの代わりに使用することができ、ウェブセッション中のすべてのトランザクショナルデータソースの使用に該当する。セッションアフィニティポリシーを有するデータソースがウェブセッションのコンテキスト外部でアクセスされると、アフィニティポリシーはXAアフィニティに戻ることになる。
一実施例によれば、WLSデータソースサブシステムは、特定のアフィニティポリシーを統合している他の内部コンポーネントによる使用が意図されるアフィニティコールバック登録を管理するための方法を提供する。コールバック登録はグローバルであり、アフィニティポリシーによってサーバに導入されたすべてのGridLinkデータソースに該当する。各種の1つのコールバックのみがいずれかの所与の時間に登録され得る。特定のコールバックは、データソースの好ましいアフィニティポリシーに基づいてアフィニティコンテキスト処理のためのコネクション保持時間において呼出されることになる。ポリシータイプのトランザクションによってコールバック実装例を登録しようとすると例外を生じさせ、現在のXAアフィニティ実装例の起こり得るオーバーライドを防ぐことになる。
一実施例によれば、RACインスタンスが正確なイベントを生成している場合にのみアフィニティ処理が行なわれる。これは、trueに設定されている負荷バランシングアドバイザリFANイベントにおけるRACインスタンスのための「aff」フラグによって示される。アフィニティがRACインスタンスについていつ有効とされるかをより判断しやすくするために、AffEnabledプロパティを実行時のMBeanに加えることができる。
Java(登録商標)プログラミングインターフェース
一実施例に従って、上記のセッションアフィニティ機能のためのJava(登録商標)プログラミングインターフェースの一例を以下に示す。例示的なJava(登録商標)プログラミングインターフェースは例示および説明の目的で示され、包括的であるものまたは発明を開示されている形態そのものに限定するものとは意図されない。
public interface JDBCOracleParamsBean extends SettableBean
データソースのOracleデータベース関連のパラメータを含む。データソースのOracle特有の挙動についての設定パラメータは、Oracleのパラメータbeanを使用して特定することができる。
public java.lang.String getAffinityPolicy()
データソースに使用されるアフィニティポリシーを特定する。オプションは、トランザクションアフィニティを特定するトランザクションと、ウェブセッションアフィニティ(デフォルト)を特定するセッションと、データアフィニティを特定するデータとを含むことができる。
最新の負荷バランシングアドバイザリイベントからアフィニティプロパティを返す。
public interface ConnectionAffinityCallback
Oracle RACアフィニティのためのインターフェースをコールバックする。
public boolean setConnectionAffinityContext(Object affinityContext)
アフィニティコンテキストを設定する。パラメータはaffinityContext、つまり不透明(opaque)型のコンテキストオブジェクトを含むことができる。コンテキストオブジェクトが首尾よく設定されるとtrueを返し、そうでない場合はfalseを返す。
public java.lang.Object getConnectionAffinityContext()
アフィニティコンテキストオブジェクトを返す。
public void
setAffinityPolicy(ConnectionAffinityCallback.AffinityPolicypolicy)
このコールバックに使用するためのアフィニティポリシーを設定する。パラメータはポリシー、つまり使用するアフィニティポリシーを含むことができる。
public
oracle.ucp.ConnectionAffinityCallback.AffinityPolicygetAffinityPolicy()
このコールバックから現在のアフィニティポリシーを取得する。このコールバックについて設定されたアフィニティポリシーを返す。
public boolean isApplicationContextAvailable()
このアフィニティポリシーについてアプリケーションコンテキストが存在するかどうかを確認する。このポリシーについてアプリケーションコンテキストが存在する場合はtrueを返し、そうでない場合はfalseを返す。
Oracle RACデータアフィニティのためのインターフェースをコールバックする。
public boolean setDataKey(Object keyObject)
このコールバック実装例内のアプリケーションによって使用されるデータキーオブジェクトを設定する。パラメータは、キーオブジェクト、つまりデータキーオブジェクトを含むことができる。データキーオブジェクトが首尾よく設定されるとtrueを返し、そうでない場合はfalseを返す。
public int getPartitionId()
データベースのアフィニティについて論理的区分識別子を取得する。この上記のコールバック内のデータキーセットに特有の論理的区分識別子を返す。
public interface AffinityCallback extends ConnectionAffinityCallback
Oracle RACアフィニティのためのインターフェースをコールバックする。AffinityCallbackインターフェースは、アフィニティプロバイダを登録するためにデータソースサービスとともに使用されるベースインターフェースである。インターフェースはUCP ConnectionAffinityCallbackインターフェースを拡張し、追加的なメソッドを規定する。既存のUCPアフィニティ実装例を下位分類して、AffinityCallbackインターフェースを実装し得る。
public boolean isApplicationContextAvailable()
このアフィニティポリシーについてアプリケーションコンテキストが存在するかどうかを確認する。このポリシーについてアプリケーションコンテキストが存在する場合はtrueを返し、そうでない場合はfalseを返す。
public interface DataAffinityCallback extends AffinityCallback,
DataBasedConnectionAffinityCallback
Oracle RACデータアフィニティのためのインターフェースをコールバックする。
public interface Data sourceService
内部データソースサービスオペレーション。コンポーネントはこのサービスインタフェースを使用して、情報を取得し、データソースサブシステム上でグローバルオペレーションを行なうべきである。
public void registerAffinityCallback(AffinityCallback callback)
アフィニティについて設定されるすべてのデータソースによって呼出されることになるグローバルアフィニティコールバックを登録する。パラメータは、コールバック、つまり登録するべきコールバックインスタンスを含むことができる。
public boolean unregisterAffinityCallback(AffinityCallback callback)
特定されたアフィニティコールバックを登録しない。パラメータはコールバック、つまり登録しないコールバックインスタンスを含むことができる。コールバックが以前に登録されている場合はtrueを返し、そうでない場合はfalseを返す。
アフィニティについて設定されるすべてのデータソースによって呼出されるグローバルデータアフィニティコールバックを登録する。パラメータは、コールバック、つまり登録するべきコールバックインスタンスを含むことができる。
データソースが、特定されたアフィニティポリシーとともに現在のサーバに導入されているかどうかを返す。
パラメータは、ポリシー、つまり導入されたデータソースのアフィニティポリシーを含むことができる。特定されたアフィニティポリシーとともにデータソースが導入されている場合はtrueを返し、そうでない場合はfalseを返す。
特定されたアフィニティポリシーについてアフィニティポリシーリスナーコールバックを登録する。特定されたアフィニティポリシーの導入ステータスに変化がある場合は常に、コールバックが呼出されることになる。コールバックは最初の登録直後に呼出されることになる。パラメータは、リスナー、つまり登録するべきコールバック実装例と、ポリシー、つまり聞くべきアフィニティポリシーとを含むことができる。
特定されたポリシーリスナーコールバックを登録しない。パラメータはリスナー、つまり登録しないリスナーコールバックを含むことができる。特定されたコールバックが登録されている場合はtrueを返し、そうでない場合はfalseを返す。
public interface AffinityPolicyListener
特定のアフィニティポリシーとともにデータソースが導入されるかまたは導入されていない場合、実装例をDatasourceServiceによって登録して通知を受信することができる。
特定のアフィニティポリシーの導入ステータスの変化が呼出される。パラメータはポリシー、つまり通知が該当するアフィニティポリシーを含むことができ、データソースがアフィニティポリシーによって導入されたかどうかが導入される。
クラスタ化されたデータベース環境におけるアプリケーションコネクティビティの向上
一実施例によれば、システムはドライバ(たとえばJDBC)再現機能を含み、該機能は、アプリケーションから見て作業の回復を可能にし、多くのシステム、通信、およびハードウェア障害、ならびにハングをマスキングする汎用の、アプリケーションに依存しないインフラストラクチャを配信する。セマンティクスは、エンドユーザトランザクションをオンタイムでかつ最高で一回実行することができることを確実に行なうことを支援する。正味の結果は、エンドユーザがサービスの中断を見なければならないのは、継続しているポイントがないような停電時のみである。
図6は、一実施例に係る、ドライバ再現機能とともに、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの実例を示す。図6に示されるように、データソース282(他の形態のデータソースを使用してもよいが、この例ではGridLinkデータソースと称する)は、クラスタ化されたデータベース202とともに使用されるように、アプリケーションサーバ280に関連付けられた単一のデータソースを提供する。データソースはコネクションプール284を含み、その結果データベースクラスタ中の異なるデータベースインスタンス114,116および118に一組の異機種コネクションを提供する。異なるデータベースインスタンスは、単一のまたは共用記憶装置120にコネクトすることができる。
一実施例によれば、システムは、データベースインスタンスにアクセスするために様々なコネクションによって使用されるJDBCドライバ286をさらに含む。アプリケーション290がデータソースからのコネクションを要求すると、好適なコネクションがコネクションプールから選択され、たとえばFAN通知によってコネクションプールが受信した負荷バランシング情報および/またはプールからの使用の際のコネクションの現時点分布に基づいてアプリケーションに供給されることができる。アプリケーションセッション292は次いで、コネクションプールおよびJDBCドライバを介してデータベースにリクエスト294を発し、対応するレスポンスまたは結果295を受信し、それらは次いでアプリケーションに返される。
一実施例によれば、ウェブセッションを用いたアプリケーションの動作中に、コネクションが停止するかまたは失敗した場合、JDBCドライバは、アプリケーション自体にはいずれのエラーまたは例外も生じないように、どの情報またはデータがアプリケーションによってデータベースから以前に照会されたかについての状態287を記録し、データベースに対するクエリを処理する点までのセッションを再現する。
他の実施例によれば同様の技術をトランザクショナルケースに使用することができ、かつトランザクションとの使用は意図されずそれらのケースをサポートするために拡張することができるが、一実施例によれば、機能は非トランザクショナル読み出しオンリーまたは選択オンリーの場合に特に有用である。使用ケースの複雑度(たとえば、読み出しオンリー対トランザクショナル、および単純対複雑なセッションリクエスト)に依存して、JDBCドライバ再現を使用する際にパフォーマンスおよびメモリヒットがあるかもしれず、したがってわずかに低いパフォーマンス対アプリケーション連続性の向上およびアプリケーション中断の減少の点でトレードオフがある。(上記のように、一実施例によれば、システムはOracleのJDBCドライバなどのJDBCドライバによって作動するJava(登録商標)特有のアプリケーションサーバ機能を実装する。他の実施例によれば、他のドライバ、たとえばTuxedoシステムのコンテキストにおいてOCI Oracleドライバを使用することができる)。
図7は、一実施例に係る、選択されたデータを再現するのに使用されるドライバ再現機能とともに、クラスタ化されたデータベースにアプリケーションサーバをコネクトするためのデータソースを含むシステムの別の実例を示す。図7に示されるように、アプリケーションは、コネクションプールおよびJDBCドライバを介してクラスタ化されたデータベースのデータベースインスタンスからデータを選択するリクエストを行ない、JDBCドライバは、データベースインスタンスからの読み出しオンリーまたは選択データの結果を記録する。次に、アプリケーションがデータベースインスタンスへのそのコネクション296を失ったとシステムが判断すると、以前に受信したアプリケーションリクエストに応答してJDBCドライバに保存されたデータがJDBCドライバによって使用され、セッションのその点までアプリケーションリクエストおよびレスポンス298を再現する。
図8は、一実施例に係る、ドライバ再現機能を提供するための方法のフローチャートを示す。図8に示されるように、ステップ302において、アプリケーションは、コネクションプールおよびJDBCドライバを介してクラスタ化されたデータベースのデータベースインスタンスからデータを選択するリクエストを行なう。ステップ304において、JDBCドライバは、データベースインスタンスからの読み出しオンリーまたは選択データの結果をドライバメモリスペースそのものに記録する。ステップ306において、システムは次に、アプリケーションがデータベースインスタンスへのそのコネクションを失ったと判断する。ステップ308において、アプリケーションリクエストに応答して以前にJDBCドライバに保存されたデータがJDBCドライバによって使用され、セッションのその点までのアプリケーションリクエストおよびレスポンスを再現する。
一実施例によれば、上記の機能は、たとえばOracleのデータベースドライバおよびサーバ、または他の形態のJDBCもしくはデータベースドライバにおいて主として実装することができる。WebLogicサーバなどのアプリケーションサーバがインターフェースを露出させ、次いでドライバ再現機能を制御し、かつ回復させる必要がある作業の区別に関与するのを支援することができる。
一実施例によれば、正常なOracleのドライバ/データソースクラスは「oracle.jdbc.replay.OracleData sourcelmpl」クラスに置換することができる。管理コンソールは、このドライバが選択された場合、XAが無視されることを示すことになる。エンドユーザまたは管理者は、コンソールまたはテキストエディタを使用してまたはプログラムによって(たとえばWLST)正確なドライバを特定し、さらなる構成を提供することができる。
上記の実施例は読み出しオンリーのシナリオによるドライバ再現機能の使用を例示しているが、他の実施例によれば、ドライバ再現機能はデータ更新シナリオによって使用することができる。
コネクション初期化コールバックを作成するために、アプリケーションはoracle.ucp.jdbc.ConnectionlnitializationCallbackインターフェースを実装することができる。1つのコネクションプールごとに1つのコールバックが作成される。インターフェースは下以下に示されるような1つの方法を提供する。
void initialize(java.sql.Connection connection) throws SQLException
ラベリングコールバックがコネクションプールに対して登録されると無視される。さもなければ、プールからのコネクション確認ごとに、かつ再現の際に回復可能なエラーに続いて再コネクションが成功するたびに実行される。実行時および再現において同じコールバックを使用することにより、当初のセッションが確立された時に使用されたのとまったく同じ初期化が実行時に再び確立されることを確実に行なうことができる。これがそうであることを確実に行なうのがコールバックの応答性の作成者である。コールバック呼出しが失敗した場合、再現はそのコネクション上で無効とされる。次の例は、単純な初期化コールバック実装例を実証する。
WLSデータソースは、初期化コールバックを登録するためのregisterConnectionlnitializationCallback(ConnectionlnitializationCallbackコールバック)メソッドを提供する。1つのコールバックのみがコネクションプール上に登録され得る。次の例は、MyConnectionlnitializationCallbackクラスにおいて実施される初期化コールバックの登録を実証する。
コールバックは、Oracleのパラメータにおいて新たなコネクション初期化コールバック要素を介して図式によって設定することもできる。WLSデータソースは、初期化コールバックを削除するためのremoveConnectionlnitializationCallback()メソッドを提供する。次の例は、初期化コールバックの削除を実証する。
一実施例によれば、WebLogicサーバはoracle.jdbc.replay.internal.ConnectionlnitializationCallbackを実装し登録することができる。initialize()メソッドは、登録されていれば、ConnectionLabelingCallback実装例を呼出す。別な方法として、initialize()メソッドは、登録されていれば、ConnectionlnitializationCallback実装例を呼出す。ラベリングコールバックが登録されていない場合は、コネクションがプールによって分配されると、初期化コールバックも呼出されるべきである。WLSは、コネクション上の作業を一括するために、コネクション上でbeginRequestおよびendRequestを呼出すことになる。beginRequestは、オープントランザクションによって呼出された場合、または最後のbeginRequest以来endRequest()がない場合、エラーを返すかまたはプールにコネクションを返す。endRequestは、コネクションを新たなコネクションに置換することができるという宣言である。
このマーカを受信することにより、再現のための記録に関して、以下の処置を再現ドライバが講ずることが可能となる。トランザクション履歴および蓄積されたpurge-on-close(遅延)カーソルをパージする。これは、記録された呼出し履歴をパージするだけである。いずれかのJDBCメソッド、SQL、またはPL/SQLを再び実行することによってコネクションの状態を変更することを伴わない。再現が無効とされる場合は、再現を無効にする(エラーコード)ために保存された理由をクリアする。再現を無効にする。再現は次のbeginRequest呼出しにおいて有効とされる。(トランザクションビットによって決定される)オープントランザクションによって呼出された場合、エラーを返す。繰り返されるendRequest呼出しについてはエラーは返されない。正当なエラーおよび閉じているセッションの結果であり得るためである。再現は、以下のようにコネクションごとに無効化できる。
Java(登録商標)プログラミングインターフェース
一実施例によれば、上記のJDBCドライバ再現機能のためのJava(登録商標)プログラミングインターフェースの一例が以下に示される。例示的なJava(登録商標)プログラミングインターフェースは例示および説明の目的で示され、包括的であるものまたは発明を開示されている形態そのものに限定するものとは意図されない。
<element name="connection-initialization-callback" type="string"
nillable="true" minOccurs="0">
コネクション初期化コールバックの名前。これは、データソースが作成されると、registerConnectionlnitializationCallbackに自動的に渡される。

public interface ConnectionInitializationCallback
プールからのコネクション確認ごとに、かつ再現時の回復可能なエラーに続いて再コネクションが成功するたびに呼出されるAPI。
void initialize(java.sql.Connection connection) throws SQLException
プールからのコネクション確認ごとに、かつ再現時の回復可能なエラーに続いて再コネクションが成功するたびに呼出されるAPI。実行時および再現において同じコールバックを使用することで、当初のセッションが確立された時に使用されたのとまったく同じ初期化が実行時に再び確立されることを確実に行なうことができる。これがそうであることを確実に行なうのがコールバックの応答性の作成者である。コールバック呼出しが失敗した場合、再現はそのコネクション上で無効とされる。
public String getConnectionInitializationCallback();
public void setConnectionInitializationCallback();
本発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリ、および/またはコンピュータ読み取り可能な記録媒体を含む1つ以上の従来の汎用もしくは特殊デジタルコンピュータ、計算装置、マシン、またはマイクロプロセッサを使用して好都合に実装され得る。ソフトウェア分野の当業者には明白であるように、熟練したプログラマによって、本開示の教示に基づいて適切なソフトウェアコーディングを容易に準備することができる。いくつかの実施例によれば、本発明に従って開発されたシステムおよびコンポーネントは、コンピュータハードウェア、ソフトウェア、ファームウェア、もしくはそのいずれかの組合せを含むことができるかまたは、コンピュータハードウェア、ソフトウェア、ファームウェア、もしくはそのいずれかの組合せとして実装されるかもしくは提供されることができる。
いくつかの実施例では、本発明は、本発明のプロセスのいずれかを実行するようにコンピュータをプログラムするのに使用することができる命令がその上/その中に格納されている記録媒体またはコンピュータ読み取り可能な媒体であるコンピュータプログラム製品を含む。記録媒体は、限定はされないが、フロッピー(登録商標)ディスクを含むいずれかの種類のディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに好適ないずれかの種類の媒体もしくは装置を含むことができる。
本発明の上記の説明は例示および説明を目的として示された。包括的であるものまたは発明を開示されている形態そのものに限定するものとは意図されない。多くの修正および変形が当業者にとって明白であろう。実施例は、発明の原理およびその実用化を最適に説明するために選択されかつ説明され、それにより当業者は様々な実施例について発明を理解することが可能となり、特定の使用に適した様々な修正が企図される。発明の範囲は添付の請求項およびそれらの均等物によって規定されることが意図される。

Claims (15)

  1. データソースおよびクラスタ化されたデータベース環境においてフィニティをサポートするためのシステムであって、
    クラスタ化されたデータベースシステムおよび前記データベースシステムの中の複数のデータベースインスタンスに関連付けられた通知サービスを備え、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを備え、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
    セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
    前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることが実施される、システム。
  2. 複数のデータソースにわたって全体的に、または各データソースについて個々にアフィニティポリシーを規定することができ、前記アフィニティポリシーは、どの種類のアフィニティが実行時に当該データソースによって使用されるかを規定する、請求項1に記載のシステム。
  3. 実行時に、アプリケーションがセッションアフィニティポリシーセットを有するデータソースからのコネクションを要求すると、前記システムは、いずれかの利用可能なウェブセッションコンテキストを得るためにコールバックを行ない、そのようなウェブセッションコンテキストが利用可能である場合、前記システムはそれを使用して最も適切なコネクションを選択することができる、請求項2に記載のシステム。
  4. 前記システムは、リクエストによって前記システムのまわりを伝播するワークコンテキストといった機能を使用することができ、サーブレットコンテナは、ウェブセッションとともに継続されるワークコンテキストから、アフィニティポリシーが設定されているかどうかを判断することができ、そうであれば前記ワークコンテキストを適宜設定し、追加的な情報を検索して、次いで最も適切なコネクションを選択する、請求項3に記載のシステム。
  5. データソースおよびクラスタ化されたデータベース環境においてフィニティをサポートする方法であって、
    クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを含み、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを含み、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
    セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
    前記方法は、さらに、
    前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることを実施するステップと、を含む、方法。
  6. 命令を含むコンピュータプログラムであって、前記命令は、1つ以上のコンピュータによって読み取られ実行されると、当該1つ以上のコンピュータに、
    クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを行なわせ、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを行なわせ、前記データソースは、データソースのための1つ以上のアフィニティポリシーに関連付けられて、各アフィニティポリシーは、データソースのための分散トランザクションアフィニティ(XA)とセッションアフィニティとのうちの1つを規定し、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    前記セッションアフィニティは、前記データソースのためのデフォルトアフィニティポリシとしてセットされて、前記セッションアフィニティは、前記データソースがセッションのコンテキストの外部からアクセスされるときXAアフィニティに切り替わり、
    セッション中のアプリケーションにより要求されるデータベース動作は、同じデータベースインスタンスに向けられて、
    さらに、当該1つ以上のコンピュータに、
    前記データベースインスタンスに向けるための情報をアフィニティコンテキストに格納することにより、同じデータベースインスタンスに向けられることを実施するステップを行なわせる、コンピュータプログラム。
  7. データソースおよびクラスタ化されたデータベース環境において向上したアプリケーションコネクティビティを提供するためのシステムであって、
    クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスを備え、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを備え、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、
    前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点ま再現する、システム。
  8. 機能は非トランザクショナル読み出しオンリーまたは選択オンリーの場合に使用される、請求項7に記載のシステム。
  9. 前記データベースドライバはJDBCドライバである、請求項7または8に記載のシステム。
  10. 前記JDBCドライバは、データベースインスタンスからの読み出しオンリーまたは選択データの結果を前記メモリスペースそのものに記録する、請求項に記載のシステム。
  11. データソースおよびクラスタ化されたデータベース環境において向上したアプリケーションコネクティビティを提供するための方法であって、
    クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを含み、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを含み、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、
    前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点ま再現する、方法。
  12. 命令を含むコンピュータプログラムであって、前記命令は、1つ以上のコンピュータによって読み取られ実行されると、当該1つ以上のコンピュータに、
    クラスタ化されたデータベースシステムおよびその中の複数のデータベースインスタンスに関連付けられた通知サービスへのアクセスを提供するステップを行なわせ、前記通知サービスは、前記クラスタ化されたデータベースのデータベースインスタンスにおける状態変化を示す通知をブロードキャストするために使用され、さらに、
    アプリケーションサーバ、ならびにそれに関連付けられたデータソースおよびコネクションプールを提供するステップを行なわせ、前記データソースおよびコネクションプールは、前記クラスタ化されたデータベース内の前記複数のデータベースインスタンスへのコネクションを管理するために使用され、
    ウェブセッションを用いたアプリケーションの動作中、コネクションが停止するかまたは失敗した場合、データベースドライバは、前記アプリケーション自体にはいずれのエラーまたは例外も生じないように、前記データベースから前記アプリケーションによって以前に照会された情報の状態をデータベースドライバ内のメモリスペースそのものに記録し、前記クラスタ化されたデータベースに対するウェブセッションを、前記アプリケーションによって以前に照会された情報の記録された状態に対応した点ま再現する、コンピュータプログラム
  13. 前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けて、
    前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項1に記載のシステム。
  14. 前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けるステップをさらに含み、
    前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項5に記載の方法。
  15. 前記1つ以上のコンピュータに、前記アフィニティコンテキストを、前記アプリケーションのワークコンテキストオブジェクトを用いて前記セッションに関連付けるステップをさらに行わせ、
    前記ワークコンテキストオブジェクトは、前記データベース動作のために前記アプリケーションの各要求にアクセス可能であり、前記システムのまわりに伝播する、請求項6に記載のコンピュータプログラム。
JP2014518968A 2011-06-27 2012-06-27 セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法 Active JP6047564B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2743551C1 (ru) * 2020-05-12 2021-02-19 Акционерное общество "Кондор-Эко" Способ изготовления элементов осадительного электрода для электрофильтра

Families Citing this family (32)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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