特許第6866434号(P6866434)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・アドバンステクノロジ株式会社の特許一覧

特許6866434シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム
<>
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000002
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000003
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000004
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000005
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000006
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000007
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000008
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000009
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000010
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000011
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000012
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000013
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000014
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000015
  • 特許6866434-シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6866434
(24)【登録日】2021年4月9日
(45)【発行日】2021年4月28日
(54)【発明の名称】シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラム
(51)【国際特許分類】
   G06F 8/60 20180101AFI20210419BHJP
   G06F 11/34 20060101ALI20210419BHJP
【FI】
   G06F8/60
   G06F11/34 176
【請求項の数】8
【全頁数】22
(21)【出願番号】特願2019-148434(P2019-148434)
(22)【出願日】2019年8月13日
(65)【公開番号】特開2021-33316(P2021-33316A)
(43)【公開日】2021年3月1日
【審査請求日】2019年8月13日
(73)【特許権者】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】山本 顕範
(72)【発明者】
【氏名】宮崎 宗一
(72)【発明者】
【氏名】田中 智博
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2006−146503(JP,A)
【文献】 特開2019−095946(JP,A)
【文献】 特開2009−020609(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、
前記シナリオ提供装置は、
ナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、
前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部とを備え、
前記シナリオ実行端末は、
前記シナリオ提供装置から前記シナリオを受信するシナリオ受信部と、
前記シナリオ受信部が受信した前記シナリオを実行するシナリオ実行部と、
前記シナリオ実行部により実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信部と、
自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信部とを備える、
シナリオ提供システム。
【請求項2】
前記記憶部は、前記シナリオに含まれる手順がシナリオ実行端末において正常に動作したか又は正常に動作しなかったかにより表される判定条件に対応した環境を示す判定対象環境の情報をさらに記憶し、
前記シナリオ提供装置は、前記ログ情報が示す前記シナリオの実行結果と合致する前記判定条件に対応した前記判定対象環境を前記シナリオ実行端末が有すると推定する推定部をさらに備え、
前記シナリオ情報提供部は、前記推定部が推定した前記シナリオ実行端末の前記環境と、複数の前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境とを照合して、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定する、
請求項1に記載のシナリオ提供システム。
【請求項3】
前記シナリオは、前記シナリオ実行端末を前記ログ送信部として動作させるための処理を含む、
請求項1又は請求項2に記載のシナリオ提供システム。
【請求項4】
前記シナリオ送信部は、前記シナリオ実行端末の環境を判定するための処理を含んだ前記シナリオであるサンプルシナリオを送信する、
請求項1から請求項3のいずれか一項に記載のシナリオ提供システム。
【請求項5】
シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、
前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部と、
を備えるシナリオ提供装置。
【請求項6】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ情報提供方法であって、
前記シナリオ提供装置
ナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、
前記シナリオ提供装置が、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、
前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、
前記シナリオ実行端末が、
前記シナリオ提供装置から前記シナリオを受信するシナリオ受信ステップと、
前記シナリオ受信ステップにより受信した前記シナリオを実行するシナリオ実行ステップと、
前記シナリオ実行ステップにより実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信ステップと、
自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信ステップと、
を有するシナリオ情報提供方法。
【請求項7】
シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムの前記シナリオ提供装置が実行するシナリオ情報提供方法であって、
前記シナリオ提供装置は、
ナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、
前記シナリオ提供装置が、
前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、
前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと
前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、
を有するシナリオ情報提供方法。
【請求項8】
コンピュータを、請求項のシナリオ提供装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラムに関する。
【背景技術】
【0002】
RPA(Robotic Process Automation)は、PC(パーソナルコンピュータ)等の情報処理装置を用いて人手で行っていた定型的な作業を自動で実行可能な技術である。例えば、作業手順を記述したシナリオを作成し(例えば、特許文献1参照)、PCがそのシナリオを実行することで、人手で行っていた作業を再現する(例えば、特許文献2参照)。RPAにより、時間的コストや人的コストを削減し、作業ミスを低減することもできる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5026451号公報
【特許文献2】特許第4883638号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
RPAのシナリオの作成に不慣れなユーザや、シナリオ作成にかかる負担を軽減したいユーザのために、事業者が予め作成したシナリオをユーザに提供することが考えられる。一方で、シナリオを実行するためには、PCがそのシナリオに応じた環境を有している必要がある。例えば、シナリオに、あるアプリケーションプログラム(以下、「アプリ」と記載)に所定の操作を行う処理が含まれているとする。この場合、PCに、操作対象のアプリが実装されている環境が必要である。さらには、PCに、そのアプリに対して所定の操作を行うためのOSやインタフェースが実装されている環境が必要な場合もある。ユーザは、事業者から提供されるシナリオが自分のPCの環境において正常に動作するかを判断することが難しい場合があった。
【課題を解決するための手段】
【0005】
上記事情に鑑み、本発明は、RPAのシナリオがユーザの情報処理装置の環境において動作するかを把握しやすくすることができるシナリオ提供システム、シナリオ提供装置、シナリオ情報提供方法及びプログラムを提供することを目的としている。
【0006】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムであって、前記シナリオ提供装置は、ナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部とを備え、前記シナリオ実行端末は、前記シナリオ提供装置から前記シナリオを受信するシナリオ受信部と、前記シナリオ受信部が受信した前記シナリオを実行するシナリオ実行部と、前記シナリオ実行部により実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信部と、自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信部とを備える、シナリオ提供システムである。
本発明の一態様は、上述のシナリオ提供システムであって、前記記憶部は、前記シナリオに含まれる手順がシナリオ実行端末において正常に動作したか又は正常に動作しなかったかにより表される判定条件に対応した環境を示す判定対象環境の情報をさらに記憶し、前記シナリオ提供装置は、前記ログ情報が示す前記シナリオの実行結果と合致する前記判定条件に対応した前記判定対象環境を前記シナリオ実行端末が有すると推定する推定部をさらに備え、前記シナリオ情報提供部は、前記推定部が推定した前記シナリオ実行端末の前記環境と、複数の前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境とを照合して、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定する。
【0007】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオは、前記シナリオ実行端末を前記ログ送信部として動作させるための処理を含む。
【0008】
本発明の一態様は、上述のシナリオ提供システムであって、前記シナリオ送信部は、前記シナリオ実行端末の環境を判定するための処理を含んだ前記シナリオであるサンプルシナリオを送信する。
【0009】
本発明の一態様は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部と、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信部と、前記シナリオ送信部が送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信部と、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性の情報を前記シナリオ実行端末に送信するシナリオ情報提供部と、を備えるシナリオ提供装置である。
【0010】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムが実行するシナリオ情報提供方法であって、前記シナリオ提供装置ナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報を記憶する記憶部を備えており、前記シナリオ提供装置が、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、前記シナリオ実行端末が、前記シナリオ提供装置から前記シナリオを受信するシナリオ受信ステップと、前記シナリオ受信ステップにより受信した前記シナリオを実行するシナリオ実行ステップと、前記シナリオ実行ステップにより実行された前記シナリオの実行結果を示す前記ログ情報を前記シナリオ提供装置に送信するログ送信ステップと、自装置に未送信の前記シナリオの前記動作可能性の情報を前記シナリオ提供装置から受信して表示部に表示するシナリオ情報受信ステップと、を有するシナリオ情報提供方法である。
【0011】
本発明の一態様は、シナリオ提供装置とシナリオ実行端末とを有するシナリオ提供システムの前記シナリオ提供装置が実行するシナリオ情報提供方法であって、前記シナリオ提供装置は、シナリオ実行端末における処理の手順を示す複数のシナリオであるシナリオ群に含まれる前記シナリオそれぞれシナリオ実行端末において正常に動作する環境である動作可能環境の情報とを記憶する記憶部を備えており、前記シナリオ提供装置が、前記シナリオ群に含まれる一部の前記シナリオを、当該シナリオの動作可能環境を有するか否かの情報が得られていない前記シナリオ実行端末に送信するシナリオ送信ステップと、前記シナリオ送信ステップにより送信した前記シナリオそれぞれを前記シナリオ実行端末において実行した結果を示すログ情報を受信して前記記憶部に書き込むログ受信ステップと、前記シナリオ群に含まれる前記シナリオのうち前記シナリオ実行端末において未実行のシナリオの前記動作可能環境と共通の環境を含む動作可能環境のシナリオを前記シナリオ実行端末において実行した結果を示す前記ログ情報が正常終了を示すか正常終了ではないことを示すかに基づいて、未実行の前記シナリオが前記シナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定した前記動作可能性を前記シナリオ実行端末に送信するシナリオ情報提供ステップと、を有するシナリオ情報提供方法である。
【0012】
本発明の一態様は、コンピュータを、上述したシナリオ提供装置として機能させるためのプログラムである。
【発明の効果】
【0013】
本発明により、RPAのシナリオがユーザの情報処理装置の環境において動作するかを把握しやすくすることが可能となる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態によるシナリオ提供システムの構成図である。
図2】同実施形態によるシナリオ提供装置が提供するシナリオの例を示す図である。
図3】同実施形態によるサンプルシナリオの例を示す図である。
図4】同実施形態によるサンプルシナリオの例を示す図である。
図5】同実施形態によるシナリオ提供装置の構成を示す機能ブロック図である。
図6】同実施形態によるシナリオ実行端末の構成を示す機能ブロック図である。
図7】同実施形態によるサンプルシナリオ管理情報の例を示す図である。
図8】同実施形態によるサービスシナリオ管理情報の例を示す図である。
図9】同実施形態によるユーザ管理情報の例を示す図である。
図10】同実施形態によるスケジュール情報の例を示す図である。
図11】同実施形態によるログ情報の例を示す図である。
図12】同実施形態によるシナリオ選択画面の例を示す図である。
図13】同実施形態によるシナリオ選択画面の例を示す図である。
図14】同実施形態によるシナリオ提供システムの処理を示すフロー図である。
図15】同実施形態によるシナリオ提供システムの処理を示すフロー図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図1は、本発明の一実施形態によるシナリオ提供システム1の構成図である。シナリオ提供システム1は、事業者のシナリオ提供装置2と、ユーザのシナリオ実行端末4とを備える。同図では、シナリオ実行端末4を1台のみ示しているが、ユーザの数及び各ユーザが使用するシナリオ実行端末4の台数は任意である。ユーザの例は、企業、学校、団体などであるが、これらに限らない。シナリオ提供装置2は、インターネットなどのネットワーク6を介して、シナリオ実行端末4と接続されている。例えば、シナリオ提供装置2は、コンピュータサーバなどの情報処理装置であり、シナリオ実行端末4は、PCなどの情報処理装置である。
【0016】
事業者は、シナリオ提供装置2により、ユーザへRPA(Robotic Process Automation)のシナリオを提供する。RPAは、自動化ツールの一例である。以下では、ユーザの業務に利用されるRPAのシナリオを、サービスシナリオと記載する。シナリオ提供装置2を保有する事業者がサービスシナリオを作成してもよく、その事業者とは異なるシナリオ提供事業者がサービスシナリオを作成してもよい。ユーザは、シナリオ提供装置2が提供するサービスシナリオの中から選択したサービスシナリオをシナリオ実行端末4へダウンロードする。シナリオ実行端末4は、ダウンロードしたサービスシナリオを実行する。
【0017】
サービスシナリオは、そのサービスシナリオに応じた環境を有するシナリオ実行端末4において正常に動作する。環境は、1以上の環境要素によって表される。環境要素は、例えば、所定のアプリの実装有無、所定のOS(Operation System)の実装有無などである。バージョンが異なるアプリは、別のアプリとみなしてもよい。同様に、バージョンが異なるOSは、別のOSとみなしてもよい。環境要素は、ネットワークを介してシナリオ実行端末4と接続される情報処理装置により提供される機能の利用可否でもよい。このような機能は、例えば、クラウドにより提供される機能やサービスである。また、環境要素は、シナリオ実行端末4の画面の大きさなどでもよい。
【0018】
例えば、報告書ファイルから交通費精算申請書を作成するサービスシナリオは、以下の処理を含む。なお、括弧内の番号は、処理の流れを示すものであり、シナリオを記述する際の粒度を示すものではない。(1)文書編集用のアプリAにより指定のフォルダの報告書ファイルを開く。(2)表計算用のアプリBにより交通費精算申請書ファイルを開く。(3)ブラウザCを用いてインターネット上で提供されている運賃計算用のウェブサイトにアクセスする。(4)ブラウザCに表示される入力フィールドに、報告書ファイルから読み出した出発駅、到着駅を入力した後、処理実行を入力する。(5)ファイルから読み出した氏名、出発駅、到着駅、ブラウザCに表示される処理結果から取得した運賃をそれぞれ、交通費精算申請書ファイルの所定のセルに入力する。(6)アプリBにより交通費精算申請書ファイルを指定のフォルダに保存する。
【0019】
上記のようなサービスシナリオを実行する場合、アプリAの実装、アプリBの実装、及び、ブラウザCの実装という環境が必要である。さらには、アプリA、アプリB、ブラウザCを動作させる所定のOSが実装されているという環境が必要な場合もある。また、ブラウザCに代えて、ブラウザDを用いることが可能な場合もある。
【0020】
シナリオ実行端末4の環境を把握するため、シナリオ実行端末4は、シナリオ提供装置2が提供する1以上のサンプルシナリオをダウンロードして実行する。サンプルシナリオは、シナリオ実行端末4の環境を判定するためのシナリオである。サンプルシナリオは、シナリオ実行端末4が判定対象の環境を有する場合には正常に実行され、かつ、判定対象の環境を有していない場合に正常に実行されない処理を含む。以下では、シナリオ実行端末4においてシナリオが正常に処理された又は処理されることを「動作OK」と記載し、シナリオ実行端末4においてシナリオが正常に処理されなかった又は処理されないことを「動作NG」と記載する。シナリオ実行端末4は、サンプルシナリオの実行結果を示すログ情報をシナリオ提供装置2に出力する。
【0021】
シナリオ提供装置2は、ログ情報が示すサンプルシナリオの実行結果に基づいて、シナリオ実行端末4の環境を判断する。シナリオ提供装置2は、提供可能なサービスシナリオの情報の一覧をシナリオ実行端末4に表示させる際に、シナリオ実行端末4の環境において動作OKと推定されるサービスシナリオの情報については、動作OKを表す態様で表示させる。この表示に代えて、又は、加えて、シナリオ提供装置2は、シナリオ実行端末4の環境において動作NGと推定されるサービスシナリオの情報については、動作NGを表す態様で表示させる。
【0022】
ユーザは、シナリオ実行端末4に表示されたサービスシナリオの情報の一覧を参照して利用するサービスシナリオを選択し、シナリオ提供装置2からダウンロードする。シナリオ実行端末4は、ダウンロードしたサービスシナリオを実行し、その実行結果を示すログ情報をシナリオ提供装置2に出力する。サービスシナリオは、所定の環境において正常に処理が行われる。従って、シナリオ提供装置2は、ログ情報が示すサービスシナリオの実行結果に基づいて、シナリオ実行端末4の環境を推定することができる。そこで、シナリオ提供装置2は、サンプルシナリオの実行結果に加え、サービスシナリオの実行結果も利用してシナリオ実行端末4の環境を推定する。なお、シナリオ提供装置2は、サンプルシナリオを利用せずに、過去にシナリオ実行端末4が実行したサービスシナリオの実行結果を利用して、シナリオ実行端末4の環境を推定してもよい。
【0023】
図2は、シナリオ提供装置2が提供する2種類のシナリオの例を示す図である。図2(a)は、固定シナリオ形式のシナリオである。固定シナリオ形式では、固定のシナリオの中に直接各処理を定義している。シナリオ提供装置2の環境が異なる場合、例えば、所定の書類を作成するなど同じ機能のシナリオであっても、異なるシナリオとして作成される場合がある。
【0024】
図2(b)は、汎用シナリオ形式のシナリオである。汎用シナリオ形式のシナリオは、汎用シナリオとカスタマイズ用ファイルとにより構成される。汎用シナリオは、複数のユーザのシナリオ実行端末4において使用可能なように汎用的に記述されたシナリオである。カスタマイズ用ファイルは、ユーザのシナリオ実行端末4の環境やユーザ独自の業務運用規則等に合うように汎用シナリオをカスタマイズするためのファイルである。各ユーザは、カスタマイズ用ファイルを用いて汎用シナリオをカスタマイズしてから、シナリオ実行端末4に実行させる。
【0025】
汎用シナリオは、動作を抽象化し、ユーザがカスタマイズする対象となる変数の部分を除いて記述される。ユーザは、カスタマイズ用ファイルに、変数の設定値を記述する。例えば、汎用シナリオには、アクセス先のURL(Universal Resource Locator)を変数で記述しておき、カスタマイズ用ファイルには、その変数の値として、ユーザが使用するウェブサイトのURLを記述する。ユーザによる汎用シナリオの修正は不要である。このように、シナリオにおいて用いられる変数部分をカスタマイズ用ファイルに外部化することで、シナリオを抽象化して一つの汎用シナリオに集約することが可能となる。
【0026】
サービスシナリオ及びサンプルシナリオはいずれも、固定シナリオ形式でもよく、汎用シナリオ形式でもよい。
【0027】
図3及び図4は、サンプルシナリオの例である。図3に示すサンプルシナリオaは、アプリAの実装を確認するシナリオである。サンプルシナリオaは、アプリAを開始する処理(ステップS11)、アプリAを終了する処理(ステップS12)、ログ情報をシナリオ提供装置2に通知する処理(ステップS13)を含む。シナリオ提供装置2は、サンプルシナリオaの実行が正常終了した(動作OKの)場合、アプリAを有する環境と判定し、サンプルシナリオaの実行が異常終了した(動作NGの)場合、アプリAを有していない環境であると判定する。あるいは、シナリオ提供装置2は、ステップS11及びS12が動作OKの場合、アプリAを有する環境と判定し、ステップS11及びS12の少なくとも一方が動作NGの場合、アプリAを有していない環境であると判定してもよい。また、サンプルシナリオaが特定のOSにおいて正常終了するシナリオである場合、動作OKのログ情報により、そのOSを有しているという環境を判断することができる。
【0028】
一つのサンプルシナリオによってテストを行う対象の環境は複数でもよい。図4に示すサンプルシナリオbは、アプリAの実装と、バージョン1、2のアプリBであるアプリB−1、B−2の実装とを確認するシナリオである。サンプルシナリオbは、アプリAを開始する処理(ステップS21)、アプリAを終了する処理(ステップS22)、アプリBを開始する処理(ステップS23)、機能Xを実行する処理(ステップS24)、アプリBを終了する処理(ステップS25)、ログ情報をシナリオ提供装置2に通知する処理(ステップS26)を含む。機能Xは、アプリB−1が有しておらず、かつ、アプリB−2が有する機能である。シナリオ提供装置2は、ステップS21及びS22の動作OKの場合、アプリAを有する環境と判定し、ステップS21及びS22の少なくとも一方が動作NGの場合、アプリAを有していない環境であると判定する。さらに、シナリオ提供装置2は、ステップS23〜S25の動作OKであれば、アプリB−2を有している環境であり、ステップS23及びS25の動作OKかつステップS24の動作NGであれば、アプリB−1を有する実行環境であり、ステップS23及びS25の少なくとも一方が動作NGの場合、アプリB−1及びアプリB−2を有していない環境と判断する。
【0029】
例えば、サンプルシナリオを汎用シナリオ形式とし、カスタマイズ用ファイルにシナリオ実行端末4の環境に関する情報をユーザに記述させるようにしてもよい。この場合、カスタマイズ用ファイルに記述された環境に関する情報を設定したログ情報を生成し、シナリオ提供装置2に通知する処理をサンプルシナリオに含める。
【0030】
図5は、シナリオ提供装置2の構成を示す機能ブロック図である。シナリオ提供装置2は、例えば、クラウド上の1台以上の情報処理装置(コンピュータサーバ)により実現される。シナリオ提供装置2が、ネットワーク6を介して通信可能に接続された複数台の情報処理装置を用いて実装される場合、シナリオ提供装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。シナリオ提供装置2の各機能部を、いずれの情報処理装置により実装するかは任意とすることができる。また、同一の機能部を複数の情報処理装置により実現してもよい。
【0031】
シナリオ提供装置2は、記憶部21と、処理部22とを有する。記憶部21は、サンプルシナリオ管理情報と、サービスシナリオ管理情報と、ユーザ管理情報と、スケジュール情報と、ログ情報とを記憶する。サンプルシナリオ管理情報は、サンプルシナリオのシナリオ名及びシナリオファイルと、サンプルファイルが判定対象としている環境とを示すデータである。シナリオファイルは、シナリオが記述されたファイルである。サービスシナリオ管理情報は、サービスシナリオのシナリオ名及びシナリオファイルと、動作可能環境とを示すデータである。動作可能環境とは、サービスシナリオが正常に動作するシナリオ実行端末4の環境である。ユーザ管理情報は、ユーザに関する情報を示す。例えば、ユーザ管理情報は、各ユーザのユーザ環境の情報を含む。ユーザ環境は、ユーザのシナリオ実行端末4の環境を示す。スケジュール情報は、シナリオ実行端末4にシナリオを実行させるスケジュールを示す。ログ情報は、各ユーザのシナリオ実行端末4におけるシナリオの実行結果を示す。
【0032】
処理部22は、シナリオ情報提供部221と、スケジュール管理部222と、シナリオ送信部223と、ログ受信部224と、推定部225とを有する。
【0033】
シナリオ情報提供部221は、シナリオ検索画面の画面データと、シナリオ選択画面の画面データをシナリオ実行端末4に送信する。シナリオ検索画面は、シナリオ検索条件を入力するための画面である。シナリオ検索条件の入力は、表示されるメニューの中から検索対象のシナリオに応じたメニュー項目を選択することにより行ってもよく、任意のキーワードを入力することにより行ってもよい。シナリオ選択画面は、シナリオ検索画面においてユーザが入力したシナリオ検索条件に応じたサンプルシナリオ及びサービスシナリオのシナリオ名の一覧を表示し、一覧の中からユーザが要求するシナリオを選択するための画面である。
【0034】
シナリオ情報提供部221は、シナリオ選択画面に、シナリオ実行端末4において実行済みのサンプルシナリオのシナリオ名を、動作OKであったか動作NGであったかを表す態様により表示させる。例えば、シナリオ情報提供部221は、シナリオ名の近傍に、そのシナリオ名のサンプルシナリオが動作OK又は動作NGであった旨をテキスト又はシンボル画像で表示してもよく、シナリオ名に動作OK又は動作NGに応じた色や線種の枠を付けて表示してもよく、動作OK又は動作NGに応じた文字色又は背景色でシナリオ名を表示してもよい。
【0035】
また、シナリオ情報提供部221は、シナリオ選択画面に、サービスシナリオのシナリオ名を、シナリオ実行端末4において動作OKと予測されるか動作NGと予測されるかを表す態様により表示させる。例えば、シナリオ情報提供部221は、シナリオ名の近傍に、そのシナリオ名のサービスシナリオが動作OKと予測されるか又は動作NGと予測されるかをテキスト又はシンボル画像で表示してもよく、シナリオ名に動作OKが予測されるか又は動作NGが予測されるかに応じた色や線種の枠を付けて表示してもよく、動作OKが予測されるか又は動作NGが予測されるかに応じた文字色又は背景色でシナリオ名を表示してもよい。シナリオ情報提供部221は、ユーザのシナリオ実行端末4において各サービスシナリオが動作OKと予測されるか動作NGと予測されるかを、ユーザ管理情報に設定されているユーザ環境が示すシナリオ実行端末4の環境と、サービスシナリオ管理情報が示すサービスシナリオの動作可能環境とを照合することにより判断する。
【0036】
スケジュール管理部222は、ユーザが選択したシナリオをシナリオ実行端末4に実行させるためのスケジュール情報を記憶部21に登録する。スケジュール管理部222は、記憶部21に記憶されたスケジュール情報に従ってシナリオの実行を指示する。シナリオ送信部223は、シナリオ実行端末4に実行させるシナリオのシナリオファイルをシナリオ実行端末4に送信する。ログ受信部224は、各シナリオ実行端末4からログ情報を受信して、記憶部21に書き込む。推定部225は、ログ情報が示すサンプルシナリオ又はサービスシナリオの実行結果に基づいてユーザのシナリオ実行端末4の環境を推定し、推定された環境によりユーザ管理情報に含まれるユーザ環境の情報を更新する。
【0037】
図6は、シナリオ実行端末4の構成を示す機能ブロック図である。シナリオ実行端末4は、ユーザの情報処理装置である。シナリオ実行端末4は、記憶部41と、入力部42と、表示部43と、処理部44とを備える。記憶部41は、シナリオファイルを記憶する。入力部42は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部42は、ユーザの指示をシナリオ実行端末4に入力する際にユーザによって操作される。表示部43は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置である。
【0038】
処理部44は、シナリオ実行機能部45と、機能X実行部46とを備える。シナリオ実行機能部45は、シナリオ情報受信部451と、シナリオ選択部452と、スケジュール登録部453と、シナリオ受信部454と、シナリオ実行部455と、ログ送信部456とを備える。
【0039】
シナリオ情報受信部451は、シナリオ提供装置2から受信したシナリオ検索画面の画面データを表示部43に表示する。シナリオ情報受信部451は、入力部42によりシナリオ検索画面に入力されたシナリオ検索条件をシナリオ提供装置2に送信する。さらに、シナリオ情報受信部451は、送信したシナリオ検索条件に応じてシナリオ提供装置2から受信したシナリオ選択画面の画面データを表示部43に表示する。シナリオ選択部452は、入力部42によりシナリオ選択画面において選択されたシナリオ名のシナリオをシナリオ提供装置2に要求する。
【0040】
スケジュール登録部453は、入力部42による入力に基づいて、シナリオの実行スケジュールをシナリオ提供装置2に登録する。シナリオ受信部454は、シナリオ提供装置2から自装置において実行するシナリオのシナリオファイルを受信し、シナリオファイルを記憶部41に書き込む。シナリオ実行部455は、シナリオファイルに記述されたシナリオを実行する。汎用シナリオ形式のシナリオが記述されたシナリオファイルの場合、シナリオ実行部455は、カスタマイズ用ファイルに記述された変数の値を汎用シナリオに設定して生成されたシナリオを実行する。ログ送信部456は、シナリオの実行結果を含むログ情報を生成し、シナリオ提供装置2に通知する。
【0041】
機能X実行部46は、機能Xのアプリを実行する。機能Xは、シナリオの実行に使用され得る機能であり、例えば、表計算、文書編集、ウェブブラウザ、はがき作成、図形描画等、PCに実装される任意の機能とすることができる。同図では、機能A、B、Cそれぞれのアプリを実行する機能X実行部46(X=A、B、C)を、機能A実行部46a、機能B実行部46b、機能C実行部46cと記載している。本実施形態では、機能A実行部46aにより実行されるアプリが、文書編集アプリや表計算アプリなど、テキストデータを編集可能な機能を有するアプリであるとする。機能A実行部46aは、シナリオファイルに含まれるカスタマイズ用ファイルの編集を行うファイル編集部として動作する。
【0042】
図7は、サンプルシナリオ管理情報の例を示す図である。同図に示すサンプルシナリオ管理情報は、サンプルシナリオのシナリオID、サンプルシナリオファイル、テナント名、判定対象環境、判定条件及び分類を示すデータを含む。シナリオIDは、シナリオを一意に特定する識別情報である。サンプルシナリオファイルは、サンプルシナリオが記述されたシナリオファイルである。サンプルシナリオが汎用シナリオ形式である場合、サンプルシナリオファイルはカスタマイズ用ファイルを含む。テナント名は、サンプルシナリオを作成した事業者の名前である。判定対象環境は、サンプルシナリオが判定対象とする環境を示す。判定対象環境は、1以上の環境要素により表される。判定条件は、サンプルシナリオの実行結果からシナリオ実行端末4の環境要素を判定するための条件を示す。判定条件は、動作OKとなるときの環境の情報を含むことから、サンプルシナリオの動作可能環境の情報を含んでいるとみなすことができる。分類は、いずれの分類のサービスシナリオと対応しているかを示す。なお、サンプルシナリオ管理情報は、分類を含まなくてもよい。
【0043】
例えば、図3に示すサンプルシナリオaの場合、判定対象環境には「アプリAの実装有無」が設定され、判定条件には、「正常終了の場合、アプリA有り」、「異常終了の場合、アプリA無し」が設定される。また、例えば、図4に示すサンプルシナリオbの場合、判定対象環境には「アプリAの実装有無、アプリB−1の実装有無、及び、アプリB−2の実装有無」が設定される。そして、判定条件には、「S21及びS22が動作OKの場合、アプリA有り」、「S21又はS22が動作NGの場合、アプリA無し」、「S23〜S25が動作OKの場合、アプリB−2有り」、「S23及びS25が動作OK、かつ、S24が動作NGの場合、アプリB−1有り」、「S23又はS25が動作NGの場合、アプリB−1及びアプリB−2無し」が設定される。
【0044】
また、例えば、汎用シナリオ形式のサンプルシナリオに、ログ情報に設定する値が変数Xとして記述されている場合、カスタマイズ用ファイルには変数Xの値を記述する箇所が含まれる。カスタマイズ用ファイルにおいて変数Xの値を記述する行又はその上下の行などに、「”変数X=”の右側にブラウザCを利用している場合は1を、ブラウザDを利用している場合は2を、ブラウザを使用してない又はブラウザC,D以外のブラウザを利用している場合は3を設定してください」といったコメントを記載しておく。
【0045】
図8は、サービスシナリオ管理情報の例を示す図である。同図に示すサービスシナリオ管理情報は、サービスシナリオのシナリオID、シナリオ名、サービスシナリオファイル、テナント名、動作可能環境、分類及び説明を示すデータを含む。サービスシナリオファイルは、サービスシナリオが記述されたシナリオファイルである。サービスシナリオが汎用シナリオ形式である場合、サービスシナリオファイルはカスタマイズ用ファイルを含む。テナント名は、サービスシナリオを作成した事業者の名前である。動作可能環境は、サービスシナリオが正常に動作するシナリオ実行端末4の環境である。動作可能環境は、1以上の環境要素により表される。分類は、サービスシナリオが属する分類を示す。分類は、階層構造でもよい。例えば、分類を財務、経理、人事、情報システム等としてもよく、分類の1階層目を自治体、2階層目を税務処理、3階層目を各種申請書作成のようにすることができる。この分類を、ユーザがサービスシナリオを選択する際のメニューのメニュー項目として用いることもできる。なお、サービスシナリオ管理情報は、分類を含まなくてもよい。説明は、サービスシナリオの機能などの説明である。
【0046】
図9は、ユーザ管理情報の例を示す図である。ユーザ管理情報は、ユーザID、ユーザ名、ユーザアカウント、シナリオ実行端末情報を含む。ユーザIDは、ユーザを特定する識別情報である。ユーザ名は、ユーザの名前である。ユーザアカウントは、事業者がユーザに払い出したサービス利用のためのアカウントである。ユーザIDがユーザアカウントを兼ねてもよい。また、1ユーザに複数のユーザアカウントが払い出されてもよい。シナリオ実行端末情報は、ユーザが保有するシナリオ実行端末4の実行端末ID、アドレス及びユーザ環境を示す。実行端末IDは、シナリオ実行端末4の識別情報である。実行端末IDがユーザアカウントを兼ねてもよい。アドレスは、例えば、シナリオ実行端末4のIPアドレスを示す。ユーザ環境は、サンプルシナリオの実行結果又はサービスシナリオの実行結果に基づいて得られるシナリオ実行端末4の環境である。なお、シナリオ実行端末4からユーザ操作によりユーザ環境の一部の情報を登録してもよい。
【0047】
図10は、スケジュール情報の例を示す図である。スケジュール情報は、ユーザID、ユーザアカウント、スケジュールID、スケジュール名、実行端末ID、実行シナリオ、実行タイミングの情報を含む。ユーザID及びユーザアカウントは、スケジュールを登録したユーザを示す。スケジュールIDは、スケジュール情報を一意に識別する情報である。実行端末IDは、シナリオを実行するシナリオ実行端末4を特定する。実行シナリオは、実行対象のサンプルシナリオ又はサービスシナリオのシナリオIDである。実行タイミングは、シナリオを実行するタイミングを示す。実行タイミングは、即時、あるいは、日にち又は曜日と時刻との組合せ等により示される。
【0048】
図11は、ログ情報の例を示す図である。同図に示すログ情報は、ユーザIDと、ユーザアカウントと、実行端末IDと、時刻と、シナリオIDと、実行結果とを含む。時刻は、シナリオ実行端末4においてシナリオが実行された時刻を示す。シナリオIDは、シナリオ実行端末4において実行されたシナリオを特定する。シナリオ実行結果は、シナリオ実行端末4におけるシナリオ実行が正常終了した(動作OK)か、異常終了した(動作NG)かを示す。あるいは、シナリオ実行結果は、シナリオ実行端末4がシナリオにおいて実行した処理と、その処理が動作OKであったか動作NGであったかの処理結果を示す。
【0049】
図12は、シナリオ選択画面の初期表示を示す図である。シナリオ選択画面G1の領域A1にはサンプルシナリオ(動作確認用シナリオ)のシナリオ名の一覧が表示されている。シナリオ選択画面G1の領域B1には、サービスシナリオ(業務支援系シナリオ)のシナリオ名の一覧が表示されている。サンプルシナリオ及びサービスシナリオのシナリオ名には、テナント名が対応づけて表示されている。なお、シナリオ選択画面G1の画面データにおいて、シナリオ名にはシナリオIDが紐づけられている。まだ、シナリオ実行端末4において実行されたサンプルシナリオがなく、環境の推定が行われていないため、シナリオ選択画面G1には、サンプルシナリオの実行結果や、サービスシナリオの動作可能性は表示されない。
【0050】
図13は、ユーザ環境判定後のシナリオ選択画面の表示を示す図である。シナリオ選択画面G2の領域A2には、図12に示す領域A1の表示に加えて、各サンプルシナリオの動作結果が表示されている。また、シナリオ選択画面G2の領域B2には、図12に示す領域B1の表示に加えて、各サービスシナリオの動作可能性が表示されている。動作可能性が「動作OK」の場合は、シナリオ提供装置2においてサービスシナリオが正常に実行されることが予測されることを表し、動作可能性が「動作NG」の場合は、シナリオ提供装置2においてサービスシナリオが正常に実行されないことが予測されることを表す。なお、「動作?」は、「動作OK」又は「動作NG」であるか否かが不明なことを表す。
【0051】
続いて、シナリオ提供システム1の動作について説明する。
図14及び図15は、シナリオ提供システム1の動作を示すシーケンス図である。図14及び図15を用いて、シナリオ提供装置2にユーザ管理情報の登録を終えた新規ユーザに、当該ユーザのシナリオ実行端末4におけるサービスシナリオの動作可能性の推定結果を提供する場合の動作を示す。
【0052】
図14において、シナリオ実行端末4は、ユーザID、ユーザアカウント及び実行端末IDと、シナリオ情報要求とをシナリオ提供装置2に送信する(ステップS101)。シナリオ提供装置2のシナリオ情報提供部221は、ユーザID、ユーザアカウント及び実行端末IDと、シナリオ情報要求とを受信すると(ステップS201)、シナリオ検索画面の画面データをシナリオ実行端末4に送信する(ステップS202)。シナリオ実行端末4のシナリオ情報受信部451は、シナリオ提供装置2から受信した画面データを用いて表示部43にシナリオ検索画面を表示する(ステップS102)。シナリオ情報受信部451は、ユーザが入力部42によりシナリオ検索画面に入力したシナリオ検索条件をシナリオ提供装置2に送信する(ステップS103)。
【0053】
シナリオ提供装置2のシナリオ情報提供部221は、シナリオ検索条件に基づいてシナリオを選択する(ステップS203)。例えば、シナリオ情報提供部221は、シナリオ検索画面が表示するメニューの中から選択されたメニュー項目をシナリオ検索条件として受信し、予めメニュー項目に対応付けられたサンプルシナリオ及びサービスシナリオを選択する。あるいは、シナリオ情報提供部221は、シナリオ検索画面においてユーザが任意に入力したシナリオ検索条件に基づいてサービスシナリオ管理情報を検索する。シナリオ情報提供部221は、検索の結果得られたサービスシナリオ管理情報のサービスシナリオと、それらサービスシナリオ管理情報と同じ分類が設定されているサンプルシナリオ管理情報のサンプルシナリオとを選択する。
【0054】
シナリオ情報提供部221は、受信したユーザID及びアカウントIDにより特定されるユーザ管理情報から、受信した実行端末IDに対応したユーザ環境の情報を読み出す。シナリオ情報提供部221は、ユーザ環境に環境要素が設定されているか否かにより、ユーザ環境の登録有無を判断する(ステップS204)。シナリオ情報提供部221は、ユーザ環境に環境要素が設定されておらず、ユーザ環境の登録無しと判断した場合(ステップS204:NO)、ステップS205の処理を行う。すなわち、シナリオ情報提供部221は、ステップS203において選択したサンプルシナリオ及びサービスシナリオそれぞれのシナリオ名の一覧を含むシナリオ選択画面の画面データを生成する(ステップS205)。ここで生成されるシナリオ選択画面は、図12に示すように、サンプルシナリオの動作結果及びサービスシナリオの動作可能性の表示を含まない。シナリオ情報提供部221は、生成したシナリオ選択画面の画面データをシナリオ実行端末4に送信する(ステップS206)。
【0055】
シナリオ実行端末4のシナリオ情報受信部451は、シナリオ提供装置2から受信した画面データを用いて表示部43にシナリオ選択画面を表示する(ステップS104)。シナリオ選択部452は、ユーザが入力部42により選択したサンプルシナリオ又はサービスシナリオのシナリオ名の情報を受ける(ステップS105)。シナリオ選択部452は、選択されたシナリオ名に紐づけられているシナリオIDをシナリオ選択画面の画面データから取得する。
【0056】
続いて、スケジュール登録部453は、ユーザが入力部42により入力した、シナリオの実行スケジュールの情報を受ける。具体的には、ユーザは、スケジュール名と、シナリオ名により選択したシナリオの実行タイミングとを入力する。選択したシナリオがサンプルシナリオである場合、例えば、実行タイミングを即時とする。スケジュール登録部453は、ユーザID、ユーザアカウント及び実行端末IDと、シナリオ選択部452が取得したシナリオIDと、ユーザが入力したスケジュール名及び実行タイミングとを設定したシナリオ要求をシナリオ提供装置2に送信する(ステップS106)。
【0057】
シナリオ提供装置2のスケジュール管理部222は、シナリオ実行端末4からシナリオ要求を受信する(ステップS207)。スケジュール管理部222は、シナリオ要求に設定されているユーザID、ユーザアカウント、実行端末ID、シナリオID、スケジュール名及び実行タイミングと、割り当てたスケジュールIDとを設定したスケジュール情報を記憶部21に書き込む(ステップS208)。シナリオ提供装置2は、図15のステップS220の処理を実行する。
【0058】
図15においてシナリオ提供装置2のスケジュール管理部222は、ステップS208において登録したスケジュール情報に設定されている実行タイミングであることを検出する(ステップS220)。シナリオ送信部223は、スケジュール情報に設定されているシナリオIDがサンプルシナリオのシナリオIDであるか否かを判断する(ステップS221)。シナリオ送信部223は、サンプルシナリオのシナリオIDと判断した場合(ステップS221:YES)、そのシナリオIDにより特定されるサンプルシナリオ管理情報からサンプルシナリオファイルを読み出す。シナリオ送信部223は、読み出したサンプルシナリオファイルを、スケジュール情報に設定されているユーザID、ユーザカウント及び実行端末IDにより特定されるシナリオ実行端末4に送信する(ステップS222)。
【0059】
シナリオ実行端末4のシナリオ受信部454は、シナリオ提供装置2からサンプルシナリオを受信すると(ステップS121:YES)、受信したサンプルシナリオファイルを記憶部41に書き込む(ステップS122)。サンプルシナリオが汎用シナリオの場合、機能A実行部46aは、サンプルシナリオファイルに含まれるカスタマイズ用ファイルを記憶部41から読み出して表示する。機能A実行部46aは、表示されたカスタマイズ用ファイルに、入力部42を用いてユーザが入力した変数の値を書き込み、カスタマイズ用ファイルを更新する。
【0060】
シナリオ実行部455は、記憶部41に記憶されているサンプルシナリオファイルを用いてサンプルシナリオを実行する(ステップS123)。ログ送信部456は、サンプルシナリオの実行結果を示すログ情報を生成して、シナリオ提供装置2に送信する(ステップS124)。なお、ログ送信部456におけるログ情報の生成及び送信は、サンプルシナリオ内の処理として記述されてもよい。
【0061】
シナリオ提供装置2のログ受信部224は、シナリオ実行端末4から受信したログ情報を記憶部21に書き込む(ステップS223)。推定部225は、ログ情報の実行シナリオに設定されているシナリオIDによりサンプルシナリオ管理情報を特定し、特定したサンプルシナリオ管理情報から判定条件を読み出す。推定部225は、読み出した判定条件と、受信したログ情報が示す実行結果とを照合して、シナリオ実行端末4の環境を判定する。推定部225は、ログ情報に設定されているユーザID及びユーザアカウントが設定されているユーザ管理情報を特定する。推定部225は、ログ情報から実行端末IDを読み出し、読み出した実行端末IDと対応付けてユーザ管理情報に設定されているユーザ環境の情報を、判定した環境の情報により更新する(ステップS224)。シナリオ提供装置2は、図13のステップS204からの処理を繰り返す。
【0062】
シナリオ情報提供部221は、ユーザ管理情報にユーザ環境の登録有と判定し(ステップS204:YES)、ステップS203において選択したサービスシナリオの動作可能性を判断する。シナリオ情報提供部221は、選択したサービスシナリオそれぞれについて、サービスシナリオ管理情報に設定されている動作可能環境と、ユーザ管理情報に設定されているユーザ環境とを比較して、サービスシナリオの動作可能性を判断する(ステップS208)。
【0063】
例えば、サービスシナリオの動作可能環境が、「アプリAの実装、及び、アプリB−1又はアプリB−2の実装」であるとする。シナリオ情報提供部221は、ユーザ環境が「アプリA及びアプリB−1の実装有り」、又は、「アプリA及びアプリB−2の実装有り」の環境要素を含む場合は動作OKと判断する。シナリオ情報提供部221は、ユーザ環境が「アプリAの実装無し」の環境要素を含む場合は動作NGと判断する。また、シナリオ情報提供部221は、ユーザ環境が「アプリAの実装有り」の環境要素を含み、かつ、アプリB−1及びアプリB−2に関する環境要素を含まない場合、又は、アプリA、アプリB−1及びアプリB−2に関する環境要素を含まない場合、動作可能性は不明と判断する。このように、シナリオ情報提供部221は、ユーザ環境が、サービスシナリオの動作可能環境を全て満たしている場合は動作OKと判断し、ユーザ環境がサービスシナリオの動作可能環境の全て又は一部の環境要素を満たしていない場合は動作NGと判断する。また、シナリオ情報提供部221は、ユーザ環境が、サービスシナリオの動作可能環境の一部の環境要素を満たしているが、他の一部の環境要素を満たすか否かの情報を含んでいない場合や、サービスシナリオの動作可能環境の全ての環境要素の情報を含んでいない場合は、動作可能性は不明と判断する。
【0064】
続いて、シナリオ情報提供部221は、ステップS203において選択したサンプルシナリオそれぞれについて、ユーザID、ユーザアカウント及び実行端末IDと、選択したサンプルシナリオのシナリオIDとが設定されているログ情報を検索する。シナリオ情報提供部221は、検索の結果、ログ情報が特定できなかった場合、サンプルシナリオが未実行であると判断する。シナリオ情報提供部221は、検索の結果、ログ情報が特定された場合、特定されたログ情報からサンプルシナリオの動作結果を読み出す(ステップS209)。
【0065】
シナリオ情報提供部221は、ステップS203において選択したサンプルシナリオ及びサービスシナリオそれぞれのシナリオ名の一覧と、サンプルシナリオの動作結果及びサービスシナリオの動作可能性の表示を含むシナリオ選択画面(例えば、図13)の画面データを生成する(ステップS205)。シナリオ情報提供部221は、生成したシナリオ選択画面の画面データをシナリオ実行端末4に送信する(ステップS206)。シナリオ実行端末4は、ステップS104からの処理を実行する。
【0066】
ステップS105において、ユーザが入力部42によりサービスシナリオのシナリオ名を選択した場合、図15のステップS221において、シナリオ提供装置2のシナリオ送信部223は、NOと判定する(ステップS221:NO)。シナリオ送信部223は、シナリオ要求から読み出したシナリオIDにより特定されるサービスシナリオ管理情報からサービスシナリオファイルを読み出す。シナリオ送信部223は、読み出したサービスシナリオファイルを、スケジュール情報に設定されているユーザID、ユーザカウント及び実行端末IDにより特定されるシナリオ実行端末4に送信する(ステップS225)。
【0067】
シナリオ実行端末4のシナリオ受信部454は、シナリオ提供装置2からサービスシナリオファイルを受信すると(ステップS121:NO)、受信したサービスシナリオファイルを記憶部41に書き込む(ステップS125)。サービスシナリオが汎用シナリオの場合、機能A実行部46aは、サービスシナリオファイルに含まれるカスタマイズ用ファイルを記憶部41から読み出して表示する。機能A実行部46aは、表示されたカスタマイズ用ファイルに、入力部42を用いてユーザが入力した変数の値を書き込み、カスタマイズ用ファイルを更新する。
【0068】
シナリオ実行部455は、記憶部41に記憶されているサービスシナリオファイルを用いてサービスシナリオを実行する(ステップS126)。ログ送信部456は、サービスシナリオの実行結果を示すログ情報を生成して、シナリオ提供装置2に送信する(ステップS127)。なお、ログ送信部456におけるログ情報の生成及び送信は、サービスシナリオ内の処理として記述されてもよい。
【0069】
シナリオ提供装置2のログ受信部224は、シナリオ実行端末4から受信したログ情報を記憶部21に書き込む(ステップS226)。推定部225は、ログ情報が動作OKを示している場合、ログ情報の実行シナリオに設定されているシナリオIDによりサービスシナリオ管理情報を特定し、動作可能環境を読み出す。推定部225は、ログ情報に設定されているユーザID及びユーザアカウントが設定されているユーザ管理情報を特定する。推定部225は、ログ情報から実行端末IDを読み出し、読み出した実行端末IDと対応付けてユーザ管理情報に設定されているユーザ環境の情報を、読み出した動作可能環境を用いて更新する(ステップS227)。例えば、推定部225は、読み出した動作可能環境が示す環境要素のうち、ユーザ環境に未設定の環境要素を追加する。また、推定部225は、ログ情報が動作NGを示している場合、サービスシナリオ管理情報に設定されている動作可能環境が示す環境要素のうち少なくとも一部を有していない旨によりユーザ環境を更新してもよい。これにより、サービスシナリオの実行結果を用いてユーザ環境の情報を蓄積し、他のサービスシナリオの動作OK又はNGの判定に用いることができる。
【0070】
なお、図14及び図15に示す動作では、シナリオ提供装置2は、ステップS224の処理の後、ステップS204からの処理を行い、これに伴い、シナリオ実行端末4は、ステップS124の処理の後、ステップS104からの処理を行っているが、シナリオ実行端末4は、ステップS124の処理の後、ステップS101の処理を行い、これに伴い、シナリオ提供装置2は、ステップS224の処理の後、ステップS201からの処理を行ってもよい。
【0071】
なお、シナリオ提供装置2の処理部44は、サービスシナリオファイルのダウンロードや、シナリオ実行端末4から受信したログ情報が示すサービスシナリオの実行に基づいて課金を行ってもよい。
【0072】
また、スケジュール管理部222は、ステップS207において、動作NG又は動作可能性が不明のサービスシナリオのシナリオIDが設定されたシナリオ要求を受信した場合、動作NGの可能性がある旨のメッセージをシナリオ実行端末4に送信し、表示させてもよい。シナリオ提供装置2は、メッセージ表示後に再びそのサービスシナリオのシナリオ要求をシナリオ実行端末4から受けた場合に、ステップS208以降の処理を行ってもよく、メッセージ表示後にシナリオ要求の受信待ちに戻り、再びステップS207の処理を行ってもよい。
【0073】
また、ステップS203において、シナリオ提供装置2のシナリオ情報提供部221は、以下のようにサンプルシナリオを選択してもよい。シナリオ情報提供部221は、ユーザID、ユーザアカウント及び実行端末IDに基づいてユーザ管理情報からユーザ環境を読み出す。さらに、シナリオ情報提供部221は、上記のようにシナリオ検索条件に基づいて選択した各サービスシナリオのサービスシナリオ管理情報から動作可能環境を読み出す。シナリオ情報提供部221は、読み出された動作可能環境が示す環境要素のうち、ユーザ環境からはその環境要素を満たしているか否かを判定することができない環境要素を抽出する。シナリオ情報提供部221は、抽出した環境要素を判定対象環境に含んだサンプルシナリオ管理情報のサンプルシナリオを選択する。これにより、実行させる必要のないサンプルシナリオの情報をユーザに提供しないようにすることができる。
【0074】
また、シナリオ提供装置2は、シナリオ選択画面において、動作NGと推定されるサービスシナリオのシナリオ名の近傍に、どのような環境要素がないために動作NGと推定されるかの情報を表示させてもよい。また、シナリオ提供装置2は、シナリオ選択画面において、動作OKか動作NGかを推定できないサービスシナリオのシナリオ名の近傍に、どのような環境要素の情報がないために推定できないかの情報を表示させてもよい。また、シナリオ提供装置2は、シナリオ選択画面において、サービスシナリオのシナリオ名の近傍に、サービスシナリオの判定対象環境の情報を表示してもよい。また、シナリオ提供装置2は、シナリオ選択画面において、サービスシナリオ名に対応付けて、サービスシナリオ管理情報から読み出した説明の情報の全て又は一部を表示してもよく、説明へのリンクを表示してもよい。
【0075】
上述した実施形態によれば、シナリオ提供装置2は、ユーザの環境を判定することができるサンプルシナリオ群をシナリオ実行端末4に提示し、シナリオ実行端末4は、サンプルシナリオの実行結果をシナリオ提供装置2にフィードバックする。シナリオ提供装置2は、フィードバックされたサンプルシナリオの実行結果を分析して、シナリオ提供装置2へ未送信であり、シナリオ提供装置2において実行されていないサービスシナリオのシナリオ提供装置2における動作可能性をユーザに提示する。
【0076】
なお、上記では、シナリオ提供装置2が、シナリオ実行端末4から受信したシナリオ検索条件に基づいて選択したサービスシナリオの一覧を提供する場合を説明したが、シナリオ提供装置2が任意の条件によって選択したサービスシナリオの一覧をシナリオ実行端末4に提供するときにも適用可能である。例えば、シナリオ提供装置2が、ユーザに推薦するサービスシナリオの一覧をシナリオ実行端末4に提供する場合に適用可能である。
【0077】
従来、ユーザは、サービスシナリオの動作可能性を知りたい場合や、購入したRPAシナリオが正常に動作しない場合に、事業者のカスタマーセンターなどに問い合わせ行っていた。この問い合わせの際に、ユーザは、自分のPCの環境についての情報を求められることがあった。そのため、ユーザには、PCの環境を確認しながらカスタマーセンターに情報を提供する手間が生じていた。加えて、事業者側は、ユーザからの問合せに対応するための人的リソースが必要であった。本実施形態によれば、ユーザは、シナリオ提供装置2から提供されるサービスシナリオが、自分のシナリオ実行端末4の環境において正常に動作する可能性があるかを簡易に確認してから購入することが可能となる。よって、ユーザの負荷及び事業者の負荷を低減することが可能になる。
【0078】
上述した実施形態におけるシナリオ提供装置2及びシナリオ実行端末4の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0079】
以上説明した実施形態によれば、シナリオ提供システムは、シナリオ提供装置とシナリオ実行端末とを有する。シナリオ提供装置は、記憶部と、シナリオ送信部と、ログ受信部と、推定部と、シナリオ情報提供部とを備える。記憶部は、シナリオ実行端末における処理の手順を示すシナリオと、シナリオが動作するシナリオ実行端末の環境、すなわち、シナリオを正常に処理するために必要なシナリオ実行端末の環境である動作可能環境とを記憶する。シナリオ送信部は、シナリオをシナリオ実行端末に送信する。ログ受信部は、シナリオ送信部が送信したシナリオをシナリオ実行端末において実行した結果を示すログ情報を受信して記憶部に書き込む。推定部は、シナリオ実行端末のログ情報が示すシナリオの実行結果と、シナリオ実行端末において実行されたシナリオの動作可能環境とに基づいて、シナリオ実行端末の環境を推定する。シナリオ情報提供部は、推定部が推定したシナリオ実行端末の環境とシナリオ提供装置に未送信のシナリオの動作可能環境とに基づいて、未送信のシナリオがシナリオ実行端末において正常に動作するか否かの動作可能性を判定し、判定結果をシナリオ実行端末に送信する。
【0080】
シナリオ実行端末は、シナリオ受信部と、シナリオ実行部と、ログ送信部と、シナリオ情報受信部とを備える。シナリオ受信部は、シナリオ提供装置からシナリオを受信する。シナリオ実行部は、シナリオ受信部が受信したシナリオを実行する。ログ送信部は、シナリオ実行部により実行されたシナリオの実行結果を示すログ情報をシナリオ提供装置に送信する。シナリオ情報受信部は、自装置に未送信のシナリオが自装置において正常に動作するか否かの動作可能性の情報をシナリオ提供装置から受信して表示部に表示する。
【0081】
なお、シナリオは、シナリオ実行端末をログ送信部として動作させるための処理を含んでもよい。また、シナリオ送信部は、シナリオ実行端末の環境を判定するための処理が含まれるシナリオであるサンプルシナリオを送信してもよい。
【0082】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0083】
1…シナリオ提供システム, 2…シナリオ提供装置, 4…シナリオ実行端末, 6…ネットワーク, 21…記憶部, 22…処理部, 41…記憶部, 42…入力部, 43…表示部, 44…処理部,45…シナリオ実行機能部, 46a…機能A実行部,46b…機能B実行部,46c…機能C実行部, 221…シナリオ情報提供部, 222…スケジュール管理部, 223…シナリオ送信部, 224…ログ受信部, 225…推定部, 451…シナリオ情報受信部, 452…シナリオ選択部, 453…スケジュール登録部, 454…シナリオ受信部, 455…シナリオ実行部, 456…ログ送信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15