JP4637842B2 - クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知 - Google Patents

クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知 Download PDF

Info

Publication number
JP4637842B2
JP4637842B2 JP2006523435A JP2006523435A JP4637842B2 JP 4637842 B2 JP4637842 B2 JP 4637842B2 JP 2006523435 A JP2006523435 A JP 2006523435A JP 2006523435 A JP2006523435 A JP 2006523435A JP 4637842 B2 JP4637842 B2 JP 4637842B2
Authority
JP
Japan
Prior art keywords
resource
service
data
identifying
cluster
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
JP2006523435A
Other languages
English (en)
Other versions
JP2007503628A (ja
JP2007503628A5 (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 JP2007503628A publication Critical patent/JP2007503628A/ja
Publication of JP2007503628A5 publication Critical patent/JP2007503628A5/ja
Application granted granted Critical
Publication of JP4637842B2 publication Critical patent/JP4637842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Description

発明の分野
この発明は、概して、クラスタ化されたコンピューティングシステムに関し、より特定的には、イベントを用いて、クラスタ化されたシステムにおける状態の変更を高速通知するための技術に関する。
発明の背景
クラスタ化されたコンピューティングシステム
クラスタ化されたコンピューティングシステムは、1組のクライアントアプリケーションに処理を与える相互接続された計算要素の集まりである。計算要素の各々はノードと称される。ノードは、他のコンピュータに相互接続されたコンピュータ、または、グリッド状に他のサーバブレードに相互接続されたサーバブレードであり得る。クラスタ化されたコンピューティングシステムにおけるノードのグループは、記憶装置への共用アクセスを有し(たとえば、1組のディスクドライブまたは不揮発性記憶装置へのディスクアクセスを共有し)、相互接続を介して接続されているが、この明細書においては作業クラスタと称される。
クラスタ化されたコンピューティングシステムは、クラスタ化されたサーバのホストとなるよう用いられる。サーバは、統合されたソフトウェア構成要素と、メモリ、ノード、および、プロセッサ上で統合されたソフトウェア構成要素を実行するためのノード上のプロセスなどの計算リソースの割当との組合せであり、このソフトウェアと計算リソースとの組合せはサーバのクライアントとして特定の種類の機能を提供するために設けられる。サーバの例としてデータベースサーバが挙げられる。データベース管理の機能の中でも特に、データベースサーバは、データベースへのアクセスを求めるクライアントによる要求を処理して、特定のデータベースへのアクセスを制御しかつ容易にする。
クラスタ化されたコンピューティングシステムにおける複数のノードからのリソースは、サーバのソフトウェアを実行させるために割当てられてもよい。サーバに対する特定のノードのリソースの各々の割当は、この明細書中では「サーバインスタンス」またはインスタンスと称される。データベースサーバはクラスタ化されてもよく、この場合、サーバインスタンスは総称してクラスタと呼ばれ得る。データベースサーバの各インスタンスは同じデータベースへのアクセスを容易にするが、ここでは、データの完全性がグローバルロックマネージャによって管理される。
サービスレベルに従ってアプリケーションを管理するためのサービスレベル
サービスはデータベース作業負荷管理についての特徴であり、サービスレベルに従って作業を管理するために、データベースにおいて実行される作業の領域を分割する。リソースは、サービスレベルおよび優先順位に応じてサービスに割当てられる。サービスは、要求に応じてリソース容量を効率的に届けるよう測定および管理される。ソースハイアベイラビリティサービスレベルは、クラスタの冗長な部分の信頼性を用いる。
サービスは、作業負荷を管理するための論理的抽象化である。サービスを用いて、データベースクラスタにおいて実行される作業を相互にばらばらのクラスに分割し得る。各サービスは、共通の属性、サービスレベルしきい値および優先順位を有する論理的なビジネス機能、たとえば作業負荷、を表し得る。サービスのグループ化は、呼出されるべきアプ
リケーション機能を含み得る作業の属性、アプリケーション機能についての実行の優先順位、管理されるべきジョブクラス、または、ジョブクラスのアプリケーション機能において用いられるデータ範囲に基づいてなされる。たとえば、電子ビジネススイート(an electronic-business suite)は、総勘定元帳、受取勘定、受注などの各々の責任についてのサービスを規定し得る。サービスは、競合するアプリケーションを管理するために単一のシステム画像を提供し、各々の作業負荷を単独で1つの単位として管理することを可能にする。サービスは、グリッド状の1つのクラスタまたは複数のクラスタにおける複数のサーバインスタンスにわたり得、単一のサーバインスタンスは複数のサービスをサポートし得る。
中間層およびクライアント/サーバアプリケーションは、たとえば、接続の一部としてサービスを特定することによってサービスを用いることができる。たとえば、アプリケーションサーバデータソースはサービスに経路指定されるよう設定され得る。加えて、サーバサイドの作業は、作業負荷定義の一環としてサービス名を設定する。たとえば、ジョブクラスが用いるサービスは、そのジョブクラスが作成されると規定され、実行中にジョブがジョブクラスに割当てられ、ジョブクラスがサービス内で実行される。
データベースセッション
クライアントがデータベースクラスタ上のデータベースサーバと対話するために、当該クライアントのためにセッションが確立される。データベースセッションなどのセッションは、データベースインスタンスなどのサーバへの、クライアントのために確立された特定の接続であり、これを通じて、クライアントが一連の要求(たとえば、データベースステートメントの実行の要求)を発行する。データベースインスタンス上で確立された各々のデータベースセッションについては、データベースセッションの現在の状態を反映するセッション状態データが維持される。このような情報は、たとえば、セッションが確立されているクライアントのアイデンティティ、クライアントが用いるサービス、データベースセッション内でソフトウェアを実行するプロセスによって生成される一時的な変数値を含む。アプリケーションは、接続プールから接続を「借り」、セッションが終了すると接続を当該プールに戻し得る。一般に、セッションはデータベースとともに作業を実行する媒体である。各セッションはそれ自体のデータベースプロセスを有し得るか、またはデータベースプロセスを共有し得る。後者は多重化と称される。
ハイアベイラビリティ
ある変化がクラスタ化されたコンピューティングシステム内で起こると、ハイアベイラビリティが低減し、クライアントアプリケーションが時間を浪費することとなる。このような変化は、概して、「ダウン」の変化、「アップ」の変化または「リスタートなし」の変化と分類され得る。ダウンの変化は、サービス、サーバインスタンスまたはノードマシン(概して「構成要素」)が終了するかまたは「ダウンする」と起こる。アップの変化は、サービス、サーバインスタンスまたはノードが初期化するかまたは「アップする」と起こる。「リスタートなし」の変化は、サービス、インスタンスまたはノードがもはや始動し得ない場合に起こる。いくつかの変化は、既存のセッションと、現在用いられていないが既に作成され、サービス、インスタンスまたはノードに関連付けられる接続とに影響を及ぼす可能性がある。
アプリケーションは、クラスタ化されたシステムの状態が変化すると、セッションを介してクラスタ化されたシステムと対話する際にかなりの量の時間およびリソースを浪費する。特に、クラスタ化されたデータベースのクライアントアプリケーションは、クラスタ化されたシステムの状態が変化すると時間およびリソースを浪費する。たとえば、セッションが用いているノードまたはサーバインスタンスが「ダウンする」と、アプリケーションは長期間にわたって中断されない可能性がある。具体的には、ノードまたはネットワー
クがセッションソケットを閉じることができなかった場合、アプリケーションはローカルなTCP/IPスタックからのTCP/IPタイムアウトエラーを待つ。別の例については、作業は、新しいサービス、ノードまたはインスタンスが利用可能になる、すなわち「アップする」と、サービスをサポートするすべてのインスタンスにわたって分散されないかもしれない。すなわち、サービス、ノードまたはインスタンスが利用可能になると、当該サービス、ノードまたはインスタンスと接続しないことで時間が浪費される。時間およびリソースが浪費されるもう1つの例として、クライアントが、再度アップしないかまたはリスタートしなかった構成要素との通信を再試行し続ける例が挙げられる。
概して、従来のシステムは、ノードがダウンすると極めて不良に動作する。アプリケーションセッションは最大2時間まで待ってから中断され得る。概して、従来のシステムは、障害のあるシステムエンティティがリストアされるとき、リストアされたエンティティ(すなわち、アップしたエンティティ)に作業を割当てる際に不良に機能する。こうして、従来のシステムは、このようなシステムが提供し得る可用性や、場合によってはサービス時間を低減させる。さらに従来のシステムでは、障害のある構成要素を修復またはリストアした後、従来のコールド・フェイルオーバーシステムが、典型的には、クラスタにおける構成要素のコンプリメントにわたって負荷バランシングを提供するのではなく、作業負荷全体のフォールバックをリストアされたエンティティに提供する。
実行時間中、セッションは、典型的には、それぞれのデータベースサーバインスタンスに関する4つの状態のうちの1つの状態にある。セッションは、(1)インスタンスに能動的に接続し、すなわち、インスタンスでセッションを確立し、(2)コマンドをインスタンスに能動的に発行し、たとえばSQLステートメントを発行し、(3)発行されたSQLステートメントに対する応答を待って受動的にブロックされ、(4)前の要求、たとえばSQLステートメントを処理し得る。状態(1)は他の状態とは異なる。というのも、クライアントがTCP/IPスタックに入っているからである。他の状態では、クライアントはTCP/IPスタックの内部にある。
サーバのクライアントは、クラスタ化されたシステムの状態が変化すると、セッションを介してクラスタ化されたシステムと対話する際に時間およびリソースを著しく浪費する。特に、クラスタ化されたデータベースのクライアントアプリケーションは、データベースクラスタの状態が変化すると時間とリソースとを浪費する。たとえば、作業は、新しいサービス、ノードまたはインスタンスが利用可能になる、すなわち「アップする」と、サービスをサポートするすべてのインスタンスにわたって分散されなくてもよい。つまり、ノードまたはインスタンス上のサービスが利用可能になると、当該ノードまたはインスタンスと接続しないことで時間が浪費される。時間およびリソースが浪費されるもう1つの例として、クライアントが、再度アップしない(すなわち、デッドノードと通信している)かまたはまだリスタートしていない構成要素との通信を再試行し続ける例が挙げられる。たとえば、セッションが用いているノードまたはサーバインスタンスが「ダウンする」と、アプリケーションは長期間にわたって(たとえば、2時間が典型的である)中断されないかもしれない。具体的には、ノードまたはネットワークがセッションソケットを閉じることができなかった場合、アプリケーションは、ローカルなTCP/IPスタックからのTCP/IPタイムアウトエラーを待つ。
シナリオ(1)は、常に利用可能である仮想IPアドレスを用いることによって多少とも解決され得る。これは、クライアントがTCP/IPスタックの外側にあるからである。こうして、ノードがダウンすると、IPアドレスが異なるノードにフェイルオーバーする。しかしながら、ノードが再度アップすると、システム状態の変化に対処する類似の解決策は存在しない。概して、セッションが状態(2)、(3)または(4)にある場合、非常の多くの問題が生じる。セッションが状態(3)にあるときアプリケーションおよび
/またはセッションが問題の解決を待たなければならない場合、非常に多くの時間が浪費される。さらに悪いことに、アプリケーションが状態(3)にあると、ほぼ90%の時間が浪費される。加えて、接続プールクライアントを用いると、デッド接続をアプリケーションに与えることによって時間が浪費される。
概して、従来のシステムは、障害があるかまたは終了したシステムエンティティがリストアされた場合、リストアされたエンティティに作業を割当てる際に不良に機能する。こうして、従来のシステムは、このようなシステムが提供し得る可用性や、場合によってはサービス時間を低減させる。さらに従来のシステムを用いると、障害のある構成要素を修復またはリストアした後、従来のコールド・フェイルオーバーシステムは、典型的には、クラスタにおける構成要素のコンプリメントにわたって負荷バランシングを提供するのではなく、リストアされたエンティティに作業負荷全体のフォールバックを提供する。さらに、コールド・フェイルオーバー、スタンバイなどのために構成されるノードが1つしかない場合、システムには冗長性がなくなる。このようなシステムは、接続されたすべてのアプリケーションがすべてのリソースを利用することのできる「アクティブ/パッシブ」なシステムと称される。
上述に基づくと、クラスタ化されたコンピューティングシステムにおけるシステム状態の変化への対処には改善の余地がある。
この発明の実施例は、添付の図面の図において限定のためではなく例示のために示されており、同様の参照番号は同様の要素を指す。
発明の実施例の詳細な説明
実施例の機能概要
クラスタ化されたコンピューティングシステムへの変更を高速通知するための技術が説明される。この場合、アプリケーションを高速で回復させ、クラスタ化されたシステムとのセッションのバランスを高速で取り直すことを可能にするために、システム状態の変化についていくつかのイベントが発行される。このようなクラスタ化されたコンピューティングシステムの一例には、複数のノードマシン上で実行され、複数のクライアントアプリケーションからの要求に応答してデータベースからの共有データにアクセスしかつこれを操作するよう構成された、データベースサーバの複数のインスタンスを含むデータベースクラスタが挙げられる。
サービスに関連付けられるリソースが状態の変化を被ると、通知イベントが、さまざまな加入者に使用されるよう直ちにイベントに発行される。たとえば、通知イベントは、サービスがインスタンス上で利用可能になったり、サービスがインスタンス上で利用不可能になったりするたびに発行される。通知イベントは、サービスと、当該サービスをサポートするたとえば特定のインスタンス、インスタンス、ノードまたはデータベースクラスタなどのリソースとについての状態変更に対して発生する。1つ以上のインスタンスによって提供されるサービスが開始すると、サービスに従属するアプリケーションを開始するのに用いられ得る通知イベント(UP)が発行される。1つ以上のインスタンスによって提供されるサービスが終了し、同様にインスタンスまたはノードが終了すると、通知イベント(DOWN)が発行されて、従属アプリケーションを停止させる。サービスがその障害しきい値を超えたために管理クラスタウェアがもはやサービスを管理できない場合、通知イベント(NOT_RESTARTING)が発行されて、サービスを再試行するアプリケーションを中断する。一実施例においては、NOT_RESTARTINGイベントは
、災害サービスへの切換を開始する。
クラスタに接続されると、固有の署名(すなわちロケータ)が、関連するセッションのために生成され、接続の一部としてハンドルに記録される。一実施例においては、署名はサービス識別子、ノード識別子、データベース固有名およびインスタンス識別子を含み、その各々はセッションに関連付けられる。データベースクラスタの文脈においては、通知イベントは、状態の変化によって影響を受ける特定のセッション、すなわち、影響を受けたセッションの署名、を加入者が識別することを可能にする情報を含む。いくつかのタイプのイベントについては、影響を受けたセッションを識別するのに用いられる情報は、状態変更に関連付けられるサービスおよびデータベースの識別を含む。他のタイプのイベントについては、影響を受けたセッションを識別するのに用いられる情報は、さらに、状態変更に関連付けられるインスタンスおよびノードの識別を含む。影響を受けたセッションは、イベントペイロードに含まれる署名に適合する署名を含むセッションである。
結果として、アプリケーションおよびセッションは、関連するリソースが状態を変えると直ちに通知される。これらの技術を用いると、通知イベントを用いることにより、前にこの明細書中に記載された従来のシステムに関する問題を克服することができる。
動作環境
図1は、実施例が実現され得る動作環境を示すブロック図である。a〜nの要素識別子、たとえばクライアント102a〜102n、サービス106a〜106n、インスタンス108a〜108nおよびノード110a〜110nの使用は、同じ数のこのような構成要素が必要とされることを意味するわけではない。すなわち、nはそれぞれの構成要素に対して必ずしも等しいわけではない。むしろ、このような識別子は、複数の同様の構成要素に関連して一般的な意味で用いられる。
クラスタ化された計算環境
1つ以上のクライアント102a〜102nは、共用データベース112に接続されるサーバクラスタ104(「サーバ」)に通信可能に連結される。サーバ104は、インスタンスが実行されるサーバインスタンス108a〜108nおよびノード110a〜110nのクラスタと総称される。他の構成要素はまた、通知サービスデーモン118およびイベントハンドラ120などのサーバ104の一部と見なされてもよい。しかしながら、上述の構成要素が構成される実際のアーキテクチャは、実現例ごとに異なる可能性がある。クライアント102a〜102nは、たとえばネットワークを介してクライアントとサーバ104との間のアプリケーションサーバまたは他の何らかのミドルウェア構成要素に相互接続されたコンピュータによって実現されるアプリケーションであり得る。加えて、1つのサーバインスタンスは別のサーバインスタンスのクライアントであり得る。クライアント102a〜102nのいずれかまたはすべてが、この明細書中に記載されるように、発行されたイベントの加入者として動作し得る。
データベースクラスタの文脈においては、データベース112はデータおよびメタデータを含み、これらデータおよびメタデータは、ノード110a〜110nに通信可能に連結される1組のハードディスクなどの永続メモリ機構に記憶され、当該ノード110a〜110nの各々は1つ以上のインスタンス108a〜108nのホストになることができ、当該インスタンス108a〜108nの各々は1つ以上のサービスのうち少なくとも一部のホストとなる。このようなデータおよびメタデータは、たとえば、リレーショナルデータベース構造、多次元データベース構造、またはリレーショナルデータベース構造と多次元データベース構造との組合せに従って、論理的にデータベース112に記憶され得る。ノード110a〜100nは、従来のコンピュータシステム、たとえば図3に示されるコンピュータシステム300として実現され得る。
記載されるように、データベースサーバは、統合されたソフトウェア構成要素と、プロセッサ上で統合されたソフトウェア構成要素を実行するための(メモリおよびプロセスなどの)計算リソースの割当との組合せであり、このソフトウェアと計算リソースとの組合せを用いて、データベース112などの特定のデータベースを管理する。データベース管理の機能の中でも特に、データベースサーバは、典型的には、データベース112へのアクセスを求めるクライアントからの要求を処理することによってデータベース112へのアクセスを容易にする。インスタンス108a〜108nは、それぞれのノード110a〜110nとともにサービス106a〜106nのホストとなる。
サービス106
この明細書中に先に述べられたように、サービスは、概して、作業負荷を管理するための論理的抽象化である。この発明の実施例の文脈により特定的には、サービス、たとえばサービス106a〜106nは名前とドメインとを有し、関連する目標、サービスレベル、優先順位およびハイアベイラビリティの属性を有し得る。サービスの一環として実行される作業は、たとえば、CPU処理時間、揮発性メモリへのデータの記憶およびそれへのアクセス、永続ストレージ(すなわちディスク空間)からの読出および/それへの書込、ならびにネットワークまたはバスの帯域幅の使用を含め、コンピュータリソースのいかなる使用または費用をも含む。
一実施例においては、サービスは、セッション中にデータベースサーバによって実行される作業であり、典型的には、特定のデータベースへのアクセスを必要とするクエリを処理および/または計算するよう実行される作業を含む。この明細書中で用いられるクエリという語は、SQLなどのデータベース言語に準拠するステートメントを指し、データを追加するか削除するかまたは変更し、テーブル、オブジェクトビューおよび実行可能なルーチンなどのデータベースオブジェクトを作成しかつ変更する動作を特定するステートメントを含む。クラスタ化されたコンピューティングシステムを含むシステムは多くのサービスをサポートし得る。
サービスは、1つ以上のデータベースサーバインスタンスによって提供され得る。こうして、複数のサーバインスタンスが一緒に作用して、サービスをクライアントに提供し得る。図1においては、インスタンス108aによって提供されるサービス106a(たとえば、FIN)が破線の括弧で示され、インスタンス108aおよび108bによって提供されるサービス106b(たとえば、PAY)が示され、インスタンス108a〜108nによって提供されるサービス106nが示される。
概して、この明細書中で説明される技術はサービス中心のものであり、サーバ104内に発生するイベントは、当該イベントによって影響を被るサービスに基づいて識別および/または特徴付けされ得る。通知イベントのペイロードが以下に説明される。
通知システム
概して、デーモンは、バックグラウンドで実行し、かつ予め規定された時間に、またはあるイベントに応答して特定の動作を実行するプロセスである。概して、イベントはアクションまたはオカレンスであり、プロセスによってそのポスティングが検出される。通知サービスデーモン118は、インスタンス106a〜106nのクラスタを管理するよう構成されるクラスタウェアなどのサーバ104からシステム状態変更情報を受取るプロセスである。このような状態変更情報は、たとえば、サービス、インスタンスおよびノードのアップまたはダウンイベント情報を含み得る。サーバ104は、この明細書中に記載されるように、クラスタ内で状態が変化するとイベントをポスティングする。
通知サービスデーモン118はイベントハンドラ120に対する発行元と加入者との関係を有し、これにより、サーバ104からデーモン118が受信したシステム状態変更情報が通知イベントとしてイベントハンドラ120に伝送される。概して、イベントハンドラは、イベントに応答して実行されるプログラムステートメントを含む機能または方法である。デーモン118からのイベント情報の受信に応答して、イベントハンドラ120は、この明細書中に記載されるイベントタイプおよび属性を少なくとも伝える。図1において、単一のイベントハンドラ120がすべての加入者に役立つものとして図示される。しかしながら、異なるイベントハンドラが異なる加入者に関連付けられてもよい。このようなイベントのさまざまな加入者によって通知イベントの処理が実現される態様は重要ではなく、実現例ごとに異なる可能性がある。
サーバ104から通知サービスデーモン118ならびに通知サービスデーモン118からイベントハンドラ120へのイベント情報の伝送は「帯域外」である。この文脈においては、帯域外とは、セッション通信経路がイベントのためにブロックされる可能性があるのでこのような伝送が当該経路を通じて行なわれないことを意味する。たとえば、帯域外通知は、クラスタを管理するクラスタウェアの一部ではないゲートウェイプロセスを通じて非同期的に発行され得る。非限定的な例として、通知サービスデーモン118はオラクル(Oracle)通知システム(ONS)APIを用いてもよく、これはメッセージ機構であり、Java (登録商標)2 Platform, Enterprise Edition(J2EE)に基づいたアプリケーション構成要素がメッセージを作成、送信、受信および読出すことを可能にする。
「加入者」は、それぞれのさまざまな目的で通知イベントをサブスクライブしかつこれに応答し得るさまざまなエンティティを表わす。加入者の非限定的な例には、クライアント102a〜102n、接続プールマネージャ、中間層アプリケーション、バッチジョブ、コールアウト、ページングおよびアラート機構、ハイアベイラビリティログなどが含まれる。
通知イベント
所与のサービスの状態が変化すると、すなわち、所与のサービスの作業の実行に関与するクラスタリソースの状態が変化すると、新しい状態が、通知イベントを介して、関係する加入者に通知される。アプリケーションはこの通知を用いて、たとえば、前の結果の処理を停止させ、接続プールセッションをクリーンアップし、障害の発生後に接続プールのバランスを取るために、障害のある構成要素が修復される際に、障害を極めて高速に検出できるようにする。たとえば、サービスがインスタンスにおいて開始すると、イベントを用いて、当該インスタンス上で実行される作業を直ちにトリガし得る。サービスがインスタンスにおいて終了すると、当該イベントを用いることにより、そのインスタンスにおけるサービスを用いてアプリケーションを中断し得る。
さまざまなクライアント加入者による通知イベントの使用により、たとえば、障害の発生後および中断の前にTCPタイムアウトまたはクライアントにおける最終結果の無駄な処理を待つクライアントがなくされる。このような通知がないと、ノードが障害を起こしてソケットが閉じられない場合、I/O待機(読出または書込)の際にブロックされるセッションがいずれも、タイムアウトの間に数分から数時間にかけて待つこととなり、最終結果を処理するセッションは、次のデータが要求されるまで中断を受信しないだろう。
通知イベントペイロード
一実施例においては、通知イベントは、イベントタイプおよびイベント特性の識別を含む。表1は、この発明の実施例に従った通知イベントに関連するパラメータを示す。
Figure 0004637842
「サービス」イベントタイプは、サービス全体がダウンする、すなわち、サービスが当該サービスをサポートするすべてのインスタンス上でダウンするとトリガされる。「サービス_メンバ(service_member)」イベントタイプは、サービスが特定のインスタンス上でダウンするとトリガされる。「データベース」イベントタイプは、データベース全体がダウンする、すなわちデータベースを管理するすべてのインスタンスがダウンするとトリガされる。「ノード」イベントタイプは、ノードマシンがダウンし、その結果、そのノード上で実行するインスタンスがいかなるサービスをもサポートできない場合にトリガされる。「ノード名」は、管理クラスタウェアによって分かっているノードの名前である。たとえば、サービスメンバが支持インスタンスの障害時に別のインスタンスにフェイルオーバーし、障害のある構成要素が修復されるような場合、DOWNイベントの後にしばしばUPイベントが続く。
各々のイベントタイプに対するイベントペイロードがイベント特性の各々を含む必要はない。表2は、この発明の実施例に従った、各イベントタイプについてのイベントペイロードに含まれる特性を示す。
Figure 0004637842
実施例に従うと、イベントは、この明細書中に記載される(イベントにプログラマチック・インターフェイスを提供する)通知システムと、サーバサイドのコールアウトと、コール・インターフェイス・コールバックとに発行され得る。
システム状態変更シナリオのいくつかの例が以下に続く。
インスタンスが障害を起こすと、いくつかの通知イベントが発行される。すなわち、(1)イベントタイプ=インスタンスであり、インスタンスがダウンしていることを通知するもの、(2)イベントタイプ=サービス_メンバであり、サービスがその特定のインスタンスにおいてダウンしていることを通知する、終了したインスタンス上で実行していた各サービスのためのもの、である。加えて、サービスが別の支持インスタンス(すなわち、サービスをサポートするのにバックアップインスタンスとして利用可能なインスタンス)上でリスタートする場合、イベントタイプ=サービス_メンバの状態でイベントが発行されて、サービスが特定のインスタンス上で新たに利用可能であることが通知される。終了したインスタンスが修復され、再度アップする場合、通知イベントが、利用可能な支持インスタンスのなかった(すなわち、サービスをサポートするバックアップインスタンスのない)各サービスのために発行され得る。すなわち、(1)イベントタイプ=インスタンスであり、以前に終了したインスタンスがアップしていることを通知するもの、および、(2)イベントタイプ=サービス_メンバであり、サービスが以前に終了したインスタンス上でアップしていることを通知するもの、である。
前のシナリオについての通知イベントの各々が「インスタンス」または「サービス_メンバ」タイプであるので、表2は、特性がすべてイベントペイロードに含まれていることを示す。データベースがus.acme.comなどのデータベースドメインで構成される場合、ドメイン名条件(qualification)が、イベント特性におけるデータベースおよびサービスの名前として現われると予想される。たとえば、データベースが、databaseX.us.acme.comであり、サービスが、serviceY.us.acme.comである。加えて、UPイベントに応じた濃度(cardinality)を用いることにより、作業が再分散されて、バランスの取れた態様で利用可能なリソースを用いることができる。
サービスをサポートするインスタンスがすべてダウンすると、すなわちサービス全体がダウンすると、いくつかの通知イベントが発行される。すなわち、(1)サービスをサポートする各インスタンスについて、イベントタイプ=サービス_メンバである状態でイベントがトリガされて、サービスがそれぞれのインスタンス上でダウンしていることが通知され、(2)イベントタイプ=サービスである状態でイベントがトリガされて、サービス全体がダウンしていることが通知され、(3)サービスをサポートする各インスタンスについて、イベントタイプ=インスタンスである状態でイベントがトリガされて、そのそれぞれのインスタンスがダウンしていることが通知される。同様に、終了したインスタンスがリスタートすると、同様のイベントがUP状態でトリガされて、サービスがそれぞれのインスタンス上でアップしていることと、サービス全体がアップしていることと、インスタンスがアップしていることとが通知される。
「サービス」タイプのイベントについて、表2は、インスタンス名、ノード名および濃度特性が、このタイプのイベントに対するイベントペイロードから除外され得ることを示す。これは、定義によれば、「サービス」タイプのイベントが、サービス全体がアップまたはダウンしていること、すなわち、サービスが当該サービスをサポートするすべてのインスタンスおよび関連するノード上でアップまたはダウンしていることを意味するからである。この場合、所与のサービスに対する支持インスタンスおよびノードはマッピングされ、どこにおいても利用可能となる。したがって、インスタンス、ノードおよび濃度の特性は、このようなイベントに応答するのに不必要である。同様に、「データベース」タイ
プのイベントについて、表2は、インスタンス名およびノード名の特性が、このタイプのイベントに対するイベントペイロードから除外され得ることを示す。これは、定義によれば、データベースタイプのイベントが、データベース全体がアップまたはダウンしていること、すなわち、データベースにおけるすべてのインスタンスおよびノードがアップまたはダウンしていることを意味するからである。この場合、データベースクラスタの構成はどこにおいても利用可能である。
ノードが障害を起こすと、イベントタイプ=ノードであるイベントがトリガされて、ノードがダウンしていることが通知される。一実施例においては、他のイベントはトリガされない、すなわち、サービス、サービス_メンバまたはインスタンスタイプのイベントは、インスタンスおよびサービスへのノードの利用可能なマッピングのために不要となる。ノードイベントはクラスタの具体化を含んでおり、これにより、重複イベントの重複処理をなくすことが容易になる。表2はサービス名、データベース名、インスタンス名および濃度特性が、このタイプのイベントに対するイベントペイロードから除外され得ることを示す。何らかの理由で、特定のノードはリスタートできない場合、イベントタイプ=ノードおよび状態NOT_RESTARTINGであるイベントがトリガされて、介入が必要であることを示す。
イベント処理
概して、所与の加入者は、セッション接続が確立されると記録されるセッション位置情報とイベントペイロードにおける情報を適合させることにより、システム状態変更によって影響を被り、所与の加入者に関連付けられる1つ以上のセッションを識別することによって通知イベントに応答する。セッション位置情報(すなわち、セッション署名)は、セッションの位置、たとえばサービス、データベース、インスタンス、ノードおよびデータベースがセッションに関連付けられているもの、を識別する。同様の「イベント」署名がイベントペイロードの一部として与えられるが、これは、セッションの確立時に記録された1つ以上のセッションの署名と正確に適合されて、システム状態変更によって影響を被るセッションを決定し得る。
セッション位置情報が記録される態様は実現例ごとに異なっていてもよい。非限定的な例については、セッション位置情報がさまざまな加入者にとってアクセス可能な「掲示板」機構にポスティングされ得るか、または、当該セッション位置情報が索引付きテーブルまたはハッシュテーブルに記憶され得る。さまざまな加入者が通知イベントに応答して実行し得る詳細なアクションはこの説明の範囲の外にある。
たとえば、接続プールマネージャは、クラスタにおけるリソースへの状態変更に応答して発行される通知イベントの1つの起こり得る加入者またはクライアントとして記載される。接続プールマネージャは、サーバ104(図1)との、セッションのための接続のために接続プールおよび要求を管理するソフトウェア構成要素である。接続プールマネージャが、たとえばサーバ104のインスタンス108a〜108nにわたる接続プールからの接続を再分散させるためにさまざまなタイプの通知イベントに応答し得る態様が、「クラスタ化されたコンピューティングシステムにおけるイベントに応答した接続の高速な再編成(“Fast Reorganization of Connections In Response To An Event In a Clustered Computing System”)」と題された米国特許出願第10/XXX,XXX号(番号第50277−2335)に詳細に記載される。
たとえば、接続プールマネージャは、各々のサービスのために、物理的な位置、すなわちインスタンス、ノード、データベースへの接続のマッピングを維持する。こうして、クライアント−サーバセッションおよびバッチセッションを含む各セッションの位置が固有に識別される。接続が確立されると常に、接続プールマネージャがその接続についての位
置を記録する。これらのデータは、システム状態変更通知イベントが受信されるたびに、接続プールを高速で再分散させるのに用いられる。イベントに応じた接続の高速な再分散は、セッション要求が受信されるときに使用する準備のできている接続をプールが備えることを確実にすることによって、クラスタにおける作業の実行時間の分散に役立つ。
他の非限定的な例については、(1)サーバサイドのコールアウトに応答して、ジョブおよびバッチプロセスが、何らかの理由でサービスが停止すると止められ得、サービスが始まると直ちに開始/再開され得、(2)コールアウトが、ページングおよび電子メール警報機構のために用いられ得、(3)コールアウトが、ハイアベイラビリティ・アップタイム記録のために用いられ得る。この場合、アップタイムおよびダウンタイムは、「計画された」(たとえば、ユーザによって開始される)または「計画されない」(たとえば障害によって開始される)などのシステム変更についての理由とともに、分散され得る。
実現機構
この明細書中に記載されるように、クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知のための技術はさまざまな方法で実現可能であり、この発明はいかなる特定の実現例にも限定されない。その方策は、システムもしくは装置に組込まれ得るかまたはスタンドアロン機構として実現され得る。さらに、当該方策は、コンピュータソフトウェア、ハードウェアまたはその組合せで実現され得る。
図2は、この発明の実施例が実現され得るハイアベイラビリティ(HA)システムを概略的に示すブロック図である。図示されたHAシステム200の「層」は、クラスタサービスノードメンバシップモジュール、内部イベントシステム、ならびに、外部イベントシステムに通信可能に連結されるサービス、データベースおよびインスタンスを含むHAフレームワークを含む。
HAシステム200は、リソース、すなわちサービス、データベースおよびインスタンスのためのアクションの開始および終了を実行する。開始アクションはUPイベントをポスティングし、停止アクションはDOWNイベントをポスティングする。HAシステム200は、リソースがもはや実行できない場合、NOT_RESTARTINGイベントをポスティングする。
ハードウェア外観
図3は、この発明の実施例が実現され得るコンピュータシステム300を示すブロック図である。コンピュータシステム300は、情報を伝達するためのバス302または他の通信機構と、バス302に結合され情報を処理するためのプロセッサ304とを含む。コンピュータシステム300はまた、バス302に結合されてプロセッサ304が実行する命令および情報を格納するためのメインメモリ306、たとえばランダムアクセスメモリ(RAM)または他の動的記憶装置を含む。メインメモリ306はまた、プロセッサ304が実行する命令の実行中に、一時的数値変数または他の中間情報を格納するために使用可能である。コンピュータシステム300は、バス302に結合されてプロセッサ304に対する静的情報および命令を格納するための読出専用メモリ(ROM)308または他の静的記憶装置をさらに含む。磁気ディスクまたは光学ディスク等の記憶装置310が設けられてバス302に結合され、情報および命令を格納する。
コンピュータシステム300は、コンピュータユーザに情報を表示するためのディスプレイ312、たとえば陰極線管(CRT)に、バス302を介して結合され得る。英数字キーおよび他のキーを含む入力装置314がバス302に結合されて、情報およびコマンド選択をプロセッサ304に伝達する。別の種類のユーザ入力装置には、方向情報およびコマンド選択をプロセッサ304に伝達してディスプレイ312上のカーソル動作を制御
するためのカーソル制御316、たとえばマウス、トラックボールまたはカーソル方向キーがある。この入力装置は、典型的には、2つの軸、すなわち第1の軸(たとえば、x)および第2の軸(たとえば、y)において2自由度を有し、これによって入力装置は平面上で位置を特定できる。
この発明は、この明細書に記載された技術を実現するためにコンピュータシステム300を用いることに関する。この発明の一実施例によると、これらの技術は、メインメモリ306に含まれる1つ以上の命令からなる1つ以上のシーケンスをプロセッサ304が実行することに応答して、コンピュータシステム300により実行される。このような命令は、別のコンピュータ読取可能な媒体、たとえば記憶装置310等からメインメモリ306内に読出すことができる。メインメモリ306に含まれる命令のシーケンスを実行することにより、プロセッサ304はこの明細書に記載された処理ステップを実行する。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せてハードワイヤード回路を用いて、この発明を実現し得る。したがって、この発明の実施例は、ハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
この明細書で用いられる「コンピュータ読取可能な媒体」という用語は、プロセッサ304に対する実行のために命令を提供することにかかわる任意の媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体および伝送媒体を含む多くの形態をとり得るが、これらに限定されない。不揮発性媒体には、たとえば記憶装置310等の光学または磁気ディスクが含まれる。揮発性媒体には、メインメモリ306等の動的メモリが含まれる。伝送媒体には、同軸ケーブル、銅線および光ファイバが含まれ、バス302を有するワイヤが含まれる。伝送媒体はまた、電波および赤外線データ通信中に生成されるような音波または光波の形をとり得る。
コンピュータ読取可能な媒体の一般的な形態には、たとえばフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、孔パターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、任意の他のメモリチップもしくはカートリッジ、以下に述べる搬送波、またはコンピュータが読出すことのできる任意の他の媒体が含まれる。
プロセッサ304に対する実行のために1つ以上の命令からなる1つ以上のシーケンスを伝える際に、コンピュータ読取可能な媒体のさまざまな形態が関与し得る。たとえば、命令は、最初に遠隔コンピュータの磁気ディスクで伝えられ得る。遠隔コンピュータはそれらの命令をその動的メモリにロードして、モデムを用いて電話回線経由で送信することができる。コンピュータシステム300に対してローカルなモデムが電話回線上のデータを受信して、赤外線送信機を用いてそのデータを赤外線信号に変換し得る。赤外線信号によって搬送されたデータは赤外線検出器によって受信され得、適切な回路がそのデータをバス302上に出力することができる。バス302はデータをメインメモリ306に搬送し、そこからプロセッサ304が命令を取り出して実行する。メインメモリ306が受信した命令は、プロセッサ304による実行前または実行後に、記憶装置310に任意に格納され得る。
コンピュータシステム300はまた、バス302に結合された通信インターフェイス318を含む。通信インターフェイス318は、ローカルネットワーク322に接続されたネットワークリンク320に対する双方向のデータ通信結合をもたらす。たとえば、通信インターフェイス318は、対応する種類の電話回線に対するデータ通信接続を設けるための統合サービスデジタル網(ISDN)カードまたはモデムであり得る。別の例として、通信インターフェイス318は、互換性のあるLANにデータ通信接続を設けるための
ローカルエリアネットワーク(LAN)カードであり得る。無線リンクもまた実現することができる。このようないずれの実現例においても、通信インターフェイス318は、さまざまな種類の情報を表わすデジタルデータストリームを搬送する電気的、電磁的または光学的信号を送受信する。
ネットワークリンク320は、典型的には、1つ以上のネットワーク経由で他のデータ装置に対するデータ通信をもたらす。たとえば、ネットワークリンク320は、ローカルネットワーク322経由でホストコンピュータ324、またはインターネットサービスプロバイダ(ISP)326が作動させるデータ装置に接続をもたらし得る。さらに、ISP326は、現在一般に「インターネット」328と称されるワールドワイドパケットデータ通信網を介してデータ通信サービスを提供する。ローカルネットワーク322およびインターネット328はともに、デジタルデータストリームを搬送する電気的、電磁的または光学的信号を用いる。さまざまなネットワークを経由する信号と、コンピュータシステム300との間でデジタルデータをやり取りする通信インターフェイス318を経由する、ネットワークリンク320上の信号とは、情報を運ぶ搬送波の例示的形態である。
コンピュータシステム300は、ネットワーク、ネットワークリンク320および通信インターフェイス318を介してメッセージを送信して、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ330は、インターネット328、ISP326、ローカルネットワーク322および通信インターフェイス318経由でアプリケーションプログラムに対して要求されたコードを伝送し得る。
受信されたコードは、受信されたときにプロセッサ304によって実行され得、および/または後の実行のために記憶装置310もしくは他の不揮発性記憶装置に格納され得る。このようにして、コンピュータシステム300は搬送波の形でアプリケーションコードを得ることができる。
展開例および代替例
この発明の代替的な実施例は、上述の説明全体にわたって、実施例の文脈の最適な理解を容易にする個所に記載される。さらに、この発明は、その特定の実施例に関連して記載されてきた。しかしながら、この発明のより広範な精神および範囲から逸脱することなくさまざまな変形および変更がなされ得ることが明らかとなるだろう。たとえば、この発明の実施例は、サーバの文脈においてこの明細書中に記載されるが、記載された技術は、システム接続が割振られるかまたは割当てられる、計算クラスタまたは計算グリッドとして構成されるシステムなどのいかなるクラスタ化されたコンピューティングシステムにも適用可能である。したがって、明細書および図面は、これに応じて、限定的な意味ではなく例示の意味であるとみなされるべきである。
加えて、この説明においては、あるプロセスステップは特定の順序で述べられており、アルファベットおよび英数字の表示を用いることにより、あるステップが識別され得る。この説明において具体的に述べられない限り、この発明の実施例は、このようなステップを実行する特定の順序に必ずしも限定されるわけではない。特に、この表示は、単にステップを便宜的に識別するのに用いられるだけであり、このようなステップを実行する特定の順序を特定するかまたは必要とすることを意図するものではない。
実施例が実現され得る動作環境を示すブロック図である。 この発明の実施例が実現され得るハイアベイラビリティ(HA)システムを概略的に示すブロック図である。 この発明の実施例が実現され得るコンピュータシステムを示すブロック図である。

Claims (28)

  1. サーバインスタンスのホストとなる相互接続された複数のノードのクラスタを含むクラスタ化された計算環境についての変更を伝達するための方法であって、コンピュータによって実現される以下のステップを含み、前記ステップは、
    前記クラスタにおける作業を実行する特定のサービスに割当てられるリソースへの状態変更の表示を受信するステップと、
    前記リソースへの前記状態変更に応答して、前記リソースを識別する第1のデータと、前記リソースの状態を示す第2のデータとを直ちに生成するステップと、
    1つ以上の加入者の組に前記第1および第2のデータを発行するステップとを含み、
    前記1つ以上の加入者の組のうちの各加入者は、コンピュータでアプリケーションを実行するプロセスを含み、前記相互接続された複数のノードは、前記コンピュータを含まず、
    前記第1のデータは、前記クラスタでセッションを確立することに応じて生成され前記セッションに関連付けられるサービスを識別する識別情報に基づいて、前記状態変更によって前記リソースに影響が及ぼされる前記クラスタで1つ以上のセッションを識別するよう前記1つ以上の加入者の組のうちの一加入者によって用いられ、
    前記加入者は、以下のことの1つを実行することにより、前記第2のデータによって示される状態変更に基づいて、前記セッションに関連付けられたアプリケーションに前記リソースとの相互作用を変更させ、前記以下のことは、
    a) 前記状態変更が前記リソースの終了である時に、前記リソースからの応答を待っているアプリケーションを中断することと、
    b) 前記状態変更が前記リソースを開始している時に、前記リソースの要求を作成する作業を再分散することと、
    c) 前記状態が前記リソースを再始動できない時に、アプリケーションに、前記リソースからのサービスを要求させないこと、とを含む、方法。
  2. 前記第2のデータにおいて示される前記リソースの前記状態は、前記リソースの終了である、請求項1に記載の方法。
  3. 前記クラスタはデータベースクラスタであり、前記リソースは、前記状態変更によって影響を被る前記データベースクラスタを識別することにより、前記第1のデータにおいて識別される、請求項1に記載の方法。
  4. 前記作業はサービスに関連付けられ、前記リソースはさらに、前記状態変更によって影響を被る前記サービスを識別することによって前記第1のデータにおいて識別される、請求項3に記載の方法。
  5. 前記リソースは、さらに、前記状態変更によって影響を被るインスタンスおよびノードを識別することによって前記第1のデータにおいて識別される、請求項4に記載の方法。
  6. 前記リソースを識別する前記第1のデータと前記セッションに関連付けられる前記識別情報を適合させることに基づいて、前記状態変更によって影響を被る前記データベースクラスタで1つ以上のセッションを識別する、コンピュータによって実現されるステップをさらに含む、請求項3に記載の方法。
  7. 前記1つ以上のセッションを中断する、コンピュータによって実現されるステップをさらに含む、請求項6に記載の方法。
  8. 前記リソースは、前記状態変更によって影響を被るノードを識別することによって前記第1のデータにおいて識別される、請求項1に記載の方法。
  9. 前記作業はサービスに関連付けられ、前記リソースは、サービスが特定のインスタンスにおいて終了したことを識別し、かつ前記サービスが終了した前記特定のインスタンスを識別することにより、前記第1のデータにおいて識別される、請求項1に記載の方法。
  10. 前記作業はサービスに関連付けられ、前記リソースは、サービス全体が終了したことを識別し、かつ終了した前記サービスを識別することによって前記第1のデータにおいて識別される、請求項1に記載の方法。
  11. 前記リソースは、特定のインスタンスが終了したことを識別し、かつ終了した前記特定のインスタンスを識別することにより、前記第1のデータにおいて識別される、請求項1に記載の方法。
  12. 前記リソースは、前記インスタンスがすべて終了したことを識別し、かつ前記インスタンスが関連付けられる前記クラスタを識別することにより、前記第1のデータにおいて識別される、請求項1に記載の方法。
  13. 前記作業はサービスに関連付けられ、前記リソースは、サービスが特定のインスタンスにおいて開始したことを識別し、かつ前記サービスが開始した前記特定のインスタンスを識別することにより、前記第1のデータにおいて識別される、請求項1に記載の方法。
  14. 前記リソースは、開始した前記サービスをサポートするインスタンスの数を識別することによって前記第1のデータにおいて識別される、請求項13に記載の方法。
  15. 前記作業はサービスに関連付けられ、前記リソースは、サービスがいずれかのインスタンス上で開始したことを識別し、かつ開始した前記サービスを識別することによって、前記第1のデータにおいて識別される、請求項1に記載の方法。
  16. 前記リソースは、開始した前記サービスをサポートするインスタンスの数を識別することによって、前記第1のデータにおいて識別される、請求項15に記載の方法。
  17. 前記リソースは、特定のインスタンスが開始したことを識別し、かつ開始した前記インスタンスを識別することによって、前記第1のデータにおいて識別される、請求項1に記載の方法。
  18. 前記リソースは、インスタンスが開始したことを識別し、かつ前記インスタンスが関連付けられる前記クラスタを識別することによって、前記第1のデータにおいて識別される、請求項1に記載の方法。
  19. 前記リソースは、ノードが終了したことを識別し、かつ終了した前記ノードを識別することによって、前記第1のデータにおいて識別される、請求項1に記載の方法。
  20. 発行するステップは、前記クラスタを管理するクラスタウェアの一部ではないプロセスを通じて前記第1および第2のデータを発行するステップを含む、請求項1に記載の方法。
  21. 前記第1および第2のデータの加入者は、前記第1および第2のデータに基づいて前記クラスタへの接続を再分散させることにより、前記状態変更に応答する接続プールマネージャである、請求項1に記載の方法。
  22. 前記第1および第2のデータの加入者は、前記第1および第2のデータに基づいて、前記状態変更によって影響を被る前記作業の前記クラスタ内における再分散を要求することによって、前記状態変更に応答するクライアントアプリケーションである、請求項1に記載の方法。
  23. 前記第1および第2のデータの加入者は、前記状態変更に基づいて前記クラスタ内におけるルーチンの実行を要求することにより、前記第1および第2のデータに応答するバッチジョブである、請求項1に記載の方法。
  24. 前記作業はサービスに関連付けられ、前記リソースは、アプリケーションのサブスクライブが前記サービスの使用の再試行から中断されるように前記サービスが再開されないことを識別することによって、前記第1のデータにおいて識別される、請求項1に記載の方法。
  25. 1つ以上のプロセッサによって実行されると、請求項1〜24のいずれかに記載の方法を1つ以上のプロセッサに実行させる、プログラム
  26. システムであって、
    データベースに通信可能に連結される1組の相互接続されたノードによってホストにされる1組のサーバインスタンスを含むデータベースクラスタと、
    前記クラスタにおけるリソースと前記クラスタにおける作業の分散および実行とを管理するクラスタ管理ソフトウェアとを含み、前記リソースはそれぞれの特定のサービスに関連付けられ、前記システムはさらに、
    セッションが前記クラスタで確立されると生成され、前記セッションに関連付けられるリソースを識別する第1のデータに基づいて、それぞれの状態変更によって影響を被る前記クラスタで1つ以上のセッションを識別する際に用いるための、前記リソースの状態変更についての情報を発行する通知システムを含み、
    リソースへの状態変更についての各々の前記情報は、前記リソースが割当てられた1つ以上の特定のサービスの識別および前記リソースの状態を含み、前記リソースの状態は第2のデータで示され、
    前記通知システムは、1つ以上の加入者の組に前記第1および第2のデータを発行するように構成されており、前記1つ以上の加入者の組のうちの各加入者は、コンピュータでアプリケーションを実行するプロセスを含み、前記相互接続された複数のノードは、前記コンピュータを含まず、
    前記第1のデータは、前記クラスタでセッションを確立することに応じて生成され前記セッションに関連付けられるサービスを識別する識別情報に基づいて、前記状態変更によって前記リソースに影響が及ぼされる前記クラスタで1つ以上のセッションを識別するよう前記1つ以上の加入者の組のうちの一加入者によって用いられ、
    前記加入者は、以下のことの1つを実行することにより、前記第2のデータによって示される状態変更に基づいて、前記セッションに関連付けられたアプリケーションに前記リソースとの相互作用を変更させ、前記以下のことは、
    a) 前記状態変更が前記リソースの終了である時に、前記リソースからの応答を待っているアプリケーションを中断することと、
    b) 前記状態変更が前記リソースを開始している時に、前記リソースの要求を作成する作業を再分散することと、
    c) 前記状態が前記リソースを再始動できない時に、アプリケーションに、前記リソースからのサービスを要求させないこと、とを含む、システム。
  27. 前記第2のデータにおいて示される前記リソースの前記状態は、前記リソースの終了である、請求項26に記載のシステム。
  28. 状態変更についての前記情報において識別される前記リソースは、(a)サービス、(b)前記インスタンスの特定のインスタンス上で実行されているサービスメンバ、(c)前記データベースクラスタ、(d)前記インスタンスのうちの1つ、および(e)前記ノードのうちの1つからなる群のうちの少なくとも1つに関連付けられる、請求項26に記載のシステム。
JP2006523435A 2003-08-14 2004-08-13 クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知 Active JP4637842B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US49536803P 2003-08-14 2003-08-14
US50009603P 2003-09-03 2003-09-03
US10/917,660 US7747717B2 (en) 2003-08-14 2004-08-12 Fast application notification in a clustered computing system
PCT/US2004/026506 WO2005017746A2 (en) 2003-08-14 2004-08-13 Fast application notification in a clustered system

Publications (3)

Publication Number Publication Date
JP2007503628A JP2007503628A (ja) 2007-02-22
JP2007503628A5 JP2007503628A5 (ja) 2007-09-20
JP4637842B2 true JP4637842B2 (ja) 2011-02-23

Family

ID=34139638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006523435A Active JP4637842B2 (ja) 2003-08-14 2004-08-13 クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知

Country Status (8)

Country Link
US (1) US7747717B2 (ja)
EP (1) EP1654645B1 (ja)
JP (1) JP4637842B2 (ja)
AU (1) AU2004264635B2 (ja)
CA (1) CA2533737C (ja)
DE (1) DE602004022679D1 (ja)
HK (1) HK1086644A1 (ja)
WO (1) WO2005017746A2 (ja)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041821B2 (en) * 2003-11-26 2011-10-18 International Business Machines Corporation Connection pool management
US9262490B2 (en) * 2004-08-12 2016-02-16 Oracle International Corporation Adaptively routing transactions to servers
US20060069771A1 (en) * 2004-09-29 2006-03-30 International Business Machines Corporation Method, system and program product for decentralized monitoring of server states within a cell of nodes
US7523195B2 (en) * 2004-10-29 2009-04-21 International Business Machines Corporation Method and system for monitoring server events in a node configuration by using direct communication between servers
US20060136933A1 (en) * 2004-12-17 2006-06-22 Microsoft Corporation Server-side eventing for managed server applications
US7580916B2 (en) * 2005-03-15 2009-08-25 Microsoft Corporation Adjustments to relational chart of accounts
US20070112952A1 (en) * 2005-11-14 2007-05-17 Kabushiki Kaisha Toshiba And Toshiba Tec Kabushiki Kaisha System and method for synchronized startup of document processing services
US7761431B2 (en) 2006-02-16 2010-07-20 International Business Machines Corporation Consolidating session information for a cluster of sessions in a coupled session environment
US20070198556A1 (en) * 2006-02-21 2007-08-23 Lawson Software, Inc. Data unification models
US8095937B1 (en) * 2006-03-27 2012-01-10 Emc Corporation Methods and apparatus providing payload event processing for managed objects
US8458725B2 (en) * 2006-04-10 2013-06-04 Oracle International Corporation Computer implemented method for removing an event registration within an event notification infrastructure
US9390118B2 (en) * 2006-04-19 2016-07-12 Oracle International Corporation Computer implemented method for transforming an event notification within a database notification infrastructure
US7895600B2 (en) 2006-05-10 2011-02-22 Oracle International Corporation Method of optimizing propagation of non-persistent messages from a source database management system to a destination database management system
US7761413B2 (en) * 2006-05-10 2010-07-20 Oracle International Corporation Method of ensuring availability of event notification registrations of a database management system
US8464275B2 (en) * 2006-05-10 2013-06-11 Oracle International Corporation Method of using a plurality of subscriber types in managing a message queue of a database management system
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US8984108B2 (en) * 2007-05-03 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Dynamic CLI mapping for clustered software entities
JP2009217587A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd バッチ処理装置及び方法
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
EP2335402A4 (en) 2008-10-01 2013-04-24 Twilio Inc TELEPHONY WEB EVENT SYSTEM AND METHOD
US8886787B2 (en) * 2009-02-26 2014-11-11 Microsoft Corporation Notification for a set of sessions using a single call issued from a connection pool
EP2404412B1 (en) 2009-03-02 2019-05-01 Twilio Inc. Method and system for a multitenancy telephone network
US8938406B2 (en) * 2009-07-30 2015-01-20 Hewlett-Packard Development Company, L.P. Constructing a bayesian network based on received events associated with network entities
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US20110173591A1 (en) * 2010-01-13 2011-07-14 Target Brands, Inc. Unit Test Generator
US8661454B2 (en) * 2010-01-26 2014-02-25 Target Brands, Inc. System and method for receiving and transmitting event information
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459925B2 (en) * 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) * 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8694625B2 (en) 2010-09-10 2014-04-08 International Business Machines Corporation Selective registration for remote event notifications in processing node clusters
US8516032B2 (en) 2010-09-28 2013-08-20 Microsoft Corporation Performing computations in a distributed infrastructure
US8724645B2 (en) 2010-09-28 2014-05-13 Microsoft Corporation Performing computations in a distributed infrastructure
US8719402B2 (en) 2010-10-21 2014-05-06 Microsoft Corporation Goal state communication in computer clusters
US8984120B2 (en) * 2010-12-16 2015-03-17 International Business Machines Corporation Determining an unexpected disconnect event constraint within a text exchange session
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US8521860B2 (en) 2011-03-29 2013-08-27 Microsoft Corporation Providing a witness service
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2759123B1 (en) 2011-09-21 2018-08-15 Twilio, Inc. System and method for authorizing and connecting application developers and users
US10509705B2 (en) * 2011-11-04 2019-12-17 Veritas Technologies Llc Application protection through a combined functionality failure manager
US9288177B2 (en) * 2011-12-14 2016-03-15 International Business Machines Corporation Inventory updating of an internet protocol (IP) alias within a highly available computing cluster
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9317344B2 (en) 2012-02-16 2016-04-19 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US8738051B2 (en) 2012-07-26 2014-05-27 Twilio, Inc. Method and system for controlling message routing
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US9087193B2 (en) 2012-11-13 2015-07-21 Gogo Llc Communication system and method for nodes associated with a vehicle
US9116860B2 (en) 2012-12-14 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9122652B2 (en) * 2012-12-17 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9367262B2 (en) * 2013-02-26 2016-06-14 Seagate Technology Llc Assigning a weighting to host quality of service indicators
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
CN103279834A (zh) * 2013-06-03 2013-09-04 国家电网公司 变电站监控信息分类自动化处理方法
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
JP6206496B2 (ja) 2013-07-17 2017-10-04 富士通株式会社 クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9928118B1 (en) * 2013-11-01 2018-03-27 Ca, Inc. Detecting tape allocation deadlocks in computer systems using tape device allocation serializer software
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9960964B2 (en) * 2014-02-18 2018-05-01 Cellos Software Ltd System, method and apparatus to manage services in a network
US9973569B2 (en) * 2014-02-21 2018-05-15 Cellos Software Ltd. System, method and computing apparatus to manage process in cloud infrastructure
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US11829350B2 (en) * 2014-07-28 2023-11-28 Micro Focus Llc Detection of abnormal transaction loops
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US20170052866A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
US10275467B2 (en) 2015-12-15 2019-04-30 Microsoft Technology Licensing, Llc Multi-level high availability model for an object storage service
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10409579B1 (en) 2016-04-19 2019-09-10 Wells Fargo Bank, N.A. Application healthcheck communicator
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US20180006987A1 (en) * 2016-07-01 2018-01-04 John Brian Pipe Method and system for partial topic updates in an improved data distribution service
US10275828B2 (en) * 2016-11-02 2019-04-30 Experian Health, Inc Expanded data processing for improved entity matching
US11194829B2 (en) 2017-03-24 2021-12-07 Experian Health, Inc. Methods and system for entity matching
US10671320B2 (en) * 2018-07-24 2020-06-02 EMC IP Holding Company LLC Clustered storage system configured with decoupling of process restart from in-flight command execution
US10922138B2 (en) 2018-10-30 2021-02-16 Google Llc Resource conservation for containerized systems
US11652892B2 (en) 2019-09-30 2023-05-16 Oracle International Corporation Automatic connection load balancing between instances of a cluster

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US37146A (en) * 1862-12-16 Improved knapsack-collar
JPH06214969A (ja) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> 情報通信方法および装置
US5666486A (en) 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
JP3935986B2 (ja) 1995-12-26 2007-06-27 富士通株式会社 ネットワークにおける情報資源の変化を通知するネットワーク情報資源監視システム
US5721825A (en) 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
US6006274A (en) 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US5890167A (en) 1997-05-08 1999-03-30 Oracle Corporation Pluggable tablespaces for database systems
US7031987B2 (en) 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
US6088728A (en) 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6243751B1 (en) 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
US6192401B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
SE511098C2 (sv) * 1997-12-08 1999-08-02 Ericsson Telefon Ab L M Kommunikationssystem och förfarande för att sända meddelanden i ett kommunikationssystem
US6279001B1 (en) * 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6105067A (en) 1998-06-05 2000-08-15 International Business Machines Corp. Connection pool management for backend servers using common interface
US20010051956A1 (en) 1998-09-29 2001-12-13 Paul Bird Global caching and sharing of sql statements in a heterogeneous application environment
US6263433B1 (en) 1998-09-30 2001-07-17 Ncr Corporation Provision of continuous database service and scalable query performance using active redundant copies
US6466949B2 (en) * 1998-11-23 2002-10-15 Myway.Com Corporation Performing event notification in a database having a distributed web cluster
US6438705B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US7299294B1 (en) * 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US6466978B1 (en) * 1999-07-28 2002-10-15 Matsushita Electric Industrial Co., Ltd. Multimedia file systems using file managers located on clients for managing network attached storage devices
AU4717901A (en) * 1999-12-06 2001-06-25 Warp Solutions, Inc. System and method for dynamic content routing
JP2001256333A (ja) 2000-01-06 2001-09-21 Canon Inc 作業割付システム、作業割付方法、分散型クライアントサーバシステム及びコンピュータプログラム記憶媒体
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter
US7506034B2 (en) 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US6950848B1 (en) 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
WO2002005116A2 (en) 2000-07-06 2002-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Automatic database replication server and methods
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
EP1323040A4 (en) * 2000-09-08 2005-08-03 Goahead Software Inc SYSTEM AND METHOD FOR MANAGING CLUSTERS WITH MULTIPLE NODES
US7293255B2 (en) * 2000-09-25 2007-11-06 Sun Microsystems, Inc. Apparatus and method for automated creation of resource types
US20020055982A1 (en) 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
US7512686B2 (en) 2000-12-21 2009-03-31 Berg Mitchell T Method and system for establishing a data structure of a connection with a client
US20020099598A1 (en) 2001-01-22 2002-07-25 Eicher, Jr. Daryl E. Performance-based supply chain management system and method with metalerting and hot spot identification
US20020129146A1 (en) * 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
US6952766B2 (en) * 2001-03-15 2005-10-04 International Business Machines Corporation Automated node restart in clustered computer system
US6738933B2 (en) 2001-05-09 2004-05-18 Mercury Interactive Corporation Root cause analysis of server system performance degradations
JP4953518B2 (ja) 2001-05-14 2012-06-13 ケープレックス・インク オブジェクト指向技術を用いた情報共有方法及び装置
JP4306152B2 (ja) * 2001-06-26 2009-07-29 株式会社日立製作所 クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム
US7174379B2 (en) 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
TW578413B (en) 2001-08-16 2004-03-01 Flarion Technologies Inc Methods and apparatus for controlling IP applications during resource shortages
US7093250B1 (en) * 2001-10-11 2006-08-15 Ncr Corporation Priority scheduler for database access
US6892316B2 (en) * 2001-11-02 2005-05-10 International Business Machines Corporation Switchable resource management in clustered computer system
US7177823B2 (en) * 2001-11-06 2007-02-13 International Business Machines Corporation In-queue jobs information monitoring and filtering
US7548973B2 (en) * 2001-11-30 2009-06-16 Oracle International Corporation Managing a high availability framework by enabling and disabling individual nodes
DE60106467T2 (de) * 2001-12-14 2006-02-23 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
US7039654B1 (en) 2002-09-12 2006-05-02 Asset Trust, Inc. Automated bot development system
US20080027769A1 (en) 2002-09-09 2008-01-31 Jeff Scott Eder Knowledge based performance management system
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
US9087319B2 (en) 2002-03-11 2015-07-21 Oracle America, Inc. System and method for designing, developing and implementing internet service provider architectures
US7392421B1 (en) * 2002-03-18 2008-06-24 Symantec Operating Corporation Framework for managing clustering and replication
CA2377649C (en) * 2002-03-20 2009-02-03 Ibm Canada Limited-Ibm Canada Limitee Dynamic cluster database architecture
US20030229695A1 (en) 2002-03-21 2003-12-11 Mc Bride Edmund Joseph System for use in determining network operational characteristics
NZ518575A (en) * 2002-04-24 2004-08-27 Open Cloud Ltd Distributed application server using a peer configuration
US6718394B2 (en) * 2002-04-29 2004-04-06 Harris Corporation Hierarchical mobile ad-hoc network and methods for performing reactive routing therein using ad-hoc on-demand distance vector routing (AODV)
US7035858B2 (en) * 2002-04-29 2006-04-25 Sun Microsystems, Inc. System and method dynamic cluster membership in a distributed data system
US7496655B2 (en) 2002-05-01 2009-02-24 Satyam Computer Services Limited Of Mayfair Centre System and method for static and dynamic load analyses of communication network
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US7774473B2 (en) * 2002-07-31 2010-08-10 Oracle America, Inc. System and method for sticky routing of requests within a server farm
US7082117B2 (en) * 2002-08-12 2006-07-25 Harris Corporation Mobile ad-hoc network with intrusion detection features and related methods
US8005979B2 (en) 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
US7346744B1 (en) * 2002-11-04 2008-03-18 Newisys, Inc. Methods and apparatus for maintaining remote cluster state information
US7406481B2 (en) 2002-12-17 2008-07-29 Oracle International Corporation Using direct memory access for performing database operations between two or more machines
US20040176996A1 (en) 2003-03-03 2004-09-09 Jason Powers Method for monitoring a managed system
US7284054B2 (en) 2003-04-11 2007-10-16 Sun Microsystems, Inc. Systems, methods, and articles of manufacture for aligning service containers
US7272688B1 (en) * 2003-04-28 2007-09-18 Newisys,, Inc. Methods and apparatus for providing cache state information
US20040243699A1 (en) 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
US7349340B2 (en) 2003-06-18 2008-03-25 Hewlett-Packard Development Company, L.P. System and method of monitoring e-service Quality of Service at a transaction level
JP2005038354A (ja) 2003-07-18 2005-02-10 Sap Ag データ受け渡し制御装置、データ受け渡し制御方法、及びデータ受け渡し制御プログラム
US8713186B2 (en) 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling

Also Published As

Publication number Publication date
CA2533737A1 (en) 2005-02-24
AU2004264635A2 (en) 2005-02-24
US7747717B2 (en) 2010-06-29
HK1086644A1 (en) 2006-09-22
EP1654645B1 (en) 2009-08-19
CA2533737C (en) 2012-10-23
US20050038772A1 (en) 2005-02-17
EP1654645A2 (en) 2006-05-10
AU2004264635A1 (en) 2005-02-24
DE602004022679D1 (de) 2009-10-01
JP2007503628A (ja) 2007-02-22
WO2005017746A3 (en) 2005-10-20
AU2004264635B2 (en) 2010-04-01
WO2005017746A2 (en) 2005-02-24

Similar Documents

Publication Publication Date Title
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US11687555B2 (en) Conditional master election in distributed databases
US7953860B2 (en) Fast reorganization of connections in response to an event in a clustered computing system
US10122595B2 (en) System and method for supporting service level quorum in a data grid cluster
CN100549960C (zh) 群集计算系统中改变的快速应用程序通知的方法和系统
US6839752B1 (en) Group data sharing during membership change in clustered computer system
US7676635B2 (en) Recoverable cache preload in clustered computer system based upon monitored preload state of cache
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
US7130897B2 (en) Dynamic cluster versioning for a group
US8365193B2 (en) Recoverable asynchronous message driven processing in a multi-node system
US11550820B2 (en) System and method for partition-scoped snapshot creation in a distributed data computing environment
US10769019B2 (en) System and method for data recovery in a distributed data computing environment implementing active persistence
US10367676B1 (en) Stable leader selection for distributed services
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
US9569224B2 (en) System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
US8230086B2 (en) Hidden group membership in clustered computer system
JP4132738B2 (ja) アプリケーション・サーバのアベイラビリティを判別するコンピュータ化された方法
US20060048020A1 (en) Subscription-based management and distribution of member-specific state data in a distributed computing system
US7769844B2 (en) Peer protocol status query in clustered computer system
US20240028611A1 (en) Granular Replica Healing for Distributed Databases
US10871971B2 (en) Method, electronic device and computer program product for dual-processor storage system

Legal Events

Date Code Title Description
A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20070116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4637842

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250