JP6638234B2 - データベース管理装置、データベース管理方法及びプログラム - Google Patents
データベース管理装置、データベース管理方法及びプログラム Download PDFInfo
- Publication number
- JP6638234B2 JP6638234B2 JP2015145582A JP2015145582A JP6638234B2 JP 6638234 B2 JP6638234 B2 JP 6638234B2 JP 2015145582 A JP2015145582 A JP 2015145582A JP 2015145582 A JP2015145582 A JP 2015145582A JP 6638234 B2 JP6638234 B2 JP 6638234B2
- Authority
- JP
- Japan
- Prior art keywords
- data update
- combination
- column
- data
- application programs
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
特許文献1には、関連する技術として、各リソースへの所定のアクセス状態に応じて各トランザクションの各リソースに対する排他と待ちの状態を示すグラフからアクセスされる頻度の高いリソースを格納するサブグラフを分割し、グラフとサブグラフに基づいて排他制御するトランザクション処理に関する技術が記載されている。
そのため、複数のアプリケーションプログラムのそれぞれが同一レコードにおける異なるカラムのデータのデータ更新を行う場合に、待ち状態にならず、アプリケーションプログラムのそれぞれが並行してデータ更新処理を行うことのできる技術が求められていた。
本発明の一実施形態によるデータベース管理システムについて説明する。
本実施形態によるデータベース管理システム1は、図1に示すように、クライアントAP(アプリケーションプログラム)制御装置100と、APタイプ宣言ファイル記憶部120と、データベース管理装置200と、APタイプ定義ファイル記憶部240と、を備える。
データベース管理装置200は、トランザクション制御部210と、ユーザデータテーブル記憶部220と、APタイプ定義ファイル解析部230と、を備える。
トランザクション制御部210は、排他制御処理部211と、トランザクション処理部212と、競合AP依存データテーブル記憶部213と、制御表記憶部214と、を備える。
排他制御処理部211は、競合AP判定部2111を備える。
APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1において複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、複数のアプリケーションプログラムのそれぞれの全組み合わせに対してユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムの有無を判定する。APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムが無いと判定した複数のアプリケーションプログラムの組み合わせに対してデータ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係データテーブルTBL2(競合AP関係テーブル)を作成する。
具体的には、APタイプ定義ファイル解析部230は、APタイプ定義ファイル記憶部240からAPタイプ定義ファイルFL1を読み出す。APタイプ定義ファイル解析部230は、読み出したAPタイプ定義ファイルFL1におけるAPタイプのそれぞれに対応するユーザデータテーブルTBL1におけるデータ更新処理の対象のカラム同士を比較し、同一のカラムを特定する。例えば、図3で示したAPタイプ定義ファイルFL1の場合、APタイプ定義ファイル解析部230は、APタイプAに対応するカラム2とカラム3、APタイプBに対応するカラム3、APタイプCに対応するカラム4とカラム5とカラム6、APタイプDに対応するカラム2のそれぞれを比較する。APタイプ定義ファイル解析部230は、APタイプAに対応するカラム2とAPタイプDに対応するカラム2とを同一のカラムと特定する。また、APタイプ定義ファイル解析部230は、APタイプAに対応するカラム3とAPタイプBに対応するカラム3とを同一のカラムと特定する。
APタイプ定義ファイル解析部230は、特定したカラム2に対応するAPタイプAとAPタイプDとを対応付けて競合AP依存データテーブル記憶部213の競合AP依存データテーブルTBL2に記録する。また、APタイプ定義ファイル解析部230は、特定したカラム3に対応するAPタイプAとAPタイプBとを対応付けて競合AP依存データテーブル記憶部213の競合AP依存データテーブルTBL2に記録する。この場合の競合AP依存データテーブルTBL2は、図5に示す競合AP依存データテーブルTBL2である。
APタイプ宣言ファイル読込部110は、データベース管理システム1の起動時に、APタイプ宣言ファイル記憶部120からAPタイプ宣言ファイルFL2を読み出す。
クライアントAP制御装置100は、ユーザデータテーブルTBL1のデータ更新処理の実行を指示するデータ更新要求を排他制御処理部211とトランザクション処理部212のそれぞれに送信する。データテーブルのデータ更新要求は、更新データ、APタイプ、AP識別子のそれぞれの情報を含む。AP識別子は、データテーブルのデータ更新要求元を特定する情報である。データテーブルのデータ更新要求元が特定のクライアントAP制御装置100、すなわち、特定の1ノードのみである場合、AP識別子としてプロセスID(必要であればスレッドIDを含める)を用いてよい。
ロックリストLST1が図6に示すロックリストLST1であるとき、クライアントAP制御装置100bがアプリケーションプログラムBを実行しようとすると、競合AP判定部2111は、クライアントAP制御装置100aが実行するアプリケーションプログラムAと、クライアントAP制御装置100bが実行するアプリケーションプログラムBのデータ更新の対象とするレコードが同一レコードであるか否かを判定する。トランザクション処理部212は、競合AP判定部2111が同一レコードではないと判定した場合、それぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
ロックリストLST1が図6に示すロックリストLST1であるとき、クライアントAP制御装置100bがアプリケーションプログラムBを実行しようとすると、競合AP判定部2111は、クライアントAP制御装置100aが実行するアプリケーションプログラムAと、クライアントAP制御装置100bが実行するアプリケーションプログラムBのデータ更新の対象とするレコードが同一レコードであるか否かを判定する。競合AP判定部2111は、同一レコードであると判定した場合、後からアプリケーションプログラムを実行しようとしたクライアントAP制御装置100bと、クライアントAP制御装置100bのAPタイプBとを対応付けて制御表記憶部214が記憶するロック待ちリストLST2に記録する。この場合のロック待ちリストLST2は、図7に示すロック待ちリストLST2となる。
データベース管理システム1の起動前の準備として、ユーザは、例えば図2で示したユーザデータテーブルTBL1を用意する。また、ユーザは、APタイプ定義ファイル記憶部240記憶する図3で示したAPタイプ定義ファイルFL1を定義する。また、ユーザは、図9で示した制御表記憶部214が記憶する従属関係定義リストLST4を用意する。
例えば、クライアントAP制御装置100aは、予約者IDがuser2であるユーザが商品ID001の商品を2つ購入予約する注文を受け、更新データと、ユーザデータテーブルTBL1を更新するAPタイプAと、クライアントAP制御装置100aが実行しているクライアントAP制御装置100aに対応付けられたAPタイプAとを含むデータ更新要求を排他制御処理部211とトランザクション処理部212とに送信する。
競合AP判定部2111は、クライアントAP制御装置100からデータ更新要求を受信すると、受信したデータ更新要求が示すAPタイプと、競合AP依存データテーブルTBL2とに基づいて、同一カラムに対するデータ更新処理があるか否かを判定する(ステップS2)。具体的には、競合AP判定部2111は、アプリケーションプログラムを実行する度にAPタイプを取得する。競合AP判定部2111は、現在実行中のアプリケーションプログラムについて過去に取得したすべてのAPタイプの組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すAPタイプの組み合わせとを比較する。競合AP判定部2111は、APタイプの組み合わせが一致しない場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。競合AP判定部2111は、APタイプの組み合わせが一致する場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が有ると判定する。競合AP判定部2111は、同一カラムに対するデータ更新処理が有ると判定した場合に、同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定する。
競合AP判定部2111は、APタイプとクライアントAP制御装置100のAP識別子と処理データとをトランザクション処理部212に出力する。
トランザクション処理部212は、APタイプとクライアントAP制御装置100のAP識別子と処理データとを競合AP判定部2111から入力する。トランザクション処理部212は、入力したAPタイプとクライアントAP制御装置100のAP識別子とから特定したデータ更新処理の対象データに対して処理データを用いてデータ更新処理を実行する(ステップS5)。トランザクション処理部212は、データ更新処理が完了すると、データ更新処理が完了したことを報知するデータ更新処理完了信号を排他制御処理部211に出力する。
排他制御処理部211は、トランザクション処理部212からデータ更新処理完了信号を入力すると、データ更新処理完了信号をクライアントAP制御装置100に送信する(ステップS6)。
トランザクション処理部212は、ロックリストLST1における先にデータ更新処理を行うクライアントAP制御装置100に対しデータ更新処理を行う(ステップS10)。トランザクション処理部212は、ステップS6の処理に進める。このとき、競合AP判定部2111は、ロック待ちリストLST2において最初にデータ更新処理を行うクライアントAP制御装置100とそのAPタイプとをロックリストLST1に記録する。
トランザクション処理部212は、トランザクション制御要求の種別がコミットであると判定した場合(ステップS13、YES)、ユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1が含むデータ更新対象のデータをコミットする(ステップS14)。このとき、トランザクション処理部212は、データ更新対象のデータがステップS3の処理において従属関係が有ると判定されたデータである場合、ステップS7の処理において記憶されたデータ更新処理前のデータをユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1に新たなデータとして記録する。
トランザクション処理部212は、コミット後にコミット可能リストLST3における対応する処理の更新データを削除する(ステップS15)。トランザクション処理部212は、データベース管理装置200が行う一連の処理を終了させる。
トランザクション処理部212は、読み出した復元データDT1を用いてコミットする(ステップS17)。
トランザクション処理部212は、コミットできたか否かを判定する(ステップS18)。
また、トランザクション処理部212は、コミットできなかったと判定した場合(ステップS18、NO)、ステップS16の処理へ戻す。
こうすることで、データベース管理装置200は、ユーザデータテーブルTBL1においてアプリケーションプログラムのそれぞれがデータ更新の対象とするカラムが重複しない場合に、待ち状態にならずにユーザデータテーブルTBL1においてそれぞれのアプリケーションプログラムに対応するカラム単位でデータ更新処理を行うことができる。
こうすることで、データベース管理装置200は、購入予約する注文を受けたタイミングの価格がコミットにより変更されることを防ぐことができる。
APタイプ定義ファイル解析部230は、データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、複数のアプリケーションプログラムのそれぞれの全組み合わせに対してデータテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定する。APタイプ定義ファイル解析部230は、データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した複数のアプリケーションプログラムの組み合わせに対してデータ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係データテーブルTBL2(競合AP関係テーブル)を作成する。
競合AP判定部2111は、アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての識別子の組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すアプリケーションプログラムの識別子の組み合わせとを比較し、識別子の組み合わせが一致しない場合に、取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。競合AP判定部2111は、識別子の組み合わせが一致する場合に、取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が有ると判定する。
トランザクション処理部212は、競合AP判定部2111がデータ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
100・・・クライアントAP制御装置
110・・・APタイプ宣言ファイル読込部
120・・・APタイプ宣言ファイル記憶部
200・・・データベース管理装置
210・・・トランザクション制御部
211・・・排他制御処理部
212・・・トランザクション処理部
213・・・競合AP依存データテーブル記憶部
214・・・制御表記憶部
220・・・ユーザデータテーブル記憶部
230・・・APタイプ定義ファイル解析部
240・・・APタイプ定義ファイル記憶部
2111・・・競合AP判定部
Claims (4)
- データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析部と、
アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析部が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定部と、
前記競合AP判定部が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理部と、
を備えるデータベース管理装置。 - 前記競合AP判定部は、
前記同一カラムに対するデータ更新処理が有ると判定した場合に、前記同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定し、
前記トランザクション処理部は、
前記競合AP判定部が前記同一レコードのカラムではないと判定した場合、前記同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象をするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行う、
請求項1に記載のデータベース管理装置。 - データベース管理装置によるデータベース管理方法であって、
前記データベース管理装置が、
データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成し、
アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定し、
前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行う、
データベース管理方法。 - コンピュータを、
データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析手段、
アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析手段が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定手段、
前記競合AP判定手段が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理手段、
として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015145582A JP6638234B2 (ja) | 2015-07-23 | 2015-07-23 | データベース管理装置、データベース管理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015145582A JP6638234B2 (ja) | 2015-07-23 | 2015-07-23 | データベース管理装置、データベース管理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017027382A JP2017027382A (ja) | 2017-02-02 |
JP6638234B2 true JP6638234B2 (ja) | 2020-01-29 |
Family
ID=57950586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015145582A Active JP6638234B2 (ja) | 2015-07-23 | 2015-07-23 | データベース管理装置、データベース管理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6638234B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63191248A (ja) * | 1987-02-04 | 1988-08-08 | Hitachi Ltd | リレ−シヨナルデ−タベ−スシステムにおけるテ−ブルの排他制御方式 |
US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
JP2641399B2 (ja) * | 1994-11-28 | 1997-08-13 | 沖縄日本電気ソフトウェア株式会社 | フアイル管理装置 |
-
2015
- 2015-07-23 JP JP2015145582A patent/JP6638234B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017027382A (ja) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9189513B1 (en) | Distributed, transactional key-value store | |
US20200394309A1 (en) | Blockchains for software component vulnerability databases | |
US9632769B2 (en) | Software build optimization | |
US8661418B2 (en) | Setting program, workflow creating method, and work flow creating apparatus | |
US9384202B1 (en) | Gateway module to access different types of databases | |
US10922291B2 (en) | Data pipeline branching | |
US8667010B2 (en) | Database table partitioning allowing overlaps used in full text query | |
US11055078B2 (en) | Systems and methods for deploying software products to environments | |
US7689788B2 (en) | System and method for executing transactions | |
CN107368513B (zh) | 客户端数据库更新的方法及装置 | |
US8745016B2 (en) | Managing concurrent access to data in database system | |
CN107609011B (zh) | 一种数据库记录的维护方法和装置 | |
US8909681B2 (en) | Gap detection in a temporally unique index in a relational database | |
JP6801086B2 (ja) | プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム | |
JP6638234B2 (ja) | データベース管理装置、データベース管理方法及びプログラム | |
CN113485744A (zh) | 代码同步方法及装置 | |
US10289672B1 (en) | Threading spreadsheet calculations | |
US9772842B2 (en) | Managing change sets | |
CN116954704A (zh) | 一种代码分支合并方法、装置、计算机设备以及存储介质 | |
CN112783954B (zh) | 数据访问方法、装置及服务器 | |
US9916373B2 (en) | Dynamic data partitioning extension | |
US10489368B1 (en) | Datapath graph with update detection using fingerprints | |
US20160292203A1 (en) | Process control method for database, medium, and database server | |
CN106933657B (zh) | 数据库死锁处理方法及装置 | |
CN112764754A (zh) | 基于Unity 3D的文件标识管理方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190326 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191008 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191112 |
|
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: 20191126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6638234 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |