JP6089783B2 - 制御装置、リソース制御プログラムおよびリソース制御方法 - Google Patents

制御装置、リソース制御プログラムおよびリソース制御方法 Download PDF

Info

Publication number
JP6089783B2
JP6089783B2 JP2013037890A JP2013037890A JP6089783B2 JP 6089783 B2 JP6089783 B2 JP 6089783B2 JP 2013037890 A JP2013037890 A JP 2013037890A JP 2013037890 A JP2013037890 A JP 2013037890A JP 6089783 B2 JP6089783 B2 JP 6089783B2
Authority
JP
Japan
Prior art keywords
service
apl
load
application
amount
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
JP2013037890A
Other languages
English (en)
Other versions
JP2014164715A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013037890A priority Critical patent/JP6089783B2/ja
Priority to US14/096,482 priority patent/US20140244844A1/en
Priority to EP20130196233 priority patent/EP2772857A3/en
Priority to CN201310737064.5A priority patent/CN104008015B/zh
Publication of JP2014164715A publication Critical patent/JP2014164715A/ja
Application granted granted Critical
Publication of JP6089783B2 publication Critical patent/JP6089783B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction

Landscapes

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

Description

本発明は、制御装置、リソース制御プログラムおよびリソース制御方法に関する。
従来、データセンタ等の計算機システムが、計算機リソースを顧客に対して提供する技術が知られている。このような技術の一例として、顧客が実行するアプリケーションの負荷に応じて、顧客に対して提供する計算機リソースの量を変更する技術が知られている。
例えば、顧客に対して提供する計算機リソースを提供する計算機システムは、顧客が実行するアプリケーションが使用するメモリの量やアプリケーションを実行する際のCPU(Central Processing Unit)使用率等の負荷を計測する。そして、計算機システムは、計測した負荷が所定の閾値を超えた場合は、顧客に対して提供する計算機リソースにあらかじめ設定された量の計算機リソースを追加する。
特開2004−318474号公報 特開2005−173928号公報
しかしながら、上述した閾値を用いて顧客に提供する計算機リソースを変更させる技術では、アプリケーションの負荷が急に変化した際に、顧客に提供する計算機リソースの量を負荷の変化に追従させることができないという問題がある。
例えば、アプリケーションの負荷が指数関数的に増加した場合は、計算機リソースの追加がアプリケーションの負荷の増加に追従できない場合がある。この結果、アプリケーションの実行に支障が発生する場合がある。
本願は、上述した問題に鑑みてなされたものであり、1つの側面では、アプリケーションの負荷に対して計算機リソースを短時間で追従させることを目的とする。
1つの側面では、アプリケーションを実行する際に利用するリソース量を制御する制御装置である。また、制御装置は、アプリケーションを実行する情報処理装置から、アプリケーションを実行する際の負荷を示す負荷情報を収集する。また、制御装置は、収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定する。また、制御装置は、負荷が所定の閾値を超えていると判定した場合は、収集した負荷情報と、過去に収集した負荷情報とを用いて、アプリケーションを実行する際の負荷の増減量を算出する。そして、制御装置は、算出した増減量に基づいて、アプリケーションに割当るリソース量を決定する。
1つの側面では、アプリケーションの負荷に対して計算機リソースを短時間で追従させることができる。
図1は、実施例1に係る情報処理システムを説明する図である。 図2は、サービス提供サーバの機能構成を説明する図である。 図3は、空きAPL番号テーブルの一例を説明する図である。 図4は、メモリ管理テーブルの一例を説明する図である。 図5は、アドレス関係テーブルの一例を説明する図である。 図6は、サービス関係テーブルの一例を説明する図である。 図7は、APL負荷計測部が計測するデータの一例を説明する図である。 図8は、変更依頼の一例を説明する図である。 図9は、リソース割当制御サーバの機能構成を説明する図である。 図10は、負荷状況テーブルの一例を説明する図である。 図11は、閾値の一例を説明する図である。 図12は、実施例1に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。 図13は、実施例2に係るリソース割当制御サーバの機能構成を説明する図である。 図14は、負荷状況テーブルのバリエーションを説明する図である。 図15は、実施例2に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。 図16は、実施例3に係るサービス提供サーバの機能構成を説明する図である。 図17は、実施例3に係るサービス関係テーブルの一例を説明する図である。 図18は、実施例3に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。 図19は、実施例3に係るサービス関係テーブルのバリエーションを説明する図である。 図20は、実施例3に係る情報処理システムが実行する処理のバリエーションを説明するためのシーケンス図である。 図21は、リソース制御プログラムを実行するコンピュータを説明する図である。
以下に添付図面を参照して本願に係る制御装置、リソース制御プログラムおよびリソース制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。また、各実施例は、矛盾しない範囲で適宜組みあわせてもよい。
以下の実施例1では、図1を用いて、本願に係る制御サーバを含む情報処理システム1を説明する。図1は、実施例1に係る情報処理システムを説明する図である。図1に示す例では、情報処理システム1は、利用者端末2、ISP(Internet Service Provider)3、サービス提供者端末4、ISP5、インターネット6、データセンタ10を有する。また、データセンタ10は、複数のサービス提供サーバ11〜13、リソース割当制御サーバ14を有する。また、図1に示す例では、利用者端末2は、ISP3、インターネット6を介して、データセンタ10に接続する。また、サービス提供者端末4は、ISP5、インターネット6を介して、データセンタ10に接続する。
なお、データセンタ10は、サービス提供サーバ11〜13以外にも、複数のサービス提供サーバを有するものとする。またISP3、5は、利用者端末2や、サービス提供者端末4をインターネット6に接続するサービスを提供するインターネット接続業者のネットワークである。また、サービス提供サーバ12、13は、サービス提供サーバ11と同様の機能を発揮するものとして、以下の説明を省略する。
利用者端末2は、ISP3、およびインターネット6を介して、データセンタ10が有する各サービス提供サーバ11〜13が実行するサービスの提供を受ける端末である。また、サービス提供者端末4は、利用者端末2に対して提供されるサービスの提供元が有する端末である。
例えば、サービス提供者端末4は、利用者端末2に対して各種サービスを提供するためのアプリケーションの実行をデータセンタ10に対して指示する。このような場合は、データセンタ10は、指示に従ってアプリケーションを稼動させ、利用者端末2に対してサービスの提供を行う。
サービス提供サーバ11〜13は、利用者端末2に対して各種サービスを提供するためのアプリケーションや仮想マシンを稼動させる。例えば、サービス提供サーバ11〜13は、サービス提供者端末4からの指示に従って、サービスを提供するための1つ以上のアプリケーションを実行する。そして、サービス提供サーバ11は、アプリケーションの実行結果を利用者端末2に提供する。
また、サービス提供サーバ11は、各アプリケーションに対し、リソース割当制御サーバ14が設定するリソース量を割当てて実行する。ここで、リソース量とは、アプリケーション実行する際に使用するリソースの量であり、例えば、アプリケーションに割当てられたメモリ量、実行するアプリケーションの数、アプリケーションを実行するVM(仮想マシン:Virtual Machine)の数である。
ここで、アプリケーションを実行する際にサービス提供サーバ11が利用する計算機リソース、すなわちアプリケーションを実行する際の負荷は、アプリケーションが提供するサービスの内容やサービスの提供対象となる利用者端末の数により変化する。しかしながら、このような負荷が所定の閾値を超えた際に所定量のリソースを追加したとしても、例えば指数関数的に増加した負荷に対して、割当てるリソース量を追従させることができない。
そこで、リソース割当制御サーバ14は、負荷の増減量に基づいて、アプリケーションを実行する際に必要なリソースの量を予測し、予測した量のリソースを割当てる。詳細には、リソース割当制御サーバ14は、各サービス提供サーバ11〜13が実行するアプリケーションごとに、アプリケーションを実行する際の負荷を収集する。また、リソース割当制御サーバ14は、収集した負荷を記憶する。
また、リソース割当制御サーバ14は、アプリケーションを実行する際の負荷の増減量を算出する。そして、リソース割当制御サーバ14は、算出した負荷の増減量に基づいて、アプリケーションに割当てるリソース量を算出し、算出したリソース量を各サービス提供サーバ11〜13に通知することで、リソース量の追加や減少を行う。この結果、リソース割当制御サーバ14は、例えば、アプリケーションを実行する際の負荷が指数関数的に増加した際にも、アプリケーションに対して割当てるリソース量を付加に追従させることができる。
次に、図2を用いて、サービス提供サーバ11の機能構成について説明する。図2は、サービス提供サーバの機能構成を説明する図である。図2に示すように、サービス提供サーバ11は、通信部20、APL(Application)負荷計測部21、振分け部22、記憶部23、リソース制御部24、使用中リソース25、残余リソース26を有する。また、記憶部23は、空きAPL番号テーブル27、メモリ管理テーブル28、アドレス関係テーブル29、サービス関係テーブル30を記憶する。
また、リソース制御部24は、リソース管理部31、テーブル管理部32を有する。また、使用中リソース25には、メモリ33とCPU(Central Processing Unit)37が含まれる。ここで、メモリ33には実行中アプリケーション34として、複数のサービスAPL35、36が含まれる。また、残余リソース26には、メモリ38が含まれる。なお、図2では記載を省略したが、サービス提供サーバ11は、サービスAPL35、36以外にも、様々なサービスAPLを実行しているものとする。
また、使用中リソース25とは、サービス提供サーバ11が各サービスAPL35、36を実行するために使用中の計算機リソースである。例えば、メモリ33とは、使用中リソース25に、サービスAPL35、36に割当てられたメモリ領域である。また、CPU37は、サービスAPL35、36を実行する演算処理装置である。一方、残余リソース26とは、サービス提供サーバ11が有する計算機リソースのうち、サービスAPL35、36に割当てられていない計算機リソースである。例えば、メモリ38は、各サービスAPL35、36に割当てられていない、すなわち使用されていないメモリ領域である。
まず、図3〜6を用いて、記憶部23が記憶する各テーブル27〜30に格納される情報の内容について説明する。まず、図3を用いて、空きAPL番号テーブルの一例について説明する。図3は、空きAPL番号テーブルの一例を説明する図である。図3に示すように、空きAPL番号テーブルは、サービス提供サーバ11が実行する1つ以上のサービスAPLに対して割当てられていないAPL番号を記憶する。
すなわち、サービス提供サーバ11は、実行中のサービスAPLに対してAPL番号を割当てており、実行中のサービスAPLに対して割当てていないAPL番号を空きAPL番号テーブル27にプールする。例えば、図3に示す例では、空きAPL番号テーブル27には、APL番号「5」、「6」…がプールされている。
次に、図4を用いて、メモリ管理テーブル28の一例について説明する。図4は、メモリ管理テーブルの一例を説明する図である。例えば、メモリ管理テーブル28には、図4中(a)に示す、サービス提供サーバ11が有するメモリ全体に係る情報と、図4中(b)に示すように、サービス提供サーバ11が実行する各サービスAPLに割当てられたメモリ量とが格納されている。
例えば、メモリ管理テーブル28には、図4中(a)に示すように、サービス提供サーバ11が有する全メモリ量を示すサーバ全体メモリ量「100000GB(ギガバイト)」が格納されている。また、メモリ管理テーブル28には、サーバ全体の空きメモリ量を示すサーバ全体空きメモリ量「48055GB」が格納されている。
また、メモリ管理テーブル28には、図4中(b)に示すように、サービス提供サーバ11が実行するサービスAPLに付与されたサービスAPL番号とサービスAPLに割当てられたメモリ量を示す使用メモリ量とが対応付けて格納されている。例えば、メモリ管理テーブル28は、サービスAPL番号「1」のサービスAPLに「15GB」のメモリが割当てられ、サービスAPL番号「2」のサービスAPLに「10GB」のメモリが割当てられている旨を示す。
次に、図5を用いて、アドレス関係テーブル29の一例について説明する。図5は、アドレス関係テーブルの一例を説明する図である。図5に示す例では、アドレス関係テーブル29には、サービスAPL番号、プロセスID、Mac(Media Access Control)アドレス、IP(Internet Protocol)アドレスが対応付けて格納されている。ここで、プロセスIDとは、サービスAPLの起動時に割当てられた識別子である。例えば、サービス提供サーバ11が有するCPUは、プロセスIDを用いて、実行するサービスAPLの指定を行う。また、Macアドレス、およびIPアドレスは、サービスAPLからサービスの提供を受けるため、利用者端末2がサービスAPLにアクセスする際に用いるMacアドレス、およびIPアドレスである。
例えば、図5に示す例では、アドレス関係テーブル29は、サービスAPL番号「1」のサービスAPLには、プロセスID「123456」が割当てられている旨を示す。また、アドレス関係テーブル29は、サービスAPL番号「1」のサービスAPLに対し、Macアドレス「00−12−34−56−78−90」およびIPアドレス「123.45.67.89」でアクセス可能である旨を示す。
次に、図6を用いて、サービス関係テーブル30の一例について説明する。図6は、サービス関係テーブルの一例を説明する図である。図6に示す例では、サービス関係テーブル30には、サービスAPL ID、サービスAPLファイル所在、サービスAPL番号が対応付けて格納されている。ここで、サービスAPL IDとは、サービス提供サーバ11が提供するサービスの種別を示す識別子である。
また、サービスAPLファイル所在とは、サービスを提供するためのサービスAPLの所在を示す情報であり、例えば、図示を省略した記憶装置においてサービスAPLが格納されたアドレスである。また、図6に示すように、サービス関係テーブル30には、サービスAPL IDが示すサービスを提供するために動作するサービスAPLに割当てられたサービスAPL番号が、実行された順番を示すナンバーとともに格納される。
例えば、図6に示す例では、サービス関係テーブル30は、サービスAPL ID「1」が示すサービスを提供するためのサービスAPLが「/service/APL/login」に格納されている旨を示す。また、サービス関係テーブル30は、サービスAPL ID「1」が示すサービスを提供するため、サービスAPL番号「1」のサービスAPLとサービスAPL番号「5」のサービスAPLとが実行される旨を示す。すなわち、サービスAPL番号「1」のサービスAPLとサービスAPL番号「5」のサービスAPLとは、サービスAPL ID「1」が示すサービスを提供するために連携して動作するサービスAPLである。
また、図6に示す例では、サービス関係テーブル30は、サービスAPL ID「2」が示すサービスを提供するためのサービスAPLが「/service/APL/cart」に格納されている旨を示す。また、サービス関係テーブル30は、サービスAPL ID「2」が示すサービスを提供するため、サービスAPL番号「2」のサービスAPLが実行される旨を示す。
図2に戻り、通信部20は、サービス提供サーバ11と、利用者端末2、サービス提供者端末4、リソース割当制御サーバ14との通信を制御する。また、APL負荷計測部21は、所定の時間間隔で、サービス提供サーバ11が実行する各サービスAPL35、36を実行する際の負荷を計測する。そして、APL負荷計測部21は、負荷情報をリソース割当制御サーバ14に対して送信する。
ここで、図7を用いて、APL負荷計測部21が計測する負荷の一例について説明する。図7は、APL負荷計測部が計測するデータの一例を説明する図である。例えば、APL負荷計測部21は、各サービスAPL35、36を実行する際のCPU使用率とメモリ使用率とを測定する。ここで、CPU使用率とは、CPU37が各サービスAPL35、36の処理を実行している時間の割合を示す情報である。また、メモリ使用率とは、各サービスAPL35、36に割当てられたメモリ量のうち、実際に使用されているメモリ量の割合を示す情報である。
例えば、APL負荷計測部21は、各サービスAPL35、36によるCPU使用率とメモリ使用率とを測定する。また、APL負荷計測部21は、各サービスAPL35、36に割当てられたメモリ量を識別する。そして、APL負荷計測部21は、測定したCPU使用率およびメモリ使用率とともに、負荷を計測した計測日時と各サービスAPLのサービスAPL番号と各サービスAPLに割当てられたメモリ量とを対応付けた負荷情報をサービス提供サーバ11に通知する。
例えば、APL負荷計測部21は、図7に示すように、サービスAPL番号「1」、計測日時「2012/12/10 12:34:55」、CPU使用率「80%」、メモリ使用率「90%」とを対応付けた負荷情報を生成する。そして、APL負荷計測部21は、生成した負荷情報に、サービスAPL番号「1」が示すサービスAPLのメモリ使用量を含め、通信部20を介して、生成した負荷情報をリソース割当制御サーバ14に送信する。
また、APL負荷計測部21は、サービスAPL番号「2」、計測日時「2012/12/10 12:34:52」、CPU使用率「40%」、メモリ使用率「35%」を対応付けてリソース割当制御サーバ14に通知する。また、APL負荷計測部21は、サービスAPL番号「3」、計測日時「2012/12/10 12:34:54」、CPU使用率「65%」、メモリ使用率「50%」を対応付けてリソース割当制御サーバ14に通知する。
図2に戻り、振分け部22は、アドレス関係テーブル29、およびサービス関係テーブル30を用いて、利用者端末2からのリクエストの振分けを行うロードバランサである。例えば、振分け部22は、サービスAPL ID「1」が示すサービスの提供を開始するよう要求するリクエストを受信する。
このような場合には、振分け部22は、サービス関係テーブル30を参照し、サービスAPL ID「1」が示すサービスをサービスAPL番号「1」のサービスとサービスAPL番号「5」のサービスAPLとが提供する旨を識別する。そして、振分け部22は、サービスAPL番号「1」のサービスAPLとサービスAPL番号「5」のサービスAPLとでサービスの提供を行う利用者端末の数がほぼ均等となるように、サービスの提供を行うサービスAPLを選択する。
また、振分け部22は、利用者端末2に対するサービスの提供が開始されると、アドレス関係テーブル29を用いて、選択したサービスAPLと利用者端末2との間で発生するデータの送受信を制御する。
リソース制御部24は、サービス提供サーバ11が有する使用中リソース25および残余リソースの制御を行う。例えば、リソース管理部31は、通信部20を介して、リソース割当制御サーバ14から、各サービスAPL35、36に対して割当てるリソース量の変更を指示する変更依頼を受信する。すると、リソース管理部31は、受信した変更依頼に従って、各サービスAPL35、36に対して割当てるリソース量を変更する。そして、リソース管理部31は、変更内容をテーブル管理部32に通知する。
例えば、図8は、変更依頼の一例を説明する図である。図8に示すように、変更依頼は、サービスAPL番号、APL増加/減少数、メモリ増加/減少量とが対応付けて格納されている。例えば、リソース管理部31は、変更依頼として、サービスAPL番号「1」とAPL増加/減少数「+1」とが対応付けられている場合は、サービスAPL番号「1」が示すサービスAPLと同一のサービスAPLを追加で起動させる。そして、リソース管理部31は、追加したサービスAPLに対して、すでに起動済みのサービスAPLに割当てられたメモリ量と同じメモリ量を割当る。
また、リソース管理部31は、変更依頼として、サービスAPL番号「1」とメモリ増加/減少量「+13.5GB」とが対応付けられている場合は、サービスAPL番号「1」が示すサービスAPLに割当てられたメモリ量を「13.5GB」追加する。
なお、例えば、リソース管理部31は、サービスAPL番号「1」とAPL増加/減少数「−1」とが対応付けられている場合は、サービスAPL番号「1」が示すサービスAPLと同一のサービスAPLを1つ終了させる。また、例えば、リソース管理部31は、サービスAPL番号「1」とメモリ増加/減少量「−13.5GB」とが対応付けられている場合は、サービスAPL番号「1」が示すサービスAPLに割当てられたメモリ量を「13.5GB」減少させる。
また、リソース管理部31は、サービスAPLを追加する場合は、追加するサービスAPLが使用する空きメモリが存在するかをメモリ管理テーブル28から判定し、追加するサービスAPLが使用する空きメモリを確保してからサービスAPLを起動してもよい。また、例えば、リソース管理部31は、サービスAPLを追加する場合は、追加するサービスAPLが使用する空きメモリが存在しない場合は、エラーの通知、もしくは、他のサービス提供サーバ12、13に対して、サービスAPLの追加実行を依頼してもよい。
図2に戻って、テーブル管理部32は、リソース管理部31から各サービスAPL35、36に割当てられたリソース量の変更内容を受信すると、受信した変更内容に従って、記憶部23が記憶する各テーブル27〜30の更新を行う。
例えば、テーブル管理部32は、リソース管理部31が実行するサービスAPLを1つ追加した場合は、空きAPL番号テーブル27に格納された空きAPL番号を1つ取得し、取得した空きAPL番号を新たに追加したサービスAPLに割当てる。また、テーブル管理部32は、取得した空きAPL番号を空きAPL番号テーブル27から削除する。
また、テーブル管理部32は、追加したサービスAPLに割当てたAPL番号を、追加したサービスAPLが提供するサービスを示すサービスAPL IDと対応付けてサービス関係テーブル30に格納する。例えば、テーブル管理部32は、サービスAPL IDが「1」のサービスを提供するサービスAPLを追加し、追加したサービスAPLにサービスAPL番号「5」を割当てた場合は、以下の処理を実行する。すなわち、テーブル管理部32は、サービス関係テーブル30からサービスAPL IDが「1」のエントリを抽出し、抽出したエントリのサービスAPL番号にサービスAPL番号「5」を追加する。
また、テーブル管理部32は、追加したサービスAPLに対して割当てられたサービスAPL番号、プロセスID、Macアドレス、IPアドレスを対応付けてアドレス関係テーブル29に格納する。ここで、テーブル管理部32は、追加したサービスAPLに対して割当てられたプロセスID、Macアドレス、IPアドレスを、サービス提供サーバ11が実行するOS等から取得する。また、テーブル管理部32は、追加したサービスAPLに対して割当てられたサービスAPL番号と、追加したサービスAPLに対して割当てられたメモリ量とを対応付けてメモリ管理テーブル28に格納する。
一方、テーブル管理部32は、サービスAPLが終了した場合は、終了したサービスAPLに割当てられたサービスAPL番号をサービス関係テーブル30から削除する。また、テーブル管理部32は、終了したサービスAPL番号が格納されたエントリをメモリ管理テーブル28、およびアドレス関係テーブル29から削除する。そして、テーブル管理部32は、終了したサービスAPLに割当てられたサービスAPL番号を空きAPL番号テーブル27に格納する。
また、テーブル管理部32は、いずれかのサービスAPLに対して割当られたメモリ量が追加、または削減された場合は、メモリ管理テーブル28に格納されたメモリ量を更新する。例えば、テーブル管理部32は、サービスAPL番号「1」のメモリ量が「13.5GB」追加された場合は、メモリ管理テーブル28にサービスAPL番号「1」と対応付けて格納されたメモリ量に「13.5GB」を加算する。
また、テーブル管理部32は、サービスAPLの追加や削除、または、メモリ量の追加や削除が行われた場合は、サービスAPLの追加・削除内容、およびメモリ量の追加・削減内容をリソース割当制御サーバ14に送信する。
次に、図9を用いて、リソース割当制御サーバの機能構成について説明する。図9は、リソース割当制御サーバの機能構成を説明する図である。図9に示す例では、リソース割当制御サーバ14は、記憶部40、通信部42、負荷状況収集部43、リソース増減判定部44、リソース増減量決定部45を有する。また、記憶部40は、負荷状況テーブル41を記憶する。
まず、図10を用いて、記憶部40が記憶する負荷状況テーブル41について説明する。図10は、負荷状況テーブルの一例を説明する図である。図10に示すように、負荷状況テーブルの各エントリには、サービス提供サーバ番号、サービスAPL番号、CPU使用率、メモリ使用率、メモリ使用量が対応付けられている。
なお、サービス提供サーバ番号とは、サービス提供サーバ11〜13を識別するための番号であり、対応付けられたサービスAPL番号が示すサービスAPLを実行するサービス提供サーバを示す番号である。また、負荷状況テーブル41には、前回測定したCPU使用率と最新のCPU使用率、および前回測定したメモリ使用率と最新のメモリ使用率とが格納されている。
図9に戻って、通信部42は、リソース割当制御サーバ14と各サービス提供サーバ11〜13との通信を制御する。負荷状況収集部43は、通信部42を介して、各サービス提供サーバ11〜13から、負荷情報を収集する。そして、負荷状況収集部43は、収集した負荷情報を用いて、負荷状況テーブル41の更新を行う。
以下、負荷状況収集部43が実行する処理の一例を説明する。なお、以下の説明では、サービス提供サーバ11のサービス提供サーバ番号が「1」であるものとする。例えば、負荷状況収集部43は、サービスAPL番号「1」、CPU使用率「80%」、メモリ使用率「90%」、メモリ使用量「15GB」とを対応付けた負荷情報を受信する。
このような場合には、負荷状況収集部43は、サービス提供サーバ番号「1」とサービスAPL番号「1」が格納されたエントリを負荷状況テーブル41から抽出する。次に、負荷状況収集部43は、抽出したエントリに格納された前回のCPU使用率を削除し、最新のCPU使用率を前回のCPU使用率とする。また、負荷状況収集部43は、抽出したエントリに格納された前回のメモリ使用率を削除し、最新のメモリ使用率を前回のCPU使用率とする。
続いて、負荷状況収集部43は、サービス提供サーバ11から受信した負荷情報のCPU使用率「80%」を最新のCPU使用率として、抽出したエントリに格納する。また、負荷状況収集部43は、サービス提供サーバ11から受信した負荷情報のメモリ使用率「90%」を最新のメモリ使用率として、抽出したエントリに格納する。また、負荷状況収集部43は、サービス提供サーバ11から受信したメモリ使用量「15GB」を、新たなメモリ使用量として、抽出したエントリに格納する。
なお、負荷状況収集部43は、サービスAPLの追加・削除内容、およびメモリ使用量の追加・削減内容をサービス提供サーバ11から受信する。このような場合は、負荷状況収集部43は、サービスAPLの追加・削除内容、およびメモリ使用量の追加・削減内容に従って、負荷状況テーブル41の更新を行う。
リソース増減判定部44は、負荷状況テーブル41を参照し、各サービスAPL35、36の付加が所定の閾値を超えているか否かを判定する。具体的には、リソース増減判定部44には、計算機リソースを削減するか否かを判定する削減閾値と、計算機リソースを追加するか否かを判定する追加閾値とが設定されている。
そして、リソース増減判定部44は、例えば、サービスAPL35を実行する際の負荷が削除閾値よりも小さい場合には、サービスAPL35に割当る計算機リソースの削減をリソース増減量決定部45に指示する。また、リソース増減判定部44は、サービスAPL35を実行する際の負荷が追加閾値よりも大きい場合には、サービスAPL35に割当てる計算機リソースの追加をリソース増減量決定部45に指示する。
以下、リソース増減判定部44が実行する処理の一例について説明する。まず、図11を用いて、リソース増減判定部44が用いる閾値の一例について説明する。図11は、閾値の一例を説明する図である。例えば、リソース増減判定部44は、CPU使用率とメモリ使用率との削減閾値、およびCPU使用率とメモリ使用率との追加閾値とを記憶する。
図11に示す例では、リソース増減判定部44は、CPU使用率の削減閾値として「30%」が設定されており、メモリ使用率の削減閾値として「30%」が設定されている。また、リソース増減判定部44は、CPU使用率の追加閾値として「70%」が設定されており、メモリ使用率の追加閾値として「70%」が設定されている。
例えば、リソース増減判定部44は、負荷状況テーブル41からサービス提供サーバ番号「1」、サービスAPL番号「1」のエントリを抽出し、抽出したエントリに格納された最新のCPU使用率「80%」を、削減閾値および追加閾値と比較する。すると、リソース増減判定部44は、最新のCPU使用率「80%」が追加閾値「70%」以上であると判定する。このような場合には、リソース増減判定部44は、リソース増減量決定部45に対し、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLについて、同一のサービスAPLを追加起動するよう指示する。
また、リソース増減判定部44は、抽出したエントリに格納された最新のメモリ使用率「90%」を、削減閾値および追加閾値と比較する。すると、リソース増減判定部44は、最新のメモリ使用率「90%」が追加閾値「70%」以上であると判定する。このような場合には、リソース増減判定部44は、リソース増減量決定部45に対し、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLについて、割当てるメモリ使用量を追加するよう指示する。
なお、リソース増減判定部44は、抽出したエントリに格納された最新のCPU使用率が削除閾値未満である場合は、以下の処理を実行する。すなわち、リソース増減判定部44は、抽出したエントリのサービス提供サーバ番号およびサービスAPL番号が示すサービスAPLの削減をリソース増減量決定部45に指示する。
また、リソース増減判定部44は、抽出したエントリに格納された最新のメモリ使用率が削除閾値未満である場合は、以下の処理を実行する。すなわち、リソース増減判定部44は、抽出したエントリのサービス提供サーバ番号およびサービスAPL番号が示すサービスAPLに割当られたメモリ使用量の削減を指示する。また、リソース増減判定部44は、負荷状況テーブル41の各エントリについて上述した処理を実行する。
図9に戻り、リソース増減量決定部45は、各サービスAPLごとに、負荷の増減量を算出し、算出した増減量に基づいて、各サービスAPLに割当てる計算機リソースの量を決定する。そして、リソース増減量決定部45は、決定した計算機リソースの量を、各サービス提供サーバ11〜13に対して通知する。
例えば、リソース増減量決定部45は、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLについて、同一のサービスAPLを追加起動する旨の指示をリソース増減判定部44から受信する。このような場合には、リソース増減量決定部45は、サービスAPL番号「1」と、APL増加/減少数「+1」とを対応付けた変更依頼を生成する。
また、リソース増減量決定部45は、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLについて、割当てるメモリ使用量を追加する旨の指示を受信する。このような場合には、リソース増減量決定部45は、サービス提供サーバ番号が「1」でサービスAPL番号が「1」となるエントリを負荷状況テーブル41から抽出し、抽出したエントリから前回のメモリ使用率、最新のメモリ使用率、メモリ使用量とを取得する。
そして、リソース増減量決定部45は、最新のメモリ使用率から前回のメモリ使用率を削減した値にメモリ使用量と所定の係数、例えば「3」、とを算した値をメモリ増加/減少量として算出する。例えば、リソース増減量決定部45は、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLについて、最新のメモリ使用率「90%」から前回のメモリ使用率「60%」を減算した値「30%」を算出する。そして、リソース増減量決定部45は、算出した「30%」にメモリ使用量「15GB」と係数「3」とを算したメモリ増加/減少量「+13.5GB」を算出する。
その後、リソース増減量決定部45は、算出したメモリ増加/減少量「+13.5GB」とサービスAPL番号「1」とを対応付けた変更依頼を生成する。そして、リソース増減量決定部45は、通信部42を介して、生成した変更依頼をサービス提供サーバ番号が「1」のサービス提供サーバ、すなわちサービス提供サーバ11へ送信する。
なお、リソース増減量決定部45は、例えば、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すサービスAPLの削減を指示された場合は、サービスAPL「1」とAPL増加/減少数「−1」とを対応付けた変更依頼を生成する。また、リソース増減量決定部45は、例えば、サービス提供サーバ番号「1」のサービスAPL番号「1」が示すメモリ使用量の削減を指示された場合は、以下の処理を実行する。
すなわち、リソース増減量決定部45は、最新のメモリ使用率から前回のメモリ使用率を削減した値にメモリ使用量と所定の係数とを算した値をメモリ増加/減少量として算出する。このため、リソース増減量決定部45は、サービスAPL番号「1」のメモリ使用率が低下している場合は、負の値のメモリ増加/減少量を算出する。そして、リソース増減量決定部45は、算出したメモリ増加/減少量とサービスAPL番号とを対応付けた変更依頼を生成し、生成した変更依頼を対応するサービス提供サーバへ送信する。
このように、リソース増減量決定部45は、メモリ使用率の増減量に応じて、サービスAPL35、36に割当てるメモリ使用量の追加量、削減量を算出する。このため、リソース割当制御サーバ14は、各サービスAPLの付加が急に増大または減少した際にも、割り当てる計算機リソース量を追従させることができる。
なお、メモリ使用量の追加量、削減量を算出する際に用いる係数は、リソース割当制御サーバ14が新たなリソース増減量を算出するまでの間に、各サービスAPLに割り当てた計算機リソースが枯渇しないように考慮されるマージンである。すなわち、リソース増減量決定部45は、サービスAPLを実行する際の負荷が変化する時間に対し、十分に短い時間間隔で新たなリソース増減量を算出できるのであれば、係数を考慮せずとも、適切なメモリ使用量の追加量、削減量を算出してもよい。また、この係数は、各サービス提供サーバ11〜13が実行するサービスAPLの性質や計算機リソースの量等に応じて、任意の値を設定することができる。
次に、図12を用いて、実施例1に係る情報処理システム1が実行する処理の流れについて説明する。図12は、実施例1に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。なお、図12に示す例では、理解を容易にするため、CPU使用率又はメモリ使用率が追加閾値以上となった際に実行する処理の流れについて記載した。
例えば、図12に示す例では、サービス提供サーバ11は、CPU使用率、メモリ使用率を計測し(ステップS101)、負荷情報をリソース割当制御サーバ14に送信する(ステップS102)。このような場合は、リソース割当制御サーバ14は、直近2回分の負荷情報を負荷状況テーブル41に格納する(ステップS103)。
続いて、リソース割当制御サーバ14は、負荷状況テーブル41を読み出し、最新の計測値が閾値を超えたアプリケーション、すなわち最新の計測値が削減閾値未満、または追加閾値以上のサービスAPLを検索する(ステップS104)。そして、リソース割当制御サーバ14は、閾値を超えたサービスAPLのサービス提供サーバ番号と、サービスAPL番号とを識別する(ステップS105)。
また、リソース割当制御サーバ14は、CPU使用率が追加閾値を超えているか否かを判定し(ステップS106)、CPU使用率が追加閾値を超えている場合は(ステップS106肯定)、サービスAPLの追加起動を決定する(ステップS107)。また、リソース割当制御サーバ14は、メモリ使用率が追加閾値を超えているか判定し(ステップS108)、メモリ使用率が追加閾値を超えている場合は(ステップS108肯定)、負荷状況テーブル41を読み出す(ステップS109)。
そして、リソース割当制御サーバ14は、メモリ使用率の増加量とメモリ使用量との積の3倍のメモリ使用量追加を決定する(ステップS110)。そして、リソース割当制御サーバ14は、各決定結果を含む変更依頼をサービス提供サーバ11に送信する(ステップS111)。なお、リソース割当制御サーバ14は、CPU使用率が閾値を超えていない場合は(ステップS106否定)、ステップS107の処理をスキップする。また、リソース割当制御サーバ14は、メモリ使用率が閾値を超えていない場合は(ステップS108否定)、ステップS109およびステップS110をスキップする。
一方、サービス提供サーバ11は、変更依頼を受信すると、受信した変更依頼に従って、サービスAPLのメモリ使用量を追加し、メモリ管理テーブル28を更新する(ステップS112)。続いて、サービス提供サーバ11は、追加するサービスAPLが使用する空きメモリを確認し(ステップS113)、メモリを確保してサービスAPLを追加して起動する(ステップS114)。また、サービス提供サーバ11は、APL番号を起動したプログラムの数だけ空きAPL番号テーブルから確保する(ステップS115)。
そして、サービス提供サーバ11は、プロセスIDと通信用のアドレス、すなわちMacアドレスとIPアドレス、および確保したサービスAPL番号をアドレス関係テーブル29に格納する(ステップS116)。また、サービス提供サーバ11は、空きAPL番号テーブル27、メモリ管理テーブル28、サービス関係テーブル30を修正し(ステップS117)、更新後のメモリ使用量をリソース割当制御サーバ14に通知する(ステップS118)。
その後、サービス提供サーバ11は、同一のサービスを提供するサービスAPL間で処理が均等になるように、利用者からの要求を振分ける(ステップS119)。また、リソース割当制御サーバ14は、更新後のメモリ使用量に従って、負荷状況テーブル41に新規エントリの追加、もしくは負荷状況テーブル41のメモリ使用量の更新を行う(ステップS120)。
[リソース割当制御サーバ14の効果]
上述したように、リソース割当制御サーバ14は、サービスAPL35、36を実行する際の負荷を示す負荷情報を収集する。また、リソース割当制御サーバ14は、収集した負荷が、所定の閾値を超えているか否かを判定する。そして、リソース割当制御サーバ14は、収集した負荷が所定の閾値を超えている場合は、収集した負荷と過去に収集した負荷とを用いて、負荷の増減量を算出し、算出した増減量に基づいて、サービスAPLに割り当てる計算機リソースの量を決定する。その後、リソース割当制御サーバ14は、各サービス提供サーバ11〜13に対し、決定した量の計算機リソースを割り当てるよう指示する。
このように、リソース割当制御サーバ14は、負荷の増減量に基づいた量の計算機リソースを各サービスAPL35、36に割り当てることができる。このため、リソース割当制御サーバ14は、例えば、サービスAPL35、36を実行する際の負荷が指数関数的に増加する場合にも、各サービスAPL35、36に対して割り当てる計算機リソースの量を負荷に追従させることができる。また、リソース割当制御サーバ14は、計算機リソースの量を負荷に追従させることができるので、例えば、混雑などを起因とする処理の遅延等の悪影響を防止する。
また、リソース割当制御サーバ14は、サービスAPL35を実行する際のメモリ使用率を収集する。そして、リソース割当制御サーバ14は、最新のメモリ使用率から前回収集したメモリ使用率を減算した値に、サービスAPL35に割り当てられたメモリ使用量と所定の係数とを算した値を算出する。その後、リソース割当制御サーバ14は、サービスAPL35に割り当てられたメモリ使用量に、算出した値を追加させる。
すなわち、リソース割当制御サーバ14は、サービスAPL35を実行する際のメモリ使用率の増加量に基づいて、サービスAPL35に割り当てるメモリ使用量を追加する。このため、リソース割当制御サーバ14は、サービスAPL35が使用するメモリ使用量が急に増大した場合にも、サービスAPL35に割り当てるメモリ使用量を追従させることができる。
また、リソース割当制御サーバ14は、所定の係数を考慮したメモリ使用量を追加するので、次回リソース割当制御サーバ14がメモリ使用量を追加するまでのマージンを、追加するメモリ使用量に含めることができる。この結果、リソース割当制御サーバ14は、サービスAPL35が使用するメモリ使用量が不足し、サービスAPL35が停止するといった不具合を防ぐことができる。
上述したリソース割当制御サーバ14は、直近2回の測定による負荷情報を用いて、各サービスAPL35、36に割当てる計算機リソースの量を決定した。しかしながら、実施例は、これに限定されるものではない。例えば、リソース割り当て制御サーバ14は、複数回の測定による負荷情報を用いて、各サービスAPL35、36に割当てる計算機リソースの量を決定してもよい。
以下、複数回の測定による負荷情報を用いて、各サービスAPL35、36に割当てる計算機リソースの量を決定するリソース割当制御サーバ14aについて説明する。例えば、図13は、実施例2に係るリソース割当制御サーバの機能構成を説明する図である。なお、図13に示すリソース割当制御サーバ14aが有する機能構成のうち、図9に示すリソース割当制御サーバ14が有する機能構成と同様の機能を発揮するものについては、同一の符号を付し、説明を省略する。
図13に示す例では、リソース割当制御サーバ14aは、負荷状況収集部43a、リソース増減量決定部45aを有する。また、記憶部40は、負荷状況テーブル41aを記憶する。まず、図14を用いて、記憶部40が記憶する負荷状況テーブル41aについて説明する。
図14は、負荷状況テーブルのバリエーションを説明する図である。図14に示すように、負荷状況テーブル41aは、負荷状況テーブル41と同様に、サービス提供サーバ番号、サービスAPL番号、CPU使用率、メモリ使用率、メモリ使用量が対応付けて格納されている。ここで、負荷状況テーブル41aには、CPU使用率として、過去n回分の負荷情報に格納されたCPU使用率とメモリ使用率とが格納されている。すなわち、負荷状況テーブル41aには、過去に測定された複数回分の負荷がサービスAPLごとに格納されている。
図13に戻り、負荷状況収集部43aは、図9に示す負荷状況収集部43と同様の機能を発揮する。さらに、負荷状況収集部43aは、負荷情報を受信した際に、直近2回の計測に係るCPU使用率およびメモリ使用率だけではなく、過去n回分のCPU使用率およびメモリ使用率を負荷状況テーブル41aに格納する。例えば、負荷状況収集部43aは、新たな負荷情報を受信すると、n回前に測定されたCPU使用率およびメモリ使用率を削除し、新たに測定されたCPU使用率およびメモリ使用率を負荷状況テーブル41aに格納する。
一方リソース増減量決定部45aは、図9に示すリソース増減量決定部45と同様の機能を発揮する。ここで、リソース増減量決定部45aは、過去n回分の測定に係るメモリ使用率を用いて、加算するメモリ使用量の算出を行う。例えば、リソース増減量決定部45aは、過去n回分のメモリ使用率のうち、値が最も少ないメモリ使用率を抽出する。そして、リソース増減量決定部45aは、最新のメモリ使用率から抽出したメモリ使用率を減算し、減算した値にメモリ使用量と所定の係数、例えば「3」、とを算した値を加算するメモリ使用量とする。
このように、リソース割当制御サーバ14aは、過去n回分の測定に係るメモリ使用率のうち、最低のメモリ使用率と最新のメモリ使用率との差分に基づいて、加算するメモリ使用量を算出する。このため、リソース割当制御サーバ14aは、例えば、サービスAPL35が使用するメモリの量が大きく増加する際に、先取りしてメモリ使用量を追加することができる。
次に、図15を用いて、実施例2に係る情報処理システムが実行する処理の流れについて説明する。図15は、実施例2に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。なお、図15に示す各処理のうち、ステップS201、S202、S204〜S209、S211〜S220は、図12に示すステップS101、S102、S104〜S109、S111〜S120と同様の処理であるものとし、説明を省略する。
例えば、リソース割当制御サーバ14aは、サービス提供サーバ10から負荷情報を受信すると、複数回分の負荷情報を負荷状況テーブル41aに格納する(ステップS203)。そして、リソース割当制御サーバ14aは、あるサービスAPLについて、最新のメモリ使用率から、最低のメモリ使用率を減算した値に、メモリ使用量と係数「3」とを算した値を、追加するメモリ使用量とする(ステップS210)。
[リソース割当制御サーバ14aの効果]
上述したように、リソース割当制御サーバ14aは、最新のメモリ使用率から過去に収集したメモリ利用率のうち、最低のメモリ使用率を減算した値に、メモリ使用量と所定の係数とを算した値を、加算するメモリ使用量とする。このため、リソース割当制御サーバ14aは、サービスAPLが使用するメモリ量が大きく増加する際に、先取りしてメモリ使用量を追加することができる。
上述したサービス提供サーバ11は、受信した変更依頼に格納されたサービスAPL番号が示すアプリケーションのメモリ使用量のみを増加、もしくは削減した。しかし、実施例は、これに限定されるものではない。例えば、サービス提供サーバ11は、サービスAPLに割当てるメモリ使用量を増加もしくは減少させる場合は、同一のサービスを提供するための他のサービスAPLに対して割当てるメモリ使用量についても増加もしくは減少させてもよい。
以下、同一のサービスを提供する複数のサービスAPLを実行する際に、代表となるサービスAPLのメモリ使用量を増加させる場合は、他のサービスAPLに対して割当てるメモリ使用量についても増加させるサービス提供サーバ11aについて説明する。まず、図16を用いて、サービス提供サーバ11aの機能構成について説明する。
図16は、実施例3に係るサービス提供サーバの機能構成を説明する図である。なお、図16に示すサービス提供サーバ11aが有する機能構成のうち、図2に示すサービス提供サーバ11が有する機能構成と同様の機能を発揮するものについては、同一の符号を付し、説明を省略する。図16に示す例では、サービス提供サーバ11aは、リソース制御部24aを有する。また、リソース制御部24aは、APL負荷計測部21a、リソース管理部31a、およびテーブル管理部32aを有する。また、サービス提供サーバ11aの記憶部23は、サービス関係テーブル30aを有する。
まず、図17を用いて、サービス関係テーブル30aに格納された情報の一例について説明する。図17は、実施例3に係るサービス関係テーブルの一例を説明する図である。図17に示すように、サービス関係テーブル30aは、図6に示すサービス関係テーブルと同様に、サービスAPL ID、サービスAPLファイル所在、サービスAPL番号とが対応付けて格納されている。
また、サービス関係テーブル30aには、各サービスAPL IDが示すサービスを提供するサービスAPLのサービスAPL番号とともに、代表番号が格納されている。ここで、代表番号とは、あるサービスを提供するためのサービスAPLのうち、代表として定めれたサービスAPLを示すサービスAPL番号である。
図16に戻り、APL負荷計測部21aは、図2に示すAPL負荷計測部21と同様の機能を発揮する。ここで、APL負荷計測部21aは、各サービスAPL35、36のうち、代表となるサービスAPLを実行する際の負荷を計測する。例えば、APL負荷計測部21aは、記憶部23が記憶するサービス関係テーブル30aを参照し、代表番号をサービスAPL番号とするサービスAPL、すなわち代表となるサービスAPLを識別する。そして、APL負荷計測部21aは、代表となるサービスAPLを実行する際の負荷を計測し、計測結果を負荷情報としてリソース割当制御サーバ14へ送信する。
リソース管理部31aは、図2に示すリソース管理部31と同様の機能を発揮する。また、リソース管理部31aは、メモリ増加量が格納された変更依頼を受信すると、以下の処理を実行する。例えば、リソース管理部31aは、変更依頼に格納されたサービスAPL番号を代表番号とする1つ以上のエントリをサービス関係テーブル30aから抽出する。
なお、リソース割当制御サーバ14には、代表となるサービスAPLに係る負荷情報のみが送信される。このため、リソース割当制御サーバ14からサービス提供サーバ11aに送信される変更依頼には、代表となるサービスAPLのサービスAPL番号が格納されることとなる。
また、リソース管理部31aは、抽出したエントリに、代表番号以外の番号がサービスAPL番号として格納されているか否かを判定する。すなわち、リソース管理部31aは、代表となるサービスAPLと同じサービスを提供するための他のサービスAPLが実行されているか否かを判定する。
また、リソース管理部31aは、抽出したエントリに代表番号以外の番号がサービスAPL番号として格納されている場合は、抽出したエントリに格納されている全てのサービスAPL番号の数と、変更依頼に格納されたメモリ増加量とを積算する。すなわち、リソース管理部31aは、抽出したエントリに格納されている全てのサービスAPL番号が示すサービスAPLに対して追加予定の総メモリ使用量を算出する。
そして、リソース管理部31aは、空きメモリを参照し、総メモリ使用量を確保することができるか否かを判定し、確保できる場合には、以下の処理を実行する。すなわち、リソース管理部31aは、抽出したエントリに格納された各サービスAPL番号が示すサービスAPLを識別し、識別した全てのサービスAPLに割当てられたメモリ使用量に、変更依頼に格納されたメモリ増加量を追加する。
つまり、リソース管理部31aは、代表となるサービスAPLの負荷が増加した場合は、代表となるサービスAPLと同じサービスを提供するための他のサービスAPLに対しても、割当てるメモリ使用量を追加する。例えば、リソース管理部31aは、サービスAPL番号「1」のサービスAPLに割当てられたメモリ使用量を追加する場合は、サービスAPL番号「5」が示すサービスAPLについても同じ量のメモリ使用量を追加する。
なお、リソース管理部31aは、変更依頼に格納されたメモリ増加量が負である場合、すなわちメモリ削減量が格納されている場合は、代表となるサービスAPLと同じサービスを提供する複数のサービスAPLに対して割当てたメモリ使用量を削減する。
また、リソース管理部31aは、変更依頼にAPL増加数が格納されている場合は、変更依頼に格納されたサービスAPL番号を代表番号とするエントリをサービス関係テーブル30aから抽出する。そして、リソース管理部31aは、抽出したエントリに格納されたサービスAPL番号が示すサービスAPL一式を追加起動させた際に必要なメモリ量が確保可能であるか空きメモリを確認する。そして、リソース管理部31aは、メモリの割当が可能である場合は、抽出したエントリに格納されたサービスAPL番号が示すサービスAPL一式をAPL増加数の分だけ追加で実行する。
例えば、変更依頼にサービスAPL番号「1」とAPL増加数「1」が格納されている場合は、リソース管理部31aは、サービスAPL番号「1」が示すサービスAPLとサービスAPL番号「5」が示すサービスAPLとをそれぞれ追加で実行する。なお、リソース管理部31aは、変更依頼にAPL減少数が格納されている場合は、格納されたAPL減少数と同数のサービスAPLを停止させる。
テーブル管理部32aは、図2に示すテーブル管理部32と同様の機能を発揮する。また、テーブル管理部32aは、新たなサービスを実行するサービスAPLが実行された場合は、サービス関係テーブル30aに新たなエントリを作成し、作成したエントリにサービスAPL IDとサービスAPLファイル所在とを格納する。そして、テーブル管理部32aは、新たに実行されたサービスAPLのサービスAPL番号を代表番号として、追加されたエントリに格納する。
次に、図18を用いて、実施例3に係る情報処理システムが実行する処理の流れについて説明する。図18は、実施例3に係る情報処理システムが実行する処理の流れを説明するためのシーケンス図である。なお、図18に示す各処理のうち、S302〜S311、、S316〜S321は、図12に示すステップS102〜S111、S115〜S120と同様の処理であるものとし、説明を省略する。また、図18に示す例では、あるサービスを提供するサービスAPLが複数実行されている際に、同じサービスを提供するサービスAPLが追加実行され、さらに各サービスAPLに割当てるメモリ使用量も追加される例について説明する。
まず、サービス提供サーバ11aは、代表となるサービスAPLのCPU使用率、メモリ使用率を計測する(ステップS301)。また、サービス提供サーバ11aは、受信した変更依頼に格納されたサービスAPL番号を代表番号とするエントリに代表番号以外のサービスAPL番号が登録されている場合は、以下の処理を実行する。
すなわち、サービス提供サーバ11aは、メモリ増加量とサービスAPLの数の積、すなわち追加予定の総メモリ使用量が空きメモリで確保できるか確認する(ステップS312)。そして、サービス提供サーバ11aは、抽出したエントリに格納されたサービスAPL番号が示すサービスAPLのメモリ使用量を追加し、メモリ管理テーブル28を更新する(ステップS313)。
また、サービス提供サーバ11aは、代表番号のエントリに代表番号以外のサービスAPL番号が登録されている場合は、追加するサービスAPL一式に割当てるメモリを確保できるか確認する(ステップS314)。つまり、サービス提供サーバ11aは、代表番号となるサービスAPLと連携して1つのサービスを提供する複数のサービスAPL一式を起動する際に必要なメモリを確保できるか確認する。そして、サービス提供サーバ11aは、指示された数だけサービスAPLを追加起動する(ステップS315)。
[サービス提供サーバ11aの効果]
上述したように、サービス提供サーバ11aは、同一のサービスを提供するための複数のサービスAPLのうち、代表となるサービスAPLによるメモリ使用率を測定する。そして、サービス提供サーバ11aは、代表となるサービスAPLのメモリ使用量を追加する場合は、同一のサービスを提供するための他のサービスAPLのメモリ使用量についても、同様に追加する。
すなわち、同一のサービスを提供するために連携して動作する複数のサービスAPLのうち、どれか1つのサービスAPLを実行する際の負荷が増大した場合は、他のサービスAPLを実行する際の負荷も増大すると考えられる。そこで、サービス提供サーバ11aは、同一のサービスを提供する複数のサービスAPLのうち、代表となるサービスAPLを実行する際の負荷を計測する。
そして、サービス提供サーバ11aは、代表となるサービスAPLに割当てられた計算機リソースを追加する場合は、他のサービスAPLに割当てられた計算機リソースについても、同様に追加する。この結果、サービス提供サーバ11aは、同一のサービスを提供するための複数のサービスAPLについて負荷を計測せずとも、各サービスAPLに対して割当てる計算機リソースを負荷に追従させることができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例4として本発明に含まれる他の実施例を説明する。
(1)サービス提供サーバ11aのバリエーションについて
上述したサービス提供サーバ11aは、代表となるサービスAPLのメモリ使用量を追加する場合は、同一のサービスを提供するための他のサービスAPLのメモリ使用量についても、同様に追加した。しかしながら、実施例は、これに限定されるものではない。例えば、サービス提供サーバ11aは、サービスAPLごとに、追加もしくは削減するメモリの変化量を設定してもよい。
例えば、図19は、実施例3に係るサービス関係テーブルのバリエーションを説明する図である。図19に示す例では、サービス関係テーブル30aは、図17に示した各情報に加え、個別メモリ変化量が格納されている。例えば、図19に示す例では、サービス関係テーブル30aには、サービスAPL ID「2」とともに、代表番号「1」、個別メモリ変化量「50%」、サービスAPL番号「2」を対応付けて格納されている。
すなわち、図19に示す例では、サービス関係テーブル30aは、サービスAPL番号が「1」のサービスAPLについてメモリ使用量を追加する際、サービスAPL番号が「2」のサービスAPLについてもメモリ使用量を追加する旨を示す。また、サービス関係テーブル30aは、サービスAPL番号「2」のサービスAPLについて追加するメモリ使用量は、サービスAPL番号「1」のサービスAPLについて追加するメモリ使用量の「50%」である旨を示す。
図19に示す情報がサービス関係テーブル30aに格納されている場合、リソース管理部31aは、以下の処理を実行する。まず、リソース管理部31aは、実施例3と同様に、変更依頼に格納されたサービスAPL番号を代表番号とするエントリをサービス関係テーブル30aから抽出する。
また、リソース管理部31aは、抽出したエントリに、代表番号と代表番号以外の番号とがサービスAPL番号として格納されている場合は、抽出したエントリに格納されている全てのサービスAPL番号の数と、変更依頼に格納されたメモリ増加量とを積算する。すなわち、リソース管理部31aは、抽出したエントリに格納されている全てのサービスAPL番号が示すサービスAPLに対して追加予定の総メモリ使用量を算出する。
また、リソース管理部31aは、抽出したエントリに代表番号以外の番号がサービスAPL番号として格納されている場合は、抽出したエントリに格納された個別メモリ変化量を識別する。そして、リソース管理部31aは、識別した個別メモリ変化量と、変更依頼に格納されたメモリ増加量とを積算し、積算した値を総メモリ使用量に加算する。そして、リソース管理部31aは、空きメモリを参照し、総メモリ使用量を確保することができるか否かを判定し、確保できる場合には、計算リソースの追加を行う。
すなわち、リソース管理部31aは、代表番号と代表番号以外の番号とがサービスAPL番号として格納されているエントリについては、エントリに格納された各サービスAPL番号が示すサービスAPLを識別する。そして、リソース管理部31aは、識別した全てのサービスAPLに割当てられたメモリ使用量に、変更依頼に格納されたメモリ増加量を追加する。
また、リソース管理部31aは、代表番号以外の番号とがサービスAPL番号として格納されているエントリについては、エントリに格納された各サービスAPL番号が示すサービスAPLを識別する。そして、リソース管理部31aは、識別した全てのサービスAPLに割当てられたメモリ使用量に、変更依頼に格納されたメモリ増加量と個別メモリ変化量との積を追加する。
例えば、リソース管理部31aは、サービスAPL番号「1」とメモリ増加量「10GB」とが格納された変更依頼を受信すると以下の処理を実行する。まず、リソース管理部31aは、サービスAPL番号「1」が示すサービスAPLとサービスAPL番号「5」が示すサービスAPLとに割当てるメモリ使用量を「10GB」追加する。また、リソース管理部31aは、サービスAPL番号「2」が示すサービスAPLに割当てるメモリ使用量を「5GB」追加する。
次に、図20を用いて、実施例3に係る情報処理システムが実行する処理のバリエーションについて説明する。図20は、実施例3に係る情報処理システムが実行する処理のバリエーションを説明するためのシーケンス図である。なお、図20に示す各処理のうち、S401〜S411、S416〜S423は、図18に示すステップS301〜S311、S314〜S321と同様の処理であるものとし、説明を省略する。
例えば、サービス提供サーバ11aは、変更依頼に格納されたサービスAPL番号を代表番号とするエントリを抽出する。そして、サービス提供サーバ11aは、抽出したエントリに、サービスAPL番号に代表番号と代表番号以外のサービスAPL番号とが格納されている場合は、メモリ増加量と、エントリに含まれるサービスAPLの数の積を算出する(ステップS412)。また、サービス提供サーバ11aは、抽出したエントリに、代表番号がサービスAPL番号として格納されていない場合は、メモリ増加量とエントリに登録されたサービスAPLの数と個別メモリ変化量との積を算出する(ステップS413)。
次に、サービス提供サーバ11aは、ステップS412、及びステップS413において算出した値の分だけ、メモリを確保できるか確認する(ステップS414)。そして、サービス提供サーバ11aは、抽出したエントリに登録されたサービスAPL番号が示すサービスAPLに対して割当てるメモリを追加し、メモリ管理テーブル28を更新する(ステップS415)。
具体的には、サービス提供サーバ11aは、サービスAPL番号に代表番号と代表番号以外のサービスAPL番号とが格納されている場合は、各サービスAPL番号が示すサービスAPLのメモリ使用量を、変更依頼に格納されたメモリ増加量の分だけ追加する。また、サービス提供サーバ11aは、サービスAPL番号に代表番号が格納されていない場合は、各サービスAPL番号が示すサービスAPLのメモリ使用量を、変更依頼に格納されたメモリ増加量と個別メモリ変化量の分だけ追加する。
このように、サービス提供サーバ11aは、代表となるサービスAPLのメモリ使用量を追加する際に、他のサービスAPLのメモリ使用量を追加する割合を記憶する。そして、サービス提供サーバ11aは、代表となるサービスAPLのメモリ使用量については、リソース割当制御サーバ14から通知されたメモリ増加量を追加する。一方、サービス提供サーバ11aは、他のサービスAPLについては、リソース割当制御サーバ14から通知されたメモリ増加量に記憶した割合とを算した値を追加する。このため、サービス提供サーバ11aは、代表となるサービスAPLの負荷のみを測定する際にも、各サービスAPLに対して適切な量のメモリを割当てることができる。
(2)負荷について
上述した実施例1〜3では、サービスAPLを実行した際の負荷としてCPU使用率およびメモリ使用率を測定した。しかし、実施例はこれに限定されるものではない。例えば、サービス提供サーバ11、11aは、CPU使用率、メモリ使用率、利用者端末2からのリクエスト数、記憶装置に対するアクセス数、所定の処理に要する時間等、任意の情報を負荷として用いることができる。
(3)計算機リソースについて
上述した実施例1〜3では、サービスAPLを実行した際のCPU使用率に基づいて、サービスを提供するサービスAPLの追加や停止を行った。ここで、リソース割当制御サーバ14は、CPU使用率の増加量に基づいて、追加実行するサービスAPLの数を算出してもよい。例えば、リソース割当制御サーバ14は、最新のCPU使用率から前回測定したCPU使用率を減算したCPU使用率の増減量を算出し、算出した増減量に基づいて、追加実行するサービスAPLの数を算出する。そして、リソース割当制御サーバ14は、算出した数のサービスAPLを追加実行するように、サービス提供サーバ11に通知してもよい。
なお、追加実行するサービスAPLの数を算出する際には、他の情報を考慮してもよい。例えば、リソース割当制御サーバ14は、サービスAPLを実行した際の平均的なCPU使用率や残余リソース等、任意の情報を考慮し、情報処理システム1において適切なポリシに従って、追加実行するサービスAPLの数を算出してもよい。リソース割当制御サーバ14は、CPU使用率の増減量に基づいて、追加実行するサービスAPLの数を算出した場合は、利用者端末2に対して提供するサービスが、混雑のために停止してしまうといった不具合を防ぐことができる。
また、上述した実施例では、サービスAPLを実行した際のCPU使用率に基づいて、サービスを提供するサービスAPLの追加や停止を行った。しかし、実施例は、これに限定されるものではない。例えば、サービス提供サーバ11は、利用者端末2に提供するサービスの種別ごとに、サービスAPLを仮想マシン上で動作させる場合は、CPU使用率に基づいて、実行する仮想マシンの数を変更してもよい。
例えば、サービス提供サーバ11は、サービスAPLを実行する仮想マシンのCPU使用率を測定する。また、リソース割当制御サーバ14は、サービス提供サーバ11が測定したCPU使用率の増減に基づいて、追加実行する仮想マシンの数を算出する。そして、サービス提供サーバ11は、リソース割当制御サーバ14が算出した数の仮想マシンを追加で実行する。このように、リソース割当制御サーバ14は、CPU使用率の増減量に基づいて、追加実行する仮想マシンの数を変更した場合は、利用者端末2に対して提供するサービスが、混雑のために停止してしまうといった不具合を防ぐことができる。
(4)増減量について
上述した実施例1〜3では、主に、サービスAPLに割当てる計算機リソースを増加させる例について説明したが、実施例はこれに限定されるものではなく、同様の処理を行うことで、負荷に応じて計算機リソースを削減することもできる。すなわち、負荷が減少し、負荷の増減量が負の値となった場合は、追加実行するサービスAPLの数や追加するメモリ使用量の値も負の値となる。この結果、上述した処理と同様の処理を実行することで、リソース割当制御サーバ14、14aは、負荷が減少した際に、停止させるサービスAPLの数や削減するメモリ使用量を算出することができる。
なお、停止させるサービスAPLの数や削減するメモリ使用量を指示する変更依頼には、APL増加/減少数、およびメモリ増加/減少量として負の値が格納される。このため、サービス提供サーバ11は、変更依頼に格納されたAPL増加/減少数が負の値である場合は、サービスAPLの停止を行い、メモリ増加/減少量が負の値である場合は、メモリ使用量の削減を行う。
(5)プログラム
ところで、実施例1に係るリソース割当制御サーバ14は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図21を用いて、実施例1に示したリソース割当制御サーバ14と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図21は、リソース制御プログラムを実行するコンピュータを説明する図である。
図21に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140がバス160で接続される。また、図12に例示されたコンピュータ100は、パケットを送受信するためのI/O(Input Output)150を有する。
HDD120は、図9に示した記憶部40が記憶する負荷状況テーブル41と同様の情報である負荷状況テーブル121を記憶する。また、RAM130には、リソース制御プログラム131があらかじめ保持される。CPU140がリソース制御プログラム131をRAM130から読み出して実行することによって、図21に示す例では、リソース制御プログラム131は、リソース制御プロセス141として機能するようになる。なお、リソース制御プロセス141は、図9に示した負荷状況収集部43、リソース増減判定部44、リソース増減量決定部45と同様の機能を発揮する。
なお、本実施例で説明したリソース制御プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す負荷情報を収集する収集部と、
前記収集部が収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定する判定部と、
前記負荷が所定の閾値を超えていると前記判定部が判定した場合は、前記収集部が収集した負荷情報と、前記収集部が過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションを実行する際に割当るリソース量を決定する決定部と、
前記アプリケーションに対し、前記決定部が決定したリソース量の割当を行う割当部と
を有することを特徴とする制御装置。
(付記2)前記収集部は、前記アプリケーションによるメモリ使用率を示す負荷情報を収集し、
前記決定部は、前記収集部が収集した負荷情報が示すメモリ使用率から前記収集部が前回収集した負荷情報が示すメモリ使用率を減算した値に、前記アプリケーションに割当られたメモリ量と所定の値とを算した値を算出し、
前記割当部は、前記アプリケーションに割当られたメモリ量に、前記決定部が算出した値を追加することを特徴とする付記1に記載の制御装置。
(付記3)前記収集部は、前記アプリケーションによるメモリ使用率を示す負荷情報を収集し、
前記決定部は、前記収集部が収集した負荷情報が示すメモリ使用率から前記収集部が過去に収集した負荷情報が示すメモリ使用率のうち、最低のメモリ使用率を減算した値に、前記アプリケーションに割当られたメモリ量と所定の値とを算した値を算出し、
前記割当部は、前記アプリケーションに割当られたメモリ量に、前記決定部が算出した値を追加することを特徴とする付記1に記載の制御装置。
(付記4)前記収集部は、同一のサービスを提供するための複数のアプリケーションのうち、代表となるアプリケーションによるメモリ使用率を示す負荷情報を収集し、
前記割当部は、前記同一のサービスを提供するためのアプリケーションのそれぞれに割当られたメモリ量に対し、前記決定部が算出した値を追加することを特徴とする付記2または3に記載の制御装置。
(付記5)前記代表となるアプリケーションのメモリ量を追加する際に、他のアプリケーションのメモリ量を追加する割合を記憶する記憶部を有し、
前記割当部は、前記代表となるアプリケーションのメモリ量に、前記決定部が算出した値を追加し、前記代表となるアプリケーション以外のアプリケーションのメモリ量に、前記決定部が算出した値に前記記憶部が記憶する割合を算した値を追加することを特徴とする付記4に記載の制御装置。
(付記6)前記収集部は、前記アプリケーションを実行する際のCPU使用率を収集し、
前記決定部は、前記収集部が収集したCPU使用率と前回収集部が収集したCPU利用率とを用いて、CPU使用率の増減量を算出し、当該算出した増減量に基づいて、前記情報処理装置が追加実行するアプリケーションの数を算出し、
前記割当部は、前記情報処理装置に、前記決定部が算出した数のアプリケーションを追加実行させることを特徴とする付記1に記載の制御装置。
(付記7)前記収集部は、前記アプリケーションを実行する仮想マシンを稼動させる情報処理装置から、前記アプリケーションを実行する際のCPU使用率を収集し、
前記決定部は、前記収集部が収集したCPU使用率と前回収集部が収集したCPU利用率とを用いて、CPU使用率の増減量を算出し、当該算出した増減量に基づいて、前記仮想マシンを追加する数を算出し、
前記割当部は、前記情報処理装置に、前記決定部が決定した数の仮想マシンを追加稼動させることを特徴とする付記1に記載の制御装置。
(付記8)コンピュータに、アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す負荷情報を収集し、
前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報と、過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
処理を実行させることを特徴とするリソース制御プログラム。
(付記9)アプリケーションに対して割当るリソース量を制御する制御装置が、
前記アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す負荷情報を収集し、
前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報と、過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
処理を実行することを特徴とするリソース制御方法。
1 情報処理システム
2 利用者端末
3、5 ISP
4 サービス提供者端末
6 インターネット
10 データセンタ
11〜13、11a サービス提供サーバ
14、14a リソース割当制御サーバ
20 通信部
21、21a APL負荷計測部
22 振分け部
23 記憶部
24、24a リソース制御部
25 使用中リソース
26 残余リソース
27 空きAPL番号テーブル
28 メモリ管理テーブル
29 アドレス関係テーブル
30、30a サービス関係テーブル
31、31a リソース管理部
32、32a テーブル管理部
33、38 メモリ
34 実行中アプリケーション
35、36 サービスAPL
37 CPU
40 記憶部
41、41a 負荷状況テーブル
42 通信部
43、43a 負荷状況収集部
44 リソース増減判定部
45、45a リソース増減量決定部

Claims (10)

  1. アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す負荷情報を収集する収集部と、
    前記収集部が収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定する判定部と、
    前記負荷が所定の閾値を超えていると前記判定部が判定した場合は、前記収集部が収集した負荷情報と、前記収集部が過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションを実行する際に割当るリソース量を決定する決定部と、
    前記アプリケーションに対し、前記決定部が決定したリソース量の割当を行う割当部と
    を有し、
    前記収集部は、前記アプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記決定部は、前記収集部が収集した負荷情報が示すメモリ使用率から前記収集部が過去に収集した負荷情報が示すメモリ使用率のうち、最低のメモリ使用率を減算した値に、前記アプリケーションに割当られたメモリ量と所定の値とを乗算した値を算出し、
    前記割当部は、前記アプリケーションに割当るメモリ量に、前記決定部が算出した値を追加することを特徴とする制御装置。
  2. 前記決定部は、前記収集部が収集した負荷情報が示すメモリ使用率から前記収集部が前回収集した負荷情報が示すメモリ使用率を減算した値に、前記アプリケーションに割当られたメモリ量と所定の値とを乗算した値を算出し、
    前記割当部は、前記アプリケーションに割当るメモリ量に、前記決定部が算出した値を追加することを特徴とする請求項1に記載の制御装置。
  3. アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す負荷情報を収集する収集部と、
    前記収集部が収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定する判定部と、
    前記負荷が所定の閾値を超えていると前記判定部が判定した場合は、前記収集部が収集した負荷情報と、前記収集部が過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションを実行する際に割当るリソース量を決定する決定部と、
    前記アプリケーションに対し、前記決定部が決定したリソース量の割当を行う割当部と
    を有し、
    前記収集部は、同一のサービスを提供するための複数のアプリケーションのうち、代表となるアプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記割当部は、前記同一のサービスを提供するためのアプリケーションのそれぞれに割当られたメモリ量に対し、前記決定部が算出した値を追加することを特徴とする制御装置。
  4. 前記代表となるアプリケーションのメモリ量を追加する際に、他のアプリケーションのメモリ量を追加する割合を記憶する記憶部を有し、
    前記割当部は、前記代表となるアプリケーションのメモリ量に、前記決定部が算出した値を追加し、前記代表となるアプリケーション以外のアプリケーションのメモリ量に、前記決定部が算出した値に前記記憶部が記憶する割合を乗算した値を追加することを特徴とする請求項3に記載の制御装置。
  5. 前記収集部は、前記アプリケーションを実行する際のCPU使用率を収集し、
    前記決定部は、前記収集部が収集したCPU使用率と前回収集部が収集したCPU利用率とを用いて、CPU使用率の増減量を算出し、当該算出した増減量に基づいて、前記情報処理装置が追加実行するアプリケーションの数を算出し、
    前記割当部は、前記情報処理装置に、前記決定部が算出した数のアプリケーションを追加実行させることを特徴とする請求項1に記載の制御装置。
  6. 前記収集部は、前記アプリケーションを実行する仮想マシンを稼動させる情報処理装置から、前記アプリケーションを実行する際のCPU使用率を収集し、
    前記決定部は、前記収集部が収集したCPU使用率と前回収集部が収集したCPU利用率とを用いて、CPU使用率の増減量を算出し、当該算出した増減量に基づいて、前記仮想マシンを追加する数を算出し、
    前記割当部は、前記情報処理装置に、前記決定部が決定した数の仮想マシンを追加稼動させることを特徴とする請求項1に記載の制御装置。
  7. コンピュータに、
    アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す前記アプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
    前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報が示すメモリ使用率から過去に収集した最低のメモリ使用率を減算した値に前記アプリケーションに割当られたメモリ量と所定の値とを乗算して前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
    処理を実行させることを特徴とするリソース制御プログラム。
  8. コンピュータに、
    アプリケーションを実行する情報処理装置から、同一のサービスを提供するための複数のアプリケーションのうち、代表となるアプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
    前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報と、過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
    処理を実行させることを特徴とするリソース制御プログラム。
  9. アプリケーションに対して割当るリソース量を制御する制御装置が、
    前記アプリケーションを実行する情報処理装置から、前記アプリケーションを実行する際の負荷を示す前記アプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
    前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報が示すメモリ使用率から過去に収集した最低のメモリ使用率を減算した値に前記アプリケーションに割当られたメモリ量と所定の値とを乗算して前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
    処理を実行することを特徴とするリソース制御方法。
  10. アプリケーションに対して割当るリソース量を制御する制御装置が、
    前記アプリケーションを実行する情報処理装置から、同一のサービスを提供するための複数のアプリケーションのうち、代表となるアプリケーションによるメモリ使用率を示す負荷情報を収集し、
    前記収集した負荷情報が示す負荷が所定の閾値を超えているか否かを判定し、
    前記負荷が所定の閾値を超えていると判定した場合は、前記収集した負荷情報と、過去に収集した負荷情報とを用いて、前記アプリケーションを実行する際の負荷の増減量を算出し、当該算出した増減量に基づいて、前記アプリケーションに割当るリソース量を決定する
    処理を実行することを特徴とするリソース制御方法。
JP2013037890A 2013-02-27 2013-02-27 制御装置、リソース制御プログラムおよびリソース制御方法 Expired - Fee Related JP6089783B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013037890A JP6089783B2 (ja) 2013-02-27 2013-02-27 制御装置、リソース制御プログラムおよびリソース制御方法
US14/096,482 US20140244844A1 (en) 2013-02-27 2013-12-04 Control device and resource control method
EP20130196233 EP2772857A3 (en) 2013-02-27 2013-12-09 Control device and resource control method
CN201310737064.5A CN104008015B (zh) 2013-02-27 2013-12-26 控制装置和资源控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013037890A JP6089783B2 (ja) 2013-02-27 2013-02-27 制御装置、リソース制御プログラムおよびリソース制御方法

Publications (2)

Publication Number Publication Date
JP2014164715A JP2014164715A (ja) 2014-09-08
JP6089783B2 true JP6089783B2 (ja) 2017-03-08

Family

ID=49726619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013037890A Expired - Fee Related JP6089783B2 (ja) 2013-02-27 2013-02-27 制御装置、リソース制御プログラムおよびリソース制御方法

Country Status (4)

Country Link
US (1) US20140244844A1 (ja)
EP (1) EP2772857A3 (ja)
JP (1) JP6089783B2 (ja)
CN (1) CN104008015B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059807B1 (ko) * 2018-06-27 2019-12-27 주식회사 티맥스 소프트 서비스 지향 아키텍쳐 상에서 메모리 관리를 위한 기법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979669B1 (en) * 2013-12-13 2018-05-22 Emc Corporation Projecting resource allocation to achieve specific application operation times in a virtually provisioned environment
WO2016047096A1 (ja) * 2014-09-24 2016-03-31 日本電気株式会社 アプリケーションサーバ、クラウド装置、記憶媒体アクセス監視方法およびコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記憶媒体
CN104503846B (zh) * 2015-01-22 2018-01-30 成都派沃特科技有限公司 一种基于云计算系统的资源管理系统
CN105162823B (zh) * 2015-06-30 2019-07-09 广东轩辕网络科技股份有限公司 一种虚拟机管理方法及装置
US10162684B2 (en) * 2015-10-15 2018-12-25 International Business Machines Corporation CPU resource management in computer cluster
US10063666B2 (en) 2016-06-14 2018-08-28 Futurewei Technologies, Inc. Modular telecommunication edge cloud system
US20180041578A1 (en) * 2016-08-08 2018-02-08 Futurewei Technologies, Inc. Inter-Telecommunications Edge Cloud Protocols
US11409566B2 (en) * 2018-02-28 2022-08-09 Mitsubishi Electric Corporation Resource control device, resource control method, and computer readable medium
CN112395081B (zh) * 2019-08-15 2024-05-07 中国移动通信集团浙江有限公司 一种资源在线自动回收方法、系统、服务器以及存储介质
CN116458133A (zh) * 2020-10-21 2023-07-18 上海诺基亚贝尔股份有限公司 计算系统管理
US20220171657A1 (en) * 2020-12-01 2022-06-02 International Business Machines Corporation Dynamic workload tuning

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973424A (ja) * 1995-09-07 1997-03-18 Mitsubishi Electric Corp ネットワークシステム
JP4390166B2 (ja) * 1999-12-17 2009-12-24 本田技研工業株式会社 自動二輪車のラジエータ配置構造
JP4071668B2 (ja) * 2003-04-16 2008-04-02 富士通株式会社 システムの使用資源を調整する装置および方法
US20050155032A1 (en) * 2004-01-12 2005-07-14 Schantz John L. Dynamic load balancing
US7536461B2 (en) * 2005-07-21 2009-05-19 International Business Machines Corporation Server resource allocation based on averaged server utilization and server power management
JP2007213339A (ja) * 2006-02-09 2007-08-23 Ricoh Co Ltd データベース監視方法、データベース監視システム及びデータベース監視プログラム
US20070250837A1 (en) * 2006-04-24 2007-10-25 Herington Daniel E System and method for adjusting multiple resources across multiple workloads
US20070300239A1 (en) * 2006-06-23 2007-12-27 International Business Machines Corporation Dynamic application instance placement in data center environments
US8104039B2 (en) * 2006-08-07 2012-01-24 International Business Machines Corporation Method for balancing resource sharing and application latency within a data processing system
US8954045B2 (en) * 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
US8359450B2 (en) * 2009-02-13 2013-01-22 Opnet Technologies, Inc. Memory utilization analysis
US20100274947A1 (en) * 2009-04-27 2010-10-28 Hitachi, Ltd. Memory management method, memory management program, and memory management device
US8261266B2 (en) * 2009-04-30 2012-09-04 Microsoft Corporation Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
JP2011118525A (ja) * 2009-12-01 2011-06-16 Hitachi Ltd サーバ管理装置とサーバ管理方法およびサーバ管理プログラム
JP4982578B2 (ja) * 2010-02-22 2012-07-25 西日本電信電話株式会社 リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
JP5712694B2 (ja) * 2010-03-24 2015-05-07 富士ゼロックス株式会社 計算資源制御装置及び計算資源制御プログラム
JP5533315B2 (ja) * 2010-06-16 2014-06-25 富士ゼロックス株式会社 情報処理システム、管理装置、処理要求装置及びプログラム
US8418185B2 (en) * 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
KR20130021625A (ko) * 2011-08-23 2013-03-06 삼성전자주식회사 메모리 상태 변화에 따른 단말기 운용 방법 및 이를 지원하는 단말기
JP5786641B2 (ja) * 2011-10-25 2015-09-30 富士通株式会社 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9304803B2 (en) * 2012-11-12 2016-04-05 Vmware, Inc. Cooperative application workload scheduling for a consolidated virtual environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059807B1 (ko) * 2018-06-27 2019-12-27 주식회사 티맥스 소프트 서비스 지향 아키텍쳐 상에서 메모리 관리를 위한 기법

Also Published As

Publication number Publication date
EP2772857A2 (en) 2014-09-03
CN104008015B (zh) 2018-01-02
CN104008015A (zh) 2014-08-27
JP2014164715A (ja) 2014-09-08
EP2772857A3 (en) 2015-05-20
US20140244844A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6089783B2 (ja) 制御装置、リソース制御プログラムおよびリソース制御方法
JP6307172B2 (ja) スライス管理システム及びスライス管理方法
US9588789B2 (en) Management apparatus and workload distribution management method
JP2007249470A (ja) クラスタサーバシステム、課金装置、課金方法
CN111131639A (zh) 一种客服坐席分配方法、装置、服务器及存储介质
JP5842646B2 (ja) 情報処理システム,仮想マシン管理プログラム,仮想マシン管理方法
US20130091284A1 (en) Systems and methods for managing cloud computing resources
WO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
KR20120063499A (ko) 엔터프라이즈 네트워크에서 할당된 클라우드 자원의 동적 로드 밸런싱 및 스케일링
WO2013029487A1 (zh) 一种资源分配方法及资源管理平台
WO2014032287A1 (zh) 中央处理器资源分配方法和计算节点
WO2012100544A1 (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
JP6097235B2 (ja) 負荷分散システム、負荷分散装置及び負荷分散方法
JP2012099062A (ja) サービス連携システムおよび情報処理システム
WO2014194869A1 (zh) 一种请求处理方法、装置及系统
JP5596716B2 (ja) リソース管理装置、リソース管理システム、リソース管理方法およびリソース管理プログラム
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
CN109960565B (zh) 云平台、基于云平台的虚拟机调度方法及装置
US11803414B2 (en) Diagonal autoscaling of serverless computing processes for reduced downtime
JP6700552B2 (ja) 処理制御プログラム、処理制御装置及び処理制御方法
JP6805196B2 (ja) ポリシー競合解消システム及びポリシー競合解消方法
JP7062374B2 (ja) リソース管理システムおよびリソース管理方法
JP6511006B2 (ja) リソース割当管理装置および割当て先サーバ決定方法
JP5412304B2 (ja) リソース提供システム、リソース提供方法および仮想化装置
JP2009217769A (ja) リソース過分配防止システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6089783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees