JP2010244500A - 分散処理システムおよび分散処理方法 - Google Patents

分散処理システムおよび分散処理方法 Download PDF

Info

Publication number
JP2010244500A
JP2010244500A JP2009125294A JP2009125294A JP2010244500A JP 2010244500 A JP2010244500 A JP 2010244500A JP 2009125294 A JP2009125294 A JP 2009125294A JP 2009125294 A JP2009125294 A JP 2009125294A JP 2010244500 A JP2010244500 A JP 2010244500A
Authority
JP
Japan
Prior art keywords
determination
information
request
server
distributed processing
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.)
Granted
Application number
JP2009125294A
Other languages
English (en)
Other versions
JP5439951B2 (ja
Inventor
Hiroshi Maeda
浩志 前田
Kenji Ueda
健次 上田
Katsunori Noma
克則 野馬
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 JP2009125294A priority Critical patent/JP5439951B2/ja
Publication of JP2010244500A publication Critical patent/JP2010244500A/ja
Application granted granted Critical
Publication of JP5439951B2 publication Critical patent/JP5439951B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】リクエストを処理するサーバ装置においてオーバーフローが発生することを防ぐ分散処理システムを提供する。
【解決手段】ウェブサイト100は、複数のサーバ装置41、42のリソースの使用率を個別に取得し、取得したリソースの使用率が100%未満の予め定められた値である閾値に収まっているか否かを判定する判定部412、422と、判定結果を示す判定情報に対応するサーバ装置41、42を関連付けて記憶する判定結果記憶部50と、ネットワーク200を介して通信可能な情報端末300からリクエストを受信する受信部10と、判定結果記憶部50から判定情報を読み出し、閾値に収まっている判定情報に関連付けられているサーバ装置41、42を示すサーバ識別情報を送出するオーバーフロー判定部20と、サーバ識別情報が示すサーバ装置41、42に、リクエストを分配する要求分配部30と、を備える。
【選択図】図1

Description

本発明は、分散処理システムおよび分散処理方法に関する。
近年、インターネットの利用率拡大に伴い、個人ユーザが所有するパーソナルコンピュータや携帯端末等の情報端末からリクエストをウェブサイト上で受け付けて処理するサービスが種々開発されている。
この種の技術として、特許文献1(特開2005−182641号公報)には次のような技術が記載されている。当該技術は、クライアントからインターネットを介して受信した複数の業務を複数のサーバを用いて分散処理する負荷分散システムである。そして、この負荷分散システムは、サーバごとのリソースとレスポンスを所定のルールに基づいて監視する監視サーバを備えているので、負荷を動的に効率よく分散することができる。
また、この種の技術として、特許文献2(特開平11−120108号公報)には次のような技術が記載されている。当該技術は、一時的および断続的に接続されるネットワーク上で実現されているウェブブラウザと通信するコンピュータ装置である。そして、このコンピュータ装置は、ウェブブラウザからの要求を待ち行列で記憶し、記憶された当該要求をサーバアプリケーションに供給することができる。
特開2005−182641号公報 特開平11−120108号公報
しかしながら上記技術は、以下の点で改善の余地を有していた。まず、特許文献1の技術は、全てのサーバの使用リソースの使用率が所定のルールを超えたとき、オーバーフローが発生する恐れがある。また、特許文献2の技術は、仮にサーバアプリケーションがオーバーフローを起こした場合でも要求を損失しないで済むが、サーバアプリケーションのオーバーフローを未然に防ぐことはできない。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、リクエストを処理するサーバ装置においてオーバーフローが発生することを防ぐ分散処理システムおよび分散処理方法を提供することにある。
本発明によれば、複数のサーバ装置が使用しているリソースの使用率を個別に取得し、取得された前記リソースの使用率が、100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する判定手段と、前記判定手段により生成された前記判定情報に、当該判定情報に対応する前記サーバ装置を関連付けて記憶する判定結果記憶手段と、ネットワークを介して通信可能な情報端末からリクエストを受信する受信手段と、前記判定結果記憶手段から前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出するオーバーフロー判定手段と、前記オーバーフロー判定手段により送出された前記サーバ識別情報が示す前記サーバ装置に、前記リクエストを分配する要求分配手段と、を備えることを特徴とする分散処理システムが提供される。
また、本発明によれば、複数のサーバ装置が使用しているリソースの使用率を個別に取得し、取得された前記リソースの使用率が100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する判定ステップと、前記判定ステップで生成された前記判定情報に、当該判定情報に対応する前記サーバ装置を関連付けて記憶する判定結果記憶ステップと、ネットワークを介して通信可能な情報端末からリクエストを受信する受信ステップと、前記判定結果記憶ステップで記憶された前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出するオーバーフロー判定ステップと、前記オーバーフロー判定ステップで送出された前記サーバ識別情報が示す前記サーバ装置に、前記リクエストを分配する要求分配ステップと、を備えることを特徴とする分散処理方法が提供される。
上記発明によれば、リクエストを分配する事前に複数のサーバ装置が使用しているリソースの使用率を計測し、計測されたリソースの使用率が100%未満の閾値に収まっているサーバ装置にリクエストを分配する。これにより、リソースの使用率が100%未満のサーバ装置にリクエストが分配されるので、オーバーフローの発生を防ぐことができる
本発明によれば、リクエストを処理するサーバ装置においてオーバーフローが発生することを防ぐ分散処理システムおよび分散処理方法が提供される。
本発明の実施の形態に係る分散処理システムの機能ブロック図である。 本発明の実施の形態に係る分散処理システムに適用される分配処理方法を示すフローチャートである。 本発明の実施の形態に係る分散処理システムに適用される分配処理方法を示すフローチャートである。 本発明の実施の形態に係る分散処理システムに適用される分配処理方法を示すフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図1は、本発明の実施の形態に係るウェブサイト100(分散処理システム)の機能ブロック図である。ウェブサイト100は、インターネットやLANなどのネットワーク200を介して、ケータイ電話やPDA端末、パソコンや家電機器などの情報端末300と接続している。
ウェブサイト100は、サーバ装置A41およびサーバ装置B42を備えており、サーバ装置A41、サーバ装置B42はそれぞれデータベースの参照や更新を行い、その結果のウェブページを返却するといった一般的なウェブサーバの処理を実行する。さらに、要求分配部30は、サーバ装置A41とサーバ装置B42と接続され、それぞれに平均的に負荷分散する。なお、サーバ装置A41、サーバ装置B42は同等の機能を有する。
サーバ装置A41は予兆エージェントA410を含み、サーバ装置B42は予兆エージェントB420を含む。そして、予兆エージェントA410は、計測部A413と判定部A412と予兆ルール記憶部A411と時刻記憶部A414とを有する。また、予兆エージェントB420は、計測部B423と判定部B422と予兆ルール記憶部B421と時刻記憶部B424とを有する。
計測部A413または計測部B423は、それぞれサーバ装置A41またはサーバ装置B42が使用しているリソースの使用率を計測することができる。ここで、サーバ装置A41またはサーバ装置B42が使用しているリソースの使用率とは、以下のようなものが挙げられる。例えば、各々が有する物理メモリまたは仮想メモリ(図示せず)の使用率、各々のハードディスクの空き容量/総容量、各々が通信しているネットワークの利用率、各々が有するCPU(図示せず)の使用率などである。
計測部A413または計測部B423がリソースの使用率を計測するタイミングは、それぞれ非同期であってもよいし、同期してもよい。また、個々の計測部(計測部A413または計測部B423)において、計測項目ごとに、例えばCPU利用率とネットワーク利用率とで、計測するタイミングが非同期であってもよいし、同期してもよい。
計測部A413または計測部B423がリソースの使用率を計測する周期は、一定の時間間隔であってもよいし、ランダムな時間間隔であってもよい。ただし、ランダムな時間間隔であっても、その上限値を定めることが望ましい。
さらに、予兆ルール記憶部A411または予兆ルール記憶部B421は、それぞれ判定部A412または判定部B422が使用する閾値を示す予兆ルールを記憶している。
判定部A412または判定部B422は、それぞれ計測部A413または計測部B423により計測されたリソースの使用率を取得し、取得されたリソースの使用率が100%未満の予め定められた閾値に収まっているか否かを、予兆ルールに基づいて判定し、判定した結果を示す判定情報を生成する。そして、判定部A412または判定部B422は、生成した判定情報を判定結果記憶部50に送出する。
例えば、予兆ルール記憶部A411に記憶されている予兆ルールが「CPU使用率が50%を超え、かつネットワーク利用率が30%を超えた場合はオーバーフローの予兆とする」という内容である場合、判定部A412は、計測部A413が計測したCPU使用率が50%を超えるか否かを判定し、かつ計測部A413が計測したネットワーク利用率が30%を超えるか否かを判定する。そして、CPU使用率が50%を超えない、かつネットワーク利用率が30%を超えないとき、判定部A412はサーバ装置A41のリソースの使用率が閾値に収まっていると判定する。逆に、CPU使用率が50%を超える、またはネットワーク利用率が30%を超えるとき、判定部A412はサーバ装置A41のリソースの使用率が閾値に収まっていないと判定する。
なお、予兆ルールが定める閾値は、サーバ装置A41またはサーバ装置B42が新たにリクエストを受け付けて処理してもオーバーフローが発生しない程度であって、リクエストを処理することに支障のない程度で定められることが望ましい。よって、通常はCPU使用率であれば80%〜40%の範囲内に定められる。
また、予兆ルール記憶部A411または予兆ルール記憶部B421に記憶されている予兆ルールは、サーバ装置A41またはサーバ装置B42各々の性能に合わせて設定することが望ましい。その結果、予兆ルール記憶部A411または予兆ルール記憶部B421に記憶されている予兆ルールが各々異なってもよいし、同じであってもよい。そして、予兆ルールは、デフォルトで固定されてもよく、ユーザの任意で設定可能であってもよい。
ウェブサイト100は、判定部A412または判定部B422により生成された判定情報に、当該判定情報に対応するサーバ装置を記憶する判定結果記憶部50を備える。すなわち、判定結果記憶部50は、サーバ装置A41、サーバ装置B42それぞれから判定情報を受け付け、受け付けた判定情報に、当該判定情報を送出したサーバ装置A41またはサーバ装置B42を示すサーバ識別情報を関連付けて記憶する。
なお、判定情報にサーバ装置を対応付けて判定結果記憶部50に記憶する方式は様々採用可能であるが、本実施形態においては、リソースの使用率が閾値に収まっているときオンとなり、閾値に収まっていないときオフとなる判定フラグとしてサーバ装置ごとに記憶する。
時刻記憶部A414または時刻記憶部B424は、判定部A412または判定部B422により判定情報が生成されるごとに、当該判定情報に対応する時刻情報を記憶する。そして、判定部A412または判定部B422は、時刻記憶部A414または時刻記憶部B424それぞれが記憶している最新の時刻情報により示される時刻から所定時間経過したとき、判定結果記憶部50に記憶された当該時刻情報に対応する判定フラグ(判定情報)をオフにする(閾値に収まっていないことを示す情報)に書き換える。
ここで時刻情報とは、判定情報が生成された時刻であってもよいし、判定情報をサーバ装置内の記憶媒体に記憶した時刻であってもよいし、判定情報を判定結果記憶部50に送出した時刻であってもよい。ここで、サーバ装置内の記憶媒体とは、図1に図示されている記憶手段の一部であってもよいし、図1に図示されない記憶手段であってもよい。また、時刻情報の単位は、年、月、日、分、秒の少なくとも一つを用いてもよく、有効桁数は可能な範囲でいくつでもよい。
また所定時間とは、計測部A413または計測部B423がリソースの使用率を計測する周期より長い時間であることが望ましい。例えば、リソースの使用率を計測する周期が10秒である場合、30秒程度で設定するとよい。最新の時刻情報が示す時刻から所定時間を経過した場合、当該時刻情報を生成する予兆エージェント(予兆エージェントA410または予兆エージェントB420)が故障している恐れがあり、当該時刻情報に対応する判定情報も現状と異なる恐れがあるため、上記のように書き換えることが望ましい。
ウェブサイト100は、ネットワーク200を介して通信可能な情報端末300からリクエストを受信する受信部10を備える。ここで、情報端末300がリクエストを生成してもよいし、図1に図示しない他の装置が生成したリクエストを情報端末300がウェブサイト100に転送してもよい。また、ネットワーク200がインターネットである場合、リクエストにはHTTP、HTTPSまたはFTP等のプロトコルを用いる。
ウェブサイト100は、受信部10により受信されたリクエストを待ち行列で記憶する待ち行列記憶部60を備える。ウェブサイト100は、判定結果記憶部50から判定情報を読み出し、読み出した判定情報のうち閾値に収まっていることを示す判定情報に関連付けられているサーバ装置を示すサーバ識別情報を送出するオーバーフロー判定部20を備える。そして、オーバーフロー判定部20により送出されたサーバ識別情報が示すサーバ装置にリクエストを分配する要求分配部30を備える。さらに、ウェブサイト100は、オーバーフロー判定部20が判定情報を読み出すタイミングを示すリトライルールを記憶するリトライルール記憶部80を備える。なお、受信部10により受信されたリクエストは、オーバーフロー判定部20が読み出した判定情報に応じて、待ち行列記憶部60に記憶させる。
さらに詳細には、待ち行列記憶部60にリクエストが記憶されているとき、オーバーフロー判定部20は、判定結果記憶部50から判定情報を読み出し、読み出した判定情報のうち閾値に収まっていることを示す判定情報に関連付けられているサーバ装置A41またはサーバ装置B42を示すサーバ識別情報を送出する。そして、要求分配部30は、オーバーフロー判定部20により送出されたサーバ識別情報を受け付け、待ち行列記憶部60の先頭に位置するリクエストを取得し、受け付けたサーバ識別情報が示すサーバ装置A41またはサーバ装置B42に、取得したリクエストを分配する。
例えば、待ち行列記憶部60にリクエストが記憶されているとき、オーバーフロー判定部20は60秒ごとに判定情報を読み出すとリトライルールに定められているとする。ここで、待ち行列記憶部60にリクエストが記憶されていることをオーバーフロー判定部20が検知しているとき、オーバーフロー判定部20は、上記リトライルールに基づいて、60秒ごとに判定結果記憶部50に記憶されている判定情報(判定フラグ)を読み出す。ここで、読み出されたサーバ装置A41の判定フラグがオンで、サーバ装置B42の判定フラグがオフであった場合、オーバーフロー判定部20は要求分配部30にサーバ装置A41を示すサーバ識別情報を送出する。そして、要求分配部30は当該サーバ識別情報を受け付け、待ち行列記憶部60の先頭に位置するリクエストを取得し、サーバ装置A41に取得したリクエストを分配する。この処理は、待ち行列記憶部60にリクエストが記憶されている間、繰り返し実行される。
また、受信部10がリクエストを受信して、待ち行列記憶部60に他のリクエストが記憶されていないとき、オーバーフロー判定部20は、判定結果記憶部50から判定情報を読み出し、読み出した判定情報のうち閾値に収まっていることを示す判定情報に関連付けられているサーバ識別情報を送出する。そして、要求分配部30は、オーバーフロー判定部20により送出されたサーバ識別情報を受け付け、受け付けたサーバ識別情報が示すサーバ装置A41またはサーバ装置B42に、受信部10により受信されたリクエストを分配する。
例えば、待ち行列記憶部60にリクエストが記憶されていないとき、オーバーフロー判定部20は受信部10からリクエストを受け付けたタイミングで判定情報を読み出すとリトライルールに定められているとする。ここで、待ち行列記憶部60にリクエストが記憶されていないことをオーバーフロー判定部20が検知しているとき、受信部10がリクエストを受信して、受信したリクエストをオーバーフロー判定部20が受け付けたとする。すると、オーバーフロー判定部20は、上記リトライルールに基づいて、判定結果記憶部50に記憶されている判定情報(判定フラグ)を読み出す。ここで、読み出されたサーバ装置A41の判定フラグがオンで、サーバ装置B42の判定フラグがオフであった場合、オーバーフロー判定部20は要求分配部30にサーバ装置A41を示すサーバ識別情報を送出する。そして、要求分配部30は当該サーバ識別情報を受け付け、受信部10から受け付けたリクエストを、サーバ装置A41に分配する。
そして、要求分配部30により分配されたリクエストを受け付けたサーバ装置A41が、当該リクエストを処理する。
ただし、オーバーフロー判定部20により読み出された判定フラグの全部がオフである(判定情報の全部が閾値に収まっていない)とき、当該リクエストを送信した情報端末300に報知する報知部70を、ウェブサイト100は備える。
報知部70が情報端末300に報知する形式は様々挙げることができるが、本実施形態においては「お客様からのリクエストを受け付けました。登録に時間がかかりますので、今しばらくお待ち下さい」等のメッセージを送信する。上記メッセージは、HTML形式など情報端末300において表示出力可能なデータ形式で送信されてもよい。あるいは、電子メールで送信されてもよい。
図2は、本発明の実施の形態に係るウェブサイト100に適用される分配処理方法を示すフローチャートであり、特に、予兆エージェントA410または予兆エージェントB420が実行する処理を示すフローチャートである。計測ステップ(ステップS1)では、サーバ装置A41およびサーバ装置B42が使用しているリソースの使用率を個別に計測する。また、判定ステップ(ステップS2)では、計測ステップ(ステップS1)で計測されたリソースの使用率を取得し、取得されたリソースの使用率が、100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する。
時刻記憶ステップ(ステップS3)では、判定ステップ(ステップS2)で判定情報が生成されるごとに、当該判定情報に対応する時刻情報を記憶する。
判定結果記憶ステップ(ステップS4)では、判定ステップ(ステップS2)で生成された判定情報と、当該判定情報に対応するサーバ装置A41またはサーバ装置B42を関連付けて記憶する。
この分配処理方法においては、ステップS1でリソースの使用率を計測してから所定時間tが経過したとき(ステップS5のYES)、再びステップS1〜ステップS4を実行する。
図3は、本発明の実施の形態に係るウェブサイト100に適用される分配処理方法を示すフローチャートであり、判定部A412および判定部B422が実行する処理を示すフローチャートである。図2の時刻記憶ステップ(ステップS3)で記憶された最新の時刻情報により示される時刻から所定時間tが経過するまで当該処理は実行されない。そして、時刻記憶ステップ(ステップS3)で記憶された最新の時刻情報により示される時刻から所定時間tが経過したとき(ステップS6のYES)、判定変更ステップ(ステップS7)では、判定結果記憶ステップ(ステップS4)で記憶された当該時刻情報に対応する判定情報を、閾値に収まっていないことを示す情報に書き換える。
なお、サーバ装置A41およびサーバ装置B42に対して個別にステップS1〜ステップS5とステップS6〜ステップS7とが実行される。すなわち、サーバ装置A41に対して実行されるステップS1〜ステップS5と、サーバ装置B42に対して実行されるステップS1〜ステップS5とは、異なるタイミングで実行されてもよい。また、サーバ装置A41に対して実行されるステップS6〜ステップS7と、サーバ装置B42に対して実行されるステップS6〜ステップS7とは、異なるタイミングで実行されてもよい。
そして、判定結果記憶ステップ(ステップS4)では、サーバ装置A41およびサーバ装置B42それぞれから判定情報を受け付け、受け付けた判定情報に、当該判定情報を送出したサーバ装置(サーバ装置A41またはサーバ装置B42)を示すサーバ識別情報を関連付けて記憶する。また、判定変更ステップ(ステップS7)では、サーバ装置A41およびサーバ装置B42それぞれから書き換える判定情報を受け付け、受け付けた判定情報に、当該判定情報を送出したサーバ装置(サーバ装置A41またはサーバ装置B42)を示すサーバ識別情報を関連付けて書き換える。
図4は、本発明の実施の形態に係るウェブサイト100に適用される分配処理方法を示すフローチャートであり、特に、受信部10、オーバーフロー判定部20、要求分配部30、報知部70が実行する処理に関するフローチャートである。受信ステップ(ステップT1)では、ネットワーク200を介して通信可能な情報端末300からリクエストを受信する。
受信ステップ(ステップT1)でリクエストを受信して、待ち行列記憶部60にリクエストが記憶されているとき(ステップT2のYES)、待ち行列記憶ステップ(ステップT3)では、受信ステップ(ステップT1)で受信されたリクエストを待ち行列で待ち行列記憶部60に記憶する。また、報知ステップ(ステップT4)では、当該リクエストを送信した情報端末300に報知する。さらに、オーバーフロー判定ステップ(ステップT5)では、図2の判定結果記憶ステップ(ステップS4)で記憶された判定情報を読み出して読み出された判定情報の全部が閾値に収まっているとき(ステップT6のYES)、読み出した判定情報のうち閾値に収まっていることを示す判定情報に関連付けられているサーバ識別情報を送出する。さらに、要求分配ステップ(ステップT7)では、オーバーフロー判定ステップ(ステップT5)で送出されたサーバ識別情報を受け付け、待ち行列記憶部60の先頭に位置するリクエストを取得し、受け付けたサーバ識別情報が示すサーバ装置A41またはサーバ装置B42に、取得したリクエストを分配する。
受信ステップ(ステップT1)でリクエストを受信して、待ち行列記憶部60に他のリクエストが記憶されていないとき(ステップT2のNO)、オーバーフロー判定ステップ(ステップT5)では、図2の判定結果記憶ステップ(ステップS4)で記憶された判定情報を読み出して読み出された判定情報の全部が閾値に収まっているとき(ステップT6のYES)、読み出した判定情報のうち閾値に収まっていることを示す判定情報に関連付けられているサーバ識別情報を送出する。要求分配ステップ(ステップT7)では、オーバーフロー判定ステップで送出されたサーバ識別情報を受け付け、受け付けたサーバ識別情報が示すサーバ装置A41またはサーバ装置B42に、受信ステップ(ステップT1)で受信されたリクエストを分配する。
ただし、受信ステップ(ステップT1)でリクエストを受信して、オーバーフロー判定ステップ(ステップT5)で読み出された判定情報の全部が閾値に収まっていないとき(ステップT6のNO)、当該リクエストを待ち行列記憶ステップ(ステップT3)で待ち行列記憶部60に記憶するとともに、報知ステップ(ステップT4)では、当該リクエストを送信した情報端末300に報知する。
さらに、要求処理ステップ(ステップT8)では、要求分配ステップ(ステップT7)で分配されたリクエストを受け付けたサーバ装置A41またはサーバ装置B42が、当該リクエストを処理する。
そして、要求処理ステップ(ステップT8)でリクエストを処理してもなお、待ち行列記憶部60にリクエストが記憶されていないとき(ステップS9のNO)、この分散処理方法のフローチャートは終了となる。
ただし、要求処理ステップ(ステップT8)でリクエストを処理して、待ち行列記憶部60にリクエストが記憶されているとき(ステップS9のYES)、リトライルールに基づいて再びオーバーフロー判定部(ステップT5)以降の処理を実行する。
ここで、本実施形態の効果について説明する。本実施形態のウェブサイト100は、リクエストを分配する事前に複数のサーバ装置が使用しているリソースの使用率を取得し、取得されたリソースの使用率が100%未満の閾値に収まっているサーバ装置にリクエストを分配する。これにより、リソースの使用率が100%未満のサーバ装置にリクエストが分配されるので、オーバーフローの発生を防ぐことができる。
さらに、本実施形態のウェブサイト100は、受信したリクエストを待ち行列で記憶する待ち行列記憶部60を備え、サーバ装置A41およびサーバ装置B42においてリソースの使用率が閾値に収まらないとき、リクエストを待ち行列記憶部60に記憶して、当該リクエストは後で処理されるので、受信したリクエストは確実に処理される。
また、本実施形態のサーバ装置A41またはサーバ装置B42は、それぞれ予兆エージェントA410または予兆エージェントB420を含んでいるので、仮に予兆エージェントA410または予兆エージェントB420の一方が故障等で停止しても、サーバ装置A41およびサーバ装置B42のいずれかでリクエストを処理できる。
さらに、本実施形態のウェブサイト100は、最新の時刻情報が示す時刻から所定時間tが経過したとき、当該時刻情報に関連付けられている判定フラグをオフ(判定情報を閾値に収まっていないことを示す情報に)に書き換える。これにより、仮に予兆エージェントA410または予兆エージェントB420の両方が故障等で停止しても、サーバ装置A41およびサーバ装置B42のオーバーフローを防ぐことができる。
さらに、本実施形態のウェブサイト100は、リクエストを受信した時点で待ち行列記憶部60にリクエストが記憶されていないとき、受信したリクエストを待ち行列記憶部60に記憶せずに、そのまま分配することができる。これにより、ウェブサイト100の処理負荷が軽減され、処理速度も向上し、効率よくリクエストを分配することができる。
さらに、本実施形態のウェブサイト100は、サーバ装置A41およびサーバ装置B42のリソースの使用率が閾値に収まっていないとき、リクエストを待ち行列記憶部60に記憶し、情報端末300に処理に時間がかかる旨を報知することができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
判定部A412および判定部B422は、予兆ルールに基づいて判定するように説明した。しかし、判定部A412および判定部B422は、オーバフローが発生しないリソースの使用率を閾値を超えるか否か判定できればよい。すなわち、上述した予兆ルール相当の処理が可能なプログラムや論理回路等で判定部A412および判定部B422が実現されていればよい。
図1おいて予兆エージェントA410または予兆エージェントB420は、それぞれサーバ装置A41またはサーバ装置B42に含まれるように図示したが、これに限らなくてもよい。例えば、サーバ装置A41またはサーバ装置B42の外部装置として予兆エージェントA410または予兆エージェントB420が実現されていてもよい。このとき、当該外部装置は複数である必要はなく、予兆エージェントA410と予兆エージェントB420とが有する機能を単体装置が有してもよい。
図1において、ウェブサイト100は単一の情報端末300と単一のネットワーク200を介して接続することを図示したが、情報端末300またはネットワーク200はそれぞれ複数であってもよい。
図1において、ウェブサイト100は二つのサーバ装置A41、サーバ装置B42を備えることを図示したが、三つ以上のサーバ装置を備えてもよい。
また、ウェブサイト100はサーバ装置を備えておらず、複数の外部サーバ装置と接続していてもよい。この場合、ウェブサイト100は判定部A412および判定部B422に相当する判定手段をサーバ装置とは別に備える。例えば、上記判定手段は、複数のサーバ装置が使用しているリソースの使用率を個別に取得し、取得されたリソースの使用率が、100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する。この場合、サーバ装置が自機のリソースの使用率を計測する機能を有している場合は、サーバ装置それぞれから取得してもよい。また、複数のサーバ装置のリソースの使用率を計測している計測手段がある場合は、当該計測手段からサーバ装置ごとにリソースの使用率を取得してもよい。
図1において、待ち行列記憶部60を備えるウェブサイト100を図示したが、これがなくてもよい。この場合、オーバーフロー判定部20が、判定結果記憶部50から読み出した判定情報の全部が閾値に収まっていないとき、受信部10が受信したリクエストは破棄してもよい。そして、報知部70は、破棄したリクエストを送信した情報端末300に「只今処理が混雑しているため、お客様からのリクエストを受け付けることができません。誠に申し訳ございませんが、今しばらくお待ち下さい」等のメッセージを送信してもよい。
報知部70が情報端末300に報知する形式として、表示出力可能なメッセージを送信するように説明したが、音声出力可能なメッセージでもよいし、表示出力と音声出力との双方が可能なメッセージであってもよい。また、ウェブサイト100は報知部70を備えなくてもよい。
また、オーバーフロー判定部20は、リトライルールに基づいて判定情報を読み出すように説明したが、これに限らなくてもよい。例えば、オーバーフロー判定部20は、受信部10がリクエストを受信したときに判定情報を読出してもよいし、タイマ(図示せず)に基づいて周期的に判定情報を読み出してもよい。
判定結果記憶部50は、判定情報を判定フラグとして記憶する形態を説明したが、これに限らなくてもよい。例えば、サーバ装置を示すサーバ識別情報と、判定結果を示す判定情報とを対応付けるテーブルとして記憶してもよい。
図1において、時刻記憶部(時刻記憶部A414または時刻記憶部B424)は、予兆エージェント(予兆エージェントA41または予兆エージェントB42)が有する構成要素として図示し、判定部(判定部A412または判定部B422)が時刻記憶部に記憶されている時刻情報に基づいて判定結果記憶部50に格納されている判定情報を書き換えることを説明したが、これに限らなくてもよい。例えば、ウェブサイト100は、時刻記憶部をサーバ装置とは別に備え、当該時刻記憶部が記憶している最新の時刻情報により示される時刻から所定時間経過したとき、判定結果記憶部50に格納されている判定情報を書き換える手段をさらに備えてもよい。
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
さらに、上述した実施の形態において、ウェブサイト100が備える各部は、コンピュータプログラムによる各種機能として論理的に実現されてもよいし、固有のハードウェアとして形成してもよい。また、各部は、ソフトウェアとハードウェアとの組み合わせとして実現されてもよい。
100 ウェブサイト
200 ネットワーク
300 情報端末
10 受信部
20 オーバーフロー判定部
30 要求分配部
41 サーバ装置A
410 予兆エージェントA
411 予兆ルール記憶部A
412 判定部A
413 計測部A
414 時刻記憶部A
42 サーバ装置B
420 予兆エージェントB
421 予兆ルール記憶部B
422 判定部B
423 計測部B
424 時刻記憶部B
50 判定結果記憶部
60 待ち行列記憶部
70 報知部
80 リトライルール記憶部

Claims (12)

  1. 複数のサーバ装置が使用しているリソースの使用率を個別に取得し、取得された前記リソースの使用率が、100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する判定手段と、
    前記判定手段により生成された前記判定情報に、当該判定情報に対応する前記サーバ装置を関連付けて記憶する判定結果記憶手段と、
    ネットワークを介して通信可能な情報端末からリクエストを受信する受信手段と、
    前記判定結果記憶手段から前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出するオーバーフロー判定手段と、
    前記オーバーフロー判定手段により送出された前記サーバ識別情報が示す前記サーバ装置に、前記リクエストを分配する要求分配手段と、
    を備えることを特徴とする分散処理システム。
  2. 請求項1に記載の分散処理システムであって、
    複数の前記サーバ装置を備え、
    複数の前記サーバ装置は、それぞれ前記判定手段を有し、
    前記判定結果記憶手段は、複数の前記サーバ装置それぞれから前記判定情報を受け付け、受け付けた前記判定情報に、当該判定情報を送出した前記サーバ装置を示す前記サーバ識別情報を関連付けて記憶することを特徴とする分散処理システム。
  3. 請求項1または2に記載の分散処理システムであって、
    前記判定手段により前記判定情報が生成されるごとに、当該判定情報に対応する時刻情報を記憶する時刻記憶手段を備え、
    前記判定手段は、前記時刻記憶手段が記憶している最新の前記時刻情報により示される時刻から所定時間経過したとき、前記判定結果記憶手段に記憶された当該時刻情報に対応する前記判定情報を、前記閾値に収まっていないことを示す情報に書き換えることを特徴とする分散処理システム。
  4. 請求項1乃至3いずれかに記載の分散処理システムであって、
    前記受信手段により受信された前記リクエストを待ち行列で記憶する待ち行列記憶手段を備え、
    前記待ち行列記憶手段に前記リクエストが記憶されているとき、
    前記オーバーフロー判定手段は、前記判定結果記憶手段から前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出し、
    前記要求分配手段は、前記オーバーフロー判定手段により送出された前記サーバ識別情報を受け付け、前記待ち行列記憶手段の先頭に位置する前記リクエストを取得し、受け付けた前記サーバ識別情報が示す前記サーバ装置に、取得した前記リクエストを分配することを特徴とする分散処理システム。
  5. 請求項4に記載の分散処理システムであって、
    前記受信手段が前記リクエストを受信して、前記待ち行列記憶手段に他の前記リクエストが記憶されていないとき、
    前記オーバーフロー判定手段は、前記判定結果記憶手段から前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ識別情報を送出し、
    前記要求分配手段は、前記オーバーフロー判定手段により送出された前記サーバ識別情報を受け付け、受け付けた前記サーバ識別情報が示す前記サーバ装置に、前記受信手段により受信された前記リクエストを分配することを特徴とする分散処理システム。
  6. 請求項1乃至5いずれかに記載の分散処理システムであって、
    前記オーバーフロー判定手段により読み出された前記判定情報の全部が前記閾値に収まっていないとき、当該リクエストを送信した前記情報端末に報知する報知手段を備えることを特徴とする分散処理システム。
  7. 複数のサーバ装置が使用しているリソースの使用率を個別に取得し、取得された前記リソースの使用率が100%未満の予め定められた値である閾値に収まっているか否かを判定し、判定した結果を示す判定情報を生成する判定ステップと、
    前記判定ステップで生成された前記判定情報に、当該判定情報に対応する前記サーバ装置を関連付けて記憶する判定結果記憶ステップと、
    ネットワークを介して通信可能な情報端末からリクエストを受信する受信ステップと、
    前記判定結果記憶ステップで記憶された前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出するオーバーフロー判定ステップと、
    前記オーバーフロー判定ステップで送出された前記サーバ識別情報が示す前記サーバ装置に、前記リクエストを分配する要求分配ステップと、
    を備えることを特徴とする分散処理方法。
  8. 請求項7に記載の分散処理方法であって、
    複数の前記サーバ装置それぞれが、前記判定ステップを実行し、
    前記判定結果記憶ステップでは、複数の前記サーバ装置それぞれから前記判定情報を受け付け、受け付けた前記判定情報に、当該判定情報を送出した前記サーバ装置を示す前記サーバ識別情報を関連付けて記憶することを特徴とする分散処理方法。
  9. 請求項7または8に記載の分散処理方法であって、
    前記判定ステップで前記判定情報が生成されるごとに、当該判定情報に対応する時刻情報を記憶する時刻記憶ステップと、
    前記時刻記憶ステップで記憶された最新の前記時刻情報により示される時刻から所定時間経過したとき、前記判定結果記憶ステップで記憶された当該時刻情報に対応する前記判定情報を、前記閾値に収まっていないことを示す情報に書き換える判定変更ステップと、
    を備えることを特徴とする分散処理方法。
  10. 請求項7乃至9いずれかに記載の分散処理方法であって、
    前記受信ステップで受信された前記リクエストを待ち行列で記憶手段に記憶する待ち行列記憶ステップを備え、
    前記記憶手段に前記リクエストが記憶されているとき、
    前記オーバーフロー判定ステップでは、前記判定結果記憶ステップで記憶された前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ装置を示すサーバ識別情報を送出し、
    前記要求分配ステップでは、前記オーバーフロー判定ステップで送出された前記サーバ識別情報を受け付け、前記記憶手段の先頭に位置する前記リクエストを取得し、受け付けた前記サーバ識別情報が示す前記サーバ装置に、取得した前記リクエストを分配することを特徴とする分散処理方法。
  11. 請求項10に記載の分散処理方法であって、
    前記受信ステップで前記リクエストを受信して、前記記憶手段に他の前記リクエストが記憶されていないとき、
    前記オーバーフロー判定ステップでは、前記判定結果記憶ステップで記憶された前記判定情報を読み出し、読み出した前記判定情報のうち前記閾値に収まっていることを示す前記判定情報に関連付けられている前記サーバ識別情報を送出し、
    前記要求分配ステップでは、前記オーバーフロー判定ステップで送出された前記サーバ識別情報を受け付け、受け付けた前記サーバ識別情報が示す前記サーバ装置に、前記受信ステップで受信された前記リクエストを分配することを特徴とする分散処理方法。
  12. 請求項7乃至11いずれかに記載の分散処理方法であって、
    前記オーバーフロー判定ステップで読み出された前記判定情報の全部が前記閾値に収まっていないとき、当該リクエストを送信した前記情報端末に報知する報知ステップを備えることを特徴とする分散処理方法。
JP2009125294A 2009-03-16 2009-05-25 分散処理システムおよび分散処理方法 Expired - Fee Related JP5439951B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009125294A JP5439951B2 (ja) 2009-03-16 2009-05-25 分散処理システムおよび分散処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009063143 2009-03-16
JP2009063143 2009-03-16
JP2009125294A JP5439951B2 (ja) 2009-03-16 2009-05-25 分散処理システムおよび分散処理方法

Publications (2)

Publication Number Publication Date
JP2010244500A true JP2010244500A (ja) 2010-10-28
JP5439951B2 JP5439951B2 (ja) 2014-03-12

Family

ID=43097416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009125294A Expired - Fee Related JP5439951B2 (ja) 2009-03-16 2009-05-25 分散処理システムおよび分散処理方法

Country Status (1)

Country Link
JP (1) JP5439951B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120389A (ja) * 1995-10-26 1997-05-06 Nec Corp クラスタ型コンピュータのジョブスケジュール方法及び装置
JP2002132742A (ja) * 2000-10-30 2002-05-10 Fujitsu Ltd サービス実行方法および装置
JP2005025481A (ja) * 2003-07-02 2005-01-27 Hitachi Ltd メッセージ通信方法およびその実施計算機システム
JP2005062927A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
JP2007219637A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> 負荷分散システムおよびそのプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120389A (ja) * 1995-10-26 1997-05-06 Nec Corp クラスタ型コンピュータのジョブスケジュール方法及び装置
JP2002132742A (ja) * 2000-10-30 2002-05-10 Fujitsu Ltd サービス実行方法および装置
JP2005025481A (ja) * 2003-07-02 2005-01-27 Hitachi Ltd メッセージ通信方法およびその実施計算機システム
JP2005062927A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
JP2007219637A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> 負荷分散システムおよびそのプログラム

Also Published As

Publication number Publication date
JP5439951B2 (ja) 2014-03-12

Similar Documents

Publication Publication Date Title
CN107391271B (zh) 一种基于消息队列系统的延时任务触发方法和装置
EP3453148B1 (en) System and method for latency-based queuing
CN108173938B (zh) 服务器负载分流方法及装置
US8204032B2 (en) Information polling method, apparatus and system
US8996637B2 (en) Push notification delivery system
CN102685203A (zh) 数据资源传输的方法和设备
JP6404816B2 (ja) ウェブページアクセス要求に対する応答の方法および装置
JP6272306B2 (ja) 複数の通知モードを用いる移動端末の通知方法及びその方法を用いた移動端末
CN109428926B (zh) 一种调度任务节点的方法和装置
CN106130810A (zh) 网站监测方法和装置
CN110597920A (zh) 一种信息处理的方法及装置
WO2024066374A1 (zh) 业务降级方法、装置、设备、计算机可读介质和程序产品
JP5439951B2 (ja) 分散処理システムおよび分散処理方法
CN112631800A (zh) 面向kafka的数据传输方法、系统、计算机设备及存储介质
US20160112525A1 (en) Distribution control device and method for same, push distribution system, and storage medium
CN109660589B (zh) 请求处理方法及装置、电子设备
US10862811B1 (en) Message brokering for asynchronous status updates
CN109621407A (zh) 一种客户端登陆请求方法和装置
US20170318439A1 (en) Message delivery reliability
US8589605B2 (en) Inbound message rate limit based on maximum queue times
TW201524247A (zh) 推送式資訊傳輸裝置、推送式資訊傳輸方法及程式
JP2007233559A (ja) 実行制御装置および方法
CN111190733B (zh) 用于进行rsa计算的计算资源调度方法及装置
CN113965563A (zh) 基于模型的业务处理方法及装置、服务器
JP6595419B2 (ja) Api提供装置及びapiリクエスト制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Ref document number: 5439951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees