JP4898440B2 - ウェブ高可用性の自律型監視 - Google Patents

ウェブ高可用性の自律型監視 Download PDF

Info

Publication number
JP4898440B2
JP4898440B2 JP2006527409A JP2006527409A JP4898440B2 JP 4898440 B2 JP4898440 B2 JP 4898440B2 JP 2006527409 A JP2006527409 A JP 2006527409A JP 2006527409 A JP2006527409 A JP 2006527409A JP 4898440 B2 JP4898440 B2 JP 4898440B2
Authority
JP
Japan
Prior art keywords
server
cluster
communication link
web
servers
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.)
Expired - Fee Related
Application number
JP2006527409A
Other languages
English (en)
Other versions
JP2007507029A (ja
Inventor
アーメド、イムラン
オーベンシャイン、ジョン
ブラックバーン、ジャスティン
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 JP2007507029A publication Critical patent/JP2007507029A/ja
Application granted granted Critical
Publication of JP4898440B2 publication Critical patent/JP4898440B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/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/10015Access to distributed or replicated servers, e.g. using brokers
    • 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/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • 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/12Protocol engines

Description

本発明は、ウェブ・サービスを利用するアプリケーション全体に対して高可用性処理環境を提供するためのシステム及び方法に関する。
同一サーバのクラスタからなる現在のシステムは、こうしたシステムによって処理されるアプリケーション全体について、ウェブ・サービスに関する高可用性処理環境を提供することができない。実際に、こうしたシステムは、高可用性をアプリケーション全体について提供するのではなく、せいぜいアプリケーションの局所について提供するに過ぎない。したがって、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を提供するためのシステム及び方法の必要性が存在する。
本発明の課題は、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を提供することである。
1つの態様において、本発明は、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも1つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第1のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第2のクラスタにおける少なくとも1つのサーバに直接接続されることを特徴とする、ネットワークと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも1つのサーバに、該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットと、を備える高可用性処理環境を保持するためのシステムを提供する。
本発明はまた、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも1つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第1のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第2のクラスタにおける少なくとも1つのサーバに直接接続されることを特徴とする、ネットワークを提供するステップと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも1つのサーバに該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットを提供するステップと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットを提供するステップと、を含む高可用性処理環境を保持するための方法を提供する。
本発明は、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を与えるためのシステム及び方法を提供するという利点がある。
ここで、本発明の好ましい実施形態を、添付図面を参照して単なる例示の目的で説明する。
図1は、本発明の実施形態に従って、制御サーバ(C)25と、リンクされたクラスタのネットワークとを含むシステム20を示すものであり、該ネットワークは、データベース・サーバ・クラスタ23と結合されたアプリケーション・サーバ・クラスタ22に結合されるウェブ・サーバ・クラスタ21を含み、各々のクラスタは、複数のサーバと1つのロード・バランサとを含み、該制御サーバは、各々のクラスタ内の各々のサーバにリンクされる。
ウェブ・サーバ・クラスタ21は、同一のウェブ・サーバW及びWを含む。図1のウェブ・サーバ・クラスタ21には、このような2つのウェブ・サーバW及びWのみが示されているが、ウェブ・サーバ・クラスタ21は、一般には、2つまたはそれ以上のこのような同一のウェブ・サーバを含む。ロード・バランサLは、ウェブ・サーバ・クラスタ21のウェブ・サーバ(例えば、W及びW)間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、ウェブ・サーバ・クラスタ21に文書又はウェブ・ページを要求するウェブ・ブラウザ(図示せず)から送出することができる。
定義として、ウェブ・サーバは、ウェブ・ブラウザ(又は、要求中の他のソフトウェア)からの要求に応答してファイルを送出するソフトウェアである。ウェブ・サーバは、静的HTML(すなわち、ハイパーテキスト・マークアップ言語)ページについての要求を受信したとき、該要求を読み込み、該ページを見つけ出し、見つけたページを、要求中のブラウザ(又は、要求中の他のソフトウェア)に送信する。一般的なウェブ・サーバには、Microsoft(商標) IIS、Netscape Enterprise Server、Java(商標) WebServer、及び、Apache HTTP Serverが含まれる。ウェブ・サーバは、データベース・サーバと通信を行い、要求中のウェブ・ブラウザに送出されなければならない情報にアクセスすることができる。後述する図5〜図7において例示されるように、ウェブ・サーバとデータベース・サーバとの間のこうした通信は、静的HTMLページがウェブ・ブラウザによって要求されたときに直接行われる。
しかしながら、ウェブ・ブラウザ(又は、要求中の他のソフトウェア)は、そのウェブ・ブラウザを用いて要求したウェブ・コンテンツを得ようとしているユーザによって提供される動的データを含むウェブ・コンテンツなどの、動的ウェブ・コンテンツを要求する場合がある。動的コンテンツについてのこうした要求は、ウェブ販売アプリケーション、個人向けウェブ広告アプリケーション、ストリーミング・ビデオ・アプリケーションなどにおいて行われるであろう。動的ウェブ・コンテンツを要求するアプリケーションは、データベース・サーバに直接接続された単純なモデルのウェブ・サーバでは実行することができない。その代わりに、ウェブ・サーバとデータベース・サーバとの間の中継ソフトウェアとして機能するアプリケーション・サーバが必要である。アプリケーション・サーバは、符号列をHTMLに挿入することによって動的コンテンツを処理することができる。アプリケーション・サーバの例には、IBM(商標)Websphere(商標)、Sun Java Web Serverなどが含まれる。
図1に戻ると、アプリケーション・サーバ・クラスタ22は、同一のアプリケーション・サーバA及びAを含む。図1のアプリケーション・サーバ・クラスタ22には、こうした2つのアプリケーション・サーバA及びAのみが示されているが、アプリケーション・サーバ・クラスタ22は、一般には、2つまたはそれ以上のこのような同一のアプリケーション・サーバを含む。ロード・バランサLは、アプリケーション・サーバ・クラスタ22のアプリケーション・サーバ(例えば、A及びA)間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、ウェブ・サーバ・クラスタ21から送出することができる。
図1において、データベース・サーバ・クラスタ23は、同一のデータベース・サーバD及びDを含む。図1のデータベース・サーバ・クラスタ23には、このような2つのデータベース・サーバD及びDのみが示されているが、データベース・サーバ・クラスタ23は、一般には、2つまたはそれ以上のこのような同一のデータベース・サーバを含む。ロード・バランサLは、データベース・サーバ・クラスタ23のデータベース・サーバ(例えば、D及びD)間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、アプリケーション・サーバ・クラスタ22から送出することができる。
定義として、データベース・サーバは、1つまたはそれ以上のデータベースに格納された情報を、該情報を要求するアプリケーション・サーバ(例えば、図1のアプリケーション・サーバA又はA)、又は、該情報を要求するウェブ・サーバ(例えば、後述する図5のウェブ・サーバW又はW)といった要求中のソフトウェアに送出するソフトウェアである。
図1においては、ウェブ・サーバ・クラスタ21はアプリケーション・サーバ・クラスタ22に直接接続され、該アプリケーション・サーバ・クラスタ22はデータベース・サーバ・クラスタ23に直接接続され、該ウェブ・サーバ・クラスタ21は該データベース・サーバ・クラスタ23に間接接続される。特許請求の範囲を含む本明細書においてクラスタ及びサーバに対して用いられる「直接接続される」及び「間接接続される」の定義を次に説明する。
特に図1のシステム20などのクラスタ・システムにおいて第1のクラスタ及び第2のクラスタとして示される2つのクラスタは、該第1のクラスタのサーバS1と該第2のクラスタのサーバS2とが相互に直接接続される場合には、相互に直接接続されると定義される。サーバS1及びS2は、S1とS2とを接続する通信リンクがS1とS2との間に介在するいかなるサーバも含まない場合には、相互に直接接続されると定義される。第1のクラスタ又は第2のクラスタのロード・バランサを当該通信リンクに含むことは、S1及びS2の間の直接接続を否定するものではない。このような2つのサーバ間の「通信リンク」の概念は、図9及び図10において具体的に示される。図9は、本発明の実施形態に係る、ウェブ・サーバ・クラスタの第1のウェブ・サーバと、アプリケーション・サーバ・クラスタの第1のアプリケーション・サーバとの間の通信リンクを説明するように図1を示すものである。
図9は、本発明の実施形態に係る、クラスタ21のウェブ・サーバWをクラスタ22のアプリケーション・サーバAと直接接続する通信リンク41を説明するように図1を示すものである。上記の「直接接続される」についての定義に従えば、通信リンク41上にサーバが存在しないので、ウェブ・サーバWはアプリケーション・サーバAに直接接続される。通信リンク41上に存在するロード・バランサLは、ウェブ・サーバWとアプリケーション・サーバAとの間の直接接続を否定するものではないことに留意されたい。さらに、ウェブ・サーバWがアプリケーション・サーバAに直接接続されているので、クラスタ21は、クラスタ22に直接接続される。通信リンク41、並びに、図10における通信リンク42及び43は、特にインターネット、イントラネット、ケーブル、電話回線、コンピュータ・システム内部などの配線、光ファイバなどといった、いずれかの既知の通信リンクを表わすことができる。
図10は、本発明の実施形態に係る、クラスタ21のウェブ・サーバWをクラスタ22のアプリケーション・サーバAと直接接続する通信リンク42を説明するように図1を示すものである。上記の「直接接続される」についての定義に従えば、通信リンク42上にサーバが存在しないので、ウェブ・サーバWはアプリケーション・サーバAに直接接続される。通信リンク42上に存在するロード・バランサLは、ウェブ・サーバWとアプリケーション・サーバAとの直接接続を否定するものではないことに留意されたい。さらに、ウェブ・サーバWがアプリケーション・サーバAに直接接続されているので、クラスタ21はクラスタ22に直接接続される。
図10はまた、アプリケーション・サーバAをデータベース・サーバDと直接接続する通信リンク43を示す。通信リンク42及び43のシリアル結合は、ウェブ・サーバWをデータベース・サーバDと間接接続する複合通信リンクである。この複合通信リンクは、ウェブ・サーバWとデータベース・サーバDとの間に介在するサーバAを含むため、ウェブ・サーバWを、直接ではなく間接的にデータベース・サーバDと接続する。
図1に戻ると、上述の説明は、ウェブ・サーバ・クラスタ21がアプリケーション・サーバ・クラスタ22に直接接続され、該アプリケーション・サーバ・クラスタ22がデータベース・サーバ・クラスタ23に直接接続され、該ウェブ・サーバ・クラスタ21が該データベース・サーバ・クラスタ23に間接接続されることになる理由を明確にするものである。
図1において、制御サーバ25は、以下のようにロード・バランサ及びサーバにリンクされるソフトウェアである。制御サーバ25は、通信チャネル31を介してロード・バランサLにリンクされ、通信チャネル34を介してロード・バランサLにリンクされ、通信チャネル37を介してロード・バランサLにリンクされる。制御サーバ25は、通信チャネル33を介してサーバWにリンクされ、通信チャネル32を介してサーバWにリンクされ、通信チャネル36を介してサーバAにリンクされ、通信チャネル35を介してサーバAにリンクされ、通信チャネル38を介してサーバDにリンクされ、通信チャネル39を介してサーバDにリンクされる。通信チャネル31〜39は、特にインターネット、イントラネット、ケーブル、電話回線、コンピュータ・システム内部などの配線、光ファイバなどといった、いずれかの既知の通信リンクを表わすことができる。
制御サーバ25の機能を理解するために、ユーザからの指示に基づいてブラウザがウェブ・サーバ・クラスタ21から動的コンテンツ(例えば、動的ウェブページ)を要求するアプリケーションを考える。要求は、ウェブ・サーバ・クラスタ21内のウェブ・サーバ(すなわち、W及びW)間でデータ・トラフィックを均等に分配しようとする、該ウェブ・サーバ・クラスタ21のロード・バランサLによって処理される。この要求は、W及び/又はWを経由して、アプリケーション・サーバ・クラスタ22内のアプリケーション・サーバ(すなわち、A及びA)間でデータ・トラフィックを均等に分配しようとする、該アプリケーション・サーバ・クラスタ22のロード・バランサLに送信される。次に、アプリケーション・サーバA及び/又はAは、データベース・サーバ・クラスタ23に、要求された情報にアクセスさせることによって、該当する1つ又は複数のデータベースから該要求された情報を取得しようとする。ロード・バランサLは、データベース・サーバ・クラスタ内のデータベース・サーバ(すなわち、D及びD)間でデータ・トラフィックを均等に分配しようとする。要求された情報は、該当する1つ又は複数のデータベースから読み出された後、アプリケーション・サーバA及び/又はAに与えられ、アプリケーション・サーバA及び/又はAは、該要求された情報を操作及び再編成して要求された動的コンテンツを生成する。生成された動的コンテンツは、ウェブ・サーバW及び/又はWに戻され、続いて、要求中のウェブ・ブラウザ及びユーザに渡される。
クラスタ21、22、及び23はアプリケーションを同時に処理するため、該アプリケーションを高効率で処理するには、含まれるサーバ間でデータ・トラフィックを均等に分配するロード・バランサL、L、及びLの機能が重要であることに留意されたい。このアプリケーションは、クラスタ21、22、及び23内のすべてのサーバが完全に稼動(すなわち、正常に機能)している場合には、最適な効率で実行することができる。しかしながら、1つのサーバが非稼動状態になった場合には効率が低下する場合があり、非稼働状態になった1つのサーバによってもたらされる効率の損失を最小化することが重要である。各々のロード・バランサは、プロンプト信号に応答して戻り信号を受信することを想定して各々のサーバに該プロンプト信号を送信することにより、そのクラスタにおける各々のサーバの稼動状況を定期的に検査することができる。サーバの稼動状況は、サーバが稼動状態である(すなわち、正しく作動している)か、又は非稼動状態である(すなわち、誤って作動しているか、若しくは作動していない)かにより示される。戻り信号の有無は、各々のサーバの稼動状況を表す。ロード・バランサが、そのクラスタにおける1つのサーバが非稼動状態であると判断した場合には、サーバは、非稼動状態のサーバを「フェイル・オーバ」し(すなわち、非稼動状態のサーバが、該クラスタに入ってくるデータ・トラフィックを受信して処理することができないようにし)、該クラスタにおける残りのサーバ間でデータ・トラフィックを均等に分配しようとするようになっている。
ロード・バランサL、L、及びLの前述の機能は有益であるが、これらのロード・バランサは、所与のクラスタのロード・バランサ及びサーバが他のクラスタの機能していないサーバについて知らされていないため、アプリケーション全体の処理の最適化を容易にするものではない。したがって、所与のクラスタのロード・バランサ及びサーバは、別のクラスタにおける1つ又は複数のサーバの非稼動状況を考慮する方法でアプリケーションの処理を調整することはできない。例えば、ウェブ・サーバ・クラスタ21のロード・バランサ及びサーバが、アプリケーション・サーバ・クラスタ22の1つ又は複数のアプリケーション・サーバが非稼動状態になったことを知ることが可能であれば、ウェブ・サーバ・クラスタ21は、アプリケーション・サーバ・クラスタ22のすべてのサーバが完全に稼動するようになる時まで、アプリケーション・サーバ・クラスタ22のサービスについて行われる同時要求の数を減らし、代わりに完全に稼動している別のアプリケーション・サーバ・クラスタにアプリケーションの幾つか又はすべてを迂回させることができるであろう。残念ながら、現行のロード・バランサは、別のクラスタにおける1つ又は複数のサーバが非稼動状態になったことを認識しない。本発明の制御サーバ25は、図16〜図19に関連して後に説明するように、システム20のサーバ及びロード・バランサと通信を行うことによってこの問題を解決する。
図2は、本発明の実施形態に係る、データベース・サーバ・クラスタ23のロード・バランサLを除去した後の図1を示す。図2は、クラスタがロード・バランサなしで存在できることを示す。ロード・バランサがないときは、ロード・バランサの機能を別の方法で真似ることができる。例えば、図2において、データベース・サーバDとDとを接続する通信リンク27によって、D及びD間又は一般的にはデータベース・サーバ・クラスタ23のデータベース・サーバ間でデータ・トラフィックを均等に分配するように、D及びDが互いに通信してデータを相互に受け渡しすることが可能になる。同様にして、システムのいずれのクラスタも、ロード・バランサなしで機能し、クラスタのサーバ間でデータ・トラフィックのバランスを取ることが可能であろう。別の例として、図4は、本発明の実施形態に係る、アプリケーション・サーバ・クラスタ22のロード・バランサLを除去し、アプリケーション・サーバAとAとを接続する通信リンク28を追加した後の図1を示す。
図3は、本発明の実施形態に係る、制御サーバ25とデータベース・サーバ・クラスタ23のデータベース・サーバDとの間の通信チャネル39を除去した後の図2を示す。上記のような制御サーバ25とシステム20のサーバ群との間の通信チャネルによって、制御サーバ25が、図16〜図19に関連して詳述するように、クラスタのサーバに別のクラスタのサーバの非稼動状況を通知することが可能になる。図3においては、通信チャネル39の除去により、制御サーバ25とデータベース・サーバDとの間の通信は、通信チャネル38を介した制御サーバ25とデータベース・サーバDとの間の通信と、通信リンク27を介したデータベース・サーバD及びD間の通信との組み合わせによって、間接的に達成することができる。
図5は、アプリケーション・サーバ・クラスタ22を除去した後の図1のシステム20を示す。このように、図5におけるシステム20は、本発明の実施形態に係る、制御サーバ25と、データベース・サーバ・クラスタ23に直接結合されたウェブ・サーバ・クラスタ21を含むリンクされたネットワークとを含む。制御サーバ25は、クラスタ21及び23内の各々のサーバにリンクされる。図1におけるように、クラスタ21は及び23は、それぞれロード・バランサL及びLを含む。ウェブ・サーバ・クラスタ21がデータベース・サーバ・クラスタ23に直接結合され、介在するアプリケーション・サーバ・クラスタがないので、図5におけるシステム20は、静的ウェブ・コンテンツを要求するアプリケーションの処理には適するが、動的ウェブ・コンテンツを要求するアプリケーションの処理には適さない。
図6は、本発明の実施形態に係る、データベース・サーバ・クラスタ23のロード・バランサLを除去した後の図5を示す。図6は、上述の図2と同様のものである。
図7は、本発明の実施形態に係る、制御サーバ25と、データベース・サーバ・クラスタ23のデータベース・サーバDとの間の通信チャネル39を除去した後の図6を示す。図7は、上述の図3と同様のものである。
図8は、本発明の実施形態に係る、サービス・ノードを各々のクラスタに追加した後の図1を示す。クラスタのサービス・ノードは、ハードウェア・サービス、ソフトウェア・サービス、ヘルプデスク・サービスなどといった支援サービスを該クラスタ内のサーバ群に提供する。ウェブ・サーバ・クラスタ21、アプリケーション・サーバ・クラスタ22、及びデータベース・サーバ・クラスタ23に、それぞれサービス・ノードS、S、及びSが追加された。制御サーバ25は、通信チャネル46、51、及び54を介して、それぞれサービス・ノードS、S、及びSに接続される。ウェブ・サーバ・クラスタ21においては、サービス・ノードSは、通信経路47及び48を介して、それぞれウェブ・サーバW及びWに接続される。アプリケーション・サーバ・クラスタ22においては、サービス・ノードSは、通信経路52及び53を介して、それぞれアプリケーション・サーバA及びAに接続される。データベース・サーバ・クラスタ23においては、サービス・ノードSは、通信経路55及び56を介して、それぞれデータベース・サーバD及びDに接続される。
サービス・ノードをどのように利用できるかに関する例として、制御サーバ25が、アプリケーション・サーバ・クラスタ22のアプリケーション・サーバAは非稼動状態であると判断した状況を考える。この場合には、制御サーバ25は、通信チャネル51を介してサービス・ノードSと通信し、アプリケーション・サーバAが非稼動である原因の判断を行うよう通信チャネル51に指示することができる。この判断が行われると、サービス・ノードSは、(例えば、アプリケーション・サーバAが非稼動である原因に関連する問題を修復することによって)アプリケーション・サーバAを稼動状態にすることが容易になる場合がある。サービス・ノードSは、アプリケーション・サーバAが非稼動状態である原因の判断を助けるために、及び/又は、アプリケーション・サーバAを稼動状態にすることを支援するために、通信経路52及び/又は53を利用することができる。
図1〜図4及び図8〜図9のシステム20は3つのクラスタ(すなわち、クラスタ21〜23)からなるものとして説明し、図5〜図7のシステム20は2つのクラスタ(すなわち、クラスタ21及び23)からなるものとして説明したが、本発明のシステムは、一般に複数のクラスタを含むものであり、したがって2つ又は3つのクラスタのみに限定されない。さらに、複数のアプリケーションをシステム20上で同時に実行できることを理解すべきである。
図1〜図10においては、制御サーバ25は、システム20の制御センタとして機能し、システム20全体にわたる情報交換を調整するように機能する。したがって、制御サーバは、システム20におけるサーバ間の直接通信リンクの全てに関するマップを利用することができる。したがって、制御サーバ25は、この直接通信リンクの全てを記述するグローバル・データセットにアクセスすることができる。定義として、データセットは、いずれかのデータ・フォーマット又はデータ編成フォーマットに従ったデータの集合である。データセットの例として、フラット・ファイル、データ・テーブル、リレーショナル・データベース・テーブルなどが挙げられる。
図11は、本発明の実施形態に係る図1のシステムに対応付けられたグローバル・データセットを示す。図11のグローバル・データセットは、システム内の各々の通信リンク(すなわち、LINK1、LINK2、...)と、こうした各々の通信リンクによって相互に直接接続されるサーバとをリストにした表である。例として、図11は、サーバWとAとを直接接続するLINK1を記載し、図9は、LINK1が通信リンク41を表わすことを示す。別の例として、図11は、サーバWとAとを直接接続するLINK3を記載し、図10は、LINK3が通信リンク42を表わすことを示す。
図14及び図15は、本発明の実施形態に係る、それぞれ図2及び図3のシステムに対応付けられたグローバル・データセットを示す。図2と対応させると、図14のグローバル・データセットは、データベース・サーバDとDとを接続するものとしてLINK9を示し、したがって、LINK9は、図2の通信リンク27に対応する。図3と対応させると、図15のグローバル・データセットは、図14のLINK8がないことを示し、これは、上述のように図3に通信リンク39がないことに対応する。
制御サーバ25は、システム20内の通信リンク全体を記述するグローバル・データセットにアクセスすることができるが、個々のクラスタは、個々のサーバをそのサーバの下流に位置する次のクラスタに直接接続する通信リンクのみを記述するローカル・データセットにアクセスすることができる。したがって、図1との関係では、図12の表は、図1のウェブ・サーバ・クラスタ21のためのローカル・データセットであり、すなわち、図12のリンクであるLINK1、LINK2、LINK3、及びLINK4は、図1のクラスタ21のウェブ・サーバと、クラスタ22のアプリケーション・サーバとの間の通信リンクに対応する。同様に、図1との関係では、図13の表は、図1のアプリケーション・サーバ・クラスタ22のためのローカル・データセットであり、すなわち、図13のリンクであるLINK5、LINK6、LINK7、及びLINK8は、図1のクラスタ22のアプリケーション・サーバと、クラスタ23のデータベース・サーバとの間の通信リンクに対応する。
図16〜図18は、本発明の実施形態に係る、図1〜図10のシステム20のデータ・トラフィックを最適化するための第1の方法を、制御サーバ25の役割に特に着目しながら説明するフロー・チャートである。
図16のフロー・チャートは方法ステップ61〜66を含む。ステップ61では、制御サーバと、複数のクラスタを含むネットワークとを有するシステム(例えば、図1〜図10のシステム20)を提供する。ネットワークの各々のクラスタは、複数の同一サーバを含み、該ネットワークの少なくとも1つの他のクラスタに直接接続される。相互に直接接続されるクラスタ対の各々は、該クラスタ対の第1のクラスタにおける各々のサーバが、通信リンクを介して該クラスタ対の第2のクラスタにおける少なくとも1つのサーバに直接接続されることを特徴とする。例えば、説明のために図9を用いると、第1のクラスタ(例えば、クラスタ21)の第1のサーバ(例えば、W)は、通信リンク41を介して、第2のクラスタ(例えば、クラスタ22)の第2のサーバ(例えば、A)に直接接続することができる。制御サーバは、通信リンクの稼動状況を監視するようになっている。通信リンクの稼動状況は、通信リンクが稼動状態である(すなわち、正しく作動している)こと、又は、非稼動状態である(すなわち、誤って作動しているか、若しくは作動していない)ことである。制御サーバは、各々のクラスタにおける少なくとも1つのサーバに、該制御サーバと該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる。
ステップ62において、制御サーバは、第1のサーバに照会信号を送信することによって、第1のクラスタの第1のサーバと第2のクラスタの第2のサーバとの間にある第1の通信リンクの稼動状況を監視するようになっている。照会信号は、通信リンクの稼動状況を示す応答信号を制御サーバに送信するように第1のサーバに要求する。
ステップ63において、制御サーバは、第1のサーバがステップ62において送信された照会信号に対して所定時間内に応答したかどうかを判断する。所定時間は、第1のサーバが照会信号に応答することが当然に予想される最短時間と同一か、又はそれより長くなるように選択することができる。
ステップ63において、制御サーバが、第1のサーバが所定時間内に応答しなかったと判断した場合には、該制御サーバは、該第1のサーバが非稼働状態であると見なし、それに応じて、次にステップ64において、該第1のサーバが非稼働状態であることに対応する手順が実行される。ステップ64は、図18に関連して詳細に後述する。制御サーバは、監視目的で照会信号を繰り返し(例えば、定期的に)第1のサーバに送信するようになっているため、ステップ64が実行された後は、手順はステップ62に戻る。
ステップ63において、制御サーバが、第1のサーバが所定時間内に予定された応答信号によって応答したと判断した場合には、次にステップ65が実行される。ステップ65において、制御サーバは、第1及び第2のサーバ間の通信リンクが稼動しているかどうかを判断するために、第1のサーバからの応答信号を検査する。ステップ65において、制御サーバが、第1及び第2のサーバ間の通信リンクが非稼動状態であると判断した場合には、次にステップ66において、通信リンクが非稼動状態であることに対応する手順が実行される。ステップ66は、図17に関連して詳細に後述する。制御サーバは、監視目的で照会信号を繰り返し(例えば、定期的に)第1のサーバに送信するようになっているため、ステップ66が実行された後は、手順はステップ62に戻る。
図17は、図16又は図19の第1及び第2のサーバ間における非稼動状態の通信リンクに対応するものとして、本発明の実施形態に係る図16のステップ66の手順(又は、図19のステップ86の手順)を説明するフロー・チャートである。図17のフロー・チャートは、方法ステップ70〜74を含む。図17においては、第1のクラスタはロード・バランサを有するものと仮定する。
ステップ70において、制御サーバは、第1及び第2のサーバ間の通信リンクが非稼動状態であることを、第1のクラスタのロード・バランサに通知する。
ステップ71において、ロード・バランサは、その通信リンクが非稼動状態であることを通知されると、非稼動状態の第1の通信リンクに関する第1のサーバをフェイル・オーバするようになっている。これは、ロード・バランサが、第1のサーバが通信リンクを介して伝送されるデータ・トラフィックを処理できない状態にすることを意味する。
ステップ72において、制御サーバは、第1及び第2のサーバ間の通信リンクが非稼動状態であることを、第1のクラスタのサービス・ノードに報告する。
ステップ73において、サービス・ノードは、通信リンクが非稼動状態である原因を判断するようになっている。サービス・ノードは、通信リンクが非稼動状態である原因の判断を助けるために、自分自身と第1のクラスタのサーバとの間の通信経路を利用することができる。
ステップ74において、サービス・ノードは、その通信リンクが非稼動状態である原因を判断すると、(例えば、通信リンクが非稼動状態である原因と関連する問題を修復することによって)該通信リンクを稼動状態にすることを支援するようになっている。サービス・ノードは、通信リンクを稼動状態にすることを支援するのに役立つように、自分自身と第1のクラスタのサーバとの間にある通信経路を利用することができる。
図17において、ステップ72〜74はステップ70〜71に続くように示されるが、本発明の範囲には、ステップ72〜74がステップ70〜71と並列である実施形態、及び、ステップ72〜74がステップ70〜71に先行する実施形態を含む。
図18は、図16又は図19の非稼動状態の第1のサーバに対応するものとして、本発明の実施形態に係る図16のステップ64の手順(又は、図19のステップ84の手順)を説明するフロー・チャートである。図18のフロー・チャートは、方法ステップ75〜79を含む。図18においては、第1のクラスタはロード・バランサを有するものと仮定する。
ステップ75において、制御サーバは、第1のサーバが非稼動状態であることを、第1のクラスタのロード・バランサに通知する。
ステップ76において、ロード・バランサは、第1のサーバが非稼動状態であることを通知されると、該第1のサーバをフェイル・オーバするようになっている。
ステップ77において、制御サーバは、第1のサーバが非稼動状態であることを、第1のクラスタ内のサービス・ノードに報告する。
ステップ78において、サービス・ノードは、第1のサーバが非稼動状態である原因を判断するようになっている。サービス・ノードは、第1のサーバが非稼動状態である原因の判断を助けるために、自分自身と第1のクラスタのサーバとの間の通信経路を利用することができる。
ステップ79において、サービス・ノードは、第1のサーバが非稼動状態である原因を判断すると、(例えば、第1のサーバが非稼動状態である原因と関連する問題を修復することによって)該第1のサーバを稼動状態にすることを支援するようになっている。サービス・ノードは、第1のサーバを稼動状態にすることを支援するのに役立つように、自分自身と第1のクラスタのサーバとの間にある通信経路を利用することができる。
図18において、ステップ77〜79はステップ75〜76に続くように示されるが、本発明の範囲には、ステップ77〜79がステップ75〜76と並列である実施形態、及び、ステップ77〜79がステップ75〜76に先行する実施形態を含む。
図19及び図17〜図18は、本発明の実施形態に係る、図1〜図10のシステム20のデータ・トラフィックを最適化するための第2の方法を、制御サーバ25の役割に特に着目しながら説明するフロー・チャートである。
図19のフロー・チャートは、方法ステップ81〜87を含む。ステップ81では、制御サーバと、複数のクラスタを含むネットワークとを有するシステム(例えば、図1〜図10のシステム20)を提供する。ネットワークの各々のクラスタは、複数の同一サーバを含み、該ネットワークの少なくとも1つの他のクラスタに直接接続される。相互に直接接続されるクラスタ対の各々は、該クラスタ対の第1のクラスタにおける各々のサーバが、通信リンクを介して、該クラスタ対の第2のクラスタにおける少なくとも1つのサーバに直接接続されることを特徴とする。例えば、説明のために図9を用いると、第1のクラスタ(例えば、クラスタ21)の第1のサーバ(例えば、W)は、通信リンク41を介して、第2のクラスタ(例えば、クラスタ22)の第2のサーバ(例えば、A)に直接接続することができる。制御サーバは、通信リンクの稼動状況を監視するようになっている。制御サーバは、各々のクラスタにおける少なくとも1つのサーバに、該制御サーバと該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる。
ステップ82において、制御サーバは、第1のクラスタの第1のサーバから、又は、第1のクラスタのロード・バランサから、エンティティが非稼動状態であることを示すメッセージを受信するようになっている。非稼動状態のエンティティは、第1のクラスタのサーバ、又は、第1のクラスタの第1のサーバと第2のクラスタの第2のサーバとの間にある通信リンクである。
ステップ83において、制御サーバは、エンティティから受信したメッセージを分析して、第1のクラスタのサーバが非稼動状態であるかどうかを判断する。
ステップ83において、制御サーバが、メッセージに基づいて第1のクラスタのサーバが非稼動状態であると判断した場合には、次にステップ84において、第1のサーバが非稼動状態であることに対応する手順が実行される。ステップ84は、図18に関連して詳細に上述した。制御サーバは、監視目的で照会信号を繰り返し(例えば、定期的に)第1のサーバに送信するようになっているため、ステップ84が実行された後は、手順は図16のステップ62に分岐させることができる。
ステップ83において、制御サーバが、メッセージに基づいて第1のクラスタのサーバが非稼動状態であると判断しなかった場合には、次にステップ85が実行される。ステップ85において、制御サーバは、通信リンクが稼動状態であるかどうかを判断する。ステップ85において、制御サーバが通信リンクは非稼動状態であると判断しなかった場合には、ステップ82では制御サーバによって受信されたメッセージはエンティティ(すなわち、第1のクラスタのサーバ又は通信リンク)が非稼動状態であることを特定するものであることを前提とするので、ステップ87に示すようにエラーを発生させる。ステップ85において、制御サーバが通信リンクは非稼動状態であると判断した場合には、次にステップ86において、通信リンクが非稼動状態であることに対応する手順が実行される。ステップ86は、図17に関連して詳細に上述した。制御サーバは、監視目的で照会信号を繰り返し(例えば、定期的に)第1のサーバに送信するようになっているため、ステップ86が実行された後は、手順は図16のステップ62に分岐させることができる。
上述のように、本発明のシステム20は、一般に複数のクラスタを含み、2つ又は3つのクラスタに限定されるものではない。さらに、複数のアプリケーションをシステム20上で同時に実行することができる。したがって、図16〜図19に関連して上述した方法は、システム20による1つ又は複数のアプリケーションの効率的な同時処理を容易にするものである。このように、システム20は、アプリケーション全体を処理するのに必要なすべてのサーバに関して、アプリケーション全体を処理するためのシステム内サーバのアプリケーションについての可用性を高め、場合によっては最大にする可能性があるため、アプリケーションについて高可用性処理環境を与えるものである。
図20は、本発明の実施形態に係る高可用性処理環境を保持するのに用いられるコンピュータ・システム90を示す。コンピュータ・システム90は、プロセッサ91と、該プロセッサ91に結合される入力装置92と、該プロセッサ91に結合される出力装置93と、各々が該プロセッサ91に結合されるメモリ装置94及び95とを備える。入力装置92は、特に、キーボード、マウスなどとすることができる。出力装置93は、特に、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、取り外し可能なハード・ディスク、フロッピー・ディスクなどとすることができる。メモリ装置94及び95は、特に、ハード・ディスク、フロッピー・ディスク、磁気テープ、コンパクト・ディスク(CD)又はデジタル・ビデオ・ディスク(DVD)などの光学式記憶媒体、ダイナミック・ランダム・アクセス・メモリ(DRAM)、読み出し専用メモリ(ROM)などとすることができる。メモリ装置95は、コンピュータ・コード97を含む。コンピュータ・コード97は、本発明に係る高可用性処理環境を保持するための、図1〜図10の制御サーバ25によって利用されるアルゴリズムを含むことができる。プロセッサ91は、コンピュータ・コード97を実行する。メモリ装置94は、入力データ96を含む。入力データ96は、コンピュータ・コード97によって必要とされる入力を含む。出力装置93は、コンピュータ・コード97からの出力を表示する。メモリ装置94及び95のいずれか又は両方(あるいは、図20に図示されない1つ又は複数の追加のメモリ装置)は、コンピュータ・コード97を含むコンピュータ可読プログラム・コードが組み込まれた、及び/又は、他のデータが格納されたコンピュータ使用可能媒体(又は、コンピュータ可読媒体若しくはプログラム格納装置)として、用いることができる。一般に、コンピュータ・システム90のコンピュータ・プログラム(又は、代替的には、製品)は、上記のコンピュータ使用可能媒体(又は、上記のプログラム記憶装置)を含むことができる。
図20は、ハードウェア及びソフトウェアの特定の構成としてコンピュータ・システム90を示すが、当業者であれば分かるように、ハードウェア及びソフトウェアのいかなる構成も、図20の特定のコンピュータ・システム90に関連して上述した目的のために利用することができる。例えば、メモリ装置94及び95は、個別のメモリ装置ではなく、単一のメモリ装置の一部とすることができる。
本明細書において例示の目的で本発明の実施形態を説明したが、多くの修正及び変更が当業者に明らかになるであろう。したがって、特許請求の範囲は、こうした修正及び変更のすべてを本発明の範囲内にあるものとして包含することを意図している。
本発明の実施形態に係る、制御サーバと、リンクされたクラスタのネットワークとを示すものであり、ネットワークは、アプリケーション・サーバ・クラスタに結合されたウェブ・サーバ・クラスタと、データベース・サーバ・クラスタに結合されたアプリケーション・サーバ・クラスタとを含み、各々のクラスタは、複数のサーバと1つのロード・バランサとを含み、制御サーバは、各々のクラスタにおける各々のサーバにリンクされる。 本発明の実施形態に係る、データベース・サーバ・クラスタのロード・バランサを除去した後の図1を示す。 本発明の実施形態に係る、制御サーバとデータベース・サーバ・クラスタのデータベース・サーバとの間の通信リンクを除去した後の図2を示す。 本発明の実施形態に係る、アプリケーション・サーバ・クラスタのロード・バランサを除去した後の図1を示す。 本発明の実施形態に係る、制御サーバと、リンクされたクラスタのネットワークとを示すものであり、ネットワークは、データベース・サーバ・クラスタに結合されたウェブ・サーバ・クラスタを含み、各々のクラスタは、複数のサーバと1つのロード・バランサとを含み、制御サーバは、各々のクラスタにおける各々のサーバにリンクされる。 本発明の実施形態に係る、データベース・サーバ・クラスタのロード・バランサを除去した後の図5を示す。 本発明の実施形態に係る、制御サーバと、データベース・サーバ・クラスタのデータベース・サーバとの間の通信リンクを除去した後の図6を示す。 本発明の実施形態に係る、サービス・ノードを各々のクラスタに追加した後の図1を示す。 本発明の実施形態に係る、ウェブ・サーバ・クラスタの第1のウェブ・サーバと、アプリケーション・サーバ・クラスタの第1のアプリケーション・サーバと間の通信リンクを説明するように図1を示すものである。 本発明の実施形態に係る、ウェブ・サーバ・クラスタの第2のウェブ・サーバと、アプリケーション・サーバ・クラスタの第1のアプリケーション・サーバと間の通信リンクを説明するように図1を示すものである。 本発明の実施形態に係る、図1のシステムに対応付けられたグローバル・データセットを示す。 本発明の実施形態に係る、図1のシステムのウェブ・サーバ・クラスタに対応付けられたローカル・データセットを示す。 本発明の実施形態に係る、図1のシステムのアプリケーション・サーバ・クラスタに対応付けられたローカル・データセットを示す。 本発明の実施形態に係る、図2のシステムに対応付けられたグローバル・データセットを示す。 本発明の実施形態に係る、図3のシステムに対応付けられたグローバル・データセットを示す。 本発明の実施形態に係る、図1のシステムにおける非稼動状態の通信リンクと非稼動状態のサーバとを軽減する第1の方法を説明するフロー・チャートである。 本発明の実施形態に係る、非稼動状態の通信リンクに対応する図16の手順を説明するフロー・チャートである。 本発明の実施形態に係る、非稼動状態のサーバに対応する図16の手順を説明するフロー・チャートである。 本発明の実施形態に係る、図1のシステムにおける非稼動状態の通信リンクと非稼動状態のサーバとを軽減する第2の方法を説明するフロー・チャートである。 本発明の実施形態に係る、高可用性処理環境を保持するのに用いられるコンピュータ・システムを示す。

Claims (12)

  1. 複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも1つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第1のクラスタ内の各々のサーバが通信リンクを介して前記クラスタ対の第2のクラスタ内の複数の同一サーバのうちの少なくとも1つのサーバに直接接続されることを特徴とする、ネットワークと、
    前記通信リンクが正しく作動しているか否かを表す前記通信リンクの稼働状況を監視するようになっている制御サーバであって、各々のクラスタ内の複数の同一サーバのうちの少なくとも1つのサーバに該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、
    前記ネットワーク内の前記複数のクラスタに関する各々の前記通信リンクの識別符号を含み、前記ネットワーク内の前記通信リンク全体を記述する、前記制御サーバがアクセス可能なグローバル・データセット
    を備え、前記制御サーバは、当該システム全体にわたる情報交換を調整する制御センタとして機能し、当該システム内のデータ・トラフィックを最適化するものであり、
    前記制御サーバは、前記第1のクラスタの第1のサーバと前記第2のクラスタの第2のサーバとの間にある第1の通信リンクが正しく作動しているか否かを表す前記第1の通信リンクの稼動状況を、前記第1の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するよう前記第1のサーバに要求する照会信号を前記第1のサーバに送信することによって、監視するようになっている、高可用性処理環境を保持するためのシステム。
  2. 前記第1のサーバは、戻り信号を前記第1の通信リンクを介して前記第1のサーバに送信するように前記第2のサーバに指示するプロンプト信号を、前記第1の通信リンクを介して前記第2のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第1の通信リンクの前記稼動状況を示すものである、請求項に記載のシステム。
  3. 前記第1のクラスタは、前記第1のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記第1の通信リンクが正しく作動していないことを示す前記応答信号を前記第1のサーバから受信した場合に、前記第1の通信リンクが正しく作動していないことを前記ロード・バランサに通知するようになっている、請求項に記載のシステム。
  4. 前記第1のクラスタは、前記第1のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記照会信号を前記第1のサーバに送信した後の所定時間内に前記第1のサーバから前記応答信号を受信しなかった場合に、前記第1のサーバが非稼動状態であると判断し、前記第1のサーバが非稼動状態であることを前記ロード・バランサに通知するようになっている、請求項に記載のシステム。
  5. 前記制御サーバは、前記第1のクラスタの第1のサーバに直接リンクされ、かつ、前記第1のクラスタの第2のサーバに直接リンクされておらず、前記第1のサーバは前記第2のサーバに直接接続されており、前記制御サーバは、前記第2のサーバが稼動状態であるか又は非稼動状態であるかという前記第2のサーバの稼動状況を、前記第1のサーバとの直接通信と、前記第1のサーバ及び前記第2のサーバ間における直接通信とを併用することによって監視するようになっている、請求項1に記載のシステム。
  6. 前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタと、アプリケーション・サーバのアプリケーション・クラスタと、データベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記アプリケーション・クラスタに直接接続され、前記アプリケーション・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは、前記ウェブ・クラスタと前記データベース・クラスタとの間の中継クラスタとして機能する前記アプリケーション・クラスタを介して、前記データベース・クラスタと通信を行うようになっている、請求項1に記載のシステム。
  7. 前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項に記載のシステム。
  8. 前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタとデータベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは前記データベース・クラスタと直接通信するようになっている、請求項1に記載のシステム。
  9. 複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも1つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第1のクラスタ内の各々のサーバが通信リンクを介して前記クラスタ対の第2のクラスタ内の複数の同一サーバのうちの少なくとも1つのサーバに直接接続されることを特徴とする、ネットワークを提供するステップと、
    前記通信リンクが正しく作動しているか否かを表す前記通信リンクの稼働状況を監視するようになっている制御サーバであって、各々のクラスタ内の複数の同一サーバのうちの少なくとも1つのサーバに該少なくとも1つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、
    前記ネットワーク内の前記複数のクラスタに関する各々の前記通信リンクの識別符号を含み、前記ネットワーク内の前記通信リンク全体を記述する、前記制御サーバがアクセス可能なグローバル・データセットを提供するステップと、
    前記制御サーバが、前記ネットワークのデータ・トラフィックを最適化する処理を実行するステップと
    を含み、前記制御サーバは、システム全体にわたる情報交換を調整する制御センタとして機能し、前記最適化する処理を実行するステップは、前記第1のクラスタの第1のサーバと前記第2のクラスタの第2のサーバとの間にある第1の通信リンクの稼動状況を監視するステップを含み、前記監視するステップは、前記制御サーバが、前記第1の通信リンクが正しく作動しているか否かを表す前記第1の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するように前記第1のサーバに要求する照会信号を前記第1のサーバに送信するステップを含む、高可用性処理環境を保持するための方法。
  10. 前記第1のサーバは、戻り信号を前記第1の通信リンクを介して前記第1のサーバに送信するように前記第2のサーバに指示するプロンプト信号を、前記第1の通信リンクを介して前記第2のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第1の通信リンクの前記稼動状況を示すものである、請求項に記載の方法。
  11. 前記第1のクラスタは、前記第1のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記最適化する処理を実行するステップは、前記制御サーバが、前記照会信号を前記第1のサーバに送信した後の所定時間内に前記第1のサーバから前記応答信号を受信しなかった場合に、前記第1のサーバが非稼動状態であると判断するステップと、前記第1のサーバが非稼動状態であることを前記ロード・バランサに通知するステップとをさらに含み、前記第1のサーバが非稼働状態であることを判断する前記ステップと通知する前記ステップとは、前記制御サーバによって実行される、請求項に記載の方法。
  12. 前記制御サーバは、前記第1のクラスタの第1のサーバ又は前記第1のクラスタのロード・バランサから、前記第1のクラスタのサーバと、前記第1のクラスタの前記第1のサーバ及び前記第2のクラスタの第2のサーバの間にある通信リンクとからなる群から選択されるエンティティが非稼動状態であることを示すメッセージを受信するようになっている、請求項に記載の方法。
JP2006527409A 2003-09-26 2004-09-17 ウェブ高可用性の自律型監視 Expired - Fee Related JP4898440B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/672,718 US7689685B2 (en) 2003-09-26 2003-09-26 Autonomic monitoring for web high availability
US10/672,718 2003-09-26
PCT/EP2004/052228 WO2005032095A1 (en) 2003-09-26 2004-09-17 Autonomic monitoring for web high availability

Publications (2)

Publication Number Publication Date
JP2007507029A JP2007507029A (ja) 2007-03-22
JP4898440B2 true JP4898440B2 (ja) 2012-03-14

Family

ID=34393479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006527409A Expired - Fee Related JP4898440B2 (ja) 2003-09-26 2004-09-17 ウェブ高可用性の自律型監視

Country Status (9)

Country Link
US (2) US7689685B2 (ja)
EP (1) EP1678915A1 (ja)
JP (1) JP4898440B2 (ja)
KR (1) KR20060126916A (ja)
CN (1) CN100559790C (ja)
CA (1) CA2535319A1 (ja)
IL (1) IL174502A0 (ja)
TW (1) TWI332331B (ja)
WO (1) WO2005032095A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US20050283531A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation Method and apparatus for combining resource properties and device operations using stateful Web services
US7644137B2 (en) * 2004-12-14 2010-01-05 Sap Ag Workload balancing in environments with multiple clusters of application servers
US20080068381A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Using network access port linkages for data structure update decisions
US8627402B2 (en) 2006-09-19 2014-01-07 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US20080072032A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Configuring software agent security remotely
US7797426B1 (en) * 2008-06-27 2010-09-14 BitGravity, Inc. Managing TCP anycast requests
KR101351688B1 (ko) * 2009-06-01 2014-01-14 후지쯔 가부시끼가이샤 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
EP2478448A4 (en) * 2009-09-17 2014-07-09 Behavioreal Ltd METHOD AND DEVICE FOR DATA TRANSPORT ANALYSIS AND BUNDLING
US8412810B1 (en) * 2010-07-02 2013-04-02 Adobe Systems Incorporated Provisioning and managing a cluster deployed on a cloud
US9148367B2 (en) * 2012-10-02 2015-09-29 Cisco Technology, Inc. System and method for binding flows in a service cluster deployment in a network environment
US9071644B2 (en) * 2012-12-06 2015-06-30 International Business Machines Corporation Automated security policy enforcement and auditing
US8983176B2 (en) 2013-01-02 2015-03-17 International Business Machines Corporation Image selection and masking using imported depth information
US9449234B2 (en) 2014-03-31 2016-09-20 International Business Machines Corporation Displaying relative motion of objects in an image
US9196027B2 (en) 2014-03-31 2015-11-24 International Business Machines Corporation Automatic focus stacking of captured images
US9300857B2 (en) 2014-04-09 2016-03-29 International Business Machines Corporation Real-time sharpening of raw digital images
US10567504B2 (en) 2017-11-29 2020-02-18 International Business Machines Corporation Protecting in-flight transaction requests
US10761952B2 (en) 2018-04-13 2020-09-01 International Business Machines Corporation Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations

Citations (4)

* 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 クラスタ制御システム
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2005505859A (ja) * 2001-10-12 2005-02-24 メチリンクス マルチプラットフォーム最適化モデル

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE121208T1 (de) * 1990-01-30 1995-04-15 Johnson Service Co Vernetztes betriebsmittelverwaltungssystem.
EP0537903A2 (en) * 1991-10-02 1993-04-21 International Business Machines Corporation Distributed control system
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
US5909547A (en) * 1996-10-24 1999-06-01 Lucent Technologies Inc. Method for shared memory management in network nodes
US5892913A (en) * 1996-12-02 1999-04-06 International Business Machines Corporation System and method for datastreams employing shared loop architecture multimedia subsystem clusters
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6134594A (en) * 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US6199018B1 (en) * 1998-03-04 2001-03-06 Emerson Electric Co. Distributed diagnostic system
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6389550B1 (en) * 1998-12-23 2002-05-14 Ncr Corporation High availability protocol computing and method
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6389448B1 (en) * 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
WO2001044894A2 (en) * 1999-12-06 2001-06-21 Warp Solutions, Inc. System and method for dynamic content routing
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter
US6523036B1 (en) * 2000-08-01 2003-02-18 Dantz Development Corporation Internet database system
US6965938B1 (en) * 2000-09-07 2005-11-15 International Business Machines Corporation System and method for clustering servers for performance and load balancing
US7958185B2 (en) * 2000-09-18 2011-06-07 Bentley Systems, Inc. Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product
US20020165952A1 (en) * 2000-10-20 2002-11-07 Sewell James M. Systems and methods for remote management of diagnostic devices and data associated therewith
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US7069267B2 (en) * 2001-03-08 2006-06-27 Tririga Llc Data storage and access employing clustering
US7792948B2 (en) * 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US20030005125A1 (en) * 2001-05-29 2003-01-02 International Business Machines Corporation System for monitoring the path availability in a communication system based upon a server farm
US20020194319A1 (en) * 2001-06-13 2002-12-19 Ritche Scott D. Automated operations and service monitoring system for distributed computer networks
AU2002329602B2 (en) 2001-07-16 2008-05-22 Oracle International Corporation Method and apparatus for session replication and failover
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7480705B2 (en) * 2001-07-24 2009-01-20 International Business Machines Corporation Dynamic HTTP load balancing method and apparatus
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US20030097428A1 (en) * 2001-10-26 2003-05-22 Kambiz Afkhami Internet server appliance platform with flexible integrated suite of server resources and content delivery capabilities supporting continuous data flow demands and bursty demands
US7523217B2 (en) * 2003-07-15 2009-04-21 Hewlett-Packard Development Company, L.P. System and method having improved efficiency and reliability for distributing a file among a plurality of recipients

Patent Citations (4)

* 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 クラスタ制御システム
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2005505859A (ja) * 2001-10-12 2005-02-24 メチリンクス マルチプラットフォーム最適化モデル

Also Published As

Publication number Publication date
CN100559790C (zh) 2009-11-11
US7689685B2 (en) 2010-03-30
TW200518522A (en) 2005-06-01
JP2007507029A (ja) 2007-03-22
EP1678915A1 (en) 2006-07-12
WO2005032095A1 (en) 2005-04-07
US20100180002A1 (en) 2010-07-15
US7996529B2 (en) 2011-08-09
TWI332331B (en) 2010-10-21
CN1856978A (zh) 2006-11-01
IL174502A0 (en) 2006-08-01
CA2535319A1 (en) 2005-04-07
US20050080885A1 (en) 2005-04-14
KR20060126916A (ko) 2006-12-11

Similar Documents

Publication Publication Date Title
US7996529B2 (en) System for autonomic monitoring for web high availability
US10491523B2 (en) Load distribution in data networks
KR100629057B1 (ko) 서버의 원격 및 동적 구성 시스템과 그 방법 및 컴퓨터 판독 가능 기록 매체
CN101673283B (zh) 管理终端和计算机系统
US6807542B2 (en) Method and apparatus for selective and quantitative rights management
CN111078504A (zh) 一种分布式调用链跟踪方法、装置、计算机设备及存储介质
WO2012086918A2 (ko) 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
HU225072B1 (en) Server computer with load balancing and method of operating the server computer
EP2044749B1 (en) Dispatching request fragments from a response aggregating surrogate
KR20080085840A (ko) Http 세션 작업부하를 특성화하기 위한 데이터를수집하는 방법 및 장치
WO2012072344A1 (en) Endpoint-to-endpoint communications status monitoring
CN109815294B (zh) 一种无主节点分布并行数据存储方法和系统
US20080222164A1 (en) Method and apparatus to provide guaranteed deployment of applications to nodes in an enterprise
JP2012079350A (ja) コンテンツ収集
CN112217847A (zh) 微服务平台及其实现方法、电子设备及存储介质
US8103748B2 (en) Rule-based method and system for managing heterogenous computer clusters
US6675259B2 (en) Method and apparatus for validating and ranking disk units for switching
CN113452600A (zh) 跨地域的消息通信方法、装置、电子设备和存储介质
US7827132B2 (en) Peer based event conversion
KR100989490B1 (ko) 각 서버간 부하 분산 시스템 및 그 방법
JP2002543494A (ja) 分散コンピュータシステム内のエラーを処理するための方法およびシステム
JP2006268588A (ja) クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法
CN1852098A (zh) 客户端与服务器快速交换资料的系统及方法
JP2005122358A (ja) ウェブコンテンツ配信システム、ウェブコンテンツ配信プログラム及びプロクシサーバ
Tsoaeli et al. Enhancing adaptability of distributed groupware applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20101101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111206

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees