JP6195958B2 - アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法 - Google Patents

アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法 Download PDF

Info

Publication number
JP6195958B2
JP6195958B2 JP2016142298A JP2016142298A JP6195958B2 JP 6195958 B2 JP6195958 B2 JP 6195958B2 JP 2016142298 A JP2016142298 A JP 2016142298A JP 2016142298 A JP2016142298 A JP 2016142298A JP 6195958 B2 JP6195958 B2 JP 6195958B2
Authority
JP
Japan
Prior art keywords
database
clustered database
data source
application server
clustered
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
JP2016142298A
Other languages
English (en)
Other versions
JP2016181304A (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 JP2016181304A publication Critical patent/JP2016181304A/ja
Application granted granted Critical
Publication of JP6195958B2 publication Critical patent/JP6195958B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • 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
    • G06F16/2358Change logging, detection, and notification
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T409/00Gear cutting, milling, or planing
    • Y10T409/30Milling
    • Y10T409/30868Work support
    • Y10T409/308792Indexable
    • Y10T409/308848Indexable including dividing head
    • Y10T409/308904Multiple row dividing head
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T409/00Gear cutting, milling, or planing
    • Y10T409/30Milling
    • Y10T409/30868Work support
    • Y10T409/309016Work support with work holder or guide
    • Y10T409/309072Work support with work holder or guide including cutter limited to rotary motion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T409/00Gear cutting, milling, or planing
    • Y10T409/30Milling
    • Y10T409/30868Work support
    • Y10T409/309128Work support with means to adjust work support vertically
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T409/00Gear cutting, milling, or planing
    • Y10T409/30Milling
    • Y10T409/309352Cutter spindle or spindle support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T409/00Gear cutting, milling, or planing
    • Y10T409/30Milling
    • Y10T409/309352Cutter spindle or spindle support
    • Y10T409/309408Cutter spindle or spindle support with cutter holder

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

著作権表示
この特許文献の開示の一部は著作権保護の対象となる内容を含む。著作権者は、特許商標庁の特許ファイルまたは記録に現れた際には特許文献または特許開示のいずれによるファクシミリ再現に対しても異議を申立てないが、それ以外のすべてのいかなる著作権も留保する。
発明の分野:
本発明は、一般に、コンピュータシステムおよびミドルウェアなどのソフトウェアに関し、特にクラスタ化されたデータベースとの接続を管理するためのシステムに関する。
背景:
オラクル・ウェブロジック・サーバなどのアプリケーションサーバの状況の中では、ユーザは、データソースを構築することによってアプリケーションサーバ内のデータベース接続性を構築できる。アプリケーションサーバ上のアプリケーションは、標準的なジャバ・ネーミングおよびディレクトリ・インターフェース(Java(登録商標) Naming and Directory Interface)(JNDI)などのディレクトリサービスを用いて特定のデータソ
ースを参照し、その後、データベース接続を要求することができる。接続を終えると、アプリケーションはアプリケーションサーバを介してデータベース接続を切断することができる。アプリケーションサーバ管理者もソフトウェア開発者/プログラマもデータソースを作成できる。概して、本発明の実施例が取り組もうとしているのは、これらの分野である。
概要:
実施例に従って、アプリケーションサーバとクラスタ化されたデータベースとを接続するためのデータソースの使用をサポートするためのシステムおよび方法を提供する。当該クラスタ化されたデータベースは、複数のデータベースインスタンスを含み、通知サービス構成要素に関連付けられる。当該通知サービス構成要素は、当該複数のデータベースインスタンスの状態変化を表わす通知を一斉送信するように当該クラスタ化されたデータベースによって用いられることができる。当該データソースは、当該クラスタ化されたデータベース内の当該複数のデータベースインスタンスとの接続の組を管理する接続プールを含む。当該データソースは、当該クラスタ化されたデータベースの変化についての通知を受取るように当該通知サービス構成要素に登録するように動作し、当該アプリケーションサーバは、ランタイム時の当該クラスタ化されたデータベースの状態変化に従って、当該クラスタ化されたデータベースとの接続を適応的に構築して管理するように動作する。
本発明の1つの局面に従って、アプリケーションサーバとデータベースシステムとの接続をサポートするためのデータベースシステムであって、当該データベースシステムはクラスタ化されたデータベースであり、当該データベースシステムは、複数のデータベースインスタンスと、当該複数のデータベースインスタンスに関連付けられた通知サービス構成要素とを備え、当該通知サービス構成要素は、当該クラスタ化されたデータベースの状態変化を表わす通知を一斉送信するように当該クラスタ化されたデータベースによって用いられ、当該通知サービス構成要素は、当該クラスタ化されたデータベースの変化につい
ての通知を受取り、ランタイム時の当該クラスタ化されたデータベースの状態変化に従って、当該クラスタ化されたデータベースとの接続を適応的に構築して管理するために、当該アプリケーションサーバに関連付けられたデータソースから当該データベースによる登録を受取る、データベースシステムを提供する。
好ましくは、当該クラスタ化されたデータベースの状態変化は、1つ以上のデータベースインスタンスが予定外の機能停止によって停止または除外されたこと、およびデータベースインスタンスが機能停止後に追加または再起動されること、のうちの1つを含む。
本発明の別の局面に従って、アプリケーションサーバとクラスタ化されたデータベースとの接続をサポートするためのアプリケーションサーバであって、当該クラスタ化されたデータベース内の複数のデータベースインスタンスとの接続の組を管理する接続プールと、当該接続プールに関連付けられた単一のデータソースとを備え、当該データソースは、当該クラスタ化されたデータベースの変化についての通知を受取るように当該クラスタ化されたデータベースの通知サービス構成要素に登録するように動作し、当該アプリケーションサーバは、ランタイム時の当該クラスタ化されたデータベースの状態変化に従って、当該クラスタ化されたデータベースとの接続を適応的に構築して管理するように動作する、アプリケーションサーバを提供する。
好ましくは、当該データソースは、データベース高速接続フェイルオーバ機能を準備し、データベースインスタンスとの当該接続の各々が有効であることを確実にするようにデータベースサービスイベントに応答する。
好ましくは、当該データソースは、メトリクスを用いて、当該アプリケーションサーバが行なう動作をモニタリングするように動作する。
好ましくは、当該データソースは、当該クラスタ化されたデータベース内の当該複数のデータベースインスタンスとの当該接続の組を当該通知サービス構成要素の代替物としてポーリングするように動作する。
好ましくは、当該データソースは、ロードバランシングアドバイザリイベントを含む当該通知サービス構成要素から通知を受取るように動作する。
好ましくは、グローバルトランザクションの状況の中のすべてのデータベース動作が同一のデータベースインスタンスに向けられることを確実にする。
好ましくは、当該データソースは、当該クラスタ化されたデータベース内のターゲットデータベースインスタンスのグレースフルシャットダウン動作をサポートする。
好ましくは、当該データソースは、1つ以上の物理的な接続を閉じて再作成する前にいかなる進行中のトランザクションも完了させることができる。
好ましくは、当該データソースは、新たな接続要求が当該クラスタ化されたデータベース内の当該ターゲットデータベースインスタンスに送られないようにアイドル状態の接続を一掃する。
実施例に従った、アプリケーションサーバとクラスタ化されたデータベースとを接続するためのマルチデータソースシステムの図である。 実施例に従った、アプリケーションサーバとクラスタ化されたデータベースとを接続するためのグリッドリンク(Gridlink)データソースシステムの図である。 実施例に従った、アプリケーションサーバとクラスタ化されたデータベースによって提供される異なるサービスとを接続するためのグリッドリンクデータソースシステムの図である。 実施例に従った、アプリケーションサーバとクラスタ化されたデータベースとを接続するためにグリッドリンクデータソースを用いるための例示的なフローチャートである。 実施例に従った、データベースロードバランシングアドバイザリイベントをサポートするグリッドリンクデータソースシステムの図である。 実施例に従った、クラスタ化されたデータベース内のデータベース状態変化イベントをサポートするグリッドリンクデータソースシステムの図である。 実施例に従った、分散トランザクション(XA)をサポートするグリッドリンクデータソースシステムの図である。 実施例に従った、データベースグレースフルシャットダウンをサポートするグリッドリンクデータソースシステムの図である。 実施例に従った、データベース接続モジュールを用いたグリッドリンクデータソースシステムの図である。 実施例に従った、グリッドリンクデータソースに関連付けられた複数のリスナを構築するためのウィザードページの図である。 実施例に従った、グリッドリンクデータソースに関連付けられた通知サービスクライアントを構築するためのウィザードページの図である。
詳細な説明:
本発明は、限定目的ではなく例示目的として添付図面の図に示され、添付図面の図においては、同様の参照番号は同様の要素を指す。なお、本開示の中で「ある(an)」または「1つの(one)」または「いくつかの(some)」実施例に言及したとしても、必ずし
も同一の実施例であるとは限らず、このような言及は少なくとも1つであることを意味する。
さらに、本明細書において行なわれる本発明のさまざまな実施例の説明は、クラスタ化されたデータベース環境の例示的な例としてオラクル・リアル・アプリケーション・クラスタ(Oracle Real Application Clusters)(RAC)データベースシステムを用いる。他の種類のクラスタ化されたデータベース環境を制限なく用いることができる、ということは当業者に明らかであろう。
クラスタ化されたデータベースまたはデータベースクラスタは、まるでエンドユーザおよびアプリケーションに対する1つのサーバであるかのように見える複数の相互接続されたコンピュータまたはサーバを備え得る。データベースとインスタンスとの間に1対1の関係がある単一インスタンスデータベースとは異なり、クラスタ化されたデータベースは、データベースとインスタンスとの間に1対多の関係がある。例えば、オラクルRACデータベースシステムは、複数のサーバを結び付けて単一のシステムとして動作するようにオラクル・クラスタウェア・インフラストラクチャを用いて、ユーザがオラクルデータベースをクラスタ化することを可能にする。オラクルRACデータベースシステムは、多数のインスタンスを有することができ、それらはすべて1つのデータベースにアクセスする。複数のサーバの処理能力を集約することにより、単一のサーバで得られるスループットおよびスケーラビリティよりも大きなスループットおよびスケーラビリティを提供できる。
図1は、実施例に従った、アプリケーションサーバとクラスタ化されたデータベースと
を接続するためのマルチデータソースシステムの図である。図1に示されるように、マルチデータソース103は、1つ以上の個々のデータソース131、132および133にわたるデータソースの抽象的概念である。マルチデータソースは、ロードバランシング手法およびフェイルオーバ手法などの特定の手法に従って、メンバデータソースの各々からジャバデータベース接続性(Java DataBase Connectivity)(JDBC)接続121、122および123を提供する。また、マルチデータソースコンフィギュレーションでは、各メンバデータソースが特定のデータベースインスタンスとの接続を得る必要がある。
グリッドリンクデータソース
実施例に従って、アプリケーションサーバとクラスタ化されたデータベースとを接続するための、本明細書では「グリッドリンクデータソース」と称されるデータソースの使用をサポートするためのシステムおよび方法を提供する。クラスタ化されたデータベースは、複数のデータベースインスタンスを含み、通知サービス構成要素に関連付けられる。通知サービス構成要素は、複数のデータベースインスタンスの状態変化を表わす通知を一斉送信するように、クラスタ化されたデータベースによって用いられることができる。データソースは、クラスタ化されたデータベース内の複数のデータベースインスタンスとの接続の組を管理する接続プールを含む。データソースは、クラスタ化されたデータベースの変化についての通知を受取るように通知サービス構成要素に登録するように動作し、アプリケーションサーバは、ランタイム時のクラスタ化されたデータベースの状態変化に従って、クラスタ化されたデータベースとの接続を適応的に構築して管理するように動作する。
実施例によれば、グリッドリンクデータソースは、データベースクラスタをターゲットとしたサービスである単一データソースコンフィギュレーションを用いることができる。グリッドリンクデータソースは、高速接続フェイルオーバ、ランタイム接続ロードバランシングおよびデータベースインスタンスグレースフルシャットダウンを提供するように通知イベントに応答することができる。さらに、グローバルトランザクションIdレベルで分散トランザクション(XA)アフィニティをサポートすることができる。
例えば、オラクルRACデータベースシステムは、データベースクラスタの状態についての情報を広めるようにクライアント通知をサポートすることができる。JDBCデータソースコンフィギュレーションは、サービスURLの仕様を考慮に入れて、RAC接続性を提供する。JDBCデータソースコンフィギュレーションは、RACクラスタとのJDBC接続の統計情報および管理容易性を提供するモニタリングサポートも含む。
実施例によれば、グリッドリンクデータソースは、データベースクラスタ通知の機能を活用することによってマルチデータソース解決策の欠点に対処し、その結果、より簡素なコンフィギュレーションで全体的な接続性がよりよくなり、データベースノード障害に対する応答がより素早くなり、データベースクラスタリソースがよりよく利用され、ランタイムモニタリングおよび管理が向上する。さらに、グリッドリンクデータソースおよびマルチデータソースの混成コンフィギュレーションをサポートすることができる。
図2は、実施例に従った、アプリケーションサーバとクラスタ化されたデータベースとを接続するためのグリッドリンクデータソースシステムの図である。図2に示されるように、グリッドリンクデータソース203は、アプリケーションサーバ201に関連付けられた単一のデータソースである。グリッドリンクデータソースは、単一データソースアプローチを通じてアプリケーションサーバによるクラスタ化されたデータベース202の使用を簡素化し、これは、クラスタ化されたデータベースの使用に必要なコンフィギュレーションおよび管理の複雑さを軽減する。グリッドリンクデータソースは、データベースクラスタ内の異なるデータベースインスタンス211、212および213との異種の接続
221、222および223の組を含む接続プール205を含む。また、図2に示されるように、これらの異なるデータベースインスタンスは共用記憶装置204に接続される。
実施例によれば、接続プール内の接続の管理は、最小/最大容量、タイムアウトなどの接続プール上に構築された静的な設定214、および、データベースクラスタ内のいかなる状態変化についてもデータソースにアドバイスする通知サービス構成要素206から受取ったイベントメッセージ210における接続プールについてのリアルタイムの情報に基づく。アプリケーション207、208または209がデータソースに接続を要求すると、好適な接続が接続プールから選択され、接続プールが受取ったロードバランシング情報および使用中の接続の現在の分布に基づいてプールからアプリケーションに供給される。
アプリケーションサーバは、データベースイベントメッセージなどの通知を受取るように通知サービス構成要素に登録することができ、そのため、クラスタ化されたデータベース内のいかなる状態変化にもすぐに気付くことができる。これらの状態変化通知イベントを用いて、アプリケーションサーバは、システムが連続的、確実かつ効率的にクラスタ化されたデータベースにアクセスできるようにその接続プールを知的に適合させることができる。
実施例によれば、接続ポーリングは、通知サービスが構築されない時または通知サービスが正しく機能していない時に通知サービスの代替物として適用されることができる。接続ポーリングが用いられると、当該システムは、個々の接続に対してSQL動作を行なうことによって、個々のJDBC接続の実行可能性を判断して、クラスタ化されたクラスタのトポロジの変化を検出することができる。
通知サービスアプローチと比較して、接続ポーリングアプローチは、さらに他のランタイムオーバーヘッドを犠牲にして成り立つものであり、恐らくはデータベースインスタンスノード障害の検出を遅延させる。また、接続ポーリングアプローチは誤検出の可能性があり、その結果、データソースプールが不必要に無効になり、アプリケーションによって使用中であり得る有効な接続を終了させてしまう恐れがある。
図3は、実施例に従った、アプリケーションサーバとクラスタ化されたデータベースによって提供される異なるサービスとを接続するためのグリッドリンクデータソースシステムの図である。図3に示されるように、クラスタ化されたデータベース302は、異なるサービス311、312および313を提供することができ、それらのサービスの各々は、特定のサービス品質を提供するように異なるデータベースインスタンスにわたって割当て可能なデータベース作業負荷の抽象的概念であり得る。
また、図3に示されるように、アプリケーションサーバ環境301は、複数のアプリケーションサーバインスタンス303および304を含み得る。各アプリケーションサーバインスタンスは、単一の接続プール307および308を有する単一のデータソース305および306を含み得る。グリッドリンクデータソースシステムは、クラスタ化されたデータベースとより深く統合させるために、クラスタ化されたデータベースとの接続321、322、323、324および325を提供して、制限のない態様でデータベースサービスの消費をサポートする。
例えば、オラクルデータベースサービスは、オラクルデータベース内の作業負荷を管理するための論理的な抽象的概念であり得る。データベースサービスは、作業負荷に対する単一のシステムイメージ、作業負荷の優先順位付け、実際のトランザクションに対する性能評価尺度、ならびに性能目標に違反した時の警告および動作を提供することができる。データベースサービスにより、データベース管理者は、作業負荷を構築し、作業負荷を管
理し、作業負荷を有効/無効にし、作業負荷を単一の要素として測定することができる。データベースサービスはさらに、作業負荷を論理的に互いに素なグループに分けることができる。各サービスは、共通の属性、サービスレベル閾値および優先度で作業負荷を表わす。
図4は、実施例に従った、アプリケーションサーバとクラスタ化されたデータベースとを接続するためにグリッドリンクデータソースを用いるための例示的なフローチャートである。図4に示されるように、ステップ401において、通知サービス構成要素と、クラスタ化されたデータベース内の複数のデータベースインスタンスとを関連付けることができる。また、ステップ402において、データソースと、クラスタ化されたデータベース内の複数のデータベースインスタンスとの接続の組を含む接続プールとを関連付けることができる。ステップ403において、データソースは、クラスタ化されたデータベースの変化についての通知を受取るように通知サービス構成要素に登録することができる。ステップ404において、データソースは、ランタイム時のクラスタ化されたデータベースの状態変化を表わす通知を通知サービスから受取る。次いで、ステップ405において、データソースは、クラスタ化されたデータベースの状態変化に従って、クラスタ化されたデータベースとの接続を適応的に構築して管理する。
実施例によれば、グリッドリンクデータソースのコンフィギュレーションは、残り続けるJDBC記述子ビーン(JDBC descriptor beans)を活用することができる。JDBC
記述子ビーンは、グリッドリンクデータソースを識別して、データベース通知サービスクライアントコンフィギュレーション情報を特定できる。JDBC記述子ビーンは、XMLファイルを用いて、グリッドリンクデータソース機能を有効にすることができる。以下は、オラクルRACデータベースシステムに接続されるグリッドリンクデータソースを構築するための例示的なXMLファイルである。
ロードバランシングアドバイザリイベント
実施例によれば、クラスタ化されたデータベースは、スループットをよりよくしてリソースがより効率的に用いられるようにするために、データベース管理者(database administrator)(DBA)が設定した性能目標に基づいてデータベースインスタンス中に接続を分散させるようにランタイムロードバランシングサービスを提供することができる。ロードバランシングアドバイザリサービスは、接続をどこに向けるかについてのアドバイスを含むクラスタの現在の状態についてクライアントにアドバイスするイベントを発行する。
図5は、実施例に従った、データベースロードバランシングアドバイザリイベントをサポートするグリッドリンクデータソースシステムの図である。図5に示されるように、アプリケーションサーバ501は、クラスタ化されたデータベース502が発行したロードバランシングアドバイザリイベントメッセージ510を受取って、それに従ってデータベースノードまたはインスタンス511、512および513とのデータベース接続521
、522および523を調整することができる。当該システムは、ランタイム時にデータソースに対してロードバランシングコンフィギュレーションオプションを実行することができ、データベースから受取ったロードバランシングアドバイザリメッセージに基づいてアプリケーションサーバはデータベース接続を送ることができる。そのため、データベース接続は特定のデータベースノードに向けられて、データベース管理者が設定した性能目標を満たす。
ランタイムロードバランシングアドバイザリサービス構成要素506と単一のデータソース503とを併用することにより、初期コンフィギュレーションおよびデータソースの継続的なメンテナンスを簡素化できる。グリッドリンクデータソースシステムを用いると、データベースがロードバランシング動作を指示するので、アプリケーションサーバがロードバランシングをサポートするのにデータベーストポロジ情報は不要である。グリッドリンクデータソースシステムは、中間層を正しく構成するために必要な情報量を減らすことによってデータソースの初期の構築を助ける。さらに、データベース層は時間とともに変化する可能性があり、サービスは新たなまたは異なるデータベースインスタンスに配置し直される可能性があるので、グリッドリンクデータソースシステムは、変化したデータベーストポロジを反映させるためにコンフィギュレーションの変化を必要としない。
例えば、図5に示されるように、アプリケーションサーバで受取られたロードバランシングアドバイザリイベントメッセージが、データベースインスタンスAがビジー状態でありデータベースインスタンスCがアイドル状態であることを示す場合、グリッドリンクデータソースシステムは、データベースインスタンスCに新たな接続を割当てることによって接続プール内の接続を再調整して、DBAが設定したロードバランシングターゲットを達成し、負荷をよりよく分散させてスループットを高くすることができる。
実施例によれば、ロードバランシング情報に基づいて接続プール内の接続を再調整することに加えて、利用可能なアイドル状態の接続がある場合には、ロードバランシング割合/重みに従って既存の接続をアプリケーション構成要素に与えることができる。
データベース状態変化イベント
図6は、実施例に従った、データベース状態変化イベントをサポートするグリッドリンクデータソースシステムの図である。図6に示されるように、アプリケーションサーバ601は、通知サービス構成要素606が発行したデータベース状態変化イベントメッセージ610をクラスタ化されたデータベース602から受取ることができる。データベース状態変化イベントは、データベースインスタンスの予期せぬ機能停止または新たなデータベースインスタンスの追加を含み得る。
実施例によれば、グリッドリンクデータソースシステムにより、アプリケーションサーバは、予定外の機能停止によって停止または除外されたデータベースインスタンスとの接続を直ちに撤回する、閉じるおよび廃棄することによって、機能停止への対処などのデータベースクラスタの状態変化に適応的に応答することができる。図6に示されるように、アプリケーションサーバで受取られたデータベース状態変化イベントメッセージは、データベースインスタンスB 612の機能停止を示し得る。それに対応して、グリッドリンクデータソース603は、データベース接続622を切断するように接続プール605に指示することができ、その結果、グリッドリンクデータソースに関連付けられたアプリケーション607、608または609は、データベースインスタンスA 611またはデータベースインスタンスC 613などの別のデータベースインスタンスを介してデータベースに再接続することができ、データベースサービスにおける中断を回避する。
上記の例に示されるように、データベース状態変化イベントを用いると、グリッドリン
クデータソースシステムは、接続が有効であること、または、残存しているノードとの未関与の接続に影響を及ぼしていることを確実にするために接続を定期的にポーリングする必要がない。これにより、接続試験への依存を小さくすることができ、アプリケーションに無効な接続が与えられずにアプリケーションサーバに情報が与えられることが確実になり、不必要な遅延なしに、データベースノード障害のために無効になる接続からアプリケーションをすぐに解放する。
予期せぬデータベース機能停止への対処に加えて、グリッドリンクデータソースにより、アプリケーションサーバは、機能停止後に新たなデータベースインスタンスが追加または再起動されるシナリオをサポートするようにその接続の組を事前対応的に再配分することができる。これにより、アプリケーションサーバは、クラスタ化されたデータベース内のリソースを十分に利用できる。さらに、データベースサービスモデルを用いると、当該システムにより、データベース管理者はデータベースサービス/インスタンスの割当てを変更でき、これらの割当ては、次いで、接続プールコンフィギュレーションに対してコンフィギュレーション変更を行なう必要なく、影響を受けたアプリケーションサーバ接続プールを介して途切れなく適用される。また、クラスタ化されたデータベースの専用のインスタンスを表わすために複数のデータソースの複雑な配置を作成する必要がなくなる。
さらに、データベース状態変化イベントを用いると、グリッドリンクデータソースは、高速接続フェイルオーバ機能を提供することができ、{UP,DOWN}イベントなどのクラスタ化されたデータベースサービスおよびノードイベントに応答して、プール内の予備の物理的な接続が有効なデータベースノードを常に指し示していることを確実にする。さらに、グリッドリンクデータソースは、予備の物理的な接続が利用可能なデータベースノード中に確実に十分に分散されるようにする。高速接続フェイルオーバ挙動は、データソースについてのコンフィギュレーション設定として有効にされ得る。データベース通知イベントを受取った時にアプリケーションサーバがそのデータソースに対してどのような動作を行なったかを管理者がモニタリングして検討することができるように、メトリクスを利用できる。
分散トランザクション(XA)アフィニティ
実施例によれば、グローバルトランザクションの状況の中でデータベースクラスタに対して行なわれるすべてのデータベース動作が同一のデータベースインスタンスに確実に向けられるようにするために、分散トランザクション(XA)アフィニティが用いられる。アフィニティは、個々のデータソースの代わりにグローバルトランザクションidに基づいて確立でき、同一のデータベースクラスタのために構築される異なるデータソースから得られた接続がすべて同一のデータベースインスタンスに確実に関連付けられるようにする。二相コミット最適化がグリッドリンクデータソースによってサポートされることができ、XAアフィニティにも関与することができる。
図7は、実施例に従った、分散トランザクション(XA)をサポートするグリッドリンクデータソースシステムの図である。図7に示されるように、グリッドリンクデータソースを用いたアプリケーションサーバ環境701は、クラスタ化されたデータベース702に対して行なわれるグローバルトランザクションのためのすべてのデータベース動作が同一のデータベースインスタンス711に確実に向けられるようにすることによって、グローバルトランザクションをサポートすることができる。一実施例では、XAトランザクションの第1の接続要求721がロードバランスされて、アフィニティコンテキスト720を割当てられる。後続の接続要求722、723および724はすべて、この第1の接続のアフィニティコンテキストを用いて、同一のデータベースインスタンスに送られる。
計画的なデータベースグレースフルシャットダウン
実施例によれば、データベースノード/サービスがシャットダウン動作をターゲットとしており、シャットダウンを表わすデータベースイベントの対応する発行が要求された場合に、計画的なグレースフルシャットダウンが行なわれる。図8は、実施例に従った、データベースグレースフルシャットダウンをサポートするグリッドリンクデータソースシステムの図である。図8に示されるように、アプリケーションサーバ801は、通知サービス構成要素806が発行したデータベースシャットダウンイベントメッセージ810をクラスタ化されたデータベース802から受取ることができる。そして、データベースシャットダウンイベントメッセージは、データベースインスタンスA 811がシャットダウンされる予定であることを表わす。
データベースの計画的なグレースフルシャットダウンをサポートするために、アプリケーションサーバは、データベースシャットダウンターゲットがもはや新たな接続を受付けていないことを検出した場合に使用中の接続821を直ちに停止させなくてもよい。その代わりに、グリッドリンクデータソース803は、アクティブなシャットダウンモードにおいて新たな接続要求がデータベースターゲットに送られないようにアイドル状態の接続を一掃しながら、物理的な接続を閉じて再作成する前にいかなる進行中のトランザクションも完了させることができる。
データソースは、データベースシャットダウンターゲットに接続されたアクティブな接続を検出し、関連付けられたトランザクションが完了して接続が接続プール805に戻された時にそれらの接続が閉じられて再作成されるようにそれらの接続をマークすることができる。いかなる進行中のトランザクションも完了させることができるようにするために、シャットダウンイベントを受取った時または未許可の接続要求を検出した時に直ちに例外を作成しなくてもよい。さらに、データベースシャットダウンターゲットに接続されたプール内のいかなるアイドル状態の接続もプリエンプティブに閉じることができる。また、当該システムにより、データソースはデータベースシャットダウンターゲットの周りに新たな要求を送ることができ、進行中のトランザクションの完了を実現し、データベースシャットダウン動作を実行中のアプリケーションに対して透過的にすることができる。
ユニバーサル接続プール(Universal Connection Pool)(UCP)ライブラリ
実施例によれば、アプリケーションサーバとクラスタ化されたデータベースとを接続するために、ユニバーサル接続プール(UCP)ライブラリなどのデータベース接続モジュールを用いることができる。UCPライブラリは、データベースサーバが論理的にはJDBCドライバの延長線上にあるという観点から、クライアント側のライブラリである。データベース接続モジュールは、一般的なJDBC接続プーリングの実現例の提供に加えて、クラスタ化されたデータベースのための高い利用可能性および性能機能をサポートすることができる。
図9は、実施例に従った、データベース接続モジュールを用いたグリッドリンクデータソースシステムの図である。アプリケーションサーバ901は、グリッドリンクデータソース903を介してクラスタ化されたデータベース902と接続するためにUCPライブラリ910のクラスタデータベース統合サポートを活用できる。
実施例によれば、UCPライブラリが提供するJDBC接続プーリング特性を用いる必要なく、グリッドリンクデータソースは、データベースクラスタに接続でき、高速接続フェイルオーバ、ランタイム接続ロードバランシングおよびXA接続アフィニティなどの、UCPライブラリによってサポートされる他の機能を利用できる。
実施例によれば、接続モジュールは、ジャバ・バーチャル・マシン(Java Virtual machines)(JVMs)などのリソースをよりよく利用して管理できるように、アプリケー
ションサーバタイマおよびワークマネージャを利用できる。さらに、APIにより、アプリケーションサーバは、クラスタ化データベースアドバイザリを得て、データベースインスタンス中に接続をより効率的に割当てて、データベースクラスタトポロジの変化によりよく応答することができる。例えば、UCPのRAC機能はリファクタリングされ、RACモジュールAPIの形態でアプリケーションサーバに晒され得る。このAPIは、RACクラスタトポロジの変化、ランタイム接続ロードバランシングについてのアドバイザリおよび接続アフィニティに応答して、コールバック通知を提供することができる。また、APIは、ロギングおよび他の診断目的でアプリケーションサーバが使用可能な通知イベントコールバックも提供する。APIは、RACデータソースランタイムモニタリングに用いられることができるRACクラスタノードについての統計数値および状態情報を表面化し得る。
実施例によれば、UCPは、接続プーリングおよびデータベース統合特性を提供するスタンドアロンのジャバライブラリとして設計できる。したがって、UCPライブラリは、それ自体のスレッドおよびタイマを管理できる。UCPは、アプリケーションサーバプロセス内でUCP APIにアクセスした時にUCPの内部使用を目的としてアプリケーションサーバがアプリケーションサーバタイマおよびワークマネージャのインスタンスに接続できるようにするタイマおよびワークマネージャSPIを提供することができる。これにより、UCPライブラリが使用するスレッドおよびタイマの制御およびランタイム可視性を高めることができる。さらに、同一のおよび別個のアプリケーションサーバインスタンス上で異なるデータソースにアクセスした時でさえグローバルトランザクションIdに基づいて接続を割当てるように、UCPが提供するアフィニティ機能を活用できる。
データソース作成ウィザード
実施例によれば、データソース作成ウィザードは、オラクルRACデータベースなどのクラスタ化されたデータベースと接続するように構築されたグリッドリンクデータソースの作成をサポートすることができる。グリッドリンクデータソースの作成は、データベースサービスに接続するために必要なデータベースリスナアドレス情報および通知サービスクライアントコンフィギュレーション情報をセットアップすることを含む。
例えば、オラクルRACデータベースと接続するために、データソース作成ウィザードは、接続ターゲットを特定する2つの方法を提供することができる。第1のアプローチでは、データソースについての異なるリスナを特定するために、以下のように示されるconnect_記述子をJDBC URLフォーマットの中で用いる。
第2のアプローチは、ウィザードによって駆動されるアプローチであり、各々のリスナ入力を個々に特定でき、そこから最終的なJDBC URLを最終的に構築できる。ウィザードによって駆動されるアプローチにより、ユーザは、グリッドリンクデータソースを作成して更新するための複数のリスナおよび通知サービスクライアントを特定して試験することができる。
図10は、実施例に従った、グリッドリンクデータソースに関連付けられた複数のリス
ナを構築するためのウィザードページ1000の図である。図10に示されるように、グリッドリンクデータソースは、「Inrac」という名前でデータベースサービスに接続することができる。このグリッドリンクデータソースは、ホストおよびポートタプル:leftp:1521、rightp:1521またはcenterp:1521をそれぞれ用いるように構築された3つのリスナに関連付けられる。接続が有効であることを確認して、特定のリスナに何か問題があればユーザに報告するために、各リスナは別個に試験されることができる。
図11は、実施例に従った、グリッドリンクデータソースに関連付けられた通知サービスクライアントを構築するためのウィザードページ1100の図である。図11に示されるように、グリッドリンクデータソースは、ホストおよびポートタプル:leftp:1526を用いるように構築された通知サービスクライアントにさらに関連付けられる。通知サービスクライアントも別個に試験されることができる。さらに、グリッドリンクデータソースは、必要であればさらなる通知サービスクライアントに関連付けられることができる。
本発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または専用デジタルコンピュータ、演算処理装置、マシン、またはマイクロプロセッサを用いて、便利に実現されてもよい。ソフトウェア分野における当業者にとって明らかとなるであろうように、適宜なソフトウェアコーディングは、熟練したプラグラマーによって本開示の教示に基づいて容易に準備され得る。
実施例によっては、本発明は、本発明の処理のうち任意のものを行なうようコンピュータをプログラムするために用いることができる命令をその中/そこに記憶した記憶媒体ま
たはコンピュータ読取可能媒体(複数の媒体)であるコンピュータプログラム製品を含む。記憶媒体には、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気もしくは光カード、ナノシステム(分子記憶ICを含む)を含む任意の種類のディスク、または、命令および/もしくはデータを記憶するのに好適な任意の種類の媒体もしくは装置が含まれ得るが、これらに限定されない。
本発明の上述の説明は、例示および説明を目的としてなされた。網羅的であることまたは本発明を開示されたまさにその通りの形態に限定することを意図するものではない。多くの修正例および変形例が当業者にとって明らかであるだろう。実施例は、本発明の原理およびその実際の用途を最もよく説明することによって、他の当業者が本発明をさまざまな実施例について、企図される特定の用途に好適なさまざまな修正例とともに理解することを可能にするために選択され、記載された。本発明の範囲は、以下の特許請求の範囲およびその等価物によって規定されることが意図される。

Claims (12)

  1. アプリケーションサーバとクラスタ化されたデータベースとの接続をサポートするためのシステムであって、
    1つ以上のマイクロプロセッサ上で動作するアプリケーションサーバと、
    異種の複数のデータプロバイダを有するクラスタ化されたデータベースと、
    前記クラスタ化されたデータベース上で動作する通知サービスとを備え、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を表わす通知を一斉送信するように前記クラスタ化されたデータベースによって用いられ、前記システムはさらに、
    前記アプリケーションサーバ上で動作する単一のデータソースを備え、前記単一のデータソースは、前記アプリケーションサーバと前記クラスタ化されたデータベースとを接続するように動作し、前記単一のデータソースは、前記クラスタ化されたデータベース内の前記異種の複数のデータプロバイダとの異種の接続の組を管理する接続プールを備え、前記異種の接続の組のうちの特定の接続は、前記異種の複数のデータプロバイダのうちの特定のデータプロバイダに接続するように構成され、
    前記単一のデータソースは、前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取るように前記クラスタ化されたデータベースの前記通知サービスに登録し、
    前記単一のデータソースは、前記クラスタ化されたデータベースにおける状態変化を表わす通知を、前記クラスタ化されたデータベースの前記通知サービスから受取り、
    前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取ったことに応答して、前記単一のデータソースは、ランタイム時の前記クラスタ化されたデータベースの前記状態変化に従って、前記アプリケーションサーバと前記クラスタ化されたデータベース内の前記異種の複数のデータプロバイダとの間の前記異種の接続の組を適応的に管理するように前記接続プールを構成する、システム。
  2. 前記クラスタ化されたデータベースの前記状態変化は、
    1つ以上のデータプロバイダが予定外の機能停止によって停止または除外されたこと、および
    データプロバイダが機能停止後に追加または再起動されること、のうちの1つを含む、請求項1に記載のシステム。
  3. 前記単一のデータソースは、データベース高速接続フェイルオーバ機能を準備し、前記異種の接続の組の各接続が有効であることを確実にするようにデータベースサービスイベントに応答する、請求項1または2に記載のシステム。
  4. 前記単一のデータソースは、メトリクスを用いて、前記アプリケーションサーバが行なう動作をモニタリングするように動作する、請求項1〜3のいずれか1項に記載のシステム。
  5. 前記単一のデータソースは、前記クラスタ化されたデータベース内の前記異種の複数のデータプロバイダとの前記異種の接続の組を前記通知サービスの代替物としてポーリングするように動作する、請求項1〜4のいずれか1項に記載のシステム。
  6. 前記単一のデータソースは、ロードバランシングアドバイザリイベントを含む前記通知サービスから通知を受取るように動作する、請求項1〜5のいずれか1項に記載のシステム。
  7. 前記単一のデータソースは、グローバルトランザクションの状況の中のすべてのデータベース動作が同一のデータベースインスタンスに向けられることを確実にする、請求項1〜6のいずれか1項に記載のシステム。
  8. 前記単一のデータソースは、前記クラスタ化されたデータベース内のターゲットデータベースインスタンスの計画的なシャットダウン動作をサポートする、請求項1〜7のいずれか1項に記載のシステム。
  9. 前記単一のデータソースは、1つ以上の物理的な接続を閉じて再作成する前にいかなる進行中のトランザクションも完了させることができる、請求項8に記載のシステム。
  10. 前記単一のデータソースは、新たな接続要求が前記クラスタ化されたデータベース内の前記ターゲットデータベースインスタンスに送られないようにアイドル状態の接続を一掃する、請求項8に記載のシステム。
  11. アプリケーションサーバと異種の複数のデータプロバイダを有するクラスタ化されたデータベースとの接続をサポートするための方法であって、
    1つ以上のマイクロプロセッサ上で動作するアプリケーションサーバを準備するステップと、
    クラスタ化されたデータベース上で動作する通知サービスを準備するステップとを備え、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を表わす通知を一斉送信するように前記クラスタ化されたデータベースによって用いられ、前記方法はさらに、
    前記アプリケーションサーバ上で単一のデータソースを準備するステップを備え、前記単一のデータソースは、前記アプリケーションサーバと前記クラスタ化されたデータベースとを接続するように動作し、前記単一のデータソースは、前記クラスタ化されたデータベース内の前記異種の複数のデータプロバイダとの異種の接続の組を管理する接続プールを備え、前記異種の接続の組のうちの特定の接続は、前記異種の複数のデータプロバイダのうちの特定のデータプロバイダに接続するように構成され、前記方法はさらに、
    前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取るように前記単一のデータソースを前記クラスタ化されたデータベースの前記通知サービスに登録するステップと、
    前記クラスタ化されたデータベースにおける状態変化を表わす通知を、前記クラスタ化されたデータベースの前記通知サービスから前記単一のデータソースで受取るステップとを備え、
    前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取ったことに応答して、前記単一のデータソースは、ランタイム時の前記クラスタ化されたデータベースの前記状態変化に従って、前記アプリケーションサーバと前記クラスタ化されたデータベースの前記異種の複数のデータプロバイダとの間の前記異種の接続の組を適応的に管理するように前記接続プールを構成する、方法。
  12. アプリケーションサーバと異種の複数のデータプロバイダを有するクラスタ化されたデータベースとの接続をサポートするための命令を含むコンピュータ読取可能なプログラムであって、前記命令は、実行されたときに、コンピュータシステムにステップを実行させ、前記ステップは、
    1つ以上のマイクロプロセッサ上で動作するアプリケーションサーバを準備するステップと、
    クラスタ化されたデータベース上で動作する通知サービスを準備するステップとを備え、前記通知サービスは、前記クラスタ化されたデータベースにおける状態変化を表わす通知を一斉送信するように前記クラスタ化されたデータベースによって用いられ、前記ステップはさらに、
    前記アプリケーションサーバ上で単一のデータソースを準備するステップを備え、前記単一のデータソースは、前記アプリケーションサーバと前記クラスタ化されたデータベースとを接続するように動作し、前記単一のデータソースは、前記クラスタ化されたデータベース内の前記異種の複数のデータプロバイダとの異種の接続の組を管理する接続プールを備え、前記異種の接続の組のうちの特定の接続は、前記異種の複数のデータプロバイダのうちの特定のデータプロバイダに接続するように構成され、前記ステップはさらに、
    前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取るように前記単一のデータソースを前記クラスタ化されたデータベースの前記通知サービスに登録するステップと、
    前記クラスタ化されたデータベースにおける状態変化を表わす通知を、前記クラスタ化されたデータベースの前記通知サービスから前記単一のデータソースで受取るステップとを備え、
    前記クラスタ化されたデータベースにおける状態変化を表わす前記通知を受取ったことに応答して、前記単一のデータソースは、ランタイム時の前記クラスタ化されたデータベースの前記状態変化に従って、前記アプリケーションサーバと前記クラスタ化されたデータベースの前記異種の複数のデータプロバイダとの間の前記異種の接続の組を適応的に管理するように前記接続プールを構成する、コンピュータ読取可能なプログラム。
JP2016142298A 2010-09-15 2016-07-20 アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法 Active JP6195958B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US38328510P 2010-09-15 2010-09-15
US61/383,285 2010-09-15
US38422710P 2010-09-17 2010-09-17
US61/384,227 2010-09-17
US13/168,506 2011-06-24
US13/168,506 US9092460B2 (en) 2010-09-15 2011-06-24 System and method for using a gridlink data source to connect an application server with a clustered database

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013529274A Division JP2013541764A (ja) 2010-09-15 2011-09-13 アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2016181304A JP2016181304A (ja) 2016-10-13
JP6195958B2 true JP6195958B2 (ja) 2017-09-13

Family

ID=46933441

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013529274A Pending JP2013541764A (ja) 2010-09-15 2011-09-13 アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法
JP2016142298A Active JP6195958B2 (ja) 2010-09-15 2016-07-20 アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013529274A Pending JP2013541764A (ja) 2010-09-15 2011-09-13 アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法

Country Status (5)

Country Link
US (7) US8756329B2 (ja)
EP (1) EP2616966B1 (ja)
JP (2) JP2013541764A (ja)
CN (1) CN103124967B (ja)
WO (1) WO2012037163A1 (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327115B2 (en) 2006-04-12 2012-12-04 Soft Machines, Inc. Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode
EP2527972A3 (en) 2006-11-14 2014-08-06 Soft Machines, Inc. Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes
US8499298B2 (en) * 2010-01-28 2013-07-30 International Business Machines Corporation Multiprocessing transaction recovery manager
US9317844B2 (en) * 2010-03-02 2016-04-19 Shopkeep.Com, Inc. System and method for remote management of sale transaction data
US11030598B2 (en) 2010-03-02 2021-06-08 Lightspeed Commerce Usa Inc. System and method for remote management of sale transaction data
US10735304B2 (en) 2011-02-28 2020-08-04 Shopkeep Inc. System and method for remote management of sale transaction data
US10699261B2 (en) 2010-03-02 2020-06-30 Shopkeep Inc. System and method for remote management of sale transaction data
US9965755B2 (en) 2011-02-28 2018-05-08 Shopkeep.Com, Inc. System and method for remote management of sale transaction data
US9185054B2 (en) 2010-09-15 2015-11-10 Oracle International Corporation System and method for providing zero buffer copying in a middleware machine environment
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
KR101685247B1 (ko) 2010-09-17 2016-12-09 소프트 머신즈, 인크. 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측
EP2689326B1 (en) 2011-03-25 2022-11-16 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
CN108376097B (zh) 2011-03-25 2022-04-15 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
US9086909B2 (en) * 2011-05-17 2015-07-21 Oracle International Corporation System and method for supporting work sharing muxing in a cluster
TWI603198B (zh) 2011-05-20 2017-10-21 英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
WO2012162189A1 (en) 2011-05-20 2012-11-29 Soft Machines, Inc. An interconnect structure to support the execution of instruction sequences by a plurality of engines
US9110715B2 (en) 2013-02-28 2015-08-18 Oracle International Corporation System and method for using a sequencer in a concurrent priority queue
US8689237B2 (en) 2011-09-22 2014-04-01 Oracle International Corporation Multi-lane concurrent bag for facilitating inter-thread communication
US10095562B2 (en) 2013-02-28 2018-10-09 Oracle International Corporation System and method for transforming a queue from non-blocking to blocking
US9378045B2 (en) 2013-02-28 2016-06-28 Oracle International Corporation System and method for supporting cooperative concurrency in a middleware machine environment
US9606844B2 (en) * 2011-09-28 2017-03-28 Microsoft Technology Licensing, Llc Remotely-hosted interactive client-server session
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
EP2783280B1 (en) 2011-11-22 2019-09-11 Intel Corporation An accelerated code optimizer for a multiengine microprocessor
US20130339927A1 (en) * 2011-12-02 2013-12-19 Digium, Inc. Communications Platform Supporting Stateless Application Development
USD746851S1 (en) 2012-03-29 2016-01-05 Shopkeep.Com, Inc. Point of sale device display screen or portion thereof with graphical user interface
CN102695049B (zh) * 2012-05-09 2015-06-10 浙江宇视科技有限公司 码流发送方法和装置
US8965921B2 (en) * 2012-06-06 2015-02-24 Rackspace Us, Inc. Data management and indexing across a distributed database
CN102882864B (zh) * 2012-09-21 2015-10-28 南京斯坦德云科技股份有限公司 一种基于InfiniBand云计算网络的虚拟化系统
US9953317B2 (en) 2013-03-13 2018-04-24 Shopkeep.Com, Inc. Method and system for secure key rotation
EP2972845B1 (en) 2013-03-15 2021-07-07 Intel Corporation A method for executing multithreaded instructions grouped onto blocks
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
JP6256904B2 (ja) * 2013-04-18 2018-01-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理の要求を振り分ける装置及び方法
US9251178B2 (en) * 2013-04-26 2016-02-02 Oracle International Corporation System and method for connection labeling for use with connection pools
US9338193B2 (en) * 2013-05-31 2016-05-10 International Business Machines Corporation Remote procedure call with call-by-reference semantics using remote direct memory access
US9569472B2 (en) 2013-06-06 2017-02-14 Oracle International Corporation System and method for providing a second level connection cache for use with a database environment
US9747341B2 (en) 2013-06-06 2017-08-29 Oracle International Corporation System and method for providing a shareable global cache for use with a database environment
US9720970B2 (en) 2013-06-06 2017-08-01 Oracle International Corporation Efficient storage and retrieval of fragmented data using pseudo linear dynamic byte array
US9785687B2 (en) 2013-06-06 2017-10-10 Oracle International Corporation System and method for transparent multi key-value weighted attributed connection using uni-tag connection pools
US9600546B2 (en) 2013-06-06 2017-03-21 Oracle International Corporation System and method for marshaling massive database data from native layer to java using linear array
US10049022B2 (en) * 2013-06-24 2018-08-14 Oracle International Corporation Systems and methods to retain and reclaim resource locks and client states after server failures
US20150006478A1 (en) * 2013-06-28 2015-01-01 Silicon Graphics International Corp. Replicated database using one sided rdma
US9774652B2 (en) * 2013-12-13 2017-09-26 Sap Se Systems to provide database updates
CN104331406A (zh) * 2013-12-20 2015-02-04 乐视网信息技术(北京)股份有限公司 一种数据库容量控制方法及装置
EP3097481B1 (en) 2014-01-21 2022-11-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US9588830B2 (en) * 2014-03-20 2017-03-07 Genesys Telecommunications Laboratories, Inc. Local survivability in a distributed contact center environment
US9774739B2 (en) 2014-03-20 2017-09-26 Genesys Telecommunications Laboratories, Inc. Resource sharing in a peer-to-peer network of contact center nodes
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
CN105335378A (zh) * 2014-06-25 2016-02-17 富士通株式会社 多数据源的信息处理装置、服务器及方法
CN104092758B (zh) * 2014-07-14 2018-01-12 南京斯坦德云科技股份有限公司 一种分布式高速云存储服务器集群系统的读取方法
CN105373420B (zh) * 2014-08-28 2019-12-06 北京奇虎科技有限公司 数据传输方法及装置
WO2016040393A1 (en) * 2014-09-08 2016-03-17 Microsoft Technology Licensing, Llc Application transparent continuous availability using synchronous replication across data stores in a failover cluster
US9632887B2 (en) * 2014-09-19 2017-04-25 International Business Machines Corporation Automatic client side seamless failover
US9405530B2 (en) * 2014-09-24 2016-08-02 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
CN104503751B (zh) * 2014-12-16 2018-07-10 深圳中兴网信科技有限公司 基于soa的数据源切换方法和基于soa的数据源切换系统
CN104468274A (zh) * 2014-12-16 2015-03-25 深圳大学 一种集群监控管理方法及系统
CN104539713B (zh) * 2014-12-31 2018-10-09 北京奇虎科技有限公司 业务请求处理方法和装置
CN104794026B (zh) * 2015-04-29 2017-09-15 上海新炬网络信息技术有限公司 一种集群实例多数据源绑定的故障转移方法
US10346367B1 (en) * 2015-04-30 2019-07-09 Amazon Technologies, Inc. Load shedding techniques for distributed services with persistent client connections to ensure quality of service
US10701037B2 (en) * 2015-05-27 2020-06-30 Ping Identity Corporation Scalable proxy clusters
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
US9846759B2 (en) 2015-07-30 2017-12-19 Taiwan Semiconductor Manufacturing Company, Ltd. Global connection routing method and system for performing the same
CN105677693B (zh) * 2015-09-18 2020-02-18 联动优势科技有限公司 一种访问数据库的方法及装置
IL242353B (en) * 2015-10-29 2021-01-31 Verint Systems Ltd System and method for soft failovers for proxy servers
US10284621B2 (en) 2015-11-09 2019-05-07 International Business Machines Corporation Session management
CN105302565A (zh) * 2015-11-10 2016-02-03 河海大学 一种基于Java的自带连接池管理的数据持久化组件
CN105279279B (zh) * 2015-11-16 2019-01-25 天津南大通用数据技术股份有限公司 从低速数据源加载压缩数据文件的方法及装置
CN105577797A (zh) * 2015-12-25 2016-05-11 北京像素软件科技股份有限公司 一种跨服务器数据互通的系统和方法
US10015086B2 (en) * 2016-04-29 2018-07-03 Intuit Inc. Multi GTM based routing to avoid latencies
CN105812393A (zh) * 2016-05-24 2016-07-27 浪潮电子信息产业股份有限公司 一种网站防护装置和方法
CN106095571B (zh) * 2016-06-07 2019-06-04 中国建设银行股份有限公司 多rac集群系统、数据访问方法及装置
US11169982B2 (en) 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
CN106254421A (zh) * 2016-07-19 2016-12-21 北京中科同向信息技术有限公司 一种基于虚拟云的技术
US10824750B2 (en) 2016-08-12 2020-11-03 Oracle International Corporation System and method for performing connection validation in a multi-tenant environment
US11290540B2 (en) 2016-08-12 2022-03-29 Oracle International Corporation System and method for use of server-side connection pool tagging in a multi-tenant environment
US10909211B2 (en) 2016-08-12 2021-02-02 Oracle International Corporation System and method for control of maximum connections in a connection pool environment
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
US9612927B1 (en) * 2016-09-14 2017-04-04 International Business Machines Corporation Managing server processes with proxy files
US10310841B2 (en) 2016-09-16 2019-06-04 Oracle International Corporation System and method for handling lazy deserialization exceptions in an application server environment
US10587580B2 (en) 2016-10-26 2020-03-10 Ping Identity Corporation Methods and systems for API deception environment and API traffic control and security
US11093838B2 (en) * 2017-05-10 2021-08-17 Microsoft Technology Licensing, Llc Adaptive selection of user to database mapping
CN107302499B (zh) * 2017-06-26 2020-12-18 北京赛特斯信息科技股份有限公司 无需拷贝报文缓存的nfv协议报文收发方法
CN107391686A (zh) * 2017-07-24 2017-11-24 威创软件南京有限公司 一种可视化配置数据采集系统实现方法
US11237814B2 (en) 2017-08-17 2022-02-01 Oracle International Corporation System and method for supporting custom hooks during patching in an application server environment
US10909088B2 (en) * 2017-09-06 2021-02-02 Oracle International Corporation System and method for high availability and load balancing in a database environment
EP3471007B1 (en) 2017-10-13 2022-02-23 Ping Identity Corporation Methods and apparatus for analyzing sequences of application programming interface traffic to identify potential malicious actions
CN108111578B (zh) * 2017-11-28 2021-06-04 国电南瑞科技股份有限公司 基于nio的配电终端数据采集平台接入终端设备的方法
US10860239B2 (en) * 2018-05-04 2020-12-08 EMC IP Holding Company LLC Fan-out asynchronous replication caching
US10705753B2 (en) 2018-05-04 2020-07-07 EMC IP Holding Company LLC Fan-out asynchronous replication logical level caching
US11477197B2 (en) * 2018-09-18 2022-10-18 Cyral Inc. Sidecar architecture for stateless proxying to databases
US11477196B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Architecture having a protective layer at the data source
US11477217B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Intruder detection for a network
EP3678348A1 (en) 2019-01-04 2020-07-08 Ping Identity Corporation Methods and systems for data traffic based adpative security
US11275765B2 (en) * 2019-01-28 2022-03-15 EMC IP Holding Company LLC Storage systems configured for storage volume addition in synchronous replication using active-active configuration
US10938933B2 (en) 2019-05-14 2021-03-02 International Business Machines Corporation Managing dynamic configuration-based database connections using a proxy datasource
CN112835866B (zh) * 2019-11-25 2024-07-26 深圳云天励飞技术有限公司 数据库的实现方法、装置、电子设备及存储介质
CN111708560A (zh) * 2020-06-17 2020-09-25 云和恩墨(北京)信息技术有限公司 数据库高可用管理系统的自动化部署方法及装置
US11611540B2 (en) * 2020-07-01 2023-03-21 Vmware, Inc. Protection of authentication data of a server cluster
CN115917525A (zh) * 2020-07-08 2023-04-04 阿里巴巴集团控股有限公司 用于分区数据库的路由指令
US11070621B1 (en) * 2020-07-21 2021-07-20 Cisco Technology, Inc. Reuse of execution environments while guaranteeing isolation in serverless computing
CN113297173B (zh) * 2021-05-24 2023-10-31 阿里巴巴新加坡控股有限公司 分布式数据库集群管理方法及装置、电子设备
CN114157658B (zh) * 2021-12-06 2024-03-01 京东科技信息技术有限公司 镜像仓库部署方法、装置、电子设备和计算机可读介质
US20230224361A1 (en) * 2022-01-12 2023-07-13 Vmware, Inc. Service-aware global server load balancing
US11809839B2 (en) 2022-01-18 2023-11-07 Robert Lyden Computer language and code for application development and electronic and optical communication
US12113696B2 (en) 2022-02-01 2024-10-08 Bank Of America Corporation System and method for monitoring network processing optimization
CN115344366B (zh) * 2022-08-10 2023-10-31 中电金信软件有限公司 连接池对象的切换方法、装置、电子设备及可读存储介质

Family Cites Families (110)

* 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
US5333274A (en) 1991-10-15 1994-07-26 International Business Machines Corp. Error detection and recovery in a DMA controller
US6424992B2 (en) 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US6192389B1 (en) 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6427161B1 (en) 1998-06-12 2002-07-30 International Business Machines Corporation Thread scheduling techniques for multithreaded servers
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
GB2348985A (en) 1999-04-15 2000-10-18 Ibm Centralized affinity maintenance in a workload managed client/server 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
JP2002218577A (ja) 2001-01-24 2002-08-02 Nec Corp 通信ネットワーク、波長多重装置、光スイッチ装置及びそれらに用いる光リンク属性・状態管理方法
JP2002259948A (ja) 2001-03-02 2002-09-13 Tdk Corp 次処理決定方法、検査方法および検査装置
US7831731B2 (en) 2001-06-12 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation
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
US6886041B2 (en) 2001-10-05 2005-04-26 Bea Systems, Inc. System for application server messaging with multiple dispatch pools
US6983465B2 (en) 2001-10-11 2006-01-03 Sun Microsystems, Inc. Method and apparatus for managing data caching in a distributed computer system
US7376953B2 (en) 2001-10-29 2008-05-20 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a server
US20030110232A1 (en) 2001-12-11 2003-06-12 International Business Machines Corporation Distributing messages between local queues representative of a common shared queue
JP2003196229A (ja) 2001-12-28 2003-07-11 Sony Corp バス・インタフェースにおけるデータ転送方法およびバス・インタフェース
US7403996B2 (en) 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
CA2415043A1 (en) 2002-12-23 2004-06-23 Ibm Canada Limited - Ibm Canada Limitee A communication multiplexor for use with a database system implemented on a data processing system
US7554993B2 (en) * 2003-03-27 2009-06-30 Hewlett-Packard Development Company, L.P. Method and apparatus for performing connection management with multiple stacks
US8108534B2 (en) 2003-05-08 2012-01-31 Jda Software Group, Inc. Data integration system with programmatic source and target interfaces
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
EP1503548A1 (en) 2003-08-01 2005-02-02 fg microtec GmbH Distributed Quality of Service Management System
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
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
US7937493B2 (en) 2003-08-14 2011-05-03 Oracle International Corporation Connection pool use of runtime load balancing service performance advisories
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
US20050234986A1 (en) * 2004-04-09 2005-10-20 Microsoft Corporation Systems and methods for fragment-based serialization
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
US7930422B2 (en) 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
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
US7941556B2 (en) * 2005-02-23 2011-05-10 At&T Intellectual Property I, Lp Monitoring for replica placement and request distribution
ATE373399T1 (de) * 2005-03-04 2007-09-15 Alcatel Lucent Vermittlung für integrierte telekommunikationssnetzwerke
WO2006098135A1 (ja) 2005-03-14 2006-09-21 Matsushita Electric Industrial Co., Ltd. バスコントローラ
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
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
US8473934B2 (en) 2005-07-15 2013-06-25 Imec Method for mapping applications on a multiprocessor platform/system
GB0517303D0 (en) 2005-08-23 2005-10-05 Netronome Systems Inc System and method for processing secure transmissions
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
US7702947B2 (en) * 2005-11-29 2010-04-20 Bea Systems, Inc. System and method for enabling site failover in an application server environment
US8707323B2 (en) 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US20070157212A1 (en) 2006-01-04 2007-07-05 Berg Douglas C Context key routing for parallel processing in an application serving environment
US7895329B2 (en) 2006-01-12 2011-02-22 Hewlett-Packard Development Company, L.P. Protocol flow control
JP2007226398A (ja) 2006-02-22 2007-09-06 Hitachi Ltd データベース接続管理方法及び計算機システム
US7765307B1 (en) 2006-02-28 2010-07-27 Symantec Operating Corporation Bulk network transmissions using multiple connections primed to optimize transfer parameters
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
US20070245005A1 (en) 2006-04-18 2007-10-18 Banerjee Dwip N Method and data processing system for managing a plurality of interfaces
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US8112525B2 (en) * 2006-05-16 2012-02-07 Oracle International Corporation Engine near cache for reducing latency in a telecommunications environment
US7371014B2 (en) * 2006-08-21 2008-05-13 Intel Corporation Monolithic active optical cable assembly for data device applications and various connector types
US8166460B2 (en) * 2006-10-10 2012-04-24 Convergys Cmg Utah, Inc. System and method for analyzing HTTP sessions
US8631041B2 (en) * 2006-10-20 2014-01-14 Adobe Systems Incorporated Secondary lazy-accessible serialization of electronic content
US9064010B2 (en) 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
US8640086B2 (en) * 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
US8358591B2 (en) 2007-06-06 2013-01-22 Hewlett-Packard Development Company, L.P. Network traffic monitoring in a server network environment
US8576807B2 (en) 2007-06-25 2013-11-05 Qualcomm Incorporated Channel interleaving structure for a wireless communication system
CN101690136A (zh) 2007-06-26 2010-03-31 汤姆逊许可证公司 实时协议流迁移
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
JP4893581B2 (ja) 2007-10-23 2012-03-07 日本電気株式会社 多重化通信システム、送信処理装置、受信処理装置、多重化通信方法、送信処理方法、および受信処理方法
CN100586058C (zh) 2007-11-20 2010-01-27 中国人民解放军信息工程大学 基于j2ee中间件规范的容忍入侵应用服务器及容忍入侵方法
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
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
CN101325504A (zh) 2008-07-11 2008-12-17 中兴通讯股份有限公司 一种应用服务器控制多媒体会议的方法及装置
CN101408899B (zh) 2008-11-21 2010-09-29 北京中企开源信息技术有限公司 一种网站多数据源切换方法和装置
JP5352848B2 (ja) 2008-11-28 2013-11-27 株式会社日立製作所 仮想計算機の制御方法及び計算機装置
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
US9454444B1 (en) * 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
CN101661499A (zh) 2009-03-25 2010-03-03 福建省电力有限公司 电力应用支撑系统及其分布式实时数据中心
US8880524B2 (en) 2009-07-17 2014-11-04 Apple Inc. Scalable real time event stream processing
US8055933B2 (en) * 2009-07-21 2011-11-08 International Business Machines Corporation Dynamic updating of failover policies for increased application availability
CN101989922B (zh) 2009-07-31 2014-05-28 国际商业机器公司 用于恢复会话初始协议事务的方法和系统
US20110047413A1 (en) * 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer
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
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US20110082832A1 (en) * 2009-10-05 2011-04-07 Ramkumar Vadali Parallelized backup and restore process and system
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
US8543722B2 (en) 2010-03-30 2013-09-24 International Business Machines Corporation Message passing with queues and channels
US8260757B1 (en) 2010-04-22 2012-09-04 Wal-Mart Stores, Inc. Data access layer
US9185054B2 (en) 2010-09-15 2015-11-10 Oracle International Corporation System and method for providing zero buffer copying in a middleware machine environment
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
US8938598B2 (en) 2011-07-06 2015-01-20 Nvidia Corporation Facilitating simultaneous submission to a multi-producer queue by multiple threads with inner and outer pointers
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system

Also Published As

Publication number Publication date
US9864759B2 (en) 2018-01-09
CN103124967B (zh) 2017-09-22
US8856460B2 (en) 2014-10-07
CN103124967A (zh) 2013-05-29
WO2012037163A1 (en) 2012-03-22
JP2013541764A (ja) 2013-11-14
US20120066363A1 (en) 2012-03-15
US8856352B2 (en) 2014-10-07
US8756329B2 (en) 2014-06-17
US20120066400A1 (en) 2012-03-15
US9092460B2 (en) 2015-07-28
US20120066394A1 (en) 2012-03-15
EP2616966A1 (en) 2013-07-24
US20120066460A1 (en) 2012-03-15
US20120066459A1 (en) 2012-03-15
JP2016181304A (ja) 2016-10-13
US9495392B2 (en) 2016-11-15
EP2616966B1 (en) 2019-10-30
US9811541B2 (en) 2017-11-07
US20120144045A1 (en) 2012-06-07
US20140280988A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
JP6195958B2 (ja) アプリケーションサーバとクラスタ化されたデータベースとを接続するためのシステムおよび方法
US11687555B2 (en) Conditional master election in distributed databases
CN105703940B (zh) 一种面向多级调度分布式并行计算的监控系统及监控方法
US9971823B2 (en) Dynamic replica failure detection and healing
US8635185B2 (en) System and method for providing session affinity in a clustered database environment
US8055735B2 (en) Method and system for forming a cluster of networked nodes
US10255148B2 (en) Primary role reporting service for resource groups
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US7792944B2 (en) Executing programs based on user-specified constraints
US9794135B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
JP4567125B2 (ja) データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置
US9100443B2 (en) Communication protocol for virtual input/output server (VIOS) cluster communication
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
US20120150985A1 (en) VIOS Cluster Alert Framework
CN116112569B (zh) 微服务调度方法及管理系统
US20240069970A1 (en) System and method for sharing vitals among service replicas to enable processing of long running automation workflows in a container orchestration system
US10706073B1 (en) Partitioned batch processing for a usage analysis system
US10348596B1 (en) Data integrity monitoring for a usage analysis system
US9270530B1 (en) Managing imaging of multiple computing devices
US11204820B2 (en) Failure detection for central electronics complex group management
WO2023185300A1 (zh) 容器存储管理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170710

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: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170816

R150 Certificate of patent or registration of utility model

Ref document number: 6195958

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