JP6891425B2 - 情報処理装置、制御方法およびプログラム - Google Patents

情報処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP6891425B2
JP6891425B2 JP2016173461A JP2016173461A JP6891425B2 JP 6891425 B2 JP6891425 B2 JP 6891425B2 JP 2016173461 A JP2016173461 A JP 2016173461A JP 2016173461 A JP2016173461 A JP 2016173461A JP 6891425 B2 JP6891425 B2 JP 6891425B2
Authority
JP
Japan
Prior art keywords
server
request
processing
executed
load
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
JP2016173461A
Other languages
English (en)
Other versions
JP2018041190A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016173461A priority Critical patent/JP6891425B2/ja
Publication of JP2018041190A publication Critical patent/JP2018041190A/ja
Application granted granted Critical
Publication of JP6891425B2 publication Critical patent/JP6891425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置、制御方法およびプログラムに関する。
ネットワーク上に設定された仮想マシン(仮想サーバ)をサーバとして用い、サービスを提供するシステムが実現されている。この種のシステムにおいて、処理の量に応じて仮想マシンを増加(スケールアウト)させたり、減少(スケールイン)させたりする制御が行われる場合がある。特許文献1には、システムの負荷に応じて仮想マシンを増減させる従来技術が開示されている。同文献に記載された情報処理装置は、監視部、制御部および記憶部を備え、監視部は、管理対象のシステムの負荷をモニタし、制御部は、システムに対して過去に起動指示を行い、かつ、起動処理中である仮想マシンの状況、および、負荷のモニタ結果に応じて、システムにおける仮想マシンの起動指示と起動処理中である仮想マシンの停止指示を行う。
特開2015−194958号公報
仮想マシンをサーバとしてサービスを提供するシステムでは、システムの負荷が増大すると、仮想マシンを増加させて対応することが行われる。しかし、仮想マシンを増加させる操作を完了して追加された仮想マシンによる処理の実行が可能となる(追加された仮想マシンが稼働する)までには、時間を要する。そのため、負荷が増大した際、増加した仮想マシンが稼働するまでの間に、エラーや遅延等の不具合が発生する可能性があった。
本発明の目的は、仮想マシンをサーバとしてサービスを提供するシステムにおいて、仮想マシンを増加させた際に、増加した仮想マシンが稼働するまでに要する時間に基づく不具合の発生を抑制することにある。
本発明の請求項1に係る情報処理装置は、
サーバに処理を実行させる要求を保持する要求保持部と、
前記要求保持部に保持された前記要求を前記サーバへ送信する送信部と、
前記サーバの情報を管理し、前記送信部により当該サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該送信部により当該サーバへ送信予定の前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理部と、
を備えることを特徴とする、情報処理装置である。
請求項2に係る情報処理装置は、
前記サーバが、仮想サーバであり、前記サーバ管理部は、前記仮想サーバのインスタンスを増加させることを特徴とする、請求項1に記載の情報処理装置である。
請求項3に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷の合計が予め定められた値よりも大きい場合に、前記サーバの資源を増加させることを特徴とする、請求項1または請求項2に記載の情報処理装置である。
請求項4に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記特定の条件とは異なる予め定められた準備依頼条件を満足する場合に、前記サーバの資源を増加するための準備を依頼することを特徴とする、請求項1乃至請求項3に記載の情報処理装置である。
請求項5に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記準備依頼条件を満足した後、前記特定の条件および当該準備依頼条件とは異なる予め定められた破棄条件を満足する場合に、前記資源を増加するための準備の依頼の破棄を依頼することを特徴とする、請求項4に記載の情報処理装置である。
請求項6に係る方法は、
要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法であって、
サーバに処理を実行させる要求を記憶手段に保持するステップと、
前記サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該サーバへ送信予定の前記記憶手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるステップと、
前記記憶手段に保持された前記要求を前記サーバへ送信するステップと、
を含むことを特徴とする、制御方法である。
請求項7に係るプログラムは、
コンピュータを、
サーバに処理を実行させる要求を保持する要求保持手段と、
前記要求保持手段に保持された前記要求を前記サーバへ送信する送信手段と、
前記サーバの情報を管理し、前記送信手段により当該サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該送信手段により当該サーバへ送信予定の前記要求保持手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理手段として、
機能させることを特徴とする、プログラムである。
請求項1の発明によれば、サーバが受信した要求の処理の負荷のみに基づいて資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項2の発明によれば、仮想サーバの負荷が増大してインスタンスの増加が必要になってからインスタンスを増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項3の発明によれば、仮想サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、保持している要求を実行する際に対応するように資源の増加を依頼することにより、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項4の発明によれば、仮想サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、資源の増加が必要になる前に予め準備を依頼することにより、速やかに資源を増加させることを可能とし、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項5の発明によれば、仮想サーバの負荷が減少して資源を増加する必要がなくなった場合に、資源の増加の準備を破棄することで、無駄な資源の準備を抑制することができる。
請求項6の発明によれば、要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法において、サーバが受信した要求の処理の負荷のみに基づいて資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項7の発明によれば、コンピュータを制御するプログラムにおいて、サーバが受信した要求の処理の負荷のみに基づいて資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
本実施形態が適用される情報処理システムの構成例を示す図である。 管理サーバの機能構成を示す図である。 管理サーバの動作を示すフローチャートである。 管理サーバの動作を示すフローチャートである。 管理サーバを実現するコンピュータ(情報処理装置)のハードウェア構成例を示す図である。
<本実施形態が適用される情報処理システムの構成>
図1は、本実施形態が適用される情報処理システムの構成例を示す図である。図1に示すように、本実施形態による情報処理システム10は、管理サーバ100と、実行サーバ200と、クライアント300とを備える。管理サーバ100と実行サーバ200とは、ネットワーク20を介して接続されている。また、図示の構成において、クライアント300は、ネットワーク20を介さずに管理サーバ100と接続されているが、ネットワーク20を介して接続してもよい。また、図示の構成において、サービスA、サービスB、サービスCをそれぞれ提供する3種類の実行サーバ200が示されているが、実行サーバ200の数は利用するサービスに応じて設定され、図示の3種類に限定されない。また、図1には、クライアント300が1台のみ記載されているが、実際のシステムにおいては複数台のクライアント300が管理サーバ100に接続されてもよい。
ネットワーク20は、管理サーバ100と実行サーバ200との間で情報通信を行えるものであれば特に限定されず、例えばインターネットやLAN(Local Area Network)等としてよい。情報通信に用いられる通信回線は、有線であっても無線であっても良い。また、複数のネットワークや通信回線を介して管理サーバ100と実行サーバ200とを接続しても良い。特に図示しないが、ネットワーク20には、ネットワークや通信回線を接続するためのゲートウェイやハブ、無線LANにおけるアクセスポイント等の中継装置が適宜設けられる。なお、詳しくは後述するが、本実施形態において、実行サーバ200は、仮想マシンにより実現される。したがって、実際には、実行サーバ200が物理的にネットワーク20に接続されるのではなく、実行サーバ200が構築されている物理的なサーバマシンがネットワーク20に接続されている。
管理サーバ100とクライアント300とは、図1に示すように、ネットワークを介さずに直接接続してもよいし、ネットワーク20を介して接続してもよい。また、管理サーバ100と実行サーバ200とが接続されたネットワーク20とは異なるネットワークを介して接続してもよい。具体的な構成の一例としては、管理サーバ100とクライアント300とがLANにより接続され、管理サーバ100と実行サーバ200とがインターネットにより接続される構成が考えられる。
管理サーバ100は、コンピュータにより実現される。管理サーバ100は、クライアント300から要求(リクエスト)を受け付けて、要求に応じた処理を実行する実行サーバ200へ送信する。そして、実行サーバ200から返送された応答(レスポンス)を受け付けて、クライアント300へ送信する。本実施形態の管理サーバ100は、クライアント300から受け付けた要求に応じて、複数の実行サーバ200にアクセスし、処理を実行させることがある。すなわち、受け付けた要求が、複数の処理の実行を要する要求であって、要求された複数の処理が個別の実行サーバ200により実行される処理である場合、管理サーバ100は、各処理を実行する実行サーバ200にアクセスして処理を実行させる。複数の実行サーバ200に処理を実行させる場合、各処理を順次実行させてもよいし、並列実行が可能な複数の処理に関しては、並列に実行させてもよい。
具体例として、文字が書かれた画像データに対して、光学的文字認識処理(OCR;Optical Character Recognition/Reader)を行い、画像変換処理を行い、ネットワーク上の記憶装置に格納する処理(格納処理)を要求する場合を考える。ここで、光学的文字認識処理、画像変換処理、格納処理の各々は、別個の実行サーバ200により実行される処理であるものとする。この場合、この要求を受け付けた管理サーバ100は、まず、光学的文字認識処理を実行する実行サーバ200にアクセスして画像データを送り、光学的文字認識処理を実行させる。そして、実行サーバ200から光学的文字認識処理の処理結果を受け取ると、次に管理サーバ100は、画像変換処理を実行する実行サーバ200にアクセスして画像データを送り、画像変換処理を実行させる。そして、実行サーバ200から画像変換処理の処理結果を受け取ると、次に管理サーバ100は、格納処理を実行する実行サーバ200にアクセスし、光学的文字認識処理および画像変換処理の処理結果を記憶装置に格納させる。なお、上記の具体例において、例えば、光学的文字認識処理と画像変換処理とが互いに独立した処理である場合、画像変換処理を先に実行させてもよいし、これらの処理を並列に実行してもよい。
実行サーバ200は、ネットワーク20に接続されたコンピュータ上に構築された仮想マシンにより実現される。一つの実行サーバ200は、1台のコンピュータ上に構築した仮想マシンであってもよいし、複数のコンピュータに機能を分散させて構築した仮想マシンであってもよい。また、1台のコンピュータ上に複数の実行サーバ200を構築し、複数のサービスを提供する構成としてもよい。サービスの提供における実行サーバ200の性能(処理能力や記憶容量など)は、サービスの提供者や仮想マシンの提供者により予め設定される。そして、処理を実行する資源としての実行サーバ200として動作する仮想マシンのインスタンスを増やしたり減らしたりすることにより、サービスの実行能力が変更される。管理サーバ100から利用可能な実行サーバ200のインスタンスの数および増減は、実行サーバ200の管理サイトにより管理される。図1に示す例では、サービスA、サービスB、サービスCをそれぞれ提供する3種類の実行サーバ200が示されており、以下、これらを区別する場合は、提供されるサービスの符号を添え字として用い、実行サーバ200A、実行サーバ200B、実行サーバ200C等と記載する。
クライアント300は、実行サーバ200により提供されるサービスの利用者が使用する端末装置であり、パーソナルコンピュータ、携帯情報端末、プリンタ複合機、その他の種々の情報処理装置により実現される。
<管理サーバの機能構成>
図2は、管理サーバ100の機能構成を示す図である。図2に示すように、管理サーバ100は、送受信部110と、要求管理部120と、要求保持部130と、応答保持部140と、応答管理部150と、実行サーバ管理部160とを備える。送受信部110は、ネットワーク・インターフェイス(図示せず)を介して実行サーバ200およびクライアント300とデータ交換を行う。
要求管理部120は、送受信部110がクライアント300から受信した要求を受け付け、要求保持部130に保持させる。要求保持部130は、送信先の実行サーバ200ごとに設けられたキューである。図2に示す例では、図1に示した実行サーバ200A、200B、200Cに対応して、サービスA用のキュー131A、サービスB用のキュー131B、サービスC用のキュー131Cが記載されている(以下、各キュー131A、131B、131Cを区別しないときは、単にキュー131と記載する)。したがって、要求管理部120は、例えば、実行サーバ200Aにより提供されるサービスの要求を受け付けると、順次、要求保持部130のキュー131Aに保持させる。要求保持部130のキュー131A、131B、131Cに保持された要求は、各々保持された順に、送受信部110により、対応する実行サーバ200A、200B、200Cへ送信される。
また、要求管理部120が受け付けた要求が、一つの実行サーバ200(例えば、実行サーバ200A)による処理結果に対して他の実行サーバ200(例えば、実行サーバ200B)による処理の実行を要求するものである場合を考える。この場合、要求管理部120は、実行サーバ200Aから返送された処理結果を新たな要求として、キュー131Bに保持させる。このようにして、一つの要求に対する複数の実行サーバ200による処理が順次実行される。
要求保持部130は、上述したように、要求の送信先である実行サーバ200ごとに設けられたキュー131である。本実施形態では、クライアント300から受け付けた要求を要求保持部130に一時的に保持させた後、送信先の実行サーバ200ごとに順次送信する。このように、実行サーバ200へ送る要求を一時的に保持することにより、本実施形態は、受け付けた要求の量が増加したときに、直ちに実行サーバ200の処理能力を超えてしまう事態が発生することを回避する。また、本実施形態は、要求保持部130に保持された要求の量を監視することにより、現在の実行サーバ200の負荷だけでなく、これから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷に基づき、実行サーバ200のインスタンスの増加を依頼する。本実施形態における実行サーバ200のインスタンスの増加を依頼する機能の詳細については後述する。
応答保持部140は、送受信部110が実行サーバ200から受信した応答(処理結果)を保持するキューである。応答保持部140のキューは、上述した要求保持部130のキューと異なり、実行サーバ200ごとに設けられるのではなく単一である。すなわち、送受信部110により受信した応答は、いずれの実行サーバ200から送信されたかに関わらず、受信した順番に応答保持部140に保持される。
応答管理部150は、応答保持部140に保持された応答を順次読み出し、処理する。ここでは、応答が要求を発行したクライアント300に返送されるべきものであるならば、応答管理部150は、送受信部110により、その応答をクライアント300へ返送させる。また、応答が次の実行サーバ200による処理の対象であるならば、応答管理部150は、その応答を要求管理部120に渡し、要求管理部120が、その要求を、次の処理を行う実行サーバ200に対応する要求保持部130のキュー131A、131B、131Cに保持させる。
本実施形態は、応答管理部150が応答保持部140を管理することにより、実行サーバ200の動作状況を把握する。すなわち、応答管理部150は、要求管理部120から実行サーバ200へ送った要求の情報を取得し、実行サーバ200へ送った要求と実行サーバ200から受け取った応答との対応関係に基づいて、実行サーバ200における要求の実行状況を把握する。また、実行サーバ200のインスタンスの増減を行った場合は、実行サーバ200の動作状況を把握することにより、インスタンスの増減に基づく処理能力の変化(インスタンスを増加または減少した後の処理能力)を認識する。
実行サーバ管理部160は、各実行サーバ200のサービスの提供における性能の情報を管理する。実行サーバ200は、仮想マシンのインスタンスとして構成されるため、インスタンスを増減することにより性能が変更する。そこで、実行サーバ管理部160は、各サービスの実行サーバ200ごとに、インスタンス単位の性能の情報と、稼働しているインスタンスの数とを管理する。なお、インスタンス単位の性能の情報は、例えば予め、各実行サーバ200のサービスの提供者や仮想マシンの提供者から取得し、管理サーバ100の記憶装置(図示せず)に保持しておく。
また、実行サーバ管理部160は、各実行サーバ200の負荷に応じて、実行サーバ200のインスタンスを増加(スケールアウト)、減少(スケールイン)させる。このインスタンスの増減は、実行サーバ200のオートスケール機能を利用して行ってもよいし、実行サーバ200の管理サイトに依頼して行ってもよい。実行サーバ200のオートスケール機能を利用する場合、実行サーバ管理部160は、オートスケール機能によりインスタンスの増加または減少を実行させるコマンドを、実行サーバ200に送信する。以下、具体的な手法に関わらず、実行サーバ200のインスタンスの増加(または減少)を実行させるための操作を行うことを、実行サーバ200のインスタンスの増加(または減少)を依頼する等と記載する。
さらに、実行サーバ管理部160は、実行サーバ200のインスタンスの負荷が増大する可能性が高いとして予め定められた条件を満たす場合に、実行サーバ200のインスタンスを増加させる操作の準備を行うように、実行サーバ200の管理サイトに依頼(準備依頼)する。準備依頼は、実際に増加することが必要になったときに、追加されたインスタンスが直ちに稼働できるように予め準備するように、実行サーバ200の管理サイトに依頼するものである。具体的にどのような準備をするかは、実行サーバ200の管理サイトに任されており、サービス内容等に応じて実行サーバ200ごとに定めてよい。また、実際にインスタンスを増加させる依頼が行われたときに、直ちに稼働できるサーバであれば、事前の準備のための操作は特に行う必要はない。
<実行サーバのインスタンスの増減の依頼>
上述したように、実行サーバ管理部160は、現在の実行サーバ200の負荷およびこれから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷に基づいて、実行サーバ200に対し、インスタンスの増加を依頼する。現在の実行サーバ200の負荷とは、実行サーバ200が処理を実行中の要求を処理するために要する負荷(以下、現在負荷と呼ぶ)である。これから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷とは、要求保持部130において該当する実行サーバ200用のキュー131に保持されている要求を処理するために要する負荷(以下、予想負荷と呼ぶ)である。本実施形態において、実行サーバ管理部160は、現在負荷と予想負荷を加算した負荷(以下、合計負荷と呼ぶ)の、実行サーバ200において同時に実行可能な処理の量(以下、同時処理能力と呼ぶ)に対する割合に基づいて、インスタンスの増減を依頼する。
具体的な例を挙げて説明する。ある実行サーバ200において、「要求a」、「要求b」、「要求c」の3種類の要求に対する処理を実行可能であるとする。そして、実行サーバ200の同時処理能力を100とすると、「要求a」に対する処理を実行するのに要する実行サーバ200の同時処理能力は20であるものとする。これは、「要求a」に対する処理を実行する際に、実行サーバ200の同時処理能力の20%が使用されることを意味する。同様に、「要求b」に対する処理を実行するのに要する実行サーバ200の同時処理能力は10、「要求c」に対する処理を実行するのに要する実行サーバ200の同時処理能力は5であるものとする。
また、一例として、実行サーバ200のインスタンスの増減に関する規則を、次のように設定する。
(1)稼働中の実行サーバ200のインスタンスの全てにおいて、合計負荷が、100%を超えたときは、インスタンスを1つ増加させる。
(2)稼働中の実行サーバ200のインスタンスの数をN(Nは2以上)としたとき、合計負荷が、(N−2)台のインスタンスで100%であり、1台のインスタンスで0%であり、残りの1台のインスタンスで80%を下回ったときは、インスタンスを1つ減少させる。
(3)稼働中の実行サーバ200のインスタンスの数をM(Mは1以上)としたとき、合計負荷が、(M−1)台のインスタンスで100%であり、1台のインスタンスで80%以上となったときは、インスタンスを増加するための準備依頼を行う。
簡単のために稼働中のインスタンスを1台として、負荷の計算例を示す。第1の計算例として、実行サーバ200において、1個の「要求a」に対する処理、2個の「要求b」に対する処理、3個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、上記の各要求における負荷(要求に対する処理を実行するのに要する同時処理能力)に基づき、合計負荷は、
20×1+10×2+5×3+10×1=65
である。合計負荷が65なので、上記の規則に基づき、インスタンスの増減に関する操作は行われない。
第2の計算例として、実行サーバ200において、1個の「要求a」に対する処理、2個の「要求b」に対する処理、6個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、合計負荷は、
20×1+10×2+5×6+10×1=80
である。合計負荷が80なので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスを増加させるための準備依頼を行う。
第3の計算例として、実行サーバ200において、2個の「要求a」に対する処理、3個の「要求b」に対する処理、5個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、合計負荷は、
20×2+10×3+5×5+10×1=105
である。合計負荷が105で、100を上回ったので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスの増加を依頼する。
第4の計算例では、既にインスタンスの増加が1回行われており、2台のインスタンスが稼働中である場合について例示する。2台のインスタンスのうち、1台のインスタンスでは処理が実行されておらず、負荷が0%であるものとする。また、残りの1台のインスタンスにおいて、2個の「要求a」に対する処理、3個の「要求b」に対する処理、3個の「要求c」に対する処理が実行されており、要求保持部130のキュー131には新規の要求が保持されていないものとする。そして、実行サーバ200において実行されていた処理のうち、1個の「要求b」に対する処理が完了し、処理結果の応答が返送されて応答保持部140に保持されたものとする。この場合、合計負荷は、
20×2+10×3+5×3−10×1=75
である。合計負荷が75で、80を下回ったので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスの減少を依頼する。
ここで、上記の第3の計算例を参照すると、現在負荷は、95(=20×2+10×3+5×5)であり、まだ、実行サーバ200の同時処理能力の100%に達していない。しかし、これから要求保持部130に保持されている要求が実行されると実行サーバ200の同時処理能力の100%を超えるため、実行サーバ管理部160は、この時点で実行サーバ200のインスタンスの増加を依頼する。これにより、実際に要求保持部130に保持されている要求が実行サーバ200に送られて処理が実行される時点ではインスタンスが増加されており、エラーや遅延が生じることなく処理が実行される。
また、上記の第2の計算例を参照すると、実行サーバ管理部160は、合計負荷が80に達した時点で、実行サーバ200のインスタンスを増加するための準備を依頼する。これにより、インスタンスの増加に時間を要するサービスが行われる実行サーバ200においては、予めインスタンスの増加の準備を行っておき、この後に要求が増えてインスタンスの増加が必要となった際に、直ちに追加のインスタンスを稼働して対応することが可能となる。
なお、上記のインスタンスの増減に関する各規則、各要求の負荷や計算例に示す数値などは、全て例示であり、上記の具体的な内容や値に限定されるものではない。実行サーバ200が要求に対する処理を実行する際の負荷は、実際のシステムにおいて具体的に特定される。また、インスタンスの増減に関する規則は、少なくともインスタンスを増加する依頼を行うための基準として現在負荷と予想負荷とを考慮するものであればよく、具体的には、実行サーバ200の仕様や情報処理システム10の運用の態様等に応じて設定される。
<管理サーバの動作>
図3、4は、管理サーバ100の動作を示すフローチャートである。図3に示すように、管理サーバ100において、送受信部110を介して要求管理部120が、クライアント300から要求を受け付けると(ステップ301)、受け付けた要求の内容に基づき、その要求を処理するサービス(実行サーバ200)を決定する(ステップ302)。
次に、実行サーバ管理部160が、ステップ302で決定された実行サーバ200の性能の情報を記憶装置から読み出して取得し(ステップ303)、インスタンスの増加の準備依頼を行う条件(準備依頼条件)を満足するか否かを判断する(ステップ304)。準備依頼条件としては、例えば、上述した合計負荷に基づく規則(規則(3)参照)等が設定される。準備依頼条件を満足しない場合(ステップ304でNo)、要求管理部120による要求の実行依頼が行われる(ステップ311)。
一方、準備依頼条件を満足する場合(ステップ304でYes)、次に実行サーバ管理部160は、既に準備依頼を行っているか否かを判断する(ステップ305)。まだ準備依頼が行われていない場合(ステップ305でNo)、実行サーバ管理部160は、実行サーバ200の管理サイトに対して準備依頼を実行する(ステップ306)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。
これに対し、既に準備依頼が行われている場合(ステップ305でYes)、次に実行サーバ管理部160は、準備依頼を破棄する条件(破棄条件)を満足するか否かを判断する(図4、ステップ307)。例えば、準備依頼条件を満足しなくなったときは、破棄条件を満足すると設定することができる。この場合、上述した合計負荷に基づく規則(3)を準備依頼条件とすると、合計負荷が80%を下回ったとき、破棄条件を満足することになる。破棄条件を満足した場合(ステップ307でYes)、実行サーバ管理部160は、実行サーバ200の管理サイトに対して準備依頼の破棄を依頼する(ステップ310)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。なお、ここでは、準備依頼条件を満足しなくなったときに破棄条件を満足することとしたが、準備依頼条件とは別に破棄条件を設定しても良い。
一方、破棄条件を満足しない場合(ステップ307でNo)、上記の破棄条件の例では、準備依頼条件を満足した状態が継続している場合、次に実行サーバ管理部160は、実行サーバ200のインスタンスを増加させるための条件(増加条件)を満足するか否かを判定する(ステップ308)。増加条件としては、例えば、上述した合計負荷に基づく規則(規則(1)参照)等が設定される。増加条件を満足しない場合(ステップ308でNo)、要求管理部120による要求の実行依頼が行われる(ステップ311)。
一方、増加条件を満足する場合(ステップ308でYes)、実行サーバ管理部160は、実行サーバ200のインスタンスの増加を依頼する(ステップ309)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。
ステップ311において、要求管理部120は、要求に対する処理を実行する実行サーバ200に対応する要求保持部130のキュー131に要求を保持させる。そして、キュー131に保持されている要求を、順次、実行サーバ200へ送る。要求が実行サーバ200へ送られると、ステップ311におけるその要求に対する実行依頼が完了する。
ステップ311における要求の実行依頼が完了すると、次に、実行サーバ管理部160は、実行サーバ200のインスタンスを減少させるための条件(減少条件)を満足するか否かを判定する(ステップ312)。減少条件としては、例えば、上述した合計負荷に基づく規則(規則(2)参照)等が設定される。減少条件を満足する場合(ステップ312でYes)、実行サーバ管理部160が実行サーバ200のインスタンスの減少を依頼する(ステップ313)。そして、この要求に関する処理が終了する。一方、減少条件を満足しない場合(ステップ312でNo)、インスタンスを減少させる必要がないので、そのままこの要求に関する処理が終了する。
以上、本実施形態の管理サーバ100による実行サーバ200の制御方法について説明したが、上記の手順は例示に過ぎない。本実施形態は、管理サーバ100が実行サーバ200において実行中の要求および要求保持部130に保持されている要求に基づいて実行サーバ200のインスタンスの増加や増加の準備を依頼するものであればよく、具体的な動作は、図3、4に示す手順に限定されるものではない。
<管理サーバ100のハードウェア構成例>
図5は、管理サーバ100を実現するコンピュータ(情報処理装置)のハードウェア構成例を示す図である。図5に示すように、管理サーバ100は、制御手段および演算手段であるCPU(Central Processing Unit)101と、RAM102およびROM103と、外部記憶装置104と、ネットワーク・インターフェイス部105とを備える。CPU101は、ROM103に格納されているプログラムを実行することにより、要求管理部120、応答管理部150および実行サーバ管理部160の機能を実現する。RAM102は、CPU201による制御や演算処理において作業メモリとして用いられるとともに、要求保持部130(キュー131)および応答保持部140として機能する。ROM103は、CPU101が実行するプログラムや制御において用いられる各種のデータを格納している。外部記憶装置104は、例えば磁気ディスク装置や、データの読み書きが可能で不揮発性の半導体メモリで実現され、RAM102に展開されてCPU101により実行されるプログラムや、CPU101による演算処理の結果を格納する。ネットワーク・インターフェイス部105は、ネットワーク20に接続して、実行サーバ200やクライアント300との間でデータの送受信を行う。なお、図5に示す構成例は、管理サーバ100をコンピュータで実現するハードウェア構成の一例に過ぎない。管理サーバ100の具体的構成は、本実施形態の機能を実現し得るものであれば、図5に示す構成例に限定されない。
10…情報処理システム、20…ネットワーク、100…管理サーバ、110…送受信部、120…要求管理部、130…要求保持部、140…応答保持部、150…応答管理部、160…実行サーバ管理部

Claims (7)

  1. サーバに処理を実行させる要求を保持する要求保持部と、
    前記要求保持部に保持された前記要求を前記サーバへ送信する送信部と、
    前記サーバの情報を管理し、前記送信部により当該サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該送信部により当該サーバへ送信予定の前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理部と、
    を備えることを特徴とする、情報処理装置。
  2. 前記サーバは、仮想サーバであり、前記サーバ管理部は、前記仮想サーバのインスタンスを増加させることを特徴とする、請求項1に記載の情報処理装置。
  3. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷の合計が予め定められた値よりも大きい場合に、前記サーバの資源を増加させることを特徴とする、請求項1または請求項2に記載の情報処理装置。
  4. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記特定の条件とは異なる予め定められた準備依頼条件を満足する場合に、前記サーバの資源を増加するための準備を依頼することを特徴とする、請求項1乃至請求項3に記載の情報処理装置。
  5. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記準備依頼条件を満足した後、前記特定の条件および当該準備依頼条件とは異なる予め定められた破棄条件を満足する場合に、前記資源を増加するための準備の依頼の破棄を依頼することを特徴とする、請求項4に記載の情報処理装置。
  6. 要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法であって、
    サーバに処理を実行させる要求を記憶手段に保持するステップと、
    前記サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該サーバへ送信予定の前記記憶手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるステップと、
    前記記憶手段に保持された前記要求を前記サーバへ送信するステップと、
    を含むことを特徴とする、制御方法。
  7. コンピュータを、
    サーバに処理を実行させる要求を保持する要求保持手段と、
    前記要求保持手段に保持された前記要求を前記サーバへ送信する送信手段と、
    前記サーバの情報を管理し、前記送信手段により当該サーバへ送信されて当該サーバが実行中の前記要求に対する処理の負荷と当該送信手段により当該サーバへ送信予定の前記要求保持手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理手段として、
    機能させることを特徴とする、プログラム。
JP2016173461A 2016-09-06 2016-09-06 情報処理装置、制御方法およびプログラム Active JP6891425B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016173461A JP6891425B2 (ja) 2016-09-06 2016-09-06 情報処理装置、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016173461A JP6891425B2 (ja) 2016-09-06 2016-09-06 情報処理装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018041190A JP2018041190A (ja) 2018-03-15
JP6891425B2 true JP6891425B2 (ja) 2021-06-18

Family

ID=61626191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016173461A Active JP6891425B2 (ja) 2016-09-06 2016-09-06 情報処理装置、制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6891425B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112020017633A2 (pt) 2018-03-07 2020-12-22 Honda Motor Co., Ltd. Estrutura de disposição de unidade de controle para veículo do tipo para montar em selim
JP2021196912A (ja) * 2020-06-15 2021-12-27 ヤフー株式会社 実行装置、実行方法、および実行プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118525A (ja) * 2009-12-01 2011-06-16 Hitachi Ltd サーバ管理装置とサーバ管理方法およびサーバ管理プログラム
US20130179289A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Pricing of resources in virtual machine pools

Also Published As

Publication number Publication date
JP2018041190A (ja) 2018-03-15

Similar Documents

Publication Publication Date Title
US9992273B2 (en) Intelligent load balancer selection in a multi-load balancer environment
US9888048B1 (en) Supporting millions of parallel light weight data streams in a distributed system
EP1349065A2 (en) Symmetrical multiprocessing in multiprocessor systems
US9258197B2 (en) Prioritizing service requests
CN108028833A (zh) 一种nas数据访问的方法、系统及相关设备
WO2008092773A1 (en) System and method for multicore communication processing
CN110391993A (zh) 一种数据处理方法及系统
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
KR102509988B1 (ko) 커넥션 기반 로드 밸런싱을 위한 저장 시스템 및 방법
CN112087520B (zh) 数据处理方法、装置、设备及计算机可读存储介质
JP6891425B2 (ja) 情報処理装置、制御方法およびプログラム
EP1607880A1 (en) Decentralized processing control device, decentralized processing control method, decentralized processing control program
JP5702747B2 (ja) サービスオーダーシステム、サービスオーダー装置、サービスオーダー方法、及びサービスオーダープログラム
JP4411296B2 (ja) リクエスト制限装置、サーバ装置、リクエスト制限方法、リクエスト制限プログラム
JP5917678B1 (ja) 情報処理装置、方法およびプログラム
JP6204407B2 (ja) サービス提供システム、サービス提供方法、およびサービス提供プログラム
JP6176161B2 (ja) 印刷制御装置及びプログラム
JP5585195B2 (ja) トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
JP6620760B2 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム
JP2017033234A (ja) リクエスト受付システム、リクエスト受付方法、及び、プログラム
JP6696927B2 (ja) クラスタシステム、クラスタシステムのアップデート管理装置、アップデート振分装置、アップデート管理方法、アップデート振分方法及びプログラム
WO2018181956A1 (ja) 仮想ネットワーク機能の制御方法、仮想ネットワーク機能管理装置及び仮想ネットワーク提供システム
JP6812732B2 (ja) 情報処理システム、情報処理装置およびプログラム
KR20070059956A (ko) 서버 애플리케이션의 선택적 활성화 방법, 컴퓨터 네트워크시스템 및 프로그램 저장 장치
WO2020184381A1 (ja) 処理装置、情報処理システム、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R150 Certificate of patent or registration of utility model

Ref document number: 6891425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150