JP2018190261A - 情報処理装置、情報処理方法および情報処理プログラム - Google Patents
情報処理装置、情報処理方法および情報処理プログラム Download PDFInfo
- Publication number
- JP2018190261A JP2018190261A JP2017093526A JP2017093526A JP2018190261A JP 2018190261 A JP2018190261 A JP 2018190261A JP 2017093526 A JP2017093526 A JP 2017093526A JP 2017093526 A JP2017093526 A JP 2017093526A JP 2018190261 A JP2018190261 A JP 2018190261A
- Authority
- JP
- Japan
- Prior art keywords
- program
- code
- template
- information processing
- processing
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】記憶部11は、コードパターン13と、処理要求に応じてシステム21が特定の処理を実行するよう規定するプログラムの書式を示すテンプレート14aと、システム21にネットワーク経由で処理要求を送信するプログラムの書式を示すテンプレート14bとを記憶する。処理部12は、プログラム15を取得し、プログラム15の中からコードパターン13に該当する第1のコードを検出し、第1のコードおよびテンプレート14aを用いて、システム21が第1のコードに対応する処理を実行するよう規定するプログラム16aを生成し、プログラム15の中から第1のコードに依存する第2のコードを検出し、第2のコードおよびテンプレート14bを用いて、システム21と異なるシステム22に実行させるプログラム16bを生成する。
【選択図】図1
Description
[第1の実施の形態]
第1の実施の形態を説明する。
第1の実施の形態の情報処理装置10は、システム21,22に適用される分散処理プログラムの開発を支援する。情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性のストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うこともある。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
開発サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。クライアント31も、開発サーバ100と同様のハードウェアを用いて実装できる。また、PaaSシステム41、FaaSシステム42およびストレージシステム43に用いられるサーバコンピュータも、開発サーバ100と同様のハードウェアを用いて実装できる。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
開発サーバ100は、環境設定記憶部121、プログラム記憶部122、変換ルール記憶部123、実行状態記憶部124、開発UI(User Interface)部131、コンパイル部132および起動制御部133を有する。環境設定記憶部121、プログラム記憶部122、変換ルール記憶部123および実行状態記憶部124は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装される。開発UI部131、コンパイル部132および起動制御部133は、例えば、プログラムを用いて実装される。
環境設定管理テーブル141は、環境設定記憶部121に記憶される。環境設定管理テーブル141は、クラウドシステム名および認証情報の項目を有する。クラウドシステム名の項目には、クラウドシステムの名称またはクラウド事業者の名称が登録される。図5の「Aシステム」はクラウドシステム40を示している。認証情報の項目には、開発者から入力された認証情報が登録される。図5では、PaaSシステム41、FaaSシステム42およびストレージシステム43が同一の認証情報によって利用可能であることを想定している。環境設定管理テーブル141には、複数のクラウドシステムの認証情報が登録されてもよく、異なる開発者から入力された認証情報が登録されてもよい。
プログラム142は、プログラム記憶部122に記憶される。プログラム142は、開発者からの入力によって作成された変換前プログラムである。図6ではプログラム142は、Node.js形式のサーバサイドスクリプトとして作成されている。
コンパイル部132は、プログラム142から変換後プログラム群を生成するにあたり、プログラム142を解析して抽象構文木144を生成する。抽象構文木144は、木構造に連結された複数のノードを含む。図7には、図6のプログラム142から生成されるノード群の一部を記載している。抽象構文木144は、ノード144a,144b,144c,144d,144e,144f,144g,144h,144iを含む。
変換ルールテーブル145は、変換ルール記憶部123に記憶される。変換ルールテーブル145には、配備先のクラウドシステム40について、予め複数の変換ルールが登録されている。変換ルールテーブル145は、ルールID、ルール名、コードパターン、適用条件、テンプレートおよび優先度の項目を有する。
テンプレート145aは、図8の変換ルール3に含まれるテンプレートである。テンプレート145aは、引数として「accessKeyId」、「secretAccessKey」および「region」を含む。この3つの引数は、環境設定管理テーブル141に登録されたアクセスキーID、秘密アクセスキーおよび地域に対応する。また、テンプレート145aは、引数として「object.name」、「property.name」および「right」を含む。この3つの引数は、変換前プログラムから抽出される変数名、キーおよび代入値に対応する。
プログラム146は、プログラム記憶部122に記憶される。プログラム146は、環境設定管理テーブル141、プログラム142およびテンプレート145aから生成された変換後プログラムである。引数「accessKeyId」に環境設定管理テーブル141の「xxx」が代入されている。引数「secretAccessKey」に環境設定管理テーブル141の「yyy」が代入されている。引数「region」に環境設定管理テーブル141の「us−west−2」が代入されている。また、引数「object.name」にプログラム142の「csv」が代入されている。引数「property.name」にプログラム142の「name」が代入されている。引数「right」にプログラム142の「object」が代入されている。
プログラム142から生成される変換後プログラム群によれば、アプリケーションソフトウェアはコンポーネント147a,147b,147c,147d,147eを含む。
実行状態管理テーブル148は、実行状態記憶部124に記憶される。実行状態管理テーブル148は、サービスインスタンスIDおよび実行状態の項目を有する。サービスインスタンスIDの項目には、サービスインスタンスを識別する識別情報が登録される。サービスインスタンスIDは、あるサービスインスタンスを最初に配備するときに、他のサービスインスタンスと重複しないように当該サービスインスタンスに対して付与される。
クラウドシステム40には、サービスインスタンスの構成要素としてインスタンス149a,149b,149c,149d,149eが形成される。インスタンス149aはPaaSシステム41で実行される。インスタンス149b,149cはFaaSシステム42で実行される。インスタンス149d,149eはストレージシステム43で実行される。インスタンス149aはコンポーネント147aから起動される。インスタンス149bはコンポーネント147cから起動される。インスタンス149cはコンポーネント147eから起動される。インスタンス149dはコンポーネント147bから起動される。インスタンス149eはコンポーネント147dから起動される。
図14は、コンパイルサービスの手順例を示すフローチャートである。
(S10)コンパイル部132は、変換前プログラムと制約情報143を取得する。
(S12)ルールマッチング部134は、着目位置を抽象構文木のルートに移動する。
(S17)ルールマッチング部134は、ステップS14で選択したノードが、ステップS16で選択した変換ルールのコードパターンを満たすか判断する。また、ルールマッチング部134は、制約情報143やその他のプログラム変換状況が、ステップS16で選択した変換ルールの適用条件を満たすか判断する。コードパターンと適用条件の両方を満たす場合はステップS18に処理が進み、コードパターンと適用条件の少なくとも一方を満たさない場合はステップS15に処理が進む。
(S19)コード生成部135は、ステップS18で選択された適用候補のうちの1つを、ステップS14で選択されたノードに対して適用して変換後プログラムを生成する。そして、ステップS13に処理が進む。変換ルール適用の詳細は後述する。
この変換ルール適用は、上記のステップS19で実行される。
(S21)コード生成部135は、着目するノードに対して選択された適用候補の変換ルールが1つ以上あるか判断する。適用候補の変換ルールがある場合はステップS22に処理が進み、適用候補の変換ルールがない場合は変換ルール適用が終了する。
(S23)コード生成部135は、ステップS22で選択した変換ルールに含まれるテンプレートの引数を特定する。コード生成部135は、着目するノードの中から、特定した引数に対応する値を抽出する。抽出する値としては、例えば、変換前プログラムで使用されている変数名や関数名などが挙げられる。また、コード生成部135は、抽出した値を、変換後プログラムの中でユニークな値になるように変更する。
(S30)開発UI部131は、実行状態変更リクエストを受信する。実行状態変更リクエストは、配備リクエスト、停止リクエストまたは削除リクエストである。
(S33)起動制御部133は、ステップS32のサービスインスタンスIDに対応する実行状態を未配備(none)に初期化する。
(S39)起動制御部133は、実行状態変更リクエストが拒否されたことを示すエラーメッセージを生成する。開発UI部131は、エラーメッセージを返信する。
(S40)起動制御部133は、受け付けた実行状態変更リクエストが停止リクエストであるか判断する。実行状態変更リクエストが停止リクエストである場合はステップS41に処理が進み、それ以外の場合はステップS44に処理が進む。
(S44)起動制御部133は、起動制御部133は、受け付けた実行状態変更リクエストが削除リクエストであるか判断する。実行状態変更リクエストが削除リクエストである場合はステップS45に処理が進み、それ以外の場合は起動サービスが終了する。
第2の実施の形態の情報処理システムによれば、コアロジック全体が1つのコンピュータ上で閉じて実行されるようなプログラムを開発者が作成すれば、そのプログラムから複数のクラウドサービスを利用し連携させるプログラム群が生成される。よって、開発者はクラウド事業者が独自に規定したAPIや規約を学習しなくてもよく、学習コストを低減することができる。また、開発者は複数のクラウドサービスに分散する断片的なプログラムや設定情報を直接記述しなくてよく、コアロジックの定義に注力することができる。よって、複数のクラウドサービスを利用するアプリケーションソフトウェアの開発効率が向上する。また、複数のクラウドサービスに対するプログラムや設定情報の送信が、開発者に代わって開発サーバ100によって一括して行われる。よって、開発者が個別にクラウドサービスにアクセスしなくてよく、サービスインスタンスの配備を効率化できる。
11 記憶部
12 処理部
13 コードパターン
14a,14b テンプレート
15,16a,16b プログラム
21,22 システム
Claims (9)
- コードパターンと、処理要求に応じてシステムが特定の処理を実行するよう規定するプログラムの書式を示す第1のテンプレートと、前記システムにネットワーク経由で前記処理要求を送信するプログラムの書式を示す第2のテンプレートとを記憶する記憶部と、
第1のプログラムを取得し、前記第1のプログラムの中から前記コードパターンに該当する第1のコードを検出し、前記第1のコードおよび前記第1のテンプレートを用いて、前記システムが前記第1のコードに対応する処理を実行するよう規定する第2のプログラムを生成し、前記第1のプログラムの中から前記第1のコードに依存する第2のコードを検出し、前記第2のコードおよび前記第2のテンプレートを用いて、前記システムと異なる他のシステムに実行させる第3のプログラムを生成する処理部と、
を有する情報処理装置。 - 前記処理部は更に、前記第2のプログラムを前記システムに送信するか、または、前記第2のプログラムに基づいて設定情報を前記システムに送信する、
請求項1記載の情報処理装置。 - 前記記憶部は、前記システムにアクセスする権利を示す認証情報を記憶し、
前記第3のプログラムの生成では、前記処理部は、前記第2のテンプレートに基づいて前記認証情報を前記第3のプログラムに埋め込む、
請求項1記載の情報処理装置。 - 前記記憶部は、前記コードパターンに対応付けて前記第1のテンプレートと優先度とを記憶し、他のコードパターンに対応付けて第3のテンプレートと他の優先度とを記憶し、
前記処理部は更に、前記第1のコードが前記コードパターンと前記他のコードパターンの両方に該当する場合、前記優先度と前記他の優先度とを比較し、前記優先度が前記他の優先度より高い場合に前記第1のテンプレートを優先的に使用する、
請求項1記載の情報処理装置。 - 前記処理部は更に、前記第2のプログラムを前記システムに適用するとき、前記システムで実行される他の処理と重複しない識別情報を割り当て、前記第2のプログラムの中に記載された処理名称を前記識別情報を用いて書き換える、
請求項1記載の情報処理装置。 - 前記コードパターンは変数の定義を示し、前記システムは前記処理要求に含まれるデータを保存するストレージサービスを提供する、
請求項1記載の情報処理装置。 - 前記コードパターンは変数の値を用いた演算を示し、前記システムは前記処理要求で指定された関数を実行する関数実行サービスを提供する、
請求項1記載の情報処理装置。 - 情報処理装置が実行する情報処理方法であって、
第1のプログラムを取得し、
前記第1のプログラムの中から所定のコードパターンに該当する第1のコードを検出し、処理要求に応じてシステムが特定の処理を実行するよう規定するプログラムの書式を示す第1のテンプレートと前記第1のコードとを用いて、前記システムが前記第1のコードに対応する処理を実行するよう規定する第2のプログラムを生成し、
前記第1のプログラムの中から前記第1のコードに依存する第2のコードを検出し、前記システムにネットワーク経由で前記処理要求を送信するプログラムの書式を示す第2のテンプレートと前記第2のコードとを用いて、前記システムと異なる他のシステムに実行させる第3のプログラムを生成する、
情報処理方法。 - コンピュータに、
第1のプログラムを取得し、
前記第1のプログラムの中から所定のコードパターンに該当する第1のコードを検出し、処理要求に応じてシステムが特定の処理を実行するよう規定するプログラムの書式を示す第1のテンプレートと前記第1のコードとを用いて、前記システムが前記第1のコードに対応する処理を実行するよう規定する第2のプログラムを生成し、
前記第1のプログラムの中から前記第1のコードに依存する第2のコードを検出し、前記システムにネットワーク経由で前記処理要求を送信するプログラムの書式を示す第2のテンプレートと前記第2のコードとを用いて、前記システムと異なる他のシステムに実行させる第3のプログラムを生成する、
処理を実行させる情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017093526A JP6940751B2 (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置、情報処理方法および情報処理プログラム |
US15/972,365 US10521201B2 (en) | 2017-05-10 | 2018-05-07 | Information processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017093526A JP6940751B2 (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置、情報処理方法および情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018190261A true JP2018190261A (ja) | 2018-11-29 |
JP6940751B2 JP6940751B2 (ja) | 2021-09-29 |
Family
ID=64097740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017093526A Active JP6940751B2 (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置、情報処理方法および情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10521201B2 (ja) |
JP (1) | JP6940751B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021163092A (ja) * | 2020-03-31 | 2021-10-11 | 株式会社日立製作所 | プログラム実行支援装置、及びプログラム実行支援方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11960940B2 (en) * | 2018-05-29 | 2024-04-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Performance of function as a service |
US10678522B1 (en) * | 2018-12-14 | 2020-06-09 | Mouri Tech Llc | Compiler and method for compiling business rules for a serverless runtime environment |
US11150935B2 (en) | 2019-07-05 | 2021-10-19 | International Business Machines Corporation | Container-based applications |
US11340952B2 (en) | 2019-11-11 | 2022-05-24 | Microsoft Technology Licensing, Llc | Function performance trigger |
CN112671734B (zh) * | 2020-12-16 | 2023-06-09 | 中国平安人寿保险股份有限公司 | 面向多数据源的报文处理方法及其相关设备 |
CN117112074B (zh) * | 2023-06-19 | 2024-03-12 | 领悦数字信息技术有限公司 | 将http应用自动转换成无服务器函数的方法、系统和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160784A (ja) * | 1995-12-06 | 1997-06-20 | Nec Corp | 並列化コンパイル方式 |
JP2008097249A (ja) * | 2006-10-11 | 2008-04-24 | Internatl Business Mach Corp <Ibm> | プログラム中の命令列をより高速な命令に置換する技術 |
JP2016519824A (ja) * | 2013-04-09 | 2016-07-07 | サイトリックス システムズ,インコーポレイテッド | クラウド同期型データの使用によるネイティブデスクトップの提供 |
JP2016177652A (ja) * | 2015-03-20 | 2016-10-06 | 富士通株式会社 | コンパイラプログラム、システム、方法、及び装置 |
JP2017507415A (ja) * | 2014-08-13 | 2017-03-16 | 株式会社日立製作所 | クラウド環境におけるitインフラ管理のための方法とその装置 |
WO2017062384A1 (en) * | 2015-10-05 | 2017-04-13 | Fugue, Inc. | System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3762867B2 (ja) * | 1999-01-29 | 2006-04-05 | 富士通株式会社 | コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体 |
US7240327B2 (en) * | 2003-06-04 | 2007-07-03 | Sap Ag | Cross-platform development for devices with heterogeneous capabilities |
US9027002B2 (en) | 2010-10-27 | 2015-05-05 | Hitachi, Ltd. | Method of converting source code and source code conversion program |
US9003141B2 (en) * | 2011-11-14 | 2015-04-07 | Ca, Inc. | Enhanced software application platform |
US20130271476A1 (en) * | 2012-04-17 | 2013-10-17 | Gamesalad, Inc. | Methods and Systems Related to Template Code Generator |
US9806954B2 (en) * | 2014-06-03 | 2017-10-31 | Equinix, Inc. | Transformation engine for datacenter colocation and network interconnection products |
-
2017
- 2017-05-10 JP JP2017093526A patent/JP6940751B2/ja active Active
-
2018
- 2018-05-07 US US15/972,365 patent/US10521201B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160784A (ja) * | 1995-12-06 | 1997-06-20 | Nec Corp | 並列化コンパイル方式 |
JP2008097249A (ja) * | 2006-10-11 | 2008-04-24 | Internatl Business Mach Corp <Ibm> | プログラム中の命令列をより高速な命令に置換する技術 |
JP2016519824A (ja) * | 2013-04-09 | 2016-07-07 | サイトリックス システムズ,インコーポレイテッド | クラウド同期型データの使用によるネイティブデスクトップの提供 |
JP2017507415A (ja) * | 2014-08-13 | 2017-03-16 | 株式会社日立製作所 | クラウド環境におけるitインフラ管理のための方法とその装置 |
JP2016177652A (ja) * | 2015-03-20 | 2016-10-06 | 富士通株式会社 | コンパイラプログラム、システム、方法、及び装置 |
WO2017062384A1 (en) * | 2015-10-05 | 2017-04-13 | Fugue, Inc. | System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021163092A (ja) * | 2020-03-31 | 2021-10-11 | 株式会社日立製作所 | プログラム実行支援装置、及びプログラム実行支援方法 |
JP7313309B2 (ja) | 2020-03-31 | 2023-07-24 | 株式会社日立製作所 | プログラム実行支援装置、及びプログラム実行支援方法 |
Also Published As
Publication number | Publication date |
---|---|
US10521201B2 (en) | 2019-12-31 |
US20180329692A1 (en) | 2018-11-15 |
JP6940751B2 (ja) | 2021-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6940751B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US10972367B2 (en) | Provisioning framework for binding related cloud services | |
Burns et al. | Kubernetes: up and running | |
US10225140B2 (en) | Portable instance provisioning framework for cloud services | |
US9274784B2 (en) | Automatic deployment and update of hybrid applications | |
US9063725B2 (en) | Portable management | |
US8234620B1 (en) | Method and system for software development using distributed computing resources | |
US20210149648A1 (en) | System and a method for automating application development and deployment | |
US10901804B2 (en) | Apparatus and method to select services for executing a user program based on a code pattern included therein | |
JP2021518619A (ja) | コネクタ開発および統合チャネル展開のためのシステムおよび方法 | |
TW200820075A (en) | Method and apparatus for on-demand composition and teardown of service infrastructure | |
JP2014514659A (ja) | マルチノードアプリケーションのデプロイメント・システム | |
CN113168345A (zh) | 云服务的流线型安全部署 | |
US9459859B2 (en) | Template derivation for configuration object management | |
US8127271B2 (en) | Method and system for accessing a resource implemented in a computer network | |
Reynders | Modern API Design with ASP .NET Core 2 | |
US20070061277A1 (en) | Method, system, and storage medium for providing dynamic deployment of grid services over a computer network | |
US9350596B2 (en) | On-demand tethered greedy virtual application appliance | |
JP6993577B2 (ja) | インタフェース変換プログラム、インタフェース変換方法および情報処理装置 | |
KR20210144045A (ko) | 마이크로서비스 아키텍처 애플리케이션 실행 시스템과 방법 및 이를 위한 컴퓨터 프로그램 | |
JP7177335B2 (ja) | 情報処理方法、情報処理装置および情報処理プログラム | |
WO2023084345A1 (en) | Automated deployment of enterprise archive with dependency on application server via script | |
US11620126B2 (en) | Dynamic multiple repository package management through continuous integration | |
Klems | AWS Lambda Quick Start Guide: Learn how to build and deploy serverless applications on AWS | |
Menga | Docker on Amazon Web Services: Build, deploy, and manage your container applications at scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200225 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210519 |
|
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: 20210803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6940751 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |