JP5556227B2 - バスシステム - Google Patents

バスシステム Download PDF

Info

Publication number
JP5556227B2
JP5556227B2 JP2010035933A JP2010035933A JP5556227B2 JP 5556227 B2 JP5556227 B2 JP 5556227B2 JP 2010035933 A JP2010035933 A JP 2010035933A JP 2010035933 A JP2010035933 A JP 2010035933A JP 5556227 B2 JP5556227 B2 JP 5556227B2
Authority
JP
Japan
Prior art keywords
server
load
request
service
status
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
JP2010035933A
Other languages
English (en)
Other versions
JP2011170751A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010035933A priority Critical patent/JP5556227B2/ja
Publication of JP2011170751A publication Critical patent/JP2011170751A/ja
Application granted granted Critical
Publication of JP5556227B2 publication Critical patent/JP5556227B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ESB(Enterprise Service Bus)などのバスシステムに関する。
SOA(Service-Oriented Architecture)における既存システムのサービス化を行うために利用される技術として、ESBと呼ばれるバスシステムを利用する方法が存在する。このESB概念は、サービス(アプリケーションやコンポーネント)へのアクセスを行い、複数のサービスを協調・連携動作するSOAシステムを、論理的なソフトウェアバスに基づいて構成するというソフトウェア設計上の考え方である。
図9は従来の負荷分散システム50の構成例を示す図である。
各サーバ10a、10bに実装されたアプリケーションなどのサービスA、Bと、各クライアント20a〜20cに実装されたクライアントプログラムCP1〜CP3とは、ESBシステム30を介して接続される。各サービスA、Bと各プログラムCP1〜CP3との間の通信は、全てESBシステム30を介して行われる。なお、各サービスA、BとESBシステム30の間は、汎用的なHTTP、SOAP、JMS等により通信が行われる。
ここで、ESBシステム30は、クライアントアプリケーションCPからのリクエストに応じて所望のサービス(例えばサービスA)へアクセスを行うが、リクエストを受けたサービスAを実装したサーバ(例えばサーバ10a)の処理能力が低下している場合には、該サービスAはリクエストを処理しきれないことがある。
かかる問題を解消するために、負荷分散を実現するロードバランサをESBシステムに実装することで、単一のサーバに負荷が集中することを防ぐことが昨今では一般的となっている(例えば特許文献1参照)。
特開2005−182641号公報
図10および図11は、ロードバランサ31を搭載したESBシステム30の問題点を説明するための図である。
図10に示すように、クライアントプログラムCP1がサービスAを利用している最中に、クライアントプログラムCP2がサービスBに対してメッセージサイズM1のリクエストを行ったとする。この場合、ESBシステム30のロードバランサ31は、クライアントプログラムCP1によってサーバ10aのサービスAが利用されていることから、すでにリソースが使用されているサーバ10aのサービスBではなく、リソースが使用されていないサーバ10bのサービスBへ該リクエストを送る。この結果、サーバ10aにおいては、サービス10aが利用されることでリソースの50%が使用され、サーバ10bにおいては、サービス10bが利用されることでリソースの40%が使用される(図10参照)。
その後、図11に示すように、クライアントプログラムCP3がサービスBに対して、リソースの60%の使用が要求される大きなメッセージサイズM2(>M1)のリクエストを行ったとする。サーバ10bにおいては、すでにサービスBが利用されていることから、ロードバランサ31は、サーバ10aのサービスBへのリクエストを試みる。しかしながら、サーバ10aにおいては、サービスAの利用によりリソースの50%が使用されているため、クライアントプログラムCP3からのリクエストに応えることができない、という問題が生じ得る。
本発明は以上説明した事情を鑑みてなされたものであり、各サーバに要求される負荷を効率よく分散させることが可能なバスシステムを提供することを目的とする。
本発明に係るバスシステムは、クライアントからのリクエストに応じてサービスを提供する複数のサーバの負荷状況を収集し、収集結果に基づき負荷分散を実現するバスシステムであって、前記各サーバの負荷状況を収集する収集手段と、前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測手段と、収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択手段と、選択されたサーバに前記クライアントからのリクエストを送信する送信手段とを備え、前記選択手段は、前記リクエストに応じたサービスを提供することができ、かつ、前記各サーバの負荷状況に応じて設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択することを特徴とする。
かかる構成によれば、サーバの負荷状況(別言すればリソースの使用状況)に応じて適切なサーバにリクエストを振り分けるため、効率よくサーバを利用することが可能となる。
以上説明したように、本発明によれば、各サーバに要求される負荷を効率よく分散させることが可能となる。
本実施形態に係る負荷分散システムの概略構成を示す図である。 同実施形態に係るリソース情報を例示した図である。 同実施形態に係るステータステーブルを例示した図である。 同実施形態に係る予測処理性能テーブルを例示した図である。 同実施形態に係るロードバランサテーブルを例示した図である。 同実施形態に係るテーブル更新処理を示すシーケンス図である。 同実施形態に係るリクエスト処理を示すシーケンス図である。 変形例に係る負荷分散システムの概略構成を示す図である。 従来の負荷分散システムの概略構成図である。 ロードバランサを搭載した従来のESBシステムの問題点を説明するための図である。 ロードバランサを搭載した従来のESBシステムの問題点を説明するための図である。
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
A.本実施形態
(1)実施形態の構成
図1は、本実施形態に係る負荷分散システム500の構成例を示す図である。
複数のサービスを提供するサーバ100と、各サービスを利用するクライアントプログラムCP1が搭載されたクライアント200と、クライアントプログラムCPからのリクエストを適切なサーバ100のサービスに割り振り等を行うESBシステム300とを備えて構成される。なお、図1では説明の便宜上、サーバを2台、クライアントを1台のみ図示しているが、本来は多数のサーバ、クライアントが存在する。また、各サーバ100が提供するサービスの種類(本実施形態ではサービスA、B、Cを想定)や数等も図1に示したものに限定する趣旨でないのはもちろんである。
各サーバ100は、クライアントプログラムCPからのリクエストに応じて、サービスを提供する。サーバ100に実装された各サービスは、サーバ100のハードウェア資源(CPUやROM、RAMなど)と協働することにより、リスナ手段111、アプリケーション実行手段112、リソースモニタ手段113、エージェント手段114を実現する。
リスナ手段111は、クライアントプログラムCPからESBシステム300を介してリクエストを受信する一方、アプリケーション実行手段112は、リスナ手段111が受信したリクエストに応じて該サービスの処理を実行する。これらリスナ手段111やアプリケーション実行手段112は、周知のWebサーバソフトウェア(Apache HTTP Serverなど)とHTMLファイルなどによって実現される。
リソースモニタ手段113は、サーバ100が提供するサービスごとに、ハードウェアリソース(CPUやメモリなど)の使用状況などをあらわす情報(以下、リソース情報という)を所定タイミングで集計し、エージェント手段114に送信する。各サービス100のエージェント手段114は、ESBシステム300のリスナ手段311bへ送る。
図2は、サーバ100aの各サービスA、BからESシステム300へ提供されるリソース情報を例示した図である。
図2に示すように、各サービスA、Bが提供するリソース情報には、当該サービスを利用するクライアント200を識別するクライアントIDと、当該クライアント200から送信されるメッセージのサイズ(リクエストメッセージサイズ)と、ハードウェアリソースの詳細な使用状況をあらわす情報(リソース詳細情報)とが含まれている。一例を挙げて説明すると、サービスAの利用に関し、クライアントαから送信されるリクエストメッセージサイズ「2MB」のリクエストに応じて、CPU使用率「20%」、メモリ使用量「40KB」、NIC使用量「10%」のハードウェアリソースが使用される一方、クライアントβから送信されるリクエストメッセージサイズ「1MB」のリクエストに応じて、CPU使用率「10%」、メモリ使用量「20KB」、NIC使用量「10%」のハードウェアリソースが使用される・・・等の情報がサービスAのリソース情報に含まれている。
同様に、サービスBの利用に関し、クライアントβから送信されるリクエストメッセージサイズ「2MB」のリクエストに応じて、CPU使用率「20%」、メモリ使用量「20KB」、NIC使用量「10%」のハードウェアリソースが使用される一方、クライアントγから送信されるリクエストメッセージサイズ「3MB」のリクエストに応じて、CPU使用率「30%」、メモリ使用量「40KB」、NIC使用量「15%」のハードウェアリソースが使用される・・・等の情報がサービスSV2のリソース情報に含まれている。
なお、上記説明では、サーバ100aに実装された各サービスA、BからESBシステム300へ提供される各リソース情報を例示したが、他のサーバ100に実装された各サービスも同様にしてリソース情報を提供する。
ESBシステム300は、ESBシステム300に実装されたソフトウェアがハードウェア資源と協働することにより、リスナ手段311a、311b、エージェント集計手段312、ロードバランサ313、レジストリ更新手段314を実現する。
リスナ手段311aは、クライアント200(クライアントプログラムCP)から特定サービス(例えばサービスA)のリクエストなどを受信し、これをロードバランサ313に送信する。リスナ手段311bは、各サービスから送信されるリソース情報を受信し、これをエージェント集計手段312に渡す。
エージェント集計手段(収集手段)312は、各サービスから受信するリソース情報(サーバの負荷状況)をまとめることにより、ステータステーブルTA1を作成する。
図3は、ステータステーブルTA1の登録内容を例示した図である。
ステータステーブルTA1には、サービスの種類と、サービスを提供するサーバ100の名前と、当該サーバのリソース詳細情報とが対応づけて登録されている。例えば、サービスAは、サーバ100aとサーバ100bによって提供されており、サーバ100aは、サービスAの利用によりCPU使用率が「60%」、メモリ使用量が「1GB」、NIC使用量が「40%」のハードウェアリソースが使用され、サーバ100bは、サービスSBの利用によりCPU使用率が「20%」、メモリ使用量が「0.5GB」、NIC使用量が「20%」のハードウェアリソースが使用される。
レジストリ更新手段(予測手段)314は、各サービスから受信するリソース情報(別言すれば、サービスの過去の処理特性)に基づき、リクエスト毎の予測処理性能テーブルTA2を作成・更新し、これをサービスレジストリ314aに格納する。
図4は、予測処理性能テーブルTA2を例示した図である。
予測処理性能テーブルTA2には、リクエスト詳細情報と、予測リソース情報とが対応づけて登録されている。ここで、リクエスト詳細情報とは、サービス名とリクエストメッセージサイズ(以下、単にメッセージサイズと略称)とを含む情報であり、予測リソース情報とは、予測されるサーバ100のハードウェア資源の使用状況(すなわち、予測されるサーバの負荷量)をあらわす情報である。例えば、クライアント200からサービスAに対してメッセージサイズ2MBのリクエストメッセージが送信された場合には、CPU使用率(予測値)が「20%」、メモリ使用量(予測値)が「40KB」、NIC使用量(予測値)が「20%」使用されると予測される。同様に、クライアント200からサービスAに対してメッセージサイズ1MBのリクエスメッセージが送信された場合には、CPU使用率(予測値)が「10%」、メモリ使用量(予測値)が「20KB」、NIC使用量(予測値)が「10%」使用されると予測される。
ロードバランサ313は、各サービスから受信するリソース情報に基づき、ロードバランステーブルTA3を作成・更新し、これをロードバランスレジストリ313aに格納する。さらに、ロードバランサ(選択手段、送信手段)313は、ロードバランステーブルTA3等を参照することで、クライアント200からのリクエストの送信先となるサーバを選択し、選択したサーバ100のサービス(例えばサーバ100aのサービスA)に対してリクエストを転送する。
図5は、ロードバランステーブルTA3を例示した図である。
ロードバランステーブルTA3には、サーバ100の名前と、該サーバ100が提供するサービスの種類と、該サーバ100の利用に関する優先度(以下、単に優先度という)と、ステータス(active, nonactiveなど)とが対応づけて登録されている。
ここで、優先度は、数値が高いほどクライアントからのリクエストを割り当てる確率が高いことを意味する。従って、図5に示す例ではサーバ100aに設定された優先度が最も高い(具体的には優先度「10」)であることから、サーバ100aは次にクライアントからのリクエストが割り当てられる確率が高いと予測される。
(2)実施形態の動作
2−1.テーブル更新処理
図6は、ESBシステム300において実行されるテーブル更新処理を示すシーケンス図である。なお、以下の説明ではサーバ100aのサービスAからESBシステム300にリソース情報が送信される場合を想定する。
サービスAのエージェント手段114は、リソースモニタ手段113に対して定期的にリソース情報(リクエスト毎または全体のリソース情報)の転送要求を行う(ステップA1)。なお、転送要求は、不定期であっても良い。
リソースモニタ手段113は、サービスAが稼動するサーバ100aのリソース情報を取得し、これをエージェント手段114に返す(ステップA2)。リソースモニタ手段113が取得するリソース情報には、例えば図2の上段に示すような当該サービスAを利用するクライアント200を識別するクライアントIDと、当該クライアント200から送信されるメッセージのサイズ(リクエストメッセージサイズ)と、ハードウェアリソースの詳細な使用状況をあらわす情報(リソース詳細情報)が含まれる。なお、リソース詳細情報には、CPU使用率、メモリ使用量、NIC使用量のほか、例えば通信接続数やネットワーク帯域使用率など、様々な情報を含んで良いのはもちろんである。
エージェント手段114は、リソース情報を取得すると、これをESBシステム300のリスナ311bに送信する(ステップA3)。なお、通信プロトコルは特に限定されない。リスナ手段311bは、サーバ100aのサービスAからリソース情報を受信すると、これをエージェント集計手段312に送る(ステップA4)。エージェント集計手段312は、各サーバ100の各サービスから送信される様々なリソース情報を集め、図3に示すようなステータステーブルTA1を作成するとともに、該リソース情報に基づいて図4に示すような予測処理性能テーブルTA2を作成・更新する(ステップA5)。
そして、エージェント集計手段312は、ロードバランサレジストリ313aにアクセスし、ロードバランサテーブルTA3を読みこむ(ステップA6)。図5に示すように、ロードバランステーブルTA3には、サーバ100の名前と、該サーバ100が提供するサービスの種類と、優先度というと、ステータス(active, nonactiveなど)とが対応づけて登録されている。エージェント集計手段312は、例えば図3に示すステータステーブルTA1と図5に示すロードバランサテーブルTA3に基づいて、ロードバランサテーブルTA3の各サービスに対応づけて登録されている優先度(重み付け)を変更し、ロードバランサテーブルTA3の更新を行う(ステップA7→ステップA8)。この優先度は、当該時点での負荷(すなわちリソースの使用率等)が大きいものほど高く設定される。
以上の処理が終了すると、エージェント集計手段312は、レジストリ更新手段314に対してサービスレジストリ314aに登録されている予測処理性能テーブルTA2の更新を依頼する(ステップA9)。レジストリ更新手段314は、エージェント集計手段312からの更新依頼を受け、リクエストごとにメッセージサイズと紐付け、メッセージサイズごとの予測リソース情報を更新し(ステップA10)、処理を終了する。なお、優先度の変更ポリシーや優先度の設定ルールなどは、負荷分散システム500の設計などに応じて適宜設定・変更可能である。
2−2.リクエスト処理
図7は、クライアントからサービスのリクエストがあったときにESBシステム300において実行されるリクエスト処理を示すシーケンス図である。
クライアント(クライアントプログラムCP)200は、特定サービス(例えばサービスA)を利用するべく、所定のメッセージサイズ(例えば2MB)のリクエストをESBシステム300に送る(ステップB1)。ESBシステム300のロードバランサ313は、リスナ手段311aからリクエストを受信すると、リクエスト先のサービス(例えばサービスA)のプロトコルにあわせてプロトコル変換を行うとともに、ロードバランサテーブルTA3からロードバランサテーブルTA3を取得する(ステップB2)。さらに、ロードバランサ313は、サービスレジストリ314aに登録されている予測処理性能テーブルTA2を取得し (ステップB3)、クライアント200から送信されるリクエストのメッセージサイズ、リクエスト先のサービスをキーとして、レジストリ更新テーブルTAを検索することにより、当該リクエストに応じたサービスを提供する際に必要となるサーバの予測リソース情報(CPUの使用率、メモリ使用量、NIC使用量など)を把握する。
そして、ロードバランサ313は、ロードバランサテーブルTA3を参照することでリクエスト先のサービスがデプロイされているサーバ(例えばサーバ100a)を把握するとともに、該サーバが複数ある場合には(例えばサーバ100a、100b)、各サーバに対応づけて登録されている優先度を参照し、最も優先度の高いサーバ(例えばサーバ100a)を選択する(ステップB3)。ここで、優先度はリソースの使用量が高いものほど、高く設定されている。よって、サーバの選択に際しては、当該リクエストを処理できるサーバ100であって、もっとも余剰リソースの少ないサーバ100が選択されることとなる。ロードバランサ313は、このようにして選択したサーバ100のサービス(例えばサーバ100aのサービスA)に対してリクエストを転送し(ステップB4)、処理を終了する。
以上説明したように、本実施形態によれば、サーバのリソースの使用状況に応じて適切なサーバにリクエストを振り分けるため、効率よくサーバを利用することができる。
また、各サーバの活性もチェックしているため(ロードバランサテーブルTA3参照)、システムダウンしているサーバにアクセスしてしまう等の動作も未然に防止することが可能となる。さらに、リソース枯渇を抑制することができるため、リクエストを送信してからのTAT(Turn Around Time)を平坦化等することが可能となる。
加えて、活性チェックを行っているため、意図的にサーバを停止させてリソースを動的に変更することも可能となる。
B.変形例
上述した本実施形態では、ロードバランサテーブルTA3が格納されるロードバランサレジストリ313aをESBシステム300の中に設けた態様を例示したが、ESBシステム300の外部にロードバランサテーブルTA3が格納されるデータベースDBを設けても良い。
図8は、変形例に係る負荷分散システム500’の構成を示す図であり、図1に対応している。なお、図1に対応する部分には同一符号を付し、詳細な説明は割愛する。
負荷分散システム500’は、複数のESBシステム300a、300bを備えており、ESBシステム300a、300bの外部にはロードバランサテーブルTA3が格納されるデータベースDBが設けられている。
ESBシステム300a、300bの外部にデータベースDBを設けた場合には、各ESBシステム300a、300bがロードバランサテーブルTA3に登録された情報を取得等する際、ネットワーク通信が必要となるが、各ESBシステム300a、300bが情報を共有できるメリットがある。さらに、信頼性の高いデータベースDBを利用することで、データベースDBに登録されたデータの紛失や問題発生時のロールバック等を行うことも可能となる。
なお、本実施形態等において示した各処理のステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。さらに本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。さらにまた、1つの手段が有する機能が2つ以上の物理的手段により実現されても、2つ以上の手段の機能が1つの物理的手段により実現されてもよい。また、本発明に係るソフトウェアの開発支援プログラムは、CD−ROMやDVD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
また、本実施形態や変形例で示した態様の一部又は全部は、付記のように記載することもできるが、これに限定されるものではない。
(付記1)クライアントからのリクエストに応じてサービスを提供する複数のサーバの負荷状況を収集し、収集結果に基づき負荷分散を実現するバスシステムであって、前記各サーバの負荷状況を収集する収集手段と、前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測手段と、収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択手段と、選択されたサーバに前記クライアントからのリクエストを送信する送信手段とを備え、前記選択手段は、前記リクエストに応じたサービスを提供することができ、かつ、前記各サーバの負荷状況に応じて設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択する、ことを特徴とするバスシステム。
(付記2)前記収集手段は、前記各サーバが提供する各サービスから、当該サーバのリソースの使用状況をあらわす情報を収集する、ことを特徴とする付記1に記載のバスシステム。
(付記3)前記サービスの過去の処理特性には、当該サービスの種類、当該サービスのリクエストメッセージサイズ、当該サービスの提供のために要したサーバの負荷量が含まれる、ことを特徴とする付記1または2に記載のバスシステム。
(付記4)前記優先度は、前記選択手段により当該時点での負荷が大きなものほど高く設定される、ことを特徴とする付記1〜3のいずれか1の付記に記載のバスシステム。
(付記5)前記予測手段は、前記収集手段によって収集された各サーバの負荷状況に基づいて、予測する前記リクエストに応じたサービスの提供に係るサーバの負荷量を更新する、付記1〜4のいずれか1の付記に記載のバスシステム。
(付記6)クライアントと、前記クライアントからのリクエストに応じてサービスを提供する複数のサーバと、前記各サーバの負荷状況を収集し、収集結果に基づき負荷分散を実現するバスシステムと、を備えた負荷分散システムであって、前記バスシステムは、前記各サーバの負荷状況を収集する収集手段と、前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測手段と、収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択手段と、選択されたサーバに前記クライアントからのリクエストを送信する送信手段とを備え、前記選択手段は、前記リクエストに応じたサービスを提供することができ、かつ、前記各サーバの負荷状況に応じて設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択する、ことを特徴とする負荷分散システム。
(付記7)クライアントからのリクエストに応じてサービスを提供する複数のサーバの負荷状況を収集し、収集結果に基づき負荷分散を実現する方法であって、前記各サーバの負荷状況を収集する収集ステップと、前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測ステップと、収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択ステップと、選択されたサーバに前記クライアントからのリクエストを送信する送信ステップとを含み、前記選択ステップにおいては、前記リクエストに応じたサービスを提供することができ、かつ、前記各サーバの負荷状況に応じて設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択する、ことを特徴とする負荷分散方法。
500,500’…負荷分散システム、100…サーバ、111,311a,311b…リスナ手段、112…アプリケーション実行手段、113…リソースモニタ手段、114…エージェント手段、200…クライアント、300…ESBシステム、312…エージェント集計手段、313…ロードバランサ、313a…ロードバランサレジストリ、314…レジストリ更新手段、314a…サービスレジストリ、DB…データベース、TA1…ステータステーブル、TA2…予測処理性能テーブル、TA3…ロードバランサテーブル。

Claims (6)

  1. クライアントからのリクエストに応じてサービスを提供する複数のサーバの負荷状況を収集し、収集結果に基づき負荷分散を実現するバスシステムであって、
    前記各サーバの負荷状況を収集する収集手段と、
    前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測手段と、
    収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択手段と、
    選択されたサーバに前記クライアントからのリクエストを送信する送信手段とを備え、
    前記収集手段は、前記各サーバの負荷状況に応じて、各サーバに対して異なる優先度を設定し、
    前記選択手段は、前記リクエストに応じたサービスを提供することができ、かつ、前記収集手段によって設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択し、
    前記優先度は、前記選択手段により当該時点での負荷が大きなものほど高く設定される、ことを特徴とするバスシステム。
  2. 前記収集手段は、
    前記各サーバが提供する各サービスから、当該サーバのリソースの使用状況をあらわす情報を収集する、ことを特徴とする請求項1に記載のバスシステム。
  3. 前記サービスの過去の処理特性には、当該サービスの種類、当該サービスのリクエストメッセージサイズ、当該サービスの提供のために要したサーバの負荷量が含まれる、ことを特徴とする請求項1または2に記載のバスシステム。
  4. 前記予測手段は、前記収集手段によって収集された各サーバの負荷状況に基づいて、予測する前記リクエストに応じたサービスの提供に係るサーバの負荷量を更新する、請求項1〜のいずれか1の請求項に記載のバスシステム。
  5. クライアントと、
    前記クライアントからのリクエストに応じてサービスを提供する複数のサーバと、
    前記各サーバの負荷状況を収集し、収集結果に基づき負荷分散を実現するバスシステムと、を備えた負荷分散システムであって、
    前記バスシステムは、
    前記各サーバの負荷状況を収集する収集手段と、
    前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測手段と、
    収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択手段と、
    選択されたサーバに前記クライアントからのリクエストを送信する送信手段とを備え、
    前記収集手段は、前記各サーバの負荷状況に応じて、各サーバに対して異なる優先度を設定し、
    前記選択手段は、前記リクエストに応じたサービスを提供することができ、かつ、前記収集手段によって設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択し、
    前記優先度は、前記選択手段により当該時点での負荷が大きなものほど高く設定される、ことを特徴とする負荷分散システム。
  6. クライアントからのリクエストに応じてサービスを提供する複数のサーバの負荷状況を収集し、収集結果に基づき負荷分散を実現する方法であって、
    前記各サーバの負荷状況を収集する収集ステップと、
    前記各サーバが提供したサービスの過去の処理特性に基づき、前記リクエストに応じたサービスの提供に係るサーバの負荷量を予測する予測ステップと、
    前記各サーバの負荷状況に応じて、各サーバに対して異なる優先度を設定する設定ステップと、
    収集された前記各サーバの負荷状況と、予測された前記サーバの負荷量に基づいて、リクエスト先となるサーバを選択する選択ステップと、
    選択されたサーバに前記クライアントからのリクエストを送信する送信ステップとを含み、
    前記選択ステップにおいては、前記リクエストに応じたサービスを提供することができ、かつ、前記設定ステップにおいて設定される優先度の最も高いサーバを、前記リクエスト先となるサーバとして選択し、
    前記優先度は、前記選択手段により当該時点での負荷が大きなものほど高く設定される、ことを特徴とする負荷分散方法。
JP2010035933A 2010-02-22 2010-02-22 バスシステム Expired - Fee Related JP5556227B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010035933A JP5556227B2 (ja) 2010-02-22 2010-02-22 バスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010035933A JP5556227B2 (ja) 2010-02-22 2010-02-22 バスシステム

Publications (2)

Publication Number Publication Date
JP2011170751A JP2011170751A (ja) 2011-09-01
JP5556227B2 true JP5556227B2 (ja) 2014-07-23

Family

ID=44684785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010035933A Expired - Fee Related JP5556227B2 (ja) 2010-02-22 2010-02-22 バスシステム

Country Status (1)

Country Link
JP (1) JP5556227B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534769A (ja) * 2012-09-25 2015-12-03 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. データネットワークにおける負荷分散

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3417374B2 (ja) * 2000-02-04 2003-06-16 日本電気株式会社 サーバ、クライアント、クライアントサーバシステム、負荷分散方法、記録媒体
JP2004126968A (ja) * 2002-10-03 2004-04-22 Fujitsu Ltd 並列計算機のジョブスケジューリング装置
JP2007179246A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd 計算機管理方法、計算機管理プログラム、および、計算機管理サーバ
JP2007249491A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd マルチサーバ環境においてバッチジョブを分散させるプログラム、装置、および方法
JP2007249445A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd クラスタシステムの負荷分散制御方法およびその装置
US8079033B2 (en) * 2007-02-20 2011-12-13 Amadeus Sas System and method for balancing information loads
JP4677482B2 (ja) * 2008-03-27 2011-04-27 西日本電信電話株式会社 アクセス振分システム、サーバ装置、共通管理装置、アクセス振分装置、アクセス振分方法、及び、コンピュータプログラム

Also Published As

Publication number Publication date
JP2011170751A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US7287179B2 (en) Autonomic failover of grid-based services
US9729488B2 (en) On-demand mailbox synchronization and migration system
US8140677B2 (en) Autonomic web services hosting service
US8903968B2 (en) Distributed computing environment
US20090327079A1 (en) System and method for a delivery network architecture
US7200657B2 (en) Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
KR100826837B1 (ko) 서비스 인스턴스 생성 방법, 예측형 그리드 서비스인스턴스 생성 시스템 및 머신 판독 가능 저장 장치
US20060179059A1 (en) Cluster monitoring system with content-based event routing
JP2008527514A (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US20130346533A1 (en) Near-real time distributed usage aggregation system
WO2014024863A1 (ja) 多階層の各ノードを考慮した負荷分散方法
JP2007518169A (ja) 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持
JP5449283B2 (ja) クラウド共用型リソース提供システム
WO2008008883A2 (en) Method for allocating shared computing infrastructure for application server-based deployments
CN103019853A (zh) 一种作业任务的调度方法和装置
EP3149921B1 (en) Providing router information according to a programmatic interface
US20130219397A1 (en) Methods and Apparatus for State Objects in Cluster Computing
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
CN103891202A (zh) 用于经由显式(或虚拟化)机器到机器(m2m)网关元件的基于云的服务元件的集中过载控制(cofo-se)的实现的系统和方法
CN112783672B (zh) 一种远程过程调用处理方法及系统
AU2004202574A1 (en) A method for managing execution of a process based on available services
WO2018037930A1 (ja) データストア装置およびデータ管理方法
JP2013182509A (ja) 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム
JP5556227B2 (ja) バスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140327

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

R150 Certificate of patent or registration of utility model

Ref document number: 5556227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees