(57)【要約】【課題】類似するサービス種別で利用状況の異なる情報についてユーザが容易に把握することができるようにする。【解決手段】サービスを提供するシステムから、ユーザが利用したサービス種別とサービス種別のリソース利用状況を含む利用履歴情報と、サービス種別を利用するための価格情報とを取得し、対象システムで利用する１以上のサービス種別の情報を受け付け、取得した利用履歴情報から、受け付けた１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出し、抽出した利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を１以上のパターンに分類し、価格情報を参照して分類したパターン毎に価格の時系列変化を出力する処理を含む。【選択図】図２
2016212547.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
サービスを提供するシステムから、ユーザが利用したサービス種別と該サービス種別のリソース利用状況を含む利用履歴情報と、該サービス種別を利用するための価格情報とを取得し、
対象システムで利用する１以上のサービス種別の情報を受け付け、
取得した前記利用履歴情報から、受け付けた前記１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出し、
抽出した前記利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を１以上のパターンに分類し、
前記価格情報を参照して分類した前記パターン毎に価格の時系列変化を出力する、
ことを実行させるための情報提供プログラム。
【請求項２】
前記時系列変化情報は、前記リソースの利用量の時系列変化を示す情報であり、
前記分類は、前記抽出した利用履歴情報のユーザ間における前記時系列変化情報の相関に基づいて、該時系列変化情報を分類することを含む
ことを特徴とする請求項１に記載の情報提供プログラム。
【請求項３】
前記抽出は、前記類似する組み合せを利用した１以上のユーザの利用履歴情報を、前記サービス種別毎に抽出することを含み、
前記分類は、前記時系列変化情報を前記サービス種別毎に１以上のパターンに分類することを含み、
前記出力は、前記価格情報を参照して、前記サービス種別毎に、前記相関に基づいて、前記分類したパターンそれぞれの価格の時系列変化を出力することを含む、
ことを特徴とする請求項２に記載の情報提供プログラム。
【請求項４】
前記出力は、前記抽出した利用履歴情報のユーザの数に対する、前記パターンの各々に分類された前記時系列変化情報の数の割合を出力することを含む
ことを特徴とする請求項１〜３のうちいずれか１項に記載の情報提供プログラム。
【請求項５】
前記取得は、サービスを提供する１以上のシステムから前記利用履歴情報と前記価格情報を取得することを含み、
前記抽出は、前記受け付けたサービス種別の組み合せと類似する組み合せを利用したユーザの利用履歴情報を、該類似する組み合せを提供するシステム毎に抽出することを含み、
前記分類は、前記時系列変化情報を前記類似する組み合せを提供するシステム毎に、前記相関に基づいて１以上のパターンに分類することを含み、
前記出力は、前記価格情報を参照して、前記類似する組み合せを提供するシステム毎に、前記分類したパターンそれぞれの価格の時系列変化を出力することを含む、
ことを特徴とする請求項２〜４のうちいずれか１項に記載の情報提供プログラム。
【請求項６】
サービスを提供するシステムから、ユーザが利用したサービス種別と該サービス種別のリソース利用状況を含む利用履歴情報と、該サービス種別を利用するための価格情報とを取得する取得部と、
対象システムで利用する１以上のサービス種別の情報を受け付ける受付部と、
取得した前記利用履歴情報から、受け付けた前記１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出する抽出部と、
抽出した前記利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を１以上のパターンに分類する分類部と、
前記価格情報を参照して分類した前記パターン毎に価格の時系列変化を出力する出力部と、
を備えることを特徴とする情報提供装置。
【請求項７】
サービスを提供するシステムから、ユーザが利用したサービス種別と該サービス種別のリソース利用状況を含む利用履歴情報と、該サービス種別を利用するための価格情報とを取得し、
対象システムで利用する１以上のサービス種別の情報を受け付け、
取得した前記利用履歴情報から、受け付けた前記１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出し、
抽出した前記利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を１以上のパターンに分類し、
前記価格情報を参照して分類した前記パターン毎に価格の時系列変化を出力する、
処理をコンピュータが実行することを特徴とする情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提供プログラム、情報提供装置、及び情報提供方法に関する。
【背景技術】
【０００２】
現在、様々なクラウドサービス（以下、単にクラウドと記す）が、多くのサービス事業者により提供されている。クラウドは、同時に１以上のサービスをユーザに提供する。各クラウドが提供するサービスを組み合わせて利用することで、ユーザは、希望するシステムを構築することができる。クラウドを利用して新たにシステムを構築する場合、ユーザは、複数の事業者により提供されるクラウドのうち、どのクラウドを利用するかを選択することがある。
【０００３】
クラウドの選択方法の１つとして、例えば、各事業者が提供するクラウドの利用にかかる費用をそれぞれ参照することで、適切なクラウドを選択する方法がある。ただし、この方法でユーザが参照する費用は初期にかかる費用であり、クラウドの利用状況に応じて変動する月々の費用については考慮されない。
【０００４】
他の選択方法として、サービスの利用構成が類似したユーザの利用履歴に基づいて、適切なクラウドを選択する方法がある。この方法では、ユーザは、利用構成が類似した他のユーザの利用履歴を参照してクラウドの利用予測を行う。この利用予測に基づいて将来にかかる費用を見積もることで、ユーザは、適切なクラウドを選択する。
【０００５】
情報を提供するための技術として、以下の第１〜３の技術がある。
第１の技術に係る装置は、アイテム操作の時系列データを複数のアイテム操作集合に分割し、アイテム操作集合間の集合類似度を用いて、抽象アイテム操作集合を生成する。そして、第１の技術に係る装置は、抽象アイテム操作集合の順序列から頻出する順序列のパターンを抽出し、頻出する順序列のパターンを用いて、ユーザにアイテムさらにはアイテムの操作を推薦する。
【０００６】
第２の技術に係る装置は、収集部と、公開レベル設定部と、提供制御部とを備える。収集部は、複数のサービスから複数のユーザのログデータを収集する。公開レベル設定部は、収集したログデータの各サービスへの公開レベルをユーザ毎に設定する。提供制御部は、設定された公開レベルに基づいて、収集したログデータの複数のサービスへの提供を制御する。
【０００７】
第３の技術に係る装置は、管理の対象となる監視対象システムにおける監視データを含むログデータを複数のグループに分類する。そして、第３の技術に係る装置は、当該グループ毎に生成された回帰モデルを、それぞれの回帰モデルに対応するグループに属するログデータ、および性能検査の対象となるログデータである検査対象ログデータを用いて合成することで、回帰モデルを再計算する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−１４３０３９号公報
【特許文献２】特開２０１４−２９５８７号公報
【特許文献３】国際公開第２０１２／０８６４４４号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、利用構成が他のユーザと類似したとしても、他のユーザと同じような利用の仕方をするとは限らない。そのため、利用構成が類似する特定のユーザの利用履歴に基づいた利用予測は、実際の利用実績と乖離した結果になる場合も多い。また、利用構成が類似する他のユーザが複数存在し、それらの他のユーザがそれぞれ異なる利用履歴を示すような場合には、ユーザはどの利用履歴に基づいて利用予測をすべきかの判断が困難になる。
【００１０】
そこで、１つの側面では、本発明は、類似するサービス間で、利用状況のパターンについてユーザが容易に把握することができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
一態様による情報提供プログラムがコンピュータに実行させる処理は、サービスを提供するシステムから、ユーザが利用したサービス種別とサービス種別のリソース利用状況を含む利用履歴情報と、サービス種別を利用するための価格情報とを取得し、対象システムで利用する１以上のサービス種別の情報を受け付け、取得した利用履歴情報から、受け付けた１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出し、抽出した利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を１以上のパターンに分類し、価格情報を参照して分類したパターン毎に価格の時系列変化を出力する処理を含む。
【発明の効果】
【００１２】
一態様によれば、類似するサービス間で、利用状況のパターンについてユーザが容易に把握することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る情報提供サービスの利用形態の一例を示す。
【図２】実施形態に係る情報提供装置の機能ブロック図の一例である。
【図３】実施形態１に係る情報提供システムの構成の一例を示す。
【図４】サービスセット利用情報の一例を示す。
【図５】サービスセット利用情報を抽象化した後の様子を示す図である。
【図６】構成クラスタ情報の構成の一例を示す。
【図７】相関行列の一例を示す。
【図８】構成クラスタと、サービス種別毎に形成される利用量クラスタの説明図である。
【図９】利用量クラスタ情報の構成の一例を示す。
【図１０】料金情報の一例を示す。
【図１１】パターン情報の構成の一例を示す。
【図１２】検索処理の説明図である。
【図１３】第２形式において、サービスの種別毎に各パターンを平均化した料金パターンを、影響種別の各パターンに加算して出力する形式の説明図である。
【図１４】学習段階の処理フローの詳細を図解したフローチャートの一例である。
【図１５】構成クラスタリングの処理フローの詳細を図解したフローチャートの一例である。
【図１６】利用履歴クラスタリングの処理フローの詳細を図解したフローチャートの一例である。
【図１７】提供段階の処理フローの詳細を図解したフローチャートの一例である。
【図１８】実施形態１に係る情報提供装置のハードウェア構成の一例を示す。
【図１９】サービス全体の相関行列の一例を示す。
【図２０】実施形態２にかかる検索処理の説明図である。
【図２１】実施形態３に係る情報提供システムの処理を図解したフローチャートの一例である。
【発明を実施するための形態】
【００１４】
図１は、実施形態に係る情報提供サービスの利用形態の一例を示す。図１において、ユーザは、クラウドを利用するにあたって、クラウドが提供する様々なサービスのうちから、同時に利用する１以上のサービスの組合せを選択する。そしてユーザは、選択したサービスの組合せを利用した場合に将来的にクラウドの利用料がどの程度になるかを把握するために、情報提供サービスを利用する。この情報提供サービスを利用するユーザは、同時に利用したいサービスの組合せを情報提供装置に入力する。すると、その応答として、ユーザは、利用したいサービスの組合せと類似するサービスの組合せを過去に利用したユーザの利用傾向を取得することができる。利用傾向とは、具体的には、サービスの利用状況の時系列変化のパターンである。このような利用傾向を、ユーザは、１または複数取得できる。ユーザは、取得した利用傾向を参照することで、利用したいサービスの利用予測をすることができる。この利用予測に基づいて、ユーザは、将来的にかかるクラウドの利用料の変化を把握することができる。
【００１５】
情報提供サービスは、予め、１以上のクラウドから、ユーザのサービス利用に関する情報を取得して記憶しておく。この情報は、ユーザが同時に利用したサービスの種別を示す情報と、それらのサービスの利用状況の時系列変化を示す情報とを含む。これらの情報を用いて、情報提供サービスは、ユーザが利用したいサービスの組合せの入力を受け付けると、その組合せと類似する組合せの利用傾向のパターンを生成して出力する。
【００１６】
図２は、実施形態に係る情報提供装置の機能ブロック図の一例である。図２において、情報提供装置１０は、取得部１、受付部２、抽出部３、分類部４、及び、出力部５を含む。
【００１７】
取得部１は、サービスを提供するシステムから、ユーザが利用したサービス種別とサービス種別のリソース利用状況を含む利用履歴情報と、サービス種別を利用するための価格情報とを取得する。受付部２は、対象システムで利用する１以上のサービス種別の情報を受け付ける。抽出部３は、取得した利用履歴情報から、受け付けた１以上のサービス種別の組合せと類似する組合せを利用したユーザの利用履歴情報を抽出する。分類部４は、抽出した利用履歴情報のユーザ毎のリソース利用状況から生成されるリソースの時系列変化情報を、該時系列変化情報の類似度に基づいて１以上のパターンに分類する。出力部５は、価格情報を参照して分類したパターン毎に価格の時系列変化を出力する。
【００１８】
サービスを提供するシステムは、具体的には例えば、クラウドサービスを提供するシステムである。サービス種別の組み合せは、具体的には例えば、ユーザが同時に利用したサービス種別の組合せ（サービスセット）である。
【００１９】
このように構成することにより、分類したパターン毎に価格の時系列変化が出力される。すなわち、情報提供装置１０は、利用構成が類似するユーザの利用傾向（パターン）をユーザに提示することができる。よって、ユーザは、類似するサービス種別で利用状況の異なる情報について容易に把握することができる。パターン毎の価格の時系列変化を参照することで、ユーザは、システムで将来にかかる利用量の予測精度を高めることができる。
【００２０】
時系列変化情報は、リソースの利用量の時系列変化を示す情報である。また、時系列変化情報の類似度は、抽出した利用履歴情報のユーザ間における時系列変化情報の相関に基づく類似度である。
【００２１】
このように構成することにより、相関の強い時系列変化情報を同一のパターンに分類することができる。
【００２２】
抽出部３による抽出処理は、類似する組み合せを利用した１以上のユーザの利用履歴情報を、サービス種別毎に抽出することを含む。また、分類部４による分類処理は、時系列変化情報をサービス種別毎に１以上のパターンに分類することを含む。また、出力部５による出力処理は、価格情報を参照して、サービス種別毎に、相関に基づいて、分類したパターンそれぞれの価格の時系列変化を出力することを含む。
【００２３】
このように構成することにより、サービス種別毎に、時系列変化情報を分類することができる。
【００２４】
出力部５による出力処理は、抽出した利用履歴情報のユーザの数に対する、パターンの各々に分類された時系列変化情報の数の割合を出力することを含む。
【００２５】
このように構成することにより、ユーザは、抽出した利用履歴情報のユーザの数に対する、パターンの各々に分類された時系列変化情報の数の割合を把握することができる。
【００２６】
取得部１による取得処理は、サービスを提供する１以上のシステムから利用履歴情報と価格情報を取得することを含む。また、抽出部３による抽出処理は、受け付けたサービス種別の組み合せと類似する組み合せを利用したユーザの利用履歴情報を、類似する組み合せを提供するシステム毎に抽出することを含む。また、分類部４による分類処理は、時系列変化情報を類似する組み合せを提供するシステム毎に、相関に基づいて１以上のパターンに分類することを含む。また、出力部５による出力処理は、価格情報を参照して、類似する組み合せを提供するシステム毎に、分類したパターンそれぞれの価格の時系列変化を出力することを含む。
【００２７】
このように構成することにより、ユーザは、類似する組み合せを提供するシステム毎に、分類したパターンそれぞれの価格の時系列変化を把握することができる。
【００２８】
（実施形態１）
以下の説明では、あるユーザが同時に利用するサービスの組合せを、サービスセットと記す。サービスセットの構成とは、サービスの組合せと各サービスの利用数を指すものとする。また、サービスセットの構成要素は、組合せに含まれる各サービスを指す。例えば、あるクラウドが提供するサービスとして、仮想マシン、ストレージ、ネットワーク、及びバックアップの各サービスがあり、ユーザはこれらのうち、仮想マシンのサービスを２つ、ストレージとネットワークのサービスを１つずつ同時に利用すると仮定する。この場合、ユーザが利用するサービスセットの構成とは、仮想マシン×２、ストレージ、ネットワークのサービスの組合せと各サービスの利用数を指す。また、サービスセットの構成要素とは、仮想マシン×２、ストレージ、ネットワークの各々を指すものとし、２つの仮想マシンのサービスは区別してもよい。
【００２９】
図３は、実施形態１に係る情報提供システムの構成の一例を示す。図３において、情報提供システムは、１以上のサーバ装置２１、ユーザ端末２２、及び、情報提供装置２３を含む。サーバ装置２１及びユーザ端末２２の各々と情報提供装置２３は、インターネット等の通信ネットワークを介して接続される。
【００３０】
サーバ装置２１は、クラウド等のサービスを提供するサービス事業者が有する情報処理装置である。
【００３１】
ユーザ端末２２は、情報提供装置２３が提供するサービスを利用可能な端末装置である。
【００３２】
情報提供装置２３は、上述した情報提供サービスを提供する情報処理装置である。情報提供サービスに関する処理は、学習段階と提供段階の二段階に分けられる。学習段階は、過去のユーザのサービスの利用状況から、構成が類似するサービスセット毎の、サービスの利用状況のパターン（利用傾向）を生成する段階である。提供段階は、ユーザからの要求に応じて、学習段階で生成したパターンをユーザに提供する処理である。情報提供装置２３は、学習段階の処理に関して、収集部２４、抽象化部２５、抽出部２６、構成クラスタリング部２７、利用履歴クラスタリング部２８、生成部２９、及び、記憶部３０を含む。また、情報提供装置２３は、提供段階の処理に関して、記憶部３０、受信部３１、検索部３２、及び、送信部３３を含む。
【００３３】
情報提供装置２３は、情報提供装置１０の一例である。収集部２４は、取得部１の一例である。受信部３１は、受付部２の一例である。構成クラスタリング部２７及び検索部３２は、抽出部３の機能の一部または全部を提供する。利用履歴クラスタリング部２８及び検索部３２は、分類部４の機能の一部または全部を提供する。検索部３２は、出力部５の一例である。
【００３４】
（学習段階）
学習段階の処理について説明する。
【００３５】
収集部２４は、１以上のサーバ装置２１から、過去にクラウドを利用したユーザのサービスセットの利用に関する情報（以下、サービスセット利用情報４１と記す）と料金情報４５を収集する。サービスセット利用情報４１は、ユーザの識別情報、クラウドの識別情報、構成情報、及び利用状況情報を含む。ユーザの識別情報は、ユーザを一意に特定するための識別情報である。クラウドの識別情報は、ユーザが利用したサービスセットを提供するクラウドを識別する情報である。構成情報は、ユーザが利用したサービスセットの構成を示す情報である。サービスセットの構成はユーザの指定により変更されることもあるため、構成情報は、サービスセットの所定期間における構成と、各構成の利用期間を示す情報を含む。利用状況情報は、サービスセットの各構成要素の利用状況の時系列変化を示す情報である。利用状況情報は、具体的には、サービスセットの各構成要素の利用量の時系列変化を示す情報である。サービスセットの構成要素は、具体的にはサービスである。サービスセット利用情報４１の詳細は、後ほど、図４を参照して説明する。料金情報４５は、各サービスが所定の利用状況を示す場合にかかる料金を示す情報である。収集部２４は、サービスセット利用情報４１と料金情報４５を記憶部３０に格納する。
【００３６】
抽象化部２５は、構成情報を抽象化する。具体的には、抽象化部２５は、構成情報で示されるサービスセットの各構成要素を、その構成要素（サービス）の種別または所定の属性に注目して抽象化する。収集部２４が収集した構成情報は、各クラウドの個別のサービス（リソース）の名称（識別情報）により示される。そこで抽象化部２５は、個別のサービス名（リソース名）で示されるサービスの種別を特定する。そして、抽象化部２５は、リソース名を、サービスの種別毎に分類する。分類の結果として、抽象化部２５は、構成情報のリソース名を、サービスの種別名に置き換える。これにより、構成情報の構成要素を、複数のクラウド間で共通化して扱うことを可能にする。尚、抽象化部２５は、リソースの識別情報とリソースの種別の識別情報とを対応付けた対応情報を予め所定の記憶領域に保持しておき、この対応情報に基づいて、個別のサービスの識別情報からサービスの種別を特定してもよい。
【００３７】
抽出部２６は、構成情報から最頻構成を抽出する。最頻構成は、所定期間内において、ユーザにより最も長い期間利用されたサービスセットの構成である。最頻構成は、ユーザ毎に抽出される。
【００３８】
構成クラスタリング部２７は、ユーザを、そのユーザが利用したサービスセットの構成に基づいて分類（クラスタリング）する。具体的には、構成クラスタリング部２７は、構成情報を参照し、利用したサービスセットの構成の類似度に応じて、ユーザを１以上のグループ（以下、構成クラスタと記す）にクラスタリングする。そして、構成クラスタリング部２７は、クラスタリングの結果を構成クラスタ情報４２に格納する。これにより、類似した構成のサービスセットを利用したユーザの集合を特定することができる。
【００３９】
利用履歴クラスタリング部２８は、構成クラスタの各ユーザを、さらに、サービスセットの各構成要素の利用状況に基づいてクラスタリングする。具体的には、利用履歴クラスタリング部２８は、利用状況情報を参照し、サービスセットの各構成要素の利用状況の相関に応じて、各構成クラスタのユーザをさらに、１以上のグループ（以下、利用量クラスタと記す）にクラスタリングする。そして、利用履歴クラスタリング部２８は、クラスタリングの結果を利用量クラスタ情報４３に格納する。これにより、類似した構成のサービスセットを利用したユーザのうち、利用状況が類似するユーザの集合を特定することができる。
【００４０】
生成部２９は、利用量クラスタ情報４３を用いて、サービスセットの利用傾向を示す情報（以下、パターンと記す）を生成する。パターンは、具体的には、サービス利用量の時系列変化の傾向を示す情報である。パターンは、利用量クラスタ毎に、各ユーザについてのサービスの利用状況を示す値を平均化することにより生成される。生成したパターンと、料金情報４５とに基づいて、生成部２９は、パターン毎に価格の時系列変化を示す情報を生成する。そして、生成部２９は、パターン毎に価格の時系列変化を、パターン情報４４に格納する。
【００４１】
記憶部３０は、サービスセット利用情報４１、構成クラスタ情報４２、利用量クラスタ情報４３、パターン情報４４、及び料金情報４５を記憶する。各情報の詳細については、後述する。
【００４２】
サービスセット利用情報４１は、利用履歴情報の一例である。料金情報４５は、価格情報の一例である。
【００４３】
（提供段階）
提供段階の処理を説明する。
【００４４】
受信部３１は、ユーザ端末２２から、パターン出力要求を受信する。パターン出力要求には、ユーザが利用したいサービスセット（以下、対象サービスセットと記す）の構成を示す要求構成情報が含まれる。要求構成情報は、具体的には、サービスセット利用情報４１に含まれる構成情報と同様のデータ構造を有する。
【００４５】
検索部３２は、要求構成情報で示される構成と類似する構成クラスタを特定し、特定した構成クラスタに対応するパターンを、パターン情報４４から検索する。
送信部３３は、検索したパターンを示す情報をユーザ端末２２に送信する。
【００４６】
次に、各部の詳細について順に説明する。
（収集処理）
収集部２４は、１以上のサーバ装置２１からサービスセット利用情報４１と料金情報４５を収集して記憶部３０に格納する。サービスセット利用情報４１は、構成情報と利用状況情報を含む。図４は、サービスセット利用情報４１の一例を示す。
【００４７】
図４において、サービスセット利用情報４１は、「ユーザ名」、「利用日」、「サービス名」、「利用量」、及び「クラウド名」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。
【００４８】
「ユーザ名」は、ユーザを一意に識別するための識別情報を示す。「利用日」は、ユーザがサービスを利用した利用日を示す。「サービス名」は、ユーザが利用したサービスの識別情報を示す。「利用量」は、ユーザが利用日に利用したサービスの利用量を示す。「クラウド名」は、ユーザが利用したサービスを提供するクラウドを一意に識別するための識別情報を示す。
【００４９】
「ユーザ名」、「サービス名」、及び「利用日」のデータ項目の組合せは、構成情報に相当する。「ユーザ」と「利用日」の値が共通するレコード群の「サービス名」により、サービスセットの構成が示される。
【００５０】
「ユーザ名」、「サービス名」、「利用日」、及び、「利用量」のデータ項目の組合せは、利用状況情報に相当する。
尚、「利用日」は、日付単位としているが、所定の時間単位としてもよい。
【００５１】
（抽象化処理）
抽象化部２５は、構成情報で示されるサービスセットの各構成要素を、その構成要素（サービス）の種別または所定の属性に注目して抽象化する。
【００５２】
例えば、クラウドＣ１のユーザＡの構成情報に、サービス名（リソース名）がＡ、Ｂ、Ｃの各サービスが含まれる場合を考える。このとき、サービス名Ａ、Ｂ、Ｃの種別は、それぞれ、「Virtual Machine」、「Storage」、「Network」であるとする。この場合、抽象化部２５は、ユーザＡの構成情報におけるＡ、Ｂ、Ｃを、それぞれ、「Virtual Machine」、「Storage」、「Network」に置き換える。
【００５３】
図５は、図４のサービスセット利用情報４１を抽象化した後の様子を示す図である。図４と比較すると、図５においては「サービス名」の値が抽象化されて、「Virtual Machine」、「Storage」、「Network」、「SQL」、「Backup」のいずれかとなっている。「Virtual Machine」、「Storage」、「Network」、「SQL」、「Backup」は、それぞれ、サービスの種別を示す識別情報である。例えば、「Virtual Machine」、「Storage」、「Network」、「SQL」、「Backup」は、それぞれ、仮想サーバ利用サービス、ストレージ利用サービス、ネットワーク利用サービス、ＳＱＬ機能利用サービス、バックアップ機能利用サービスを表している。
【００５４】
実施形態１では、サービスの種別に注目して抽象化するが、抽象化する際の所定の属性として、例えば、サービスが提供されるロケーション（位置）や、サービスが稼動するOperating System（ＯＳ）、サービスの性能などの一部または全部を採用してもよい。
【００５５】
（抽出処理）
抽出部２６は、構成情報から最頻構成を抽出する。最頻構成は、所定期間内において、ユーザにより最も長い期間利用されたサービスセットの構成である。最頻構成はユーザ毎に抽出される。
【００５６】
具体的には、抽出部２６は、構成情報を参照し、「ユーザ」と「利用日」の値が共通するレコード群毎の「サービス名」の組合せを参照することにより、ユーザが利用した各サービスセットを特定する。そして、抽出部２６は、各サービスセットの「利用日」を合計することにより、最も長い期間利用されたサービスセットの構成を特定し、その構成を最頻構成として抽出する。
【００５７】
例えば、図５のサービスセット利用情報４１からユーザＡの最頻構成を抽出する例を考える。「ユーザ」と「利用日」の値が共通するレコード群は、レコード群Ｒ１、Ｒ２、Ｒ３である。「利用日」を参照すると、レコード群Ｒ１、Ｒ２、Ｒ３の利用期間はそれぞれ、２日、１日、３日である。したがって、この場合ユーザＡの最頻構成は、最も利用期間の長いＲ３の構成、すなわち、「Virtual Machine」、「Storage」、「Network」、「Backup」を有するサービスセットであると抽出部２６により抽出される。
【００５８】
（構成クラスタリング）
構成クラスタリング部２７は、構成情報を参照し、サービスセットの構成の類似度に応じて、ユーザを構成クラスタにクラスタリングする。構成クラスタリングは、クラウドが同じユーザ毎に行ってもよいし、クラウドは意識せずに、全てのユーザを対象として行ってもよい。クラウド毎に構成クラスタリングが行われた場合には、各構成クラスタに分類されるユーザは、全て同じクラウドを利用したユーザとなる。全てのユーザを対象としてクラスタリングが行われた場合には、各構成クラスタに分類されるユーザは、異なるクラウドを利用したユーザが混在することとなる。尚、実施形態１では、クラウド毎に構成クラスタリングが実行される例を示す。
【００５９】
構成クラスタリングにおいて用いる類似度の指標としては、具体的には、ユーザ間の構成の距離（C_Dist）と、ユーザ間の構成の差異（Diff）が用いられる。ユーザ間の構成の距離は、サービスの種別毎の利用個数の差の合計値である。ユーザ間の構成の差異は、サービスの種別毎の利用有無の不一致数の合計値である。
【００６０】
ここで、サービス種別の総数をNとし、各サービス種別に1〜Nまでの番号を割り当て、割り当てた番号を用いて各サービス種別をサービス種別n（1≦n≦N）と記載する。そして、ユーザuのサービス種別nの利用個数を、S(un)と記載する。この場合、ユーザu1とユーザu2の構成の距離と差異は、それぞれ以下の（式１）、（式２）により表現される。
【００６１】
【数１】
2016212547.tif 000003
【００６２】
例えば、ユーザＡの構成情報が「VM×2，Storage×2」で表現され、ユーザＢの構成情報が、「VM×1，Storage×1，Backup×1」で表現される場合を考える。この場合、サービス種別「VM」、「Storage」、「Backup」の利用個数の差の絶対値は、それぞれ、|2-1|、|2-1|、|0-1|である。よって、ユーザＡとユーザＢの間の構成の距離は、これらを合計した値、すなわち、|2-1|+|2-1|+|0-1|=3となる。また、各サービスの利用有無を「1」、「0」で表現した場合、サービス種別「VM」、「Storage」、「Backup」の利用有無の差の絶対値は、それぞれ、|1-1|、|1-1|、|0-1|である。よって、ユーザＡとユーザＢの間の構成の差異は、|1-1|+|1-1|+|0-1|=1となる。
【００６３】
以上説明したような構成の距離の値と差異の値が、それぞれ所定の閾値以下であるユーザ同士を、構成クラスタリング部２７は、同一の構成クラスタにクラスタリングする。他のどのユーザに対しても、距離の値及び差異の値がそれぞれ所定の閾値以下とならないユーザは、どの構成クラスタにもクラスタリングされない。このような、どの構成クラスタにもクラスタリングされないユーザは、便宜上、独立ユーザクラスタと呼ぶクラスタにクラスタリングされるものとする。このように、他のユーザと類似性が小さいユーザについては、無理に構成クラスタにクラスタリングしないことで、構成によるクラスタリングの精度を向上させることができる。
【００６４】
そして、構成クラスタリング部２７は、ユーザの識別情報と、そのユーザが分類された構成クラスタの識別情報とを対応付けて、構成クラスタ情報４２に格納する。
【００６５】
構成クラスタ情報４２は、各構成クラスタに属するユーザを示す情報である。図６は、構成クラスタ情報４２の構成の一例を示す。図６において、構成クラスタ情報４２は、「構成クラスタ識別情報」、「ユーザ名」、及び「クラウド識別情報」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。「構成クラスタ識別情報」は、構成クラスタの識別情報を示す。「ユーザ名」は、ユーザの識別情報を示す。「クラウド識別情報」は、ユーザが利用したクラウドの識別情報を示す。図６の例では、例えば、構成クラスタＡにユーザ１、４、９、１０が属していることが示されている。
【００６６】
尚、構成クラスタリングで用いる類似度の指標は、距離と差異のうちのいずれか一方としてもよい。
【００６７】
（利用履歴クラスタリング）
利用履歴クラスタリング部２８は、利用状況情報を参照し、サービスセットの各構成要素（サービス種別）の利用状況の類似度に応じて、各構成クラスタのユーザをさらに、利用量クラスタにクラスタリングする。
【００６８】
利用履歴クラスタリングにおいて用いる類似度の指標としては、具体的には、ユーザ間の利用状況の相関の距離（R_Dist）が用いられる。ユーザ間の利用状況の相関の距離は、同じ構成クラスタに属する各ユーザに対する相関の差の合計により算出される。
【００６９】
利用状況の相関は、ユーザ間のサービスの利用状況（利用履歴）がどれだけ似ているかを示す値である。相関を示す値は、具体的には、サービス利用量の時間変化の相関係数である。相関係数は、ユーザ間のサービスの種別毎に算出される。相関係数は、1〜-1の値をとる。
【００７０】
ここで、サービスの総数をNとし、各サービスに1〜Nまでの番号を割り当て、割り当てた番号を用いて各サービスをサービスn（1≦n≦N）と記載する。そして、ユーザxとユーザyの間のサービスnの相関係数を、Rx,y(n)と記載する。この場合、ユーザu1とユーザu2間の利用状況の相関の距離（R_Dist(u1,u2)）は、以下の（式３）により表現される。
【００７１】
【数２】
2016212547.tif 000004
【００７２】
例えば、ユーザ１、４、９、１０を含む構成クラスタのサービス種別「Virtual Machine」についての相関の距離の算出を考える。先ず、利用履歴クラスタリング部２８は、サービス種別「Virtual Machine」について、構成クラスタ内の全ユーザを対象とした全通りのペアの相関係数を示す相関行列を作成する。
【００７３】
ユーザ間の相関係数の算出は、利用状況情報に基づいて行われる。具体的には、利用履歴クラスタリング部２８は、利用状況情報から、各ユーザの最頻構成について、利用日毎の利用量を時系列で示す時系列データを取得する。このような時系列データは、時間tの関数として表現できる。利用履歴クラスタリング部２８は、各ユーザの利用開始日を「t=0」として、この時系列データの関数を比較し、ユーザのペア毎に相関係数を算出する。このようにユーザのペア毎に算出した相関係数を、利用履歴クラスタリング部２８は、相関行列に格納する。
【００７４】
図７は、相関行列の一例を示す。図７（Ａ）は、サービス種別が「Virtual Machine」の相関係数を示す相関行列である。図７（Ｂ）は、サービス種別が「Storage」の相関係数を示す相関行列である。相関行列の項目はユーザ名であり、各要素は相関係数を示す。例えば、図７（Ａ）において、ユーザ１、４、９、１０に対するユーザ１の相関係数は、それぞれ、「1」、「1」、「0.7」、「0.7」となっている。
【００７５】
このような相関行列を用いて、利用履歴クラスタリング部２８は、サービス種別毎に、相関の距離を算出する。図７（Ａ）の場合、例えば、ユーザ１とユーザ９の相関の距離は、上述の（式３）より、|1-1|+|1-1|+|0.7-0.7|+|0.7-0.7|=0となる。また、例えば、ユーザ１とユーザ９の相関の距離は、|1-0.7|+|1-0.7|+|0.7-1|+|0.7-1|=1.2となる。
【００７６】
このように、例えばユーザ１とユーザ４の相関の距離を算出する場合、ユーザ１とユーザ４の相関だけでなく、ユーザ１とユーザ９、ユーザ２とユーザ９といったように、同一構成クラスタ内の別ユーザとの相関も考慮される。これにより、利用状況の相関によるクラスタリングの精度を向上させることができる。
【００７７】
以上説明したような相関の距離の値が、所定の閾値以下であるユーザ同士を、利用履歴クラスタリング部２８は、同一の利用量クラスタにクラスタリングする。他のどのユーザに対しても、相関の距離の値が所定の閾値以下とならないユーザは、どの利用量クラスタにもクラスタリングされない。
【００７８】
上述したように、ユーザ間の相関行列はサービスの種別毎に作成される。すなわち、利用量クラスタもサービスの種別毎に形成される。
【００７９】
図８は、構成クラスタと、サービス種別毎に形成される利用量クラスタの説明図である。図８においては、構成クラスタリングにより、ユーザは構成クラスタのいずれかまたは独立ユーザクラスタに分類される。図８においては、ユーザは、構成クラスタ１〜３のいずれかにクラスタリングされている。構成クラスタに属するユーザは、さらに、利用量クラスタリングにより、サービスの種別毎に、利用量クラスタのいずれかまたは独立ユーザクラスタに分類される。図８においては、サービス種別Ａの利用量の相関に基づく利用量クラスタリングにより、構成クラスタ１のユーザは利用量クラスタＡ１〜Ａ３のいずれかにクラスタリングされている。ここで、利用量クラスタＡ１〜Ａ３は、サービス種別Ａに対応すると記す。また、サービス種別Ｂの利用量の相関に基づく利用量クラスタリングにより、構成クラスタ１のユーザは、サービス種別Ｂに対応する利用量クラスタＢ１にクラスタリングされている。また、サービス種別Ａの利用量の相関に基づく利用量クラスタリングにより、構成クラスタ１のユーザは、サービス種別Ｃに対応する利用量クラスタＣ１〜Ｃ３のいずれかにクラスタリングされている。このように、あるサービス種別の利用量に関する相関を指標としてクラスタリングされたユーザは、そのサービス種別に対応する利用量クラスタ群のいずれかまたは独立ユーザクラスタに分類されることとなる。
【００８０】
以上のように利用量クラスタリングを行うと、利用履歴クラスタリング部２８は、ユーザと、そのユーザがクラスタリングされた利用量クラスタとを対応付けて、利用量クラスタ情報４３に格納する。具体的には、例えば、利用量クラスタの識別情報と、利用量クラスタに分類されたユーザの識別情報と、対応するサービス種別を示す識別情報と、ユーザが属する構成クラスタの識別情報とを対応付けて、利用量クラスタ情報４３に格納する。
【００８１】
利用量クラスタ情報４３は、各利用量クラスタに属するユーザを示す情報である。図９は、利用量クラスタ情報４３の構成の一例を示す。図９において、利用量クラスタ情報４３は、「利用量クラスタ識別情報」、「ユーザ名」、「サービス名」、及び「構成クラスタ識別情報」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。
【００８２】
「利用量クラスタ識別情報」は、利用量クラスタの識別情報を示す。「ユーザ名」は、ユーザの識別情報を示す。「サービス名」は、利用量クラスタが対応するサービスの種別の識別情報を示す。「構成クラスタ識別情報」は、ユーザが属する構成クラスタの識別情報を示す。
【００８３】
図９の例では、例えば、利用量クラスタＡ１にユーザ１、４が属し、利用量クラスタＡ２にユーザ９、１０が属していることが示されている。
【００８４】
（パターン生成処理）
生成部２９は、利用量クラスタ情報４３を用いて、構成が類似するサービスセット毎の、各サービス種別の利用傾向を示す情報（パターン）を生成する。具体的には、生成部２９は、利用量クラスタ毎に、その利用量クラスタに含まれる各ユーザについてのリソースの利用量を示す値を平均化する。すなわち、生成部２９は先ず、利用量クラスタ情報４３を参照し、同じ利用量クラスタに属するユーザ群を特定する。次いで生成部２９は、特定したユーザ群の各ユーザの最頻構成について、利用日毎の利用量を時系列で示す時系列データを利用状況情報から取得する。このような時系列データは、時間tの関数として表現できる。生成部２９は、各ユーザの最頻構成の利用開始日を「t=0」に設定する。そして生成部２９は、時間t毎に、同じ利用量クラスタに属する全ユーザの利用量を平均することで、パターンを生成する。このように生成したパターンは、利用量クラスタに属する全ユーザの利用量の平均値が、時系列で示される情報となる。
【００８５】
以上のように生成したパターンと、料金情報４５とに基づいて、生成部２９は、パターンを金額に換算する。以下の説明では、金額に換算したパターンを料金パターンと記す。
【００８６】
料金情報４５は、クラウド毎の各サービスの単位利用量あたりにかかる料金を示す情報である。図１０は、料金情報４５の一例を示す。図１０において、料金情報４５は、「サービス種別」、「クラウド識別情報」、及び「料金」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。「サービス種別」は、サービスの種別の識別情報である。「クラウド識別情報」は、サービスを提供するクラウドの識別情報である。「料金」は、クラウドのサービス種別について、単位利用量当たりにかかる料金を示す。
【００８７】
生成部２９は、利用量クラスタに対応するサービス種別の識別情報とクラウドの識別情報が、それぞれ「サービス種別」、「クラウド識別情報」と一致するレコードを検索し、検索したレコードの「料金」の値を取得する。そして生成部２９は、取得した単位利用量当たりにかかる料金に基づいて、利用傾向のパターンを金額に換算する。
【００８８】
生成部２９は、金額に換算した利用傾向のパターンを示す情報を、パターン情報４４に格納する。パターン情報４４は、利用傾向の各パターンを金額で示す情報である。図１１は、パターン情報４４の構成の一例を示す。パターン情報４４は、「利用量クラスタ識別情報」、「時間」、及び「料金」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。
【００８９】
「利用量クラスタ識別情報」は、利用量クラスタの識別情報である。利用傾向のパターンは利用量クラスタ毎に生成されるため、利用量クラスタの識別情報は利用傾向のパターンの識別情報であるともいえる。「時間」、及び「料金」は、利用傾向のパターンを金額により示す。「時間」は、所定の間隔の時間を示す。「料金」は、「時間」で示される時間において、利用量クラスタに含まれる各ユーザの利用料金の平均値を示す情報である。
【００９０】
（検索処理）
検索部３２は、要求構成情報で示される構成と類似する構成クラスタに対応するパターンを、パターン情報４４から検索して出力する。検索部３２による検索処理について、図１２を参照して説明する。図１２は、検索処理の説明図である。
【００９１】
図１２において、受信部３１がユーザ端末２２から要求構成情報を受信すると、検索部３２は、先ず、構成クラスタ情報４２から要求構成情報が示す構成と類似する構成クラスタを特定する（Ｓ１）。この特定に用いる類似度の指標は、上述した構成の距離と差異のいずれかまたは両方である。すなわち、検索部３２は、構成要求情報をサービスの種別等で抽象化して、抽象化した構成要求情報が示す構成に対して、構成の距離と差異のいずれかまたは両方が最も小さい構成クラスタを特定する。構成の距離の算出においては、構成クラスタの代表構成と、要求構成情報の構成とを、検索部３２は比較する。構成クラスタの代表構成とは、構成クラスタに含まれる全ユーザの構成要素の平均である。すなわち、構成クラスタの代表構成のサービスnの利用個数は、構成クラスタに属する各ユーザのサービスnの利用個数の平均値となる。図１２においては、構成クラスタ１が特定されている。
【００９２】
次に検索部３２は、特定した構成クラスタに対応する利用量クラスタ群を利用量クラスタ情報４３から特定する（Ｓ２）。利用量クラスタ群は、サービスの種別毎に特定される。図１２においては、サービス種別Ａに対応する利用量クラスタとして、利用量クラスタＡ１〜Ａ３が特定される。また、サービス種別Ｂに対応する利用量クラスタとして、利用量クラスタＢ１が特定される。そしてサービス種別Ｃに対応する利用量クラスタとして、利用量クラスタＣ１〜Ｃ３が特定される。そして、検索部３２は、特定した利用量クラスタ群の各サービス種別に対応するパターンを、パターン情報４４から取得する。具体的には検索部３２は、パターン情報４４の「利用量クラスタ識別情報」が、特定した利用量クラスタの識別情報と一致するレコードの「時間」と「料金」の値を取得する。
【００９３】
次に検索部３２は、取得したパターンをユーザへの出力形式に変換する（Ｓ３）。出力形式の一例としては、サービス種別毎に各パターンを出力する第１形式がある。さらに検索部３２は、各パターンとともに、そのパターンに対応する利用量クラスタに属するユーザの数の割合を出力する。このユーザ数の割合は、Ｓ１で特定した構成クラスタに属するユーザ数に対する、利用量クラスタに属するユーザ数の割合である。さらに検索部３２は、各パターンとともに、そのパターンに対応する利用量クラスタに属するユーザが利用したクラウドの識別情報を出力してもよい。尚、このクラウドの識別情報は、構成クラスタ情報４２を参照することで特定できる。
【００９４】
図１２は、第１形式の変換例を示している。図１２の例では、サービス種別Ａ、Ｂ、Ｃのそれぞれのパターンが、横軸が時間で縦軸が料金の折れ線グラフ（Ａ）〜（Ｃ）として出力されている。各線は、それぞれ、利用量クラスタのパターンを示している。また、各線の名称の括弧内の数字は、ユーザ数の割合を示している。例えば、線「A1」は、利用量クラスタＡ１のパターンを示し、線「A1」の括弧内の「50%」は、構成クラスタ１のユーザ数に対する利用量クラスタＡ１に属するユーザ数の割合が50%であることを示している。ユーザ数の割合を提示することで、ユーザに各料金パターンの傾向の強さを示すことができる。
【００９５】
さらに検索部３２は、所定の規則に基づいて、各パターンにラベリングを行ってもよい。例えば、利用料が所定の期間だけ一時的に高くなり、その他の期間では利用料が発生しないパターンの場合には、検索部３２は、そのパターンに「一時利用型」とラベリングしてもよい。また、例えば、利用料の変化に周期性があるパターンの場合には、検索部３２は、そのパターンに「周期利用型」とラベリングしてもよい。また、例えば、時間の経過とともに利用料が増加するパターンの場合には、検索部３２は、そのパターンに「拡張利用型」とラベリングしてもよい。ラベリングの規則は、予め記憶部３０に格納されていてもよいし、ユーザ端末２２または所定の入力装置から入力されてもよい。さらに検索部３２は、同じラベルが付加されたパターンだけを同時に出力してもよい。
【００９６】
さらに検索部３２は、同じラベルが付加されたパターン毎に、全てのクラウドのパターンを出力してもよい。これにより、ユーザは、クラウド間の料金パターンの比較ができるようになる。この比較により、ユーザは、対象サービスセットをどのクラウドで構築し運用すれば、もっとも費用を抑えることができるかなどを予測することができる。
【００９７】
さらに検索部３２は、所定期間内で最も料金の合計が少ないパターン及びクラウドの識別情報を出力してもよい。
【００９８】
出力形式の他の一例としては、特定した利用量クラスタのサービス種別のうち、最も料金に影響するサービス種別のパターンを出力する第２形式がある。最も料金に影響するサービスの種別（以下、影響種別と記す）の特定は、料金情報４５と料金パターンのいずれかまたは両方に基づいて決定される。例えば、検索部３２は、サービス毎の料金パターンの平均が最も高い金額となるサービスの種別を、影響種別として特定してもよい。第２形式の場合、影響種別とは異なる他のサービス種別のパターンから算出した所定の値を、影響種別のパターンに加算して出力してもよい。他のサービス種別のパターンから算出した値としては、例えば、サービスの種別毎に各パターンを平均化した料金パターン、または、サービス種別毎に最もユーザ数が多い料金パターンがある。
【００９９】
図１３は、第２形式において、サービスの種別毎に各パターンを平均化した料金パターンを、影響種別の各パターンに加算して出力する形式の説明図である。図１３に示すように、図１２のＳ１、Ｓ２と同様にして、検索部３２は、サービス毎の利用量クラスタ群を特定する。次いで、検索部３２は、料金情報４５と各料金パターンに基づいて影響種別を特定する（Ｓ２−Ａ）。図１３では、サービス種別Ａが影響種別として特定される。すると、検索部３２は、特定した影響種別とは異なるサービスについて、サービス毎に料金パターンを平均化する。サービスＢについては、利用量クラスタが１つであるので、利用量クラスタの料金パターンは平均化してもしなくても同じである。サービスＣについては、検索部３２は、各利用量クラスタＣ１〜Ｃ３の料金パターンを平均化して、平均化したパターン（以下、平均化パターンと記す）を算出する。具体的には、サービスＣの平均化パターンは、利用量クラスタＣ１〜Ｃ３の料金パターンをそれぞれ時間tの関数C1(t)〜C3(t)として表すと、(C1(t)+C2(t)+C3(t))/3となる。サービスＢ、Ｃの平均化パターンを算出すると、検索部３２は、各サービスの平均化パターンをサービスＡの各料金パターンに加算する（Ｓ３−Ｂ）。そして検索部３２は、加算したサービスＡの料金パターンを出力する（Ｓ３−Ａ）。図１３の例では、平均化パターンが加算されたサービスＡの各料金パターンが、横軸が時間で縦軸が料金の折れ線グラフ（Ａ’）の形式で出力されている。
【０１００】
第２形式の場合、影響種別とは異なる種別の料金パターン毎に最もユーザ数が多いパターンを選択し、選択したパターンを影響種別のパターンに加算して出力してもよい。例えば図１３の例において、影響種別がサービスＡである場合を考える。この場合、影響種別とは異なる種別は、サービス種別ＢとＣである。サービス種別Ｂについては、最もユーザ数が多いパターンとして利用量クラスタＢ１が選択される。サービス種別Ｃについては、利用量クラスタＣ１〜Ｃ３のうちで、最もユーザ数の多い利用量クラスタＣ３が選択される。選択した利用量クラスタＢ１、Ｃ３の料金パターンを、検索部３２は、影響種別の各料金パターンに加算して出力する。
【０１０１】
尚、出力形式は、ユーザ端末２２から指定されてもよい。また、出力は料金パターンではなく、利用量のパターンの形式で出力してもよい。
【０１０２】
（学習段階の処理フロー）
次に、学習段階の処理のフローについて説明する。図１４は、学習段階の処理フローの詳細を図解したフローチャートの一例である。
【０１０３】
図１４において、先ず、収集部２４は、１以上のサーバからサービスセット利用情報４１と料金情報４５を収集する（Ｓ１０１）。そして収集部２４は、サービスセット識別情報と料金情報４５を記憶部３０に格納する。
【０１０４】
次に、抽象化部２５は、収集部２４が受信した構成情報により示されるサービスセットの各構成要素を、その構成要素の種別または所定の属性に注目して抽象化する（Ｓ１０２）。
【０１０５】
次に、抽出部２６は、構成情報から各ユーザの最頻構成を抽出する（Ｓ１０３）。
次に、構成クラスタリング部２７は、構成情報を参照し、サービスセットの構成の類似度に応じて、ユーザを構成クラスタにクラスタリングする（Ｓ１０４）。この構成クラスタリングの結果を、構成クラスタリング部２７は、構成クラスタ情報４２に格納する。構成クラスタリング処理の詳細なフローは、後ほど図１５を参照して説明する。
【０１０６】
次に、利用履歴クラスタリング部２８は、利用状況情報と構成クラスタ情報４２を参照し、サービスセットの利用状況の類似度に応じて、各構成クラスタのユーザをさらに、利用量クラスタにクラスタリングする（Ｓ１０５）。この利用履歴クラスタリングの結果を、利用履歴クラスタリング部２８は、利用量クラスタ情報４３に格納する。利用量クラスタリング処理の詳細なフローは、後ほど図１６を参照して説明する。
【０１０７】
次に、生成部２９は、利用量クラスタ情報４３と料金情報４５とに基づいて、構成が類似するサービスセット毎の、各サービス種別についての料金パターンを生成する（Ｓ１０６）。そして、生成部２９は、生成した料金パターンをパターン情報４４に格納する。
そして学習段階の処理は終了する。
【０１０８】
（構成クラスタリングの処理フロー）
次に、Ｓ１０４において実行される構成クラスタリングの処理のフローについて説明する。図１５は、構成クラスタリングの処理フローの詳細を図解したフローチャートの一例である。
【０１０９】
図１５において、先ず、構成クラスタリング部２７は、クラウド毎の全ユーザを対象とした全通りのペア間で、構成の距離（Dist）と差分（Diff）を算出する（Ｓ２０１）。構成の距離（Dist）と差分（Diff）は、それぞれ、上述した（式１）、（式２）を用いて算出される。
【０１１０】
次に、構成クラスタリング部２７は、構成クラスタリングの処理で用いる３つの閾値「Δ」、「THDdist」、「THDdiff」を設定する（Ｓ２０２）。「Δ」は、構成クラスタリングの精度を設定するための閾値である。「THDdist」は、同一クラスタに属するユーザ間において、どの程度まで利用サービス数の違いを許容するかを設定するための閾値である。具体的には「THDdist」は、同一の構成クラスタに分類されるユーザ間の構成の距離の最大値である。「THDdist」の値を小さくすると、より利用サービスの数の違いを許容しなくなる。「THDdiff」は、同一クラスタに属するユーザ間において、どの程度まで利用サービスの種類の違いを許容するかを設定するための閾値である。具体的には「THDdiff」は、同一の構成クラスタに分類されるユーザ間の構成の差異の最大値である。「THDdiff」の値を小さくすると、より利用サービスの種類の違いを許容しなくなる。また、構成クラスタリング部２７は、構成クラスタリングで用いる制御変数「i」に「0」を代入して初期化する。閾値「Δ」、「THDdist」、「THDdiff」の値はいずれも、予め所定の記憶領域に格納されていてもよい。
【０１１１】
次に、構成クラスタリング部２７は、構成の距離が変数「i」以下であり、且つ、差異が閾値「THDdiff」以下であるペアを１つの構成クラスタにクラスタリングする（Ｓ２０３）。
【０１１２】
次に、構成クラスタリング部２７は、Ｓ２０３でクラスタリングされたユーザのペアを１つの代表ユーザとして設定する（Ｓ２０４）。代表ユーザは、各構成クラスタに属する全ユーザを代表するものであり、Ｓ２０４の処理が実行されるたびに代表ユーザは更新される。代表ユーザの構成は、Ｓ２０３でクラスタリングされたペアの構成要素の平均である。すなわち、代表ユーザの構成のサービスnの利用個数は、Ｓ２０３でクラスタリングされたペアにおける各ユーザのサービスnの利用個数の平均値となる。
【０１１３】
例えば、ユーザ１とユーザ２のペアがクラスタリングされた場合、１つの代表ユーザ１-２が設定される。ここで、ユーザ１の構成が、「仮想マシン×2、ストレージ×1、バックアップ×0、ＳＱＬ×0」であり、ユーザ２の構成が「仮想マシン×0、ストレージ×1、バックアップ×1、ＳＱＬ×0」である場合を考える。この場合、代表ユーザ１-２の各サービスの利用個数は、「仮想マシン」×((2+0)/2=1)、「ストレージ」×((1+1)/2=1)、「バックアップ」×((1+0)/2=0.5)、「ＳＱＬ」×((0+0)/2=0)となる。
【０１１４】
次に、構成クラスタリング部２７は、直近に実行されたＳ２０３で新たにクラスタリングされたペアが存在するか否かを判定する（Ｓ２０５）。すなわち、構成クラスタリング部２７は、構成の距離が「i」以下であり、且つ、差異が「THDdiff」以下であるペアが存在するか否かを判定する。新たにクラスタリングされたペアが存在すると判定した場合（Ｓ２０５でＹｅｓ）、構成クラスタリング部２７は、処理をＳ２０３に遷移させ、再度Ｓ２０３〜Ｓ２０４の処理を繰り返す。
【０１１５】
一方、新たにクラスタリングされたペアが存在しないと判定した場合（Ｓ２０５でＮｏ）、構成クラスタリング部２７は、制御変数「i」に「i+Δ」を代入する（Ｓ２０６）。
【０１１６】
次に、構成クラスタリング部２７は、変数「i」が閾値「THDdist」より小さいか否かを判定する（Ｓ２０７）。変数「i」が閾値「THDdist」より小さいと判定した場合（Ｓ２０７でＹｅｓ）、構成クラスタリング部２７は、処理をＳ２０３に遷移させ、再度Ｓ２０３以降の処理を繰り返す。
【０１１７】
一方、変数「i」が閾値「THDdist」以上であると判定した場合（Ｓ２０７でＮｏ）、構成クラスタリング部２７は、どの構成クラスタにもクラスタリングされなかったユーザを、独立ユーザクラスタにクラスタリングする（Ｓ２０８）。そして、処理は終了する。
【０１１８】
上述したように、構成クラスタリングでは、閾値「Δ」と制御変数「i」を用いて、より類似性の高いユーザ同士から順にクラスタリングしていく。これにより、より構成が類似するユーザ同士を同一クラスタにクラスタリングすることが可能になる。
【０１１９】
（利用履歴クラスタリングの処理フロー）
次に、Ｓ１０５において実行される利用履歴クラスタリングの処理のフローについて説明する。図１６は、利用履歴クラスタリングの処理フローの詳細を図解したフローチャートの一例である。
【０１２０】
図１６において、先ず、利用履歴クラスタリング部２８は、構成クラスタ毎に、ユーザ間のサービス毎の利用状況の相関を算出する（Ｓ３０１）。各サービスの利用状況の相関は、構成クラスタに属する全てのユーザ間で算出される。
【０１２１】
次に、利用履歴クラスタリング部２８は、同じ構成クラスタに含まれるユーザ同士の相関の距離を算出する（Ｓ３０２）。この相関の距離については、利用履歴クラスタリング部２８は、サービス毎に算出する。また、全ての構成クラスタについて、利用履歴クラスタリング部２８は、利用状況の相関の距離の算出を行う。
【０１２２】
次に、利用履歴クラスタリング部２８は、利用履歴クラスタリングの処理で用いる２つの閾値「Δ」、「THDdist」を設定する（Ｓ３０３）。「Δ」は、利用履歴クラスタリングの精度を設定するための閾値である。「THDdist」は、同一クラスタに属するユーザ間において、どの程度まで利用サービス数の違いを許容するかを設定するための閾値である。具体的には「THDdist」は、同一の利用履歴クラスタに分類されるユーザ間の利用状況の相関の距離の最大値である。「THDdist」の値を小さくすると、より利用サービスの数の違いを許容しなくなる。また、利用履歴クラスタリング部２８は、利用履歴クラスタリングで用いる制御変数「i」に「0」を代入して初期化する。閾値「Δ」、「THDdist」の値はいずれも、予め所定の記憶領域に格納されていてもよい。
【０１２３】
次に、利用履歴クラスタリング部２８は、相関の距離が「i」以下であるペアを１つの利用量クラスタにクラスタリングする（Ｓ３０４）。
【０１２４】
次に、利用履歴クラスタリング部２８は、Ｓ３０４でクラスタリングされたユーザのペアを１つの代表ユーザＲとして設定する（Ｓ３０５）。代表ユーザＲは、各利用量クラスタに属する全ユーザを代表するものであり、Ｓ３０５の処理が実行されるたびに代表ユーザＲは更新される。代表ユーザＲの構成は、Ｓ３０４でクラスタリングされたペアの利用状況の平均である。すなわち、代表ユーザＲのサービスnの利用量は、Ｓ３０４でクラスタリングされたペアにおける各ユーザのサービスnの利用量の平均値となる。
【０１２５】
例えば、ユーザ１とユーザ２のペアがクラスタリングされた場合、１つの代表ユーザＲ（１-２）が設定される。ここで、ユーザ１のサービスＡに関する利用量が、時間tの関数R1(t)で表現でき、ユーザ２のサービスＡに関する利用量が、R2(t)で表現できる場合を考える。この場合、代表ユーザＲ（１-２）のサービスＡの利用量は、(R1(t)+R2(t))/2となる。
【０１２６】
次に、利用履歴クラスタリング部２８は、直近に実行されたＳ３０４で新たにクラスタリングされたペアが存在するか否かを判定する（Ｓ３０６）。すなわち、利用履歴クラスタリング部２８は、相関の距離が「i」以下であるペアが存在するか否かを判定する。新たにクラスタリングされたペアが存在すると判定した場合（Ｓ３０６でＹｅｓ）、利用履歴クラスタリング部２８は、処理をＳ３０４に遷移させ、再度Ｓ３０４〜Ｓ３０５の処理を繰り返す。
【０１２７】
一方、新たにクラスタリングされたペアが存在しないと判定した場合（Ｓ３０６でＮｏ）、利用履歴クラスタリング部２８は、制御変数「i」に「i+Δ」を代入する（Ｓ３０７）。
【０１２８】
次に、利用履歴クラスタリング部２８は、変数「i」が閾値「THDdist」より小さいか否かを判定する（Ｓ３０８）。変数「i」が閾値「THDdist」より小さいと判定した場合（Ｓ３０８でＹｅｓ）、利用履歴クラスタリング部２８は、処理をＳ３０４に遷移させ、再度Ｓ３０４以降の処理を繰り返す。
【０１２９】
一方、変数「i」が閾値「THDdist」以上であると判定した場合（Ｓ３０８でＮｏ）、利用履歴クラスタリング部２８は、どの利用量クラスタにもクラスタリングされなかったユーザを、独立ユーザクラスタＲにクラスタリングする（Ｓ３０９）。そして、処理は終了する。
【０１３０】
構成クラスタリングと同様に利用履歴クラスタリングにおいても、閾値「Δ」と制御変数「i」を用いて、より利用状況の類似性の高いユーザ同士から順にクラスタリングしていく。これにより、より利用状況が類似するユーザ同士を同一クラスタにクラスタリングすることが可能になる。
【０１３１】
（提供段階の処理フロー）
次に、提供段階の処理のフローについて説明する。図１７は、提供段階の処理フローの詳細を図解したフローチャートの一例である。
【０１３２】
図１７において、先ず、受信部３１は、ユーザ端末２２から要求構成情報を受信する（Ｓ４０１）。
【０１３３】
次に、検索部３２は、構成クラスタ情報４２から要求構成情報が示す構成と類似する構成クラスタを特定する（Ｓ４０２）。特定に用いる類似度の指標は、構成の距離と差異のいずれかまたは両方が用いられる。
【０１３４】
次に、検索部３２は、特定した構成クラスタに対応する利用量クラスタ群を利用量クラスタ情報４３から特定する（Ｓ４０３）。この特定は、サービスの種別毎に行われる。
【０１３５】
次に、検索部３２は、特定した利用量クラスタ群の各サービス種別に対応するパターンを、パターン情報４４から取得する（Ｓ４０４）。
【０１３６】
次に、検索部３２は、取得したパターンをユーザへの出力形式に変換して出力する（Ｓ４０５）。
【０１３７】
次に、送信部３３は、ユーザへの出力形式に変換されたパターン情報４４をユーザ端末２２へ送信する（Ｓ４０６）。
そして処理は終了する。
【０１３８】
尚、上述した学習段階の処理フロー（Ｓ１０１〜Ｓ１０６）は、Ｓ４０１の前で実行されてもよいし、Ｓ４０１とＳ４０２の間に実行されてもよい。
【０１３９】
（情報提供装置の構成）
次に、実施形態１に係る情報提供装置２３のハードウェア構成の一例を説明する。図１８は、実施形態１に係る情報提供装置２３のハードウェア構成の一例を示す。
【０１４０】
図１８において、情報提供装置２３は、Central Processing Unit（ＣＰＵ）９１、メモリ９２、記憶装置９３、読取装置９４、及び通信インターフェース９５を含む。ＣＰＵ９１、メモリ９２、記憶装置９３、読取装置９４、及び通信インターフェース９５はバス９６等を介して接続される。
【０１４１】
ＣＰＵ９１は、メモリ９２を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、収集部２４、抽象化部２５、抽出部２６、構成クラスタリング部２７、利用履歴クラスタリング部２８、及び、生成部２９の一部または全部の機能を提供する。また、ＣＰＵ９１は、メモリ９２を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、受信部３１、検索部３２、及び、送信部３３の一部または全部の機能を提供する。
【０１４２】
メモリ９２は、例えば半導体メモリであり、Random Access Memory（ＲＡＭ）領域およびRead Only Memory（ＲＯＭ）領域を含んで構成される。メモリ９２は記憶部３０の一部または全部の機能を提供する。記憶装置９３は、例えばハードディスクである。なお、記憶装置９３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置９３は、外部記録装置であってもよい。記憶装置９３は、記憶部３０の機能を提供してもよい。
【０１４３】
読取装置９４は、ＣＰＵ９１の指示に従って着脱可能記憶媒体９９にアクセスする。着脱可能記憶媒体９９は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。尚、読取装置９４は情報提供装置２３に含まれなくてもよい。
【０１４４】
通信インターフェース９５は、ＣＰＵ９１の指示に従ってネットワークを介して、サーバ装置２１及びユーザ端末２２と通信する。
【０１４５】
実施形態１のプログラムは、例えば、下記の形態で情報提供装置２３に提供される。
（１）記憶装置９３に予めインストールされている。
（２）着脱可能記憶媒体９９により提供される。
（３）プログラムサーバ（図示せず）から通信インターフェース９５を介して提供される。
【０１４６】
さらに、実施形態１の情報提供装置２３の一部は、ハードウェアで実現してもよい。或いは、実施形態１の情報提供装置２３は、ソフトウェアおよびハードウェアの組合せで実現してもよい。
【０１４７】
尚、実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１４８】
（実施形態２）
実施形態２では、情報提供装置２３は、利用履歴クラスタリングに関し、サービス種別毎の相関の利用状況の相関の和に基づいて、各構成クラスタのユーザを利用量クラスタにクラスタリングする。実施形態２では、利用量クラスタは全サービス種別で共通である。すなわち、実施形態２では、利用量クラスタ内のサービス種別毎のパターンが生成されるのではなく、１つのパターンが生成されることとなる。よって、ユーザ端末２２に対して、利用量クラスタ毎にサービス全体で１つの料金パターンが出力されることとなるため、ユーザにとって料金パターンの把握がより容易になる。
【０１４９】
実施形態２に係る情報提供システムの構成、及びハードウェア構成は、実施形態１と同様である。ただし、利用履歴クラスタリング部２８、生成部２９、及び検索部３２の処理が異なる。
【０１５０】
（利用履歴クラスタリング）
利用履歴クラスタリング部２８は、先ず、サービス種別毎に、構成クラスタ内の全ユーザを対象とした全通りのペアの相関係数を示す相関行列を作成する。ユーザ間の相関係数の算出方法は、実施形態１と同様である。
【０１５１】
次に、利用履歴クラスタリング部２８は、全サービスの相関行列を統合して平均化し、その結果をサービス全体の相関行列として記録する。具体的には、利用履歴クラスタリング部２８は、各ペアの相関係数を、全サービスで平均化する。例えば、図７に示す２つの相関行列を統合して平均化した場合、図１９に示すサービス全体の相関行列が生成される。図１９において、各ペアの相関係数は、図７（Ａ）と図７（Ｂ）の平均の値となっている。
【０１５２】
サービス全体の相関行列を生成すると、利用履歴クラスタリング部２８は、ユーザ間の相関係数を算出する。ここで、ユーザxとユーザyの間のサービス全体の相関係数を、Rx,yと記載する。この場合、ユーザu1とユーザu2間の利用状況の相関の距離（RA_Dist(u1,u2)）は、以下の（式４）により表現される。
【０１５３】
【数３】
2016212547.tif 000005
【０１５４】
以上説明したようなサービス全体の相関の距離の値が、所定の閾値以下であるユーザ同士を、利用履歴クラスタリング部２８は、同一の利用量クラスタにクラスタリングする。他のどのユーザに対しても、相関の距離の値が所定の閾値以下とならないユーザは、どの利用量クラスタにもクラスタリングされない。
【０１５５】
利用量クラスタリングを行うと、利用履歴クラスタリング部２８は、ユーザと、そのユーザがクラスタリングされた利用量クラスタとを対応付けて、利用量クラスタ情報４３に格納する。具体的には、例えば、利用量クラスタの識別情報と、利用量クラスタに分類されたユーザの識別情報と、ユーザが属する構成クラスタの識別情報とを対応付けて、利用量クラスタ情報４３に格納する。利用量クラスタ情報４３は、図９で説明したものと同様である。ただし、「サービス名」のデータ項目は省略可能である。
【０１５６】
（パターン生成処理）
生成部２９は、利用量クラスタ情報４３を用いて、構成が類似するサービスセット毎の、利用傾向を示す情報（パターン）を生成する。具体的には、生成部２９は、利用量クラスタ毎に、その利用量クラスタに含まれる各ユーザについてのリソースの利用量を示す値を平均化する。すなわち、生成部２９は先ず、利用量クラスタ情報４３を参照し、同じ利用量クラスタに属するユーザ群を特定する。次いで生成部２９は、特定したユーザ群の各ユーザの最頻構成について、利用日毎の利用量を時系列で示す時系列データを利用状況情報から取得する。実施形態２において、最頻構成の利用量は、最頻構成の各サービスの利用量の平均とする。このような時系列データは、時間tの関数として表現できる。生成部２９は、各ユーザの最頻構成の利用開始日を「t=0」に設定する。そして生成部２９は、時間t毎に、同じ利用量クラスタに属する全ユーザの利用量を平均することで、パターンを生成する。このように生成したパターンは、利用量クラスタに属する全ユーザの利用量の平均値が、時系列で示される情報となる。
【０１５７】
以上のように生成したパターンと、料金情報４５とに基づいて、生成部２９は、パターンを金額に換算して料金パターンを生成する。料金情報４５は、図１０を用いて説明したものと同様である。ただし、図１０における「サービス種別」のデータ項目は省略可能である。
【０１５８】
図１０において生成部２９は、利用量クラスタに対応するクラウドの識別情報が、「クラウド識別情報」と一致するレコードを検索し、検索したレコードの「料金」の値を取得する。そして生成部２９は、取得した単位利用量当たりにかかる料金に基づいて、利用傾向のパターンを金額に換算する。
【０１５９】
生成部２９は、金額換算した利用傾向のパターンを示す情報を、パターン情報４４に格納する。パターン情報４４は、図１１を用いて説明したものと同様である。
【０１６０】
（検索処理）
検索部３２は、要求構成情報で示される構成と類似する構成クラスタに対応するパターンを、パターン情報４４から検索して出力する。検索部３２による検索処理について、図２０を参照して説明する。図２０は、実施形態２にかかる検索処理の説明図である。
【０１６１】
検索部３２は、受信部３１がユーザ端末２２から要求構成情報を受信すると、先ず、構成クラスタ情報４２から要求構成情報が示す構成と類似する構成クラスタを特定する（Ｓ１１）。この構成クラスタの特定は、実施形態１と同様である。次いで検索部３２は、特定した構成クラスタに対応する利用量クラスタ群を利用量クラスタ情報４３から特定する（Ｓ１２）。利用量クラスタ群は、サービス全体に対応するものが特定される。図２０においては、サービス全体に対応する利用量クラスタとして、利用量クラスタＳ１〜Ｓ３が特定される。そして、検索部３２は、特定した利用量クラスタ群の各サービス種別に対応するパターンを、パターン情報４４から取得する。具体的には検索部３２は、パターン情報４４の「利用量クラスタ識別情報」が、特定した利用量クラスタの識別情報と一致するレコードの「時間」と「料金」の値を取得する。
【０１６２】
そして検索部３２は、取得したパターンをユーザへの出力形式に変換して出力する（Ｓ１３）。出力形式の変換処理は、実施形態１と同様である。
【０１６３】
（実施形態３）
実施形態１では、学習段階と提供段階の処理に分けて説明した。実施形態３では、情報提供装置２３は、ユーザ端末２２から要求構成情報を受信した後に、クラスタリングとパターンの生成処理を行う。実施形態３では、情報提供装置２３は、ユーザ端末２２から受信した要求構成情報で示されるサービスセットの構成と類似する構成について、構成クラスタリングを行う。このように構成することで、実施形態１と比較すると、全ての構成クラスタについて利用履歴クラスタリング及びパターンの生成処理を実行しなくてもよいため、情報提供装置２３にかかる負荷を軽減できる。
【０１６４】
実施形態３に係る情報提供システムの構成、及びハードウェア構成は、実施形態１と同様である。ただし、図３に示す各部の動作順と扱う対象のデータが異なる。
【０１６５】
図２１は、実施形態３に係る情報提供システムの処理を図解したフローチャートの一例である。図２１において、先ず、収集部２４は、１以上のサーバからサービスセット利用情報４１と料金情報４５を収集する（Ｓ５０１）。そして収集部２４は、サービスセット識別情報と料金情報４５を記憶部３０に格納する。Ｓ５０１の処理の詳細はＳ１０１と同様である。
【０１６６】
次に、受信部３１は、ユーザ端末２２から要求構成情報を受信する（Ｓ５０２）。
次に、抽象化部２５は、収集部２４が受信した構成情報により示されるサービスセットの各構成要素を、その構成要素の種別または所定の属性に注目して抽象化する（Ｓ５０３）、また同様に、抽象化部２５は、受信部３１が受信した要求構成情報により示される対象サービスセットの各構成要素を、その構成要素の種別または所定の属性に注目して抽象化する（Ｓ５０３）。抽象化の処理の詳細は、実施形態１と同様である。
【０１６７】
次に、抽出部２６は、構成情報から各ユーザの最頻構成を抽出する（Ｓ５０４）。抽出の処理の詳細は、実施形態１と同様である。
【０１６８】
次に、構成クラスタリング部２７は、対象サービスセットの構成と、構成情報の各ユーザの最頻構成との間の類似度に応じて、構成情報のユーザを構成クラスタにクラスタリングする（Ｓ５０５）。類似度の指標としては、具体的には、対象サービスセットの構成と構成情報に含まれる各ユーザのサービスセットの構成との距離（C_Dist）と、差異（Diff）が用いられる。構成の距離の値と差異の値が、それぞれ所定の閾値以下である構成情報の各ユーザを、構成クラスタリング部２７は、同一の構成クラスタにクラスタリングする。この構成クラスタリングの結果を、構成クラスタリング部２７は、構成クラスタ情報４２に格納する。尚、構成クラスタリングで用いる類似度の指標は、構成の距離と差異のうちのいずれか一方としてもよい。
【０１６９】
次に、利用履歴クラスタリング部２８は、利用状況情報と構成クラスタ情報４２を参照し、サービスセットの利用状況の相関に応じて、構成クラスタのユーザをさらに、利用量クラスタにクラスタリングする（Ｓ５０６）。この利用履歴クラスタリングの結果を、利用履歴クラスタリング部２８は、利用量クラスタ情報４３に格納する。利用量クラスタリングの処理の詳細は、実施形態１と同様である。
【０１７０】
次に、生成部２９は、利用量クラスタ情報４３と料金情報４５とに基づいて、対照サービスセットと構成が類似するサービスセットの、各サービス種別についての料金パターンを生成する（Ｓ５０７）。そして、生成部２９は、生成した料金パターンをパターン情報４４に格納する。パターン生成処理の詳細は、実施形態１と同様である。
【０１７１】
次に、検索部３２は、生成部２９により生成された料金パターンをユーザへの出力形式に変換して出力する（Ｓ５０８）。変換処理の詳細は、実施形態１と同様である。
そして処理は終了する。
【０１７２】
実施形態３では、対象サービスセットの構成と構成情報に含まれる各ユーザのサービスセットの構成との距離と差異に基づいて、構成クラスタリングが行われている。すなわち、構成クラスタリングに属するユーザは、対象サービスセットと類似する構成のサービスセットを利用したユーザとなる。この場合、対象サービスセットの数が１つの場合には、構成クラスタの数も１つとなる。従って、全ての構成クラスタについて利用履歴クラスタリング及びパターンの生成処理を実行しなくてもよいため、情報提供装置２３にかかる負荷を軽減できる。
【符号の説明】
【０１７３】
１      取得部
２      受付部
３      抽出部
４      分類部
５      出力部
１０    情報提供装置
２１    サーバ装置
２２    ユーザ端末
２３    情報提供装置
２４    収集部
２５    抽象化部
２６    抽出部
２７    構成クラスタリング部
２８    利用履歴クラスタリング部
２９    生成部
３０    記憶部
３１    受信部
３２    検索部
３３    送信部
４１    サービスセット利用情報
４２    構成クラスタ情報
４３    利用量クラスタ情報
４４    パターン情報
４５    料金情報
９１    ＣＰＵ
９２    メモリ
９３    記憶装置
９４    読取装置
９５    通信インターフェース
９９    着脱可能記憶媒体
【図１】
2016212547.tif 000006
【図２】
2016212547.tif 000007
【図３】
2016212547.tif 000008
【図４】
2016212547.tif 000009
【図５】
2016212547.tif 000010
【図６】
2016212547.tif 000011
【図７】
2016212547.tif 000012
【図８】
2016212547.tif 000013
【図９】
2016212547.tif 000014
【図１０】
2016212547.tif 000015
【図１１】
2016212547.tif 000016
【図１２】
2016212547.tif 000017
【図１３】
2016212547.tif 000018
【図１４】
2016212547.tif 000019
【図１５】
2016212547.tif 000020
【図１６】
2016212547.tif 000021
【図１７】
2016212547.tif 000022
【図１８】
2016212547.tif 000023
【図１９】
2016212547.tif 000024
【図２０】
2016212547.tif 000025
【図２１】
2016212547.tif 000026