(57)【要約】【課題】利用者が要求するサービスレベルを利用者毎に保証する。【解決手段】利用者から要求されたソフトウェア処理を行う処理システムのリソースの使用状況を監視し、監視したリソースの使用状況と、利用者毎にあらかじめ設定された閾値とを比較し、その比較の結果に基づいて、ソフトウェア処理を処理システムに代わって行う。【選択図】図１
2010092411.tif 000002
【特許請求の範囲】
【請求項１】
利用者から要求されたソフトウェア処理をサービスとして提供するサービス提供システムであって、
前記ソフトウェア処理を行う処理システムと、
前記処理システムのリソースの使用状況を監視するリソース監視部と、
あらかじめダウンロードされたソフトウェアを用いて、前記処理システムにおけるソフトウェア処理を代行する処理代行部と、
前記リソース監視部が監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断するＳＬＡ制御部と、
前記ＳＬＡ制御部が判断した結果に基づいて、前記ソフトウェア処理を前記処理システムと前記処理代行部とのどちらか一方に要求するデータプロキシ部とを有するサービス提供システム。
【請求項２】
請求項１に記載のサービス提供システムにおいて、
前記ＳＬＡ制御部は、前記リソース監視部が監視したリソースの使用状況と、前記利用者へ提供するサービス品質のレベルに応じて前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断することを特徴とするサービス提供システム。
【請求項３】
請求項１または請求項２に記載のサービス提供システムにおいて、
前記ＳＬＡ制御部は、前記リソース監視部が監視したリソースの使用状況が前記閾値を超えている場合、前記ソフトウェア処理を前記処理代行部に行わせると判断し、それ以外の場合は、前記ソフトウェア処理を前記処理システムに行わせると判断することを特徴とするサービス提供システム。
【請求項４】
請求項１に記載のサービス提供システムにおいて、
前記リソース監視部は、定期的に前記処理システムのリソースの使用状況を監視することを特徴とするサービス提供システム。
【請求項５】
請求項１または請求項２に記載のサービス提供システムにおいて、
前記利用者を識別するために固有に付与された利用者情報と前記閾値とをあらかじめ対応付けた利用者情報テーブルを有する利用者情報管理部を有し、
前記利用者情報管理部は、前記利用者から前記ソフトウェア処理を要求された際、該利用者の利用者情報に対応する前記閾値を前記利用者情報テーブルから取得し、
前記ＳＬＡ制御部は、前記利用者情報管理部が取得した前記閾値と、前記リソース監視部が監視したリソースの使用状況とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断することを特徴とするサービス提供システム。
【請求項６】
請求項１に記載のサービス提供システムにおいて、
前記処理代行部が前記ソフトウェア処理を行った場合、前記ソフトウェア処理の結果を記憶するデータストア部と、
前記処理代行部が前記ソフトウェア処理を行った後、前記ＳＬＡ制御部が前記ソフトウェア処理を前記処理システムに行わせると判断した場合、前記データストア部から前記結果を取得し、該取得した結果を前記処理システムと同期したタイミングで前記処理システムへ送信するデータ同期部とを有することを特徴とするサービス提供システム。
【請求項７】
利用者が操作する端末と、該利用者から要求されたソフトウェア処理を行う処理システムとに接続されたサーバであって、
前記処理システムのリソースの使用状況を監視するリソース監視部と、
あらかじめダウンロードされたソフトウェアを用いて、前記処理システムにおけるソフトウェア処理を代行する処理代行部と、
前記リソース監視部が監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断するＳＬＡ制御部と、
前記ＳＬＡ制御部が判断した結果に基づいて、前記ソフトウェア処理を前記処理システムと前記処理代行部とのどちらか一方に要求するデータプロキシ部とを有するサーバ。
【請求項８】
請求項７に記載のサーバにおいて、
前記ＳＬＡ制御部は、前記リソース監視部が監視したリソースの使用状況と、前記利用者へ提供するサービス品質のレベルに応じて前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断することを特徴とするサーバ。
【請求項９】
請求項７または請求項８に記載のサーバにおいて、
前記ＳＬＡ制御部は、前記リソース監視部が監視したリソースの使用状況が前記閾値を超えている場合、前記ソフトウェア処理を前記処理代行部に行わせると判断し、それ以外の場合は、前記ソフトウェア処理を前記処理システムに行わせると判断することを特徴とするサーバ。
【請求項１０】
請求項７に記載のサーバにおいて、
前記リソース監視部は、定期的に前記処理システムのリソースの使用状況を監視することを特徴とするサーバ。
【請求項１１】
請求項７または請求項８に記載のサーバにおいて、
前記利用者を識別するために固有に付与された利用者情報と前記閾値とをあらかじめ対応付けた利用者情報テーブルを有する利用者情報管理部を有し、
前記利用者情報管理部は、前記利用者から前記ソフトウェア処理を要求された際、該利用者の利用者情報に対応する前記閾値を前記利用者情報テーブルから取得し、
前記ＳＬＡ制御部は、前記利用者情報管理部が取得した前記閾値と、前記リソース監視部が監視したリソースの使用状況とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断することを特徴とするサーバ。
【請求項１２】
請求項７に記載のサーバにおいて、
前記処理代行部が前記ソフトウェア処理を行った場合、前記ソフトウェア処理の結果を記憶するデータストア部と、
前記処理代行部が前記ソフトウェア処理を行った後、前記ＳＬＡ制御部が前記ソフトウェア処理を前記処理システムに行わせると判断した場合、前記データストア部から前記結果を取得し、該取得した結果を前記処理システムと同期したタイミングで前記処理システムへ送信するデータ同期部とを有することを特徴とするサーバ。
【請求項１３】
利用者から要求されたソフトウェア処理をサービスとして提供するサービス提供方法であって、
前記ソフトウェア処理を行う処理システムのリソースの使用状況を監視する処理と、
前記監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とを比較する比較処理と、
前記比較の結果に基づいて、前記ソフトウェア処理を前記処理システムに代わって行う代行処理とを有するサービス提供方法。
【請求項１４】
請求項１３に記載のサービス提供方法において、
前記比較処理は、前記監視したリソースの使用状況と、前記利用者へ提供するサービス品質のレベルに応じて前記利用者毎にあらかじめ設定された閾値とを比較することを特徴とするサービス提供方法。
【請求項１５】
請求項１３または請求項１４に記載のサービス提供方法において、
前記代行処理は、前記監視したリソースの使用状況が前記閾値を超えている場合、前記ソフトウェア処理を前記処理システムに代わって行うことを特徴とするサービス提供方法。
【請求項１６】
請求項１３または請求項１４に記載のサービス提供方法において、
前記利用者から前記ソフトウェア処理を要求された際、前記利用者を識別するために固有に付与された利用者情報と前記閾値とをあらかじめ対応付けた利用者情報テーブルから、該利用者の利用者情報に対応する前記閾値を取得する処理を有し、
前記比較処理は、前記監視したリソースの使用状況と、前記取得した閾値とを比較することを特徴とするサービス提供方法。
【請求項１７】
請求項１３に記載のサービス提供方法において、
前記ソフトウェア処理を前記処理システムに代わって行った場合、前記ソフトウェア処理の結果を記憶する処理と、
その後、前記比較の結果、前記監視したリソースの使用状況が前記閾値を超えていない場合、前記記憶された結果を前記処理システムと同期したタイミングで前記処理システムへ送信する処理とを有することを特徴とするサービス提供方法。
【請求項１８】
利用者から要求されたソフトウェア処理を行う処理システムのリソースの使用状況を監視する手順と、
前記監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とを比較する比較手順と、
前記比較の結果に基づいて、前記ソフトウェア処理を前記処理システムに代わって行う代行手順とをコンピュータに実行させるプログラム。
【請求項１９】
請求項１８に記載のプログラムにおいて、
前記比較手順は、前記監視したリソースの使用状況と、前記利用者へ提供するサービス品質のレベルに応じて前記利用者毎にあらかじめ設定された閾値とを比較することを特徴とするプログラム。
【請求項２０】
請求項１８または請求項１９に記載のプログラムにおいて、
前記代行手順は、前記監視したリソースの使用状況が前記閾値を超えている場合、前記ソフトウェア処理を前記処理システムに代わって行うことを特徴とするプログラム。
【請求項２１】
請求項１８または請求項１９に記載のプログラムにおいて、
前記利用者から前記ソフトウェア処理を要求された際、前記利用者を識別するために固有に付与された利用者情報と前記閾値とをあらかじめ対応付けた利用者情報テーブルから、該利用者の利用者情報に対応する前記閾値を取得する手順をコンピュータに実行させ、
前記比較手順は、前記監視したリソースの使用状況と、前記取得した閾値とを比較することを特徴とするプログラム。
【請求項２２】
請求項１８に記載のプログラムにおいて、
前記ソフトウェア処理を前記処理システムに代わって行った場合、前記ソフトウェア処理の結果を記憶する手順と、
その後、前記比較の結果、前記監視したリソースの使用状況が前記閾値を超えていない場合、前記記憶された結果を前記処理システムと同期したタイミングで前記処理システムへ送信する手順とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者にサービスを提供するサービス提供システム、サーバ、サービス提供方法およびプログラムに関する。
【背景技術】
【０００２】
一般的に、端末上で所定の処理を行うソフトウェアを利用する場合、利用者は端末のデスクトップ用のソフトウェアを購入して利用することが多い。しかし最近では、利用者はデスクトップ用のソフトウェアを購入するのではなく、当該端末と接続されたネットワーク内のサーバに置かれたソフトウェアをサービスとして利用する技術（ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）が急速に普及してきている。
【０００３】
ここで、上述したＳａａＳに限らず、サーバが接続できる端末数がサーバの接続可能数を超えた場合や、端末から要求された処理がサーバの処理能力を超えた場合等に、端末がサーバと接続できない不具合が生じてしまう。この場合、サーバの接続状況を端末に知らせ、接続可能となった段階で、当該端末とサーバとを接続する技術が考えられている（例えば、特許文献１参照。）。
【特許文献１】特開２００２−１４９５１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたような技術においては、端末とサーバとが接続できない間は、端末が要求する処理を行うことができないという問題点がある。
【０００５】
例えば、通信サービスを提供する事業者が、利用者に提供するサービスの品質を保証するＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）という制度が普及されてきている。このＳＬＡは、通信サービスを提供する事業者が提供可能なサービスレベルに利用者すべてが合意し、同一の料金を支払うものである。このようなＳＬＡが適用されたシステムにおいて、端末が要求する処理を行うことができなくなってしまうと、利用者と合意したサービスレベルを確保（保証）することができなくなってしまうという問題点がある。
【０００６】
また、上述したＳＬＡでは、ＳａａＳのような利用者毎に異なるサービスを提供する場合、利用者毎のサービスレベルを定義することが困難であるという問題点がある。
【０００７】
本発明は、上述した課題を解決するサービス提供システム、サーバ、サービス提供方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は、
利用者から要求されたソフトウェア処理をサービスとして提供するサービス提供システムであって、
前記ソフトウェア処理を行う処理システムと、
前記処理システムのリソースの使用状況を監視するリソース監視部と、
あらかじめダウンロードされたソフトウェアを用いて、前記処理システムにおけるソフトウェア処理を代行する処理代行部と、
前記リソース監視部が監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断するＳＬＡ制御部と、
前記ＳＬＡ制御部が判断した結果に基づいて、前記ソフトウェア処理を前記処理システムと前記処理代行部とのどちらか一方に要求するデータプロキシ部とを有する。
【０００９】
また、利用者が操作する端末と、該利用者から要求されたソフトウェア処理を行う処理システムとに接続されたサーバであって、
前記処理システムのリソースの使用状況を監視するリソース監視部と、
あらかじめダウンロードされたソフトウェアを用いて、前記処理システムにおけるソフトウェア処理を代行する処理代行部と、
前記リソース監視部が監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とに基づいて、前記利用者から要求されたソフトウェア処理を前記処理システムと前記処理代行部とのどちらに行わせるかを判断するＳＬＡ制御部と、
前記ＳＬＡ制御部が判断した結果に基づいて、前記ソフトウェア処理を前記処理システムと前記処理代行部とのどちらか一方に要求するデータプロキシ部とを有する。
【００１０】
また、利用者から要求されたソフトウェア処理をサービスとして提供するサービス提供方法であって、
前記ソフトウェア処理を行う処理システムのリソースの使用状況を監視する処理と、
前記監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とを比較する比較処理と、
前記比較の結果に基づいて、前記ソフトウェア処理を前記処理システムに代わって行う代行処理とを有する。
【００１１】
また、コンピュータに実行させるプログラムであって、
利用者から要求されたソフトウェア処理を行う処理システムのリソースの使用状況を監視する手順と、
前記監視したリソースの使用状況と、前記利用者毎にあらかじめ設定された閾値とを比較する比較手順と、
前記比較の結果に基づいて、前記ソフトウェア処理を前記処理システムに代わって行う代行手順とを実行させる。
【発明の効果】
【００１２】
以上説明したように本発明においては、利用者から要求されたソフトウェア処理を行う処理システムのリソースの使用状況を監視し、監視したリソースの使用状況と、利用者毎にあらかじめ設定された閾値とを比較し、その比較の結果に基づいて、ソフトウェア処理を処理システムに代わって行う構成としたため、サービスを提供するＳａａＳシステムにおいてリソースが不足する状況になった場合であっても、利用者が要求するサービスレベルを利用者毎に保証することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１４】
図１は、本発明のサービス提供システムの実施の一形態を示す図である。
【００１５】
本形態は図１に示すように、ＳａａＳシステム１００と、端末２００−１〜２００−３と、サーバ３００とがネットワーク４００を介して互いに接続された形態となっている。
【００１６】
ＳａａＳシステム１００は、一般的なＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）の技術を用いた処理システムであり、端末２００−１〜２００−３を操作する利用者によって利用されるソフトウェアのサービスを端末２００−１〜２００−３へ提供するものである。
【００１７】
端末２００−１〜２００−３は、通信機能を有する一般的な通信端末であり、利用者の操作によりＳａａＳシステム１００が提供するソフトウェアをサービスとして利用する。端末２００−１〜２００−３は、ソフトウェアを利用する際、当該ソフトウェアの利用を要求するための処理要求信号を送信する。このとき処理要求信号と共に、利用者の利用者情報を送信する。この利用者情報は、利用者や端末２００−１〜２００−３を識別可能な利用者や端末２００−１〜２００−３固有の情報であれば良い。例えば、端末２００−１〜２００−３のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスであっても良いし、また、利用者にあらかじめ付与され、利用者によって端末２００−１〜２００−３に入力されたＩＤ情報であっても良い。
【００１８】
サーバ３００は、端末２００−１〜２００−３から送信されてきた処理要求信号を受信すると、そのソフトウェアの処理をＳａａＳシステム１００へ要求するか、サーバ３００で代行するかを、ＳａａＳシステム１００のリソース情報に応じて判断する。サーバ３００は、当該ソフトウェアの処理を代行すると判断した場合、ＳａａＳシステム１００が提供するソフトウェアの処理を代行する。
【００１９】
なお、端末２００−１〜２００−３の数は、図１において３つで示したが、これに限定しない。
【００２０】
図２は、図１に示したサーバ３００の内部構成の一例を示す図である。
【００２１】
図１に示したサーバ３００には図２に示すように、通信部３０１と、リソース監視部３０２と、データプロキシ部３０３と、ＳＬＡ制御部３０４と、利用者情報管理部３０５と、処理代行部３０６と、データ同期部３０７と、データストア部３０８とが設けられている。
【００２２】
通信部３０１は、ネットワーク４００を介して、ＳａａＳシステム１００や、端末２００−１〜２００−３と通信を行う。
【００２３】
使用状況監視部３０２は、ＳａａＳシステム１００のリソースの使用状況を監視する。リソース監視部３０２は、所定の周期で、ＳａａＳシステム１００へリソース情報を要求するためのリソース情報要求信号を通信部３０１を介して送信する。また、リソース監視部３０２は、その要求に対する応答であるリソース情報をＳａａＳシステム１００から通信部３０１を介して受信する。また、リソース監視部３０２は、ＳａａＳシステム１００から受信したリソース情報をＳＬＡ制御部３０４へ出力する。このリソースの使用状況を示すリソース情報は、ＳａａＳシステム１００のリソース（ＣＰＵの処理能力やメモリの使用領域）のうち、使用されているリソースの割合（リソース使用率）を示すものである。
【００２４】
データプロキシ部３０３は、端末２００−１〜２００−３から通信部３０１を介して送信されてきた処理要求信号と利用者情報とをＳＬＡ制御部３０４へ出力する。また、データプロキシ部３０３は、ＳＬＡ制御部３０４から、当該ソフトウェアの処理をＳａａＳシステム１００で行うと指示された場合、処理要求信号を通信部３０１を介してＳａａＳシステム１００へ送信する。また、データプロキシ部３０３は、ＳＬＡ制御部３０４から、当該ソフトウェアの処理をサーバ３００で行うと指示された場合、処理要求信号を処理代行部３０６へ出力する。
【００２５】
ＳＬＡ制御部３０４は、データプロキシ部３０３から出力された利用者情報に基づいて、利用者情報管理部３０５から当該利用者情報に応じたリソース閾値を取得する。また、取得したリソース閾値と、リソース監視部３０２から出力されたリソース情報とに基づいて、要求されたソフトウェアの処理をＳａａＳシステム１００へ要求するか、サーバ３００で代行するかを判断する。そして、ＳＬＡ制御部３０４は、その判断結果を、どちらで処理するのかの指示としてデータプロキシ部３０３へ出力する。
【００２６】
利用者情報管理部３０５は、利用者情報と、当該利用者が契約しているＳＬＡのレベルを示すＳＬＡ情報とを対応付けて記憶・管理している。また、利用者情報管理部３０５は、ＳＬＡ情報と、ＳａａＳシステム１００のリソース閾値とを対応付けて記憶・管理している。このリソース閾値は、要求されたソフトウェアの処理をＳａａＳシステム１００で処理するか、それともサーバ３００で代行するかを判断するための判断基準である。なお、この２つの対応付け情報は、あらかじめ設定されており、利用者情報テーブルとして記憶・管理されている。
【００２７】
図３は、図２に示した利用者情報管理部３０５に記憶・管理されている利用者情報とＳＬＡ情報との対応付けの一例を示す図である。
【００２８】
図３に示すように利用者情報管理部３０５には、利用者情報とＳＬＡ情報とが対応付けられて記憶・管理されている。
【００２９】
例えば、利用者情報「Ａ」と、ＳＬＡ情報「高価」とが対応付けられて記憶・管理されている。これは、利用者情報が「Ａ」である利用者が契約しているＳＬＡレベルが「高価」であることを示している。また、この「高価」というＳＬＡレベルは、利用者に保障されるサービス品質のレベルが高い（契約料金が「高価」）ものである。
【００３０】
また、利用者情報「Ｂ」と、ＳＬＡ情報「普通」とが対応付けられて記憶・管理されている。これは、利用者情報が「Ｂ」である利用者が契約しているＳＬＡレベルが「普通」であることを示している。また、この「普通」というＳＬＡレベルは、利用者に保障されるサービス品質のレベルが普通（契約料金が「普通」）ものである。
【００３１】
また、利用者情報「Ｃ」と、ＳＬＡ情報「安価」とが対応付けられて記憶・管理されている。これは、利用者情報が「Ｃ」である利用者が契約しているＳＬＡレベルが「安価」であることを示している。また、この「安価」というＳＬＡレベルは、利用者に保障されるサービス品質のレベルが低い（契約料金が「安価」）ものである。
【００３２】
なお、ここでは、ＳＬＡ情報（レベル）として、「高価」、「普通」および「安価」の３つのレベルを一例として示したが、レベルの数はこれに限定しない。
【００３３】
図４は、図２に示した利用者情報管理部３０５に記憶・管理されているＳＬＡ情報とリソース閾値との対応付けの一例を示す図である。
【００３４】
図４に示すように利用者情報管理部３０５には、ＳＬＡ情報とリソース閾値とが対応付けられて記憶・管理されている。
【００３５】
例えば、ＳＬＡ情報「高価」と、リソース閾値「９０％」とが対応付けられて記憶・管理されている。これは、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「９０％」を超える場合、ＳＬＡ情報が「高価」である利用者から要求されたソフトウェアの処理をサーバ３００で代行することを示している。また、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「９０％」以下である場合、ＳＬＡ情報が「高価」である利用者から要求されたソフトウェアの処理をＳａａＳシステム１００で行うことを示している。
【００３６】
また、ＳＬＡ情報「普通」と、リソース閾値「７０％」とが対応付けられて記憶・管理されている。これは、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「７０％」を超える場合、ＳＬＡ情報が「普通」である利用者から要求されたソフトウェアの処理をサーバ３００で代行することを示している。また、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「７０％」以下である場合、ＳＬＡ情報が「普通」である利用者から要求されたソフトウェアの処理をＳａａＳシステム１００で行うことを示している。
【００３７】
また、ＳＬＡ情報「安価」と、リソース閾値「５０％」とが対応付けられて記憶・管理されている。これは、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「５０％」を超える場合、ＳＬＡ情報が「安価」である利用者から要求されたソフトウェアの処理をサーバ３００で代行することを示している。また、ＳａａＳシステム１００におけるリソース使用状況（リソース使用率）が「５０％」以下である場合、ＳＬＡ情報が「安価」である利用者から要求されたソフトウェアの処理をＳａａＳシステム１００で行うことを示している。
【００３８】
なお、ここでは、ＳＬＡ情報（レベル）として、「高価」、「普通」および「安価」の３つのレベルを一例として示したが、レベルの数はこれに限定しない。
【００３９】
また、リソース使用状況として、ＳａａＳシステム１００における空きリソースの割合を示すものであっても良いとは言うまでもない。例えば、利用者情報管理部３０５に、ＳＬＡ情報「高価」とリソース閾値「１０％」とが対応付けられている場合を例にあげる。このとき、ＳａａＳシステム１００におけるリソース使用状況（空きリソースの割合）が「１０％」未満である場合、ＳＬＡ情報が「高価」である利用者から要求されたソフトウェアの処理をサーバ３００で代行することを示している。また、ＳａａＳシステム１００におけるリソース使用状況（空きリソースの割合）が「１０％」以上である場合、ＳＬＡ情報が「高価」である利用者から要求されたソフトウェアの処理をＳａａＳシステム１００で行うことを示している。これは、リソース使用状況としてリソース使用率が用いられるものから容易に計算できるものである。
【００４０】
また、処理代行部３０６は、データプロキシ部３０３から処理要求信号が出力されてきた場合、処理が要求されたソフトウェアの代行処理を行う。
【００４１】
データ同期部３０７は、ＳａａＳシステム１００とサーバ３００との間でデータの同期化を行う。これは、ソフトウェアの処理をＳａａＳシステム１００で行う状態と、サーバ３００で行う状態とにおいて、状態が遷移した際のデータの同期を取るためのものである。
【００４２】
データストア部３０８は、ＳａａＳシステム１００が提供するソフトウェアをあらかじめ記憶する。また、処理代行部３０６が処理した結果やアプリケーションデータを記憶する。
【００４３】
図５は、図２に示したサーバ３００を構成する各構成要素のモジュール構成（処理する情報および処理内容）を示す図である。
【００４４】
図５に示すように、リソース監視部３０２は、ＳａａＳシステム１００から取得したリソース情報をＳＬＡ制御部３０４へ通知（出力）する処理を行う。
【００４５】
ＳＬＡ制御部３０４は、リソース監視部３０２から通知されたリソース情報とデータプロキシ部３０４から出力された利用者情報とに基づいて、データプロキシ部３０３またはＳａａＳシステム１００へ処理委託（ＳＬＡ制御）処理を行う。この処理委託（ＳＬＡ制御）処理は、端末２００−１〜２００−３から要求された処理を、データプロキシ部３０３とＳａａＳシステム１００とのどちらで行うかを判断し、その判断結果をデータプロキシ部３０３へ通知するものである。
【００４６】
利用者情報管理部３０５は、利用者情報テーブルを有し、利用者情報テーブルからＳＬＡ情報（リソース閾値）を取得してＳＬＡ制御部３０３へ出力する処理を行う。
【００４７】
データプロキシ部３０３は、端末２００−１〜２００−３から送信されてきたＳａａＳアプリケーションデータ（処理要求信号）と利用者情報とに基づいて、データプロキシ処理を行う。このデータプロキシ処理は、ＳＬＡ制御部３０４から通知された判断結果に基づいて、利用者情報に対応する端末２００−１〜２００−３から要求された処理について、処理代行部３０６とＳａａＳシステム１００とのどちらか一方へ処理要求信号を出力するものである。
【００４８】
処理代行部３０６は、データプロキシ部３０３から処理要求信号が出力されてきた場合、ＳａａＳアプリケーションデータ（処理要求信号）に基づいて、ＳａａＳアプリケーション処理を行う。
【００４９】
データ同期部３０７は、ＳａａＳアプリケーションデータに基づいて、データ同期処理を行う。このデータ同期処理は、ソフトウェアの処理をＳａａＳシステム１００で行う状態と、サーバ３００で行う状態とにおいて、状態が遷移した際に、ＳａａＳシステム１００とサーバ３００との間でデータの同期を取るためのものである。
【００５０】
データストア部３０８は、ＳａａＳアプリケーションデータに基づいて、ＳａａＳアプリケーションデータ蓄積処理を行う。つまり、処理代行部３０６が処理した結果を記憶（蓄積）する。
【００５１】
以下に、本形態におけるサービス提供方法について説明する。
【００５２】
図６は、本形態におけるサービス提供方法を説明するためのシーケンス図である。なお、図６においては、通信部３０１およびネットワーク４００の記述は省略している。また、ＳａａＳシステム１００のリソース使用状況を示すリソース情報として、リソースの使用率を用いた場合を例に挙げて説明する。
【００５３】
サーバ３００と、ＳａａＳシステム１００との間で、ＳａａＳシステム１００のリソース情報のやり取りが定期的に行われている。
【００５４】
リソース情報の具体的なやり取りの方法は、リソース監視部３０２から通信部３０１を介してＳａａＳシステム１００へリソース情報を要求するためのリソース情報要求信号が送信される（ステップＳ１）。
【００５５】
すると、リソース情報要求信号に対する応答として、ＳａａＳシステム１００からリソース情報がリソース監視部３０２へ送信される（ステップＳ２）。ここで、ＳａａＳシステム１００からリソース監視部３０２へ送信されるリソース情報が「７２％」である場合を例に挙げて説明する。
【００５６】
このリソース情報要求およびその応答であるリソース情報のやり取りは、一般的な装置間で行われるリソース情報のやり取りと同じである。
【００５７】
ＳａａＳシステム１００から送信されたリソース情報が、通信部３０１を介してリソース監視部３０２にて受信されると、受信されたリソース情報がリソース監視部３０２からＳＬＡ制御部３０４へ出力される（ステップＳ３）。
【００５８】
一方、端末２００−１からＳａａＳシステム１００でのソフトウェア処理を要求する処理要求信号と、利用者情報とが送信されると（ステップＳ４）、送信された処理要求信号と利用者情報とが通信部３０１を介してデータプロキシ部３０３にて受信される。ここで、端末２００−１から送信された利用者情報が「Ａ」である場合を例に挙げて説明する。
【００５９】
データプロキシ部３０３にて処理要求信号と利用者情報とが受信されると、受信された処理要求信号と利用者情報とが、データプロキシ部３０３からＳＬＡ制御部３０４へ出力される（ステップＳ５）。
【００６０】
この処理要求信号と利用者情報がＳＬＡ制御部３０４に入力すると、利用者情報がＳＬＡ制御部３０４から利用者情報管理部３０５へ出力される（ステップＳ６）。
【００６１】
すると、利用者情報管理部３０５にて、ＳＬＡ制御部３０４から出力されてきた利用者情報に基づいて、利用者情報テーブルの中からＳＬＡ情報（リソース閾値）が検索される（ステップＳ７）。
【００６２】
以下に、リソース閾値の具体的な検索方法について説明する。ここでは、図３および図４に示した利用者情報テーブルが利用者情報管理部３０５に記憶されている場合を例に挙げて説明する。
【００６３】
まず、ＳＬＡ制御部３０４から出力されてきた利用者情報に基づいて、利用者情報テーブルの中からＳＬＡ情報が検索される。例えば、利用者情報が「Ａ」である場合、利用者情報「Ａ」に基づいてＳＬＡ情報が検索され、利用者情報「Ａ」と対応付けられているＳＬＡ情報「高価」が取得される。また、利用者情報が「Ｂ」である場合、利用者情報「Ｂ」に基づいてＳＬＡ情報が検索され、利用者情報「Ｂ」と対応付けられているＳＬＡ情報「普通」が取得される。また、利用者情報が「Ｃ」である場合、利用者情報「Ｃ」に基づいてＳＬＡ情報が検索され、利用者情報「Ｃ」と対応付けられているＳＬＡ情報「安価」が取得される。
【００６４】
次に、取得されたＳＬＡ情報に基づいて、利用者情報テーブルの中からリソース閾値が検索される。例えば、ＳＬＡ情報が「高価」である場合、ＳＬＡ情報「高価」に基づいてリソース閾値が検索され、ＳＬＡ情報「高価」と対応付けられているリソース閾値「９０％」が取得される。また、ＳＬＡ情報が「普通」である場合、ＳＬＡ情報「普通」に基づいてリソース閾値が検索され、ＳＬＡ情報「普通」と対応付けられているリソース閾値「７０％」が取得される。また、ＳＬＡ情報が「安価」である場合、ＳＬＡ情報「安価」に基づいてリソース閾値が検索され、ＳＬＡ情報「安価」と対応付けられているリソース閾値「５０％」が取得される。
【００６５】
ここでは、端末２００−１から送信されてきた利用者情報が「Ａ」であるため、リソース閾値「９０％」が取得される。
【００６６】
リソース閾値が取得されると、取得されたリソース閾値が利用者情報管理部３０５からＳＬＡ制御部３０４へ出力される（ステップＳ８）。
【００６７】
そして、ＳＬＡ制御部３０４にて、利用者情報管理部３０５から出力されてきたリソース閾値と、ステップＳ３にてリソース監視部３０２から出力されてきたリソース情報とを比較し、その比較の結果に基づいて、端末２００−１から要求されたソフトウェア処理を、サーバ３００（処理代行部３０６）とＳａａＳシステム１００とのどちらに行わせるかが判断される（ステップＳ９）。
【００６８】
以下に、この具体的な判断方法について説明する。
【００６９】
例えば、利用者情報管理部３０５から出力されてきたリソース閾値が「９０％」であり、且つステップＳ３にてリソース監視部３０２から出力されてきたリソース情報が「７２％」である場合、リソース情報がリソース閾値を超えていないため、端末２００−１から要求されたソフトウェア処理をＳａａＳシステム１００に行わせると判断される。また、利用者情報管理部３０５から出力されてきたリソース閾値が「５０％」であり、且つステップＳ３にてリソース監視部３０２から出力されてきたリソース情報が「６３％」である場合、リソース情報がリソース閾値を超えているため、端末２００−１から要求されたソフトウェア処理をサーバ３００（処理代行部３０６）に行わせると判断される。
【００７０】
ここでは、ステップＳ８にて利用者情報管理部３０５から出力されてきたリソース閾値が「９０％」であり、且つステップＳ３にてリソース監視部３０２から出力されてきたリソース情報が「７２％」であるため、端末２００−１から要求されたソフトウェア処理をＳａａＳシステム１００に行わせると判断される。
【００７１】
そして、ＳＬＡ制御部３０４にて行われた判断の判断結果が、ＳＬＡ制御部３０４からデータプロキシ部３０３へ出力される（ステップＳ１０）。
【００７２】
すると、データプロキシ部３０３から通信部３０１を介してＳａａＳシステム１００へソフトウェア処理を要求する処理要求信号が送信される（ステップＳ１１）。
【００７３】
また、端末２００−２からＳａａＳシステム１００でのソフトウェア処理を要求する処理要求信号と、利用者情報とが送信されると（ステップＳ１２）、送信された処理要求信号と利用者情報とが通信部３０１を介してデータプロキシ部３０３にて受信される。ここで、端末２００−２から送信された利用者情報が「Ｂ」である場合を例に挙げて説明する。
【００７４】
データプロキシ部３０３にて処理要求信号と利用者情報とが受信されると、受信された処理要求信号と利用者情報とが、データプロキシ部３０３からＳＬＡ制御部３０４へ出力される（ステップＳ１３）。
【００７５】
この処理要求信号と利用者情報がＳＬＡ制御部３０４に入力すると、利用者情報がＳＬＡ制御部３０４から利用者情報管理部３０５へ出力される（ステップＳ１４）。
【００７６】
すると、利用者情報管理部３０５にて、ＳＬＡ制御部３０４から出力されてきた利用者情報に基づいて、利用者情報テーブルの中からＳＬＡ情報（リソース閾値）が検索される（ステップＳ１５）。
【００７７】
ここでは、端末２００−２から送信されてきた利用者情報が「Ｂ」であるため、リソース閾値「７０％」が取得される。
【００７８】
リソース閾値が取得されると、取得されたリソース閾値が利用者情報管理部３０５からＳＬＡ制御部３０４へ出力される（ステップＳ１６）。
【００７９】
そして、ＳＬＡ制御部３０４にて、利用者情報管理部３０５から出力されてきたリソース閾値と、ステップＳ３にてリソース監視部３０２から出力されてきたリソース情報とに基づいて、端末２００−２から要求されたソフトウェア処理を、サーバ３００（処理代行部３０６）とＳａａＳシステム１００とのどちらに行わせるかが判断される（ステップＳ１７）。
【００８０】
ここでは、ステップＳ１６にて利用者情報管理部３０５から出力されてきたリソース閾値が「７０％」であり、且つステップＳ３にてリソース監視部３０２から出力されてきたリソース情報が「７２％」であるため、端末２００−２から要求されたソフトウェア処理をサーバ３００（処理代行部３０６）に行わせると判断される。
【００８１】
そして、ＳＬＡ制御部３０４にて行われた判断の判断結果が、ＳＬＡ制御部３０４からデータプロキシ部３０３へ出力される（ステップＳ１８）。
【００８２】
すると、データプロキシ部３０３から処理代行部３０６へソフトウェア処理を要求する処理要求信号が出力される（ステップＳ１９）。
【００８３】
その後、処理代行部３０６にて処理要求信号に応じたソフトウェアの代行処理が行われる（ステップＳ２０）。
【００８４】
ここで、処理代行部３０６には、ＳａａＳシステム１００からソフトウェアがあらかじめダウンロードされている。このダウンロードは、定期的に行われるものであっても良いし、利用者から指示された際に行われるものであっても良い。
【００８５】
ただし、処理代行部３０６にダウンロードされているソフトウェアとＳａａＳシステム１００が保有する（処理する）ソフトウェアとには差分がある場合がある。これは、当該ソフトウェアが処理する内容には、ＳａａＳシステム１００でないと処理できないものが存在するからである。そのため、処理代行部３０６にて処理されたアプリケーションデータが処理結果として、処理代行部３０６からデータストア部３０８へ出力されてデータストア部３０８に記憶される（ステップＳ２１）。
【００８６】
その後、処理結果がデータストア部３０８から処理代行部３０６へ出力され（ステップＳ２２）、処理代行部３０６から通信部３０１を介して端末２００−１へ送信される（ステップＳ２３）。
【００８７】
また、上述したようにＳａａＳシステム１００とサーバ３００との間でＳａａＳシステム１００のリソース情報のやり取りが定期的に行われている。ステップＳ１と同様に、リソース監視部３０２から通信部３０１を介してＳａａＳシステム１００へリソース情報を要求するためのリソース情報要求信号が送信される（ステップＳ２４）。
【００８８】
すると、ステップＳ２と同様に、リソース情報要求信号に対する応答として、ＳａａＳシステム１００からリソース情報がリソース監視部３０２へ送信される（ステップＳ２５）。ここで、ＳａａＳシステム１００からリソース監視部３０２へ送信されるリソース情報が「６３％」である場合を例に挙げて説明する。
【００８９】
ＳａａＳシステム１００から送信されたリソース情報が、通信部３０１を介してリソース監視部３０２にて受信されると、受信されたリソース情報がリソース監視部３０２からＳＬＡ制御部３０４へ出力される（ステップＳ２６）。
【００９０】
すると、現在処理中である端末２００−２から要求されたソフトウェア処理を、サーバ３００（処理代行部３０６）とＳａａＳシステム１００とのどちらに行わせるかが、ＳＬＡ制御部３０４にて判断される（ステップＳ２７）。
【００９１】
ここでは、ステップＳ１６にて利用者情報管理部３０５から出力されてきたリソース閾値が「７０％」であり、且つステップＳ２６にてリソース監視部３０２から出力されてきたリソース情報が「６３％」であるため、端末２００−２から要求された処理をＳａａＳシステム１００に行わせると判断される。
【００９２】
すると、ＳＬＡ制御部３０４から処理代行部３０６へ同期要求が出力される（ステップＳ２８）。この同期要求は、今まで処理し、データストア部３０６に記憶しているアプリケーションデータをＳａａＳシステム１００へ送信する際に、ＳａａＳシステム１００と同期を取って送信する必要があるため、ＳａａＳシステム１００との同期を要求するものである。
【００９３】
ＳＬＡ制御部３０４から処理代行部３０６へ出力された同期要求は、さらに処理代行部３０６からデータ同期部３０７へ出力される（ステップＳ２９）。
【００９４】
そして、データ同期部３０７からデータストア部３０８へデータ取得要求が出力される（ステップＳ３０）。
【００９５】
すると、データストア部３０８から端末２００−２についてソフトウェア処理を行っていたアプリケーションデータがデータ同期部３０７へ出力され（ステップＳ３１）、データ同期部３０７にて取得される。そして、取得されたアプリケーションデータが、ＳａａＳシステム１００と同期したタイミングでデータ同期部３０７からアプリケーションデータが通信部３０１を介してＳａａＳシステム１００へ送信される（ステップＳ３２）。
【００９６】
その後、データ同期部３０７から送信されてきたアプリケーションデータに基づいてＳａａＳシステム１００にてソフトウェア処理が行われ、その結果がＳａａＳシステム１００からサーバ３００へ送信される（ステップＳ３３）。
【００９７】
ＳａａＳシステム１００から送信された処理結果は、通信部３０１を介してデータ同期部３０７にて受信され、受信された処理結果がデータ同期部３０７にて同期化処理される（ステップＳ３４）。
【００９８】
この同期化処理は、ＳａａＳシステム１００から送信されてきた処理結果をサーバ３００内部で処理を行うために同期化するものである。
【００９９】
そして、同期化処理された処理結果がデータ同期部３０７からデータプロキシ部３０３へ出力され（ステップＳ３５）、データプロキシ部３０３から通信部３０１を介して端末２００−２へ送信される（ステップＳ３６）。
【０１００】
なお、上述したように、リソース情報が示すＳａａＳシステム１００のリソース使用状況は、リソースの使用率ではなく、空きリソースの割合を示すものであっても良い。
【０１０１】
また、上述したサーバ３００の処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラムをサーバ３００にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをサーバ３００に読み込ませ、実行するものであっても良い。サーバ３００にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、サーバ３００に内蔵されたＲＯＭ、ＲＡＭ等のメモリやＨＤＤ等を指す。この記録媒体に記録されたプログラムは、サーバ３００内のＣＰＵ（不図示）にて読み込まれ、ＣＰＵの制御によって、上述したものと同様の処理が行われる。ここで、ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【０１０２】
また、データプロキシ部３０３と、処理代行部３０６と、データ同期部３０７と、データストア部３０８とが、サーバ３００ではなく、端末２００−１〜２００−３に設けられているものであっても良い。また、それぞれが独立して、別個の装置に設けられているものであっても良い。
【０１０３】
このように、ＳａａＳシステム１００のリソース使用状況と利用者のＳＬＡとに基づいて代行処理を行うことにより、ＳａａＳシステム１００全体のＳＬＡを保証することが可能となる。
【図面の簡単な説明】
【０１０４】
【図１】本発明のサービス提供システムの実施の一形態を示す図である。
【図２】図１に示したサーバの内部構成の一例を示す図である。
【図３】図２に示した利用者情報管理部に記憶・管理されている利用者情報とＳＬＡ情報との対応付けの一例を示す図である。
【図４】図２に示した利用者情報管理部に記憶・管理されているＳＬＡ情報とリソース閾値との対応付けの一例を示す図である。
【図５】図２に示したサーバを構成する各構成要素のモジュール構成（処理する情報および処理内容）を示す図である。
【図６】本形態におけるサービス提供方法を説明するためのシーケンス図である。
【符号の説明】
【０１０５】
１００    ＳａａＳシステム
２００−１〜２００−３    端末
３００    サーバ
３０１    通信部
３０２    リソース監視部
３０３    データプロキシ部
３０４    ＳＬＡ制御部
３０５    利用者情報管理部
３０６    処理代行部
３０７    データ同期部
３０８    データストア部
４００    ネットワーク
【図１】
2010092411.tif 000003
【図２】
2010092411.tif 000004
【図３】
2010092411.tif 000005
【図４】
2010092411.tif 000006
【図５】
2010092411.tif 000007
【図６】
2010092411.tif 000008