Nothing Special   »   [go: up one dir, main page]

JP5065050B2 - クライアント・サーバ・システムにおける負荷分散 - Google Patents

クライアント・サーバ・システムにおける負荷分散 Download PDF

Info

Publication number
JP5065050B2
JP5065050B2 JP2007551974A JP2007551974A JP5065050B2 JP 5065050 B2 JP5065050 B2 JP 5065050B2 JP 2007551974 A JP2007551974 A JP 2007551974A JP 2007551974 A JP2007551974 A JP 2007551974A JP 5065050 B2 JP5065050 B2 JP 5065050B2
Authority
JP
Japan
Prior art keywords
server
client
delegation
load
connection request
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.)
Active
Application number
JP2007551974A
Other languages
English (en)
Other versions
JPWO2007074797A1 (ja
Inventor
貴利 渡部
義則 田原
正浩 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2007551974A priority Critical patent/JP5065050B2/ja
Publication of JPWO2007074797A1 publication Critical patent/JPWO2007074797A1/ja
Application granted granted Critical
Publication of JP5065050B2 publication Critical patent/JP5065050B2/ja
Active 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/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/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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はクライアント・サーバ・システムにおける負荷分散に関するものであり、特にサーバが高負荷状態になったときにサーバの処理を要求元クライアントに選択的に委譲できる負荷分散に関するものである。
クライアント・サーバ・システムは、インターネットを利用した大規模なシステムから、家庭内LANといった小規模なシステムまで、様々な分野で活用されている。企業内の利用も盛んであり、例えばコールセンター業務では、顧客との応対履歴をデータベースに記録するために、音声サーバを含むクライアント・サーバ・システムが利用されている。このシステムは、顧客との対話内容を音声データとしてオペレータ用端末(クライアント)から音声サーバに送り、音声サーバで音声認識により音声データをテキスト・データに変換してクライアントに送り返し、オペレータがそれをデータベースに記録する。
上述のようなクライアント・サーバ・システムでは、システムの処理効率を上げてクライアントへの迅速な応答を達成するために、一般に負荷分散の手法が採用されている。負荷分散は、サーバ間で実施するものが一般的である。サーバ間の負荷分散では、ロード・バランサと呼ばれる負荷分散用の特殊装置を複数のサーバとクライアントの間に設けて、クライアントから要求があったときにロード・バランサで適切なサーバを選択して、そのサーバに要求を送るようにしたクライアント・サーバ・システムが知られている(特許文献1)。
サーバ間の負荷分散とは別に、サーバとクライアントの間で負荷分散を行うようにしたシステムも知られている。例えば特許文献2は、クライアントから接続要求を受け取ったときにサーバのCPU使用率を調べ、それが設定値以下であれば要求された処理を行い、設定値を超えていると、その処理を実行するためのアプリケーション・プログラムをクライアントに送って、クライアント側で処理を実行させるようにした分散処理システムを開示している。また特許文献3は、サーバとクライアントに複数の同じ処理モジュールを準備しておき、サーバとクライアントの処理能力を比較して、その比較結果に応じて、サーバおよびクライアントで実行すべき処理モジュールを増減するようにした分散処理システムを開示している。このシステムでは、サーバの方が処理能力が高ければ、サーバで実行すべき処理モジュールを増やし、クライアントの方が処理能力が高ければクライアントで実行すべき処理モジュールを増やしている。
米国特許第6779017号明細書 米国特許第6385636号明細書 特開2003−58519号公報
特許文献1に記載されているようなサーバ間の負荷分散では、クライアントからの要求が予想以上に増えると、クライアントの待ち時間が長くなってしまう。これを解決するためにはサーバを増設する必要があるが、コスト高になる。また、何らかの理由でサーバの数が制限されているようなシステムには適用が難しい。特許文献2の負荷分散方式は、負荷分散のたびにアプリケーション・プログラムをサーバからクライアントに送っているので、通信のオーバーヘッドが増え、さらに負荷分散をした場合は、すべての処理をクライアント側で実行しているので柔軟性に欠けるところがある。特許文献3の負荷分散方式はこれよりも柔軟性があるが、サーバとクライアントが1対1の場合にしか適用されず、複数のクライアントが同時にサーバに接続される場合の問題を解決するものではない。さらに、サーバとクライアントの処理能力に応じて負荷を分散しているので、クライアントには常に負担が掛かってしまう。
従って本発明の目的は、複数のクライアントが同時に接続可能なサーバを含むクライアント・サーバ・システムにおいて、サーバとクライアントの間で効率よく負荷を分散することができる負荷分散型クライアント・サーバ・システム、サーバ、負荷分散方法、およびこの負荷分散方法をコンピュータに実行させるためのプログラムを提供することにある。
本発明は、処理のための接続要求を送信した要求元クライアントに、状況に応じて、サーバの処理を選択的に肩代わりさせることによって、上記の目的を達成する。以下、この肩代わりのことを「委譲」と呼ぶことにする。
本発明の第1の側面によれば、サーバと、このサーバに処理のための接続を要求する複数のクライアントとを含み、クライアントのそれぞれは、当該クライアントの状況を示す状況情報を接続要求とともにサーバに送る通信手段と、サーバの処理を選択的に実行可能な処理手段とを備え、サーバは、自身の負荷の状況を監視する負荷監視手段と、サーバの通信手段が受け取った接続要求に応答して、状況情報に基づいて、サーバの処理を要求元クライアントに委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアントの接続要求を許可して、委譲レベルを要求元クライアントに通知する委譲処理手段とを備え、要求元クライアントの処理手段は、通知された委譲レベルに応じた処理を実行する、負荷分散型クライアント・サーバ・システムが提供される。
本発明の第2の側面によれば、複数のクライアントに接続可能であり、要求元クライアントから処理のための接続要求を受け取って該処理を実行するサーバであって、自身の負荷状況を監視する負荷監視手段と、要求元クライアントから接続要求とともに要求元クライアントの状況を示す状況情報を受け取る通信手段と、通信手段が受け取った接続要求に応答して、状況情報に基づいて、サーバの処理を要求元クライアントに委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアントの接続要求を許可する委譲処理手段と、委譲処理手段が接続要求を許可したときに、委譲レベルを要求元クライアントに通知して、要求元クライアントに委譲レベルに応じた処理を実行させる通知手段とを含むサーバが提供される。
本発明の第3の側面によれば、複数のサーバと、複数のクライアントと、クライアントのそれぞれから処理のための接続要求を受け取って、複数のサーバから1つのサーバを選択して該1つのサーバに処理を実行させるロード・バランサとを含み、クライアントのそれぞれは、当該クライアントの状況を示す状況情報を接続要求とともにロード・バランサに送る通信手段と、サーバの処理を選択的に実行可能な処理手段とを備え、ロード・バランサは、要求元クライアントから接続要求および状況情報を受け取る通信手段と、サーバの負荷状況を監視する負荷監視手段と、当該ロード・バランサの通信手段が受け取った接続要求に応答して、状況情報に基づいて、選択された1つのサーバの処理を要求元クライアントに委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアントの接続要求を許可して、委譲レベルを要求元クライアントに通知する委譲処理手段とを備え、要求元クライアントの処理手段は、通知された委譲レベルに応じた処理を実行する、負荷分散型クライアント・サーバ・システムが提供される。
本発明の第4の側面によれば、サーバと、サーバに処理のための接続を要求する複数のクライアントとを含むクライアント・サーバ・システムにおいて、サーバとクライアントの間で負荷を分散させるための負荷分散方法であって、サーバが自身の負荷状況を監視するステップと、要求元クライアントが該要求元クライアントの状況を示す状況情報を接続要求とともにサーバに送信するステップと、サーバが接続要求に応答して、状況情報に基づいて、サーバの処理を要求元クライアントに委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアントの接続要求を許可するステップと、サーバが委譲レベルを要求元クライアントに通知するステップと、要求元クライアントが委譲レベルに応じた処理を実行するステップとを含む負荷分散方法が提供される。
本発明の第5の側面によれば、複数のクライアントに接続可能であり、要求元クライアントから処理のための接続要求を受け取って該処理を実行するサーバにおいて、該サーバが実行すべき処理を要求元クライアントに選択的に委譲することによって負荷を分散する方法であって、サーバの負荷状況を監視するステップと、要求元クライアントから接続要求とともに要求元クライアントの状況を示す状況情報を受信するステップと、接続要求に応答して、状況情報に基づいて、サーバの処理を要求元クライアントに委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアントの接続要求を許可するステップと、委譲レベルを要求元クライアントに通知して、要求元クライアントに委譲レベルに応じた処理を実行させるステップとを含む負荷分散方法が提供される。
本発明の第6の側面によれば、上述の第4の側面に係る負荷分散方法をサーバのコンピュータに実行させるためのプログラムが提供される。
上述のように、本発明は、サーバが高負荷状態になった場合に、サーバの負荷が最大許容負荷を超えないという条件の下で、要求元クライアントの状況に応じてサーバの処理を選択的に要求元クライアントに委譲するようにしたものである。従って、従来よりも効率のよい動的な負荷分散が可能になっている。また、サーバだけで処理を行う場合に比べて、サーバに同時に接続できるクライアントの数を増やすことが可能である。
以下、添付図面を参照しながら、本発明を実施するための最良の形態について説明するが、それぞれの図面において同じ符号は同じ要素を示している。
本発明を適用可能なクライアント・サーバ・システム10の概要を図1に示す。このシステム10は、ネットワーク12を介して1つのサーバ14に複数のクライアント16が接続される構成となっている。ネットワーク12は、LAN(ローカル・エリア・ネットワーク)を利用した専用ネットワーク(例えば、企業のイントラネット)、インターネットを含む公衆ネットワークなどの任意のネットワークでよい。
クライアント・サーバ・システム10は、例えばコールセンター業務において、顧客との応対履歴を残す作業で使用することができる。この作業の一般的なフローを図2に示す。図2において、クライアント16はオペレータ用端末であり、サーバ14は音声サーバである。クライアント16は、オペレータと顧客の対話内容を録音処理し、それを音声データとしてサーバ14に送る。サーバ14は、3つの処理段階1−3からなる音声認識処理を実行することにより、音声データをテキストデータに変換して、クライアント16に送り返す。クライアント16は、受け取ったテキストデータをデータベース(図示せず)に記録することにより応対履歴を残す。ここで、処理段階1−3は、例えばケプストラム分析処理、特徴量抽出処理、およびマッチング処理にそれぞれ対応しており、これらは順次に実行される。通常は、これらの処理段階はすべてサーバ14で実行されるが、本発明は、サーバ14が高負荷状態になったときに、クライアント16の状況に応じて選択された処理段階をクライアント16に委譲することによって、サーバ14の処理をクライアント16で実行させることができる。
上述のような委譲処理を可能にするクライアント16とサーバ14の構成を図3に示す。クライアント16は、自身の状況を示す状況情報を接続要求と共にサーバ14に送る通信部20と、サーバ14の処理を選択的に実行する処理部22を含む。状況情報は、例えばクライアント16が備えるプロセッサの種類、メモリの利用率などのハードウェア状況を含む。
サーバ14は、要求元のクライアント16から接続要求および状況情報を受け取る通信部24、サーバ14の負荷状況を監視する負荷監視部26、通信部24が受け取った接続要求に応答して、要求元クライアント16の状況情報に基づき、サーバ14の処理を要求元クライアント16に委譲する委譲レベルを決定し、委譲後のサーバ負荷が最大許容負荷を超えていなければ、要求元クライアント16の接続要求を許可して、決定した委譲レベルを要求元クライアント16に通知する委譲処理部28、および各クライアントのサーバ利用状況を監視するクライアント監視部30を含む。
クライアント監視部30は、各クライアントのサーバ利用率および委譲の履歴を監視する監視部32と、このサーバ利用率および委譲の履歴に応じてクライアントを複数のグループに分類してグループ毎に優先度を決定する分類部34と、グループ毎に、当該グループに属するクライアントからの接続要求の間隔を計算することにより、次に接続要求が発生する時間を予測する予測部36を含む。
上述の負荷監視部26、委譲処理部28およびクライアント監視部30は、サーバ14の処理部を構成しており、従って、サーバ14およびクライアント16の基本的な構成は同じでよい。
次に、サーバ14による委譲処理動作の詳細に入る前に、図2に示す作業を例にとって、委譲レベルについて説明する。前述のように、処理段階1はケプストラム分析処理に対応し、処理段階2は特徴抽出処理に対応し、そして処理段階3はマッチング処理に対応しているが、このうち最後のマッチング処理は、音響モデル、言語モデルおよび辞書といった外部リソースを使用するので、クライアントへの委譲には適さない。従って、本実施態様では、次のような委譲レベルが設定される。
委譲レベル0:クライアントへの委譲なし
委譲レベル1:処理段階1をクライアントへ委譲
委譲レベル2:処理段階1および2をクライアントへ委譲
これから明らかなように、委譲レベルは、最初の処理段階から何番目の処理段階までをクライアントに実行させるかを示すものである。このような委譲を可能にするため、各クライアント16には、処理段階1および2を実行するためのプログラム・モジュールが予めインストールされている。
サーバ14による委譲処理のフローの例を図4に示す。このフローは、サーバ14の通信部24がクライアント16から接続要求を受け取った時に開始する(ステップS1)。接続要求が受け取られると、負荷監視部が次式に従ってサーバ14の負荷を計算する(ステップS2)。
WL=L0*X+L1*Y+L2*Z
上式において、L0、L1およびL2は、現時点において委譲処理部28が決定済みで、要求元クライアントで関連する処理が実行中の委譲レベル0、委譲レベル1および委譲レベル2の数をそれぞれ表す。ただし、委譲レベル0はクライアントに処理を委譲しないので、委譲レベル0の数とは、委譲なしで現在接続されているクライアントの数である。X、Y、Zは次式の通りである。
X=(1/MaxL0)*100
Y=X*(1−R1)
Z=X*(1−R2)
上式において、MaxL0は委譲なしで接続可能なクライアントの最大数、R1は委譲レベル1でクライアントに処理を委譲した場合のサーバ14の負荷減少率、Zは委譲レベル2でクライアントに処理を委譲した場合のサーバ14の負荷減少率である。例えば、MaxL0=10、R1=75%、R2=87.5%とすると、サーバ負荷WLは次のようになる。
WL=10L0+2.5L1+1.25L2
負荷監視部26は、計算した負荷が基準負荷を超えているかどうかを委譲処理部28に知らせる(ステップS3)。基準負荷は、サーバ14が要求元クライアント16に処理の一部を委譲するかどうかを決定するための基準となる負荷で、例えば、サーバ14の最大処理能力の80%に設定される。サーバ負荷が基準負荷を超えていなければ、委譲処理部28は要求元クライアント16に委譲なしでの接続を許可し(ステップS4)、ステップS14に進む。
サーバ負荷が基準負荷を超えていると、委譲処理部28は、接続要求と共に要求元クライアント16から受け取った状況情報に基づき、要求元クライアント16に対する委譲可能レベルを決定する。例えば、委譲処理部28は要求元クライアント16のプロセッサおよびメモリの状況に基づき、次のようにレベルを決定してもよい。
レベル0=プロセッサの動作周波数が300MHz未満、またはメモリ利用率が80%を超えている
レベル1=プロセッサの動作周波数が450MHz未満
レベル2=上記以外
勿論、これは一例に過ぎず、他の要因を考慮したり、動作周波数やメモリ利用率の値を変更したりすることも可能であるが、一般的には、プロセッサが高性能になるほど、委譲レベルを高くすることができる。
次に、負荷監視部24が決定された委譲可能レベルに応じてサーバ負荷を推定し(ステップS6)、推定サーバ負荷が最大許容負荷を超えているかどうかを委譲処理部28に知らせる(ステップS7)。上式の例では、レベル0の委譲の場合は負荷が10増え、レベル1の委譲の場合は2.5増え、レベル2の委譲の場合は1.25増える。最大許容負荷は、例えば、サーバ14の最大処理能力の90%に設定される。もし推定サーバ負荷が最大許容負荷を超えていると、委譲処理部28はステップS8で接続を拒否し、その通知を通信部24から要求元クライアント16に送る。
推定サーバ負荷が最大許容負荷を超えていない場合は、要求元クライアントよりも優先度の高い別のクライアントからの接続要求が間近に迫っていれば、そちらの方を優先させるために、クライアント監視部30が次接続要求までの予想時間および予想委譲レベルを推定する(ステップS9)。ステップS9の詳細については後で説明する。
優先度の高いクライアントからの次接続要求までの予想時間が短ければ、ステップS10からステップS11に進んで、負荷監視部26が予想委譲レベルに応じて次接続要求におけるサーバ負荷を推定する。ここでの推定はステップS6の推定と同じであるが、今回は優先度の高いクライアントからの要求を処理するための負荷が加算される。推定サーバ負荷が最大許容負荷を超えていると、前と同じく、ステップS8で要求元クライアント16の接続を拒否する。
サーバ負荷が最大許容負荷を超えていないか、または次接続要求までの予想時間が長ければ、ステップS13に進んで、要求元クライアント16の接続を許可し、ステップS5で決定した委譲レベルを通信部24から要求元クライアント16に通知する。
次に、クライアント監視部30の監視部32は要求元クライアント16が属するグループ(詳細は後述)の接続開始時刻を記録し(ステップS14)、要求元クライアント16の接続が終了すると(ステップS15)、要求元クライアント16の識別子(ID)、接続開始時刻、接続終了時刻、および委譲レベルを履歴として記録する。サーバ14は接続要求があると図4のフローを実行し、監視部32は、その都度、許可された要求元クライアントの接続履歴を残していく。接続履歴の一例を図5に示す。この履歴は分類部34でクライアントをグループ分けするのに用いられる。なお、接続履歴における委譲レベル0は、図4のステップS4で自動的に決定されるものと、ステップS5で状況情報に基づいて決定されるものがあるが、後で説明するように、分類部34によるグループ分けでは後者の委譲レベル0だけが考慮されるので、接続履歴を残すときは、ステップS5で決定された委譲レベル0にはフラグを立てておく。図5中のアスタリスク「*」はこのフラグ立てを表している。
次に、分類部34によるグループ分けについて説明する。ここでは、説明の便宜上、毎日の業務終了後にグループ分けを実施するものとするが、2日おきまたは毎週といった異なるサイクルでグループ分けを実施してもよい。前述のように、分類部34は各クライアントのサーバ利用率および委譲の履歴に応じてクライアントを複数のグループに分類するものであり、そのため、監視部32はクライアントIDで図5の接続履歴を参照することにより各クライアントの接続開始時刻および接続終了時刻から接続時間を計算し、1日の業務時間(例えば8時間)に対する総接続時間の比をサーバ利用率として計算する。さらに、監視部32は委譲レベルの履歴から、各クライアントに委譲できる可能性が高いレベルを決定する。
図5の接続履歴を例にとって、サーバ利用率および委譲可能レベルの決定について説明すると、例えばIDが2のクライアントは3回接続を許可されており、その総接続時間は102分である。また、委譲レベルの履歴は0(図4のステップS4で自動的に決定されたもの)、2、1となっている。ここで、1日の業務時間を8時間(480分)とすると、IDが2のクライアントのサーバ利用率は、102/480すなわち21.25%になる。委譲可能なレベルは、例えば次のようにして決定することができる。
1.接続履歴における委譲レベル2の数が、基準負荷を超えた場合(ステップS3で「はい」の分岐になった場合)の接続回数に対して95%以上であれば、委譲可能なレベルとしてレベル2を設定する。
2.接続履歴における委譲レベル2の数および委譲レベル1の数の合計が、基準負荷を超えた場合の接続回数に対して95%以上であれば、委譲可能なレベルとしてレベル1を設定する。
3.上記以外はレベル0を設定する。
1および2での接続回数は、図5の接続履歴における委譲レベル0*(図4のステップS5で決定されたもの)、委譲レベル1および委譲レベル2の合計数である。IDが2のクライアントは、2の場合に該当するから、委譲可能レベルとしてレベル1が設定される。これは、委譲レベル1が実際に付与されることを示しているわけではなく、IDが2のクライアントが次に接続を要求したときには、ステップS9における予想委譲レベルが1になることを示している。
分類部34は、監視部32からのサーバ利用率および委譲可能レベルに基づいて、クライアントを図6のようにグループ分けする。図6中の1から12までの数字は該当するグループの優先度を示す。これから明らかなように、分類部34は、サーバ利用率および委譲可能レベルが高いほど優先度を高くしている。図6の例では、サーバ利用率が委譲可能レベルよりも重要視されているが、これは逆でもよい。分類部34は図6のようなグループ分けを業務時間外に定期的に(例えば、毎日、2日おき、毎週など)実行する。サーバ14の処理能力が高ければ、業務時間中にリアルタイムでグループ分けを実行することも考えられるが、そうすると接続のたびにグループ分けをやり直さなければならず、サーバ14に負荷がかかるので好ましくない。
予測部36は、監視部32がステップS14で記録したグループ毎の接続開始時刻のデータから、各グループに属するクライアントが次に接続要求を出す時間を予測し、その予測結果をグループの優先度および委譲可能レベルとともに委譲処理部28に知らせる。優先度および委譲可能レベルは分類部から取得可能である。予測部36は、例えばグループ毎の接続開始時刻のデータから平均接続要求間隔を計算し、各グループの前回の接続開始時刻からの経過時間をこの平均接続要求間隔から差し引くことによって、次接続要求の発生時刻をグループ毎に予測する。
委譲処理部28は、これらのデータに基づいて、前述のようにして要求元クライアント16の接続の可否を決定するが、その時ステップS10−S12で考慮されるのは、要求元クライアント16よりも優先度の高いグループのデータだけである。従って、要求元クライアント16のIDを予め委譲処理部28からクライアント監視部30に知らせておくことによって、要求元クライアント16よりも優先度の高いグループのデータだけを予測部36から委譲処理部28に送るようにしてもよい。その場合は、予測部36から委譲処理部28に優先度の情報を送る必要はない。
これまで説明してきた委譲処理が終わると、要求元クライアント16は、サーバ14から通知された委譲レベルに応じてサーバ14の処理を選択的に実行する。すなわち、処理部22は、委譲レベルが0の場合は、図2に示すように録音処理だけを実行し、委譲レベルが1の場合は、録音処理に続いてサーバ14の処理段階1を実行し、委譲レベルが2の場合は、処理段階1に続いて処理段階2も実行する。処理が終了すると、要求元クライアント16は処理結果をサーバ14に送り、サーバ14は受け取った処理結果に対して残りの処理段階を実行し、その処理結果、すなわちテキストデータを要求元クライアントに送り返す。
本発明の主要構成要素であるサーバ14は、例えば図7に示すようなデータ処理システム100として実装可能である。データ処理システム100は、システム・バス106に接続された複数のプロセッサ102および104を含む対称型マルチプロセッサ(SMP)システムとすることができる。代替として、単一プロセッサ・システムを用いることも可能である。さらに、システム・バス106には、ローカル・メモリ109とのインターフェースをとるメモリ・コントローラ/キャッシュ108が接続される。I/Oブリッジ110がシステム・バス106に接続され、I/Oバス112とのインターフェースをとる。メモリ・コントローラ/キャッシュ108およびI/Oバスブリッジ110は図示のように統合することができる。
I/Oバス112に接続されたPCIバス・ブリッジ114は、PCIローカル・バス116とのインターフェースをとる。PCIローカル・バス116には、クライアント16との通信のためにモデム118およびネットワーク・アダプタ120が接続される。I/Oバス112には、グラフィックス・アダプタ122およびハードディスク124も接続されている。簡単のため図7には示していないが、グラフィックス・アダプタ122にはディスプレイ・デバイスが接続され、またマウスやキーボードなどの入力デバイス、プリンタなどの出力デバイスもI/Oバス112に接続可能である。
図3に示すサーバ14の通信部24は、例えばデータ処理システム100のモデム118またはネットワーク・アダプタとして実装することができ、負荷監視部26、委譲処理部28およびクライアント監視部30は、プロセッサ102および104で実行されるプログラムの機能として実装することができる。もちろん、これらを専用のハードウェアまたはハードウェアとソフトウェアの組み合わせで実装することも可能である。図7のシステムでは、プロセッサ102および104が実行するプログラムはハードディスク124に記録されているが、ハードディスク124以外の任意の記録媒体を使用できることは言うまでもない。
クライアント16も同様な構成で構わないが、サーバ14ほど高性能でなくてもよいので、プロセッサは1台で十分である。
これまで説明してきた実施形態では、サーバが1台であったが、本発明は2台以上のサーバを含むクライアント・サーバ・システムにも適用可能である。その例を図8に示す。この代替実施形態におけるクライアント・サーバ・システム200は、ネットワーク12に接続された複数のクライアント16と、特許文献1に記載のようなロード・バランサ202を介してネットワーク12に接続された複数のサーバ204とを含んでいる。ネットワーク12およびクライアント16は図1と同じでよいが、サーバ204は、図1および図3に示すサーバ14とは異なり、通常のサーバであって、委譲処理のための構成要素26−36はすべてロード・バランサ202に移されている。
ロード・バランサ202は、各サーバ204の負荷状況を監視して、通常はサーバ間の負荷分散を実行する。このサーバ間の負荷分散には、特許文献1のような公知の手法を利用できる。そして、すべてのサーバ204の負荷が基準負荷を超えていると、ロード・バランサ202は前述の委譲処理を実行する。図4の例で説明すると、ロード・バランサ202は、あるクライアントから接続要求を受け取ると(ステップS1)、各サーバ204の負荷を計算する(ステップS2)。このとき、サーバ負荷が基準負荷を超えていないサーバが1以上あれば、その中で負荷が最低のサーバに接続要求の処理を指示し、要求元クライアントに対しては、委譲なしで接続を許可する。一方、すべてのサーバ204の負荷が基準負荷を超えていると、ロード・バランサ202は、その中で負荷が最低のサーバを選択して、図4のステップS5以下を実行する。ステップS5以下の動作は、前述と同じ同じでよいから、詳細な説明は省略する。
以上、本発明の最良の実施形態について説明してきたが、本発明はそのような実施形態に限定されるものではなく、様々な修正・変更が可能である。例えば、サーバの処理段階の数は3に限らず、アプリケーションに応じて増減可能であり、委譲レベルの数も同様である。実施形態で例示した各種数値も適宜に変更してよい。また、本発明は音声認識に限らず、画像認識などのサーバ負荷の高いアプリケーションにも適用可能である。
本発明を実施できるクライアント・サーバ・システムの概要を示す。 コールセンター業務におけるクライアントとサーバの処理の流れの一例を示す。 本発明に従うクライアント・サーバ・システムの一構成例を示す。 図3のクライアント・サーバ・システムにおける委譲処理の例示的フローを示す。 図3のクライアント・サーバ・システムにおいてクライアント監視部が記録するデータの例を示す。 クライアント監視部の分類部がサーバ利用率および委譲可能レベルに応じて複数のクライアントを分類したテーブルを示す。 サーバとして使用可能なデータ処理システムの構成例を示す。 複数のサーバを含む本発明の代替の実施形態を示す。
符号の説明
12 ネットワーク
14 サーバ
16 クライアント
20 通信部
22 処理部
24 通信部
26 負荷監視部
28 委譲処理部
30 クライアント監視部
32 監視部
34 分類部
36 予測部

Claims (11)

  1. サーバと、
    前記サーバに処理のための接続を要求する複数のクライアントとを含み、
    前記クライアントのそれぞれは、
    当該クライアントの状況を示す状況情報を接続要求とともに前記サーバに送る通信手段と、
    順次に実行される複数の処理段階を含む前記サーバの処理を選択的に実行可能な処理手段とを備え、
    前記サーバは、
    要求元クライアントから接続要求および状況情報を受け取る通信手段と、
    前記サーバの負荷状況を監視する負荷監視手段と、
    前記サーバの通信手段が受け取った接続要求に応答して、前記状況情報に基づいて、前記サーバの処理を前記要求元クライアントに委譲する委譲レベルであって、最初の処理段階から何番目の処理段階までを前記要求元クライアントに実行させるものであるかを示す委譲レベルを決定し、下記の次接続要求におけるサーバ負荷を加算した委譲後のサーバ負荷が最大許容負荷を超えていなければ、前記要求元クライアントの接続要求を許可して、前記委譲レベルを前記要求元クライアントに通知する委譲処理手段とを備え、
    前記要求元クライアントの処理手段は、通知された委譲レベルに応じた処理を実行
    前記委譲処理手段は、前記サーバの負荷が所定の基準負荷を超えていなければ、前記要求元クライアントに対し、委譲なしで接続要求を許可し、
    前記サーバは、さらに、各クライアントのサーバ利用状況を監視するクライアント監視手段を備え、
    前記委譲処理手段は、前記サーバ利用状況および前記サーバの負荷に応じて前記要求元クライアントの接続要求を許可するかどうかを決め、
    前記クライアント監視手段は、各クライアントのサーバ利用率および委譲の履歴を監視する監視手段と、前記サーバ利用率および前記委譲の履歴に応じてクライアントを複数のグループに分類してグループ毎に優先度を決定する分類手段と、グループ毎に、当該グループに属するクライアントからの接続要求の間隔を計算することにより、次に接続要求が発生する時間を予測する予測手段とを含み、
    前記委譲処理手段は、前記要求元クライアントが属するグループの優先度よりも高い優先度を有するグループに属する別のクライアントが所定の閾値よりも短い時間内に次接続要求を発生すると予測される場合に、前記次接続要求におけるサーバ負荷を推定する、
    負荷分散型クライアント・サーバ・システム。
  2. 前記監視手段は、接続要求が許可された要求元クライアントの接続終了時に、該要求元クライアントの識別子、接続開始時刻、接続終了時刻、および委譲レベルを記録し、
    前記分類手段は、前記監視手段の記録に基づいて定期的にクライアントのグループ分けを実行する、
    請求項に記載の負荷分散型クライアント・サーバ・システム。
  3. 前記委譲処理手段は、前記別のクライアントからの次接続要求の予測発生時間までの長さが前記所定の閾値以上であれば、前記次接続要求におけるサーバ負荷を推定することなく委譲処理を実行する、請求項1または2に記載の負荷分散型クライアント・サーバ・システム。
  4. 前記委譲処理手段は、前記別のクライアントの接続要求および前記要求元クライアントの接続要求を受け入れた場合に、前記サーバ負荷が前記最大許容負荷を超えていなければ、前記要求元クライアントの接続要求を受け入れる、請求項1または2に記載の負荷分散型クライアント・サーバ・システム。
  5. 前記負荷監視手段は、委譲レベル毎に設定されたサーバ負荷の減少率、クライアントに通知された各委譲レベルの数、および委譲なしで許可した接続要求の数に基づいてサーバ負荷を計算する、請求項1に記載の負荷分散型クライアント・サーバ・システム。
  6. 複数のクライアントに接続可能であり、要求元クライアントから処理のための接続要求を受け取って該処理を実行するサーバであって、
    当該サーバの負荷状況を監視する負荷監視手段と、
    要求元クライアントから接続要求とともに前記要求元クライアントの状況を示す状況情報を受け取る通信手段と、
    前記通信手段が受け取った接続要求に応答して、前記状況情報に基づいて、順次に実行される複数の処理段階を含む前記サーバの処理を前記要求元クライアントに委譲する委譲レベルであって、最初の処理段階から何番目の処理段階までを前記要求元クライアントに実行させるものであるかを示す委譲レベルを決定し、下記の次接続要求におけるサーバ負荷を加算した委譲後のサーバ負荷が最大許容負荷を超えていなければ、前記要求元クライアントの接続要求を許可して、前記委譲レベルを前記要求元クライアントに通知することにより、前記要求元クライアントに前記委譲レベルに応じた処理を実行させる委譲処理手段と、
    を含み、
    前記委譲処理手段は、当該サーバの負荷が所定の基準負荷を超えていなければ、前記要求元クライアントに対し、委譲なしで接続要求を許可し、
    さらに、各クライアントのサーバ利用状況を監視するクライアント監視手段を含み、
    前記委譲処理手段は、前記サーバ利用状況および当該サーバの負荷に応じて前記要求元クライアントの接続要求を許可するかどうかを決め、
    前記クライアント監視手段は、各クライアントのサーバ利用率および委譲の履歴を監視する監視手段と、前記サーバ利用率および前記委譲の履歴に応じてクライアントを複数のグループに分類してグループ毎に優先度を決定する分類手段と、グループ毎に、当該グループに属するクライアントからの接続要求の間隔を計算することにより、次に接続要求が発生する時間を予測する予測手段とを含み、
    前記委譲処理手段は、前記要求元クライアントが属するグループの優先度よりも高い優先度を有するグループに属する別のクライアントが所定の閾値よりも短い時間内に次接続要求を発生すると予測される場合に、前記次接続要求におけるサーバ負荷を推定する、
    サーバ。
  7. 前記監視手段は、接続要求が許可された要求元クライアントの接続終了時に、該要求元クライアントの識別子、接続開始時刻、接続終了時刻、および委譲レベルを記録し、
    前記分類手段は、前記監視手段の記録に基づいて定期的にクライアントのグループ分けを実行する、
    請求項に記載のサーバ。
  8. 前記委譲処理手段は、前記別のクライアントからの次接続要求の予測発生時間までの長さが前記所定の閾値以上であれば、前記次接続要求におけるサーバ負荷を推定することなく委譲処理を実行する、請求項に記載のサーバ。
  9. 前記委譲処理手段は、前記別のクライアントの接続要求および前記要求元クライアントの接続要求を受け入れた場合に、前記サーバ負荷が前記最大許容負荷を超えていなければ、前記要求元クライアントの接続要求を受け入れる、請求項に記載のサーバ。
  10. 前記負荷監視手段は、委譲レベル毎に設定されたサーバ負荷の減少率、クライアントに通知された各委譲レベルの数、および委譲なしで許可した接続要求の数に基づいてサーバ負荷を計算する、請求項に記載のサーバ。
  11. 複数のサーバと、
    複数のクライアントと、
    前記クライアントのそれぞれから処理のための接続要求を受け取って、前記複数のサーバから1つのサーバを選択して該1つのサーバに処理を実行させるロード・バランサとを含み、
    前記クライアントのそれぞれは、
    当該クライアントの状況を示す状況情報を接続要求とともに前記ロード・バランサに送る通信手段と、
    順次に実行される複数の処理段階を含むサーバの処理を選択的に実行可能な処理手段とを備え、
    前記ロード・バランサは、
    要求元クライアントから接続要求および状況情報を受け取る通信手段と、
    前記サーバの負荷状況を監視する負荷監視手段と、
    当該ロード・バランサの通信手段が受け取った接続要求に応答して、前記状況情報に基づいて、前記1つのサーバの処理を前記要求元クライアントに委譲する委譲レベルであって、最初の処理段階から何番目の処理段階までを前記要求元クライアントに実行させるものであるかを示す委譲レベルを決定し、下記の次接続要求におけるサーバ負荷を加算した委譲後のサーバ負荷が最大許容負荷を超えていなければ、前記要求元クライアントの接続要求を許可して、前記委譲レベルを前記要求元クライアントに通知する委譲処理手段とを備え、
    前記要求元クライアントの処理手段は、通知された委譲レベルに応じた処理を実行
    前記委譲処理手段は、前記サーバの負荷が所定の基準負荷を超えていなければ、前記要求元クライアントに対し、委譲なしで接続要求を許可し、
    前記ロード・バランサは、さらに、各クライアントのサーバ利用状況を監視するクライアント監視手段を備え、
    前記委譲処理手段は、前記サーバ利用状況および前記サーバの負荷に応じて前記要求元クライアントの接続要求を許可するかどうかを決め、
    前記クライアント監視手段は、各クライアントのサーバ利用率および委譲の履歴を監視する監視手段と、前記サーバ利用率および前記委譲の履歴に応じてクライアントを複数のグループに分類してグループ毎に優先度を決定する分類手段と、グループ毎に、当該グループに属するクライアントからの接続要求の間隔を計算することにより、次に接続要求が発生する時間を予測する予測手段とを含み、
    前記委譲処理手段は、前記要求元クライアントが属するグループの優先度よりも高い優先度を有するグループに属する別のクライアントが所定の閾値よりも短い時間内に次接続要求を発生すると予測される場合に、前記次接続要求におけるサーバ負荷を推定する、
    負荷分散型クライアント・サーバ・システム。
JP2007551974A 2005-12-28 2006-12-26 クライアント・サーバ・システムにおける負荷分散 Active JP5065050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007551974A JP5065050B2 (ja) 2005-12-28 2006-12-26 クライアント・サーバ・システムにおける負荷分散

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005377421 2005-12-28
JP2005377421 2005-12-28
PCT/JP2006/325831 WO2007074797A1 (ja) 2005-12-28 2006-12-26 クライアント・サーバ・システムにおける負荷分散
JP2007551974A JP5065050B2 (ja) 2005-12-28 2006-12-26 クライアント・サーバ・システムにおける負荷分散

Publications (2)

Publication Number Publication Date
JPWO2007074797A1 JPWO2007074797A1 (ja) 2009-06-04
JP5065050B2 true JP5065050B2 (ja) 2012-10-31

Family

ID=38218017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007551974A Active JP5065050B2 (ja) 2005-12-28 2006-12-26 クライアント・サーバ・システムにおける負荷分散

Country Status (5)

Country Link
US (2) US8924467B2 (ja)
EP (1) EP1973037B1 (ja)
JP (1) JP5065050B2 (ja)
CN (1) CN101346696B (ja)
WO (1) WO2007074797A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924467B2 (en) 2005-12-28 2014-12-30 International Business Machines Corporation Load distribution in client server system

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4557949B2 (ja) * 2006-04-10 2010-10-06 富士通株式会社 資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法
JP4324975B2 (ja) * 2006-09-27 2009-09-02 日本電気株式会社 負荷低減システム、計算機、及び負荷低減方法
US8504037B2 (en) * 2008-08-13 2013-08-06 Korea Advanced Institute Of Science And Technology (Kaist) Handover method and apparatus based on history information in wireless networks
US8843630B1 (en) * 2008-08-27 2014-09-23 Amazon Technologies, Inc. Decentralized request routing
US8250182B2 (en) * 2008-11-30 2012-08-21 Red Hat Israel, Ltd. Dynamic loading between a server and a client
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center
US20120016949A1 (en) * 2009-03-23 2012-01-19 Junichi Higuchi Distributed processing system, interface, storage device, distributed processing method, distributed processing program
US8433749B2 (en) * 2009-04-15 2013-04-30 Accenture Global Services Limited Method and system for client-side scaling of web server farm architectures in a cloud data center
US8595289B2 (en) * 2010-09-21 2013-11-26 Telefonaktiebolaget L M Ericsson (Publ) Cloud phone with distributed processing
EP2563028A1 (en) * 2011-08-23 2013-02-27 Alcatel Lucent Media procesing load sharing
JP2013061845A (ja) * 2011-09-14 2013-04-04 Ricoh Co Ltd 携帯機器及びその制御方法
US8914521B2 (en) 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing in a traffic director environment
US20130093776A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Delivering a Single End User Experience to a Client from Multiple Servers
CN103856517B (zh) * 2012-11-30 2017-06-23 英业达科技有限公司 同步均衡系统及其方法
KR20140089871A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 대화형 서버, 그 제어 방법 및 대화형 시스템
CN103971687B (zh) * 2013-02-01 2016-06-29 腾讯科技(深圳)有限公司 一种语音识别系统中的负载均衡实现方法和装置
GB201305211D0 (en) * 2013-03-21 2013-05-01 Ibm Workload placement in a computer system
WO2015163084A1 (ja) 2014-04-22 2015-10-29 オリンパス株式会社 データ処理システム及びデータ処理方法
CN105007336B (zh) * 2015-08-14 2018-06-29 深圳市云舒网络技术有限公司 服务器的负载均衡方法及其系统
JP6143986B1 (ja) * 2016-09-27 2017-06-07 三菱電機株式会社 情報提示システム
KR102108835B1 (ko) * 2018-04-24 2020-05-29 주식회사 넥서스커뮤니티 예측 로드 밸런싱 방법 및 장치 그리고 예측 로드 밸런싱 방법이 수록된 컴퓨터로 읽어들일 수 있는 기록 매체
KR101916799B1 (ko) 2018-06-18 2018-11-08 주식회사 에프아이티 빅데이터 서버 부하 분산 제어 장치 및 방법
CN111245913A (zh) * 2020-01-06 2020-06-05 深圳壹账通智能科技有限公司 基于网关的报文发送方法、装置、计算机设备和存储介质
CN111522843B (zh) * 2020-06-01 2023-06-27 北京创鑫旅程网络技术有限公司 数据平台的控制方法、系统、设备及存储介质
CN112866395B (zh) * 2020-11-18 2023-04-07 统信软件技术有限公司 一种服务请求处理系统、方法及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167079A (ja) * 1990-10-31 1992-06-15 Toshiba Corp 画像処理装置
JP2003058519A (ja) * 2001-08-09 2003-02-28 Sharp Corp 分散処理システム、それに使用されるサーバ装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP2003256222A (ja) * 2002-03-04 2003-09-10 Matsushita Electric Ind Co Ltd 分散処理システム、ジョブ分散処理方法およびプログラム
JP2006293743A (ja) * 2005-04-12 2006-10-26 Mitsubishi Electric Corp サーバ型計算機および転送評価判定装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2272085A (en) 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
US5923875A (en) * 1995-08-28 1999-07-13 Nec Corporation Load distributing job processing system
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
JPH1049504A (ja) * 1996-08-02 1998-02-20 Mitsubishi Electric Corp 負荷分散バッチシステム
JPH1153326A (ja) 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
JP4137264B2 (ja) * 1999-01-05 2008-08-20 株式会社日立製作所 データベース負荷分散処理方法及びその実施装置
US6393458B1 (en) * 1999-01-28 2002-05-21 Genrad, Inc. Method and apparatus for load balancing in a distributed object architecture
JP4745478B2 (ja) * 1999-01-29 2011-08-10 キヤノン株式会社 ネットワークプリントシステム及び情報処理装置及びその制御方法
EP1049307A1 (en) 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
JP4001698B2 (ja) * 1999-10-14 2007-10-31 富士通株式会社 負荷分散システム
US6377975B1 (en) * 2000-03-01 2002-04-23 Interactive Intelligence, Inc. Methods and systems to distribute client software tasks among a number of servers
US20090216641A1 (en) * 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US6963897B1 (en) * 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US7092985B2 (en) * 2000-03-30 2006-08-15 United Devices, Inc. Method of managing workloads and associated distributed processing system
US6965930B1 (en) * 2000-10-20 2005-11-15 International Business Machines Corporation Methods, systems and computer program products for workload distribution based on end-to-end quality of service
US7412525B2 (en) * 2001-01-24 2008-08-12 Microsoft Corporation System verifying if an email request passed a policy check before initiating an interactive telephony session
US20030149741A1 (en) * 2002-02-05 2003-08-07 Krooss Kevin William Methods for implementing remote operating system procedure calls
US7454458B2 (en) * 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
JP4167079B2 (ja) 2003-01-09 2008-10-15 Towa株式会社 電子部品の樹脂成形用金型装置
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7660829B2 (en) * 2003-05-30 2010-02-09 Microsoft Corporation System and method for delegating file system operations
CN100385392C (zh) * 2003-06-24 2008-04-30 北京邮电大学 大规模分布式入侵检测系统的任务分派方法
US20050027862A1 (en) * 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US7827595B2 (en) * 2003-08-28 2010-11-02 Microsoft Corporation Delegated administration of a hosted resource
US8180922B2 (en) * 2003-11-14 2012-05-15 Cisco Technology, Inc. Load balancing mechanism using resource availability profiles
WO2006045337A1 (en) * 2004-10-28 2006-05-04 Telecom Italia S.P.A. Method for managing resources in a platform for telecommunication service and/or network management, corresponding platform and computer program product therefor
US7613680B2 (en) * 2005-05-06 2009-11-03 Hitachi, Ltd. Computer system and the computer control method
US7805527B2 (en) * 2005-06-29 2010-09-28 Microsoft Corporation Using a variable identity pipe for constrained delegation and connection pooling
US7610425B2 (en) * 2005-08-22 2009-10-27 Sun Microsystems, Inc. Approach for managing interrupt load distribution
US7934216B2 (en) * 2005-10-03 2011-04-26 International Business Machines Corporation Method and system for load balancing of computing resources
JP5065050B2 (ja) 2005-12-28 2012-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアント・サーバ・システムにおける負荷分散

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167079A (ja) * 1990-10-31 1992-06-15 Toshiba Corp 画像処理装置
JP2003058519A (ja) * 2001-08-09 2003-02-28 Sharp Corp 分散処理システム、それに使用されるサーバ装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP2003256222A (ja) * 2002-03-04 2003-09-10 Matsushita Electric Ind Co Ltd 分散処理システム、ジョブ分散処理方法およびプログラム
JP2006293743A (ja) * 2005-04-12 2006-10-26 Mitsubishi Electric Corp サーバ型計算機および転送評価判定装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924467B2 (en) 2005-12-28 2014-12-30 International Business Machines Corporation Load distribution in client server system
US9712640B2 (en) 2005-12-28 2017-07-18 International Business Machines Corporation Load distribution in client server system

Also Published As

Publication number Publication date
CN101346696A (zh) 2009-01-14
US20090006541A1 (en) 2009-01-01
JPWO2007074797A1 (ja) 2009-06-04
EP1973037A4 (en) 2010-07-21
US8924467B2 (en) 2014-12-30
US9712640B2 (en) 2017-07-18
US20150032806A1 (en) 2015-01-29
EP1973037B1 (en) 2012-08-29
WO2007074797A1 (ja) 2007-07-05
CN101346696B (zh) 2013-10-02
EP1973037A1 (en) 2008-09-24

Similar Documents

Publication Publication Date Title
JP5065050B2 (ja) クライアント・サーバ・システムにおける負荷分散
JP6457447B2 (ja) データセンターのネットワークトラフィックスケジューリング方法及び装置
Krueger et al. A Comparison of Preemptive and Non-Preemptive Load Distributing.
Goswami et al. Performance analysis of cloud with queue-dependent virtual machines
JP2004056517A (ja) トランザクション振り分けプログラム
JPH11259443A (ja) クライアント要求をスケジュ―ルしディスパッチする装置及び方法
US20040158637A1 (en) Gated-pull load balancer
EP1880286A1 (en) Data processing network
CN106528288A (zh) 一种资源管理方法、装置和系统
US11438271B2 (en) Method, electronic device and computer program product of load balancing
Ghosh et al. Dynamic time quantum priority based round robin for load balancing in cloud environment
WO2017112324A1 (en) Ranking system
CN109347982A (zh) 一种数据中心的调度方法及装置
CN1783121A (zh) 用于执行设计自动化的方法和系统
US20100067402A1 (en) Middleware components for bundling service invocations
EP3539278B1 (en) Method and system for affinity load balancing
CN115421889A (zh) 进程间的请求管理方法、装置、电子设备及存储介质
CN113434591A (zh) 数据处理方法以及装置
Outamazirt et al. Performance analysis of the M/G/c/c+ r queuing system for cloud computing data centres
Kraiss et al. Towards response time guarantees for e-service middleware
CN114237895B (zh) 线程资源调度的方法、装置、存储介质及电子设备
CN114356513B (zh) 用于集群模式的任务处理方法及装置
WO2021074997A1 (ja) 解析処理装置、システム、方法及びプログラムが格納された非一時的なコンピュータ可読媒体
Khetan et al. Improved Load Efficiency Algorithm In Cloud
CN118467258A (zh) 业务处理方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120627

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5065050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3