(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-30
(45)【発行日】2022-09-07
(54)【発明の名称】シナリオ実行システム、ログ管理装置、ログ記録方法及びプログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20220831BHJP
【FI】
G06F11/34 176
(21)【出願番号】P 2020209309
(22)【出願日】2020-12-17
【審査請求日】2020-12-17
(73)【特許権者】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】山本 顕範
(72)【発明者】
【氏名】辻川 裕介
(72)【発明者】
【氏名】服部 孝志
(72)【発明者】
【氏名】宮崎 宗一
【審査官】杉浦 孝光
(56)【参考文献】
【文献】特許第6755537(JP,B1)
【文献】特開2020-003905(JP,A)
【文献】特開2010-128901(JP,A)
【文献】特開2020-134819(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30、11/34
G06F 21/00-21/88
G06Q 20/00、40/00
H04L 9/34
(57)【特許請求の範囲】
【請求項1】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムであって、
前記シナリオ実行端末は、
シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行部と、
前記シナリオ実行部が前記シナリオファイルを実行することにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知部とを備え、
前記ログ管理装置は、
前記シナリオ実行端末から前記イベントの情報を受信し、受信した前記イベントの情報を
当該イベントの公開範囲に応じて暗号化し、異なる公開範囲に応じて暗号化された複数の前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録部
と、
検索者の端末から検索条件及び検索者情報を受信し、前記記憶装置に記憶されているログデータのうち前記検索条件により特定される前記ログデータから前記検索者情報により示される検索者の鍵を用いてデータを復号し、復号されたデータを返送するログ管理部とを備え、
前記記憶装置は、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する、
シナリオ実行システム。
【請求項2】
前記ログ管理装置は、前記シナリオファイルを前記シナリオ実行端末に送信するシナリオ提供部をさらに備える、
請求項
1に記載のシナリオ実行システム。
【請求項3】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムであって、
前記シナリオ実行端末は、
シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行部と、
前記シナリオ実行部が前記シナリオファイルを実行することにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知部とを備え、
前記ログ管理装置は、
前記シナリオ実行端末から前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録部を備え、
前記記憶装置は、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶し、
前記シナリオ実行システムは、第一のシナリオ実行端末及び第二のシナリオ実行端末を含む複数の前記シナリオ実行端末を有し、
前記ログ記録部は、前記第一のシナリオ実行端末において第一のシナリオファイルが実行されることにより発生したイベントの情報と、前記第一のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第一ログデータを前記記憶装置に記録し、
前記ログ管理装置は、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルを実行する前記第二のシナリオ実行端末から前記引継ぎ識別情報を受信し、受信した前記引継ぎ識別情報が設定されている前記第一ログデータに関する情報を返送するログ管理部をさらに備える、
シナリオ実行システム。
【請求項4】
前記第一ログデータに記録される前記イベントの情報は、前記第一のシナリオファイルの実行により生成され、かつ、前記第二のシナリオファイルの実行において用いられる情報を含む、
請求項
3に記載のシナリオ実行システム。
【請求項5】
前記ログ記録部は、前記第二のシナリオ実行端末において前記第二のシナリオファイルが実行されることにより発生したイベントの情報と、前記第二のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第二ログデータを前記記憶装置に記録し、
前記ログ管理部は、前記第一のシナリオ実行端末から前記引継ぎ識別情報を受信し、受信した前記引継ぎ識別情報が設定されている前記第二ログデータに関する情報を返送する、
請求項
3又は請求項
4に記載のシナリオ実行システム。
【請求項6】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムであって、
前記シナリオ実行端末は、
シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行部と、
前記シナリオ実行部が前記シナリオファイルを実行することにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知部とを備え、
前記ログ管理装置は、
前記シナリオ実行端末から前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録部を備え、
前記記憶装置は、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶し、
前記シナリオ実行システムは、第一のシナリオファイルと、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルとをそれぞれ、異なる前記シナリオ実行端末に送信するシナリオ提供部を備える、
シナリオ実行システム。
【請求項7】
前記記憶装置は、ブロックチェーンにより前記ログデータを記録する、
請求項1
から請求項6のいずれか一項に記載のシナリオ実行システム。
【請求項8】
シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを前記シナリオ実行端末が実行することにより発生したイベントの情報を受信する処理と
、受信した前記イベントの情報を
当該イベントの公開範囲に応じて暗号化し、異なる公開範囲に応じて暗号化された複数の前記イベントの情報を設定したログデータを
記憶装置に記録する処理とを行うログ記録部
と、
検索者の端末から検索条件及び検索者情報を受信し、前記記憶装置に記憶されているログデータであって、当該ログデータより前に前記記憶装置に記録済みのログデータに基づいて一意に生成される情報が付加された前記ログデータのうち前記検索条件により特定される前記ログデータから前記検索者情報により示される検索者の鍵を用いてデータを復号し、復号されたデータを返送するログ管理部と、
を備えるログ管理装置。
【請求項9】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムにおけるログ記録方法であって、
前記シナリオ実行端末が、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行ステップと、
前記シナリオ実行端末が、前記シナリオ実行ステップにおいて前記シナリオファイルが実行されることにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知ステップと、
前記ログ管理装置が、前記イベント通知ステップにより通知された前記イベントの情報を受信し、受信した前記イベントの情報を
当該イベントの公開範囲に応じて暗号化し、異なる公開範囲に応じて暗号化された複数の前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録ステップと、
前記記憶装置が、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶ステップと、
前記ログ管理装置が、検索者の端末から検索条件及び検索者情報を受信し、前記記憶装置に記憶されているログデータのうち前記検索条件により特定される前記ログデータから前記検索者情報により示される検索者の鍵を用いてデータを復号し、復号されたデータを返送するログ送信ステップと、
を有するログ記録方法。
【請求項10】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムにおけるログ記録方法であって、
前記シナリオ実行端末が、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行ステップと、
前記シナリオ実行端末が、前記シナリオ実行ステップにおいて前記シナリオファイルが実行されることにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知ステップと、
前記ログ管理装置が、前記イベント通知ステップにより通知された前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録ステップと、
前記記憶装置が、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶ステップと、
を有
し、
前記シナリオ実行システムは、第一のシナリオ実行端末及び第二のシナリオ実行端末を含む複数の前記シナリオ実行端末を有しており、
前記ログ管理装置は、前記ログ記録ステップにおいて、前記第一のシナリオ実行端末において第一のシナリオファイルが実行されることにより発生したイベントの情報と、前記第一のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第一ログデータを前記記憶装置に記録し、
前記ログ管理装置が、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルを実行する前記第二のシナリオ実行端末から前記引継ぎ識別情報を受信し、受信した前記引継ぎ識別情報が設定されている前記第一ログデータに関する情報を返送するログ管理ステップをさらに有する、
ログ記録方法。
【請求項11】
シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムにおけるログ記録方法であって、
前記シナリオ実行端末が、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行ステップと、
前記シナリオ実行端末が、前記シナリオ実行ステップにおいて前記シナリオファイルが実行されることにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知ステップと、
前記ログ管理装置が、前記イベント通知ステップにより通知された前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録ステップと、
前記記憶装置が、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶ステップと、
前記シナリオ実行システムが、第一のシナリオファイルと、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルとをそれぞれ、異なる前記シナリオ実行端末に送信するシナリオ提供ステップと、
を有するログ記録方法。
【請求項12】
シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを前記シナリオ実行端末が実行することにより発生したイベントの情報を受信する受信ステップと、
受信した前記イベントの情報を
当該イベントの公開範囲に応じて暗号化し、異なる公開範囲に応じて暗号化された複数の前記イベントの情報を設定したログデータを
記憶装置に記録するログ記録ステップと、
検索者の端末から検索条件及び検索者情報を受信し、前記記憶装置に記憶されているログデータであって、当該ログデータより前に前記記憶装置に記録済みのログデータに基づいて一意に生成される情報が付加された前記ログデータのうち前記検索条件により特定される前記ログデータから前記検索者情報により示される検索者の鍵を用いてデータを復号し、復号されたデータを返送するログ送信ステップと、
を有するログ記録方法。
【請求項13】
コンピュータを、請求項8に記載のログ管理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シナリオ実行システム、ログ管理装置、ログ記録方法及びプログラムに関する。
【背景技術】
【0002】
RPA(Robotic Process Automation)などの自動化ツールは、PC(パーソナルコンピュータ)等の情報処理装置を用いて人手で行っていた定型的な作業を自動で実行可能とする。例えば、作業手順を記述したシナリオを作成し(例えば、特許文献1参照)、PCがそのシナリオを実行することで、人手で行っていた作業を再現する(例えば、特許文献2参照)。RPAにより、時間的コストや人的コストを削減し、作業ミスを低減することもできる。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第5026451号公報
【文献】特許第4883638号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、自動化ツールによって従来人手で行っていた作業を効率化するという利点があるが、自動化ツール導入の利点をさらに拡大することによって、さらに普及が進むと考えられる。例えば、自動化ツールによって自動化処理が行われたことを公証的な記録として用いることができれば、その記録を監査の際に参照したり、自動化ツールによって取引先に送った情報が正しいことを取引先において確認するための記録として用いたりすることが可能となる。
【0005】
上記事情に鑑み、本発明は、自動化ツールにより自動化処理が行われたことを証明する情報を提供することができるシナリオ実行システム、ログ管理装置、ログ記録方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムであって、前記シナリオ実行端末は、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行部と、前記シナリオ実行部が前記シナリオファイルを実行することにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知部とを備え、前記ログ管理装置は、前記シナリオ実行端末から前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録部を備え、前記記憶装置は、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する、シナリオ実行システムである。
【0007】
本発明の一態様は、上述のシナリオ実行システムであって、前記記憶装置は、ブロックチェーンにより前記ログデータを記録する。
【0008】
本発明の一態様は、上述のシナリオ実行システムであって、前記ログ管理装置は、前記シナリオファイルを前記シナリオ実行端末に送信するシナリオ提供部をさらに備える。
【0009】
本発明の一態様は、上述のシナリオ実行システムであって、前記シナリオ実行システムは、第一のシナリオ実行端末及び第二のシナリオ実行端末を含む複数の前記シナリオ実行端末を有し、前記ログ記録部は、前記第一のシナリオ実行端末において第一のシナリオファイルが実行されることにより発生したイベントの情報と、前記第一のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第一ログデータを前記記憶装置に記録し、前記ログ管理装置は、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルを実行する前記第二のシナリオ実行端末から前記引継ぎ識別情報を受信し、受信した前記引継ぎ識別情報が設定されている前記第一ログデータに関する情報を返送するログ管理部をさらに備える。
【0010】
本発明の一態様は、上述のシナリオ実行システムであって、前記第一ログデータに記録される前記イベントの情報は、前記第一のシナリオファイルの実行により生成され、かつ、前記第二のシナリオファイルの実行において用いられる情報を含む。
【0011】
本発明の一態様は、上述のシナリオ実行システムであって、前記ログ記録部は、前記第二のシナリオ実行端末において前記第二のシナリオファイルが実行されることにより発生したイベントの情報と、前記第二のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第二ログデータを前記記憶装置に記録し、前記ログ管理部は、前記第一のシナリオ実行端末から前記引継ぎ識別情報を受信し、受信した前記引継ぎ識別情報が設定されている前記第二ログデータに関する情報を返送する。
【0012】
本発明の一態様は、上述のシナリオ実行システムであって、前記シナリオ実行システムは、第一のシナリオファイルと、前記第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルとをそれぞれ、異なる前記シナリオ実行端末に送信するシナリオ提供部を備える。
【0013】
本発明の一態様は、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを前記シナリオ実行端末が実行することにより発生したイベントの情報を受信する処理と、ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶装置に、受信した前記イベントの情報を設定したログデータを記録する処理とを行うログ記録部、を備えるログ管理装置である。
【0014】
本発明の一態様は、シナリオ実行端末とログ管理装置と記憶装置とを有するシナリオ実行システムにおけるログ記録方法であって、前記シナリオ実行端末が、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行するシナリオ実行ステップと、前記シナリオ実行端末が、前記シナリオ実行ステップにおいて前記シナリオファイルが実行されることにより発生したイベントの情報を前記ログ管理装置に通知するイベント通知ステップと、前記ログ管理装置が、前記イベント通知ステップにより通知された前記イベントの情報を受信し、受信した前記イベントの情報を設定したログデータを前記記憶装置に記録するログ記録ステップと、前記記憶装置が、前記ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶ステップと、を有するログ記録方法である。
【0015】
本発明の一態様は、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを前記シナリオ実行端末が実行することにより発生したイベントの情報を受信する受信ステップと、ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する記憶装置に、受信した前記イベントの情報を設定したログデータを記録するログ記録ステップと、を有するログ記録方法である。
【0016】
本発明の一態様は、コンピュータを、上述したログ管理装置として機能させるためのプログラムである。
【発明の効果】
【0017】
本発明により、自動化ツールにより自動化処理が行われたことを証明する情報を提供することが可能となる。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施形態によるシナリオ実行システムの構成図である。
【
図2】同実施形態によるシナリオの例を示す図である。
【
図3】同実施形態によるシナリオ提供装置の構成を示す機能ブロック図である。
【
図4】同実施形態によるシナリオ実行端末の構成を示す機能ブロック図である。
【
図5】同実施形態によるシナリオ管理情報の例を示す図である。
【
図6】同実施形態によるログ公開範囲情報の例を示す図である。
【
図7】同実施形態による顧客管理情報の例を示す図である。
【
図8】同実施形態によるシナリオ実行スケジュール情報の例を示す図である。
【
図9】同実施形態によるログデータの例を示す図である。
【
図10】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図11】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図12】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図13】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図14】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図15】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図16】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図17】同実施形態によるシナリオ実行システムのシーケンス図である。
【
図18】同実施形態によるログデータの例を示す図である。
【
図19】同実施形態によるログデータの例を示す図である。
【
図20】同実施形態によるログ検索画面の表示例を示す図である。
【
図21】同実施形態によるログ表示画面の表示例を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。本実施形態は、RPAなどの自動化ツールによる自動化処理の結果を第三者が公証するための共通的な基盤の構築に適用可能である。現在、RPA技術が普及しているが、その仕組み作りは個々の対応によって解決されていた。そのため、自動化処理の恩恵が限定的な個々の範囲内に留まっていることが少なくなかった。本実施形態により、自動化処理の実行について監査にも使用可能な情報を提供可能とし、自動化処理を導入する利点を拡大する。
【0020】
図1は、本発明の一実施形態によるシナリオ実行システム1の構成図である。シナリオ実行システム1は、テナント管理者のシナリオ提供装置2及び記憶装置3と、各テナントのシナリオ実行端末5とを備える。シナリオ提供装置2は、ログ管理装置の一例である。同図では、テナントA及びテナントBを示しているが、テナントの数は任意である。また、同図では、テナントA及びテナントBそれぞれのシナリオ実行端末5を1台のみ示しているが、各テナントが使用するシナリオ実行端末5の台数は任意である。シナリオ提供装置2は、インターネットなどのネットワーク7を介して、シナリオ実行端末5と接続されている。テナントの例は、企業、学校、団体などであるが、これらに限らない。各テナントの1以上のユーザが、シナリオ実行端末5を使用する。
【0021】
テナント管理者は、シナリオ提供装置2により、テナントへRPAのシナリオを提供する。また、シナリオ提供装置2は、シナリオ実行端末5におけるシナリオの利用や実行に関するログデータを生成し、記憶装置3に記憶する。記憶装置3は、例えば、耐改ざん性を有するブロックチェーン技術によるトランザクションの分散管理台帳の仕組みを用いてログデータを記録する。この場合、記憶装置3は複数のノードコンピュータから構成され、これら複数のノードコンピュータ装置は、分散してログデータを保持する。シナリオ実行端末5は、例えば、PCや業務用システムなどのコンピュータ装置である。シナリオ実行端末5は、シナリオ提供装置2が提供するシナリオの中から所望のシナリオを選択してダウンロードし、ダウンロードしたシナリオを実行する。また、シナリオ実行端末5は、シナリオの利用及び実行に関するイベントの発生や、そのイベントの実行結果をイベント通知によりシナリオ提供装置2に通知する。イベントは、例えば、シナリオの実行指示、シナリオの実行開始、シナリオ内の特定処理の実行、シナリオ実行終了などを含む。シナリオ提供装置2は、受信したイベント通知に基づくログデータを記憶装置3へ書き込む。
【0022】
図2は、シナリオ実行端末5において実行されるシナリオの例を示す図である。シナリオは、ユーザーインタフェースによりシナリオ実行端末5に行われる操作と、その操作の実行順とを示す。部品シナリオPは、シナリオ実行端末5に行われる操作を表している。また、部品シナリオPは、操作の結果に基づく判断処理や、シナリオ提供装置2などの他の装置への通知の送信など、シナリオ実行端末5に行わせる処理を表す場合もある。部品シナリオP間の矢印Qは、それら部品シナリオPの実行順を表す。すなわち、矢印Qの根元の部品シナリオPが実行された後に、矢印Qの先の部品シナリオPが実行される。部品シナリオPが判断処理の場合は、判断結果によって次の部品シナリオPが異なる。
【0023】
図3は、シナリオ提供装置2の構成を示す機能ブロック図である。シナリオ提供装置2は、例えば、クラウド上の1台以上のコンピュータ装置(コンピュータサーバ)により実現される。シナリオ提供装置2が、ネットワークを介して通信可能に接続された複数台のコンピュータ装置を用いて実装される場合、シナリオ提供装置2が備える各機能部は、複数のコンピュータ装置に分散して実装されてもよい。シナリオ提供装置2の各機能部を、いずれのコンピュータ装置により実装するかは任意とすることができる。また、同一の機能部を複数のコンピュータ装置により実現してもよい。
【0024】
シナリオ提供装置2は、記憶部21と、入力部22と、表示部23と、処理部24とを有する。記憶部21は、処理部24の処理に用いられる情報を含む各種情報を記憶する。記憶部21は、シナリオ管理情報と、公開範囲情報と、顧客管理情報と、シナリオ実行スケジュール情報とを記憶する。シナリオ管理情報は、シナリオが記述されたシナリオファイル、及び、シナリオに関する情報を含む。ログ公開範囲情報は、ログデータ内の情報の公開範囲を示す情報である。顧客管理情報は、RPAを利用する顧客であるテナントに関する情報を示す。例えば、顧客管理情報は、テナントの情報や、テナントが利用可能なシナリオの情報などを含む。シナリオ実行スケジュール情報は、各テナントがシナリオ実行端末5にシナリオを実行させるスケジュールを示す。
【0025】
入力部22は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部22は、各種情報をシナリオ提供装置2に入力する際にテナント管理者によって操作される。なお、入力部22は、シナリオ提供装置2とネットワークを介して接続されるテナント管理者のコンピュータ装置から情報を受信してもよい。表示部23は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置である。表示部23は、シナリオ提供装置2とネットワークを介して接続されるテナント管理者のコンピュータ装置に情報を表示してもよい。
【0026】
処理部24は、登録部241と、クライアント管理部242と、アプリ提供部243と、シナリオ提供部244と、ログ記録部245と、ログ管理部246とを備える。登録部241は、顧客管理情報の登録、更新及び削除、クライアントの登録や削除を行う。クライアントとは、シナリオ実行アプリを実装したシナリオ実行端末5である。シナリオ実行アプリは、シナリオファイルに記載のシナリオを実行させるアプリケーションプログラムである。クライアント管理部242は、クライアントの登録のためのAPI(Application Program Interface)を提供する。クライアント管理部242は、クライアントの登録及び削除を登録部241に指示する。アプリ提供部243は、シナリオ実行アプリをシナリオ実行端末5に送信する。シナリオ提供部244は、シナリオ実行端末5からシナリオ実行スケジュール情報を受信し、記憶部21に書き込む。シナリオ提供部244は、シナリオ実行スケジュール情報に従ってシナリオの実行指示、及び、シナリオファイルをシナリオ実行端末5に送信する。
【0027】
ログ記録部245は、シナリオ実行端末5からイベント通知を受信する。イベント通知は、イベントの種類と、イベント実行結果と、イベントの発生時刻との情報を含む。イベント実行結果は、イベントの種類に依存し、イベントの種類によっては含まれなくてもよい。ログ記録部245は、イベント通知に基づいてログデータを生成する。ログデータ内の情報は、ログ公開範囲情報が示す公開範囲に応じて暗号化される。ログ記録部245は、生成したログデータを記憶装置3に書き込む。ログ管理部246は、記憶装置3に蓄積されているログデータをシナリオ実行端末5に提供する。また、ログ管理部246は、ログデータの状態を管理する。
【0028】
図4は、シナリオ実行端末5の構成を示す機能ブロック図である。シナリオ実行端末5は、記憶部51と、入力部52と、表示部53と、処理部54とを備える。記憶部51は、処理部54の処理に用いられる情報を含む各種情報を記憶する。記憶部51は、シナリオファイルを記憶する。入力部52は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部52は、ユーザの指示をシナリオ実行端末5に入力する際にユーザによって操作される。表示部53は、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ等の画像表示装置である。
【0029】
処理部54は、シナリオ選択部541と、実行指示部542と、シナリオ受信部543と、シナリオ実行部544と、イベント通知部545と、ログ取得部546と、機能X実行部547とを備える。シナリオ選択部541は、ユーザが選択したシナリオの情報をシナリオ提供装置2に通知する。実行指示部542は、シナリオ実行端末5に対するシナリオ実行指示を、シナリオ提供装置2に送信する。実行指示部542からシナリオ実行指示を送信することは、シナリオ実行スケジュール情報をシナリオ提供装置2に登録することに相当する。シナリオ選択部541及び実行指示部542は、例えば、シナリオ提供装置2から受信したウェブ画面データを表示するウェブブラウザにより実現してもよい。シナリオ受信部543は、シナリオ実行スケジュール情報により実行が指示されたシナリオのシナリオファイルをシナリオ提供装置2から受信し、記憶部51に書き込む。シナリオ実行部544は、記憶部51からシナリオファイルを読み出して実行する。
【0030】
イベント通知部545は、シナリオ実行端末5においてイベントが発生した場合、その発生したイベントの種類と、イベント実行結果と、イベントの発生時刻とを設定したイベント通知をシナリオ提供装置2に送信する。イベントの種類は、例えば、シナリオ実行スケジュール情報の登録、シナリオの実行開始、シナリオ内の特定の部品シナリオの実行、シナリオの実行終了などである。イベント実行結果に設定される情報は、イベントの種類に依存する。クライアント起動がシナリオの実行開始のイベントに相当する場合、イベントの種類にはクライアント起動が設定され、イベント実行結果には、クライアントが正常に起動したか起動が失敗したかなどが設定される。イベントが部品シナリオaの実行である場合、イベントの種類には、部品シナリオaを特定する情報が設定され、イベント実行結果には、部品シナリオaの実行の結果得られたデータのデータ項目及びデータ値、部品シナリオaの実行が成功したか失敗したかなどが設定される。また、イベント実行結果には、発注伝票のファイルなどのように、取引先のテナントに渡すファイル、そのファイルが記憶されているURL(Universal Resource Locator)などの記憶場所、そのファイルに含まれる情報などが含まれてもよい。イベントがシナリオの実行終了である場合、イベントの種類にはシナリオ実行終了が設定され、イベント実行結果には、シナリオの実行が正常に終了したか失敗したかなどが設定される。
【0031】
機能X実行部547は、機能Xのアプリケーションを実行する。機能Xは、シナリオの実行に使用され得る機能であり、例えば、テナントの業務処理システムのインタフェース画面の表示、メール送受信、表計算、文書編集、はがき作成、図形描画、ウェブブラウザ等、PCに実装される任意の機能とすることができる。業務処理システムの例は、ERP(Enterprise Resource Planning)システム、CRM(Customer Relationship Management)システム、電子署名システム、クラウド上のコンテンツを管理及び利用するためのプラットフォームを提供するシステムなどであるが、これらに限定されない。同図では、機能A、B、Cそれぞれのアプリケーションを実行する機能X実行部547(X=A、B、C)を、機能A実行部547a、機能B実行部547b、機能C実行部547cと記載している。シナリオ実行部544がシナリオを実行することにより、例えば、シナリオ実行端末5のOS(Operation System)に対する操作や、OS又は機能X実行部547が表示部53に表示させているアプリケーションの画面に対する操作が行われる。
【0032】
続いて、シナリオ実行システム1に用いられる各種データについて説明する。
図5は、シナリオ管理情報を示す図である。シナリオ管理情報は、シナリオIDと、シナリオ名と、シナリオの説明と、シナリオファイルとを含む。シナリオIDは、シナリオを一意に特定する情報である。シナリオファイルは、シナリオが記述されたファイルである。
【0033】
図6は、ログ公開範囲情報を示す図である。ログ公開範囲情報は、ログデータに含まれる情報の公開範囲を示す。ログ公開範囲情報は、シナリオIDと、公開範囲及び公開範囲別情報との1以上の組を含む。公開範囲は、ログデータ内の情報の公開先を示す。例えば、公開先は、自テナントのみ、自テナントの特定ユーザ、他のテナント、全テナント、テナント管理者などとすることができる。公開先が自テナント及びテナント管理者、あるいは、自テナント及び他のテナントであるなど、公開先が複数であってもよい。なお、自テナントとは、シナリオ実行端末5にシナリオを実行させたテナントである。公開範囲別情報は、対応する公開範囲が示す公開先に公開するログデータ内の情報である。
【0034】
例えば、イベント種別がクライアント起動であるイベント通知のイベント実行結果に、起動OK又はNGの値が設定されるとする。この場合、公開範囲が自テナント又は自テナントの特定ユーザである公開範囲別情報を、イベント実行結果及びイベントの発生時刻とし、公開範囲が他のテナントや全テナントである公開範囲別情報には情報の設定なしとすることができる。また、イベント種別が部品シナリオAの実行であるイベント通知のイベント実行結果にデータ項目A1の値が設定されるとする。この場合、公開範囲が自テナントの公開範囲別情報を、部品シナリオAの実行、データ項目A1の値、イベントの発生時刻とし、公開範囲が取引先の他のテナントの公開範囲別情報を、データ項目A1の値とする、もしくは、データ項目A1の値及びイベントの発生時刻とすることができる。
【0035】
図7は、顧客管理情報を示す図である。顧客管理情報は、テナントIDと、テナント名と、テナントの連絡先と、ユーザ情報と、クライアントIDと、シナリオIDとを含む。テナントIDを除く各情報は、複数設定されてもよい。テナントIDは、テナントを一意に特定する情報である。ユーザ情報は、シナリオ実行端末5を利用するユーザのユーザID、ユーザ名、所属するグループ等の情報を含む。ユーザIDは、ユーザを一意に特定する情報である。ユーザIDとして、シナリオ実行端末5の識別情報を用いてもよい。グループの一例は、所属部署などである。クライアントIDは、シナリオ実行アプリをダウンロードしたシナリオ実行端末5を特定する情報である。例えば、クライアントIDとして、シナリオ実行端末5にダウンロードしたシナリオ実行アプリの管理番号を用いることができる。クライアントIDとして、シナリオ実行端末5のアドレスなどの端末IDを用いてもよい。顧客管理情報に設定されるシナリオIDは、ユーザが選択したシナリオである。
【0036】
図8は、シナリオ実行スケジュール情報を示す図である。シナリオ実行スケジュール情報は、シナリオ実行端末5にシナリオを実行させるスケジュールを示す。シナリオ実行スケジュール情報は、テナントIDと、ユーザIDと、クライアントIDと、シナリオIDと、実行開始タイミングと、タスク名と、公開先と、タスクIDとを含む。クライアントIDは、シナリオIDにより特定されるシナリオを実行させるシナリオ実行端末5を特定する情報である。なお、クライアントIDに代えて、シナリオを実行させるシナリオ実行端末5の端末IDを用いてもよい。実行開始タイミングは、シナリオIDにより特定されるシナリオファイルの実行を開始するタイミングである。公開先は、シナリオの実行により得られたログデータの少なくとも一部の情報が公開されるユーザや他のテナントである。タスクIDは、シナリオの実行に対してシナリオ提供装置2のシナリオ提供部244により割り当てられる識別情報である。
【0037】
図9は、ログデータを示す図である。ログデータは、ブロックチェーンによって記憶装置3に記憶される。すなわち、記憶装置3を構成する各ノードコンピュータが、ログデータを分散して保持する。ログデータは、ハッシュ値と、ナンス値と、キー情報と、1以上のログ項目群と含む。ハッシュ値及びナンス値は、ブロックチェーンに用いられる情報である。ハッシュ値は、ブロックチェーンにおける前のログデータのハッシュ値である。ナンス値は、ノードコンピュータがログデータを記録する権限の獲得に用いられた情報である。キー情報は、ログデータの検索に用いられる情報である。本実施形態では、キー情報は、テナントID、ユーザID、クライアントID、シナリオID、タスク名、タスクID、タスクの実行開始時刻及び実行終了時刻、ログの生成時刻、各ログ項目群の公開先の情報を含む。なお、キー情報の少なくとも一部が、自テナント、特定のテナント、テナント管理者などが検索に使用できるように暗号化されてもよい。
【0038】
各ログ項目群は、それぞれ公開範囲が異なる。ログ項目群は、公開範囲に応じて暗号化される。例えば、ログ項目群#1の公開範囲がテナントAである場合、ログ項目群#1は、テナントAの秘密鍵X1で復号できるように暗号化される。また、ログ項目群#2の公開範囲がテナントA内のユーザグループGである場合、ログ項目群#2は、そのグループGの秘密鍵X2で復号できるように暗号化される。また、ログ項目群#3の公開範囲がテナントAに許可された他のテナントである場合、ログ項目群#3は、テナントAの公開鍵Pで復号できるように暗号化される。また、ログ項目群#4の公開範囲が取引先のテナントBである場合、ログ項目群#4は、テナントBの秘密鍵Qで復号できるように暗号化される。また、ログ項目群#5の公開範囲がテナントAのグループ会社である場合、テナントAとそのグループ会社のテナントA’、A”それぞれの復号鍵が全て又は所定以上そろった場合に復号できるように暗号化される。また、ログ項目群#6の公開範囲がテナント管理者である場合、テナント管理者の秘密鍵で復号できるように暗号化される。これらは例であり、複数のテナントのそれぞれが自分の復号鍵で復号可能なように一つのログ項目群が暗号化されてもよい。
【0039】
ログ項目群は、1以上のログ項目情報を含む。ログ項目情報は、イベント通知によりシナリオ実行端末5から通知された内容に基づき設定される。ログ項目情報は、ログ項目の名称であるログ項目名と、実行結果及び時刻とを含む。ログ項目名は、イベント通知に設定されているイベントの種別でもよく、イベントの種別に応じて決められる項目名でもよい。実行結果には、イベント通知に設定されているイベント実行結果から得られる情報が設定される。なお、ログ項目名を、イベント通知のイベント実行結果に設定されているデータ項目の項目名としてもよい。この場合、イベントの実行結果は、そのデータ項目の値を含む。ログ項目情報の時刻は、イベント通知に設定されているイベント実行時刻である。
【0040】
続いて、シナリオ実行システム1の動作について説明する。
図10は、シナリオ実行システム1の初期登録手順を示すシーケンス図である。シナリオ実行システム1は、最初に、シナリオ及びテナントを管理するための情報を登録する初期登録手順を行う。テナント管理者は、シナリオ提供装置2の記憶部21にシナリオ管理情報及び公開範囲情報を登録する(ステップS101)。さらに、テナント管理者は、登録顧客情報と、顧客管理情報登録指示とを入力部22により入力する(ステップS102)。登録顧客情報は、例えば、新たに登録するテナントのテナント名や住所等の情報を含む。登録部241は、テナントIDを割り当てると、入力された登録顧客情報と、割当てたテナントIDとを設定した顧客管理情報を記憶部21に書き込む(ステップS103)。さらに、登録部241は、テナント管理者が入力部22に入力した指示に基づいて、シナリオ実行アプリと、いずれのクライアントにも未割当のクライアントIDとを記憶部21に登録する。
【0041】
顧客管理情報の登録後、シナリオ実行端末5は、テナントIDをシナリオ提供装置2に送信してアクセスする(ステップS104)。シナリオ提供装置2のクライアント管理部242は、顧客管理情報設定画面の画面データをシナリオ実行端末5に返送する(ステップS105)。テナントのユーザは、シナリオ実行端末5の表示部53が表示する管理情報設定画面の画面データに、入力部52によりユーザ情報を入力する(ステップS106)。ユーザ情報は、ユーザID、ユーザ名、ユーザが属するグループなどの情報を含む。シナリオ実行端末5は、テナントIDと、入力されたユーザ情報とをシナリオ提供装置2に送信する(ステップS107)。シナリオ提供装置2のクライアント管理部242は、受信したテナントID及びユーザ情報を登録部241に出力する(ステップS108)。登録部241は、記憶部21に記憶されている顧客管理情報をテナントIDにより検索し、検索により特定された顧客管理情報にユーザ情報を追加する(ステップS109)。
【0042】
図11は、シナリオ実行システム1のアプリ配信手順を示すシーケンス図である。シナリオ実行システム1は、初期登録手順に続いて、シナリオ実行端末5にシナリオ実行アプリを配信するアプリ配信手順を行う。テナントのユーザは、アプリ要求の送信指示をシナリオ提供装置2の入力部22により入力する(ステップS201)。処理部54は、要求元情報を設定したアプリ要求をシナリオ実行端末5に送信する(ステップS202)。要求元情報は、テナントIDを含み、ユーザIDをさらに含んでもよい。シナリオ提供装置2のアプリ提供部243は、シナリオ実行端末5に未割当のクライアントIDを付加したシナリオ実行アプリをシナリオ提供装置2に送信する(ステップS203)。シナリオ提供装置2の処理部54は、シナリオ提供装置2から受信したシナリオ実行アプリを実装する(ステップS204)。これにより、シナリオ実行端末5に、シナリオ実行部544及びイベント通知部545が生成される。
【0043】
一方で、シナリオ提供装置2のアプリ提供部243は、要求元情報と、送信したシナリオ実行アプリのクライアントIDとを登録部241に通知する(ステップS205)。さらに、アプリ提供部243は、配信時刻を通知してもよい。登録部241は、記憶部21に記憶されている顧客管理情報を要求元情報により検索し、検索により特定された顧客管理情報にクライアントID及び配信時刻を追加する(ステップS206)。
【0044】
図12は、シナリオ実行システム1のシナリオ実行指示手順を示すシーケンス図である。シナリオ提供装置2のシナリオ提供部244は、記憶部21に記憶されているシナリオ管理情報からシナリオID、シナリオ名及びシナリオの説明を読み出す。シナリオ提供部244は、読み出したこれらの情報の一覧を表示し、その一覧の中から使用するシナリオを選択するためのメニュー画面の画面データを生成し、シナリオ実行端末5に送信する(ステップS301)。シナリオ実行端末5のシナリオ選択部541は、受信したメニュー画面の画面データを表示部53に表示する。テナントのユーザは、表示されるメニュー画面から、使用するシナリオを入力部52により選択する。シナリオ選択部541は、テナントID及び選択されたシナリオのシナリオIDを設定したシナリオ選択情報をシナリオ提供装置2に送信する(ステップS302)。シナリオ提供装置2のシナリオ提供部244は、受信したシナリオ選択情報を登録部241に通知する(ステップS303)。登録部241は、受信したシナリオ選択情報が示すテナントIDにより記憶部21に記憶されている顧客管理情報を特定する。登録部241は、特定された顧客管理情報に、シナリオ選択情報に設定されているシナリオIDを追加する(ステップS304)。
【0045】
シナリオ提供装置2のシナリオ提供部244は、顧客管理情報からシナリオIDを読み出し、読み出したシナリオIDにより特定されるシナリオ管理情報及び公開範囲情報を読み出す(ステップS305)。シナリオ提供部244は、読み出した情報に基づいて、シナリオIDに対応したシナリオ名の一覧の中から実行対象のシナリオを選択し、タスク名、実行開始タイミング、シナリオを実行させるシナリオ実行端末5の情報を入力するためのスケジュール登録画面の画面データを生成する。シナリオの公開範囲情報に特定ユーザ及び他テナントが含まれる場合、スケジュール登録画面は、公開先のユーザ及び他テナントを入力するフィールドを含む。シナリオ提供部244は、生成したスケジュール登録画面の画面データをシナリオ実行端末5に送信する(ステップS306)。
【0046】
シナリオ実行端末5の実行指示部542は、受信したスケジュール登録画面の画面データを表示部53に表示する。ユーザは、入力部52により、実行対象のシナリオの選択と、タスク名と、実行開始タイミングと、シナリオを実行させるシナリオ実行端末5の情報と、公開先の情報とを入力する(ステップS307)。シナリオを実行するシナリオ実行端末5の情報として、シナリオ実行端末5に実装されているシナリオ実行アプリのクライアントIDを用いてもよい。実行開始タイミングには、特定の日時のほか、即時が設定され得る。実行指示部542は、入力されたこれらの情報と、テナントID、ユーザID及びクライアントIDとを設定したスケジュール登録要求をシナリオ提供装置2に送信する(ステップS308)。シナリオ提供装置2のシナリオ提供部244は、スケジュール登録要求を受信するとタスクIDを付与する(ステップS309)。シナリオ提供部244は、スケジュール登録要求に含まれる情報と、付与したタスクIDとを設定したシナリオ実行スケジュール情報を記憶部21に登録する(ステップS310)。なお、シナリオ実行端末5は、シナリオ実行スケジュール情報に設定される情報を、複数回に分けて送信してもよい。
【0047】
さらに、シナリオ提供部244は、イベント通知をログ記録部245に通知する(ステップS311)。イベントの種類には、スケジュール登録が設定される。イベント実行結果には、スケジュール登録要求により受信したテナントID、ユーザID、クライアントID、シナリオID、シナリオ提供部244が割り当てたタスクID、スケジュール登録の成功又は失敗の等の情報が含まれる。ログ記録部245は、イベント通知に含まれる情報を用いてログデータを生成し(ステップS312)、記憶装置3に書き込む(ステップS313)。例えば、ログデータのキー情報には、テナントID、ユーザID、クライアントID、シナリオID、タスクIDが設定される。また、公開範囲がテナントAのログ項目群及び公開範囲がテナント管理者のログ項目群には、イベントの種類に対応したログ項目名「スケジュール登録」と、スケジュール登録の成功又は失敗を示すイベント実行結果と、イベント発生時刻とを対応付けたログ項目が設定される。
【0048】
図13は、シナリオ実行システム1のシナリオ起動手順を示すシーケンス図である。シナリオ提供装置2のシナリオ提供部244は、記憶部21に記憶したシナリオ実行スケジュール情報の実行タイミングを参照し、実行タイミングであることを検出する(ステップS401)。シナリオ提供部244は、検出したシナリオ実行スケジュール情報に設定されているシナリオIDのシナリオファイルを記憶部21から読み出す(ステップS402)。シナリオ提供部244は、シナリオ実行スケジュール情報に設定されている実行対象のシナリオ実行端末5に、シナリオ実行指示と、シナリオファイルと、検出したシナリオ実行スケジュール情報から読み出したタスクIDとを送信する(ステップS403)。シナリオ実行端末5のシナリオ受信部543は、受信したシナリオファイル及びタスクIDを記憶部51に記憶する。シナリオ実行部544は、シナリオ実行指示を受信して起動する(ステップS404)。
【0049】
シナリオ実行端末5のイベント通知部545は、クライアントが起動したことを示すイベント通知をシナリオ提供装置2に送信する(ステップS405)。イベント通知には、テナントID、ユーザID、クライアントID、シナリオID、タスクID、イベントの種類、イベント実行結果、イベント発生時刻等の情報が含まれる。シナリオIDは、受信したシナリオファイルから読み出される。イベント実行結果は、シナリオ実行部544の起動が成功したか失敗したかを示す。イベントの種類は、クライアントの起動を示す。イベント発生時刻は、シナリオ実行部544が起動した時刻を示す。シナリオ提供装置2のシナリオ提供部244は、イベント通知を受信し、ログ記録部245に通知する(ステップS406)。あるいは、ログ記録部245は、シナリオ提供部244を介さずに、シナリオ実行端末5からイベント通知を直接受信してもよい。ログ記録部245は、イベント通知に含まれる情報を用いてログデータを生成し(ステップS407)、記憶装置3に書き込む(ステップS408)。例えば、ログデータのキー情報に、テナントID、ユーザID、クライアントID、シナリオID、タスクIDが設定される。また、公開範囲がテナントAのログ項目群には、イベントの種類に対応したログ項目名「クライアント起動」と、イベント実行結果と、イベント発生時刻とを対応付けたログ項目が設定される。
【0050】
図14は、シナリオ実行システム1のシナリオ実行ログ記録手順を示すシーケンス図である。シナリオ実行端末5のシナリオ実行部544は、記憶部51に記憶されるシナリオファイルに記述されているシナリオを実行する(ステップS501)。イベント通知部545は、シナリオ内の所定の部品シナリオが実行されたことを検出した場合、その部品シナリオが実行された旨のイベント通知をシナリオ提供装置2に送信する(ステップS502)。なお、イベント通知が行われる部品シナリオの情報と、通知する対象の実行結果とは、予めシナリオファイルに付加される。また、イベント通知を行う部品シナリオをシナリオに含めてもよい。この場合、部品シナリオにイベントの実行結果として通知する対象の情報が設定される。イベント通知には、テナントID、ユーザID、クライアントID、シナリオID、タスクID、実行された部品シナリオを示すイベントの種類、部品シナリオの実行結果を示すイベント実行結果、部品シナリオの実行時刻を示すイベント発生時刻等の情報が含まれる。
【0051】
シナリオ提供装置2のシナリオ提供部244は、受信したイベント通知をログ記録部245に出力する(ステップS503)。さらに、シナリオ提供部244は、イベント通知に含まれるイベント種別を参照し、実行結果引継ぎIDの生成対象のイベントか否かを判断する(ステップS504)。例えば、シナリオ実行終了又は特定の部品シナリオの実行を、実行結果引継ぎIDの生成対象とすることができる。この特定の部品シナリオは、例えば、1トランザクションが完了したときに実行されるようにシナリオ内に配置される。また、この特定の部品シナリオが、実行結果引継ぎID生成要求を送信する部品シナリオであってもよい。なお、実行結果引継ぎIDの生成をシナリオ実行端末5で行う場合、シナリオ提供部244を介さずにログ記録部245がシナリオ実行端末5から直接イベント通知を受信してもよい。
【0052】
シナリオ提供部244は、イベント種別が実行引継ぎIDを生成する対処ではないと判定した場合(ステップS504:NO)、次のイベント通知を待つ。シナリオ提供部244は、イベント種別が実行引継ぎIDを生成する対処であると判定した場合(ステップS504:YES)、実行結果引継ぎIDを生成する(ステップS505)。シナリオ提供部244は、受信したイベント通知から読み出したテナントID、ユーザID、クライアントID、シナリオID、タスクID、実行結果引継ぎIDの生成を示すイベントの種類、生成された実行結果引継ぎIDを示すイベント実行結果、イベント発生時刻等の情報を設定したイベントを生成し、ログ記録部245に出力する。
【0053】
ログ記録部245は、ステップS503又はステップS506において受信したイベント通知を記憶部21に記憶する(ステップS506)。ログ記録部245は、受信したイベント通知のイベント種別がログデータ生成対象のイベントであるか否かを判断する(ステップS507)。例えば、1シナリオの実行終了や、シナリオ内においてログ生成の部品シナリオ、又は、ログ生成を行うことが予め決められた部品シナリオが実行された旨のイベントを、ログデータ生成対象のイベントとすることができる。例えば、1つの発注処理伝票の生成が完了したポイントに、ログ生成の部品シナリオを配置しておくことにより、伝票(トランザクション)単位でログデータを生成することが可能となる。
【0054】
ログ記録部245は、イベント種別がログデータ生成対象のイベントではないと判断した場合(ステップS507:NO)、ステップS506からの処理に戻る。一方、ログ記録部245は、イベント種別がログデータ生成対象のイベントであると判断した場合(ステップS507:YES)、記憶していたイベント通知を用いてログデータを生成する(ステップS508)。ログ記録部245は、各イベント通知からキー情報を読み出す。さらに、ログ記録部245は、ログ公開範囲情報が示す各公開範囲の公開範囲別情報を読み出す。ログ記録部245は、各公開範囲別情報が示す各公開範囲のログ項目情報を、記憶していた各イベント通知に基づいて生成する。ログ記録部245は、公開範囲別に、その公開範囲のログ項目情報からなるログ項目群を生成する。ログ記録部245は、各公開範囲のログ項目群を、その公開範囲に応じて暗号化する。公開範囲の公開先が特定のユーザや、他のテナントである場合、ログ記録部245は、シナリオ実行スケジュール情報から公開先の情報を読み出し、読み出した公開先に応じて公開範囲の暗号化を行う。さらに、ログ記録部245は、キー情報の全て又は一部を、キー情報の公開先に応じて暗号化してもよい。ログ記録部245は、キー情報と、暗号化した各ログ項目群とを設定したログデータを生成する。
【0055】
ログ記録部245は、イベント通知に設定されているイベント種別がシナリオ実行終了を示すか否かを判定する(ステップS509)。ログ記録部245は、シナリオ実行終了を示すイベント種別ではないと判断した場合(ステップS509:NO)、ステップS506からの処理に戻る。シナリオ実行システム1は、ステップS502からの処理を繰り返す。
【0056】
一方、ログ記録部245は、シナリオ実行終了を示すイベント種別であると判断した場合(ステップS509:YES)、生成順にログデータを記憶装置3に登録する(ステップS510)。記憶装置3は、ログデータを生成順にブロックチェーンにより記憶する(ステップS511)。記憶装置3は、記憶するログデータに、ログデータにハッシュ値及びナンス値と、前後のログデータを特定する情報を付加する。記憶装置3は、新たに記憶するログデータの前のログデータを、例えば、最も生成時刻が新しいログデータとしてもよく、キー情報に含まれるテナントIDなどの一部の情報に基づいて選択したログデータの中で最も生成時刻が新しいログデータとしてもよい。
【0057】
なお、ログ記録部245は、ログデータの生成の都度、記憶装置3にログデータを登録してもよい。また、シナリオ実行端末5のイベント通知部545は、イベント通知をシナリオ提供装置2に都度通知せずに、所定の周期毎に通知してもよい。また、上記では、シナリオ実行スケジュール情報の登録の際に公開先の情報をシナリオ実行端末5からシナリオ提供装置2に送信しているが、シナリオ実行端末5がシナリオを実行する前又は実行中にユーザが入力部52により公開先の情報を入力するか、シナリオ内に公開先の情報を取得する操作を含めてもよい。シナリオ実行端末5は、取得した公開先の情報をシナリオ提供装置2に通知する。
【0058】
図15は、シナリオ実行システム1のログ状態照会手順を示すシーケンス図である。テナントは、シナリオ実行端末5の入力部52により、ログデータの検索条件と、ログ状態通知要求とを入力する(ステップS601)。検索条件には、テナントID、クライアントID、ユーザID、シナリオID、タスクID、などキー情報に含まれる情報や、自テナントが公開先のログ項目情報が使用可能である。ログ取得部546は、検索条件と、検索者情報と、検索者情報が示す検索者の復号鍵とを設定したログ状態通知要求をシナリオ提供装置2に送信する(ステップS602)。検索者情報は、テナントIDでもよく、テナントIDとユーザIDの組み合わせでもよい。また、復号鍵に代えて、復号鍵の記憶場所をログ状態通知要求に設定してもよい。
【0059】
シナリオ提供装置2のログ管理部246は、ログ状態通知要求を受信すると、ログ状態通知要求に設定されている検索条件により、記憶装置3に記憶されているログデータの検索処理を行う(ステップS603)。ログ管理部246は、検索者情報が示すテナント又はユーザにより閲覧が許可されているログデータを特定する。ログ管理部246は、特定したログデータを、ログ状態通知要求で通知された復号鍵で復号する。ログ管理部246は、復号されたログデータを、検索条件により検索する。
【0060】
ログ管理部246は、ステップS603の検索により検出されたログデータに基づいて、状態を判断する(ステップS604)。ログ管理部246は、ログデータが得られなかった場合や、シナリオ開始のイベントに対応したログデータがない場合は、ログ未生成と判断する。ログ管理部246は、シナリオ開始のイベントに対応したログデータが生成された以降、シナリオ終了のイベントに対応したログデータが生成されていない場合、ログ生成中と判断する。また、ログ管理部246は、シナリオ終了に対応したイベントのログデータがある場合、ログ生成済みと判断する。ログ管理部246は、複数のタスクIDについてログデータが得られた場合、タスクID別に上記の状態の判断を行う。
【0061】
ログ管理部246は、検索条件と、判断したログ状態をシナリオ実行端末5に通知する(ステップS605)。例えば、ログ管理部246は、ログ状態を表示するログ状態表示画面をシナリオ実行端末5に送信する。シナリオ実行端末5のログ取得部546は、シナリオ提供装置2から受信したログ状態表示画面を表示部53に表示する(ステップS606)。
【0062】
図16は、シナリオ実行システム1のログ照会手順を示すシーケンス図である。テナントは、シナリオ実行端末5の入力部52により、ログデータの検索条件と、ログ通知要求とを入力する(ステップS701)。検索条件には、ログ状態通知要求と同様の検索条件を用いることができる。ログ取得部546は、検索条件と、検索者情報と、検索者情報が示す検索者の復号鍵とを設定したログ通知要求をシナリオ提供装置2に送信する(ステップS702)。検索者情報は、テナントIDでもよく、テナントIDとユーザIDの組み合わせでもよい。また、復号鍵に代えて、復号鍵の記憶場所をログ通知要求に設定してもよい。
【0063】
シナリオ提供装置2のログ管理部246は、ログ通知要求を受信すると、ログ通知要求に設定されている検索条件により、記憶装置3に記憶されているログデータの検索処理を行う(ステップS703)。検索処理は、
図15のステップS603と同様である。ログ管理部246は、ステップS703の検索により得られたログデータを記憶装置3から読み出す(ステップS704)。ログ管理部246は、読み出したログデータから、検索者情報により示される検索者に許可されたデータを抽出する。すなわち、ログ管理部246は、ログ通知要求により通知された復号鍵を用いて復号できたデータを抽出する。ログ管理部246は、抽出されたデータからなるログデータを表示するログ画面データを生成し、シナリオ提供装置2に送信する(ステップS705)。シナリオ実行端末5のログ取得部546は、受信したログ表示画面を表示部53に表示する(ステップS706)。
【0064】
なお、テナント管理者がログ検索を行ってもよい。この場合、テナント管理者は、シナリオ提供装置2の入力部22により、ログデータの検索条件を入力する(ステップS711)。ログ管理部246は、入力された検索条件を受信し(ステップS712)、受信した検索条件により、記憶装置3に記憶されているログデータの検索処理を行う(ステップS713)。検索処理は、
図15のステップS603と同様である。ただし、ログ管理部246は、テナント管理者の復号鍵を用いて復号を行う。ログ管理部246は、ステップS713の検索により得られたログデータを記憶装置3から読み出す(ステップS714)。ログ管理部246は、読み出したログデータから、テナント管理者に許可されたデータを抽出する。ログ管理部246は、抽出されたデータからなるログデータを表示するログ画面データを生成し、表示部23に表示する(ステップS715、ステップS716)。
【0065】
なお、ログ通知要求が、ログ状態通知要求を兼ねてもよい。この場合、シナリオ提供装置2のログ管理部246は、ログ状態の表示をログ画面データに含める。
【0066】
シナリオ実行システム1を、テナント間の取引の自動化処理を公証するために用いることも可能である。この場合、シナリオ実行システム1は、他のテナントと連携するためのコミュニケーション機能と、公証を特定のテナントを指定して送信、提供する機能と、シナリオの実行履歴と公証記録を検索する機能と、トランザクションとしての一連のシナリオ履歴と公証記録を関連付けておく機能とを有する。以下では、テナントAの会社Aと、テナントBの会社Bとが取引を行う場合を例に説明する。また、会社Aのシナリオ実行端末5をシナリオ実行端末5aと記載し、会社Bのシナリオ実行端末5をシナリオ実行端末5bと記載する。
【0067】
まず、会社Aと会社Bとが取引を合意する(ステップS801)。この合意によって、会社Aはシナリオ#1を利用し、会社Bはシナリオ#1と連携するシナリオ#2を利用することを決める。シナリオ#1と連携するとは、シナリオ#1の実行の結果生成された情報を利用することを示す。
【0068】
会社Aのシナリオ実行端末5aとシナリオ提供装置2とは、
図10の処理を行い、会社Aの顧客管理情報にユーザAのユーザIDとしてアカウントAを登録し、さらに、シナリオ実行端末5aにシナリオ実行アプリを実装する(ステップS802)。会社Aのシナリオ実行端末5aとシナリオ提供装置2とは、
図11の処理を行い、シナリオ#1のシナリオ実行スケジュール情報をシナリオ提供装置2に登録する。会社Aのシナリオ実行端末5aとシナリオ提供装置2とは、
図13のステップS401~ステップS404の処理を行ってシナリオ実行端末5aにシナリオ#1の実行を指示し、シナリオ実行部544を起動する(ステップS803)。
【0069】
会社Aのシナリオ実行端末5aとシナリオ提供装置2とは、
図13のステップS405~ステップS408の処理、及び、
図14の処理を行う(ステップS804)。つまり、シナリオ実行端末5aはシナリオ#1を実行し、シナリオ提供装置2は、シナリオ実行端末5aがシナリオ#1を実行することにより発生したイベントに基づくログデータAを生成する。シナリオ実行端末5aがシナリオ#1を実行することにより、例えば、A社のシステムに「取引商品:○○○」、「受注金額:¥X,XXX-」、「取引先:B社」、「実行結果引継ぎID:R1」などが設定される。シナリオ実行端末5aは、イベント通知によりこれらの情報をイベントの実行結果としてシナリオ提供装置2に送信する。シナリオ提供装置2のログ記録部245は、イベント通知により受信したこれらの情報を含む結果情報Aを、会社Aが公開先のログ項目群#1に設定する。さらに、ログ項目群#1には、シナリオ#1の実行により発生した他のイベントのログ項目情報も含まれ得る。ログ記録部245は、会社AのテナントID、アカウントA、シナリオ#1などを含むキー情報と、暗号化されたログ項目群#1とを設定したログデータAを生成する。キー情報に実行結果引継ぎIDを含めてもよい。また、ログ記録部245は、会社Bが公開先のログ項目群#2をログデータAに含めてもよい。例えば、ログ記録部245は、結果情報Aを設定したログ項目群#2を、会社Bの公開鍵により暗号化してログデータAに含める。シナリオ提供装置2のログ記録部245は、生成したログデータAを記憶装置3に記録する。
【0070】
シナリオ実行端末5aは、実行結果引継ぎIDを、B社のシナリオ実行端末5bに通知する(ステップS805)。通知には、シナリオ#1の実行により生成された伝票ファイル、又は、その伝票ファイルのURLなどの記憶場所が記述された伝票情報が含まれてもよい。また、伝票ファイル内に実行結果引継ぎIDが含まれてもよい。例えば、シナリオ実行端末5aは、電子メール等により実行結果引継ぎID及び伝票情報をシナリオ実行端末5bに送信する。シナリオ実行端末5bは、シナリオ実行端末5aから実行結果引継ぎID及び伝票情報を受信し、記憶する(ステップS806)。
【0071】
一方、会社Bのシナリオ実行端末5bとシナリオ提供装置2とは、
図10の処理を行い、会社Bの顧客管理情報にユーザBのユーザIDとしてアカウントBを登録し、さらに、シナリオ実行端末5bにシナリオ実行アプリを実装する(ステップS807)。なお、ステップS807は、ステップS806の前に行われてもよい。会社Bのシナリオ実行端末5bとシナリオ提供装置2とは、
図11の処理を行い、シナリオ#2のシナリオ実行スケジュール情報をシナリオ提供装置2に登録する。会社Bのシナリオ実行端末5bとシナリオ提供装置2とは、
図13のステップS401~ステップS404の処理を行い、シナリオ実行端末5bにシナリオ#2の実行を指示し、シナリオ実行部544を起動する(ステップS808)。シナリオ#2には、シナリオ#1の実行により生成された伝票ファイルに含まれる情報を参照するための操作が含まれている。
【0072】
会社Bのシナリオ実行端末5bとシナリオ提供装置2とは、
図13のステップS405~ステップS408の処理、及び、
図14の処理を行う(ステップS809)。つまり、シナリオ実行端末5bはシナリオ#2を実行し、シナリオ提供装置2は、シナリオ実行端末5bがシナリオ#2を実行することにより発生したイベントに基づくログデータBを生成する。シナリオ実行端末5bがシナリオ#2を実行することにより、B社のシステムに「取引商品:○○○」、「発注金額:¥X,XXX-」、「取引先:A社」、「実行結果引継ぎID:R2」などが設定される。シナリオ実行端末5bは、イベント通知によりこれらの情報をイベントの実行結果としてシナリオ提供装置2に送信する。シナリオ提供装置2のログ記録部245は、イベント通知により受信したこれらの情報を含む結果情報Bを、会社Bが公開先のログ項目群#1に設定する。さらに、ログ項目群#1には、シナリオ#2の実行により発生した他のイベントのログ項目情報も含まれ得る。ログ記録部245は、会社BのテナントID、アカウントB、シナリオ#2などを含むキー情報と、暗号化されたログ項目群#2とを設定したログデータBを生成する。キー情報に実行結果引継ぎIDを含めてもよい。また、ログ記録部245は、会社Aが公開先のログ項目群#2をログデータBに含めてもよい。例えば、ログ記録部245は、結果情報Bを設定したログ項目群#2を、会社Aの公開鍵により暗号化してログデータに含める。シナリオ提供装置2のログ記録部245は、生成したログデータBを記憶装置3に記録する。
【0073】
シナリオ実行端末5bは、実行結果引継ぎIDを、A社のシナリオ実行端末5aに通知する(ステップS810)。通知には、シナリオ#2の実行により生成された伝票ファイル、又は、その伝票ファイルの記憶場所が記述された伝票情報が含まれてもよい。また、伝票ファイル内に実行結果引継ぎIDが含まれてもよい。例えば、シナリオ実行端末5bは、電子メール等により実行結果引継ぎID及び伝票情報をシナリオ実行端末5aに送信する。シナリオ実行端末5aは、シナリオ実行端末5bから実行結果引継ぎID及び伝票情報を受信し、記憶する(ステップS811)。
【0074】
会社Aのシナリオ実行端末5aとシナリオ提供装置2とは、
図16の処理を行い、シナリオ実行端末5aにログデータを表示する(ステップS812)。このとき、ステップS701の処理において、会社AのユーザAは、シナリオ実行端末5aに、ステップS805で送信した実行結果引継ぎID又はステップS811で受信した実行結果引継ぎIDを検索条件として入力する。ステップS805で送信した実行結果引継ぎIDを検索条件とした場合、シナリオ実行端末5aにはログデータAが表示される。ステップS805で送信した実行結果引継ぎIDを検索条件とした場合、シナリオ実行端末5aには、ログデータB内の情報のうち、会社Aが公開先のログ項目群に設定されている結果情報Bが表示される。ログデータBが、キー情報に実行結果引継ぎIDを含み、かつ、会社Aを公開先とするログ項目群を含まない場合、シナリオ提供装置2のログ管理部246は、ログデータが検出された旨をシナリオ実行端末5aに通知し、表示させる。
【0075】
会社Bのシナリオ実行端末5bとシナリオ提供装置2とは、
図16の処理を行い、シナリオ実行端末5bにログデータを表示する(ステップS813)。このとき、ステップS701の処理において、会社BのユーザBは、シナリオ実行端末5bに、ステップS810で送信した実行結果引継ぎID又はステップS806で受信した実行結果引継ぎIDを検索条件として入力する。ステップS810で送信した実行結果引継ぎIDを検索条件とした場合、シナリオ実行端末5bにはログデータBが表示される。ステップS805で送信した実行結果引継ぎIDを検索条件とした場合、シナリオ実行端末5bには、ログデータA内の情報のうち、会社Bが公開先のログ項目群に設定されている結果情報Aが表示される。ログデータAが、キー情報に実行結果引継ぎIDを含み、かつ、会社Bを公開先とするログ項目群を含まない場合、シナリオ提供装置2のログ管理部246は、ログデータが検出された旨をシナリオ実行端末5bに通知し、表示させる。
【0076】
図18及び
図19は、
図17に示す処理において生成されるログデータの例を示す図である。
図18は、テナントAのシナリオ実行端末5aがシナリオ#1を実行することにより生成されるログデータAの例を示す。ログデータAは、ログデータAの前に生成されたログデータのハッシュ値と、記憶装置3のノードコンピュータがログデータを記録する権限の獲得に用いられたナンス値とを含む。さらに、ログデータAは、キー情報と、ログ項目群#1と、ログ項目群#2とを含む。ログ項目群#1は、A社の復号鍵A1で復号できるように暗号鍵A1で暗号化される。ログ項目群#2は、B社の復号鍵B1で復号できるように公開鍵B1で暗号化される。ログ項目群#2には、B社に通知した実行結果引継ぎIDや、結果情報Aの内容が設定される。なお、ログ項目群#1とログ項目群#2とに共通の情報はログ項目群#1に含めず、ログ項目群#2を、A社の復号鍵とB社の復号鍵とのいずれでも復号できるように暗号化してもよい。また、ログデータAは、ログ項目群#2を含まなくてもよい。
【0077】
図19は、テナントBのシナリオ実行端末5bがシナリオ#2を実行することにより生成されるログデータBの例を示す。ログデータBは、ログデータAから生成されたハッシュ値と、記憶装置3のノードコンピュータがログデータを記録する権限の獲得に用いられたナンス値とを含む。さらに、ログデータBは、キー情報と、ログ項目群#1と、ログ項目群#2とを含む。ログ項目群#1は、B社の復号鍵B2で復号できるように暗号鍵B2で暗号化される。ログ項目群#2は、A社の復号鍵A2で復号できるように公開鍵A2で暗号化される。ログ項目群#2には、A社に渡した実行結果引継ぎIDや、結果情報Bの内容が設定される。なお、ログ項目群#1とログ項目群#2とに共通の情報はログ項目群#1に含めず、ログ項目群#2を、B社の復号鍵とA社の復号鍵とのいずれでも復号できるように暗号化してもよい。また、ログデータBは、ログ項目群#2を含まなくてもよい。
【0078】
なお、上記においては、2つのテナント間を例に説明したが、3以上のテナント間で同様の手順を行うことができる。例えば、会社Aと会社Bと会社Cとが取引を合意し、会社Aはシナリオ#1を利用し、会社Bはシナリオ#1と連携するシナリオ#2を利用し、会社Cはシナリオ#2と連携するシナリオ#3を利用することを決めてもよい。この場合、シナリオ実行システム1は、会社Aに代えて取引先を会社Cとして
図17のステップS808~ステップS810の処理を行う。また、会社Cのシナリオ実行端末5とシナリオ提供装置2との間で、上記のシナリオ実行端末5bとシナリオ提供装置2との間の処理と同様の処理を行う。
【0079】
図20は、シナリオ実行端末5の表示部53に表示されるログ検索画面の表示例を示す。ユーザが、シナリオ実行端末5の入力部52により、実行履歴表示ボタンB1を選択し、検索条件入力フィールドF1に検索条件を入力することによって、シナリオ提供装置2のログ管理部246がステップS704において読み出したログデータの一覧がログ検索画面に表示される。一覧には、各ログデータの一部の情報や状態が表示される。ユーザは、ログデータの一覧の中から、閲覧したいログデータに対応したログ閲覧ボタンB2をシナリオ実行端末5の入力部52により選択する。
【0080】
図21は、シナリオ実行端末5の表示部53に表示されるログ表示画面の表示例を示す。
図21では、
図20において選択されたログ閲覧ボタンB2に対応したログデータが表示されている。この表示により、ユーザは、ログの内容を確認することができる。ユーザが、ダウンロードボタンB3を選択することにより、シナリオ実行端末5のログ取得部546は、ログデータのダウンロード要求をシナリオ提供装置2に送信する。シナリオ提供装置2のログ管理部246は、ダウンロードが要求されたログデータを記憶装置3から読み出してシナリオ提供装置2に送信する。
【0081】
上記のシナリオ#1及びシナリオ#2は、例えば下記のような処理内容を想定する。一つの例として、シナリオ#1により、ある会社がクラウドサービスを利用したCRMシステム、営業支援システムなどによって購買取引における受発注情報や伝票情報を登録し、シナリオ#2により、その取引先がクラウドに登録された情報を利用して処理を行う。例えば、売り方の会社Aは、品目、価格などを受注情報としてクラウドに登録し、買い方の会社Bは、品目、価格などを発注情報として登録する。もう一つの例は、契約手続きや書類の授受など、情報を直接送受信するサービスの利用を連携するシナリオである。電子署名システムや、顧客管理システムとの連携が想定される。
【0082】
そして、シナリオ実行システム1は、ログデータを利用して、以下の機能をサービスとして提供する。すなわち、シナリオ実行システム1は、公証的な記録として用いられ得るログデータをいつでも参照、ダウンロード可能とする。これにより、会社Aと会社Bとは、双方の取引について、実行と同時に証跡を残すことができる。また、公証的な記録の参照権を、会社A、会社Bの各々の上席や監査部門、または関わりのある外部の監査法人等に付与することにより、取引の履歴情報の提示、および監査記録として利用することができる。
【0083】
上述した実施形態によれば、シナリオ実行システム1は、シナリオ実行端末5における自動化処理の利用や実行に関するログを、ブロックチェーン技術により耐改竄性を有するように記録し、そのログを第三者が証明する公証的な記録として提供することが可能となる。
【0084】
また、従来は、組織間や部門間をまたぐ処理には、手続きの共通化と実施にコストと時間がかかっていた。上述した実施形態によれば、テナント間やユーザ間の取引に自動化処理を組み込み可能とする。また、自動化処理と耐改竄性を備える記録処理とが直接連携しているため、取引そのものの即時性を向上することができる。よって、利用者間の取引そのものの即時性が向上し、他の組織や部門における自動化処理の結果を利用者の自動化処理で利用する場合でも、利用する情報の再確認や追認が必要なくなるために、業務全体の効率化する。
【0085】
上述した実施形態によれば、RPA技術とブロックチェーン技術とを用いて自動化プロセスの公証的な記録を提供するサービスが実現可能となる。すなわち、シナリオ実行システム1は、不特定の拠点間におけるトランザクションを、効率的、恒久的に記録する分散管理台帳の仕組みによって、利用者同士の自動化処理の実施内容であるシナリオの実施状況を、記録、保存する。よって、シナリオ実行システム1は、検証可能かつ耐改竄性のある公証的な記録としてログデータを提供することが可能となる。
【0086】
上述した実施形態におけるシナリオ提供装置2の処理部24、記憶装置3及びシナリオ実行端末5の処理部54の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0087】
また、シナリオ提供装置2の一部の機能を、シナリオ提供装置2と接続される外部の装置により実現してもよい。例えば、ログ記録部245及びログ管理部246の機能を、シナリオ提供装置2と接続されるログ記録装置に備えてもよい。
【0088】
以上説明した実施形態によれば、シナリオ実行システムは、シナリオ実行端末とログ管理装置と記憶装置とを有する。シナリオ実行端末は、シナリオ実行部と、イベント通知部とを備える。シナリオ実行部は、シナリオ実行端末における操作の手順を示すシナリオが記述されたシナリオファイルを実行する。イベント通知部は、シナリオ実行部がシナリオファイルを実行することにより発生したイベントの情報をログ管理装置に通知する。ログ管理装置は、例えば、実施形態のシナリオ提供装置2である。ログ管理装置は、ログ記録部を備える。ログ管理装置は、シナリオ実行端末からイベントの情報を受信し、受信したイベントの情報を設定したログデータを記憶装置に記録する。記憶装置は、ログデータを、当該ログデータより前に記録済みのログデータに基づいて一意に生成される情報を付加して記憶する。例えば、記憶装置は、ブロックチェーンによりログデータを記録する。
【0089】
ログ管理装置は、シナリオファイルをシナリオ実行端末に送信するシナリオ提供部をさらに備えてもよい。
【0090】
シナリオ実行システムは、第一のシナリオ実行端末及び第二のシナリオ実行端末を含む複数の前記シナリオ実行端末を有してもよい。ログ記録部は、第一のシナリオ実行端末において第一のシナリオファイルが実行されることにより発生したイベントの情報と、第一のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第一ログデータを記憶装置に記録する。ログ管理装置は、第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルを実行する第二のシナリオ実行端末から引継ぎ識別情報を受信し、受信した引継ぎ識別情報が設定されている第一ログデータに関する情報を返送するログ管理部をさらに備える。第一ログデータに記録されるイベントの情報は、第一のシナリオファイルの実行により生成され、かつ、第二のシナリオファイルの実行において用いられる情報を含んでもよい。
【0091】
また、ログ記録部は、第二のシナリオ実行端末において第二のシナリオファイルが実行されることにより発生したイベントの情報と、第二のシナリオファイルの実行に対して割り当てられた引継ぎ識別情報とを設定したログデータである第二ログデータを記憶装置に記録してもよい。ログ管理部は、第一のシナリオ実行端末から引継ぎ識別情報を受信し、受信した引継ぎ識別情報が設定されている第二ログデータに関する情報を返送する。
【0092】
また、シナリオ実行システムは、第一のシナリオファイルと、第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルとをそれぞれ、異なるシナリオ実行端末に送信するシナリオ提供装置を備えてもよい。
【0093】
また、シナリオ実行システムは、第一のシナリオファイルを実行する第一のシナリオ実行端末と、第一のシナリオファイルの実行により生成された情報を用いるための操作を含んだ手順が記述された第二のシナリオファイルを実行する第二のシナリオ実行端末とを含む複数のシナリオ実行端末を有してもよい。ログ記録部は、第一のシナリオ実行端末において第一のシナリオファイルが実行されることにより生成され、かつ、第二のシナリオファイルの実行において用いられる情報を記憶装置に書き込む。ログ管理装置は、第一のシナリオファイルを第一のシナリオ実行端末に送信し、第二のシナリオファイルを第二のシナリオ実行端末に送信するシナリオ提供部を備えてもよい。
【0094】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0095】
1…シナリオ実行システム、2…シナリオ提供装置、3…記憶装置、5…シナリオ実行端末、7…ネットワーク、21…記憶部、22…入力部、23…表示部、24…処理部、51…記憶部、52…入力部、53…表示部、54…処理部、241…登録部、242…クライアント管理部、243…アプリ提供部、244…シナリオ提供部、245…ログ記録部、246…ログ管理部、541…シナリオ選択部、542…実行指示部、543…シナリオ受信部、544…シナリオ実行部、545…イベント通知部、546…ログ取得部、547a…機能A実行部、547b…機能B実行部、547c…機能C実行部