JP2012185638A - 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム - Google Patents

負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム Download PDF

Info

Publication number
JP2012185638A
JP2012185638A JP2011047787A JP2011047787A JP2012185638A JP 2012185638 A JP2012185638 A JP 2012185638A JP 2011047787 A JP2011047787 A JP 2011047787A JP 2011047787 A JP2011047787 A JP 2011047787A JP 2012185638 A JP2012185638 A JP 2012185638A
Authority
JP
Japan
Prior art keywords
load
information
client
notification information
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011047787A
Other languages
English (en)
Inventor
Takahiro Miyamoto
崇弘 宮本
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2011047787A priority Critical patent/JP2012185638A/ja
Publication of JP2012185638A publication Critical patent/JP2012185638A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】クライアントに情報を非同期に通知する際の即時性が高く、且つ、サーバにおける処理の負荷を低くすることができる負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラムを提供する。
【解決手段】負荷分散装置100aは、通知情報をクライアント300に通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する負荷情報交換部160aと、前記負荷情報が表す負荷と自装置の負荷とを比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、クライアント300に送信する負荷管理部150aと、前記通知情報をサーバ200から受信する通知情報受付部140aと、通知情報受付部140aが受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報をクライアント300に送信するセッション保持部120aと、を備える。
【選択図】図1

Description

本発明は、情報を通知する処理の負荷を分散又は集約させる負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラムに関する。
クライアント(装置)により解釈されるイベントのために別途定められたチャンネルを利用することなく、クライアントに対して非同期に情報を通知することを可能とするシステムが、特許文献1に開示されている。
ここで、非同期とは、クライアントからサーバに対して所定の処理を要求したタイミングに関らず、サーバからクライアントに情報を送信することをいう。
特許文献1に開示されたシステムでは、サーバは、処理要求(要求パケット)に対する応答に情報を付加し、その情報をクライアントに送信するピギーバック(Piggy Back)により、クライアントに対して非同期に情報を通知する。
ピギーバックによらずに、クライアント装置に対して非同期に情報を通知する方法には、サーバと同様にクライアントがウェブ(Web)サービスを立ち上げることで、そのクライアントのウェブサービスにサーバが通信接続するという、WSN(WS−BaseNotification)を用いる方法がある。
WSNを用いる方法では、情報を非同期に通知する際の即時性が高いものの、情報を通知する先であるクライアントに対してサーバが通信できるようにするために、クライアントにはグローバルIP(Internet Protocol)アドレスが割り当てられる必要がある。したがって、WSNを用いる方法は、プライベートIPアドレスが割り当てられているクライアントでは利用することができないという問題がある。
また、ピギーバックを用いる方法、及びWSNを用いる方法は、情報を通知する方法が共にプッシュ(PUSH)型である。プッシュ型は、ポーリング(Polling)により情報を通知するプル(PULL)型と比較して、情報を非同期に通知する際の即時性が高い。
特開2009−502087号公報
しかしながら、ピギーバックを用いる方法では、グローバルIPアドレスは必ずしも必要でないが、サーバが複数のセッションを保持しなければならず、情報を通知する元であるサーバにおける処理の負荷が大きくなってしまうという問題がある。
本発明は、前記の点に鑑みてなされたものであり、情報を通知する先であるクライアントに情報を非同期に通知する際の即時性が高く、且つ、情報を通知する元であるサーバにおける処理の負荷を低くすることができる負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラムを提供することを目的とする。
本発明は、上記の課題を解決するためになされたものであり、クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する負荷情報交換部と、前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する負荷管理部と、前記通知情報を前記サーバから受信する通知情報受付部と、前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する情報送信部と、を備えることを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、前記他の負荷分散装置から受信した前記負荷情報が表す負荷よりも、自装置の負荷のほうが高い場合、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信することを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、前記他の負荷分散装置から受信した前記負荷情報が表す負荷と、自装置の負荷とが共に低い場合、当該他の負荷分散装置を識別するための識別子を、前記クライアントに通信インタフェースを介して送信することを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、前記負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに基づいて、自装置の負荷と、他の負荷分散装置の負荷とを比較することを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、前記負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに対する閾値に基づいて、自装置の負荷の低さと、他の負荷分散装置の負荷の低さとを判定することを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、他の負荷分散装置を識別するための前記識別子を、HTTPリダイレクト・メソッドにより前記クライアントに送信することを特徴とする負荷分散装置である。
また、本発明は、前記負荷管理部が、前記負荷分散装置を識別するための前記識別子を再送信することを、前記クライアントから要求された場合、当該クライアントに前記識別子を再送信することを特徴とする負荷分散装置である。
また、本発明は、所定の処理を要求するクライアントと、前記クライアントからの要求に応じて処理した結果である通知情報を送信するサーバと、複数の負荷分散装置と、を備え、前記負荷分散装置が、前記通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する負荷情報交換部と、前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する負荷管理部と、前記通知情報を前記サーバから受信する通知情報受付部と、前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する情報送信部と、を備えることを特徴とする負荷分散システムである。
また、本発明は、情報を通知する処理の負荷を分散又は集約させる負荷分散装置における負荷分散方法であって、負荷情報交換部が、クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信するステップと、負荷管理部が、前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信するステップと、通知情報受付部が、前記通知情報を前記サーバから受信するステップと、情報送信部が、前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信するステップと、を有することを特徴とする負荷分散方法である。
また、本発明は、コンピュータに、クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する手順と、受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する手順と、前記通知情報を前記サーバから受信する手順と、受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する手順と、を実行させるための負荷分散プログラムである。
本発明によれば、サーバの代わりに負荷分散装置が、通知情報を所定情報に付加し、該通知情報が付加された所定情報をクライアントに送信(ピギーバック)するので、これにより、負荷分散装置は、情報を通知する先であるクライアントに情報を非同期に通知する際の即時性が高く、且つ、情報を通知する元であるサーバにおける処理の負荷を低くすることができる。
本発明の一実施形態における、負荷分散装置群、サーバ及びクライアントの各構成を表すブロック図である。 本発明の一実施形態において、通知処理の負荷が増大していない又は減少していない場合における、負荷分散装置群、サーバ及びクライアントの各動作手順の概略を表す図である。 本発明の一実施形態において、通知処理の負荷が増大していない又は減少していない場合における、負荷分散装置群、サーバ及びクライアントの各動作手順を表すシーケンス図である。 本発明の一実施形態において、通知処理の負荷が増大した又は減少した場合における、負荷分散装置群、サーバ及びクライアントの各動作手順の概略を表す図である。 本発明の一実施形態において、通知処理の負荷が増大した又は減少した場合における、負荷分散装置群、サーバ及びクライアントの各動作手順を表すシーケンス図である。 本発明の一実施形態における、負荷分散装置群を用いる通信環境の例を表す図である。
本発明の一実施形態について図面を参照して詳細に説明する。本発明の負荷分散システムは、複数の負荷分散装置(通知仲介システム)から成る負荷分散装置群と、サーバ(装置)と、クライアント(装置)とを備える。各負荷分散装置は、サーバからクライアントに対して非同期に情報を通知する処理の負荷の状況に応じて、負荷分散装置群内で負荷を分散又は集約させる。なお、クライアントは複数でもよい。
まず、負荷分散装置群と、サーバと、クライアントとの各構成について説明する。
図1には、負荷分散装置群、サーバ及びクライアントの各構成が、ブロック図により表されている。負荷分散装置群100は、負荷分散装置を3台以上備えてもよいが、本実施形態では、一例として、負荷分散装置100aと、負荷分散装置100bとを備えるものとする。ここで、各負荷分散装置は、いずれも同構成を有する。したがって、各負荷分散装置についての説明は、それぞれ同様の説明となる。以下では、負荷分散装置群100のうち、負荷分散装置100a及び負荷分散装置100bを用いて説明をする。
クライアント300は、中央処理装置(Central Processing Unit、CPU)と、記憶部とを備える。クライアント300の中央処理装置は、クライアント300の記憶部に記憶されたプログラムに基づいて動作する。
クライアント300は、サーバ200に所定の処理を要求する。ここで、クライアント300は、自装置(クライアント300)に割り当てられた識別子(例えば、IPアドレス)を、サーバ200に送信する。
また、クライアント300は、その接続先である負荷分散装置を識別するための識別子として、サーバ200からURL(Uniform Resource Locator)を受信し、受信したURLが割り当てられている負荷分散装置に通信接続する。ここで、クライアント300は、受信したURLが割り当てられている負荷分散装置に、自装置(クライアント300)に割り当てられた識別子(例えば、IPアドレス)を用いて接続する(接続要求)。また、クライアント300は、サーバ200による処理結果である通知情報を、ピギーバックによりその負荷分散装置から受信する。
サーバ200は、中央処理装置(CPU)と、記憶部とを備える。サーバ200の中央処理装置は、サーバ200の記憶部に記憶されたプログラムに基づいて動作する。サーバ200は、クライアント300から要求された処理の結果である通知情報を生成する。サーバ200は、この通知情報を自装置(サーバ200)の代わりにクライアント300に通知する負荷分散装置に割り当てられているURLを、クライアント300に送信する。サーバ200は、クライアント300に割り当てられている識別子(例えば、IPアドレス)と、割り当てたURLに対応付けられた負荷分散装置に割り当てられている識別子(例えば、IPアドレス)とを対応付けて、これらを保持する。
サーバ200は、通知情報を自装置(サーバ200)の代わりにクライアント300に通知する負荷分散装置に、通知情報を送信する。ここで、サーバ200は、クライアント300に割り当てられている識別子と、この識別子に対応付けられた負荷分散装置に割り当てられている識別子とに基づいて、その負荷分散装置に通知情報を送信するものとする。これにより、サーバ200は、その負荷分散装置からどのクライアントに通知情報が通知されるかを認識することができる。
負荷分散装置100aは、通信インタフェース110aと、セッション保持部120a(情報送信部)と、セッション管理部130aと、負荷情報交換部140aと、負荷管理部150aと、通知情報受付部160aと、接続クライアント報告部170aとを備える。
通信インタフェース110aは、外部の装置から情報を受信し、受信した情報を負荷分散装置100aの各部に転送する。例えば、通信インタフェース110aは、セッション保持部120aから通知情報を取得し、取得した通知情報をクライアント300にピギーバックにより送信する。
通信インタフェース110aは、サーバ200による処理結果である通知情報を負荷情報交換部160aから取得し、取得した負荷情報を他の負荷分散装置に送信する。また、通信インタフェース110aは、他の負荷分散装置から負荷情報を取得し、取得した負荷情報を負荷情報交換部160aに転送する。
また、通信インタフェース110aは、サーバ200による処理結果である通知情報と、クライアント300に割り当てられた識別子とをサーバ200から受信し、受信した通知情報通知情報及び識別子を、通知情報受付部140aに出力する。
通信インタフェース110aは、接続先が変更されることを表す情報(クライアント300に割り当てられた識別子(例えば、IPアドレス、URL)、及び、変更後に接続先となる他の負荷分散装置に割り当てられた識別子(例えば、IPアドレス、URL)を、接続クライアント報告部170aから取得し、取得した識別子をサーバ200に送信する。
セッション保持部120aは、接続要求を送信してきたクライアント300とのセッション(HTTP、TCP等)に関する情報を記憶する。セッション保持部120aは、クライアント300とのセッションを確立し、確立したセッションを保持する。
セッション保持部(情報送信部)120aは、セッション管理部130aから転送された通知情報を、セッション管理部130aが割り出したセッションに基づいて、通信インタフェース110aを介して、クライアント300にピギーバックにより送信する。
セッション保持部120aは、HTTPリダイレクト(HTTP Redirect)・メソッド(ステータス・コード「301(Moved Permanently)」)により、セッション管理部130aから転送された接続先変更要求、及び他の負荷分散装置に割り当てられている識別子を、通信インタフェース110aを介してクライアント300に送信する。
セッション管理部130aは、セッションを保持しているプロセスと、そのプロセスに対応するクライアント300に関する情報とを管理する。例えば、セッション管理部130aは、クライアント300に割り当てられた識別子と、確立したセッションが動作しているプロセスを表す情報とを対応付けて記憶することで、セッションを管理する。
セッション管理部130aは、クライアント300に割り当てられた識別子に基づいて、クライアント300とのセッション及びプロセスを割り出す。また、セッション管理部130aは、割り出したセッションを表す情報と、サーバ200から受信した通知情報とを、セッション保持部120aに転送する。
セッション管理部130aは、負荷管理部150aが出力した接続先変更要求、クライアントに割り当てられている識別子、及び他の負荷分散装置に割り当てられている識別子を、セッション保持部120aに転送する。
通知情報受付部140aは、サーバ200による処理結果である通知情報と、クライアント300に割り当てられた識別子とを、通信インタフェース110aを介して受信し、セッション管理部130aに転送する。
負荷分散装置群内の負荷分散装置のうち1つ以上の負荷分散装置は、サーバから通知情報を取得して、その通知情報をクライアントに送信する。ここで、各負荷分散装置は、通知情報を送信するための負荷を、負荷分散装置群内でセッションを移動させることで分散又は集約させる。負荷管理部150aは、負荷情報(確立しているセッション数、CPU利用率、空きメモリ量など)を各部から取得する。負荷管理部150aは、負荷情報交換部160aを介して、負荷情報を他の負荷分散装置(例えば、負荷分散装置100b)に送信する。負荷管理部150aは、他の負荷分散装置における負荷情報を、負荷情報交換部160aを介して、その負荷分散装置から受信する。
負荷管理部150aは、クライアント300と自装置との間で確立しているセッションを、他の負荷分散装置に移動させるか否かを判定する。ここで、負荷管理部150aは、負荷分散装置群100における通知処理の負荷の状況を表す負荷情報、例えば、自装置(負荷分散装置100a)における負荷情報と、他の負荷分散装置(負荷分散装置100b)における負荷情報との比較結果に基づいて、セッションを移動させるか否かを判定する。
負荷管理部150aは、他の負荷分散装置(例えば、負荷分散装置100b)の負荷よりも自装置の負荷が高い場合、当該他の負荷分散装置にセッションを移動させると判定する。負荷管理部150aは、自装置から他の負荷分散装置にセッションを移動させると判定した場合、接続先変更要求により、クライアントに割り当てられている識別子、及び当該他の負荷分散装置を識別するための識別子を、セッション管理部130aに出力する。また、負荷管理部150aは、接続先が変更されることを表す情報を、接続クライアント報告部170aに出力する。
一方、負荷管理部150aは、他の負荷分散装置(例えば、負荷分散装置100b)の負荷と自装置の負荷とが共に低い場合、自装置のセッションを全て当該他の負荷分散装置に移動させ、処理を集約させると判定する。ここで、負荷が低いか否かの判定には、予め定められた閾値が用いられてもよい。負荷管理部150aは、自装置から他の負荷分散装置にセッションを移動させると判定した場合、負荷管理部150aは、接続先変更要求により、クライアントに割り当てられている識別子、及び当該他の負荷分散装置を識別するための識別子を、セッション管理部130aに出力する。また、負荷管理部150aは、セッションを移動したことで接続先が変更されることを表す情報を、接続クライアント報告部170aに出力する。
負荷管理部150aは、自装置を識別するための識別子、又は他の負荷分散装置を識別するための識別子を再送信することを、クライアント300から要求された場合、通信インタフェース110aを介して、クライアント300に当該識別子を再送信する。
負荷情報交換部160aは、自装置における負荷情報を、通信インタフェース110aを介して他の装置に送信する。また、負荷情報交換部160aは、他の負荷分散装置における負荷情報を、通信インタフェース110aを介してその負荷分散装置から受信する。
接続クライアント報告部170aは、クライアント300との間で確立しているセッションを、他の負荷分散装置(例えば、負荷分散装置100b)に移動させると負荷管理部150aが判定した場合、負荷管理部150aから取得した「接続先が変更されることを表す情報」を、通信インタフェース110aを介してサーバ200に送信する。
次に、負荷分散装置の動作手順を説明する。
<通知処理の負荷が増大していない又は減少していない場合(正常な場合)について>
図2は、通知処理の負荷が増大していない又は減少していない場合における、負荷分散装置群、サーバ及びクライアントの各動作手順の概略を表す図である。
クライアント300は、サーバ200に所定の処理を要求する(ステップS1)。サーバ200は、処理結果である通知情報をサーバ200の代わりに通知する負荷分散装置100aに割り当てられている識別子(例えば、IPアドレス、URL)を、クライアント300に送信する(ステップS2)。クライアント300は、サーバ200から受信した識別子が割り当てられている負荷分散装置100aに通信接続する(接続要求)(ステップS3)。
サーバ200は、処理結果である通知情報をサーバ200の代わりに通知する負荷分散装置100aに、処理結果である通知情報を送信する(ステップS4)。負荷分散装置100aは、サーバ200から受信した通知情報を、クライアント300にピギーバックにより送信する(ステップS5)。
図3は、通知処理の負荷が増大していない又は減少していない場合における、負荷分散装置群、サーバ及びクライアントの各動作手順を表すシーケンス図である。
クライアント300は、サーバ200から受信した識別子(例えば、IPアドレス、URL)が割り当てられている負荷分散装置100aに通信接続する(接続要求)。ここで、クライアント300は、自装置(クライアント300)に割り当てられた識別子を、セッション保持部120aに送信する(ステップSa1)。セッション保持部120aは、クライアント300とのセッションを確立し、確立したセッションを保持する(ステップSa2)。セッション管理部130aは、クライアント300に割り当てられた識別子と、確立したセッションが動作しているプロセスに関する情報とを記憶する(ステップSa3)。
そして、通知情報受付部140aは、所定の通知情報をサーバ200から受信したとする(ステップSa4)。通知情報受付部140aは、サーバ200から受信した通知情報と、クライアント300に割り当てられた識別子とを、セッション管理部130aに転送する(ステップS5)。セッション管理部130aは、クライアント300に割り当てられた識別子に基づいて、クライアント300とのセッション及びプロセスを割り出す(ステップSa6)。
セッション管理部130aは、割り出したセッションを表す情報と、サーバ200から受信した所定の通知情報とを、セッション保持部120aに出力する(ステップSa7)。セッション保持部120aは、セッション管理部130aが割り出したセッションに基づいて、サーバ200から受信した所定の通知情報を、通信インタフェース110aを介してクライアント300に送信する(ステップSa8)。
<通知処理の負荷が増大した又は減少した場合について>
通知処理の負荷が増大した場合、負荷分散装置群100は、負荷分散装置群100内の多数の負荷分散装置にセッションを移動させることで、通知処理の負荷を分散させる。一方、通知処理の負荷が減少した場合、負荷分散装置群100は、負荷分散装置群100内の少数の負荷分散装置にセッションを移動させることで、通知処理の負荷を集約させる。
図4は、通知処理の負荷が増大した又は減少した場合における、負荷分散装置群、サーバ及びクライアントの各動作手順の概略を表す図である。
クライアント300は、サーバ200から通知された識別子が割り当てられている負荷分散装置100aに通信接続する(ステップSb1)。負荷分散装置100aは、負荷情報(確立しているセッション数、CPU利用率、空きメモリ量など)に基づいて、クライアント300と自装置(負荷分散装置100a)との間のセッションを移動させるか否かを判定する。
セッションを移動させると判定した場合、負荷分散装置100aは、新たな接続先である負荷分散装置100bに割り当てられた識別子を、クライアント300に送信する。ここで、負荷分散装置100aは、HTTPリダイレクト要求におけるステータス・コードとして、移動を表すコード(301「Moved Permanently」)を送信する(ステップSb2)。
負荷分散装置100aは、接続先が変更されることを表す情報(クライアント300に割り当てられている識別子、及び負荷分散装置100bに割り当てられている識別子)を、サーバ200に送信する(ステップSb3)。
クライアント300は、受信した識別子に基づいて、新たな接続先である負荷分散装置100bに通信接続する(ステップSb4)。
図5は、通知処理の負荷が増大した又は減少した場合における、負荷分散装置群、サーバ及びクライアントの各動作手順を表すシーケンス図である。
クライアント300は、サーバ200から受信した識別子が割り当てられている負荷分散装置100aに通信接続する(接続要求)。ここで、クライアント300は、自装置に割り当てられた識別子を、負荷分散装置100aのセッション保持部120aに送信する(ステップSc1)。セッション保持部120aは、クライアント300とのセッションを確立し、確立したセッションを保持する(ステップSc2)。
セッション管理部130aは、クライアント300に割り当てられた識別子と、確立したセッションが動作しているプロセスに関する情報とを記憶する(ステップSc3)。負荷管理部150aは、負荷情報(確立しているセッション数、CPU利用率、空きメモリ量など)を各部から取得する(ステップSc4)。
負荷管理部150aは、負荷情報交換部160aを介して、負荷情報を負荷分散装置100bに送信する(ステップSc5)。負荷管理部150aは、負荷分散装置100bにおける負荷情報を、負荷情報交換部160aを介して負荷分散装置100bから受信する(ステップSc6)。
負荷管理部150aは、クライアント300との間で確立しているセッションを、負荷分散装置100bに移動させるか否かを判定する(ステップSc7)。なお、ステップSa4〜ステップSa7までの手順は、予め定められた周期で繰り返される。
ここで、負荷管理部150aは、セッションを負荷分散装置100bに移動させると判定したとする(ステップSc8)。負荷管理部150aは、リダイレクト要求(ステータス・コード「301」)を、セッション管理部130aに出力する(ステップSc9)。さらに、セッション管理部130aは、リダイレクト要求をセッション保持部120aに転送する(ステップSc10)。また、セッション保持部120aは、リダイレクト要求をクライアント300に送信する(ステップSc11)。
また、負荷管理部150aは、接続先が変更されることを表す情報(クライアント300に割り当てられた識別子、及び、負荷分散装置100bに割り当てられた識別子を、接続クライアント報告部170aに出力する(ステップSc12)。接続クライアント報告部170aは、接続先が変更されることを表す情報を、通信インタフェース110aを介してサーバ200に送信する(ステップSc13)。
クライアント300は、自装置(クライアント300)に割り当てられた識別子を、負荷分散装置100bに送信する(ステップSc14)。クライアント300は、負荷分散装置100bから通知情報を受信する。
上記に説明した負荷分散装置は、ネットワーク資源を管理するネットワーク資源管理(Network Resource Manager、NRM)システムとして、以下に示す通信環境に適用されてもよい。
図6は、負荷分散装置群を用いる通信環境の例を表す図である。クライアント300は、通信経路(パス)を通すようNRMに要求する(パス要求)。パス要求を受信したNRMは、通信経路上のスイッチ間に共通の設定するよう、他のNRMに要求する。パス要求を受信したNRMは、通信経路の設定が終わった、又は通信経路に障害が発生した等のイベント(状態変更)を、クライアント300に通知する(状態変更通知)。
以上のように、負荷分散装置100aは、クライアント300からの要求に応じてサーバ200が処理した結果である通知情報をサーバ200の代わりにクライアント300に通知する処理の負荷を表す負荷情報を、他の負荷分散装置(例えば、負荷分散装置110b)から受信する負荷情報交換部160aと、負荷情報交換部160aが受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、クライアント300に送信する負荷管理部150aと、前記通知情報をサーバ200から受信する通知情報受付部140aと、通知情報受付部140aが受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報をクライアント300に送信(ピギーバック)するセッション保持部120aと、を備える。
この構成により、サーバの代わりに負荷分散装置が、通知情報を所定情報に付加し、該通知情報が付加された所定情報をクライアントに送信(ピギーバック)するので、これにより、負荷分散装置は、情報を通知する先であるクライアントに情報を非同期に通知する際の即時性が高く、且つ、情報を通知する元であるサーバにおける処理の負荷を低くすることができる。
また、負荷管理部150aは、他の負荷分散装置における負荷よりも、自装置の負荷のほうが高い場合、当該他の負荷分散装置を識別するための識別子を、クライアント300に通信インタフェース110aを介して送信する。
これにより、負荷分散装置は、サーバからクライアントに対して非同期に情報を通知する処理の負荷の状況に基づいて、負荷分散装置群内で負荷を分散させることができる。
また、負荷管理部150aは、他の負荷分散装置から受信した負荷情報が表す負荷と、自装置の負荷とが共に低い場合、当該他の負荷分散装置を識別するための識別子を、クライアント300に通信インタフェース110aを介して送信する。
これにより、負荷分散装置は、サーバからクライアントに対して非同期に情報を通知する処理の負荷の状況に基づいて、負荷分散装置群内で負荷を集約させることができる。
また、負荷管理部150aは、負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに基づいて、自装置における負荷と、他の負荷分散装置における負荷とを比較する。
これにより、負荷分散装置は、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに基づいて、負荷分散装置群内で負荷を分散又は集約させることができる。
また、負荷管理部150aは、負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに対する閾値に基づいて、自装置の負荷の低さと、他の負荷分散装置の負荷の低さとを判定する。
これにより、負荷分散装置は、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに対する閾値に基づいて、負荷分散装置群内で負荷を分散又は集約させることができる。
また、負荷管理部150aは、他の負荷分散装置を識別するための識別子を、HTTPリダイレクト・メソッドによりクライアント300に送信する。
これにより、負荷分散装置は、HTTPリダイレクト・メソッドにより、負荷分散装置群内で負荷を分散又は集約させることができる。
また、負荷管理部150aは、自装置を識別するための識別子、又は他の負荷分散装置を識別するための識別子を再送信することを、クライアント300から要求された場合、当該クライアントに識別子を再送信する。
負荷分散装置とクライアントとのセッションが切断された場合でも、これにより、負荷分散装置は、負荷分散装置群内で負荷を分散又は集約させることができる。
また、負荷分散システムは、所定の処理を要求するクライアント300と、クライアント300からの要求に応じて処理した結果である通知情報を送信するサーバ200と、複数の負荷分散装置100a等と、を備え、負荷分散装置100a等が、前記通知情報をサーバ200の代わりにクライアント300に通知する処理の負荷を表す負荷情報を、他の負荷分散装置(例えば、負荷分散装置110b)から受信する負荷情報交換部160aと、負荷情報交換部160aが受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、クライアント300に送信する負荷管理部150aと、前記通知情報をサーバ200から受信する通知情報受付部140aと、通知情報受付部140aが受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報をクライアント300に送信セッション保持部120aする情報送信部と、を備える。
この構成により、サーバの代わりに負荷分散装置が、通知情報を所定情報に付加し、該通知情報が付加された所定情報をクライアントに送信(ピギーバック)するので、これにより、負荷分散システムは、情報を通知する先であるクライアントに情報を非同期に通知する際の即時性が高く、且つ、情報を通知する元であるサーバにおける処理の負荷を低くすることができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、リダイレクト要求におけるステータス・コードは、一時的な移動を表すコード(302「Moved Temporarily」)であってもよい。
また、例えば、クライアントは、負荷分散装置とのセッションが切断された場合、識別子の再送信を負荷分散装置に要求してもよい。
なお、以上に説明した負荷分散装置及び負荷分散システムを実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
100…負荷分散装置群、100a、100b…負荷分散処理装置、110a…通信インタフェース、120a…セッション保持部(情報送信部)、130a…セッション管理部、140a…通知情報受付部、150a…負荷管理部、160a…負荷情報交換部、170a…接続クライアント報告部、200…サーバ、300…クライアント

Claims (10)

  1. クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する負荷情報交換部と、
    前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する負荷管理部と、
    前記通知情報を前記サーバから受信する通知情報受付部と、
    前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する情報送信部と、
    を備えることを特徴とする負荷分散装置。
  2. 前記負荷管理部は、前記他の負荷分散装置から受信した前記負荷情報が表す負荷よりも、自装置の負荷のほうが高い場合、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信することを特徴とする請求項1に記載の負荷分散装置。
  3. 前記負荷管理部は、前記他の負荷分散装置から受信した前記負荷情報が表す負荷と、自装置の負荷とが共に低い場合、当該他の負荷分散装置を識別するための識別子を、前記クライアントに通信インタフェースを介して送信することを特徴とする請求項1又は請求項2に記載の負荷分散装置。
  4. 前記負荷管理部は、前記負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに基づいて、自装置の負荷と、他の負荷分散装置の負荷とを比較することを特徴とする請求項1から請求項3のいずれか1つに記載の負荷分散装置。
  5. 前記負荷管理部は、前記負荷情報として、セッション数、CPU利用率及びメモリ量のうち少なくとも1つに対する閾値に基づいて、自装置の負荷の低さと、他の負荷分散装置の負荷の低さとを判定することを特徴とする請求項1から請求項3のいずれか1つに記載の負荷分散装置。
  6. 前記負荷管理部は、他の負荷分散装置を識別するための前記識別子を、HTTPリダイレクト・メソッドにより前記クライアントに送信することを特徴とする請求項1から請求項5のいずれか1つに記載の負荷分散装置。
  7. 前記負荷管理部は、前記負荷分散装置を識別するための前記識別子を再送信することを、前記クライアントから要求された場合、当該クライアントに前記識別子を再送信することを特徴とする請求項1から請求項6のいずれか1つに記載の負荷分散装置。
  8. 所定の処理を要求するクライアントと、
    前記クライアントからの要求に応じて処理した結果である通知情報を送信するサーバと、
    複数の負荷分散装置と、
    を備え、
    前記負荷分散装置は、
    前記通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する負荷情報交換部と、
    前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する負荷管理部と、
    前記通知情報を前記サーバから受信する通知情報受付部と、
    前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する情報送信部と、
    を備えることを特徴とする負荷分散システム。
  9. 情報を通知する処理の負荷を分散又は集約させる負荷分散装置における負荷分散方法であって、
    負荷情報交換部が、クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信するステップと、
    負荷管理部が、前記負荷情報交換部が受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信するステップと、
    通知情報受付部が、前記通知情報を前記サーバから受信するステップと、
    情報送信部が、前記通知情報受付部が受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信するステップと、
    を有することを特徴とする負荷分散方法。
  10. コンピュータに、
    クライアントからの要求に応じてサーバが処理した結果である通知情報を前記サーバの代わりに前記クライアントに通知する処理の負荷を表す負荷情報を、他の負荷分散装置から受信する手順と、
    受信した前記負荷情報が表す負荷と、自装置の負荷と、を比較し、該比較結果に応じて、当該他の負荷分散装置を識別するための識別子を、前記クライアントに送信する手順と、
    前記通知情報を前記サーバから受信する手順と、
    受信した前記通知情報を所定情報に付加し、該通知情報が付加された前記所定情報を前記クライアントに送信する手順と、
    を実行させるための負荷分散プログラム。
JP2011047787A 2011-03-04 2011-03-04 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム Pending JP2012185638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011047787A JP2012185638A (ja) 2011-03-04 2011-03-04 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011047787A JP2012185638A (ja) 2011-03-04 2011-03-04 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム

Publications (1)

Publication Number Publication Date
JP2012185638A true JP2012185638A (ja) 2012-09-27

Family

ID=47015686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011047787A Pending JP2012185638A (ja) 2011-03-04 2011-03-04 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム

Country Status (1)

Country Link
JP (1) JP2012185638A (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155327A (ja) * 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd 代理サーバの接続制御サーバ,代理サーバ,及びネットワーク制御方法
JP2002271415A (ja) * 2001-03-12 2002-09-20 Hitachi Ltd プロキシサーバ・システム、および、その通信方法
JP2002318790A (ja) * 2001-04-19 2002-10-31 Nec Corp 分散オブジェクト環境に適用される通信システムおよび通信プログラム
JP2005519409A (ja) * 2001-09-29 2005-06-30 シーベル・システムズ・インコーポレイテッド ウェブブラウザに対する非同期メッセージのプッシュ
JP2006301769A (ja) * 2005-04-18 2006-11-02 Hitachi Information Technology Co Ltd サーバ装置
JP2008071156A (ja) * 2006-09-14 2008-03-27 Nec Corp 負荷分散システム、方法、及び、プログラム
JP2011039725A (ja) * 2009-08-10 2011-02-24 Hitachi Ltd ゲートウェイシステム及び制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155327A (ja) * 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd 代理サーバの接続制御サーバ,代理サーバ,及びネットワーク制御方法
JP2002271415A (ja) * 2001-03-12 2002-09-20 Hitachi Ltd プロキシサーバ・システム、および、その通信方法
JP2002318790A (ja) * 2001-04-19 2002-10-31 Nec Corp 分散オブジェクト環境に適用される通信システムおよび通信プログラム
JP2005519409A (ja) * 2001-09-29 2005-06-30 シーベル・システムズ・インコーポレイテッド ウェブブラウザに対する非同期メッセージのプッシュ
JP2006301769A (ja) * 2005-04-18 2006-11-02 Hitachi Information Technology Co Ltd サーバ装置
JP2008071156A (ja) * 2006-09-14 2008-03-27 Nec Corp 負荷分散システム、方法、及び、プログラム
JP2011039725A (ja) * 2009-08-10 2011-02-24 Hitachi Ltd ゲートウェイシステム及び制御方法

Similar Documents

Publication Publication Date Title
CN101370035B (zh) 用于动态客户端/服务器网络管理的方法以及系统
CN109218355A (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
CN101977153B (zh) 一种流量调节方法和设备
US20040024861A1 (en) Network load balancing
US20090172157A1 (en) Method and Device for Content Transmission on P2P Network
RU2013143788A (ru) Обеспечение службы-свидетеля
KR20010088742A (ko) 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
CN109672711B (zh) 一种基于反向代理服务器Nginx的http请求处理方法及系统
US9621599B2 (en) Communication system, communication method, and call control server
KR20090097034A (ko) 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
GB2513779A (en) A method and system for scalable job processing
EP3496432A1 (en) Communication method and device
JP2016531372A (ja) メモリモジュールアクセス方法および装置
CN107689878A (zh) 基于命名调度的tcp长连接负载均衡系统
CN103384181A (zh) 数据包的传输方法和设备
JP2007219637A (ja) 負荷分散システムおよびそのプログラム
WO2013042636A1 (ja) 配信ネットワークとサーバ及び配信方法
JP2012108685A (ja) 負荷分散システム
JP2012185638A (ja) 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム
CN114024968B (zh) 一种基于中间设备的报文发送方法、装置和电子设备
JP6606032B2 (ja) 輻輳通知装置、および、輻輳通知方法
JP2000200245A (ja) 情報利用システム及び情報利用方法
AlShahwan et al. Providing light weight distributed web services from mobile hosts
EP3188015A1 (en) Requesting and receiving a media stream within a networked system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141104