JP2007524144A - クラスタ装置 - Google Patents

クラスタ装置 Download PDF

Info

Publication number
JP2007524144A
JP2007524144A JP2006515645A JP2006515645A JP2007524144A JP 2007524144 A JP2007524144 A JP 2007524144A JP 2006515645 A JP2006515645 A JP 2006515645A JP 2006515645 A JP2006515645 A JP 2006515645A JP 2007524144 A JP2007524144 A JP 2007524144A
Authority
JP
Japan
Prior art keywords
application
node
instance
agent
application node
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.)
Pending
Application number
JP2006515645A
Other languages
English (en)
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
Priority claimed from DE10330322A external-priority patent/DE10330322A1/de
Application filed by フジツー シーメンス コンピュータース ゲゼルシャフト ミット ベシュレンクテル ハフツング filed Critical フジツー シーメンス コンピュータース ゲゼルシャフト ミット ベシュレンクテル ハフツング
Publication of JP2007524144A publication Critical patent/JP2007524144A/ja
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/101Server selection for load balancing based on network conditions
    • 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
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】少ない構成費用にて作動させることのできるクラスタ装置を提供する。
【解決手段】第1のネットワーク(NW1)と、アプリケーションノード(AK)を成しかつオペレーティングシステム(OS)を有する少なくとも2つのデータ処理システムと、各アプリケーションノード(AK)におけるアプリケーションエージェント(AA)とを有するクラスタ装置において、アプリケーションエージェント(AA)が次の機能を有する。すなわち、
− アプリケーションノード(AK)において実行されるインスタンス(I1,I2,I3)の監視(UB)および認識、
− 新たなインスタンス(I3)の始動またはアプリケーションノードにおいて予定よりも早く終了させられたインスタンスの再始動、
− アプリケーションノード(AK)における新たなインスタンス(I3)の実行が可能であるか否かの評価(BE)および判定、
− ネットワーク(NW1)に接続されているアプリケーションノードのアプリケーションエージェント(AA)へのインスタンス実行要求(AF)、
− ネットワーク(NW1)に接続されているアプリケーションノードのアプリケーションエージェント(AA)へのインスタンス実行要求(AF)引き受け後のメッセージ通知(ME)。

Description

本発明は、ネットワークに接続されている少なくとも2つのアプリケーションノードおよび1つの制御ノードからなるクラスタ装置およびクラスタ装置における方法に関する。
ネットワークを介して結合されかつ設定された課題を共通に処理する複数のコンピュータからなる相互接続はクラスタと呼ばれる。処理すべき課題は小さな部分課題に分解され、個々のコンピュータに割り振られる。この種の公知のクラスタが、とりわけ非常に計算費用のかかる課題に使用されるBiowulfクラスタ(www.biowulf.org)である。他の形式のクラスタの場合には、クラスタの計算速度ではなくて可用性が関心の的である。この形式のクラスタの場合には、クラスタ内の1つのコンピュータの故障時に他のコンピュータが故障コンピュータの課題を時間損失なしにまたは僅かな時間損失のみで引き継ぐことが保証されなければならない。このようなクラスタの例がインターネット内のウェブサーバであり、またはリレーショナルデータベースを有する中央記憶装置でもある。
このような動作様式を有するクラスタは、高可用性クラスタとも呼ばれ、ネットワークを介して互いに接続されている複数の個別サーバを有する。各サーバはクラスタのノードを形成する。アプリケーションが処理されるサーバはアプリケーションノードと呼ばれ、中央の管理、制御または監視の課題を有するサーバは制御ノードを形成する。アプリケーションノードでは種々のアプリケーションまたは大きなアプリケーションの種々の部分アプリケーションが実行され、個々のアプリケーションは互いに関連することができる。クライアントと呼ばれるクラスタ外のコンピュータは、クラスタ内で実行されるアプリケーションにアクセスしてデータを呼び出す。
このようなクラスタは、アプリケーションノードのほかに、中央インスタンスである制御ノードを含む。制御ノードは、個々のアプリケーションノードにおける実行中のアプリケーションを監視し、場合によってはこれを終了させ、またはそれを新たに始動させる。1つのアプリケーションノードの故障時には、中央インスタンスが残りのアプリケーションノード上において、中止されたアプリケーションを新たに始動させる。このために制御ノードは、なおも十分に容量を有するノードを選択する。その際に、クラスタの構成および稼働率に応じて、今まで使用されていなかったアプリケーションノードが使用され、または新たに始動されるアプリケーションの計算負荷ができるだけ一様に配分される。この過程が負荷バランシングと呼ばれる。
他方では中央インスタンスまたは制御ノードを故障から守るために、大抵は中央インスタンスの役目をする他のサーバによって中央インスタンスに冗長性を持たせることが必要である。しかしながら、このようなクラスタ解決策は、アプリケーションノードと中央インスタンスとの間におけるデータ交換が非常に大きくなるという欠点を有する。これに加えて、各アプリケーションノードは中央インスタンスの照会に応答するために計算時間を消費する。更に、制御ノードはあらゆる有り得る故障シナリオを処理することができなければならないために、構成費用およびそれにつながる欠陥のある構成のリスクが少なからず増大する。
本発明の課題は、明白に少ない構成費用にて作動させることのできるクラスタ装置を提供することにある。
本発明は並列関係にある特許請求の範囲によって解決される。
本発明による装置においては、第1のネットワークと、それぞれ1つのアプリケーションノードを成しかつそれぞれ1つのオペレーティングシステムを有する少なくとも2つのデータ処理システムとを備えたクラスタが設けられている。各アプリケーションノードはアプリケーションエージェントを有し、少なくとも1つのアプリケーションノードは実行されるインスタスを有する。アプリケーションエージェントは少なくとも次の機能を含んでいる。すなわち、
− アプリケーションノードにおいて実行される全てのインスタンスの機能性および誤りのない動作の監視、
− 新たなインスタンスの自立した始動またはアプリケーションノードにおいて予定よりも早く終了したインスタンスの再始動、
− アプリケーションノードにおける新たなインスタンスの実行が可能であるか否かの評価および決定、
− ネットワークに接続されているアプリケーションノードのアプリケーションエージェントへのインスタンス実行要求、
− ネットワークに接続されているアプリケーションノードのアプリケーションエージェントへのインスタンス実行要求の引き受け後のメッセージ通知。
各アプリケーションノードには、自立的にかつ他のアプリケーションノードにおけるアプリケーションエージェントならびに中央インスタンスに依存せずに動作するアプリケーションエージェントまたはプログラムが設けられている。特に、アプリケーションエージェントまたはプログラムは、新たなインスタンスの始動もしくは実行が可能であるか否かに関する自立した決定到達ができるように構成されている。アプリケーションエージェントは、アプリケーションエージェントがインスタンス実行要求を受け取るか、またはインスタンスの実行が誤りのない動作のために必要になるときに、この機能を実行する。評価は記憶、要求に含まれる情報および予め定義された規則を含めて行なうことが望ましい。アプリケーションエージェントの記憶は、それが過去の動作状態に関する情報を含むように構成されている。
付加的に、アプリケーションエージェントは他のアプリケーションエージェントへの要求のための機能を有する。それによって、エージェントには、差し迫った故障の際に、自立して中央インスタンスに依存せずに、アプリケーションノードにおいて実行されるインスタンスを他のアプリケーションノードに引き渡すことが可能である。代替として、この機能により、インスタンス実行要求を他のアプリケーションエージェントに送信することもできる。この機能は、実行すべきインスタンスの誤りのない動作のための全てのパラメータを準備するという趣旨で実施されている。
特に、アプリケーションエージェントはこれらの機能により、アプリケーションノードに限定された自立した負荷バランシングを行なうことができる。
各アプリケーションノードにおけるアプリケーションエージェントの待機により中央インスタンスは負担を軽減され、中央インスタンスとアプリケーションノードとの間におけるデータ交信が低減され、監視機能がアプリケーションノードへ移される。アプリケーションエージェントはそれらの側において独立している。
アプリケーションエージェントがインスタンス実行要求を拒絶するとき、他のアプリケーションノードのアプリケーションエージェントへのメッセージを発生する機能を有することが望ましい。
アプリケーションノードにおけるアプリケーションエージェントの監視機能がリスト作成を含む場合に特に有利である。リストは、それぞれアプリケーションノードにおいて実行されるインスタンスと、実行されるインスタンスの実行に必要な全てのデータおよびパラメータを含んでいる。望ましくは、リストが部分リストに分割されていて、各部分リストが1つのインスタンスのためのデータを含んでいる。更に、これらのリストがアプリケーションノードに関する情報および動作パラメータも含んでいると有利である。これらは可能な実行に関する評価の際に使用されることが好ましい。特に簡単なやり方では、ネットワークに接続されているアプリケーションノードのアプリケーションエージェントへのリストもしくは部分リストの発送による要求が行なわれる。
本発明による発展形態では、クラスタ装置は第1のネットワークに接続されている記憶装置を有する。記憶装置はアプリケーションノードのアクセスのために構成されている。記憶装置は、アプリケーションノードにおいて実行可能な少なくとも1つのインスタンスを含んでいる。それによって、クラスタ装置のアプリケーションノードは、記憶装置内のインスタンスにアクセスして実行のために取り込むことができる。全てのデータを記憶装置に保存し、これらを全てのアプリケーションノードに利用可能にすることが望ましい。この共通利用される記憶装置はコストを低減し、クラスタ装置のメンテナンスを簡単化する。
これに関連して、記憶装置にアプリケーションノードのためのオペレーティングシステムが格納されているとよい。それによって、オペレーティングシステムは各アプリケーションノードに個々にインストールされなくてもよく、アプリケーションノードの初期化過程において記憶装置から読み込まれる。したがって、オペレーティングシステムにおける更新および変更を間単に実施することができる。各アプリケーションノードのアプリケーションエージェントがアプリケーションノードで作動するオペレーティングシステムのサービスであることが望ましい。アプリケーションエージェントは共通利用される記憶装置に格納されている。アプリケーションエージェントがアプリケーションノードの初期化の際に自動的に始動されると有意義である。
クラスタ装置の実施形態においては、新たなインスタンスの実行が可能であるアプリケーションノードが設けられている。したがって、クラスタ装置は、アプリケーションノードの故障時に、故障ノードにおいて動作中のアプリケーションを引き継ぐアプリケーションノードを常に含んでいる。
有利な発展形態においては、クラスタ装置は制御ノードとして構成された少なくとも1つのデータ処理システムを有し、データ処理システムは第1のネットワークに接続されている。制御ノードはオペレーティングシステムおよび制御エージェントを有し、制御エージェントは、次の機能を有する。すなわち、
− 第1のネットワークに接続されているアプリケーションノードの機能性の検査、
− そのネットワークに接続されているアプリケーションノードのアプリケーションエージェントへのインスタンス実行要求、
− アプリケーションノードの決定およびこのアプリケーションノードへの新たなインスタンスの実行要求。
制御ノードにおけるこのような制御エージェントを用いることにより、アプリケーションノードと制御ノードとの間のデータ交換が明白に低減される。特に、アプリケーションノードの機能性の検査を簡単な周期的な存在テストによって行なうことができる。合理的な構成においては、アプリケーションノードのアプリケーションエージェントがそれの存在および機能性を制御エージェントによって検査される。個々のインスタンスの検査は省略される。なぜならば、これはアプリケーションエージェントによって行なわれるからである。アプリケーションノードの全体的な故障の際には制御エージェントが故障インスタンスの実行のための新たなアプリケーションノードを決定する。それによって常に誤りのない動作が保証される。
アプリケーションノードの検査の際に、検査すべきアプリケーションノードを、アプリケーションノードのアプリケーションエージェントによって作成されたリストを介して求めることができる。その際にアプリケーションノードのアプリケーションエージェントによって作成されたリストを制御エージェントが任意に使用することができ、制御エージェントがこれを評価する。リストによって制御エージェントはクラスタ装置内に存在するアプリケーションノードに関する知識を得る。したがって、クラスタ装置内に存在するノードの動的な探索が不要となる。特に、本発明による装置のこの構成においては、クラスタ装置に更なるアプリケーションノードを間単に追加することができる。制御エージェントへのリストの伝達後に、新たなアプリケーションノードの周期的な検査が行なわれる。
インスタンスの実行のための要求は、アプリケーションノードのアプリケーションエージェントの作成された部分リストを有することが好ましい。実行要求の機能は、制御エージェントにおいて、またアプリケーションエージェントにおいて、等しく構成されていることが望ましい。
本発明の望ましい発展形態においては、アプリケーションエージェントによって作成されたリストおよび/または実行要求および/または実行要求引き受けメッセージが記憶装置の少なくとも1つのファイルとして格納されている。これは、中央インスタンスもしくは制御インスタンスの存在なしに、各アプリケーションエージェントによるアクセスおよび独立した評価を可能にする。更に、要求が記憶装置のメモリ領域におけるリストの簡単な準備によって通知され、このリストの除去によって引き受け後の通報がなされることが好ましい。
本発明の発展形態では、記憶装置に格納された各インスタンスが一義的な識別番号を有し、識別番号はインスタンスが実行されるアプリケーションノードに割り当てられる。それによって、各アプリケーションノードにおける各インスタンスを既に実行された他のインスタンスに依存せずに実行させることができる。第2のインスタンスへの第1のインスタンスのアクセスは一義的な識別番号を介して行なわれる。それによって、個々のインスタンスおよびアプリケーションエージェントはクラスタ装置の構造的な構成に関する知識を必要としない。1つのノードにおいて複数のインスタンスが実行される場合には、複数の識別番号を割り当てることも勿論可能である。一実施形態においては一義的な識別番号は仮想のIPアドレスである。
第1のネットワークはTCP/IPまたはNFSプロトコルによる通信を行うように構成されているとよい。両プロトコルは多数のデータ伝送および管理の可能性をもたらし、特に間単に実現することができる。
これに関連して、少なくとも1つの制御ノードはアプリケーションノードの初期化プロセスを制御するための手段を有し、初期化プロセスはアプリケーションノードのオペレーティングシステムの読み込みのためのコマンドを有することが望ましい。したがって、この手段により、制御ノードによってアプリケーションノードにおける初期化プロセスが始動され、初期化プロセスがオペレーティングシステムのロードをもたらす。特に、初期化プロセスの間にアプリケーションノードのためのコマンドもしくはパラメータが引き渡される。
本発明の発展形態では、クラスタ装置における少なくとも2つのアプリケーションノードおよび少なくとも1つの制御ノードが第2のネットワークに接続され、第2のネットワークがクライアントコンピュータに接続されている。このコンピュータは、大抵はアプリケーションノードにおいて実行されるインスタンスへの照会を送信するために使用される。第2のネットワークの構成によって、アプリケーションノード間のデータ流と、クライアントコンピュータとアプリケーションノードとの間のデータ流とが分離される。したがって、1つのネットワークにおける交換データ量が低減され、同時に分離によって監視または不当なアクセスに対する信頼性が高められる。
特別に有利な構成は次の構成である。すなわち、記憶装置に格納されているインスタンスがデータベースの一部として構成されていることである。代替的には、格納されたインスタンスはデータベースにアクセスするアプリケーションである。この場合にデータベースは記憶装置の一部であることが好ましい。
本発明の他の発展形態においては、各データ処理システムに識別番号が割り当てられている。同じ識別番号を有するクラスタ装置のデータ処理システムはプールを成す。したがって、簡単なやり方でクラスタ装置が更に分割されて、個別の課題を引き受けることができる。
ネットワークに接続されている少なくとも2つのアプリケーションノードおよび制御ノードからなるクラスタ装置における方法は、制御ノードが、アプリケーションノードからアプリケーションノードにおいて実行される全てのインスタンスとインスタンスの実行のために必要なデータおよびパラメータとを有するリストを受け取ることを特徴とする。更に、制御ノードがアプリケーションノードを故障について規則的な時間間隔にて検査し、アプリケーションノードの故障時に、故障アプリケーションノードにおいて実行されるインスタンスと実行に必要なデータとを有するリストを作成する。制御ノードは、このリストを、ネットワーに接続されているアプリケーションノードに実行要求と共に転送する。
この方法により、制御ノードはアプリケーションノードの故障を、換言するならば、アプリケーションノードの存在を検査するだけである。アプリケーションノードにおいて実行されるインスタンスの検査、管理または監視は放棄される。それによってアプリケーションノードと制御ノードとの間のデータ量が明白に低減される。本方法の発展形態では、アプリケーションノードが、ノードで実行されるインスタンスの状態変化時に、変化通知または新しいリストを送信する。
制御ノードは、監視機能によって記録されたアプリケーションノードの故障の際に、アプリケーションノードによって作成されたリストを実行要求と一緒に少なくとも1つの他のアプリケーションノードに転送する。代替として、アプリケーションノードが、実施のために決定されたインスタンスと実施のために必要なデータとを有するリストを作成し、このリストを少なくとも1つの他のアプリケーションノードに伝える。
他の構成においては、制御ノードが、アプリケーションノードの故障時に、アプリケーションノードによって作成されたリストと調整可能なパラメータとにより他のアプリケーションノードを求める。求められたアプリケーションノードには、故障アプリケーションノードにおいて実行されるインスタンスの実行要求が送信される。それによって、効率的なやり方にて負荷バランシングがクラスタ全体のための制御ノードにより行なわれる。これに関連して、制御ノードが、第1のアプリケーションノードに対しては、インスタンス終了のための信号を送信し、第2のアプリケーションノードに対しては、その終了させられたインスタンスを実行させるための信号を送信する。
特に、作成されたリストおよび調整可能なパラメータにより、実行を予定よりも早く終了させられたインスタンスの実行のために適切なコンピュータを見つけ出すことができる。更に、制御ノードが、検査すべきアプリケーションノードを、アプリケーションノードによって得られたリストを評価することによって求めるとよい。一構成例では本方法は、制御ノードにおいて実行される制御エージェントおよびアプリケーションノードにおいて実行されるアプリケーションエージェントによって実施される。
他の有利な構成が従属請求項からもたらされる。更に、図面を参照しながら実施例に基づいて本発明を詳細に説明する。図1はクラスタ装置の第1の実施例を示し、図2は使用される概念を説明するためのダイアグラムを示し、図3はアプリケーションエージェントの機能概要を示し、図4は制御エージェントを示し、図5は図1による本発明装置の一部を示し、図6はアプリケーションエージェントおよび制御エージェントの一動作態様の実施例を示し、図7はプール形成を有するクラスタ装置の第2の実施例を示し、図8は読み書き可能なメモリ領域の一部を概略的に示し、図9はアプリケーションエージェントによって管理されるテスタメントの一部を概略的に示す。
図1は6つのデータ処理システムを有する本発明によるクラスタ装置を示す。サーバとして構成されているこれらのデータ処理システムのうちの4つは、アプリケーションノードAK1,AK,AKおよびAK’を成す。他の2つのサーバはそれぞれ1つの制御ノードKKを成す。全てのサーバは主プロセッサならびにメインメモリおよび/またはハードディスク記憶装置SP1を有する。各アプリケーションノードもしくは制御ノードのメモリはオペレーティングシステムOSを有する。オペレーティングシステムOSは、アプリケーションノードにおけるプログラム制御のための機能、動作監視および維持のための機能、そしてノードの個々の構成要素へのアクセスのための機能を有する。更に、アプリケーションノードAK1,AKおよびAK’のメモリSP1は、それぞれ、オペレーティングシステムOSの一部であるアプリケーションエージェントAAを有する。制御ノードKKのメモリは制御エージェントKAを含む。
各アプリケーションノードAK1,AKおよびAK’は第1のネットワークNW1を介して制御ノードKKならびに記憶装置SPに接続されている。このネットワークは、アプリケーションノードAK1,AKおよびAK’間相互のデータ転送、アプリケーションノードAK1,AKおよびAK’と制御ノードKKとの間のデータ転送、そしてアプリケーションノード、制御ノードおよび記憶装置SP間のデータ転送を可能にする。第2のネットワークNW2はアプリケーションノードおよび制御ノードをクライアントコンピュータCLに接続する。クライアントコンピュータはアプリケーションノードに照会するために構成されていて、照会は処理のためにアプリケーションノードに送られる。
記憶装置SPは全てのアプリケーションノードAK1,AKおよびAK’のためのオペレーティングシステムOSを有する。各アプリケーションノードのアプリケーションエージェントAAはこのオペレーティングシステムOSのサービスであり、オペレーティングシステムの初期化後に始動される。それはバックグランドで動作するデーモンである。更に、記憶装置SPは多数のプログラムモジュールM1,M2,M3を含む。これは、他方では個々のインスタンスに分割することのできる大きなアプリケーションである。例えばモジュールM1は5つのインスタンスを有し、モジュールM2は2つのインスタンスを有し、そしてモジュールM3は1つのインスタンスIからなる。
種々のモジュールのインスタンスがアプリケーションノードAK1およびAKのメモリSP1にロードされていて、そこで実行される。例えばアプリケーションノードAK1はモジュールM2のインスタンスI1ならびにモジュールM1のインスタンスI2およびI3を実行し、両アプリケーションノードAKはインスタンスI4〜I7ならびにインスタンスIを実行する。アプリケーションAK’では他のインスタンスは実行されない。
モジュールとインスタンスとの間の関係は図2から読み取ることができる。モジュールMは複数のコンピュータで実行される比較的大きなアプリケーションである。このためにモジュールMはインスタンスと呼ばれる複数の小さな単位に分割されている。個々のインスタンスは、その必要が生じれば、互いに連絡し合ってデータを交換する。それによって関連性が生じる。他方では、インスタンスは個々のプロセスPrからなるサブインスタンスSuIに分割されている。個々のインスタンスはそれのサブインスタンスSuIおよびプロセスPrと一緒に1つのコンピュータ上で実行される。この場合にノードは異なるモジュールまたは同じモジュールに属する複数のインスタンスを実行することもできる。例えば、インスタンスI1およびI4を有するモジュールM2がアプリケーションAK1およびAKに分配されている。ノードAK1上では同時にモジュールM1のインスタンスI2およびI3が実行される。
各インスタンスには一義的な識別番号IP1,IP2およびIP3が割り当てられていて、アプリケーションノードにおいてインスタンスを実行する際には、そのアプリケーションノードにこの識別番号が割り振られる。インスタンスが実行されるアプリケーションノードは、この一義的な識別番号IP1,IP2およびIP3を確認することができる。したがって、あるアプリケーションノードから他のアプリケーションノードへのインスタンスの交替が問題なく可能である。なぜならば、識別番号が古いアプリケーションノードでは抹消され、新たなアプリケーションノードに割り振られるからである。インスタンスへのアクセスは該当する一義的な識別番号を用いて行なわれる。本実施例では一義的な識別番号は仮想的なIPアドレスによって定義されている。したがって、アプリケーションノードAK1は、インスタンスの仮想的なIPアドレスIP1,IP2およびIP3を受け取る。ネットワークNW2を介してインスタンスI1にアクセスしようとするクライアントCLは、インスタンスI1に割り付けられている仮想的なIPアドレスに照会を送信する。アプリケーションノードAK1はこの照会を受信してインスタンスI1に転送し、それをインスタンスI1が処理する。インスタンスに割り付けられていてそのインスタンスの実行時にアプリケーションノードに割り当てられる仮想的なアドレスの使用は、アプリケーションノードの自由な選択を可能にする。
アプリケーションエージェントAAの種々の機能が図3においてアプリケーションノードAK1の例で説明されている。このアプリケーションノードではインスタンスI1,I2およびI3が実行される。アプリケーションエージェントAAは監視手段UBを有し、それによりインスタンスを監視する。これに属するのが、例えば各インスタンスのための使用メモリのプロセッサ稼働率の測定、処理された照会および他の動作パラメータである。更に、アプリケーションエージェントAAは正しい動作態様およびインスタンスI1およびI3の可用性を監視する。更に、アプリケーションエージェントは、監視手段により、アプリケーションノードにおいて他の監視すべきインスタンスが存在するかどうかを検査する。監視手段は、監視すべきであるインスタンスを認識するように構成されている。これに加えて、監視手段は、アプリケーションノードにおいて実行されるインスタンス間の関連性を認識する。さらに、監視手段はとりわけノード上で実行中の全てのプロセスのリストを周期的に分析する。周期的な検査によって後から始動されたインスタンスも認識されて自動監視に引き継がれる。
更に、アプリケーションエージェントは、以後の経過においてテスタメントと呼ばれるリストTの発生Lのための機能を有する。このテスタメントTは、個別の監視すべきインスタンスI1〜I3の全ての重要なデータDが割り付けられた個々の部分テスタメントTI1〜TI3からなる。割り付けられたデータDには、インスタンスの名称のほかにインスタンスの誤りのない動作のために必要な動作パラメータも属している。これのための例が、必要なメモリおよび計算容量、環境変数、他のインスタンスおよび動作パラメータに対するインスタンス同士の関連性などである。付加的にテスタメントにはアプリケーションノードに関するデータおよびパラメータが含まれている。これらは、例えば使用されるサーバの型および種類、名称、位置、メモリおよびプロセッサである。全てのアプリケーションノードのテスタメントのこれらのパラメータの評価がクラスタ構造の決定を可能にし、かつ他の設定可能性を与える。
監視機能が監視すべきインスタンスを見つけ出さない場合に、エージェントは、アプリケーションノードが新たなインスタンスの実行のために使用されることを認識し、このことを相応にテスタメントにおいてはっきり示す。
アプリケーションエージェントAAは始動機能STにより構成されている。したがって、アプリケーションエージェントAAは、記憶装置SPからネットワークNW1を介してインスタンスを取り込み、これをアプリケーションノード上で実行する。実行されるインスタンスは監視手段UBによって周期的に検査される。
評価および判定機能BEによりアプリケーションエージェントAAは新たなインスタンスが実行可能であるかどうかを評価し、アプリケーションエージェントAAはインスタンスが始動されるべきであるアプリケーションノードを的確にとらえる。アプリケーションノードの動作パラメータ(プロセッサおよびメモリ稼働率)の測定および内部の記憶(テスタメントTはこの記憶の一部である。)のほかに、新たなインスタンスの始動に関する判定は定められた規則に依存する。条件が満たされたならばアプリケーションエージェントAAはインスタンスを取り込んでこれを実行する。
定められた規則の例は、例えばプロセッサ能力およびメモリについての最小限準備の条件である。他の規則は、特定のインスタンスを定められた時間の間のみ実行するという定義付けである。ここでも他の規則は、新たなインスタンスの始動時に監視機能によりインスタンスの関連性を調べ、このインスタンスに関連したこれまで始動されていないインスタンスを同様に実行に至らしめることを意味する。
新たなインスタンスの始動後にアプリケーションエージェントはメッセージMEをネットワークNW1を介して別のアプリケーションノードの他のアプリケーションエージェントに送信する。これにより、新たなインスタンスの始動が成功したことを示す。
アプリケーションエージェントは、個々のインスタンスI1,I2およびI3のための監視手段UBによって、監視されるインスタンスI3の不慮の予定より早い終了を認識することができる。更に、誤りのない動作を維持するために、アプリケーションエージェントは障害のあるインスタンスI3の終了および再始動のための機能を有する。再始動が成功しなかった場合に、エージェントは、テスタメントTから、障害のあるインスタンスI3の部分テスタメントTI3を発生させ、部分テスタメントTI3を有するこのインスタンスの始動のための要求AFをネットワークNW1を介して他のアプリケーションノードに送信する。その際にエージェントは障害のあるインスタンスI3の終了または更なる始動試行の停止を行なうことができる。
更に、アプリケーションエージェントはアプリケーションノードにおいて実行されるインスタンスを終了させる機能を有する。この機能はインスタンス終了要求にしたがって使用される。それによってインスタンスが1つのアプリケーションノードにおいて終了させられ、他のアプリケーションノードにおいて新たに実行される。
アプリケーションノードAKにおけるアプリケーションエージェントAAの独立かつ自立した判定到達によって、制御ノードまたは中央で動作する監視手段によるアプリケーションノードAKにおける個々のインスタンスの連続的な制御および監視はもはや必要でない。
図4は制御エージェントKAの機能に関する概要を示す。制御エージェントKAはアプリケーションエージェントAAからそれぞれのテスタメントを受け取り、これらを管理する。これによりアプリケーションエージェントがクラスタに登録される。制御エージェントは、アプリケーションエージェントAAのテスタメントTから、クラスタ内に存在する全てのアプリケーションノードAKをそれらのハードウェア情報を含めて備えたリストを発生する。それによって、制御エージェントは自立的にクラスタの現在の構成情報を入手しかつ動的な変化も登録する。更に、制御エージェントKAは、ネットワークNW1を介する全てのアプリケーションノードAKの機能性および存在の検査のための手段UPを備えている。アプリケーションノードAKの機能性および存在は、アプリケーションエージェントからの簡単な存在信号の送信によって伝達される。例えば、制御エージェントKAがネットワークNW1を介してPing信号を個々のアプリケーションノードAKに送信することができる。
機能テストにおける応答不在によって知らされるアプリケーションノード障害の際には、制御エージェントKAは当該アプリケーションノードAKに対するテスタメントを評価し、それから部分テスタメントTI3を抽出する。この部分テスタメントはこのインスタンスの実行のための要求AFと共にネットワークNW1に導かれ、そして残っているアプリケーションノードAKに導かれる。これの代替として、制御エージェントKAは、インスタンスを実行するアプリケーションノードを決定するための機能を持っている。図1のクラスタ装置においてアプリケーションノードAK’はインスタンスを持っていないので、制御エージェントKAは、アプリケーションノードAK1の障害後におけるインスタンスI1,I2およびI3の実行のために、このアプリケーションノードAK’を決定する。アプリケーションノードAK1のアプリケーションエージェントAAから伝達されるテスタメントTによって、中止されたインスタンスがアプリケーションノードAK’において始動可能となる。
図5は新しいアプリケーションノードAK”が付け加えられた本発明によるクラスタ装置の部分図を示す。アプリケーションノードAKでは2つのインスタンスI1およびI2が実行される。アプリケーションノードAK’ではインスタンスは全く実行されない。アプリケーションノードAKのアプリケーションエージェントAAは、両部分テスタメントTI1およびTI2を有するテスタメントTを作成し、これを制御ノードKKおよび制御エージェントKAに伝達したところである。ノードAK’のアプリケーションエージェントは空のテスタメントT’を制御エージェントKAに伝達し、それのテスタメントT’における登録SPによりアプリケーションノードAK’がインスタンスの始動のために準備完了であることを知らせる。この登録によりノードAK’が自由なノードとして明らかにされる。
制御エージェントKAは、自身の側で、アプリケーションノードAKおよびAK’のテスタメントTおよびT’を有するリストを管理する。エージェントKAは、周期的にノードのアプリケーションエージェントAAの状態信号を要求することによって、ノードの存在を検査する。アプリケーションノードAKにおける監視されるインスタンスIの動作パラメータの変化、すなわち終了または新たなインスタンスの始動の際には、この変化がそれぞれのアプリケーションエージェントAAによって自動的に制御ノードKKの制御エージェントKAに伝達される。したがって、制御エージェントKAのリストは、常にアプリケーションノードAKのテスタメントの現在状態を含んでいる。更に、制御エージェントはアプリケーションノードのハードウェアパラメータに関する情報を受け取る。
ここで、新しいアプリケーションノードAK”がネットワークNW1に接続される。初期化段階後にアプリケーションエージェントAAがノードAK”において始動する。エージェントAAの監視機能UBが、アプリケーションAK”において実行されるプロセス、インスタンスおよびアプリケーションを検査し、自動的にアプリケーションエージェントAAによって監視すべきインスタンスI3を認識する。アプリケーションノードの動作パラメータと一緒に、エージェントはそれからインスタンスI3の動作に必要な全てのデータおよびパラメータを含んだ部分テスタメントを有するテスタメントT”を発生する。アプリケーションノードAK”の発生させられたテスタメントT”は制御エージェントKAに伝達される。それによりアプリケーションエージェントがクラスタにおいて登録され、アプリケーションノードAK”においてインスタンスが実行され、そのインスタンスが監視される。制御エージェントKAは今やアプリケーションノードAK,AK’およびAK”の存在をそれのリストにあるテスタメントにしたがって検査する。
アプリケーションノードAK”がネットワークNW1から分離されるか、または予定より早く例えば電源障害によって遮断された場合には、存在の検査が否定的結果をもたらす。制御エージェントKAはテスタメントにあるインスタンスの実行要求を有するテスタメントT”をアプリケーションノードAKおよびAK’に送信する。アプリケーションエージェントAAはそのテスタメントを受信し、測定、記憶および外部パラメータにより、全体のテスタメントまたは部分テスタメントがアプリケーションノードにおいて実行可能であるか否かの判定が的確にとらえられる。
アプリケーションノードAK’のアプリケーションエージェントは肯定的判定を的確にとらえて全体のテスタメントT”を受け取る。エージェントはインスタンスI3をテスタメントにおいて予め与えられたパラメータにしたがってそれのノードにて新たに始動し、今や新たなインスタンスI3の部分テスタメントを含む新しいテスタメントT’を制御エージェントに伝達する。
図6は他の好ましい構成を示す。クラスタ装置は2つのアプリケーションノードAKおよびAK’と記憶装置SPと制御ノードKKとを有し、これらはネットワークNW1を介して互いに接続されている。ノード相互および記憶装置SPとの通信はTCP/IPプロトコルにより行なわれる。
実行されかつアプリケーションエージェントによって監視されるインスタンスI1,I3およびI2は記憶装置SPに保存されているモジュールM2を成す。更に記憶装置SPは、モジュールM1と、アプリケーションノードに共通に使用されるオペレーティングシステムOSとを含み、オペレーティングシステムはアプリケーションエージェントAAを有する。記憶装置SPは、2つの部分領域B1およびB2に分割されている領域Bを有する。
領域Bは、全てのアプリケーションエージェントAAおよび制御エージェントKAのために読み書き可能に構成されている。アプリケーションエージェントは、それらのアプリケーションノードのテスタメントを記憶装置SPにおける部分領域B1に保存する。アプリケーションノードにおける変化の際には、このノードのアプリケーションエージェントが新たなテスタメントを発生し、それにより領域B1において古いテスタメントを交換する。制御ノードの制御エージェントは領域B1におけるテスタメントを評価し、それにともなって監視すべきアプリケーションノードのリストを発生する。
更に、各ノードのアプリケーションエージェントは、記憶装置の領域B2を周期的に評価する。領域B2にはインスタンスの実行要求が保存されている。この構成においては、要求は領域B2へのテスタメントまたは部分テスタメントの格納によって行なわれる。アプリケーションエージェントは、領域B2に格納されているテスタメントまたは部分テスタメントを読み取って、実行に関する独立した判定を的確にとらえる。アプリケーションノードがテスタメントを引き受けることができる場合には、アプリケーションエージェントはそのテスタメントを領域B2から消去し、指定されたインスタンスを始動する。要求または引き受け後の通知は、領域B2へのテスタメントの格納またはその領域からのテスタメントの消去によって簡単なやり方にて行なわれる。要求の拒否はテスタメントが領域B2に残されていることによって自動的にもたらされる。
インスタンスを終了させるアプリケーションエージェントはそのテスタメントを領域B2に格納するので、他のアプリケーションノードがこれを引き受けることができる。アプリケーションノードが完全に故障し、アプリケーションエージェントがこれを前もって領域B2へのテスタメントの格納によって指定することができない場合には、制御エージェントが故障したアプリケーションノードのテスタメントを領域B2へ移動する。残りのノードのアプリケーションエージェントはそれらの側で判定を的確にとらえる。このやり方で高い柔軟性が達成される。多数の部分テスタメントへのテスタメントの分割によって、障害のあるアプリケーションノードのインスタンスを複数のノードに配分することができる。アプリケーションエージェントの独立および装置SPの共通使用されるメモリによって、制御ノードKKの障害発生時にも誤りのない動作が保証されている。
ここに挙げた例のほかに、多数の他の構成を見いだすことができる。特にアプリケーションエージェントの判定到達のための規則、制御エージェントおよびアプリケーションエージェントの機能および課題、そしてテスタメントにおけるパラメータが拡張可能である。
本発明の他の観点は、いわゆるクラスタ装置内の個別データ処理システムの仮想クラスタへのグループ化に関する。この場合に、クラスタ装置内の幾つかのデータ処理システムに同一識別番号が割り当てられ、そのようにしてこれらのデータ処理システムが1つのプールに統合される。ここにおいて、仮想という概念は、異なるデータ処理システム相互における規則によって定められた論理的な関連性にすぎない。複数のデータ処理システムによるクラスタ装置内のプール形成は、異なるアプリケーションを高可用性に保とうとする場合に特に有利である。幾つかのデータ処理システムを特別にデータベースサービスの実行のために設け、これに対して同じ物理的なクラスタの他のデータ処理システムはウェブアプリケーションのために設けるることが望ましい。
プール形成は一般的な規則にしたがって行なわれる。これらの規則は、例えば高可用性のアプリケーションに対する規則に関連し得るが、しかし例えば純粋なハードウェアパラメータも含み得る。更に、物理的なクラスタ内でのプール形成により、異なるユーザグループの個別プールを割り振ることが可能である。それぞれのユーザグループによって始動されたアプリケーションは、それぞれのプールに割り当てられたデータ処理システムにおいてのみ実行されて、高可用性に保たれる。相互に割り当てられている複数のデータ処理システムからなるこのようなプールは、物理的なクラスタ装置内の仮想クラスタとも呼ばれる。
図7は、その中に含まれている複数の仮想クラスタもしくはプールを有するクラスタ装置の実施形態を示す。そこに示されたクラスタは、共通のネットワークNW1を介して複数のデータ処理システムに接続されている複数の記憶装置SP,SP1およびSP2を含んでいる。これらのデータ処理システムはそれぞれコンピュータとして主プロセッサおよび主メモリを装備している。これらのデータ処理システムのうち12個がアプリケーションノードAK1〜AK12として構成されている。他の2つのデータ処理システムが制御ノードKKおよびKK1を成す。アプリケーションノードAK1〜AK12ではそれぞれ1つのアプリケーションエージェントAAが実行される。制御ノードKKおよびKK1はそれぞれ1つの制御エージェントKAを含んでいる。
物理的なクラスタ装置は、この実施例において、3つの仮想クラスタVC1,VC2およびVC3を含む。仮想クラスタVC1は、3つのアプリケーションノードAK10,AK11およびAK12と、記憶装置SP1とを含んでいる。仮想クラスタVC2は、アプリケーションノードAK1〜K5と、制御ノードKK1と、記憶装置SP2とを含んでいる。更に、アプリケーションノードAK3およびAK4は、アプリケーションノードAK6〜AK9と一緒に仮想クラスタVC3に割り当てられている。制御ノードKKおよび記憶装置SPはこの実施例では仮想クラスタの一部ではない。
仮想クラスタのそれぞれのプールへの個々のアプリケーションノードAKもしくは制御ノードKKの割り振りは一般的な規則を介して行なわれる。これらの規則は、部分的には、外部のユーザによって予め与えられるか、制御ノードKKの制御エージェントKAによって予め与えられるか、またはアプリケーションノードAKにおける個々のアプリケーションエージェントのテスタメントからもたらされる。個々の仮想クラスタの同定のために、そして1つのプールへの物理的クラスタの個々のノードの割り振りのために、IPアドレスの一部分またはIPアドレス自体を使用するのが有利である。例えば、仮想クラスタVC1のアプリケーションノードAK10,Ak11およびAK12には、部部的に一致するIPアドレスが割り付けられる。IPアドレスが同じ部分を有する物理的クラスタ装置のノードは、同じプールもしくは仮想クラスタに属する。この仮想クラスタにおけるノードからまたはノードへの通信は同様にこの識別番号を含んでいる。データ処理システムにおけるエージェントの相応の評価によって他の識別番号を有する通信は無視される。
仮想クラスタVC2のアプリケーションノードAK1においては、アプリケーションエージェントAAならびにインスタンスL1およびインスタンスI1が実行される。アプリケーションノードAK2はインスタンスL2およびI2を含む。アプリケーションノードAK1のインスタンスI1およびアプリケーションノードAK2のインスタンスI2は、」共通に1つのアプリケーションを成す。これらの共通なアプリケーションは、仮想クラスタVC2の異なるアプリケーションノードAK1〜AK5において高可用性に保たれている。したがって、共通アプリケーションIのための両インスタンスの一方I1もしくはI2の始動のための要求は、相応のアプリケーションノードが仮想クラスタVC2に割り当てられているときにのみ引き受けられる。
アプリケーションノードAK3は、アプリケーションエージェントAAのほかに部分インスタンスL3ならびにインスタンスL31およびL32も含み、これらはそれぞれ高可用性にて実行される。インスタンスL3はアプリケーションノードAK2およびAK1のインスタンスL2およびL1と一緒に仮想クラスタVC2の他のアプリケーションを成す。アプリケーションノードAK4およびAK5は予備ノードであり、予備ノードにおいては仮想ノードVC2の他のインスタンスは実行されない。
更に、アプリケーションノードAK3およびAK4は、仮想クラスタVC3の構成要素でもある。したがって、要求の評価およびインスタンス始動要求の発送のために、アプリケーションノードAK3およびAK4におけるアプリケーションエージェントAAが相応の要求を常に同じプールに所属しているノードのアプリケーションエージェントに送信することが必要である。このために、例えばノードAK3におけるアプリケーションエージェントAAが、仮想クラスタへの個々のインスタンスの一義的な割り当ての相関性に関して拡張されたテスタメントを既に含んでいる。
このテスタメントからの一部が図9において見ることができる。テスタメントは2つの比較的大きな部分領域に分けられていて、部分領域はそれぞれノードAK3を構成部分とする両プールのアプリケーションを含む。これはプールもしくは仮想クラスタVC2ならびにVC3である。仮想クラスタVC2は、仮想クラスタへの一義的割り当てを可能にする識別番号IP1を含む。更に、インスタンスL3が仮想クラスタVC3において実行される。したがって、インスタンスL3に関係する全ての通知に対して対応関係IP1が一緒に送られる。ノードが同じ対応関係を持っていないところのエージェントは、この仮想クラスタの一部ではなく、したがって通知を無視する。
第2の部分領域は、仮想クラスタVC3に割り当てられかつノードで実行されるインスタンスに対する全ての部分テスタメントを含む。プールVC3は識別番号IP3を有する。したがって、テスタメントのこの部分領域内においては、アプリケーションエージェントAAによってインスタンスL31およびL32が管理される。それぞれの部分テスタメントL31およびL32は、これらの部分テスタメントを実行するためのパラメータのほかに、仮想クラスタVC3への対応関係も含んでいる。インスタンスの1つの故障および不成功に終わった故障インスタンスの新たな初期化の際に、ノードAK3のアプリケーションエージェントAAは、このインスタンスが実行される仮想クラスタに対する割り当て識別番号を有する部分インスタンスを発生する。インスタンスL31およびL32の障害時には、仮想クラスタVC3に識別番号IP3によって割り当てられている部分インスタンが発生され、インスタンスL3の障害時には割り当て識別番号IP2を有する相応の部分インスタンスが発生される。
エージェントAAは、アプリケーションノードに、このインスタンスの実行要求を送信する。アプリケーションノードにおけるそれぞれのアプリケーションエージェントはこの要求を評価して、手始めにそれが同じ識別を有する仮想クラスタの部分であるか否かを検査する。それがインスタンスを実行させるべき仮想クラスタの部分でない場合には、実行要求は無視される。ほかの場合にはそれに必要な実行のためのリソースが使用可能であるか否かが検査される。
プールVC2には付加的に、可用性および障害安全性を高めるために、制御エージェントKAを有する制御ノードKK1が割り当てられている。このために、アプリケーションノードAK1〜AK5におけるアプリケーションエージェントAAが、それらの部分インスタンスを発生し、それらを大容量記憶装置SP2における共通な読み書き可能なメモリ領域に格納する。制御ノードKK1における制御エージェントKAは、個々のアプリケーションノードAK1およびそれらのエージェントの機能性を規則的な時間間隔で送出される状態メッセージによって監視する。
このメモリ領域およびアプリケーションノードAK1〜AK5におけるアプリケーションエージェントの個々の伝達されるテスタメントの概略図を図8に示す。全体リストにおいては、とりわけどのアプリケーションノードAKが仮想クラスタVC2に割り当てられているかが整理されている。更に、仮想クラスタVC2において目下のところ実行されるアプリケーションを有するリストが作成される。詳細には、これは部分インスタンスI1およびI2を有するアプリケーションならびに部分インスタンスL1,L2およびL3を有するアプリケーションである。これらのアプリケーションのそれぞれに優先順位が割り付けられている。それぞれの部分インスタンスはこれらの優先順位を受け継ぐ。優先順位は、仮想クラスタVC2において実行される個々のアプリケーションがどの程度重要であるかを指定する。したがって、優先順位は実行されるアプリケーションの順序もしくはランク順を成す。
この例では、両部分インスタンスI1およびI2を有するアプリケーションが優先順位指標PS1を持ち、部分インスタンスL1,L2およびL3を有するアプリケーションが優先順位指標PS2を持つ。この場合に優先順位指標PS2は指標PS1よりも小さい。したがって、部分インスタンスL1,L2およびL3を有するアプリケーションが部分インスタンスI1およびI2を有するアプリケーションよりも重要でない。
更に、記憶装置SP2のメモリ領域は個々のアプリケーションノードAK1〜AK5のテスタメントT1〜T5を含んでいる。これらは、それぞれのアプリケーションノードAK1〜AK5において作動する部分インスタンスのための部分テスタメントを含んでいる。アプリケーションノードAK4およびAK5のテスタメントT4およびT5は空である。
制御ノードKKの制御エージェントKAは、一般に個々のアプリケーションノードの高可用性を監視する。今、例えばアプリケーションノードAK1が完全に故障した場合には、もはや部分インスタンスI1もしくはL1も実行されない。制御ノードKKにおける制御エージェントKAは、今やテスタメントT1から部分インスタンスI1およびL1のための2つの部分テスタメントを発生する。その際に高いほうの優先順位指標に基づいてインスタンスI1を有する部分テスタメントがこの部分インスタンスの実行要求と一緒に物理的なクラスタ内における個々のアプリケーションノードにネットワークを介して送信される。この部分テスタメント内において、実行すべきインスタンスI1がどの仮想クラスタに割り当てられているかが指定されている。
仮想クラスタVC2に割り当てられていないアプリケーションノードAKにおけるアプリケーションエージェントAAは、実行要求を無視する。それに反してアプリケーションノードAK2〜AK5におけるエージェントAAはそれらのリソースを検査する。アプリケーションエージェントAAの1つが、場合によっては部分テスタメントを引き受け、インスタンスI1を自身のノードにおいて実行へと至らしめる。部分インスタンスI2の始動後に相応のメッセージが制御エージェントKAに返送される。部分インスタンスI1が部分テスタメントと一緒に仮想クラスタ内のアプリケーションエージェントAAの1つによって引き継がれて実行に成功したときにはじめて、制御エージェントKAが部分インスタンスL2を有する部分テスタメントを実行要求と一緒に送信する。
個々のアプリケーションもしくはインスタンスの優先順位付与によって、高い優先順位を有するアプリケーションが常に高可用性に保たれる。十分な容量が存在するときのみ、低い優先順位を有するインスタンスも新たに実行に至らしめられる。この実施例においては、仮想クラスタVC2内の制御ノードKK1における制御エージェントKAが、部分テスタメントの発生および部分インスタンスの実行要求を引き受ける。
アプリケーションノードAK3の障害の見極めがつく場合には、これをノードAK3のアプリケーションエージェントAAが確認する。このノードのエージェントAAは部分インスタンスL3を有する部分テスタメントおよび実行要求を発生し、これを物理的クラスタ装置および仮想クラスタ装置のアプリケーションノードにおけるエージェントに送信する。更に、アプリケーションノードAK3におけるアプリケーションエージェントAAは、部分インスタンスL31およびL32を有する2つの部分テスタメントを発生し、これらを同様に実行要求と共にクラスタ装置に送信する。しかしながら、部分インスタンスL31およびL32は仮想クラスタVC3に割り当てられていて、アプリケーションノードAK1,AK2およびAK5によって無視される。しかしながら、適切な自由なリソースにおいては、アプリケーションノードAK4もしくはAK6〜AK9が部分インスタンスL31およびL32を引き受けることができる。
この実施例においては、メッセージが物理的なクラスタ装置内の全てのアプリケーションノードに送信される。しかしながら、メッセージが同じプールにおけるノードに由来する場合にのみ処理が行なわれる。拡張においては、同じ仮想クラスタ内のノードのみにメッセージを送信することもできる。それにより、確かにデータ発生が低減されるが、しかし柔軟性も縮小される。
加えて、アプリケーションノードにおいて計画的でなく終了させられる低い優先順位のインスタンスは、次の場合にはアプリケーションノード全体の再始動のためにアプリケーションエージェントを動かすことができないように配慮することが望ましい。すなわち、このノードにおいて、より高い優先順位を有するインスタンスがなおも誤りなく実行される場合である。例えば、アプリケーションノードAK2におけるアプリケーションエージェントAAは、部分インスタンスL2の障害発生時に、より高い優先順位を有する部分インスタンスI2がなおも誤りなく実行される場合には、アプリケーションノードAK2の全体の完全な再始動を行なわない。したがって、再始動のためには、アプリケーションエージェントAAが、部分インスタンスI2を有する部分テスタメントおよび実行要求を、仮想クラスタVC2のアプリケーションノードに送信しなければならない。この部分インスタンスの引き受けおよび実行成功の確認時に、アプリケーションノードAK2におけるアプリケーションエージェントAAは、アプリケーションノードAK2の完全な再始動を初期化する。
部分IPアドレスの助けによる個々の仮想クラスタへの割り当てによって、非常に動的にかつ柔軟にリソース要求における有り得る変化に応ずることができる。付加的に仮想クラスタ内においても個々のデータ処理システム間における更なるグループ化またはプール形成を設定することができる。仮想クラスタVC3においては、例えばアプリケーションノードAK8およびAK9が仮想クラスタ内において他のグループを成す。このグループ化も一般的な規則を介して制御可能である。更に、完全なクラスタ構造を監視しかつ個々のデータ処理システムを規則的間隔にて存在を監視する制御エージェントKAを有する他の制御ノードKKが設けられるとよい。他のデータ処理システムが物理的クラスタに付け加えられるならば、この制御ノードは、仮想容量増大のために、付け加えられたデータ処理システムを異なる仮想クラスタに割り当てることができる。識別番号の割り付けによるプール形成の導入ならびにプール内の個々の部分インスタンスの優先順位付与は、物理的クラスタ装置内における非常に細かい段階付けおよび選択制御を可能にする。この場合に、個々のアプリケーションノードならびに物理的クラスタ装置内におけるプールが大幅に自動的に構成可能である。付加的に管理上の課題が大々的に解消する。
以上のとおり、制御ノードとアプリケーションノードとの間の明白に少ないデータ交換がこれと同時に大きな柔軟性をともなって達成される。個々のアプリケーションノードの自立によって完全に制御ノードを省略することさえも可能である。ノード経過の管理、制御および監視はアプリケーションエージェントの務めであり、これらのアプリケーションエージェントは互いに直接の通信を持っていない。アプリケーションエージェントの形成はインスタンスの独立の認識および監視を可能にする。それによって、高コストの構成を省略することができ、クラスタ構造が自立的に発生させられるためにクラスタ構造に関する正確な知識は必要でない。しばしばノード数を変更するクラスタを使用する場合にはまさに、独立した監視のこの構想は高い柔軟性をもたらす。
クラスタ装置の第1の実施例を示す概略図 使用される概念を説明するための概略図 アプリケーションエージェントの機能の概略図 制御エージェントを示す概略図 図1による本発明装置の部分詳細図 アプリケーションエージェントおよび制御エージェントの一動作態様の実施例を示す概略図 プール形成を有するクラスタ装置の第2の実施例を示す概略図 読み書き可能なメモリ領域の一部を示す概略図 アプリケーションエージェントによって管理されるテスタメントの一部を示す概略図。
符号の説明
AK,AK,AK’,AK” アプリケーションノード
KK 制御ノード
KA 制御エージェント
AA アプリケーションエージェント
CL クライアントコンピュータ
NW1,NW2 ネットワーク
SP,SP1 記憶装置
M1,M2,M3 モジュール
I1,I2,・・・,I7 インスタンス
SUI 副インスタンス
Pr プロセス
IP1,IP2,IP3 識別番号
OS オペレーティングシステム
T,T’,T” テスタメント
T1,T2,T3 部分テスタメント
D データ
L,UB,ST,ME,AF,BE 機能
UP,BS 機能
SP 識別番号
B,B1,B2 メモリ領域

Claims (34)

  1. − 第1のネットワーク(NW1)を備えていること、
    − それぞれ1つのアプリケーションノード(AK)を成しかつそれぞれ1つのオペレーティングシステム(OS)を有する少なくとも2つのデータ処理システムを備え、アプリケーションノード(AK)は実行されるインスタンス(I1,I2,I3,I4)を有すること、
    − 各アプリケーションノード(AK)に、次の機能を有するアプリケーションエージェント(AA)を備えていること、すなわち、
    − アプリケーションノード(AK)において実行されるインスタンス(I1,I2,I3)の監視(UB)および識別;
    − 新たなインスタンス(I3)の始動(ST)またはアプリケーションノードにおいて予定よりも早く終了させられたインスタンスの再始動;
    − アプリケーションノード(AK)における新たなインスタンス(I3)の実行が可能であるか否かの評価(BE)および決定;
    − ネットワーク(NW1)に接続されているアプリケーションノードのアプリケーションエージェント(AA)へのインスタンス実行要求(AF);
    − ネットワーク(NW1)に接続されているアプリケーションノード(AK)のアプリケーションエージェント(AA)へのインスタンス(I3)の実行要求(AF)の引き受け後のメッセージ通知(ME);
    を特徴とするクラスタ装置。
  2. アプリケーションエージェントの監視(UB)の機能はリスト(T)の作成(L)を含み、リスト(T)は、それぞれアプリケーションノード(AK)において実行されるインスタンス(I1,I2)と、実行されるインスタンスの実行に必要な全てのデータ(D)とを部分リスト(TI1,TI2)として含んでいることを特徴とする請求項1記載のクラスタ装置。
  3. アプリケーションエージェント(AA)の監視(UB)の機能は、アプリケーションノードにおいて実行されるインスタンスと他のインスタンスおよび/またはパラメータとの関連性を認識するように構成されていることを特徴とする請求項1又は2記載のクラスタ装置。
  4. アプリケーションエージェント(AA)は、インスタンスの不安定な動作状態を認識するように構成されている機能を有することを特徴とする請求項1乃至3の1つに記載のクラスタ装置。
  5. アプリケーションエージェント(AA)は、アプリケーションノードにおいて実行されるインスタンスを終了させるための機能を有することを特徴とする請求項1乃至4の1つに記載のクラスタ装置。
  6. リスト(T)はアプリケーションノードに関する情報も有することを特徴とする請求項2記載のクラスタ装置。
  7. 記憶装置(SP)は、第1のネットワークに接続されていて、かつアプリケーションノード(AK)において実行可能な少なくとも1つのインスタンス(I1)を有することを特徴とする請求項1乃至6の1つに記載のクラスタ装置。
  8. アプリケーションノードのアプリケーションエージェントは、アプリケーションノードにおいて動作するオペレーティングシステム(OS)のサービスであることを特徴とする請求項1乃至7の1つに記載のクラスタ装置。
  9. 記憶装置(SP)にはアプリケーションノード(AK)のためのオペレーティングシステム(OS)が格納されていることを特徴とする請求項7記載のクラスタ装置。
  10. 新たなインスタンス(I3)の実行が可能であるアプリケーションノード(AK’)が設けられていることを特徴とする請求項1乃至9の1つに記載のクラスタ装置。
  11. クラスタ装置は第1のネットワークに接続された制御ノード(KK)として構成された少なくとも1つのデータ処理システムを有し、制御ノード(KK)がオペレーティングシステムおよび制御エージェント(KA)を有し、制御エージェント(KA)は、次の機能、すなわち、
    − 第1のネットワーク(NW1)に接続されているアプリケーションノード(AK)の機能性の検査(UP);
    − そのネットワーク(NW1)に接続されているアプリケーションノード(AK)のアプリケーションエージェント(AA)へのインスタンス実行要求(AF);
    − アプリケーションノード(AK)の決定(BS)およびこのアプリケーションノードへの新たなインスタンスの実行要求;
    を有することを特徴とする請求項1乃至10の1つに記載のクラスタ装置。
  12. アプリケーションノード(AK)の検査(UP)の際に、検査すべきアプリケーションノード(AK)は、アプリケーションノード(AK)のアプリケーションエージェント(AA)によって作成されたリスト(T)を介して求められ得ることを特徴とする請求項11記載のクラスタ装置。
  13. 実行要求(AF)は、アプリケーションエージェント(AA)の作成された部分リスト(TI1,TI2)を有することを特徴とする請求項2又は11記載のクラスタ装置。
  14. 作成されたリスト(TI1)および/または実行要求(AF)および/またはメッセージ(ME)は、少なくとも1つのファイルとして記憶装置(SP)に格納されていることを特徴とする請求項1乃至13の1つに記載のクラスタ装置。
  15. 記憶装置(SP)に格納されている各インスタンスは、インスタンスが実行されるアプリケーションノード(AK)に割り当てられる一義的な識別番号を有することを特徴とする請求項1乃至14の1つに記載のクラスタ装置。
  16. 第1のネットワーク(NW1)は、TCP/IPまたはNFSプロトコルによる通信を行うように構成されていることを特徴とする請求項1乃至15の1つに記載のクラスタ装置。
  17. 少なくとも1つの制御ノード(KK)はアプリケーションノード(AK)の初期化プロセスを制御するための手段を有し、初期化プロセスはアプリケーションノード(AK)のオペレーティングシステム(OS)の読み込みのためのコマンドを有することを特徴とする請求項11乃至16の1つに記載のクラスタ装置。
  18. 少なくとも2つのアプリケーションノード(AK,AK’)が第2のネットワーク(NW2)に接続され、第2のネットワーク(NW2)はクライアントコンピュータ(CL)に接続されていることを特徴とする請求項1乃至17の1つに記載のクラスタ装置。
  19. 記憶装置(SP)に格納されているインスタンスはデータベースを有することを特徴とする請求項1乃至18の1つに記載のクラスタ装置。
  20. 少なくとも1つのデータ処理システムに識別番号(IP1,IP2)が割り当てられていることを特徴とする請求項1乃至19の1つに記載のクラスタ装置。
  21. クラスタ装置のデータ処理システム(DV)は同じ識別番号(IP1,IP2)によりプール(VC1,VC2,VC3)を成すことを特徴とする請求項20記載のクラスタ装置。
  22. アプリケーションノード(AK)のアプリケーションエージェント(AA)は、次の機能を有する、すなわち
    − アプリケーションノード(AK)に割り当てられた識別番号(IP1,IP2)の評価;
    − 同じ識別番号(IP1,IP2)を有するアプリケーションノード(AK)におけるアプリケーションエージェント(AA)へのインスタンスの実行要求;
    − 同じ識別番号(IP1,IP2)を有するアプリケーションノード(AK)におけるアプリケーションエージェント(AA)へのインスタンス実行要求の引き受け後のメッセージ通知;
    を有することを特徴とする請求項20乃至21の1つに記載のクラスタ装置。
  23. 識別番号(IP1,IP2)はIPアドレスまたはIPアドレスの一部を含むことを特徴とする請求項20乃至22の1つに記載のクラスタ装置。
  24. 制御ノード(KK1)として構成されたデータ処理システム(DV)に識別番号(IP2)が割り当てられていて、制御ノード(KK1)において実行される制御エージェント(KA)は同じ識別番号を有するアプリケーションノード(AK)の機能を検査するように構成されていることを特徴とする請求項20乃至23の1つに記載のクラスタ装置。
  25. アプリケーションノード(AK)において実行されるインスタンス(I1,I2,L1,L2,L3)に優先順位(PS1,PS2)が割り当てられていて、アプリケーションエージェント(AA)は、評価、判定およびこれらのインスタンスの実行要求という機能において、優先順位(PS1,PS2)を評価するように構成されていることを特徴とする請求項20乃至24の1つに記載のクラスタ装置。
  26. 制御ノード(KK1)の制御エージェント(KA)は、評価、判定およびこれらのインスタンスの実行要求の際にアプリケーションノード(AK)において実行されるインスタンスの優先順位(PS1,PS2)を評価するように構成されていることを特徴とする請求項20乃至25の1つに記載のクラスタ装置。
  27. ネットワーク(NW1)に接続されている少なくとも2つのアプリケーションノード(AK,AK’)および制御ノード(KK)からなるクラスタ装置における方法であって、
    − 制御ノード(KK)が、アプリケーションノード(AK,AK’)から、ノードにおいて実行される全てのインスタンス(I1,I2,I3)とインスタンスの実行のために必要なデータとを有するリスト(T)を受け取り、
    − 制御ノード(KK)がアプリケーションノード(AK)の故障を規則的な時間間隔にて検査し、
    − 制御ノード(KK)が、アプリケーションノード(AK,AK’)の故障時に、故障アプリケーションノードにおいて実行されるインスタンスと実行に必要なデータとを有するリスト(TI3)を作成して、ネットワーク(NW1)に接続されているアプリケーションノード(AK,AK’)に実行要求と共に転送することを特徴とする方法。
  28. 制御ノード(KK)が、アプリケーションノードの故障時に、アプリケーションノードによって作成されたリスト(TI3)を実行要求と一緒に少なくとも1つの他のアプリケーションノード(AK)に転送することを特徴とする請求項27記載の方法。
  29. アプリケーションノードがインスタンスの実行のためのリスト(T)を作成し、このリスト(T)と共に要求を少なくとも1つの他のアプリケーションノードに伝えることを特徴とする請求項27記載の方法。
  30. 制御ノード(KK)が、アプリケーションノードの故障時に、アプリケーションノードによって作成されたリスト(T)と調整可能なパラメータとにより他のアプリケーションノードを確定し、これに故障アプリケーションノードにおいて実行されるインスタンスの実行要求を伝達することを特徴とする請求項27又は28記載の方法。
  31. 制御ノード(KK)が、検査すべきアプリケーションノードを、アプリケーションエージェントが受け取ったリスト(T)の評価によって確定することを特徴とする請求項27乃至30の1つに記載の方法。
  32. 方法が、制御ノードにおいて実行される制御エージェント(KA)およびアプリケーションノードにおいて実行されるアプリケーションエージェント(AA)によって実施されることを特徴とする請求項27乃至31の1つに記載の方法。
  33. 少なくとも1つのアプリケーションノード(AK)および制御ノード(KK)に識別番号(IP2)が割り当てられていて、
    − 制御ノード(KK1)の制御エージェント(KA)が、同じ識別番号(IP2)を有する少なくとも1つのアプリケーションノード(AK)のアプリケーションエージェント(AA)からテスタメントを受け取ることを特徴とする請求項27乃至32の1つに記載の方法。
  34. − 実行されるインスタンス(I1,I2,L1,L2,L3)に優先順位(PS1,PS2)が割り当てられ、
    − 制御エージェント(KA)が、アプリケーションノード(AK)の故障時に、故障アプリケーションノード(AK)において実行されるインスタンスに割り当てられた優先順位(PS1,PS2)を評価し、優先順位(PS1,PS2)に依存して実行要求を送信することを特徴とする請求項17乃至30の1つに記載の方法。
JP2006515645A 2003-06-18 2004-03-16 クラスタ装置 Pending JP2007524144A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10327601 2003-06-18
DE10330322A DE10330322A1 (de) 2003-06-18 2003-07-04 Clusteranordnung
PCT/DE2004/000530 WO2004114143A2 (de) 2003-06-18 2004-03-16 Clusteranordnung

Publications (1)

Publication Number Publication Date
JP2007524144A true JP2007524144A (ja) 2007-08-23

Family

ID=33542143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006515645A Pending JP2007524144A (ja) 2003-06-18 2004-03-16 クラスタ装置

Country Status (4)

Country Link
US (1) US8301599B2 (ja)
EP (1) EP1634176B1 (ja)
JP (1) JP2007524144A (ja)
WO (1) WO2004114143A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104999A1 (ja) * 2010-02-23 2011-09-01 日本電気株式会社 サービス提供システム、そのコンピュータプログラムおよびデータ処理方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
US7356590B2 (en) * 2005-07-12 2008-04-08 Visible Measures Corp. Distributed capture and aggregation of dynamic application usage information
US7813948B2 (en) * 2006-08-25 2010-10-12 Sas Institute Inc. Computer-implemented systems and methods for reducing cost flow models
US7913105B1 (en) * 2006-09-29 2011-03-22 Symantec Operating Corporation High availability cluster with notification of resource state changes
US8024241B2 (en) * 2007-07-13 2011-09-20 Sas Institute Inc. Computer-implemented systems and methods for cost flow analysis
US8200518B2 (en) 2008-02-25 2012-06-12 Sas Institute Inc. Computer-implemented systems and methods for partial contribution computation in ABC/M models
US9454444B1 (en) 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
US8458515B1 (en) 2009-11-16 2013-06-04 Symantec Corporation Raid5 recovery in a high availability object based file system
US8495323B1 (en) 2010-12-07 2013-07-23 Symantec Corporation Method and system of providing exclusive and secure access to virtual storage objects in a virtual machine cluster
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
GB2551518B (en) 2016-06-20 2020-06-03 Jaguar Land Rover Ltd Control system having a hierarchical distributed architecture
US10387198B2 (en) 2016-08-11 2019-08-20 Rescale, Inc. Integrated multi-provider compute platform
US10193762B2 (en) * 2016-08-11 2019-01-29 Rescale, Inc. Dynamic optimization of simulation resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
JP2001312487A (ja) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd アプリケーションプログラムの監視方法、及びアプリケーション・サービスを提供する方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
JP2000099277A (ja) * 1998-09-18 2000-04-07 Fujitsu Ltd ファイルユニット間のリモート転送方法
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6438705B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US7206805B1 (en) * 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US20020095400A1 (en) * 2000-03-03 2002-07-18 Johnson Scott C Systems and methods for managing differentiated service in information management environments
US6977740B1 (en) * 2000-03-29 2005-12-20 International Business Machines Corporation Method and system for centralized information storage retrieval and searching
US7171654B2 (en) * 2000-05-25 2007-01-30 The United States Of America As Represented By The Secretary Of The Navy System specification language for resource management architecture and corresponding programs therefore
CA2413434A1 (en) * 2000-06-26 2002-01-03 International Business Machines Corporation Data management application programming interface for a parallel file system
US7272613B2 (en) * 2000-10-26 2007-09-18 Intel Corporation Method and system for managing distributed content and related metadata
FR2816419B1 (fr) * 2000-11-06 2006-06-16 Evidian Procede de repartition de charge entre serveurs d'un systeme informatique distribue
FR2816410B1 (fr) 2000-11-09 2003-04-18 Pasteur Institut Necessaire de detection de la proteine esm-1 et procede de detection mettant en oeuvre ledit necessaire
JP4612961B2 (ja) 2001-03-14 2011-01-12 株式会社日本総合研究所 分散処理方法および分散処理システム
US6952766B2 (en) * 2001-03-15 2005-10-04 International Business Machines Corporation Automated node restart in clustered computer system
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US20040122917A1 (en) * 2002-12-18 2004-06-24 Menon Jaishankar Moothedath Distributed storage system for data-sharing among client computers running defferent operating system types

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
JP2001312487A (ja) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd アプリケーションプログラムの監視方法、及びアプリケーション・サービスを提供する方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104999A1 (ja) * 2010-02-23 2011-09-01 日本電気株式会社 サービス提供システム、そのコンピュータプログラムおよびデータ処理方法

Also Published As

Publication number Publication date
EP1634176B1 (de) 2014-07-02
EP1634176A2 (de) 2006-03-15
US8301599B2 (en) 2012-10-30
WO2004114143A2 (de) 2004-12-29
WO2004114143A3 (de) 2006-07-27
US20060161637A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
US10635558B2 (en) Container monitoring method and apparatus
US7225356B2 (en) System for managing operational failure occurrences in processing devices
CA2467813C (en) Real composite objects for providing high availability of resources on networked systems
US10983880B2 (en) Role designation in a high availability node
US8301599B2 (en) Cluster arrangement
US9208029B2 (en) Computer system to switch logical group of virtual computers
US7774642B1 (en) Fault zones for interconnect fabrics
US11567790B2 (en) Node regeneration in distributed storage systems
US20120179798A1 (en) Autonomous primary node election within a virtual input/output server cluster
JP2007503628A (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US10367676B1 (en) Stable leader selection for distributed services
JP2007172334A (ja) 並列型演算システムの冗長性を確保するための方法、システム、およびプログラム
US20080196029A1 (en) Transaction Manager Virtualization
US20140067771A2 (en) Management of a Scalable Computer System
US7904564B2 (en) Method and apparatus for migrating access to block storage
US7240088B2 (en) Node self-start in a decentralized cluster
JPH09293059A (ja) 分散システム及びその運用管理方法
US20050259572A1 (en) Distributed high availability system and method
CN107995319B (zh) 虚拟设备配置方法及网络设备
Stack et al. Self-healing in a decentralised cloud management system
WO2023032103A1 (ja) ジョブ制御システム及びその制御方法
JP4412078B2 (ja) ネットワーク管理装置,中継装置,ネットワーク管理システム及びネットワーク管理プログラム
WO2023032105A1 (ja) ジョブ制御システム及びその制御方法
WO2023032104A1 (ja) ジョブ制御システム及びその制御方法
TWI378354B (en) Cluster-arrangement

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110202

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110323

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110701

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111018

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111024