JP7104947B2 - 情報処理装置、制御方法及びプログラム - Google Patents

情報処理装置、制御方法及びプログラム Download PDF

Info

Publication number
JP7104947B2
JP7104947B2 JP2018238488A JP2018238488A JP7104947B2 JP 7104947 B2 JP7104947 B2 JP 7104947B2 JP 2018238488 A JP2018238488 A JP 2018238488A JP 2018238488 A JP2018238488 A JP 2018238488A JP 7104947 B2 JP7104947 B2 JP 7104947B2
Authority
JP
Japan
Prior art keywords
scenario
scenario data
file
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018238488A
Other languages
English (en)
Other versions
JP2020102699A (ja
Inventor
整 土橋
誉 清水
曉明 鄒
チョン トゥ ド
Original Assignee
株式会社ドヴァ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ドヴァ filed Critical 株式会社ドヴァ
Priority to JP2018238488A priority Critical patent/JP7104947B2/ja
Publication of JP2020102699A publication Critical patent/JP2020102699A/ja
Application granted granted Critical
Publication of JP7104947B2 publication Critical patent/JP7104947B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、いわゆるRPA(Robotic Process Automation)を実行する情報処理装置、制御方法及びプログラムに関するものである。
RPAソフトウエアと呼ばれる、コンピュータ等の情報処理装置が実行可能なコマンドを定められた実行順に従って情報処理装置に実行させるソフトウエアは既知である(例えば非特許文献1参照)。
"RPAソリューション Windows操作ロボット「WinActor」|NTTデータ",[online],[平成30年10月10日検索],インターネット<URL:http://www.nttdata.com/jp/ja/lineup/winactor/index.html>
このようなRPAソフトウエアにおいても、コマンドを実行順に配列したシナリオデータを記録媒体等に書き出し(エクスポート)、この記録媒体等からシナリオデータを他の情報処理装置に取り込んで(インポート)実行させる機能搭載の要望がある。しかしながら、エクスポートからインポートまでの間、記録媒体等に書込まれたシナリオデータがRPAソフトウエアや開発者の管理下から離れるため、シナリオデータの不測の改ざんや、意に反した書き換え等のリスクに曝される。
そこで、本発明は、シナリオデータの改ざん等の有無を検出し、改ざん等されたシナリオデータの実行を防止することが可能な情報処理装置、表示制御方法及びプログラムを提供することを目的としている。
前記目的を達成するために、本発明の情報処理装置は、ロボット動作の具体的実行内容であるコマンド及び前記コマンドの組を、実行順に配列したシナリオデータに従って、前記コマンドを実行する情報処理装置であって、前記シナリオデータが記憶される記憶部と、前記記憶部から所定の前記シナリオデータを取得し、所定のハッシュ関数に従って前記シナリオデータのハッシュ値を算出し、算出した前記ハッシュ値を前記シナリオデータに紐付けしてエクスポート用シナリオファイルを生成するエクスポート部と、前記ハッシュ値が紐付けされたインポート用シナリオファイルを取り込み、前記インポート用シナリオファイルの前記ハッシュ値を再計算し、再計算された前記ハッシュ値及び紐付けされた前記ハッシュ値を比較するインポート部と、を備え、前記インポート部は、2つの前記ハッシュ値が一致すると判定したときは、前記インポート用シナリオファイルに含まれる前記シナリオデータを、前記記憶部に格納することを特徴とする。
このように構成された本発明の情報処理装置では、シナリオデータのエクスポートの際には、エクスポート部が、シナリオデータのハッシュ値をシナリオデータに紐付けしてエクスポート用シナリオファイルを生成する。シナリオデータのインポートの際には、インポート部が、再計算したインポート用シナリオファイルのハッシュ値と、紐付けされたハッシュ値とを比較し、一致する場合のみシナリオデータを記憶部に格納する。
このようにすることで、シナリオデータの改ざん等の有無を検出し、改ざん等されたシナリオデータの実行を防止することが可能となる。
本発明の実施の形態である情報処理装置の概略構成を示す機能ブロック図である。 実施の形態である情報処理装置のシナリオデータの内容を示す図である。 実施の形態である情報処理装置のロボット動作一覧データの内容を示す図である。 実施の形態である情報処理装置の動作の一例を説明するためのフローチャートである。 実施の形態である情報処理装置により表示される操作画面の一例を示す図である。 実施の形態である情報処理装置により表示される操作画面の他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。 実施の形態である情報処理装置により表示される操作画面のまた他の例を示す図である。
以下、この発明の実施の形態を図面に基づいて説明する。図1は、本発明の実施の形態である情報処理装置の概略構成を示す機能ブロック図である。
本実施の形態である情報処理装置1は、パーソナルコンピュータ、サーバー、スマートフォン、タブレット端末等の情報処理可能な装置である。情報処理装置1は、制御部100、記憶部110、通信部120、入力I/F(インタフェース)130及び出力I/F140を有する。
制御部100は、情報処理装置1全体の制御を行う。制御部100はCPU、FPGAなどのプログラマブルロジックデバイス、ASIC等の集積回路に代表される演算素子を有する。
情報処理装置1の記憶部110にはオペレーティングシステム111及びシナリオソフトウエア113が格納されており、オペレーティングシステム111が情報処理装置1の起動時に制御部100により実行され、オペレーティングシステム111が実行された状態で、情報処理装置1のオペレータがシナリオソフトウエア113の実行を指示することでこのシナリオソフトウエア113が実行されると、情報処理装置1は図1に示すような機能構成を備えたものとなる。当然、シナリオソフトウエア113はオペレーティングシステム111の起動後に自動的に実行されるように設定してもよい。
制御部100は、コマンド入力部101、シナリオ作成部102、シナリオ実行部103、表示制御部104、エクスポート部105、インポート部106、暗号処理部107及びハッシュ値算出部108を有する。
コマンド入力部101は、情報処理装置1のオペレーティングシステム111及びアプリケーションソフト112により実行されるコマンドの種類を示すロボット動作、及びこのロボット動作の具体的実行内容であるコマンドの入力をそれぞれ受け入れる。より詳細には、コマンド入力部101は、入力装置2を介して情報処理装置1のオペレータが入力したロボット動作及びコマンドの入力を、入力I/F130を介して受け入れる。
シナリオ作成部102は、コマンド入力部101により入力が受け入れられたロボット動作及びコマンドの組を、情報処理装置1の実行順に配列したシナリオデータ114を作成する。シナリオ作成部102が作成したシナリオデータ114は記憶部110に格納される。シナリオデータ114の詳細については後述する。
シナリオ実行部103は、シナリオ作成部102が作成したシナリオデータ114に基づいて、実行順に配列されたコマンドを情報処理装置1において実行させる。ここで、コマンドがオペレーティングシステム111により実行可能なコマンドであるならば、シナリオ実行部103はこのコマンドをオペレーティングシステム111において実行させ、コマンドがアプリケーションソフト112により実行可能なコマンドであるならば、シナリオ実行部103はこのコマンドをアプリケーションソフト112において実行させる。
表示制御部104は、表示装置3に所定の表示画面を表示させるための表示制御信号を送出する。具体的には、表示制御部104は、ロボット動作の一覧を、出力I/F140を介して情報処理装置1に接続された表示装置3の第1の領域に表示させるとともに、コマンド入力部101により入力が受け入れられたロボット動作及びコマンドの組を、表示装置3の第2の領域に情報処理装置1の実行順に配列して表示させる。
さらに、表示制御部104は、入力装置2を介して第2の領域に表示されているロボット動作及びコマンドの組の階層指定及び/または条件指定の入力があると、第2の領域に表示されているロボット動作及びコマンドの組の表示態様を変更させる。
好ましくは、表示制御部104は、入力装置2を介して第2の領域に表示されているロボット動作及びコマンドの組の階層指定の入力があると、第2の領域に表示されているロボット動作及びコマンドの組の階層表示を変更させる。
あるいは、表示制御部104は、入力装置2を介して第2の領域に表示されているロボット動作及びコマンドの組の条件指定の入力があると、第2の領域に表示されているロボット動作及び前記コマンドの組の条件表示を変更させる。
エクスポート部105は、入力装置2を介してシナリオデータ114のエクスポート指示の入力があると、指定されたシナリオデータ114を記憶部110から取得し、所定のデータフォーマットに変換してエクスポート用シナリオファイル41(以下、単に「シナリオファイル41」という。)を生成する。さらに、エクスポート部105は、ハッシュ値算出部108に指示して所定のハッシュ関数を用いてシナリオファイル41のハッシュ値を算出させ、このハッシュ値とシナリオファイル41とを紐付けて、所定の出力先、具体的には外部記憶装置4に出力して格納する。
また、本実施の形態では、エクスポート部105は、セキュリティ対策として暗号処理部107によって、フォーマット変換後のシナリオデータ114を暗号化してシナリオファイル41を生成し、さらにこの暗号化されたシナリオファイル41からハッシュ値を求めている。これにより、ハッシュ値に基づいて不測にシナリオファイル41が復元されるのを回避することができる。このとき、ハッシュ値を暗号化してもよく、セキュリティ効果をより高めることができる。
なお、本実施の形態では、シナリオファイル41とハッシュ値とを紐付けて外部記憶装置4へ格納しているが、この方式に限定されるものではない。他異なる方式として、例えばフォーマット変換及び暗号化後のシナリオデータ114と、そのハッシュ値とをまとめて1つのシナリオファイル41を生成してもよい。または、フォーマット変換後のシナリオデータ114と、そのハッシュ値とを暗号化して1つのシナリオファイル41を生成してもよい。
また、シナリオファイル41のフォーマット形式は、特に限定されるものではなく、例えばCSV(Comma-Separated Values)形式であっても良いし、テキスト形式であってもよい。さらには、本実施の形態のためのオリジナルのフォーマット形式に変換し、暗号化やハッシュ値の算出を行うことで、改ざん防止効果や、不測の暗号解読等の防止効果をより高めることができる。
インポート部106は、インポート用シナリオファイル42(以下、単に「シナリオファイル42」という。)とこれに紐付けられたハッシュ値を外部記憶装置4から取り込み、この紐付けられたハッシュ値(オリジナル値)と、シナリオファイル42から再計算したハッシュ値とを比較する。2つのハッシュ値が一致すれば、シナリオファイル42に改ざんがないと判定し、不一致の場合は改ざんがあったと判定する。そして、インポート部106は、改ざんがないと判定したときのみ、暗号処理部107に指示してシナリオファイル42を復号し、復号した内容(フォーマット変換されているシナリオデータ)を、シナリオデータ114として記憶部110に格納する。
暗号処理部107は、エクスポート部105の指示により、所定の暗号アルゴリズムに従って、所定の鍵を用いてシナリオファイル41を暗号化する。また、暗号処理部107は、インポート部106の指示により、所定の鍵を用いてシナリオファイル42を復号する。
本実施の形態では暗号化の鍵と復号の鍵として、共通の秘密鍵を用いている。また、この秘密鍵を、シナリオソフトウエア113の作成の際に開発者がシナリオソフトウエア113内に組み込んでおけば、秘密鍵の内容が開発者以外の者に知られることがなく、セキュリティ効果をより高めることができる。
ハッシュ値算出部108は、エクスポート部105の指示により、所定のハッシュ関数を用いて、暗号化されたシナリオファイル41のハッシュ値を算出する。また、ハッシュ値算出部108は、インポート部106の指示により、所定のハッシュ関数を用いて、取り込んだシナリオファイル42のハッシュ値を再計算する。
記憶部110は、ハードディスクドライブ等の大容量記憶媒体やROM、RAM等の半導体記憶媒体などの記憶媒体を有する。記憶部110には、制御部100における各種動作の際に用いられる各種データが一時的または非一時的に格納される。
また、記憶部110には、オペレーティングシステム111、アプリケーションソフト112、シナリオソフトウエア113、シナリオデータ114及びロボット動作一覧データ115が格納されている。また、記憶部110には、エクスポート用シナリオファイル41及びインポート用シナリオファイル42が、一時的または非一時的に格納されてもよい。
オペレーティングシステム111は、情報処理装置1全体の動作を制御し、また、情報処理装置1に対する入出力制御を行うソフトウエアである。また、アプリケーションソフト112は、情報処理装置1に特定の機能を与え、また、特定の動作を行わせるソフトウエアである。アプリケーションソフト112の一例としてはワードプロセッシングソフトウエア、表計算ソフトウエアなどが挙げられる。
これらオペレーティングシステム111及びアプリケーションソフト112は、入力装置2を介した情報処理装置1のオペレータによる操作入力に基づいて動作するが、本実施の形態の情報処理装置1においては、オペレーティングシステム111及びアプリケーションソフト112のいずれも、入力装置2を介して情報処理装置1のオペレータが入力したコマンド、及び、シナリオ実行部103により実行指示されるコマンドに基づいても動作する。
既に説明したように、シナリオソフトウエア113は、情報処理装置1により実行されることで、情報処理装置1に図1に示すような機能構成を備えさせるソフトウエアである。また、シナリオデータ114は、ロボット動作及びコマンドの組が情報処理装置1の実行順に配列されたものであり、シナリオ作成部102により作成される。ロボット動作一覧データ115は、情報処理装置1のオペレーティングシステム111及びアプリケーションソフト112により実行されるコマンドの種類を示すロボット動作が一覧として(例えばテーブル形式で)格納されたデータである。ロボット動作一覧データ115の詳細についても後述する。
通信部120は、CPUやチップセットが有する通信制御機能、及びLANチップ等からなり、LAN5及びこのLAN5に接続されたインターネット等のWAN(図略)上にある他の機器との間での通信を制御する。
入力装置2は、例えばキーボード、マウス等であり、情報処理装置1のオペレータからの操作入力に基づいて操作入力信号を情報処理装置1に送出する。入力I/F130は、CPUやチップセットが有するインタフェース機能、及びインタフェース用チップ等からなり、入力装置2からの操作入力信号を制御部100に送出する。
表示装置3は、例えば液晶ディスプレイ等であり、表示制御部104からの表示制御信号に基づいて、所定の表示画面を表示する。出力I/F140は、CPUやチップセットが有するインタフェース機能、及びインタフェース用チップ等からなり、表示制御部104からの表示制御信号を表示装置に出力する。
外部記憶装置4は、エクスポート部105が生成したエクスポート用シナリオファイル41、インポート部106が取り込むインポート用シナリオファイル42が格納される。外部記憶装置4としては、例えばUSBフラッシュメモリ装置、メモリーカード、SSD、CD-R、CD-RW、書き込み型DVD、HDD等が挙げられる。
図1に示す、情報処理装置1を構成する各部の具体的動作については後に詳述する。
次に、記憶部110に格納されているシナリオデータ114の内容について図2を参照して説明する。
図2に示すように、シナリオデータ114は複数(図示例ではn(n:自然数))のシナリオデータ#1~#n 114aを有する。シナリオデータ#1~#n 114aは、それぞれのシナリオデータ#1~#n 114aを識別するためのシナリオ名称データ114bと、このシナリオデータ#1~#n 114aに含まれるコマンドを表す複数(図示例ではn(n:自然数))のコマンドデータ#1~#n 114cとを有する。なお、図示例では簡略化のためにそれぞれのシナリオデータ#1~#n 114aはn個のコマンドデータ#1~#n 114cを有しているが、個々のシナリオデータ#1~#n 114aが異なる数のコマンドデータ114cを有していてもよい。
コマンドデータ#1~#n 114cは、それぞれのコマンドデータ114cがどのロボット動作に対応するかを示すコマンド名称データ114dと、後述するコマンド実行データ114fにより実行されるコマンドの概要を記述できるコマンドメモデータ114eと、コマンド名称データ114dにより特定されるロボット動作の具体的実行内容であるコマンドが記述されるコマンド実行データ114fとを有する。コマンド実行データ114fに記述されるコマンドは、オペレーティングシステム111及び/またはアプリケーションソフト112が解釈可能でありさらにこれらにより実行可能なコマンドである。
それぞれのシナリオデータ#1~#n 114aにおいて、コマンドデータ#1~#n 114cは情報処理装置1の実行順に配列されている。従って、シナリオ実行部103は、特定のシナリオデータ#1~#n 114aを選択して実行する場合、選択したシナリオデータ#1~#n 114aにおけるコマンドデータ#1~#n 114cを配列された順(つまりは#1から昇順に)実行する。
次に、記憶部110に格納されているロボット動作一覧データ115の内容について図3を参照して説明する。
ロボット動作一覧データ115は、ロボット動作の内容を示すロボット動作欄115a、このロボット動作に分岐指定ができるか否かを示す分岐欄115b及びこのロボット動作に階層指定ができるかどうかを示す階層欄115cを有する。
一例として、アプリ(ケーション)起動をするロボット動作は分岐指定も階層指定もできないが、シナリオの続行確認をするロボット動作は分岐指定のみでき、メールを受信するロボット動作は階層指定のみでき、そして、特定のディレクトリ(ファイルパス)におけるファイルの存在を確認するロボット動作は分岐指定も階層指定もできる。
なお、本実施の形態である情報処理装置1の制御部100はメールクライアント機能を有し、シナリオデータ114(コマンドデータ114c)により記述されたメールアドレス宛に到着したメールを受信することができる。
また、図3に示すロボット動作一覧データ115はあくまで一例であり、データの個数及び内容は図示のそれに限定されない。
次に、本実施の形態である情報処理装置1の動作の一例を図4のフローチャート及び図5~図12の操作画面の例を参照して説明する。
図4は情報処理装置1の動作を説明するためのフローチャートである。図4のフローチャートに示す動作は、情報処理装置1のオペレータによりシナリオソフトウエア113の起動が指示され、このシナリオソフトウエア113が起動することにより開始する。
シナリオソフトウエア113の起動時に表示装置3の表示画面に表示される画面を図5に示す。かかる画面は、情報処理装置1の制御部100の表示制御部104により生成され、表示装置3に送出される。
図5に示す画面には、記憶部110に格納されているシナリオデータ114のそれぞれのシナリオデータ#1~#n 114aのシナリオ名称データ114bが表示される表示領域200と、新規シナリオ作成を指示する新規シナリオ作成ボタン201と、それぞれのシナリオデータ#1~#n 114aに対する各種アクションを指示するアクションボタン202と、所定のシナリオデータ#1~#n 114aのインポートを指示するインポートボタン203とが表示されている。アクションボタン202は、シナリオデータ#1~#n 114aのエクスポートを指示するエクスポートボタン202aを有し、この他にも、設定ボタン、編集ボタン、実行ボタン、複製ボタン、ログ表示ボタン、削除ボタン等を有している。
図4のフローチャートでは、新規シナリオ作成ボタン201が入力されたときの動作、つまり、新規シナリオデータ#1~#n 114aを作成する際の手順と、エクスポートボタン202aが入力されたときの動作、つまり、エクスポート用シナリオファイル41を生成する際の手順と、インポートボタン203が入力されたときの動作、つまりインポート用シナリオファイル42の改ざんの有無を判定する際の手順について説明する。
ステップS1では、入力装置2を介して表示装置3に表示されている新規シナリオ作成ボタン201に対するオペレータからの操作入力を待つ。そして、新規シナリオ作成ボタン201の操作入力があったら(ステップS1の判定がYES)、プログラムはステップS2に進む。エクスポートボタン202aの操作入力があったら(ステップS1の判定がNOかつステップS20の判定がYES)、プログラムはステップS21に進む。インポートボタン203の操作入力があったら(ステップS1及びステップS20の判定がNOかつステップS30の判定がYES)、プログラムはステップS31に進む。
ステップS2に進むことで、新規シナリオ作成の各処理が開始される。このステップS2では、表示制御部104は表示装置3にシナリオ名称入力画面(図略)を表示させる。入力装置2を介してシナリオ名称の操作入力があったら、制御部100のコマンド入力部101はこの操作入力を受け入れる。受け入れたシナリオ名称はシナリオ名称データ114bとしてシナリオ作成部102がシナリオデータ114の一部として記憶部110に格納する。
図6は、ステップS2におけるシナリオ名称入力動作の後に表示装置3の表示画面に表示されるシナリオ編集モード画面の一例を示す図である。図6に示す画面は、表示制御部104により生成され、表示装置3に送出される。
図6に示す画面は、ロボット動作の一覧が表示される第1の領域210と、後述するコマンド入力部101により入力されたロボット動作とコマンドの組が、情報処理装置1の実行順に上から下に配列された第2の領域211とを有する。第1の領域210に表示されるロボット動作の一覧表示は、ロボット動作一覧データ115を参照して表示制御部104が生成する。また、第2の領域211に表示されるロボット動作とコマンドの組の表示も、同様に表示制御部104が生成する。
図6に示す画面は、既にコマンド入力部101によりロボット動作とコマンドの組が複数入力された状態を示す。従って、ステップS2が終了してステップS3が実行される状態では、第2の領域211には何も表示されていない。
ステップS3では、情報処理装置1のオペレータが、第1の領域210に表示されているロボット動作の一覧のうち、いずれかのロボット動作の選択入力が入力装置2を介してされるのを待つ。そして、選択入力がされると(ステップS3の判定がYES)、プログラムはステップS4に進み、表示制御部104がコマンド詳細設定画面を表示装置3に表示させる。
新規シナリオ作成の際に表示装置3に表示されるコマンド詳細設定画面の一例を図7~図10に示す。
図7に示すコマンド詳細設定画面220は、ロボット動作「アプリケーション>起動」に対応するコマンドの詳細を入力するための画面である。図7に示すコマンド詳細設定画面220は、起動すべきアプリケーションソフト112を指定するアプリケーションソフト指定画面221、及びこのコマンドの具体的実行内容を示すコマンドメモデータ114eを入力するためのメモ入力画面222を有する。
情報処理装置1のオペレータは、入力装置2を介してコマンド詳細設定画面220に文字列等の入力を行う。図7に示す例では、オペレータはアプリケーションソフト指定画面221に「excel(登録商標)」と入力し、メモ入力画面222に「エクセル起動」と入力している。
次に、図8に示すコマンド詳細設定画面230は、ロボット動作「ファイル>開く>固定ファイル名」に対応するコマンドの詳細を入力するための画面である。図8に示すコマンド詳細設定画面230は、(ファイルに関連付けられたアプリケーションソフト112により)開くべきファイルの場所、言い換えればディレクトリ(ファイルパス)を指定するファイル場所指定画面231、及びこのコマンドの具体的実行内容を示すコマンドメモデータ114eを入力するためのメモ入力画面232を有する。
次に、図9に示すコマンド詳細設定画面240は、ロボット動作「流れ>分岐(数値)」に対応するコマンドの詳細を入力するための画面である。図9に示すコマンド詳細設定画面240は、分岐条件となるデータを特定するためのIDを設定するデータID設定画面241、分岐条件となる数値との間の大小関係を設定する大小設定画面242、比較対象となる数値を入力する数値入力画面243、及びこのコマンドの具体的実行内容を示すコマンドメモデータ114eを入力するためのメモ入力画面244を有する。
そして、図10に示すコマンド詳細設定画面250は、ロボット動作「ウィンドウ>最前ウィンドウ記憶」に対応するコマンドの詳細を入力するための画面である。図10に示すコマンド詳細設定画面250は、表示装置3の表示画面において最前に表示されている画面を記憶するIDを設定するウィンドウ参照ID設定画面251、及びこのコマンドの具体的実行内容を示すコマンドメモデータ114eを入力するためのメモ入力画面252を有する。
ステップS5では、ステップS4において表示されたコマンド詳細設定画面を用いてコマンド等の入力がされるのを待つ。そして、コマンド等の入力がされると(ステップS5の判定がYES)、プログラムはステップS6に進み、コマンド入力部101が、ステップS4、S5において入力されたロボット動作、ロボット動作の具体的実行内容であるコマンドの入力及びコマンドメモデータ114eをそれぞれ受け入れる。次いで、シナリオ作成部102は、コマンド入力部101が受け入れたロボット動作及びコマンドの組、さらにはコマンドメモデータ114eを用いてシナリオデータ114を更新する。
さらに、表示制御部104は、コマンド入力部101が受け入れたロボット動作、ロボット動作の具体的実行内容であるコマンドの入力及びコマンドメモデータ114eに基づき、表示装置3の表示画面の第2の領域211の表示内容を更新する(図6参照)。
この際、表示制御部104は、コマンド入力部101が受け入れたロボット動作についてロボット動作一覧データ115を参照し、受け入れたロボット動作に分岐指定が可能であるかどうかを判定する。そして、分岐指定が可能であると判定したら、第2の領域211の表示内容に条件表示を付加する。
一例として、図6において、コマンドメモデータ114eが「注文数が10以上の場合」であるロボット動作R1は分岐指定されている。従って、表示制御部104は、このロボット動作R1の条件を満たす(図中では「True」と表示)場合に分岐するロボット動作R2と、ロボット動作R1の条件を満たさない(図中では「False」と表示)場合に分岐するロボット動作R3とを分別して視認可能な状態に表示する。
次いで、ステップS7では、入力装置2を介して情報処理装置1のオペレータが表示装置3の表示画面の第2の領域211に対して操作入力をするのを待つ。ここにいう操作入力の一例としては、第2の領域211に表示されているロボット動作に対して階層の変更を指示する操作入力であり、より具体的には、ロボット動作を図6において左右方向にドラッグすることで階層変更の指示を行う操作入力である。
ステップS8では、表示制御部104は、操作入力があったロボット動作についてロボット動作一覧データ115を参照し、受け入れたロボット動作に階層指定が可能であるかどうかを判定する。そして、階層指定が可能であると判定したら、第2の領域211の表示内容を更新し、階層表示を行う(あるいは変更する)。
一例として、図6において、コマンドメモデータ114eが「移動」であるロボット動作R4は、コマンドメモデータ114eが「各注文に対して繰り返し」であるロボット動作R5よりも図中右方向にシフトして表示されている。ロボット動作の表示を左右方向に所定距離だけシフトすることで階層表示が行われている。
この後、プログラムはステップS3に戻り、ステップS3~S10までの動作を繰り返す。また、図6の画面で、入力装置2を介して「シナリオ保存」の操作入力がされたら(ステップS10の判定がYES)、シナリオデータ114を記憶部110に格納して、シナリオ作成を終了し、ステップS1に戻る。
次に、ステップS1でエクスポートボタン202aの操作入力があり、ステップS21に進んだときの動作を説明する。このステップS21以降の処理は、図5に示す操作画面で、情報処理装置1のオペレータによって、所定のシナリオ名称データ114bの横に表示されるエクスポートボタン202aが選択されたときに実行される。
まず、ステップS21では、エクスポート部105が、情報処理装置1のオペレータによって選択されたエクスポートボタン202aに対応するシナリオデータ#1~#n 114aを記憶部110から取得する。これと並行して、ステップS22で、表示制御部104が、例えば、図11に示すようなエクスポート画面260を表示装置3に表示させる。この図11に示すエクスポート画面260は、シナリオデータ#1~#n 114aをエクスポート(書き出し)するための画面であり、出力先のファイル名、言い換えればディレクトリ(ファイルパス)を指定する出力先指定画面261を有する。
オペレータは、入力装置2を介して出力先指定画面261において、出力先のディレクトリを指定し、ファイル名(文字列)の入力を行う。なお、出力先のディレクトリは、表示制御部104の制御により予め外部記憶装置4のディレクトリ(例えば、D:)を指定し、ファイル名としてシナリオ名称を表示してもよい。
出力先の入力が完了し、オペレータがOKボタン262を操作入力すると、この入力を受けて、ステップS23で、エクスポート部105が、ステップS21で取得したシナリオデータ#1~#n 114aを所定のデータフォーマットに変換し、暗号処理部107に指示してこのデータフォーマット変換後のシナリオデータ#1~#n 114aを暗号化することで、シナリオファイル41を生成する。ステップS24で、ハッシュ値算出部108が、所定のハッシュ関数を用いて、この暗号化されたシナリオファイル41のハッシュ値を算出する。
次いで、ステップS25で、エクスポート部105が、暗号化されたシナリオファイル41を、ステップS24で算出されたハッシュ値と紐付けて、指定されたファイル名で外部記憶装置4に出力する。これにより、エクスポート処理が完了する。その後、ステップS1に戻ることで、次に指定される処理を続行することができる。
次に、ステップS1でインポートボタン203の操作入力があり、ステップS31に進んだときの動作を説明する。このステップS31以降の処理は、図5に示す操作画面で、情報処理装置1のオペレータによって、インポートボタン203が選択されたときに実行される。
まず、ステップS31では、表示制御部104が、例えば、図12に示すようなインポート画面270を表示装置3に表示させる。この図12に示すインポート画面270は、インポートすべきシナリオファイル42を指定するための画面であり、インポートのために開くべきファイルの場所、言い換えればディレクトリ(ファイルパス)を指定するファイル場所指定画面271を有する。
オペレータは、ファイル場所指定画面271で、外部記憶装置4に格納されているシナリオファイル42のファイルパスを指定し、OKボタン272を操作入力する。この入力を受けて、インポート部106は、外部記憶装置4からシナリオファイル42とこれに紐付けられたハッシュ値を取り込む。次いで、ステップS33で、ハッシュ値算出部108が、所定のハッシュ関数を用いて、取り込んだシナリオファイル42(暗号化ファイル)のハッシュ値を再計算する。
ステップS34で、インポート部106は、ステップS32で取得したハッシュ値(オリジナル値)と、ステップS33で再計算したハッシュ値とを比較する。2つのハッシュ値が一致すれば(ステップS34の判定がYES)、シナリオファイル42の改ざんがないと判定して、ステップS35に進む。
ステップS35では、暗号処理部107が改ざんがないと判定したシナリオファイル42を、秘密鍵を用いて復号する。ステップS36で、この復号されたシナリオファイル42(つまり、データフォーマット変換されているシナリオデータ)に基づいて、インポート部106がシナリオデータ#1~#n 114aを生成し、記憶部110に格納する。これにより、インポートが完了し、情報処理装置1において、インポートされたシナリオデータ#1~#n 114aを実行することが可能となる。
一方、2つのハッシュ値が不一致の場合(ステップS34の判定がNO)は、シナリオファイル42が改ざんされた可能性があるため、その後のインポート処理を中止し、ステップS37に進む。ステップS37では、表示制御部104が、エラーメッセージ(例えば、「ハッシュ値が不一致のため、インポート処理を中止します。」、「シナリオファイルの改ざんを検出したため、インポート処理を中止します。」)を表示装置3に表示させる。このエラーメッセージを視認することで、オペレータはシナリオファイル42に改ざんがあったことを認識することができる。そして、オペレータによるインポート画面270のキャンセルボタン273の操作入力等を受けて、ステップS1に戻ることで、次に指定される処理を続行することができる。
以上のように構成された本実施の形態である情報処理装置1では、表示制御部104が、入力装置2を介して第2の領域211に表示されているロボット動作及びコマンドの組の階層指定及び/または条件指定の入力があると、第2の領域211に表示されているロボット動作及びコマンドの組の表示態様を変更させている。
このようにすることで、コマンドの階層化表示、及び/または条件設定の表示を操作画面において簡易に表示させることが可能となる。
また、本実施の形態である情報処理装置1では、シナリオデータ114のエクスポートに際して、生成したシナリオファイル41のハッシュ値を算出している。そして、シナリオデータ114のインポートに際して、シナリオファイル42のハッシュ値を再計算し、エクスポート先で算出したハッシュ値と比較している。このようにすることで、シナリオデータ114の改ざん等の有無を検出し、改ざん等されたシナリオデータ114の実行を防止することができる。
また、本実施の形態では、所定の秘密鍵を用いて暗号化したシナリオファイル41,42のハッシュ値を算出または再計算している。このようにすることで、ハッシュ値をより複雑化して、ハッシュ値からシナリオファイルが不測に復号されるのを防止することができ、セキュリティ効果をより高めることができる。その結果、改ざん等されたシナリオデータ114の実行の防止効果を高めることができる。また、本実施の形態では、秘密鍵がシナリオソフトウエア113内に組み込まれていることで、権限のないオペレータや第三者が不測にエクスポート用シナリオファイル41を生成したり、インポート用シナリオファイル42を取り込んだりするのを防止することもでき、セキュリティ効果をより高めることができる。
以上、図面を参照して、本発明の実施の形態を詳述してきたが、具体的な構成は、この実施の形態及び実施例に限らず、本発明の要旨を逸脱しない程度の設計的変更は、本発明に含まれる。
一例として、表示制御部104による表示装置3の表示画面への表示態様は図示例に限定されず、種々の変形が可能である。
そして、上述の実施の形態において、情報処理装置1を動作させるプログラムは記憶部110に格納されて提供されていたが、不図示の光学ディスクドライブ、USBインタフェース等を用いて、プログラムが格納された光ディスク、USBフラッシュメモリ装置、メモリーカード等を接続し、このDVD等からプログラムを情報処理装置1に読み込んで動作させてもよい。また、WAN上の外部サーバー内にプログラムを格納しておき、通信部120を介してこのプログラムを情報処理装置1に読み込んで動作させてもよい。さらに、上述の各実施形態において、情報処理装置1は複数のハードウェア要素により構成されていたが、これらハードウェア要素の一部の動作をCPU等がプログラムの動作により実現することも可能である。
また、上述の実施の形態では、フォーマット変換後のシナリオデータ114からシナリオファイル41を生成し、そのハッシュ値を算出しているが、これに限定されるものではない。他の異なる実施形態として、例えば、フォーマット変換後のシナリオデータ114及び所定の画像ファイルからシナリオファイル41を生成し、そのハッシュ値を算出することもできる。より具体的に説明すれば、画面上でマウスを移動させるコマンドを実行する場合、画面上の座標を指定することで自動的にマウスを移動させる方法と、所定の画像に向かってマウスの移動をするように指定する方法とがある。このような画像を利用したコマンドをインポート先の情報処理装置1でも実行するには、画像(画像ファイル)もシナリオデータ114とともにエクスポートする必要がある。よって、シナリオデータ114及び複数の画像ファイルを含めてシナリオファイル41を生成し、このシナリオファイル41のハッシュ値を算出することで、容易に解読等されることのないハッシュ値が得られる。よって、シナリオデータ114の改ざん等の防止効果をより高めることができる。
また、上述の実施の形態では、図5の画面でエクスポートボタン202aの操作入力によって指定されたシナリオ名称データ114bに対応するシナリオデータ114のエクスポートを実行しているが、複数のシナリオデータ114をまとめてエクスポートすることも可能である。例えば、本実施の形態では、所定のシナリオデータ114に、他のシナリオデータ114を呼び出して実行させるコマンドを指定することが可能である。この場合、エクスポート部105は、エクスポートの指定がされた所定のシナリオデータ114とともに、これに呼び出される依存関係の他のシナリオデータ114を自動的に検出し、これらをまとめて1つのシナリオファイル41として出力し、そのハッシュ値を算出する。そして、他の情報処理装置1に、これら複数のシナリオデータ114をインポートすることで、呼び出し元及び呼び出し先の各コマンドを正常に実行することができる。
また、更に異なる実施の形態として、図5に示す画面で、複数のシナリオ名称データ114bを選択可能とし(グループ化)、選択されたシナリオ名称データ114bに対応するすべてのシナリオデータ114からシナリオファイル41を生成し、そのハッシュ関数を算出する構成とすることもできる。この場合、すべてのシナリオデータ114をまとめて1つのシナリオファイル41を生成してもよいし、シナリオデータ114ごとにシナリオファイル41を生成してもよい。
また、上述の実施の形態では、エクスポート部105は、シナリオファイル41を外部記憶装置4に出力し、インポート部106は、外部記憶装置4からシナリオファイル42を取り込んでいるが、これに限定されるものではない。例えば、通信部120を介してシナリオファイル41を他の情報処理装置1に向けて出力する構成としてもよい。また、通信部120を介してシナリオファイル42を情報処理装置1に読み込む構成としてもよい。この場合でも、エクスポート側とインポート側で、それぞれハッシュ値を算出して比較することで、シナリオデータ114の改ざん等の有無を検出し、改ざん等されたシナリオデータ114の実行を確実に防止することができる。
1 情報処理装置
2 入力装置
3 表示装置
4 外部記憶装置
41 エクスポート用シナリオファイル
42 インポート用シナリオファイル
100 制御部
101 コマンド入力部
102 シナリオ作成部
103 シナリオ実行部
104 表示制御部
105 エクスポート部
106 インポート部
107 暗号処理部
108 ハッシュ値算出部
110 記憶部
114 シナリオデータ

Claims (8)

  1. ロボット動作の具体的実行内容であるコマンド及び前記コマンドの組を、実行順に配列したシナリオデータに従って、前記コマンドを実行する情報処理装置であって、
    前記シナリオデータが記憶される記憶部と、
    前記記憶部から所定の前記シナリオデータを取得し、所定の暗号アルゴリズムに従って前記シナリオデータを暗号化し、所定のハッシュ関数に従って、暗号化された前記シナリオデータのハッシュ値を算出し、算出した前記ハッシュ値を暗号化された前記シナリオデータに紐付けしてエクスポート用シナリオファイルを生成するエクスポート部と、
    前記ハッシュ値が紐付けされたインポート用シナリオファイルを取り込み、前記インポート用シナリオファイルの前記ハッシュ値を再計算し、再計算された前記ハッシュ値及び紐付けされた前記ハッシュ値を比較するインポート部と、を備え、
    前記エクスポート部は、エクスポートの指定がされた所定のシナリオデータにより呼び出される依存関係の他のシナリオデータを検出し、前記所定のシナリオデータとともに、前記他のシナリオデータを、1つのシナリオデータに統合することなくまとめて1つのシナリオファイルを生成し、暗号化し、ハッシュ値を算出し、
    前記インポート部は、2つの前記ハッシュ値が一致すると判定したときは、暗号化された前記インポート用シナリオファイルに含まれる前記シナリオデータ及び依存関係の他のシナリオデータを、所定の暗号アルゴリズムに従って復号し、復号化されたこれらの複数のシナリオデータを、前記記憶部に格納することを特徴とする情報処理装置。
  2. 前記エクスポート部は、暗号化した前記シナリオデータと前記ハッシュ値をまとめて1つのエクスポート用シナリオファイルを生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記エクスポート部は、エクスポートの選択がされた複数のシナリオデータをグループ化し、選択されたすべてのシナリオデータに基づきシナリオファイルを生成し、ハッシュ値を算出することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記エクスポート部は、所定の暗号アルゴリズムに従って、前記情報処理装置に予め組み込まれた共通の秘密鍵を用いて前記エクスポート用シナリオファイルの前記シナリオデータを暗号化するように構成され、前記インポート部は、所定の暗号アルゴリズムに従って、前記秘密鍵を用いて前記インポート用シナリオファイルの前記シナリオデータを復号するように構成されていることを特徴とする請求項1~のいずれか一項に記載の情報処理装置。
  5. 前記エクスポート部は、前記エクスポート用シナリオファイルを外部記憶装置に出力し、前記インポート部は、前記外部記憶装置に格納された前記インポート用シナリオファイルを取り込むように構成されたことを特徴とする請求項1~のいずれか一項に記載の情報処理装置。
  6. 前記ロボット動作及び前記コマンドの入力をそれぞれ受け入れるコマンド入力部と、
    前記コマンド入力部により入力が受け入れられた前記ロボット動作及び前記コマンドの組を、前記情報処理装置の実行順に配列した前記シナリオデータを作成するシナリオ作成部と、
    前記ロボット動作の一覧が表示される第1の領域、及び前記コマンド入力部により入力が受け入れられた前記ロボット動作及び前記コマンドの組が、前記情報処理装置の実行順に配列して表示される第2の領域を有するシナリオ編集モード画面、前記シナリオデータをエクスポートするためのエクスポート画面、及びインポートする前記シナリオデータを選択するためのインポート画面を切り替えて表示装置に表示させる表示制御部と、
    前記シナリオデータに基づいて、実行順に配列された前記コマンドを前記情報処理装置において実行させるシナリオ実行部と、を有することを特徴とする請求項1~のいずれか一項に記載の情報処理装置。
  7. ロボット動作の具体的実行内容であるコマンド及び前記コマンドの組を、実行順に配列したシナリオデータに従って、前記コマンドを実行する情報処理装置の制御方法であって、
    前記シナリオデータを記憶部に記憶する記憶工程と、
    前記記憶部から所定の前記シナリオデータを取得し、エクスポートの指定がされた所定のシナリオデータにより呼び出される依存関係の他のシナリオデータを検出し、前記所定のシナリオデータとともに、前記他のシナリオデータを、1つのシナリオデータに統合することなくまとめて1つのシナリオファイルを生成し、所定の暗号アルゴリズムに従って前記シナリオファイルを暗号化し、所定のハッシュ関数に従って、暗号化された前記シナリオファイルのハッシュ値を算出し、算出した前記ハッシュ値を暗号化された前記シナリオファイルに紐付けしてエクスポート用シナリオファイルを生成するエクスポート工程と、
    前記ハッシュ値が紐付けされたインポート用シナリオファイルを取り込み、前記インポート用シナリオファイルの前記ハッシュ値を再計算し、再計算された前記ハッシュ値及び紐付けされた前記ハッシュ値を比較するインポート工程と、を有し、
    前記インポート工程は、2つの前記ハッシュ値が一致すると判定したときは、暗号化された前記インポート用シナリオファイルに含まれる前記シナリオデータ及び依存関係の他のシナリオデータを、所定の暗号アルゴリズムに従って復号し、復号化されたこれらの複数のシナリオデータを、前記記憶部に格納することを特徴とする情報処理装置の制御方法。
  8. コンピュータにより実行されるプログラムであって、
    このプログラムは、前記コンピュータにより実行されると、このコンピュータを、
    ロボット動作の具体的実行内容であるコマンド及び前記コマンドの組を、実行順に配列したシナリオデータを記憶する記憶部と、
    前記記憶部から所定の前記シナリオデータを取得し、エクスポートの指定がされた所定のシナリオデータにより呼び出される依存関係の他のシナリオデータを検出し、前記所定のシナリオデータとともに、前記他のシナリオデータを、1つのシナリオデータに統合することなくまとめて1つのシナリオファイルを生成し、所定の暗号アルゴリズムに従って前記シナリオファイルを暗号化し、所定のハッシュ関数に従って、暗号化された前記シナリオファイルのハッシュ値を算出し、算出した前記ハッシュ値を前記シナリオファイルに紐付けしてエクスポート用シナリオファイルを生成するエクスポート部と、
    前記ハッシュ値が紐付けされたインポート用シナリオファイルを取り込み、前記インポート用シナリオファイルの前記ハッシュ値を再計算し、再計算された前記ハッシュ値及び紐付けされた前記ハッシュ値を比較し、2つの前記ハッシュ値が一致すると判定したときは、暗号化された前記インポート用シナリオファイルに含まれる前記シナリオデータ及び依存関係の他のシナリオデータを、所定の暗号アルゴリズムに従って復号し、復号化されたこれらの複数のシナリオデータを、前記記憶部に記憶するインポート部として機能させることを特徴とするプログラム。
JP2018238488A 2018-12-20 2018-12-20 情報処理装置、制御方法及びプログラム Active JP7104947B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018238488A JP7104947B2 (ja) 2018-12-20 2018-12-20 情報処理装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018238488A JP7104947B2 (ja) 2018-12-20 2018-12-20 情報処理装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020102699A JP2020102699A (ja) 2020-07-02
JP7104947B2 true JP7104947B2 (ja) 2022-07-22

Family

ID=71139873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018238488A Active JP7104947B2 (ja) 2018-12-20 2018-12-20 情報処理装置、制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7104947B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002196926A (ja) 2000-12-27 2002-07-12 Toshiba Corp プログラム構築システム、プログラム構築方法及び記録媒体
JP2002352028A (ja) 2001-05-28 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> コンテンツ流通方法、コンテンツ流通システム及びその装置
JP2006259999A (ja) 2005-03-16 2006-09-28 Canon Inc 周辺機器制御装置
JP2011181024A (ja) 2010-03-04 2011-09-15 Hitachi Solutions Ltd システム間連携用csvファイル出力装置
JP2013109719A (ja) 2011-11-24 2013-06-06 Ntt Docomo Inc 試験装置及び試験方法
JP2016103217A (ja) 2014-11-28 2016-06-02 シャープ株式会社 情報処理端末および情報処理端末の制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0498552A (ja) * 1990-08-17 1992-03-31 Fujitsu Ltd 電子ファイリング装置
JPH06332689A (ja) * 1993-05-21 1994-12-02 Hitachi Ltd プログラムの表示方法およびプログラムの編集受付け方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002196926A (ja) 2000-12-27 2002-07-12 Toshiba Corp プログラム構築システム、プログラム構築方法及び記録媒体
JP2002352028A (ja) 2001-05-28 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> コンテンツ流通方法、コンテンツ流通システム及びその装置
JP2006259999A (ja) 2005-03-16 2006-09-28 Canon Inc 周辺機器制御装置
JP2011181024A (ja) 2010-03-04 2011-09-15 Hitachi Solutions Ltd システム間連携用csvファイル出力装置
JP2013109719A (ja) 2011-11-24 2013-06-06 Ntt Docomo Inc 試験装置及び試験方法
JP2016103217A (ja) 2014-11-28 2016-06-02 シャープ株式会社 情報処理端末および情報処理端末の制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
横瀬 史拓,オペレータの操作を自動化するソフトウェア「UMS」,NTT技術ジャーナル,第23巻第5号,2011年05月01日,pp.42-45

Also Published As

Publication number Publication date
JP2020102699A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
US8175268B2 (en) Generating and securing archive keys
RU2620712C2 (ru) Устройство виртуальной машины, имеющее управляемую ключом обфускацию, и способ
US8205079B2 (en) Encryption/decryption system and method thereof
CN105103127A (zh) 基于编译器的混淆
WO2019091016A1 (zh) 数据采集工具包定制方法、装置、终端和存储介质
JP2011248859A (ja) データ処理装置およびデータ処理システムおよびその制御方法
US11972005B1 (en) System and methods for the management and security of data variations in an electronic spreadsheet
JP6554103B2 (ja) 暗号アルゴリズムで使用されるときに秘密データを保護する方法
JP7104947B2 (ja) 情報処理装置、制御方法及びプログラム
JP4728650B2 (ja) ソフトウェアプロテクト方法及びソフトウェアプロテクト機能を有する事務コンピュータ
TWI540456B (zh) 帳號管理應用程式的強固方法以及使用該方法的裝置
CN108200058B (zh) 聊天加密方法、装置、电子终端及可读存储介质
US8144876B2 (en) Validating encrypted archive keys with MAC value
JP6307956B2 (ja) 情報処理装置及び情報処理方法
WO2020105156A1 (ja) シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム
JP2010020698A (ja) 情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
JP6576608B1 (ja) 作画支援装置、表示装置、作画支援方法およびコンピュータプログラム
JP5473146B2 (ja) ソフトウェアプロテクト方法
JP5356583B2 (ja) 半導体記憶装置
JP2015035199A (ja) データ通信システム、通信端末装置、及び通信プログラム
JP7084273B2 (ja) 難読化判定装置
WO2019019377A1 (zh) 安全键盘配置方法、装置、终端和存储介质
JP2023037147A (ja) データ提供装置、データ取得装置、およびプログラム
JP2011233053A (ja) 情報処理装置、情報処理方法、及びプログラム
WO2022074757A1 (ja) 制御方法、制御プログラム、および情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220701

R150 Certificate of patent or registration of utility model

Ref document number: 7104947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150