JP5557689B2 - ネットワークシステム - Google Patents

ネットワークシステム Download PDF

Info

Publication number
JP5557689B2
JP5557689B2 JP2010236982A JP2010236982A JP5557689B2 JP 5557689 B2 JP5557689 B2 JP 5557689B2 JP 2010236982 A JP2010236982 A JP 2010236982A JP 2010236982 A JP2010236982 A JP 2010236982A JP 5557689 B2 JP5557689 B2 JP 5557689B2
Authority
JP
Japan
Prior art keywords
server device
service providing
field
providing server
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.)
Expired - Fee Related
Application number
JP2010236982A
Other languages
English (en)
Other versions
JP2012090194A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010236982A priority Critical patent/JP5557689B2/ja
Priority to US13/216,112 priority patent/US8543692B2/en
Priority to EP20110178581 priority patent/EP2445173A2/en
Publication of JP2012090194A publication Critical patent/JP2012090194A/ja
Application granted granted Critical
Publication of JP5557689B2 publication Critical patent/JP5557689B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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

Landscapes

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

Description

本発明は、クライアント端末からのサービス要求に対し、安定したサービスを提供するネットワークシステムに関するものである。
IPネットワーク環境において、クライアント端末からサーバ装置への名前解決処理を行うためのドメインネームシステム(DNS)において、複数台存在しているサーバ装置を仮想的に1台のサーバであるかのようにクライアント端末に見せかけ、更にサーバの負荷分散を行う、DNSラウンドロビンと呼ばれる技術が存在する。
さらに、DNSラウンドロビン技術を発展させた技術としては、DNSサーバが、サーバ装置の負荷状態を監視し、負荷の軽いサーバ装置のIPアドレスを応答するといった、米国特許第7284051号公報に記載のDNSシステム技術がある(特許文献1)。
この公報には、「A relaying apparatus comprises a client terminal, many server terminals connected via network to the client terminal, a DNS responding device which accepts a DNS inquiry from the client terminal via a client-side DNS device, and one path load measuring device for each of the server terminals which measures a load in the communication path up to the client-side DNS device. The DNS responding device distributes a work load by routing a service request from the client terminal to any one of the server terminals based on the measurement result (i.e. route load). 」(abstract)と記載されている。
米国特許第7284051号公報
特許文献1が開示する技術は、クライアント端末からのサービス要求を複数台のサーバ装置に分散させる技術であり、クライアント端末からの名前解決要求時に、特に負荷の軽いサーバ装置のIPアドレスを応答することで、負荷を均等化させようとするものである。しかし、この技術では、サーバ装置が均等に高負荷になったり、そのために輻輳もしくはサービス不能な状態になった場合にも、サーバ装置にクライアント端末からのサービス要求が届いてしまい、ますます状況が悪化するという課題がある。
上記課題を解決するために、本明細書においては、例えば、ドメインネームシステム(DNS)サーバ装置と、一つ以上のサービス提供サーバ装置と、Sorryサーバ装置とがネットワークで接続され、クライアント端末に対し前記ネットワークを経由してサービス提供を行うネットワークシステムが開示される。
本明細書において開示されるDNSサーバ装置は、クライアント端末に対して、DNSサービス、即ち名前解決処理サービスを提供する。また、繰り返し、例えば定期的に、サービス提供サーバ装置の死活状態(すなわち、アクティブ状態/非アクティブ状態)の監視、及び負荷情報の収集を行い、名前解決処理時に、収集した死活状態及び負荷情報に応じて、どのサービス提供サーバ装置のIPアドレスを応答するかを決定する、という特徴を備える。
なお、サービス提供サーバ装置は、クライアント端末に対し、WebサービスやProxyサービスを提供するものであり、Sorryサーバ装置は、クライアント端末からHTTPアクセスを受信すると、要求されたサービスを提供できない旨を示すメッセージを応答するものである。
本明細書において開示されるDNSサーバ装置は、具体的には、名前解決処理の結果、該当するサービス提供サーバ装置がアクティブだが輻輳している場合、もしくは非アクティブの場合に、Sorryサーバ装置に割り付けられたIPアドレスを応答する手段を備えることを特徴とする。
また、本明細書において開示されるDNSサーバ装置は、具体的には、あるサーバ装置がアクティブ状態だが輻輳している場合や、もしくは非アクティブ状態の場合に、スタンバイ状態になっている別のサーバ装置に対し、起動するためのサーバ起動命令と、サービス用のIPアドレスを送信する、サーバ遠隔起動処理を備えることを特徴とする。
さらに、DNSサーバ装置は、サービス提供サーバ装置の代表ドメイン名ごとの情報を管理するサーバ情報管理テーブルを備え、サービス提供サーバ装置の死活状態監視処理と負荷情報収集処理とを繰り返し行うサーバ監視処理を行い、サーバ監視処理結果をサーバ情報管理テーブルに記録するように構成しても良く、
サービス提供サーバ装置は、DNSサーバ装置からの負荷情報収集要求に対して、自サーバ装置に設定されている仮想IPアドレス毎に、クライアント端末から接続されているTCP接続の接続数を応答する負荷情報応答処理を行うように構成しても良い。
DNSサーバ装置がSorryサーバ装置のIPアドレスを応答することで、サーバ装置が輻輳もしくはサービス不能な状態の場合に、それ以上サーバ装置に、新規に接続してくるクライアント端末からのアクセスを抑制する。これによりサーバ装置の更なる輻輳を回避することができる。
また、DNSサーバ装置は、サーバ装置が輻輳もしくはサービス不能な状態の場合に、スタンバイ状態のサーバ装置に対し、新しくサーバ処理を開始させ、新規に接続してくるクライアント端末からのアクセスを新サーバ装置に振り分けることで、トラフィックが急上昇した場合でも、ユーザに対して、サービスを停止させずに処理を継続することができる。
サーバ装置が輻輳もしくはサービス不能な状態になった場合であっても、更なる輻輳を回避したり、サービスを停止させずに処理を継続したり、することが可能になる。
本発明のネットワークシステムの構成例を示す図である。 DNSサーバ装置20のサーバ情報管理テーブル23の構成例を示す図である。 DNSサーバ装置20の死活状態監視処理を例示するフローチャートである。 DNSサーバ装置20の負荷情報収集処理を例示するフローチャートである。 DNSサーバ装置20のDNSサーバ処理を例示するフローチャートである。 DNSサーバ装置20のDNSサーバ処理の別の例を例示するフローチャートである。 DNSサーバ装置20のサーバ遠隔起動処理を例示するフローチャートである。 サーバ装置30のサーバ起動処理を例示するフローチャートである。 DNSサーバ装置20の死活状態監視処理の別の例を例示するフローチャートである。 DNSサーバ装置20の負荷情報収集処理の別の例を例示するフローチャートである。 各サーバ装置のハードウェア構成例を示す図である。
以下、実施例を、図面を用いて説明する。
図1は、本発明に関わるネットワークシステムの第1の構成例を示すブロック図である。
図1において、クライアント端末10、DNSサーバ装置20、一つ以上のサーバ装置30、及びSorryサーバ装置40は、それぞれLAN(Local Area Network)や無線ネットワークなどのネットワーク50に接続されており、ネットワーク50を経由して遠隔からの接続が可能な状態にある。
クライアント端末10は、HTTP(HyperText Transfer Protocol)などのTCP/IP上のプロトコルを用いてサーバ装置30に接続し、サービス要求を行うユーザ端末である。クライアント端末10は、サーバ装置30にアクセスする前に、DNSサーバ装置20に対して、DNSプロトコルを用いて、サーバ装置30の代表ドメイン名の名前解決要求を送信する。そして、その応答としてサーバ装置30のIPアドレスを受信する。
DNSサーバ装置20は、名前解決サービスを提供するサーバ装置である。
DNSサーバ装置20は、繰り返し(例えば定期的に)、サーバ装置30の死活状態の監視、及び負荷情報の収集を行う。そして、サーバ装置30の名前解決時に、サーバ装置30の死活状態及び負荷情報に応じて、どのIPアドレスを応答するかを決定する。また、サーバ装置30がアクティブだが輻輳している場合や、もしくは非アクティブの場合に、Sorryサーバ装置40に割り付けられたIPアドレスを応答する。
Sorryサーバ装置40は、クライアント端末10からHTTPアクセスを受信すると、常に、システムが輻輳に陥っている旨をユーザに知らせるメッセージを応答するサーバ装置である。本処理は、Sorryサーバ処理部41にて行う。前述のメッセージは、例えば「本サービスはただ今混雑しております。しばらく経ってから再度アクセスしてください。」というような文言である。
DNSサーバ装置20がSorryサーバ装置40のIPアドレスを応答することで、サーバ装置30が輻輳している場合に、それ以上サーバ装置30に、新規に接続してくるクライアント端末10からのアクセスを抑制する。
さらに、あるサーバ装置30がアクティブ状態だが輻輳している場合や、もしくは非アクティブ状態の場合に、スタンバイ状態になっている別のサーバ装置30に対し、新しくサーバを起動するためのサーバ起動命令と、サービス用のIPアドレスを送信する(サーバ遠隔起動処理)。これにより、高負荷時に動的にサーバ装置30の台数を増やし、サーバ装置30の1台当たりの負荷を軽減する。
ここで、アクティブ状態とは、サーバ装置を実現するコンピュータの電源がONになっており、かつサーバ装置を実現するプログラムも起動していて、サービスを提供できる状態のことを指す。
また、非アクティブ状態とは、サーバ装置を実現するコンピュータの電源がONになっていない状態か、もしくは、電源がONになっていてサーバ装置を実現するプログラムも起動しているが、コンピュータの故障や、プログラムの不具合などの理由によりサービスを提供できない状態のことを指す。
また、スタンバイ状態とは、サーバ装置を実現するコンピュータは起動しているが、サーバ装置を実現するプログラムが起動しておらずサービスを提供できない状態のことを指す。例えば、あるサーバ装置を、障害時のための予備用のため、コンピュータの電源ONの状態にしているが、あえてサーバ装置を実現するプログラムを起動させずにいるとき、そのサーバ装置はスタンバイ状態である。
DNSサーバ装置20の構成を具体的に説明する。
DNSサーバ装置20は、DNSサーバ処理部21と、サーバ監視処理部22と、サーバ情報管理テーブル23と、フリーIPアドレスプール24を備える。
DNSサーバ処理部21は、クライアント端末10から名前解決要求を受信すると、DNSサーバ処理を行う。サーバ監視処理部22は、繰り返し(例えば定期的に)、サーバ装置30の死活状態監視処理と負荷情報収集処理を行う。また、サーバ装置30の遠隔起動処理を行う。
サーバ情報管理テーブル23は、サーバ装置30の代表ドメイン名ごとの情報を管理するテーブルである。
サーバ情報管理テーブル23の構成について、図2を用いて説明する。サーバ情報管理テーブル23は、エントリ毎に、代表ドメイン名231と、ホスト名232と、IPアドレス233と、待受ポート234と、死活状態235と、負荷情報236と、最大接続制限値237とを管理する。
代表ドメイン名231は、クライアント端末10にとってアクセス先となるホスト名である。ホスト名231は、サーバ監視処理部22にとって、サーバ装置30を識別するためのホスト名情報である。IPアドレス233は、サーバ装置30に割り付けられた仮想IPアドレスである。仮想IPアドレスの割り付けは、後述のサーバ遠隔起動処理でDNSサーバ装置が行ってもよいし、システム運用者が手動で割り付けてもよい。
クライアント端末10は、この仮想IPアドレス宛てにアクセスする。待受ポート234は、サーバ装置30のサーバプロセスがクライアント端末10からのアクセスを待ち受けているTCPポート番号である。サーバプロセスによっては、UDPポート番号の場合もある。
死活状態235は、サーバ装置30がアクティブ(active)状態か、もしくは非アクティブ(inactive)状態か、もしくはスタンバイ(standby)状態か、のいずれかを示す情報である。ここで、DNSサーバ装置20起動時の、サーバ情報管理テーブル23における各エントリの死活状態235の初期状態は、設定ファイルで設定してもよい。例えば、設定ファイルにアクティブ状態のサーバ装置30のリストと、スタンバイ状態のサーバ装置30のリストを設定しておき、DNSサーバ装置20の起動時に、その設定ファイルを読み込み、サーバ情報管理テーブル23に反映しても良い。また、DNSサーバ装置20は、死活情報235がアクティブ(active)もしくは非アクティブ(inactive)となっているエントリを、管理者等が手動でスタンバイ(standby)に変更するためのコマンドを提供しても良い。
負荷情報236は、サーバ装置30の負荷を表す値である。ここでは、クライアント端末10からサーバ装置30に対して接続されているTCP接続の接続数としている。別の方法としては、CPU使用率などの負荷情報を用いてもよい。最大接続制限値237は、サーバ装置30の許容性能を表す値である。ここでは、クライアント端末10からサーバ装置30に対して接続を許容するTCP接続の(おおよその)接続数としている。この値は、設定値としてDNSサーバ装置20の起動時に与えられている。また、この値は条件に応じて動的に変化させても良い。
フリーIPアドレスプール24は、サーバ遠隔起動処理にて、サーバ装置30に仮想IPアドレスとして割り付けるためのIPアドレスを管理するための領域である。ここでは、単純にIPアドレスをリスト形式にて管理している、メモリ上の領域とする。また、その管理、たとえば、増減管理、はシステム運用者がIPアドレスのリストを手動で設定するなどの方法に依ってもよいし、管理機能を備えた専用のシステム管理ソフトウェアで行っても良い。
また、フリーIPアドレスプール24の各エントリは、使用状態フィールドを持つ。使用状態フィールドは、同じIPアドレスを複数のサーバ装置30に重複して割り付けることを防ぐためのフィールドである。サーバ監視処理部22は、使用状態フィールドに、「使用可能(available)」と「使用中(in use)」のどちらかの値を設定する。「使用可能(available)」という値は、あるIPアドレスがサーバ装置30に未割り当ての場合に、そのIPアドレスのエントリの使用状態フィールドに設定される。「使用中(in use)」という値は、あるIPアドレスがサーバ装置30に割り付けられた場合に、そのIPアドレスのエントリの使用状態フィールドに設定される。DNSサーバ装置20は、起動直後に、フリーIPアドレスプール24の全エントリの使用状態フィールドを「使用可能(available)」に初期化する。
クライアント端末10と、DNSサーバ装置20と、サーバ装置30と、Sorryサーバ装置40のハードウェア構成の例を図11に示す。
これらのサーバ装置は、CPU1001、主記憶装置1002、HDD等の外部記憶装置1005、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体1008から情報を読み出す読取装置1003、ディスプレイ、キーボードやマウスなどの入出力装置1006、ネットワーク50に接続するためのNIC(Network Interface Card)等の通信装置1004、及びそれらの装置間を接続するバス等の内部通信線1007を備えた一般的なコンピュータ1000により実現できる。
例えば、サーバ情報管理テーブル23は、主記憶装置1002の一部の領域を用いて実現する。
また、DNSサーバ装置20、サーバ装置30、及びSorryサーバ装置40は、それぞれの外部記憶装置1005に記憶されている各種プログラムを主記憶装置1002にロードしてCPU1001で実行し、通信装置1004を用いてネットワーク50に接続してクライアント端末10や他サーバ装置とのネットワーク通信を行うことで、本実施例における各種処理部と、それらによる各種処理を実現する。
ここで、サーバ監視処理部22が行う死活状態監視処理について、図3を用いて説明する。
まず、サーバ監視処理部22は、サーバ情報管理テーブル23のIPアドレス233及び待受ポート234及び死活状態235の情報に基づいて、死活状態235が「アクティブ(active)」もしくは「非アクティブ(inactive)」となっている各サーバ装置30の仮想IPアドレス及びポート番号に対して死活状態要求を送信する(ステップS01)。この要求は、例えば、リクエスト行が”GET /health-check.cgi HTTP/1.1”で始まるような、専用のHTTP要求メッセージであっても良いし、ダミーのサービス要求であっても良い。
次に、サーバ装置30からの死活状態応答待ち処理を行う(ステップS02)。この時、死活状態応答待ちタイマの設定も行う。
そして死活状態応答待ちタイマ時間内に死活状態要求に対する応答があるかどうかチェックする(ステップS03)。死活状態要求に対する応答は、例えば、アクティブ状態であれば、レスポンスステータスが”HTTP/1.1 200 OK”となっているようなHTTP応答である。また、非アクティブ状態であれば、それ以外のHTTPエラー応答や無応答である。サーバ装置30から死活状態要求に対する応答があれば、サーバ情報管理テーブル23の死活状態235を「アクティブ(active)」に更新する(ステップS04)。逆に、死活状態の応答がなければ、サーバ情報管理テーブル23の死活状態235を「非アクティブ(inactive)」に更新する(ステップS05)。
次に、サーバ監視処理部22が行う負荷情報収集処理について、図4を用いて説明する。
まず、サーバ監視処理部22は、サーバ情報管理テーブル23のホスト名232及び死活状態235の情報に基づいて、死活状態235が「アクティブ(active)」となっている各サーバ装置30に対して負荷情報要求を送信する(ステップS11)。この要求は、例えば、独自プロトコルによる要求メッセージである。次に、サーバ装置30からの負荷情報応答待ち処理を行う(ステップS12)。この時、負荷情報応答待ちタイマの設定も行う。
そして負荷情報応答待ちタイマ時間内に負荷情報の応答があるかどうかチェックする(ステップS13)。負荷情報の応答は、例えば、独自プロトコルによる応答メッセージであり、サーバ装置30が受信しているHTTP接続数の数などが記載されている。サーバ装置30から負荷情報の応答があれば、サーバ情報管理テーブル23の負荷情報236を、応答メッセージに記載されていたHTTP接続数の値に更新する(ステップS14)。逆に、負荷状態の応答がなければ、サーバ情報管理テーブル23の負荷情報236を「非アクティブ(inactive)」に更新し、負荷情報236を”0”に更新する(ステップS15)。
次に、DNSサーバ処理部21が行うDNSサーバ処理の一例について、図5を用いて説明する。
まず、クライアント端末10から名前解決要求を受信するまで待機する(ステップS21)。
名前解決要求を受信すると、名前解決要求対象の代表ドメイン名を検索キーとしてサーバ情報管理テーブル23を検索し、代表ドメイン名231が名前解決要求対象の代表ドメイン名と一致するエントリ情報を取得する(ステップS22)。
ここで、処理の一例として、サーバ情報管理テーブル23の先頭エントリから末尾エントリに向かって、一つずつ順番にエントリ情報を取得してもよい。
ステップS22でエントリ情報が取得できたならばステップS24に進む。取得できなければステップS27に進む(ステップS23)。ここで、取得できない場合とは、即ち、全エントリの検索が終了した場合である。
取得したエントリ情報の死活状態235が「アクティブ(active)」かどうかチェックする(ステップS24)。「アクティブ(active)」であればステップS25に進む。それ以外であればステップS22に戻り、次のエントリ情報を取得する。
ステップS25において、負荷情報236の値が最大接続制限値237以下かどうかチェックする。以下であればステップS26に進む。そうでなければステップS22に戻り、次のエントリ情報を取得する。
ステップS26において、DNSサーバ処理部21は、当該エントリのIPアドレス233の値をクライアント端末10に応答し、DNSサーバ処理を終了する。
ステップS23で、エントリ情報が取得できなければ、Sorryサーバ装置40のIPアドレスを応答する(ステップS27)。ここで、Sorryサーバ装置40のIPアドレスを、DNSサーバ装置20の外部記憶装置1005の中の設定ファイルに予め記述しておいて、DNSサーバ装置20は起動時にその設定ファイルを読み取って主記憶装置1002に保持しておき、ステップS27において、そのIPアドレスを応答しても良い。
次に、DNSサーバ処理部21が行うDNSサーバ処理の別の一例について、図6を用いて説明する。この例では、ステップS21ないしステップS27の処理内容については、図5での例と同じである。
ここで、ステップS23において、エントリ情報が取得できたならばステップS24に進み、図5と同様の処理を行う。取得できなければステップS31に進み、ステップS31〜S33において、死活状態が「スタンバイ(standby)」のエントリを探す。具体的な処理は、以下の通り。
サーバ情報管理テーブル23から任意のエントリ情報を取得する(ステップS31)。ここで、処理の一例として、サーバ情報管理テーブル23の先頭エントリから末尾エントリに向かって、一つずつ順番にエントリ情報を取得してもよい。
次に、ステップS31でエントリ情報が取得できたならばステップS33に進む。取得できなければステップS27に進む(ステップS32)。ここで、取得できない場合とは、即ち、全エントリの検索が終了したが、死活状態が「スタンバイ(standby)」のエントリが無かった場合である。
取得したエントリ情報の死活状態235が「スタンバイ(standby)」かどうかをチェックする(ステップS33)。「スタンバイ(standby)」であればステップS34に進む。それ以外であればステップS31に戻り、次のエントリ情報を取得する。
ステップS34では、サーバ遠隔起動処理を行う(詳細な処理内容は後述する)。
ステップS34において、サーバ遠隔起動処理が成功したならばステップS26に進む。失敗したならばステップS27に進む(ステップS35)。
ここで、DNSサーバ装置20のサーバ監視処理部22が行うステップS34のサーバ遠隔起動処理の処理内容の一例について、図7を用いて説明する。
当該サーバ遠隔起動処理は、サーバ監視処理部22が、サーバ情報管理テーブル23の死活状態235の情報が「スタンバイ(standby)」になっているサーバ装置30のいずれかに対し、新しくサーバ装置を起動する命令を発行する処理である。
まず、サーバ監視処理部22は、フリーIPアドレスプール24に、使用状態フィールドの値が「使用可能(available)」となっているIPアドレスが1個以上プールされているかをチェックする(ステップS41)。一つ以上の「使用可能(available)」状態のIPアドレスがあれば(S41でY)、サーバ情報管理テーブル23の死活状態235の情報が「スタンバイ(standby)」になっているいずれかのサーバ装置30のサーバ起動処理部33に対し、サーバ装置30のサーバ起動処理部33に対し、サーバ起動命令およびIPアドレスの値を送信し、フリーIPアドレスプール24における、送信したIPアドレスのエントリの使用状態フィールドを「使用中(in use)」に変更する(ステップS42)。
なお、スタンバイ状態のサーバ装置30が複数ある場合のサーバ装置30の選択方法の一例として、サーバ情報管理テーブル23において、死活状態235の情報が「スタンバイ(standby)」となっているエントリのうち、テーブルの先頭に最も近いエントリを選択する、という方法でもよい。
その後、サーバ装置30に対する起動確認応答待ち処理を行う(ステップS43)。この時、起動確認応答待ちタイマの設定も行う。そして、起動確認応答待ちタイマ時間内に起動確認応答があるかどうかチェックする(ステップS44)。
起動確認応答があれば(S44でY)処理成功とみなし、死活状態235の情報を「スタンバイ(standby)」から「アクティブ(active)」に変更し、本処理を終了する(ステップS45)。また、ステップS41でIPアドレスが無かった場合(S41でN)や、ステップS44でタイマ時間内に起動確認応答が無かった場合(S44でN)は処理失敗とみなし、システムログにエラーメッセージを出力し、本処理を終了する(ステップS46)。
次に、サーバ装置30は、クライアント端末10に対し、WebサービスやProxyサービスを提供するサーバプロセスが稼働する装置である。サーバ装置30は、HTTPサーバ処理部31と、負荷情報応答処理部32と、サーバ起動処理部33とを備える。HTTPサーバ処理部31は、クライアント端末10からHTTP要求を受信すると、HTTPサーバ処理を行う。負荷情報応答処理部32は、DNSサーバ装置20のサーバ監視処理部22からの負荷情報収集要求に対して、仮想IPアドレス毎に、クライアント端末10から接続されているTCP接続の接続数を応答する。別の方法としては、サーバ装置30のCPU使用率などの負荷情報を用いてもよい。サーバ起動処理部33は、DNSサーバ装置20からのサーバ起動命令に対し、サーバ起動処理を行う。
ここで、サーバ装置30のサーバ起動処理部33が行うサーバ起動処理について、図8を用いて説明する。
まず、サーバ起動処理部33は、DNSサーバ装置20のサーバ監視処理部22から、ステップS32にてサーバ起動命令およびIPアドレスが送信されるのを待ち受ける(ステップS51)。受信すると、HTTPサーバ処理部31を備えるサーバアプリケーションを起動する(ステップS52)。ここで、起動するサーバは、仮想マシン上で動作する仮想サーバでも良い。そして、サーバ起動後、ステップS51で受信したIPアドレスを、仮想IPアドレスとしてネットワークインタフェースに設定する(ステップS53)。最後に、DNSサーバ装置20に起動の確認応答を送信する(ステップS54)。
次に、サーバ監視処理部22が行う死活状態監視処理の別の一例について、図9を用いて説明する。この例では、ステップS01ないしステップS05の処理内容については、図3での例と同じである。また、ステップS31ないしステップS34の処理内容については、図6での例と同じである。
ステップS05で、死活状態235を「非アクティブ(inactive)」に変更後、サーバ遠隔起動処理を行い、スタンバイサーバを起動する。具体的には、ステップS05の処理を行った後、ステップS31の処理を行い、ステップS32に進み、エントリ情報を取得できれば、ステップS34のサーバ遠隔起動処理を行い、その後、死活状態監視処理を終了する。ステップS32において、エントリ情報を取得できなければ、単に死活状態監視処理を終了する。
次に、サーバ監視処理部22が行う負荷情報収集処理の別の一例について、図10を用いて説明する。この例では、ステップS11ないしステップS15の処理内容については、図4での例と同じである。また、ステップS31ないしステップS34の処理内容については、図6での例と同じである。
ステップS15で、死活状態235を「非アクティブ(inactive)」に変更後、サーバ遠隔起動処理を行い、スタンバイサーバを起動する。具体的には、ステップS15の処理を行った後、ステップS31の処理を行い、ステップS32に進み、エントリ情報を取得できれば、ステップS34のサーバ遠隔起動処理を行い、その後、負荷情報収集処理を終了する。ステップS32において、エントリ情報を取得できなければ、単に負荷情報収集処理を終了する。
なお、本発明は、上記実施形態に限定されず、種々の変形や応用が可能である。
10:クライアント端末
20:DNSサーバ装置
21:DNSサーバ処理部
22:サーバ監視処理部
23:サーバ情報管理テーブル
24:フリーIPアドレスプール
30:サーバ装置
31:HTTPサーバ処理部
32:負荷情報応答処理部
33:サーバ起動処理部
40:Sorryサーバ装置
41:Sorryサーバ処理部
50:ネットワーク
231:代表ドメイン名
232:ホスト名
233:IPアドレス
234:待受ポート
235:死活状態
236:負荷情報
237:最大接続制限値
1000:コンピュータ
1001:CPU
1002:主記憶装置
1003:読取装置
1004:通信装置
1005:外部記憶装置
1006:入出力装置
1007:内部通信線
1008:可搬記憶媒体

Claims (7)

  1. クライアント端末から名前解決要求を受信すると、ドメインネームシステム(DNS)サーバ処理を行い、前記クライアント端末へDNSサーバ処理結果を送信するDNSサーバ装置と、前記クライアント端末に対しサービス提供を行う一つ以上のサービス提供サーバ装置と、を備えるネットワークシステムにおいて、
    前記クライアント端末からHTTPアクセスを受信すると、サービスを提供できない状態にある旨を示すメッセージを応答するSorryサーバ装置を備え、
    前記DNSサーバ装置は、前記DNSサーバ処理として、
    各々の前記サービス提供サーバ装置に対して、アクティブ、または、非アクティブ、または、スタンバイ状態の監視処理、及び負荷情報の収集処理、を繰り返し行い、
    前記DNSサーバ処理において、
    前記名前解決要求の対象の代表ドメイン名に対応する前記サービス提供サーバ装置のうち、アクティブ状態でかつ負荷が制限値以下となっている前記サービス提供サーバ装置がある場合は、いずれかの当該サービス提供サーバ装置のIPアドレスを前記クライアント端末に応答し、
    アクティブ状態でかつ負荷が制限値以下のサービス提供サーバ装置がない場合で、スタンバイ状態になっている他の前記サービス提供サーバ装置がある場合は、前記他のサービス提供サーバ装置のプログラム起動処理を行い、前記プログラム起動処理に成功した場合は、プログラム起動した前記他のサービス提供サーバ装置のIPアドレスを前記クライアント端末に応答し、
    スタンバイ状態になっている他の前記サービス提供サーバ装置がない場合と、他の前記サービス提供サーバ装置のプログラム起動に失敗した場合、は前記Sorryサーバに割り付けられたIPアドレスを前記クライアント端末に応答する
    ことを特徴とするネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記DNSサーバ装置は、
    前記サービス提供サーバ装置の代表ドメイン名ごとの情報を管理するサーバ情報管理テーブルを備え、
    前記サービス提供サーバ装置のアクティブ、または、非アクティブ、または、スタンバイ状態の監視処理と負荷情報収集処理とを繰り返し行うサーバ監視処理を行い、
    前記サーバ監視処理結果を前記サーバ情報管理テーブルに記録し、
    前記サービス提供サーバ装置は、前記DNSサーバ装置の前記負荷情報の収集処理における負荷情報収集要求に対して、自サーバに設定されている仮想IPアドレス毎に、前記クライアント端末から接続されているTCP接続の接続数を応答する負荷情報応答処理を行う
    ことを特徴とするネットワークシステム。
  3. 請求項2に記載のネットワークシステムであって、
    前記サーバ情報管理テーブルは、エントリ毎に、IPアドレスフィールドと、待受ポートフィールドと、アクティブ、または、非アクティブ、または、スタンバイ状態を示す死活状態フィールドと、を備え、
    前記IPアドレスフィールドは、前記サービス提供サーバ装置に仮想IPアドレスとして割り付けられたIPアドレスを管理するフィールドであり、
    前記待受ポートフィールドは、前記サービス提供サーバ装置が前記クライアント端末からのアクセスを待ち受けているTCPもしくはUDPポート番号を格納するフィールドであり、
    前記死活状態フィールドは、前記サービス提供サーバ装置がアクティブ状態か、もしくは非アクティブ状態か、もしくはスタンバイ状態か、を示す情報を格納するフィールドであり、
    前記DNSサーバ装置は、前記アクティブ、または、非アクティブ、または、スタンバイ状態の監視処理において、
    前記サーバ情報管理テーブルの前記IPアドレスフィールド及び前記待受ポートフィールド及び前記死活状態フィールドの情報に基づいて、前記死活状態フィールドの値が「アクティブ」もしくは「非アクティブ」となっている前記サービス提供サーバ装置の仮想IPアドレス及びポート番号に対して死活状態要求を送信し、
    タイマ監視しながら、前記サービス提供サーバ装置から、前記死活状態要求への応答待ち処理を行い、
    タイマ時間内に、前記サービス提供サーバ装置から前記死活状態要求への応答があれば、前記サーバ情報管理テーブルの前記死活状態フィールドを「アクティブ」に更新し、前記応答がなければ、前記死活状態フィールドを「非アクティブ」に更新する
    ことを特徴とするネットワークシステム。
  4. 請求項3に記載のネットワークシステムであって、
    前記サーバ情報管理テーブルは、エントリ毎に、ホスト名フィールドと、負荷情報フィールドと、を備え、
    前記ホスト名フィールドは、前記サーバ監視処理において前記サービス提供サーバ装置を識別するためのホスト名情報を格納するフィールドであり、
    前記負荷情報フィールドは、前記サービス提供サーバ装置の負荷を表す値として、前記クライアント端末から前記サービス提供サーバ装置に対して接続されているTCP接続の接続数を格納するフィールドであり、
    前記DNSサーバ装置は、前記負荷情報収集処理において、
    前記サーバ情報管理テーブルの前記ホスト名フィールド及び前記死活状態フィールドの情報に基づいて、前記死活状態フィールドの値が「アクティブ」となっている前記サービス提供サーバ装置に対して前記負荷情報収集要求を送信し、
    タイマ監視しながら、前記サービス提供サーバ装置から、前記負荷情報収集要求への応答待ち処理を行い、
    タイマ時間内に、前記サービス提供サーバ装置から前記負荷情報収集要求への応答があれば、前記サーバ情報管理テーブルの前記負荷情報フィールドを、前記応答に含まれているHTTP接続数の値に更新し、前記応答がなければ、前記死活状態フィールドを「非アクティブ」に更新する
    ことを特徴とするネットワークシステム。
  5. 請求項4に記載のネットワークシステムであって、
    前記サーバ情報管理テーブルは、エントリ毎に、代表ドメイン名フィールドと、最大接続制限値フィールドと、を備え、
    前記代表ドメイン名フィールドは、前記クライアント端末にとってアクセス先となるホスト名を格納するフィールドであり、
    前記最大接続制限値フィールドは、前記サービス提供サーバ装置の許容性能を表す値として、前記クライアント端末から前記サービス提供サーバ装置に対して接続を許容するTCPもしくはUDP接続数を格納するフィールドである
    ことを特徴とするネットワークシステム。
  6. 請求項5に記載のネットワークシステムであって、
    前記DNSサーバ装置は、
    前記サービス提供サーバ装置に割り当てるためのIPアドレスの状態を管理し、
    他の前記サービス提供サーバ装置の前記プログラム起動処理において、
    使用可能なIPアドレスがあれば、スタンバイ状態にある前記サービス提供サーバ装置に、当該使用可能なIPアドレスを割り当てる
    ことを特徴とするネットワークシステム。
  7. 請求項6に記載のネットワークシステムであって、
    前記サービス提供サーバ装置は、
    前記プログラム起動後に、前記割り当てられたIPアドレスを、自装置に設定して、前記DNSサーバ装置へ起動確認応答を送信し、
    前記DNSサーバ装置は、
    予め定めた時間内の前記起動確認応答の有無により、前記プログラム起動処理の前記成功または前記失敗を判断する
    ことを特徴とするネットワークシステム。
JP2010236982A 2010-10-22 2010-10-22 ネットワークシステム Expired - Fee Related JP5557689B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010236982A JP5557689B2 (ja) 2010-10-22 2010-10-22 ネットワークシステム
US13/216,112 US8543692B2 (en) 2010-10-22 2011-08-23 Network system
EP20110178581 EP2445173A2 (en) 2010-10-22 2011-08-24 Network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010236982A JP5557689B2 (ja) 2010-10-22 2010-10-22 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2012090194A JP2012090194A (ja) 2012-05-10
JP5557689B2 true JP5557689B2 (ja) 2014-07-23

Family

ID=44534006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010236982A Expired - Fee Related JP5557689B2 (ja) 2010-10-22 2010-10-22 ネットワークシステム

Country Status (3)

Country Link
US (1) US8543692B2 (ja)
EP (1) EP2445173A2 (ja)
JP (1) JP5557689B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018515A (ja) * 2010-07-07 2012-01-26 Fujitsu Ltd 情報処理装置,制御方法,制御プログラム
JP2013090072A (ja) 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
JP5624973B2 (ja) * 2011-11-04 2014-11-12 株式会社日立製作所 フィルタリング装置
US9788228B2 (en) * 2012-04-18 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Mobile data collection in a wireless sensing network
CN103428310B (zh) * 2013-08-15 2016-08-24 网宿科技股份有限公司 基于虚拟ip的非http域名引导系统和方法
US9923959B2 (en) 2014-06-05 2018-03-20 Microsoft Technology Licensing, Llc Load balancing with layered edge servers
US9400654B2 (en) * 2014-06-27 2016-07-26 Freescale Semiconductor, Inc. System on a chip with managing processor and method therefor
GB2546800B (en) * 2016-01-29 2020-08-05 Tectonic Interactive Ltd System and method for managing communication sessions between clients and a server
CN111052092B (zh) * 2017-09-06 2024-03-29 日本电气株式会社 集群系统、集群系统控制方法、服务器设备、控制方法和存储程序的非暂时性计算机可读介质
US10608942B1 (en) * 2017-11-30 2020-03-31 Amazon Technologies, Inc. Reducing routes based on network traffic utilization
JP6597823B2 (ja) 2018-03-23 2019-10-30 日本電気株式会社 ロードバランシング装置、通信システム、制御方法及びプログラム
US11245750B2 (en) * 2019-02-16 2022-02-08 International Business Machines Corporation File server load balancing
US11063882B2 (en) * 2019-08-07 2021-07-13 International Business Machines Corporation Resource allocation for data integration
CN110995542B (zh) * 2019-12-16 2022-04-22 金蝶智慧科技(深圳)有限公司 一种网络状态检测方法、系统及相关设备
CN110995890B (zh) * 2020-03-03 2020-10-16 北京安博通科技股份有限公司 域名请求的调度方法及装置
US11196665B1 (en) 2020-11-12 2021-12-07 Sap Se Routing application calls
WO2022190387A1 (ja) * 2021-03-12 2022-09-15 楽天モバイル株式会社 管理システム及び管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196677A (ja) * 1998-12-28 2000-07-14 Fujitsu Ltd ネットワ―クシステムに用いられる中継装置
JP2002111713A (ja) * 2000-09-28 2002-04-12 Toshiba Corp ネットワークシステム、ネームサーバ、サーバ、およびネットワークシステムのip通信方法
US7373500B2 (en) * 2003-04-15 2008-05-13 Sun Microsystems, Inc. Secure network processing
JP4512192B2 (ja) * 2005-02-09 2010-07-28 株式会社日立製作所 輻輳制御装置、および、ネットワークの輻輳制御方法
JP2008104027A (ja) * 2006-10-19 2008-05-01 Fujitsu Ltd パケット情報収集装置およびパケット情報収集プログラム
US20080291916A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
JP5029176B2 (ja) * 2007-07-04 2012-09-19 凸版印刷株式会社 負荷分散装置及び負荷分散方法
JP5074290B2 (ja) * 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
JPWO2011070734A1 (ja) * 2009-12-07 2013-04-22 パナソニック株式会社 フォーマット変換サーバー、再生装置及び情報再生システム

Also Published As

Publication number Publication date
JP2012090194A (ja) 2012-05-10
EP2445173A2 (en) 2012-04-25
US8543692B2 (en) 2013-09-24
US20120102192A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
JP5557689B2 (ja) ネットワークシステム
JP3980596B2 (ja) サーバを遠隔かつ動的に構成する方法およびシステム
KR100830413B1 (ko) 클라이언트용 서버 접속 시스템과 그를 포함하는 로드밸런싱 네트워크 시스템
US8635265B2 (en) Communicating between a server and clients
JP4311636B2 (ja) 記憶装置を複数の計算機で共用する計算機システム
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
JP5724687B2 (ja) 情報処理装置、サーバ選択方法、及びプログラム
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
US9967412B2 (en) Information processing apparatus, system, and control method for information processing apparatus
JP5749812B2 (ja) マルチコアプラットフォーム用のdnsプロキシサービス
JP3153129B2 (ja) サーバ選択方式
JP5287623B2 (ja) 仮想サーバ管理システム、画像処理システム、仮想サーバ管理装置及び制御プログラム
JP5544521B2 (ja) 状態管理方法、処理装置、および状態管理プログラム
JPWO2009034994A1 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
JP2008304982A (ja) 情報の管理方法及び情報処理装置
JP2010193015A (ja) 通信装置およびその通信方法
JP2015111330A (ja) 端末装置、通信システム及び通信プログラム
JPH11232233A (ja) ネットワークコンピュータ管理方法及びネットワークコンピュータシステム
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
JP4532238B2 (ja) オンデマンドサービス提供システム
CN111711569A (zh) 企业分布式应用中实现请求动态路由的系统及其方法
JP2002049602A (ja) 検索システム
JP6643706B2 (ja) 配布履歴管理プログラム、配布履歴管理装置および配布履歴管理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140603

LAPS Cancellation because of no payment of annual fees