(57)【要約】【課題】情報処理装置と連携したデータ処理を行う処理提供装置に、データ処理が開始される前に資源の確保または解放の要求を送信することで、処理提供装置の応答性能を向上させる。【解決手段】画像処理システムにおいて、画像形成装置１は、予め算出された量に応じて、仮想マシン２０の確保または解放の要求をサービス提供装置２に送信する（図１（ａ））。サービス提供装置２は、画像形成装置１から送信された要求に応じて、仮想マシン２０を確保または解放する（図１（ｂ））。画像形成装置１は、仮想マシン２０の確保または解放がされた後に、画像データをサービス提供装置２に送信する（図１（ｃ））。サービス提供装置２は、クラウドサービスにおける情報処理が行われた画像データを画像形成装置１に送信する（図１（ｄ））。【選択図】図１
2015087935.tif 000002
【特許請求の範囲】
【請求項１】
データ処理の負荷に応じて異なる量の資源を利用する処理提供装置と通信する通信手段と、
前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出する算出手段と、
前記算出された量に応じた前記資源の確保または解放の要求を、前記通信手段を介して、前記処理提供装置に送信する送信手段と
を有する情報処理装置。
【請求項２】
前記送信手段は、前記資源の量が算出される度に、前記資源の確保または解放の要求を前記処理提供装置に送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記算出手段は、前記データ処理の指示が受け付けられると、当該データ処理に応じて、前記資源の量を算出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記算出手段は、前記データ処理についてのパラメータの設定が受け付けられると、当該パラメータに応じて、前記資源の量を算出する
ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記データ処理の対象となるデータを取得する取得手段と、
前記取得手段が前記データを取得するのを終える前に、前記データの量を予測する予測手段とを有し、
前記算出手段は、前記予測手段により前記データの量が予測されると、当該データの量に応じて、前記資源の量を算出する
ことを特徴とする請求項２ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記データ処理の対象となるデータを取得する取得手段を有し、
前記算出手段は、前記取得手段により取得されているデータの量が決められた値を超える度に、当該決められた値に応じて、前記資源の量を算出する
ことを特徴とする請求項２ないし４のいずれか１項に記載の情報処理装置。
【請求項７】
前記データ処理の対象となるデータを取得する取得手段を有し、
前記算出手段は、前記取得手段により前記データが取得されると、当該データの量に応じて、前記資源の量を算出する
ことを特徴とする請求項２ないし４のいずれか１項に記載の情報処理装置。
【請求項８】
前記資源の確保の要求が前記送信手段により送信された後に、前記データ処理の開始を妨げる事象の発生を検知する検知手段を有し、
前記送信手段は、前記検知手段により前記事象の発生が検知されると、前記資源の解放の要求を、前記処理提供装置に送信する
ことを特徴とする請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項９】
前記資源の確保の要求が前記送信手段により送信された後に、前記データ処理を開始させるための操作が中止されたことを検知する検知手段を有し、
前記送信手段は、前記データ処理を開始させるための操作が中止されたことが検知されると、前記資源の解放の要求を、前記処理提供装置に送信する
ことを特徴とする請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記通信手段は、前記資源の確保の要求に対する応答として、前記資源が確保されたか否かを示す情報を、前記処理提供装置から取得し、
前記送信手段は、前記通信手段により取得された情報が、前記資源が確保されていないことを示している場合、前記資源の確保の要求を、前記処理提供装置に再び送信する
ことを特徴とする請求項１ないし９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記通信手段は、前記資源の確保の要求に対する応答として、前記資源が確保されない場合には、利用されていない資源の量を示す情報を、前記処理提供装置から取得し、
前記送信手段は、前記通信手段により取得された情報により示された前記資源の量が、自装置が前記データ処理を与えた場合に利用される資源の下限量以上である場合、当該情報により示された量の前記資源の確保の要求を、前記処理提供装置に送信する
ことを特徴とする請求項１ないし９のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置と、データ処理の負荷に応じて異なる量の資源を利用する処理提供装置とを有し、
前記情報処理装置は、
前記処理提供装置と通信する第１の通信手段と、
前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出する算出手段と、
前記算出された量に応じた前記資源の確保または解放の要求を、前記通信手段を介して、前記処理提供装置に送信する送信手段と
を有し、
前記処理提供装置は、
前記情報処理装置と通信する第２の通信手段と、
利用される前記資源の量を管理する管理手段であって、前記情報処理装置により送信された要求に応じて、前記データ処理が開始される前に、前記資源を確保または解放する管理手段と
を有する情報処理システム。
【請求項１３】
コンピュータに、
データ処理の負荷に応じて異なる量の資源を利用する処理提供装置と通信するステップと、
前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出するステップと、
算出された量に応じた前記資源の確保または解放の要求を、前記処理提供装置に送信するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
データの保存またはデータ形式の変換などの各種の情報処理を、クライアント装置に代わってサーバ装置が行うクラウドサービスが知られている。特許文献１には、ホストコンピュータがプリンタにプリント処理を実行させる場合に、プリント処理において使用されるプリンタ内の空きリソースを前もって予約することが記載されている。特許文献２には、ネットワークを介してサービスを提供する端末が、ユーザの予約状況基づいてリソースを確保しておくことが記載されている。特許文献３には、複数のコンピュータと、ストレージシステムとを有するコンピュータシステムにおいて、ユーザの利用特性に応じてパーソナルコンピュータを割り当てる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３３５０５３号公報
【特許文献２】特開２０１０−０２８１９５号公報
【特許文献３】特開２００７−１６４３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、情報処理装置と連携したデータ処理を行う処理提供装置に、データ処理が開始される前に資源の確保または解放の要求を送信することで、処理提供装置の応答性能を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る情報処理装置は、データ処理の負荷に応じて異なる量の資源を利用する処理提供装置と通信する通信手段と、前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出する算出手段と、前記算出された量に応じた前記資源の確保または解放の要求を、前記通信手段を介して、前記処理提供装置に送信する送信手段とを有する。
【０００６】
請求項２に係る情報処理装置は、請求項１に記載の構成において、前記送信手段は、前記資源の量が算出される度に、前記資源の確保または解放の要求を前記処理提供装置に送信することを特徴とする。
【０００７】
請求項３に係る情報処理装置は、請求項２に記載の構成において、前記算出手段は、前記データ処理の指示が受け付けられると、当該データ処理に応じて、前記資源の量を算出することを特徴とする。
【０００８】
請求項４に係る情報処理装置は、請求項２または３に記載の構成において、前記データ処理についてのパラメータの設定が受け付けられると、当該パラメータに応じて、前記資源の量を算出することを特徴とする。
【０００９】
請求項５に係る情報処理装置は、請求項２ないし４のいずれか１項に記載の構成において、前記データ処理の対象となるデータを取得する取得手段と、前記取得手段が前記データを取得するのを終える前に、前記データの量を予測する予測手段とを有し、前記算出手
段は、前記予測手段により前記データの量が予測されると、当該データの量に応じて、前記資源の量を算出することを特徴とする。
【００１０】
請求項６に係る情報処理装置は、請求項２ないし４のいずれか１項に記載の構成において、前記データ処理の対象となるデータを取得する取得手段を有し、前記算出手段は、前記取得手段により取得されているデータの量が決められた値を超える度に、当該決められた値に応じて、前記資源の量を算出することを特徴とする。
【００１１】
請求項７に係る情報処理装置は、請求項２ないし４のいずれか１項に記載の構成において、前記データ処理の対象となるデータを取得する取得手段を有し、前記算出手段は、前記取得手段により前記データが取得されると、当該データの量に応じて、前記資源の量を算出することを特徴とする。
【００１２】
請求項８に係る情報処理装置は、請求項１ないし７のいずれか１項に記載の構成において、前記資源の確保の要求が前記送信手段により送信された後に、前記データ処理の開始を妨げる事象の発生を検知する検知手段を有し、前記送信手段は、前記検知手段により前記事象の発生が検知されると、前記資源の解放の要求を、前記処理提供装置に送信することを特徴とする。
【００１３】
請求項９に係る情報処理装置は、請求項１ないし７のいずれか１項に記載の構成において、前記資源の確保の要求が前記送信手段により送信された後に、前記データ処理を開始させるための操作が中止されたことを検知する検知手段を有し、前記送信手段は、前記データ処理を開始させるための操作が中止されたことが検知されると、前記資源の解放の要求を、前記処理提供装置に送信することを特徴とする。
【００１４】
請求項１０に係る情報処理装置は、請求項１ないし９のいずれか１項に記載の構成において、前記通信手段は、前記資源の確保の要求に対する応答として、前記資源が確保されたか否かを示す情報を、前記処理提供装置から取得し、前記送信手段は、前記通信手段により取得された情報が、前記資源が確保されていないことを示している場合、前記資源の確保の要求を、前記処理提供装置に再び送信することを特徴とする。
【００１５】
請求項１１に係る情報処理装置は、請求項１ないし９のいずれか１項に記載の構成において、前記通信手段は、前記資源の確保の要求に対する応答として、前記資源が確保されない場合には、利用されていない資源の量を示す情報を、前記処理提供装置から取得し、前記送信手段は、前記通信手段により取得された情報により示された前記資源の量が、自装置が前記データ処理を与えた場合に利用される資源の下限量以上である場合、当該情報により示された量の前記資源の確保の要求を、前記処理提供装置に送信することを特徴とする。
【００１６】
請求項１２に係る情報処理システムは、情報処理装置と、データ処理の負荷に応じて異なる量の資源を利用する処理提供装置とを有し、前記情報処理装置は、前記処理提供装置と通信する第１の通信手段と、前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出する算出手段と、前記算出された量に応じた前記資源の確保または解放の要求を、前記通信手段を介して、前記処理提供装置に送信する送信手段とを有し、前記処理提供装置は、前記情報処理装置と通信する第２の通信手段と、利用される前記資源の量を管理する管理手段であって、前記情報処理装置により送信された要求に応じて、前記データ処理が開始される前に、前記資源を確保または解放する管理手段とを有する。
【００１７】
請求項１３に係るプログラムは、コンピュータに、データ処理の負荷に応じて異なる量の資源を利用する処理提供装置と通信するステップと、前記データを前記処理提供装置に送信する前の自装置の処理の段階に応じた複数の時点で、前記処理提供装置が該データの処理に利用する資源の量を算出するステップと、算出された量に応じた前記資源の確保または解放の要求を、前記処理提供装置に送信するステップとを実行させる。
【発明の効果】
【００１８】
請求項１、１２、および１３に係る発明によれば、情報処理装置と連携したデータ処理を行う処理提供装置に、データ処理が開始される前に資源の確保または解放の要求を送信することで、処理提供装置の応答性能を向上させることができる。
請求項２に係る発明によれば、資源の量が算出される度に、処理提供装置により資源が確保され、または解放される。
請求項３に係る発明によれば、サービスの利用の開始の指示が受け付けられると、処理提供装置により資源が確保され、または解放される。
請求項４に係る発明によれば、データ処理についてのパラメータの設定が受け付けられると、処理提供装置により資源が確保され、または解放される。
請求項５に係る発明によれば、データ処理の対象となるデータの量が予測されると、処理提供装置により資源が確保され、または解放される。
請求項６に係る発明によれば、データ処理の対象となるデータの量が決められた値を超える度に、処理提供装置により資源が確保され、または解放される。
請求項７に係る発明によれば、データ処理の対象となるデータが取得されると、処理提供装置により資源が確保され、または解放される。
請求項８に係る発明によれば、データ処理の開始を妨げる事象の発生が検知されると、処理提供装置により資源が解放される。
請求項９に係る発明によれば、データ処理を開始させるための操作が中止されたことが検知されると、処理提供装置により資源が解放される。
請求項１０に係る発明によれば、資源の確保の要求が、資源が確保されるまで処理提供装置に送信される。
請求項１１に係る発明によれば、自装置がデータ処理を与えた場合に利用される資源の下限量以上の量の資源が、処理提供装置により確保される。
【図面の簡単な説明】
【００１９】
【図１】画像処理システムの全体構成を説明する図
【図２】画像処理システムの機能的構成を示すブロック図
【図３】画像形成装置のハードウェア構成を示すブロック図
【図４】サービス提供装置のハードウェア構成を示すブロック図
【図５】画像形成装置が行う処理を示すフローチャート
【図６】ＵＲＬデータの一例を示す図
【図７】確保要求の一例を示す図
【図８】台数算出データＤｐの一例を示す図
【図９】予測式データの一例を示す図
【図１０】解放要求の一例を示す図
【図１１】サービス提供装置が行う処理を示すフローチャート
【図１２】上限台数データの一例を示す図
【図１３】確保台数Ｖｏｐを取得するのに用いるコマンドの一例を示す図
【図１４】サービス提供装置の応答の一例を示す図
【図１５】変形例２に係る画像形成装置の機能的構成を示すブロック図
【図１６】台数算出データＤｉの一例を示す図
【発明を実施するための形態】
【００２０】
図１は、本発明の一実施形態に係る画像処理システム（情報処理システムの一例）の全体構成を説明する図である。画像処理システムは、画像データに関する各種のデータ処理（例えば、画像データの差分の検出、画像データに基づく情報の集計、および画像データの形式の変換など）を行うためのシステムである。画像処理システムは、画像形成装置１（情報処理装置の一例）とサービス提供装置２とを有する。画像形成装置１は、複写機、プリンタ、スキャナ、およびファクシミリなどとして機能する装置である。サービス提供装置２は、サービスを提供するサーバ装置である。本発明において、サービスは１以上の機能を組み合わせることにより提供される。本実施形態において、サービス提供装置２は、サービスの一例としてクラウドサービスを提供する。クラウドサービスとは、データの保存またはデータ形式の変換などの各種の情報処理を行うコンピュータ資源を、通信回線を介して提供するサービスである。サービス提供装置２は、画像データに関する各種のデータ処理を画像形成装置１に代わって行う。サービス提供装置２は、クラウドサービスにおけるデータ処理の負荷に応じて異なる量のコンピュータリソースを利用する。コンピュータリソースとは、サービス提供装置２がクラウドサービスを提供するために用いる物理的または仮想的なコンピュータ資源であって、例えば、仮想化技術を用いることによりサービス提供装置２の内部に設けられた仮想マシンをいう。図１において、サービス提供装置２には、複数台の仮想マシン２０が仮想的に設けられている。サービス提供装置２は、クラウドサービスにおける処理の負荷に応じて異なる台数の仮想マシン２０を利用する。
【００２１】
画像形成装置１とサービス提供装置２とは、インターネットなどの通信回線Ｎを介して相互に接続されている。画像処理システムにおいて、画像形成装置１は、仮想マシン２０の確保または解放の要求をサービス提供装置２に送信する（図１（ａ））。仮想マシン２０の確保または解放の要求とは、サービス提供装置２に仮想マシン２０を確保させ、または解放させることの要求をいう。サービス提供装置２は、画像形成装置１から送信された要求に応じて、仮想マシン２０を確保または解放する（図１（ｂ））。画像形成装置１は、仮想マシン２０の確保または解放がされた後に、画像データをサービス提供装置２に送信する（図１（ｃ））。画像形成装置１は、例えば、原稿を光学的に読み取ることにより取得された画像データをサービス提供装置２に送信する。サービス提供装置２は、クラウドサービスにおける情報処理が行われた画像データを画像形成装置１に送信する（図１（ｄ））。
【００２２】
図１において、仮想マシン２０が確保される場合には、確保を要求するユーザに対して１台あたり何円、または１台あたり何円／時間という形で課金が行われる。確保される仮想マシン２０が多くなるほどユーザが負担する費用は多くなり、また場合によって確保している時間によってもユーザが負担する費用が多くなる。
【００２３】
画像形成装置１から仮想マシン２０の確保の要求を受信したサービス提供装置２は、当該要求により指定された台数の仮想マシン２０の確保を開始する。この仮想マシン２０の確保には時間が掛かる。例えば仮想マシン２０が１台も確保されていない状態から確保する場合、仮想マシン２０の台数に関わらず、仮想マシン２０が確保されていない状態から仮想マシン２０を確保するのに必要な初期化などの処理の時間をｘ１（秒)、１台の仮想マシン２０を確保するために要する時間をｔ１（秒／台)、確保する仮想マシン２０の台数をｐ（台)とすると、ｘ１＋ｔ１×ｐ（秒)の時間が掛かる。
【００２４】
また、既に確保された仮想マシン２０の台数の追加を行う場合、仮想マシン２０を確保している状態から仮想マシン２０を確保するのに必要な初期化などの処理の時間をｘ２（秒）、追加する仮想マシン２０の台数をｑ（台)とすると、ｘ２＋ｔ１×ｑ（秒)の時間が掛かる。
【００２５】
また、既に確保された仮想マシン２０を解放する場合、仮想マシン２０が確保されてい
る状態から仮想マシン２０を解放するのに必要な初期化などの処理の時間をｘ３（秒)、１台の仮想マシン２０を解放するために要する時間をｔ２（秒／台)、解放する仮想マシン２０の台数をｒ（台)とすると、ｘ３＋ｔ２×ｒ（秒）の時間が掛かる。
【００２６】
仮想マシン２０が確保されていない状態から仮想マシン２０を確保するよりも、既に確保された仮想マシン２０に台数を追加する方が必要な処理が少なくなり、また、新たに仮想マシン２０を確保するよりも既に確保した仮想マシン２０を解放する方が処理が少なくなる事が多い。つまりｘ１＞ｘ２＞ｘ３であることが多い。
【００２７】
さらに1台あたりの仮想マシン２０を確保するよりも、１台あたりの仮想マシン２０を解放する方が処理が少なくなる事が多い。つまりｔ１＞ｔ２であることが多い。
【００２８】
図２は、画像処理システムの機能的構成を示すブロック図である。画像形成装置１は、通信手段１１と、取得手段１２と、予測手段１３と、算出手段１４と、送信手段１５とを有する。通信手段１１は、サービス提供装置２と通信する。取得手段１２は、クラウドサービスにおける情報処理の対象となる画像データを取得する。予測手段１３は、取得手段１２が画像データを取得するのを終える前に、画像データの量を予測する。算出手段１４は、サービス提供装置２が画像データの処理に利用する仮想マシン２０の台数を算出する。算出手段１４は、画像データをサービス提供装置２に送信する前の、画像形成装置１における処理の段階に応じた複数の時点で、仮想マシン２０の台数を算出する。算出手段１４は、予測手段１３により画像データの量が予測される場合、当該画像データの量に応じて、仮想マシン２０の台数を算出する。算出手段１４は、また、予測手段１３により画像データの量が予測されない場合、取得手段１２により取得されている画像データの量が決められた値を超える度に、当該決められた値に応じて、仮想マシン２０の台数を算出する。送信手段１５は、算出手段１４により算出された台数に応じて、仮想マシン２０の確保または解放の要求を、サービス提供装置２に送信する。送信手段１５は、仮想マシン２０の確保または解放の要求を、通信手段１１を介して送信する。通信手段１１は、また、取得手段１２により取得された画像データを、仮想マシン２０の確保または解放の要求が送信された後に、サービス提供装置２に送信する。
【００２９】
サービス提供装置２は、通信手段２１と管理手段２２とを有する。通信手段２１は、画像形成装置１と通信する。管理手段２２は、クラウドサービスにおける情報処理に利用される仮想マシン２０の台数を管理する。管理手段２２は、クラウドサービスにおける処理が開始される前に、仮想マシン２０を確保または解放する。
【００３０】
図３は、画像形成装置１のハードウェア構成を示すブロック図である。同図に示したように、画像形成装置１は、制御部１０１と、記憶部１０２と、操作部１０３と、表示部１０４と、画像読取部１０５と、画像形成部１０６と、通信部１０７と、画像処理部１０８とを備える。また、画像形成装置１の各部は、バス１０９に接続されており、このバス１０９を介して各種データの授受を行う。
【００３１】
制御部１０１は、画像形成装置１の各部の動作を制御する手段である。制御部１０１は、ＣＰＵ（Central Processing Unit）などの演算処理装置と、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの記録媒体（主記憶装置）とを備える。ＣＰＵは、ＲＯＭに記憶されている制御プログラムを読み出し、ＲＡＭを作業エリアにして制御プログラムを実行する。制御部１０１は、このように制御プログラムを実行することにより、用紙に画像を形成すること、文書を読み取って文書の画像データを生成すること、通信回線Ｎを介して他の装置と通信を行うことなどを実現する。
【００３２】
記憶部１０２は、データを記憶する手段である。記憶部１０２は、ハードディスク、フ
ラッシュメモリなどの記録媒体（補助記憶装置）を備え、通信部１０７で受信したデータや画像形成装置１で生成されたデータなどを記憶する。また、記憶部１０２は、いわゆるメモリーカードやＵＳＢ（Universal Serial Bus）メモリなどの着脱可能な記録媒体（リムーバブルメディア）と、その記録媒体にデータを読み書きする手段とを含んでもよい。
【００３３】
操作部１０３は、ユーザの操作を受け付ける手段である。操作部１０３は、操作子（ボタン、キーなど）を備え、押下された操作子に応じた制御信号を制御部１０１に供給する。また、操作部１０３は、表示部１０４と、表示部１０４の表示面に重ねて設けられたセンサとを備え、押圧した位置に応じた制御信号を制御部１０１に供給するタッチパネルによって構成されてもよい。
【００３４】
表示部１０４は、情報を表示する手段である。表示装置として例えば液晶ディスプレイを有している。表示部１０４は、制御部１０１の制御の下、画像形成装置１を操作するためのメニュー画面や画像形成装置１に関するデータなどを表示する。
【００３５】
画像読取部１０５は、原稿を読み取って画像データに変換する手段である。画像読取部１０５は、原稿を光学的に読み取り、読み取った原稿の画像を表す画像データを生成する画像読取装置を備えている。画像読取部１０５は、生成した画像データを画像処理部１０８に供給する。本実施形態において、画像読取部１０５は、画像形成装置１の図示しない自動原稿送り機構を構成する原稿トレイに積載された複数枚の原稿から画像を順次読み取るための構成を備える。
【００３６】
画像形成部１０６は、画像を形成する手段である。画像形成部１０６は、電子写真方式によって紙などの記録媒体にトナー像を形成する画像形成機構を具備している。なお、画像形成機構は、電子写真方式に限らず、インクジェット方式などの他の記録方式が用いられてもよい。
【００３７】
通信部１０７は、データを送受信する手段である。通信部１０７は、通信回線Ｎに接続されており、通信回線Ｎに接続されている他の装置と通信を行う通信インターフェースとして機能する。
【００３８】
画像処理部１０８は、画像データに対して画像処理を実行する手段である。ここでいう画像処理とは、例えば、色補正や階調補正である。画像処理部１０８は、画像処理が施された画像データを画像形成部１０６に供給する。
【００３９】
図３において、プログラムを実行している制御部１０１は、予測手段１３、算出手段１４、および送信手段１５の一例である。プログラムを実行している制御部１０１により制御されている画像読取部１０５は、取得手段１２の一例である。プログラムを実行している制御部１０１により制御されている通信部１０７は、通信手段１１の一例である。
【００４０】
図４は、サービス提供装置２のハードウェア構成を示すブロック図である。同図に示したように、サービス提供装置２は、制御部２０１と、記憶部２０２と、通信部２０３とを備えるコンピュータである。また、サービス提供装置２の各部は、バス２０４に接続されており、このバス２０４を介して各種データの授受を行う。
【００４１】
制御部２０１は、サービス提供装置２の各部の動作を制御する手段である。制御部２０１は、ＣＰＵなどの演算処理装置と、ＲＯＭ、ＲＡＭなどの記録媒体（主記憶装置）とを備える。記憶部２０２は、データを記憶する手段である。記憶部１０２は、ハードディスク、フラッシュメモリなどの記録媒体（補助記憶装置）を備え、通信部２０３で受信したデータを記憶する。通信部２０３は、データを送受信する手段である。通信部２０３は、
通信回線Ｎに接続されており、通信回線Ｎに接続されている他の装置と通信を行う通信インターフェースとして機能する。なお、サービス提供装置２は、必ずしも物理的に１台のコンピュータでなくてもよく、複数台のコンピュータを組み合わせることにより構成されてもよい。図４において、プログラムを実施している制御部２０１は、管理手段２２の一例である。プログラムを実行している制御部２０１により制御されている通信部２０３は、通信手段２１の一例である。
【００４２】
図５は、画像形成装置１が行う処理を示すフローチャートである。ステップＳＡ１において、制御部１０１は、クラウドサービスの利用を開始させるための指示（以下、「サービス開始指示」という）の入力を受け付ける。サービス開始指示は、ユーザが操作部１０３を操作することにより入力される。表示部１０４には、例えば、利用可能な複数のクラウドサービスが表示され、ユーザはこの中から利用するクラウドサービスを選択する。ステップＳＡ２において、制御部１０１は、ユーザにより指定されたクラウドサービスを提供するサービス提供装置２を特定する。具体的には、制御部１０１は、記憶部１０２に記憶された、クラウドサービスの種類とサービス提供装置２のＵＲＬ（Uniform Resource Locator）との対応を示すデータ（以下、「ＵＲＬデータ」という）に基づいて、ユーザにより指定されたクラウドサービスを提供するサービス提供装置２のＵＲＬを特定する。制御部１０１は、特定されたサービス提供装置２のＵＲＬをＲＡＭに記憶する。
【００４３】
図６は、ＵＲＬデータの一例を示す図である。ＵＲＬデータは、「クラウドサービス」および「送信先」の要素を含む。「クラウドサービス」は、クラウドサービスの種類を表す。図６のＵＲＬデータにおいては、クラウドサービスＡ、Ｂ、およびＣがクラウドサービスとして示されている。クラウドサービスＡ、Ｂ、およびＣは、それぞれ異なるサービス提供装置２により提供される。「送信先」は、サービス提供装置２のＵＲＬを示す。クラウドサービスＡ、Ｂ、およびＣを提供するサービス提供装置２のＵＲＬは、「http://aaa/tenantA/resource」、「http://bbb/tenantB/resource」、および「http://ccc/tenantC/resource」である。
【００４４】
再び図５を参照する。ステップＳＡ３において、制御部１０１は、仮想マシン２０の確保の要求（以下、「確保要求」という）を、サービス提供装置２に送信する。確保要求の送信先は、ＲＡＭに記憶されたサービス提供装置２のＵＲＬにより示される。確保要求には、確保して欲しい仮想マシン２０の台数を示す情報が含まれる。ステップＳＡ３においては、サービスが選択された段階なので、最低限必要な台数（例えば１台）の仮想マシン２０の確保要求がサービス提供装置２に送信される。制御部１０１は、クラウドサービスが対応するプロトコル（例えば、HTTP REST APIまたはSOAP(Simple Object Access Protocol)など）に従って、確保要求を送信する。制御部１０１は、確保の要求をした仮想マシン２０の台数（以下、「通知済台数」という）をＲＡＭに記憶する。
【００４５】
図７は、確保要求の一例を示す図である。図７は、HTTP REST APIに従って送信されるＸＭＬ（Extensible Markup Language)形式の確保要求を示す。図７に示す通り、確保要求には、仮想マシン２０の確保の要求であることを示す情報（第３行目の<record name="addRequest">）と、確保の要求をする仮想マシン２０の台数（第６行目の<string name="value">1</string>）とが含まれる。図７に示す確保要求の例では、１台の仮想マシン２０の確保が要求されている。
【００４６】
再び図５を参照する。ステップＳＡ４において、制御部１０１は、カラースキャンの有無、画像の解像度、および原稿のサイズなどの画像の読み取りに関する各種パラメータの設定を受け付ける。各種パラメータは、ユーザが操作部１０３を操作することにより設定される。制御部１０１は、設定された各種パラメータをＲＡＭに記憶する。ステップＳＡ５において、制御部１０１は、ユーザによる各種パラメータの設定が終了したか否かを判
断する。具体的には、ユーザにより操作部１０３が操作され、各種パラメータの設定を終了するための指示が入力されたか否かを判断する。各種パラメータの設定が終了したと判断された場合（ＳＡ５：ＹＥＳ）、制御部１０１は、処理をステップＳＡ６に移行する。各種パラメータの設定が終了していないと判断された場合（ＳＡ５：ＮＯ）、制御部１０１は、処理をステップＳＡ４に移行する。
【００４７】
ステップＳＡ６において、制御部１０１は、サービス提供装置２において利用されることが予想される仮想マシン２０の台数（以下、「予想台数」という）を、設定された各種パラメータに応じて算出する。具体的には、制御部１０１は、記憶部１０２に記憶された、各種パラメータに応じて予想台数を算出するためのデータ（以下、「台数算出データＤｐ」という）に基づいて、予想台数を算出する。制御部１０１は、算出された仮想マシン２０の予想台数をＲＡＭに記憶する。
【００４８】
図８は、台数算出データＤｐの一例を示す図である。図８（Ａ）は、各クラウドサービスにおいて用いられるパラメータを示している。この例では、クラウドサービスＡからクラウドサービスＣにおいて用いられるパラメータが示されている。図８（Ａ）において「カラー」、「解像度」、および「原稿サイズ」は、画像読み取りの際の色数、画像の解像度、および原稿のサイズをそれぞれ示している。図８（Ａ）において、各サービスには異なるパラメータが用いられている。なお、あるサービスについて、カラー、解像度、および原稿サイズのパラメータのすべてが用いられていなくてもよい。例えば、アンケートの集計などが行われるクラウドサービスであって、カラースキャンが行われることがないクラウドサービスにおいては、カラーのパラメータは用いられなくてもよい。
【００４９】
図８（Ａ）では、カラーのパラメータについて、クラウドサービスＡおよびＣには、カラーＣ１およびＣ２がそれぞれ用いられている。一方で、カラーのパラメータは、クラウドサービスＢでは用いられていない。解像度のパラメータについて、クラウドサービスＡおよびＢには、解像度Ｒ１およびＲ２がそれぞれ用いられている。一方で、解像度のパラメータは、クラウドサービスＣでは用いられていない。原稿サイズのパラメータについて、クラウドサービスＡ、Ｂ、およびＣには、原稿サイズＳ１、Ｓ２、およびＳ３がそれぞれ用いられている。
【００５０】
図８（Ｂ）から図８（Ｄ）は、仮想マシン２０の台数を算出するための式を図８（Ａ）に示したパラメータ毎に示している。図８（Ｂ）は、カラーのパラメータについて、仮想マシン２０の台数を算出するための式を示す。図８（Ｂ）では、カラースキャンの有無に応じて仮想マシン２０の台数が算出される。図８（Ｂ）は、カラーにした際の処理負荷がＣ２よりもＣ１の方がより高い場合の例を示している。図８（Ｂ）では、カラーＣ１において、カラースキャンが行われるときには仮想マシン２０の台数が１台と算出され、白黒スキャンが行われるときには仮想マシン２０の台数が０．２台と算出される。また、カラーＣ２おいて、カラースキャンが行われるときには仮想マシン２０の台数が０．４台と算出され、白黒スキャンが行われる場合には仮想マシン２０の台数が０．２台と算出される。例えば、カラーＣ１が用いられているクラウドサービスＡについて、カラースキャンが有りに設定された場合、仮想マシン２０の台数は１台と算出される。
【００５１】
図８（Ｃ）は、解像度のパラメータについて、仮想マシン２０の台数を算出するための式を示す。図８（Ｃ）では、解像度１００ｄｐｉ（dots per inch）あたりの仮想マシン２０の台数が規定されている。図８（Ｃ）では、解像度Ｒ１の場合は、１００ｄｐｉあたり０．５台、解像度Ｒ２の場合は、１００ｄｐｉあたり０．２台の割合で算出される。例えば、解像度Ｒ１が用いられているクラウドサービスＡについて、解像度が４００ｄｐｉに設定された場合、仮想マシン２０の台数は２台と算出される。
【００５２】
図８（Ｄ）は、原稿サイズのパラメータについて、仮想マシン２０の台数を算出するための式を示す。図８（Ｄ）では、原稿のサイズに応じて仮想マシン２０の台数が算出される。図８（Ｄ）では、原稿サイズＳ１において、原稿のサイズがＡ３の場合には仮想マシン２０の台数が０．４台と算出され、原稿のサイズがＡ４の場合には仮想マシン２０の台数が０．２台と算出される。また、原稿サイズＳ２において、原稿のサイズがＡ３の場合には仮想マシン２０の台数が０．２台と算出され、原稿のサイズがＡ４の場合には仮想マシン２０の台数が０．２台と算出される。さらに、原稿サイズＳ３において、原稿のサイズがＡ３の場合には仮想マシン２０の台数が０．６台と算出され、原稿のサイズがＡ４の場合には仮想マシン２０の台数が０．３台と算出される。例えば、原稿サイズＳ１が用いられているクラウドサービスＡについて、原稿のサイズがＡ３に設定された場合、仮想マシン２０の台数は０．４台と算出される。
【００５３】
図８において、あるクラウドサービスが利用される場合の予想台数は、各パラメータについて算出された仮想マシン２０の台数を加算することにより算出される。例えば、クラウドサービスＡが利用される場合の予想台数は、カラーＣ１、解像度Ｒ１、および原稿サイズＳ１について算出された仮想マシン２０の台数を加算することにより算出される。なお、算出された予想台数のうち小数点以下の値は切り上げられる。より具体的な例として、クラウドサービスＡが利用される場合において、ユーザによりカラースキャンが有りと設定され、解像度が４００ｄｐｉに設定され、且つ、原稿のサイズがＡ３と設定されたとき、予想台数は３．４台（小数点以下を切り上げて４台）と算出される。別の例で、クラウドサービスＢが利用される場合の予想台数は、解像度Ｒ２および原稿サイズＳ２について算出された仮想マシン２０の台数を加算することにより算出される。より具体的な例として、クラウドサービスＢが利用される場合において、解像度が３００ｄｐｉに設定され、且つ、原稿のサイズがＡ４と設定されたとき、予想台数は０．８台（小数点以下を切り上げて１台）と算出される。
【００５４】
再び図５を参照する。ステップＳＡ７において、制御部１０１は、ステップＳＡ６において算出された予想台数と通知済台数との差（以下、「変動数Ｎ１」という）を算出する。具体的には、制御部１０１は、予想台数と通知済台数とをＲＡＭから読み出して、変動数Ｎ１を算出する。例えば、予想台数が４台であり、通知済台数が１台である場合、変動数Ｎ１は３台と算出される。別の例で、予想台数と通知済台数とがともに１台である場合、変動数Ｎ１は０台と算出される。制御部１０１は、算出された変動数Ｎ１を、ＲＡＭに記憶する。ステップＳＡ８において、制御部１０１は、再び、確保要求をサービス提供装置２に送信する。具体的には、制御部１０１は、ＲＡＭから変動数Ｎ１を読み出して、変動数Ｎ１が示す台数の確保要求をサービス提供装置２に送信する。変動数Ｎ１が０台である場合には、制御部１０１は、確保要求を送信しない。ステップＳＡ９において、制御部１０１は、ＲＡＭに記憶された通知済台数を更新する。具体的には、制御部１０１は、通知済台数を、ステップＳＡ６において算出された予想台数に更新する。
【００５５】
ステップＳＡ１０において、制御部１０１は、画像の読み取りを開始させるための指示（以下、「読み取り開始指示」という）の入力を受け付ける。読み取り開始指示は、ユーザが操作部１０３を操作することにより入力される。ステップＳＡ１１において、制御部１０１は、画像の読み取りを開始する。具体的には、原稿トレイには予め複数枚の原稿が積み重ねられており、制御部１０１は、これらの原稿から順次画像を読み取る。制御部１０１は、読み取られた画像の画像データをＲＡＭに記憶する。ステップＳＡ１２において、制御部１０１は、画像形成装置１の図示しない自動原稿送り機構を構成する原稿トレイに積み重ねられたすべての原稿から取得される画像データの量（以下、「画像データの総量」という）を予測するための予測式が記憶されているか否かを判断する。具体的には、制御部１０１は、記憶部１０２に記憶された、予測式を示すデータ（以下、「予測式データ」という）に基づいて、利用が開始されるクラウドサービスについて予測式が記憶され
ているか否かを判断する。予測式が記憶されていると判断された場合（ＳＡ１２：ＹＥＳ）、制御部１０１は、処理をステップＳＡ１３に移行する。予測式が記憶されていないと判断された場合（ＳＡ１２：ＮＯ）、制御部１０１は、処理をステップＳＡ１４に移行する。ステップＳＡ１３において、制御部１０１は、画像データの総量を、予測式を用いて予測する。制御部１０１は、予測された画像データの総量をＲＡＭに記憶する。
【００５６】
図９は、予測式データの一例を示す図である。予測式データは、各クラウドサービスについて、予測式の有無、および予測式を示す。図９に示す予測式データの例では、クラウドサービスＡおよびＢに関して予測式が記憶されており、また、クラウドサービスＣに関して予測式が記憶されていない。図９に示す例で、クラウドサービスＡは、変更前の原稿と変更後の原稿との画像データの差分を検出するための情報処理を行うクラウドサービスである。クラウドサービスＡについては、変更前の原稿から読み取られた画像の画像データの量を２倍することにより、画像データの総量が予測される。なお、この例で、変更前の原稿は、変更後の原稿よりも前に画像が読み取られる。クラウドサービスＡについて予測式が用いられる場合、制御部１０１は、画像読取部１０５により読み取られている原稿が、変更前の原稿から変更後の原稿に切り替わるタイミングを検知して、変更前の原稿から読み取られた画像の画像データの量を取得する。変更前の原稿から変更後の原稿に切り替わるタイミングは、例えば、予め変更前の原稿の枚数を入力した後で変更後の原稿を原稿トレイに積載してタッチパネルのボタンを押した事で検知される。別の例で、変更前の原稿から変更後の原稿に切り替わるタイミングは、既に読み取られた画像と、新たに読み取られた画像とが類似する度合いが決められた閾値を超えたことにより検知される。クラウドサービスＡについて予測式が用いられる例として、変更前の原稿から読み取られた画像の画像データの量が２ＭＢ（メガバイト）である場合、画像データの総量は４ＭＢであると予測される。
【００５７】
図９に示す例で、クラウドサービスＢは、複数枚の原稿のサイズが同じであることが前提とされるクラウドサービス（例えば、アンケートの集計などの情報処理を行うクラウドサービス）である。クラウドサービスＢについては、１枚目の原稿から読み取られた画像の画像データの量に、画像形成装置１の図示しない自動原稿送り機構を構成する原稿トレイに積載された原稿の枚数を乗じることにより、画像データの総量が予測される。なお、画像読取部１０５は、原稿トレイに積載された原稿の枚数を検知するセンサを備えており、制御部１０１は、画像の読み取りが開始される前に当該センサにより原稿の枚数を取得している。クラウドサービスＢについて予測式が用いられる例として、１枚目の原稿から読み取られた画像の画像データの量が０．０５ＭＢであり、原稿トレイに積載された原稿の枚数が３０枚である場合、画像データの総量は１．５ＭＢであると予測される。
【００５８】
再び図５を参照する。ステップＳＡ１４において、制御部１０１は、読み取り中の原稿について、既に読み取られた画像の画像データの積算量をＲＡＭに記憶する。なお、ステップＳＡ１４の処理が行われる場合には、以下に示すステップＳＡ１５からＳＡ１７の処理は、画像データの積算量が決められた量増える度に行われる。
【００５９】
ステップＳＡ１５において、制御部１０１は、ステップＳＡ１３またはＳＡ１４においてＲＡＭに記憶された画像データの総量または画像データの積算量と、予め決められた画像データの量（以下、「画像データ量Ｄ１」という）との差または割合に応じた数（以下、「変動数Ｎ２」という）を算出する。画像データ量Ｄ１は、クラウドサービスの種類ごとに予め記憶部１０２に記憶されている。なお、この画像データ量Ｄ１は、過去にクラウドサービスが利用されたときの画像データの量の履歴に応じて更新されてもよい。制御部１０１は、算出された変動数Ｎ２をＲＡＭに記憶する。
【００６０】
ステップＳＡ１６において、制御部１０１は、確保要求または仮想マシン２０の解放の
要求（以下、「解放要求」という）をサービス提供装置２に送信する。具体的には、制御部１０１は、クラウドサービスが対応するプロトコルに従って、確保要求または解放要求を送信する。解放要求には、解放して欲しい仮想マシン２０の台数を示す情報が含まれる。制御部１０１は、ＲＡＭに記憶された変動数Ｎ２が正である場合には、変動数Ｎ２が示す台数の確保要求をサービス提供装置２に送信する。一方、ＲＡＭに記憶された変動数Ｎ２が負である場合には、変動数Ｎ２が示す台数（ここでは、変動数Ｎ２が示す台数の絶対値）の解放要求をサービス提供装置２に送信する。変動数Ｎ２が０台である場合には、制御部１０１は、確保要求および解放要求を送信しない。なお、上述のステップＳＡ１４の処理が行われた場合には、制御部１０１は、変動数Ｎ２が負であっても解放要求を送信しない。すなわち、ステップＳＡ１４の処理が行われた場合には、制御部１０１は、変動数Ｎ２が正になると、当該変動数Ｎ２が示す台数の確保要求をサービス提供装置２に送信する。
【００６１】
図１０は、解放要求の一例を示す図である。図１０は、ＸＭＬ形成の解放要求を示す。図１０に示す通り、解放要求には、仮想マシン２０の解放の要求であることを示す情報（第３行目の<record name="delRequest">）と、解放の要求をする仮想マシン２０の台数（第６行目の<string name="value">1</string>）とが含まれる。図１０に示す解放要求の例では、１台の仮想マシン２０の解放が要求されている。
【００６２】
再び図５を参照する。ステップＳＡ１７において、制御部１０１は、ＲＡＭに記憶された通知済台数を更新する。具体的には、制御部１０１は、ＲＡＭに記憶された通知済台数の値に変動数Ｎ２を加えた値を、新たな通知済台数としてＲＡＭに記憶する。なお、ステップＳＡ１７の処理は、ステップＳＡ１６において、確保要求または解放要求が送信された場合に行われる。ステップＳＡ１８において、制御部１０１は、原稿トレイに積載されたすべての原稿について画像の読み取りを終了する。ステップＳＡ１９において、制御部１０１は、ＲＡＭに記憶された各種パラメータおよび画像データをサービス提供装置２に送信する。サービス提供装置２は、画像形成装置１から各種パラメータおよび画像データを取得すると、クラウドサービスにおける処理を開始する。
【００６３】
以上の処理により、画像形成装置１からサービス提供装置２に画像データが送信される前に、サービス提供装置２に対して確保要求または解放要求が送信される。また、確保要求または解放要求は、画像形成装置１における処理の進捗が異なる複数のタイミング（すなわち、サービス開始指示の入力を受け付けた後、各種パラメータの設定が終了した後、および、画像データの量が予測された後（または画像データの量が決められた量増えた後））で送信される。したがって、サービス提供装置２に送信される確保要求または解放要求の確度は、クラウドサービスの処理の開始が近づくに連れて高くなる。それにより、画像データの処理に不要な仮想マシン２０の確保を避け、ユーザによる不要な費用の負担が低減される。また、サービス提供装置２が、画像形成装置１から画像データを取得した後に仮想マシン２０の確保を開始した場合に比べて、仮想マシン２０の確保に掛かる時間が短縮される。
【００６４】
図１１は、サービス提供装置２が行う処理を示すフローチャートである。以下の処理は、サービス提供装置２に確保要求または解放要求が送信されたことを契機として開始される。ステップＳＢ１において、制御部２０１は、画像形成装置１から送信された要求が確保要求および解放要求のいずれであるかを判断する。送信された要求が確保要求であると判断された場合、制御部２０１は、処理をステップＳＢ２に移行する。送信された要求が解放要求であると判断された場合、制御部２０１は、処理をステップＳＢ８に移行する。
【００６５】
ステップＳＢ２において、制御部２０１は、仮想マシン２０の台数の上限（以下、「上限台数Ｖｍａｘ」という）を取得する。具体的には、制御部２０１は、記憶部２０２に記
憶された、上限台数Ｖｍａｘを示すデータ（以下、「上限台数データ」という）に基づいて、上限台数Ｖｍａｘを取得する。制御部２０１は、取得した上限台数ＶｍａｘをＲＡＭに記憶する。
【００６６】
図１２は、上限台数データの一例を示す図である。図１２は、クラウドサービスを利用する顧客のサービス毎の上限台数を示している。図１２において、事業者Ａ、Ｄ、およびＥは、それぞれクラウドサービスＡ、Ｄ、およびＥをクラウドサービスとして提供する事業者である。この例で、サービス提供装置２は、クラウドサービスＡ、Ｄ、およびＥを提供する。図１２に示す上限台数データにおいて、クラウドサービスＡ、Ｄ、およびＥを利用する顧客の上限台数Ｖｍａｘは、それぞれ１０台、５台、２台である。図１２に示す上限台数データが用いられる場合、制御部２０１は、確保要求が送信されたクラウドサービスを提供する事業者について、上限台数Ｖｍａｘを取得する。確保要求が送信されたクラウドサービスは、画像形成装置１との通信において用いられているＵＲＬに応じて特定される。なお、クラウドサービスを利用する顧客の上限台数は、顧客毎に異なっていてもよい。この場合、上限台数データは、顧客毎に上限台数を示す。そして、制御部２０１は、確保要求の送信元である画像形成装置１のＩＰアドレス等から顧客を特定し、当該顧客について上限台数Ｖｍａｘを取得する。
【００６７】
再び図１１を参照する。ステップＳＢ３において、制御部２０１は、確保要求が送信されたクラウドサービスを提供する事業者について、確保されている仮想マシン２０の台数（以下、「確保台数Ｖｏｐ」という）を取得する。例えば、OpenStackなどのクラウド基盤ソフトウェア（仮想マシン２０およびストレージなどのサーバ装置の基盤を管理するためのソフトウェア）がサービス提供装置２にインストールされている場合、制御部２０１は、確保されている仮想マシン２０の一覧を取得するためのコマンドを用いて、確保台数Ｖｏｐを取得する。
【００６８】
図１３は、制御部２０１が確保台数Ｖｏｐを取得するのに用いるコマンドの一例を示す図である。図１３では、確保台数Ｖｏｐを取得するコマンドとして「nova list」が用いられている。図１３では、また、ＩＤ「266ec61b-79c7-41cb-ac74-5bed831c5c28」と「223ec6db-fdaf-fdaa-ggrg-fdjkaaf67d8a」により識別される仮想マシン２０が一覧に示されており、確保台数Ｖｏｐは２台である。
【００６９】
再び図１１を参照する。ステップＳＢ４において、制御部２０１は、確保台数Ｖｏｐと、確保要求に含まれた仮想マシン２０の台数（以下、「要求台数Ｖｒｅ」という）との和が、上限台数Ｖｍａｘ以下であるか否かを判断する。確保台数Ｖｏｐと要求台数Ｖｒｅとの和が上限台数Ｖｍａｘ以下であると判断された場合（ＳＢ４：ＹＥＳ）、制御部２０１は、処理をステップＳＢ５に移行する。確保台数Ｖｏｐと要求台数Ｖｒｅとの和が上限台数Ｖｍａｘより大きいと判断された場合（ＳＢ４：ＮＯ）、制御部２０１は、処理をステップＳＢ７に移行する。
【００７０】
ステップＳＢ５において、制御部２０１は、要求台数Ｖｒｅの仮想マシン２０を確保する。ステップＳＢ６において、制御部２０１は、確保要求に対する応答として、仮想マシン２０が確保されたことを画像形成装置１に通知する。ステップＳＢ７において、制御部２０１は、確保要求に対する応答として、仮想マシン２０が確保されていないこと画像形成装置１に通知する。
【００７１】
図１４は、画像形成装置１からの要求に対するサービス提供装置２の応答の一例を示す図である。この例で、サービス提供装置２の応答はＸＭＬ形式であり、仮想マシン２０が確保されていないことが示されている。
【００７２】
再び図１１を参照する。ステップＳＢ８において、制御部２０１は、解放要求により示された台数の仮想マシン２０を解放する。ステップＳＢ９において、制御部２０１は、解放要求に対する応答として、仮想マシン２０が解放されたことを画像形成装置１に通知する。
【００７３】
以上の処理により、サービス提供装置２においては、クラウドサービスの処理が開始される前に、仮想マシン２０が確保または解放される。したがって、画像形成装置１が画像データをサービス提供装置２に送信してからクラウドサービスにおける情報処理が行われた画像データを取得するまでの時間が短縮される。
【００７４】
本発明は、上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち、２つ以上のものが組み合わされて用いられてもよい。
【００７５】
（１）変形例１
予想台数が算出されるタイミングは、実施形態に記載されたタイミングに限らない。予想台数は、例えば、原稿トレイに積み重ねられたすべての原稿から画像データが読み取られ、画像データの総量が確定した後に算出されてもよい。具体的な例として、上述のステップＳＡ１４の処理が行われた場合において、確定した画像データの総量に応じて予想台数が算出されてもよい。この場合、確定した画像データの総量に応じて算出された予想台数と通知済台数との差（以下、「変動数Ｎ３」という）が制御部１０１により算出され、変動数Ｎ３が示す台数の確保要求または解放要求がサービス提供装置２に送信されてもよい。制御部１０１は、変動数Ｎ３が正である場合には、変動数Ｎ３が示す台数の確保要求をサービス提供装置２に送信する。一方、変動数Ｎ３が負である場合には、変動数Ｎ３が示す台数（ここでは、変動数Ｎ３が示す台数の絶対値）の解放要求をサービス提供装置２に送信する。
【００７６】
（２）変形例２
画像形成装置１がサービス提供装置２に解放要求を送信するタイミングは、実施形態に記載されたタイミングに限らない。画像形成装置１は、例えば、原稿から画像を読み取っているときの紙詰まり、または画像読取部１０５の故障など、クラウドサービスにおける処理の開始を妨げる事象が発生した場合に、解放要求を送信してもよい。この場合、制御部１０１は、自動原稿送り機構および画像読取部１０５などの画像形成装置１の各部からエラーを示す信号を取得することにより、当該事象の発生を検知する。なお、制御部１０１は、SNMP(Simple Network Management Protocol) Notificationを利用して、当該事象の発生を検知してもよい。別の例で、画像形成装置１は、クラウドサービスの利用を開始させるための操作が中止された場合に、解放要求を送信してもよい。この場合、制御部１０１は、各種パラメータの設定を受け付ける画面において、ユーザが、クラウドサービスの利用をキャンセルするための指示を入力したこと、ログアウトしたこと、または、当該画面を決められた時間操作していないことなどにより、当該事象の発生を検知する。
【００７７】
図１５は、変形例２に係る画像形成装置１の機能的構成を示すブロック図である。図１５において、画像形成装置１は、図２に示した構成に加えて検知手段１６を有する。この例で、検知手段１６は、確保要求がサービス提供装置２に送信された後に、クラウドサービスにおける処理の開始を妨げる事象の発生を検知する。送信手段１５は、検知手段１６により事象の発生が検知されると、解放要求をサービス提供装置２に送信する。変形例２について、プログラムを実行している制御部１０１は、検知手段１６の一例である。なお、検知手段１６は、確保要求がサービス提供装置２に送信された後に、クラウドサービスの利用を開始させるための操作が中止されたことを検知してもよい。
【００７８】
（３）変形例３
確保要求に対する応答として仮想マシン２０が確保されたか否かを示す情報をサービス提供装置２から取得した画像形成装置１は、当該情報が、仮想マシン２０が確保されていないことを示している場合には、確保要求を再びサービス提供装置２に送信してもよい。この場合、画像形成装置１は、確保要求に対する応答として仮想マシン２０が確保されたことを示す情報をサービス提供装置２から取得した場合に、各種パラメータおよび画像データをサービス提供装置２に送信する。なお、画像形成装置１は、仮想マシン２０が確保されたことを示す情報を取得するまで、確保要求を繰り返し送信してもよい。
【００７９】
（４）変形例４
サービス提供装置２は、確保要求に対する応答として仮想マシン２０が確保されていないこと画像形成装置１に通知する場合に、利用されていない仮想マシン２０の台数（すなわち、上限台数Ｖｍａｘを超えない限度で、未だ確保されていない仮想マシン２０の台数）を示す情報を画像形成装置１に通知してもよい。利用されていない仮想マシン２０の台数は、上限台数Ｖｍａｘと確保台数Ｖｏｐとの差により算出される。この場合、利用されていない仮想マシン２０の台数が、画像形成装置１がクラウドサービスに処理を与えた場合に利用される仮想マシン２０の台数の下限量以上である場合、画像形成装置１は、当該利用されていない仮想マシン２０の台数の確保要求をサービス提供装置２に送信してもよい。
【００８０】
（５）変形例５
サービス提供装置２が提供するサービスは、クラウドサービスに限らない。サービス提供装置２は、オンプレミスのサーバサービス、またはプリントサービスなどを提供してもよい。
【００８１】
（６）変形例６
ステップＳＡ１３において予測された画像データの総量、またはステップＳＡ１４においてＲＡＭに記憶された画像データの積算量に応じて予想台数が算出されてもよい。この場合、ステップＳＡ１５において、制御部１０１は、ステップＳＡ１３またはステップＳＡ１４において算出された予想台数と通知済台数との差を変動数Ｎ２として算出してもよい。変形例６のステップＳＡ１３において、制御部１０１は、例えば、記憶部１０２に記憶された、画像データの総量に応じて予想台数を算出するためのデータ（以下、「台数算出データＤｉ」という）に基づいて、予想台数を算出する。また、変形例６のステップＳＡ１４において、制御部１０１は、画像データの積算量が決められた量（例えば１ＭＢ）増える度に、決められた割合（例えば、画像データの量が１ＭＢにつき０．７台の割合）で予想台数を算出する。なお、算出された予想台数のうち小数点以下の値は切り上げられる。制御部１０１は、算出された予想台数をＲＡＭに上書きする。
【００８２】
図１６は、台数算出データＤｉの一例を示す図である。図１６の台数算出データＤｉは、画像データの総量を予測するための予測式が記憶されたクラウドサービス毎に、予想台数を算出するための式を示す。図１６の例で、クラウドサービスＡについては、画像データの量が１ＭＢにつき０．５台の割合で予想台数が算出される。例えば、クラウドサービスＡについて予測された画像データの総量が４ＭＢである場合、予想台数は２台と算出される。また、クラウドサービスＢについては、画像データの量が１ＭＢにつき１台の割合で予想台数が算出される。例えば、クラウドサービスＢについて予測された画像データの総量が１．５ＭＢである場合、予想台数は１．５台（小数点以下を切り上げて２台）と算出される。
【００８３】
（７）その他の変形例
ステップＳＡ３の確保要求において確保が要求される仮想マシン２０の台数は、クラウ
ドサービスの種類またはサービス提供装置２により異なってもよい。例えば、あるサービス提供装置２には１台の仮想マシン２０の確保が要求され、他のサービス提供装置２には複数台の仮想マシン２０の確保が要求されてもよい。
ステップＳＡ４において、設定が受け付けられる各種パラメータは、実施形態に記載されたパラメータに限らない。
ステップＳＡ６において、仮想マシン２０の台数を算出するために用いられる式は、実施形態に記載された式に限らない。また、ステップＳＡ６において算出された予想台数のうち、少数点以下の端数は切り上げられる場合に限らない。例えば、少数点以下の端数は四捨五入されてもよい。
ステップＳＡ８においてサービス提供装置２に送信される要求は、確保要求に限らない。例えば、ＲＡＭに記憶された変動数Ｎ１が負である場合には、変動数Ｎ１が示す台数（ここでは、変動数Ｎ１が示す台数の絶対値）の解放要求がサービス提供装置２に送信されてもよい。
【００８４】
ステップＳＡ１３において画像データの総量を予測するのに用いられる予測式は、実施形態に記載された予測式に限らない。画像データの総量が予測される式であれば、いかなる予測式が用いられてもよい。
ステップＳＡ１３の処理は行われなくてもよい。この場合、ステップＳＡ１２は省略され、利用が開始されるクラウドサービスについてステップＳＡ１４の処理が行われる。また、ステップＳＡ１４の処理は行われなくてもよい。この場合、ステップＳＡ１２は省略され、利用が開始されるクラウドサービスについてステップＳＡ１３の処理が行われる。
【００８５】
確保要求または解放要求が送信されるタイミングは、実施形態に記載されたタイミングに限らない。確保要求または解放要求は、画像形成装置１の処理の進捗におけるいかなるタイミングで送信されてもよい。
【００８６】
情報処理装置は、画像形成装置１に限らない。情報処理装置は、クライアント装置として機能する他の装置（例えば、パーソナルコンピュータなど）であってもよい。
クラウドサービスにおける処理の対象となる画像データは、複数枚の原稿から読み取られた画像の画像データに限らない。１枚の原稿から読み取られた画像の画像データに対して、クラウドサービスにおける処理が行われてもよい。また、クラウドサービスにおける処理の対象となるデータは、画像データに限らない。
画像形成装置１が画像データを取得する方法は、画像読取部１０５により原稿を読み取る方法に限らない。画像形成装置１は、ネットワークを介して他の情報処理装置から画像データを取得してもよい。また、画像形成装置１は、ＵＳＢメモリなどの着脱可能な記録媒体から画像データを取得してもよい。
【００８７】
コンピュータリソースは、仮想マシン２０に限らない。例えば、サービス提供装置２が複数台のコンピュータを組み合わせることにより構成されている場合、物理的なコンピュータがコンピュータリソースとして扱われてもよい。この場合、確保要求においては決められた台数のコンピュータの確保が要求され、解放要求においては決められた台数のコンピュータの解放が要求される。また、サービス提供装置２が確保・解放するコンピュータリソースは、仮想マシンや物理マシンの台数に限らず、メモリやＨＤＤの容量、ＣＰＵのコア数や使用時間であってもよい。
【００８８】
画像処理システムにおいて用いられる各装置のハードウェア構成は、図３および図４に示した構成に限らない。各装置は、図５および図１１に示した各ステップの処理を実行できれば、どのようなハードウェア構成であってもよい。
【００８９】
実施形態において、画像形成装置１およびサービス提供装置２によって実行されるプロ
グラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータが読み取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットなどのネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００９０】
１…画像形成装置、２…サービス提供装置、２０…仮想マシン、１１…通信手段、１２…取得手段、１３…予測手段、１４…算出手段、１５…送信手段、１６…検知手段、２１…通信手段、２２…管理手段、１０１…制御部、１０２…記憶部、１０３…操作部、１０４…表示部、１０５…画像読取部、１０６…画像形成部、１０７…通信部、１０８…画像処理部、１０９…バス、２０１…制御部、２０２…記憶部、２０３…通信部、２０４…バス
【図１】
2015087935.tif 000003
【図２】
2015087935.tif 000004
【図３】
2015087935.tif 000005
【図４】
2015087935.tif 000006
【図５】
2015087935.tif 000007
【図６】
2015087935.tif 000008
【図７】
2015087935.tif 000009
【図８】
2015087935.tif 000010
【図９】
2015087935.tif 000011
【図１０】
2015087935.tif 000012
【図１１】
2015087935.tif 000013
【図１２】
2015087935.tif 000014
【図１３】
2015087935.tif 000015
【図１４】
2015087935.tif 000016
【図１５】
2015087935.tif 000017
【図１６】
2015087935.tif 000018