(57)【要約】【課題】利用期間が３つ以上ある場合であっても、クラウドサービスの購入数を決定できる決定装置を提供する。【解決手段】決定装置は、第ｋクラウドサービスに関する判定情報を管理する第１管理手段と、決定処理の際、第ｋクラウドサービスから第１条件及び第２条件を満たす候補クラウドサービスを判定し、候補クラウドサービスが判定されないと、当該決定処理においては、要求数を第１クラウドサービスの購入数に決定する決定手段と、を備え、第ｋクラウドサービスの判定情報は、第ｋクラウドサービスの利用開始タイミングにおいて空集合に初期化され、過去の決定処理においてクラウドサービスを購入した際の要求数を要素とする集合であり、第１条件は、判定情報の要素数がコスト比から１を減じた値に等しいとの条件であり、第２条件は、判定情報の要素数がコスト比に等しいとの条件である。【選択図】図６
2019067071.tif 000002
【特許請求の範囲】
【請求項１】
第１クラウドサービスから第Ｍクラウドサービス（Ｍは２以上の整数）であって、第ｋクラウドサービス（ｋは２〜Ｍの整数）の利用期間は第（ｋ−１）クラウドサービスの利用期間より長い、前記第１クラウドサービスから前記第Ｍクラウドサービスそれぞれの購入数を、クラウドサービスの利用の要求数に基づき決定する決定処理を、前記第１クラウドサービスの利用期間を周期として繰り返し実行する決定装置であって、
前記第ｋクラウドサービスに関する判定情報を管理する第１管理手段であって、前記第ｋクラウドサービスの判定情報は、前記第ｋクラウドサービスの利用開始タイミングにおいて空集合に初期化され、過去の前記決定処理においてクラウドサービスを購入した際の要求数を要素とする集合である、前記第１管理手段と、
前記第ｋクラウドサービスのコスト比を保持する保持手段であって、前記第ｋクラウドサービスのコスト比は、前記第１クラウドサービスの利用コストに対する前記第ｋクラウドサービスの利用コストの比である、前記保持手段と、
前記決定処理の際、前記第ｋクラウドサービスから第１条件を満たす候補クラウドサービスを判定する第１判定手段と、
前記決定処理の際、前記第ｋクラウドサービスから第２条件を満たす候補クラウドサービスを判定する第２判定手段と、
前記決定処理の際、前記第１判定手段及び前記第２判定手段により候補クラウドサービスが判定されないと、当該決定処理においては、前記要求数を前記第１クラウドサービスの購入数に決定する決定手段と、
を備えており、
前記第１条件は、前記判定情報の要素数が前記コスト比から１を減じた値に等しいとの条件であり、
前記第２条件は、前記判定情報の要素数が前記コスト比に等しいとの条件であることを特徴とする決定装置。
【請求項２】
前記第２判定手段が判定した候補クラウドサービスの前記判定情報の最小の要素を前記判定情報から削除して更新する削除手段と、
前記第ｋクラウドサービスに関する決定値を管理する第２管理手段であって、前記第ｋクラウドサービスの決定値は、前記第ｋクラウドサービスの利用開始タイミングにおいて０に初期化され、前記決定処理において、前記第１判定手段が前記第ｋクラウドサービスを候補クラウドサービスと判定すると、前記第ｋクラウドサービスの前記判定情報の要素と前記要求数の内の最も小さい値に更新され、前記第２判定手段が前記第ｋクラウドサービスを候補クラウドサービスと判定すると、前記第ｋクラウドサービスの前記削除手段による更新後の前記判定情報の要素と前記要求数の内の最も小さい値に更新される、前記第２管理手段と、
をさらに備えており、
前記決定手段は、前記決定処理の際、前記候補クラウドサービスあると、前記第２管理手段による更新前の前記候補クラウドサービスの前記決定値と、前記第２管理手段による更新後の前記候補クラウドサービスの前記決定値と、の差分値に基づき、前記候補クラウドサービスの購入数を決定することを特徴とする請求項１に記載の決定装置。
【請求項３】
前記決定手段は、前記決定処理の際、前記候補クラウドサービスあると、前記候補クラウドサービスの内の最も利用期間の長い最長候補クラウドサービスの購入数を、前記最長候補クラウドサービスの前記差分値とすることを特徴とする請求項２に記載の決定装置。
【請求項４】
前記決定手段は、前記決定処理の際、前記候補クラウドサービスあると、前記候補クラウドサービスの内の前記最長候補クラウドサービス以外の候補クラウドサービスについては、当該候補クラウドサービスの前記差分値から、当該候補クラウドサービスの利用期間より長く、かつ、当該候補クラウドサービスの利用期間に最も近い候補クラウドサービスの前記差分値を減じた値に基づき当該候補クラウドサービスの購入数を決定することを特徴とする請求項３に記載の決定装置。
【請求項５】
前記決定手段は、前記決定処理の際、前記候補クラウドサービスあると、前記候補クラウドサービスの購入数の合計値に基づき前記要求数を満たす様に前記第１クラウドサービスの購入数を決定することを特徴とする請求項４に記載の決定装置。
【請求項６】
前記決定手段は、前記決定処理の際、前記要求数が０であると総てのクラウドサービスの購入数を０に決定することを特徴とする請求項１から５のいずれか１項に記載の決定装置。
【請求項７】
前記決定手段は、前記決定処理の際、前記第ｋクラウドサービスそれぞれについて既に購入している購入済数を求め、前記第ｋクラウドサービスそれぞれの購入済数の合計が前記要求数以上であると、総てのクラウドサービスの購入数を０に決定することを特徴とする請求項１から６のいずれか１項に記載の決定装置。
【請求項８】
請求項１から７のいずれか１項に記載の決定装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用期間の異なるクラウドサービスの購入数を決定する決定装置及びプログラムに関する。
【背景技術】
【０００２】
クラウドに設けられた計算機資源を例えば所定の期間を単位（以下、最小利用期間）として利用させるサービスが提供されている。このとき、クラウドＢは、クラウドＡの２倍の最小利用期間を設定し、クラウドＣは、クラウドＡの５倍の最小利用期間を設定してサービスを提供する様な場合が生じる。ここで、一般的に、クラウドサービスの最小利用期間の利用コストは、最小利用期間が長くなる程高くなるが、単位時間当たりの利用コストは低くなる。例えば、将来の需要が分かっている場合、将来の需要に基づき合計コストが一番安くなる様に、各クラウドから必要な数のサービス（計算機資源の利用権）を購入することができる。しかしながら、将来の需要が不明であると、各需要が生じたときに、どの最小利用期間のクラウドを選択するかが問題となる。これはオンライン問題と呼ばれる。非特許文献１は、最小利用期間が２つのクラウドが提供するサービスのいずれを選択するかを判定する方法を開示している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｗｅｉ Ｗａｎｇ,  ｅｔ  ａｌ．，"Ｔｏ  Ｒｅｓｅｒｖｅ  ｏｒ  Ｎｏｔ  ｔｏ  Ｒｅｓｅｒｖｅ：Ｏｐｔｉｍａｌ  Ｏｎｌｉｎｅ  Ｍｕｌｔｉ-Ｉｎｓｔａｎｃｅ  Ａｃｑｕｉｓｉｔｉｏｎ  ｉｎ  ＩａａＳ  Ｃｌｏｕｄｓ"，１０ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｕｔｏｎｏｍｉｃ  Ｃｏｍｐｕｔｉｎｇ，（ＩＣＡＣ'１３），２０１３年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１の構成は、３つ以上の最小利用期間があるクラウドサービスの購入数の決定に使用することができない。
【０００５】
本発明は、利用期間が３つ以上ある場合であっても、クラウドサービスの購入数を決定できる決定装置を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一態様によると、第１クラウドサービスから第Ｍクラウドサービス（Ｍは２以上の整数）であって、第ｋクラウドサービス（ｋは２〜Ｍの整数）の利用期間は第（ｋ−１）クラウドサービスの利用期間より長い、前記第１クラウドサービスから前記第Ｍクラウドサービスそれぞれの購入数を、クラウドサービスの利用の要求数に基づき決定する決定処理を、前記第１クラウドサービスの利用期間を周期として繰り返し実行する決定装置は、前記第ｋクラウドサービスに関する判定情報を管理する第１管理手段であって、前記第ｋクラウドサービスの判定情報は、前記第ｋクラウドサービスの利用開始タイミングにおいて空集合に初期化され、過去の前記決定処理においてクラウドサービスを購入した際の要求数を要素とする集合である、前記第１管理手段と、前記第ｋクラウドサービスのコスト比を保持する保持手段であって、前記第ｋクラウドサービスのコスト比は、前記第１クラウドサービスの利用コストに対する前記第ｋクラウドサービスの利用コストの比である、前記保持手段と、前記決定処理の際、前記第ｋクラウドサービスから第１条件を満たす候補クラウドサービスを判定する第１判定手段と、前記決定処理の際、前記第ｋクラウドサービスから第２条件を満たす候補クラウドサービスを判定する第２判定手段と、前記決定処理の際、前記第１判定手段及び前記第２判定手段により候補クラウドサービスが判定されないと、当該決定処理においては、前記要求数を前記第１クラウドサービスの購入数に決定する決定手段と、を備えており、前記第１条件は、前記判定情報の要素数が前記コスト比から１を減じた値に等しいとの条件であり、前記第２条件は、前記判定情報の要素数が前記コスト比に等しいとの条件であることを特徴とする。
【発明の効果】
【０００７】
本発明によると、利用期間が３つ以上ある場合であっても、クラウドサービスの購入数を決定することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による決定装置を含むシステムの構成図。
【図２】一実施形態の説明に使用する数値例を示す図。
【図３】一実施形態による購入数決定処理のフローチャート。
【図４】一実施形態による購入数決定処理における判定処理のフローチャート。
【図５】一実施形態による購入数決定処理における判定処理のフローチャート。
【図６】一実施形態による購入数決定処理における判定処理のフローチャート。
【図７】時刻０から２における購入状態を示す図。
【図８】時刻３から５における購入状態を示す図。
【図９】時刻６から８における購入状態を示す図。
【図１０】時刻９から１１における購入状態を示す図。
【図１１】一実施形態による決定装置の構成図。
【発明を実施するための形態】
【０００９】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１０】
図１は、本実施形態による決定装置１０が使用されるシステムの一例を示している。クラウド＃１〜＃３は、それぞれ、計算機資源をユーザに利用させるクラウドサービス（以下、単に、サービスとも呼ぶ。）を提供している。本実施形態では、クラウド＃１が提供するサービスの最小利用期間を１としたとき、クラウド＃２が提供するサービスの最小利用期間は４であり、クラウド＃２が提供するサービスの最小利用期間は１２であるものとする。決定装置１０は、ネットワーク２０を介して複数の通信装置３０からクラウドサービス利用の要求を受け付け、この要求に基づき、クラウド＃１〜＃３から必要な数のサービスを購入して、サービス利用の要求を行った通信装置３０に再販売を行う。
【００１１】
なお、各通信装置３０のユーザは、クラウドサービスを必要とするときに、通信装置３０を介して決定装置１０に要求を送信するが、通信装置３０のユーザも、サービスの利用に必要な期間を判定できず、よって、要求にはサービスを必要とする期間は含まれていないものとする。つまり、決定装置１０からみると、サービスを必要とする通信装置３０から、サービスの利用が必要であることのみを示す要求が送信されるものとする。なお、通信装置３０は、決定装置１０を介してサービスの提供を受けるが、サービスの提供を受けている通信装置３０は、利用期間の一番短いクラウド＃１の最小利用期間が経過してもサービスを必要とする場合、再度、要求を決定装置１０に送信するものとする。
【００１２】
なお、以下では、図２（Ａ）に示す様に、最小利用期間が一番短いクラウド＃１のサービスをレベル１と呼び、最小利用期間が２番目に短いクラウド＃２のサービスをレベル２と呼び、最小利用期間が一番長いクラウド＃３のサービスをレベル３と呼ぶものとする。また、クラウド＃１（レベル１）の最小利用期間のコストが１であり、クラウド＃２（レベル２）の最小利用期間のコストが３であり、クラウド＃３（レベル３）の最小利用期間のコストが６であるもの、つまり、最小利用期間が長い程、サービスのコストは高くなるものとする。しかしながら、単位時間当たりのコストは、レベル３が０．５であり、レベル２が０．７５であり、レベル１が１である。この様に、単位時間当たりのコストは、レベルが高くなる程、つまり、最小利用期間が長くなる程、低くなるものとする。なお、この様なコストの設定は、一般的なものである。
【００１３】
決定装置１０は、最小利用期間の一番短いレベル１の最小利用期間毎に、通信装置３０からの要求を集計（以下、要求数）し、クラウドサービスのレベル毎に購入数を決定する。例えば、時刻ｔがレベル１の利用開始タイミングとすると、時刻ｔより前に、時刻ｔからの要求数を満たす様にレベル１〜レベル３のサービスの購入数を決定する。なお、以下の説明においては、時刻ｔからレベル１の最小利用期間の間に必要な要求数を、単に、時刻ｔの要求数と呼ぶ。時刻ｔの要求数を満たすための購入数は、実際には、時刻ｔ以前に決定して購入を行うが、以下の説明においては、単に、時刻ｔに購入すると表現する。以下では、図２（Ｂ）に示す様に、時刻０〜１１の要求数が１４、１６、１７、７、０、１０、１５、１８、１２、１１、９，１３であるものとして決定装置１０における処理を説明する。
【００１４】
図３は、本実施形態において、決定装置１０が実行する購入数決定処理のフローチャートである。以下、各時刻における図３の処理について説明する。なお、図２（Ｂ）に示す様に、時刻０は、レベル２及びレベル３の開始タイミングであるものとする。
【００１５】
＜時刻０＞
Ｓ１０〜Ｓ１３は、Ｄ２、θ２、Ｄ３、θ３の初期化を行うか否かを判定する処理である。ここで、時刻０は、レベル２及びレベル３それぞれの開始タイミングである。したがって、Ｓ１０及びＳ１２は共にＹｅｓであり、よって、Ｄ２＝｛｝、θ２＝０、Ｄ３＝｛｝、θ３＝０に初期化される。また、時刻０の要求数ｄｔ＝１４であるため、Ｓ１４はＮｏである。また、既に購入して継続しているサービスはないため、Ｓ１５はＮｏである。したがって、Ｓ１６で判定処理を行う。図４から図６は、Ｓ１６における判定処理のフローチャートである。なお、Ｓ２０、Ｓ２２、Ｓ２４及びＳ２６の｜Ｄ２｜及び｜Ｄ３｜は、集合Ｄ２、集合Ｄ３の要素数との意味である。また、Ｓ２０及びＳ２２の２及び５は、レベル２のコスト３及びレベル３のコスト６からそれぞれ１を引いた数であり、Ｓ２４及びＳ２６の３及び６は、レベル２のコスト３及びレベル３のコスト６である。さらに、Ｓ２１、Ｓ２３、Ｓ２５、Ｓ２７の２、３は、それぞれ、レベル２及びレベル３、つまり、レベル番号を示している。なお、図４〜図６の処理における集合Ｐ、集合Ｚは、処理の開始時点において空集合に初期化され、μ２、μ３、δ２、δ３、ｎ１、ｎ２、ｎ３も、処理の開始時点において０に初期化される。
【００１６】
時刻０において、Ｄ２及びＤ３は空集合であるため、Ｓ２０、Ｓ２２、Ｓ２４及びＳ２６の判定は総てＮｏである。したがって、図４の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１４｝、Ｄ３＝｛１４｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚは空集合であるので、Ｓ３３の処理後もＰ＝｛｝である。よって、Ｓ３６及びＳ３８の処理はいずれもＮｏである。その後、Ｓ４０の処理により、δ３＝０、δ２＝０になる。Ｓ４１の処理の開始時点においてＰは空集合であるため、Ｓ４８の処理によりｎ３及びｎ２はそれぞれ０になる。ｎ３及びｎ２が０であるので、Ｓ４９の処理で、要求数ｄｔ＝１４を満たすためｎ１＝１４に決定される。なお、ｎ１、ｎ２及びｎ３は、それぞれ、レベル１、レベル２及びレベル３の購入数である。したがって、時刻０において、決定装置１０は、レベル１のサービスを１４個購入する。図７（Ａ）は、時刻０開始時の状態を示している。
【００１７】
＜時刻１＞
時刻１は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻０の処理により、Ｄ２＝｛１４｝、θ２＝０、Ｄ３＝｛１４｝、θ３＝０である。また、時刻１での要求数ｄｔ＝１６であるため、Ｓ１４はＮｏである。また、時刻０で購入したサービスは時刻１の開始時点で終了するためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００１８】
時刻１の開始時において、Ｄ２＝｛１４｝及びＤ３＝｛１４｝と、その要素数は共に１であるため、Ｓ２０、Ｓ２２、Ｓ２４及びＳ２６の判定は総てＮｏである。したがって、図４の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１４，１６｝、Ｄ３＝｛１４，１６｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚは空集合であるので、Ｓ３３の処理後もＰ＝｛｝である。よって、Ｓ３６及びＳ３８の処理はいずれもＮｏである。その後、Ｓ４０の処理により、δ３＝０、δ２＝０になる。Ｓ４１の処理の開始時点においてＰは空集合であるため、Ｓ４８の処理によりｎ３及びｎ２はそれぞれ０になる。ｎ３及びｎ２が０であるので、Ｓ４９の処理で、要求数ｄｔ＝１６を満たすためｎ１＝１６に決定される。したがって、時刻１において、決定装置１０は、レベル１のサービスを１６個購入する。図７（Ｂ）は、時刻１開始時の状態を示している。
【００１９】
＜時刻２＞
時刻２は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻１の処理により、Ｄ２＝｛１４，１６｝、θ２＝０、Ｄ３＝｛１４，１６｝、θ３＝０である。また、時刻２での要求数ｄｔ＝１７であるため、Ｓ１４はＮｏである。また、時刻１で購入したサービスは時刻２の開始時に終了するためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００２０】
時刻２の開始時において、Ｄ２＝｛１４，１６｝及びＤ３＝｛１４，１６｝と、その要素数は共に２であるため、Ｓ２０はＹｅｓであり、Ｓ２２、Ｓ２４及びＳ２６の判定は総てＮｏである。したがって、Ｓ２１でＺ＝｛２｝となる。よって、図４の処理の終了時点において、Ｚ＝｛２｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１４，１６，１７｝、Ｄ３＝｛１４，１６，１７｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚ＝｛２｝であるので、Ｓ３３の処理後、Ｐ＝｛２｝になる。よって、Ｓ３６はＹｅｓとなり、Ｓ３８はＮｏとなる。よって、Ｓ３７で、Ｄ２＝｛１４，１６，１７｝の要素の最小値１４がθ２に代入される。つまり、図５の処理の終了時点でθ２＝１４、θ３＝０となる。その後、Ｓ４０の処理により、δ３＝０、δ２＝１４になる。Ｓ４１の処理の開始時点においてＰ＝｛２｝であるため、Ｓ４７の処理において、ｎ３＝０及びｎ２＝１４になる。ｎ３＝０及びｎ２＝１４であるので、Ｓ４９の処理で、要求数ｄｔ＝１７を満たすためにｎ１＝３に決定される。したがって、時刻２において、決定装置１０は、レベル２のサービスを１４個購入し、レベル１のサービスを３個購入する。図７（Ｃ）は、時刻２開始時の状態を示している。
【００２１】
＜時刻３＞
時刻３は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻２の処理により、Ｄ２＝｛１４，１６，１７｝、θ２＝１４、Ｄ３＝｛１４，１６，１７｝、θ３＝０である。また、時刻３での要求数ｄｔ＝７であるため、Ｓ１４はＮｏである。なお、時刻２で購入したレベル２のサービスが１４個あり、これが時刻３においても継続するためＳ１５はＹｅｓである。したがって、時刻３においては、サービスを購入せずに処理を終了する。図８（Ａ）は、時刻３開始時の状態を示している。
【００２２】
＜時刻４＞
時刻４は、レベル２の開始タイミングである。したがって、Ｓ１１で、Ｄ２＝｛｝、θ２＝０に初期化される。一方、時刻４は、レベル３の開始タイミングではない。したがって、Ｄ３、θ３の初期化は行われない。したがって、Ｄ２＝｛｝、θ２＝０、Ｄ３＝｛１４，１６，１７｝、θ３＝０になる。また、時刻４での要求数ｄｔ＝０であるため、Ｓ１４はＹｅｓである。したがって、時刻４においては、サービスを購入せずに処理を終了する。図８（Ｂ）は、時刻４開始時の状態を示している。
【００２３】
＜時刻５＞
時刻５は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻４での処理により、この時点においては、Ｄ２＝｛｝、θ２＝０、Ｄ３＝｛１４，１６，１７｝、θ３＝０である。また、時刻５での要求数ｄｔ＝１０であるため、Ｓ１４はＮｏである。また、継続しているレベル２、レベル３はないためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００２４】
この時点において、Ｄ２＝｛｝及びＤ３＝｛１４，１６，１７｝と、その要素数は０及び３であるため、Ｓ２０、Ｓ２２、Ｓ２４及びＳ２６の判定は総てＮｏである。したがって、図４の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１０｝、Ｄ３＝｛１４，１６，１７，１０｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚ＝｛｝であるので、Ｓ３３の処理後、Ｐ＝｛｝になる。よって、Ｓ３６及びＳ３８はＮｏとなる。その後、Ｓ４０の処理により、δ３＝０、δ２＝０になる。Ｓ４１の処理の開始時点においてＰは空集合であるため、Ｓ４８の処理によりｎ３及びｎ２はそれぞれ０になり、Ｓ４９の処理でｎ１＝１０になる。したがって、時刻５において、決定装置１０は、レベル１のサービスを１０個購入する。図８（Ｃ）は、時刻５開始時の状態を示している。
【００２５】
＜時刻６＞
時刻６は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻５での処理により、この時点においては、Ｄ２＝｛１０｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１０｝、θ３＝０である。また、時刻６での要求数ｄｔ＝１５であるため、Ｓ１４はＮｏである。また、継続しているレベル２、レベル３はないためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００２６】
この時点において、Ｄ２＝｛１０｝及びＤ３＝｛１４，１６，１７，１０｝と、その要素数は１及び４であるため、Ｓ２０、Ｓ２２、Ｓ２４及びＳ２６の判定は総てＮｏである。したがって、図４の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１０，１５｝、Ｄ３＝｛１４，１６，１７，１０，１５｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚ＝｛｝であるので、Ｓ３３の処理後、Ｐ＝｛｝になる。よって、Ｓ３６及びＳ３８はＮｏとなる。その後、Ｓ４０の処理により、δ３＝０、δ２＝０になる。Ｓ４１の処理の開始時点においてＰは空集合であるため、Ｓ４８の処理によりｎ３及びｎ２はそれぞれ０になり、Ｓ４９の処理でｎ１＝１５になる。したがって、時刻６において、決定装置１０は、レベル１のサービスを１５個購入する。図９（Ａ）は、時刻６開始時の状態を示している。
【００２７】
＜時刻７＞
時刻７は、レベル２及びレベル３それぞれの開始タイミングではない。したがって、Ｓ１０及びＳ１２は共にＮｏであり、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻６での処理により、この時点においては、Ｄ２＝｛１０，１５｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１０，１５｝、θ３＝０である。また、時刻７での要求数ｄｔ＝１８であるため、Ｓ１４はＮｏである。また、継続しているレベル２、レベル３はないためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００２８】
この時点において、Ｄ２＝｛１０，１５｝及びＤ３＝｛１４，１６，１７，１０，１５｝と、その要素数は２及び５であるため、Ｓ２０及びＳ２２の判定はＹｅｓである。なお、Ｓ２４及びＳ２６の判定はＮｏである。したがって、Ｓ２１及びＳ２３において、それぞれ、集合Ｚに２及び３がその要素として追加される。したがって、図４の処理の終了時点において、Ｚ＝｛２，３｝、Ｐ＝｛｝である。また、θ２＝０、θ３＝０であるため、Ｓ３０においてμ２＝０、μ３＝０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１０，１５，１８｝、Ｄ３＝｛１４，１６，１７，１０，１５，１８｝となる。また、Ｐは空集合であるため、Ｓ３２の処理はＹｅｓである。Ｚ＝｛２，３｝であるので、Ｓ３３の処理後、Ｐ＝｛２，３｝になる。よって、Ｓ３６及びＳ３８は共にＹｅｓとなる。したがって、Ｓ３７で、θ２＝１０、Ｓ３９で、θ＝１０となる。その後、Ｓ４０の処理により、δ３＝１０、δ２＝１０になる。Ｓ４１の処理の開始時点においてＰ＝｛２，３｝であるため、Ｓ４２の処理でｎ３＝１０になり、Ｓ４４の処理でｎ２＝０になる。したがって、要求数ｄｔ＝１８を満たすため、Ｓ４９の処理でｎ１＝８になる。したがって、時刻７において、決定装置１０は、レベル３のサービスを１０個購入し、レベル１のサービスを８個購入する。図９（Ｂ）は、時刻７開始時の状態を示している。
【００２９】
＜時刻８＞
時刻８は、レベル２の開始タイミングである。したがって、Ｓ１１で、Ｄ２及びθ２は初期化される。一方、時刻８は、レベル３の開始タイミングではないため、Ｄ３、θ３の初期化は行われない。よって、この時点においては、Ｄ２＝｛｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１０，１５，１８｝、θ３＝１０である。また、時刻８での要求数ｄｔ＝１２であるため、Ｓ１４はＮｏである。また、継続しているレベル３の数は１０と、要求数ｄｔ＝１２をカバーできないためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００３０】
この時点において、Ｄ２＝｛｝及びＤ３＝｛１４，１６，１７，１０，１５，１８｝と、その要素数は０及び６である。したがって、Ｓ２０、Ｓ２２及びＳ２４の判定はＮｏであるが、Ｓ２６の判定はＹｅｓである。したがって、Ｓ２７において、集合Ｐに３がその要素として追加される。したがって、図３の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛３｝である。また、θ２＝０、θ３＝１０であるため、Ｓ３０においてμ２＝０、μ３＝１０である。さらに、Ｓ３１の処理により、Ｄ２＝｛１２｝、Ｄ３＝｛１４，１６，１７，１０，１５，１８，１２｝となる。Ｐは空集合ではないため、Ｓ３２の処理はＮｏである。したがって、Ｓ３４で、μ２＝０、μ３＝１０が、それぞれ、Ｄ２、Ｄ３の要素から削除される。なお、μ２＝０であるので、Ｄ２については実際の変更はない。したがって、Ｓ３４の処理後、Ｄ２＝｛１２｝、Ｄ３＝｛１４，１６，１７，１５，１８，１２｝となる。さらに、Ｓ３５の処理により、Ｐ＝｛３｝となる。よって、Ｓ３６はＮｏであるが、Ｓ３８はＹｅｓとなる。したがって、θ２＝０のままであるが、Ｓ３９で、θ＝１２となる。その後、Ｓ４０の処理により、δ３＝２、δ２＝０になる。Ｓ４１の処理の開始時点においてＰ＝｛３｝であるため、Ｓ４２の処理によりｎ３＝２になり、Ｓ４５の処理によりｎ２＝０になる。ｎ３＝２であり、購入数のレベル３が１０個あるため、要求数ｄｔ＝１２は満たされ、よって、Ｓ４９の処理でｎ１＝０になる。したがって、時刻８において、決定装置１０は、レベル３のサービスを２個購入する。図９（Ｃ）は、時刻８開始時の状態を示している。
【００３１】
＜時刻９＞
時刻９は、レベル２及びレベル３の開始タイミングではない。したがって、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻８での処理により、この時点においては、Ｄ２＝｛１２｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１５，１８，１２｝、θ３＝１２である。また、時刻９での要求数ｄｔ＝１１であるため、Ｓ１４はＮｏである。なお、継続しているレベル３の数は１２と、要求数ｄｔ＝１１をカバーできるためＳ１６はＹｅｓである。したがって、時刻９においては、サービスを購入せずに処理を終了する。図１０（Ａ）は、時刻９開始時の状態を示している。
【００３２】
＜時刻１０＞
時刻１０は、レベル２及びレベル３の開始タイミングではない。したがって、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻９での処理により、この時点においては、Ｄ２＝｛１２｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１５，１８，１２｝、θ３＝１２である。また、時刻１０での要求数ｄｔ＝９であるため、Ｓ１４はＮｏである。なお、継続しているレベル３の数は１２と、要求数ｄｔ＝９をカバーできるためＳ１６はＹｅｓである。したがって、時刻１０においては、サービスを購入せずに処理を終了する。図１０（Ｂ）は、時刻９開始時の状態を示している。
【００３３】
＜時刻１１＞
時刻１１は、レベル２及びレベル３の開始タイミングではない。したがって、Ｄ２、θ２、Ｄ３、θ３の初期化は行われない。なお、時刻１０での処理により、この時点においては、Ｄ２＝｛１２｝、θ２＝０、Ｄ３＝｛１４，１６，１７，１５，１８，１２｝、θ３＝１２である。また、時刻１１での要求数ｄｔ＝１３であるため、Ｓ１４はＮｏである。また、継続しているレベル３の数は１２であり、要求数ｄｔ＝１３をカバーできないためＳ１５はＮｏである。したがって、Ｓ１６で図４から図６に示す判定処理を行う。
【００３４】
この時点において、Ｄ２＝｛１２｝及びＤ３＝｛１４，１６，１７，１５，１８，１２｝と、その要素数は１及び６である。したがって、Ｓ２０、Ｓ２２及びＳ２４の判定はＮｏであるが、Ｓ２６の判定はＹｅｓである。したがって、Ｓ２７において、集合Ｐに３がその要素として追加される。したがって、図３の処理の終了時点において、Ｚ＝｛｝、Ｐ＝｛３｝である。また、θ２＝０、θ３＝１２であるため、Ｓ３０においてμ２＝０、μ３＝１２である。さらに、Ｓ３１の処理により、Ｄ２＝｛１２，１３｝、Ｄ３＝｛１４，１６，１７，１５，１８，１２，１３｝となる。Ｐは空集合ではないため、Ｓ３２の処理はＮｏである。したがって、Ｓ３４で、μ２＝０、μ３＝１２が、それぞれ、Ｄ２、Ｄ３の要素から削除される。なお、μ２＝０であるので、Ｄ２については実際の変更はない。したがって、Ｓ３４の処理後、Ｄ２＝｛１２、１３｝、Ｄ３＝｛１４，１６，１７，１５，１８，１３｝となる。さらに、Ｓ３５の処理により、Ｐ＝｛３｝となる。よって、Ｓ３６はＮｏであるが、Ｓ３８はＹｅｓとなる。したがって、θ２＝０のままであるが、Ｓ３９で、θ＝１３となる。その後、Ｓ４０の処理により、δ３＝１、δ２＝０になる。Ｓ４１の処理の開始時点においてＰ＝｛３｝であるため、Ｓ４２の処理によりｎ３＝１になり、Ｓ４５の処理によりｎ２＝０になる。ｎ３＝１であり、購入数のレベル３が１２個あるため、要求数ｄｔ＝１３は満たされ、よって、Ｓ４９の処理でｎ１＝０になる。したがって、時刻１１において、決定装置１０は、レベル３のサービスを１個購入する。図１０（Ｃ）は、時刻１１開始時の状態を示している。
【００３５】
なお、時刻１２は、レベル２及びレベル３の開始タイミングであるため、Ｓ１０〜Ｓ１３の処理により、Ｄ２、θ２、Ｄ３及びθ３は総て初期化され、時刻０の開始時と同じとなる。
【００３６】
図１１は、本実施形態による決定装置１０の構成図である。決定装置１０は、第１クラウドサービスから第Ｍクラウドサービス（Ｍは２以上の整数）の購入数を要求数に基づき決定する決定処理を第１クラウドサービスの利用期間を周期として繰り返し実行する。ここで、第ｋクラウドサービス（ｋは２〜Ｍの整数）の利用期間は第（ｋ−１）クラウドサービスの利用期間より長いとの関係がある。なお、上記例ではＭ＝３である。
【００３７】
保持部１０１は、レベル２以上のクラウドサービスそれぞれについて、レベル１のクラウドサービスに対するコスト比を保持する。上記例において、レベル２のコスト比及びレベル３のコスト比は、図２に示す様に、それぞれ、３及び６である。
【００３８】
第１管理部１０２は、レベル２以上のクラウドサービスそれぞれについて集合Ｄを管理する。ここで、集合Ｄは、過去に行った決定処理においてクラウドサービスを購入した際の要求数をその要素とする（Ｓ３１）。なお、集合Ｄは、対応するクラウドサービスの利用開始タイミングにおいて空集合に初期化される（Ｓ１０〜Ｓ１３）。集合Ｄは、対応するクラウドサービスの購入を判定するための判定情報である。
【００３９】
第１判定部１０４は、決定処理の際、集合Ｄの要素数がコスト比から１を減じた値に等しいクラウドサービスを、候補クラウドサービス（候補レベル）として選択する（Ｓ２０〜Ｓ２３）。具体的には、第１判定部１０４が判定した候補レベルは集合Ｚの要素として示される。
【００４０】
第２判定部１０５は、決定処理の際、集合Ｄの要素数がコスト比に等しいクラウドサービスを、候補クラウドサービス（候補レベル）として選択する（Ｓ２４〜Ｓ２７）。具体的には、第２判定部１０５が判定した候補レベルは、図４のＳ２７の終了時点における集合Ｐの要素として示される。削除部１０６は、第２判定部１０５が判定した候補レベルがあると（Ｓ３２でＮｏ）、対応する集合Ｄの要素のうち、その値が最小の要素を集合Ｄから削除する（Ｓ３４）。
【００４１】
第２管理部１０３は、レベル２以上のクラウドサービスそれぞれについて決定値であるθ（本例では、θ２及びθ３）を管理する。第ｋクラウドサービスの決定値は、第ｋクラウドサービスの利用開始タイミングにおいて０に初期化される（Ｓ１０〜Ｓ１３）。第２管理部１０３は、第１判定部１０４が判定した候補レベルについては、決定処理において、その集合Ｄの要素（Ｓ３１の処理前の要素）と、当該決定処理の要求数（Ｓ３１で集合Ｄに追加）とのうちの最も小さい値に決定値を更新する（Ｓ３６〜Ｓ３９）。また、第２管理部１０３は、第２判定部１０５が判定した候補レベルについては、削除部１０６による要素削除後（Ｓ３４）の集合Ｄの要素と、当該決定処理の要求数とのうちの最も小さい値に決定値を更新する。
【００４２】
決定部１０７は、候補レベルがあると（Ｓ３６又はＳ３８がＹｅｓ）、第２管理部１０３による更新前の当該候補レベルのθ（決定処理開始時点のθであり、Ｓ３０でμに代入）と、第２管理部１０３による更新後の当該候補レベルのθ（Ｓ３７、Ｓ３８で更新後のθ）と、の差分値δ（Ｓ４０）に基づき、当該候補レベルの購入数を決定する。このとき、決定部１０７は、候補レベルのうち、最小利用期間の長い最長候補レベルについては、その購入数を、当該最長候補レベルの差分値δとする（Ｓ４２、Ｓ４７）。また、決定部１０７は、候補レベルの内の記最長候補レベル以外の候補レベルについては、当該候補レベルの差分値δから、当該候補レベルの利用期間より長く、かつ、当該候補レベルの利用期間に最も近い候補レベルの差分値δを減じた値に基づき当該候補レベルの購入数を決定する（Ｓ４４）つまり、最長候補レベルがレベルｐ（本例においてｐは２又は３）であるとすると、レベルｐの購入数をδｐとする（Ｓ４２、Ｓ４７）。決定部１０７は、候補レベルのうちのレベルｐ以外のレベルｑの購入数を、δｑ−δ（ｑ＋１）に決定する（Ｓ４４）。ここで、δ（ｑ＋１）は、レベル（ｑ＋１）、つまり、候補レベルのうち、その最小利用期間がレベルｑの最小利用期間より長く、かつ、レベルｑの最小利用期間に最も近いレベルである。
【００４３】
また、決定部１０７は、候補レベルそれぞれの購入数と、過去に購入して継続しているレベル２以上の購入済数とを考慮し要求数を満たす様にレベル１の購入数を決定する（Ｓ４９）。なお、レベル１及び候補レベル以外のレベルについては、購入数を０とする。さらに、候補レベルが無い場合、決定部１０７は、要求数をレベル１の購入数とする。
【００４４】
なお、決定部１０７は、要求数が０である場合、及び、要求数が、レベル２以上のクラウドサービスの合計購入済数（継続して使用できる購入済数）以下であると、総てのクラウドサービスの購入数を０に決定する。
【００４５】
本実施形態の前提は、将来の要求数が分からないものと、実際の状況に沿った前提としているため、将来の要求数が分かっている場合よりも合計コストは高くなる。しかしながら、詳細な説明は省略するが、本実施形態による合計コストは、レベル数をＭ（本例では３）とした場合、将来の要求数が分かっている場合の合計コストのＭ倍未満になる。
【００４６】
なお、本発明による決定装置１０は、コンピュータを上記決定装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００４７】
１０１：保持部、１０２：第１管理部、１０３：第２管理部、１０４：第１判定部、１０５：第２判定部、１０６：削除部、１０７：決定部
【図１】
2019067071.tif 000003
【図２】
2019067071.tif 000004
【図３】
2019067071.tif 000005
【図４】
2019067071.tif 000006
【図５】
2019067071.tif 000007
【図６】
2019067071.tif 000008
【図７】
2019067071.tif 000009
【図８】
2019067071.tif 000010
【図９】
2019067071.tif 000011
【図１０】
2019067071.tif 000012
【図１１】
2019067071.tif 000013