IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7171458シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム
<>
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図1
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図2
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図3
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図4
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図5
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図6
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図7
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図8
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図9
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図10
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図11
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図12
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図13
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図14
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図15
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図16
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図17
  • 特許-シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-07
(45)【発行日】2022-11-15
(54)【発明の名称】シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム
(51)【国際特許分類】
   G06Q 10/10 20120101AFI20221108BHJP
【FI】
G06Q10/10
【請求項の数】 17
(21)【出願番号】P 2019011577
(22)【出願日】2019-01-25
(65)【公開番号】P2020119394
(43)【公開日】2020-08-06
【審査請求日】2021-05-18
【新規性喪失の例外の表示】特許法第30条第2項適用 1.ウェブサイト (1)アドレス https://www.ntt-at.co.jp/news/2018/detail/release180627.html (2)ウェブサイトの掲載日 平成30年6月27日 2.集会(説明会) (1)集会名 WinActor代理店説明会 (2)開催日 平成30年9月14日 3.集会(カンファレンス) (1)集会名 WinActorユーザーカンファレンス(東京) (2)開催日 平成30年10月10日 4.ウェブサイト (1)アドレス https://www.ntt-at.co.jp/news/2018/detail/release181023-2.html (2)ウェブサイトの掲載日 平成30年10月23日 5.集会(出展) (1)集会名 AI・業務自動化展[秋] (2)開催日 平成30年10月24日~平成30年10月26日 6.集会(カンファレンス) (1)集会名 WinActorユーザーカンファレンス(大阪) (2)開催日 平成30年11月6日 7.集会(セミナー) (1)集会名 RPA導入事例セミナー(東京) (2)開催日 平成30年11月14日 8.集会(フォーラム) (1)集会名 NTT R&Dフォーラム2018(秋) (2)開催日 平成30年11月28日~平成30年11月30日 9.集会(セミナー) (1)集会名 RPA導入支援セミナー(大阪) (2)開催日 平成30年11月28日 10.集会(セミナー) (1)集会名 「WinActor Manager on Cloud」紹介セミナー (2)開催日 平成30年12月5日 11.集会(カンファレンス) (1)集会名 「LicensingLive! Japan 2018」 (2)開催日 平成30年12月7日 12.集会(カンファレンス) (1)集会名 WinActorユーザーカンファレンス(名古屋) (2)開催日 平成30年12月7日 13.ウェブサイト (1)アドレス https://winactor.biz/product/manageroncloud.html (2)ウェブサイトの掲載日 平成30年12月17日 14.販売(納入) (1)販売者 株式会社ブレイン・ゲート (2)販売日 平成31年1月7日
(73)【特許権者】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】濱野 輝夫
(72)【発明者】
【氏名】泉 信人
(72)【発明者】
【氏名】神田 直活
(72)【発明者】
【氏名】田中 克己
(72)【発明者】
【氏名】石橋 英典
(72)【発明者】
【氏名】高橋 淳
(72)【発明者】
【氏名】山崎 悟史
【審査官】原 忠
(56)【参考文献】
【文献】特開2016-200981(JP,A)
【文献】特開2006-338069(JP,A)
【文献】特開2012-068812(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -99/00
(57)【特許請求の範囲】
【請求項1】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムであって、
前記管理者端末は、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報を前記管理装置へ登録するシナリオ登録部と、
前記シナリオの実行タイミングを示すスケジュール情報を前記管理装置へ登録するスケジュール登録部とを備え、
前記シナリオ実行端末は、
所定時間ごとに前記管理装置に自端末の状態を通知する通知部と、
前記管理装置から前記シナリオ及びシナリオ実行指示を受信する指示受信部と、
前記シナリオ実行指示の受信に応じて、受信した前記シナリオを実行するシナリオ実行部と、
前記シナリオ実行部による前記シナリオの実行結果を前記管理装置に通知する実行結果通知部とを備え、
前記管理装置は、
複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報を記憶する記憶部と、
前記管理者端末から受信した前記シナリオ情報及び前記スケジュール情報を前記記憶部に登録するシナリオ管理部と、
複数の前記シナリオ実行端末それぞれから通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理部と、
前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオと前記シナリオ実行指示とを送信するタスク割り当てを行うタスク管理部と、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信部とを備え、
前記属性は、前記シナリオ実行端末が実装するオペレーションシステムと、前記シナリオ実行端末が実装するアプリケーションと、前記シナリオ実行端末の画面サイズとのいずれかを少なくとも含む、
シナリオ実行システム。
【請求項2】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムであって、
前記管理者端末は、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報を前記管理装置へ登録するシナリオ登録部と、
前記シナリオの実行タイミングを示すスケジュール情報を前記管理装置へ登録するスケジュール登録部とを備え、
前記シナリオ実行端末は、
所定時間ごとに前記管理装置に自端末の状態を通知する通知部と、
前記管理装置から前記シナリオ及びシナリオ実行指示を受信する指示受信部と、
前記シナリオ実行指示の受信に応じて、受信した前記シナリオを実行するシナリオ実行部と、
前記シナリオ実行部による前記シナリオの実行結果を前記管理装置に通知する実行結果通知部とを備え、
前記管理装置は、
複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報と、同時にタスクを実行させることができる前記シナリオ実行端末の台数である同時利用数とを記憶する記憶部と、
前記管理者端末から受信した前記シナリオ情報及び前記スケジュール情報を前記記憶部に登録するシナリオ管理部と、
複数の前記シナリオ実行端末それぞれから通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理部と、
前記状態管理情報に基づいて得られるタスク実行中の前記シナリオ実行端末の数が前記同時利用数に達していない場合に、前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオと前記シナリオ実行指示とを送信するタスク割り当てを行うタスク管理部と、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信部とを備える、
シナリオ実行システム。
【請求項3】
前記シナリオ実行端末は、前記管理装置から受信した前記シナリオ以外のシナリオの実行を許可するか否かを制御するシナリオ実行許可部をさらに備える、
請求項1又は請求項2に記載のシナリオ実行システム。
【請求項4】
前記管理装置は、複数のクライアントそれぞれの前記管理者端末及び前記シナリオ実行端末と接続され、前記シナリオ管理部、前記状態管理部及び前記タスク管理部の処理を、前記クライアント毎に分かれた前記処理の実行環境であるコンテナにより実行し、かつ、前記クライアント毎に前記記憶部を有し、
前記コンテナは、当該コンテナと同じ前記クライアントに対応する前記記憶部にアクセス可能である、
請求項1から請求項3のいずれか一項に記載のシナリオ実行システム。
【請求項5】
前記管理装置は、前記管理者端末に代えて、任意の機能を実装する端末から前記スケジュール情報を受信するためのアプリケーションプログラムインタフェースを有し、
前記端末は、任意の前記機能の実行により得られた情報を用いて前記スケジュール情報を生成し、生成した前記スケジュール情報を、前記アプリケーションプログラムインタフェースを用いて前記管理装置に送信する、
請求項1から請求項のいずれか一項に記載のシナリオ実行システム。
【請求項6】
複数のシナリオ実行端末それぞれの属性を示す端末管理情報を記憶する記憶部と、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報、及び、前記シナリオの実行タイミングを示すスケジュール情報を管理者端末から受信して前記記憶部に登録するシナリオ管理部と、
複数の前記シナリオ実行端末それぞれから所定時間毎に状態の通知を受け、通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理部と、
前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオとシナリオ実行指示とを送信するタスク管理部と、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信部と、
を備え、
前記属性は、前記シナリオ実行端末が実装するオペレーションシステムと、前記シナリオ実行端末が実装するアプリケーションと、前記シナリオ実行端末の画面サイズとのいずれかを少なくとも含む、
管理装置。
【請求項7】
複数のシナリオ実行端末それぞれの属性を示す端末管理情報と、同時にタスクを実行させることができる前記シナリオ実行端末の台数である同時利用数とを記憶する記憶部と、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報、及び、前記シナリオの実行タイミングを示すスケジュール情報を管理者端末から受信して前記記憶部に登録するシナリオ管理部と、
複数の前記シナリオ実行端末それぞれから所定時間毎に状態の通知を受け、通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理部と、
前記状態管理情報に基づいて得られるタスク実行中の前記シナリオ実行端末の数が前記同時利用数に達していない場合に、前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオとシナリオ実行指示とを送信するタスク管理部と、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信部と、
を備える管理装置。
【請求項8】
前記属性は、前記シナリオ実行端末が属する組織と、前記シナリオ実行端末が有する機能、前記シナリオ実行端末における前記機能の実行環境とのいずれかを少なくとも含む、
請求項6又は請求項7に記載の管理装置。
【請求項9】
タスクの割当先の前記シナリオ実行端末から通知される前記状態は、前記シナリオの実行状態の情報を含む、
請求項6から請求項8のいずれか一項に記載の管理装置。
【請求項10】
前記シナリオ実行端末の前記状態に関する統計を算出する統計算出部をさらに備える、
請求項から請求項のいずれか一項に記載の管理装置。
【請求項11】
前記記憶部は、管理者が管理対象の前記シナリオ実行端末を示す管理対象情報をさらに記憶し、
前記シナリオ情報は、管理者の情報を含み、
前記タスク管理部は、前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定され、かつ、当該シナリオ情報に含まれる前記情報が示す前記管理者の管理対象であることが前記管理対象情報により示される前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択する、
請求項から請求項10のいずれか一項に記載の管理装置。
【請求項12】
前記シナリオ情報は、更新前の前記シナリオが設定された他のシナリオ情報を特定する情報を含む、
請求項から請求項11のいずれか一項に記載の管理装置。
【請求項13】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムにおけるシナリオ実行管理方法であって、
前記管理者端末が、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報を前記管理装置へ登録するシナリオ登録ステップと、
前記シナリオの実行タイミングを示すスケジュール情報を前記管理装置へ登録するスケジュール登録ステップと、
前記シナリオ実行端末が、
所定時間ごとに前記管理装置に自端末の状態を通知する通知ステップと、
前記管理装置から前記シナリオ及びシナリオ実行指示を受信する指示受信ステップと、
前記シナリオ実行指示の受信に応じて、受信した前記シナリオを実行するシナリオ実行ステップと、
前記シナリオ実行ステップによる前記シナリオの実行結果を前記管理装置に通知する実行結果通知ステップと、
前記管理装置が、
複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報を記憶する記憶部に、前記管理者端末から受信した前記シナリオ情報及び前記スケジュール情報を登録するシナリオ管理ステップと、
複数の前記シナリオ実行端末それぞれから通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理ステップと、
前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオと前記シナリオ実行指示とを送信するタスク割り当てを行うタスク管理ステップと、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信ステップと、
を有し、
前記属性は、前記シナリオ実行端末が実装するオペレーションシステムと、前記シナリオ実行端末が実装するアプリケーションと、前記シナリオ実行端末の画面サイズとのいずれかを少なくとも含む、
シナリオ実行管理方法。
【請求項14】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムにおけるシナリオ実行管理方法であって、
前記管理者端末が、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報を前記管理装置へ登録するシナリオ登録ステップと、
前記シナリオの実行タイミングを示すスケジュール情報を前記管理装置へ登録するスケジュール登録ステップと、
前記シナリオ実行端末が、
所定時間ごとに前記管理装置に自端末の状態を通知する通知ステップと、
前記管理装置から前記シナリオ及びシナリオ実行指示を受信する指示受信ステップと、
前記シナリオ実行指示の受信に応じて、受信した前記シナリオを実行するシナリオ実行ステップと、
前記シナリオ実行ステップによる前記シナリオの実行結果を前記管理装置に通知する実行結果通知ステップと、
前記管理装置が、
複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報と、同時にタスクを実行させることができる前記シナリオ実行端末の台数である同時利用数とを記憶する記憶部に、前記管理者端末から受信した前記シナリオ情報及び前記スケジュール情報を登録するシナリオ管理ステップと、
複数の前記シナリオ実行端末それぞれから通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理ステップと、
前記状態管理情報に基づいて得られるタスク実行中の前記シナリオ実行端末の数が前記同時利用数に達していない場合に、前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオと前記シナリオ実行指示とを送信するタスク割り当てを行うタスク管理ステップと、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信ステップと、
を有するシナリオ実行管理方法。
【請求項15】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムの前記管理装置におけるシナリオ実行管理方法であって、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報、及び、前記シナリオの実行タイミングを示すスケジュール情報を前記管理者端末から受信して、複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報を記憶する記憶部に登録するシナリオ管理ステップと、
複数の前記シナリオ実行端末それぞれから所定時間毎に状態の通知を受け、通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理ステップと、
前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオとシナリオ実行指示とを送信するタスク管理ステップと、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信ステップと、
を有し、
前記属性は、前記シナリオ実行端末が実装するオペレーションシステムと、前記シナリオ実行端末が実装するアプリケーションと、前記シナリオ実行端末の画面サイズとのいずれかを少なくとも含む、
シナリオ実行管理方法。
【請求項16】
管理者端末とシナリオ実行端末と管理装置とを有するシナリオ実行システムの前記管理装置におけるシナリオ実行管理方法であって、
処理手順を示すデータであるシナリオと、前記シナリオを実行させる前記シナリオ実行端末の属性とを示すシナリオ情報、及び、前記シナリオの実行タイミングを示すスケジュール情報を前記管理者端末から受信して、複数の前記シナリオ実行端末それぞれの属性を示す端末管理情報と、同時にタスクを実行させることができる前記シナリオ実行端末の台数である同時利用数とを記憶する記憶部に登録するシナリオ管理ステップと、
複数の前記シナリオ実行端末それぞれから所定時間毎に状態の通知を受け、通知された前記状態を示す状態管理情報を前記記憶部に書き込む状態管理ステップと、
前記状態管理情報に基づいて得られるタスク実行中の前記シナリオ実行端末の数が前記同時利用数に達していない場合に、前記スケジュール情報が示す前記シナリオの実行タイミングにおいて、当該シナリオの前記シナリオ情報に設定されている前記属性が前記端末管理情報に設定されている前記シナリオ実行端末のうち、前記状態管理情報にシナリオの実行が可能な状態であることが示される前記シナリオ実行端末をタスクの割当先として選択し、選択した前記タスクの割当先に前記シナリオとシナリオ実行指示とを送信するタスク管理ステップと、
タスクが割り当てられた前記シナリオ実行端末から前記シナリオの実行結果を受信する実行結果受信ステップと、
を有するシナリオ実行管理方法。
【請求項17】
コンピュータを、
請求項から請求項12のいずれか一項に記載の管理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【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】
本発明の一態様は、コンピュータを、上述の管理装置として機能させるためのプログラムである。
【発明の効果】
【0019】
本発明により、情報処理装置におけるシナリオの実行を管理することが可能となる。
【図面の簡単な説明】
【0020】
図1】本発明の一実施形態によるシナリオ実行システムの構成図である。
図2】同実施形態による管理装置の構成を示す機能ブロック図である。
図3】同実施形態による管理者端末の構成を示す機能ブロック図である。
図4】同実施形態によるシナリオ実行端末の構成を示す機能ブロック図である。
図5】同実施形態による管理者情報の例を示す図である。
図6】同実施形態による端末管理情報の例を示す図である。
図7】同実施形態によるシナリオ情報の例を示す図である。
図8】同実施形態によるスケジュール情報の例を示す図である。
図9】同実施形態による状態管理情報の例を示す図である。
図10】同実施形態によるログデータの例を示す図である。
図11】同実施形態によるシナリオ実行システムにおけるシナリオ登録処理及びスケジュール登録処理のシーケンスを示す図である。
図12】同実施形態によるシナリオ実行システムにおけるタスク割当処理のシーケンスを示す図である。
図13】同実施形態によるシナリオ新規登録画面の例を示す図である。
図14】同実施形態によるシナリオ更新画面の例を示す図である。
図15】同実施形態によるシナリオ履歴表示画面の例を示す図である。
図16】同実施形態によるスケジュール登録画面の例を示す図である。
図17】同実施形態によるダッシュボード画面の例を示す図である。
図18】同実施形態によるパブリッククラウドを利用した管理装置の構成を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図1は、本発明の一実施形態によるシナリオ実行システム1の構成図である。シナリオ実行システム1は、管理装置2と、管理者端末3と、シナリオ実行端末4とを備える。管理装置2は、インターネットなどのネットワーク7を介して、クライアントαの管理者端末3及びシナリオ実行端末4と接続されている。管理装置2は、ネットワーク7を介してさらに、クライアントβの管理者端末3及びシナリオ実行端末4、クライアントγの管理者端末3及びシナリオ実行端末4、…のように、図示しない各クライアントそれぞれの管理者端末3及びシナリオ実行端末4と接続される。以下では、簡単のため、1つのクライアントαを例にしてシナリオ実行システム1の機能及び動作を説明する。他のクライアントβ、γ、…のそれぞれについても、シナリオ実行システム1の動作及び機能は同様である。
【0022】
クライアントαは、1台以上の管理者端末3と、1台以上のシナリオ実行端末4とを保有する。管理者端末3及びシナリオ実行端末4は、例えば、PCである。1台のPCが管理者端末3及びシナリオ実行端末4として動作してもよい。管理者端末3は、例えば、クライアントαにおける管理者が操作する。シナリオ実行端末4は、管理者端末3により生成され、実行指示されたRPA(Robotic Process Automation)のシナリオを実行する。シナリオ実行端末4は、クライアントαの組織に応じてグループに分けることができる。同図では、グループAが人事部であり、グループBが経理部であり、グループCが総務部である。管理者端末3を操作する管理者が所属するグループに応じて、シナリオの作成及び実行指示が可能なグループを制限することができる。
【0023】
図2は、管理装置2の構成を示す機能ブロック図である。管理装置2は、例えば、クラウド上の1台以上の情報処理装置(例えば、コンピュータサーバ)により実現される。管理装置2が、ネットワーク7を介して通信可能に接続された複数台の情報処理装置を用いて実装される場合、管理装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。管理装置2の各機能部を、いずれの情報処理装置により実装するかは任意とするこができる。また、同一の機能部を複数の情報処理装置により実現してもよい。
【0024】
管理装置2は、通信部21と、振分部22と、処理部23と、記憶部24とを有する。通信部21は、ネットワーク7を介して管理者端末3及びシナリオ実行端末4とデータを送受信する。振分部22は、管理者端末3及びシナリオ実行端末4からのアクセスを、クライアントに応じたコンテナの処理部23に振り分ける。処理部23は、クライアント毎に異なるコンテナに実装される。記憶部24は、クライアント毎に異なる記憶領域を用いて実装されるか、クライアント毎に異なるデータベース装置に実装される。
【0025】
記憶部24は、管理者情報、端末管理情報、シナリオ情報、スケジュール情報、状態管理情報、ログデータ、シナリオ実行結果及び同時利用ライセンス数などの各種情報を記憶する。
【0026】
管理者情報は、各管理者の識別情報、権限、及び、管理対象とするシナリオ実行端末4の情報を含む。管理者の識別情報は、例えば、管理者に付与されたIDでもよく、管理者端末3のアドレスなどでもよい。権限は、管理者が使用することができる管理機能を示す。管理対象のシナリオ実行端末4は、管理者が所属するグループ(組織)により示すことができる。例えば、グループA(人事部)の管理者は、グループA(人事部)のシナリオ実行端末4を管理対象とし、グループD(情報システム部)の管理者は、グループA、B、C(人事部、経理部、総務部)を含む全グループのシナリオ実行端末4を管理対象とする。なお、管理対象は、シナリオ実行端末4の識別情報、属性、グループなどで示してもよい。なお、一人の管理者が複数のグループに所属してもよい。
【0027】
端末管理情報は、シナリオ実行端末4の識別情報、ライセンス有効期限、アドレス、及び、属性の情報を含む。シナリオ実行端末4の識別情報は、シナリオ実行に関する機能(以下、「シナリオ実行機能」と記載)を実行可能な装置に払い出されたIDであるが、シナリオ実行端末4のアドレス情報等、他の識別情報を用いてもよい。ライセンス有効期限は、シナリオ実行端末4にシナリオ実行機能の使用を許可するライセンスの有効期限を示す。属性は、シナリオ実行端末4が所属するグループ(組織)や、シナリオ実行端末4が有する機能、その機能を実行させるアプリケーションのバージョン、シナリオ実行端末4におけるその機能の実行環境などを示す。なお、1台のシナリオ実行端末4が2以上の組織に所属していてもよい。また、シナリオ実行端末4が有する機能は、例えば、OS(Operation System)名や、シナリオ実行端末4に実装されているアプリケーションの名称や種類により示すことができる。OS名やアプリケーションの名称には、バージョンの情報が付加されてもよい。
【0028】
シナリオ情報は、シナリオ情報の識別情報、シナリオの名称、シナリオが記述されたファイル、更新情報、シナリオを実行させるシナリオ実行端末4の属性、シナリオを作成した管理者の識別情報を含む。シナリオは、シナリオ実行端末4に実行させる処理手順を示すデータである。更新情報は、シナリオが作成された日時と、更新前のシナリオが設定された他のシナリオ情報を特定する情報を含む。さらに、シナリオ情報は、シナリオ実行時の入力パラメータのデータ形式と、シナリオ実行終了時の出力パラメータのデータ形式とを含む。
【0029】
スケジュール情報は、スケジュール情報の識別情報、シナリオ実行端末4に実行させるシナリオの識別情報、実行タイミング、実行対象のシナリオ実行端末4の情報及びスケジュール情報を作成した管理者の識別情報を含む。さらに、スケジュール情報は、入力パラメータの値を含む。
【0030】
状態管理情報は、各時刻におけるシナリオ実行端末4の状態を示す。ログデータは、管理者端末3やシナリオ実行端末4において発生したイベントとその発生日時を示す。イベントは、管理者のログイン・ログアウト、シナリオ情報の登録や更新、スケジュール情報の登録、更新、削除、有効化・無効化、タスクの実行契機や実行結果などである。同時利用ライセンス数は、クライアントαがフローティングライセンスを利用している場合に設定され、同時にタスクを実行させることができるシナリオ実行端末4の台数を示す。フローティングライセンスは、ライセンスが付与されたシナリオ実行端末4のうち同時にシナリオを実行することが端末数の上限を決めるサービスである。
【0031】
処理部23は、情報登録部231、シナリオ管理部232、スケジュール管理部233、状態管理部234と、タスク管理部235と、実行結果受信部236と、ログ生成部237、管理情報提供部238と、記憶制御部239とを備える。
【0032】
情報登録部231は、管理者情報、端末管理情報などの登録、更新及び削除を行う。シナリオ管理部232は、シナリオ情報の登録及び更新を行う。スケジュール管理部233は、スケジュール情報の登録、更新及び削除を行う。状態管理部234は、所定時間毎にシナリオ実行端末4から状態の通知を受け、通知された状態を示す状態管理情報を生成して記憶部24に書き込む。
【0033】
タスク管理部235は、スケジュール情報が示すシナリオの実行タイミングにおいて、当該シナリオのシナリオ情報に設定されている実行端末であることが端末管理情報に設定されているシナリオ実行端末4のうち、状態管理情報にシナリオの実行が可能な状態であることが示されるシナリオ実行端末4をタスクの割当先として選択する。タスク管理部235は、選択したタスクの割当先のシナリオ実行端末4にシナリオが記述されたファイルとシナリオ実行指示とを送信する。
【0034】
実行結果受信部236は、シナリオ実行端末4からシナリオの実行結果を受信し、実行結果を記憶部24に登録する。ログ生成部237は、管理者端末3、シナリオ実行端末4におけるイベントの発生を検出し、検出したイベントのログデータを生成して記憶部24に登録する。管理情報提供部238は、シナリオ実行端末4の状態やタスク状態に関する統計を算出する統計算出部の一例である。管理情報提供部238は、統計の算出結果を示す画面データを管理者端末3に送信し、表示させる。記憶制御部239は、処理部23と同じクライアントに対応した記憶部24へのアクセスを制御する。つまり、処理部23は、記憶制御部239を介してクライアントに応じた記憶部24へアクセス可能である。
【0035】
図3は、管理者端末3の構成を示す機能ブロック図である。管理者端末3は、制御部31と、通信部32と、記憶部33と、処理部34と、入力部35と、表示部36とを備える。制御部31は、CPU及び各種メモリで構成され、各部を制御する。通信部32は、ネットワーク7を介して管理装置2とデータを送受信する。記憶部33は、作成されたシナリオ等の各種情報を記憶する。
【0036】
処理部34は、シナリオ作成部341と、シナリオ登録部342と、スケジュール登録部343と、表示制御部344とを備える。シナリオ作成部341は、入力部35による管理者の入力を受けて、シナリオを作成する。シナリオ登録部342は、入力部35による管理者の入力を受けて、作成したシナリオのファイルを設定したシナリオ情報を管理装置2に送信する。スケジュール登録部343は、入力部35による管理者の入力を受けて、スケジュール情報を生成し、管理装置2に送信する。表示制御部344は、管理装置2から受信した画面データを表示部36に表示する。
【0037】
入力部35は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部35は、ユーザの指示を管理者端末3に入力する際にユーザによって操作される。表示部36は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置である。
【0038】
図4は、シナリオ実行端末4の構成を示す機能ブロック図である。シナリオ実行端末4は、制御部41と、通信部42と、記憶部43と、処理部44と、入力部45と、表示部46とを備える。
【0039】
制御部41は、CPU(central processing unit)及び各種メモリで構成され、各部を制御する。通信部42は、ネットワーク7を介して管理装置2とデータを送受信する。記憶部43は、ライセンス情報、設定情報、管理装置2から受信したシナリオ、シナリオの実行結果などの各種情報を記憶する。ライセンス情報は、シナリオ実行機能を使用可能とするためのライセンスの情報を記憶する。設定情報は、管理装置2から受信したシナリオ以外のシナリオの実行を許可するか否かの設定を示す。
【0040】
処理部44は、シナリオ実行機能部440と、機能X実行部446とを備える。シナリオ実行機能部440は、シナリオ実行機能に関する処理を行う。シナリオ実行機能部440は、通知部441、指示受信部442と、シナリオ実行部443と、実行結果通知部444と、シナリオ実行許可部445とを備える。
【0041】
通知部441は、例えば、30秒周期など、数十秒から数分の所定時間ごとに管理装置2に自端末の状態を通知する。指示受信部442は、管理装置2からシナリオ及びシナリオ実行指示を受信する。シナリオ実行部443は、シナリオ実行指示の受信に応じてシナリオを実行する。実行結果通知部444は、シナリオ実行部443によるシナリオの実行結果を管理装置2に通知する。シナリオ実行許可部445は、記憶部43に記憶される設定情報に基づいて、管理装置2から受信したシナリオ以外のシナリオの実行を許可するか否かを制御する。
【0042】
機能X実行部446は、機能Xのアプリケーションを実行する。機能Xは、シナリオの実行に使用され得る機能であり、例えば、メール送受信、表計算、文書編集、はがき作成、図形描画、ウェブブラウザ等、PCに実装される任意の機能とすることができる。同図では、機能A、B、Cそれぞれのアプリケーションを実行する機能X実行部446(X=A、B、C)を、機能A実行部446a、機能B実行部446b、機能C実行部446cと記載している。
【0043】
入力部45は、キーボード、ポインティングデバイス、タッチパネル等の既存の入力装置を用いて構成される。入力部45は、ユーザの指示をシナリオ実行端末4に入力する際にユーザによって操作される。表示部46は、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ等の画像表示装置である。
【0044】
次に、管理装置2の記憶部24に記憶される各情報の例を説明する。
図5は、管理者情報の例を示す図である。管理者情報は、ユーザID、ユーザ名、所属及び権限の情報を含む。ユーザIDは、管理者を特定する識別情報である。ユーザ名は、管理者の名前である。所属は、管理者が属する組織を示す。組織は、階層構造であってもよい。また、一人の管理者が2以上の組織に属してもよい。所属は、管理者が管理対象のシナリオ実行端末4を示す管理対象情報として用いられる。つまり、管理者の所属によって、いずれの所属のシナリオ実行端末4を管理できるかが示される。権限は、例えば、シナリオ登録、スケジュール登録、状態表示の閲覧がそれぞれ許可されているか否かを示す。
【0045】
図6は、端末管理情報の例を示す図である。端末管理情報は、シナリオ実行機能ID、ライセンス有効期限、PC名、IPアドレス、及び、属性の情報を含む。シナリオ実行機能IDは、シナリオ実行機能に対してシナリオ実行端末4別に付与された識別情報である。ライセンス有効期限は、シナリオ実行端末4にシナリオ実行機能を実現させるアプリケーションソフトウェアのライセンスの有効期限を示す。PC名は、シナリオ実行端末4として用いられるPCの名称である。IPアドレスは、シナリオ実行端末4のIPアドレスである。属性は、OS名、画面サイズ、所属、機能タグなどを示す。OS名は、シナリオ実行端末4に実装されているOSの名称である。画面サイズは、シナリオ実行端末4が有するディスプレイ(表示部46)の大きさである。所属は、シナリオ実行端末4が属する組織を示す。機能タグは、シナリオ実行端末4が有する機能を示す。機能は、シナリオ実行端末4に実装されているアプリケーション(例えば、会計ソフトウェア、メール送受信ソフトウェアなど)の名称、種類、バージョンなどを用いることができる。
【0046】
図7は、シナリオ情報の例を示す図である。シナリオ情報は、シナリオID、作成者、親シナリオID、シナリオ名、シナリオファイル、入力パラメータ、出力パラメータ、タイムアウト、属性、メモ、シナリオタグ、修正内容、生成日時、及び、更新日時等の情報を含む。シナリオIDは、シナリオを一意に識別する情報である。作成者は、シナリオ情報を作成した管理者を示し、例えば、ユーザIDが用いられる。親シナリオIDは、シナリオが既に生成済みのシナリオを更新して作成されたものである場合、元となったシナリオのシナリオIDを示す。シナリオ名は、シナリオの名称を示す。
【0047】
シナリオファイルは、シナリオが記述されたファイル、又は、記憶部24におけるそのファイルの記憶場所を示す。入力パラメータは、シナリオ実行時に入力するパラメータのデータ形式を規定する。出力パラメータは、シナリオ実行結果が設定されるパラメータのデータ形式を規定する。タイムアウトは、シナリオの実行が途中で停止した場合に、シナリオ実行がエラーであると判定するまでに待機する時間を示す。属性は、シナリオの実行対象となるシナリオ実行端末4の属性を示す。属性は、OS名、画面サイズ、所属、機能タグ等により示される。メモは、シナリオに関する説明等である。シナリオタグは、シナリオに付与するタグである。修正内容は、親のシナリオから変更された内容を示す。生成日時は、シナリオ情報の生成日時を示す。更新日時は、シナリオ情報の更新日時を示す。
【0048】
図8は、スケジュール情報の例を示す図である。スケジュール情報は、スケジュールID、作成者、スケジュール名、所属、実行シナリオ、実行端末、入力パラメータ値、実行タイミング、及び、異常発生時の動作の情報を含む。スケジュールIDは、スケジュール情報を一意に識別する情報である。作成者は、シナリオ情報を作成した管理者を示し、例えば、ユーザIDが用いられる。所属は、スケジュール情報の所属を示し、同じ所属のシナリオ実行端末4に対してシナリオを実行させることが可能である。実行シナリオは、実行対象のシナリオのシナリオIDである。
【0049】
実行端末は、シナリオを実行させる対象のシナリオ実行端末4(以下、「実行対象端末」とも記載)や、実行台数を示す。実行台数は、同時利用ライセンス数を上限とする。実行対象端末を、シナリオ情報に設定されている属性に基づいて選択する場合には、実行端末を設定しなくてもよい。実行対象端末を、シナリオ情報に設定されている属性に加えて、所定の条件により選択する場合、実行端末にその条件を設定する。実行端末には、シナリオ実行端末4の属性(所属や機能タグ)、シナリオ実行機能ID、PC名、状態等を用いることができる。実行端末にシナリオ実行機能ID、PC名など特定のシナリオ実行端末4を指定せず、属性、状態等を設定する場合、その属性を満たすシナリオ実行端末4の中から、実行台数のシナリオ実行端末4にシナリオを実行させることができる。
【0050】
入力パラメータ値は、シナリオ実行時にシナリオ実行端末4に入力するパラメータの値を示す。実行タイミングは、シナリオを実行させるタイミングを示す。実行タイミングは、即時、所定の日付及び時刻、毎日及び時刻、毎月の所定日及び時刻、毎週の所定曜日及び時刻、月末又は月末より所定日前及び時刻等により示される。異常発生時の動作は、シナリオ実行端末4がシナリオ実行中に異常が発生した場合に行う動作を示す。
【0051】
図9は、状態管理情報の例を示す図である。状態管理情報は、シナリオ実行機能ID、時刻、シナリオ実行機能状態、タスク状態の情報を含む。シナリオ実行機能状態は、シナリオ実行機能IDにより特定されるシナリオ実行機能の状態を示す。状態には、停止中、再起動中、立ち上げ中、ライセンス失効、起動中、ユーザ操作中、シナリオ実行中、シナリオ実行異常停止中、次のシナリオ実行の準備中、通信途絶などがある。停止中は、シナリオ実行機能の停止が指示された、又は、シナリオ実行機能が停止中の状態である。再起動中は、シナリオ実行機能に再起動が指示された状態である。立ち上げ中は、シナリオ実行機能を立ち上げ中の状態である。ライセンス失効は、シナリオ実行機能のライセンスが失効している状態である。起動中は、シナリオ実行機能が正常に起動しており、シナリオの実行を待機している状態である。ユーザ操作中は、シナリオ実行機能がシナリオの記録操作を行っている状態であり、この状態が変わるまで次のシナリオは実行不可である。シナリオ実行中は、シナリオ実行機能が指示されたシナリオを実行している状態である。シナリオ実行異常停止中は、シナリオ実行機能が指示されたシナリオを実行している途中で何等かの問題が発生し、停止した状態である。次のシナリオ実行の準備中は、シナリオ実行機能が次のシナリオの実行が可能となるように、データの削除や書き換え等を行っている状態である。通信途絶は、シナリオ実行機能との通知が途絶している状態である。
【0052】
タスク状態には、待機中、処理中、正常終了、中断中、中断、異常停止、異常終了がある。待機中は、シナリオ実行機能にタスクが割り当てられるまで待機している状態である。処理中は、シナリオ実行機能にタスクに割り当てられ、実行している状態である。正常終了は、タスクの実行が正常終了した状態である。中断中は、タスクの実行の中断が指示された状態である。中断は、実行中のタスクの実行の中断が指示され、中断した状態である。異常停止は、タスクの実行中に異常が発生し、停止した状態である。異常終了は、タスクの実行中に異常が発生し、終了した状態である。
【0053】
図10は、ログデータの例を示す図である。ログデータは、時刻、所属、及び、発生イベントの情報を含む。所属は、イベントが発生した又は発生の要因となった管理者、シナリオ実行機能の所属を示す。発生イベントは、発生したイベントを示す。発生イベントには、イベントの発生箇所やイベントが発生した要因となった箇所を示す情報、例えば、管理者名、シナリオ実行機能IDなどの情報を含みうる。
【0054】
次に、シナリオ実行システム1の動作を説明する。まず、管理装置2の情報登録部231は、記憶部24に管理者情報、端末管理情報を登録する。なお、情報登録部231は、端末管理情報の一部の情報を、シナリオ実行端末4から取得して設定してもよい。
【0055】
図11は、シナリオ実行システム1におけるシナリオ登録処理及びスケジュール登録処理のシーケンスを示す図である。管理者端末3のシナリオ作成部341は、入力部35により管理者が入力した指示に基づき、シナリオを作成する(ステップS101)。すでに作成済みのシナリオを更新する場合、管理者端末3は、管理装置2から更新対象のシナリオ(親シナリオ)のシナリオ情報又はその一部の情報を取得する。管理者端末3は、入力部35により管理者が入力した指示に基づき、取得したシナリオ情報又はその一部の情報を修正する。
【0056】
シナリオ作成後、シナリオ登録部342は、入力部35により管理者が入力した情報に基づいて、作成されたシナリオが記述されたシナリオファイルを含むシナリオ情報を生成し、管理装置2にアップロードする(ステップS102)。シナリオを更新した場合、アップロードするスケジュール情報に、更新前のシナリオ情報からの変更がない情報が設定されてもよい。また、親シナリオIDには、更新前のシナリオのシナリオIDが設定される。
【0057】
管理装置2のシナリオ管理部232は、管理者端末3から受信した管理者のユーザIDにより特定される管理者情報にシナリオ作成可が設定されていた場合、管理者端末3から受信したシナリオ情報を記憶部24に書き込む(ステップS103)。なお、シナリオID、作成者を示すユーザID、生成日時や更新日時を管理者端末3から送信せず、シナリオ管理部232において設定してもよい。また、シナリオ管理部232は、シナリオ情報のシナリオファイルには、記憶部24におけるシナリオファイルの格納場所を設定してもよい。また、シナリオ管理部232は、シナリオ情報に設定されている所属が、管理者のユーザIDにより特定される管理者情報から得られる所属からの管理対象外である場合は、記憶部24への登録は行わない。また、管理装置2のシナリオ管理部232は、シナリオ情報を複数回に分けて管理者端末3に送信してもよい。
【0058】
管理者端末3のスケジュール登録部343は、管理者が入力部35により入力した指示に従って、管理装置2に登録済みのシナリオを実行させるタイミングが記述されたスケジュール情報を含むスケジュール登録要求を管理装置2に送信する(ステップS104)。スケジュール登録要求の実行シナリオには、実行対象のシナリオのシナリオIDが設定され、実行端末には、シナリオを実行させるシナリオ実行端末4を選択するための情報が含まれる。
【0059】
なお、管理者端末3は、管理装置2から検索条件に合致するシナリオ情報一覧を取得し、その一覧の中から選択したシナリオ情報のシナリオIDを実行シナリオに設定してもよい。この場合、管理者端末3は、ユーザID及び検索条件(例えば、シナリオID、シナリオ名、属性、メモ、更新日時等)を管理装置2に送信する。管理装置2のシナリオ管理部232は、ユーザIDにより特定される管理者情報の所属に基づいて管理対象の所属を特定し、管理対象の所属が設定されているシナリオ情報の中から、検索条件に合致するシナリオ情報を選択する。シナリオ管理部232は、選択したシナリオ情報の一覧を管理者端末3に送信する。一覧には、シナリオID、シナリオ名、属性、更新日時等、シナリオ情報から抽出した一部の情報が含まれる。管理者端末3の表示制御部344は、一覧を表示部36に表示する。管理者は、表示される一覧の中から入力部35により実行するシナリオのシナリオ情報を選択する。
【0060】
管理装置2のスケジュール管理部233は、管理者端末3から受信したユーザIDにより特定される管理者情報にスケジュール登録可が設定されていた場合、受信したスケジュール情報を記憶部24に登録する(ステップS105)。なお、スケジュールID、作成者を示すユーザIDを管理者端末3から送信せず、スケジュール管理部233において設定してもよい。スケジュール管理部233は、スケジュール情報に設定されている所属が、管理者のユーザIDにより特定される管理者情報に設定されている所属からの管理対象外である場合は、記憶部24への登録は行わない。また、管理装置2のスケジュール管理部233は、スケジュール情報を複数回に分けて管理者端末3に送信してもよい。
【0061】
スケジュール管理部233は、スケジュール情報の有効化、無効化又は削除の指示を管理者端末3から受信してもよい。この場合、指示には、有効化、無効化又は削除の対象のスケジュール情報を特定するスケジュールIDが設定される。スケジュール管理部233は、管理者情報にスケジュール登録可が設定されている管理者のユーザIDと、有効化又は無効化の指示とを受信した場合、指示に設定されているスケジュールIDと対応付けて、有効又は無効の状態を記憶部24に書き込む。一方、スケジュール管理部233は、管理者情報にスケジュール登録可が設定されている管理者のユーザIDと、削除の指示とを受信した場合、指示に設定されているスケジュールIDのスケジュール情報を削除する。また、スケジュール登録要求に、スケジュール情報の有効化又は無効化のいずれかの指示が含まれてもよい。なお、スケジュール管理部233は、有効化、無効化又は削除が指示されたスケジュール情報に設定されている所属が、管理者のユーザIDにより特定される管理者情報から得られる所属からの管理対象外である場合、指示された有効化、無効化又は削除の処理を行わない。
【0062】
なお、管理者端末3は、管理装置2から検索条件に合致するスケジュール情報一覧を取得し、その一覧の中から選択したスケジュール情報のスケジュールIDを、有効化、無効化又は削除の対象として指示に設定してもよい。この場合、管理者端末3は、ユーザID及び検索条件(例えば、スケジュールID、スケジュール名、属性、更新日時等)を管理装置2に送信する。管理装置2のスケジュール管理部233は、ユーザIDにより特定される管理者情報の所属に基づいて管理対象の所属を特定し、管理対象の所属が設定されているスケジュール情報の中から、検索条件に合致するスケジュール情報を選択する。スケジュール管理部233は、選択したスケジュール情報と、そのスケジュール情報が有効か無効かの情報の一覧を管理者端末3に送信する。管理者端末3の表示制御部344は、一覧を表示部36に表示する。管理者は、表示される一覧の中から入力部35により実行するシナリオのシナリオ情報を選択する。
【0063】
図12は、シナリオ実行システム1におけるタスク割当処理のシーケンスを示す図である。シナリオ実行端末4の通知部441は、自端末のシナリオ実行機能IDと、自端末の状態を管理装置2に通知する(ステップS201)。シナリオ実行機能の状態がシナリオ実行機能の起動中、ユーザ操作中、シナリオ実行中、シナリオ実行異常停止中などの場合、通知部441は、実行中のタスクをさらに通知してもよい。
【0064】
管理装置2の状態管理部234は、状態通知元のシナリオ実行端末4(以下、「状態通知元端末」と記載)から通知された状態に基づいて、状態管理情報を生成して記憶部24に登録する(ステップS202)。なお、状態管理部234は、期待される通知や応答が所定時間以上ないシナリオ実行端末4については、状態に通信途絶を設定した状態管理情報を生成し、記憶部24に登録する。
【0065】
一方で、タスク管理部235は、現在タスク実行中のシナリオ実行端末4の数が同時利用ライセンス数に達していないか、クライアントαがフローティングライセンスを利用していない場合、有効なスケジュール情報に設定されている実行タイミングにおいてタスク割り当ての処理を開始する。タスク管理部235は、タスク割り当て処理を開始しており、かつ、そのタスクの割り当て処理を完了していない場合、状態通知元端末を、タスクの割り当て対象とするか否かを判断する(ステップS203)。
【0066】
具体的には、まず、タスク管理部235は、状態通知元端末の状態が、タスク割り当て可能な状態、すなわち、「起動中」であるか否かを判断する。タスク管理部235は、タスク割り当て可能な状態ではないと判断した場合、状態通知元端末は、タスクの割り当て対象ではないと判断する。
【0067】
タスク管理部235は、状態通知元端末の状態がタスク割り当て可能な状態であると判断した場合、その状態通知元端末の端末管理情報を参照し、スケジュール情報の実行端末と、スケジュール情報の実行シナリオにより特定されるシナリオ情報の属性とを満たすか否かを判断する。タスク管理部235は、満たすと判断した場合、状態通知元端末をタスクの割り当て対象と判断し、満たさないと判断した場合、タスク割り当て対象ではないと判断する。
【0068】
タスク管理部235は、状態通知元端末をタスク割り当て対象と判断した場合(ステップS203:YES)、スケジュール情報の実行シナリオにより特定されるシナリオ情報からシナリオファイル、入力パラメータ、出力パラメータ及びタイムアウトを読み出す。タスク管理部235は、読み出した情報をシナリオ実行指示に設定し、入力パラメータにはスケジュール情報に記述されている入力パラメータ値を代入して状態通知元端末に送信する(ステップS204)。タスク管理部235は、スケジュール情報の実行端末に示されるシナリオ実行端末4へのタスク割り当てが完了した場合、タスク割り当ての処理を終了する。
【0069】
シナリオ実行端末4のシナリオ実行部443は、シナリオ実行指示を受信し、シナリオを実行する(ステップS205)。通知部441は、シナリオ実行開始後も、定期的に、自端末のシナリオ実行機能IDと、自端末の状態を管理装置2に通知し(ステップS206)、管理装置2の状態管理部234は、通知された状態に基づいて生成した状態管理情報を記憶部24に登録する(ステップS207)。
【0070】
シナリオ実行端末4の実行結果通知部444は、シナリオ実行部443によるシナリオ実行が完了すると、出力パラメータに実行結果を設定して管理装置2に通知する(ステップS208)。管理装置2の実行結果受信部236は、実行結果を受信して、記憶部24に書き込む(ステップS209)。実行結果受信部236は、管理者端末3からの要求に応じて、実行結果を記憶部24から読み出してダウンロードする。
【0071】
なお、管理装置2のタスク管理部235は、タスク割り当てを起動していない、又は、状態通知元端末をタスク割り当て対象ではないと判断した場合、シナリオ割り当て判定を終了する。
【0072】
続いて、管理装置2が管理者端末3に表示させる画面について説明する。
図13は、シナリオ新規登録画面81の例を示す図である。管理装置2のシナリオ管理部232は、シナリオ新規登録画面81の画面データを生成し、管理者端末3の表示部36に表示させる。シナリオ新規登録画面81は、シナリオ名の設定フィールド811、所属の設定フィールド812、シナリオファイルのファイル名の設定フィールド813、入力パラメータ追加ボタン814、出力パラメータ追加ボタン815、タイムアウトの設定フィールド816、メモの設定フィールド817、機能タグの設定フィールド818、シナリオタグの設定フィールド819、及び、新規作成ボタン810を有する。
【0073】
同図に示す設定フィールド812は、3階層で表される所属の各階層を設定可能である。管理装置2のシナリオ管理部232は、管理者端末3から受信したユーザIDの管理者の所属に応じて選択可能な所属の一覧を表示し、その中から選択されたものを設定フィールド812に設定するようにしてもよい。入力パラメータ追加ボタン814が選択されると、入力パラメータのデータ形式を定義するための画面が管理者端末3に表示される。出力パラメータ追加ボタン815が選択されると、出力パラメータのデータ形式を定義するための画面が管理者端末3に表示される。新規作成ボタン810が選択されると、管理者端末3のシナリオ登録部342は、シナリオアップロードを行う(図11のステップS102)。
【0074】
図14は、シナリオ更新画面82の例を示す図である。既に生成されているシナリオのシナリオ情報を更新する場合、管理装置2のシナリオ管理部232は、管理者端末3から受信した情報により特定される親シナリオのシナリオ情報を用いて、シナリオ更新画面82の画面データを生成し、管理者端末3に表示させる。シナリオ更新画面82には、親シナリオのシナリオ情報に設定されている情報をデフォルトで表示し、更新可能な情報については、設定フィールドにそのデフォルトの値を表示する。シナリオ更新画面82は、シナリオ名の設定フィールド821、所属の設定フィールド822、シナリオファイルのファイル名の設定フィールド823、入力パラメータの設定領域824、出力パラメータの設定領域825、タイムアウトの設定フィールド826、メモの設定フィールド827、機能タグの設定フィールド828、シナリオタグの設定フィールド829、修正内容の設定フィールド830、更新ボタン831を含む。情報の更新後、更新ボタン831が選択されると、管理者端末3のシナリオ登録部342は、シナリオアップロードを行う。
【0075】
図15は、シナリオ履歴表示画面84の例を示す図である。管理装置2のシナリオ管理部232は、管理者端末3から検索結果のシナリオ情報一覧から選択されるなどしたシナリオ情報のシナリオIDとシナリオ履歴要求を受信する。シナリオ管理部232は、受信したシナリオIDのシナリオ情報(以下、カレントシナリオ情報と記載)に設定されている親IDをシナリオIDとする1代前のバージョンのシナリオ情報を特定する。シナリオ管理部232は、特定されたシナリオ情報に設定されている親IDを用いて同様に、さらに前のバージョンのシナリオ情報を特定する処理を、親IDが設定されていないシナリオ情報が得られるまで繰り返す。シナリオ管理部232は、カレントシナリオ情報のIDを親IDとする1代新しいシナリオ情報を特定する。シナリオ管理部232は、特定されたシナリオ情報に設定されているIDを親IDとするさらに新しいバージョンのシナリオ情報を特定する処理を繰り返す。シナリオ管理部232は、カレントシナリオ情報と中心として、特定されたシナリオ情報から得られる一部の情報をバージョン順に一覧表示するシナリオ履歴表示画面84を生成し、管理者端末3に表示させる。
【0076】
同図に示すシナリオ履歴表示画面84は、シナリオ名表示領域841と、シナリオ情報表示領域842とを含む。シナリオ情報表示領域842には、特定されたシナリオ情報から得られる情報がバージョン順に並べて表示される。同図では、生成日時、編集者、修正内容、シナリオタグを表示している。編集者は、シナリオ情報の作成者として設定されているユーザIDにより特定される管理者情報のユーザ名から得られる。また、カレントシナリオ情報の表示領域843は、カレントシナリオ情報であることを表す背景色を用いて表示される。シナリオ管理部232は、管理者端末3から選択ボタンが選択された旨を受信すると、その選択ボタンに対応したシナリオ情報の詳細を表示するシナリオ情報詳細画面を管理者端末3に表示させる。このシナリオ情報詳細画面は、スケジュール登録ボタンを有してもよい。
【0077】
図16は、スケジュール登録画面85の例を示す図である。管理者端末3が登録済みのシナリオ情報を選択し、スケジュール登録を要求した場合、管理装置2のスケジュール管理部233は、選択されたシナリオ情報を用いて、スケジュール登録画面85の画面データを生成し、管理者端末3に表示させる。スケジュール登録画面85は、スケジュール名の設定フィールド851、所属の設定フィールド852、選択されたシナリオ情報のシナリオID表示領域853、選択されたシナリオ情報のシナリオ名表示領域854、実行端末指定ボタン855、入力パラメータ値の設定フィールド856、入力ファイル指定フィールド857、実行指定ボタン858、異常発生時の動作選択ボタン859、及び、スケジュール登録ボタン850を含む。
【0078】
実行端末を指定する場合、実行端末指定ボタン855が選択され、実行端末の指定を入力するための画面が表示される。入力ファイル指定フィールド857は、管理装置2のタスク管理部235がシナリオ実行指示を行うときにシナリオ実行端末4に送信するシナリオ実行に必要なファイルであり、管理者端末3が管理装置2にアップロードしたファイルを指定可能である。
【0079】
実行指定ボタン858は、即時、日時指定、毎日、毎週、毎月、月末などの種類を選択するボタンである。日時指定が選択されたときには日付を選択するためのカレンダー及び実行時間の設定フィールドが表示される。毎日が選択された場合は、実行時間の設定フィールドが表示され、毎週が選択された場合は、曜日と実行時間の設定フィールドが表示され、毎月が選択された場合は日にちと実行時間の設定フィールドが、月末が選択された場合は月末から何日前かと時刻の設定フィールドが表示される。
【0080】
情報の設定後、スケジュール登録ボタン850が選択されると、管理者端末3のスケジュール登録部343は、スケジュール登録要求を管理装置2に送信する(図11のステップS104)。
【0081】
図17は、ダッシュボード画面86の例を示す図である。管理装置2の管理情報提供部238は、管理者端末3の表示制御部344から管理情報表示要求を受信する。管理情報提供部238は、管理者端末3から受信したユーザIDにより特定される管理者情報に管理情報閲覧可が設定されていた場合、ダッシュボード画面86を生成し、管理者端末3に表示させる。ダッシュボード画面86は、シナリオ実行の状態、各状態のシナリオ実行端末4の数、各状態のタスク数、統計情報などを表示する画面である。
【0082】
ダッシュボード画面86は、ダッシュボードアイコン861、異常発生端末表示領域862、異常発生タスク表示領域863、シナリオ実行端末4の数及びタスク数の表示領域864、ライセンス情報の表示領域865、フローティングライセンス利用状況の表示領域866、及び、実行中タスク表示領域867を含む。
【0083】
ダッシュボードアイコン861は、正常、警告、異常のいずれかを表すアイコンである。管理情報提供部238は、通信途絶、シナリオ実行異常停止中の状態のシナリオ実行端末4がなく、かつ、異常終了になっているタスク状態がない場合、正常を表すアイコンを表示させる。管理情報提供部238は、通信途絶のシナリオ実行端末4がある場合、警告を表すアイコンを表示し、そのシナリオ実行端末4のシナリオ実行機能IDを異常発生端末表示領域862に表示する。管理情報提供部238は、通信途絶やシナリオ実行異常停止中になっている状態のシナリオ実行端末4と、異常終了になっているタスク状態が一つ以上ある場合、異常を表すアイコンを表示させる。管理情報提供部238は、異常発生端末表示領域862に、通信途絶やシナリオ実行異常停止中になっているシナリオ実行端末4のシナリオ実行機能IDを表示させ、異常発生タスク表示領域863に、異常終了になっているタスクのシナリオ名を表示させる。
【0084】
管理情報提供部238は、シナリオ実行機能IDが付与されているシナリオ実行端末4の数(登録端末数)、起動中の状態のシナリオ実行端末4の数(起動中端末数)、タスク状態が処理中のシナリオ実行端末4の数(処理中タスク数)、タスク状態が待機中のシナリオ実行端末4の数(待機中タスク数)、起動から実行完了したタスク数(累計タスク数)を表示領域864に表示させる。
【0085】
管理情報提供部238は、有効、無効それぞれのライセンス数など、ライセンスの各種統計情報を時系列でライセンス情報の表示領域865に表示させる。管理情報提供部238は、フローティングライセンスの同時利用数やなどのフローティングライセンスの利用状況を表示領域866に表示させる。管理情報提供部238は、各タスク状態にあるタスクの数等、タスクに関する時系列の各種統計情報を実行中タスク表示領域867に表示させる。
【0086】
管理装置2は、管理者端末3以外の他システム実装端末と連携するためのAPI(Application Program Interface)としてRESTful APIを提供してもよい。RESTful APIを利用する他システム実装端末は、クライアントが任意に利用を決定した他システムの機能を実装する端末である。上記においては、管理者端末3は、管理装置2から受信した入力画面を用いて、タスクを実行させるための各種情報を入力し、入力した情報をスケジュール登録要求に設定して管理装置2に送信している。他システム実装端末は、実装している他システムの機能の実行により得られた情報を用いてスケジュール登録要求を生成し、生成したスケジュール登録要求をRESTful APIを用いて管理装置2に送信する。
【0087】
例えば、他システム実装端末は、音声認識システムを実装しており、音声認識システムが管理者の音声によりオーダーを受付け、管理装置2に発注業務のシナリオを即時実行させるスケジュール登録要求を送信する。あるいは、他システム実装端末は、メール分析システムを実装しており、メール分析システムが、管理者から送信された見積もり依頼のメールを分析し、管理装置2に見積作成のシナリオを実行させるスケジュール登録要求を送信する。さらに、他システム実装端末は、実装している他システムの機能の実行により得られた情報を用いて管理情報表示要求をRESTful APIを用いて管理装置2に送信してもよい。RESTful APIを提供することにより、管理装置2は、クライアント独自で利用を決定した他システムの入力と機能(アプリケーション)を利用したタスクの実行や監視の要求などの定型的な管理機能サービスを提供し、さらには、他システムとの連携や拡張性をもたせることができる。
【0088】
図18は、パブリッククラウドを利用した管理装置2の構成を示す図である。管理装置2を構成するクラウドは、例えば、Amazon.com社が提供しているウェブサービス(AWS)のリソースを用いて構築される。同図に示す構成により、管理装置2は、クライアント別にセグメントを分離し、仮想プライベートクラウドと同等のセキュリティを提供できる。管理装置2は、httpsを利用して各クライアントの管理者端末3からのアクセスを受信すると、このアクセスをクライアント別のサブネットに振分けた後、そのサブネットに対応したクライアント別のコンテナにアクセスする(振分部22の機能に相当)。処理部23を実装するこのコンテナ(管理機能コンテナ)は、RDS(マネージド型リレーショナルデータベースサービス)などを利用した、クライアント別のデータベース(記憶部24に相当)にアクセスする。
【0089】
このように、AWSのようなパブリッククラウドサービスに管理装置2として用いられるサーバを立て、そのサーバにおいては、処理部23の実行環境をコンテナによりクライアント毎に隔離する。そして、コンテナとクライアントのデータベースとの紐づけを行うことで、クライアント別に管理装置2を仮想的なプライベートクラウドにより実装することができる。
【0090】
上記構成により、シナリオ実行システム1は以下の機能を提供する。
(1)ファイル管理機能:管理装置2において、管理者端末3やシナリオ実行端末4からアップロード又は管理者端末3やシナリオ実行端末4へダウンロードされるファイルを管理する。管理装置2は、シナリオ実行端末4に配布するシナリオやデータファイル、シナリオ実行端末4がタスクを実行した結果ファイルを、保管して管理する。
【0091】
(2)シナリオ管理機能:シナリオ実行端末4に配布するシナリオ(タスク)を管理する。また、タスクに与える入出力パラメータやタイムアウトの時間を設定する。例えば、管理者Aが管理者端末3により業務Aのシナリオを新規登録し、管理装置2にバージョン1として作成日時を付加して登録する。また、管理者Bが管理者端末3により業務Bのシナリオの2回目の修正を行い、管理装置2に登録する。管理装置2は、バージョン3として更新日時を付加して登録する。また、管理者Cにより修正された最新のバージョン3の業務Cのシナリオをシナリオ実行端末4において実行中にトラブルが発生した場合、管理者Bが管理者端末3によりバージョン2のスケジュール情報を管理装置2に登録する。これにより、業務Cのシナリオのバージョン2のタスクが生成され、シナリオ実行端末4で実行される。
【0092】
(3)管理実行モード機能:シナリオ実行端末4の記憶部43に、管理装置2から受信したシナリオ以外のシナリオの実行を許可しない旨を設定した設定情報を登録することにより、シナリオ実行端末4は、管理装置2からの指示以外でシナリオを実行しないようにすることが可能となる。
【0093】
(4)スケジュール管理:管理者端末3は、任意のタイミングを設定したスケジュール情報を管理装置2に登録することにより、シナリオ実行端末4にタスクとしてシナリオを実行させることが可能となる。つまり、管理装置2は、管理者端末3から受信したスケジュール情報に従って、待機状態のシナリオ実行端末4にシナリオを実行させるタスクを割り付ける。また、タスクに与える入力パラメータやタスクの実行契機を設定することも可能である。例えば、業務Aのシナリオを毎朝9時に実行させたり、業務Bのシナリオを即時に実行させたりすることができる。
【0094】
(5)シナリオ実行機能管理:シナリオ実行端末4のシナリオ実行機能の状態を管理し、待機状態のシナリオ実行端末4にタスクを割り当て、待機状態のシナリオ実行端末4が無い場合はタスクを待機させる。
【0095】
(6)グループ制御機能:管理装置2は、シナリオ毎に、シナリオ実行端末4の環境(所属、機能、OS等)によって区分けされたグループにシナリオを実行させることができる。例えば、管理装置2は、業務Aのシナリオにメール送信機能を使用している場合、メール送信機能を有するシナリオ実行端末4を選択し、そのシナリオを実行させることができる。また、管理装置2は、業務Bのシナリオは特定のOSでのみ動作する場合、そのOSを使用しているシナリオ実行端末4を選択し、そのシナリオを実行させることができる。
【0096】
(7)管理対象定義機機能:管理者によって、管理対象の範囲を定義可能である。例えば、総務部門担当の管理者は、総務部門のシナリオ実行端末4にシナリオを実行させることはできるが、他の部門のシナリオ実行端末4にはシナリオの実行をさせることはできない。同様に、経理部門担当の管理者は、経理部門のシナリオ実行端末4にシナリオを実行させることはできるが、他の部門のシナリオ実行端末4にはシナリオの実行をさせることはできない。一方で、情報システム部門担当の管理者は、総務部門、経理部門を含むすべてのシナリオ実行端末4にシナリオを実行させることが可能である。このように、各部門によって、ある部門については独立した系を作ることも可能であり、ある部門については全体を管理することも可能である。
【0097】
(8)RESTful API連携機能:管理装置2は、他システムの機能を実装又は利用する装置と連携するためにRESTful APIを提供する。これにより、他システムからタスクの実行指示や状態の監視等を可能とする。
【0098】
(9)ダッシュボード表示機能:管理装置2は、シナリオ実行端末4の状態やタスクの状態を管理者端末3に表示されることができる。
【0099】
(10)イベント管理:管理ユーザのログイン・ログアウト、シナリオの登録・更新、スケジュールの登録・更新・削除・有効化・無効化、タスクの実行契機や結果などのイベントを管理する。
【0100】
(11)フローティングライセンス管理:同時利用するシナリオ実行端末4のライセンス数を動的に管理する。
【0101】
上述した実施形態における管理装置2、管理者端末3及びシナリオ実行端末4の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0102】
以上説明した実施形態によれば、シナリオ実行システムは、管理者端末とシナリオ実行端末と管理装置とを有する。管理者端末は、シナリオ登録部と、スケジュール登録部とを備える。シナリオ登録部は、処理手順を示すデータであるシナリオと、当該シナリオを実行させるシナリオ実行端末の属性とを示すシナリオ情報を管理装置へ登録する。シナリオ情報は、更新前のシナリオが設定された他のシナリオ情報を特定する情報を含んでもよい。スケジュール登録部は、シナリオの実行タイミングを示すスケジュール情報を管理装置へ登録する。
【0103】
シナリオ実行端末は、通知部と、指示受信部と、シナリオ実行部と、実行結果通知部とを備える。通知部は、所定時間ごとに管理装置に自端末の状態を通知する。指示受信部は、管理装置からシナリオ及びシナリオ実行指示を受信する。シナリオ実行部は、シナリオ実行指示の受信に応じて、受信したシナリオを実行する。実行結果通知部は、シナリオ実行部によるシナリオの実行結果を管理装置に通知する。シナリオ実行端末は、管理装置から受信したシナリオ以外のシナリオの実行を許可するか否かを制御するシナリオ実行許可部をさらに備えてもよい。
【0104】
管理装置は、記憶部と、シナリオ管理部と、状態管理部と、タスク管理部と、実行結果受信部とを備える。記憶部は、シナリオ実行端末の属性を示す端末管理情報を記憶する。例えば、属性は、シナリオ実行端末が属する組織と、シナリオ実行端末が有する機能と、シナリオ実行端末におけるその機能の実行環境(例えば、ディスプレイの大きさ)とのいずれかを少なくとも含む。シナリオ管理部は、管理者端末から受信したシナリオ情報及びスケジュール情報を記憶部に登録する。状態管理部は、シナリオ実行端末から通知された状態を示す状態管理情報を記憶部に書き込む。通知される状態は、シナリオの実行状態の情報を含む。タスク管理部は、スケジュール情報が示すシナリオの実行タイミングにおいて、当該シナリオのシナリオ情報に設定されている属性が端末管理情報に設定されているシナリオ実行端末のうち、状態管理情報にシナリオの実行が可能な状態であることが示されるシナリオ実行端末をタスクの割当先として選択し、選択したタスクの割当先にシナリオとシナリオ実行指示とを送信するタスク割り当てを行う。実行結果受信部は、シナリオ実行端末からシナリオの実行結果を受信する。管理装置は、シナリオ実行端末の状態に関する統計を算出する統計算出部をさらに備えてもよい。
【0105】
なお、記憶部は、管理者が管理対象のシナリオ実行端末を示す管理対象情報をさらに記憶してもよい。この場合、シナリオ情報は、管理者の情報を含む。タスク管理部は、スケジュール情報が示すシナリオの実行タイミングにおいて、当該シナリオのシナリオ情報に設定されている属性が端末管理情報に設定され、かつ、当該シナリオ情報に含まれる情報が示す管理者の管理対象であることが管理対象情報により示されるシナリオ実行端末のうち、状態管理情報にシナリオの実行が可能な状態であることが示されるシナリオ実行端末をタスクの割当先として選択する。
【0106】
管理装置は、複数のクライアントそれぞれの管理者端末及びシナリオ実行端末と接続されており、シナリオ管理部、状態管理部及びタスク管理部の処理を、クライアント毎に分かれたこれら処理の実行環境であるコンテナにより実行する。また、管理装置は、クライアント毎に記憶部を有する。コンテナは、当該コンテナと同じクライアントに対応する記憶部にアクセス可能である。
【0107】
また、管理装置は、管理者端末に代えて、任意の機能を実装する端末からスケジュール情報を受信するためのアプリケーションプログラムインタフェース(API)を有してもよい。端末は、実装している任意の機能の実行により得られた情報を用いてスケジュール情報を生成し、生成したスケジュール情報を、APIを用いて管理装置に送信する。
【0108】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0109】
1…シナリオ実行システム, 2…管理装置, 3…管理者端末, 4…シナリオ実行端末, 7…ネットワーク, 21…通信部, 22…振分部, 23…処理部, 24…記憶部, 31…制御部, 32…通信部, 33…記憶部, 34…処理部, 35…入力部, 36…表示部, 41…制御部, 42…通信部, 43…記憶部, 44…処理部, 45…入力部, 46…表示部, 231…情報登録部, 232…シナリオ管理部, 233…スケジュール管理部, 234…状態管理部, 235…タスク管理部, 236…実行結果受信部, 237…ログ生成部, 238…管理情報提供部, 239…記憶制御部, 341…シナリオ作成部, 342…シナリオ登録部, 343…スケジュール登録部, 344…表示制御部, 441…通知部, 442…指示受信部, 443…シナリオ実行部, 444…実行結果通知部, 445…シナリオ実行許可部, 446a…機能A実行部, 446b…機能B実行部, 446c…機能C実行部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18