JP2006285377A - 故障監視プログラム及び負荷分散装置 - Google Patents

故障監視プログラム及び負荷分散装置 Download PDF

Info

Publication number
JP2006285377A
JP2006285377A JP2005101161A JP2005101161A JP2006285377A JP 2006285377 A JP2006285377 A JP 2006285377A JP 2005101161 A JP2005101161 A JP 2005101161A JP 2005101161 A JP2005101161 A JP 2005101161A JP 2006285377 A JP2006285377 A JP 2006285377A
Authority
JP
Japan
Prior art keywords
server
failure monitoring
monitoring
packet
distribution destination
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
JP2005101161A
Other languages
English (en)
Inventor
Takeshi Matsumoto
松本  剛
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005101161A priority Critical patent/JP2006285377A/ja
Priority to US11/175,851 priority patent/US20060221815A1/en
Publication of JP2006285377A publication Critical patent/JP2006285377A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 振り分け先サーバの背後に接続するサーバの故障を監視する。
【解決手段】 定義管理手段1aは、たとえば、利用者に故障監視に関する定義の設定を促し、得られた設定情報に基づいて故障監視定義情報2bを生成する。故障監視定義情報2bには、振り分け先サーバごとに、振り分け先サーバに対応する故障監視対象の故障監視サーバ、使用する監視パケットを含む故障監視サーバを正常と判断する判定基準が設定される。故障監視手段1bは、故障監視定義情報2bに基づき、故障監視サーバに故障監視方法に応じた監視パケットを送信し、応答により故障を判断する。応答パケットが受信されない場合、または受信した応答パケットが判定基準と合わない場合には、この故障監視サーバを故障と判定する。そして、振り分け先サーバに対応する故障監視サーバの故障で、この振り分け先サーバへの振り分け不可と判定する。
【選択図】 図1

Description

本発明は故障監視プログラム及び負荷分散装置に関し、特にクライアントからの要求パケットを複数サーバに振り分けて負荷を分散するため、サーバの故障を監視する処理を行う故障監視プログラム及び負荷分散装置に関する。
従来、多様化、複雑化するネットワークシステムにおいて、サーバのデータ処理能力の確保や、アクセス集中によるレスポンスの低下を防止するため、負荷分散技術が必須となっていた。
図17は、従来の負荷分散システムの一例を示した構成図である。負荷分散システムでは、ネットワーク940を介して接続するクライアント921、922と、サーバ1(931)、サーバ2(932)及びサーバ3(933)との間に負荷分散装置910が配置される。負荷分散装置910は、クライアントからの要求を振り分け先であるサーバ1(931)、サーバ2(932)及びサーバ3(933)に振り分ける処理を行う。サーバ1(931)及びサーバ2(932)は、SSL(Secure Socket Layer)処理とHTTP(HyperText Transfer Protocol)処理を行うHTTPS(HyperText Transfer Protocol Security)サーバである。また、サーバ3(933)のSSLアクセラレータとサーバ4(934)のHTTPサーバとで同様の処理を行う。
振り分け処理を行う負荷分散装置910は、サーバ1(931)、サーバ2(932)及びサーバ3(933)の故障監視を行って、故障と判断したサーバにはクライアントからの要求パケットを振り分けないようにしている。故障監視は、負荷分散装置910からサーバ1(931)、サーバ2(932)及びサーバ3(933)に対し監視パケットを送信し、その応答の有無で故障しているか否かを判断する。診断は、プロトコルのレイヤに応じて、ping監視(IP層レベルでの診断)、syn監視(TCP層レベルでのコネクション接続による診断)、アプリ監視(アプリケーション層レベルでのパケット診断)などが実行される。
また、負荷分散装置とサーバとがルータなどを介して接続し、負荷分散装置とサーバ間のパケット送信経路が複数ある負荷分散システムでは、ルータとの間で正常にパケットを送信できるかを確認するだけでなく、ルータを経由した複数の経路を通ってサーバまで正常に送信できるかどうかを確認し、パケットの送信経路を決定するシステムが提案されている(たとえば、特許文献1参照)。
特開2002−271371号公報(段落番号〔0011〕〜〔0022〕、図1)
しかし、従来の負荷分散装置における故障監視では、振り分け先のサーバの背後にサーバが存在する場合に、背後にあるサーバの故障監視が難しいという問題点があった。
近年では、サーバに、特定の処理機能を高速化するためのアクセラレータを付加した構成が増えてきている。SSL通信を行う場合、図17に示したように、HTTPなどのアプリケーション処理を行うサーバ4(934)の前段、すなわち、負荷分散装置910とサーバ4(934)との間に、SSL処理を行うサーバ3(933)を配置する構成をとることがある。従って、負荷分散装置910側からすると、振り分け先サーバに相当するサーバ3(933)の背後に、別のサーバ4(934)が存在していることになる。
しかしながら、従来の負荷分散システムにおける故障監視では、故障監視の対象である故障監視対象サーバと振り分け先サーバとは1対1の関係で定義する。この場合、故障監視対象としてサーバ3(933)のみが定義され、負荷分散装置910はサーバ3(933)との間でしか監視パケットのやりとりをしない。このため、背後にあるサーバ4(934)の故障監視ができないという問題点がある。
特に、従来の故障監視では、負荷分散装置から送信した監視パケットの応答の有無によってしか、振り分け先サーバの故障を判断していない。たとえば、上記のような構成で振り分け先サーバ3(933)は正常であるが背後のサーバ4(934)が故障していた場合、アプリケーションレベルで正常な応答を返すことができないはずであるが、監視パケットの応答のみで故障監視を行っているため、振り分け先サーバ3(933)から応答が返ってくる間は、振り分け先は正常と判断してしまう。
このように、従来の故障監視では、振り分け先サーバとの間でしか監視パケットとやりとりをしないので、背後のサーバの故障監視ができないという問題点がある。
本発明はこのような点に鑑みてなされたものであり、振り分け先サーバの背後に接続するサーバに対する故障監視処理も行うことが可能な故障監視プログラム及び負荷分散装置を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるための故障監視プログラムが提供される。本発明にかかる故障監視プログラムは、負荷分散装置1に適用され、コンピュータに以下の処理を実行させることができる。
負荷分散装置1は、定義管理手段1aと故障監視手段1bを有し、定義管理手段1aが生成した故障監視定義情報2bに基づいて、故障監視手段1bがサーバの故障監視を行う。定義管理手段1aは、クライアントからの要求パケットを振り分ける振り分け先サーバごとに、故障監視対象とする故障監視サーバと、故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報2bを生成して管理する。故障監視手段1bは、故障監視定義情報2bに基づき、定義された監視方法に応じた監視パケットを故障監視サーバに送信し、この故障監視サーバから応答がない、または応答パケットが定義された判定基準と一致しない場合にこの故障監視サーバを故障と判定する。さらに、振り分け先サーバに対応する故障監視サーバが故障の場合には、この振り分け先サーバへの振り分け不可と判定する。
このような負荷分散装置1によれば、定義管理手段1aによって、故障監視定義情報2bが生成される。定義管理手段1aは、たとえば、利用者に故障監視に関する定義の設定を促し、得られた設定情報に基づいて故障監視定義情報2bを生成する。故障監視定義情報2bには、振り分け先サーバごとに、振り分け先サーバに対応する故障監視対象の故障監視サーバ、使用する監視パケットを含む監視方法、及び故障監視サーバを正常と判断する判定基準が設定される。なお、正常の判定基準が応答パケットの有無など、自明である場合には判定基準は特に定義される必要はない。故障監視手段1bは、故障監視定義情報2bに基づき、故障監視サーバに監視パケットを送信し、応答により故障かどうかを判断する。応答パケットが受信されない場合、または受信した応答パケットが判定基準と合わない場合には、この故障監視サーバを故障と判定する。そして、振り分け先サーバに対応する故障監視サーバの故障で、この振り分け先サーバへの振り分け不可と判定する。
また、上記課題を解決するために、クライアントからの要求パケットを複数サーバに振り分けて負荷を分散するとともに、前記サーバの故障を監視する負荷分散装置において、前記クライアントからの要求パケットを振り分ける振り分け先サーバが定義される振り分け定義情報を生成するとともに、前記振り分け先サーバごとに、故障監視対象とする故障監視サーバと、前記故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて前記故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報を生成し、生成した前記振り分け定義情報と前記故障監視定義情報を管理する定義管理手段と、前記故障監視定義情報に基づいて、前記監視方法に応じた監視パケットを前記故障監視サーバに送信し、前記故障監視サーバからの応答なし、または応答パケットが前記判定基準と一致しない場合に前記故障監視サーバを故障と判定し、前記振り分け先サーバに対応する前記故障監視サーバが故障の場合には前記振り分け先サーバへの振り分け不可と判定する故障監視手段と、前記クライアントからの要求パケットを入力すると、前記振り分け定義情報に定義された前記振り分け先サーバのうち、前記故障監視手段によって振り分け可と判断された前記振り分け先サーバに対して適宜前記クライアントからの要求パケットを振り分けるサーバ振り分け手段と、を具備することを特徴とする負荷分散装置、が提供される。
このような負荷分散装置によれば、定義管理手段は、振り分け定義情報及び故障監視定義情報を生成して管理する。振り分け定義情報には、クライアントの要求を振り分ける振り分け先のサーバに関する定義がされる。故障監視定義情報には、振り分け先サーバごとに、故障監視対象の故障監視サーバと、使用する監視パケットを含む監視方法と、必要に応じて故障監視サーバを正常と見なす判定基準と、が定義される。故障監視手段は、故障監視定義情報に基づき、定義された監視方法に応じた監視パケットを故障監視サーバに送信し、その応答がない場合、または応答パケットが判定基準に一致しない場合には、この故障監視サーバを故障とみなす。さらに、故障監視サーバに対応する振り分け先サーバへの振り分け不可と判定する。サーバ振り分け手段は、クライアントからの要求パケットを入力すると、振り分け定義情報に定義された振り分け先サーバに対し、各振り分け先サーバの負荷が分散されるように、クライアントからの要求パケットを振り分けて送信する。このとき、故障監視手段によって振り分け不可と見なされた振り分け先サーバには、振り分けを行わないようにする。
本発明では、監視を行う故障監視サーバ、故障監視方法及び正常と判定する判定基準が定義される故障監視定義情報に基づき、振り分け先サーバの故障監視処理が行われる。このため、負荷分散装置を利用する環境に応じて、利用者が詳細な監視方法を定義することが可能となる。たとえば、負荷分散装置側から見て振り分け先サーバの背後にサーバが存在する場合、背後のサーバを含む振り分け先サーバに接続する複数の故障監視サーバを定義しておけば、振り分け先サーバから先のサーバに対しても故障監視を行うことができる。この結果、背後のサーバの故障監視が可能となり、背後のサーバが故障であっても負荷分散装置で認識されずに振り分け先サーバにクライアントからの要求パケットが振り分けられてしまうケースを防ぐことができる。
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
本発明にかかる負荷分散装置1は、定義管理手段1a、故障監視手段1b及びサーバ振り分け手段1cを具備し、図示しないクライアントからの要求パケットを入力すると、サーバの負荷を分散するように振り分け先サーバに振り分ける。
サーバは、サーバS1(3a)とサーバB1(3b)が1組となって所定の処理機能を実現する。たとえば、サーバS1(3a)がSSLアクセラレータでサーバB1(3b)がHTTPサーバで構成され、サーバS1(3a)がSSL処理を行い、サーバB1(3b)がHTTPアプリケーション処理を実行するというように機能を分担する。従って、クライアントからの要求パケットは、サーバS1(3a)を経由してサーバB1(3b)に送信される。サーバS2(3c)とサーバB2(3d)の組も同様に動作する。以下の説明では、振り分け先サーバとなるサーバをサーバSn(nは任意の数)、その背後に存在するサーバをサーバBnと表す。
定義管理手段1aは、クライアントからの要求パケットを振り分けるサーバを定義する振り分け定義情報2aと、故障監視対象やその方法などを定義する故障監視定義情報2bを生成して管理する。定義は利用者によって行われ、たとえば、利用者に故障監視に関する定義の設定を促す定義情報設定画面などを提示し、画面に従って入力された設定情報に基づいて振り分け定義情報2a及び故障監視定義情報2bを生成する。なお、定義の設定は、通常、システムの管理者が行う。振り分け定義情報2aには、クライアントからの所定のサービス要求に対し、この要求をサーバの負荷状態に応じて振り分ける振り分け先サーバが定義される。図の例では、サーバS1(3a)とサーバS2(3c)が振り分け先サーバに定義される。故障監視定義情報2bは、振り分け先サーバごとに、故障監視対象の監視サーバ、監視パケット及び故障監視サーバを正常と判断する基準が定義される。なお、応答パケットの有無など、判断基準が自明の場合は、定義されなくてもよい。図の例では、振り分け先サーバS1(3a)について、故障監視サーバとして、サーバS1(3a)とサーバB1(3b)が定義され、監視方法や正常かどうかの判定基準などが定義される。同様に、振り分け先サーバS2(3c)について、故障監視サーバとして、サーバS2(3c)とサーバB2(3d)が定義され、監視方法や正常かどうかの判定基準などが定義される。
故障監視手段1bは、定義管理手段1aが生成した故障監視定義情報2bに基づき、所定のタイミングで故障監視サーバに対し、監視パケットを送信し、故障監視サーバからの応答を待つ。なお、監視パケットは、定義された監視方法によって規定される。また、監視パケットが直接定義されている場合は、その監視パケットを使用する。応答パケットが受信されない場合、または、受信した応答パケットが判定基準に合っていない場合、この故障監視サーバを故障と判定する。そして、振り分け先サーバに対応する故障監視サーバが故障の場合、この振り分け先サーバも故障と判定する。こうして得られた故障監視サーバ及び振り分け先サーバの故障状態に基づき故障監視情報2cを生成し、サーバ振り分け手段1cに伝達する。振り分け先サーバに対応して複数の故障監視サーバが設定されていた場合、そのうちの1台の故障監視サーバが故障していれば、振り分け先サーバへの振り分け不可、すなわち、振り分け先サーバも故障と判定する。機能分担を行っている一連のサーバ群のうち、1台が故障したら全体として処理機能は果たせないからである。故障監視情報2cには、振り分け先サーバごとに振り分け先サーバの振り分け可/不可の状態(稼動中/故障)が設定される。
サーバ振り分け手段1cは、振り分け定義情報2a及び故障監視情報2cに基づき、クライアントからの要求パケットの振り分け先のサーバを適宜判断し、選択された振り分け先サーバにクライアントからの要求パケットを送信する。このとき、故障監視情報2cで振り分け先に定義された振り分け先サーバが「故障」と設定されていた場合、この振り分け先サーバには要求パケットを送信しないようにする。
なお、上記の説明の各処理手段は、コンピュータが故障監視プログラム及び負荷分散処理プログラムを実行することによりその処理機能を実現する。
このような構成の負荷分散装置1の動作について説明する。
定義管理手段1aによって、予め振り分け先を定義する振り分け定義情報2aと故障監視方法を定義する故障監視定義情報2bが生成され、装置内に格納されている。たとえば、図の例で、振り分け定義情報2aに、振り分け先サーバとして、サーバS1(3a)とサーバS2(3c)が定義されているとする。また、故障監視定義情報2bに、故障監視サーバとして、振り分け先サーバS1(3a)に対し、サーバS1(3a)とサーバB1(3b)が定義され、振り分け先サーバS2(3c)に対し、サーバS2(3c)とサーバB2(3d)が定義されているとする。
故障監視手段1bは、所定のタイミングで故障監視定義情報2bに基づき、監視パケットを故障監視サーバに送信して診断を行う。上記のような定義が故障監視定義情報2bに設定されていた場合、故障監視手段1bは、振り分け先サーバとしてのサーバS1(3a)の診断のため、監視パケットを故障監視サーバに定義されたサーバS1(3a)とサーバB1(3b)に送信し、診断を行う。そして、サーバS1(3a)またはサーバB1(3b)から応答パケットを受信できなかった場合、または、受信した応答パケットが判定基準と一致しなかった場合、その故障監視サーバを故障と判定する。そして、サーバS1(3a)またはサーバB1(3b)のいずれかが故障と判定された場合、振り分け先サーバとしてのサーバS1(3a)も故障と判定する。同様に、振り分け先サーバとしてのサーバS2(3c)の診断のため、監視パケットを故障監視サーバに定義されたサーバS2(3c)とサーバB2(3d)に送信し、診断を行う。そして、サーバS2(3c)またはサーバB2(3d)から応答パケットを受信できなかった場合、または、受信した応答パケットが判定基準と一致しなかった場合、その故障監視サーバを故障と判定する。そして、サーバS2(3c)またはサーバB2(3d)のいずれかが故障と判定された場合、振り分け先サーバとしてのサーバS2(3c)も故障と判定する。振り分け先サーバとしてのサーバS1(3a)及びサーバS2(3c)の故障情報は、故障監視情報2cに設定され、サーバ振り分け手段1cに伝達される。
サーバ振り分け手段1cは、クライアントからの要求パケットを入力すると、振り分け定義情報2aに定義された振り分け先サーバが稼動中であるかどうかを故障監視情報2cに基づき判定する。そして、稼動中である振り分け先サーバそれぞれの負荷に応じて、クライアントからの要求パケットの振り分け先を判別し、要求パケットを送信する。たとえば、上記のような定義が振り分け定義情報2aに設定されていた場合、故障監視情報2cにより、振り分け先サーバとしてのサーバS1(3a)とサーバS2(3c)の稼動状態を判別する。双方とも稼動中であれば、負荷が軽い方のサーバに要求パケットを振り分ける。また、一方が故障中であれば、稼動中のサーバに要求パケットを振り分ける。
なお、上記の説明では、背後に存在するサーバB1(3b)及びサーバB2(3d)に対して直接監視パケットを送信するとしたが、監視パケットの定義によって、サーバS1(3a)及びサーバS2(3c)を経由して監視パケットを背後のサーバB1(3b)及びサーバB2(3d)に送信して診断することもできる。また、監視パケットとして、クライアントから取得する要求パケットを利用することもできる。どのような方法を選択するかは、故障監視定義情報2bにおいて定義される。
このように、本発明では、故障監視定義情報に定義することによって、振り分け先サーバばかりでなく、振り分け先サーバの背後のサーバの故障診断も行って、振り分け判断時にその故障診断結果を利用することができる。これにより、背後のサーバが故障しているにもかかわらず、振り分け先サーバに対して要求パケットが振り分け続けられてしまうことを回避することができる。
以下、実施の形態を、HTTPプロトコルにSSL暗号化通信を用いたHTTPSプロトコルにより通信を行うクライアント・サーバシステムの負荷分散装置に適用した場合を例に図面を参照して詳細に説明する。
図2は、本発明の実施の形態の負荷分散装置が配置されるクライアント・サーバシステムの概略構成図である。
負荷分散装置10は、LAN14を介してサーバS1(31)、サーバS2(32)、サーバB1(33)及びサーバB2(34)に接続するとともに、クライアント51、52、53とインターネット40を介して接続する。
ここで、サーバS1(31)及びサーバS2(32)は、SSLアクセラレータとして機能し、サーバB1(33)及びサーバB2(34)は、HTTPサーバとして機能する。そして、サーバS1(31)とサーバB1(33)、及びサーバS2(32)とサーバB2(34)は、それぞれ組みとなって、HTTPS処理を実行する。
また、クライアント51、52、53は、それぞれのHTTPSサービス処理実行の際に、HTTPSプロトコルに基づく要求パケットをインターネット40経由で送信する。
負荷分散装置10は、通信制御部11、記憶部12及び制御部13を具備し、サーバの故障監視処理とともに、クライアントからの要求をサーバに振り分ける処理を行う。
通信制御部11は、インターネット40を介してクライアント51、52、53との間の通信を制御する。同様に、LAN14を介してサーバS1(31)、サーバS2(32)、サーバB1(33)及びサーバB2(34)との間の通信を制御する。なお、通信制御部は、インターネット40用とLAN14用など、それぞれの通信経路に合わせて複数設けるとしてもよい。
記憶部12は、制御部13による各種処理に必要なデータなどを格納する記憶手段である。機能的には、振り分け定義情報や故障監視定義情報などの定義情報を格納する定義情報データベース(以下、DBとする)121と、診断結果などの故障監視情報を格納する故障監視情報DB122を有する。
制御部13は、定義管理部131、故障監視部132及びサーバ振り分け部133を有する。
定義管理部131は、LAN14経由で接続する端末装置、または負荷分散装置10に接続するモニタなどの表示装置とキーボードなどの入力装置を用いて利用者(システム管理者)が設定した振り分け先に関する定義と、故障監視に関する定義に基づき、振り分け定義情報と故障監視定義情報を生成し、定義情報DB121に格納する。
故障監視部132は、定義情報DB121に格納される故障監視定義情報を読み出し、故障監視定義情報に基づき、サーバS1(31)、サーバS2(32)、サーバB1(33)及びサーバB2(34)の故障監視を行う。故障監視は、振り分け先サーバはもちろん、その背後に存在するサーバに対しても行われ、振り分け先サーバまたはその背後のサーバのいずれかの故障を検出した場合には、その系を故障と判定する。以下、振り分け先サーバと、振り分け先サーバと連携して処理を行う連携サーバを含む所定の処理機能を実現するサーバ群を系と表記する。そして、その結果に基づき故障監視情報を生成し、故障監視情報DB122に格納する。故障監視処理の詳細は後述する。
サーバ振り分け部133は、クライアント51、52、53からHTTPによる要求パケットを入力すると、サーバの状態に応じて要求パケットを振り分ける処理を行う。すなわち、定義情報DB121から振り分け定義情報、そして故障監視情報DB122から故障監視情報を読み出し、振り分け定義情報に定義された振り分け先サーバが稼動中であるか故障中であるかを故障監視情報に基づき判別する。そして、振り分け先サーバが故障中であれば、この振り分け先サーバには要求パケットを振り分けないようにする。また、故障監視定義情報に定義があれば、クライアントから受信した要求パケットを振り分け先サーバに振り分けて送受信処理を行う際に、振り分け先サーバ及びその背後のサーバに対する診断を行う。
ここで、負荷分散装置10のハードウェア構成について説明する。図3は、本実施の形態の負荷分散装置のハードウェア構成例を示すブロック図である。
負荷分散装置10は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワークに接続されており、ネットワークを介してクライアント及びサーバとの間でデータの送受信を行う。
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、上記のハードウェア構成では、モニタ108、キーボード109a及びマウス109bが直接負荷分散装置10に接続する構成としたが、通信インタフェース106を介して接続する他装置との間でデータ交換を行って、他装置のモニタ、キーボード及びマウスと間接的に接続されるようにしてもよい。
このような負荷分散装置10では、利用者が事前に振り分け先サーバと、各振り分け先サーバに対する故障監視方法について定義を行う。故障監視方法の定義では、負荷分散装置側から見て振り分け先サーバの背後にあるサーバに何らかの方法で監視パケットが届き、背後のサーバの故障監視ができるように定義が行われる。故障監視方法の詳細は後述する。定義管理部131は、利用者の行った振り分け先サーバの定義に基づいて振り分け定義情報を生成し、故障監視方法の定義に基づいて故障監視定義情報を生成する。振り分け定義情報と故障監視定義情報は、定義情報DB121に格納し、故障監視部132及びサーバ振り分け部133から読み出せるようにしておく。
所定の故障診断周期で故障監視部132が起動される。故障監視部132は、定義情報DB121から故障監視定義情報を読み出し、読み出した情報に基づいて処理用の故障監視テーブルを生成する。そして、故障監視テーブルに基づいて各サーバの故障診断を行い、診断結果から故障監視情報を生成する。故障監視情報は、故障監視情報DB122に格納し、サーバ振り分け部133から読み出しできるようにしておく。一方、クライアントから要求パケットを取得すると、サーバ振り分け部133が起動される。サーバ振り分け部133では、定義情報DB121から振り分け定義情報を読み出し、故障監視情報を用いて、振り分け先サーバに定義されたサーバのうち、故障監視情報によって稼動中と判定された振り分け先サーバから振り分け先を選択する。
これにより、振り分け先サーバの背後のサーバの故障監視が行われ、背後のサーバが故障していた場合には、対応する振り分け先サーバにクライアントからの要求パケットが振り分けられないようになる。
以下、本実施の形態において実行される故障監視方法について詳細に説明する。
本実施の形態では、故障監視定義情報として、故障監視対象の故障監視サーバと、監視方法と、正常であるかどうかの判定基準をそれぞれ定義することができる。そこで、背後に存在するサーバの故障を確認するため、ある振り分け先サーバに対する故障監視対象を複数登録し、それぞれの対象に対して監視パケットを送信して故障監視を行う故障監視方法と、ある振り分け先サーバに対して、その背後のサーバまで届くような監視パケットを定義し、このような監視パケットを送信して故障監視を行う故障監視方法を例にとり、説明する。
まず、第1の故障監視方法として、振り分け先サーバに対し複数の故障監視サーバを定義して行う場合について説明する。図4は、本実施の形態の第1の故障監視方法の処理の流れの概略を示した図である。図2と同じものには同じ番号を付し、説明は省略する。
定義管理部131によって、振り分け定義情報201と故障監視定義情報202aが生成される。図の例では、振り分け定義情報201として、振り分け先サーバにサーバS1(31)とサーバS2(32)が定義される。また、故障監視定義情報202aとして、振り分け先サーバであるサーバS1(31)に対する故障監視サーバとして、サーバS1(31)とサーバB1(33)が定義される。同様に、振り分け先サーバであるサーバS2(32)に対する故障監視サーバとして、サーバS2(32)とサーバB2(34)が定義される。
故障監視部132は、定義情報DB121の故障管理定義情報に基づき、故障監視処理用の故障監視テーブルを作成する。
図5は、本実施の形態の第1の故障監視方法による故障監視テーブルの一例を示した図である。本実施の形態の故障監視テーブル210は、振り分け先サーバフィールド211、状態フィールド212、故障監視サーバ1フィールド213及び故障監視サーバ2フィールド214を有す。
振り分け先サーバフィールド211は、振り分け先サーバとして定義されたサーバ情報が格納される領域であり、図5の例では、振り分け先サーバに、SSLアクセラレータであるサーバS1(31)と、サーバS2(32)が定義されている。
状態フィールド212は、振り分け先サーバに要求パケットを振り分けても大丈夫かどうかについての情報が格納され、稼動中(振り分け可)または故障中(振り分け不可)が診断処理終了後に設定される。
故障監視サーバ1フィールド213は、振り分け先サーバに対応する第1の故障監視サーバとその監視方法の定義が格納される。図5の例では、振り分け先サーバとしてのサーバS1(31)に関する第1の故障監視対象として、このサーバS1(31)が定義され、監視方法としてping監視が定義されている。振り分け先サーバS2(32)に関しても同様の定義がされている。
故障監視サーバ2フィールド214は、振り分け先サーバに対応する第2の故障監視サーバとその監視方法の定義が格納される。図5の例では、振り分け先サーバとしてのサーバS1(31)に関する第2の故障監視対象として、サーバS1(31)の背後にあるサーバB1(33)が定義され、監視方法としてping監視が定義されている。振り分け先サーバS2(32)に関しても同様の定義がされている。
以上のフィールドのうち、状態フィールド212を除くフィールドは、故障監視定義情報に基づき作成される。また、振り分け先サーバについて、さらに、背後にサーバが存在する場合、故障監視サーバ1フィールド213及び故障監視サーバ2フィールド214と同様の情報が順次設定される。一方、状態フィールド212は、故障監視処理によって設定される故障監視情報に相当する。
以上のように定義されることにより、故障監視処理モジュール132aは、故障監視テーブル210に定義された故障監視サーバ(サーバS1(31)とサーバB1(33)、サーバS2(32)とサーバB2(34))に対し、ping監視処理を行う。なお、以下の説明では、サーバS2(32)の背後にあるサーバB2(34)が故障しているとして説明する。
図6は、本実施の形態の第1の故障監視方法による故障監視処理のシーケンス図である。
ここで、ping監視は、TCP/IPネットワークにおいて、IPパケットが通信先まで届いているかどうかや、到達可能であるかどうかを調べるために利用される監視方法で、ICMP(Internet Control Message Protocol)を使って実現される。pingを実行し、返答が返ってくれば相手のノードは存在し、(少なくともIP層レベルでの)ネットワークソフトウェアはアクティブになっていると判定される。
まず、振り分け先サーバS1(31)の系として、故障監視テーブル210に基づき、サーバS1故障監視301が行われ、続けてサーバB1故障監視302が行われる。図の例では、サーバS1故障監視301として負荷分散装置10からサーバS1(31)に対して要求コマンド301aが送信され、応答コマンド301bが返る。従って、サーバS1(31)は正常と判定される。サーバB1故障監視302では、負荷分散装置10からサーバB1(33)に対して要求コマンド302aが送信され、応答コマンド302bが返る。従って、サーバB1(33)も正常と判定される。そして、サーバS1(31)及びサーバB1(33)がともに正常であることから、振り分け先サーバS1(31)の系は稼動中であると判定される。
続いて、振り分け先サーバS2(32)の系として、故障監視テーブルに基づき、サーバS2故障監視303が行われ、続けてサーバB2故障監視304が行われる。図の例では、サーバS2故障監視303として負荷分散装置10からサーバS2(32)に対して要求コマンド303aが送信され、応答コマンド303bが返る。従って、サーバS2(32)は正常と判定される。サーバB2故障監視304では、負荷分散装置10からサーバB2(34)に対して要求コマンド304aが送信されるが、サーバB2(34)からの応答はない(304b)。従って、サーバB2(34)は故障と判定される。そして、サーバS2(32)は正常であるが、サーバB2(34)が故障であることから、振り分け先サーバS2(32)の系は故障中であると判定される。
以上の故障監視処理によって、故障監視テーブル210の状態フィールド212には、振り分け先サーバS1(31)の系は稼動中、振り分け先サーバS2(32)の系は故障中が設定される。これにより、サーバ振り分け部133は、サーバS2(32)には振り分けを行わない。
ここで、故障監視処理の処理手順について説明する。図7は、本実施の形態の第1の故障監視方法による故障監視処理の手順を示したフローチャートである。
故障監視処理モジュール132aが起動され、処理が開始される。
[ステップS11] 故障監視テーブルに基づき、ある振り分け先サーバに関して対象サーバに設定された故障監視サーバを診断する。診断は、定義された監視方法によって行う。
[ステップS12] 診断の結果、対象の故障監視サーバに異常が検出されたかどうかを判定する。異常が検出された場合は、処理をステップS15へ進める。
[ステップS13] 故障監視サーバに異常が検出されなかった場合、その振り分け先サーバに関して定義されたすべての監視対象サーバに関する処理が終了したかどうかを判断する。終了していない場合は、ステップS11に戻って、次に定義された監視対象サーバに対する診断処理からの手順を行う。
[ステップS14] すべての監視対象サーバに関する処理が終了していた場合、この振り分け先サーバに対応する監視対象サーバはすべて正常と判定されるので、振り分け先サーバ稼動中(振り分け可)を故障監視テーブルに設定し、サーバ振り分け部133に通知する。
[ステップS15] 対象の故障監視サーバに異常が検出された場合、この振り分け先サーバの系に故障のサーバが含まれるので処理機能を実行できないと判定し、振り分け先サーバ故障中(振り分け不可)を故障監視テーブルに設定し、サーバ振り分け部133に通知する。
以上のように、第1の故障監視方法では、監視対象として背後のサーバを定義可能にして、定義されたサーバすべてに監視パケットを送信して故障監視を行い、その系のいずれかのサーバに故障が検出された場合には、その系の振り分け先サーバは故障中と判定する。これにより、すべてのサーバに対する監視が可能となるとともに、処理ができない系にクライアントからの要求が振り分けられないようにすることができる。
次に、第2の故障監視方法として、振り分け先サーバから背後のサーバまで届くような監視パケットを定義して行う場合について説明する。
図8は、本実施の形態の第2の故障監視方法の処理の流れの概略を示した図である。図4と同じものには同じ番号を付し、説明は省略する。
定義管理部131によって、振り分け定義情報201と故障監視定義情報202bが生成される。図の例では、振り分け定義情報201として、振り分け先サーバにサーバS1(31)とサーバS2(32)が定義される。また、故障監視定義情報202bとして、振り分け先サーバであるサーバS1(31)に対し、サーバS1(31)を経由してサーバB1(33)に到達する監視パケットを用いた故障監視方法が定義される。同様に、振り分け先サーバであるサーバS2(32)に対し、サーバS2(32)を経由してサーバB2(34)に到達する監視パケットを用いた故障監視方法が定義される。
故障監視部132は、定義情報DB121の故障管理定義情報に基づき、故障監視処理用の故障監視テーブルを作成する。
図9は、本実施の形態の第2の故障監視方法による故障監視テーブルの一例を示した図である。本実施の形態の故障監視テーブル220は、振り分け先サーバフィールド221、状態フィールド222、故障監視サーバフィールド223、サービスフィールド224及び故障監視方法と送受信パケット内容フィールド225を有す。
振り分け先サーバフィールド221には、振り分け先サーバフィールド211と同様で、図の例では、振り分け先サーバに、SSLアクセラレータであるサーバS1(31)と、サーバS2(32)が定義されている。
状態フィールド222も状態フィールド212と同様で、振り分け先サーバに要求パケットを振り分けても大丈夫かどうかについての情報が格納され、稼動中(振り分け可)または故障中(振り分け不可)が診断処理終了後に設定される。
故障監視サーバフィールド223には、負荷分散装置10が故障の監視パケットを送信する送信先のサーバが定義されている。図の例では、振り分け先サーバとしてサーバS1(31)に関する故障監視サーバとして、自身が定義されている。振り分け先サーバS2(32)に関しても同様の定義がされている。
サービスフィールド224には、故障監視に利用するサービスの定義が格納される。図の例では、振り分け先サーバであるサーバS1(31)に対し、HTTPSサービスによる処理手順を故障監視に利用することが定義されている。振り分け先サーバS2(32)に関しても同様の定義がされている。
監視方法と送受信パケット内容フィールド225には、監視方法として、監視方法の種別と送信する監視パケット及びその振り分け先サーバと振り分け先サーバと連携して処理を行う連携サーバとからなるこの系が正常であると認められる条件が定義される。
図の例の故障監視テーブル220上段の振り分け先サーバとしてサーバS1(31)が定義されている系では、HTTPSを利用した診断が定義され、下段の振り分け先サーバとしてサーバS2(32)が定義されている系では、独自プロトコルを利用した診断が定義される。
上段について説明する。図の例では、監視方法として、「アプリ監視(SSLハンドシェーク以降までの通信を行う)」が定義され、送信データには、「アプリケーションデータ(GET/HTTP/1.0を暗号化したもの)」、稼動中と判断する受信パケットの内容には、「暗号化されたHTTP/1.0 200 OK」が定義されている。
HTTPSサービスでは、負荷分散装置10と振り分け先サーバとの間で、SSLハンドシェークの手順が実行され、正常に終了した場合にアプリケーション処理が行われる。SSLハンドシェーク確立までの処理手順の監視は従来も行われていたが、本実施の形態では、さらに、SSLハンドシェーク移行の処理手順に送信されるパケットを用いての監視を行う。これは、SSLハンドシェークまでの処理手順では、振り分け先サーバの背後のサーバまでパケットが伝達されず、その故障診断ができないためである。そこで、図の例では、背後にあるHTTPサーバ(サーバB1(33))まで到達するアプリケーションデータが送信データとして定義される。そして、この送信データに対するOKパケットを受信できれば、この系は稼動中であると判断する。
下段について説明する。図の例では、監視方法には「アプリ監視(独自プロトコル)」、送信データには「XXX(独自データ)」、稼動中と判断する受信パケットの内容には「YYY(正常時の応答)」、が定義されている。この処理を実行する場合、振り分け先サーバには、予め、独自プロトコルによるデータを受信した場合には、このデータを連携先サーバに転送し、得られた応答を負荷分散装置10に転送するという処理を設定しておく必要がある。
以上のように定義されることにより、故障監視処理モジュール132bは、故障監視テーブル220に定義された故障監視サーバ(サーバS1(31))を経由して背後のサーバ(サーバB1(33))まで転送されるパケットを送信し、この系の故障監視を行う。サーバS2(32)とサーバB2(34)に対しても同様の監視処理を行う。
図10は、本実施の形態の第2の故障監視方法による故障監視処理のシーケンス図である。図10の例は、HTTPSを利用した場合の故障監視方法の例を示している。
まず、振り分け先サーバS1(31)の系として、故障監視テーブル220に基づき、サーバS1故障監視311が行われ、正常であればSSLハンドシェーク312が行われた後、サーバB1(33)を含む故障監視313が行われる。すなわち、HTTPSのプロトコル処理手順として、まず負荷分散装置10とサーバS1(31)との接続を確立するため、負荷分散装置10からSYN(311a)が送信され、サーバS1(31)が通信可能であれば負荷分散装置10にSYN/ACK(311b)が返る。そして、負荷分散装置10からACK(311c)が送信される。こうして、接続が確立された後、SSLハンドシェーク312手順が行われ、負荷分散装置10からClient Hello(312a)が送信され、サーバS1(31)からServer Hello(312b)が返る。以上の手順により、負荷分散装置10とサーバS1(31)間のネゴシエーションが確立し、アプリケーション処理が開始される。なお、ここまでの手順で異常が検出された場合には、この振り分け先サーバS1(31)の系は故障中と判断される。
故障監視313では、アプリケーションデータとして暗号化された「GET/HTTP/1.1」パケット313aがサーバS1(31)に送信される。SSLアクセラレータであるサーバS1(31)は、暗号を解読し、「GET/HTTP/1.1」パケット313bをサーバB1(33)へ送信する。サーバB1(33)が正常であれば、取得した「GET/HTTP/1.1」パケット313bに対する応答データを返すが、故障中の場合、サーバS1(31)には応答が返らないか、エラー応答が返る。この場合、サーバS1(31)は、Alertまたは切断313cによって、正常な応答パケットが得られなかったことを負荷分散装置10に通知する。負荷分散装置10は、正常な応答パケットを受信した場合は振り分け先サーバS1(31)の系は稼動中と判定し、Alertまたは切断の場合は、振り分け先サーバS2(32)の系は故障中と判定する。
以上の故障監視処理によって、故障監視テーブル220の状態フィールド222には、振り分け先サーバに振り分けを行えるかどうかが設定される。
なお、独自プロトコルが指定された場合は、直接故障監視313が行われる。
ここで、故障監視処理の処理手順について説明する。図11は、本実施の形態の第2の故障監視方法による故障監視処理の手順を示したフローチャートである。
故障監視処理モジュール132bが起動され、処理が開始される。
[ステップS21] 故障監視テーブル220が読込まれ、監視方法が独自プロトコルによる監視方法を用いるのか、この振り分け先サーバの系が本来実行するアプリケーションプロトコルを利用した監視方法を用いるのかを判定する。独自プロトコルの場合、処理をステップS29へ進める。
[ステップS22] 独自プロトコルを使用しない場合、すなわち、この振り分け先サーバの系のアプリケーションプロトコルを利用する場合、そのプロトコル処理を行う。この場合、HTTPSプロトコルであるので、SSLハンドシェーク処理を行う。
[ステップS23] SSLハンドシェーク処理が正常終了したかどうかを判定する。正常終了しない場合は、処理をステップS28へ進める。
[ステップS24] アプリケーションデータが定義され、送信する定義がされているかどうかを判定する。定義されていない場合、処理をステップS27へ進め、診断処理を中断する。
[ステップS25] 故障監視テーブル220に定義された送信データを送信する。ここでは、振り分け先サーバはSSLアクセラレータであるので、背後のHTTPサーバに届くような暗号化された送信データを送信する。
[ステップS26] 振り分け先サーバから応答パケットを取得した場合、故障監視テーブル220に定義された正常時の期待応答パケットと照合する。応答パケットを受信しない場合、及び期待応答パケットと一致しない場合には、処理をステップS28へ進める。
[ステップS27] 監視用の送信データを送信せず、監視を行わなかった場合、及び
ステップS26において定義された正しい応答が得られたと判定された場合、振り分け先サーバ稼動中(振り分け可)を故障監視テーブルに設定し、サーバ振り分け部133に通知し、処理を終了する。
[ステップS28] SSLハンドシェーク処理が正常に完了しなかった場合、及び監視用のアプリケーションデータに対する正しい応答が得られなかった場合、振り分け先サーバ故障中(振り分け不可)を故障監視テーブルに設定し、サーバ振り分け部133に通知し、処理を終了する。
[ステップS29] 独自プロトコルによる故障監視が設定されているので、故障監視テーブル220に定義された送信データを送信する。
[ステップS30] 振り分け先サーバから応答パケットを取得した場合、故障監視テーブル220に定義された正常時の期待応答パケットと照合する。応答パケットを受信しない場合、及び期待応答パケットと一致しない場合には、処理をステップS28へ進める。
[ステップS31] ステップS29において定義された正しい応答が得られたと判定された場合、振り分け先サーバ稼動中(振り分け可)を故障監視テーブルに設定し、サーバ振り分け部133に通知し、処理を終了する。
以上のように、第2の故障監視方法では、監視対象として背後のサーバまで到達する監視パケットを送信して故障監視を行い、期待した応答が得られない場合には、その系の振り分け先サーバは故障中と判定する。これにより、アプリケーションレベルで、この振り分け先サーバと振り分け先サーバと連携するサーバで構成される系の監視が可能となるとともに、処理ができない系にクライアントからの要求が振り分けられないようにすることができる。なお、第2の故障監視方法では、どのサーバが故障しているのかについては、問題としない。
上記の説明の第1及び第2の故障監視方法では、負荷分散装置10の故障監視部132が定期的に送信する監視パケットによって故障を監視する。そのため、第1及び第2の故障監視方法では、一定間隔でしか故障を検出することができず、その間に故障が発生した場合には、まだその振り分け先サーバの系は稼動中と判断してクライアントからの要求パケットを振り分けてしまうことになる。
そこで、第3の故障監視方法として、クライアントと振り分け先サーバとのパケットのやりとりからも振り分け先サーバの故障を判断できるようにする。ただし、この場合、少なくとも1回はクライアントのパケットを故障中の振り分け先サーバに振り分けてしまうことになるため、上記の第1及び第2の故障監視方法と併用することが望ましい。
図12は、本実施の形態の第3の故障監視方法の処理の流れの概略を示した図である。図4と同じものには同じ番号を付し、説明は省略する。
定義管理部131によって、振り分け定義情報201と図示しない故障監視定義情報202が生成される。また、故障監視部132によって、これらの定義情報に基づき故障監視テーブル230が作成される。図の例では、振り分け定義情報201として、振り分け先サーバにサーバS1(31)とサーバS2(32)が定義される。また、故障監視定義情報202として、振り分け先サーバであるサーバS1(31)に振り分けられるパケットから監視対象とするパケットが定義され、振り分け先サーバが稼動中であると判定する正常判定条件が定義される。同様に、振り分け先サーバであるサーバS2(32)に対し、通常時に振り分けが行われるパケットを監視対象とする故障監視方法が定義される。
サーバ振り分け部133では、振り分け処理モジュール133aがクライアント51からの要求パケットを取得すると、故障監視処理モジュール133bにこれを引き渡す。故障監視処理モジュール133bは、引き渡された要求パケットが故障監視テーブル230に定義された監視対象パケットと一致するかどうかを判定し、一致しない場合は、監視処理を中断し、振り分け処理モジュール133aに以降の処理を実行させる。一致する場合は、その監視対象パケットを用いて故障監視処理を行う。
HTTPSプロトコルのSSLパケットは、データが暗号化されているため、クライアントとサーバとのSSLパケットの内容を直接見ることはできない。たとえば、クライアントが「GET/HTTP/1.0」をリクエストし、サーバからのレスポンスとして「HTTP/1.1 200 OK」を取得したかというような故障監視定義はできない。そこで、応答パケットに含まれる情報から通信状態を表す箇所を参照し、稼動中/故障中の判定を行う。
ここで、振り分け先サーバであるサーバS1(31)及びサーバS2(32)からの応答で、故障監視処理モジュール133bが、その系の稼動中または故障中を判断するSSLパケットの参照データについて説明する。
図13は、HTTPSプロトコルによるTCPレイヤとSSLレイヤが関連するパケット部を示したパケット構成図である。
故障監視処理モジュール133bは、図のFlag(401)、Type(402)及びLength(403)を参照して、稼動中/故障中の判定を行う。
Flag(401)は、TCPレイヤで設定される。クライアントとサーバ(SSLアクセラレータ)とのコネクション接続において、SSLハンドシェーク直後のクライアントからの暗号化された要求パケットに対し、通常、サーバ(SSLアクセラレータ)は暗号化されたレスポンスを返す。ここでは、以後のサーバが故障中の場合には、サーバ(SSLアクセラレータ)はレスポンスを返さず、単にコネクションを切断する。そこで、Flag(401)のFINまたはRSTビットがセットされていれば、コネクションが切断されたと判断し、この系を故障中と判定する。
Type(402)は、SSLパケットの種類(ハンドシェーク、アプリケーションデータ、Alert)を表し、SSLレイヤで設定される。コネクション切断と同様に、背後のサーバが故障中の場合には、サーバ(SSLアクセラレータ)はレスポンスを返さず、SSLパケットの1つであるアラート(Alert)を返す。その後、コネクションを切断する場合もある。Type(402)には、以降のデータがアプリケーションデータであれば0x17(=23)、アラート(Alert)であれば0x15(=21)が設定されているので、パケットがアラートと判断されれば、この系の振り分け先サーバを故障中と判定する。
Length(403)は、SSLレイヤで設定され、以降のデータ長が設定されている。クライアントからの暗号化されたリクエストのパケット長はサイズが大きいなどの特徴がある。さらに、そのリクエストに対するサーバからのレスポンスのパケット長は、背後のサーバが存在すればサイズが大きく、背後のサーバが存在しなければサイズが小さいなどの特徴があるので、これを利用して故障中かどうかを判断する。
図14は、本実施の形態の第3の故障監視方法による故障監視処理のシーケンス図である。図14の例は、背後のサーバB1(33)が故障と判断される場合の動作イメージを示した図である。
負荷分散装置10を介してクライアント51と振り分け先サーバS1(31)とのコネクション接続が開始される。負荷分散装置10は、振り分け先サーバS1(31)を振り分け先として選択し、クライアント51から受信したパケットをサーバS1(31)に転送する。この場合、クライアント51とサーバS1(31)との接続を確立するため、クライアント51からSYN(321a)が送信され、サーバS1(31)が通信可能であればクライアント51にSYN/ACK(321b)が返る。そして、クライアント51からACK(321c)が送信される。こうして、接続が確立された後、SSLハンドシェーク手順が行われ、クライアント51からClient Hello(322a)が送信され、サーバS1(31)からServer Hello(322b)が返る。以上の手順により、クライアント51とサーバS1(31)間のネゴシエーションが確立し、アプリケーション処理が開始される。なお、ここまでの手順で異常が検出された場合には、この振り分け先サーバの系は故障中と判断される。
アプリケーション開始により、監視対象パケット331aがクライアント51より送信されると、サーバ振り分け部133の故障監視処理モジュール133bがこれを検出し、故障監視処理を開始する。サーバS1(31)経由でサーバB1(33)に送信された監視対象パケットに対し、サーバB1(33)は故障であるため応答を返すことができない。このため、サーバS1(31)からは、FIN(コネクション切断)331bが通知される。故障監視処理モジュール133bは、これを検出し、サーバS1(31)の系は故障中であると判定する。
ここで、故障監視処理の処理手順について説明する。図15は、本実施の形態の第3の故障監視方法による故障監視処理の手順を示したフローチャートである。
クライアントから要求パケットを取得し、サーバ振り分け部が起動され、処理が開始される。
[ステップS41] 故障監視テーブル230からユーザの定義した監視条件を読込み、入力したクライアントからのパケットと照合し、入力したパケットが監視条件に合致するかどうかを判定する。一致しない場合は、処理をステップS43へ進める。
[ステップS42] 入力したクライアントからのパケットが監視条件と一致した場合は、故障監視処理モジュール133bを起動し、故障監視を開始する。
[ステップS43] 入力したパケットをサーバへ送信し、応答を待つ。
[ステップS44] 応答パケットを受信し、処理を再開する。なお、応答パケットを受信した段階では、監視対象のパケットに対する応答を受信したのかどうかは、わからない。
[ステップS45] 監視条件が成立しているのかどうかを判定する。成立している場合は、故障監視処理を再開し、処理をステップS47へ進める。
[ステップS46] 監視条件が成立しない場合は、故障監視処理を行わず、通常のサーバ振り分け処理を継続し、処理を終了する。
[ステップS47] 故障監視処理を再開した場合、ユーザの定義した監視条件と応答パケットを照合し、振り分け先サーバが故障中か稼動中かを判定する。稼動中と判断された場合、そのまま処理を終了する。
[ステップS48] 故障中と判断された場合、振り分け先サーバ故障中(振り分け不可)を故障監視テーブルに設定し、処理を終了する。
以上の処理手順が実行されることにより、クライアントからの要求パケットを用いて背後のサーバを含む振り分け先サーバの系が正常であるかどうかを判断することができる。これにより、故障監視処理の処理周期の間に故障が発生した場合、この故障を検出して以降、この振り分け先サーバへの振り分けを行わないようにすることができる。
なお、上記の説明では、SSLによってパケットが暗号化され、内容がわからない状態での処理について説明したが、暗号化されないパケットについて同様の処理が可能であることは当然である。
以上の説明のように、第2の故障監視方法及び第3の故障監視方法では、負荷分散装置10が背後のサーバに直接監視パケットを送信するのではなく、背後のサーバまで到達する監視パケットを振り分け先サーバに送信することによって、振り分け先サーバから背後のサーバに対して監視パケットが送信される。ここで、監視パケットを背後のサーバに送信する振り分け先サーバ(SSLアクセラレータ)の処理手順について説明する。図16は、本実施の形態における振り分け先サーバの処理手順を示したフローチャートである。
[ステップS61] クライアントとの間のコネクション接続処理を行う。
[ステップS62] クライアントとの間で、SSLハンドシェーク処理を行う。
[ステップS63] アプリケーション処理を開始し、取得したリクエストを復号する。
[ステップS64] 背後のサーバ(HTTPサーバ)の状態を確認する。故障中であれば、処理をステップS68へ進める。
[ステップS65] 背後のサーバ(HTTPサーバ)が正常であるので、背後のサーバに復号したリクエストを送信し、レスポンスを取得する。
[ステップS66] 取得したレスポンスを暗号化する。
[ステップS67] 負荷分散装置に、暗号化したレスポンスのパケットを送信する。
[ステップS68] 背後のサーバが故障中と判断されれば、Alertを送信したり、コネクションを切断する。
以上の処理手順が実行されることにより、負荷分散装置10がすべてのサーバに対して直接監視パケットを送信しなくても、監視を行うことができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、負荷分散装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) クライアントからの要求パケットを複数サーバに振り分けて負荷を分散するため、前記サーバの故障を監視する処理を行う故障監視プログラムにおいて、
コンピュータを、
前記クライアントからの要求パケットを振り分ける振り分け先サーバごとに、故障監視対象とする故障監視サーバと、前記故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて前記故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報を生成して管理する定義管理手段、
前記故障監視定義情報に基づいて、前記監視方法に応じた監視パケットを前記故障監視サーバに送信し、前記故障監視サーバからの応答なし、または応答パケットが前記判定基準と一致しない場合に前記故障監視サーバを故障と判定し、前記振り分け先サーバに対応する前記故障監視サーバが故障の場合には前記振り分け先サーバへの振り分け不可と判定する前記故障監視手段、
として機能させることを特徴とする故障監視プログラム。
(付記2) 前記定義管理手段に、前記振り分け先サーバに定義されておらず、前記振り分け先サーバと連携して前記要求パケットの処理を行うすべてのサーバ及び前記振り分け先サーバを前記故障監視サーバとして前記振り分け先サーバに関連付けて定義させ、
前記故障監視手段に、前記振り分け先サーバに関連付けて定義された前記故障監視サーバに対して順に前記監視パケットを送信して故障診断を行わせる、
ことを特徴とする付記1記載の故障監視プログラム。
(付記3) 前記故障監視手段は、前記振り分け先サーバに関連付けて定義された前記故障監視サーバがすべて正常の場合のみ前記振り分け先サーバを含む系が正常と判断し、前記振り分け先サーバへの振り分けを可とさせる、
ことを特徴とする付記2記載の故障監視プログラム。
(付記4) 前記定義管理手段に、パケットが前記振り分け先サーバを経由し、前記振り分け先サーバに定義されておらず、前記振り分け先サーバと連携して前記要求パケットの処理を行う連携先サーバに到達する前記監視パケットを定義させるとともに、前記連携先サーバが正常である場合に得られる期待応答パケットを定義させ、
前記故障監視手段に、前記監視パケットを前記振り分け先サーバに送信するとともに、前記振り分け先サーバ経由で取得する前記連携先サーバから前記監視パケットの送信順と逆に転送され、前記振り分け先サーバ経由で取得した応答パケットを取得し、前記応答パケットを前記期待応答パケットと照合して前記振り分け先サーバへの振り分け可または不可の判定を行わせる、
ことを特徴とする付記1記載の故障監視プログラム。
(付記5) 前記定義管理手段に、前記クライアントと前記振り分け先サーバ及び前記振り分け先サーバと連携して前記要求パケットの処理を行う連携サーバの間で交換される任意のパケットを故障監視パケットとして定義させるとともに、前記故障監視パケットに対する応答パケットに応じて前記振り分け先サーバ及び前記連携サーバを正常と判定する正常判定条件を定義させ、
コンピュータを、
前記クライアントから前記要求パケットを取得すると、前記要求パケットが前記故障監視パケットであるかどうかを照合し、前記故障監視パケットである場合には、前記故障監視パケットを所定の前記振り分け先サーバに送信するとともに、前記振り分け先サーバからの応答パケットの取得状態及び取得した場合は前記応答パケットを前記正常判定条件と照合し、成立している場合には前記振り分け先サーバ及び前記連携サーバを正常と判定するサーバ振り分け手段、
として機能させることを特徴とする付記1記載の故障監視プログラム。
(付記6) クライアントからの要求パケットを複数サーバに振り分けて負荷を分散するとともに、前記サーバの故障を監視する負荷分散装置において、
前記クライアントからの要求パケットを振り分ける振り分け先サーバが定義される振り分け定義情報を生成するとともに、前記振り分け先サーバごとに、故障監視対象とする故障監視サーバと、前記故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて前記故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報を生成し、生成した前記振り分け定義情報と前記故障監視定義情報を管理する定義管理手段と、
前記故障監視定義情報に基づいて、前記監視方法に応じた監視パケットを前記故障監視サーバに送信し、前記故障監視サーバからの応答なし、または応答パケットが前記判定基準と一致しない場合に前記故障監視サーバを故障と判定し、前記振り分け先サーバに対応する前記故障監視サーバが故障の場合には前記振り分け先サーバへの振り分け不可と判定する故障監視手段と、
前記クライアントからの要求パケットを入力すると、前記振り分け定義情報に定義された前記振り分け先サーバのうち、前記故障監視手段によって振り分け可と判断された前記振り分け先サーバに対して適宜前記クライアントからの要求パケットを振り分けるサーバ振り分け手段と、
を具備することを特徴とする負荷分散装置。
実施の形態に適用される発明の概念図である。 本発明の実施の形態の負荷分散装置が配置されるクライアント・サーバシステムの概略構成図である。 本実施の形態の負荷分散装置のハードウェア構成例を示すブロック図である。 本実施の形態の第1の故障監視方法の処理の流れの概略を示した図である。 本実施の形態の第1の故障監視方法による故障監視テーブルの一例を示した図である。 本実施の形態の第1の故障監視方法による故障監視処理のシーケンス図である。 本実施の形態の第1の故障監視方法による故障監視処理の手順を示したフローチャートである。 本実施の形態の第2の故障監視方法の処理の流れの概略を示した図である。 本実施の形態の第2の故障監視方法による故障監視テーブルの一例を示した図である。 本実施の形態の第2の故障監視方法による故障監視処理のシーケンス図である。 本実施の形態の第2の故障監視方法による故障監視処理の手順を示したフローチャートである。 本実施の形態の第3の故障監視方法の処理の流れの概略を示した図である。 HTTPSプロトコルによるTCPレイヤとSSLレイヤが関連するパケット部を示したパケット構成図である。 本実施の形態の第3の故障監視方法による故障監視処理のシーケンス図である。 本実施の形態の第3の故障監視方法による故障監視処理の手順を示したフローチャートである。 本実施の形態における振り分け先サーバの処理手順を示したフローチャートである。 従来の負荷分散システムの一例を示した構成図である。
符号の説明
1 負荷分散装置
1a 定義管理手段
1b 故障監視手段
1c サーバ振り分け手段
2a 振り分け定義情報
2b 故障監視定義情報
2c 故障監視情報
3a サーバS1
3b サーバB1
3c サーバS2
3d サーバB2

Claims (5)

  1. クライアントからの要求パケットを複数サーバに振り分けて負荷を分散するため、前記サーバの故障を監視する処理を行う故障監視プログラムにおいて、
    コンピュータを、
    前記クライアントからの要求パケットを振り分ける振り分け先サーバごとに、故障監視対象とする故障監視サーバと、前記故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて前記故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報を生成して管理する定義管理手段、
    前記故障監視定義情報に基づいて、前記監視方法に応じた監視パケットを前記故障監視サーバに送信し、前記故障監視サーバからの応答なし、または応答パケットが前記判定基準と一致しない場合に前記故障監視サーバを故障と判定し、前記振り分け先サーバに対応する前記故障監視サーバが故障の場合には前記振り分け先サーバへの振り分け不可と判定する前記故障監視手段、
    として機能させることを特徴とする故障監視プログラム。
  2. 前記定義管理手段に、前記振り分け先サーバに定義されておらず、前記振り分け先サーバと連携して前記要求パケットの処理を行うすべてのサーバ及び前記振り分け先サーバを前記故障監視サーバとして前記振り分け先サーバに関連付けて定義させ、
    前記故障監視手段に、前記振り分け先サーバに関連付けて定義された前記故障監視サーバに対して順に前記監視パケットを送信して故障診断を行わせる、
    ことを特徴とする請求項1記載の故障監視プログラム。
  3. 前記定義管理手段に、パケットが前記振り分け先サーバを経由し、前記振り分け先サーバに定義されておらず、前記振り分け先サーバと連携して前記要求パケットの処理を行う連携先サーバに到達する前記監視パケットを定義させるとともに、前記連携先サーバが正常である場合に得られる期待応答パケットを定義させ、
    前記故障監視手段は、前記監視パケットを前記振り分け先サーバに送信するとともに、前記振り分け先サーバ経由で取得する前記連携先サーバから前記監視パケットの送信順と逆に転送され、前記振り分け先サーバ経由で取得した応答パケットを取得し、前記応答パケットを前記期待応答パケットと照合して前記振り分け先サーバへの振り分け可または不可の判定を行わせる、
    ことを特徴とする請求項1記載の故障監視プログラム。
  4. 前記定義管理手段に、前記クライアントと前記振り分け先サーバ及び前記振り分け先サーバと連携して前記要求パケットの処理を行う連携サーバの間で交換される任意のパケットを故障監視パケットとして定義させるとともに、前記故障監視パケットに対する応答パケットに応じて前記振り分け先サーバ及び前記連携サーバを正常と判定する正常判定条件を定義させ、
    コンピュータを、
    前記クライアントから前記要求パケットを取得すると、前記要求パケットが前記故障監視パケットであるかどうかを照合し、前記故障監視パケットである場合には、前記故障監視パケットを所定の前記振り分け先サーバに送信するとともに、前記振り分け先サーバからの応答パケットの取得状態及び取得した場合は前記応答パケットを前記正常判定条件と照合し、成立している場合には前記振り分け先サーバ及び前記連携サーバを正常と判定するサーバ振り分け手段、
    として機能させることを特徴とする請求項1記載の故障監視プログラム。
  5. クライアントからの要求パケットを複数サーバに振り分けて負荷を分散するとともに、前記サーバの故障を監視する負荷分散装置において、
    前記クライアントからの要求パケットを振り分ける振り分け先サーバが定義される振り分け定義情報を生成するとともに、前記振り分け先サーバごとに、故障監視対象とする故障監視サーバと、前記故障監視サーバの診断に用いる監視パケットを含む監視方法と、必要に応じて前記故障監視サーバを正常と判断する判定基準と、が定義される故障監視定義情報を生成し、生成した前記振り分け定義情報と前記故障監視定義情報を管理する定義管理手段と、
    前記故障監視定義情報に基づいて、前記監視方法に応じた監視パケットを前記故障監視サーバに送信し、前記故障監視サーバからの応答なし、または応答パケットが前記判定基準と一致しない場合に前記故障監視サーバを故障と判定し、前記振り分け先サーバに対応する前記故障監視サーバが故障の場合には前記振り分け先サーバへの振り分け不可と判定する故障監視手段と、
    前記クライアントからの要求パケットを入力すると、前記振り分け定義情報に定義された前記振り分け先サーバのうち、前記故障監視手段によって振り分け可と判断された前記振り分け先サーバに対して適宜前記クライアントからの要求パケットを振り分けるサーバ振り分け手段と、
    を具備することを特徴とする負荷分散装置。
JP2005101161A 2005-03-31 2005-03-31 故障監視プログラム及び負荷分散装置 Pending JP2006285377A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005101161A JP2006285377A (ja) 2005-03-31 2005-03-31 故障監視プログラム及び負荷分散装置
US11/175,851 US20060221815A1 (en) 2005-03-31 2005-07-06 Failure-monitoring program and load-balancing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005101161A JP2006285377A (ja) 2005-03-31 2005-03-31 故障監視プログラム及び負荷分散装置

Publications (1)

Publication Number Publication Date
JP2006285377A true JP2006285377A (ja) 2006-10-19

Family

ID=37070276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005101161A Pending JP2006285377A (ja) 2005-03-31 2005-03-31 故障監視プログラム及び負荷分散装置

Country Status (2)

Country Link
US (1) US20060221815A1 (ja)
JP (1) JP2006285377A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177710A (ja) * 2007-01-17 2008-07-31 Nec Corp メディアサービスシステム、メディアサービス装置及びそれらに用いるlan冗長化方法
JP2010056898A (ja) * 2008-08-28 2010-03-11 Hitachi Ltd 中継装置、中継方法
JP2012038213A (ja) * 2010-08-10 2012-02-23 Fujitsu Ltd 判定装置、判定方法及びコンピュータプログラム
JP2020126515A (ja) * 2019-02-06 2020-08-20 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8576712B2 (en) * 2006-05-31 2013-11-05 At&T Intellectual Property Ii, L.P. Method and apparatus for providing a reliable voice extensible markup language service
US8521860B2 (en) 2011-03-29 2013-08-27 Microsoft Corporation Providing a witness service
US9450875B1 (en) * 2011-09-23 2016-09-20 Google Inc. Cooperative fault tolerance and load balancing
US9443273B2 (en) * 2012-11-19 2016-09-13 Facebook, Inc. Authenticating a persona in a social networking system
US20140164477A1 (en) * 2012-12-06 2014-06-12 Gary M. Springer System and method for providing horizontal scaling of stateful applications
US9471594B1 (en) * 2013-09-30 2016-10-18 Emc Corporation Defect remediation within a system
TWI501092B (zh) 2013-11-19 2015-09-21 Synology Inc 伺服器群集之操作方法
US10110668B1 (en) * 2015-03-31 2018-10-23 Cisco Technology, Inc. System and method for monitoring service nodes
US10178627B2 (en) * 2015-12-17 2019-01-08 Qualcomm Incorporated Performance monitoring in mission-critical wireless networks
CN106060088B (zh) * 2016-07-26 2020-11-06 新华三技术有限公司 一种服务管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271371A (ja) * 2001-03-07 2002-09-20 Nec Corp ネットワークサーバおよびその制御方法
JP2004021873A (ja) * 2002-06-20 2004-01-22 Hitachi Ltd インターネットシステム監視装置
JP2005078563A (ja) * 2003-09-03 2005-03-24 Fuji Xerox Co Ltd 連携指示情報生成システム及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167537A (en) * 1997-09-22 2000-12-26 Hewlett-Packard Company Communications protocol for an automated testing system
US7236457B2 (en) * 2002-10-04 2007-06-26 Intel Corporation Load balancing in a network
US7315963B2 (en) * 2004-08-10 2008-01-01 International Business Machines Corporation System and method for detecting errors in a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271371A (ja) * 2001-03-07 2002-09-20 Nec Corp ネットワークサーバおよびその制御方法
JP2004021873A (ja) * 2002-06-20 2004-01-22 Hitachi Ltd インターネットシステム監視装置
JP2005078563A (ja) * 2003-09-03 2005-03-24 Fuji Xerox Co Ltd 連携指示情報生成システム及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Webアプリケーション・パーシスタンス・ETagに見る 負荷分散をめぐる諸問題", N+I NETWORK 2004年10月号, vol. 第4巻, 第10号, JPN6010005392, 26 August 2004 (2004-08-26), pages 83 - 87, ISSN: 0001529871 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177710A (ja) * 2007-01-17 2008-07-31 Nec Corp メディアサービスシステム、メディアサービス装置及びそれらに用いるlan冗長化方法
JP2010056898A (ja) * 2008-08-28 2010-03-11 Hitachi Ltd 中継装置、中継方法
JP2012038213A (ja) * 2010-08-10 2012-02-23 Fujitsu Ltd 判定装置、判定方法及びコンピュータプログラム
US8966060B2 (en) 2010-08-10 2015-02-24 Fujitsu Limited Determination apparatus and determination method to analyze traffic between a client device and a server group
JP2020126515A (ja) * 2019-02-06 2020-08-20 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム
JP7382720B2 (ja) 2019-02-06 2023-11-17 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20060221815A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
US6691165B1 (en) Distributed server cluster for controlling network traffic
US6801949B1 (en) Distributed server cluster with graphical user interface
US7299294B1 (en) Distributed traffic controller for network data
JP4087271B2 (ja) 代理応答装置およびネットワークシステム
US7554992B2 (en) Mobile device communications system and method
US7257817B2 (en) Virtual network with adaptive dispatcher
US9049241B2 (en) Peer discovery and secure communication in failover schemes
US7509424B2 (en) Load-balancing device and computer-readable recording medium in which load-balancing program is recorded
US7376743B1 (en) Method and apparatus for load balancing in a virtual private network
JP2006285377A (ja) 故障監視プログラム及び負荷分散装置
EP2112806B1 (en) Information collecting system
EP1987657B1 (en) Scalable wireless messaging system
US20060179150A1 (en) Client server model
US7957330B1 (en) Failsafe management of periodic communications during system upgrade for a network device
US20140188795A1 (en) Providing high availability in an active/active appliance cluster
US6882648B2 (en) Communication device
US11307945B2 (en) Methods and apparatus for detecting, eliminating and/or mitigating split brain occurrences in high availability systems
US9825855B2 (en) Information processing apparatus and route setting method
US6389550B1 (en) High availability protocol computing and method
WO2001035601A1 (en) Distributed traffic controlling system and method for network data
WO2000062502A2 (en) Distributed server cluster for controlling network traffic
JP2020521409A (ja) Netconfセッション状態の検出方法、装置及びコンピュータ読取可能な記録媒体
JP5381247B2 (ja) 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム
KR20210078115A (ko) 전화 교환 시스템의 메시지 전달 장치 및 방법
US7623464B2 (en) Rapid protocol failure detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110201