(57)【要約】【課題】情報を処理する処理主体の構成を変更する。【解決手段】情報処理装置１０は、処理する情報量の変化にあわせて情報を処理するインスタンス６の構成を変更し、構成が変更された後のインスタンス６に対して、処理する情報を割り付ける。【選択図】図７
2020009246.tif 000002
【特許請求の範囲】
【請求項１】
処理する情報量の変化にあわせて情報を処理する処理主体の構成を変更する変更部と、
前記変更部によって構成が変更された前記処理主体に対して、処理する情報を割り付ける割り付け部と、
を備えた情報処理装置。
【請求項２】
前記変更部は、予め設定された前記情報量の予測値に従って前記処理主体の構成を変更する
請求項１記載の情報処理装置。
【請求項３】
前記情報量の予測値が予め定められた期間毎に設定されている
請求項２記載の情報処理装置。
【請求項４】
前記変更部は、前記処理主体における負荷の度合いが予め定めた期間に亘り継続して予め定めた条件を満たした場合に、前記処理主体の構成を変更する
請求項１〜請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記変更部は、前記負荷の度合いが前記予め定めた期間に亘り継続して予め定めた上限閾値を越えた場合に、前記処理主体の数を増加させる
請求項４記載の情報処理装置。
【請求項６】
前記変更部は、前記負荷の度合いが前記予め定めた期間に亘り継続して予め定めた下限閾値未満となった場合に、前記処理主体の数を減少させる
請求項４又は請求項５記載の情報処理装置。
【請求項７】
前記処理主体がクラウドコンピューティングを用いて構成される
請求項１〜請求項６の何れか１項に記載の情報処理装置。
【請求項８】
前記処理主体に対して、情報の処理能力に応じた単位時間あたりの利用額が予め設定されており、
前記変更部は、前記処理主体の構成を、前記情報量を処理する処理能力を有する複数の前記処理主体の構成のうち、前記処理主体の利用額が抑制される構成に変更する
請求項７記載の情報処理装置。
【請求項９】
コンピュータを、請求項１〜請求項８の何れか１項に記載の情報処理装置の各部として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、クラウドサービス提供装置によって不特定多数の人を対象に提供される複数のクラウドサービスそれぞれの性能指標、付加価値、および料金を含むデータが登録されるクラウド事業者データベースと、前記クラウド事業者データベースに登録された複数のクラウドサービスの内の１つのクラウドサービスを用いて稼動される業務の要求性能、付加条件、および利用者ポリシーを含むデータが登録される業務データベースと、前記性能指標が前記要求性能を満たす最適クラウド候補を前記複数のクラウドサービスの中から抽出し、前記料金と前記付加条件および前記付加価値の一致度とに対して前記利用者ポリシーによる重み付けを行った評価指標を抽出された前記最適クラウド候補について算出し、算出された前記評価指標の最も高い最適クラウド候補を前記業務に用いられるクラウドサービスとして選択する最適サービス選択部と、前記クラウド事業者データベースに登録されたクラウドサービスを提供するクラウドサービス提供装置へダミー業務を展開して実行させて測定した該クラウドサービスの実際の性能についての測定結果を取得する実効性能取得部と、前記クラウド事業者データベースに登録されたクラウドサービスが用いられて前記業務が稼働されているときに、前記業務の稼働データを取得し、取得された稼動データに基づいて前記業務の要求性能を分析する業務特性収集分析部と、を含み、前記最適サービス選択部は、前記実効性能取得部により取得された前記性能についての測定結果を用いて前記性能指標を補正し、補正された前記性能指標を用いて、前記業務特性収集・分析部により分析された前記要求性能を満たす最適クラウド候補であって、且つ、前記評価指標の最も高い前記最適クラウド候補を選択するクラウドサービス選択装置が開示されている。
【０００３】
特許文献２には、アプリケーションの特性にあったクラウド事業者および前記クラウド事業者が用意する価格形態におけるクラウドリソースを選択するクラウドリソース選択装置であって、前記アプリケーションの利用状況を収集する利用状況収集部と、前記クラウド事業者の各価格形態における価格情報を収集する価格情報収集部と、収集された前記利用状況および前記価格情報を基に、所定期間に亘ってクラウドの価格パターンを複数求め、複数の前記価格パターンの組み合わせについての選択比率を計算する選択比率計算部と、計算した前記選択比率に基づいて、クラウドリソースの買い付けパターンを決定する出力部と、を備えることを特徴とするクラウドリソース選択装置が開示されている。
【０００４】
特許文献３には、サーバ装置上で動作し、ネットワークを介してクライアント端末へサービスを提供する仮想マシンの状態の履歴を記憶する仮想マシン状態履歴記憶部と、前記仮想マシンを利用して前記サービスを提供するサービス提供者毎の前記仮想マシンの識別情報に対応付けて、前記仮想マシンの利用に係る契約情報を予め記憶する契約情報記憶部と、前記仮想マシン状態履歴記憶部に記憶される前記履歴から求まる前記仮想マシンの利用料金が、前記契約情報記憶部に記憶される前記契約情報を満たすように、前記仮想マシンを起動または停止させるかを判定する判定部と、前記判定部により判定された結果に応じて前記仮想マシンを起動または停止させる制御を行う仮想マシン制御部とを備えることを特徴とするサーバ制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６０７０７０６号公報
【特許文献２】特開２０１７−１４２６７３号公報
【特許文献３】特開２０１３−２５７７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、ユーザが作成した処理手順に従って情報を処理する情報処理サービスが注目されている。
【０００７】
情報処理サービスでは、情報の取得先となるデバイスと、処理手順に従って生成された、情報を処理する実行単位（フロー）との割り付け、及びフローとフローを処理する情報処理装置との割り付けが、処理手順の作成段階で予め割り付けられる。
【０００８】
したがって、デバイスから取得される情報量が情報処理装置の処理能力を超えるような場合であっても、情報処理装置は、例えば他の情報処理装置に処理を分散させることなく、予め設定された割り付け通りに情報を処理する。
【０００９】
一方、デバイスから取得される情報量が処理手順作成時に想定した情報量を下回り、情報処理装置の処理能力に余裕が見られる場合であっても、情報処理装置は、処理手順で予め割り付けられていない他のデバイスのデータを処理するようなことは行わず、処理能力に余裕を残したまま、予め設定された割り付け通りに情報を処理する。
【００１０】
このように、従来の情報処理サービスでは、情報を処理する構成が固定されているため、処理する情報量に適した構成をとることが困難であった。
【００１１】
本発明は、情報を処理する処理主体の構成を変更することができる情報処理装置、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載の情報処理装置の発明は、処理する情報量の変化にあわせて情報を処理する処理主体の構成を変更する変更部と、前記変更部によって構成が変更された前記処理主体に対して、処理する情報を割り付ける割り付け部と、を備える。
【００１３】
請求項２記載の発明は、前記変更部は、予め設定された前記情報量の予測値に従って前記処理主体の構成を変更する。
【００１４】
請求項３記載の発明は、前記情報量の予測値が予め定められた期間毎に設定されている。
【００１５】
請求項４記載の発明は、前記変更部は、前記処理主体における負荷の度合いが予め定めた期間に亘り継続して予め定めた条件を満たした場合に、前記処理主体の構成を変更する。
【００１６】
請求項５記載の発明は、前記変更部は、前記負荷の度合いが前記予め定めた期間に亘り継続して予め定めた上限閾値を越えた場合に、前記処理主体の数を増加させる。
【００１７】
請求項６記載の発明は、前記変更部は、前記負荷の度合いが前記予め定めた期間に亘り継続して予め定めた下限閾値未満となった場合に、前記処理主体の数を減少させる。
【００１８】
請求項７記載の発明は、前記処理主体がクラウドコンピューティングを用いて構成される。
【００１９】
請求項８記載の発明は、前記処理主体に対して、情報の処理能力に応じた単位時間あたりの利用額が予め設定されており、前記変更部は、前記処理主体の構成を、前記情報量を処理する処理能力を有する複数の前記処理主体の構成のうち、前記処理主体の利用額が抑制される構成に変更する。
【００２０】
請求項９記載の情報処理プログラムの発明は、コンピュータを、請求項１〜請求項８の何れか１項に記載の情報処理装置の各部として機能させる。
【発明の効果】
【００２１】
請求項１、９記載の発明によれば、情報を処理する処理主体の構成を変更することができる、という効果を有する。
【００２２】
請求項２記載の発明によれば、情報の処理中に、これまでの情報量から今後の情報量を予測する場合と比較して、処理主体の構成を変更するための処理が簡素化される、という効果を有する。
【００２３】
請求項３記載の発明によれば、予め定めた期間毎に処理主体の構成を変更することができる、という効果を有する。
【００２４】
請求項４記載の発明によれば、現状の処理量に応じて処理主体の構成を変更することができる、という効果を有する。
【００２５】
請求項５記載の発明によれば、処理主体における負荷の度合いが増加傾向にある場合、負荷の度合いを減少させることができる、という効果を有する。
【００２６】
請求項６記載の発明によれば、処理主体における負荷の度合いが減少傾向にある場合、情報を処理する処理主体を集約することができる、という効果を有する。
【００２７】
請求項７記載の発明によれば、情報処理装置を所有することなく、処理する情報量に応じて処理主体の構成を変更することができる、という効果を有する。
【００２８】
請求項８記載の発明によれば、処理する情報量のみに着目して処理主体の構成を変更する場合と比較して、クラウドコンピューティングを用いたサービスの利用額を抑制することができる、という効果を有する。
【図面の簡単な説明】
【００２９】
【図１】情報処理システムの構成例を示す図である。
【図２】フローの一例を示す図である。
【図３】複数のフローが処理される状況を例示した図である。
【図４】情報処理装置における電気系統の要部構成例を示す図である。
【図５】情報処理の流れの一例を示すフローチャートである。
【図６】スケジュールの一例を示す図である。
【図７】インスタンスの構成の変化例を示す図である。
【図８】インスタンスの起動及び処理手順の同期に関する一例を示す図である。
【図９】インスタンスの増加時におけるフローの再割り付け例を示す図である。
【図１０】インスタンスの削減時におけるフローの再割り付け例を示す図である。
【発明を実施するための形態】
【００３０】
以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
【００３１】
＜実施形態＞
図１は、本実施の形態に係る情報処理システム１００の構成例を示す図である。情報処理システム１００は、例えば情報処理装置１０、デバイス２０、及びサービス装置３０を含み、情報処理装置１０、デバイス２０、及びサービス装置３０は通信回線２で接続されている。
【００３２】
情報処理装置１０は、Ｎ台（Ｎは正の整数）の情報処理装置１０−１〜情報処理装置１０−Ｎで構成され、以降、情報処理装置１０−１〜情報処理装置１０−Ｎを区別する必要がない場合は、総称して「情報処理装置１０」と表すことにする。
【００３３】
情報処理装置１０は、予め定められた情報の処理手順に従って、デバイス２０から入力された情報に対して処理手順で定義された各種処理を実行する装置である。情報処理装置１０は、情報処理装置１０で処理した情報（以下、「処理済み情報」という）を、処理手順によって指定された送信先（図１の例ではサービス装置３０）に送信する。
【００３４】
情報処理装置１０で処理される情報の内容に制約はなく、例えば文書に関する情報（文書データ）等、どのような内容が含まれてもよい。なお、文書データには、記述されたテキスト、画像、並びに、文書を作成した作成者及び作成日時といった文書の特性を示す属性値等が含まれる。文書データは特に「ドキュメント」と呼ばれる場合がある。
【００３５】
以降では一例として、Ｎ台の情報処理装置１０は、インターネット上に構築されたクラウドコンピューティング４のサービスの提供に用いられる情報処理装置１０として説明を行う。
【００３６】
デバイス２０は、情報を生成又は格納する装置であり、例えば原稿の内容を光学的に読み取り、スキャン画像を生成するスキャン装置や、ファクシミリ装置で受信した画像データを格納するファイルサーバ等が含まれる。
【００３７】
図１に示す情報処理システム１００には、一例としてデバイス２０−１〜デバイス２０−４で表される４台のデバイスが含まれるが、情報処理システム１００に含まれるデバイス２０の台数に制約はなく、Ｎ台のデバイス２０が含まれてもよい。以降、デバイス２０−１〜デバイス２０−４を区別する必要がない場合は、総称して「デバイス２０」と表すことにする。なお、説明の便宜上、デバイス２０−１、デバイス２０−２、デバイス２０−３、及びデバイス２０−４を、それぞれデバイスＡ、デバイスＢ、デバイスＣ、及びデバイスＤと表す場合がある。
【００３８】
サービス装置３０は、情報処理装置１０で処理された情報を受け付け、受け付けた情報に対して、予め定められたサービスを提供する装置である。サービス装置３０には、例えば、受け付けた情報を指定された宛先にメールで送信するメールサーバ、受け付けた情報をファクシミリ送信するファクシミリ装置、及び受け付けた情報を記憶するファイルサーバ等が含まれる。
【００３９】
図１に示す情報処理システム１００には、一例としてサービス装置３０−１〜サービス装置３０−４で表される４台のサービス装置３０が含まれるが、情報処理システム１００に含まれるサービス装置３０の台数に制約はなく、Ｎ台のサービス装置３０が含まれてもよい。以降、サービス装置３０−１〜サービス装置３０−４を区別する必要がない場合は、総称して「サービス装置３０」と表すことにする。なお、説明の便宜上、サービス装置３０−１、サービス装置３０−２、サービス装置３０−３、及びサービス装置３０−４を、それぞれサービス装置Ａ、サービス装置Ｂ、サービス装置Ｃ、及びサービス装置Ｄと表す場合がある。
【００４０】
通信回線２は、無線回線であっても有線回線であってもよく、また、専用回線であっても、不特定多数の装置が接続される公衆回線であってもよい。
【００４１】
図２は、情報処理システム１００における情報の処理過程の一例を示す図であり、例えばデバイスＡで生成された情報を、情報処理装置１０で実行されるフローに従って処理し、処理済み情報をサービス装置Ａに送信する例を示している。ここで「フロー」とは、情報処理装置１０で実行される処理の実行単位を表し、フローを区別する場合には「フローＮ」と表される。図２の例では、何れかの情報処理装置１０で１つのフローが実行されることから「フロー１」と表されている。
【００４２】
情報処理装置１０で実行されるフローは、ユーザ等によって予め定義された処理手順に従う。ここで「ユーザ」とは、情報処理システム１００によってサービスの提供を受ける、情報処理システム１００の利用者をいう。なお、情報処理装置１０が文書データを扱う場合には、情報処理装置１０で実行されるフローを「ドキュメントフロー」といい、ユーザ等によって予め定義された処理手順を「ドキュメントフロー定義」という場合がある。
【００４３】
処理手順には、例えば情報処理装置１０において処理される情報の入力から出力までの各段階における処理の内容、情報の入出力、処理の実行タイミング、及び処理と処理の結びつき等が規定される。情報処理装置１０は、処理手順に従ったフローを実行することで、デバイス２０から受け付けた情報に対して、ユーザが規定した処理を実行する。
【００４４】
図２に示すように、フローには、デバイス２０からの情報を取り込む「取り込みプロセス」、取り込みプロセスで取得した情報の処理を実行する「処理プロセス」、及び処理プロセスで処理された情報をサービス装置３０に配信する「配信プロセス」が含まれる。各プロセスは、処理の内容毎に予め用意された「プラグイン」と呼ばれるモジュールによって実現される。プラグインには、例えばデバイス２０から取り込んだスキャン画像に対してノイズ除去等のＯＣＲ(Optical Character Recognition)処理を行うプラグイン、及びデバイス２０から取り込んだスキャン画像に白紙のページが含まれているか否かを判定する白紙判定処理を行うプラグイン等が用意されている。すなわち、ユーザは各種処理を行うプラグインを組み合わせることで処理手順を定義し、ユーザが所望する処理の流れを構築する。
【００４５】
また、処理手順では、取り込みプロセスと、取り込みプロセスが情報を取り込むデバイス２０との割り付けが予め定義される。具体的には、処理手順によって、取り込みプロセスと、デバイス２０で生成された情報が格納される格納領域との割り付けが予め定義される。デバイス２０と情報を処理するフローとの割り付けは、情報が格納される格納領域の単位で重複しないように割り付けられるが、デバイス２０単位で重複しないように割り付けてもよい。ここでは、デバイス２０単位でフローと割り付ける形態を例にして説明を行う。図２の例では、デバイスＡに対してフロー１が割り付けられている。なお、配信プロセスと、情報処理装置１０での処理済み情報が配信されるサービス装置３０との割り付けも処理手順によって予め定義されるが、各々のフローに含まれる配信プロセスには、他のフローと重複したサービス装置３０を割り付けてもよい。
【００４６】
クラウドコンピューティング４を用いて処理手順に従ったフローを実行する場合、ユーザからはクラウドコンピューティング４を構築する情報処理装置１０の構成は分からない。したがって、ユーザは、情報処理装置１０単位でクラウドコンピューティング４のサービス提供者と契約するのではなく、処理能力単位で契約することになる。情報処理装置１０を用いて構築されるクラウドコンピューティング４において、情報を処理する処理能力が割り当てられた仮想的な処理主体を「インスタンス６」と呼び、インスタンス６は情報処理装置１０によって実現される。したがって、情報処理装置１０によって実現され、情報を処理するインスタンス６は、情報処理装置１０に相当する処理主体の一例である。
【００４７】
図３は、インスタンス６で複数のフローが処理される状況を例示した図である。図３の例では、フロー１はデバイスＡ及びサービス装置Ａと割り付けられ、デバイスＡから取り込んだ情報に対して処理手順に従った処理を実行し、処理済み情報をサービス装置Ａに配信している。フロー２はデバイスＢ及びサービス装置Ｂと割り付けられ、デバイスＢから取り込んだ情報に対して処理手順に従った処理を実行し、処理済み情報をサービス装置Ｂに配信している。フロー３はデバイスＣ及びサービス装置Ｃと割り付けられ、デバイスＣから取り込んだ情報に対して処理手順に従った処理を実行し、処理済み情報をサービス装置Ｃに配信している。また、フロー４はデバイスＤ及びサービス装置Ｄと割り付けられ、デバイスＤから取り込んだ情報に対して処理手順に従った処理を実行し、処理済み情報をサービス装置Ｄに配信している。
【００４８】
次に、図４を用いて情報処理システム１００の情報処理装置１０における電気系統の要部構成例について説明する。
【００４９】
図４に示すように、情報処理装置１０は、例えばコンピュータ５０を用いて構成される。
【００５０】
コンピュータ５０は、本実施の形態に係る変更部及び割り付け部の機能を担うＣＰＵ(Central Processing Unit)５１、プログラムを記憶するＲＯＭ(Read Only Memory)５２、ＣＰＵ５１の一時的な作業領域として使用されるＲＡＭ(Random Access Memory)５３、不揮発性メモリ５４、及び入出力インターフェース(Ｉ／Ｏ)５５を備える。そして、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、不揮発性メモリ５４、及びＩ／Ｏ５５がバス５６を介して各々接続されている。
【００５１】
不揮発性メモリ５４は、不揮発性メモリ５４に供給される電力が遮断されても、記憶したデータが維持される記憶装置の一例であり、例えば半導体メモリが用いられるが、ハードディスクを用いてもよい。
【００５２】
Ｉ／Ｏ５５には、例えば通信ユニット１２、入力ユニット１４、及び表示ユニット１６が接続される。
【００５３】
通信ユニット１２は通信回線２に接続され、デバイス２０からの情報を受信すると共に、情報処理装置１０での処理済み情報をサービス装置３０に送信するための通信プロトコルを備える。
【００５４】
入力ユニット１４は、情報処理装置１０を操作する操作者からの指示を受け付けてＣＰＵ５１に通知する入力装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が含まれる。
【００５５】
表示ユニット１６は、ＣＰＵ５１によって処理された情報を画像として表示する表示装置であり、例えば液晶ディスプレイ又は有機ＥＬ(Electro Luminescence)ディスプレイ等が用いられる。
【００５６】
なお、Ｉ／Ｏ５５には、必ずしも入力ユニット１４及び表示ユニット１６が接続される必要はない。また、Ｉ／Ｏ５５に接続されるユニットも図４に例示したユニットに限定されない。例えば、データを記憶する外付けの記憶ユニット等が接続されてもよい。
【００５７】
次に、図５を用いて、情報処理装置１０の動作について詳細に説明を行う。
【００５８】
図５は、予め定めた期間毎に、ＣＰＵ５１によって定期的に実行される情報処理の流れの一例を示すフローチャートである。
【００５９】
情報処理を規定する情報処理プログラムは、例えば情報処理装置１０のＲＯＭ５２に予め記憶されている。情報処理装置１０のＣＰＵ５１は、ＲＯＭ５２に記憶される情報処理プログラムを読み込み、情報処理を実行する。
【００６０】
なお、情報処理装置１０によって構築されるクラウドコンピューティング４で提供されるインスタンス６には複数の種類が存在し、ここでは一例として、「大」、「中」、「小」のインスタンス６が用意されているものとする。
【００６１】
「大」のインスタンス６における処理能力は、例えば１つの容量が２ＭＢの情報を、１時間あたり５００個処理する能力に設定されている。すなわち、「大」のインスタンス６における処理能力は１０００ＭＢ／ｈであり、１時間あたりの「大」のインスタンス６の利用額は、例えば３００円に設定されている。
【００６２】
「中」のインスタンス６における処理能力は、例えば１つの容量が２ＭＢの情報を、１時間あたり３００個処理する能力に設定されている。すなわち、「中」のインスタンス６における処理能力は６００ＭＢ／ｈであり、１時間あたりの「中」のインスタンス６の利用額は、例えば２００円に設定されている。
【００６３】
「小」のインスタンス６における処理能力は、例えば１つの容量が２ＭＢの情報を、１時間あたり１００個処理する能力に設定されている。すなわち、「小」のインスタンス６における処理能力は２００ＭＢ／ｈであり、１時間あたりの「小」のインスタンス６の利用額は、例えば１００円に設定されている。
【００６４】
このように、クラウドコンピューティング４が提供するインスタンス６には、情報の処理能力に応じて単位時間あたりの利用額が予め設定されている。
【００６５】
また、処理手順の定義によって、フロー１〜フロー４とデバイスＡ〜デバイスＤとの割り付けは、図３に示したように予め定義されているものとする。
【００６６】
まず、ステップＳ１０において、ＣＰＵ５１はステップＳ１０処理時点の時刻（現在時刻）を取得する。時刻は、例えばＣＰＵ５１に内蔵される時計機能を利用して取得してもよく、また、通信回線２に接続される図示しない時刻サーバから取得してもよい。ＣＰＵ５１は、取得した時刻をＲＡＭ５３に記憶する。
【００６７】
ステップＳ２０において、ＣＰＵ５１は、情報の処理に必要な単位時間あたりの処理能力（必要処理能力）を算出する。具体的には、例えば予め不揮発性メモリ５４にスケジュール８を記憶しておき、ＣＰＵ５１は、スケジュール８を参照して必要処理能力を算出する。
【００６８】
図６は、スケジュール８の一例を示す図である。図６に示すように、スケジュール８には、フロー毎にデバイス２０から取り込まれる情報量の予測値が予め定めた期間毎に設定されている。図６の例では、１日が例えば早朝(０時から７時未満)、午前(７時から１３時未満)、午後(１３時から１７時３０分未満)、及び夜間(１７時３０分から０時未満)の４期間に分割され、期間毎に各々のフローがデバイス２０から取り込む情報量の予測値が設定されている。
【００６９】
フローがデバイス２０から取り込む情報量の予測値は、例えば情報処理システム１００の実機による実験や情報処理システム１００の設計仕様等により予め得られる。
【００７０】
したがって、ＣＰＵ５１は、スケジュール８で規定された、各期間における情報量の予測値の合計値を必要処理能力として算出する。
【００７１】
ステップＳ１０で取得した現在時刻が早朝の時間帯に含まれる場合、フロー１〜フロー４の各々がそれぞれデバイスＡ〜デバイスＤから取り込む情報量の予測値はそれぞれ１ＭＢ／ｈである。したがって、ＣＰＵ５１は、各々の情報量の予測値を合計した４ＭＢ／ｈを必要処理能力として算出する。
【００７２】
また、ステップＳ１０で取得した現在時刻が午前の時間帯に含まれる場合、フロー１がデバイスＡから取り込む情報量の予測値は６００ＭＢ／ｈで、フロー２及びフロー３がそれぞれデバイスＢ及びデバイスＣから取り込む情報量の予測値は３００ＭＢ／ｈである。また、フロー４がデバイスＤから取り込む情報量の予測値は１００ＭＢ／ｈである。したがって、ＣＰＵ５１は、各々の情報量の予測値を合計した１３００ＭＢ／ｈを必要処理能力として算出する。
【００７３】
また、ステップＳ１０で取得した現在時刻が午後の時間帯に含まれる場合、フロー１がデバイスＡから取り込む情報量の予測値は４００ＭＢ／ｈで、フロー２がデバイスＢから取り込む情報量の予測値は３５０ＭＢ／ｈである。また、フロー３がデバイスＣから取り込む情報量の予測値は４５０ＭＢ／ｈで、フロー４がデバイスＤから取り込む情報量の予測値は３００ＭＢ／ｈである。したがって、ＣＰＵ５１は、各々の情報量の予測値を合計した１５００ＭＢ／ｈを必要処理能力として算出する。
【００７４】
また、ステップＳ１０で取得した現在時刻が夜間の時間帯に含まれる場合は、現在時刻が早朝の時間帯に含まれる場合と同じ状況となるため、ＣＰＵ５１は、各々の情報量の予測値を合計した４ＭＢ／ｈを必要処理能力として算出する。
【００７５】
ステップＳ３０において、ＣＰＵ５１は、ステップＳ２０で算出した必要処理能力に基づいて、現在のインスタンス６の構成を変更する必要があるか否かを判定する。
【００７６】
例えば、現在のインスタンス６の構成が「小」１つの場合、「小」のインスタンス６における情報の処理能力は２００ＭＢ／ｈである。この状況において、例えばステップＳ１０で取得した現在時刻が午後の時間帯に含まれる場合、必要処理能力が現在のインスタンス６の構成における処理能力を超えることになるため、インスタンス６の構成を変更することが好ましい。
【００７７】
一方、現在のインスタンス６の構成が「大」２つの場合、「大」１つのインスタンス６における情報の処理能力は１０００ＭＢ／ｈであるため、現在のインスタンス６の構成における処理能力は２０００ＭＢ／ｈということになる。この状況において、例えばステップＳ１０で取得した現在時刻が夜間の時間帯に含まれる場合、「小」のインスタンス６が１つあれば、夜間における必要処理能力以上の処理能力が得られるため、インスタンス６の構成を変更することが好ましい。
【００７８】
ステップＳ３０の判定処理で、現在のインスタンス６の構成における処理能力と、ステップＳ２０で算出した必要処理能力との大小関係から、インスタンス６の構成を変更する必要はないと判定された場合、図５に示した情報処理を終了する。
【００７９】
一方、ステップＳ３０の判定処理で、インスタンス６の構成を変更する必要があると判定された場合、ステップＳ４０に移行する。
【００８０】
ステップＳ４０において、ＣＰＵ５１は、ステップＳ２０で算出した必要処理能力を用いて、変更後のインスタンス６の構成と、インスタンス６におけるフローの割り付けを設定する。
【００８１】
ステップＳ１０で取得した現在時刻が早朝の時間帯に含まれる場合の必要処理能力は４ＭＢ／ｈであるため、例えば「小」のインスタンス６を１つ用意すれば必要処理能力以上の処理能力が得られることになる。したがって、ＣＰＵ５１は、インスタンス６の構成を「小」１つのインスタンス６に設定すると共に、「小」のインスタンス６にフロー１〜フロー４を割り付ける。
【００８２】
また、ステップＳ１０で取得した現在時刻が午前の時間帯に含まれる場合の必要処理能力は１３００ＭＢ／ｈであるため、例えば「大」のインスタンス６と「中」のインスタンス６をそれぞれ１つ用意すれば必要処理能力以上の処理能力が得られることになる。したがって、ＣＰＵ５１は、インスタンス６の構成を「大」及び「中」それぞれ１つのインスタンス６に設定すると共に、各々のインスタンス６の処理能力を超えないように、各々のインスタンス６にフロー１〜フロー４を割り付ける。一例として、ＣＰＵ５１は、「大」のインスタンス６にフロー１及びフロー２を割り付け、「中」のインスタンス６にフロー３及びフロー４を割り付ける。
【００８３】
また、ステップＳ１０で取得した現在時刻が午後の時間帯に含まれる場合の必要処理能力は１５００ＭＢ／ｈであるため、例えば「大」のインスタンス６を２つ用意すれば必要処理能力以上の処理能力が得られることになる。したがって、ＣＰＵ５１は、インスタンス６の構成を「大」２つのインスタンス６に設定すると共に、各々のインスタンス６の処理能力を超えないように、各々のインスタンス６にフロー１〜フロー４を割り付ける。一例として、ＣＰＵ５１は、一方の「大」のインスタンス６にフロー１及びフロー２を割り付け、他方の「大」のインスタンス６にフロー３及びフロー４を割り付ける。
【００８４】
また、ステップＳ１０で取得した現在時刻が夜間の時間帯に含まれる場合には、現在時刻が早朝の時間帯に含まれる場合と同じく、ＣＰＵ５１は、インスタンス６の構成を「小」１つのインスタンス６に設定すると共に、「小」のインスタンス６にフロー１〜フロー４を割り付ける。
【００８５】
なお、例えば早朝及び夜間の時間帯におけるインスタンス６の構成として、「中」や「大」のインスタンス６を設定してもよいが、「小」のインスタンス６が１つの構成に比べて、インスタンス６の利用額が高くなる。このように、ＣＰＵ５１は、必要処理能力以上の処理能力を有するインスタンス６の構成が複数存在する場合、他の構成に比べてインスタンス６の利用額が安くなるような構成を選択する。
【００８６】
図７は、図６に示したスケジュール８に従って設定される、インスタンス６の構成の変化例を示す図である。
【００８７】
ステップＳ５０において、ＣＰＵ５１は、ステップＳ４０で設定したインスタンス６の構成と現在のインスタンス６の構成を比較して、現在のインスタンス６の構成から、設定したインスタンス６の構成に変更するために、インスタンス６を追加する必要があるか否かを判定する。インスタンス６を追加する必要がある場合には、ステップＳ６０に移行する。
【００８８】
ステップＳ６０において、ＣＰＵ５１は、設定したインスタンス６の構成に沿った、新たなインスタンス６を１つ起動する。説明の便宜上、ここでは従来から存在し、フローを処理しているインスタンス６を「インスタンス６Ａ」で表し、新たなインスタンス６を「インスタンス６Ｂ」と表すことにする。
【００８９】
ステップＳ７０において、ＣＰＵ５１は、ステップＳ６０で起動した新たなインスタンス６Ｂと、従来から存在し、フローを処理しているインスタンス６Ａとの間で、フローにおける処理、及びフローとデバイス２０等の割り付けを定義する処理手順を同期させる。具体的には、インスタンス６Ａとインスタンス６Ｂの間で処理手順をコピーさせたり、インスタンス６Ａが参照している処理手順を、インスタンス６Ｂにも参照させたりすることで、処理手順を同期させる。
【００９０】
図８は、新たなインスタンス６Ｂを起動し、従来からのインスタンス６Ａと新たなインスタンス６Ｂの間で処理手順を同期させた状況を例示した図である。処理手順を同期させることで、インスタンス６Ｂに、従来からのインスタンス６Ａで処理されているフロー１〜フロー４と同じフローが構築される。しかしながら、この時点では処理手順を同期させただけであるため、フロー１〜フロー４は無効化されており、実際の処理は行われていない。図８では、各フローに対応する矩形を点線で表すことで、フローが無効化されている状況を表している。各フローに対応する矩形が実線で表されている場合、該当するフローは実行中であることを表している。
【００９１】
ステップＳ８０において、ＣＰＵ５１は、ステップＳ４０で設定したフローの割り付けに従って、インスタンス６Ａとインスタンス６Ｂに対してフローの再割り付けを行う。既に説明したように、デバイス２０とフローとの割り付けは、他のフローと重複しないように対応付けられている。したがって、ＣＰＵ５１は、例えば図８に示した状況からフロー４をインスタンス６Ｂに割り付ける場合、まず、インスタンス６Ａで実行されているフロー４におけるデバイスＤからの情報の取り込みを停止する。そして、ＣＰＵ５１は、フロー４における全ての処理済み情報をサービス装置Ｄに配信した後、インスタンス６Ａで実行されているフロー４を無効化したうえで、インスタンス６Ｂのフロー４を有効化する。これにより、インスタンス６Ａのフロー４が停止し、代わりに、インスタンス６Ｂのフロー４にデバイスＤ及びサービス装置Ｄが割り付けられ、インスタンス６Ｂでフロー４が実行され、デバイスＤからの情報の取り込みを開始する（図９参照）。
【００９２】
ステップＳ４０で新たなインスタンス６Ｂに割り付けられたフローが複数存在する場合には、ＣＰＵ５１は、各々のフローについてフローの再割り付けを行う。
【００９３】
そして、ステップＳ５０に移行し、ＣＰＵ５１は、更にインスタンス６を追加する必要があるか否かを判定する。すなわち、ステップＳ５０〜Ｓ８０を繰り返し実行することで、デバイス２０からの情報を処理するために必要となる数のインスタンス６が追加されることになる。
【００９４】
一方、ステップＳ５０の判定処理で、インスタンス６を追加する必要がないと判定された場合には、ステップＳ９０に移行する。
【００９５】
ステップＳ９０において、ＣＰＵ５１は、ステップＳ４０で設定したインスタンス６の構成と現在のインスタンス６の構成を比較して、現在のインスタンス６の構成から、設定したインスタンス６の構成に変更するために、インスタンス６を減少する必要があるか否かを判定する。インスタンス６を減少する必要がある場合には、ステップＳ１００に移行する。
【００９６】
ステップＳ１００において、ＣＰＵ５１は、ステップＳ４０で設定したフローの割り付けに従って、削除対象となったインスタンス６にフローが割り付けられないように、インスタンス６に対するフローの再割り付けを行う。
【００９７】
ここでは一例として、現在のインスタンス６の構成が、図９に示したようにインスタンス６Ａ及びインスタンス６Ｂで構成され、インスタンス６Ｂを削除してインスタンス６Ａのみの構成とする場合について説明する。
【００９８】
この場合、ＣＰＵ５１は、まず、削除対象であるインスタンス６Ｂで実行されているフロー４におけるデバイスＤからの情報の取り込みを停止する。そして、ＣＰＵ５１は、フロー４における全ての処理済み情報をサービス装置Ｄに配信した後、インスタンス６Ｂのフロー４を無効化したうえで、インスタンス６Ａのフロー４を有効化する。これにより、インスタンス６Ｂのフロー４が停止し、代わりに、インスタンス６Ａのフロー４にデバイスＤ及びサービス装置Ｄが割り付けられ、インスタンス６Ａでフロー４が実行され、デバイスＤからの情報の取り込みを開始する。図１０は、インスタンス６Ｂのフロー４を無効化し、インスタンス６Ａにフロー４を再割り付けした状況を示す図である。
【００９９】
ステップＳ１００におけるフローの再割り付けによって、削除対象となったインスタンス６（上記の例ではインスタンス６Ｂ）は不要となるため、ステップＳ１１０において、ＣＰＵ５１は、削除対象となったインスタンス６を停止する。インスタンス６の停止に伴い、停止したインスタンス６に対する課金が停止される。
【０１００】
そして、ステップＳ９０に移行し、ＣＰＵ５１は、更にインスタンス６を減少する必要があるか否かを判定する。すなわち、ステップＳ９０〜Ｓ１１０を繰り返し実行することで、処理能力の観点から、デバイス２０からの情報の処理に不要と設定されたインスタンス６が削除されることになる。
【０１０１】
一方、ステップＳ９０の判定処理で、インスタンス６を削減する必要がないと判定された場合には、図５に示す情報処理を終了する。
【０１０２】
以上により、情報処理装置１０は、処理する情報量の変化にあわせてインスタンス６の構成を変更し、構成変更後のインスタンス６に対して、フローの再割り付けを行う。
【０１０３】
図６に示したスケジュール８に従ってインスタンス６の必要処理能力を算出する場合、図５に示した情報処理により、インスタンス６の構成は以下のように変更される。
【０１０４】
例えば早朝の時間帯において、インスタンス６の構成が「小」１つのインスタンス６に設定されている状況で午前の時間帯に移行した場合、情報処理装置１０は「大」のインスタンス６を１つ起動して、「小」のインスタンス６と「大」のインスタンス６で処理手順を同期させる。
【０１０５】
そして、情報処理装置１０は、「小」のインスタンス６で実行されているフロー１及びフロー２における情報の取り込みを停止し、フロー１及びフロー２における全ての処理済み情報がサービス装置３０に配信された後に、「小」のインスタンス６におけるフロー１及びフロー２を無効化する。一方、情報処理装置１０は、「大」のインスタンス６におけるフロー１及びフロー２を有効化し、それぞれデバイスＡ及びデバイスＢからの情報の取り込みを開始する。
【０１０６】
また、情報処理装置１０は「中」のインスタンス６を１つ起動して、「小」のインスタンス６と「中」のインスタンス６で処理手順を同期させる。
【０１０７】
そして、情報処理装置１０は、「小」のインスタンス６で実行されているフロー３及びフロー４における情報の取り込みを停止し、フロー３及びフロー４における全ての処理済み情報がサービス装置３０に配信された後に、「小」のインスタンス６におけるフロー３及びフロー４を無効化する。一方、情報処理装置１０は、「中」のインスタンス６におけるフロー３及びフロー４を有効化し、それぞれデバイスＣ及びデバイスＤからの情報の取り込みを開始する。
【０１０８】
最後に、情報処理装置１０は、不要となった「小」のインスタンス６を停止する。
【０１０９】
これにより、午前の時間帯におけるインスタンス６の構成が、「大」及び「中」それぞれ１つのインスタンス６に変更される。
【０１１０】
更に、午前の時間帯から午後の時間帯に移行した場合、情報処理装置１０は「大」のインスタンス６を１つ起動して、「中」のインスタンス６と、新たに起動した「大」のインスタンス６で処理手順を同期させる。
【０１１１】
そして、情報処理装置１０は、「中」のインスタンス６で実行されているフロー３及びフロー４における情報の取り込みを停止し、フロー３及びフロー４における全ての処理済み情報がサービス装置３０に配信された後に、「中」のインスタンス６におけるフロー３及びフロー４を無効化する。一方、情報処理装置１０は、新たに起動した「大」のインスタンス６におけるフロー３及びフロー４を有効化し、それぞれデバイスＣ及びデバイスＤからの情報の取り込みを開始する。
【０１１２】
最後に、情報処理装置１０は、不要となった「中」のインスタンス６を停止する。
【０１１３】
これにより、午後の時間帯におけるインスタンス６の構成が、「大」２つのインスタンス６に変更される。
【０１１４】
更に、午後の時間帯から夜間の時間帯に移行した場合、情報処理装置１０は「小」のインスタンス６を１つ起動して、フロー１及びフロー２を実行する「大」のインスタンス６と、「小」のインスタンス６で処理手順を同期させる。
【０１１５】
そして、情報処理装置１０は、「大」のインスタンス６で実行されているフロー１及びフロー２における情報の取り込みを停止し、フロー１及びフロー２における全ての処理済み情報がサービス装置３０に配信された後に、当該「大」のインスタンス６におけるフロー１及びフロー２を無効化する。一方、情報処理装置１０は、「小」のインスタンス６におけるフロー１及びフロー２を有効化し、それぞれデバイスＡ及びデバイスＢからの情報の取り込みを開始する。
【０１１６】
また、情報処理装置１０は、もう一方の「大」のインスタンス６で実行されているフロー３及びフロー４における情報の取り込みを停止し、フロー３及びフロー４における全ての処理済み情報がサービス装置３０に配信された後に、当該「大」のインスタンス６におけるフロー３及びフロー４を無効化する。一方、情報処理装置１０は、「小」のインスタンス６におけるフロー３及びフロー４を有効化し、それぞれデバイスＣ及びデバイスＤからの情報の取り込みを開始する。
【０１１７】
最後に、情報処理装置１０は、不要となった「大」２つのインスタンス６を停止する。
【０１１８】
このように本実施の形態に係る情報処理システム１００によれば、デバイス２０から取り込まれる情報量の予測値が設定されたスケジュール８を参照して、インスタンス６の構成を変更する。
【０１１９】
したがって、インスタンス６の構成が変更されずに、インスタンス６とフローとの割り付けが固定されている場合と比較して、処理する情報量がインスタンス６の処理能力を超えるような過負荷の発生が抑制される。また、複数のインスタンス６におけるフローの割り付けが固定されている場合には、例えばデバイス２０から取り込む情報がない状態が継続する場合であっても、１つのインスタンス６に各フローを集約するような構成の変更は許可されない。しかしながら、本実施の形態に係る情報処理システム１００によれば、インスタンス６の数を減少させるような構成の変更が行われる。
【０１２０】
なお、本実施の形態では、情報処理装置１０は、クラウドコンピューティング４における仮想的なコンピュータのインスタンス６として用いられたが、必ずしもクラウドコンピューティング４への適用に限定されない。情報処理装置１０は、ユーザによって所有され、例えばユーザの建物等、ユーザに近接して設置された、いわゆる「オンプレミスサーバ」として用いられてもよい。１つのインスタンス６を１台の情報処理装置１０と捉え、各々の情報処理装置１０における処理能力の違いにより、「大」のインスタンス６に相当する情報処理装置１０、「中」のインスタンス６に相当する情報処理装置１０、及び「小」のインスタンス６に相当する情報処理装置１０に分類すれば、処理する情報量に応じて、例えば処理に関わる情報処理装置１０の台数といった情報処理システム１００の構成が変更される。この場合の処理主体は情報処理装置１０となる。
【０１２１】
＜実施形態の変形例＞
上述した図５の情報処理では、スケジュール８に従ってインスタンス６の構成を変更したが、インスタンス６における情報の処理量に応じて、インスタンス６の構成を変更するようにしてもよい。
【０１２２】
例えばＣＰＵ５１は、図５に示した情報処理が実行される毎に、インスタンス６の処理能力に対するインスタンス６が実際に処理した情報の処理量を表す指標（負荷の度合い）をインスタンス６毎に算出し、負荷の度合いからインスタンス６の構成の変更が必要か否かを決定する。本実施の形態では一例として、インスタンス６の処理能力に対してインスタンス６が実際に処理した情報の処理量の割合（負荷率）を負荷の度合いとして用いるが、例えばＲＡＭ５３の使用量、又は通信ユニット１２における情報の通信量から負荷の度合いを算出するようにしてもよい。
【０１２３】
具体的には、図５のステップＳ２０において、ＣＰＵ５１は、インスタンス６毎の負荷率を必要処理能力として算出する。
【０１２４】
ステップＳ３０において、ＣＰＵ５１は、ステップＳ２０で算出した負荷率が予め定めた期間に亘り継続して予め定めた条件を満たすインスタンス６が存在する場合に、インスタンス６の構成の変更が必要と判断し、ステップＳ４０に移行する。
【０１２５】
例えばインスタンス６の負荷率が１０分間継続して上限閾値０．７を超えた場合、当該インスタンス６に処理が集中していると考えられることから、処理の遅延等が予測される。したがって、ＣＰＵ５１は、インスタンス６の構成の変更が必要と判定し、ステップＳ４０に移行する。以降では「インスタンス６の負荷率が１０分間継続して上限閾値０．７を超える」条件を「条件１」と表す。
【０１２６】
一方、例えばインスタンス６の負荷率が１０分間継続して下限閾値０．３未満の場合、当該インスタンス６の負荷率は相対的に低いと考えられることから、当該インスタンス６のフローを処理能力に余裕のある他のインスタンス６で実行させるようにしてもよい。したがって、ＣＰＵ５１は、インスタンス６の構成の変更が必要と判定し、ステップＳ４０に移行する。以降では「インスタンス６の負荷率が１０分間継続して下限閾値０．３未満となる」条件を「条件２」と表す。
【０１２７】
なお、継続時間、上限閾値、及び下限閾値の値は一例であり、他の値に設定してもよいことは言うまでもない。継続時間は、本実施の形態に係る予め定めた期間の一例であり、「負荷率が上限閾値を超える」こと、又は「負荷率が下限閾値未満となる」ことは、本実施の形態に係る予め定めた条件の一例である。
【０１２８】
ステップＳ４０において、ＣＰＵ５１は、インスタンス６の負荷率が条件１又は条件２を満たす場合、構成変更後のインスタンス６の各々で「上限閾値≧負荷率≧下限閾値」となり、かつ、インスタンス６の利用額が最も安くなるように、変更後のインスタンス６の構成と、インスタンス６におけるフローの割り付けを設定する。
【０１２９】
その結果、インスタンス６の追加が必要となった場合には、ステップＳ５０〜Ｓ８０の処理で、ステップＳ４０で設定した構成及びフローの割り付けに従って、インスタンス６の追加とフローの再割り付けが実行される。
【０１３０】
一方、インスタンス６の減少が必要となった場合には、ステップＳ９０〜Ｓ１１０の処理で、ステップＳ４０で設定した構成及びフローの割り付けに従って、インスタンス６の停止とフローの再割り付けが実行される。
【０１３１】
なお、ＣＰＵ５１は、インスタンス６を追加又は減少することなく、フローの再割り付けで各々のインスタンス６の負荷率を「上限閾値≧負荷率≧下限閾値」となるようにしてもよい。
【０１３２】
例えば、インスタンス６の負荷率が条件１を満たす場合で、かつ、他のインスタンス６の処理能力に余裕がある場合、構成変更後の各々のインスタンス６における負荷率が「上限閾値≧負荷率≧下限閾値」となるように、負荷率が条件１を満たすインスタンス６のフローを、処理能力に余裕のある他のインスタンス６に割り付ければよい。
【０１３３】
また、インスタンス６の負荷率が条件２を満たす場合で、かつ、他のインスタンス６の負荷率が上限閾値に近づいている場合、構成変更後の各々のインスタンス６における負荷率が「上限閾値≧負荷率≧下限閾値」となるように、負荷率が条件２を満たすインスタンス６に、負荷率が上限閾値に近づいているインスタンス６のフローを割り付ければよい。
【０１３４】
なお、インスタンス６の負荷率が上限閾値、又は下限閾値近辺の値で推移する場合、例えば継続時間毎にインスタンス６の構成が変更される場合がある。インスタンス６の構成が繰り返し変更されると、インスタンス６の構成の変更に割り当てられるＣＰＵ５１の処理時間が長くなり、フローの実行に割り当てられるＣＰＵ５１の処理時間が短くなる。したがって、ＣＰＵ５１は、例えば継続時間毎にＭ回（Ｍは２以上の整数）連続してインスタンス６の構成が変更された場合、インスタンス６の構成の変更回数が減少するように上限閾値及び下限閾値の少なくとも一方を変更してもよい。
【０１３５】
更に、スケジュール８とインスタンス６の負荷率を組み合わせて、インスタンス６の構成を変更するようにしてもよい。具体的には、ＣＰＵ５１は、既に説明した方法でスケジュール８に従ってインスタンス６の構成を変更した上で、インスタンス６毎の負荷率を算出する。そして、例えば負荷率が条件１又は条件２を満たすインスタンス６が存在する場合、構成変更後のインスタンス６の各々で「上限閾値≧負荷率≧下限閾値」となり、かつ、インスタンス６の利用額が最も安くなるように、変更後のインスタンス６の構成と、インスタンス６におけるフローの割り付けを設定する。
【０１３６】
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
【０１３７】
また、実施の形態では、一例として図５に示した情報処理をソフトウエアで実現する形態について説明したが、図５に示したフローチャートと同等の処理を、例えばＡＳＩＣ(Application Specific Integrated Circuit)に実装し、ハードウエアで処理させるようにしてもよい。この場合、情報処理をソフトウエアで実現した場合と比較して、処理の高速化が図られる。
【０１３８】
また、上述した実施の形態では、情報処理プログラムがＲＯＭ５２にインストールされている形態を説明したが、これに限定されるものではない。本発明に係る情報処理プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る情報処理プログラムを、ＣＤ(Compact Disc)−ＲＯＭ、又はＤＶＤ(Digital Versatile Disc)−ＲＯＭ等の光ディスクに記録した形態で提供してもよい。また、本発明に係る情報処理プログラムを、ＵＳＢメモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。更に、情報処理装置１０は通信回線２を経由して本発明に係る情報処理プログラムを取得するようにしてもよい。
【符号の説明】
【０１３９】
２・・・通信回線
４・・・クラウドコンピューティング
６（６Ａ、６Ｂ）・・・インスタンス
８・・・スケジュール
１０・・・情報処理装置
１２・・・通信ユニット
１４・・・入力ユニット
１６・・・表示ユニット
２０・・・デバイス
３０・・・サービス装置
５０・・・コンピュータ
５１・・・ＣＰＵ
５２・・・ＲＯＭ
５３・・・ＲＡＭ
５４・・・不揮発性メモリ
１００・・・情報処理システム
【図１】
2020009246.tif 000003
【図２】
2020009246.tif 000004
【図３】
2020009246.tif 000005
【図４】
2020009246.tif 000006
【図５】
2020009246.tif 000007
【図６】
2020009246.tif 000008
【図７】
2020009246.tif 000009
【図８】
2020009246.tif 000010
【図９】
2020009246.tif 000011
【図１０】
2020009246.tif 000012