JP4190455B2 - 負荷分散装置及びプログラム - Google Patents

負荷分散装置及びプログラム Download PDF

Info

Publication number
JP4190455B2
JP4190455B2 JP2004140662A JP2004140662A JP4190455B2 JP 4190455 B2 JP4190455 B2 JP 4190455B2 JP 2004140662 A JP2004140662 A JP 2004140662A JP 2004140662 A JP2004140662 A JP 2004140662A JP 4190455 B2 JP4190455 B2 JP 4190455B2
Authority
JP
Japan
Prior art keywords
server
connection
user terminal
load
determined
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 - Lifetime
Application number
JP2004140662A
Other languages
English (en)
Other versions
JP2005322107A (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.)
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 JP2004140662A priority Critical patent/JP4190455B2/ja
Priority to US10/945,204 priority patent/US7437461B2/en
Publication of JP2005322107A publication Critical patent/JP2005322107A/ja
Application granted granted Critical
Publication of JP4190455B2 publication Critical patent/JP4190455B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • 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/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

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

Description

本発明は、負荷分散処理技術に関するものである。
一般的に、サーバ負荷分散装置(以下、負荷分散装置と略す)を利用したシステムでは、パーソナル・コンピュータや携帯電話機等のユーザ端末からのコネクションを負荷分散装置で終端し、サーバの負荷状況等に基づき適切なサーバを選択して処理を割り当てることにより、サーバの負荷を分散する。その際、負荷分散装置は、ユーザ端末側のコネクションとサーバ側のコネクションとを個別に対応付け、データを保持している。負荷分散装置は、ユーザ端末からリクエスト・データを受信すると、送信元のユーザ端末に対応付けられているサーバに、受信したリクエスト・データを転送する。一方、負荷分散装置は、サーバからレスポンス・データを受信すると、送信元のサーバに対応付けられているユーザ端末に、受信したレスポンス・データを転送する。
また、負荷分散装置は、サーバの状態を監視しているので、ユーザ端末とのコネクション確立時点においてサーバの異常を検知していれば、当該サーバを負荷分散対象から除外する。一方、既にユーザ端末とのコネクションが確立している状態においてサーバに異常が発生した場合、当該サーバに対応付けられているユーザ端末側のコネクションを切断する。そのため、異常が発生したサーバに対応付けられていたユーザ端末では通信異常が発生することになり、例えば一連の処理が途中まで進んでいたとしても、初めからやり直す必要が生じる。
例えば、特開平7−240756号公報は、特定の通信経路に異常が発生した場合においても、代替経路を用いることによりコネクションを継続可能とする技術を開示している。すなわち、システムAとシステムBとの間で経路aによりコネクションが確立されている場合、システムAは、経路aに異常が発生したことを検出すると、経路bを介してシステムBに経路変更要求を送信する。システムBは、経路bを使用することが可能であれば、経路bを介してシステムAに経路変更応答を返信する。システムAは、経路変更要求の送信経路と経路変更応答の受信経路が同じであれば、経路bを介してシステムBに経路変更確認を送信する。このようにして、経路bによりコネクションが継続される。
特開平7−240756号公報
しかしながら、負荷分散装置を用いたシステムにおいては、ユーザ端末とサーバとは、互いに相手側のアドレスを認識することなく通信するため、上で述べた従来技術を負荷分散装置を用いたシステムにそのまま適用するのは困難である。また、負荷分散装置を用いたシステムにおいて、ユーザ端末とサーバとの間の個々のコネクションについて代替経路を設定しておくのも適切ではない。
従って、本発明の目的は、サーバ異常による影響を抑えるための負荷分散装置に関連する技術を提供することである。
本発明に係る負荷分散方法は、複数のサーバのいずれかにユーザ端末からの処理要求を転送する負荷分散方法であって、複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として第1のサーバ以外の第2のサーバを複数のサーバから選択するステップと、処理要求の転送先が第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納するステップとを含む。
これにより、異常が発生した第1のサーバに対応付けられていたユーザ端末からの処理要求は、他の正常な第2のサーバに転送されるようになる。例えば、第1のサーバと第2のサーバとの間で処理状態に関する情報を共有していれば、一連の処理の途中でサーバが切り替わったとしても、継続して処理を進めていくことができる。すなわち、サーバ異常による影響を抑えることができるようになる。
また、上記転送ルートが、第2のサーバへの新規なコネクションであってもよい。すなわち、負荷分散装置から第2のサーバへの新規なコネクションを確立し、ユーザ端末からの処理要求を第2のサーバへ転送するようにしてもよい。
また、上記転送ルートが、第2のサーバへの既存且つ使用中のコネクションであってもよい。すなわち、負荷分散装置から第2のサーバへの既存且つ使用中のコネクションを利用し、ユーザ端末からの処理要求を第2のサーバへ転送するようにしてもよい。なお、負荷分散装置から第2のサーバへの既存且つ未使用のコネクションを利用し、ユーザ端末からの処理要求を第2のサーバへ転送するようにしてもよい。
また、本発明に係る負荷分散方法が、複数のサーバの負荷状況を判定するステップをさらに含み、上記所定のルールが、第2のサーバの負荷が所定の基準より高いと判定された場合には、第2のサーバへの既存且つ使用中の第1のコネクションを、転送ルートとして決定し、第2のサーバの負荷が所定の基準より低く、且つ第2のサーバへの既存且つ未使用の第2のコネクションが存在すると判定された場合には、第2のコネクションを、転送ルートとして決定し、第2のサーバの負荷が所定の基準より低く、且つ第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、第2のサーバへの新規なコネクションを、転送ルートとして決定するルールであってもよい。
これにより、コネクション再設定方法が適切に選択される。すなわち、第2のサーバの負荷が所定の基準より高い場合には、利用するコネクションの数を増やすのは適切ではないため、既存且つ使用中のコネクションを利用する。また、第2のサーバの負荷が所定の基準より低い場合には、第2のサーバへの既存且つ未使用のコネクションが存在すればそのような空きコネクションを利用し、そのような空きコネクションがなければ、新規のコネクションを利用する。このようにすることにより、サーバ資源を適切に使用することができる。
なお、本発明に係る方法をプロセッサに実行させるためのプログラムを作成することも可能であって、このようなプロセッサを含む装置と当該プログラムとにより負荷分散装置が構成される。また当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してデジタル信号として配信される場合もある。なお、処理途中のデータについては、メモリ等の記憶装置に一時保管される。
本発明によれば、サーバ異常による影響を抑えることができるようになる。
本発明の一実施の形態に係るシステム構成を図1に示す。例えばインターネットであるネットワーク1には、負荷分散装置100と、例えばウェブ(Web)ブラウザ機能を備えたパーソナル・コンピュータであるユーザ端末3、ユーザ端末7、ユーザ端末9及びユーザ端末11とが、無線又は有線により接続されている。なお、ユーザ端末の台数はここで示した4台に限られない。また、ユーザ端末が、Webブラウザ機能を備えた携帯情報端末や携帯電話機等、パーソナル・コンピュータ以外の機器である場合もある。
負荷分散装置100は、ネットワーク1に接続されている一方で、サーバ・センタ内のLAN(Local Area Network)50にも無線又は有線により接続されている。LAN50には、負荷分散装置100の他に、Webサーバ51、Webサーバ53、Webサーバ55及びデータベース(DB)サーバ57が無線又は有線により接続されている。なお、Webサーバの台数はここで示した3台に限られない。また、DBサーバ57には、トランザクション管理DB59が接続されている。トランザクション管理DB59には、各Webサーバが行った処理に関するデータが格納され、各Webサーバが参照することができるようになっている。
負荷分散装置100には、サーバ監視部110とコネクション管理部120と中継処理部130とサーバ状態格納部140と再設定方法格納部150とコネクション管理テーブル160とが含まれている。サーバ監視部110は、所定の間隔又は任意のタイミングでWebサーバ51、Webサーバ53及びWebサーバ55の状態チェックを行い、チェック結果をサーバ状態格納部140に格納する。なお、状態チェックには、正常か異常かのチェックの他に、各Webサーバの負荷状況のチェックも含まれる。また、サーバ監視部110は、いずれかのWebサーバの異常を検出した場合、異常が検出されたWebサーバに関するデータ(例えばIPアドレス)をコネクション管理部120に出力する。
コネクション管理部120は、サーバ状態格納部140と再設定方法格納部150とコネクション管理テーブル160とを参照してユーザ端末とWebサーバとを対応付けるための処理を行い、コネクション管理テーブル160にデータを登録する。再設定方法格納部150には、サーバ異常を検出した後の処理におけるコネクション再設定方法が予め決まっている場合には、そのコネクション再設定方法が登録されている。再設定方法格納部150にデータが登録されていない場合には、コネクション管理部120がコネクション再設定方法を選択する。本実施の形態においてコネクション再設定方法は例えば3種類の方法から選択される。コネクション再設定方法の各々についての説明は以下で詳述する。また、コネクション管理部120は、ユーザ端末からの処理要求データを受信すると、必要に応じてコネクション管理テーブル160にデータを登録し、中継処理部130に処理の開始を指示するデータを出力する。
中継処理部130は、コネクション管理テーブル160を参照してデータの中継処理を行う。すなわち、ユーザ端末(ユーザ端末3、ユーザ端末7、ユーザ端末9及びユーザ端末11のいずれか)からの処理要求データを、コネクション管理テーブル160に格納されているデータに従って特定されるWebサーバ(Webサーバ51、Webサーバ53及びWebサーバ55のいずれか)に転送する。また、Webサーバ(Webサーバ51、Webサーバ53及びWebサーバ55のいずれか)からの応答データを、コネクション管理テーブル160に格納されているデータに従って特定されるユーザ端末(ユーザ端末3、ユーザ端末7、ユーザ端末9及びユーザ端末11のいずれか)に転送する。
なお、1台のWebサーバに複数台のユーザ端末が対応付けられている場合には、FIFO(First In First Out)の方式に従い、ユーザ端末から処理要求を受信した順番でWebサーバからの応答データをユーザ端末に返信する。HTTP(HyperText Transfer Protocol)では処理の順序が保証されているため、このようにすると正しく中継処理を行うことができる。例えば、ユーザ端末3及びユーザ端末7がWebサーバ51に対応付けられている場合、中継処理部130は、始めにユーザ端末3から、次にユーザ端末7からという順番で処理要求を受信すると、始めにユーザ端末3からの処理要求をWebサーバ51に転送し、次にユーザ端末7からの処理要求をWebサーバ51に転送する。このようにすると、Webサーバ51からは、始めにユーザ端末3の処理要求に対応する応答データが送信され、次にユーザ端末7の処理要求に対応する応答データが送信される。従って、中継処理部130は、先に受信する応答データをユーザ端末3に転送し、次に受信する応答データをユーザ端末7に転送すれば、適切な転送処理を行うことができる。なお、順番を保持しておくための管理テーブル等を用いる場合もある。また、転送するデータの内容(例えばヘッダのデータ)から転送先のユーザ端末を特定することもある。
図2Aに、第1のコネクション概念図を示す。なお、図1と同様の構成要素については同一の符号を付してある。図2Aは、負荷分散装置100からWebサーバ51へのコネクション511にユーザ端末3からのコネクションが対応付けられ、コネクション512にユーザ端末7からのコネクションが対応付けられている様子を示している。同様に、負荷分散装置100からWebサーバ53へのコネクション531にユーザ端末9からのコネクションが対応付けられ、負荷分散装置100からWebサーバ55へのコネクション551にユーザ端末11からのコネクションが対応付けられている様子を示している。
このような状態の場合、コネクション管理テーブル160には、例えば図3Aに示すようなデータが格納されている。図3Aの例には、ユーザ端末IPアドレスの列300とユーザ端末ポート番号の列302と負荷分散装置第1アドレスの列304と負荷分散装置第1ポート番号の列306と負荷分散装置第2アドレスの列308と負荷分散装置第2ポート番号の列310とサーバIPアドレスの列312とサーバ・ポート番号の列314とが含まれている。なお、負荷分散装置第1アドレス及び負荷分散装置第1ポート番号とは、負荷分散装置100においてユーザ端末に公開しているIPアドレス及びポート番号である。また、負荷分散装置第2アドレス及び負荷分散装置第2ポート番号とは、負荷分散装置100においてWebサーバに公開しているIPアドレス及びポート番号である。図3Aの例では、負荷分散装置第2アドレスの列308の各行には異なるIPアドレスが登録されているが、コネクションの識別はポート番号(負荷分散装置第2ポート番号の列310の値)によって可能であるため、負荷分散装置第2アドレスの列308の各行に同一のIPアドレスが登録されている場合もある。また、共通で用いられるIPアドレスについてはコネクション管理テーブル160には登録せず、別途管理するような場合もある。
負荷分散装置100は、複数のWebサーバがあたかも1つであるようにユーザ端末に見せるため、「Xs」というIPアドレスを有している。各ユーザ端末は、この「Xs」という1つのIPアドレス宛てに例えば処理要求を送信する。負荷分散装置100のコネクション管理部120は、例えばWebサーバの負荷状況に応じて適切なWebサーバを選択し、ユーザ端末側のコネクションとWebサーバ側のコネクションとを対応付けて、図3Aに示したようなデータを登録する。すなわち、各ユーザ端末は「Xs」という1つの宛先IPアドレスを用いて通信を行うが、実際には、ユーザ端末3及びユーザ端末7から要求された処理はWebサーバ51が行い、ユーザ端末9から要求された処理はWebサーバ53が行い、ユーザ端末11から要求された処理はWebサーバ55が行うというように、負荷分散がなされている(図2A)。なお、負荷分散におけるWebサーバの選択方法には、ラウンドロビンや静的な重み付け、最小コネクション数、最小クライアント数、最小データ通信量、最小応答時間、最小CPU負荷率、最小メモリ使用率、最小ディスク負荷率等、様々な方法があるが、いずれの方法を用いてもよい。また、このようにして負荷分散を行うこと自体は従来技術であるため、詳細な説明は省略する。
また、負荷分散装置100のユーザ端末側の通信ポートには「Xp」というポート番号が設定されている。インターネットを介した通信において、実際のデータの送受信はIPアドレスとポートとを組み合わせたソケット単位で行われる。すなわち、負荷分散装置100は、いずれのユーザ端末との通信においても共通のIPアドレス及びポートを使用するようになっている。
図2Bに、第2のコネクション概念図を示す。図2Bには、例えば図2Aに示したようなコネクション状態においてWebサーバ51に異常が検出され、サーバ側のコネクションが設定し直された場合のコネクション概念図が示されている。なお、図2Aと同様の構成要素については同一の符号を付してある。
図2Bは、負荷分散装置100からWebサーバ53への新規なコネクション532にユーザ端末3からのコネクションが対応付けられ、負荷分散装置100からWebサーバ55への新規なコネクション552にユーザ端末7からのコネクションが対応付けられている様子を示している。なお、図2Aに示されていたコネクション511及びコネクション512のデータは、Webサーバ51に異常が発生したことにより消失している。このように、異常が検出されたWebサーバ51に対応付けられていたユーザ端末3及びユーザ端末7からのコネクションを、他のWebサーバへのコネクションに対応付けることにより、サーバ異常による影響をユーザ端末に及ぼさないようにすることができる。
なお、従来技術ではこのような対応付け処理がなされないため、異常が検出されたWebサーバ51に対応付けられていたユーザ端末3及びユーザ端末7は、例えば一連の処理を継続することができなくなる。すなわち、コネクション管理テーブル160に格納されているデータが図3Bに示したように更新されてしまうため、ユーザ端末3及びユーザ端末7は、新規のユーザ端末として取り扱われることになる。なお、図3Bでは、図3Aの1行目及び2行目、すなわち、ユーザ端末3及びユーザ端末7に関するレコードが削除されてしまっている。
一方、図2Bに示したような状態の場合、コネクション管理テーブル160には、例えば図3Cに示すようなデータが格納されている。すなわち、太枠部分が図3Aから自動的に更新されており、ユーザ端末3及びユーザ端末7に関するレコードは削除されていない。更新内容としては、負荷分散装置第2アドレスの列308と負荷分散装置第2ポート番号の列310とに新しい値が登録されており、サーバIPアドレスの列312とサーバ・ポート番号の列314とには、1行目にはWebサーバ53のIPアドレス及びポート番号が、2行目にはWebサーバ55のIPアドレス及びポート番号が登録されている。負荷分散装置第2アドレスの列308と負荷分散装置第2ポート番号の列310とに新しい値が登録されているということは、図2Bにおいて新規のコネクション532及び552が確立されたことを意味している。
図2Cに、第3のコネクション概念図を示す。図2Cには、例えば図2Aに示したようなコネクション状態においてWebサーバ51に異常が検出され、サーバ側のコネクションが設定し直された場合のコネクション概念図が示されている。なお、図2Aと同様の構成要素については同一の符号を付してある。
図2Cは、負荷分散装置100からWebサーバ53への既存のコネクション531にユーザ端末3からのコネクションが対応付けられ、負荷分散装置100からWebサーバ55への既存のコネクション551にユーザ端末7からのコネクションが対応付けられている様子を示している。なお、図2Aに示されていたコネクション511及びコネクション512のデータは、Webサーバ51に異常が発生したことにより消失している。このように、異常が検出されたWebサーバ51に対応付けられていたユーザ端末3及びユーザ端末7からのコネクションを、他のWebサーバへの既存且つ使用中のコネクションに対応付けることにより、サーバ異常による影響をユーザ端末に及ぼさないようにすることができる。
図2Cに示したような状態の場合、コネクション管理テーブル160には、例えば図3Dに示すようなデータが格納されている。すなわち、太枠部分が図3Aから自動的に更新されており、ユーザ端末3及びユーザ端末7に関するレコードは削除されていない。更新内容としては、3行目と同じデータが1行目に、4行目と同じデータが2行目に登録されている。3行目のレコードはユーザ端末9に関するレコードであり、ユーザ端末3に関する1行目のレコードに3行目と同じデータが登録されるということは、ユーザ端末9に対応付けられていたコネクションと同じコネクションに、ユーザ端末3が対応付けられたことを表している。同様に、2行目の更新内容は、ユーザ端末11に対応付けられていたコネクションと同じコネクションに、ユーザ端末7が対応付けられたことを表している。
図2Dに、第4のコネクション概念図を示す。なお、図2Aと同様の構成要素については同一の符号を付してある。図2Dは、負荷分散装置100からWebサーバ51へのコネクション511にユーザ端末3からのコネクションが対応付けられ、コネクション512にユーザ端末7からのコネクションが対応付けられている様子を示している。同様に、負荷分散装置100からWebサーバ53へのコネクション531にユーザ端末9からのコネクションが対応付けられ、負荷分散装置100からWebサーバ55へのコネクション551にユーザ端末11からのコネクションが対応付けられている様子を示している。また、Webサーバ53への未使用のコネクション533及び534と、Webサーバ55への未使用のコネクション553及び554とが既に確立されている様子を示している。
このような状態の場合、コネクション管理テーブル160には、例えば図3Eに示すようなデータが格納されている。5行目から8行目のレコードは、例えば順にコネクション533、コネクション553、コネクション534及びコネクション554に対応するデータである。
図2Eに、第5のコネクション概念図を示す。図2Eには、例えば図2Dに示したようなコネクション状態においてWebサーバ51に異常が検出され、サーバ側のコネクションが設定し直された場合のコネクション概念図が示されている。なお、図2Dと同様の構成要素については同一の符号を付してある。
図2Eは、負荷分散装置100からWebサーバ53への既存且つ未使用であったコネクション533にユーザ端末3からのコネクションが対応付けられ、負荷分散装置100からWebサーバ55への既存且つ未使用であったコネクション553にユーザ端末7からのコネクションが対応付けられている様子を示している。なお、図2Dに示されていたコネクション511及びコネクション512のデータは、Webサーバ51に異常が発生したことにより消失している。このように、異常が検出されたWebサーバ51に対応付けられていたユーザ端末3及びユーザ端末7からのコネクションを、他のWebサーバへの既存且つ未使用であったコネクションに対応付けることにより、サーバ異常による影響をユーザ端末に及ぼさないようにすることができる。
図2Eに示したような状態の場合、コネクション管理テーブル160には、例えば図3Fに示すようなデータが格納されている。すなわち、太枠部分が図3Eから自動的に更新されており、ユーザ端末3及びユーザ端末7に関するレコードは削除されていない。更新内容としては、図3Eの5行目のデータが、図3Fの1行目に、図3Eの6行目のデータが、図3Fの5行目に移動している。なお、このようなコネクション管理テーブル160の更新処理においては、異常が検出されたWebサーバに対応付けられていたユーザ端末に関するレコードを一旦削除してから登録し直すようにしてもよい。
以上示したように、本実施の形態においては、Webサーバの異常が検出された場合に、図2B、図2C及び図2Eに示した例えば3種類の再設定状態のうちのいずれか1つの状態を実現することにより、サーバ異常による影響をユーザ端末に及ぼさないようにする。なお、本実施の形態におけるコネクション再設定方法とは、図2B、図2C及び図2Eに示した3種類のコネクション再設定状態を生じさせる3つの方法を意味する。すなわち、図2Bに示した状態におけるコネクション再設定方法は新規コネクションを利用する方法であり、図2Cに示した状態におけるコネクション再設定方法は既存且つ使用中コネクションを利用する方法であり、図2Eに示した状態におけるコネクション再設定方法は既存且つ未使用コネクションを利用する方法である。
図4乃至図6を用いて、図1に示した負荷分散装置100の処理について説明する。ここでは、主にコネクション再設定方法の選択、すなわち、図2B、図2C及び図2Eに示した3種類の再設定状態のうちどの状態になるようにコネクションを設定し直すかということを決定するための処理について示す。
まず、負荷分散装置100のサーバ監視部110は、所定の間隔又は任意のタイミングでWebサーバ51、Webサーバ53及びWebサーバ55の状態チェックを行い、チェック結果をサーバ状態格納部140に格納する(図4:ステップS1)。サーバ状態のチェックとしては、ping応答の確認やコネクション確立の確認、アプリケーション動作の確認等が挙げられるが、これらのうち少なくともいずれかの確認を行う。なお、状態チェックには、正常か異常かのチェックの他に、各Webサーバの負荷状況のチェックも含まれ、同様にサーバ状態格納部140に格納する。
そして、サーバ監視部110は、いずれかのWebサーバの異常が検出されたかどうか判定する(ステップS3)。Webサーバの異常が検出されなかったと判定された場合(ステップS3:Noルート)、ステップS1の処理に戻る。一方、Webサーバの異常が検出されたと判定された場合(ステップS3:Yesルート)、負荷分散装置100のコネクション管理部120は、コネクション管理テーブル160を参照し、異常が検出されたWebサーバに対応付けられたユーザ端末のコネクションが存在するか確認する(ステップS5)。そして、該当するコネクションが存在するか判定する(ステップS7)。例えば、コネクション管理テーブル160に図3Aに示したようなデータが登録されており、Webサーバ51に異常が検出された場合には、ユーザ端末3及びユーザ端末7からのコネクションが、該当するコネクションである。
該当するコネクションが存在しないと判定された場合(ステップS7:Noルート)、ステップS1の処理に戻る。一方、該当するコネクションが存在すると判定された場合(ステップS7:Yesルート)、コネクション管理部120は、サーバ状態格納部140を参照して、異常が検出されなかった残りのWebサーバの負荷状況を確認し、一時記憶領域等に格納する(ステップS9)。また、コネクション管理部120は、コネクションを確立すべきユーザ端末を1件特定する(ステップS11)。例えばまずユーザ端末3が特定される。そして、コネクション管理部120は、特定したユーザ端末に対応付けるWebサーバを1件特定する(ステップS13)。なお、Webサーバについては、所定の負荷分散方法によって特定する。例えばWebサーバ53が特定される。
次に、コネクション管理部120は、再設定方法格納部150を参照して、指定済みのコネクション再設定方法を用いるか判定する(ステップS15)。本実施の形態においては、再設定方法格納部150にコネクション再設定方法(3種類のうちいずれか)が登録されていれば、当該コネクション再設定方法を指定済みのコネクション再設定方法として用いる。なお、再設定方法格納部150には、システム管理者等によってコネクション再設定方法が登録される。指定済みのコネクション再設定方法を用いると判定された場合(ステップS15:Yesルート)、端子Aを介して図5の処理に移行する。一方、指定済みのコネクション再設定方法を用いないと判定された場合(ステップS15:Noルート)、端子Bを介して図6の処理に移行する。例えば、再設定方法格納部150にいずれのコネクション再設定方法も登録されていない場合には、指定済みのコネクション再設定方法を用いないと判定される。
図5に、端子Aを介して移行した後の処理を示す。まず、コネクション管理部120は、指定済みのコネクション再設定方法が「新規コネクションを利用する方法」であったか判定する(図5:ステップS21)。「新規コネクションを利用する方法」であったと判定された場合(ステップS21:Yesルート)、コネクション管理部120は、新規コネクションを確立し、コネクション管理テーブル160を更新する(ステップS23)。例えば、図2Bに示したコネクション532のような新規コネクションを確立し、図3Cの1行目に示したようにコネクション管理テーブル160を更新する。そして後に述べるステップS35の処理に移行する。一方、指定済みのコネクション再設定方法が「新規コネクションを利用する方法」ではないと判定された場合(ステップS21:Noルート)、コネクション管理部120は、指定済みのコネクション再設定方法が「既存且つ未使用コネクションを利用する方法」であったか判定する(ステップS25)。「既存且つ未使用コネクションを利用する方法」であったと判定された場合(ステップS25:Yesルート)、コネクション管理部120は、コネクション管理テーブル160を参照し、既存且つ未使用のコネクションが存在するか判定する(ステップS27)。図3Eに示したようなデータがコネクション管理テーブル160に格納されている場合には、例えばWebサーバ53に関する5行目及び7行目のデータに基づき、既存且つ未使用のコネクションが存在すると判定される。
既存且つ未使用のコネクションが存在しないと判定された場合(ステップS27:Noルート)、上で述べたステップS23の処理に移行する。一方、既存且つ未使用のコネクションが存在すると判定された場合(ステップS27:Yesルート)、コネクション管理部120は、既存且つ未使用のコネクションを、特定されているユーザ端末に割り当て、コネクション管理テーブル160を更新する(ステップS29)。例えば、図2Eに示したように、既存且つ未使用であったコネクション533にユーザ端末3を割り当て、図3Fの1行目に示したようにコネクション管理テーブル160を更新する。そして後に述べるステップS35の処理に移行する。
一方、指定済みのコネクション再設定方法が「既存且つ未使用コネクションを利用する方法」ではないと判定された場合(ステップS25:Noルート)、コネクション管理部120は、コネクション管理テーブル160を参照し、既存且つ使用中のコネクションが存在するか判定する(ステップS31)。図3Aに示したようなデータがコネクション管理テーブル160に格納されている場合には、例えばWebサーバ53に関する3行目のデータに基づき、既存且つ使用中のコネクションが存在すると判定される。
既存且つ使用中のコネクションが存在しないと判定された場合(ステップS31:Noルート)、端子Cを介してステップS13(図4)の処理に移行する。一方、既存且つ使用中のコネクションが存在すると判定された場合(ステップS31:Yesルート)、コネクション管理部120は、既存且つ使用中のコネクションを、特定されているユーザ端末に割り当て、コネクション管理テーブル160を更新する(ステップS33)。例えば、図2Cに示したように、既存且つ使用中であったコネクション531にユーザ端末3を割り当て、図3Dの1行目に示したようにコネクション管理テーブル160を更新する。
そして、コネクション管理部120は、コネクションの再設定を行う対象となる全てのユーザ端末について処理を行ったか判定する(ステップS35)。全ての対象ユーザ端末についての処理を行ったと判定されなかった場合(ステップS35:Noルート)、端子Dを介してステップS11(図4)の処理に移行する。一方、全ての対象ユーザ端末についての処理を行ったと判定された場合(ステップS35:Yesルート)、処理を終了する。
指定済みのコネクション再設定方法に従う場合、このようにしてコネクションの再設定が行われる。
図6に、端子Bを介して移行した後の処理を示す。まず、コネクション管理部120は、サーバ状態格納部140を参照し、特定されているWebサーバの負荷が所定の基準より高いか判定する(図6:ステップS41)。Webサーバが高負荷であると判定された場合(ステップS41:Yesルート)、コネクション管理部120は、コネクション管理テーブル160を参照し、既存且つ使用中のコネクションが存在するか判定する(ステップS43)。既存且つ使用中のコネクションが存在しないと判定された場合(ステップS43:Noルート)、端子Cを介してステップS13(図4)の処理に移行する。一方、既存且つ使用中のコネクションが存在すると判定された場合(ステップS43:Yesルート)、コネクション管理部120は、既存且つ使用中のコネクションを、特定されているユーザ端末に割り当て、コネクション管理テーブル160を更新する(ステップS45)。例えば、図2Cに示したように、既存且つ使用中であったコネクション531にユーザ端末3を割り当て、図3Dの1行目に示したようにコネクション管理テーブル160を更新する。そして後に述べるステップS53の処理に移行する。
一方、Webサーバが高負荷ではないと判定された場合(ステップS41:Noルート)、コネクション管理部120は、コネクション管理テーブル160を参照し、既存且つ未使用のコネクションが存在するか判定する(ステップS47)。既存且つ未使用のコネクションが存在すると判定された場合(ステップS47:Yesルート)、コネクション管理部120は、既存且つ未使用のコネクションを、特定されているユーザ端末に割り当て、コネクション管理テーブル160を更新する(ステップS49)。例えば、図2Eに示したように、既存且つ未使用であったコネクション533にユーザ端末3を割り当て、図3Fの1行目に示したようにコネクション管理テーブル160を更新する。そして後に述べるステップS53の処理に移行する。
一方、既存且つ未使用のコネクションが存在しないと判定された場合(ステップS47:Noルート)、コネクション管理部120は、新規コネクションを確立し、コネクション管理テーブル160を更新する(ステップS51)。例えば、図2Bに示したコネクション532のような新規コネクションを確立し、図3Cの1行目に示したようにコネクション管理テーブル160を更新する。
そして、コネクション管理部120は、コネクションの再設定を行う対象となる全てのユーザ端末について処理を行ったか判定する(ステップS53)。全ての対象ユーザ端末についての処理を行ったと判定されなかった場合(ステップS53:Noルート)、端子Dを介してステップS11(図4)の処理に移行する。一方、全ての対象ユーザ端末についての処理を行ったと判定された場合(ステップS53:Yesルート)、処理を終了する。
コネクション再設定方法が指定されていない場合には、このように、Webサーバの負荷状況に応じてコネクションの再設定が行われる。すなわち、Webサーバの負荷が所定の基準よりも高い場合には、コネクション数を増やさないような設定を行い、Webサーバの負荷が所定の基準よりも低い場合には、レスポンスが良くなるような設定を行う。これにより、サーバ異常による影響をユーザ端末に及ぼさないようにするためのコネクションの再設定が適切になされる。
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、図3A乃至図3Fに示したテーブル構成は一例であって、同様のデータを格納するためであれば別の構成を採用するようにしてもよいし、必要に応じて項目を追加又は削除してもよい。また、図1に示した負荷分散装置の機能ブロック構成は一例であって、実際のプログラム・モジュール構成とは異なる場合がある。また、図2A乃至図2Eに示したコネクション概念図も一例であって、同様の内容を別の態様で表す場合もある。さらに、図4乃至図6に示した処理フローも一例であって、同様の処理結果が得られる範囲において処理の順序を入れ替えてもよいし、必要に応じてステップを追加又は削除してもよい。
(付記1)
複数のサーバのいずれかにユーザ端末からの処理要求を転送する負荷分散装置であって、
前記複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として前記第1のサーバ以外の第2のサーバを前記複数のサーバから選択する手段と、
前記処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して前記第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納する手段と、
を有する負荷分散装置。
(付記2)
前記転送ルートが、前記第2のサーバへの新規なコネクションであることを特徴とする付記1記載の負荷分散装置。
(付記3)
前記転送ルートが、前記第2のサーバへの既存且つ使用中のコネクションであることを特徴とする付記1記載の負荷分散装置。
(付記4)
前記転送ルートが、前記第2のサーバへの既存且つ未使用のコネクションであることを特徴とする付記1記載の負荷分散装置。
(付記5)
前記複数のサーバの負荷状況を判定する手段をさらに有し、
前記所定のルールが、
前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低いと判定された場合には、前記第2のサーバへの既存且つ未使用のコネクションを、前記転送ルートとして決定する
ルールであることを特徴とする付記1記載の負荷分散装置。
(付記6)
前記複数のサーバの負荷状況を判定する手段をさらに有し、
前記所定のルールが、
前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低いと判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定する
ルールであることを特徴とする付記1記載の負荷分散装置。
(付記7)
前記所定のルールが、
前記第2のサーバへの既存且つ未使用のコネクションが存在すると判定された場合には、当該コネクションを、前記転送ルートとして決定し、
前記第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定する
ルールであることを特徴とする付記1記載の負荷分散装置。
(付記8)
前記複数のサーバの負荷状況を判定する手段をさらに有し、
前記所定のルールが、
前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中の第1のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存且つ未使用の第2のコネクションが存在すると判定された場合には、前記第2のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定する
ルールであることを特徴とする付記1記載の負荷分散装置。
(付記9)
前記設定データには、転送先のサーバのアドレス及び通信ポートを示すデータが含まれていることを特徴とする
付記1記載の負荷分散装置。
(付記10)
前記コネクション管理データ格納部には、処理要求元のユーザ端末のアドレス及び通信ポートと、転送先のサーバのアドレス及び通信ポートとの対応付けを示すデータが格納されており、
前記コネクション管理データ格納部に格納されているデータに基づき、ユーザ端末からの処理要求を前記複数のサーバのいずれかに転送する転送手段をさらに有し、
前記転送手段において、前記特定のユーザ端末からの一連の処理要求のうち、前記第1のサーバに異常が発生したことを検出する前における処理要求を、前記コネクション管理データ格納部に格納された前記第1のサーバのアドレス及び通信ポートに基づき前記第1のサーバへ転送し、前記第1のサーバに異常が発生したことを検出した後における処理要求を、前記コネクション管理データ格納部に格納された前記第2のサーバのアドレス及び通信ポートに基づき前記第2のサーバに転送することを特徴とする
付記1記載の負荷分散装置。
(付記11)
複数のサーバのいずれかにユーザ端末からの処理要求を転送するための負荷分散プログラムであって、
前記複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として前記第1のサーバ以外の第2のサーバを前記複数のサーバから選択するステップと、
前記処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して前記第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納するステップと、
をプロセッサに実行させるための負荷分散プログラム。
(付記12)
前記転送ルートが、前記第2のサーバへの新規なコネクションであることを特徴とする付記11記載の負荷分散プログラム。
(付記13)
前記転送ルートが、前記第2のサーバへの既存且つ使用中のコネクションであることを特徴とする付記11記載の負荷分散プログラム。
(付記14)
前記転送ルートが、前記第2のサーバへの既存且つ未使用のコネクションであることを特徴とする付記11記載の負荷分散プログラム。
(付記15)
前記複数のサーバの負荷状況を判定するステップをさらに有し、
前記所定のルールが、
前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中の第1のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存且つ未使用の第2のコネクションが存在すると判定された場合には、前記第2のコネクションを、前記転送ルートとして決定し、
前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定する
ルールであることを特徴とする付記11記載の負荷分散プログラム。
(付記16)
複数のサーバのいずれかにユーザ端末からの処理要求を転送するための負荷分散方法であって、
前記複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として前記第1のサーバ以外の第2のサーバを前記複数のサーバから選択するステップと、
前記処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して前記第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納するステップと、
を含みプロセッサにより実行される負荷分散方法。
本発明の一実施の形態におけるシステム構成図である。 第1のコネクション概念図である。 第2のコネクション概念図である。 第3のコネクション概念図である。 第4のコネクション概念図である。 第5のコネクション概念図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第1の図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第2の図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第3の図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第4の図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第5の図である。 コネクション管理テーブルの構成及び格納されるデータの一例を示す第6の図である。 本発明の一実施の形態における処理フローを示す第1の図である。 本発明の一実施の形態における処理フローを示す第2の図である。 本発明の一実施の形態における処理フローを示す第3の図である。
符号の説明
1 ネットワーク 3,7,9,11 ユーザ端末
50 LAN 51,53,55 Webサーバ
57 DBサーバ 59 トランザクション管理DB
100 負荷分散装置 110 サーバ監視部
120 コネクション管理部 130 中継処理部
140 サーバ状態格納部 150 再設定方法格納部
160 コネクション管理テーブル

Claims (2)

  1. 複数のサーバのいずれかにユーザ端末からの処理要求を転送する負荷分散装置であって、
    前記複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として前記第1のサーバ以外の第2のサーバを前記複数のサーバから選択する手段と、
    前記処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して前記第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納する手段と、
    前記複数のサーバの負荷状況を判定する手段と、
    を有し、
    前記所定のルールが、
    前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中の第1のコネクションを、前記転送ルートとして決定し、
    前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存且つ未使用の第2のコネクションが存在すると判定された場合には、前記第2のコネクションを、前記転送ルートとして決定し、
    前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定する
    ルールであることを特徴とする負荷分散装置。
  2. 複数のサーバのいずれかユーザ端末からの処理要求の転送先として設定する処理を負荷分散装置に搭載されたプロセッサに実行させるための負荷分散プログラムであって、
    前記プロセッサに、
    前記複数のサーバの負荷状況を判定するステップと、
    前記複数のサーバに含まれる第1のサーバに異常が発生したことを検出した場合、処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求の新たな転送先として前記第1のサーバ以外の第2のサーバを前記複数のサーバから選択するステップと、
    前記処理要求の転送先が前記第1のサーバに設定されているユーザ端末からの処理要求を所定のルールに基づき決定された転送ルートを介して前記第2のサーバに転送するための設定データを生成し、コネクション管理データ格納部に格納するステップと、
    を実行させ、
    前記所定のルールが、
    前記第2のサーバの負荷が所定の基準より高いと判定された場合には、前記第2のサーバへの既存且つ使用中の第1のコネクションを、前記転送ルートとして決定させ、
    前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存且つ未使用の第2のコネクションが存在すると判定された場合には、前記第2のコネクションを、前記転送ルートとして決定させ、
    前記第2のサーバの負荷が前記所定の基準より低く、且つ前記第2のサーバへの既存のコネクションには使用中のコネクションのみが存在すると判定された場合には、前記第2のサーバへの新規なコネクションを、前記転送ルートとして決定させる
    ルールであることを特徴とする負荷分散プログラム。
JP2004140662A 2004-05-11 2004-05-11 負荷分散装置及びプログラム Expired - Lifetime JP4190455B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004140662A JP4190455B2 (ja) 2004-05-11 2004-05-11 負荷分散装置及びプログラム
US10/945,204 US7437461B2 (en) 2004-05-11 2004-09-20 Load balancing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004140662A JP4190455B2 (ja) 2004-05-11 2004-05-11 負荷分散装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005322107A JP2005322107A (ja) 2005-11-17
JP4190455B2 true JP4190455B2 (ja) 2008-12-03

Family

ID=35426693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004140662A Expired - Lifetime JP4190455B2 (ja) 2004-05-11 2004-05-11 負荷分散装置及びプログラム

Country Status (2)

Country Link
US (1) US7437461B2 (ja)
JP (1) JP4190455B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060117020A1 (en) * 2004-12-01 2006-06-01 John Toebes Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device
US7934216B2 (en) * 2005-10-03 2011-04-26 International Business Machines Corporation Method and system for load balancing of computing resources
JP4616159B2 (ja) * 2005-11-30 2011-01-19 富士通株式会社 クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
JP2007226398A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd データベース接続管理方法及び計算機システム
JP4779756B2 (ja) * 2006-03-29 2011-09-28 カシオ計算機株式会社 コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US7861111B2 (en) * 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
JP5029176B2 (ja) * 2007-07-04 2012-09-19 凸版印刷株式会社 負荷分散装置及び負荷分散方法
JP4621786B2 (ja) * 2009-04-28 2011-01-26 株式会社東芝 情報処理装置、並列処理最適化方法およびプログラム
US8521882B2 (en) 2010-09-15 2013-08-27 International Business Machines Corporation Client/subscriber rotation using select write calls for server resiliency
JP5713101B2 (ja) * 2010-09-22 2015-05-07 日本電気株式会社 制御装置、通信システム、通信方法、および通信プログラム
JP2012103879A (ja) * 2010-11-10 2012-05-31 Hitachi Ltd セッション管理方法、セッション管理システム及びプログラム
US8799454B2 (en) 2010-12-15 2014-08-05 International Business Machines Corporation Behavior based client selection for disparate treatment
US8688817B2 (en) 2011-03-14 2014-04-01 Edgecast Networks, Inc. Network connection hand-off using state transformations
US9654601B2 (en) 2011-03-14 2017-05-16 Verizon Digital Media Services Inc. Network connection hand-off and hand-back
US9232002B1 (en) * 2011-12-27 2016-01-05 Amazon Technologies, Inc. Migrating connection flows
US20130227180A1 (en) * 2012-02-24 2013-08-29 Pradeep Bisht Method for input/output load balancing using varied performing storage devices
JP5880701B2 (ja) * 2012-06-06 2016-03-09 日本電気株式会社 通信システム、通信制御方法、通信中継システム、及び、通信中継制御方法
CN105516245B (zh) * 2015-11-25 2018-12-14 国家计算机网络与信息安全管理中心 一种基于流的负载均衡的系统以及实现方法
WO2018024345A1 (en) 2016-08-05 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Supporting transport protocol server relocation
WO2018024344A1 (en) * 2016-08-05 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Transport protocol server relocation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274432A (ja) 1993-03-19 1994-09-30 Nkk Corp 分散計算機システム管理方式およびその管理方法
JP3398461B2 (ja) 1994-02-28 2003-04-21 富士通株式会社 ネットワーク環境で使用されるシステム及び該システムに実装される装置
JP3847364B2 (ja) 1996-02-14 2006-11-22 富士通株式会社 ロードシェアシステム
JP3372455B2 (ja) 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
JP3633321B2 (ja) 1998-10-23 2005-03-30 富士通株式会社 広域負荷分散装置及び方法
JP2000155736A (ja) 1998-11-24 2000-06-06 Nec Corp サービス要求の振り分け方法及びアドレス変換装置
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
JP2002183106A (ja) 2000-12-11 2002-06-28 Hitachi Ltd サービス切替システム及び方法
JP2002342296A (ja) 2001-05-17 2002-11-29 Nec Corp ネットワークシステム
JP2002351760A (ja) 2001-05-30 2002-12-06 Mitsubishi Electric Corp サーバ負荷分散装置、サーバ負荷分散方法およびその方法をコンピュータに実行させるプログラム
JP3698073B2 (ja) 2001-06-13 2005-09-21 日本電信電話株式会社 サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体
JP2003256310A (ja) 2002-03-05 2003-09-12 Nec Corp サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
JP2003281007A (ja) 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法

Also Published As

Publication number Publication date
JP2005322107A (ja) 2005-11-17
US7437461B2 (en) 2008-10-14
US20050267970A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
JP4190455B2 (ja) 負荷分散装置及びプログラム
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
CN110417569B (zh) 一种网络链路故障处理方法和隧道端点设备
US20070121490A1 (en) Cluster system, load balancer, node reassigning method and recording medium storing node reassigning program
CN104539531A (zh) 数据传输方法及装置
CN109510878B (zh) 一种长连接会话保持方法和装置
CN108200218A (zh) 一种实现负载均衡的方法、装置及电子设备
US20080307099A1 (en) Storage system and priority control method
CN111741508B (zh) 建立通信连接的方法、控制器、转发设备、设备及介质
CN113179295B (zh) 报文处理方法及装置
JP5526780B2 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
JP2012175351A (ja) サービス振分方法、サービス振分装置、およびプログラム
JP2005182702A (ja) Ipネットワークにおけるアクセス制御方式
JP2012119904A (ja) セッション管理システム、セッション管理装置
JP2001119436A (ja) 通信制御システム及び通信制御方法
JP2006324973A (ja) ルータ装置および通信システム
JP4741410B2 (ja) 移動体通信システム、交換機、基地局装置、及び下り通信データ送信方法
CN108111431A (zh) 业务数据发送方法及装置
CN113872815B (zh) 一种故障切换方法及系统
JP4464361B2 (ja) 大規模指令システム、ゲートウェイ及びそのプログラム
JP5758572B2 (ja) メッセージングネットワークシステムのメッセージ送受信方法
JP4146833B2 (ja) VoIPサービスシステム、呼制御サーバ、および呼制御方法
JP5365377B2 (ja) 配信システム、集信システム、配信方法、集信方法、及びプログラム
JP2003348134A (ja) 通信経路選択システム
JP4418409B2 (ja) プレミアパケット識別装置、端末装置、プレミアパケット識別システムおよびプレミアパケット識別方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080814

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

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

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

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4