JP2002108817A - 共用データベースによるアベイラビリティ・モニタリング方法 - Google Patents

共用データベースによるアベイラビリティ・モニタリング方法

Info

Publication number
JP2002108817A
JP2002108817A JP2001213586A JP2001213586A JP2002108817A JP 2002108817 A JP2002108817 A JP 2002108817A JP 2001213586 A JP2001213586 A JP 2001213586A JP 2001213586 A JP2001213586 A JP 2001213586A JP 2002108817 A JP2002108817 A JP 2002108817A
Authority
JP
Japan
Prior art keywords
availability
application
application server
time
server
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.)
Granted
Application number
JP2001213586A
Other languages
English (en)
Other versions
JP4132738B2 (ja
Inventor
Frank Reiman
レイマン・フランク
Dietel Laurel
ローレル・ディーテル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002108817A publication Critical patent/JP2002108817A/ja
Application granted granted Critical
Publication of JP4132738B2 publication Critical patent/JP4132738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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]

Abstract

(57)【要約】 【課題】 本発明は、複数のアプリケーション・サーバ
のアベイラビリティを表示し、および判別するテクノロ
ジに関する。 【解決手段】 提案された方法は、アプリケーション・
サーバの各々について、アプリケーション・サーバが使
用可能である間は繰り返されるアベイラビリティ信号の
反復期間の時間制限の上限を定義する通知期間を、アベ
イラビリティ・データベースに挿入する第1のステップ
を含み、第2のステップにおいて、各アベイラビリティ
信号について、その対応するタイム・スタンプを、アベ
イラビリティ・タイムとして、アベイラビリティ・デー
タベースに挿入する。前記通知期間と比較された、現在
時刻と最近のアベイラビリティ・タイムとの差異は、ア
プリケーション・サーバのアベイラビリティの基準を表
す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のアプリケー
ション・クライアントにアプリケーション・サービスを
提供する複数のアプリケーション・サーバのアベイラビ
リティを表示し、判別する方法および手段に関する。
【0002】
【従来の技術】企業は、彼らの日ごとの経営を支援する
システムのアベイラビリティに依存する。システムが作
動しており、実行中である場合には、システムは使用可
能といわれ、正確な結果を作り出している。狭い意味
で、システムのアベイラビリティは、システムが使用可
能である時間の一部である。MTBFは、このようなシ
ステムの平均故障間隔、すなわち、故障が発生するより
も前にシステムが使用可能である平均時間を表す(これ
は、システムの信頼性である)。MTTRは、その平均
修理時間、すなわち、故障の後にシステムを修理するの
にかかる平均時間を表す(これは、故障のゆえのシステ
ムのダウン時間である)。従って、
【0003】
【表1】
【0004】は、システムのアベイラビリティである。
理想的には、システムのアベイラビリティは1である。
今日、システムのアベイラビリティがおよそ99.99
9%である場合には、システムは、高いアベイラビリテ
ィを主張することができる(システムのアベイラビリテ
ィが、およそ99.99%である場合には、システム
は、耐障害といわれる)。J.GrayおよびA.Reu
ter,“Transaction processi
ng:Concepts and Technique
s”,San Mateo,カリフォルニア州:Mor
gan Kaufmann 1993は、これらの側面
に関して更に詳細に説明する。一定のシステムまたはア
プリケーションのアベイラビリティは、少なくとも2つ
の側面を有する。すなわち、第1の狭い意味において、
アベイラビリティは、一定のシステムが、そのサービス
の全ての提供においてアクティブか否かという問題に関
し、第2のより広い意味において、アベイラビリティ
は、十分な応答性を提供するタイムリな方法でこのサー
ビスが提供されたか否か、という問題に関する。
【0005】アベイラビリティを改善する一つの基本的
なメカニズムは、“冗長度”に基づく。すなわち、ハー
ドウェアのアベイラビリティは、マシンのクラスタを作
成することによって改良され、ソフトウェアのアベイラ
ビリティは、複数のアドレス・スペースにおいて同一の
ソフトウェアを実行することによって改善される。
【0006】分散システムの出現と共に、同一のソフト
ウェアを実行する異なるマシン上で2以上のアドレス・
スペースを使用して、アベイラビリティを改善する手法
(しばしば、アクティブ・レプリケーションといわれ
る)が考案された。これらの側面に関する更なる詳細
は、S.Mullender,“Distribute
dSystems”,ACM Press,1993に
おいて得ることができる。共用インプット・キューから
その要求を得る同一のソフトウェアを実行する同一のマ
シン上で2以上のアドレス・スペースを使用する際に、
ウォーム・バックアップの手法は、ホット・プール手法
によって一般化される。
【0007】C.R.Gehrら“Dynamic S
erver Switchingfor Maximu
m Server Availability and
Load Balancing”,米国特許第5,82
8,847号公報は、先に定義されたアベイラビリティ
の狭い意味に関連するダイナミック・サーバ・スイッチ
ング・システムを教示する。ダイナミック・サーバ・ス
イッチング・システムは、クライアントのための1次サ
ーバおよび優先通信方法、そして引き続いて2次サーバ
および通信方法対の階層を識別する静的かつ事前定義さ
れたリスト(プロファイルの一種)を各クライアント内
に保持する。クライアントが、指定された1次サーバ、
または指定された通信方法によって提供された要求を有
さないというイベントにおいて、システムは、リストを
トラバースして、第1の使用可能代替サーバ−通信方法
対のIDを得る。このシステムは、クライアントが、反
応しないサーバから事前定義代替サーバへ要求を転送す
るのを可能にする。このように、システムは、サービス
・アベイラビリティのためのリアクティブ・サーバ・ス
イッチングを提供する。
【0008】先に定義された狭い意味におけるアベイラ
ビリティの改良にもかかわらず、この教示はいくつかの
欠点を伴う。Gehrの教示は、1次サーバに全く到達
できない場合にだけ、リアクティブ・レスポンスを与え
る。クライアントが非応答的サーバからサービスを要求
するということをそれまでに予防する事前の対策を講じ
た要素が存在しない。1次および代替サーバのリスト
は、静的に事前定義されているので、そこにおいて得ら
れ得るサーバが一つもない、あるいは、そこにおいてい
くつかの非応答的代替サーバがテストされるよりも前に
サーバが得られることはないという状態が存在し得る。
クライアントおよびサーバがネットワークに永続的に入
るまたは出る、そしてサーバへのアクセス・パターンが
刻々と変化し得る、高度にダイナミックな,世界的なオ
ペレーティング・ネットワーク状態において、Gehr
の教示は、適切ではない。
【0009】本発明と同じ発明者による“Improv
ed Availabilityin Cluster
ed Application Servers”と呼
ばれる欧州特許出願 EP99109926.8は、ま
た、アベイラビリティ問題に関する。しかし、この教示
は、アプリケーション・クライアントの面にもっぱら集
中する。一定のアプリケーション要求が、使用可能なア
プリケーション・サーバによって処理されているという
ことを確かめるために、少なくとも一つの使用可能なア
プリケーション・サーバがこの要求を受信できるという
ことを仮定する複数の並列アプリケーション・サーバ
へ、マルチキャスト(multi−casting)・
ステップでこのアプリケーション要求を、送ることが提
案される。この教示は、一定のアプリケーション・サー
バのアベイラビリティの表し方の手法に関して全く一言
も触れていない。
【0010】同一の発明者に基づく、“Improvi
ng Availabilityand Scalab
ility in Clustered Applic
ation Servers”と呼ばれる、さらなる欧
州特許出願 EP99122914.7が知られてい
る。この出願において、アプリケーション・サーバのア
ベイラビリティを判別するための手法の存在が開始点と
してすでに想定される。この教示は、次に、アプリケー
ション要求を処理する一定のアプリケーション・サーバ
を選択することにより、いかなる方法でアプリケーショ
ン・クライアントがワークロード平衡化を実行できるの
かの手法に集中する。
【0011】これらの進歩の全てにもかかわらず、誰か
が一定のアプリケーション・サーバのアクセスに興味を
有し得るあらゆる時点での、世界的なコンピュータ・ネ
ットワークのユービクィティの理由から、彼らのアプリ
ケーションのアベイラビリティを増加させ、そして7
(日)*24(時間)ベースの電子ビジネスの要求に備
えている企業を支援するために、さらなる改良が緊急に
必要とされる。
【0012】
【発明が解決しようとする課題】本発明は、アプリケー
ション要求を受け入れるアプリケーション・サーバのア
ベイラビリティを表す改良された方法および手段を提供
し、そして、アプリケーション・サーバのアベイラビリ
ティをアプリケーション・クライアントによって判別す
る改良された方法および手段を提供する目的に基づく。
【0013】本発明のさらなる目的は、ネットワーク内
部の個々のアプリケーション・サーバのアベイラビリテ
ィのダイナミックな変更に高度に応答するテクノロジを
提供することにより、アベイラビリティを増大させるこ
とである。
【0014】
【課題を解決するための手段】本発明の目的は、独立の
クレイムによって解決される。本発明のさらに有益な構
成および実施形態は、それぞれのサブクレイムにおいて
説明される。
【0015】提示された方法は、アプリケーション・サ
ーバの各々について、アベイラビリティ信号の反復期間
のための時間制限の上限を定義する通知期間をアベイラ
ビリティ・データベースに挿入する第1のステップを含
み、アベイラビリティ信号は、アプリケーション・サー
バが使用可能である間は繰り返される。第2のステップ
において、各アベイラビリティ信号については、その対
応するタイム・スタンプが、アベイラビリティ・タイム
としてアベイラビリティ・データベースに挿入される。
前記通知期間と比較される、現在時刻と最近のアベイラ
ビリティ・タイムとの差異は、アプリケーション・サー
バのアベイラビリティの基準を表す。
【0016】提示されたテクノロジは、複数のアプリケ
ーション・クライアントへサービスを提供する複数のア
プリケーション・サーバのアベイラビリティおよびスケ
ーラビリティを増大させる。本発明は、アプリケーショ
ン・クライアントが、非応答的サーバからサービスを要
求する誤った要求ルーティングを生成することを予防す
る事前の策を講じたテクノロジを提供する。継続してい
る処理を有する動的手法は、クライアントおよびサーバ
がネットワークに永続的に入るまたは出るという動的ネ
ットワーク状態に高度に応答する。このようにして、本
発明は、サーバ・マシンのホット・プラグインを、アプ
リケーション・クラスタに収容することができ、従っ
て、環境のスケーラビリティをさらに増加させることが
できる。アプリケーション・クライアントをアプリケー
ション・サーバと関係づけるための複雑な管理努力は、
完全に回避される。
【0017】
【発明の実施の形態】本発明は、ハードウェア,ソフト
ウェア,またはハードウェアおよびソフトウェアの組み
合わせにおいて実現可能である。あらゆる種類のコンピ
ュータ・システム、あるいは、この中で述べられる方法
の実行に適応した他の装置が適している。ハードウェア
およびソフトウェアの典型的な組み合わせは、ロードさ
れ実行される時に、コンピュータシステムを制御してこ
の中で述べられる方法を実行するコンピュータ・プログ
ラムを有する汎用コンピュータ・システムであり得る。
本発明は、また、この中で述べられる方法の実施を可能
にする全ての特徴を含み、コンピュータ・システムにロ
ードされた時にこれらの方法を実行することができるコ
ンピュータ・プログラム製品において実現可能である。
【0018】本コンテキストにおいてコンピュータ・プ
ログラム手段あるいはコンピュータ・プログラムとは、
情報処理能力を有するシステムに、特定の機能を直接、
またはa)他の言語,コードまたは表記への変換、b)
異なる具体的な形式における複製、のいずれか一方もし
くは双方の後に、実行させることが意図された一組の命
令のあらゆる言語,コードまたは表記でのあらゆる表現
を意味する。
【0019】本明細書がアプリケーションに言及してい
る場合に、アプリケーションは、いかなる特定のタイプ
または実施態様にも限定されないあらゆる種類のコンピ
ュータ・プログラムであり得る。用語アプリケーション
・クライアントおよびアプリケーション・サーバは、い
くつかのタイプの“実例”に関連がある論理的な見地の
みから解される必要がある。これらの用語は、異なるア
ドレス・スペースを、あるいは異なるコンピュータ・シ
ステムでさえも、必ずしも識別するとは限らない。
【0020】本発明は、アプリケーション・クライアン
トおよびアプリケーション・サーバ間の一定の通信パス
を想定しており、これは、本発明が一定の通信パラダイ
ムに限定されるということを意味するものではない。
【0021】また、本明細書が“データベース”に言及
している場合に、その用語は、実際のデータベース(関
係,階層データベース等のような)だけでなく単純ファ
イル等をも含む広い意味において解されるべきである。
言い替えれば、用語データベースは、あらゆるタイプの
永続的ストレージを指す。
【0022】導入および課題企業は、彼らの日ごとの経
営を支援するシステムのアベイラビリティに依存する。
システムが作動しており、実行中である場合には、シス
テムは使用可能といわれ、正確な結果を作り出してい
る。狭い意味で、システムのアベイラビリティは、シス
テムが使用可能である時間の一部である。第2のより広
い意味において、アベイラビリティは、十分な応答性を
提供するタイムリな方法でアプリケーション・サービス
が提供されたか否か、という問題に関する。
【0023】最も好適な実施の形態において、本発明
は、図1においても示される以下の概念に基づく“アプ
リケーション・クラスタ”といわれる環境に関する。
【0024】アプリケーション・サーバ(110,11
1または112)は、関連しているサービスの集合−例
えば、共用リモート・データベース(100)へのアク
セスを含む−を実行可能に実施している。ホット・プー
ル(110,111,112)は、アドレス・スペース
の集合であり、アドレス・スペースの各々は、同一のア
プリケーション・サーバを実行し、これらのアプリケー
ション・サーバの各々は、入力キュー(125)から要
求を受信し、入力キューは、ホット・プール・メンバ間
で共用される。サーバ・マシン(101,102または
103)については、アプリケーション・サーバのホッ
ト・プールをホストする一定の物理的なマシンを意味す
る。アプリケーション・クラスタ(120)は、独立し
て障害が起こるサーバの集合であり、各サーバは、同種
のアプリケーション・サーバのホット・プールをホスト
する。
【0025】アプリケーション(130)は、アプリケ
ーション・クライアントを経てアプリケーション・サー
バからサービスを要求する。アプリケーションと同じマ
シン上で実行し、アプリケーションに代わってサーバと
通信するアプリケーション・クライアント(131)
が、実行可能である。アプリケーション・クライアント
およびサーバ間の通信が、(非同期)高信頼性メッセー
ジ交換に基づく場合には、アプリケーション・サーバ
は、メッセージ・ベースであるといわれる。以下におい
て、アプリケーション・クライアントおよびアプリケー
ション・サーバ間のメッセージ・ベースの通信を想定す
る。もちろん、他のパラダイムが代わりに使用可能であ
るので、本発明は、メッセージ・ベースの通信パラダイ
ムに限定されない。結果として、アプリケーション・ク
ライアントは、特定のマシン上の関連アプリケーション
・サーバのホット・プールの入力キューへ対応するメッ
セージを送信することにより一定のサービスのパフォー
マンスを要求する。
【0026】クライアントは、サーバ障害から自身を保
護し、従って、欧州特許出願 EP99109926.
8と共に既に上述したように、その要求を単純にマルチ
キャストすることによって全体の環境のアベイラビリテ
ィを増加させることができる。しかしながら、これは、
アプリケーション・サーバの特殊な実施を必要とし、あ
るいはそれは、べき等の要求に制限される。さらに、そ
れは、ファクタによって送信されるメッセージの数を増
加させる。
【0027】メッセージの数が問題である場合には、ホ
ット・プールへ要求を送信する各クライアントは、この
ホット・プールが障害を起こしたということを検出しな
ければならない(これは容易である、すなわち、対応す
るPUTコマンドが、メッセージ・ミドルウェアによっ
てクライアントへ否定的に応答され得る)。クライアン
トが、同一のアプリケーション・サーバの他のホット・
プール(すなわち、障害ホット・プールがメンバである
アプリケーション・クラスタのサーバ・マシン)を認め
る時、クライアントは、クラスタの異なるサーバ上の他
のホット・プールへその要求を送信できる。そうするこ
とで、クライアントは、ホット・プール自身間の引継ぎ
を実現できる。
【0028】従って、問題は、要求を受け入れるために
いまだに使用可能であるサーバを検出することである
(いわゆるアベイラビリティ・モニタリング)。この目
的のために、いわゆるウォッチングが使用可能であり、
単一マシン上のホット・プールを監視して障害を起こし
たサーバを検出できる。その上、ウォッチドッグは、ウ
ォッチドッグが監視するホット・プールの障害を起こし
たアプリケーション・サーバを自動的にリスタートし得
る。上述した欧州特許出願 EP99122914.7
と共に、ウォッチドッグ・モニタリングの概念が、アプ
リケーション・クラスタにおいて障害を起こしたサーバ
・マシンを検出するために検討されてきた。この概念
は、使用可能なアプリケーション・サーバの組を監視
し、判別するウォッチドッグ間の特定の通信プロトコル
に基づく。
【0029】典型として、メッセージは、分散アプリケ
ーションのパーツ間のネットワークを経て送信され、そ
のコンポーネントの全体の状態を維持する。監視される
ウォッチドッグの集合をこのような分散アプリケーショ
ンとみなす(その唯一の目的は、その分散コンポーネン
トの活性(liveliness)についての問い合わ
せに応答することであり得る)と、このようなネットワ
ーク・ベースのメッセージ受け渡しスキームが使用可能
である。しかしながら、ネットワーク・ベースのメッセ
ージ受け渡しプロトコルは、数個の固有の問題(多少困
難な)を有する。例えば、
【0030】送信されるメッセージが、ある状態で許容
できないネットワーク上に追加的な負荷を加えることも
あるという単純な事実。
【0031】より複雑なアルゴリズムが、障害の単一点
を回避するために実施されなければならず(識別された
ウォッチドッグが参加者である他のウォッチドッグを単
に監視する“集中”モニタリングにおけるのと同様
に)、これは、より一層の開発努力に帰する。さらに、
このような実施は、“チェッカ検査(check th
echecker)”、すなわち、これらのチェック・
インスタンス自身がいかなる障害も引き起こさないとい
うことを確かめるために特定のプログラミング手法が活
用されなければならないという問題を起こす。
【0032】到達可能性プロパティは確保されなければ
ならず(例えば、中央ウォッチドッグは、“集中モニタ
リング”において全ての他のウォッチドッグに到達でき
なければならず、あるいは、各ウォッチドッグは、“分
散モニタリング”において全ての他のウォッチドッグに
到達できなければならない)、到達可能性プロパティ
は、環境を適切にセットアップして管理タスクを達成す
ることが難しいと同時に、発生し得るものであり、処理
されなければならないネットワーク分割化(すなわち、
接続損失のために、ネットワークが分離したサブネット
に分離する)の場合には処理することが困難である。
【0033】結果として、本発明の目的は、これらの大
規模ネットワーク・ベースのメッセージ受け渡しプロト
コルを必要とするようなメカニズムを克服することであ
る。しかしながら、同時に、これらの問題に対する望ま
しい解決法は、クラスタに入る(ホット・プラグイン)
あるいは出るアプリケーション・サーバを自動的に判別
する事前の対策を講じたテクノロジを提供することと思
われる。
【0034】解決法の基本的思想本発明の中心思想は、
図2に反映される。本発明の中心的な所見は、中央およ
び共用データベースの導入が、上述のネットワーク・メ
ッセージ・トラフィック問題を著しく削減し得るという
ことである。アプリケーション・サーバの活性(liv
eliness)についての状態を交換する通信媒体と
して監視される全てのウォッチドッグによって共用され
るデータベースを使用することが提案される。この新し
いデータベースは、ライフ(life)・データベース
あるいはアベイラビリティ・データベース200と称さ
れる。本発明の好適な実施の形態において、クラスタ2
02の対応するアプリケーション・サーバの各ウォッチ
ドッグ201は、“I am alive!”203レ
コードを、ライフ・データベースに周期的に書き込み、
このレコードは、対応するアプリケーション・サーバの
アベイラビリティ信号として解され、アプリケーション
・サービス要求を受け入れるためにアプリケーション・
サーバが作動可能であることを表す。ウォッチドッグ概
念の導入は、すでに付加的な改良である。もちろん、各
アプリケーション・サーバ自身が、アベイラビリティ信
号をアベイラビリティ・データベースに挿入することに
責任を負うということが可能であり得る。
【0035】見本の実施の形態として、アプリケーショ
ン・クラスタのライフ・データベースをホストする関係
データベース・システムが想定される。これが本発明に
とって中心とならない、すなわち、あらゆる他の永続的
ストア(例えば、ファイル・システム、またはente
rprise Java(R) beans エンティ
ティ・コンテナ)がこのために使用可能であるというこ
とに留意されたい。とりわけ、アプリケーション・クラ
スタがそのシステム管理のために使用できるトポロジ・
データベースは、ライフ・データベースに相当する適切
なテーブルによって拡張され得る。
【0036】アプリケーション・クラスタのライフ・デ
ータベースにアクセス可能なあらゆるソフトウェア(例
えば、アプリケーション・サービスの要求に関与したア
プリケーション・クライアント)は、使用可能なサー
バ、および障害を起こし現在は使用できないサーバを判
別できる。
【0037】一定のアプリケーション・サーバまたはそ
のウォッチドッグに対して、対応するアベイラビリティ
信号がアベイラビリティ・データベースに一度だけ入力
され得るということは、十分ではない。このイベントの
後に、アプリケーション・サーバがクラッシュした場合
には、アベイラビリティ・データベースは、現在の状態
との同期がなくなり得る。この問題を処理するために、
本発明は、ライフ・データベースが、各ウォッチドッグ
が“I am alive!”レコードをデータベース
に書き込むことに同意した期間に関する情報をも含まな
ければならないということを、この目的のために提案す
る。従って、通知期間を含むさらなるデータ要素が、ア
ベイラビリティ・データベースに挿入される。通知期間
は、対応するウォッチドッグ(またはアプリケーション
・サーバ)が使用可能である間はアベイラビリティ信号
が繰り返される際の時間制限の上限を定義する。
【0038】見本の実施の形態として、図3は、個々の
通知期間を格納する期間テーブルを示す。期間テーブル
は、ウォッチドッグ(アプリケーション・クラスタに相
当する)のID、またはアベイラビリティ信号を繰り返
すアプリケーション・サーバ300そして通知期間30
1のIDを含むということが提案される。アベイラビリ
ティ・モニタリングに関係する各ウォッチドッグ/アプ
リケーション・サーバは、このようなレコードを、アベ
イラビリティ・データベースに入力し得る。ウォッチド
ッグがそれと共に“I am alive!”メッセー
ジを書き込む期間を、このテーブルからSQLによって
取り出す方法は、この技術分野のあらゆる当業者にとっ
て明白である。同様に、アプリケーション・クラスタに
よって包含された全てのウォッチドッグは、SQLによ
ってこのテーブルから取り出されることが可能である。
【0039】見本の実施の形態として、図4は、ウォッ
チドッグの“I am alive!”レコードを表す
ために使用されるテーブルAlive_Signalを
示す。すなわち、ウォッチドッグから受信された各アベ
イラビリティ信号に対して、このようなレコードが、ア
ベイラビリティ・データベースに入力され得る。期間テ
ーブルと同様に、Alive_Signalテーブル
が、アベイラビリティ信号を送信した対応するウォッチ
ドッグ/アプリケーション・サーバのID400を含む
ということが提案される。さらに、Alive_Tim
estampフィールド401は、タイムスタンプと、
従って、最も最近のアベイラビリティ信号のアベイラビ
リティ・タイムとを格納する。
【0040】これらの2つのテーブル、すなわち期間テ
ーブルおよびAlive_Signalテーブルに含ま
れる情報は、アプリケーション・サーバのアベイラビリ
ティの正確なピクチャを反映する。一般的にいえば、各
アプリケーション・サーバに対して、アベイラビリティ
基準は、特定のアプリケーション・サーバの通知期間と
比較した、現在の時刻(例えば、アベイラビリティ・デ
ータベースに問い合わせる時刻)と最も最近のアベイラ
ビリティ・タイムとの差異によって定義される。さらに
一般的には、現在のアベイラビリティ・タイムと直前の
アベイラビリティ・タイムとの間の他の差異がアベイラ
ビリティ基準に加えられ得る。以下の特定のアベイラビ
リティ基準がサクセスフルであると証明された。
【0041】1.現在の時刻と、最も最近のアベイラビ
リティ・タイムとの差異が、通知期間を越える場合に
は、対応するアプリケーション・サーバは、使用不可能
であるとして扱われる。これは、アプリケーション・サ
ーバが、少なくとも通知期間以内にアベイラビリティ信
号を繰り返すことを約束したからである。そうでなけれ
ば、アプリケーション・サーバは、使用可能であるとみ
なされる。
【0042】2.Alive_Signalテーブルに
基づいて、特定のウォッチドッグによって書き込まれた
最後の2つの“I am alive!”レコードの挿
入の間に経過した時間が定義可能である。すなわち、最
も最近のアベイラビリティ・タイムと直前のアベイラビ
リティ・タイムとの間の時間の差異が定義される。この
期間が、このウォッチドッグが“I am alive
!”メッセージを挿入することに同意した通知期間を越
える場合には、ウォッチドッグは、障害を起こした候補
となる。このアベイラビリティ基準は、最後の2つのア
ベイラビリティ信号が予定された通知期間以内でない場
合には、これは、アプリケーション・サーバが現在は問
題を経験しており、従って回避されるべきであるという
しるしであるという仮定に基づく。
【0043】3.典型として、このようなタイムアウト
・ベースの障害判別メカニズムは、ウォッチドッグが、
単に忙し過ぎて、アベイラビリティ信号をアベイラビリ
ティ・データベースに書き込むことができないが、なお
も使用可能であるというような状態を処理しなければな
らない。このような状態を処理できるアベイラビリティ
基準は、現在の時刻と直前のアベイラビリティ・タイム
との間の差異が、Nのファクタだけ通知期間を越える場
合には、アプリケーション・サーバを使用不可能である
として扱うことによって達成される。
【0044】他方において、アベイラビリティ・データ
ベース(ライフ・データベース)に基づいて、どのウォ
ッチドッグ/アプリケーション・サーバが障害を起こし
ているのか、そしてどのウォッチドッグ/アプリケーシ
ョン・サーバがなおも使用可能であるのかが判別可能で
ある。とりわけ、ライフ・データベースにアクセスでき
るあらゆるプログラムがこのチェックを実行できる。す
なわち、プログラムとは、各ウォッチドッグ,この環境
のために構築され得る分離管理コンポーネントおよび、
もちろんアプリケーション・サービス要求を運ぶための
使用可能なアプリケーション・サーバを捜す各アプリケ
ーション・クライアントである。各アプリケーション・
クライアントは、アベイラビリティ・データベースに問
い合わせ、上述のアベイラビリティ基準を利用して少な
くとも一つの使用可能アプリケーション・サーバを判別
し、判別した使用可能アプリケーション・サーバにアプ
リケーション・サービス要求を送信することができる。
【0045】本発明のさらに有益な実施の形態は、ウォ
ッチドッグまたはアプリケーション・サーバがそれらの
通知期間を動的に調整する場合に達成可能である。この
動的調整が、アプリケーション・サーバによって処理さ
れるワークロードの総量に従属する場合には、アベイラ
ビリティ基準は、ワークロード表示をも表すことによっ
て新しい性質になる。ワークロードの総量が増加する場
合には、通知期間を増加させることにより、そして、ワ
ークロードの総量が減少する場合には、通知期間を減少
させることにより、通知期間は、アプリケーション・サ
ーバの応答性を表現するワークロード・インディケータ
を(同時に)表す。この表示は、平行をなす一組のアプ
リケーション・サーバのためのアベイラビリティ基準を
判別することにより、アプリケーション・クライアント
によって活用され得る。この状態において、アベイラビ
リティ基準は、使用可能なアプリケーション・サーバの
サブセットを判別するために使用され得るだけでなく
(これは、2分決定、すなわち“使用可能”/“使用不
可能”のみを表すこととなる)、アベイラビリティ基準
は、アプリケーション・クライアントによって実行され
るワークロード平衡化決定のための基礎を形成すること
も可能である。パラメータである現在の通知期間によっ
て多少影響を受けるアベイラビリティ基準の数値的値
は、ワークロード表示でもある。アプリケーション・ク
ライアントは、そのアプリケーション・サービス要求
を、最低のワークロードを有する使用可能なアプリケー
ション・サーバ、すなわち、このさらなるアプリケーシ
ョン要求については、最大のアベイラビリティ基準を有
するアプリケーション・サーバへ発行し得る。
【0046】図5は、ワークロード状態に従属する通知
期間に適応する動的側面をも含むアベイラビリティを表
示する方法を説明するフロー図である。アプリケーショ
ン・サーバまたはウォッチドッグによるアベイラビリテ
ィ・モニタリングのプロセスは、ステップ501内で開
始される。次のステップ502内で、現在のワークロー
ド状態と比較して高すぎず、あるいは低すぎない通知期
間を算出するために現在のワークロード状態が判別され
る。この算出された通知期間は、ステップ503内でア
ベイラビリティ・データベースに(もちろん)入力され
なければならない。通知期間によってセットされた時間
フレーム以内に、現在のアベイラビリティ信号はアベイ
ラビリティ・データベースに入力されなければばらな
い。これは、ステップ504において反映される。通知
期間は、アベイラビリティ信号の反復のための時間制限
の上限を定義する。ワークロードに従属して、アプリケ
ーション・サーバ/ウォッチドッグは、アベイラビリテ
ィ信号をより頻繁に発行するよう試み得る。ステップ5
04の後(または、このステップよりも前に代替の実施
形態として)、ステップ505内で現在のワークロード
状態が分析される。通知期間を再調整することを必要と
する方法で、現在のワークロード状態が変化した場合に
は、制御パス506を選択して、通知期間を判別するプ
ロセス・ステップが再び開始される。現在のワークロー
ド状態が大きくは変化しなかった場合には、パス507
を選択してアベイラビリティ信号発行の反復が繰り返さ
れる。
【0047】その期間テーブル(図3において説明され
た),そのアベイラビリティ・テーブル(図4において
説明された)を有するアベイラビリティ・データベース
の構造およびレイアウトは、概念的な面のみから解釈さ
れる必要がある。もちろん、アベイラビリティ・データ
ベースの構造は、以下のような、なおいっそうの改良の
対象となり得る。
【0048】1.新しい通知期間、または新しいアベイ
ラビリティ信号の各挿入は、新しいレコードをデータベ
ースに導入し得る。アベイラビリティ・データベースが
永続的に大きくなり得ることを予防するために、もはや
有用でない古いデータベース・レコードを除去するとい
うプロセスが提案される。例えば、一定のウォッチドッ
グ/アプリケーション・サーバの各レコード・タイプに
ついては、最も最新のおよび直前のレコードだけがデー
タベース内部に維持される。このようなプロセスの実現
のために、“ストアド・プロシージャ”のテクノロジが
有益に活用可能である。このような適応ストアド・プロ
シージャは、もはや必要とされないレコードを削除する
バックグラウンドにおいてデータベース内で実行可能で
ある。
【0049】2.通知期間とアベイラビリティ信号とを
異なるデータベース・レコード内に格納することは、も
ちろん本発明にとって本質ではない。双方のデータ要素
を一つのデータベース・レコード内部に含む方法の例
が、図6において視覚化される。図6から認められるよ
うに、ウォッチドッグID/アプリケーション・サーバ
ID600および通知期間601のほかに、複数のアベ
イラビリティ信号が2つのエントリだけに縮小される。
現在のアベイラビリティ信号602が新しいアベイラビ
リティ信号によって更新される時はいつでも、その内容
は、直前のアベイラビリティ信号603を格納するフィ
ールドに転送される。その後、新しいアベイラビリティ
信号が、現在のアベイラビリティ信号602のフィール
ドに挿入される。この手法を用いて、アベイラビリティ
・データベースは、各ウォッチドッグ/アプリケーショ
ン・サーバについては、単一データベース・レコードが
保持されなければならないだけである適度なサイズに限
定される。
【0050】本発明の利点 提案されたテクノロジは、複数のアプリケーション・ク
ライアントへサービスを提供する複数のアプリケーショ
ン・サーバのアベイラビリティおよびスケーラビリティ
を増加させる。本発明は、クライアントが、非応答的サ
ーバからサービスを要求する誤った要求ルーティングを
生成するということを予防する事前の対策を講じたテク
ノロジを提供する。クライアントおよびサーバが永続的
にネットワークに入るまたは出るところの動的ネットワ
ーク状態に高度に応答する継続しているプロセスが提案
される。こうして、本発明は、サーバ・マシンのホット
・プラグインをアプリケーション・クラスタに収容し、
環境のスケーラビリティをさらに増加させることができ
る。アプリケーション・クライアントをアプリケーショ
ン・サーバと関係づけるための複雑な(すなわち、当然
に支払われるべきその絶対的に受け入れがたい複雑性)
管理努力は完全に回避される。
【0051】本発明は、どのようなネットワーク・ベー
スのメッセージ受け渡しも想定しないので、このような
メカニズムの全ての障害(上述の所見を参照されたい)
が回避される。唯一のシステム条件は、共用データベー
スである。今日のデータベース管理システムは極めて堅
固であり、従って、ライフ・データベースを障害の単一
点とみなす必要はない。さらに、大抵のアプリケーショ
ン・サーバは、データベース・システムのトップに構築
される。こうして、共用データベースの前提条件が多く
の状態において自動的に満たされる。ホット・プールを
ホストすることにより、各サーバ・マシンは共用データ
ベースにアクセスできるので、到達可能性は全然問題に
ならない。最後に、ウォッチドッグ・モニタリング手法
は、ライフ・データベースを関係DBMSに入れる際に
SQLによって容易に実現できる。
【0052】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)1または複数のアプリケーション・サーバのアベ
イラビリティを表示するコンピュータ化された方法であ
って、前記方法は、通知期間を含む第1のデータ要素
(301,601)を、アベイラビリティ・データベー
ス(200)に挿入する第1のステップ(503)を含
み、前記通知期間は、前記アプリケーション・サーバが
使用可能である間は繰り返されるアベイラビリティ信号
の反復期間の時間制限の上限を定義し、前記方法は、各
アベイラビリティ信号について、アベイラビリティ・タ
イムであるその対応するタイム・スタンプを含む第2の
データ要素(401,602)を、前記アベイラビリテ
ィ・データベースに挿入する第2のステップ(504)
を含み、前記通知期間と比較される、現在時刻と最近の
アベイラビリティ・タイムとの差異は、前記アプリケー
ション・サーバのアベイラビリティの基準を表すアベイ
ラビリティを表示するコンピュータ化された方法。 (2)前記方法は、前記アプリケーション・サーバのワ
ークロードの総量が増加する場合には、前記通知期間を
増加させることによるか、または前記ワークロードの総
量が減少する場合には、前記通知期間を減少させること
によるかのいずれかにより、前記アプリケーション・サ
ーバのワークロードの総量に従属して前記通知期間を更
新する第3のステップ(505)を含む上記(1)に記
載のアベイラビリティを表示するコンピュータ化された
方法。 (3)前記第1および前記第2のステップ内で、さら
に、アプリケーション・サーバID(300,400,
600)が前記アベイラビリティ・データベースに挿入
され、前記第1および前記第2のデータ要素と関係づけ
られる上記(1)に記載のアベイラビリティを表示する
コンピュータ化された方法。 (4)前記差異が、前記通知期間を越える場合には、前
記アベイラビリティの基準は、前記アプリケーション・
サーバのアンアベイラビリティ(unavailabi
lity)を表示する上記(3)に記載のアベイラビリ
ティを表示するコンピュータ化された方法。 (5)前記アベイラビリティ・データベースは、前記1
または複数のアプリケーション・サーバのホット・プー
ルを各々が含む複数のアプリケーション・サーバによっ
て共用され、前記ホット・プールに対して、ウォッチド
ッグが前記ホット・プールのアベイラビリティ状況をモ
ニタリングし、前記方法は、前記ウォッチドッグによっ
て実行され、前記アベイラビリティ信号は、前記ホット
・プールの前記アプリケーション・サーバの少なくとも
一つが使用可能である間は繰り返され、前記第1および
前記第2のステップ内で、さらに、ホット・プールID
が前記アベイラビリティ・データベースに挿入され、前
記第1および前記第2のデータ要素と関係づけられる上
記(1)に記載のアベイラビリティを表示するコンピュ
ータ化された方法。 (6)他の差異である前記最近のアベイラビリティ・タ
イムと直前のアベイラビリティ・タイム(603)との
差異が、前記アベイラビリティの基準に含まれる上記
(2)または(5)に記載のアベイラビリティを表示す
るコンピュータ化された方法。 (7)アプリケーション・サービス要求を受け入れる1
または複数のアプリケーション・サーバのアベイラビリ
ティを判別するコンピュータ化された方法であって、前
記方法は、アベイラビリティ・データベース(200)
に対して、通知期間を含む第1のデータ要素(301,
601)、前記通知期間は、前記アプリケーション・サ
ーバが使用可能である間は繰り返されるアベイラビリテ
ィ信号の反復期間の時間制限の上限を定義し、最近のア
ベイラビリティ信号のための、最近のアベイラビリティ
・タイムであるそのタイム・スタンプを含む第2のデー
タ要素、を問い合わせる第1のステップを含み、前記方
法は、現在時刻と前記最近のアベイラビリティ・タイム
との差異を、前記通知期間と比較することにより、前記
アプリケーション・サーバのアベイラビリティの基準を
判別する第2のステップを含み、前記方法は、前記アベ
イラビリティの基準が、前記指示サーバのアベイラビリ
ティを表示する場合には、アプリケーション・サービス
要求を、前記アプリケーション・サーバだけに発行する
第3のステップを含むアベイラビリティを判別するコン
ピュータ化された方法。 (8)前記差異が、前記通知期間を越える場合には、前
記アベイラビリティの基準は、前記アプリケーション・
サーバのアンアベイラビリティを表示する上記(7)に
記載のアベイラビリティを判別するコンピュータ化され
た方法。 (9)前記方法は、前記第1のステップにおいて、さら
に、直前のアベイラビリティ信号のための直前のアベイ
ラビリティ・タイムを含む第3のデータ要素(603)
を問い合わせ、前記第2のステップにおいて、さらに、
他の差異である、前記最近のアベイラビリティ・タイム
と前記直前のアベイラビリティ・タイムとの差異が、前
記アベイラビリティの基準に含まれる上記(7)に記載
のアベイラビリティを判別するコンピュータ化された方
法。 (10)前記差異が、Nのファクタだけ前記通知期間を
越える場合には、前記アベイラビリティの基準は、前記
アプリケーション・サーバのアンアベイラビリティを表
示する上記(7)に記載のアベイラビリティを判別する
コンピュータ化された方法。 (11)前記方法は、複数のアプリケーション・サーバ
に対して実行され、前記第3のステップにおいて、前記
アベイラビリティの基準がアベイラビリティを表示する
アプリケーション・サーバを含むアプリケーション・サ
ーバのサブセットが判別され、前記サブセット内部の各
アプリケーション・サーバに対して、その対応するアベ
イラビリティの基準が、ワークロード表示と解釈され、
前記アプリケーション・サービス要求が、最低のワーク
ロードを有するアプリケーション・サーバへ発行される
上記(9)に記載のアベイラビリティを判別するコンピ
ュータ化された方法。 (12)1または複数のアプリケーション・サーバのア
ベイラビリティを表示するシステムであって、前記シス
テムは、上記(1)〜(6)のいずれかに記載の方法の
ステップを実行するために適切な手段を含むシステム。 (13)上記(1)〜(6)のいずれかに記載の方法を
実行するソフトウェア・コード部分を含む、データ処理
システムにおける実行のためのデータ処理プログラム。 (14)上記(1)〜(6)のいずれかに記載の方法を
コンピュータに実行させるコンピュータ読み取り可能な
プログラム手段を含む、コンピュータ使用可能媒体に格
納されたコンピュータ・プログラム製品。 (15)アプリケーション・サービス要求を受け入れる
1または複数のアプリケーション・サーバのアベイラビ
リティを判別するシステムであって、前記システムは、
上記(7)〜(11)のいずれかに記載の方法のステッ
プを実行するために適切な手段を含むシステム。 (16)データ処理プログラムであって、前記プログラ
ムが前記コンピュータ上で実行された時に、上記(7)
〜(11)のいずれかに記載の方法を実行するソフトウ
ェア・コード部分を含む、データ処理システムにおける
実行のためのデータ処理プログラム。 (17)コンピュータ読み取り可能なプログラム手段で
あって、前記プログラムが前記コンピュータ上で実行さ
れた時に、上記(7)〜(11)のいずれかに記載の方
法を前記コンピュータに実行させるコンピュータ読み取
り可能なプログラム手段を含む、コンピュータ使用可能
媒体に格納されたコンピュータ・プログラム製品。
【図面の簡単な説明】
【図1】アプリケーション・サーバ,ホット・プール,
アプリケーション・クラスタおよびアプリケーション・
クライアントの概念を反映する図である。
【図2】そのアベイラビリティ状況を表すための通信媒
体である各アプリケーション・サーバ/対応するウォッ
チドッグによって維持される、本発明に従って提案され
たアベイラビリティ・データベースを反映する。
【図3】個々の通知期間を含む、本発明に従う期間テー
ブルのレコード様式を示す。
【図4】個々のアベイラビリティ信号を格納するアベイ
ラビリティ・データベース内部のレコード様式を視覚化
する。
【図5】ワークロード状態に従属する通知期間に適応す
る動的側面をも含む本発明に従ってアベイラビリティを
表す方法を説明するフロー図を反映する。
【図6】期間テーブルおよびアベイラビリティ信号テー
ブルを結合して単一テーブルだけにする実施例を示す。
【符号の説明】 100 共用リモート・データベース 101,102,103 サーバ・マシン 110,111,112 アプリケーション・サーバ 113,114,115 アプリケーション・サーバ 116,117,118 アプリケーション・サーバ 120 アプリケーション・クラスタ 125 入力キュー 130 アプリケーション 131 アプリケーション・クライアント 200 ライフ・データベース 201 ウォッチドッグ 202 クラスタ 203 レコード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ローレル・ディーテル ドイツ ショーエンアイヒ デー−71101 ヘルマン−ロエンス−ベーク 5 Fターム(参考) 5B042 GA10 GA12 MA00 MA08 MA10 MC28 MC29 5B085 AC12 BA07 BG03 BG07

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】1または複数のアプリケーション・サーバ
    のアベイラビリティを表示するコンピュータ化された方
    法であって、 前記方法は、通知期間を含む第1のデータ要素(30
    1,601)を、アベイラビリティ・データベース(2
    00)に挿入する第1のステップ(503)を含み、前
    記通知期間は、前記アプリケーション・サーバが使用可
    能である間は繰り返されるアベイラビリティ信号の反復
    期間の時間制限の上限を定義し、 前記方法は、各アベイラビリティ信号について、アベイ
    ラビリティ・タイムであるその対応するタイム・スタン
    プを含む第2のデータ要素(401,602)を、前記
    アベイラビリティ・データベースに挿入する第2のステ
    ップ(504)を含み、 前記通知期間と比較される、現在時刻と最近のアベイラ
    ビリティ・タイムとの差異は、前記アプリケーション・
    サーバのアベイラビリティの基準を表すアベイラビリテ
    ィを表示するコンピュータ化された方法。
  2. 【請求項2】前記方法は、前記アプリケーション・サー
    バのワークロードの総量が増加する場合には、前記通知
    期間を増加させることによるか、 または前記ワークロードの総量が減少する場合には、前
    記通知期間を減少させることによるかのいずれかによ
    り、 前記アプリケーション・サーバのワークロードの総量に
    従属して前記通知期間を更新する第3のステップ(50
    5)を含む請求項1に記載のアベイラビリティを表示す
    るコンピュータ化された方法。
  3. 【請求項3】前記第1および前記第2のステップ内で、
    さらに、アプリケーション・サーバID(300,40
    0,600)が前記アベイラビリティ・データベースに
    挿入され、前記第1および前記第2のデータ要素と関係
    づけられる請求項1に記載のアベイラビリティを表示す
    るコンピュータ化された方法。
  4. 【請求項4】前記差異が、前記通知期間を越える場合に
    は、前記アベイラビリティの基準は、前記アプリケーシ
    ョン・サーバのアンアベイラビリティ(unavail
    ability)を表示する請求項3に記載のアベイラ
    ビリティを表示するコンピュータ化された方法。
  5. 【請求項5】前記アベイラビリティ・データベースは、
    前記1または複数のアプリケーション・サーバのホット
    ・プールを各々が含む複数のアプリケーション・サーバ
    によって共用され、 前記ホット・プールに対して、ウォッチドッグが前記ホ
    ット・プールのアベイラビリティ状況をモニタリング
    し、 前記方法は、前記ウォッチドッグによって実行され、 前記アベイラビリティ信号は、前記ホット・プールの前
    記アプリケーション・サーバの少なくとも一つが使用可
    能である間は繰り返され、 前記第1および前記第2のステップ内で、さらに、ホッ
    ト・プールIDが前記アベイラビリティ・データベース
    に挿入され、前記第1および前記第2のデータ要素と関
    係づけられる請求項1に記載のアベイラビリティを表示
    するコンピュータ化された方法。
  6. 【請求項6】他の差異である前記最近のアベイラビリテ
    ィ・タイムと直前のアベイラビリティ・タイム(60
    3)との差異が、前記アベイラビリティの基準に含まれ
    る請求項2または5に記載のアベイラビリティを表示す
    るコンピュータ化された方法。
  7. 【請求項7】アプリケーション・サービス要求を受け入
    れる1または複数のアプリケーション・サーバのアベイ
    ラビリティを判別するコンピュータ化された方法であっ
    て、 前記方法は、アベイラビリティ・データベース(20
    0)に対して、 通知期間を含む第1のデータ要素(301,601)、 前記通知期間は、前記アプリケーション・サーバが使用
    可能である間は繰り返されるアベイラビリティ信号の反
    復期間の時間制限の上限を定義し、 最近のアベイラビリティ信号のための、最近のアベイラ
    ビリティ・タイムであるそのタイム・スタンプを含む第
    2のデータ要素、を問い合わせる第1のステップを含
    み、 前記方法は、現在時刻と前記最近のアベイラビリティ・
    タイムとの差異を、前記通知期間と比較することによ
    り、前記アプリケーション・サーバのアベイラビリティ
    の基準を判別する第2のステップを含み、 前記方法は、前記アベイラビリティの基準が、前記指示
    サーバのアベイラビリティを表示する場合には、アプリ
    ケーション・サービス要求を、前記アプリケーション・
    サーバだけに発行する第3のステップを含むアベイラビ
    リティを判別するコンピュータ化された方法。
  8. 【請求項8】前記差異が、前記通知期間を越える場合に
    は、前記アベイラビリティの基準は、前記アプリケーシ
    ョン・サーバのアンアベイラビリティを表示する請求項
    7に記載のアベイラビリティを判別するコンピュータ化
    された方法。
  9. 【請求項9】前記方法は、前記第1のステップにおい
    て、さらに、直前のアベイラビリティ信号のための直前
    のアベイラビリティ・タイムを含む第3のデータ要素
    (603)を問い合わせ、 前記第2のステップにおいて、さらに、他の差異であ
    る、前記最近のアベイラビリティ・タイムと前記直前の
    アベイラビリティ・タイムとの差異が、前記アベイラビ
    リティの基準に含まれる請求項7に記載のアベイラビリ
    ティを判別するコンピュータ化された方法。
  10. 【請求項10】前記差異が、Nのファクタだけ前記通知
    期間を越える場合には、前記アベイラビリティの基準
    は、前記アプリケーション・サーバのアンアベイラビリ
    ティを表示する請求項7に記載のアベイラビリティを判
    別するコンピュータ化された方法。
  11. 【請求項11】前記方法は、複数のアプリケーション・
    サーバに対して実行され、 前記第3のステップにおいて、 前記アベイラビリティの基準がアベイラビリティを表示
    するアプリケーション・サーバを含むアプリケーション
    ・サーバのサブセットが判別され、 前記サブセット内部の各アプリケーション・サーバに対
    して、その対応するアベイラビリティの基準が、ワーク
    ロード表示と解釈され、 前記アプリケーション・サービス要求が、最低のワーク
    ロードを有するアプリケーション・サーバへ発行される
    請求項9に記載のアベイラビリティを判別するコンピュ
    ータ化された方法。
  12. 【請求項12】1または複数のアプリケーション・サー
    バのアベイラビリティを表示するシステムであって、 前記システムは、請求項1〜6のいずれかに記載の方法
    のステップを実行するために適切な手段を含むシステ
    ム。
  13. 【請求項13】請求項1〜6のいずれかに記載の方法を
    実行するソフトウェア・コード部分を含む、データ処理
    システムにおける実行のためのデータ処理プログラム。
  14. 【請求項14】請求項1〜6のいずれかに記載の方法を
    コンピュータに実行させるコンピュータ読み取り可能な
    プログラム手段を含む、コンピュータ使用可能媒体に格
    納されたコンピュータ・プログラム製品。
  15. 【請求項15】アプリケーション・サービス要求を受け
    入れる1または複数のアプリケーション・サーバのアベ
    イラビリティを判別するシステムであって、 前記システムは、請求項7〜11のいずれかに記載の方
    法のステップを実行するために適切な手段を含むシステ
    ム。
  16. 【請求項16】データ処理プログラムであって、前記プ
    ログラムが前記コンピュータ上で実行された時に、請求
    項7〜11のいずれかに記載の方法を実行するソフトウ
    ェア・コード部分を含む、データ処理システムにおける
    実行のためのデータ処理プログラム。
  17. 【請求項17】コンピュータ読み取り可能なプログラム
    手段であって、前記プログラムが前記コンピュータ上で
    実行された時に、請求項7〜11のいずれかに記載の方
    法を前記コンピュータに実行させるコンピュータ読み取
    り可能なプログラム手段を含む、コンピュータ使用可能
    媒体に格納されたコンピュータ・プログラム製品。
JP2001213586A 2000-07-15 2001-07-13 アプリケーション・サーバのアベイラビリティを判別するコンピュータ化された方法 Expired - Fee Related JP4132738B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00115368 2000-07-15
EP00115368.3 2000-07-15

Publications (2)

Publication Number Publication Date
JP2002108817A true JP2002108817A (ja) 2002-04-12
JP4132738B2 JP4132738B2 (ja) 2008-08-13

Family

ID=8169279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001213586A Expired - Fee Related JP4132738B2 (ja) 2000-07-15 2001-07-13 アプリケーション・サーバのアベイラビリティを判別するコンピュータ化された方法

Country Status (5)

Country Link
US (1) US6968381B2 (ja)
JP (1) JP4132738B2 (ja)
KR (1) KR100423192B1 (ja)
CN (1) CN1156775C (ja)
TW (1) TW536670B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254640B2 (en) * 2002-04-09 2007-08-07 Vigilos, Inc. System for providing fault tolerant data warehousing environment by temporary transmitting data to alternate data warehouse during an interval of primary data warehouse failure
US20040139110A1 (en) * 2002-12-31 2004-07-15 Lamarca Anthony G. Sensor network control and calibration system
US7739661B2 (en) * 2003-05-14 2010-06-15 Microsoft Corporation Methods and systems for planning and tracking software reliability and availability
US7185231B2 (en) * 2003-05-14 2007-02-27 Microsoft Corporation Methods and systems for collecting, analyzing, and reporting software reliability and availability
US7197447B2 (en) * 2003-05-14 2007-03-27 Microsoft Corporation Methods and systems for analyzing software reliability and availability
JP4479284B2 (ja) 2004-03-08 2010-06-09 株式会社日立製作所 計算機システムのモニタリングを設定する管理計算機及びシステム
US7299231B2 (en) * 2004-07-29 2007-11-20 International Business Machines Corporation Method and system of subsetting a cluster of servers
US20070203974A1 (en) * 2006-02-09 2007-08-30 Baskey Michael E Method and system for generic application liveliness monitoring for business resiliency
US20080046890A1 (en) * 2006-08-17 2008-02-21 Stanley Steven Dunlap Method and apparatus for balancing workloads in a cluster
US9026575B2 (en) * 2006-09-28 2015-05-05 Alcatel Lucent Technique for automatically configuring a communication network element
US8156082B2 (en) * 2006-10-06 2012-04-10 Sybase, Inc. System and methods for temporary data management in shared disk cluster
KR100806488B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 성능 테스트 시스템 및 그 방법
EP1976232B1 (en) * 2007-03-30 2014-01-22 Hewlett-Packard Development Company, L.P. Signaling status information of an application service
TW201232280A (en) * 2011-01-20 2012-08-01 Hon Hai Prec Ind Co Ltd System and method for sharing desktop information
KR20230076020A (ko) 2021-11-23 2023-05-31 솔포스 주식회사 컴퓨터 가속율 알고리즘을 이용한 수행력 진단 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07183891A (ja) * 1993-12-24 1995-07-21 Mitsubishi Electric Corp 計算機システム
JPH08249281A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd オンライン処理システム
JPH10214208A (ja) * 1997-01-31 1998-08-11 Meidensha Corp ソフトウェアの異常監視方式
JP2000047894A (ja) * 1998-07-31 2000-02-18 Mitsubishi Electric Corp 計算機システム
JP2000057095A (ja) * 1998-08-06 2000-02-25 Shikoku Nippon Denki Software Kk 通信処理方法及び通信処理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777989A (en) * 1995-12-19 1998-07-07 International Business Machines Corporation TCP/IP host name resolution for machines on several domains
US5828847A (en) 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
JP3369445B2 (ja) * 1997-09-22 2003-01-20 富士通株式会社 ネットワークサービスサーバ負荷調整装置、方法および記録媒体
US6058420A (en) * 1998-02-27 2000-05-02 Netsolve, Inc. Alarm server systems, apparatus, and processes
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6260155B1 (en) * 1998-05-01 2001-07-10 Quad Research Network information server
US6226684B1 (en) * 1998-10-26 2001-05-01 Pointcast, Inc. Method and apparatus for reestablishing network connections in a multi-router network
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
US6532494B1 (en) * 1999-05-28 2003-03-11 Oracle International Corporation Closed-loop node membership monitor for network clusters
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07183891A (ja) * 1993-12-24 1995-07-21 Mitsubishi Electric Corp 計算機システム
JPH08249281A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd オンライン処理システム
JPH10214208A (ja) * 1997-01-31 1998-08-11 Meidensha Corp ソフトウェアの異常監視方式
JP2000047894A (ja) * 1998-07-31 2000-02-18 Mitsubishi Electric Corp 計算機システム
JP2000057095A (ja) * 1998-08-06 2000-02-25 Shikoku Nippon Denki Software Kk 通信処理方法及び通信処理システム

Also Published As

Publication number Publication date
US6968381B2 (en) 2005-11-22
US20020059423A1 (en) 2002-05-16
JP4132738B2 (ja) 2008-08-13
KR20020007160A (ko) 2002-01-26
TW536670B (en) 2003-06-11
CN1334530A (zh) 2002-02-06
KR100423192B1 (ko) 2004-03-16
CN1156775C (zh) 2004-07-07

Similar Documents

Publication Publication Date Title
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US7716353B2 (en) Web services availability cache
US10122595B2 (en) System and method for supporting service level quorum in a data grid cluster
US7657536B2 (en) Application of resource-dependent policies to managed resources in a distributed computing system
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
JP2948496B2 (ja) データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法
US7496579B2 (en) Transitioning of database service responsibility responsive to server failure in a partially clustered computing environment
US7949712B2 (en) High availability presence engine for instant messaging
CN100549960C (zh) 群集计算系统中改变的快速应用程序通知的方法和系统
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
US6711606B1 (en) Availability in clustered application servers
US7146532B2 (en) Persistent session and data in transparently distributed objects
US7840674B1 (en) Routing messages across a network in a manner that ensures that non-idempotent requests are processed
US20080091806A1 (en) Dynamic On-Demand Clustering
US20070074066A1 (en) High availability for event forwarding
US20140108532A1 (en) System and method for supporting guaranteed multi-point delivery in a distributed data grid
US20090106323A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
US20040243585A1 (en) Exactly once cache framework
US20100023564A1 (en) Synchronous replication for fault tolerance
JP2002108817A (ja) 共用データベースによるアベイラビリティ・モニタリング方法
US20070255682A1 (en) Fault tolerant facility for the aggregation of data from multiple processing units
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
JP2017502414A (ja) 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法
CN110198346A (zh) 数据读取方法、装置、电子设备及可读存储介质
US7694012B1 (en) System and method for routing data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050419

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

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees