本実施の形態に係るサービス提供システムをその図面に基づいて説明する。
なお、本発明は、以下の実施の形態に限定されない。
実施の形態1
図1は、サービス提供システムのハードウェア構成例及びソフトウェア構成例の概要を示すブロック図である。サービス提供システムは、サービス提供装置(情報処理装置、コンピュータ)1、データベースサーバ2、ウェブサーバ3及び端末装置4を含む。サービス提供装置1は、PC(パーソナルコンピュータ)、ワークステーション、汎用コンピュータ等である。以下では、サービス提供装置1はワークステーションであるものとする。
データベースサーバ2及びウェブサーバは、PC、ワークステーション、汎用コンピュータ等である。以下では、データベースサーバ2及びウェブサーバ3はワークステーションであるものとする。図1には、1台のデータベースサーバ2が描かれているが、データベースサーバ2の台数は2台以上でもよい。
端末装置4は、デスクトップPC、ノートPC、携帯電話、スマートフォン、タブレットPC等である。図1では、3台の端末装置4が描かれているが、端末装置4の台数は4台以上でもよいし、2台以下でもよい。1台の端末装置4を介してサービス提供装置1に接続し、サービス提供装置1からエンドユーザサービスの提供を受けるエンドユーザの人数は、1人でもよいし、複数人でもよい。
サービス提供装置1とデータベースサーバ2及びウェブサーバ3とは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介して接続される。以下では、サービス提供装置1とデータベースサーバ2及びウェブサーバ3とは、LANを介して接続されているものとする。
ウェブサーバ3と端末装置4とは、ネットワークNを介して接続されている。ネットワークNは、例えばインターネット、LAN、WAN、電話通信回線、衛星通信回線、ケーブルテレビに係るケーブル、電力及び情報を送信する電線等を含む組み合わせの通信網(ネット)である。
サービス提供装置1は、アプリケーションサーバである。ただし、サービス提供装置1は、データベースサーバ2及びウェブサーバ3を兼ねてもよい。あるいは、サービス提供装置1は、データベースサーバ2又はウェブサーバ3を兼ねてもよい。
データベースサーバ2は、データベースエンジンを搭載し、自身が備える記憶装置に各種のテーブルを記憶している。
ウェブサーバ3は、ネットワークNを介し、端末装置4からリクエストを受信し、端末装置4にレスポンスを送信する。当該レスポンスの内容は、サービス提供装置1によって生成される。
次に、サービス提供システムのソフトウェア構成について説明する。
サービス提供装置1上には、複数の仮想的なコンピュータ(以下、仮想マシンVM(Virtual Machine)(仮想計算機)と呼ぶ)に係るプログラムがインストールされている。また、サービス提供装置1には、複数の仮想マシンVMを制御する仮想マシン制御部VMCに係るプログラムがインストールされている。仮想マシン制御部VMCは、各仮想マシンVMにサービス提供装置1の物理的なリソース(物理資源)を割り当てている。ここでのリソースは、例えばプロセッサ、メモリ、通信機器、通信設備、ストレージ、データベースサーバ2及びウェブサーバ3との接続機器等である。各仮想マシンVMに割り当てられるリソースのスペック及び量は同一でもよいし、異なっていてもよい。また、仮想マシン制御部VMCは、仮想マシンVMに割り当てるリソースのスペック及び量を動的に変更することができる。
各仮想マシンVMは、割り当てられたリソースを使用して、各々がアプリケーションプログラムを動作させている。当該アプリケーションプログラムは、ウェブサーバ3及びネットワークNを介して端末装置4と情報の送受信を行う。また、当該アプリケーションプログラムはLANを介して仮想マシンVMとデータベースサーバ2とを接続し、データベースサーバ2に検索処理、トランザクション処理等を実行させる。
仮想マシン制御部VMCは、切断部11zを含む。切断部11zは、仮想マシンVMとデータベースサーバ2との接続を切断することができる。また、切断部11zは、仮想マシンVMとウェブサーバ3との接続を切断することができる。ここでの切断は、物理的な切断ではなく、ソフトウェア的な切断である。
サービス提供装置1は、クラウド上に構築されたサーバであり、クラウドサービス提供会社の所有物である。クラウドサービス提供会社は、従量制リソース課金に基づいて、サービス提供装置1のリソースをエンドユーザサービス提供会社に貸与している。ここでは、サービス提供装置1のリソース貸与をクラウドサービスと呼ぶ。クラウドサービス提供会社は、契約内容に応じてエンドユーザサービス提供会社に仮想マシンVMを含むクラウドサービスを提供している。
なお、リソース課金は未収代金である売掛金を含む。
エンドユーザサービス提供会社は、割り当てられた仮想マシンVM上で種々のアプリケーションプログラムを起動させる。エンドユーザサービス提供会社は、ネットワークNを介して端末装置4からサービス提供装置1又は仮想マシンVMにログインしたエンドユーザにエンドユーザサービスを提供する。エンドユーザサービスは、例えばネット通販、音楽配信、掲示板等の広範囲なサービスを含む。図1では、仮想マシンVMからエンドユーザに提供されるエンドユーザサービスの機能をサービスSと記載したブロックで示している。仮想マシンVMが提供するサービスSの数は、仮想マシンVM毎に異なっていてもよいし、同一でもよい。また、複数の仮想マシンVMが連携してサービスSをエンドユーザに提供してもよい。図1における、3つの仮想マシンVMのうち、中央と右端の仮想マシンVMは、連携して複数のサービスSをエンドユーザに提供する例を示している。
クラウドサービス提供会社側から見たエンドユーザサービス提供会社は、クラウドサービスに係る契約者であり、クラウドサービスの提供を受ける者である。他方、エンドユーザ側から見たエンドユーザサービス提供会社は、エンドユーザにサービスSを提供する者である。つまり、エンドユーザサービス提供会社は、サービスの提供を受ける立場とサービスの提供を与える立場の2面性を有している。
エンドユーザサービス提供会社は、エンドユーザ(以下、単に利用者とも呼ぶ)にサービスSを提供する代償として、サービス料金をエンドユーザから集める。エンドユーザサービス提供会社は、エンドユーザから集めたサービス料金の売上又は売上に基づく利益をもって、従量制リソース課金により課せられたクラウドサービスのサービス料をクラウドサービス提供会社に支払う。エンドユーザサービス提供会社の売上が芳しくない場合、エンドユーザサービス提供会社に損益が発生し、クラウドサービス提供会社に債権が発生するリスクがある。
なお、仮想マシン制御部VMCに該当する機能を実行する主体は、クラウドサービス提供会社である。
図2は、サービス提供装置1のハードウェア構成例を示すブロック図である。サービス提供装置1は、制御部(算出部、縮退部、サービス抽出部、動作制御部、利用者抽出部、移動部、利益額算出部、切断部)11、ROM(Read Only Memory)12、RAM(Random Access Memory)(主記憶装置、接続部)13を含む。また、サービス提供装置1は、ハードディスク(記憶部、補助記憶装置)14、ディスクドライブ15、表示部16、操作部17及び送受信部18を含む。サービス提供装置1の各構成部は、バス1bを介して相互に接続されている。
制御部11は、CPU(Central Processing Unit)(生成部、中央処理装置)110からなるプロセッサであり、サービス提供装置1の各構成部を制御する。制御部11は、ハードディスク14に記憶されたプログラム1PをRAM13に読み出し、読み出したプログラム1Pを実行する。図2では、CPU110を1つボックスで描図しているが、CPU110は複数であってもよい。
ROM12は、例えば不揮発性の半導体メモリ又は半導体メモリ以外の読み出し専用記憶媒体である。ROM12は、サービス提供装置1の起動時に制御部11が実行するBIOS(Basic Input/Output System)、ファームウェア等を記憶している。
RAM13は、例えばSRAM又はDRAMであり、制御部11が実行する処理の過程で必要な作業変数、データ等を一時的に記憶する。なお、RAM13は主記憶装置の一例であり、RAM13の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。
ハードディスク14は、制御部11が実行するプログラム1P、アプリケーションプログラム2P及び各種テーブルを記憶している。プログラム1Pは、図1における仮想マシン制御部VMCが実行する処理の手順を記録している。アプリケーションプログラム2Pは、図1における仮想マシンVMが実行するサービスSに係る処理の手順を記録している。
なお図2には、アプリケーションプログラム2Pは1つのボックスで描図されているが、アプリケーションプログラム2Pは複数であってもよい。また、各種テーブルは、データベースサーバ2が有する記憶装置に記憶されてもよい。
ハードディスク14は、サービス提供装置1の内部に取り付けられるものであっても、サービス提供装置1の外部に置かれるものであってもよい。ハードディスク14は、補助記憶装置の一例であり、大容量の情報の記憶が可能なフラッシュメモリ又はCD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray Disc、登録商標)等の光ディスク1aで代替されてもよい。
各種テーブルは、リソース課金料金マスタ1T、サービス一覧テーブル(サービスリスト情報)2T、クラウド使用量限度額マスタ3T、サービス縮退テーブル4T、サービス別リソース課金履歴テーブル5T及びサービス別利益履歴テーブル6Tを含む。
リソース課金料金マスタ1Tは、クラウドサービスに対する従量制リソース課金の単価表である。サービス一覧テーブル2Tは、エンドユーザサービスの一覧を記憶したテーブルである。サービス一覧テーブル2Tは、エンドユーザサービスに対応して使用されるリソースも記憶している。クラウド使用量限度額マスタ3Tは、1つのエンドユーザサービスを提供するために仮想マシンVMが使用するリソースに対して課せられる課金額(リソース課金額)の限度を記憶するテーブルである。
サービス縮退テーブル4Tは、クラウドサービス及びエンドユーザサービスの縮退に関して縮退条件と縮退処理とを関連付けて登録するテーブルである。サービス別リソース課金履歴テーブル5Tは、エンドユーザサービス提供会社が利用したクラウドサービスに対するリソース課金を、エンドユーザサービス別、クラウドサービスの種類別に1日単位で記録するテーブルである。サービス別利益履歴テーブル6Tは、エンドユーザサービス提供会社がエンドユーザから売り上げた売上に基づく利益を、エンドユーザサービス別、クラウドサービスの種類別に1日単位で記録するテーブルである。
各種テーブルの詳細については、後述する。
ディスクドライブ15は、外部の記憶媒体であるCD、DVD、BD等の光ディスク1aから情報を読み出し、光ディスク1aに情報を記録する。制御部11は、操作部17からディスクドライブ15に対する光ディスク1aの排出命令を受け付けた場合、ディスクドライブ15の図示しないトレイを排出する。
表示部16は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode RayTube)ディスプレイ等の画面を有し、制御部11からの指示に従って、プログラム1Pに係る各種情報を表示する。
操作部17は、ユーザが各種の入力を行うキーボード、マウス、電源スイッチ、ディスクドライブ15から光ディスク1aを排出するための操作ボタン等の入力デバイスを含む。操作部17は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス1bを介して制御部11に送信される。
送受信部18は、有線又は無線通信のモデム、LANカード、ルータ、USB端子、接続ケーブル等であり、LAN及びネットワークNと接続されている。送受信部18は、LANを介してデータベースサーバ2及びウェブサーバ3と接続されている。送受信部18は、ウェブサーバ3及びネットワークNを介して端末装置4と接続されている。
データベースサーバ2、ウェブサーバ3及び端末装置4のハードウェア構成に関する説明は、省略する。
図3は、サービス提供装置1の機能構成例を示す機能ブロック図である。図3の各機能部は、制御部11がハードディスク14に記録されたプログラム1P及びアプリケーションプログラム2Pに基づいて動作することにより実行される。
サービス提供装置1は、生成部11VM、送受信部f18、算出部11a、サービス抽出部11b、縮退部11c及びプロセス制御部(動作制御部)11dを含む。生成部11VMは、仮想マシンVMが有する機能部である。生成部11VMは、アプリケーションプログラム2Pに基づき、エンドユーザサービスに係る情報を生成する。
送受信部f18は、生成部11VMが生成した情報を端末装置4に送信する。送受信部f18は、機能から見た図2における送受信部18に対応する。なお、送受信部f18は、端末装置4との関係では、ウェブサーバ3の機能を含んでもよい。
算出部11aは、リソース課金料金マスタ1T及びサービス一覧テーブル2Tを参照し、生成部11VMが情報を生成するために使用したリソースに対するリソース課金額を算出する。また、算出部11aは、送受信部f18が情報を端末装置4と送受信するために使用したリソースに対するリソース課金を算出する。算出部11aは、1日単位でエンドユーザサービス毎に課せられたリソース課金額をサービス別リソース課金履歴テーブル5Tに記録する。また、算出部11aは、エンドユーザサービスに対応する当月及び先月のリソース課金額を集計する。
サービス抽出部11bは、クラウドサービス又はエンドユーザサービスを縮退するためにエンドユーザサービスを抽出する機能部である。サービス抽出部11bは、算出部11aが集計した当月のリソース課金額、クラウド使用量限度額マスタ3T及びサービス縮退テーブル4Tを参照し、エンドユーザサービスを抽出する1回目の処理を実行する。次に、サービス抽出部11bは、算出部11aが算出した先月のリソース課金額、サービス別リソース課金履歴テーブル5T及びサービス縮退テーブル4Tを参照し、1回目に抽出したエンドユーザサービスから更にエンドユーザサービスを抽出する2回目の抽出処理を実行する。
なお、エンドユーザサービスに対応する当月及び先月のリソース課金額を集計する処理は、サービス抽出部11bにより実行されてもよい。
縮退部11cは、サービス抽出部11bが抽出したエンドユーザサービスに係る仮想マシンVMに対して、クラウドサービスを縮退する。より具体的には、縮退部11cは、サービス抽出部11bが抽出したエンドユーザサービスに関するリソース使用の削減を実行する。
プロセス制御部11dは、サービス抽出部11bが抽出したエンドユーザサービスを縮退する。より具体的には、プロセス制御部11dは、エンドユーザサービスに係るプロセス停止若しくはプロセス終了処理又は仮想マシンVMに係るプロセス停止若しくはプロセス終了処理を実行する。
上述において、サービス抽出部11bは、2回目にエンドユーザサービスを抽出するに際し、先月のリソース課金額を利用した。しかし、サービス抽出部11bは、2回目にエンドユーザサービスを抽出するに際し、リソース課金額に対応する先月の利益額を利用してもよい。かかる場合、サービス抽出部11bは、サービス別利益履歴テーブル6Tを参照し、先月の利益額に基づいて、1回目に抽出したエンドユーザサービスから更にエンドユーザサービスを抽出する2回目の抽出処理を実行する。
次に、ハードディスク14に記憶されている各種テーブルについて詳細に説明する。
図4は、リソース課金料金マスタ1Tのレコードレイアウトの一例を示す説明図である。リソース課金料金マスタ1Tは、クラウドサービスに対する従量制リソース課金の単価表である。リソース課金料金マスタ1Tは、クラウドサービスID、リソース、クラウドサービス名、単価及び単位の各列を含む。クラウドサービスIDは、クラウドサービスを識別する識別記号である。
リソースは、サービス提供装置1のリソースに関する大分類名である。リソースは、例えばCPU、通信、ストレージ、データベース接続等である。クラウドサービス名は、クラウドサービスの分類名である。クラウドサービス名は、例えばスペックの違いを表した仮想マシンVMの型名、インターネット接続サービス、ディスク提供サービス等である。ここでのディスクは、ハードディスク14のことである。単価は、従量制で課せられるサービス料金の単価である。単価の単位は、例えば円、セント、分等である。単位は、従量制により単価を課金する単位であり、時間、データ容量、単位時間当たりのデータ容量等である。
図5は、サービス一覧テーブル2Tのレコードレイアウトの一例を示す説明図である。サービス一覧テーブル2Tは、エンドユーザサービスと、当該エンドユーザサービスをエンドユーザに提供するために仮想マシンVMが使用するリソースとを対応付けて記憶するテーブルである。サービス一覧テーブル2Tは、契約者名、エンドユーザサービスID、エンドユーザサービス名、サービス稼働状況の各列を含む。契約者名は、エンドユーザサービス提供会社の名称である。エンドユーザサービスIDは、エンドユーザサービスを識別する識別記号である。エンドユーザサービス名は、エンドユーザサービスの名称である。
サービス稼働状況は、クラウドサービス及びエンドユーザサービスの稼働状況を示す文字列又はフラグである。サービス稼働状況は、稼働、リソース縮退、メンテナンス及び停止を含む。
稼働は、クラウドサービス提供会社とエンドユーザサービス提供会社との間で締結された契約内容に基づいて、クラウドサービス及びエンドユーザサービスが正常に稼働している状態、又は正常に提供されている状態を示す。サービス稼働状況が稼働である場合、仮想マシンVM及びアプリケーションプログラム2Pは正常に動作している。また、サービス稼働状況が稼働である場合、エンドユーザは端末装置4を介して正常にエンドユーザサービスの提供を受けることができる。サービス稼働状況には、稼働がデフォルトで設定される。
リソース縮退は、クラウドサービスが制限されている状態を示す。換言した場合、リソース縮退は、仮想マシンVMへ割り当てるリソースが制限されている状態を示す。サービス提供装置1は、エンドユーザサービス毎に仮想マシンVMが使用するリソースに対するリソース課金額等に応じて、リソースを縮退する場合がある。すなわち、サービス提供装置1は、クラウドサービスの提供を縮退する場合がある。かかる場合、サービス稼働状況にはリソース縮退が書き込まれる。
サービス稼働状況がリソース縮退である場合、仮想マシンVMが使用するリソースのスペック又は量が制限されることにより、エンドユーザサービス提供会社に課せられるリソース課金は低減する。一方で、エンドユーザは継続してエンドユーザサービスの提供を受けることができるが、リソース縮退によりエンドユーザサービスの質は低下する。
メンテナンス及び停止は、エンドユーザへのエンドユーザサービスの提供が停止している状態を示す。サービス提供装置1は、エンドユーザサービス毎に仮想マシンVMが使用するリソースに対するリソース課金額等に応じて、エンドユーザサービスを縮退する場合がある。かかる場合、サービス稼働状況にはメンテナンス又は停止が書き込まれる。
サービス稼働状況が稼働又はリソース縮退である場合、エンドユーザへのエンドユーザサービスの提供は停止されない。一方、サービス稼働状況がメンテナンス又は停止である場合、エンドユーザへのエンドユーザサービスの提供は停止されている。
メンテナンスは、仮想マシンVMは起動しているものの、エンドユーザサービスの提供が停止している状態である。サービス稼働状況がメンテナンスである場合、エンドユーザが端末装置4を介してサービス提供装置1にエンドユーザサービスの提供を要求した場合、サービス提供装置1は、例えば「只今利用できません」というメッセージを示すメンテナンス画面のみを端末装置4に送信する。すなわち、エンドユーザサービスがメンテナンスモードに設定された場合、サービス稼働状況にはメンテナンスが書き込まれる。
サービス稼働状況がメンテナンスである場合、端末装置4からサービス提供装置1へのエンドユーザサービスの要求は遮断される。しかし、仮想マシンVM自体は立ち上がっており、アプリケーションプログラム2Pは待機状態にある。そのため以後、仮想マシンVMが使用するリソース量は最低レベルになり、クラウドサービス提供会社からエンドユーザサービス提供会社へのリソース課金額も極端に少なくなる。
メンテナンスの状態は、クラウドサービスの提供は制限されないものの、エンドユーザサービスの提供が停止される状態であるともいえる。サービス稼働状況がメンテナンスである場合、仮想マシンVMは起動しているため、エンドユーザサービス提供会社はエンドユーザに対してエンドユーザサービスの提供をすぐに再開することができる状態にある。
停止は、クラウドサービスの提供が停止し、かつエンドユーザサービスの提供も停止している状態である。サービス稼働状況が停止である場合、仮想マシンVMのプロセスは終了している。また、エンドユーザが端末装置4を介してサービス提供装置1にエンドユーザサービスの提供を要求した場合、サービス提供装置1は例えば「ページが見つかりません」というメッセージを示すNot−Found画面のみを端末装置4に送信する。すなわち、端末装置4から仮想マシンVMに一切アクセスさせない場合、サービス稼働状況には停止が書き込まれる。
サービス稼働状況が停止になった場合、サービス提供装置1は対象のエンドユーザサービスに対応する仮想マシンVMのプロセスを終了する。ここでの仮想マシンVMのプロセス終了は、仮想マシンVMに係るプログラム及びアプリケーションプログラム2Pの情報がRAM13上から消されることである。そのため以後、仮想マシンVMによるリソースの使用は全くなくなり、クラウドサービス提供会社からエンドユーザサービス提供会社へのリソース使用に関するリソース課金は完全に停止する。サービス稼働状況が停止である場合、仮想マシンVMのプロセスは終了しているため、エンドユーザサービス提供会社はエンドユーザサービスの提供をすぐに再開することができない状態にある。エンドユーザサービスの提供を再開する場合、仮想マシンVM及びアプリケーションプログラム2Pを再起動し、これらに関する情報をRAM13に記憶する必要がある。
サービス一覧テーブル2Tは、クラウドサービスID1、クラウドサービスID2及びクラウドサービスID3の各列を含む。これらの列には、リソース課金料金マスタ1TにおけるクラウドサービスIDと同じクラウドサービスIDが格納される。クラウドサービスID1、クラウドサービスID2及びクラウドサービスID3は、対象のエンドユーザサービスを提供するためにエンドユーザサービス提供会社が利用するクラウドサービス又は仮想マシンVMが使用するリソースを示している。例えば、図5のサービス一覧テーブル2Tにおける先頭レコードは、AAA社がエンドユーザに物販サービスを提供するために、図4における仮想マシンスタンダードタイプ、インターネット接続サービス及びディスク提供サービスが利用されることを示している。
図5におけるサービス一覧テーブル2Tの例では、クラウドサービスIDの列が3列用意されている。しかし、サービス一覧テーブル2TにおけるクラウドサービスIDの列数は、エンドユーザサービスに対応するクラウドサービスの数に応じて、変更されてよい。
図6は、クラウド使用量限度額マスタ3Tのレコードレイアウトの一例を示す説明図である。クラウド使用量限度額マスタ3Tは、1つのエンドユーザサービスを提供するためにエンドユーザサービス提供会社が利用するクラウドサービスに対して課せられるリソース課金額の限度を記憶するテーブルである。クラウド使用量限度額マスタ3Tは、限度額列を含む。限度額は、例えば当月の累積のリソース課金の限度額である。限度額は、仮想マシンVMが使用するリソースの縮退を実行するか否か、仮想マシンが実行するエンドユーザサービスを停止させるか否かをサービス提供装置1が判定する材料の1つである。
図7は、サービス縮退テーブル4Tのレコードレイアウトの一例を示す説明図である。サービス縮退テーブル4Tは、クラウドサービス及びエンドユーザサービスの縮退に関して縮退条件と縮退処理とを関連付けて登録するテーブルである。サービス提供装置1は、サービス縮退テーブル4Tに基づいて、どのような場合にどのような縮退処理を実行するかを判定する。
サービス縮退テーブル4Tは、縮退条件1、縮退条件2、縮退処理及びリソース縮退処理詳細の各列を含む。縮退条件1は、図6に示したクラウド使用量限度額マスタ3Tに記録された限度額に掛けられる割合又は数値である。縮退条件の1つは、当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額に上記割合又は数値を掛けた金額を超えることである。以下、縮退条件1は、テーブルの列名とは別に、上記縮退条件の1つを指すものとする。
なお、縮退条件1には、クラウド使用量限度額マスタ3Tの限度額に上記割合又は数値を予め掛けた金額が格納されていてもよい。
縮退条件2は、縮退条件1に重畳して追加される条件である。縮退条件2は、例えば先月リソース課金額がエンドユーザサービス各々に対応する先月リソース課金額のうち、下位30〜20%に入ることである。縮退条件2は、例えば先月リソース課金額がエンドユーザサービス各々に対応する先月リソース課金額のうち、下位20%以内に入ることである。縮退条件2は、例えば先月リソース課金額がゼロであることである。以下、縮退条件2は、テーブルの列名とは別に、上記縮退条件の1つを指すものとする。このような縮退条件2にした理由は、リソース課金の少ないエンドユーザサービスは、サービスの提供規模が相対的に小さいため、縮退したとしても影響が少ないと考えられるためである。
縮退処理は、縮退条件1及び縮退条件2に該当するクラウドサービス又はエンドユーザサービスを縮退する処理の内容である。縮退処理は、リソース縮退、メンテナンス又は停止を含む。リソース縮退、メンテナンス及び停止は、夫々図5のサービス一覧テーブル2Tのサービス稼働状況におけるリソース縮退、メンテナンス及び停止と同じである。
リソース縮退処理詳細は、縮退処理がリソース縮退である場合に、実行される具体的な処理の内容である。リソース縮退処理詳細は、例えばネットワーク帯域を10Mbpsに制限すること、CPUの利用数を半分に減少すること、データベースサーバ2との接続数を半分に減少すること、データベースサーバ2又はウェブサーバ3との接続を切断すること等を含む。ここでのデータベースサーバ2又はウェブサーバ3との切断は、ソフトウェア的な操作による切断を意味する。
例えば、制御部11はデータベースサーバ2に接続するための情報が含まれたコネクションオブジェクトを複数作成し、RAM13に記憶する。制御部11は、プログラム1Pに基づいて、作成したコネクションオブジェクトを個々の仮想マシンVM又はエンドユーザサービスに割り当てる。データベースサーバ2との接続数を半分に減少することとは、仮想マシンVM又はエンドユーザサービスに割り当てるコネクションオブジェクトの数を半分に減少するということである。データベースサーバ2との切断とは、仮想マシンVM又はエンドユーザサービスに割り当てるコネクションオブジェクトの数をゼロにすることである。
なお、図7に示したリソース縮退処理詳細の内容は、あくまでも一例であり、その他の様々なリソース縮退処理を含んでもよい。例えば、リソース縮退処理詳細は、仮想マシンVMに対するRAM13又はハードディスク14の割当量の削減を含んでもよい。
図7におけるサービス縮退テーブル4Tの先頭レコードにおける縮退条件は、次の通りである。すなわち、縮退条件は、当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の50%を超え、かつ先月リソース課金額がエンドユーザサービス各々に対応する先月リソース課金額のうち、下位30〜20%に入ることである。かかる場合、サービス提供装置1は、当該エンドユーザサービスが使用するネットワークNの帯域を10Mbpsに制限する。
図7におけるサービス縮退テーブル4Tの2行目のレコードにおける縮退条件は、次の通りである。すなわち、縮退条件は、当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の50%を超え、かつ先月リソース課金額がエンドユーザサービス各々に対応する先月リソース課金額のうち、下位20%に入ることである。かかる場合、サービス提供装置1は、エンドユーザサービスの提供を要求してきた端末装置4からのアクセスを制限する。また、サービス提供装置1は、エンドユーザサービスを利用するためにアクセスしてきた端末装置4にメンテナンス画面を送信する。
図7におけるサービス縮退テーブル4Tの3行目のレコードにおける縮退条件は、次の通りである。すなわち、縮退条件は、当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の50%を超え、かつ先月リソース課金額がゼロであることである。かかる場合、サービス提供装置1は、処理対象のエンドユーザサービスを提供している仮想マシンVM及びアプリケーションプログラム2Pのプロセスを終了する。また、サービス提供装置1は、当該エンドユーザサービスを利用するためにアクセスしてきた端末装置4にNot−Found画面を送信する。
図7におけるサービス縮退テーブル4Tの4行目以降のレコードにおける縮退条件及び縮退内容は、図7に示す通りである。
図8は、サービス別リソース課金履歴テーブル5Tのレコードレイアウトの一例を示す説明図である。サービス別リソース課金履歴テーブル5Tは、エンドユーザサービス提供会社が利用したクラウドサービスに対するリソース課金を、エンドユーザサービス別、クラウドサービスの種類別に1日単位で記録するテーブルである。サービス提供装置1は、毎日1回決められた時刻に、1日分のリソース課金情報を集計し、集計して生成したレコードをサービス別リソース課金履歴テーブル5Tに挿入するバッチ処理を実行している。
サービス別リソース課金履歴テーブル5Tは、エンドユーザサービスID、エンドユーザサービス名、クラウドサービス名、日付、契約者名、使用数及びリソース課金額の各列を含む。エンドユーザサービスID及びエンドユーザサービス名は、夫々サービス一覧テーブル2TのエンドユーザサービスID及びエンドユーザサービス名と同じである。クラウドサービス名は、リソース課金料金マスタ1Tのクラウドサービス名と同じである。日付は、エンドユーザサービスを提供するために仮想マシンVMがクラウドサービスに対応するリソースを使用した日付であり、フォーマット形式は例えばyyyy/mm/ddである。契約者名は、サービス一覧テーブル2Tの契約者名と同じである。使用数は、エンドユーザサービスを提供するために仮想マシンVMがリソースを使用した使用数であり、その単位はリソース課金料金マスタ1Tの単位と同じである。リソース課金額は、リソース課金料金マスタ1Tの単価に使用数を掛けた金額である。リソース課金額の単位は、例えば円、セント、分等である。
図9は、サービス別課金リソース履歴テーブル6Tのレコードレイアウトの一例を示す説明図である。サービス別利益履歴テーブル6Tは、エンドユーザサービス提供会社が利用したクラウドサービスに対する利益を、エンドユーザサービス別、クラウドサービスの種類別に1日単位で記録するテーブルである。サービス別利益履歴テーブル6Tのレコードは、次の場合に作成される。すなわち、レコードは、クラウドサービスに対するリソース課金額がクラウドサービス提供会社からエンドユーザサービス提供会社に請求され、リソース課金額に対応するサービス料金がエンドユーザサービス提供会社からクラウドサービス提供会社へ支払われた場合に作成される。サービス提供装置1は、毎日1回決められた時刻に、1日分の利益情報を集計し、集計して生成したレコードをサービス別利益履歴テーブル6Tに挿入するバッチ処理を実行している。
サービス別利益履歴テーブル6Tは、エンドユーザサービスID、エンドユーザサービス名、クラウドサービス名、日付、契約者名、使用数及び利益額の各列を含む。各列のうち、利益額以外の列は、サービス別リソース課金履歴テーブル5Tにおいて対応する各列と同じである。利益額は、サービス別リソース課金テーブル5Tのリソース課金額に対してクラウドサービス提供会社がエンドユーザサービス提供会社から売り上げた売上及び経費に基づく金額である。利益額の単位は、例えば円、セント、分等である。
次に、サービス提供装置1の動作について説明する。
図10及び図11は、クラウドサービス及びエンドユーザサービスに係る縮退処理の手順の一例を示すフローチャートである。図10及び図11は、エンドユーザサービス単位でクラウドサービス及びエンドユーザサービスを縮退する処理に関する。
なお、図10及び図11の処理は、リアルタイムで実行されてもよいし、バッチ処理で実行されてもよい。
制御部11は、サービス別リソース課金履歴テーブル5Tから日付が先月のレコードを抽出し、抽出したレコードをエンドユーザサービスIDでマージし、エンドユーザサービス毎の先月のリソース課金額を集計する(ステップS101)。制御部11は、ステップS101でマージしたレコードをステップS101で集計したリソース課金額の昇順に並べ替えることにより、エンドユーザサービスに対応する先月のリソース課金額が昇順に並んだ先月リソース課金額リストを生成する(ステップS102)。制御部11は、生成した先月リソース課金額リスト及びサービス一覧テーブル2Tを参照し、先月のリソース課金額がゼロであったエンドユーザサービスを抽出し、抽出したエンドユーザサービスを列記した先月リソース課金額ゼロリストを生成する(ステップS103)。
制御部11は、サービス一覧テーブル2Tにおいてカーソルを次行のレコードへ移動し、1つのエンドユーザサービスを選択する(ステップS104)。なお、ステップS104の最初の処理において、制御部11はサービス一覧テーブル2Tの先頭レコードからエンドユーザサービスを選択する。制御部11は、リソース課金料金マスタ1Tを参照し、選択したエンドユーザサービスを提供するために仮想マシンVMが当日(処理日の午前0時から現時刻まで)に使用したリソースに対応するリソース課金額を算出する(ステップS105)。制御部11は、サービス別リソース課金履歴テーブル5Tを参照し、選択したエンドユーザサービスにおける当月1日から昨日までのリソース課金額を集計する(ステップS106)。制御部11は、ステップS105で求めたリソース課金額とステップS106で求めたリソース課金額とを合算し、当月リソース課金額を算出する(ステップS107)。
制御部11は、ステップS107で算出した当月リソース課金額、クラウド使用量限度額マスタ3T及びサービス縮退テーブル4Tを参照し、処理対象のエンドユーザサービスが縮退条件1を満たすか否かを判定する(ステップS108)。すなわち、制御部11は、ステップS107で算出した当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の一定割合を超えるか否かを判定する。ここでの一定割合は、サービス縮退テーブル4Tの縮退条件1における割合又は数値である。
なお、図7のサービス縮退テーブル4Tには、縮退条件1が複数登録されている。制御部11は、サービス縮退テーブル4Tにおけるレコード数だけ、ステップS108を繰り返す。従って、図10では示されていないが、実際には制御部11は縮退条件1に係る入れ子のループ処理を実行する。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たさないと判定した場合(ステップS108:NO)、ステップS104に処理を戻す。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たすと判定した場合(ステップS108:YES)、処理対象のエンドユーザサービスが縮退条件2を満たすか否かを判定する(ステップS109)。すなわち、制御部11は、処理対象のエンドユーザサービスがステップS102で生成した先月リソース課金額リストにおいて先頭から一定割合の範囲に入るか否かを判定する。ここでの一定割合の範囲は、サービス縮退テーブル4Tの縮退条件2における数値である。更に、制御部11は、処理対象のエンドユーザサービスがステップS103で生成した先月リソース課金額ゼロリストに含まれるか否かを判定する。制御部11は、処理対象のエンドユーザサービスが縮退条件2を満たさないと判定した場合(ステップS109:NO)、ステップS104に処理を戻す。
制御部11は、処理対象のエンドユーザサービスが縮退条件2を満たすと判定した場合(ステップS109:YES)、処理中のエンドユーザサービスIDと縮退処理とを対応付けてRAM13に動的配列として記憶する(ステップS110)。ステップS110の処理は、縮退処理の実行対象であるエンドユーザサービスを抽出する処理である。ここでの縮退処理は、サービス縮退テーブル4Tの縮退処理及びリソース縮退処理詳細である。すなわち、ステップS110において、リソース縮退対象のエンドユーザサービス、メンテナンス対象のエンドユーザサービス又は停止対象のエンドユーザサービスが抽出される。
制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にあるか否かを判定する(ステップS111)。制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にないと判定した場合(ステップS111:NO)、ステップS104に処理を戻す。制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にあると判定した場合(ステップS111:YES)、ステップS112に処理を進める。
制御部11は、ステップS110で抽出したリソース縮退対象の各エンドユーザサービスを提供している仮想マシンVMに対して、サービス縮退テーブル4Tのリソース縮退処理詳細を実行する(ステップS112)。制御部11は、ステップS110で抽出したメンテナンス対象の各エンドユーザサービスをメンテナンスモードに設定する(ステップS113)。制御部11は、ステップS110で抽出した停止対象の各エンドユーザサービスを提供している仮想マシンVM及びアプリケーションプログラム2Pのプロセスを終了し(ステップS114)、処理を終了する。
ステップS109において、制御部11は、先月リソース課金額を縮退条件2の判定に利用した。しかし、制御部11は、先月売上額又は先月利益額を、エンドユーザサービスを抽出するための条件に採用してもよい。そのためには、サービス縮退テーブル4Tにおける縮退条件2の先月リソース課金額部分を先月売上額又は先月利益額に置換する。そして、図10及び図11の処理において、先月リソース課金額に関する部分を先月売上額又は先月利益額に変更する。
なお、ここでの売上額は、クラウドサービスに対するサービス料がエンドユーザサービス提供会社からクラウドサービス提供会社に実際に支払われて、確定した売上高である。
具体的には、例えば利益額を縮退条件2に取り入れるためには、ステップS109の準備として、ステップS101において制御部11は、サービス別利益履歴テーブル6Tを参照することにより、先月利益額を集計する。また、ステップS102において制御部11は、先月利益額リストを生成し、ステップS103において制御部11は、先月利益額ゼロリストを生成する。
同様に、例えば売上額を縮退条件2に取り入れるためには、過去のリソース課金に対応する売上額を記憶するテーブルを別途用意すればよい。
図12は、サービス提供装置1による縮退処理の動作を示す説明図である。図12Aは、縮退処理実行前のサービス提供システムの状態を示す説明図である。図12Bは、縮退処理実行後のサービス提供システムの状態を示す説明図である。図12におけるサービスA、B、C、Dはエンドユーザサービスを意味している。
縮退処理を実行する前段階では、サービスA、B、C、Dは、先月のリソース課金と無関係に当月のリソース課金が課せられている。エンドユーザによるエンドユーザサービス料が増大するに従い、エンドユーザサービス提供会社がクラウドサービス提供会社に支払うクラウドサービス料が肥大する。しかし、縮退処理実行後には、先月リソース課金額の低いサービスCはメンテナンスモードに移行し、これ以上のリソース課金発生を抑制する。先月リソース課金額がゼロのサービスDの場合、クラウドサービスを終了することにより、リソース課金の発生は停止する。
サービス縮退テーブル4Tに基づき、サービス提供装置1は、縮退する対象のエンドユーザサービスを抽出するに際し、当月のリソース課金額と先月のリソース課金額とを用いた。しかし、サービス提供装置1は、月単位以外の期間に関するリソース課金額を用いて縮退する対象のエンドユーザサービスを抽出してもよい。例えば、サービス提供装置1は、今週のリソース課金額と先週のリソース課金額とを用いて縮退する対象のエンドユーザサービスを抽出してもよい。
例えば、サービス縮退テーブル4Tの先頭レコードにおける縮退条件を、今週リソース課金額が限度額の50%を超え、かつ先週リソース課金額がエンドユーザサービス各々に対応する先週リソース課金額のうち、下位30〜20%であることとする。そのためには、各種テーブル及び縮退処理における月単位の部分を週単位に変更すればよい。
図7のサービス縮退テーブル4Tにおけるリソース縮退処理詳細として、エンドユーザサービスを提供するために行われるバックアップ用ディスクの使用量縮小が含まれてもよい。クラウドサービスの一面として、エンドユーザサービスを提供するためのアプリケーションプログラム2P、データベース、ウェブページ等がサービス提供装置1又はサービス提供システムに対して外部の記憶装置にバックアップされることがある。そこで、リソース縮退の一例として、バックアップされるアーカイブを記憶する記憶装置の記憶容量を制限することが考えられる。
図7のサービス縮退テーブル4Tにおける縮退処理がメンテナンスである場合、仮想マシンVM及びアプリケーションプログラム2Pのプロセスは動作している。しかし、縮退処理がメンテナンスである場合、仮想マシンVM及びアプリケーションプログラム2Pのプロセスを停止してもよい。かかる場合、縮退処理が停止である場合のように、仮想マシンVM及びアプリケーションプログラム2Pに関する情報はRAM13から消されない。
サービス提供装置1における仮想マシン制御部VMCに該当する機能を操作する主体は、クラウドサービス提供会社である。しかし、エンドユーザサービス提供会社に仮想マシン制御部VMCに該当する機能を操作する権限が付与されてもよい。例えば、サービス縮退テーブル4Tをエンドユーザサービスの数だけ用意する。そして、エンドユーザサービス提供会社すなわち契約者に、サービス縮退テーブル4Tを管理する権限を付与する。これにより、エンドユーザサービス提供会社は、自身の都合に応じて縮退条件及び縮退処理をカスタマイズすることができる。
サービス提供装置1によれば、クラウドサービス提供会社及びエンドユーザサービス提供会社が被るリソース課金に係るリスクを低減することができる。
エンドユーザサービス提供会社は、仮想マシンVMが使用するリソースを動的にコントールできない。そのため、エンドユーザサービス提供会社にはリソース使用量に応じた従量制リソース課金により際限なくリソース課金が発生するリスクがあった。エンドユーザサービス提供会社が有するリスクは、クラウドサービス提供会社に跳ね返り、クラウドサービス提供会社にクラウドサービスに対するサービス料を回収できなくなるリスクが生じる。しかしながら、サービス提供装置1は、当月のリソース課金額及び過去のリソース課金額に基づいて、クラウドサービス又はエンドユーザサービスを段階的に縮退する。これにより、いきなり一切のサービスが停止されることを回避することができる。
実施の形態2
実施の形態2は、クラウドサービス提供会社がエンドユーザサービス提供会社に課すリソース課金と、エンドユーザサービス提供会社がエンドユーザに課すユーザ課金とに基づいて、エンドユーザサービスをメンテナンス状態に設定する形態に関する。なお、ユーザ課金は売掛金を含む。
図13は、サービス提供装置10のハードウェア構成例を示すブロック図である。サービス提供装置10は、制御部11、ROM12、RAM13、ハードディスク14、ディスクドライブ15、表示部16、操作部17及び送受信部18を含む。サービス提供装置10のハードウェア各部は、バス1bを介して相互に接続されている。サービス提供装置10のハードウェアに係る各構成部の構成及び機能は、図2に示したサービス提供装置1のハードウェアに係る各構成部の構成及び機能と同じなので、その詳細な説明を省略する。
ハードディスク14は、制御部11が実行するプログラム3P、アプリケーションプログラム2P及び各種テーブルを記憶している。プログラム3Pは、図1における仮想マシン制御部VMCが実行する処理の手順を記録している。プログラム3Pは、エンドユーザサービス提供会社が課すエンドユーザ毎のユーザ課金に基づいて、エンドユーザサービスをメンテナンス状態に設定する処理の手順を記録している。アプリケーションプログラム2Pは、図1における仮想マシンVMが実行するサービスSに係る処理の手順を記録している。
各種テーブルは、リソース課金料金マスタ1T、サービス一覧テーブル2T、サービス別リソース課金履歴テーブル5T、利用者マスタ(利用者リスト情報)7T、利用者別ユーザ課金利益テーブル8Tを含む。また、各種テーブルは、クラウド使用量限度額マスタ3T、サービス縮退テーブル40T、利用者別ユーザ課金履歴テーブル50T、利用者別利益履歴テーブル60Tを含む。
リソース課金料金マスタ1T、サービス一覧テーブル2T、クラウド使用量限度額マスタ3T及びサービス別リソース課金履歴テーブル5Tは、夫々実施の形態1におけるものと同じである。
利用者マスタ7Tは、エンドユーザと、当該エンドユーザが利用するエンドユーザサービスとを対応付けて記憶するテーブルである。利用者別ユーザ課金利益テーブル8Tは、エンドユーザサービス提供会社がエンドユーザに提供したエンドユーザサービスに対するユーザ課金と、当該ユーザ課金に対する売上に基づく利益を記憶するテーブルである。また、サービス縮退テーブル40Tは、エンドユーザサービスの縮退に関して、縮退条件と縮退処理とを関連付けて登録するテーブルである。
利用者別ユーザ課金履歴テーブル50Tは、エンドユーザサービスに対してエンドユーザに課せられた1日単位のユーザ課金額を、エンドユーザ別、エンドユーザサービス別に記憶するテーブルである。利用者別利益履歴テーブル60Tは、エンドユーザサービスに対してエンドユーザに課せられたユーザ課金に応じた1日単位の利益額を、エンドユーザ別、エンドユーザサービス別に記憶するテーブルである。
各種テーブルの詳細については、後述する。
図14は、サービス提供装置10の機能構成例を示す機能ブロック図である。図14の各機能部は、制御部11がハードディスク14に記録されたプログラム3P及びアプリケーションプログラム2Pに基づいて動作することにより実行される。
サービス提供装置10は、生成部11VM、送受信部f18、算出部110a、利用者抽出部110b及びプロセス制御部110dを含む。生成部11VMは、仮想マシンVMが有する機能部である。生成部11VMは、アプリケーションプログラム2Pに基づき、エンドユーザサービスに係る情報を生成する。送受信部f18は、生成部11VMが生成した情報を端末装置4に送信する。
算出部110aは、利用者マスタ7T、サービス一覧テーブル2T及びリソース課金料金マスタ1Tを参照し、生成部11VMがエンドユーザサービスを生成及び送信するために使用したリソースに対するリソース課金を算出する。算出部110aは、1日単位でエンドユーザサービス毎に課せられたユーザ課金額を利用者別ユーザ課金履歴テーブル50Tに記録する。また、算出部110aは、エンドユーザサービスに対応する当月及び先月のユーザ課金額を集計する。
利用者抽出部110aは、エンドユーザサービスを縮退する対象のエンドユーザを抽出する機能部である。利用者抽出部110bは、算出部110aが集計した当月及び先月のリソース課金額、クラウド使用量限度額マスタ3T、サービス別リソース課金履歴テーブル5T及びサービス縮退テーブル40Tを参照し、エンドユーザサービスを抽出する1回目の処理を実行する。次に、利用者抽出部110bは、利用者マスタ7T、利用者別ユーザ課金履歴テーブル50T及びサービス縮退テーブル40Tを参照し、先月のユーザ課金額に基づいて、1回目に抽出したエンドユーザサービスを利用したエンドユーザから縮退条件に該当するエンドユーザを抽出する2回目の抽出処理を実行する。
プロセス制御部110dは、利用者抽出部110bが抽出したエンドユーザが使用する端末装置4に対して、メンテナンスの状態を設定する。より具体的には、プロセス制御部110dは、利用者抽出部110bが抽出したエンドユーザが使用する端末装置4に対してエンドユーザサービスに係る情報の送信を停止する処理を実行する。
上述において、利用者抽出部110bは、2回目にエンドユーザを抽出するに際し、先月のユーザ課金額を利用した。しかし、使用者抽出部110bは、2回目にエンドユーザを抽出するに際し、先月の利益額を利用してもよい。かかる場合、利用者抽出部110bは、利用者別利益履歴テーブル60Tを参照し、先月の利益額に基づいて、1回目に抽出したエンドユーザサービスを利用したエンドユーザから縮退条件に該当するエンドユーザを抽出する2回目の抽出処理を実行する。
次に、ハードディスク14に記憶されている各種テーブルについて詳細に説明する。
図15は、利用者マスタ7Tのレコードレイアウトの一例を示す説明図である。利用者マスタ7Tは、エンドユーザとエンドユーザサービスとを対応付けて記憶するテーブルである。利用者マスタ7Tは、エンドユーザID、パスワード及び利用者名の各列を含む。
エンドユーザIDは、エンドユーザを識別する識別記号である。パスワードは、エンドユーザが仮想マシンVMにログインするため、認証処理で使用されるパスワードである。エンドユーザは、エンドユーザサービス提供会社からエンドユーザサービスの提供を受けるためには、利用者マスタ7TのエンドユーザID及びパスワードを認証画面(図示せず)に入力し、仮想マシンVMにログインする必要がある。利用者名は、エンドユーザの名称である。
利用者マスタ7Tは、エンドユーザサービスID1及びエンドユーザサービスID2の各列を含む。エンドユーザサービスID1及びエンドユーザサービスID2は、共に図5におけるサービス一覧テーブル2TのエンドユーザサービスIDと同じである。
図15における利用者マスタ7Tの例では、エンドユーザサービスIDの列が2列用意されている。しかし、利用者マスタ7TにおけるエンドユーザサービスIDの列数は、エンドユーザが利用するエンドユーザサービスの数に応じて、変更されてよい。
図16は、利用者別ユーザ課金利益テーブル8Tのレコードレイアウトの一例を示す説明図である。利用者別ユーザ課金利益テーブル8Tは、エンドユーザに対してエンドユーザサービスを利用させるか否かを判定するためのテーブルである。利用者別ユーザ課金利益テーブル8Tは、エンドユーザID、エンドユーザサービスID、当月ユーザ課金額、先月ユーザ課金額、先月利益額及び縮退状況フラグの各列を含む。
エンドユーザIDは、利用者マスタ7TのエンドユーザIDと同じである。エンドユーザサービスIDは、利用者マスタ7TのエンドユーザサービスID1及びエンドユーザサービスID2と同じである。当月ユーザ課金額は、当月1日から当日までエンドユーザサービス提供会社がエンドユーザに提供したエンドユーザサービスに基づいて、エンドユーザに課したユーザ課金額を集計したものである。先月ユーザ課金額は、先月にエンドユーザサービス提供会社がエンドユーザに提供したエンドユーザサービスに基づいて、エンドユーザに課したユーザ課金額を集計したものである。
先月利益額は、先月にエンドユーザサービス提供会社がエンドユーザに提供したエンドユーザサービスに基づいて、エンドユーザに課したユーザ課金額に対応する利益額を集計したものである。当月ユーザ課金額、先月ユーザ課金額及び先月利益額は、利用者別ユーザ課金履歴テーブル50T及び利用者別利益履歴テーブル60Tに基づいて、制御部11により集計され、利用者別ユーザ課金利益テーブル8Tに書き込まれる。
縮退状況フラグは、エンドユーザにエンドユーザサービスを提供するか否かを判別するためのフラグである。縮退状況フラグは、利用可及び利用不可を含む。
利用可は、エンドユーザが利用者マスタ7TのエンドユーザサービスID1及びエンドユーザサービスID2に対応するエンドユーザサービスの提供を受けることができる状態を示す。縮退状況が利用可である場合、サービス提供装置10は仮想マシンVMによるリソース使用に対して何ら制限をしない。縮退状況が利用可である場合、そのエンドユーザが利用するエンドユーザサービスの状況は、図5におけるサービス一覧テーブル2Tのサービス稼働状況が稼働である場合と同じである。
利用者別ユーザ課金利益テーブル8Tの縮退状況フラグには、利用可がデフォルトで設定される。
利用不可は、エンドユーザが利用者マスタ7TのエンドユーザサービスID1及びエンドユーザサービスID2に対応するエンドユーザサービスの提供を受けることができない状態を示す。縮退状況が利用不可である場合、そのエンドユーザが利用するエンドユーザサービスの状況は、図5におけるサービス一覧テーブル2Tのサービス稼働状況がメンテナンスである場合と同じである。制御部11は、利用者別ユーザ課金利益テーブル8T、サービス縮退テーブル40T等に基づいて、エンドユーザサービスを縮退する対象のエンドユーザを抽出し、抽出したエンドユーザに対応する利用者別ユーザ課金利益テーブル8Tの縮退状況フラグを利用不可に更新する。
サービス提供装置10は、縮退状況が利用不可である場合、エンドユーザが端末装置4を介して仮想マシンVMにログインしたとき、例えば「只今利用できません」というメッセージを示すメンテナンス画面のみを端末装置4に送信する。
図17は、サービス縮退テーブル40Tのレコードレイアウトの一例を示す説明図である。サービス縮退テーブル40Tは、エンドユーザサービスの縮退に関して縮退条件と縮退処理とを関連付けて登録するテーブルである。サービス提供装置10は、サービス縮退テーブル40Tに基づいて、どのような場合にどのような縮退処理を実行するかを判定する。
サービス縮退テーブル40Tは、縮退条件1、縮退条件3及び縮退処理の各列を含む。縮退条件1は、図7におけるサービス縮退テーブル4Tの縮退条件1と同じである。すなわち、サービス縮退テーブル40Tの縮退条件1は、図6に示したクラウド使用量限度額マスタ3Tに記録された限度額に掛けられる割合又は数値である。縮退条件の1つは、あるエンドユーザサービスのために仮想マシンVMが使用したリソースに課せられた当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額に上記割合又は数値を掛けた金額を超えることである。
なお、縮退条件1には、クラウド使用量限度額マスタ3Tの限度額に上記割合又は数値を予め掛けた金額が格納されていてもよい。
縮退条件3は、縮退条件1に重畳して追加される条件である。縮退条件3は、例えばエンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がエンドユーザ各々に対応する先月ユーザ課金額のうち、下位20%に入ることである。縮退条件3は、例えばエンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がエンドユーザ各々に対応する先月ユーザ課金額のうち、下位40%に入ることである。縮退条件3により、ユーザ課金額が低いエンドユーザサービスを優先して縮退処理することができる。
縮退処理は、縮退条件1及び縮退条件3に該当するエンドユーザに提供するエンドユーザサービスの停止に係る処理の内容である。具体的な縮退処理は、メンテナンスである。メンテナンスは、図5のサービス一覧テーブル2Tのサービス稼働状況におけるメンテナンスと同じである。
図17におけるサービス縮退テーブル40Tの先頭レコードにおける縮退条件は、次の通りである。すなわち、縮退条件1は、あるエンドユーザサービスを提供するためにエンドユーザサービス提供会社に提供されたクラウドサービスに対する当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の50%を超えることである。縮退条件3は、エンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がエンドユーザ各々に対応する先月ユーザ課金額のうち、下位20%に入ることである。
図17におけるサービス縮退テーブル40Tの2行目のレコードにおける縮退条件は、次の通りである。すなわち、縮退条件1は、あるエンドユーザサービスを提供するためにエンドユーザサービス提供会社に提供されたクラウドサービスに対する当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の70%を超えることである。縮退条件3は、エンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がエンドユーザ各々に対応する先月ユーザ課金額のうち、下位40%に入ることである。
図17におけるサービス縮退テーブル40Tの3行目のレコードにおける縮退条件は、次の通りである。すなわち、縮退条件1は、あるエンドユーザサービスを提供するためにエンドユーザサービス提供会社に提供されたクラウドサービスに対する当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の100%を超えることである。縮退条件3は、エンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がエンドユーザ各々に対応する先月ユーザ課金額のうち、下位60%に入ることである。
図18は、利用者別ユーザ課金履歴テーブル50Tのレコードレイアウトの一例を示す説明図である。利用者別ユーザ課金履歴テーブル50Tは、エンドユーザが利用したエンドユーザサービスに対するユーザ課金を、エンドユーザ別、エンドユーザサービス別に1日単位で記録するテーブルである。サービス提供装置1は、毎日1回決められた時刻に、1日分のエンドユーザサービスに関するユーザ課金情報を集計し、集計して生成したレコードを利用者別ユーザ課金履歴テーブル50Tに挿入するバッチ処理を実行している。
利用者別ユーザ課金履歴テーブル50Tは、エンドユーザID、利用者名、エンドユーザサービスID、エンドユーザサービス名、日付、契約者名及びユーザ課金額の各列を含む。エンドユーザサービスID及び利用者名は、夫々利用者マスタ7TのエンドユーザID及び利用者名と同じである。エンドユーザサービスIDは、利用者マスタ7TのエンドユーザサービスID1及びエンドユーザサービスID2と同じである。
利用者別ユーザ課金履歴テーブル50Tは、エンドユーザID、エンドユーザサービスID及び日付毎にレコードを格納する。そのため、利用者マスタ7TのエンドユーザサービスID1及びエンドユーザサービスID2の両方にエンドユーザサービスIDが格納されている場合、利用者別ユーザ課金履歴テーブル50Tには、エンドユーザ毎に2件ずつレコードが挿入される。エンドユーザサービス名は、サービス一覧テーブル2Tのエンドユーザサービス名と同じである。契約者名は、サービス一覧テーブル2Tの契約者名と同じである。ユーザ課金額は、あるエンドユーザサービスの提供を受けたエンドユーザに課せられたユーザ課金額である。ユーザ課金額の単位は、例えば円、セント、分等である。
図19は、利用者別利益履歴テーブル60Tのレコードレイアウトの一例を示す説明図である。利用者別利益履歴テーブル60Tは、エンドユーザが利用したエンドユーザサービスに対するエンドユーザサービス提供会社の利益を、エンドユーザ別、エンドユーザサービス別に1日単位で記録するテーブルである。
利用者別利益履歴テーブル60Tは、エンドユーザID、利用者名、エンドユーザサービスID、エンドユーザサービス名、日付、契約者名及び利益額の各列を含む。各列のうち、利益額以外の列は、利用者別ユーザ課金履歴テーブル50Tにおいて対応する各列と同じである。利益額は、利用者別ユーザ課金履歴テーブル50Tのユーザ課金額に対してエンドユーザサービス提供会社がエンドユーザから売り上げた売上高及び経費に基づく利益の金額である。利益額の単位は、例えば円、セント、分等である。
次に、サービス提供装置10の動作について説明する。
図20及び図21は、エンドユーザ抽出処理の手順の一例を示すフローチャートである。図20及び図21は、エンドユーザサービスの提供を中止する対象のエンドユーザを抽出する処理に関する。
なお、図20及び図21の処理は、リアルタイムで実行されてもよいし、バッチ処理で実行されてもよい。
制御部11は、利用者別ユーザ課金履歴テーブル50Tから日付が先月のレコードを抽出し、抽出したレコードをエンドユーザIDでマージし、エンドユーザ毎に先月のユーザ課金額を集計する(ステップS201)。制御部11は、エンドユーザ各々について集計した先月ユーザ課金額を利用者別ユーザ課金利益テーブル8Tの先月ユーザ課金額に書き込む(ステップS202)。
制御部11は、ステップS202で書き込んだ利用者別ユーザ課金利益テーブル8Tのレコードをエンドユーザ毎に先月ユーザ課金額の昇順に並べ替えることにより、先月ユーザ課金額が昇順に並んだ先月ユーザ課金額リストを生成する(ステップS203)。なお、ステップS201からステップS203におけるユーザ課金は、エンドユーザサービス提供会社がエンドユーザに課したユーザ課金である。
制御部11は、サービス一覧テーブル2Tにおいてカーソルを次行のレコードへ移動し、1つのエンドユーザサービスを選択する(ステップS204)。なお、ステップS204の最初の処理において、制御部11はサービス一覧テーブル2Tの先頭レコードからエンドユーザサービスを選択する。制御部11は、リソース課金料金マスタ1Tを参照し、選択したエンドユーザサービスを提供するために仮想マシンVMが当日(処理日の午前0時から現時刻まで)に使用したリソースに対応するリソース課金額を算出する(ステップS205)。
制御部11は、サービス別リソース課金履歴テーブル5Tを参照し、選択したエンドユーザサービスにおける当月1日から昨日までのリソース課金額を集計する(ステップS206)。制御部11は、ステップS205で求めたリソース課金額とステップS206で求めたリソース課金額とを合算し、当月リソース課金額を算出する(ステップS207)。なお、ステップS205からステップS207におけるリソース課金額は、クラウドサービス会社がエンドユーザサービス提供会社に課したリソース課金である。
制御部11は、ステップS207で算出した当月リソース課金額、クラウド使用量限度額マスタ3T及びサービス縮退テーブル40Tを参照し、処理対象のエンドユーザサービスが縮退条件1を満たすか否かを判定する(ステップS208)。すなわち、制御部11は、ステップS207で算出した当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の一定割合を超えるか否かを判定する。ここでの一定割合は、サービス縮退テーブル40Tの縮退条件1における割合又は数値である。
なお、図17のサービス縮退テーブル40Tには、縮退条件1が複数登録されている。制御部11は、サービス縮退テーブル40Tにおけるレコード数だけ、ステップS208を繰り返す。従って、図20では示されていないが、実際には制御部11は縮退条件1に係る入れ子のループ処理を実行する。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たさないと判定した場合(ステップS208:NO)、ステップS204に処理を戻す。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たすと判定した場合(ステップS208:YES)、利用者マスタ7Tにおいてカーソルがある行のエンドユーザIDを選択する(ステップS209)。なお、ステップS209の最初の処理において、制御部11は利用者マスタ7Tの先頭レコードからエンドユーザIDを選択する。
制御部11は、処理対象のエンドユーザサービスの提供を受けたエンドユーザのエンドユーザIDがステップS209で選択したエンドユーザIDである場合、当該エンドユーザが縮退条件3を満たすか否かを判定する(ステップS210)。すなわち、制御部11は、処理対象のエンドユーザサービスの提供を受けたエンドユーザに課した先月ユーザ課金額がステップS203で生成した先月ユーザ課金額リストにおいて先頭から一定割合の範囲に入るか否かを判定する。ここでの一定割合の範囲は、サービス縮退テーブル40Tの縮退条件3における数値である。
制御部11は、処理対象のエンドユーザサービスが縮退条件3を満たさないと判定した場合(ステップS210:NO)、利用者マスタ7Tのカーソルを次行に移動し(ステップS211)、ステップS209に処理を戻す。制御部11は、処理対象のエンドユーザサービスが縮退条件3を満たすと判定した場合(ステップS210:YES)、処理中のエンドユーザサービスID、エンドユーザID及び縮退処理を対応付けてRAM13に動的配列として記憶する(ステップS212)。ステップS212の処理は、エンドユーザサービスを停止する実行対象であるエンドユーザを抽出する処理である。ここでの縮退処理は、サービス縮退テーブル40Tの縮退処理であり、具体的にはメンテナンスモードの設定に該当する。
制御部11は、利用者マスタ7Tにおいてカーソル行が最終行にあるか否かを判定する(ステップS213)。制御部11は、利用者マスタ7Tにおいてカーソル行が最終行にないと判定した場合(ステップS213:NO)、利用者マスタ7Tのカーソルを次行に移動し(ステップS214)、ステップS209に処理を戻す。制御部11は、利用者マスタ7Tにおいてカーソル行が最終行にあると判定した場合(ステップS213:YES)、サービス一覧テーブル2Tにおいてカーソルが最終行にあるか否かを判定する(ステップS215)。
制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にないと判定した場合(ステップS215:NO)、利用者マスタ7Tのカーソルを先頭行に移動し(ステップS216)、ステップS204に処理を戻す。制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にあると判定した場合(ステップS215:YES)、ステップS217に処理を進める。制御部11は、ステップS212でエンドユーザサービスID、エンドユーザID及び縮退処理を対応付けて記憶した動的配列を参照し、利用者別ユーザ課金利益テーブル8Tの縮退状況フラグに利用不可を書き込み(ステップS217)、処理を終了する。
ステップS210において、制御部11は、先月ユーザ課金額を縮退条件3の判定に利用した。しかし、制御部11は、先月利益額を、エンドユーザを抽出するための条件に採用してもよい。そのためには、サービス縮退テーブル4Tにおける縮退条件2の先月ユーザ課金額部分を先月利益額に置換する。そして、図20及び図21の処理において、先月ユーザ課金額に関する部分を先月利益額に変更する。
具体的には、例えば利益を縮退条件3に取り入れるためには、ステップS209の準備として、ステップS201において制御部11は、利用者別利益履歴テーブル60Tを参照することにより、先月利益額を集計する。また、ステップS203において制御部11は、先月利益額リストを生成する。
同様に、例えば売上を縮退条件3に取り入れるためには、過去のユーザ課金に対応する売上を記憶するテーブルを別途用意すればよい。ここでの売上は、エンドユーザがエンドユーザサービスの提供に対してエンドユーザサービス提供会社に実際に支払ったサービス料である。
ステップS217において、制御部11は利用者別ユーザ課金利益テーブル8Tの縮退状況フラグに、エンドユーザ毎に利用不可を書き込んでもよいし、エンドユーザ毎及びエンドユーザサービス毎に利用不可を書き込んでもよい。
縮退状況フラグにエンドユーザ毎及びエンドユーザサービス毎に利用不可を書き込む場合、制御部11はステップ201において、エンドユーザID及びエンドユーザサービスID毎に先月のユーザ課金額をマージする。制御部11は、ステップS202において、エンドユーザサービス毎にエンドユーザ各々について集計した先月ユーザ課金額を利用者別ユーザ課金利益テーブル8Tの先月ユーザ課金額に書き込む。制御部11は、ステップ203において、エンドユーザサービス毎に、エンドユーザ各々の先月ユーザ課金額を昇順に並べ替えた先月ユーザ課金額リストを生成する。そして、以降の処理においても、制御部11は、エンドユーザサービス別、エンドユーザ別に処理を実行する。
図22は、利用者サービス提供分岐処理の手順の一例を示すフローチャートである。図22は、図20及び図21で抽出したエンドユーザに対してエンドユーザサービスの提供を停止する処理である。
なお、図20、図21及び図22は、全体としてエンドユーザサービスに係る縮退処理の手順の一例を示すフローチャートである。
制御部11は、端末装置4からエンドユーザID及びパスワードを受け付ける(ステップS301)。制御部11は、受け付けたエンドユーザID及びパスワードが利用者マスタ7Tに登録されているか否かを判定する(ステップS302)。制御部11は、受け付けたエンドユーザID及びパスワードが利用者マスタ7Tに登録されていないと判定した場合(ステップS302:NO)、ログインエラー画面を端末装置4に送信し(ステップS303)、処理を終了する。
制御部11は、受け付けたエンドユーザID及びパスワードが利用者マスタ7Tに登録されていると判定した場合(ステップS302:YES)、利用者別ユーザ課金利益テーブル8Tの縮退状況フラグが利用不可か否かを判定する(ステップS304)。制御部11は、利用者別ユーザ課金利益テーブル8Tの縮退状況フラグが利用不可であると判定した場合(ステップS304:YES)、メンテナンス画面を端末装置4に送信し(ステップS305)、処理を終了する。メンテナンス画面は、例えば「只今利用できません」というメッセージが表示される画面である。
制御部11は、利用者別ユーザ課金利益テーブル8Tの縮退状況フラグが利用不可でないと判定した場合(ステップS304:NO)、エンドユーザIDに対応する仮想マシンVMと端末装置4とを接続し(ステップS306)、処理を終了する。エンドユーザIDに対応する仮想マシンVMとは、送信されてきたエンドユーザIDに対応するエンドユーザが要求するエンドユーザサービスに係る情報を生成する仮想マシンVMである。
図23は、サービス提供装置10による縮退処理の動作を示す説明図である。図23Aは、縮退処理実行前のサービス提供システムの状態を示す説明図である。図23Bは、縮退処理実行後のサービス提供システムの状態を示す説明図である。図23におけるサービスA、B、C、Dはエンドユーザサービスを意味している。
縮退処理を実行する前段階では、サービスA、B、C、Dは、エンドユーザサービスに対する先月のユーザ課金と無関係にエンドユーザサービスがエンドユーザに提供されている。エンドユーザによるエンドユーザサービスの利用量が増大するに従い、仮想マシンVMが使用するリソース量が増大し、クラウドサービス提供会社からエンドユーザサービス提供会社へのクラウドサービスに伴うリソース課金が肥大する。そして、エンドユーザサービスによっては、クラウドサービスのリソース課金がサービス縮退テーブル40Tの縮退条件1を超える。
しかし、縮退処理実行後には、ユーザ課金実績(例えば、先月のユーザ課金額)の低いエンドユーザから順に、エンドユーザサービスの提供が停止される。
サービス提供装置10によれば、エンドユーザサービスの提供に係るエンドユーザへのユーザ課金に基づいて、クラウドサービス提供会社及びエンドユーザサービス提供会社が被るユーザ課金に係るリスクを低減することができる。
エンドユーザに課せられたユーザ課金実績がサービス縮退テーブル40Tの縮退条件3に該当する場合、当該エンドユーザへのエンドユーザサービスの提供は停止される。そのため、停止したエンドユーザサービスの提供に係るリソースの使用は抑制され、結果としてその分だけクラウドサービス提供会社からエンドユーザサービス提供会社へのリソース課金が減少する。他方、エンドユーザに課せられたユーザ課金がサービス縮退テーブル40Tの縮退条件3に該当しない場合、当該エンドユーザへのエンドユーザサービスの提供は継続され、エンドユーザサービス提供会社は、当該エンドユーザから売上を得ることができる。このように、サービス提供装置10は、エンドユーザへのユーザ課金実績に基づいてエンドユーザ毎にエンドユーザサービスの提供を最適化することにより、クラウドサービス提供会社及びエンドユーザサービス提供会社が被るリスクを低減する。
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
実施の形態3は、エンドユーザサービス毎にエンドユーザサービス提供会社へのリソース課金が一定金額を超えた場合、アプリケーションプログラム2Pを実行する仮想マシンVMのスペックを下げる形態に関する。また、実施の形態3は、エンドユーザサービス毎にエンドユーザサービス提供会社へのリソース課金が一定金額を超えた場合、エンドユーザに提供するエンドユーザサービスの内容を縮退する形態に関する。
図24は、サービス提供装置100のハードウェア構成例を示すブロック図である。サービス提供装置100は、制御部11、ROM12、RAM13、ハードディスク14、ディスクドライブ15、表示部16、操作部17及び送受信部18を含む。サービス提供装置100のハードウェア各部は、バス1bを介して相互に接続されている。サービス提供装置100のハードウェアに係る各構成部の構成及び機能は、図2に示したサービス提供装置1のハードウェアに係る各構成部の構成及び機能と同じなので、その詳細な説明を省略する。
ハードディスク14は、制御部11が実行するプログラム4P、サービス縮退テーブル400T等を記憶している。
図25は、サービス提供装置100の機能構成例を示す機能ブロック図である。図25の各機能部は、制御部11がハードディスク14に記録されたプログラム4P及びアプリケーションプログラム2Pに基づいて動作することにより実行される。
サービス提供装置100は、生成部11VM、送受信部f18、算出部11a、サービス抽出部11b、移動部11e及び変更部11fを含む。生成部11VM、送受信部f18、算出部11a、サービス抽出部11bの機能は、図3に示した各機能部の機能と同じである。
移動部11eは、エンドユーザサービスを提供するために仮想マシンVMが使用するリソースがサービス縮退テーブル400Tの縮退条件1に該当する限度額を超えた場合、当該仮想マシンVMで動作する生成部11VMの機能を他の仮想マシンVMに移動する。
変更部11fは、エンドユーザサービスを提供するために仮想マシンVMが使用するリソースがサービス縮退テーブル400Tの縮退条件1に該当する限度額を超えた場合、生成部11VMに対して生成するエンドユーザサービスに係る情報を縮退させる。ここでのエンドユーザサービスに係る情報の縮退は、例えば端末装置4に送信するウェブページのサイズ縮小、エンドユーザサービス提供時間の短縮等である。
例えば、変更部11fが生成部11VMにエンドユーザサービス提供時間の短縮を実行させる場合、変更部11fは次の処理を実行する。
仮に、仮想マシンVMがエンドユーザにエンドユーザサービスを24時間提供している場合、変更部11fは、エンドユーザサービスの提供開始から例えば2時間が経過した場合、メンテナンス画面を端末装置4に送信する。変更部11fは、メンテナンス画面送信後、端末装置4からのサービス提供要求を遮断する。
図26は、サービス縮退テーブル400Tのレコードレイアウトの一例を示す説明図である。サービス縮退テーブル400Tは、クラウドサービス及びエンドユーザサービスの縮退に関して縮退条件と縮退処理とを関連付けて登録するテーブルである。サービス縮退テーブル400Tは、縮退条件1、縮退処理及びサービス縮退処理詳細の各列を含む。
縮退条件1は、図7におけるサービス縮退テーブル4Tの縮退条件1と同じである。縮退処理は、縮退条件1に該当するエンドユーザサービスを提供する仮想マシンVMの変更又はエンドユーザサービスの縮退を含む。仮想マシンVMの変更は、クラウドサービス提供会社がエンドユーザサービス提供会社へ提供するクラウドサービスの縮退に該当する。
サービス縮退処理詳細は、縮退処理のより具体的な処理の内容である。サービス縮退処理詳細は、縮退処理が仮想マシンの変更である場合、例えば仮想マシンVMのスペック引き下げである。具体的には、エンドユーザサービス提供会社に割り当てられた仮想マシンVMが仮想マシンハイパフォーマンスタイプである場合、より処理能力が低いCPU110による仮想マシンスタンダードタイプへ変更される。あるいは、エンドユーザサービス提供会社に割り当てられた仮想マシンVMが仮想マシンスタンダードタイプである場合、より処理能力が低いCPU110による仮想マシンエコノミータイプへ変更される。
サービス縮退処理詳細は、縮退処理がサービス縮退である場合、ウェブページの縮小、エンドユーザサービス提供時間の短縮である。
なお、図26に示すサービス縮退処理詳細は、縮退処理がサービス縮退である場合、ウェブページに埋め込まれたコンテンツの縮小、出力ログファイルの数又はその内容の縮小等であってもよい。ここでのウェブページに埋め込まれたコンテンツの縮小は、例えば動画ファイルの内容を表示する部品のサイズの縮小、音声ファイルの内容を再生する再生時間の短縮等である。
また、エンドユーザ縮退テーブル400Tは、図7におけるサービス縮退テーブル4Tの縮退条件2と同じ列を含んでもよい。かかる場合、制御部11は縮退条件1及び縮退条件2に基づいて、縮退処理を実行する。
図27は、クラウドサービス及びエンドユーザサービスに係る縮退処理の手順の一例を示すフローチャートである。図27は、エンドユーザサービス単位でクラウドサービス及びエンドユーザサービスを縮退する処理に関する。
制御部11は、サービス一覧テーブル2Tにおいてカーソルを次行のレコードへ移動し、1つのエンドユーザサービスを選択する(ステップS301)。なお、ステップS301の最初の処理において、制御部11はサービス一覧テーブル2Tの先頭レコードからエンドユーザサービスを選択する。制御部11は、リソース課金料金マスタ1Tを参照し、選択したエンドユーザサービスを提供するために仮想マシンVMが当日(処理日の午前0時から現時刻まで)に使用したリソースに対応するリソース課金額を算出する(ステップS302)。制御部11は、サービス別リソース課金履歴テーブル5Tを参照し、選択したエンドユーザサービスにおける当月1日から昨日までのリソース課金額を集計する(ステップS303)。制御部11は、ステップS302で求めたリソース課金額とステップS303で求めたリソース課金額とを合算し、当月リソース課金額を算出する(ステップS304)。
制御部11は、ステップS304で算出した当月リソース課金額、クラウド使用量限度額マスタ3T及びサービス縮退テーブル400Tを参照し、処理対象のエンドユーザサービスが縮退条件1を満たすか否かを判定する(ステップS305)。すなわち、制御部11は、ステップS304で算出した当月リソース課金額がクラウド使用量限度額マスタ3Tの限度額の一定割合を超えるか否かを判定する。ここでの一定割合は、サービス縮退テーブル400Tの縮退条件1における割合又は数値である。
なお、図26のサービス縮退テーブル400Tには、縮退条件1が複数登録されている。かかる場合、制御部11は、サービス縮退テーブル400Tにおけるレコード数だけ、ステップS305を繰り返す。従って、図27では示されていないが、実際には制御部11は縮退条件1に係る入れ子のループ処理を実行する。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たさないと判定した場合(ステップS305:NO)、ステップS301に処理を戻す。
制御部11は、処理対象のエンドユーザサービスが縮退条件1を満たすと判定した場合(ステップS305:YES)、処理中のエンドユーザサービスIDと縮退処理とを対応付けてRAM13に動的配列として記憶する(ステップS306)。ステップS306の処理は、縮退処理の実行対象であるエンドユーザサービスを抽出する処理である。ここでの縮退処理は、サービス縮退テーブル400Tのサービス縮退処理詳細である。すなわち、ステップS306において、仮想マシンVMのスペックを下げるエンドユーザサービス又は提供サービス内容が縮退されるエンドユーザサービスが抽出される。
制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にあるか否かを判定する(ステップS307)。制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にないと判定した場合(ステップS307:NO)、ステップS301に処理を戻す。制御部11は、サービス一覧テーブル2Tにおいてカーソルが最終行にあると判定した場合(ステップS307:YES)、縮退条件1に応じた縮退処理を実行し(ステップS308)、処理を終了する。
サービス提供装置100によれば、エンドユーザサービス単位でエンドユーザサービス提供会社に課するリソース課金がサービス縮退テーブル400Tの縮退条件1を満たした場合、クラウドサービス又はエンドユーザサービスの縮退を実行することができる。
仮想マシンVMの変更により、割り当てられるCPU110は縮退される。エンドユーザサービスの内容を縮退することにより、仮想マシンVMが使用するリソースは縮退される。こうして、クラウドサービス提供会社からエンドユーザサービス提供会社へのリソース課金額は低減される。
本実施の形態3は以上の如きであり、その他は実施の形態1、2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態4
実施の形態4は、クラウドサービス又はエンドユーザサービスの縮退処理を実行するか否かを判定する縮退条件である限度額をエンドユーザサービス提供会社の利益に応じて変更する形態に関する。ここでの限度額は、仮想マシンVMが例えば当月に使用したリソースに対するリソース課金の限度額である。また、利益は、エンドユーザサービス提供会社がエンドユーザサービスの提供によりエンドユーザから得た例えば先月の利益である。
図28は、サービス提供装置101のハードウェア構成例を示すブロック図である。サービス提供装置101は、制御部11、ROM12、RAM13、ハードディスク14、ディスクドライブ15、表示部16、操作部17及び送受信部18を含む。サービス提供装置101のハードウェア各部は、バス1bを介して相互に接続されている。サービス提供装置101のハードウェアに係る各構成部の構成及び機能は、図2に示したサービス提供装置1のハードウェアに係る各構成部の構成及び機能と同じなので、その詳細な説明を省略する。
ハードディスク14は、制御部11が実行するプログラム5P、サービス縮退テーブル401T等を記憶している。
図29は、サービス提供装置101の機能構成例を示す機能ブロック図である。サービス提供装置101は、図3に示した各機能部及び利益額算出部11gを含む。利益額算出部11gは、エンドユーザサービスの提供により、エンドユーザサービス提供会社が取得した利益の一定割合額を算出する機能部である。
利益額算出部11gは、エンドユーザサービス提供会社が取得した利益を、エンドユーザサービス提供会社が管理する経理関係のテーブル(図示せず)から取得する。また、利益額算出部11gは、取得した利益に掛ける数値又は割合をサービス縮退テーブル401Tから取得する。利益額算出部11gは、取得した利益と数値又は割合とから、利益の一定割合額を算出する。
サービス抽出部11bは、クラウドサービス又はエンドユーザサービスを縮退するためにエンドユーザサービスを抽出する。サービス抽出部11bは、算出部11aが算出した当月のリソース課金額、クラウド使用量限度額マスタ3T及びサービス縮退テーブル4Tを参照し、エンドユーザサービスを抽出する1回目の処理を実行する。
その際、サービス抽出部11bは、クラウド使用量限度額マスタ3T及びサービス縮退テーブル4Tを参照し、算出した限度額に利益額算出部11gが算出した利益の一定割合額を加算した新たな限度額を当月リソース課金額と比較する。サービス抽出部11bは、比較結果に基づいて、エンドユーザサービスを抽出する1回目の処理を実行する。
図30は、サービス縮退テーブル401Tのレコードレイアウトの一例を示す説明図である。サービス縮退テーブル401Tは、クラウドサービス及びエンドユーザサービスの縮退に関して縮退条件と縮退処理とを関連付けて登録するテーブルである。サービス縮退テーブル401Tは、縮退条件1、限度額加算率、縮退条件2、縮退処理及びリソース縮退処理詳細の各列を含む。限度額加算率以外の列は、図7におけるサービス縮退テーブル4Tの各列と同じである。
限度額加算率は、クラウド使用量限度額マスタ3Tに記録された限度額と縮退条件1の数値又は割合とを積算して得られた限度額に、上乗せされる限度額を算出するための数値又は割合である。上乗せされる限度額は、エンドユーザサービス提供会社がエンドユーザサービスの提供により得た利益に限度額加算率を乗じた金額である。図30のサービス縮退テーブル401Tにおける先頭レコードの場合、新たな限度額は、クラウド使用量限度額マスタ3Tの限度額の50%に、エンドユーザサービス提供会社がエンドユーザサービスの提供により得た利益の2%を加算した金額である。従って、エンドユーザサービス提供会社に提供されたクラウドサービスに対する当月リソース課金額が新たな限度額を超えた場合、当該エンドユーザサービスは縮退条件1を満たすことになる。
なお、図30のサービス縮退テーブル401Tにおける限度額加算率は、どのレコードについても2%である。しかし、これは一例であり、縮退条件1、縮退条件2及び縮退処理に鑑みて、限度額加算率には、レコード毎に異なる数値又は値が適宜設定されてよいことは勿論である。
実施の形態4におけるクラウドサービス及びエンドユーザサービスに係る縮退処理の手順は、図10及び図11のステップS108を除き、図10及び図11に示した手順と同じである。以下、ステップS108における処理のみを説明する。
ステップS108において、制御部11は、クラウド使用量限度額マスタ3Tの限度額の一定割合と、エンドユーザサービスの提供によりエンドユーザサービス提供会社が得た利益の一定割合とを加算し、新たな限度額を算出する。
ここでのクラウド使用量限度額マスタ3Tの限度額の一定割合は、クラウド使用量限度額マスタ3Tの限度額とサービス縮退テーブル401Tの縮退条件1における数値又は割合との積である。また、エンドユーザサービスの提供によりエンドユーザサービス提供会社が得た利益の一定割合は、当該利益とサービス縮退テーブル401Tの限度額加算率における数値又は割合との積である。
制御部11は、ステップS107で算出した当月リソース課金額が、算出した新たな限度額を超えるか否かを判定し、ステップS108の処理を終了する。
サービス提供装置101によれば、エンドユーザサービスの提供に基づく利益に応じて、クラウドサービス及びエンドユーザサービスに係る縮退処理を実行する条件の1つである限度額が変更される。
クラウドサービス提供会社がクラウドサービスの提供に係るリソース課金によりリスクを被る確率は、エンドユーザサービス提供会社の利益が大きいほど低くなる。そこで、クラウドサービス提供会社がエンドユーザサービス提供会社に課す当月リソース課金額と比較される対象の限度額に、エンドユーザサービスの利益を応じた金額を加算することにより、経理の実情に則した縮退処理が可能となる。
本実施の形態4は以上の如きであり、その他は実施の形態1乃至3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
物理資源が割り当てられた仮想計算機が動作する情報処理装置において、
前記仮想計算機はサービスに係る情報を生成する生成部を有し、
該生成部がサービスに係る情報を生成するために前記仮想計算機が使用した前記物理資源の使用量に応じて物理資源課金額を算出する算出部と、
該算出部が算出した物理資源課金額を記憶する記憶部と、
前記算出部が所定期間に算出した物理資源課金額が所定の限度額を超えた場合、前記記憶部が記憶する物理資源課金額に基づいて、前記仮想計算機に割り当てる前記物理資源を縮退する縮退部と
を備える情報処理装置。
(付記2)
前記物理資源は、前記生成部が生成したサービスに係る情報の送信及び該情報に対する送信要求の受信を、ネットワークを介して行う送受信部を更に有する
付記1に記載の情報処理装置。
(付記3)
前記生成部は複数のサービスに係る情報を生成し、
前記算出部は前記生成部により生成された情報に係るサービス毎に物理資源課金額を算出し、
前記記憶部は限度額及び所定の割合を関連付けて記憶し、かつ前記算出部によりサービス毎に算出された物理資源課金額若しくは該物理資源課金額に対応する利益額並びに前記複数のサービスに係るサービスリスト情報を記憶し、
前記算出部が所定期間についてサービス毎に算出した物理資源課金額が前記記憶部に記憶された限度額を超えた場合、該記憶部が記憶する物理資源課金額又は利益額が低い方から該記憶部に記憶された割合に該当するサービスを前記記憶部に記憶されたサービスリスト情報から抽出するサービス抽出部を備え、
前記縮退部は前記サービス抽出部により抽出されたサービスに係る情報を前記生成部に生成させるために前記仮想計算機が使用する前記物理資源を縮退する
付記2に記載の情報処理装置。
(付記4)
前記サービス抽出部は前記記憶部が記憶する物理資源課金額又は利益額がゼロであるサービスを抽出し、
前記サービス抽出部が抽出したサービスに係る前記仮想計算機の動作を停止又は終了させる動作制御部を備える
付記3に記載の情報処理装置。
(付記5)
前記生成部は複数のサービスに係る情報を生成し、
前記仮想計算機は、前記送受信部を用いて外部の複数の端末装置と情報を送受信することにより、該端末装置毎に夫々対応する一又は複数の利用者に前記生成部が生成した情報に係るサービスを提供し、
前記算出部は前記生成部が生成した情報に係るサービス毎に前記仮想計算機が使用した前記物理資源の使用量に応じた物理資源課金額を算出し、
前記記憶部は限度額及び所定の割合を関連付けて記憶し、かつサービスを利用する利用者に課した利用者課金額若しくは該利用者課金額に対応する利益額並びに該利用者に係る利用者リスト情報を記憶し、
前記算出部が所定期間についてサービス毎に算出した物理資源課金額が前記記憶部に記憶された限度額を超えた場合、該記憶部が記憶する利用者課金額又は利益額が低い方から該記憶部に記憶された割合に該当する利用者を前記記憶部に記憶された利用者リスト情報から抽出する利用者抽出部を備え、
前記送受信部は前記利用者抽出部が抽出した利用者に対応する前記端末装置へのサービスに係る情報の送信を停止する
付記2に記載の情報処理装置。
(付記6)
前記送受信部は前記利用者抽出部が抽出した利用者に対応する前記端末装置へサービスの停止に係るメッセージを送信する
付記5に記載の情報処理装置。
(付記7)
前記仮想計算機は情報処理能力が異なる複数の種類を含み、
前記算出部が所定期間についてサービス毎に算出した物理資源課金額が前記記憶部に記憶された限度額を超えた場合、前記生成部の機能を情報処理能力がより低い仮想計算機に移動する移動部を備える
付記3から付記6までのいずれか一つに記載の情報処理装置。
(付記8)
前記生成部は、前記算出部が所定期間についてサービス毎に算出した物理資源課金額が前記記憶部に記憶された限度額を超えた場合、生成するサービスの内容を変更するようにしてある
付記3から付記7までのいずれか一つに記載の情報処理装置。
(付記9)
サービスを利用した利用者に課した利用者課金額に対応する利益額を算出する利益額算出部を備え、
前記サービス抽出部は、前記算出部が所定期間について算出した物理資源課金額が前記記憶部に記憶された限度額及び前記利益額算出部が算出した利益額を加算した金額を超えた場合サービスを抽出し、
前記縮退部は前記サービス抽出部が抽出したサービスに関して前記仮想計算機が使用する前記物理資源を縮退する
付記3又は付記4に記載の情報処理装置。
(付記10)
サービスを利用した利用者に課した利用者課金額に対応する利益額を算出する利益額算出部を備え、
前記利用者抽出部は、前記算出部が所定期間について算出した物理資源課金額が前記記憶部に記憶された限度額及び前記利益額算出部が算出した利益額を加算した金額を超えた場合利用者を抽出し、
前記送受信部は前記利用者抽出部が抽出した利用者に対応する前記端末装置への送信を停止する
付記5又は付記6に記載の情報処理装置。
(付記11)
前記物理資源として中央処理装置、主記憶装置及び補助記憶装置を備え、
前記算出部は、前記中央処理装置の使用量、前記主記憶装置若しくは補助記憶装置の使用量又は前記送受信部を介した情報の送受信量に応じて物理資源課金額を算出する
付記2から付記9までのいずれか一つに記載の情報処理装置。
(付記12)
前記中央処理装置を複数備え、
前記送受信部を用いて外部のデータベースと接続する複数の接続部を更に備え、
前記縮退部は、前記仮想計算機に割り当てる前記中央処理装置の数の低減、前記送受信部が単位時間に送受信する情報の送受信量の低減又は前記仮想計算機に割り当てる前記接続部の割り当て数の低減を実行する
付記10に記載の情報処理装置。
(付記13)
情報処理装置で動作する仮想計算機に割り当てる物理資源を縮退する縮退方法において、
所定期間に前記仮想計算機が使用した前記物理資源の使用量に応じて物理資源課金額を算出し、
算出した物理資源課金額が所定の限度額を超えた場合、前記仮想計算機が使用した前記物理資源の使用量に応じた物理資源課金額又は該物理資源課金額に対応する利益額が記憶された記憶部の内容に基づいて、前記仮想計算機に割り当てる前記物理資源を縮退する
縮退方法。
(付記14)
コンピュータで動作する仮想計算機に割り当てる物理資源を縮退する処理を該コンピュータに実行させるプログラムにおいて、
所定期間に前記仮想計算機が使用した前記物理資源の使用量に応じて物理資源課金額を算出し、
算出した物理資源課金額が所定の限度額を超えた場合、前記仮想計算機が使用した前記物理資源の使用量に応じた物理資源課金額又は該物理資源課金額に対応する利益額が記憶された記憶部の内容に基づいて、前記仮想計算機に割り当てる前記物理資源を縮退する
処理をコンピュータに実行させるプログラム。
(付記15)
物理資源を使用してサービスに係る情報を生成する仮想計算機が動作する情報処理装置と、
該情報処理装置と接続され、前記仮想計算機が情報を生成するために使用するデータベースサーバと、
前記情報処理装置と接続され、前記仮想計算機が生成した情報を送信するウェブサーバと
を備える情報処理システムにおいて、
前記情報処理装置は、
前記仮想計算機が使用した前記物理資源の使用量に応じて物理資源課金額を算出する算出部と、
該算出部が算出した物理資源課金額又は該物理資源課金額に対応する利益額を記憶する記憶部と、
前記算出部が所定期間における前記物理資源の使用について算出した物理資源課金額が所定の限度額を超えた場合、前記記憶部が記憶する物理資源課金額又は利益額に基づいて、前記データベースサーバ又はウェブサーバとの接続を切断する切断部と
を有する情報処理システム。