(57)【特許請求の範囲】
【請求項１】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、
前記シナリオ提供装置は、
シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、
前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部とを備え、
前記シナリオ実行端末は、
前記シナリオ提供装置から前記シナリオを受信するシナリオ受信部と、
前記シナリオ受信部が受信した前記シナリオを実行するシナリオ実行部と、
前記シナリオ実行部により実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信部と、
自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信部とを備える、
シナリオ提供システム。
【請求項２】
前記記憶部は、前記シナリオに含まれる手順がシナリオ実行端末において正常に動作したか又は正常に動作しなかったかにより表される判定条件に対応した環境を示す判定対象環境の情報をさらに記憶し、
前記シナリオ提供装置は、前記ログ情報が示す前記シナリオの実行結果と合致する前記判定条件に対応した前記判定対象環境を前記シナリオ実行端末が有すると推定する推定部をさらに備え、
前記シナリオ情報提供部は、前記推定部が推定した前記シナリオ実行端末の前記環境と、複数の前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境とを照合して、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定する、
請求項１に記載のシナリオ提供システム。
【請求項３】
前記シナリオは、前記シナリオ実行端末を前記ログ送信部として動作させるための処理を含む、
請求項１又は請求項２に記載のシナリオ提供システム。
【請求項４】
前記シナリオ送信部は、前記シナリオ実行端末の環境を判定するための処理を含んだ前記シナリオであるサンプルシナリオを送信する、
請求項１から請求項３のいずれか一項に記載のシナリオ提供システム。
【請求項５】
シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、
前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部と、
を備えるシナリオ提供装置。
【請求項６】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ情報提供方法であって、
前記シナリオ提供装置は、
シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、
前記シナリオ提供装置が、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、
前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、
前記シナリオ実行端末が、
前記シナリオ提供装置から前記シナリオを受信するシナリオ受信ステップと、
前記シナリオ受信ステップにより受信した前記シナリオを実行するシナリオ実行ステップと、
前記シナリオ実行ステップにより実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信ステップと、
自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信ステップと、
を有するシナリオ情報提供方法。
【請求項７】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムの前記シナリオ提供装置が実行するシナリオ情報提供方法であって、
前記シナリオ提供装置は、
シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、
前記シナリオ提供装置が、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、
前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、
を有するシナリオ情報提供方法。
【請求項８】
コンピュータを、請求項５のシナリオ提供装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラムに関する。
【背景技術】
【０００２】
ＲＰＡ（Robotic Process Automation）は、ＰＣ（パーソナルコンピュータ）等の情報処理装置を用いて人手で行っていた定型的な作業を自動で実行可能な技術である。例えば、作業手順を記述したシナリオを作成し（例えば、特許文献１参照）、ＰＣがそのシナリオを実行することで、人手で行っていた作業を再現する（例えば、特許文献２参照）。ＲＰＡにより、時間的コストや人的コストを削減し、作業ミスを低減することもできる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０２６４５１号公報
【特許文献２】特許第４８８３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＲＰＡのシナリオの作成に不慣れなユーザや、シナリオ作成にかかる負担を軽減したいユーザのために、事業者が予め作成したシナリオをユーザに提供することが考えられる。一方で、シナリオを実行するためには、ＰＣがそのシナリオに応じた環境を有している必要がある。例えば、シナリオに、あるアプリケーションプログラム（以下、「アプリ」と記載）に所定の操作を行う処理が含まれているとする。この場合、ＰＣに、操作対象のアプリが実装されている環境が必要である。さらには、ＰＣに、そのアプリに対して所定の操作を行うためのＯＳやインタフェースが実装されている環境が必要な場合もある。ユーザは、事業者から提供されるシナリオが自分のＰＣの環境において正常に動作するかを判断することが難しい場合があった。
【課題を解決するための手段】
【０００５】
上記事情に鑑み、本発明は、ＲＰＡのシナリオがユーザの情報処理装置の環境において動作するかを把握しやすくすることができるシナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラムを提供することを目的としている。
【０００６】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、前記シナリオ提供装置は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部とを備え、前記シナリオ実行端末は、前記シナリオ提供装置から前記シナリオを受信するシナリオ受信部と、前記シナリオ受信部が受信した前記シナリオを実行するシナリオ実行部と、前記シナリオ実行部により実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信部と、自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信部とを備える、シナリオ提供システムである。
本発明の一態様は、上述のシナリオ提供システムであって、前記記憶部は、前記シナリオに含まれる手順がシナリオ実行端末において正常に動作したか又は正常に動作しなかったかにより表される判定条件に対応した環境を示す判定対象環境の情報をさらに記憶し、前記シナリオ提供装置は、前記ログ情報が示す前記シナリオの実行結果と合致する前記判定条件に対応した前記判定対象環境を前記シナリオ実行端末が有すると推定する推定部をさらに備え、前記シナリオ情報提供部は、前記推定部が推定した前記シナリオ実行端末の前記環境と、複数の前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境とを照合して、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定する。
【０００７】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオは、前記シナリオ実行端末を前記ログ送信部として動作させるための処理を含む。
【０００８】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオ送信部は、前記シナリオ実行端末の環境を判定するための処理を含んだ前記シナリオであるサンプルシナリオを送信する。
【０００９】
本発明の一態様は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部と、を備えるシナリオ提供装置である。
【００１０】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ情報提供方法であって、前記シナリオ提供装置は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、前記シナリオ提供装置が、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、前記シナリオ実行端末が、前記シナリオ提供装置から前記シナリオを受信するシナリオ受信ステップと、前記シナリオ受信ステップにより受信した前記シナリオを実行するシナリオ実行ステップと、前記シナリオ実行ステップにより実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信ステップと、自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信ステップと、を有するシナリオ情報提供方法である。
【００１１】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムの前記シナリオ提供装置が実行するシナリオ情報提供方法であって、前記シナリオ提供装置は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれがシナリオ実行端末において正常に動作する環境である動作可能環境の情報とを記憶する記憶部を備えており、前記シナリオ提供装置が、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、を有するシナリオ情報提供方法である。
【００１２】
本発明の一態様は、コンピュータを、上述したシナリオ提供装置として機能させるためのプログラムである。
【発明の効果】
【００１３】
本発明により、ＲＰＡのシナリオがユーザの情報処理装置の環境において動作するかを把握しやすくすることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるシナリオ提供システムの構成図である。
【図２】同実施形態によるシナリオ提供装置が提供するシナリオの例を示す図である。
【図３】同実施形態によるサンプルシナリオの例を示す図である。
【図４】同実施形態によるサンプルシナリオの例を示す図である。
【図５】同実施形態によるシナリオ提供装置の構成を示す機能ブロック図である。
【図６】同実施形態によるシナリオ実行端末の構成を示す機能ブロック図である。
【図７】同実施形態によるサンプルシナリオ管理情報の例を示す図である。
【図８】同実施形態によるサービスシナリオ管理情報の例を示す図である。
【図９】同実施形態によるユーザ管理情報の例を示す図である。
【図１０】同実施形態によるスケジュール情報の例を示す図である。
【図１１】同実施形態によるログ情報の例を示す図である。
【図１２】同実施形態によるシナリオ選択画面の例を示す図である。
【図１３】同実施形態によるシナリオ選択画面の例を示す図である。
【図１４】同実施形態によるシナリオ提供システムの処理を示すフロー図である。
【図１５】同実施形態によるシナリオ提供システムの処理を示すフロー図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図１は、本発明の一実施形態によるシナリオ提供システム１の構成図である。シナリオ提供システム１は、事業者のシナリオ提供装置２と、ユーザのシナリオ実行端末４とを備える。同図では、シナリオ実行端末４を１台のみ示しているが、ユーザの数及び各ユーザが使用するシナリオ実行端末４の台数は任意である。ユーザの例は、企業、学校、団体などであるが、これらに限らない。シナリオ提供装置２は、インターネットなどのネットワーク６を介して、シナリオ実行端末４と接続されている。例えば、シナリオ提供装置２は、コンピュータサーバなどの情報処理装置であり、シナリオ実行端末４は、ＰＣなどの情報処理装置である。
【００１６】
事業者は、シナリオ提供装置２により、ユーザへＲＰＡ（Robotic Process Automation）のシナリオを提供する。ＲＰＡは、自動化ツールの一例である。以下では、ユーザの業務に利用されるＲＰＡのシナリオを、サービスシナリオと記載する。シナリオ提供装置２を保有する事業者がサービスシナリオを作成してもよく、その事業者とは異なるシナリオ提供事業者がサービスシナリオを作成してもよい。ユーザは、シナリオ提供装置２が提供するサービスシナリオの中から選択したサービスシナリオをシナリオ実行端末４へダウンロードする。シナリオ実行端末４は、ダウンロードしたサービスシナリオを実行する。
【００１７】
サービスシナリオは、そのサービスシナリオに応じた環境を有するシナリオ実行端末４において正常に動作する。環境は、１以上の環境要素によって表される。環境要素は、例えば、所定のアプリの実装有無、所定のＯＳ（Operation System）の実装有無などである。バージョンが異なるアプリは、別のアプリとみなしてもよい。同様に、バージョンが異なるＯＳは、別のＯＳとみなしてもよい。環境要素は、ネットワークを介してシナリオ実行端末４と接続される情報処理装置により提供される機能の利用可否でもよい。このような機能は、例えば、クラウドにより提供される機能やサービスである。また、環境要素は、シナリオ実行端末４の画面の大きさなどでもよい。
【００１８】
例えば、報告書ファイルから交通費精算申請書を作成するサービスシナリオは、以下の処理を含む。なお、括弧内の番号は、処理の流れを示すものであり、シナリオを記述する際の粒度を示すものではない。（１）文書編集用のアプリＡにより指定のフォルダの報告書ファイルを開く。（２）表計算用のアプリＢにより交通費精算申請書ファイルを開く。（３）ブラウザＣを用いてインターネット上で提供されている運賃計算用のウェブサイトにアクセスする。（４）ブラウザＣに表示される入力フィールドに、報告書ファイルから読み出した出発駅、到着駅を入力した後、処理実行を入力する。（５）ファイルから読み出した氏名、出発駅、到着駅、ブラウザＣに表示される処理結果から取得した運賃をそれぞれ、交通費精算申請書ファイルの所定のセルに入力する。（６）アプリＢにより交通費精算申請書ファイルを指定のフォルダに保存する。
【００１９】
上記のようなサービスシナリオを実行する場合、アプリＡの実装、アプリＢの実装、及び、ブラウザＣの実装という環境が必要である。さらには、アプリＡ、アプリＢ、ブラウザＣを動作させる所定のＯＳが実装されているという環境が必要な場合もある。また、ブラウザＣに代えて、ブラウザＤを用いることが可能な場合もある。
【００２０】
シナリオ実行端末４の環境を把握するため、シナリオ実行端末４は、シナリオ提供装置２が提供する１以上のサンプルシナリオをダウンロードして実行する。サンプルシナリオは、シナリオ実行端末４の環境を判定するためのシナリオである。サンプルシナリオは、シナリオ実行端末４が判定対象の環境を有する場合には正常に実行され、かつ、判定対象の環境を有していない場合に正常に実行されない処理を含む。以下では、シナリオ実行端末４においてシナリオが正常に処理された又は処理されることを「動作ＯＫ」と記載し、シナリオ実行端末４においてシナリオが正常に処理されなかった又は処理されないことを「動作ＮＧ」と記載する。シナリオ実行端末４は、サンプルシナリオの実行結果を示すログ情報をシナリオ提供装置２に出力する。
【００２１】
シナリオ提供装置２は、ログ情報が示すサンプルシナリオの実行結果に基づいて、シナリオ実行端末４の環境を判断する。シナリオ提供装置２は、提供可能なサービスシナリオの情報の一覧をシナリオ実行端末４に表示させる際に、シナリオ実行端末４の環境において動作ＯＫと推定されるサービスシナリオの情報については、動作ＯＫを表す態様で表示させる。この表示に代えて、又は、加えて、シナリオ提供装置２は、シナリオ実行端末４の環境において動作ＮＧと推定されるサービスシナリオの情報については、動作ＮＧを表す態様で表示させる。
【００２２】
ユーザは、シナリオ実行端末４に表示されたサービスシナリオの情報の一覧を参照して利用するサービスシナリオを選択し、シナリオ提供装置２からダウンロードする。シナリオ実行端末４は、ダウンロードしたサービスシナリオを実行し、その実行結果を示すログ情報をシナリオ提供装置２に出力する。サービスシナリオは、所定の環境において正常に処理が行われる。従って、シナリオ提供装置２は、ログ情報が示すサービスシナリオの実行結果に基づいて、シナリオ実行端末４の環境を推定することができる。そこで、シナリオ提供装置２は、サンプルシナリオの実行結果に加え、サービスシナリオの実行結果も利用してシナリオ実行端末４の環境を推定する。なお、シナリオ提供装置２は、サンプルシナリオを利用せずに、過去にシナリオ実行端末４が実行したサービスシナリオの実行結果を利用して、シナリオ実行端末４の環境を推定してもよい。
【００２３】
図２は、シナリオ提供装置２が提供する２種類のシナリオの例を示す図である。図２（ａ）は、固定シナリオ形式のシナリオである。固定シナリオ形式では、固定のシナリオの中に直接各処理を定義している。シナリオ提供装置２の環境が異なる場合、例えば、所定の書類を作成するなど同じ機能のシナリオであっても、異なるシナリオとして作成される場合がある。
【００２４】
図２（ｂ）は、汎用シナリオ形式のシナリオである。汎用シナリオ形式のシナリオは、汎用シナリオとカスタマイズ用ファイルとにより構成される。汎用シナリオは、複数のユーザのシナリオ実行端末４において使用可能なように汎用的に記述されたシナリオである。カスタマイズ用ファイルは、ユーザのシナリオ実行端末４の環境やユーザ独自の業務運用規則等に合うように汎用シナリオをカスタマイズするためのファイルである。各ユーザは、カスタマイズ用ファイルを用いて汎用シナリオをカスタマイズしてから、シナリオ実行端末４に実行させる。
【００２５】
汎用シナリオは、動作を抽象化し、ユーザがカスタマイズする対象となる変数の部分を除いて記述される。ユーザは、カスタマイズ用ファイルに、変数の設定値を記述する。例えば、汎用シナリオには、アクセス先のＵＲＬ（Universal Resource Locator）を変数で記述しておき、カスタマイズ用ファイルには、その変数の値として、ユーザが使用するウェブサイトのＵＲＬを記述する。ユーザによる汎用シナリオの修正は不要である。このように、シナリオにおいて用いられる変数部分をカスタマイズ用ファイルに外部化することで、シナリオを抽象化して一つの汎用シナリオに集約することが可能となる。
【００２６】
サービスシナリオ及びサンプルシナリオはいずれも、固定シナリオ形式でもよく、汎用シナリオ形式でもよい。
【００２７】
図３及び図４は、サンプルシナリオの例である。図３に示すサンプルシナリオａは、アプリＡの実装を確認するシナリオである。サンプルシナリオａは、アプリＡを開始する処理（ステップＳ１１）、アプリＡを終了する処理（ステップＳ１２）、ログ情報をシナリオ提供装置２に通知する処理（ステップＳ１３）を含む。シナリオ提供装置２は、サンプルシナリオａの実行が正常終了した（動作ＯＫの）場合、アプリＡを有する環境と判定し、サンプルシナリオａの実行が異常終了した（動作ＮＧの）場合、アプリＡを有していない環境であると判定する。あるいは、シナリオ提供装置２は、ステップＳ１１及びＳ１２が動作ＯＫの場合、アプリＡを有する環境と判定し、ステップＳ１１及びＳ１２の少なくとも一方が動作ＮＧの場合、アプリＡを有していない環境であると判定してもよい。また、サンプルシナリオａが特定のＯＳにおいて正常終了するシナリオである場合、動作ＯＫのログ情報により、そのＯＳを有しているという環境を判断することができる。
【００２８】
一つのサンプルシナリオによってテストを行う対象の環境は複数でもよい。図４に示すサンプルシナリオｂは、アプリＡの実装と、バージョン１、２のアプリＢであるアプリＢ−１、Ｂ−２の実装とを確認するシナリオである。サンプルシナリオｂは、アプリＡを開始する処理（ステップＳ２１）、アプリＡを終了する処理（ステップＳ２２）、アプリＢを開始する処理（ステップＳ２３）、機能Ｘを実行する処理（ステップＳ２４）、アプリＢを終了する処理（ステップＳ２５）、ログ情報をシナリオ提供装置２に通知する処理（ステップＳ２６）を含む。機能Ｘは、アプリＢ−１が有しておらず、かつ、アプリＢ−２が有する機能である。シナリオ提供装置２は、ステップＳ２１及びＳ２２の動作ＯＫの場合、アプリＡを有する環境と判定し、ステップＳ２１及びＳ２２の少なくとも一方が動作ＮＧの場合、アプリＡを有していない環境であると判定する。さらに、シナリオ提供装置２は、ステップＳ２３〜Ｓ２５の動作ＯＫであれば、アプリＢ−２を有している環境であり、ステップＳ２３及びＳ２５の動作ＯＫかつステップＳ２４の動作ＮＧであれば、アプリＢ−１を有する実行環境であり、ステップＳ２３及びＳ２５の少なくとも一方が動作ＮＧの場合、アプリＢ−１及びアプリＢ−２を有していない環境と判断する。
【００２９】
例えば、サンプルシナリオを汎用シナリオ形式とし、カスタマイズ用ファイルにシナリオ実行端末４の環境に関する情報をユーザに記述させるようにしてもよい。この場合、カスタマイズ用ファイルに記述された環境に関する情報を設定したログ情報を生成し、シナリオ提供装置２に通知する処理をサンプルシナリオに含める。
【００３０】
図５は、シナリオ提供装置２の構成を示す機能ブロック図である。シナリオ提供装置２は、例えば、クラウド上の１台以上の情報処理装置（コンピュータサーバ）により実現される。シナリオ提供装置２が、ネットワーク６を介して通信可能に接続された複数台の情報処理装置を用いて実装される場合、シナリオ提供装置２が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。シナリオ提供装置２の各機能部を、いずれの情報処理装置により実装するかは任意とすることができる。また、同一の機能部を複数の情報処理装置により実現してもよい。
【００３１】
シナリオ提供装置２は、記憶部２１と、処理部２２とを有する。記憶部２１は、サンプルシナリオ管理情報と、サービスシナリオ管理情報と、ユーザ管理情報と、スケジュール情報と、ログ情報とを記憶する。サンプルシナリオ管理情報は、サンプルシナリオのシナリオ名及びシナリオファイルと、サンプルファイルが判定対象としている環境とを示すデータである。シナリオファイルは、シナリオが記述されたファイルである。サービスシナリオ管理情報は、サービスシナリオのシナリオ名及びシナリオファイルと、動作可能環境とを示すデータである。動作可能環境とは、サービスシナリオが正常に動作するシナリオ実行端末４の環境である。ユーザ管理情報は、ユーザに関する情報を示す。例えば、ユーザ管理情報は、各ユーザのユーザ環境の情報を含む。ユーザ環境は、ユーザのシナリオ実行端末４の環境を示す。スケジュール情報は、シナリオ実行端末４にシナリオを実行させるスケジュールを示す。ログ情報は、各ユーザのシナリオ実行端末４におけるシナリオの実行結果を示す。
【００３２】
処理部２２は、シナリオ情報提供部２２１と、スケジュール管理部２２２と、シナリオ送信部２２３と、ログ受信部２２４と、推定部２２５とを有する。
【００３３】
シナリオ情報提供部２２１は、シナリオ検索画面の画面データと、シナリオ選択画面の画面データをシナリオ実行端末４に送信する。シナリオ検索画面は、シナリオ検索条件を入力するための画面である。シナリオ検索条件の入力は、表示されるメニューの中から検索対象のシナリオに応じたメニュー項目を選択することにより行ってもよく、任意のキーワードを入力することにより行ってもよい。シナリオ選択画面は、シナリオ検索画面においてユーザが入力したシナリオ検索条件に応じたサンプルシナリオ及びサービスシナリオのシナリオ名の一覧を表示し、一覧の中からユーザが要求するシナリオを選択するための画面である。
【００３４】
シナリオ情報提供部２２１は、シナリオ選択画面に、シナリオ実行端末４において実行済みのサンプルシナリオのシナリオ名を、動作ＯＫであったか動作ＮＧであったかを表す態様により表示させる。例えば、シナリオ情報提供部２２１は、シナリオ名の近傍に、そのシナリオ名のサンプルシナリオが動作ＯＫ又は動作ＮＧであった旨をテキスト又はシンボル画像で表示してもよく、シナリオ名に動作ＯＫ又は動作ＮＧに応じた色や線種の枠を付けて表示してもよく、動作ＯＫ又は動作ＮＧに応じた文字色又は背景色でシナリオ名を表示してもよい。
【００３５】
また、シナリオ情報提供部２２１は、シナリオ選択画面に、サービスシナリオのシナリオ名を、シナリオ実行端末４において動作ＯＫと予測されるか動作ＮＧと予測されるかを表す態様により表示させる。例えば、シナリオ情報提供部２２１は、シナリオ名の近傍に、そのシナリオ名のサービスシナリオが動作ＯＫと予測されるか又は動作ＮＧと予測されるかをテキスト又はシンボル画像で表示してもよく、シナリオ名に動作ＯＫが予測されるか又は動作ＮＧが予測されるかに応じた色や線種の枠を付けて表示してもよく、動作ＯＫが予測されるか又は動作ＮＧが予測されるかに応じた文字色又は背景色でシナリオ名を表示してもよい。シナリオ情報提供部２２１は、ユーザのシナリオ実行端末４において各サービスシナリオが動作ＯＫと予測されるか動作ＮＧと予測されるかを、ユーザ管理情報に設定されているユーザ環境が示すシナリオ実行端末４の環境と、サービスシナリオ管理情報が示すサービスシナリオの動作可能環境とを照合することにより判断する。
【００３６】
スケジュール管理部２２２は、ユーザが選択したシナリオをシナリオ実行端末４に実行させるためのスケジュール情報を記憶部２１に登録する。スケジュール管理部２２２は、記憶部２１に記憶されたスケジュール情報に従ってシナリオの実行を指示する。シナリオ送信部２２３は、シナリオ実行端末４に実行させるシナリオのシナリオファイルをシナリオ実行端末４に送信する。ログ受信部２２４は、各シナリオ実行端末４からログ情報を受信して、記憶部２１に書き込む。推定部２２５は、ログ情報が示すサンプルシナリオ又はサービスシナリオの実行結果に基づいてユーザのシナリオ実行端末４の環境を推定し、推定された環境によりユーザ管理情報に含まれるユーザ環境の情報を更新する。
【００３７】
図６は、シナリオ実行端末４の構成を示す機能ブロック図である。シナリオ実行端末４は、ユーザの情報処理装置である。シナリオ実行端末４は、記憶部４１と、入力部４２と、表示部４３と、処理部４４とを備える。記憶部４１は、シナリオファイルを記憶する。入力部４２は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部４２は、ユーザの指示をシナリオ実行端末４に入力する際にユーザによって操作される。表示部４３は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。
【００３８】
処理部４４は、シナリオ実行機能部４５と、機能Ｘ実行部４６とを備える。シナリオ実行機能部４５は、シナリオ情報受信部４５１と、シナリオ選択部４５２と、スケジュール登録部４５３と、シナリオ受信部４５４と、シナリオ実行部４５５と、ログ送信部４５６とを備える。
【００３９】
シナリオ情報受信部４５１は、シナリオ提供装置２から受信したシナリオ検索画面の画面データを表示部４３に表示する。シナリオ情報受信部４５１は、入力部４２によりシナリオ検索画面に入力されたシナリオ検索条件をシナリオ提供装置２に送信する。さらに、シナリオ情報受信部４５１は、送信したシナリオ検索条件に応じてシナリオ提供装置２から受信したシナリオ選択画面の画面データを表示部４３に表示する。シナリオ選択部４５２は、入力部４２によりシナリオ選択画面において選択されたシナリオ名のシナリオをシナリオ提供装置２に要求する。
【００４０】
スケジュール登録部４５３は、入力部４２による入力に基づいて、シナリオの実行スケジュールをシナリオ提供装置２に登録する。シナリオ受信部４５４は、シナリオ提供装置２から自装置において実行するシナリオのシナリオファイルを受信し、シナリオファイルを記憶部４１に書き込む。シナリオ実行部４５５は、シナリオファイルに記述されたシナリオを実行する。汎用シナリオ形式のシナリオが記述されたシナリオファイルの場合、シナリオ実行部４５５は、カスタマイズ用ファイルに記述された変数の値を汎用シナリオに設定して生成されたシナリオを実行する。ログ送信部４５６は、シナリオの実行結果を含むログ情報を生成し、シナリオ提供装置２に通知する。
【００４１】
機能Ｘ実行部４６は、機能Ｘのアプリを実行する。機能Ｘは、シナリオの実行に使用され得る機能であり、例えば、表計算、文書編集、ウェブブラウザ、はがき作成、図形描画等、ＰＣに実装される任意の機能とすることができる。同図では、機能Ａ、Ｂ、Ｃそれぞれのアプリを実行する機能Ｘ実行部４６（Ｘ＝Ａ、Ｂ、Ｃ）を、機能Ａ実行部４６ａ、機能Ｂ実行部４６ｂ、機能Ｃ実行部４６ｃと記載している。本実施形態では、機能Ａ実行部４６ａにより実行されるアプリが、文書編集アプリや表計算アプリなど、テキストデータを編集可能な機能を有するアプリであるとする。機能Ａ実行部４６ａは、シナリオファイルに含まれるカスタマイズ用ファイルの編集を行うファイル編集部として動作する。
【００４２】
図７は、サンプルシナリオ管理情報の例を示す図である。同図に示すサンプルシナリオ管理情報は、サンプルシナリオのシナリオＩＤ、サンプルシナリオファイル、テナント名、判定対象環境、判定条件及び分類を示すデータを含む。シナリオＩＤは、シナリオを一意に特定する識別情報である。サンプルシナリオファイルは、サンプルシナリオが記述されたシナリオファイルである。サンプルシナリオが汎用シナリオ形式である場合、サンプルシナリオファイルはカスタマイズ用ファイルを含む。テナント名は、サンプルシナリオを作成した事業者の名前である。判定対象環境は、サンプルシナリオが判定対象とする環境を示す。判定対象環境は、１以上の環境要素により表される。判定条件は、サンプルシナリオの実行結果からシナリオ実行端末４の環境要素を判定するための条件を示す。判定条件は、動作ＯＫとなるときの環境の情報を含むことから、サンプルシナリオの動作可能環境の情報を含んでいるとみなすことができる。分類は、いずれの分類のサービスシナリオと対応しているかを示す。なお、サンプルシナリオ管理情報は、分類を含まなくてもよい。
【００４３】
例えば、図３に示すサンプルシナリオａの場合、判定対象環境には「アプリＡの実装有無」が設定され、判定条件には、「正常終了の場合、アプリＡ有り」、「異常終了の場合、アプリＡ無し」が設定される。また、例えば、図４に示すサンプルシナリオｂの場合、判定対象環境には「アプリＡの実装有無、アプリＢ−１の実装有無、及び、アプリＢ−２の実装有無」が設定される。そして、判定条件には、「Ｓ２１及びＳ２２が動作ＯＫの場合、アプリＡ有り」、「Ｓ２１又はＳ２２が動作ＮＧの場合、アプリＡ無し」、「Ｓ２３〜Ｓ２５が動作ＯＫの場合、アプリＢ−２有り」、「Ｓ２３及びＳ２５が動作ＯＫ、かつ、Ｓ２４が動作ＮＧの場合、アプリＢ−１有り」、「Ｓ２３又はＳ２５が動作ＮＧの場合、アプリＢ−１及びアプリＢ−２無し」が設定される。
【００４４】
また、例えば、汎用シナリオ形式のサンプルシナリオに、ログ情報に設定する値が変数Ｘとして記述されている場合、カスタマイズ用ファイルには変数Ｘの値を記述する箇所が含まれる。カスタマイズ用ファイルにおいて変数Ｘの値を記述する行又はその上下の行などに、「”変数Ｘ＝”の右側にブラウザＣを利用している場合は１を、ブラウザＤを利用している場合は２を、ブラウザを使用してない又はブラウザＣ，Ｄ以外のブラウザを利用している場合は３を設定してください」といったコメントを記載しておく。
【００４５】
図８は、サービスシナリオ管理情報の例を示す図である。同図に示すサービスシナリオ管理情報は、サービスシナリオのシナリオＩＤ、シナリオ名、サービスシナリオファイル、テナント名、動作可能環境、分類及び説明を示すデータを含む。サービスシナリオファイルは、サービスシナリオが記述されたシナリオファイルである。サービスシナリオが汎用シナリオ形式である場合、サービスシナリオファイルはカスタマイズ用ファイルを含む。テナント名は、サービスシナリオを作成した事業者の名前である。動作可能環境は、サービスシナリオが正常に動作するシナリオ実行端末４の環境である。動作可能環境は、１以上の環境要素により表される。分類は、サービスシナリオが属する分類を示す。分類は、階層構造でもよい。例えば、分類を財務、経理、人事、情報システム等としてもよく、分類の１階層目を自治体、２階層目を税務処理、３階層目を各種申請書作成のようにすることができる。この分類を、ユーザがサービスシナリオを選択する際のメニューのメニュー項目として用いることもできる。なお、サービスシナリオ管理情報は、分類を含まなくてもよい。説明は、サービスシナリオの機能などの説明である。
【００４６】
図９は、ユーザ管理情報の例を示す図である。ユーザ管理情報は、ユーザＩＤ、ユーザ名、ユーザアカウント、シナリオ実行端末情報を含む。ユーザＩＤは、ユーザを特定する識別情報である。ユーザ名は、ユーザの名前である。ユーザアカウントは、事業者がユーザに払い出したサービス利用のためのアカウントである。ユーザＩＤがユーザアカウントを兼ねてもよい。また、１ユーザに複数のユーザアカウントが払い出されてもよい。シナリオ実行端末情報は、ユーザが保有するシナリオ実行端末４の実行端末ＩＤ、アドレス及びユーザ環境を示す。実行端末ＩＤは、シナリオ実行端末４の識別情報である。実行端末ＩＤがユーザアカウントを兼ねてもよい。アドレスは、例えば、シナリオ実行端末４のＩＰアドレスを示す。ユーザ環境は、サンプルシナリオの実行結果又はサービスシナリオの実行結果に基づいて得られるシナリオ実行端末４の環境である。なお、シナリオ実行端末４からユーザ操作によりユーザ環境の一部の情報を登録してもよい。
【００４７】
図１０は、スケジュール情報の例を示す図である。スケジュール情報は、ユーザＩＤ、ユーザアカウント、スケジュールＩＤ、スケジュール名、実行端末ＩＤ、実行シナリオ、実行タイミングの情報を含む。ユーザＩＤ及びユーザアカウントは、スケジュールを登録したユーザを示す。スケジュールＩＤは、スケジュール情報を一意に識別する情報である。実行端末ＩＤは、シナリオを実行するシナリオ実行端末４を特定する。実行シナリオは、実行対象のサンプルシナリオ又はサービスシナリオのシナリオＩＤである。実行タイミングは、シナリオを実行するタイミングを示す。実行タイミングは、即時、あるいは、日にち又は曜日と時刻との組合せ等により示される。
【００４８】
図１１は、ログ情報の例を示す図である。同図に示すログ情報は、ユーザＩＤと、ユーザアカウントと、実行端末ＩＤと、時刻と、シナリオＩＤと、実行結果とを含む。時刻は、シナリオ実行端末４においてシナリオが実行された時刻を示す。シナリオＩＤは、シナリオ実行端末４において実行されたシナリオを特定する。シナリオ実行結果は、シナリオ実行端末４におけるシナリオ実行が正常終了した（動作ＯＫ）か、異常終了した（動作ＮＧ）かを示す。あるいは、シナリオ実行結果は、シナリオ実行端末４がシナリオにおいて実行した処理と、その処理が動作ＯＫであったか動作ＮＧであったかの処理結果を示す。
【００４９】
図１２は、シナリオ選択画面の初期表示を示す図である。シナリオ選択画面Ｇ１の領域Ａ１にはサンプルシナリオ（動作確認用シナリオ）のシナリオ名の一覧が表示されている。シナリオ選択画面Ｇ１の領域Ｂ１には、サービスシナリオ（業務支援系シナリオ）のシナリオ名の一覧が表示されている。サンプルシナリオ及びサービスシナリオのシナリオ名には、テナント名が対応づけて表示されている。なお、シナリオ選択画面Ｇ１の画面データにおいて、シナリオ名にはシナリオＩＤが紐づけられている。まだ、シナリオ実行端末４において実行されたサンプルシナリオがなく、環境の推定が行われていないため、シナリオ選択画面Ｇ１には、サンプルシナリオの実行結果や、サービスシナリオの動作可能性は表示されない。
【００５０】
図１３は、ユーザ環境判定後のシナリオ選択画面の表示を示す図である。シナリオ選択画面Ｇ２の領域Ａ２には、図１２に示す領域Ａ１の表示に加えて、各サンプルシナリオの動作結果が表示されている。また、シナリオ選択画面Ｇ２の領域Ｂ２には、図１２に示す領域Ｂ１の表示に加えて、各サービスシナリオの動作可能性が表示されている。動作可能性が「動作ＯＫ」の場合は、シナリオ提供装置２においてサービスシナリオが正常に実行されることが予測されることを表し、動作可能性が「動作ＮＧ」の場合は、シナリオ提供装置２においてサービスシナリオが正常に実行されないことが予測されることを表す。なお、「動作？」は、「動作ＯＫ」又は「動作ＮＧ」であるか否かが不明なことを表す。
【００５１】
続いて、シナリオ提供システム１の動作について説明する。
図１４及び図１５は、シナリオ提供システム１の動作を示すシーケンス図である。図１４及び図１５を用いて、シナリオ提供装置２にユーザ管理情報の登録を終えた新規ユーザに、当該ユーザのシナリオ実行端末４におけるサービスシナリオの動作可能性の推定結果を提供する場合の動作を示す。
【００５２】
図１４において、シナリオ実行端末４は、ユーザＩＤ、ユーザアカウント及び実行端末ＩＤと、シナリオ情報要求とをシナリオ提供装置２に送信する（ステップＳ１０１）。シナリオ提供装置２のシナリオ情報提供部２２１は、ユーザＩＤ、ユーザアカウント及び実行端末ＩＤと、シナリオ情報要求とを受信すると（ステップＳ２０１）、シナリオ検索画面の画面データをシナリオ実行端末４に送信する（ステップＳ２０２）。シナリオ実行端末４のシナリオ情報受信部４５１は、シナリオ提供装置２から受信した画面データを用いて表示部４３にシナリオ検索画面を表示する（ステップＳ１０２）。シナリオ情報受信部４５１は、ユーザが入力部４２によりシナリオ検索画面に入力したシナリオ検索条件をシナリオ提供装置２に送信する（ステップＳ１０３）。
【００５３】
シナリオ提供装置２のシナリオ情報提供部２２１は、シナリオ検索条件に基づいてシナリオを選択する（ステップＳ２０３）。例えば、シナリオ情報提供部２２１は、シナリオ検索画面が表示するメニューの中から選択されたメニュー項目をシナリオ検索条件として受信し、予めメニュー項目に対応付けられたサンプルシナリオ及びサービスシナリオを選択する。あるいは、シナリオ情報提供部２２１は、シナリオ検索画面においてユーザが任意に入力したシナリオ検索条件に基づいてサービスシナリオ管理情報を検索する。シナリオ情報提供部２２１は、検索の結果得られたサービスシナリオ管理情報のサービスシナリオと、それらサービスシナリオ管理情報と同じ分類が設定されているサンプルシナリオ管理情報のサンプルシナリオとを選択する。
【００５４】
シナリオ情報提供部２２１は、受信したユーザＩＤ及びアカウントＩＤにより特定されるユーザ管理情報から、受信した実行端末ＩＤに対応したユーザ環境の情報を読み出す。シナリオ情報提供部２２１は、ユーザ環境に環境要素が設定されているか否かにより、ユーザ環境の登録有無を判断する（ステップＳ２０４）。シナリオ情報提供部２２１は、ユーザ環境に環境要素が設定されておらず、ユーザ環境の登録無しと判断した場合（ステップＳ２０４：ＮＯ）、ステップＳ２０５の処理を行う。すなわち、シナリオ情報提供部２２１は、ステップＳ２０３において選択したサンプルシナリオ及びサービスシナリオそれぞれのシナリオ名の一覧を含むシナリオ選択画面の画面データを生成する（ステップＳ２０５）。ここで生成されるシナリオ選択画面は、図１２に示すように、サンプルシナリオの動作結果及びサービスシナリオの動作可能性の表示を含まない。シナリオ情報提供部２２１は、生成したシナリオ選択画面の画面データをシナリオ実行端末４に送信する（ステップＳ２０６）。
【００５５】
シナリオ実行端末４のシナリオ情報受信部４５１は、シナリオ提供装置２から受信した画面データを用いて表示部４３にシナリオ選択画面を表示する（ステップＳ１０４）。シナリオ選択部４５２は、ユーザが入力部４２により選択したサンプルシナリオ又はサービスシナリオのシナリオ名の情報を受ける（ステップＳ１０５）。シナリオ選択部４５２は、選択されたシナリオ名に紐づけられているシナリオＩＤをシナリオ選択画面の画面データから取得する。
【００５６】
続いて、スケジュール登録部４５３は、ユーザが入力部４２により入力した、シナリオの実行スケジュールの情報を受ける。具体的には、ユーザは、スケジュール名と、シナリオ名により選択したシナリオの実行タイミングとを入力する。選択したシナリオがサンプルシナリオである場合、例えば、実行タイミングを即時とする。スケジュール登録部４５３は、ユーザＩＤ、ユーザアカウント及び実行端末ＩＤと、シナリオ選択部４５２が取得したシナリオＩＤと、ユーザが入力したスケジュール名及び実行タイミングとを設定したシナリオ要求をシナリオ提供装置２に送信する（ステップＳ１０６）。
【００５７】
シナリオ提供装置２のスケジュール管理部２２２は、シナリオ実行端末４からシナリオ要求を受信する（ステップＳ２０７）。スケジュール管理部２２２は、シナリオ要求に設定されているユーザＩＤ、ユーザアカウント、実行端末ＩＤ、シナリオＩＤ、スケジュール名及び実行タイミングと、割り当てたスケジュールＩＤとを設定したスケジュール情報を記憶部２１に書き込む（ステップＳ２０８）。シナリオ提供装置２は、図１５のステップＳ２２０の処理を実行する。
【００５８】
図１５においてシナリオ提供装置２のスケジュール管理部２２２は、ステップＳ２０８において登録したスケジュール情報に設定されている実行タイミングであることを検出する（ステップＳ２２０）。シナリオ送信部２２３は、スケジュール情報に設定されているシナリオＩＤがサンプルシナリオのシナリオＩＤであるか否かを判断する（ステップＳ２２１）。シナリオ送信部２２３は、サンプルシナリオのシナリオＩＤと判断した場合（ステップＳ２２１：ＹＥＳ）、そのシナリオＩＤにより特定されるサンプルシナリオ管理情報からサンプルシナリオファイルを読み出す。シナリオ送信部２２３は、読み出したサンプルシナリオファイルを、スケジュール情報に設定されているユーザＩＤ、ユーザカウント及び実行端末ＩＤにより特定されるシナリオ実行端末４に送信する（ステップＳ２２２）。
【００５９】
シナリオ実行端末４のシナリオ受信部４５４は、シナリオ提供装置２からサンプルシナリオを受信すると（ステップＳ１２１：ＹＥＳ）、受信したサンプルシナリオファイルを記憶部４１に書き込む（ステップＳ１２２）。サンプルシナリオが汎用シナリオの場合、機能Ａ実行部４６ａは、サンプルシナリオファイルに含まれるカスタマイズ用ファイルを記憶部４１から読み出して表示する。機能Ａ実行部４６ａは、表示されたカスタマイズ用ファイルに、入力部４２を用いてユーザが入力した変数の値を書き込み、カスタマイズ用ファイルを更新する。
【００６０】
シナリオ実行部４５５は、記憶部４１に記憶されているサンプルシナリオファイルを用いてサンプルシナリオを実行する（ステップＳ１２３）。ログ送信部４５６は、サンプルシナリオの実行結果を示すログ情報を生成して、シナリオ提供装置２に送信する（ステップＳ１２４）。なお、ログ送信部４５６におけるログ情報の生成及び送信は、サンプルシナリオ内の処理として記述されてもよい。
【００６１】
シナリオ提供装置２のログ受信部２２４は、シナリオ実行端末４から受信したログ情報を記憶部２１に書き込む（ステップＳ２２３）。推定部２２５は、ログ情報の実行シナリオに設定されているシナリオＩＤによりサンプルシナリオ管理情報を特定し、特定したサンプルシナリオ管理情報から判定条件を読み出す。推定部２２５は、読み出した判定条件と、受信したログ情報が示す実行結果とを照合して、シナリオ実行端末４の環境を判定する。推定部２２５は、ログ情報に設定されているユーザＩＤ及びユーザアカウントが設定されているユーザ管理情報を特定する。推定部２２５は、ログ情報から実行端末ＩＤを読み出し、読み出した実行端末ＩＤと対応付けてユーザ管理情報に設定されているユーザ環境の情報を、判定した環境の情報により更新する（ステップＳ２２４）。シナリオ提供装置２は、図１３のステップＳ２０４からの処理を繰り返す。
【００６２】
シナリオ情報提供部２２１は、ユーザ管理情報にユーザ環境の登録有と判定し（ステップＳ２０４：ＹＥＳ）、ステップＳ２０３において選択したサービスシナリオの動作可能性を判断する。シナリオ情報提供部２２１は、選択したサービスシナリオそれぞれについて、サービスシナリオ管理情報に設定されている動作可能環境と、ユーザ管理情報に設定されているユーザ環境とを比較して、サービスシナリオの動作可能性を判断する（ステップＳ２０８）。
【００６３】
例えば、サービスシナリオの動作可能環境が、「アプリＡの実装、及び、アプリＢ−１又はアプリＢ−２の実装」であるとする。シナリオ情報提供部２２１は、ユーザ環境が「アプリＡ及びアプリＢ−１の実装有り」、又は、「アプリＡ及びアプリＢ−２の実装有り」の環境要素を含む場合は動作ＯＫと判断する。シナリオ情報提供部２２１は、ユーザ環境が「アプリＡの実装無し」の環境要素を含む場合は動作ＮＧと判断する。また、シナリオ情報提供部２２１は、ユーザ環境が「アプリＡの実装有り」の環境要素を含み、かつ、アプリＢ−１及びアプリＢ−２に関する環境要素を含まない場合、又は、アプリＡ、アプリＢ−１及びアプリＢ−２に関する環境要素を含まない場合、動作可能性は不明と判断する。このように、シナリオ情報提供部２２１は、ユーザ環境が、サービスシナリオの動作可能環境を全て満たしている場合は動作ＯＫと判断し、ユーザ環境がサービスシナリオの動作可能環境の全て又は一部の環境要素を満たしていない場合は動作ＮＧと判断する。また、シナリオ情報提供部２２１は、ユーザ環境が、サービスシナリオの動作可能環境の一部の環境要素を満たしているが、他の一部の環境要素を満たすか否かの情報を含んでいない場合や、サービスシナリオの動作可能環境の全ての環境要素の情報を含んでいない場合は、動作可能性は不明と判断する。
【００６４】
続いて、シナリオ情報提供部２２１は、ステップＳ２０３において選択したサンプルシナリオそれぞれについて、ユーザＩＤ、ユーザアカウント及び実行端末ＩＤと、選択したサンプルシナリオのシナリオＩＤとが設定されているログ情報を検索する。シナリオ情報提供部２２１は、検索の結果、ログ情報が特定できなかった場合、サンプルシナリオが未実行であると判断する。シナリオ情報提供部２２１は、検索の結果、ログ情報が特定された場合、特定されたログ情報からサンプルシナリオの動作結果を読み出す（ステップＳ２０９）。
【００６５】
シナリオ情報提供部２２１は、ステップＳ２０３において選択したサンプルシナリオ及びサービスシナリオそれぞれのシナリオ名の一覧と、サンプルシナリオの動作結果及びサービスシナリオの動作可能性の表示を含むシナリオ選択画面（例えば、図１３）の画面データを生成する（ステップＳ２０５）。シナリオ情報提供部２２１は、生成したシナリオ選択画面の画面データをシナリオ実行端末４に送信する（ステップＳ２０６）。シナリオ実行端末４は、ステップＳ１０４からの処理を実行する。
【００６６】
ステップＳ１０５において、ユーザが入力部４２によりサービスシナリオのシナリオ名を選択した場合、図１５のステップＳ２２１において、シナリオ提供装置２のシナリオ送信部２２３は、ＮＯと判定する（ステップＳ２２１：ＮＯ）。シナリオ送信部２２３は、シナリオ要求から読み出したシナリオＩＤにより特定されるサービスシナリオ管理情報からサービスシナリオファイルを読み出す。シナリオ送信部２２３は、読み出したサービスシナリオファイルを、スケジュール情報に設定されているユーザＩＤ、ユーザカウント及び実行端末ＩＤにより特定されるシナリオ実行端末４に送信する（ステップＳ２２５）。
【００６７】
シナリオ実行端末４のシナリオ受信部４５４は、シナリオ提供装置２からサービスシナリオファイルを受信すると（ステップＳ１２１：ＮＯ）、受信したサービスシナリオファイルを記憶部４１に書き込む（ステップＳ１２５）。サービスシナリオが汎用シナリオの場合、機能Ａ実行部４６ａは、サービスシナリオファイルに含まれるカスタマイズ用ファイルを記憶部４１から読み出して表示する。機能Ａ実行部４６ａは、表示されたカスタマイズ用ファイルに、入力部４２を用いてユーザが入力した変数の値を書き込み、カスタマイズ用ファイルを更新する。
【００６８】
シナリオ実行部４５５は、記憶部４１に記憶されているサービスシナリオファイルを用いてサービスシナリオを実行する（ステップＳ１２６）。ログ送信部４５６は、サービスシナリオの実行結果を示すログ情報を生成して、シナリオ提供装置２に送信する（ステップＳ１２７）。なお、ログ送信部４５６におけるログ情報の生成及び送信は、サービスシナリオ内の処理として記述されてもよい。
【００６９】
シナリオ提供装置２のログ受信部２２４は、シナリオ実行端末４から受信したログ情報を記憶部２１に書き込む（ステップＳ２２６）。推定部２２５は、ログ情報が動作ＯＫを示している場合、ログ情報の実行シナリオに設定されているシナリオＩＤによりサービスシナリオ管理情報を特定し、動作可能環境を読み出す。推定部２２５は、ログ情報に設定されているユーザＩＤ及びユーザアカウントが設定されているユーザ管理情報を特定する。推定部２２５は、ログ情報から実行端末ＩＤを読み出し、読み出した実行端末ＩＤと対応付けてユーザ管理情報に設定されているユーザ環境の情報を、読み出した動作可能環境を用いて更新する（ステップＳ２２７）。例えば、推定部２２５は、読み出した動作可能環境が示す環境要素のうち、ユーザ環境に未設定の環境要素を追加する。また、推定部２２５は、ログ情報が動作ＮＧを示している場合、サービスシナリオ管理情報に設定されている動作可能環境が示す環境要素のうち少なくとも一部を有していない旨によりユーザ環境を更新してもよい。これにより、サービスシナリオの実行結果を用いてユーザ環境の情報を蓄積し、他のサービスシナリオの動作ＯＫ又はＮＧの判定に用いることができる。
【００７０】
なお、図１４及び図１５に示す動作では、シナリオ提供装置２は、ステップＳ２２４の処理の後、ステップＳ２０４からの処理を行い、これに伴い、シナリオ実行端末４は、ステップＳ１２４の処理の後、ステップＳ１０４からの処理を行っているが、シナリオ実行端末４は、ステップＳ１２４の処理の後、ステップＳ１０１の処理を行い、これに伴い、シナリオ提供装置２は、ステップＳ２２４の処理の後、ステップＳ２０１からの処理を行ってもよい。
【００７１】
なお、シナリオ提供装置２の処理部４４は、サービスシナリオファイルのダウンロードや、シナリオ実行端末４から受信したログ情報が示すサービスシナリオの実行に基づいて課金を行ってもよい。
【００７２】
また、スケジュール管理部２２２は、ステップＳ２０７において、動作ＮＧ又は動作可能性が不明のサービスシナリオのシナリオＩＤが設定されたシナリオ要求を受信した場合、動作ＮＧの可能性がある旨のメッセージをシナリオ実行端末４に送信し、表示させてもよい。シナリオ提供装置２は、メッセージ表示後に再びそのサービスシナリオのシナリオ要求をシナリオ実行端末４から受けた場合に、ステップＳ２０８以降の処理を行ってもよく、メッセージ表示後にシナリオ要求の受信待ちに戻り、再びステップＳ２０７の処理を行ってもよい。
【００７３】
また、ステップＳ２０３において、シナリオ提供装置２のシナリオ情報提供部２２１は、以下のようにサンプルシナリオを選択してもよい。シナリオ情報提供部２２１は、ユーザＩＤ、ユーザアカウント及び実行端末ＩＤに基づいてユーザ管理情報からユーザ環境を読み出す。さらに、シナリオ情報提供部２２１は、上記のようにシナリオ検索条件に基づいて選択した各サービスシナリオのサービスシナリオ管理情報から動作可能環境を読み出す。シナリオ情報提供部２２１は、読み出された動作可能環境が示す環境要素のうち、ユーザ環境からはその環境要素を満たしているか否かを判定することができない環境要素を抽出する。シナリオ情報提供部２２１は、抽出した環境要素を判定対象環境に含んだサンプルシナリオ管理情報のサンプルシナリオを選択する。これにより、実行させる必要のないサンプルシナリオの情報をユーザに提供しないようにすることができる。
【００７４】
また、シナリオ提供装置２は、シナリオ選択画面において、動作ＮＧと推定されるサービスシナリオのシナリオ名の近傍に、どのような環境要素がないために動作ＮＧと推定されるかの情報を表示させてもよい。また、シナリオ提供装置２は、シナリオ選択画面において、動作ＯＫか動作ＮＧかを推定できないサービスシナリオのシナリオ名の近傍に、どのような環境要素の情報がないために推定できないかの情報を表示させてもよい。また、シナリオ提供装置２は、シナリオ選択画面において、サービスシナリオのシナリオ名の近傍に、サービスシナリオの判定対象環境の情報を表示してもよい。また、シナリオ提供装置２は、シナリオ選択画面において、サービスシナリオ名に対応付けて、サービスシナリオ管理情報から読み出した説明の情報の全て又は一部を表示してもよく、説明へのリンクを表示してもよい。
【００７５】
上述した実施形態によれば、シナリオ提供装置２は、ユーザの環境を判定することができるサンプルシナリオ群をシナリオ実行端末４に提示し、シナリオ実行端末４は、サンプルシナリオの実行結果をシナリオ提供装置２にフィードバックする。シナリオ提供装置２は、フィードバックされたサンプルシナリオの実行結果を分析して、シナリオ提供装置２へ未送信であり、シナリオ提供装置２において実行されていないサービスシナリオのシナリオ提供装置２における動作可能性をユーザに提示する。
【００７６】
なお、上記では、シナリオ提供装置２が、シナリオ実行端末４から受信したシナリオ検索条件に基づいて選択したサービスシナリオの一覧を提供する場合を説明したが、シナリオ提供装置２が任意の条件によって選択したサービスシナリオの一覧をシナリオ実行端末４に提供するときにも適用可能である。例えば、シナリオ提供装置２が、ユーザに推薦するサービスシナリオの一覧をシナリオ実行端末４に提供する場合に適用可能である。
【００７７】
従来、ユーザは、サービスシナリオの動作可能性を知りたい場合や、購入したＲＰＡシナリオが正常に動作しない場合に、事業者のカスタマーセンターなどに問い合わせ行っていた。この問い合わせの際に、ユーザは、自分のＰＣの環境についての情報を求められることがあった。そのため、ユーザには、ＰＣの環境を確認しながらカスタマーセンターに情報を提供する手間が生じていた。加えて、事業者側は、ユーザからの問合せに対応するための人的リソースが必要であった。本実施形態によれば、ユーザは、シナリオ提供装置２から提供されるサービスシナリオが、自分のシナリオ実行端末４の環境において正常に動作する可能性があるかを簡易に確認してから購入することが可能となる。よって、ユーザの負荷及び事業者の負荷を低減することが可能になる。
【００７８】
上述した実施形態におけるシナリオ提供装置２及びシナリオ実行端末４の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７９】
以上説明した実施形態によれば、シナリオ提供システムは、シナリオ提供装置とシナリオ実行端末とを有する。シナリオ提供装置は、記憶部と、シナリオ送信部と、ログ受信部と、推定部と、シナリオ情報提供部とを備える。記憶部は、シナリオ実行端末における処理の手順を示すシナリオと、シナリオが動作するシナリオ実行端末の環境、すなわち、シナリオを正常に処理するために必要なシナリオ実行端末の環境である動作可能環境とを記憶する。シナリオ送信部は、シナリオをシナリオ実行端末に送信する。ログ受信部は、シナリオ送信部が送信したシナリオをシナリオ実行端末において実行した結果を示すログ情報を受信して記憶部に書き込む。推定部は、シナリオ実行端末のログ情報が示すシナリオの実行結果と、シナリオ実行端末において実行されたシナリオの動作可能環境とに基づいて、シナリオ実行端末の環境を推定する。シナリオ情報提供部は、推定部が推定したシナリオ実行端末の環境とシナリオ提供装置に未送信のシナリオの動作可能環境とに基づいて、未送信のシナリオがシナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果をシナリオ実行端末に送信する。
【００８０】
シナリオ実行端末は、シナリオ受信部と、シナリオ実行部と、ログ送信部と、シナリオ情報受信部とを備える。シナリオ受信部は、シナリオ提供装置からシナリオを受信する。シナリオ実行部は、シナリオ受信部が受信したシナリオを実行する。ログ送信部は、シナリオ実行部により実行されたシナリオの実行結果を示すログ情報をシナリオ提供装置に送信する。シナリオ情報受信部は、自装置に未送信のシナリオが自装置において正常に動作するか否かの動作可能性の情報をシナリオ提供装置から受信して表示部に表示する。
【００８１】
なお、シナリオは、シナリオ実行端末をログ送信部として動作させるための処理を含んでもよい。また、シナリオ送信部は、シナリオ実行端末の環境を判定するための処理が含まれるシナリオであるサンプルシナリオを送信してもよい。
【００８２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８３】
１…シナリオ提供システム，  ２…シナリオ提供装置，  ４…シナリオ実行端末，  ６…ネットワーク，  ２１…記憶部，  ２２…処理部，  ４１…記憶部，  ４２…入力部，  ４３…表示部，  ４４…処理部，４５…シナリオ実行機能部，  ４６ａ…機能Ａ実行部，４６ｂ…機能Ｂ実行部，４６ｃ…機能Ｃ実行部，  ２２１…シナリオ情報提供部，  ２２２…スケジュール管理部，  ２２３…シナリオ送信部，  ２２４…ログ受信部，  ２２５…推定部，  ４５１…シナリオ情報受信部，  ４５２…シナリオ選択部，  ４５３…スケジュール登録部，  ４５４…シナリオ受信部，  ４５５…シナリオ実行部，  ４５６…ログ送信部
【図１】
0006866434.tif 000002
【図２】
0006866434.tif 000003
【図３】
0006866434.tif 000004
【図４】
0006866434.tif 000005
【図５】
0006866434.tif 000006
【図６】
0006866434.tif 000007
【図７】
0006866434.tif 000008
【図８】
0006866434.tif 000009
【図９】
0006866434.tif 000010
【図１０】
0006866434.tif 000011
【図１１】
0006866434.tif 000012
【図１２】
0006866434.tif 000013
【図１３】
0006866434.tif 000014
【図１４】
0006866434.tif 000015
【図１５】
0006866434.tif 000016