(57)【要約】【課題】ユーザがＲＰＡのシナリオを容易に準備する。【解決手段】シナリオ提供装置２は、シナリオファイルと、シナリオを構成する処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、シナリオを選択するためのメニューとを記憶する。シナリオ提供装置２のメニュー提供部は、シナリオ実行端末３にメニューを表示させ、表示させたメニューに含まれる選択肢の中からシナリオ実行端末３において選択された選択肢に応じてシナリオを決定する。シナリオ提供装置２のシナリオ提供部は、決定されたシナリオのシナリオファイル及びカスタマイズ用ファイルを送信する。シナリオ実行端末３のシナリオ実行部は、シナリオファイルが示すシナリオに、ユーザがカスタマイズ用ファイルに記述した変数の設定値を代入して実行する。【選択図】図１
2020113034.tif 000002
【特許請求の範囲】
【請求項１】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、
前記シナリオ提供装置は、
前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部と、
前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供部と、
前記メニュー提供部が決定した前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供部とを備え、
前記シナリオ実行端末は、
前記シナリオ提供装置から受信したメニューを表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択部と、
前記シナリオ提供装置から前記シナリオファイル及び前記カスタマイズ用ファイルを受信するシナリオ受信部と、
ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集部と、
前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行部とを備える、
シナリオ提供システム。
【請求項２】
前記カスタマイズ用ファイルは、前記変数の設定値に関する説明の記述を含む、
請求項１に記載のシナリオ提供システム。
【請求項３】
前記メニューは、シナリオの機能と、シナリオ中に用いられる機能を前記シナリオ実行端末において実現するアプリケーションと、前記シナリオ実行端末における前記シナリオの実行環境と、シナリオ中で利用する外部のサービスとのうち１以上を前記選択肢に用いる、
請求項１又は請求項２に記載のシナリオ提供システム。
【請求項４】
前記シナリオ実行端末は、前記シナリオに含まれる所定の処理の実行、又は、前記シナリオの実行結果を示すログデータを前記シナリオ提供装置に出力するログ出力部をさらに備える、
請求項１から請求項３のいずれか一項に記載のシナリオ提供システム。
【請求項５】
前記シナリオ提供装置は、前記シナリオ実行端末から受信した前記ログデータに基づいて課金を行う課金部をさらに備える、
請求項４に記載のシナリオ提供システム。
【請求項６】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ提供装置であって、
前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部と、
前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供部と、
前記メニュー提供部が決定した前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供部と、
を備えるシナリオ提供装置。
【請求項７】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ実行端末であって、
前記シナリオ実行端末における処理の手順を示すシナリオを選択するためのメニューをシナリオ提供装置から受信して表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択部と、
前記シナリオ提供装置から、前記選択肢に応じて決定された前記シナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルとを受信するシナリオ受信部と、
ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集部と、
前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行部と、
を備えるシナリオ実行端末。
【請求項８】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ提供方法であって、
前記シナリオ提供装置は、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部を有しており、
前記シナリオ提供装置が、
前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供ステップと、
前記メニュー提供ステップにおいて決定された前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供ステップと、
前記シナリオ実行端末が、
前記シナリオ提供装置から受信したメニューを表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択ステップと、
前記シナリオ提供装置から前記シナリオファイル及び前記カスタマイズ用ファイルを受信するシナリオ受信ステップと、
ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集ステップと、
前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行ステップと、
を有するシナリオ提供方法。
【請求項９】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ提供装置が実行するシナリオ提供方法であって、
前記シナリオ提供装置は、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部を有しており、
前記シナリオ提供装置が、
前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供ステップと、
前記メニュー提供ステップにおいて決定された前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供ステップと、
を有するシナリオ提供方法。
【請求項１０】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ実行端末が実行するシナリオ実行方法であって、
前記シナリオ実行端末における処理の手順を示すシナリオを選択するためのメニューをシナリオ提供装置から受信して表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択ステップと、
前記シナリオ提供装置から、前記選択肢に応じて決定された前記シナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルとを受信するシナリオ受信ステップと、
ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集ステップと、
前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行ステップと、
を有するシナリオ実行方法。
【請求項１１】
コンピュータを、請求項６のシナリオ提供装置として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項７のシナリオ実行端末として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオ提供システム、シナリオ提供装置、シナリオ実行端末、シナリオ提供方法、シナリオ実行方法及びプログラムに関する。
【背景技術】
【０００２】
ＲＰＡ（Robotic Process Automation）は、ＰＣ（パーソナルコンピュータ）等の情報処理装置を用いて人手で行っていた定型的な作業を自動で実行可能な技術である。例えば、作業手順を記述したシナリオを作成し（例えば、特許文献１参照）、ＰＣがそのシナリオを実行することで、人手で行っていた作業を再現する（例えば、特許文献２参照）。ＲＰＡにより、時間的コストや人的コストを削減し、作業ミスを低減することもできる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０２６４５１号公報
【特許文献２】特許第４８８３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＲＰＡの導入を検討している潜在的なユーザの中には、シナリオの作成が難しいのではないかという懸念のために、導入を躊躇しているユーザもいる。また、ＲＰＡを既に導入しているユーザの中には、シナリオ作成のための負担を軽減したいというユーザがいる。
【０００５】
上記事情に鑑み、本発明は、ユーザがＲＰＡのシナリオを容易に準備することができるシナリオ提供システム、シナリオ提供装置、シナリオ実行端末、シナリオ提供方法、シナリオ実行方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、前記シナリオ提供装置は、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部と、前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供部と、前記メニュー提供部が決定した前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供部とを備え、前記シナリオ実行端末は、前記シナリオ提供装置から受信したメニューを表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択部と、前記シナリオ提供装置から前記シナリオファイル及び前記カスタマイズ用ファイルを受信するシナリオ受信部と、ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集部と、前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行部とを備える、シナリオ提供システムである。
【０００７】
本発明の一態様は、上述のシナリオ提供システムであって、前記カスタマイズ用ファイルは、前記変数の設定値に関する説明の記述を含む。
【０００８】
本発明の一態様は、上述のシナリオ提供システムであって、前記メニューは、シナリオの機能と、シナリオ中に用いられる機能を前記シナリオ実行端末において実現するアプリケーションと、前記シナリオ実行端末における前記シナリオの実行環境と、シナリオ中で利用する外部のサービスとのうち１以上を前記選択肢に用いる。
【０００９】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオ実行端末は、前記シナリオに含まれる所定の処理の実行、又は、前記シナリオの実行結果を示すログデータを前記シナリオ提供装置に出力するログ出力部をさらに備える。
【００１０】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオ提供装置は、前記シナリオ実行端末から受信した前記ログデータに基づいて課金を行う課金部をさらに備える。
【００１１】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ提供装置であって、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部と、前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供部と、前記メニュー提供部が決定した前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供部と、を備えるシナリオ提供装置である。
【００１２】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ実行端末であって、前記シナリオ実行端末における処理の手順を示すシナリオを選択するためのメニューをシナリオ提供装置から受信して表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択部と、前記シナリオ提供装置から、前記選択肢に応じて決定された前記シナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルとを受信するシナリオ受信部と、ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集部と、前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行部と、を備えるシナリオ実行端末である。
【００１３】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ提供方法であって、前記シナリオ提供装置は、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部を有しており、前記シナリオ提供装置が、前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供ステップと、前記メニュー提供ステップにおいて決定された前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供ステップと、前記シナリオ実行端末が、前記シナリオ提供装置から受信したメニューを表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択ステップと、前記シナリオ提供装置から前記シナリオファイル及び前記カスタマイズ用ファイルを受信するシナリオ受信ステップと、ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集ステップと、前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行ステップと、を有するシナリオ提供方法である。
【００１４】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ提供装置が実行するシナリオ提供方法であって、前記シナリオ提供装置は、前記シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、前記シナリオを選択するためのメニューとを記憶する記憶部を有しており、前記シナリオ提供装置が、前記シナリオ実行端末に前記メニューを表示させ、表示させた前記メニューに含まれる選択肢の中から前記シナリオ実行端末において選択された前記選択肢に応じてシナリオを決定するメニュー提供ステップと、前記メニュー提供ステップにおいて決定された前記シナリオの前記シナリオファイル及び前記カスタマイズ用ファイルを前記シナリオ実行端末に送信するシナリオ提供ステップと、を有するシナリオ提供方法である。
【００１５】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムにおける前記シナリオ実行端末が実行するシナリオ実行方法であって、前記シナリオ実行端末における処理の手順を示すシナリオを選択するためのメニューをシナリオ提供装置から受信して表示部に表示し、前記メニューから選択された選択肢を前記シナリオ提供装置に通知するシナリオ選択ステップと、前記シナリオ提供装置から、前記選択肢に応じて決定された前記シナリオが記述されたシナリオファイルと、前記シナリオファイルに記述された前記シナリオを構成する前記処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルとを受信するシナリオ受信ステップと、ユーザによる入力に従って、前記カスタマイズ用ファイルに前記変数の値を設定する編集を行うカスタマイズ用ファイル編集ステップと、前記シナリオファイルが示す前記シナリオに、前記カスタマイズ用ファイルに記述されている前記変数の前記設定値を代入し、前記設定値が代入された前記シナリオを実行するシナリオ実行ステップと、を有するシナリオ実行方法である。
【００１６】
本発明の一態様は、コンピュータを、上述のシナリオ提供装置として機能させるためのプログラムである。
【００１７】
本発明の一態様は、コンピュータを、上述のシナリオ実行端末として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明により、ユーザが容易にＲＰＡのシナリオを準備することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態によるシナリオ提供システムの構成図である。
【図２】同実施形態によるシナリオ実行端末において実行可能なシナリオの例を示す図である。
【図３】同実施形態によるシナリオ提供装置の構成を示す機能ブロック図である。
【図４】同実施形態によるシナリオ実行端末の構成を示す機能ブロック図である。
【図５】同実施形態によるシナリオ提供システムのシナリオ選択におけるシーケンス図である。
【図６】同実施形態によるシナリオメニュー画面の例を示す図である。
【図７】同実施形態によるシナリオ提供システムのシナリオ実行におけるシーケンス図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図１は、本発明の一実施形態によるシナリオ提供システム１の構成図である。シナリオ提供システム１は、事業者のシナリオ提供装置２と、ユーザのシナリオ実行端末３とを備える。同図では、シナリオ実行端末３を１台のみ示しているが、ユーザの数及び各ユーザが使用するシナリオ実行端末３の台数は任意である。シナリオ提供装置２は、インターネットなどのネットワーク７を介して、シナリオ実行端末３と接続されている。ユーザの例は、企業、学校、団体などであるが、これらに限らない。
【００２１】
事業者は、シナリオ提供装置２により、ユーザへＲＰＡ（Robotic Process Automation）のシナリオを提供する。シナリオ提供装置２を保有する業者がシナリオを作成してもよく、その業者とは異なるシナリオ提供業者がシナリオを作成してもよい。シナリオ実行端末３は、例えば、ＰＣである。シナリオ実行端末３は、シナリオ提供装置２が提供するシナリオの中からユーザ所望のシナリオを選択してダウンロードする。
【００２２】
図２は、シナリオ実行端末３において実行可能なシナリオの例を示す図である。図２（ａ）は、従来と同様の記述形式のシナリオを示す。従来は、固定のシナリオの中に直接各処理を定義していた。そのため、複数のシナリオにおいて大部分が同じ処理であっても一部に異なる処理が含まれている場合、その異なる処理が類似していてもそれぞれ別のシナリオとして作成しなければならなかった。事業者が、このような固定のシナリオを作成してユーザに提供することを想定すると、用意しなければならないシナリオの数が多くなることに加え、ユーザがシナリオを選択可能とするために、類似するシナリオ間でどこが異なっているかの情報をユーザに提供しなければならない。そのため、事業者におけるシナリオの管理が煩雑となる。また、ユーザが、多くのシナリオの中から事業者から提供される情報に基づいて自分に必要なシナリオを選択することも困難である。
【００２３】
図２（ｂ）は、カスタマイズ可能な形式のシナリオを示す。図２（ｂ）に示すシナリオは、汎用シナリオとカスタマイズ用ファイルとにより構成される。汎用シナリオは、複数のユーザのシナリオ実行端末３において使用可能なように汎用的に記述されたシナリオである。カスタマイズ用ファイルは、ユーザの使用環境やユーザ独自の業務運用規則等に合うように汎用シナリオをカスタマイズするためのSlugline fileである。各ユーザは、カスタマイズ用ファイルを用いて汎用シナリオをカスタマイズしてから、シナリオ実行端末３に実行させる。
【００２４】
汎用シナリオは、動作を抽象化し、ユーザがカスタマイズする対象となる変数の部分を除いて記述される。ユーザは、カスタマイズ用ファイルに、変数の設定値を記述する。ユーザによる汎用シナリオの修正は不要である。このように、シナリオにおいて用いられる変数部分をカスタマイズ用ファイルに外部化することで、シナリオを抽象化して一つの汎用シナリオに集約することが可能となる。
【００２５】
例えば、出張精算書類作成シナリオでは、インターネット上で提供されている経路及び運賃計算のウェブサイトを利用することが考えられる。このようなサイトが複数ある場合、汎用シナリオには、アクセス先のＵＲＬ（Universal Resource Locator）を変数で記述しておき、カスタマイズ用ファイルには、その変数の値として、ユーザが使用するサイトのＵＲＬを記述する。また、汎用シナリオには、そのＵＲＬへアクセスするときに入力として用いる特急利用有無を変数として記述しておき、カスタマイズ用ファイルには、その変数の値として特急利用有又は特急利用無を記述する。シナリオ実行端末３は、その設定値を用いたシナリオの実行に関するログをシナリオ提供装置２に出力する。
【００２６】
本実施形態では、シナリオ提供装置２は、図２（ｂ）に示す形式のシナリオをシナリオ実行端末３に提供する。なお、シナリオ提供装置２が提供するシナリオの中に、図２（ａ）の形式のシナリオが含まれていてもよい。シナリオ提供装置２は、シナリオ実行端末３へのシナリオのダウンロード（シナリオの購入）、シナリオ実行端末３におけるシナリオの実行回数、シナリオ中の所定の処理の実行等に応じて課金を行う。課金対象の処理は、シナリオ中に固定で含まれている処理でもよく、カスタマイズ用ファイルに記述された変数値を用いて実行される処理でもよい。
【００２７】
図３は、シナリオ提供装置２の構成を示す機能ブロック図である。シナリオ提供装置２は、例えば、クラウド上の１台以上の情報処理装置（コンピュータサーバ）により実現される。シナリオ提供装置２が、ネットワーク７を介して通信可能に接続された複数台の情報処理装置を用いて実装される場合、シナリオ提供装置２が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。シナリオ提供装置２の各機能部を、いずれの情報処理装置により実装するかは任意とすることができる。また、同一の機能部を複数の情報処理装置により実現してもよい。
【００２８】
シナリオ提供装置２は、記憶部２１と、処理部２２とを有する。記憶部２１は、ユーザデータと、シナリオ選択メニューと、メニューに対応付けられたシナリオセットと、シナリオのヘルプファイルと、ログデータと、課金データとを記憶する。
【００２９】
ユーザデータは、ＲＰＡを利用するユーザに関する情報を示す。例えば、ユーザデータは、ユーザＩＤ、ユーザの名前及び連絡先、ユーザが保有するシナリオ実行端末３のライセンス及びクライアントＩＤ等の情報を含む。ユーザＩＤは、ユーザを一意に特定する情報である。ライセンスは、ユーザが使用するシナリオ実行端末３においてシナリオの実行に関する機能（以下、シナリオ実行機能と記載）の利用を許可するためのデータである。クライアントＩＤは、シナリオ実行端末３のシナリオ実行機能に払い出された識別情報である。
【００３０】
シナリオ選択メニューは、シナリオを選択するためのメニューのデータである。本実施形態では、階層化されたメニューを用いる場合を例に説明する。最下層のメニューには、シナリオＩＤが対応付けられる。シナリオＩＤは、シナリオセットを一意に特定する識別情報である。なお、シナリオを決定するための選択肢（メニュー項目）をユーザが選択可能であれば、メニューは階層化されていなくてもよい。
【００３１】
シナリオセットは、シナリオＩＤ、シナリオファイル及びカスタマイズ用ファイルを含む。シナリオファイルは、図２（ｂ）に示す汎用シナリオが記述されたファイルである。シナリオファイルは、図２（ａ）の記述形式のシナリオのファイルでもよい。この場合、シナリオセットにカスタマイズ用ファイルは含まれない。
【００３２】
例えば、汎用シナリオに、ある判定処理に用いられる閾値が変数Ｘとして記述されている場合、カスタマイズ用ファイルには変数Ｘの値を記述する箇所が含まれる。カスタマイズ用ファイルにおいて変数Ｘの値を記述する行又はその上下の行や、ヘルプファイルに、「”変数Ｘ＝”の右側に上限の金額を設定してください（例：１０００円の場合、変数Ｘ＝１０００）」といった内容を記載しておく。
【００３３】
また、例えば、汎用シナリオに、ある処理においてアクセスするウェブサイトのＵＲＬが変数Ｙとして記述されている場合、カスタマイズ用ファイルには変数Ｙの値を記述する箇所が含まれる。カスタマイズ用ファイルにおいて変数Ｙの値を記述する行又はその上下の行や、ヘルプファイルには、「”変数Ｙ＝”の右側に、ウェブサイトＡを利用する場合は"http://aaa.xxx"、ウェブサイトＢを利用する場合は"http://bbb.xxx"と書いてください」といった内容を記載しておく。
【００３４】
上記のように、カスタマイズ用ファイルにおいて変数の値が記述される箇所の近傍には、その変数の値をどのように記述するかの説明が含まれる。説明は、設定可能な変数の値の選択肢を含み得る。これにより、シナリオ作成に慣れていないユーザでも、カスタマイズ用ファイル内に記述されている説明に従って変数の値を記述することができる。従って、ユーザの利用環境やユーザ独自の業務運用規則に合うように簡易にシナリオをカスタマイズすることができる。
【００３５】
ヘルプファイルは、シナリオに関する説明が記述されたファイルであり、シナリオの機能や、シナリオ実行時に利用される機能や、カスタマイズ用ファイルへどのように変数の設定値を記述するかの説明を含む。ヘルプファイルは、シナリオＩＤと対応付けられている。ヘルプファイルは、シナリオセット内に含まれてもよい。
【００３６】
ログデータは、クライアントＩＤと、時刻と、イベントとを対応付けた情報である。イベントは、シナリオ実行端末３が行った動作を示す。例えば、イベントは、シナリオのダウンロード、シナリオの実行開始、シナリオにおける特定の処理の実行、シナリオ実行結果（正常終了、異常終了など）等を含む。実行されたときにログデータとして収集されるシナリオ中の処理は、例えば、有料の機能を実行する処理（課金対象の処理）を含む。
【００３７】
例えば、インターネット上に、印刷された文字を認識可能なＯＣＲサービスＡと、手書きの文字を認識可能なＯＣＲサービスＢがあり、ＯＣＲサービスＡよりもＯＣＲサービスＢの利用料金のほうがが高額であるとする。汎用シナリオには、ＯＣＲのサイトへ画像データを送信して認識結果を受信する処理が含まれており、その処理におけるアクセス先のＵＲＬが変数により記述される。カスタマイズ用ファイルには、その変数の設定値として、ＯＣＲサービスＡのサイトのＵＲＬと、ＯＣＲサービスＢのサイトのＵＲＬとのいずれかを記述する。ログデータのイベントには、ＯＣＲサービスＡのサイトへアクセスしたこと、又は、ＯＣＲサービスＢのサイトへアクセスしたことが設定される。なお、汎用シナリオには、このように実行時にイベントとしてログデータを収集する対象の処理であることを示す情報が含まれる。
【００３８】
課金データには、ユーザＩＤと、クライアントＩＤと、課金対象と、金額とが記述される。課金対象は、シナリオセットのダウンロード、シナリオの実行、シナリオ内の有料の機能の実行などである。シナリオの実行、シナリオ内の有料の機能の実行は、ログデータに基づいて判断される。なお、ログデータに、シナリオの実行結果がエラーとなったことが設定されている場合、シナリオの実行に対する課金、エラーとなったシナリオ内の有料の機能の実行に対する課金を行わないか、割引を行うようにしてもよい。
【００３９】
処理部２２は、メニュー提供部２２１と、シナリオ提供部２２２と、ログ収集部２２３と、課金部２２４とを有する。メニュー提供部２２１は、記憶部２１に記憶されるメニューデータを用いて、メニューを表示させるための画面データを生成してシナリオ実行端末３に送信する。メニュー提供部２２１は、シナリオ実行端末３に表示させているメニューが最下層のメニューではない場合、シナリオ実行端末３から受信したユーザのメニュー選択に応じて、階層化されたメニューの中から次にシナリオ実行端末３に表示させるメニューを選択する。メニュー提供部２２１は、選択したメニューを表示させるための画面データを生成してシナリオ実行端末３に送信する。一方、メニュー提供部２２１は、シナリオ実行端末３に表示させているメニューが最下層のメニューである場合、シナリオ実行端末３から受信したユーザのメニュー選択に応じて、シナリオを決定する。
【００４０】
シナリオ提供部２２２は、メニュー提供部２２１が決定したシナリオのシナリオセットを記憶部２１から読み出し、シナリオ実行端末３に送信する。シナリオ提供部２２２は、ユーザ又はシナリオ実行端末３に応じてシナリオセットを暗号化して送信してもよい。ログ収集部２２３は、各シナリオ実行端末３から発生したイベントの情報を受信してログデータを生成し、記憶部２１に書き込む。課金部２２４は、ログデータに記述されるイベントを参照して、課金データを生成する。
【００４１】
図３は、シナリオ実行端末３の構成を示す機能ブロック図である。シナリオ実行端末３は、記憶部３１と、入力部３２と、表示部３３と、処理部３４とを備える。記憶部３１は、ライセンス及びシナリオセットを記憶する。入力部３２は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部３２は、ユーザの指示をシナリオ実行端末３に入力する際にユーザによって操作される。表示部３３は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。
【００４２】
処理部３４は、シナリオ実行機能部３５と、機能Ｘ実行部３６とを備える。シナリオ実行機能部３５は、シナリオ選択部３５１と、シナリオ受信部３５２と、カスタマイズ用ファイル編集部３５３と、シナリオ実行部３５４と、ログ出力部３５５とを備える。
【００４３】
シナリオ選択部３５１は、シナリオ提供装置２からメニューを表示させるための画面データを受信して表示部３３にメニューを表示し、ユーザがメニューから選択した選択肢（メニュー選択）の情報をシナリオ提供装置２に通知する。シナリオ受信部３５２は、ユーザによるメニュー選択に基づいて最終的に決定されたシナリオセットをシナリオ提供装置２から受信する。シナリオ受信部３５２は、シナリオセットが暗号化されている場合は自装置が有する復号キーを用いて復号した後、シナリオセットを記憶部３１に書き込む。カスタマイズ用ファイル編集部３５３は、入力部３２による入力に基づいて、カスタマイズ用ファイルの編集を行う。
【００４４】
カスタマイズ用ファイル編集部３５３は、例えば、一般的なテキスト編集アプリケーションや文書編集アプリケーションにより実現可能である。シナリオ実行部３５４は、カスタマイズ用ファイルに記述された変数の値をシナリオファイルが示す汎用シナリオに設定して生成されたシナリオを実行する。ログ出力部３５５は、自装置において発生したイベントを記述したログデータを生成し、シナリオ提供装置２に通知する。
【００４５】
機能Ｘ実行部３６は、機能Ｘのアプリケーションを実行する。機能Ｘは、シナリオの実行に使用され得る機能であり、例えば、メール送受信、表計算、文書編集、はがき作成、図形描画、ウェブブラウザ等、ＰＣに実装される任意の機能とすることができる。同図では、機能Ａ、Ｂ、Ｃそれぞれのアプリケーションを実行する機能Ｘ実行部３６（Ｘ＝Ａ、Ｂ、Ｃ）を、機能Ａ実行部３６ａ、機能Ｂ実行部３６ｂ、機能Ｃ実行部３６ｃと記載している。
【００４６】
続いて、シナリオ提供システム１の動作について説明する。
図５は、シナリオ提供システム１のシナリオ選択におけるシーケンス図である。まず、シナリオ実行端末３は、ユーザＩＤ及びクライアントＩＤをシナリオ提供装置２に送信し、アクセスする（ステップＳ１１）。アクセス後、シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２にシナリオ選択の要求を送信する（ステップＳ１２）。シナリオ提供装置２のメニュー提供部２２１は、シナリオ選択の要求を受信すると、記憶部２１に記憶されているメニューデータを用いて、メニューを表示させるための画面データを生成し、シナリオ実行端末３に送信する（ステップＳ１３）。
【００４７】
ユーザは、シナリオ実行端末３のシナリオ選択部３５１が表示部３３に表示するメニューを選択していくことにより、シナリオを選択する（ステップＳ１４）。シナリオ選択部３５１は、選択されたシナリオのダウンロードをシナリオ提供装置２に要求する（ステップＳ１５）。シナリオ提供装置２のシナリオ提供部２２２は、ダウンロードが要求されたシナリオセットを記憶部２１から読み出し、暗号化してシナリオ実行端末３に送信する（ステップＳ１６）。シナリオ実行端末３のシナリオ受信部３５２は、シナリオ提供装置２から受信したシナリオセットを復号し、記憶部３１に書き込む。
【００４８】
シナリオ提供装置２のログ収集部２２３は、ユーザＩＤ、クライアントＩＤ、ダウンロードしたシナリオセットのシナリオＩＤ、ダウンロード時刻を設定したログデータを生成し、記憶部２１に書き込む（ステップＳ１７）。シナリオ提供装置２の課金部２２４は、ログデータに基づいて、ユーザＩＤと、クライアントＩＤと、シナリオＩＤと、シナリオの金額と、ダウンロード時刻とを設定した課金情報を生成し、記憶部２１に書き込む（ステップＳ１８）。
【００４９】
図６は、シナリオ提供装置２のメニュー提供部２２１が、シナリオ実行端末３に表示させるシナリオメニュー画面の例を示す図である。ユーザは、メニュー画面により、所望のシナリオを選択する。
【００５０】
シナリオ提供装置２のメニュー提供部２２１は、シナリオ実行端末３からシナリオ選択の要求を受信すると、第一階層メニュー５１を表示する画面データを記憶部２１から読み出して、シナリオ実行端末３に送信する。第一階層メニュー５１は、シナリオの大分類を選択するメニューである。シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２から受信した画面データにより、第一階層メニュー５１を表示部３３に表示する。シナリオ選択部３５１は、第一階層メニュー５１の中からユーザが入力部３２により選択した項目Ｉ１の情報をシナリオ提供装置２に送信する。
【００５１】
シナリオ提供装置２のメニュー提供部２２１は、選択された項目Ｉ１に応じた第二階層メニュー５２を表示する画面データを記憶部２１から読み出して、シナリオ実行端末３に送信する。シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２から受信した画面データにより、第二階層メニュー５２を表示部３３に表示する。シナリオ選択部３５１は、第二階層メニュー５２の中からユーザが入力部３２により選択した項目Ｉ２の情報をシナリオ提供装置２に送信する。
【００５２】
シナリオ提供装置２のメニュー提供部２２１は、選択された項目Ｉ２に応じた第三階層メニュー５３を表示する画面データを記憶部２１から読み出して、シナリオ実行端末３に送信する。シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２から受信した表示画面データにより、第三階層メニュー５３を表示部３３に表示する。シナリオ選択部３５１は、第三階層メニュー５３の中からユーザが入力部３２により選択した項目Ｉ３の情報をシナリオ提供装置２に送信する。
【００５３】
シナリオ提供装置２のメニュー提供部２２１は、選択された項目Ｉ３に応じてシナリオを決定すると、そのシナリオのヘルプファイルを表示する画面データを記憶部２１から読み出してシナリオ実行端末３に送信する。シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２から受信した画面データによりヘルプファイル表示画面５４を表示部３３に表示する。
【００５４】
ユーザは、ヘルプファイル表示画面５４に表示されるシナリオに関する説明や、カスタマイズ用ファイルの設定の仕方などを見て、そのシナリオの利用を決定した場合に入力部３２を用いてダウンロードボタン５５を選択する。シナリオ実行端末３のシナリオ選択部３５１は、シナリオ提供装置２にダウンロード要求を送信する。シナリオ提供装置２のシナリオ提供部２２２は、メニュー提供部２２１が決定したシナリオのシナリオセットを記憶部２１から読み出し、暗号化してシナリオ実行端末３に送信する。
【００５５】
なお、上記においては、メニューを三階層としたが、階層数は１以上の任意とすることができ、各階層のメニューにおける選択肢に応じてシナリオが決定するまでの階層数が異なってもよい。また、上記では、第一階層メニュー５１、第二階層メニュー５２は、シナリオの機能をメニューの項目とし、第三階層メニュー５３は、シナリオ中に用いられる機能をシナリオ実行端末３がどのアプリケーションを用いて行うかをメニューの項目とするものであるが、シナリオの選択のためのメニューの項目にこれ以外の情報を用いてもよい。例えば、シナリオ実行端末３が実装しているＯＳ（Operation System）の種類やディスプレイの大きさなどのシナリオ実行端末３におけるシナリオ実行環境、シナリオ中でアクセスするウェブサイトがどこであるか、等をシナリオの選択に用いてもよい。
【００５６】
同じ機能のシナリオであっても、変数の設定ではシナリオを共通化できない要因がある場合、その要因別のシナリオが作成される。そのため、その共通化できない要因がメニューの項目に用いられる。例えば、図６の例では、自治体Ｃ用のＸＸ書類の作成というシナリオの機能は同じであるが、シナリオ実行端末３が用いるブラウザの種類が異なる場合に、変数の設定ではシナリオ内の一部の処理が共通化できない。よって、ブラウザの種類別にシナリオを作成しているために、ブラウザの種類がメニューの項目に含まれる。一方、複数種類のブラウザのいずれも使用可能な汎用シナリオが作成できる場合、ブラウザの種類はメニューの項目に含まれない。
【００５７】
図７は、シナリオ提供システム１のシナリオ実行におけるシーケンス図である。シナリオ実行端末３のカスタマイズ用ファイル編集部３５３は、入力部３２によりユーザが選択したシナリオのカスタマイズ用ファイルを記憶部３１から読み出して表示する。さらに、カスタマイズ用ファイル編集部３５３は、そのシナリオのヘルプファイルをシナリオ提供装置２から読み出して又はシナリオセットから読み出して表示部３３に表示してもよい。カスタマイズ用ファイル編集部３５３は、表示されたカスタマイズ用ファイルに、入力部３２を用いてユーザが入力した変数の値を書き込み、更新したカスタマイズ用ファイルを記憶部３１に記憶させる（ステップＳ２１）。
【００５８】
ユーザが入力部３２によりシナリオを選択して実行指示を入力すると、シナリオ実行部３５４は、実行指示対象のシナリオのシナリオファイル及び更新されたカスタマイズ用ファイルを用いてシナリオを実行する（ステップＳ２２）。なお、ユーザは、少なくとも一部の設定値が異なるカスタマイズ用ファイルを複数編集して記憶部３１に記憶させておき、使用するカスタマイズ用ファイルの選択を入力部３２により入力してもよい。シナリオ実行部３５４は、指定されたシナリオのシナリオファイルに記述されている汎用シナリオに、カスタマイズ用ファイルに記述されている設定値を代入した実行用シナリオファイルを作成して記憶部３１に記憶し、この実行用シナリオファイルを実行する。あるいは、シナリオ実行部３５４は、シナリオファイルに記述されている汎用シナリオにおいて変数を用いる処理を実行する都度、カスタマイズ用ファイルからその変数の設定値を読み出して代入し、実行する。
【００５９】
シナリオ実行部３５４は、シナリオ実行において所定の処理を実行したことを示すイベント通知をシナリオ提供装置２に送信する（ステップＳ２３）。イベント通知には、ユーザＩＤ、クライアントＩＤ、実行されたシナリオのシナリオＩＤ、イベントの種類、イベント発生時刻等の情報が含まれる。シナリオ提供装置２のログ収集部２２３は、イベント通知に含まれる情報を用いてログデータを生成し、記憶部２１に書き込む（ステップＳ２４）。
【００６０】
また、シナリオ実行端末３のシナリオ実行部３５４は、シナリオの実行が終了した場合、シナリオ実行結果通知をシナリオ提供装置２に送信する（ステップＳ２４）。シナリオ実行結果通知には、ユーザＩＤ、クライアントＩＤ、実行されたシナリオのシナリオＩＤ、シナリオの実行結果、実行終了時刻等の情報が含まれる。シナリオ提供装置２のログ収集部２２３は、シナリオ実行結果通知に含まれる情報を用いてログデータを生成し、記憶部２１に書き込む（ステップＳ２６）。
【００６１】
なお、シナリオ実行部３５４は、イベント通知及びシナリオ実行結果通知を都度シナリオ提供装置２に通知せずに、所定の周期毎に通知してもよい。
【００６２】
シナリオ実行端末３の課金部２２４は、所定時間毎にステップＳ２４において生成されたログデータ、及び、ステップＳ２６において生成されたログデータに基づいて、課金情報を生成して記憶部２１に書き込む（ステップＳ２７）。ステップＳ２４において生成されたログデータに基づく課金情報には、ユーザＩＤと、クライアントＩＤと、シナリオＩＤと、イベントと、イベントに応じた金額と、イベント発生時刻とが設定される。ステップＳ２６において生成されたログデータに基づく課金情報には、ユーザＩＤと、クライアントＩＤと、シナリオＩＤと、シナリオＩＤ及びシナリオ実行結果に応じた金額と、実行終了時刻とが設定される。なお、課金部２２４は、ログデータの生成のたびに課金データを生成してもよい。
【００６３】
なお、上記の実施形態においては、シナリオ実行端末３においてカスタマイズ用ファイルを直接編集しているが、シナリオ提供装置２がシナリオ実行端末３から変数の設定値を受信し、受信した設定値を用いたカスタマイズ用ファイルを生成してシナリオ実行端末３に送信してもよい。例えば、シナリオ提供装置２のシナリオ提供部２２２は、シナリオ実行端末３からダウンロードが要求されたシナリオのカスタマイズ用ファイルに設定すべき各変数の設定値を入力するための設定値入力画面データをシナリオ実行端末３に送信する。ユーザは、シナリオ実行端末３の表示部３３に表示される設定値入力画面データ内の各変数の設定値入力フィールドに、入力部３２により、設定値を入力し、設定完了を入力する。各変数の設定値入力フィールドの右側、左側、上の行、下の行などの近傍には、その変数が何を表すのか、また、その変数の値をどのように記述するかの説明が含まれる。設定値入力フィールドは、任意の値を入力するものでもよく、とり得る値を設定値一覧から選択することにより入力するものでもよい。シナリオ実行端末３は、各変数の設定値入力フィールドに入力された設定値をシナリオ提供装置２に送信する。シナリオ提供装置２のシナリオ提供部２２２は、カスタマイズ用ファイルの各変数の設定値に、シナリオ実行端末３から受信した設定値を記述し、シナリオ実行端末３に送信する。
【００６４】
上述した実施形態によれば、シナリオ提供装置２は、プログラミングに慣れていない潜在的なユーザに対して、カスタマイズ用ファイルに値を記述することで個々のユーザ用にカスタマイズして利用可能なシナリオをユーザのシナリオ実行端末３に提供する。これにより、潜在的なユーザの持っている、シナリオ作成が困難ではないかという懸念を解消し、ＲＰＡの導入を促進することが可能となる。
【００６５】
また、ユーザ毎にＰＣの利用環境、画面の大きさ、実装しているアプリケーション、数値等の条件設定等は異なっている。それらの組み合わせに応じた数のシナリオをすべて準備すると仮定した場合、シナリオ提供装置２に用意しなければならないシナリオは膨大な数に上り、ユーザがその中から自分が利用するシナリオを的確に選択することも困難である。本実施形態によれば、ある程度の共通性を持った部分を抜き出したシナリオである汎用シナリオを作成し、目的に併せてカスタマイズ可能なカスタマイズ用ファイルとみ合わせるようにしたため、用意するシナリオの数を低減することができる。
【００６６】
しかしながら、汎用シナリオの部品をカスタマイズ用ファイルと組み合わせるとしても、ユーザ自身でカスタマイズ用ファイルを設定する必要がある。そこで、利便性を向上させるために、シナリオが動作する環境内にシナリオで使用する設定値を予め書き留めておき、シナリオの実行の都度いずれの設定値を利用するかを選択するのではなく、カスタマイズ用シナリオに記述されている設定値を参照するだけで、同じ動作であっても違う設定を可能とした。これにより、基本動作を抽象化した汎用的なシナリオの使用が可能となり、ユーザがカスタマイズ用ファイルに設定値を記述することで、ユーザは目的の機能のシナリオを容易に利用できるようになる。
【００６７】
上述した実施形態におけるシナリオ提供装置２及びシナリオ実行端末３の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００６８】
以上説明した実施形態によれば、シナリオ提供システムは、シナリオ提供装置とシナリオ実行端末とを有する。シナリオ提供装置は、記憶部と、メニュー提供部と、シナリオ提供部とを備える。記憶部は、シナリオ実行端末における処理の手順を示すシナリオが記述されたシナリオファイルと、シナリオファイルに記述されたシナリオを構成する処理の実行に用いられる変数の設定値を記述するためのカスタマイズ用ファイルと、シナリオを選択するためのメニューとを記憶する。カスタマイズ用ファイルは、変数の設定値に関する説明の記述を含んでもよい。メニュー提供部は、シナリオ実行端末にメニューを表示させ、表示させたメニューに含まれる選択肢の中からシナリオ実行端末において選択された選択肢に応じてシナリオを決定する。メニューが階層化されている場合、メニュー提供部は、シナリオ実行端末にメニューを表示させ、表示させたメニューが最下層ではない場合にはそのメニューに含まれる選択肢の中からシナリオ実行端末において選択された選択肢に応じて決定された一つ下層のメニューをシナリオ実行端末に表示させ、表示させたメニューが最下層の場合にはメニューに含まれる選択肢の中からシナリオ実行端末において選択された選択肢に応じてシナリオを決定する処理を、シナリオが決定するまで繰り返す。シナリオ提供部は、メニュー提供部が決定したシナリオのシナリオファイル及びカスタマイズ用ファイルをシナリオ実行端末に送信する。
【００６９】
シナリオ実行端末は、シナリオ選択部と、シナリオ受信部と、シナリオ実行部とを備える。シナリオ選択部は、シナリオ提供装置から受信したメニューを表示部に表示し、メニューから選択された選択肢をシナリオ提供装置に通知する。シナリオ受信部は、シナリオ提供装置からシナリオファイル及びカスタマイズ用ファイルを受信する。カスタマイズ用ファイル編集部は、ユーザによる入力に従って、カスタマイズ用ファイルに変数の値を設定する編集を行う。シナリオ実行部は、シナリオファイルが示すシナリオに、カスタマイズ用ファイルに記述されている変数の設定値を代入し、設定値が代入されたシナリオを実行する。
【００７０】
なお、カスタマイズ用ファイルは、変数の設定値に関する説明の記述を含んでもよい。また、メニューは、シナリオの機能、シナリオ中に用いられる機能をシナリオ実行端末において実現するアプリケーション、シナリオ実行端末におけるシナリオの実行環境（ＯＳの種類、ディスプレイの大きさなど）、シナリオ中で利用する外部のサービスのうち１以上を選択肢に用いてもよい。
【００７１】
また、シナリオ実行端末は、シナリオに含まれる所定の処理の実行、又は、シナリオの実行結果を示すログデータをシナリオ提供装置に出力するログ出力部をさらに備えてもよい。この場合、シナリオ提供装置は、シナリオ実行端末から受信したログデータに基づいて課金を行う課金部をさらに備えてもよい。
【００７２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７３】
１…シナリオ提供システム，  ２…シナリオ提供装置，  ３…シナリオ実行端末，  ７…ネットワーク，  ２１…記憶部，  ２２…処理部，  ３１…記憶部，  ３２…入力部，  ３３…表示部，  ３４…処理部，  ３５…シナリオ実行機能部，  ３６ａ…機能Ａ実行部，  ３６ｂ…機能Ｂ実行部，  ３６ｃ…機能Ｃ実行部，  ２２１…メニュー提供部，  ２２２…シナリオ提供部，  ２２３…ログ収集部，  ２２４…課金部，  ３５１…シナリオ選択部，  ３５２…シナリオ受信部，  ３５３…カスタマイズ用ファイル編集部，  ３５４…シナリオ実行部，  ３５５…ログ出力部
【図１】
2020113034.tif 000003
【図２】
2020113034.tif 000004
【図３】
2020113034.tif 000005
【図４】
2020113034.tif 000006
【図５】
2020113034.tif 000007
【図６】
2020113034.tif 000008
【図７】
2020113034.tif 000009